Alyx Chatbot is a virtual assistant that chats with customers and help them select the most suitable electronic products according to their specific needs. Alyx chatbot brings customers wishes affront and identifies products that match their needs, search online review, compare prices from different shops and guide them to the final purchase. Alyx Chatbot resides in social messaging platforms like Facebook Messenger.
Industry: Consumer Electronics
Business Type: Computer Programme
Each product provides a title and description, which in most cases contain sufficient information to identify a particular model. Articles, on the other hand, in many cases contain ambiguous titles and descriptions containing less information about which specific model was reviewed. The challenge was to match products with review articles with high accuracy.
Product review articles usually contain multiple sections where each section focuses on a particular component. The challenge was to split an article to chunks represented as paragraphs or sections and identify components which were described within the particular section.
Once review articles were split in chunks representing individual components reviews, the main challenge remained to summarise a chunk to a sentence and enable conversational experience through the chatbot. The sentence should be selected with respect to the strongest representation of the topic and should be the most informative.
In cooperation with Termitnjak Ltd, we developed a product review skill for Alyx chatbot. We used ElasticSearch with public computer review data to perform topic detection, and TF-IDF and TextRank to perform text summarisation on the paragraphs and output the most relevant sentences.
The topic detection process queries ElasticSearch with product name to find articles ordered by the best match. When multiple results are returned by the ES, we used a secondary measure of Levenshtein distance to detect the most similar title and thus match a product with a review article.
Once an article was identified, the process continues with segmentation into chunks and topic detection to identify which component is reviewed in a particular chunk. Originally, we came up with two different approaches to select which chunks were the most relevant to different topics and we performed testing to select the methods that result in a better precision.
Text summarization is responsible for processing a chunk containing a particular topic and extract the most relevant and informative sentence to create a conversational summary. The process used two approaches, the normalized TF-IDF and TextRank. Knowing that TF-IDF tends to perform better in shorter bits of text, while TextRank generally is more performant with longer documents, we have developed a methodology that makes use of both methods.
We also explored the algorithm sensitivity to the synonyms of topics. In addition, we added another scoring measure to the qualitative assessment. The validation of performance was assessed qualitatively by observing two features of the final response. First was Readability rating which is a rating between 0-5 and characterises how well the content is readable for the purposes of a chatbot, and Content rating which is a measure between 0-5 to characterise how well a selected topic is represented in the resulting summarised text.
We developed an automated product review solution as a skill for a chatbot, which is able to detect a product as well as a particular component of that product that a user wishes to know more about. The developed methodology uses a collection of public product review articles, which are loaded into ElasticSearch database.
The first part is topic detection, which detects a correct article based on a provided product name or model number, and the second part is to detect and summarise a specific paragraph that contains the information requested by a user. The topic detection process begins using Elastic Search full-text query to find the articles related to a requested product. In order to extract the correct article, we rely on ElasticSearch NLP engine, but if the query results in more than one article, additional algorithm checks for an article with the highest score related to the model name match.
Once a product article is identified, text summarization process shortens one or multiple paragraphs describing a product and topic into a short, chat-like, format. the module checks if a particular topic was provided. The article paragraphs are queried using a set of keywords related to the specified topic in question. The results are then filtered, feeding only paragraphs with the highest relevance scores to the text summarization algorithm.
In order to allow the dialogue manager to utilise the developed models and provide conversational product review as a skill, we developed an API endpoint. It requests a model name and topic title as inputs, and returns pros, cost, verdict and summarised product review in case a review was found, or alternatively outputs names of similar models to ask a user to review a similar product.
As a result, the chatbot is able to provide an informative and rounded chat-like product review information to users for specific product models and their components.
The main purpose of the skill is to inform a buyer about a product quickly and in a very concise way to maximise information intake.
We developed the AI-based product review as a chatbot skill helping customers choose the right computer, through ElasticSearch NLP Based Topic Detection Model and TextRank Based Text Summarization Algorithm, and make the chatbot smarter and more useful serving customers.