Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6301794B2 - オートマトン変形装置、オートマトン変形方法およびプログラム - Google Patents
[go: Go Back, main page]

JP6301794B2 - オートマトン変形装置、オートマトン変形方法およびプログラム - Google Patents

オートマトン変形装置、オートマトン変形方法およびプログラム Download PDF

Info

Publication number
JP6301794B2
JP6301794B2 JP2014190377A JP2014190377A JP6301794B2 JP 6301794 B2 JP6301794 B2 JP 6301794B2 JP 2014190377 A JP2014190377 A JP 2014190377A JP 2014190377 A JP2014190377 A JP 2014190377A JP 6301794 B2 JP6301794 B2 JP 6301794B2
Authority
JP
Japan
Prior art keywords
value
automaton
weight
transition
deformation
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
JP2014190377A
Other languages
English (en)
Other versions
JP2016061975A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2014190377A priority Critical patent/JP6301794B2/ja
Priority to US14/826,398 priority patent/US10452355B2/en
Publication of JP2016061975A publication Critical patent/JP2016061975A/ja
Application granted granted Critical
Publication of JP6301794B2 publication Critical patent/JP6301794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/04Program control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/045Program control other than numerical control, i.e. in sequence controllers or logic controllers using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23288Adaptive states; learning transitions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Character Discrimination (AREA)
  • Machine Translation (AREA)

Description

