IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特開2023-173036対話情報抽出装置及び対話情報抽出方法
<>
  • 特開-対話情報抽出装置及び対話情報抽出方法 図1
  • 特開-対話情報抽出装置及び対話情報抽出方法 図2
  • 特開-対話情報抽出装置及び対話情報抽出方法 図3
  • 特開-対話情報抽出装置及び対話情報抽出方法 図4
  • 特開-対話情報抽出装置及び対話情報抽出方法 図5
  • 特開-対話情報抽出装置及び対話情報抽出方法 図6
  • 特開-対話情報抽出装置及び対話情報抽出方法 図7
  • 特開-対話情報抽出装置及び対話情報抽出方法 図8
  • 特開-対話情報抽出装置及び対話情報抽出方法 図9
  • 特開-対話情報抽出装置及び対話情報抽出方法 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173036
(43)【公開日】2023-12-07
(54)【発明の名称】対話情報抽出装置及び対話情報抽出方法
(51)【国際特許分類】
   G10L 15/10 20060101AFI20231130BHJP
   G10L 15/22 20060101ALI20231130BHJP
   G06F 40/35 20200101ALI20231130BHJP
【FI】
G10L15/10 500Z
G10L15/22 460Z
G06F40/35
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2022085015
(22)【出願日】2022-05-25
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110002365
【氏名又は名称】弁理士法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】十河 泰弘
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091AA15
(57)【要約】
【課題】
複数の話者による対話から、着目すべき観点を有する対話の情報を抽出し、対話状況の効率的な確認を可能にする。
【解決手段】
対話情報抽出装置100は、対話を構成する発話ごとに、当該発話を書き起こしたテキストを含む発話情報を入力する発話情報入力部111と、対話構造を学習済みの推定モデルを用いて、対話における複数の発話の発話情報から、当該対話の対話構造を推定する対話構造推定部112と、対話構造に基づいて生成される、複数の話者の発話からなる発話群に対して、着目すべき所定の観点の有無を判定することにより、当該観点を有する発話群を抽出する観点別対話抽出部113と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の話者による対話を着目すべき観点に基づいて分析する対話情報抽出装置であって、
前記対話を構成する発話ごとに、当該発話を書き起こしたテキストを含む発話情報を入力する発話情報入力部と、
対話構造を学習済みの推定モデルを用いて、前記対話における複数の発話の前記発話情報から、当該対話の対話構造を推定する対話構造推定部と、
前記対話構造に基づいて生成される、複数の話者の発話からなる発話群に対して、前記観点の有無を判定することにより、前記観点を有する発話群を抽出する観点別対話抽出部と、
を備えることを特徴とする対話情報抽出装置。
【請求項2】
前記観点別対話抽出部が抽出した前記発話群について、当該発話群を構成する各発話のテキストと当該発話群が有する前記観点の内容とを含む対話情報を出力する抽出結果表示部、をさらに備える
ことを特徴とする請求項1に記載の対話情報抽出装置。
【請求項3】
前記対話構造推定部は、前記対話における複数の発話について、前記推定モデルを用いて、異なる話者による2つの発話間での関係の度合いを算出し、当該算出の結果から対話上の関係を有する発話の組合せを推定することによって、前記対話構造を推定する
ことを特徴とする請求項1に記載の対話情報抽出装置。
【請求項4】
前記観点別対話抽出部は、
前記複数の話者の発話からなる発話群として、前記対話構造推定部によって推定された発話の組合せのうちから所定の条件で絞り込んで発話セットを生成する発話セット生成部と、
前記発話セットごとに、事前に学習された判定モデルを用いて当該発話セットにおける前記観点の有無を判定し、当該判定の結果から前記観点を有する発話セットを抽出する観点判定部と、を有する
ことを特徴とする請求項3に記載の対話情報抽出装置。
【請求項5】
前記発話セット生成部は、前記対話構造推定部によって推定された発話の組合せのうち、任意の指定された確率値以上で対話上の関係を有する発話の組合せを、前記発話セットとして生成する
ことを特徴とする請求項4に記載の対話情報抽出装置。
【請求項6】
前記発話セット生成部は、前記対話構造推定部によって推定された発話の組合せのうち、回答側の発話と当該発話より過去の問い掛け側の発話との組合せを、時間差が小さいほうから所定数まで、それぞれ前記発話セットとして生成する
ことを特徴とする請求項4に記載の対話情報抽出装置。
【請求項7】
前記抽出結果表示部は、前記観点別対話抽出部によって抽出された前記観点を有する発話群のうちから、ユーザによって指定されるフィルタ条件に合致する発話群を抽出し、当該抽出した発話群についての前記対話情報を出力する
ことを特徴とする請求項2に記載の対話情報抽出装置。
【請求項8】
前記対話の進行に伴って発話が行われるたびに、前記発話情報入力部が当該発話の前記発話情報を入力し、
前記発話情報の入力を契機として、前記対話構造推定部及び前記観点別対話抽出部による処理が行われ、当該処理の結果に基づいて、前記抽出結果表示部が前記対話情報の出力を更新する
ことを特徴とする請求項2に記載の対話情報抽出装置。
【請求項9】
前記発話情報入力部が入力しようとする前記発話情報に対して、所定の判定条件に基づいて、当該発話情報を前記対話構造推定部及び前記観点別対話抽出部による処理の対象とするか否かを判定する判定対象選択部、をさらに備える
ことを特徴とする請求項1に記載の対話情報抽出装置。
【請求項10】
問い掛け側の発話に対して、回答側の発話で同意または不同意が示されることを、前記観点を有するとみなす
ことを特徴とする請求項1に記載の対話情報抽出装置。
【請求項11】
複数の話者による対話を着目すべき観点に基づいて分析する対話情報抽出装置による対話情報抽出方法であって、
前記対話情報抽出装置が、前記対話を構成する発話ごとに、当該発話を書き起こしたテキストを含む発話情報を入力する発話情報入力ステップと、
前記対話情報抽出装置が、対話構造を学習済みの推定モデルを用いて、前記発話情報入力ステップで入力された前記対話における複数の発話の前記発話情報から、当該対話の対話構造を推定する対話構造推定ステップと、
前記対話情報抽出装置が、前記対話構造推定ステップの推定結果に基づいて生成される、複数の話者の発話からなる発話群に対して、前記観点の有無を判定することにより、前記観点を有する発話群を抽出する観点別対話抽出ステップと、
を備えることを特徴とする対話情報抽出方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話情報抽出装置及び対話情報抽出方法に関し、複数の話者による対話を解析する対話情報抽出装置及び対話情報抽出方法に適用して好適なものである。
【背景技術】
【0002】
近年、デジタル対話サービスの価値の拡大に向けて、音声対話の書き起こしに関する様々な取り組みが進められている。
【0003】
例えばコールセンター対応や窓口対応において、銀行などの行員または社員が顧客に向けて説明を行って手続きを進める場合、特に顧客の同意という観点を重視して対話状況を確認しながら対話を進める必要がある。この場合、顧客の同意を明確に得ていない状況でのやり取りは、金融商品販売法に抵触する等のコンプライアンス上のリスクを有する。したがって、対話時または事後の確認において発話内容及びそれに対する同意状況を確認することは非常に重要である。
【0004】
上記のような背景に関連する従来技術として、例えば特許文献1には、話者ごとの応対をチャット形式で表示するコールセンター会話内容表示システムが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2019/003395号
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1に開示されたシステムは、比較的単純に、話者ごとの応対をチャット形式で表示するものであり、着目すべき所定の観点について応対の対話内容を確認しようとする場合には、発話を書き起こしたテキストから手動で確認を行う必要があった。この場合、手動作業による作業コストが膨大になるだけでなく、確認漏れが発生するリスクもあった。
【0007】
本発明は以上の点を考慮してなされたもので、複数の話者による対話から、着目すべき観点を有する対話の情報を抽出し、対話状況の効率的な確認を可能にする対話情報抽出装置及び対話情報抽出方法を提案しようとするものである。
【課題を解決するための手段】
【0008】
かかる課題を解決するため本発明においては、複数の話者による対話を着目すべき観点に基づいて分析する対話情報抽出装置であって、前記対話を構成する発話ごとに、当該発話を書き起こしたテキストを含む発話情報を入力する発話情報入力部と、対話構造を学習済みの推定モデルを用いて、前記対話における複数の発話の前記発話情報から、当該対話の対話構造を推定する対話構造推定部と、前記対話構造に基づいて生成される、複数の話者の発話からなる発話群に対して、前記観点の有無を判定することにより、前記観点を有する発話群を抽出する観点別対話抽出部と、を備えることを特徴とする対話情報抽出装置が提供される。
【0009】
また、かかる課題を解決するため本発明においては、複数の話者による対話を着目すべき観点に基づいて分析する対話情報抽出装置による対話情報抽出方法であって、前記対話情報抽出装置が、前記対話を構成する発話ごとに、当該発話を書き起こしたテキストを含む発話情報を入力する発話情報入力ステップと、前記対話情報抽出装置が、対話構造を学習済みの推定モデルを用いて、前記発話情報入力ステップで入力された前記対話における複数の発話の前記発話情報から、当該対話の対話構造を推定する対話構造推定ステップと、前記対話情報抽出装置が、前記対話構造推定ステップの推定結果に基づいて生成される、複数の話者の発話からなる発話群に対して、前記観点の有無を判定することにより、前記観点を有する発話群を抽出する観点別対話抽出ステップと、を備えることを特徴とする対話情報抽出方法が提供される。
【発明の効果】
【0010】
本発明によれば、複数の話者による対話から、着目すべき観点を有する対話の情報を抽出し、対話状況の効率的な確認が可能となる。
【図面の簡単な説明】
【0011】
図1】本発明の第1の実施形態に係る対話情報抽出装置100の構成例を示すブロック図である。
図2】対話情報抽出処理の処理手順例を示すフローチャートである。
図3】発話情報の一例を示す図である。
図4】過去発話情報群の一例を示す図である。
図5】対話構造の推定結果の一例を示す図である。
図6】観点を有する発話セットに関する対話情報の一例を示す図である。
図7】対話情報の抽出結果の表示例を示す図である。
図8】本発明の第2の実施形態に係る対話情報抽出装置101の構成例を示すブロック図である。
図9】第2の実施形態における対話情報抽出処理の処理手順例を示すフローチャートである。
図10】対話情報抽出装置100,101のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、本発明の実施形態を詳述する。
【0013】
なお、以下の記載及び図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略及び簡略化がなされている。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。本発明が実施形態に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。本発明は、当業者であれば本発明の範囲内で様々な追加や変更等を行うことができる。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は複数でも単数でも構わない。
【0014】
以下の説明では、「テーブル」、「表」、「リスト」、「キュー」等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「XXテーブル」、「XXリスト」等を「XX情報」と呼ぶことがある。各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「ID」、「番号」等の表現を用いるが、これらについてはお互いに置換が可能である。
【0015】
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。
【0016】
また、以下の説明では、プログラムを実行して行う処理を説明する場合があるが、プログラムは、少なくとも1以上のプロセッサ(例えばCPU)によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主体がプロセッサとされてもよい。同様に、プログラムを実行して行う処理の主体が、プロセッサを有するコントローラ、装置、システム、計算機、ノード、ストレージシステム、ストレージ装置、サーバ、管理計算機、クライアント、又は、ホストであってもよい。プログラムを実行して行う処理の主体(例えばプロセッサ)は、処理の一部又は全部を行うハードウェア回路を含んでもよい。例えば、プログラムを実行して行う処理の主体は、暗号化及び復号化、又は圧縮及び伸張を実行するハードウェア回路を含んでもよい。プロセッサは、プログラムに従って動作することによって、所定の機能を実現する機能部として動作する。プロセッサを含む装置及びシステムは、これらの機能部を含む装置及びシステムである。
【0017】
プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
【0018】
以下の説明において「観点」とは、発話に対して着目する観点(着目観点)であって、具体的には例えば、発話に対する同意または不同意が挙げられる。そして、対話のやりとりを通じて(言い換えると、複数の発話を書き起こしたテキストのなかで)当該観点で何らかの意味がなされる場合、すなわち、上記具体例では発話に対する同意または不同意があると判断できる場合に、「観点が有る」と表現する。観点は任意に設定可能であり、例えばユーザによって指定されてもよいし、プログラム等によって決定されてもよい。また、本説明では、複数の話者の発話からなる一連の対話を「対話シナリオ」として扱い、本発明に係る対話情報抽出装置は、対話シナリオごとに、着目すべき観点に基づいて対話を分析する。
【0019】
(1)第1の実施形態
図1は、本発明の第1の実施形態に係る対話情報抽出装置100の構成例を示すブロック図である。図1に示した対話情報抽出装置100は、所定の処理機能を有する処理部として、発話情報入力部111、対話構造推定部112、発話セット生成部114と観点判定部115を有する観点別対話抽出部113、及び抽出結果表示部116を備え、データを格納する記憶部として、対話構造推定モデル記憶部121、観点判定モデル記憶部122、過去発話情報記憶部123、対話構造記憶部124、及び抽出結果記憶部125を備える。
【0020】
発話情報入力部111は、発話ごとに、当該発話を書き起こしたテキストを含む発話情報を対話情報抽出装置100に入力する機能を有する。発話情報入力部111は、対話情報抽出装置100の外部(対話内容をテキストデータで記録する対話記録装置など)からテキストを取得する構成でもよいし、自身が発話の音声データからテキストを書き起こす構成でもよい。
【0021】
対話構造推定部112は、統計的手法によって学習された推定モデルを用いて、現在の対話シナリオにおける対話構造を推定する機能を有する。
【0022】
観点別対話抽出部113は、対話シナリオにおける対話構造の推定結果に基づいて、当該対話シナリオにおいて所定の観点を有する対話に関する情報を抽出する機能を有する。観点別対話抽出部113のうち、発話セット生成部114は、対話構造の推定結果に基づいて、対話上の関係が強い発話の組合せを示す発話セットを生成する機能を有する。また、観点判定部115は、発話セット生成部114が生成した発話セットに対して、観点の有無を判定する機能を有する。
【0023】
抽出結果表示部116は、観点別対話抽出部113によって抽出された、所定の観点を有する発話セットのうち、ユーザの指定条件に該当する発話セットに関する対話情報を出力する機能を有する。
【0024】
対話構造推定モデル記憶部121は、対話構造推定部112が対話構造を推定する際に用いる推定モデルを記憶する。
【0025】
観点判定モデル記憶部122は、観点判定部115が発話セットにおける観点の有無を判定する際に用いる判定モデルを記憶する。
【0026】
過去発話情報記憶部123は、各対話シナリオにおける一連の対話の発話情報(過去発話情報)をまとめた過去発話情報群を記憶する。後述する図4には、過去発話情報群の具体例が示される。
【0027】
対話構造記憶部124は、対話シナリオにおける対話構造の推定結果を示す情報を記憶する。対話構造の推定は対話構造推定部112によって行われ、後述する図5には、対話構造の推定結果の具体例が示される。
【0028】
抽出結果記憶部125は、観点別対話抽出部113(観点判定部115)が決定した抽出対象の対話情報を記憶する。
【0029】
図2は、対話情報抽出処理の処理手順例を示すフローチャートである。図2に示す対話情報抽出処理は、対話情報抽出装置100の各部によって実行される。対話情報抽出処理は、2人以上の話者による対話の進行中にオンラインで逐次実行されてもよいし、対話の終了後に実行されてもよい。以下では、逐次実行されている場合を例として、図2に示した対話情報抽出処理の処理手順について、適宜、他図面を参照しながら説明する。なお、発話に対する着目観点は、図2に処理が開始される前に、例えばユーザから指定される。
【0030】
図2によればまず、発話情報入力部111が、最新の発話を書き起こしたテキストデータ(発話情報)を入力する(ステップS101)。
【0031】
図3は、発話情報の一例を示す図である。図3に示した発話情報210は、発話ID211、発話時間212、発話ユーザID213、及びテキスト214の項目を有する。発話ID211は、発話ごとに割り当てられる識別子(発話ID)を示す。発話IDは、対話シナリオに関わらず発話順に沿って割り当てられる識別子であってもよいし、対話シナリオごとに発話順に沿って割り当てられる識別子であってもよい。発話時間212は、当該発話の発生時間を示す。発話ユーザID213は、当該発話の話者の識別子(ユーザID)を示す。テキスト214は、当該発話の内容を書き起こしたテキストを示す。
【0032】
ステップS101に次いで、発話情報入力部111は、過去発話情報記憶部123に記憶された過去発話情報群を参照し、現在の対話シナリオにおける過去の発話に関する発話情報(過去発話情報)が存在するか否かを確認する(ステップS102)。
【0033】
図4は、過去発話情報群の一例を示す図である。図4に示した過去発話情報群220は、発話ID221、発話時間222、ユーザID223、及びテキスト224の項目を有する。基本的には、過去発話情報群220の各項目は、図3に例示した発話情報210の各項目211~214と対応する。発話ID221は、当該過去発話情報群220に対応する対話シナリオにおける発話の順番を特定可能な識別子を示す。なお、発話情報210の発話ID211が対話シナリオに関係なく発話順に付与された識別子である場合は、過去発話情報群220に発話情報210を登録する際に、発話ID211の値を当該対話シナリオにおける発話順番に相当する値に変換してから発話ID221に登録すればよい。
【0034】
ステップS102において過去発話情報が存在しない場合は(ステップS102のNO)、ステップS101で入力された発話情報は現在の対話シナリオにおける最初の発話を示す発話情報である。この場合、現時点では当該対話シナリオにおける対話が形成されておらず、対話情報を抽出する状況にない。そこで発話情報入力部111は、ステップS101で入力された発話情報を、新たな対話シナリオの過去発話情報群として過去発話情報記憶部123に記憶し(ステップS110)、対話情報抽出処理を終了する。
【0035】
一方、ステップS102において過去発話情報が存在する場合には(ステップS102のYES)、発話情報入力部111は、ステップS101で入力された発話情報と、過去発話情報記憶部123に記憶されている現在の対話シナリオの過去発話情報群とを、対話構造推定部112に入力する(ステップS103)。
【0036】
そして、対話構造推定部112が、ステップS103で入力された情報に基づいて、現在の対話シナリオにおける対話構造を推定する(ステップS104)。そして対話構造推定部112は、対話構造の推定結果を対話構造記憶部124に格納する。
【0037】
ここで、ステップS104における対話構造推定部112による対話構造の推定について詳しく説明する。
【0038】
対話構造推定部112は、統計的手法によって学習された推定モデルを用いて、異なる話者による2つの発話間での関係有無の確率を計算し、その計算結果に基づいて対話上の関係を有する発話の組合せを推定することにより、対話構造を推定する。上記の推定モデルは、対話構造推定モデル記憶部121に記憶されている。
【0039】
対話情報抽出装置100(例えば対話構造推定部112)は、対話構造を付与済みの学習データを用いて、対話構造推定モデル記憶部121に記憶される推定モデルを学習することができる。具体的には例えば、推定モデルの学習の際には、以下のような入力を用意する。発話文(テキスト224)は、Word2Vec、Glove、または事前学習済み言語モデル等によってベクトル化を行う。また、発話時刻(発話時間222)は、数値をそのままベクトルとして扱う。また、発話者(ユーザID223)は、ワンホットベクトルとしてベクトル化する。
【0040】
上記のような学習データを用いて推定モデルが学習されることにより、当該推定モデルの学習または当該推定モデルを用いた推定において、入力とする特徴ベクトルは、「関係推定の対象とする2つの発話間の発話時間の差分」、「関係推定の対象とする2つの発話間の話者ごとの発話数」、及び「関係推定の対象とする2つの発話間の発話文の類似性」という特徴を有する。なお、上記した「関係推定の対象とする2つの発話」は、ある1つの発話と、その発話よりも過去の1つの発話との組合せであり、いくつ分の過去までの発話と組み合わせるかは、任意に設定することができる。また、「発話文の類似性」は、例えば、発話文において意味的に似た語句が出現しているかを示す。
【0041】
図5は、対話構造の推定結果の一例を示す図である。図5に示した対話構造データ230は、対話構造推定部112によって推定された対話構造の一例を示すデータであって、対話上の関係を有する発話の組合せが、各発話の発話IDを用いて示される。対話構造データ230は、対話構造ごとにレコードを有し、各レコードは、発話Aの発話ID231及び発話Bの発話ID232の項目を有して構成される。発話ID231,232の値は、図4の過去発話情報群220における発話ID221の値に対応する。
【0042】
なお、本説明では、対話においてある1つの発話が別の1つの発話に対して関係を有する発話であるとき、前者の発話を「発話A」とし、後者の発話を「発話B」とする。すなわち、発話Bは発話Aよりも過去に発生した発話であり、発話Aの話者と発話Bの話者は別の人である。
【0043】
また、対話構造の推定結果において、発話Aと発話Bとの組合せは、必ずしも1対1にならなくてもよい。具体的には例えば、図5の場合、発話ID「4」の発話Bは、発話ID「5」の発話A及び発話ID「6」の発話Aと、それぞれに対話構造を有する(対話関係を有する)。
【0044】
上述したようにステップS104で対話構造推定部112が対話構造を推定した後は、観点別対話抽出部113の発話セット生成部114が、対話構造の推定結果に基づいて、対話上の強い関係を有する発話セットを生成する(ステップS105)。
【0045】
発話セットの生成方法の一例を説明する。発話セット生成部114は、1つの発話について、任意の閾値の確率値以上で関係を持つ過去発話のうちから、所定条件(例えば、最も発話時刻が近い)を満たす1つの発話を抽出し、これらの発話を組合せた発話群を発話セットとする。上記の所定条件は、経験則では最も発話時刻が近い過去発話であるが、これに限定されるものではない。また、上記の閾値は、例えば0.5を基準とし、0から1の範囲でユーザが抽出用途に応じて設定される。再現率を高めたい(抽出漏れを防止したい)場合には、閾値を低く設定すればよい。また、再現率を高めたい場合には、発話セットの抽出対象を広くしてもよい。
【0046】
また、発話セットの生成方法の変形例として、発話セット生成部114は、1つの発話について、過去発話のうちから発話時間が近い複数個の発話を抽出し、発話セットのサイズを2以上としてもよい。あるいは、任意の閾値の確率値以上で関係を持つ過去発話のうちから、発話時間が近い複数個の発話を抽出するようにしてもよい。
【0047】
図2の説明に戻る。ステップS105で発話セットを生成した後、発話セット生成部114は、生成した発話セットを観点判定部115に入力する(ステップS106)。
【0048】
次に、観点判定部115は、統計的手法によって学習された判定モデルを用いて、それぞれの発話セットにおける観点の有無を判定する(ステップS107)。上記の判定モデルは、観点判定モデル記憶部122に記憶されている。
【0049】
ステップS107における観点判定部115による観点の有無の判定方法の一例について、詳しく説明する。まず、判定モデルには事前学習済み言語モデルを用いる。そして観点判定部115は、発話セットの発話を発話時刻順に並べたものとそのラベル(観点の有無)とを1つのサンプルとし、そのサンプル集合を用いて事前学習済み言語モデルのファインチューニングを行うことによって、判定モデルを学習する。例えば発話セットを構成する発話数が2の場合、文ペア分類問題として扱うことができる。また、発話セットを構成する発話数が3以上の場合でも、同様に分類問題として扱えばよい。
【0050】
次に、観点別対話抽出部113(例えば観点判定部115)が、ステップS107の判定結果に基づいて、観点を有する発話セットを抽出対象として決定する(ステップS108)。そして観点別対話抽出部113は、決定した抽出対象の発話セットに関する対話情報を抽出結果記憶部125に格納する。
【0051】
なお、前述した通り、本実施形態において「観点を有する」とは、当該観点で何らかの意味がなされることを意味する。したがって、着目観点が顧客の同意または不同意であった場合、顧客による同意の発話が含まれる発話セットだけでなく、顧客による不同意の発話が含まれる発話セットも、観点を有する発話セットとして決定される。
【0052】
図6は、観点を有する発話セットに関する対話情報の一例を示す図である。図6に示した対話情報240は、観点を有すると判定された発話セットごとにレコードを有し、各レコードは、発話AのユーザID241、発話Aの発話ID242、発話A243、発話BのユーザID244、発話Bの発話ID245、発話B246、及び観点247の項目を有して構成される。
【0053】
対話情報240において、発話AのユーザID241、発話Aの発話ID242、及び発話A243は、発話セットを構成する回答側の「発話A」に関する発話情報である。発話Aの発話ID242は、対話構造データ230の発話ID231から取得することができる(図5参照)。そして、この発話IDをキーとして過去発話情報群220を参照することにより(図4参照)、ユーザID241はユーザID223から取得することができ、発話A243はテキスト224から取得することができる。また、発話BのユーザID244、発話Bの発話ID245、及び発話B246は、発話セットを構成する問い掛け側の「発話B」に関する発話情報である。したがって、発話Aに関する発話情報と同様にして、発話Bの発話ID245は対話構造データ230の発話ID232から、ユーザID244は過去発話情報群220のユーザID223から、発話B246は過去発話情報群220のテキスト224から、それぞれ取得することができる。また、観点247は、当該発話セットが有する観点の内容を示す。観点の内容とは、例えば「同意」または「不同意」であり、これらの内容は、観点判定部115による観点の有無の判定の際に判別される。
【0054】
ステップS108の後は、抽出結果表示部116が、抽出結果記憶部125に格納された抽出対象の対話情報に対して、ユーザから指定されたフィルタ条件でフィルタリングを行い、フィルタ条件に該当する発話セットに関する対話情報を、抽出結果として出力する(ステップS109)。
【0055】
図7は、対話情報の抽出結果の表示例を示す図である。図7に示す表示画面250は、例えばGUI等によってユーザが操作可能な端末(対話情報抽出装置100が備えるディスプレイ等でもよい)で表示される画面例であって、入力画面251と出力画面252とを有して構成される。入力画面251は、ユーザによるフィルタ条件の指定を受け付け、その指定内容を表示する。なお、フィルタ条件は、キーワード、発話ユーザ、または観点等から任意にユーザが指定可能であるが、条件項目はこれらに限定されるものではない。出力画面252は、フィルタ条件に基づく対話情報の抽出結果を表示する。
【0056】
図7を参照して具体的に説明すると、入力画面251には、キーワード検索で「契約書」が指定され、ユーザ検索で「User-B」が指定され、抽出観点で「不同意」が指定されている。この場合、抽出結果表示部116は、抽出結果記憶部125に記憶された対話情報240(図6参照)のうちから、発話A243または発話B245に「契約書」の語句が含まれ、ユーザID241またはユーザID244が「User-B」であり、観点247が「不同意」であるレコードを検索する。なお、対話情報抽出装置100は、図2のステップS109より前の任意のタイミングで、ユーザによる入力画面251への入力操作を受け付け可能としてよい。そして抽出結果表示部116は、図2のステップS109において、抽出結果記憶部125に格納された抽出対象の対話情報から、上記の各種検索条件(フィルタ条件)に該当するレコードの内容を取得し、これを出力画面252に表示する。
【0057】
上記のようにして出力される出力画面252は、ユーザが着目する観点に基づいて対話内容を抽出したものであり、ユーザは表示画面250を見ることにより、効率的に対話状況を確認することができる。
【0058】
なお、抽出結果表示部116による抽出結果の出力形態は、図7の表示画面250の画面構成に限定されるものではない。他にも例えば、表示画面250の一領域に、対話シナリオにおける発話のテキストデータを、リアルタイムな応対チャットの形式で表示するようにしてもよい。この場合、どのような応対のなかで着目観点を有する対話が発生したのかが、より分かり易く表示される。
【0059】
そしてステップS109の後は、発話情報入力部111が、ステップS101で入力された発話情報を、過去発話情報記憶部123に記憶されている現在の対話シナリオの過去発話情報群に追加し(ステップS110)、対話情報抽出処理を終了する。なお、発話情報を登録するステップS110の実行タイミングは、ステップS101以降の任意のタイミングとしてもよい。
【0060】
以上のように対話情報抽出処理を実行することにより、対話情報抽出装置100は、複数の話者による発話シーケンスから、対話構造の推定と観点に関する判定とを行い、観点を有する発話を含む発話セットを抽出し、当該発話セットに関する対話情報を出力する。このような本実施形態に係る対話情報抽出装置100によれば、複数の話者による対話から、着目すべき観点を有する対話の情報を抽出することができ、対話状況の効率的な確認が可能となる。
【0061】
また、対話情報抽出装置100は、発話セットを単位として観点に関する判定を行うことにより、観点の有無だけでなく、観点の内容(例えば、同意か不同意か)まで精度よく判別することができ、抽出される対話情報の粒度を向上させることができる。
【0062】
また、対話情報抽出装置100が、抽出した対話情報をユーザが指定したフィルタ条件でフィルタリングして出力することにより、ユーザは、対話状況の確認をより効率的に行うことができる。
【0063】
また、対話情報抽出装置100は、発話が発生するたび(テキストの発話情報が入力されるたび)に、図2に示した対話情報抽出処理を逐次的に実行することにより、オンライン処理が可能となる。このとき、発話が発生するたび(テキストの発話情報が入力されるたび)に、対話情報の抽出結果の画面表示を更新するように構成すれば、ユーザは、リアルタイムで対話状況(例えば、同意や不同意といった観点の状況)を確認することができる。オンラインで発話状況を継続的に監視しながら所定の観点に関する情報を抽出できることは、同意の確認漏れなどのリスクを低減するために有用である。
【0064】
(2)第2の実施形態
図8は、本発明の第2の実施形態に係る対話情報抽出装置101の構成例を示すブロック図である。対話情報抽出装置101は、第1の実施形態で図1に示した対話情報抽出装置100に判定対象選択部117が追加された構成となっており、対話情報抽出装置100と共通する構成については説明を省略する。
【0065】
判定対象選択部117は、対話シナリオにおける一連の対話(複数の発話)のうちから、予め設定された判定条件(任意のタイミングでユーザから指定されてもよい)に基づいて、対話情報抽出の判定対象とする発話(判定対象発話)を選択する機能を有する。
【0066】
上記の判定条件としては例えば、対話情報の抽出処理の開始を判定するための「開始キーワード発話」と、対話情報の抽出処理の終了を判定するための「終了キーワード発話」とが設定される。このとき、判定対象選択部117は、対話シナリオの進行に伴って対話情報抽出装置101に入力される発話のテキストデータ(発話情報)に対して、「開始キーワード発話」または「終了キーワード発話」が存在するかを検索し、開始キーワード発話が最初に存在した発話から、終了キーワード発話が最初に存在した発話までを、判定対象発話として選択する。また、その他の判定条件として例えば、判定対象の対話区間の開始時に話者の1人(オペレータ等)が所定のスイッチを押下するように構成される場合、このスイッチ操作を判定条件とすることができる。
【0067】
図9は、第2の実施形態における対話情報抽出処理の処理手順例を示すフローチャートである。図9では、図2に示した第1の実施形態における対話情報抽出処理と同様の処理に、共通する符号を付している。以下、図9に示した対話情報抽出処理の処理手順について、図2の対話情報抽出処理との相違点を中心に説明する。
【0068】
図9によればまず、発話情報入力部111が発話情報を入力する(ステップS101)。次いで、判定対象選択部117が、所定の判定条件に基づいて、ステップS101で入力された発話情報が判定対象発話であるか否かを判定する(ステップS201)。
【0069】
ステップS201において判定対象発話ではないと判定された場合(ステップS201のNO)、対話情報を抽出する必要がないため、特段の処理を行うことなく、対話情報抽出処理を終了する。
【0070】
一方、ステップS201において判定対象発話であると判定された場合は(ステップS201のYES)、発話情報入力部111が、過去発話情報記憶部123に記憶された現在の対話シナリオの過去発話情報群を参照し、判定対象発話の判定条件を満たす過去発話情報が存在するか否かを確認する(ステップS202)。なお、第2の実施形態では、過去発話情報記憶部123には、判定対象発話の判定条件を満たす過去発話情報だけが記憶される。そのため実際には、ステップS202において発話情報入力部111は、現在の対話シナリオの過去発話情報群に過去発話情報が存在するかを確認すればよい。
【0071】
ステップS202において判定対象発話の判定条件を満たす過去発話情報が存在した場合は(ステップS202のYES)、ステップS103~S108の処理が行われることにより、観点を有する発話を含む発話セットが対話情報の抽出対象として決定され、抽出対象の発話セットに関する対話情報が抽出結果記憶部125に格納される。次いで、抽出結果表示部116が、抽出結果記憶部125に格納された対話情報のうちから、ユーザから指定されたフィルタ条件に該当する対話情報を抽出結果として出力する(ステップS109)。そして最後に、ステップS110で、発話情報入力部111が、ステップS101で入力された発話情報を、過去発話情報記憶部123に記憶されている現在の対話シナリオの過去発話情報群に追加し(ステップS110)、対話情報抽出処理を終了する。
【0072】
一方、ステップS202において判定対象発話の判定条件を満たす過去発話情報が存在しない場合(ステップS202のYES)、現時点では当該対話シナリオにおいて、対話情報の抽出対象となる対話が形成されていない。そこで発話情報入力部111は、ステップS101で入力された発話情報を、該当する対話シナリオの過去発話情報群として過去発話情報記憶部123に記憶し(ステップS110)、対話情報抽出処理を終了する。なお、ステップS101で入力された発話情報が新たな対話シナリオの最初の発話に関する場合は、発話情報入力部111は、当該発話情報を、新たな対話シナリオの過去発話情報群として過去発話情報記憶部123に記憶すればよい。
【0073】
以上のように対話情報抽出処理を実行することにより、第2の実施形態に係る対話情報抽出装置101は、判定対象発話を限定した上で、観点を有する対話情報を抽出することができるため、第1の実施形態に比べて、処理部(例えば対話構造推定部112や観点別対話抽出部113等)の処理負荷を軽減し、記憶部(例えば過去発話情報記憶部123や対話構造記憶部124等)の容量消費を抑制することができる。また、「開始キーワード発話」や「終了キーワード発話」のような判定条件を適切に設定することにより、観点とは関係のない発話を除外することができるので、抽出される対話情報の粒度をより向上させる効果が得られる。
【0074】
(3)ハードウェア構成
最後に、第1または第2の実施形態に係る対話情報抽出装置100,101のハードウェア構成例を説明する。
【0075】
図10は、対話情報抽出装置100,101のハードウェア構成例を示すブロック図である。図10に示すように、対話情報抽出装置100,101は、CPU11、ROM12、RAM13、入出力インタフェース14、記憶装置15、ドライブ装置16、及び通信インタフェース17を備えて構成される。記憶装置15は、対話情報抽出装置100,101が利用する各種データやプログラム20を記憶する。CPU11がプログラム20をRAM13に読み出して実行することにより、対話情報抽出装置100,101の各処理部(発話情報入力部111,対話構造推定部112,観点別対話抽出部113,抽出結果表示部116,判定対象選択部117)が実現される。
【符号の説明】
【0076】
11 CPU
12 ROM
13 RAM
14 入出力インタフェース
15 記憶装置
16 ドライブ装置
17 通信インタフェース
20 プログラム
100,101 対話情報抽出装置
111 発話情報入力部
112 対話構造推定部
113 観点別対話抽出部
114 発話セット生成部
115 観点判定部
116 抽出結果表示部
117 判定対象選択部
121 対話構造推定モデル記憶部
122 観点判定モデル記憶部
123 過去発話情報記憶部
124 対話構造記憶部
125 抽出結果記憶部
210 発話情報
220 過去発話情報群
230 対話構造データ
240 対話情報
250 表示画面
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10