説明

コミュニケーション・エラーを検出するシステムおよび方法

【課題】チャット・システムや電話等の機器を用いた実際のコミュニケーションの場面から、具体的なコミュニケーション・エラーの事例を自動的に抽出する。
【解決手段】処理対象の会話データを取得するデータ取得部110と、このデータ取得部110により取得された会話データを形態素解析し、解析結果に基づき会話における情報伝達の度合いを表す特徴量を求め、求めた特徴量に基づきコミュニケーション・エラーが生じているか否かを判定するコミュニケーション・エラー検出部120と、このコミュニケーション・エラー検出部120によりコミュニケーション・エラーが生じていると判定された場合に、このコミュニケーション・エラーの内容を示すエラー・データを作成し、コミュニケーション・エラー・データベース210、プロファイル・データベース220、メタ・データ・データベース230に格納するエラー・データ作成部130と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、チャット・システムや電話等の会話データを解析し、コミュニケーション・エラーを検出するシステムおよび方法等に関する。
【背景技術】
【0002】
今日、インターネット・リレー・チャット(Internet Relay Chat:IRC)等によるチャット・システムや電話等、通信機器を用いたコミュニケーション手段(システム)が広く普及している。この種のシステムでは、いわゆるコミュニケーション・エラーを低減するための支援手段が設けられているものがある(例えば、特許文献1参照)。
【0003】
特許文献1に記載された従来技術は、多義性を持つ語などの特定の語がコミュニケーション・エラーの原因となると仮定し、そのような語を収集し、システムに蓄積している。そして、会話中の発言内にシステムに蓄積されている語が含まれているか否かを判定し、含まれていると判断した場合は利用者に提示(警告)する。
【0004】
【特許文献1】特開2007−42010号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
コミュニケーション・エラーを低減するための技術においては、実際に行われているチャットや会話等のコミュニケーションの中から、コミュニケーション・エラーが生じている可能性のある部分を抽出することが必要である。しかし、上記の従来技術では、処理に必要なリソースとして、コミュニケーション・エラーの原因となり得る語を事前に収集する必要があり、実用的なシステムの構築に多大な手間を要していた。
【0006】
また、コミュニケーション・エラーを引き起こす原因となる語は、必ずしも多義性を持つ語などの特定の語に限定されない。そして、コミュニケーション・エラーの発生は、話者ごとの環境などにも依存する。したがって、コミュニケーション・エラーを引き起こす原因となる語を特定する等のような、予め決められたルールに基づいて、個別の話者に対応する精度の高い支援システムを構築するのは困難であった。
【0007】
本発明は、このような課題に鑑みて成されたものであり、チャット・システムや電話等の機器を用いた実際のコミュニケーションの場面から、具体的なコミュニケーション・エラーの事例を自動的に抽出することを目的とする。
【課題を解決するための手段】
【0008】
上記の目的を達成するため、本発明は、次のようなシステムとして実現される。このシステムは、会話データにおけるコミュニケーション・エラーを検出するシステムであって、処理対象の会話データを取得する取得部と、この取得部により取得された会話データを形態素解析し、解析結果に基づき会話における情報伝達の度合いを表す特徴量を求め、求めた特徴量に基づきコミュニケーション・エラーが生じているか否かを判定する判定部と、この判定部によりコミュニケーション・エラーが生じていると判定された場合に、このコミュニケーション・エラーの内容を示すエラー・データを作成し、データベースに格納するエラー・データ作成部と、を備える。
【0009】
より詳細には、このシステムにおいて、判定部は、
・単独で伝達されるべき情報を持つ語である内容語の数
・複数の発言の間で重複している内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数
のうち、少なくとも1つを特徴量として求める。そして、
会話データにおける特定の話者の最終発言に含まれる内容語の数が、それまでのその話者の発言における内容語の数の平均に対して一定以上少ない場合、
会話データにおける特定の話者の最終発言に含まれる内容語のうち、その特定の話者の直前の発言に含まれる内容語と重複する語の割合が一定以上ある場合、
会話データにおける特定の話者の最終発言に含まれる内容語の数、および、会話データにおける他の話者の最終発言に含まれる内容語の数が、それまでの特定の話者の発言における内容語の数の平均に対して一定以上少ない場合、
会話データにおける特定の話者の最終発言に含まれる内容語に対する特定の語の割合が一定以上ある場合、
のいずれか1つ、または複数の条件が成り立つ場合に、コミュニケーション・エラーが生じていると判定する。
【0010】
さらに詳細には、判定部は、形態素解析により得られる品詞の情報に基づき、助詞以外の語、あるいは形容詞、副詞、接続詞、名詞、動詞または疑問詞のいずれかに該当する語を内容語として、その数を求める。
【0011】
また、本発明は、次のような方法としても実現される。この方法は、コンピュータが会話データにおけるコミュニケーション・エラーを検出する方法であって、処理対象の会話データの文を形態素解析するステップと、形態素解析の結果に基づき会話における情報伝達の度合いを表す特徴量として、
・単独で伝達されるべき情報を持つ語である内容語の数
・複数の発言の間で重複している内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数
のうち、少なくとも1つを求めるステップと、特徴量に基づきコミュニケーション・エラーが生じているか否かを判定するステップと、コミュニケーション・エラーが生じていると判定された場合に、そのコミュニケーション・エラーの内容を示すエラー・データを作成し、データベースに格納するステップと、を含む。
【0012】
さらに本発明は、コンピュータを制御して上記のシステムにおける各機能を実現させるプログラム、または上記の方法における各ステップに対応する処理をコンピュータに実行させるプログラムとしても実現される。このプログラムは、例えば光ディスクや磁気ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供することができる。
【発明の効果】
【0013】
以上のように構成された本発明によれば、チャット・システムや電話等の機器を用いた実際のコミュニケーションの場面から、具体的なコミュニケーション・エラーの事例を自動的に抽出することが可能となる。
【発明を実施するための最良の形態】
【0014】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
<システム構成>
図1は、本実施形態によるコミュニケーション・エラー抽出システムの構成例を示す図である。
図1を参照すると、本実施形態のシステムは、チャットや電話での会話データからコミュニケーション・エラーが生じている箇所を抽出するデータ処理装置100と、データ処理装置100により抽出されたコミュニケーション・エラーに関する情報を蓄積するデータ格納部200とを備える。データ処理装置100は、データ取得部110と、コミュニケーション・エラー検出部120と、エラー・データ作成部130とを備える。また、データ格納部200は、コミュニケーション・エラー・データベース(DB)210と、プロファイル・データベース(DB)220と、メタ・データ・データベース(DB)230とを格納している。
【0015】
図2は、図1のコミュニケーション・エラー抽出システムを実現するコンピュータのハードウェア構成例を示す図である。
図2に示すコンピュータ10は、演算手段であるCPU(Central Processing Unit)10aと、記憶手段であるメイン・メモリ10cおよび磁気ディスク装置(HDD:Hard Disk Drive)10gを備える。また、ネットワークを介して外部装置に接続するためのネットワーク・インタフェース・カード10fと、表示出力を行うためのビデオ・カード10dおよび表示装置10jと、音声出力を行うための音声機構10hとを備える。さらに、キーボードやマウス等の入力デバイス10iを備える。
【0016】
図2に示すように、メイン・メモリ10cおよびビデオ・カード10dは、システム・コントローラ10bを介してCPU10aに接続されている。また、ネットワーク・インタフェース・カード10f、磁気ディスク装置10g、音声機構10hおよび入力デバイス10iは、I/Oコントローラ10eを介してシステム・コントローラ10bと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。例えば、CPU10aとメイン・メモリ10cの間は、システム・バスやメモリ・バスにより接続される。また、CPU10aと磁気ディスク装置10g、ネットワーク・インタフェース・カード10f、ビデオ・カード10d、音声機構10h、入力デバイス10i等との間は、PCI(Peripheral Components Interconnect)、PCI Express、シリアルATA(AT Attachment)、USB(Universal Serial Bus)、AGP(Accelerated Graphics Port)等の入出力バスにより接続される。
【0017】
なお、図2は、本実施形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎず、実際の各サーバが図示の構成に限定されないことは言うまでもない。例えば、ビデオ・カード10dを設ける代わりに、ビデオメモリのみを搭載し、CPU10aにてイメージ・データを処理する構成としても良い。また、音声機構10hを独立した構成とせず、システム・コントローラ10bやI/Oコントローラ10eを構成するチップセットの機能として備えるようにしても良い。また、補助記憶装置として磁気ディスク装置10gの他に、各種の光学ディスクやフレキシブル・ディスクをメディアとするドライブを設けても良い。表示装置10jとしては、主として液晶ディスプレイが用いられるが、その他、CRTディスプレイやプラズマ・ディスプレイ等、任意の方式のディスプレイを用いて良い。
【0018】
図1に示したシステムにおいて、データ処理装置100のコミュニケーション・エラー検出部120およびエラー・データ作成部130は、例えば図2に示したコンピュータ10において、メイン・メモリ10cに読み込まれたプログラムをCPU10aが実行することにより実現される。データ取得部110は、例えば図2に示したコンピュータ10において、ネットワーク・インタフェース・カード10fおよびプログラム制御されたCPU10aにより実現される。また、データ格納部200は、例えば図2に示したコンピュータ10において、メイン・メモリ10cや磁気ディスク装置10g等の記憶手段により実現される。
【0019】
データ取得部110は、チャットや電話による会話データを外部から取得する。具体的には、例えばチャットの会話データの場合、チャットのセッションを管理するチャット・システムのサーバやセッションに参加している端末から取得する。また、電話の会話の場合、会話音声を音声認識システムによりテキスト化された会話データを取得する。これらのチャット・システムや音声認識システムは、既存のシステムを用いることができる。また、データ取得部110は、取得した会話データを、後述するウィンドウ幅ごとにコミュニケーション・エラー検出部120に渡す。
【0020】
コミュニケーション・エラー検出部120は、データ取得部110から取得したウィンドウ幅ごとの会話データから、聞き返しや話者が混乱している等のコミュニケーション・エラーが生じている部分を検出する。一般に、会話等のコミュニケーションは、次のような特徴を持つ。

