以下、本発明の実施形態を図面を参照して説明する。
図1は、本発明の音声認識システムの例を示すブロック図である。以下、説明を簡単にするために、音声認識システム1が、可搬型端末である場合を例にして説明する。ただし、後述するように、音声認識システム1は、可搬型端末とサーバとを備える構成であってもよい。図1に示す音声認識システム1は可搬型端末であり、以下、単に端末1と記す。
端末1は、質問項目セット記憶部2と、質問項目セット選択部3と、スピーカ4と、音声出力制御部5と、マイクロホン6と、音声認識部7と、回答記録部9と、レコード記憶部10と、メモリ11とを備える。
本実施形態では、端末1が、音声入力された調理に関する情報のレコードを記憶する場合を例にして説明する。複数のデータ項目を含む1件の情報の単位をレコードと称する。レコード内には、音声入力された担当者の情報(具体的には、担当者名)や場所の情報が含まれ、さらに、場所に基づいて選択された質問項目に応じて音声入力された種々の回答が含まれる。また、担当者とは、端末1のユーザであり、音声によって情報を入力する者である。本実施形態では、調理場で端末1を使用する調理師等が担当者である場合を例にして説明する。また、本実施形態では、場所とは、例えば、フライヤ、食器洗い場、冷蔵庫等の調理に関連する場所である。
レコード記憶部10は、レコードを記憶する記憶装置である。レコード記憶部10は、個々のレコードを記憶する。図2は、レコード記憶部10に記憶されるレコードの例を示す模式図である。図2に示す例では、1つのレコード内に「担当者」、「場所」、「食材」、「温度1」、「温度2」、「温度3」という項目が含まれる場合を例示している。また、図2に示すように、個々のレコード内に、レコードを識別するための「レコード番号」が含まれていてもよい。また、図2に示すように、レコード内には、「打切りフラグ」という項目も含まれる。図2に例示する項目のうち、「担当者」、「場所」、「食材」、「温度1」、「温度2」、「温度3」の各項目の内容は、端末1が音声出力した質問項目に応じて担当者が発話した回答に基づいて記録される。
図2では、担当者の回答に基づいて記録される項目のうち、「担当者」および「場所」以外の項目として、「食材」、「温度1」、「温度2」、「温度3」という項目を例示している。これらの項目は、場所に応じて切り替わる。図2に示す例では、「フライヤ1」という場所に応じて、端末1が「食材」、「温度1」、「温度2」、「温度3」という項目を選択した場合を例示している。例えば、音声入力された場所の項目が「食器洗い場」であれば、端末1は、「塩素濃度判定結果」という項目を選択してもよい。
なお、ここでは、フライヤの場所が複数あり、その各場所を「フライヤ1」等のように番号で区別しているものとする。このように、同様の場所が複数存在する場合、それらの場所を番号で区別してもよい。
「打切りフラグ」の項目は、レコードの記録途中でレコードの記録が打切られたか、あるいは、1つのレコードが最後まで正常に記録されたかを示す。本実施形態では、打切りフラグの値が“1”であれば、途中でレコードの記録が打切られたことを意味し、打切りフラグの値が“0”であれば、1つのレコードが最後まで正常に記録されたことを意味する。
端末1は、ユーザの音声に対する音声認識の結果、特定の質問項目とその回答との組み合わせを得た場合に、記録中のレコードに対する記録を打切る。このように、レコードの記録の打切りの契機となる質問項目を、以下、特定質問項目と記す。本実施形態では、「担当者に関する質問項目」と「場所に関する質問項目」とが特定質問項目に該当する。例えば、「担当者は山田」という音声認識結果や、「場所は冷蔵庫」という音声認識結果が得られた場合、端末1は、記録中のレコードの「打切りフラグ」の値として“1”を記録し、そのレコードの記録を打切る。なお、「担当者は山田」という音声認識結果において、「担当者」が特定質問項目に該当し、「山田」がその回答に該当する。同様に、「場所は冷蔵庫」という音声認識結果において、「場所」が特定質問項目に該当し、「冷蔵庫」がその回答に該当する。
端末1は、レコードを記録する場合、「担当者に関する質問項目」および「場所に関する質問項目」を先に音声出力し、その後、場所に応じた各質問項目を音声出力する。そして、端末1は、音声出力した「担当者に関する質問項目」および「場所に関する質問項目」に応じて担当者が「田中」、「フライヤ1」等の回答のみを発話し、その音声認識結果を得た場合には、レコードの記録を打切りとするのではなく、それらの音声認識結果をメモリ11に記憶させる。そして、端末1は、場所に応じた各質問項目のうち、最初の質問項目に対する回答の音声認識結果が得られたときに、この最初の質問項目に対する回答の音声認識結果と、既に得られている担当者に関する回答の音声認識結果、場所に関する回答の音声認識結果とを含む1つのレコードを記憶し、その後、順次、その他の回答をこのレコード内に追加していく。この後、音声認識結果として、特定質問項目とその回答との組み合わせ(例えば、「担当者は山田」、「場所は冷蔵庫」等)が得られた時に、端末1は、記録中のレコードの記録を打切る。
担当者は、回答の記録を意図している場合には、例えば、「田中」、「フライヤ1」、「フライドポテト」等の回答のみを発話すればよい。一方、レコードの記録の打切りを意図している場合には、担当者は、「担当者は山田」、「場所は冷蔵庫」等のように、特定質問項目と回答との組み合わせを発話すればよい。
なお、レコードの記録の打切りの契機とならない質問項目を、以下、「通常質問項目」と記す。場所に関する回答に応じて選択される質問項目の集合(以下、質問項目セットと記す。)に属する個々の質問は、通常質問項目に該当する。例えば、図2に例示する「食材」、「温度1」、「温度2」、「温度3」は、いずれも通常質問項目である。
質問項目セット記憶部2は、場所毎に予め定められた各質問項目セットを記憶する記憶装置である。図3は、質問項目セット記憶部2に記憶される質問項目セットの例を示す説明図である。図3に示すように、場所と質問項目セットとを対応付けた情報が質問項目セット記憶部2に予め記憶される。この情報は、場所に関する回答が得られた場合に、その回答に応じて選択される質問項目の集合(質問項目セット)を表している。例えば、図3に例示する「フライヤ1」に対応する質問項目セットには「食材」、「温度1」、「温度2」および「温度3」が含まれる。このことは、場所に関する回答が「フライヤ1」である場合には、質問項目として「食材」、「温度1」、「温度2」および「温度3」が選択されることを意味する。
また、質問項目セットに含まれる質問項目は1つであってもよい。例えば、図3に例示する「食器洗い場」に対応する質問項目セットには、1つの質問項目「塩素濃度判定結果」のみが含まれている。なお、「塩素濃度判定結果」は、水の塩素濃度が正常な範囲内か否かを、例えば、専用の試験紙等によって判定した結果を意味する。
また、質問項目の名称が共通であっても、場所によって、意味が異なっていてもよい。例えば、「フライヤ1」に対応する「温度1」、「温度2」、「温度3」がそれぞれ、フライヤで調理されコンベアで搬送される食材のうち、コンベア上の先頭部、中央部、後尾部に存在する食材の中心温度を意味していてもよい。そして、図3に例示する「冷蔵庫」に対応する「温度1」、「温度2」、「温度3」が、過去所定期間における最高温度、最低温度、および現在の温度を意味していてもよい。音声入力を行う担当者は、共通の名称を有する質問項目の意味が場所毎にどのように異なっているかを把握しておけばよい。
質問項目セット選択部3は、担当者が場所に関する回答を発話し、その音声認識結果が得られた場合、その音声認識結果が示す場所に対応する質問項目セットを、質問項目セット記憶部2に記憶されている質問項目セットの中から選択し、読み込む。
音声出力制御部5は、スピーカ4を介して、「担当者に関する質問項目」および「場所に関する質問項目」を音声出力する。その「場所に関する質問項目」の回答を担当者が発話し、その音声認識結果が得られた結果、上記のように質問項目セット選択部3が質問項目セットを選択したとする。すると、音声出力制御部5は、その質問項目セットに含まれる質問項目も、順次、スピーカ4を介して音声出力する。
また、音声出力制御部5は、音声出力した質問項目に対する回答が発話され、音声認識部7がその音声に対して音声認識を行ったときに、質問項目および回答の組み合わせを、スピーカ4を介して音声出力する。例えば、音声出力制御部5が「食材は?」と音声出力し、担当者が「フライドポテト」と発話し、「フライドポテト」という音声認識結果が得られたとする。この場合、音声出力制御部5は、「食材はフライドポテト」という音声を、スピーカ4を介して出力する。すなわち、音声出力制御部5は、回答が得られた場合、回答を復唱しているということが言える。
なお、音声出力制御部5が出力する音声は、合成音声である。
音声認識部7は、質問項目の音声出力に応じて担当者が発話した音声がマイクロホン6に入力されると、その音声に対して音声認識を行う。音声認識部7は、端末1内に設けられた辞書記憶部(図示略)に記憶された辞書を参照して、音声認識を行う。音声認識部7は、公知の方法で音声認識を行えばよい。
また、音声認識部7は、音声認識の結果として得られた回答が、直近に音声出力された質問項目に対する回答であるか否かを判定する。例えば、端末1は、質問項目と、その質問項目に対する回答候補とを対応付けた情報を、質問項目毎に記憶装置(図示略)に記憶しておけばよい。そして、音声認識部7は、音声認識の結果得られた回答と、回答候補とのマッチングを行うことで、音声認識の結果として得られた回答が、直近に音声出力された質問項目に対する回答であるか否かを判定すればよい。
また、音声認識部7は、音声認識の結果として、質問項目と回答との組み合わせが得られた場合、その回答は、その質問項目に対する回答であると判定する。質問項目と回答との組み合わせが得られる態様として、直近に音声出力された質問項目と回答との組み合わせが得られる態様と、既に回答が記録されている質問項目と回答との組み合わせが得られる態様と、未だ音声出力されていない質問項目と回答との組み合わせが得られる態様とがある。ただし、後述するように、未だ音声出力されていない質問項目と回答との組み合わせを担当者が発話した場合、その音声認識結果は無視される。
メモリ11は、担当者に関する回答の音声認識結果や場所に関する回答の音声認識結果を記憶するためのメモリである。
回答記録部9は、音声認識部7による音声認識の結果得られた回答を、レコード内の項目として、レコード記憶部10に記録する。ただし、音声出力制御部5は、「担当者に関する質問項目」および「場所に関する質問項目」を先に音声出力する。この結果、担当者に関する回答の音声認識結果や場所に関する音声認識結果が得られた場合、回答記録部9は、担当者に関する回答の音声認識結果や場所に関する回答の音声認識結果をメモリ11に記憶させる。そして、その場所に応じて質問項目セットが選択され、その質問項目セットに属する質問項目(通常質問項目)のうち、最初の質問項目に対する回答の音声認識結果が得られたときに、回答記録部9は、その音声認識結果と、メモリ11に記憶されている担当者に関する回答の音声認識結果および場所に関する回答の音声認識結果とを含む1つのレコードをレコード記憶部10に記憶させる。この後、回答記録部9は、順次、その他の回答の音声認識結果をこのレコード内に追加していく。
また、音声認識部7による音声認識の結果、既に記録した回答に対応する通常質問項目と新たな回答の組み合わせが得られた場合、回答記録部9は、その既に記録した回答を、その新たな回答に訂正する。例えば、回答記録部9は、レコード内に、「温度1」として90度という情報を既に記録済みであるとする。その後、音声認識部7によって、「温度1は88度」という音声認識結果が得られたとする。この「温度1は88度」という音声認識結果において、「温度1」は、既に記録した「90度」に対応する通常質問項目であり、「88度」は、新たな回答である。この場合、回答記録部9は、「温度1」として既にレコード内に記録されている「90度」を、「88度」に訂正する。
従って、音声認識部7が担当者の発話した音声を誤認識する等して、担当者が意図する回答とは異なる回答がレコード内に記録されたとしても、担当者が、その回答に対応する通常質問項目と新たな回答との組み合わせを発話することにより、回答記録部9に、レコード内に誤って記録された回答を、正しい回答に訂正させることができる。
なお、回答記録部9は、音声認識の結果、直近の質問項目とその回答が得られた場合、回答記録部9は、その回答をレコード内に記録すればよい。
既に説明したように、担当者は、回答の記録を意図している場合には、例えば、「田中」、「フライヤ1」、「フライドポテト」等の回答のみを発話すればよい。この場合の回答は、特定質問項目に対する回答であっても、通常質問項目に対する回答であってもよい。また、レコードの記録の打切りを意図している場合には、担当者は、「担当者は山田」、「場所は冷蔵庫」等のように、特定質問項目と回答との組み合わせを発話すればよい。
さらに、既にレコード内に記録済みの通常質問項目に対する回答の訂正を担当者が意図している場合、担当者は、「温度1は88度」等のように、その通常質問項目と新たな回答との組み合わせを発話すればよい。
なお、担当者は、通常質問項目の回答の記録を意図している場合に、回答のみを発話する態様の他、直近に音声出力された通常質問項目と回答との組み合わせを発話してもよい。例えば、「温度1は?」という通常質問項目が音声出力され、担当者が温度1の情報を記録することを意図している場合、「88度」等の回答のみを発話してもよく、また、「温度1は88度」等のように通常質問項目と回答との組み合わせを発話してもよい。
担当者の発話の態様をまとめると、以下のようになる。担当者は、通常質問項目の回答の記録を意図している場合、回答のみを発話してもよく、あるいは、直近に音声出力された質問項目と回答との組み合わせを発話してもよい。また、担当者は、特定質問項目の回答の記録を意図している場合、回答のみを発話する。また、担当者は、レコードの記録の打切りを意図している場合、特定質問項目と回答との組み合わせを発話する。また、担当者は、既にレコード内に記録済みの通常質問項目に対する回答の訂正を意図している場合、その通常質問項目と新たな回答との組み合わせを発話する。
質問項目セット選択部3、音声出力制御部5、音声認識部7および回答記録部9は、例えば、音声認識プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUは、例えば、コンピュータのプログラム記憶装置(図示略)等のプログラム記録媒体から音声認識プログラムを読み込み、その音声認識プログラムに従って、質問項目セット選択部3、音声出力制御部5、音声認識部7および回答記録部9として動作すればよい。また、質問項目セット選択部3、音声出力制御部5、音声認識部7および回答記録部9が別々のハードウェアによって実現されていてもよい。
また、メモリ11およびレコード記憶部10が同一の記憶装置(例えば、同一のメモリ)で実現されていてもよい。
次に、本発明の処理経過の例について説明する。図4から図7までの各図は、本発明の処理経過の例を示すフローチャートである。ただし、図4から図7までに示すフローチャートは例示であり、本発明の処理経過は図4から図7までに示すフローチャートに限定されるわけではない。
端末1を所持する担当者が所定の操作を行うと、端末1は、ステップS1以降の処理を開始する。ステップS1以降の処理の開始の契機となる所定の操作は、予め定めておけばよい。
上記の所定の操作を検出すると、音声出力制御部5は、スピーカ4を介して、担当者に関する質問項目を音声出力する(ステップS1)。例えば、音声出力制御部5は、「担当者は?」という合成音声をスピーカ4から出力する。
担当者は、ステップS1で音声出力された質問項目に応じて、自分の名を発話する。例えば、担当者名が田中であるとすると、その担当者は「田中」と発話する。担当者に関する回答(すなわち、担当者に関する質問項目への回答)の音声がマイクロホン6を介して入力されると、音声認識部7は、その音声に対して音声認識を行う(ステップS2)。本例では、ステップS2で「田中」という音声認識結果が得られたとする。
次に、音声出力制御部5は、担当者に関する質問項目とステップS2で得られた回答の組み合わせを、スピーカ4を介して音声出力する(ステップS3)。例えば、音声出力制御部5は、「担当者は田中」という合成音声をスピーカ4から出力する。
次に、回答記録部9は、担当者に関する回答の音声認識結果(本例では「田中」)を、メモリ11に記憶させる(ステップS4)。
次に、音声出力制御部5は、スピーカ4を介して、場所に関する質問項目を音声出力する(ステップS5)。例えば、音声出力制御部5は、「場所は?」という合成音声をスピーカ4から出力する。
担当者は、ステップS5で音声出力された質問項目に応じて、自分のいる場所の名称を発話する。本例では、担当者が、場所の名称として「フライヤ1」と発話する場合を例にする。場所に関する回答(すなわち、場所に関する質問項目への回答)の音声がマイクロホン6を介して入力されると、音声認識部7は、その音声に対して音声認識を行う(ステップS6)。本例では、ステップS6で「フライヤ1」という音声認識結果が得られたとする。
次に、音声出力制御部5は、場所に関する質問項目とステップS6で得られた回答の組み合わせを、スピーカ4を介して音声出力する(ステップS7)。例えば、音声出力制御部5は、「場所はフライヤ1」という合成音声をスピーカ4から出力する。
次に、回答記録部9は、場所に関する回答の音声認識結果(本例では「フライヤ1」)を、メモリ11に記憶させる(ステップS8)。
本例では、ステップS4,S8の結果、メモリ11は,担当者に関する回答の音声認識結果、および場所に関する回答の音声認識結果として、それぞれ、「田中」、「フライヤ1」を記憶している状態となる。
ステップS8の後、質問項目セット選択部3は、ステップS6の音声認識により得られた場所に関する回答に応じた質問項目セットを、質問項目セット記憶部2に記憶されている質問項目セットの中から選択し、読み込む(ステップS9)。本例では、質問項目セット選択部3は、図3に例示する「食材」、「温度1」、「温度2」および「温度3」を含む質問項目セットを選択するものとして説明する。
ステップS9の次に、回答記録部9は、ステップS9で選択された質問項目セット内の全ての質問項目に対する回答が記録済みであるか否かを判定する(ステップS10)。すなわち、回答記録部9は、質問項目セット内の全ての質問項目に対する回答を含むレコードがレコード記憶部10に記憶されているか否かを判定する。
質問項目セット内の全ての質問項目に対する回答が記録済みでない場合(ステップS10のNo)、音声出力制御部5は、質問項目セットの中から回答が記録済みでない1つの質問項目を選択し、スピーカ4を介して、その質問項目を音声出力する(ステップS11)。なお、質問項目セットに属する各質問項目の出力の順番は予め定められている。本例では、「食材」、「温度1」、「温度2」、「温度3」の順に音声出力するものと定められているものとする。音声出力制御部5は、その順番に従って、ステップS11に移行する毎に1つの質問項目を選択し、音声出力する。本例では、最初にステップS11に移行した場合、音声出力制御部5は、質問項目として「食材」を選択し、「食材は?」という合成音声をスピーカ4から出力する。
ステップS11で音声出力される質問項目は、通常質問項目である。担当者は、ステップS11で音声出力された通常質問項目に対して回答を発話する場合、回答のみを発話してもよく、あるいは、直近に音声出力された質問項目と回答との組み合わせを発話してもよい。例えば、担当者は、「フライドポテト」と発話してもよく、「食材はフライドポテト」と発話してもよい。
また、ステップS11の音声出力後、担当者が既にレコード内に記録済みの通常質問項目に対する回答の訂正を意図している場合、担当者は、その通常質問項目と新たな回答との組み合わせを発話する。また、担当者がレコードの記録の打切りを意図している場合、担当者は、特定質問項目と回答との組み合わせを発話する。ここでは、担当者が、ステップS11で音声出力される通常質問項目(本例では、「食材は?」)に対する回答を発話するものとして説明する。
担当者の回答の音声がマイクロホン6を介して入力されると、音声認識部7は、その音声に対して音声認識を行う(ステップS12)。
ただし、音声認識部7は、「フライドポテト」(あるいは「食材はフライドポテト」)という通常質問項目の回答に対して音声認識する際、「ハンバーグ」(あるいは「食材はハンバーグ」)等のように誤認識することもあり得る。ここでは、音声認識部7が「フライドポテト」という音声を正しく認識したものとして説明する。
また、音声認識部7は、ステップS12において、その音声認識結果が、ステップS11で音声出力された通常質問項目に対する回答、ステップS11で音声出力された通常質問項目と回答との組み合わせ、レコード内に回答が記憶されている通常質問項目と回答との組み合わせ、および特定質問項目と回答との組み合わせの何れかに該当するか否かを判定する。音声認識部7は、音声認識結果が上記のいずれにも該当しない場合、上記の何れかの音声認識結果が得られるまで、入力された音声に対する音声認識を繰り返す。音声が入力されない場合、音声認識部7は、音声が入力されるまで待機する。換言すれば、音声認識部7は、音声認識結果が、ステップS11で音声出力された通常質問項目に対する回答、ステップS11で音声出力された通常質問項目と回答との組み合わせ、レコード内に回答が記憶されている通常質問項目と回答との組み合わせ、および特定質問項目と回答との組み合わせのいずれにも該当しない場合、その音声認識結果を無視し、上記の何れかの音声認識結果が得られるまで、ステップS13に移行しない。例えば、ステップS11で「温度2は?」という合成音声が出力されていない状態で、担当者が「温度2は90度」と発話し、音声認識部7が「温度2は90度」という音声認識結果を得たとしても、音声認識部7は、その音声認識結果を無視する。
次に、音声出力制御部5は、ステップS12の音声認識結果により得られた回答と、その回答に対応する質問項目との組み合わせを、スピーカ4を介して音声出力する(ステップS13)。本例では、音声出力制御部5は、「食材はフライドポテト」という合成音声をスピーカ4から出力する。
なお、ステップS13で音声出力される質問項目および回答は、直近のステップS11で音声出力された質問項目に対応しているとは限らない。前述のように、担当者が既にレコード内に記録済みの通常質問項目に対する回答の訂正を意図してその通常質問項目と新たな回答との組み合わせを発話し、その通常質問項目と新たな回答との組み合わせが音声認識により得られた場合、音声出力制御部5は、その通常質問項目と新たな回答との組み合わせの合成音声を出力する。また、担当者がレコードの記録の打切りを意図して特定質問項目と回答との組み合わせを発話し、その特定質問項目と回答との組み合わせが音声認識により得られた場合、音声出力制御部5は、その特定質問項目と回答との組み合わせの合成音声を出力する。
ステップS13の後、音声認識部7は、音声認識の結果得られた回答が、直近に音声出力された質問項目(具体的には、直近のステップS11で音声出力された通常質問項目)に対する回答であるか否かを判定する(ステップS18)。例えば、担当者が「食材はフライドポテト」と発話し、「食材はフライドポテト」という音声認識結果が得られた場合、音声認識部7は、その音声認識結果により、直近に音声出力された通常質問項目に対する回答であると判定することができる。また、担当者が「フライドポテト」という回答のみを発話し、「フライドポテト」という音声認識結果が得られた場合、例えば、その音声認識結果が「食材」に関する質問項目の回答候補に含まれているか否かによって、音声認識部7は、得られた回答が、直近に音声出力された質問項目に対する回答であるか否かを判定できる。ここでは、音声認識部7は、得られた回答が、直近に音声出力された質問項目に対する回答であると判定するものとして説明する。
音声認識の結果得られた回答が、直近に音声出力された質問項目に対する回答である場合(ステップS18のYes)、音声認識部7は、直近に音声出力された質問項目(具体的には、直近のステップS11で音声出力された通常質問項目)が質問項目セット内の1番目の質問項目であるか否かを判定する(ステップS19)。
直近に音声出力された質問項目が質問項目セット内の1番目の質問項目である場合(ステップS19のYes)、回答記録部9は、メモリ11に記録済みの担当者に関する回答、および場所に関する回答をメモリ11から読み込み、それらの回答と、ステップS12での音声認識により得られた回答とを含む新たなレコードをレコード記憶部10に記憶させる(ステップS20)。上記のように、ステップS11で音声出力制御部5が「食材は?」という合成音声を出力したとする。その後、ステップS12で「フライドポテト」という音声認識結果が得られ、ステップS13,S18,S19の順に処理が移行したとする。食材に関する質問項目は、1番目の質問項目であるので、ステップS20に移行する。本例では、メモリ11は,担当者に関する回答の音声認識結果および場所に関する回答の音声認識結果として、それぞれ、「田中」、「フライヤ1」を記憶している状態となっている。従って、ステップS20において、回答記録部9は、担当者の情報として「田中」を含み、場所の情報として「フライヤ1」を含み、食材の情報として「フライドポテト」を含む新たなレコードを、レコード記憶部10に記憶させる。このとき、回答記録部9は、そのレコードにレコード番号を含めてもよい。
ステップS20の後、ステップS10以降の処理を繰り返す。
直近に音声出力された質問項目が質問項目セット内の1番目の質問項目でない場合(ステップS19のNo)、回答記録部9は、直近のステップS12での音声認識結果で得られた回答を、現在記録中のレコードに記録する(ステップS21)。例えば、ステップS20の後、ステップS10,S11,S12,S13,S18,S19の順に移行したとする。このとき、ステップS11で、音声出力制御部5が「温度1は?」という合成音声を出力し、ステップS12で「90度」という音声認識結果が得られたとする。なお、この音声認識結果は誤認識であるとする。「温度1」に関する質問項目は質問項目セット内の1番目の質問項目ではない。よって、この場合、ステップS21に移行する。この結果、回答記録部9は、「田中」、「フライヤ1」、「フライドポテト」を含むレコードに、温度1の情報として「90度」を記録する。
ステップS21の後も、ステップS10以降の処理を繰り返す。
前述のように、ステップS11の音声出力後、担当者が既にレコード内に記録済みの通常質問項目に対する回答の訂正を意図している場合、担当者は、その通常質問項目と新たな回答との組み合わせを発話する。あるいは、担当者がレコードの記録の打切りを意図している場合、担当者が特定質問項目と回答との組み合わせを発話する。このような場合、音声認識部7は、ステップS12での音声認識によりえられた回答が、直近に音声出力された質問項目に対する回答でないと判定する(ステップS18のNo)。
すると、音声認識部7は、ステップS12での音声認識結果が、既に回答が記録されている通常質問項目と新たな回答との組み合わせであるか否かを判定する(ステップS22)。
音声認識結果が、既に回答が記録されている通常質問項目と新たな回答との組み合わせである場合(ステップS22のYes)、回答記録部9は、その既に記録されている回答を、その新たな回答で訂正する(ステップS23)。
例えば、端末1が、ステップS10,S11,S12,S13,S18,S19,S20の順に移行した後、ステップS10,S11,S12,S13,S18,S19,S21のループ処理を繰り返したとする。その結果、レコード内に、担当者「田中」、場所「フライヤ1」、食材「フライドポテト」、温度1「90度」、温度2「90度」が記録されたとする。そして、再び、端末1がステップS10以降の処理を行ったとする。この場合、ステップS11で音声出力制御部5は、「温度3は?」という合成音声をスピーカ4から出力する。一方、担当者が、温度1の「90度」は、音声認識の誤りであると判断し、温度1の回答の訂正を意図して、「温度1は88度」と発話し、ステップ12で、音声認識部7は、「温度1は88度」という音声を正しく認識したとする。
すると、ステップS12の後、ステップS13,S18の順に移行し、音声認識部7は、「温度1は88度」という音声認識結果に基づいて、「88度」という回答が、直近の「温度3は?」という質問項目に対する回答でないと判定する(ステップS18のNo)。続いて、音声認識部7は、「温度1は88度」という音声認識結果が、既に「90度」という回答が記録されている通常質問項目「温度1」と「88度」という新たな回答との組み合わせであると判定する(ステップS22のYes)。そして、回答記録部9は、温度1に関する質問項目の回答として既に記録されている「90度」を、新たな回答「88度」で訂正する(ステップS23)。
ステップS23の後、ステップS10以降の処理を繰り返す。
なお、上記の例では、「温度3は?」という音声出力に対し、担当者が「温度1は88度」と発話したため、温度3に関する回答はレコード内に記録されていない。そのため、ステップS11に移行した場合、音声出力制御部5は、再度「温度3は?」という合成音声をスピーカ4から出力する。
その後、ステップS12,S13,S18,S19,S21の順に移行し、「食材」、「温度1」、「温度2」および「温度3」に関する各回答がレコード内に記録されたとする。すると、次に、ステップS10に移行した場合、回答記録部9は、ステップS9で選択された質問項目セット内の全ての質問項目に対する回答が記録済みであると判定する(ステップS10のYes)。
すると、音声出力制御部5は、1レコード分の記録を終了するかに関する質問の合成音声をスピーカ4から出力する(ステップS14)。例えば、音声出力制御部5は、「記録を終了しますか?」という合成音声を出力する。なお、「記録を終了しますか?」という質問文は例示であり、1レコード分の記録を終了するかに関する質問文は、「記録を終了しますか?」という文に限定されない。
担当者は、1レコード分の記録を終了してよいと判断した場合には、ステップS14の音声出力に対して、例えば、「終了」と発話する。この「終了」という音声がマイクロホン6を介して入力されると、音声認識部7は、その音声に対して音声認識を行う(ステップS15)。この場合、「終了」という音声認識結果が得られる。また、担当者が、訂正すべき回答があると判断したとする。例えば、上記の例において、「温度3」の回答を訂正すべきと判断したとする。この場合、担当者は、「温度3は88度」等のように発話する。この音声がマイクロホン6を介して入力されると、音声認識部7は、その音声に対して音声認識を行う(ステップS15)。この場合、「温度3は88度」という音声認識結果が得られる。
ステップS15の後、回答記録部9は、ステップS15における音声認識結果が、1レコード分の記録を終了する旨の回答であるか否かを判定する(ステップS16)。回答記録部9は、ステップS15での音声認識結果が「終了」である場合、1レコード分の記録を終了する旨の回答であると判定する(ステップS16のYes)。そして、回答記録部9は、記録中のレコードに対して打切りフラグの値“0”を記録し、1レコードの処理を終了する(ステップS17)。打切りフラグの値が“0”であるということは、1つのレコードが最後まで正常に記録されたことを意味する。
また、ステップS15での音声認識結果が「終了」ではない場合(ステップS16のNo)、端末1は、ステップS13以降の処理を繰り返す。なお、ステップS15での音声認識結果が「終了」ではない場合というのは、担当者が記録済みの回答の訂正を意図して、「温度3は88度」等のように発話し、その音声に対する音声認識結果が得られた場合である。
また、前述のように、担当者がレコードの記録の打切りを意図している場合、担当者は、特定質問項目と回答との組み合わせを発話する。例えば、図2に例示するレコード番号“2”のように温度1の記録が終了した後に、端末1を使用する担当者が「田中」から「山田」に変わったとする。そして、新たな担当者は、前の担当者が記録していたレコード番号“2”のレコードの記録を打切ると判断したとする。この場合、新たな担当者は、「担当者は山田」というように、自分の名を発話する。
なお、ここでは、担当者が変わったことにより、新たな担当者が前のレコードを打切ると判断する場合を例示したが、担当者が変わらず、場所が変わったことにより、担当者が前のレコードを打切ると判断してもよい。例えば、図2に例示するレコード番号“2”のように温度1の記録が終了した後に、担当者が端末1を携帯したまま食器洗い場に移動したとする。そして、その担当者が、食器洗い場に関する情報を記録するために、レコード番号“2”のレコードの記録を打切ると判断してもよい。この場合、担当者は、「場所は食器洗い場」というように、新たな場所の名称を発話する。
また、担当者が変わったり、場所を移動したりしている間に、端末1は、図2に例示するレコード番号“2”のように温度1の記録が終了した後、ステップS10,S11の順に移行し、ステップS11で「温度2は?」という合成音声を出力し、担当者の音声が入力されるのを待機した状態になっている。
この状態で、「担当者は山田」あるいは「場所は食器洗い場」等の特定質問項目と回答との組み合わせを担当者が発話したとする。音声認識部7は、マイクロホン6を介してその音声が入力されるとその音声に対する音声認識を行う(ステップS12)。この場合、ステップS12の後、ステップS13,S18,S22の順に移行する。そして、音声認識部7は、ステップS12での音声認識結果が、既に回答が記録されている通常質問項目と新たな回答との組み合わせではないと判定する(ステップS22のNo)。
ステップS10、S11,S12,S13,S18,S22の順に移行し、音声認識部7が、ステップS12での音声認識結果は既に回答が記録されている通常質問項目と新たな回答との組み合わせではないと判定したとする(ステップS22のNo)。このことは、ステップS12での音声認識結果が、特定質問項目と回答との組み合わせであることを意味する。この場合、音声認識部7は、直近に音声出力された質問項目(具体的には、直近のステップS11で音声出力された通常質問項目)が質問項目セット内の1番目の質問項目であるか否かを判定する(ステップS24)。ステップS24は、ステップS19と同様の判定処理である。
ステップS10、S11,S12,S13,S18,S22,S24の順に移行し、直近のステップS11で音声出力された通常質問項目が質問項目セット内の1番目の質問項目であるということは(ステップS24のYes)、まだ、ステップS20が実行されていないことを意味する。すなわち、担当者の情報、場所の情報、1番目の通常質問項目の回答を含むレコードがレコード記憶部10に記憶されていない状態であり、その状態で、担当者が、レコードの記録を打切るために、特定質問項目と回答との組み合わせを発話したことになる。この場合(ステップS24のYes)、レコードが存在していないので、回答記録部9は打切りフラグとして“1”を記録せずにステップS26に移行する。
また、ステップS10、S11,S12,S13,S18,S22,S24の順に移行し、直近のステップS11で音声出力された通常質問項目が質問項目セット内の1番目の質問項目でないということは(ステップS24のNo)、ステップS20が実行済みであることを意味する。すなわち、担当者の情報、場所の情報、および1つ以上の通常質問項目の回答を含むレコードがレコード記憶部10に記憶されている状態であり、その状態で、担当者が、レコードの記録を打切るために、特定質問項目と回答との組み合わせを発話したことになる。この場合(ステップS24のNo)、回答記録部9は、そのレコードに対する回答の記録を打切る(ステップS25)。具体的には、回答記録部9は、そのレコードに対して、打切りフラグの値“1”を記録する。ステップS25の後、ステップS26に移行する。
ステップS26では、音声認識部7は、音声認識の結果、特定質問項目とともに得られた回答が、担当者に関する回答であるか、場所に関する回答であるかを判定する(ステップS26)。
特定質問項目とともに得られた回答が担当者を示す回答である場合、端末1は、ステップS26からステップS4に移行し、ステップS4以降の処理を実行する。この場合、ステップS4で、回答記録部9は、メモリ11に記録されている担当者名を、その回答が示している担当者名で更新する。ステップS4以降の処理を実施するということは、担当者名をメモリ11に記憶させるところから処理を行い、新たなレコードを作成していくことを意味する。すなわち、打切られたレコードの次のレコードを作成していくことを意味する。
特定質問項目とともに得られた回答が場所を示す回答である場合、端末1は、ステップS26からステップS8に移行し、ステップS8以降の処理を実行する。この場合、ステップS8で、回答記録部9は、メモリ11に記録されている場所の名称を、その回答が示している場所の名称で更新する。ステップS8以降の処理を実行することは、場所の名称をメモリ11に記憶させるところから処理を行い、新たなレコードを作成していくことを意味する。すなわち、打切られたレコードの次のレコードを作成していくことを意味する。なお、特定質問項目とともに得られた回答が場所を示す回答である場合、端末1を使用する担当者が変わっているわけではないので、端末1は、ステップS8以降の処理を実行すればよい。
本発明によれば、ステップS12での音声認識の結果が、レコード内に回答が記録されている通常質問項目と回答との組み合わせである場合、ステップS12の後、ステップS18,S22,S23の順に移行する。そして、回答記録部9は、その既に記録されている回答を新たな回答に訂正する。従って、担当者は、既に記録済みの回答を修正することを意図している場合、記録済みの回答に対応する通常質問項目と新たな回答との組み合わせを発話すればよい。例えば、「温度1」に関する回答が誤認識されていて、その回答を訂正しようとする場合には、担当者は、「温度1は88度」等のように発話すればよい。そのように発話した場合、回答記録部9は、「温度1」に関する回答を「88度」に訂正する。従って、担当者は、1回の発話で回答を訂正することができる。通常質問項目と新たな回答との組み合わせを発話すれば、記録済みの回答を新たな回答に訂正することができるので、担当者は、例えば、「訂正」という文言を発話する必要はなく、訂正時に発話すべき文言の数も少なくて済む。
また、ステップS10,S11,S12,S13,S18,S19,S20の順で処理が進むことによって、ステップS20で、回答記録部9は、新たなレコードをレコード記憶部10に記憶させる。その後、ステップS10,S11,S12,S13,S18,S19,S21の処理を繰り返すことで、端末1は、そのレコードに回答を記録していく。このとき、ステップS12において、ステップS11で音声出力された質問項目に対する回答の音声認識結果が得られなくても、レコード内に回答が記録されている通常質問項目と回答との組み合わせが得られた場合には、ステップS13,S18,S22,S23の処理を順次行い、ステップS23で、回答記録部9が記録済みの回答を訂正し、再度、ステップS10に移行する。よって、例えば、質問項目が、「温度1」、「温度2」等のように進んだとしても、記録済みの「温度1」の回答を訂正することができる。
また、上記の実施形態において、端末1は、ステップS17の後、ステップS10以降の処理を再度実行してもよい。ステップS17の後、ステップS10以降の処理を再度実行するということは、次のレコードを作成していくことを意味する。従って、端末1は、ステップS17の後、ステップS10以降の処理を再度実行することによって、2番目以降のレコードも連続して作成することができる。
また、上記のように、ステップS17の後、ステップS10以降の処理を再度実行することによって、2番目以降のレコードを作成する場合、端末1は、質問項目セットに属する各質問項目のうち、最初からn番目までの質問項目の回答については、既に作成済みのレコードの回答を引き継がせてもよい。ここでは、前述のように、「食材」、「温度1」、「温度2」、「温度3」の順に音声出力するものと定められているものとする。また、説明を簡単にするために、n=1であり、端末1は、1番目の質問項目「食材」の回答については、既に作成済みのレコードの回答を引き継がせるものとして説明する。
1回目にステップS17に至るまでの処理経過は、既に説明した通りである。1回目のステップS17が完了することによって、1番目のレコードが正常に作成されたことになる。ステップS17の後、端末1は、ステップS10以降の処理を再度実行する。ステップS17からステップS10に移行した後では、音声出力制御部5は、ステップS11毎に1つずつ選択する質問項目を、質問項目セット内のn+1番目の質問項目から開始する。本例では、ステップS17の後、最初にステップS11に移行した場合、音声出力制御部5は、n+1番目(本例では、2番目)の質問項目「温度1」を選択し、「温度1は?」という合成音声を出力する。
また、ステップS17からステップS10に移行した後のステップS19では、音声認識部7は、直近に音声出力された質問項目(具体的には、直近のステップS11で音声出力された通常質問項目)が質問項目セット内のn+1番目(本例では2番目)の質問項目であるか否かを判定する。そして、直近に音声出力された質問項目が質問項目セット内のn+1番目の質問項目である場合(ステップS19のYes)、回答記録部9は、メモリ11に記録済みの担当者に関する回答、および場所に関する回答をメモリ11から読み込み、それらの回答と、ステップS12での音声認識により得られた回答とを含む新たなレコードをレコード記憶部10に記憶させる(ステップS20)。このとき、回答記録部9は、例えば、1つ前のレコードに記録されているn番目までの質問項目の回答と同一の回答(本例では1つ前のレコードに記録されている「食材」に関する回答)も、その新たなレコードに含める。すなわち、回答記録部9は、例えば、1つ前のレコードに記録されているn番目までの質問項目の回答を、新たなレコードに引き継がせる。この結果、ステップS20では、担当者に関する回答、場所に関する回答、およびn+1番目までの回答を含む新たなレコードがレコード記憶部10に記憶される。この場合、2番目以降のレコード作成時には、質問項目セットに属する各質問項目のうち、n番目までの質問項目の回答の音声入力を省略できる。
また、既に説明したように、ステップS24は、ステップS19と同様の判定処理である。従って、ステップS17からステップS10に移行した後のステップS24では、音声認識部7は、直近に音声出力された質問項目(具体的には、直近のステップS11で音声出力された通常質問項目)が質問項目セット内のn+1番目の質問項目であるか否かを判定する。
ステップS17からステップS10に移行した後の処理経過において、上記で説明した点以外は、1回目にステップS17に至るまでの処理経過と同様である。
次に、本発明の実施形態の種々の変形例について説明する。
本発明の音声認識システムは、端末1と、サーバとを備える構成であってもよい。図8は、端末とサーバとを備える音声認識システムの構成例を示すブロック図である。図1に示す要素と同様の要素については、説明を省略する。図8に示す例では、端末1は、図1に示す要素に加え、送信制御部12と、通信インタフェース13とを備える。
通信インタフェース13は、端末1が通信ネットワーク30を介してサーバ20と通信を行う際の通信インタフェースである。
送信制御部12は、レコード記憶部10に記憶されたレコードを、通信インタフェース13を介してサーバ20に送信する。送信制御部12は、例えば、打切りフラグとして“0”または“1”が記録されたレコードが生じると、そのレコードをレコード記憶部10から読み込み、サーバ20に送信する。なお、打切りフラグとして“0”が記録されたレコードは、最後まで正常に記録されたレコードである。また、打切りフラグとして“1”が記録されたレコードは途中で記録が打切られたレコードである。
ただし、送信制御部12によるレコードの送信態様は、上記の例に限定されない。例えば、送信制御部12は、1日のうち予め決められた時刻になると、その時刻までの間に新たにレコード記憶部10に記憶されたレコードをまとめてサーバ20に送信してもよい。
送信制御部12は、例えば、音声認識プログラムに従って動作するコンピュータのCPUによって実現される。
また、サーバ20は、通信インタフェース21と、レコード登録部22と、レコード記憶部23とを備える。
通信インタフェース21は、サーバ20が通信ネットワーク30を介して端末1と通信を行う際の通信インタフェースである。
レコード記憶部23は、サーバ20が端末1から受信したレコードを記憶する記憶装置である。
レコード登録部22は、端末1の送信制御部12が送信したレコードを、通信インタフェース21を介して受信すると、そのレコードをレコード記憶部23に記憶させる。
レコード登録部22は、例えば、サーバ用プログラムに従って動作するCPUによって実現される。
図8に示す構成では、端末1に記憶されたレコードを、サーバ20も記憶することができる。また、図8に示す構成において、端末1が複数存在していてもよい。この場合、複数の端末1で記憶されたレコードを、サーバ20がまとめて記憶することができる。その結果、レコードの管理者は、サーバ20において一括してレコードを管理することができる。
また、上記の実施形態では、質問項目セット記憶部2は、図3に例示するように、場所と質問項目セットとを対応付けた情報を記憶する。共通の場所と異なる時間帯の組に対して、質問項目セットが対応付けられていてもよい。図9は、共通の場所と異なる時間帯の組に対して質問項目セットを対応付けた情報の例を示す。
図9に示す例では、「冷蔵庫、朝」という場所および時間帯の組に対して、「温度1」、「温度2」および「温度3」を含む質問項目セットが定められている。また、「冷蔵庫、夜」という場所および時間帯の組に対して、「温度1」および「温度2」を含む質問項目セットが定められている。ただし、図3に示すように、場所のみに対応付けられている質問項目セットが存在していてもよい。
図9に例示する情報が質問項目セット記憶部2に記憶されているとする。この場合、ステップS5で音声出力制御部5が「場所は?」という合成音声をしたときに、担当者は、「冷蔵庫、朝」あるいは「冷蔵庫、夜」と発話してもよい。「冷蔵庫、朝」という音声認識結果が得られた場合、質問項目セット選択部3は、ステップS9で、「温度1」、「温度2」および「温度3」を含む質問項目セットを選択する。また、「冷蔵庫、夜」という音声認識結果が得られた場合、質問項目セット選択部3は、ステップS9で、「温度1」および「温度2」を含む質問項目セットを選択する。
従って、共通の場所と異なる時間帯の組に対して質問項目セットを対応付けた情報を質問項目セット記憶部2に記憶させておけば、同一の場所であっても、時間帯によって、レコードに含める項目を変えることができる。
また、音声認識の結果が数値で表される場合、音声認識部7は、その数値が、予め定められた数値範囲に属しているか否かを判定してもよい。例えば、場所「フライヤ1」に対応する「温度1」関して、80度〜95度という数値範囲が定められているとする。音声認識部7は、温度1の回答の音声認識結果を得た場合、その値が、80度〜95度に属しているか否かを判定してもよい。また、回答が示す値がその数値範囲に属していないと判定された場合、音声出力制御部5は、「異常値です。」等のメッセージをスピーカ4から出力してもよい。
また、質問項目の中に、日付に関する質問項目が含まれていてもよい。この場合、音声認識部7は、日付に関する質問項目に対する回答として発話された音声に対する音声認識結果を変換してもよい。例えば、日付に関する質問項目に対する回答として「明日」という音声が発話され、音声認識部7がその音声認識結果として「明日」という文言を得たとする。この場合、「明日」に該当する日付が「9月16日」であるとすると、音声認識部7は、「明日」という音声認識結果を「9月16日」に変換してもよい。また、例えば、音声認識結果が「4月31日」のような不適当な表現である場合、音声認識部7は、その音声認識結果を適当な表現に変換してもよい。例えば、音声認識部7は、「4月31日」という音声認識結果を「5月1日」に変換してもよい。
また、端末1は、一人の担当者のみが継続して使用するものであってもよい。
また、端末1は、特定の場所に継続的に設置される端末であってもよい。この場合、端末1は、可搬型端末でなくてもよい。
また、以上の説明では、調理場における情報を記録する場合を例にして説明したが、本発明は、調理場以外の種々の情報を音声によって記録する場合にも適用可能である。
次に、本発明の概要について説明する。図10は、本発明の音声認識システムの概要を示すブロック図である。本発明の音声認識システムは、音声出力制御手段71と、音声認識手段72と、回答記録手段73とを備える。
音声出力制御手段71(例えば、音声出力制御部5)は、質問項目を順次、音声出力する。
音声認識手段72(例えば、音声認識部7)は、質問項目の音声出力後に入力されたユーザの音声に対して音声認識を行う。
回答記録手段73(例えば、回答記録部9)は、音声認識の結果、質問項目に対する回答が得られた場合、その回答を1つのレコード内に記録する。
さらに、回答記録手段73は、音声認識の結果、既に記録した回答に対応する質問項目と新たな回答との組み合わせが得られた場合、既に記録した回答を、新たな回答に訂正する。
そのような構成により、音声で回答を入力する質問項目の順番が進んだとしても、既に回答が記録されている質問項目に関して回答を訂正することができ、また、記録済みの回答を1回の発話で訂正することができる。
また、回答記録手段73が、音声認識の結果、特定の質問項目と回答との組み合わせが得られた場合、記録中のレコードに対する回答の記録を打切り、音声出力制御手段71が、レコードに対する回答の記録が打切られた場合、新たな1つのレコードに回答が記録される質問項目を順次、音声出力する構成であってもよい。
また、音声出力制御手段71が、場所に関する質問項目を音声出力し、音声認識の結果、場所を示す回答が得られた場合に、当該場所に応じた質問項目を選択する選択手段(例えば、質問項目セット選択部3)を備え、音声出力制御手段71が、場所に関する質問項目の後に、選択された質問項目を順次、音声出力する構成であってもよい。