以下、図面を参照しながら本発明の実施形態について説明する。まず、本実施形態に係る会話支援システムS1の構成例について説明する。図1は、本実施形態に係る会話支援システムS1の構成例を示すブロック図である。会話支援システムS1は、会話支援装置100と、端末装置200と、を含んで構成される。
会話支援システムS1は、2人以上の参加者が参加する会話において用いられる。参加者には、発話と音声の受聴の一方または両方に不自由な者(以下、「障がい者」と呼ぶ)が1名以上含まれていてもよい。障がい者は、個々に端末装置200の操作部280(後述)を操作して、発言内容を示す発言テキスト(以下、「第2テキスト」)を会話支援装置100に入力してもよい。発話および音声の受聴に困難を伴わない者(以下、「健常者」と呼ぶ)は、個々に収音部170または収音部を備える機器(例えば、端末装置200)を用い、発話した音声を会話支援装置100に入力してもよい。会話支援装置100は、入力された音声を示す音声データに対して公知の音声認識処理を行い、音声による発言内容を示す発言テキスト(以下、「第1テキスト」)に変換する。会話支援装置100は、変換により得られた第1テキストと端末装置200から得られた第2テキストのいずれかの発言テキストが取得されるたびに、取得される発言テキストを表示部190に表示させる。障がい者は、表示される発言テキスト(以下、「表示テキスト」)を読むことで会話における発言内容を理解することができる。
会話支援装置100は、記憶部140に取得される発言テキストを順次記憶する。記憶部140には、過去の発言テキストが累積してなる発言履歴が保存される。会話支援装置100は、取得される発言テキストから所定のトピックの語句を抽出し、記憶部140から抽出した語句のトピックに関連する発言テキストである参考テキストを検索する。会話支援装置100は、検索により得られる参考テキストに関する関連情報を、取得される発言テキストと関連付けて表示部190に表示させる。表示部190には、その時点における発言テキストが、共通のトピックを有する過去の参考テキストに関する関連情報を対比して表示される。そのため、参加者、例えば、障がい者が発言テキストで伝達される発言内容をより容易に理解することができる。
会話支援装置100は、発言テキストから抽出した語句に関するトピックに係る要素情報(以下、「第1要素情報」)と、参考テキストから、そのトピックに係る要素情報(以下、第2要素情報)の抽出を試行し、第2要素情報から第1要素情報への異動が生ずる場合には、その異動に関する関連情報を表示部190に表示させる。関連情報として、トピックの要素となる要素情報の異動自体、その異動の発生を案内するための案内情報などが表示される。そのため、参加者、例えば、障がい者が発言テキストで伝達される発言内容をより容易に理解することができる。関連情報、要素情報、などの表示例については、後述する。
図1に示す会話支援システムS1は、1個の会話支援装置100と1個の端末装置200を備えるが、これには限らない。端末装置200の数は、2個以上になることもありうるし、0個の場合もありうる。会話支援装置100、端末装置200は、それぞれ図1に示す例では、親機、子機としての機能を有する。
なお、本願では、「会話」とは2人以上の参加者間での意思疎通のことを意味し、音声を用いた意思疎通に限られず、テキストなどの、その他の種別の情報媒体を用いた意思疎通も含まれる。会話には、2人以上の参加者間で自発的または任意になされる意思疎通に限られず、会議、発表会、講演会、式典のように特定の参加者(例えば、司会者)が他の参加者の発言を統制する形態での意思疎通も含まれる。また、「発言」とは言語を用いて意思を伝達することを意味し、音声を発して意思を伝達することに限らず、テキストなど、その他の種別の情報媒体を用いて意思を伝達することも含まれる。
(会話支援装置)
次に、本実施形態に係る会話支援装置100の構成例について説明する。会話支援装置100は、制御部110と、記憶部140と、通信部150と、入出力部160と、を含んで構成される。制御部110は、各種の演算処理を行うことにより、会話支援装置100の機能を実現し、その機能を制御する。制御部110は、専用の部材により実現されてもよいが、プロセッサと、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶媒体を備えてもよい。プロセッサは、予めROMに記憶された所定のプログラムを読み出し、読み出したプログラムをRAMに展開して、RAMの記憶領域を作業領域として用いる。プロセッサは、読み出したプログラムで記述された各種の命令で指示される処理を実行して制御部110の機能を実現する。実現される機能には、後述する各部の機能が含まれうる。以下の説明では、プログラムに記述された命令で指示される処理を実行することを、「プログラムを実行する」、「プログラムの実行」などと呼ぶことがある。プロセッサは、例えば、CPU(Central Processing Unit)などである。
制御部110は、音声分析部112、音声認識部114、テキスト取得部118、テキスト処理部120、議事録作成部122、トピック解析部124、検索部126、表示処理部134、表示制御情報取得部136およびモード制御部138を含んで構成される。
音声分析部112には、収音部170から入出力部160を経由して音声データが入力される。音声分析部112は、入力された音声データについて所定の長さのフレームごとに音声特徴量を算出する。音声特徴量は、そのフレームにおける音声の音響的な特徴を示す特性パラメータで表される。算出される音声特徴量は、例えば、パワー、零交差数(Number of Zero-Crossings)、メル周波数ケプストラム係数(MFCC:Mel-Frequency Cepstrum Coefficients)などである。そのうち、パワーとゼロ交差数は、発話状態の判定に用いられる。MFCCは、音声認識に用いられる。1フレームの期間は、例えば、10ms~50msである。
音声分析部112は、算出した音声特徴量に基づいてフレームごと発話状態を判定する。音声分析部112は、公知の音声区間検出処理(VAD:Voice Activity Detection)を行い、その時点での処理対象のフレーム(以下、「現フレーム」)が音声区間であるか否かを判定する。音声分析部112は、例えば、パワーが所定のパワーの下限よりも大きく、かつ、零交差数が所定の範囲内(例えば、1秒当たり300~1000回)であるフレームを発話区間として判定し、それ以外のフレームを非音声区間と判定する。そして、音声分析部112は、現フレームの直前のフレーム(以下、「前フレーム」)が非音声区間であったが、新たに現フレームを音声区間として判定する場合、その現フレームの発話状態を発話開始として判定する。発話状態が発話開始と判定されたフレームを「発話開始フレーム」と呼ぶ。音声分析部112は、前フレームが音声区間であったが、新たに現フレームを非音声区間として判定する場合、前フレームの発話状態を発話終了として判定する。発話状態が発話終了と判定されたフレームを「発話終了フレーム」と呼ぶ。音声分析部112は、発話開始フレームから次に発話終了フレームとなる一連の区間を1つの発話区間として判定する。1つの発話区間は、概ね1回の発話に相当する。音声分析部112は、判定した発話区間ごとに算出した音声特徴量を音声認識部114に順次出力する。なお、入力される音声データに収音識別情報が付加されている場合には、その収音識別情報を音声特徴量に付加して音声認識部114に出力してもよい。収音識別情報は、個々の収音部170を識別するための識別情報(例えば、Mic ID:Microphone Identifier)である。
音声認識部114は、音声分析部112から発話区間ごとに入力される音声特徴量に対して予め記憶部140に記憶させておいた音声認識モデルを用いて音声認識処理を行う。音声認識モデルは、音響モデルと言語モデルを含む。音響モデルは、音声特徴量から1つまたは複数の音素からなる音素列を定めるために用いられる。音響モデルは、例えば、HMM(Hidden Markov Model、隠れマルコフモデル)である。言語モデルは、音素列から構成される語句を用いるために用いられる。言語モデルは、例えば、n-グラム(n-gram)である。音声認識部114は、入力される音声特徴量について音声認識モデルを用いて算出した尤度が最も高い語句を認識結果として定める。音声認識部114は、認識結果として発言内容を構成する語句を示すテキストを示す第1テキスト情報をテキスト処理部120に出力する。即ち、第1テキスト情報は、収音された音声の発言内容を示す発言テキスト(以下、「第1テキスト」)を示す情報である。
なお、入力される音声特徴量に収音識別情報が付加されている場合には、その収音識別情報を第1テキスト情報に付加してテキスト処理部120に出力してもよい。また、音声認識部114は、入力される音声特徴量に対して公知の話者認識処理を行って話者を特定してもよい。音声認識部114は、特定した話者を示す話者識別情報(話者ID)を音声特徴量に付加してテキスト処理部120に出力してもよい。話者IDは、個々の話者を識別するための識別情報である。
テキスト取得部118は、端末装置200から通信部150を用いてテキスト情報を受信する。テキスト取得部118は、取得したテキスト情報を第2テキスト情報としてテキスト処理部120に出力する。第2テキスト情報は、端末装置200の操作部280への操作に応じて入力され、主に会話への参加者との意思疎通を目的とし、入力者の発言内容を表すテキストを示す。なお、テキスト取得部118は、後述する端末装置200の制御部210と同様な手法を用いて、操作部180から入出力部160を経由して入力される操作信号に基づいてテキスト情報を受け付けてもよい。なお、本願では、端末装置200から受信した操作信号と操作部180から入力される操作信号を、「取得した操作信号」または単に「操作信号」と総称することがある。テキスト取得部118は、操作信号の取得元である操作部180と端末装置200のいずれかの機器を識別するための機器識別情報を第2テキスト情報に付加してテキスト処理部120に出力してもよい。また、「収音識別情報」、「話者識別情報」および「機器識別情報」を「取得元識別情報」と総称することがある。
テキスト処理部120は、音声認識部114から入力される第1テキスト情報が示す第1テキストと、テキスト取得部118から入力される第2テキスト情報が示す第2テキストのそれぞれを表示部190に表示させる発話テキストとして取得する。テキスト処理部120は、取得した発言テキストに対して表示テキストとして表示または保存するために所定の処理を行う。テキスト処理部120は、例えば、第1テキストに対して公知の形態素解析を行って、第1テキストを1または複数の単語に区分し、単語ごとの品詞を特定する。テキスト処理部120は、特定した品詞が間投詞である単語、所定期間(例えば、10~60秒)内に繰り返し発言された単語など、発言内容に対して実質的に寄与しない単語を示すテキストを第1テキストから削除してもよい。
また、テキスト処理部120は、音声認識部114から入力される第1テキスト情報とテキスト取得部118から入力される第2テキスト情報のそれぞれについて、個々の発言を識別するための発言識別情報を生成し、生成した発言識別情報を、その発言に係る表示テキストを示す表示テキスト情報に付加してもよい。テキスト処理部120は、例えば、一連の会話開始後においてテキスト処理部120に第1テキスト情報または第2テキスト情報が入力される順序を発言識別情報として生成してもよい。テキスト処理部120は、表示テキスト情報を議事録作成部122、トピック解析部124および表示処理部134に出力する。なお、音声認識部114から入力される第1テキスト情報またはテキスト取得部118から入力される第2テキスト情報に取得元識別情報が付加されている場合には、テキスト処理部120は、その取得元識別情報を表示テキスト情報に付加して議事録作成部122、トピック解析部124および表示処理部134に出力してもよい。
議事録作成部122は、テキスト処理部120から入力される表示テキスト情報を記憶部140に順次記憶する。記憶部140には、記憶された個々の表示テキスト情報を含む議事録情報として形成される。上記のように個々の表示テキスト情報は、第1テキスト情報または第2テキスト情報で伝達される発言テキストを示す。従って、議事録情報はそれらの発言テキストが順次累積された発言履歴(発言ログ)に相当する。
議事録作成部122は、テキスト処理部120から表示テキスト情報が入力される日時を示す日時情報を表示テキスト情報と関連付けて記憶部140に記憶してもよい。表示テキスト情報に取得元識別情報が付加されている場合には、議事録作成部122は、日時情報に代えて、または日時情報とともに取得元識別情報と表示テキスト情報とを関連付けて記憶部140に記憶してもよい。また、表示テキスト情報に発言識別情報が付加されている場合には、議事録作成部122は、日時情報もしくは取得元識別情報に代えて、または日時情報もしくは取得元識別情報とともに発言識別情報と表示テキスト情報を関連付けて記憶部140に記憶してもよい。
トピック解析部124は、テキスト処理部120から入力される表示テキスト情報で示される発言テキストから所定のトピックに関する語句(キーワード)を抽出する。これにより発言テキストで伝達される発言内容のトピック、または、トピックを代表するキーワードが解析される。語句とは、単語または複数の単語からなる句を意味し、主に動詞、名詞、形容詞、副詞などの自立語をなす。そこで、トピック解析部124は、発言テキストに対して形態素解析を行って、その発言テキストで表される文をなす語句と、語句ごとの品詞を定め、自立語を処理対象の区間として定めてもよい。
トピック解析部124は、例えば、記憶部140に予め記憶されたトピックモデルを参照し、発言テキストから、トピックモデルに記述される語句のうちいずれかを特定する。トピックモデルは、所定のトピックごとに、そのトピックに関連する1個または複数個の語句を示す情報を含んで構成される。それらの語句の一部は、そのトピックの名称(トピック名)と同一であってもよい。また、記憶部140には、予め類義語データが記憶されてもよい。類義語データは、見出し語となる語句ごとに、その語句と意味が類似する他の語句を類義語として対応付けて示すデータ(類義語辞典)である。トピック解析部124は、類義語データを参照して、発言テキストの一部をなす語句に対応する類義語を特定し、特定した類義語と一致する語句をトピックモデルに記述される語句から特定してもよい。トピック解析部124は、抽出した語句または、その語句に係るトピックに関するテキストの検索を指示するための検索指示情報を生成する。トピック解析部124は、なお、処理対象とした表示テキスト情報と生成した検索指示情報を検索部126に出力する。
検索部126は、トピック解析部124から入力される検索指示情報に関連する発言テキストを、記憶部140に記憶される発言履歴(議事録情報)から参考テキストとして検索する。検索部126は、例えば、検索指示情報で示される語句もしくはその語句に対応する類義語の全部または所定の割合以上の数の語句と一致する語句を含む発言テキストを参考テキストとして発言履歴から特定する。検索部126は、上記の類義語データを参照して、検索指示情報で示される語句に対応する類義語を特定することができる。発言履歴には、個々の発言テキストで示される文に対して形態素解析を行って、その文を構成する語句ごとの品詞を示す品詞情報が付加されてもよい。検索部126は、語句ごとの品詞情報を参照して、検索対象とする発言テキストに含まれる語句を自立語に限定し、その他の品詞の語句を無視してもよい。検索部126は、検索により得られた参考テキストを示す参考テキスト情報と、を関連付けて表示処理部134に出力する。検索部126は、トピック解析部124から入力される検索指示情報をさらに表示テキスト情報と関連付けて表示処理部134に出力してもよい。検索部126は、検索指示情報に、検索された参考テキストに含まれる類義語の情報を含めて出力してもよい。
なお、検索部126は、参考テキストとして検索される発言テキストが複数件となることがある。その場合、検索部126は、個々の発言テキストに付加された日時情報で示される日時からその時点(現在)までの期間が短いほど優先して、予め定めた所定の個数(例えば、1件以上)以内の発言テキストを優先して選択し、それ以外の発言テキストを棄却してもよい。検索部126は、検索指示情報で示される語句またはその語句に対応する類義語と一致する語句の数が多い発言テキストほど優先して選択してもよい。
表示処理部134は、テキスト処理部120から入力される表示テキスト情報で示される表示テキストを表示するための処理を行う。検索部126から参考テキスト情報が入力されない場合、即ち、発言テキストに対応する参考テキストが検索されなかった場合には、表示処理部134は、表示テキストを表示部190、290にそのまま表示させる。ここで、表示処理部134は、予め記憶部140に記憶させた表示画面テンプレートを読み出し、表示処理部134は、表示画面テンプレートのうち表示テキストを表示させるために予め設定された所定のテキスト表示領域に新たに入力される表示テキストを割り当てて表示画面を更新する。テキスト表示領域にさらに新たな表示テキストを割り当てる領域がなくなるとき、表示処理部134は、テキスト処理部120から表示テキスト情報が新たに入力されるごとに、テキスト表示領域において表示テキストを所定方向(例えば、垂直方向)にスクロールすることにより表示画面を更新する。スクロールにおいて、表示処理部134は、既にテキスト表示領域に割り当てた既表示の表示テキストの表示領域を所定の方向に移動させ、表示テキストが割り当てられていない空き領域を確保する。空き領域は、テキスト表示領域のうち表示テキストの移動方向とは逆方向の一端に接して設けられる。表示処理部134は、確保される空き領域の大きさが、新たな表示テキストの表示に要する表示領域の大きさと等しくなるように、既表示の表示テキストの移動量を定める。表示処理部134は、確保した空き領域に新たな表示テキストを割り当てるとともに、移動によりテキスト表示領域外に配置された既表示の表示テキストを消去する。
他方、発言テキストに対応する参考テキストが検索された場合には、表示処理部134は、その参考テキスト情報に関する関連情報を定め、定めた関連情報を表示テキストとする発言テキストと関連付けて表示部190、290に表示させるために表示画面を更新する。その場合には、表示処理部134には、参考テキスト情報と検索指示情報の一方または両方が表示テキスト情報と関連付けて検索部126から入力される。表示処理部134は、例えば、表示テキストと共通の表示枠内に参考テキスト自体を関連情報の例として含めた表示画面を生成する。表示処理部134は、参考テキストに代えて、または参考テキストとともに、表示テキストのうち、検索指示情報で指示される語句(類義語も含まれうる)を、その他の部位とは異なる表示態様で表示画面に含めてもよい。この異なる表示態様も、参考テキストとの関連を示す関連情報の例となる。表示態様として、例えば、色、輝度、明度、字体、サイズ、文字装飾の有無もしくは文字装飾の種類のいずれか、またはそれらの一部または全部の組み合わせが適用される。発言履歴において、日時情報が参考テキストと関連付けて記憶されている場合には、表示処理部134は、参考テキストと関連付けて日時情報を表示部190に表示させてもよい。また、発言履歴において、取得元識別情報が参考テキストと関連付けて記憶されている場合には、表示処理部134は、参考テキストと関連付けて取得元識別情報に基づく取得元表示を表示部190に表示させてもよい。表示テキストの表示例については後述する。
表示処理部134は、表示テキストとする発言テキストから検索指示情報で指示される語句を第1要素情報としての抽出を試み、参考テキストから検索指示情報で指示される語句を第2要素情報として抽出を試みてもよい。上記のように、検索指示情報で指示される語句は、参考テキストの検索に用いた所定のトピックの語句とその類義語に相当する。第1要素情報の全部は、第2要素情報の全部と完全に一致するとは限らず、第1要素情報の一部または全部が第2要素情報の一部または全部から異動することがある。そこで、表示処理部134は、第1要素情報と第2要素情報を比較し、第2要素情報からの異動に関する関連情報を生成し、生成した関連情報を表示テキストの表示枠に含めてもよい。異動には、欠落、変更および追加という3種類の態様がある。表示処理部134は、第2要素情報からの異動として、第2要素情報の一部または全部の欠落または変更を検出してもよいし、第1要素情報の一部となるが、第2要素情報に存在しなかった語句の追加を検出してもよい。表示処理部134は、変更または追加された第1要素情報の一部となる語句を、その他の部位と異なる表示態様を用いて表す表示画面を生成してもよい。表示処理部134は、削除された第2要素情報の一部または全部となる語句を、その他の部位と異なる表示態様を用いて表す表示画面を生成してもよい。その場合、異動に関する関連情報が、参考テキストとの関連を示す関連情報の例として、その他の部位と異なる表示態様をもって含まれる。表示処理部134は、異動に関する関連情報の例として、より明示的にその異動を示す案内情報となるテキストを、その異動に係る語句と関連付けて表示画面に含めてもよい。なお、表示処理部134は、第1要素情報の一部となる第1語句が、第2要素情報の一部となる第2語句と、第1語句に対する類義語となる場合には、第2語句から第1語句への異動として判定せず、関連情報での伝達対象としなくてもよい。
上記の例では、所定のトピックに係る要素情報である第1要素情報、第2要素情報がそれぞれ文字からなる語句だけで構成される場合を例にしたが、これには限られない。要素情報は、所定のトピックに係る語句と、その語句と所定の位置関係にある数値を含んで構成されてもよい。表示処理部134は、第1要素情報の一部に含まれる第1語句が、第2要素情報の一部に含まれる第2語句と同一または第2語句と類義語の関係にあり、かつ、その第2要素情報の一部に含まれる第2数値から第1要素情報の一部に含まれる第1数値が異なるとき、その第2要素情報の一部またはその第2数値に異動が生じたと判定してもよい。例えば、表示処理部134は、処理対象のテキストに対して公知の形態素解析を行って、そのテキストで表される文を構成する単語ごとの品詞と単語間の係り受けを定める。そして、表示処理部134は、所定の位置関係の数値として、例えば、その語句よりも後続し、その語句から所定の文節数(例えば、2~5文節)の範囲内の数値を採用する。表示処理部134は、その語句よりも先行し、その語句から所定の文節の範囲内であって、起点を示す単語(例えば、「…から」)または終点を示す単語(例えば、「…まで」)に先行される数値を採用してもよい。その範囲内とは、その語句が含まれる文の範囲内に限られてもよいし、その文よりも先行する文、または、後続する文も含まれてもよい。
表示処理部134は、その範囲内の数値のうち、その語句に関連する所定の関連語よりも先行する数値を採用してもよい。関連語として、その語句またはそのトピックに関連する数量の単位が用いられてもよい。例えば、「進捗」に関連する数量の単位をなす関連語として、進捗率の単位である「%」、数量の単位である「個」、「台」、「スケジュール」に関連する数量の単位をなす関連語として、業務項目の期間もしくはその起点または終点の単位である「月」、「日」、「時」、「分」などが該当する。関連語を示す関連語情報は、トピックモデルに含まれるトピックの要素情報となる個々の語句と関連付けて予め記憶部140に記憶させておけばよい。表示処理部134は、関連語情報を参照して、所定のトピックまたはそのトピックに関する語句もしくは類義語に対応する関連語を特定することができる。
なお、表示処理部134は、表示画面の表示中に表示制御情報取得部136からテキスト削除情報が入力されるとき、テキスト表示領域に割り当てた表示テキストの一部の区間を特定し、特定した区間内の表示テキストを消去してもよい。テキスト削除情報は、表示テキストの消去と、その対象とする表示テキストの区間を指示する制御情報である。対象とする区間は、テキスト削除情報に含まれる発言識別情報を用いて特定されてもよい。表示処理部134は、テキスト表示領域のうち、表示テキストを消去した領域に、より新しい他の表示テキストを移動させることにより表示画面を更新する(テキスト詰め)。
表示処理部134は、表示画面を更新する都度、更新した表示画面を示す表示画面データを表示部190に入出力部160を経由して出力する。また、表示処理部134は、通信部150を用いて表示画面データを端末装置200に送信してもよい。よって、表示処理部134は、自装置の表示部190と端末装置200の表示部290に更新した表示画面を表示させることができる。なお、自装置の表示部190に表示させる表示画面には、操作領域が含まれてもよい。操作領域には、自装置の操作や動作状況の表示のための各種の画面部品が配置される。
表示制御情報取得部136は、端末装置200から表示画面の表示を制御するための表示制御情報を受信する。表示制御情報取得部136は、端末装置200の制御部210と同様の手法(後述)を用いて、入出力部160を経由して入力される操作信号に基づいて表示制御信号を生成してもよい。表示制御情報取得部136は、取得した表示制御情報を表示処理部134に出力する。抽出される表示制御信号には、上記のテキスト削除情報が含まれうる。
モード制御部138は、取得した操作信号に基づいて会話支援装置100の動作モードを制御する。モード制御部138は、動作モードとして、会話支援装置100が提供可能とする機能の要否またはそれらの組み合わせを設定可能とする。モード制御部138は、取得操作信号からモード設定に関するモード設定情報を抽出し、抽出したモード設定情報で指示される動作モードを指示するためのモード制御情報を各部に出力する。
モード制御部138は、例えば、動作開始、動作終了、議事録作成の要否、録音の要否、などを制御可能とする。抽出されるモード設定情報が動作開始を示す場合、モード制御部138は、動作開始を示すモード制御情報を制御部110の各部に出力する。制御部110の各部は、モード制御部138から動作開始を示すモード制御情報が入力されるとき、自部に所定の処理を開始する。抽出されるモード設定情報が動作終了を示す場合、モード制御部138は、動作終了を示すモード制御情報を制御部110の各部に出力する。制御部110の各部は、モード制御部138から動作終了を示すモード制御情報が入力されるとき、自部に所定の処理を終了する。抽出されるモード設定情報が議事録作成を示す場合、モード制御部138は、議事録作成を示すモード制御情報を議事録作成部122に出力する。抽出されるモード設定情報が議事録作成を示す場合、モード制御部138は、議事録作成を示すモード制御情報を議事録作成部122に出力する。議事録作成部122は、モード制御部138から議事録作成要を示すモード制御情報が入力されるとき、議事録作成部122は、テキスト処理部120から入力される表示テキスト情報の記憶部140への記憶を開始する。よって、議事録の作成が開始される。抽出されるモード設定情報が議事録作成否を示す場合、モード制御部138は、議事録作成否を示すモード制御情報を議事録作成部122に出力する。議事録作成部122は、モード制御部138から議事録作成否を示すモード制御情報が入力されるとき、議事録作成部122は、テキスト処理部120から入力される表示テキスト情報の記憶部140への記憶を停止する。よって、議事録の作成が停止される。
記憶部140は、制御部110における処理に用いられる各種のデータ、制御部110が取得した各種のデータを記憶する。記憶部140は、例えば、上記のROM、RAMなどの記憶媒体を含んで構成される。
通信部150は、所定の通信方式を用いてネットワークに無線または有線で接続し、他の機器と各種のデータを送信および受信可能とする。通信部150は、例えば、通信インタフェースを含んで構成される。所定の通信方式は、例えば、IEEE802.11、4G(4th Generation Mobile Communication System;第4世代移動通信システム)、5G(5th Generation Mobile Communication System;第5世代移動通信システム)などのいずれの規格で規定された方式であってもよい。
入出力部160は、所定の入出力方式を用いて他の部材もしくは機器と各種のデータを無線または有線で入力および出力可能とする。所定の入出力方式は、例えば、USB(Universal Serial Bus)、IEEE1394などのいずれ規格で規定された方式であってもよい。入出力部160は、例えば、入出力インタフェースを含んで構成される。
収音部170は、自部に到来する音声を収音し、収音された音声を示す音声データを制御部110に入出力部160を経由して出力する。収音部170は、マイクロホンを備える。収音部170の数は、1個に限られず、2個以上であってもよい。収音部170は、例えば、可搬型のワイヤレスマイクロホンであってもよい。ワイヤレスマイクロホンは、主に個々の所持者の発話音声を収音する。
操作部180は、使用者による操作を受け付け、受け付けた操作に応じた操作信号を制御部110に入出力部160を経由して出力する。操作部180は、タッチセンサ、マウス、キーボードなどの汎用の入力デバイスを備えてもよいし、ボタン、つまみ、ダイヤルなどの専用の部材を備えてもよい。
表示部190は、制御部110から入力される表示画面データなどの表示データに基づく表示情報、例えば、各種の表示画面を表示する。表示部190は、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機エレクトロルミネッセンスディスプレイ(OLED:Organic Electro-luminescence Display)など、いずれの方式のディスプレイであってもよい。なお、表示部190をなすディスプレイの表示領域は、操作部180をなすタッチセンサの検出領域を重畳して一体化した単一のタッチパネルとして構成されてもよい。
(端末装置)
次に、本実施形態に係る端末装置200の構成例について説明する。図2は、本実施形態に係る端末装置200の機能構成例を示すブロック図である。
端末装置200は、制御部210と、記憶部240と、通信部250と、入出力部260と、収音部270と、操作部280と、表示部290と、を含んで構成される。
制御部210は、各種の演算処理を行うことにより、端末装置200の機能を実現し、その機能を制御する。制御部210は、専用の部材により実現されてもよいが、プロセッサと、ROM、RAMなどの記憶媒体を備えてもよい。プロセッサは、予めROMに記憶された所定の制御プログラムを読み出し、読み出したプログラムをRAMに展開して、RAMの記憶領域を作業領域として用いる。プロセッサは、読み出したプログラムで記述された各種の命令で指示される処理を実行することにより、制御部210の機能を実現する。
制御部210は、通信部250を用いて会話支援装置100から表示画面データを受信し、受信した表示画面データを表示部290に出力する。表示部290は、制御部210から入力される表示画面データに基づいて表示画面を表示する。制御部210は、表示画面の表示中に、操作部280から文字を示す操作信号を受け付け、受け付けた1以上の文字で構成されるテキストを示すテキスト情報を会話支援装置100に通信部250を用いて送信する(テキスト入力)。この段階で受け付けられたテキストは、上記の第2テキストに相当する。
制御部210は、表示画面のテキスト表示領域内に割り当てられた表示テキストのうち、操作部280から入力される操作信号で指示される一部の区間を特定し、操作信号により削除が指示されるとき、特定した区間を対象として表示テキストの削除を示すテキスト削除情報を生成する(テキスト削除)。制御部210は、通信部250を用いて生成したテキスト削除情報を会話支援装置100に送信する。
記憶部240は、制御部210における処理に用いられる各種のデータ、制御部210が取得した各種のデータを記憶する。記憶部240は、ROM、RAMなどの記憶媒体を含んで構成される。
通信部250は、所定の通信方式を用いてネットワークに無線または有線で接続し、他の機器と各種のデータを送信および受信可能とする。通信部250は、例えば、通信インタフェースを含んで構成される。
入出力部260は、所定の入出力方式を用いて他の部材もしくは機器と各種のデータを入力および出力可能とする。入出力部260は、例えば、入出力インタフェースを含んで構成される。
収音部270は、自部に到来する音声を収音し、収音された音声を示す音声データを制御部210に入出力部260を経由して出力する。収音部270は、マイクロホンを備える。収音部270により取得された音声データは、通信部250を経由して会話支援装置100に送信され、会話支援装置において音声認識処理がなされてもよい。
操作部280は、使用者による操作を受け付け、受け付けた操作に応じた操作信号を制御部210に入出力部260を経由して出力する。操作部280は、入力デバイスを備える。
表示部290は、制御部210から入力される表示画面データなどの表示データに基づく表示情報を表示する。表示部290は、ディスプレイを備える。なお、表示部290をなすディスプレイは、操作部280をなすタッチセンサと一体化して単一のタッチパネルとして構成されてもよい。
(動作例)
次に、本実施形態に係る会話支援システムS1の動作例について説明する。図3は、参考テキストの第1の検索例を示す説明図である。図3に示す例では、その時点で取得された最新の発言テキスト「製品Aの組立業務の進捗率は50%です。納期、台数は9月25日に20台です。」が処理対象となることを仮定する。その場合、会話支援装置100のトピック解析部124は、発言テキストからトピック「作業進捗」に関連する語句「製品」、「組立業務」、「進捗率」、「納期」、「台数」を、発言テキストから特定する。図3では、発言テキストのうちキーワードとする語句が下線で示されている。
そして、検索部126は、発言テキストから抽出された語句をキーワードとし、それらのキーワードの全部または一部と一致する語句を有する参考テキストを発言履歴Lg01から検索する。ここで、検索部126は、これらのキーワードをいずれも含む過去の発言テキスト「製品Aの組立業務の進捗率は、30%です。納期、台数は、9月23日に20台です。」を参考テキストとして検索する。
表示処理部134は、表示テキストから特定したキーワードである「進捗率」と後置される「50%」との数値を併せて「進捗率は50%」との要素情報と、「納期」と「納期」に後置される「9月25日」との数値を併せて「納期は9月25日」との要素情報と、「台数」と「台数」に後置される「20台」とを併せて「台数は20台」との要素情報を特定することができる。他方、表示処理部134は、参考テキストから特定した「進捗率」と後置される「30%」との数値を併せて「進捗率は30%」との要素情報と、「納期」と後置される「9月23日」との数値を併せて「納期は9月25日」との要素情報と、「台数」と後置される「20台」とを併せて「台数は20台」との要素情報を特定することができる。
そして、表示処理部134は、キーワードが「進捗率」で共通する参考テキストの「進捗率は30%」から発言テキストの「進捗率は50%」に変化が生じ、キーワードが「納期」で共通する参考テキストの「納期は9月23日」から発言テキストの「納期は9月25日」に変化が生じたと判定することができる。但し、表示処理部134は、キーワードが「台数」で共通する「台数は20台」との発言テキストの要素情報には、参考テキストから異動が生じていないと判定することができる。
図4は、表示画面の第1の表示例を示す図である。この表示画面は会話支援装置100の表示部190と端末装置200の表示部290の一方または両方に表示されうる。以下、表示部290に表示される場合を例にして、端末装置200における操作と表示内容について説明する。図4に例示される表示画面には発言ごとの表示テキストがそれぞれ表示枠(吹き出し)内に表示される。参考テキストが存在する表示テキストについては、その表示テキストを囲む表示枠内に、その参考テキストが表示される。表示枠mp12には、図3に例示される発言テキストが表示テキストとして配置されるとともに、参考テキストがさらに配置される。この参考テキスト自体が関連情報として表示される。
表示画面にはテキスト表示領域td01、テキスト入力欄mi11、送信ボタンbs11および手書きボタンhw11が配置されている。テキスト表示領域td01は、表示画面の大部分(例えば、面積比で半分以上)の領域を占める。テキスト表示領域td01には、個々の発言ごとに取得元識別表示および表示枠のセットが配置される。会話支援装置100の表示処理部134は、表示画面を更新する際、表示テキスト情報が取得されるごとに、表示テキスト情報に付加された取得元識別情報に対応する取得元識別表示とその表示テキスト情報で示される表示テキストを配置した表示枠をテキスト表示領域内の各行に配置する。表示処理部134は、個々の表示枠の左上端に日時情報と右上端に削除ボタンを配置する。テキスト表示領域td01が取得元識別表示と表示枠のセットで満たされた後に新たな表示テキスト情報を取得するとき、表示処理部134は、既に配置された取得元識別表示と表示枠のセットを所定の方向(例えば、上方)に移動させ、テキスト表示領域td01の移動方向に対して末尾(例えば、下方)に生じる空き領域に新たな表示テキストが配置された表示枠と、その表示テキストに係る取得元識別表示のセットを配置する(スクロール)。表示処理部134は、テキスト表示領域td01外に移動する取得元識別表示と表示枠のセットを消去する。
取得元識別表示は、個々の発言の取得元を示す表示である。図4に示す例では、収音部表示mk11、mk12が、それぞれマイクロホンMic01、Mic02を取得元として示す取得元識別表示に相当する。表示処理部134は、自部に入力される第1テキスト情報と第2テキスト情報のそれぞれから取得元識別情報を抽出し、抽出した取得元識別情報で示される取得元を特定する。表示処理部134は、特定した取得元を示す文字を含めて取得元識別表示を生成する。表示処理部134は、取得元識別表示には、文字とともに、または文字に代えて個々の取得元を特定するための記号もしくは図形を含めてもよい。表示処理部134は、取得元識別表示に取得元に応じて異なる態様を設定し、その態様で表示させてもよい。取得元識別表示の態様は、例えば、背景の色、濃度、表示パターン(塗りつぶし、網掛けなど)、形状などのいずれであってもよい。
表示枠mp11、mp12は、個々の発言内容を示す表示テキストが配置される枠である。個々の表示枠の左上端、右上端には、それぞれ日時情報、削除ボタンが配置されている。日時情報は、表示枠内に配置された表示テキストが取得された日時を示す。削除ボタンbd11、bd12は、その押下により、それぞれ対応づけて配置される表示枠mp11、mp12と取得元識別情報の削除を指示するためのボタンである。本願では、「押下」とは、ボタンなどの画面部品を指示すること、その画面部品の表示領域内の位置を指示すること、または、その位置を示す操作信号を取得すること、との意味を含む。例えば、削除ボタンbd11の押下が検出されるとき、表示処理部134は、収音部表示mk11と表示枠mp11を消去し、表示枠mp11に付随した日時情報「2020/09/12 09:01.23」および削除ボタンbd11を消去する。端末装置200の制御部210は、操作部280から受信した操作信号で指示された位置を表示領域内に含む削除ボタンを特定し、削除ボタンに対応する表示テキストを含む表示枠および取得元表示の消去を示すテキスト削除情報を生成し、会話支援装置100の表示制御情報取得部136に送信する。表示制御情報取得部136は、端末装置200から受信したテキスト削除情報を表示処理部134に出力する。表示処理部134は、表示制御情報取得部136からのテキスト削除情報で指示される表示枠と取得元表示を消去し、表示枠に付随した日時情報と削除ボタンを消去することにより表示画面を更新する。
表示枠mp12には、表示テキストと参考テキストが含まれ、その順序で配列されている。これにより、参考テキストが表示テキストとの関連性を有することが明示される。これらの表示テキストと参考テキストは、それぞれ図3に例示される表示テキストと参考テキストに相当する。表示テキストの塗りつぶし部分は、参考テキストの要素情報から変更(異動)が生じた要素情報を示す。塗りつぶし部分には、さらにテキストと重複しない位置に感嘆符「!」が付加されている。これらの塗りつぶし部分と感嘆符「!」も、参考テキストとの関連を示す関連情報の例として構成される。表示画面を視認したユーザは、表示テキストのうち「進捗率は50%」、「納期は9月25日」との要素情報が参考テキストにおける対応する要素情報として「進捗率は30%」、「納期は9月23日」との情報から変更が生じたことに対する注意が喚起される。
他方、参考テキストは、表示枠mp12’の領域内に表示され、さらに収音部表示mk12’と日時情報を関連付けられている。ここで、参考テキストの取得元がマイクロホンMic02であり、取得日時が「2020/09/08 09:03.21」であることが表示される。これらの表示要素がいずれも表示枠mp12内に配置されることで、表示テキストに従属する関係を有することが示される。
なお、表示処理部134は、表示枠mp12’の近傍(例えば、表示枠mp12’右上端から所定範囲の領域内)にも削除ボタンbd12’(図示せず)を表示画面に含めて表示させてもよい。表示処理部134は、削除ボタンbd12’の押下を検出するとき、収音部表示mk12’、取得日時、表示枠mp12’、参考テキストおよび削除ボタンbg12’を消去してもよい。
なお、テキスト入力欄mi11は、テキストの入力を受け付けるための欄である。端末装置200の制御部210は、操作部280から入力される操作信号で指示される文字を特定し、特定した文字をテキスト入力欄mi11内に順次配置する。テキスト入力欄mi11の大きさの範囲内で一度に受け付け可能とする文字数が制限される。この文字数は、一回の発話をなす典型的な文字数、単語数などの範囲(例えば、日本語の全角文字30~100文字以内)に基づいて予め定めておいてもよい。
送信ボタンbs11は、押下によりテキスト入力欄mi11に配置された文字で構成されるテキストの送信を指示するためのボタンである。端末装置200の制御部210は、操作部280から入力される操作信号で送信ボタンbs11が指示されるとき、その時点でテキスト入力欄mi11に配置されたテキストを示すテキスト情報を会話支援装置100のテキスト取得部118に送信する。
手書きボタンhw11は、押下により手書き入力を指示するためのボタンである。端末装置200の制御部210は、操作部280から入力される操作信号で手書きボタンhw11が指示されるとき、予め記憶部240に記憶させた手書き入力画面データを読み出し、表示部290に出力する。表示部290は、制御部210から入力された手書き入力画面データに基づいて手書き入力画面(図示せず)を表示する。制御部210は、操作部280から入力される操作信号で手書き入力画面内の位置を逐次に特定し、特定した位置の軌跡で構成される曲線を示す手書き入力情報を会話支援装置100に送信する。会話支援装置100の表示処理部134は、端末装置200から手書き入力情報を受信するとき、表示画面内の所定の位置に手書き表示領域を設定する。手書き表示領域は、テキスト表示領域の範囲内でもよいし、その範囲外であってもよい。表示処理部134は、設定した手書き表示領域内に手書き入力情報が示す曲線を配置することにより、表示画面を更新する。
図5は、表示画面の第2の表示例を示す図である。図5に例示される表示画面の表示枠mp12では、図4に示す例とは異なり、参考テキストと、参考テキストに関連する取得元表示と日時情報の表示が省略されている。但し、表示テキストの要素情報をなし、参考テキストから変更された「50%」、「9月25日」の部分には、それぞれ関連情報とする塗りつぶし部分と感嘆符「!」が表示されている。関連情報に接したユーザには、表示テキストと発言内容のトピックが共通する参考テキストが存在し、その要素情報の一部または全部に異動が生じたことを直感的に把握することができる。そこで、表示処理部134は、いずれかの要素情報の押下を示す操作信号が入力されるとき、参考テキストを表示枠mp12に含めて表示させてもよい。その場合には、図4に例示される表示画面と同様の画面が表示される。表示処理部134は、押下された要素情報に対応する参考テキストの要素情報を表示枠mp12内に表示させてもよい。これにより、ユーザの必要に応じて任意に参考テキストまたはその一部をなす変更元の要素情報を、表示テキストまたはその要素情報を関連付けて表示させることができる。
図6は、参考テキストの第2の検索例を示す説明図である。図6に示す例では、その時点で取得された最新の発言テキスト「今日の予定は、10時から客先訪問、14時からレポート作成、16時から来客対応です。」が処理対象となることを仮定する。その場合、会話支援装置100のトピック解析部124は、発言テキストからトピック「スケジュール」に関連する語句「予定」、「訪問」、「レポート」、「来客」を、キーワードとして発言テキストから特定する。そして、検索部126は、発言テキストから抽出されたキーワードの全部または一部と一致する語句を有する参考テキストを発言履歴Lg01から検索する。ここで、検索部126は、これらのキーワードのうち「予定」、「レポート」、「来客」を含む過去の発言テキスト「今日の予定は、10時からレポート作成、13時から会議、15時から来客対応です。来客対応が終わり次第、レポート作成を続けます。」を参考テキストとして検索する。
参考テキストに含まれる語句「予定」、「レポート」、「会議」、「来客」は、いずれも発言テキストの発言内容のトピック「スケジュール」に関する語句である。そのうち、「会議」は、発言テキストには含まれない語句である。表示処理部134は、このような発言テキストには含まれないが、参考テキストの検索に用いられた語句に係るトピックと共通のトピックに関する語句を、トピックモデルを参照して特定することができる。表示処理部134は、発言テキストに含まれず、参考テキストの検索に用いられた語句に係るトピックに関する語句として「会議」に係る要素情報が、発言テキストにおいて欠落したと判定することができる。ここで、表示処理部134は、「会議」もしくは先行する「13時」を併せてなる「13時から会議」との情報要素は参考テキストをなす要素情報であるが、発言テキストに含まれない要素情報として定めることができる。
図7は、表示画面の第3の表示例を示す図である。図7に例示される表示画面の表示枠mp12でも、参考テキストと、参考テキストに関連する取得元表示と日時情報の表示が省略されている。但し、表示枠mp12には、参考テキストに代えて案内表示が含まれている。この案内表示も、参考テキストとの関連を示す関連情報の例となる。案内表示は、注意記号と案内メッセージを含み、その順序で配置して構成される。注意記号は、三角形と、その内部に感嘆符「!」を含んで構成される。案内メッセージは、図6に例示される参考テキストから欠落した情報要素「会議」を案内するための欠落案内メッセージを示すテキスト「会議の予定はありませんか?」からなる。従って、案内表示に接したユーザは、図6に例示される発言テキストで伝達される発言内容において「会議」に関する情報要素が欠落していることに容易に気づくことができる。そのため、「会議」に関する情報要素を含む発言もしくはテキスト入力が促される。
表示処理部134は、欠落案内メッセージを生成する際、例えば、予め記憶部140に記憶した欠落案内表示文型「…の予定はありませんか?」を読み出し、欠落案内表示文型に欠落した情報要素となる語句「会議」を代入する。欠落案内表示文型は、欠落した情報要素をなす語句を代入するための代入欄と、その情報要素の欠落を案内するための欠落案内メッセージをなす典型的な文型を示すテキストを示すデータである。
図8は、表示画面の第4の表示例を示す図である。図8に例示される表示画面の表示枠mp12には、図6に例示される参考テキストから発言テキストにおいて追加された情報要素「客先訪問」を案内するためのメッセージを示す追加案内テキスト「客先訪問の予定が追加されています。」がさらに含まれている。この追加案内テキストも含まれる案内表示も、参考テキストとの関連を示す関連情報の例となる。従って、案内表示に接したユーザは、図6に例示される発言テキストで伝達される発言内容に「客先訪問」に関する情報要素が追加していることに容易に気づくことができる。表示処理部134は、追加案内メッセージを生成する際、例えば、予め記憶部140に記憶した追加案内表示文型「…の予定が追加されています。」を読み出し、追加案内表示文型に追加された情報要素となる語句「客先訪問」を代入する。追加案内表示文型は、追加した情報要素をなす語句を代入するための代入欄と、その情報要素の追加を案内するための追加案内メッセージをなす典型的な文型を示すテキストを示すデータである。
なお、欠落案内表示文型と追加案内表示文型は、それぞれトピックごとに異なるメッセージを示すテキストを含み、欠落もしくは追加された語句または構成要素に係るトピックと対応付けて予め記憶部140に記憶されてもよい。表示処理部134は、上記のように予め記憶部140に記憶されたトピックモデルを参照して。欠落もしくは追加された語句、構成要素に係るトピックを特定することで、案内メッセージの生成に用いるべき案内表示文型を特定することができる。
また、表示処理部134は、図6または図7に例示されるように、案内表示を表示画面に含めて表示させる場合において、案内表示に対する押下を検出するとき、案内表示を消去して、参考テキストを表示テキストと関連付けて表示させてもよい(図4参照)。
上記の表示例では、操作に応じて参考テキストの表示と非表示が切り替え可能となる。そこで、表示処理部134は、参考テキストに含まれる所定のトピックの語句ごとに表示が指示される頻度である表示要求頻度を計数し、計数した表示要求頻度を記憶部140に記憶してもよい。表示処理部134は、記憶部140に記憶された表示要求頻度が所定の表示判定閾値を超える語句を含む参考テキストに対しては、表示テキストと関連付けて表示させて、所定の表示判定閾値以下の参考テキストに対しては表示させなくてもよい。
表示処理部134は、参考テキストに含まれる所定のトピックの語句ごとに消去が指示される頻度である消去要求頻度を計数し、計数した消去要求頻度を記憶部140に記憶してもよい。表示処理部134は、記憶部140に記憶された消去要求頻度が所定の消去判定閾値を超える語句を含む参考テキストに対しては、表示テキストと関連付けて表示させず、所定の消去判定閾値以下となる参考テキストに対しては表示させてもよい。
参考テキストにおいて、表示要求頻度の計数対象となる語句の数が複数個となりうるが、その場合には、表示処理部134は、複数個の語句のそれぞれに対して定まる表示要求頻度の代表値(例えば、最大値、平均値など)に基づいて表示の要否を判定してもよい。同様に、消去要求頻度の計数対象となる語句の数が複数個となりうるが、その場合には、表示処理部134は、複数個の語句のそれぞれに対して定まる消去要求頻度の代表値に基づいて表示の要否を判定してもよい。
(トピックモデル)
次に、本実施形態に係るトピックモデルについて説明する。トピックモデルは、個々のトピックを表す複数の語句のそれぞれの出現確率を示すデータである。つまり、あるトピックは複数の典型的な語句間の確率分布(単語分布)で特徴が表される。個々のトピックを複数の語句間の確率分布で表す手法は、BoW(Bag-of-Words)表現と呼ばれる。BoW表現では、文を構成する複数の単語の語順が無視される。これは、語順が変化してもトピックが変化しないと仮定に基づく。
図9、図10は、本実施形態に係るトピックモデルの単語分布データを例示する図である。図9は、「業務進捗」をトピックとする部分を例示する。図9に示す例では、トピック「業務進捗」に関連する語句として、「進捗率」、「納期」、「製品」、「業務」、「台数」を有する。図10に示す例では、トピック「業務進捗」に関連する語句として、「スケジュール」、「予定」、「計画」、「会議」、「来客」、「訪問」、「外出」、「レポート」を有する。図9、図10では、それぞれ個々の語句に関連付けて、そのトピックを発言内容に含む場合における出現確率が表されている。本実施形態では、個々のトピックに関連する語句として、そのトピックが伝達されるときの語句の出現確率が所定の語句の出現確率の閾値よりも高い自立語が採用される。なお、本実施形態では必ずしも出現確率をトピックモデルに含めて記憶させずに省略してもよい。
図11は、本実施形態に係るトピックモデルのトピック分布データの一例を示す図である。トピック分布データは、分析対象の文書全体において表れる個々のトピックの出現確率を示すデータである。一般には、トピックモデルにはトピック分布データが含まれるが、本実施形態ではトピック分布データを記憶部140に記憶させずに省略してもよい。図11に示す例では、議事録情報をなす発言履歴を分析対象として得られたトピックごとの出現確率が示される。図11に例示されるトピック分布データでは、個々のトピックとして「スケジュール」、「進捗」が含まれ、それぞれの出現確率の降順に配列されている。本実施形態では、出現確率が所定のトピックの出現確率の閾値よりも高いトピックが採用され、その他のトピックが用いられなくてもよい。これにより、頻繁に議題になるトピックに対して参考テキストに関連する参考情報が提供され、その他のトピックに対する参考情報の提供が制限される。
会話支援装置100は、制御部110においてトピックモデルを更新するためのトピックモデル更新部(図示せず)を備えてもよい。トピックモデル更新部は、記憶部140に記憶される発言履歴を訓練データ(教師データとも呼ばれる)として用いることにより、トピックモデル更新処理(学習)を行う。ここで、発言履歴は複数の文書を有し、個々の文書が1件または複数件のトピックを有することを仮定する。本実施形態では、個々の文書を、各1回の会議に対応づけてもよい。上記のように、各1回の発言は、1個の文のみを含むことも、複数個の文を含むことがある。1回の発言が1件のトピックを有することも、複数回にまたがる発言が1件の共通のトピックを有することもある。
トピックモデル更新処理では、文書mごとにトピック分布θmが定義される。トピック分布θmは、トピックlごとに文書mがトピックlを有する確率θmlを要素とする確率分布である。但し、確率θmlは、0以上1以下の実数であり、確率θmlのトピックl間の総和が1となるように正規化される。上記のように、トピックモデルではトピックlごとに単語分布φlが定義される。単語分布φlは、トピックlにおける単語kの出現確率φlkを要素とする確率分布である。出現確率φlkは、0以上1以下の実数であり、確率φlkの単語k間の総和は1となるように正規化される。
トピックモデル更新部は、トピックモデル更新処理において、例えば、潜在的ディリクレ配分法(LDA:Latent Dirichlet Allocation)を用いることができる。LDAは、単語分布ならびにトピック分布がそれぞれ多項分布に従い、それらの事前分布がディリクレ分布を従うとの仮定に基づく。多項分布は、語句kの出現確率がφkであるとき、K種類の語句から各1つを抽出する操作をN回実行して得られる確率の確率分布を示す。ディリクレ分布は、語句kの出現確率φkがいずれも0以上であり、K種類の語句間の総和が1という制約の下での多項分布のパラメータの確率分布を示す。そこで、トピックモデル更新部は、解析対象の文書全体に対するトピックごとに語句分布とその事前分布を算出し、個々のトピックの出現確率を示すトピック分布とその事前分布を算出する。
トピックモデルの未知変数は、複数のトピックからなるトピックの集合、文書全体のトピックごとの出現確率からなるトピック分布、トピックごとの語句分布からなる語句分布群である。LDAによれば、それらの未知変数を上記の多項分布とディリクレ分布のそれぞれを特徴づけるパラメータ群(ハイパーパラメータとも呼ばれる)に基づいて定めることができる。トピックモデル更新部は、例えば、変分ベイズ法を用いて、これらの未知変数で与えられる対数周辺尤度(logarithmic marginal likelihood)を最大化するパラメータ群を再帰的に算出することができる。周辺尤度は、事前分布と解析対象の文書全体が与えられたときの確率密度関数に相当する。ここで、最大化とは対数周辺尤度の最大値を求めることに限らず、対数周辺尤度をより大きくするパラメータ群を算出または探索するための処理を行うことを意味する。そのため最大化に係る処理において、一時的に対数周辺尤度が低下することもありうる。なお、パラメータ群の算出において、個々の語句分布をなす出現確率が、語句ごとの出現確率の語句間の総和が1となるとの拘束条件が課される。トピックモデル更新部は、算出したパラメータ群を用いてトピック集合、トピック分布および語句分布群をトピックモデルとして定めることができる。
トピックモデル更新部は、発言履歴を用いてトピックモデルを更新することで、発言履歴において発言内容として頻繁に表れるトピックや、そのトピックを発言内容とするときに頻繁に表れる語句をトピックモデルに反映させることができる。
なお、トピックモデル更新部は、トピックモデルの更新処理において、LDAに代えて、潜在意味インデクシング法(LSI:Latent Semantic Indexing)などの手法を用いてもよい。
また、制御部110は、トピックモデル更新部を備えることに代え、他の機器に自装置の発言履歴を送信し、トピックモデルの生成または更新を要求してもよい。制御部110は、要求先の機器から受信したトピックモデルを記憶部140に記憶し、個々の発言テキストに対する上記の処理に用いてもよい。
(表示処理)
次に、本実施形態に係る発言テキストの表示処理の例について説明する。図12は、本実施形態に係る発言テキストの表示処理の例を示すフローチャートである。
(ステップS102)テキスト処理部120は、音声認識部114から入力される第1テキスト情報またはテキスト取得部118から入力される第2テキスト情報を、発言テキストを示す表示テキスト情報として取得する(発言テキスト取得)。その後、ステップS104の処理に進む。
(ステップS104)トピック解析部124は、トピックデータを参照して、取得された表示テキスト情報で示される発言テキストから、所定のトピックに関する語句の検出を試み、発言テキストに所定のトピックに関する語句が存在するか否かを判定する。所定のトピックの語句が存在すると判定されるとき(ステップS104 YES)、ステップS104の処理に進む。所定のトピックの語句が存在しないと判定されるとき(ステップS104 NO)、ステップS116の処理に進む。
(ステップS106)トピック解析部124は、発言テキストから所定のトピックの語句を抽出し、抽出した語句、類義語またはそのトピックを用いたテキストの検索を指示するための検索指示情報を生成する。その後、ステップS108の処理に進む。
(ステップS108)検索部126は、検索指示情報で指示される語句もしくは類義語を含む発言テキスト、またはそのトピックを発話内容として有する発言テキストを発話履歴から参考テキストとして検索する。その後、ステップS110の処理に進む。
(ステップS110)表示処理部134は、検索された参考テキストが存在するか否かを判定する。参考テキストが存在すると判定される場合(ステップS110 YES)、ステップS112の処理に進む。参考テキストが存在しないと判定される場合(ステップS110 NO)、ステップS116の処理に進む。
(ステップS112)表示処理部134は、発言テキストに含まれ検索指示情報で指示される語句、類義語、またはそのトピックに係る語句もしくは類義語を含む第1要素情報の一部または全部に、参考テキストに含まれ検索指示情報で指示される語句、類義語、またはそのトピックに係る語句もしくは類義語を含む第2要素情報から異動か生じたか否かを判定する。異動が生じたと判定されるとき(ステップS112 YES)、ステップS114の処理に進む。異動が生じていないと判定されるとき(ステップS112 NO)、ステップS116の処理に進む。
(ステップS114)表示処理部134は、発言テキストを表示テキストとし、参考テキストに関する関連情報を関連付けて表示画面に含めて表示部190と表示部290の一方または両方に表示させる。その後、図12に示す処理を終了する。
(ステップS116)表示処理部134は、発言テキストを表示テキストとし、表示画面に含めて表示部190と表示部290の一方または両方に表示させる。その後、図12に示す処理を終了する。
以上に説明したように、本実施形態に係る会話支援装置100は、 発言内容を示す発言テキストから所定のトピックの語句を抽出するトピック解析部124を備える。会話支援装置100は、過去の発言テキストを含む発言履歴を保存する記憶部から所定のトピックに関連する参考テキストを検索する検索部126を備える。また、会話支援装置100は、発言テキストと参考テキストに関する関連情報を関連付けて表示部190、290に出力する表示処理部134とを備える。
この構成により、発言テキストとトピックが共通する過去の参考テキストが検索され、検索された参考テキストに関する関連情報が発言テキストと関連付けて表示される。ユーザは、トピックが共通する参考テキストに関する関連情報に発言テキストと対比して接することができるので、発言テキストで伝達される発言内容をより容易に理解させることができる。
表示処理部134は、発言テキストから所定のトピックに係る第1要素情報と、参考テキストから所定のトピックに係る第2要素情報を抽出し、第1要素情報に第2要素情報から異動が生じるとき、異動に関する関連情報を表示部190、290に出力してもよい。
この構成により、発言テキストの第1要素情報における参考テキストの第2要素情報からの異動に関する関連情報が表示される。そのため、ユーザは発言テキストにおける参考テキストとの差異点に容易に気づくことができ、参考テキストとの差異点をもって発言テキストで伝達される発言内容をより容易に理解させることができる。
また、表示処理部134は、第2要素情報の少なくとも一部の欠落、変更または第1要素情報の一部の追加を異動として判定してもよい。
この構成により、第2要素情報の欠落、変更または第1要素情報の追加を異動に関する関連情報が表示される。
また、表示処理部134は、第2要素情報に含まれる所定の数値の変更を異動として判定してもよい。
この構成により、第1要素情報に対応する第2要素情報に含まれる所定の数値の異動に関する関連情報が表示される。
表示処理部134は、発言テキストのうち異動が生じた部位を、その他の部位と異なる態様で表示部190、290に表示させてもよい。
この構成により、参考テキストから異動が生じた部位に表示される要素情報が、その他の部位とは異なる態様で表示される。そのため、ユーザは要素情報の異動に容易に気づくことができる。
また、検索部126は、発言履歴に含まれる発言テキストのうち、取得された時点から現在までの期間が短い発言テキストほど優先して参考テキストとして選択してもよい。
この構成により、複数の発言テキストが参考テキストの候補となる場合において、より新しい発言テキストが参考テキストとして採用される。発言内容が現在の発言テキストに近似した参考テキストに関する関連情報が表示されるので、発言テキストで伝達される発言内容を容易に理解させることができる。
また、記憶部140は、発言テキストと当該発言テキストを取得した日時とを対応付けて発言履歴に記憶し、表示処理部134は、参考テキストと対応付けた日時をさらに出力してもよい。
この構成により、参考テキストが取得された日時も参考テキストに関する関連情報とともに表示される。そのため、ユーザは、参考テキストが取得された日時からの時間経過を考慮して、発言テキストで伝達される発言内容を理解させることができる。
会話支援装置100は、入力される音声データに対して音声認識処理を行って発言テキストを取得する音声認識部114を備えてもよい。
この構成により、ユーザの発話による発言内容を示すテキストを発言テキストとして取得できる。また、音声認識誤りを含む発言テキストと、発言内容のトピックが共通する参考テキストに関連する関連情報が表示される。そのため、ユーザは発言テキストにおける音声認識誤りの発生により容易に気づくことができる。
トピック解析部124は、各トピックに関連する語句を示すトピックモデルを用いて、発言テキストで伝達されるトピックに関連する語句を定めてもよい。
この構成により、トピック解析部124は、発言テキストで伝達される発言内容のトピックに係る語句を簡素な処理により定めることができる。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、収音部170、操作部180、表示部190は、会話支援装置100と必ずしも一体化されていなくてよく、それらのいずれかまたは組み合わせは、無線または有線で各種のデータを送受信可能に接続できれば、会話支援装置100と別体であってもよい。
音声分析部112は、収音部170に代え、または収音部170とともに、端末装置200の収音部270から音声データを取得してもよい。
テキスト取得部118は、端末装置200の操作部280に代え、自装置の操作部180から入力される操作信号に基づく第2テキスト情報を取得してもよい。
テキスト取得部118が端末装置200から第2テキスト情報を取得しない場合には、端末装置200に表示画面データを送信しなくてもよい。
また、表示テキストを囲む表示枠の形状は、図4、図5、図7、図8に例示される吹き出しに限られず、表示テキストを収容できれば、楕円、長方形、平行四辺形、雲形などいずれの形状であってもよい。また、個々の表示枠の水平方向の幅と垂直方向の高さは一定値に統一されてもよい。その場合、新たな表示テキストの割り当ての際における垂直方向の移動量は、垂直方向の高さと、互いに隣接する表示枠間の間隔の等しくなる。表示テキストは、表示枠内に収容して表示されずに、発話ごとに改行して表示されてもよい。その他、表示画面内を構成するボタンや入力欄などの各表示要素の位置、大きさは任意であり、それらの一部が省略されてもよいし、図4、図5、図7、図8に例示されていない表示要素が含まれてもよい。また、表示画面に付される文言や表示要素の名称は、本願の実施形態の趣旨を逸脱しない限り、任意に設定可能である。