作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
给定一组词 V
, 我想将 V
中的同义词分组一起。我想知道NLTK和Wordnet中是否有任何内置函数需要V
作为输入并根据同义性自动对它们进行聚类。
我已经知道如何提取每个单词的同义词,但这不是我要找的。如果我这样做,当同义词集彼此相交,或者是彼此的子集/超集时,问题就会变得复杂,这需要编写一个消除冲突的函数。
作为一个例子,让我们考虑
V = ["good","constipate","bad","nice","defective","right","respectable","powerful"]
[('constipate'), ('nice'), ('bad', 'defective'), ('good', 'powerful', 'respectable', 'right')]
V
中的词以及它们在
V
中的同义词.
最佳答案
是的,有一种方法可以使用 nltk
和 wordnet
.下面是一个例子。我正在使用内置的 sysnets 并寻找“书”的同义词,
import nltk
from nltk.corpus import wordnet
synonyms = []
for syn in wordnet.synsets('book'):
for lemma in syn.lemmas():
synonyms.append(lemma.name())
print(synonyms)
>>['book', 'book', 'volume', 'record', 'record_book', 'book', 'script', 'book', 'playscript', 'ledger', 'leger', 'account_book', 'book_of_account', 'book', 'book', 'book', 'rule_book', 'Koran', 'Quran', "al-Qur'an", 'Book', 'Bible', 'Christian_Bible', ..]
len(synonyms)
>>38
len(set(synonyms))
>>25
set
手术,
{'record', 'Quran', 'Holy_Scripture', 'Koran', 'Good_Book', 'playscript', 'book', 'Word_of_God', 'hold', 'Holy_Writ', 'script', 'leger', 'book_of_account', 'Scripture', 'ledger', 'reserve', 'volume', 'record_book', "al-Qur'an", 'Christian_Bible', 'Word', 'rule_book', 'Bible', 'Book', 'account_book'}
关于python - 使用 NLTK 和 Wordnet 聚类同义词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47757435/
我是一名优秀的程序员,十分优秀!