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

yasuokaの日記: 形態素解析モジュールfugashiが「軽量版UniDic」を伴ってリリース

日記 by yasuoka

fugashi 0.1.12が正式にリリースされた、との御連絡をいただいた。今回のリリースの目玉は、unidic-liteという「軽量版UniDic」がバンドル可能になったことだ。試しにGoogle Colaboratoryで「國境の長いトンネルを拔けると、そこは雪國であった。」を形態素解析してみよう。

!pip install 'fugashi[unidic-lite]'
import fugashi
tagger=fugashi.Tagger()
doc=tagger.parse("國境の長いトンネルを拔けると、そこは雪國であつた。")
print(doc)

私(安岡孝一)の手元では、以下の結果になった。

國    クニ    クニ    国    名詞-普通名詞-一般            0
境    サカイ    サカイ    境    名詞-普通名詞-一般            2
の    ノ    ノ    の    助詞-格助詞
長い    ナガイ    ナガイ    長い    形容詞-一般    形容詞    連体形-一般    2
トンネル    トンネル    トンネル    トンネル-tunnel    名詞-普通名詞-サ変可能            0
を    オ    ヲ    を    助詞-格助詞
拔け    ヌケ    ヌク    抜く    動詞-非自立可能    五段-カ行    仮定形-一般    0
る    ル    リ    り    助動詞    文語助動詞-リ    連体形-一般
と    ト    ト    と    助詞-接続助詞
、            、    補助記号-読点
そこ    ソコ    ソコ    其処    代名詞            0
は    ワ    ハ    は    助詞-係助詞
雪    ユキ    ユキ    雪    名詞-普通名詞-一般            2
國    コク    コク    国    接尾辞-名詞的-一般
で    デ    デ    で    助詞-格助詞
あつ    アッ    アル    有る    動詞-非自立可能    文語ラ行変格    連用形-促音便    1
た    タ    タ    た    助動詞    助動詞-タ    終止形-一般
。            。    補助記号-句点

旧字旧仮名もとりあえず読めているのが、私個人としてはうれしい。できれば「國境」と「雪國」は熟語化してほしいが、まあそれは、係り受け解析でも何とかなるだろう。ちなみにfugashiは、spaCyの日本語トークナイザでもあるので、Camphrのen-udifyに直接つなぐことができる。Google Colaboratoryで、deplacyも使って試してみよう。

!pip install 'fugashi[unidic-lite]' deplacy en-udify@https://github.com/PKSHATechnology-Research/camphr_models/releases/download/0.5/en_udify-0.5.tar.gz
import pkg_resources,imp
imp.reload(pkg_resources)
from camphr.pipelines import load_udify
nlp=load_udify("ja",punct_chars=["。"])
doc=nlp("國境の長いトンネルを拔けると、そこは雪國であつた。")
import deplacy
deplacy.render(doc)

私の手元では、以下の結果になった。

國       NOUN  <╗               compound
境       NOUN  ═╝═╗<╗           nmod
の       ADP   <══╝ ║           case
長い     ADJ   <══╗ ║           acl
トンネル NOUN  ═╗═╝═╝<╗         obj
を       ADP   <╝     ║         case
拔け     VERB  ═╗═════╝═╗═╗<╗   advcl
る       AUX   <╝       ║ ║ ║   aux
と       SCONJ <════════╝ ║ ║   mark
、       PUNCT <══════════╝ ║   punct
そこ     PRON  ═╗<════╗     ║   nsubj
は       ADP   <╝     ║     ║   case
雪       NOUN  <╗     ║     ║   compound
國       NOUN  ═╝═╗<╗ ║     ║   obl
で       ADP   <══╝ ║ ║     ║   case
あつ     VERB  ═╗═══╝═╝═════╝═╗ root
た       AUX   <╝             ║ aux
。       PUNCT <══════════════╝ punct

「國境」と「雪國」をcompoundで処理してくれていて、まずまずの結果だ。なお、fugashiの公式ページによれば、

!pip install 'fugashi[unidic]'
!python -m unidic download

で、現代書き言葉UniDicをダウンロードできるはずなのだが、私の手元のGoogle Colaboratoryではうまくいかなかった。うーん、そこはmsg.failじゃなくて、ユーザに「Downloadしていい?(Y/n)」って聞くように、改造した方がいいのかしら?

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

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...