一昨日の記事の例文に対応する「Мамо не тримай в собі」を、Stanzaの助けを借りて、ウクライナ語Universal Dependenciesで解析してみた。Google Colaboratoryだとこんな感じ。
!pip install stanza deplacy
import stanza
nlp=stanza.Pipeline("uk")
doc=nlp("Мамо не тримай в собі")
import deplacy
deplacy.serve(doc,port=None)
私(安岡孝一)の手元では、以下の結果が出力された。
# text = Мамо не тримай в собі
# sent_id = 0
1 Мамо мама NOUN Ncfsvy Animacy=Anim|Case=Voc|Gender=Fem|Number=Sing 3 vocative _ start_char=0|end_char=4|ner=O
2 не не PART Q Polarity=Neg 3 advmod _ start_char=5|end_char=7|ner=O
3 тримай тримати VERB Vmpm-2s Aspect=Imp|Mood=Imp|Number=Sing|Person=2|VerbForm=Fin 0 root _ start_char=8|end_char=14|ner=O
4 в в ADP Spsl Case=Loc 5 case _ start_char=15|end_char=16|ner=O
5 собі себе PRON Px-----ln Case=Loc|PronType=Prs|Reflex=Yes 3 obl _ start_char=17|end_char=21|ner=O|SpaceAfter=No
ウクライナ語は呼格が比較的ハッキリした言語なので、vocativeを解析しやすい。この文でも「мамo」が「мама」の呼格なので、迷うことなくvocativeが繋がれている。こういうのを、タイ語あるいは他の言語でもうまく出来ればいいのだけど、なかなか難しいなあ。