動かざることバグの如し

近づきたいよ 君の理想に

NLTKを使ってTF-IDF法を試してみる

NLTKとは

NLTKとはPythonで動く自然言語処理ツールキットとのこと。そのツールの1つであるTF-IDFを使ってみる。

インストール

公式サイトを参考にコマンドを叩くだけ

sudo easy_install pip
sudo pip install -U numpy
sudo pip install -U nltk

python
>>import nltk

こんな感じ

#coding: utf-8
import nltk

docs = [
    ['今日', 'カレー', '雨'],
    ['今日', 'テニス', '晴れ'],
    ['今日', '雨']]
collection = nltk.TextCollection(docs)
terms = list(set(collection))
for doc in docs:
    for term in terms:
        print "%s : %f" % (term, collection.tf_idf(term, doc))
    print "===================="
user@ubuntu:/tmp$ python a.py 
雨 : 0.135155
今日 : 0.000000
テニス : 0.000000
カレー : 0.366204
晴れ : 0.000000
====================
雨 : 0.000000
今日 : 0.000000
テニス : 0.366204
カレー : 0.000000
晴れ : 0.366204
====================
雨 : 0.202733
今日 : 0.000000
テニス : 0.000000
カレー : 0.000000
晴れ : 0.000000
====================