Recommendations ETA?

  • sannin
    Participant
    12 months ago #33035

    Hello,

    Do we have an ETA on this? Or maybe a beta version i could try?

    wpsolr
    Keymaster
    12 months ago #33040

    What kind of recommendations are you interested in?

    sannin
    Participant
    12 months ago #33042

    I am interested in similar features that recombee, algolia and similar services provide.

    I understand that it is very complicated thing to do but i am able to write custom code when needed. At the very least i believe i should be able to have related products and maybe upsells and cross-sells.

    wpsolr
    Keymaster
    12 months ago #33044

    No ETA, no.

    The work on recommendations for Recombee, Algolia, Amazon Personalize and Google Retail are half done. Mostly the catalog integration.

    But the real problem is sending user events, and in vast quantities.

    For instance, with Google Retail recommendations, 2 million events are required in the last 3 month.

    With that, new laws like the European GDPR require more and more privacy. Some countries even declared Google Analytics illegal.

    And on top of that, each recommender API has its own way of collecting events (AWS S3, API, Cloud storage …), each with different event types.

    Last point, events/recommendations must be configurable enough to adapt to WooCommerce and other plugins. For instance, collecting orders require PHP hooks, while add to basket events require js hooks.

    sannin
    Participant
    12 months ago #33045

    I have done a custom implementation on my eshop, with https://github.com/gorse-io/gorse

    I collect events with server side tag manager, and send them to the recommender system, with a custom tag i made in tag manager.

    My main problem is the amount of products in my site ( more than 250k ) that require these solutions. At the moment i use 3 different stacks, typesense for search, gorse for recommendations, and trying to implement wp-solr for filtering. I believe i could just use wp-solr for all my needs and code a bit when needed for custom functionality, but the foundation must exist in wp-solr.

    Will Vespa AI make any difference in this matter or it is just another vector database?

    wpsolr
    Keymaster
    12 months ago #33046

    Why is 250K products a problem?

    Vespa is a general big-data engine, including a vector search with a lot of configuration abilities with a full ranking language. We’re currently integrating their vector database. But they also have recommendation features:

    Vespa.ai is used as the search and recommendation backend at multiple Yahoo e-commerce sites in Asia, like tw.buy.yahoo.com.
    https://blog.vespa.ai/e-commerce-search-and-recommendation-with-vespaai/

    But building a real sysrec is a whole new topic. I considered Gorse also, but was not sure anyone could use it without an extensive investment in time and skills.

    wpsolr
    Keymaster
    12 months ago #33047

    I collect events with server side tag manager, and send them to the recommender system, with a custom tag i made in tag manager.

    Algolia provides a similar solution to collect GA events. But it is so complicated for ordinary WooCommerce sites, and so not flexible, that It cannot be considered for a plugin integration.

    sannin
    Participant
    12 months ago #33048

    The problem with the 250k products is that either SaaS recommender solutions get very expensive or open source solutions get problematic or resource hogs.

    Using weaviate with the sentence-transformers/clip-ViT-B-32-multilingual-v1 (Multilingual, 768d) clip vectorizer, the indexing speed was about 10 products per minute, and the vectorizer was using 16 (!) out of 32 cores of my server. Trying the openai vectorizer, resulted in error as i mentioned on the other thread.

    Likewise gorse was using a huge amount of memory and cpu in redis/mongodb to calculate the relative products. It took a full 3 days to calculate all products and start again.

    I am getting impatient with your Vespa AI implementation to see if it gets any better! 🙂 With either Vespa or Weaviate i would love to find a way to use some AI model to predict CTR like gorse uses matrix factorization. Do you think it will be possible using wp-solr + vespa/weaviate if i send the events manually?

    I agree that building a true personalization system will be very hard for a general purpose plugin, but it could be possible to use some hooks/filters and custom fields?

    wpsolr
    Keymaster
    12 months ago #33050

    either SaaS recommender solutions get very expensive

    How many recommendations per month do you forecast?
    For 250k products, Recombee’s standard plan starts at $99/month for 100K API calls/month. After that, it’s around $1/1000 calls/month. I’m not sure it can be beaten with any kind of self-hosted open-source RecSys !

    Likewise gorse was using a huge amount of memory and cpu in redis/mongodb to calculate the relative products. It took a full 3 days to calculate all products and start again.

    Do you use a GPU for the training? Also, Gorse is a one-machine for training, which can lead to bottlenecks.
    In general, the training cost of recommenders is underestimated. Unless you choose scalable systems like TorchRec, built with parallel training.

    Do you think it will be possible using wp-solr + vespa/weaviate if i send the events manually?

    None provides the model training pipeline.
    Look at this Vespa’s recommender tutorial for instance.
    Weaviate provides the RefToVec module to build a recommender I guess.

    sannin
    Participant
    12 months ago #33068

    How many recommendations per month do you forecast?
    For 250k products, Recombee’s standard plan starts at $99/month for 100K API calls/month. After that, it’s around $1/1000 calls/month. I’m not sure it can be beaten with any kind of self-hosted open-source RecSys !

    If you move the pricing slider, you will see that for > 200k products the price starts at 600 dollars per month. The minimum price of $99/month is for up to 40k products. Unfortunately i still can’t justify the cost for that.

    Do you use a GPU for the training? Also, Gorse is a one-machine for training, which can lead to bottlenecks. In general, the training cost of recommenders is underestimated. Unless you choose scalable systems like TorchRec, built with parallel training.

    For all my needs i use a AMD Ryzen 9 5950X 16-Core powered dedicated server, which also hosts my sites so its not ideal. But in this case the bottleneck was not gorse but mongodb, because of the huge amount of operations gorse was generating. So no gpu powered yet! I was thinking of a weaviate cluster using my home pc, where i have GTX 1070 being idle most of the time. 🙂

    None provides the model training pipeline.
    Look at this Vespa’s recommender tutorial for instance.
    Weaviate provides the RefToVec module to build a recommender I guess.

    So if i understand correctly using the product catalog that wp-solr creates, and sending the events separately i might be able to create a ( less than ideal ) recommender system.

    wpsolr
    Keymaster
    12 months ago #33069

    The minimum price of $99/month is for up to 40k products.

    I missed the Recombee’s usage rate on items inside a plan !

    So if i understand correctly using the product catalog that wp-solr creates, and sending the events separately i might be able to create a ( less than ideal ) recommender system.

    I think a recommender cannot be just “ok”, it must be great. Its goal is to improve the conversion rate by a few tiny percents, which can only be achieved at great costs. Does it worth it?

    For Vespa, you’d need to train a model.

    For Weaviate, the Ref2Vec module would require to send events as users with relationships to products.

    sannin
    Participant
    11 months, 2 weeks ago #33184

    Hey!

    I am still experimenting with my options on recommendation but for now, i will settle with something relatively simple.

    Can i query weaviate using the methods of wpsolr? For example i would like to create a custom weaviate query that brings me the most relevant products in stock so i can show a much better related products slider.

    wpsolr
    Keymaster
    11 months, 2 weeks ago #33187

    It is not possible, as we do not provide an official API to build fully custom queries for Weaviate (or other engines).

    But nothing prevents you from calling Weaviate on your own, with a nearObject or a nearVector query for example.

Viewing 13 posts - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.