【问题标题】:Boolean retrieval model in pythonpython中的布尔检索模型
【发布时间】:2015-01-20 22:44:08
【问题描述】:

我正在尝试在 python 中使用布尔模型创建一个查询-回答系统。

我尝试使用 nltk,但它似乎没有布尔模型的功能

我有 3 个文档,我希望查看哪些文档与数​​值更相似。

例如 doc1 2.987、doc2 0.876 和 doc3 2.156 因此 doc1 和 doc2 相似

我做了什么:

  • 标记化文档
  • 删除了重复的单词
  • 删除了停用词

我现在拥有的是每个文档的唯一单词列表(基本上是名词、动词、副词和形容词)

现在下一步是什么?

【问题讨论】:

  • 为什么要删除重复的单词?文档中一些最常重复的单词可能与主题相关,因此对两个文档是否相似有很大影响。
  • 你说得对!我认为更好地删除停用词很有用。
  • @cms_mgr:在布尔检索模型中,重复的单词没有效果。
  • @JPP:布尔检索模型不给出数字相似度分数,只给出布尔分数。您可以使用余弦相似度,但您将不再拥有严格的布尔模型。
  • @JPP:到目前为止你尝试过什么?当前形式的问题不适合 Stack Overflow。

标签: python python-2.7 nlp information-retrieval


【解决方案1】:

删除停用词可能很有用。您可以查找称为余弦相似度的术语。基本上它可以用于机器学习。它可用于查找文档之间的相似性。您可以在 python 中查找Scikit。如果您想使用它,这是您的选择。但是这里有一些教程解释了如何计算这个余弦相似度。

part-I,part-II,part-III

你也可以看看这个问题

Python: tf-idf-cosine: to find document similarity

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 2011-08-19
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    相关资源
    最近更新 更多