如何收集自动完成的有用数据?

时间:2012-12-14 09:14:33

标签: search autocomplete autosuggest

我试图实现一个典型的自动完成框,就像你从amazon.com知道的那样。 你去,输入一封信,你会得到一个合理的建议,你可以尝试进入搜索框。

框本身将由jquery实现,持久层和建议算法将基于Apache Lucene / Solr及其Suggest-Feature。 另外,我使用lucene的WFST-Suggestion得到结果的加权建议。

我的问题是,例如亚马逊实现这种合理的数据? 我的意思是他们在哪里得到所有这些关键词和得分,所以它有意义吗?

它是每种产品的纯手工制作样式信息吗?我认为真的很难。 或者是否可以使用机器学习理论中的聚类或分类等方法收集数据? (然后我可以使用mahout或carrot2)。

关注亚马逊的建议,我认为数据包含:

  • 产品名称
  • 产品/制造商/产品/书的作者
  • 产品功能(如颜色,类型,尺寸)

是否包含更多内容?

接下来的事情是看起来建议本身就是排名。 他们如何获得此类得分来加权建议? 这是一个简单的用户点击路径跟踪,您可以在哪里查看,用户在框中输入的内容以及他选择的内容或他之后看到的产品?

是否使用某些逻辑在每个查询(可能是缓存)上计算这种分数? (哪个?可能是贝叶斯定理?)

1 个答案:

答案 0 :(得分:0)

他们可能会使用像从用户查询和/或产品名称构建n-gram模型这样简单的东西,并使用它来预测最可能的自动完成。