(57)【要約】【課題】  語句の正しい発音を考慮して、語句を正確に選択することができる音声語句選択装置及び音声語句選択プログラムを得ることを目的とする。【解決手段】  単語及び句より小さな単位の文字列の表記、平仮名読み、音節及び出現確率からなるサブワードを記録している読みインデックス付サブワード辞書４を参照して、ユーザの音声に対応する可能性のある複数の語句をサブワード列に分解し、各サブワード列の音節列とユーザの音声の音節列とを比較して、複数の語句の中からユーザの音声に対応する語句を選択する。【選択図】        図１
2005331600.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの音声を入力する音声入力手段と、上記音声入力手段により入力された音声を分析して、その音声の音節列を識別する音節列識別手段と、単語及び句より小さな単位の文字列の表記、仮名読み、音節及び出現確率からなるサブワードを記録しているサブワード辞書と、上記サブワード辞書を参照して、ユーザの音声に対応する可能性のある複数の語句をサブワード列に分解する語句分解手段と、上記語句分解手段により分解された各サブワード列の音節列と上記音節列識別手段により識別された音節列を比較して、複数の語句の中からユーザの音声に対応する語句を選択する語句選択手段とを備えた音声語句選択装置。
【請求項２】
語句選択手段は、語句分解手段により分解された各サブワード列の音節列と音節列識別手段により識別された音節列の尤度を算出し、最も尤度が高いサブワード列に係る語句を選択することを特徴とする請求項１記載の音声語句選択装置。
【請求項３】
ユーザの音声を入力する音声入力処理手順と、上記音声入力処理手順で入力された音声を分析して、その音声の音節列を識別する音節列識別処理手順と、単語及び句より小さな単位の文字列の表記、仮名読み、音節及び出現確率からなるサブワードを記録しているサブワード辞書を参照して、ユーザの音声に対応する可能性のある複数の語句をサブワード列に分解する語句分解処理手順と、上記語句分解処理手順で分解された各サブワード列の音節列と上記音節列識別処理手順で識別された音節列を比較して、複数の語句の中からユーザの音声に対応する語句を選択する語句選択処理手順とを備えた音声語句選択プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザの音声に対応する語句を選択する音声語句選択装置及び音声語句選択プログラムに関するものである。
【背景技術】
【０００２】
従来の音声語句選択装置を説明するに際して、以下用いる専門用語は、下記の文献に開示されている用語を用いるものとする。
・鹿野清宏、伊藤克亘、河原達也、武田一哉、山本幹雄著：「音声認識システム」株式会社オーム社  平成１３年５月１５日発行
・中川聖一著：「確率モデルによる音声認識」社団法人電子情報通信学会  昭和６３年７月１日発行
・長尾真著：「自然言語処理」岩波書店  １９９６年４月２６日発行
【０００３】
音声による語句の選択は情報弱者の機器操作手段として有用であり、より認識精度の向上が望まれる。特に、音声を精度よく認識するために、単語辞書を用いる方式が注目されている。
単語や句の情報を音声認識リソースに記憶し、これらの単語や句を音声による選択対象とすることで、音声の認識精度を高めている。
しかし、単語辞書を用いる場合、単語辞書に存在しない単語（未知語）が認識対象の音声に含まれる場合には、音声の認識精度が劣化する。
そこで、未知語が認識対象の音声に含まれる場合でも、高い認識精度を得るため、単語をさらに細かく分割したサブワードを用いる音声語句選択装置が開発されている（例えば、特許文献１参照）。
【０００４】
以下、上記の音声語句選択装置の動作を説明する。
まず、マイクがユーザの音声を入力すると、その音声を電気信号に変換する。
音声語句選択装置の音節列算出装置は、マイクが音声を電気信号に変換すると、その電気信号をアナログ／デジタル変換して量子化する。
そして、音節列算出装置は、その量子化結果をスペクトル分析することにより、音声の音節列を識別して、その音節列をＲＡＭに記憶する。
【０００５】
一方、音声語句選択装置の語句分解装置は、ユーザの音声に対応する可能性のある複数の語句の表記文字列を短単位に分割して分割候補列を作成する。
語句選択装置は、ＲＡＭに記憶された音節列を読み出し、その音節列と分割候補列に対応する発音の音節列（語句の表記から得られる音節列）とを比較して、複数の語句の中から最も類似する語句を選択する。
音声語句選択装置の表示装置は、語句選択装置により選択された語句を表示する。
これにより、ユーザの音声に対応する語句を選択することができる。
【０００６】
ところで、語句の情報として、語句にルビがふられている場合がある。また、氏名や住所などの平仮名読みが、語句とペアで記載される場合もある。
従来の音声語句選択装置では、語句の表記から得られる音節列を考慮して語句を選択するが、語句の平仮名読みを考慮しないで語句を選択するため、語句を正しく選択できない場合がある。
【０００７】
例えば、「凸型」（ルビとして“とつがた”がふられているものとする）と、「凹型」（ルビとして“おうがた”がふられているものとする）と、「ＯＫ」（ルビとして“おうけい”がふられているものとする）という語句が選択肢である場合において、ユーザが「ＯＫ」を選択するために、“おうけい”と発声すると、語句の平仮名読みを考慮しないので、選択肢の一つである「凹型」を「凹」（おう）と「型」（けい）にサブワード分割することにより、「凹型」を誤選択することがある。
【０００８】
このような誤選択を回避するため、単純に平仮名読みの情報を発音に変換して用いる方式も考えられる。
しかし、平仮名読みから直接発音記号を推定すると、正しい発音を推定できない場合がある。
例えば、表記を「」内、平仮名読みを（）内、発音音節を＜＞内に示すと、「ここは」の（は）は＜ｗａ＞と発音するし、「白兎」（しろうさぎ）と「蝋兎」（ろううさぎ）では、同じ（ろう）の読みに対して、発音がそれぞれ＜ｒｏｕ＞と＜ｒｏｏ＞となって異なる。このように、平仮名読みと発音には揺れが生じるため、音声の認識が困難である。
【０００９】
【特許文献１】特開２００３−１０８１８６号公報（段落番号［００３３］から［００９２］、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
従来の音声語句選択装置は以上のように構成されているので、語句の表記以外に平仮名読みが付加されている場合、平仮名読みを考慮せずに語句を選択する結果、平仮名読みと合致しない語句を選択することがある課題があった。
また、平仮名読みの情報を発音に変換して語句を選択する場合、平仮名読みと発音には揺れが生じるため、正しい発音を推定することができず、語句を正確に選択することができない課題があった。
【００１１】
この発明は上記のような課題を解決するためになされたもので、語句の正しい発音を考慮して、語句を正確に選択することができる音声語句選択装置及び音声語句選択プログラムを得ることを目的とする。
【課題を解決するための手段】
【００１２】
この発明に係る音声語句選択装置は、単語及び句より小さな単位の文字列の表記、仮名読み、音節及び出現確率からなるサブワードを記録しているサブワード辞書を参照して、ユーザの音声に対応する可能性のある複数の語句をサブワード列に分解する語句分解手段を設け、その語句分解手段により分解された各サブワード列の音節列とユーザの音声の音節列とを比較して、複数の語句の中からユーザの音声に対応する語句を選択するようにしたものである。
【発明の効果】
【００１３】
この発明によれば、単語及び句より小さな単位の文字列の表記、仮名読み、音節及び出現確率からなるサブワードを記録しているサブワード辞書を参照して、ユーザの音声に対応する可能性のある複数の語句をサブワード列に分解する語句分解手段を設け、その語句分解手段により分解された各サブワード列の音節列とユーザの音声の音節列とを比較して、複数の語句の中からユーザの音声に対応する語句を選択するように構成したので、ユーザの音声に対応する語句の選択精度を高めることができる効果がある。
【発明を実施するための最良の形態】
【００１４】
実施の形態１．
図１はこの発明の実施の形態１による音声語句選択装置を示す構成図であり、図において、マイク１はユーザの音声を入力し、その音声を電気信号に変換して出力する。なお、マイク１は音声入力手段を構成している。
音節列算出装置２は例えばＬＳＩなどの半導体集積回路から構成され、マイク１から出力された電気信号をアナログ／デジタル変換して量子化し、その量子化結果をスペクトル分析することにより、音声の音節列を識別する。なお、音節列算出装置２は音節列識別手段を構成している。
【００１５】
ＲＡＭ３はユーザが音声によって選択する語句の候補（ユーザの音声に対応する可能性のある複数の語句）を記憶しているメモリである。なお、ＲＡＭ３に記憶されている語句には、その平仮名読みが付加されている。
読みインデックス付サブワード辞書４は単語及び句より小さな単位の文字列の表記、平仮名読み（または片仮名読み）、音節及び出現確率からなるサブワードを記録している。なお、読みインデックス付サブワード辞書４は図示せぬメモリ等に格納されている。
【００１６】
平仮名読み抽出装置５は例えばＬＳＩなどの半導体集積回路から構成され、ＲＡＭ３に記憶されている複数の語句の平仮名読みを抽出する。この実施の形態１では、複数の語句の平仮名読みを抽出する平仮名読み抽出装置５を設けているが、ＲＡＭ３に記憶されている語句に片仮名読みが付加されている場合、片仮名読みを抽出する片仮名読み抽出装置を設けるようにする。
読み制約語句分解装置６は例えばＬＳＩなどの半導体集積回路から構成され、ＲＡＭ３に記憶されている語句毎に、平仮名読み抽出装置５により抽出された平仮名読み連鎖が一致するように、読みインデックス付サブワード辞書４を参照して、サブワード列に分解する。
なお、平仮名読み抽出装置５及び読み制約語句分解装置６から語句分解手段が構成されている。
【００１７】
差分表７は音節列算出装置２により識別された音節列のそれぞれの音節が、どのくらいの確率で他の音節列に誤っているかを表す混同確率の表である。
差分表７は、阿部他：「認識誤り傾向の確率モデルを用いた２段階探索法による大語彙連続音声認識」，電子情報通信学会論文誌Ｄ−ＩＩ，ＶｏｌＪ８３−Ｄ−ＩＩ  Ｎｏ．１２，ｐｐ２５４５−２５５３（２０００−１２）に示される差分モデルのうち、確率が０．００５以下のものを省略して記憶容量の効率化を図ったものである。
図７は差分表７の一部を示しており、標準音節列は語句の音節に対応し、最適音節列は音節列算出装置２により識別された音節列に対応していいる。また、尤度は標準音節列が最適音節列に誤認識される確率である。
なお、差分表７は図示せぬメモリ等に格納されている。
【００１８】
語句選択装置８は例えばＬＳＩなどの半導体集積回路から構成されており、語句選択装置８は差分表７を参照して、読み制約語句分解装置６により分解された各サブワード列の音節列と音節列算出装置２により識別された音節列の尤度を算出し、複数の語句の中から最も尤度が高いサブワード列に係る語句を選択する。なお、差分表７及び語句選択装置８から語句選択手段が構成されている。
表示装置９は例えば液晶ディスプレイなどから構成され、語句選択装置８により選択された語句を表示する。
【００１９】
この実施の形態１では、マイク１、音節列算出装置２、平仮名読み抽出装置５、読み制約語句分解装置６及び語句選択装置８が専用のハードウェアで構成されているものについて説明するが、音声語句選択装置がコンピュータから構成される場合には、マイク１、音節列算出装置２、平仮名読み抽出装置５、読み制約語句分解装置６及び語句選択装置８の処理内容が記述されたプログラムをメモリに格納し、コンピュータの中央処理装置（例えば、ＣＰＵ）が当該プログラムを実行するようにしてもよい。
【００２０】
図２はこの発明の実施の形態１による音声語句選択装置の処理内容を示すフローチャート、図３は語句をサブワード列に分解する処理を示すフローチャート、図４はユーザの音声に対応する語句を選択する処理を示すフローチャートである。
【００２１】
次に動作について説明する。
最初に、この実施の形態１による音声語句選択装置の原理について説明する。
この発明の実施の形態１では、単語や句をより小さな単位で分割した読みインデックス付サブワードという単位を定義する。
読みインデックス付サブワードは、表記文字列と平仮名読み文字列と発音音節列と出現確率とから構成されている。
【００２２】
例えば、「三菱電機は流石だ」（みつびしでんきはさすがだ）という句は、「三」（みつ）＜ｍｉｃｕ＞，「菱」（びし）＜ｂｉｓｉ＞，「電」（でん）＜ｄｅＮ＞，「機」（き）＜ｋｉ＞，「は」（は）＜ｗａ＞，「流石」（さすが）＜ｓａｓｕｇａ＞，「だ」（だ）＜ｄａ＞という７つの読みインデックス付サブワードから構成される。
単漢字では、「流石」は「流」と「石」に分割できるが、単漢字に分割してしまうと、（さすが）という読みに対応できなくなるので最小単位ではない。この点が単漢字とは異なる。
【００２３】
語句の選択は、音声認識された音節列に最も類似する語句を選択することで行うが、その音節列に対する語句の確率Ｐ（Ｗ｜Ｙ）を最大にする読みインデックス付サブワード列Ｗを算出することにより、最も類似する語句を選択する。
読みインデックス付サブワード列の条件付確率Ｐ（Ｗ｜Ｙ）は、下記の式（１）から得る。
【数１】
2005331600.tif 000003
【００２４】
式（１）において、Ｗは選択の対象となる語句を読みインデックス付サブワードに分割した読みインデックス付サブワード列であり、Ｙは音声認識された音節列である。
したがって、条件付確率Ｐ（Ｗ｜Ｙ）を最大にするＷを求めればよいから、右辺のうち読みインデックス付サブワード列に共通なＰ（Ｙ）は省略でき、Ｐ（Ｗ｜Ｙ）Ｐ（Ｗ）を最大にするＷを求めればよい。
Ｐ（Ｙ｜Ｗ）は読みインデックス付サブワード列Ｗが与えられたときの音節列の出現確率であり、Ｐ（Ｗ）は読みインデックス付サブワード列の出現確率である。
【００２５】
時刻ｔ＝１，２，・・・，Ｌにおいて、読みインデックス付サブワード列Ｗに対応する音節列が次の式（２）で決定されるとき、Ｐ（Ｙ｜Ｗ）は音節確率から次の式（３）によって算出することができる。
Ｙ＝Ｙ１，Ｙ２，・・・，ＹＬ                                    （２）
【数２】
2005331600.tif 000004
【００２６】
また、読みインデックス付サブワード列の出現確率Ｐ（Ｗ）は、ｍ個の読みインデックス付サブワード列Ｗが次の式（４）で決定されるとき、音節確率とは独立に式（５）の読みインデックス付サブワードｎ−ｇｒａｍから求める。
Ｗ＝ｗ１，ｗ２，・・・，ｗＬ                                    （４）
【数３】
2005331600.tif 000005
【００２７】
上述した計算により、音節列候補のうち、辞書に音節列に対応した読みインデックス付サブワードの列が存在するものについて、読みインデックス付サブワード列確率Ｐ（Ｗ｜Ｙ）を最大にするＷを算出する。ただし、組み合わせの計算については、例えば、上述した長尾真著の「自然言語処理」に示されるＶｉｔｅｒｂｉアルゴリズムを用いて高速に行ってもよい。また、確率を対数確率として計算式を総和で計算するようにしてもよい。
それぞれの読みインデックス付サブワードのｎ−ｇｒａｍ出現確率は、既知の単語の読みを発声収集した発音情報から作成し、読みインデックス付サブワード辞書に予め記憶しておくようにする。
【００２８】
読みインデックス付サブワード辞書４は、図５に示すように、読みインデックス付サブワードとして、表記列、平仮名読み列、音素表記列及び出現確率Ｐ（Ｗ）の組を記憶している。
この実施の形態１では、読みインデックス付サブワードｎ−ｇｒａｍの次数ｎは１として説明するが、ｎは２以上であってもよい。
【００２９】
以下、この実施の形態１による音声語句選択装置の動作を具体的に説明する。
ただし、この実施の形態１では説明の便宜上、ＲＡＭ３には、ユーザが音声によって選択する語句の候補として、「Ａ群」（えいぐん）と「嬰群」（えいぐん）が格納されており、表示装置９には、図６に示すように、「Ａ群」（えいぐん）と「嬰群」（えいぐん）が表示されているものとする。
【００３０】
まず、ユーザが「嬰群」を選択するために＜ｅｉｇｕＮ＞と発声すると、マイク１がユーザの音声＜ｅｉｇｕＮ＞を入力し（ステップＳＴ１）、その音声を電気信号に変換して出力する（ステップＳＴ２）。
音節列算出装置２は、マイク１から電気信号を受けると、その電気信号をアナログ／デジタル変換して量子化し、その量子化結果をスペクトル分析することにより、音節単位に分離した認識候補の一連を認識音節列として算出する（ステップＳＴ３）。
この実施の形態１では、認識音節列として、＜ｅｉｇｕＮ＞が算出され、その認識音節列がＲＡＭ３に格納される。
なお、音声の音節列を識別するに際して、一般的には、音響尤度を算出して最尤の音節列を選択するが、確率以外に対数確率等を用いてもよい。
【００３１】
平仮名読み抽出装置５は、音節列算出装置２が認識音節列を算出すると、ＲＡＭ３に記憶されている複数の語句の平仮名読みを抽出する（ステップＳＴ４）。
即ち、語句「Ａ群」から“えいぐん”を抽出し、語句「嬰群」から“えいぐん”を抽出する。
【００３２】
読み制約語句分解装置６は、平仮名読み抽出装置５が複数の語句の平仮名読みを抽出すると、複数の語句を平仮名読み連鎖が一致するように、読みインデックス付サブワード辞書４を参照して、サブワード列に分解する（ステップＳＴ５）。
以下、サブワード列の分解処理を具体的に説明する。
【００３３】
まず、読み制約語句分解装置６は、分割済読みインデックス付サブワード列を空リストとし、かつ、残語句表記文字列及び平仮名読み文字列の対を語句文字列として、図３のサブルーチンをコールする。
この例では、最初に、分割済読みインデックス付サブワード列が｛｝、残語句表記文字列が「Ａ群」、平仮名読み文字列が（えいぐん）でコールされる。
【００３４】
読み制約語句分解装置６は、分割済読みインデックス付サブワード列｛｝、残語句表記文字列「Ａ群」、及び平仮名読み文字列（えいぐん）をＲＡＭ３に格納する（ステップＳＴ１１，ＳＴ１２）。
読み制約語句分解装置６は、読みインデックス付サブワード辞書４に記録されている全ての読みインデックス付サブワードについて、ステップＳＴ１４以降の処理が実施されたか否かを判定する（ステップＳＴ１３）。
全ての読みインデックス付サブワードについて、ステップＳＴ１４以降の処理が実施されていれば、図３の処理を終了するが、まだステップＳＴ１４以降の処理が実施されていない読みインデックス付サブワードがあれば、ステップＳＴ１４の処理に移行する。
この段階では、何れの読みインデックス付サブワードも、ステップＳＴ１４以降の処理が実施されていないので、ステップＳＴ１４の処理に移行する。
【００３５】
読み制約語句分解装置６は、図５の読みインデックス付サブワード辞書４から、読みインデックス付サブワードを１つ取り出して、ステップＳＴ１５の処理に移行する（ステップＳＴ１４）。
ここでは、表記が「Ａ」、平仮名読みが（えい）、音節列が（ｅｅ）、尤度が３．１０００３ｅ−０５の読みインデックス付サブワードが取り出されるものとする。
【００３６】
読み制約語句分解装置６は、読みインデックス付サブワードの表記が残語句表記文字列に前方一致し、かつ、読みインデックス付サブワードの平仮名読みが平仮名読み文字列に前方一致しているかをチェックし（ステップＳＴ１５）、一致していれば、ステップＳＴ１６の処理に移行し、一致していなければ、ステップＳＴ１３の処理に戻る。
上述したように、残語句表記文字列が「Ａ群」であり、その１文字目は「Ａ」であるので、読みインデックス付サブワードの表記「Ａ」と一致する。
また、平仮名読み文字列が（えいぐん）であり、その文字列の前方に位置する（えい）が読みインデックス付サブワードの平仮名読み（えい）と一致する。
【００３７】
読み制約語句分解装置６は、上記のように、前方一致していれば、分割済み読みインデックス付サブワード列として、前方一致した読みインデックス付サブワードを追加し、残語句表記文字列から前方一致した文字列を削除するとともに、平仮名読み文字列から前方一致した文字列を削除する。
即ち、分割済み読みインデックス付サブワード列として、｛「Ａ」（えい）＜ｅｅ＞  ３．１０００３ｅ−０５｝の読みインデックス付サブワードを追加する。
また、削除後の残語句表記文字列が「群」、削除後の平仮名読み文字列が（ぐん）となる。
そして、読み制約語句分解装置６は、分割済読みインデックス付サブワード列が｛「Ａ」（えい）＜ｅｅ＞  ３．１０００３ｅ−０５｝、残語句表記文字列が「群」、平仮名読み文字列が（ぐん）として、図３のサブルーチンを再帰的にコールする（ステップＳＴ１６）。
【００３８】
読み制約語句分解装置６は、図３のサブルーチンを再帰コールすると、ステップＳＴ１３から同様の処理を実施する。
即ち、読み制約語句分解装置６は、読みインデックス付サブワード辞書４に記録されている全ての読みインデックス付サブワードについて、ステップＳＴ１４以降の処理が実施されたか否かを判定する（ステップＳＴ１３）。
この段階では、例えば、表記「群」、平仮名読み（ぐん）などの読みインデックス付サブワードについて、ステップＳＴ１４以降の処理が実施されていないので、ステップＳＴ１４の処理に移行する。
【００３９】
読み制約語句分解装置６は、図５の読みインデックス付サブワード辞書４から、読みインデックス付サブワードを１つ取り出して、ステップＳＴ１５の処理に移行する（ステップＳＴ１４）。
ここでは、表記「群」、平仮名読み（ぐん）、音節列が（ｇｕＮ）、尤度が０．０００２５０９３８の読みインデックス付サブワードが取り出されるものとする。
【００４０】
読み制約語句分解装置６は、読みインデックス付サブワードの表記が残語句表記文字列に前方一致し、かつ、読みインデックス付サブワードの平仮名読みが平仮名読み文字列に前方一致しているかをチェックし（ステップＳＴ１５）、一致していれば、ステップＳＴ１６の処理に移行し、一致していなければ、ステップＳＴ１３の処理に戻る。
上述したように、残語句表記文字列が「群」であるので、読みインデックス付サブワードの表記「群」と一致する。
また、平仮名読み文字列が（ぐん）であるので、読みインデックス付サブワードの平仮名読み（ぐん）と一致する。
【００４１】
読み制約語句分解装置６は、上記のように、前方一致していれば、分割済み読みインデックス付サブワード列として、前方一致した読みインデックス付サブワードを追加し、残語句表記文字列から前方一致した文字列を削除するとともに、残平仮名読み文字列から前方一致した文字列を削除する。
即ち、分割済み読みインデックス付サブワード列として、｛「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８｝の読みインデックス付サブワードを追加する。
また、削除後の残語句表記文字列が「」、削除後の残平仮名読み文字列が（）となる。
このように、削除後の残語句表記文字列が「」になり、削除後の残平仮名読み文字列が（）になると、ステップＳＴ１６のサブルーチンがリターンして、ステップＳＴ１７の処理に移行する。
【００４２】
読み制約語句分解装置６は、語句「Ａ群」の分解処理が完了したか否かを判定する（ステップＳＴ１８）。
この段階では、語句「Ａ群」の分解処理が完了しているので、読み制約語句分解装置６は、分割済み読みインデックス付サブワード列｛「Ａ」（えい）＜ｅｅ＞  ３．１０００３ｅ−０５，「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８｝と語句「Ａ群」とを、最後まで読みインデックス付サブワード分割された候補としてＲＡＭ３に記憶する（ステップＳＴ１８）。
【００４３】
読み制約語句分解装置６は、上記のようにして、語句「Ａ群」に対する分解処理が完了すると、今度は語句「嬰群」について、サブワードの分解処理を実施する。
即ち、分割済読みインデックス付サブワード列を｛｝、残語句表記文字列を「嬰群」、平仮名読み文字列を（えいぐん）として、図３のサブルーチンをコールする。
これにより、語句「Ａ群」の場合と同様の処理が実施されて、分割済み読みインデックス付サブワード列｛「嬰」（えい）＜ｅｉ＞  １．７７９５８ｅ−０８，「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８｝が得られる。
【００４４】
以上により、ステップＳＴ５におけるサブワード列の分解処理が完了するが、この分解処理によって、ＲＡＭ３には、以下の分割済み読みインデックス付サブワード列が格納される。
・Ａ群：
「Ａ」（えい）＜ｅｅ＞  ３．１０００３ｅ−０５，「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８
・嬰群：
「嬰」（えい）＜ｅｉ＞  １．７７９５８ｅ−０８，「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８
【００４５】
語句選択装置８は、読み制約語句分解装置６がＲＡＭ３に格納されている複数の語句をサブワード列に分解すると、差分表７を参照して、各サブワード列の音節列とＲＡＭ３に格納されている認識音節列とを比較して、複数の語句の中から最も尤度が高いサブワード列に係る語句を選択する（ステップＳＴ６）。
以下、語句の選択処理を具体的に説明する。
【００４６】
まず、語句選択装置８は、図４のサブルーチンをコールして、ＲＡＭ３から認識音節列の読込処理を実施する（ステップＳＴ２１）。
この例では、認識音節列として、＜ｅｉｇｕＮ＞が読み込まれる。
また、語句選択装置８は、最大尤度を保持する変数を初期化するとともに、解となる最大尤度の読みインデックス付サブワード列を保持する領域の初期化処理を実施する（ステップＳＴ２２，ＳＴ２３）。
ここでは、最大尤度を０、読みインデックス付サブワード列を｛｝とする。
【００４７】
語句選択装置８は、ＲＡＭ３に格納されている全ての分割済み読みインデックス付サブワード列について、ステップＳＴ２５以降の処理が実施されたか否かを判定する（ステップＳＴ２４）。
全ての分割済み読みインデックス付サブワード列について、ステップＳＴ２５以降の処理が実施されていれば、図４の処理を終了するが、まだステップＳＴ２５以降の処理が実施されていない分割済み読みインデックス付サブワードがあれば、ステップＳＴ２５の処理に移行する。
この段階では、何れの分割済み読みインデックス付サブワード列も、ステップＳＴ２５以降の処理が実施されていないので、ステップＳＴ２５の処理に移行する。
【００４８】
語句選択装置８は、ＲＡＭ３から分割済み読みインデックス付サブワード列を１つ取り出して、ステップＳＴ２６の処理に移行する（ステップＳＴ２５）。
ここでは、Ａ群の分割済み読みインデックス付サブワード列｛「Ａ」（えい）＜ｅｅ＞  ３．１０００３ｅ−０５，「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８｝が取り出されるものとする。
【００４９】
語句選択装置８は、Ａ群の分割済み読みインデックス付サブワード列の中から音節列を抽出する（ステップＳＴ２６）。
ここでは、以下の音節列が抽出されるものとする。
＜ｅｅ＞、＜ｇｕＮ＞
【００５０】
語句選択装置８は、図７の差分表７から、上記のようにして抽出した音節列＜ｅｅ＞に対応する認識音節列＜ｅｉｇｕＮ＞における＜ｅｉ＞の尤度を取得する。また、音節列＜ｇｕＮ＞に対応する認識音節列＜ｅｉｇｕＮ＞における＜ｇｕＮ＞の尤度を取得する。
即ち、抽出音節列＜ｅｅ＞における＜ｅ＞と、認識音節列＜ｅｉｇｕＮ＞における＜ｅｉ＞とに対応する尤度として、Ｒ１＝０．８５２１７１を取得する。
また、抽出音節列＜ｅｅ＞における＜ｅ＞と、認識音節列＜ｅｉｇｕＮ＞における＜ｉ＞とに対応する尤度として、Ｒ２＝０を取得する。差分表７には、＜ｅ＞と＜ｉ＞に対応する尤度が記述されていないので、尤度Ｒ２を“０”に近似している。
また、抽出音節列＜ｇｕＮ＞における＜ｇｕ＞と、認識音節列＜ｅｉｇｕＮ＞における＜ｇｕ＞とに対応する尤度として、Ｒ３＝０．８２７３７５を取得する。
さらに、抽出音節列＜ｇｕＮ＞における＜Ｎ＞と、認識音節列＜ｅｉｇｕＮ＞における＜Ｎ＞とに対応する尤度として、Ｒ４＝０．８９２６３９を取得する。
【００５１】
次に、語句選択装置８は、下記に示すように、「Ａ群」が生起される言語確率Ｐ（Ｗ）を算出する。
Ｐ（Ｗ）
＝Ｐ（「Ａ」（えい）＜ｅｅ＞，「群」（ぐん）＜ｇｕＮ＞）
＝３．１０００３ｅ−０５×０．０００２５０９３８
＝７．７７９０７８ｅ−１０
【００５２】
次に、語句選択装置８は、下記に示すように、認識音節列＜ｅｉｇｕＮ＞を＜ｅｅｇｕＮ＞と認識する確率Ｐ（Ｙ｜Ｗ）を近似する。
Ｐ（Ｙ｜Ｗ）
＝Ｒ１×Ｒ２×Ｒ３×Ｒ４
＝０．８５２１７１×０×０．８２７３７５×０．８９２６３９
＝０
【００５３】
語句選択装置８は、下記に示すように、Ｐ（Ｗ）とＰ（Ｙ｜Ｗ）から、Ａ群の分割済み読みインデックス付サブワード列の尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）を算出する（ステップＳＴ２７）。
Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）
＝０×７．７７９０７８ｅ−１０
＝０
【００５４】
語句選択装置８は、上記のようにして、Ａ群の分割済み読みインデックス付サブワード列の尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）を算出すると、その尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）が最大尤度よりも大きいか否かを判定し（ステップＳＴ２８）、最大尤度よりも大きければ、ステップＳＴ２９の処理に移行するが、最大尤度よりも大きくなければ、ステップＳＴ２４の処理に戻る。
この例では、尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）が“０”であり、最大尤度“０”よりも大きくないので、ステップＳＴ２４の処理に戻る。
【００５５】
語句選択装置８は、ステップＳＴ２４の処理に戻ると、ＲＡＭ３に格納されている全ての分割済み読みインデックス付サブワード列について、ステップＳＴ２５以降の処理が実施されたか否かを判定する。
この段階では、嬰群の分割済み読みインデックス付サブワード列｛「嬰」（えい）＜ｅｉ＞  １．７７９５８ｅ−０８，「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８｝について、ステップＳＴ２５以降の処理が実施されていないので、ステップＳＴ２５の処理に移行する。
【００５６】
語句選択装置８は、ＲＡＭ３から嬰群の分割済み読みインデックス付サブワード列｛「嬰」（えい）＜ｅｉ＞  １．７７９５８ｅ−０８，「群」（ぐん）＜ｇｕＮ＞  ０．０００２５０９３８｝を取り出して、ステップＳＴ２６の処理に移行する（ステップＳＴ２５）。
語句選択装置８は、嬰群の分割済み読みインデックス付サブワード列の中から音節列を抽出する（ステップＳＴ２６）。
ここでは、以下の音節列が抽出されるものとする。
＜ｅｉ＞、＜ｇｕＮ＞
【００５７】
語句選択装置８は、図７の差分表７から、上記のようにして抽出した音節列＜ｅｉ＞に対応する認識音節列＜ｅｉｇｕＮ＞における＜ｅｉ＞の尤度を取得する。また、音節列＜ｇｕＮ＞に対応する認識音節列＜ｅｉｇｕＮ＞における＜ｇｕＮ＞の尤度を取得する。
即ち、抽出音節列＜ｅｉ＞における＜ｅ＞と、認識音節列＜ｅｉｇｕＮ＞における＜ｅｉ＞とに対応する尤度として、Ｒ１＝０．８５２１７１を取得する。
また、抽出音節列＜ｅｉ＞における＜ｉ＞と、認識音節列＜ｅｉｇｕＮ＞における＜ｉ＞とに対応する尤度として、Ｒ２＝０．８１３５１４を取得する。
また、抽出音節列＜ｇｕＮ＞における＜ｇｕ＞と、認識音節列＜ｅｉｇｕＮ＞における＜ｇｕ＞とに対応する尤度として、Ｒ３＝０．８２７３７５を取得する。
さらに、抽出音節列＜ｇｕＮ＞における＜Ｎ＞と、認識音節列＜ｅｉｇｕＮ＞における＜Ｎ＞とに対応する尤度として、Ｒ４＝０．８９２６３９を取得する。
【００５８】
次に、語句選択装置８は、下記に示すように、「嬰群」が生起される言語確率Ｐ（Ｗ）を算出する。
Ｐ（Ｗ）
＝Ｐ（「嬰」（えい）＜ｅｉ＞，「群」（ぐん）＜ｇｕＮ＞）
＝１．７７９５８ｅ−０８×０．０００２５０９３８
＝０．０００００００００００４４６５６４２４６０４
【００５９】
次に、語句選択装置８は、下記に示すように、認識音節列＜ｅｉｇｕＮ＞を＜ｅｉｇｕＮ＞と認識する確率Ｐ（Ｙ｜Ｗ）を近似する。
Ｐ（Ｙ｜Ｗ）
＝Ｒ１×Ｒ２×Ｒ３×Ｒ４
＝０．８５２１７１×０．８１３５１４×０．８２７３７５×０．８９２６３９
＝０．５１２
【００６０】
語句選択装置８は、下記に示すように、Ｐ（Ｗ）とＰ（Ｙ｜Ｗ）から、嬰群の分割済み読みインデックス付サブワード列の尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）を算出する（ステップＳＴ２７）。
Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）
＝０．５１２×０．０００００００００００４４６５６４２４６０４
＝０．０００００００００００２２８６４０８９３９７２４８
【００６１】
語句選択装置８は、上記のようにして、嬰群の分割済み読みインデックス付サブワード列の尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）を算出すると、その尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）が最大尤度よりも大きいか否かを判定し（ステップＳＴ２８）、最大尤度よりも大きければ、ステップＳＴ２９の処理に移行するが、最大尤度よりも大きくなければ、ステップＳＴ２４の処理に戻る。
この例では、尤度Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）が最大尤度“０”よりも大きいので、ステップＳＴ２９の処理に移行する。
これにより、最大尤度は、Ｐ（Ｙ｜Ｗ）Ｐ（Ｗ）＝“０．０００００００００００２２８６４０８９３９７２４８”となる。
【００６２】
語句選択装置８は、上記の最大尤度と、解の読みインデックス付サブワード（＝嬰群の分割済み読みインデックス付サブワード列）と、語句「嬰群」とをＲＡＭ３に格納する（ステップＳＴ２９）。
この後、ステップＳＴ２４の処理に戻るが、ＲＡＭ３に格納されている全ての分割済み読みインデックス付サブワード列について、ステップＳＴ２５以降の処理が実施されているので、図４の処理を終了する。
【００６３】
表示装置９は、上記のようにして、語句選択装置８が語句「嬰群」を選択すると、ユーザの音声に対応する語句として「嬰群」を表示する。
【００６４】
以上で明らかなように、この実施の形態１によれば、単語及び句より小さな単位の文字列の表記、平仮名読み、音節及び出現確率からなるサブワードを記録している読みインデックス付サブワード辞書４を参照して、ユーザの音声に対応する可能性のある複数の語句をサブワード列に分解し、各サブワード列の音節列とユーザの音声の音節列とを比較して、複数の語句の中からユーザの音声に対応する語句を選択するように構成したので、ユーザの音声に対応する語句の選択精度を高めることができる効果を奏する。
即ち、ユーザの音声に対応する可能性のある複数の語句の平仮名読みが同じであっても、ユーザの発音に対応する語句を選択することができる効果を奏する。
【００６５】
実施の形態２．
上記実施の形態１では、読みインデックス付サブワードｎ−ｇｒａｍの次数が１であるものとして説明したが、ｎ−ｇｒａｍの次数を２以上にしてもよい。
ｎ−ｇｒａｍの次数を２以上にすると、複数のサブワード連鎖の発音の曖昧性を精度よく推定することができる。
【００６６】
例えば、「旅客機」（りょかくき）の（かく）は＜ｋａｑ＞と変化する場合が強く、「旅客機関」（りょかくきかん）の（かく）は＜ｋａｋｕ＞のままであると推定することができる。
また、「本当」（ほんとう）の（とう）は、＜ｔｏ＞のように、語末を短く発音（短呼）する場合があるのに対して、「本当番」（ほんとうばん）の場合の（とう）は、＜ｔｏｏ＞と長音化して、短呼が起こらないと推定することが可能になる。
【図面の簡単な説明】
【００６７】
【図１】この発明の実施の形態１による音声語句選択装置を示す構成図である。
【図２】この発明の実施の形態１による音声語句選択装置の処理内容を示すフローチャートである。
【図３】語句をサブワード列に分解する処理を示すフローチャートである。
【図４】ユーザの音声に対応する語句を選択する処理を示すフローチャートである。
【図５】読みインデックス付サブワード辞書の記憶内容を示す説明図である。
【図６】ユーザが音声によって選択する語句の候補を示す説明図である。
【図７】差分表の一部を示す説明図である。
【符号の説明】
【００６８】
１  マイク（音声入力手段）、２  音節列算出装置（音節列識別手段）、３  ＲＡＭ、４  読みインデックス付サブワード辞書、５  平仮名読み抽出装置（語句分解手段）、６  読み制約語句分解装置（語句分解手段）、７  差分表（語句選択手段）、８  語句選択装置（語句選択手段）、９  表示装置。
【図１】
2005331600.tif 000006
【図２】
2005331600.tif 000007
【図３】
2005331600.tif 000008
【図４】
2005331600.tif 000009
【図５】
2005331600.tif 000010
【図６】
2005331600.tif 000011
【図７】
2005331600.tif 000012