パスワードを忘れた? アカウント作成
14303404 journal
Google

yasuokaの日記: CLASSLAのセルビア語係り受け解析をGoogle Colaboratoryで動かす

日記 by yasuoka

一昨日の日記で紹介したCLASSLAを使って、セルビア語の係り受け解析に挑戦してみた。ただ、言語モデルのダウンロードに時間がかかるので、Google Colaboratoryを使ってみることにした

!pip install classla deplacy
import classla
classla.download("sr",resource_dir="/root/classla_resources",force=True)
nlp=classla.Pipeline("sr")
doc=nlp("Da ima sira i masla i moja bi mati znala gibati gibanicu.")
import deplacy
deplacy.render(doc)
deplacy.serve(doc,port=None)

「Da ima sira i masla i moja bi mati znala gibati gibanicu.」を解析してみたところ、私(安岡孝一)の手元では以下の結果と、こんな感じのSVGが出力された。

Da       SCONJ <══════╗       mark
ima      VERB  ═════╗═╝═════╗ root
sira     NOUN  ═══╗<╝       ║ obj
i        CCONJ <╗ ║         ║ cc
masla    NOUN  ═╝<╝         ║ conj
i        CCONJ <════════╗   ║ cc
moja     DET   <╗       ║   ║ det
bi       AUX    ║<════╗ ║   ║ aux
mati     NOUN  ═╝<══╗ ║ ║   ║ nsubj
znala    VERB  ═══╗═╝═╝═╝═╗<╝ conj
gibati   VERB  ═╗<╝       ║   xcomp
gibanicu NOUN  <╝         ║   obj
.        PUNCT <══════════╝   punct

# newpar id = 1
# sent_id = 1.1
# text = Da ima sira i masla i moja bi mati znala gibati gibanicu.
1    Da    da    SCONJ    Cs    _    2    mark    _    NER=O
2    ima    imati    VERB    Vmr3s    Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin    0    root    _    NER=O
3    sira    sir    NOUN    Ncmsg    Case=Acc|Gender=Masc|Number=Sing    2    obj    _    NER=O
4    i    i    CCONJ    Cc    _    5    cc    _    NER=O
5    masla    maslo    NOUN    Ncmsg    Case=Gen|Gender=Masc|Number=Sing    3    conj    _    NER=O
6    i    i    CCONJ    Cc    _    10    cc    _    NER=O
7    moja    moj    DET    Ps1fsn    Case=Nom|Gender=Fem|Number=Sing|Number[psor]=Plur|Person=1|Poss=Yes|PronType=Prs    9    det    _    NER=O
8    bi    biti    AUX    Vaa3s    Mood=Cnd|Number=Sing|Person=3|Tense=Past|VerbForm=Fin    10    aux    _    NER=O
9    mati    mati    NOUN    Ncfsn    Case=Nom|Gender=Fem|Number=Sing    10    nsubj    _    NER=O
10    znala    znati    VERB    Vmp-sf    Gender=Fem|Number=Sing|Tense=Past|VerbForm=Part|Voice=Act    2    conj    _    NER=O
11    gibati    gibati    VERB    Vmn    VerbForm=Inf    10    xcomp    _    NER=O
12    gibanicu    gibanica    NOUN    Ncfsa    Case=Acc|Gender=Fem|Number=Sing    11    obj    _    NER=O|SpaceAfter=No
13    .    .    PUNCT    Z    _    10    punct    _    NER=O

完璧だ。「moja」⇐det=「mati」と「bi」⇐aux=「znala」の係り受けが交差していて、非常に素晴らしい。ただ、CLASSLAのセルビア語モデルは、ラテン文字に限定されているらしく、キリル文字は使えない。キリル文字の「Да има сира и масла и моја би мати знала гибати гибаницу.」を係り受け解析する場合は、srtoolsか何かでラテン文字に変換するか、あるいはCamphr-Udifyを使う方がいいだろう。

この議論は、yasuoka (21275)によって「 ログインユーザだけ」として作成されている。 ログインしてから来てね。
typodupeerror

UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie

読み込み中...