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

yasuokaの日記: NLP-Cubeで読む『吾輩は猫である』

日記 by yasuoka

AdobeのNLP-Cube 0.1.0.7がリリースされた、との御連絡をいただいた。とりあえず、pip3とpython3で、日本語モデル1.1も含め、インストール。

% pip3 install nlpcube==0.1.0.7
% python3
>>> from cube.api import Cube
>>> Cube().load("ja",1.1)
>>> quit()

今回のリリースの目玉は、Universal Dependenciesの出力回りの改善で、解析性能とかは改善されてない。試しに、言語処理100本ノック2015の『吾輩は猫である』から「ヴァイオリンを始める」文をNLP-Cubeで探してみよう。

% python3
>>> from cube.api import Cube
>>> ja=Cube()
>>> ja.load("ja")
>>> import urllib.request
>>> 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"))
>>> for s in u:
...   f=False
...   for w in s:
...     if w.lemma=="ヴァイオリン" and w.label=="obj":
...       if s[w.head-1].lemma=="始める":
...         f=True
...   if f:
...     print("".join(str(w)+"\n" for w in s))
...
1    「    「    PUNCT    _    _    2    punct    _    SpaceAfter=No
2    君    君    PRON    _    _    12    nsubj    _    SpaceAfter=No
3    は    は    ADP    _    _    2    case    _    SpaceAfter=No
4    ヴァイオリン    ヴァイオリン    NOUN    _    _    9    obj    _    SpaceAfter=No
5    を    を    ADP    _    _    4    case    _    SpaceAfter=No
6    いつ    いつ    NOUN    _    _    7    compound    _    SpaceAfter=No
7    頃    頃    NOUN    _    _    9    obl    _    SpaceAfter=No
8    から    から    ADP    _    _    7    case    _    SpaceAfter=No
9    始め    始める    VERB    _    _    12    acl    _    SpaceAfter=No
10    た    た    AUX    _    _    9    aux    _    SpaceAfter=No
11    の    の    PART    _    _    9    case    _    SpaceAfter=No
12    かい    かい    AUX    _    _    0    root    _    SpaceAfter=No
13    。    。    PUNCT    _    _    12    punct    _    SpaceAfter=No

SVGで可視化するとこんな感じ。「君←nsubj」の係り受けリンクが「始め」じゃなくて「かい」から出ているのはイラっとくるものの、「ヴァイオリンを始める」がうまく検索できている。ただ、私(安岡孝一)の見る限り、日本語の解析性能においては、現状ではNLP-CubeよりGiNZAの方が上である。このあたり、「望遠鏡で泳ぐ彼女を見た」などを解析して、実際に確かめてみてほしい。

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

犯人はmoriwaka -- Anonymous Coward

読み込み中...