説明

意味分析装置およびそのプログラム

【課題】より少ない正解事例からも、意味分析のためのモデルを精度良く構築できるようにする。
【解決手段】正解データ記憶部は、学習用データに対応する正解データを記憶する。拘束条件記憶部は、学習用データに関する潜在変数間の条件を拘束条件データ。解析部は、学習用データを読み込み、学習用データを解析して得られる解析結果データを出力する。モデル生成部は、正解データ記憶部から読み出した正解データと解析部から出力された解析結果データとを用い、解析結果データに潜在変数を対応させるとともに、拘束条件記憶部から読み出した拘束条件データに基づいて、拘束条件データを潜在変数同士の拘束条件として、学習処理を行ってモデルを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文の意味を分析する、意味分析装置およびそのプログラムに関する。
【背景技術】
【0002】
大量の文の意味を自動的に分析することにより、文の処理を効率化することが望まれる。例えば、製品やサービスや放送番組等の評判が書かれた文が大量に寄せられたとき、それらを分析するために、まず一次的にそれらの文の意味を大きく自動分類することにより、その後の分析を効率よく行うことができる。
言語、画像、映像等による表現の意味を分析する際に、それらの特徴を抽出し、特徴に基づいて意味を決定するという技術が考えられる。そのとき、言語、画像、映像等の表層だけではなく、潜在変数を用いることも考えられる。
【0003】
例えば、特許文献1には、不用語を除去するために、潜在変数を用いたトピック同定を行う技術が開示されている。
また、特許文献2には、ビデオを要約するシステムにおいて、映像クラスタリングのために潜在変数を用いる技術が開示されている。
また、特許文献3には、画像認識によって人体の姿勢を推定するシステムにおいて、画像から抽出される画像特徴量と、出力すべき姿勢との間に、比較的低次元の潜在変数を置いたモデリング手法が開示されている。
また、非特許文献1には、文の評価極性を分類する際に、隠れ変数を持つ条件付確率場を用いる手法が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2010−055253号公報
【特許文献2】特開2009−095013号公報
【特許文献3】特開2009−146405号公報
【非特許文献】
【0005】
【非特許文献1】中川哲治,乾健太郎,黒橋禎夫,「隠れ変数を持つ条件付き確率場による依存構造木の評価極性分類」,情報処理学会研究報告,IPSJ SIG Technical Report,Vol.2009-NL-192,No.10,2009年
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、潜在変数を用いながら表現と意味との関係を表すモデルを構築しようとしたとき、正解事例が少ない場合には、うまくモデルの学習ができないという問題があった。
【0007】
本発明は、上記の課題認識に基づいて行なわれたものであり、少ない正解事例からも、精度の良いモデルを構築し、自動的に意味の分析を行うことのできる意味分析装置およびそのプログラムを提供する。
【課題を解決するための手段】
【0008】
[1]上記の課題を解決するため、本発明の一態様による意味分析装置は、学習用データに対応する正解データを記憶する正解データ記憶部と、学習用データに関する潜在変数間の条件を拘束条件データとして記憶する拘束条件記憶部と、モデル情報を記憶するモデル記憶部と、前記学習用データを読み込み、前記学習用データを解析して得られる解析結果データを出力する解析部と、前記正解データ記憶部から読み出した前記正解データと前記解析部から出力された解析結果データとを用い、前記解析結果データに潜在変数を対応させるとともに、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて、前記拘束条件データを前記潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成された前記モデルの情報を前記モデル記憶部に書き込むモデル生成部とを具備する。
【0009】
この構成によれば、解析結果データは学習用データに基づく情報を表わす。また、正解データは、学習用データに対応する正解を表わす。モデル生成部は、解析結果データと正解データに基づいて、学習処理を行ってモデルを生成する。このとき、モデル生成部は、拘束条件データをも用いて、上記の学習処理を行う。拘束条件データは、学習用データに関する(言い換えれば、解析結果データに関する)潜在変数同士の条件(例えば、等号条件)を表わすものであるので、モデル生成部が拘束条件データをも用いて上記の学習処理を行うことは、解析結果データと正解データとによって得られる条件を、より強く拘束する方向に作用する。つまり、拘束条件データを予め記憶しておいてその拘束条件データを用いることにより、同程度の条件に基づくモデルを構築するために必要となる学習用データ(および正解データ)の量は、少なくて済む。言い換えれば、少量の学習用データ(および正解データ)から、より精度の高いモデルを生成することができる。つまり、このようなモデルを用いて意味判別を行う際の精度が良くなる。
【0010】
[2]また、本発明の一態様による意味分析装置は、学習用の文データに対応する意味を正解データとして記憶する正解データ記憶部と、言語の表現間の類似関係を拘束条件データとして記憶する拘束条件記憶部と、文データの意味判別のためのモデル情報を記憶するモデル記憶部と、前記学習用の文データを読み込み前記文データの係り受け解析処理を行い係り受け解析木データを出力する係り受け解析部と、前記正解データ記憶部から読み出した前記正解データと前記係り受け解析部から出力された係り受け解析木データとを用い、前記係り受け解析木データに含まれるノードに潜在変数を対応させるとともに、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて、前記ノードをルートとする部分木に対応する表現間の類似関係を当該ノード間の前記潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成された前記モデルの情報を前記モデル記憶部に書き込むモデル生成部とを具備する。
【0011】
この構成によれば、係り受け解析木データは学習用の文データに基づく情報を表わす。また、正解データは、学習用の文データに対応する正解を表わす。モデル生成部は、係り受け解析木データと正解データに基づいて、学習処理を行ってモデルを生成する。このとき、モデル生成部は、拘束条件データをも用いて、上記の学習処理を行う。拘束条件データは、学習用の文データに関する(言い換えれば、係り受け解析木データに関する)潜在変数同士の条件(例えば、等号条件)を表わすものであるので、モデル生成部が拘束条件データをも用いて上記の学習処理を行うことは、係り受け解析木データと正解データとによって得られる条件を、より強く拘束する方向に作用する。つまり、拘束条件データを予め記憶しておいてその拘束条件データを用いることにより、同程度の条件に基づくモデルを構築するために必要となる学習用の文データ(および正解データ)の量は、少なくて済む。言い換えれば、少量の学習用の文データ(および正解データ)から、より精度の高いモデルを生成することができる。つまり、このようなモデルを用いて文の意味判別を行う際の精度が良くなる。
【0012】
[3]また、本発明の一態様による意味分析装置は、入力される入力文データの係り受け解析処理を行い係り受け解析木データを出力する入力文係り受け解析部と、前記入力文係り受け解析部から出力された係り受け解析木データと、前記モデル記憶部から読み出した前記モデル情報とを用いて、前記入力文データの意味を判別する判別部とをさらに具備する。
【0013】
この構成により、意味が未知である入力文データに関して、モデル記憶部に記憶されたモデル情報に基づく意味の判別を行うことができる。つまり、学習用データおよび拘束条件データによって生成されたモデルに即した意味の分析を行うことができる。
【0014】
[4]また、本発明の一態様は、学習用データに対応する正解データを記憶する正解データ記憶部と、学習用データに関する潜在変数間の条件を拘束条件データとして記憶する拘束条件記憶部と、モデル情報を記憶するモデル記憶部と、前記学習用データを読み込み、前記学習用データを解析して得られる解析結果データを出力する解析部と、前記正解データ記憶部から読み出した前記正解データと前記解析部から出力された解析結果データとを用い、前記解析結果データに潜在変数を対応させるとともに、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて、前記拘束条件データを前記潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成された前記モデルの情報を前記モデル記憶部に書き込むモデル生成部とを具備する意味分析装置としてコンピューターを機能させるプログラムである。
【発明の効果】
【0015】
本発明によれば、拘束条件データを用いることによって、潜在変数同士の結合を行う。これにより、従来技術よりも少量の学習用データで、モデルをより強く拘束する作用が生じる。
従って、本発明によれば、より少量の学習用データで、より精度の良い意味分析のためのモデルを生成することができる。また、そのようなモデルを用いて、意味が未知である入力文の意味分析を高精度に行うことができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態による意味分析装置の機能構成を示すブロック図である。
【図2】同実施形態による、学習データ記憶部が記憶するデータの構成を示す概略図である。
【図3】同実施形態による、正解データ記憶部が記憶するデータの構成を示す概略図である。
【図4】同実施形態による、拘束条件記憶部が記憶するデータの構成を示す概略図であり、表現IDと表現(見出し語)との関係を表わすテーブルの構成を示す。
【図5】同実施形態による、拘束条件記憶部が記憶するデータの構成を示す概略図であり、類似表現対IDと類似表現対との関係を表わすテーブルの構成を示す。
【図6】同実施形態により、学習データを用いた機械学習を行い、モデルを生成する処理の手順を示すフローチャートである。
【図7】同実施形態による、係り受け解析部が行う係り受け解析結果の例を示す概略図である。
【図8】同実施形態による、係り受け解析木記憶部が記憶する係り受け解析結果データの構成の一例を示す概略図である。
【図9】同実施形態により、モデルを用いて入力文の意味を分析する処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0017】
次に、図面を参照しながら、本発明の実施形態について説明する。
図1は、本発明の一実施形態による意味分析装置の機能構成を示すブロック図である。図示するように、意味分析装置1は、学習データ記憶部10と、係り受け解析部20(解析部)と、係り受け解析木記憶部30と、モデル生成部40と、正解データ記憶部50と、拘束条件記憶部60と、モデル記憶部100と、入力部120と、係り受け解析部130(入力文係り受け解析部)と、判別部140と、出力部150とを含んで構成される。
【0018】
学習データ記憶部10は、学習用データを記憶する。具体的には、学習用データは学習用の文データである。
係り受け解析部20は、学習データ記憶部10から学習用データを読み込み、この学習用データを解析して得られる解析結果データを出力する。具体的には、係り受け解析部20は、学習用の文データを読み込み文データの係り受け解析処理を行い係り受け解析木データを出力する。係り受け解析部20は、係り受け解析処理の結果得られる係り受け解析木データを係り受け解析木記憶部30に書き込む。
係り受け解析木記憶部30は、係り受け解析木データを記憶する。
【0019】
モデル生成部40は、正解データ記憶部50から読み出した正解データと、係り受け解析部20から出力された解析結果データとを用い、解析結果データに潜在変数を対応させるとともに、拘束条件記憶部60から読み出した拘束条件データに基づいて、拘束条件データを潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成されたモデルの情報をモデル記憶部100に書き込む。具体的には、解析結果データは、係り受け解析の結果得られる解析木データである。また、モデル生成部40は、得られた係り受け解析木データに含まれるノードに潜在変数を対応させる。また、モデル生成部40は、拘束条件記憶部60から読み出した拘束条件データに基づいて、係り受け解析木データに含まれるノードをルートとする部分木について、各部分木に対応する表現間の類似関係を当該ノード間の潜在変数同士の拘束条件として、学習処理を行う。
【0020】
正解データ記憶部50は、学習用データに対応する正解データを記憶する。具体的には、正解データは、学習用の文データに対応する意味を表わすデータである。
拘束条件記憶部60は、学習用データに関する潜在変数間の条件を拘束条件データとして記憶する。具体的には、拘束条件データは、言語の表現間の類似関係を表わすデータである。
モデル記憶部100は、分析のためのモデル情報を記憶する。具体的には、モデル記憶部100は、文データの意味判別のためのモデル情報を記憶する。
【0021】
入力部120は、分析の対象とする文を入力する。入力文の意味は、未知である。
係り受け解析部130は、入力部120において入力された入力文データの係り受け解析処理を行い係り受け解析木データを出力する。
判別部140は、係り受け解析部130から出力された係り受け解析木データと、モデル記憶部100から読み出したモデル情報とを用いて、入力文データの意味を判別する。
出力部150は、判別部140によって判別された意味を出力する。
【0022】
この意味分析装置1は、予め放送番組に対する意見の文を学習用データとして用いてモデルを生成しておき、新たに入力される未知の文(放送番組に対する意見)の意味を分類する。なお、放送番組に対する意見の分類だけでなく、他のタスク(特定のテーマに関する意見や、製品に関する意見や、サービスに関する意見など)に意味分析装置1を適用することもできる。
【0023】
図2は、学習データ記憶部10が記憶するデータの構成を示す概略図である。図示するように、学習データ記憶部10は、文番号と学習用文データとを対応付けて記憶する。学習データ記憶部10は、例えば、リレーショナル形式のテーブルでこのデータを記憶する。図示する例では、学習データ記憶部10は、第1番目の文として「中村さん、とても感動した」という文を記憶し、第2番目の文として「中村医師の行動に深い感銘を受けた」という文を記憶する。本例では、学習データ記憶部10は、第1番目から第L番目までのL個の文のデータを記憶している。この学習用文データとしては、一例では、過去に収集した、放送番組に対する意見文を用いる。
【0024】
図3は、正解データ記憶部50が記憶するデータの構成を示す概略図である。図示するように、正解データ記憶部50は、文番号と文の意味(正解)とを対応付けて記憶している。正解データ記憶部50は、例えば、リレーショナル形式のテーブルでこのデータを記憶する。正解データ記憶部50が記憶する文番号のデータは、学習データ記憶部10が記憶する文番号のデータと対応付いている。つまり、例えば、学習データ記憶部10に記憶されている第1番目の文「中村さんはとても感動した」の意味が、正解データ記憶部50が記憶するs(1)である。第2番目の文の意味s(2)や、第3番目の文の意味s(3)などについても同様である。なお、正解データ記憶部50が記憶するs(1),s(2),・・・,s(L)の値は、例えば、有限集合{C,C,・・・,C}の要素のいずれかであり、学習用文データに対応して、人手により予め与えられる。
【0025】
一例として、意味は、集合{肯定的な意見,否定的な意見}のいずれかの要素を値として取り得る。
【0026】
図4および図5は、拘束条件記憶部60が記憶するデータの構成を示す概略図である。この拘束条件記憶部60が記憶するデータは、表現と表現との間の類似関係を表わし、後述するモデル生成の処理において拘束条件として使用される。
【0027】
図4は、拘束条件記憶部60が記憶するデータの一部であり、表現IDと表現(見出し語)との関係を表わすテーブルの構成を示す。図示するように、このテーブルは、表現IDに対応付けて、様々な表現(見出し語)を記憶する。ここで、表現は、ひとつの単語には限らず、複数の単語からなる表現であっても良い。例えば、表現ID「k1」に対応する表現は「面白い」であり、表現ID「k2」に対応する表現は「興味深い」である。
【0028】
図5は,拘束条件記憶部60が記憶するデータの一部であり、類似表現対IDと類似表現対との関係を表わすテーブルの構成を示す。図示するように、このテーブルは、類似表現対IDに対応付けて類似表現対を記憶する。類似表現対は、例えば「(k1,k2)」のように表わされ、このk1およびk2は、それぞれ表現IDである。つまり、例えば、類似表現対ID「p1」に対応する類似表現対は「(k1,k2)」であり、これは、表現「面白い」と表現「興味深い」が類似であることを表わす。
【0029】
拘束条件記憶部60が記憶するデータの作成方法として、次の2通りのいずれかを用いる。
【0030】
第1の方法は、網羅性を重視した方法である。この方法においては、まず、辞書等から、表現を抽出する。例えば、評価表現辞書から見出し語の一覧を抽出する。そして、各表現に表現IDを適宜付与する。次に、得られた各々の表現(見出し語)について、外的基準によって類似している表現同士を連結してペアとし、図5に示したテーブルに、表現のペアを書き出していく。このとき類似表現対IDを適宜付与する。
【0031】
第2の方法は、現実性を重視した方法である。この方法においては、まず、学習データを係り受け解析にかけ、その係り受け解析結果から従来のモデルを生成する。そして、そのモデルに出現する潜在変数をルートとする部分構造木に対応する文字列を見出し語の一覧とする。以下、第1の方法と同様に、各表現に表現IDを適宜付与する。そして、得られた各々の表現(見出し語)について、外的基準によって類似している表現同士を連結してペアとし、図5に示したテーブルに、表現のペアを書き出していく。このとき類似表現対IDを適宜付与する。
【0032】
拘束条件記憶部60は、フレーズ間の類似関係を多数記憶している。拘束条件記憶部60には、類義語辞書、類義表現辞書等に基づいて予め作成したデータを記憶させておく。
【0033】
次に、意味分析装置1の動作について説明する。
図6は、意味分析装置1が、学習データを用いた機械学習を行い、モデルを生成する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップS1において、係り受け解析部20は、学習データ記憶部10が記憶するL個の文の各々について係り受け解析処理を行い、その結果を係り受け解析木記憶部30に書き込む。具体的には、係り受け解析部20は、各文について、文節のチャンキング(chunking)を行い、チャンク間の係り受け関係を解析する。係り受け解析処理自体は、既存の技術を用いて行うことができる。例えば、サポートベクターマシン(SVM)に基づく日本語係り受け解析器として、CaboCha(Yet Another Japanese Dependency Structure Analyzer)を用いることができる。係り受け解析部20は、係り受け解析処理の結果を、係り受け解析木記憶部30に書き込む。
【0034】
図7は、係り受け解析部20による係り受け解析結果の例を示す概略図である。同図(a)は、学習データ記憶部10に記憶された第1番目の文「中村さん、とても感動した」を係り受け解析した結果である。この(a)において、「中村さん」が「感動した。」に係り、「とても」が「感動した。」に係る。また、同図(b)は、第2番目の文「中村医師の行動に深い感銘を受けた。」を係り受け解析した結果である。この(b)において、「中村医師の」が「行動に」に係り、「行動に」が「受けた。」に係り、「深い」が「感銘を」に係り、「感銘を」が「受けた。」に係る。
【0035】
このように、係り受け解析結果は、文節のチャンクの木構造を有する。同図(a)においては「感動した。」が木構造のルート(根)にあたる。また、同図(b)においては「受けた。」が木構造の根にあたる。なお、同図の(a)および(b)の各々に付記する「肯定的な意見」は、各文全体の意味を表わす。文全体の意味は予め与えられており、既に述べたように、正解データ記憶部50が各文の意味を記憶している。
【0036】
係り受け解析木記憶部30が記憶する係り受け解析結果データは、次のように表わされる。即ち、学習データに含まれるL個の文について、w(l)は、第l(エル)番目の文に出現する単語のベクトルである。但し、1≦l(エル)≦Lである。また、第l(エル)番目の文の中で第i番目に出現する単語(ないしは、文節のチャンク。以下で「単語」と述べる場合において同様。)は、w(l)である。また、h(l)は、第l(エル)番目の文の依存構造を表わすベクトルである。h(l)の要素であるh(l)は、第l(エル)番目の文の中の第i番目の単語の係り先の単語を表わす数値である。第i番目の単語が係り受け構造木のルート(根)ノードにあたる場合には、h(l)として、ヌルないしはゼロなどの予め適切に定められた値を用いる。
【0037】
図8は、係り受け解析木記憶部30が記憶する係り受け解析結果データの構成の一例を示す概略図である。図示するように、係り受け解析結果データは、表形式のデータであり、文番号と、単語ベクトルと、依存構造ベクトルの各項目を有している。例えば、第l(エル)行目のデータでは、文番号がl(エル)であり、単語ベクトルがw(l)であり、依存構造ベクトルがh(l)である。単語ベクトルw(l)と依存構造ベクトルがh(l)については、上で説明したとおりである。つまり、係り受け解析結果データにおける各行のデータは、各文の係り受け解析木と等価な情報を有している。
【0038】
図6に戻り、係り受け解析処理が終了すると、次に、まずステップS2において、モデル生成部40は、係り受け解析木記憶部30から係り受け解析結果データ、即ち、w(l)およびh(l)のデータを読み出す。
【0039】
そして、ステップS3において、モデル生成部40は、正解データ記憶部50から各文の正解データを読み出す。正解データとは、各文の意味である。
【0040】
また、ステップS4において、モデル生成部40は、拘束条件記憶部60から拘束条件データを読み出す。
【0041】
そして、ステップS5において、モデル生成部40は、潜在変数を用いたモデルを生成し、モデル記憶部100に書き込む。ここで、s(l)は、第l(エル)番目の文の潜在変数のベクトルである。そして、s(l)は、第l(エル)番目の文の中の第i番目の単語に位置する潜在変数であり、そのノードをルートとする部分依存構造木の意味を担うモデルである。意味s(l)は、例えば、有限集合のいずれかの要素を値である。一例としては、前述の通り、意味s(l)は、集合{肯定的な意見,否定的な意見}のいずれかの要素を値として取り得る。P(s(l)|w(l),h(l))は、第l(エル)番目の文についての潜在変数モデルである。この文全体の意味は、正解データ記憶部30から読み出して得られたものであり、これを変数s(l)とする。正解データ記憶部30から得られるのは、第l(エル)番目の文全体の意味のみであり、それ以外の潜在変数は、観測されないままに置かれる。
【0042】
このモデルにおいて、第l(エル)番目の文の意味がp(l)である確率は、下の式(1)で表わされる。
【0043】
【数1】

