唯物是真 @Scaled_Wurm

プログラミング(主にPython2.7)とか機械学習とか

日本語WordNetのフロントエンドを弄る

日本語Wordnetという単語の関係や意味を示した辞書があり自然言語処理ではよく使われています.
Python用フロントエンドとしてはy_yanbeさんによるものが知られています.


日本語WordNetの最新バージョンではファイル名が変わっていたり,試してみるとsyns(同意語)が動かなかったりするので改良してみました.

改変点

ファイル名が変わっていたので対応.
"wnjpn-0.9.db"→"wnjpn.db"
Windowsなどの非UTF-8環境だと動かない
decode('utf-8')からdecode(sys.stdin.encoding)に変更
同表記語が複数あった場合両方表示
e.g.dog(名詞),dog(動詞)
synsのリンクがデータベース上に見つからなかったので,link=synsの場合には引数の単語と同じsynsetに含まれる単語をすべて表示

実行例

>python wn.py ピラミッド syns
pyramid
  金字塔
  角錐
  ピラミット
  ピラミッド
  ピラミド
pyramid
  ピラミッド

その他

Python による日本語自然言語処理にはNLTKを用いた日本語Wordnetの扱い方が書かれており,類似度計算などができるので便利そうです.