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

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

▶ 東京海上日動火災保険株式会社の特許一覧

特許7216627入力支援方法、入力支援システム、及びプログラム
<>
  • 特許-入力支援方法、入力支援システム、及びプログラム 図1
  • 特許-入力支援方法、入力支援システム、及びプログラム 図2
  • 特許-入力支援方法、入力支援システム、及びプログラム 図3
  • 特許-入力支援方法、入力支援システム、及びプログラム 図4
  • 特許-入力支援方法、入力支援システム、及びプログラム 図5
  • 特許-入力支援方法、入力支援システム、及びプログラム 図6
  • 特許-入力支援方法、入力支援システム、及びプログラム 図7
  • 特許-入力支援方法、入力支援システム、及びプログラム 図8
  • 特許-入力支援方法、入力支援システム、及びプログラム 図9
  • 特許-入力支援方法、入力支援システム、及びプログラム 図10
  • 特許-入力支援方法、入力支援システム、及びプログラム 図11
  • 特許-入力支援方法、入力支援システム、及びプログラム 図12
  • 特許-入力支援方法、入力支援システム、及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-01-24
(45)【発行日】2023-02-01
(54)【発明の名称】入力支援方法、入力支援システム、及びプログラム
(51)【国際特許分類】
   G06F 40/279 20200101AFI20230125BHJP
   G06F 40/186 20200101ALI20230125BHJP
   G10L 15/10 20060101ALI20230125BHJP
   G10L 15/00 20130101ALI20230125BHJP
   G10L 15/065 20130101ALI20230125BHJP
