
yasuokaの日記: Re: Malayaのマレー語係り受け解析をGoogle Colaboratoryで動かす
昨日の日記で紹介したMalayaだが、マレー語の係り受け解析と品詞付与を同時に動かしてみた。
!pip install deplacy malaya
import malaya
tokenizer=malaya.preprocessing.SocialTokenizer()
tagger=malaya.pos.transformer()
parser=malaya.dependency.transformer()
def nlp(t):
s=" ".join(tokenizer.tokenize(t))
d,g,h=parser.predict(s)
for i,(w,p) in enumerate(tagger.predict(s)):
d.nodes[i+1]["ctag"]=p
return d.to_conll(10)
doc=nlp("Di atas langit masih ada langit.")
import deplacy
deplacy.render(doc)
deplacy.serve(doc,port=None)
「Di atas langit masih ada langit.」を解析してみたところ、私(安岡孝一)の手元では、以下の結果になった。
Di ADP <══╗ case
atas NOUN ═╗═╝<══╗ obl
langit NOUN <╝ ║ nmod
masih ADV <════╗ ║ advmod
ada VERB ═══╗═╝═╝ root
langit NOUN ═╗<╝ obj
. PUNCT <╝ punct
1 Di _ ADP _ _ 2 case _ _
2 atas _ NOUN _ _ 5 obl _ _
3 langit _ NOUN _ _ 2 nmod _ _
4 masih _ ADV _ _ 5 advmod _ _
5 ada _ VERB _ _ 0 root _ _
6 langit _ NOUN _ _ 5 obj _ _
7 . _ PUNCT _ _ 6 punct _ _
SVGで可視化すると、こんな感じ。ただ、このMalayaのマレー語係り受け解析は、実行するたびに結果が変わる気がする。Google Colaboratoryのこのページに、「dengan Malaya」という形で実行環境を準備したので、Google IDをお持ちの方は試してみてほしい。
Re: Malayaのマレー語係り受け解析をGoogle Colaboratoryで動かす More ログイン