【実施例1】
【0019】
図3に本発明の機能表現解析装置と素性重み学習装置のイメージを示す。素性重み学習装置では、意味ラベル正解コーパス193を入力として、パラメータ推定部101が機能表現辞書191とパラメータテーブル192を用いて求めたフレーズ列(最尤フレーズ列)が、意味ラベル正解コーパス193に記録されているフレーズ列と同一になるように、パラメータテーブル192の各素性の重みの更新を行う。意味ラベル正解コーパス193とは、形態素列に対してフレーズを構成して意味ラベルを付与した文の集合である。機能表現辞書191とは、機能表現の表層形とその意味ラベルとを格納したものであり、パラメータテーブル192とは、素性に対する重みを格納したものである。
図4に機能表現辞書191に記録されている情報の例を、
図5にパラメータテーブル192に記録される情報の例を示す。機能表現解析装置では、デコーディング部110が、入力された形態素列に対して機能表現辞書191とパラメータテーブル192を用いてデコーディングを行う。そして、意味ラベル取得部210が意味ラベルを取得して、あらかじめ定めた形式で入力された形態素列に対する意味ラベルを出力する。詳細な構成と処理については以下に説明する。
【0020】
図6に実施例1の素性重み学習装置の機能構成例を、
図7に実施例1の素性重み学習装置の処理フロー例を示す。素性重み学習装置100は、記録部190、デコーディング部110、第1素性選択部120、第2素性選択部130、差分抽出部140、パラメータテーブル更新部150、制御部160を備える。なお、デコーディング部110、第1素性選択部120、第2素性選択部130、差分抽出部140、パラメータテーブル更新部150、制御部160が、
図3のパラメータ推定部101に相当する。
【0021】
記録部190は、機能表現の表層形とその意味ラベルとを格納した機能表現辞書191と、素性に対する重みを格納しうるパラメータテーブル192と、形態素列に対してフレーズを構成して意味ラベルを付与した文の集合である意味ラベル正解コーパス193を記録する。
パラメータテーブルは、各素性に対する重みを対応づけて記憶しうるものであり、素性としては、形態素の部分列(形態素列)と意味ラベルとを対応つける素性(マッピング素性)、及び、意味ラベル列を表す素性(N−gram素性)の両方が含まれる。マッピング素性に対する重みは、当該形態素列の意味ラベルへのなりやすさを表し、N−gram素性に対する重みは、当該意味ラベル列の尤もらしさを表す。
機能表現辞書191としては、例えば、日本語機能表現辞書「つつじ」(参考文献1:松吉俊,佐藤理史,宇津呂武仁,“日本語機能表現辞書の編纂”自然言語処理,14(5):pp.123-146, 2007年10月.)を用いればよい。「つつじ」は、機能表現の表層形約16,000種について、その意味カテゴリが付与されている。また、機能表現意味ラベルとして「つつじ」に収録されている意味カテゴリ89個を用いればよい。
【0022】
素性重み学習装置100は、パラメータテーブル192を初期化する(S105)。例えば、空のパラメータテーブル192(すべての素性の重みが0のパラメータテーブルに相当する)を作成すればよい。制御部160は、意味ラベル正解コーパス193が記録している文の中の1文を選択し、その文の形態素列をデコーディング部110に入力する(S161)。そして、デコーディング部110は、入力された形態素列に意味ラベルが対応つけられたフレーズ列を、最尤フレーズ列として出力する(S110)。
【0023】
より具体的には、デコーディング部110は、ラティス構築手段111と最尤パス探索手段112とを備える。ラティス構築手段111は、入力された形態素列に対して、意味ラベルが付与されたフレーズラティスを作成する(S111)。例えば、ラティス構築手段111は、形態素列のすべての部分列について表記を接続した文字列を作成し、機能表現辞書と形態素列表記が一致する形態素の部分列に、機能表現辞書に格納された意味ラベルを付与したフレーズを作成する。機能語に分類される品詞を持つ形態素には、機能表現であることを示す意味ラベル“NULL”を付与したフレーズを作成する。述語に分類される品詞を持つ形態素には、述語であることを示す意味ラベル“PRED”を付与したフレーズを作成する。また、入力されたすべての形態素について、機能表現でも述語でもないことを示す意味ラベル“*”を付与したフレーズを作成する。このように、入力された形態素列に対して、取り得る部分形態素列とその意味ラベル列とを対応づけたフレーズ列を列挙したフレーズラティスを作成することで、機能表現辞書と形態素列表記が一致するフレーズと、機能語に分類される品詞を持つ形態素のフレーズと、述語に分類される品詞を持つ形態素のフレーズと、述語および機能表現ではないことを示す形態素のフレーズを含むフレーズラティスが作成される。
図8は、フレーズラティスの例を示す図である。
【0024】
最尤パス探索手段112は、パラメータテーブル192を用いてフレーズラティスから入力の形態素列に対応する尤もらしいパス(フレーズ列)である最尤パスを探索することで最尤フレーズ列を求める(S112)。例えば、フレーズラティスから、以下の式を満たすフレーズ列を探索し、最尤フレーズ列として出力する。
【0025】
【数1】
【0026】
ただし、Pはフレーズ列、f
k(P)はフレーズ列が与えられたときのk番目の素性、w
kは素性f
k(P)に対応する重みであり、パラメータテーブル192を検索することで取得される。なお、パラメータテーブル192に素性が存在しない場合は重みを0とする。この処理では、入力された形態素列と意味ラベル列の間で、その出現順序は変更されないため、式(1)を満たすフレーズ列は動的計画法を用いて探索できる。
【0027】
第1素性選択部120は、最尤フレーズ列から素性を求め、第1素性集合を作成する(S120)。なお、上述のように素性には、形態素列と意味ラベルとを対応つける素性(マッピング素性)と意味ラベル列を表す素性(N−gram素性)の両方が含まれる。素性の例を
図9に、素性のイメージを
図10に示す。マッピング素性は、基本的にはフレーズに含まれる形態素情報と機能表現表層形、意味ラベルから決定される(
図9のSW1,SP1)。ただし、形態素情報に関しては、フレーズの直前形態素や直後形態素のようにフレーズの周辺形態素を用いても良い(
図9のSW2,SP2,SW3,SP3)。また、本実施例では、N−gram素性として3,2,1−gramを用いているが、他のN−gramを用いてもよい。例えば、
図2のフレーズ「た」に対して、
図9を用いて素性選択を行うと、
図11に示す素性が作成される。このように、本発明で用いる素性は、形態素(または品詞)が存在するか否かに基づく二値素性である。
【0028】
第2素性選択部130は、意味ラベル正解コーパス193から正解となるフレーズ列である正解フレーズ列を求め、正解フレーズ列から素性を求め、第2素性集合を作成する(S130)。差分抽出部140は、第1素性集合と第2素性集合との間で異なる素性を抽出する(S140)。パラメータテーブル更新部150は、抽出された素性であって第1素性集合に含まれる素性の重みを小さくし、抽出された素性であって第2素性集合に含まれる素性の重みを大きくする(S150)。
【0029】
制御部160は、デコーディング部110、第1素性選択部120、第2素性選択部130、差分抽出部140、パラメータテーブル更新部150の処理を繰り返す。例えば、パーセプトロン学習を用いる場合は、デコーディング部110、第1素性選択部120、第2素性選択部130、差分抽出部140、パラメータテーブル更新部150の処理を1文ごとに実行する。そして、デコーディング部110、第1素性選択部120、第2素性選択部130、差分抽出部140、パラメータテーブル更新部150の処理を、意味ラベル正解コーパスに含まれる全文に対して実行するまで繰返し(S162)、パラメータテーブルの重みに変化がなくなったことを確認し、変化がある場合は処理を再度全文に対して実行するまで繰り返せばよい(S163)。
【0030】
また、平均化パーセプトロン学習を用いる場合は、
図12に示した処理フローとすればよい。
図12は、
図7とステップS164とS155のみが異なる。
図12の場合は、ステップS162がYesの場合に、その時点でパラメータテーブル192に記録されている素性の重みを記録する。そして、ステップS163がNoとなるまで素性の重みは記録されていく。ステップS163がNoとなった場合(収束した場合)、パラメータテーブル更新部150は、これまでに記録された素性の重みの平均値を、パラメータテーブル192の素性の重みとする(S155)。
【0031】
図13に実施例1の機能表現解析装置の機能構成例を、
図14に実施例1の機能表現解析装置の処理フローを示す。機能表現解析装置200は、入力された形態素列に対する意味ラベルを出力する。機能表現解析装置200は、少なくとも記録部290、デコーディング部110、意味ラベル取得部210を備える。記録部290は、機能表現の表層形とその意味ラベルとを格納した機能表現辞書191と、素性に対する重みを格納したパラメータテーブル192を記録する。パラメータテーブルには、形態素列と意味ラベルとを対応つける素性(マッピング素性)と意味ラベル列を表す素性(N−gram素性)の両方が含まれ、それぞれの素性の尤もらしさを表す(マッピング素性の場合は当該形態素列の意味ラベルへのなりやすさを表し、N−gram素性の場合は当該意味ラベル列の尤もらしさを表す)重みが対応づけて記憶されている。パラメータテーブルは予め与えておくものとし、たとえば前述の素性重み学習装置等により予め学習しておくことができる。なお、
図12の点線で示した構成部も備えた場合には、機能表現の解析と同時にパラメータテーブルの更新を行うという学習と解析の両方の機能を持った機能表現解析装置300を構成できる。
【0032】
機能表現解析装置200の解析処理のフローは以下のようになる。機能表現解析装置200は、解析対象の形態素列をデコーディング部110に入力する(S261)。デコーディング部110は、素性重み学習装置における学習時と同じように、入力された形態素列に意味ラベルが対応つけられたフレーズ列を、最尤フレーズ列として出力する(S110)。
なお、デコーディング部110の詳細な構成や処理内容についても学習時と同じである。
意味ラベル取得部210は、最尤フレーズ列から意味ラベルを取り出す(S210)。
素性重み学習装置100と機能表現解析装置200(または機能表現解析装置300)によれば、機能表現同士の接続可否を記載した接続表を準備することなく、形態素列に意味ラベルを付与することが可能である。また、同じ表層形を持つ機能表現が複数存在していても、前後の文脈によって適切な意味ラベルを選択することができる。
なお、上述の機能表現解析装置もしくは素性重み学習装置は、プログラムによってコンピュータを機能表現解析装置もしくは素性重み学習装置として動作させてもよい。