This solution will be used to find the category intended for the search query. Say top 3 related categories for the search query are predicted and based on the category scores the resultant products can be filtered. Apart from filtering or boosting products the predicted category(ies) could also be used to tag the relevant attributes of the product.
One additional application of this solution is to find the relevant facets and filtering options (out of 1000s of attributes) for the products shown in the search result. Currently there are more than 1000 attributes present for the products, but all the attributes will not be relevant for a particular product. So as per the intended category of the search query, the top K (5 to 10) filter options will be provided for better user experience. The facets per category will be mapped according to the popular facets interacted by users or just with business logic.
Whenever a new product is onboarded then using the product title and/or description the product is automatically tagged to the most relevant category. This will save manual category tagging per product.
Also, the noun present in the product title/description will be tagged. For example Battery in “Battery Pack, 1920Ah, 5.11 x 17.00 x 25.98 in., Rack/2U Mount”. Also, the words will be stored in the root format, like, knife and knives will be tagged as “knife”.
Smart Product discovery
For the cases where the search query is not able to fetch products or fetch less number of relevant products from Solr indexing due to factors like typos, synonyms, brand not available, etc. this solution would improve the customer search experience by providing relevant products. Following are two ways to attain it. These can be applied in a phase wise manner on the existing search logic.
Similar search queries suggestion
Few queries which are similar to the mentioned queries can be shown to the users which got some clicks heuristically and are syntactically/semantically similar to the current search query. This will be used to expand the query. So if the user input search query does not have relevant products due to typo, synonym or general product unavailability (particular brand not available) then
the expanded query will be used to increase the search scope. Similar queries can be suggested to user as well.
Enhanced Product Search
When typos or synonyms are present in the search where the direct result from the Solr could not be retrieved then the search query can be vectorized and can be matched with the relevant products. The keywords from the search query might not be present in the Product
Learning to Rank (LTR) for Products
LTR aims at sorting the extracted results according to the relevance. LTR comes into the picture when we have a set of results (say products) after the matching process and then these results are re-ranked according to some features like similarity score, product recency, price, seller score, product score, etc. so that most relevant results are shown first. Solr has inbuilt LTR methodologies like TFIDF and BM25. It also supports custom ML models to perform Pointwise and Pairwise ranking which provides more flexibility for complex feature interactions resulting in better performance.
For recurrent users the personalised products related to user’s intent and shopping/interaction pattern can be shown when the person logs in. Any new relevant product or new article relevant to the user’s interaction history can be shown. Whenever a new product then personalised nudges (email or sms) could be sent to the relevant users.
Need to ask about this
Customer Review Sentiment Analysis
The customer reviews have high importance in product popularity and long term revenue from the product. Analysing the sentiments of the customer review and extracting the problems/benefits from those reviews are valuable. Using a machine learning solution will automate this process with minimal to absolute no intervention of manual human effort in the long term.