本発明の実施形態は、オートマトン変形装置、オートマトン変形方法およびプログラムに関する。
有限状態オートマトン(Finite State Automaton、FSA)は、自然言語処理およびパターン認識等のさまざまな分野で利用されている。例えば、文章中に表れる特定の文字列や文字列のパターンを検索するなどの用途が存在する。FSAは、有限オートマトン(Finite Automaton、FA)、または、有限状態機械(Finite State Machine、FSM)と呼ばれることもある。FSAの遷移に割り当てられている記号を、以下では入力記号と呼ぶこととする。入力記号は、一般には、単に記号と呼ばれることもある。入力記号は他にも、アルファベット、または、文字と呼ばれることもある。
重みが考慮されているFSAは、重み付き有限状態アクセプタ(Weighted Finite State Acceptor)と呼ばれる。重みと出力記号が考慮されているFSAは、重み付き有限状態トランスデューサ(Weighted Finite State Transducer、WFST)と呼ばれる。以下では、重み付き有限状態アクセプタとWFSTとをまとめて、重み付き有限状態オートマトン(Weighted Finite State Automaton、WFSA)と呼ぶこととする。重み付き有限状態アクセプタまたはWFSTにさらに機能が追加されたモデルも、それらの派生モデルであるとして、WFSAに含むものとする。このようなWFSAは、音声認識、手書き文字認識、および、OCR(Optical Character Recognition)などで必要となる辞書またはモデルを表現するために用いられたり、統計的機械翻訳で用いられたりすることがある。
辞書またはモデルから変換されたWFSAは、パターン認識などで用いるために適した構造になっていないことがあるため、変形処理が行われる場合がある。例えば、WFSAの変形処理を行った後で、重みを量子化することでWFSAの記憶に必要となる記憶域のサイズを削減する技術が知られている。
Diamantino Caseiro, "WFST Compression for Automatic Speech Recognition," INTERSPEECH, 2010 "OpenFst Version 1.4.1"、src/include/fst/minimize.h:530行〜580行、[online]、2014年4月29日、[2014年8月20日検索]、インターネット<URL:http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-1.4.1.tar.gz>
しかしながら、従来技術では、変形処理後に重みの量子化を行うため、重みの量子化で発生した不要な経路を取り除けない場合があった。
実施形態のオートマトン変形装置は、変換部と、変形部と、を備える。変換部は、重み付き有限状態オートマトンの遷移に割り当てられた重み、および、重み付き有限状態オートマトンの遷移に割り当てられる重みに変換される値のいずれかである第1値の集合の要素数が減るように、かつ、第1値の順序が維持されるように、第1値を変換した第2値を生成する。変形部は、第2値に応じた重みが遷移に割り当てられた重み付き有限状態オートマトンを変形する。
第1の実施形態のオートマトン変形装置のブロック図。 第1の実施形態のオートマトン変形処理のフローチャート。 処理前のWFSAの例を示す図。 変形処理のみを実行した結果の例を示す図。 重みを変換した後に変形処理を実行した結果の例を示す図。 処理前のWFSAの例を示す図。 変形処理のみを実行した結果の例を示す図。 重みを変換した後に変形処理を実行した結果の例を示す図。 実施形態にかかるオートマトン変形装置のハードウェア図。 第2の実施形態のオートマトン変形装置のブロック図。 第2の実施形態のオートマトン変形処理のフローチャート。 第3の実施形態のオートマトン変形装置のブロック図。 第3の実施形態のオートマトン変形処理のフローチャート。
以下に添付図面を参照して、この発明にかかるオートマトン変形装置の好適な実施形態を詳細に説明する。
(第1の実施形態)
第1の実施形態にかかるオートマトン変形装置は、WFSAの変形処理前に、変形処理によって取り除かれる不要な経路が増えるように重みを変換する。これにより、従来よりも遷移の数が少ないWFSAを得ることができる。
図1は、第1の実施形態にかかるオートマトン変形装置100の構成の一例を示すブロック図である。図1に示すように、オートマトン変形装置100は、変換部101と、変形部102と、を備えている。
変換部101は、変形処理前に、WFSAの遷移に割り当てられる重み(第1値の一例)を変換する。変換部101は、重みの集合の要素数が減るように、かつ、重みの順序が維持されるように、重みを変換して変換後の重み(第2値の一例)を生成する。
変形部102は、変換後の重みが遷移に割り当てられたWFSAを変形する。変形部102による変形処理は、決定化処理、pushing処理、最小化処理、ε除去処理、および、合成処理など、従来から用いられている任意の変形処理を含むことができる。
なお変換部101および変形部102は、例えば、CPU(Central Processing Unit)などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
次に、このように構成された第1の実施形態にかかるオートマトン変形装置100によるオートマトン変形処理について図2を用いて説明する。図2は、第1の実施形態におけるオートマトン変形処理の一例を示すフローチャートである。
変換部101は、WFSAの重みを変換する(ステップS101)。変換部101は、重みが同じになる経路が増えるようにWFSAの重みを変換する。言い換えると、遷移に割り当てられている重みの集合をVとするとき、変換部101は、Vの要素の数が減るように、かつ、重みの順序が維持(保存)されるように重みを変換する。重みの順序が維持されるとは、変換後の重みの集合をV’とし、VからV’への写像をfとするとき、Vの任意の要素x、yに対し、x≦yであれば、f(x)≦f(y)が成り立つことをいう。
次に、変形部102は、重みを変換したWFSAを変形する(ステップS102)。上述のように、変形部102による変形処理は、決定化処理、pushing処理、最小化処理、ε除去処理、および、合成処理などを含むことができる。
次に、ステップS101の変換部101による変換処理の一例を説明する。変換部101は、以下の変換処理1〜5のいずれか、または、複数の組み合わせにより重みを変換する。
(変換処理1)
変換部101は、浮動小数点数に対して小数点以下の切り捨て、切り上げ、および、四捨五入などを行うことで、浮動小数点形式の数を整数形式の数に変換する。重みが割り当てられている遷移のうち、小数点以下の数が異なっている重みが割り当てられている遷移が2つ以上あれば、この変換によってVの要素が減る。仮にV={1,1.2,2.1}である場合は、小数点以下を切り捨てると、変換後の重みの集合V’は{1,2}となり、要素の数が減ることがわかる。さらに、1と1.2は1に変換され、2.1は2に変換されており、重みの順序も維持されていることがわかる。
(変換処理2)
変換部101は、浮動小数点数(浮動小数点形式の数)を固定小数点数(固定小数点形式の数)へと変換する。固定小数点数では小数点以下の桁数が限られているため、保持できる桁数未満の値は整数化の場合と同様に切り捨て、切り上げ、および、四捨五入などを行う。
(変換処理3)
変換部101は、1つの重みを保持するために用いる記憶域のビット数を減らす。すなわち変換部101は、変換後の重みを表現するビット数を、変換前の重みを表現するビット数より小さくするように、重みを変換する。記憶域のビット数を減らす方法の例を以下に挙げる。
1つ目は、倍精度浮動小数点型で表されている重みを単精度浮動小数点型に変換する方法である。この変換により有効桁数が少なくなるため、倍精度浮動小数点型ではわずかに異なるが単精度浮動小数点型では同じとなる2つの重みがそれぞれ少なくとも1つ、いずれかの遷移に割り当てられていれば、Vの要素が減ることになる。
2つ目は、全ての遷移の重みが整数であるときに、保持に必要なビット数を減らす方法である。変換前の重みがxビット整数で表されているときにyビットに減らすには、2の(x−y)乗で割り、小数点以下の切り捨て、切り上げ、および、四捨五入などを行えばよい。下位の(x−y)ビットのみが異なる重みがいずれかの遷移に割り当てられていれば、Vの要素が減る。
3つ目は、変換テーブルを用いる方法である。重みの変換のためのテーブルを事前に作成しておき、変換前の値が最も近い値をテーブルから見つけ、その値に変換、または、その値のテーブル上でのインデックスに変換する。これにより、Vの要素の数を減らすことができる。テーブル上でのインデックスに変換する場合、見かけ上の重みの順序が維持されない可能性があるが、そのインデックスが示す値においては重みの順序は維持されている。
変換処理3を用いると、ステップS101のような変換処理を用いない従来技術に比べて遷移の数が少ないWFSAを得られる効果の他に、ステップS102のような変形処理における記憶域を削減するという効果も得られる。これは、重みの記憶に必要な記憶域が減るためである。
(変換処理4)
変換部101は、重みを定数倍し、その後、変換前の重みの表現形式と異なる表現形式である整数や固定小数点数に変換する。定数をαとするとき、αは0以外の実数であればよい。αが0より大きく1未満であれば、値が零に近づくため、整数や固定小数点に変換したときに、α倍をしない場合に比べてVの要素の数が少なくなる。一方、αが1より大きければ、整数や固定小数点に変換したときに、α倍をしない場合に比べてVの要素の数が多くなる。αを負の値としても効果は同じである。この方法を用いると、αによって、ステップS101の変換処理後の重みの精度と、Vの要素の数を制御することができる。α倍することで重みがとりうる値の範囲が変わるため、ステップS102の変形処理の後に、重みを1/α倍することで、重みをステップS101の値の範囲に戻すように構成することもできる。別の異なるモデルから生成されたWFSAと組み合わせて使用する場合に、重みをβ倍して使用するのであれば、β/α倍するように構成することもできる。
(変換処理5)
変換部101は、変換処理4でステップS102の後に重みを1/α倍する代わりに、ステップS101の時点で重みを1/α倍する方法である。
なお、上記各変換処理で、浮動小数点数を整数へと変換する処理、浮動小数点数を固定小数点数へと変換する処理、および、倍精度浮動小数点型で表されている重みを単精度浮動小数点型に変換する処理などは、変換後の重みの表現形式を、変換前の重みと異なる表現形式に変換する処理の例である。
次に、ステップS102の変形処理の例についてさらに説明する。上述のように、変形部102は、決定化処理、pushing処理、最小化処理、ε除去処理、および、合成処理などの変形処理を実行する。
決定化処理は、ある状態から出ていく遷移の入力記号が互いに異なるようにWFSAを変形する処理である。pushing処理は、重みを移動させる処理である。最小化処理は、入力記号と重みを1つの入力記号であるとみなすことで有限状態オートマトンとし、それを最小化する処理である。ε除去処理は、入力記号が割り当てられていない遷移を取り除く処理である。合成処理は、2つのWFSTを1つに合成する処理を表す。
これらの変形処理では、重みの計算が半環(semiring)によって抽象化されている。用いられる重みの演算には、(+)と(×)の2つが存在する。一般的には、(+)は+を丸で囲った記号が、(×)は×を丸で囲った記号が用いられる。
例えば、トロピカル半環では、(+)はmin、(×)は+である。すなわち、1(+)2=1、1(×)2=3となる。対数半環(log semiring)では、x(+)y=−log(e−x+e−y)、(×)は+である。確率半環(probability semiring)では、(+)は+、(×)は×である。
次に、ステップS101による重みの変換によってステップS102の遷移の数が減少する具体例を説明する。
(具体例1−1)
具体例1−1は、ステップS101の変換処理が、浮動小数点数から小数点以下を切り捨てることで整数化する重みの変換処理(上記の(変換処理1))であり、ステップS102の処理が決定化処理であり、さらに、決定化処理における重みの計算にトロピカル半環を用いた例である。
図3は、処理前のWFSA(以下A1とする)を示す図である。丸が状態を表し、矢印が遷移を表す。太線の丸は初期状態を表し、二重丸は終了状態を表す。遷移の付近に記載されているラベルのうち、「/」の左側が入力記号であり、右側が重みである。
図4は、ステップS101のような変換処理を行わずに、ステップS102(決定化処理)のみを実行した結果を示す図である。すなわち、図4は、A1を決定化した結果を示す。
図3のA1に対し、ステップS101の変換処理によって重みを変換すると、図3の状態1から状態2への遷移のうち、入力記号がB、重みが1.1である遷移の重みは、1に変換される。同様に、状態1から状態3への遷移のうち入力記号がA、重みが2.1の遷移の重みは、2に変換される。さらに、状態1から状態3への遷移のうち入力記号がB、重みが2.3の遷移の重みは、2に変換される。重みの変換前の重みの集合はV={0,1,1.1,2.1,2.3}であった。変換後はV’={0,1,2}となり、Vの要素の数が減っている。
図5は、このように重みを変換した後のA1を決定化した結果を示す図である。図4の遷移の数は6本であるが、図5の遷移の数は4本であり、遷移の数が減っていることがわかる。
この具体例1−1のように、ステップS102の変形処理で用いる重みの計算方法(トロピカル半環を用いた計算など)に応じて、ステップS101の変換処理を構成してもよい。すなわち、変換部101が、変換後の重みの表現形式が、変形処理に応じて定められる表現形式となるように変換処理を実行してもよい。上記例では、トロピカル半環を用いる計算に合わせて、整数化する変換処理を適用している。このように構成することにより、変形処理で用いる重みの計算方法を変更する必要がなくなる。
(具体例1−2)
具体例1−2は、具体例1−1の重みの計算を、対数半環を用いる計算に変えた例である。この場合、1(+)2.1≒0.7127、1.1(+)2.3≒0.8367等となる。従って、ステップS101のような変換処理を行わずに決定化した結果は、図4の重みを次のように変えたものとなる。
・状態1から状態2への遷移の重み:0.7127
・状態1から状態3への遷移の重み:0.8367
・状態2から状態4への遷移のうち入力記号がCの遷移の重み
:0.2873
・状態2から状態4への遷移のうち入力記号がDの遷移の重み
:2.3873
・状態3から状態4への遷移のうち入力記号がCの遷移の重み
:0.2633
・状態3から状態4への遷移のうち入力記号がDの遷移の重み
:2.4633
一方、ステップS101の変換処理により重みを変換した後に決定化した結果は、図5の重みを次のように変えたものとなる。
・状態1から状態2への2つの遷移の重み:(いずれも)0.6867
・状態2から状態3への遷移のうち入力記号がCの遷移の重み
:0.3133
・状態2から状態3への遷移のうち入力記号がDの遷移の重み
:2.3133
このように、重みの計算の結果、整数以外の値が得られることになるが、遷移の数は具体例1−1と同様に減る。
ところで、計算結果を単精度浮動小数点数で保持すると、1つの重みを記憶するのに32ビット必要となる。これを16ビットの整数値で記憶するようにすれば、重みを保持するために必要な記憶域を減らすことができる。そこで、対数半環の(+)を以下の(1)式のように変更する。
x(+)y=FLOOR(−log(b−x+b−y))・・・(1)
ここで、FLOORは小数点以下を切り捨てる関数である。bは1を除く正の実数である。このように変更することで、ステップS102の変形処理に必要な記憶域を削減することができる。このように、変形処理後の重みの表現形式が、ステップS101の変換処理で得られる重みの表現形式と同じになるように、ステップS102の変形処理で用いる演算を構成してもよい。表現形式を整数以外とする場合は、上記FLOORの代わりに、所定の表現形式に変換するための任意の関数CONVを用いればよい。
(具体例1−3)
具体例1−3は、ステップS101で上記の変換処理5を用いるように構成する例である。より具体的には、ステップS101の変換処理で整数値をいくつかまとめることで、Vの要素の数を減らす例である。ステップS102の変形処理は、pushing処理を行った後、オートマトンの最小化処理を行う処理とする。さらに、pushing処理における重みの計算にトロピカル半環を用いるものとする。この例ではステップS101の重みの変換処理で、α=2、すなわち、重みの変換をFLOOR(x/2)×2で計算する方法を用いる。ここで、xは重みである。
図6は、この例で用いる処理前のWFSA(以下A2とする)である。図7は、A2に対し、ステップS102の変形処理(pushing処理を行い、入力記号と重みの組を入力記号とみなしてオートマトンを最小化処理)のみを行った結果を示す図である。
図6のA2に対し、ステップS101で重みの変換を行うと、図6の状態2から状態4への遷移のうち入力記号がCの遷移の重み9は8となる。また、状態1から状態2への遷移の重み1は0となる。それ以外の重みは元のままである。
図8は、このように重みを変換したA2に対してステップS102の変形処理を行った結果を示す図である。遷移の数が、6本から4本に減っていることがわかる。整数ではなく、浮動小数点数や固定小数点数をいくつかまとめるようにするよう構成することもできる。
なお、この例でのステップS102の処理のうち、オートマトンの最小化処理は、WFSAの遷移に割り当てられる入力記号や重みなどを1つの入力記号として処理する。このため、遷移そのものが削除されることや、遷移の接続先の状態が変更されることはあるが、遷移に割り当てられた重みが変更されることはない。
一方、pushing処理では遷移に割り当てられた重みが変更される。具体例1−1で挙げた決定化処理においても同様に重みが変更される。ステップS102で行われるWFSAの変形処理に伴い、重みが変更される遷移が接続する状態が変化することがある。この場合、変形前のある遷移の重みが、その遷移に対応する変形後の遷移の重みと異なれば、その遷移の重みを変更したと考えることができる。すなわち、重みを変更するステップがWFSAの変形処理に含まれているということである。
WFSAの変形処理の1つであるpushing処理は遷移の接続を変更することはないが、重みを変更するステップを含んでいる。変形前の、ある遷移に対応する変形後の遷移は、変形処理の内容ごとに異なる。
変形処理が決定化処理であれば、ある入力記号列xに対応する変形前の初期状態からの経路の最後の遷移は、xに対応する変形後の初期状態からの経路の最後の遷移に対応している。
変形処理がε除去処理であれば、変形処理によって、変形前のある状態qからε遷移のみで到達できる状態q’から出て行く遷移eが、状態qから出て行く遷移e’に変更される。このとき、eはe’に対応している。qとq’の間のε遷移のみからなる経路を構成する遷移の重みを合わせた値が0でなければ、eとe’の重みの値は異なることとなる。すなわち、重みが変更される。ここで、ε遷移とは、入力記号がε、すなわち空を表す記号が割り当てられている遷移のことを言う。
(具体例1−4)
具体例1−4は、ステップS102の処理内容を増やした例である。この例では、単語のつながりを表す言語モデルを表すWFST(以下Gとする)と、単語の音素の並びを表すWFST(以下Lとする)を用いる。
まず、ステップS101の変換処理をGに対して行う。処理後のGをG’とする。ステップS102では、LとG’とを合成する合成処理を行い、その後、決定化処理、pushing処理、および、最小化処理を順に行う。最小化処理の後に、さらにε除去処理を行うように構成してもよい。具体例1−1で用いた決定化処理や、具体例1−3で説明したpushing処理と最小化処理がステップS102に含まれている。このため、ステップS101を行わない場合に比べて、ステップS102の処理後に得られるWFSAの遷移の数は減少する。
次に、本実施形態にかかるオートマトン変形装置100のハードウェア構成について図9を用いて説明する。図9は、本実施形態にかかるオートマトン変形装置100のハードウェア構成例を示す説明図である。
図9に示されるようにオートマトン変形装置100は、CPU(Central Processing Unit)1と、操作部2と、表示部3と、ROM(Read Only Memory)4と、RAM(Random Access Memory)5と、記憶部6と、バス7とを備えている。各部はバス7により接続されている。
CPU1は、RAM5の所定領域を作業領域として、ROM4または記憶部6に予め記憶された各種制御プログラムとの協働により各種処理を実行し、オートマトン変形装置100を構成する各部の動作を統括的に制御する。またCPU1は、ROM4または記憶部6に予め記憶された所定のプログラムとの協働により上記各機能部の機能を実現させる。
操作部2は、マウスやキーボード等の入力デバイスであって、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をCPU1に出力する。
表示部3は、LCD(Liquid Crystal Display)等の表示装置により構成され、CPU1からの表示信号に基づいて、各種情報を表示する。
ROM4は、オートマトン変形装置100の制御にかかるプログラムや各種設定情報等を書き換え不可能に記憶する。
RAM5は、SDRAM等の揮発性の記憶媒体であって、CPU1の作業エリアとして機能する。具体的には、WFSAの変形処理時において生成される各種変数やパラメータの値等を一時記憶するバッファ等の役割を果たす。
記憶部6は、フラッシュメモリ等の半導体による記憶媒体や、磁気的または光学的に記録可能な記憶媒体を有し、オートマトン変形装置100の制御にかかるプログラムや各種設定情報等を書き換え可能に記憶する。また記憶部6は、WFSAに係る各種の情報を予め記憶したり、WFSAの変形処理の処理結果である出現位置付きWFSAを記録したりする。
本実施形態にかかるオートマトン変形装置で実行されるプログラムは、ROM4等に予め組み込まれて提供される。
本実施形態にかかるオートマトン変形装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、本実施形態にかかるオートマトン変形装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかるオートマトン変形装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施形態にかかるオートマトン変形装置で実行されるプログラムは、コンピュータを上述したオートマトン変形装置の各機能部として機能させうる。このコンピュータは、CPU1がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
このように、第1の実施形態にかかるオートマトン変形装置では、従来技術よりも遷移の数が少ない重み付き有限状態オートマトンを得ることが可能となる。
(第2の実施形態)
WFSAとして取り扱いたいモデルがWFSAの形式で表現されていないことがある。このような場合は、そのモデルをWFSAへと変換する必要がある。このとき、WFSAへ変換した後に第1の実施形態で述べた重みの変換を行うこともできるが、変換後にWFSAの重みとなる値をモデルの段階で変換しておく方法も考えられる。第2の実施形態にかかるオートマトン変形装置は、このようにモデルの段階で重みを変換する。
図10は、第2の実施形態にかかるオートマトン変形装置200の構成の一例を示すブロック図である。図10に示すように、オートマトン変形装置200は、変換部201と、変形部102とを備えている。変形部102の機能は第1の実施形態と同様であるため同一の符号を付し説明を省略する。
変換部201は、WFSAの遷移に割り当てられた重みではなく、モデルで設定される値でありモデルからWFSAへの変換時にWFSAの遷移に割り当てられる重みに変換される値(第1値の一例)を変換する。変換部201は、当該値の集合の要素数が減るように、かつ、値の順序が維持されるように、この値を変換して変換後の値(第2値の一例)を生成する。
さらに変換部201は、値を変換した後のモデルをWFSAに変換する機能を備える。モデルからWFSAへの変換時には、変換後の値(第2値の一例)に応じた値(第3値の一例)が、WFSAの重みとして割り当てられる。
次に、このように構成された第2の実施形態にかかるオートマトン変形装置200によるオートマトン変形処理について図11を用いて説明する。図11は、第2の実施形態におけるオートマトン変形処理の一例を示すフローチャートである。
変換部201は、モデルからWFSAへの変換処理(ステップS203)によってWFSAの重みとなる、モデルに設定された値を変換する(ステップS201)。変換部201は、値を変換した後のモデルをWFSAへ変換する(ステップS202)。ステップS203は第1の実施形態にかかるオートマトン変形装置100におけるステップS102と同様の処理なので、その説明を省略する。
次に、本実施形態のオートマトン変形処理の具体例を説明する。
(具体例2−1)
具体例2−1では、モデルがNグラム言語モデルである場合について説明する。説明を簡単にするため、Nグラム言語モデルはバイグラムであるとする。なお、NグラムのNが2以外の場合でも同様に行うことができる。また、単語w1の後に続く単語w2の出現確率をP(w2|w1)とするとき、ステップS202の処理によってWFSAの重みに割り当てられる値は、−log(P(w2|w1))であるとする。
ステップS201では、モデルに設定された値を、値の集合Vの要素数を減少させるように変換する、第1の実施形態の変換部101による変換処理1〜5と同様の方法を用いることができる。
ステップS201の変換処理が、実数値を小数点1桁まで有効な固定小数点数へ四捨五入によって変換する処理であり、モデルに設定された値が−log(P(w2|w1))=0.11である場合は、この値は0.1に変換される。モデルに設定された値が−log(P(w2|w1))=1.37であれば、この値は1.4に変換される。変換後の各値がステップS202によりWFSAの重みに割り当てられる。用途によっては、対数をとらずに出現確率をそのままWFSAの重みに割り当てることも考えられる。その場合は、出現確率そのものに対してステップS201の変換処理を実施すればよい。
(具体例2−2)
具体例2−2では、モデルが隠れマルコフモデル(Hidden Markov Model、HMM)である場合について説明する。HMMをWFSAへ変換する場合、HMMの遷移確率をWFSAの重みに割り当てることができる。従って、ステップS201で行われる値の変換は、HMMの遷移確率に対して行われる。Nグラム言語モデルの場合と同じく、対数をとった値に対してステップS201の変換処理を実施し、変換処理で得られた値を重みに割り当てるようにしてもよい。
(具体例2−3)
具体例2−3では、モデルが単語の発音モデルである場合について説明する。例えば、「water」の発音は、辞書によると3種類存在する。従って各発音に対して、それぞれの発音のされやすさに応じた値を割り当てることができる。この値を、WFSAの重みに割り当てるように、ステップS202で変換が行われる。この場合、ステップS201の変換は、発音のされやすさに応じた値に対して行われる。
(具体例2−4)
具体例2−4では、モデルが発音の変形を表すモデル(発音変形モデル)である場合について説明する。例えば、具体例2−3では「water」の発音が3つ存在すると記載したが、これらのうちの1つの発音を別の発音へと変形するためのモデルを考えることができる。このモデルは、変形のされやすさを表す値を含むことができる。この値をWFSAの重みに割り当てるように、ステップS202で変換が行われる。この場合、ステップS201の変換は、変形のされやすさを表す値に対して行われる。
(具体例2−5)
OCRや手書き文字認識では、文字を構成する各部分を認識し、それらを組み合わせることで得られる文字のうち、最も尤もらしい文字を選ぶことがある。それらの組み合わせの尤もらしさを表すモデルを文字モデルと呼ぶこととする。具体例2−5では、文字モデルがWFSAとして取り扱いたいモデルである場合について説明する。文字を構成する各部分の組み合わせの尤もらしさは数値で表される。この値をWFSAの重みに割り当てるように、ステップS202で変換が行われる。この場合、ステップS201で行われる値の変換は、尤もらしさを表す数値に対して行われる。
このように、第2の実施形態にかかるオートマトン変形装置では、従来技術よりも遷移の数が少ない重み付き有限状態オートマトンを得ることが可能となる。
(第3の実施形態)
第3の実施形態にかかるオートマトン変形装置は、第1の実施形態のオートマトン変形処理(例えば図2のステップS101、S102)の後に、再度重みの形式を変換し、さらにWFSAの重みの値を変更する処理を加える。重みの値を変更することで、ステップS101の処理によって重みが同じとなった複数の経路を、重みが異なる経路にすることができる。
図12は、第3の実施形態にかかるオートマトン変形装置300の構成の一例を示すブロック図である。図12に示すように、オートマトン変形装置300は、変換部301と、変形部102とを備えている。変形部102の機能は第1の実施形態と同様であるため同一の符号を付し説明を省略する。
変換部301は、WFSAの重みの表現形式を変換する機能、および、表現形式を変換した後の重みの値に微小な変動を加えて値を変更する機能をさらに備える点が、第1の実施形態の変換部101と異なる。微小な変動とは、例えば、補正前の値と補正後の値との差分が許容値以内となることを意味する。許容値は、例えば変動によっても値の順序が維持されるような値を用いる。
次に、このように構成された第3の実施形態にかかるオートマトン変形装置300によるオートマトン変形処理について図13を用いて説明する。図13は、第3の実施形態におけるオートマトン変形処理の一例を示すフローチャートである。
ステップS301およびステップS302は、第1の実施形態のステップS101およびステップS102と同様の処理なので、その説明を省略する。
変換部301は、ステップS302で変形されたWFSAの重みの表現形式を変換する(ステップS303)。例えば、ステップS301の処理後の重みの表現形式が整数であれば、変換部301は、整数形式を浮動小数点形式に変換する。ステップS303では、変換部301は、ステップS301の変換前の形式と同じ形式に変換してもよいし、別の形式に変換してもよい。ただし、ステップS304の処理結果を反映できる形式でなければならない。
変換部301は、形式を変換した後のWFSAの重みに微小な変動を与える(ステップS304)。この処理により、重みが同じとなる経路を減少させることができる。
各経路の重みが異なるように変更する利点は、例えば、WFSAの初期状態から終了状態までの経路のうち、重みが最も小さい経路の入力記号列を得る処理を行う問題を考えるとわかる。
例えば、ステップS301の処理前は、重みが最も小さい経路π1が一意に決まっており、その結果、入力記号列も一意に決まっているものとする。また、π1の重みに近い重みとなる経路が1つ以上存在し、その1つをπ2とする。ステップS301の処理前はπ1の重みとπ2の重みは異なっているが、その差異がステップS301にとって十分に小さければ、ステップS301の処理後はπ1の重みとπ2の重みが同じとなる。
その結果、重みが最も小さい経路が、π1とπ2の2つとなる。すなわち、ステップS301の処理前は一意に決まっていた、重みが最も小さい経路の入力記号列が複数現れることになる。
これは、いずれの入力記号列を結果とするかを、重み以外の別の方法で決める必要が生じることを意味する。本実施形態では、ステップS303とステップS304を行うことで、多くの場合、これを解消することができる。
第1の実施形態の変換処理4と同様の方法を本実施形態でも用いることができる。この場合、第1の実施形態の場合と同様に、ステップS302の直後に、重みを1/α倍する処理を行うこともできるが、ステップS303の後に行うように構成することもできる。
上記問題について、さらに図3を用いて具体的に説明する。図3でとりうる経路は、以下の4つの経路である。重みが最小の経路の入力記号列はACである。
(P1−1)入力記号列がAC、重みが1
(P1−2)入力記号列がBC、重みが1.1
(P1−3)入力記号列がAD、重みが3.1
(P1−4)入力記号列がBD、重みが3.3
一方、図5のWFSAは、ステップS301とステップS302によって図3のWFSAを処理した結果に相当する。図5のWFSAの経路は、以下の4つの経路となる。
(P2−1)入力記号列がAC、重みが1
(P2−2)入力記号列がBC、重みが1
(P2−3)入力記号列がAD、重みが3
(P2−4)入力記号列がBD、重みが3
このように、ステップS301およびステップS202を実行すると、重みが最小の経路の入力記号列はACまたはBCとなる。すなわち、重みが最小の経路は一意に決まらない。
そこで、本実施形態では、上記のように変換部301がWFSAの重みに微小な変動を与えることで、重みが同じとなる経路を減少させる。以下に、微小な変動を重みに与える処理の具体例を説明する。
(具体例3−1)
具体例3−1は、ランダムな変動を重みに与える方法である。変換部301は、WFSAに含まれる各遷移eについて、各遷移の重みw(e)をw(e)+random(δ)で置き換える。ここで、δは微小な値であり、上記の許容値に相当する。例えばδは、遷移に割り当てられている重みに比べて十分に零に近い値であるとする。random(δ)は遷移ごとに生成される値であり、[−δ,+δ]の範囲のランダムな値が生成される関数であるとする。
(具体例3−2)
具体例3−2は、WFSAの遷移の入力記号に基づいて重みに変動を与える方法である。入力記号は数字に対応付けることができる。そこで変換部301は、その数字の大きい順や小さい順に変動値を決め、その値を、その入力記号があった重みに加える。例えば、入力記号がaからzまでの英字の小文字で表されている場合、変換部301は、a=13δ、b=12δ、c=11δ、・・・、m=δ、n=−δ、o=−2δ、・・・、x=−11δ、y=−12δ、z=−13δのように変動値を決定する。なお例えば「a=13δ」は、入力記号「a」に対する変動値を「13δ」に決定することを意味する。
(具体例3−3)
具体例3−3は、WFSAに変換される前のモデルに基づいた方法である。ここではNグラム言語モデルを用いた例で説明するが、第2の実施形態で例示したモデルや、それ以外のモデルでも同様に処理することができる。Nグラムがバイグラムである場合を考える。単語w1の後に単語w2が出現する確率をP(w2|w1)とするとき、変換部301は、単語w2が入力記号として割り当てられている遷移eの重みに、−δlog(P(w2|w1))を加える。w1は遷移eに到達する経路の入力記号列の最後の単語である。w1となる単語が複数ある場合は、それらの出現確率の平均値をP(w2|w1)として、変動値を計算することができる。ユニグラムP(w2)をP(w2|w1)の代わりに用いるようにしてもよい。NグラムのNが3以上の場合も、遷移eに到達する経路の入力記号列の最後からN−1個の単語を使用すれば、バイグラムの場合と同様に処理することができる。
微小な値δを決める方法には以下のように様々な方法が考えられる。
決定方法1:WFSAの遷移の重みのうち、0以外で最も0に近い値よりも小さい値とする方法。
決定方法2:WFSAの遷移の重みに関して互いに差分値を求め、差分値のうち0以外で最も0に近い値をδとする方法。
決定方法3:ステップS301を実施する前の重みと後の重みの差分値を各遷移に対して計算し、差分値のうち0以外で最も0に近い値をδとする方法。δの値が正の値になるよう、絶対値をとってもよいし、さらに、予め定めた固定値を掛けてもよい。
決定方法4:決定方法1〜3などの方法で得られたδの値を遷移の数に基づく値で割り、その値をδとする方法。遷移の数に基づく値とは、例えば、遷移の総数である。遷移の数に基づく値を、初期状態から終了状態までの経路のうち、遷移の数が最も少ない経路の遷移の数とすることもできる。さらに、WFSAに循環経路がなければ、初期状態から終了状態までの経路のうち、遷移の数が最も多い経路の遷移の数を、遷移の数に基づく値とすることもできる。
ステップS303の処理後の重みの表現形式で表現できる範囲であれば、δをさらに小さな値にしてもよい。逆に、大きな値にしてもよい。
このように、第3の実施形態にかかるオートマトン変形装置では、重み等の変換によって重みが同じとなった複数の経路の重みを、異なる重みに変更することで、重みが同じ経路を減らすことが可能となる。これにより、重みが同じ経路から処理結果とする経路を決定する処理を不要とすることが可能となる。
(各実施形態の適用分野)
以上で説明した方法は、WFSAを用いる様々な分野で利用することができる。
音声認識の場合には、HMM、単語の発音辞書、および、言語モデルなどをWFSTで表す。これらは、ステップS102の例として挙げた合成処理、決定化処理、および、最小化処理などにより最適化される。これらの一連の処理の前、または、途中にステップS101を行うと、第1の実施形態における効果を得ることができる。HMM、単語の発音辞書、および、言語モデルをWFSTに変換する際に、ステップS201とステップS202を行うと、第2の実施形態における効果を得ることができる。
OCR、手書き文字認識、および、ジェスチャー認識などの系列データ認識に関しても、WFSTを用いる手法を用いる場合には、音声認識と同様に第1の実施形態や第2の実施形態による効果を得ることができる。
そのほかにも、統計的な機械翻訳、文章要約、および、文章へのタグ付け(例えば、品詞)などでもWFSAを用いる手法であれば、第1の実施形態や第2の実施形態による効果を得ることができる。
以上説明したとおり、第1から第3の実施形態によれば、遷移の数がより少ない重み付き有限状態オートマトンを得ることが可能となる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 CPU
2 操作部
3 表示部
4 ROM
5 RAM
6 記憶部
7 バス
100、200、300 オートマトン変形装置
101、201、301 変換部
102 変形部

