yasuokaの日記: 「これが僕は正しいと思う」の直接構成鎖解析木をGraphvizで可視化する
昨日の日記を読みつつ、直接構成鎖解析木に交差が起こる場合も考えてみることにした。『Universal Dependenciesの拡張にもとづく古典中国語(漢文)の直接構成鎖解析の試み』の付録で例に挙げた「これが僕は正しいと思う」を、少し考えてみよう。
# catena_inseparability = 7<3<5<4<6<1<2
1 これ これ PRON NP _ 5 nsubj _ SpaceAfter=No
2 が が ADP PS _ 1 case _ SpaceAfter=No
3 僕 僕 PRON NP _ 7 nsubj _ SpaceAfter=No
4 は は ADP PK _ 3 case _ SpaceAfter=No
5 正しい 正しい ADJ JJ _ 7 ccomp _ SpaceAfter=No
6 と と ADP PQ _ 5 mark _ SpaceAfter=No
7 思う 思う VERB VV _ 0 root _ SpaceAfter=No
端的には、「これ」←nsubj─「正しい」という係り受けと、「僕」←nsubj─「思う」という係り受けが、交差してしまっている例である。昨日の例と同様の手順で、直接構成鎖解析木をDOTで書くと、以下のようになる。
digraph Immediate_Catena_Tree{
node[shape=box];edge[color=gray,fontname="sans-serif",fontsize=10];
root[shape=plaintext,fontname="sans-serif",fontsize=10,fixedsize=true,height=0.1];
w[shape=record,label="{<1>PRON|これ}|{<2>ADP|が}|{<3>PRON|僕}|{<4>ADP|は}|{<5>ADJ|正しい}|{<6>ADP|と}|{<7>VERB|思う}"];
root->c7;c7[label="これが僕は正しいと思う"];
c7->c3[label="nsubj"];c3[label="僕は"];
c7->x3;x3[label="これが正しいと思う"];
x3->c5[label="ccomp"];c5[label="これが正しいと"];
x3->w:7;
c3->w:4[label="case"];
c3->w:3;
c5->w:6[label="mark"];
c5->x6;x6[label="これが正しい"];
x6->c1[label="nsubj"];c1[label="これが"];
x6->w:5;
c1->w:2[label="case"];
c1->w:1;
}
Graphviz Onlineで見ると、こんな感じ。dotを描画エンジンに使うと、いい感じで交差が描けているように思う。ただ、構文解析木に交差を許すかどうかは、それはそれでまた議論のある世界らしいので、どう実装していくべきか、私(安岡孝一)としては悩ましい。どうするのがいいかなぁ…。
「これが僕は正しいと思う」の直接構成鎖解析木をGraphvizで可視化する More ログイン