yasuokaの日記: Re: COMBO-pytorchのアイスランド語係り受け解析をGoogle Colaboratoryで動かす
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が出てくるのを、じっと待つことにしよう。
Re: COMBO-pytorchのアイスランド語係り受け解析をGoogle Colaboratoryで動かす More ログイン