【0044】
そして、モデル生成部40は、与えられた学習データおよび正解データに基づき、尤度最大化による学習を行い、モデルパラメータを推定する。L個の文w(l),h(l)(但し、1≦l(エル)≦L)とL個の正解p(l)(同じく、1≦l(エル)≦L)が与えられたとき、全体の尤度Rは、下の式(2)で表わされる。
【0045】
【数2】

【0046】
これは即ち、下の式(3)に表わされる通りである。
【0047】
【数3】

【0048】
つまり、モデル生成部40は、下の式(4)に示す拘束条件を用いてモデルパラメータの推定を行う。
【0049】
【数4】

【0050】
また式(4)の条件に加えて、モデル生成部40は、拘束条件記憶部60から読み出した拘束条件をも用いて、モデルパラメータの推定を行う。拘束条件記憶部60には、類似関係を有する表現に関する情報が多数記憶されているが、モデル生成部40は、それらの中から、学習データを係り受け解析した結果に基づき、係り受け解析木におけるノードに対応する潜在変数についての拘束条件を選択して読み出す。その拘束条件を一般化すると下の式(5)のように表わされる。
【0051】
【数5】

【0052】
式(5)は、第i番目の文の第j番目の単語をトップとする部分依存構造木の意味と、第k番目の文の第m番目の単語をトップとする部分依存構造木の意味とが同一であるという条件を表わす。この、ある部分木と他の部分木とが同一であるということは、図4で説明した類似表現対として表わされている。図4の例では、類似表現対ID「p3」のデータが、表現k5「感銘を受ける」と、k6「感動する」とが類似であることを表わしている。モデル生成部40は、適用可能な部分木間の類似関係を拘束条件記憶部60からすべて読み出し、学習時(パラメータ推定時)の拘束条件として使用する。
【0053】
モデル生成部40の具体的動作手順は次の通りである。
【0054】
モデル生成部40は、まず、LDCRF(Latent-Dynamic Conditional Random Field,潜在動的条件付確率場)の構造で表されるモデルを生成する。LDCRF自体は、既存の機械学習手法であり、CRFに対して次の2点が拡張されている。第1点は、l(エル)に応じて要素数が異なるベクトルs(l)、w(l)、h(l)を扱うことができる(動的モデル Dynamic Model)。第2点は、潜在変数が導入されている(潜在変数モデル Latent Model)。このモデルは木構造であり、モデルパラメータの推定法は既知である。
【0055】
モデル生成部40は、次に、拘束条件記憶部60から読み出した拘束条件を基に、木構造のモデルに拘束条件を付加する。ここでの拘束条件は、モデル生成部40が上で生成した木構造の異なる位置にある潜在変数を結合するものである。この時、潜在変数の結合によって、木構造から一般的なグラフ構造に変換される。
【0056】
一般的なグラフ構造のモデルでも、最尤法によりモデルパラメータを推定することはできる。グラフィカルモデルの一般論に従い、モデルパラメータの最尤推定を行う。
【0057】
但し、一般的なグラフ構造のモデルはループ構造を含む場合があり得る。ループ構造を含むグラフ構造のモデルに関して、モデルパラメータの最尤推定を行うための効率的な推定アルゴリズムは存在しない。そこで、全ての拘束条件を適用した結果としてモデルにループが生じる場合には、効率的な最尤推定のために、ループを回避する手段を講じてもよい。
【0058】
ループ回避の手段の一例は次の通りである。即ち、拘束条件の適用を木構造のトップ(ルート)に近い順から行い、後から適用される潜在変数の結合を試みてループを生じるような場合には、その拘束条件を除外する。このような手段は、木構造(構文解析木)のトップに近い結合を優先し、トップから遠い結合でループを生じるものを除外する働きを持つ。
【0059】
式(3)により表した尤度Rは、多数のパラメータに依存する。これらのパラメータ全体のベクトルをΘとすると、下の式(6)のように表される。
【0060】
【数6】

