以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態における対話テキスト解析装置の例を示すブロック図である。本実施形態における対話テキスト解析装置は、入力手段10と、出力手段20と、コンピュータ30とを備えている。ここで、コンピュータ30は、中央処理装置、プロセッサ、またはデータ処理装置等により実現される。
入力手段10は、分析対象として、複数の発話の内容を含むテキスト(すなわち、対話テキスト)をコンピュータ30に入力する。また、出力手段20は、コンピュータ30が生成したテキスト処理用データを出力する。
コンピュータ30は、応答ペア特定手段31と、否定判定手段32と、テキスト処理用データ生成手段33とを備えている。
応答ペア特定手段31は、入力された対話テキスト中の各発話から、対話の相手に尋ねる発話と、その発話の後方に存在し、その発話の回答になっている発話のペアである応答ペアの関係にある発話同士を特定する。以下の説明では、対話の相手に尋ねる発話のことを先行発話と記し、その発話に対応する発話のことを後続発話と記す。応答ペア特定手段31は、疑問文を表す発話と発話の直後の発話とを応答ペアとして特定してもよい。また、応答ペア特定手段31は、対話テキストから所定のルールに基づいて決定される隣接ペアを応答ペアとして特定してもよい。
否定判定手段32は、応答ペアの先行発話の事象が後続発話で否定されているか否かを判定する。事象は、発話の構文木や、動詞を中心とした構造(係り受け関係、格構造、構文木の部分木)で表わすことが可能な情報である。否定判定手段32は、例えば、前方の発話の内容を否定する予め定められた発話(以下、否定発話と記す。)と後続発話とが一致する場合に、応答ペアの先行発話の事象が後続発話で否定されていると判定してもよい。他にも、否定判定手段32は、否定発話の特徴と後続発話の特徴とが一致する場合、先行発話の事象が後続発話で否定されていると判定してもよい。ただし、否定判定手段32が判定する方法は、これらの方法に限定されない。
テキスト処理用データ生成手段33は、先行発話の事象が後続発話で否定されている場合、否定された先行発話の事象を対話テキストから除いたデータをテキスト処理用データとして生成する。
なお、本発明において、事実は、実際に生じた事柄を意味するだけでなく、その後の処理において事実性が変化し得る仮の内容や、実際には生じていない内容(すなわち、実際に生じた内容とは異なる内容)をも含む情報を意味する。例えば、事象の事実性に着目した時点で「肯定の事実」と判断された事実も、後の処理で「否定の事実」と判断され得る。
なお、応答ペア特定手段31と、否定判定手段32と、テキスト処理用データ生成手段33とは、プログラム(対話テキスト解析プログラム)に従って動作するコンピュータ30(具体的には、コンピュータ30のCPU)によって実現される。例えば、プログラムは、対話テキスト解析装置の記憶部(図示せず)に記憶される。CPUは、記憶部からプログラムを読み込み、プログラムに従って、応答ペア特定手段31、否定判定手段32およびテキスト処理用データ生成手段33として動作してもよい。また、応答ペア特定手段31と、否定判定手段32と、テキスト処理用データ生成手段33とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、対話テキスト解析装置の動作を説明する。図2は、第1の実施形態の対話テキスト解析装置の動作の例を示すフローチャートである。入力手段10は、分析対象となる対話テキストを入力として受け付ける(ステップA1)。続いて、応答ペア特定手段31は、入力された対話テキストの各発話から、対話の相手に尋ねる発話と、その発話の後方に存在し、その発話の回答になっている発話のペア(応答ペア)を特定する(ステップA2)。
否定判定手段32は、応答ペアにおける先行発話の事象が後続発話で否定されているか否か判定する(ステップA3)。
テキスト処理用データ生成手段33は、後に行われるマイニングなどの分析や検索といったテキスト処理を行う際に用いられるテキスト処理用データを生成する。具体的には、テキスト処理用データ生成手段33は、ステップA3での判定結果(すなわち、応答ペアの後続発話が先行発話の事象を否定しているか否か)を否定判定手段32から受け取る。そして、応答ペアにおける先行発話の事象が後続発話に否定されていると判定されていた場合、テキスト処理用データ生成手段33は、その否定された事象を対話テキストから除外したテキスト処理用データを作成する(ステップA4)。すなわち、テキスト処理用データ生成手段33は、後続発話によって否定される前に存在していた先行発話の事象を、否定された事象として対話テキストから除外しているということができる。最後に、出力手段20は、ステップA4で生成されたテキスト処理用データを出力する(ステップA5)。
以上のように、本実施形態では、否定判定手段32が、対話テキストにおける先行発話の事象がその先行発話より後に存在する後続発話で否定されているか否かを判定する。そして、先行発話の事象が後続発話で否定されている場合、テキスト処理用データ生成手段33が、否定された先行発話の事象を対話テキストから除いたテキスト処理用データを生成する。そのため、マイニングなどの分析や検索といったテキスト処理を精度よく行なうためのテキスト処理用データを対話テキストから生成できる。
すなわち、ステップA4において、テキスト処理用データ生成手段33が、応答ペアにおける先行発話の事象が後続発話で否定されている事象をテキスト処理用データから除外する。したがって、対話テキスト中の先行発話内での仮の事象や、応答ペアでのやり取りの結果否定される事象をテキスト処理用データから削除することができるため、最終的な結論に適したテキスト処理用データを生成することができる。結果として、生成されるテキスト処理用データが、マイニングなどの分析や検索といったテキスト処理を精度よく行うことができるデータになる。
実施形態2.
図3は、本発明の第2の実施形態の対話テキスト解析装置の例を示すブロック図である。本実施形態の対話テキスト解析装置は、入力手段110と、出力手段120と、コンピュータ130とを備えている。コンピュータ130は、中央処理装置、プロセッサ、またはデータ処理装置等により実現される。なお、入力手段110および出力手段120は、第1の実施形態における入力手段10および出力手段20と同様であるため、説明を省略する。
コンピュータ130は、応答ペア特定手段131と、否定判定手段132と、発話内事実性判定手段133と、テキスト処理用データ生成手段134とを備えている。応答ペア特定手段131および否定判定手段132は、第1の実施形態における応答ペア特定手段31および否定判定手段32と同様であるため、説明を省略する。
発話内事実性判定手段133は、応答ペアにおける先行発話の事象が肯定の事実を示すか事象か、否定の事実を示す事象か(すなわち、事象の事実性)を、先行発話の情報から判定する。発話内事実性判定手段133は、例えば、非特許文献2に記載されたモデルを用いて、先行発話の事象の事実性を判定してもよい。
テキスト処理用データ生成手段134は、先行発話の事象が後続発話に否定されている場合、否定された先行発話の事象を対話テキストから除くとともに、その先行発話の事象の事実性とは逆の事実性を示す事象を対話テキストに追加したデータをテキスト処理用データとして生成する。すなわち、テキスト処理用データ生成手段134は、先行発話の事象が後続発話に否定されている場合、否定されたと判定された事象が肯定の事実のときにはその事象を否定の事実に変更し、否定されたと判定された事実が否定の事実のときには、その事象を肯定の事実に変更し、それぞれ否定された先行発話の事象の代わりにテキスト処理用データに追加する。テキスト処理用データ生成手段134は、例えば、先行発話の事象に、その事象の事実性を付加した情報をテキスト処理用データに追加してもよい。
なお、応答ペア特定手段131と、否定判定手段132と、発話内事実性判定手段133と、テキスト処理用データ生成手段134とは、プログラム(対話テキスト解析プログラム)に従って動作するコンピュータ130(具体的には、コンピュータ130のCPU)によって実現される。また、応答ペア特定手段131と、否定判定手段132と、発話内事実性判定手段133と、テキスト処理用データ生成手段134とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、対話テキスト解析装置の動作を説明する。図4は、第2の実施形態の対話テキスト解析装置の動作の例を示すフローチャートである。なお、入力手段110が対話テキストを入力として受け付け、応答ペア特定手段131が応答ペアを特定し、否定判定手段132が先行発話の事象が後続発話で否定されているか否かを判定するまでの、ステップB1〜ステップB3−1の処理は、図2におけるステップA1〜A3の処理と同様である。
ステップB2の処理が行われた後、発話内事実性判定手段133は、応答ペア内の先行発話を用いて、その先行発話の事象が肯定の事実か否定の事実か(すなわち、事実性)を判定する(ステップB3−2)。なお、ステップB3−2の処理は、ステップB3−1の処理と同時に行われてもよく、ステップB3−1の処理の前または後に行われてもよい。
続いて、テキスト処理用データ生成手段134は、後に行われるマイニングなどの分析や検索といったテキスト処理を行う際に用いられるテキスト処理用データを生成する。具体的には、テキスト処理用データ生成手段134は、ステップB3−1で判定された、応答ペアにおける後続発話が先行発話の事象を否定しているか否かの結果を否定判定手段132から受け取る。また、テキスト処理用データ生成手段134は、ステップB3−2で判定された、先行発話の事象の事実性の判定結果を発話内事実性判定手段133から受け取る。
応答ペアにおける先行発話の事象が後続発話に否定されていると判定されていた場合、テキスト処理用データ生成手段134は、その否定された事象を対話テキストから除外する。そして、テキスト処理用データ生成手段134は、ステップB3−2で判定された先行発話の事象の事実性とは逆の事実性を示す事象を、除外した事象の代わりにテキスト処理用データに追加する。つまり、テキスト処理用データ生成手段134は、ステップB3−2において判定された先行発話の事象が、肯定の事実のときにはその事象を否定の事実とし、否定の事実のときにはその事象を肯定の事実として、テキスト処理用データを生成する(ステップB4)。最後に、出力手段120は、ステップB4で生成されたテキスト処理用データを出力する(ステップB5)。
以上のように、本実施形態では、テキスト処理用データ生成手段134が、否定された先行発話の事象の内容が肯定の事実を示す場合、その事象を否定の事実を示す事象としてテキスト処理用データに追加し、先行発話の事象の内容が否定の事実を示す場合、その事象を肯定の事実を示す事象としてテキスト処理用データに追加する。
すなわち、ステップB4において、テキスト処理用データ生成手段134が応答ペアにおける先行発話の事象が後続発話に否定されている事象をテキスト処理用データから除外する。さらに、テキスト処理用データ生成手段134が、除外した事象の代わりに、ステップB3−2で判定された先行発話の事象の事実性とは逆の事実性を示す事象をテキスト処理用データに追加する。したがって、対話テキスト中の先行発話内での仮の事象や、応答ペアでのやり取りの結果否定される事象に対し、最終的な結論と一致するようにテキスト処理用データを生成することができる。結果として、生成されるテキスト処理用データが、マイニングなどの分析や検索といったテキスト処理を精度よく行うことができるデータになる。
実施形態3.
図5は、本発明の第3の実施形態の対話テキスト解析装置の例を示すブロック図である。本実施形態の対話テキスト解析装置は、入力手段210と、出力手段220と、コンピュータ230とを備えている。コンピュータ230は、中央処理装置、プロセッサ、またはデータ処理装置等により実現される。なお、入力手段210および出力手段220は、第1の実施形態における入力手段10および出力手段20と同様であるため、説明を省略する。
コンピュータ230は、応答ペア特定手段231と、否定判定手段232と、確認返答ペア判定手段233と、確認対象発話特定手段234と、テキスト処理用データ生成手段235とを備えている。応答ペア特定手段231および否定判定手段232は、第1の実施形態における応答ペア特定手段31および否定判定手段32と同様であるため、説明を省略する。
確認返答ペア判定手段233は、応答ペアにおける先行発話がある事象の確認または聞き返しを示す事象であるか否か、および、その応答ペアにおける後続発話がその確認または聞き返しに対する返答を示す事象であるか否かを判定する。以下、応答ペアにおいて、先行発話が確認または聞き返しを示す事象であり、かつ、後続発話がその確認または聞き返しに対する返答を示す事象であるペアを、「確認(聞き返し)−返答」のペアと記す。具体的には、確認返答ペア判定手段233は、例えば、応答ペアにおける先行発話とその先行発話の前に存在する対話テキスト中の各発話との単語の共通度を比較する。そして、確認返答ペア判定手段233は、先行発話との単語の共通度が予め定められた閾値より高い発話がその先行発話の前に存在する場合、その応答ペアを「確認(聞き返し)−返答」のペアと判定する。
確認対象発話特定手段234は、応答ペアが「確認(聞き返し)−返答」のペアである場合、対話テキスト中の発話の中で、先行発話の前方に存在する、先行発話が確認や聞き返す対象とした発話を特定する。言い換えると、確認対象発話特定手段234は、応答ペアが「確認(聞き返し)−返答」のペアである場合、対話テキスト中の発話の中で、先行発話よりも前に存在する発話のうち、その先行発話で確認または聞き返しが行われた原因の発話を特定しているということもできる。具体的には、確認対象発話特定手段234は、先行発話との単語の共通度が閾値より高い発話を、先行発話で確認または聞き返しの対象(原因)になった発話であると特定してもよい。
テキスト処理用データ生成手段235は、先行発話の事象が後続発話に否定されている場合、否定された先行発話の事象を対話テキストから除くとともに、確認対象発話特定手段234が特定した発話(すなわち、その先行発話で確認または聞き返しが行われた原因の発話)の事象を対話テキストから除いたデータをテキスト処理用データとして生成する。
なお、応答ペア特定手段231と、否定判定手段232と、確認返答ペア判定手段233と、確認対象発話特定手段234と、テキスト処理用データ生成手段235とは、プログラム(対話テキスト解析プログラム)に従って動作するコンピュータ230(具体的には、コンピュータ230のCPU)によって実現される。また、応答ペア特定手段231と、否定判定手段232と、確認返答ペア判定手段233と、確認対象発話特定手段234と、テキスト処理用データ生成手段235とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、対話テキスト解析装置の動作を説明する。図6は、第3の実施形態の対話テキスト解析装置の動作の例を示すフローチャートである。なお、入力手段210が対話テキストを入力として受け付け、応答ペア特定手段231が応答ペアを特定し、否定判定手段232が先行発話の事象が後続発話で否定されているか否かを判定するまでの、ステップC1〜ステップC3の処理は、図2におけるステップA1〜A3の処理と同様である。
ステップC2の処理が行われた後、確認返答ペア判定手段233は、応答ペアの先行発話の働きが確認や聞き返しで、後続発話の働きがその先行発話に対する返答であるか否かを判定する(ステップC4−1)。なお、ステップC4−1の処理は、ステップC3の処理と同時に行われてもよく、ステップC3の処理の前または後に行われてもよい。
ステップC4−1で、応答ペアが「確認(聞き返し)−返答」のペアであると判定された場合、確認対象発話特定手段234は、対話テキスト中の発話の中で、先行発話の前方に存在する、先行発話が確認や聞き返す対象とした発話を特定する(ステップC4−2)。
続いて、テキスト処理用データ生成手段235は、後に行われるマイニングなどの分析や検索といったテキスト処理を行う際に用いられるテキスト処理用データを生成する。具体的には、テキスト処理用データ生成手段235は、ステップC3で判定された、応答ペアにおける後続発話が先行発話の事象を否定しているか否かの結果を否定判定手段232から受け取る。また、テキスト処理用データ生成手段235は、ステップC4−2で特定された、応答ペアによる確認や聞き返しの元になった発話を確認対象発話特定手段234から受け取る。
応答ペアにおける先行発話の事象が後続発話に否定されていると判定されていた場合、テキスト処理用データ生成手段235は、その否定された事象を対話テキストから除外する。さらに、テキスト処理用データ生成手段235は、その応答ペアに対して確認や聞き返しの元となった発話の事象も除外する(ステップC5)。最後に、出力手段220は、ステップC5で生成されたテキスト処理用データを出力する(ステップC6)。
以上のように、本実施形態では、確認返答ペア判定手段233が、応答ペアが「確認(聞き返し)−返答」のペアの関係にあるか否かを判定する。その応答ペアが「確認(聞き返し)−返答」のペアの関係にある場合、確認対象発話特定手段234が、対話テキスト中の発話の中で、先行発話よりも前に存在する発話のうち、その先行発話で確認または聞き返しが行われた原因の発話を特定する。そして、先行発話の事象が後続発話により否定されている場合、テキスト処理用データ生成手段235が、特定された原因の発話における事象の事実を除いたテキスト処理用データを生成する。
すなわち、ステップC5において、テキスト処理用データ生成手段235が応答ペアの先行発話の事象が後続発話に否定されている事象をテキスト処理用データから除外する。さらに、テキスト処理用データ生成手段235がその応答ペアに対して確認や聞き返しの元になった発話の事象もテキスト処理用データから除外する。したがって、一度は事実性が確定した事象に対しても、後の応答ペアによる確認や聞き返し及びその返答によって事実性が変更されることで、最終的な結論とは異なってしまった事象を、テキスト処理用データから削除することができる。結果として、生成されるテキスト処理用データが、マイニングなどの分析や検索といったテキスト処理を精度よく行うことができるデータになる。
実施形態4.
図7は、本発明の第4の実施形態の対話テキスト解析装置の例を示すブロック図である。本実施形態の対話テキスト解析装置は、入力手段310と、出力手段320と、コンピュータ330とを備えている。コンピュータ330は、中央処理装置、プロセッサ、またはデータ処理装置等により実現される。なお、入力手段310および出力手段320は、第1の実施形態における入力手段10および出力手段20と同様であるため、説明を省略する。
コンピュータ330は、応答ペア特定手段331と、否定判定手段332と、発話内事実性判定手段333と、確認返答ペア判定手段334と、確認対象発話特定手段335と、テキスト処理用データ生成手段336とを備えている。応答ペア特定手段331、否定判定手段332および発話内事実性判定手段333、第2の実施形態における応答ペア特定手段131、否定判定手段132および発話内事実性判定手段133と同様である。また、確認返答ペア判定手段334および確認対象発話特定手段335は、第3の実施形態における、確認返答ペア判定手段233および確認対象発話特定手段234と同様である。そのため、これらの内容については、説明を省略する。
テキスト処理用データ生成手段336は、先行発話の事象が後続発話に否定されている場合、否定された先行発話の事象を対話テキストから除くとともに、その先行発話の事象の事実性とは逆の事実性を示す事象を対話テキストに追加したデータをテキスト処理用データとして生成する。
さらに、テキスト処理用データ生成手段336は、確認対象発話特定手段335が特定した発話(すなわち、その先行発話で確認または聞き返しが行われた原因の発話)の事象の事実性を、対話テキストに追加した事象の事実性と一致するように変更する。具体的には、テキスト処理用データ生成手段336は、先行発話の事象が後続発話により否定された場合に、先行発話で確認または聞き返しが行われた原因の発話における事象の内容が肯定の事実を示すときには、その肯定の事実を示す事象を否定の事実を示す事象に変更してテキスト処理用データに追加する。同様に、テキスト処理用データ生成手段336は、先行発話で確認または聞き返しが行われた原因の発話における事象の内容が否定の事実を示す場合に、その否定の事実を示す事象を肯定の事実を示す事象に変更してテキスト処理用データに追加する。なお、事象の事実性とは逆の事実性を示す事象を対話テキストに追加する方法は、テキスト処理用データ生成手段134が先行発話の事象の事実性とは逆の事実性を示す事象を対話テキストに追加する方法と同様である。
応答ペア特定手段331と、否定判定手段332と、発話内事実性判定手段333と、確認返答ペア判定手段334と、確認対象発話特定手段335と、テキスト処理用データ生成手段336とは、プログラム(対話テキスト解析プログラム)に従って動作するコンピュータ330(具体的には、コンピュータ330のCPU)によって実現される。また、応答ペア特定手段331と、否定判定手段332と、発話内事実性判定手段333と、確認返答ペア判定手段334と、確認対象発話特定手段335と、テキスト処理用データ生成手段336とは、それぞれが専用のハードウェアで実現されていてもよい。
次に、対話テキスト解析装置の動作を説明する。図8は、第4の実施形態の対話テキスト解析装置の動作の例を示すフローチャートである。なお、入力手段310が対話テキストを入力として受け付け、応答ペア特定手段331が応答ペアを特定するまでのステップD1〜ステップD2の処理は、図4におけるステップB1〜B2の処理と同様である。
続いて、否定判定手段332が先行発話の事象が後続発話で否定されているか否か判定する。発話内事実性判定手段333がその先行発話の事実性を判定するステップD3〜D4の処理は、図4におけるステップB3−1〜B3−2の処理と同様である。また、応答ペアが「確認(聞き返し)−返答」のペアか否かを確認返答ペア判定手段334が判定し、先行発話が確認や聞き返す対象とした発話を確認対象発話特定手段335が特定するステップD5−1〜D5−2の処理は、図6におけるステップC4−1〜C4−2の処理と同様である。
なお、ステップD5−1の処理の後にステップD5−2の処理が行われれば、ステップD3、ステップD4、ステップD5−1およびステップD5−2の処理の順番は任意である。
続いて、テキスト処理用データ生成手段336は、後に行われるマイニングなどの分析や検索といったテキスト処理を行う際に用いられるテキスト処理用データを生成する。具体的には、テキスト処理用データ生成手段336は、ステップD3で判定された、応答ペアにおける後続発話が先行発話の事象を否定しているか否かの結果を否定判定手段332から受け取る。また、テキスト処理用データ生成手段336は、ステップD4で判定された、先行発話の事象の事実性の判定結果を発話内事実性判定手段333から受け取る。さらに、テキスト処理用データ生成手段336は、ステップD5−2で特定された、応答ペアによる確認や聞き返しの元になった発話を確認対象発話特定手段335から受け取る。
応答ペアにおける先行発話の事象が後続発話に否定されていると判定されていた場合、テキスト処理用データ生成手段336は、その否定された事象を対話テキストから除外する。そして、テキスト処理用データ生成手段336は、ステップD4で判定された先行発話の事象の事実性とは逆の事実性を示す事象を、除外した事象の代わりにテキスト処理用データに追加する。さらに、テキスト処理用データ生成手段336は、その応答ペアにより確認や聞き返しの元となった発話の事象の事実性も、追加した事象の事実性と一致するように変更する(ステップD6)。最後に、出力手段320は、ステップD6で生成されたテキスト処理用データを出力する(ステップD7)。
以上のように、本実施形態では、ステップD6において、テキスト処理用データ生成手段336が応答ペアにおける先行発話の事象が後続発話に否定されている事象をテキスト処理用データから除外する。また、テキスト処理用データ生成手段336が、除外した事象の代わりに、ステップD4で判定された先行発話の事象の事実性とは逆の事実性を示す事象をテキスト処理用データに追加する。さらに、テキスト処理用データ生成手段336が、その応答ペアに対して確認や聞き返しの元になった発話の事象の事実性も、逆に変更して(すなわち、対話テキストに追加した事象の事実性と一致するように変更して)テキスト処理用データを生成する。
したがって、一度は事実性が確定した事象に対しても、後の応答ペアによる確認や聞き返し及びその返答によって事実性が変更されることで、最終的な結論と異なってしまった事象に関しても、最終的な結論と一致するように修正されたテキスト処理用データを生成することができる。結果として、生成されるテキスト処理用データが、マイニングなどの分析や検索といったテキスト処理を精度よく行うことができるデータになる。
以下、本発明の具体的な実施例を説明する。なお、本発明の範囲は以下に説明する内容に限定されない。まず。本発明の第1の実施例を説明する。第1の実施例の対話テキスト解析装置は、第1の実施形態の対話テキスト解析装置に対応する。
以下の実施例の説明では、図18に例示するコールセンターでの顧客とオペレータでなされた通話を示すテキストを対象とし、テキスト処理用データを作成する過程を、図2に例示するフローチャートに沿って説明する。なお、対象とする通話テキストは、図18に示す例からも分かる通り、通話テキスト内の事象が後の発話で決定されたり、変更されたりするテキストである。また、事象とは、発話の構文木や、動詞を中心とした構造(係り受け関係、格構造、構文木の部分木)として機械的に捉えることが可能な情報である。
まず、入力手段10は、入力テキストとして、図18に例示する対話テキストを受け付ける。ここで、対話テキストは、発話ごとに区切られているものとする。図18に示す例では、一つの発言インデックが発話に相当する。
ただし、対話テキストは、発話ごとに区切られているテキストに限定されない。発話ごとに区切られていないテキストの場合でも、例えば、発話のセパレータを予め定めておき、そのセパレータの出現場所で分割するという前処理が行われたテキストを対話テキストとして利用すればよい。なお、セパレータの例としては、「。」(句点)や「?」(クエスチョンマーク)などが挙げられる。
また、元のテキストとして、音声データを利用してもよい。この場合、音声認識エンジンを用いてテキスト化したデータに対し、音声認識エンジンが検出した無音区間を利用して発話ごとに分割するという前処理が行われたテキストを対話テキストとして利用すればよい。
また、対話テキストには、図18に例示するように、各発話に発話者の情報が付与されていてもよいし、付与されていなくてもよい。図18に示す例では、オペレータが発話したか、顧客が発話したかを示すタグが各発話に付与されている。また、対話テキストには、発話内容の他に、韻律情報や発話した時間情報など、音声から得られる情報が付与されていてもよい(以上、ステップA1)。
続いて、応答ペア特定手段31は、入力テキストの各発話から応答ペアの関係にある発話同士を特定する。応答ペアの特定は、例えば、疑問文とそれに対する回答の発話のペアを特定することで実現できる。
例えば、応答ペア特定手段31は、まず、各発話を形態素解析し、形態素解析した語と予め定めた疑問文の特徴とをマッチングさせて疑問文か否かを判定する。疑問文の特徴として、例えば、「疑問詞(「どうして」「どんな」「どういった」などの副詞や連体詞)を含む」、や「助動詞「か」「ね」「け」などの終助詞で終わる」が利用される。そして、応答ペア特定手段31は、疑問文として判定された発話と、その直後の発話のペアを応答ペアとして特定する。
応答ペア特定手段31は、隣接ペアを応答ペアとして特定してもよい。隣接ペアは、非特許文献3に記載されているように、会話分析の世界で用いられている概念である。会話分析の分野では、先行発話が特定の種類の発話を要求し、後続発話が先行発話への応答になっているとき、それらの発話が隣接ペアとして定義される。そこで、応答ペア特定手段31は、非特許文献3に記載された方法に基づいて、隣接ペアを特定し、その特定した隣接ペアを応答ペアとして特定してもよい。
また、応答ペア特定手段31は、非特許文献4に記載された手法を用いて隣接ペアを特定してもよい。なお、非特許文献4に記載された手法を用いることで、隣接ペアを形成する発話の種類(例えば、先行発話が「依頼」で後続発話が「承認/拒否」など)まで特定できる。ただし、応答ペア特定手段31は、発話の種類の特定まで行わなくてもよく、隣接ペアとなっている発話同士を特定すればよい。
図9は、図18に例示する対話テキストをもとに特定された隣接ペアの例を示す説明図である。なお、図9に例示する隣接ペアにおいて、発話の種類の特定は省略されている。図9に示す例では、発言インデックス「4」と「5」、発言インデックス「7」と「8」、発言インデックス「9」と「10」、発言インデックス「12」と「13」、発言インデックス「15」と「16」でそれぞれ特定される発話が隣接ペアである。応答ペア特定手段31は、このような隣接ペアを応答ペアとして捉えることで応答ペアの関係にある発話同士を特定する(以上、ステップA2)。
続いて、否定判定手段32は、応答ペア内の前方の発話の事象が後方の発話で否定されているか否かを判定する。図10は、否定判定手段32の例を示すブロック図である。図10に例示する否定判定手段32は、後続発話特定手段41と、エントリ比較手段42と、判定手段43とを備えている。また、前方の発話の内容を否定する発話(すなわち、否定発話)や、その否定発話の特徴(ルール)を予め定義した情報が否定発話データベース44に登録される。否定発話の一部として、例えば、否定の助動詞と付属語からのみなる発話や、否定語と付属語からのみなる発話など、予め定めた発話が否定発話データベース44に登録されていればよい。否定発話データベース44は、例えば、対話テキスト解析装置が備える磁気ディスク等に記憶されていてもよく、対話テキスト解析装置とは別の装置に記憶されていてもよい。
図11は、否定発話データベースに記憶された情報の例を示す説明図である。図11に示す例では、否定発話として、「いいえ。」,「いやだ。」,「違います。」,「ありません。」といった発話が記憶され、否定発話として登録された発話の文言から始まる発話、否定の助動詞と付属のみからなる発話が否定発話のルールとして記憶されている。
後続発話特定手段41は、応答ペアが否定判定手段32に入力されると、応答ペアのうち後方にある発話を後続発話として特定する。図10に示す例では、「プリンタの型番はXXですか?」と「違います。」とのペアが応答ペアとして入力されると、後続発話特定手段41は、「違います。」を後続発話として特定する。
エントリ比較手段42は、否定発話データベース44のデータを読み込み、後続発話と否定発話データベースの各エントリとを比較し、データベース内に該当するエントリが存在するか否かを判定する。図10および図11に示す例の場合、エントリ比較手段42は、後続発話「違います。」が否定発話データベースの上から三番目のエントリに存在する(エントリと一致する)と判定する。このとき、エントリ比較手段42は、後続発話「違います。」が否定発話データベースの上から五番目のエントリに存在する否定発話の特徴(ルール)と一致すると判定してもよい。
判定手段43は、後続発話に該当するエントリが否定発話データベース44に存在する場合、応答ペア内の先行発話の事象が後続発話で否定されていると判定する。具体的には、判定手段43は、否定発話と後続発話とが一致する場合、または、否定発話の特徴と後続発話の特徴とが一致する場合、先行発話の事象が後続発話で否定されていると判定する。図10および図11に示す例の場合、否定発話と後続発話とが一致するため、判定手段43は、先行発話の事象が後続発話で否定されていると判定する。
以上、否定判定手段32が、後続発話特定手段41、エントリ比較手段42および判定手段43を備えている構成の場合について説明したが、否定判定手段32の構成は、図10に例示する構成に限定されない。
図12は、否定判定手段32の他の例を示すブロック図である。図12に例示する否定判定手段32は、先行発話特定手段51と、後続発話特定手段52と、先行発話役割解析手段53と、後続発話役割解析手段54と、動詞対義語判定手段55と、背反語判定手段56と、判定手段57とを備えている。また、予め作成した動詞の対義語対が対義語データベース58(以下、対義語DB58と記す。)に登録される。さらに、予め作成した背反の単語対が背反語データベース59(以下、背反語DB59と記す。)に登録される。対義語DB58および背反語DB59は、例えば、対話テキスト解析装置が備える磁気ディスク等に記憶されていてもよく、対話テキスト解析装置とは別の装置に記憶されていてもよい。
先行発話特定手段51は、応答ペアの前方にある発話を先行発話として特定する。また、後続発話特定手段52は、応答ペアの後方にある発話を後続発話として特定する。図12に示す例では、「ランプは点灯していますか?」と「消えています。」とのペアが応答ペアとして入力されると、先行発話特定手段51は、「ランプは点灯してますか?」を先行発話として特定し、後続発話特定手段52は、「消えてます。」を後続発話として特定する。
先行発話役割解析手段53は、先行発話の各要素に対して、文における役割を解析する。同様に、後続発話役割解析手段54は、後続発話の各要素に対して、文における役割を解析する。先行発話役割解析手段53および後続発話役割解析手段54は、文における役割として、例えば、「主語」「述語」「目的語」といった、文の文法的役割を解析してもよい。なお、解析する文における役割は、文の文法的役割に限定されない。先行発話役割解析手段53および後続発話役割解析手段54は、例えば、日本語の場合、「ガ格」「ハ格」「デ格」といった表層格を解析してもよく、「動作主」「道具」「対象」といった深層格を解析してもよい。
この際、先行発話役割解析手段53および後続発話役割解析手段54は、例えば、文法規則であるHPSG(Head-Driven Phrase Structure Grammar)を文に適用することで、文法的役割を解析してもよい。他にも、先行発話役割解析手段53および後続発話役割解析手段54は、フリーの日本語解析器であるKNPを用いて、動詞およびその表層核を解析してもよい。
動詞対義語判定手段55は、先行発話と後続発話の動詞が対義語になっているか否かを判定する。動詞対義語判定手段55は、例えば、予め作成した動詞の対義語対を格納してある対義語DB58を用いて、先行発話の動詞および後続発話の動詞に該当する情報がデータベース内の対義語対に存在する場合に、それらの発話の動詞が対義語になっていると判定してもよい。図12に示す例では、先行発話の動詞が「点灯する」、後続発話の動詞が「消える」である。対義語DB58にこの対義語対が格納されている場合、動詞対義語判定手段55は、これらの動詞が対義語になっていると判定する。
また、動詞対義語判定手段55は、先行発話および後続発話を形態素解析した結果を用いて、後続発話の動詞が先行発話と一致し、その動詞が後続発話内で否定の助動詞(「ない」など)で打ち消されている場合にも、それらの発話の動詞が対義語になっていると判定してもよい。例えば、先行発話の動詞が「点灯する」であり、後続発話が「点灯していません。」であったとする。この場合、先行発話と後続発話の動詞が「点灯する」で一致し、後続発話でその動詞が否定されているため、動詞対義語判定手段55は、これらの発話の動詞が対義語になっていると判定する。
背反語判定手段56は、先行発話と後続発話で同じ役割の要素が背反になっているか否かを判定する。2つの要素が背反は、2つの要素が同時には成立しないことを意味する。つまり、一方の要素が他方の要素にはなり得ない場合に、それら2つの要素を背反と呼ぶ。背反語判定手段56は、例えば、予め作成した背反の単語対を格納してある背反語DB59を用いて、先行発話と後続発話で同じ役割の要素がデータベース内の背反の単語対として存在する場合に、それらの要素が背反語になっていると判定してもよい。
また、背反語判定手段56は、階層構造を持つ単語シソーラスのうち、同じ階層に存在し、同じ親ノードを持つノード同士の対を背反語と判定してもよい。例えば、否定判定手段32に入力される応答ペアが図9に例示する発言インデックス「9」と「10」のペアであるとする。この場合、先行発話役割解析手段53が先行発話(発言インデックス「9」)のデ格の要素が「排出口」であると解析し、後続発話役割解析手段54が後続発話(発言インデックス「10」)のデ格の要素が「トレー部分」であると解析する。単語シソーラスにおいて、プリンタの構成部分として、「プリンタ」を親ノードとし、「排出口」、「トレー部分」がそれぞれ同じ階層に存在している場合、背反語判定手段56は、先行発話と後続発話内で同じ役割のデ格の要素である「排出口」と「トレー部分」とを比較し、これらの単語対が背反語であると判定する。
同様に、否定判定手段32に入力される応答ペアが図9に例示する発言インデックス「15」と「16」のペアである場合、背反語判定手段56は、先行発話と後続発話内で同じ深層格「動作主」である「A社のプリンタ」と「B社(のプリンタ)」を比較し、背反語であると判定する。
判定手段57は、応答ペア内の後続発話で使用されている動詞が先行発話で使用されている動詞の対義語であってその他の要素が一致している場合、または、後続発話で使用されている要素の一部が先行発話内で同じ役割で使用されている要素と背反である場合に、先行発話の事象が後続発話で否定されていると判定する。
上述したように、図12に例示する「ランプは点灯してますか?」と「消えてます。」のペアは、応答ペア内の後続発話で使用されている動詞が先行発話で使用されている動詞の対義語であってその他の要素が一致しているという判定基準を満たす。また、図9に例示する発言インデックス「9」と「10」のペア、発言インデックス「15」と「16」のペアのいずれのペアも、後続発話で使用されている要素の一部が先行発話内で同じ役割で使用されている要素と背反であるという判定基準を満たす。よって、判定手段57は、それぞれの応答ペアに対して先行発話の事象が後続発話で否定されていると判定する(以上、ステップA3)。
続いて、テキスト処理用データ生成手段33は、応答ペアの先行発話の事象が後続発話で否定されている事象を除外して、テキスト処理用データを生成する。例えば、上述したように、否定判定手段32が、図9に例示する発言インデックス「9」と「10」のペア、及び、発言インデックス「15」と「16」のペアを、先行発話の事象が後続発話で否定されている、と判定したとする。この場合、テキスト処理用データ生成手段33は、発言インデックス「9」の事象および発言インデックス「15」の事象を、対話テキストから除外してテキスト処理用データを生成する。
なお、テキスト処理用データは、後のテキスト処理の種類により様々な形態をとることができる。テキスト処理用データ生成手段33は、例えば、入力テキスト(対話テキスト)の各発話を後のテキスト処理で使用される単位(形態素、形態素nグラム、係り受け、文節もしくは発話、または、これらの複数の組み合わせ)の要素に分割し、要素のリストをテキスト処理用データとして生成してもよい。
図13は、係り受け単位を要素としてテキスト処理用データが生成された例を示す説明図である。なお、図13に例示するエントリの括弧内は、抽出元の発言インデックスを示す。図13に示す例では、肯定の事実か否定の事実かを示す値がデータの各要素に付与されている。このように、テキスト処理用データ生成手段33は、肯定の事実か否定の事実かを示す値をデータの各要素に含むテキスト処理用データを生成してもよい。また、図13に示すように、テキスト処理用データからは、応答ペアの後続発話で否定された「排出口で詰まる」や「A社のプリンタである」という事象に対応する事実は除外されている(以上、ステップA4)。
最後に、出力手段20は、テキスト処理用データ生成手段33が生成したテキスト処理用データを出力する(ステップA5)。
以上のように、本実施例の対話テキスト解析装置では、ステップA4の処理において、応答ペアの先行発話の事象の事実性が後続発話により決定されるため、最終的な結論とは異なる事象をテキスト処理用データから除外できる。
例えば、図9に例示する対話テキストが入力された場合、「排出口で詰まる」という事象は、発言インデックス「9」の発話がされた時点では仮説の状態にある。その事象が発言インデックス「10」の発話によって否定されることで、「排出口で詰まる」という事実が最終的には成立しないことがわかる。
本実施例の対話テキスト解析装置では、否定判定手段32が、発言インデックス「9」の発話の事象がその応答ペアの後続発話で否定されていると判断できる。そして、テキスト処理用データ生成手段33が、「排出口で詰まる」という事象に対応する要素を除外してテキスト処理用データを生成する。よって、生成されたテキスト処理用データが、最終的な結論に適合したデータになる。すなわち、生成されたテキスト処理用データは、結果として、マイニングなどの分析や検索といったテキスト処理を精度よく行うことができるデータになる。
例えば、その後の分析において「排出口が詰まる」という事例を検索するとする。このとき、図9に例示する対話テキストから生成されたテキスト処理用データには、「排出口で詰まる」という事象に対応する要素は除外されている。そのため、「排出口が詰まる」という事例を検索しても、図9に例示する対話テキストは該当せず、正しい検索が可能になる。
次に、本発明の第2の実施例を説明する。第2の実施例の対話テキスト解析装置は、第2の実施形態の対話テキスト解析装置に対応する。以下の説明でも、図18に例示するコールセンターでの顧客とオペレータでなされた通話を示すテキストを対象とする。また、テキスト処理用データを作成する過程を、図4に例示するフローチャートに沿って説明する。
なお、入力手段110が対話テキストを入力として受け付け、応答ペア特定手段131が応答ペアを特定し、否定判定手段132が先行発話の事象が後続発話で否定されているか否かを判定するまでの、図4におけるステップB1〜ステップB3−1の処理は、図2におけるステップA1〜A3の処理と同様であるため、説明を省略する。
ステップB2の処理が行われた後、発話内事実性判定手段133は、応答ペア内の先行発話を用いて、その先行発話の事象が肯定の事実か否定の事実か(すなわち、事実性)を判定する。なお、ステップB3−2の処理は、ステップB3−1の処理と同時に行われてもよく、ステップB3−1の処理の前または後に行われてもよい。発話内事実性判定手段133は、例えば、非特許文献2に記載された事実性の判定方法を用いて、先行発話の事象の事実性を判定する。例えば、図9に例示する発言インデックス「9」の事象や、発言インデックス「15」の事象は、肯定の事実と判定される(以上、ステップB3−2)。
テキスト処理用データ生成手段134は、応答ペアにおける先行発話の事象が後続発話に否定されていると判定されていた場合、その否定された事象を対話テキストから除外する。そして、テキスト処理用データ生成手段134は、ステップB3−2で判定された先行発話の事象の事実性とは逆の事実性を示す事象を、除外した事象の代わりにテキスト処理用データに追加する。例えば、ステップB3−1において、否定判定手段132が、図9に例示する発言インデックス「9」と「10」のペア、及び、発言インデックス「15」と「16」のペアを、先行発話の事象が後続発話で否定されている、と判定したとする。この場合、テキスト処理用データ生成手段134は、肯定の事実として存在した発言インデックス「9」の事象および発言インデックス「15」の事象を、対話テキストから除外する。そして、テキスト処理用データ生成手段134は、除外した事象の代わりに、否定の事実として「排出口で詰まる」や、「A社のプリンタである」といった事象を対話テキストに追加したテキスト処理用データを生成する。
図14は、テキスト処理用データ生成手段134が生成したテキスト処理用データの例を示す説明図である。なお、図14に例示するエントリの括弧内は、抽出元の発言インデックスを示す。図14に示す例では、「排出口で詰まる」や、「A社のプリンタである」という否定の事実がテキスト処理用データに追加されている(以上、ステップB4)。
最後に、出力手段120は、テキスト処理用データ生成手段134が生成したテキスト処理用データを出力する(ステップB5)。
以上のように、本実施例における対話テキスト解析装置では、ステップB4の処理において、応答ペアの先行発話内での仮の事象や応答ペアでのやり取りの結果否定される事象が、最終的な結論と一致するように変更されたテキスト処理用データを生成することができる。
例えば、図9に例示する対話テキストが入力された場合、発言インデックス「9」の「排出口で詰まる」という事象は、発言インデックス「10」の発話によって否定されることで、最終的には否定の事実に置き換わっている。すなわち、発言インデックス「9」の発話がされた時点で仮の事象である「排出口で詰まる」という肯定の事実は除かれ、「排出口で詰まる」という事象を否定の事実としてテキスト処理用データに含むことができる。したがって、最終的な結論と一致するテキスト処理用データを生成することができる。すなわち、生成されたテキスト処理用データは、結果として、マイニングなどの分析や検索といったテキスト処理を精度よく行うことができるデータになる。
例えば、その後の分析において「排出口が詰まっている」という事例や、「排出口が詰まっていない」という事例を検索するとする。このとき、図9に例示する対話テキストから生成されたテキスト処理用データには、「排出口で詰まる」が否定の事実であるという情報が含まれる。そのため、「排出口が詰まっている」という事例を検索しても、図9に例示する対話テキストは検索結果に出現しない。一方、「排出口が詰まっていない」という事例を検索した場合に、図9に例示する対話テキストが検索結果に出現するようになり、正しい検索が可能になる。
次に、本発明の第3の実施例を説明する。第3の実施例の対話テキスト解析装置は、第3の実施形態の対話テキスト解析装置に対応する。以下の説明でも、図18に例示するコールセンターでの顧客とオペレータでなされた通話を示すテキストを対象とする。また、テキスト処理用データを作成する過程を、図6に例示するフローチャートに沿って説明する。
なお、入力手段210が対話テキストを入力として受け付け、応答ペア特定手段231が応答ペアを特定し、否定判定手段232が先行発話の事象が後続発話で否定されているか否かを判定するまでの、図6におけるステップC1〜ステップC3の処理は、図2におけるステップA1〜A3の処理と同様であるため、説明を省略する。
ステップC2の処理が行われた後、確認返答ペア判定手段233は、応答ペアの先行発話の働きが確認や聞き返しで、後続発話の働きが返答であるか否かを判定する(ステップC4−1)。なお、ステップC4−1の処理は、ステップC3の処理と同時に行われてもよく、ステップC3の処理の前または後に行われてもよい。
具体的には、確認返答ペア判定手段233は、応答ペアにおける先行発話と、その先行発話の前方に存在する対話テキスト中の各発話とを比較し、含まれる単語の共通度が予め定められた閾値より高い発話が存在する場合、先行発話が確認や聞き返しを示す事象であり、その応答ペアの後続発話が返答を示す事象であると判定する。
図9に例示する発言インデックス「15」と「16」の応答ペアを対象とした判定処理を説明する。確認返答ペア判定手段233は、先行発話の発言インデックス「15」と、対話テキスト中の発言インデックス「15」より前方に出現する各発話(発言インデックス「1」〜「14」)との比較を行う。
なお、ここでは、先行発話の前方に存在する全ての発話と比較する場合について説明するが、先行発話から予め定めた距離(個数)だけ離れた発話までに限定して比較を行ってもよい。例えば、比較対象を距離3発話までの発話に限った場合、確認返答ペア判定手段233は、発言インデックス「15」と、発言インデックス「12」〜「14」の各発話との比較を行えばよい。
また、入力される対話テキストに各発話の話者の情報が付与されている場合、確認返答ペア判定手段233は、先行発話の話者と異なる話者による発話に限って比較してもよい。図9に示す例では、先行発話(発話インデックス「15」の発話)の話者がオペレータなので、オペレータ以外の話者により発せられた発話に比較対象を限定してもよい。また、確認返答ペア判定手段233は、後続発話と同じ話者に発せられた発話に限って比較してもよい。図9に示す例では、後続発話(発話インデックス「16」の発話)の話者は顧客なので、顧客により発せられた発話に比較対象を限定してもよい。
確認返答ペア判定手段233は、比較の際、前方の発話それぞれと先行発話との単語の共通度を計算する。確認返答ペア判定手段233は、例えば、共通単語数やコサイン類似度を用いて共通度を計算してもよい。
共通度として共通単語数(ただし、単語は内容語に限定する。)を用いた場合、発言インデックス「14」の発話と、先行発話との共通の単語は「A社」,「プリンタ」の2語であるので、共通度は2になる。同様に、発言インデックス「6」および「7」の発話と、先行発話との共通の単語は「プリンタ」の1語であるので、共通度は1になり、それ以外の発話と先行発話との共通度は0になる。
そして、計算した共通度が予め定められた閾値以上の発話が存在する場合、確認返答ペア判定手段233は、先行発話が確認や聞き返しを示す事象であると判定し、後続発話が返答を示す事象であると判定する。例えば、上記の例において、閾値が2と定められている場合、確認返答ペア判定手段233は、発言インデックス「15」の発話は確認や聞き返しを示す事象であり、発言インデックス「16」の発話は、発言インデックス「15」の返答を示す事象であると判定する。
なお、確認や聞き返しは、確認や聞き返す対象から離れてなされることは稀である。そこで、先行発話から離れれば離れるほど大きくなるように(すなわち、先行発話からの距離に比例するように)閾値の値を定めてもよい(以上、ステップC4−1)。
ステップC4−1での処理の結果、応答ペアが「確認(聞き返し)−返答」のペアであると判定された場合、確認対象発話特定手段234は、応答ペアにより確認や聞き返す対象になった元の発話を特定する。具体的には、確認対象発話特定手段234は、ステップC4−1で計算された先行発話との単語の共通度が閾値より高い発話を、先行発話で確認または聞き返しの対象(原因)になった発話であると特定する。例えば、上記ステップC4−1の例の場合、確認対象発話特定手段234は、単語の共通度が閾値2以上である発言インデックス14の発話を、先行発話で確認または聞き返しの対象(原因)になった発話であると特定する。
続いて、テキスト処理用データ生成手段235は、応答ペアにおける先行発話の事象が後続発話に否定されている事象に加え、更に、その応答ペアにより確認や聞き返しの元となった発話の事象も除外したテキスト処理用データを生成する。
例えば、図9に示す例では、発言インデックス「14」の発話は、発言インデックス「15」の発話により確認(聞き返し)がされており、発言インデックス「15」の発話は、応答ペアにおける後続発話(発言インデックス「16」の発話)により否定されていることが分かる。したがって、テキスト処理用データ生成手段235は、発言インデックス「15」の事象に加え、「14」の事象「A社のプリンタです。」を除外したテキスト処理用データを生成する。図15は、テキスト処理用データ生成手段235が生成したテキスト処理用データの例を示す説明図である。なお、図15に例示するエントリの括弧内は、抽出元の発言インデックスを示す。図15に示す例では、「A社のプリンタです。」という発話が削除されている(以上、ステップC5)。
最後に、出力手段220は、テキスト処理用データ生成手段235が生成したテキスト処理用データを出力する(ステップC6)。
以上のように、本実施例の対話テキスト解析装置では、ステップC5の処理において、一度は事実性が確定した事象に対しても、後の応答ペアによる確認や聞き返しとその返答により事実性が変更され、最終的な結論とは異なってしまった事象を、テキスト処理用データから除外することができる。
例えば、図9に例示する発言インデックス「14」の事象は、「A社のプリンタです。」という肯定の事実で一度確定している。しかし、その後の発言インデックス「15」と「16」の応答ペアによる確認(聞き返し)により、その事実が変更されている。したがって、発言インデックス「14」の事象である「A社のプリンタである」を除外したテキスト処理用データを生成することができる。
すなわち、第3の実施形態の対話テキスト解析装置では、第1の実施形態や第2の実施形態の効果に加え、確認や聞き返しの元となった事象が最終的な結論と異なっている場合、その事象をテキスト処理用データから除外することができる。したがって、生成されたテキスト処理用データは、結果として、マイニングなどの分析や検索といったテキスト処理をより精度よく行うことができるデータになる。
第1の実施形態の対話テキスト解析装置では、テキスト処理用データから、応答ペアの後続発話で否定された「A社のプリンタである」という事象(発言インデックス「15」の事象)に対応する事実を除外することができる。さらに、第3の実施形態の対話テキスト解析装置では、図9に例示する対話テキストから生成されたテキスト処理用データから、発言インデックス「14」の事象に対応する要素をさらに除外することができる。よって、そのため、「A社のプリンタ」という事例を検索しても、図9に例示する対話テキストは該当せず、第1の実施形態の対話テキスト解析装置よりも、より正しい検索が可能になる。
次に、本発明の第4の実施例を説明する。第4の実施例の対話テキスト解析装置は、第4の実施形態の対話テキスト解析装置に対応する。以下の説明でも、図18に例示するコールセンターでの顧客とオペレータでなされた通話を示すテキストを対象とする。また、テキスト処理用データを作成する過程を、図8に例示するフローチャートに沿って説明する。
なお、入力手段310が対話テキストを入力として受け付け、応答ペア特定手段331が応答ペアを特定するまでのステップD1〜ステップD2の処理は、図4におけるステップB1〜B2の処理と同様である。また、否定判定手段332が先行発話の事象が後続発話で否定されているか否かを判定し、発話内事実性判定手段333がその先行発話の事実性を判定するステップD3〜D4の処理は、図4におけるステップB3−1〜B3−2の処理と同様である。さらに、応答ペアが「確認(聞き返し)−返答」のペアか否かを確認返答ペア判定手段334が判定し、先行発話が確認や聞き返す対象とした発話を確認対象発話特定手段335が特定するステップD5−1〜D5−2の処理は、図6におけるステップC4−1〜C4−2の処理と同様である。なお、ステップD5−1の処理の後にステップD5−2の処理が行われれば、ステップD3、ステップD4、ステップD5−1およびステップD5−2の処理の順番は任意である。
テキスト処理用データ生成手段336は、応答ペアにおける先行発話の事象が後続発話に否定された事象を対話テキストから除外する。そして、テキスト処理用データ生成手段336は、ステップD3で判定された先行発話の事象の事実性とは逆の事実性を示す事象を、除外した事象の代わりにテキスト処理用データに追加する。さらに、テキスト処理用データ生成手段336は、確認対象発話特定手段335が特定した発話(すなわち、その先行発話で確認または聞き返しが行われた原因の発話)の事象の事実性を、対話テキストに追加した事象の事実性と一致するように(すなわち、もとの事実性と逆になるように)変更する。
例えば、図9に示す例では、発言インデックス「14」の発話は、発言インデックス「15」の発話により確認(聞き返し)がされており、発言インデックス「15」の発話は、応答ペアにおける後続発話(発言インデックス「16」の発話)により否定されていることが分かる。したがって、テキスト処理用データ生成手段336は、肯定の事実である発言インデックス「15」の事象「A社のプリンタです。」を対話テキストから除外する。そして、テキスト処理用データ生成手段336は、除外した事象の代わりに、否定の事実「A社のプリンタである」を対話テキストに追加したテキスト処理用データを生成する。さらに、テキスト処理用データ生成手段336は、発言インデックス「14」の事象「A社のプリンタです。」を肯定の事実から否定の事実に変更する。
図16は、テキスト処理用データ生成手段336が生成したテキスト処理用データの例を示す説明図である。なお、図16に例示するエントリの括弧内は、抽出元の発言インデックスを示す。図16に示す例では、発言インデックス「14」の事実性が、否定の事実に変更されている(以上、ステップD6)。
最後に、出力手段320は、テキスト処理用データ生成手段336が生成したテキスト処理用データを出力する(ステップD7)。
以上のように、本実施例の対話テキスト解析装置では、ステップD6の処理において、一度は事実性が確定した事象に対しても、後の応答ペアによる確認や聞き返しとその返答により事実性が変更することができる。そのため、最終的な結論とは異なってしまった事象に関しても、最終的な結論と一致するように事実性を変更した事象をテキスト処理用データとすることができる。
例えば、図9に例示する発言インデックス「14」の事象は、「A社のプリンタです。」という肯定の事実で一度確定している。しかし、その後の発言インデックス「15」と「16」の応答ペアによる確認(聞き返し)により、発言インデックス「14」の事象「A社のプリンタです。」が、肯定の事実から否定の事実に変更されている。したがって、第3の実施形態の効果に加え、確認や聞き返しの元となった事象も有効に活用することが可能になる。
すなわち、第4の実施形態の対話テキスト解析装置では、第1の実施形態や第2の実施形態の効果に加え、確認や聞き返しの元となった事象が最終的な結論と異なっている場合、その事象を最終的な結論と一致するように変更することができる。したがって、生成されたテキスト処理用データは、結果として、マイニングなどの分析や検索といったテキスト処理をより精度よく行うことができるデータになる。
例えば、その後の分析において「A社のプリンタである」という事例や、「A社のプリンタでない」という事例を検索するとする。このとき、図9に例示する対話テキストから生成されたテキスト処理用データには、「A社のプリンタでない」という事例が含まれる。そのため、「A社のプリンタである」という事例を検索しても、図9に例示する対話テキストは検索結果に出現しない。一方、「A社のプリンタでない」という事例を検索した場合に、図9に例示する対話テキストが検索結果に出現する。このように、正しい検索が可能になる。
以上説明したように、コールセンターにおけるオペレータと顧客のやりとりでは、オペレータは、応対において重要な部分や、顧客の発言で曖昧な部分に対して確認や聞き返しをすることが多い。そのため、聞き返しや確認に着目した本発明の第3の実施形態や第4の実施形態の対話テキスト解析装置は、分析対象がコールセンターでの対話テキストの場合、特に効果を発揮する。
次に、本発明の最小構成の例を説明する。図17は、本発明による対話テキスト解析装置の最小構成の例を示すブロック図である。本発明による対話テキスト解析装置は、複数の発話の内容を含むテキストである対話テキストにおける第一の発話(例えば、先行発話)の事象が、その第一の発話より後に存在する第二の発話(例えば、後続発話)で否定されているか否かを判定する否定判定手段81(例えば、否定判定手段32)と、第一の発話の事象が第二の発話で否定されている場合、否定された第一の発話の事象を対話テキストから除いたデータであるテキスト処理用データを生成するテキスト処理用データ生成手段82(例えば、テキスト処理用データ生成手段33)とを備えている。
そのような構成により、マイニングなどの分析や検索といったテキスト処理を精度よく行なうためのテキスト処理用データを対話テキストから生成できる。
また、入力された対話テキスト中の各発話から、対話の相手に尋ねる内容を示す第一の発話とその第一の発話より後に存在し、その第一の発話の回答になっている第二の発話のペアである応答ペアを特定する応答ペア特定手段(例えば、応答ペア特定手段31)を備えていてもよい。このとき、否定判定手段81は、応答ペア中の第一の発話の事象が第二の発話で否定されているか否かを判定してもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)複数の発話の内容を含むテキストである対話テキストにおける第一の発話の事象が、当該第一の発話より後に存在する第二の発話で否定されているか否かを判定する否定判定手段と、前記第一の発話の事象が前記第二の発話で否定されている場合、否定された第一の発話の事象を前記対話テキストから除いたデータであるテキスト処理用データを生成するテキスト処理用データ生成手段とを備えたことを特徴とする対話テキスト解析装置。
(付記2)入力された対話テキスト中の各発話から、対話の相手に尋ねる内容を示す第一の発話と当該第一の発話より後に存在し、当該第一の発話の回答になっている第二の発話のペアである応答ペアを特定する応答ペア特定手段を備え、否定判定手段は、前記応答ペア中の第一の発話の事象が第二の発話で否定されているか否かを判定する付記1記載の対話テキスト解析装置。
(付記3)テキスト処理用データ生成手段は、第二の発話で否定された第一の発話における事象の内容が肯定の事実を示す場合、当該肯定の事実を示す事象を否定の事実を示す事象に変更してテキスト処理用データに追加し、前記第一の発話における事象の内容が否定の事実を示す場合、当該否定の事実を示す事象を肯定の事実を示す事象に変更してテキスト処理用データに追加する付記1または付記2記載の対話テキスト解析装置。
(付記4)否定判定手段は、前方の発話の内容を否定する予め定められた発話である否定発話と第二の発話とが一致する場合、または、前記否定発話の特徴と第二の発話の特徴とが一致する場合、第一の発話の事象が第二の発話で否定されていると判定する付記1から付記3のうちのいずれか1つに記載の対話テキスト解析装置。
(付記5)否定判定手段は、第二の発話で使用されている動詞が第一の発話で使用されている動詞の対義語であってその他の要素が一致している場合、または、第二の発話で使用されている要素の一部が第一の発話で使用されている要素の一部と同時には成り立たない関係にある要素の場合、第一の発話の事象が第二の発話により否定されていると判定する付記1から付記3のうちのいずれか1つに記載の対話テキスト解析装置。
(付記6)入力された対話テキスト中の各発話から、対話の相手に尋ねる内容を示す第一の発話と当該第一の発話より後に存在し、当該第一の発話の回答になっている第二の発話のペアである応答ペアを特定する応答ペア特定手段と、前記応答ペアにおける第一の発話が確認または聞き返しを示す事象であり、当該応答ペアにおける第二の発話がその確認または聞き返しに対する返答を示す事象の関係にある確認返答ペアか否かを判定する確認返答ペア判定手段と、応答ペアが前記確認返答ペアである場合、対話テキスト中の発話の中で、第一の発話よりも前に存在する発話のうち、当該第一の発話で確認または聞き返しが行われた原因の発話を特定する確認対象発話特定手段とを備え、否定判定手段は、前記応答ペア中の第一の発話の事象が第二の発話で否定されているか否かを判定し、テキスト処理用データ生成手段は、第一の発話の事象が第二の発話により否定されている場合、特定された原因の発話における事象の事実を除いたテキスト処理用データを生成する付記1から付記5のうちのいずれか1つに記載の対話テキスト解析装置。
(付記7)テキスト処理用データ生成手段は、第一の発話の事象が第二の発話により否定された場合、当該第一の発話で確認または聞き返しが行われた原因の発話における事象の内容が肯定の事実を示す場合、当該肯定の事実を示す事象を否定の事実を示す事象に変更してテキスト処理用データに追加し、前記原因の発話における事象の内容が否定の事実を示す場合、当該否定の事実を示す事象を肯定の事実を示す事象に変更してテキスト処理用データに追加する付記6記載の対話テキスト解析装置。
(付記8)確認返答ペア判定手段は、応答ペアにおける第一の発話と当該先行発話の前に存在する対話テキスト中の各発話との単語の共通度を比較し、当該共通度が予め定められた閾値より高い発話が前記第一の発話の前に存在する場合、当該応答ペアを確認返答ペアと判定する付記6または付記7記載の対話テキスト解析装置。
(付記9)複数の発話の内容を含むテキストである対話テキストにおける第一の発話の事象が、当該第一の発話より後に存在する第二の発話で否定されているか否かを判定し、前記第一の発話の事象が前記第二の発話で否定されている場合、否定された第一の発話の事象を前記対話テキストから除いたデータであるテキスト処理用データを生成することを特徴とする対話テキスト解析方法。
(付記10)入力された対話テキスト中の各発話から、対話の相手に尋ねる内容を示す第一の発話と当該第一の発話より後に存在し、当該第一の発話の回答になっている第二の発話のペアである応答ペアを特定し、前記応答ペア中の第一の発話の事象が第二の発話で否定されているか否かを判定する付記9記載の対話テキスト解析方法。
(付記11)コンピュータに、複数の発話の内容を含むテキストである対話テキストにおける第一の発話の事象が、当該第一の発話より後に存在する第二の発話で否定されているか否かを判定する否定判定処理、および、前記第一の発話の事象が前記第二の発話で否定されている場合、否定された第一の発話の事象を前記対話テキストから除いたデータであるテキスト処理用データを生成するテキスト処理用データ生成処理を実行させるための対話テキスト解析プログラム。
(付記12)コンピュータに、入力された対話テキスト中の各発話から、対話の相手に尋ねる内容を示す第一の発話と当該第一の発話より後に存在し、当該第一の発話の回答になっている第二の発話のペアである応答ペアを特定する応答ペア特定処理を実行させ、否定判定処理で、前記応答ペア中の第一の発話の事象が第二の発話で否定されているか否かを判定させる付記11記載の対話テキスト解析プログラム。
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2010年11月22日に出願された日本特許出願2010−259673を基礎とする優先権を主張し、その開示の全てをここに取り込む。