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

yasuokaの日記: GiNZA v2.2.0で読む『吾輩は猫である』

日記 by yasuoka

日本語係り受け解析エンジンGiNZAのv2.2.0がリリースされていたので、使ってみることにした。まずはインストール、と言いたいところだが、旧版をアンインストールしてからでないと、うまくインストールできないようだ。

% pip3 uninstall ginza ja-ginza ja-ginza-nopn SudachiPy SudachiDict-core
% pip3 install https://github.com/megagonlabs/ginza/releases/download/latest/ginza-latest.tar.gz

インストールがうまくいったら、7月8日の日記と同様、言語処理100本ノック2015の『吾輩は猫である』から、「ヴァイオリンを始める」文をGiNZAで探してみよう。

% python3
>>> import spacy,urllib.request
>>> ja=spacy.load("ja_ginza")
>>> with urllib.request.urlopen("http://www.cl.ecei.tohoku.ac.jp/nlp100/data/neko.txt") as r:
...   q=r.read()
...
>>> u=ja(q.decode("utf-8"))
>>> s=set(w.sent for w in u if w.lemma_=="バイオリン" and w.dep_=="obj" and w.head.lemma_=="始める")
>>> print(s)
{「君はヴァイオリンをいつ頃から始めたのかい。}
>>> import sys
>>> from ginza.command_line import print_conllu
>>> for t in s:
...   print_conllu(t,True,sys.stdout)
...

# text = 「君はヴァイオリンをいつ頃から始めたのかい。
180715    「    「    PUNCT    補助記号-括弧開    _    180716    punct    _    BunsetuBILabel=B|BunsetuPositionType=CONT|SpaceAfter=No
180716    君    君    PRON    代名詞    _    180722    nsubj    _    BunsetuBILabel=I|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NE=PRODUCT_B
180717    は    は    ADP    助詞-係助詞    _    180716    case    _    BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No|NE=PRODUCT_I
180718    ヴァイオリン    バイオリン    NOUN    名詞-普通名詞-一般    _    180722    obj    _    BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No|NE=PRODUCT_I
180719    を    を    ADP    助詞-格助詞    _    180718    case    _    BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
180720    いつ頃    いつ頃    NOUN    名詞-普通名詞-副詞可能    _    180722    nmod    _    BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
180721    から    から    ADP    助詞-格助詞    _    180720    case    _    BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
180722    始め    始める    VERB    動詞-非自立可能    _    180726    advcl    _    BunsetuBILabel=B|BunsetuPositionType=SEM_HEAD|SpaceAfter=No
180723    た    た    AUX    助動詞    _    180722    aux    _    BunsetuBILabel=I|BunsetuPositionType=FUNC|SpaceAfter=No
180724    の    の    SCONJ    助詞-準体助詞    _    180722    mark    _    BunsetuBILabel=I|BunsetuPositionType=FUNC|SpaceAfter=No
180725    か    か    PART    助詞-終助詞    _    180722    aux    _    BunsetuBILabel=I|BunsetuPositionType=SYN_HEAD|SpaceAfter=No
180726    い    い    PART    助詞-終助詞    _    0    root    _    BunsetuBILabel=B|BunsetuPositionType=ROOT|SpaceAfter=No
180727    。    。    PUNCT    補助記号-句点    _    180726    punct    _    BunsetuBILabel=I|BunsetuPositionType=CONT

GiNZAにprint_conlluという関数が導入されたので、Universal Dependenciesの出力が非常に簡単になった。解析精度も上がっているようなので、ぜひ試してみてほしい。

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

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...