(57)【要約】【課題】  より精度良く、言語解析を行えるようにする。【解決手段】  単語を潜在クラスに基づく確率分布で表現し、文や文書など複数の単語から構成される言語単位を、それを構成する個々の単語の確率分布表現を重畳することによって表現する。そして、確率分布間の距離尺度を規定することによって、文書検索や用例ベースの言語処理など、言語単位間の類似尺度を利用した自然言語処理を行う。本発明は、言語解析を行い、ユーザとの対話を処理する情報処理装置に適用することができる。【選択図】図５
2006127077.tif 000002
【特許請求の範囲】
【請求項１】
単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現手段と、
複数の単語を含む文脈を、その文脈に含まれる単語の前記第１の表現手段により表現された前記確率分布表現を重畳することにより表現する第２の表現手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第２の表現手段は、単語毎に前記確率分布表現を乗算することにより重畳する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の表現手段は、単語毎に前記確率分布表現を重畳するとき、前記確率分布表現毎に重み付けを行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記確率分布表現間の距離を算出することにより、前記文脈を含む文章と他の文章との文章間の距離を定義する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記確率分布表現間の距離を算出することにより、供給される前記文脈を含む文章と予め保持されている用例との距離を定義する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記確率分布表現間の距離を算出された距離に応じて、文章を検索する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現ステップと、
複数の単語を含む文脈を、その文脈に含まれる単語の前記第１の表現ステップの処理で表現された前記確率分布表現を重畳することにより表現する第２の表現ステップと
を含むことを特徴とする情報処理方法。
【請求項８】
単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現ステップと、
複数の単語を含む文脈を、その文脈に含まれる単語の前記第１の表現ステップの処理で表現された前記確率分布表現を重畳することにより表現する第２の表現ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されていることを特徴とする記録媒体。
【請求項９】
単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現ステップと、
複数の単語を含む文脈を、その文脈に含まれる単語の前記第１の表現ステップの処理で表現された前記確率分布表現を重畳することにより表現する第２の表現ステップと
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、情報として、単語、文章、文脈などの情報を扱う際に適用して好適な情報処理装置および方法、記録媒体、並びにプログラムに関する。
【背景技術】
【０００２】
入力されたテキストがどのような単語、文章、文脈であるかを解析することにより、情報の検索や、文章の作成の補助などが行われている。例えば、単語が入力された際、その単語を解析し、その単語を含む文章が検索されるといった文章検索のサービスが行われている。また、例えば、単語が入力された際、その単語に続く文字（単語、文章など）は、何であるかを類推し、ユーザにその類推結果を提供することにより（ユーザは、その類推結果を用いることにより、文字を入力する手間が省ける）、ユーザが文章を作成する補助を行うといったことが行われている。
【０００３】
また、ユーザが発した言葉を解析し、その言葉に対応する処理を実行するといった音声認識と、その認識結果を用いた処理が行われている。例えば、ユーザが発した言葉を認識し、その認識結果に対した返答を行うことにより、ユーザとの会話を行うロボットなどの開発が行われている。また、ワードプロセッサなどでは、ユーザが発した言葉をテキストデータに変換することも行われている。
【０００４】
このような、ユーザによりテキストデータや音声データとして入力された言葉を処理することを、ここでは、自然言語処理または言語解析と称する。自然言語処理において、文や文章などの複数の単語から構成される言語単位の類似性を表す距離尺度として、ベクトル空間法が利用される。
【０００５】
ベクトル空間法は文章検索の分野で広く使われている方法の一つである。このベクトル空間法においては、処理対象となる文章同士（入力文と入力例）をそれぞれベクトルで表し、文章間の距離を、そのベクトル同士のなす角度として求める。
【０００６】
図１を参照し、ベクトル空間法の入力文と入力例のマッチングの仕方について説明する。図１に示したように、入力例の文章に含まれる単語の頻度を列挙し、各入力例をベクトルとして表現する。同様に、入力文もベクトルで表現される。入力例＃ｋ（ｋ＝１，２，・・・，Ｋ）を表すベクトルｘkとし、入力文を表すベクトルｙとし、ベクトルｘkとベクトルｙとがなす角度をθkとして、それぞれ表すこととすると、その余弦(cosine)であるcosθkは、式（１）に基づいて算出することができる。
【０００７】
【数１】
2006127077.tif 000003
式（１）において、・は内積を表し、|z|はベクトルzのノルムを表す。
【０００８】
cosθkは、ベクトルｘkとベクトルｙとが同一の向きであるときに最大値である１となり、ベクトルｘkとベクトルｙとが逆向きであるときに最小値である-1となる。ただし、ここでは、入力文のベクトルｙや入力例＃ｋのベクトルｘkの要素は、０以上の値をとるので、ベクトルｘkとベクトルｙとのcosθkの最小値は0となる。コサインの値が最大になる文章を求めれば、それは入力文に最も「似ている」文章になっていると考えることができる。
【０００９】
ベクトル空間法によるマッチングでは、全ての入力例＃ｋについて、cosθkをスコアとして計算し、例えば、最大のスコアを与える入力例＃ｋが、入力文に最も類似する入力例として求められる。
【００１０】
なお、この例のように、ベクトルの各要素として単語の出現回数を使う場合を tf（Term Frequency）という。一般に、tf を使った検索では高頻度語の影響を受けやすい。また、日本語では、助詞や助動詞の出現頻度が高い傾向がある。従って、tfを使用した場合、入力文や入力例の中の助詞や助動詞に、いわば引きずられたスコアが得られやすい傾向がある。即ち、例えば、入力文に、助詞「の」が頻出している場合は、助詞「の」が頻出している入力例のスコアが高くなる傾向がある。
【００１１】
一般の文章検索では、出現頻度が高い単語の影響を受けるのを防止するために、ベクトルの値として、tfの代わりに、後述するidfを用いたtf×idfという尺度を使用することがある。しかしながら、日本語の文については、助詞や助動詞こそが、その文の形式を表していると考えられるので、形式的な応答文を作成する際など、文章間のマッチングにおいて、入力文および入力例における助詞や助動詞に影響を受けるのは、むしろ望ましいと考えることもできる。
【００１２】
そこで、応答文を作成する際などに行われるマッチングでは、tfを採用することができる。なお、ベクトルの値として、tfの代わりに、後述するdf(Document Frequency)を用いたtf×dfという尺度を使用することにより、助詞や助動詞の影響を一層強くすることができ、応答文を作成する際などのマッチングでは、このtf×dfを採用することもできる。
【００１３】
ここで、ある単語wについてのdfであるdf(w)は、例えば、式（２）で表される。
【００１４】
【数２】
2006127077.tif 000004
式（２）において、対数(log)の底は、例えば２である。また、式（２）において、C(w)は、単語wが出現している入力例の数を表し、offsetは、所定の定数である。
【００１５】
式（２）によれば、単語wが出現する入力例の数が多いほど、その単語wのdf(w)も大になる。
【００１６】
例えば、助詞「の」が出現する入力例の数が1023であるとし、つまり、C(の)が1023であるとし、offsetが1であるとする。また、ある入力例＃ｋ（または入力文）における助詞「の」の出現回数が2回、つまり、tfが2であるとする。この場合、入力例＃ｋを表すベクトルの、単語（助詞）「の」に対応する要素の値は、tfを採用したときにはtf=2となり、tf×dfを採用したときにはtf×df(の)=2×10=20となる。
【００１７】
なお、ベクトルの要素の値として、tfに代えてtf×dfを採用することは、入力例と入力文との両方について行っても良いし、いずれか一方だけについて行っても良い。
【００１８】
また、このようなマッチングにおいて、助詞や助動詞といった文の形式を表す語句の影響を大にする方法としては、tf×dfを採用する方法の他、例えば、入力文や入力例のベクトルの要素のうち、助詞や、助動詞、その他の文の形式を表す語句に対応する要素を除く要素の値を0にする（文の形式を表す語句に対応する要素以外を無視する）方法などがある。
【００１９】
上述した入力文と入力例とのマッチングは、内容（形式ではなく）が合っているかという観点で、入力文と入力例との類似度を表すスコアを求める処理である。入力文と用例との内容が合っているかという観点のマッチングも、上述したベクトル空間法により行うことができる。
【００２０】
即ち、ベクトル空間法において、ベクトルの要素の値として、tfの代わりに、例えば、idf(Invert Document Frequency)を用いたtf×idfという尺度を採用することにより、入力文と用例との内容が合っているかという観点のマッチングを行うことができる。ここで、ある単語wについてのidfであるidf(w)は、例えば、式（３）で表される。
【００２１】
【数３】
2006127077.tif 000005
【００２２】
式（３）において、対数(log)の底は、例えば２である。また、式（３）において、ｐは、用例の総数を表し、C(w)は、単語wが出現している用例の数を表す。さらに、offsetは、所定の定数である。
【００２３】
式（３）によれば、ある用例に偏って出現する語句（単語）w、つまり、その用例の内容（話題）を表していると考えられる語句のidf(w)は大になり、多くの用例に、万遍なく現れる語句（単語）w、つまり、一般には、助詞や助動詞などのidf(w)は小になる。
【００２４】
例えば、助詞「は」が出現する用例の数が1024であるとし、つまり、C(は)が1024であるとし、offsetが1であるとする。さらに、用例の総数ｐが4096であり、ある入力文における助詞「は」の出現回数が2回、つまり、tfが2であるとする。この場合、その文章を表すベクトルの、単語（助詞）「は」に対応する要素の値は、tfを採用したときにはtf=2となり、tf×idfを採用したときにはtf×idf(は)=2×3=6となる。
【００２５】
なお、ベクトルの要素の値として、tfに代えてtf×idfを採用することは、用例と入力文との両方について行っても良いし、いずれか一方だけについて行っても良い。
【００２６】
しかしながら、文章中の単語の出現のみを考慮するベクトル空間法では、文章をベクトル表現した時、ほとんどの要素が０になり、非常に疎なベクトルとなってしまう。そのため、ベクトルの内積計算において信頼性の高い類似度を得ることが困難であるといった問題があった。この問題を解決する手法として、ベクトル空間を潜在的な空間に圧縮するというのがLatent Semantic Analysis(LSA), Probabilistic Latent Semantic Analysis(PLSA)という手法が提案されている。
【００２７】
LSAは、単語-文章の共起行列Ａを特異値分解によって分解し、その主成分をk個とることによって近似し、空間をk次元に圧縮する。特異値分解の定式化したときの式（４）を示す。
Ａ  ＝  ＵΣＶT    ・・・（４）
【００２８】
単語数をＷ、文章数をＤとすると、ＡはＷ行Ｄ列の行列、行列Ａのランクをｒ（ｒは、Ｗ、Ｄ以下の整数値）とすると、成分行列ＵはＷ行ｒ列の左特異ベクトルを、成分行列ＶはＤ行ｒ列の右特異ベクトルを、成分行列Σはｒ行ｒ列の特異行列を、それぞれ示している。また、ＶTは成分行列Ｖの転置行列を示している。
【００２９】
成分行列Σは、r個の特異値が対角線上の要素として並び、他の要素は全て０の行列となる。また、成分行列Ｕの最初のr個の列成分（左特異ベクトル）が正規直交基底であり、左から順に重要な列成分であるので、k個（kは、ｒより小さい整数値）の左特異ベクトルを用いることで最良の近似ができる。
【００３０】
そこで、成分行列Ｕの先頭のｋ個の列成分（左特異ベクトル）からなる射影行列（以下、Ukと記述する）、即ち、Ｗ行ｋ列の射影行列Ukとする。
【００３１】
次に、行列Ａの各列成分のそれぞれ、即ち、各ベクトル（Ｗ次元）に対して、この射影行列Ukの転置行列を左から掛けることで、k次元に次元削減された各ベクトルのそれぞれ（各ベクトルの近似ベクトルのそれぞれ）を生成する。即ち、各ベクトルがｋ次元の概念空間に射影される。また、成分行列Ｖについても同様に、最初のk 個の右特異ベクトルを用いるとして、成分行列Ｖの先頭のｋ個の列成分（右特異ベクトル）からなる行列（以下、Vkと称する）、即ち、Ｄ行ｋ列の行列Vkが生成される。
【００３２】
さらに、成分行列Σの先頭のｋ個の列成分のうちの１行乃至ｋ行までの要素（成分行列Σのうちの、ｋ×ｋ個の要素からなる左上成分）からなる行列（以下、Σkと称する）、即ち、ｋ行ｋ列の行列Σkを生成する。
【００３３】
そして、次式（５）の右辺を演算することで、kに縮退した近似行列Ａkが生成される。なお、式（５）において、ＶkTは成分行列Ｖkの転置行列を示している。
Ａk＝  ＵkΣkＶkT  ・・・（５）
【００３４】
このような潜在意味空間上でのベクトルの内積をとることによって類似度を計算し、データの過疎性の問題を回避し、さらに低頻度データによるノイズの影響を低減することにより、信頼性のより高い類似度が計算される。
【００３５】
このとき、共起行列に含まれない未知の文章の類似度を計算したい場合、その文章と共起する単語ベクトルが作成され、それに特異値ベクトルUを利用して潜在意味空間に変換することにより、他の文章との類似度の計算が行われる。
【００３６】
さらに、これを確率的に拡張したPLSAでは、次式（６）に示すように、単語wと文章dの共起を潜在変数zを用いて分解して考える。
ｄ＝｛ｐ（ｗ1｜ｄ），ｐ（ｗ2｜ｄ），・・・，ｐ（ｗM｜ｄ）｝    ・・・（６）
式（６）において、Ｍは語彙数を示す。
【００３７】
そしてｐ(z),ｐ(w|z),p(d|z)というパラメータを、図２に示す、式（７）乃至式（１１）によるＥＭ（期待値最大化）アルゴリズムを利用して最適化する。
【００３８】
そして文章をベクトル表現するための方法として、次式（１２）のように文章における各単語の生起確率p(w|d)で表現する方法も提案されている。
【００３９】
【数４】
2006127077.tif 000006
【００４０】
また、次式（１３）のように潜在空間上での単語の生起確率に基づいて表現する方法も提案されている。
【００４１】
【数５】
2006127077.tif 000007
【００４２】
またこのとき未知の文章を対象にする場合には、ＥＭアルゴリズムを用いて、p(z|w)を固定して、未知文章に対するp(z|d)の値を最適化している。このような技術に関しては、例えば、非特許文献１，２に開示されている。
【非特許文献１】Thomas Hofmann, 捻robabilistic Latent Semantic Indexing   Proc. of the 15th Conference on Uncertainty in AI
【非特許文献２】持橋大地，松本祐治、  “意味の確率的表現”、情報処理学会研究報告2002-NL-147
【発明の開示】
【発明が解決しようとする課題】
【００４３】
上記したＥＭアルゴリズムに基づくマッチング処理などは、繰り返し演算によってパラメータの最適化が行われるため、特に文章に含まれる単語数が多い場合は計算量が増大してしまうといった課題があった。計算量が増大してしまうということは、処理に時間がかかるといった課題があり、その計算を行うための演算部、例えば、ＣＰＵ（Central Processing Unit）などに高性能なものを備えなくてはならなくなり、コストがかかるといった課題もあった。
【００４４】
また、例えば上記のような文章の表現方法を、音声認識の言語モデルに応用し、発話のコンテキスト情報として利用する場合、時事刻々と新しい単語の情報が追加され、その追加される情報を処理すると共に、古い単語情報ほど現在のコンテキストに与える影響を小さくするなどの処理もあわせて行わなくてはならない。すなわち、動的な更新を行っていかなければならない。よって、単語情報が更新される毎に、ＥＭアルゴリズムによるパラメータ推定を行うこととなり、上記した計算量が増大するという課題が、より顕著な課題となる。
【００４５】
また、上記した従来の言語解析よりも、より精度良く解析が行えるようにすることが望まれている。
【００４６】
本発明はこのような状況に鑑みてなされたものであり、文章の表現方法として、それを構成する個々の単語の潜在クラスへの所属確率分布p(z|w)を重ね併せることによって文章を確率分布として表現すると共に、分布間の距離尺度を定義することによって、確率分布で表現された文章間の類似度を判断するようにすることにより、計算量を削減しつつ、より高度な言語処理を実現することを目的とする。
【課題を解決するための手段】
【００４７】
本発明の情報処理装置は、第１に、単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現手段と、複数の単語を含む文脈を、その文脈に含まれる単語の第１の表現手段により表現された確率分布表現を重畳することにより表現する第２の表現手段とを備えることを要素とする。
【００４８】
第２に、前記第１の要素に加え、前記第２の表現手段は、単語毎に確率分布表現を乗算することにより重畳することを要素とする。
【００４９】
第３に、前記第１の要素に加え、前記第２の表現手段は、単語毎に確率分布表現を重畳するとき、確率分布表現毎に重み付けを行うことを要素とする。
【００５０】
第４に、前記第１の要素に加え、確率分布表現間の距離を算出することにより、文脈を含む文章と他の文章との文章間の距離を定義することを要素とする。
【００５１】
第５に、前記第１の要素に加え、確率分布表現間の距離を算出することにより、供給される文脈を含む文章と予め保持されている用例との距離を定義することを要素とする。
【００５２】
第６に、前記第１の要素に加え、確率分布表現間の距離を算出された距離に応じて、文章を検索することを要素とする。
【００５３】
本発明の情報処理方法は、単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現ステップと、複数の単語を含む文脈を、その文脈に含まれる単語の第１の表現ステップの処理で表現された確率分布表現を重畳することにより表現する第２の表現ステップとを含むことを要素とする。
【００５４】
本発明の記録媒体は、単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現ステップと、複数の単語を含む文脈を、その文脈に含まれる単語の第１の表現ステップの処理で表現された確率分布表現を重畳することにより表現する第２の表現ステップとを含むコンピュータが読み取り可能なプログラムが記録されていることを要素とする。
【００５５】
本発明のプログラムは、単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現ステップと、複数の単語を含む文脈を、その文脈に含まれる単語の第１の表現ステップの処理で表現された確率分布表現を重畳することにより表現する第２の表現ステップとを含むことを要素とする。
【００５６】
本発明の情報処理装置および方法、並びにプログラムによれば、個々の単語のクラスへの所属確率分布p(z|w)が重ね併せられることによって文章が確率分布として表現される。また、その確率分布間の距離尺度を定義することによって、確率分布で表現された文章間の類似度が判断される。
【発明の効果】
【００５７】
本発明によれば、言語解析をより精度良く行うことが可能となる。
【００５８】
本発明によれば、単語を意味クラスに基づく確率分布で表現し、文や文章など複数の単語から構成される言語単位を、それを構成する個々の単語の確率分布表現を重畳することにより表現し、確率分布間の距離尺度を規定することにより、文章検索や用例ベースの言語処理など、言語単位間の類似尺度を利用した自然言語処理を、より精度良く行うことが可能となる。
【００５９】
本発明によれば、構成する単語が少ない文や短い文章などの類似性を判定するとき、例えば、ベクトル空間法などの解析方法に比べ、より安定した尺度を得ることが可能となる。
【発明を実施するための最良の形態】
【００６０】
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００６１】
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加されたりする発明の存在を否定するものではない。
【００６２】
本発明の情報処理装置は、例えば、図３に示す言語解析装置１０である。本発明の情報処理装置は、単語毎に、その単語の特徴を複数のクラスおける確率分布表現として表現する第１の表現手段（例えば、図７のテーブル６４を保持する単語分布表現保持部６１）と、複数の単語を含む文脈を、その文脈に含まれる単語の第１の表現手段により表現された確率分布表現を重畳することにより表現する第２の表現手段（例えば、図５の文脈表現生成部５３）とを備えることを要素とする。
【００６３】
以下に、本発明の実施の形態について図面を参照して説明する。
【００６４】
図３は、本発明を適用した対話処理装置１の構成例を示すブロック図である。
【００６５】
テキストデータ入力部１１は、例えば、キーボードやタッチパッドなどによりユーザから入力されたテキストデータを取得し、対話制御部１２−１乃至１２−ｎに出力する。
【００６６】
対話制御部１２−１乃至１２−ｎは、それぞれ、異なる話題に関する対話処理を行うことができるようになされている。対話制御部１２−１乃至１２−ｎは、テキストデータ入力部１１から供給されたテキストデータと、自分自身が対話処理を行う話題との類似度を演算し、対話処理選択部１３に供給する。そして、対話制御部１２−１乃至１２−ｎのうち、対話処理選択部１３により、対話処理を継続するように制御する制御信号を受けたものが、算出した類似度を利用して対話処理を実行し、データベース１４、または、外部のデータベースにアクセスし、ユーザが所望する情報を取得したり、ユーザの質問に対する答え、または、答えを求めるために必要な情報の入力をユーザに促すためなどの各種通知に対応する出力文を生成して出力制御部１５に供給したり、他の外部機器を制御するための制御信号を生成し、ネットワークインターフェース１６を介して、生成された制御信号を、対応する機器に出力する。
【００６７】
対話処理選択部１３は、対話制御部１２−１乃至１２−ｎのそれぞれから供給された類似度の算出結果を基に、テキストデータ入力部１１に入力されたテキストに対する対話処理を行う対話制御部を、対話制御部１２−１乃至１２−ｎから選択し、選択した対話制御部１２−１乃至１２−ｎのうちのいずれかに、算出した類似度の結果を用いて対話処理を継続するように制御する制御信号を生成して出力する。対話処理選択部１３による対話制御部の選択の詳細については後述する。
【００６８】
データベース１４は、対話処理において必要なデータを保持するデータベースである。なお、対話処理装置１が外部のデータベースと接続可能である場合、データベース１４は、必ずしも備えられていなくてもよい。
【００６９】
出力制御部１５は、例えば、テキストや画像情報を表示可能な表示部および表示部を制御する表示制御部、または、音声を出力するスピーカと、スピーカから出力される音声データを処理する音声処理部などで構成され、対話制御部１２−１乃至１２−ｎのうちのいずれかにおいて生成された出力文を、表示、または、音声出力する。また、出力制御部１５は、外部の表示部または外部のスピーカに対して、表示用の画像データまたは音声出力用の音声データを出力するようにしてもよい。
【００７０】
ネットワークインターフェース１６は、例えば、ＬＡＮ（Local Area Network）やホームネットワーク、または、インターネットなどの各種ネットワークと接続され、対話制御部１２−１乃至１２−ｎのうちのいずれかにおいて生成された制御信号を、ネットワークを介して、例えば、ネットワーク対応の表示装置、スピーカ、テレビジョン受像機、ビデオデッキ、ホームサーバなどの機器に出力し、制御信号出力先の機器から制御信号に対する応答信号を受信する。
【００７１】
以下、対話制御部１２−１乃至１２−ｎを個々に区別する必要がない場合、単に対話制御部１２と総称する。
【００７２】
図４は、図３の対話制御部１２の詳細な構成例を示すブロック図である。
【００７３】
文章情報取得部３１は、ユーザにより入力された文章情報（例えば、テキストデータ入力部１１から供給されたテキストデータ）を取得し、類似度計算部３２に供給する。
【００７４】
類似度計算部３２は、文章情報取得部３１から供給される文章情報を、例えば、単語単位に分解し、そこから助詞を削除することなどにより、自立語のみでなる単語列に変換する。そして、類似度計算部３２は、確率値記憶部３４に記憶されている確率値（詳細は後述する）を用い、その単語列（以下、適宜、入力単語列という）と、用例データベース３３に記憶されている用例それぞれとの類似度を示す類似度を計算し、そのうち、入力単語列との類似度が最も高いことを示す類似度を、ユーザの入力文と自分自身が処理する対話処理の話題との類似度として、対話処理選択部１３に供給する。そして、類似度計算部３２は、対話処理選択部１３から、対話処理の継続を指令する制御信号を受けたとき、類似度の計算結果を最適用例選択部３５に供給する。
【００７５】
用例データベース３３には、複数の用例が記憶（登録）されている。この用例は、対話処理の対象分野に応じて作成された少なくとも１文の文章と、その文章をフレームで表現したスロットの組とで構成されている。確率値記憶部３４には、類似度計算部３２が入力単語列と用例データベース３３に記憶されている用例それぞれとの類似度を計算するために用いられる確率値が記憶されている。
【００７６】
最適用例選択部３５は、類似度計算部３２から供給された類似度を基に、類似度が最も高い用例を用例データベース３３から選択して（以下、選択された用例を最適用例と称する）、最適用例と入力単語列とを、フレーム表現変換部３６に出力する。
【００７７】
フレーム表現変換部３６は、選択された最適用例に対応するスロットの組のそれぞれの値を、入力単語列を構成する単語にそれぞれ置き換え、その結果得られるスロットの組を、対話処理部３７に出力する。
【００７８】
マスタフレーム保持部３８は、対話処理部３７が実行する動作を決定するためのマスタフレームを保持する。マスタフレーム保持部３８に保持されるマスタフレームは、対話制御部１２が、いかなる分野の対話に関する処理を行うかによって異なる。
【００７９】
対話処理部３７は、フレーム表現変換部３６から供給されたスロットの組を基に、マスタフレーム保持部３８に保持されているマスタフレームを更新し、更新されたマスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する。すなわち、対話処理部３７は、更新されたマスタフレームを基に、対話処理において、データベース１４、または、外部のデータベースにアクセスして、ユーザの質問に対する回答を示す「ターゲット」として指定されているスロットに関する情報を取得したり、所定の外部機器に対する制御信号を生成して出力したり、所定のテンプレートを用いて、検索条件を絞り込むための質問や、データベースにアクセスして取得された情報をユーザに通知するためにテキストまたは音声を出力するという動作のうちのいずれの動作を行うべきかを選択し、検索処理部３９、制御信号生成部４０、または、出力文生成部４１を制御して、それぞれに処理を実行させる。さらに、対話処理部３７は、検索処理部３９から供給された検索結果を基に、さらに、マスタフレームを更新し、更新されたマスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する。
【００８０】
検索処理部３９は、対話処理部３７の制御に基づいて、データベース１４、または、外部のデータベースにアクセスして、スロットに記載されている値を検索キーとして、ターゲットとして指定されているスロットに関する情報を取得し、対話処理部３７に供給する。
【００８１】
制御信号生成部４０は、対話処理部３７の制御に基づいて、例えば、ネットワークを介して接続された表示装置やスピーカ、ネットワーク対応のテレビジョン受像機、ビデオデッキ、または、ホームサーバなどの外部の装置に対する制御信号を生成し、ネットワークインターフェース１６を介して出力する。
【００８２】
出力文生成部４１は、対話処理部３７の制御に基づいて、内部のテンプレートを参照して、検索条件を絞り込むための質問や、データベースにアクセスして取得された情報をユーザに通知するための出力文を生成し、生成した出力文を出力制御部１５に供給し、テキストデータとして表示、または、音声出力させる。
【００８３】
このように、対話処理装置１において実行される対話処理においては、対話制御部１２−１乃至１２−ｎにおいて、用例がフレーム形式の表現と対応付けられて予め記憶されており、ユーザが入力した文章とそれぞれの用例との類似度が算出されて、そのうち最も類似度が高いことを示す類似度が、ユーザの入力文と自分自身が処理可能な話題との類似度として、対話処理選択部１３に出力されるようになされている。そして、対話処理選択部１３から、対話処理の継続を指令された場合、類似度を基に、ユーザが入力した文章との類似度が高い用例が選択されて、そのスロットの値が入力単語列を構成する単語に置き換えられる。すなわち、入力単語列が、フレーム形式の表現に対応付けられて、フレーム形式の表現を基に、対話処理が実行されるようになされている。また、対話処理を実行する対話制御部の選択は、対話制御部１２−１乃至１２−ｎが実行する対話処理において必要となる、入力単語列と用例との類似度に基づいて行われる。
【００８４】
このような構成の対話処理装置１において処理可能な対話処理の話題を、追加、変更、または、削除する場合、対話処理選択部１３の機能を変更することなく、新たな話題の対話処理を実行することが可能な対話制御部１２を新たに追加したり、対話制御部１２−１乃至１２−ｎのうちのいずれかを変更または削除するようにすれば良い。すなわち、対話処理装置１は、従来における複数の話題の対話処理が可能な対話処理装置と比較して、メンテナンスが非常に簡単である。
【００８５】
また、対話制御部１２−１乃至１２−ｎのそれぞれにおいては、用例がフレーム形式の表現と対応付けられているため、類似度の計算や、データベースにアクセスして情報を取得する場合の検索処理において、検索キーとなる単語を抽出するために、入力された文章から再度単語を抽出するなどの処理を行ったり、単語の意味解析を実行する必要がない。さらに、本実施の形態における対話処理においては、ユーザが入力した文章が、フレーム形式の表現に対応付けられるので、出力文の生成においても、テンプレートに当てはめる単語の決定が簡単である。すなわち、用例を利用する対話処理にフレーム形式を用いることにより、対話処理の動作を簡便化することが可能となる。
【００８６】
図５は、類似度計算部３２と確率値記憶部３４の詳細な構成例を示す図である。図５に示した類似度計算部３２は、入力部５１、文脈情報取得部５２、文脈表現生成部５３、距離計算部５４、および、出力部５５を備える。確率値記憶部３４は、単語分布表現保持部６１を備えている。なお、単語分布表現保持部６１が記憶しているデータのうち、用例データベース３３（図４）など他のデータベースが保持するデータと共用できるデータに関しては、共用するような構成とすることも可能である。
【００８７】
入力部５１は、確率値取得に必要となる単語群の情報を取得する。入力部５１は、文章情報取得部３１（図４）から単語に関する情報が供給され、その供給された情報を、文脈情報取得部５２に供給する。文脈情報取得部５２は、供給された情報から文脈情報を構成する情報を抽出する。
【００８８】
文脈表現生成部５３は、文脈情報取得部５２で抽出された情報に含まれている個々の単語に関する確率分布表現（詳細は後述する）を単語分布表現保持部６１より取得し、それを重ね合わせて文脈の確率分布表現を生成し、その生成した確率分布表現を、距離計算部５４に供給する。
【００８９】
文脈表現生成部５３が、このような処理を実行する上で必要となる情報を保持している単語分布表現保持部６１は、予めPLSA（Probabilistic Latent Semantic Analysis）法などによって求められた、個々の単語に関する確率分布表現のパラメータ（例えば、図７のテーブル６４）を保持している。
【００９０】
距離計算部５４は、用例データベース３３に用例として保持されている文章を、上記文脈情報と同様に確率分布表現したものと、文脈表現生成部５３で生成された文脈情報の確率分布表現との間の距離を計算する。出力部５５は、距離計算部５４から供給された各用例との距離を、後段の対話処理選択部１３（図３）や最適用例選択部３５（図４）に出力する。
【００９１】
次に、確率値記憶部３４が保持しているデータ（テーブル）について説明を加える。まず、単語分布表現保持部６１が保持するデータについて説明する。上記したように、単語分布表現保持部６１は、PLSA法などによって求められた、個々の単語に関する確率分布表現のパラメータを保持しているが、そのパラメータとは、例えば、図６に示すようなものである。
【００９２】
図６には、単語ｗ１，ｗ２，ｗ３，ｗ４に関するパラメータを、それぞれグラフ化したものを示している。図６に示した各グラフは、縦軸にｐ（ｚ｜ｗ）の値をとり、横軸に意味クラスをとったものとされている。また、図６に示した各グラフは、クラス数をｚ＝１０に設定したときのものとされている。なお、意味クラスとは、特定のジャンルなど、人が識別できるようなクラスを示すものではなく、単語や文脈などを特徴付けるために設定されたものである。
【００９３】
ｐ（ｚ｜ｗ）は、単語ｗが生起するという条件のもとで、クラスｚが生起する条件付き確率の値を示す。ｐ（ｚ｜ｗ）は、次式（１４）により算出される。
【００９４】
【数６】
2006127077.tif 000008
【００９５】
式（１４）からｐ（ｚ｜ｗ）は、ｐ（ｗ｜ｚ）とｐ（ｚ）から算出されることがわかる。ｐ（ｗ｜ｚ）とｐ（ｚ）は、図２に示したＥＭアルゴリズムのうち、Ｍ−ｓｔｅｐにおける式（８）と式（１０）により、それぞれ算出される。すなわち、ｐ（ｗ｜ｚ）とｐ（ｚ）から単語の意味クラスへの帰属確率分布ｐ（ｚ｜ｗ）を求めることができる。この意味クラスへの帰属確率分布を求めることにより、単語ｗのもつ意味の概要を表現することができる。
【００９６】
図６を参照するに、単語ｗ１と単語ｗ２は、共通の意味クラスｚ２とｚ９に対して高い帰属確率が与えられているなど分布の形状が類似しており、意味的に共通点がある。これに対し、単語ｗ３は、単語ｗ１や単語ｗ２と共通の意味クラスで高い帰属確率が与えられるようなことがなく、分布の形状が異なり、意味的な共通点が少ない。
【００９７】
また、単語ｗ４のグラフを参照するに、意味クラス毎の帰属確率値は、一様な値であり、特に高い確率値を有する意味クラスは存在していない。このようなグラフは、機能語、例えば、“〜する”といった語であり、特定の意味を表現しない（１または複数のクラスの確率値で特徴を表すことができず、確率値の分布に基づいて分類することができない語である）ことを示している。
【００９８】
このように、単語ｗの意味確率分布ｐ（ｚ｜ｗ）は、意味的に特徴のある単語に対しては確率値が意味クラスにより偏るが（分布自体に特徴が表れるが）、機能語のような意味的には特徴をあまり有さないような単語に対しては、確率値は意味クラスにより偏るようなことがないといった特徴を有する。
【００９９】
このような特徴を、単語ｗの意味確率分布ｐ（ｚ｜ｗ）は有するため、図６に示した例では、意味クラスの数を１０に設定した場合を示したが、意味クラスの数を１０以上に設定し、より詳細に解析すれば、単語の特徴をより明確に表すことができると考えられる。
【０１００】
単語分布表現保持部６１には、図６に示したような、単語毎に意味クラスと確率値が関連付けられたデータ（例えば、図６に示したグラフが、テーブル化されたデータ）が保持されている。
【０１０１】
図６に示したグラフをテーブル化して記憶させるようにした場合、例えば、そのテーブルは、図７に示したような項目から構成されるデータとされる。すなわち、図７に示したテーブル６４は、横に意味クラス、縦に単語をとり、交わる部分に、その単語のその意味クラスでの確率値が記載されている。例えば、単語ｗ１の意味クラスｚ１における確率値は、Ｐ（ｚ１｜ｗ１）である。
【０１０２】
ここでは、このようなテーブル６４が、単語分布表現保持部６２に保持されるとして、以下の説明を続ける。
【０１０３】
文脈の確率分布表現とは、文脈（複数の単語が含まれる文）を構成する個々の単語の生起が独立であると仮定して、それぞれの単語の確率分布の積で近似したものである。
【０１０４】
このことについて、図８を参照して説明する。図８の上側には、単語ｗ１と単語ｗ２の意味クラス毎の確率分布をグラフ化したもの（単語ｗ１と単語ｗ２の、それぞれの確率分布表現）を示している。この単語ｗ１と単語ｗ２を重ね合わせたものを文脈の確率分布表現とする。図８の下側に、文脈（ｗ１，ｗ２）の確率分布表現のグラフを示す。文脈（ｗ１，ｗ２）との表記は、単語ｗ１と単語ｗ２を含む文脈の確率分布表現を示すとする。また、その所定の意味クラスｚにおける確率値は、ｐ（ｚ｜ｗ１，ｗ２）と表記する。
【０１０５】
この文脈（ｗ１，ｗ２）は、図６を参照して説明した単語に関する確率分布表現と同様の特徴を有する。すなわち、単語ｗ１と単語ｗ２を含む文脈の特徴を、意味クラス毎の確率値の分布により表すことができる。このことを例えて言うならば、１文を聞いたときに、その文の全体を聞き取れなくても、その文に含まれる複数の単語を聞き取れれば、文全体を推測することができるときがある。このように、文に含まれている単語ｗ１と単語ｗ２がわかることにより、文全体を推測することができると考えられる。
【０１０６】
また、文脈の確率分布表現を用いることにより、文と文、文章と文章の類似度（どれだけ似ている文同士であるか、文章同士であるか）を測定することができる。このことを利用し、ここでは、入力された文と用例データベース３３に記憶されている用例との類似度を計算するといったような処理が行われる。
【０１０７】
この文脈における確率分布表現のグラフ（データ）の作成について説明を加える。単語を複数の意味クラスに含まれる確率の分布で表現する方法については、上述したように、PLSAモデルを利用することができる。PLSAモデルでは、文章とそれに出現する単語の関係を次式（１５）のように定式化して、ＥＭアルゴリズムでｐ(z)，ｐ(w|z)，p(d|z)の値が推定される。
【０１０８】
【数７】
2006127077.tif 000009
【０１０９】
さらに、p(z|w)はベイズ則より次式（１６）のように求めることができる。
【０１１０】
【数８】
2006127077.tif 000010
【０１１１】
このようにして求められた単語に関する確率分布表現を重畳する場合、すなわち、図８を参照したように、複数の単語の確率分布表現を重ね合わせることにより、文脈に関する確率分布表現を作成する場合、式（１６）で求められる各単語の意味クラスに基づく確率分布表現から、複数の単語より構成される文や文章の意味クラスに基づく確率分布表現が求められる。
【０１１２】
ｗ１,ｗ２,・・,ｗｎのn個の単語で構成される文または文章をhとすると、この意味クラスに基づく分布表現は次式（１７）で表される。
【０１１３】
【数９】
2006127077.tif 000011
【０１１４】
式（１７）に示したように、意味クラスに基づく分布表現は、意味クラスｚにおける生起確率ｐ（ｚ｜ｗ）を、単語毎に乗算していくことにより求められる。ここでは、式（１７）に基づき、乗算することにより分布表現が求められるとして説明を続けるが、加算など、他の計算が行われることにより求められるようにしても良いし、加算と乗算など、複数の計算が行われることにより求められるようにしても良い。
【０１１５】
ここでｗ１，ｗ２,・・,ｗｎは全て独立に生起するものと仮定して、それらが全て生起した時に意味クラスの分布がどのようになるかという近似を用いている。ここでβは、全てのクラスにわたる確率値の合計が１になるようにするための正規化係数である。またα（wi）は、個々の単語毎に決められる重み係数である。
【０１１６】
重みα（wi）の設定の仕方について説明する。重み付けは、単語に関する確率分布表現を重畳するときに、重畳される個々の単語毎に重みα(w)を設定することが可能である。
【０１１７】
その重み付けの値としては、まず、言語的な知識を利用して重み付けを行うようにすることが考えられる。例えば意味的に重要な要素となる内容語（名詞、動詞など）の単語に関しては、重みを重くし、逆に機能語（助詞、助動詞など）は重みを軽くするといったように重み付けを行っても良い。
【０１１８】
また、ベクトル空間法で用いられているidfの尺度を利用するようにしても良い。例えば、あらゆる文章に出現する単語の重みは軽く、文章の出現に偏りのある単語は重みを重くするといったように重み付けを行っても良い。
【０１１９】
さらに、単語を確率分布で表現しているので、その分布自身を基に重みα（wi）を設定するようにしても良い。上記したように、確率分布が一様でない（偏っている）場合、そのような確率分布を有する単語は、意味的に特徴があると考えられるので、そのような単語は、意味的に重要であるとし、重みを重くするようにしても良い。例えば、分布が偏っているほど意味的に重要であるとして、エントロピーを利用したり、分布の集中の尺度として用いられるGiniの集中度係数などを用いるようにしたりしても良い。
【０１２０】
次式（１８）は、エントロピーに基づく重み付けを行うときの式であり、次式（１９）は、Giniの集中度係数に基づく重み付けを行うときの式である。
【０１２１】
【数１０】
2006127077.tif 000012
【０１２２】
【数１１】
2006127077.tif 000013
【０１２３】
重み付けの仕方として、さらに文脈として古いものほど重みを小さくするといった規則を設けて重み付けを行うようにしても良い。例えば、文脈中の所定の単語がｍ文前に含まれていた場合、その重みに１／ｍを乗算することによって、ｍが大きくなるほど、すなわち現在位置から遠い単語ほど、重ね合わせ時の重みを小さくするようにしても良い。
【０１２４】
重み付けは、１つの方法に依存するのではなく、上述した方法を組み合わせた方法を適用して重み付けが行われるようにしても、勿論良い。
【０１２５】
また、ここでは、式（１７）に基づき、文脈に関する確率分布表現ｐ（ｚ｜ｈ）が算出されるとして説明を続けるが、このような個々の単語の確率分布表現を重畳する他に、例えば、ＰＬＳＡの原著に記載のあるＥＭアルゴリズムによる方法を適用して確率分布表現ｐ（ｚ｜ｈ）が算出されるようにしても良い。どちらの方法を用いても、後段の処理は同一のものとすることができる。
【０１２６】
このようなテーブルを用い、類似度計算部３２は、入力された文と用例との類似度を算出する。
【０１２７】
次に、複数の対話制御部１２において利用される、用例とフレーム表現について説明する。まず、図９乃至図１４を用いて、対話制御部１２−１が天気予報に関する対話処理を行うものとし、その場合における用例とフレーム表現について説明する。
【０１２８】
図９に、天気予報を対象とする対話処理を行う場合に対話制御部１２−１で利用されるフレーム表現の例を示す。フレームは、１つ以上のスロットによって構成されており、個々のスロットは、そのスロットの名称であるスロット名と、スロット名に対応する値を保持するようになされている。図９に示される、天気予報を対象とする場合に利用されるフレームは、スロット名として、「日付」、「場所」、「天候」、「最高気温」、「最低気温」、および、「降水確率」を有するスロットで構成されたフレームである。このようなフレームは、マスタフレーム保持部３８に、マスタフレームとして保持され、対話処理部３７の処理により値が更新される。マスタフレームの更新については、図１２を用いて後述する。
【０１２９】
図９を用いて説明したフレーム表現がマスタフレームとして用いられる場合、用例データベース３３には、例えば、図１０に示されるような用例が保存される。
【０１３０】
用例データベース３３に保存されている用例は、１つ以上の文章と、それらの文章が表す意味内容を表現した１つのスロットの組とで構成されている。例えば、「東京の明日の天気を教えて」という文章と、「東京の明日の予報は」という文章とは、スロット名「日付」「場所」の項目が、それぞれ、「明日」「東京」という値で規定され、スロット名「天候」が、ユーザが求める情報であるターゲット（Target）とされる３つのスロットにより構成されるスロットの組とで１つの用例を構成する。また、「東京の明日の気温は」という文章と、「明日の東京は暖かいですか」という文章とは、スロット名「日付」「場所」の項目が、それぞれ、「明日」「東京」という値で規定され、スロット名「最高気温」および「最低気温」が、ユーザが求める情報であるターゲットとされる４つのスロットにより構成されるスロットの組とで１つの用例を構成する。さらに、「東京の明日の降水確率は」、「明日、東京は雨が降りますか」、「明日の降水確率は」、および、「明日は雨が降りますか」は、スロット名「日付」が「明日」という値で規定され、スロット名「場所」が「東京」という値で規定され、スロット名「降水確率」が、ユーザが求める情報であるターゲットとされる３つのスロットにより構成されるスロットの組とで１つの用例を構成する。そして、例えば、対話処理中に、ユーザに対してシステムが質問した場合の答えなどで用いられる、「明日です」という文章は、スロット名「日付」が「明日」という値とされているスロットとで、１つの用例を構成する。
【０１３１】
このように、用例は、１つ以上の文章と、それらの文章が表す意味内容を表現した１つのスロットの組とが、対となって記述されている。すなわち、１つの用例に、複数の文章が保持される場合は、それらの複数の文章が表す意味内容を、同一のスロットの組で表現することができるようになされている。さらに、ユーザが入力した文章が、フレーム形式の表現に対応付けられるので、上述したように、類似度の計算や、データベースにアクセスして情報を取得する場合の検索処理、または、出力文の生成処理などに都合がよい。
【０１３２】
さらに、図１０において、「東京の明日の降水確率は」という文章、「明日、東京は雨が降りますか」という文章、「明日の降水確率は」という文章、および、「明日は雨が降りますか」という文章が、対応するスロットの組とによって構成されている用例は、スロット名「場所」に対応する情報である「東京」が含まれている文章と含まれていない文章とが、同一のスロットの組に対応付けられている。例えば、入力文が、「今日は雨ですか」であったとき、入力文に、「場所」に対応するものがないので、スロット名「場所」に対応する値は、空白となる（すなわち、後述する処理により、マスタフレームに反映されない）。このように、対応するスロット数が異なる文章を、同一の用例に含めるようにすることにより、登録される用例の数をさらに抑制することができるので、効率的に用例データベースを構築することが可能となる。
【０１３３】
また、用例として保持されている文章は、類似度計算を行うために、例えば、形態素解析などによって、事前に単語ごとに分割された、例えば、「明日、東京、雨」などの形で保持するようにしてもよい。
【０１３４】
類似度計算部３２は、入力単語列と、図１０に示される用例との類似度を算出する。そして、類似度の計算結果のうち、最も類似度が高いことを示す類似度を対話処理選択部１３に供給する。
【０１３５】
そして、類似度計算部３２は、対話処理選択部１３から対話処理を行う対話制御部として選択されたことを示す制御信号の供給を受けたとき、入力単語列とそれぞれの用例との類似度の計算結果を最適用例選択部３５に出力する。
【０１３６】
最適用例選択部３５では、類似度が最も高い用例が選択され、選択された用例、すなわち最適用例とともに、入力単語列がフレーム表現変換部３６に供給される。例えば、入力された文章が、「横浜の今日の天気は」であるとき、用例「明日の東京の天気を教えて」が最適用例となり、（横浜、東京）（今日、明日）（天気、天気）の３つの単語のペアが求まる。したがって、最適用例選択部３５は、用例「明日の東京の天気を教えて」と入力単語列（「横浜」、「今日」、「天気」）とをフレーム表現変換部３６に出力する。
【０１３７】
そして、フレーム表現変換部３６は、最適用例を構成するスロットの組の単語のうち、入力単語列を構成する単語に対応するものを、それぞれ置き換えて、入力文に対応するフレーム形式を得て、そのフレーム形式を示す情報（スロットの組）を対話処理部３７に出力する。
【０１３８】
すなわち、フレーム表現変換部３６では、図１１に示されるように、選択された最適用例「明日の東京の天気を教えて」に対応するスロットの組のそれぞれの値を、入力単語列（「横浜」、「今日」、「天気」）を構成する単語にそれぞれ置き換え、その結果得られる、スロット名「日付」に対して値「今日」が記載され、スロット名「場所」に対して値「横浜」が記載され、スロット名「天候」に対して値「Target」が記載されているスロットの組を対話処理部３７に出力する。
【０１３９】
このとき、入力文が、例えば、「横浜の天気は」であった場合は、スロット名「日付」に対応する単語のペアが得られないので、「日付」に対応する値を空にしたものが、入力文に対応するフレーム形式として得られて、対応するスロットの組が対話処理部３７に供給される。
【０１４０】
そして、対話処理部３７は、フレーム表現変換部３６の処理により生成された、入力文に対応するフレーム形式の情報の供給を受け、図９を用いて説明した、マスタフレーム保持部３８に保持されているマスタフレームを、図１２に示されるように更新する。すなわち、対話処理部３７は、入力文に対応するフレーム形式で記入されているスロット名の値を、マスタフレーム内の同一の名称のスロット名の値として設定するので、具体的には、入力された文章が、「横浜の今日の天気は」であるとき、図９を用いて説明したマスタフレームにおいて、スロット名「日付」に対して値「今日」が記載され、スロット名「場所」に対して値「横浜」が記載され、スロット名「天候」に対して値「Target」が記載されて、マスタフレームが更新される。また、入力された文章が、「横浜の天気は」であるとき、図９を用いて説明したマスタフレームにおいて、スロット名「場所」に対して値「横浜」が記載され、スロット名「天候」に対して値「Target」が記載されて、マスタフレームが更新される。
【０１４１】
次に、対話処理部３７は、マスタフレームの状態に基づいて、次に対話処理としてどのような動作を行うかを決定する。例えば、入力された文章が、図１１および図１２を用いて説明した、「横浜の今日の天気は」である場合、対話処理部３７は、検索処理部３９を制御して、天気予報に関する情報を提供するデータベース（内部のデータベース１４であっても、外部のデータベースであってもよい）にアクセスさせて、「今日」および「横浜」を検索キーとして、「天気」、すなわち、ターゲットに関する情報を取得させる。このように、データベースの検索が選択された場合、検索処理部３９は、対話処理部３７の処理により更新されたマスタフレームなどの情報から適切な検索式を作成し、所定のデータベースにアクセスして所望の情報を取得し、対話処理部３７に供給する。
【０１４２】
そして、対話処理部３７は、マスタフレームのターゲットに対応する部分に、取得された情報を記載するとともに、出力文生成部４１を制御して、図１３に示されるようなテンプレートを基に、データベースにアクセスして取得された明日の横浜の天気に関する情報をユーザに通知するという動作を選択する。
【０１４３】
具体的には、出力文生成部４１は、図１３に示されるようなテンプレートを用いて、ユーザに対する出力文を生成する。図１３に示されるテンプレートにおいては、ターゲットとして指定されていたスロット名と、それに対する回答となる出力文のテンプレートが用意されている。このテンプレート中の＄（場所）、＄（日付）などの記載は、フレーム形式中の値に置き換えて利用することを示す。具体的には、入力された文章が、図１１および図１２を用いて説明した、「横浜の今日の天気は」であり、検索処理部３９による検索処理の結果、「天候」は「雨」であると検索された場合、対話処理部３７の処理によりマスタフレームが更新されるので、テンプレート中の＄（場所）、は「横浜」に置き換えられ、＄（日付）は、「今日」に置き換えられ、ターゲットである＄（天候）は「雨」に置き換えられるので、出力文「今日の横浜の天気は雨です」が生成される。
【０１４４】
一方、入力された文章が、「横浜の天気は」である場合など、マスタフレームの日付スロットがまだ設定されていないような状態や、入力された文章が、「明日の降水確率は」である場合など、マスタフレームの場所スロットがまだ設定されていない状態では、話者であるユーザが、いつの天気を知りたいのか、どこの降水確率を知りたいのかがわからないので、対話処理部３７は、出力文生成部４１を制御して、足りないスロットの値をユーザに質問する文を出力することも可能である。
【０１４５】
すなわち、対話処理部３７は、マスタフレームに記載されている情報が、検索処理を実行するために必要な情報に満たない場合、出力文生成部４１を制御して、図１４に示されるようなテンプレートを基に、条件を絞り込むために必要な情報など、ユーザに入力を促すためのメッセージを通知させるという動作を選択する。
【０１４６】
具体的には、出力文生成部４１は、図１４に示されるようなテンプレートを用いて、ユーザに対する出力文を生成する。図１４に示されるテンプレートにおいては、値の入力が必要な、すなわち、ユーザに対して情報の入力を促したいスロット名と、それに対応する質問文が用意されている。具体的には、入力された文章が、「横浜の天気は」である場合、マスタフレームのスロット「日付」に対応する値が未入力となるので、出力文生成部４１は、図１４に示されるテンプレートから、値の入力が必要なスロット名「日付」に対応する出力文「いつの情報を知りたいですか？」を抽出して出力する。
【０１４７】
これに対して、ユーザは、例えば、「明日です」や「横浜」などの情報を入力するので、対話処理部３７は、供給された情報をマスタフレームの空きスロットに記載してマスタフレームを更新し、更新されたマスタフレームを基に、例えば、データベースの検索など、次の動作を選択する。
【０１４８】
また、例えば、明日の天気に基づいて、所定のランプを点灯させるようになされている場合や、対話処理の結果、他の装置を制御する場合など、対話処理部３７は、制御信号生成部４０を制御し、外部装置の処理を制御することが可能である。対話処理部３７により、外部装置の制御が選択された場合、制御信号生成部４０は、対話処理の結果に基づいて、外部機器を制御するための制御信号を生成し、ネットワークインターフェース１６に出力する。ネットワークインターフェース１６は、ネットワークを介して、制御先の機器に、制御信号を送信し、必要に応じて、その応答を受信する。
【０１４９】
このようにして、対話制御部１２−１乃至対話制御部１２−ｎは、それぞれ異なる話題に対応することが可能なようになされている。そして、ユーザにより入力された文と、対話制御部１２−１乃至対話制御部１２−ｎのそれぞれが内部に保有している用例との類似度が算出される。入力された文と用例との類似度は、すなわち、ユーザにより入力された文と、対話制御部１２−１乃至対話制御部１２−ｎのそれぞれが対応可能な話題との類似度と等しいのであるから、類似度の算出結果を得た対話処理制御部１３は、その算出結果を基に、対話処理を行うのは、いずれの対話制御部であるかを選択することができる。
【０１５０】
そして、対話処理装置１において対応可能な話題の追加、削除、変更などは、対話処理選択部１３の機能を変更することなく、対話制御部１２−１乃至対話制御部１２−ｎの追加、削除、変さらによって容易に行うことが可能である。
【０１５１】
次に、図１５のフローチャートを参照して、図３の対話処理装置１が実行する対話処理について説明する。
【０１５２】
ステップＳ１において、テキストデータ入力部１１は、ユーザからテキストデータの入力を受けたか否かを判断する。ステップＳ１において、テキストデータの入力を受けていないと判断された場合、テキストデータの入力を受けたと判断されるまで、ステップＳ１の処理が繰り返される。
【０１５３】
ステップＳ１において、テキストデータの入力を受けたと判断された場合、ステップＳ２において、テキストデータ入力部１１は、入力されたテキストデータを対話制御部１２−１乃至対話制御部１２−ｎのそれぞれに供給するので、対話制御部１２−１乃至対話制御部１２−ｎのそれぞれにおいて、図１６を用いて後述する、類似度算出処理が実行される。
【０１５４】
ステップＳ３において、対話処理選択部１３は、対話制御部１２−１乃至対話制御部１２−ｎのそれぞれにおいて算出された類似度の算出結果を基に、類似度を利用したこれ以降の対話処理である対話応答処理を実行する対話制御部を選択する。具体的には、対話処理選択部１３は、話制御部１２−１乃至対話制御部１２−ｎのそれぞれにおいて算出された類似度の算出結果を類似度Ｓとしたとき、類似度Ｓが最も大きいもの、すなわち、対話制御部１２−１乃至対話制御部１２−ｎのそれぞれにおいて実行される対話処理の話題と、入力されたテキストの話題との類似度が高いものを選択する。
【０１５５】
ステップＳ４において、対話処理選択部１３は、対話処理を行う対話制御部として選択された、対話制御部１２−１乃至対話制御部１２−ｎのうちのいずれか１つに、対話処理の継続を指令する制御信号を生成して出力する。
【０１５６】
ステップＳ５において、対話処理選択部１３から制御信号の供給を受けた対話制御部１２−１乃至対話制御部１２−ｎのうちのいずれかにおいて、図１７を用いて後述する対話応答処理が実行されて、処理が終了される。
【０１５７】
次に、図１６のフローチャートを参照して、図１５のステップＳ２において実行される類似度算出処理について説明する。前提として、単語分布表現保持部６１には、図７に示したようなテーブル６４が保持されているとする。
【０１５８】
ステップＳ２１において、入力部５１に検索対象とされるテキストデータが入力される。入力されたテキストデータは、形態素解析などの処理により、単語単位に分解されている。単語は、文脈情報取得部５２に供給される。
【０１５９】
ステップＳ２２において、文脈情報取得部５２は、入力部５１から、順次入力される文章（単語群）の中から、文脈として処理する複数の単語を抽出し、文脈表現生成部５３に出力する。
【０１６０】
文脈表現生成部５３は、ステップＳ２３において、供給された単語に関する単語分布表現を、単語分布表現保持部６１から読み出す。単語分布表現保持部６１には、図７に示したようなテーブル６４が保持されているが、例えば、文脈表現生成部５３に供給された単語が“単語ｗ１”である場合、テーブル６４から“単語ｗ１”に関連付けられている各クラスの確率値（単語分布表現：単語に関する確率分布表現）が読み出される。
【０１６１】
文脈表現生成部５３に供給された単語が、２単語であった場合、その２つの単語の単語分布表現が読み出される。そして、読み出された単語分布表現が用いられ、文脈表現が生成される。すなわち、読み出された単語分布表現が、式（１７）に基づく乗算により、文脈（複数の単語を含む文章）の確率分布表現が算出される。
【０１６２】
距離計算部５４は、ステップＳ２４において、次式（２０）に基づき、文脈と用例の文章間（処理対象とされている文脈と、用例データベース３３にある各用例の文章）の距離を計算し、出力部５５に供給する。
【０１６３】
【数１２】
2006127077.tif 000014
【０１６４】
出力部５５は、供給された距離を、類似度Ｓとして後段の処理部に出力する。
【０１６５】
このようにして、入力されたテキストデータ（文）と用例との類似度Ｓが算出される。
【０１６６】
次に、図１７のフローチャートを参照して、対話処理の継続を指令された対話制御部１２が、図１５のステップＳ５において実行する対話応答処理について説明する。
【０１６７】
ステップＳ４１において、対話制御部１２の対話処理部３７は、マスタフレーム保持部３８に保持されているマスタフレームの値の記述を、必要に応じてリセットする。具体的には、対話処理部３７は、例えば、前回の対話処理において、ユーザに対する質問文を出力している場合などは、マスタフレームの値の記述をリセットしないが、前回の対話処理において、外部の機器を制御している場合などは、マスタフレームの値の記述をリセットする。
【０１６８】
ステップＳ４２において、最適用例選択部３５は、図１５のステップＳ２において計算された類似度Ｓの計算結果に基づいて、用例データベース３３に登録されている用例から、最適な用例である最適用例を選択し、最適用例と入力単語列とをフレーム表現変換部３６に供給する。
【０１６９】
ステップＳ４３において、フレーム表現変換部３６は、選択された用例である最適用例の記述に基づいて、すなわち、最適用例を構成するスロットの組にしたがって、入力単語列を構成する単語に対応するものを、それぞれ置き換えて、入力された文章をフレーム表現に変換し、変換後のスロットの組を、対話処理部３７に供給する。
【０１７０】
ステップＳ４４において、対話処理部３７は、マスタフレーム保持部３８に保持されているマスタフレームを読み込み、フレーム表現変換部３６から供給された変換後のスロットの組に基づいて、マスタフレームのフレーム記述を更新する。
【０１７１】
ステップＳ４５において、対話処理部３７は、マスタフレームの状態に基づいて、データベースの検索処理が必要であるか否かを判断する。具体的には、対話処理部３７は、例えば、入力された文章が、「横浜の明日の天気は」である場合など、マスタフレームにおいて、スロットの値がターゲットとなっているものがあり、データベースを検索するのに十分な情報がスロットに記載されているとき、対話処理において、内部のデータベース１４、または、外部のデータベースに対する検索処理が必要であると判断し、マスタフレームにおいて、スロットの値がターゲットとなっているものがないときや、データベースを検索するのに十分な情報がスロットに記載されていないとき、対話処理において、内部のデータベース１４、または、外部のデータベースに対する検索処理を行わずに、異なる処理を行うと判断する。
【０１７２】
ステップＳ４５において、データベースの検索処理が必要であると判断された場合、ステップＳ４６において、対話処理部３７は、検索処理部３９を制御して、検索処理を実行させる。検索処理部３９は、対話処理部３７の処理により更新されたマスタフレームを構成するスロットの値を用いて適切な検索式を作成し、データベース（内部のデータベース１４であっても、外部のデータベースであってもよい）にアクセスして所望の情報を取得し、対話処理部３７に供給する。
【０１７３】
ステップＳ４７において、対話処理部３７は、供給された検索結果に基づいて、マスタフレームのターゲットに対応する部分に、取得された情報を記載し、マスタフレームのフレーム記述を更新し、処理は、ステップＳ４５に戻り、それ以降の処理が繰り返される。
【０１７４】
ステップＳ４５において、データベースの検索処理が必要ではないと判断された場合、ステップＳ４８において、対話処理部３７は、制御信号の出力が必要であるか否かを判断する。具体的には、対話処理部３７は、例えば、入力された文章が、「ＶＴＲに録画して」である場合、制御信号生成部４０を制御し、現在のメインフレームに記載されている情報を参照して、所定の外部装置を制御するための制御信号を生成させて出力させる。
【０１７５】
ステップＳ４８において、制御信号の出力が必要であると判断された場合、ステップＳ４９において、対話処理部３７は、制御信号生成部４０を制御し、ネットワークインターフェース１６によって接続されている所定の外部装置の処理を制御させる。対話処理部３７により制御されている制御信号生成部４０は、これまでの対話処理の結果に基づいて、外部機器を制御するための制御信号を生成し、ネットワークインターフェース１６に出力する。ネットワークインターフェース１６は、ネットワークを介して、制御先の機器に、制御信号を送信する。
【０１７６】
ステップＳ５０において、ネットワークインターフェース１６は、制御信号出力先からの応答を受信して、対話制御部１２の制御信号生成部４０に出力する。制御信号生成部４０は、制御信号出力先からの応答を対話処理部３７に供給し、処理は、ステップＳ５に戻り、処理が終了される。
【０１７７】
ステップＳ４８において、制御信号の出力が必要ではないと判断された場合、具体的には、例えば、ステップＳ４６およびステップＳ４７の処理により得られた検索処理結果を、図１３または図１４を用いて説明したテンプレートを利用して、ユーザに対して通知する必要がある場合、マスタフレームに記載されている情報が検索処理を実行するために必要な情報に満たないため、例えば、図１４または図１５を用いて説明したテンプレートを利用してユーザに対する質問を出力する必要がある場合など、ユーザに対して情報を提供するために出力文を生成し、ユーザに対して出力する必要がある場合、ステップＳ５１において、対話処理部３７は、出力文生成部４１を制御して、ユーザへの出力文を生成させる。出力文生成部４１は、対話処理部３７の制御に基づいて、図１３、図１４に示されるようなテンプレートを基に、ユーザへの出力文を生成し、出力制御部１５に出力する。
【０１７８】
ステップＳ５２において、出力制御部１５は、テキストや画像情報を表示可能な表示部および表示部を制御する表示制御部、または、音声を出力するスピーカと、スピーカから出力される音声データを処理する音声処理部の処理により、ユーザへの出力文をテキストもしくは画像として表示出力したり、または、音声出力し、処理はステップＳ５に戻り、処理が終了される。
【０１７９】
このような処理により、ユーザにより入力されたテキストと対話制御部１２−１乃至対話制御部１２−ｎのそれぞれが実行する対話処理の話題との類似度が算出されて、類似度の算出結果を基に、ユーザにより入力されたテキストに最も適した対話制御部が、対話制御部１２−１乃至対話制御部１２−ｎのうちから選択され、対話制御部の選択に用いられた類似度を基に、最適用例が選択され、マスタフレームのスロットの値が更新されて、更新されたマスタフレームを基に対話処理が実行される。このことにより、ユーザは、例えば、複数の候補文を選択することなく、自然言語による質問と回答の応酬によって、所望の情報を得たり、ネットワーク機器に対して所望の操作指令を行うことができる。
【０１８０】
そして、対話処理装置１において対応可能な話題の追加、削除、変更などは、対話制御部１２−１乃至対話制御部１２−ｎの追加、削除、変さらによって容易に行うことが可能である。
【０１８１】
以上の説明においては、対話処理に用いられるユーザからの入力文は、テキストデータとして入力されるものとして説明したが、例えば、ユーザが発話した音声データを解析し、音声処理により、テキストデータを取得して、取得されたテキストデータをユーザからの入力文として取り扱うことができるようにしてもよい。さらに、過去の対話処理に関する情報である対話履歴やユーザプロファイルを保存し、これらを基に、類似度を補正し、補正された類似度に基づいて、対話制御部の選択や、対話応答処理を行うことができるようにしてもよい。
【０１８２】
上記したように、単語を潜在クラスに基づく確率分布で表現し、文や文書など複数の単語から構成される言語単位を、それを構成する個々の単語の確率分布表現を重畳することによって表現し、確率分布間の距離尺度を規定することによって、文書検索や用例ベースの言語処理など、言語単位間の類似尺度を利用した自然言語処理に利用することが可能となる。
【０１８３】
また、構成する単語が少ない文や短い文書などの類似性を判定するには、従来のベクトル空間法に比べてより安定した尺度を得ることが可能で、効果的である。
【０１８４】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１８５】
図１８は、上述した一連の処理をソフトウェアにより実現する場合のパーソナルコンピュータ２０１の一実施の形態の構成を示している。
【０１８６】
パーソナルコンピュータ２０１のＣＰＵ２１１は、パーソナルコンピュータ２０１の動作の全体を制御する。また、ＣＰＵ２１１は、内部バス２１３および入出力インターフェース２１２を介して、マウス２３１やキーボード２３２などからなる入力部２１４から、ユーザによる操作入力が入力されると、それに対応してＲＯＭ（Read Only Memory）２１５に格納されているプログラムをＲＡＭ（Random Access Memory）２１６にロードして実行する。あるいはまた、ＣＰＵ２１１は、ＨＤＤ２１８にインストールされたプログラムをＲＡＭ２１６にロードして実行し、ディスプレイ２３３やスピーカ２３４などの出力部２１７に実行結果を出力させる。さらに、ＣＰＵ２１１は、ネットワークインターフェース２２０を制御して、外部と通信し、データの授受を実行する。
【０１８７】
また、ＣＰＵ２０１は、内部バス２１３および入出力インターフェース２１２を介して、必要に応じてドライブ２１９と接続され、ドライブ２１９に必要に応じて装着された磁気ディスク２２１、光ディスク２２２、光磁気ディスク２２３、または半導体メモリ２２４と情報を授受することができるようになされている。
【０１８８】
プログラムが記録されている記録媒体は、図１８に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２２１（フレキシブルディスクを含む）、光ディスク２２２（CD−ＲＯＭ（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク２３（MD（Mini-Disc）を含む）、もしくは半導体メモリ２２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ２１５や、ＨＤＤ２１８などで構成される。
【０１８９】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１９０】
【図１】本発明を適用した言語解析装置の一実施の形態の構成を示す図である。
【図２】確率分布の一例を示す図である。
【図３】本発明を適用した対話処理装置の構成を示すブロック図である。
【図４】対話制御部の構成を示すブロック図である。
【図５】本発明を適用した言語解析装置の一実施の形態の構成を示す図である。
【図６】確率分布の一例を示す図である。
【図７】テーブル６４のデータについて説明するための図である。
【図８】分布表現の重ね合わせについて説明するための図である。
【図９】対話制御部のおけるフレーム構成について説明するための図である。
【図１０】用例データベースに記憶されている用例について説明するための図である。
【図１１】フレーム表現変換部の処理について説明するための図である。
【図１２】マスタフレームの更新について説明するための図である。
【図１３】出力文のテンプレートについて説明するための図である。
【図１４】出力文が質問であるテンプレートについて説明するための図である。
【図１５】対話処理について説明するためのフローチャートである。
【図１６】類似度算出処理について説明するためのフローチャートである。
【図１７】対話応答処理について説明するためのフローチャートである。
【図１８】パーソナルコンピュータの構成を示すブロック図である。
【符号の説明】
【０１９１】
１  対話処理装置，  １１  テキストデータ入力部，  １２  対話制御部，  １３  対話処理選択部，  １４  データベース，  １５  出力制御部，  １６  ネットワークインターフェース，  ３１  文章情報取得部，  ３２  類似度計算部，  ３３  用例データベース，  ３４  確率値記憶部，  ３５  最適用例選択部，  ３６  フレーム表現変換部，  ３７  対話処理部，  ３８  マスタフレーム保持部，  ３９  検索処理部，  ４０  制御信号生成部，  ４１  出力文生成部，  ５１  入力部，  ５２  文脈情報取得部，  ５３  文脈表現生成部，  ５４  距離計算部，  ５５  出力部，  ６１  単語分布表現保持部
【図１】
2006127077.tif 000015
【図２】
2006127077.tif 000016
【図３】
2006127077.tif 000017
【図４】
2006127077.tif 000018
【図５】
2006127077.tif 000019
【図６】
2006127077.tif 000020
【図７】
2006127077.tif 000021
【図８】
2006127077.tif 000022
【図９】
2006127077.tif 000023
【図１０】
2006127077.tif 000024
【図１１】
2006127077.tif 000025
【図１２】
2006127077.tif 000026
【図１３】
2006127077.tif 000027
【図１４】
2006127077.tif 000028
【図１５】
2006127077.tif 000029
【図１６】
2006127077.tif 000030
【図１７】
2006127077.tif 000031
【図１８】
2006127077.tif 000032