以下、本発明の実施形態について説明するが、本発明の実施形態は、以下に説明する実施形態に限定されるものではない。
[第1の実施形態]
なお、以下に説明する第1の実施形態では、情報提示装置および情報提示システムの一例として、会議の進行を支援するための情報提示機能を備えたプロジェクタ装置を用いて説明する。図1は、第1の実施形態によるプロジェクタ装置110が配置されたネットワーク環境100を示す図である。図1に示すネットワーク環境100は、ネットワーク102を介して相互に接続される、1以上のクライアント端末108と、プロジェクタ装置110とを含み構成される。
ネットワーク102は、例えば、有線または無線の組織内LAN(Local Area Network)などとして構成され、図示しないルータを介して、グローバルなインターネット104に接続されている。図1に示すネットワーク102には、さらに、組織内に存在する文書を管理する文書管理サーバ106が接続されている。インターネット104および文書管理サーバ106は、本実施形態において情報提示を行うための情報ソースを提供する。
クライアント端末108は、スクリーンに投影するための画面をプロジェクタ装置110に対して出力する。クライアント端末108は、また、操作者からの操作入力に従って、ネットワーク102を介してプロジェクタ装置110に対して各種指示を送信する。クライアント端末108は、特に限定されるものではないが、デスクトップ型やラップトップ型のパーソナル・コンピュータ、ワークステーションなどの汎用コンピュータ装置、タブレット端末、スマートフォン端末、PDA(Personal Digital Assistant)端末などの携帯情報端末などとして構成することができる。
プロジェクタ装置110は、所定のクライアント端末108から入力される画面をスクリーンに投影する。プロジェクタ装置110は、また、操作者による操作に従いクライアント端末108からネットワーク102を介して送信される各種指示入力に応答して、各種処理を実行し、処理結果を返す。特定の実施形態において、プロジェクタ装置110は、ウェブサーバ機能を備え、クライアント端末108上のウェブ・ブラウザからの要求に応答して、操作者がプロジェクタ装置110に対して指示を行うための各種操作画面のウェブ・ページを応答する。プロジェクタ装置110は、各種操作画面を介して行われた操作に応じてウェブ・ブラウザから送信された要求を受信して、各種指示入力を受け付ける。
なお、所定のクライアント端末108からプロジェクタ装置110へ行われる映像出力は、上述したネットワーク102を介したLAN接続に限定されない。映像出力は、DVI(Digital Visual Interface)、HDMI(High-Definition Multimedia Interface)などの映像出力ポートを介して行われてもよい。
本実施形態によるプロジェクタ装置110は、さらに、音声認識技術を適用して、認識された発言に応じた情報提示を行う情報提示機能を備える。一方、このような情報提示機能は、会議に適用される場合、場面にかかわらず情報提示を行ってしまうと、進行中の議論を妨げてしまう可能性がある。また、会議中に、発言に応答して頻繁に情報提示が行われてしまうと、会議の参加者に煩わしい体験をさせてしまったり、参加者が体験する情報提示の効果が薄れてしまったりすることも懸念される。
そこで、本実施形態によるプロジェクタ装置110は、会議の場面を判定し、場面に応じて適切な提示情報を出力する情報提示機能を備えている。以下、図2〜図13を参照しながら、第1の実施形態における場面に応じた情報提示機能について詳細を説明する。
図2は、第1の実施形態によるプロジェクタ装置110上で実現される機能ブロック200を示す図である。図2に示すプロジェクタ装置110は、会議状態判定部204と、会議メタ情報管理部206と、会議状態判定学習部210と、会議状態変更アクション実行部212と、表示出力部214と、関連情報検索部216と、音声入力部218と、音声認識部220と、操作UI(ユーザ・インタフェース)部222と、会議状態変化入力部224と、会議状態変更アクション入力部226と、会議状態判定ルール管理部228とを含み構成される。プロジェクタ装置110は、さらに、データ構造として、会議の場面を判定するための会議状態判定ルールテーブル202と、発言内容などの会議の内容を記述する会議メタ情報208とを備える。
会議状態判定部204は、蓄積された会議メタ情報208を取得し、会議状態判定ルールテーブル202内で定義されたルールに照らし合わせて、会議の特定の場面を検出するための条件(以下、会議状態変更条件と参照する。)を満たすか否かを判定する。会議状態変更条件は、会議において観察される特定の場面に応じて、会議の状態を変更させるようにはたらく情報提示アクションを呼び出すために事前定義される。
本実施形態において、情報提示を行う際の会議の場面は、会議状態と、その会議状態において発生した会議の内容とに基づいて判断される。会議状態は、会議の活発および不活発の程度などを表現したコンテキスト情報であり、特に限定されるものではないが、「活発な状態」、「煮詰まった状態」、「通常状態」、「行き詰まり状態」および「脇道に逸れた状態」などを例示することができる。例えば、会議状態が「行き詰まり状態」であるときに、会議の内容としてしばらく発言が無いということが検出された場合は、議論が行き詰まって意見が出ていない場面であると考えられる。このような場面で情報提示を行うことにより、会議の状態を「行き詰まり状態」から「活発な状態」や「通常状態」などへ好転させることが期待できる。
会議状態判定部204は、会議状態変更条件によって、情報提示に適した特定の場面を検出し、情報提示を行うアクションを判定し、会議状態変更アクション実行部212にその実行を依頼する。上記判定は、例えば、会議メタ情報208内に新たな記述が行われたタイミングで行うことができる。
なお、会議の特定の場面を検出して情報提示を行うためのルールは、ベンダやユーザ側で事前に手動定義することができる。また、詳細は後述するが、教師情報として与えられた会議メタ情報208内の会議の内容、会議の状態、実行されたアクションの履歴情報に基づき、会議状態判定学習部210が学習処理によりルールを生成してもよい。
会議メタ情報管理部206は、参加者からのマイクロフォンを介した音声入力などの外部情報の入力に応答して、会議の内容を記述するメタ情報を会議メタ情報208内に記録する。会議の内容は、詳細は後述するが、発言内容、上述した会議状態の変化、実行されたアクションなどを含むことができる。会議メタ情報管理部206は、新たなメタ情報が記述され、会議メタ情報208が更新されたことに応答して、その旨を会議状態判定部204に通知する。会議メタ情報管理部206は、また、会議状態判定部204からの会議メタ情報208の取得要求に応答して、会議メタ情報208を読み出して提供する。
会議状態変更アクション実行部212は、会議状態判定部204により、会議状態変更条件のひとつを満たすと判定された場合に、その条件に対応付けられたアクション(以下、会議状態変更アクション、または単に、アクションと参照する。)の実行の依頼を受けて、このアクションを実行する。会議状態変更アクション実行部212は、依頼されたアクションを実行した後、会議メタ情報管理部206に対し、該アクションの実行を通知して、メタ情報として記録させる。
本実施形態において、会議状態変更アクションは、会議での合意形成または相互理解のため、会議の状態の好転を促すことが期待される情報提示処理をいう。会議状態変更アクションとしては、特に限定されるものではないが、「休息を促すメッセージ表示」、「発言テキスト表示」、「頻出キーワードのインターネット検索結果表示」、「頻出キーワードの文書管理システム内の検索結果表示」、「雰囲気を明るくするテキストまたは画像表示」などを例示することができる。
表示出力部214は、クライアント端末108から入力される画面をスクリーンに投影するとともに、会議状態変更アクション実行部212のアクション実行に応答して、その実行結果をスクリーンに投影する。上述した例示に従えば、「休息を促すメッセージ表示」、「発言テキスト表示」、「頻出キーワードのインターネット検索結果表示」、「頻出キーワードの文書管理システム内の検索結果表示」、「雰囲気を明るくするテキストまたは画像表示」がスクリーンに投影される。実行結果は、例えば、現在表示中の画面の一部にダイアログまたはポップアップとして表示したり、画面全体に一定期間表示したり、スクリーンセーバとして表示したりすることができる。
関連情報検索部216は、情報検索結果を提示するアクションが選択された場合に、会議状態変更アクション実行部212により呼び出される。関連情報検索部216は、インターネット104や文書管理サーバ106などの情報ソースに対し、会議の内容に応じた検索クエリに基づく情報検索を行い、得られた情報検索結果を表示出力部214に返す。例えば、上述した「頻出キーワードのインターネット検索結果表示」または「頻出キーワードの文書管理システム内の検索結果表示」のアクションが選択された場合には、会議において頻出した所定のキーワードを含むクエリを用いて、インターネット104または文書管理サーバ106から情報検索し、検索結果を取得する。頻出単語や頻出文脈は、会議メタ情報208の所定範囲の発言に対して、自然言語処理を適用し、単語や文脈を計数することにより得られる。
音声入力部218は、例えば、プロジェクタ装置110に接続された集音マイク、参加者毎のマイクロフォンやヘッドセットなどの音声入力デバイスを介して入力される音声信号の入力を受ける。音声認識部220は、音声入力部218に入力された音声信号に対し、音声認識(SR:Speech Recognition)処理を行い、音声入力に基づきテキスト化し、会議メタ情報管理部206に発言内容(音声認識テキスト)を記録させる。また、音声認識部220は、入力された音声信号から無言状態であることを検知して、その無言期間を計測し、会議メタ情報管理部206に無言イベントとして記録させる。
発言内容は、発言者を識別し、発言者に関連付けて記録することができる。発言者の識別方法としては、特に限定されるものではないが、参加者毎に音声入力デバイスが配布される場合には、そのデバイス識別子、またはデバイスが接続されるクライアント識別子により識別することができる。他の実施形態では、発言者自らが発言前に発言する旨を、発言者が操作するクライアント端末を介してプロジェクタ装置110に通知したり、または、議事録の記録を担当する参加者が、発言者が発言しているタイミングで、クライアント端末を介してプロジェクタ装置110に発言者に関する情報を入力したりすることで、識別してもよい。さらに、他の実施形態では、話者認識技術により、混在する音声の中から発言者を認識してもよい。
操作UI部222は、例えばウェブサーバ機能として実装され、クライアント端末108上のウェブ・ブラウザからの要求に応答して、各種操作画面をクライアント端末108に応答する。各種操作画面としては、上述した会議状態判定ルールを管理するための会議状態判定ルール管理画面、会議状態変化入力画面および会議状態変更アクション指示画面などを挙げることができる。ここで、会議状態変化入力画面は、会議の参加者が感じ取った会議状態の変化をプロジェクタ装置110に通知するため画面である。また、会議状態変更アクション指示画面は、参加者が感じ取った会議の場面に応じて会議状態変更アクションをプロジェクタ装置110に指示するための画面である。操作UI部222は、各種操作画面を介して行われた操作に基づきウェブ・ブラウザから送信されたリクエストを受信して、操作画面に応じて処理を振り分ける。
会議状態変化入力画面を介して、変化後の会議状態を通知する操作が行われた場合は、操作UI部222は、会議状態変化入力部224に対し、その変化後の会議状態を含めた会議状態変化の指示入力を行う。会議状態変化入力部224は、この指示入力を受け取り、その変化後の会議状態を会議メタ情報管理部206にメタ情報として記録させる。
会議状態変更アクション指示画面を介して、アクション実行指示を通知する操作が行われた場合は、操作UI部222は、会議状態変更アクション入力部226に対し、その指示されたアクションを含めた会議状態変更アクション実行の指示入力を行う。会議状態変更アクション入力部226は、この指示入力を受け取り、指示されたアクションの実行依頼を会議状態変更アクション実行部212に対して行う。会議状態変更アクション実行部212は、クライアント端末108の操作者による明示的なアクション実行指示に対応して、指定されたアクションを実行し、その後、会議メタ情報管理部206に対してアクションの実行を通知し、メタ情報として記録させる。
このようにして、会議メタ情報管理部206は、会議を識別する情報と、音声認識部220による発言内容(音声認識テキスト)と、発言者と、発言された開始時刻と、終了時刻とを紐付けて会議メタ情報208に記録する。また、会議メタ情報管理部206は、会議状態変化の指示入力が行われた場合に、検出者と、変化後の会議状態と、その変化した時刻とを紐付けて会議メタ情報208に記録する。会議メタ情報管理部206は、さらに、会議状態変更アクションが実行された場合に、実行指示者と、実行された会議状態変更アクションと、実行された時刻とを紐付けて記述する。
上述した会議状態変化入力部224および会議状態変更アクション入力部226に対して行われた指示入力に基づくメタ情報は、会議の参加者から入力された教師データとして、会議状態判定学習部210によって利用される。会議状態判定学習部210は、会議メタ情報208内のメタ情報を取得し、どのようなコンテキストにおいて、どの会議状態からどの会議の状態への変化が認識されたかを学習する。また、会議状態判定学習部210は、会議メタ情報208に基づいて、どのようなコンテキストで、いずれの会議状態変更アクションが実行されたのかを学習する。上記学習処理により、会議の場面に対応して情報提示を行うための新たな条件が抽出され、会議状態判定ルールテーブル202にルールが追加される。上記学習処理は、例えば、会議メタ情報208が更新されたタイミングで行うことができる。なお、会議状態判定学習部210が実行する学習処理については、詳細を後述する。
会議状態判定ルール管理部228は、ルールテーブル202内のルールを手動定義し、または会議状態判定学習部210により追加されたルールを修正、削除等するために設けられた手段である。会議状態判定ルール管理画面を介して操作が行われた場合は、操作UI部222は、会議状態判定ルール管理部228に対して、その操作内容を含む指示入力を行う。会議状態判定ルール管理部228は、渡された操作内容に基づき、ルールテーブル202の内容を編集する。なお、会議状態判定ルール管理部228によるルールテーブル202の管理処理については、詳細を後述する。
特定の実施形態において、プロジェクタ装置110は、さらに、アンケート入力部230と、レポート出力部232とを含み構成することができる。操作UI部222は、クライアント端末108上のウェブ・ブラウザからの要求に応答して、操作画面として、アンケート画面およびレポート画面を応答することができる。
アンケート画面を介して会議の評価の入力操作が行われた場合は、操作UI部222は、アンケート入力部230に対して、参加者による評価結果を含む指示入力を行う。アンケート入力部230は、操作内容に基づき、会議の参加者が当該会議に対して行った評価結果を取得し、会議メタ情報管理部206に対して、アンケート結果を記録させる。
レポート出力画面を介して操作が行われた場合は、操作UI部222は、レポート出力部232に対して、その操作内容を含む指示入力を行う。レポート出力部232は、操作内容に基づき、会議メタ情報管理部206から、会議の状態およびアンケート結果に関するメタ情報を取得して、会議の状態や評価を集計して、集計結果を含むレポートを出力する。操作UI部222は、集計結果を受け取り、集計結果を表示データに埋込み、クライアント端末108に応答する。
以下、図3〜図9を参照しながら、会議メタ情報208を収集しながら、会議状態判定ルールテーブル202に追加するにルールを学習する処理について説明する。図3は、第1の実施形態によるプロジェクタ装置110が実行する学習処理を示すフローチャートである。図3に示す処理は、プロジェクタ装置110が学習モードに設定されて会議の開始が指示されたことに応答して、ステップS100から開始される。ステップS101では、会議の参加者から入力される情報の種類に応じて処理を分岐させる。
ステップS101で、参加者の発言に対応する音声データが入力された場合は、ステップS102へ処理が分岐される。ステップS102では、音声認識部220は、音声入力部218からの音声データをテキスト化し、音声認識テキストを生成する。ステップS103では、会議メタ情報管理部206は、上記音声認識テキストを発言内容として、識別された発言者、発言の開始時刻および終了時間をセットにして発言イベントを記録し、ステップS101へ処理をループさせる。
図4は、会議メタ情報管理部206が記録する会議メタ情報250のデータ構造を例示する図である。図4に示す会議メタ情報250は、XML(Extensible Markup Language)で記述されたデータであり、例えば、会議毎にXMLデータベースなどに格納される。会議メタ情報250における要素タグおよび属性の意義は、表1に示す通りである。
図4に示すデータ構造において、004−007行では、Remark要素タグにより、発言者が「taro」であるとして、「XXX大学運営準備会・・・・よろしくお願いしたい。」という内容の発言が、開始時刻および終了時刻とともに記録されている。008−010行、011−013行および014−016行も同様に発言イベントである。
ステップS101で、無音の音声データが入力される場合は、ステップS104へ処理が分岐される。ステップS104では、音声認識部220が、音声入力部218からの音声データから無言期間を検出する。ステップS105では、会議メタ情報管理部206は、検知された無言期間が所定の時間以上である場合に、その無言期間について、検出者(ここではシステムとなる)、無言期間の開始時刻および終了時間をセットにして無言イベントを記録し、ステップS101へ処理をループさせる。なお、無言期間は、会議メタ情報250内に明記せずともよい。図4に示す会議メタ情報250においてRemark要素タグで発言の時間幅が記録されるので、発言イベント以外の期間を無言期間であるとして取り扱ってもよいからである。
一方、ステップS101で、操作UI部222を介した指示入力が行われた場合は、別の処理フローへ分岐される。図5は、第1の実施形態において、操作UI部222から提供されて、クライアント端末108のディスプレイ装置上に表示されるUI画面を例示する図である。図5(A)は、会議状態変化入力画面300を例示する図である。図5(A)に示す会議状態変化入力画面300は、変更後の会議状態の入力を促すメッセージ表示302と、これまでの会議の状態を示す会議状態表示304と、変更後の会議状態を指定するために各会議状態に対応付けられたボタン306a〜306eとを含む。会議状態変化入力画面300において、ボタン306a〜306eのいずれかがクリックされると、そのボタン306に対応する会議状態を含む会議状態変化指示入力が行われる。この指示入力は、上述したとおり、会議の参加者が感じ取ってプロジェクタ装置110に対し通知する会議状態の変化を示すものである。
ステップS101で、クライアント端末108から会議状態変化指示入力が入力された場合は、ステップS106へ処理が分岐される。ステップS106では、会議状態変化入力部224は、操作UI部222を経由して、クライアント端末108から指示入力を受領する。ステップS107では、会議メタ情報管理部206は、上記会議状態変化指示入力に応答して、変化後の新しい会議状態、検出者、検出した時刻をセットにして会議状態変化イベントとして記録する。検出者は、指示入力元のクライアント端末の識別子を用いて識別することができる。
図4に示す会議メタ情報250における017−019行では、State要素タグにより、検出者が「Ken」であるとして、「行き詰まり状態」へ変化する会議状態変化イベントが記録されている。なお、会議状態変化イベントは、001−003行に示すように、システムが検知する場合もある。
ステップS108では、会議状態判定学習部210は、会議メタ情報管理部206から会議メタ情報208を取得し、参加者による状態変更イベントを教師データとして利用して学習を行う。より具体的には、会議状態判定学習部210は、取得した会議メタ情報208から、どのようなコンテキストにおいてどの会議状態に変化したかを抽出する。ステップS109では、会議状態判定学習部210は、変化前の会議状態および抽出された条件を、変化後の新しい会議状態と対応付けて、ルールテーブル202にルールを追加する。なお、ステップS108で抽出され、ステップS109で追加されるルールについては、会議状態変更アクション指示入力が行われた場合の説明とまとめて説明する。
図5(B)は、会議状態変更アクション指示画面310を例示する図である。図5(B)に示す会議状態変更アクション指示画面310は、実行するアクションの入力を促すメッセージ表示312と、各アクションに対応するボタン314a〜314eとを含む。また、ボタン314eは、頻出発言で検索した結果を情報提示するアクションに対応付けられたボタンであり、指示画面310は、さらに、アクション実行のパラメータを入力するためのUI部品316〜320を含む。
プルダウンメニューリスト316は、どの期間の頻出発言を検索クエリに含めるかを指定するUI部品である。ラジオボタン318は、頻出発言の検索単位を頻出単語とするか、頻出文脈とするかを選択するためのUI部品である。ラジオボタン320は、情報ソースとして「インターネット」および「社内文書管理サーバ」のいずれを選択するかを指定するためのボタンである。会議状態変化入力画面300において、ボタン314a〜314eのいずれかがクリックされると、そのボタンに対応するアクションを含む会議状態変更アクション指示入力が行われる。
ステップS101で、会議状態変更アクション指示入力が入力された場合は、ステップS110へ処理が分岐される。ステップS110では、会議状態変更アクション入力部226は、操作UI部222を経由して、クライアント端末108から会議状態変更アクション実行指示入力を受領する。ステップS111では、会議状態変更アクション実行部212は、会議状態変更アクション入力部226からの依頼に応じて、アクションを実行し、その実行の完了を応答する。ステップS112では、会議メタ情報管理部206は、実行したアクション、実行者、実行した時刻をセットで、アクション実行イベントとして記録する。実行者は、指示入力を送信してきたクライアント端末の識別子を用いて識別することができる。
図4に示すデータ構造において、020−022行では、Action要素タグにより、実行者が「Ken」であるとして、「休憩を促すメッセージ表示」のアクションが、実行指示が行われた時刻とともに会議状態アクション実行イベントが記録されている。
ステップS113では、会議状態判定学習部210は、会議メタ情報管理部206から会議メタ情報208を取得し、この会議メタ情報から、どのようなコンテキストで、どの会議状態変更アクションが実行されたかを抽出する。ステップS114では、会議状態判定学習部210は、現在の会議状態および抽出された条件を、上記指示入力されたアクションと対応付けて、会議状態判定ルールテーブル202に新しいルールを追加する。
一方、ステップS101で、会議の終了の指示入力が入力された場合は、ステップS115へ処理を分岐させ、本学習処理を終了させる。
以下、会議の場面を判定してアクションを呼び出すルールについて、より詳細に説明する。図6(A)は、第1の実施形態における会議状態判定ルールテーブル260のデータ構造を例示する図である。図6(A)に示すように会議状態判定ルールテーブル260は、現在の状態と、現在の状態において会議メタ情報に対し適用する条件項目と、対応付けられる会議状態変更アクションと、優先度と、発生回数と、効果回数とが入力されるカラムを含む。現在の会議状態および条件項目が、コンテキストに基づいて会議の特定の場面を検出するための会議状態変更条件を構成している。
図6(A)に示す会議状態判定ルールテーブル260における番号1〜5は、会議状態が「行き詰まり状態」であるときに、300秒以上の無言期間(SilentTime)を検知して、議論が行き詰まって意見が出ていない場面であると検知する会議状態変更条件に対応する。ルール判定で参照される会議状態は、上述したように、参加者から入力された会議状態であってもよいし、ルールに基づいてシステムが検知した会議状態であってもよい。
図6(A)に示す例では、この会議状態変更条件に対して、「休息を促すメッセージ表示」、「発言テキスト表示」、「インターネット検索」、「文書管理サーバ検索」および「雰囲気を明るくする画像を表示」といった複数のアクションが対応付けられている。各アクションには、優先度が設定され、この優先度は、この会議状態変更条件が満たされたときに、いずれのアクションを選択するかの確率を計算するために用いられる。図6(A)に示す例では、同一の会議状態変更条件である番号1〜5には、優先度として、それぞれ、100、90、80、70、60が設定されている。そして、その合計値400を分母とし、各優先度を分子とした値で規定される確率でアクションが選択されることになる。例えば、1番目のルールでは、25%の発生確率となる。後述するルール判定において会議状態変更条件が満たされたときは、乱数生成に基づいて、番号1〜5のルールのうちの1つが上記確率で選択される。
発生回数は、そのコンテキストにおいてそのアクションが発生した回数を計数したものであり、ここでは主に、参加者からの指示入力に基づくアクションの発生回数が計数される。したがって、発生回数が多いということは、参加者が、そのコンテキストにおいてアクションの必要性を感じ取ったことが多いことを意味し、有効なルールである蓋然性が高いことを意味する。効果回数は、そのアクション後に、会議の状態が好転した場合にカウントアップされ、これが多いことも有効なルールである蓋然性が高いことを意味する。会議の状態が好転したか否かの判断は、参加者からの明示的な会議状態の変化の通知またはルールベースの状態変化の検知に基づいて、予め状態間に定義された好転する遷移方向に変化したか否かの判断によって行うことができる。上記優先度は、参加者が、発生回数や効果回数を確認して、会議状態判定ルール管理画面で手動設定してもよいし、発生回数や効果回数に応じてシステムが自動決定またはユーザの入力値に対する調整を施してもよい。
下記表2は、上記条件項目に入力することができる条件を例示する。
表2に例示されるように、条件項目は、無言時間に対する閾値条件項目(第1番目の条件例)、事前定義された特定の単語の出現頻度に対する閾値条件項目(第2番目の条件例)、事前定義された特定の文脈の出現頻度に対する閾値条件項目(第3番目の条件例)、特定の発言者が発言したという条件項目(第4番目の条件例)、特定の発言内容であるという条件項目(第5番目および第7番目の条件例)、特定の発言内容を含まないという条件項目、同一話者が継続して発言した時間に対する閾値条件項目(第6番目の条件例)、特定の者が継続して発言していない時間に対する閾値条件項目、経過時間に対する閾値条件項目(第7番目の条件例)、無言時間の発言時間に対する割合(統計値)に対する閾値条件項目からなる群から選択された少なくとも1つの条件項目を含むことができる。また、これらの条件項目は、単独で用いられてもよいし、複数の条件項目を論理和または論理積で組み合わせられてもよいし、順序付きで組み合わせられてもよい。
図7は、第1の実施形態において会議状態判定学習部210のルールの学習処理を説明する図である。図7(A)および(B)は、それぞれ、会議メタ情報の一部280,284と、その一部から抽出されるルール282,286を例示する。まず、図3におけるステップS112で、会議状態変更アクション実行イベントが記録されると、ステップS113では、会議状態判定学習部210は、会議メタ情報208からコンテキストを判定する。コンテキスト判定では、その会議状態変更アクション実行イベントが記録された時点の直近の会議状態が抽出され、実行イベントが記録された時点の直前、または直前のイベントから所定数または所定時間さかのぼった複数のイベントから条件項目が抽出される。
図7(A)に示す例では、行101−103の会議状態変化イベントを検出して会議状態「行き詰まり状態」が検知され、行105−106の無言イベントを検出して、条件項目「SilentTime>120」が抽出される。そして、抽出された会議状態および条件項目に対応付けて、記録された会議状態変更アクション「休憩を促すメッセージ」が生成され、会議状態判定ルールテーブル202に追加される。
また、図7(B)に示す例では、行201−203の会議状態変化イベントを検出して会議状態「行き詰まり状態」が検知される。そして、行204−206の発言イベントが検出され、事前定義された辞書に適合する「Speaker=master AND Remark=”ご意見はありませんか?”」という発言に関する条件項目が抽出され、行207−208の無言イベントを検出して、条件項目「SilentTime>60」が抽出される。ここで、Speaker属性に対するmasterの値は、参加者のロールとしての議長の役割であり、参加者に対する条件項目の変形例である。そして、抽出された会議状態および条件項目に対応付けて、記録された会議状態変更アクション「休憩を促すアクション」が生成される。
図7(B)に示す例では、直前のイベントに基づき、条件項目「SilentTime>60」単独のルールと、さかのぼった複数のイベントに基づき、条件項目「Speaker=master AND Remark=”ご意見はありませんか?”」および条件項目「SilentTime>60」を順序付けて組み合わせたルールとが生成され得る。このような条件項目の抽出は、ベンダ側でまたはユーザ側で事前定義されパターン辞書を用いて行うことができ、いずれのルールが生成されるか、または両方のルールが生成されるかは、パターン辞書とともに事前定義しておくことができる。
図6(B)は、第1の実施形態における別の会議状態判定ルールテーブル270のデータ構造を例示する図である。図6(A)に示すテーブル260は、会議状態変更条件に対して会議状態変更アクションを対応付けるものであった。これに対して図6(B)は、会議状態変更条件に対して新しい会議状態を対応付ける、会議状態の変化を検出するためのルールを示す。図6(B)に示すように会議状態判定ルールテーブル270は、現在の状態と、現在の状態において会議メタ情報に対し適用する条件項目と、対応付けられる新しい会議状態と、発生回数とが入力されるカラムを含む。新しい会議状態は、所定の会議状態において所定の条件項目が満たされた場合にこの状態に移行することを意味し、会議状態の移行は、一種の会議状態変更アクションとして考えることができる。
条件項目は、上記と同様であり、例えば、図6(B)の例示では、1番目のルールは、会議状態「普通状態」において、無言状態が60秒時間続いた後に、議長(master)が「どなたか?」という発言をしたことを検知して、「行き詰まり状態」への変化を検知するルールを示す。2番目のルールは、会議状態「普通状態」において、無言状態の割合が20%未満となったとき、「活発状態」への変化を検知するというルールを示す。このような、会議状態の変化を検出するためのルールの条件項目の抽出も、ベンダ側でまたはユーザ側で事前定義されパターン辞書を用いて行うことができる。
以下、図8および図9を参照して、会議状態判定ルールを管理する処理について説明する。図8は、操作UI部222から提供されて、クライアント端末108のディスプレイ装置上に表示される会議状態判定ルール管理画面330を例示する図である。図8に示す会議状態判定ルール管理画面330は、利用者により手動入力された、または会議状態判定学習部210による学習処理で追加されたルールの修正、削除、新たなルールの追加を行うための画面である。管理画面330は、テーブル332と、修正ボタン334と、削除ボタン336と、追加ボタン338と、推奨ルール表示ボタン340と、閉じるボタン342とを含む。テーブル322は、現在の状態、条件項目、会議状態変更アクション、優先度および発生回数からなる各ルール毎のレコードを含む。
テーブル332上でレコードが選択されて、修正ボタン334がクリックされると、選択されたルールを編集するためのダイアログが表示される。テーブル332上でレコードが選択されて、削除ボタン336がクリックされると、選択されたルールが会議状態判定ルールテーブル202から削除される。追加ボタン338がクリックされると、ルールを新規追加するためのダイアログが表示される。
また、会議状態判定学習部210の学習処理によって追加されたルールは、会議メタ情報208から辞書パターンにより抽出されるため、必ずしも有効なルールのみからなるわけではなく、また、類似するルールも多数追加され得る。推奨ルール表示ボタン340は、そのようなルールを整理し、集約するためのダイアログを呼び出すためのボタンである。
図9は、会議状態判定ルール管理画面350において、推奨ルール表示ボタン340がクリックされたことにより呼び出される推奨ルール表示画面350を例示する図である。図9に示す推奨ルール表示画面350は、テーブル352と、反映ボタン354と、戻るボタン356とを含む。テーブル352は、現在の状態、条件項目、会議状態変更アクション、優先度および発生回数からなる、集約された各ルール毎のレコードを含む。テーブル352のチェックボックス352aは、その候補となるルールを有効化するか無効化するかを指定するためのUI部品である。
集約されたルールの計算方法としては、同一または類似の条件(前の会議状態や条件項目)でグループ化し、グループ化された条件における条件項目を集約する計算処理を行う。例えば、無言期間(SilentTime)に対する閾値条件項目のような数値条件については、その数値の平均値を計算して集約することができる。特定の単語や文脈(発言内容)を含むという条件項目や、特定の発言者が発言したという条件項目であれば、ルールにおいて、出現頻度の低い単語、文脈および発言者を無視して、出現頻度の高い単語、文脈および発言者のみを残すようにして集約することができる。また、集約した結果、同一の会議状態変更条件に対し複数のアクションが対応付けられた場合は、発生頻度が高いもの順にランク付けして表示する。
図9の例示では、図6(A)に示した番号1〜5のルールと、その後に追加されたルールにおける無言期間(SilentTime)に対する閾値条件項目が、その数値の平均値として270秒が計算され、条件項目「SilentTime>270」に集約されている。そして、条件項目「SilentTime>270」に対して、5個のアクションが発生回数でランク付けた上、対応付けられている。
このように、会議状態判定学習部210によるルールの抽出と、会議状態判定ルール管理画面330によるルールの集約および編集を経て、判定で参照される会議状態判定ルールテーブル202の各ルールが定義される。
以下、図10および図11を参照しながら、会議メタ情報208を収集しながら、準備された会議状態判定ルールテーブル202に基づき会議の場面に応じて情報提示を行う処理について説明する。図10は、第1の実施形態によるプロジェクタ装置110が実行する場面に応じた情報提示処理を示すフローチャートである。図10に示す処理は、例えば、プロジェクタ装置110が情報提示モードに設定されて会議の開始が指示されたことに応答して、ステップS200から開始される。ステップS201では、会議の参加者から入力される情報の種類に応じて処理を分岐させる。
ステップS201で、参加者の発言に対応する音声データが入力された場合は、ステップS202へ処理が分岐される。ステップS202では、音声認識部220が、音声入力部218からの音声データをテキスト化し、ステップS203では、会議メタ情報管理部206が、発言イベントを記録し、ステップS211へ処理を進める。ステップS211以降の処理については後述する。
ステップS201で、無音の音声データが入力される場合は、ステップS204へ処理が分岐される。ステップS204では、音声認識部220が、音声データから無言期間を検出し、ステップS205では、会議メタ情報管理部206が、無言イベントを記録し、ステップS211へ処理を進める。
一方、ステップS201で、クライアント端末108から会議状態変化指示入力が入力された場合は、ステップS206へ処理が分岐される。この指示入力は、上述した会議状態変化入力画面300を介して、会議の参加者が感じ取って明示的に通知してきた会議状態の変化を示すものである。ステップS206では、会議状態変化入力部224が、クライアント端末108から会議状態変化指示入力を受領し、ステップS207では、会議メタ情報管理部206が、会議状態変化イベントとして記録する。
ステップS201で、会議状態変更アクション指示入力が入力された場合は、ステップS208へ処理が分岐される。ステップS208では、会議状態変更アクション入力部226が、クライアント端末108から会議状態変更アクション実行指示入力を受領する。ステップS209では、会議状態変更アクション実行部212が、会議状態変更アクションを実行する。ステップS210では、会議メタ情報管理部206が、アクション実行イベントとして記録する。
ステップS203、ステップS205、ステップS207およびステップS210からステップS211へ処理が進められると、ステップS211では、会議状態判定部204は、会議状態変更条件を満たすか否かを判定する。なお、ここで判定されるルールは、図6(B)に示したような会議状態を変化させるルールを含んでもよい。会議状態変更条件のいずれも満たされないと判定された場合(NO)は、ステップS201へ再びループさせて次のイベント発せいを待ち受ける。一方、会議状態判定ルールテーブル202内のルールいずれかを満たすと判定された場合(YES)は、ステップS212へ処理が進められる。
ステップS212では、会議状態判定部204は、マッチした会議状態変更条件に対応付けられる会議状態変更アクションを選択し、会議状態変更アクション実行部212に実行を依頼する。ここでは、複数のルールに一致した場合は、上述した優先度に応じた確率でアクションが選択される。ステップS213では、会議状態変更アクション実行部212が、会議状態変更アクションを実行する。
図11は、第1の実施形態において、会議状態変更アクション実行部212によるアクション実行に基づき、表示出力部214がスクリーンに投影する情報提示画面を例示する図である。図11(A)は、「休息を促すメッセージ表示」ないし「雰囲気を明るくするテキストまたは画像表示」のアクション実行結果を例示する。図11(B)は、これまでの発言をまとめて表示する「発言テキスト表示」のアクション実行結果を例示する。図11(C)は、「頻出キーワードのインターネット検索結果表示」ないし「頻出キーワードの文書管理システム内の検索結果表示」のアクション実行結果を例示する。
再び図10を参照すると、ステップS214では、会議メタ情報管理部206が、実行された会議変更アクション、実行者、時刻をセットで、会議状態変更アクション実行イベントとして記録し、ステップS201へ再びループさせる。ここで、図6(B)に示したような会議状態を変化させるルールに合致していた場合は、会議状態の変化が記録される。一方、ステップS201で、会議の終了の指示入力が入力された場合は、ステップS215へ処理を分岐させ、本情報提示処理を終了させる。
以下、図12および図13を参照しながら、本実施形態によるアンケート収集処理およびレポート出力処理について説明する。図12は、クライアント端末のディスプレイ装置上に表示されるアンケート画面を例示する図である。アンケート画面360は、メッセージ表示362と、会議に対する評価を入力するためのボタン364a〜364cとを含む。アンケート画面を介して会議の評価の入力操作が行われた場合は、アンケート入力部230は、クリックされたボタン364に対応する、各参加者からの評価結果を取得し、会議メタ情報管理部206に対して、アンケート結果を記録させる。
図13は、クライアント端末のディスプレイ装置上に表示されるレポート画面を例示する図である。図13(A)は、変化が検知された、または参加者により変化が入力された各会議状態の会議における割合の遷移を、日別でグラフ表示するレポート画面を示す。図13(A)に示すレポート画面370は、グラフ表示372と、遷移を月別表示に切り替えるためのボタン374と、遷移を週別表示に切り替えるためのボタン376と、遷移を日別表示に切り替えるためのボタン378とを含む。
図13(B)は、参加者により入力された会議の評価の分布の遷移を、日別でグラフ表示するレポート画面を示す。図13(B)に示すレポート画面380は、グラフ表示382と、遷移を月別表示に切り替えるためのボタン384と、遷移を週別表示に切り替えるためのボタン386と、遷移を日別表示に切り替えるためのボタン388とを含む。図13に示すレポート出力により、会議の参加者は、会議の内容をメタ記述する会議メタ情報に基づいた会議内容の履歴と、参加者が主観的に感じた会議に対する評価との一致や齟齬を認識することができる。
上述した第1の実施形態によれば、蓄積される会議メタ情報208から、事前定義された会議状態判定ルールテーブル202内のルールに照らし合わせて情報提示の要否が判定される。よって、会議の特定の場面に応じて、会議の状態を好転させことが期待できる情報提示を行うことが可能となる。また、会議の特定の場面が判定された上で情報提示が行われるので、情報提示自体の効果自体が薄れてしまったりすることや、議論を脇道に脱線させるなど、ユーザの意識を本来向けられるべき議題からそらしてしまうことも低減することが期待できる。
[第2の実施形態]
なお、上述した第1の実施形態は、場面に応じた情報提示を行うための各機能部202〜232をすべてプロジェクタ装置110が備えるものとして説明した。しかしながら、場面に応じた情報提示を行うための各機能部202〜232の構成は、特に限定されるものではなく、一部の機能を外部のコンピュータ・システム上で分散実装する形態としてもよい。
以下、上述した一部の機能を外部のコンピュータ・システム上で分散実装する第2の実施形態について、図14および図15を参照して説明する。なお、第2の実施形態では、情報提示装置の一例として、プロジェクタ装置に接続され、会議の場面を判定し適切な情報提示をプロジェクタ装置に対して指令する外部コンピュータ・システムを用いて説明する。図14は、第2の実施形態による会議進行支援システムが構成されたネットワーク環境を示す概略図である。図15は、第2の実施形態によるコンピュータ・システム上で実現される機能ブロック図である。
図14に示すネットワーク環境400は、ネットワーク402を介して相互に接続される、1以上のクライアント端末404と、プロジェクタ装置410と、外部のコンピュータ・システム430とを含み構成される。
クライアント端末404は、第1の実施形態と同様に、画面をプロジェクタ装置410に対して出力するとともに、操作者からの操作入力に従って、ネットワーク402を介してプロジェクタ装置410に対して各種指示を送信する。第2の実施形態によるプロジェクタ装置410は、所定のクライアント端末404から入力される画面をスクリーンに投影するとともに、外部のコンピュータ・システム430からの情報に応答して情報提供を行う。
コンピュータ・システム430は、操作者による操作に従いクライアント端末404からネットワーク402を介して送信される各種指示入力に応答して、各種処理を実行し、処理結果を返す。特定の実施形態において、コンピュータ・システム430は、ウェブサーバ機能を備え、クライアント端末404上のウェブ・ブラウザからの要求に応答して、各種操作画面のウェブ・ページを応答する。コンピュータ・システム430は、各種操作画面を介して行われた操作に応じてウェブ・ブラウザから送信された要求を受信して、各種指示入力を受け付ける。
第2の実施形態においては、コンピュータ・システム430が、会議の場面を判定し、場面に応じて適切な提示情報の出力を、プロジェクタ装置410に指令する情報提示機能を備えている。
図15において、点線で囲まれた矩形内の機能部は、第2の実施形態において、外部のコンピュータ・システム430上で動作する機能部を示す。これに対して矩形外の機能部は、プロジェクタ装置410、または、外部の別の装置上で動作する機能部を示す。図15に示す第2の実施形態による機能ブロック500は、コンピュータ・システム430上の機能部として、会議状態判定ルールテーブル502と、会議状態判定部504と、会議状態判定学習部506と、会議メタ情報管理部508と、会議メタ情報510と、会議状態変更アクション指令部512と、関連情報検索部514と、音声認識部516と、操作UI部518と、会議状態変更アクション入力部520と、会議状態変化入力部522と、会議状態判定ルール管理部524とを含む。なお、第1の実施形態と同一名称の機能部は、第1の実施形態の場合と同様のはたらきをする。
図15に示す会議状態変更アクション実行部556および表示出力部558は、プロジェクタ装置510上の機能部として実装される。会議状態変更アクション指令部512は、会議状態判定部504により、会議状態変更条件のひとつを満たすと判定された場合に、その条件に対応付けられた会議状態変更アクションの実行の依頼を受けて、このアクションの実行を、会議状態変更アクション実行部556に指令する。会議状態変更アクション指令部512は、依頼されたアクションが実行された後、会議状態変更アクション実行部556より通知を受けて、会議メタ情報管理部508に対し、該アクションの実行を通知して、メタ情報として記録させる。表示出力部558は、第1の実施形態と同様に、クライアント端末404から入力される画面をスクリーンに投影するとともに、会議状態変更アクション実行部256のアクション実行に応答して、その実行結果をスクリーンに投影する。
図15に示す第2の実施形態において、第1の実施形態における音声認識部220は、外部コンピュータ・システム430側の機能部516と、プロジェクタ装置410または他の装置側の機能部554に分離して実装される。音声入力部552は、プロジェクタ装置410または他の装置上に実装される。プロジェクタ装置410または他の装置側の音声認識部554は、音声ノイズの除去と特徴量抽出を実行するフロントエンド側の処理を実行し、コンピュータ・システム430側の処理部516は、特徴量抽出された音声データ(特徴量データ)をフロントエンドから受信し、認識処理を処理するバックエンドのエンジンに対応する。
なお、外部コンピュータ・システム430は、単一のコンピュータ装置であってもよいし、仮想コンピュータであってもよいし、複数のコンピュータから構成され分散演算を行うコンピュータ・システムであってもよい。また、プロジェクタ装置410と外部コンピュータ・システム430との間における機能部を分担させる態様は、図15に示す例に限定されず、任意の態様で行うことができる。
また、上述までの実施形態では、入力される情報としては、音声入力に基づく音声データを例に説明した。しかしながら、入力され、それに基づいて会議の内容が記述される情報は、音声データに限定されるものではない。例えば、他の実施形態では、音声データに代えて、または音声データとともに、文字入力に基づく文字データ、画像入力に基づく画像データおよび電子黒板に対する描画入力に基づくストロークデータ、またはこれらの少なくとも1つの入力を受けることができる。そして、その場合、会議メタ情報管理部206は、会議メタ情報として、上述した音声データ、文字データ、画像データおよびストロークデータ、またはこれらの少なくとも1つを処理して得られる会議の内容を記述するデータを記録することができる。
以上説明したように、上述した実施形態によれば、会議における場面に応じて適切なタイミングに情報提示を行うことを可能とするための会議情報処理システム、会議情報処理装置およびプログラムを提供することができる。
なお、上記機能部は、アセンブラ、C、C++、C#、Java(登録商標)、などのレガシープログラミング言語やオブジェクト指向プログラミング言語などで記述されたコンピュータ実行可能なプログラムにより実現でき、ROM、EEPROM、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、ブルーレイディスク、SDカード、MOなど装置可読な記録媒体に格納して、あるいは電気通信回線を通じて頒布することができる。
これまで本発明の実施形態について説明してきたが、本発明の実施形態は上述した実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。