yasuokaの日記: SynChaをGoogle Colaboratoryで動かすには
4月28日の日記の読者から、SynChaの解析結果ならどうだろう、との御相談をいただいた。SynChaはCaboChaの係り受け解析結果の上で、述語項構造解析(ガ格/ヲ格/ニ格)をおこなうものだが、Universal Dependenciesの出力モードは無い。とりあえず、「私と彼女が行きます」の解析結果を、Google Colaboratoryで眺めてみることにした。
!apt install mecab libmecab-dev mecab-ipadic-utf8 lp-solve
!test -f crfpp.tar.gz || wget -O crfpp.tar.gz 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7QVR6VXJ5dWExSTQ'
!test -d CRF++-0.58 || ( tar xzf crfpp.tar.gz && cd CRF++-0.58 && ./configure --prefix=/usr && make install )
!rm -f cabocha.cookie ; curl -sc cabocha.cookie 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7SDd1Q1dUQkZQaUU'
!test -f cabocha.tar.bz2 || curl -Lb cabocha.cookie 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7SDd1Q1dUQkZQaUU&confirm='`tr -d '\015' < cabocha.cookie | awk '/_warning_/{print $NF}'` -o cabocha.tar.bz2
!test -d cabocha-0.69 || ( tar xjf cabocha.tar.bz2 && cd cabocha-0.69 && ./configure --prefix=/usr --with-charset=UTF8 && make install )
!test -f syncha.tar.gz || wget -O syncha.tar.gz 'https://drive.google.com/uc?export=download&id=0B4wOZ_esMVcMazQ0eGdtMnBCaWs'
!test -d syncha-0.3.1.1 || ( tar xzf syncha.tar.gz && echo 'exec /content/syncha-0.3.1.1/syncha "$@"' > /usr/bin/syncha && chmod 755 /usr/bin/syncha )
!echo 私と彼女が行きます | syncha -n 0
私(安岡孝一)の手元では、以下の結果が得られた。
* 0 2D 0/1
私 名詞,代名詞,一般,*,,,私,ワタシ,ワタシ,, O id="1"
と 助詞,格助詞,一般,*,,,と,ト,ト,, O
* 1 2D 0/1
彼女 名詞,代名詞,一般,*,,,彼女,カノジョ,カノジョ,, O id="2"
が 助詞,格助詞,一般,*,,,が,ガ,ガ,, O
* 2 -1D 0/1 0.000000
行き 動詞,自立,*,*,五段・カ行促音便,連用形,行く,イキ,イキ,, O ga="2" ni="1" type="pred"
ます 助動詞,*,*,*,特殊・マス,基本形,ます,マス,マス,, O
EOS
EOT
ここで仮に、ガ格をnsubj、ヲ格をobj、ニ格をiobjで表すことにすると、上の結果は「私と⇐iobj=行きます」「彼女が⇐nsubj=行きます」とみなせる。deplacyっぽく書くなら、以下の通り。
私 ═╗<══╗ iobj(間接目的語)
と <╝ ║ case(格表示)
彼女 ═╗<╗ ║ nsubj(主語)
が <╝ ║ ║ case(格表示)
行き ═╗═╝═╝ root(親)
ます <╝ aux(動詞補助成分)
ふーむ、これなら何とかspaCyと繫げるかな。ただ、SynChaは本来、文をまたいだ格解析がおこなえる(-nオプション)のだが、さて、それはどうしよう。
SynChaをGoogle Colaboratoryで動かすには More ログイン