パスワードを忘れた? アカウント作成
13990281 journal
人工知能

yasuokaの日記: 現代・古典日本語の形態素解析・係り受け解析のためのunidic2ud

日記 by yasuoka

私(安岡孝一)の8月21日の日記で公開したudkanbunを改造して、UniDicのMeCab辞書と、UDPipeのjapanese-gsdモデルが読めるようにした。これをさらにChamame2UD.pyと機能統合して、手元に辞書がある場合はローカルで高速に、ない場合はWeb APIを叩くことで低速に、動作するよう書き直してみた。unidic2udというpython3モジュールとして、PyPIからリリースしたので、ぜひ使ってみてほしい。インストールは、とりあえずは

% pip3 install unidic2ud

一発でいけるはずである。使い方も簡単で、たとえば「笑顔で彼は座った」という文を、現代書き言葉UniDicで解析するなら

% python3
>>> import unidic2ud
>>> ja=unidic2ud.load("gendai")
>>> s=ja("笑顔で彼は座った")
>>> print(s)
# text = 笑顔で彼は座った
1    笑顔    笑顔    NOUN    名詞-普通名詞-一般    _    5    obl    _    SpaceAfter=No|Translit=エガオ
2    で    で    ADP    助詞-格助詞    _    1    case    _    SpaceAfter=No|Translit=デ
3    彼    彼    PRON    代名詞    _    5    nsubj    _    SpaceAfter=No|Translit=カレ
4    は    は    ADP    助詞-係助詞    _    3    case    _    SpaceAfter=No|Translit=ハ
5    座っ    座る    VERB    動詞-一般    _    0    root    _    SpaceAfter=No|Translit=スワッ
6    た    た    AUX    助動詞    _    5    aux    _    SpaceAfter=No|Translit=タ

で、OKである。使えるUniDicに関しては、オプション一覧を見てほしい。また、UniDicやUDPipeモデルのダウンロードに関しては

% python3 -m unidic2ud download.unidic gendai
% python3 -m unidic2ud download.udpipe japanese-gsd

というインターフェースを準備しておいたので、各辞書ごとに簡単にダウンロードできるはずだが、かなり時間がかかるのが難点だ。ちなみに、必要なUniDicを手元にダウンロードしておいた場合は、MeCabインターフェースもダイレクトに使えるよう実装したので、たとえば

% python3
>>> import unidic2ud
>>> ja=unidic2ud.load("gendai")
>>> m=ja.mecab("笑顔で彼は座った")
>>> print(m)
笑顔    名詞,普通名詞,一般,,,,エガオ,笑顔,笑顔,エガオ,笑顔,エガオ,和,,,,,,,体,エガオ,エガオ,エガオ,エガオ,1,C1,,1028326907060736,3741
で    助詞,格助詞,,,,,デ,で,で,デ,で,デ,和,,,,,,,格助,デ,デ,デ,デ,,動詞%F2@0,名詞%F1,,7014343053025792,25518
彼    代名詞,,,,,,カレ,彼,彼,カレ,彼,カレ,和,,,,,,,体,カレ,カレ,カレ,カレ,1,,,2014863681528320,7330
は    助詞,係助詞,,,,,ハ,は,は,ワ,は,ワ,和,,,,,,,係助,ハ,ハ,ハ,ハ,,動詞%F2@0,名詞%F1,形容詞%F2@-1,,8059703733133824,29321
座っ    動詞,一般,,,五段-ラ行,連用形-促音便,スワル,座る,座っ,スワッ,座る,スワル,和,,,,,,,用,スワッ,スワル,スワッ,スワル,0,C2,,5377170306376324,19562
た    助動詞,,,,助動詞-タ,終止形-一般,タ,た,た,タ,た,タ,和,,,,,,,助動,タ,タ,タ,タ,,動詞%F2@1,形容詞%F4@-2,,5948916285711019,21642
EOS

も可能になる。MeCabインターフェースでは、入力文から改行コードが剝ぎ取られる癖があるが、ぜひ試してみてほしい。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

読み込み中...