Claims (21)

  1. 重み付き有限状態オートマトンの遷移に割り当てられた重み、および、重み付き有限状態オートマトンの遷移に割り当てられる重みに変換される値のいずれかである第1値の集合の要素数が減るように、かつ、前記第1値の順序が維持されるように、前記第1値を変換した第2値を生成する変換部と、
    前記第2値に応じた重みが遷移に割り当てられた重み付き有限状態オートマトンを変形する変形部と、
    を備えるオートマトン変形装置。
  2. 前記第1値は、重み付き有限状態オートマトンの遷移に割り当てられた重みであり、
    前記変形部は、前記第2値が重みとして遷移に割り当てられた重み付き有限状態オートマトンを変形する、
    請求項1に記載のオートマトン変形装置。
  3. 前記第1値は、重み付き有限状態オートマトンへ変換されるモデルで設定される値、かつ、前記モデルを重み付き有限状態オートマトンに変換するときに重み付き有限状態オートマトンの遷移に重みとして割り当てられる値であり、
    前記変換部は、さらに、前記第1値を変換した前記第2値が設定された前記モデルを、前記第2値に応じた第3値が遷移の重みとして割り当てられるように重み付き有限状態オートマトンに変換し、
    前記変形部は、前記第3値が重みとして遷移に割り当てられた重み付き有限状態オートマトンを変形する、
    請求項1に記載のオートマトン変形装置。
  4. 前記モデルは、言語モデル、発音モデル、発音変形モデル、文字モデル、および、隠れマルコフモデルのいずれかである、
    請求項3に記載のオートマトン変形装置。
  5. 前記第2値の表現形式は、前記第1値の表現形式と異なる、
    請求項1に記載のオートマトン変形装置。
  6. 前記第2値の表現形式は、前記変形部による変形処理に応じて定められる表現形式である、
    請求項5に記載のオートマトン変形装置。
  7. 前記変形部は、変形後の重みの表現形式が、前記第2値の表現形式と同じ表現形式となるように、前記重み付き有限状態オートマトンを変形する、
    請求項5に記載のオートマトン変形装置。
  8. 前記変形部は、CONV(−log(b−x+b−y))を含む変形処理により、前記重み付き有限状態オートマトンを変形する、
    請求項5に記載のオートマトン変形装置。
    ここで、x、yは重み、bは1以外の正の実数、CONVは遷移の重みを所定の表現形式に変換する関数である。
  9. 前記第2値を表現するビット数は、前記第1値を表現するビット数より小さい、
    請求項5に記載のオートマトン変形装置。
  10. 前記第1値の表現形式は浮動小数点形式であり、
    前記第2値の表現形式は整数形式である、
    請求項5に記載のオートマトン変形装置。
  11. 前記第1値の表現形式は浮動小数点形式であり、
    前記第2値の表現形式は固定小数点形式である、
    請求項5に記載のオートマトン変形装置。
  12. 前記変換部は、前記第1値を定数倍した後に、表現形式の異なる前記第2値に変換する、
    請求項5に記載のオートマトン変形装置。
  13. 前記変換部は、さらに、前記変形部により変形された前記重み付き有限状態オートマトンの遷移に割り当てられた重みの表現形式を変換する、
    請求項1に記載のオートマトン変形装置。
  14. 前記変換部は、さらに、表現形式を変換した重みのうち1つ以上の重みを、補正後の値との差分が許容値以内となるように補正する、
    請求項13に記載のオートマトン変形装置。
  15. 前記変換部は、表現形式を変換した重みのうち1つ以上の重みを、補正後の値との差分が許容値以内となるようにランダムに選択された値に補正する、
    請求項14に記載のオートマトン変形装置。
  16. 前記重み付き有限状態オートマトンは、単語の出現確率が設定される言語モデルに基づいて生成され、
    前記変換部は、表現形式を変換した重みのうち1つ以上の重みを、対応する遷移に割り当てられた単語の出現確率に基づく値であって、補正後の値との差分が許容値以内となる値に補正する、
    請求項14に記載のオートマトン変形装置。
  17. 前記変形部は、少なくとも1つの遷移に割り当てられた重みを変更する処理を含む変形処理により、前記第2値に応じた重みが遷移に割り当てられた重み付き有限状態オートマトンを変形する、
    請求項1に記載のオートマトン変形装置。
  18. 前記変形部は、決定化処理、pushing処理、合成処理、および、ε除去処理のいずれか1つを含む変形処理により、前記第2値に応じた重みが遷移に割り当てられた重み付き有限状態オートマトンを変形する、
    請求項1に記載のオートマトン変形装置。
  19. 前記変形部は、前記第2値に応じた重みが遷移に割り当てられた複数の重み付き有限状態オートマトンを前記合成処理によって合成した重み付き有限状態オートマトンに対して、決定化処理、pushing処理、および、最小化処理を順に行う、
    請求項18に記載のオートマトン変形装置。
  20. 変換部が、重み付き有限状態オートマトンの遷移に割り当てられた重み、および、重み付き有限状態オートマトンの遷移に割り当てられる重みに変換される値のいずれかである第1値の集合の要素数が減るように、かつ、前記第1値の順序が維持されるように、前記第1値を変換した第2値を生成する変換ステップと、
    変形部が、前記第2値に応じた重みが遷移に割り当てられた重み付き有限状態オートマトンを変形する変形ステップと、
    を含むオートマトン変形方法。
  21. コンピュータを、
    重み付き有限状態オートマトンの遷移に割り当てられた重み、および、重み付き有限状態オートマトンの遷移に割り当てられる重みに変換される値のいずれかである第1値の集合の要素数が減るように、かつ、前記第1値の順序が維持されるように、前記第1値を変換した第2値を生成する変換部と、
    前記第2値に応じた重みが遷移に割り当てられた重み付き有限状態オートマトンを変形する変形部、
    として機能させるためのプログラム。
