用于自动建议的算法

4

自动建议功能中使用了哪些算法或数据结构?

似乎会使用编辑距离算法,但是每个单词关联的频率或分数也应该被考虑。例如,在SO的“提问”页面上考虑标签选项。

3个回答

5
您可以使用trie
  • trie树的每个节点都有以该值开头的所有子节点,例如:从"in"节点,您可以访问所有以"in"开头的字符串的子树
  • 在您的情况下,您需要考虑得分,因此您可以先收集所有子节点(遍历树),然后根据得分或其他条件进行排序
  • 如果您真的想保留汉明距离(编辑距离),则可以调整trie树以根据其构建子节点。

我认为TRIE是自动建议的最佳解决方案。当单词中缺少、删除或添加一个或两个字母时,编辑距离主要用于拼写纠正。我同意Jack的答案。 - Kapil D

1

0
嗨Raccha,自动建议系统基于递归算法工作。Google和Facebook都在其平台上实现了这个算法。 Facebook使用图形+递归类型的算法。我给你举个例子。如果你在Facebook搜索栏中输入“f”,那么你会看到Facebook搜索与之相关的人或页面数量。第一个字母是“f”,就会显示相关建议。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接