nltkでタプルのbigramカウントをする
やりたいこと
(word, POS)のタプルの状態でbi-gramのカウントを取りたい
解決法
nltkで普通にできた。
import nltk list_input = [('I', 'Noun'), ('feel', 'Verb'), ('happy', 'Adj'), ('You', 'Noun'), ('feel', 'Verb'), ('happy', 'Adj')] corpus = nltk.Text(list_input) bigrams = nltk.bigrams(corpus) cfd = nltk.ConditionalFreqDist(bigrams)
In [20]:cfd.viewitems() Out[20]: dict_items([(('happy', 'Adj'), FreqDist({('You', 'Noun'): 1})), (('feel', 'Verb'), FreqDist({('happy', 'Adj'): 2})), (('You', 'Noun'), FreqDist({('feel', 'Verb'): 1})), (('I', 'Noun'), FreqDist({('feel', 'Verb'): 1}))])
キーがタプルになってるとエラーでるかなー。と思っていたから意外だった。