好吧,所以我有点困惑。然而,这应该是一个简单的直截了当的问题。
在根据整个语料库计算文档的 TF-IDF 矩阵后,我得到的结果非常类似于:
array([[ 0.85..., 0. ..., 0.52...],
[ 1. ..., 0. ..., 0. ...],
[ 1. ..., 0. ..., 0. ...],
[ 1. ..., 0. ..., 0. ...],
[ 0.55..., 0.83..., 0. ...],
[ 0.63..., 0. ..., 0.77...]])
如何使用此结果针对搜索查询获取最相似的文档?基本上,我正在尝试为维基百科重新创建一个搜索栏。根据搜索查询,我想从维基百科返回最相关的文章。在此方案中,有 6 篇文章 (行) 和搜索查询包含 3 个单词 (列) 。
我是将列中的所有结果相加还是将所有行相加?是较大的值最相关,还是最低值最相关?
你熟悉余弦相似性吗?对于每篇文章(向量 A),计算其与查询(向量 B)的相似性。然后按降序排列并选择顶部结果。如果你愿意重构,gensim 库非常好。