prmr / Creco

Recommendation System for Consumer Products
Apache License 2.0
6 stars 2 forks source link

Merging equal names in autocomplete into a single row #100

Closed prmr closed 10 years ago

prmr commented 10 years ago
priyasidhaye commented 10 years ago

If the search is based on product name, we can show the particular products at the top of the ranked list on the products page. Currently if you search for a particular product it returns the same result as a search on the category.

asutcl commented 10 years ago

I am not sure about this. This would mean that in this instance the list presented is not a sorted list. In all other case it is sorted according to something and explained to the user. In my opinion, if having the product on top is is a behaviour we want then we should use the Lucene scores for initial the ranking. This would put the item at the top and we could say that these items are rated according to search relevance. Although, last class we decided on going with overall score for the initial ranking.

That being said, would you want to remove the category selection screen in this case? Maybe in the case of an exact match the user could be directly taken to the product ranking page, skipping the category selection. In this case yes, I agree that it may be confusing if the user types in an exact product name and he/she can't find it on the page. So we could show products according to Lucene score.

Right now, the system was built under the assumption that users come to the system not necessarily knowing what they want. The use case you describe seems to fall into the category where the user wants to compare a known product to other products. This maybe a desirable feature but, if this is the case, simply having the item show on top of the list at first may not be enough since once attributes are selected the item would potentially be lost in the new sorted list. The problem resurfaces after one click.

It might be cool to be able to select an item and sticky it to the top. Then once attributes are selected, this item's rank is updated and it is kept on top of the list, but it then can be compared with the top items on the list. Now this may be a cool feature or not. We can probably come up with a lot of cool features, but we need to assess what features fall in the scope of what we want our recommender system to do and who we are targeting. Especially given the limited time frame.

I think what is feasible for the next few weeks is to refine a recommender system that acts as a tool to help people with little or no experience about a product or product category to find something that meets their needs. This can be achieved by ways of making our recommender more transparent, giving clear explanations on what it does and how it does it, and possibly linking to CR documentation or buyer guides.

The down side is that a lot of use cases might not be handle by our system, it might be overly specialized. I believe the system will be more interesting if our system targets a specific needs and addresses it very well than if it accommodates a wide range of use cases in an average way.

forgues commented 10 years ago

I would also add that we used to rank products which matched the query at the top of the list. This is what the ProductSearch component did. But we decided in class that we didn't want this functionality after all, and replaced it with alphabetical sorting.

nishanthtgwda commented 10 years ago

Merged to master. Same names merged into single line. Changed text_search to Product. Response now returned in JSON format. Concatenated names have highest preference and appear at the top of autocomplete.