JP6078435B2 - 記号列変換方法、音声認識方法、それらの装置及びプログラム - Google Patents

記号列変換方法、音声認識方法、それらの装置及びプログラム Download PDF

Info

Publication number
JP6078435B2
JP6078435B2 JP2013170114A JP2013170114A JP6078435B2 JP 6078435 B2 JP6078435 B2 JP 6078435B2 JP 2013170114 A JP2013170114 A JP 2013170114A JP 2013170114 A JP2013170114 A JP 2013170114A JP 6078435 B2 JP6078435 B2 JP 6078435B2
Authority
JP
Japan
Prior art keywords
symbol string
hypothesis
state
probability
symbol
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.)
Active
Application number
JP2013170114A
Other languages
English (en)
Other versions
JP2015040864A (ja
Inventor
堀 貴明
貴明 堀
山口 義和
義和 山口
中村 篤
篤 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013170114A priority Critical patent/JP6078435B2/ja
Publication of JP2015040864A publication Critical patent/JP2015040864A/ja
Application granted granted Critical
Publication of JP6078435B2 publication Critical patent/JP6078435B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Description

本発明は、記号列を変換するための記号列変換規則を表す重み付き有限状態変換器(Weighted Finite-State Transducer、以下「WFST」ともいう)を参照しながら、ある入力記号列が与えられたときに、そのWFSTの様々な状態遷移過程の中から、累積重みが最小または最大となる状態遷移過程を探索し、その状態遷移過程の出力記号列を変換結果として出力する記号列変換技術、並びに、入力記号列が音声信号を表す特徴量ベクトルの系列であり、出力記号列が単語列であるような音声認識技術に関する。
WFSTとは、ある記号列を別の記号列に変換するための規則を、状態と状態遷移の図に表現する方式を言う。
従来、音声認識において、入力音声の音響パターンを表す記号列(特徴量ベクトルの系列)を入力とし、その音響パターンに対応する単語列を出力とするWFSTに、バックオフNグラムモデルで表される言語モデルのWFSTを合成して、記号列変換を行うことで、音響的にも言語的にも妥当な単語列(音声認識結果)を求める方法が知られている(非特許文献1及び特許文献1参照)。
なお、言語モデルとしてのNグラムモデルとは、単語の連接のしやすさをN−1重のマルコフ過程で表すモデルであり、登録単語数を|V|とすると|V|N個の確率値を持つ。WFSTで表せば|V|N個の状態遷移が必要となる。そのようなWFSTは非現実的であるため、WFSTによる音声認識においてはバックオフNグラムモデルを用いる。バックオフNグラムモデルとは、Nグラムモデルの一種であって、Nグラム確率が学習データの不足等により精度よく推定できない場合に、より精度よく推定されたN-1グラム確率等を用いるモデルである。例えば、Nグラム確率が0になってしまう場合はN-1グラム確率、N-1グラム確率が0になってしまう場合はN-2グラム確率、というようにバックオフ(後退)する。
特開2005-257910号公報
堀,塚田,「重み付き有限状態トランスデューサによる音声認識」, 情報処理学会誌 Vol. 45, No.10, Oct. 2004.
非特許文献1や特許文献1では、WFSTによる記号列変換にバックオフNグラムを用いる場合は、バックオフNグラムモデルを予めWFSTに変換しておく必要がある。そして、そのWFSTを用いて、任意の入力記号列を効率的に変換する。しかし、バックオフNグラムモデルに何らかの修正を施すと、その都度、WFSTに変換し直す必要がある。そのため、バックオフNグラムモデルを予めWFSTに変換するために一定の処理時間が発生する。例えば、音声認識において、特定の話題の単語がよく認識できるように言語モデルのNグラム確率を調整する場合がある。この場合、調整が一部の確率の修正であっても、音声認識を実行する前にその言語モデル全体をWFSTに変換し直さなければならない。これは、音声認識などを実際に利用する際に、即時性を損なう結果となる。
また、言語モデルの確率値を動的に変更したい場合がある。例えば、音声認識を利用する際に、ある特定の話題に関連した単語が話されやすいことが分かった時点で、即座にその情報を音声認識システムに反映したい場合である。
このような動的な言語モデルを用いる場合、確率値が変更されるたびにWFSTの重みに反映する計算コストは大きい。また、WFSTの重みに反映する場合は変更された確率だけでなく、バックオフ係数も改めて計算し直す必要がある。音声認識では、数百万から数千万のNグラム確率を持つ言語モデルを利用するため、この計算は非常に大きく、言語モデルを動的に更新しても、すぐには音声認識を始められないという問題がある。
そして、NグラムモデルおよびバックオフNグラムモデルを瞬時にWFSTに変換して記号列変換に利用する方法は知られていない。
本発明は、NグラムモデルおよびバックオフNグラムモデルを従来技術よりも早くWFSTに変換して記号列変換に利用する方法を提供することを目的とする。
上記の課題を解決するために、本発明の第一の態様によれば、記号列変換方法入力記号列を出力記号列に変換する。記号列変換方法は、入力記号列の先頭から順に1つずつ記号を取得する記号列取得ステップと、記号列取得ステップで取得した記号と現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている記号列モデル格納部を参照して、現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得ステップと、状態遷移集合取得ステップで取得した遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説展開ステップと、仮説展開ステップで更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、記号列取得ステップにおいて入力記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から累積重みが最大または最小となる仮説を出力記号列として求める仮説絞り込みステップと、を含む。
上記の課題を解決するために、本発明の他の態様によれば、音声認識方法は、音声から得られる音響特徴記号列を音声認識結果に変換する。音声認識方法は、音響特徴記号列の先頭から順に1つずつ記号を取得する記号列取得ステップと、音響モデルによって計算される音響特徴記号のスコアを、重みとして用いる単語辞書WFSTを参照して、現在の仮説の集合の各々に新しい状態遷移を追加する仮説展開ステップと、仮説展開ステップで状態遷移を追加された仮説の集合の各々の状態遷移過程から出力される記号列と、現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている言語モデル格納部を参照して、現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得ステップと、状態遷移集合取得ステップで取得した遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説補正ステップと、仮説展開ステップで更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、記号列取得ステップにおいて入力記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から累積重みが最大または最小となる仮説を音声認識結果として求める仮説絞り込みステップと、を含む。
上記の課題を解決するために、本発明の他の態様によれば、記号列変換装置は、入力記号列を出力記号列に変換する。記号列変換装置は、入力記号列の先頭から順に1つずつ記号を取得する記号列取得部と、記号列取得部で取得した記号と現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている記号列モデル格納部を参照して、現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得部と、状態遷移集合取得部で取得した遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説展開部と、仮説展開部で更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、記号列取得部において入力記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から累積重みが最大または最小となる仮説を出力記号列として求める仮説絞り込み部と、を含む。
上記の課題を解決するために、本発明の他の態様によれば、音声認識装置は、音声から得られる音響特徴記号列を音声認識結果に変換する。音声認識装置は、音響特徴記号列の先頭から順に1つずつ記号を取得する記号列取得部と、音響モデルによって計算される音響特徴記号のスコアを、重みとして用いる単語辞書WFSTを参照して、現在の仮説の集合の各々に新しい状態遷移を追加する仮説展開部と、仮説展開部で状態遷移を追加された仮説の集合の各々の状態遷移過程から出力される記号列と、現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている言語モデル格納部を参照して、現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得部と、状態遷移集合取得部で取得した遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説補正部と、仮説展開部で更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、記号列取得部において入力記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から累積重みが最大または最小となる仮説を音声認識結果として求める仮説絞り込み部と、を含む。
本発明によれば、NグラムモデルおよびバックオフNグラムモデルを従来技術よりも早くWFSTに変換して記号列変換に利用することができる。
WFSTの一例を示す図。 WFSTを表によって示す図。 一つのWFSTを用いた記号列変換の一例を示す図。 WFSTを用いた記号列変換手順を示す図。 記号列トライグラムの状態と状態遷移の例を示す図。 記号列トライグラムのバイグラムへのバックオフを表す状態と状態遷移の例を示す図。 記号列トライグラムのユニグラムへのバックオフを表す状態と状態遷移の例を示す図。 第一実施形態に係る記号列変換装置の機能ブロック図。 状態遷移集合取得手段809の処理フローの一例を示す図。 第一実施形態に係る記号列変換装置において、記号列トライグラムのバイグラムへのバックオフを表す状態と状態遷移の例を示す図。 第一実施形態に係る記号列変換装置において、記号列トライグラムのユニグラムへのバックオフを表す状態と状態遷移の例を示す図。 記号列バックオフトライグラムのデータ構造の一例を示す図。 第二実施形態に係る音声認識装置の機能ブロック図。
以下、本発明の実施形態について説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、テキスト中で使用する記号「^」、「~」、「」等は、本来直前の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直後に記載する。式中においてはこれらの記号は本来の位置に記述している。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
<第一実施形態のポイント>
記号列モデルを表すバックオフNグラムモデルのWFSTは事前に構築せず、入力記号列が与えられ、その記号列変換を行う過程で、必要な状態番号や状態遷移を必要な時にバックオフNグラムモデルからWFSTに変換して取り出す。
すなわち、バックオフNグラムモデルからWFSTの初期状態の番号を取得する初期状態取得手段と、WFSTの任意の状態番号と入力記号が与えられたときに、その与えられた状態番号に対応する状態を遷移元とする状態遷移の集合を取得する状態遷移集合取得手段と、WFSTの任意の状態番号が与えられたときに、その与えられた状態番号(状態を特定する情報という意味で状態情報ともいう)に対応する状態がWFSTの終了状態か否かを判定する終了状態判定手段を用意し、記号列変換の際に記号列モデルのWFSTを参照するために、初期状態取得手段、状態遷移集合取得手段、終了状態判定手段を呼び出すことで、記号列モデルのWFSTの必要な状態遷移だけを参照要求に応じて生成し、その生成された状態遷移の集合を用いて記号列を変換する。
<前提知識>
第一実施形態について説明する前に、その前提となる知識について説明する。
WFSTは、(1)状態と、(2)状態から状態へと遷移できることを表す状態遷移、(3)状態遷移において受理される入力記号、(4)その際に出力される出力記号、及び、(5)その状態遷移の重みの集合によって定義される。WFSTは、ある入力記号列が与えられたときに、初期状態からその入力記号列の記号を順に受理する状態遷移に従って出力記号を出力しながら状態遷移を繰り返し、終了状態に達すると終了するモデルである。形式的にはWFSTは次の8つの組(Q,Σ,△,i,F,E,λ,ρ)によって定義される。
1.Qは有限の状態の集合。
2.Σは入力記号の有限の集合。
3.△は出力記号の有限の集合。
4.i∈Qは初期状態。
5.F∈Qは終了状態の集合。
6.E∈Q×Σ×△×Qは、現状態から入力記号により、出力記号を出力して次状態に遷移する状態遷移の集合。
7.λは初期重み。
8.ρ(q)は終了状態qの終了重み。q∈F。
WFSTの一例を図1に示す。
図1において、10は、マル(“○”)で表された状態を示しており、そのマルの中の数字はその状態の番号を表している。11は、二重マル(“◎”)で表された終了状態を示しており、その二重マルの中の数字は、その終了状態の番号と状態遷移が終了して最後に累積される終了重みが“(状態番号)/(終了重み)”のように表されている。以後、状態の番号を用いて状態を指し示す場合は、単に状態とその番号を用いて“状態0”や“状態3”のように称す。12は、各状態を結ぶ矢印(“→”)で表された状態遷移を示しており、各々の状態遷移に付与された記号や数字は、その状態遷移に関連付けられた入力記号、出力記号、重みを“(入力記号):(出力記号)/(重み)”のように表したものである。
図2のように、図1のWFSTを表によって定義することもできる。図2は、各行が一つの状態遷移を表し、その状態遷移における遷移元(現状態)の状態番号と遷移先(次状態)の状態番号、入力記号、出力記号、重みが記されている。最終状態(図1では状態3)は、遷移先、入力記号、出力記号を空とし、状態遷移終了時に累積される重み(終了重み)を記されている。一般に、WFSTの初期状態は状態0とされ、初期重みλも省略されることが多い。そのため、本実施形態でも初期状態を状態0とし、初期重みを省略して明記しないこととする。
図1のWFSTは、例えば、入力記号列a,a,b,cを出力記号列d,d,c,bに変換することができ、その際の状態遷移過程は、状態番号の系列を用いて表すと0,0,1,3であり、重みの累積値(以下「累積重み」と称す)は、0.5+0.5+0.3+1+0.5=2.8となる。しかし、図1のWFSTでは、a,a,b,cという入力記号列に対しては、0,0,1,3と0,0,2,3の2通りの状態遷移過程が考えられる。一般に、ある入力記号列に対して複数の状態遷移の可能性がある場合(これを非決定性という)は、状態遷移過程における累積重みが最小または最大になる状態遷移過程を選択し、その累積重みが最小または最大の状態遷移過程に対応する出力記号列を選択する。状態遷移の可能性が高いものに対してより大きい重みを設定する場合には、累積重みが最大の状態遷移過程に対応する出力記号列を選択し、状態遷移の可能性が高いものに対してより小さい重みを設定する場合には、累積重みが最小の状態遷移過程に対応する出力記号列を選択すればよい。図1の例においても、a,a,b,cという入力記号列に対して累積重みが最も小さい状態遷移過程0,0,1,3を選んで、変換結果をd,d,c,bとする。
ある重み付き有限状態変換器Aがあり、この重み付き有限状態変換器Aに対して記号列Xが入力記号列として与えられたとき、累積重みが最小となる出力記号列(すなわち記号列変換結果)を求めるには、次の累積重みの最小値W(X)を計算する必要がある。
Figure 0006078435
ここで、W(X→Y;A)は、重み付き有限状態変換器Aによって記号列Xが記号列Yに変換されるときの状態遷移過程における累積重みを表す。この累積重みW(X→Y;A)の最小値W(X)を求めて、その最小値を与える記号列Yが記号列変換結果となる。この記号列変換結果を求めるには、入力記号列によって初期状態から終了状態に至るコスト(累積重み)が、最小または最大の状態遷移過程を探し出すことによって行われる。この手順は、例えば、特許文献1に開示されている。
一つのWFSTを用いた記号列変換の一例を図3に示す。
まず、本明細書において、“仮説”とは、ある記号列を構成する記号が順に入力され(読み込まれ)、現時点までに読み込まれた入力記号列に対して、WFSTにおいて初期状態からその入力記号列によって状態遷移を繰り返した場合の可能性のある一つの状態遷移過程を表すものとする。
記号列取得部103は、入力記号列を構成する記号を先頭から順に一つずつ読み込み(取得し)、仮説展開部104に送る。
仮説展開部104は、記号列取得部103で取得した記号とWFST格納部101から読み込んだWFSTに従って、これまで読み込んだ記号列に対する仮説の集合を新たに受け取った記号を用いて各仮説の状態遷移過程を更新することにより新たな仮説を生成し、仮説絞込み部105に送る。
仮説絞込み部105は、仮説展開部104から受け取った仮説の集合に対し、同じ状態に到達している仮説の中で累積重みが最小または最大の仮説以外の仮説を削除することにより仮説を絞り込む。仮説絞込み部105は、入力記号列が最後まで読み込まれていれば、累積重みが最小または最大の仮説に対応する出力記号列を記号列出力部106に送る。入力記号列が最後まで読み込まれていなければ、仮説を仮説展開部104に送る。
記号列出力部106は、仮説絞込み部105から受け取った出力記号列を記号列変換結果として出力する。
次に、この実施の形態に基づいて記号列を変換する手順の一例を示す。
まず、WFSTのある状態遷移をeと表すとき、n[e]を遷移先の状態(次状態)、i[e]を入力記号、o[e]を出力記号、w[e]を重みと定義する。また、ある仮説をhと表わすとき、s[h]をその状態遷移過程において到達している状態、W[h]をその状態遷移過程における累積重み、O[h]をその状態遷移過程において出力されている記号列とする。
この手順において、仮説は仮説のリスト(以後これを「仮説リスト」と呼ぶ)を用いて管理する。仮説リストに対し、仮説を挿入したり、仮説を取り出したりすることができる。但し、仮説リストに仮説を挿入する場合に、仮説リスト内に同じ状態に到達している仮説があれば、累積重みの小さいほうまたは大きいほうだけを仮説リストに残し、仮説を絞り込む。
WFSTを用いた記号列変換手順を図4に示す。
以下、WFSTを用いる記号列変換の例(図3)の各部がどのような手順で処理を行うか、図4を用いて説明する。
ステップS101より開始し、初期設定として、ステップS102において空の仮説リストHとH’とを生成する。ステップS103において、初期の仮説h(hは仮説展開部104において更新する前の仮説を表す)を生成し、状態s[h]=0(WFSTの初期状態)、累積重みW[h]=0、出力記号列O[h]=φ(ここではφは空の記号列を表す)とし、仮説リストHに挿入する。
ステップS104では、記号列取得部103は、入力記号列に含まれる記号を一つ読み込み、その記号をxに代入し、仮説展開部104に出力する。次のステップS105からS108は、仮説展開部104において実行される。
ステップS105では、仮説リストHから仮説を一つ取り出し仮説hに代入し、状態s[h]から入力記号がxに等しい状態遷移のリスト(以下、「状態遷移リスト」ともいう)Eを用意する。
ステップS106では、状態遷移リストE=φ(ここではφは空のリストを表す)であればS110に進む。そうでなければ、S107に進み、状態遷移リストEから状態遷移を一つ取り出し、eに代入する。
ステップS108で新たな仮説f(fは仮説展開部104において更新した後の仮説を表す)を生成し、状態s[f]=n[e]、累積重みW[f]=W[h]+w[e]、出力記号列O[f]=O[h]・o[e]とし、仮説絞込み部105に出力する。ここで、“・”は二つの記号または記号列を接続し、一つの記号列にする演算を表す。
ステップS109は、仮説絞込み部105で実行され、仮説fを仮説リストH’に挿入することにより仮説を絞り込む。例えば、仮説リストH’内に同じ状態に到達している仮説があれば、累積重みの小さいほうまたは大きいほうだけを仮説リストH’に残し、仮説を絞り込む。
ステップS109からS106に戻り、次の状態遷移について仮説を展開する。
ステップS110では、仮説リストH=φ(すべての仮説を展開済み)であればS111に進む。そうでなければS106に戻り、次の仮説hを展開する。
ステップS111では、新たに生成された仮説リストH’の要素を、すでに空となった仮説リストHにすべて移し、S112に進む。
ステップS112では、記号列取得部103において次の入力記号が存在するならばS104に戻り、そうでなければ、入力記号列がすべて読み込まれたと判断しS113に進む。
ステップS113では、仮説リストHの中で終了状態に到達している仮説の累積重みにその終了状態の終了重みを加えた後で、その終了状態に到達している仮説の中から累積重み(W[h])が最小となる仮説hを選び、その出力記号列O[h]を記号列変換結果として、記号列出力部106が出力する。
ステップS114にてWFSTを用いる記号列変換手順を終了する。
[記号列変更例]
この記号列変換手順に従って、図1のWFSTに入力記号列a,a,b,cが与えられた場合の出力記号列を求める過程を順を追って説明する。但し、ここでは、現状態番号s、出力記号列O、累積重みWの仮説がある場合、その仮説を(s,O,W)のように表すものとする。また、WFSTのある状態遷移(現状態番号s、次状態番号n、入力記号x、出力記号y、重みw)を<s→n,x:y/w>と表すものとする。また、この例では、累積重みが最小の状態遷移過程に対応する出力記号列を記号列変換結果として選択するものとする。
S101から開始し、S102で空の仮説リストH及びH’を作る。
S103により仮説リストHの中の仮説(0,φ,0)を挿入する。
(記号“a”読み込み)
S104で記号aを読み込みxと置く。S105において仮説リストHから仮説(0,φ,0)を取り出す。この仮説の現状態0から入力記号がaに等しい状態遷移<0→0,a:d/0.5>を含む状態遷移リストEを作る(図1参照)。
S106で状態遷移リストE=φではないのでS107に進み、状態遷移<0→0,a:d/0.5>を取り出し、S108で新たな仮説(0,d,0.5)を生成し、S109で仮説リストH’に挿入する。
S106に戻り、状態遷移リストE=φであるためS110に進み、仮説リストH=φであるためS111に進む。仮説リストH’の要素(0,d,0.5)を仮説リストHに移し、S112で次の入力記号が存在するのでS104に戻る。
続いて、S104で記号aを読み込みxと置く。S105において仮説リストHから仮説(0,d,0.5)を取り出す。この仮説の現状態0から入力記号がaに等しい状態遷移<0→0,a:d/0.5>を含む状態遷移リストEを生成する。
S106でE=φではないのでS107に進み、状態遷移リストEから状態遷移<0→0,a:d/0.5>を取り出す。S108で新たな仮説(0,dd,1)を生成し、S109で仮説リストH’に挿入する。
S106に戻り、状態遷移リストE=φであるためS110に進み、仮説リストH=φであるためS111に進む。仮説リストH’の要素(0,dd,1)を仮説リストHに移し、S112で次の入力記号が存在するのでS104に戻る。
(記号“b”読み込み)
続いて、S104で記号bを読み込みxと置く。S105において仮説リストHから仮説(0,dd,1)を取り出す。この仮説の現状態0から入力記号がbに等しい状態遷移<0→1,b:c/0.3>と<0→2,b:b/1>とを含む状態遷移リストEを作る。
S106で状態遷移リストE=φではないのでS107に進み、状態遷移リストEから、一つ目の状態遷移<0→1,b:c/0.3>を取り出す。S108で新たな仮説(1,ddc,1.3)を生成し、S109で仮説リストH’に挿入する。
S106に戻り、状態遷移リストE=φではないのでS107に進み、状態遷移リストEから二つ目の状態遷移<0→2,b:b/1>を取り出す。S108で新たな仮説(2,ddb,2)を生成して、S109で仮説リストH’に挿入する。
S106に戻り状態遷移リストE=φであるためS110に進み、仮説リストH=φであるためS111に進み、仮説リストH’の要素(1,ddc,1.3)と(2,ddb,2)とは仮説リストHに移され、S112で次の入力記号が存在するのでS104に戻る。
(記号“c”読み込み)
続いて、S104で記号cを読み込みxと置く。S105において仮説リストHから一つ目の仮説(1,ddc,1.3)を取り出す。この仮説の現状態1から入力記号がcに等しい状態遷移<1→3,c:b/1>を含む状態遷移リストEを作る。
S106でE=φではないのでS107に進み、状態遷移リストEから状態遷移<1→3,c:b/1>を取り出す。S108で新たな仮説(1,ddcb,2.3)を生成し、S109で仮説リストH’に挿入する。
S106に戻り、状態遷移リストE=φであるためS110に進み、仮説リストH≠φであるためS105に戻り、仮説リストHから二つ目の仮説(2,ddb,2)を取り出す。この仮説の現状態2から入力記号がcに等しい状態遷移<2→3,c:a/0.6>を含む状態遷移リストEを作る。
S106で状態遷移リストE=φではないのでS107に進み、状態遷移リストEから状態遷移<2→3,c:a/0.6>を取り出す。S108で新たな仮説(3,ddba,2.6)を生成し、S109で仮説リストH’に挿入する。このとき、仮説リストH’の中には既に仮説(3,ddcb,2.3)が含まれており、仮説(3,ddba,2.6)は同じ状態3に到達しているので、累積重みの小さい仮説(3,ddcb,2.3)を残し、仮説(3,ddba,2.6)は仮説リストH’から削除する。
S106に戻り、状態遷移リストE=φであるため、S110に進み、仮説リストH=φであるためS111に進む。S111で仮説リストH’の要素(3,ddcb,2.3)を仮説リストHに移し、S112で次の入力記号が存在しないのでS113に進む。
S113で、仮説リストH内の仮説(3,ddcb,2.3)の到達状態3は終了状態であるため、終了重みを加えて(3,ddcb,2.8)とし、この仮説が終了状態に到達した唯一の仮説であり、累積重みが最小となるので、その出力記号列ddcbを変換結果として出力し、S114で記号列変換処理を終了する。
(Nグラムモデル)
一方、記号列のN個連鎖確率を計算するNグラムモデルをWFSTに変換して、それを記号列変換に利用する方法がある。
まず、記号列w1,w2,…,wLがあるときにこれをw1 Lと表すものとする。またj番目からk番目までの記号列wj,…,wkをwj kと表し、特にj=kのときはwj k=wj=wk、j>kのときはwj k=εとする。なお、εは存在しないこと、何もないことを表す記号である。
記号列w1 Lの出現確率P(w1 L)は、次式のように個々の記号の生起確率の積として計算できる。
Figure 0006078435
そして、個々の記号の出現確率が直前のN−1個の記号列だけに依存するとして近似したモデルが次のNグラムモデルである。
Figure 0006078435
ここで、P(wi│wi-N+1 i-1)は記号wiが直前のN−1個の記号列wi-N+1 i-1に依存して生起するNグラム確率を表す。特に、N=1のときをユニグラムモデル、N=2のときをバイグラムモデル、N=3のときをトライグラムモデルと呼び、P(wi|ε)、P(wi│wi-1)、P(wi│wi-2 i-1)をそれぞれユニグラム確率、バイグラム確率、トライグラム確率と呼ぶ。なお、ユニグラム確率はある記号wiが生起する確率ともいえる。
例えば、記号列が自然言語である場合、個々の記号は単語、記号列は文を表すものとする。このときNグラムモデルによって、ある単語列が文らしいか否かをP(w1 L)として計算することができる。
個々のNグラム確率を推定するには、まず大量の記号列データ(例えば新聞記事コーパスなど)を用意し、それから記号列の連鎖統計を取ることで予め求めておくことができる。
例えば、ある記号列データから記号列abの後に記号cが続くトライグラム確率を推定するには
Figure 0006078435
のように求めることができる。ここでC(abc)およびC(ab)は、それぞれ記号列データ内での記号列abcおよび記号列abの出現回数を表している。
しかし、記号列データの分量は有限であることから、記号列の並びとしては妥当であるにも関わらず、偶然その記号列データに出現しなかったN個の記号からなる記号列に対してはNグラム確率が0になってしまう問題(ゼロ頻度問題)がある。
(バックオフNグラムモデル)
そこで、Nグラム確率がゼロにならないよう、N個の記号からなる記号列のNグラム確率が0になってしまう場合は、N-1グラム確率を用い、さらに、N-1グラム確率が0になってしまう場合は、N-2グラム確率、というようにバックオフ(後退)する方法が用いられる。このようなNグラムモデルはバックオフNグラムモデルと呼ばれている。ただし、記号列の頻度が0でなくても、極端に小さい場合(例えば、10,0003通りの記号列に対して、頻度が1や2の場合)は(4)式で推定される確率値の信頼性が低下することから、記号列の頻度をあえて0と見なし(これをカットオフと言う)、強制的にバックオフさせる場合もある。
記号列wi-N+1 i-1の後にwiが生起するバックオフNグラム確率は次のように計算される。
Figure 0006078435

ここで、P*(wi│wi-N+1 i-1)は、式(4)のように頻度から推定されるNグラム確率を少し小さくした値である。このように確率を小さく見積もることをディスカウントと呼ぶ。本来、確率が0であるNグラムに対してバックオフによるN-1グラム確率を割り当てると、確率の総和が1を超えてしまう。そこで、確率の総和を1にするため、Nグラム確率をディスカウントし、ディスカウントによって生じた確率の残りをバックオフ用に割り当てる。そして、α(wi-N+1 i-1)はバックオフする際にN-1グラム確率に掛けるバックオフ係数である。ディスカウントされた確率とバックオフ係数を求める方法として、Good-Turing法、Witten-Bell法、Kneser-Ney法などが知られている。
記号列w1,…,wmに対するバックオフ係数α(w1 m)は次のように計算される。但しm=N-1を仮定している。
Figure 0006078435
分子は記号列w1 mの後に続くあらゆる記号vについてディスカウントされたNグラム確率P*(v│w1 m)の総和を求め、1から減算した値であり、これはディスカウントによってバックオフのために確保された確率を表す。一方、分母は、バックオフしたときに使われるN-1グラム確率P*(v│w2 m)の総和であり、1−(バックオフで使われないN-1グラム確率の総和)として計算されている。つまり、バックオフ係数α(w1 m)は、バックオフによって確保された確率を、バックオフに使われるN-1グラムで、その元々のN-1グラム確率に比例した割合で分け合うための係数である。バックオフ係数をこのように求めることで、バックオフNグラム確率は、確率の性質(0以上1以下、総和が1)を保証している。
Nグラムモデルをコンピュータで扱う場合は、N個の記号の順列とその確率値を記憶している必要がある。しかし、記号の種類が多くなるとその順列の種類数はNに対して指数的に大きくなる。例えば、記号の種類数が1万個あるとき、そのトライグラムの種類数は1万の3乗個に上る。これはあまりに大きく、コンピュータで扱う場合には膨大な記憶容量を必要とする。しかし、実際に記号列データに出現する順列はこれよりも遥かに少ないため、ほとんどのNグラム確率は0である。そこで、Nグラム確率が0よりも大きな順列とそのNグラム確率とだけを保持しておけば良い。さらに、バックオフNグラムモデルでは、確率が0より大きな1〜N個の記号からなる順列(記号列)とその確率、およびバックオフ係数を保持しておけば良い。
(バックオフNグラムモデルをWFSTに変換する方法)
次に、バックオフNグラムモデルをWFSTに変換する方法を示す。
基本的にはバックオフNグラムモデルが保持するN-1個の記号からなる順列の各々をWFSTの一つの状態に割り当て、各状態遷移にはN-1個の記号からなる順列の次に生起する可能性のある記号を入力記号および出力記号とし、そのNグラム確率(の対数の負値)を重みとして、対応する遷移先の状態に接続する。例えば、トライグラムモデルにおいて記号列abに対応する状態から記号列bcに対応する状態への状態遷移は、入力記号および出力記号がc、重みが-logP*(c│ab)となる(図5参照)。
またN個の記号からなるある順列が存在しない、すなわちそのNグラム確率が0の場合は、バックオフ用の状態遷移を用意して、バックオフ係数(の対数の負値)の重みを割り当て、記号列を一つ短くしたN−2個の記号からなる順列に対応する状態へ遷移させる。例えば、トライグラムモデルにおいて3個の記号の順列(記号列)abcが存在しない、すなわちP*(c│ab)=0の場合は、バックオフ用の状態遷移を作る。これは遷移元である記号列abに対応する状態から記号bに対応する状態に、重み-logα(ab)で遷移する。そして、記号bに対応する状態から記号列bcに対応する状態へ、入力記号と出力記号をc、重みをバイグラム確率(の対数の負値)-logP*(c│b)を持つ状態遷移を作る(図6参照)。これにより、式(5)のバックオフに基づく計算α(ab)P*(c│b)を状態遷移に埋め込む形でWFSTが構築される。更に、2個の記号からなる順列bcも存在しない、すなわちP*(c│b)=0の場合には、記号bに対応する状態から記号εに対応する状態へ、重み-logα(b)の状態遷移を作る。そして、記号εに対応する状態から記号cに対応する状態へ、入力記号と出力記号をc、重みをユニグラム確率(の対数の負値)-logP*(c)を持つ状態遷移を作る(図7参照)。但し、記号εに対応する状態は構築されるWFSTの中でただ一つ用意するものとする。
このようなバックオフNグラムモデルのWFSTは、次の手順に従って構築することができる。
ステップ1:記号εに対応する状態S(ε)を作り、i=S(ε)とし、状態集合Q、終了状態集合Fに加える。
ステップ2:n=1,…,N-1について、ステップ3を繰り返す。
ステップ3:登録されたnグラム確率P(wn│w1 n-1)の各々について、ステップ3.1〜3.3
を繰り返す。
ステップ3.1:記号列w1 n-1に対応する状態S(w1 n)を作り、状態集合Qに加える。
ステップ3.2:状態遷移<S(w1 n-1)→S(w1 n),wn:wn/-logP(wn│w1 n-1)>を作る。
ステップ3.3:バックオフ用の状態遷移<S(w1 n)→S(w2 n),ε:ε/-logα(w1 n)>を作る。
ステップ4:登録されたNグラム確率P(wN│w1 N-1)の各々について、状態遷移<S(w1 N-1)→S(w2 N),wN:wN/-logP(wN│w1 N-1)>を作る。
但し、S(x)は記号列xを対応する状態番号に写像する関数である。
この手順で構築されたWFSTを用いれば、図4の手順に従って記号列を変換することができる。
以上の前提知識を元に、第一実施形態について説明する。
〔第一実施形態〕
図8は第一実施形態に係る記号列変換装置100の機能ブロック図を示す。
第一実施形態に係る記号列変換装置100は、記号列取得部103、仮説展開部804、仮説絞込み部105、記号列出力部106、記号列モデル格納部807、初期状態取得手段808、状態遷移集合取得手段809及び終了状態判定手段810を含む。記号列取得部103、仮説展開部804、仮説絞込み部105及び記号列出力部106の処理内容は図4の各部と同じである。前述の通り、本実施形態では、記号列モデルを表すバックオフNグラムモデルのWFSTは事前に構築しないので、WFST格納部101に代えて、記号列モデル格納部807、初期状態取得手段808、状態遷移集合取得手段809及び終了状態判定手段810を含む。このような構成により、WFSTを参照する代わりに、状態遷移集合取得手段809によって記号列モデル格納部807から必要な部分のWFSTの状態および状態遷移を取得する処理に置き換えられている点が、図4の構成とは異なる。これにより、事前に記号列モデルをすべてWFSTに変換してWFST格納部101に記憶しておくことなく記号列変換が可能である。
<記号列モデル格納部807>
記号列モデル格納部807には、Lグラム確率と、各記号列w1 L'に対するバックオフ係数α(w1 L')とが対応付けて記憶されている。ただし、L=1,2,…,N、L'=1,2,…,N-1である。各記号列w1 L'は、L'グラム確率に対応するものである。例えば、N=3のとき、トライグラム確率P(wi│wi-2 i-1)、バイグラム確率P(wi│wi-1)及びユニグラム確率P(wi)と、バイグラム確率P(wi│wi-1)に対応するバックオフ係数α(wwi-2 i-1)及びユニグラム確率P(wi)に対応するバックオフ係数α(wi)とが記憶されている。Lグラム確率は、N個(Nは正整数)以下の記号からなる記号列w1 L(1≦L≦N)の出現確率P(w1 L)を用いて式(4)により計算することができる(ただし、式(4)において出現回数に代えて出現確率を用いる)。また、バックオフ係数α(w1 L')は、式(6)により求めることができる。例えば、図12のようなテーブル形式で記憶されているものとする。図12については後で詳述する。なお、図12では、記号列wi-L+1 i-1に依存して記号wiが生起する確率P(wi│wi-L+1 i-1)を少し小さくした(補正した)値P*(wi│wi-L+1 i-1)が格納されているが、P*(wi│wi-L+1 i-1)の代わりにP(wi│wi-L+1 i-1)が記憶されていてもよい。P(wi│wi-L+1 i-1)及びP*(wi│wi-L+1 i-1)を、遷移元の状態qに対応する記号列wi-L+1 i-1に依存して入力された記号wiが生起する確率に対応する第1確率ともいう。
<仮説展開部804>
仮説展開部804は、記号列取得部103から記号xを受け取り、状態遷移集合取得部で取得した遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮設を更新し、その累積重みとともに仮説絞込み部105に出力する。
仮説展開部804は、まだ仮説を生成していない場合(最初に実行するとき)には、初期状態取得手段808を実行し、WFSTの初期状態の状態番号を取得する。そして、初期状態取得手段808で取得した初期状態の状態番号と記号列取得部103から受け取った記号xとを状態遷移集合取得手段809に送り、初期状態から記号xにより遷移可能な状態の集合を取得する。そして、受け取った状態遷移の集合を用いて新たな仮説の集合を生成する。
仮説展開部804は、既にこれまでに入力された記号に対応する仮説が生成されている場合、記号列取得部103から受け取った記号xと、現在の仮説が到達している状態に対応する状態番号qとを状態遷移集合取得手段809に送り、状態遷移集合取得手段809から現在の仮説が到達している状態qから、記号列取得部103から受け取った新たな記号xにより遷移可能な状態の集合を取得する。そして、状態遷移集合取得手段809から取得した遷移可能な状態の集合を用いて、現在の仮説の状態遷移過程を更新することにより新たな仮説の集合を生成する。
仮説展開部804は、生成した仮説の集合の各仮説についての累積重みを算出する。そして、生成した仮説の集合を終了状態判定手段810へ送り、各仮説の到達している状態が終了状態であるか否かを判定する。仮説展開部804は、終了状態判定手段810から判定結果を受け取り、終了状態である場合には、その仮説の累積重みに、その終了状態の終了重みを加えることで、仮説の累積重みを更新する。そして、生成した仮説の集合とその累積重みを仮説絞込み部105へ送る。
<初期状態取得手段808>
初期状態取得手段808は、仮説展開部804の求めに応じてWFSTの初期状態を生成し、仮説展開部804に出力する。これは、図4のS103における初期状態の要求s[h]=iに対応する処理であり、一つの状態番号(例えばi=0)を返す。そして、生成した初期状態の状態番号s[h]を仮説展開部804に送る。また、記号列wを状態番号qに一意に写像する関数q=S(w)およびその逆関数w=S-1(q)を用意し、S(ε)=0およびS-1(0)=εとする。なお、この関数S及びS-1は予め外部から与えられていてもよい。関数の例は後述する。
<状態遷移集合取得手段809>
状態遷移集合取得手段809は、入力された状態番号qと入力記号xと受け取り、これらの値を用いて、状態番号qから入力記号xで遷移可能な状態遷移の集合Eを図9の手順に従って求める。
まずステップS901より開始し、ステップS902で状態番号qと入力記号xを受け取る。ステップS903では、状態qに対応する記号列w1 kをw1 k=S-1(q)として求める。ここでは、k=0,1,…,N-1である。
ステップS904では、バックオフ係数を累積する変数α(累積バックオフ係数)の初期値を設定する。例えばα=1とする。また、もしk<N-1ならj=1、そうでない(k≧N-1)ならj=2と置く。このj=2と置くのは、確率P*(x│wj k)を計算する際に、記号列wj kの長さがN-1より大きくならないように最も順番が若い記号を切り詰め、確率P*(x│wj k)がLグラム確率(1≦L≦N)になることを保証している。
ステップS905では、記号列モデル格納部1301に、記号列wj kに依存して記号列xが生起するNグラム確率P(x│wj k)に対応した確率値P*(x│wj k)(ディスカウントされたNグラム確率)が存在するならステップS907へ、存在しない場合はS906へ進む。なお、P*(x│wj k)は、上述の式(4)により(ただし、式(4)において出現回数に代えて出現確率を用いる)、記号列モデル格納部807に記憶された記号列w1 kxと記号列w1 kの出現確率に基づいて計算することができる。なお、確率値P*(x│wj k)が存在していても所定の閾値よりも小さい値の場合にはS906へ進む処理を行っても良い。これは、確率値が特に小さいとき(10,0003通りの記号列に対して、頻度が1や2の場合等)にその確率値は信用できない可能性があるため、強制的にバックオフさせた方が精度が良くなる場合があるからである。
ステップS906では確率P*(x│wj k)が存在しない場合にバックオフをするため、αにバックオフ係数(補正係数)α(wj k)を掛けた値を新たな累積バックオフ係数αとする(α←α×α(wj k))。さらに、記号列wj kの最も順番が若い記号を切り詰めるために(バックオフをするために)jを1増やす(j←j+1)。例えば、記号列abcのディスカウントされたトライグラム確率P*(c│ab)が存在しない場合には、(α←α×α(ab))とし、記号列abcの最も順番が若い(一番最初の)記号aを切り詰め、記号列bcとし、S905の判定処理を繰り返す。なお、バックオフ係数α(wj k)は記号列モデル格納部807から取得することができる。
ステップS907では、確率P*(x│wj k)が存在するので、状態遷移<q→S(wj kx),x:x/-log(αP*(x│wj k))>を作り、これを唯一の状態遷移としてもつ状態遷移リスト(状態遷移の集合)Eを生成する。なお、確率P*(x│wj k)と累積バックオフ係数αとの積に対応する値-log(αP*(x│wj k)を第2確率ともいう。この第2確率を現在の仮説の集合の各仮説が到達している状態から入力された記号xへ遷移する状態遷移の状態遷移確率として設定する。
最後にステップS908に進み、取得した状態遷移リストEを仮説展開部804に出力して状態遷移集合取得手段809の処理を終了する。
図9の手順に従えば、従来法で図5の状態遷移が作られる場合には、本実施形態でも同じ状態遷移が作られる。従来法で図6の状態遷移が作られる場合には、図10のような状態遷移が作られる(但し、破線の部分は図6との比較のために書かれており、本実施形態では作成されない)。従来法で図7の状態遷移が作られる場合には、図11のような状態遷移が作られる(但し、破線の部分は図7との比較のために書かれており、本実施形態では作成されない)。図6における状態ab,b,bcの状態遷移が図10では一つにまとめられているが、どちらも入力記号、出力記号、および累積重みは一致する。図7も同様に、状態遷移ab,b,ε,cの状態遷移が図11では一つの遷移にまとめられているが、入力記号、出力記号、および累積重みは一致する。
<終了状態判定手段810>
終了状態判定手段810は、仮説展開部804で生成された仮説リスト(仮説の集合)Hを受け取り、仮説の集合Hの中の個々の仮説hが到達した状態s[h]が終了状態か否か、すなわちs[h]∈Fか否かを判定する。例えば状態S(ε)=0が唯一の終了状態とするなら、s[h]=0なら終了状態、s[h]≠0なら終了状態ではない、という判定をしても良い。これは、図4のS113の処理に相当する。終了状態判定手段810は、判定結果を仮説展開部804に出力する。
記号列モデル格納部807、初期状態取得手段808、状態遷移集合取得手段809及び終了状態判定手段810により、事前に記号列モデルからWFSTを作成しておくのではなく、入力記号を読み込むごとに、記号列モデルを参照して現在の状態から入力記号により変換可能な変換規則だけ(つまり部分的なWFSTのみ)を生成し、これを用いて記号列変換を行うことができる。これにより、記号列変換の途中に記号列モデルに記憶されている内容(確率値や補正係数の値)を更新しても、WFSTを再構成することなく記号列変換を行うことができる。従来よりも高速に動的にWFSTを生成し記号列変換を行うことができる。
<仮説絞込み部105>
仮説絞込み部105は、仮説展開部804で生成された仮説の集合を受け取り、同じ状態に到達している仮説の中で累積重みが最小または最大となる仮説から所定数の仮説以外の仮説を削除することにより仮説を絞り込む。そして、入力記号列が最後まで読み込まれていれば、その終了状態に到達している仮説の中から累積重み(W[h])が最小または最大となる仮説hを選び、その出力記号列O[h]を記号列変換結果として、記号列出力部106に送る。入力記号列が最後まで読み込まれていない場合には、絞り込み後の仮説の集合を仮説展開部804へ送る。
<記号列出力部106>
記号列出力部106では、仮説絞込み部105から受け取った出力記号列を記号列変換結果として出力する。
<記号列を状態番号に写像する関数の例>
次に、記号列w1 kに対応する状態S(w1 k)を効率的に求める方法を説明する。例えば、記号列モデルの個々の確率が図12(バックオフトライグラムの場合)のようにコンピュータのメモリ上に配置されていると仮定する。ここで、ユニグラム確率のテーブルには、M個の記号vm(m=1〜M)が登録されており、その各エントリには、記号のid番号m、ユニグラム確率P(vm)、バックオフ係数α(vm)および後に続くバイグラムが格納されたエントリの先頭を指すポインタnextが含まれている。図12の例では、ユニグラムの各ポインタは矢印で後に続くバイグラムが格納されたエントリの先頭を指している。またバイグラムのテーブルには同様に、記号のid番号n、バイグラム確率P(vn|vm)、バックオフ係数α(vmvn)および後に続くトライグラムが格納されたエントリの先頭を指すポインタnextが含まれている。但し、後に続く記号がない場合は、nextにnullを代入する。これは図12では矢印のないエントリはこの場合に相当する。更に、トライグラムのテーブルには、記号のid番号rとトライグラム確率P(vr|vmvn)が含まれている。従って、任意の3つの記号のid番号m,n,rの順列が与えられた場合は、ユニグラムのm番目のエントリからそのnextが指すバイグラムテーブルのエントリからm+1番目のユニグラムエントリのnextが指すバイグラムテーブルのエントリの手前まで、id番号nに一致するバイグラムエントリを探す。id番号nに一致するバイグラムエントリが見つかれば、そのnextが指すトライグラムテーブルのエントリからn+1番目のバイグラムエントリのnextが指すトライグラムテーブルのエントリの手前まで、id番号rに一致するトライグラムエントリを探す。もしユニグラムから順に辿る過程で一致するid番号が見つからない場合は、3つのid番号m,n,rからなる順列(m,n,r)を2つのid番号からなる順列(n,r)にして、ユニグラムテーブルのエントリからid番号nに一致するユニグラムエントリのnextが指すバイグラムテーブルのエントリからid番号nに一致するユニグラムエントリの次のユニグラムエントリのnextが指すバイグラムテーブルのエントリの手前まで、id番号rに一致するバイグラムエントリを探す。見つかればその確率に累積バックオフ係数を掛けた値をトライグラム確率として返す。見つからなければ、2つのid番号からなる順列(n,r)を1つのid番号からなる順列(r)にして、ユニグラムエントリテーブルからid番号rに一致するユニグラムエントリを探索し、その確率に累積バックオフ係数を掛けた値をトライグラム確率として返す。
例えば、3つのid番号1,2,4の順列(1,2,4)が与えられた場合、ユニグラムエントリの1からnextのリンクを辿って、バイグラムエントリの2までは見つかるが、後に続くトライグラムエントリは1,9,13なので、4は見つからない。そこでバックオフのために、まず到達したバイグラムエントリv1v2のバックオフ係数α(v1v2)を記憶する。次に、最初のid番号1を削って、2つのid番号2,4の順列(2,4)を用いてユニグラムエントリの2からnextのリンクを辿って、バイグラムエントリの4を見つける。ここでバックオフトライグラム確率は、α(v1v2)P(v4|v2)として計算される。仮に、バックオフして2つのid番号2,4の順列(2,4)も見つからなかった場合は、更にid番号2を削って、id番号4のユニグラムまでバックオフする。ここでバックオフトライグラム確率は、α(v1v2)α(v2)P(v4)として計算される。
このデータ構造を利用して、例えば状態S(w1 k)は、w1 kに対応するid番号列を利用してユニグラムテーブルからid番号が一致するエントリを辿って、kグラムまで一致するid番号が見つかった場合は、ユニグラムの最初のエントリが格納されているメモリ上の位置(アドレス)を起点として、その見つかったエントリが格納されているメモリ上の相対位置をその状態番号として割り当てることができる。但し、Lグラムのエントリ(Lグラム確率と、各記号列w1 L'に対するバックオフ係数α(w1 L')等)はメモリ上で連続して配置されているものとする。つまり、記号列モデル格納部807に含まれる全ての記号列の情報とその連鎖確率をコンピュータのメモリ上に連続させて格納する。そうすることで、各記号列のメモリアドレス番号から任意の起点となるアドレス番号を差し引いた相対アドレス番号に比例する値をもって状態番号とする。状態番号0は記号εに割り当てるとすれば、
状態番号=(見つかったエントリのアドレス − ユニグラムの最初のエントリのアドレス)
÷(N-1グラムまでのエントリ1個分のメモリサイズ) +1
・・・(1)
として求めることができる。これが関数Sの例である。逆に、状態番号に対応するエントリは、エントリのアドレス=(状態番号−1)
×(N-1グラムまでのエントリ1個分のメモリサイズ)
+ユニグラムの最初のエントリのアドレス
・・・(2)
で求められる。これにより、任意の状態番号qに対応する記号列S-1(q)も効率的に求めることができる。
<変形例>
記号列モデル格納部807には、Lグラム確率に代えて記号列の出現確率(生起確率)を記憶しておいてもよい。Lグラム確率を必要とする各部は、記号列の出現確率を用いて、式(4)により、Lグラム確率を計算すればよい。
〔第二実施形態〕
第二実施形態では、本発明を音声認識に適用する例を説明する。
記号列モデルはバックオフトライグラム言語モデルとし、図12に示すようなデータ構造でメモリに格納される。
図13は、第二実施形態の音声認識装置200の機能ブロック図である。従来法(特許文献1参照)の言語モデルWFST格納部の代わりに、バックオフトライグラム言語モデル格納部1307、初期状態取得手段1308、状態遷移集合取得手段1309、終了状態判定手段1310とからなる言語モデルWFST生成部130を有する点が異なる。
すなわち、バックオフトライグラム言語モデル格納部1307、初期状態取得手段1308、状態遷移集合取得手段1309、および終了状態判定手段1310を用いて、言語モデルWFSTの状態遷移集合を必要に応じて生成することで、言語モデルWFSTが存在するかのように記号列変換を行う。
なお、バックオフトライグラム言語モデル格納部1307、初期状態取得手段1308、状態遷移集合取得手段1309、および終了状態判定手段1310以外の各部の処理については、特許文献1に詳細が記載されているため、ここでは概要のみを説明する。
<音声信号入力部1303及び音声特徴記号列抽出部1304>
音声を入力する音声信号入力部1303から送られた音声信号はその音声の短時間音響パターンの時系列を記号列として抽出する音声特徴記号列抽出部1304において音響特徴記号列に変換し、その音響特徴記号列を入力として記号列変換を行う記号列変換部1305に送る。
<記号列変換部1305>
記号列変換部1305は、仮説展開部1306、仮説補正部1311及び仮説絞込み部1312を含む。
記号列変換部1305は、音響モデル格納部1301から音声固定単位(例えば音素)の標準的な音響パターン系列の特徴を保持し、個々の音声固定単位と任意の音響パターンの間の類似度を与える音響モデルを読みだす。
音声認識に用いる音響パターンには、短い時間(例えば10ミリ秒)ごとに音声信号を分析することにより得られるメルケプストラム(mel-frequency cepstral coefficients,
MFCCと呼ばれる)、デルタMFCC、LPCケプストラム、対数パワーなどがある。
種々の音声固定単位(例えば音素)の標準的特徴を保持する音響モデルとしては、例えば、それら音響パターンの系列の集合を確率・統計理論に基づいてモデル化する隠れマルコフモデル法(Hidden Markov Model,以後HMMと呼ぶ)が主流である。このHMM法の詳細は、例えば、社団法人電子情報通信学会、中川聖一著「確率モデルによる音声認識」に開示されている。音響モデルとして他の従来技術を用いてもよい。
さらに、仮説展開部1306は、単語辞書WFST格納部1302から前記音声固定単位の系列からその発音を持つ単語の系列に変換する単語辞書WFSTを読み出す。さらに、記号列変換部1305は、言語モデルWFST格納部の代わりに、言語モデルWFST生成部130を用いて、言語モデルWFSTの状態遷移集合を必要に応じて生成し、音響特徴記号列抽出部1304から送られた音響特徴記号列を読み込み、累積重み最小の出力記号列を求め、記号列出力部131に送る。
(仮説展開部1306)
仮説展開部1306は、音響特徴記号列抽出部1304から送られた音響特徴記号列の記号を一つずつ読み込む。次に、仮説展開部1306は、単語辞書WFSTを用いて、現在の仮説の集合の各々に新しい状態遷移を追加する。
なお、単語辞書WFSTの重みとして、音響モデルによって計算される音響特徴記号(音響パターン)のスコアを用いる。ただし、このスコアは、大きいほど入力音響パターンが音響モデルによって表される音声固定単位に近いことを表すので、マイナスの音響スコアをもって重みとする。隠れマルコフモデルによる音響スコアの計算では、例えばガウス分布に基づく確率値が用いられる。
(仮説補正部1311)
仮説補正部1311は、新しい状態遷移を追加された仮説の集合を受け取る。仮説補正部1311は、バックオフトライグラム言語モデル格納部1307のバックオフトライグラム言語モデルを参照しながら、初期状態取得手段1308、状態遷移集合取得手段1309、終了状態取得手段1310によって、仮説展開部1306から受け取った個々の仮説の累積重みを補正する。
具体的には、仮説展開部1306から受け取った個々の仮説の状態遷移過程から出力される記号列を入力記号列として、第一実施形態と同様の処理を行って出力される出力記号列に対応する累積重み、すなわち、可能な状態遷移過程の中で累積重みが最小となる状態遷移過程の累積重み、をその仮説の累積重みに加算することにより、各仮説の累積重みを更新する。言い換えると、仮説補正部1311は、言語モデルWFST生成部130により部分的に生成される、バックオフトライグラム言語モデルに対応するWFSTとは別の単語辞書WFSTを用いて、音響特徴記号列(バックオフトライグラム言語モデルに対応するWFSTに対する入力記号列とは別の記号列である)を変換することにより得た仮説の集合に含まれる仮説の状態遷移過程から出力される記号列を、バックオフトライグラム言語モデルに対応するWFSTに対する入力記号列として、第一実施形態と同様の処理を行う。
(仮説絞込み部1312)
仮説絞込み部1312は、仮説補正部1311で生成された仮説の集合を受け取り、同じ状態に到達している仮説の中で累積重みが最小または最大となる仮説から所定数の仮説以外の仮説を削除することにより仮説を絞り込む。そして、入力記号列が最後まで読み込まれていれば、その終了状態に到達している仮説の中から累積重みが最小または最大となる仮説を選び、その出力記号列を記号列変換結果として、記号列出力部1313に送る。入力記号列が最後まで読み込まれていない場合には、累積重みの大きい所定数の仮説を削除して、絞り込んだ後、残った仮説の集合を仮説展開部1306へ送る。
仮説展開部1306は、音響特徴記号列の次の記号を読み込み、記号列変換部1305は、入力された音声特徴記号列をすべて読み終えるまで、同様の処理を繰り返す。
最後の音声特徴記号を読み込んだ後に、仮説絞込み部1312において累積重み最小の仮説とその出力記号列を求め、記号列出力部1313に送る。
<記号列出力部1313>
記号列出力部1313は、受け取った出力記号列を音声認識結果として出力する。
このような構成により、本発明を音声認識に利用することができる。
〔変形例〕
第一実施形態の状態遷移集合取得手段809において確率値P(x│wj k)を計算する際に、現在の話題に依存したユニグラム確率分布PT(x)を導入し、この確率分布に基づいて例えば、
P^'(x│wj k)=λPT(x)+(1-λ)P(x│wj k) (7)
のように確率値を現在の話題に応じて動的に更新してもよい。例えば、最近話された単語の頻度からユニグラム確率分布PT(x)を推定しても良い。ここで、λは、話題に依存したユニグラム確率と話題に依存しないNグラム確率のバランスを取る係数であり、0≦λ≦1とする。
あるいは、第一実施形態の記号列モデル格納部807や第二実施形態のバックオフトライグラム言語モデル格納部1307に格納された記号列の出現確率を更新する確率値更新部を備え、記号列変換や音声認識処理の途中で、記号列モデルやバックオフトライグラム言語モデル格納部に格納された一部の記号列の出現確率が更新されても良い。
〔実験例〕
図13に示す形態で音声認識システムを構築した。音響モデルには、43種類の音素に対するHMMを用意し、各音素ごとに3つの状態があり、各状態にはその音素のコンテキスト(前にある音素は何か、後ろに続く音素は何か)に応じて3011種類ある音響パターンの確率密度分布の内の一つが割り当てられている。これら確率密度分布のId番号を音声固定単位とした。
音声信号の音響パターンの系列は、10ミリ秒ごとに音声信号を分析することにより得られるMFCC12次元、MFCCの各次元の時系列方向に前後2フレームを見たときの一次回帰係数であるデルタMFCC12次元、各次元の時系列方向に前後2フレームを見たときの一次回帰係数であるデルタデルタMFCC12次元、および対数パワーを合わせた39次元のベクトルを要素とする入力系列として抽出する。
辞書として10万単語とその発音を用い、音声固定単位の系列から単語列に変換するWFSTを構築した。
バックオフトライグラム言語モデルは、「日本語話し言葉コーパス」の2762講演を書き起こした単語列から、バックオフトライグラム確率を推定し、図12に示すようなデータ構造に格納して用いた。
更に、講演音声を認識する際に、(7)式にある話題依存のユニグラムを導入し、このユニグラム確率を講演音声を認識しながら、すでに得られた音声認識結果から推定し、同じ講演の中で、そこから先の未来の音声を認識するために利用する方法も評価した。これはキャッシュ言語モデルと呼ばれる方法で、(7)式のPT(wi)を次のように計算する。
PT(wi)=Pcache(wi│w1 (i-1))=(CK(wi))/K (8)
ここで、Kはすでに認識した単語の中で過去何単語分を遡って考慮するかを表す自然数、CK(wi)は最近認識したK単語の中でのwiの出現回数を表す。このキャッシュ言語モデルは、ある人があるテーマで話をするとき「一度話された単語はもう一度話されやすい」という経験則に基づくモデルである。キャッシュ言語モデルについては、非特許文献1及び2や、参考文献1に開示されている。
(参考文献1)R. Kuhn and R. De Mori著, “A cache-based natural language model for speech recognition,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 12, no.6, pp. 570-583, 1990
表1は従来法と本実施形態の認識処理時間と、認識誤り率を表している。本実施形態の場合は、キャッシュ言語モデルを利用した場合も併せて示している。実時間比は、認識処理時間を実際に話された時間で割った値であり、小さいほど高速であることを示す。認識処理時間は、Intel Xeon(登録商標) X5570 2.93GHzプロセッサを用いて音声認識を動作させ、10講演(各12分)を認識させたときの時間を計測して求めた。単語誤り率は、実際に話された単語の中で誤って認識した単語の割合を表しており、小さいほど音声認識の精度が高いことを表す。
Figure 0006078435
表1の結果において、従来法では、バックオフトライグラム言語モデルを予めWFSTに変換して音声認識を行っている。本実施形態では、バックオフトライグラム言語モデルから状態遷移を必要に応じて生成し、音声認識を行っている。これらを比較すると単語誤り率は同一で、処理時間を表す実時間比もほぼ同じであることが分かる。但し、従来法ではバックオフトライグラム言語モデルをWFSTに変換するために、Intel Xeon(登録商標) X5570 2.93GHzプロセッサを用いて約8秒を要した。
キャッシュ言語モデルを用いる際は1発話(約5秒〜10秒)を認識して PT(wi)を更新するたびにWFSTを作り直すと音声認識全体の処理量は大きく増加する。1講演に100発話あったと仮定すると、800秒の処理時間が上乗せされ、実際の発話時間が12分=720秒とすれば、実時間比は1.2〜1.3になると予想される。
表1の本実施形態(キャッシュ言語モデルあり)の場合は、WFSTを作り直さずにキャッシュ言語モデルを利用でき、処理時間の増加は無く、実時間比は0.31であった。また、キャッシュ言語モデルの効果により、単語誤り率は18.4%に削減された。
<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
<プログラム及び記録媒体>
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (8)

  1. 入力記号列を出力記号列に変換する記号列変換方法であって、
    前記入力記号列の先頭から順に1つずつ記号を取得する記号列取得ステップと、
    前記記号列取得ステップで取得した記号と現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている記号列モデル格納部を参照して、前記現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得ステップと、
    前記状態遷移集合取得ステップで取得した前記遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説展開ステップと、
    前記仮説展開ステップで更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、前記記号列取得ステップにおいて前記入力記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から前記累積重みが最大または最小となる仮説を前記出力記号列として求める仮説絞り込みステップと、
    を含む記号列変換方法。
  2. 請求項1記載の記号列変換方法であって、
    前記連鎖確率は、ある記号が生起する確率、及び、1以上の記号からなる記号列に依存してある記号が生起する確率であり、
    前記記号列モデル格納部には、前記連鎖確率に加えて、各連鎖確率に対応する記号列のバックオフ係数が対応付けて記憶されており、
    前記状態遷移集合取得ステップは、
    累積バックオフ係数の初期値を設定する初期値設定ステップと、
    前記遷移元の状態に対応する記号列に依存して前記入力された記号が生起する確率に対応する第1確率が前記記号列モデル格納部に存在する場合に、その第一確率を取得する第1確率取得ステップと、
    前記第1確率が存在しない場合、または、所定の閾値より小さい場合に、前記遷移元の状態に対応する記号列のバックオフ係数を前記記号列モデル格納部から取得し、取得したバックオフ係数を前記累積バックオフ係数に乗じることにより、前記累積バックオフ係数を更新する累積バックオフ係数更新ステップと、
    前記第1確率が存在する場合、または、所定の閾値以上の場合に、前記第1確率と前記累積バックオフ係数との積に対応する値である第2確率を、前記現在の仮説の集合の各仮説が到達している状態から前記入力された記号へ遷移する状態遷移の状態遷移確率として設定する状態遷移確率設定ステップと、
    を含む、記号列変換方法。
  3. 請求項1または2記載の記号列変換方法において、
    前記記号列モデル格納部に含まれる全ての記号列の情報とその連鎖確率をコンピュータのメモリ上に連続させて格納されており、
    各記号列のメモリアドレス番号から任意の起点となるアドレス番号を差し引いた相対アドレス番号に比例する値をもって前記状態情報とする、
    記号列変換方法。
  4. 請求項1乃至3の何れかに記載の記号列変換方法において、
    前記記号列モデルに対応するWFSTとは別の一つ以上のWFSTを用いて前記入力記号列とは別の入力記号列である第2入力記号列を変換することにより得た仮説の集合に含まれるいずれかの仮説の状態遷移過程から出力される記号列が、前記記号列モデルに対する入力記号列である、
    記号列変換方法。
  5. 音声から得られる音響特徴記号列を音声認識結果に変換する音声認識方法であって、
    前記音響特徴記号列の先頭から順に1つずつ記号を取得する記号列取得ステップと、
    音響モデルによって計算される音響特徴記号のスコアを、重みとして用いる単語辞書WFSTを参照して、現在の仮説の集合の各々に新しい状態遷移を追加する仮説展開ステップと、
    前記仮説展開ステップで状態遷移を追加された仮説の集合の各々の状態遷移過程から出力される記号列と、現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている言語モデル格納部を参照して、前記現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得ステップと、
    前記状態遷移集合取得ステップで取得した前記遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説補正ステップと、
    前記仮説展開ステップで更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、前記記号列取得ステップにおいて前記音響特徴記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から前記累積重みが最大または最小となる仮説を前記音声認識結果として求める仮説絞り込みステップと、
    を含む音声認識方法。
  6. 入力記号列を出力記号列に変換する記号列変換装置であって、
    前記入力記号列の先頭から順に1つずつ記号を取得する記号列取得部と、
    前記記号列取得部で取得した記号と現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている記号列モデル格納部を参照して、前記現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得部と、
    前記状態遷移集合取得部で取得した前記遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説展開部と、
    前記仮説展開部で更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、前記記号列取得部において前記入力記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から前記累積重みが最大または最小となる仮説を前記出力記号列として求める仮説絞り込み部と、
    を含む記号列変換装置。
  7. 音声から得られる音響特徴記号列を音声認識結果に変換する音声認識装置であって、
    前記音響特徴記号列の先頭から順に1つずつ記号を取得する記号列取得部と、
    音響モデルによって計算される音響特徴記号のスコアを、重みとして用いる単語辞書WFSTを参照して、現在の仮説の集合の各々に新しい状態遷移を追加する仮説展開部と、
    前記仮説展開部で状態遷移を追加された仮説の集合の各々の状態遷移過程から出力される記号列と、現在の仮説の集合の各仮説が到達している状態を特定する情報である状態情報とを入力として、1つ以上の記号からなる記号列の生起確率または連鎖確率が記号列モデルとして記憶されている言語モデル格納部を参照して、前記現在の仮説が到達している状態を遷移元として、当該遷移元から遷移可能な状態遷移およびその状態遷移確率を取得する状態遷移集合取得部と、
    前記状態遷移集合取得部で取得した前記遷移元から遷移可能な状態遷移の集合を用いて、現在の仮説の集合の各仮説を更新する仮説補正部と、
    前記仮説展開部で更新した仮説の集合のうち同じ状態に到達している仮説の中で累積重みが最大または最小となるものから所定数の仮説以外の仮説を削除することにより仮説を絞り込み、前記記号列取得部において前記音響特徴記号列が最後まで読み込まれていれば、終了状態に到達している仮説の中から前記累積重みが最大または最小となる仮説を前記音声認識結果として求める仮説絞り込み部と、
    を含む音声認識装置。
  8. 請求項1乃至4の何れか記載の記号列変換方法の各ステップをコンピュータに実行させるためのプログラム。
