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

yasuokaの日記: Re: COMBO-pytorchのアイスランド語係り受け解析をGoogle Colaboratoryで動かす

日記 by yasuoka

COMBO-pytorchがpython 3.10サポートを断念した、との御連絡をいただいた。現在のGoogle Colaboratoryはpython 3.10なので、非常に残念ではあるのだが、それでも何とか動かす方法を教示いただいたので、ざっと紹介しておこう。

import sys
v=".".join(sys.version.split(".")[0:2])
!apt install python3.8 python3.8-dev python3.8-distutils
!update-alternatives --remove-all python3
!update-alternatives --install /usr/bin/python3 python3 /usr/bin/python{v} 1
!update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
!apt install python3-pip
!python3 -m pip install -U pip
!test -d /usr/local/lib/python3.8/dist-packages/lambo || pip install git+https://gitlab.clarin-pl.eu/syntactic-tools/lambo deplacy
!test -d /usr/local/lib/python3.8/dist-packages/combo || pip install --index-url https://pypi.clarin-pl.eu/simple combo
!python3.8 -m spacy download en_core_web_sm
!echo 1 | update-alternatives --config python3
!pip install deplacy
import subprocess
nlp=lambda t:subprocess.run(["python3.8","-c","\n".join(["from combo.predict import COMBO","n=COMBO.from_pretrained('icelandic-ud27')","import deplacy","print(deplacy.to_conllu(n(input())),end='')"])],input=t,stdout=subprocess.PIPE,encoding="utf-8").stdout
doc=nlp("Hugsjónina sakar ekkert þótt einstaklíngarnir deyi eða svíki.")
import deplacy
deplacy.render(doc)
deplacy.serve(doc,port=None)

「Hugsjónina sakar ekkert þótt einstaklíngarnir deyi eða svíki.」を係り受け解析してみたところ、私(安岡孝一)の手元では以下の結果になった。

Hugsjónina       NOUN  <════════════╗ nsubj
sakar            VERB  ═╗═════════╗═╝ root
ekkert           DET   <╝         ║   obj
þótt             ADP   <════════╗ ║   case
einstaklíngarnir NOUN  <══════╗ ║ ║   nsubj
deyi             VERB  ═════╗═╝═╝<╝   obl
eða              CCONJ <╗   ║         cc
svíki            VERB  ═╝═╗<╝         conj
.                PUNCT <══╝           punct

1    Hugsjónina    hugsjón    NOUN    NS-A    Case=Nom|Definite=Def|Gender=Fem|Number=Plur    2    nsubj    _    _
2    sakar    saka    VERB    VBPI    Mood=Ind|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act    0    root    _    _
3    ekkert    enginn    DET    Q-A    Case=Acc|Gender=Neut|Number=Sing|PronType=Ind    2    obj    _    _
4    þótt    þótt    ADP    P    _    6    case    _    _
5    einstaklíngarnir    einstaklíngir    NOUN    NS-N    Case=Nom|Definite=Def|Gender=Masc|Number=Plur    6    nsubj    _    _
6    deyi    deyja    VERB    VBPS    Mood=Sub|Number=Plur|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act    2    obl    _    _
7    eða    eða    CCONJ    CONJ    _    8    cc    _    _
8    svíki    svíkja    VERB    VBPS    Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin|Voice=Act    6    conj    _    _
9    .    .    PUNCT    .    _    8    punct    _    _

SVGで可視化すると、こんな感じ2021年1月22日の日記とほぼ同じ結果になっていて、ある意味、安定しているのだが、今後COMBO-pytorchがAllenNLPと決別すると、どうなるかわからない。まあ、新しいCOMBO-pytorchが出てくるのを、じっと待つことにしよう。

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

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...