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

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

▶ ベクスト株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-01
(45)【発行日】2023-05-12
(54)【発明の名称】テキスト解析装置、および、方法
(51)【国際特許分類】
   G06F 40/205 20200101AFI20230502BHJP
   G06F 16/383 20190101ALI20230502BHJP
【FI】
G06F40/205
G06F16/383
【請求項の数】 12
(21)【出願番号】P 2021169178
(22)【出願日】2021-10-14
(65)【公開番号】P2023059184
(43)【公開日】2023-04-26
【審査請求日】2021-10-18
(73)【特許権者】
【識別番号】516077895
【氏名又は名称】ベクスト株式会社
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】蛭子 くるみ
(72)【発明者】
【氏名】呂 之華
(72)【発明者】
【氏名】神田 良輝
【審査官】木村 大吾
(56)【参考文献】
【文献】特開2017-167726(JP,A)
【文献】国際公開第2014/208298(WO,A1)
【文献】特開2015-056020(JP,A)
【文献】内海 慶、藤井 敦、田中 和世,分析区間長を可変としたテキスト分割手法,言語処理学会第12回年次大会発表論文集 Proceedings of The Twelfth Annual Meeting of The Association for Natural Language Processing,日本,言語処理学会 The Association for Natural Language Processing,2006年03月13日
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
会話された内容をテキスト化した会話テキストを解析するテキスト解析装置であって、
前記会話テキストを記憶するテキスト記憶部と、
前記会話テキストを前記会話テキストに出現する名詞句の個数に基づいてセグメントに分割し、前記セグメントに含まれる名詞句であるセグメント出現名詞句に基づき、前記セグメントで語られている話題と、前記話題に関連する名詞句である話題関連名詞句とを抽出する話題抽出部と、
を有し、
前記話題抽出部は、前記会話テキストを、前記会話テキストに出現する名詞句の個数に基づいてセグメントに分割した後、前記会話テキストに含まれるセグメントを抽出的要約により所定個数以下に絞り込み、絞り込みにより残ったセグメントについて話題と話題関連名詞句とを抽出するテキスト解析装置。
【請求項2】
前記話題関連名詞句に基づいて、前記セグメントを前記話題に分類するための条件である話題分類条件を生成する話題分類体系構築部を更に有する、
請求項1に記載のテキスト解析装置。
【請求項3】
前記話題分類体系構築部は、前記話題関連名詞句に基づいて前記会話テキストに含まれる文の中から話題毎に当該話題の内容を表す模範文を選択し、前記模範文および前記話題関連名詞句に基づいて当該話題の重要名詞句を生成し、前記重要名詞句に基づいて前記話題分類条件を生成する、
請求項2に記載のテキスト解析装置。
【請求項4】
前記話題分類体系構築部は、前記話題に対して生成された重要名詞句のリストに含まれている全ての重要名詞句を含むことを前記話題の話題分類条件とする、
請求項3に記載のテキスト解析装置。
【請求項5】
前記話題分類体系構築部は、前記生成した話題分類条件によって前記会話テキストのセグメントを前記話題に分類し、全セグメントの数に対する、いずれの話題にも分類されなかったセグメントの数の割合が所定の閾値以上であれば、前記いずれの話題にも分類されなかったセグメントを対象として新たな話題および話題分類条件を生成し、新たに生成された話題分類条件を追加して、前記セグメントの分類を再び行う、という処理を、いずれの話題にも分類されなかったセグメントの数の割合が前記閾値未満となるまで繰り返すことにより、前記話題分類条件を生成する、
請求項2に記載のテキスト解析装置。
【請求項6】
前記話題分類体系構築部は、
前記重要名詞句を前記模範文における出現する順序に並べて結合することにより、前記話題の話題名を生成する、
請求項3に記載のテキスト解析装置。
【請求項7】
前記話題分類体系構築部は、話題名に共通な名詞句を含む複数の話題をまとめることにより上位分類の話題を生成し、前記共通な名詞句を前記上位分類の話題の話題名とすることにより、話題の階層構造を生成する、
請求項6に記載のテキスト解析装置。
【請求項8】
前記話題およびその階層構造を編集可能に表示するユーザインタフェース部を更に有し、
前記ユーザインタフェース部は、前記話題およびその階層構造を、
前記話題を表す第1話題オブジェクトおよび前記話題の話題名を、縦方向に並べ、同一の階層の話題の第1話題オブジェクトおよび話題名の横位置を揃え、上位階層の話題の第1話題オブジェクトおよび話題名の下に該上位階層の話題に属する下位階層の話題の話題オブジェクトおよび話題名を配置する第1表示形式と、
前記話題の話題名を内包し前記話題を表す第2話題オブジェクトを用いて、前記上位階層の話題の第2話題オブジェクトと前記下位階層の話題の第2話題オブジェクトとを接続線によって接続し、前記接続線同士が重ならないように配置する第2表示形式と、で切り替え可能に、表示する、
請求項7に記載のテキスト解析装置。
【請求項9】
前記ユーザインタフェース部は、前記話題およびその階層構造の表示画面上でいずれかの話題が選択されると、前記選択された話題の話題分類条件を編集可能にする画面を表示する、
請求項8に記載のテキスト解析装置。
【請求項10】
会話された内容をテキスト化した会話テキストを解析するテキスト解析装置であって、
前記会話テキストを記憶するテキスト記憶部と、
前記会話テキストを前記会話テキストに出現する名詞句の個数に基づいてセグメントに分割し、前記セグメントに含まれる名詞句であるセグメント出現名詞句に基づき、前記セグメントで語られている話題と、前記話題に関連する名詞句である話題関連名詞句とを抽出する話題抽出部と、
を有し、
前記話題抽出部は、
前記話題関連名詞句のうち出現確率が上位の所定の個数の話題関連名詞句を選定し、
前記選定された話題関連名詞句から、N(Nは2以上の整数)個の話題関連名詞句による順列を生成し、
前記順列のうち、前記会話テキストに出現する名詞句のNグラムであり、前記会話テキストにおける前記Nグラムの出現頻度が所定の閾値以上である順列を構成する話題関連名詞句を前記順列における順序で結合して複合名詞句とするテキスト解析装置。
【請求項11】
会話された内容をテキスト化した会話テキストを解析するためのテキスト解析方法であって、
前記会話テキストを記憶し、
前記会話テキストを前記会話テキストに出現する名詞句の個数に基づいてセグメントに分割した後前記会話テキストに含まれるセグメントを抽出的要約により所定個数以下に絞り込み、
前記セグメントに含まれる名詞句であるセグメント出現名詞句に基づき、絞り込みにより残ったセグメントについて前記セグメントで語られている話題と、前記話題に関連する名詞句である話題関連名詞句とを抽出する、
ことをコンピュータが実行するテキスト解析方法。
【請求項12】
会話された内容をテキスト化した会話テキストを解析するためのテキスト解析方法であって、
前記会話テキストを記憶し、
前記会話テキストを前記会話テキストに出現する名詞句の個数に基づいてセグメントに分割し、前記セグメントに含まれる名詞句であるセグメント出現名詞句に基づき、前記セグメントで語られている話題と、前記話題に関連する名詞句である話題関連名詞句とを抽出し、
前記話題関連名詞句のうち出現確率が上位の所定の個数の話題関連名詞句を選定し、
前記選定された話題関連名詞句から、N(Nは2以上の整数)個の話題関連名詞句による順列を生成し、
前記順列のうち、前記会話テキストに出現する名詞句のNグラムであり、前記会話テキストにおける前記Nグラムの出現頻度が所定の閾値以上である順列を構成する話題関連名詞句を前記順列における順序で結合して複合名詞句とする、
ことをコンピュータが実行するテキスト解析方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、テキストを処理する技術に関する。
【背景技術】
【0002】
特許文献1には、会話から得られたテキストを解析し、その会話における話題(特許文献1ではカテゴリ)の遷移を特定する手法が開示されている。この手法の話題の遷移を特定する技術は、例えば、顧客との電話対応業務を行うオペレータの養成等に利用することができる。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-167726号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の手法では、テキストから削除すべき不要語を特定するために、人手により予め作成した不要語辞書が用いられる。また、テキストを分割したセグメントを話題(カテゴリ)に分類するために、人手により予め作成したカテゴリ辞書が用いられる。このような辞書を人手により作成する作業は容易でなく、できるだけ削減することが求められる。
【0005】
本開示におけるひとつの目的は、会話のテキストに含まれる適切な話題を容易に特定することを可能にする技術を提供することである。
【課題を解決するための手段】
【0006】
本発明における一つの実施形態に従うテキスト解析装置は、会話された内容をテキスト化した会話テキストを解析するテキスト解析装置であって、前記会話テキストを記憶するテキスト記憶部と、前記会話テキストを前記会話テキストに出現する名詞句の個数に基づいてセグメントに分割し、前記セグメントに含まれる名詞句であるセグメント出現名詞句に基づき、前記セグメントで語られている話題と、前記話題に関連する名詞句である話題関連名詞句とを抽出する話題抽出部と、を有する。
【発明の効果】
【0007】
本発明によれば、会話のテキストに含まれる適切な話題を容易に特定することが可能となる。
【図面の簡単な説明】
【0008】
図1】会話解析システムのハードウェア構成のブロック図。
図2】会話テキスト体系化システムのハードウェア構成のブロック図。
図3】会話テキスト体系化システムの機能構成のブロック図。
図4】話題抽出部が実行する処理のフローチャート。
図5】セグメント分割処理のフローチャート。
図6】複合語生成処理のフローチャート。
図7】話題分類体系構築処理のフローチャート。
図8】話題分類条件生成処理のフローチャート。
図9】話題分類体系階層化処理のフローチャート。
図10】ツリー表示形式による話題の階層構造の一例を示す図。
図11】マップ表示形式による話題の階層構造の一例を示す図。
図12】話題分類条件の表示画面の一例を示す図。
図13】話題分類条件の編集画面の一例を示す図。
図14】会話文脈解析システムのハードウェア構成のブロック図。
図15】会話文脈解析システムの機能構成のブロック図。
図16】文脈特定処理のフローチャート。
図17】トークフロー抽出処理のフローチャート。
図18】分岐型トークフロー生成処理のフローチャート。
図19】分岐型トークフローが生成される様子を表す図。
図20】分岐型トークフローが生成される様子を表す図。
図21】分岐型トークフローが生成される様子を表す図。
図22】分岐型トークフローが生成される様子を表す図。
図23】第1表示処理フローのフローチャート。
図24】第1表示処理によって表示された分岐型トークフローの一例を示す図。
図25】第2表示処理フローのフローチャート。
図26】第2表示処理によって表示された分岐型トークフローの一例を示す図。
図27】問答抽出処理のフローチャート。
図28】第1表示処理における分岐型トークフローの画面表示の一例を示す図。
図29】第2表示処理における分岐型トークフローの画面表示の一例を示す図。
図30】問答抽出処理における画面表示の一例を示す図。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態について図面を参照して説明する。
【0010】
本実施形態による「テキスト解析装置」の一例としての会話テキスト体系化システムは、人と人との会話に代表される人が話した内容から語られた話題を抽出し、抽出された話題を体系的に整理するシステムである。
【0011】
<会話解析システムのハードウェア構成>
図1は、会話解析システムのハードウェア構成のブロック図である。
【0012】
図1に示すように、会話解析システム1は、会話テキスト体系化システム10と、後述する他の「テキスト解析装置」の一例としての会話文脈解析システム60とを備えている。会話テキスト体系化システム10は、話題を抽出し、抽出された話題を、会話文脈解析システム60に出力する。尚、会話テキスト体系化システム10と、会話文脈解析システム60とは、それらのハードウェア構成および機能構成の一部が共通してもよい。
【0013】
<会話テキスト体系化システムのハードウェア構成>
図2は、会話テキスト体系化システムのハードウェア構成のブロック図である。
【0014】
図2に示すように、会話テキスト体系化システム10は、処理装置91と、メインメモリ92と、記憶装置93と、入力装置94と、表示装置95とを有し、これらの各部がデータバスおよびアドレスバスを含む信号線96を介して相互に接続されたコンピュータシステムである。
【0015】
処理装置91は、CPU(Central Processing Unit)などの中央処理装置を含み、メインメモリ92に記憶された制御プログラムを実行することで、会話テキスト体系化システム10の各機能(図3参照)が実現される。なお、処理装置91はCPU自体であってもよい。
【0016】
メインメモリ92は、ROM(Read Only Memory)などであり、このメインメモリ92には、会話テキスト体系化システム10の各部を機能させる制御プログラムなどが記憶される。
【0017】
記憶装置93は、ハードディスクドライブ(Hard Disk Drive:HDD)やソリッドステートドライブ(Solid State Drive:SSD)などであり、処理装置91による処理に供される入力データ、処理に用いられる閾値等のパラメータ、および処理の結果である出力データが記憶される。
【0018】
入力データには会話テキストがある。会話テキストは、例えば、オペレータと顧客との電話による通話をテキストデータに変換した情報や、オペレータと顧客がチャットシステムで会話した内容のテキストなどである。会話テキストは、語句や文によって構成されており、ある纏まった意味内容を表す話題を潜在的に含んでいる。
【0019】
入力装置94は、ユーザが操作するマウスやキーボードなどの操作装置であり、操作による情報の入力を受け付ける。
【0020】
表示装置95は、コンピュータディスプレイなどの装置であり、入力データや出力データに基づくユーザインタフェース画面を表示して各種情報をユーザに提示する。
【0021】
<会話テキスト体系化システムの機能構成>
図3は、会話テキスト体系化システムの機能構成のブロック図である。
【0022】
図3を参照すると、本実施形態による会話テキスト体系化システム10は、テキスト記憶部11、話題抽出部12、話題分類体系構築部13、およびユーザインタフェース部14を備えている。
【0023】
テキスト記憶部11には、予め収集された会話テキストD1が記録されている。
【0024】
会話テキストD1は、人と人が音声で会話した内容をテキスト化したものやチャットによる発言テキストである。会話が始まってから終わるまで1回の会話のテキストデータが会話テキストD1として1つのファイルに格納されている。テキスト記憶部11には、1つ以上、典型的には多数の会話テキストD1が記録されている。
【0025】
本実施形態では、会話テキストD1は、一例として、顧客からの電話にオペレータが応対した際の会話のテキストである。1回の通話が1つの会話テキストD1となっている。1回の通話の会話テキストD1には、1つ以上、典型的には複数の発話が含まれている。ここでいう発話は、会話において人が発する音声の単位である。例えば、音声が発せられている状態から、ブレス等によって音声の無い時間が所定時間以上あると、発話の切れ目とされる。
【0026】
話題抽出部12は、会話テキストD1を、その会話テキストD1に出現する名詞句の個数に基づいてセグメントに分割する。ここで生成される各セグメントに出現する名詞句を、以下「セグメント出現名詞句」という場合がある。
【0027】
更に、話題抽出部12は、各セグメントのセグメント出現名詞句に基づいて、それらセグメントで語られている話題と、当該話題に関連する名詞句(以下「話題関連名詞句」ともいう)を抽出する。話題抽出部12が実行する処理の詳細な例については後述する。
【0028】
話題分類体系構築部13は、各話題について、話題関連名詞句に基づいて、その話題に分類するための条件(以下「話題分類条件」ともいう)を生成する。話題分類条件を生成する処理の詳細な例については後述する。更に、話題分類体系構築部13は、生成した話題分類条件の体系(以下「話題分類体系」ともいう)を階層構造に整理し、階層化された話題分類体系(以下「階層型話題分類体系」ともいう)を生成する。階層型話題分類体系を生成する処理(以下「話題分類体系構築処理」ともいう)の詳細な例については後述する。
【0029】
ユーザインタフェース部14は、話題およびその階層構造を編集可能に表示する。
【0030】
ユーザインタフェース部14は、話題の階層構造を複数の表示形式で表示可能とし、ユーザが作業の内容や目的に応じて表示形式を選択可能にしてもよい。例えば、話題の階層構造を、話題名の視認性を重視した表示形式と、話題の従属関係の視認性を重視した表示形式とで切り替えとしてもよい。表示形式の具体的な例については後述する。
【0031】
<話題抽出部12による処理>
図4は、話題抽出部12が実行する処理のフローチャートである。
【0032】
ステップS101にて、話題抽出部12は、会話テキストD1に対してセグメント分割処理を行って複数のセグメントを生成する。セグメント分割処理は、会話テキストD1に対して形態素解析を行って名詞句を抽出し、出現する名詞句の個数に基づいて会話テキストD1を区切ってセグメントを生成し、それらセグメント毎の名詞句リストD2を生成する処理である。セグメント毎の名詞句リストD2は、各セグメントに出現する名詞句(セグメント出現名詞句)を出現順に列挙したリスト情報である。セグメント分割処理の詳細な例は後述する。
【0033】
ステップS102にて、話題抽出部12は、抽出的要約処理により、会話テキストD1に含まれるセグメントを所定個数以下に絞り込む。以下、絞り込みにより残ったセグメントのセグメント毎の名詞句リスト(以下、「抜粋セグメント毎の名詞句リスト」ともいう)D2’を処理の対象とする。
【0034】
上述したように、1つの会話テキストD1は、1回の通話もしくは発言テキストに相当する。したがって、会話テキストD1の長さはまちまちであり、長時間にわたる大きな会話量あるいはテキスト量の会話テキストD1がある可能性がある。そのような長時間の会話テキストD1からは多数のセグメントが生成されることになる。1つの会話テキストD1から生成されたセグメントの数が多すぎると、話題の抽出の精度が低下する恐れがある。そこで、本実施形態では、抽出的要約により1つの会話テキストD1から生成されるセグメントの個数を一定個数以下に抑えている。
なお、この抽出的要約は行わなくても問題ない場合もある。例えば、会話テキストD1の長さがある程度以下に揃っていれば、1つの会話テキストD1から生成されるセグメントの個数もある程度以下に揃うので、抽出的要約を行う必要はないと考えられる。
【0035】
ステップS103にて、話題抽出部12は、抜粋セグメント毎の名詞句リストD2’に対して、そのセグメント出現名詞句を用いてトピックモデリング処理を行い、セグメントで語られている話題と、その話題に関連する名詞句すなわち話題関連名詞句を抽出する。ある話題の会話にて出現しうる名詞句がその話題の話題関連名詞句となる。
【0036】
このとき、話題抽出部12は、トピックモデリング処理において所定個数の話題を抽出する。トピックモデリング処理において抽出する話題の個数は、パラメータとして適切な値が設定される。また、このトピックモデリング処理により、話題における各話題関連名詞句の出現確率に関する情報も得られる。例えば、話題における各話題関連名詞句の出現確率の順位が得られる。
【0037】
上述したステップS103の処理により、話題単位の名詞句リストD3が作成される。話題単位の名詞句リストD3は、抽出された話題のそれぞれについて、その話題の話題関連名詞句を出現確率順に列挙したリスト情報である。
【0038】
続いて、ステップS104にて、話題抽出部12は、各話題の各話題関連名詞句に対して複合語生成処理を行い、話題単位に複合処理前および複合処理後の見出し語リストを生成する。複合処理前の見出し語リストは、話題における出現確率が上位所定個の話題関連名詞句のリストである。
【0039】
複合処理後の見出し語リストは、複合処理前の見出し語リストに含まれる適切な組み合わせの複数の話題関連名詞句を結合して複合語となったものを含むリストである。なお、複合処理前の見出し語リストに適切な組み合わせの複数の話題関連名詞句が無ければ、複合処理後の見出し語リストが、複合語を含まず、複合処理前の見出し語リストと同じものとなることもあり得る。
複合語生成処理の詳細な例については後述する。
【0040】
上述したステップS102からステップS104での処理を、以下、話題抽出処理という場合がある。
【0041】
<セグメント分割処理>
図5は、セグメント分割処理のフローチャートである。
【0042】
話題抽出部12は、ステップS201にて、1通話分の会話テキストD1を読み出し、ステップS202にて、読み出される通話が存在したか否か判定する。一度処理に供された通話は、ここでの読み出しの対象外となる。
【0043】
読み出される通話が存在しなければ、話題抽出部12は、処理を終了する。読み出される通話が存在していれば、話題抽出部12は、ステップS203にて、その通話の会話テキストD1から1つの発話を読み出し、ステップS204にて、読み出される発話が存在したか否か判定する。一度処理に供された発話は、ここでの読み出しの対象外となる。
【0044】
読み出される発話が存在しなければ、話題抽出部12は、ステップS201に戻って処理を繰り返す。
【0045】
読み出される発話が存在していれば、ステップS205にて、話題抽出部12は、読み出された発話に出現する全ての名詞句を抽出する。続いて、ステップS206にて、話題抽出部12は、抽出された名詞句を記憶部Aに保存する。記憶部Aは、セグメントに出現する名詞句を列挙していくために設けられるワークエリアである。
【0046】
続いて、ステップS207にて、話題抽出部12は、記憶部A内に保存されているユニークな名詞句の個数が所定の閾値M未満であるか否か判定する。記憶部A内に保存されているユニークな名詞句の個数が所定の閾値M未満であれば、話題抽出部12は、ステップS203に戻って次の発話に対して同様の処理を繰り返す。
【0047】
記憶部A内に保存されているユニークな名詞句の個数が閾値M以上であれば、話題抽出部12は、ステップS208にて、記憶部Aに保存されている名詞句を記憶部Bに記録し、ステップS209にて、記憶部Aをクリアし、ステップS203に戻って次の発話から処理を繰り返す。
【0048】
記憶部Bは、セグメント毎のそのセグメントに出現する名詞句のリストを列挙していくためのワークエリアである。記憶部A内に保存されているユニークな名詞句の個数が閾値M以上に達したということは、会話テキストD1におけるセグメントを区切る箇所まで発話が読み出されたことを意味する。このときに記憶部A内に存在している名詞句が、当該セグメントに出現する名詞句として記憶部Bに保存される。全ての通話の分の会話テキストD1に対する処理が終わり、ステップS202にて、読み出される通話が存在しないと判定されたときには、記憶部B内にセグメント毎の名詞句リストD2が完成している。
【0049】
<複合語生成処理>
図6は、複合語生成処理のフローチャートである。
【0050】
ステップS301にて、話題抽出部12は、予め、セグメント毎の名詞句リストD2の各セグメントから全組み合わせのNグラムを抽出し、各Nグラムのセグメント毎の名詞句リストD2における出現頻度を算出しておく。Nグラムは、N個の連続する名詞句で構成される単位である。Nは2以上の整数である。
【0051】
話題抽出部12は、抽出したNグラムと算出した出現頻度とから、名詞句のNグラムをキーとし、そのNグラムの出現頻度をバリューとするテーブル(以下「Nグラムテーブル」ともいう)D4を生成しておく。
【0052】
話題抽出部12は、ステップS302にて、話題単位の名詞句リストD3から、1つの話題の話題関連名詞句を全て読み出し、ステップS303にて、読み出される話題が存在していたか否か判定する。読み出される話題が存在していなければ、話題抽出部12は処理を終了する。
【0053】
読み出される話題が存在していれば、話題抽出部12は、ステップS304にて、読み出された話題の話題関連名詞句のうち出現確率が上位所定個(ここではL個(Lは2以上の整数))の名詞句を選定する。ここで選定された名詞句のリストが、話題単位の見出し語リストD5となる。
【0054】
続いて、ステップS305にて、話題抽出部12は、N個の話題関連名詞句で構成される全ての順列を生成する。ここで個の順列D6が生成される。
【0055】
次に、ステップS306にて、話題抽出部12は、個の順列D6のうち、NグラムテーブルD4に存在する順列のみを残し、それ以外を除外する。更に、ステップS307にて、話題抽出部12は、残った順列をNグラムテーブルD4における出現頻度の順番にソートする。
【0056】
更に、ステップS308にて、話題抽出部12は、NグラムテーブルD4における出現頻度が所定の閾値(ここではF)以上の順列の名詞句を結合し、複合名詞句を生成する。このステップS308の処理により、話題単位の複合見出し語リストD7が生成される。ステップS308の処理の後、話題抽出部12は、ステップS302に戻り、次の話題に対して処理を繰り返す。
【0057】
<話題分類体系構築処理>
図7は、話題分類体系構築処理のフローチャートである。
【0058】
ステップS401にて、話題分類体系構築部13は、話題分類条件生成処理を実行する。話題分類条件生成処理は、話題抽出部12により抽出された話題について話題名と話題分類条件とを付加する処理である。複数の話題の話題分類条件からなる体系が話題分類体系D8となる。話題分類体系構築処理の詳細な例は後述する。
【0059】
ステップS402にて、話題分類体系構築部13は、話題分類体系D8によって、会話テキストD1の各セグメントを話題に分類する。このとき、会話テキストD1からセグメント単位のテキストを生成し、そのテキストを用いて分類を行ってもよい。また、話題分類条件は、セグメントに含まれる名詞句のみで判断できるので、セグメント毎の名詞句リストD2を用いて分類を行ってもよい。
【0060】
ステップS403にて、話題分類体系構築部13は、全セグメントに対する、話題分類体系D8によっていずれかの話題に分類されたセグメントの割合(以下「カバー率」ともいう)を算出し、カバー率が所定の閾値以上であるか否か判定する。
【0061】
カバー率が閾値未満であれば、ステップS404にて、話題分類体系構築部13は、ステップS402にていずれの話題にも分類されなかったセグメント(以下「未分類セグメント」ともいう)のセグメント毎の名詞句リストD9を抽出し、未分類セグメントのセグメント毎の名詞句リストD9を処理対象として、話題抽出部12に話題抽出処理(S102-S104)を実行させる。これにより新たな追加の話題が生成される。
【0062】
続いて、ステップS405にて、話題分類体系構築部13は、新たな追加の話題について話題分類条件生成処理を実行する。この話題分類条件生成処理はステップS401の処理と同様であり、その詳細な例は後述する。これにより新たな追加の話題について話題名および話題分類条件が生成され、追加の各話題の話題分類条件からなる話題分類体系(以下「追加の話題分類体系」)D10が得られる。
【0063】
ステップS406にて、話題分類体系構築部13は、追加の話題分類体系D10をマージして話題分類体系D8を更新し、ステップS402に戻り、更新された話題分類体系D8を用いて以降の処理を繰り返す。ステップS403にて、カバー率が閾値以上となれば、話題分類体系構築部13は、ステップS407にて、最終的な話題分類体系D8を出力する。尚、いずれの話題にも分類されなかったセグメントのみを対象として、新たに生成された話題分類条件で分類することを、全セグメントのカバー率が閾値を超えるまでやってもよい。
【0064】
ステップS408にて、話題分類体系構築部13は、話題分類体系D8に対して話題分類体系階層化処理を行って階層構造に整理し、階層型話題分類体系D11を生成する。話題分類体系階層化処理は、階層構造を持たない話題分類体系を階層構造に整理する処理である。話題分類体系階層化処理の詳細な例は後述する。
【0065】
<話題分類条件生成処理>
図8は、話題分類条件生成処理のフローチャートである。
【0066】
ステップS501にて、話題分類体系構築部13は、会話テキストD1の全ての発話を1文単位に変換する。ステップS502にて、話題分類体系構築部13は、話題単位の見出し語リストD5に含まれている名詞句を利用することにより話題毎の模範文D12を抽出する。模範文は、当該話題の内容を端的に表す1文である。例えば、ある話題の見出し語リストとの類似性が最も高い文をその話題の模範文とすることにしてもよい。類似性の高い文は、例えば、概念検索あるいはキーワード検索のアルゴリズムを用いて抽出することができる。
【0067】
ステップS503にて、話題分類体系構築部13は、模範文D12と話題単位の複合見出し語リストD7とを参照して、模範文D12に出現する複合見出し語を抽出する。そして、話題分類体系構築部13は、抽出された複合見出し語を重要名詞句の候補とし、話題単位の重要名詞句候補リストD13に追加する。話題単位の重要名詞句は、各話題についての当該話題において重要性の高い名詞句である。
【0068】
続いて、ステップS504にて、話題分類体系構築部13は、話題単位の見出し語リストD5に含まれている名詞句のうち既に話題単位の重要名詞句候補リストに登録された複合名詞句を構成する名詞句を除いた名詞句であり、模範文D12に出現するものを重要単語候補リストに追加する。
【0069】
そして、ステップS505にて、話題分類体系構築部13は、話題単位の重要名詞句候補リストD13から、そこに登録されている名詞句のうち1文字の名詞句を削除することにより、話題単位の重要名詞句リストD14を生成する。
【0070】
ステップS506では、話題分類体系構築部13は、話題単位の重要名詞句リストD14に含まれている名詞句を模範文D12に出現する順序に並べ替えて結合することにより話題名D15を作成する。
【0071】
続いて、ステップS507にて、話題分類体系構築部13は、話題単位の重要名詞句リストD14に含まれている全ての重要名詞句を含むことを当該話題の話題分類条件D16として決定する。この話題分類条件D16を束ねたものが話題分類体系D8である。
【0072】
<話題分類体系階層化処理>
図9は、話題分類体系階層化処理のフローチャートである。
【0073】
ステップS601にて、話題分類体系構築部13は、話題分類体系D8から話題名に共通部分のある話題を抽出してグループ化し、1つの話題が複数のグループに属しないように、あり得るグルーピングのパターンを列挙する。
【0074】
さらに、話題分類体系構築部13は、ステップS602にて、いずれのグループにも属しない話題の個数が最も少なくなるパターンを採用し、ステップS603にて、採用したパターンのグループを上位階層の話題として階層構造を生成する。さらに、ステップS604にて、話題分類体系構築部13は、グループに属する話題の話題名の共通部分を上位階層の話題の話題名とする。これにより、階層型話題分類体系D17が生成される。
【0075】
尚、上記ステップS601-S604の処理で生成された上位階層の話題を更にグルーピングできるならば、できなくなるまで上記ステップS601-S604の処理による階層化を繰り返してもよい。
【0076】
次に、ステップS605にて、話題分類体系構築部13は、階層型話題分類体系D17において、各階層の話題名を所定の規則に従って並べ替える。ここでの所定の規則は、例えば、話題名の50音順やアルファベット順などの辞書順に並べるというものであってよい。
【0077】
次に、ユーザインタフェース部14の表示画面について説明する。
【0078】
ユーザインタフェース部14は、話題およびその階層構造を、「第1表示形式」の一例としてのツリー表示形式と、「第2表示形式」の一例としてのマップ表示形式と、でユーザよって切り替え可能に表示する。
【0079】
<ツリー表示形式による話題の階層構造>
図10は、ツリー表示形式による話題の階層構造の一例を示す図である。
【0080】
ユーザインタフェース部14は、ツリー表示形式として、話題を表す第1話題オブジェクト(話題の左側の矩形)および話題の話題名D15を、縦方向に並べ、同一の階層の話題の第1話題オブジェクトおよび話題名D15の横位置を揃えて表示画面141に表示する。さらに、ユーザインタフェース部14は、上位階層の話題の第1話題オブジェクトおよび話題名D15の下に上位階層の話題に属する下位階層の話題の話題オブジェクト(話題分類条件D16の左側の各矩形)および話題名D15を配置する。ツリー表示形式は、話題名の視認性を重視した表示形式である。
【0081】
図10の表示画面141では、例えば、「グループ」「センター」「センター」の各話題は、相互に異なる階層の話題であり、「センター」「ヵ月」「会社」「住所」「保険」「入院」の各話題は、同一の階層の話題である。さらに、例えば、「入院手術」「入院手術請求」「入院特約」「入院給付金」「入院給付金請求」「怪我入院」「病院入院」の各話題よりも「入院」の話題は、上位階層の話題である。尚、第1話題オブジェクトは、階層毎に異なる色で表示されてよい。
【0082】
<マップ表示形式による話題の階層構造>
図11は、マップ表示形式による話題の階層構造の一例を示す図である。
【0083】
ユーザインタフェース部14は、マップ表示形式として、話題の話題名D15を内包し話題を表す第2話題オブジェクトを用いて、上位階層の話題の第2話題オブジェクトと下位階層の話題の第2話題オブジェクトとを接続線によって接続し、接続線同士が重ならないように配置する。マップ表示形式は、話題の従属関係の視認性を重視した表示形式である。
【0084】
図11の表示画面142では、例えば、「保険」よりも「グループ」の話題が上位階層の話題である。これより、ユーザによるドラッグ&ドロップ操作によって、容易に階層構造を編集可能とすることができる。
【0085】
図12は、話題分類条件の表示画面の一例を示す図である。
【0086】
ユーザインタフェース部14は、模範文D12毎に抽出された重要名詞句(重要単語)を表示する。図12の表示画面143では、例えば、「入院と手術のご請求ですね。」の模範文D12が左側に表示され、その右側に「入院」「手術」「請求」の各重要名詞句が表示されている。
【0087】
図13は、話題分類条件の編集画面の一例を示す図である。
【0088】
ユーザインタフェース部14は、話題およびその階層構造の表示画面144上で選択された話題の話題名を編集可能に表示している。さらに、ユーザインタフェース部14は、いずれかの話題が選択されると、選択された話題の話題分類条件を編集可能にする編集画面145を表示する。
【0089】
図13の表示画面144では、例えば、「グループ」の話題から放射状にその下位階層の「センター」「ヵ月」「会社」「住所」「保険」「入院」等の話題が配置されている。この表示画面144では、例えば、「入院」の話題またはその下位階層の「病院入院」等の話題がユーザによって選択されると、それらの右側に話題分類条件の編集画面145が表示される。編集画面145では、少なくとも話題分類条件がユーザによって編集可能に表示される。編集画面145では、話題名がユーザによって編集可能に表示されてもよい。
【0090】
以上説明した通り、本実施形態では、会話された内容をテキスト化した会話テキストD1を解析する会話テキスト体系化システム10であって、会話テキストD1を記憶するテキスト記憶部11と、会話テキストD1を会話テキストD1に出現する名詞句の個数に基づいてセグメントに分割し、セグメントに含まれる名詞句であるセグメント出現名詞句に基づき、セグメントで語られている話題と、話題に関連する名詞句である話題関連名詞句とを抽出する話題抽出部12と、を有する構成とした。
【0091】
このように構成すると、会話テキストD1を名詞句の個数に基づいてセグメントに分割するので、会話テキストD1の曖昧な文法の影響を低減しかつ不要語の影響を排除して、ある程度の情報量が揃った単位のセグメントに分割することができる。その結果、会話テキストD1に含まれる適切な話題を容易に特定することが可能となる。
【0092】
さらに、話題関連名詞句に基づいて、話題に分類するための条件である話題分類条件D16を生成する話題分類体系構築部13を更に有する構成とした。
【0093】
このように構成すると、名詞句の個数で区切られたセグメント毎の話題について、その話題に関連する名詞句に基づいて話題分類条件D16を作成できるので、話題と関連の強い名詞句を基にして、適切な話題分類条件D16を生成することができる。
【0094】
さらに、話題分類体系構築部13は、話題関連名詞句に基づいて会話テキストD1に含まれる文の中から話題毎にその話題を端的に表す模範文D12を選択し、模範文D12および話題関連名詞句に基づいてその話題の重要名詞句を生成し、重要名詞句に基づいて話題分類条件D16を生成する構成とした。
【0095】
このように構成すると、会話テキストD1から選択した模範文D12に基づいて話題分類条件D16を生成するので、人手により分類の条件に用いる単語や文を与えなくても、セグメントを適切に分類することが可能な話題分類条件D16を生成することができる。
【0096】
さらに、話題分類体系構築部13は、重要名詞句を全て含むことを話題分類条件D16とする構成とした。
【0097】
このように構成すると、話題分類条件D16に重要名詞句を全て含むので、セグメントをより適切に分類することが可能な話題分類条件D16を生成することができる。
【0098】
さらに、話題分類体系構築部13は、生成した話題分類条件D16によって会話テキストD1のセグメントを話題に分類し、いずれの話題にも分類されなかったセグメントの割合が所定の閾値以上であれば、いずれの話題にも分類されなかったセグメントを対象として新たな話題および話題分類条件D16を生成し、新たに生成された話題分類条件D16を追加して、セグメントの分類を再び行う、という処理を、いずれの話題にも分類されなかったセグメントの割合が閾値を超えるまで繰り返すことにより、話題分類条件D16を生成する構成とした。
【0099】
このように構成すると、適切な話題の個数を予め知らなくても、話題の精度を確保しつつ所望のカバー率を生成することができる。
【0100】
さらに、話題分類体系構築部13は、重要名詞句を模範文D12における出現する順序に並べて結合することにより、話題の話題名D15を生成する構成とした。
【0101】
このように構成すると、名詞句の個数によって適切に区切られたセグメントの話題について、その話題に関連する名詞句(話題関連名詞句)に基づいて話題名D15を生成するので、話題と関連の強い名詞句を基にして、視認性の高い話題を特定することができる、また、模範文D12における出現順序に重要名詞句を結合することにより、視認性を高めることができる。
【0102】
さらに、話題分類体系構築部13は、話題名D15に共通部分を含む複数の話題をまとめることにより上位分類の話題を生成し、共通部分を上位分類の話題の話題名D15とすることにより、話題の階層構造を生成する構成とした。
【0103】
このように構成すると、会話テキストD1から生成された複数の話題を階層化することにより、全体の話題の体系を容易に把握することが可能となる。
【0104】
さらに、話題およびその階層構造を編集可能に表示するユーザインタフェース部14を有し、ユーザインタフェース部14は、話題およびその階層構造を、話題を表す第1話題オブジェクトおよび話題の話題名D15を、縦方向に並べ、同一の階層の話題の第1話題オブジェクトおよび話題名D15の横位置を揃え、上位階層の話題の第1話題オブジェクトおよび話題名D15の下にその上位階層の話題に属する下位階層の話題の話題オブジェクトおよび話題名D15を配置する第1表示形式と、話題の話題名D15を内包し話題を表す第2話題オブジェクトを用いて、上位階層の話題の第2話題オブジェクトと下位階層の話題の第2話題オブジェクトとを接続線によって接続し、接続線同士が重ならないように配置する第2表示形式と、で切り替え可能に、表示する構成とした。
【0105】
このように構成すると、話題およびその階層構造を操作や確認の内容に応じて好適な表示形式で表示することができる。
【0106】
さらに、ユーザインタフェース部14は、話題およびその階層構造の表示画面上でいずれかの話題が選択されると、選択された話題の話題分類条件を編集可能にする画面を表示する構成とした。
【0107】
このように構成すると、階層構造の中から話題を選択して話題分類条件D16を編集することができる。
【0108】
さらに、話題抽出部12は、会話テキストD1を、会話テキストD1に出現する名詞句の個数に基づいてセグメントに分割した後、会話テキストに含まれるセグメントを抽出的要約により所定個数以下に絞り込み、絞り込みにより残ったセグメントについて話題と話題関連名詞句とを抽出する構成とした。
【0109】
このように構成すると、抽出的要約により1つの会話テキストD1から生成されるセグメントの個数を一定個数以下に抑えることにより、長い会話テキストD1がある場合でも話題抽出の精度を確保することができる。
【0110】
さらに、話題抽出部12は、話題関連名詞句のうち出現確率が上位の所定の個数の話題関連名詞句を選定し、選定された話題関連名詞句から、N(Nは2以上の整数)個の話題関連名詞句による順列を生成し、順列のうち、会話テキストD1に出現する名詞句のNグラムであり、会話テキストD1におけるNグラムの出現頻度が所定の閾値以上である順列を構成する話題関連名詞句を順列における順序で結合して複合名詞句とする構成とした。
【0111】
このように構成すると、話題関連名詞句による順列のうち会話テキストD1における出現頻度の高いものを統合して複合名詞句とするので、会話テキストD1の内容にあった、より話題をよく表す複合名詞句による話題関連名詞句を生成することができる。
【0112】
本実施形態による会話文脈解析システムは、人と人との会話に代表される人が話した会話の内容から抽出された話題の会話における遷移を視認性の高い情報に整理するシステムである。
【0113】
<会話文脈解析システムのハードウェア構成>
図14は、会話文脈解析システムのハードウェア構成のブロック図である。
【0114】
図14に示すように、会話文脈解析システム60は、処理装置91と、メインメモリ92と、記憶装置93と、入力装置94と、表示装置95とを有し、これらの各部がデータバスおよびアドレスバスを含む信号線96を介して相互に接続されたコンピュータシステムである。
【0115】
処理装置91は、CPU(Central Processing Unit)などの中央処理装置を含み、メインメモリ92に記憶された制御プログラムを実行することで、会話文脈解析システム60の各機能(図15参照)が実現される。なお、処理装置91はCPU自体であってもよい。
【0116】
メインメモリ92は、ROM(Read Only Memory)などであり、このメインメモリ92には、会話文脈解析システム60の各部を機能させる制御プログラムなどが記憶される。
【0117】
記憶装置93は、ハードディスクドライブ(Hard Disk Drive:HDD)やソリッドステートドライブ(Solid State Drive:SSD)などであり、処理装置91による処理に供される入力データ、処理に用いられる閾値等のパラメータ、および処理の結果である出力データが記憶される。
【0118】
入力データには会話テキストがある。会話テキストは、例えば、オペレータと顧客との電話による通話をテキストデータに変換した情報である。会話テキストは、語句や文によって構成されており、ある纏まった意味内容を表す話題を潜在的に含んでいる。
【0119】
入力装置94は、ユーザが操作するマウスやキーボードなどの操作装置であり、操作による情報の入力を受け付ける。
【0120】
表示装置95は、コンピュータディスプレイなどの装置であり、入力データや出力データに基づくユーザインタフェース画面を表示して各種情報をユーザに提示する。
【0121】
<会話テキスト体系化システムの機能構成>
図15は、会話文脈解析システムの機能構成のブロック図である。
【0122】
図15を参照すると、本実施形態による会話文脈解析システム60は、テキスト記憶部61、話題分類体系記憶部62、文脈特定部63、トークフロー抽出部64、分岐型トークフロー生成部65、問答抽出部66、およびユーザインタフェース部67を備えている。
【0123】
テキスト記憶部61には、予め収集された会話テキストD61が記録されている。
【0124】
会話テキストD61は、人と人が音声で会話した内容をテキスト化したものや、オペレータと顧客がチャットシステムで会話した内容のテキストなどである。会話が始まってから終わるまで1回の会話のテキストデータが会話テキストD61として1つのファイルに格納されている。テキスト記憶部61には、1つ以上、典型的には多数の会話テキストD61が記録されている。
【0125】
会話テキストD61は、上記会話テキストD1とは別の会話のテキストであってもよいし、同じものであってもよいし、一部が重複するものであってもよい。
【0126】
本実施形態では、会話テキストD61は、一例として、顧客からの電話にオペレータが応対した際の会話のテキストである。1回の通話が1つの会話テキストD61となっている。1回の通話の会話テキストD61には、1つ以上、典型的には複数の発話が含まれている。ここでいう発話は、会話において人が発する音声の単位である。例えば、音声が発せられている状態から、ブレス等によって音声の無い時間が所定時間以上あると、発話の切れ目とされる。
【0127】
話題分類体系記憶部62は、予め生成された話題分類体系D8を記憶している。話題分類体系D8は、複数の話題の話題分類条件からなる。話題分類条件は、当該話題に分類するための条件である。
【0128】
文脈特定部63は、話題分類体系D8に基づいて会話テキストD61に含まれる話題を分類し、会話テキストD61における話題の遷移(以下「文脈」ともいう)を特定する。その際、文脈特定部63は、文脈特定処理を実行する。文脈特定処理の詳細な例は後述する。
【0129】
トークフロー抽出部64は、会話テキストの話題の遷移すなわち文脈をグループ化によって集約し、グループの文脈を代表する代表文脈を生成する。以下、代表文脈をトークフローということがある。その際、トークフロー抽出部64は、トークフロー抽出処理を実行する。トークフロー抽出処理の詳細な例は後述する。
【0130】
分岐型トークフロー生成部65は、複数のトークフローに共通に含まれる話題を分岐点として、複数のトークフロー同士を関連づけることにより、複数のトークフローを関連づけた分岐型トークフローを生成する。その際、分岐型トークフロー生成部65は、分岐型トークフロー生成処理を実行する。分岐型トークフロー生成処理の詳細な例は後述する。
【0131】
問答抽出部66は、ユーザから質問や回答に該当する話題が指定されると、指定された話題を含むトークフローの基となった会話テキストD61の該当箇所から質問や回答を抽出する。例えば、問答抽出部66は、会話テキストD61とそれを基に生成された分岐型トークフローに基づいて、会話テキストD61にて会話された内容に基づく質問文およびその回答文を生成する。その際、問答抽出部66は、問答抽出処理を実行する。問答抽出処理では、問答抽出部66は、分岐型トークフローの中で指定された話題を含む代表文脈の基となった会話テキストD61における、指定された話題の箇所を特定し、その箇所から質問に該当する質問テキストおよびその質問に対する回答に該当する回答テキストをそれぞれ抽出する。尚、問答抽出部66は、会話テキストD61の質問テキストの直後の話者の異なるテキストを回答テキストとして抽出してもよい。問答抽出処理の詳細な例は後述する。
【0132】
ユーザインタフェース部67は、分岐型トークフローに含まれる話題とその遷移と、分岐型トークフローにおけるトークフロー同士の話題の関係性を高い視認性で表現する表示を可能にする。ユーザインタフェース部67は、分岐型トークフローを目的に応じて複数の形式により表示することができる。表示処理の詳細な例と表示画面の例については後述する。
【0133】
<文脈特定処理>
図16は、文脈特定処理のフローチャートである。
【0134】
ステップS1101にて、文脈特定部63は、会話テキストD61に対してセグメント分割処理を行って複数のセグメントを生成する。このセグメント分割処理は、上述したステップS101と同じ処理である。本処理により、セグメント毎の名詞句リストD62が生成される。セグメント毎の名詞句リストD62は、各セグメントに出現する名詞句を出現順に列挙したリスト情報である。
【0135】
ステップS1102にて、文脈特定部63は、各セグメントを話題分類体系D8に従って話題に分類する。この処理は上述ステップS402と同じ処理である。
【0136】
文脈特定部63は、ステップS1103にて、各会話テキストD61に出現する話題を出現順に配列し、会話テキストD61の文脈情報D63を生成し、ステップS1104にて、文脈情報D63を出力する。
【0137】
<トークフロー抽出処理>
図17は、トークフロー抽出処理のフローチャートである。
【0138】
トークフロー抽出処理は、会話テキストの話題の遷移すなわち文脈をグループ化によって集約し、グループの文脈を代表する代表文脈を生成する処理である。
【0139】
トークフロー抽出部64は、ステップS1201にて、各会話テキストD61の文脈情報D63を取得し、ステップS1202にて、文脈情報D63に含まれている各話題のIDF(inverse document frequency)を算出する。IDFはDF(document frequency)の逆数である。DFは、ある話題が出現する会話テキストD61の個数である。したがって、出現頻度の低い話題ほどIDFが高くなる。
【0140】
ステップS1203にて、トークフロー抽出部64は、会話テキストD61の文脈の全ての組み合わせの対について、「集合間類似度」の一例としての文脈同士の関連度を算出する。ここでいう文脈同士の関連度は、文脈に含まれる話題をIDFによって重みづけし、重みづけされた話題を要素とする集合同士の類似度である。
【0141】
ステップS1204にて、トークフロー抽出部64は、関連度が閾値を超える文脈を集約することにより文脈のグループを作成する。これは、関連度の高い文脈同士は互いに類似しているのでそれらをグループ化するものである。
【0142】
なお、このときIDFで話題を重み付けすることにより、よく出現する汎用的な話題の重みを下げることができるので、会話テキストD61中の重要な話題を優先し、また、重要性の低い汎用的な話題の重みを下げて関連度を算出できる。また、主題を判断する材料が少ない短い話題に高い関連度が算出されることを避けることができる。
【0143】
ステップS1205にて、トークフロー抽出部64は、各グループを代表する文脈を代表文脈(以下「トークフロー」ともいう)とする。例えば、グループに属する文脈の分布の中心に位置する文脈を代表文脈とすることにしてもよい。
【0144】
ステップS1206にて、トークフロー抽出部64は、全てのグループについてのグループおよびそのトークフローの情報をまとめてトークフロー情報D64として出力する。
【0145】
<分岐型トークフロー生成処理>
図18は、分岐型トークフロー生成処理のフローチャートである。
【0146】
分岐型トークフロー生成処理は、複数のトークフローに共通に含まれる話題を分岐点として複数のトークフローを関連づける処理である。以下、複数のトークフローを関連づけることをマージするともいう。
【0147】
図19から図22は、分岐型トークフロー生成処理により複数の単独のトークフローから分岐型トークフローが生成される様子を表す図である。図19-22において、矩形はそれぞれ話題を示し、矩形内のアルファベットは、それぞれの話題を識別する識別子である。例えば、話題Aと話題Bは異なる話題である。また、図19-22において、矢印は、話題の遷移を示す。文脈において、矢印の元側にある話題から矢印の先側にある話題へ遷移している。
【0148】
分岐型トークフロー生成部65は、ステップS1301にて、マージの対象とする複数のトークフローの指定をユーザから受け付け、ステップS1302にて、その指定されたトークフローをトークフロー情報D64から抽出する。ここでは図19に示した5つのトークフローが指定されたものとする。
【0149】
ステップS1303にて、分岐型トークフロー生成部65は、最初の分岐点とする話題の指定をユーザから受け付ける。以下、分岐点とする話題を分岐点話題という場合がある。また、最初に指定された分岐点話題を第1分岐点話題という場合がある。ここでは図19に示した5つのトークフローについて、話題Cが第1分岐点話題として指定されたものとする。
【0150】
ステップS1304にて、分岐型トークフロー生成部65は、ステップS1301にて指定されたトークフローのうち第1分岐点話題を含むトークフローを、その第1分岐点話題の箇所でマージする。ここでは、話題Cが第1分岐点話題として指定されたので、図20に示すように、話題Cを含む5つのトークフローが話題Cの箇所でマージされる。
【0151】
ステップS1305にて、分岐型トークフロー生成部65は、マージしたトークフローをそのマージした箇所から前段および後段のそれぞれに話題を順次辿り、次に分岐点話題となる、共通する話題を探索する。以下、第1分岐点話題の後に見つかった分岐点話題を第2分岐点話題という場合がある。共通する話題すなわち第2分岐点話題が見つかれば、分岐型トークフロー生成部65は、その第2分岐点話題を含むトークフローを第2分岐点話題の箇所で更にマージする。ここでは図20に示した5つのトークフローについて、話題B,D,H,Iが第2分岐点話題として探索されたものとする。
【0152】
ステップS1306にて、分岐型トークフロー生成部65は、トークフローを先頭および末尾まで辿ったか否か判定する。トークフローを先頭および末尾まで辿っていなければ、分岐型トークフロー生成部65は、ステップS1305に戻ってトークフローを次段へと辿る。
【0153】
図21には、トークフローを末尾まで辿ってトークフローをマージした様子が示されている。図22には、更に、トークフローを先頭まで辿ってトークフローをマージした様子が示されている。
【0154】
トークフローを先頭および末尾まで辿り終えていれば、分岐型トークフロー生成部65は、ステップS1307にて、トークフローの関連付けの情報を分岐型トークフロー情報D65として出力する。
【0155】
分岐型トークフローを表示することによって、オペレータによる顧客対応の評価や改善、FAQ(Frequently Asked Questions。以下、FAQ)を作成の支援、チャットボット(Chatbot)のシナリオ生成の支援、営業担当社員による顧客へのトークの分析に活用することができる。尚、トークの分析とは、営業担当社員の評価、好成績営業担当者の営業トークの文脈の可視化などである。トークの分析方法は、営業担当者をパラメータとするクロス分析、コンバージョンを示す話題を分岐点とする分岐型トークフローの構築などであってよい。
【0156】
<第1表示処理フロー>
上述したように、ユーザインタフェース部67は、分岐型トークフローを目的に応じて複数の形式により表示することができる。第1表示処理フローはそのひとつの表示形式による表示を行う処理である。
【0157】
図23は、第1表示処理フローのフローチャートである。
【0158】
ステップS1401にて、ユーザインタフェース部67は、表示すべき分岐型トークフローについての分岐型トークフロー情報D65を取得する。
【0159】
ステップS1402にて、ユーザインタフェース部67は、分岐型トークフローの各話題について、当該話題にてマージされたトークフローの個数を高さで表す矩形の画像オブジェクト(話題オブジェクト)を生成する。
【0160】
ステップS1403にて、ユーザインタフェース部67は、分岐型トークフローの話題が遷移する箇所について、話題の遷移を表す画像オブジェクト(遷移オブジェクト)を生成する。
【0161】
ステップS1404にて、ユーザインタフェース部67は、生成した話題オブジェクトおよび遷移オブジェクトを画面に表示する。
【0162】
図24は、第1表示処理によって表示された分岐型トークフローの一例を示す図である。分岐型トークフロー70が話題オブジェクト71と遷移オブジェクト72とによって表現されている。「分岐点オブジェクト」の一例としての話題オブジェクト71,71は、分岐点話題を表している。「単独オブジェクト」の一例としての話題オブジェクト71,71,71は、単独のトークフローの話題を表している。話題オブジェクト71の高さは、3つのトークフローがマージされていることを示している。話題オブジェクト71の高さは、2つのトークフローがマージされていることを示している。話題オブジェクト71,71,71の高さは、1つのトークフローであることを示している。
【0163】
遷移オブジェクト72は、話題オブジェクト71,71同士、話題オブジェクト71と話題オブジェクト71、および話題オブジェクト71,71同士を接続することにより話題の遷移を表している。
【0164】
ユーザインタフェース部67は、単独のトークフローの話題を表す話題オブジェクト71,71,71と、分岐点話題を表す話題オブジェクト71,71と、遷移オブジェクト72とによって、複数のトークフローの話題およびその遷移を表示する。
【0165】
なお、ここでは、話題オブジェクト71の高さで当該話題にてマージされたトークフローの個数を表す例を示したが、他の例として、話題オブジェクト71の高さで当該話題を含む文脈の通話の個数の和を表すことにしてもよい。さらに、話題オブジェクト71の高さで当該話題にてマージされたトークフローの個数を表す表示とするか、話題オブジェクト71の高さで当該話題を含む文脈の通話の個数の和を表す表示とするかをユーザがモード選択可能としてもよい。
【0166】
<第2表示処理フロー>
上述したように、ユーザインタフェース部67は、分岐型トークフローを目的に応じて複数の形式により表示することができる。第2表示処理フローは第2表示形式による表示を行う処理である。第2表示形式は、各話題に該当するトークフロー数あるいは通話数と所望のパラメータとによるクロス分析に適した表示形式である。
【0167】
図25は、第2表示処理フローのフローチャートである。
【0168】
ステップS1501にて、ユーザインタフェース部67は、表示すべき分岐型トークフローについての分岐型トークフロー情報D65を取得する。
【0169】
ステップS1502にて、ユーザインタフェース部67は、クロス分析用のパラメータの指定をユーザから受け付ける。例えば、クロス分析用のパラメータは会話テキストD61の何らかの属性である。尚、当該会話テキストD61の通話において顧客対応を行ったオペレータの氏名あるいは識別番号をパラメータとし、会話テキストD61の個数をオペレータ毎に集計することにしてもよい。
【0170】
ステップS1503にて、ユーザインタフェース部67は、各話題について、当該話題の基になった通話を指定された属性により分類する。
【0171】
ユーザインタフェース部67は、ステップS1503にて、分岐型トークフローの各話題について、当該話題を含む通話を、指定されたパラメータによる属性に分類し、ステップS1504にて、分岐型トークフローの各話題について、各属性に属する会話テキストD61の個数の割合を算出する。
【0172】
ステップS1505にて、ユーザインタフェース部67は、分岐型トークフローの各話題について、当該話題にてマージされたトークフローの個数、もしくは当該話題を含む文脈の会話テキストD61の個数の和を高さによって表し、各属性に属する会話テキストD61の個数の割合で属性毎に高さ方向で視覚的に区切った矩形の画像オブジェクト(話題オブジェクト)を生成する。属性毎に視覚的に区切るとは、各属性に相当する部分が色分けやハッチングなど視覚によって識別可能に表示することである。
【0173】
ステップS1506にて、ユーザインタフェース部67は、分岐型トークフローの話題が遷移する箇所について、話題の遷移を表す画像オブジェクト(遷移オブジェクト)を生成する。
【0174】
ステップS1507にて、ユーザインタフェース部67は、生成した話題オブジェクトおよび遷移オブジェクトを画面に表示する。
【0175】
図26は、第2表示処理によって表示された分岐型トークフローの一例を示す図である。本例では、クロス分析用のパラメータとしてオペレータ名が指定されている。図26を参照すると、分岐型トークフロー80が話題オブジェクト81と遷移オブジェクト82とによって表現されている。そして、話題オブジェクト81は、オペレータAの通話に対応する領域81aと、オペレータBの通話に対応する領域81bと、オペレータCの通話に対応する領域81cとに区切られている。
【0176】
<問答抽出処理>
図27は、問答抽出処理のフローチャートである。ここでいう問答は、例えば、オペレータによる顧客対応にて想定される質問とそれに対する回答である。
【0177】
ステップS1601にて、ユーザインタフェース部67は、対象とする分岐型トークフローについての分岐型トークフロー情報D65を取得する。
【0178】
ステップS1602にて、ユーザインタフェース部67は、分岐型トークフローにおいて、問答を作成する対象の話題の指定をユーザから受け付ける。例えば、第1表示処理または第2表示処理により分岐型トークフローを画面に表示し、その画面上で話題の指定を受け付ける。ユーザは、分岐型トークフローの画面表示によって、トークフロー間における話題の遷移の関係性を視認することにより、どの箇所で問答を作成するのが良いか判断が容易になる。
【0179】
ステップS1603にて、ユーザインタフェース部67は、ユーザが指定した話題を含むトークフローの基となった通話の会話テキストD61における当該話題の箇所から質問を抽出する。例えば、ユーザが指定した話題を含むトークフローのうち任意にひとつ選択し、トークフローの通話における当該話題の箇所を特定し、その箇所のテキストから質問を抽出すればよい。
【0180】
ステップS1604にて、ユーザインタフェース部67は、ユーザが指定した話題を含むトークフローの基となった通話の会話テキストD61における当該話題の箇所からステップS1603にて抽出された質問に対する回答を抽出する。例えば、ユーザが指定した話題を含むトークフローのうち任意にひとつ選択し、トークフローの通話における当該話題の箇所を特定し、その箇所のテキストからステップS1603にて抽出された質問に対する回答を抽出すればよい。尚、ステップS1603にて質問を抽出した箇所の直後の異なる話者の発した発話を回答として抽出してもよい。
【0181】
ステップS1605にて、ユーザインタフェース部67は、抽出された質問および回答を書き言葉へ変換する。例えば、自然言語処理モデルを用いることにより、会話テキストD61の話し言葉を書き言葉へ変換することができる。
【0182】
ステップS1606にて、ユーザインタフェース部67は、書き言葉に変換された質問と回答を問答情報D66として出力する。
【0183】
次に、ユーザインタフェース部67の表示画面について説明する。
【0184】
<第1表示処理における分岐型トークフローの画面表示>
図28は、第1表示処理における分岐型トークフローの画面表示の一例を示す図である。
【0185】
ユーザインタフェース部67は、第1表示処理における分岐型トークフローを表示画面671に表示する。
【0186】
図28の表示画面671では、例えば、ID58の「保険証券番号」、ID79の「電話奥様」、およびID32の「住所電話番号」は、単独のトークフローの話題を表す話題オブジェクトである。さらに、例えば、ID60の「契約者名」とID61の「本人契約」は、分岐点話題を表す話題オブジェクトである。
【0187】
<第2表示処理における分岐型トークフローの画面表示>
図29は、第2表示処理における分岐型トークフローの画面表示の一例を示す図である。
【0188】
ユーザインタフェース部67は、第2表示処理における分岐型トークフローを表示画面672に表示する。
【0189】
図29の表示画面672では、例えば、左側の表示領域673に各トークフローとその通話件数が表示され、右側の表示領域674にオペレータによる顧客対応における問答が「QA知識」として表示されている。
【0190】
<問答抽出処理における画面表示>
図30は、問答抽出処理における画面表示の一例を示す図。
【0191】
ユーザインタフェース部67は、問答抽出処理における問答を抽出画面673に表示する。
【0192】
図30の表示画面673では、例えば、フロー1の「話題2」および「話題4」が指定された場合、それらの会話テキストD61が新たに表示領域675に表示される。表示領域675に表示されたやり取りから、質問または回答の抽出と書き言葉への変換が行われる。図30の例では、表示領域675から、「会員証ご準備の上、IDを入力してください。・・・」という回答が抽出されている。
【0193】
以上説明した通り、本実施形態では、会話文脈解析システム60は、会話テキストD61の話題の遷移により表される複数の文脈を、話題を要素とする集合同士の類似度である集合間類似度に基づいてグループ化し、グループの代表的な文脈を話題の遷移により示す代表文脈を作成するトークフロー抽出部64と、複数の代表文脈に共通に含まれる話題を分岐点話題とし、複数の代表文脈同士を分岐点話題にて関連づける分岐型トークフロー生成部65と、単独の代表文脈の話題を表す画像オブジェクトである単独話題オブジェクトと、分岐点話題を表す画像オブジェクトである分岐点話題オブジェクトと、単独話題オブジェクト同士、単独話題オブジェクトと分岐点話題オブジェクト、または分岐点話題オブジェクト同士を接続することにより話題の遷移を表す画像オブジェクトである遷移オブジェクトとによって、複数の代表文脈の話題およびその遷移を表示するユーザインタフェース部67と、を有する構成とした。
【0194】
このように構成すると、複数のトークフローを分岐点話題で1つの分岐型トークフローに整理して表示することができるので、会話テキストD61の話題の遷移を利便性の高い情報に整理することができる。
【0195】
さらに、分岐型トークフロー生成部65は、指定された第1分岐点話題で複数の代表文脈を関連づけ、関連付けられた代表文脈を第1分岐点話題から前方または後方の少なくとも一方に1段ずつ順次辿って共通する話題を探索し、共通する話題を第2分岐点話題として第2分岐点話題があった代表文脈を第2分岐点話題で関連づけ、ユーザインタフェース部67は、第1分岐点話題および第2分岐点話題を分岐点話題オブジェクトで表示する構成とした。
【0196】
このように構成すると、複数の代表文脈の話題を辿って共通する話題で1つの分岐点話題にマージするので、代表文脈間の関連性を表現した視認性の高い分岐型トークフローに整理することができる。その際、関連付けられた代表文脈を探索するように1段ずつ話題を辿るので、遷移オブジェクトが交差しない視認性の高い表示が可能である。
【0197】
さらに、ユーザインタフェース部67は、単独話題オブジェクトを所定の基本高さの矩形オブジェクトとし、分岐点話題オブジェクトを、その分岐点話題オブジェクトにて関連付けられた代表文脈の個数を基本高さに乗算した高さの矩形オブジェクトとする構成とした。
【0198】
このように構成すると、複数の代表文脈を関連付けた分岐点話題オブジェクトにより、そこで関連付けられた複数の代表文脈の個数が視認可能となる。
【0199】
さらに、ユーザインタフェース部67は、単独話題オブジェクトおよび分岐点話題オブジェクトを、その話題を含む文脈の会話テキストD61の個数の和を高さで表す矩形オブジェクトとする構成とした。
【0200】
このように構成すると、複数の代表文脈を関連付けた分岐点話題オブジェクトにより、そこで関連付けられた複数の代表文脈の基になっている会話テキストD61の個数が視認可能となる。
【0201】
さらに、ユーザインタフェース部67は、会話テキストD61を分類する属性の指定を受け、属性のそれぞれに属する会話テキストD61の個数の割合に基づいて、単独話題オブジェクトおよび分岐点話題オブジェクトを、視覚的に区別可能に分割して表示する構成とした。
【0202】
このように構成すると、話題オブジェクトを属性により分割した表示により、会話テキストD61の話題の遷移と、属性とをクロス分析することが可能となる。
【0203】
さらに、単独話題オブジェクトまたは分岐点話題オブジェクトのいずれかの話題が指定されると、指定された話題を含む代表文脈の基となった会話テキストD61における指定された話題の箇所を特定し、箇所から質問に該当するテキストを質問テキストとして抽出すると共に、その質問に対する回答に該当するテキストを回答テキストとして抽出する問答抽出部66を更に有する構成とした、
【0204】
このように構成すると、問答抽出部66によってFAQを自動で生成することができる。
【0205】
さらに、問答抽出部66は、質問テキストと回答テキストを書き言葉に変換する構成とした。
【0206】
このように構成すると、書き言葉の自然なFAQを自動で生成することができる。
【0207】
さらに、トークフロー抽出部は、話題が出現する会話テキストの個数が少ないほど重みが大きくなるように前記話題の重みを算出し、前記話題を前記重みによって重み付けして、前記話題の集合同士の集合間類似度を算出し、前記集合間類似度が所定の閾値を超える会話テキストをグループ化する構成とした。
【0208】
このように構成すると、出現回数の少ない重要な話題を優先し、出現回数の多い汎用的な話題の重みを下げることにより、会話テキスト同士の関連の度合いを適切に示す集合間類似度を算出し、各話題の重要性を考慮した適切なグループ化を行うことができる。
【0209】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【0210】
例えば、上記した実施形態では、遷移オブジェクトは、単独話題オブジェクト同士、単独話題オブジェクトと分岐点話題オブジェクト、および分岐点話題オブジェクト同士を接続した。これに限らずに、遷移オブジェクトは、単独話題オブジェクト同士、単独話題オブジェクトと分岐点話題オブジェクト、または分岐点話題オブジェクト同士を接続すればよい。
【符号の説明】
【0211】
10…会話テキスト体系化システム、11…テキスト記憶部、12…話題抽出部、13…話題分類体系構築部、14…ユーザインタフェース部、D1…会話テキスト、D12…模範文、D15…話題名、D16…話題分類条件
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30