我试图实现一个典型的自动完成框,就像你从amazon.com知道的那样。 你去,输入一封信,你会得到一个合理的建议,你可以尝试进入搜索框。
框本身将由jquery实现,持久层和建议算法将基于Apache Lucene / Solr及其Suggest-Feature。 另外,我使用lucene的WFST-Suggestion得到结果的加权建议。
我的问题是,例如亚马逊实现这种合理的数据? 我的意思是他们在哪里得到所有这些关键词和得分,所以它有意义吗?
它是每种产品的纯手工制作样式信息吗?我认为真的很难。 或者是否可以使用机器学习理论中的聚类或分类等方法收集数据? (然后我可以使用mahout或carrot2)。
关注亚马逊的建议,我认为数据包含:
是否包含更多内容?
接下来的事情是看起来建议本身就是排名。 他们如何获得此类得分来加权建议? 这是一个简单的用户点击路径跟踪,您可以在哪里查看,用户在框中输入的内容以及他选择的内容或他之后看到的产品?
是否使用某些逻辑在每个查询(可能是缓存)上计算这种分数? (哪个?可能是贝叶斯定理?)
答案 0 :(得分:0)
他们可能会使用像从用户查询和/或产品名称构建n-gram模型这样简单的东西,并使用它来预测最可能的自动完成。