cloud9上でのPython による日本語自然言語処理

Python による日本語自然言語処理のコードをcloud9上で実行してみるときにいくつかつまずいたのでメモ。


  • インポート文で構文エラー表示される

 以下のインポート文でエディタ左側にエラー表示される。

from nltk.corpus.reader import *
from nltk.corpus.reader.util import *

 ×印にマウスをあてると「No name 'reader' in module 'LazyModule'」と表示されるが
 結局そのまま実行しても特に問題無かった。
 pathの設定が必要なのかな?

  • JEITA 形態素解析済みコーパスをダウンロードしようとするとcloud9のHDD容量上限の2GBを余裕で超えエラーとなってしまう。

 以下のインポートを実行すると表示される画面からJEITAコーパスをDLしようとすると、
 JEITA以外の様々なファイルも一緒に落とさないと行けないので総容量が4GBを超えてしまう。

import nltk
nltk.download()

 目的のコーパスだけ落とすのが不可能だったので結局ローカルのwin端末に
 python実行環境を作成し、上記でDL後にJEITAコーパスのみcloud9にUPした。

  • ChasenCorpusReaderがgooglecodeでリンク切れ

 このサイトで指定されているリンクが切れているのでどうしたものかと思ったが、
 そもそも現在のnltkはchasenライブラリーを含んでいるようなので、

from nltk.corpus.reader.chasen import *

 でインポートする。

  • printでエラー

 以下のprint文でシンタックスエラーとなった。

print '/'.join( jeita.words()[22100:22140] )

 python3からprintは()で囲うのが正式になったらしいので以下で解決。

print ('/'.join( jeita.words()[22100:22140] ))