形態素解析器 janomeがついにNElogd辞書に対応と聞いて、試してみたところ、pip install
で軽くはまりました。
OSは Lubuntu14.04 で、Anacondaのpython3.5を使っています。
こちら(google drive) からファイルを落とし、READMEにあるように
$ pip install Janome-0.3.5.neologd20170814.tar.gz --no-compile
としたところ、下記のエラーが出てしまいました。
OSError: [Errno 28] No space left on device
調べてみると、このエラーはさまざまな理由で起こりえるようです。ディスクの容量の問題のこともあれば、ファイルの個数のせいであることもあるらしい。今回の場合は容量のせいだったようです。
$ df -h
Filesystem Size Used Avail Use% Mounted on
... (略)
/dev/zram1 1.5G 1.4G 4.0K 100% /tmp
... (略)
というように、tmpディレクトリがいっぱいになっています。今回のjanomeは大きな辞書ファイルを扱うので制限を越えてしまったものと想像しています。
対処法としては、一時的にtmpディレクトリを指定してからインストールするのが簡単なようです。
$ mkdir $HOME/tmp
$ export TMPDIR=$HOME/tmp
$ pip install Janome-0.3.5.neologd20170814.tar.gz --no-compile
export TMPDIR=$HOME/tmp
コマンドによって、tmpディレクトリを指定しています。この指定は、一時的なものなので、セッションを閉じると破棄されます。
このあと、
>>> from janome.tokenizer import Tokenizer
>>> t = Tokenizer(mmap=True)
>>> for x in t.tokenize("メロンパンを食べる安倍総理"): print(x)
#メロンパン 名詞,固有名詞,一般,*,*,*,メロンパン,メロンパン,メロンパン
#を 助詞,格助詞,一般,*,*,*,を,ヲ,ヲ
#食べる 動詞,自立,*,*,一段,基本形,食べる,タベル,タベル
#安倍総理 名詞,固有名詞,一般,*,*,*,安倍総理,アベソウリ,アベソーリ
※ 普通のjanomeの場合、「メロンパン」は「メロン」+「パン」に、「安倍総理」は「安倍」+「総理」に分割されます。