【发布时间】:2020-09-20 06:18:49
【问题描述】:
我想在一段文本中获取与其词性标签相关的相应同义词。 例如,如果您键入,
print('Synsets nouns : {}'.format(wn.synsets('title', pos = 'n')))
out : [Synset('title.n.01'),Synset('title.n.02'),Synset('title.n.03'), ...]
你最终会得到一大堆仅与名词相关的同义词(例如,如果有任何动词,它们将被忽略)。
我不想手动输入pos = 'n',而是想将它自动化成一个句子。
例如:
from nltk.corpus import wordnet as wn
text = 'Theim won his first ever grandslam title'
text_tokens = nltk.word_tokenize(text)
text_posTags = nltk.pos_tag(text_tokens)
corresponding_synsets = [wn.synsets(i[0], pos = i[1]) for i in text_posTags]
但现在我得到了一个错误,因为 text_posTags 的格式不同, 例如,单词“title”将具有名为“NN”而不是“n”的 pos。
print(text_posTags)
out:
[('Theim', 'NNP'), ('won', 'VBD'), ('his', 'PRP$'), ('first', 'JJ'), ('ever', 'RB'), ('grandslam', 'VBP'), ('title', 'NN')]
有什么想法可以解决这个问题吗?
【问题讨论】:
标签: nltk