Tanja Samardžić, Mirjana Starović, Željko Agić, Nikola Ljubešić『Universal Dependencies for Serbian in Comparison with Croatian and Other Slavic Languages』を横目に、セルビア語係り受け解析モデルgpt2-large-serbian-uposを試作してみた。Google Colaboratoryで動かしてみよう。
!pip install esupar
import esupar
nlp=esupar.load("KoichiYasuoka/gpt2-large-serbian-upos")
doc=nlp("Обожаваоци из региона клицали су Ролинг Стоунсима у понедељак у Црној Гори")
import deplacy
deplacy.serve(doc,port=None)
「Обожаваоци из региона клицали су Ролинг Стоунсима у понедељак у Црној Гори」を係り受け解析してみたところ、私(安岡孝一)の手元では以下の結果が出力された。
1 Обожаваоци _ NOUN _ Case=Nom|Gender=Masc|Number=Plur 4 nsubj _ _
2 из _ ADP _ Case=Gen 3 case _ _
3 региона _ NOUN _ Case=Gen|Gender=Masc|Number=Sing 1 nmod _ _
4 клицали _ VERB _ Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part|Voice=Act 0 root _ _
5 су _ AUX _ Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin 4 aux _ _
6 Ролинг _ PROPN _ Case=Dat|Gender=Masc|Number=Sing 4 obj _ _
7 Стонсима _ PROPN _ Case=Dat|Gender=Masc|Number=Plur 6 flat _ _
8 у _ ADP _ Case=Acc 9 case _ _
9 понедељак _ NOUN _ Animacy=Inan|Case=Acc|Gender=Masc|Number=Sing 4 obl _ _
10 у _ ADP _ Case=Loc 12 case _ _
11 Црној _ ADJ _ Case=Loc|Definite=Def|Degree=Pos|Gender=Fem|Number=Sing 12 amod _ _
12 Гори _ PROPN _ Case=Loc|Gender=Fem|Number=Sing 4 obl _ SpaceAfter=No
「Црној」の品詞はPROPNの方が適切な気がするが、まあ元々が形容詞なので仕方ないだろう。「клицати」は本来は自動詞なので、複数与格の「Ролинг Стоунсима」をobjとみなしていいかどうかは議論の余地がある。同じ文のラテン文字表記「Obožavaoci iz regiona klicali su Roling Stounsima u ponedeljak u Crnoj Gori」も、係り受け解析してみよう。
doc=nlp("Obožavaoci iz regiona klicali su Roling Stounsima u ponedeljak u Crnoj Gori")
deplacy.serve(doc,port=None)
私の手元では、以下の結果が出力された。
1 Obožavaoci _ NOUN _ Case=Nom|Gender=Masc|Number=Plur 4 nsubj _ _
2 iz _ ADP _ Case=Gen 3 case _ _
3 regiona _ NOUN _ Case=Gen|Gender=Masc|Number=Sing 1 nmod _ _
4 klicali _ VERB _ Gender=Masc|Number=Plur|Tense=Past|VerbForm=Part|Voice=Act 0 root _ _
5 su _ AUX _ Mood=Ind|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin 4 aux _ _
6 Roling _ PROPN _ Case=Dat|Gender=Masc|Number=Sing 4 obj _ _
7 Stounsima _ PROPN _ Case=Dat|Gender=Masc|Number=Plur 6 flat _ _
8 u _ ADP _ Case=Acc 9 case _ _
9 ponedeljak _ NOUN _ Animacy=Inan|Case=Acc|Gender=Masc|Number=Sing 4 obl _ _
10 u _ ADP _ Case=Loc 12 case _ _
11 Crnoj _ ADJ _ Case=Loc|Definite=Def|Degree=Pos|Gender=Fem|Number=Sing 12 amod _ _
12 Gori _ PROPN _ Case=Loc|Gender=Fem|Number=Sing 4 obl _ SpaceAfter=No
キリル文字とラテン文字とで、全く同じ係り受け構造になっている。まあ、同じになるようトークナイザを頑張って作り込んだので、ある意味うまくいったと言えるだろう。