More specifically, how to construct a search algorithm that finds and displays the top related adjectives?Let me use the following review as an example to help illustrate my approach:In this case, let’s call the term “price” the target term as we want to get information about “price.
” Within a specific review, we repeat the following steps for each occurrence of the target term.
Identify the position of the target term (highlighted in yellow)2.
Find the nearest terms with the same POS tag as the target term.
Call them the “boundary terms” (highlighted in blue).
In this case, since “price” is a noun, the boundary terms will be the nearest nouns.
Find all the adjectives within the boundary terms and save them into a listThen we repeat the same process above with “price” as the target term for all the reviews.
Eventually, we will have a list of adjectives that are potentially “related” with the term price.
In this way, I am able to get the top-15 related adjectives as below:Terms like “good” and “great” are extremely popular.
Which is actually true as we can find lots of reviews on Amazon that says “good price” and “great price.
” Lastly, we iterate the entire related term search process for all the top mentioned Nouns and Adjs, we will eventually get to the summary table I presented at the beginning.
This is not a complicated approach, but it is very effective and easy to use.
It is as simple as constructing a word-cloud but provides more insights and more interpretable as well.
To read more about this technique, how it came through and what are some drawbacks, here is the link to the original blog I wrote for it.
Here you can find the code for the method I mentioned above.
Below is how to use it:I hope you find this blog helpful, and I would like to hear your feedbacksThanks for reading through!.. More details