yasuokaの日記: 多言語係り受け解析ツールとしてのCamphr-Udify 2
PKSHA Technologyが自然言語処理ライブラリCamphrをリリースしたので、試しに使ってみることにした。CamphrはspaCy上の多言語ライブラリで、pip3とpython3があれば
$ pip3 install https://github.com/PKSHATechnology-Research/camphr_models/releases/download/0.5/ja_mecab_udify-0.5.tar.gz
$ pip3 install mecab-python3 --only-binary :all:
でインストールできる。中でもCamphr-Udifyは、ざっと見た感じでも日本語・英語・フランス語・ドイツ語・スペイン語・ポルトガル語・イタリア語・オランダ語・ギリシャ語・チェコ語・ロシア語などに対応していて、本気の多言語対応だったりする。とりあえず、日本語「笑顔で彼は座った」・英語「He sat down with smiling face」・ポルトガル語「Ele se sentou com um sorriso no rosto」を、一度に係り受け解析してみよう。
$ python3
>>> import spacy
>>> ud=spacy.load("ja_mecab_udify")
>>> for r in ["笑顔で彼は座った","He sat down with smiling face","Ele se sentou com um sorriso no rosto"]:
... s=ud(r)
... print("".join("\t".join([str(t.i+1),t.orth_,t.lemma_,t.pos_,t.tag_,"_",str(0 if t.head==t else t.head.i+1),t.dep_,"_","_" if t.whitespace_ else "SpaceAfter=No"])+"\n" for t in s))
...
1 笑顔 笑顔 NOUN 名詞,一般,*,* _ 5 obl _ SpaceAfter=No
2 で で ADP 助詞,格助詞,一般,* _ 1 case _ SpaceAfter=No
3 彼 彼 PRON 名詞,代名詞,一般,* _ 5 nsubj _ SpaceAfter=No
4 は は ADP 助詞,係助詞,*,* _ 3 case _ SpaceAfter=No
5 座っ 座る VERB 動詞,自立,*,* _ 0 root _ SpaceAfter=No
6 た た AUX 助動詞,*,*,* _ 5 aux _ SpaceAfter=No
1 He he PRON 名詞,固有名詞,組織,* _ 2 nsubj _ _
2 sat sit VERB 名詞,一般,*,* _ 0 root _ _
3 down down ADV 名詞,一般,*,* _ 2 advmod _ _
4 with with ADP 名詞,一般,*,* _ 6 case _ _
5 smiling smil VERB 名詞,一般,*,* _ 6 amod _ _
6 face face NOUN 名詞,固有名詞,組織,* _ 2 obl _ SpaceAfter=No
1 Ele _ PRON 名詞,固有名詞,組織,* _ 3 nsubj _ _
2 se _ PRON 名詞,一般,*,* _ 3 obj _ _
3 sentou sentar VERB 名詞,一般,*,* _ 0 root _ _
4 com _ ADP 名詞,一般,*,* _ 6 case _ _
5 um _ DET 名詞,一般,*,* _ 6 det _ _
6 sorriso sorriso NOUN 名詞,一般,*,* _ 3 nmod _ _
7 no _ ADP 名詞,一般,*,* _ 8 case _ _
8 rosto rosto NOUN 名詞,固有名詞,組織,* _ 6 nmod _ SpaceAfter=No
日本語「英語で彼は座った」については、係り受けも含め、完璧に読めている。英語はtag_品詞がおかしいものの、まずまず読めているようだ。ポルトガル語はtag_品詞がおかしい上に、sorrisoにnmodが刺さっていて、今一つのデキである。でも、私(安岡孝一)個人としては、古典中国語(漢文)や現代中国語もサポートしてほしいなぁ。
漢文は無理ですが,現代中国語は対応しています (スコア:1)
Re:漢文は無理ですが,現代中国語は対応しています (スコア:2)
さっそく今日の私(安岡孝一)の日記 [srad.jp]で試してみました。よければ御覧ください。