我试图遍历一个包含文本的文件,并计算当前行和用户所引发的查询之间的余弦相似性。我已经将查询和行标记化,并将它们的单词联合保存到一个集合中。在
示例:
line_tokenized = ['Karl', 'Donald', 'Ifwerson']
query_tokenized = ['Donald', 'Trump']
word_set = ['Karl', 'Donald', 'Ifwerson', 'Trump']
现在我必须为行和查询分别创建一个字典,其中包含词频对。我想过这样的事情:
^{pr2}$但是由于键值对是无序的,因此余弦相似度将无法正确计算。我遇到了OrderedDict()
,但我不明白如何实现某些东西,因为它的元素是以元组形式存储的:
所以我的问题是:
使用
pandas
和scipy
此代码将输出
0.40824829046386291
我不明白你所说的“订单”是什么意思,所以我还没有处理过这个问题,但是这段代码对你来说应该是个好的开始。在
您不需要为Cosine similarity订购字典,简单查找就足够了:
您只需使用}都不需要以
.get(key1,0.0)
来查找元素是否存在,如果不存在,则假定为0.0
。因此,dic1
和{0
作为值来存储值。在回答您的其他问题:
你只需声明:
^{pr2}$如果您确定密钥已经是字典的一部分:
否则,您可以使用:
您可以使用
Counter
,它基本上是一个具有一些附加功能的字典。在相关问题 更多 >
编程相关推荐