ノート/テキストマイニング
1596   2009-12-14 (月) 10:14:01

WordNet 3.0を使ってみる

WordNet 3.0のインストール

余談: 日本語のWordNet

NICTのプロジェクト

Cから使う?

Pythonから使う

nltk (Natural Language Took Kit)を使う。oregano上のバージョンは古い(0.9.8)ので、最新(2.0-b6)に入換えた。

 ≫ ノート/テキストマイニング/NLTK

実際に使っている様子は、HowToの中にあるサンプルを見るとよい。

>>> from nltk.corpus import wordnet as wn
>>> wn.synsets('dog')

Pythonから使う(別のインターフェース、nltkの方が本流だと思うので勧められない)

Pythonから使うためのプログラムが、http://sourceforge.jp/projects/sfnet_pywn/ からダウンロード可能。これは、WordNetのデータのみを使う(Cのライブラリは使わず、直接データベースをアクセスする)。

oreganoでは、/usr/local/pywn に置いた。

環境変数 WNHOMEとWNDICT を自分の実行環境で設定。また、pythonの実行検索パス PYTHONPATH を自分の実行環境で設定
bashであれば<自分のHOME>/.bash_profile の中に、

WNHOME=/usr/local/WordNet-3.0
WNDICT=/usr/local/WordNet-3.0/dict
export WNHOME
export WNDICT
PYTHONPATH=/usr/local/pywn:$PYTHONPATH
export PYTHONPATH

これで使える。たとえば、pythonをインタラクティブモードで起動して使ってみる。

[yamanouc@oregano pywn]$ python
Python 2.5.2 (r252:60911, Sep 30 2008, 15:41:38)
[GCC 4.3.2 20080917 (Red Hat 4.3.2-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from stdwn import impl
>>> synsets = impl.lookupSynsetsByForm("aspirin")
>>> synsets[0].gloss
' the acetylated derivative of salicylic acid'
>>> for fn in synsets[0].synonyms:
...  print fn.form,
...
aspirin acetylsalicylic_acid Bayer Empirin St._Joseph
>>> quit()

のようにできる。

ファイル /usr/local/pywn/pywn.py に、impl内のAPIが定義されている。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-12-14 (月) 10:14:01 (2750d)