JP2014190377A 2014-09-18 2014-09-18 オートマトン変形装置、オートマトン変形方法およびプログラム Active JP6301794B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014190377A JP6301794B2 (ja) 2014-09-18 2014-09-18 オートマトン変形装置、オートマトン変形方法およびプログラム
US14/826,398 US10452355B2 (en) 2014-09-18 2015-08-14 Automaton deforming device, automaton deforming method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014190377A JP6301794B2 (ja) 2014-09-18 2014-09-18 オートマトン変形装置、オートマトン変形方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016061975A JP2016061975A (ja) 2016-04-25
JP6301794B2 true JP6301794B2 (ja) 2018-03-28

Family

ID=55526060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014190377A Active JP6301794B2 (ja) 2014-09-18 2014-09-18 オートマトン変形装置、オートマトン変形方法およびプログラム

Country Status (2)

Country Link
US (1) US10452355B2 (ja)
JP (1) JP6301794B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6453631B2 (ja) 2014-11-28 2019-01-16 株式会社東芝 認識システム、認識方法およびプログラム
JP6562698B2 (ja) 2015-04-28 2019-08-21 株式会社東芝 ラティス確定装置、パターン認識装置、ラティス確定方法およびプログラム
JP2018013590A (ja) 2016-07-20 2018-01-25 株式会社東芝 生成装置、認識システム、有限状態トランスデューサの生成方法、および、データ

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4956334A (ja) 1972-10-02 1974-05-31
JPS4977163A (ja) 1972-11-30 1974-07-25
JPS5121650A (ja) 1974-08-14 1976-02-20 Kubota Ltd Kureensha
US6073098A (en) * 1997-11-21 2000-06-06 At&T Corporation Method and apparatus for generating deterministic approximate weighted finite-state automata
US6587844B1 (en) * 2000-02-01 2003-07-01 At&T Corp. System and methods for optimizing networks of weighted unweighted directed graphs
US8290774B1 (en) * 2001-07-20 2012-10-16 At&T Intellectual Property Ii, L.P. System and method of epsilon removal of weighted automata and transducers
EP1331630A3 (en) * 2002-01-07 2006-12-20 AT&T Corp. Systems and methods for generating weighted finite-state automata representing grammars
GB2409750B (en) 2004-01-05 2006-03-15 Toshiba Res Europ Ltd Speech recognition system and technique
JP4243777B2 (ja) 2004-07-15 2009-03-25 日本電信電話株式会社 トランスデューサ処理装置、機械翻訳モデル作成装置、音声認識モデル作成装置、トランスデューサ処理方法、トランスデューサ処理プログラム、および、記録媒体
JP2006084942A (ja) * 2004-09-17 2006-03-30 Nippon Telegr & Teleph Corp <Ntt> 変換情報生成方法、音素系列生成方法、音声認識方法、ならびにこれらの装置、及びプログラム
JP4241771B2 (ja) 2006-07-04 2009-03-18 株式会社東芝 音声認識装置及びその方法
JP4956334B2 (ja) 2007-08-29 2012-06-20 株式会社東芝 オートマトンの決定化方法、有限状態トランスデューサの決定化方法、オートマトン決定化装置及び決定化プログラム
GB2453366B (en) 2007-10-04 2011-04-06 Toshiba Res Europ Ltd Automatic speech recognition method and apparatus
JP5121650B2 (ja) 2008-09-26 2013-01-16 株式会社東芝 情報処理装置、情報処理方法及びプログラム
JP4977163B2 (ja) 2009-03-30 2012-07-18 株式会社東芝 有限状態トランスデューサ決定化装置及び有限状態トランスデューサ決定化方法
JP5232191B2 (ja) * 2010-03-19 2013-07-10 株式会社東芝 情報処理装置、情報処理方法およびプログラム
US8725730B2 (en) 2011-05-23 2014-05-13 Hewlett-Packard Development Company, L.P. Responding to a query in a data processing system
JP5554304B2 (ja) * 2011-09-16 2014-07-23 株式会社東芝 オートマトン決定化方法、オートマトン決定化装置およびオートマトン決定化プログラム
JP2013164572A (ja) 2012-01-10 2013-08-22 Toshiba Corp 音声特徴量抽出装置、音声特徴量抽出方法及び音声特徴量抽出プログラム
JP6301647B2 (ja) 2013-12-24 2018-03-28 株式会社東芝 探索装置、探索方法およびプログラム
JP6404564B2 (ja) 2013-12-24 2018-10-10 株式会社東芝 デコーダ、デコード方法およびプログラム
JP6315980B2 (ja) 2013-12-24 2018-04-25 株式会社東芝 デコーダ、デコード方法およびプログラム
JP6301664B2 (ja) 2014-01-31 2018-03-28 株式会社東芝 変換装置、パターン認識システム、変換方法およびプログラム

