(57)【要約】【課題】音声によるテキストデータの検索は、従来、入力音声中の単語として認識された箇所には単語を索引語として全文検索を行うため単語として認識された箇所に誤認識があると検索精度が低下する。【解決手段】学習データ分割手段で言語単位に分割された検索対象テキストデータから言語モデル作成手段で作成された言語モデルと音声特徴がモデル化された音響モデルを参照し、音声認識手段が入力音声の音声認識を行って音素表記を出力し、この音素表記を検索対象テキストデータが、言語モデルよりも小単位で分割されたテキスト検索辞書と同じ単位で照合単位変換手段によって分割し、分割結果を用いてテキスト検索手段によってテキスト検索辞書の検索を行う。【選択図】図１
2008262279.tif 000002
【特許請求の範囲】
【請求項１】
検索対象とする文書等のテキストデータを所定の言語単位に分割して出力する学習データ分割手段と、
前記分割結果に基づいて音声認識用の言語モデルを作成する言語モデル作成手段と、
前記学習データ分割手段における分割単位よりも小さい単位で前記検索対象とする文書等のテキストデータを分割してテキスト検索辞書を作成するテキスト辞書作成手段と、
前記言語モデルを用いて入力音声を認識し音声認識結果をテキストとして出力する音声認識手段と、
前記音声認識結果を前記テキスト辞書作成手段と同じ分割単位に分割して出力する照合単位変換手段と、
前記照合単位変換手段の出力を入力として前記テキスト検索辞書を用いてテキスト検索を行うテキスト検索手段を備えたことを特徴とする音声検索装置。
【請求項２】
前記言語モデル作成手段は、前記言語モデルによって計算される各文書間の言語尤度の差が小さくなるように、各文書の統計量の累積頻度に重みをつけて言語モデルを作成する構成としたことを特徴とする請求項１記載の音声検索装置。
【請求項３】
前記学習データ分割手段によるテキストデータの分割単位は長い単位と短い単位を用い、
前記言語モデル作成手段は、前記各文書の統計量の累積頻度の重みを、分割結果で短い単位が占める割合が多い文書ほど大きな値を与える構成としたことを特徴とする請求項２記載の音声検索装置。
【請求項４】
前記言語モデル作成手段は、前記学習データ分割手段の出力を用いて中間言語モデルを作成し、前記中間言語モデルを用いて、前記検索対象とする各文書に対する言語尤度を算出し、前記各文書の統計量の累積頻度の重みは、前後言語尤度の低い文書ほど大きな値を与える構成としたことを特徴とする請求項２記載の音声検索装置。
【請求項５】
前記音声認識手段は認識結果を上位Ｌ（＞１）個まで出力するものとし、認識結果の第１位の音節数に応じて、テキスト検索手段に出力する音声認識結果候補を制御する音声認識候補数制御手段を備えたことを特徴とする請求項１または２に記載の音声検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声認識を用いて文書等の各種テキストを検索する装置に関するものである。
【背景技術】
【０００２】
音声によって文書等の各種テキストを検索する技術は、ディクテーション型音声認識を用いて音声をテキストに変換し、テキスト上で全文検索を行う方法が一般的である。しかし、この方法では認識可能な語彙数が数千〜数万に限られるため，それ以上の語彙を含む文書等を検索する場合、未知語の扱いを考慮する必要がある。
【０００３】
対策として特開2003-271629号公報においては、検索対象とする文書中で出現の頻度の高い上位Ｋ個の単語のみを単語単位で認識し、それ以外の単語は音節単位で認識する。そして認識結果として抽出された単語を用いて全文検索によって文書を予備選択し、その後音節列として認識された部分の単語を推定し、最終的な検索結果を得るという技術を開示している。
【０００４】
【特許文献１】特開2003-271629号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記従来技術では、入力音声中の単語として認識された箇所に対しては単語を索引語として全文検索を行っている。このため単語として認識された箇所に誤認識があると、検索精度が低下するという問題があった。例えば発話が「和歌山の那智大滝」で、認識結果が「岡山の 町 大田区」と全て単語で得られたとしても、「和歌山県の那智大滝」を含む文書は検索できないという課題があった。
【０００６】
この発明は上記課題を解決するためになされたもので、発話の文字表記と音声認識結果の文字表記が一致しない場合でも、音響的に類似していれば検索可能とすることを目的とする。
また未知語を含む文書でも認識率低下を抑える技術を提供することを目的とする。
また発話が短く検索の手ががりが少ない場合でも、検索漏れを少なくする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る音声検索装置は、
検索対象とする文書等のテキストデータを所定の言語単位に分割して出力する学習データ分割手段と、
前記分割結果に基づいて音声認識用の言語モデルを作成する言語モデル作成手段と、
前記学習データ分割手段における分割単位よりも小さい単位で前記検索対象とする文書等のテキストデータを分割してテキスト検索辞書を作成するテキスト辞書作成手段と、
前記言語モデルを用いて入力音声を認識し音声認識結果をテキストとして出力する音声認識手段と、
前記音声認識結果を前記テキスト辞書作成手段と同じ分割単位に分割して出力する照合単位変換手段と、
前記照合単位変換手段の出力を入力として前記テキスト検索辞書を用いてテキスト検索を行うテキスト検索手段を備える。
【発明の効果】
【０００８】
この発明によれば、言語単位に分割された言語モデルと音声の特徴がモデル化された音響モデルを参照し、入力音声の音声認識を行って、音素表記を出力し、前記言語モデルよりも小さい単位で分割されているテキスト検索辞書の分割単位と同じ単位で、照合単位変換手段によって前記音素表記を分割して、その分割結果を用いてテキスト検索手段によってテキスト検索辞書の検索を行うように構成したので、認識結果の単語列に誤認識が含まれている場合でも所望の施設が検索可能になるという効果を有する。
【発明を実施するための最良の形態】
【０００９】
実施の形態１.
図１はこの発明による音声検索装置の実施の形態１の構成を示すブロック図である。
同図において、１は音声の入力端、２は入力音声、３は音声認識手段、４は音声認識結果の照合単位を変換する照合単位変換手段、５はテキスト検索手段、６は言語モデルメモリ、７は音響モデルメモリ、８は言語モデル学習データメモリ、９は学習データ分割手段、１０は言語モデル作成手段、１１はテキスト検索辞書作成手段、１２はテキスト検索辞書メモリ、１３は検索結果である。音響モデルメモリ７には音声の特徴をモデル化した音響モデルを格納している。本実施の形態では音響モデルは例えばHMM(Hidden Markov Model)とする。
【００１０】
本実施の形態では日本の全国の施設や観光スポットの名称（以後は簡単のため、施設と観光スポットを総称して施設という）を、幾つかの単語からなるテキスト文書とみなし、施設や観光スポットの名称を音声認識によって検索する場合を例にとり説明する。なお施設名称検索を通常の単語音声認識ではなく、テキスト検索の枠組みで実施する利点は、ユーザが検索対象の施設名を正確に知らなくても一部分がマッチすれば検索可能になることである。
【００１１】
本実施の形態による音声検索装置の動作について説明する。音声認識・検索を行うまえに事前に言語モデル、およびテキスト検索辞書を作成し、それぞれ言語モデルメモリ６とテキスト検索辞書メモリ１２に保存しておく。
まず言語モデルの作成方法を説明する。言語モデル学習データメモリ８には検索対象とする各施設のＩＤ番号、かな漢字表記、音素表記を予め格納しておく。言語モデル学習データメモリ８の内容例を図２に示す。
【００１２】
学習データ分割手段９は、言語モデル学習データメモリ８に格納されている各施設の文字表記と音素表記を入力して形態素解析を行い、文字列を例えば単語単位に分割する。
例えば文字表記が「和歌山の那智大滝」、音素表記が「wakayamanonaciootaki」である場合、分割結果は「和歌山(wakayama)/の(no)/那智(naci)/大滝(ootaki)」となる。ここで()内は音素表記を表す。また「/」は分割位置を示す記号であり言語モデルの学習データに含められるものではない。
【００１３】
学習データ分割手段９は上記処理を言語モデル学習データメモリ８に格納されて全施設名称に対して行い、分割結果を言語モデル作成手段１０に出力する。
言語モデル作成手段１０は全施設の前記分割結果を入力して、言語モデルを作成し、言語モデルメモリ６に保存する。言語モデルとしては、本実施の形態では例えばトライグラムモデルとする。
【００１４】
次にテキスト検索辞書の作成方法を説明する。テキスト検索辞書作成手段１１は、言語モデル学習データメモリ８に格納されている各施設の音素表記とＩＤ番号を入力して、前記音素表記を分割する。テキスト検索辞書作成手段１１における分割単位は、学習データ分割手段９の分割単位である単語より短い単位とする。例えば本実施の形態では音節とする。言語モデル学習データメモリ８に格納されているＩＤ番号１番の場合、の音素表記は「wakayamanonaciookaki」であり、分割結果は「wa/ka/ya/ma/no/na/ci/o/o/ta/ki」となる。
テキスト検索辞書作成手段１１は上記処理を言語モデル学習データメモリ８に格納されて全施設名称に対して行い、音節を索引語として、例えば転置ファイルを作成しテキスト検索辞書としてテキスト検索辞書メモリ１２に保持しておく。ＩＤ番号１番と２番の施設から作成したテキスト検索辞書の例を図３に示す。
【００１５】
次に音声認識と検索の動作について説明する。
音声の入力端１から音声２を入力すると音声認識手段３は言語モデルメモリ６に保存されている言語モデルと音響モデルメモリ７に保存されている音響モデルを用いて音声認識を行い、認識結果として単語列の音素表記を出力する。
例えば入力音声の発話内容が「和歌山の那智大滝」で、認識結果が「岡山/の/町/大田区」であった場合、音声認識手段３は前記認識結果の音素表記である「okayama/no/maci/ootaku」を出力する。
【００１６】
照合単位変換手段４は前記音素表記を入力すると、それを単語より短い単位に分割して出力する。この分割単位はテキスト検索辞書作成手段１１で使用した分割単位と同一のものとする。すなわち前述の通り、本実施の形態ではテキスト検索辞書作成手段１１での分割単位は音節なので、照合単位変換手段４での分割単位も音節とする。従って本実施の形態では照合単位変換手段４の出力は「o/ka/ya/ma/no/ma/ci/o/o/ta/ku」となる。
【００１７】
次にテキスト検索手段５は前記分割結果を入力として、先頭の音節から順にテキスト検索辞書メモリ１２に格納している前記転置ファイルを参照し、当該音節を含む施設のスコアに１を加算する。上記処理を前記分割結果の最終音節まで行う。そしてスコアが所定の閾値Ｓ以上の施設を検索結果として出力する。なお前記閾値Ｓは、例えば認識結果の音節数の0.8倍とする。すなわち本実施の形態の場合、入力音節数11の0.8倍、即ち11*0.8=8.8である。
【００１８】
この結果、前記入力音節列「o/ka/ya/ma/no/ma/ci/o/o/ta/ku」は、最終音節「ku」以外は正解発話である「和歌山の那智大滝」の音節列「wa/ka/ya/ma/no/na/ci/o/o/ta/ki」とマッチするため、スコアが10となり「和歌山の那智大滝」を検索結果として出力することが可能となる。
【００１９】
以上の述べたとおり、この発明によれば、照合単位変換手段４によって、音声認識時の単位よりも小さい単位に分割し、その分割結果を用いてテキスト検索手段５によってテキスト検索を行うように構成したので、認識結果の単語列に誤認識が含まれている場合でも所望の施設が検索可能になるという効果を有する。
【００２０】
実施の形態２．
本実施の形態は学習データ分割手段９と言語モデル作成手段１０の動作を以下のように変更するものである。
学習データ分割手段９は、言語モデル学習データメモリ８に格納されている各施設の文字表記と音素表記を入力として、形態素解析を解析を行い、文字列を単語単位に分割するが、例えば出現頻度の高い上位Ｋ個のみ単語として残し、他は音節列に分解するものとする。
なお単語として残すものは本実施の形態では、出現頻度を基準として選択したが、他の任意の基準を用いて選択してもよい。
【００２１】
また言語モデル作成手段１０への出力は音素表記に分割単位が単語か音節かの区別を示すためのフラグを付加したものとする。なお前記出現頻度Ｋは予め定めた定数であり例えばＫ＝500とする。
例えば図２に示した言語モデル学習データメモリ８に格納されている施設の文字表記が「和歌山の那智大滝」において出現頻度Ｋ位以内の単語が「和歌山」「の」「滝」の３個である場合、分割結果は「wakayama[w]/no[w]/na[s]/ci[s]/o[s]/o[s]/taki[w]」となり、これを出力する。ここで[]は分割結果が単語か音節かの区別を示すフラグであり、[w]は単語、[s]は音節を意味するものとする。一方、文字表記が「東京の千代田区役所」では、全て出現頻度Ｋ位以内の単語である場合、分割結果は、「tookjoo[w]/no[w]/ciyoda[w]/kuyakusjo[w]」となる。
【００２２】
学習データ分割手段９は上記処理を言語モデル学習データメモリ８に格納されて全施設名称に対して行い、分割結果を言語モデル作成手段１０に出力する。
言語モデル作成手段１０は前記分割結果を入力して、言語モデルを作成する。但し各施設の学習データに対して下記の方法で重みを付けて学習する。
言語モデル作成手段１０による言語モデルを作成手順を図５に示す。言語モデル作成手段１０は前記学習データ分割手段９の分割結果が入力されると前記分割結果の音節含有率Ｒｓを（１）式で計算する（ＳＴ１０１）。
【００２３】
【数１】
2008262279.tif 000003
【００２４】
ここでNsは前記分割結果において分割結果が音節である個数、Ｎは全分割数である。例えば「wakayama[w]/no[w]/na[s]/ci[s]/o[s]/o[s]/taki[w]」ではNs=4,N=7なので、Rs=4/7=0.57、「tookjoo[w]/no[w]/ciyoda[w]/kuyakusjo[w]」では、Ns=0,N=4なのでRs=0/4=0となる。
【００２５】
次に言語モデル作成手段１０の内部に保持されている前記音節含有率Rsと重み係数との対応関係を記述した重み係数テーブルを参照し、各施設に対する重み係数wを決定する（ＳＴ１０２）。重み係数テーブルの例を図４に示す。
「wakayama[w]/no[w]/na[s]/ci[s]/o[s]/o[s]/taki[w]」ではRs=4/7=0.57なので、重み係数wは4となる。すると言語モデル作成手段１０は当該施設が４回出現したとみなす、具体的には当該施設から得られる単語や音節間の連鎖頻度を４倍する（ＳＴ１０３）。
一方、「tookjoo[w]/no[w]/ciyoda[w]/kuyakusjo[w]」では、Rs=0なので、重み係数は１となり、当該施設から得られる単語や音節間の連鎖頻度は１倍のままとする。
【００２６】
以上の処理を言語モデル学習データメモリ８に保持している全施設に対して行い、単語や音節間の連鎖頻度を累積して、言語モデルを作成する（ＳＴ１０５）。言語モデルとしては、例えばトライグラムモデルとする。その他の動作については実施の形態１と同様なので説明を省略する。
【００２７】
以上のように言語モデルを作成することにより、従来技術では音節で表現された部分の多い施設に対しては、言語モデルによって計算される言語尤度が低くなり、認識率が低下する傾向があったが、本実施の形態によれば音節で表現された部分の多い施設に対しては、言語モデル作成時の出現頻度を大きくすることによって言語尤度を上げることが可能になり、認識率低下を抑制する効果を有する。
【００２８】
実施の形態３．
本実施の形態は前記実施の形態２に、中間言語モデルメモリ１４と学習データ分割結果メモリ１５を新たに付加するものであり、構成例を図６に示す。さらに言語モデル作成手段１０の動作を以下のように変更するものである。
言語モデル作成手段１０の動作手順を図７に示す。言語モデル作成手段１０は、実施の形態２の発明と同様の入力を学習データ分割手段９から受ける。そしてまず各施設のデータの単語や音節間の連鎖頻度の加算重みを全て１にして言語モデルを作成し、これを中間言語モデルとして中間言語モデルメモリ14に保存する。前記中間言語モデルは本実施の形態ではトライグラムとする。また入力された全施設データの分割結果を学習データ分割結果メモリ１５に保存しておく（ＳＴ２０１）。
【００２９】
次に学習データ分割結果メモリ１５に保存しておいた各施設の分割結果を各施設iごとに取り出し、中間言語モデルメモリ１４に保存してある中間言語モデルを用いて言語尤度P(i)を（２）式により計算する（ＳＴ２０２）。
【００３０】
【数２】
2008262279.tif 000004
【００３１】
（２）式中でp(wj|wj-2,wj-1)は、分割単位列wj-2,wj-1,wj  に対するトライグラム確率、Ｊは施設iの分割数である。そして施設iに対する重みw(i)を（３）式によって求める(ＳＴ２０４)。
【００３２】
【数３】
2008262279.tif 000005
【００３３】
ここでNは検索対象とする全施設の数、f(x)はxの変動を緩やかにする関数であり、
例えば
【００３４】
【数４】
2008262279.tif 000006
【００３５】
等を用いる。
上記（３）式からわかるとおり、重み係数w(i)は中間言語モデルに対する尤度P(i)が小さい施設ほど大きな値をとるようになっている。
言語モデル作成手段１０は当該施設が求められた重み係数w(i)回出現したとみなす。具体的には当該施設から得られる単語や音節間の連鎖頻度をw(i)倍して連鎖頻度を頻度を累積する（ＳＴ２０４）。
【００３６】
以上の処理を学習データ分割結果メモリ１５に保存しておいた各施設の分割結果全てに対して行い、各施設の分割結果がまだあるか否かを判定し（ＳＴ２０５）、単語や音節間の連鎖頻度を累積して言語モデルを作成し、言語モデルを言語モデルメモリ６に保存する（ＳＴ２０６）。言語モデルとしては、例えばトライグラムモデルとする。その他の動作については実施の形態２と同様なので説明を省略する。
【００３７】
従来技術では音節で表現された部分の多い施設等に対しては、言語モデルによって計算される言語尤度が低くなり、認識率が低下する傾向があったが、本実施の形態によれば中間言語モデルにおいて言語尤度が低い施設に対しては、言語モデル作成時の出現頻度を大きくすることによって言語尤度を上げることが可能になり、認識率低下を抑制する効果を有する。
【００３８】
実施の形態４．
本実施の形態は前記実施の形態１〜３のいずれかの発明に、新たに音声認識候補数制御手段16を付加し、さらに音声認識手段3、照合単位変換手段4、テキスト検索手段5の動作を後述のように変更するものである。構成例を図８に示す。
本実施の形態では、実施の形態１の発明に音声認識候補数制御手段16を付加した場合について説明する。音声認識を行うまえに、実施の形態１と同一の方法で事前に言語モデル、およびテキスト検索辞書を作成しておく。
【００３９】
音声認識と検索の動作について説明する。音声の入力端１から音声２を入力すると音声認識手段３は言語モデルメモリ６に保存されている言語モデルと音響モデルメモリ7に保存されている音響モデルを用いて、音声認識を行い認識結果として単語列の音素表記を出力する。但し本実施の形態における前記音声認識の結果として認識スコアの高い順にＬ個の候補の音素表記を出力するようにする。ここでＬは２以上の定数で、本実施の形態では３とする。例えば発話が「尾瀬」で、認識結果の第１位が「利根」、第２位が「尾瀬」、第３位が「戸部（とべ）」とすれば、認識結果の第１位から順番に対応する音素表記である、「tone」、「oze」、「tobe」を出力する。
【００４０】
照合単位変換手段4は前記L個の音声認識結果である音素表記を入力とし、それぞれの音素表記に対して、実施の形態１と同様に認識結果の音素表記を単語より短い単位に分割して出力する。本実施の形態では実施の形態１と同様に分割単位は音節とする。
照合単位変換手段4の動作が実施の形態１と異なる点は、認識スコアの高い順にＬ個の入力を受け、同じ順番で対応するＬ個の出力を行うことである。本実施の形態では「to/ne」、「o/ze」、「to/be」を順番に出力する。
【００４１】
音声認識候補数制御手段16は、前記Ｌ個の分割結果を入力として１位候補の音節分割結果である「to/ne」の音節数と、音声認識候補数制御手段16の内部に保持する音声認識候補数テーブルを参照し、テキスト検索手段に送出する候補数を制御する。
音声認識候補数テーブルの内容を図９に示す。１位候補の音節分割結果の音節数が少ないほど出力候補数が多くなるように事前に設定しておく。本実施の形態では前記１位の音節数が２なので前記音声認識候補数テーブルを参照して出力候補数を３と決定する。
【００４２】
次にテキスト検索手段5は前記３個の分割結果を入力して、３個の音節分割結果のそれぞれに対し先頭の音節から順に前記テキスト検索辞書メモリ１２に保持されたテキスト検索辞書としての転置ファイルを参照し、当該音節を含む施設のスコアに１を加算する動作を前記分割結果の最終音節まで行う。そしてスコアが所定の閾値Ｓ以上の施設を検索結果として出力する。なお前記閾値Ｓは、認識結果の第１位の音節数の0.8倍とする。すなわち本実施の形態では入力音節数が2であるので、2*0.8=1.6である。このように検索することにより、本実施の形態では認識結果の第２位に「o/ze」が含まれているので、正解である「尾瀬」の検索スコアが２となり、検索候補として出力することが可能になる。
【００４３】
上記テキスト検索手段5の動作手順のフロー図である図１０を用いて具体的な処理内容を説明する。まず初期化処理として全施設に対するスコアを０にする（ＳＴ３０１）。次に前記３個の分割結果の１個目対し、先頭の音節から順に前記転置ファイルを参照し、当該音節を含む施設のスコアに１を加算する動作を前記分割結果の最終音節まで行う（ＳＴ３０２）。
次に入力される分割結果がまだあるか否かを判定し（ＳＴ３０３）、まだある場合には
同様の処理を次の分割結果を入力として行い、各施設のスコアを累積する（ＳＴ３０２）。一方、残りの分割結果が存在しない場合には、スコア累積処理を終了し、スコアが閾値以上の候補を検索結果として出力する（ＳＴ３０４）。
【００４４】
以上、説明したとおり音声認識候補数制御手段16によって、音声認識結果の音節数が少ない場合ほどテキスト検索手段に入力する候補数を多くするように構成したので、認識結果の音節数が少なく、誤認識した場合に正解音節が含まれる可能性が低い時には認識結果の下位の候補まで検索対象とすることにより、所望の施設の検索漏れを低減する効果を有する。
【産業上の利用可能性】
【００４５】
この発明は、音声により大語彙のテキストデータを検索するシステムに利用可能で、具体的には例えばカーナビゲーションシステムに適用が可能である。
【図面の簡単な説明】
【００４６】
【図１】この発明による音声検索装置の実施の形態１の構成を示すブロック図である。
【図２】言語モデル学習データメモリ内容例の説明図である。
【図３】テキスト検索辞書内容例の説明図である。
【図４】実施の形態２における重み係数テーブル内容例の説明図である。
【図５】実施の形態２による言語モデルの作成フロー図である。
【図６】実施の形態３の構成を示すブロック図である。
【図７】実施の形態３による言語モデルの作成フロー図である。
【図８】実施の形態４の構成を示すブロック図である。
【図９】実施の形態４における音声認識候補数テーブル内容例の説明図である。
【図１０】実施の形態４によるテキスト検索手段のテキスト検索フロー図である。
【符号の説明】
【００４７】
１；音声入力端、２；入力音声、３；音声認識手段、４；照合単位変換手段、５；テキスト検索手段、６；言語モデルメモリ、７；音響モデルメモリ、８；言語モデル学習データメモリ、９；学習データ分割手段、１０；言語モデル作成手段、１１；テキスト検索辞書作成手段、１２；テキスト検索辞書メモリ、１３；検索結果、１４；中間言語モデルメモリ、１５；学習データ分割結果メモリ、16；音声認識候補数制御手段。
【図１】
2008262279.tif 000007
【図２】
2008262279.tif 000008
【図３】
2008262279.tif 000009
【図４】
2008262279.tif 000010
【図５】
2008262279.tif 000011
【図６】
2008262279.tif 000012
【図７】
2008262279.tif 000013
【図８】
2008262279.tif 000014
【図９】
2008262279.tif 000015
【図１０】
2008262279.tif 000016