(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-02
(45)【発行日】2024-08-13
(54)【発明の名称】コミュニケーションデータログ処理装置、方法及びプログラム
(51)【国際特許分類】
H04L 51/216 20220101AFI20240805BHJP
G10L 15/22 20060101ALI20240805BHJP
【FI】
H04L51/216
G10L15/22 453
(21)【出願番号】P 2021142616
(22)【出願日】2021-09-01
【審査請求日】2023-03-15
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】久島 務嗣
(72)【発明者】
【氏名】吉田 尚水
(72)【発明者】
【氏名】岩田 憲治
(72)【発明者】
【氏名】小林 優佳
【審査官】岩田 玲彦
(56)【参考文献】
【文献】国際公開第2021/001735(WO,A1)
【文献】特表2011-525677(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/216
G10L 15/22
(57)【特許請求の範囲】
【請求項1】
発話文とメタ情報とを含むコミュニケーションデータのログであるコミュニケーションデータログに含まれる前記コミュニケーションデータを受け取るコミュニケーションデータ受取部と、
前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべき
、同じ話題の文の一連のまとまりであるスレッドを前記発話文と前記メタ情報とに基づいて判別するスレッド判別部と、
を具備
し、
前記スレッド判別部は、
前記コミュニケーションデータ受取部で受け取った第1のコミュニケーションデータに含まれる第1の発話文と第1のメタ情報とが連結された第1の文字列と、第1のスレッドにまとめられたコミュニケーションデータのうちの第2のコミュニケーションデータに含まれる第2の発話文と第2のメタ情報とが連結された第2の文字列との間の関連度に応じて、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべきスレッドを判別する、
コミュニケーションデータログ処理装置。
【請求項2】
前記コミュニケーションデータ受取部で受け取った前記コミュニケーションデータを前記スレッド判別部で判別されたスレッド毎にまとめて記憶するスレッド記憶部をさらに具備する請求項1に記載のコミュニケーションデータログ処理装置。
【請求項3】
前記メタ情報は、
前記発話文が発話された日付と、
前記発話文の発話が開始された発話開始時刻と、
前記発話文の発話が終了された発話終了時刻と、
前記発話文を発話した発話者を識別する発話者IDと、
前記発話文を発話した発話者の役割を表す発話者役割と、
前記発話文の入力方式と、
のうち少なくとも1つを含む請求項1又は2に記載のコミュニケーションデータログ処理装置。
【請求項4】
スレッド毎にまとめられた前記コミュニケーションデータを分析するスレッド分析部をさらに具備する請求項1乃至3の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項5】
前記分析の結果を出力装置に出力する出力制御部をさらに具備する請求項4に記載のコミュニケーションデータログ処理装置。
【請求項6】
前記スレッド判別部は、前記コミュニケーションデータ受取部が受け取った前記コミュニケーションデータが属するべきスレッドを逐次的に判別する請求項1乃至5の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項7】
前記コミュニケーションデータログを受け取るコミュニケーションデータログ受取部をさらに具備する請求項1乃至6の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項8】
前記コミュニケーションデータログ受取部は、前記コミュニケーションデータログから前記コミュニケーションデータを1つずつ選択して前記コミュニケーションデータ受取部に入力する請求項7に記載のコミュニケーションデータログ処理装置。
【請求項9】
前記スレッド判別部は、
前記コミュニケーションデータ受取部で受け取った第1のコミュニケーションデータに含まれる第1の発話文と、第1のスレッドにまとめられたコミュニケーションデータのうちの第2のコミュニケーションデータに含まれる第2の発話文との間の関連度が高いときには、前記第1のコミュニケーションデータが属するべきスレッドを前記第1のスレッドと判別し、
前記第1の発話文と前記第2の発話文との間の関連度が低いときには、前記第1のコミュニケーションデータが属するべきスレッドを新規の第2のスレッドと判別する、
請求項1乃至8の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項10】
前記スレッド判別部は、
前記コミュニケーションデータ受取部で受け取った第1のコミュニケーションデータに含まれる第1の発話文と第1のメタ情報とが連結された第1の文字列と、第1のスレッドにまとめられたコミュニケーションデータのうちの第2のコミュニケーションデータに含まれる第2の発話文と第2のメタ情報とが連結された第2の文字列との間の関連度が高いときには、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべきスレッドを前記第1のスレッドと判別し、
前記第1の文字列と前記第2の文字列との間の関連度が低いときには、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべきスレッドを新規の第2のスレッドと判別する、
請求項1乃至8の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項11】
前記スレッド判別部は、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータに含まれる発話文に特定の単語が含まれていた場合に、前記発話文と前記メタ情報とに基づく判別に優先して、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべきスレッドを新規のスレッドと判別する請求項1乃至10の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項12】
前記スレッド判別部は、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが不要な発話文を含むときには、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべきスレッドを判別しない請求項1乃至11の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項13】
前記メタ情報は、前記発話文の発話が開始された発話開始時刻と、前記発話文の発話が終了された発話終了時刻とを含み、
前記スレッド判別部は、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータの発話開始時刻から最後にスレッドにまとめられたコミュニケーションデータの発話終了時刻までの時間間隔である発話間隔が閾値以上であるときには、前記発話文と前記メタ情報とに基づく判別に優先して、前記コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべきスレッドを新規のスレッドと判別する請求項1乃至12の何れか1項に記載のコミュニケーションデータログ処理装置。
【請求項14】
発話文とメタ情報とを含むコミュニケーションデータのログであるコミュニケーションデータログに含まれる前記コミュニケーションデータを受け取ることと、
前記受け取ったコミュニケーションデータが属するべき
、同じ話題の文の一連のまとまりであるスレッドを前記発話文と前記メタ情報とに基づいて判別することと、
を具備
し、
前記受け取ったコミュニケーションデータが属するべきスレッドを判別することにおいて、
前記受け取った第1のコミュニケーションデータに含まれる第1の発話文と第1のメタ情報とが連結された第1の文字列と、第1のスレッドにまとめられたコミュニケーションデータのうちの第2のコミュニケーションデータに含まれる第2の発話文と第2のメタ情報とが連結された第2の文字列との間の関連度に応じて、前記受け取ったコミュニケーションデータが属するべきスレッドを判別する、
コミュニケーションデータログ処理方法。
【請求項15】
発話文とメタ情報とを含むコミュニケーションデータのログであるコミュニケーションデータログに含まれる前記コミュニケーションデータを受け取ることと、
前記受け取ったコミュニケーションデータが属するべき
、同じ話題の文の一連のまとまりであるスレッドを前記発話文と前記メタ情報とに基づいて判別することと、
をコンピュータに実行させるためのコミュニケーションデータログ処理プログラムで
あって、
前記受け取ったコミュニケーションデータが属するべきスレッドを判別することにおいて、
前記受け取った第1のコミュニケーションデータに含まれる第1の発話文と第1のメタ情報とが連結された第1の文字列と、第1のスレッドにまとめられたコミュニケーションデータのうちの第2のコミュニケーションデータに含まれる第2の発話文と第2のメタ情報とが連結された第2の文字列との間の関連度に応じて、前記受け取ったコミュニケーションデータが属するべきスレッドを判別する、
ことを前記コンピュータに実行させるためのコミュニケーションデータログ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本実施形態は、コミュニケーションデータログ処理装置、方法及びプログラムに関する。
【背景技術】
【0002】
ホテルの清掃及び警備といったフィールド業務の場、会議の場等といった人と人が対話する場におけるIoT(Internet of Things)化が進んでいる。例えば、IoT化により、フィールド業務における対話及び会議における会議議事録といった発話の履歴がコミュニケーションデータログとして蓄積できるようになってきている。コミュニケーションデータログは、1人以上の発話者が1つ以上の話題について音声及びテキストといった入力方式は問わずに発話したときの発話の履歴をログとして蓄積したものである。コミュニケーションデータログは、例えば、2人の発話者が同じ話題について議論している場面で蓄積されることもあり、4人の発話者が2人ずつのペアになって、それぞれの話題について発話しているような場面で蓄積されることもある。
【0003】
構造化されたコミュニケーションデータログであれば分析が比較的に容易である。そして、コミュニケーションデータログの分析により、業務の改善及び効率化に役立つ情報を抽出することができれば、コミュニケーションデータログが有効に活用されていると言える。ここでのコミュニケーションデータログの構造化は、例えば同じ話題の1連のまとまりであるスレッドにコミュニケーションデータを分割することである。例えば、「業務Aが完了しました。」という発話の後に「了解しました。」という発話がされた場合、この2つは同じ<業務Aの完了報告>という話題なので、同じスレッドにまとめられ得る。また、例えば、「備品Bはどこに持っていきますか。」という発話の後に「備品Bは部屋Cにお願いします。」という発話がされた場合、この2つは同じ<備品Bの運搬>という話題であるので、同じスレッドにまとめられ得る。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
一般的な発話においては、話題が随時変化することもあり得るし、複数の話題が並行して進行することもあり得る。また、同じ発話者の連続した発話の中でも話題が異なることもあり得る。さらには、発話の中で話し言葉と書き言葉が混在することもあり得る。これらのような特性のため、コミュニケーションデータログの構造化は難しいとされている。
【0006】
本実施形態は、コミュニケーションデータログの構造化を容易に行うことができるコミュニケーションデータログ処理装置、方法及びプログラムを提供する。
【課題を解決するための手段】
【0007】
実施形態のコミュニケーションデータログ処理装置は、コミュニケーションデータ受取部と、スレッド判別部とを有する。コミュニケーションデータ受取部は、発話文とメタ情報とを含むコミュニケーションデータのログであるコミュニケーションデータログに含まれるコミュニケーションデータを受け取る。スレッド判別部は、コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべき、同じ話題の文の一連のまとまりであるスレッドを発話文とメタ情報とに基づいて判別する。スレッド判別部は、コミュニケーションデータ受取部で受け取った第1のコミュニケーションデータに含まれる第1の発話文と第1のメタ情報とが連結された第1の文字列と、第1のスレッドにまとめられたコミュニケーションデータのうちの第2のコミュニケーションデータに含まれる第2の発話文と第2のメタ情報とが連結された第2の文字列との間の関連度に応じて、コミュニケーションデータ受取部で受け取ったコミュニケーションデータが属するべきスレッドを新規の第2のスレッドと判別する。
【図面の簡単な説明】
【0008】
【
図1】
図1は、各実施形態に係わるコミュニケーションデータログ処理装置を含むシステムの一例の構成を示す図である。
【
図2】
図2は、コミュニケーションデータログの例を示す図である。
【
図3】
図3は、第1の実施形態に係わるコミュニケーションデータログ処理装置の一例の構成を示すブロック図である。
【
図4】
図4は、スレッドリストの例を示す図である。
【
図5】
図5は、コミュニケーションデータログ処理装置のハードウェア構成の一例を示す図である。
【
図6】
図6は、第1の実施形態に係わるコミュニケーションデータログ処理装置の動作を示すフローチャートである。
【
図7】
図7は、スレッド判別処理について示すフローチャートである。
【
図8】
図8は、第2の実施形態に係わるコミュニケーションデータログ処理装置の一例の構成を示すブロック図である。
【
図9】
図9は、第2の実施形態に係わるコミュニケーションデータログ処理装置の動作を示すフローチャートである。
【
図10】
図10は、第2の実施形態の変形例に係わるコミュニケーションデータログ処理装置の一例の構成を示すブロック図である。
【
図11】
図11は、第2の実施形態の変形例に係わるコミュニケーションデータログ処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施形態について説明する。
(第1の実施形態)
図1は、各実施形態に係わるコミュニケーションデータログ処理装置を含むシステムの一例の構成を示す図である。実施形態に係るシステムは、入力デバイス11-1mと、コミュニケーションデータログ記憶装置2と、コミュニケーションデータログ処理装置3とを有する。
【0010】
入力デバイス11-1mは、発話文の入力のためのm(mは自然数)個の入力デバイスである。例えば、入力デバイス11-1mは、ユーザU1-Umのうちの対応したユーザからの発話文の入力のための入力デバイスである。発話文の入力ができるデバイスであれば、入力デバイス11-1mの入力方式は、限定されない。例えば、入力デバイス11-1mは、ユーザからマイクロホン(マイク)を介して入力された発話文の音声を収集するデバイスであり得る。また、例えば、入力デバイス11-1mは、ユーザからキーボードを介して入力された発話文のテキストを収集するデバイスであり得る。
【0011】
入力デバイス11-1mは、通信装置を備えている。そして、入力デバイス11-1mは、対応するユーザからの発話文の入力があったときには、発話文データをコミュニケーションデータログ記憶装置2に送信する。発話文データは、入力された発話文の音声データ又はテキストデータ、発話文の音声又はテキストの入力が開始された日時、入力が終了された日時、及びデバイスIDを含む。デバイスIDは、入力デバイス11-1mのそれぞれに割り当てられたIDである。
【0012】
入力デバイス11-1mは、対応するユーザの発話文データをコミュニケーションデータログ記憶装置2に送信するだけでなく、対応するユーザの発話文データを他の入力デバイスに送信したり、他の入力デバイスから受信された発話文データを再生したりするように構成されていてもよい。
【0013】
音声入力方式の入力デバイス11-1mとしては、例えば、ユーザU1-Umの頭部に装着されるフィールドインカムが用いられ得る。また、テキスト入力方式の入力デバイス11-1mとしては、例えば、テキストチャットアプリケーションを備えたパーソナルコンピュータ又はタブレット端末等が用いられ得る。入力デバイス11-1mは、これらに限定されるものではない、また、
図1では、入力デバイスは、ユーザと1対1で対応している。これに対し、入力デバイスは、必ずしもユーザと1対1で対応していなくてもよい。入力デバイスがユーザと1対1で対応していない場合、音声認識等の手法によって発話したユーザが特定できることが望ましい。
【0014】
コミュニケーションデータログ記憶装置2は、入力デバイス11-1mから送信されてきた発話文データに基づいて生成されるコミュニケーションデータログを記憶する。コミュニケーションデータログは、ユーザU1-Umのそれぞれの発話の履歴をログとして記録したものである。
図2は、コミュニケーションデータログの例を示す図である。
図2に示すように、コミュニケーションデータログは、n(nは自然数)個のコミュニケーションデータ21-2nを含む。
【0015】
コミュニケーションデータ21-2nは、それぞれ、データIDと、発話文と、メタ情報とを含む。
【0016】
データIDは、コミュニケーションデータ21-2nのそれぞれに対して割り当てられるIDである。
【0017】
発話文は、発話文の内容を示すテキストデータである。発話文データが音声データを含むときには、コミュニケーションデータログ記憶装置2は、この音声データに対する音声認識によって発話文を抽出する。また、発話文データがテキストデータを含むときには、コミュニケーションデータログ記憶装置2は、そのテキストデータから発話文を抽出する。
【0018】
メタ情報は、コミュニケーションデータに付随する情報であって、発話に関連する各種の情報を含む。メタ情報は、例えば日付、発話開始時刻、発話終了時刻、発話者ID、発話者役割、入力方式を含み得る。日付は、対応する発話文が発話された日付である。発話開始時刻は、対応する発話文の発話が開始された時刻である。発話終了時刻は、対応する発話文の発話が終了された時刻である。発話者IDは、対応する発話文の発話をしたユーザを識別するためにユーザ毎に割り当てられたIDである。発話者役割は、対応する発話文の発話をしたユーザと他のユーザとの関係を表すための、役職、立場といった役割の情報である。入力方式は、対応する発話文の発話が収集された入力デバイスの入力方式である。日付、発話開始時刻及び発話終了時刻は、例えば発話文データに付随する発話文データの収集日時から特定され得る。発話者ID、発話者役割及び入力方式は、発話文データに付随するデバイスIDと、デバイスIDと関連付けて予め登録されている発話者ID、発話者役割及び入力方式とを照合することによって特定され得る。ここで、メタ情報は、
図2で示した6種の内の少なくとも1つを含めばよい。または、メタ情報は、
図2で示した6種以外の情報を含んでもよい。
【0019】
コミュニケーションデータログ処理装置3は、コミュニケーションデータログ記憶装置2に記憶されているコミュニケーションデータログを分析に適するように構造化する処理を行う。実施形態におけるコミュニケーションデータログの構造化は、例えば同じ話題の1連のまとまりであるスレッドにコミュニケーションデータログを分割することである。
【0020】
図3は、第1の実施形態に係わるコミュニケーションデータログ処理装置3の一例の構成を示すブロック図である。コミュニケーションデータログ処理装置3は、コミュニケーションデータ受取部31と、スレッド判別部32と、スレッド記憶部33とを備えている。コミュニケーションデータログ処理装置3は、コミュニケーションデータログ記憶装置2と一体で構成されていてもよい。
【0021】
コミュニケーションデータ受取部31は、コミュニケーションデータログ記憶装置2から1つのコミュニケーションデータを受け取る。例えば、コミュニケーションデータ受取部31は、コミュニケーションデータログ記憶装置2に新たなコミュニケーションデータが登録される毎に、その新たなコミュニケーションデータを受け取る。
【0022】
スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータが属するべきスレッドを判別する。スレッド判別部32は、スレッドを判別できたときには、コミュニケーションデータを該当するスレッドに記憶させる。一方、スレッド判別部32は、スレッドを判別できなかったときには、新規スレッドを作成し、コミュニケーションデータをその新規スレッドに記憶させる。スレッド判別部32は、コミュニケーションデータのメタ情報によって特定される発話の間隔、コミュニケーションデータの発話文によって特定される発話文の内容の関連度等に基づいて判別をする。スレッド判別部32の詳細については後で説明される。
【0023】
スレッド記憶部33は、コミュニケーションデータをスレッドにまとめて記憶している。また、スレッド記憶部33は、スレッドリストを記憶している。スレッドリストは、スレッドの内容を示す管理データである。
図4は、スレッドリストの例を示す図である。
図4に示すように、スレッドリストは、N(Nは自然数)個のスレッド331-33Nを含む。スレッド331-33Nは、それぞれ、スレッドIDと、コミュニケーションデータリストとを含む。なお、スレッド記憶部33は、コミュニケーションデータログ処理装置3の外部に設けられた別の記憶媒体によって実現されてもよい。この場合、コミュニケーションデータログ処理装置3は、必要に応じて外部の記憶媒体にアクセスすることで、スレッド記憶部33から情報を取得し、また、スレッド記憶部33に情報を転送する。
【0024】
スレッドIDは、スレッド331-33Nのそれぞれに対して割り当てられるIDである。
【0025】
コミュニケーションデータリストは、対応するスレッドに属しているコミュニケーションデータのデータIDのリストである。
【0026】
図5は、コミュニケーションデータログ処理装置3のハードウェア構成の一例を示す図である。コミュニケーションデータログ処理装置3は、コンピュータであり、例えばプロセッサ101と、メモリ102と、入力装置103と、出力装置104と、通信装置105と、ストレージ106とをハードウェアとして有している。プロセッサ101と、メモリ102と、入力装置103と、出力装置104と、通信装置105と、ストレージ106とは、バス107に接続されている。
【0027】
プロセッサ101は、コミュニケーションデータログ処理装置3の全体的な動作を制御するプロセッサである。プロセッサ101は、例えばストレージ106に記憶されているプログラムを実行することによって、コミュニケーションデータ受取部31と、スレッド判別部32として動作する。プロセッサ101は、例えばCPUである。プロセッサ101は、MPU、GPU、ASIC、FPGA等であってもよい。プロセッサ101は、単一のCPU等であってもよいし、複数のCPU等であってもよい。
【0028】
メモリ102は、ROM及びRAMを含む。ROMは、不揮発性のメモリである。ROMは、コミュニケーションデータログ処理装置3の起動プログラム等を記憶している。RAMは、揮発性のメモリである。RAMは、例えばプロセッサ101における処理の際の作業メモリとして用いられる。
【0029】
入力装置103は、タッチパネル、キーボード、マウス等の入力装置である。入力装置103の操作がされた場合、操作内容に応じた信号がバス107を介してプロセッサ101に入力される。プロセッサ101は、この信号に応じて各種の処理を行う。
【0030】
出力装置104は、液晶ディスプレイ、有機ELディスプレイ等の表示装置及びプリンタといった各種の情報の出力装置である。
【0031】
通信装置105は、コミュニケーションデータログ処理装置3が外部の機器、例えばコミュニケーションデータログ記憶装置2と通信するための通信装置である。通信装置105は、有線通信のための通信装置であってもよいし、無線通信のための通信装置であってもよい。
【0032】
ストレージ106は、例えばハードディスクドライブ、ソリッドステートドライブといったストレージである。ストレージ106は、コミュニケーションデータログ処理プログラム1061等のプロセッサ101によって実行される各種のプログラムを記憶している。
【0033】
また、ストレージ106は、関連度評価モデル1062を記憶している。関連度評価モデル1062は、発話文の間の関連度を評価するための機械学習モデルである。関連度評価モデル1062は、例えば、入力された2つの発話文から抽出される特徴量ベクトルの比較によって、2つの発話文の間の関連度を表すスコアを出力するように各層の重みが学習された深層学習モデルであり得る。特徴量ベクトルは、例えば形態素解析によって抽出される。関連度評価モデル1062には、例えば発話文として想定される単語の間の関連度に関わる情報が教師データとして与えられる。
【0034】
関連度評価モデル1062は、発話文とすべて又は一部のメタ情報とが連結された文字列を入力として関連度を表すスコアを出力する深層学習モデルであってもよい。また、関連度評価モデル1062は、3つ以上の発話文を入力として関連度を表すスコアを出力する深層学習モデルであってもよい。メタ情報が文字列として発話文に連結されることで形式の異なるメタ情報が扱われ得る。また、3つ以上の発話文が入力されることによってより大域的な情報が扱われ得る。さらには、関連度評価モデル1062は、必ずしも深層学習モデルでなくてもよい。例えば、関連度評価モデル1062は、予め定められたルールベースで発話文の間の関連度を評価するように構成されたモデルであってもよい。
【0035】
また、ストレージ106は、スレッド記憶部33としても動作し、コミュニケーションデータ1063をスレッド毎にまとめて記憶している。さらに、ストレージ106は、スレッドリスト1064を記憶している。
【0036】
ここで、関連度評価モデル1062、コミュニケーションデータ1063及びスレッドリスト1064は、コミュニケーションデータログ処理装置3とは別の装置に記憶されていてもよい。この場合、コミュニケーションデータログ処理装置3は、通信装置105を用いて別の装置にアクセスすることで必要な情報を取得する。
【0037】
バス107は、プロセッサ101と、メモリ102と、入力装置103と、出力装置104と、通信装置105と、ストレージ106との間のデータのやり取りのためのデータ転送路である。
【0038】
次に、第1の実施形態に係わるコミュニケーションデータログ処理装置の動作について説明する。
図6は、第1の実施形態に係わるコミュニケーションデータログ処理装置の動作を示すフローチャートである。
図6の処理は、例えばコミュニケーションデータ受取部31がコミュニケーションデータを受け取る毎に行われる。
【0039】
ステップS101において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータが、スレッド記憶部33のどのスレッドIDのスレッドに属するべきかを判別するためのスレッド判別処理を行う。スレッド判別処理の詳細については後で説明する。ここでは、コミュニケーションデータが属するべきスレッドが判別されたものとして説明が続けられる。
【0040】
ステップS102において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータをスレッド記憶部33のスレッド判別処理で判別したスレッドIDのスレッドの例えば末尾に記憶させる。また、スレッド判別部32は、スレッドリストの対応するスレッドIDにおけるコミュニケーションデータリストに、新規に記憶させたコミュニケーションデータのデータIDを記憶させる。その後、
図6の処理は終了する。ここで、スレッド判別部32は、後で説明するスレッド判別処理において分類しないと判別されたコミュニケーションデータについてはスレッドに記憶させない。この場合には、そのまま
図6の処理は終了する。また、スレッド判別部32は、後で説明するスレッド判別処理において新規スレッドに分類すると判別されたコミュニケーションデータについては新たなスレッドIDのスレッドを作成した上で、そのスレッドにコミュニケーションデータを記憶させる。その後、
図6の処理は終了する。
【0041】
図7は、スレッド判別処理について示すフローチャートである。ステップS201において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータの発話文が不要な発話文であるか否かを判定する。不要な発話文は、例えば、ユーザの意図しないタイミングで入力されてしまった意味をなさない発話文、「テスト」等の不要な発話文であることを明示する単語が含まれている発話文である。スレッド判別部32は、不要な発話文であることを明示する単語のリストを予め保持している。スレッド判別部32は、発話文を形態素解析等することによって単語の単位に分解することによって意味をなさない発話文であるか又は不要な発話文であることを明示する単語が含まれているか否かを判定してもよい。また、スレッド判別部32は、深層学習モデルによって不要な発話文であるか否かの判定をしてもよい。ステップS201において、発話文が不要な発話文であると判定された場合には、処理はステップS202に移行する。ステップS201において、発話文が不要な発話文でないと判定された場合には、処理はステップS203に移行する。
【0042】
ステップS202において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータをスレッドに分類しないと判別する。その後、
図7の処理は終了する。つまり、実施形態では、不要な発話文についてはスレッドに分類されない。
【0043】
ステップS203において、スレッド判別部32は、スレッド記憶部33に最後に追加されたコミュニケーションデータの発話終了時刻からコミュニケーションデータ受取部31が受け取ったコミュニケーションデータの発話開始時刻までの発話間隔が閾値以上の長さであるか否かを判定する。この閾値は、例えば5分といった適当な値に決められていてよい。ステップS203において、コミュニケーションデータの発話間隔が長いと判定された場合には、処理はステップS204に移行する。また、スレッド記憶部33にスレッドが作成されていない、すなわちコミュニケーションデータが記憶されていない場合にも、処理はステップS204に移行する。ステップS203において、コミュニケーションデータの発話間隔が長くないと判定された場合には、処理はステップS205に移行する。
【0044】
ステップS204において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータを新規スレッドに分類すると判別する。その後、
図7の処理は終了する。つまり、実施形態では、直前の発話に対して十分に長い発話間隔の後で発話された発話文については他の発話文との関連が低いとして新規スレッドに分類される。
【0045】
ステップS205において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータが新規スレッドに分類するべき特定の単語を含むコミュニケーションデータであるか否かを判定する。特定の単語は、例えば「さて」、「ところで」といった話題転換を図るための単語である。特定の単語は、予めユーザの間で決められた単語であってもよい。ステップS205において、コミュニケーションデータが特定の単語を含むコミュニケーションデータであると判定された場合には、処理はステップS204に移行する。この場合、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータは、新規スレッドに分類される。ステップS205において、コミュニケーションデータが特定の単語を含むコミュニケーションデータでないと判定された場合には、処理はステップS206に移行する。
【0046】
ステップS206において、スレッド判別部32は、スレッド記憶部33から1つ以上のコミュニケーションデータを選択する。例えば、スレッド記憶部33に最後に追加されたコミュニケーションデータを選択する。関連度評価モデル1062が3つ以上の発話文からスコアを出力するように構成されているときには、スレッド判別部32は、スレッド記憶部33から2つ以上のコミュニケーションデータを選択してもよい。
【0047】
ステップS207において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータの発話文とスレッド記憶部33から選択したコミュニケーションデータの発話文との間の関連度を評価する。前述したように、関連度は、2つ又は3つ以上のコミュニケーションデータの発話文を関連度評価モデルに入力することで得られるスコアに基づいて評価され得る。前述したように、関連度評価モデルには、発話文とメタ情報とが連結された文字列が入力されてもよい。
【0048】
ステップS208において、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータの発話文とスレッド記憶部33から選択したコミュニケーションデータの発話文との間の関連度が高いか否かを判定する。例えば、スコアが閾値以上であるときには関連度が高いと判定される。ステップS208において、関連度が高くないと判定されたときには、処理はステップS209に移行する。ステップS208において、関連度が高いと判定されたときには、処理はステップS210に移行する。
【0049】
ステップS209において、スレッド判別部32は、関連度の評価を終了するか否かを判定する。例えば、スレッド記憶部33から関連度の評価対象のすべてのコミュニケーションデータを選択したときには、関連度の評価を終了すると判定される。関連度の評価対象のコミュニケーションデータは、例えばスレッド記憶部33に最後に追加されたコミュニケーションデータである。また、関連度の評価対象のコミュニケーションデータは、例えばスレッド記憶部33に記憶されているコミュニケーションデータのうちでコミュニケーションデータ受取部31が受け取ったコミュニケーションデータの発話開始時刻から過去の所定時間、例えば2時間までの発話終了時刻を有するコミュニケーションデータであってもよい。さらに、関連度の評価対象のコミュニケーションデータは、スレッド記憶部33に記憶されているすべてのコミュニケーションデータであってもよい。ステップS209において、関連度の評価を終了しないと判定されたときには、処理はステップS206に戻る。この場合、スレッド判別部32は、スレッド記憶部33から別のコミュニケーションデータを選択する。ステップS209において、関連度の評価を終了すると判定されたときには、処理はステップS204に移行する。この場合、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータは、新規スレッドに分類される。
【0050】
ステップS210において、スレッド判別部は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータを、関連度が高いと評価されたコミュニケーションデータが属するスレッドに分類する。その後、
図7の処理は終了する。
【0051】
以下、
図7の処理を具体的に説明する。例えば、コミュニケーションデータ受取部31が
図2のコミュニケーションデータログからコミュニケーションデータ21を受け取ったとする。このとき、スレッド判別部32は、スレッド記憶部33に記憶されているスレッドリストを参照する。例えば、スレッドリストが空欄であるときコミュニケーションデータ21は新規スレッドに属することになる。この場合、スレッド判別部32は新しいスレッドID1のスレッドをスレッド記憶部33に作成し、作成したスレッドの先頭にコミュニケーションデータ21を記憶させる。さらに、スレッド判別部32は、スレッドリストのスレッドID1のスレッド331のコミュニケーションデータリストにコミュニケーションデータ21のデータID1を追加する。
【0052】
次に、コミュニケーションデータ受取部31が
図2のコミュニケーションデータログからコミュニケーションデータ22を受け取ったとする。コミュニケーションデータ21の発話終了時刻からコミュニケーションデータ22の発話開始時刻までの発話間隔は閾値よりも短いため、スレッド判別部32は、コミュニケーションデータ22とコミュニケーションデータ21の発話文の関連度を評価する。ここで、
図2に示す、コミュニケーションデータ21に含まれる[ユーザ4]の「Aさん、八一一の作業・・・」という発話文とコミュニケーションデータ22に含まれる[ユーザ2]の「了解です。」という発話文は[ユーザ4]から[ユーザ2]である[Aさん]への連絡に対する[ユーザ2]の応答であるという関係を有するから、コミュニケーションデータ22の発話文とコミュニケーションデータ21の発話文との間の関連度は高いと判定される。また、発話文にメタ情報の文字列が連結されている場合には、発話者役割から[ユーザ2]は[ユーザ4]の上司に当たり、かつ、発話の入力方式も同一であることからもコミュニケーションデータ21の発話文とコミュニケーションデータ22の発話文との間の関連度は高いと判定され得る。したがって、スレッド判別部32は、スレッドID1のスレッドの末尾にコミュニケーションデータ22を追加する。さらに、スレッド判別部32は、スレッドリストのスレッドID1のスレッド331のコミュニケーションデータリストにコミュニケーションデータ22のデータID2を追加する。
【0053】
さらに、コミュニケーションデータ受取部31が
図2のコミュニケーションデータログからコミュニケーションデータ23を受け取ったとする。コミュニケーションデータ22の発話終了時刻からコミュニケーションデータ23の発話開始時刻までの発話間隔は閾値よりも短いため、スレッド判別部32は、コミュニケーションデータ23とコミュニケーションデータ22の発話文の関連度を評価する。ここで、
図2に示す、コミュニケーションデータ22に含まれる[ユーザ2]の「了解です。」という発話文と、コミュニケーションデータ23に含まれる[ユーザ5]の「Aさん、Bです。一二二〇は・・・」と発話文は別の話題についての発話文であるから、コミュニケーションデータ23の発話文とコミュニケーションデータ22の発話文との間の関連度は低いと判定される。このため、コミュニケーションデータ23は新規スレッドに属することになる。この場合、スレッド判別部32は新しいスレッドID2のスレッドをスレッド記憶部33に作成し、作成したスレッドの先頭にコミュニケーションデータ23を記憶させる。さらに、スレッド判別部32は、スレッドリストのスレッドID2のスレッド332のコミュニケーションデータリストにコミュニケーションデータ21のデータID3を追加する。
【0054】
これ以降、スレッド判別部32は、コミュニケーションデータ受取部31が受け取ったコミュニケーションデータを同様にして処理し、スレッド記憶部33に記憶させる。
【0055】
以上説明したように第1の実施形態によれば、コミュニケーションデータログに蓄積されるコミュニケーションデータの発話文の内容だけでなく、コミュニケーションデータに付随するメタ情報を用いることによってコミュニケーションデータログの構造化が容易に実施される。例えば、発話間隔が長いコミュニケーションデータについては発話文の関連度の評価に先立って新規のスレッドに分類されることにより、発話文の関連度の評価をする必要のあるコミュニケーションデータは削減され得る。これにより、スレッド判別部の処理は、高速化され得る。また、発話文に加えてメタ情報が考慮されることにより、話題が随時変化した場合、複数の話題が並行して進行した場合等であってもコミュニケーションデータが適切なスレッドにまとめられ得る。
【0056】
また、不要な発話文を含むコミュニケーションデータはスレッドに分類されず、また、新規のスレッドに分類すべき特定の単語を含む発話文を含むコミュニケーションデータは発話文の関連度の評価に先立って新規スレッドに分類されることでも、発話文の関連度の評価をする必要のあるコミュニケーションデータは削減され得る。これによっても、スレッド判別部の処理は、高速化され得る。
【0057】
ここで、第1の実施形態において、スレッド判別部32は、スレッドリストを出力装置104としての表示装置に表示させたり、プリンタによって印刷したりしてもよい。また、スレッド判別部32は、スレッドリストが表示装置に表示されている状態において、コミュニケーションデータリストの何れかのデータIDが選択されたときに、そのデータIDのコミュニケーションデータの内容をさらに表示させてもよい。
【0058】
(第2の実施形態)
次に、第2の実施形態を説明する。ここで、第2の実施形態において第1の実施形態と同様の構成及び動作については説明が省略又は簡略化される。
図8は、第2の実施形態に係わるコミュニケーションデータログ処理装置3の一例の構成を示すブロック図である。コミュニケーションデータログ処理装置3は、コミュニケーションデータ受取部31と、スレッド判別部32と、スレッド記憶部33とに加えて、スレッド分析部34と、分析結果記憶部35と、出力制御部36とを備えている。コミュニケーションデータ受取部31と、スレッド判別部32と、スレッド記憶部33とは、第1の実施形態で説明したものと同一である。したがって、説明は省略される。プロセッサ101は、例えばストレージ106に記憶されているプログラムを実行することによって、コミュニケーションデータ受取部31と、スレッド判別部32に加えて、スレッド分析部34と、出力制御部36としても動作する。また、ストレージ106は、スレッド記憶部33に加えて、分析結果記憶部35としても動作する。
【0059】
スレッド分析部34は、スレッド記憶部33に記憶されたスレッドリストを参照してスレッド毎にコミュニケーションデータを分析する。例えば、スレッド分析部34は、それぞれのスレッドのコミュニケーションデータを分析し、スレッド内での対話内容を表すような属性をスレッドに付与する。なお、属性付与のための分析は、コミュニケーションデータと属性との関係が学習された深層学習モデルによって行われ得る。ここで、スレッド分析部34によって付与される属性は、例えば、「指示」、「完了報告」、「トラブル報告」といった予め決められた属性である。また、スレッド分析部34は、コミュニケーションデータにおける発話文を時間帯毎に集計することで、時間帯による忙しさ、トラブル発生頻度等を分析してもよい。また、スレッド分析部34は、例えば、スレッド毎のコミュニケーションデータを分析することでタスクを抽出し、抽出したタスクと発話者IDとを紐づけることでタスクを可視化してもよいし、関連するスレッドを紐付けて、関連するスレッド毎にメタ情報を集計する等といったその他の分析をさらにしてもよい。
【0060】
分析結果記憶部35は、スレッド分析部34から入力されたスレッドの分析結果を記憶する。
【0061】
出力制御部36は、分析結果記憶部35に記憶された分析結果を出力装置104としての表示装置の画面上に表示させたり、又はプリンタによって紙面に印刷したりする。分析結果は、ブラウザ上に表示されてもよい。また、出力制御部36は、分析結果とともに分析結果の決定に大きく寄与した情報を表示又は印刷してもよい。
【0062】
次に、第2の実施形態に係わるコミュニケーションデータログ処理装置の動作について説明する。
図9は、第2の実施形態に係わるコミュニケーションデータログ処理装置の動作を示すフローチャートである。
図9の処理は、例えばコミュニケーションデータ受取部31がコミュニケーションデータを受け取る毎に行われる。ここで、
図9のステップS301-S302の処理は、
図6のステップS101-S102の処理と同様に行われる。したがって、説明は省略される。
【0063】
コミュニケーションデータがスレッドに記憶された後のステップS303において、スレッド分析部34は、スレッド記憶部33に記憶されたスレッドリストを参照してコミュニケーションデータの分析を行う。例えば、スレッドの属性付与のための分析は、スレッドに含まれるコミュニケーションデータが持つメタ情報と発話文とをそれぞれすべて連結して深層学習モデルに入力することで行われる。この他、スレッドの属性付与のための分析は、コミュニケーションデータを1つずつ深層学習モデルに入力し、それぞれのコミュニケーションデータに付与された属性の多数決を取ることでも行われ得る。
【0064】
また、スレッドに付与された属性を幾つかのクラスに分割し、それぞれのクラスに含まれる属性を持つスレッドの出現頻度が時間帯毎に集計されてもよい。これにより、各クラスの時間帯毎の分析結果が得られる。例えば、付与される属性が「指示」、「完了報告」、「トラブル報告」の3種で、定常業務クラスに「指示」と「完了報告」が含まれ、非定常業務クラスに「トラブル報告」が含まれた場合、定常業務クラスから得られる分析結果はタスクの忙しさを表し、非定常業務クラスから得られる分析結果はトラブル発生の有無等を表す。クラスは、事前に手作業で設定されてもよいし、統計的な手法で設定されてもよい。
【0065】
ステップS305において、スレッド分析部34は、分析結果を分析結果記憶部35に記憶させる。
【0066】
ステップS306において、出力制御部36は、分析結果記憶部35に記憶された分析結果を出力装置104としての表示装置に表示する。分析結果の表示の際に、出力制御部36は、分析結果の決定に大きく寄与した情報も併せて表示してよい。分析結果の決定に大きく寄与した情報は、例えば、スレッドの属性の決定に大きく寄与した単語又はメタ情報である。また、出力制御部36は、決定に大きく寄与した情報のほかに、特定の単語又はメタ情報を併せて表示してもよい。また、出力制御部36は、情報を単に表示するだけでなく強調して表示してもよい。強調表示が利用されることで、分析結果の利用者にとって分析結果が直感的に解釈されやすくなり、また、視覚的にも理解されやすくなる。
【0067】
以上説明したように第2の実施形態によれば、コミュニケーションデータログの構造化に加えて、構造化されたコミュニケーションデータログが分析される。これにより、より直接的に業務の改善や効率化に役立つ情報が利用者に提供され得る。また、コミュニケーションデータが受け付けられる毎に逐次的にコミュニケーションデータログの構造化としてのスレッドへの分類が実施されることで、リアルタイムのコミュニケーションデータログの分析も可能である。リアルタイムのコミュニケーションデータログの分析が行われることにより、一時的な負荷の集中の検知や負荷の分散を行うことも可能になる。
【0068】
(第2の実施形態の変形例)
次に、第2の実施形態の変形例を説明する。ここで、第2の実施形態の変形例において第2の実施形態と同様の構成及び動作については説明が省略又は簡略化される。
図10は、第2の実施形態の変形例に係わるコミュニケーションデータログ処理装置3の一例の構成を示すブロック図である。コミュニケーションデータログ処理装置3は、コミュニケーションデータ受取部31と、スレッド判別部32と、スレッド記憶部33と、スレッド分析部34と、分析結果記憶部35と、出力制御部36とに加えて、コミュニケーションデータログ受取部37を備えている。
【0069】
コミュニケーションデータログ受取部37は、コミュニケーションデータログ記憶装置2から2つ以上のコミュニケーションデータを含むコミュニケーションデータログを受け取る。そして、コミュニケーションデータログ受取部37は、受け取ったコミュニケーションデータログに含まれるコミュニケーションデータを1つずつコミュニケーションデータ受取部31に入力する。
【0070】
次に、第2の実施形態の変形例に係わるコミュニケーションデータログ処理装置の動作について説明する。
図11は、第2の実施形態の変形例に係わるコミュニケーションデータログ処理装置の動作を示すフローチャートである。
図11の処理は、例えばコミュニケーションデータログ受取部37がコミュニケーションデータログを受け取る毎に行われる。
【0071】
ステップS401において、コミュニケーションデータログ受取部37は、コミュニケーションデータログから1つのコミュニケーションデータを選択する。コミュニケーションデータログ受取部37は、例えばデータIDの順にコミュニケーションデータを選択する。そして、コミュニケーションデータログ受取部37は、選択したコミュニケーションデータをコミュニケーションデータ受取部31に入力する。
【0072】
コミュニケーションデータ受取部31がコミュニケーションデータを受け取った後のステップS402-403の処理は、
図6のステップS101-S102の処理と同様に行われる。したがって、説明は省略される。
【0073】
ステップS404において、スレッド判別部32は、コミュニケーションデータログ受取部37が受け取ったコミュニケーションデータログに含まれるすべてのコミュニケーションデータについてのスレッドへの記憶の処理が完了したか否かを判定する。ステップS404において、すべてのコミュニケーションデータについての処理が完了していないと判定されたときには、処理はステップS401に戻る。この場合、コミュニケーションデータログ受取部37は、別のコミュニケーションデータを選択する。ステップS404において、すべてのコミュニケーションデータについての処理が完了したと判定されたときには、処理はステップS405に移行する。
【0074】
図11のステップS405-407の処理は、
図9のステップS303-S305の処理と同様に行われる。したがって、説明は省略される。
【0075】
以上説明したように第2の実施形態の変形例では、コミュニケーションデータログ処理装置3がコミュニケーションデータログを入力として受け取ることができ、複数のコミュニケーションデータをまとめて構造化し得る。これにより、分析もまとめて行われ得る。例えば、1日の分析がまとめて行われることで、1日のユーザ毎のタスクの量及びタスクの分散度合い等が分析される。このような分析結果が翌日の人の配置及びタスクの割り振りに活用され得る。
【0076】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述したデータログ処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD-ROM、CD-R、CD-RW、DVD-ROM、DVD±R、DVD±RW、Blu-ray(登録商標)Disc等)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータ又は組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態のデータログ処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータ或いは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶又は一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0077】
なお、本実施形態におけるコンピュータ又は組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【0078】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0079】
11-1m 入力デバイス、2 コミュニケーションデータログ記憶装置、3 コミュニケーションデータログ処理装置、31 コミュニケーションデータ受取部、32 スレッド判別部、33 スレッド記憶部、34 スレッド分析部、35 分析結果記憶部、36 出力制御部、37 コミュニケーションデータログ受取部、101 プロセッサ、102 メモリ、103 入力装置、104 出力装置、105 通信装置、106 ストレージ、107 バス、1061 コミュニケーションデータログ処理プログラム、1062 関連度評価モデル、1063 コミュニケーションデータ、1064 スレッドリスト。