・会話、チャットは少なくとも一方向の情報伝達がある。
・(一人または複数の)話者はある目的を達成するために、情報を随時提供していく。
【0021】
この特徴を利用して、

・常に情報が発信されているか
・情報が十分に提供されているか
・新しい情報が随時提供されているか
・コミュニケーション・エラーを明示的に示す特定の語があるか

等の観点から評価が行われ、その評価結果に基づいて、コミュニケーション・エラーが生じているか否かを判定する。すなわち、コミュニケーション・エラー検出部120は、会話データにおいてコミュニケーション・エラーが生じているか否かを判定する判定部として機能する。
【0022】
具体的には、会話データを適当な枠組みで区切り、その枠(以下、ウィンドウ)内での会話のやり取りにおいて、

・内容語の数(同一の語を除く)
・複数の発言の間で重複している内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数

を求める。そして、得られた内容語や特定の語の数に応じて、コミュニケーション・エラーが発生したか否かが判定される。ここで、内容語とは、その語単独で内容(伝達されるべき情報)を持つ語であり、助詞等を除いた語である。また、コミュニケーション・エラーを明示的に示す特定の語とは、例えばチャットのセッション等で「???」という語句(文字列)が入力されている場合等におけるその文字列であり、予めどのような語句(文字列)が該当するかを決めておく。コミュニケーション・エラー検出部120による検出処理のさらに詳細な内容については、後述する。
【0023】
エラー・データ作成部130は、コミュニケーション・エラー検出部120により検出された、コミュニケーション・エラーの生じている箇所(以下、エラー箇所)の情報に基づいてエラー・データを作成し、データ格納部200のデータベース210〜230に格納する。エラー・データとしては、エラーの内容を記録したデータ、話者の情報を記録したデータ、エラーに対する付加情報を記録したデータが作成される。
【0024】
コミュニケーション・エラーDB210は、エラー・データ作成部130により作成された、エラーの内容を記録したデータを格納する。
図3は、コミュニケーション・エラーDB210の構成例を示す図である。
図3に示す例では、各エラー箇所に付与されたエラーIDと、そのエラー箇所における話者を識別するための話者IDと、発言内容(テキスト)と、その発言に含まれる内容語とが、関連付けられて格納されている。
【0025】
プロファイルDB220は、エラー・データ作成部130により作成された、話者の情報を記録したデータを格納する。
図4は、プロファイルDB220の構成例を示す図である。
図4に示す例では、会話のセッションにおける話者を識別するための話者IDと、その話者に関する情報(以下、話者情報)として社員情報とが関連付けられて格納されている。話者ID自体は個々の会話のセッションにおける話者を識別するに過ぎないが、話者IDと話者情報とを関連付けておくことにより、話者から当該話者に関連するエラー・データを特定することができることとなる。話者情報としては、本実施形態が適用されるシステム(チャット・システムや電話での会話をテキスト化して処理するシステム)の用途等に応じて、有用な情報を任意に用いて良い。例えば、社内チャット・システムであれば、図4に示すように社員情報を話者情報として用いることができる。また、コール・センターであれば、顧客IDなどの顧客情報を話者情報として用いることができる。これらの話者情報は、例えば本実施形態が適用されるシステムのデータベース等から取得することができる。
【0026】
メタ・データDB230は、エラー・データ作成部130により作成された、エラーに対する付加情報を記録したデータを格納する。
図5は、メタ・データDB230の構成例を示す図である。
図5に示す例では、各エラー箇所に付与されたエラーIDと、メタ・データとが関連付けられて格納されている。メタ・データとしては、コミュニケーション・エラーの発生理由や注意事項などの情報を記録することができる。なお、エラーに対してメタ・データを付加するか否かは、任意である。メタ・データの入力については、話者が会話後に、コミュニケーション・エラーとして判定された部分を参照して記入しても良い。また、コール・センターなどでは、エージェントの教育を担当する管理者がガイドを記入することも考えられる。
【0027】
<コミュニケーション・エラーの検出処理>
次に、コミュニケーション・エラー検出部120による検出処理について、具体例を挙げて詳細に説明する。
事前の設定として、会話データのうちコミュニケーション・エラーの検出対象を特定するための枠組みであるウィンドウの幅(w)と、コミュニケーション・エラーか否かを判定するための閾値(th)を定め、登録する。ここで、ウィンドウの幅(w)は、会話データ全体の中のコミュニケーション・エラーの検出対象となる範囲を示す。例えば、話者Aの発言、話者Bの発言、話者Aの発言、という3つの発言ターンを対象としてコミュニケーション・エラーの検出を行うならば、w=3となる。
【0028】
図6は、コミュニケーション・エラー検出部120およびエラー・データ作成部130の処理の手順を示すフローチャートである。
図6を参照すると、コミュニケーション・エラー検出部120は、チャットや電話による会話(コミュニケーション)が進むにつれて、ウィンドウ幅(w)分の会話データDi(D1、D2、D3、・・・)をデータ取得部110から取得する(ステップ601)。
以下の動作例では、ウィンドウの幅(w)をw=3とし、話者をA、Bの2名とする。また、会話データDiにおける話者Aの発言数をna、話者Bの発言数をnbとする。そして、会話データDiにおける話者Aの各発言をターンごとにA1、A2、・・・、Ana、話者Bの各発言をターンごとにB1、B2、・・・、Bnbとする。
【0029】
具体例を挙げると、ある時点で取得したw=3の会話データDiを、

