我的任务是从文本中提取关键字。我所做的如下:
我正在使用 tf-idf“算法”。对于 idf 部分,我正在抓取维基百科文章并提取名词短语 (opennlp) 并将它们存储在数据库中。
因此,当我分析文本时,我只需计算 tf 部分并从数据库中获取 idf 部分。
到目前为止的结果非常有吸引力。我唯一的问题是 -> 由于我必须分析的文本与维基百科语料库不同,某些单词具有较高的 tf 但没有 idf 值(在维基语料库中未找到)。但有时这些词仍然非常重要(例如一家尚未在维基百科上列出的新公司)。
如果在数据库(语料库)中找不到它,我应该将什么作为 idf 值? (平均 idf 可能不是一个好主意)
最佳答案
IDF是如何计算的?
如果您有类似 IDF = log_e(# of Documents/# of Documents with term)
的内容,您可以执行 log_e(# of Documents +1/1)
。即将该文档视为语料库中的新文档。
关于java - 未知单词的 IDF 分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33176328/