(57)【要約】【課題】文の係り受け解析処理に要する時間を削減できる。【解決手段】係り受け解析プログラムは、文に含まれる、係り元として並列節構成要素である文節を含み、かつ係り先として述語である文節又は並列節構成要素である文節を含む並列係り受け関係を特定する処理をコンピュータに実行させる。また、係り受け解析プログラムは、特定された並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を実行する際に、当該並列係り受け関係が所定の標準形に該当しないと判定された場合、係り受け解析の評価点に対して、所定のペナルティを課す処理をコンピュータに実行させる。さらに、係り受け解析プログラムは、評価点が所定の閾値に満たないと判定された場合に、当該並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を抑止する処理をコンピュータに実行させる。【選択図】図１
2018077687.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
文に含まれる、係り元として並列節構成要素である文節を含み、かつ係り先として述語である文節又は並列節構成要素である文節を含む並列係り受け関係を特定し、
特定された前記並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を実行する際に、当該並列係り受け関係が所定の標準形に該当しないと判定された場合、前記係り受け解析の評価点に対して、所定のペナルティを課し、
前記評価点が所定の閾値に満たないと判定された場合に、当該並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を抑止する
処理を実行させることを特徴とする係り受け解析プログラム。
【請求項２】
特定された前記並列係り受け関係が、前記係り元のさらに係り元として、別の並列節構成要素である文節を含む場合に、当該並列係り受け関係が、前記所定の標準形に該当しないと判定する処理をさらに実行させることを特徴とする請求項１に記載の係り受け解析プログラム。
【請求項３】
特定された前記並列係り受け関係が、並列節構成要素を係り元とし、かつ述語を係り先とする係り受け関係を２つ以上含む場合に、当該並列係り受け関係が、前記所定の標準形に該当しないと判定する処理をさらに実行させることを特徴とする請求項１に記載の係り受け解析プログラム。
【請求項４】
前記評価処理を実行する際において、特定された前記並列係り受け関係を含むか否かを判定し、前記並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を優先して実行することを特徴とする請求項１乃至３のいずれか１つに記載の係り受け解析プログラム。
【請求項５】
前記評価処理を実行する際において、係り元が並列節構成要素に該当するか否かを判定し、前記係り元が並列節構成要素に該当すると判定された場合において、前記係り元の係り先が述語及び並列節構成要素のいずれかに該当するか否かを判定する処理をさらに実行させ、
前記抑止する処理において、前記係り元の係り先が述語及び並列節構成要素のいずれにも該当しないと判定された場合に、前記係り元と前記係り元の係り先とを含む係り受けに対する係り受け解析の評価処理を抑止することを特徴とする請求項１乃至４のいずれか１つに記載の係り受け解析プログラム。
【請求項６】
前記所定の閾値が、文中において評価処理を行っていない係り受け関係の数が減少することに応じて上昇することを特徴とする請求項１乃至５のいずれか１つに記載の係り受け解析プログラム。
【請求項７】
コンピュータが、
文に含まれる、係り元として並列節構成要素である文節を含み、かつ係り先として述語である文節又は並列節構成要素である文節を含む並列係り受け関係を特定し、
特定された前記並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を実行する際に、当該並列係り受け関係が所定の標準形に該当しないと判定された場合、前記係り受け解析の評価点に対して、所定のペナルティを課し、
前記評価点が所定の閾値に満たないと判定された場合に、当該並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を抑止する
処理を実行することを特徴とする係り受け解析方法。
【請求項８】
文に含まれる、係り元として並列節構成要素である文節を含み、かつ係り先として述語である文節又は並列節構成要素である文節を含む並列係り受け関係を特定する特定部と、
特定された前記並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を実行する際に、当該並列係り受け関係が所定の標準形に該当しないと判定された場合、前記係り受け解析の評価点に対して、所定のペナルティを課す評価部と、
前記評価点が所定の閾値に満たないと判定された場合に、当該並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を抑止する抑止部と
を有することを特徴とする係り受け解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、係り受け解析プログラム、係り受け解析方法及び係り受け解析装置に関する。
【背景技術】
【０００２】
自然言語処理において、並列節が連続する文の係り受け関係を評価する際に、不要な評価処理を抑制する技術が知られている。例えば、接続構造解析後、接続構造多義を展開する前に係り受け評価を行い、係り受け尤度の低い係り先接続形式候補を棄却する技術が知られている。また、三つ以上の節又は述語句からなる日本語複文における接続助詞「が」の係り先の正当性を判定する技術が知られている。さらに、述語句の独立性の強さに基づいて入力文の構造を解析し、各文節間の係り受け関係を認定する技術も知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−７７９５５号公報
【特許文献２】特開平５−２１０６９７号公報
【特許文献３】特開平７−５６９１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術では、例えば複数の並列節が続くような文の係り受け解析処理を行う場合において、処理に要する時間が大きくなる場合がある。なお、処理に要する時間を削減するために一部の係り受け評価処理を打ち切る（枝刈りする）技術においては、最も評価の高い（正解の）係り受けの組み合わせに対しても、係り受け評価処理が打ち切られるおそれがある。
【０００５】
一つの側面では、文の係り受け解析処理に要する時間を削減できる係り受け解析プログラム、係り受け解析方法及び係り受け解析装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
一つの態様において、係り受け解析プログラムは、文に含まれる、係り元として並列節構成要素である文節を含み、かつ係り先として述語である文節又は並列節構成要素である文節を含む並列係り受け関係を特定する処理をコンピュータに実行させる。また、係り受け解析プログラムは、特定された並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を実行する際に、当該並列係り受け関係が所定の標準形に該当しないと判定された場合、係り受け解析の評価点に対して、所定のペナルティを課す処理をコンピュータに実行させる。さらに、係り受け解析プログラムは、評価点が所定の閾値に満たないと判定された場合に、当該並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を抑止する処理をコンピュータに実行させる。
【発明の効果】
【０００７】
一つの態様によれば、文の係り受け解析処理に要する時間を削減できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１における係り受け解析装置の機能ブロックの一例を示す図である。
【図２】図２は、文節ＤＢの一例を示す図である。
【図３】図３は、要素ＤＢの一例を示す図である。
【図４】図４は、実施例１におけるペナルティＤＢの一例を示す図である。
【図５】図５は、評価基準値ＤＢの一例を示す図である。
【図６】図６は、実施例１における判定結果ＤＢの一例を示す図である。
【図７】図７は、実施例１における出力結果の一例を示す図である。
【図８Ａ】図８Ａは、実施例１におけるノード解析処理の一例を示すフローチャートである。
【図８Ｂ】図８Ｂは、実施例１におけるノード解析処理の一例を示すフローチャートである。
【図８Ｃ】図８Ｃは、実施例１におけるノード解析処理の一例を示すフローチャートである。
【図９】図９は、解析前処理の一例を示すフローチャートである。
【図１０】図１０は、実施例１におけるペナルティ特定処理の一例を示すフローチャートである。
【図１１】図１１は、実施例１における下位ノード解析処理の一例を示すフローチャートである。
【図１２】図１２は、実施例２におけるペナルティＤＢの一例を示す図である。
【図１３】図１３は、実施例２における出力結果の一例を示す図である。
【図１４】図１４は、係り受け解析プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願の開示する係り受け解析プログラム、係り受け解析方法及び係り受け解析装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
【実施例１】
【００１０】
以下においては、図１乃至図１１を用いて、係り受け解析装置１００が実行する文の係り受け解析処理について説明する。以下の実施例において、係り受け解析装置１００は、複数の文節からなる日本語の文において、係り先の文節と係り元の文節との係り受け関係（以下、単に「係り受け関係」と表記する場合がある）の組み合わせを特定する。次に、係り受け解析装置１００は、個別の係り受け関係について部分評価点を算出し、当該係り受け関係の組み合わせにおける部分評価点を合計した評価値を算出する。そして、係り受け解析装置１００は、文における係り受け関係の組み合わせのうち、最も評価値が高くなる係り受け関係の組み合わせを出力する。
【００１１】
なお、係り受け解析処理は、以下に説明する日本語の係り受け関係の一般的な原則に基づいて行われる。まず、全ての文節は、自分より前の文節を係り先とすることはない。例えば、文の最初に登場する文節（以下「最初の文節」と表記する場合がある）は、文の最初から２番目に登場する文節を係り先とする場合もあれば、文の最後に登場する文節（以下「最後の文節」と表記する場合がある）を係り先とする場合もある。一方、最後の文節は、他の文節を係り先とすることがない。また、文の最後から２番目に登場する文節の係り先は、常に最後の文節となる。
【００１２】
また、係り先の文節を取ることが無い最後の文節を除き、全ての文節は、係り先の文節を一つだけ有する。以上の２つの原則に従い、例えばＮ個の文節からなる文は、複数通りの係り受け関係から選択可能である（Ｎ−２）個の係り受け関係の組み合わせ、及び、文の最後から２番目に登場する文節と最後の文節との係り受け関係を含むこととなる。なお、上で述べた、複数通りの係り受け関係から選択可能である係り受け関係を、以下において「ノード」と表記する場合がある。
【００１３】
なお、文の係り受け関係の組み合わせは１通りではない。例えば最初の文節は、文の最初から２番目に登場する文節から最後の文節まで、（Ｎ−１）種類の文節を係り先とすることができる。同様に、文の最初から２番目に登場する文節は、文の最初から３番目に登場する文節から最後の文節まで、（Ｎ−２）種類の文節を係り先とすることができる。ただし、日本語の文においては、例えばある文節の係り先が、自分より前に登場する文節の係り先より後にある（以下において「係り受け関係のクロスが生じる」と表記する場合がある）ことは認められない。したがって、Ｎ個の文節からなる文における係り受け関係の組み合わせは、〔(Ｎ−１）！〕通りから、係り受け関係のクロスが生じる係り受け関係の組み合わせを除外した数だけ存在することとなる。
【００１４】
以上説明した係り受け関係の一般的な原則に基づいて、本実施例における係り受け解析装置１００は、まず文に対して形態素解析及び文節への分割を行い、文節の中から並列節構成要素に該当する文節及び述語に該当する文節を特定する。述語に該当する文節は、例えば動詞、形容詞又は形容動詞の終止形であることが多く、文末に登場することが一般的である。また、並列節構成要素は、動詞、形容詞又は形容動詞の連用形、連用テ接続又は連用中止形であることが多く、文頭や文末ではなく文中に登場することが一般的である。例えば、文章に「区間記録を更新し、５人をごぼう抜きして、チームの優勝に貢献した。」という文が含まれる場合においては、「更新し、」及び「ごぼう抜きして、」が並列節構成要素に該当し、「貢献した。」が述語に該当する。
【００１５】
また、本実施例における係り受け解析装置１００は、述語と複数の並列節構成要素とを含む文に対する係り受け解析を行って、係り受け関係の評価値を算出する。係り受け関係の評価値は、例えば文に含まれる各係り受け関係についてそれぞれ部分評価点を算出し、各部分評価点を合計することにより算出される。そして、係り受け解析装置１００は、最も評価値が高い係り受け関係を出力する。
【００１６】
また、係り受け解析装置１００は、個別の係り受け関係の部分評価点を算出する度に、当該部分評価点の小計が、所定の閾値以上であるか否かを判定する。係り受け解析装置１００は、特定の係り受け関係を解析した結果、当該部分評価点の小計が、所定の閾値未満であると判定した場合に、当該特定の係り受け関係を含む係り受け関係に対する以後の解析を打ち切る。これにより、係り受け解析装置１００は、文の係り受け解析に要する処理時間を削減する。なお、部分評価点の小計は、評価点の一例である。
【００１７】
［機能構成］
図１は、実施例１における係り受け解析装置の機能ブロックの一例を示す図である。図１に示す係り受け解析装置１００は、文に含まれる、係り元として並列節構成要素である文節を含み、かつ係り先として述語である文節又は並列節構成要素である文節を含む並列係り受け関係を特定する。係り受け解析装置１００は、特定された並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を実行する際に、当該並列係り受け関係が所定の標準形に該当しないと判定された場合、係り受け解析の評価点に対して、所定のペナルティを課す。係り受け解析装置１００は、評価点が所定の閾値に満たないと判定された場合に、当該並列係り受け関係を含む係り受け関係に対する係り受け解析の評価処理を抑止する。これにより、係り受け解析装置１００は、文の係り受け解析処理に要する時間を削減できる。
【００１８】
図１に示す係り受け解析装置１００は、通信部１１１と、表示操作部１１２と、記憶部１２０と、制御部１３０とを有する。なお、係り受け解析装置１００は、図１に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の通信デバイス、入力デバイスや音声出力デバイス等の機能部を有することとしてもかまわない。係り受け解析装置１００の一例としては、デスクトップコンピュータを採用できる。係り受け解析装置１００には、上記のデスクトップコンピュータ等の据置型のコンピュータのみならず、可搬型のコンピュータを係り受け解析装置１００として採用することもできる。
【００１９】
通信部１１１は、有線又は無線を問わず、図示しないネットワークを経由して、図示しない外部のＷｅｂサーバやデータベース、係り受け解析装置１００の利用者の端末など、その他のコンピュータとの通信を制御する。
【００２０】
表示操作部１１２は、係り受け解析装置１００のユーザから各種操作を受け付ける入力デバイスと、各種情報を表示するための表示デバイスとを兼ねる。表示操作部１１２は、例えば、入力デバイスと表示デバイスとを一体化したタッチパネル等によって実現される。なお、表示操作部１１２は、キーボードやマウス等の入力デバイスと、液晶ディスプレイ等の表示デバイスとによって実現されてもよい。表示操作部１１２は、ユーザによって入力された操作を操作情報として制御部１３０に出力する。また、表示操作部１１２は、制御部１３０から入力された出力画面等の各種画面を表示する。
【００２１】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部１２０は、文章ＤＢ１２１と、文節ＤＢ１２２と、要素ＤＢ１２３と、ペナルティＤＢ１２４と、評価基準値ＤＢ１２５と、判定結果ＤＢ１２６とを有する。また、記憶部１２０は、制御部１３０での処理に用いられる情報を記憶する。
【００２２】
文章ＤＢ１２１は、外部のＷｅｂサーバやデータベース等から取得した文章を記憶する。文章ＤＢ１２１は、例えば上で述べた「区間記録を更新し、５人をごぼう抜きして、チームの優勝に貢献した。」などの文を含む文章を記憶する。文章ＤＢ１２１には、予め後に説明する文章取得部１３１が通信部１１１又は表示操作部１１２を通じて取得した文章が記憶される。
【００２３】
文節ＤＢ１２２は、文章ＤＢ１２１に記憶された文から抽出される文節を記憶する。図２は、文節ＤＢの一例を示す図である。図２に示すように、文節ＤＢ１２２は、「文節ＩＤ」及び「文節」といった項目を有する。文節ＤＢ１２２は、例えば、文節１つにつき一つのレコードを記憶する。文節ＤＢ１２２には、後に説明する形態素解析部１３２及び文節処理部１３３による処理結果が記憶される。文節ＤＢ１２２の一つのテーブルは、例えば処理対象となる文ごとに生成される。
【００２４】
図２において、「文節ＩＤ」は、文中で当該文節が登場する位置を示す。図２において、文節ＩＤ「Ａ」の文節は文の最初に登場し、以下「Ｂ」、「Ｃ」の各文節が順次登場する。また、「文節」は、当該文節ＩＤに対応する文節を記憶する。図２に示す例において、文節ＤＢ１２２は、「区間記録を」、「更新し、」などの順番で文中に順次登場する文節を記憶する。
【００２５】
図１の説明に戻って、要素ＤＢ１２３は、文節が並列節構成要素又は述語に該当することを示す情報を、文節ＩＤに対応付けて記憶する。図３は、要素ＤＢの一例を示す図である。図３に示すように、要素ＤＢ１２３は、「文節ＩＤ」及び「要素」といった項目を有する。要素ＤＢ１２３には、後に説明する要素特定部１３４が処理した情報が記憶される。要素ＤＢ１２３の一つのテーブルは、例えば処理対象となる文ごとに生成される。
【００２６】
図３において、「要素」は、文節ＩＤに示す文節が「並列節構成要素」に該当するか、「述語」に該当するか、又はいずれにも該当しないかを記憶する。図３に示すように、要素ＤＢ１２３は、文節ＩＤ「Ｂ」及び「Ｄ」の文節が「並列節構成要素」であることを記憶する。また、要素ＤＢ１２３は、文節ＩＤ「Ｇ」の文節が「述語」であることを記憶する。なお、要素ＤＢ１２３の要素の「−」は、当該文節が並列節構成要素にも述語にも該当しないことを示す。
【００２７】
図１の説明に戻って、ペナルティＤＢ１２４は、並列節構成要素間、又は並列節構成要素と述語との係り受け関係が、標準形に該当しないことを示す情報を、文節ＩＤに対応付けて記憶する。図４は、実施例１におけるペナルティＤＢの一例を示す図である。図４に示すように、ペナルティＤＢ１２４は、「係り受け」及び「ペナルティ」といった項目を有する。ペナルティＤＢ１２４には、後に説明する要素特定部１３４が処理した情報が記憶される。ペナルティＤＢ１２４の一つのテーブルは、例えば処理対象となる文ごとに生成される。
【００２８】
図４において、「係り受け」は、標準形に該当しない、すなわちペナルティを課す対象とする特定の係り受け関係を記憶する。なお、当該特定の係り受け関係は、複数の係り元と係り先との組み合わせを含む。以下において、係り元と係り先との組み合わせを「係り元→係り先」と示す場合がある。
【００２９】
なお、本実施例においては、係り受け関係の標準形として、全ての並列節構成要素が、述語を係り先とする係り受け関係を設定する。そこで、本実施例におけるペナルティＤＢ１２４は、複数の並列節構成要素と述語とが数珠つなぎとなる係り受け関係を有するときに、当該係り受け関係にペナルティを課する。図４に示すように、ペナルティＤＢ１２４は、並列節構成要素「ごぼう抜きして、」の係り元が並列節構成要素「更新し、」であり、かつ係り先が述語「貢献した。」である場合を、係り受けとして記憶する。
【００３０】
図４において、「ペナルティ」は、当該特定の係り受け関係に課すペナルティの値を記憶する。図４に示すように、ペナルティＤＢ１２４は、「Ｂ→Ｄ」と「Ｄ→Ｇ」とを含む特定の係り受け関係に対して、「−３０」のペナルティを課すことを記憶する。
【００３１】
図１の説明に戻って、評価基準値ＤＢ１２５は、各ノードにおいて係り受け解析処理が終了した段階において、以後のノードに対する係り受け解析処理を継続するか否かを判定する閾値を算出するための評価基準値を記憶する。図５は、評価基準値ＤＢの一例を示す図である。図５に示すように、評価基準値ＤＢ１２５は、「ノード段数」及び「評価基準値」といった項目を有する。評価基準値ＤＢ１２５には、例えば予め評価値判定部１３７により情報が記憶される。評価基準値ＤＢ１２５のテーブルは、例えば処理対象となる全ての文に共通して用いられるが、これに限られず、処理対象となる文ごとに異なるテーブルが用いられるような構成であってもよい。
【００３２】
図５において、「ノード段数」は、どの段階のノードまで係り受け関係解析処理が完了したかを示す。図５は、上記した７つの文節を含む文における評価基準値ＤＢ１２５の一例であり、「Θ０」乃至「Θ４」の５つの段階が記憶される。また、「評価基準値」は、各ノード段階において、最高評価値から減算される評価基準値を記憶する。なお、本実施例において、後述するノード解析処理は、最初の文節である図２に示す文節ＤＢ１２２の文節ＩＤ「Ａ」の文節の係り先から開始し、文の最後から３番目に登場する文節である文節ＩＤ「Ｅ」の文節の係り先まで実行される。図５に示す例において、評価基準値ＤＢ１２５は、第１段階のノード、すなわち文節ＩＤ「Ａ」の文節の係り先についての解析処理が終了した段階において、最高評価値から評価基準値「８０」を差し引いた値を閾値として用いることを記憶する。なお、以下において、最高評価値を「ＢｅｓｔＶａｌ」と表記する場合がある。
【００３３】
図１の説明に戻って、判定結果ＤＢ１２６は、後述するノード解析処理及び下位ノード解析処理による処理結果を記憶する。図６は、実施例１における判定結果ＤＢの一例を示す図である。図６に示すように、判定結果ＤＢ１２６は、「回数」、「係り受け０」乃至「係り受け４」及び「評価値」といった項目を有する。判定結果ＤＢ１２６には、例えば評価処理部１３５による処理結果が記憶される。判定結果ＤＢ１２６の一つのテーブルは、例えば処理対象となる文ごとに生成される。
【００３４】
図６において、「回数」は、後述するノード解析処理を行った回数を示す。「係り受け０」乃至「係り受け４」は、ノード解析処理又は下位ノード解析処理を行った対象であるノードを示す。また、「評価値」は、「係り受け０」乃至「係り受け４」の部分評価点の合計である評価値を記憶する。なお、評価値における「＜値＞」は、当該回数における最高評価値に該当することを示す。すなわち、「＜値＞」のうち、最も後に登場する値が、その時点における最高評価値である。
【００３５】
一方、図６の評価値において、「×（理由）」は、解析処理がカッコ内に示す理由により、途中で打ち切られたことを示す。例えば、回数「３３」における解析処理の評価値「×（クロス発生）」は、「係り受け２」の「Ｃ→Ｅ」と、「係り受け３」の「Ｄ→Ｆ」において、係り受け関係のクロスが生じたため、処理が打ち切られたことを記憶する。また、回数「３４」における解析処理の評価値「×（実施されず）」は、回数「３３」と同様に係り受け関係のクロスが生じるため、解析処理が実施されなかったことを記憶する。
【００３６】
さらに、例えば回数「２９」の評価値「×（ペナルティ発生）」は、「係り受け１」の「Ｂ→Ｄ」と「係り受け３」の「Ｄ→Ｇ」とが、ペナルティＤＢ１２４に記憶される特定の係り受け関係を構成するため、ペナルティが課された結果、解析処理が打ち切られたことを記憶する。また、例えば回数「７」の評価値「×（ＢｅｓｔＶａｌ−Θ２未達）」は、「係り受け２」の時点における部分評価点の小計が、閾値「ＢｅｓｔＶａｌ−Θ２」未満であったため、解析処理が打ち切られたことを記憶する。
【００３７】
図１の説明に戻って、制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されるようにしてもよい。制御部１３０は、文章取得部１３１、形態素解析部１３２、文節処理部１３３、要素特定部１３４、評価処理部１３５、標準形判定部１３６、評価値判定部１３７及び出力部１３８を有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図１に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００３８】
文章取得部１３１は、文章を取得して、文章ＤＢ１２１に記憶する。文章取得部１３１は、例えば通信部１１１を通じて外部のＷｅｂサーバやデータベースから文章を取得する。また、文章取得部１３１は、表示操作部１１２を通じて係り受け解析装置１００のユーザから入力された文章を取得する。
【００３９】
形態素解析部１３２は、文章ＤＢ１２１に記憶された文章に対して、形態素解析を行う。形態素解析部１３２は、例えば文章ＤＢ１２１に「区間記録を更新し、５人をごぼう抜きして、チームの優勝に貢献した。」という文が記憶されている場合に、係る文に対する形態素解析を行い、処理結果を記憶部１２０に一時的に記憶する。例えば、形態素解析部１３２は、上記の文を「区間｜記録｜を｜更新｜し｜、｜５｜人｜を｜ごぼう抜き｜し｜て｜、｜チーム｜の｜優勝｜に｜貢献｜し｜た｜。」という形態素に分解した結果を、記憶部１２０に記憶する。なお、形態素解析部１３２が行う処理は、例えば公知の形態素解析技術を用いるため、詳細な説明は省略する。
【００４０】
文節処理部１３３は、形態素を用いて文節を生成し、文節ＤＢ１２２に記憶する。文節処理部１３３は、例えば記憶部１２０に記憶された形態素から、「区間記録を｜更新し、｜５人を｜ごぼう抜きして、｜チームの｜優勝に｜貢献した。」という文節を生成し、文節ＤＢ１２２に記憶する。なお、文節処理部１３３が行う処理は、例えば公知の文節処理技術を用いるため、詳細な説明は省略する。
【００４１】
要素特定部１３４は、文節ＤＢ１２２に含まれる文節のうち、並列節構成要素又は述語に該当する文節を特定し、処理結果を要素ＤＢ１２３に記憶する。要素特定部１３４は、例えば文節ＤＢ１２２に記憶される文節のうち、「更新し、」及び「ごぼう抜きして、」が並列節構成要素に該当することを特定し、要素ＤＢ１２３に記憶する。また、要素特定部１３４は、文節ＤＢ１２２に記憶される文節のうち、「貢献した。」が述語に該当することを特定し、要素ＤＢ１２３に記憶する。なお、要素特定部１３４が行う処理は、例えば公知の並列節構成要素特定技術及び述語特定技術を用いるため、詳細な説明は省略する。また、要素特定部１３４は、特定部の一例である。
【００４２】
また、要素特定部１３４は、要素ＤＢ１２３に記憶された要素のうち、特定の係り受け関係を有する要素の組み合わせを特定し、ペナルティを課する。例えば、要素特定部１３４は、並列節構成要素である「更新し、」及び「ごぼう抜きして、」、並びに述語に該当する「貢献した。」を含む係り受け関係を特定し、特定された係り受け関係及び対応するペナルティを図４に示すペナルティＤＢ１２４に記憶する。
【００４３】
評価処理部１３５は、文節ＤＢ１２２に含まれる文節の係り受け関係に対する部分評価点を特定する。例えば、評価処理部１３５は、「Ａ→Ｂ」の係り受けの部分評価点「１８」を算出する。なお、評価処理部１３５は、例えば公知の係り受け評価技術を用いて部分評価点を特定するため、詳細な説明は省略する。
【００４４】
また、評価処理部１３５は、係り受け関係の組み合わせについて、特定された部分評価点を集計して係り受け関係の組み合わせの評価値を算出し、判定結果ＤＢ１２６に記憶する。例えば、評価処理部１３５は、係り受け関係「Ａ→Ｂ」、「Ｂ→Ｃ」、「Ｃ→Ｄ」、「Ｄ→Ｅ」及び「Ｅ→Ｆ」の組み合わせについて、評価値「５５」を算出し、図６に示すように判定結果ＤＢ１２６に記憶する。なお、以下において、評価処理部１３５によって算出される部分評価点の小計を「Ｖａｌ」と表記する場合がある。また、以下において、評価処理部１３５が解析した係り受け関係の組み合わせを「Ｓｅｑ」と表記する場合がある。本実施例において、Ｖａｌ及びＳｅｑの初期値はいずれも「Ｎｕｌｌ」とする。
【００４５】
標準形判定部１３６は、ペナルティＤＢ１２４を参照し、解析対象となる係り受け関係が、標準形に該当するか否かを判定する。標準形判定部１３６は、標準形に該当しないと判定された係り受け関係を含む係り受け関係の組み合わせに対して、ペナルティを課す。なお、評価処理部１３５及び標準形判定部１３６は、評価部の一例である。
【００４６】
例えば、標準形判定部１３６は、「Ｂ→Ｄ」の係り受け関係、及び「Ｄ→Ｇ」の係り受け関係について、図５に示すペナルティＤＢ１２４を参照し、当該係り受けが標準形に該当しないと判定する。そして、標準形判定部１３６は、当該係り受け関係を含む係り受け関係の組み合わせについて、図５に示すペナルティＤＢ１２４に記憶されたペナルティ「−３０」を課する。
【００４７】
評価値判定部１３７は、評価基準値ＤＢ１２５を参照し、解析対象となる係り受け関係の組み合わせの部分評価点の小計であるＶａｌが、最高評価値から評価基準値を差し引いた閾値以上であるか否かを判定する。また、評価値判定部１３７は、Ｖａｌが閾値未満である場合に、その後の係り受け関係解析処理を抑止する。なお、評価値判定部１３７は、抑止部の一例である。
【００４８】
例えば、評価値判定部１３７は、文中の全てのノードについての係り受け解析処理が終わった場合、部分評価点の小計であるＶａｌに対する閾値として、解析処理実行時点における最高評価値ＢｅｓｔＶａｌを用いる。評価値判定部１３７は、算出されたＶａｌがＢｅｓｔＶａｌを超える場合、当該Ｖａｌを新たにＢｅｓｔＶａｌに設定する。
【００４９】
また、評価値判定部１３７は、文中の個別のノードについての係り受け解析処理が終わった時点においても、部分評価点の小計であるＶａｌが閾値以上であるか否かを判定する。評価値判定部１３７は、Ｖａｌが閾値未満であると判定された係り受け関係の組み合わせに対する解析処理を打ち切る。
【００５０】
本実施例において、評価値判定部１３７は、文中の個別のノードについての係り受け解析処理が終わった時点における閾値として、ＢｅｓｔＶａｌから評価基準値ＤＢ１２５に記憶された評価基準値を減算した値を用いる。例えば、評価値判定部１３７は、「係り受け０」のノードについての係り受け解析処理が終わった時点においては、ＢｅｓｔＶａｌから、評価基準値ＤＢ１２５の「Θ０」に対応する評価基準値「８０」を減算した値を閾値として用いる。例えば、ＢｅｓｔＶａｌが「７３」である場合において、「係り受け０」のノードについての係り受け解析処理が終わった時点における閾値は、ＢｅｓｔＶａｌから評価基準値「８０」を減算した値「−７」となる。
【００５１】
なお、ＢｅｓｔＶａｌには、例えば初期値として「−∞」が設定される。この場合において、回数「１」の解析処理は、ペナルティが課されたとしても、Ｖａｌが閾値未満となることなく最後まで実行される。すなわち、回数「１」の解析処理の結果であるＶａｌが、常に最初のＢｅｓｔＶａｌとして記憶される。
【００５２】
また、評価値判定部１３７は、文中の全てのノードについての係り受け解析処理が終わった時点におけるＶａｌがＢｅｓｔＶａｌを超える場合、当該Ｖａｌに対応するＳｅｑを、ＢｅｓｔＶａｌに対応する係り受け関係の組み合わせを示すＢｅｓｔＳｅｑに設定する。本実施例において、ＢｅｓｔＳｅｑの初期値は「Ｎｕｌｌ」とする。
【００５３】
出力部１３８は、解析処理の結果を出力する。出力部１３８は、係り受け関係のクロスが生じる係り受け関係の組み合わせ、及び部分評価点が閾値未満である係り受け関係の組み合わせを除く全ての組み合わせのうち、最高評価値に該当する係り受け関係の組み合わせを特定する。そして、出力部１３８は、特定された係り受け関係の組み合わせと評価値とを、例えば表示操作部１１２に表示させる。なお、出力部１３８は、通信部１１１を通じて、ユーザが操作する端末などのその他のコンピュータに、係り受け関係の組み合わせと評価値とを送信してもよい。
【００５４】
出力部１３８が出力する係り受け関係の組み合わせと評価値との一例を図７に示す。図７は、実施例１における出力結果の一例を示す図である。図７に示すように、出力部１３８は、係り受け関係の組み合わせと評価値とを、係り受け関係を示す矢印とともに出力する。また、出力部１３８は、図７に示すように、並列節構成要素及び述語、並びに並列節構成要素間又は並列節構成要素と述語との間の並列係り受け関係を示す矢印を強調して表示させてもよい。
【００５５】
［処理の流れ］
図８Ａ乃至図８Ｃは、実施例１におけるノード解析処理の一例を示すフローチャートである。なお、係り受け解析装置１００は、例えば、表示操作部１１２を通じて利用者による処理開始の指示の入力を受けること、又は図示しない利用者の端末から通信部１１１を通じて処理開始の指示を受信することで、処理開始の指示を受け付けて、解析処理を開始する。
【００５６】
図８Ａに示すように、係り受け解析装置１００の評価処理部１３５は、処理開始の指示を受け付けるまで待機する（Ｓ１００：Ｎｏ）。評価処理部１３５は、処理開始の指示を受け付けると（Ｓ１００：Ｙｅｓ）、解析前処理を実行する（Ｓ１０１）。
【００５７】
図９は、解析前処理の一例を示すフローチャートである。図９に示すように、文章取得部１３１は、文章を取得し、文章ＤＢ１２１に記憶する（Ｓ２００）。次に、形態素解析部１３２は、文章ＤＢ１２１に記憶された文章に含まれる文について、形態素解析を実施し、処理結果を記憶部１２０に記憶する（Ｓ２０１）。そして、文節処理部１３３は、記憶部１２０に記憶された形態素解析部１３２の処理結果を用いて文節を生成し、文節ＤＢ１２２に記憶する（Ｓ２０２）。
【００５８】
図８Ａに戻って、要素特定部１３４は、ペナルティ特定処理を実行する（Ｓ１０２）。図１０は、実施例１におけるペナルティ特定処理の一例を示すフローチャートである。図１０に示すように、要素特定部１３４は、文節ＤＢ１２２に記憶された文節のうち、述語を特定し、要素ＤＢ１２３に記憶する（Ｓ３００）。次に、要素特定部１３４は、文節ＤＢ１２２に記憶された文節のうち、並列節構成要素を特定し、要素ＤＢ１２３に記憶する（Ｓ３０１）。そして、要素特定部１３４は、要素ＤＢ１２３に記憶された並列節構成要素の数Ｐを特定する（Ｓ３０２）。
【００５９】
次に、要素特定部１３４は、Ｐが２未満であるか否かを判定する（Ｓ３０３）。要素特定部１３４は、Ｐが２未満であると判定した場合（Ｓ３０３：Ｙｅｓ）、ペナルティ特定処理を終了する。一方、要素特定部１３４は、Ｐが２未満ではないと判定した場合（Ｓ３０３：Ｎｏ）、すなわち並列節構成要素が２つ以上であると判定した場合、変数ｑにＰを代入し、変数ｒに１を代入する（Ｓ３０４）。
【００６０】
そして、要素特定部１３４は、（ｑ−ｒ）番目に登場する並列節構成要素を係り元とし、ｑ番目に登場する並列節構成要素を係り先とする係り受け関係ＡをペナルティＤＢ１２４に記憶する。さらに、要素特定部１３４は、ｑ番目に登場する並列節構成要素を係り元とし、述語を係り先とする係り受け関係Ｂを、係り受け関係Ａ及びペナルティと対応付けて、ペナルティＤＢ１２４に記憶する（Ｓ３０５）。係り受け関係Ａは、例えば、Ｐ番目の並列節構成要素の１個前に登場する並列節構成要素を係り元とし、Ｐ番目の並列節構成要素を係り先とする。また、係り受け関係Ｂは、Ｐ番目の並列節構成要素を係り元とし、述語を係り先とする。要素特定部１３４は、例えば図４に示すような係り受け関係とペナルティとをペナルティＤＢ１２４に記憶する。
【００６１】
次に、要素特定部１３４は、ｒを１インクリメントして（Ｓ３０６）、ｑ−ｒが１より大きいか否かを判定する（Ｓ３０７）。要素特定部１３４は、ｑ−ｒが１より大きいと判定した場合（Ｓ３０７：Ｙｅｓ）、すなわち、ｑよりｒ個前に登場する並列節構成要素が存在すると判定した場合、Ｓ３０５に戻って処理を繰り返す。一方、要素特定部１３４は、ｑ−ｒが１以下であると判定した場合（Ｓ３０７：Ｎｏ）、ｑを１デクリメントし、ｒに１を代入する（Ｓ３０８）。
【００６２】
そして、要素特定部１３４は、ｑ＞１であるか否かを判定する（Ｓ３０９）。要素特定部１３４は、ｑ＞１であると判定した場合（Ｓ３０９：Ｙｅｓ）、すなわち、ペナルティＤＢ１２４に記憶されていない並列節構成要素が残っていると判定した場合、Ｓ３０５に戻って処理を繰り返す。一方、要素特定部１３４は、ｑ＞１ではないと判定した場合（Ｓ３０９：Ｎｏ）、ｑに（Ｐ−１）を代入し、ｒに２を代入し、さらにｓに１を代入する（Ｓ３１０）。
【００６３】
そして、要素特定部１３４は、ｑ＝２であるか否かを判定する（Ｓ３１１）。要素特定部１３４は、ｑ＝２であると判定した場合（Ｓ３１１：Ｙｅｓ）、すなわち、並列節構成要素又は述語からなる全ての係り受けについて、ペナルティの設定を完了した場合、処理を終了する。一方、要素特定部１３４は、ｑ＝２ではないと判定した場合（Ｓ３１１：Ｎｏ）、（ｑ−ｒ）番目の並列節構成要素を係り元とし、（ｑ−ｓ）番目の並列節構成要素を係り先とする係り受け関係ＣをペナルティＤＢ１２４に記憶する。さらに、要素特定部１３４は、（ｑ−ｓ）番目の並列節構成要素を係り元とし、ｑ番目の並列節構成要素を係り先とする係り受け関係Ｄを、係り受け関係Ｃ及びペナルティと対応付けて、ペナルティＤＢ１２４に記憶する（Ｓ３１２）。例えば、係り受け関係Ｃは、（Ｐ−２）番目の並列節構成要素を係り元とし、（Ｐ−１）番目の並列節構成要素を係り先とする。また、係り受け関係Ｄは、例えば、（Ｐ−１）番目の並列節構成要素を係り元とし、Ｐ番目の並列節構成要素を係り先とする。
【００６４】
次に、要素特定部１３４は、ｒを１インクリメントして（Ｓ３１３）、ｑ−ｒが１より大きいか否かを判定する（Ｓ３１４）。要素特定部１３４は、ｑ−ｒが１より大きいと判定した場合（Ｓ３１４：Ｙｅｓ）、すなわち、ｑよりｒ個前に登場する並列節構成要素が存在すると判定した場合、Ｓ３１２に戻って処理を繰り返す。一方、要素特定部１３４は、ｑ−ｒが１以下であると判定した場合（Ｓ３１４：Ｎｏ）、ｓを１インクリメントし、ｒにｓ＋１を代入する（Ｓ３１５）。
【００６５】
そして、要素特定部１３４は、ｑ−ｓ＞１であるか否かを判定する（Ｓ３１６）。要素特定部１３４は、ｑ−ｓ＞１であると判定した場合（Ｓ３１６：Ｙｅｓ）、すなわち、ｑよりｓ個前に登場する並列節構成要素が存在すると判定した場合、Ｓ３１２に戻って処理を繰り返す。一方、要素特定部１３４は、ｑ−ｓ＞１ではないと判定した場合（Ｓ３１６：Ｎｏ）、ｑを１デクリメントし、ｒに２を代入し、さらにｓに１を代入する（Ｓ３１７）。
【００６６】
そして、要素特定部１３４は、ｑ＞２であるか否かを判定する（Ｓ３１８）。要素特定部１３４は、ｑ＞２であると判定した場合（Ｓ３１８：Ｙｅｓ）、Ｓ３１２に戻って処理を繰り返す。一方、要素特定部１３４は、ｑ＞２ではないと判定した場合（Ｓ３１８：Ｎｏ）、すなわち、並列節構成要素又は述語からなる全ての係り受けについて、ペナルティの設定を完了した場合、処理を終了する。
【００６７】
図８Ａに戻って、評価処理部１３５は、ＢｅｓｔＶａｌ、ＢｅｓｔＳｅｑ、及びｉ０乃至ｉ（ｍ）を初期化する（Ｓ１０３）。上述したように、本実施例において、ＢｅｓｔＶａｌの初期値は「−∞」とする。また、ＢｅｓｔＳｅｑの初期値は「Ｎｕｌｌ」とする。なお、本実施例において、ｉ（ｍ）は、係り受け（ｍ）の係り先を示す。本実施例におけるｉ（ｍ）の初期値は「ｍ」である。
【００６８】
また、評価処理部１３５は、現在の評価値Ｖａｌ、現在の係り受け関係の組み合わせＳｅｑ、及びｍをそれぞれ初期化する（Ｓ１０４）。上述したように、本実施例において、Ｖａｌ及びＳｅｑの初期値はいずれも「Ｎｕｌｌ」である。また、本実施例におけるｍの初期値は「０」である。本実施例において、「０」は、係り元の文節が最初の文節「Ａ」であることを示す。すなわち、本実施例における解析処理は、最初の文節「Ａ」を係り元とする係り受け関係から開始される。
【００６９】
次に、評価処理部１３５は、文節「Ａ」の係り先である「ｉ０」を１インクリメントする（Ｓ１０５）。本実施例において、「ｉ０＝１」は、係り元である最初の文節の係り先が、文の最初から２番目に登場する文節「Ｂ」であることを示す。すなわち、本実施例における解析処理は、最初の文節「Ａ」を係り元とし、文節「Ａ」の次に登場する文節「Ｂ」を係り先とする係り受け関係から開始される。
【００７０】
そして、評価処理部１３５は、「ｉ０＝Ｎ」であるか否かを判定する（Ｓ１０６）。本実施例において、最後の文節は「Ｎ−１」である。すなわち、評価処理部１３５は、Ｓ１０５においてｉ０が１インクリメントされた結果、「ｉ０＝Ｎ」であると判定された場合、係り元の文節「Ａ」について、最後の文節を係り先とする係り受け関係の解析処理が終了したと判定する。評価処理部１３５は、「ｉ０＝Ｎ」であると判定した場合（Ｓ１０６：Ｙｅｓ）、端子Ａを通じて図８ＣのＳ１２５に移行する。
【００７１】
一方、評価処理部１３５は、「ｉ０＝Ｎ」ではないと判定した場合（Ｓ１０６：Ｎｏ）、係り受け関係の部分評価点「ｖ０（ｉ０）」を算出する（Ｓ１０７）。例えば、評価処理部１３５は、「ｖ０（ｉ０）」として、文節「Ａ」を係り元とし、文節「Ｂ」を係り先とする係り受け関係の部分評価点を算出する。そして、評価処理部１３５は、算出されたｖ０（ｉ０）を、Ｖａｌに加算する（Ｓ１０８）。
【００７２】
次に、評価処理部１３５は、Ｖａｌが最初のノードの解析処理が終了した段階における閾値「ＢｅｓｔＶａｌ−Θ０」未満であるか否かを判定する（Ｓ１０９）。評価処理部１３５は、ＶａｌがＢｅｓｔＶａｌ−Θ０未満であると判定した場合（Ｓ１０９：Ｙｅｓ）、Ｓ１０５に移行する。すなわち、評価処理部１３５は、最初のノードの解析処理が終了した段階における部分評価点が閾値未満である場合、その段階で解析処理を打ち切るとともに、その後のノード群についての処理を抑止する（枝刈りする）。
【００７３】
一方、評価処理部１３５は、ＶａｌがＢｅｓｔＶａｌ−Θ０以上であると判定した場合（Ｓ１０９：Ｎｏ）、最も後ろに登場する係り先文節「ｌａｓｔ」に「ｉ０」を代入する（Ｓ１１０）。なお、「ｌａｓｔ」は、後に説明する下位ノード解析処理において、係り受け関係のクロスが生じるか否かを判定するために用いられる。
【００７４】
そして、評価処理部１３５は、Ｓｅｑに「０→ｉ０」を追加する（Ｓ１１１）。本実施例において、Ｓｅｑは、例えば図６に示す判定結果ＤＢ１２６に記憶される。例えば、評価処理部１３５は、図６に示すように、回数「１」に対応して「Ａ→Ｂ」を判定結果ＤＢ１２６に記憶する。
【００７５】
また、評価処理部１３５は、ｍを１インクリメントする（Ｓ１１２）。すなわち、評価処理部１３５は、最初の文節「Ａ」を係り元とするノードの解析処理が終了すると、文の最初から２番目に登場する文節「Ｂ」を係り元とするノードの解析処理を実行する。
【００７６】
図８Ｂに移って、評価処理部１３５は、「ｉ（ｍ）＝Ｎ」であるか否かを判定する（Ｓ１１３）。すなわち、評価処理部１３５は、係り元となる対象文節ｍについて、最後の文節を係り先とする係り受け関係の解析処理が終了したか否かを判定する。評価処理部１３５は、「ｉ（ｍ）＝Ｎ」であると判定した場合（Ｓ１１３：Ｙｅｓ）、ｉ（ｍ）に（ｍ＋１）を代入する、すなわちｉ（ｍ）を初期化する（Ｓ１２４）。その後、評価処理部１３５は、Ｓ１２０に移行する。
【００７７】
一方、評価処理部１３５は、「ｉ（ｍ）＝Ｎ」ではないと判定した場合（Ｓ１１３：Ｎｏ）、下位ノード解析処理を実行する（Ｓ１１４）。図１１は、実施例１における下位ノード解析処理の一例を示すフローチャートである。図１１に示すように、評価処理部１３５は、ｉ（ｍ）がｌａｓｔより大きいか、すなわち対象文節ｍの係り先ｉ（ｍ）がｌａｓｔより後ろに登場するか否かを判定する（Ｓ４００）。評価処理部１３５は、ｉ（ｍ）がｌａｓｔ以下であると判定した場合（Ｓ４００：Ｎｏ）、Ｓ４０３に移行する。
【００７８】
一方、評価処理部１３５は、ｉ（ｍ）がｌａｓｔより大きいと判定した場合（Ｓ４００：Ｙｅｓ）、係り受け関係のクロスが生じるか否かを判定する。例えば、評価処理部１３５は、ｍがｌａｓｔより小さいか否か、すなわち対象文節ｍがｌａｓｔより先に登場するか否かを判定する（Ｓ４０１）。評価処理部１３５は、ｍがｌａｓｔ以上であると判定した場合（Ｓ４０１：Ｎｏ）、ｌａｓｔにｉ（ｍ）を代入する（Ｓ４０２）。すなわち、ｉ（ｍ）が最も後ろに登場する係り先文節であることを設定する。その後、評価処理部１３５は、Ｓ４０３に移行する。一方、評価処理部１３５は、ｍがｌａｓｔより小さいと判定した場合（Ｓ４０１：Ｙｅｓ）、係り受け関係のクロスが生じたと判定して下位ノード解析処理を打ち切り、Ｓ１２０に移行する。
【００７９】
評価処理部１３５は、係り受け関係のクロスが生じないと判定した場合、対象文節ｍの係り元及び係り先との係り受け関係が、ペナルティ対象に該当するか、すなわち標準形以外の係り受け関係に該当するか否かを判定する（Ｓ４０３）。例えば、評価処理部１３５は、対象文節ｍの係り元及び係り先との係り受け関係が図４に示すペナルティＤＢ１２４に記憶されているか否かを判定する。
【００８０】
評価処理部１３５は、係り元及び係り先との係り受け関係が、ペナルティ対象に該当すると判定した場合（Ｓ４０３：Ｙｅｓ）、ペナルティＤＢ１２４に記憶されたペナルティをＶａｌから減算し（Ｓ４０４）、Ｓ４０５に移行する。一方、評価処理部１３５は、係り元及び係り先との係り受け関係が、ペナルティ対象に該当しないと判定した場合（Ｓ４０３：Ｎｏ）、Ｓ４０５に移行する。
【００８１】
次に、評価処理部１３５は、係り受け関係の部分評価点「ｖ（ｍ）（ｉ（ｍ））」を算出する（Ｓ４０５）。例えば、評価処理部１３５は、「ｖ（ｍ）（ｉ（ｍ））」として、文節「Ｂ」を係り元とし、文節「Ｃ」を係り先とする係り受け関係の部分評価点を算出する。そして、評価処理部１３５は、算出されたｖ（ｍ）（ｉ（ｍ））を、Ｖａｌに加算する（Ｓ４０６）。
【００８２】
次に、評価処理部１３５は、Ｖａｌが対象となる下位ノードの解析処理が終了した段階における閾値「ＢｅｓｔＶａｌ−Θ（ｍ）」未満であるか否かを判定する（Ｓ４０７）。評価処理部１３５は、ＶａｌがＢｅｓｔＶａｌ−Θ（ｍ）未満であると判定した場合（Ｓ４０７：Ｙｅｓ）、Ｓ１２０に移行する。すなわち、評価処理部１３５は、対象となる下位ノードの解析処理が終了した段階における部分評価点が閾値未満である場合、その段階で解析処理を打ち切るとともに、その後のノード群についての処理を抑止する（枝刈りする）。
【００８３】
一方、評価処理部１３５は、ＶａｌがＢｅｓｔＶａｌ−Θ（ｍ）以上であると判定した場合（Ｓ４０７：Ｎｏ）、Ｓｅｑに「ｍ→ｉ（ｍ）」を追加する（Ｓ４０８）。例えば、評価処理部１３５は、図６に示すように、回数「１」に対応して「Ｂ→Ｃ」を判定結果ＤＢ１２６に記憶する。
【００８４】
図８Ｂに戻って、評価処理部１３５は、ｍを１インクリメントする（Ｓ１１５）。そして、評価処理部１３５は、ｍ＝Ｎ−２であるか、すなわち係り元となる対象文節ｍが文の最後から２番目に登場する文節「Ｆ」に該当するか否かを判定する（Ｓ１１６）。評価処理部１３５は、ｍ＝Ｎ−２ではないと判定した場合（Ｓ１１６：Ｎｏ）、つまり文の最後から３番目に登場する文節「Ｅ」を係り元とする下位ノード解析処理が終了していないと判定した場合、Ｓ１１４に戻って処理を繰り返す。すなわち、評価処理部１３５は、次のノードについて再度下位ノード判定処理を実行する。
【００８５】
一方、評価処理部１３５は、ｍ＝Ｎ−２であると判定した場合（Ｓ１１６：Ｙｅｓ）、つまり文の最後から３番目に登場する文節「Ｅ」を係り元とする下位ノード解析処理までが終了したと判定した場合、Ｓ１１７に移行する。
【００８６】
そして、評価処理部１３５は、全てのノードの部分評価点を集計したＶａｌが、ＢｅｓｔＶａｌを超えるか否かを判定する（Ｓ１１７）。評価処理部１３５は、ＶａｌがＢｅｓｔＶａｌを超えると判定した場合（Ｓ１１７：Ｙｅｓ）、ＢｅｓｔＶａｌにＶａｌを代入する（Ｓ１１８）。さらに、評価処理部１３５は、ＢｅｓｔＳｅｑにＳｅｑを代入する（Ｓ１１９）。すなわち、評価処理部１３５は、解析処理が完了した係り受け関係の組み合わせにおける評価値を最高評価値として設定し、係り受け関係の組み合わせを記憶する。一方、評価処理部１３５は、ＶａｌがＢｅｓｔＶａｌ以下であると判定した場合（Ｓ１１７：Ｎｏ）、Ｓ１２０に移行する。以上の処理により、図６に示す判定結果ＤＢ１２６における１回分のレコードが記憶される。
【００８７】
次に、評価処理部１３５は、Ｖａｌを初期化し、記憶部１２０に記憶されたＳｅｑを１段削除する（Ｓ１２０）。そして、評価処理部１３５は、係り元となる対象文節ｍを１デクリメントする（Ｓ１２１）。すなわち、評価処理部１３５は、一つ前のノードに遡って、再び解析処理を実行する。
【００８８】
そして、評価処理部１３５は、ｍ＝０であるか否かを判定する（Ｓ１２２）。つまり、評価処理部１３５は、下位ノード解析処理を繰り返し、最初の文節を係り元とするノードまで遡ったか否かを判定する。評価処理部１３５は、ｍ＝０であると判定した場合（Ｓ１２２：Ｙｅｓ）、端子Ｄを通じてＳ１０５に戻る。すなわち、最初の文節「Ａ」を係り元とする新たな係り受け関係について解析処理を繰り返す。一方、評価処理部１３５は、ｍ＝０ではないと判定した場合（Ｓ１２２：Ｎｏ）、ｉ（ｍ）を１インクリメントする（Ｓ１２３）。その後、評価処理部１３５は、端子Ｂを通じてＳ１１３に戻る。すなわち、まだ解析が完了していないノードについて下位ノード解析処理を繰り返す。
【００８９】
以上説明した処理を繰り返した結果、出力部１３８は、例えば図８Ｃに示すように、特定されたＢｅｓｔＶａｌ及びＢｅｓｔＳｅｑを出力し（Ｓ１２５）、処理を終了する。
【００９０】
［効果］
このように、本実施例における係り受け解析装置１００は、所定の標準形に該当しないと判定された係り受け関係について、係り受け解析の評価点に対して、所定のペナルティを課し、係り受け解析の評価処理を抑止する。ペナルティを課された係り受け関係の組み合わせは、部分評価点の小計が所定の閾値未満であると判定され、以後の解析が打ち切られる可能性が高い。これにより、係り受け解析装置１００は、文の係り受け解析に要する処理時間を削減できる。本実施例においては、並列節構成要素が２つである例を説明したが、並列節構成要素が多くなるほど、本実施例において削減できる処理時間は大きくなる。また、本実施例における係り受け解析装置１００は、ペナルティが課されない係り受け関係の組み合わせについては、現時点での最高評価値にかかわらず解析処理を実行するので、最高評価値候補である係り受け関係の組み合わせを見落とすことを抑止できる。
【実施例２】
【００９１】
実施例１においては、全ての並列節構成要素が述語を係り先とする係り受け関係を標準形とし、複数の並列節構成要素と述語との数珠つなぎが発生するような係り受け関係にペナルティを課す例を説明したが、これに限られない。
【００９２】
例えば、複数の並列節を含む文においては、全ての並列節が述語を係り先とする場合だけでなく、複数の並列節構成要素と述語とが数珠つなぎの係り受け関係を含む係り受け関係の組み合わせも正解となる場合があるためである。そこで、実施例１とは逆に、逆に複数の並列節構成要素と述語との数珠つなぎが発生するような係り受け関係を標準形とし、複数の並列節構成要素が述語を係り先とする係り受け関係にペナルティを課すように実現してもよい。
【００９３】
本実施例における係り受け解析装置２００は、ペナルティＤＢ１２４に代えてペナルティＤＢ２２４を有し、要素特定部１３４に代えて要素特定部２３４を有する他は、実施例１における係り受け解析装置１００と同様の構成により実現される。図１２は、実施例２におけるペナルティＤＢの一例を示す図である。図１２に示すように、ペナルティＤＢ２２４は、複数の並列節構成要素「Ｂ」及び「Ｄ」が、ともに述語「Ｇ」を係り先とする係り受け関係に対して、ペナルティ「−１０」を課すことを記憶する。
【００９４】
なお、図４及び図１２に示すように、特定の係り受け関係に課されるペナルティは一例であり、任意に変更してもよい。例えば、係り受け解析装置１００は、特定の係り受け関係に最大評価値より大きいペナルティを課す場合、特定の係り受け関係を含む係り受け関係に対する一切の解析処理を打ち切ることができる。一方、係り受け解析装置１００は、特定の係り受け関係に課すペナルティを小さくすることにより、部分評価点の高い係り受け関係については、特定の係り受け関係を含んでいても解析処理を継続することができる。
【００９５】
また、本実施例において、要素特定部２３４は、図１０に示すペナルティ特定処理に代えて、複数の並列節構成要素が述語を係り先とする係り受け関係についてペナルティを設定する処理を行う。
【００９６】
本実施例における、ペナルティＤＢ２２４を用いた解析処理の結果の一例を、図１３を用いて説明する。図１３は、実施例２における出力結果の一例を示す図である。図１３に示すように、本実施例においては、並列節構成要素「Ｂ」及び「Ｄ」と、述語「Ｇ」とが数珠つなぎとなる係り受け関係を含む係り受け関係の組み合わせが、ＢｅｓｔＳｅｑとして提示される。一方、本実施例においては、図７に示すような並列節構成要素「Ｂ」及び「Ｄ」がともに述語「Ｇ」を係り先とする係り受け関係にはペナルティが課されるので、当該係り受け関係を含む係り受け関係の組み合わせに対する解析処理は枝刈りされる。
【００９７】
このように、本実施例においては、複数の並列節構成要素が述語を係り先とする係り受け関係にペナルティを課すので、正解となる係り受け関係の組み合わせを見落とすことを抑止しながら、文の係り受け解析に要する処理時間を削減できる。
【実施例３】
【００９８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【００９９】
例えば、実施例１の図８Ａ乃至図８Ｃにおいて、最初のノードから順に解析処理を実行する構成について説明したが、実施の形態はこれに限られない。例えば、評価処理部１３５が、対象ノードの係り元が並列節構成要素に該当するか否かを判定し、並列節構成要素を係り元とするノードの解析処理を優先して実行するような構成であってもよい。
【０１００】
上記の実施例においては、並列節構成要素を含む係り受け関係が標準形に該当しない場合にペナルティを課すことにより、当該係り受け関係を含むノード群に対するその後の解析処理を枝刈りする。すなわち、解析処理の早い段階においてペナルティが課されることにより、枝刈りされる対象となるノードが多くなるので、上記の実施例における処理時間の削減の効果をより大きくすることができる。
【０１０１】
また、実施例１の図８Ａ乃至図８Ｃ及び図１１に示す解析処理において、評価処理部１３５が、並列節構成要素を係り元とするノードの係り先が並列節構成要素又は述語に該当するか否かを判定し、該当しないと判定した場合に以後の解析処理を枝刈りしてもよい。日本語の係り受け関係の一般的な原則によれば、並列節構成要素の係り先は、並列節構成要素又は述語となるためである。係る構成により、上記の実施例における処理時間の削減の効果をより大きくすることができる。
【０１０２】
また、図４に示すペナルティＤＢ１２４又は図１２に示すペナルティＤＢ２２４が、標準形に該当するか否かに関係なく、複数の並列節構成要素の係り受け関係、及び複数の並列節構成要素と述語との係り受け関係全てについて記憶するような構成であってもよい。この場合において、例えばペナルティＤＢ１２４は、標準形に該当する係り受け関係「Ｂ→ＧかつＤ→Ｇ」に対応付けて、ペナルティ「０」を記憶する。
【０１０３】
また、図５に示す評価基準値ＤＢ１２５が、最高評価値から減算される固定値を記憶する例を示したが、これに限られず、例えば評価基準値ＤＢ１２５が最高評価値に乗じる割合を記憶するような構成であってもよい。例えば、評価基準値ＤＢ１２５が、「Θ０」においては「１０％」を記憶してもよい。この場合において、評価値判定部１３７は、第１段階のノードの解析処理が終了した時点における部分評価点が、最高評価点に「１０％」を乗じた閾値以上であるかを判定する。なお、Ｖａｌの値は、解析処理を行うノードが増えるたびに増加するので、評価基準値ＤＢ１２５には、「Θ０」に最も小さな値又は割合が記憶され、「Θ１」、「Θ２」と進むごとにより大きな値又は割合が記憶される。
【０１０４】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、標準形判定部１３６と評価値判定部１３７とを統合してもよい。また、図示した各処理は、上記の順番に限定されるものではなく、処理内容を矛盾させない範囲において、同時に実施してもよく、順序を入れ替えて実施してもよい。
【０１０５】
例えば、係り受け解析装置１００が、文章取得部１３１、形態素解析部１３２及び文節処理部１３３を含まないような構成であってもよい。かかる構成において、係り受け解析装置１００は、例えば図２に示すような文章取得部１３１、形態素解析部１３２及び文節処理部１３３における処理結果を外部から取得する。
【０１０６】
さらに、各装置で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
【０１０７】
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図１４は、係り受け解析プログラムを実行するコンピュータの一例を示す図である。なお、図１４においては、係り受け解析装置１００について説明するが、係り受け解析装置２００についても同様のコンピュータ１０００により実現することができる。
【０１０８】
図１４に示すように、コンピュータ１０００は、各種演算処理を実行するＣＰＵ１０１と、データ入力を受け付ける入力装置１０２と、モニタ１０３とを有する。また、コンピュータ１０００は、記憶媒体からプログラム等を読み取る媒体読取装置１０４と、各種装置と接続するためのインタフェース装置１０５と、他の情報処理装置等と有線または無線により接続するための通信装置１０６とを有する。また、コンピュータ１０００は、各種情報を一時記憶するＲＡＭ１０７と、ハードディスク装置１０８とを有する。また、各装置１０１〜１０８は、バス１０９に接続される。
【０１０９】
ハードディスク装置１０８には、図１に示した文章取得部１３１、形態素解析部１３２、文節処理部１３３及び要素特定部１３４の各処理部と同様の機能を有する係り受け解析プログラムが記憶される。また、ハードディスク装置１０８には、図１に示した評価処理部１３５、標準形判定部１３６、評価値判定部１３７及び出力部１３８の各処理部と同様の機能を有する係り受け解析プログラムが記憶される。さらに、ハードディスク装置１０８には、文章ＤＢ１２１、文節ＤＢ１２２、要素ＤＢ１２３、ペナルティＤＢ１２４、評価基準値ＤＢ１２５、判定結果ＤＢ１２６、および、係り受け解析プログラムを実現するための各種データが記憶される。入力装置１０２は、例えば、コンピュータ１０００のユーザから操作情報等の各種情報の入力を受け付ける。モニタ１０３は、例えば、コンピュータ１０００のユーザに対して出力画面等の各種画面を表示する。媒体読取装置１０４は、記憶媒体から文を読み取る。インタフェース装置１０５は、例えば印刷装置等が接続される。通信装置１０６は、例えば、図示しないネットワークと接続され、他の情報処理装置と各種情報をやりとりする。
【０１１０】
ＣＰＵ１０１は、ハードディスク装置１０８に記憶された各プログラムを読み出して、ＲＡＭ１０７に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ１０００を図１に示した文章取得部１３１、形態素解析部１３２、文節処理部１３３、要素特定部１３４、評価処理部１３５、標準形判定部１３６、評価値判定部１３７及び出力部１３８として機能させることができる。
【０１１１】
なお、上記の係り受け解析プログラムは、必ずしもハードディスク装置１０８に記憶されている必要はない。例えば、コンピュータ１０００が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。コンピュータ１０００が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢメモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこの係り受け解析プログラムを記憶させておき、コンピュータ１０００がこれらから係り受け解析プログラムを読み出して実行するようにしてもよい。
【符号の説明】
【０１１２】
１００  係り受け解析装置
１１１  通信部
１１２  表示操作部
１２０  記憶部
１２１  文章ＤＢ
１２２  文節ＤＢ
１２３  要素ＤＢ
１２４  ペナルティＤＢ
１２５  評価基準値ＤＢ
１２６  判定結果ＤＢ
１３０  制御部
１３１  文章取得部
１３２  形態素解析部
１３３  文節処理部
１３４  要素特定部
１３５  評価処理部
１３６  標準形判定部
１３７  評価値判定部
１３８  出力部
【図１】
2018077687.tif 000003
【図２】
2018077687.tif 000004
【図３】
2018077687.tif 000005
【図４】
2018077687.tif 000006
【図５】
2018077687.tif 000007
【図６】
2018077687.tif 000008
【図７】
2018077687.tif 000009
【図８Ａ】
2018077687.tif 000010
【図８Ｂ】
2018077687.tif 000011
【図８Ｃ】
2018077687.tif 000012
【図９】
2018077687.tif 000013
【図１０】
2018077687.tif 000014
【図１１】
2018077687.tif 000015
【図１２】
2018077687.tif 000016
【図１３】
2018077687.tif 000017
【図１４】
2018077687.tif 000018