特許第6674876号(P6674876)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トヨタテクニカルディベロップメント株式会社の特許一覧

<>
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000004
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000005
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000006
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000007
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000008
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000009
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000010
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000011
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000012
  • 特許6674876-補正装置、補正方法及び補正プログラム 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6674876
(24)【登録日】2020年3月11日
(45)【発行日】2020年4月1日
(54)【発明の名称】補正装置、補正方法及び補正プログラム
(51)【国際特許分類】
   G10L 15/22 20060101AFI20200323BHJP
   G10L 15/18 20130101ALI20200323BHJP
【FI】
   G10L15/22 470Z
   G10L15/18 300G
【請求項の数】10
【全頁数】24
(21)【出願番号】特願2016-184754(P2016-184754)
(22)【出願日】2016年9月21日
(65)【公開番号】特開2018-49165(P2018-49165A)
(43)【公開日】2018年3月29日
【審査請求日】2018年9月7日
(73)【特許権者】
【識別番号】306020818
【氏名又は名称】トヨタテクニカルディベロップメント株式会社
(74)【代理人】
【識別番号】110002516
【氏名又は名称】特許業務法人白坂
(74)【代理人】
【識別番号】100185971
【弁理士】
【氏名又は名称】高梨 玲子
(72)【発明者】
【氏名】西澤 智恵子
(72)【発明者】
【氏名】明渡 豊
【審査官】 上田 雄
(56)【参考文献】
【文献】 特開2000−105597(JP,A)
【文献】 特開平10−301597(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00−15/34
(57)【特許請求の範囲】
【請求項1】
文節と文節との間の関連性を示す文節間関連情報を記憶する記憶部と、
音声信号をテキストデータに変換する音声認識処理の結果である1以上の文字列を示す認識結果情報の入力を受け付ける入力部と、
前記認識結果情報で示される文字列から文節の候補となる文節候補を抽出する抽出部と、
前記文節間関連情報を用いて、前記抽出部が抽出した文節候補同士の係り受けに基づいて、前記文字列を構成する可能性のある文節を特定する特定部と、
前記特定部が特定した文節候補を用いて、前記認識結果情報で示される文字列を補正する補正部とを備える補正装置。
【請求項2】
前記特定部は、前記抽出部が抽出した文節のうち信頼度が他の文節よりも高い文節を基準として、当該信頼度が高い文節の係り先の候補となる1以上の係り先文節候補、または、他の文節からの係りを受ける係り元の候補となる1以上の係り元文節候補を、前記文字列を構成する可能性のある文節として特定する
ことを特徴とする請求項1に記載の補正装置。
【請求項3】
前記特定部は、複数の係り先文節候補、又は、複数の係り元文節候補の中から、前記認識結果情報で示される文字列の音の類似度に基づいて、前記文字列を構成する可能性のある文節を特定する
ことを特徴とする請求項2に記載の補正装置。
【請求項4】
前記記憶部は、さらに、単語と単語との間の関連性を示す単語間関連情報を記憶し、
前記補正部は、前記特定部が特定した前記文字列を構成する可能性のある文節を、当該文節を構成している可能性のある単語候補に分割し、前記単語間関連情報を用いて、前記単語候補の中から前記文字列を構成する可能性のある文節を構成する可能性のある単語を特定して、前記補正を行う
ことを特徴とする請求項1〜3のいずれか1項に記載の補正装置。
【請求項5】
前記補正部は、前記文字列を構成する可能性のある単語を文章の文頭から確度の高い単語を選択し、選択した単語に続く可能性のある単語を、少なくとも前記文節を分割して得られる単語及び前記単語間関連情報に含まれる単語及び前記認識結果情報のいずれかの単語の中から選択することを繰り返すことで、前記文字列を補正する
ことを特徴とする請求項4に記載の補正装置。
【請求項6】
前記単語間関連情報は、ユーザの発話例を示すテキストデータベースに基づいて生成された、1以上の単語列と、当該1以上の単語列に連なる単語とを対応付けた情報であることを特徴とする請求項4又は5に記載の補正装置。
【請求項7】
前記文節間関連情報は、ユーザの発話例を示すテキストデータベースに基づいて生成された、係り側文節を示す文字列と受け側文節を示す文字列とを対応付けた情報であることを特徴とする請求項1〜6のいずれか1項に記載の補正装置。
【請求項8】
前記補正装置は、さらに、
前記補正部が補正した補正結果を出力する出力部を備える
ことを特徴とする請求項1〜7のいずれか1項に記載の補正装置。
【請求項9】
音声信号をテキストデータに変換する音声認識処理の結果である1以上の文字列を示す認識結果情報の入力を受け付ける入力ステップと、
前記認識結果情報で示される文字列から文節の候補となる文節候補を抽出する抽出ステップと、
文節と文節との間の関連性を示す文節間関連情報を用いて、前記抽出ステップにおいて抽出した文節候補同士の係り受けに基づいて、前記文字列を構成する可能性のある文節を特定する特定ステップと、
前記特定ステップにおいて特定した文節候補を用いて、前記認識結果情報で示される文字列を補正する補正ステップとを含む補正方法。
【請求項10】
文節と文節との間の関連性を示す文節間関連情報を記憶するメモリにアクセス可能なコンピュータに、
音声信号をテキストデータに変換する音声認識処理の結果である1以上の文字列を示す認識結果情報の入力を受け付ける入力機能と、
前記認識結果情報で示される文字列から文節の候補となる文節候補を抽出する抽出機能と、
前記文節間関連情報を用いて、前記抽出機能が抽出した文節候補同士の係り受けに基づいて、前記文字列を構成する可能性のある文節を特定する特定機能と、
前記特定機能が特定した文節候補を用いて、前記認識結果情報で示される文字列を補正する補正機能とを実現させる補正プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声信号をテキストに変換する音声認識技術に関する。
【背景技術】
【0002】
従来、音声を入力して、テキストデータに変換する音声認識技術がある。当該音声認識技術は、基本的に、音響モデルや言語モデルを用いて、音声を解析してテキストデータに変換する。しかしながら、そのような音声認識を行う装置にあっては、入力した音声がくぐもったりした場合などには、正確に音声を解析できないことがある。その結果、装置は、誤認識した結果を出力する可能性がある。
【0003】
そこで、特許文献1には、入力された音声をテキストに変換し、そのテキスト内の単語に信頼度の低い単語が含まれる場合に、テキストに含まれる信頼度の高い一以上の単語からなる文字列に基づく予測変換を行って、テキストの修正を行う音声入力支援システムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−78650号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に示す音声入力支援システムでは、テキストの修正がテキスト内の単語の信頼度に基づいて、修正を行うだけであり、その予測結果の信頼性が高いと言えるかは場合によってしまうという問題があった。
【0006】
そこで、本発明は、上記問題に鑑みて成されたものであり、特許文献1とは異なる手法を用いて、音声認識結果を補正することができる補正装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る補正装置は、文節と文節との間の関連性を示す文節間関連情報を記憶する記憶部と、音声信号をテキストデータに変換する音声認識処理の結果である1以上の文字列を示す認識結果情報の入力を受け付ける入力部と、認識結果情報で示される文字列から文節の候補となる文節候補を抽出する抽出部と、文節間関連情報を用いて、抽出部が抽出した文節候補同士の係り受けに基づいて、文字列を構成する可能性のある文節を特定する特定部と、特定部が特定した文節候補を用いて、認識結果情報で示される文字列を補正する補正部とを備える。
【0008】
また、上記補正装置において、特定部は、抽出部が抽出した文節のうち信頼度が他の文節よりも高い文節を基準として、当該信頼度が高い文節の係り先の候補となる1以上の係り先文節候補、または、他の文節からの係りを受ける係り元の候補となる1以上の係り元文節候補を、文字列を構成する可能性のある文節として特定することとしてもよい。
【0009】
また、上記補正装置において、特定部は、複数の係り先文節候補、又は、複数の係り元文節候補の中から、認識結果情報で示される文字列の音の類似度に基づいて、文字列を構成する可能性のある文節を特定することとしてもよい。
【0010】
また、上記補正装置において、記憶部は、さらに、単語と単語との間の関連性を示す単語間関連情報を記憶し、補正部は、特定部が特定した文字列を構成する可能性のある文節を、当該文節を構成している可能性のある単語候補に分割し、単語間関連情報を用いて、単語候補の中から文字列を構成する可能性のある文節を構成する可能性のある単語を特定して、補正を行うこととしてもよい。
【0011】
また、上記補正装置において、補正部は、文字列を構成する可能性のある単語を文章の文頭から確度の高い単語を選択し、選択した単語に続く可能性のある単語を、少なくとも文節を分割して得られる単語及び単語間関連情報に含まれる単語及び認識結果情報のいずれかの単語の中から選択することを繰り返すことで、文字列を補正することとしてもよい。
【0012】
また、上記補正装置において、文節間関連情報は、ユーザの発話例を示すテキストデータベースに基づいて生成された、係り側文節を示す文字列と受け側文節を示す文字列とを対応付けた情報であることとしてもよい。
【0013】
また、上記補正装置において、単語間関連情報は、ユーザの発話例を示すテキストデータベースに基づいて生成された、1以上の単語列と、当該1以上の単語列に連なる単語とを対応付けた情報であることとしてもよい。
【0014】
また、上記補正装置において、補正装置は、さらに、補正部が補正した補正結果を出力する出力部を備えることとしてもよい。
【0015】
また、本発明に係る補正方法は、音声信号をテキストデータに変換する音声認識処理の結果である1以上の文字列を示す認識結果情報の入力を受け付ける入力ステップと、認識結果情報で示される文字列から文節の候補となる文節候補を抽出する抽出ステップと、文節と文節との間の関連性を示す文節間関連情報を用いて、抽出ステップにおいて抽出した文節候補同士の係り受けに基づいて、文字列を構成する可能性のある文節を特定する特定ステップと、特定ステップにおいて特定した文節候補を用いて、認識結果情報で示される文字列を補正する補正ステップとを含む。
【0016】
また、本発明に係る補正プログラムは、文節と文節との間の関連性を示す文節間関連情報を記憶するメモリにアクセス可能なコンピュータに、音声信号をテキストデータに変換する音声認識処理の結果である1以上の文字列を示す認識結果情報の入力を受け付ける入力機能と、認識結果情報で示される文字列から文節の候補となる文節候補を抽出する抽出機能と、文節間関連情報を用いて、抽出機能が抽出した文節候補同士の係り受けに基づいて、文字列を構成する可能性のある文節を特定する特定機能と、特定機能が特定した文節候補を用いて、認識結果情報で示される文字列を補正する補正機能とを実現させる。
【発明の効果】
【0017】
本発明の一態様に係る補正装置によれば、並列処理を行う2つの系を双方の系において共に利用する積分演算の単位で分けることにより、互いの系の間にデータを渡すためのバッファを設けることなく並列処理を実現できる。したがって、バッファを設けることにより発生する遅延に基づく並列化誤差を発生させることなく並列処理により、逐次処理よりも補正を高速化することができる。
【図面の簡単な説明】
【0018】
図1】補正装置の一構成例を示すブロック図である。
図2】実施の形態に係る音声認識結果の補正の流れを示す図である。
図3】補正装置の詳細な構成例を示すブロック図である。
図4】補正装置の動作を示すフローチャートである。
図5】補正装置の動作の具体例を示す図である。
図6】補正装置の動作を示すフローチャートである。
図7図6に続く補正装置の動作を示すフローチャートである。
図8】補正装置の動作の具体例を示す図である。(a)は、一回目の繰り返し処理の具体例であり、(b)は、n回目の繰り返し処理の具体例である。
図9】補正装置の動作の具体例を示す図である。
図10】補正装置の一構成例を示すブロック図である。
【発明を実施するための形態】
【0019】
以下、本発明の一実施態様に係る補正装置について、図面を参照しながら詳細に説明する。
【0020】
<実施の形態>
図1に示すように、本発明に係る補正装置100は、入力部110と、記憶部120と、抽出部131と、特定部132と、補正部133とを備える。補正装置100は、音声認識の結果を示す認識結果情報220の入力を受け付けて、音声認識結果のテキストデータを補正する装置である。
【0021】
記憶部120は、文節と文節との間の関連性を示す文節間関連情報122を記憶している。記憶部120は、各種情報を記憶する機能を有する記憶媒体であり、例えば、HDD、SSD、フラッシュメモリ等により実現される。文節間関連情報122は、文節と文節との係り受けを定義した情報であり、文節の係り側の文言と、文節の受け側の文言とが対応付けられた情報である。
【0022】
入力部110は、音声信号をテキストデータに変換する音声認識処理の結果である認識結果情報220の入力を受け付ける。入力部110は、補正装置100外部から入力を受け付ける入力インターフェースであり、例えば、USB等の入力ポートや、無線LAN等の通信ポート、あるいは、キーボードやタッチパネル等の入力デバイスからの入力を受け付けるポート等により実現される。認識結果情報220は、少なくとも、音声信号をテキストに変換したテキストデータを含む情報であり、音声認識の入力元となった音声信号そのものも含まれてもよく、更には、音声信号を音素で表した情報(音韻のみの情報で、例えば、ローマ字等により表現される)も含まれてもよい。
【0023】
抽出部131は、入力部110に入力された認識結果情報220で示される文字列から文節の候補となる文節候補を抽出する。抽出部131は、認識結果情報220で示されるテキストデータの文字列に対して、一般に知られる構文解析を行って、文節足り得る文字列である文節候補を抽出するものであり、例えば、プロセッサや専用回路、FPGA等の再構成可能回路等により実現される。
【0024】
特定部132は、記憶部120に記憶されている文節間関連情報122を用いて、抽出部131が抽出した文節候補同士の係り受けに基づいて、認識結果情報220で示される文字列を構成する可能性のある文節を特定する。認識結果情報220で示される文字列を構成する可能性のある文節とは、認識結果情報220で示される認識結果のテキストデータの文字列の修正候補となる可能性のある文節のことをいう。特定部132は、抽出部131が抽出した文節候補の組み合わせに対して、文節間関連情報122で示される係り受け関係にある文節対の情報を用いて認識結果情報220で示される文字列を構成する可能性のある文節候補を特定するものであり、例えば、プロセッサや専用回路、FPGA等の再構成可能回路等により実現される。
【0025】
補正部133は、特定部132が特定した文節候補を用いて、認識結果情報220で示される文字列を補正する。補正部133は、文節候補について、文の先頭から順番に文を構成する可能性のある確度と、認識結果情報220に含まれる音声信号の音の類似度とに基づいて、認識結果情報220で示される文字列を補正するものであり、例えば、プロセッサや専用回路、FPGA等の再構成可能回路などにより実現される。
【0026】
以下、音声認識処理の認識結果を補正する音声認識結果補正装置として機能する補正装置100を、さらに、詳細に説明する。
【0027】
図2は、音声をテキストデータに変換する流れであって、本発明に係る補正装置100の概要を説明するための図である。本発明に係る補正装置100は、音声認識処理により得られたテキストデータを補正するものである。
【0028】
音声認識装置200は、従来から知られている音声認識処理を行う装置であり、音声210の入力を受け付けて、音声信号201に変換する。音声信号201は、音の時間的変化を示す情報であってもよいし、入力された音声に対してフーリエ変換を施して得られる周波数信号であってもよい。音声認識装置200は、その音声信号201を解析して、テキストデータに変換し、そのテキストデータを認識結果情報220として出力する装置である。
【0029】
まず、音声認識装置200は、ユーザから音声信号の入力を、マイク等の音声入力装置を介して受け付ける。音声認識装置200は、入力された音声信号波形に変換し、その音声信号波形から特徴量を抽出する。
【0030】
音声認識装置200は、抽出した特徴量に対して、記憶してある音響モデル202と、言語モデル203と、を参照して、音声認識処理、即ち、音声信号をテキストデータに変換する処理を実行する。音響モデル202とは、音声認識処理で使用する言語に用いられる一語、一語の音の周波数特性を示す情報である。音響モデル202は、音声認識処理で使用する言語において定義されている単語についての周波数特性を示す情報も含んでよい。また、言語モデル203とは、音声認識処理で使用する言語で用いられる単語を示すテキストデータの集合である。言語モデル203は、音声認識処理で使用する言語で用いられる言い回しや、具体的例文のテキストデータも含んでよい。
【0031】
補正装置100は、音声認識装置200から出力された音声認識処理の結果である認識結果情報220を受け付ける。認識結果情報220は、認識結果の文字列を示すテキストデータである。認識結果情報220は、ユーザが入力した音声信号201またはその音声信号に基づいて生成される周波数信号、あるいは、音声信号201の音素を表現した音素情報を含む。また、認識結果情報220は、複数の認識結果を含んでよい。認識結果情報220は、さらに認識結果における各単語の信頼度の情報を含む。単語の信頼度は、音声認識結果のテキストデータにおいて、単語間の連なりとしての可能性や、入力された音声から単語としてあり得る可能性などに基づいて、所定のアルゴリズムに従って音声認識装置200により算出されるものである。当該信頼度を算出するアルゴリズムには、従来より知られているものを使用する。
【0032】
補正装置100は、受け付けた認識結果情報220に対して、文節間関連情報122を用いて、解析を行い、認識結果情報220で示される文字列を構成する文字列(文節)を抽出する。この処理で、補正装置100は、音声認識した文字列に対して、その文字列の補正対象となる文節をピックアップする。そして、補正装置100は、ピックアップした文節を更に単語単位に分割して、それらの単語を補正後の文字列に使用される単語の候補とする。
【0033】
補正装置100は、抽出された単語から、単語間関連情報123を用いて、1以上の単語列と当該1以上の単語列に連なる単語のつながり関係、及び、音声信号の音素とから、補正候補となる文字列を特定し、最終的に、補正後の文字列を出力する。1以上の単語列とは、少なくとも1つの単語を含む文字列のことであり、文章等に連続して登場する単語を連ねた文字列のことである。
【0034】
即ち、補正装置100は、音声認識処理の結果を補正する装置であり、ユーザの発話内容の推定をする処理を行う装置であるとも言える。
【0035】
図2に示す例では、「ミカンがあります」と話したユーザの音声210を、音声認識装置200が誤認識して、「ミカン終わります」という認識結果情報220を出力している。これに対し、補正装置100がその認識結果情報220を「ミカンがあります」という内容に補正した例を示している。
【0036】
図3は、補正装置100の詳細な機能構成を示すブロック図である。図3に示すように、補正装置100は、入力部110と、記憶部120と、制御部130と、出力部140とから構成される。補正装置100は、入力インターフェースと、出力インターフェースとを有するコンピュータシステムである。補正装置100の、入力部110と、記憶部120と、制御部130と、出力部140とは、互いに、バスを介して接続されている。
【0037】
入力部110は、外部の装置からの入力を受け付ける入力インターフェースである。ここでは、入力部110は、音声認識装置による認識結果である認識結果情報220の入力を受け付ける。認識結果情報220は、音声認識処理の結果得られた1以上のテキストデータ(音声認識の結果としてあり得ると音声認識装置200が判断した文字列)と、テキストデータに含まれる各単語の信頼度を示す数値情報と、当該音声信号を音素で表現した音素情報とを含む。認識結果情報220が認識結果としてのテキストデータを複数含む場合には、どのテキストデータが音声認識の結果として可能性が最も高いのかを示す情報を含み、単語の信頼度は、その可能性が最も高いと音声認識装置200が判断したテキストデータに含まれる単語に対するもののみが含まれる。また、認識結果情報220は、元となった音声信号を含んでも良い。なお、入力部110は、認識結果情報220に相当する情報の入力を受け付けるものであればよく、音声認識装置200に接続されているマイクに接続して、ユーザが入力する音声を取得し、認識結果の文字列をユーザからキーボードなどの入力デバイスを用いて直接手入力で認識結果を入力することで、認識結果情報220の入力を受け付けることとしてもよい。
【0038】
記憶部120は、補正装置100が動作上必要とする各種のプログラムやデータを記憶する記憶媒体である。記憶部120は、例えば、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等により実現することができる。
【0039】
記憶部120は、ユーザ発話コーパス121と、文節間関連情報122と、単語間関連情報123とを記憶している。
【0040】
ユーザ発話コーパス121は、ユーザの発言をテキストデータにしたデータ集合である。ここでいうユーザは、音声信号を入力するユーザであってもよいし、音声信号を入力するユーザとは関係がない複数のユーザであってもよい。音声信号を入力するユーザのみの発言を集めたユーザ発話コーパスであれば、そのユーザに特化した補正装置100を提供することができる。一方で、様々なユーザの発言を集めたユーザ発話コーパスであれば、汎用性の高い補正装置100を提供することができる。なお、様々なユーザの発言を集めたユーザ発話コーパスの場合において、音声信号を入力するユーザの発話の情報が含まれてもよい。ユーザ発話コーパス121は、ユーザが発話した文章の集合であり、例えば、「ミカンがあります。」とか、「リンゴが机の上にあります。」とか、「来週で公演が終わります。」というような具体的文章のテキストデータを数多く含む。
【0041】
文節間関連情報122は、ユーザ発話コーパス121から作成される情報であり、文節間の係り受けを示す情報である。ユーザ発話コーパス121は、前述の通りユーザの発話をテキストデータ化したものであり、その中には、文節同士の係り受けについての情報も含まれる。そこで、ユーザ発話コーパス121に対して、構文解析を行うことで、文節と文節との係り受けに関する情報を抽出できる。したがって、文節間関連情報122は、係り受け関係にある文節対における係り側の文節を示す文言と、受け側の文節を示す文言とを対応付けた情報となる。表1は、文節間関連情報122のデータ構成例を示したデータ概念図である。文節間関連情報122は、ユーザ発話コーパス121を用いて制御部130が構文解析を行うことで作成してもよいし、予め作成したものを記憶部120に記憶していることとしてもよい。文節間関連情報122においては、同じ文節同士の組み合わせの重複を許して登録することができる。なお、当該構成の代わりに、下記表1において、その組み合わせのユーザ発話コーパス121における登場回数の情報が対応付けられていてもよい。例えば、ユーザ発話コーパス121内に、ユーザの発話として、「ミカンが机の上にあります。」という文章があった場合には、文節間関連情報122は、以下の表1に示すような係り受け情報を含むこととなる。
【0042】
【表1】
【0043】
単語間関連情報123は、ユーザ発話コーパス121から作成される情報であり、単語間の係り受けを示す情報である、ユーザ発話コーパス121は、前述の通りユーザの発話をテキストデータ化したものであり、その中には、1以上の単語列と、その単語列に連なる単語についての情報も含まれる。そこで、ユーザ発話コーパス121に対して構文解析を行うことで、1以上の単語列とその1以上の単語列に連なる単語との係り受けに関する情報を抽出できる。したがって、単語間関連情報123は、1以上の単語列(以下、係り側単語列と呼称することもある)と、その1以上の単語列に連なる単語とを対応付けた情報となる。このような1以上の単語列と、単語との組み合わせの情報はn-gramモデルと呼称されることもある。表2は、単語間関連情報123のデータ構成例を示したデータ概念図である。単語間関連情報123においては、ユーザ発話コーパス121に登場する文章に基づいて作成され、同じ1以上の単語列とそれに連なる単語の組み合わせの重複を許して登録することができる。なお、当該構成の代わりに、下記表2において、その組み合わせの登場回数の情報が対応付けられていてもよい。単語間関連情報123は、制御部130により作成されてもよいし、予め作成したものを記憶部120に記憶していることとしてもよい。例えば、ユーザ発話コーパス121内に、ユーザの発話として、「ミカンが机の上にあります。」という文章があった場合には、単語間関連情報123は、以下の表2に示すような対応情報を含むこととなる。なお、表2における「(文頭)」は、文頭を示す識別子であり、補正装置100は、「(文頭)」も一単語として扱って、補正対象となる文字列を生成する。
【0044】
【表2】
【0045】
制御部130は、補正装置100の各部を制御する機能を有するプロセッサである。制御部130は、抽出部131と、特定部132と、補正部133とを含む。制御部130は、記憶部120に記憶されている補正プログラムを実行することにより、入力された認識結果情報220で示される文字列の補正候補となる文字列を出力することができる。なお、補正候補がない場合には、補正候補は出力されず、補正候補を発見できなかったことを示す情報を出力する。制御部130による認識結果情報220で示される文字列の補正は、大別して、抽出部131と特定部132により、文字列を構成する可能性のある文節及び単語を特定する第一段階と、特定した文節及び単語を用いて、補正候補の文を生成する第二段階との、二つの段階を経て実行される。
【0046】
抽出部131は、認識結果情報220で示される文字列から、文字列に含まれている可能性のある文節を抽出する。抽出部131は、認識結果情報220で示される単語に分かれている文字列を一連の文字列につないだ後に、構文解析を行って、文節の候補を抽出する。ここで、構文解析には、従来からある構文解析技術を用いることとする。
【0047】
特定部132は、抽出部131が抽出した文節の候補について、文節の係り受けの組み合わせを特定する。そして、特定部132は、特定した係り受けの関係にある文節対を構成する文節それぞれの信頼度を算出する。この信頼度は、認識結果情報に含まれる各単語の信頼度を用いて算出する。具体的には、文節を構成する単語それぞれの信頼度の平均値を文節の信頼度として算出する。
【0048】
特定部132は、文節対のうち、算出した信頼度の高い方の文節を基準の文節とする。そして、特定部132は、基準の文節に対応する文節を文節間関連情報122から特定する。具体的には、信頼度の高い方の文節が係り側である場合には、基準文節に対して音の類似度が所定の閾値を超える文節を文節間関連情報122の係り側文節から特定し、特定した係り側文節に対応する受け側の文節の文字列を特定する。逆に信頼度の高い方の文節が受け側である場合には、その文節に対応する係り側の文節の文字列を文節間関連情報122から特定する。例えば、信頼度の高い文節が、「ミカンが」という文節であった場合、上述の表1の例で言えば、対応する文節として、「あります」、「机の」、「上に」といった文節が特定される。これらの特定される文節が補正候補の文節となる。
【0049】
特定部132は特定した文節と、認識結果情報220で示される音声信号との音の類似度を算出し、算出した音の類似度が所定の閾値を超えるか否かによって、文節の補正候補となるかどうかを判定する。ここで、所定の閾値は、音の類似度と比較し、音の類似度が一定以上高いか否かを判定するために用いる値のことであり、予め設定された値である。特定部132は、特定した文節と、認識結果情報220で示される音声信号との音の類似度が所定の閾値を超える場合に、その特定した文節を、補正用の文節の候補とする。そして、特定部132は、その文節を構成する単語を補正後の文章を構成する可能性のある単語として記憶部120に記憶する。ここで、所定の閾値は、補正用の文節を発見し得る値として、予めシミュレーション等を行うことにより適切な値を設定するものとする。また、音の類似度とは、比較対象の文節(又は単語)の音韻の類似度のことであり、例えば、文節Aと文節Bとの音の類似度を比較する場合には、文節Aをローマ字表記したときのアルファベット列と、文節Bをローマ字表記したときのアルファベット列との間の文字列同士の類似度を算出する。なお、音の類似度は、音声信号同士を比較して算出することとしてもよいが、この場合、ユーザ発話コーパス121に含まれる文節や単語の音声信号を記憶部120に記憶しておく、または、ネットワーク等から取得する必要がある。
【0050】
補正部133は、抽出部131と特定部132とにより、抽出された単語候補(記憶部120に記憶した補正後の文章を構成する可能性のある単語)に基づいて、認識結果情報220で示される文字列の修正候補となる文字列を生成する。補正部133は、記憶部120に記憶された単語群の中から文章の先頭から、文章の先頭として成立し得る単語を特定し、特定した単語と、認識結果情報220で示される音声信号(音素情報)との音の類似度に基づいて、文章の先頭から適格な単語を特定し、文の先頭から順番に文章を単語を特定して行きながら、補正文章を生成する。補正部133による補正文章の生成処理の更なる詳細についてはフローチャートを用いて後述する。
【0051】
出力部140は、制御部130から出力された補正結果を示す補正結果情報230を補正装置100外部に出力する機能を有する出力インターフェースである。出力部140は、例えば、補正装置100に接続されたモニタに補正後の文字列を表示することで、補正結果情報230を出力することとしてもよいし、ユーザの端末に、補正結果情報230を送信することで出力することとしてもよい。
【0052】
以上が、補正装置100の構成である。
【0053】
<動作>
ここから、補正装置100の動作について図4図6図7のフローチャートを用いて説明する。また、図5図8図9を用いて、具体的な補正例を説明する。
【0054】
図4図6図7は、補正装置100が音声認識装置200による音声を認識した結果である認識結果情報220の入力を受け付けて、補正結果を出力するまでの補正装置100の処理を示している。図4は、抽出部131及び特定部132による認識結果情報220で示される文字列から文節を抽出し、単語候補を特定する第一段階の処理を示している。そして、図6図7は、補正部133による補正文の候補を生成する第二段階の処理を示している。
【0055】
<第一段階の処理>
(ステップS401)
ステップS401において、補正装置100の入力部110は、認識結果情報220の入力を受け付ける、入力部110は、受け付けた認識結果情報220を記憶部120に記憶して、ステップS402に移行する。
【0056】
(ステップS402)
ステップS402において、制御部130の抽出部131は、認識結果情報220で示されるテキストデータの文字列に対して構文解析を行って、文字列から成立し得る文節を抽出する。
【0057】
(ステップS403)
制御部130の特定部132は、ステップS403からステップS413までの処理を、係り受け関係にある文節対毎に実行する。
【0058】
(ステップS404)
ステップS404において、特定部132は、文節対を構成する各文節の信頼度を算出する。ここで、文節の信頼度は、上述の通り、認識結果情報220に含まれる単語の信頼度に基づいて算出される。即ち、特定部132は、文節対の一方の文節について、その文節が文節間関連情報122の係り側または受け側に登場する登場頻度を算出し、一方の文節の信頼度とする。また、特定部132は、文節対の他方の文節についても、その文節が文節間関連情報122の係り側または受け側に登場する登場頻度を算出し、他方の文節の信頼度とする。文節対を構成する文節双方の信頼度を算出すると、ステップS405に移行する。
【0059】
(ステップS405)
ステップS405において、特定部132は、文節対を構成する一方の文節の信頼度と、他方の文節の信頼度とを比較し、係る側の文節の信頼度が、受ける側の文節の信頼度よりも高いか否かを判定する。係る側の文節の信頼度が、受ける側の文節の信頼度よりも高い場合には(YES)、ステップS406に移行し、係る側の文節の信頼度が、受ける側の信頼度よりも高くない場合には(NO)、ステップS407に移行する。
【0060】
(ステップS406)
ステップS406において、特定部132は、係る側の文節を、基準の文節に設定する。基準の文節とは、認識結果情報220で示される文字列の文節の候補となり得る文節である。係る側の文節を基準の文節に設定すると、ステップS408に移行する。
【0061】
(ステップS407)
ステップS407において、特定部132は、受け側の文節を、基準の文節に設定する。受け側の文節を基準の文節に設定すると、ステップS408に移行する。
【0062】
(ステップS408)
ステップS408において、特定部132は、音の類似度を用いて基準文節のリスト出しを実行する。具体的には、特定部132は、基準の文節で示される文言と、文節間関連情報122において基準の文節の係り受けに一致する方の文節で示される文言との、音の類似度を算出し、その類似度が所定の閾値となる文言を基準文節としてリスト出しする。例えば、「ミカンが」という文節が基準の文節に設定した場合に、「ミカンを」とか「未完の」といった文節が文節間関連情報122から抽出されて、基準文節のリストに追加される。基準文節のリスト出しを行うと、ステップS409に移行する。
【0063】
(ステップS409)
特定部132は、ステップS409からステップS411の処理を、ステップS408においてリストに入れた基準文節全てについて繰り返す。
【0064】
(ステップS410)
ステップS410において、特定部132は、ステップS408におけるリストの中の一つの基準分節に対応する係り側または受け側の文節を文節間関連情報122から特定する。つまり、基準文節が係り側の文節であった場合に、文節間関連情報122において対応する受け側の文節を特定する。逆に基準文節が受け側の文節であった場合に、文節間関連情報122において対応する係り側の文節を特定する。例えば、「ミカンが」という文節がリストにあった場合に、その受け側の文節として「あります」という文節を特定する。特定部132は、特定した文節の音と、認識結果情報220で示される音声信号の音の類似度を算出する。特定部132は、算出した類似度が所定の閾値を超えるか否かに応じて、補正文節の候補出しを行う。
【0065】
(ステップS411)
ステップS411において、特定部132は、ステップS408においてリスト出ししたすべての基準文節について、ステップS410の処理を実行したか否かを判定し、実行していない場合には、リスト出しした基準文節中の基準文節について、ステップS410の処理を実行していないものに、ステップS410の処理を実行する。リストに含まれる基準文節全てについて、ステップS410の処理を実行している場合には、ステップS412の処理に移行する。
【0066】
(ステップS412)
ステップS412において、特定部132は、補正文節の候補各々を、単語単位に分割して、処理を終了する。
【0067】
(ステップS413)
ステップS413において、特定部132は、係り受け関係にあるすべての文節対について、ステップS404からS412の処理を実行しているか否かを判定し、すべての文節対について処理を実行していると判定した場合に処理を終了する。
【0068】
図4の処理を実行することにより、補正装置100は、認識結果情報220で示される文字列を構成する可能性の高い単語を抽出することができる。以上が第一段階の処理の内容である。この認識結果情報220で示される文字列を構成する可能性の高い単語を抽出する処理について具体例を用いて説明する。
【0069】
<第一段階の処理の具体例>
図4に示した処理を、具体例を用いて説明する。
【0070】
補正装置100は、認識結果情報220として、「ミカン」「終わり」「ます」という文字列の入力を受け付けたとする。
【0071】
すると、補正装置100の抽出部131は、まず、認識結果情報220で示される単語群を連結して、一連の文字列を生成する。したがって、この場合、抽出部131は、「ミカン終わります」という文字列を得る。
【0072】
抽出部131は、連結した文字列に対して構文解析(係り受け解析)を行って、文節としてあり得る文字列を抽出する。例えば、抽出部131は、「ミカン終わります」という文字列であれば、「ミカン」という文字列513と、「終わります」という文字列514の文節を抽出する。ここまでの、処理が図4のステップS401からS403の処理に該当する。
【0073】
これらの文字列について、特定部132は、それぞれの信頼度を算出する。ここで信頼度は、認識結果情報220に含まれる各単語の信頼度に基づいて算出する。文節が複数の単語から成る場合には、各単語の信頼度の平均値を用いる。データ515では、例えば、「ミカン」という文節に対して信頼度0.667が算出されている。また、「終わります」という文節に対して、この文節を構成する「終わり」という単語に対して、0.255という信頼度が算出され、「ます」という単語に対して、0.529という信頼度が算出されている。その結果、「終わります」という文節に対して、その平均値である0.392((0.255+0.529)/2)という信頼度が算出される。当該処理は、図4のステップS404の処理に該当する。
【0074】
特定部132は、係り受け関係にある文節同士の信頼度を比較する。当該処理は、図4のステップS405の処理に該当する。係り側である「ミカン」の信頼度0.667の方が高いことを検出する。したがって、図4のステップS406に示すように、特定部132は、「ミカン」を基準の文節に設定する。
【0075】
次に、特定部132は、設定した基準の文節(「ミカン」という係り側文節)について、文節間関連情報122を参照して、係り側として登録されている文節との比較を行って、音の類似度が高い係り側文節を特定する。当該処理は、図4のステップS408の処理に該当する。例えば、図5の例で言えば、データ517に示すように、特定部132が「ミカン」という文節と、「ミカンが」という文節とがリスト出しできた例を示している。
【0076】
次に、特定部132は、リスト出しした文節に対して、受け側として登録されている文節を文節間関連情報122から取得する。特定部132は、例えば、文節間関連情報122から、「ミカン」という係り側文節521、524に対して、対応付けられている受け側文節の「買った」、「あります」、「食べた」というような文節を取得する。そして、特定部132は、取得した文節それぞれと、最初に認識結果情報220に対して行った構文解析により分けて得られた受け側文節である「終わります」との音の類似度を算出する。即ち、特定部132は、「買った」という文節525と「終わります」という文節526との音の類似度を算出し、閾値以上であるか否かを判定する。同様に、特定部132は、「あります」という文節522と「終わります」という文節523との音の類似度を算出し、閾値以上であるか否かを判定する。また、「食べた」という文節についても同様に文節「終わります」との音の類似度を算出して閾値以上であるかを判定する。
【0077】
この判定の結果、特定部132は、文節「終わります」との音の類似度が所定以上である文節「あります」を補正文節の候補として特定する。特定部132は、補正文節の候補として特定した文節を単語単位に分割し、補正文章を生成するための文字列を構成する可能性のある単語として記憶する。
【0078】
このようにして、認識結果を補正するための材料となる単語を特定する。
【0079】
<第二段階の処理>
補正装置100は、次に、抽出した単語を用いて、補正文章を生成する処理を実行する。その詳細について、図6図7に示すフローチャートを用いて説明する。当該処理は、補正装置100の補正部133が実行する。なお、図7は、図6に続く処理を示している。
【0080】
(ステップS601)
補正部133は、ステップS601からステップS619までの処理を、予め定められた指定数の候補文が見つかるまで、または、別の候補文が見つからなくなるまで、繰り返す。
【0081】
(ステップS602)
補正部133は、現在の処理対象となっている単語列について、ステップS602からステップS608までの処理を、現在の単語列毎に繰り返す。なお、現在の単語列がない、即ち、初回の処理においては、以下の処理は、文頭に来る単語を選定する処理となり、それ以外の場合は、単語列に続く単語を選定する処理となる。ここで、単語列に続く単語には、文末を示す識別子も含まれる。
【0082】
(ステップS603)
ステップS603において、補正部133は、現在の単語列に続く次の候補単語を、単語間関連情報123を用いて特定する。補正部133は、現在の1以上の単語列が、単語間関連情報123の前提とする単語列に対応するものがあるか否か判定し、対応するものがあった場合に、その後に続く単語を、次の候補単語として特定する。次の候補単語には、短単語(助詞など)や、フィラー等も含まれ得る。また、単語間関連情報123の係り側にない場合には、その次に来る可能性のある単語として、第一段階の処理で特定された単語や認識結果情報220に含まれる各認識結果で用いられている単語の中から特定する。次の候補単語を特定すると、ステップS604に移行する。
【0083】
(ステップS604)
補正部133は、ステップS603において特定した次の候補単語毎に、ステップS604からステップS607までの処理を繰り返す。
【0084】
(ステップS605)
ステップS605において、補正部133は、次の仮単語列を、現在の単語列に、ステップS603において特定した次の候補単語のいずれかを組み合わせた単語列を、次の仮単語列として設定し、ステップS606に移行する。
【0085】
(ステップS606)
ステップS606において、補正部133は、次の仮単語列の、単語列としてあり得る確率を算出する。当該確率は、次の仮単語列を構成する単語間のつながりやすさを示す値であるともいえる。補正部133は、次の仮単語列が単語列としてあり得る(文章の意味合いとして正しいと考えられる)確率を、単語間関連情報123に登録されている前提とする単語列とその後に続く単語との関係にある組み合わせに登場する頻度に基づいて算出する。言い換えれば、次の仮単語列の確率は、次の仮単語列を構成する単語列と単語との、ユーザ発話コーパス121における共起頻度に基づいて算出される。
【0086】
(ステップS607)
ステップS607において、補正部133は、次の候補単語列全てについて、ステップS605、S606の処理を行ったかを判定し、行っていない場合には、残りの次の候補単語について、ステップS605、S606の処理を行う。全ての次の候補単語列について、ステップS605、S606の処理を終了した場合には、ステップS608に移行する。
【0087】
(ステップS608)
ステップS608において、補正部133は、現在の単語列全てについて、ステップS603からステップS607までの処理を行ったかを判定し、行っていない場合には、残りの単語列にについて、ステップS603からステップS607までの処理を行う。すべての単語列について、ステップS603からステップS607までの処理を終了した場合には、ステップS609に移行する。
【0088】
(ステップS609)
ステップS609において、補正部133は、次の単語列を、ステップS606において算出した確率の降順に並べ替えて、ステップS610に移行する。
【0089】
(ステップS610)
補正部133は、ステップS610からステップS615までの処理を、次の仮単語列毎に繰り返し実行する。
【0090】
(ステップS611)
ステップS611において、補正部133は、次の仮単語列と認識結果情報220で示される音素情報の音の類似度を算出して、ステップS612に移行する。
【0091】
(ステップS612)
ステップS612において、補正部133は、ステップS611において算出した音の類似度が、所定の閾値を超えるか否かを判定する。音の類似度が所定の閾値を超える場合には(YES)、ステップS613に移行し、超えない場合には(NO)、ステップS614に移行する。
【0092】
(ステップS613)
ステップS613において、補正部133は、音の類似度が所定の閾値を超えた次の仮単語列を、次の単語列として確定し、図7のステップS614の処理に移行する。
【0093】
(ステップS614)
ステップS614において、補正部133は、これまでに作成した単語列数、即ち、候補文数が予め定めた最大数以内になっているか否かを判定する。これまでに作成した単語列数が予め定めた最大数以内になっている場合には、ステップS615に移行し、なっていない場合には、ステップS616に移行する。ここで、予め定めた最大数は、補正の候補となる文章がそれ以上多くなって、処理が膨大になるのを防ぐための数である。この最大数は、補正装置100のオペレータにより設定される。
【0094】
(ステップS615)
ステップS615において、補正部133は、全ての次の仮単語列について、ステップS611からステップS614までの処理を実行しているか否かを判定する。全ての次の仮単語列について、ステップS611からステップS614までの処理を実行していない場合には、ステップS611からステップS614までの処理を実行していない次の仮単語列について、ステップS611からステップS614までの処理を実行する。
【0095】
(ステップS616)
ステップS616において、補正部133は、単語列が文末に到達したか否かを判定する。単語列が文末に到達していた場合には(YES)、ステップS617に移行し、単語列が文末に到達していない場合には(NO)、ステップS619に移行する。当該判定は、単語列に、文末を示す文末識別子が付随しているか否かにより行う。
【0096】
(ステップS617)
ステップS617において、補正部133は、単語列が候補文としての条件を満たすか否かを判定する。単語列が候補文としての条件を満たす場合には(YES)、ステップS618に移行し、条件を満たさない場合には(NO)、ステップS619に移行する。ここで、候補文としての条件とは、文章としての意味は通っても音声信号と大きく異ならない文章を発見するために設けられた条件である。この条件は、本実施の形態においては、認識結果情報220で示される単語数の数と、候補文の単語数との差が、予め定められた単語数のずれの許容値以下であるか否かという条件と、認識結果情報220で示される音声信号全体の音と、候補文全体の音の類似度が、予め定められた所定の閾値を超えているか否かという条件とがある。両方の条件を満たす場合に、補正部133は、次の仮単語列が候補文としての条件を満たすと判定し、それ以外の場合に満たさないと判定する。
【0097】
(ステップS618)
ステップS618において、補正部133は、単語列が候補文としての条件を満たすと判定した場合には、その単語列を候補文として確定する。そして、補正部133は、作成した候補文の数を示す候補文数をインクリメントし、ステップS619に移行する。
【0098】
(ステップS619)
ステップS619において、補正部133は、全ての現在の単語列について、ステップS603からステップS618までの処理を実行したかを判定し、実行していない場合には、次の現在の単語列について、ステップS603からステップS618までの処理を実行する。全ての現在の単語列について、ステップS603からステップS618までの処理を実行していた場合には、ステップS620に移行する。
【0099】
(ステップS620)
ステップS620において、補正部133は、補正の候補文を発見したか否かを、ステップS617において、条件を満たす候補文があったか否かに基づいて判定する。補正の候補文を発見した場合には(YES)、ステップS621の処理に移行し、発見できなかった場合には(NO)、ステップS622の処理に移行する。
【0100】
(ステップS621)
ステップS621において、補正部133は、ステップS601からS619までの繰り返し処理において発見された候補文について、その単語列確率が尤も大きい候補文を補正結果として決定し、補正結果を出力して終了する。
【0101】
(ステップS622)
ステップS622において、補正部133は、候補文を発見できなかったことから、認識結果情報220で示されるテキストデータの補正なしと判定して、補正なしを示す情報を出力部140に出力させる。
【0102】
以上に示す処理により、補正装置100は、入力された音声認識装置による認識結果の入力を受け付けて、その文字列の補正結果を出力することができる。したがって、音声認識装置200による誤認識により、ユーザが発話した内容とは異なった認識処理結果が出力されたとしても、補正装置100がその認識結果情報220で示される文字列を補正した文字列を出力することができるので、音声認識による認識結果を補正することができる。
【0103】
<第二段階の処理の具体例>
以下、図6図7に示すフローチャートに示す動作を補正装置100が実行した場合の動作について、具体例を用いて説明する。図8図9は、補正部133による処理により、集められるデータと、その加工例を説明するための図である。図6図7に示す処理は、文章が文末に到達するまで行われる繰り返し処理であり、以下において、繰り返しの最初からn回目(文末到達)までの処理について説明する。
【0104】
(1回目)
図8(a)には、補正部133による図6図7に示す繰り返し処理の1回目の処理を示している。データ集合811に示すように、音声認識の結果を示す認識結果情報220から、「ミカン」「終わり」「ます」という認識結果が補正装置100に入力されたとする。
【0105】
この認識結果情報220に対して、抽出部131と、特定部132は、図4に示す処理を行ったことにより、修正候補の単語群として、データ812を得たとする。データ812に示すように、「ミカン終わります」という文章から、抽出部131は、変換候補となる「ミカン」、「終わり」、「ます」、「を」、「割り」、「未完」、「あり」、「実」、…といった単語を抽出する。ここまでは、第一段階の処理(図4参照)に該当する。補正部133は、データ812に含まれる単語群を用いて、補正対象となる候補文を作成していく。
【0106】
補正部133は、まず、データ813に示されるように、文頭に用いる単語をデータ812の単語群の中から選択する。この選択は、図6のステップS603の処理に該当する。当該選択は、適宜、候補単語(認識結果情報220に含まれる認識結果の文字列を構成する単語や図4に示す処理で決定した候補文節の単語)の中から順番に選択される。そして、それぞれの場合の確率、即ち、文頭におく単語として「(文頭)」という識別子と、その「(文頭)」とのつながりやすさについての確率を算出する。即ち、「(文頭)」という識別子と、選択した単語との組み合わせのつながりやすさの確率を算出する。この処理は、図6におけるステップS606の処理に該当する。
【0107】
補正部133は、ステップS608の処理により、図8のデータ814に示すように、次の仮単語列を、算出した確率の降順に並べ替える。
【0108】
補正部133は、次の仮単語列「(文頭)+ミカン」、「(文頭)+未完」、「(文頭)+終わり」、…それぞれと、認識結果情報220で示される音声信号との音の類似度を算出する。この処理は、図6のステップS610の処理に該当する。そして、補正部133は、それぞれの類似度が所定の閾値を超えるか否かによって、次の単語列として使用するか否かを判定する。この判定の結果、補正部133は、図8のデータ815に示すように、「(文頭)+ミカン」、「(文頭)+未完」は、次の単語列として類似度が高いので使用することを決定し、「(文頭)+終わり」は、音の類似が低くて所定の閾値を越えなかったために、次の単語列としては用いないことを決定する。
【0109】
最後に、補正部133は、文末に到達しているか否かを判定する。現時点で決定している次の単語列は、まだ文末に到達していない(文末識別子を有する次の単語列がない)ので、2回目の繰り返し処理に移行する。この処理は、図7のステップS615のNOからステップS618の処理に該当する。
【0110】
(2回目)
図8(b)には、補正部133による図6図7に示す繰り返し処理の中の2回目の繰り返し処理によるデータの変遷を示している。図8(a)に示す処理により、補正部133は、文頭に「ミカン」を併せた単語列と、文頭に「未完」を併せた単語列とを得ている。また、文字列を構成する単語群も使用可能な単語として残されている。その結果、データ821を得る。ステップS602、S603における現在の単語列は、「(文頭)ミカン」、「(文頭)未完」が該当する。
【0111】
補正部133は、現在の単語列に続く次の候補単語として、データ812に含まれる単語の他、単語列に続く可能性のある短単語、フィラーなどを特定する。ここでは、補正部133は、データ822に示すように、短単語としては、「が」、「は」、「も」、「の」、「を」…等の助詞を、次の候補単語として選出する。したがって、図8のデータ821の上部に示す単語や、データ822に示す単語などを次の候補単語として選出する。当該処理は、ステップS603の処理に該当する。なお、現単語列に続く可能性のある単語には、文末を示す単語の代わりとなる識別子として、「(文末)」が用意されており、この識別子は、その文の文末であることを示す。
【0112】
補正部133は、現在の単語列として「(文頭)ミカン」に、次の単語候補を組み合わせて、データ822やデータ812に含まれる単語とを組み合わせて、次の単語列を生成する。当該処理は、ステップS605の処理に該当する。そして、それぞれを次の単語列候補として、その確率を算出する。補正部133は、例えば、「(文頭)ミカン」と「が」とを組み合わせて次の単語列としてその確率を算出する。その結果、補正部133は、データ823に示す次の仮単語列の確率を算出する。当該処理は、ステップS606の処理に該当する。
【0113】
そして、補正部133は、算出した確率の降順で、データ824に示すように次の仮単語列を並べ替える。当該処理は、ステップS608の処理に該当する。補正部133は、それぞれの次の仮単語列と、認識結果情報220の音声信号の音との類似度を算出する。音の類似度を算出する手法としては、例えば、レーベンシュタイン距離を用いて算出してもよいし、類似度を算出する次の仮単語列を構成する文字のローマ字表記と、認識結果情報220に含まれる音素情報で示されるローマ字表記との文字の一致率を類似度として算出してもよい。補正部133は、データ825に示すように、音の類似度が所定の閾値を次の単語列として確定する。そして、確定した次の単語列が、文末に到達していない、もしくは、文末に到達したとしても候補文としての条件を満たしていないことを検出して、次の繰り返し処理に移行する。ここでは、「(文頭)ミカン(文末)」という単語列が文末に到達したことになっているが、候補文としての条件を満たしていない、例えば、単語列の単語数と、認識結果情報220の単語数との間の差分が所定閾値よりも大きいことから、候補文としての条件を満たしていないと判定する。
【0114】
このようにして、補正部133は、次の単語列が文末に到達し、候補文としての条件を満たすまで、図6図7に示す処理を繰り返す。以下、図9を用いて最終的に補正結果情報230を出力できる回の繰り返し処理の具体例を説明する。
【0115】
(n回目)
図9は、図8に示した繰り返し処理の結果の次に行われる、n回目(文末に到達する回の繰り返し処理)の繰り返し処理の例を示している。
【0116】
n−1回の繰り返し処理により、図9のデータ831に示すように、現単語列として、例えば、「(文頭)ミカンがあります」や「(文頭)ミカンを割ります」、「(文頭)未完が終わります」等の単語列が形成されているものとする。
【0117】
補正部133は、これらの現単語列に対して、次に続く単語を特定する。そして、補正部133は、現単語列に対して、次に続く可能性のある単語を組み合わせた、次の仮単語列を形成する。補正部133は、次の仮単語列それぞれについて、データ832に示すように、現単語列と、当該現単語列につなぐ単語のつながりやすさを示す確率を算出する。
【0118】
補正部133は、確率を算出した次の仮単語列を、データ833に示すように、その確率の降順に並べ替えたリストを生成する。そして、補正部133は、次の仮単語列各々について、認識結果情報220で示される音声信号の音との類似度を算出し、所定の閾値を超えるか否かを判定する。データ834の例では、「ミカンがあります」及び「ミカンを割ります」という次の仮単語列の音の類似度は、所定の閾値を超え、「未完が終わりますミカン」という単語列は、所定の閾値を超えていない。
【0119】
補正部133は、音の類似度が所定の閾値を超えた次の仮単語列について、その次の仮単語列が文末に到達しているか否かを、次の仮単語列に「(文末)」識別子が付いているかで判定する。ここでは、データ835に示すように、「ミカンがあります」という単語列と、「ミカンを割ります」という単語列が文末に到達していると判定された例を示している。
【0120】
補正部133は、文末に到達したと判定された単語列について、候補文としての条件を満たすか否かを判定する。即ち、補正部133は、候補文を構成する単語数と認識結果情報220を構成する単語数との差が所定の閾値以下であるかと、候補文の音と認識結果情報220で示される音声信号の音との類似度が所定の閾値以上であるかと、を判定する。ここでは、データ836に示すように、文末に到達した次の仮単語列双方が候補文としての条件を満たしていると判定した例を示している。
【0121】
補正部133は、候補部としての条件を満たすと判定された次の仮単語列の、単語列としてあり得る確率を取得する。データ837に示す例では、「ミカンがあります」という単語列の確率は、「0.0036」、「ミカンを割ります」という単語列の確率は、「0.003」となっている。
【0122】
したがって、補正部133は、データ838に示すように、文末に到達し、候補文としての条件を満たし、単語列としての確率が最も高い「ミカンがあります」という単語列を、補正結果情報230として出力する。
【0123】
したがって、図8図9に示したように、補正装置100は、「ミカン終わります」という音声認識の結果を、「ミカンがあります」という文意として不自然でない内容に変更することができていることがわかる。
【0124】
<まとめ>
上述したように、補正装置100は、音声認識装置による音声認識の結果を、文節間の係り受けや、1以上の単語列と当該単語列に続く単語のつながりやすさ、そして、補正候補となる文の音と、音声認識に用いた音声信号の音との類似度に基づいて、補正することができる。したがって、補正装置100は、従来の音声認識結果の文字列に含まれる単語列の信頼度だけを用いた補正手法よりもより、正確な補正ができる。
【0125】
<補足>
上記実施の形態に係る補正装置は、上記実施の形態に限定されるものではなく、他の手法により実現されてもよいことは言うまでもない。以下、各種変形例について説明する。
【0126】
(1)上記実施の形態においては、特に記載していないが、音声信号に、「んー」、「ええ…」、「ええっと」と言ったフィラーが含まれていたり、「が」、「は」等の短単語が不足していたりしても、補正装置100は、そのフィラー表現や短単語を考慮した補正文(補正結果情報230)を出力することができる。ユーザ発話コーパス121には、フィラー表現が含まれている可能性がある。そのため、単語間関連情報123においては、1以上の単語列とその単語列に続く単語等が登録されものであるため、ユーザ発話コーパス121にフィラーが含まれる場合には、単語間関連情報123にフィラーも含まれる。その結果、補正装置100は、音声信号に含まれるフィラー表現を含む文章も出力することができる。なお、単語列の確率を算出する際には、フィラー表現や短単語は、無視して算出するので、単語列の確率に対して、フィラーや短単語は影響を及ぼさない。したがって、音声信号において短単語やフィラーの有無にかかわらず補正装置100は、認識結果情報220に含まれる認識結果の補正を行うことができる。
【0127】
(2)上記実施の形態においては、補正装置100は、単語の信頼度として、認識結果情報220に含まれる単語の信頼度を用いることとしたが、これはその限りではない。例えば、信頼度は、補正装置100が各単語がユーザ発話コーパス121に登場する頻度に基づいて算出することとしてもよいし、予めユーザが設定することとしてもよい。
【0128】
(3)上記実施の形態においては、補正装置100は、作成した候補文が、候補文としての条件を満たすかの判定において、2つの条件を満たすか否かで判定することとしている(ステップS616参照)が、これはその限りではない。いずれか一方のみの条件を候補文としての条件を満たすかの判定に用いることとしてもよい。
【0129】
(4)上記実施の形態に示す補正装置100は、音声認識装置200内に組み込まれて構成されることとしてもよい。
【0130】
(5)上記実施の形態においては、補正装置における音声認識結果を補正する手法として、補正装置のプロセッサが補正プログラム等を実行することにより、算出することとしているが、これは装置に集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、上記実施の形態に示した複数の機能部の機能を1つの集積回路により実現されることとしてもよい。LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。すなわち、図10に示すように、補正装置100は、入力回路110aと、記憶回路120aと、抽出回路131aと、特定回路132aと、補正回路133aとから構成されてよく、それぞれの機能は、上記実施の形態に示した補正装置100に含まれる同名の各機能部の機能と同様である。
【0131】
また、上記補正プログラムは、プロセッサが読み取り可能な記憶媒体に記憶されていてよく、記憶媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記補正プログラムは、当該補正プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記プロセッサに供給されてもよい。本発明は、上記補正プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0132】
なお、上記補正プログラムは、例えば、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装できる。
【0133】
(6)上記実施の形態及び各補足に示した構成は、適宜組み合わせることとしてもよい。
【符号の説明】
【0134】
100 補正装置
110 入力部
120 記憶部
130 制御部
131 抽出部
132 特定部
133 補正部
140 出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10