JP2013170114A 2013-08-20 2013-08-20 記号列変換方法、音声認識方法、それらの装置及びプログラム Active JP6078435B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013170114A JP6078435B2 (ja) 2013-08-20 2013-08-20 記号列変換方法、音声認識方法、それらの装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013170114A JP6078435B2 (ja) 2013-08-20 2013-08-20 記号列変換方法、音声認識方法、それらの装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2015040864A JP2015040864A (ja) 2015-03-02
JP6078435B2 true JP6078435B2 (ja) 2017-02-08

Family

ID=52695089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013170114A Active JP6078435B2 (ja) 2013-08-20 2013-08-20 記号列変換方法、音声認識方法、それらの装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6078435B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6235922B2 (ja) * 2014-02-12 2017-11-22 日本電信電話株式会社 重み付き有限状態オートマトン作成装置、記号列変換装置、音声認識装置、それらの方法、及びプログラム
JP6280649B2 (ja) * 2014-07-17 2018-02-14 パナソニック株式会社 静電式ステアリングホイール把持検出装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4478088B2 (ja) * 2005-09-02 2010-06-09 日本電信電話株式会社 記号列変換方法、音声認識方法、記号列変換装置とプログラム、記録媒体

Also Published As

Publication number Publication date
JP2015040864A (ja) 2015-03-02