【FI】
G06F40/279
G06F40/186
G10L15/10 500Z
G10L15/00 200A
G10L15/065 Z
【請求項の数】 9
(21)【出願番号】P 2019163108
(22)【出願日】2019-09-06
(65)【公開番号】P2021043530
(43)【公開日】2021-03-18
【審査請求日】2022-03-03
【早期審査対象出願】
(73)【特許権者】
【識別番号】595140170
【氏名又は名称】東京海上日動火災保険株式会社
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】川村 雅之
(72)【発明者】
【氏名】河野 信輝
(72)【発明者】
【氏名】松本 淳太郎
(72)【発明者】
【氏名】上屋 佳子
【審査官】長 由紀子
(56)【参考文献】
【文献】特開2019-008722(JP,A)
【文献】特開2018-081298(JP,A)
【文献】特開2015-001910(JP,A)
【文献】米国特許出願公開第2011/0307257(US,A1)
【文献】特開2011-210187(JP,A)
【文献】田村 晃裕 外2名,コールメモを利用したコールセンタ向け音声対話要約方式の提案,言語処理学会第17回年次大会発表論文集 チュートリアル 本会議 ワークショップ [CD-ROM] ,日本,言語処理学会,2011年03月31日,pp.924-927
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-58
G10L 15/00-10
G06Q 10/00 - 99/00
G16H 10/00 - 80/00
(57)【特許請求の範囲】
【請求項1】
通話テキストデータに含まれる単語及び文字をそれぞれ抽出し、一つの単語及び連続する複数の単語、並びに一つの文字及び連続する複数の文字のそれぞれに対して出現頻度及び希少度によって重み付けされた特徴ベクトルを生成し、
前記特徴ベクトルを入力とした機械学習モデルの演算によって、案件を管理するアプリケーションに登録するために、前記通話テキストデータの内容に対応した選択可能な複数の候補の定型文を前記アプリケーションに出力する、入力支援方法。
【請求項2】
前記機械学習モデルは、ロジスティック回帰、ニューラルネットワークを含む、請求項1に記載の入力支援方法。
【請求項3】
前記特徴ベクトルと、前記通話テキストデータに対して選択された定型文に基づいて、前記機械学習モデルを更新する、請求項1又は2に記載の入力支援方法。
【請求項4】
前記特徴ベクトルは、
前記通話テキストデータから、オペレータが発話したテキストデータが抽出され、
前記オペレータが発話したテキストデータに含まれる単語及び文字がそれぞれ抽出され、一つの単語及び連続する複数の単語、並びに一つの文字及び連続する複数の文字のそれぞれに対して出現頻度及び希少度によって重み付けされている、請求項1乃至3のいずれか一項に記載の入力支援方法。
【請求項5】
前記通話テキストデータは、通話の開始を示すタグと前記通話の終了を示すタグとを含む、請求項1乃至4のいずれか一項に記載の入力支援方法。
【請求項6】
前記通話テキストデータは、通話の開始を示すタグと通話の途中を示す区切りタグとを含み、
前記通話テキストデータを取得する度に、前記通話テキストデータを前記特徴ベクトルに変換し、前記特徴ベクトルを入力とした機械学習モデルの演算によって、前記アプリケーションに出力される前記通話テキストデータに対応した選択可能な複数の候補の定型文を更新する、請求項1乃至5のいずれか一項に記載の入力支援方法。
【請求項7】
請求項1乃至6のいずれか一項に記載の入力支援方法を、
コンピュータに実行させるためのプログラム。
【請求項8】
通話音声データをテキスト化するテキストデータ変換部と、
通話テキストデータを取得するテキストデータ取得部と、
前記通話テキストデータに含まれる単語及び文字をそれぞれ抽出し、一つの単語及び連続する複数の単語、並びに一つの文字及び連続する複数の文字のそれぞれに対して出現頻度及び希少度によって重み付けされた特徴ベクトルを生成する前処理部と、
前記特徴ベクトルを入力とした機械学習モデルの演算によって、案件を管理するアプリケーションに登録するために、前記通話テキストデータの内容に対応した選択可能な複数の候補の定型文を前記アプリケーションに出力する分類器と、を含む入力支援システム。
【請求項9】
前記テキストデータ変換部は、ファイルサーバに含まれ、
前記テキストデータ取得部、前記前処理部、及び前記分類器は、分析サーバに含まれる、請求項8に記載の入力支援システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の一実施形態は、入力支援システム、入力支援方法、及びプログラムに関する。
【背景技術】
【0002】
従来から、コールセンタにおいて、カスタマからの問い合わせ、照会、又は要求に対し、カスタマ対応を行う従業員(以下、オペレータと記す)が対応している。電話によるカスタマ対応が終了したオペレータは、カスタマ対応における進捗状況を、案件を管理するシステムに入力して、他のオペレータと情報の共有化を図っている。
【0003】
特許文献1には、コールセンタにおいて、カスタマからの問い合わせに応じて、当該問い合わせに対応づけるインシデントの種別と、インシデントの種別に対応づけて取りうるアクションの内容を表示するシステムが開示されている。また、特許文献1には、オペレータが、カスタマからの問い合わせに対してどのように対応したかを、プルダウンメニューから選択することによって、システムに入力することが記載されている。オペレータが、案件の処理の進捗状況をシステムに入力することによって、他のオペレータが、当該案件を引き継いだ場合であっても、他のオペレータが残りの処理を行うことができる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2019-8722号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
コールセンタで扱う案件の種別に応じて、取りうるアクションが異なっており、案件の対応のステージにおいても取りうるアクションが異なっている。そのため、案件を管理するアプリケーション(以下、案件管理アプリケーションという)に入力するべき進捗状況の定型文は、数十以上、又は数百以上となる場合がある。オペレータがプルダウン方式で目的の定型文を選択する場合、数百以上ある項目の中から目的の定型文を探すことが困難となる。また、プルダウン方式で目的の定型文を探すのではなく、テキストで入力する場合には、案件管理アプリケーションへの入力に時間がかかってしまう。また、オペレータの熟練度が低い場合には、さらに時間がかかってしまう。
【0006】
上記問題に鑑み、本発明の一実施形態では、オペレータが案件管理アプリケーションに登録するための定型文を入力する際の入力支援方法を提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
本発明の一実施形態に係る入力支援方法は、通話テキストデータに含まれる単語及び文字をそれぞれ抽出し、一つの単語及び連続する複数の単語、並びに一つの文字及び連続する複数の文字のそれぞれに対して出現頻度及び希少度によって重み付けされた特徴ベクトルを生成し、特徴ベクトルが入力されると、機械学習モデルによって、案件を管理するアプリケーションに登録するための通話テキストデータの内容に対応する候補の定型文を出力する。
【0008】
上記方法において、機械学習モデルは、ロジスティック回帰、ニューラルネットワークを含む。
【0009】
上記方法において、特徴ベクトルと、通話テキストデータに対して選択された定型文に基づいて、機械学習モデルを更新する。
【0010】
上記方法において、特徴ベクトルは、通話テキストデータから、オペレータが発話したテキストデータが抽出され、オペレータが発話したテキストデータに含まれる単語及び文字がそれぞれ抽出され、一つの単語及び連続する複数の単語、並びに一つの文字及び連続する複数の文字のそれぞれに対して出現頻度及び希少度によって重み付けされている。
【0011】
上記方法において、通話テキストデータは、通話の開始を示すタグと通話の終了を示すタグとを含む。
【0012】
上記方法において、通話テキストデータは、通話の開始を示すタグと通話の途中を示す区切りタグとを含み、通話テキストデータを取得する度に、通話テキストデータを特徴ベクトルに変換し、特徴ベクトルを入力とした機械学習モデルの演算によって、アプリケーションに出力される通話テキストデータに対応した候補の定型文を更新する。
【0013】
本発明の一実施形態に係る入力支援方法を、コンピュータに実行させるためのプログラムである。
【0014】
本発明の一実施形態に係る入力支援システムは、通話音声データをテキスト化するテキストデータ変換部と、通話テキストデータを取得するテキストデータ取得部と、通話テキストデータに含まれる単語及び文字をそれぞれ抽出し、一つの単語及び連続する複数の単語、並びに一つの文字及び連続する複数の文字のそれぞれに対して出現頻度及び希少度によって重み付けされた特徴ベクトルを生成する前処理部と、特徴ベクトルが入力されると、機械学習モデルによって、案件を管理するアプリケーションに登録するための通話テキストデータの内容に対応する候補の定型文を出力する分類器と、を含む。
【0015】
上記システムにおいて、テキストデータ変換部は、ファイルサーバに含まれ、テキストデータ取得部、前処理部、及び分類器は、分析サーバに含まれる。
【発明の効果】
【0016】
本発明の一実施形態によれば、オペレータが案件管理アプリケーションに登録するための定型文を入力する際に、目的の定型文の検索時間を短縮することができる。これにより、目的の定型文を探す時間を大幅に短縮することができるため、業務効率化を図ることができる。
【図面の簡単な説明】
【0017】
図1】本発明の一実施形態に係る入力支援システムのブロック図である。
図2】通話テキストデータの一例である。
図3】分析サーバのハードウェア構成を示す図である。
図4】分析サーバのブロック図である。
図5】学習段階を説明するフローチャートである。
図6】単語ベクトルを生成する方法を説明するフローチャートである。
図7】文字ベクトルを生成する方法を説明するフローチャートである。
図8】分析サーバのブロック図である。
図9】推定段階を説明するフローチャートである。
図10】端末装置の画面に表示される定型文の一例である。
図11】通話テキストデータの一例である。
図12】推定段階を説明するフローチャートである。
図13】本発明の一実施形態に係る入力支援システムのブロック図である。
【発明を実施するための形態】
【0018】
以下、本発明の一実施形態について、図面を参照しながら説明する。以下に示す実施形態は本発明の実施形態の一例であって、本発明はこれらの実施形態に限定されるものではない。なお、本実施形態で参照する図面において、同一部分または同様な機能を有する部分には同一の符号または類似の符号(数字の後にA、Bなどを付しただけの符号)を付し、その繰り返しの説明は省略する場合がある。
【0019】
(第1実施形態)
本実施形態では、本発明の一実施形態に係る入力支援システム1について図1乃至図10を参照して説明する。
【0020】
[入力支援システムの概要]
まず、本発明の一実施形態に係る入力支援システム1の概要について説明する。図1は、本発明の一実施形態に係る入力支援システム1のブロック図である。入力支援システム1は、コールセンタ業務において、カスタマとオペレータとの会話の内容から、案件に対する適切な進捗状況を示す定型文を推定する。これにより、案件管理アプリケーションに登録する定型文の入力支援を行うものである。
【0021】
コールセンタ業務において、カスタマ通話端末41からコールセンタに電話がかかってくると、オペレータ通話端末30に接続される。オペレータ通話端末30は、カスタマとオペレータとの会話を、通話音声データとして記録する。通話音声データは、ファイルサーバ10で記録される。カスタマ通話端末41とオペレータ通話端末30との接続が切断されると、ファイルサーバ10で取得した通話音声データは、通話テキストデータに変換される。ファイルサーバ10は、分析サーバ20に、通話テキストデータを送信する。分析サーバ20が通話テキストデータを取得すると、通話テキストデータから、単語ベクトル及び文字ベクトルが統合された特徴ベクトルを生成する。本明細書等において、特徴ベクトルとは、各通話テキストデータについて、そこに含まれる語と、その重要度によって文書の内容をベクトルで表したものをいう。特徴ベクトルを分類器24に入力すると、学習済みの機械学習モデルによって通話テキストデータに対応する案件管理アプリケーションに登録するための候補の定型文をWebサーバ25に出力する。Webサーバ25に出力された候補の定型文は、シンクライアントサーバ33を介して、端末装置32に表示される。端末装置32において、候補の定型文から、通話テキストデータに対応する定型文が選択されると、案件管理アプリケーションに、選択された定型文を入力することができる。
【0022】
分類器24が有する機械学習モデルは、通話テキストデータから生成された特徴ベクトルと、複数の定型文とのデータセットに基づいて、予め機械学習によって生成されている。そのため、分析サーバ20が通話テキストデータを取得すると、機械学習モデルによって、通話テキストデータに対応する候補の定型文を推定することができる。これにより、オペレータは、端末装置32に表示された候補の定型文の中から、カスタマとの通話の内容に対応する定型文を選択すればよいため、数十以上、又は数百以上ある定型文の中から定型文を探し出す場合と比較して、定型文の検索時間を短縮することができる。これにより、オペレータの熟練度に関わらず、目的の定型文を探す時間を大幅に短縮することができるため、業務効率化を図ることができる。
【0023】
上述の入力支援システム1は、通話音声データを扱う様々な業務に適用可能である。入力支援システム1は、例えば、カスタマとオペレータとの通話が行われる保険業務、銀行業務、及び販売業務に適用することができる。ここで、通話とは、カスタマ通話端末41と、オペレータ通話端末30とが接続されてから、切断されるまでの間を意味する。
【0024】
以降、本発明の一実施形態に係る入力支援システム1の構成について詳細に説明する。また、通話音声データを扱う業務として、保険に関するコールセンタ業務を一例に挙げて説明する。
【0025】
[入力支援システムの構成]
図1に示す入力支援システム1は、ファイルサーバ10及び分析サーバ20を少なくとも有する。また、入力支援システム1は、交換機31、オペレータ通話端末30、端末装置32、及びシンクライアントサーバ33をさらに有していてもよい。図1では、ファイルサーバ10は、通信網52を介して分析サーバ20と接続される。
【0026】
コールセンタにおいて、交換機31は、通信網51を介して、カスタマ通話端末41と通信可能に接続されている。通信網51は、インターネットやPSTN(Public Switched Telephone Networks)等のような公衆網、無線ネットワーク等である。また、交換機31は、複数のオペレータ通話端末30と接続されている。交換機31は、カスタマ通話端末41からの呼び出しを受けると、複数のオペレータ通話端末30のいずれかと接続する。
【0027】
データセンタにおいて、ファイルサーバ10は、通話データ取得部11、テキストデータ変換部12、及び格納部13を有する。通話データ取得部11は、オペレータ通話端末30と、カスタマ通話端末41とが接続されると、カスタマとオペレータとの会話を通話音声データとして格納部13に記録する。通話音声データには、通話開始時間、通話終了時間、通話開始を示すタグ及び通話終了開始を示すタグや、通話音声データを区別するための識別情報が付与されてもよい。オペレータ通話端末30は、カスタマの通話音声データとオペレータの通話音声データとを分けて記録してもよい。
【0028】
テキストデータ変換部12は、通話音声データを取得すると、音声認識処理によって、通話テキストデータに変換する。図2は、通話テキストデータ400の一例である。図2に示すように、通話テキストデータ400には、カスタマが発話した内容には、カスタマのタグが付与され、オペレータが発話した内容には、オペレータのタグが付与される。また、通話開始時間、通話終了時間、通話開始を示すタグ及び通話終了開始を示すタグや、通話テキストデータを区別するための識別情報が付与されてもよい。音声認識処理は、カスタマ通話端末41とオペレータ通話端末30とが接続されている間、リアルタイムで実行してもよいし、カスタマ通話端末41とオペレータ通話端末30との接続が切断されてから音声認識処理を実行してもよい。本実施形態では、この音声認識処理には、周知な手法が利用されればよく、音声認識処理自体及びその音声認識処理で利用される各種音声認識パラメータは特に限定されない。また、通話テキストデータは、格納部13に格納される。
【0029】
分析サーバ20は、テキストデータ取得部21、前処理部22、格納部23、分類器24、及びWebサーバ25を有する。
【0030】
テキストデータ取得部21は、テキストデータ変換部12から通信網52を介して通話テキストデータを取得する。
【0031】
前処理部22は、通話テキストデータに前処理を行って特徴ベクトルを生成する。
【0032】
格納部23には、通話テキストデータから生成された特徴ベクトルが学習データとして格納される。また、格納部23には、案件管理アプリケーションに登録するための全ての種類の定型文が格納される。定型文は、例えば、第1段階から第3段階まで各々数10種類以上設定されている。定型文は、第1段階で選択される定型文、第2段階で選択される定型文、第3段階で選択される定型文が組み合わされて1つのセットとする。なお、候補の定型文セットは、少なくとも第1段階で選択される定型文が含まれていればよい。また、第1段階で選択される定型文及び第2段階で選択される定型文の組み合わせであってもよい。ここでは、定型文セットの種類を、300種類とする。また、格納部23には、学習データに対応して、アノテーションされたメタデータ(「正解」を与えるラベル)である定型文データが格納される。また、格納部23には、取得した通話テキストデータ、機械学習モデル、及び本発明の一実施形態に係る入力支援方法を実行するためのプログラムなどが格納される。
【0033】
分類器24は、特徴ベクトルが入力されると、学習済みの機械学習モデルによって案件管理アプリケーションに登録するための複数の定型文(セット)各々の発生確率を出力する。機械学習のアルゴリズムとして、ロジスティック回帰、ニューラルネットワーク、サポートベクターマシン、ランダムフォレスト、又はナイーブベイズ等が挙げられる。本実施形態では、機械学習のアルゴリズムとして、ロジスティクス回帰を用いている。ロジスティック回帰は、シグモイド関数をモデルの出力に用いる。任意の値を0から1の間に写像するシグモイド関数を用いることにより、与えられたデータが正例(+1)になるか、負例(0)になるかの確率が求められる。シグモイド関数では閾値によって正例と負例とを分類する。シグモイド関数が出力した定型文ごとの発生確率に対し、あらかじめ決められた閾値(例えば、0.8)以上の発生確率を持つ定型文を候補として推定することができる。また、別の方法として、閾値を設けず、発生確率上位の複数の定型文(例えば、上位5つの定型文)を候補と推定することもできる。
【0034】
Webサーバ25は、候補の定型文を出力する。Webサーバ25は、通信網52を介してシンクライアントサーバ33に接続されている。シンクライアントサーバ33は、端末装置32で使用される各種ソフトウェア(アプリケーション)を保持する。シンクライアントサーバ33が、端末装置32に仮想デスクトップを稼働させる場合には、その仮想デスクトップ上で稼働させるアプリケーションを保持する。アプリケーションの一つには、案件管理アプリケーションがある。端末装置32は、シンクライアントサーバ33を介して、Webサーバ25から出力された結果を表示する。
【0035】
端末装置32に表示された候補の定型文から、定型文が選択されると、シンクライアントサーバ33に保持される案件管理アプリケーションに、カスタマとの通話の内容に対応する定型文を登録することができる。
【0036】
[分析サーバのハードウェア構成]
図3は、分析サーバ20のハードウェア構成を説明するブロック図である。図3に示すように、分析サーバ20は、制御部201、メモリ202、記憶部203、及び通信部204を有する。
【0037】
制御部201は、例えば、CPU(例えば、複数のプロセッサコアを実装したマルチ・プロセッサなど)、GPU(Graphics Processing Units)、DSP(Digital Signal Processors)、FPGA(Field-Programmable Gate Arrays)などを組み合わせることによって構成される。また、制御部201として、より高速な演算処理を可能にするために、GPGPU(General-Purpose computing on Graphics Processing Units)を用いることが好ましい。
【0038】
メモリ202は、ROM(Read Only Memory)及びRAM(Random Access Memory)等のメモリを用いる。ROMは、制御部201に各種の処理を実行させるための制御プログラムが予め記憶された不揮発性の記憶部である。RAMは、各種の情報を記憶する揮発性又は不揮発性のメモリであり、制御部201が実行する各種の処理の一時記憶メモリ(作業領域)として使用される。
【0039】
記憶部203は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)などの書き換え可能な不揮発性の記録媒体で構成される。記憶部203には、格納部23に格納される通話テキストデータ、学習データ、定型文データ、機械学習モデル、本発明の一実施形態に係る入力支援方法をコンピュータに実行させるためのプログラムなどが記憶される。これらのデータは、それぞれ異なる記憶媒体に格納されてもよい。
【0040】
通信部204は、有線通信用のネットワークカード等の通信デバイス、ファイルサーバ10に接続する無線通信デバイス、又はアクセスポイントへの接続に対応する無線通信デバイスを用いることができる。制御部201は、通信部204により、通信網51を介してファイルサーバ10又はシンクライアントサーバ33との間で通信接続又は情報の送受信が可能である。
【0041】
分析サーバ20として、少なくとも上記のハードウェア構成を備えていれば良く、企業が提供するクラウドサービス、例えば、AWS(登録商標)(Amazon Web Services(登録商標))、Azure(登録商標)(Microsoft(登録商標))、GCP(登録商標)(Google Cloud Platform(登録商標))を用いて構築されてもよい。
【0042】
[入力支援方法のフローチャート]
次に、本発明の一実施形態に係る入力支援方法について、図4乃至図10を参照して説明する。分析サーバ20は、それぞれの処理を制御部201によって実行させる。
【0043】
[学習段階]
まず、定型文の学習段階について説明する。図4は、機械学習モデルの学習段階で使用される分析サーバ20の機能ブロックである。図4に、分析サーバ20のテキストデータ取得部21、前処理部22、格納部23、及び分類器24の機能ブロックを示す。図5は、学習段階を説明するフローチャートである。
【0044】
学習段階において、まず、テキストデータ取得部21は、学習用通話テキストデータを取得する(ステップS301)。学習用通話テキストデータとは、過去から蓄積された通話テキストデータである。学習用通話テキストデータは、例えば、ファイルサーバ10の格納部13から取得する。本実施形態では、学習用通話テキストデータを2万件とする。ここで、通話テキストデータに特徴を持つ数値を含む場合には、数値情報を単一特徴にするために、数値はすべて「0」に変換しておくことが好ましい。
【0045】
次に、前処理部22は、学習用通話テキストデータに前処理を実行し、単語ベクトルに変換する(ステップS302)。図6は、学習用通話テキストデータから、単語ベクトルを生成する方法について示している。
【0046】
まず、図6に示すように、取得した通話テキストデータに形態素解析を行って、品詞分解を行う(ステップS311)。形態素解析は、例えば、MeCab、JUMAN++等の各種プログラムや、ライブラリを適宜用いて行うことができる。以下に、形態素解析前の通話テキストデータに含まれる文章の一例を示す。
【0047】
【表1】
【0048】
以下に形態素解析後の通話テキストデータに含まれる文章の一例を示す。通話テキストデータに形態素解析を行うことにより、文章を形態素に分割し、それぞれの品詞や変化を割り出す。
【0049】
【表2】
【0050】
次に、形態素解析を行った通話テキストデータをクリーニングすることにより、単語データを抽出する(ステップS312)。クリーニングとは、所定の選別基準に基づいて、予め設定された文字又は単語を除去する処理をいう。ここでは、通話テキストデータに含まれる助詞、記号を除去することで、名詞、動詞、形容詞の単語を抽出する。また、クリーニング処理により、自然言語の分類をする上で一般的過ぎて役に立たない単語をストップワードとして除去してもよい。ストップワードとは、例えば、「する」、「ます」等の言葉である。また、ストップワードは、機械学習の結果に応じて、辞書にストップワードを登録しておいてもよい。クリーニング処理の際に、辞書に登録されたストップワードを除去してもよい。これらの他に、クリーニング処理によって、ノイズ等を除去してもよい。以下に、通話テキストデータから助詞及び記号が除去されたデータを示す。以下に示す「ます」、「する」がストップワードに該当する。
【0051】
【表3】
【0052】
以下に、示すデータからストップワードが除去されたデータを示す。これにより、必要な単語データが抽出される。
【0053】
【表4】
【0054】
次に、単語データを、単語ベクトルに変換する(ステップS313)。まず、単語データを分割する。単語の分割は、例えば、N-gramによって行う。N-gramとは、任意の文字列や文書を連続したn個の文字又は単語で分割するテキスト分割方法をいう。例えば、nが1の場合をuni-gram、nが2の場合をbi-gram、nが3の場合をtri-gramと呼ぶ。以下に、単語データを、tri-gramで分割する一例を示す。
【0055】
【表5】
【0056】
以下に、tri-gramで分割された一又は連続する複数の単語の出現頻度をカウントすることでベクトル化した結果を示す。
【0057】
【表6】
【0058】
次に、一又は連続する複数の単語に重み付け処理を実行し、重みづけされた単語ベクトルを生成する(ステップS314)。重み付け処理は、例えば、tf-idfによって行う。tf-idfとは、情報探索やテキストマイニングなどの分野で利用される、文書 中に出現した特定の単語がどのくらい特徴的であるかを識別するための指標のことである。ここで、tf(term frequency)は、その文書の中で特定の単語が出現した回数(出現頻度)を表し、idf(inverse document frequency)は、コーパス全体の中でその文書を含む文書数の自然対数(希少度)を表し、「tf×idf」が、その文書中におけるその単語のtf-idf値となる。
【0059】
本実施形態では、例えば、20万件の通話テキストデータからコーパスを作成する。tf-idfによって、「私」、「昨日」等の通話特有でない単語による影響を抑制することができる。また、20万件の通話テキストデータ全体を解析することで、各通話テキストデータの中で、定型文の分類にとって重要な単語を選択することができる。また、出現頻度が高い単語であっても、どの通話テキストデータにも出現する単語は、希少度が低くなるように調整する。以下に、重み付けされた単語ベクトルの一例を示す。
【0060】
【表7】
【0061】
次に、重み付けされた単語ベクトルのうち、重要度が上位の単語ベクトルを抽出する(ステップS315)。本実施形態では、重要度が上位の単語ベクトルを、例えば、2万件抽出する。以上により、通話テキストデータから単語ベクトルに変換することができる。
【0062】
次に、前処理部22は、学習用通話テキストデータに前処理を実行し、文字ベクトルに変換する(ステップS303)。図7は、学習用通話テキストデータから、文字ベクトルを生成する方法について示している。なお、通話テキストデータに特徴を持つ数値を含む場合には、この段階で、数値情報を単一特徴にするために、数値はすべて「0」に変換しておくことが好ましい。
【0063】
まず、学習用通話テキストデータに、データクリーニングすることにより、文字データを抽出する(ステップS321)。文字データに関するデータクリーニングは、単語データのクリーニングと同様の方法で実行する。
【0064】
次に、文字データを、文字ベクトルに変換する(ステップS322)。文字の分割は、単語の分割と同様に、N-gramによって行う。本実施形態では、文字データを、tri-gramで分割する。そして、一または連続する複数の文字の出現頻度をカウントすることで文字ベクトルに変換する。
【0065】
次に、文字ベクトルに重み付け処理を実行し、重みづけされた文字ベクトルを生成する(ステップS323)。重み付け処理は、単語ベクトルと同様に、tf-idfによって行う。
【0066】
次に、重み付けされた文字ベクトルのうち、重要度が上位の文字ベクトルを抽出する(ステップS324)。本実施形態では、重要度が上位の文字ベクトルを、例えば、6万件抽出する。以上により、通話テキストデータから文字ベクトルを抽出することができる。なお、ステップS302に示す単語ベクトルに変換する処理と、ステップS303に示す文字ベクトルに変換する処理との処理の順序を逆にして実行してもよい。
【0067】
次に、単語ベクトルと、文字ベクトルとを統合することにより、特徴ベクトルを生成する(ステップS304)。本実施形態では、特徴ベクトルは8万列であり、全て固定長とする。以上説明した処理によって、学習用通話テキストデータから特徴ベクトルを生成することができる。学習用通話テキストデータを全て特徴ベクトルに変換することで、2万行、8万列の特徴ベクトルを学習データ27とする。
【0068】
次に、ステップS304によって得られた特徴ベクトルを学習データ27として、格納部23に格納する(ステップS305)。
【0069】
次に、学習データ27と定型文データ28とに基づいて、機械学習モデルに機械学習させる(ステップS306)。定型文データ28は、格納部23に格納されている。定型文データ28は、アノテーションされたメタデータ(「正解」を与えるラベル)である。学習データ27と定型文データ28とを、データセット25とも呼ぶ。データセット25は、学習用通話テキストデータに対応して2万件、格納部23に格納されている。学習データ27と定型文データ28とで構成されるデータセット25を教師データとして、機械学習をすることで、学習済み機械学習モデルを生成することができる。
【0070】
最後に、学習済み機械学習モデルを格納部23に格納する(ステップS307)。
【0071】
[推定段階]
次に、定型文の推定段階について説明する。図8は、推定段階で使用される分析サーバ20の機能ブロックである。図8に、分析サーバ20のテキストデータ取得部21、前処理部22、及び分類器24の機能ブロックを示す。図9は、定型文の推定段階を説明するフローチャートである。
【0072】
推定段階において、まず、テキストデータ取得部21は、ファイルサーバ10から、通話テキストデータを取得する(ステップS331)。ここで、通話テキストデータとは、カスタマとオペレータとの通話によって新たに生成された通話テキストデータである。本実施形態では、通話テキストデータは、カスタマとオペレータとの通話が終了してから、通話テキストデータの分析を実行する。
【0073】
次に、前処理部22は、通話テキストデータに前処理を実行し、特徴ベクトルに変換する(ステップS332)。通話テキストデータから特徴ベクトルに変換する方法については、図6及び図7で説明したフローチャートに従えばよい。
【0074】
次に、分類器24は、特徴ベクトルを入力ベクトルとして、機械学習モデル29に入力する(ステップS333)。機械学習モデル29は、学習段階で説明した学習済み機械学習モデルである。入力ベクトルとして、単語ベクトル2万列及び文字ベクトル6万列の計8万列の特徴ベクトルを機械学習モデル29に入力する。本実施形態では、シグモイド関数を機械学習モデルの出力として用いている。これにより、出力ベクトルとして、全ての定型文各々に対して発生確率が出力される。例えば、定型文1の発生確率が3%、定型文2の発生確率が32%、定型文3の発生確率が98%、・・・・・・のように出力される。シグモイド関数が出力した定型文ごとの発生確率に対し、予め決められた閾値(例えば、0.8)以上の発生確率を持つ定型文を候補として推定してもよい。本実施形態では、シグモイド関数の出力に閾値を設けず、発生確率上位の複数の定型文(例えば、上位5つの定型文)を候補として推定する。
【0075】
最後に、分類器24は、候補の定型文を、Webサーバ25に出力する(ステップS334)。Webサーバに出力される候補の定型文は、例えば、発生確率が高い定型文から出力される。
【0076】
Webサーバ25に、候補の定型文が出力されると、端末装置32からシンクライアントサーバ33を介して、端末装置32の画面に高い発生確率の少なくとも一つを出力する。
【0077】
図10は、端末装置32の画面に表示される定型文の一例である。図10に示すようにウィンドウ300に、5つの候補の定型文が表示される。なお、ウィンドウ300に表示された候補の定型文は、図3に示す通話テキストデータに対応する可能性がある定型文の一例である。
【0078】
図3に示すウィンドウ300には、Webページのアドレス301、通話テキストデータの付属情報302、事案番号303、登録・更新ボタン303、スクロールバー304、ページ送りボタン306が表示される。また、ウィンドウ300には、候補の定型文311~315が発生確率とともに表示される。候補の定型文311~315は、発生確率が一番高いものから選択された5つの候補の定型文である。候補の定型文は、第1段階で選択される定型文、第2段階で選択される定型文、第3段階で選択される定型文が組み合わされて1つのセットとして表示される。なお、候補の定型文は、少なくとも第1段階で選択される定型文が含まれていればよい。また、第1段階で選択される定型文及び第2段階で選択される定型文の組み合わせであってもよい。
【0079】
オペレータはカーソル305によって、候補の選択文を選択する。オペレータによって、ウィンドウ300に表示された候補の定型文のいずれかが選択されて、登録・更新ボタン303が選択されることで、選択された定型文を案件管理アプリケーションに当該定型文を登録することができる。また、提示された候補の定型文の中に適切な定型文がない場合は、ページ送りボタン306が選択されることで、次の候補の定型文を複数表示させてもよい。このように、端末装置32に、通話テキストデータの内容に応じた適切な候補の定型文を表示させることができる。
【0080】
[再学習]
分類器24において、所定の期間毎に再学習を行い、機械学習モデル29を更新してもよい。格納部23は、取得した通話テキストデータを格納部23に蓄積している。また、通話テキストデータから変換された特徴ベクトルを学習データ27として格納部23に蓄積している。その際、通話テキストデータに対応する定型文として選択された定型文には「正解」を与えるラベルが付与されて、定型文データ28として格納部23に蓄積している。
【0081】
分類器24では、蓄積された学習データ27と定型文データ28とに基づいて再学習することにより、機械学習モデル29を更新する。これにより、以前の機械学習モデル29では、正確に推定できなかった候補の定型文を、更新された機械学習モデル29により、推定の精度を向上させることができるようになる。なお、機械学習モデル29の更新のタイミングは、所定の期間毎に限定されず、格納部23に学習データ27及び定型文データ28のデータセット25が所定数蓄積されたタイミングで実行されてもよい。
【0082】
(第2実施形態)
第1実施形態では、カスタマとオペレータとの通話が終了してから、通話テキストデータを分析サーバ20に送信して、進捗状況を示す定型文を推定する方法を説明したが、本発明の一実施形態はこれに限定されない。カスタマとオペレータとの通話の途中であっても、リアルタイムで通話音声データを通話テキストデータに変換し、当該通話テキストデータを順次分析してもよい。
【0083】
本実施形態では、カスタマとオペレータとの通話の途中において、通話音声データを通話テキストデータに変換し、通話テキストデータを分析することで、時間の経過毎に候補の定型文を更新する方法について、図1図11及び図12を参照して説明する。
【0084】
カスタマ通話端末41とオペレータ通話端末とが接続を開始すると、通話データ取得部11は、通話音声データの取得を開始する。通話音声データの取得が開始されると、通話音声データに、通話開始を示すタグ(以下、開始タグという)が付与される。次に、カスタマとオペレータとの通話の途中において、通話音声データに通話の区切りを示すタグ(以下、区切りタグという)が付与される。通話音声データに付与される通話の区切りを示すタグは、例えば、カスタマの発話と、オペレータの発話が切り替わるタイミングで付与されてもよい。また、通話音声データに通話開始のタグが付与されてから、所定の時間経過後毎に、区切りのタグを付与してもよい。また、音声が途切れてから所定の時間経過後に区切りのタグを付与してもよい。オペレータ通話端末30とオペレータ通話端末の接続が終了すると、通話音声データに、通話終了を示すタグ(以下、終了タグという)が付与される。
【0085】
テキストデータ変換部12は、通話音声データに順次音声認識処理を実行し、通話テキストデータに変換する。変換された通話テキストデータにも、開始タグ、区切りタが付与される。終了タグが付与されるまで、通話テキストデータが格納部13に蓄積される。図11に、開始タグ、区切りタグ、終了タグが付与された通話テキストデータ400Aを示す。図11において、開始タグから30秒までの区切りタグを通話テキストデータ401とし、開始タグから1分までの区切りタグを通話テキストデータ402とし、開始タグから終了タグまでの区切りタグを通話テキストデータ403とする。
【0086】
次に、分析サーバ20が、取得した通話テキストデータを順次分析し、通話が終了するまで候補の定型文を出力し続ける方法について、図12を参照して説明する。図11は、分析サーバ20が定型文を推定する方法を説明するフローチャートである。
【0087】
まず、テキストデータ取得部21は、ファイルサーバ10から通話テキストデータ401を取得する(ステップS341)。テキストデータ取得部21は、カスタマとオペレータとの会話の途中、つまり、ファイルサーバ10において、通話テキストデータが蓄積されている途中に、通話テキストデータを取得する。取得した通話テキストデータ401には、開始タグと区切りタグとが付与されている。
【0088】
次に、前処理部22は、通話テキストデータ401に前処理を実行し、特徴ベクトルに変換する(ステップS342)。なお、取得した通話テキストデータが、区切りタグよりも後までテキスト化されたものであったとしても、開始タグから区切りタグまでの通話テキストデータで、前処理を実行する。前処理部22は、区切りタグを検出すると、開始タグから区切りタグまでの通話テキストデータ401を特徴ベクトルに変換する。次に、分類器24は、特徴ベクトルを入力ベクトルとして、機械学習モデル29に入力する(ステップS343)。次に、分類器24は、候補の定型文を、Webサーバ25に出力する(ステップS344)。以上の処理により、カスタマとオペレータとの通話の途中における候補の定型文を出力することができる。
【0089】
次に、テキストデータ取得部21は、ファイルサーバ10から通話テキストデータ402を取得する(ステップS341)。テキストデータ取得部21は、所定の時間の経過毎に通話テキストデータを取得する。取得した通話テキストデータ402には、開始タグと区切りタグ、及び追加された区切りタグが付与されている。
【0090】
次に、前処理部22は、通話テキストデータ402に前処理を実行し、特徴ベクトルに変換する(ステップS342)。前処理部22は、追加された区切りタグを検出すると、開始タグから追加された区切りタグまでの通話テキストデータ402を特徴ベクトルに変換する。次に、分類器24は、特徴ベクトルを入力ベクトルとして、機械学習モデル29に入力する(ステップS343)。次に、分類器24は、候補の定型文を、Webサーバ25に出力する(ステップS344)。以上の処理により、カスタマとオペレータとの通話の途中において候補の定型文を更新することができる。
【0091】
分析サーバ20は、図11に示す推定処理を、カスタマとオペレータとの会話が終了するまで、つまり、前処理部22が通話テキストデータから終了タグを検出するまで、繰り返し実行し続ける。テキストデータ取得部21が取得する通話テキストデータの量は、時間の経過毎に増加する。そのため、通話テキストデータの量が増加するに従って、出力される候補の定型文の精度を向上させることができる。さらに、カスタマとオペレータとの通話が終了した時点で、最終的な候補の定型文を出力することができる。そのため、オペレータは、通話が終了した際に、直ちに進捗管理アプリケーションに通話の内容に対応する定型文を入力することができるため、進捗管理アプリケーションに定型文を登録するまでの時間を短縮することができる。
【0092】
(変形例1)
先に説明した実施形態では、カスタマとオペレータとの通話テキストデータを用いて、候補の定型文を出力する方法について説明したが、本発明の一実施形態はこれに限定されない。カスタマとオペレータとの通話音声データから、オペレータの発話テキストデータを抽出して、機械学習を行ってもよい。この場合、前処理部22において、オペレータの発話テキストデータを抽出した後、オペレータの発話テキストに対して前処理を実行して特徴ベクトルを生成すればよい。カスタマとオペレータとの会話において、カスタマよりもオペレータの方が、案件に対する現在の状況を示す内容を話すことが多い。そのため、通話テキストデータから、オペレータが発話したテキストデータのみを抽出して、分析を行うことで、分析処理時間を短縮することができる。
【0093】
(変形例2)
先に説明した実施形態では、通話音声データを通話テキストデータに変換してから、分析サーバ20のテキストデータ取得部21に送信する方法について説明したが本発明の一実施形態はこれに限定されない。ファイルサーバ10で取得した通話音声データを、分析サーバ20に送信してから、音声認識処理によって通話テキストデータに変換してもよい。その後、分析サーバ20において、通話テキストデータを特徴ベクトルに変換して、機械学習モデル29に入力すればよい。
【0094】
(変形例3)
先に説明した実施形態では、定型文を、第1段階で選択される定型文~第3段階で選択される定型文の組み合わせを1つのセットとする例について説明したが、本発明の一実施形態はこれに限定されない。定型文は、第1段階~第3段階の定型文の組み合わせでなくてもよく、一つの定型文であってもよい。また、定型文セットは、第1段階~第3段階に限定されず、第4段階以上の定型文の組み合わせであってもよい。
【0095】
(変形例4)
先に説明した実施形態では、入力支援システム1において、ファイルサーバ10と分析サーバ20とが分かれている例について説明したが、本発明の一実施形態はこれに限定されない。図13に示すように、入力支援システム1Aに、テキストデータ変換部12、テキストデータ取得部21、前処理部22、及び分類器24を含む構成であってもよい。
【符号の説明】
【0096】
1:入力支援システム、10:ファイルサーバ、11:通話データ取得部、12:テキストデータ変換部、20:分析サーバ、21:テキストデータ取得部、22:前処理部、23:格納部、24:分類器、25:Webサーバ、27:学習データ、28:定型文データ、29:機械学習モデル、30:オペレータ通話端末、31:交換機、32:端末装置、33:シンクライアントサーバ、41:カスタマ通話端末、51:通信網、52:通信網、201:制御部、202:メモリ、203:記憶部、204:通信部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13