【发布时间】:2021-05-14 00:55:34
【问题描述】:
我使用 TFIDF 来计算文章之间的相似度,但我有一个问题,它认为这两个句子是相似的:
I am against this project
I am for this project
请问我该如何改进我的方法来考虑这个句子的否定?
【问题讨论】:
标签: python python-3.x nlp tf-idf tfidfvectorizer
我使用 TFIDF 来计算文章之间的相似度,但我有一个问题,它认为这两个句子是相似的:
I am against this project
I am for this project
请问我该如何改进我的方法来考虑这个句子的否定?
【问题讨论】:
标签: python python-3.x nlp tf-idf tfidfvectorizer
我添加了 msayef 的评论。您可能还想考虑negative adverbs。
【讨论】:
曾经遇到过这个问题。通常使用 tf-idf 很难解决这个问题,而是需要更复杂的 NLP 模型,即 BERT,来判断句子在语义上是相似还是相反。但是,如果您的用例与您的示例类似,则可以执行以下操作。
我假设您的文章/文档/句子就这么简单。所以通常你会遇到两种意思相反的句子。一种是n't/not 标记,另一种是使用相反的词。使用nltk 库,您可以找到两个句子中是否存在相反含义的单词(反义词)。然后你就可以轻松决定了。
【讨论】:
nltk 来查找同义词/反义词。