(57)【特許請求の範囲】
【請求項１】
学習用の文データに対応する意味を表す値を正解データとして記憶する正解データ記憶部と、
言語の表現間の類似関係を拘束条件データとして記憶する拘束条件記憶部と、
文データに対応する単語ベクトル、および前記文データに対応する係り受け解析木データが表す単語間の依存構造を表すデータと、前記文データの意味を表す値との確率的関係を表すモデルについてのモデル情報を記憶するモデル記憶部と、
前記学習用の文データを読み込み前記文データの係り受け解析処理を行い、前記学習用の文データに対応する単語ベクトルと前記単語間の依存構造を表すデータとを含む係り受け解析結果データを出力する係り受け解析部と、
前記係り受け解析結果データが表す係り受け解析木のノードに当該ノードをルートとする部分木の意味を表す潜在変数を対応させて、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて前記ノードをルートとする部分木に対応する表現間の類似関係をノード間の前記潜在変数同士の拘束条件とするとともに、前記学習用の文データの文全体の意味に対応する前記潜在変数を前記正解データ記憶部から読み出した前記正解データが表す当該文データの意味に対応する値に拘束して、学習処理により前記モデルの尤度を最大化する方向に前記モデルに含まれるパラメータを推定し、得られた前記パラメータの値を生成された前記モデル情報として前記モデル記憶部に書き込むモデル生成部と、
を具備することを特徴とする意味分析装置。
【請求項２】
前記モデル生成部は、前記潜在変数同士の拘束条件に基づいて前記モデルを拘束する際に、前記係り受け解析木データにおけるルートに近い順から行い、潜在変数同士の結合を試みてループを生じるような場合には、当該潜在変数同士の拘束条件を除外する、
ことを特徴とする請求項１に記載の意味分析装置。
【請求項３】
入力される入力文データの係り受け解析処理を行い、前記入力文データに対応する単語ベクトルと前記単語間の依存構造を表すデータとを含む係り受け解析結果データを出力する入力文係り受け解析部と、
前記モデル記憶部から読み出した前記モデル情報であって前記モデル生成部によって求められた前記パラメータの値を含むモデル情報を用いて、前記入力文データに対応する前記係り受け解析結果データを前記モデルに適用することによって、前記入力文データの意味を表す値を算出する判別部と、
をさらに具備することを特徴とする請求項１または２に記載の意味分析装置。
【請求項４】
コンピューターを、請求項１から３までのいずれか一項に記載の意味分析装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文の意味を分析する、意味分析装置およびそのプログラムに関する。
【背景技術】
【０００２】
大量の文の意味を自動的に分析することにより、文の処理を効率化することが望まれる。例えば、製品やサービスや放送番組等の評判が書かれた文が大量に寄せられたとき、それらを分析するために、まず一次的にそれらの文の意味を大きく自動分類することにより、その後の分析を効率よく行うことができる。
言語、画像、映像等による表現の意味を分析する際に、それらの特徴を抽出し、特徴に基づいて意味を決定するという技術が考えられる。そのとき、言語、画像、映像等の表層だけではなく、潜在変数を用いることも考えられる。
【０００３】
例えば、特許文献１には、不用語を除去するために、潜在変数を用いたトピック同定を行う技術が開示されている。
また、特許文献２には、ビデオを要約するシステムにおいて、映像クラスタリングのために潜在変数を用いる技術が開示されている。
また、特許文献３には、画像認識によって人体の姿勢を推定するシステムにおいて、画像から抽出される画像特徴量と、出力すべき姿勢との間に、比較的低次元の潜在変数を置いたモデリング手法が開示されている。
また、非特許文献１には、文の評価極性を分類する際に、隠れ変数を持つ条件付確率場を用いる手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０５５２５３号公報
【特許文献２】特開２００９−０９５０１３号公報
【特許文献３】特開２００９−１４６４０５号公報
【非特許文献】
【０００５】
【非特許文献１】中川哲治，乾健太郎，黒橋禎夫，「隠れ変数を持つ条件付き確率場による依存構造木の評価極性分類」，情報処理学会研究報告，IPSJ SIG Technical Report，Vol.2009-NL-192，No.10，２００９年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、潜在変数を用いながら表現と意味との関係を表すモデルを構築しようとしたとき、正解事例が少ない場合には、うまくモデルの学習ができないという問題があった。
【０００７】
本発明は、上記の課題認識に基づいて行なわれたものであり、少ない正解事例からも、精度の良いモデルを構築し、自動的に意味の分析を行うことのできる意味分析装置およびそのプログラムを提供する。
【課題を解決するための手段】
【００１０】
本発明の一態様による意味分析装置は、学習用の文データに対応する意味を表す値を正解データとして記憶する正解データ記憶部と、言語の表現間の類似関係を拘束条件データとして記憶する拘束条件記憶部と、文データに対応する単語ベクトル、および前記文データに対応する係り受け解析木データが表す単語間の依存構造を表すデータと、前記文データの意味を表す値との確率的関係を表すモデルについてのモデル情報を記憶するモデル記憶部と、前記学習用の文データを読み込み前記文データの係り受け解析処理を行い、前記学習用の文データに対応する単語ベクトルと前記単語間の依存構造を表すデータとを含む係り受け解析結果データを出力する係り受け解析部と、前記係り受け解析結果データが表す係り受け解析木のノードに当該ノードをルートとする部分木の意味を表す潜在変数を対応させて、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて前記ノードをルートとする部分木に対応する表現間の類似関係をノード間の前記潜在変数同士の拘束条件とするとともに、前記学習用の文データの文全体の意味に対応する前記潜在変数を前記正解データ記憶部から読み出した前記正解データが表す当該文データの意味に対応する値に拘束して、学習処理により前記モデルの尤度を最大化する方向に前記モデルに含まれるパラメータを推定し、得られた前記パラメータの値を生成された前記モデル情報として前記モデル記憶部に書き込むモデル生成部と、を具備する。
【００１１】
この構成によれば、係り受け解析木データは学習用の文データに基づく情報を表わす。また、正解データは、学習用の文データに対応する正解を表わす。モデル生成部は、係り受け解析木データと正解データに基づいて、学習処理を行ってモデルを生成する。このとき、モデル生成部は、拘束条件データをも用いて、上記の学習処理を行う。拘束条件データは、学習用の文データに関する（言い換えれば、係り受け解析木データに関する）潜在変数同士の条件（例えば、等号条件）を表わすものであるので、モデル生成部が拘束条件データをも用いて上記の学習処理を行うことは、係り受け解析木データと正解データとによって得られる条件を、より強く拘束する方向に作用する。つまり、拘束条件データを予め記憶しておいてその拘束条件データを用いることにより、同程度の条件に基づくモデルを構築するために必要となる学習用の文データ（および正解データ）の量は、少なくて済む。言い換えれば、少量の学習用の文データ（および正解データ）から、より精度の高いモデルを生成することができる。つまり、このようなモデルを用いて文の意味判別を行う際の精度が良くなる。
【００１２】
また、本発明の一態様による意味分析装置は、上記の意味分析装置において、前記モデル生成部は、前記潜在変数同士の拘束条件に基づいて前記モデルを拘束する際に、前記係り受け解析木データにおけるルートに近い順から行い、潜在変数同士の結合を試みてループを生じるような場合には、当該潜在変数同士の拘束条件を除外する、ことを特徴とする。
また、本発明の一態様による意味分析装置は、上記の意味分析装置において、入力される入力文データの係り受け解析処理を行い、前記入力文データに対応する単語ベクトルと前記単語間の依存構造を表すデータとを含む係り受け解析結果データを出力する入力文係り受け解析部と、前記モデル記憶部から読み出した前記モデル情報であって前記モデル生成部によって求められた前記パラメータの値を含むモデル情報を用いて、前記入力文データに対応する前記係り受け解析結果データを前記モデルに適用することによって、前記入力文データの意味を表す値を算出する判別部と、をさらに具備する。
【００１３】
この構成により、意味が未知である入力文データに関して、モデル記憶部に記憶されたモデル情報に基づく意味の判別を行うことができる。つまり、学習用データおよび拘束条件データによって生成されたモデルに即した意味の分析を行うことができる。
【００１４】
また、本発明の一態様は、コンピューターを、上記のいずれかに記載の意味分析装置として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、拘束条件データを用いることによって、潜在変数同士の結合を行う。これにより、従来技術よりも少量の学習用データで、モデルをより強く拘束する作用が生じる。
従って、本発明によれば、より少量の学習用データで、より精度の良い意味分析のためのモデルを生成することができる。また、そのようなモデルを用いて、意味が未知である入力文の意味分析を高精度に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態による意味分析装置の機能構成を示すブロック図である。
【図２】同実施形態による、学習データ記憶部が記憶するデータの構成を示す概略図である。
【図３】同実施形態による、正解データ記憶部が記憶するデータの構成を示す概略図である。
【図４】同実施形態による、拘束条件記憶部が記憶するデータの構成を示す概略図であり、表現ＩＤと表現（見出し語）との関係を表わすテーブルの構成を示す。
【図５】同実施形態による、拘束条件記憶部が記憶するデータの構成を示す概略図であり、類似表現対ＩＤと類似表現対との関係を表わすテーブルの構成を示す。
【図６】同実施形態により、学習データを用いた機械学習を行い、モデルを生成する処理の手順を示すフローチャートである。
【図７】同実施形態による、係り受け解析部が行う係り受け解析結果の例を示す概略図である。
【図８】同実施形態による、係り受け解析木記憶部が記憶する係り受け解析結果データの構成の一例を示す概略図である。
【図９】同実施形態により、モデルを用いて入力文の意味を分析する処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１７】
次に、図面を参照しながら、本発明の実施形態について説明する。
図１は、本発明の一実施形態による意味分析装置の機能構成を示すブロック図である。図示するように、意味分析装置１は、学習データ記憶部１０と、係り受け解析部２０（解析部）と、係り受け解析木記憶部３０と、モデル生成部４０と、正解データ記憶部５０と、拘束条件記憶部６０と、モデル記憶部１００と、入力部１２０と、係り受け解析部１３０（入力文係り受け解析部）と、判別部１４０と、出力部１５０とを含んで構成される。
【００１８】
学習データ記憶部１０は、学習用データを記憶する。具体的には、学習用データは学習用の文データである。
係り受け解析部２０は、学習データ記憶部１０から学習用データを読み込み、この学習用データを解析して得られる解析結果データを出力する。具体的には、係り受け解析部２０は、学習用の文データを読み込み文データの係り受け解析処理を行い係り受け解析木データを出力する。係り受け解析部２０は、係り受け解析処理の結果得られる係り受け解析木データを係り受け解析木記憶部３０に書き込む。
係り受け解析木記憶部３０は、係り受け解析木データを記憶する。
【００１９】
モデル生成部４０は、正解データ記憶部５０から読み出した正解データと、係り受け解析部２０から出力された解析結果データとを用い、解析結果データに潜在変数を対応させるとともに、拘束条件記憶部６０から読み出した拘束条件データに基づいて、拘束条件データを潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成されたモデルの情報をモデル記憶部１００に書き込む。具体的には、解析結果データは、係り受け解析の結果得られる解析木データである。また、モデル生成部４０は、得られた係り受け解析木データに含まれるノードに潜在変数を対応させる。また、モデル生成部４０は、拘束条件記憶部６０から読み出した拘束条件データに基づいて、係り受け解析木データに含まれるノードをルートとする部分木について、各部分木に対応する表現間の類似関係を当該ノード間の潜在変数同士の拘束条件として、学習処理を行う。
【００２０】
正解データ記憶部５０は、学習用データに対応する正解データを記憶する。具体的には、正解データは、学習用の文データに対応する意味を表わすデータである。
拘束条件記憶部６０は、学習用データに関する潜在変数間の条件を拘束条件データとして記憶する。具体的には、拘束条件データは、言語の表現間の類似関係を表わすデータである。
モデル記憶部１００は、分析のためのモデル情報を記憶する。具体的には、モデル記憶部１００は、文データの意味判別のためのモデル情報を記憶する。
【００２１】
入力部１２０は、分析の対象とする文を入力する。入力文の意味は、未知である。
係り受け解析部１３０は、入力部１２０において入力された入力文データの係り受け解析処理を行い係り受け解析木データを出力する。
判別部１４０は、係り受け解析部１３０から出力された係り受け解析木データと、モデル記憶部１００から読み出したモデル情報とを用いて、入力文データの意味を判別する。
出力部１５０は、判別部１４０によって判別された意味を出力する。
【００２２】
この意味分析装置１は、予め放送番組に対する意見の文を学習用データとして用いてモデルを生成しておき、新たに入力される未知の文（放送番組に対する意見）の意味を分類する。なお、放送番組に対する意見の分類だけでなく、他のタスク（特定のテーマに関する意見や、製品に関する意見や、サービスに関する意見など）に意味分析装置１を適用することもできる。
【００２３】
図２は、学習データ記憶部１０が記憶するデータの構成を示す概略図である。図示するように、学習データ記憶部１０は、文番号と学習用文データとを対応付けて記憶する。学習データ記憶部１０は、例えば、リレーショナル形式のテーブルでこのデータを記憶する。図示する例では、学習データ記憶部１０は、第１番目の文として「中村さん、とても感動した」という文を記憶し、第２番目の文として「中村医師の行動に深い感銘を受けた」という文を記憶する。本例では、学習データ記憶部１０は、第１番目から第Ｌ番目までのＬ個の文のデータを記憶している。この学習用文データとしては、一例では、過去に収集した、放送番組に対する意見文を用いる。
【００２４】
図３は、正解データ記憶部５０が記憶するデータの構成を示す概略図である。図示するように、正解データ記憶部５０は、文番号と文の意味（正解）とを対応付けて記憶している。正解データ記憶部５０は、例えば、リレーショナル形式のテーブルでこのデータを記憶する。正解データ記憶部５０が記憶する文番号のデータは、学習データ記憶部１０が記憶する文番号のデータと対応付いている。つまり、例えば、学習データ記憶部１０に記憶されている第１番目の文「中村さんはとても感動した」の意味が、正解データ記憶部５０が記憶するｓ（１）０である。第２番目の文の意味ｓ（２）０や、第３番目の文の意味ｓ（３）０などについても同様である。なお、正解データ記憶部５０が記憶するｓ（１）０，ｓ（２）０，・・・，ｓ（Ｌ）０の値は、例えば、有限集合｛Ｃ１，Ｃ２，・・・，ＣＮ｝の要素のいずれかであり、学習用文データに対応して、人手により予め与えられる。
【００２５】
一例として、意味は、集合｛肯定的な意見，否定的な意見｝のいずれかの要素を値として取り得る。
【００２６】
図４および図５は、拘束条件記憶部６０が記憶するデータの構成を示す概略図である。この拘束条件記憶部６０が記憶するデータは、表現と表現との間の類似関係を表わし、後述するモデル生成の処理において拘束条件として使用される。
【００２７】
図４は、拘束条件記憶部６０が記憶するデータの一部であり、表現ＩＤと表現（見出し語）との関係を表わすテーブルの構成を示す。図示するように、このテーブルは、表現ＩＤに対応付けて、様々な表現(見出し語)を記憶する。ここで、表現は、ひとつの単語には限らず、複数の単語からなる表現であっても良い。例えば、表現ＩＤ「ｋ１」に対応する表現は「面白い」であり、表現ＩＤ「ｋ２」に対応する表現は「興味深い」である。
【００２８】
図５は，拘束条件記憶部６０が記憶するデータの一部であり、類似表現対ＩＤと類似表現対との関係を表わすテーブルの構成を示す。図示するように、このテーブルは、類似表現対ＩＤに対応付けて類似表現対を記憶する。類似表現対は、例えば「（ｋ１，ｋ２）」のように表わされ、このｋ１およびｋ２は、それぞれ表現ＩＤである。つまり、例えば、類似表現対ＩＤ「ｐ１」に対応する類似表現対は「（ｋ１，ｋ２）」であり、これは、表現「面白い」と表現「興味深い」が類似であることを表わす。
【００２９】
拘束条件記憶部６０が記憶するデータの作成方法として、次の２通りのいずれかを用いる。
【００３０】
第１の方法は、網羅性を重視した方法である。この方法においては、まず、辞書等から、表現を抽出する。例えば、評価表現辞書から見出し語の一覧を抽出する。そして、各表現に表現ＩＤを適宜付与する。次に、得られた各々の表現（見出し語）について、外的基準によって類似している表現同士を連結してペアとし、図５に示したテーブルに、表現のペアを書き出していく。このとき類似表現対ＩＤを適宜付与する。
【００３１】
第２の方法は、現実性を重視した方法である。この方法においては、まず、学習データを係り受け解析にかけ、その係り受け解析結果から従来のモデルを生成する。そして、そのモデルに出現する潜在変数をルートとする部分構造木に対応する文字列を見出し語の一覧とする。以下、第１の方法と同様に、各表現に表現ＩＤを適宜付与する。そして、得られた各々の表現（見出し語）について、外的基準によって類似している表現同士を連結してペアとし、図５に示したテーブルに、表現のペアを書き出していく。このとき類似表現対ＩＤを適宜付与する。
【００３２】
拘束条件記憶部６０は、フレーズ間の類似関係を多数記憶している。拘束条件記憶部６０には、類義語辞書、類義表現辞書等に基づいて予め作成したデータを記憶させておく。
【００３３】
次に、意味分析装置１の動作について説明する。
図６は、意味分析装置１が、学習データを用いた機械学習を行い、モデルを生成する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップＳ１において、係り受け解析部２０は、学習データ記憶部１０が記憶するＬ個の文の各々について係り受け解析処理を行い、その結果を係り受け解析木記憶部３０に書き込む。具体的には、係り受け解析部２０は、各文について、文節のチャンキング（chunking）を行い、チャンク間の係り受け関係を解析する。係り受け解析処理自体は、既存の技術を用いて行うことができる。例えば、サポートベクターマシン（ＳＶＭ）に基づく日本語係り受け解析器として、ＣａｂｏＣｈａ（Yet Another Japanese Dependency Structure Analyzer）を用いることができる。係り受け解析部２０は、係り受け解析処理の結果を、係り受け解析木記憶部３０に書き込む。
【００３４】
図７は、係り受け解析部２０による係り受け解析結果の例を示す概略図である。同図（ａ）は、学習データ記憶部１０に記憶された第１番目の文「中村さん、とても感動した」を係り受け解析した結果である。この（ａ）において、「中村さん」が「感動した。」に係り、「とても」が「感動した。」に係る。また、同図（ｂ）は、第２番目の文「中村医師の行動に深い感銘を受けた。」を係り受け解析した結果である。この（ｂ）において、「中村医師の」が「行動に」に係り、「行動に」が「受けた。」に係り、「深い」が「感銘を」に係り、「感銘を」が「受けた。」に係る。
【００３５】
このように、係り受け解析結果は、文節のチャンクの木構造を有する。同図（ａ）においては「感動した。」が木構造のルート（根）にあたる。また、同図（ｂ）においては「受けた。」が木構造の根にあたる。なお、同図の（ａ）および（ｂ）の各々に付記する「肯定的な意見」は、各文全体の意味を表わす。文全体の意味は予め与えられており、既に述べたように、正解データ記憶部５０が各文の意味を記憶している。
【００３６】
係り受け解析木記憶部３０が記憶する係り受け解析結果データは、次のように表わされる。即ち、学習データに含まれるＬ個の文について、ｗ（ｌ）は、第ｌ（エル）番目の文に出現する単語のベクトルである。但し、１≦ｌ（エル）≦Ｌである。また、第ｌ（エル）番目の文の中で第ｉ番目に出現する単語（ないしは、文節のチャンク。以下で「単語」と述べる場合において同様。）は、ｗ（ｌ）ｉである。また、ｈ（ｌ）は、第ｌ（エル）番目の文の依存構造を表わすベクトルである。ｈ（ｌ）の要素であるｈ（ｌ）ｉは、第ｌ（エル）番目の文の中の第ｉ番目の単語の係り先の単語を表わす数値である。第ｉ番目の単語が係り受け構造木のルート（根）ノードにあたる場合には、ｈ（ｌ）ｉとして、ヌルないしはゼロなどの予め適切に定められた値を用いる。
【００３７】
図８は、係り受け解析木記憶部３０が記憶する係り受け解析結果データの構成の一例を示す概略図である。図示するように、係り受け解析結果データは、表形式のデータであり、文番号と、単語ベクトルと、依存構造ベクトルの各項目を有している。例えば、第ｌ（エル）行目のデータでは、文番号がｌ（エル）であり、単語ベクトルがｗ（ｌ）であり、依存構造ベクトルがｈ（ｌ）である。単語ベクトルｗ（ｌ）と依存構造ベクトルがｈ（ｌ）については、上で説明したとおりである。つまり、係り受け解析結果データにおける各行のデータは、各文の係り受け解析木と等価な情報を有している。
【００３８】
図６に戻り、係り受け解析処理が終了すると、次に、まずステップＳ２において、モデル生成部４０は、係り受け解析木記憶部３０から係り受け解析結果データ、即ち、ｗ（ｌ）およびｈ（ｌ）のデータを読み出す。
【００３９】
そして、ステップＳ３において、モデル生成部４０は、正解データ記憶部５０から各文の正解データを読み出す。正解データとは、各文の意味である。
【００４０】
また、ステップＳ４において、モデル生成部４０は、拘束条件記憶部６０から拘束条件データを読み出す。
【００４１】
そして、ステップＳ５において、モデル生成部４０は、潜在変数を用いたモデルを生成し、モデル記憶部１００に書き込む。ここで、ｓ（ｌ）は、第ｌ（エル）番目の文の潜在変数のベクトルである。そして、ｓ（ｌ）ｉは、第ｌ（エル）番目の文の中の第ｉ番目の単語に位置する潜在変数であり、そのノードをルートとする部分依存構造木の意味を担うモデルである。意味ｓ（ｌ）ｉは、例えば、有限集合のいずれかの要素の値である。一例としては、前述の通り、意味ｓ（ｌ）ｉは、集合｛肯定的な意見，否定的な意見｝のいずれかの要素を値として取り得る。Ｐ（ｓ（ｌ）｜ｗ（ｌ），ｈ（ｌ））は、第ｌ（エル）番目の文についての潜在変数モデルである。この文全体の意味は、正解データ記憶部３０から読み出して得られたものであり、これを変数ｓ（ｌ）０とする。正解データ記憶部３０から得られるのは、第ｌ（エル）番目の文全体の意味のみであり、それ以外の潜在変数は、観測されないままに置かれる。
【００４２】
このモデルにおいて、第ｌ（エル）番目の文の意味がｐ（ｌ）である確率は、下の式（１）で表わされる。
【００４３】
【数１】
0005829471.tif 000002
【００４４】
そして、モデル生成部４０は、与えられた学習データおよび正解データに基づき、尤度最大化による学習を行い、モデルパラメータを推定する。Ｌ個の文ｗ（ｌ），ｈ（ｌ）（但し、１≦ｌ（エル）≦Ｌ）とＬ個の正解ｐ（ｌ）（同じく、１≦ｌ（エル）≦Ｌ）が与えられたとき、全体の尤度Ｒは、下の式（２）で表わされる。
【００４５】
【数２】
0005829471.tif 000003
【００４６】
これは即ち、下の式（３）に表わされる通りである。
【００４７】
【数３】
0005829471.tif 000004
【００４８】
つまり、モデル生成部４０は、下の式（４）に示す拘束条件を用いてモデルパラメータの推定を行う。
【００４９】
【数４】
0005829471.tif 000005
【００５０】
また式（４）の条件に加えて、モデル生成部４０は、拘束条件記憶部６０から読み出した拘束条件をも用いて、モデルパラメータの推定を行う。拘束条件記憶部６０には、類似関係を有する表現に関する情報が多数記憶されているが、モデル生成部４０は、それらの中から、学習データを係り受け解析した結果に基づき、係り受け解析木におけるノードに対応する潜在変数についての拘束条件を選択して読み出す。その拘束条件を一般化すると下の式（５）のように表わされる。
【００５１】
【数５】
0005829471.tif 000006
【００５２】
式（５）は、第ｉ番目の文の第ｊ番目の単語をトップとする部分依存構造木の意味と、第ｋ番目の文の第ｍ番目の単語をトップとする部分依存構造木の意味とが同一であるという条件を表わす。この、ある部分木と他の部分木とが同一であるということは、図４で説明した類似表現対として表わされている。図４の例では、類似表現対ＩＤ「ｐ３」のデータが、表現ｋ５「感銘を受ける」と、ｋ６「感動する」とが類似であることを表わしている。モデル生成部４０は、適用可能な部分木間の類似関係を拘束条件記憶部６０からすべて読み出し、学習時（パラメータ推定時）の拘束条件として使用する。
【００５３】
モデル生成部４０の具体的動作手順は次の通りである。
【００５４】
モデル生成部４０は、まず、ＬＤＣＲＦ（Latent-Dynamic Conditional Random Field，潜在動的条件付確率場）の構造で表されるモデルを生成する。ＬＤＣＲＦ自体は、既存の機械学習手法であり、ＣＲＦに対して次の２点が拡張されている。第１点は、ｌ（エル）に応じて要素数が異なるベクトルｓ（ｌ）、ｗ（ｌ）、ｈ（ｌ）を扱うことができる（動的モデル Dynamic Model）。第２点は、潜在変数が導入されている（潜在変数モデル Latent Model）。このモデルは木構造であり、モデルパラメータの推定法は既知である。
【００５５】
モデル生成部４０は、次に、拘束条件記憶部６０から読み出した拘束条件を基に、木構造のモデルに拘束条件を付加する。ここでの拘束条件は、モデル生成部４０が上で生成した木構造の異なる位置にある潜在変数を結合するものである。この時、潜在変数の結合によって、木構造から一般的なグラフ構造に変換される。
【００５６】
一般的なグラフ構造のモデルでも、最尤法によりモデルパラメータを推定することはできる。グラフィカルモデルの一般論に従い、モデルパラメータの最尤推定を行う。
【００５７】
但し、一般的なグラフ構造のモデルはループ構造を含む場合があり得る。ループ構造を含むグラフ構造のモデルに関して、モデルパラメータの最尤推定を行うための効率的な推定アルゴリズムは存在しない。そこで、全ての拘束条件を適用した結果としてモデルにループが生じる場合には、効率的な最尤推定のために、ループを回避する手段を講じてもよい。
【００５８】
ループ回避の手段の一例は次の通りである。即ち、拘束条件の適用を木構造のトップ（ルート）に近い順から行い、後から適用される潜在変数の結合を試みてループを生じるような場合には、その拘束条件を除外する。このような手段は、木構造（構文解析木）のトップに近い結合を優先し、トップから遠い結合でループを生じるものを除外する働きを持つ。
【００５９】
式（３）により表した尤度Ｒは、多数のパラメータに依存する。これらのパラメータ全体のベクトルをΘとすると、下の式（６）のように表される。
【００６０】
【数６】
0005829471.tif 000007
【００６１】
モデル生成部４０は、式（５）の形式で表される（単数または複数の）拘束条件の下で、式（６）のＲを最大化させるΘを算出する。即ち、モデル生成部４０は、下の式（７）におけるΘ（ハット）を算出する。
【００６２】
【数７】
0005829471.tif 000008
【００６３】
そして、モデル生成部４０は、学習により得られたパラメータ値のデータ（Θ（ハット））を、モデル記憶部１００に書き込む。以上で、意味分析装置１がモデルを生成する処理を終了する。
【００６４】
次に、モデルが既に生成されている状態で、入力される文の意味を判別する処理の手順について説明する。図９は、モデルを用いて意味を分析する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップＳ２１において、入力部１２０が入力文のデータを読み込む。
【００６５】
次に、ステップＳ２２において、係り受け解析部１３０は、入力部１２０が読み込んだ入力文の係り受け解析処理を行う。係り受け解析部１３０が備える機能は、係り受け解析部２０のそれと同様である。係り受け解析部１３０は、係り受け解析処理の結果として、入力文に対応する単語ベクトルｗ（ｉｎ）と依存構造ベクトルｈ（ｉｎ）とを出力する。単語ベクトルｗ（ｉｎ）の第ｉ番目の要素ｗ（ｉｎ）ｉは、入力文の中で第ｉ番目に出力する単語（ないしは文節のチャンク。以下で「単語」と述べる場合において同様。）また、依存構造ベクトルｈ（ｉｎ）との第ｉ番目の要素ｈ（ｉｎ）ｉは、入力文の中の第ｉ番目の単語の係り先の単語を表わす数値である。
【００６６】
次に、ステップＳ２３において、判別部１４０は、係り受け解析部１３０から出力された単語ベクトルｗ（ｉｎ）と依存構造ベクトルｈ（ｉｎ）とに基づいて、入力文の意味の判別を行う。このとき、判別部１４０は、モデル記憶部１００から、学習データに基づいてパラメータ推定済みのモデルを読み出し、そのモデルに単語ベクトルｗ（ｉｎ）と依存構造ベクトルｈ（ｉｎ）とを適用することによって、入力文の意味を算出する。判別部１４０によって算出される意味の値は、例えば、有限集合｛Ｃ１，Ｃ２，・・・，ＣＮ｝の要素のいずれかである。その一例として、算出される意味の値は、集合｛肯定的な意見，否定的な意見｝の要素のいずれかである。
【００６７】
最後に、ステップＳ２４において、出力部１５０は、モデルに基づいて判別部１４０によって算出された入力文の意味（最尤意味）を出力する。
【００６８】
意味分析装置１の動作をまとめると、次の通りである。意味分析装置１は、まず、依存構造木の各ノードに対して、そのノードの部分依存構造木が持つ意味を潜在変数でモデル化する手法としてＬＤＣＲＦを構築する。次に、同義語辞書（類義語辞書、シソーラス、オントロジーを含む）を用いる。そして、文の中の部分的表現が、他の部分的表現と同一の（類似の場合を含む）意味を持つことがわかっている場合には、これを拘束条件データとして利用する。この手順で構築されたモデルに対して、多量の例文を学習用データとして与え、機械学習法によってモデルパラメータを推定する。このとき、各々の例文の意味（文全体の意味）は、別途正解データとして与えられる。単純にＬＤＣＲＦを用いる場合には、意味的に類似の言い回しであっても、異なる表現については別々に学習が行われる。本実施形態による意味分析装置１は、上記の拘束条件データに基づいて、モデル学習の潜在変数を結合（tying）することにより、効率的にモデル学習ができるようになる。潜在変数の結合とは、式（５）の等式により、潜在変数間の拘束条件を与えることである。
【００６９】
このような構成にすることにより、比較的少量の正解事例からも、精度の良いモデルを構築することができるという効果が得られる。
【００７０】
［他の方式による技術との比較］
（１）単純な文字列置換
なお、モデルを構築するにあたり、類似表現を置換してしまう方法を取ることも考えられるが、本実施形態による意味分析装置１の構成では、置換してしまう場合よりも豊富な表現を維持したままで、より良い精度のモデルを構築することができる。
【００７１】
例えば、処理対象として次のような文集合を分類する場合を考える。即ち、「○○という人の話は面白くない」、「△△という人の話は面白い」、「××という人の話はつまらない」、「※※という人の話を面白くしてほしい」という文集合である。このような文を分類するときに、どの文が類似しているとみなすかは、アプリケーションに依存する。アプリケーションのタスクが、放送番組の評判分析システムにおいて、肯定的な意見と否定的な意見の割合を数えるものである場合を考える。そのようなタスクでは、「・・・面白くしてほしい」は、「・・・面白くない」と同様に否定的な意見として扱うべきである。その理由は、「・・・面白くしてほしい」は「面白くない」を含意（暗黙のうちに仮定）いるからである。つまり、「面白くしてほしい」と「面白くない」の２つは類似フレーズとして扱われることが必要である。また、それは、タスクに依存している。
【００７２】
仮に、類似フレーズを置換する方式とした場合、「面白くない」が「つまらない」に置換されてしまう。すると、「面白くしてほしい」という表現が「面白くない」と同等に扱われるべきであるという手がかりを失ってしまう。つまり、類似フレーズを置換する方式を採用した場合には類似表現の利用に制約が生じるのに対して、本実施形態による意味分析装置１が多様な表現を維持したまま潜在変数同士の結合という手段で拘束条件を与えることは、有利な効果をもたらす。
【００７３】
また、前述の通り、「・・・してほしい」（例えば、「面白くしてほしい」）と「・・・ない」（例えば、「面白くない」）を同等に（類似として）扱うのは、アプリケーションのタスクに固有の規則である。人手によって規則を与える方法と、学習データから自動的に機械学習されたモデルがその規則と同等の作用を行う場合との両方があり得るが、双方とも同様である。この事例で、「※※という人の話を面白くしてほしい」という文を、肯定的な意見または否定的な意見のいずれかに分類しようとすると、全く同じ学習データが存在しないために、規則やモデルにその処理が委ねられる。学習データの事例から、「・・・してほしい」と「・・・ない」とが同等の意味をなすという学習が為されると、入力文に対して、「面白くしてほしい」が「面白くない」と同等の意味であると扱うことのできるモデルを構築できる。本実施形態による意味分析装置１は、このような学習を行う。これに対して、学習データに対して、事前に文字列置換を行ってしまうと、学習データ中から「面白くない」という文がなくなってしまうために、学習後に「面白くない」をどのように分類すべきかの手がかりがなくなり、本実施形態のような正確な分類ができなくなってしまう。
【００７４】
（２）推論後の文字列置換
さらに別の技術として、処理すべき入力データに対して推論を施した後に、文字列置換を行うという方法を取ることも考えられる。
しかし、この場合には、例えば、「○○はおかしくも面白くもない。」という文は、文字列置換により、「○○は、おかしくもつまらない。」という文に変換される。このように文字列置換された結果の表現は、「おかしい」という肯定的表現と「つまらない」という否定的表現の両面をもつ意見文として分析されてしまうことになり、正確な分類につながらない。この現象はスコープの問題と呼ばれ、単純な文字列置換では否定表現「〜ない」のスコープを正しく扱えないことによって、文字列置換後に意味が変わる部分が生じてしまうことによる。この「〜ない」という表現において起こる問題と同様の問題は、「〜すぎる」や「〜足りない」や「〜がち」といった表現においても起こる。
【００７５】
また、「〜れば、面白かったのに。」のように条件節を伴う表現も、否定文を含意しており、同様の問題が生じる。例えば「もうひと工夫あれば、良かったのに。」という修辞的に丁寧な文例もあれば、「もうひと工夫あれば良い。」というくだけた感じの文例もあるため、その意味を分析するためには、「〜のに」という部分の表現に着目するだけでなく、条件節「〜れば」という部分の表現に着目する必要がある場合もある。「〜れば、面白い」という表現と「面白くない」と言う表現とを、類似表現として扱う場合においても、前者から後者への文字列置換を行ってしまうと、条件節「〜れば」の部分が置換されなくなってしまうため、重要な情報が欠落する。
【００７６】
（３）本実施形態の優位性
上記のように、文字列置換を行う方法では情報の欠落や意味の改変といった副作用が起こり得る。これに対して、本実施形態による技術は、入力される文を改変することなくそのまま、潜在変数の結合を行うこと、即ち、部分木間の拘束条件を用いることによる処理を行う。一文中で複数の事項を述べている場合に、どの部分が全体の意味に重要な影響を与えるかを判定する処理を、局所的判断で行うのではなく、最後に総合的判断で行うことが望ましい。このため、部分的・局所的判断だけで処理をしてしまう文字列置換の手法よりも、元文の情報を全部残したまま学習済のモデルによる処理を行う本実施形態の手法のほうが有利な結果を得られる。
【００７７】
なお、上述した実施形態における意味分析装置の機能をコンピューターで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７８】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
例えば、係り受け解析木記憶部３０が記憶する係り受け解析結果データの構成例を図示したが、データ構造としては別の形で、文節間の依存関係（木構造）を表現するようにしても良い。
また例えば、図６に示した処理手順のうち、ステップＳ２とＳ３とＳ４の順序は任意であり、順序を変えて処理しても良い。
また、モデルを生成するための装置（学習データ記憶部１０と、係り受け解析部２０と、係り受け解析木記憶部３０と、モデル生成部４０と、正解データ記憶部５０と、拘束条件記憶部６０と、モデル記憶部１００）と、生成されたモデルを用いた文判別のための装置構成（モデル記憶部１００と、入力部１２０と、係り受け解析部１３０と、判別部１４０と、出力部１５０）とを、それぞれ別装置として実現しても良い。
【００７９】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８０】
この発明は、例えば、大量の文の意味を効率よく自動的に分類するために利用できる。例えば、製品やサービスの利用者からの意見を効率よく分類するために利用できる。また、例えば、放送番組の視聴者からの意見を効率よく分類するために利用できる。
【符号の説明】
【００８１】
１  意味分析装置
１０  学習データ記憶部
２０  係り受け解析部（解析部）
３０  係り受け解析木記憶部
４０  モデル生成部
５０  正解データ記憶部
６０  拘束条件記憶部
１００  モデル記憶部
１２０  入力部
１３０  係り受け解析部（入力文係り受け解析部）
１４０  判別部
１５０  出力部
【図１】
0005829471.tif 000009
【図２】
0005829471.tif 000010
【図３】
0005829471.tif 000011
【図４】
0005829471.tif 000012
【図５】
0005829471.tif 000013
【図６】
0005829471.tif 000014
【図７】
0005829471.tif 000015
【図８】
0005829471.tif 000016
【図９】
0005829471.tif 000017