yasuokaの日記: 「あなたはかならずやこの先の世の中で歌の名人でいらっしゃるに違いない上に、このように師弟の約束をされたので申すのです。」における係り受け
昨日の日記の続きだが、ではspaCy-SynChaは「あなたはかならずやこの先の世の中で歌の名人でいらっしゃるに違いない上に、このように師弟の約束をされたので申すのです。」を、どう係り受け解析するのか。Google Colaboratoryで試してみよう。
!apt install mecab libmecab-dev mecab-ipadic-utf8 lp-solve
!test -f crfpp.tar.gz || curl -L 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7QVR6VXJ5dWExSTQ' -o crfpp.tar.gz
!test -d CRF++-0.58 || ( tar xzf crfpp.tar.gz && cd CRF++-0.58 && ./configure --prefix=/usr && make install )
!curl -sc cabocha.cookie 'https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7SDd1Q1dUQkZQaUU' > /dev/null
!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 || curl -L 'https://drive.google.com/uc?export=download&id=0B4wOZ_esMVcMazQ0eGdtMnBCaWs' -o syncha.tar.gz
!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 )
!pip install spacy_syncha
import spacy_syncha
nlp=spacy_syncha.load()
doc=nlp("あなたはかならずやこの先の世の中で歌の名人でいらっしゃるに違いない上に、このように師弟の約束をされたので申すのです。")
import deplacy
deplacy.render(doc,Japanese=True)
from deplacy.deprelja import deprelja
for b in spacy_syncha.bunsetu_spans(doc):
for t in b.lefts:
print(spacy_syncha.bunsetu_span(t),"->",b,"("+deprelja[t.dep_]+")")
私(安岡孝一)の手元では、以下の結果になった。
あなた PRON ═╗<══════════════════╗ nsubj(主語)
は ADP <╝ ║ case(格表示)
かならずや ADV <══════════╗ ║ advmod(連用修飾語)
この DET <══╗ ║ ║ det(決定詞)
先 NOUN ═╗═╝<╗ ║ ║ nmod(体言による連体修飾語)
の ADP <╝ ║ ║ ║ case(格表示)
世の中 NOUN ═╗═══╝<══╗ ║ ║ obl(斜格補語)
で ADP <╝ ║ ║ ║ case(格表示)
歌 NOUN ═╗<╗ ║ ║ ║ nmod(体言による連体修飾語)
の ADP <╝ ║ ║ ║ ║ case(格表示)
名人 NOUN ═╗═╝<══╗ ║ ║ ║ advcl(連用修飾節)
で AUX <╝ ║ ║ ║ ║ cop(繫辞)
いらっしゃる VERB ═╗═╗═╗═╝═╝═╝<╗ ║ acl(連体修飾節)
に ADP <╝ ║ ║ ║ ║ mark(標識)
違い ADP <══╝ ║ ║ ║ mark(標識)
ない AUX <════╝ ║ ║ aux(動詞補助成分)
上 NOUN ═╗═══════════╝═╗<╗ ║ obl(斜格補語)
に ADP <╝ ║ ║ ║ case(格表示)
、 PUNCT <══════════════╝ ║ ║ punct(句読点)
この DET <╗ ║ ║ compound(複合)
よう AUX ═╝═╗<════╗ ║ ║ aux(動詞補助成分)
に ADP <══╝ ║ ║ ║ case(格表示)
師弟 NOUN ═╗<╗ ║ ║ ║ obj(目的語)
の ADP <╝ ║ ║ ║ ║ case(格表示)
約束 NOUN ═╗═╝<══╗ ║ ║ ║ obj(目的語)
を ADP <╝ ║ ║ ║ ║ case(格表示)
さ VERB ═╗═╗═╗═╝═╝═══════╝<╗ ║ advcl(連用修飾節)
れ AUX <╝ ║ ║ ║ ║ aux(動詞補助成分)
た AUX <══╝ ║ ║ ║ aux(動詞補助成分)
ので CCONJ <════╝ ║ ║ mark(標識)
申す VERB ═╗═╗═══════════════╝═╝═╗ ROOT(親)
の ADP <╝ ║ ║ mark(標識)
です AUX <══╝ ║ aux(動詞補助成分)
。 PUNCT <══════════════════════╝ punct(句読点)
この -> 先の (決定詞)
先の -> 世の中で (体言による連体修飾語)
歌の -> 名人で (体言による連体修飾語)
かならずや -> いらっしゃるに違いない (連用修飾語)
世の中で -> いらっしゃるに違いない (斜格補語)
名人で -> いらっしゃるに違いない (連用修飾節)
いらっしゃるに違いない -> 上に、 (連体修飾節)
師弟の -> 約束を (目的語)
上に、 -> されたので (斜格補語)
このように -> されたので (動詞補助成分)
約束を -> されたので (目的語)
あなたは -> 申すのです。 (主語)
されたので -> 申すのです。 (連用修飾節)
spaCy-SynChaは「いらっしゃるに違いない」を1文節だとみなしていて、「かならずや」は「いらっしゃるに違いない」に係っている。「あなたは」の係り受けが変な点も含め、まあ、spaCy-SynChaは以下の問題に、そもそも答えられないということだろう。
「かならずや」とあるが、この言葉が直接かかるのは、次のうちのどれか。
ア 名人で
イ いらっしゃるに
ウ 違いない
エ 申すのです
以前、「毎日、友だちといっしょに校庭を走る。」の「毎日、」は、どこに係っているのかでも書いたのだが、係り受けの曖昧さというものを、どうも東京都教育委員会(の国語の関係者)は理解していないフシがある。ただ、それに振り回される東京都の小中学生は、非常に不幸だと私個人は思うのだが。
「あなたはかならずやこの先の世の中で歌の名人でいらっしゃるに違いない上に、このように師弟の約束をされたので申すのです。」における係り受け More ログイン