# US 2019/0318407 A1 · Method for product search using the user-weighted, attribute-based, sort-ordering and system thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0318407 A1
- Document ID: US20190318407A1
- Status: Published application
- Kind: A1
- Application number: 15/749,862
- Filed: 2015-09-01
- Published: 2019-10-17
- Earliest claimed: 2015-07-17
- Inventors: Devanathan Giridhari; Ramakrishnan Shyamsunder; Sachan Devendra Singh
- Web page: https://patentgrep.com/patent/US20190318407A1

## CPC

- G06Q 30/0627: {by specifying product or service characteristics, e.g. product dimensions}
- G06Q 30/0631: {Recommending goods or services}
- G06F 16/24578: {using ranking}
- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/9538: Presentation of query results
- G06N 20/00: Machine learning
- G06Q 30/0282: Rating or review of business operators or products
- G06Q 30/0629: {by pre-processing results, e.g. ranking or ordering results}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

A computer-implemented method for product search using the User-Weighted, Attribute-Based, Sort-Ordering comprising the steps of: computing of specification score for product attribute; computing of sentiment score for product attribute; characterized by steps of: —extracting reviews for each product from multiple sources; detecting the attributes described in each product review; detecting the polarity (positive/negative) of the user review with respect to each attribute converting the said attributes into a numerical score for each attribute which captures all the information about that attribute from user-ratings; computing an overall product score using the specifications score and sentiment score for individual product attributes; and displaying the search results sorted according to the overall product score.

## Claims

### Claim 1

A computer-implemented method for product search using the User-Weighted, Attribute-Based, Sort-Ordering comprising the steps of:
computing of specification score for product attribute;
computing of sentiment score for product attribute; characterized by steps of:—
extracting reviews for each product from multiple sources;
detecting the attributes described in each product review;
detecting the polarity (positive/negative) of the user review with respect to each attribute
converting the said attributes into a numerical score for each attribute which captures all the information about that attribute from user-ratings;
computing an overall product score using the specifications score and sentiment score for individual product attributes; and
displaying the search results sorted according to the overall product score.

### Claim 2 (depends on 1)

The method as claimed in claim 1, wherein the specifications score for the attribute is achieved by rank normalization/min-max scaling.

### Claim 3 (depends on 1)

The method as claimed in claim 1, wherein the standardized attribute score is an average of the specification score and sentiment score for the attribute.

### Claim 4 (depends on 1)

The method as claimed in claim 1, wherein under condition that the sentiment score is unavailable, then a smoothing constant is applied on the specifications score to arrive at the overall product score.

### Claim 5 (depends on 1)

The method as claimed in claim 1, wherein the standardized attribute score for individual attribute is calculated as:
Ai is denoted by s(P1)a(i).
s(P1)a(i)=(s(P1)a(spec)(i)+s(P1)a(sent)(i))/2,
where S(P1)a(spec)(i) is the specification score for attribute a(i) of product P1 and S(P1)a(sent)(i) is the sentiment score for the attribute a(i) of product P1.

### Claim 6 (depends on 1)

The method as claimed in claim 1, wherein the step of calculating the overall product scores is carried out by summing up the standardized attribute scores, with user-weighted criteria, to derive user-specific product score using formula:
S(Pj) for user u=Σi=1Twu(i)S(Pj)a(i)
Here—S(Pj)=Total Score for Product j, as determined for user u
as weighted summation of scores for the r individual attributes of Pj;
Where s(Pj)a(i) is the standardized attribute score for individual attribute a(i) of Product j and Wu(i) is the weight assigned by user u to the attribute i.

### Claim 7 (depends on 1)

The method as claimed in claim 1, wherein the sentiment score computation use the machine learning approach to do sentiment analysis on user reviews and expert reviews.

### Claim 8 (depends on 1)

The method as claimed in claim 1, wherein the sentiment computation includes steps of:
pre-processing of reviews;
creating of sentiment and aspect lexicons;
data annotation (labelling) using the aspect lexicons; and
classifying of the aspect and sentiment by using labelled review sentences.

### Claim 9 (depends on 8)

The method as claimed in claim 8, wherein the step of pre-processing of reviews includes the further steps of:
a. removing of the duplicate reviews;
b. carrying of language identification for filtering out the words/statements which are not written in English.
c. classifying using Naive Bayes algorithm which is operationalized for sentence boundary detection and split the review to its individual sentences.
d. tokenizing of the sentences to remove non-english characters, separate punctuation characters from words etc and spelling corrections for the misspelled words.

