Python 新文本文档与现有文档列表的余弦相似性

Python 新文本文档与现有文档列表的余弦相似性,python,text,nlp,similarity,cosine-similarity,Python,Text,Nlp,Similarity,Cosine Similarity,我有一个包含1000个文本文档和相应关键字的数据框。我想通过在列表中查找与文档最相似的关键字来提取新文档的关键字。首先将csv保存到数据框df,并使用以下函数进行余弦相似性计算。 def get_余弦(vec1,vec2): 交叉点=集合(vec1.keys())和集合(vec2.keys()) 分子=总和([vec1[x]*vec2[x]表示相交处的x]) 然后迭代df并调用以下函数: similarity=[] for ind in df.index: #my_doc="new docume

我有一个包含1000个文本文档和相应关键字的数据框。我想通过在列表中查找与文档最相似的关键字来提取新文档的关键字。

首先将csv保存到数据框df,并使用以下函数进行余弦相似性计算。 def get_余弦(vec1,vec2): 交叉点=集合(vec1.keys())和集合(vec2.keys()) 分子=总和([vec1[x]*vec2[x]表示相交处的x])

然后迭代df并调用以下函数:

similarity=[]
for ind in df.index:
#my_doc="new document should go in here"
#prev_doc= "previous document for each index should go in here"
cos=get_result(my_doc, prev_doc)
similarity.append(cos)
max_ind= similarity.index(max(similarity))  

您将获得最相似文档的索引位置首先将csv保存到数据帧df,并使用以下函数进行余弦相似性计算。 def get_余弦(vec1,vec2): 交叉点=集合(vec1.keys())和集合(vec2.keys()) 分子=总和([vec1[x]*vec2[x]表示相交处的x])

然后迭代df并调用以下函数:

similarity=[]
for ind in df.index:
#my_doc="new document should go in here"
#prev_doc= "previous document for each index should go in here"
cos=get_result(my_doc, prev_doc)
similarity.append(cos)
max_ind= similarity.index(max(similarity))  

您将获得最相似文档的索引位置。请您分享一个我们可以调查的可复制问题。你可以找到一些关于提问的有用提示。你可以分享一个我们可以调查的重复问题吗。你可以找到一些关于提问的有用提示