【发布时间】:2019-06-02 23:28:24
【问题描述】:
我有两个单词列表:
q = ['hi', 'how', 'are', 'you']
doc1 = ['hi', 'there', 'guys']
doc2 = ['how', 'is', 'it', 'going']
有没有办法计算q 和doc1 和doc2 之间的“相关性”或重要性分数?我的直觉告诉我,我可以通过 IDF 做到这一点。因此,这是 idf 的一个实现:
def IDF(term,allDocs):
docsWithTheTerm = 0
for doc in allDocs:
if term.lower() in allDocs[doc].lower().split():
docsWithTheTerm = docsWithTheTerm + 1
if docsWithTheTerm > 0:
return 1.0 + log(float(len(allDocs)) / docsWithTheTerm)
else:
return 1.0
但是,这并没有给我自己像“相关性分数”这样的东西。 IDF 是获得相关性分数的正确方法吗?在 IDF 的情况下,测量给定文档的查询重要性的方法不正确,我如何才能获得“相关性分数”之类的东西?
【问题讨论】:
标签: python machine-learning nlp artificial-intelligence information-retrieval