(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-07
(45)【発行日】2023-08-16
(54)【発明の名称】プログラム、情報処理装置、及び情報処理方法
(51)【国際特許分類】
G10L 15/22 20060101AFI20230808BHJP
【FI】
G10L15/22 470F
G10L15/22 460Z
(21)【出願番号】P 2019123939
(22)【出願日】2019-07-02
【審査請求日】2022-03-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】三小田 聡
【審査官】大野 弘
(56)【参考文献】
【文献】特開2017-167368(JP,A)
【文献】特開2015-184564(JP,A)
【文献】大田健翔 秋田祐哉 河原達也,講演音声認識結果の誤り箇所の復唱入力を用いたノートテイクシステム,情報処理学会 第77回(平成27年)全国大会,2015年03月17日,pp.2-125~2-126
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/22
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
複数の単語を含む文を表示部に表示させた後で音声の入力を受け付ける処理と、
前記文の音に関する情報である第1の音情報を取得する処理と、
前記受け付ける処理により受け付けた音声の音に関する情報である第2の音情報を取得する処理と、
誤認識した音素列の履歴情報に基づいて、前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定する処理と、
特定した前記部分に対応する前記文中の文字列を、前記第2の音情報に応じた文字列に基づいて修正する処理と、を実行させるプログラム。
【請求項2】
前記特定する処理では、前記第1の音情報に含まれる音素列と、前記第2の音情報に含まれる音素列との類似度に基づいて前記部分を特定する、
請求項1に記載のプログラム。
【請求項3】
前記特定する処理では、前記第1の音情報に含まれる音声の波形と、前記第2の音情報に含まれる音声の波形との類似度に基づいて前記部分を特定する、
請求項1または2に記載のプログラム。
【請求項4】
前記特定する処理では、前記第1の音情報に含まれる音素列と、前記受け付ける処理により受け付けた音声の音素列を音素列の誤認識に関する履歴情報に基づいて変更した音素列と、に基づいて、前記部分を特定する、
請求項1から3のいずれか一項に記載のプログラム。
【請求項5】
前記修正する処理では、特定した前記部分に対応する前記文中の文字列の修正候補として、前記第2の音情報に含まれる音素列に対応する文字列、及び前記第2の音情報に含まれる音素列を変更した音素列に対応する文字列を前記表示部に表示させる、
請求項1から4のいずれか一項に記載のプログラム。
【請求項6】
前記修正する処理では、特定した前記部分の文字列を、前記表示部に表示させた複数の修正候補の各文字列からユーザにより選択された文字列で置換する、
請求項5に記載のプログラム。
【請求項7】
前記複数の修正候補に含まれる第1修正候補に特定の用語が含まれる場合、前記第1修正候補に含まれる前記特定の用語を他の語句に変換した第2修正候補と、前記第1修正候補とを対応付けて表示し、
前記第2修正候補がユーザにより選択された場合、特定した前記部分を、前記第2修正候補の文字列で置換する、
請求項6に記載のプログラム。
【請求項8】
前記文の単語数、文字数、及び前記文が音声認識により生成される場合の音声の区切りの少なくとも一つに基づいて、前記文を第1範囲と第2範囲とに分割し、前記第1範囲を示す情報を表示させ、
前記特定する処理は、前記第1範囲内に対応する前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定する、
請求項1から7のいずれか一項に記載のプログラム。
【請求項9】
複数の単語を含む文を表示部に表示させた後で音声の入力を受け付ける受付部と、
前記文の音に関する情報である第1の音情報を取得し、前記受け付ける処理により受け付けた音声の音に関する情報である第2の音情報を取得する取得部と、
誤認識した音素列の履歴情報に基づいて、前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定し、特定した前記部分に対応する前記文中の文字列を、前記第2の音情報に応じた文字列に基づいて修正する修正処理部と、を有する情報処理装置。
【請求項10】
情報処理装置が、
複数の単語を含む文を表示部に表示させた後で音声の入力を受け付ける処理と、
前記文の音に関する情報である第1の音情報を取得する処理と、
前記受け付ける処理により受け付けた音声の音に関する情報である第2の音情報を取得する処理と、
誤認識した音素列の履歴情報に基づいて、前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定する処理と、
特定した前記部分に対応する前記文中の文字列を、前記第2の音情報に応じた文字列に基づいて修正する処理と、を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報処理装置、及び情報処理方法に関する。
【背景技術】
【0002】
従来、キーボード等の入力装置が、文章等の文字列の入力に用いられる。また、音声により文章等の文字列を入力できるようにする音声認識技術も知られている(例えば、特許文献1を参照)。音声認識は、例えば、テレビ放送の字幕制作、コールセンターでの通話内容の記録、インタビューや会議の文字起こし等に利用されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、キーボード等の入力装置を用いた文字列入力では、例えば、誤操作、及び誤変換等により、誤字等の誤りが発生する場合がある。また、音声認識を用いた文字列入力では、例えば、言い間違い、及び音声認識の認識誤り等により、誤字等の誤りが発生する場合がある。
【0005】
従来技術では、複数の単語(語)を含む文における誤りを修正する場合、ユーザはマウスやキーボード等の操作により当該誤りがある箇所を指定して、当該誤りがある箇所を修正する必要がある。
【0006】
一側面では、文の修正操作の利便性を向上させることを目的とする。
【課題を解決するための手段】
【0007】
一つの案では、コンピュータに、複数の単語を含む文を表示部に表示させた後で音声の入力を受け付ける処理と、前記文の音に関する情報である第1の音情報を取得する処理と、前記受け付ける処理により受け付けた音声の音に関する情報である第2の音情報を取得する処理と、誤認識した音素列の履歴情報に基づいて、前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定する処理と、特定した前記部分に対応する前記文中の文字列を、前記第2の音情報に応じた文字列に基づいて修正する処理と、を実行させるプログラムを提供する。
【発明の効果】
【0008】
一側面によれば、文の修正操作の利便性を向上させることができる。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【
図2】実施形態に係る情報処理装置の機能構成の一例を示す図である。
【
図3】実施形態に係る情報処理装置において実行される処理の一例を示すフローチャートである。
【
図4A】実施形態に係る表示画面例について説明する図である。
【
図4B】実施形態に係る表示画面例について説明する図である。
【
図4C】実施形態に係る表示画面例について説明する図である。
【
図5】実施形態に係る所定の類似性を有する部分を特定する処理の一例を示すフローチャートである。
【
図6】実施形態に係る所定の類似性を有する部分を特定する処理について説明する図である。
【
図7】実施形態に係る音声の波形に基づいて所定の類似性を有する部分を特定する処理の一例を示すフローチャートである。
【
図8】実施形態に係る誤認識した音素列の履歴に基づいて所定の類似性を有する部分を特定する処理の一例を示すフローチャートである。
【
図9】実施形態に係る誤認識音素列統計DBに記憶される誤認識された音素列の履歴の一例を示す図である。
【
図10】実施形態に係る誤認識文字列統計DBに記憶される誤認識された文字列の履歴の一例を示す図である。
【
図11】実施形態に係る表示画面例について説明する図である。
【発明を実施するための形態】
【0010】
以下、図面を参照して、本発明の実施形態を説明する。
【0011】
<ハードウェア構成>
図1は、実施形態に係る情報処理装置10のハードウェア構成例を示す図である。
図1の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。なお、表示装置106は、「表示部」の一例である。
【0012】
情報処理装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0013】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示するディスプレイである。入力装置107は様々な操作指示の入力を受け付ける。入力装置107は、例えば、音声を集音するマイク、及びユーザからキーを押されることにより文字等の入力を受け付けるキーボード等を有してもよい。
【0014】
なお、記録媒体101の一例としては、CD-ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【0015】
<機能構成>
次に、
図2を参照し、実施形態に係る情報処理装置10の機能構成について説明する。
図2は、実施形態に係る情報処理装置10の機能構成の一例を示す図である。
【0016】
情報処理装置10は、記憶部11を有する。記憶部11は、誤認識した音素列の履歴を記憶する誤認識音素列統計DB(データベース)111、及び誤認識した文字列の履歴を記憶する誤認識文字列統計DB112等を有する。記憶部11は、例えば、補助記憶装置102等を用いて実現されてもよい。
【0017】
また、情報処理装置10は、受付部12、取得部13、音声認識部14、表示制御部15、修正処理部16、及び制御部17を有する。これら各部は、情報処理装置10にインストールされた1以上のプログラムが、情報処理装置10のCPU104に実行させる処理により実現されてもよい。
【0018】
受付部12は、各種の情報の入力をユーザから受け付ける。受付部12は、例えば、表示されている文を修正するための音声の入力を受け付ける。
【0019】
取得部13は、受付部12等により入力された音声、及び文字列に対する音素の情報を取得(認識)する。
【0020】
音声認識部14は、修正処理部16、及び制御部17等の指示に従い、受付部12により入力された音声を音声認識することにより、当該音声を文字列に変換する。
【0021】
表示制御部15は、修正処理部16、及び制御部17等の指示に従い、各種の情報を画面に表示させる。
【0022】
修正処理部16は、表示制御部15により表示されている文の少なくとも一部を、受付部12により入力された音声に基づいて修正する。制御部17は、音声入力等による文字入力処理の全体を制御する。
【0023】
<処理>
次に、
図3から
図4Cを参照し、実施形態に係る情報処理装置10において実行される処理の一例について説明する。
図3は、実施形態に係る情報処理装置10において実行される処理の一例を示すフローチャートである。
図4Aから
図4Cは、実施形態に係る表示画面例について説明する図である。なお、以下の処理は、例えば、1以上の文が発話される度に実行されてもよい。
【0024】
ステップS1において、受付部12は、音声の入力を受け付ける。ここで、受付部12は、例えば、アナウンサー等により発話されたテレビ放送の番組の音声の入力を受け付けてもよい。また、受付部12は、テレビ放送の番組の音声の内容を要約して言い直しされた音声の入力を受け付けてもよい。または、受付部12は、例えば、会議等の音声の入力を受け付けてもよい。
【0025】
続いて、音声認識部14は、入力された音声を音声認識することにより、入力された音声を、複数の単語を含む文の文字列に変換する(ステップS2)。続いて、制御部17は、音声認識された文字列を画面に表示させる(ステップS3)。なお、制御部17は、音声認識された文字列の代わりに、キーボード等の入力装置を用いで入力された文章等の文字列を表示させてもよい。
【0026】
続いて、修正処理部16は、表示されている文中の文字列のうち、修正の対象とする区間(範囲)を決定する(ステップS4)。ここで、修正処理部16は、例えば、音声認識された一の文を、複数の区間に分割する。
【0027】
例えば、修正処理部16は、音声認識された一の文のうち修正の対象とする区間を、文字数に基づいて決定してもよい。この場合、修正処理部16は、例えば、音声認識された一の文の先頭の文字から所定数の文字までを先頭の区間に含め、次の文字以降の文字列を次の区間に含めてもよい。
【0028】
また、修正処理部16は、例えば、音声認識された一の文のうち修正の対象とする区間を、時間長に基づいて決定してもよい。この場合、修正処理部16は、例えば、音声が最初に発話された時点から所定時間(例えば、4秒)が経過した時点までに発話されて音声認識された文字列を先頭の区間に含め、それより後に発話されて音声認識された文字列を次の区間に含めてもよい。
【0029】
修正処理部16は、音声認識された一の文を形態素解析し、文字数、及び時間長等に基づいて決定した区間の切れ目が一の単語の文字列中である場合、当該単語の全文字列を、先頭の区間と次の区間とのいずれか一方に含めてもよい。これにより、一の単語が複数の区間にまたがることにより、当該一の単語を修正できなくなることを防止できる。
【0030】
また、修正処理部16は、例えば、音声認識された一の文のうち修正の対象とする区間を、話者に基づいて決定してもよい。この場合、修正処理部16は、例えば、音声認識する際に話者を識別し、第1話者の発話中に第2話者の発話に切り替わった場合、第1話者に発話されて音声認識された文字列を先頭の区間に含め、第2話者に発話されて音声認識された文字列を次の区間に含めてもよい。
【0031】
また、修正処理部16は、例えば、音声認識された一の文のうち修正の対象とする区間を、発話中の無音区間(「音声の区切り」の一例。)に基づいて決定してもよい。この場合、修正処理部16は、例えば、発話中に所定時間(例えば、1秒)以上無音の区間がある場合、当該無音の区間以前に発話されて音声認識された文字列を先頭の区間に含め、当該無音の区間より後に発話されて音声認識された文字列を次の区間に含めてもよい。
【0032】
また、修正処理部16は、例えば、音声認識された一の文のうち修正の対象とする区間を、単語数に基づいて決定してもよい。この場合、例えば、音声認識された一の文を形態素解析して、当該一の文を各単語に分割し、当該一の文の先頭の単語から所定数の単語までを先頭の区間に含め、次の単語以降を次の区間に含めてもよい。
【0033】
続いて、修正処理部16は、表示されている文中の文字列のうち、修正の対象とする範囲を示す情報を表示させる(ステップS5)。
図4Aの表示画面401の例では、ステップS3の処理で表示されている文402には、「データに対し関谷で高速な処理を実現できるか、」という文字列403と、「会社が変わったときに本当にうまくワークするのかも検収します」という文字列404とが含まれている。修正処理部16は、
図4Aの表示画面401の例では、修正の対象とする範囲である文字列403を囲う枠405を表示させている。これにより、ユーザは、誤変換、誤認識、誤字、脱字等を目視でチェックする対象の範囲を把握することができる。
【0034】
続いて、受付部12は、修正の対象とする範囲内の文字列を修正するための音声の入力を受け付ける(ステップS6)。続いて、修正処理部16は、ステップS3の処理により表示させている文字列に対する音に関する情報である第1の音情報のうち、ステップS6の処理により入力された音声の音に関する情報である第2の音情報と所定の類似性を有する部分を特定する(ステップS7)。この処理については後述する。
【0035】
続いて、音声認識部14は、入力された音声を音声認識することにより、入力された音声を文字列に変換する(ステップS8)。この処理については後述する。なお、音声認識部14は、例えば、ディープラーニング等の機械学習を用いて、入力された音声に対する文字列を推論し、推論の確からしさが高い順に所定数(例えば、1以上)の修正候補の文字列を決定してもよい。なお、本実施例において、所定数の修正候補の文字列を決定することは、入力された音声に応じた文字列に基づいて文を修正する処理の一例である。
【0036】
続いて、修正処理部16は、特定した部分を、ステップS8の処理により変換された文字列に基づいて修正する(ステップS9)。
図4Bの表示画面411の例では、修正処理部16は、文字列403に含まれる「関和で」という文字列が当該特定した部分(置換対象)として選択されていることを示す枠412を画面に表示させている。また、修正処理部16は、各修正候補の文字列4131Aから4161Aにそれぞれ対応付けて、各修正候補の優先順の番号4131Bから4161Bを領域413に表示させている。
【0037】
そして、修正処理部16は、各修正候補のうち、ユーザから選択された修正候補の文字列で、当該特定した部分の文字列を置換する。
図4Cの表示画面421の例では、修正処理部16は、枠412で囲まれていた「関和で」という文字列を、ユーザから選択された「セキュアで」という文字列に置換し、次に修正の対象とする範囲である文字列404を囲う枠423を表示させている。
【0038】
修正処理部16は、ユーザからの音声に基づいて、各修正候補から置換後の文字列を選択してもよいし、キーボード等の入力に基づいて、各修正候補から置換後の文字列を選択してもよい。
図4Bの表示画面411の例では、例えば、ユーザにより「いち」と発話された場合、またはテンキーにより「1」が入力された場合、修正処理部16は、「1」の番号4131Bに対応付けられた「セキュアで」という修正候補の文字列で置換する。
【0039】
また、修正処理部16は、ユーザにより所定のコマンドの音声(例えば、「次」または「先に進め」等)と発話された場合、またはキーボードで所定のキー(例えば、エンターキー)が押下された場合、修正の対象とする範囲を、次の範囲に進めてもよい。
【0040】
≪所定の類似性を有する部分を特定する処理≫
次に、
図3のステップS7の処理の例について説明する。なお、以下で説明する各例は、組み合わせて実施することができる。この場合、修正処理部16は、例えば、各方式に基づいて算出した類似度の値を正規化し、正規化した各類似度の値の平均値または合計値に基づいて、所定の類似性を有する部分を特定してもよい。
【0041】
(音素に基づく判定)
図5、及び
図6を参照し、音素に基づいて所定の類似性を有する部分を特定する処理の一例について説明する。
図5は、実施形態に係る音素に基づいて所定の類似性を有する部分を特定する処理の一例を示すフローチャートである。
図6は、実施形態に係る所定の類似性を有する部分を特定する処理について説明する図である。
【0042】
ステップS101において、取得部13は、修正の対象とする区間の文字列に対する音素列の情報(「第1の音情報」の一例。以下で、適宜「第1音素列」とも称する。)を取得する。ここで、取得部13は、例えば、ステップS1の処理で入力された音声の信号の波形に基づいて、第1音素列を抽出してもよい。なお、音素とは、例えば、ある言語のなかで同じと見なされる音の集まりであり、日本語の音素の場合、例えば、母音の/a/, /i/, /u/, /e/, /o/、子音の/k/, /s/, /t/, /c/, /n/, /h/, /m/, /r/, /g/, /z/, /d/, /b/, /p/、半母音の/j/, /w/、及び特殊モーラの/n/, /q/, /h/の音素を用いるようにしてもよい。
【0043】
なお、ステップS1からステップS3の処理により音声認識された文字列を表示させる代わりに、キーボード等により予め入力された文字列を表示させた場合、取得部13は、当該文字列に基づいて第1音素列を取得してもよい。この場合、取得部13は、例えば、当該文字列を形態素解析して各単語を抽出し、単語と読み仮名とが対応付けられた辞書データ、及び仮名と音素が対応付けられたデータを参照して、抽出した各単語を各音素列に変換することにより、第1音素列を取得してもよい。
【0044】
続いて、取得部13は、ステップS6の処理により入力された音声に対する音素列の情報(以下で、適宜「第2音素列」とも称する。)を取得する(ステップS102)。ここで、取得部13は、例えば、ステップS6の処理で入力された音声の信号の波形に基づいて、第2音素列を抽出してもよい。この場合、取得部13は、例えば、音声の信号の波形と、正解の音素列との組のデータに基づいて機械学習させた学習済みモデルを用いて、ステップS6の処理で入力された音声に対する第2音素列を推論してもよい。
【0045】
取得部13は、
図4Aの場合、修正の対象とする範囲内の「データに対し関谷で高速な処理を実現できるか、」という文字列403に対し、
図6に示すように/deetanitaisisekiyadekousokunasyoriwojitugendekiruka/という音素列611を第1音素列として取得する。
【0046】
続いて、修正処理部16は、第1音素列に含まれる音素列のうち、第2音素列との類似度が閾値以上の部分を、所定の類似性を有する部分として特定する(ステップS103)。ここで、修正処理部16は、まず、判定対象の各音素列の範囲を、第1音素列に含まれる先頭の音素から、第2音素列に含まれる音素の数から所定数(α)前から後までの各範囲とする。そして、修正処理部16は、判定対象の各音素列に対して、第2音素列との類似度をそれぞれ算出する。修正処理部16は、複数の音素列間の類似度を、例えば、複数の音素列間の編集距離(レーベンシュタイン距離)に基づいて算出してもよい。この場合、修正処理部16は、例えば、編集距離が小さい程、類似度が高いと判定してもよい。
【0047】
修正処理部16は、例えば、1文字の挿入または削除の処理を繰り返すことにより、一の文字列を他の文字列に変形する場合に必要となる当該処理の最小回数を、編集距離の値として算出してもよい。なお、一の文字列を他の文字列に変形するために1文字を置換する必要がある場合は、1文字を削除し、1文字を挿入することとなるため、編集距離は2と算出される。
【0048】
修正処理部16は、例えば、1文字の挿入、削除、及び置換のいずれかの処理を繰り返すことにより、一の文字列を他の文字列に変形する場合に必要となる当該処理の最小回数を、編集距離の値として算出してもよい。
【0049】
なお、以下では、1文字の挿入または削除の処理を繰り返すことにより、一の文字列を他の文字列に変形する場合に必要となる当該処理の最小回数を、編集距離の値として算出する場合を例として説明する。
【0050】
取得部13は、
図4Aの表示画面401が表示されている際に、ステップS6の処理で、例えば、「セキュアで」という音声が発話された場合、/sekyuade/という音素列を第2音素列として取得する。この場合、第2音素列の音素の数は8である。以下では、修正処理部16が、上述したαを1として修正処理を行う場合の例について説明する。
【0051】
修正処理部16は、まず、音素列の先頭から、類似度を算出する処理を開始する。
図6の場合、第1音素列の音素列611の先頭から7(=8-1)個目までの音素列621、8個目までの音素列622、9(=8+1)個目までの音素列623は、それぞれ、/deetani/、/deetanit/、/deetanita/である。そのため、修正処理部16は、第2音素列/sekyuade/との編集距離を、それぞれ、6、7、8と算出する。
【0052】
そして、修正処理部16は、判定対象の各音素列の範囲を1音素ずつ後ろにシフトさせながら、判定対象の各音素列に対して、第2音素列との類似度をそれぞれ算出していく。判定対象の各音素列の範囲が先頭の音素から1音素だけ後ろにシフトされた場合、第1音素列の2番目の音素から7個目までの音素列631、8個目までの音素列632、9個目までの音素列633は、それぞれ、/eetanit/、/eetanita/、/eetanitai/である。そのため、修正処理部16は、第2音素列/sekyuade/との編集距離を、それぞれ、7、7、8と算出する。
【0053】
そして、修正処理部16は、例えば、判定対象の各音素列の範囲に第1音素列の最後の音素が含まれなくなった等の場合、第2音素列との類似度を算出する処理を終了してもよい。そして、修正処理部16は、例えば、判定対象の各音素列の範囲のうち、第2音素列との類似度が最も高い範囲を、所定の類似性を有する部分として特定する。
【0054】
図6の場合、第1音素列の13番目の音素から8個目までの音素列641である/sekiyade/と、第2音素列/sekyuade/との編集距離は2であるため、判定対象の各音素列と第2音素列との編集距離が最も小さい。そのため、修正処理部16は、第1音素列に含まれる/sekiyade/の音素列641を、第2音素列との類似度が閾値以上の部分であると判定する。
【0055】
(音声の波形に基づく判定)
次に、
図7を参照し、音声の波形に基づいて、所定の類似性を有する部分を特定する例について説明する。
図7は、実施形態に係る音声の波形に基づいて所定の類似性を有する部分を特定する処理の一例を示すフローチャートである。
【0056】
ステップS201において、取得部13は、修正の対象とする区間の文字列に対する音声の波形の情報(「第1の音情報」の一例。以下で、適宜「第1波形」とも称する。)を取得する。ここで、取得部13は、例えば、ステップS1の処理で入力された音声の信号の波形を第1波形としてもよい。
【0057】
なお、ステップS1からステップS3の処理により音声認識された文字列を表示させる代わりに、キーボード等により予め入力された文字列を表示させた場合、取得部13は、当該文字列に基づいて第1波形を取得してもよい。この場合、取得部13は、例えば、当該文字列を形態素解析して各単語を抽出し、単語と読み仮名とが対応付けられた辞書データ、及び仮名と波形が対応付けられたデータを参照して、抽出した各単語を各波形に変換することにより、第1波形を取得してもよい。
【0058】
続いて、取得部13は、ステップS6の処理により入力された音声に対する波形の情報(以下で、適宜「第2波形」とも称する。)を取得する(ステップS202)。
【0059】
続いて、修正処理部16は、第1波形に含まれる波形のうち、第2波形との類似度が閾値以上の波形を、所定の類似性を有する部分として特定する(ステップS203)。ここで、修正処理部16は、まず、音素列の先頭から、類似度を算出する処理を開始する。修正処理部16は、例えば、判定対象の各波形の範囲を、第1波形に含まれる先頭の時点から、第2波形の時間長に応じた所定時間(例えば、第2波形の時間長の10%の時間長)前から後までの各範囲とする。
【0060】
そして、修正処理部16は、判定対象の各波形に対して、第2波形との類似度をそれぞれ算出する。修正処理部16は、複数の波形間の類似度を、例えば、複数の波形間の相互相関関数に基づいて算出してもよい。この場合、修正処理部16は、例えば、相互相関関数の値が大きい程、類似度が高いと判定してもよい。
【0061】
そして、修正処理部16は、判定対象の各波形の範囲を所定の時間長(例えば、0.1秒)ずつ後ろにシフトさせながら、判定対象の各波形に対して、第2波形との類似度をそれぞれ算出していく。
【0062】
(誤認識した音素列の履歴に基づく判定)
次に、
図8を参照し、誤認識した音素列の履歴に基づいて、所定の類似性を有する部分を特定する例について説明する。
図8は、実施形態に係る誤認識した音素列の履歴に基づいて所定の類似性を有する部分を特定する処理の一例を示すフローチャートである。
【0063】
ステップS301において、取得部13は、第1音素列を取得する。この処理は、上述した
図5のステップS101の処理と同様でもよい。続いて、取得部13は、第2音素列を取得する(ステップS302)。この処理は、上述した
図5のステップS102の処理と同様でもよい。
【0064】
続いて、修正処理部16は、後述する
図9に示す誤認識音素列統計DB111に記憶されている誤認識した音素列の履歴を参照し、第1音素列に含まれる音素列のうち、第2音素列が誤認識され易い音素列の部分を、所定の類似性を有する部分として特定する(ステップS303)。例えば、誤認識した音素列の履歴に、正解の音素列/kyua/に対応付けて、誤認識され易い音素列として/kiya/が記憶されているとする。そして、
図6に示すように第1音素列が/deetanitaisisekiyadekousokunasyoriwojitugendekiruka/という音素列611であり、第2音素列が/sekyuade/という音素列である場合、修正処理部16は、第2音素列に含まれる/kyua/を/kiya/で置換した音素列/sekiyade/を生成する。そして、修正処理部16は、第1音素列のうち、生成した音素列である/sekiyade/に合致する部分を、所定の類似性を有する部分として特定する。
【0065】
≪音声を文字列に変換する処理≫
次に、
図9から
図11を参照し、
図3のステップS8の、入力された音声を文字列に変換する処理の例について説明する。
図9は、実施形態に係る誤認識音素列統計DB111に記憶される誤認識された音素列の履歴の一例を示す図である。
図10は、実施形態に係る誤認識文字列統計DB112に記憶される誤認識された文字列の履歴の一例を示す図である。
図11は、実施形態に係る表示画面例について説明する図である。なお、以下で説明する各例は、組み合わせて実施することができる。
【0066】
(音素に基づく変換)
音声認識部14は、音素数、及び音素での編集距離に基づいて、入力された音声に対する修正候補の文字列を決定してもよい。この場合、音声認識部14は、機械学習等を用いる音声認識エンジンから出力された複数の修正候補の文字列の音素数と、入力された音声の音素数との差、及び音素での編集距離を算出する。そして、音声認識部14は、出力された複数の修正候補のうち、算出した各値の少なくとも一方の値または合計値が小さい順に、所定数(例えば、1以上)の文字列を、入力された音声に対する修正候補として決定してもよい。
【0067】
また、音声認識部14は、
図9に示す誤認識音素列統計DB111に記憶されている、誤認識された音素列の履歴に基づいて、入力された音声に対する修正候補の文字列を決定してもよい。
【0068】
図9の例では、誤認識音素列統計DB111には、誤り音素列と正解音素列の組に対応付けて、誤り回数が記憶されている。誤り音素列は、過去に音声が誤認識されて出力された音素列である。正解音素列は、誤認識された音素列に対する正解の音素列である。誤り回数は、誤認識された回数である。誤認識音素列統計DB111に記憶される情報は、例えば、各ユーザ等に対して予め設定されていてもよい。
図9の例では、誤認識された音素列/kyua/と正解の音素列/kiwa/との組に対して、誤認識された回数が220回であること等が記録されている。また、誤認識された音素列/de/と正解の音素列/re/との組に対して、誤認識された回数が163回であること等が記録されている。
【0069】
音声認識部14は、第2音素列に含まれる音素列のうち、誤認識音素列統計DB111において誤り音素列の項目に記録されており、かつ誤認識された回数が所定の閾値以上である組を抽出する。
図9の例では、誤認識された回数が所定の閾値以上である組として、例えば、第2音素列に含まれる/kyua/が/kiwa/等に対応付けて登録されており、第2音素列に含まれる/de/が/re/等に対応付けて登録されているとする。
【0070】
第2音素列が/sekyuade/という音素列である場合、音声認識部14は、例えば、第2音素列中の/kyua/を/kiwa/に変換した/sekiwade/という音素列や、第2音素列中の/de/を/re/に変換した/sekyuare/という音素列や、/kyua/と/de/の両方を/kiwa/と/re/に変換した/sekiware/という音素列を生成する。そして、音声認識部14は、生成した音素列が、音素列と単語の文字列との組のデータ集合が予め設定されているデータベースに記憶されている音素列に合致する場合、当該音素列に対応する単語の文字列を、入力された音声に対する修正候補として決定してもよい。この場合、音声認識部14は、例えば、上述した/sekiware/という音素列に対応する「席割れ」等を修正候補として決定する。
【0071】
また、音声認識部14は、生成した音素列が、当該データベースに記憶されている各音素列に分割できる場合、各音素列にそれぞれ対応する各単語の文字列を連結した文字列を、入力された音声に対する修正候補として決定してもよい。この場合、音声認識部14は、例えば、上述した/sekiwade/という音素列に対応する「積和で」等を修正候補として決定する。
【0072】
(音声認識された内容に基づく変換)
音声認識部14は、音声認識された内容に基づいて、入力された音声に対する修正候補の文字列を決定してもよい。この場合、音声認識部14は、
図10に示す誤認識文字列統計DB112に記憶されている、誤認識された文字列の履歴に基づいて、入力された音声に対する修正候補の文字列を決定してもよい。
【0073】
図10の例では、誤認識文字列統計DB112には、誤り内容と修正内容(正解内容)の組に対応付けて、誤り回数が記憶されている。誤り内容は、過去に音声が誤認識されて出力された文字列である。修正内容は、誤認識された文字列に対する正解の文字列である。誤り回数は、誤認識された回数である。誤認識文字列統計DB112に記憶される情報は、例えば、各ユーザ等に対して予め設定されていてもよい。
図10の例では、誤認識された文字列「セキュアで」と正解の文字列「積和で」との組に対して、誤認識された回数が220回であること等が記録されている。
【0074】
音声認識部14は、入力された音声を音声認識することにより、入力された音声を文字列に変換する。そして、音声認識部14は、変換した文字列のうち、誤認識文字列統計DB112において誤り内容の項目に記録されており、かつ誤認識された回数が所定の閾値以上である組を抽出する。
図10の例では、誤認識された回数が所定の閾値以上である組として、音声認識された文字列に含まれる「セキュアで」が「積和で」等に対応付けて登録されているとする。この場合、音声認識部14は、「積和で」等を、入力された音声に対する修正候補として決定してもよい。
【0075】
また、音声認識部14は、生成した文字列が、当該データベースに記憶されている各文字列に分割できる場合、各文字列にそれぞれ対応する各単語の文字列を連結した文字列を、入力された音声に対する修正候補として決定してもよい。
【0076】
(特定の用語に基づく変換)
音声認識部14は、第1修正候補の文字列に、予め記憶部11に登録されている特定の用語が含まれる場合、当該第1修正候補に含まれる当該特定の用語を他の語句に変換した第2修正候補と、当該第1修正候補とを対応付けて、修正候補の一つとして表示してもよい。当該特定の用語には、例えば、放送禁止用語、放送自粛用語、及び方言等の用語が含まれてもよい。
【0077】
例えば、
図11の表示画面1101において、1番目の修正候補の文字列に当該特定の用語が含まれる場合、音声認識部14は、1番目の修正候補の文字列4131Aを、予め記憶部11に当該特定の用語に対応付けて記憶されている別の用語に置換した文字列とする。そして、音声認識部14は、文字列4131Aの横に、7番目1102の修正候補の文字列1103として、置換していない当該特定の用語が含まれる文字列としてもよい。この場合、音声認識部14は、当該文字列に対応付けて、当該特定の用語である旨を示す警告のメッセージ1104やアイコン1105等を表示させてもよい。
【0078】
これにより、例えば、生放送の番組において、コンテーターが方言等の用語を使用した場合、当該方言等の用語を公用語等の用語に変換した文字列と、当該方言等の用語の文字列とが対応付けて表示される。そのため、字幕用に音声認識された文字列を修正するオペレータは、容易に字幕用の文字列を修正することができる。
【0079】
<変形例>
例えば、1以上のコンピュータを備える、情報処理装置10以外の処理資源(クラウドコンピューティング)により、情報処理装置10の各機能部のすべてまたは一部が実現されていてもよい。
【0080】
<実施形態の効果>
従来、テレビ放送において字幕を表示させる技術が普及している。スポーツ実況や情報番組で放送される実況や解説の音声は、会場の騒音レベルが高く、出演者の発話スタイルも様々であるため、放送される音声を音声認識させた場合、音声認識の精度が低い場合がある。そのため、専門のアナウンサー(字幕キャスター)が、生放送等の番組で実際に放送された実況や解説の音声をヘッドホンで聞き取りながら、聞き取った内容を要約して言い直す。そして、言い直された音声を音声認識させることにより、精度が比較的高い字幕用の文字列を生成する手法が知られている。この手法は、例えば、「リスピーク方式」等と称されている。
【0081】
この「リスピーク方式」では、修正を担当するオペレータが、音声認識により生成された字幕用の文字列の誤り(間違い)を目視で確認し、誤りがある箇所をマウスで指定し、キーボード入力により当該誤りがある箇所を修正している。そのため、修正のための操作に手間や時間がかかる。
【0082】
上述した実施形態によれば、表示されている文に対する音に関する情報のうち、受け付けた音声の音に関する情報と類似性がある部分を特定し、特定した部分に対応する文字列を、当該音声に応じた文字列に基づいて修正する。これにより、文中の文字列をユーザが容易に修正できる。
【0083】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【0084】
以上の説明に関し、更に以下の項を開示する。
(付記1)
コンピュータに、
複数の単語を含む文を表示部に表示させた後で音声の入力を受け付ける処理と、
前記文の音に関する情報である第1の音情報を取得する処理と、
前記受け付ける処理により受け付けた音声の音に関する情報である第2の音情報を取得する処理と、
前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定する処理と、
特定した前記部分に対応する前記文中の文字列を、前記第2の音情報に応じた文字列に基づいて修正する処理と、を実行させるプログラム。
(付記2)
前記特定する処理では、前記第1の音情報に含まれる音素列と、前記第2の音情報に含まれる音素列との類似度に基づいて前記部分を特定する、
付記1に記載のプログラム。
(付記3)
前記特定する処理では、前記第1の音情報に含まれる音声の波形と、前記第2の音情報に含まれる音声の波形との類似度に基づいて前記部分を特定する、
付記1または2に記載のプログラム。
(付記4)
前記特定する処理では、前記第1の音情報に含まれる音素列と、前記受け付ける処理により受け付けた音声の音素列を音素列の誤認識に関する履歴情報に基づいて変更した音素列と、に基づいて、前記部分を特定する、
付記1から3のいずれか一項に記載のプログラム。
(付記5)
前記修正する処理では、特定した前記部分に対応する前記文中の文字列の修正候補として、前記第2の音情報に含まれる音素列に対応する文字列、及び前記第2の音情報に含まれる音素列を変更した音素列に対応する文字列を前記表示部に表示させる、
付記1から4のいずれか一項に記載のプログラム。
(付記6)
前記修正する処理では、特定した前記部分の文字列を、前記表示部に表示させた複数の修正候補の各文字列からユーザにより選択された文字列で置換する、
付記5に記載のプログラム。
(付記7)
前記複数の修正候補に含まれる第1修正候補に特定の用語が含まれる場合、前記第1修正候補に含まれる前記特定の用語を他の語句に変換した第2修正候補と、前記第1修正候補とを対応付けて表示し、
前記第2修正候補がユーザにより選択された場合、特定した前記部分を、前記第2修正候補の文字列で置換する、
付記6に記載のプログラム。
(付記8)
前記文の単語数、文字数、及び前記文が音声認識により生成される場合の音声の区切りの少なくとも一つに基づいて、前記文を第1範囲と第2範囲とに分割し、前記第1範囲を示す情報を表示させ、
前記特定する処理は、前記第1範囲内に対応する前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定する、
付記1から7のいずれか一項に記載のプログラム。
(付記9)
複数の単語を含む文を表示部に表示させた後で音声の入力を受け付ける受付部と、
前記文の音に関する情報である第1の音情報を取得し、前記受け付ける処理により受け付けた音声の音に関する情報である第2の音情報を取得する取得部と、
前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定し、特定した前記部分に対応する前記文中の文字列を、前記第2の音情報に応じた文字列に基づいて修正する修正処理部と、を有する情報処理装置。
(付記10)
情報処理装置が、
複数の単語を含む文を表示部に表示させた後で音声の入力を受け付ける処理と、
前記文の音に関する情報である第1の音情報を取得する処理と、
前記受け付ける処理により受け付けた音声の音に関する情報である第2の音情報を取得する処理と、
前記第1の音情報のうち、前記第2の音情報と所定の類似性がある部分を特定する処理と、
特定した前記部分に対応する前記文中の文字列を、前記第2の音情報に応じた文字列に基づいて修正する処理と、を実行する情報処理方法。
【符号の説明】
【0085】
10 情報処理装置
11 記憶部
111 誤認識音素列統計DB
112 誤認識文字列統計DB
12 受付部
13 取得部
14 音声認識部
15 表示制御部
16 修正処理部
17 制御部