(57)【要約】【課題】文の解析に必要な既出の文の特定を効率化すること。【解決手段】解析プログラムは、複数の文を１文ずつ解析対象とし、解析対象の文が特定の表現を含むか否かを判定し、解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する、処理をコンピュータに実行させる。【選択図】図３
2017220009.tif 000002
【特許請求の範囲】
【請求項１】
複数の文を１文ずつ解析対象とし、
解析対象の文が特定の表現を含むか否かを判定し、
解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する、
処理をコンピュータに実行させることを特徴とする解析プログラム。
【請求項２】
前記特定の表現は、限定を意味する表現である、
ことを特徴とする請求項１記載の解析プログラム。
【請求項３】
複数の述語の表現を、意味の共通性に基づいて分類した結果を示す情報を参照して、前記第１の文の述語の意味と、前記第２の文の述語の意味とを比較する、
処理をコンピュータに実行させることを特徴とする請求項１又は２記載の解析プログラム。
【請求項４】
複数の文を１文ずつ解析対象とし、
解析対象の文が特定の表現を含むか否かを判定し、
解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する、
処理をコンピュータに実行させることを特徴とする解析方法。
【請求項５】
複数の文を１文ずつ解析対象とする解析装置であって、
解析対象の文が特定の表現を含むか否かを判定する判定部と、
解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する特定部と、
を有することを特徴とする解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、解析プログラム、解析方法、及び解析装置に関する。
【背景技術】
【０００２】
オブジェクト指向のアイデアを用いて自然言語処理を実行するシステムが検討されている（例えば、非特許文献１）。基本的には、名詞は、オブジェクトとして登録される。概ね形容詞は、オブジェクトの属性に対応する。動詞によって表される動作やイベントによって、オブジェクトの属性が変化する。
【０００３】
例えば、「太郎が花子に本を渡した」という文について、太郎、花子、本がオブジェクトとして登録される。太郎の所有物リスト属性から本が落ち、花子の所有物リスト属性に当該本が入る。また、本の所有者属性は、太郎から花子に変わる。
【０００４】
このような処理が、文の出現順に実行されるが、或る種の文は、即時に属性として処理することができず、トリガ処理における参照対象とされる必要が有る。ここで、トリガ処理とは、文の出現に応じて当該文に関して実行される、既出の文との整合性チェックや各種の解析の評価等に関する処理をいう。
【０００５】
例えば、「クラスで５０ｍ泳げるのは太郎だけだ」のように、「だけ」又は「しか」等の副助詞を含む文が、トリガ処理として実装される必要が有る文に該当する。すなわち、後で「次郎が１００ｍ泳いだ」という文が出現した時点で、「次郎は太郎と同じクラスか？」をチェックする必要がある（太郎の文を見た時点では何もできない。）。
【０００６】
また、「次郎が…三郎が…１００ｍ泳いだ」という文の述語項解析で、「泳いだ」の主語が、次郎か三郎かを判定する際、次郎が太郎と同じクラスで三郎がそうでないなら、次郎が主語ではないはず、という情報を使うことができる。
【０００７】
なお、「太郎はクラスでいちばん背が高い」のように最上級の表現を含む文についても同様に、トリガ処理として実装される必要がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０７−１７５８０８号公報
【特許文献２】特開平０４−２２０７６７号公報
【特許文献３】特開昭６３−３０５４６４号公報
【特許文献４】特開２０１１−０１３７７６号公報
【非特許文献】
【０００９】
【非特許文献１】伊藤英紀. オブジェクト指向的アプローチによる係り受け/語義曖昧性解決/照応解析/述語項解析システム.  研究報告自然言語処理（NL）, 2014-NL-218(1),1-7 (2014)
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、トリガ処理を単純に実装すると、各文が出現するたびに、以前に出現した全ての文に対してチェックを行うことになり、計算時間が大きくなるという問題点がある。
【００１１】
そこで、一側面では、本発明は、文の解析に必要な既出の文の特定を効率化することを目的とする。
【課題を解決するための手段】
【００１２】
一つの態様では、解析プログラムは、複数の文を１文ずつ解析対象とし、解析対象の文が特定の表現を含むか否かを判定し、解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する、処理をコンピュータに実行させる。
【発明の効果】
【００１３】
一側面として、文の解析に必要な既出の文の特定を効率化することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態における解析装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における解析装置の機能構成例を示す図である。
【図３】解析装置が実行する処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における解析装置のハードウェア構成例を示す図である。図１の解析装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１６】
解析装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１７】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って解析装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１８】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１９】
図２は、本発明の実施の形態における解析装置の機能構成例を示す図である。図２において、解析装置１０は、文解析部１１、基本同義語原形取得部１２、トリガ対象特定部１３、トリガ処理部１４、要トリガ判定部１５、及び文登録部１６等を有する。これら各部は、解析装置１０にインストールされた１以上のプログラムが、ＣＰＵ１０４に実行させる処理により実現される。解析装置１０は、また、基本同義語原形辞書記憶部１７及び文配列記憶部１８等を利用する。これら各記憶部は、例えば、補助記憶装置１０２、メモリ装置１０３、又は解析装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００２０】
文解析部１１は、文集合に属する各文について、既存の自然言語処理（例えば、述語項解析や照応解析等）を実行する。文解析部１１による処理の結果として、例えば、文の意味構造を示すデータ（以下、「意味データ構造」という。）が出力される。文集合は、意味的に前後関係を有する複数の文の集合（例えば、文章）である。文は、日本語の平文である。なお、各文は、文集合における前後関係の順に１文ずつ解析対象とされる。
【００２１】
なお、述語項解析については、「Hajic et al. The CoNLL-2009 Shared Task: Syntactic and Semantic Dependencies in Multiple Languages.  In Proceedings of the Thirteenth Conference on Computational Natural Language Learning, 2009」等に詳しい。
【００２２】
基本同義語原形取得部１２は、各文の述語の基本同義語原形を、基本同義語原形辞書記憶部１７から取得する。本実施の形態において基本同義語原形とは、述語（動詞や形容詞等）が意味する概念の表現として代表的に（一般的に）利用される単語の原形いう。例えば、「ジョギングする」、「かける」、「走った」の基本同義語原形は、「走る」である。基本同義語原形とは、各基本同義語原形に対して、当該基本同義語原形と同じ意味の表現が対応付けられたデータである。すなわち、基本同義語原形辞書は、複数の述語の表現を、意味の共通性に基づいて分類した結果を示す情報であるといえる。
【００２３】
要トリガ判定部１５は、各文について、トリガ処理の参照対象（以下、「要トリガ文」という。）であるか否かを判定する。トリガ処理とは、文の出現に応じて当該文に関して実行される、前の文との整合性チェックや各種の解析の評価を行う処理をいう。本実施の形態では、特定の表現を含む文が要トリガ文であると判定される。特定の表現を含む文とは、例えば、「だけ」、「しか」等の副助詞を含む文や、最上級の表現を含む文である。すなわち、限定を意味する表現を含む文が、要トリガ文であると判定される。
【００２４】
トリガ対象特定部１３は、各文について、トリガ処理において参照対象とされる前の文（要トリガ文）を特定する。
【００２５】
トリガ処理部１４は、トリガ対象特定部１３によって要トリガ文が特定された文について、当該要トリガ文を参照して、当該文に対するトリガ処理を行う。なお、本実施の形態において、トリガ処理の内容は特定のものに限定されない。解析装置１０が、各文についてどのような解析を目的とするのか等に応じてトリガ処理の内容は異なってよい。
【００２６】
文登録部１６は、各文について、意味データ構造、トリガチェックフラグ、基本同義語原形を含むレコードを、文配列記憶部１８に記憶する。トリガチェックフラグとは、要トリガ判定部１５による判定結果を示す情報であり、０又は１の値を採りうる。０は、要トリガ文でないことを示す。１は、要トリガ文であることを示す。なお、基本同義語原形は、要トリガ文についてのみ文配列記憶部１８に記憶されてもよい。
【００２７】
なお、各文について、非特許文献１に開示されたような解析が行われてもよい。すなわち、各文の名詞がオブジェクトとされ、形容詞がオブジェクトの属性とされ、動詞によってオブジェクトの属性が変化してもよい。
【００２８】
以下、解析装置１０が実行する処理手順について説明する。図３は、解析装置が実行する処理手順の一例を説明するためのフローチャートである。
【００２９】
ステップＳ１０１において、文解析部１１は、文集合のうち、未処理の文の中で先頭の１文を解析対象として読み込む。解析対象の文を以下「対象文」という。
【００３０】
続いて、文解析部１１は、対象文について所定の自然言語処理を実行する（Ｓ１０２）。その結果、対象文の意味データ構造が得られる。なお、本実施の形態において、意味データ構造は、所定のデータ構造に限定されない。
【００３１】
続いて、基本同義語原形抽出部は、対象文の述語に対応する基本同義語原形を、基本同義語原形辞書記憶部１７から取得する（Ｓ１０３）。
【００３２】
続いて、トリガ対象特定部１３は、トリガチェックフラグが１であるレコードが文配列記憶部１８に記憶されているか否かを判定する（Ｓ１０４）。すなわち、対象文より前に要トリガ文が検出されたか否かが判定される。なお、対象文が最初の文である場合、文配列記憶部１８は空である。したがって、当該判定は否定的なものとなる。
【００３３】
該当するレコードが文配列記憶部１８に記憶されていない場合（Ｓ１０４でＮｏ）、要トリガ判定部１５は、対象文が要トリガ文であるか否かを判定する（Ｓ１０５）。すなわち、対象文が、上述した特定の表現含むか否かが判定される。対象文が要トリガ文である場合（Ｓ１０５でＹｅｓ）、要トリガ判定部１５は、対象文に対するトリガチェックフラグに１を設定する（Ｓ１０６）。一方、対象文が要トリガ文でない場合（Ｓ１０５でＮｏ）、要トリガ判定部１５は、対象文に対するトリガチェックフラグに０を設定する（Ｓ１０７）。
【００３４】
ステップＳ１０６又はＳ１０７に続いて、文登録部１６は、対象文の意味データ構造、トリガチェックフラグ、基本同義語原形を含むレコードを、文配列記憶部１８に登録する（Ｓ１０８）。すなわち、トリガチェックフラグ及び基本同義語原形が、対象文に関連付けられて記憶される。なお、対象文そのものも、当該レコードに記憶されてもよい。
【００３５】
一方、ステップＳ１０４において、トリガチェックフラグが１であるレコード（以下、「要トリガレコード」という。）が文配列記憶部１８に記憶されている場合（Ｓ１０４でＹｅｓ）、トリガ対象特定部１３は、対象文の基本同義語原形と要トリガレコードの基本同義語原形とを比較する（Ｓ１０９）。比較された２つの基本同義語原形が一致する場合、すなわち、対象文の述語の意味と要トリガ文の述語の意味とが一致する場合（Ｓ１１０）、トリガ対象特定部１３は、当該要トリガ文がトリガ処理の参照対象の文であると特定する。そこで、トリガ処理部１４は、当該要トリガ文を参照して、対象文についてトリガ処理を実行する（Ｓ１１１）。
【００３６】
なお、対象文と基本同義語原形が一致する要トリガレコードが複数ある場合、複数の要トリガ文が参照されて、トリガ処理が実行されてもよい。
【００３７】
次に、以下の例文Ａ〜Ｃを用いて、図３の処理手順を具体的に説明する。
Ａ「１組で１ｋｍ泳げるのは太郎だけだ。」
Ｂ「次郎は１組だ。」
Ｃ「彼は３ｋｍの遠泳をした。」
この場合、以下の（１）〜（１１）が実行される。
（１）Ａの文が解析対象とされ（Ｓ１０１）、その意味データ構造が得られる（Ｓ１０２）。
（２）Ａの文の述語「泳げる」の基本同義語原形として、「泳ぐ」が取得される（Ｓ１０３）。
（３）Ａの文に、「だけ」という副助詞が含まれていることから、Ａの文が要トリガ文であることが判定され、トリガチェックフラグに１が設定される（Ｓ１０５、Ｓ１０６）
（４）文配列記憶部１８に、｛＜Ａの意味データ構造＞，チェックフラグ＝１，基本同義語原形＝「泳ぐ」｝のレコードが登録される。
（５）Ｂの文についても同様に、ステップＳ１０１〜Ｓ１０３が実行される。なお、「１組だ」のように、名詞（又は代名詞）＋助動詞の述語については、名詞（又は代名詞）が、そのまま基本同義語原形として取得されてもよい。
（６）文配列記憶部１８には、チェックフラグが１であるＡの文に関するレコードが有るが、Ｂの文の述語の基本同義語原形は、Ａの文の述語の基本同義語原形とは一致しないため、トリガ処理は実行されない。
（７）Ｂの文は、要トリガ文ではないため、トリガチェックフラグに０が設定される（Ｓ１０５、Ｓ１０６）。
（８）文配列記憶部１８に、｛＜Ｂの意味データ構造＞，チェックフラグ＝０，基本同義語原形＝「−」｝のレコードが登録される。なお、「−」は、基本同義語原形の値が空であることを示す。Ｂの文は要トリガ文ではないため、基本同義語原形が登録される必要が無いからである。なお、この際、次郎に対応するオブジェクトが生成され、当該オブジェクトに対して「所属：１組」を示す属性が付与されてもよい。
（９）続いて、Ｃの文が処理対象とされて、自然言語処理が行われる（Ｓ１０２）。例えば、Ｃの文の「彼」について照応解析が行われる。「彼」の解釈としては、Ａの文の「太郎」と、Ｂの文の「次郎」との２つの解釈が有る。照応解析では、各解釈について尤もらしさが評価され、評価値が与えられるが、ここでは、各解釈に対して同じ値の評価値が与えられたとする。
（１０）Ｃの文の述語「遠泳をした」の基本同義語原形として、「泳ぐ」が取得される（Ｓ１０３）。
（１１）Ｃの文の基本同義語原形と、Ａの文の基本同義語原形とは一致するため、Ａの文が参照されて、Ｃの文についてトリガ処理（Ｓ１１１）が行われる。
【００３８】
トリガ処理では、例えば、Ｃの文の照応解析の結果について、Ａとの整合性チェックが行われてもよい。すると「彼＝次郎」の解釈は、Ａの文と矛盾するので、当該解釈に対する評価値が減点される。その結果、最終的に、「彼＝太郎」の解釈が選択される可能性が高まる。
【００３９】
以上の例に関して、（１１）において、トリガ処理の参照対象をＡに限定できた（すなわち、Ｂをスキップできた）ため、計算量が削減されている。すなわち、効率化が図られている。
【００４０】
なお、トリガ処理の内容は、照応解析の結果に対する整合性チェックに限られない。文の内容や解析の目的に応じて、トリガ処理の内容は様々である。
【００４１】
また、上記の例文では、述語が動詞である例について示したが、以下のように、述語が形容詞である場合にも、本実施の形態は有効である。
Ａ「特許部でパソコンに強いのは鈴木だけだ。」
Ｂ「佐藤は特許部員だ。」
Ｃ「彼はパソコンに強い。」
この場合、Ａの文が参照されて、Ｃの文のトリガ処理が実行される。
【００４２】
上述したように、本実施の形態によれば、文の意味解釈におけるトリガ処理の計算量及び計算時間を削減することができる。すなわち、文の解釈に必要な既出の文の特定を効率化することができる。
【００４３】
なお、本実施の形態において、要トリガ判定部１５は、判定部の一例である。トリガ対象特定部１３及び基本同義語原形取得部１２は、特定部の一例である。トリガチェックフラグは、特定の表現を含むことを示す情報の一例である。
【００４４】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４５】
以上の説明に関し、更に以下の項を開示する。
（付記１）
複数の文を１文ずつ解析対象とし、
解析対象の文が特定の表現を含むか否かを判定し、
解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する、
処理をコンピュータに実行させることを特徴とする解析プログラム。
（付記２）
前記特定の表現は、限定を意味する表現である、
ことを特徴とする付記１記載の解析プログラム。
（付記３）
複数の述語の表現を、意味の共通性に基づいて分類した結果を示す情報を参照して、前記第１の文の述語の意味と、前記第２の文の述語の意味とを比較する、
処理をコンピュータに実行させることを特徴とする付記１又は２記載の解析プログラム。
（付記４）
複数の文を１文ずつ解析対象とし、
解析対象の文が特定の表現を含むか否かを判定し、
解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する、
処理をコンピュータに実行させることを特徴とする解析方法。
（付記５）
前記特定の表現は、限定を意味する表現である、
ことを特徴とする付記４記載の解析方法。
（付記６）
複数の述語の表現を、意味の共通性に基づいて分類した結果を示す情報を参照して、前記第１の文の述語の意味と、前記第２の文の述語の意味とを比較する、
処理をコンピュータに実行させることを特徴とする付記４又は５記載の解析方法。
（付記７）
複数の文を１文ずつ解析対象とする解析装置であって、
解析対象の文が特定の表現を含むか否かを判定する判定部と、
解析対象の第１の文より前の文の中に前記特定の表現を含むと判定された第２の文が有る場合に、前記第１の文の述語の意味と、前記第２の文の述語の意味とが一致すれば、前記第２の文を前記第１の文の解析のための参照対象として特定する特定部と、
を有することを特徴とする解析装置。
（付記８）
前記特定の表現は、限定を意味する表現である、
ことを特徴とする付記７記載の解析装置。
（付記９）
前記特定部は、複数の述語の表現を、意味の共通性に基づいて分類した結果を示す情報を参照して、前記第１の文の述語の意味と、前記第２の文の述語の意味とを比較する、
ことを特徴とする付記７又は８記載の解析装置。
【符号の説明】
【００４６】
１０          解析装置
１１          文解析部
１２          基本同義語原形取得部
１３          トリガ対象特定部
１４          トリガ処理部
１５          要トリガ判定部
１６          文登録部
１７          基本同義語原形辞書記憶部
１８          文配列記憶部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
Ｂ            バス
【図１】
2017220009.tif 000003
【図２】
2017220009.tif 000004
【図３】
2017220009.tif 000005