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

yasuokaの日記: 古典中国語(漢文)係り受け解析エンジンとしてのUDPipe 2

日記 by yasuoka

UDPipe 2がやっとリリース(仮)された、との連絡をいただいた。ただし、現時点でのリリースはLINDATのREST APIだけで、UDPipe 2のプログラム本体や各言語モデルは、まだ公開されていない。それでも、とりあえず「不入虎穴不得虎子」を係り受け解析してみよう。

$ python3
>>> def nlp(t):
...   import urllib.request,urllib.parse,json
...   with urllib.request.urlopen("https://lindat.mff.cuni.cz/services/udpipe/api/process?model=lzh&tokenizer&tagger&parser&data="+urllib.parse.quote(t)) as r:
...     return json.loads(r.read())["result"]
...
>>> doc=nlp("不入虎穴不得虎子")
>>> print(doc)
# generator = UDPipe 2, https://lindat.mff.cuni.cz/services/udpipe
# udpipe_model = classical_chinese-kyoto-ud-2.6-200830
# udpipe_model_licence = CC BY-NC-SA
# newdoc
# newpar
# sent_id = 1
# text = 不入
1    不    不    ADV    v,副詞,否定,無界    Polarity=Neg    2    advmod    _    SpaceAfter=No
2    入    入    VERB    v,動詞,行為,移動    _    0    root    _    SpaceAfter=No

# sent_id = 2
# text = 虎穴
1    虎    虎    NOUN    n,名詞,主体,動物    _    0    root    _    SpaceAfter=No
2    穴    穴    NOUN    n,名詞,固定物,地形    Case=Loc    1    flat    _    SpaceAfter=No

# sent_id = 3
# text = 不得虎子
1    不    不    ADV    v,副詞,否定,無界    Polarity=Neg    2    advmod    _    SpaceAfter=No
2    得    得    VERB    v,動詞,行為,得失    _    0    root    _    SpaceAfter=No
3    虎    虎    NOUN    n,名詞,主体,動物    _    4    nmod    _    SpaceAfter=No
4    子    子    NOUN    n,名詞,人,関係    _    2    obj    _    SpaceAfter=No

うーん、「不入」と「虎穴」を別の文だと判定してしまっていて、少し残念だ。文切り機能をOFFにしてみよう。

>>> def nlp(t):
...   import urllib.request,urllib.parse,json
...   with urllib.request.urlopen("https://lindat.mff.cuni.cz/services/udpipe/api/process?model=lzh&tokenizer=presegmented&tagger&parser&data="+urllib.parse.quote(t)) as r:
...     return json.loads(r.read())["result"]
...
>>> doc=nlp("不入虎穴不得虎子")
>>> print(doc)
# generator = UDPipe 2, https://lindat.mff.cuni.cz/services/udpipe
# udpipe_model = classical_chinese-kyoto-ud-2.6-200830
# udpipe_model_licence = CC BY-NC-SA
# newdoc
# newpar
# sent_id = 1
# text = 不入虎穴不得虎子
1    不    不    ADV    v,副詞,否定,無界    Polarity=Neg    2    advmod    _    SpaceAfter=No
2    入    入    VERB    v,動詞,行為,移動    _    0    root    _    SpaceAfter=No
3    虎    虎    NOUN    n,名詞,主体,動物    _    4    nmod    _    SpaceAfter=No
4    穴    穴    NOUN    n,名詞,固定物,地形    Case=Loc    2    obj    _    SpaceAfter=No
5    不    不    ADV    v,副詞,否定,無界    Polarity=Neg    6    advmod    _    SpaceAfter=No
6    得    得    VERB    v,動詞,行為,得失    _    2    parataxis    _    SpaceAfter=No
7    虎    虎    NOUN    n,名詞,主体,動物    _    8    nmod    _    SpaceAfter=No
8    子    子    NOUN    n,名詞,人,関係    _    6    obj    _    SpaceAfter=No

SVGで可視化すると、こんな感じ。「入」=parataxis⇒「得」も含め、係り受け解析は完璧だ。文切り機能を除けば、UDPipe 2の古典中国語(漢文)係り受け解析は、かなり性能が高いようだ。早く、プログラム本体や各言語モデルが、リリースされるといいな。

typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...