![]() |
1
8
相关问题侧边栏将建立在每个问题的标签上(可能通过基于标签重叠对其进行排名,因此共有5个标签,共有4个标签等)。 其余部分将建立在启发式和适合自然语言处理的算法之上。这些通常在通用语言中不是很好,但是一旦词汇减少到一个技术领域(如编程),它们中的大多数就非常好了。 |
![]() |
2
18
如果你听 Stack Overflow podcast 32 (不幸的是,成绩单没有太多内容)你可以听到杰夫·阿特伍德说了一点他是如何做到的。 似乎算法是这样的:
有关全文搜索的详细信息,请参见: http://msdn.microsoft.com/en-us/library/ms142571.aspx 这可能已经过时了-他们说要转向更好/更快的全文搜索,例如 Lucene 我隐约记得杰夫在播客中说这已经完成了。 |
![]() |
3
6
看一看波特,他想 stemming 算法,如果你想进入“相关”的算法。
处理完一个文档并对其进行词干处理后,可以按计数对词干单词进行索引,然后与其他文档进行比较。这是解决这个问题最基本的方法。 也要注意忽略 stop words 如“the”、“an”、“of”等。 |
![]() |
4
5
|
![]() |
5
1
我不知道它是如何实现的,但我的预感是它们使用了 approximate string matching . |
![]() |
6
0
这样的问题可以通过在词干上做一个“词袋”来解决。这基本上是一个字数向量。这些词经过预处理(词干化),并根据它们在句子中出现的概率进行加权(“the”的概率高于“probability”,因此应减去其权重)。然后,您可以将这袋单词视为欧几里得空间中的向量或概率密度的样本。 您可以将算法应用于最近邻搜索或语义散列。后者似乎是sota(见 http://www.cs.toronto.edu/~rsalakhu/papers/semantic_final.pdf ) |
![]() |
7
-1
使用SQL Server的全文搜索功能。 |