一个新词假设我有两个小词典递归提取同义词从NLTK
posList = [“有趣”,“新颖”,“广告素材”,“状态的最先进的”]
negList = [''过时','简单','平凡']
我有一个新词,说“创新”,这是我的知识,我试图找出它的情绪,通过找出它同义词通过NLTK函数,如果同义词掉出我的小字典,那么我递归地调用NLTK函数从上次查找同义词的同义词
起始输入可以是这样的:
从nltk.corpus进口的WordNet 创新= wordnet.synsets( '创新')
为同义词集创新:
print synset
print synset.lemmas
它产生像这样的输出
Synset('advanced.s.03') [引理('advanced.s.03.advanced'),引理('advanced.s.03.forward-looking'),引理“advanced.s。 03.innovative'),引理('advanced.s.03.modern')] Synset('innovative.s.02') [引理('innovation.s.02.innovative'),引理('创新。 '创新','开创性','创新','创新','创新'),引理('innovation.s.02.groundbreaking')]
明显的新词包括'advanced','forward-looking'是新词,而不是在我的词典中,所以现在我应该使用这些词作为开始再次调用synsets函数,直到没有新的词条词出现。 任何人都可以给我一个演示代码,如何从Synset中提取这些词条单词,并将它们保存在设置的strcutre中?
它涉及在Python中处理重新模块我认为,但我对Python很新。我需要解决的另一个问题是我只需要获得形容词,因此在引理('advanced.s.03.modern')中只有's'和'a'符号,而不是'v'(动词)或'n '(名词)。
后来我会尝试使用任何字典词计算新单词的相似度分数,我需要定义该度量。这个问题是困难的,因为形容词没有按照我的知识排列,没有可用的措施。任何人都可以建议?