我想在(例如)布朗语料库中找到一组单词,其中单词的复数形式出现频率更高。例如:如果有('dog':5,5,'dogs':6,'same':2,'atlantis':1),则最终输出应丢弃(dog),因为复数的频率大于该单词的单数频率。
import nltk
import collections
from nltk.corpus import brown
from collections import Counter
brown_tags = brown.tagged_words(tagset='universal')
p = [word for word, pos in brown_tags if pos.startswith('NOUN')]
counter = Counter(p)
plurals=[]
for word1 in p:
if word1[-1] != 's':
plural = counter[word1+'s']
singular = counter[word1]
if plural > singular:
plurals.append(word1)
print(plurals)
'counter'具有所有名词(以's'结尾的名词以及不带其频率的名词);在“复数”和“单数”中,我只是获得频率,而在“复数”中,它进入无限循环。一旦我们知道单词的复数形式比单数形式出现频率更高,就希望单词的单数形式成为最终输出。
非常感谢!