JP2004341293A - 音声を文字データに変換する装置と方法とそのためのプログラムと対話装置 - Google Patents
音声を文字データに変換する装置と方法とそのためのプログラムと対話装置 Download PDFInfo
- Publication number
- JP2004341293A JP2004341293A JP2003138606A JP2003138606A JP2004341293A JP 2004341293 A JP2004341293 A JP 2004341293A JP 2003138606 A JP2003138606 A JP 2003138606A JP 2003138606 A JP2003138606 A JP 2003138606A JP 2004341293 A JP2004341293 A JP 2004341293A
- Authority
- JP
- Japan
- Prior art keywords
- character data
- user
- corrected
- conversion
- converted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】ユーザーが発した音声に対応した文字データに正確に変換できることが期待できる技術を提供すること。
【解決手段】本発明は、ユーザーが発した音声を文字データに変換する装置である。この文字データ変換装置は、音声を入力する手段と、入力された音声を文字データに変換する手段と、前記の変換手段で変換された文字データをユーザーが訂正できる訂正手段と、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する手段と、前記の変換手段で変換された文字データをキーとして前記の記憶手段を検索して「訂正された文字データ」を特定する手段とを備える。
【選択図】 なし
【解決手段】本発明は、ユーザーが発した音声を文字データに変換する装置である。この文字データ変換装置は、音声を入力する手段と、入力された音声を文字データに変換する手段と、前記の変換手段で変換された文字データをユーザーが訂正できる訂正手段と、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する手段と、前記の変換手段で変換された文字データをキーとして前記の記憶手段を検索して「訂正された文字データ」を特定する手段とを備える。
【選択図】 なし
Description
【0001】
【発明の属する技術分野】本発明は、ヒトが発した音声を文字データに変換する技術に関する。
【0002】
【従来の技術】近年、ヒト(ユーザー)と対話できる装置やヒトが発した音声に応じて動作する装置(音声対応型ロボット)等が開発されている。これらの装置は、ヒトが発した音声を入力し、入力された音声を文字データに変換し、変換された文字データに応じて所定の処理を実行する。例えば対話装置であれば、変換された文字データに対応した返答を出力する処理を実行するものがある。また、音声対応型ロボットであれば、変換された文字データに対応した動作を実行するものがある。
上記した対話装置や音声対応型ロボット等は、ユーザーが発した音声を正確に文字データに変換する必要がある。特許文献1には、ユーザーが発した音声を文字データに変換するための一つの技術が開示されている。特許文献1の技術によると、ユーザーが音を区切りながらゆっくりと発声した言葉を文字データに変換することができる。
【0003】
【特許文献1】
特開2000−242295号公報
【0004】
【発明が解決しようとする課題】特許文献1の技術では、ユーザーが発声した各音を正確に文字データに変換できることを前提としている。しかしながら、実際は、ユーザーが発した音声に対応した文字データに変換されないことがある。例えば、ユーザーがXという言葉を発声したにもかかわらず、Yという文字データに変換されてしまうことがある。これは、声質や発音等には個人差があるために、入力された音声を文字データに変換する手法を全てのユーザーに対応できるように一般化するのは困難であることが一つの原因であると考えられる。
【0005】
本発明は、上記した実情に鑑みてなされたものであり、ユーザーが発した音声に対応した文字データに正確に変換できることが期待できる技術を提供することを目的とする。
【0006】
【課題を解決するための手段と作用と効果】上記課題を解決するために創作された請求項1の発明は、ユーザーが発した音声を文字データに変換する装置である。この文字データ変換装置は、音声を入力する手段と、入力された音声を文字データに変換する手段と、前記の変換手段で変換された文字データをユーザーが訂正できる訂正手段と、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する手段と、前記の変換手段で変換された文字データをキーとして前記の記憶手段を検索して「訂正された文字データ」を特定する手段とを備える。
請求項1の文字データ変換装置によると、ユーザーが発した音声が変換手段で誤った文字データに変換された場合に、その誤って変換された文字データを訂正手段を用いて訂正できる。この訂正方法としてはいかなる方法を採用してもよく、例えば、キーボードを用いてユーザーが文字データを入力することによって訂正してもよいし、ユーザーが再発声することによって訂正するようにしてもよい。例えば、ユーザーがXと発声したのに変換手段が誤ってYという文字データに変換した場合は、変換された文字データYをXにユーザーが訂正できる。このとき、XとYを対応づけた情報が記憶手段で記憶される。この情報が記憶されることにより、ユーザーが発声したXが変換手段で再びYと誤って変換されてしまった場合に、そのYをキーとして記憶手段を検索することによってXが特定できるようになる。本発明を用いると、ユーザーが発した音声と異なる文字データに変換手段が変換した場合でも、その誤りをカバーしてユーザーが発した音声に対応した文字データを特定できるようになる。
【0007】
ユーザーによって声質や発音等が異なるために、次のような事象が起こる可能性がある。例えば、ユーザーAがYと発声したのを変換手段がXという文字データに変換する一方で、ユーザーBがZと発声したのを変換手段がXという文字データに変換することがある。双方が訂正されると、記憶手段には、X(変換された文字データ)とY(訂正された文字データ)とが対応づけて記憶されるとともに、X(変換された文字データ)とZ(訂正された文字データ)とが対応づけて記憶される。この場合、ユーザーAがYと発声したのを変換手段がXという文字データに再度変換した場合に、Zが特定される可能性が生じてしまう。このような問題に対処するために、上記した文字データ変換装置を以下の構成にしてもよい。即ち、上記の文字データ変換装置に、ユーザーを特定するユーザー特定手段を付加する。この場合、前記の記憶手段は、ユーザー特定手段で特定されたユーザーと、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する。そして、前記の特定手段は、ユーザー特定手段で特定されたユーザーと前記の変換手段で変換された文字データをキーとして前記の記憶手段を検索して「訂正された文字データ」を特定する。
このような構成にすると、上記を例にすれば、ユーザーAとX(変換された文字データ)とY(訂正された文字データ)とを対応づけて記憶できるとともに、ユーザーBとX(変換された文字データ)とZ(訂正された文字データ)とを対応づけて記憶できる。この場合、ユーザーAがYと発声したのを変換手段がXという文字データに再度変換した場合に、ユーザーAとXをキーとして記憶手段が検索されてYが特定される。本発明によると、個々のユーザーが発声した音声に対応した文字データに正確に変換できるようになることが期待できる。
【0008】
前記の記憶手段は、前記の変換手段で変換された文字データに対応づけて複数の「訂正された文字データ」をそれぞれ重み付けして記憶可能であってもよい。この場合、前記の特定手段は、キーとした「前記の変換手段で変換された文字データ」に対応づけて複数の「訂正された文字データ」が記憶されている場合に、前記した重みが最大の「訂正された文字データ」を特定する。
上記した「重み」とは、例えば、その「訂正された文字データ」に対応づけられている「前記の変換手段で変換された文字データ」に変換手段が変換した総回数に対する、その「訂正された文字データ」をユーザーが発声した回数の割合を意味する。
以下の事象を例にして本発明を説明する。(1)ユーザーがXと発声したにもかかわらず変換手段がZに変換し、そのZをユーザーがXに訂正した。(2)ユーザーがXと発声したにもかかわらず変換手段が再びZに変換し、そのZから記憶手段が検索されてXが特定された。(3)ユーザーがYと発声したにもかかわらず変換手段がZに変換し、そのZをユーザーがYに訂正した。
上記の(1)〜(3)の事象が起こった場合は、記憶手段では、Z(変換された文字データ)とX(訂正された文字データ)と2/3(重み)とが対応づけて記憶され、Z(変換された文字データ)とY(訂正された文字データ)と1/3とが対応づけて記憶される。ここでの重みの分母は、変換手段がZに変換した総回数である。また、重みの分子はX又はYとユーザーが発声した回数である。この状態で、次の事象が起こったとする。(4)ユーザーがXと発声したにもかかわらず変換手段がZに変換した。この(4)の事象が起こると、特定手段はZをキーとして記憶手段を検索し、重みが大きいXを特定する。このように、本発明では、誤って変換される可能性の高い「訂正された文字データ」を選択するために、一つの文字データが複数の文字データに訂正された場合であってもうまく対応することができる。
【0009】
本発明は、ユーザーが発した音声に対応する返答を音声出力することによってユーザーと対話する装置に具現化することができる。この対話装置は、音声を入力する手段と、入力された音声を文字データに変換する手段と、前記の変換手段で変換された文字データをユーザーが訂正できる訂正手段と、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する第1記憶手段と、複数の文字データを記憶しているとともに、文字データ毎に返答を記憶している第2記憶手段と、前記の変換手段で変換された文字データが第2記憶手段に記憶されていない場合に、その「前記の変換手段で変換された文字データ」をキーとして前記の第1記憶手段を検索して「訂正された文字データ」を特定する手段と、前記の変換手段で変換された文字データ又は前記の特定手段で特定された「訂正された文字データ」が第2記憶手段に記憶されている場合に、前記の変換手段で変換された文字データ又は前記の特定手段で特定された「訂正された文字データ」に対応した返答を音声出力する手段とを備える。
この対話装置によると、ユーザーが発した音声とは異なる文字データに変換された場合でも、ユーザーが発した音声に対応した返答を出力できることが期待できる。
【0010】
また、本発明は、ユーザーが発した音声をコンピュータが文字データに変換する方法として定義することができる。この文字データ変換方法は、音声を入力する工程と、入力された音声を文字データに変換する工程と、前記の変換工程で変換された文字データをユーザーが訂正した場合に、その「前記の変換工程で変換された文字データ」と、その文字データから訂正された文字データとを対応づけて記憶する工程と、前記の変換工程で変換された文字データをキーとして前記の記憶工程で記憶された記憶内容を検索して「訂正された文字データ」を特定する工程とを備える。
この方法を用いると、ユーザーが発声した音声をコンピュータが正確に文字データに変換できるようになることが期待できる。
【0011】
また、本発明は、ユーザーが発した音声をコンピュータが文字データに変換するためのプログラムとして定義することもできる。このプログラムは、コンピュータに、以下の処理、即ち、音声を入力する処理と、入力された音声を文字データに変換する処理と、前記の変換処理で変換された文字データをユーザーが訂正した場合に、その「前記の変換処理で変換された文字データ」と、その文字データから訂正された文字データとを対応づけて記憶する処理と、前記の変換処理で変換された文字データをキーとして前記の記憶処理で記憶された記憶内容を検索して「訂正された文字データ」を特定する処理とを実行させる。
このプログラムを用いることによって、ユーザーが発声した音声をコンピュータが正確に文字データに変換できるようになることが期待できる。
【0012】
【発明の実施の形態】上記各請求項に記載の発明は、下記の形態で好適に実施することができる。
(形態1)文字データ変換装置は、ユーザーが発声した音声(言葉)を入力するマイクを有する。マイクは、入力された音声波を電気信号化する。上記の変換手段は、マイクで電気信号化された音声をテキスト形式の文字データに変換する。
(形態2)文字データ変換装置はキーボードを有する。ユーザーは、キーボードに文字を入力することによって、上記した変換手段で変換された文字データを訂正できる。
(形態3)上記した第2記憶手段は、ユーザーに対する質問を記憶している。さらに、その質問に対する複数の答えを記憶しており、答え毎に返答を記憶している。
(形態4)ユーザー特定手段は、キーボードを用いてユーザー名が入力されることによってユーザーを特定する。
【0013】
【実施例】(第1実施例) 図面を参照して、本発明の実施例を説明する。図1は、本実施例に係る対話装置(対話コンピュータ)10の概略構成を示したものである。この対話装置10は、ユーザーに対して質問し、その質問に対してユーザーが発声した答えを特定し、その特定された答えに対して返答する。
対話装置10は、マイク20と音声特定部30と制御部40と音声合成部50とスピーカ60とディスプレイ70とキーボード80と第1データベース90と第2データベース100とユーザー名−ユーザーID記憶部110等から構成される。
マイク20は、ユーザーが発声した言葉(音声波)を入力する。そして、入力された言葉を電気信号に変換して音声特定部30に送る。
音声特定部30は、電気信号化された言葉をテキスト形式の文字データに変換する。音声特定部30は、文字データを制御部40に送る。
制御部40には、音声特定部30と音声合成部50とディスプレイ70とキーボード80と第1データベース90と第2データベース100とユーザー名−ユーザーID記憶部110とが接続されている。制御部40は、音声特定部30から送られてくる文字データを入力する。そして、入力した文字データに基づいて返答を出力する処理を実行する。制御部40は、他にも、ディスプレイ70に情報に表示するための処理や、第2データベース100やユーザー名−ユーザーID記憶部110の記憶内容を変更する処理等も実行する。制御部40が実行する各処理については後で詳しく説明する。
【0014】
ディスプレイ70では種々の画像が表示される。表示される画像については後で説明する。ユーザーは、キーボード80を用いて文字データを入力することができる。キーボード80に入力された文字データは制御部40に送られる。
ユーザー名−ユーザーID記憶部110には、ユーザーの名前と、そのユーザーを特定するIDとが対応づけて記憶されている。図2に、ユーザー名−ユーザーID記憶部110の記憶内容の一例を示す。対話装置10のユーザーは、自分の名前を対話装置10に予め登録しておく。ユーザー名の登録は、キーボード80を用いて名前を入力することによって行なう。入力されたユーザー名は制御部40に送られる。制御部40は、ユーザー名が送られてくるとユーザーIDを取得し、そのユーザー名とユーザーIDとを対応づけてユーザー名−ユーザーID記憶部110で記憶する。
【0015】
第1データベース90には、ユーザーに対しての質問と、その質問の答えとして想定される答え群と、各答えに対しての返答とが対応づけて記憶されている。図3には、第1データベース90の記憶内容の一例を示している。例えば、質問「好きな果物は何ですか」に対応づけて答え(リンゴ、梨、みかん等)が記憶されている。さらに、ユーザーの答え毎に返答が記憶されている。例えば、リンゴの場合であれば、「リンゴはおいしいよね」という返答が記憶されている。
【0016】
図4に、第2データベース100の記憶内容の一例を示す。第2データベース100は、ユーザーIDと特定単語と真単語と重みとが対応づけて記憶されている。
「特定単語」とは、音声特定部30で特定された単語(変換された文字データ)であって、第1データベース90に記憶されていないものを意味する。例えば、ユーザーが発声した単語と異なる単語に変換された場合に、その変換された単語が特定単語となることがある。なお、本明細書での「単語」は、一つの文字又は文字の集まりを意味し、一般的にいわれる単語の概念よりも広い概念である。また、詳しくは後述するが、ユーザーは、音声特定部30によってユーザーが発声した単語と異なる単語に変換された場合に、その誤って変換された単語を訂正することができる(キーボード80を用いて単語を入力することができる)。
「真単語」とは、ユーザーがキーボード80を用いて入力した単語を意味する。例えば、ユーザーが発声した単語と異なる文字データに音声特定部30が変換した単語からユーザーによって訂正された単語(簡単にいうと、音声特定部30が誤って特定した単語から訂正された単語)を意味する。図4を例にすると、特定単語「やし」に対応づけて真単語「なし」が記憶されているが、これは、ユーザーが「なし」と発声したにもかかわらず音声特定部30が「やし」と変換し、その「やし」が「なし」に訂正されたことを意味している。また、特定単語「やし」に対応づけて真単語「やし」が記憶されているが、これは、ユーザーが「やし」と発声したのを音声特定部30が「やし」と変換し、「やし」が第1データベース90に記憶されていないためにユーザーにキーボード80で単語を入力してもらったところ、「やし」と入力されたことを意味する。
「重み」とは、その重みと対応づけられている特定単語に音声特定部30が変換した総回数に対する、その重みと対応づけられている真単語をユーザーが発声した回数の割合を意味する(単位はパーセント)。図4を例にすると特定単語「やし」と真単語「なし」と重み「80」とが対応づけて記憶されているが、これは、音声特定部30が「やし」と変換した総回数に対する、ユーザーが「なし」と発声した回数の割合が80%であることを意味している。また、重みとともに分数が記憶されているが(図4の重み欄のカッコ内に示されている)、これは、その重みと対応づけられている特定単語に音声特定部30が変換した総回数が分母であり、その重みと対応づけられている真単語をユーザーが発声した回数が分子である。図4を例にすると、特定単語「やし」と真単語「なし」に対応づけられている重みのカッコ内に16/20と記載されているが、これは、音声特定部30が特定単語「やし」と変換したのが20回あって、その20回のうちにユーザーが「なし」と発声したのが16回あったことを意味している。また、特定単語「あし」と真単語「なし」に対応づけられている重みのカッコ内に1/1と記載されているが、これは、音声特定部30が特定単語「あし」と変換したのは1回しかなく、それが「なし」に訂正されたこと(即ちユーザーが「なし」と発声したこと)を意味している。
【0017】
図1に示される音声合成部50は、制御部40から出力された文字データを電気信号に変換し、その電気信号化されたデータをスピーカ60に送る。これにより、スピーカ60から音声が出力される。
【0018】
次に、対話装置10が実行する処理について説明する。図5から図7には、対話装置10が実行する処理のフローチャートを示している。
ユーザーは、対話装置10を使用するのに先だって、キーボード80を用いて自分の名前を入力する。対話装置10は、ユーザーが入力したユーザー名を読取る(ステップS2)。ステップS2でユーザー名を読取ると、その読取ったユーザー名からユーザー名−ユーザーID記憶部110を検索してユーザーIDを特定する(ステップS4)。
続いて、対話装置10は、ユーザーに対して質問する(ステップS6)。この処理は、具体的には以下のようにして実行される。まず、制御部40は、第1データベース90に記憶されている複数の質問の中から一つの質問をランダムに選択する。そして、選択された質問の文字データを音声合成部50に送る。音声合成部50は、送られてくる文字データ(質問)を電気信号化してスピーカ60に送る。これにより、スピーカ60から質問が音声出力される。
【0019】
ユーザーに対して質問すると、その質問に対してのユーザーの答えを特定する(ステップS8)。この処理は、マイク20に入力されたユーザーの答えを音声特定部30が文字データに変換することによって実行される。音声特定部30は、特定した答え(変換された文字データ)を制御部40に送る。なお、ユーザーは、例えば「好きな果物は何ですか?」という質問に対して、「リンゴです」と答える場合もあれば、「私はリンゴが好きです」と答える場合もある。また、「リンゴ」と単語だけを答える場合もある。このステップS8では、制御部40は、答えとなる単語(上記の例ではリンゴ)の前後に付けられる語句(「私は」や「が好きです」や「です」等)を除去して答えとなる単語のみを特定する。
次に、特定した答えが第1データベース90に記憶されているか否かを判別する(ステップS10)。この処理は、ステップS6で選択された質問に対応づけて記憶されている答え群の中に、ステップS8で特定した答えがあるか否かを確認することによって実行される。例えば、質問「好きな果物は何ですか?」に対応づけて「梨」が記憶されているために、ステップS8で特定した答えが「なし」であった場合はステップS10でYESと判別される。これに対し、質問「好きな果物は何ですか?」に対応づけて「やし」は記憶されていないために、ステップS8で特定した答えが「やし」であった場合はステップS10でNOと判別される。
ステップS10でYESと判別されると、ステップS8で特定した答えに対応づけられた返答を出力する(ステップS12)。この処理は以下のようにして実行する。まず、ステップS8で特定した答えから第1データベース90を検索してその答えに対応づけられた返答を特定する。次いで、その特定した返答を音声合成部50に送る。音声合成部50が文字データの返答を電気信号に変換し、その電気信号化された返答をスピーカ60に送ることによって返答が音声出力される。
【0020】
図8には、対話装置10とユーザーとの会話例を示している。上記したステップS6,S8,S10,S12という流れで処理された場合は、図8のパターン1のようになる。パターン1では、「好きな果物は何ですか?」という質問をした場合に、ユーザーが「梨」と答えたところ、音声特定部30が「なし」と特定している。そして、「しゃりしゃり感がおいしいよね」と返答している。
【0021】
一方、ステップS10でNOと判別されると、図6のステップS20に進む。ステップS20では、ステップS8で特定した答えが、第2データベース100の特定単語として記憶されているか否かを判別する。この処理は、ステップS8で特定した答えから第2データベース100を検索することによって実行される。但し、この処理では、第2データベース100に記憶されている全ての特定単語を検索対象にするのではなく、ステップS4で特定されたユーザーIDに対応づけられた特定単語群の中にステップS8で特定した答えがあるか否かが判別される。例えば、ユーザーIDが「XXX1」であるとともにステップS8で特定された答えが「やし」だった場合は、ユーザーID「XXX1」に対応づけて特定単語「やし」が記憶されているために(図4参照)、ステップS20でYESと判別される。ステップS20でYESと判別されるとステップS22に進み、ステップS20でNOと判別されると図7のステップS40に進む。
ステップS22では、重みが最も大きい真単語を特定する。例えば、ユーザーIDが「XXX1」であるとともにステップS8で特定された答えが「やし」だった場合は、重みが最も大きい真単語「なし」を特定する。
ステップS22で真単語を特定すると、その真単語が第1データベース90に記憶されているか否かを判別する(ステップS24)。このステップS24でYESと判別された場合はステップS26に進み、NOと判別された場合はステップS34に進む。
【0022】
ステップS34では、「あなたの言葉がわかりません。質問を変更します。」と音声出力する。そして、ステップS6に戻って他の質問を出力する。即ち、これ以上対話することが不可能であるために他の質問に移るのである。
【0023】
ステップS26では、ステップS22で特定された真単語を発声したのか否かをユーザーに確認する。例えば、ステップS22で特定された真単語が「なし」であった場合は、「梨と言いましたか?」と音声出力する。この音声出力と同時に、ディスプレイ70の画面上に「はい又はいいえとお答え下さい」と表示する処理も実行される。この表示処理は、制御部40が表示用データをディスプレイ70に送ることによって行なわれる。
続いて、ユーザーが「はい」と発声したのか、あるいは「いいえ」と発声したのかを監視する(ステップS28)。この処理は、音声特定部30が「はい」又は「いいえ」と特定し、その「はい」又は「いいえ」を制御部40が入力することによって実行される。ユーザーが「はい」と発声した場合にはステップS30に進み。また、ユーザーが「いいえ」と発声した場合には図7のステップS40に進む。
ステップS30では、ステップS22で特定された真単語に対応する返答を音声出力する。例えば、ステップS22で特定された真単語が「なし」であった場合は、第1データベース90において「なし」に対応づけて記憶されている「しゃりしゃり感がおいしいよね」を出力する。
ステップS30の処理を終えると、続いて、第2データベース100の記憶内容を変更する処理を実行する(ステップS32)。例えば、特定単語が「やし」であって真単語「なし」が特定されてステップS30までの処理が実行された場合は、特定単語「やし」と真単語「なし」とに対応づけられている重みを大きくするとともに、特定単語「やし」と他の真単語(例えば「やし」や「やぎ」)とに対応づけられている重みを小さくする。図4を例にすると、特定単語「やし」と真単語「なし」とに対応づけられている重み「80(16/20)」を「81(17/21)」に変更する。そして、特定単語「やし」と真単語「やし」とに対応づけられている重み「15(3/20)」を「14(3/21)」に変更し、特定単語「やし」と真単語「やぎ」とに対応づけられている重み「5(1/20)」を「5(1/21)」に変更する。また、例えば、ステップS8で特定された単語が「あし」であってステップS22において真単語「なし」が特定されてステップS30までの処理が実行された場合は、重み「100(1/1)」を「100(2/2)」に変更する。
【0024】
上記したステップS6〜S10,S20〜S32という流れで処理された場合は、図8のパターン2のようになる。パターン2では、「好きな果物は何ですか?」という質問に対してユーザーが「梨」と答えたが、音声特定部30が誤って「やし」と特定している。この「やし」は第1データベース90にないが、第2データベース100に記憶されている。このとき、特定単語「なし」と真単語「なし」に対応づけられている重みが最大であるために、「梨とおっしゃいましたか?」とユーザーに尋ねている。ユーザーが「はい」と答えたので、「しゃりしゃり感がおいしいよね」と返答している。最後に、第2データベース100の重みを変更している。
【0025】
続いて、図7を参照して、ステップS40からの処理について説明する。ステップS40では、「話した言葉をキーボードに入力して下さい」と音声出力する。次いで、ユーザーがキーボード80に入力したか否かを監視する(ステップS42)。この処理は、ステップS40の音声出力から30秒経過するまでにキーボード80に入力されるとYESとし、30秒経過するまでにキーボード80に入力されなかったらNOとする。ここでYESと判別されるとステップS44に進み、NOと判別されるとステップS50に進む。ユーザーは、キーボード80に文字データを入力することによって、音声特定部30で誤って変換された文字データを訂正することができる。例えば、ユーザーIDXXX1に対応づけていずれの特定単語も記憶されていない場合に、ユーザーが「なし」と発声したにもかかわらずステップS8で「やし」と特定されると、ユーザーはキーボード80を用いて「なし」と入力することができる。これにより、「やし」が「なし」に訂正されることになる。
【0026】
ステップS50では、「あなたの言葉がわかりません。質問を変更します。」と音声出力する。この場合は、ステップS6(図5)に戻って他の質問を出力する。
一方、ステップS44では、キーボード入力された文字データが第1データベース90に記憶されているか否かを判別する。即ち、ステップS6で選択された質問に対応づけられた答え群の中に、ステップS42でキーボード入力された文字データがあるか否かを判別する。ここでYESと判別された場合はステップS46に進み、NOと判別された場合はステップS48に進む。
ステップS48では、「あなたの言葉がわかりません。質問を変更します。」と音声出力する。この場合は、ステップS6(図5)に戻って他の質問を出力する。ステップS46では、キーボード入力された言葉に対応した返答を出力する。ステップS46又はステップS48の処理を終えると、第2データベース100の記憶内容を変更する(ステップS52)。このステップS52で記憶内容がどのように変更されるのかは次で詳しく説明する。
【0027】
ステップS20でNOと判別されて、その後にステップS40,S42,S44,S46,S52という流れで処理された場合は、図8のパターン3のようになる。パターン3では、「好きな果物は何ですか?」という質問に対してユーザーが「梨」と答えたが、音声特定部30が誤って「やし」と特定している。特定された「やし」は、第1データベース90に記憶されていないとともに、特定単語「やし」として第2データベース100にも記憶されていない。キーボード入力を促すと「なし」と入力されている(即ち「やし」が「なし」に訂正されている)。そして、「しゃりしゃり感がおいしいよね」と返答している。この場合は、特定単語「やし」と真単語「なし」とを対応づけて第2データベース100に記憶する。この場合の重みは100(1/1)である。
また、ステップS20でNOと判別されて、その後にステップS40,S42,S44,S48,S52という流れで処理された場合は、図9のパターン4のようになる。パターン4では、「好きな果物は何ですか?」という質問に対してユーザーが「やし」と答えて音声特定部30が「やし」と特定している。特定された「やし」は、第1データベース90に記憶されていないとともに、特定単語「やし」として第2データベース100にも記憶されていない。キーボード入力を促すと「やし」とキーボード80に入力されている。そして、「あなたの言葉がわかりません。質問を変更します。」と音声出力している。この場合は、特定単語「やし」と真単語「やし」とを対応づけて第2データベース100に記憶する。この場合の重みは100(1/1)である。
また、ステップS28でNOと判別されて、その後にステップS40,S42,S44,S48,S52という流れで処理された場合は、図9のパターン5のようになる。パターン5では、「好きな果物は何ですか?」という質問に対してユーザーが「やし」と答えて音声特定部30が「やし」と特定している。この「やし」は第1データベース90に記憶されていないが、第2データベース100に記憶されている。特定単語「やし」と真単語「なし」に対応づけられている重みが最大であるために、「梨とおっしゃいましたか?」とユーザーに聞く。このときユーザーが「いいえ」と答えたためにキーボード入力を促すと、「やし」とキーボード80に入力された。そして、「あなたの言葉がわかりません。質問を変更します。」と音声出力している。この場合は、特定単語「やし」と対応づけられた全ての重みを変更する。図4を例にすると、特定単語「やし」と真単語「やし」に対応づけられた重み「15(3/20)」を「19(4/21)」に変更し、特定単語「やし」と真単語「なし」に対応づけられた重み「80(16/20)」を「76(16/21)」に変更し、特定単語「やし」と真単語「やぎ」に対応づけられた重み「5(1/20)」を「5(1/21)」に変更する。
【0028】
上記した本実施例に係る対話装置10によると、ユーザーが発声した言葉と異なる文字データに音声特定部30が誤って変換した場合でも、その誤りをカバーしてユーザーが発声した言葉を正確に特定できる。また、第2データベース100でユーザー毎に特定単語と真単語が記憶されているために、発音や声質等が異なる個々のユーザーに応じて真単語を特定できる。
【0029】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
上記した実施例では、ユーザーを特定する方法としてキーボード80で名前を入力する方法を採用していたが(ステップS2)、例えば、自分の名前をユーザーに発声してもらうことによってユーザーを特定することもできる。また、カメラを用いてユーザーを撮影することによってユーザーを特定することもできる。このカメラを用いる場合は、ユーザー名を登録する必要はなく、ユーザーの顔の特徴とユーザーIDとを対応づけて記憶すればよい。
上記した実施例では、ユーザーが特定単語を真単語に訂正する方法としてキーボード80に真単語を入力する方法を採用していたが、次のような方法を採用することもできる。例えば、ユーザーに真単語を書いてもらって、それをカメラ等で撮影して読取ることによって真単語に訂正することができる。また、ユーザーに再発声してもらうことによって真単語に訂正することもできる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【図1】実施例に係る対話装置の概略構成。
【図2】ユーザー名−ユーザーID記憶部の記憶内容の一例。
【図3】第1データベースの記憶内容の一例。
【図4】第2データベースの記憶内容の一例。
【図5】対話装置が実行する処理のフローチャート。
【図6】対話装置が実行する処理のフローチャート(図5の続き)。
【図7】対話装置が実行する処理のフローチャート(図6の続き)。
【図8】対話装置が実行する処理の一例(パターン1〜3)。
【図9】対話装置が実行する処理の一例(パターン4と5)。
【符号の説明】
10・・対話装置
20・・マイク
30・・音声特定部
40・・制御部
50・・音声合成部
60・・スピーカ
70・・ディスプレイ
80・・キーボード
90・・第1データベース
100・・第2データベース
110・・ユーザー名−ユーザーID記憶部
【発明の属する技術分野】本発明は、ヒトが発した音声を文字データに変換する技術に関する。
【0002】
【従来の技術】近年、ヒト(ユーザー)と対話できる装置やヒトが発した音声に応じて動作する装置(音声対応型ロボット)等が開発されている。これらの装置は、ヒトが発した音声を入力し、入力された音声を文字データに変換し、変換された文字データに応じて所定の処理を実行する。例えば対話装置であれば、変換された文字データに対応した返答を出力する処理を実行するものがある。また、音声対応型ロボットであれば、変換された文字データに対応した動作を実行するものがある。
上記した対話装置や音声対応型ロボット等は、ユーザーが発した音声を正確に文字データに変換する必要がある。特許文献1には、ユーザーが発した音声を文字データに変換するための一つの技術が開示されている。特許文献1の技術によると、ユーザーが音を区切りながらゆっくりと発声した言葉を文字データに変換することができる。
【0003】
【特許文献1】
特開2000−242295号公報
【0004】
【発明が解決しようとする課題】特許文献1の技術では、ユーザーが発声した各音を正確に文字データに変換できることを前提としている。しかしながら、実際は、ユーザーが発した音声に対応した文字データに変換されないことがある。例えば、ユーザーがXという言葉を発声したにもかかわらず、Yという文字データに変換されてしまうことがある。これは、声質や発音等には個人差があるために、入力された音声を文字データに変換する手法を全てのユーザーに対応できるように一般化するのは困難であることが一つの原因であると考えられる。
【0005】
本発明は、上記した実情に鑑みてなされたものであり、ユーザーが発した音声に対応した文字データに正確に変換できることが期待できる技術を提供することを目的とする。
【0006】
【課題を解決するための手段と作用と効果】上記課題を解決するために創作された請求項1の発明は、ユーザーが発した音声を文字データに変換する装置である。この文字データ変換装置は、音声を入力する手段と、入力された音声を文字データに変換する手段と、前記の変換手段で変換された文字データをユーザーが訂正できる訂正手段と、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する手段と、前記の変換手段で変換された文字データをキーとして前記の記憶手段を検索して「訂正された文字データ」を特定する手段とを備える。
請求項1の文字データ変換装置によると、ユーザーが発した音声が変換手段で誤った文字データに変換された場合に、その誤って変換された文字データを訂正手段を用いて訂正できる。この訂正方法としてはいかなる方法を採用してもよく、例えば、キーボードを用いてユーザーが文字データを入力することによって訂正してもよいし、ユーザーが再発声することによって訂正するようにしてもよい。例えば、ユーザーがXと発声したのに変換手段が誤ってYという文字データに変換した場合は、変換された文字データYをXにユーザーが訂正できる。このとき、XとYを対応づけた情報が記憶手段で記憶される。この情報が記憶されることにより、ユーザーが発声したXが変換手段で再びYと誤って変換されてしまった場合に、そのYをキーとして記憶手段を検索することによってXが特定できるようになる。本発明を用いると、ユーザーが発した音声と異なる文字データに変換手段が変換した場合でも、その誤りをカバーしてユーザーが発した音声に対応した文字データを特定できるようになる。
【0007】
ユーザーによって声質や発音等が異なるために、次のような事象が起こる可能性がある。例えば、ユーザーAがYと発声したのを変換手段がXという文字データに変換する一方で、ユーザーBがZと発声したのを変換手段がXという文字データに変換することがある。双方が訂正されると、記憶手段には、X(変換された文字データ)とY(訂正された文字データ)とが対応づけて記憶されるとともに、X(変換された文字データ)とZ(訂正された文字データ)とが対応づけて記憶される。この場合、ユーザーAがYと発声したのを変換手段がXという文字データに再度変換した場合に、Zが特定される可能性が生じてしまう。このような問題に対処するために、上記した文字データ変換装置を以下の構成にしてもよい。即ち、上記の文字データ変換装置に、ユーザーを特定するユーザー特定手段を付加する。この場合、前記の記憶手段は、ユーザー特定手段で特定されたユーザーと、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する。そして、前記の特定手段は、ユーザー特定手段で特定されたユーザーと前記の変換手段で変換された文字データをキーとして前記の記憶手段を検索して「訂正された文字データ」を特定する。
このような構成にすると、上記を例にすれば、ユーザーAとX(変換された文字データ)とY(訂正された文字データ)とを対応づけて記憶できるとともに、ユーザーBとX(変換された文字データ)とZ(訂正された文字データ)とを対応づけて記憶できる。この場合、ユーザーAがYと発声したのを変換手段がXという文字データに再度変換した場合に、ユーザーAとXをキーとして記憶手段が検索されてYが特定される。本発明によると、個々のユーザーが発声した音声に対応した文字データに正確に変換できるようになることが期待できる。
【0008】
前記の記憶手段は、前記の変換手段で変換された文字データに対応づけて複数の「訂正された文字データ」をそれぞれ重み付けして記憶可能であってもよい。この場合、前記の特定手段は、キーとした「前記の変換手段で変換された文字データ」に対応づけて複数の「訂正された文字データ」が記憶されている場合に、前記した重みが最大の「訂正された文字データ」を特定する。
上記した「重み」とは、例えば、その「訂正された文字データ」に対応づけられている「前記の変換手段で変換された文字データ」に変換手段が変換した総回数に対する、その「訂正された文字データ」をユーザーが発声した回数の割合を意味する。
以下の事象を例にして本発明を説明する。(1)ユーザーがXと発声したにもかかわらず変換手段がZに変換し、そのZをユーザーがXに訂正した。(2)ユーザーがXと発声したにもかかわらず変換手段が再びZに変換し、そのZから記憶手段が検索されてXが特定された。(3)ユーザーがYと発声したにもかかわらず変換手段がZに変換し、そのZをユーザーがYに訂正した。
上記の(1)〜(3)の事象が起こった場合は、記憶手段では、Z(変換された文字データ)とX(訂正された文字データ)と2/3(重み)とが対応づけて記憶され、Z(変換された文字データ)とY(訂正された文字データ)と1/3とが対応づけて記憶される。ここでの重みの分母は、変換手段がZに変換した総回数である。また、重みの分子はX又はYとユーザーが発声した回数である。この状態で、次の事象が起こったとする。(4)ユーザーがXと発声したにもかかわらず変換手段がZに変換した。この(4)の事象が起こると、特定手段はZをキーとして記憶手段を検索し、重みが大きいXを特定する。このように、本発明では、誤って変換される可能性の高い「訂正された文字データ」を選択するために、一つの文字データが複数の文字データに訂正された場合であってもうまく対応することができる。
【0009】
本発明は、ユーザーが発した音声に対応する返答を音声出力することによってユーザーと対話する装置に具現化することができる。この対話装置は、音声を入力する手段と、入力された音声を文字データに変換する手段と、前記の変換手段で変換された文字データをユーザーが訂正できる訂正手段と、前記の変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する第1記憶手段と、複数の文字データを記憶しているとともに、文字データ毎に返答を記憶している第2記憶手段と、前記の変換手段で変換された文字データが第2記憶手段に記憶されていない場合に、その「前記の変換手段で変換された文字データ」をキーとして前記の第1記憶手段を検索して「訂正された文字データ」を特定する手段と、前記の変換手段で変換された文字データ又は前記の特定手段で特定された「訂正された文字データ」が第2記憶手段に記憶されている場合に、前記の変換手段で変換された文字データ又は前記の特定手段で特定された「訂正された文字データ」に対応した返答を音声出力する手段とを備える。
この対話装置によると、ユーザーが発した音声とは異なる文字データに変換された場合でも、ユーザーが発した音声に対応した返答を出力できることが期待できる。
【0010】
また、本発明は、ユーザーが発した音声をコンピュータが文字データに変換する方法として定義することができる。この文字データ変換方法は、音声を入力する工程と、入力された音声を文字データに変換する工程と、前記の変換工程で変換された文字データをユーザーが訂正した場合に、その「前記の変換工程で変換された文字データ」と、その文字データから訂正された文字データとを対応づけて記憶する工程と、前記の変換工程で変換された文字データをキーとして前記の記憶工程で記憶された記憶内容を検索して「訂正された文字データ」を特定する工程とを備える。
この方法を用いると、ユーザーが発声した音声をコンピュータが正確に文字データに変換できるようになることが期待できる。
【0011】
また、本発明は、ユーザーが発した音声をコンピュータが文字データに変換するためのプログラムとして定義することもできる。このプログラムは、コンピュータに、以下の処理、即ち、音声を入力する処理と、入力された音声を文字データに変換する処理と、前記の変換処理で変換された文字データをユーザーが訂正した場合に、その「前記の変換処理で変換された文字データ」と、その文字データから訂正された文字データとを対応づけて記憶する処理と、前記の変換処理で変換された文字データをキーとして前記の記憶処理で記憶された記憶内容を検索して「訂正された文字データ」を特定する処理とを実行させる。
このプログラムを用いることによって、ユーザーが発声した音声をコンピュータが正確に文字データに変換できるようになることが期待できる。
【0012】
【発明の実施の形態】上記各請求項に記載の発明は、下記の形態で好適に実施することができる。
(形態1)文字データ変換装置は、ユーザーが発声した音声(言葉)を入力するマイクを有する。マイクは、入力された音声波を電気信号化する。上記の変換手段は、マイクで電気信号化された音声をテキスト形式の文字データに変換する。
(形態2)文字データ変換装置はキーボードを有する。ユーザーは、キーボードに文字を入力することによって、上記した変換手段で変換された文字データを訂正できる。
(形態3)上記した第2記憶手段は、ユーザーに対する質問を記憶している。さらに、その質問に対する複数の答えを記憶しており、答え毎に返答を記憶している。
(形態4)ユーザー特定手段は、キーボードを用いてユーザー名が入力されることによってユーザーを特定する。
【0013】
【実施例】(第1実施例) 図面を参照して、本発明の実施例を説明する。図1は、本実施例に係る対話装置(対話コンピュータ)10の概略構成を示したものである。この対話装置10は、ユーザーに対して質問し、その質問に対してユーザーが発声した答えを特定し、その特定された答えに対して返答する。
対話装置10は、マイク20と音声特定部30と制御部40と音声合成部50とスピーカ60とディスプレイ70とキーボード80と第1データベース90と第2データベース100とユーザー名−ユーザーID記憶部110等から構成される。
マイク20は、ユーザーが発声した言葉(音声波)を入力する。そして、入力された言葉を電気信号に変換して音声特定部30に送る。
音声特定部30は、電気信号化された言葉をテキスト形式の文字データに変換する。音声特定部30は、文字データを制御部40に送る。
制御部40には、音声特定部30と音声合成部50とディスプレイ70とキーボード80と第1データベース90と第2データベース100とユーザー名−ユーザーID記憶部110とが接続されている。制御部40は、音声特定部30から送られてくる文字データを入力する。そして、入力した文字データに基づいて返答を出力する処理を実行する。制御部40は、他にも、ディスプレイ70に情報に表示するための処理や、第2データベース100やユーザー名−ユーザーID記憶部110の記憶内容を変更する処理等も実行する。制御部40が実行する各処理については後で詳しく説明する。
【0014】
ディスプレイ70では種々の画像が表示される。表示される画像については後で説明する。ユーザーは、キーボード80を用いて文字データを入力することができる。キーボード80に入力された文字データは制御部40に送られる。
ユーザー名−ユーザーID記憶部110には、ユーザーの名前と、そのユーザーを特定するIDとが対応づけて記憶されている。図2に、ユーザー名−ユーザーID記憶部110の記憶内容の一例を示す。対話装置10のユーザーは、自分の名前を対話装置10に予め登録しておく。ユーザー名の登録は、キーボード80を用いて名前を入力することによって行なう。入力されたユーザー名は制御部40に送られる。制御部40は、ユーザー名が送られてくるとユーザーIDを取得し、そのユーザー名とユーザーIDとを対応づけてユーザー名−ユーザーID記憶部110で記憶する。
【0015】
第1データベース90には、ユーザーに対しての質問と、その質問の答えとして想定される答え群と、各答えに対しての返答とが対応づけて記憶されている。図3には、第1データベース90の記憶内容の一例を示している。例えば、質問「好きな果物は何ですか」に対応づけて答え(リンゴ、梨、みかん等)が記憶されている。さらに、ユーザーの答え毎に返答が記憶されている。例えば、リンゴの場合であれば、「リンゴはおいしいよね」という返答が記憶されている。
【0016】
図4に、第2データベース100の記憶内容の一例を示す。第2データベース100は、ユーザーIDと特定単語と真単語と重みとが対応づけて記憶されている。
「特定単語」とは、音声特定部30で特定された単語(変換された文字データ)であって、第1データベース90に記憶されていないものを意味する。例えば、ユーザーが発声した単語と異なる単語に変換された場合に、その変換された単語が特定単語となることがある。なお、本明細書での「単語」は、一つの文字又は文字の集まりを意味し、一般的にいわれる単語の概念よりも広い概念である。また、詳しくは後述するが、ユーザーは、音声特定部30によってユーザーが発声した単語と異なる単語に変換された場合に、その誤って変換された単語を訂正することができる(キーボード80を用いて単語を入力することができる)。
「真単語」とは、ユーザーがキーボード80を用いて入力した単語を意味する。例えば、ユーザーが発声した単語と異なる文字データに音声特定部30が変換した単語からユーザーによって訂正された単語(簡単にいうと、音声特定部30が誤って特定した単語から訂正された単語)を意味する。図4を例にすると、特定単語「やし」に対応づけて真単語「なし」が記憶されているが、これは、ユーザーが「なし」と発声したにもかかわらず音声特定部30が「やし」と変換し、その「やし」が「なし」に訂正されたことを意味している。また、特定単語「やし」に対応づけて真単語「やし」が記憶されているが、これは、ユーザーが「やし」と発声したのを音声特定部30が「やし」と変換し、「やし」が第1データベース90に記憶されていないためにユーザーにキーボード80で単語を入力してもらったところ、「やし」と入力されたことを意味する。
「重み」とは、その重みと対応づけられている特定単語に音声特定部30が変換した総回数に対する、その重みと対応づけられている真単語をユーザーが発声した回数の割合を意味する(単位はパーセント)。図4を例にすると特定単語「やし」と真単語「なし」と重み「80」とが対応づけて記憶されているが、これは、音声特定部30が「やし」と変換した総回数に対する、ユーザーが「なし」と発声した回数の割合が80%であることを意味している。また、重みとともに分数が記憶されているが(図4の重み欄のカッコ内に示されている)、これは、その重みと対応づけられている特定単語に音声特定部30が変換した総回数が分母であり、その重みと対応づけられている真単語をユーザーが発声した回数が分子である。図4を例にすると、特定単語「やし」と真単語「なし」に対応づけられている重みのカッコ内に16/20と記載されているが、これは、音声特定部30が特定単語「やし」と変換したのが20回あって、その20回のうちにユーザーが「なし」と発声したのが16回あったことを意味している。また、特定単語「あし」と真単語「なし」に対応づけられている重みのカッコ内に1/1と記載されているが、これは、音声特定部30が特定単語「あし」と変換したのは1回しかなく、それが「なし」に訂正されたこと(即ちユーザーが「なし」と発声したこと)を意味している。
【0017】
図1に示される音声合成部50は、制御部40から出力された文字データを電気信号に変換し、その電気信号化されたデータをスピーカ60に送る。これにより、スピーカ60から音声が出力される。
【0018】
次に、対話装置10が実行する処理について説明する。図5から図7には、対話装置10が実行する処理のフローチャートを示している。
ユーザーは、対話装置10を使用するのに先だって、キーボード80を用いて自分の名前を入力する。対話装置10は、ユーザーが入力したユーザー名を読取る(ステップS2)。ステップS2でユーザー名を読取ると、その読取ったユーザー名からユーザー名−ユーザーID記憶部110を検索してユーザーIDを特定する(ステップS4)。
続いて、対話装置10は、ユーザーに対して質問する(ステップS6)。この処理は、具体的には以下のようにして実行される。まず、制御部40は、第1データベース90に記憶されている複数の質問の中から一つの質問をランダムに選択する。そして、選択された質問の文字データを音声合成部50に送る。音声合成部50は、送られてくる文字データ(質問)を電気信号化してスピーカ60に送る。これにより、スピーカ60から質問が音声出力される。
【0019】
ユーザーに対して質問すると、その質問に対してのユーザーの答えを特定する(ステップS8)。この処理は、マイク20に入力されたユーザーの答えを音声特定部30が文字データに変換することによって実行される。音声特定部30は、特定した答え(変換された文字データ)を制御部40に送る。なお、ユーザーは、例えば「好きな果物は何ですか?」という質問に対して、「リンゴです」と答える場合もあれば、「私はリンゴが好きです」と答える場合もある。また、「リンゴ」と単語だけを答える場合もある。このステップS8では、制御部40は、答えとなる単語(上記の例ではリンゴ)の前後に付けられる語句(「私は」や「が好きです」や「です」等)を除去して答えとなる単語のみを特定する。
次に、特定した答えが第1データベース90に記憶されているか否かを判別する(ステップS10)。この処理は、ステップS6で選択された質問に対応づけて記憶されている答え群の中に、ステップS8で特定した答えがあるか否かを確認することによって実行される。例えば、質問「好きな果物は何ですか?」に対応づけて「梨」が記憶されているために、ステップS8で特定した答えが「なし」であった場合はステップS10でYESと判別される。これに対し、質問「好きな果物は何ですか?」に対応づけて「やし」は記憶されていないために、ステップS8で特定した答えが「やし」であった場合はステップS10でNOと判別される。
ステップS10でYESと判別されると、ステップS8で特定した答えに対応づけられた返答を出力する(ステップS12)。この処理は以下のようにして実行する。まず、ステップS8で特定した答えから第1データベース90を検索してその答えに対応づけられた返答を特定する。次いで、その特定した返答を音声合成部50に送る。音声合成部50が文字データの返答を電気信号に変換し、その電気信号化された返答をスピーカ60に送ることによって返答が音声出力される。
【0020】
図8には、対話装置10とユーザーとの会話例を示している。上記したステップS6,S8,S10,S12という流れで処理された場合は、図8のパターン1のようになる。パターン1では、「好きな果物は何ですか?」という質問をした場合に、ユーザーが「梨」と答えたところ、音声特定部30が「なし」と特定している。そして、「しゃりしゃり感がおいしいよね」と返答している。
【0021】
一方、ステップS10でNOと判別されると、図6のステップS20に進む。ステップS20では、ステップS8で特定した答えが、第2データベース100の特定単語として記憶されているか否かを判別する。この処理は、ステップS8で特定した答えから第2データベース100を検索することによって実行される。但し、この処理では、第2データベース100に記憶されている全ての特定単語を検索対象にするのではなく、ステップS4で特定されたユーザーIDに対応づけられた特定単語群の中にステップS8で特定した答えがあるか否かが判別される。例えば、ユーザーIDが「XXX1」であるとともにステップS8で特定された答えが「やし」だった場合は、ユーザーID「XXX1」に対応づけて特定単語「やし」が記憶されているために(図4参照)、ステップS20でYESと判別される。ステップS20でYESと判別されるとステップS22に進み、ステップS20でNOと判別されると図7のステップS40に進む。
ステップS22では、重みが最も大きい真単語を特定する。例えば、ユーザーIDが「XXX1」であるとともにステップS8で特定された答えが「やし」だった場合は、重みが最も大きい真単語「なし」を特定する。
ステップS22で真単語を特定すると、その真単語が第1データベース90に記憶されているか否かを判別する(ステップS24)。このステップS24でYESと判別された場合はステップS26に進み、NOと判別された場合はステップS34に進む。
【0022】
ステップS34では、「あなたの言葉がわかりません。質問を変更します。」と音声出力する。そして、ステップS6に戻って他の質問を出力する。即ち、これ以上対話することが不可能であるために他の質問に移るのである。
【0023】
ステップS26では、ステップS22で特定された真単語を発声したのか否かをユーザーに確認する。例えば、ステップS22で特定された真単語が「なし」であった場合は、「梨と言いましたか?」と音声出力する。この音声出力と同時に、ディスプレイ70の画面上に「はい又はいいえとお答え下さい」と表示する処理も実行される。この表示処理は、制御部40が表示用データをディスプレイ70に送ることによって行なわれる。
続いて、ユーザーが「はい」と発声したのか、あるいは「いいえ」と発声したのかを監視する(ステップS28)。この処理は、音声特定部30が「はい」又は「いいえ」と特定し、その「はい」又は「いいえ」を制御部40が入力することによって実行される。ユーザーが「はい」と発声した場合にはステップS30に進み。また、ユーザーが「いいえ」と発声した場合には図7のステップS40に進む。
ステップS30では、ステップS22で特定された真単語に対応する返答を音声出力する。例えば、ステップS22で特定された真単語が「なし」であった場合は、第1データベース90において「なし」に対応づけて記憶されている「しゃりしゃり感がおいしいよね」を出力する。
ステップS30の処理を終えると、続いて、第2データベース100の記憶内容を変更する処理を実行する(ステップS32)。例えば、特定単語が「やし」であって真単語「なし」が特定されてステップS30までの処理が実行された場合は、特定単語「やし」と真単語「なし」とに対応づけられている重みを大きくするとともに、特定単語「やし」と他の真単語(例えば「やし」や「やぎ」)とに対応づけられている重みを小さくする。図4を例にすると、特定単語「やし」と真単語「なし」とに対応づけられている重み「80(16/20)」を「81(17/21)」に変更する。そして、特定単語「やし」と真単語「やし」とに対応づけられている重み「15(3/20)」を「14(3/21)」に変更し、特定単語「やし」と真単語「やぎ」とに対応づけられている重み「5(1/20)」を「5(1/21)」に変更する。また、例えば、ステップS8で特定された単語が「あし」であってステップS22において真単語「なし」が特定されてステップS30までの処理が実行された場合は、重み「100(1/1)」を「100(2/2)」に変更する。
【0024】
上記したステップS6〜S10,S20〜S32という流れで処理された場合は、図8のパターン2のようになる。パターン2では、「好きな果物は何ですか?」という質問に対してユーザーが「梨」と答えたが、音声特定部30が誤って「やし」と特定している。この「やし」は第1データベース90にないが、第2データベース100に記憶されている。このとき、特定単語「なし」と真単語「なし」に対応づけられている重みが最大であるために、「梨とおっしゃいましたか?」とユーザーに尋ねている。ユーザーが「はい」と答えたので、「しゃりしゃり感がおいしいよね」と返答している。最後に、第2データベース100の重みを変更している。
【0025】
続いて、図7を参照して、ステップS40からの処理について説明する。ステップS40では、「話した言葉をキーボードに入力して下さい」と音声出力する。次いで、ユーザーがキーボード80に入力したか否かを監視する(ステップS42)。この処理は、ステップS40の音声出力から30秒経過するまでにキーボード80に入力されるとYESとし、30秒経過するまでにキーボード80に入力されなかったらNOとする。ここでYESと判別されるとステップS44に進み、NOと判別されるとステップS50に進む。ユーザーは、キーボード80に文字データを入力することによって、音声特定部30で誤って変換された文字データを訂正することができる。例えば、ユーザーIDXXX1に対応づけていずれの特定単語も記憶されていない場合に、ユーザーが「なし」と発声したにもかかわらずステップS8で「やし」と特定されると、ユーザーはキーボード80を用いて「なし」と入力することができる。これにより、「やし」が「なし」に訂正されることになる。
【0026】
ステップS50では、「あなたの言葉がわかりません。質問を変更します。」と音声出力する。この場合は、ステップS6(図5)に戻って他の質問を出力する。
一方、ステップS44では、キーボード入力された文字データが第1データベース90に記憶されているか否かを判別する。即ち、ステップS6で選択された質問に対応づけられた答え群の中に、ステップS42でキーボード入力された文字データがあるか否かを判別する。ここでYESと判別された場合はステップS46に進み、NOと判別された場合はステップS48に進む。
ステップS48では、「あなたの言葉がわかりません。質問を変更します。」と音声出力する。この場合は、ステップS6(図5)に戻って他の質問を出力する。ステップS46では、キーボード入力された言葉に対応した返答を出力する。ステップS46又はステップS48の処理を終えると、第2データベース100の記憶内容を変更する(ステップS52)。このステップS52で記憶内容がどのように変更されるのかは次で詳しく説明する。
【0027】
ステップS20でNOと判別されて、その後にステップS40,S42,S44,S46,S52という流れで処理された場合は、図8のパターン3のようになる。パターン3では、「好きな果物は何ですか?」という質問に対してユーザーが「梨」と答えたが、音声特定部30が誤って「やし」と特定している。特定された「やし」は、第1データベース90に記憶されていないとともに、特定単語「やし」として第2データベース100にも記憶されていない。キーボード入力を促すと「なし」と入力されている(即ち「やし」が「なし」に訂正されている)。そして、「しゃりしゃり感がおいしいよね」と返答している。この場合は、特定単語「やし」と真単語「なし」とを対応づけて第2データベース100に記憶する。この場合の重みは100(1/1)である。
また、ステップS20でNOと判別されて、その後にステップS40,S42,S44,S48,S52という流れで処理された場合は、図9のパターン4のようになる。パターン4では、「好きな果物は何ですか?」という質問に対してユーザーが「やし」と答えて音声特定部30が「やし」と特定している。特定された「やし」は、第1データベース90に記憶されていないとともに、特定単語「やし」として第2データベース100にも記憶されていない。キーボード入力を促すと「やし」とキーボード80に入力されている。そして、「あなたの言葉がわかりません。質問を変更します。」と音声出力している。この場合は、特定単語「やし」と真単語「やし」とを対応づけて第2データベース100に記憶する。この場合の重みは100(1/1)である。
また、ステップS28でNOと判別されて、その後にステップS40,S42,S44,S48,S52という流れで処理された場合は、図9のパターン5のようになる。パターン5では、「好きな果物は何ですか?」という質問に対してユーザーが「やし」と答えて音声特定部30が「やし」と特定している。この「やし」は第1データベース90に記憶されていないが、第2データベース100に記憶されている。特定単語「やし」と真単語「なし」に対応づけられている重みが最大であるために、「梨とおっしゃいましたか?」とユーザーに聞く。このときユーザーが「いいえ」と答えたためにキーボード入力を促すと、「やし」とキーボード80に入力された。そして、「あなたの言葉がわかりません。質問を変更します。」と音声出力している。この場合は、特定単語「やし」と対応づけられた全ての重みを変更する。図4を例にすると、特定単語「やし」と真単語「やし」に対応づけられた重み「15(3/20)」を「19(4/21)」に変更し、特定単語「やし」と真単語「なし」に対応づけられた重み「80(16/20)」を「76(16/21)」に変更し、特定単語「やし」と真単語「やぎ」に対応づけられた重み「5(1/20)」を「5(1/21)」に変更する。
【0028】
上記した本実施例に係る対話装置10によると、ユーザーが発声した言葉と異なる文字データに音声特定部30が誤って変換した場合でも、その誤りをカバーしてユーザーが発声した言葉を正確に特定できる。また、第2データベース100でユーザー毎に特定単語と真単語が記憶されているために、発音や声質等が異なる個々のユーザーに応じて真単語を特定できる。
【0029】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
上記した実施例では、ユーザーを特定する方法としてキーボード80で名前を入力する方法を採用していたが(ステップS2)、例えば、自分の名前をユーザーに発声してもらうことによってユーザーを特定することもできる。また、カメラを用いてユーザーを撮影することによってユーザーを特定することもできる。このカメラを用いる場合は、ユーザー名を登録する必要はなく、ユーザーの顔の特徴とユーザーIDとを対応づけて記憶すればよい。
上記した実施例では、ユーザーが特定単語を真単語に訂正する方法としてキーボード80に真単語を入力する方法を採用していたが、次のような方法を採用することもできる。例えば、ユーザーに真単語を書いてもらって、それをカメラ等で撮影して読取ることによって真単語に訂正することができる。また、ユーザーに再発声してもらうことによって真単語に訂正することもできる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【図1】実施例に係る対話装置の概略構成。
【図2】ユーザー名−ユーザーID記憶部の記憶内容の一例。
【図3】第1データベースの記憶内容の一例。
【図4】第2データベースの記憶内容の一例。
【図5】対話装置が実行する処理のフローチャート。
【図6】対話装置が実行する処理のフローチャート(図5の続き)。
【図7】対話装置が実行する処理のフローチャート(図6の続き)。
【図8】対話装置が実行する処理の一例(パターン1〜3)。
【図9】対話装置が実行する処理の一例(パターン4と5)。
【符号の説明】
10・・対話装置
20・・マイク
30・・音声特定部
40・・制御部
50・・音声合成部
60・・スピーカ
70・・ディスプレイ
80・・キーボード
90・・第1データベース
100・・第2データベース
110・・ユーザー名−ユーザーID記憶部
Claims (6)
- ユーザーが発した音声を文字データに変換する装置であり、
音声を入力する手段と、
入力された音声を文字データに変換する手段と、
前記変換手段で変換された文字データをユーザーが訂正できる訂正手段と、
前記変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する手段と、
前記変換手段で変換された文字データをキーとして前記記憶手段を検索して「訂正された文字データ」を特定する手段とを備える文字データ変換装置。 - ユーザーを特定するユーザー特定手段を備える請求項1の文字データ変換装置であり、
前記記憶手段は、ユーザー特定手段で特定されたユーザーと、前記変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶し、
前記特定手段は、ユーザー特定手段で特定されたユーザーと前記変換手段で変換された文字データをキーとして前記記憶手段を検索して「訂正された文字データ」を特定することを特徴とする文字データ変換装置。 - 前記記憶手段は、前記変換手段で変換された文字データに対応づけて複数の「訂正された文字データ」をそれぞれ重み付けして記憶可能であり、
前記特定手段は、キーとした「前記変換手段で変換された文字データ」に対応づけて複数の「訂正された文字データ」が記憶されている場合に、前記重みが最大の「訂正された文字データ」を特定することを特徴とする請求項1又は2の文字データ変換装置。 - ユーザーが発した音声に対応する返答を音声出力することによってユーザーと対話する装置であり、
音声を入力する手段と、
入力された音声を文字データに変換する手段と、
前記変換手段で変換された文字データをユーザーが訂正できる訂正手段と、
前記変換手段で変換された文字データと、その文字データから訂正された文字データとを対応づけて記憶する第1記憶手段と、
複数の文字データを記憶しているとともに、文字データ毎に返答を記憶している第2記憶手段と、
前記変換手段で変換された文字データが第2記憶手段に記憶されていない場合に、その「前記変換手段で変換された文字データ」をキーとして前記第1記憶手段を検索して「訂正された文字データ」を特定する手段と、
前記変換手段で変換された文字データ又は前記特定手段で特定された「訂正された文字データ」が第2記憶手段に記憶されている場合に、前記変換手段で変換された文字データ又は前記特定手段で特定された「訂正された文字データ」に対応した返答を音声出力する手段とを備える対話装置。 - ユーザーが発した音声をコンピュータが文字データに変換する方法であり、
音声を入力する工程と、
入力された音声を文字データに変換する工程と、
前記変換工程で変換された文字データをユーザーが訂正した場合に、その「前記変換工程で変換された文字データ」と、その文字データから訂正された文字データとを対応づけて記憶する工程と、
前記変換工程で変換された文字データをキーとして前記記憶工程で記憶された記憶内容を検索して「訂正された文字データ」を特定する工程とを備える文字データ変換方法。 - ユーザーが発した音声をコンピュータが文字データに変換するためのプログラムであり、
コンピュータに、以下の処理、即ち、
音声を入力する処理と、
入力された音声を文字データに変換する処理と、
前記変換処理で変換された文字データをユーザーが訂正した場合に、その「前記変換処理で変換された文字データ」と、その文字データから訂正された文字データとを対応づけて記憶する処理と、
前記変換処理で変換された文字データをキーとして前記記憶処理で記憶された記憶内容を検索して「訂正された文字データ」を特定する処理と
を実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003138606A JP2004341293A (ja) | 2003-05-16 | 2003-05-16 | 音声を文字データに変換する装置と方法とそのためのプログラムと対話装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003138606A JP2004341293A (ja) | 2003-05-16 | 2003-05-16 | 音声を文字データに変換する装置と方法とそのためのプログラムと対話装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004341293A true JP2004341293A (ja) | 2004-12-02 |
Family
ID=33527928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003138606A Pending JP2004341293A (ja) | 2003-05-16 | 2003-05-16 | 音声を文字データに変換する装置と方法とそのためのプログラムと対話装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004341293A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008158510A (ja) * | 2006-11-30 | 2008-07-10 | National Institute Of Advanced Industrial & Technology | 音声認識システム及び音声認識システム用プログラム |
WO2008150003A1 (ja) * | 2007-06-06 | 2008-12-11 | Nec Corporation | キーワード抽出モデル学習システム、方法およびプログラム |
CN110706707A (zh) * | 2019-11-13 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 用于语音交互的方法、装置、设备和计算机可读存储介质 |
-
2003
- 2003-05-16 JP JP2003138606A patent/JP2004341293A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008158510A (ja) * | 2006-11-30 | 2008-07-10 | National Institute Of Advanced Industrial & Technology | 音声認識システム及び音声認識システム用プログラム |
US8401847B2 (en) | 2006-11-30 | 2013-03-19 | National Institute Of Advanced Industrial Science And Technology | Speech recognition system and program therefor |
WO2008150003A1 (ja) * | 2007-06-06 | 2008-12-11 | Nec Corporation | キーワード抽出モデル学習システム、方法およびプログラム |
JP5360414B2 (ja) * | 2007-06-06 | 2013-12-04 | 日本電気株式会社 | キーワード抽出モデル学習システム、方法およびプログラム |
CN110706707A (zh) * | 2019-11-13 | 2020-01-17 | 百度在线网络技术(北京)有限公司 | 用于语音交互的方法、装置、设备和计算机可读存储介质 |
US11393490B2 (en) | 2019-11-13 | 2022-07-19 | Baidu Online Network Technology (Beijing) Co., Ltd. | Method, apparatus, device and computer-readable storage medium for voice interaction |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11887590B2 (en) | Voice enablement and disablement of speech processing functionality | |
US10339166B1 (en) | Systems and methods for providing natural responses to commands | |
JP3968133B2 (ja) | 音声認識対話処理方法および音声認識対話装置 | |
US6321196B1 (en) | Phonetic spelling for speech recognition | |
JP3662780B2 (ja) | 自然言語を用いた対話システム | |
JP3282075B2 (ja) | 連続音声認識において句読点を自動的に生成する装置および方法 | |
CN104115221B (zh) | 基于文本到语音转换以及语义的音频人类交互证明 | |
US20020123894A1 (en) | Processing speech recognition errors in an embedded speech recognition system | |
US8909525B2 (en) | Interactive voice recognition electronic device and method | |
JP4729902B2 (ja) | 音声対話システム | |
KR101819459B1 (ko) | 음성 인식 오류 수정을 지원하는 음성 인식 시스템 및 장치 | |
US20060020471A1 (en) | Method and apparatus for robustly locating user barge-ins in voice-activated command systems | |
JP6715943B2 (ja) | 対話装置、対話装置の制御方法、および制御プログラム | |
CN109326284A (zh) | 语音搜索的方法、装置和存储介质 | |
US20050071170A1 (en) | Dissection of utterances into commands and voice data | |
US6952674B2 (en) | Selecting an acoustic model in a speech recognition system | |
JP6166831B1 (ja) | 単語学習支援装置、単語学習支援プログラム、単語学習支援方法 | |
JP2004341293A (ja) | 音声を文字データに変換する装置と方法とそのためのプログラムと対話装置 | |
US6662157B1 (en) | Speech recognition system for database access through the use of data domain overloading of grammars | |
JP6306447B2 (ja) | 複数の異なる対話制御部を同時に用いて応答文を再生する端末、プログラム及びシステム | |
JP2017021245A (ja) | 語学学習支援装置、語学学習支援方法および語学学習支援プログラム | |
JP3340163B2 (ja) | 音声認識装置 | |
JP4042435B2 (ja) | 音声自動質問応答装置 | |
JP3179370B2 (ja) | おしゃべりオウム発声装置 | |
JP2005241767A (ja) | 音声認識装置 |