A:Agree?
B:No.
A:???why?

とする。この会話データDiは、チャットにおいてやり取りされた会話の一部とする。話者Aの発言における「???」は、チャットにおいて、話者が相手の発言の意味を理解しかねているときに、慣習的に入力される文字列であるものとする。このとき、会話データDiにおいて、話者A、Bの発言は、A1、B1、A2の順で行われており、話者Aの発言数na=2、話者Bの発言数nb=1である。
【0030】
次に、コミュニケーション・エラー検出部120は、データ取得部110から取得した会話データDiに対して形態素解析処理を行う(ステップ602)。この解析により、会話データDiの分から切り出された単語の品詞情報が抽出される。形態素解析処理には、既存の任意の技術を用いて良い。
【0031】
次に、コミュニケーション・エラー検出部120は、各話者の発言に関して、コミュニケーション・エラーの判定に用いられる特徴量を求める(ステップ603)。ここで、特徴量は、例えば次の3つの量とすることができる。

・cnt(Ai):発言Ai(i:1≦i≦na)に含まれる内容語の数(同一の語を除く)
・dp(Ai,Aj):発言Aiと発言Aj(j:1≦j≦na、j≠i)にそれぞれ含まれる内容語のうち、重複する語の数
・cnf(Ai):発言Aiに含まれる語のうち、コミュニケーション・エラーを明示的に示す語句(文字列)や表現として事前に登録されている語の数
【0032】
内容語の抽出は、ステップ602で得られた品詞情報に基づいて行われる。内容語として選択される品詞は、その語単独で内容(伝達されるべき情報)を持たない助詞等を除いたものであり、例えば、形容詞、副詞、接続詞、名詞、動詞、疑問詞とすることができる。また、特徴量cnf(Ai)を求めるために事前に登録されている語(以下、登録語)には、システムごとに個別に登録した語句(文字列)の他、感嘆詞などの特定の種類の語を含んでも良い。
【0033】
次に、コミュニケーション・エラー検出部120は、ステップ603で求めた特徴量を用いた判定基準を適用して、コミュニケーション・エラーが生じているか否かを判定する(ステップ604、605)。判定基準としては、例えば次に示すような指標を用いた基準を適用することができる。なお、以下の例では話者Aの発言に関してのみ記載しているが、話者Bの発言に関しても同様に計算する。
【0034】
・指標1
lessinfo(Ana)={average(A)−cnt(Ana)}/average(A)
ただし、
average(A)={cnt(A1)+・・・+cnt(A(na−1)}/(na−1)

すなわち、average(A)はna−1番目の発言までの話者Aの発言における内容語の量の平均を表す。したがって、lessinfo(Ana)は、会話データDiにおける話者Aの最終発言Anaにおける内容語の量が、それまでの話者Aの発言における内容語の量の平均と比べてどのように変化したかを示す指標である。内容語の量が最終発言Anaにおいて突然少なくなれば、lessinfo(Ana)の値が大きくなる。このことは、lessinfo(Ana)の値が大きくなると、話者Aから提供される情報量が急激に減少したことを意味する。したがって、コミュニケーション・エラーが生じているか否かを判断する基準とすることができる。
【0035】
・指標2
not_new(Ana,A(na−1))=dp(Ana,A(na−1))/cnt(Ana)

not_new(Ana,A(na−1))は、会話Diにおける話者Aの最終発言Anaにおいて、内容語のうち話者Aの一つ前の発言A(na−1)における内容語と重複する語の割合を示した指標である。同じ発言を繰り返した場合等に、not_new(Ana,A(na−1))の値が大きくなる。このことは、not_new(Ana,A(na−1))の値が大きくなると、話者Aから提供される新たな情報が減少したことを意味する。したがって、コミュニケーション・エラーが生じているか否かを判断する基準とすることができる。
【0036】
・指標3
no_update(Ana,Bnb)=min(lessinfo(Ana),(average(A)−cnt(Bnb))/average(A))

no_update(Ana,Bnb)は、上述したlessinfo(Ana)、または、話者Aの発言における内容語の量の平均に対する話者Bの最終発言Bnbにおける内容語の相対的な量のうち、小さい方を示す指標である。話者Aの最終発言Anaにおける内容語の量がそれまでの発言と比べて少なく、かつ話者Bの最終発言Bnbにおける内容語の量もそれまでの話者Aの発言に比べて少ない場合に、no_update(Ana,Bnb)の値が大きくなる。このことは、no_update(Ana,Bnb)の値が大きくなると、話者Aから提供される情報量が急激に減少し、かつ話者Bから提供される情報量も少ないため、話者間の情報の伝達が滞っていることを意味する。したがって、コミュニケーション・エラーが生じているか否かを判断する基準とすることができる。
【0037】
・指標4
confusing(Ana)=cnf(Ana)/cnt(Ana)

confusing(Ana)は、話者Aの最終発言Anaにおいて、コミュニケーション・エラーを明示的に示す登録語の量と内容語の量との比を示す指標である。発言のほとんどが登録語である場合等に、confusing(Ana)の値が大きくなる。このことは、confusing(Ana)の値が大きくなると、話者間の情報の伝達が滞っていることを意味する。したがって、コミュニケーション・エラーが生じているか否かを判断する基準とすることができる。
【0038】
コミュニケーション・エラー検出部120は、以上の4つの指標を用い、予め定めた基準に従って、コミュニケーション・エラーが生じているか否かを判定する。具体的には、上記の指標のうち、いずれか1つまたは複数の指標において、評価値が事前に設定された閾値(th)を越えた場合に、コミュニケーション・エラーが生じていると判定する。実際のシステムにおいては、例えば、eval(lessinfo,not_new,no_update,confusing)という関数を用意する。この関数は、上記の指標の評価値を引数とし、

・引数のいずれか1つでも事前設定の閾値thを越えた場合にyesを返す
・引数のうち2つ以上の値が事前設定の閾値thを越えた場合にyesを返す

といった規則に基づいて、コミュニケーション・エラーか否か(yes/no)を返す。
【0039】
以上の判定処理の結果、コミュニケーション・エラーが生じていると判定された場合(ステップ605でYes)、現在の会話データDiをエラー・データ作成部130に渡し、エラー・データの作成処理に移行する。そして、コミュニケーション・エラー検出部120は、次の会話データDiを取得してステップ601以降の処理を繰り返す。一方、コミュニケーション・エラーが生じていないと判定された場合(ステップ605でNo)、コミュニケーション・エラー検出部120は、現在の会話データDiに対する処理を終了し、次の会話データDiを取得してステップ601以降の処理を繰り返す。
【0040】
なお、コミュニケーション・エラー検出部120がデータ取得部110から取得する会話データDiは、話者の1発言ごとにずらしながら順次取得しても良いし、ウィンドウ幅(w)ごとにずらしながら順次取得しても良い。具体的には、例えばデータ取得部110が取得する元の会話データが、話者A、BによるA1、B1、A2、B2、A3、B3という発言で構成されている場合を考える。このとき、ウィンドウ幅w=3とすると、会話データD1をA1、B1、A2、会話データD2をB1、A2、B2、会話データD3をA2、B2、A3、というように1発言ずつずらしても良い。また、会話データD1をA1、B1、A2、会話データD2をB2、A3、B3、というようにウィンドウ幅(w)の単位でずらしても良い。
【0041】
エラー・データ作成部130は、コミュニケーション・エラー検出部120から取得した会話データDiのエラー・データを作成し、データ格納部200の各データベース210〜230に格納する(ステップ606)。コミュニケーション・エラーDB210には、会話データDiの各発言のテキストと、内容語についての情報が格納される。具体的には、次の会話データDiの場合、図3に示した構成のデータがコミュニケーション・エラーDB210に格納される。

A:Agree?
B:No.
A:Oh???why?

なお、図3においては、上記の会話データDiから抽出されたコミュニケーション・エラーに対してエラーID「CE001」が付与され、話者Aに話者ID「CP001」、話者Bに話者ID「CP002」が付与されている。
【0042】
また、プロファイルDB220には、話者ID「CP001」の話者(話者A)と、話者ID「CP002」の話者(話者B)の話者情報が格納される。図4に示した例では、話者ID「CP001」に対して「社員情報001」という話者情報が格納され、話者ID「CP002」に対して「社員情報002」という話者情報が格納されている。これらの話者情報は、外部データベース(例えば、社内チャットの場合、社員情報管理用のデータベース等)から取得される。
【0043】
話者IDは、その話者IDが付与された特定のコミュニケーション・エラーを含む会話データDiにおける話者を識別する情報に過ぎない。例えば、図3、4における話者ID「CP001」、「CP002」は、エラーID「CE001」のコミュニケーション・エラーを含む会話データDiにおける話者Aと話者Bとを識別する。しかし、この話者IDを話者情報に関連付けておくことにより、他の会話データDiにおける同一話者のコミュニケーション・エラーを検索することが可能となる。例えば、社員情報001をキーとすることで、話者ID「CP001」を話者に含むエラーID「CE001」の会話データDiと共に、同じく社員情報001に対応する話者IDを話者に含む会話データが検出される。このため、例えば特定の話者についてのコミュニケーション・エラーの情報を集め、話者ごとの癖や傾向を調べることが可能となる。
【0044】
また、メタ・データDB230には、コミュニケーション・エラーの内容に基づき、注意事項等の種々の付加情報が、必要に応じて格納される。図5に示したメタ・データDB230の例では、エラーID「CE001」に関する付加情報は格納されていない。
【0045】
<コミュニケーション・エラー検出の具体例>
次に、具体的な会話データDiを処理対象として、本実施形態によるコミュニケーション・エラー検出の具体例を説明する。
図7に処理対象である会話データDiの例文を示す。
図7に示す例文は、いずれも英文であり、レンタカー会社の予約センターでの電話会話を書き起こしたものである。また、各例文にはCustomerとAgentにより交互になされた4つの発言が記載されているが、このうち、後の3つの発言をウィンドウ幅w=3の会話データDiとして切り出し、処理対象とする。すなわち、例文1の会話データDiにおいては、Agentの発言数n(Agent)=2、Customerの発言数n(Customer)=1である。また、閾値(th)をth=0.6とする。
【0046】
例文1では、Agentによる発言について、本実施形態によるコミュニケーション・エラー検出を適用する。
まず、Agentの最初の発言「ok. so picking up the car from new Orleans on which date.」から内容語を抽出すると、「ok」、「picking up」、「car」、「new Orleans」、「which」、「date」の6語が抽出される。次に、Agentの2番目の発言「on which date.」から内容語を抽出すると、「which」、「date」の2語が抽出される。
【0047】
Agentの発言数n(Agent)=2であるので、average(Agent)の値は、Agentの最初の発言における内容語の数に等しい。すなわち、average(Agent)=6である。次に、lessinfo(Agent)を計算すると、

lessinfo(Agent)=(6−2)/6=0.6666

となる。閾値th=0.6であるから、lessinfo(Agent)>thとなり、コミュニケーション・エラー検出部120は、会話データDiに関してコミュニケーション・エラーが生じていると判定する。
【0048】
例文2の会話データDiは、Agentの発言数n(Agent)=1、Customerの発言数n(Customer)=2である。この例文2において、Customerによる発言について、本実施形態によるコミュニケーション・エラー検出を適用する。
例文2では、Customerの最初の発言「Shinyokohama」と、2番目の発言「Shinyokohama」とが同一語句のみを含んでいる。したがって、not_new(Agent)を計算すると、

not_new(Agent)=1/1=1.0

となる。閾値th=0.6であるから、not_new(Agent)>thとなり、コミュニケーション・エラー検出部120は、会話データDiに関してコミュニケーション・エラーが生じていると判定する。
【0049】
この他、コミュニケーション・エラーの検出処理の説明等で提示した例文、

A:Agree?
B:No.
A:Oh???why?

の場合、話者Aの最終発言に、コミュニケーション・エラーを明示的に示す語として事前に登録されている感嘆詞「Oh」および文字列「???」が含まれている。したがって、confusing(A)を計算すると、内容語が「Oh」、「???」、「why」の3語であり、そのうちコミュニケーション・エラーを明示的に示す登録語が「Oh」、「???」の2語であるから、

confusing(A)=2/3=0.6666

となる。閾値th=0.6であるから、confusing(A)>thとなり、コミュニケーション・エラー検出部120は、会話データDiに関してコミュニケーション・エラーが生じていると判定する。
【0050】
<適用例>
次に、本実施形態が適用されるテキスト処理システムについて説明する。
図8は、テキスト処理システムの構成例を示す図である。
図8に示すシステムは、データ処理装置100と、データ格納部200と、ランタイム実行部300と、エラー・データ抽出部400と、情報通知部500とを備える。これらの構成のうち、データ処理装置100およびデータ格納部200は、図1に示した本実施形態のコミュニケーション・エラー抽出システムと同様である。また、エラー・データ抽出部400および情報通知部500は、データ処理装置100およびデータ格納部200と同一のコンピュータ上に構成されても良い。
【0051】
ランタイム実行部300は、会話セッションを実行し管理する。具体的には、例えば、チャット・システムにおいて、チャット・サーバにより提供されるチャットのセッションの管理機能や、電話での会話をテキスト化して処理するシステムにより提供される管理機能により実現される。システムの実施態様によっては、データ処理装置100およびデータ格納部200と同一のコンピュータ上に構成されても良い。このランタイム実行部300は、会話セッションの開始時に、会話セッションに参加する話者の情報や会話セッションで用いられる言語の情報等、会話セッションの属性を表す情報をエラー・データ抽出部400に渡す。
【0052】
エラー・データ抽出部400は、ランタイム実行部300により実行される会話セッションごとに、その会話セッションの属性に応じたエラー・データをデータ格納部200から取得し、保持する。具体的には、ランタイム実行300から取得した会話セッションに参加する話者のプロファイルに基づいて、会話セッションに参加する話者情報に対応する話者情報をプロファイルDBにおいて検索する。そして、検索された話者情報に関連付けられている話者IDを用いて、その話者が過去に遭遇したコミュニケーション・エラーのエラー・データをデータ格納部200のコミュニケーション・エラーDB210から抽出し、保持する。また、抽出されたコミュニケーション・エラーにメタ・データが付加されている場合、そのメタ・データをメタ・データDB230から取得し、保持する。
【0053】
なお、プロファイルDBを検索する場合、会話セッションに参加する話者と同一の話者のみを検索することも可能であるし、話者情報を利用して、国籍や使用言語が同じ話者を検索することも可能である。どの範囲で話者を検索するかは、テキスト処理システムの利用目的や利用態様などに応じて任意に定めれば良い。
【0054】
情報通知部500は、ランタイム実行部300により実行される会話セッションにおいて、コミュニケーション・エラーが発生しやすい場面で、コミュニケーション・エラーに関する情報(警告等)を出力する。具体的には、会話セッションにおけるウィンドウ幅(w)の範囲のテキストと、エラー・データ抽出部400により保持されているコミュニケーション・エラーのテキストとを比較し、これらが類似している場合に、そのコミュニケーション・エラーに付加されているメタ・データの内容を記載したメッセージを、話者に通知する。話者への通知は、例えば、話者が使用している端末装置の表示画面にポップアップ・ウィンドウを開いて表示したり、音声出力したりすることによって実現される。
【0055】
また、図8に示すシステムでは、ランタイム実行部300による会話セッションの実行に伴い、データ処理装置100のデータ取得部110が、その会話セッションでなされた発言のテキストを逐次取得する。そして、図6に示した手順により、コミュニケーション・エラー検出部120およびエラー・データ作成部130による処理が行われ、検出されたコミュニケーション・エラーのエラー・データがデータ格納部200の各データベース210、220、230に随時追加登録されていく。
【0056】
一方、データ処理装置100のコミュニケーション・エラー検出部120により抽出された内容語の情報は、情報通知部500にも送られる。情報通知部500は、取得した内容語の情報を用いて、会話セッションにおける発言のテキストとコミュニケーション・エラーのテキストとを比較し、類似しているか否かを判断する。
【0057】
テキストの類似判定について、具体例を挙げて説明する。
エラー・データ抽出部400により、図9に示すようなコミュニケーション・エラーのエラー・データが保持されており、会話セッションにおいて、次のような会話があったものとする。

A:mind my smoking?
B:Yes.
A:why??

この会話データにおいて、各話者A、Bの発言から抽出される内容語は、次のようになる。

A:{mind,my,smoking,why}
B:{yes}
【0058】
話者Aの話者IDが「CP020」、話者Bの話者IDが「CP021」である場合、上記の会話データと図9に示すエラー・データとが比較され、単語の一致率に基づいて類否判断が行われる。
まず、話者Aの発言について、上記会話データ{mind,my,smoking,why}と、図9のエラー・データ{you,mind,my,smoking,really}との単語の一致率を調べる。これら2つのデータに表れる単語の総数(同一の単語を除く)は、「mind」、「my」、「smoking」、「why」、「you」、「really」の6個であり、そのうち両データに含まれる単語は、「mind」、「my」、「smoking」の3個である。したがって、単語の一致率を、3/6=0.5と算出する。同様に話者Bの発言について会話データとエラー・データの単語の一致率を調べると、1/1=1.0と算出される。
【0059】
次に、各話者A、Bの発言における単語の一致率の平均を求め、ウィンドウ幅(w)の会話データ全体での単語の一致率とする。上記の例では、(0.5+1.0)/2=0.75と算出される。
同様の計算が、エラー・データ抽出部400に保持されている全てのエラー・データに対して行われる。そして、一定の基準を満足するエラー・データを類似するエラー・データと判定する。ここで、判定基準としては、実際の運用に即して任意に定め得るが、例えば、単語の一致率が予め定めた閾値(例えば0.7)以上のエラー・データとしたり、最大の一致率を持つエラー・データとしたりすることができる。類似すると判定されたエラー・データに、メタ・データが付加されていた場合は、上述したように、メタ・データの内容が抽出されて、話者へのメッセージとして通知される。
【0060】
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。例えば、上記実施形態では、会話データの各発言のテキストから3種類の特徴量を求め、4つの指標に基づいてコミュニケーション・エラーが生じているか否かの判定を行ったが、必ずしもこれら全てを組み合わせて用いなくても良い。例えば、4つの指標のうち、いくつかを選択して判定に用いるようにしても構わない。その他、上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【図面の簡単な説明】
【0061】
【図1】本実施形態によるコミュニケーション・エラー抽出システムの構成例を示す図である。
【図2】図1のコミュニケーション・エラー抽出システムを実現するコンピュータのハードウェア構成例を示す図である。
【図3】本実施形態のコミュニケーション・エラーDBの構成例を示す図である。
【図4】本実施形態のプロファイルDBの構成例を示す図である。
【図5】本実施形態のメタ・データDBの構成例を示す図である。
【図6】本実施形態のコミュニケーション・エラー検出部およびエラー・データ作成部の処理の手順を示すフローチャートである。
【図7】本実施形態の処理対象である会話データの例文を示すである。
【図8】本実施形態が適用されるテキスト処理システムの構成例を示す図である。
【図9】エラー・データ抽出部により抽出されたエラー・データの例を示す図である。
【符号の説明】
【0062】
10a…CPU、10c…メイン・メモリ、10g…磁気ディスク装置、100…データ処理装置、110…データ取得部、120…コミュニケーション・エラー検出部、130…エラー・データ作成部、200…データ格納部、210…コミュニケーション・エラー・データベース(DB)、220…プロファイル・データベース(DB)、230…メタ・データ・データベース(DB)

【特許請求の範囲】
【請求項1】
会話データにおけるコミュニケーション・エラーを検出するシステムであって、
処理対象の会話データを取得する取得部と、
前記取得部により取得された前記会話データを形態素解析し、解析結果に基づき会話における情報伝達の度合いを表す特徴量を求め、求めた特徴量に基づきコミュニケーション・エラーが生じているか否かを判定する判定部と、
前記判定部によりコミュニケーション・エラーが生じていると判定された場合に、当該コミュニケーション・エラーの内容を示すエラー・データを作成し、データベースに格納するエラー・データ作成部と、
を備える、システム。
【請求項2】
前記判定部は、
・単独で伝達されるべき情報を持つ語である内容語の数
・複数の発言の間で重複している前記内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数
のうち、少なくとも1つを前記特徴量として求める、請求項1に記載のシステム。
【請求項3】
前記判定部は、前記形態素解析により得られる品詞の情報に基づき、助詞以外の語を前記内容語として、その数を求める、請求項2に記載のシステム。
【請求項4】
前記判定部は、前記形態素解析により得られる品詞の情報に基づき、形容詞、副詞、接続詞、名詞、動詞または疑問詞のいずれかに該当する語を前記内容語として、その数を求める、請求項2に記載のシステム。
【請求項5】
前記判定部は、
少なくとも、単独で伝達されるべき情報を持つ語である内容語の数を前記特徴量として求め、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数が、それまでの当該話者の発言における前記内容語の数の平均に対して一定以上少ない場合に、コミュニケーション・エラーが生じていると判定する、請求項1に記載のシステム。
【請求項6】
前記判定部は、
少なくとも、単独で伝達されるべき情報を持つ語である内容語のうち複数の発言の間で重複しているものの数を前記特徴量として求め、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語のうち、当該話者の直前の発言に含まれる前記内容語と重複する語の割合が一定以上ある場合に、コミュニケーション・エラーが生じていると判定する、請求項1に記載のシステム。
【請求項7】
前記判定部は、
少なくとも、単独で伝達されるべき情報を持つ語である内容語の数を前記特徴量として求め、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数、および、当該会話データにおける他の話者の最終発言に含まれる前記内容語の数が、それまでの当該特定の話者の発言における前記内容語の数の平均に対して一定以上少ない場合に、コミュニケーション・エラーが生じていると判定する、請求項1に記載のシステム。
【請求項8】
前記判定部は、
少なくとも、単独で伝達されるべき情報を持つ語である内容語の数、および当該内容語のうちでコミュニケーション・エラーを明示的に示す特定の語の数を前記特徴量として求め、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語に対する前記特定の語の割合が一定以上ある場合に、コミュニケーション・エラーが生じていると判定する、請求項1に記載のシステム。
【請求項9】
前記判定部は、
・単独で伝達されるべき情報を持つ語である内容語の数
・複数の発言の間で重複している前記内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数
のうち、少なくとも1つを前記特徴量として求め、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数が、それまでの当該話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語のうち、当該話者の直前の発言に含まれる前記内容語と重複する語の割合が一定以上ある場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数、および、当該会話データにおける他の話者の最終発言に含まれる前記内容語の数が、それまでの当該特定の話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語に対する前記特定の語の割合が一定以上ある場合、
のいずれか1つ、または複数の条件が成り立つ場合に、コミュニケーション・エラーが生じていると判定する、請求項1に記載のシステム。
【請求項10】
会話データにおけるコミュニケーション・エラーを検出するシステムであって、
処理対象の会話データを取得する取得部と、
前記取得部により取得された前記会話データを形態素解析し、解析結果に基づき会話における情報伝達の度合いを表す特徴量を求め、得られた特徴量に基づきコミュニケーション・エラーが生じているか否かを判定する判定部と、
前記判定部によりコミュニケーション・エラーが生じていると判定された場合に、当該コミュニケーション・エラーの内容を示すエラー・データを作成し、データベースに格納するエラー・データ作成部とを備え、
前記判定部は、
・単独で伝達されるべき情報を持つ語である内容語の数
・複数の発言の間で重複している前記内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数
を前記特徴量として求め、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数が、それまでの当該話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語のうち、当該話者の直前の発言に含まれる前記内容語と重複する語の割合が一定以上ある場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数、および、当該会話データにおける他の話者の最終発言に含まれる前記内容語の数が、それまでの当該特定の話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語に対する前記特定の語の割合が一定以上ある場合、
のいずれか1つ、または複数の条件が成り立つ場合に、コミュニケーション・エラーが生じていると判定する、システム。
【請求項11】
コンピュータが会話データにおけるコミュニケーション・エラーを検出する方法であって、
処理対象の会話データの文を形態素解析するステップと、
前記形態素解析の結果に基づき会話における情報伝達の度合いを表す特徴量として、
・単独で伝達されるべき情報を持つ語である内容語の数
・複数の発言の間で重複している前記内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数
のうち、少なくとも1つを求めるステップと、
前記特徴量に基づきコミュニケーション・エラーが生じているか否かを判定するステップと、
コミュニケーション・エラーが生じていると判定された場合に、当該コミュニケーション・エラーの内容を示すエラー・データを作成し、データベースに格納するステップと、
を含む、方法。
【請求項12】
前記コミュニケーション・エラーが生じているか否かを判定するステップでは、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数が、それまでの当該話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語のうち、当該話者の直前の発言に含まれる前記内容語と重複する語の割合が一定以上ある場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数、および、当該会話データにおける他の話者の最終発言に含まれる前記内容語の数が、それまでの当該特定の話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語に対する前記特定の語の割合が一定以上ある場合、
のいずれか1つ、または複数の条件が成り立つ場合に、コミュニケーション・エラーが生じていると判定する、請求項11に記載の方法。
【請求項13】
コンピュータに、
処理対象の会話データの文を形態素解析する処理と、
前記形態素解析の結果に基づき会話における情報伝達の度合いを表す特徴量として、
・単独で伝達されるべき情報を持つ語である内容語の数
・複数の発言の間で重複している前記内容語の数
・コミュニケーション・エラーを明示的に示す特定の語の数
のうち、少なくとも1つを求める処理と、
前記特徴量に基づきコミュニケーション・エラーが生じているか否かを判定する処理と、
コミュニケーション・エラーが生じていると判定された場合に、当該コミュニケーション・エラーの内容を示すエラー・データを作成し、データベースに格納する処理と、
を実行させる、プログラム。
【請求項14】
前記コミュニケーション・エラーが生じているか否かを判定する処理では、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数が、それまでの当該話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語のうち、当該話者の直前の発言に含まれる前記内容語と重複する語の割合が一定以上ある場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語の数、および、当該会話データにおける他の話者の最終発言に含まれる前記内容語の数が、それまでの当該特定の話者の発言における前記内容語の数の平均に対して一定以上少ない場合、
前記会話データにおける特定の話者の最終発言に含まれる前記内容語に対する前記特定の語の割合が一定以上ある場合、
のいずれか1つ、または複数の条件が成り立つ場合に、コミュニケーション・エラーが生じていると、前記コンピュータに判定させる、請求項13に記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−61555(P2010−61555A)
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願番号】特願2008−228722(P2008−228722)
【出願日】平成20年9月5日(2008.9.5)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100104880
【弁理士】
【氏名又は名称】古部 次郎
【復代理人】
【識別番号】100118201
【弁理士】
【氏名又は名称】千田 武
【復代理人】
【識別番号】100118108
【弁理士】
【氏名又は名称】久保 洋之