wikipedia二分木検索例の出力の冒頭文がおかしい。つまりこんな風になっている。
wiki_1_line_3385_2: ロボットは/いわゆる脳を持た関わらないにもずまるで/生きているかのように行動する//
「持たないにも関わらず」が「持た関わらないにもず」になっている。この原因は、この行の二分木が、
jawiki(wiki_1_line_3385_0, node(の, node([], node(と, node([], node(に, これ, [基づいた, 基づく] ), ゲンギス ), [[呼ば, 呼ぶ], れる] ), [[[六, 数量], 本], [足, '動物-部位']] ), node(は, [ロボット, '人工物-その他'], node(を, node(いわゆる, [], [脳, '動物-部位'] ), node('にもず', [[[持た, 持つ], ない], [関わら, 関わる]], node('か|の', node([], まるで, [[生きて, 生きる], いる] ), node(に, よう, node([], [[行動, 抽象物], する], [ ] ) ) ) ) ) ) ) ).
という感じで、nodeの語が「にもず」になっているからだ。その理由は、knpの出力にまで遡る。その該当箇所のknpの出力は、
* 12D <否定表現><モ><ニ><読点><助詞><〜ない><〜ぬ><用言:動><係:連用><レベル:B><区切:3-5><ID:〜にもかかわらず><連用要素><連用節><動態述語><正規化代表表記:持つ/もつ><主辞代表表記:持つ/もつ> + 13D <否定表現><モ><ニ><読点><助詞><〜ない><〜ぬ><用言:動><係:連用><レベル:B><区切:3-5><ID:〜にもかかわらず><連用要素><連用節><動態述語><正規化代表表記:持つ/もつ><用言代表表記:持つ/もつ><時制-未来><格関係8:ヲ:脳><格解析結果:持つ/もつ:動3:ガ/U/-/-/-/-;ヲ/C/脳/8/0/1;ニ/U/-/-/-/-;デ/U/-/-/-/-;ヨリ/U/-/-/-/-;マデ/U/-/-/-/-;時間/U/-/-/-/-;外の関係/U/-/-/-/-;ノ/U/-/-/-/-;修飾/U/-/-/-/-;トスル/U/-/-/-/-;ニオク/U/-/-/-/-;ニツク/U/-/-/-/-;ニカンスル/U/-/-/-/-> 持た もた 持つ 動詞 2 * 0 子音動詞タ行 6 未然形 3 "代表表記:持つ/もつ" <代表表記:持つ/もつ><正規化代表表記:持つ/もつ><かな漢字><活用語><自立><内容語><タグ単位始><文節始><文節主辞> ない ない ない 接尾辞 14 形容詞性述語接尾辞 5 イ形容詞アウオ段 18 基本形 2 "代表表記:ない/ない" <代表表記:ない/ない><正規化代表表記:ない/ない><かな漢字><ひらがな><活用語><否定><付属> に に に 助詞 9 格助詞 1 * 0 * 0 NIL <かな漢字><ひらがな><付属> も も も 助詞 9 副助詞 2 * 0 * 0 NIL <かな漢字><ひらがな><付属> 関わら かかわら 関わる 動詞 2 * 0 子音動詞ラ行 10 未然形 3 "代表表記:係わる/かかわる" <代表表記:係わる/かかわる><正規化代表表記:係わる/かかわる><かな漢字><活用語><付属> ず ず ぬ 助動詞 5 * 0 助動詞ぬ型 27 基本連用形 4 NIL <かな漢字><ひらがな><活用語><付属>
となっている。情報がいっぱい詰まっているが、基本*から始まるのが、一つのフレーズなのだが、ここでは、「持た」という動詞があり、「ないにも」という助詞系の語が続いて、さらに「関わら」という動詞が来て、さらに「ず」という助動詞が来ている。二つのフレーズにして良いものが、一つのフレーズの中に押し込められているのだ。助詞、助動詞はnodeにするというのが、この二分木の原則なので、「ないにも」と「ず」がつなげられてしまうのだ。
「持た」→「ないにも」→「関わら」→「ず」、となっているが、第1と第3の要素はleafになるべきで、第2と第4の要素はnodeになるべき要素なのだが、これらが一つのフレーズなので、leaf要素とnode要素が、それぞれ接合されてしまっているというわけだ。
そこで、面倒だったが、こういう場合には、二つのフレーズに分割するように、二分木を作成するプログラムを改良した。結果、次のように出力するようになった。
jawiki(wiki_1_line_3385_0, node(の, node([], node(と, node([], node(に, これ, [基づいた, 基づく] ), ゲンギス ), [[呼ば, 呼ぶ], れる] ), [[[六, 数量], 本], [足, '動物-部位']] ), node(は, [ロボット, '人工物-その他'], node(を, node(いわゆる, [], [脳, '動物-部位'] ), node(にも, [[持た, 持つ], ない], node(かの, node([], node(ず, [関わら, 関わる], まるで ), [[生きて, 生きる], いる] ), node(に, よう, node([], [[行動, 抽象物], する], [ ] ) ) ) ) ) ) ) ).
少しわかりにくいかもしれないが、「にも」と「ず」が二分木の中で分かれている。これでよし。