### Claim 10 (depends on 8)

The method as claimed in claim 8, wherein the step of creating of sentiment and aspect lexicons includes the further steps of:
extracting the keywords for all sentiments and aspect classes from reviews to build lexicon files;
extracting the keyword phrases from the reviews corpus using unsupervised statistical language modelling techniques;
generating of the representing words and phrases in vector space commonly known as word embeddings;
constructing of a semantic graph to grow the said aspect lexicons using the cosine similarity between words and phrases embeddings as the similarity criterion using a few seed words from each class to come up with more similar keywords using similarity based graph propagation algorithm; and
carrying out several iterations of graph propagation algorithm from where a majority of the aspect and sentiment based keywords are extracted.

### Claim 11 (depends on 8)

The method as claimed in claim 8, wherein the step of Data annotation (labelling) using keywords includes the steps of:
searching of the aspect and sentiment words;
parsing the sentence to extract the sentiment word which is closest to the aspect word and thereafter the sentence is tagged with the corresponding aspect, sentiment tuple;
wherein under condition that multiple similar tags gets associated with a sentence, then the aspect and sentiment tags are fine-tuned, by using maximum probability score among all tags by language modelling of corresponding sentence texts;
wherein under condition that negation inducing words like {don't, can't. etc} are detected around the surrounding context of aspect words, then the polarity of the corresponding sentiment is reverted; and
organising the annotated data into its aspect class followed by its sentiment class.

### Claim 12 (depends on 1)

The method as claimed in claim 1, wherein the step of classifying the aspect and sentiment is carried out by a classifier using the machine learning approaches to predict the aspect class and sentiment class by using labelled review sentences including further steps of:
training of an aspect classifier to predict the correct aspect class followed by sentiment classifier for fine grained sentiment analysis;
learning of mixture of vector embedding for every aspect class based on generative model of sentences;
selecting the sentences which are correctly classified for training of sentiment classifier;
carrying out fine graining of the sentiment classification;
using Term-frequency, inverse document frequency, bigram and key phrases as features for the logistic regression based sentiment classifier; and
reviewing of the sentences for which the sentiment classifier prediction agrees with the labelled data are selected for further use.

### Claim 13 (depends on 12)

The method as claimed in claim 12, wherein the mixture of vector embedding per class is used to predict the aspect class on unseen review sentences.

### Claim 14 (depends on 12)

The method as claimed in claim 12, wherein the sentiment scoring is fine grained with five category types or classes which are most-positive, positive, neutral, negative and most-negative.

### Claim 15 (depends on 12)

The method as claimed in claim 12, wherein the sentiment score of each aspect for every product is computed by aggregating the weighted confidence score of the sentiment classifier for that aspect and thereafter the normalization of the aggregated score is carried out by the frequency count of reviews for that aspect followed by min-max rescaling of the normalized score.

### Claim 16

A system for product search using the User-Weighted, Attribute-Based, Sort-Ordering, comprising of:
at least one processor;
at least one non-transitory computer readable medium storing instructions translatable by the at least one processor to implement the steps of:
computing of specification score for product attribute;
computing of sentiment score for product attribute; characterized by steps of:—
extracting reviews for each product from multiple sources;
detecting the attributes described in each product review;
detecting the polarity (positive/negative) of the user review with respect to each attribute converting the said attributes into a numerical score for each attribute which captures all the information about that attribute from user-ratings;
compute an overall product score by combining the specifications and sentiment scores of individual attributes and displaying the search results sorted according to the overall product score.

### Claim 17 (depends on 16)

The system as claimed in claim 16, wherein the specifications score for the attribute is achieved by rank normalization/min-max scaling.

### Claim 18 (depends on 16)

The system as claimed in claim 16, wherein the standardized attribute score is an average of the specification score and sentiment score for the attribute.

### Claim 19 (depends on 16)

The system as claimed in claim 16, wherein under condition that the sentiment score is unavailable, then a smoothing constant is applied on the specifications score to arrive at the overall product score.

### Claim 20 (depends on 16)

The system as claimed in claim 16, wherein the standardized attribute score for individual attribute is calculated as:
Ai is denoted by s(P1)a(i).
s(P1)a(i)=(s(P1)a(spec)(i)+s(P1)a(sent)(i))/2,
where S(P1)a(spec)(i) is the specification score for attribute a(i) of product P1 and S(P1)a(sent)(i) is the sentiment score for the attribute a(i) of product P1.

