(57)【要約】【課題】係り受け解析における探索量を削減する。【解決手段】本方法は、（Ａ）文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、第２の文節について、係り元の文節数を増分し、第１の係り受けに対して、第２の文節についての係り元の文節数を含む評価項目に応じた評価値を算出し、（Ｂ）算出された評価値に基づき、第１の係り受けにさらに係り受けを追加して設定するか否かを判断する処理を含む。【選択図】図３
2015060422.tif 000002
【特許請求の範囲】
【請求項１】
文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、
前記第２の文節について、係り元の文節数を増分し、
前記第１の係り受けに対して、前記第２の文節についての前記係り元の文節数を含む評価項目に応じた評価値を算出し、
算出された前記評価値に基づき、前記第１の係り受けにさらに係り受けを追加して設定するか否かを判断する
処理を、コンピュータに実行させるための係り受け解析プログラム。
【請求項２】
前記判断する処理が、
評価値が大きな値の方が良い値の場合には、算出された前記評価値が、前記文において少なくとも最後の文節より２つ手前の文節からの係り受けが設定された場合に算出された最大評価値より大きいという条件、評価値が小さい値の方が良い値の場合には、算出された前記評価値が、前記文において少なくとも最後の文節より２つ手前の文節からの係り受けが設定された場合に算出された最小評価値より小さいという条件を満たすか否かを判断する
処理を含み、
前記条件を満たさないと判断された場合には、前記第１の係り受けに追加される係り受けの設定処理が省略される、
請求項１記載の係り受け解析プログラム。
【請求項３】
前記条件を満たすと判断された場合には、前記文において前記第１の文節の次に出現する第３の文節から第４の文節への係り受けを含む第２の係り受けを設定し、
前記増分する処理以降の処理を、前記第２の係り受けに対して実行する
処理をさらに前記コンピュータに実行させるための請求項２記載の係り受け解析プログラム。
【請求項４】
前記条件を満たさないと判断された場合には、前記第２の文節について、前記係り元の文節数を減分し、
前記第１の文節から前記第２の文節への係り受けを解除し、
前記第１の文節から前記文において前記第１の文節より後ろの第５の文節への係り受けを含む第３の係り受けを設定し、
前記増分する処理以降の処理を、前記第３の係り受けに対して実行する
処理をさらに前記コンピュータに実行させるための請求項２又は３記載の係り受け解析プログラム。
【請求項５】
前記条件を満たすと判断され、且つ前記第１の文節が前記文における最後の文節より２つ手前の文節であれば、算出された前記評価値を、前記最大評価値又は前記最小評価値に設定し、前記現在の係り受けをデータ格納部に格納する
処理をさらに前記コンピュータに実行させるための請求項２乃至４のいずれか１つ記載の係り受け解析プログラム。
【請求項６】
文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、
前記第２の文節について、係り元の文節数を増分し、
前記第１の係り受けに対して、前記第２の文節についての前記係り元の文節数を含む評価項目に応じた評価値を算出し、
算出された前記評価値に基づき、前記第１の係り受けにさらに係り受けを追加して設定するか否かを判断する
処理を含み、
コンピュータにより実行される係り受け解析方法。
【請求項７】
文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、前記第２の文節について、係り元の文節数を増分する係り受け解析部と、
前記第１の係り受けに対して、前記第２の文節についての前記係り元の文節数を含む評価項目に応じた評価値を算出する評価値算出部と、
を有し、
前記係り受け解析部が、
算出された前記評価値に基づき、前記第１の係り受けにさらに係り受けを追加して設定するか否かを判断する
係り受け解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語処理における係り受け解析技術に関する。
【背景技術】
【０００２】
自然言語処理においては、入力として平文が与えられた後、通常まず形態素解析が行われて、当該平文は形態素に分割される。また同時に形態素には品詞が付与される。次に、文節分割が実行される。係り受け解析はその次に行われる処理であり、各文節がどの文節に係るかを決定する。図１に係り受けの例を示す。ここでは「太郎は花子が読んでいる本を次郎に渡した」を、文節Ａ「太郎は」、文節Ｂ「花子が」、文節Ｃ「読んでいる」、文節Ｄ「本を」、文節Ｅ「次郎に」、文節Ｆ「渡した」に分割する。ここで、係り受け解析を行えば、図１に示すように、文節Ａは文節Ｆに係り、文節Ｂは文節Ｃに係り、文節Ｃは文節Ｄに係り、文節Ｄ及び文節Ｅは文節Ｆに係る。
【０００３】
日本語においては、文節は常に文の前から後ろに係る。このため、例えば文節が４の場合であって平文「ＡがＢをＣにＤする」という文の場合、図２に示すような探索木を構築し、各係り受けに対して評価値を与えることになる。図２では、第０の階層として、文節Ａから文節Ｂ、文節Ｃ又は文節Ｄへの係り受けが設けられ、第１の階層として、上記の３つの係り受けの各々について、文節Ｂから、文節Ｃ又は文節Ｄへの係り受けが設けられる。第３の階層として、文節Ｃからの係り受けを設定するが、文節数が４の場合には、文節Ｃから文節Ｄへの係り受けしか存在しないので、この例では第２の階層が末端の階層となる。
【０００４】
そして、点数が高いほど好ましい係り受けであるとすると、図２の例では、文節Ａから文節Ｄへの係り受け、文節Ｂから文節Ｄへの係り受け、文節Ｃから文節Ｄへの係り受けが最も好ましい係り受けと判断される。
【０００５】
従来広く使われてきた係り受け解析ツールにおいては、この探索木の全域を残さず探索するのは計算量的に困難なため、何らかの基準を用いて探索木における枝刈りを行うものが多い。
【０００６】
良く用いられている係り受け解析ツールには、チャンキングの段階的適用という手法を用いているものがあるが、このような手法では探索木における探索量を削減できても、本来探索すべきところを一部のノードしか見ないため、正解ノードを探索対象から外すことがある。すなわち、正解を見落とすリスクを抱えている。このため解析精度がある程度以上は上がらないという欠点がある。
【０００７】
解析精度を上げるには探索木の全域探索を行う方が好ましいが、そのためには探索量の問題を解決することが求められる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１５２６４１号公報
【特許文献２】特許第４５１４８２６号公報
【非特許文献】
【０００９】
【非特許文献１】工藤、松本, 「チャンキングの段階適用による係り受け解析」, 情報処理学会研究報告, 情報学基礎研究会報告, 2001(20), p.97-104, 2001-03-05
【非特許文献２】平川秀樹, 「最適解探索に基づく日本語意味係り受け解析」, 情報処理学会論文誌, 43(3), p.696-707, 2002-03-15
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従って、本発明の目的は、一側面として、係り受け解析における探索量を削減するための技術を提供することである。
【課題を解決するための手段】
【００１１】
本係り受け解析方法は、（Ａ）文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、第２の文節について、係り元の文節数を増分し、第１の係り受けに対して、第２の文節についての係り元の文節数を含む評価項目に応じた評価値を算出し、（Ｂ）算出された評価値に基づき、第１の係り受けにさらに係り受けを追加して設定するか否かを判断する処理を含む。
【発明の効果】
【００１２】
一側面として、係り受け解析における探索量を削減できるようになる。
【図面の簡単な説明】
【００１３】
【図１】図１は、日本語の係り受けの例を示す図である。
【図２】図２は、探索木の一例を示す図である。
【図３】図３は、本実施の形態に係る情報処理装置の機能ブロック図である。
【図４】図４は、本実施の形態に係るメインの処理フローを示す図である。
【図５】図５は、本実施の形態に係る探索処理の処理フローを示す図である。
【図６】図６は、本実施の形態に係る探索処理の処理フローを示す図である。
【図７】図７は、探索処理を説明するための図である。
【図８】図８は、探索処理を説明するための図である。
【図９】図９は、探索処理を説明するための図である。
【図１０】図１０は、探索処理を説明するための図である。
【図１１】図１１は、探索処理を説明するための図である。
【図１２】図１２は、探索処理を説明するための図である。
【図１３】図１３は、探索処理を説明するための図である。
【図１４】図１４は、探索処理を説明するための図である。
【図１５】図１５は、効果を説明するための図である。
【図１６】図１６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１４】
評価関数にある種の属性があるとき、安全な枝刈りが可能になるケースがある。例えば、評価値が「係り受け関係が増えると値が悪化する」ときである。この条件を満たす場合には、一部のみ係り受けが設定されている状態（探索木における中間ノードまで探索した状態）における評価値が、係り受けの設定が完了したもの（探索木の末端ノードまで探索した状態）についてこれまでに算出された最良の評価値より悪いとき、一部のみの係り受けが設定された状態に対して残りの係り受けを設定しても現在の評価値より悪い評価値しか算出されない。従って、探索木における中間ノードについて評価値を算出すれば、その下の階層のノードについては探索をスキップできる。これによって探索量を削減できる。
【００１５】
このような手法は、広い意味で分岐限定法と呼ばれるが、分岐限定法を採用する際には、評価関数の設計が鍵となる。そこで、本実施の形態では、「その文節に係る総文節数（係り元の文節数とも呼ぶ）」を評価項目として新たに採用することとする。この評価項目は、上で述べたような条件を満たし、日本語の係り受けの評価項目としては有効である。すなわち、１つの文節に数多くの文節が係るような文は、多くの場合日本語として不自然である。従って、その文節に係る総文節数が多くなるほど評価値が悪くなる（例えば小さくなる）ように評価関数を設定する。これによって、探索木の探索量を削減できるようになる。
【００１６】
このように探索木の探索量を削減するための情報処理装置の構成を図３に示す。情報処理装置１００は、入力データ格納部１０１と、形態素解析部１０２と、辞書データ格納部１０３と、第１データ格納部１０４と、文節分割部１０５と、第２データ格納部１０６と、係り受け解析部１０７と、評価値算出部１０８と、出力データ格納部１０９と、出力部１１０とを有する。
【００１７】
入力データ格納部１０１は、係り受け解析の対象となる文のデータを格納する。形態素解析部１０２は、辞書データ格納部１０３に格納されている辞書を用いて、解析対象の文に対して、よく知られた形態素解析を実行し、処理結果を第１データ格納部１０４に格納する。処理結果には、形態素への分割結果と、形態素の品詞情報を含む。
【００１８】
文節分割部１０５は、第１データ格納部１０４に格納されているデータから、よく知られた文節分割を行って、処理結果を第２データ格納部１０６に格納する。なお、処理結果には、形態素への分割結果と、形態素の品詞情報と、文節への分割結果とを含む。なお、本実施の形態では、処理結果には、評価値算出のために、文節毎に、助詞「の」で終わるか否かを表すフラグと、名詞で始まるか否かを表すフラグと、名詞で始まる場合には時間を表す名詞か否かを表すフラグと、名詞で始まる場合には事態を表す名詞か否かを表すフラグとが含まれる。
【００１９】
係り受け解析部１０７は、第２データ格納部１０６に格納されているデータを用いて係り受け解析を実行し、処理結果を出力データ格納部１０９に格納する。この際、係り元の文節数に基づく評価値の計算処理を行う評価値算出部１０８と連携して処理を行う。係り受け解析部１０７は、各文節の係り先文節の識別子（ＩＤ）と、各文節へ係る総文節数とを管理する。出力部１１０は、出力データ格納部１０９に格納されたデータを、出力する。
【００２０】
次に、図４乃至図１５を用いて、情報処理装置１００の処理内容を説明する。なお、以下では、処理を分かりやすくするために、「今日の都の知事の選挙の結果はひどかった」という例文を処理する例を共に説明する。
【００２１】
まず、形態素解析部１０２は、辞書データ格納部１０３に格納されている辞書データを用いて、入力データ格納部１０１に格納されている解析対象の文について形態素解析を行って、処理結果を第１データ格納部１０４に格納する（図４：ステップＳ１）。
【００２２】
また、文節分割部１０５は、第１データ格納部１０４に格納されているデータを用いて、文節分割処理を実行し、処理結果を第２データ格納部１０６に格納する（ステップＳ３）。ここまでの処理は、上で述べたように従来から知られた処理であるので、これ以上詳細には述べない。
【００２３】
なお、上で述べた例文は、文節Ａ「今日の」、文節Ｂ「都の」、文節Ｃ「知事の」、文節Ｄ「選挙の」、文節Ｅ「結果は」、文節Ｆ「ひどかった」と文節分割される。なお、文節Ａ乃至Ｄについては助詞「の」で終わるか否かを表すフラグがオンに設定されている。同様に、文節Ａ乃至Ｅについては名詞で始まるか否かを表すフラグがオンに設定されている。さらに、名詞で始まる場合には時間を表す名詞か否かを表すフラグは、文節Ａについてオンに設定されており、名詞で始まる場合には事態を表す名詞か否か表すフラグは、文節Ｄについてオンに設定されている。
【００２４】
その後、係り受け解析部１０７は、後の処理で用いられる変数を初期化する（ステップＳ５）。例えば、これまでの評価値最大値を保持するための変数αには、非常に小さい値（例えば−１００００）を設定し、ｉ番目の文節へ係る総文節数を保持するための変数chunk[i].nSrcesに対して、０を設定する。また、文の文節数をｎに設定する。なお、本実施の形態では、評価値は大きいほど良い値であるものとするが、評価値については小さいほど良い値とする場合もある。
【００２５】
その後、係り受け解析部１０７は、探索木の階層番号ｄｅｐ＝０として、探索処理Ｓｅａｒｃｈ（０）を実行する（ステップＳ７）。探索処理Ｓｅａｒｃｈ（ｄｅｐ）については、図５乃至図１５を用いて説明する。なお、この処理を実行することで、最終的に、最大評価値αと、当該最大評価値αが算出された係り受けｂｅｓｔｓｅｑが、出力データ格納部１０９に格納される。
【００２６】
そうすると、出力部１１０は、最大評価値αと、当該最大評価値αが算出された係り受けｂｅｓｔｓｅｑとを、出力装置（表示装置、印刷装置又は他のコンピュータ）に出力する（ステップＳ９）。
【００２７】
次に、探索処理Ｓｅａｒｃｈ（ｄｅｐ）について図５乃至図１５を用いて説明する。
【００２８】
まず、係り受け解析部１０７は、現在の係り受けに対して評価値算出部１０８に評価値を算出させ、得られた評価値を変数ｖに設定する（ステップＳ１１）。
【００２９】
ｄｅｐ＝０の場合には、まだ係り受けが設定されていないので、例えばｖに対してαより大きい値（例えば−１０００）を設定する。
【００３０】
それ以外の場合には、何らかの係り受けが設定されているので、その係り受けについてのデータを係り受け解析部１０７から評価値算出部１０８に出力して、評価値を算出させる。
【００３１】
本実施の形態では、説明を簡略化するために以下のような評価項目について評価値を算出して総和を計算する。
評価項目１）
助詞「の」で終わる文節は、名詞で始まる文節に係る。従って、名詞で始まる文節に係る場合には０点、それ以外の場合には−１０点を加算する。
評価項目２）
時間を表す名詞（例えば「今日」等）は、事態を表す名詞（例えば選挙」等）に優先的に係る。従って、事態を表す名詞に係る場合には０点、それ以外の場合には−３点を加算する。
評価項目３）
各文節に係る総文節数は多くなると不自然な日本語となる。これは上でも述べたように本実施の形態で新たに追加された評価項目である。例えば、以下で述べる簡単な例では、総文節数が「１」以下であれば０点、「２」以下であれば−１点、「３」以上であれば−２点を加算する。
【００３２】
ここで述べた値については一例であって、異なる評価値を設定するようにしても良い。実際的には、係り元の文節数が７程度の場合に、ペナルティを与えるようにする。また、評価項目１及び２についても一例であって、他の評価項目を採用するようにしても良い。
【００３３】
そして、係り受け解析部１０７は、階層番号ｄｅｐが文節数ｎ−２であるか否かを判断する（ステップＳ１３）。図２にも模式的に示したように、文節数４でも、第２階層では最終の文節への係り受けしかあり得ないので、第２階層までの処理で探索木におけるリーフまで処理したことになる。すなわち、階層番号ｄｅｐが文節数ｎ−２であれば、リーフに達したことになる。
【００３４】
従って、階層番号ｄｅｐが文節数ｎ−２と一致すれば、係り受け解析部１０７は、ｖを返して（ステップＳ１５）、端子Ｂを介して呼び出し元の処理に戻る。なお、ステップＳ１５に遷移するのは、再帰的に探索処理Ｓｅａｒｃｈ（ｄｅｐ）を呼び出した場合だけであり、最初からステップＳ１５へ遷移することはない。
【００３５】
一方、階層番号ｄｅｐが文節数ｎ−２ではない場合には、係り受け解析部１０７は、ｖ≦αであるか判断する（ステップＳ１７）。本実施の形態では、αは、これまでにリーフまで係り受けを設定した場合（より具体的には、係り元の文節がｎ−３の階層の文節になるまで係り受けを設定した場合）における評価値の最大値であるので、ステップＳ１１で算出された現在の係り受けの評価値ｖが、α以下であれば、これ以降の階層について係り受け設定の処理を行っても、評価値ｖがαを上回ることはない。そこで、ｖ≦αであれば、係り受け解析部１０７は、αを返して（ステップＳ１９）、端子Ｂを介して呼び出し元の処理に戻る。すなわち、枝刈りが行われたことになる。これにより探索量の削減が行われている。
【００３６】
一方、ｖがαより大きい場合には、係り受け解析部１０７は、変数ｊを階層番号ｄｅｐ＋１に設定する（ステップＳ２１）。初期的には、こちらのルートで処理される。以下、係り受けを新たに設定する。処理は端子Ａを介して図６の処理に移行する。
【００３７】
図６の処理の説明に移行して、係り受け解析部１０７は、変数ｊがｎより小さいか判断する（ステップＳ２３）。ｊ番目の文節が最後の文節以降となっていないということを確かめている。ｊがｎ以上になった場合には、係り受け解析部１０７は、αを返して（ステップＳ２５）、呼び出し元の処理に戻る。階層番号ｄｅｐについての係り受けの設定が最後の文節まで試されたということで、１つ上の階層の処理に戻る。
【００３８】
一方、ｊ＜ｎであれば、係り受け解析部１０７は、ｄｅｐ番目の文節からｊ番目の文節への係り受けを設定する（ステップＳ２７）。
【００３９】
最初の場合には、０番目の文節Ａから１番目の文節Ｂへの係り受けが設定される。図７に模式的に示すように、第０階層目の文節Ａから１番目の文節Ｂへの係り受け（探索木のリンク）が設定された状態である。
【００４０】
そして、係り受け解析部１０７は、ｊ番目の文節についての係り総文節数を１インクリメントする（ステップＳ２９）。上で述べた変数ではChunk[j].nSrcesが１インクリメントされる。ここでは、文節Ｂについての係り総文節数が１になる。
【００４１】
その後、係り受け解析部１０７は、次の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）の再帰呼び出しを行う（ステップＳ３１）。返り値は評価値ｖである。
【００４２】
そうすると、図５のステップＳ１１で文節Ａから文節Ｂへの係り受けに対する評価値ｖは、評価項目２により「−３」となる。ステップＳ１３ではＮｏルートに遷移し、ステップＳ１７でもＮｏルートに遷移し、ステップＳ２１でｊは「２」に設定される。
【００４３】
そして、図６のステップＳ２３ではＹｅｓルートに遷移し、ステップＳ２７では、文節Ｂから文節Ｃへの係り受けが設定される。さらにステップＳ２９では、文節Ｃについての係り総文節数が１にインクリメントされる。そして、再度ステップＳ３１で、さらに下位の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）が再帰呼び出しされる。ここまでで、図８の状態になる。
【００４４】
そうすると、ｄｅｐ＝２ということで、ステップＳ１１で、文節Ａから文節Ｂへの係り受けの評価値（「−３」）＋文節Ｂから文節Ｃへの係り受けの評価値（「０」）で、ｖ＝−３が得られる。ステップＳ１３ではＮｏルートに遷移し、ステップＳ１７でもＮｏルートに遷移し、ステップＳ２１でｊは「３」に設定される。
【００４５】
そして、ステップＳ２３ではＹｅｓルートに遷移し、ステップＳ２７では、文節Ｃから文節Ｄへの係り受けが設定される。さらにステップＳ２９では、文節Ｄについての係り総文節数が１にインクリメントされる。そして、再度ステップＳ３１で、さらに下位の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）が再帰呼び出しされる。ここまでで、図９の状態になる。
【００４６】
そうすると、ｄｅｐ＝３ということで、ステップＳ１１で、文節Ａから文節Ｂへの係り受けの評価値（「−３」）＋文節Ｂから文節Ｃへの係り受けの評価値（「０」）＋文節Ｃから文節Ｄへの係り受けの評価値（「０」）で、ｖ＝−３が得られる。ステップＳ１３ではＮｏルートに遷移し、ステップＳ１７でもＮｏルートに遷移し、ステップＳ２１でｊは「４」に設定される。
【００４７】
そして、ステップＳ２３ではＹｅｓルートに遷移し、ステップＳ２７では、文節Ｄから文節Ｅへの係り受けが設定される。さらにステップＳ２９では、文節Ｅについての係り総文節数が１にインクリメントされる。そして、再度ステップＳ３１で、さらに下位の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）が再帰呼び出しされる。ここまでで、図１０の状態になる。
【００４８】
そうすると、ｄｅｐ＝４ということで、ステップＳ１１で、文節Ａから文節Ｂへの係り受けの評価値（「−３」）＋文節Ｂから文節Ｃへの係り受けの評価値（「０」）＋文節Ｃから文節Ｄへの係り受けの評価値（「０」）＋文節Ｄから文節Ｅへの係り受けの評価値（「０」）で、ｖ＝−３が得られる。ここで、ｄｅｐ＝４であるから、ｎ−２と一致する。従って、ステップＳ１３ではＹｅｓルートに遷移し、ステップＳ１５でｖ＝−３が返される。そうすると、ｄｅｐ＝３の状態で、ステップＳ３１に戻ってくることになる。
【００４９】
図６の処理の説明に戻って、係り受け解析部１０７は、ｄｅｐ＝ｎ−３であり且つｖがαより大きいか判断する（ステップＳ３３）。ｄｅｐ＝３でステップＳ３１に戻ってきた場合には、ｄｅｐ＝ｎ−３である。また、ｖ＝−３であれば、αの初期値よりも大きい。従って、条件を満たしていると判断される。
【００５０】
ステップＳ３３の条件を満たしている場合には、係り受け解析部１０７は、ｖをαに代入し、現在の係り受けを変数ｂｅｓｔｓｅｑに設定する（ステップＳ３５）。そして処理はステップＳ３７に移行する。上の例では、α＝−３となり、ｂｅｓｔｓｅｑに対して、Ａ−＞Ｂ−＞Ｃ−＞Ｄ−＞Ｅという係り受けが設定される。一方、ステップＳ３３の条件を満たしていない場合には、処理はステップＳ３７に移行する。
【００５１】
そして、係り受け解析部１０７は、ｊ番目の文節の係り総文節数を１デクリメントする（ステップＳ３７）。また、係り受け解析部１０７は、ｄｅｐ番目の文節からｊ番目の文節への係り受けを外す（ステップＳ３９）。すなわち、文節Ｄから文節Ｅへの係り受けを外して、文節Ｅの係り総文節数を１デクリメントする。そうすると、探索木は図１０の状態から、図９の状態に戻る。
【００５２】
さらに、係り受け解析部１０７は、ｊを１インクリメントする（ステップＳ４１）。上で述べた例では、ｊ＝５となる。そして処理はステップＳ２３に戻る。
【００５３】
上で述べた例では、ステップＳ２３ではＹｅｓルートに遷移し、ステップＳ２７では、文節Ｄから文節Ｆへの係り受けが設定される。さらにステップＳ２９では、文節Ｆについての係り総文節数が１にインクリメントされる。そして、再度ステップＳ３１で、下位の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）が再帰呼び出しされる。ここまでで、図１１の状態になる。
【００５４】
そうすると、ｄｅｐ＝４ということで、ステップＳ１１で、文節Ａから文節Ｂへの係り受けの評価値（「−３」）＋文節Ｂから文節Ｃへの係り受けの評価値（「０」）＋文節Ｃから文節Ｄへの係り受けの評価値（「０」）＋文節Ｄから文節Ｆへの係り受けの評価値（「−１０」）で、ｖ＝−１３が得られる。ここで、ｄｅｐ＝４であるから、ｎ−２と一致する。従って、ステップＳ１３ではＹｅｓルートに遷移し、ステップＳ１５でｖ＝−１３が返される。そうすると、ｄｅｐ＝３の状態で、ステップＳ３１に戻ってくることになる。
【００５５】
しかしながら、ｖ＜αであるからステップＳ３３ではＮｏルートに遷移し、文節Ｄから文節Ｆへの係り受けを外して、文節Ｆの係り総文節数を１デクリメントする。そして、ｊを１インクリメントすると、ｊ＝６となるので、ステップＳ２３でＮｏルートに遷移し、αが返される。そうすると、ｄｅｐ＝２の状態で、ステップＳ３１に戻ってくることになる。そして、ステップＳ３３では条件を満たさないのでＮｏルートに遷移し、ステップＳ３７及びステップＳ３９で、文節Ｃから文節Ｄへの係り受けを外して、さらに文節Ｄの係り総文節数を１デクリメントする。そうすると、探索木は図８の状態に戻る。
【００５６】
ｄｅｐ＝２の状態でｊ＝３であるから、ステップＳ４１ではｊは４に設定される。ステップＳ２３ではＹｅｓルートに遷移し、ステップＳ２７では、文節Ｃから文節Ｅへの係り受けが設定される。また、ステップＳ２９では、文節Ｅの係り総文節数を１インクリメントする。そして、再度ステップＳ３１で、下位の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）が再帰呼び出しされる。ここまでで、図１２の状態になる。
【００５７】
そうすると、ｄｅｐ＝３ということで、ステップＳ１１で、文節Ａから文節Ｂへの係り受けの評価値（「−３」）＋文節Ｂから文節Ｃへの係り受けの評価値（「０」）＋文節Ｃから文節Ｅへの係り受けの評価値（「０」）で、ｖ＝−３が得られる。そして、ステップＳ１３ではＮｏルートに遷移し、ステップＳ１７でもＮｏルートに遷移し、ステップＳ２１でｊは「４」に設定される。
【００５８】
そして、ステップＳ２３ではＹｅｓルートに遷移し、ステップＳ２７では、文節Ｄから文節Ｅへの係り受けが設定される。さらにステップＳ２９では、文節Ｅについての係り総文節数が１インクリメントされる。ここでは文節Ｅの係り総文節数は「２」となる。そして、再度ステップＳ３１で、さらに下位の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）が再帰呼び出しされる。ここまでで、図１３の状態になる。
【００５９】
そうすると、ｄｅｐ＝４ということで、ステップＳ１１で、文節Ａから文節Ｂへの係り受けの評価値（「−３」）＋文節Ｂから文節Ｃへの係り受けの評価値（「０」）＋文節Ｃから文節Ｅへの係り受けの評価値（「０」）＋文節Ｄから文節Ｅへの係り受けの評価値（「−１」）で、ｖ＝−４が得られる。ここで、ｄｅｐ＝４であるから、ｎ−２と一致する。従って、ステップＳ１３ではＹｅｓルートに遷移し、ステップＳ１５でｖ＝−４が返される。そうすると、ｄｅｐ＝３の状態で、ステップＳ３１に戻ってくることになる。
【００６０】
ステップＳ３３では、ｄｅｐ＝ｎ−３であるが、αが−３でｖ＝−４であるから条件を満たさない。そこで、文節Ｄから文節Ｅへの係り受けが外されて、文節Ｅへの係り総文節数を１デクリメントする。また、ステップＳ４１でｊが「５」に設定される。
【００６１】
そして、ステップＳ２３ではＹｅｓルートに遷移し、ステップＳ２７では、文節Ｄから文節Ｆへの係り受けが設定される。さらにステップＳ２９では、文節Ｆについての係り総文節数が１にインクリメントされる。そして、再度ステップＳ３１で、さらに下位の階層についての探索処理Ｓｅａｒｃｈ（ｄｅｐ＋１）が再帰呼び出しされる。ここまでで、図１４の状態になる。
【００６２】
そうすると、ｄｅｐ＝４ということで、ステップＳ１１で、文節Ａから文節Ｂへの係り受けの評価値（「−３」）＋文節Ｂから文節Ｃへの係り受けの評価値（「０」）＋文節Ｃから文節Ｅへの係り受けの評価値（「０」）＋文節Ｄから文節Ｆへの係り受けの評価値（「−１０」）で、ｖ＝−１３が得られる。ここで、ｄｅｐ＝４であるから、ｎ−２と一致する。従って、ステップＳ１３ではＹｅｓルートに遷移し、ステップＳ１５でｖ＝−１３が返される。そうすると、ｄｅｐ＝３の状態で、ステップＳ３１に戻ってくることになる。
【００６３】
以下、同じように処理が進められることになる。
【００６４】
なお、Ａ−Ｄ、Ｂ−＞Ｃ−＞Ｄ−＞Ｅという係り受けについて評価値を算出すると、文節Ｄの係り総文節数が「２」であるので、評価項目３によってｖ＝−１となるが、α＝−３よりも大きいので、αは−１に更新され、ｂｅｓｔｓｅｑには上記の係り受けが設定される。
【００６５】
その後、「Ａ−＞Ｄ，Ｂ−＞Ｄ（他は係り受け未設定）」が係り受けに設定されると、評価項目３によってｖ＝−１となる。しかし、α＝−１となっているので、Ｓｅａｒｃｈ（３）を呼ぶことなく枝刈りがなされる。従って、模式的に示すと、図１５の点線四角で囲われた部分の探索が省略されることになる。
【００６６】
以上のように探索量が削減されて、高速に係り受けを決定できるようになる。
【００６７】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。上でも述べたように、評価値は小さい方が良いように設定することもできる。さらに、実施の形態で述べたアルゴリズムは一例であって、係り総文節数によって探索木に対する探索の枝刈りができるようなものであればよい。
【００６８】
さらに、図３に示した情報処理装置１００の機能ブロック構成は一例であり、プログラムモジュール構成と一致しない場合もある。また、データ格納部の構成についても、ファイル構成とは一致しない場合もある。
【００６９】
処理フローについても、処理結果が変わらなければ、処理順番を入れ替えたり、複数ステップを並列実行できる場合もある。
【００７０】
なお、上で述べた情報処理装置１００は、コンピュータ装置であって、図１６に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７１】
以上述べた本実施の形態をまとめると、以下のようになる。
【００７２】
本実施の形態に係る係り受け解析方法は、（Ａ）文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、（Ｂ）第２の文節について、係り元の文節数を増分し、（Ｃ）第１の係り受けに対して、第２の文節についての係り元の文節数を含む評価項目に応じた評価値を算出し、（Ｄ）評価値が大きな値の方が良い値の場合には、算出された評価値が、上記文において少なくとも最後の文節より２つ手前の文節からの係り受けが設定された場合に算出された最大評価値より大きいという条件、評価値が小さい値の方が良い値の場合には、算出された評価値が、上記文において少なくとも最後の文節より２つ手前の文節からの係り受けが設定された場合に算出された最小評価値より小さいという条件を満たすか否かを判断する処理を含み、上記条件を満たさないと判断された場合には、第１の係り受けに追加される係り受けの設定処理が省略される。
【００７３】
このように係り元の文節数の数という新規な評価項目を採用することで、係り受けが追加で設定されるほど評価値が悪くなる場合には、効果的に探索量を削減できるようになる。
【００７４】
なお、本係り受け解析方法は、（Ｅ）上で述べた条件を満たすと判断された場合には、上記文において第１の文節の次に出現する第３の文節から第４の文節への係り受けを含む第２の係り受けを設定し、（Ｆ）増分する処理以降の処理を、第２の係り受けに対して実行する処理をさらに含むようにしても良い。より下位の探索を行うものである。
【００７５】
さらに、本係り受け解析方法は、（Ｇ）上で述べた条件を満たさないと判断された場合には、第２の文節について、係り元の文節数を減分し、（Ｈ）第１の文節から第２の文節への係り受けを解除し、（Ｉ）第１の文節から上記文において第１の文節より後ろの第５の文節への係り受けを含む第３の係り受けを設定し、（Ｊ）増分する処理以降の処理を、第３の係り受けに対して実行する処理をさらに含むようにしても良い。条件を満たさない場合には、下位の階層についての探索を省略して、別の枝に切り替えて探索するものである。
【００７６】
さらに、本係り受け解析方法は、（Ｋ）上で述べた条件を満たすと判断され、且つ第１の文節が文における最後の文節より２つ手前の文節であれば、算出された評価値を、最大評価値又は最小評価値に設定し、現在の係り受けをデータ格納部に格納する処理をさらに含むようにしても良い。このように探索木のリーフまで探索した場合に、最善の評価値が得られた場合には、これまでに算出された最善の評価値を更新し、現在の係り受けのデータを保持しておくものである。
【００７７】
なお、上で述べたような処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【００７８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７９】
（付記１）
文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、
前記第２の文節について、係り元の文節数を増分し、
前記第１の係り受けに対して、前記第２の文節についての前記係り元の文節数を含む評価項目に応じた評価値を算出し、
算出された前記評価値に基づき、前記第１の係り受けにさらに係り受けを追加して設定するか否かを判断する
処理を、コンピュータに実行させるための係り受け解析プログラム。
【００８０】
（付記２）
前記判断する処理が、
評価値が大きな値の方が良い値の場合には、算出された前記評価値が、前記文において少なくとも最後の文節より２つ手前の文節からの係り受けが設定された場合に算出された最大評価値より大きいという条件、評価値が小さい値の方が良い値の場合には、算出された前記評価値が、前記文において少なくとも最後の文節より２つ手前の文節からの係り受けが設定された場合に算出された最小評価値より小さいという条件を満たすか否かを判断する
処理を含み、
前記条件を満たさないと判断された場合には、前記第１の係り受けに追加される係り受けの設定処理が省略される、
付記１記載の係り受け解析プログラム。
【００８１】
（付記３）
前記条件を満たすと判断された場合には、前記文において前記第１の文節の次に出現する第３の文節から第４の文節への係り受けを含む第２の係り受けを設定し、
前記増分する処理以降の処理を、前記第２の係り受けに対して実行する
処理をさらに前記コンピュータに実行させるための付記２記載の係り受け解析プログラム。
【００８２】
（付記４）
前記条件を満たさないと判断された場合には、前記第２の文節について、前記係り元の文節数を減分し、
前記第１の文節から前記第２の文節への係り受けを解除し、
前記第１の文節から前記文において前記第１の文節より後ろの第５の文節への係り受けを含む第３の係り受けを設定し、
前記増分する処理以降の処理を、前記第３の係り受けに対して実行する
処理をさらに前記コンピュータに実行させるための付記２又は３記載の係り受け解析プログラム。
【００８３】
（付記５）
前記条件を満たすと判断され、且つ前記第１の文節が前記文における最後の文節より２つ手前の文節であれば、算出された前記評価値を、前記最大評価値又は前記最小評価値に設定し、前記現在の係り受けをデータ格納部に格納する
処理をさらに前記コンピュータに実行させるための付記２乃至４のいずれか１つ記載の係り受け解析プログラム。
【００８４】
（付記６）
文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、
前記第２の文節について、係り元の文節数を増分し、
前記第１の係り受けに対して、前記第２の文節についての前記係り元の文節数を含む評価項目に応じた評価値を算出し、
算出された前記評価値に基づき、前記第１の係り受けにさらに係り受けを追加して設定するか否かを判断する
処理を含み、
コンピュータにより実行される係り受け解析方法。
【００８５】
（付記７）
文に含まれる第１の文節から第２の文節への係り受けを含む第１の係り受けを設定し、前記第２の文節について、係り元の文節数を増分する係り受け解析部と、
前記第１の係り受けに対して、前記第２の文節についての前記係り元の文節数を含む評価項目に応じた評価値を算出する評価値算出部と、
を有し、
前記係り受け解析部が、
算出された前記評価値に基づき、前記第１の係り受けにさらに係り受けを追加して設定するか否かを判断する
係り受け解析装置。
【符号の説明】
【００８６】
１００  情報処理装置
１０１  入力データ格納部
１０２  形態素解析部
１０３  辞書データ格納部
１０４  第１データ格納部
１０５  文節分割部
１０６  第２データ格納部
１０７  係り受け解析部
１０８  評価値算出部
１０９  出力データ格納部
１１０  出力部
【図１】
2015060422.tif 000003
【図２】
2015060422.tif 000004
【図３】
2015060422.tif 000005
【図４】
2015060422.tif 000006
【図５】
2015060422.tif 000007
【図６】
2015060422.tif 000008
【図７】
2015060422.tif 000009
【図８】
2015060422.tif 000010
【図９】
2015060422.tif 000011
【図１０】
2015060422.tif 000012
【図１１】
2015060422.tif 000013
【図１２】
2015060422.tif 000014
【図１３】
2015060422.tif 000015
【図１４】
2015060422.tif 000016
【図１５】
2015060422.tif 000017
【図１６】
2015060422.tif 000018