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

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

日記 by yasuoka

昨日の日記で示した「SVGによるUniversal Dependencies可視化ツール」は、特にStanfordNLPに限らず、Universal Dependenciesなら何でも可視化できる。試しにUDPipeの英語モデルに繫いでみよう。

% python3
>>> import urllib.parse,urllib.request,json,webbrowser
>>> h="http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kyodokenkyu/ud-kanbun/conllusvg/viewer.svg"
>>> en="http://lindat.mff.cuni.cz/services/udpipe/api/process?model=english&tokenizer&tagger&parser"
>>> s="Those who labour with their minds rule others"
>>> with urllib.request.urlopen(en+"&data="+urllib.parse.quote(s)) as r:
...   q=r.read()
...
>>> u=json.loads(q)["result"]
>>> webbrowser.open(h+"#"+urllib.parse.quote(u))
>>> print(u)

とやれば、python3からブラウザが起動してきて、「Those who labour with their minds rule others」をUDPipeが係り受け解析した結果を、グラフ表示するはずである。あるいは、UDPipeの日本語モデルなら

% python3
>>> import urllib.parse,urllib.request,json,webbrowser
>>> h="http://kanji.zinbun.kyoto-u.ac.jp/~yasuoka/kyodokenkyu/ud-kanbun/conllusvg/viewer.svg"
>>> ja="http://lindat.mff.cuni.cz/services/udpipe/api/process?model=japanese&tokenizer&tagger&parser"
>>> s="心を労する者は人を治める"
>>> with urllib.request.urlopen(ja+"&data="+urllib.parse.quote(s)) as r:
...   q=r.read()
...
>>> u=json.loads(q)["result"]
>>> webbrowser.open(h+"#"+urllib.parse.quote(u))
>>> print(u)

とやれば、「心を労する者は人を治める」をUDPipeが係り受け解析してグラフ表示する。各モデルをインストールする手間が要らないので、かなりお手軽だし、UDPipeの方がStanfordNLPより解析精度が高そうだ、というのが私(安岡孝一)個人の感触だったりする。

ただ、文章が長くなると、UDPipeや「SVGによるUniversal Dependencies可視化ツール」への受け渡しの限界を超えてしまう。まあ、URLで渡している以上、どうにもならないのだが、これらを一体化したUDPipe Visualizerも以前に作ってみたので、よければ試してみてほしい。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
  • by ntm055 (48701) on 2019年02月14日 1時58分 (#3564605)
    今さらなんですが「÷」を除算記号として使っている国々を読んだのですが、気になったのでコメントしました(笑) 電卓を見たことがない人でも、iPhoneやandroidなどのスマホの電卓でも、ストアのアプリの電卓でも除算記号は100%÷ですよね(笑)なので÷を見たことがない人なんてまずいないんじゃないかとw おそらくタイトルで「日本だけ」なんてつければアクセス数が伸びるからという理由じゃないかと思います、大概こういう「日本だけ」というような記事は事実でないことが多いんですよねw
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...