(57)【要約】【課題】質問者の発言を記録することなく、回答者の発言から質問内容を推定する。【解決手段】特定の認識結果データブロックの識別子に対応して、表示データのブロック識別子を抽出する工程と、抽出された表示データのブロック識別子に対応する各説明文について文構成要素を抽出し、各説明文について、各組み合わせルールに従って、抽出された文構成要素を組み合わせて複数の仮想回答文を生成し、特定の認識結果データブロックの内容と複数の仮想回答文とを比較して、仮想回答文毎に一致度を算出する工程と、所定の条件を満たす一致度が算出された仮想回答文の基となる組み合わせルールに係る質問文類型を特定し、特定の認識結果データブロックの識別子に対応して格納する工程とを含む。【選択図】図２
2010066950.tif 000002
【特許請求の範囲】
【請求項１】
プレゼンテーションにおける質問に対する回答者の発言のみが音声データとして記録されて音声認識された結果が複数の認識結果データブロックとして格納されている認識結果データ格納部と、前記認識結果データブロックの識別子毎に、当該認識結果データブロックに係る発言時に前記プレゼンテーションにおいて指し示された表示データのブロック識別子を格納する対応付けデータ格納部と、前記表示データのブロック識別子毎且つ当該ブロックに含まれる説明文毎に、当該説明文についての質問に対する回答において用いられる可能性のある文構成要素を格納する要素データベースと、質問文類型毎に前記要素データベースに格納されている前記文構成要素の組み合わせルールを規定する推定ルール格納部とにアクセス可能なコンピュータにより実行される質問推定方法であって、
前記認識結果データ格納部に格納されている特定の前記認識結果データブロックの識別子に対応して、前記対応付けデータ格納部に格納されている前記表示データのブロック識別子を抽出するステップと、
前記要素データベースから、抽出された前記表示データのブロック識別子に対応する各前記説明文について前記文構成要素を抽出し、各前記説明文について、前記推定ルール格納部に格納されている各前記組み合わせルールに従って、抽出された前記文構成要素を組み合わせて複数の仮想回答文を生成し、前記認識結果データ格納部に格納されている特定の前記認識結果データブロックの内容と前記複数の仮想回答文とを比較して、前記仮想回答文毎に一致度を算出する一致度算出ステップと、
所定の条件を満たす前記一致度が算出された前記仮想回答文の基となる前記組み合わせルールに係る質問文類型を特定し、特定の前記認識結果データブロックの識別子に対応して記憶装置に格納するステップと、
を含む質問推定方法。
【請求項２】
請求項１記載の質問推定方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、プレゼンテーションにおいて質問自体を記録できない場合に質問に対する回答から質問を推定する技術に関する。
【背景技術】
【０００２】
展示会などの公開の場で新製品の発表などのためプレゼンテーションを行う場合がある。このような場合、どのような質問がなされたかを記録しておき、後のプレゼンテーション内容の向上に役立てたいという要求があるが、プレゼンテーションを行っている者（＝回答者又は説明者）は、プレゼンテーション自体に精一杯対応しているので、プレゼンテーションを行っている者自身が記録することは難しい。一方、一般的にプレゼンテーションへの来訪者（＝質問者）の発言についてはプライバシの問題から、直接録音録画することは好ましくない。従って、回答者などが回答者が発言している部分の録音を聞き直して、質問を推定するなどの手間がかかっていた。自動音声認識技術も存在するが、展示会などの場では雑音が多く、精度の良い自動音声認識は期待できない。
【０００３】
なお、発言内容を資料の特定位置に対応付けて記録する技術については存在するが、発言内容から質問内容を推定するような技術は存在していない。
【特許文献１】特開２００７−１２３９６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上で述べたように、質問者の発言を記録することなく、回答者の発言から質問内容を推定するような技術は存在していない。
【０００５】
従って、本技術の目的は、質問者の発言を記録することなく、回答者の発言から質問内容を推定することである。
【課題を解決するための手段】
【０００６】
本質問推定方法は、プレゼンテーションにおける質問に対する回答者の発言のみが音声データとして記録されて音声認識された結果が複数の認識結果データブロックとして格納されている認識結果データ格納部と、前記認識結果データブロックの識別子毎に、当該認識結果データブロックに係る発言時に前記プレゼンテーションにおいて指し示された表示データのブロック識別子を格納する対応付けデータ格納部と、前記表示データのブロック識別子毎且つ当該ブロックに含まれる説明文毎に、当該説明文についての質問に対する回答において用いられる可能性のある文構成要素を格納する要素データベースと、質問文類型毎に前記要素データベースに格納されている前記文構成要素の組み合わせルールを規定する推定ルール格納部とにアクセス可能なコンピュータにより実行される。そして、認識結果データ格納部に格納されている特定の認識結果データブロックの識別子に対応して、対応付けデータ格納部に格納されている表示データのブロック識別子を抽出するステップと、要素データベースから、抽出された表示データのブロック識別子に対応する各説明文について文構成要素を抽出し、各説明文について、推定ルール格納部に格納されている各組み合わせルールに従って、抽出された文構成要素を組み合わせて複数の仮想回答文を生成し、認識結果データ格納部に格納されている特定の認識結果データブロックの内容と複数の仮想回答文とを比較して、仮想回答文毎に一致度を算出する一致度算出ステップと、所定の条件を満たす一致度が算出された仮想回答文の基となる組み合わせルールに係る質問文類型を特定し、特定の認識結果データブロックの識別子に対応して記憶装置に格納するステップとを含む。
【発明の効果】
【０００７】
質問者の発言を記録することなく、回答者の発言から質問内容を推定できるようになる。
【発明を実施するための最良の形態】
【０００８】
図１に本技術の一実施の形態におけるシステム概要図を示す。図１では、例えばパーソナルコンピュータであるプレゼンテーション装置７には、表示装置９等と、プレゼンテーションを行う者（以下、説明者と呼ぶ）１が保持するポインタ５と、説明者１が装着しているヘッドセット３と連携している。表示装置９は、例えばプレゼンテーション装置７にライン接続されている場合もあれば、表示装置９ではなく、プレゼンテーション装置７にプロジェクタが接続されており、当該プロジェクタからプレゼンテーションの表示データがスクリーンに投影される場合もある。また、本実施の形態ではポインタ５は、プレゼンテーション装置７に無線でポインティング位置を通知して、プレゼンテーション装置７によって表示装置９にポインタを指定位置に表示させるものとする。さらに、本実施の形態では、ヘッドセット３のマイクに入力された音声は、音声データとして例えば無線でプレゼンテーション装置７に送信される。プレゼンテーション装置７は、音声データを受信して、例えば当該プレゼンテーション装置７に接続されているスピーカから出力するものとする。なお、ヘッドセット３ではなく、マイクを用いるようにしてもよい。
【０００９】
プレゼンテーション装置７は、ヘッドセット３から送られてきた音声データを取得する音声データ取得部７１と、音声データ取得部７１によって取得された音声データを格納する音声データ格納部７２と、ポインタ５からのポインティング位置指示を取得するポインティング位置記録部７３と、ポインティング位置記録部７３により取得されたポインティング位置指示により特定される位置座標の履歴を格納するポインティング位置データ格納部７４と、プレゼンテーション内容のデータを格納するプレゼンテーションデータ格納部７６と、ポインタ５等からの指示に応じてプレゼンテーションデータ格納部７６からプレゼンテーションの表示データを取得して、表示装置９等に出力する表示制御部７５とを有する。
【００１０】
本実施の形態では、このプレゼンテーション装置７と分離した形で又は一体化した形で、音声データ格納部７２に格納されているデータ、ポインティング位置データ格納部７４に格納されているデータ、及びプレゼンテーションデータ格納部７６に格納されているデータを用いて分析処理を実施する分析装置１１も導入される。
【００１１】
分析装置１１の機能ブロック図を図２に示す。分析装置１１は、音声データ格納部７２に格納されているデータを用いてフラグ設定処理を実施するフラグ設定部１１０１と、フラグ設定部１１０１の処理結果であるフラグ設定済音声データを格納するフラグ設定済音声データ格納部１１０２と、プレゼンテーションデータ格納部７６に格納されているデータを用いて表示ブロックデータを生成する表示ブロックデータ生成部１１１２と、表示ブロックデータ生成部１１１２によって生成された表示ブロックデータを格納する表示ブロックデータ格納部１１１３と、ポインティング位置データ格納部７４及び表示ブロックデータ格納部１１１３に格納されているデータを用いてポインティング位置を含む表示ブロックを特定する処理を実施する指示ブロック特定処理部１１０６と、指示ブロック特定処理部１１０６の処理結果を格納する指示ブロックデータ格納部１１０７と、フラグ設定済音声データ格納部１１０２及び指示ブロックデータ格納部１１０７に格納されているデータを用いて音声データと指示ブロックとの対応付けを行う対応付け処理部１１０８と、対応付け処理部１１０８の処理結果を格納する対応付けテーブル格納部１１０９と、対応付けテーブル格納部１１０９及びフラグ設定済み音声データ格納部１１０２に格納されているデータを用いて周知の音声認識処理を実施する音声認識処理部１１０３と、音声認識処理部１１０３の処理結果を格納する認識結果格納部１１０４と、表示ブロックデータ格納部１１１３に格納されているデータを用いて文要素生成処理を実施する文要素生成部１１１４と、文要素生成部１１１４の処理結果を格納する文要素ＤＢ１１１５と、文要素ＤＢ１１１５に格納されている文要素の組み合わせ方のルールを格納する推定ルールＤＢ１１０５と、対応付けテーブル格納部１１０９と認識結果格納部１１０４と推定ルールＤＢ１１０５と文要素ＤＢ１１１５とに格納されているデータを用いて推定質問抽出処理を実施する推定質問抽出部１１１０と、推定質問抽出部１１１０の処理結果を格納する推定質問データ格納部１１１１とを含む。
【００１２】
次に、プレゼンテーション装置７の処理内容について説明する。なお、表示制御部７５については、従前と同様であるから説明を省略する。まず、プレゼンテーション装置７の音声データ取得部７１は、ヘッドセット３から送られてきた音声データを取得して、音声データ格納部７２に格納する（図３：ステップＳ１）。例えば、１つのファイルに音声データを蓄積してゆく。また、ポインティング位置記録部７３は、ポインタ５からの指示データを受信し、表示装置上の位置座標の履歴をポインティング位置データ格納部７４に格納する（ステップＳ３）。このような処理をプレゼンテーションの終了まで実施する（ステップＳ５）。
【００１３】
例えば、ポインティング位置データ格納部７４に格納されるデータの一例を図５に示す。例えば、説明者１が、ポインタ５によって図４に示すようにポインティング位置を移動させる場合を考える。すなわち、位置ｐ1、ｐ2、ｐ3、ｐ4、ｐ5そしてｐ6に順番にポインティング位置を移動させるものとする。また、ポインティング位置記録部７３は、その位置に達した時刻（開始時刻）及びその位置から移動した時刻（終了時刻）をも一緒に記録する。すなわち、図５に示すように、開始時刻と、終了時刻と、指示位置座標（ポインティング位置座標）とを含む時系列の履歴データが登録されるようになっている。なお、微少な移動については同一座標であるものとする。
【００１４】
次に、分析装置１１の処理について、図６乃至図３６を用いて説明する。最初に図６乃至図１７を用いて前処理を説明する。
【００１５】
まず、表示ブロックデータ生成部１１１２は、プレゼンテーションデータ格納部７６に格納されているプレゼンテーション・データを１又は複数の表示ブロックに分割して、それぞれの座標データを特定し、表示ブロック・データを生成して表示ブロック・データ格納部１１１３に格納する（ステップＳ１１）。プレゼンテーション・データは、例えば図４に示すように、各ページにおいて１又は複数のブロックに分かれており、各ブロックの左上座標と右下座標とを特定する。例えば、図４のようなプレゼンテーション・データの場合には、図７のように５ブロックに分割される。図７では、左下を原点としており、各ブロックにおいて、左上座標及び右下座標が示されている。本実施の形態では、各ブロックの隙間は存在しないような形に分割することを前提とするが、図７では、ブロックの領域を分かりやすくするために分離した形で示している。具体的な領域分割については様々な従来技術が存在しているので、ここでは詳細は述べない。さらに、表示ブロックデータ生成部１１１２は、各ブロックに含まれるテキストデータを抽出する。ブロック内にイメージ・データしかない場合には、抽出しない。そして、例えば図８に示すような表示ブロック・データを生成する。図８の例では、ブロック毎に、表示内容と、左上座標と、右下座標とを登録するようになっている。なお、表示内容についてはテキストデータを登録し、ブロック内にイメージ・データしかない場合には［ｉｍａｇｅ］といったデータを登録して、テキストが存在しないことを示すものとする。
【００１６】
次に、指示ブロック特定処理部１１０６は、ポインティング位置データ格納部７４に格納されているデータを用いて、指示ブロック特定処理を実施する（ステップＳ１２）。この指示ブロック特定処理については、図９及び図１０を用いて説明する。
【００１７】
まず、指示ブロック特定処理部１１０６は、ｉを１に初期化する（図９：ステップＳ５１）。次に、ｉ番目の指示位置（すなわち座標値）をポインティング位置データ格納部７４から読み出す（ステップＳ５３）。そして、表示ブロックデータ格納部１１１３に格納されている各ブロックの座標値から、指示位置を含むブロックのブロック番号を特定し、指示ブロックデータ格納部１１０７に登録する（ステップＳ５５）。座標の包含関係で判断できるので、詳細な説明は省略する。そうすると、例えば図１０に示すようなテーブルが得られる。図１０の例では、開始時刻と、終了時刻と、指示位置座標と、今回特定された指示ブロック番号とが登録されるようになる。
【００１８】
その後、ｉを１インクリメントして（ステップＳ５７）、ｉ番目の指示位置がポインティング位置データ格納部７４に格納されているか確認し（ステップＳ５９）、ｉ番目の指示位置が存在するようであればステップＳ５３に戻る。一方、存在していなければ、元の処理に戻る。
【００１９】
図６の処理の説明に戻って、フラグ設定部１１０１は、音声セグメント処理を実施する（ステップＳ１３）。音声セグメント処理については、図１１乃至図１３を用いて説明する。まず、フラグ設定部１１０１は、ｉを１にセットする（図１１：ステップＳ２１）。その後、音声データ格納部７２から音声データを読み出して、無音区間を探索する（ステップＳ２３）。そして、無音区間の長さが予め定められた閾値Ｔth2以上あるか判断する（ステップＳ２５）。無音区間がない場合、又は無音区間の長さがＴth2未満である場合には、音声データの最後に到達したか判断する（ステップＳ２７）。音声データの最後に到達していない場合にはステップＳ２３に戻る。一方、音声データの最後に到達した場合には、今回の有音区間の開始時刻から音声データの最後までを切り出してブロックｉを生成し、フラグ設定済音声データ格納部１１０２に格納すると共に、ブロック番号ｉ（以下音声番号とも呼ぶ）と今回の有音区間の開始時刻と終了時刻とを含むレコードを、フラグ設定済音声データ格納部１１０２に格納する（ステップＳ２９）。そして端子Ａを介して元の処理に戻る。
【００２０】
一方、無音区間の長さがＴth2以上あれば、今回の有音区間の開始時刻から終了時刻（＝無音区間の開始時刻）までを切り出してブロックｉを生成し、フラグ設定済音声データ格納部１１０２に格納する（ステップＳ３１）。そして、無音区間の長さが予め設定されているＴth2より長い閾値Ｔth以上であるか判断する（ステップＳ３３）。無音区間の長さがＴth2以上であるがＴth未満である場合には、本実施の形態では、説明中の息継ぎであるとものとして、今回の有音区間のブロック番号ｉと開始時刻と終了時刻とフラグ＝”ｎｏｒｍａｌ”とを含むレコードをフラグ設定済音声データ格納部１１０２に格納する（ステップＳ３５）。そして、ステップＳ３９に移行する。
【００２１】
一方、無音区間の長さがＴth以上である場合には、質問者による何らかの発言があったものとして、今回の有音区間のブロック番号ｉと開始時刻と終了時刻とフラグ＝”ＱＡ”を含むレコードをフラグ設定済音声データ格納部１１０２に格納する（ステップＳ３７）。
【００２２】
その後、ｉを１インクリメントし（ステップＳ３９）、未処理の音声データが存在しているか確認する（ステップＳ４１）。未処理の音声データが存在している場合には、ステップＳ２３に移行して、残りの音声データについて探索を実施する。一方、全ての音声データを処理した場合には、元の処理に戻る。
【００２３】
以上のような処理を実施すると、例えば図１２に示すようなデータがフラグ設定済音声データ格納部１１０２に格納される。なお、図１２は、図１３のような状況を想定している。図１３では、説明者の音声は、０：００からスタートしており、一端とぎれるがＴth2（例えば３秒）より短いので切り出されることなくブロックＡ１のままとなる。その後、０：４０でＴth（例えば５秒）以上の長い無音区間が発生するので、質問とみなしてフラグ＝”ＱＡ”が設定され、０：４５から次のブロックＡ２が開始される。そうすると、０：５０から０：５３までＴth2より長い無音区間が発生するので、息継ぎとみなしてフラグ＝”ｎｏｒｍａｌ”が設定され、次のブロックＡ３が開始される。その後、１：００でＴth以上の無音区間が発生するので、質問とみなしてフラグ＝”ＱＡ”が設定され、１：１５から次のブロックＡ４が開始される。その後、１：２０から２：０５までＴthより長い無音区間が発生するので、質問とみなしてフラグ＝”ＱＡ”が設定され、次のブロックＡ５が開始される。図１２は、このようなデータをテーブル化して保持している。すなわち、音声番号（ブロック番号）と、開始時刻と、終了時刻と、当該ブロックの後ろに存在する無音区間の長さに応じたフラグとが登録されるようになる。
【００２４】
図６の処理の説明に戻って、対応付け処理部１１０８は、フラグ設定済音声データ格納部１１０２及び指示ブロックデータ格納部１１０７に格納されているデータを用いて、音声・指示ブロック対応付け処理を実施する（ステップＳ１５）。音声・指示ブロック対応付け処理については図１４乃至図１７を用いて説明する。
【００２５】
まず、対応付け処理部１１０８は、フラグ設定済み音声データ格納部１１０２から最初の音声ブロック・レコードを読み込み、Ａに設定し（図１４：ステップＳ６１）、指示ブロックデータ格納部１１０７から最初の指示ブロック・レコードを読み込み、Ｂに設定する（ステップＳ６３）。そして、Ａ及びＢが共に空であるか判断する（ステップＳ６５）。Ａ及びＢが共に空になった場合には処理を終了して、元の処理に戻る。
【００２６】
一方、ＡとＢのうち少なくともいずれかに該当レコードが設定されている場合には、ＡとＢの関係が、図１５に示されているいずれのパターンに該当するか判断する（ステップＳ６７）。
【００２７】
図１５には、Ａの開始時刻がＴ1で、終了時刻がＴ2で、Ｂの開始時刻がｔ1で、終了時刻がｔ2である場合における、ＡとＢの相対関係の６パターンが示されている。図１５の第１のパターンは、ＡとＢとがｔ1からＴ2で重複する場合を示している。この第１のパターンの場合、判定条件は、Ｔ1＜ｔ1、Ｔ2≦ｔ2且つｔ1＜Ｔ2である。音声ブロック・レコードＡの分割方法については、時刻Ｔ1乃至ｔ1のＡ1と、時刻ｔ1乃至Ｔ2のＡ2とに分割する。指示ブロック・レコードＢの分割方法については、時刻ｔ1乃至Ｔ2のＢ1と、時刻Ｔ2乃至ｔ2のＢ2とに分割する。なお、ｔ2＝Ｔ2の場合にはＢ2は存在しない。さらに、以下で述べる対応付けテーブルへの書き込みについては、Ａ1については対応無しを、Ａ2についてはＢ1を登録する。さらに次の読み込み動作については、ＢについてはＢ2を設定する。但し、ｔ2＝Ｔ2の場合にはＢ2は存在しないので、次のＢを設定する。Ａについては次のＡを読み込む。
【００２８】
図１５の第２のパターンは、ＡとＢとがＴ1からｔ2で重複する場合を示している。この第２のパターンの場合、判定条件は、Ｔ1＞ｔ1、Ｔ2≧ｔ2且つＴ1＜ｔ2である。音声ブロック・レコードＡの分割方法については、時刻Ｔ1乃至ｔ2のＡ1と、時刻ｔ2乃至Ｔ2のＡ2とに分割する。Ｔ2＝ｔ2の場合にはＡ2は存在しない。指示ブロック・レコードＢの分割方法については、時刻ｔ1乃至Ｔ1のＢ1と、時刻Ｔ1乃至ｔ2のＢ2とに分割する。さらに、以下で述べる対応付けテーブルへの書き込みについては、Ｂ1については対応無しを、Ａ1についてはＢ2を登録する。さらに次の読み込み動作については、ＡについてはＡ2を設定する。但し、ｔ2＝Ｔ2の場合にはＡ2は存在しないので、次のＡを設定する。Ｂについては次のＢを読み込む。
【００２９】
図１５の第３のパターンは、ＡとＢとがｔ1からｔ2で重複する場合を示している。この第３のパターンの場合、判定条件は、Ｔ１≦ｔ1且つＴ2≧ｔ2である。音声ブロック・レコードＡの分割方法は、時刻Ｔ1乃至ｔ1のＡ1と、時刻ｔ1乃至ｔ2のＡ2と、時刻ｔ2乃至Ｔ2のＡ3とに分割する。但し、Ｔ1＝ｔ1である場合には、Ａ1は存在せず、Ｔ2＝ｔ2の場合にはＡ3は存在しない。この場合、指示ブロック・レコードＢについては分割は行わない。さらに、以下で述べる対応付けテーブルへの書き込みについては、Ａ1については対応無しを、Ａ2についてはＢを登録する。さらに次の読み込み動作については、ＡについてはＡ3を設定する。但し、ｔ2＝Ｔ2の場合にはＡ3は存在しないので次のＡを設定する。Ｂについては次のＢを読み込む。
【００３０】
図１５の第４のパターンは、ＡとＢとがＴ1からＴ2で重複する場合を示している。この第４のパターンの場合、判定条件は、Ｔ1≧ｔ1、Ｔ2≦ｔ2且つ（Ｔ2−Ｔ1）＜（ｔ2−ｔ1）である。この場合、音声ブロック・レコードＡについては分割しない。指示ブロック・レコードＢの分割方法は、時刻ｔ1乃至Ｔ1のＢ1と、時刻Ｔ1乃至Ｔ2のＢ2と、時刻Ｔ2乃至ｔ2のＢ3とに分割する。但し、Ｔ1＝ｔ1である場合には、Ｂ1は存在せず、Ｔ2＝ｔ2の場合にはＢ3は存在しない。さらに、以下で述べる対応付けテーブルへの書き込みについては、Ｂ1には対応無しを、Ａに対してはＢ2を登録する。さらに次の読み込み動作については、ＢにＢ3を設定する。但し、ｔ2＝Ｔ2の場合にはＢ3は存在しないので次のＢを設定する。Ａについては次のＡを読み込む。
【００３１】
図１５の第５のパターンは、全く重なることなくＡが先行する場合を示している。この第５のパターンの場合、判定条件は、Ｔ2＜ｔ1である。この場合、ＡもＢも分割しない。そして、以下で述べる対応付けテーブルへの書き込みについては、Ａに対応無しを登録する。さらに、次の読み込み動作については、Ｂを変更無しとし、Ａについては次のＡを読み込む。
【００３２】
図１５の第６のパターンは、全く重なることなくＢが先行する場合を示す。この第６のパターンの場合、判定条件は、Ｔ1＞ｔ2である。この場合、ＡもＢも分割しない。そして、以下で述べる対応付けテーブルへの書き込みについては、Ｂに対応無しを登録する。さらに、次の読み込み動作については、Ａを変更無しとし、Ｂについては次のＢを読み込む。
【００３３】
なお、以下でも説明するが、指示ブロックの分割については対応付けだけのために行われる。音声ブロックの分割については、以下で説明する音声認識処理で行われる。
【００３４】
図１４の処理の説明に戻って、ステップＳ６７で特定されたパターンに応じた形式でＡ及びＢを分割する（ステップＳ６９）。図１５で説明したとおりである。そして、特定されたパターンに応じた形式で対応付けテーブル格納部１１０９に格納されている対応付けテーブルに対応付けデータを登録する（ステップＳ７１）。
【００３５】
例えば図１３に示した音声ブロックの時間遷移に対して、指示ブロックデータ格納部１１０７に格納されている指示ブロックの時間遷移が図１６のようになった場合を考察する。すなわち、０：００から０：０９までブロック２を指示しており、次に０：０９から０：３０までブロック１を指示しており、０：３０から０：５０までブロック３を指示しており、０：５０から１：１５までブロック４を指示しており、１：１５から２：１５までブロック５を示しているものとする。
【００３６】
このような場合、図１５に示したような条件で処理を行うと、音声ブロックＡ１は、＜１＞の部分と＜２＞の部分と＜３＞の部分に分割される。音声ブロックＡ２は、＜５＞の部分と＜６−１＞の部分に分割される。音声ブロックＡ３、Ａ４及びＡ５は、分割されない。
【００３７】
以上をまとめると、図１７に示すような対応付けテーブルが生成され、対応付けテーブル格納部１１０９に格納される。図１７の例では、対応付け番号と、開始時刻と、終了時刻と、音声ブロックと、指示ブロックと、フラグ設定済音声データ格納部１１０２に格納されているフラグとが対応付け毎に登録されるようになる。具体的には、音声ブロックＡ１の第１の部分Ａ１−１は、指示ブロック２が対応し、音声ブロックＡ１の第２の部分Ａ１−２は、指示ブロック１が対応し、音声ブロックＡ１の第３の部分Ａ１−３は、指示ブロック３の第１の部分Ｂ３−１が対応し、音声ブロックＡ２の第１の部分Ａ２−１は、指示ブロック３の第３の部分Ｂ３−３が対応し、音声ブロックＡ２の第２の部分Ａ２−２は、指示ブロック４の第１の部分Ｂ４−１が対応し、音声ブロックＡ３は、指示ブロック４の第２の部分Ｂ４−２が対応し、音声ブロックＡ４は、指示ブロック５の第１の部分Ｂ５−１が対応する。以下で述べるように、以下の処理では音声ブロックをベースに処理が行われるので、音声ブロックの対応無しというレコードは特に用いられない。
【００３８】
図１４の処理の説明に戻って、特定されたパターンに応じた形式で、次の音声ブロック・レコードをＡに設定し、次の指示ブロック・レコードをＢに設定する（ステップＳ７３）。但し、未処理の音声ブロック・レコード又は未処理の指示ブロック・レコードが存在しない場合には、空を設定する。そしてステップＳ６５に戻る。
【００３９】
以上のような処理を実施することによって、音声データと指示ブロックのテキストとが対応可能となる。
【００４０】
図６の処理の説明に戻って、音声認識処理部１１０３は、対応付けテーブル格納部１１０９における音声ブロックの分割態様に従って、フラグ設定済音声データ格納部１１０２に格納されている音声ブロックを分割しつつ、分割された音声ブロックの各々に対して音声認識処理を実施する（ステップＳ１７）。音声認識処理自体は周知であり、音声認識処理結果は、認識結果格納部１１０４に格納される。以下、音声ブロックに対して認識結果データブロックと呼ぶことにする。
【００４１】
次に、事前処理として文要素ＤＢ１１１５の生成について説明する。文要素ＤＢ１１１５については、ユーザ側で予めプレゼンテーションデータ格納部７６に格納されるテキストデータに対して処理を行って文要素を抽出し、登録しておく。ユーザ自身が手作業で文要素ＤＢ１１１５を作成するようにしても良い。
【００４２】
文要素というのは、以下で述べる推定ルールに従って組み合わせることによって、仮想的な回答文を生成する元となる文構成要素である。
【００４３】
基本的な文要素ＤＢ生成方法について図１８乃至図２１を用いて説明しておく。まず、文要素生成部１１１４は、処理対象指示ブロックに含まれる文章を、表示ブロックデータ格納部１１１３から読み込む（図１８：ステップＳ８１）。次に、読み込んだ文章を文に分解する（ステップＳ８３）。そして、未処理の文を１つ特定する（ステップＳ８５）。さらに、特定された文の品詞分解を実施する（ステップＳ８７）。
【００４４】
その後、分解した品詞及び文中の出現位置などに基づき、１又は複数の単語を、主語Ｓ、述語Ｖ、直接目的語Ｏ、間接目的語Ｏ'など文要素に対応付け、文要素ＤＢ１１１５に登録する（ステップＳ８９）。なお、名詞の羅列のように、文中に述語Ｖ以下がない場合には、述語Ｖ及び目的語Ｏに相当する語を強制的に割り当てたり、例えば特別な規則については事前定義ルールに従って文要素を割り当てる。図１９に事前定義ルールの一例を示す。図１９の例では、文頭にｕｓｅｒがあり、以下、単語の羅列のみの場合、Ｓに各単語を設定すると共に、Ｖにｃａｎ  ｕｓｅ及びｕｓｅを設定し、Ｏにｉｔを設定する。同様に、文頭にｐｒｉｃｅがあり、以下、数値と価格単位のみの場合には、ＳにＹｏｕを設定し、Ｖにｃａｎ  ｂｕｙ及びｂｕｙを設定し、Ｏにｉｔを設定し、Ｘにａｔ  数値＋価格単位を設定する。又は、ＳにＩｔを設定し、Ｖにｃｏｓｔｓを設定し、Ｏに数値＋価格単位を設定する。この他にも設定すべきルールを設定しておく。
【００４５】
そして、未処理の文が存在するか判断し（ステップＳ９１）、未処理の文が存在する場合にはステップＳ８５に戻り、未処理の文が存在しない場合には未処理のブロックが存在するか判断する（ステップＳ９３）。未処理のブロックが存在する場合にはステップＳ８１に戻る。一方、未処理のブロックが存在しない場合には、文要素ＤＢ１１１５に登録されている文要素を管理する要素管理表を生成し、文要素ＤＢ１１１５に登録する（ステップＳ９５）。
【００４６】
以上のような処理を実施することによって、例えば図２０のような文要素データテーブルが生成される。図２０の例では、指示ブロック番号と、文番号と、文内容と、主語Ｓとして用いられる文要素と、述語Ｖとして用いられる文要素と、間接目的語Ｏとして用いられる文要素と、直接目的語Ｏ'／補語Ｃ／その他の修飾語Ｚとして用いられる文要素とが登録されるようになっている。基本的には、各文について、能動態の第１基本文型と、受動態の第２基本文型とに分けて、可能性のある文要素が、主語Ｓ、述語Ｖ、間接目的語Ｏ毎に１又は複数登録される。
【００４７】
また、文要素ＤＢ１１１５には、図２１に示すような要素管理表も登録される。要素管理表は、文要素データテーブルの状態をまとめたものであり、指示ブロックのブロック番号と、文番号と、基本文型数ＮＳＳと、基本文型毎に、主語数ＮＳと、述語数ＮＶと、間接目的語数ＮＯと、直接目的語等の数ＮＣとが登録されるようになっている。例えば指示ブロック３の第２文の場合、基本文型ＮＳＳ＝２、第１基本文型では、主語数ＮＳ＝２、述語数ＮＶ＝４、間接目的語数ＮＯ＝１となり、第２基本文型では、主語数ＮＳ＝１、述語数ＮＶ＝２、間接目的語数ＮＯ＝２となる。これによって組み合わせパターンは、第１基本文型であれば２×４×１＝８つあり、第２基本文型であれば１×２×２＝４つあることが分かる。
【００４８】
次に、図２２乃至図３６を用いて、本実施の形態におけるメインの処理内容を説明する。推定質問抽出部１１１０は、認識結果格納部１１０４において未処理の認識結果データブロックＡを特定し、読み出す（図２２：ステップＳ１０１）。そして、マッチング処理を実施する（ステップＳ１０３）。マッチング処理については以下で詳細に述べる。そして、全ての認識結果データブロックについて処理したか判断し（ステップＳ１０５）。未処理の認識結果データブロックが存在する場合にはステップＳ１０１に戻り、全ての認識結果データブロックを処理した場合には処理を終了する。
【００４９】
次に、マッチング処理について図２３乃至図３６を用いて説明する。まず、推定質問抽出部１１１０は、認識結果データ・ブロックＡを単語配列Ｗに設定する（図２３：ステップＳ１１１）。また、Ｗ中の処理済み単語数のための変数ｉｈｅａｄを０に設定する（ステップＳ１１３）。さらに、カウンタｉ0及びｊ0を共に０に設定する（ステップＳ１１５）。その後、対応付けテーブル格納部１１０９から、処理に係る認識結果データ・ブロックＡに対応して登録されている指示ブロックＢを特定する（ステップＳ１１７）。さらに、文番号ｉを１に初期化する（ステップＳ１１９）。
【００５０】
そして、ｉが、文要素ＤＢの文要素データテーブルに登録されている、指示ブロックＢの文数を超えたか判断する（ステップＳ１２１）。ｉが指定ブロックＢの文数を超えている場合には、端子Ｃを介して図３４の処理に移行する。一方、ｉが指定ブロックＢの文数を超えていない場合には、文パターン生成処理を実施する（ステップＳ１２３）。文パターン生成処理は、指定ブロックＢにおける文番号ｉについて、文要素を組み合わせて複数の仮想回答文である文パターンを生成して、配列Ｔ［ｋ］に蓄積する処理である。この処理については、図２４及び図２５を用いて文パターン生成処理を説明する。
【００５１】
まず、推定質問抽出部１１１０は、文要素ＤＢ１１１５に格納されている要素管理表から、指示ブロックＢについてのｉ番目の文の基本文型数ＮＳＳを読み出す（ステップＳ２０１）。そして、仮想回答文についてのカウンタｋを０に初期化する（ステップＳ２０３）。また、基本文型についてのカウンタｉ1を１に初期化する（ステップＳ２０５）。ｉ1番目の基本文型について要素管理表から主語数ＮＳ、述語数ＮＶ、目的語数ＮＯ及び補語数ＮＣを読み出す（ステップＳ２０７）。そして処理は端子Ｆを介して図２５の処理に移行する。
【００５２】
そして、主語についてのカウンタｉ2を１に初期化し（ステップＳ２１３）、ＮＳ＜ｉ2となったか判断する（ステップＳ２１５）。ＮＳ＜ｉ2という条件を満たした場合には、全ての主語について処理したことになるので、端子Ｇを介して図２４の処理に戻る。図２４の処理では、ｉ1を１インクリメントして（ステップＳ２０９）、ＮＳＳ＜ｉ1となったか判断する（ステップＳ２１１）。ＮＳＳ＜ｉ1を満たしていない場合には、ステップＳ２０７に戻る。一方、ＮＳＳ＜ｉ1を満たしている場合には、全ての基本文型について処理したことになるので、元の処理に戻る。
【００５３】
ＮＳ＜ｉ2という条件を満たしていない場合には、述語についてのカウンタｉ3を１に初期化する（ステップＳ２１７）。そして、ＮＶ＜ｉ3となったか判断する（ステップＳ２１９）。ＮＶ＜ｉ3という条件を満たした場合には、ｉ2を１インクリメントし（ステップＳ２１１）、ステップＳ２１５に戻る。
【００５４】
一方、ＮＶ＜ｉ3という条件を満たしていない場合には、目的語についてのカウンタｉ4を１に初期化し（ステップＳ２２３）、ＮＯ＜ｉ4となったか判断する（ステップＳ２２５）。ＮＯ＜ｉ4という条件を満たした場合には、ｉ3を１インクリメントし（ステップＳ２２６）、ステップＳ２１９に戻る。ＮＯ＜ｉ4という条件を満たしていない場合には、補語についてのカウンタｉ5を１に初期化する（ステップＳ２２７）。そして、ＮＣ＜ｉ5となったか判断する（ステップＳ２２９）。ＮＣ＜ｉ5という条件を満たした場合には、ｉ4を１インクリメントし（ステップＳ２３１）、ステップＳ２２５に戻る。
【００５５】
一方ＮＣ＜ｉ5という条件を満たしていない場合には、文要素ＤＢ１１１５から、主語ｉ2、述語ｉ3、目的語ｉ4及び補語ｉ5を読み出す（ステップＳ２３３）。そして、ｋを１インクリメントし（ステップＳ２３５）、文パターン配列Ｔ［ｋ］に、主語ｉ2＋述語ｉ3＋目的語ｉ4＋補語ｉ5（文を成立させる連結に必要な微調整は当然行う）を設定する（ステップＳ２３７）。そして、ｉ5を１インクリメントし（ステップＳ２３９）、ステップＳ２２９に戻る。
【００５６】
このようにすれば、文番号ｉの１つの文に対して、ＮＳＳ×ＮＳ×ＮＶ×ＮＯ×ＮＣの文パターンがＴ［ｋ］に設定されるようになる。
【００５７】
図２３の処理の説明に戻って、ステップＳ１２３が完了すると、端子Ｂを介して図２６の処理に移行する。図２６の処理の説明に移行して、配列のパラメータｋを１に初期化する（ステップＳ１２７）。そして、ｋが文パターン配列Ｔ［ｋ］のサイズを超えたか判断する（ステップＳ１２９）。ｋが文パターン配列Ｔ［ｋ］のサイズを超えた場合には、端子Ｄを介して図２３の処理に戻って、ｉを１インクリメントし（ステップＳ１２５）、ステップＳ１２１に戻る。
【００５８】
一方、ｋが文パターン配列Ｔ［ｋ］のサイズを超えていない場合には、推定ルールについてのカウンタｊを１に初期化する（ステップＳ１３１）。そして、ｊが、推定ルールＤＢ１１０５に格納されている質問回答文生成のための推定ルールの数を超えたか判断する（ステップＳ１３３）。ｊが、推定ルールの数を超えた場合には、ｋを１インクリメントし（ステップＳ１３５）、ステップＳ１２９に戻る。一方、ｊが推定ルールの数を超えていない場合には、推定ルールＤＢ１１０５から、ｊ番目の推定ルールを読み出す（ステップＳ１３７）。
【００５９】
図２７に推定ルールＤＢ１１０５に格納される推定ルールの一例を示す。図２７に示した例では、質問の種類を、単純化して、真偽の質問、時間の質問、場所の質問、事柄の質問、人物又は事柄の質問、理由の質問、その他（説明文の繰り返し又は通常の説明文）とに分類している。そして、各種類について、文要素をどのように組み合わせるかについての推定ルールが規定されている。図２７の例では、真偽の質問には、（１）Ｙｅｓ＋Ｓ＋ｄｏｅｓ／ｉｓというパターンと、（２）Ｎｏ＋Ｓ＋ｄｏｅｓ／ｉｓ＋文末にｎｏｔというパターンとが含まれる。時間の質問には、（３）Ｓ＋Ｖ＋Ｏ＋（ｉｎ，ａｔ，ｏｎ，ｆｏｒ，  ｂｅｔｗｅｅｎ）等に関する前置詞＋数値＋（ｙｅａｒ，ｍｏｎｔｈ，ｄａｙ，ｈｏｕｒ，ｍｉｎｕｔｅ，ｓｅｃｏｎｄ）などの時間についての単位というパターンが含まれる。場所の質問には、（４）Ｓ＋Ｖ＋Ｏ＋（ｏｎ，ａｔ，ｉｎ，ｂｅｓｉｄｅ）等位置に関する前置詞＋場所に関する名詞又は代名詞というパターンが含まれる。事柄の質問には、（５）Ｓ＋Ｖ＋新規なＯというパターンが含まれる。人物又は事柄の質問には、（６）文頭の主語に新規なＳ＋Ｖ＋Ｏというパターンが含まれる。理由の質問には、（７）文頭にＢｅｃａｕｓｅ＋Ｓ＋Ｖ＋補足というパターンが含まれる。その他の質問については、（８）質問に対する回答としての説明文の繰り返しのパターンと、（９）通常の説明文のパターンとを含む。（８）と（９）との差は、これより前にフラグ＝”ｎｏｒｍａｌ”がセットされているか否かで判断される。
【００６０】
なお、図２７の例における回答文型の列にはそれぞれのパターンの一例が示されており、推定される質問パターンの列には、対応する質問パターンの一例が示されており、処理では使用されない。
【００６１】
次に、ｊ番目の推定ルールに従って、文パターンＴ［ｋ］を変形し、ＴＴを生成する（ステップＳ１３９）。例えば、ブロック４の第２文において、Ｓ「ｉｔ」Ｖ「ｉｓ  ｕｓｅｄ  ｂｙ」Ｏ「ｃｈｉｌｄ」がＴ［ｋ］に登録されており、推定ルールがパターン（８）であれば、例えば「Ｉｔ  ｉｓ  ｕｓｅｄ  ｂｙ  ｃｈｉｌｄ」が生成される。また、推定ルールがパターン（２）であれば、例えば「Ｎｏ，  ｉｔ  ｉｓ  ｎｏｔ」が生成される。このように、推定質問抽出部１１１０には、基本的な文法ルールが備えられており、動詞の活用、前置詞の選択方法その他、文要素を単に並べるだけでは不十分な点について調整する機能を有する。
【００６２】
その後、ＷとＴＴの一致度算出処理を実施する（ステップＳ１４１）。このＷとＴＴの一致度算出処理の詳細については、図２８乃至図３３を用いて説明する。
【００６３】
本実施の形態では、Ｗにはｎ個の単語が含まれており、変数ｉｈｅａｄだけ比較する単語が先頭からシフトされている。すなわち、ｉｈｅａｄ＝０であれば、先頭から比較を行い、ｉｈｅａｄ＝３であれば４つ目の単語から比較が行われる。また、ＴＴには単語がｍ個含まれているとする。
【００６４】
まず、推定質問抽出部１１１０は、ＴＴにおける比較対象単語を特定するためのポインタｉq0を０に、一致度の中間結果を格納する変数matchを０に初期化する（図２８：ステップＳ３０１）。また、Ｗにおける比較対象単語を特定するためのポインタｉpも１に初期化する（ステップＳ３０３）。そして、ｉp≦（ｍ＋Ｔm）（Ｔmは予め定められた定数）であるか判断する（ステップＳ３０５）。Ｗの比較対象単語をＴＴの単語数＋定数Ｔm以上ずらしたか判断する。ここでは、ＷとＴＴを比較するにあたり、ＴＴの単語数とほぼ同じ長さの範囲で比較することを意味する。具体的には、Ｗが２０単語で、ＴＴが５単語であれば、Ｗの先頭６単語（＝５＋１（Ｔm））のうちで比較するということである。
【００６５】
ｉp≦（ｍ＋Ｔm）という条件を満たしていない場合には、これまでに計算された一致度＝match／ｍ及びＷのうち次に比較する部分を特定するためのｉｈｅａｄ＝ｉq0を元の処理に返す（ステップＳ３１３）。そして元の処理に戻る。
【００６６】
一方、ｉp≦（ｍ＋Ｔm）という条件を満たしている場合には、ｉqにｉq0＋１をセットする（ステップＳ３０７）。Ｗにおいて比較すべき単語をｉqで設定する。そして、ｉq≦ｍであるか判断する（ステップＳ３０９）。ｉqがＴＴの単語数ｍを超えた場合には、ｉpを１インクリメントし（ステップＳ３１５）、Ｗにおける比較対象単語をずらす。そしてステップＳ３０５に移行する。
【００６７】
一方、ｉq≦ｍという条件を満たしている場合には、ＳＣＯＭＰ（Ｗ[ip],ＴＴ[iq]）算出処理を実施する（ステップＳ３１１）。このＳＣＯＭＰ（Ｗ[ip],ＴＴ[iq]）算出処理については、図２９乃至図３１を用いて説明する。なお、ここでは文字列Ｘと文字列Ｙとの比較を行うものとする。
【００６８】
まず、推定質問抽出部１１１０は、ＬＸにＸの文字列長を設定し、ＬＹにＹの文字列長を設定する（図２９：ステップＳ４０１）。例えばＸが「ＣＯＭＰＡＲＥ」で、Ｙが「ＩＮＣＯＭＰＡＣＴ」であるとする。
【００６９】
次に、ＬＸ≦ＬＹであるか判断する（ステップＳ４０３）。ＬＸ≦ＬＹである場合には、Ｘ１にＸを設定し、Ｘ２にＹを設定し、文字列長ＬＸ１にＬＸを設定し、文字列長ＬＸ２にＬＹを設定する（ステップＳ４０５）。上で述べた具体例では、Ｘ１には「ＣＯＭＰＡＲＥ」がＸ２には「ＩＮＣＯＭＰＡＣＴ」が設定され、ＬＸ１には「７」が、ＬＹ１には「９」がそれぞれ設定される。
【００７０】
一方、ＬＸ≦ＬＹでない場合には、Ｘ１にＹを設定し、Ｘ２にＸを設定し、文字列長ＬＸ１にＬＹを設定し、文字列長ＬＸ２にＬＸを設定する（ステップＳ４０７）。そしてステップＳ４０９に移行する。
【００７１】
その後、Ｘ１の比較対象文字のポインタｐx1＝１、Ｘ２の比較対象文字のポインタｐx2＝１、及び一致文字数のカウンタｃｏｕｎｔ＝０を設定する（ステップＳ４０９）。さらに、ｋ1＝ｐx1及びｋ2＝ｐx2も設定する（ステップＳ４１１）。処理は端子Ｉを介して図３０の処理に移行する。
【００７２】
図３０の処理の説明に移行して、ｋ1≦ＬＸ１であるか判断する（ステップＳ４１３）。すなわちＸ1の全ての文字について比較が完了したか判断する。ｋ1≦ＬＸ１という条件を満たさない場合には、全ての比較が完了したことになるので、一致度＝ｃｏｕｎｔ／ＬＸ１を算出して（ステップＳ４１５）、元の処理に戻る。
【００７３】
一方、ｋ1≦ＬＸ１という条件を満たしている場合には、Ｘ1[k1]＝Ｘ2[k2]であるか判断する（ステップＳ４１７）。Ｘ1のｋ1番目の文字と、Ｘ2のｋ2番目の文字とが一致するか判断する。一致するようであれば、ｃｏｕｎｔを１インクリメントし（ステップＳ４１９）、ｐx1にｋ1＋１を設定し、ｐx2にｋ2＋１を設定する（ステップＳ４２１）。その後端子Ｊを介して図２９のステップＳ４１１に戻る。
【００７４】
一方、Ｘ1[k1]＝Ｘ2[k2]でない場合には、ｋ2を１インクリメントし（ステップＳ４２３）、ｋ2≦ＬＸ２であるか判断する（ステップＳ４２５）。すなわちＸ２の比較対象文字が無くなったか判断する。ｋ2≦ＬＸ２である場合にはステップＳ４１７に戻り、Ｘ２の次の文字との比較を行う。
【００７５】
ｋ2≦ＬＸ２という条件を満たさない場合には、Ｘ２に比較対象文字が存在しないことになるので、Ｘ１について比較対象文字を変更すべくｋ1を１インクリメントし、Ｘ２の比較対象文字もｋ2にｐx2を設定することによってポインタｐx2のところまで戻す（ステップＳ４２７）。そしてステップＳ４１３に戻る。
【００７６】
ステップＳ４０９乃至Ｓ４２７について図３１を用いて説明する。Ｘ1の「Ｃ」とＸ２の「Ｉ」を比較するところからスタートする。この場合「Ｃ」と「Ｉ」は一致しないので、ｋ2が１から２に変化して、Ｘ1の「Ｃ」とＸ2の「Ｎ」を比較する。この場合も「Ｃ」と「Ｎ」は一致しないので、ｋ2が３に変化して、Ｘ1の「Ｃ」とＸ2の「Ｃ」とが比較される。この段階で一致することになるので、ｃｏｕｎｔは１となる。また、ｋ1及びｐx1は１インクリメントされ、共に２になる。一方、ｐx2はｋ2を１インクリメントした値になるので「４」となり、ｋ2はｐx2が設定されるのでこれも「４」となる。
【００７７】
その後は、「Ｏ」「Ｍ」「Ｐ」「Ａ」が直ぐに一致するので、ｃｏｕｎｔは文字毎に１インクリメントし、ｐx1、ｋ1、ｐx2、ｋ2も共に１ずつインクリメントされる。
【００７８】
Ｘ1の「Ｒ」とＸ2の「Ｃ」を比較すると、一致しないので、ｋ2は９にインクリメントされ、Ｘ1の「Ｒ」とＸ2の「Ｔ」とが比較されるが、一致しないので、Ｘ1を「Ｅ」に変更する。この際、ｋ1が１インクリメントされ、「７」となる。一方、ｋ2はｐx2＝８に戻される。従って、Ｘ1の「Ｅ」とＸ2の「Ｃ」とが比較されるが、一致せず、ｋ2を９にインクリメントしてＸ2の「Ｔ」とも比較されるが、一致しない。従って、ここで比較処理は終了する。一致度は、ｃｏｕｎｔ／ＬＸ１であるから５／７＝０．７となる。なお、完全に同じ単語であれば、一致度は「１」となる。
【００７９】
図２８の処理の説明に戻って、ステップＳ３１１が完了すると、端子Ｋを介して図３２の処理に移行する。
【００８０】
図３２の処理の説明に移行して、ＳＣＯＭＰ（Ｗ[ip],ＴＴ[iq]）＝１であるか判断する（ステップＳ３１４）。すなわち、完全に単語が一致するか判断する。単語が完全に一致する場合には、ｍａｔｃｈ＝ｍａｔｃｈ＋１に設定する（ステップＳ３１９）。そして、ｉq0＝ｉqと設定し（ステップＳ３２３）、端子Ｈを介して図２８のステップＳ３１５に戻る。すなわち、ＷについてもＴＴについても、単語を１つシフトさせる。
【００８１】
一方、ＳＣＯＭＰ（Ｗ[ip],ＴＴ[iq]）＞ｔｈ（例えば０．５）であるか判断する（ステップＳ３１６）。ＳＣＯＭＰ（Ｗ[ip],ＴＴ[iq]）＞ｔｈという条件が満たされた場合には、ｍａｔｃｈ＝ｍａｔｃｈ＋０．５に設定する（ステップＳ３２１）。完全一致ではないので、ｍａｔｃｈの値を完全一致に比して半分だけ増加させる。但し、０．５ではなく他の値であってもよい。そしてステップＳ３２３に移行する。
【００８２】
一方、ＳＣＯＭＰ（Ｗ[ip],ＴＴ[iq]）＞ｔｈではない場合には、ｉqを１インクリメントして（ステップＳ３１７）、端子Ｌを介して図２８のステップＳ３０９に戻る。すなわち、ＴＴの比較対象単語を１つシフトして処理を行う。
【００８３】
ＷとＴＴの一致度算出処理について図３３を用いて一例を説明する。例えば、音声ブロックＡ２−２が、「Ｎｏ．．．Ｎｏ．．．ｔｈｉｓ．．．ｕｓｅｆｕｌ．．．ｃｈｉｌｄ，ｔｏｏ．．．ｃａｎ  ｒｅａｄ  ａ  ｂｏｏｋ．．．」であるものとする。ここで「．．．」は認識不可能であったことを示す。
【００８４】
一方、推定ルールのパターン（２）で生成したＴＴが「Ｎｏ，ｉｔ  ｉｓ  ｎｏｔ」であるとする。まず、ｉp＝１で、ｉq＝１で、Ｗの最初の「Ｎｏ」とＴの「Ｎｏ」とについてＳＣＯＭＰ（Ｗ[１],ＴＴ[１]）を計算すると、完全一致なので「１」が得られる。従って、ｍａｔｃｈ＝１が設定される。次に、ｉq0＝１となり、ｉp＝２となり、ｉq＝２となる。ここでＷの最初の「．．．」とＴＴの「ｉｔ」とについてＳＣＯＭＰ（Ｗ[２],ＴＴ[２]）を算出すると、全く一致しないのでＳＣＯＭＰ（Ｗ[２],ＴＴ[２]）＝０となる。従って、ｉq＝３となり、Ｔの「ｉｓ」との比較になるが、同様にＳＣＯＭＰ（Ｗ[２],ＴＴ[３]）＝０となる。そして、ｉq＝４となり、Ｔの「ｎｏｔ」との比較になるが、同様にＳＣＯＭＰ（Ｗ[２],ＴＴ[４]）＝０となる。ここでｉq＝５となると、Ｗ[２]についての処理は完了して、ｉp＝３となる。そうすると、Ｗの２度目の「Ｎｏ」と、Ｔの「ｉｔ」と比較することになる。ｉq0は変更がないので、ｉq＝２に設定し直される。一致しないので、ｉq＝３に設定され、Ｔの「ｉｓ」と比較することになる。これでも一致しないので、ｉq＝４に設定され、Ｔの「ｎｏｔ」と比較することになり、ＳＣＯＭＰ（Ｗ[３],ＴＴ[２]）＝０．６６なので、ｍａｔｃｈ＝１．５となる。その後、ｉq0＝４に設定され、ｉp＝４に設定される。但し、Ｗ[４]が「．．．」であるから一致することはない。従って、最終的に一致度は１．５／４＝０．３８となる。また、ｉｈｅａｄ＝４が設定される。
【００８５】
また、ｉｈｅａｄ＝４になると、Ｗについては「ｔｈｉｓ．．．ｕｓｅｆｕｌ．．．ｃｈｉｌｄ・・・」について比較するようになる。ここで、推定ルールのパターン（８）で生成したＴＴが「Ｔｈｉｓ  ｉｓ  ｕｓｅｄ  ｂｙ  ｃｈｉｌｄ」であるとする。このようなＴＴをＷと比較する場合には、詳細については省略するが、「ｔｈｉｓ」「ｃｈｉｌｄ」が完全一致で、［ｕｓｅｄ」と「ｕｓｅｆｕｌ」が部分一致となるので、ｍａｔｃｈ＝２．５となる。ｍ＝５であるから、最終的に一致度は０．５となる。
【００８６】
図２６の説明に戻って、推定質問抽出部１１１０は、一致度が閾値ＴＨ（例えば０．２）を超えているか判断する（ステップＳ１４３）。一致度が閾値ＴＨを超えている場合には端子Ｍを介して図３４の処理に移行する。一方、一致度が閾値ＴＨ以下である場合には、ｊを１インクリメントして（ステップＳ１４５）、ステップＳ１３３に戻る。
【００８７】
このように一致度が閾値ＴＨを超えるまで推定ルールを変更し、配列Ｔの文パターンを変更し、さらには指示ブロックにおける文も変更する。但し、一致度が閾値ＴＨを超えるという判断を行わずに、指示ブロックにおける文毎に、全てのパターンについて一致度を算出して、その中で最も一致度の高い推定ルールを特定するようにしても良い。この場合でも、最も一致度の高い推定ルールの際のｉｈｅａｄを管理しておけば、指示ブロックの次の文について比較する際にはｉｈｅａｄ以降について比較することになるので、問題ない。
【００８８】
端子Ｍを介して図３４の処理の説明に移行して、閾値を超えた一致度が算出された時の文番号ｉをｉ0に設定し、閾値を超えた一致度が算出された時のｊをｊ0に設定する（ステップＳ１５１）。そして、対応付けテーブル格納部１１０９に格納されている対応付けテーブルにおいて、現在処理している音声ブロックＷより前の対応付けに対してフラグ”ｎｏｒｍａｌ”が設定されており、且つｊ0＝８（すなわち推定ルールのパターン（８）「説明文の繰り返し」）であるか判断する（ステップＳ１５３）。このような条件を満たす場合には、説明中の息継ぎのための音声ブロックが区切られているだけであるので、「説明文の繰り返し」ではなく、推定ルールのパターン（９）「通常の説明文」であるとして、ｊ0＝９に設定する（ステップＳ１５５）。その後ステップＳ１５９に移行する。一方、ステップＳ１５３の条件を満たさない場合にはステップＳ１５９に移行する。
【００８９】
さらに、図２３のステップＳ１２１でｉが指示ブロックＢの文の数を超えたと判断された場合には、端子Ｃを介して図３４の処理に移行して、指示ブロックにおける全ての文に対する全仮想回答文のパターン（文要素の全ての組み合わせに対する全ての推定ルールの適用結果）について処理しても一致度が閾値を超えるものがなかったということを示しており、ｊ0に”対応無し”を設定し、Ｗの比較対象単語を１つずらすために、ｉｈｅａｄ＝１に設定する（ステップＳ１５７）。そしてステップＳ１５９に移行する。
【００９０】
そして、Ｗに対する推定質問文番号ｊ0などを、推定質問データ格納部１１１１に格納する（ステップＳ１５９）。例えば、図３５のようなデータを推定質問データ格納部１１１１に格納されるようになる。図３５のテーブル例では、音声ブロック番号Ａと、音声認識された文（Ｗ）と、Ｗに対応する指示ブロック番号Ｂと、対応する文番号ｉと、ルールから生成された文要素（ＴＴ）と、一致度と、推定ルールの該当パターンとが登録されるようになっている。上で述べたように、音声ブロックには、ｉｈｅａｄで区切られる各区間につきＴＴが選択されるので、複数のＴＴが対応付けられる場合もある。
【００９１】
また、図３６に示すようなデータを推定質問データ格納部１１１１に格納するようにしても良い。図３６のテーブル例では、対応付けテーブル格納部１１０９に格納されている開始時刻及び終了時刻と、指示ブロック番号Ｂと、推定ルールのパターンと、音声ブロック番号Ａとが登録されるようになっている。推定ルールのパターンについては、特定されたパターン番号及び当該パターン番号の意味と指示ブロック番号Ｂとが含まれている。
【００９２】
このように、推定質問データ格納部１１１１に格納されているデータは、例えばユーザの指示によって、表示装置や印刷装置などの出力装置に出力される。
【００９３】
その後、Ｗの先頭をｉｈｅａｄ単語分だけシフトさせ（ステップＳ１６１）、Ｗに残りの単語等が存在しているか判断する（ステップＳ１６３）。存在していない場合には、元の処理に戻る。一方、存在している場合には端子Ｅを介して図２３のステップＳ１１５に戻る。
【００９４】
このような処理を行うことによって、上で述べたような質問者からの質問部分を録音できない状態において、当該質問の内容を自動的に推定することができるようになる。
【００９５】
以上本技術の一実施の形態について説明したが、これに限定されるものではない。例えば、処理フローは一例であって、同様の結果を得ることができるのであれば、処理の順番を入れ替えたり、並列実行するようにしても良い。また、図１及び図２に示したシステム構成及び機能ブロック構成については、必ずしも実際の装置構成やプログラム構成に対応しているわけではない。
【００９６】
さらに、例えば図２７に示した推定ルールのパターンであるが、簡単な例を示しているが、細かいルールを規定して当てはめるようにしても良い。
【００９７】
また、データ格納部に格納されるデータ・フォーマットについては、同様のデータを保持できればよいので、他のデータ・フォーマットを用いるようにしても良い。
【００９８】
なお、上で述べた表示データの一例では１ページしかない例を示しているが、複数のページに亘る場合には、どのページに関するデータであるかについて対応付けし、管理することによって、同様の結果を得ることができる。
【００９９】
なお、上記プレゼンテーション装置７や分析装置１１は、コンピュータ装置であって、図３７に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１００】
本実施の形態をまとめると以下のようになる。
【０１０１】
本質問推定方法は、プレゼンテーションにおける質問に対する回答者の発言のみが音声データとして記録されて音声認識された結果が複数の認識結果データブロックとして格納されている認識結果データ格納部と、認識結果データブロックの識別子毎に、当該認識結果データブロックに係る発言時にプレゼンテーションにおいて指し示された表示データのブロック識別子を格納する対応付けデータ格納部と、表示データのブロック識別子毎且つ当該ブロックに含まれる説明文毎に、当該説明文についての質問に対する回答において用いられる可能性のある文構成要素を格納する要素データベースと、質問文類型毎に要素データベースに格納されている文構成要素の組み合わせルールを規定する推定ルール格納部とにアクセス可能なコンピュータにより実行される。
【０１０２】
そして、本質問推定方法は、認識結果データ格納部に格納されている特定の認識結果データブロックの識別子に対応して、対応付けデータ格納部に格納されている表示データのブロック識別子を抽出するステップと、要素データベースから、抽出された表示データのブロック識別子に対応する各説明文について文構成要素を抽出し、各説明文について、推定ルール格納部に格納されている各組み合わせルールに従って、抽出された文構成要素を組み合わせて複数の仮想回答文を生成し、認識結果データ格納部に格納されている特定の認識結果データブロックの内容と複数の仮想回答文とを比較して、仮想回答文毎に一致度を算出する一致度算出ステップと、所定の条件を満たす一致度が算出された仮想回答文の基となる組み合わせルールに係る質問文類型を特定し、特定の認識結果データブロックの識別子に対応して記憶装置に格納するステップとを含む。
【０１０３】
このようにすれば、回答者の発言のみが不完全に存在する場合においても、自動的に質問内容を推定することができるようになる。
【０１０４】
また、上で述べた要素データベースが、説明文毎且つ文における役割毎に、当該説明文についての質問に対する回答において用いられる可能性のある１又は複数の文構成要素を格納している場合もある。その場合、一致度算出ステップにおいて、特定の組み合わせルールで規定されており且つ必要とされる前記文における役割毎に、文構成要素を１つずつ選択して組み合わせ、特定の組み合わせルールについて複数の仮想回答文を生成するようにしてもよい。
【０１０５】
さらに、上で述べた一致度が、一致する単語の個数と、類似する単語の個数と重み付けとの積との和を、仮想回答文に含まれる単語数で除することによって算出されるようにしてもよい。
【０１０６】
さらに、一致度算出ステップにおいて、認識結果データブロックにおける比較部分をシフトさせつつ、仮想回答文と比較するようにしてもよい。
【０１０７】
また、上で述べた所定の条件が、認識結果データブロックにおける比較部分について最も高いという条件又は認識結果データブロックにおける比較部分について所定の閾値を超えたという条件である場合もある。
【０１０８】
さらに、本質問推定方法は、プレゼンテーションにおいて指し示された表示データのブロックの時間推移に従って、無録音時間によって区分された、音声データのブロックをさらに分割し、表示データのブロックと前記音声データの分割ブロックとの対応関係を特定し、対応付けデータ格納部に格納するステップをさらに含むようにしてもよい。なお、本発明に係る方法をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。また、ネットワークを介してディジタル信号にて頒布される場合もある。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【０１０９】
（付記１）
プレゼンテーションにおける質問に対する回答者の発言のみが音声データとして記録されて音声認識された結果が複数の認識結果データブロックとして格納されている認識結果データ格納部と、前記認識結果データブロックの識別子毎に、当該認識結果データブロックに係る発言時に前記プレゼンテーションにおいて指し示された表示データのブロック識別子を格納する対応付けデータ格納部と、前記表示データのブロック識別子毎且つ当該ブロックに含まれる説明文毎に、当該説明文についての質問に対する回答において用いられる可能性のある文構成要素を格納する要素データベースと、質問文類型毎に前記要素データベースに格納されている前記文構成要素の組み合わせルールを規定する推定ルール格納部とにアクセス可能なコンピュータにより実行される質問推定方法であって、
前記認識結果データ格納部に格納されている特定の前記認識結果データブロックの識別子に対応して、前記対応付けデータ格納部に格納されている前記表示データのブロック識別子を抽出するステップと、
前記要素データベースから、抽出された前記表示データのブロック識別子に対応する各前記説明文について前記文構成要素を抽出し、各前記説明文について、前記推定ルール格納部に格納されている各前記組み合わせルールに従って、抽出された前記文構成要素を組み合わせて複数の仮想回答文を生成し、前記認識結果データ格納部に格納されている特定の前記認識結果データブロックの内容と前記複数の仮想回答文とを比較して、前記仮想回答文毎に一致度を算出する一致度算出ステップと、
所定の条件を満たす前記一致度が算出された前記仮想回答文の基となる前記組み合わせルールに係る質問文類型を特定し、特定の前記認識結果データブロックの識別子に対応して記憶装置に格納するステップと、
を含む質問推定方法。
【０１１０】
（付記２）
前記要素データベースが、前記説明文毎且つ文における役割毎に、当該説明文についての質問に対する回答において用いられる可能性のある１又は複数の文構成要素を格納しており、
前記一致度算出ステップにおいて、
特定の前記組み合わせルールで規定されており且つ必要とされる前記文における役割毎に、前記文構成要素を１つずつ選択して組み合わせ、特定の前記組み合わせルールについて複数の仮想回答文を生成する
付記１記載の質問推定方法。
【０１１１】
（付記３）
前記一致度が、一致する単語の個数と、類似する単語の個数と重み付けとの積との和を、前記仮想回答文に含まれる単語数で除することによって算出される
付記１記載の質問推定方法。
【０１１２】
（付記４）
前記一致度算出ステップにおいて、
前記認識結果データブロックにおける比較部分をシフトさせつつ、前記仮想回答文と比較する
付記１記載の質問推定方法。
【０１１３】
（付記５）
前記所定の条件が、前記認識結果データブロックにおける比較部分について最も高いという条件又は前記認識結果データブロックにおける比較部分について所定の閾値を超えたという条件である
付記１記載の質問推定方法。
【０１１４】
（付記６）
前記プレゼンテーションにおいて指し示された表示データのブロックの時間推移に従って、無録音時間によって区分された、前記音声データのブロックをさらに分割し、前記表示データのブロックと前記音声データの分割ブロックとの対応関係を特定し、前記対応付けデータ格納部に格納するステップ
をさらに含む付記１記載の質問推定方法。
【０１１５】
（付記７）
付記１乃至６のいずれか１つ記載の質問推定方法をコンピュータに実行させるためのプログラム。
【図面の簡単な説明】
【０１１６】
【図１】本技術の実施の形態におけるシステムの機能ブロック図である。
【図２】分析装置の機能ブロック図である。
【図３】プレゼンテーション装置により実行される処理の処理フローを示す図である。
【図４】表示データの一例を示す図である。
【図５】ポインティング位置データ格納部７４に格納されるデータの一例を示す図である。
【図６】前処理の処理フローを示す図である。
【図７】表示ブロック分けの一例を示す図である。
【図８】表示ブロック・データの一例を示す図である。
【図９】指定ブロック特定処理の処理フローを示す図である。
【図１０】指示ブロックデータ格納部に格納されるデータの一例を示す図である。
【図１１】音声セグメント処理の処理フローを示す図である。
【図１２】フラグ設定済音声データ格納部に格納されるデータを示す図である。
【図１３】音声データのタイムシーケンスの一例を示す図である。
【図１４】音声・指示ブロック対応付け処理の処理フローを示す図である。
【図１５】音声ブロックと指示ブロックとの対応関係の整理表を示す図である。
【図１６】音声ブロックと指示ブロックの時間遷移の一例を示す図である。
【図１７】対応付けテーブルの一例を示す図である。
【図１８】文要素ＤＢ生成処理の処理フローを示す図である。
【図１９】事前定義ルールの一例を示す図である。
【図２０】文要素データテーブルの一例を示す図である。
【図２１】要素管理表の一例を示す図である。
【図２２】メインの処理フローを示す図である。
【図２３】マッチング処理の処理フローを示す図である。
【図２４】文パターン生成処理の処理フローを示す図である。
【図２５】文パターン生成処理の処理フローを示す図である。
【図２６】マッチング処理の処理フローを示す図である。
【図２７】推定ルールＤＢに格納されるデータの一例を示す図である。
【図２８】ＷとＴＴの一致度算出処理の処理フローを示す図である。
【図２９】ＳＣＯＭＰ（Ｘ，Ｙ）算出処理の処理フローを示す図である。
【図３０】ＳＣＯＭＰ（Ｘ，Ｙ）算出処理の処理フローを示す図である。
【図３１】ＳＣＯＭＰ（Ｘ，Ｙ）算出処理の具体例を説明するための図である。
【図３２】マッチング処理の処理フローを示す図である。
【図３３】ＷとＴＴの一致度算出処理の具体例を説明するための図である。
【図３４】マッチング処理の処理フローを示す図である。
【図３５】推定質問データ格納部に格納されるデータの一例を示す図である。
【図３６】推定質問データ格納部に格納されるデータの一例を示す図である。
【図３７】コンピュータの機能ブロック図である。
【符号の説明】
【０１１７】
１  説明者    ３  ヘッドセット    ５  ポインタ
７  プレゼンテーション装置    ９  表示装置
１１  分析装置
７１  音声データ取得部    ７２  音声データ格納部
７３  ポインティング位置記録部    ７４  ポインティング位置データ格納部
７５  表示制御部    ７６  プレゼンテーションデータ格納部
１１０１  フラグ設定部    １１０２  フラグ設定済音声データ格納部
１１１２  表示ブロックデータ生成部    １１１３  表示ブロックデータ格納部
１１０６  指示ブロック特定処理部    １１０７  指示ブロックデータ格納部
１１０８  対応付け処理部    １１０９  対応付けテーブル格納部
１１０３  音声認識処理部    １１０４  認識結果格納部
１１１４  文要素生成部    １１１５  文要素ＤＢ
１１０５  推定ルールＤＢ    １１１０  推定質問抽出部
１１１１  推定質問データ格納部
【図１】
2010066950.tif 000003
【図２】
2010066950.tif 000004
【図３】
2010066950.tif 000005
【図４】
2010066950.tif 000006
【図５】
2010066950.tif 000007
【図６】
2010066950.tif 000008
【図７】
2010066950.tif 000009
【図８】
2010066950.tif 000010
【図９】
2010066950.tif 000011
【図１０】
2010066950.tif 000012
【図１１】
2010066950.tif 000013
【図１２】
2010066950.tif 000014
【図１３】
2010066950.tif 000015
【図１４】
2010066950.tif 000016
【図１５】
2010066950.tif 000017
【図１６】
2010066950.tif 000018
【図１７】
2010066950.tif 000019
【図１８】
2010066950.tif 000020
【図１９】
2010066950.tif 000021
【図２０】
2010066950.tif 000022
【図２１】
2010066950.tif 000023
【図２２】
2010066950.tif 000024
【図２３】
2010066950.tif 000025
【図２４】
2010066950.tif 000026
【図２５】
2010066950.tif 000027
【図２６】
2010066950.tif 000028
【図２７】
2010066950.tif 000029
【図２８】
2010066950.tif 000030
【図２９】
2010066950.tif 000031
【図３０】
2010066950.tif 000032
【図３１】
2010066950.tif 000033
【図３２】
2010066950.tif 000034
【図３３】
2010066950.tif 000035
【図３４】
2010066950.tif 000036
【図３５】
2010066950.tif 000037
【図３６】
2010066950.tif 000038
【図３７】
2010066950.tif 000039