(57)【特許請求の範囲】
【請求項１】
単語の構成要素となるサブワードを単語に変換する第１モデルを受け付ける受付部と、
１以上のサブワードを１以上の単語に変換する遷移を含む第１経路、および、前記第１経路の始端となる状態を始端とし、サブワードが割り当てられる循環経路と単語を分類するクラスが割り当てられる遷移とを含む第２経路、を含む第１有限状態トランスデューサを、前記第１モデルに基づいて生成する生成部と、
前記第１有限状態トランスデューサ、または、前記第１有限状態トランスデューサと他の有限状態トランスデューサを合成した第２有限状態トランスデューサと、単語の構成要素となるサブワードを単語に変換するモデルに基づいて生成され、１以上のサブワードと単語を分類するクラスとを入力して１以上の単語に変換する経路を含む第３有限状態トランスデューサと、を合成した第４有限状態トランスデューサを生成する第１合成部と、
前記第４有限状態トランスデューサを用いて、入力されたデータに対応する単語を認識する探索部と、
を備える認識システム。
【請求項２】
前記循環経路に入る遷移、および、前記循環経路から出る遷移、のいずれかに前記クラスが割り当てられる、
請求項１に記載の認識システム。
【請求項３】
前記循環経路から出る遷移に前記クラスが割り当てられ、前記循環経路に入る遷移に前記循環経路の開始を示す開始情報が割り当てられる、
請求項１に記載の認識システム。
【請求項４】
前記循環経路に入る遷移に前記クラスが割り当てられ、前記循環経路から出る遷移に前記循環経路の終了を示す終了情報が割り当てられる、
請求項１に記載の認識システム。
【請求項５】
前記第１有限状態トランスデューサと、言語モデルに基づいて生成される第５有限状態トランスデューサと、を合成した前記第２有限状態トランスデューサを生成する第２合成部をさらに備える、
請求項１に記載の認識システム。
【請求項６】
前記第１有限状態トランスデューサと、言語モデルに基づいて生成される第５有限状態トランスデューサと、クラスが入力記号と出力記号に割り当てられた遷移と、循環経路の開始を表す開始情報および終了を表す終了情報の少なくとも一方が入力記号と出力記号に割り当てられた遷移と、を含む第６有限状態トランスデューサと、を合成した前記第２有限状態トランスデューサを生成する第２合成部をさらに備える、
請求項１に記載の認識システム。
【請求項７】
前記第２合成部は、前記第２有限状態トランスデューサに含まれる遷移の入力記号から、前記開始情報または前記終了情報と、前記クラスとを除去する、
請求項６に記載の認識システム。
【請求項８】
前記第６有限状態トランスデューサは、コンテキスト依存音素からコンテキスト非依存音素へ変換する有限状態トランスデューサ、および、隠れマルコフモデルを表す有限状態トランスデューサのうち少なくとも一方である、
請求項６に記載の認識システム。
【請求項９】
前記第２合成部は、前記第２有限状態トランスデューサに含まれる、前記循環経路上の遷移の入力記号として割り当てられていたサブワードが割り当てられている遷移の入力記号を出力記号に割り当てる、
請求項５に記載の認識システム。
【請求項１０】
前記第５有限状態トランスデューサは、クラスが入力記号と出力記号に割り当てられた遷移を含む、
請求項５に記載の認識システム。
【請求項１１】
前記第１合成部は、前記探索部による探索処理中に、前記第４有限状態トランスデューサを生成する、
請求項１に記載の認識システム。
【請求項１２】
単語の構成要素となるサブワードを単語に変換する第１モデルを受け付ける受付ステップと、
１以上のサブワードを１以上の単語に変換する遷移を含む第１経路、および、前記第１経路の始端となる状態を始端とし、サブワードが割り当てられる循環経路と単語を分類するクラスが割り当てられる遷移とを含む第２経路、を含む第１有限状態トランスデューサを、前記第１モデルに基づいて生成する生成ステップと、
前記第１有限状態トランスデューサ、または、前記第１有限状態トランスデューサと他の有限状態トランスデューサを合成した第２有限状態トランスデューサと、単語の構成要素となるサブワードを単語に変換するモデルに基づいて生成され、１以上のサブワードと単語を分類するクラスとを入力して１以上の単語に変換する経路を含む第３有限状態トランスデューサと、を合成した第４有限状態トランスデューサを生成する合成ステップと、
前記第４有限状態トランスデューサを用いて、入力されたデータに対応する単語を認識する探索ステップと、
を含む認識方法。
【請求項１３】
コンピュータを、
単語の構成要素となるサブワードを単語に変換する第１モデルを受け付ける受付部と、
１以上のサブワードを１以上の単語に変換する遷移を含む第１経路、および、前記第１経路の始端となる状態を始端とし、サブワードが割り当てられる循環経路と単語を分類するクラスが割り当てられる遷移とを含む第２経路、を含む第１有限状態トランスデューサを、前記第１モデルに基づいて生成する生成部と、
前記第１有限状態トランスデューサ、または、前記第１有限状態トランスデューサと他の有限状態トランスデューサを合成した第２有限状態トランスデューサと、単語の構成要素となるサブワードを単語に変換するモデルに基づいて生成され、１以上のサブワードと単語を分類するクラスとを入力して１以上の単語に変換する経路を含む第３有限状態トランスデューサと、を合成した第４有限状態トランスデューサを生成する第１合成部と、
前記第４有限状態トランスデューサを用いて、入力されたデータに対応する単語を認識する探索部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、生成装置、認識装置、生成方法およびプログラムに関する。
【背景技術】
【０００２】
有限状態オートマトン（Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ａｕｔｏｍａｔｏｎ、ＦＳＡ）は、自然言語処理およびパターン認識等さまざまな分野で利用されている。例えば、文章中に表れる特定の文字列や文字列のパターンを検索するなどの用途がある。ＦＳＡは有限オートマトン（Ｆｉｎｉｔｅ  Ａｕｔｏｍａｔｏｎ，ＦＡ）や有限状態機械（Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｍａｃｈｉｎｅ，  ＦＳＭ）と呼ばれることもある。
【０００３】
ＦＳＡで用いられる入力記号の他に重みが考慮されているＦＳＡは、重み付き有限状態アクセプタ（Ｗｅｉｇｈｔｅｄ  Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ａｃｃｅｐｔｏｒ）と呼ばれる。出力記号が考慮されているＦＳＡは、有限状態トランスデューサ（Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｔｒａｎｓｄｕｃｅｒ、ＦＳＴ）と呼ばれる。重みと出力記号が考慮されているＦＳＡは、重み付き有限状態トランスデューサ（Ｗｅｉｇｈｔｅｄ  Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ｔｒａｎｓｄｕｃｅｒ、ＷＦＳＴ）と呼ばれる。ＷＦＳＴは、パターン認識（例えば、音声認識、手書き文字認識、および、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ））などで必要となる辞書やモデルを表現するために用いられたり、統計的機械翻訳で用いられることがある。
【０００４】
認識結果として単語または単語列を出力するパターン認識をＷＦＳＴを用いて行うために、サブワードから単語へと変換するＷＦＳＴ（以下、Ｌとする）が用いられる。ここでいうサブワードとは単語を構成する要素である。なお、重みが不要な場合は、ＬはＦＳＴで表現されることもある。Ｌに含まれない新たな単語（以下、追加単語と呼ぶ）をパターン認識装置によって認識するために、Ｌに追加単語を追加する技術、および、Ｌには追加単語を追加せず、言語モデルを表すＷＦＳＴ（以下、Ｇとする）に追加単語に関する経路を埋め込む技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１０６２７２号公報
【特許文献２】特開２００９−１０４１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術では、追加単語に対応する経路をＬまたはＧに埋め込むため、ＬまたはＧが変化する。これは、複数のパターン認識装置間で追加単語が異なる場合に、ＷＦＳＴを共有することを困難にする。
【課題を解決するための手段】
【０００７】
実施形態の生成装置は、受付部と、生成部と、を備える。受付部は、単語の構成要素となるサブワードを単語に変換する第１モデルを受け付ける。生成部は、１以上のサブワードを１以上の単語に変換する遷移を含む第１経路、および、第１経路の始端となる状態を始端とし、サブワードが割り当てられる循環経路と単語を分類するクラスが割り当てられる遷移とを含む第２経路、を含む第１有限状態トランスデューサを、第１モデルに基づいて生成する。
【図面の簡単な説明】
【０００８】
【図１】本実施形態にかかる認識システムのブロック図。
【図２】生成される有限状態トランスデューサ（ＷＦＳＴ）を示す図。
【図３】制約を含むように生成されるＷＦＳＴを示す図。
【図４】生成されるＷＦＳＴの一例を示す図。
【図５】本実施形態における生成処理のフローチャート。
【図６】本実施形態における認識処理のフローチャート。
【図７】説明に用いるＷＦＳＴの例を示す図。
【図８】図２および図７のＷＦＳＴを合成したＷＦＳＴを示す図。
【図９】図８のＷＦＳＴにｐｒｏｊを実行したＷＦＳＴを示す図。
【図１０】図９のＷＦＳＴを最適化したＷＦＳＴを示す図。
【図１１】図１０のＷＦＳＴに処理πを実行したＷＦＳＴを示す図。
【図１２】図１１および図４のＷＦＳＴを合成したＷＦＳＴを示す図。
【図１３】本実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる生成装置の好適な実施形態を詳細に説明する。以下では、認識装置（パターン認識装置）の一例である音声認識装置で使用するＷＦＳＴの生成装置を例に説明する。ＷＦＳＴを用いた認識装置で用いられるＷＦＳＴを生成する装置であれば、どのような装置にも本実施形態の方法を適用できる。
【００１０】
上記のように、追加単語を認識装置によって認識するために、Ｌに追加単語を追加する技術が知られている。しかし、このような技術によりＬが変更されると、他のＷＦＳＴとの合成処理や、最適化処理を再度実行せねばならず、計算量の観点から効率的でない。
【００１１】
このような問題を回避するため、単語と同様にサブワードを出力できるＬを作成し、Ｇの中に追加単語に関する経路を埋め込む技術が知られている。このような技術により、Ｌの変更は不要となる。また、Ｌ（またはＬと他のＷＦＳＴを合成したＷＦＳＴ）とＧとの合成処理をパターン認識の処理中に行うようパターン認識装置を構成すれば、合成処理に要する計算がパターン認識装置を動作させる前には不要となる。
【００１２】
しかしこのような技術でも、Ｇが変更されるため、ＷＦＳＴを共有することが困難になる。また、変更の可能性があるため、ＷＦＳＴを例えば書き換え不可能な記憶媒体に記録して利用することが困難となる。
【００１３】
なお、経路とは、ｎを１以上の整数とするとき、次の条件を満たす遷移列ｅ１・・・ｅｎを表す。
条件：ｉ＝１，２，・・・，ｎ−１に対して、ｅｉの次状態とｅｉ＋１の前状態が一致する。
【００１４】
本実施形態では、追加単語を表すＷＦＳＴをＬやＧとは別に作成し、このＷＦＳＴと組み合わせて用いることができるように、２つの経路を埋め込んだＬを生成する。１つは、サブワードで構成される循環経路である。もう１つは、追加単語に対応する入力記号や出力記号としてＧに予め埋め込んでおくクラスを含む経路である。これにより、生成したＬ（またはＬを元にして生成されるＷＦＳＴ）を変更する必要がなく、かつ、追加単語を認識できるＷＦＳＴを得ることが可能となる。
【００１５】
上記のように、サブワードとは単語を構成する要素である。音声認識においては、例えば音素、音節、および、それらを繋げた要素などがサブワードに相当する。ＯＣＲにおいては、例えば文字、および、文字の断片などがサブワードに相当する。
【００１６】
ＷＦＳＴを用いるパターン認識においては、Ｌだけが用いられることは少なく、文法や言語モデルなどを表す他のＷＦＳＴと合成されて用いられることが多い。
【００１７】
図１は、本実施形態にかかる認識システムの構成の一例を示すブロック図である。図１に示すように、本実施形態の認識システムは、ＷＦＳＴ生成装置１００と、音声認識装置２００と、ＷＦＳＴ生成装置３００と、を備えている。
【００１８】
ＷＦＳＴ生成装置１００は、音声認識装置２００を動作させるために必要となるＷＦＳＴを生成する装置である。ＷＦＳＴ生成装置３００は、ＷＦＳＴ生成装置１００が生成したＷＦＳＴでは認識できない単語を認識するためのＷＦＳＴを生成する装置である。音声認識装置２００は、ＷＦＳＴ生成装置１００およびＷＦＳＴ生成装置３００が出力するＷＦＳＴを用いて、入力される音声を単語列へと変換する。なお、ＷＦＳＴ生成装置１００が生成するＷＦＳＴのみでも動作するよう音声認識装置２００を構成することができる。
【００１９】
ＷＦＳＴ生成装置１００は、変換部１０１、１０２、１０３と、合成部１１０とを備える。変換部１０１、１０２、１０３は、それぞれ音響モデル、レキシコン、および、言語モデルをＷＦＳＴに変換する。合成部１１０は、変換部１０１、１０２、１０３がそれぞれ出力したＷＦＳＴを合成し、必要に応じて最適化する。
【００２０】
ＷＦＳＴ生成装置３００は、変換部３０１と、最適化部３１０とを備える。変換部３０１は、追加レキシコンをＷＦＳＴに変換する。最適化部３１０は、変換部３０１が出力したＷＦＳＴを最適化する。
【００２１】
音響モデルは、音をサブワードへと変換するためのモデルである。レキシコンは、サブワードを単語へ変換するためモデル（第１モデル）である。言語モデルは、単語の並びの尤もらしさまたは制約を表すモデルである。言語モデルは、統計的言語モデルであってもよいし、文法によって表されていてもよい。ここで文法とは、例えば認識できる単語の並びを記述した情報を意味する。
【００２２】
Ｇは、認識する単語と、この単語に対応する重みとを含む。Ｇが統計的言語モデルから変換される場合、認識する単語と、この単語の出現確率とが、統計的言語モデルに含まれている必要がある。また、Ｇが文法から変換される場合、認識する単語が文法に含まれている必要がある。
【００２３】
統計的言語モデルや文法の作成時点では、追加単語は不明である。また、追加単語の数も分からない。そこで本実施形態では、追加単語の代わりとなる単語を言語モデルに埋め込んでおく。本実施形態では、この単語をクラスと呼ぶこととする。クラスは、例えば単語を分類するための情報である。クラスは単に番号で表現されていてもよいが、ユーザにとって分かりやすい名前とするほうが追加単語に対応するクラスを指定しやすくなる。例えば、クラスとして品詞を用いることができる。さらに細かく、地名、駅名、機器名、型番、病名、薬品名、商品名、食品名、店舗名、料理名、便名、植物名、動物名、色名、および、魚名などをクラスとして用いるようにしてもよい。
【００２４】
このような言語モデルは、例えば、統計的言語モデルの一種であるクラス言語モデルを用いることで実現することができる。他にも、追加単語と話され方が類似している単語をその単語とは別にクラスとして取り扱うようにしてもよい。例えば、「ひまわり」という単語が統計的言語モデルに存在する場合に、全く同じ出現確率を持つ「ひまわりクラス」を統計的言語モデルに追加するということである。
【００２５】
このような言語モデルから変換されたＧを用いることで、追加単語の出現位置や入力のしやすさを制御することができる。Ｇが統計的言語モデルから変換されている場合、Ｇは、クラスの出現確率に基づく重みを含む。このため、追加単語の出現確率は、追加単語に対応するクラスの出現確率を考慮した値となる。クラスの出現確率が高いと追加単語は認識されやすくなるが、追加単語とは異なる発声が誤って追加単語として認識される可能性が高くなる。
【００２６】
Ｇが文法から変換されている場合、クラスの出現位置が文法内で規定されているため、追加単語はクラスの出現位置でのみ認識することができる。例えば文法が、［今日］［の］［天気］［は］［クラスＡ］［です］、であるとする。この文法では、「今日の天気はクラスＡです」を意味する日本語が、単語ごとに［］で区切って記述される。［］で囲まれる文字列が１単語であることを示している。クラスＡに対応する追加単語が［晴れ］と［曇り］と［雨］を意味する日本語の３単語であった場合、このＧを用いて認識できる発声は「今日の天気は晴れです」、「今日の天気は曇りです」、および、「今日の天気は雨です」を意味する３通りの日本語となる。受理できる単語の並びのみを文法が表している場合は、ＧをＷＦＳＴではなくＦＳＴで表すことができる。文法が重みを含む、つまり、文法が受理できる単語の並びのそれぞれに対して、それらの単語の並びの出やすさを表す値が文法に含まれている場合は、ＧをＷＦＳＴで表すこととなる。
【００２７】
なお、ＷＦＳＴ生成装置１００が出力するＷＦＳＴは１つである必要はない。ＷＦＳＴ生成装置１００が複数のＷＦＳＴを出力する場合は、それらを動的に合成するよう音声認識装置２００を構成すればよい。
【００２８】
追加レキシコンは、追加単語から構成されるレキシコンである。追加レキシコンは、ＷＦＳＴ生成装置３００に入力される。
【００２９】
次に、図１の各装置の構成の詳細について説明する。まずＷＦＳＴ生成装置１００について説明する。
【００３０】
変換部１０１が音響モデルをＷＦＳＴに変換する方法、および、変換部１０３が言語モデルをＧに変換する方法は、従来から用いられているあらゆる方法を適用できる。
【００３１】
変換部１０２は、受付部１５１と、生成部１５２と、を備える。受付部１５１は、レキシコンを受け付ける。生成部１５２は、レキシコンに基づき、以下のような経路を含むＬを生成する。
・１以上のサブワードを１以上の単語に変換する遷移を含む経路（第１経路）
・サブワードが割り当てられる循環経路とクラスが割り当てられる遷移とを含む経路（第２経路）
【００３２】
なお第１経路の始端と第２経路の始端となる状態は同じである。第１経路は、従来から用いられているあらゆる方法により生成できる。生成部１５２は、例えば生成した第１経路に、第２経路を付加することによりＬを生成する。以下ではサブワードで構成される循環経路をサブワードループと呼ぶこととする。
【００３３】
図２は、生成されるＬの一例を示す図である。丸が状態を表し、矢印が遷移を表す。二重丸は終了状態を表し、太線の丸は初期状態を表す。各遷移の近くに記載されている文字のうち、コロンの左側が入力記号を表し、コロンの右側が出力記号を表す。図２では重みは省略されている。点線で囲まれていない部分が、公知の方法で得られるＷＦＳＴである。
【００３４】
図２のＬは、「aka」と発音され「赤」を意味する日本語の単語と、「kuro」と発音され「黒」を意味する日本語の単語と、に対応する経路を含む。点線で囲まれている部分が、サブワードループとクラスとを含む経路となる。サブワードループの先頭の「＃」は、ＷＦＳＴの合成処理および最適化処理を効率よく動作させるために付加している入力記号である。このように、図２の例では、サブワードループに入る遷移に、サブワードループの開始を示す開始情報（入力記号「＃」）が割り当てられる。そして、サブワードループから出る遷移にクラスが割り当てられる。
【００３５】
クラスをサブワードループの前に配置するよう構成してもよい。この場合、サブワードループから出る遷移にサブワードループの終了を示す終了情報（「＃」に相当する記号など）を割り当ててもよい。
【００３６】
図２のように単純なサブワードループは、単語の発音としてありえない組み合わせも受理できてしまうため表現として効率がよくない。そこで、単純なサブワードループに制約をかけてもよい。サブワードが音素かつ日本語の場合は、例えば、無声破裂音の後には母音が現れるなどの制約を付けることができる。
【００３７】
図３は、このような制約を含むように生成されるＬの一例を示す図である。図３では、無声破裂音の１つである「ｔ」の後に、母音である「ａ」または「ｉ」が現れる組み合わせを受理するサブワードループの例が示されている。このような制約を導入するとＬのサイズは増加するが、受理できる経路が減少するため、合成部１１０から出力されるＷＦＳＴのサイズは逆に小さくなる。
【００３８】
サブワードループへの制約条件は他にも考えられる。例えば、言語モデルの作成に使用するコーパスの全部または一部に含まれる単語列、または、レキシコンに含まれる単語の全部または一部などから得られるサブワード列に出現する、長さがＮのサブワード列の組み合わせのみを受理できるようにサブワードループを構成することができる。ここで、Ｎは１以上の整数である。
【００３９】
連続音声認識または任意の文法を用いた音声認識を行うには、Ｌが単語列を受理できなければならない。このため、Ｌの終了状態から初期状態へ向かう入力記号と出力記号が共にεかつ重みが０である遷移を追加するか、終了状態と初期状態を１つの状態にまとめ、単語列を受理できるように、Ｇと合成する前にＬを変形しておく必要がある。ここで、εは空列を表す。Ｌを生成した後に変形するのではなく、生成部１５２が、最初から単語列を受理できるようなＬを生成するように構成してもよい。一方、孤立単語認識を行う場合は、この変形は不要である。この場合はＧも不要となる。
【００４０】
合成部１１０は、変換部１０１、１０２、１０３がそれぞれ出力したＷＦＳＴを変換（合成、または、合成と最適化）し、ＷＦＳＴ（以下、ＨＣＬＧとする）を生成する。合成部１１０は、例えば、以下の（１）式で表される変換を行う。
ＨＣＬＧ＝
π（ｏｐｔ（Ｈ○ｏｐｔ（Ｃ○ｏｐｔ（ｐｒｏｊ（ｄｅｔ（Ｌ）○Ｇ）））））
・・・（１）
【００４１】
ｄｅｔは決定化演算を表す。ｏｐｔは最適化演算を表す。最適化演算は、例えば決定化演算と最小化演算を含む。記号「○」は合成演算を表す。例えば「ＷＦＳＴ−Ａ１○ＷＦＳＴ−Ａ２」は、ＷＦＳＴ−Ａ１とＷＦＳＴ−Ａ２とを合成する演算を表す。πは後述する補助記号をεへ変換する。ｄｅｔ、ｏｐｔ、「○」、および、πは、公知の方法によって実現することができる。
【００４２】
ｐｒｏｊは、入力記号をそれが割り当てられている遷移の出力記号に複製する処理を表す。本実施形態の合成部１１０は、サブワードループに割り当てられているサブワードが入力記号として割り当てられている遷移を対象としてｐｒｏｊを実行する。このように本実施形態では、ｐｒｏｊ演算の対象となる遷移は一部のみに限定される。
【００４３】
Ｈは隠れマルコフモデル（ＨＭＭ）を表すＷＦＳＴである。Ｃはコンテキスト依存音素からコンテキスト非依存音素へ変換するＷＦＳＴである。上記のように、Ｌは音素から単語へ変換するＷＦＳＴであり、Ｇは言語モデルを表すＷＦＳＴである。ＨとＣは音響モデルから生成することができる。例えば変換部１０１が、音響モデルからＨおよびＣを生成するように構成できる。ＨおよびＣは、クラスが入力記号と出力記号に割り当てられた遷移と、循環経路の開始を表す開始情報および終了を表す終了情報の少なくとも一方が入力記号と出力記号に割り当てられた遷移と、を含む。これは、Ｃとｏｐｔ（ｐｒｏｊ（ｄｅｔ（Ｌ）○Ｇ））との合成後のＷＦＳＴにサブワードループを残すためであり、また、後述する補助記号の取り扱い方と同様である。Ｃと同じ理由によりＨもこれらの遷移を含む。循環経路の開始を表す開始情報および終了を表す終了情報の少なくとも一方とクラスとを要素として含む集合をαとすると、図２にあるように、Ｌの入力記号から成る集合にはαが含まれている。任意のＷＦＳＴ  ＸとＹの合成、Ｘ○Ｙを考えるとき、Ｘ○Ｙに含まれる初期状態から終了状態に至る経路は、Ｘの初期状態から終了状態に至る経路の出力記号列と、Ｙの初期状態から終了状態に至る経路の入力記号列と、が一致するＸとＹの経路からのみ得られる。つまり、Ｘの遷移の出力記号に含まれない記号が入力記号として割り当てられているＹの遷移に対応する遷移は決してＸ○Ｙには現れない。したがって、ＨＣＬＧにサブワードループを残すためには、ＨおよびＣが、入力記号と出力記号にαの各要素が割り当てられた遷移を含んでいる必要がある。さらに、これらの遷移を例えば、ＣおよびＨの各状態に自己遷移として表せば、Ｃ○ｏｐｔ（ｐｒｏｊ（ｄｅｔ（Ｌ）○Ｇ）））およびＨ○ｏｐｔ（Ｃ○ｏｐｔ（ｐｒｏｊ（ｄｅｔ（Ｌ）○Ｇ）））にサブワードループが残る。自己遷移以外でも同様の効果を得られるように、これらの遷移を構成することもできるが、自己遷移と同等の効果を発揮するように構成するだけであるため、詳細は省略する。なお、Ｈ、Ｃ、Ｌ、および、Ｇはそれぞれ、重みが不要な場合は、ＦＳＴとして表すことができる。
【００４４】
（１）式の例では、Ｈ、Ｃ、Ｌ、および、Ｇを全て合成しているが、一部のみ合成し、残りは音声認識装置２００で合成するようにしてもよい。ｄｅｔ（Ｌ）を単にＬに置き換えてもよい。また、一部または全部のｏｐｔをｄｅｔに置き換えてもよい。
【００４５】
サブワードが音素でない場合は、Ｃはコンテキスト依存音素からコンテキスト非依存音素へ変換するＷＦＳＴではなく、コンテキスト依存音素からコンテキスト非依存サブワードへ変換するＷＦＳＴとなる。この場合、Ｌもサブワードから単語へと変換するＷＦＳＴとなる。
【００４６】
上記のように、ｐｒｏｊの処理の対象となる遷移は、サブワードループに割り当てられているサブワードが入力記号として割り当てられている遷移である。
【００４７】
ところで、追加単語ではない通常の単語、すなわち、ＷＦＳＴ生成装置１００に入力されるレキシコンに含まれる単語の発音を表すために使用するサブワードをサブワードループに割り当てるサブワードとして一部でも使用する場合、通常の単語に割り当てられるサブワードとサブワードループに割り当てられるサブワードとを区別できなくなる。この場合は、サブワードループに割り当てられているサブワードと通常の単語に割り当てられているサブワードとを区別するために、サブワードループに割り当てられているサブワードにマークを付加しておく。そして、入力記号から出力記号への複製後、このマークを除去することで、元のサブワードに戻す。例えば、サブワードが文字列で表されており、その文字列に「＄」が含まれていなければ、サブワードループに割り当てられているサブワードにマークとして「＄」を含める。
【００４８】
マークはこれに限られるものではなく、通常の単語に割り当てられるサブワードとサブワードループに割り当てられるサブワードとを区別可能であればどのような情報であってもよい。例えば、サブワードが数字で表されている場合は、一定値をサブワードの数字に加えた値をサブワードループに割り当てられているサブワードの数字とすることで区別してもよい。一定値は、その値を加えた後の値が、元のサブワードを表す数字と重複しなければよい。例えば一定値は、サブワードを表す数字の最大値よりも大きい値とすることができる。
【００４９】
Ｌの遷移の入力記号に割り当てられている「＃」やクラスはサブワードではないため、単に公知の方法で得られるＣと合成したのでは「＃」やクラスが現れる経路は失われてしまう。そこで、Ｌの遷移の入力記号に割り当てられている「＃」やクラスは、補助記号と呼ばれる記号として取り扱う。具体的には、前述したとおり、「＃」やクラスが入力記号と出力記号に割り当てられた遷移をＣに含める。補助記号とは、同じ発音の単語が複数存在するレキシコンから変換されたＬ（またはＬと他のＷＦＳＴを合成したＷＦＳＴ）を決定化可能なＷＦＳＴへと変形する公知の方法で用いられる記号である。合成部１１０は、このような方法を適用し、さらに「＃」やクラスをこのような方法で用いる補助記号の１つとして扱う。補助記号として取り扱うため、ＨＣＬＧの入力記号に「＃」やクラスが残ることはない。前述した処理πによって取り除かれるためである。
【００５０】
次に、ＷＦＳＴ生成装置３００について説明する。ＷＦＳＴ生成装置３００に入力される追加レキシコンは、単語とそれに対応するサブワード列とクラスを含む。
【００５１】
ＷＦＳＴ生成装置３００の変換部３０１は、受付部３５１と生成部３５２とを備える。受付部３５１は、追加レキシコンを受け付ける。生成部３５２は、追加レキシコンを変換し、サブワードとクラスを入力記号とし、単語を出力記号とする経路を含むＷＦＳＴ（以下、Ｄとする）を生成する。
【００５２】
Ｄは、単語のサブワード列の最後にクラスが付加される点と、ＷＦＳＴ生成装置１００が生成するＷＦＳＴから出力される通常の単語は変換せずにそのまま通過させる点が、通常のＬと異なる。
【００５３】
図４は、生成されるＤの一例を示す図である。太線の二重丸は、初期状態かつ終了状態であることを表す。図４のＤに含まれている新たな単語は、「tai」と発音され「鯛」を意味する日本語の単語である。この単語は出力記号として割り当てられる。一方、この単語（「鯛」）に対応する各サブワードの発音、および、クラスは、「t」、「a」、「i」、および「名詞」であり、これらは入力記号として割り当てられる。
【００５４】
初期状態にある入力記号と出力記号が共に「＊」である自己遷移は、通常の単語が入力された場合に、何も変換せず、そのまま出力することを意味する。「＊」を使わずに表すには、レキシコン（第１モデル）に含まれる単語ごとに、その単語を入力記号と出力記号に割り当てた自己遷移で表せばよい。レキシコン（第１モデル）が図２のように「黒」を意味する日本語の単語と、「赤」を意味する日本語の単語の２単語のみを含んでいるなら、入力記号と出力記号が「赤」である自己遷移と、入力記号と出力記号が「黒」である自己遷移とを、図４の入力記号と出力記号が共に「＊」である自己遷移の代わりに初期状態に加えればよい。したがって、例えば、「赤」を意味する日本語の単語がＤに入力されるとその単語がそのまま出力される。一方、「tai名詞」が入力されると「鯛」を意味する日本語の単語が出力される。
【００５５】
なお、「＊」を伴う自己遷移を明には表さず、音声認識装置２００が、この自己遷移があるものとして処理してもよい。図４の例では、クラスをサブワード列の最後に付加した。これにより、例えば図２のようにサブワードループの後にクラスが付与されているＬと合成することができる。サブワードループの前にクラスが付与されているＬを用いる場合には、生成部３５２は、クラスをサブワード列の最初に付加したＤを生成する。
【００５６】
最適化部３１０はＤを最適化する。最適化部３１０により用いられる最適化演算は、例えば、ｄｅｔ（Ｄ）やｏｐｔ（Ｄ）である。生成部３５２が、変換時に最適化演算に相当する処理を同時に行ってもよい。また。最適化部３１０を取り除くこともできる。最適化部３１０は、状態や遷移の数を減らすだけで、受理する入力記号列や、それに対応して出力する出力記号列を変更するわけではないためである。
【００５７】
次に、音声認識装置２００について説明する。音声認識装置２００は、フロントエンド２０１とデコーダ２１０とを備えている。
【００５８】
フロントエンド２０１は、入力された音声から音声区間を検出する処理、および、音声の特徴量を抽出する処理などを実行する。デコーダ２１０は、合成部２１１と探索部２１２とを備えている。
【００５９】
合成部２１１は、ＷＦＳＴ生成装置１００が出力するＷＦＳＴとＷＦＳＴ生成装置３００が出力するＷＦＳＴとを用いて、少なくとも探索部２１２が必要とする部分を含むＷＦＳＴを合成し、探索部２１２から参照できるようにする。合成部２１１は、例えば、ＨＣＬＧ○ＤによりＷＦＳＴを合成する。ＷＦＳＴ生成装置１００が出力するＷＦＳＴが複数存在する場合がある。この場合、合成部２１１は、出力された複数のＷＦＳＴも合成する。
【００６０】
デコーダ２１０は、合成部２１１により認識処理中に動的にＨＣＬＧ○Ｄを実行しながら、探索部２１２により探索処理を行う。動的に合成演算を行う方法は、オンザフライ合成と呼ばれており、公知の手法で実現することができる。なお、計算量はかかるが、合成部２１１による処理を音声が入力される前に行っておき、探索時は、合成済みのＷＦＳＴを利用するように構成することもできる。
【００６１】
探索部２１２は、合成部２１１により合成されたＷＦＳＴを探索し、フロントエンド２０１からの入力に対応する単語または単語列を認識する。例えば探索部２１２は、特徴量と音響モデルを用いて、ＷＦＳＴ上の各経路に対する音の一致度を示す音響スコアと、それらの経路の重みを考慮し、入力された音声に最も近いと考えられる経路上の単語列を認識結果として出力する。なお探索部２１２は、Ｄがなくとも動作させることもできる。この場合、例えば音素やクラスが出力される経路を探索しないようにするだけでよい。
【００６２】
次に、このように構成された本実施形態にかかるＷＦＳＴ生成装置１００による生成処理について図５を用いて説明する。図５は、本実施形態における生成処理の一例を示すフローチャートである。
【００６３】
まず、各変換部（変換部１０１、１０２、１０３）が、それぞれ変換処理の元とするモデルの入力を受け付ける（ステップＳ１０１）。各変換部は、受け付けたモデルをＷＦＳＴに変換する（ステップＳ１０２）。各変換部は、変換したＷＦＳＴを合成部１１０に出力する（ステップＳ１０３）。
【００６４】
例えば変換部１０１は音響モデルを受付け、音響モデルをＨおよびＣの少なくとも一方に変換して出力する。変換部１０２はレキシコンを受付け、レキシコンをＬに変換して出力する。変換部１０３は言語モデルを受付け、言語モデルをＧに変換して出力する。
【００６５】
合成部１１０は、各変換部から出力されたＷＦＳＴを合成し、必要に応じて最適化する（ステップＳ１０４）。合成部１１０は、例えば上記（１）式に従い、Ｈ、Ｃ、Ｌ、および、Ｇを合成してＨＣＬＧを生成する。
【００６６】
このようにして生成されるＨＣＬＧは、後述するように、ＷＦＳＴ生成装置３００によって生成されるＤと合成されて認識時に利用される。追加単語はＤで記述されるため、ＨＣＬＧは変更不要となる。従ってＨＣＬＧは共有可能となる。
【００６７】
なお、ＷＦＳＴ生成装置３００によるＷＦＳＴの生成処理も図５と同様に実現できる。例えば変換部３０１が、ステップＳ１０１〜ステップＳ１０３と同様の処理を実行すればよい。また例えば、ステップＳ１０４で合成および最適化する代わりに、最適化部３１０が必要に応じてＷＦＳＴの最適化を実行すればよい。
【００６８】
次に、このように構成された本実施形態にかかる音声認識装置２００による認識処理について図６を用いて説明する。図６は、本実施形態における認識処理の一例を示すフローチャートである。
【００６９】
まず、フロントエンド２０１が、認識対象となる音声の入力を受け付ける（ステップＳ２０１）。フロントエンド２０１は、音声を解析し、音声の特徴量を抽出する（ステップＳ２０２）。
【００７０】
合成部２１１は、ＷＦＳＴ生成装置１００から入力したＷＦＳＴ（ＨＣＬＧなど）と、ＷＦＳＴ生成装置３００から入力したＷＦＳＴ（Ｄなど）とを合成する（ステップＳ２０３）。合成部２１１は、入力されるＷＦＳＴの全部を合成する必要はなく、例えば、探索部２１２が必要とする部分のみを動的に合成するように構成してもよい。
【００７１】
探索部２１２は、合成部２１１により合成されたＷＦＳＴを用いて、抽出された特徴量に適合する認識結果（単語列）を探索して出力する（ステップＳ２０４）。
【００７２】
次に、合成部２１１による合成処理の例について説明する。分かりやすくするため、ＨＣＬＧの代わりに以下の（２）式で算出されるＬＧを用いる。
ＬＧ＝π（ｏｐｔ（ｐｒｏｊ（Ｌ○Ｇ）））・・・（２）
【００７３】
ＨとＣが抜けていること以外は上記（１）式と同様である。ＨＣＬＧとＬＧの出力記号は同じであるため、ＨＣＬＧの場合と同様に、ＬＧもＤと合成することができる。
【００７４】
図７は、説明に用いるＧの例を示す図である。図７に示すＧは、「赤」および「黒」を意味する日本語の単語、および、品詞のうち「名詞」および「副詞」を受理できるＷＦＳＴである。各遷移付近の文字のうち、コロンの左側が入力記号を表し、コロンとスラッシュの間が出力記号を表し、スラッシュの右側が重みを表す。丸の中の数字は各状態を参照するために付与している番号である。例えば、このＷＦＳＴに入力記号列として「赤」を意味する日本語の単語と「名詞」とが並ぶ記号列（「赤  名詞」）が入力されると、出力記号列として「赤」を意味する日本語の単語と「名詞」とが並ぶ記号列（「赤  名詞」）が出力される。このとき通過する経路上の状態は初期状態から順に、０、２、３、０、または、０、２、０、３、０である。それぞれの経路の重みの総計は６または８．５である。
【００７５】
Ｌの例として、図２の初期状態と終了状態を同じ状態としたＷＦＳＴを用いる。
【００７６】
図８は、図２のＬと、図７のＧとを合成したＷＦＳＴ（Ｌ○Ｇとする）の一例を示す図である。また、図９は、図８のＷＦＳＴにｐｒｏｊの処理を実行したＷＦＳＴ（ｐｒｏｊ（Ｌ○Ｇ））の一例を示す図である。図９と図８とを比べると、サブワードループの入力記号が出力記号へと複製されていることが分かる。
【００７７】
図１０は、図９のＷＦＳＴを最適化したＷＦＳＴ（ｏｐｔ（ｐｒｏｊ（Ｌ○Ｇ）））の一例を示す図である。図１１は、図１０のＷＦＳＴに処理πを実行したＷＦＳＴ（π（ｏｐｔ（ｐｒｏｊ（Ｌ○Ｇ））））の一例を示す図である。図１１のＷＦＳＴは、図１０のＷＦＳＴに対して、入力記号側から補助記号、すなわち、この例では「＃」と名詞と副詞とを、εに変換したＷＦＳＴを示す。図１１に示すＷＦＳＴが、ＷＦＳＴ生成装置１００によって生成される。
【００７８】
図１２は、図１１のＷＦＳＴと、ＷＦＳＴ生成装置３００によって生成されるＤとを合成したＷＦＳＴ（π（ｏｐｔ（ｐｒｏｊ（Ｌ○Ｇ）））○Ｄ）の一例を示す図である。ここでＤは図４に示すＷＦＳＴであるとした。Ｄに含まれる「tai」と発音される追加単語（「鯛」）が、状態１から状態４への遷移と、状態１１から状態１４への遷移の出力記号に含まれていることが分かる。すなわち、追加単語（「鯛」）を認識できるということである。探索部２１２は合成部２１１によって合成されたこのようなＷＦＳＴを利用して探索を行う。
【００７９】
以上説明したとおり、本実施形態によれば、単語の追加時にレキシコンまたは言語モデルから作成されるＷＦＳＴを変更する必要がなくなり、また、それらから生成されるＷＦＳＴも変更する必要がなくなるように、ＷＦＳＴを生成することができる。すなわち、追加単語があってもＷＦＳＴ生成装置１００が生成するＷＦＳＴを変更する必要がない。このため、ＷＦＳＴ生成装置１００が生成するＷＦＳＴを音声認識装置間で共有することができる。
【００８０】
上述した方法は、音声認識以外でもＷＦＳＴを用いる様々な分野で利用することができる。例えば、ＯＣＲ、手書き文字認識、および、ジェスチャー認識などの系列データを認識する装置においても利用することができる。
【００８１】
次に、本実施形態の各装置（ＷＦＳＴ生成装置１００、音声認識装置２００、ＷＦＳＴ生成装置３００）に適用することができるハードウェア構成例について図１３を用いて説明する。図１３は、本実施形態にかかる装置のハードウェア構成例を示す説明図である。
【００８２】
図１３に示されるように、本実施形態の各装置は、ＣＰＵ（Central  Processing  Unit）１、操作部２、表示部３、ＲＯＭ（Read  Only  Memory）４、ＲＡＭ（Random  Access  Memory）５、記憶部６、バス７等を備えている。各部はバス７により接続されている。
【００８３】
ＣＰＵ１は、ＲＡＭ５の所定領域を作業領域として、ＲＯＭ４または記憶部６に予め記憶された各種制御プログラムとの協働により各種処理を実行し、本実施形態の各装置を構成する各部の動作を統括的に制御する。またＣＰＵ１は、ＲＯＭ４または記憶部６に予め記憶された所定のプログラムとの協働により上記各機能部の機能を実現させる。
【００８４】
なお、各装置の各機能部は、ＣＰＵなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００８５】
操作部２は、マウスやキーボード等の入力デバイスであって、ユーザから操作入力された情報を指示信号として受け付け、その指示信号をＣＰＵ１に出力する。
【００８６】
表示部３は、ＬＣＤ（Liquid  Crystal  Display）等の表示装置により構成され、ＣＰＵ１からの表示信号に基づいて、各種情報を表示する。
【００８７】
ＲＯＭ４は、本実施形態の各装置の制御にかかるプログラムや各種設定情報等を書き換え不可能に記憶する。
【００８８】
ＲＡＭ５は、ＳＤＲＡＭ等の揮発性の記憶媒体であって、ＣＰＵ１の作業エリアとして機能する。具体的には、ＷＦＳＴの生成処理、または、ＷＦＳＴを用いた認識処理時に使用される各種変数やパラメータの値等を一時記憶するバッファ等の役割を果たす。
【００８９】
記憶部６は、フラッシュメモリ等の半導体による記憶媒体や、磁気的または光学的に記録可能な記憶媒体を有し、本実施形態の各装置の制御にかかるプログラムや各種設定情報等を書き換え可能に記憶する。また記憶部６は、ＷＦＳＴに係る各種の情報を予め記憶したり、ＷＦＳＴに対して行った演算結果を記録したりする。
【００９０】
本実施形態の各装置の一部または全部は、異なるハードウェア上で動作するよう構成してもよいし、同じハードウェア上で動作するよう構成してもよい。
【００９１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９２】
１００  ＷＦＳＴ生成装置
１０１、１０２、１０３  変換部
１１０  合成部
１５１  受付部
１５２  生成部
２００  音声認識装置
２０１  フロントエンド
２１０  デコーダ
２１１  合成部
２１２  探索部
３００  ＷＦＳＴ生成装置
３０１  変換部
３１０  最適化部
３５１  受付部
３５２  生成部
【図１】
0006453631.tif 000002
【図２】
0006453631.tif 000003
【図３】
0006453631.tif 000004
【図４】
0006453631.tif 000005
【図５】
0006453631.tif 000006
【図６】
0006453631.tif 000007
【図７】
0006453631.tif 000008
【図８】
0006453631.tif 000009
【図９】
0006453631.tif 000010
【図１０】
0006453631.tif 000011
【図１１】
0006453631.tif 000012
【図１２】
0006453631.tif 000013
【図１３】
0006453631.tif 000014