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

yasuokaの日記: Malayaのマレー語係り受け解析をGoogle Colaboratoryで動かす

日記 by yasuoka

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つを合わせればいいのだろうけど、さて、どうしようかな。

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

身近な人の偉大さは半減する -- あるアレゲ人

読み込み中...