Я хочу выяснить триграммы корпуса, но с ограничением, что по крайней мере два слова триграмм не являются собственными существительными.Это мой код до сих пор.
def collocation_finder(text,window_size):
ign = stopwords.words('english')
#Clean the text
finder = TrigramCollocationFinder.from_words(text, window_size)
finder.apply_freq_filter(2)
finder.apply_word_filter(lambda w: len(w) < 2 or w.lower() in ign)
finder.apply_word_filter(lambda w: next(iter(w)) in propernouns)
trig_mes = TrigramAssocMeasures()
#Get trigrams based on raw frequency
collocs = finder.nbest(trig_mes.raw_freq,10)
scores = finder.score_ngrams( trig_mes.raw_freq)
return(collocs)
Там, где имение является списком всех имен существительных в корпусе.
Дело в том, что мое последнее слово отфильтровывает то, которое должно было удостовериться, что я не пересекаю свое ограничение.Есть идеи?