パスワードを忘れた? アカウント作成
13856953 journal
中国

yasuokaの日記: StanfordNLPによる現代中国語(簡化字)の係り受け解析

日記 by yasuoka

思うところあって、「我把这本书看完了」という現代中国語の文を、StanfordNLPで係り受け解析してみた。ただ、StanfordNLPの中国語モデルは繁體字なので、そこはmafanの助けを借りてみることにした。

% pip3 install mafan
% pip3 install stanfordnlp
% python3
>>> import stanfordnlp
>>> stanfordnlp.download("zh")
>>> zh=stanfordnlp.Pipeline(lang="zh")
>>> import urllib.parse,webbrowser
>>> from stanfordnlp.models.common import conll
>>> from mafan import simplify,tradify
>>> h="http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kyodokenkyu/ud-kanbun/conllusvg/viewer.svg"
>>> s=zh(tradify("我把这本书看完了"))
>>> u=simplify(s.conll_file.conll_as_string())
>>> print(u)
>>> webbrowser.open(h+"#"+urllib.parse.quote(u))

この結果、私(安岡孝一)の手元では、以下のUniversal Dependenciesが出力された。

1 我 我 PRON PRP Person=1 6 nsubj _ _
2 把 把 VERB BB Voice=Cau 6 aux:caus _ _
3 这 这 DET DT _ 4 det _ _
4 本 本 NOUN NNB _ 5 clf _ _
5 书 书 NOUN NN _ 6 obj _ _
6 看完 看完 VERB VV _ 0 root _ _
7 了 了 PART AS Aspect=Perf 6 case:aspect _ _

SVGで可視化するとこんな感じ。簡化字と繁體字は1対1対応ではないので、このやり方だとマズイ場合もあり得るのだが、とりあえず使ってみるだけなら、これでも十分だろう。stanfordnlp.download("zh")に時間がかかるが、2回目以降はダウンロード不要なので、ぜひ試してみてほしい。

この議論は、yasuoka (21275)によって「 ログインユーザだけ」として作成されている。 ログインしてから来てね。
typodupeerror

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

読み込み中...