UD_Belarusian-HSEを使って、ベラルーシ語品詞付与・係り受け解析モデルdeberta-base-belarusian-uposを試作してみた。UD_Belarusian-HSEには「ZERO WIDTH SPACE」(U+200B)がヤタラメッタラ紛れ込んでいる、という罠があって、正直、トークナイザ泣かせだったりする。でも、ベラルーシ語のUniversal DependenciesコーパスはUD_Belarusian-HSEしかないので、まあ、これで頑張るしかないわけだ。Google Colaboratoryで動かしてみよう。
!pip install esupar
import esupar
nlp=esupar.load("KoichiYasuoka/deberta-base-belarusian-upos")
doc=nlp("Цяпер мора яшчэ можа быць навідавоку")
import deplacy
deplacy.serve(doc,port=None)
「Цяпер мора яшчэ можа быць навідавоку」を係り受け解析してみたところ、私(安岡孝一)の手元では以下の結果が出力された。
1 Цяпер _ ADV _ Degree=Pos 4 advmod _ _
2 мора _ NOUN _ Animacy=Inan|Case=Nom|Gender=Neut|Number=Sing 4 nsubj _ _
3 яшчэ _ ADV _ Degree=Pos 4 advmod _ _
4 можа _ VERB _ Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act 0 root _ _
5 быць _ VERB _ Aspect=Imp|Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Mid 6 cop _ _
6 навідавоку _ ADV _ Degree=Pos 4 xcomp _ SpaceAfter=No
うーん、「быць」がcopだとすると、品詞はVERBよりAUXの方が適切な気がする。さて、対応するオック語の例文でも、copとVERBの関係が問題になっていたし、むしろesuparそのものを、少し改造した方がいいのかな。