yasuokaの日記: 「望遠鏡で泳ぐ彼女を見た」の直接構成鎖解析木をGraphvizで可視化する
6月3日の日記に続いて、「望遠鏡で泳ぐ彼女を見た」の直接構成鎖解析木を、Graphvizで書いてみることにした。まずは「望遠鏡で泳ぐ彼女を見た」のUniversal Dependenciesに、構成鎖不可分性(catena inseparability)を付与してみよう。
# catena_inseparability = 6<1<4<7<2<3<5
1 望遠鏡 望遠鏡 NOUN _ _ 6 obl _ SpaceAfter=No
2 で で ADP _ _ 1 case _ SpaceAfter=No
3 泳ぐ 泳ぐ VERB _ _ 4 acl _ SpaceAfter=No
4 彼女 彼女 PRON _ _ 6 obj _ SpaceAfter=No
5 を を ADP _ _ 4 case _ SpaceAfter=No
6 見 見る VERB _ _ 0 root _ SpaceAfter=No
7 た た AUX _ _ 6 aux _ SpaceAfter=No
これの直接構成鎖解析木を、DOTで書いてみると、以下のようになる。
digraph G{
root[shape=plaintext];
root->c6;
c6[shape=plaintext,label="望遠鏡で泳ぐ彼女を見た"];
c6->c1[label="obl"];
c1[shape=plaintext,label="望遠鏡で"];
c6->x1;
x1[shape=plaintext,label="泳ぐ彼女を見た"];
x1->c4[label="obj"];
c4[shape=plaintext,label="泳ぐ彼女を"];
x1->x4;
x4[shape=plaintext,label="見た"];
c1->w1;
w1[shape=record,label="{NOUN|望遠鏡}"];
c1->w2[label="case"];
w2[shape=record,label="{ADP|で}"];
c4->w3[label="acl"];
w3[shape=record,label="{VERB|泳ぐ}"];
c4->x3;
x3[shape=plaintext,label="彼女を"];
x3->w4;
w4[shape=record,label="{PRON|彼女}"];
x3->w5[label="case"];
w5[shape=record,label="{ADP|を}"];
x4->w6;
w6[shape=record,label="{VERB|見}"];
x4->w7[label="aux"];
w7[shape=record,label="{AUX|た}"];
{rank=source;root}
{rank=sink;w1;w2;w3;w4;w5;w6;w7}
}
Graphviz Onlineでみると、こんな感じ。まあ、日本語の構文木としては、ごく普通のものに見える。この直接構成鎖解析木を、元の文から自動生成できればいいわけだが、さて、どういう風にすればいいかな。
「望遠鏡で泳ぐ彼女を見た」の直接構成鎖解析木をGraphvizで可視化する More ログイン