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

yasuokaの日記: StanfordNLPが出力したUniversal DependenciesをSVGで可視化する

日記 by yasuoka

2月5日の日記で、StanfordNLPを使って係り受け解析をおこなう方法を示したのだが、Universal DependenciesのCoNLL-Uフォーマットが、どうも一部の方々には読みにくいらしい。そこで、以前に私(安岡孝一)が作った「SVGによるUniversal Dependencies可視化ツール」を改造してみた。たとえば「Those who labour with their minds rule others」という文における係り受け関係ならば

% python3
>>> import stanfordnlp
>>> from stanfordnlp.models.common import conll
>>> import urllib.parse
>>> import webbrowser
>>> h="http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kyodokenkyu/ud-kanbun/conllusvg/viewer.svg"
>>> en=stanfordnlp.Pipeline(lang="en")
>>> s=en("Those who labour with their minds rule others")
>>> q=urllib.parse.quote(s.conll_file.conll_as_string())
>>> webbrowser.open(h+"#"+q)
>>> print(urllib.parse.unquote(q))

とやれば、python3からブラウザが起動してきて、StanfordNLPが出力したUniversal Dependenciesを、グラフ表示するはずである。このツールは言語に依存しないので、日本語モデルをダウンロードしていれば

% python3
>>> import stanfordnlp
>>> from stanfordnlp.models.common import conll
>>> import urllib.parse
>>> import webbrowser
>>> h="http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kyodokenkyu/ud-kanbun/conllusvg/viewer.svg"
>>> ja=stanfordnlp.Pipeline(lang="ja")
>>> s=ja("望遠鏡で泳いでいる彼女を見た")
>>> q=urllib.parse.quote(s.conll_file.conll_as_string())
>>> webbrowser.open(h+"#"+q)
>>> print(urllib.parse.unquote(q))

というのも可能である。stanfordnlpとwebbrowserが動くpython3をお持ちの方は、ぜひ試してほしい。

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

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...