Also Published As

Publication number Publication date
US20160086096A1 (en) 2016-03-24
JP2016061975A (ja) 2016-04-25
US10452355B2 (en) 2019-10-22

Similar Documents

Publication Publication Date Title
JP7092953B2 (ja) エンドツーエンドモデルによる多言語音声認識のための音素に基づく文脈解析
JP7280382B2 (ja) 数字列のエンドツーエンド自動音声認識
JP5377889B2 (ja) 言語処理装置およびプログラム
JP6493866B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP4769223B2 (ja) テキスト発音記号変換辞書作成装置、認識語彙辞書作成装置、及び音声認識装置
US10319373B2 (en) Information processing device, information processing method, computer program product, and recognition system
JP7678227B2 (ja) 多言語自動音声認識のための教師無しおよび教師有り共同トレーニング(just)
CN111209447A (zh) 一种基于音形码的中文字符串相似度计算方法及装置
KR20230156125A (ko) 룩업 테이블 순환 언어 모델
JP6453631B2 (ja) 認識システム、認識方法およびプログラム
JP6095588B2 (ja) 音声認識用wfst作成装置、音声認識装置、音声認識用wfst作成方法、音声認識方法及びプログラム
US20130138441A1 (en) Method and system for generating search network for voice recognition
WO2018083670A1 (en) Sequence transduction neural networks
JP2022121456A (ja) 処理プログラム、処理方法および情報処理装置
JP6301794B2 (ja) オートマトン変形装置、オートマトン変形方法およびプログラム
JP5319141B2 (ja) 言語モデルの枝刈り方法及び装置
KR20120045906A (ko) 코퍼스 오류 교정 장치 및 그 방법
JP2011154061A (ja) 辞書作成装置、そのコンピュータプログラムおよびデータ処理方法
JP2016095399A (ja) 音声認識結果整形装置、方法及びプログラム
JP2015087556A (ja) 音声認識用wfst作成装置と音声認識装置とそれらの方法とプログラムと記録媒体
JP6549064B2 (ja) 音声認識装置、音声認識方法、プログラム
JP5610304B2 (ja) モデルパラメータ配列装置とその方法とプログラム
JP2009199434A (ja) アルファベット文字列日本語読み変換装置及びアルファベット文字列日本語読み変換プログラム
JP6078435B2 (ja) 記号列変換方法、音声認識方法、それらの装置及びプログラム
US20250149026A1 (en) Extremely fast utterances for measuring unintended memorization in automatic speech recognition models

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170823

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: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180301

R151 Written notification of patent or utility model registration

Ref document number: 6301794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350