### Claim 21 (depends on 16)

The system as claimed in claim 16, wherein the step of calculating the overall product scores is carried out by summing up the standardized attribute scores, with user-weighted criteria, to derive user-specific product score using formula:
S(Pj) for user u=Σi=1Twu(i)S(Pj)a(i)
Here—S(Pj)=Total Score for Product j, as determined for user u
as weighted summation of scores for the r individual attributes of Pj;
Where s(Pj)a(i) is the standardized attribute score for individual attribute a(i) of Product j and Wu(i) is the weight assigned by user u to the attribute i.

### Claim 22 (depends on 16)

The system as claimed in claim 16, wherein the sentiment score computation use the machine learning approach to do sentiment analysis on user reviews and expert reviews.

### Claim 23 (depends on 16)

The system as claimed in claim 16, wherein the sentiment computation includes steps of:
pre-processing of reviews;
creating of sentiment and aspect lexicons;
data annotation (labelling) using the aspect lexicons; and
classifying of the aspect and sentiment by using labelled review sentences.

### Claim 24 (depends on 23)

The system as claimed in claim 23, wherein the step of pre-processing of reviews includes the further steps of:
a. removing of the duplicate reviews;
b. carrying of language identification for filtering out the words/statements which are not written in English.
c. classifying using Naive Bayes algorithm which is operationalized for sentence boundary detection and split the review to its individual sentences.
d. tokenizing of the sentences to remove non-english characters, separate punctuation characters from words etc and spelling corrections for the misspelled words.

### Claim 25 (depends on 23)

The system as claimed in claim 23, wherein the step of creating of sentiment and aspect lexicons includes the further steps of:
extracting the keywords for all sentiments and aspect classes from reviews to build lexicon files;
extracting the keyword phrases from the reviews corpus using unsupervised statistical language modelling techniques;
generating of the representing words and phrases in vector space commonly known as word embeddings;
constructing of a semantic graph to grow the said aspect lexicons using the cosine similarity between words and phrases embeddings as the similarity criterion;
using a few seed words from each class to come up with more similar keywords using similarity based graph propagation algorithm; and
carrying out several iterations of graph propagation algorithm from where a majority of the aspect and sentiment based keywords are extracted.

### Claim 26 (depends on 23)

The system as claimed in claim 23, wherein the step of Data annotation (labelling) using keywords includes the steps of:
searching of the aspect and sentiment words;
parsing the sentence to extract the sentiment word which is closest to the aspect word and thereafter the sentence is tagged with the corresponding aspect, sentiment tuple;
wherein under condition that multiple similar tags gets associated with a sentence, then the aspect and sentiment tags are fine-tuned, by using maximum probability score among all tags by language modelling of corresponding sentence texts;
wherein under condition that negation inducing words like {don't, can't. etc} are detected around the surrounding context of aspect words, then the polarity of the corresponding sentiment is reverted; and
organising the annotated data into its aspect class followed by its sentiment class.

### Claim 27 (depends on 16)

The system as claimed in claim 16, wherein the step of classifying the aspect and sentiment is carried out by a classifier using the machine learning approaches to predict the aspect class and sentiment class by using labelled review sentences including further steps of:
training of an aspect classifier to predict the correct aspect class followed by sentiment classifier for fine grained sentiment analysis;
learning of mixture of vector embedding for every aspect class based on generative model of sentences;
selecting the sentences which are correctly classified for training of sentiment classifier;
carrying out fine graining of the sentiment classification;
using Term-frequency, inverse document frequency, bigram and key phrases as features for the logistic regression based sentiment classifier; and
reviewing of the sentences for which the sentiment classifier prediction agrees with the labelled data are selected for further use.

### Claim 28 (depends on 27)

The system as claimed in claim 27, wherein the mixture of vector embedding per class is used to predict the aspect class on unseen review sentences.

### Claim 29 (depends on 27)

The system as claimed in claim 27, wherein the sentiment scoring is fine grained with five category types or classes which are most-positive, positive, neutral, negative and most-negative.

### Claim 30 (depends on 27)

The system as claimed in claim 27, wherein the sentiment score of each aspect for every product is computed by aggregating the weighted confidence score of the sentiment classifier for that aspect and thereafter the normalization of the aggregated score is carried out by the frequency count of reviews for that aspect followed by min-max rescaling of the normalized score.