【0061】
モデル生成部40は、式(5)の形式で表される(単数または複数の)拘束条件の下で、式(6)のRを最大化させるΘを算出する。即ち、モデル生成部40は、下の式(7)におけるΘ(ハット)を算出する。
【0062】
【数7】

【0063】
そして、モデル生成部40は、学習により得られたパラメータ値のデータ(Θ(ハット))を、モデル記憶部100に書き込む。以上で、意味分析装置1がモデルを生成する処理を終了する。
【0064】
次に、モデルが既に生成されている状態で、入力される文の意味を判別する処理の手順について説明する。図9は、モデルを用いて意味を分析する処理の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
まずステップS21において、入力部120が入力文のデータを読み込む。
【0065】
次に、ステップS22において、係り受け解析部130は、入力部120が読み込んだ入力文の係り受け解析処理を行う。係り受け解析部130が備える機能は、係り受け解析部20のそれと同様である。係り受け解析部130は、係り受け解析処理の結果として、入力文に対応する単語ベクトルw(in)と依存構造ベクトルh(in)とを出力する。単語ベクトルw(in)の第i番目の要素w(in)は、入力文の中で第i番目に出力する単語(ないしは文節のチャンク。以下で「単語」と述べる場合において同様。)また、依存構造ベクトルh(in)との第i番目の要素h(in)は、入力文の中の第i番目の単語の係り先の単語を表わす数値である。
【0066】
次に、ステップS23において、判別部140は、係り受け解析部130から出力された単語ベクトルw(in)と依存構造ベクトルh(in)とに基づいて、入力文の意味の判別を行う。このとき、判別部140は、モデル記憶部100から、学習データに基づいてパラメータ推定済みのモデルを読み出し、そのモデルに単語ベクトルw(in)と依存構造ベクトルh(in)とを適用することによって、入力文の意味を算出する。判別部140によって算出される意味の値は、例えば、有限集合{C,C,・・・,C}の要素のいずれかである。その一例として、算出される意味の値は、集合{肯定的な意見,否定的な意見}の要素のいずれかである。
【0067】
最後に、ステップS24において、出力部150は、モデルに基づいて判別部140によって算出された入力文の意味(最尤意味)を出力する。
【0068】
意味分析装置1の動作をまとめると、次の通りである。意味分析装置1は、まず、依存構造木の各ノードに対して、そのノードの部分依存構造木が持つ意味を潜在変数でモデル化する手法としてLDCRFを構築する。次に、同義語辞書(類義語辞書、シソーラス、オントロジーを含む)を用いる。そして、文の中の部分的表現が、他の部分的表現と同一の(類似の場合を含む)意味を持つことがわかっている場合には、これを拘束条件データとして利用する。この手順で構築されたモデルに対して、多量の例文を学習用データとして与え、機械学習法によってモデルパラメータを推定する。このとき、各々の例文の意味(文全体の意味)は、別途正解データとして与えられる。単純にLDCRFを用いる場合には、意味的に類似の言い回しであっても、異なる表現については別々に学習が行われる。本実施形態による意味分析装置1は、上記の拘束条件データに基づいて、モデル学習の潜在変数を結合(tying)することにより、効率的にモデル学習ができるようになる。潜在変数の結合とは、式(5)の等式により、潜在変数間の拘束条件を与えることである。
【0069】
このような構成にすることにより、比較的少量の正解事例からも、精度の良いモデルを構築することができるという効果が得られる。
【0070】
[他の方式による技術との比較]
(1)単純な文字列置換
なお、モデルを構築するにあたり、類似表現を置換してしまう方法を取ることも考えられるが、本実施形態による意味分析装置1の構成では、置換してしまう場合よりも豊富な表現を維持したままで、より良い精度のモデルを構築することができる。
【0071】
例えば、処理対象として次のような文集合を分類する場合を考える。即ち、「○○という人の話は面白くない」、「△△という人の話は面白い」、「××という人の話はつまらない」、「※※という人の話を面白くしてほしい」という文集合である。このような文を分類するときに、どの文が類似しているとみなすかは、アプリケーションに依存する。アプリケーションのタスクが、放送番組の評判分析システムにおいて、肯定的な意見と否定的な意見の割合を数えるものである場合を考える。そのようなタスクでは、「・・・面白くしてほしい」は、「・・・面白くない」と同様に否定的な意見として扱うべきである。その理由は、「・・・面白くしてほしい」は「面白くない」を含意(暗黙のうちに仮定)いるからである。つまり、「面白くしてほしい」と「面白くない」の2つは類似フレーズとして扱われることが必要である。また、それは、タスクに依存している。
【0072】
仮に、類似フレーズを置換する方式とした場合、「面白くない」が「つまらない」に置換されてしまう。すると、「面白くしてほしい」という表現が「面白くない」と同等に扱われるべきであるという手がかりを失ってしまう。つまり、類似フレーズを置換する方式を採用した場合には類似表現の利用に制約が生じるのに対して、本実施形態による意味分析装置1が多様な表現を維持したまま潜在変数同士の結合という手段で拘束条件を与えることは、有利な効果をもたらす。
【0073】
また、前述の通り、「・・・してほしい」(例えば、「面白くしてほしい」)と「・・・ない」(例えば、「面白くない」)を同等に(類似として)扱うのは、アプリケーションのタスクに固有の規則である。人手によって規則を与える方法と、学習データから自動的に機械学習されたモデルがその規則と同等の作用を行う場合との両方があり得るが、双方とも同様である。この事例で、「※※という人の話を面白くしてほしい」という文を、肯定的な意見または否定的な意見のいずれかに分類しようとすると、全く同じ学習データが存在しないために、規則やモデルにその処理が委ねられる。学習データの事例から、「・・・してほしい」と「・・・ない」とが同等の意味をなすという学習が為されると、入力文に対して、「面白くしてほしい」が「面白くない」と同等の意味であると扱うことのできるモデルを構築できる。本実施形態による意味分析装置1は、このような学習を行う。これに対して、学習データに対して、事前に文字列置換を行ってしまうと、学習データ中から「面白くない」という文がなくなってしまうために、学習後に「面白くない」をどのように分類すべきかの手がかりがなくなり、本実施形態のような正確な分類ができなくなってしまう。
【0074】
(2)推論後の文字列置換
さらに別の技術として、処理すべき入力データに対して推論を施した後に、文字列置換を行うという方法を取ることも考えられる。
しかし、この場合には、例えば、「○○はおかしくも面白くもない。」という文は、文字列置換により、「○○は、おかしくもつまらない。」という文に変換される。このように文字列置換された結果の表現は、「おかしい」という肯定的表現と「つまらない」という否定的表現の両面をもつ意見文として分析されてしまうことになり、正確な分類につながらない。この現象はスコープの問題と呼ばれ、単純な文字列置換では否定表現「〜ない」のスコープを正しく扱えないことによって、文字列置換後に意味が変わる部分が生じてしまうことによる。この「〜ない」という表現において起こる問題と同様の問題は、「〜すぎる」や「〜足りない」や「〜がち」といった表現においても起こる。
【0075】
また、「〜れば、面白かったのに。」のように条件節を伴う表現も、否定文を含意しており、同様の問題が生じる。例えば「もうひと工夫あれば、良かったのに。」という修辞的に丁寧な文例もあれば、「もうひと工夫あれば良い。」というくだけた感じの文例もあるため、その意味を分析するためには、「〜のに」という部分の表現に着目するだけでなく、条件節「〜れば」という部分の表現に着目する必要がある場合もある。「〜れば、面白い」という表現と「面白くない」と言う表現とを、類似表現として扱う場合においても、前者から後者への文字列置換を行ってしまうと、条件節「〜れば」の部分が置換されなくなってしまうため、重要な情報が欠落する。
【0076】
(3)本実施形態の優位性
上記のように、文字列置換を行う方法では情報の欠落や意味の改変といった副作用が起こり得る。これに対して、本実施形態による技術は、入力される文を改変することなくそのまま、潜在変数の結合を行うこと、即ち、部分木間の拘束条件を用いることによる処理を行う。一文中で複数の事項を述べている場合に、どの部分が全体の意味に重要な影響を与えるかを判定する処理を、局所的判断で行うのではなく、最後に総合的判断で行うことが望ましい。このため、部分的・局所的判断だけで処理をしてしまう文字列置換の手法よりも、元文の情報を全部残したまま学習済のモデルによる処理を行う本実施形態の手法のほうが有利な結果を得られる。
【0077】
なお、上述した実施形態における意味分析装置の機能をコンピューターで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0078】
以上、複数の実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。
例えば、係り受け解析木記憶部30が記憶する係り受け解析結果データの構成例を図示したが、データ構造としては別の形で、文節間の依存関係(木構造)を表現するようにしても良い。
また例えば、図6に示した処理手順のうち、ステップS2とS3とS4の順序は任意であり、順序を変えて処理しても良い。
また、モデルを生成するための装置(学習データ記憶部10と、係り受け解析部20と、係り受け解析木記憶部30と、モデル生成部40と、正解データ記憶部50と、拘束条件記憶部60と、モデル記憶部100)と、生成されたモデルを用いた文判別のための装置構成(モデル記憶部100と、入力部120と、係り受け解析部130と、判別部140と、出力部150)とを、それぞれ別装置として実現しても良い。
【0079】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0080】
この発明は、例えば、大量の文の意味を効率よく自動的に分類するために利用できる。例えば、製品やサービスの利用者からの意見を効率よく分類するために利用できる。また、例えば、放送番組の視聴者からの意見を効率よく分類するために利用できる。
【符号の説明】
【0081】
1 意味分析装置
10 学習データ記憶部
20 係り受け解析部(解析部)
30 係り受け解析木記憶部
40 モデル生成部
50 正解データ記憶部
60 拘束条件記憶部
100 モデル記憶部
120 入力部
130 係り受け解析部(入力文係り受け解析部)
140 判別部
150 出力部

