【发布时间】:2019-05-14 04:23:59
【问题描述】:
我是在 python 中记录相似性的新手,我对如何处理一些数据感到困惑。基本上,我想获得包含关键字的字典之间的余弦相似度。
我有这样的字典,我是直接从数据库中获取的:
{'hat': 0.12, 'cat': 0.33, 'sat': 0.45}
{'rat': 0.22, 'bat':0.98, 'cat': 0.01}
我查询数据库并以这种格式取回数据。这些是每个关键字列表及其各自的 tf-idf 分数/权重。
{'keyword': tfidf_score}
我想要做的就是得到这两个字典之间的余弦相似度,由 tfidf 分数加权。在网上看,当涉及到文档相似性时,我对所有不同的 python 库/模块感到不知所措。我不知道是否有一些内置函数可以将这些类型的 json 对象传递给,我是否应该编写自己的使用权重的函数,或者什么。
感谢任何帮助!
谢谢!
【问题讨论】:
-
我建议您阅读有关 TF-IDF 的更多信息。显示为每个单词/键值的数字实际上是频率而不是向量。一个向量会像这样
{"hat" : [0.12, 0.2,0.98,....]} -
如果你想得到这些词的向量,我建议看看 Word2Vec
标签: python nlp keyword tf-idf cosine-similarity