Similar Documents

Publication Publication Date Title
JP6493866B2 (ja) 情報処理装置、情報処理方法、およびプログラム
KR101780760B1 (ko) 가변길이 문맥을 이용한 음성인식
JP5331801B2 (ja) 言語モデル先読み確率を計算する方法および装置
US9293137B2 (en) Apparatus and method for speech recognition
KR102375115B1 (ko) 엔드-투-엔드 모델들에서 교차-언어 음성 인식을 위한 음소-기반 컨텍스트화
CN107705787A (zh) 一种语音识别方法及装置
JP6095588B2 (ja) 音声認識用wfst作成装置、音声認識装置、音声認識用wfst作成方法、音声認識方法及びプログラム
JPWO2014136222A1 (ja) 音声認識装置および音声認識方法
JP2020042257A (ja) 音声認識方法及び装置
JP2019012095A (ja) 音素認識辞書生成装置および音素認識装置ならびにそれらのプログラム
JP5319141B2 (ja) 言語モデルの枝刈り方法及び装置
JP6078435B2 (ja) 記号列変換方法、音声認識方法、それらの装置及びプログラム
JP4764203B2 (ja) 音声認識装置及び音声認識プログラム
JP6235922B2 (ja) 重み付き有限状態オートマトン作成装置、記号列変換装置、音声認識装置、それらの方法、及びプログラム
JP5124012B2 (ja) 音声認識装置及び音声認識プログラム
JP4528540B2 (ja) 音声認識方法及び装置及び音声認識プログラム及び音声認識プログラムを格納した記憶媒体
KR20230156125A (ko) 룩업 테이블 순환 언어 모델
JP2006031278A (ja) 音声検索システムおよび方法ならびにプログラム
JP2002091484A (ja) 言語モデル生成装置及びこれを用いた音声認識装置、言語モデル生成方法及びこれを用いた音声認識方法、並びに言語モデル生成プログラムを記録したコンピュータ読み取り可能な記録媒体及び音声認識プログラムを記録したコンピュータ読み取り可能な記録媒体
Lei et al. Data-driven lexicon expansion for Mandarin broadcast news and conversation speech recognition
JP2938865B1 (ja) 音声認識装置
Kang et al. Lattice based transcription loss for end-to-end speech recognition
JP2003271188A (ja) 言語処理装置および方法
JP4674609B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体
JP3969079B2 (ja) 音声認識装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160719

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160809

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170116

R150 Certificate of patent or registration of utility model

Ref document number: 6078435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150