【特許請求の範囲】
【請求項1】
学習用データに対応する正解データを記憶する正解データ記憶部と、
学習用データに関する潜在変数間の条件を拘束条件データとして記憶する拘束条件記憶部と、
モデル情報を記憶するモデル記憶部と、
前記学習用データを読み込み、前記学習用データを解析して得られる解析結果データを出力する解析部と、
前記正解データ記憶部から読み出した前記正解データと前記解析部から出力された解析結果データとを用い、前記解析結果データに潜在変数を対応させるとともに、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて、前記拘束条件データを前記潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成された前記モデルの情報を前記モデル記憶部に書き込むモデル生成部と、
を具備することを特徴とする意味分析装置。
【請求項2】
学習用の文データに対応する意味を正解データとして記憶する正解データ記憶部と、
言語の表現間の類似関係を拘束条件データとして記憶する拘束条件記憶部と、
文データの意味判別のためのモデル情報を記憶するモデル記憶部と、
前記学習用の文データを読み込み前記文データの係り受け解析処理を行い係り受け解析木データを出力する係り受け解析部と、
前記正解データ記憶部から読み出した前記正解データと前記係り受け解析部から出力された係り受け解析木データとを用い、前記係り受け解析木データに含まれるノードに潜在変数を対応させるとともに、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて、前記ノードをルートとする部分木に対応する表現間の類似関係を当該ノード間の前記潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成された前記モデルの情報を前記モデル記憶部に書き込むモデル生成部と、
を具備することを特徴とする意味分析装置。
【請求項3】
入力される入力文データの係り受け解析処理を行い係り受け解析木データを出力する入力文係り受け解析部と、
前記入力文係り受け解析部から出力された係り受け解析木データと、前記モデル記憶部から読み出した前記モデル情報とを用いて、前記入力文データの意味を判別する判別部と、
をさらに具備することを特徴とする請求項1に記載の意味分析装置。
【請求項4】
学習用データに対応する正解データを記憶する正解データ記憶部と、
学習用データに関する潜在変数間の条件を拘束条件データとして記憶する拘束条件記憶部と、
モデル情報を記憶するモデル記憶部と、
前記学習用データを読み込み、前記学習用データを解析して得られる解析結果データを出力する解析部と、
前記正解データ記憶部から読み出した前記正解データと前記解析部から出力された解析結果データとを用い、前記解析結果データに潜在変数を対応させるとともに、前記拘束条件記憶部から読み出した前記拘束条件データに基づいて、前記拘束条件データを前記潜在変数同士の拘束条件として、学習処理を行ってモデルを生成し、生成された前記モデルの情報を前記モデル記憶部に書き込むモデル生成部と、
を具備する意味分析装置としてコンピューターを機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−84136(P2013−84136A)
【公開日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2011−223832(P2011−223832)
【出願日】平成23年10月11日(2011.10.11)
【出願人】(000004352)日本放送協会 (2,206)
【Fターム(参考)】