JP2006107353A - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents
情報処理装置および方法、記録媒体、並びにプログラム Download PDFInfo
- Publication number
- JP2006107353A JP2006107353A JP2004296473A JP2004296473A JP2006107353A JP 2006107353 A JP2006107353 A JP 2006107353A JP 2004296473 A JP2004296473 A JP 2004296473A JP 2004296473 A JP2004296473 A JP 2004296473A JP 2006107353 A JP2006107353 A JP 2006107353A
- Authority
- JP
- Japan
- Prior art keywords
- word
- context
- probability distribution
- words
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
【課題】より精度良く、言語解析を行えるようにする。
【解決手段】 所定の文脈を解析するとき、局所文脈情報としてその文脈に含まれ、処理対象とされている単語の直近と、さらに直近の単語が処理対象とされる。また、大域文脈情報として、処理対象より前に位置する複数の単語が処理対象とされる。大域文脈情報に関しては、予め複数の単語から構成される文脈に関する確率分布が生成され、クラスタIDが割り当てられている。処理対象とされている大域文脈情報が、どの確率分布に該当するかが判断され、その該当すると判断された確率分布のクラスタIDと、局所文脈情報が用いられ、入力された文章がどのような文章であるかの解析が行われる。本発明は、言語解析を行う音響認識装置などに適用することができる。
【選択図】図1
【解決手段】 所定の文脈を解析するとき、局所文脈情報としてその文脈に含まれ、処理対象とされている単語の直近と、さらに直近の単語が処理対象とされる。また、大域文脈情報として、処理対象より前に位置する複数の単語が処理対象とされる。大域文脈情報に関しては、予め複数の単語から構成される文脈に関する確率分布が生成され、クラスタIDが割り当てられている。処理対象とされている大域文脈情報が、どの確率分布に該当するかが判断され、その該当すると判断された確率分布のクラスタIDと、局所文脈情報が用いられ、入力された文章がどのような文章であるかの解析が行われる。本発明は、言語解析を行う音響認識装置などに適用することができる。
【選択図】図1
Description
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、情報として、単語、文章、文脈などの情報を扱う際に適用して好適な情報処理装置および方法、記録媒体、並びにプログラムに関する。
入力されたテキストがどのような単語、文章、文脈であるかを解析することにより、情報の検索や、文章の作成の補助などが行われている。例えば、単語が入力された際、その単語を解析し、その単語を含む文章が検索されるといった文章検索のサービスが行われている。また、例えば、単語が入力された際、その単語に続く文字(単語、文章など)は、何であるかを類推し、ユーザにその類推結果を提供することにより(ユーザは、その類推結果を用いることにより、文字を入力する手間が省ける)、ユーザが文章を作成する補助を行うといったことが行われている。
また、ユーザが発した言葉を解析し、その言葉に対応する処理を実行するといった音声認識と、その認識結果を用いた処理が行われている。例えば、ユーザが発した言葉を認識し、その認識結果に対した返答を行うことにより、ユーザとの会話を行うロボットなどの開発が行われている。また、ワードプロセッサなどでは、ユーザが発した言葉をテキストデータに変換することも行われている。
このような、ユーザによりテキストデータや音声データとして入力された言葉を処理することを、ここでは言語解析と称する。言語解析を行う際の確率言語モデルとして、N-gramと呼ばれるものがある。このN-gramは、単語の連鎖をN-1重マルコフ過程で近似したものであり、次式(1)で表される。
Nが大きくなるほど学習するパラメータ数が増加するため、一般的にはN=3程度までのものがよく利用される。しかしながら、N=3程度では、直前の2単語という局所的な文脈情報しか利用せずに言語解析が行われることになる。その結果、解析結果の精度が問題となることがあった。そこで、より大域的な文脈情報を利用して言語解析を行うことが提案されている。
大域的な文脈情報を利用して言語解析を行う方法として、キャッシュモデルなどと称される方法がある。キャッシュモデルは、直前に現れた単語は再び出現しやすいという性質を組み入れたモデルである。直前に現れたM単語を保持しておき、単語の出現確率を、キャッシュに基づく確率PcとN-gramに基づく確率Pnとを線形補間することにより求める。このことを式で表すと、次式(2)および次式(3)となる。
また別の方法として、トリガーモデルという方法も提案されている。このトリガーモデルは、長距離にわたる単語間の共起関係を組み入れた言語モデルである。これはキャッシュモデルと異なり、異なる単語間の依存関係を記述することができ、次式(4)で表される。
このトリガーモデルもキャッシュモデルと同様に、これと通常のN-gramとを線形補間して確率値が求められる。この2つのモデルに関しては、非特許文献1に記載されている。
さらに他の方法として、トピックベースLMという方法も提案されている。このトピックベースLMは、トピックに対応する潜在的な(明示的に示されない)クラスtを想定して、次式(5)に示すような文脈に基づく単語予測を定式化する。
そしてp(w|t),p(t|d)のパラメータをEM(期待値最大化)アルゴリズムで推定する。そして実際に言語モデルを利用する際にはp(t|d)の代わりにp(t|h)を次式(6)および次式(7)のように漸化式で近似して、p(w|h)が求められる。
このトピックベースLMも同様に、局所的な単語履歴による予測も利用するために、通常のN-gramと線形補間して確率値が求められる。このトピックベースLMに関しては、非特許文献2に記載されている。
北著 「確率的言語モデル」、東京大学出版 D.Gildea and T.Hofmann, "Topic-based Language Models using EM",Eurospeech '99
北著 「確率的言語モデル」、東京大学出版 D.Gildea and T.Hofmann, "Topic-based Language Models using EM",Eurospeech '99
上記したキャッシュモデルとトリガーモデルは、文脈上に出現した個々の単語をキーとして、後続の単語の出現確率を変更するだけであり、複数の単語の共起の組合せから、大域的な文脈をとらえて必要な単語の確率を求めるといった処理を行っていない。このため、N-gramだけで処理を行うときよりも、精度良く言語解析が行えるとは限らなかった。
また、上記した全てのモデルは、大域的な文脈に基づく確率を求めるのに、推定モデルと局所的な文脈に基づく確率を推定する通常のN-gramとが別々に存在し、この2つモデルを線形補間することで求めている。そのためモデルの学習に加えて補間係数λの最適化が必要となる。
また、上記した従来の言語解析よりも、より精度良く解析が行えるようにすることが望まれている。
本発明はこのような状況に鑑みてなされたものであり、個々の単語を複数のクラスに含まれる確率の分布で表現し、大域的な文脈情報を、考慮すべき文脈の範囲に含まれる個々の単語の分布を重ね併せたものとして表現し、直前の単語履歴に加えて、この分布表現を大域文脈情報として利用する確率的言語モデルを提案することを目的とする。また、この言語モデルのパラメータを推定する段階で、直前の単語履歴と同様に大域的な文脈情報を利用して確率値を求めることができるようにすることで、補間など処理を省略できるようにし、計算量を削減しつつ、より高度な言語処理を実現することを目的とする。
本発明の情報処理装置は、第1に、複数の単語を含む文脈を入力する入力手段と、単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現を保持する保持手段と、入力手段により入力された文脈に含まれる複数の単語毎に対応する単語に関する確率分布表現を、保持手段から読み出し、重畳することにより文脈に関する確率分布表現を生成する生成手段と、生成手段により生成された文脈に関する確率分布表現を用いて、文脈より後に出現する単語を予測する予測手段とを備えることを要素とする。
第2に、前記第1の要素に加え、前記生成手段は、保持手段から読み出した単語に関する確率分布表現に対して、単語の文脈における位置に基づいて重み付けを行うことを要素とする。
第3に、前記第1の要素に加え、単語に関する確率分布表現を重畳することにより表現された所定の文脈に関する確率分布表現をクラスタリングし、そのクラスタリングされた確率分布表現をクラスタIDと関連付けて保持するクラスタID保持手段と、生成手段により生成された文脈に関する確率分布表現に対応するクラスタIDを、クラスタID保持手段を検索し確定する確定手段とをさらに備え、予測手段は、確定手段により確定されたクラスタIDを利用することを要素とする。
第4に、前記第1の要素に加え、前記予測手段は、予測する単語の直前に位置する1以上の単語も利用することを要素とする。
第5に、前記第1の要素に加え、音声認識に用いられることを要素とする。
本発明の情報処理方法は、複数の単語を含む文脈の入力を制御する入力制御ステップと、単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現の読み出しを制御する読み出し制御ステップと、入力制御ステップの処理で入力が制御された文脈に含まれる複数の単語毎に対応する単語に関する確率分布表現を、読み出し制御ステップの制御で読み出し、重畳することにより文脈に関する確率分布表現を生成する生成ステップと、生成ステップの処理で生成された文脈に関する確率分布表現を用いて、文脈より後に出現する単語を予測する予測ステップとを含むことを要素とする。
本発明の記録媒体は、複数の単語を含む文脈の入力を制御する入力制御ステップと、単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現の読み出しを制御する読み出し制御ステップと、入力制御ステップの処理で入力が制御された文脈に含まれる複数の単語毎に対応する単語に関する確率分布表現を、読み出し制御ステップの制御で読み出し、重畳することにより文脈に関する確率分布表現を生成する生成ステップと、生成ステップの処理で生成された文脈に関する確率分布表現を用いて、文脈より後に出現する単語を予測する予測ステップとを含むコンピュータが読み取り可能なプログラムが記録されていることを要素とする。
本発明のプログラムは、複数の単語を含む文脈の入力を制御する入力制御ステップと、単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現の読み出しを制御する読み出し制御ステップと、入力制御ステップの処理で入力が制御された文脈に含まれる複数の単語毎に対応する単語に関する確率分布表現を、読み出し制御ステップの制御で読み出し、重畳することにより文脈に関する確率分布表現を生成する生成ステップと、生成ステップの処理で生成された文脈に関する確率分布表現を用いて、文脈より後に出現する単語を予測する予測ステップとを含むことを要素とする。
本発明の情報処理装置および方法、並びにプログラムにおいては、個々の単語が複数のクラスに含まれる確率の分布で表現され、大域的な文脈情報が、考慮すべき文脈の範囲に含まれる個々の単語の分布を重ね併せたものとして表現され、直前の単語履歴に加えて、この分布表現を大域文脈情報として利用される。また、この言語モデルのパラメータが推定される段階で、直前の単語履歴と同様に大域的な文脈情報が利用されて確率値が求められる。
本発明によれば、局所文脈情報に加えて、大域的な文脈情報を、そこに含まれる個々の単語の分布を重ね併せる形で表現するようにし、局所文脈情報と大域文脈情報を同時に考慮した確率言語モデルを生成することが可能となる。
本発明によれば、大域文脈情報をクラスタリングすることによって、確率的言語モデルのパラメータを学習する際に、局所文脈情報と大域文脈情報を同時に考慮することが可能となり、それによって別々に推定した複数の統計言語モデルを線形補間することなく、モデル学習時に統一的にパラメータの推定を行なことが可能となる。
本発明によれば、大域文脈情報をクラスタリングする時に、クラスタ数を学習に利用できるデータ量に応じて変化させることによって、モデル学習におけるデータスパースネスの問題に対処することが可能となる。
以下に本発明の最良の形態を説明するが、開示される発明と実施の形態との対応関係を例示すると、次のようになる。明細書中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現し、追加されたりする発明の存在を否定するものではない。
本発明の情報処理装置は、例えば、図1の言語解析装置10である。本発明の情報処理装置は、複数の単語を含む文脈を入力する入力手段(例えば、図1の入力部11)と、単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現を保持する保持手段(例えば、図1の単語分布表現保持部18)と、入力手段により入力された文脈に含まれる複数の単語毎に対応する単語に関する確率分布表現を、保持手段から読み出し、重畳することにより文脈に関する確率分布表現を生成する生成手段(例えば、図1の大域文脈表現生成部14)と、生成手段により生成された文脈に関する確率分布表現を用いて、文脈より後に出現する単語を予測する予測手段(例えば、図1の言語モデルパラメータ取得部16)とを備える。
本発明の情報処理装置は、単語に関する確率分布表現を重畳することにより表現された所定の文脈に関する確率分布表現をクラスタリングし、そのクラスタリングされた確率分布表現をクラスタIDと関連付けて保持するクラスタID保持手段(例えば、図1の大域文脈クラスタ情報保持部19)と、生成手段により生成された文脈に関する確率分布表現に対応するクラスタIDを、クラスタID保持手段を検索し確定する確定手段(例えば、図1の大域文脈クラスタ確定部15)とをさらに備える。
以下に、本発明の実施の形態について図面を参照して説明する。
本発明は、言語解析を行う際に適用することができるため、以下の説明においては、言語解析に、本発明を適用した場合を例に挙げて説明する。以下の説明においては、まず、言語解析を行う装置(例えば、図1の言語解析装置10)について説明し、次に、その装置が言語解析を行うのに必要とするデータベース(例えば、図1の確率的言語モデルパラメータ保持部20が保持するテーブル)の作成(学習処理)について説明する。また、本発明を適用した言語解析を、例えば、ユーザにより入力されたテキストデータや音声データを処理する際に適用する場合について説明を加える。
[言語解析装置の構成例]
図1は、本発明を適用した言語解析装置10の一実施の形態の構成を示す図である。図1に示した言語解析装置10は、入力部11、局所文脈情報取得部12、大域文脈情報取得部13、大域文脈表現生成部14、大域文脈クラスタ確定部15、言語モデルパラメータ取得部16、および、出力部17を備える。さらに、言語解析装置10は、単語分布表現保持部18、大域文脈クラスタ情報保持部19、および、確率的言語モデルパラメータ保持部20という3つのデータベースを備えている。
図1は、本発明を適用した言語解析装置10の一実施の形態の構成を示す図である。図1に示した言語解析装置10は、入力部11、局所文脈情報取得部12、大域文脈情報取得部13、大域文脈表現生成部14、大域文脈クラスタ確定部15、言語モデルパラメータ取得部16、および、出力部17を備える。さらに、言語解析装置10は、単語分布表現保持部18、大域文脈クラスタ情報保持部19、および、確率的言語モデルパラメータ保持部20という3つのデータベースを備えている。
入力部11は、確率値取得に必要となる局所、大域文脈情報を構成する単語群、局所文脈情報を構成する単語、生起確率値を推定したい後続の単語の情報を取得する。ここで、局所文脈情報とは、生起確率値を推定したい単語(処理対象とされている単語)の直近に位置する単語(その個数は通常1〜3単語)に関する情報であり、大域文脈情報とは、局所文脈情報より前に位置する複数の単語(単語群)に関する情報である。
入力部11の後段は、単語単位で処理を実行する。しかしながら、日本語の文は、単語毎に区切られていないため、入力部11の処理として、例えば、形態素解析技法に基づく処理などが行われることにより、入力された文が単語単位に分割され、その結果が、入力部11から出力される。
入力部11に入力された単語に関する情報は、局所文脈情報取得部12と大域文脈情報取得部13に供給される。局所文脈情報取得部12は、入力部11で取得された情報のうち、局所文脈情報を構成する情報を抽出する。抽出される局所文脈情報は、処理対象とされる単語をNとした場合、その単語Nの直近に位置する単語N−1である。この抽出される情報としては、直近に位置する単語N―1の他に、さらに、単語N―1の直近に位置する単語N−2まで抽出するようにしても良く、抽出される単語数は、適宜変更可能(設計事項)である。
大域文脈情報取得部13は、入力部11で取得された情報のうち、大域文脈情報を構成する情報を抽出する。抽出される大域文脈情報は、処理対象とされる単語を単語Nとした場合、その単語Nの直前に位置するm文に含まれている単語である。
大域文脈表現生成部14は、大域文脈情報取得部13で抽出された情報に含まれている個々の単語に関する確率分布表現(詳細は後述する)を単語分布表現保持部18より取得し、それを重ね合わせて大域文脈の確率分布表現を生成し、その生成した確率分布表現を、大域文脈クラスタ確定部15に供給する。
大域文脈表現生成部14が、このような処理を実行する上で必要となる情報を保持している単語分布表現保持部18は、予めPLSA(Probabilistic Latent Semantic Analysis)法などによって求められた、個々の単語に関する確率分布表現のパラメータ(例えば、図3のテーブル41)を保持している。
大域文脈クラスタ確定部15では、大域文脈表現生成部14で作成された大域文脈の確率分布表現が、大域文脈クラスタ情報保持部19で保持されているどのクラスタに最も近いかを計算し、そのクラスタIDを取得する。その取得されたクラスタIDは、言語モデルパラメータ取得部16に供給される。大域文脈クラスタ確定部15により取得されるクラスタIDを保持している大域文脈クラスタ情報保持部19は、予め作成された大域文脈表現のクラスタリング情報(例えば、図5のテーブル51)を保持する。
クラスタリングは、分布表現間の距離を定義することによって、予め大量のコーパスデータを利用して行うことが可能である。また、クラスタリング情報としては、例えば各クラスタの代表分布のパラメータを利用することができる。
言語モデルパラメータ取得部16は、局所文脈情報取得部12で供給された、処理対象とされている単語Nに対して、直前に位置する単語N−1の情報と、大域文脈クラスタ確定部15から供給された大域文脈のクラスタIDから、確率的言語モデルパラメータ保持部20が保持する単語生起確率値を取得し、出力部17に、その取得された確率値を供給する。
言語モデルパラメータ取得部16が取得する単語生起確率値を保持する確率的言語モデルパラメータ保持部20は、次式(8)で示される局所文脈、大域文脈毎の単語生起確率値を保持する。
出力部17は、言語モデルパラメータ取得部16から供給された単語生起確率値を、後段の処理部(不図示)に出力する。
[保持部に保持されているデータについて]
次に、言語解析装置10が備える3つの保持部が、それぞれ保持しているデータ(テーブル)について説明を加える。まず、単語分布表現保持部18が保持するデータについて説明する。上記したように、単語分布表現保持部18は、PLSA法などによって求められた、個々の単語に関する確率分布表現のパラメータを保持しているが、そのパラメータとは、例えば、図2に示すようなものである。
次に、言語解析装置10が備える3つの保持部が、それぞれ保持しているデータ(テーブル)について説明を加える。まず、単語分布表現保持部18が保持するデータについて説明する。上記したように、単語分布表現保持部18は、PLSA法などによって求められた、個々の単語に関する確率分布表現のパラメータを保持しているが、そのパラメータとは、例えば、図2に示すようなものである。
図2には、単語w1,w2,w3,w4に関するパラメータを、それぞれグラフ化したものを示している。図2に示した各グラフは、縦軸にp(z|w)の値をとり、横軸に意味クラスをとったものとされている。また、図2に示した各グラフは、クラス数をz=10に設定したときのものとされている。なお、意味クラスとは、特定のジャンルなど、人が識別できるようなクラスを示すものではなく、後述する言語解析を行うにあたり、単語や文脈などを特徴付けるために設定されたものである。
p(z|w)は、単語wが生起するという条件のもとで、クラスzが生起する条件付き確率の値を示す。p(z|w)は、次式(9)により算出される。
式(9)からp(z|w)は、p(w|z)とp(z)から算出されることがわかる。p(w|z)とp(z)は、EMアルゴリズムのうち、M−stepにおいて用いられる次式(10)と次式(11)により、それぞれ算出される。
すなわち、p(w|z)とp(z)から単語の意味クラスへの帰属確率分布p(z|w)を求めることができる。この意味クラスへの帰属確率分布を求めることにより、単語wのもつ意味の概要を表現することができる。
図2を参照するに、単語w1と単語w2は、共通の意味クラスz2とz9に対して高い帰属確率が与えられているなど分布の形状が類似しており、意味的に共通点がある。これに対し、単語w3は、単語w1や単語w2と共通の意味クラスで高い帰属確率が与えられるようなことがなく、分布の形状が異なり、意味的な共通点が少ない。
また、単語w4のグラフを参照するに、意味クラス毎の帰属確率値は、一様な値であり、特に高い確率値を有する意味クラスは存在していない。このようなグラフは、機能語、例えば、“〜する”といった語であり、特定の意味を表現しない(1または複数のクラスの確率値で特徴を表すことができず、確率値の分布に基づいて分類することができない語である)ことを示している。
このように、単語wの意味確率分布p(z|w)は、意味的に特徴のある単語に対しては確率値が意味クラスにより偏るが(分布自体に特徴が表れるが)、機能語のような意味的には特徴をあまり有さないような単語に対しては、確率値は意味クラスにより偏るようなことがないといった特徴を有する。
このような特徴を、単語wの意味確率分布p(z|w)は有するため、図2に示した例では、意味クラスの数を10に設定した場合を示したが、意味クラスの数を10以上に設定し、より詳細に解析すれば、単語の特徴をより明確に表すことができると考えられる。
単語分布表現保持部18には、図2に示したような、単語毎に意味クラスと確率値が関連付けられたデータ(例えば、図2に示したグラフが、テーブル化されたデータ)が保持されている。
図2に示したグラフをテーブル化して記憶させるようにした場合、例えば、そのテーブルは、図3に示したような項目から構成されるデータとされる。すなわち、図3に示したテーブル41は、横に意味クラス、縦に単語をとり、交わる部分に、その単語のその意味クラスでの確率値が記載されている。例えば、単語w1の意味クラスz1における確率値は、P(z1|w1)である。
ここでは、このようなテーブル41が、単語分布表現保持部19に保持されるとして、以下の説明を続ける。
[大域文脈における確率分布表現のデータの作成について]
次に、大域文脈クラスタ情報保持部19が保持するデータについて説明する。上述したように、大域文脈クラスタ情報保持部19は、大域文脈の確率分布表現に関するクラスタリング情報を保持している。大域文脈の確率分布表現とは、大域文脈(複数の単語が含まれる文)を構成する個々の単語の生起が独立であると仮定して、それぞれの単語の確率分布の積で近似したものである。
次に、大域文脈クラスタ情報保持部19が保持するデータについて説明する。上述したように、大域文脈クラスタ情報保持部19は、大域文脈の確率分布表現に関するクラスタリング情報を保持している。大域文脈の確率分布表現とは、大域文脈(複数の単語が含まれる文)を構成する個々の単語の生起が独立であると仮定して、それぞれの単語の確率分布の積で近似したものである。
このことについて、図4を参照して説明する。図4の上側には、単語w1と単語w2の意味クラス毎の確率分布をグラフ化したもの(単語w1と単語w2の、それぞれの確率分布表現)を示している。この単語w1と単語w2を重ね合わせたものを大域文脈の確率分布表現とする。図4の下側に、大域文脈(w1,w2)の確率分布表現のグラフを示す。大域文脈(w1,w2)との表記は、単語w1と単語w2を含む大域文脈の確率分布表現を示すとする。また、その所定の意味クラスzにおける確率値は、p(z|w1,w2)と表記する。
この大域文脈(w1,w2)は、図2を参照して説明した単語に関する確率分布表現と同様の特徴を有する。すなわち、単語w1と単語w2を含む文脈の特徴を、意味クラス毎の確率値の分布により表すことができる。このことを例えて言うならば、1文を聞いたときに、その文の全体を聞き取れなくても、その文に含まれる複数の単語を聞き取れれば、文全体を推測することができるときがある。このように、文に含まれている単語w1と単語w2がわかることにより、文全体を推測することができると考えられる。
また、詳細は後述するが、大域文脈の確率分布表現を用いることにより、文と文、文章と文章の類似度(どれだけ似ている文同士であるか、文章同士であるか)を測定することができる。このことを利用し、例えば、入力された文と類似する文を検索するといったような処理が行えるようになる。
この大域文脈における確率分布表現のグラフ(データ)の作成について説明を加える。単語を複数の意味クラスに含まれる確率の分布で表現する方法については、上述したように、PLSAモデルを利用することができる。PLSAモデルでは、文章とそれに出現する単語の関係を次式(12)のように定式化して、EMアルゴリズムでp(z),p(w|z),p(d|z)の値が推定される。
さらに、p(z|w)はベイズ則より次式(13)のように求めることができる。
このようにして求められた単語に関する確率分布表現を重畳する場合、すなわち、図4を参照したように、複数の単語の確率分布表現を重ね合わせることにより、大域文脈に関する確率分布表現を作成する場合、式(13)で求められる各単語の意味クラスに基づく確率分布表現から、複数の単語より構成される文や文章の意味クラスに基づく確率分布表現が求められる。
w1,w2,・・,wnのn個の単語で構成される文または文章をhとすると、この意味クラスに基づく分布表現は次式(14)で表される。
式(14)に示したように、意味クラスに基づく分布表現は、意味クラスzにおける生起確率p(z|w)を、単語毎に乗算していくことにより求められる。ここでは、式(14)に基づき、乗算することにより分布表現が求められるとして説明を続けるが、加算など、他の計算が行われることにより求められるようにしても良いし、加算と乗算など、複数の計算が行われることにより求められるようにしても良い。
ここでw1,w2,・・,wnは全て独立に生起するものと仮定して、それらが全て生起した時に意味クラスの分布がどのようになるかという近似を用いている。ここでβは、全てのクラスにわたる確率値の合計が1になるようにするための正規化係数である。またα(wi)は、個々の単語毎に決められる重み係数である。
重みα(wi)の設定の仕方について説明する。重み付けは、単語に関する確率分布表現を重畳するときに、重畳される個々の単語毎に重みα(w)を設定することが可能である。
その重み付けの値としては、まず、言語的な知識を利用して重み付けを行うようにすることが考えられる。例えば意味的に重要な要素となる内容語(名詞、動詞など)の単語に関しては、重みを重くし、逆に機能語(助詞、助動詞など)は重みを軽くするといったように重み付けを行っても良い。
また、ベクトル空間法で用いられているidfの尺度を利用するようにしても良い。例えば、あらゆる文章に出現する単語の重みは軽く、文章の出現に偏りのある単語は重みを重くするといったように重み付けを行っても良い。
さらに、単語を確率分布で表現しているので、その分布自身を基に重みα(wi)を設定するようにしても良い。上記したように、確率分布が一様でない(偏っている)場合、そのような確率分布を有する単語は、意味的に特徴があると考えられるので、そのような単語は、意味的に重要であるとし、重みを重くするようにしても良い。例えば、分布が偏っているほど意味的に重要であるとして、エントロピーを利用したり、分布の集中の尺度として用いられるGiniの集中度係数などを用いるようにしたりしても良い。
次式(15)は、エントロピーに基づく重み付けを行うときの式であり、次式(16)は、Giniの集中度係数に基づく重み付けを行うときの式である。
重み付けの仕方として、さらに文脈として古いものほど重みを小さくするといった規則を設けて重み付けを行うようにしても良い。例えば、文脈中の所定の単語がm文前に含まれていた場合、その重みに1/mを乗算することによって、mが大きくなるほど、すなわち現在位置から遠い単語ほど、重ね合わせ時の重みを小さくするようにしても良い。
重み付けは、1つの方法に依存するのではなく、上述した方法を組み合わせた方法を適用して重み付けが行われるようにしても、勿論良い。
また、ここでは、式(14)に基づき、大域文脈に関する確率分布表現p(z|h)が算出されるとして説明を続けるが、このような個々の単語の確率分布表現を重畳する他に、例えば、PLSAの原著に記載のあるEMアルゴリズムによる方法を適用して確率分布表現p(z|h)が算出されるようにしても良い。どちらの方法を用いても、後段の処理は同一のものとすることができる。
大域文脈クラスタ情報保持部19には、このような重み付けがされた(ただし、重み付けは必須条件ではないので、重み付けされていなくても良い)確率分布表現(データ)を、複数個、保持している。そして、各確率分布表現には、クラスタIDが割り当てられており、クラスタIDにより、一意に確率分布表現が区別できるようなデータとされている。
大域文脈クラスタ情報保持部19に保持させるデータを、テーブル化した場合、そのテーブルの構造は、例えば、図5に示したようになる。図5に示したテーブル51は、横に意味クラス、縦にクラスタIDが、それぞれとられ、交わる欄には、パラメータ(確率値)が記載されている。
例えば、クラスタIDが“c1”には、意味クラスz1の確率値として、“0.1”が、意味クラスz2の確率値として、“0.1”が、・・・・、意味クラスzmの確率値として、“0.1”が、それぞれ関連付けられている。
[確率的言語モデルパラメータ保持部が保持するデータについて]
次に、確率的言語モデルパラメータ保持部20が保持するデータについて説明する。上述したように、確率的言語モデルパラメータ保持部20は、数個の単語の情報と、大域文脈のクラスタIDが、それぞれ関連付けられたデータを保持している。その保持されているデータは、テーブル形式で示すと、例えば、図6に示すようなデータ構造になる。
次に、確率的言語モデルパラメータ保持部20が保持するデータについて説明する。上述したように、確率的言語モデルパラメータ保持部20は、数個の単語の情報と、大域文脈のクラスタIDが、それぞれ関連付けられたデータを保持している。その保持されているデータは、テーブル形式で示すと、例えば、図6に示すようなデータ構造になる。
図6に示したデータ構造では、クラスタID、単語N−2、単語N+1、単語N、および、確率値という項目が設けられている。ここでは、処理対象とされている単語(生起確率が求められる単語)が単語Nであるとき、その直近の単語を単語N―1とし、さらに単語N−1の直近の単語をN−2としている。このようなテーブル61が用いられるとき、局所文脈情報取得部12からは、単語N―2と単語N―1に関する情報が供給され、大域文脈クラスタ確定部15からはクラスタIDが供給される。
1つのクラスタIDには、1つまたは複数の単語N−2の候補が関連付けられている。1つの単語N―2には、1の単語N―1が関連付けられている。1つの単語N−1には、1つの単語Nが関連付けられている。そして、1つの単語Nには、1つの確率値が関連付けられている。
例えば、クラスタIDが“c1”には、単語N−2として、“w1”という単語が、単語N―1として、“w2”という単語が、単語Nとして、“w3”という単語が、それぞれ関連付けられ、さらに、単語Nの“w3”には確率値として“0.083”が関連付けられている。
すなわち、クラスタIDが“c1”であり、単語N−2が“w1”であり、単語N―1が“w2”である場合、単語Nが“w3”である確率は“0.083”であることを示している。
また、図6において、例えば、クラスタIDが“c1”の単語N−2と、クラスタIDが“c2”の単語N−2が、同一の単語(w1=w1’)であっても良い。すなわち、異なるクラスタIDであっても、そのクラスタIDで識別される局所文脈(クラスタIDで識別されるクラスに含まれる単語群)には、同一の単語が含まれていても良い。
例えば、クラスタIDが“c1”のクラスに含まれる単語N−2,N−1,Nが、“明日”、“は”、“晴れ”という単語であった場合、クラスタIDが“c2”のクラスに含まれる単語N−2,N−1,Nが、“明日”、“は”、“雨”という単語でも良い。
また、1つのクラスタIDに、異なる単語群が関連付けられていても良い。これは、大域文脈に関する確率分布表現が同一(類似)であるときであっても、局所文脈情報が異なることは考えられるからである。
大域文脈情報として、局所文脈情報が取得される文よりも前の文が用いられるようにした場合、大域文脈情報は同一であっても、後に続く文は異なり、その結果、局所文脈情報が異なることがあるからである。例えば、“今日はいい天気です。”という文から大域文脈が取得された場合、“明日もいい天気です。”という文が続くこともあれば、“明日は雨です。”という文が続くこともあり、このようなときには、同一のクラスタIDであっても、異なる単語群が関連付けられることになる。よって、1つのクラスタIDに、異なる単語群が関連付けられるようにしても良い。
[テーブル61の作成について]
次に、確率的言語モデルパラメータ保持部20が保持するテーブル61の作成について説明する。図7は、テーブル61を作成する学習装置100の構成を示す図である。入力部101は、テキストデータなどが入力される。この入力されるデータは、大量の学習用コーパスデータである。入力部101に入力されたデータは、形態素解析部102に供給される。
次に、確率的言語モデルパラメータ保持部20が保持するテーブル61の作成について説明する。図7は、テーブル61を作成する学習装置100の構成を示す図である。入力部101は、テキストデータなどが入力される。この入力されるデータは、大量の学習用コーパスデータである。入力部101に入力されたデータは、形態素解析部102に供給される。
入力部101に入力されるコーパスデータは、日本語に関するテーブル61を作成する場合、日本語の文章が入力されるわけだが、日本語の文章は、単語毎に区切られていないので、例えば、形態素解析などと称される方法により、文章を単語毎に分解する必要がある。そこで、本実施の形態においては、そのような処理を、形態素解析部102が行うように構成する。
形態素解析部102から出力されるデータは、単語に関するデータである。なお、ここでは形態素解析の方法に基づいて、文章を単語単位に分解するとして説明を続けるが、他の解析方法を適用することも可能である。
形態素解析部102から出力された単語に関するデータは、局所データ更新部103と大域データ更新部104に供給される。局所データ更新部103と大域データ更新部104は、それぞれ、記憶部105に記憶されているデータを更新するために設けられている。
記憶部105は、コーパスデータに含まれていた単語の出現回数に関するデータや、クラスタIDに関するデータを保持する。これらの記憶部105に記憶されているデータを利用し、モデルパラメータ生成部106は、モデルパラメータ(図6のテーブル61における確率値)を算出し、図6に示したようなテーブル61を作成する。作成されたテーブル61は、モデルパラメータデータベース107に記憶される。
次に、図7に示した学習装置100の学習の仕方(テーブル61の作成の仕方)について、図8のフローチャートを参照して説明する。ステップS11において、入力部101に学習用のコーパスデータが入力され、順次、形態素解析部102に供給され、1単語単位に分解される。形態素解析部102からの単語に関するデータは、局所データ更新部103と大域データ更新部104に供給される。
このような処理が行われる一方で、ステップS12において、学習データは終了か否か(入力部101に入力された全てのコーパスデータに対する処理は終了したか否か)が判断される。ステップS12における処理は、入力部101が、入力がなくなったか否かを判断することにより行われるようにしても良い。
ステップS12において、学習データは終了していないと判断された場合、ステップS13に処理が進められ、処理対象となっている単語(その時点で、形態素解析部102から出力された単語)に関する出現回数の更新が行われる。例えば、記憶部105には、出現した単語と、その単語が出現した回数が関連付けられて記憶されている。局所データ更新部103(または、大域データベース更新部104)は、まず、処理対象の単語が、既に記憶部105に記憶されているか否かを判断する。
そして、処理対象の単語が既に記憶部105に記憶されていると判断された場合、その記憶されていると判断された単語に関連付けられている回数を、1だけ増加させる。一方、処理対象の単語は、まだ記憶部105に記憶されていないと判断された場合、その処理単語を新たに登録すると共に、その単語の回数を1と設定する。
同様に、直前の単語との2つ組み単語連鎖の出現回数、直前2つの単語との3つ組み単語連鎖の出現回数も記憶する(ステップS14)。
ステップS15において、大域データ更新部104は、処理対象としている大域文脈(処理されている文章のうちの、所定数の単語から構成される文脈)から大域文脈に関する確率分布情報(図4を参照して説明した複数の単語から構成される文脈に関する意味クラス毎の確率値の分布)を作成し、既に作成されているクラスタ情報(図8)のどのクラスに近いかを判定し、該当するクラスタIDを取得する。
大域データ更新部104が、大域文脈に関す確率分布情報を作成するために、予め記憶部105には、単語毎の確率分布情報(例えば、図3に示したテーブル41)が記憶されている。または、局所データ更新部103が、単語毎の確率分布情報を、単語が入力される毎に生成し、記憶部105に記憶させるようにしても良い。
ここまでの処理を、具体例を挙げて説明する。
例えば、“今日はいい天気です。”といった文章が処理されるとき、形態素解析部102により、“今日”、“は”、“いい”、“天気”、“です”という5つの単語に分解される。“天気”という単語が、処理対象とされていた場合、局所データ更新部103は、“天気”という単語が出現した回数を更新し、さらに(“いい”,“天気”)、(“は”,“いい”,“天気”)といった2つ組み単語連鎖、3つ組み単語連鎖の出現回数も更新する。また、設定によっては、ここで、局所データ更新部103が、“天気”という単語に関する確率分布情報を生成し、記憶部105に登録する。
大域データ更新部104は、例えば、4つの単語を大域文脈として処理すると設定されている場合、“今日”、“は”、“いい”、“天気”という、4つの単語から構成される大域文脈を作成し、類似するクラスタID(例えばc1)を取得する。
そのクラスタIDとともに、3つの単語が関連付けられて、c1、(c1,“いい”)、(c1,“いい”,“天気”)、(c1,“は”,“いい”,“天気”)の出現回数が記憶部105に記憶される。そして、次の処理対象として、“は”、“いい”、“天気”、“です”という文脈に処理対象の文脈が移行される。ただし、ここでは、1単語ずつ、処理範囲が移行される例を挙げて説明したが、必ずしも処理範囲が1単語ずつ移行されなくても良い。例えば、1単語おき(上記例の場合、例えば、“明日”、“いい”、“です”)に処理範囲が設定されるようにしても良い。換言すれば、必ずしも、所定の文章内の連続する単語群が、処理対象とされる必要はなく、適宜変更可能である。
一方、既に、記憶部105に処理対象とされている文脈が登録され、クラスタIDが割り当てられている場合、登録などの処理は省略され、次の処理対象の文脈に、処理が移行される。
なお、大域データ更新部104において、大域文脈に関するデータが更新されるとき、処理対象とされる文脈中に、句点が含まれている場合、その句点から前の文脈は、削除した状態で処理(更新)を行うこともできる。すなわち、大域文脈として処理対象とされるのは、句点から句点までの1文章内の文脈になり、句点をまたぐ複数の文章の文脈は、処理対象とされないように設定されている。
また、予め学習用コーパスデータに、大域文脈情報をリセットするための文脈リセット情報を挿入しておくことも可能である。この文脈リセット情報は、例えば、学習用コーパスデータとして新聞記事を利用する場合、記事毎の境界部分に挿入しておく。そして、大域データ更新部104は、処理対象とする文脈を更新する際、文脈リセット情報が挿入されていたら、その時点で大域文脈情報をリセットする。
このようなステップS11乃至S15の処理が繰り返されることにより学習が行われる。
そして、ステップS12において、学習データは終了したと判断された場合、ステップS16に処理が進められる。ステップS16において、モデルパラメータの計算が、モデルパラメータ生成部106により行われる。モデルパラメータ生成部106は、記憶部105に記憶されている大域文脈情報と、単語毎の出現回数の情報を参照し、確率的言語モデルパラメータ(図6のテーブル61における確率値)を算出する。
算出された確率値は、クラスタIDと単語に関連付けられる。このような処理が実行されることにより、図6に示したテーブル61が作成される。作成されたテーブル61は、モデルパラメータデータベース107に記憶される。このモデルパラメータデータベース107に記憶されたテーブル61は、必要に応じ、言語解析装置10(図1)の確率的言語モデルパラメータ保持部20に供給され、記憶される。
言語解析装置10(図1)と学習装置100(図7)が共に、ネットワーク(不図示)に接続され、データの授受が行えるように構成されている場合、ネットワークを介してテーブル61が授受されるようにしても良い。このようにすれば、例えば、複数の言語解析装置10に保持されているテーブル61を、一時に更新できるので、更新に係わる処理をしやすくなる。
また、言語解析装置10に学習装置100を組み込むような構成としても良い。言語解析装置10に学習装置100を組み込んだ場合、共通に用いることができる部分、例えば、入力部11(図1)と入力部101(図7)を共通にし、構成を簡略化しても良い。このようにすれば、言語解析モデルパラメータ保持部20に保持されているテーブル61を、更新しやすくなり、また、言語解析装置10毎に、異なる学習用コーパスデータを用いれば、言語解析装置10毎に、異なるテーブル61が保持されることになり、解析したい言語に適した言語解析を行うことが可能となる。
[言語解析装置の処理について]
次に、図1に示した構成を有する言語解析装置10が行う言語解析処理について、図9のフローチャートを参照して説明する。前提として、単語分布表現保持部18には、図3に示したようなテーブル41が、大域文脈クラスタ情報保持部19には、図5に示したようなテーブル51が、確率的言語モデルパラメータ保持部20には、図6に示したようなテーブル61が、それぞれ保持されているとする。
次に、図1に示した構成を有する言語解析装置10が行う言語解析処理について、図9のフローチャートを参照して説明する。前提として、単語分布表現保持部18には、図3に示したようなテーブル41が、大域文脈クラスタ情報保持部19には、図5に示したようなテーブル51が、確率的言語モデルパラメータ保持部20には、図6に示したようなテーブル61が、それぞれ保持されているとする。
ステップS31において、入力部11に検索対象とされる文章が入力される。そして、その入力された文章(入力文)は、例えば、形態素解析により単語に分解される。単語は、局所文脈情報取得部12と大域文脈情報取得部13に供給される。局所文脈情報取得部12は、ステップS32において、順次入力される単語のうち、処理対象とする単語を、言語モデルパラメータ取得部16に出力する。出力される単語数は、例えば、連続する2単語である。
ステップS33において、大域文脈情報取得部13は、入力部11から、順次入力される文章(単語群)の中から、大域文脈として処理する複数の単語を抽出し、大域文脈表現生成部14に出力する。大域文脈表現生成部14に供給される複数の単語(大域文脈)は、同時点で、局所文脈情報取得部12から出力される単語より以前の文章に含まれる単語である。本実施の形態においては、局所文脈情報として処理対象とされている単語の、直近に位置する複数の単語(ここでは、2つとして説明する)と、さらに前に位置する文章(大域文脈)を用いて、文章の検索(言語解析処理)が行われる。そのため、大域文脈情報取得部13からは、局所文脈情報取得部12から出力される単語より以前の単語が出力される。
このように、大域文脈情報取得部13から出力される単語は、入力部11から供給される単語(局所文脈情報取得部12から出力される単語)との関連でいえば、時間差が生じているため、その時間差を吸収するために、一時的に情報を記憶しておく記憶部を備える構成としても良い。
大域文脈表現生成部14は、ステップS34において、供給された単語に関する単語分布表現を、単語分布表現保持部18から読み出す。単語分布表現保持部18には、図3に示したようなテーブル41が保持されているが、例えば、大域文脈表現生成部14に供給された単語が“単語w1”である場合、テーブル41から“単語w1”に関連付けられている各クラスの確率値(単語分布表現:単語に関する確率分布表現)が読み出される。
大域文脈表現生成部14に供給された単語が、2単語であった場合、その2つの単語の単語分布表現が読み出される。そして、読み出された単語分布表現が用いられ、大域文脈表現が生成される。すなわち、[大域文脈における確率分布表現のデータの作成について]のところで説明したように、読み出された単語分布表現(クラス毎の確率値)を、式(14)に基づき乗算することにより、大域文脈(複数の単語を含む文章)の確率分布表現(クラス毎の確率値)が算出される。
大域文脈表現生成部14により生成された大域文脈の確率分布表現は、大域文脈クラスタ確定部15に供給される。大域文脈クラスタ確定部15は、供給された確率分布表現に割り当てられているクラスタIDを、大域文脈クラスタ情報保持部19内を検索することにより決定する。大域文脈クラスタ情報保持部19は、図5に示したテーブル51を保持している。テーブル51は、既に説明したように、クラスタIDと、クラスタIDに対する各クラスの確率値が関連付けられているテーブルである。
大域文脈クラスタ確定部15は、ステップS35において、供給された確率分布表現の各クラスの確率値と、テーブル15に記載されている確率値を比較し、一致(または近似)する値を有するクラスタIDを決定する。クラスタIDを決定する際、次式(17)に基づいた計算を行うことにより決定するようにしても良い。
式(17)により、大域文脈間(処理対象とされている文脈と、テーブル51に記載されている各クラスタIDに関連付けられている文脈(すなわち、テーブル51を作成するときに用いられた文脈))の距離を算出することができる。このように距離を算出するようにした場合、ステップS37において、最も近い距離とされるクラスタIDが選択され、言語モデルパラメータ取得部16に供給される。この際、1つのクラスタIDだけが供給されるようにしても良いし、上位M位までの複数のクラスタIDが供給されるようにしても良い。
言語モデルパラメータ取得部16は、ステップS38において、局所文脈情報取得部12から供給された単語の情報(局所文脈情報)と、大域文脈クラスタ確定部15から供給されたクラスタIDから、一致する単語生起確率値を、確率的言語モデルパラメータ保持部20に保持されているテーブル61(図6)を参照して読み出し、出力部17に供給する。出力部17は、供給された単語生起確率値を、図示していない後段の処理に供給する。
テーブル61は、上述したように、クラスタID、単語N−2、単語N−1、単語N、および、単語生起確率値が関連付けられたテーブルである。この場合、局所文脈情報として、単語N−2と単語N−1が、局所文脈情報取得部12から供給され、クラスタIDが、大域文脈クラスタ確定部15から供給されるため、これらの情報に関連付けられている単語生起確率値が、テーブル61から読み出される。
読み出される単語生起確率値は、クラスタID(例えば、図6においてc1)で示される大域文脈が存在し、その後に、単語N−2(例えば、w1)と単語N−1(例えば、w2)が存在した場合、その単語N−1の後に続く単語Nが所定の単語(例えば、w3)である確率を示す。
このように、本実施の形態においては、このような文脈がきたときに、このような単語(文脈)が続けば、このような単語(文脈)が来る可能性が高いという解析が行われる。このことについて、さらに具体的な例を挙げて説明する。例えば、“このような文脈”として“今日はいい天気です”という文脈が来たときに、“明日も”という単語(文脈)が続けば、“いい天気でしょう”という単語(文脈)が来る可能性が高い。この具体例は、一般的に考えて妥当であると考えられる。
少なくとも、“今日はいい天気です”といった天気の話題に続く文章として、“明日も”とくれば、天気の話題が続いていると類推できることは確かである。本実施の形態においては、このような場合、大域文脈として“今日はいい天気です”が用いられ、局所文脈として“明日も”が用いられることにより、“明日も”の次に生起する単語の単語生起確率値が求められる。
従来は、大域文脈が用いられずに単語生起確率値が求められていたため(例えばN-GRAMを用いた方法)、例えば、“明日も”という局所文脈のみから次に続く単語の生起確率が求められていた。その結果、上記した例と同様の“今日はいい天気です。明日も”という流れであったにもかかわらず、類推される結果が、“いい天気でしょう”、“雨でしょう”、“株価は堅調です”といったような複数の類推結果が出され、最終的な結論が“明日も”という局所文脈に対して“株価は堅調です”といった、的はずれな単語(文脈)が生起すると判断されてしまう(文章の流れを無視した結論が出されてしまう)という可能性があった。
しかしながら、上述したように、本実施の形態によれば、大域文脈も考慮して類推結果が出されるので、“今日はいい天気です。明日も”という流れであったときに、“株価は堅調です”といった、的はずれな回答が出てしまうようなことを防ぐことが可能となる。よって、本実施の形態によれば、言語解析をより精度良く行うことが可能となる。
[言語解析装置の適用例]
次に、上述した言語解析を行う言語解析装置10を、音声認識を行う製品に適用した場合を例に挙げ、本発明の適用例について説明する。昨今、音声認識を応用した製品やサービスの実用化が、盛んに行われるようになってきているため、精度良く音声認識を行うことは、製品の信頼性や、サービスの向上の面で、重要なこととなっている。
次に、上述した言語解析を行う言語解析装置10を、音声認識を行う製品に適用した場合を例に挙げ、本発明の適用例について説明する。昨今、音声認識を応用した製品やサービスの実用化が、盛んに行われるようになってきているため、精度良く音声認識を行うことは、製品の信頼性や、サービスの向上の面で、重要なこととなっている。
音声認識とは、音響的な特徴を表す特徴量の出現確率などによって、入力音声に対応する単語の系列を推定し、推定された単語の系列によって音声を認識する技術のことである。音声認識技術およびアプリケーションプログラムを組み合わせることで、様々な製品やサービスの提供が可能になる。
本発明を適用した音声認識装置200は、図10で示されるように構成される。
図10において、ユーザが発した音声は、マイクロフォン201に入力(取得)され、マイクロフォン201では、入力された入力音声が、電気信号としての音声信号に変換される。変換によって生成された音声信号は、AD(Analog Digital)変換部202に供給される。AD変換部202では、マイクロフォン201からのアナログ信号である音声信号が、サンプリングされて、量子化され、デジタル信号である音声データに変換される。この音声データは、特徴抽出部203に供給される。
特徴抽出部203は、AD変換部202から供給された音声データについて、所定のフレーム毎に(微小時間毎に)音響分析処理を適用し、特徴量を生成することによって、音声データの特徴を抽出する。
特徴抽出部203において生成された特徴量はマッチング部204に供給される。マッチング部204は、特徴抽出部203から供給された特徴量を基に、音響モデルデータベース205、辞書データベース206、および文法データベース207を必要に応じて参照しながら、マイクロフォン201に入力された入力音声を認識する。
すなわち、音響モデルデータベース205は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU(Phoneme Like Units))ごとの音響的な特徴を表す音響モデルを記録している。音響モデルとして、HMM(Hidden Markov Model)が用いられる。辞書データベース206は、認識対象の各単語(語彙)について、単語毎の発音に関する情報(音韻情報)が記述された単語辞書、および各音響モデルから特徴量が観測される確率を記録している。
文法データベース207は、辞書データベース206の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則を記録している。すなわち、上述した言語解析に基づく文法規則(大域文脈と局所文脈を用いた文法法則)を記録している。
マッチング部204は、辞書データベース206の単語辞書を参照することにより、音響モデルデータベース205に記録されている音響モデルを接続して、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部204は、いくつかの単語モデルを、文法データベース207に記録された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴量の時系列に基づき、マイクロフォン201に入力された音声を認識する。すなわち、マッチング部204は、上述したようにして構成された各単語モデルの系列(以下、単語モデル系列と称する)から、特徴量の時系列が観測される尤度を表すスコアを計算する。そして、マッチング部204は、そのスコアが最も高い単語モデル系列を検出し、その単語モデル系列に対応する単語系列を、音声の認識結果として出力する。以下、マッチング部204による音声認識の処理をマッチング処理とも称する。
スコア計算は、一般に、音響モデルデータベース205に記録された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアと称する。)と、文法データベース17に記録された文法規則によって与えられる言語的なスコア(言語スコア)とを総合評価することで行われる。
すなわち、音響スコアは、単語モデルを構成する音響モデルから、特徴抽出部203が出力する特徴量の系列が観測される確率(出現確率)に基づいて、単語毎に計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語が連鎖(連接)する確率に基づいて、求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア(以下、総合スコアと称する)に基づいて、音声認識結果が確定される。
本発明を適用した音声認識装置200によれば、マッチング部204によるマッチング処理が行われる際に参照される文法データベース207に、上述した言語解析を適用するので、言語解析をより精度良く行うことが可能となり、音声認識結果として確定される単語や文章が、ユーザが音声で入力した単語や文章と一致する可能性(精度)を向上させることが可能となる。
このように、本発明を適用することにより、単語を意味クラスに基づく確率分布で表現し、文や文章など複数の単語から構成される言語単位を、それを構成する個々の単語の確率分布表現を重畳することによって表現し、確率分布間の距離尺度を規定することによって、文章検索や用例ベースの言語処理など、言語単位間の類似尺度を利用した自然言語処理に利用することが可能となる。
また、構成する単語が少ない文や短い文章などの類似性を判定するには、従来のベクトル空間法に比べてより安定した尺度を得ることが可能となり、効果的である。
さらに、本発明では、N-gram言語モデルにおける直前N-1単語の連鎖という局所文脈情報に加えて、大域的な文脈情報が、そこに含まれる個々の単語の分布を重ね併せる形で表現される。それによって、局所文脈情報と大域文脈情報を同時に考慮した確率言語モデルが生成される。
この大域文脈情報がクラスタリングされることによって、確率的言語モデルのパラメータを学習する際に、局所文脈情報と大域文脈情報を同時に考慮することが可能となり、それによって別々に推定した複数の統計言語モデルを線形補間することなく、モデル学習時に統一的にパラメータの推定を行うことができるようになる。
大域文脈情報をクラスタリングする時に、クラスタ数を学習に利用できるデータ量に応じて変化させることによって、モデル学習におけるデータスパースネスの問題に対処することが可能となる。すなわちデータ量が多い時はクラスタ数を増やして精密なモデルを学習できるのに対して、データ量が少ない場合はクラスタ数を減らしてモデルパラメータのロバストネスを高めることが可能となる。
[記録媒体について]
上述した一連の処理、例えば、言語解析の処理や、言語解析を行うときに用いられるテーブル作成の処理などは、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
上述した一連の処理、例えば、言語解析の処理や、言語解析を行うときに用いられるテーブル作成の処理などは、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図11は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのCPU(Central Processing Unit)301は、ROM(Read Only Memory)2に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)303には、CPU1が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース305は、キーボードやマウスから構成される入力部306が接続され、入力部306に入力された信号をCPU301に出力する。また、入出力インタフェース305には、ディスプレイやスピーカなどから構成される出力部307も接続されている。
さらに、入出力インタフェース305には、ハードディスクなどから構成される記憶部308、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部309も接続されている。ドライブ310は、磁気ディスク321、光ディスク322、光磁気ディスク323、半導体メモリ324などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
記録媒体は、図11に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク321(フレキシブルディスクを含む)、光ディスク322(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク323(MD(Mini-Disc)(登録商標)を含む)、若しくは半導体メモリ324などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているROM302や記憶部308が含まれるハードディスクなどで構成される。
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
10 言語解析装置, 11 入力部, 12 局所文脈情報取得部, 13 大域文脈情報取得部, 14 大域文脈表現生成部, 15 大域文脈クラスタ確定部, 16 言語モデルパラメータ取得部, 17 出力部, 18 単語分布表現保持部, 19 大域文脈クラスタ情報保持部, 20 確率的言語モデルパラメータ保持部, 41,51,61 テーブル, 100 学習装置, 101 入力部, 102 形態素解析部, 103 局所データ更新部, 104 大域データ更新部, 105 記憶部, 106 モデルパラメータ生成部, 107 モデルパラメータデータベース
Claims (8)
- 複数の単語を含む文脈を入力する入力手段と、
単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現を保持する保持手段と、
前記入力手段により入力された前記文脈に含まれる複数の単語毎に対応する前記単語に関する確率分布表現を、前記保持手段から読み出し、重畳することにより前記文脈に関する確率分布表現を生成する生成手段と、
前記生成手段により生成された前記文脈に関する確率分布表現を用いて、前記文脈より後に出現する単語を予測する予測手段と
を備えることを特徴とする情報処理装置。 - 前記生成手段は、前記保持手段から読み出した前記単語に関する確率分布表現に対して、前記単語の前記文脈における位置に基づいて重み付けを行う
ことを特徴とする請求項1に記載の情報処理装置。 - 単語に関する確率分布表現を重畳することにより表現された所定の文脈に関する確率分布表現をクラスタリングし、そのクラスタリングされた前記確率分布表現をクラスタIDと関連付けて保持するクラスタID保持手段と、
前記生成手段により生成された前記文脈に関する確率分布表現に対応するクラスタIDを、前記クラスタID保持手段を検索し確定する確定手段と
をさらに備え、
前記予測手段は、前記確定手段により確定された前記クラスタIDを利用する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記予測手段は、予測する単語の直前に位置する1以上の単語も利用する
ことを特徴とする請求項1に記載の情報処理装置。 - 音声認識に用いられる
ことを特徴とする請求項1に記載の情報処理装置。 - 複数の単語を含む文脈の入力を制御する入力制御ステップと、
単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現の読み出しを制御する読み出し制御ステップと、
前記入力制御ステップの処理で入力が制御された前記文脈に含まれる複数の単語毎に対応する前記単語に関する確率分布表現を、前記読み出し制御ステップの制御で読み出し、重畳することにより前記文脈に関する確率分布表現を生成する生成ステップと、
前記生成ステップの処理で生成された前記文脈に関する確率分布表現を用いて、前記文脈より後に出現する単語を予測する予測ステップと
を含むことを特徴とする情報処理方法。 - 複数の単語を含む文脈の入力を制御する入力制御ステップと、
単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現の読み出しを制御する読み出し制御ステップと、
前記入力制御ステップの処理で入力が制御された前記文脈に含まれる複数の単語毎に対応する前記単語に関する確率分布表現を、前記読み出し制御ステップの制御で読み出し、重畳することにより前記文脈に関する確率分布表現を生成する生成ステップと、
前記生成ステップの処理で生成された前記文脈に関する確率分布表現を用いて、前記文脈より後に出現する単語を予測する予測ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。 - 複数の単語を含む文脈の入力を制御する入力制御ステップと、
単語の特徴を、複数のクラスおける確率分布で表現した、単語に関する確率分布表現の読み出しを制御する読み出し制御ステップと、
前記入力制御ステップの処理で入力が制御された前記文脈に含まれる複数の単語毎に対応する前記単語に関する確率分布表現を、前記読み出し制御ステップの制御で読み出し、重畳することにより前記文脈に関する確率分布表現を生成する生成ステップと、
前記生成ステップの処理で生成された前記文脈に関する確率分布表現を用いて、前記文脈より後に出現する単語を予測する予測ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004296473A JP2006107353A (ja) | 2004-10-08 | 2004-10-08 | 情報処理装置および方法、記録媒体、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004296473A JP2006107353A (ja) | 2004-10-08 | 2004-10-08 | 情報処理装置および方法、記録媒体、並びにプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008035867A Division JP4674609B2 (ja) | 2008-02-18 | 2008-02-18 | 情報処理装置および方法、プログラム、並びに記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006107353A true JP2006107353A (ja) | 2006-04-20 |
Family
ID=36376987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004296473A Pending JP2006107353A (ja) | 2004-10-08 | 2004-10-08 | 情報処理装置および方法、記録媒体、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006107353A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010055020A (ja) * | 2008-08-29 | 2010-03-11 | Yahoo Japan Corp | 複数言語モデルによる統合音声認識装置 |
JP2014521158A (ja) * | 2011-07-14 | 2014-08-25 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | テキスト入力方法、装置、およびシステム |
JP2017021523A (ja) * | 2015-07-09 | 2017-01-26 | 日本電信電話株式会社 | 用語意味コード判定装置、方法、及びプログラム |
JP2020057105A (ja) * | 2018-09-28 | 2020-04-09 | 株式会社リコー | 言語処理方法、言語処理プログラム及び言語処理装置 |
CN111524517A (zh) * | 2020-06-24 | 2020-08-11 | 深圳前海微众银行股份有限公司 | 语音识别方法、装置、设备及存储介质 |
JP2020149369A (ja) * | 2019-03-13 | 2020-09-17 | 株式会社東芝 | 対話制御システム、対話制御方法及びプログラム |
JP2022028897A (ja) * | 2020-12-25 | 2022-02-16 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 文章翻訳方法、装置、電子機器及び記憶媒体 |
-
2004
- 2004-10-08 JP JP2004296473A patent/JP2006107353A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010055020A (ja) * | 2008-08-29 | 2010-03-11 | Yahoo Japan Corp | 複数言語モデルによる統合音声認識装置 |
JP2014521158A (ja) * | 2011-07-14 | 2014-08-25 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | テキスト入力方法、装置、およびシステム |
JP2017021523A (ja) * | 2015-07-09 | 2017-01-26 | 日本電信電話株式会社 | 用語意味コード判定装置、方法、及びプログラム |
JP2020057105A (ja) * | 2018-09-28 | 2020-04-09 | 株式会社リコー | 言語処理方法、言語処理プログラム及び言語処理装置 |
JP7147439B2 (ja) | 2018-09-28 | 2022-10-05 | 株式会社リコー | 言語処理方法、言語処理プログラム及び言語処理装置 |
JP2020149369A (ja) * | 2019-03-13 | 2020-09-17 | 株式会社東芝 | 対話制御システム、対話制御方法及びプログラム |
JP7055764B2 (ja) | 2019-03-13 | 2022-04-18 | 株式会社東芝 | 対話制御システム、対話制御方法及びプログラム |
CN111524517A (zh) * | 2020-06-24 | 2020-08-11 | 深圳前海微众银行股份有限公司 | 语音识别方法、装置、设备及存储介质 |
CN111524517B (zh) * | 2020-06-24 | 2023-11-03 | 深圳前海微众银行股份有限公司 | 语音识别方法、装置、设备及存储介质 |
JP2022028897A (ja) * | 2020-12-25 | 2022-02-16 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 文章翻訳方法、装置、電子機器及び記憶媒体 |
JP7395553B2 (ja) | 2020-12-25 | 2023-12-11 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド | 文章翻訳方法、装置、電子機器及び記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kirchhoff et al. | Morphology-based language modeling for conversational Arabic speech recognition | |
Mangu et al. | Finding consensus in speech recognition: word error minimization and other applications of confusion networks | |
Karpov et al. | Large vocabulary Russian speech recognition using syntactico-statistical language modeling | |
JP5141695B2 (ja) | 記号挿入装置および記号挿入方法 | |
KR102375115B1 (ko) | 엔드-투-엔드 모델들에서 교차-언어 음성 인식을 위한 음소-기반 컨텍스트화 | |
JP2007256342A (ja) | クラスタリングシステム、クラスタリング方法、クラスタリングプログラムおよびクラスタリングシステムを用いた属性推定システム | |
Chien et al. | Joint acoustic and language modeling for speech recognition | |
Kurimo et al. | Modeling under-resourced languages for speech recognition | |
Moyal et al. | Phonetic search methods for large speech databases | |
Arısoy et al. | A unified language model for large vocabulary continuous speech recognition of Turkish | |
Naptali et al. | Topic-Dependent-Class-Based $ n $-Gram Language Model | |
Granell et al. | Multimodal crowdsourcing for transcribing handwritten documents | |
CN113327574A (zh) | 一种语音合成方法、装置、计算机设备和存储介质 | |
Mittal et al. | Development and analysis of Punjabi ASR system for mobile phones under different acoustic models | |
JP4820240B2 (ja) | 単語分類装置及び音声認識装置及び単語分類プログラム | |
Viacheslav et al. | System of methods of automated cognitive linguistic analysis of speech signals with noise | |
Liu et al. | Paraphrastic language models | |
JP2006107353A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
KR20130126570A (ko) | 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체 | |
JP4764203B2 (ja) | 音声認識装置及び音声認識プログラム | |
JP4674609B2 (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
JP5124012B2 (ja) | 音声認識装置及び音声認識プログラム | |
Smirnov et al. | A Russian keyword spotting system based on large vocabulary continuous speech recognition and linguistic knowledge | |
Kipyatkova et al. | Class-based LSTM Russian language model with linguistic information | |
JP4576977B2 (ja) | 情報処理装置および方法、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071004 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071203 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071218 |