yasuokaの日記: Malayaのマレー語係り受け解析をGoogle Colaboratoryで動かす
Malaya 4.0.5がリリースされた、との連絡をいただいた。Malayaは、マレー語の言語解析モジュールで、品詞付与や係り受け解析なんかにも使える。とりあえず、Google Colaboratoryで、Malayaの係り受け解析モジュールをdeplacyに繫いでみよう。
!pip install deplacy malaya
import malaya
tokenizer=malaya.preprocessing.SocialTokenizer()
parser=malaya.dependency.transformer()
d,t,i=parser.predict(" ".join(tokenizer.tokenize("Di atas langit masih ada langit.")))
doc=d.to_conll(10)
import deplacy
deplacy.render(doc)
deplacy.serve(doc,port=None)
「Di atas langit masih ada langit.」を係り受け解析してみたところ、私(安岡孝一)の手元では、以下の結果になった。
Di <══╗ case
atas ═╗═╝<══╗ obl
langit <╝ ║ nmod
masih <════╗ ║ advmod
ada ═══╗═╝═╝ root
langit ═╗<╝ obj
. <╝ punct
1 Di _ _ _ _ 2 case _ _
2 atas _ _ _ _ 5 obl _ _
3 langit _ _ _ _ 2 nmod _ _
4 masih _ _ _ _ 5 advmod _ _
5 ada _ _ _ _ 0 root _ _
6 langit _ _ _ _ 5 obj _ _
7 . _ _ _ _ 6 punct _ _
SVGで可視化すると、こんな感じ。ちなみに品詞付与は、以下の手順で出来る。
!pip install malaya
import malaya
tokenizer=malaya.preprocessing.SocialTokenizer()
tagger=malaya.pos.transformer()
p=tagger.predict(" ".join(tokenizer.tokenize("Di atas langit masih ada langit.")))
print(p)
私の手元では、以下の結果になった。
[('Di', 'ADP'), ('atas', 'NOUN'), ('langit', 'NOUN'), ('masih', 'ADV'), ('ada', 'VERB'), ('langit', 'NOUN'), ('.', 'PUNCT')]
ふーむ、この2つを合わせればいいのだろうけど、さて、どうしようかな。
Malayaのマレー語係り受け解析をGoogle Colaboratoryで動かす More ログイン