(57)【特許請求の範囲】
【請求項１】
データを入力するための複数の入力欄を表示し、各入力欄に入力されたデータに基づいて所定のタスクを達成する情報処理装置であって、
前記複数の入力欄のうち、少なくとも１つ以上の入力欄を指示する指示手段と、
前記指示手段により１つの入力欄が指示された場合、該指示された入力欄に対応する文法を用いて、該指示された入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第１の発声例出力手段と、
前記指示手段により複数の入力欄が指示された場合、該指示された複数の入力欄に対応する文法及び、該指示された複数の入力欄のそれぞれに対応する文法を用いて、該指示された複数の入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第２の発声例出力手段と、
前記指示手段により指示された入力欄に対してデータを入力するために外部から入力された音声を、当該入力欄に対応した文法を用いて音声認識する音声認識手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の発声例出力手段は、前記指示手段により指示されてから一定時間経過した後に発声例を出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の発声例出力手段は、前記指示手段により指示されてから一定時間経過した後に発声例を出力することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
データを入力するための複数の入力欄を表示し、各入力欄に入力されたデータに基づいて所定のタスクを達成する情報処理方法であって、
前記複数の入力欄のうち、少なくとも１つ以上の入力欄を指示する指示工程と、
前記指示工程で１つの入力欄が指示された場合、該指示された入力欄に対応する文法を用いて、該指示された入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第１の発声例出力工程と、
前記指示工程で複数の入力欄が指示された場合、該指示された複数の入力欄に対応する文法及び、該指示された複数の入力欄のそれぞれに対応する文法を用いて、該指示された複数の入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第２の発声例出力工程と、
前記指示工程で指示された入力欄に対してデータを入力するために外部から入力された音声を、当該入力欄に対応した文法を用いて音声認識する音声認識工程と
を備えることを特徴とする情報処理方法。
【請求項５】
請求項４に記載の情報処理方法をコンピュータに実行させるための制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データを入力する入力欄を表示し、当該入力欄に入力されたデータに基づいて所定のタスクを達成する情報処理装置、情報処理方法、プログラム、記憶媒体に関するものである。
【０００２】
【従来の技術】
従来の音声認識技術のインプリメントは、プログラムを作成することにより行われていた。しかし近年では、VoiceXML等、ハイパーテキスト文書の利用により音声認識のインプリメントを行っている。VoiceXMLでは入出力の手段（ユーザインターフェース）として、基本的には音声のみが使用されているが（厳密にはＤＴＭＦなども使用）、特開２００１−１６６９１５号公報、特開平１０−１５４０６３号公報等には、音声入出力と共にＧＵＩ（Graphical User Interface）を併用したユーザインターフェースの記述に、ハイパーテキスト文書が使用されている。このＧＵＩの記述にはＨＴＭＬのようなマークアップ言語が用いられ、さらに音声入出力を可能にするために、音声入力や音声出力に対応するいくつかのタグを追加している。
【０００３】
一方ＧＵＩと音声入出力を併用したいわゆるマルチモーダル・ユーザインタフェースにおいては、音声認識による音声入力、音声合成による音声出力、ＧＵＩによるユーザからの入力や情報のグラフィックによる提示など、各モダリティがどのように連動するかの記述が必要となる。例えば特開２００１−０４２８９０号公報においては、ボタンと入力欄および音声入力が関連づけられており、ボタンを押すと関連づけられた入力欄が選択され音声認識結果がその欄に入力される方法が開示されている。
【０００４】
【発明が解決しようとする課題】
Webやダイアログアプリケーションの入力欄への入力を考えた場合、キーボード等の入力がどの欄に入力されるかをユーザに示すことが必要である。一般的には、現在入力可能な欄はフォーカス強調により、他の欄とは区別される。音声による入力を考えた場合も、入力対象となる欄を強調することは必要であり、認識誤りが生じやすいという音声認識の性格上、ユーザに入力欄の発声例を提示することで、ユーザの発声あやまりを減らすことも必要である。
【０００５】
本発明は以上の問題に鑑みてなされたものであり、音声入力により入力欄にデータを入力する場合、この入力欄にデータを円滑に入力させることを目的とする。また、本発明は、どの入力欄にどの音声認識結果が入力されるかを示すことを目的とする。
【０００６】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の情報処理装置は以下の構成を備える。
【０００７】
すなわち、データを入力するための複数の入力欄を表示し、各入力欄に入力されたデータに基づいて所定のタスクを達成する情報処理装置であって、
前記複数の入力欄のうち、少なくとも１つ以上の入力欄を指示する指示手段と、
前記指示手段により１つの入力欄が指示された場合、該指示された入力欄に対応する文法を用いて、該指示された入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第１の発声例出力手段と、
前記指示手段により複数の入力欄が指示された場合、該指示された複数の入力欄に対応する文法及び、該指示された複数の入力欄のそれぞれに対応する文法を用いて、該指示された複数の入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第２の発声例出力手段と、
前記指示手段により指示された入力欄に対してデータを入力するために外部から入力された音声を、当該入力欄に対応した文法を用いて音声認識する音声認識手段と
を備えることを特徴とする。
【００１０】
本発明の目的を達成するために、例えば本発明の情報処理方法は以下の構成を備える。
【００１１】
すなわち、データを入力するための複数の入力欄を表示し、各入力欄に入力されたデータに基づいて所定のタスクを達成する情報処理方法であって、
前記複数の入力欄のうち、少なくとも１つ以上の入力欄を指示する指示工程と、
前記指示工程で１つの入力欄が指示された場合、該指示された入力欄に対応する文法を用いて、該指示された入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第１の発声例出力工程と、
前記指示工程で複数の入力欄が指示された場合、該指示された複数の入力欄に対応する文法及び、該指示された複数の入力欄のそれぞれに対応する文法を用いて、該指示された複数の入力欄へデータを入力するための発声例を生成し、該発声例を表示もしくは音声出力する第２の発声例出力工程と、
前記指示工程で指示された入力欄に対してデータを入力するために外部から入力された音声を、当該入力欄に対応した文法を用いて音声認識する音声認識工程と
を備えることを特徴とする。
【００１４】
【発明の実施の形態】
以下添付図面を参照し、本発明を好適な実施形態に従って詳細に説明する。
【００１５】
［第１の実施形態］
図１は本実施形態における情報処理装置の基本構成を示すブロック図である。また、図２は、図１の情報処理装置が行う処理のフローチャートである。以下、図１，２を用いて、本実施形態における情報処理装置の構成と共に、情報処理装置が行う処理について説明する。
【００１６】
まず文章読み込み部１０１は、文章データを格納する文章データＤＢ（データベース）１００から、文章データを読み込む（ステップＳ１００）。文書データはマークアップ言語などの記述言語で記述されており、ＧＵＩのデザイン、音声認識合成の動作、文法の位置などが記述されている。次に、文章読み込み部１０１が読み込んだ文章データの構造を文章解析部１０２が解析する（ステップＳ１０１）。文書データの例を図８に示す。またこれをＧＵＩで表示した（所定のブラウザを用いて表示した）例を図３に示す。
【００１７】
図８において、５０２及び５０３のinputタグはＧＵＩにおいては図３に示すとおり、３０２および３０３の入力欄（子欄）として表示される。また５０１および５０４のformタグは、そのformタグ内のinputタグ要素を内部に含む３０１のような枠線（親欄）で表示され、どの入力要素（例えばinput）がformに含まれるのかを表示する。５０１のformタグでは、複数のinputタグで表される入力欄に対する属性の設定ができる。５０１および５０４で囲まれる２つのinputタグ５０２および５０３がform名"keiro"に含まれる。５０１や５０２，５０３にある属性grammarは文法が保持される位置（アドレス）を示す。本実施形態では、文法は本装置内に保持されているものとするが、これに限定されるものではなく、例えば、ＬＡＮやインターネットを介した外部の装置内に保持されていても良い。
【００１８】
制御部１０９は、文章解析部１０２による解析結果に基づいて、入力欄と文法との対応関係を求める（ステップＳ１０２）。本実施形態では図８に示す通り、"keiro"という名称のformに対して文法“http:／／temp／long.grm#keiro”が対応し、"departure"という名称のinputに対して文法“http:／／temp／station.grm#station”が、"destination"という名称のinputに対して文法“http:／／temp／station.grm#station”が対応する。制御部１０９は、文章解析部１０２による解析結果において、この対応関係を示すデータを作成し、記憶装置１０３内の文法／入力欄対応保持部１３０に出力し、文法／入力欄対応保持部１３０は例えば図６に示すように、タグの名称と文法名（文法のファイル名）を関連づけた形態で保持する。図６は、文法／入力欄対応保持部１３０が保持するタグの名称と文法名との構成を示す図である。
【００１９】
次に文章読み込み部１０１は、文法データを格納する文法ＤＢ（データベース）１１０から、ステップＳ１００において読み込んだ文章データに対応する文法データを読み込む（ステップＳ１０３）。本実施形態では、５０１，５０２，５０３において”http:／／、、、、”で示される夫々のアドレスに位置する３つの文法が読み込まれ、記憶装置１０３内に、文法データ群１２１として記憶される（本実施形態ではｎ＝３）。
【００２０】
次に、制御部１０９は表示部１０４に指示し、表示部１０４はステップＳ１０１で解析した結果を表示する（ステップＳ１０４）。表示結果は上述の通り、ＧＵＩとして図３に示すように表示される。また、表示部１０４はＣＲＴや液晶画面などにより構成されている。
【００２１】
次に、ユーザによる操作部１１５からの入力指示があったか否かを判断する（ステップＳ１０５）。入力指示は何らかの形で３０１，３０２あるいは３０３など、どの入力欄に対する入力かを示すものである。入力指示は操作部１１５を用いた物理的なボタンで行われてもよいし、表示部１０４に表示されるＧＵＩの要素を操作部１１５により押しても構わない。例えば３０２や３０３を選択したい場合は、それぞれの枠線内の領域を操作部１１５に含まれるポインティングデバイスで押せばよいし、３０１の入力欄を選択したい場合は、３０２と３０３の領域以外でかつ、３０１の枠線内の領域をポインティングデバイスで押す。以上のユーザからの入力指示があれば処理をステップＳ１０６に進める。
【００２２】
制御部１０９は表示部１０４に表示されたもののうちで、上記入力指示された箇所（欄）を強調し、どの欄が入力可能になったかをユーザに示すと共に、入力可能な欄への入力例を表示する（ステップＳ１０６）。図９（ａ）、（ｂ）は夫々、親欄の強調、指示した子欄の強調、及び各欄に対する発声例を具体的に示した図である。図９（ａ）に示すように、親欄の内部かつ子欄の内部以外を指示した場合、親欄が指示されたものとする。この場合、親欄の外枠を太くし、領域内部の描画色を変更する。さらに、親欄内部に表示テキストがある場合、そのフォントを太字のものに変更し、サイズを大きくし、文字の色を変更する。一方、図９（ｂ）に示すように、特定の子欄が選択された場合、その欄の外枠を太くし、描画色を変更する。
【００２３】
また同図（ａ）、（ｂ）に示す６０１，６０２は、それぞれの入力欄を埋めるための発声例を、マウスポインタ下にポップアップテキストで提示している。図９（ａ）においては、ｆｏｒｍを指示しているので、『「東京から大阪まで」のように発声して下さい』という説明のポップアップテキスト６０１を表示する。一方、図９（ｂ）においては、１つの子欄を指示しているので、『「大阪」のように発声して下さい』という説明のポップアップテキスト６０２を表示する。
【００２４】
これらの文字列は、図８に示すように、コンテンツ作成時に文字列として埋め込んでおくことができる。本例ではinput要素のexplanation属性にその文字列を埋め込んでいる。
【００２５】
次に、制御部１０９は、上記入力指示された欄に対応する文法をアクティブにする（ステップＳ１０７）。ここで文法をアクティブにするとは、音声認識部１０６にて、特定の文法のみを認識可能に制御することを意味する。例えば、図３において３０１の部分がユーザによって選択された場合、３０１の部分は５０１のｆｏｒｍタグに対応するものであるから、５０１のｆｏｒｍタグに記述された文法long.grmがアクティブとなり、その結果、音声認識部１０６は文法long.grmを用いて音声認識処理を行う。また同様に３０２の部分がユーザによって選択された場合、３０２の部分は５０２のｉｎｐｕｔタグに対応するものであるから、５０２のｉｎｐｕｔタグに記述された文法station.grmがアクティブとなり、その結果、音声認識部１０６は文法station.grmを用いて音声認識処理を行う。３０３の部分がユーザによって選択された場合も同様である。
【００２６】
文法long.grmの記述例を図４に、文法station.grmの記述例を図５に示す。文法station.grmを用いることにより、音声認識部１０６は「東京」、「大阪」、「名古屋」などの発声を認識することが出来る。また文法long.grmを用いることで、音声認識部１０６は「××から○○まで」、「××から」、「○○まで」などの発声を認識することができる。ここで「××」や「○○」はstation.grmに記述される内容を用いる。すなわち「東京から大阪まで」、「名古屋から」、「東京まで」などを認識することができる。
【００２７】
よって、音声認識部１０６は、ユーザからマイク１０５を介して入力された、ステップＳ１０７においてアクティブになった文法を用いて音声認識処理を行う（ステップＳ１０８）。一般に文法を用いた音声認識技術は公知の技術を用いるために、音声認識に関する説明は省略する。
【００２８】
音声認識部１０６による音声認識結果はステップＳ１０５で入力指示した欄に表示される（ステップＳ１０９）。例えばユーザが３０２の部分を選択して「東京」と発声すると、３０２の部分（欄）に東京と表示される。しかし３０１のようなformタグで表される欄の場合は、３０２および３０３という複数の入力欄を含むので、以下の方法で表示する欄を決める。
【００２９】
ここでは図４に示す文法記述に従い、説明を行う。文法記述において｛｝で囲まれる部分を解析し、｛｝に記述されている欄に対して入力を行う。例えばユーザがマイク１０５に対して「東京から大阪まで」と発声した場合、音声認識部１０６は、この発声内容において駅名を「東京」、「大阪」の順に認識する。その結果、「東京」は{departure}に対応し、「大阪」は{destination}に対応することがわかる。
【００３０】
この対応関係から「東京」は"departure"に対応する３０２の欄に、「大阪」は"destination"に対応する３０３の欄に表示される。また「名古屋から」と発声した場合は{departure}に対応づけられるため３０２の欄に、「東京まで」と発声した場合は{destination}に対応づけられるため３０３の欄に表示される。すなわち３０１をユーザが選択した場合、発声内容に従って、３０２の欄、３０３の欄に順に、もしくは同時に音声認識結果が表示される。
【００３１】
更にステップＳ１０９では、各欄（図４では３０２，３０３の欄）に入力された入力データが、入力欄を示すデータ（タグの名前）と共に入力データ保持部１３１に記憶される。例えば音声認識部１０６に「東京から大阪まで」という発声内容が入力され、音声認識部１０６がこれを音声認識した場合に、入力データ保持部１３１に記憶されるデータの例を図７に示す。同図の通り、表示された欄を示すデータであるタグの名称と、表示される入力データ（上記音声認識結果）とが関連づけられている。
【００３２】
次に、ユーザから操作部１１５を介して、入力データをアプリケーション１０８へ送信する指示が入力されたら、制御部１０９が入力データ送信部１０７を指示し、入力データ送信部１０７は記憶装置１０３内の入力データ保持部１３１が保持するデータをアプリケーション１０８に送信する（ステップＳ１１０）。アプリケーション１０８は、例えば入力された２つの駅間の複数の経路を検索したり、検索した経路を使用した場合の所要時間などを求めるソフトウェアである。そして、送信されたデータを用いて制御部１０９はアプリケーション１０８を実行し、アプリケーション１０８は、上記動作を行い、その動作結果を表示部１０４に表示する（ステップＳ１１１）。
【００３３】
以上の説明により、本実施形態における情報処理装置は、データが入力可能な各欄に文法データと発声例を対応づけておくことで、ユーザの入力指示した欄、もしくは欄群に対して発声例を示し、音声認識結果に従った入力データを入力することができ、音声入力を用いたソフトウェアをより快適に操作することができる。
【００３４】
［第２の実施形態］
情報処理装置に音声出力装置が備わっている場合には、この音声出力装置により、各欄の発声例であるポップアップの文字列を音声により読み上げてもよい。
【００３５】
［第３の実施形態］
第２の実施形態では、マークアップ文書データに入力欄の発声例を埋め込んだが、この発声例（のデータ）を入力欄に対応する文法から適宜作成することも可能である。この作成方法について図１０，１１を用いて以下説明する。なお、入力欄の強調以外の処理、及び情報処理装置の構成は、第１の実施形態で説明したものと同じものであるため割愛する。
【００３６】
図１０は音声の発声例を適宜作成する処理のフローチャートであり、入力欄の強調処理（ステップＳ１０６）から呼び出されるものである。ユーザがある特定の入力欄を選択した場合、その入力欄に対応する文法を引数にして、この処理が呼び出される。ここでは例として図４のlong.grmの発声例を作成する処理を示す。
【００３７】
まず、対象となる文法(long.grm)を読み込む（ステップＳ２００）。次に、読み込まれた文法で表される先頭の発声文を取得し、変数Ａに格納する（ステップＳ２０１）。long.grmの場合では、先頭の発声文は「＜station＞から＜station＞まで」となり、この文字列が変数Aに格納される。
【００３８】
次に、Aに文法が含まれるかを判定する。本例の場合、＜station＞が文法であるため、処理をステップＳ２０３に進める。そして、含まれていた全文法の音声発声例を本処理を再帰的に呼び出すことで取得する。＜station＞は図５で示される文法であり、station.grmを引数に本処理を行うことで、＜station＞の先頭発声文として“東京”という発声例を取得できる。ステップＳ２０３で取得された発声例は、変数Aの各文法位置に置換される（ステップＳ２０４）。本例では、＜station＞の位置に“東京”という文字列が置換されるため、変数Aは「東京から東京まで」となる。なお、発声例の取得例として、図５に示されるいずれの駅名を用いても良いことは明らかである。
【００３９】
以上の処理が終わると、変数Aには文法を含まない発声例が格納されていることになる。本例では、long.grmの発声例として「東京から東京まで」という例のデータが作成されることになる。
【００４０】
この処理により作成された音声発声例のＧＵＩにおける表示例を図１１（ａ）、（ｂ）に示す。図１１（ａ）、（ｂ）は夫々、親欄の強調、指示した子欄の強調処理において表示される文字列を示した図である。図１１（ａ）、（ｂ）では７０１，７０２のようなフキダシ型のポップアップでユーザに発声を例示している。このように音声発声例は画面に出力してもよいし、情報処理装置に音声出力装置が備わっている場合には、この音声出力装置により、このポップアップの文字列を音声により読み上げてもよい。
【００４１】
［第４の実施形態］
上記実施形態で説明した入力欄の強調は、ユーザにより入力欄が指示されてからすぐに開始してもよいし、指示後、ユーザからのアクションが何も検出されない状態が一定時間経過した場合に開始してもよい。後者の場合、入力欄の指示とそれに続く入力作業(音声発声)がスムーズに続かないユーザだけに、その入力欄の発声例を示すことになる。
【００４２】
また、上記実施形態における文章データはマークアップ言語などの記述言語で提供されるため、簡単にカスタマイズできるという効果をもつ。
【００４３】
また、上記実施形態では、アプリケーションソフトウェアとして２駅間の経路探索を行うソフトウェアとしたが、これに限定されるものではなく、入力欄が多く、全ての入力欄にデータを入力することが必要なアプリケーションソフトウェアにも好適である。
【００４４】
［その他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００４６】
【発明の効果】
以上の説明により、本発明によって、音声入力により入力欄にデータを入力する場合、この入力欄にデータを円滑に入力させることができる。また、本発明は、入力欄にどのような発声を行えば音声認識結果が正しく入力されるかをユーザに示すことができる。
【図面の簡単な説明】
【図１】本発明の実施形態における情報処理装置の基本構成を示すブロック図である。
【図２】図１の情報処理装置が行う処理のフローチャートである。
【図３】図８に示した文章データをＧＵＩで表示した例を示す図である。
【図４】  long.grmの記述例の記述例を示す図である。
【図５】  station.grmの記述例を示す図である。
【図６】文法／入力欄対応保持部１３０が保持するタグの名称と文法名との構成を示す図である。
【図７】音声認識部１０６に「東京から大阪まで」という発声内容が入力され、音声認識部１０６がこれを音声認識した場合に、入力データ保持部１３１に記憶されるデータの例を示す図である。
【図８】本発明の第１の実施形態で用いる文章データの一例を示す図である。
【図９】（ａ）、（ｂ）は夫々、親欄の強調、指示した子欄の強調、及び各欄に対する発声例を具体的に示した図である。
【図１０】音声の発声例を適宜作成する処理のフローチャートである。
【図１１】（ａ）、（ｂ）は夫々、親欄の強調、指示した子欄の強調処理において表示される文字列を示す図である。
【図１】
0003814566.tif 000002
【図２】
0003814566.tif 000003
【図３】
0003814566.tif 000004
【図４】
0003814566.tif 000005
【図５】
0003814566.tif 000006
【図６】
0003814566.tif 000007
【図７】
0003814566.tif 000008
【図８】
0003814566.tif 000009
【図９】
0003814566.tif 000010
【図１０】
0003814566.tif 000011
【図１１】
0003814566.tif 000012