1-27. 関数の定義

def で定義する。 後で使うことも考慮すると、引数の妥当性検証等が必要だが、ここでは省略している。

>>> def vocab_size(text):
...     return len(set(text))
...
>>> vocab_size(text1)
19317

1-28. 頻度分布

nltk に用意されている関数 FreqDist を使う。

>>> def percent(word, text):
...     fdist = FreqDist(text)
...     return fdist.freq(word) * 100
...
>>> percent('me',text1)
0.24039659687369402

1-29. 部分集合

<= は部分集合(subset)になっているか、< は真部分集合(proper subset)になっているかを判定する。

>>> set(sent3) < set(text1)
True

ぱっと思いつく応用は、辞書にある単語かどうか(スペルチェック機能)、禁止ワード(スラング、差別語等)のチェック等。