(57)【要約】  コンフュージョンネットワークを機械学習の入力として用いることができるような表現に変換するための技術を提供する。コンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列からベクトルの系列であるコンフュージョンネットワーク分散表現系列を生成するコンフュージョンネットワーク分散表現系列生成部とを含み、コンフュージョンネットワーク分散表現系列生成部は、アーク単語集合に含まれるアーク単語を単語分散表現に変換することによりアーク単語分散表現集合を得、アーク単語分散表現集合系列を生成するアーク単語分散表現集合系列変換部と、アーク単語分散表現集合系列とアーク重み集合系列からコンフュージョンネットワーク分散表現系列を生成するアーク単語分散表現集合重み付け統合部とを含む。
2019044583.tif 000002
【特許請求の範囲】
【請求項１】
Tを1以上の整数とし、
Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合（ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語）、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合（ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み）とし、
前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成部と
を含むコンフュージョンネットワーク分散表現生成装置であって、
前記コンフュージョンネットワーク分散表現系列生成部は、
前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換部と、
前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合部と
を含むコンフュージョンネットワーク分散表現生成装置。
【請求項２】
請求項１に記載のコンフュージョンネットワーク分散表現生成装置であって、
さらに、単語系列w1, w2, …, wTから、次式によりコンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTを生成するテキスト変換部を含む
【数１０】
2019044583.tif 000012
ことを特徴とするコンフュージョンネットワーク分散表現生成装置。
【請求項３】
Tを1以上の整数とし、
Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合（ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語）、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合（ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み）とし、
前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成部と
前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTから、前記コンフュージョンネットワークのクラスを示すクラスラベルを推定するクラスラベル推定部と
を含むコンフュージョンネットワーク分類装置であって、
前記コンフュージョンネットワーク分散表現系列生成部は、
前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換部と、
前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合部と
を含むコンフュージョンネットワーク分類装置。
【請求項４】
請求項３に記載のコンフュージョンネットワーク分類装置であって、
前記コンフュージョンネットワーク分散表現系列生成部と前記クラスラベル推定部は、ニューラルネットワークとして構成され、
前記コンフュージョンネットワーク分散表現系列生成部を構成するニューラルネットワークのパラメータと前記クラスラベル推定部を構成するニューラルネットワークのパラメータは、２つのニューラルネットワークを結合して得られる１つのニューラルネットワークとして学習したものである
ことを特徴とするコンフュージョンネットワーク分類装置。
【請求項５】
Tを1以上の整数とし、
Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合（ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語）、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合（ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み）とし、
コンフュージョンネットワーク分散表現生成装置が、前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成ステップと
を含むコンフュージョンネットワーク分散表現生成方法であって、
前記コンフュージョンネットワーク分散表現系列生成ステップは、
前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換ステップと、
前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合ステップと
を含むコンフュージョンネットワーク分散表現生成方法。
【請求項６】
Tを1以上の整数とし、
Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合（ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語）、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合（ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み）とし、
コンフュージョンネットワーク分類装置が、前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成ステップと
前記コンフュージョンネットワーク分類装置が、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTから、前記コンフュージョンネットワークのクラスを示すクラスラベルを推定するクラスラベル推定ステップと
を含むコンフュージョンネットワーク分類方法であって、
前記コンフュージョンネットワーク分散表現系列生成ステップは、
前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換ステップと、
前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合ステップと
を含むコンフュージョンネットワーク分類方法。
【請求項７】
請求項１もしくは２に記載のコンフュージョンネットワーク分散表現生成装置または請求項３もしくは４に記載のコンフュージョンネットワーク分類装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンフュージョンネットワークの分散表現を生成する技術に関する。
【背景技術】
【０００２】
音声対話システムにおいては、ユーザの音声について音声認識した結果から発話意図や発話行為を推定し、その推定結果に基づいてシステムのアクションを決定することが一般的である。この発話意図や発話行為の推定は、単語系列であるテキストをあるクラスに分類するクラス分類器を構成することにより実現されている。例えば、発話行為の推定であれば、「ジュースはこちらに売っていますか？」というテキストが入力となり、「質問」というラベルを推定する問題である。このクラス分類器の性能が円滑な音声対話ができるかどうかに大きく関わってくる。【０００３】
このようなクラス分類器を構成するための主な方法として、分類先となるラベル（以下、クラスラベルという）と組になったテキスト（単語系列）を準備して、機械学習によりクラス分類器を構成する方法がある。前述の問題を扱う場合は、各テキスト（単語系列）に１つのクラスラベルが付いた学習用データを大量に準備しておくことで、クラス分類器を学習することが可能となる。例えば、100000テキストそれぞれにクラスラベルが付いた学習用データを準備することにより、クラス分類器を学習することができる。【０００４】
このクラス分類器を精緻に学習する方法として、深層学習技術が有用である。深層学習を用いる方法は、いくつか提案されているが、代表的な方法として、Recurrent Neural Network(RNN)を用いる方法（非特許文献１）やConvolutional Neural Network(CNN)を用いる方法（非特許文献２）がある。【０００５】
RNNを用いたクラス分類器もCNNを用いたクラス分類器も大枠は同じである。つまり、入力となるテキスト（単語系列）の各単語を単語分散表現と呼ばれる単語ベクトルに変換し、その単語ベクトルの系列である単語分散表現系列をRNNまたはCNNを用いて固定長の実数値ベクトルに変換し、その実数値ベクトルを識別関数に入力することにより、クラス分類器が実現できる。【０００６】
より詳しく説明すると、以下のようになる。w1, w2, …, wTを入力テキストの単語系列とし、クラス分類器は、以下のような処理を実行することで、クラスラベルを推定する。【０００７】
【数１】
2019044583.tif 000003
【０００８】
ここで、ωt(1≦t≦T)は、単語wtの単語分散表現（単語ベクトル）である。hは、単語分散表現系列ω1, ω2, …, ωTを変換した固定長の実数値ベクトルである。Pは、各クラスに対応した事後確率を表す確率分布である。【０００９】
EMBEDDING(・)は、単語を所定の次元の単語ベクトルに変換する関数である。EMBEDDING(・)は、例えば線形変換の関数として表される。なお、EMBEDDING(・)は線形変換に限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。【００１０】
NN(・)は、実数値ベクトル系列を固定長の実数値ベクトルに変換する関数である。NN(・)として、例えばRNNやCNNを用いることができる。なお、NN(・)はRNNやCNNに限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。【００１１】
DISCRIMINATE(・)は、固定長のベクトルから各クラスに対応した事後確率を計算するための関数である。DISCRIMINATE(・)として、例えばsoftmax関数を用いることができる。【００１２】
クラスラベルの推定時は、確率分布Pにおける最大の確率を持つクラスを入力テキストのクラスラベルとして推定する。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】Suman Ravuri, Andreas Stolcke,“Recurrent Neural Network and LSTM Models for Lexical Utterance Classification”, In Proc. INTERSPEECH 2015, pp.135-139, 2015.
【非特許文献２】Yoon Kim,“Convolutional Neural Networks for Sentence Classification”, In Proc. EMNLP 2014, pp.1746-1751, 2014.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上記RNNやCNNを用いたクラス分類器の学習では、音声認識誤りを含まない発話テキスト（つまり、音声認識率が１００％である発話テキスト）とクラスラベルの組を用いることが一般的である。しかし、音声認識誤りを含まない発話テキストを用いて学習を行うと、実際に音声対話システムを現場で利用する場合に、音声認識誤りの影響を大きく受ける。すなわち、学習用データに含まれていなかった音声認識誤りを含む発話テキストに対するクラスラベルの推定精度が著しく低下するという問題が生じる。これはクラス分類器学習時とクラスラベル推定時の入力データのミスマッチに起因するものである。【００１５】
そこで、音声認識器により生成された音声認識誤りを含む発話テキストとクラスラベルの組を用いて学習を行う場合もある。しかし、音声認識誤りを含む発話テキストを用いて学習を行うと、学習時と推定時の入力データのミスマッチはなくなるものの、誤りを含む発話テキストから学習を行うため、クラス分類器そのものの性能が低くなるという問題が生じる。【００１６】
上記２つの問題は、音声認識結果を表す発話テキストのみを用いていることに起因する。そこで、音声認識結果を含む、音声認識時に生成される様々な情報（音声認識時の仮説空間）を用いることが考えられる。このような様々な情報を扱う方法としてコンフュージョンネットワークがある（参考非特許文献１）。
（参考非特許文献１：Lidia Mangu, Eric Brill, Andreas Stolcke,“Finding consensus in speech recognition: word error minimization and other applications of confusion networks”, Computer Speech and Language, vol.14, pp.373-400, 2000.）【００１７】
しかし、このコンフュージョンネットワークを用いてクラス分類器を学習することができるようにするためには、学習の入力として用いることができるようにコンフュージョンネットワークを表現することが必要となるが、これまでこの目的に適したコンフュージョンネットワークの表現方法が存在しなかった。【００１８】
そこで本発明では、コンフュージョンネットワークを機械学習の入力として用いることができるような表現に変換するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の一態様は、Tを1以上の整数とし、Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合（ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語）、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合（ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み）とし、前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成部とを含み、前記コンフュージョンネットワーク分散表現系列生成部は、前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換部と、前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2, …, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合部とを含む。
【発明の効果】
【００２０】
本発明によれば、コンフュージョンネットワークをベクトルの系列であるコンフュージョンネットワーク分散表現系列として表現することにより、コンフュージョンネットワークを機械学習の入力として用いることが可能となる。
【図面の簡単な説明】
【００２１】
【図１】コンフュージョンネットワーク、アーク単語集合系列、アーク重み集合系列の関係の一例を示す図である。
【図２】コンフュージョンネットワーク分類装置１００の構成の一例を示す図である。
【図３】コンフュージョンネットワーク分類装置１００の動作の一例を示す図である。
【図４】コンフュージョンネットワーク分散表現系列生成部１１０の構成の一例を示す図である。
【図５】コンフュージョンネットワーク分散表現系列生成部１１０の動作の一例を示す図である。
【図６】コンフュージョンネットワーク分散表現生成装置２００の構成の一例を示す図である。
【図７】コンフュージョンネットワーク分散表現生成装置２００の動作の一例を示す図である。
【図８】コンフュージョンネットワーク類似度計算装置３００の構成の一例を示す図である。
【図９】コンフュージョンネットワーク類似度計算装置３００の動作の一例を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００２３】
実施形態の説明に先立って、この明細書における表記方法について説明する。
【００２４】
_（アンダースコア）は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
【００２５】
次に、コンフュージョンネットワークについて説明する。コンフュージョンネットワークとは、音声認識時の仮説空間を効率的に表現する構造であり、ノードとアークからなるグラフとして表される構造である（図１参照）。
【００２６】
音声認識時に得られるコンフュージョンネットワークの各アークは、単語（以下、アーク単語という）に対応し、それぞれの単語が正解である確率（以下、アーク重みという）を持つ。図１のコンフュージョンネットワークは、１７個のアーク単語w11, w12, w13, w21, …, w52を含み、アーク単語wtnが正解である確率であるアーク重みはctnとなっている。なお、任意のtについて、Σnctn=1となる。
【００２７】
重要な点としては、（始端時間に対応する）始端ノードと（終端時間に対応する）終端ノードが同一となる単語（以下、このような単語の集合をアーク単語集合という）を同一のノード間にアークとして位置させることにより、アーク単語集合系列とアーク重み集合系列（アーク単語集合に対応するアーク重み集合の系列）の組であるコンフュージョンネットワークとして音声認識時の仮説空間を表現することが可能であることが挙げられる。図１の例では、アーク単語集合W1=(w11, w12, w13)に対応するアーク重み集合はC1=(c11,c12, c13)であり、アーク単語集合系列W1, W2, W3, W4, W5とアーク重み集合系列C1, C2, C3, C4, C5の組がコンフュージョンネットワークを表す。
【００２８】
なお、コンフュージョンネットワークの詳細は、参考非特許文献１を参照にされたい。
【００２９】
＜第１実施形態＞
以下、図２〜図３を参照してコンフュージョンネットワーク分類装置１００について説明する。図２は、コンフュージョンネットワーク分類装置１００の構成を示すブロック図である。図３は、コンフュージョンネットワーク分類装置１００の動作を示すフローチャートである。図２に示すように、コンフュージョンネットワーク分類装置１００は、コンフュージョンネットワーク分散表現系列生成部１１０、クラスラベル推定部１２０、記録部１９０を含む。記録部１９０は、コンフュージョンネットワーク分類装置１００の処理に必要な情報を適宜記録する構成部である。
【００３０】
コンフュージョンネットワーク分類装置１００は、コンフュージョンネットワークを入力とする。コンフュージョンネットワークは、アーク単語集合系列とアーク重み集合系列の２つで表現される。
【００３１】
図３に従いコンフュージョンネットワーク分類装置１００の動作について説明する。コンフュージョンネットワーク分散表現系列生成部１１０は、コンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列から、ベクトルの系列であるコンフュージョンネットワーク分散表現系列を生成する（Ｓ１１０）。以下、コンフュージョンネットワーク分散表現系列生成部１１０について、詳細に説明する。
【００３２】
［コンフュージョンネットワーク分散表現系列生成部１１０］
入力：コンフュージョンネットワーク（アーク単語集合系列、アーク重み集合系列）
出力：コンフュージョンネットワーク分散表現系列
コンフュージョンネットワーク分散表現系列生成部１１０は、アーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成する（Ｓ１１０）。ただし、Tは1以上の整数である。なお、アーク単語系列集合系列の長さとアーク重み集合系列の長さはいずれもTであり、２つの系列の長さは同一となる。
【００３３】
コンフュージョンネットワークを構成するt番目のアーク単語集合Wt(1≦t≦T)は、
【００３４】
【数２】
2019044583.tif 000004
【００３５】
と表される。ここで、wtnはアーク単語集合Wtに含まれるn種類目のアーク単語を表す(1≦n≦Nt、Ntは1以上の整数)。Ntはアーク単語集合Wtに含まれるアーク単語種類数であり、tにより異なる値となる。
【００３６】
同様に、コンフュージョンネットワークを構成するt番目のアーク重み集合Ct(1≦t≦T)は、
【００３７】
【数３】
2019044583.tif 000005
【００３８】
と表される。ここで、ctnはアーク重み集合Ctに含まれるn種類目のアーク重みを表す(1≦n≦Nt)。なお、
【００３９】
【数４】
2019044583.tif 000006
【００４０】
である。また、アーク重みctnとアーク単語wtnは対応がとれているものとする。すなわち、アーク重みctnはアーク単語wtnが正解である確率を表す。
【００４１】
以下、図４〜図５を参照してコンフュージョンネットワーク分散表現系列生成部１１０について説明する。図４は、コンフュージョンネットワーク分散表現系列生成部１１０の構成を示すブロック図である。図５は、コンフュージョンネットワーク分散表現系列生成部１１０の動作を示すフローチャートである。図４に示すように、コンフュージョンネットワーク分散表現系列生成部１１０は、アーク単語分散表現集合系列変換部１１２、アーク単語分散表現集合重み付け統合部１１４を含む。
【００４２】
［アーク単語分散表現集合系列変換部１１２］
入力：アーク単語集合系列
出力：アーク単語分散表現集合系列
アーク単語分散表現集合系列変換部１１２は、アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成する（Ｓ１１２）。t番目のアーク単語集合Wt(1≦t≦T)の各アーク単語wtn(1≦n≦Nt)に対して、次式によりシンボルであるアーク単語wtnをベクトルである単語分散表現ωtnに変換する。
【００４３】
【数５】
2019044583.tif 000007
【００４４】
EMBEDDING(・)は、単語を所定の次元の単語ベクトルに変換する関数である。EMBEDDING(・)は、例えば線形変換の関数として表される。なお、EMBEDDING(・)は線形変換に限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。例えば、単語を単語分散表現に変換するための変換行列を用いることができる。変換行列は各単語に対して対応するベクトルが準備されている辞書（コードブックテーブル）であり、ベクトルの次元数やその値はこの辞書を生成するときに決まる。また、別の例として、自然言語処理で用いられる単語ベクトルや概念ベクトルを計算する関数などがある。単語ベクトルは単語の共起頻度を利用して得られるベクトルであり、概念ベクトルは単語ベクトルを圧縮して得られるベクトルである。
【００４５】
［アーク単語分散表現集合重み付け統合部１１４］
入力：アーク単語分散表現集合系列、アーク重み集合系列
出力：コンフュージョンネットワーク分散表現系列
アーク単語分散表現集合重み付け統合部１１４は、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTとアーク重み集合系列C1, C2, …, CTから、コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成する（Ｓ１１４）。アーク単語分散表現集合重み付け統合部１１４は、各t(1≦t≦T)について、アーク単語分散表現集合Ωtとアーク重み集合Ctからコンフュージョンネットワーク分散表現Utを生成する。具体的には、次式により単語分散表現ωtn(1≦n≦Nt)を重み付けで統合することにより、コンフュージョンネットワーク分散表現Utを生成する。
【００４６】
【数６】
2019044583.tif 000008
【００４７】
この統合処理をすべてのt(1≦t≦T)について行うことにより、コンフュージョンネットワーク分散表現系列U1, U2, …, UTが得られる。
【００４８】
次に、クラスラベル推定部１２０は、Ｓ１１０で生成したコンフュージョンネットワーク分散表現系列から、コンフュージョンネットワークのクラスを示すクラスラベルを推定する（Ｓ１２０）。以下、クラスラベル推定部１２０について、詳細に説明する。
【００４９】
［クラスラベル推定部１２０］
入力：コンフュージョンネットワーク分散表現系列
出力：クラスラベル
クラスラベル推定部１２０は、コンフュージョンネットワーク分散表現系列U1, U2, …, UTから、クラスラベルLを推定する（Ｓ１２０）。コンフュージョンネットワーク分散表現系列U1, U2, …, UTに対して、以下のような処理を実行することにより、クラスラベルLを推定する。
【００５０】
【数７】
2019044583.tif 000009
【００５１】
ここで、hはコンフュージョンネットワーク分散表現系列U1, U2, …, UTを変換した固定長の実数値ベクトルであり、コンフュージョンネットワーク分散表現系列U1, U2, …, UTの特徴量を表すものである。この実数値ベクトルhはクラスラベルを推定する際の素性として用いられる。なお、実数値ベクトルhの次元は予め定められているものとする。また、Pは分類先となる各クラスに対応した事後確率を表す確率分布である。
【００５２】
NN(・)は、実数値ベクトル系列を固定長の実数値ベクトルに変換する関数である。NN(・)として、例えばRNNやCNNを用いることができる。なお、NN(・)はRNNやCNNに限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。RNNやCNNなどのニューラルネットワーク以外の機械学習、例えば、SVM(Support Vector Machine)、ランダムフォレストなどを用いて実現してもよい。
【００５３】
DISCRIMINATE(・)は、固定長のベクトルから各クラスに対応した事後確率を計算するための関数である。DISCRIMINATE(・)として、例えばsoftmax関数を用いることができる。
【００５４】
出力となるクラスラベルLは、確率分布Pにおける最大の確率を持つクラスに対応したラベルである。
【００５５】
なお、コンフュージョンネットワーク分類装置１００からクラスラベル推定部１２０を省力することにより、コンフュージョンネットワーク分散表現生成装置１０１（図示せず）を構成することができる。つまり、コンフュージョンネットワーク分散表現生成装置１０１は、コンフュージョンネットワーク分散表現系列生成部１１０、記録部１９０を含み、コンフュージョンネットワークを入力とし、コンフュージョンネットワーク分散表現系列を生成する。
【００５６】
（コンフュージョンネットワーク分散表現系列生成部１１０及びクラスラベル推定部１２０の構成方法）
先述の通り、クラスラベル推定部１２０の機能の一部であるNN(・)は、ニューラルネットワークとして構成することができるが、クラスラベル推定部１２０そのものもニューラルネットワークとして構成することができる。つまり、クラスラベル推定部１２０は、コンフュージョンネットワーク分散表現系列を入力とし、クラスラベルを出力する（例えば、RNNやCNNのような）ニューラルネットワークとして構成することができる。
【００５７】
同様に、コンフュージョンネットワーク分散表現系列生成部１１０も、コンフュージョンネットワークを入力とし、コンフュージョンネットワーク分散表現系列を出力する（例えば、RNNやCNNのような）ニューラルネットワークとして構成することができる。
【００５８】
さらに、コンフュージョンネットワーク分散表現系列生成部１１０を構成するニューラルネットワークの出力がクラスラベル推定部１２０を構成するニューラルネットワークの入力となるように結合することにより、コンフュージョンネットワーク分散表現系列生成部１１０の機能とクラスラベル推定部１２０の機能を併せ持つ１つのニューラルネットワークを構成することもできる。この場合、コンフュージョンネットワーク分散表現系列生成部１１０を構成するニューラルネットワークのパラメータと、クラスラベル推定部１２０を構成するニューラルネットワークのパラメータを同時に学習することが可能となり、２つのニューラルネットワークのパラメータが全体として最適化される形で学習がなされる。
【００５９】
もちろん、コンフュージョンネットワーク分散表現系列生成部１１０を構成するニューラルネットワークのパラメータと、クラスラベル推定部１２０を構成するニューラルネットワークのパラメータを個別に学習することより、独立に最適化するように学習してもよい。
【００６０】
なお、コンフュージョンネットワーク分散表現系列生成部１１０やクラスラベル推定部１２０は、必ずしもニューラルネットワークとして構成する必要はなく、他の機械学習により構成してもよい。例えば、クラスラベル推定部１２０をSVMやランダムフォレストにより構成してもよい。さらには、コンフュージョンネットワーク分散表現系列生成部１１０やクラスラベル推定部１２０を機械学習以外の方法により構成してもよい。
【００６１】
本発明によれば、コンフュージョンネットワークをベクトルの系列であるコンフュージョンネットワーク分散表現系列として表現することにより、コンフュージョンネットワークを機械学習の入力として用いることが可能となる。
【００６２】
また、コンフュージョンネットワーク分散表現系列を用いてクラス分類器を構成できるようになることから、例えば、音声認識結果のように一つの単語列のみを用いてクラス分類器を構成する場合よりも、より性能がよいクラス分類器を構成できるようになる。これは、コンフュージョンネットワークが、音声認識結果を含む、音声認識の仮説空間の様々な情報が含んでいることによる。つまり、コンフュージョンネットワークには音声認識結果の複数候補と各候補が正解である確率の情報が含まれるため、認識誤りであるか否か（あるいは、どのくらいの精度で正解らしいのか）を踏まえたうえでクラス分類器を学習することができ、結果学習されたクラス分類器の性能は高くなる。
【００６３】
（適用例）
ここまで、音声認識の過程で得られるコンフュージョンネットワークを用いてクラス分類器を学習し、当該クラス分類器を用いてコンフュージョンネットワーク分類装置を構成することを念頭に説明してきた。１段目の推定器に相当する音声認識器と２段目の推定器に相当するクラス分類器の組合せのように、１段目の推定過程においてコンフュージョンネットワークが生成される場合は、同様の枠組みで２段目の推定器を学習することができる。１段目の推定器と２段目の推定器の組合せとして、例えば、テキスト基本解析器とクラス分類器、音声認識器とテキスト検索器、テキスト基本解析器とテキスト検索器のような組み合わせも可能である。
【００６４】
＜第２実施形態＞
第１実施形態で説明したコンフュージョンネットワーク分散表現生成装置１０１では、コンフュージョンネットワークを入力としたが、単語系列であるテキストを入力としてもよい。そこで、ここでは、単語系列であるテキストを入力とし、コンフュージョンネットワーク分散表現系列を生成するコンフュージョンネットワーク分散表現生成装置２００について説明する。
【００６５】
以下、図６〜図７を参照してコンフュージョンネットワーク分散表現生成装置２００について説明する。図６は、コンフュージョンネットワーク分散表現生成装置２００の構成を示すブロック図である。図７は、コンフュージョンネットワーク分散表現生成装置２００の動作を示すフローチャートである。図６に示すように、コンフュージョンネットワーク分散表現生成装置２００は、テキスト変換部２１０、コンフュージョンネットワーク分散表現系列生成部１１０、記録部１９０を含む。記録部１９０は、コンフュージョンネットワーク分散表現生成装置２００の処理に必要な情報を適宜記録する構成部である。
【００６６】
コンフュージョンネットワーク分散表現生成装置２００は、テキスト（単語系列）を入力とする。
【００６７】
図７に従いコンフュージョンネットワーク分散表現生成装置２００の動作について説明する。テキスト変換部２１０は、単語系列から、当該単語系列を表現するコンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列を生成する（Ｓ２１０）。以下、テキスト変換部２１０について、詳細に説明する。
【００６８】
［テキスト変換部２１０］
入力：テキスト（単語系列）
出力：コンフュージョンネットワーク（アーク単語集合系列、アーク重み集合系列）
テキスト変換部２１０は、単語系列w1, w2, …, wTから、当該単語系列を表現するコンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTを生成する（Ｓ２１０）。ここで、単語系列w1, w2, …, wTは、例えば、形態素解析を用いて入力テキストを分割することにより得ることができる。アーク単語集合Wtは次式により生成される。
【００６９】
【数８】
2019044583.tif 000010
【００７０】
つまり、アーク単語集合Wt(1≦t≦T)は、1つの単語wtをアーク単語として含む集合となる。また、アーク重み集合Ctは次式により生成される。
【００７１】
【数９】
2019044583.tif 000011
【００７２】
つまり、アーク重み集合Ct(1≦t≦T)は、単語wtに対応するアーク重み1のみを含む集合となる。これにより、単語系列w1, w2, …, wTに対応するアーク単語集合系列W1, W2, …, WT、アーク重み集合系列C1, C2, …, CTが得られる。
【００７３】
次に、コンフュージョンネットワーク分散表現系列生成部１１０は、コンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列から、ベクトルの系列であるコンフュージョンネットワーク分散表現系列を生成する（Ｓ１１０）。
【００７４】
本発明によれば、テキストからコンフュージョンネットワーク分散表現系列を生成することが可能となる。ここで、入力となるテキストは音声認識結果に限らない。したがって、音声認識誤りを含む音声認識結果に対応するコンフュージョンネットワーク、音声認識誤りを含まない音声認識結果に対応するコンフュージョンネットワーク、一般のテキストから生成されるコンフュージョンネットワークのすべてを用いてクラス分類器を学習することが可能となる。また、音声認識結果を分類するクラス分類器のための学習データだけでなく、自然言語処理におけるテキスト分類のために作成された学習データを利用してクラス分類器を学習することが可能となる。
【００７５】
＜第３実施形態＞
第３実施形態では、コンフュージョンネットワーク分散表現系列を用いて、コンフュージョンネットワーク間の類似度を計算する方法について説明する。
【００７６】
以下、図８〜図９を参照してコンフュージョンネットワーク類似度計算装置３００について説明する。図８は、コンフュージョンネットワーク類似度計算装置３００の構成を示すブロック図である。図９は、コンフュージョンネットワーク類似度計算装置３００の動作を示すフローチャートである。図８に示すように、コンフュージョンネットワーク類似度計算装置３００は、コンフュージョンネットワーク分散表現系列生成部１１０、類似度計算部３１０、記録部１９０を含む。記録部１９０は、コンフュージョンネットワーク類似度計算装置３００の処理に必要な情報を適宜記録する構成部である。
【００７７】
コンフュージョンネットワーク類似度計算装置３００は、２つのコンフュージョンネットワーク（第１コンフュージョンネットワークと第２コンフュージョンネットワーク）を入力とする。入力となる各コンフュージョンネットワークは、例えば、音声認識時に得られるものであってもよいし、テキストをテキスト変換部２１０と同様の処理により変換して得られるものであってもよい。
【００７８】
図９に従いコンフュージョンネットワーク類似度計算装置３００の動作について説明する。コンフュージョンネットワーク分散表現系列生成部１１０は、第１コンフュージョンネットワークから第１コンフュージョンネットワーク分散表現系列を生成し、第２コンフュージョンネットワークから第２コンフュージョンネットワーク分散表現系列を生成する（Ｓ１１０）。
【００７９】
類似度計算部３１０は、第１コンフュージョンネットワーク分散表現系列と第２コンフュージョンネットワーク分散表現系列から、第１コンフュージョンネットワークと第２コンフュージョンネットワークの類似度を計算する（Ｓ３１０）。第１コンフュージョンネットワーク分散表現系列と第２コンフュージョンネットワーク分散表現系列はいずれもベクトルの系列であるので、例えば、第１コンフュージョンネットワーク分散表現系列のベクトル和と第２コンフュージョンネットワーク分散表現系列のベクトル和を計算し、それらのベクトルの類似度を計算する。また、ベクトルの類似度として、例えば、コサイン類似度を用いることができる。
【００８０】
本発明によれば、２つのコンフュージョンネットワークの類似の程度を数値として表すことが可能となる。
【００８１】
このような構成を音声検索システムや音声対話システムに組み込み、音声を入力としてテキストのデータベースを検索する処理に用いることにより、入力音声の認識誤りがテキストのデータベースの検索に与える影響を低減することができる。具体的には、入力音声に対応する第１コンフュージョンネットワークと検索結果であるテキストに対応する第２コンフュージョンネットワークの類似度を計算し、類似度が所定の値より小さくなる場合、入力音声の認識結果に誤りがあるとして、再度音声入力を促すようにする。
【００８２】
また、音声を入力としてテキストのデータベースを検索する処理に上述したコンフュージョンネットワークの分散表現とコンフュージョンネットワーク間の類似度計算の枠組みを適用することにより、入力音声の認識誤りがテキストのデータベースの検索に与える影響を低減することができる。具体的には、テキストのデータベース中の各テキストを予め第２コンフュージョンネットワーク分散表現系列に変換しておき、入力音声に対応する第１コンフュージョンネットワーク分散表現系列とデータベース中の各テキストに対応する第２コンフュージョンネットワーク分散表現系列を用いて類似度を計算し、類似度が最も高いテキストを検索結果として返すようにする。
【００８３】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００８４】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００８５】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【００８６】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００８７】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００８８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００８９】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００９０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【００９２】
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。
【図１】
2019044583.tif 000013
【図２】
2019044583.tif 000014
【図３】
2019044583.tif 000015
【図４】
2019044583.tif 000016
【図５】
2019044583.tif 000017
【図６】
2019044583.tif 000018
【図７】
2019044583.tif 000019
【図８】
2019044583.tif 000020
【図９】
2019044583.tif 000021
【手続補正書】
【提出日】令和2年3月3日(2020.3.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
［コンフュージョンネットワーク分散表現系列生成部１１０］
入力：コンフュージョンネットワーク（アーク単語集合系列、アーク重み集合系列）
出力：コンフュージョンネットワーク分散表現系列
コンフュージョンネットワーク分散表現系列生成部１１０は、アーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成する（Ｓ１１０）。ただし、Tは1以上の整数である。なお、アーク単語集合系列の長さとアーク重み集合系列の長さはいずれもTであり、２つの系列の長さは同一となる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
なお、コンフュージョンネットワーク分類装置１００からクラスラベル推定部１２０を省略することにより、コンフュージョンネットワーク分散表現生成装置１０１（図示せず）を構成することができる。つまり、コンフュージョンネットワーク分散表現生成装置１０１は、コンフュージョンネットワーク分散表現系列生成部１１０、記録部１９０を含み、コンフュージョンネットワークを入力とし、コンフュージョンネットワーク分散表現系列を生成する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成部）を実現する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【国際調査報告】
2019044583.tif 000022
2019044583.tif 000023
2019044583.tif 000024
2019044583.tif 000025