(57)【特許請求の範囲】
【請求項１】
対話テキストを話者別のテキストに分割する話者分割処理部と、
前記話者分割処理部で分割された話者別のテキストの形態素を解析し、各話者別のテキストを形態素単位に分割した形態素解析結果を出力する形態素解析処理部と、
前記形態素解析結果を用い、話者別のテキスト中の同じ内容語の出現頻度を表す指標である発話内容冗長性特徴量を、各話者別のテキストに対して求める発話内容冗長性特徴量抽出部と、
前記形態素解析結果を用い、話者別のテキスト中の内容語の出現頻度を表す指標である発話内容情報性特徴量を、各話者別のテキストに対して求める発話内容情報性特徴量抽出部と、
予め学習した感情識別器を用い、前記発話内容冗長性特徴量及び前記発話内容情報性特徴量の少なくとも一方を用いて前記対話テキストの対話が怒り対話か否かを推定する感情識別部とを具備することを特徴とする怒り感情推定装置。
【請求項２】
請求項１記載の怒り感情推定装置において、
対話音声を対話テキストに変換して前記話者分割処理部に出力する音声認識部を備えることを特徴とする怒り感情推定装置。
【請求項３】
請求項２記載の怒り感情推定装置において、
前記対話音声から韻律的特徴量を求める韻律的特徴量抽出部を備え、
前記感情識別部は前記発話内容冗長性特徴量及び前記発話内容情報性特徴量の少なくとも一方に加え、前記韻律的特徴量を用いて前記推定を行うことを特徴とする怒り感情推定装置。
【請求項４】
請求項１記載の怒り感情推定装置において、
怒り対話か否かをラベル付けされた学習用対話テキストコーパスを用い、前記話者分割処理部、前記形態素解析処理部、前記発話内容冗長性特徴量抽出部及び前記発話内容情報性特徴量抽出部よりなるテキスト解析部の処理により算出された発話内容冗長性特徴量及び発話内容情報性特徴量の傾向を予め学習して前記感情識別器を生成する識別器生成部を具備することを特徴とする怒り感情推定装置。
【請求項５】
怒り感情推定装置が実行する怒り感情推定方法であって、
対話テキストを話者別のテキストに分割する話者分割処理過程と、
前記話者分割処理過程で分割された話者別のテキストの形態素を解析し、各話者別のテキストを形態素単位に分割した形態素解析結果を出力する形態素解析処理過程と、
前記形態素解析結果を用い、話者別のテキスト中の同じ内容語の出現頻度を表す指標である発話内容冗長性特徴量を、各話者別のテキストに対して求める発話内容冗長性特徴量抽出過程と、
前記形態素解析結果を用い、話者別のテキスト中の内容語の出現頻度を表す指標である発話内容情報性特徴量を、各話者別のテキストに対して求める発話内容情報性特徴量抽出過程と、
予め学習した感情識別器を用い、前記発話内容冗長性特徴量及び前記発話内容情報性特徴量の少なくとも一方を用いて前記対話テキストの対話が怒り対話か否かを推定する感情識別過程とを含むことを特徴とする怒り感情推定方法。
【請求項６】
請求項１乃至４記載のいずれかの怒り感情推定装置としてコンピュータを動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は複数の話者間の会話を書き起こした対話テキストに対し、「同じ内容を繰り返し発言しているか」、「発話内容にどれだけ情報量があるか」といった「対話における発話内容傾向に基づく言語的特徴」をもとに、一方の話者が怒っている対話（怒り対話）か否かを推定する怒り感情推定装置、怒り感情推定方法に関する。
【背景技術】
【０００２】
近年、企業の抱えるコールセンタに集まる顧客からの要望や不満といった生の声から、企業にとって何か有益な情報を得ようとする動きが盛んである。また、コールセンタは企業の顔という機能としても重要視され始め、顧客が企業に対して抱くイメージを向上させるために、コールセンタのサービスの質の向上にも企業は力を入れている。
【０００３】
そのような状況の中で、顧客が怒っているクレーム通話を自動で見つけ出す技術がこれまで以上に望まれている。クレーム通話を分析することで、顧客の強い要望や不満、商品・サービスの不具合や問題点の発見につながる。また、クレーム通話を引き起こすようなオペレータ応対の問題点の発見にもつながる。さらに、リアルタイムでオペレータの応対状況を監視することで、クレームの発生を迅速に検出して対応するといったことが可能になる。そのために、感情を自動で推定する技術が必要とされる。
【０００４】
「怒り」などの感情をテキストから推定する技術として、単語毎に予め対応する感情を感情語辞書として保持しておき、それをもとに入力テキストの感情状態を推定する技術がある（例えば、非特許文献１参照）。
【０００５】
感情語とは「感情を直接表したり、感情を生起させる単語」として定義される。怒りを直接表す感情語として、「怒る、いらいら、腹が立つ、憎い、むっとする」などがある。また、怒りを生起させる感情語として、「戦争、口論、喧嘩」などがある。入力テキストに対して、これらの感情語の出現頻度を計算し、算出された値をもとに感情を推定する技術が従来提案されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】菅原久嗣、アレナ  ネビアロスカヤ、石塚 満，「日本語テキストからの感情抽出」，The 23rd Annual Conference of the Japanese Society for Artificial Intelligence，2009，p.1-2
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述した従来技術では、事前に単語や表現とそれに対応する感情を定義しておかなければならなかった。それゆえ、以下、（１）〜（３）に示すような問題があった。
（１）従来技術のように単語毎に感情を対応付けていく場合、このような感情語辞書を一般的に網羅することはとても難しい。そのため、感情語辞書に登録されていない未知語を多く含む文章では感情推定が行えない。
（２）自由発話において感情語の出現頻度は少ない。例えば、怒りを表す感情語として「腹が立つ」、「むっとする」などが用いられるが、これらの言葉が自由発話の中で直接発せられることは少ない（怒っている話者が「私はむっとしている」などとは言わない）。そのため、正確に感情を推定するのが難しい。
（３）従来技術のように単語毎に感情を対応付ける場合、同一の単語でも使われ方や文脈によって、それにより生起される感情は変化する。例えば、怒りを表す感情語として「戦争」、「喧嘩」などが用いられるが、「夫婦円満のためには、たまには喧嘩もした方が良い」と言った場合の「喧嘩」からは「怒り」という感情は生起されにくい。そのため、誤って感情を推定してしまう問題が生じる。
【０００８】
この発明の目的はこのような問題に鑑み、感情語辞書を事前に用意する必要がなく、対話テキストの怒り感情を頑健に推定することが可能な怒り感情推定装置及び怒り感情推定方法を提供することにある。
【課題を解決するための手段】
【０００９】
請求項１の発明によれば、怒り感情推定装置は、対話テキストを話者別のテキストに分割する話者分割処理部と、話者分割処理部で分割された話者別のテキストの形態素を解析し、各話者別のテキストを形態素単位に分割した形態素解析結果を出力する形態素解析処理部と、形態素解析結果を用い、話者別のテキスト中の同じ内容語の出現頻度を表す指標である発話内容冗長性特徴量を、各話者別のテキストに対して求める発話内容冗長性特徴量抽出部と、形態素解析結果を用い、話者別のテキスト中の内容語の出現頻度を表す指標である発話内容情報性特徴量を、各話者別のテキストに対して求める発話内容情報性特徴量抽出部と、予め学習した感情識別器を用い、発話内容冗長性特徴量及び発話内容情報性特徴量の少なくとも一方を用いて対話テキストの対話が怒り対話か否かを推定する感情識別部とを具備する。
【００１０】
請求項２の発明では請求項１の発明において、対話音声を対話テキストに変換して話者分割処理部に出力する音声認識部を備える。
【００１１】
請求項３の発明では請求項２の発明において、対話音声から韻律的特徴量を求める韻律的特徴量抽出部を備え、感情識別部は発話内容冗長性特徴量及び発話内容情報性特徴量の少なくとも一方に加え、韻律的特徴量を用いて前記推定を行う。
【００１２】
請求項４の発明では請求項１の発明において、怒り対話か否かをラベル付けされた学習用対話テキストコーパスを用い、話者分割処理部、形態素解析処理部、発話内容冗長性特徴量抽出部及び発話内容情報性特徴量抽出部よりなるテキスト解析部の処理により算出された発話内容冗長性特徴量及び発話内容情報性特徴量の傾向を予め学習して感情識別器を生成する識別器生成部を具備する。
【００１３】
請求項５の発明によれば、怒り感情推定装置が実行する怒り感情推定方法は、対話テキストを話者別のテキストに分割する話者分割処理過程と、話者分割処理過程で分割された話者別のテキストの形態素を解析し、各話者別のテキストを形態素単位に分割した形態素解析結果を出力する形態素解析処理過程と、形態素解析結果を用い、話者別のテキスト中の同じ内容語の出現頻度を表す指標である発話内容冗長性特徴量を、各話者別のテキストに対して求める発話内容冗長性特徴量抽出過程と、形態素解析結果を用い、話者別のテキスト中の内容語の出現頻度を表す指標である発話内容情報性特徴量を、各話者別のテキストに対して求める発話内容情報性特徴量抽出過程と、予め学習した感情識別器を用い、発話内容冗長性特徴量及び発話内容情報性特徴量の少なくとも一方を用いて対話テキストの対話が怒り対話か否かを推定する感情識別過程とを含む。
【発明の効果】
【００１４】
この発明によれば、従来のように事前に感情語辞書を用意する必要がないため、手間がかからず、その点でコストを削減することができる。
【００１５】
また、感情語を用いないため、自由対話を書き起こしたテキストにおいても頑健な怒り感情の推定が可能になり、話の話題に依存せずに怒り感情を頑健に推定することができる。
【図面の簡単な説明】
【００１６】
【図１】発話内容冗長性を説明するための対話例を示すテキスト。
【図２】発話内容情報性を説明するための発話例を示すテキスト。
【図３】この発明による怒り感情推定装置の実施例１の機能構成を示すブロック図。
【図４】図３における感情識別器を生成するための構成を示すブロック図。
【図５】図３における話者分割処理部による処理例を示すテキスト。
【図６】この発明による怒り感情推定装置の実施例２の機能構成を示すブロック図。
【図７】図６における感情識別器を生成するための構成を示すブロック図。
【図８】この発明による怒り感情推定装置の実施例３の機能構成を示すブロック図。
【図９】図８における感情識別器を生成するための構成を示すブロック図。
【図１０】この発明による怒り感情推定装置の実施例４の機能構成を示すブロック図。
【図１１】図１０における分析対話区間抽出処理部の処理例を示す図。
【図１２】図１０に示した怒り感情推定装置の処理フローを示すフローチャート。
【図１３】図１０における対話感情判定部の処理例を説明するための図。
【発明を実施するための形態】
【００１７】
まず、最初に、この発明の着眼点、要点について説明する。
【００１８】
この発明では、感情語辞書のような特定の単語リストを事前に用意する必要がなく（特定の単語の出現傾向に依存することなく）、怒り対話テキストか否かを判定する。入力テキストが対話であることに着目する。対話の性質として、「短い１発話が時系列的に並んだデータである」、「相手話者に自分の意思を伝えることが目的」といったことがある。これらの対話の性質に着目し、話者別の対話における発話内容傾向に基づく言語的特徴（以下、対話的言語的特徴と言う）により判定を行う。
【００１９】
対話的言語的特徴として、
「同一話者がどれだけ同じ内容を繰り返し発言しているか」…発話内容冗長性
「１発話に含まれる情報量が多いか」…発話内容情報性
といった特徴を用いる。
【００２０】
・「発話内容冗長性」について説明する。
怒っている話者は同じことを何度も繰り返して話す傾向がある。例えば、コールセンタのような対話で顧客が怒って電話をかけてきた場合、通話の冒頭から最後まで繰り返し同じことについて延々と怒っていることが多い。同様に、怒られている話者も同じ内容を繰り返し説明することが多い。図１に示した対話例では顧客が「金額」、「請求書」を繰り返している。
【００２１】
・「発話内容情報性」について説明する。
怒っている話者は一つの発話に多くの情報を詰め込んで話す傾向がある。例えば、「“誰が”“誰に対し”“何について”怒っている」ということを一度にまくしたてるように話す。同様に、怒られている話者も、平常時に比べて丁寧に答えようと「“誰が”“誰に対し”“何について”」といったことを省略せずに話す傾向がある。図２に示した発話例では、怒っている際の顧客はより状況を詳細に伝えようと、平常時より多くの情報を多くオペレータに話している。怒られているオペレータは、より丁寧に返答しようと「私ども」、「契約の際の」などといった情報を省略せずに顧客に話している。
【００２２】
この発明では感情語に頼らずに上記のような「対話的言語的特徴」を用いることで、怒り対話の推定を可能にする。
【００２３】
この発明では、対話テキストが与えられたときに、
・各話者の単語繰り返し頻度
・各話者の内容語頻度
を計算する。これらの値を統合し、繰り返し頻度や内容語頻度が高ければ、怒り対話であると判定する。
【００２４】
以下、この発明の実施例を図面を参照して説明する。
【実施例１】
【００２５】
図３はこの発明による怒り感情推定装置の実施例１の機能構成を示したものである。
【００２６】
怒り感情推定装置はテキスト解析部１０と感情識別部２０と感情識別器３０とによって構成されており、テキスト解析部１０は話者分割処理部１１と形態素解析処理部１２と発話内容冗長性特徴量抽出部１３と発話内容情報性特徴量抽出部１４とを具備している。
【００２７】
図４は事前処理として、図３における感情識別器３０を生成するための構成を示したものであり、図４中、４０は識別器生成部を示し、５０は学習用対話テキストコーパスを示す。
【００２８】
以下、各部の処理内容を説明する。
【００２９】
＜話者分割処理部１１＞
・入力：対話テキスト
・出力：話者別のテキスト
・処理内容：
対話を書き起こしたテキストに対し、話者別のテキストへの分割を行う。対話を書き起こしたテキストとは例えば図５に示したようなテキストを指し、図５に示したように話者別のテキストに分割する。なお、事前に話者別に書き起こされていた場合には本処理は不要となる。
【００３０】
＜形態素解析処理部１２＞
・入力：話者別のテキスト
・出力：形態素解析結果（形態素単位に分かち書きされたテキスト）
・処理内容：
話者別のテキストの形態素解析を行い、文章を形態素単位に分割して出力する。形態素とは言語的に意味を持つ最小単位のことである。形態素解析技術としては、従来技術を用いることができる。例えば、「私は少女を見た」という文を形態素解析すると、単語及び品詞を「／」で区切った形式の形態素解析結果
私［名詞］／は［格助詞］／少女［名詞］／を［格助詞］／見た［動詞］
が得られる。
【００３１】
＜発話内容冗長性特徴量抽出部１３＞
・入力：形態素解析結果
・出力：発話内容冗長性特徴量
・処理内容：
話者別のテキストの各形態素解析結果に対して、発話内容冗長性特徴量をそれぞれ計算する。形態素解析された入力テキストＴに対して、ｎＴはＴに含まれる内容語数とする。内容語とは、名詞、動詞、形容詞などである。また、入力テキストＴ中の異なり内容語数を_ｎＴとする。異なり内容語数とは、同じ単語は１度しかカウントしない場合の内容語数である。例えば、形態素解析された入力テキストＴを「／請求書／の／金額／が／おかしい／ん／だよ／なんで／こんな／金額／が／請求書／に／載っ／て／いる／ん／だ」とした場合、内容語は「請求書、金額、おかしい、金額、請求書、載っ」となり、内容語数ｎＴは６、異なり内容語数_ｎＴは４となる。
【００３２】
発話内容冗長性特徴量は入力テキスト中に同じ単語がどれだけ繰り返し出現しているかを表す指標である。そこで、発話内容冗長性特徴量Ｒを例えば下記の式で算出する。
【００３３】
Ｒ＝１／（_ｎＴ／ｎＴ）
これは、全内容語中にどれだけ異なった内容語が出現したかを示す割合の逆数である。全て全く異なる内容語を語っていれば、Ｒの値は１で最小となり、同じ内容語を何度も繰り返しているほど、Ｒの値は大きい値となる。上記の例では、Ｒは１／（４／６）＝1.5となる。Ｒの値が大きくなるほど、冗長性が高いことを意味する。
【００３４】
一方、単に内容語の数でＲを求めるのではなく、ＴＦ−ＩＤＦのような単語重要度を算出する従来技術と組み合わせても良い。入力テキストＴ中の全内容語をｗｉ（ｉ＝１，２，…，ｎＴ）とする。また、ｗｉの単語重要度をＩｉとする。Ｔ中の異なり内容語をｗ’ｉ（ｉ＝１，２，…，_ｎＴ）とする。また、ｗ’ｉの単語重要度をＩ’ｉとする。その際にＲを下記の式で算出する。
【００３５】
Ｓｗ＝ΣＩｉ（ｉ＝１，２，…，ｎＴ）
Ｓ’ｗ＝ΣＩ’ｉ（ｉ＝１，２，…，_ｎＴ）
Ｒ＝Ｓｗ−Ｓ’ｗ
重要な（話題を示す）単語が繰り返し出現しているほど、Ｒの値は大きくなり、冗長性が高いことを意味する。
【００３６】
最終的に、発話内容冗長性特徴量Ｒの値を出力する。
【００３７】
なお、事前に適当な値の閾値ＸＲを設定しておき、ＲがＸＲより大きな値であれば、入力テキストは冗長性ありということで１を出力し、ＲがＸＲ以下であれば、入力テキストは冗長性なしということで０を出力するようにしても良い。
【００３８】
閾値ＸＲは事前に学習用対話テキストコーパス５０を用いて目的に合わせた適当な値を決めておく。例えば、学習用対話テキストコーパス５０に対し、怒っている対話（怒り対話）とそうでない対話（平常対話）の発話内容冗長性特徴量を計算しておく。推定精度の適合率を高める場合には、計算した値をもとに厳しい基準の閾値ＸＲを決定しておく。
【００３９】
＜発話内容情報性特徴量抽出部１４＞
・入力：形態素解析結果
・出力：発話内容情報性特徴量
・処理内容：
話者別のテキストの各形態素解析結果に対して、発話内容冗長性特徴量をそれぞれ計算する。形態素解析された入力テキストＴに対して、ｍＴはＴに含まれる形態素数とする。例えば、形態素解析された入力テキストＴを「／請求書／の／金額／が／おかしい／ん／だよ／なんで／こんな／金額／が／請求書／に／載っ／て／いる／ん／だ」とした場合、形態素数ｍＴの値は１８となる。
【００４０】
発話内容情報性特徴量は入力テキスト中にどれだけ情報が多く含まれているかを表す指標である。情報を持つ単語として内容語を用いる。そこで、発話内容情報性特徴量Ｈを下記の式で算出する。
【００４１】
Ｈ＝ｎＴ／ｍＴ
これは、全形態素中にどれだけ内容語が出現したかを示す割合である。内容語を全く含まなければ、Ｈの値は０で最小となり、内容語が多く出現しているほど、Ｈの値は大きい値となる。全て内容語であった場合に、Ｈの値は１となり、最大となる。上記の例では、Ｈは６／１８≒0.33となる。Ｈの値が大きくなるほど、情報性が高い（情報量が多い）ことを意味する。なお、内容語数ｎＴの生値をそのままＨの値としても良い。
【００４２】
一方、単に内容語の数でＨを求めるのではなく、ＴＦ−ＩＤＦのような単語重要度を算出する従来技術と組み合わせても良い。例えば、Ｈを下記の式で算出する。
【００４３】
Ｓｗ＝ΣＩｉ（ｉ＝１，２，…，ｎＴ）
Ｈ＝Ｓｗ
重要な（話題を示す）単語が多く出現しているほど、Ｈの値は大きくなり、情報性が高い（情報量が多い）ことを意味する。
【００４４】
最終的に、発話内容情報性特徴量Ｈの値を出力する。
【００４５】
なお、事前に適当な値の閾値ＸＨを設定しておき、ＨがＸＨより大きな値であれば、入力テキストは情報性ありということで１を出力し、ＨがＸＨ以下であれば、入力テキストは情報性なしということで０を出力するようにしても良い。
【００４６】
閾値ＸＨは事前に学習用対話テキストコーパス５０を用いて目的に合わせた適当な値を決めておく。例えば、学習用対話テキストコーパス５０に対し、怒り対話と平常対話の発話内容情報性特徴量を計算しておく。推定精度の適合率を高める場合には、計算した値をもとに厳しい基準の閾値ＸＨを決定しておく。
【００４７】
＜感情識別部２０＞
・入力：話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上 
・出力：感情（「怒り」／「平常」）の推定結果
・処理内容：
話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上を入力として、事前に学習した感情識別器３０を用いて、感情の推定を行う。
【００４８】
例えば、コールセンタ対話として話者をオペレータと顧客とした場合、各話者それぞれの発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈの計4つのうち，いずれか1つ以上を用いて特徴量ベクトルを生成する。いずれか1つだけを用いた場合は、特徴量ベクトルは特徴量と同義である。
【００４９】
生成された特徴量ベクトルをもとに 感情識別器３０を用いて識別を行い、入力テキストの対話が怒り対話か否かを推定し、推定結果を出力する。ここで、感情識別器へ入力する特徴量ベクトルと、感情識別器生成時に学習された特徴量ベクトルとは、種類が同じものとする。例えば、コールセンタ対話の場合、オペレータの発話内容冗長性特徴量Ｒ、顧客の発話内容情報性特徴量Ｈの２つを用いて特徴量ベクトルを生成した場合には、オペレータの発話内容冗長性特徴量Ｒ、顧客の発話内容情報性特徴量Ｈの２つを用いた特徴量ベクトルを学習した感情識別器を用いる。出力は「怒り」もしくは「平常」となる。怒り対話か否かの推定は、各話者別に生成された特徴量ベクトルをもとにそれぞれ識別された結果、少なくとも一方が「怒り」と判定された場合、対話を怒り対話と推定する。
【００５０】
なお、感情識別部２０が尤度も併せて算出するものであれば、尤度が事前に定めた閾値以上であった場合、「怒り」と判定する。
【００５１】
閾値は事前に学習用対話テキストコーパス５０を用いて調整を行っておく。適合率を優先したい場合には閾値を高め（厳しめ）に設定しておき、再現率を優先したい場合には閾値を低く（ゆるく）設定する。これにより、適合率と再現率のバランスを変えて判定することが可能になる。閾値の値や尤度のレンジなどは、用いる感情識別器３０によって異なる。
【００５２】
＜学習用対話テキストコーパス５０＞
事前処理として、学習に用いる対話テキストコーパス５０は、事前に人手で対話や対話中の各発話に「怒っている」「怒っていない」とラベル付けされたデータである。
【００５３】
＜識別器生成部４０＞
・入力：話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上
・出力：感情識別器
・処理内容：
学習用対話テキストコーパス５０を使用し、テキスト解析部１０の処理により算出された話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上をもとに、感情識別器３０を生成する。即ち、怒っている対話と怒っていない対話（もしくは怒っている発話を含む対話区間と怒っていない発話を含む対話区間）の各特徴量Ｒ，Ｈの値の傾向を学習し、感情識別器３０を生成する。
【００５４】
感情識別器３０を生成する手法として機械学習手法がある。学習アルゴリズムとしては様々なものがあるが、例えば線形判別法やサポートベクターマシン、ニューラルネットなどを用いる。
【実施例２】
【００５５】
図６はこの発明による怒り感情推定装置の実施例２の機能構成を示したものであり、図７は図６における感情識別器３０を生成するための構成を示したものである。この例では入力が実施例１と異なり、対話音声となっており、対話音声を入力として対話テキストと単語毎の認識信頼度を出力する音声認識部を有する。感情識別器３０の生成においては図７に示したように学習用対話音声コーパス７０が使用される。音声認識部６０及び実施例１と処理内容が異なる発話内容冗長性特徴量抽出部１３と発話内容情報性特徴量抽出部１４について説明する。その他の構成で行われる処理内容は、実施例１と同じである。
【００５６】
＜音声認識部６０＞
・入力：対話音声
・出力：話者毎の対話テキスト，単語毎の認識信頼度
・処理内容：
対話音声を対話テキストへ変換する。音声をテキスト化する技術として、音声認識技術がある。入力音声が話者別にステレオ録音されている場合はモノラル録音よりも音声認識が容易である。モノラル録音の場合は、話者別に音声を識別するための手段と併用する必要がある。例えば、音声スペクトルを特徴量とし、ＧＭＭ（Gaussian Mixture Model）を用いる方法などがある。
【００５７】
音声認識部６０は話者毎の音声認識結果を対話テキストとしたものと音声認識結果の単語毎の認識信頼度を出力する。
【００５８】
＜発話内容冗長性特徴量抽出部１３＞
・入力：形態素解析結果，単語毎の認識信頼度
・出力：発話内容冗長性特徴量
・処理内容：
音声認識部６０からは音声認識結果と共に単語毎の認識信頼度が出力される。認識信頼度とは認識結果の尤もらしさの信頼性を示す値である。認識信頼度が高ければ、認識結果が正しいと推測される。認識信頼度が低ければ、認識結果が誤っていると推測される。従って、この例では、例えば内容語数ｎＴや異なり内容語数_ｎＴをカウントする際に、認識信頼度が事前に定めた閾値より低い場合は信頼性が低いとしてカウント対象としない、もしくは認識信頼度が事前に定めた閾値より高い場合のみカウント対象とする。
【００５９】
＜発話内容情報性特徴量抽出部１４＞
・入力：形態素解析結果，単語毎の認識信頼度
・出力：発話内容情報性特徴量
・処理内容：
発話内容冗長性特徴量抽出部１３と同様、音声認識部６０から出力される単語毎の認識信頼度をもとに、この例では内容語数ｎＴや形態素数ｍＴをカウントする際に、認識信頼度が事前に定めた閾値より低い場合は信頼性が低いとしてカウント対象としない、もしくは認識信頼度が事前に定めた閾値より高い場合のみカウント対象とする。
【実施例３】
【００６０】
入力が音声の場合、従来技術である声の高さや大きさなどといった韻律情報を組み合わせて用いても良い。韻律情報は感情の識別に有効であることは一般的に知られている。
【００６１】
実施例３では入力された対話音声に対して、韻律的特徴（ピッチやパワーなど）を計算し、それらの平均値や最大・最小値、分散値などを韻律的特徴量として用いる。さらに、動的特徴量としてピッチやパワーなどの微分値や二回微分値も特徴量として用いても良い。これにより、識別性能を向上させることが可能になる。
【００６２】
図８はこの発明による怒り感情推定装置の実施例３の機能構成を示したものであり、図９は図８における感情識別器３０を生成するための構成を示したものである。この例では韻律的特徴量を抽出する韻律的特徴量抽出部８０を有する。韻律的特徴量抽出部８０及び実施例２と処理内容が異なる感情識別部２０について説明する。その他の構成で行われる処理内容は、実施例２と同じである。
【００６３】
＜韻律的特徴量抽出部８０＞
・入力：対話音声
・出力：韻律的特徴量
・処理内容：
入力された対話音声に対し、韻律的特徴量を計算する。韻律的特徴とはピッチ（声の高さ）やパワー（声の大きさ）などである。ピッチやパワーの計算方法としては、従来技術を用いる。実際に用いる韻律的特徴量としては、ピッチやパワーの平均値や最大・最小値、分散値などである。さらに、急峻な立ち上がりなど変動の大きさを捉えるために、ピッチやパワーなどの微分値や二回微分値を用いても良い。
【００６４】
＜感情識別部２０＞
・入力：話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上
・出力：感情（「怒り」／「平常」）の推定結果
・処理内容：
話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上に加え、韻律的特徴量のうちいずれか１つ以上を入力として、事前に学習した感情識別器３０を用いて、感情の推定を行う。
【００６５】
この例では話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上に加え、韻律的特徴量のうちいずれか１つ以上を用いて特徴量ベクトルを生成する。
【００６６】
生成された特徴量ベクトルをもとに感情識別器３０を用いて識別を行い、入力音声の対話が怒り対話か否かを推定し、推定結果を「怒り」もしくは「平常」として出力する。
【実施例４】
【００６７】
対話テキスト（音声）の冒頭から末尾まで全てを用いて全体判定（一括判定）するのではなく、対話中の任意の対話区間を抽出して各対話区間毎に判定を行い、その結果をもとに最終的に怒り対話か平常対話かの判定を行っても良い。対話中の全区間を用いた判定としないメリットとして、
・１つの対話中に複数の話題が含まれることがあり、話題の変化がある場合、正しい発話内容冗長性特徴量を計算することができない。このような話題の変化がある場合でも頑健に判定を行うことが可能になる。
・対話の途中から怒りだしたり、途中で怒りが収まったりすることがある。対話全体で判定を行うと特徴（特徴量）が鈍ってしまい、誤判定につながる。このような場合に対しても頑健に判定を行うことが可能になる。
といったことがある。
【００６８】
各対話区間毎に判定を行うこの発明による怒り感情推定装置の実施例４の機能構成を図１０に示す。なお、図１０では対話テキストが入力されるものとしているが、対話音声を入力として、実施例２に記載の音声認識部６０、発話内容冗長性特徴量抽出部１３及び発話内容情報性特徴量抽出部１４を有する構成としてもよい。また、実施例３に記載の韻律的特徴量を用いる構成としてもよい。
【００６９】
実施例４では対話区間を抽出する分析対話区間抽出処理部９０と対話感情判定部１００を有する。分析対話区間抽出処理部９０、対話感情判定部１００について説明する。その他の構成で行われる処理内容は、実施例１と同じである。
【００７０】
＜分析対話区間抽出処理部９０＞
・入力：対話テキスト
・出力：対話区間
・処理内容：
ある事前に定めた長さの対話区間（分析対話区間）を抽出する。長さの単位としては、例えば発話数などがある。抽出対象とする区間は先頭発話を事前に定めたシフト幅ずつシフトさせ、対話の最後に達するまで繰り返す。分析対話区間の発話数を４（顧客発話：２，オペレータ発話：２）とし、シフト幅を２（顧客発話：１，オペレータ発話：１）とした場合の分析対話区間抽出例を図１１に示す。
【００７１】
対話全体に対し、処理するのではなく、区間を区切って判定を行うことで、対話の一部だけ怒っていたりするような場合でも頑健に判定することが可能となる。長い対話の一部だけ怒っていた場合に、全体の傾向を用いて判定を行うと、怒っていないと判定してしまう可能性がある。またシフトさせていくことで、対話中の怒っている区間を特定することが可能となる。
【００７２】
＜対話感情判定部１００＞
・入力：分析対話区間毎の感情（「怒り」／「平常」）の推定結果
・出力：対話全体の感情（「怒り」／「平常」）の判定結果
・処理内容：
感情識別部２０から出力される分析対話区間毎の感情推定結果（「怒り」／「平常」）をもとに怒り対話か平常対話かの判定を行う。判定の方法としては、事前に定めておいた閾値Ｘａより怒りとして判定された分析対話区間の数が多ければ「怒り対話」とするものでも良い。または、数ではなく対話全区間数中の怒りと判定された対話区間の割合を用いても良い。
【００７３】
図１２はこの実施例４における処理フローを示したものである。
【００７４】
怒り感情推定装置に対話テキストが入力される（ステップＳ１）と、分析対話区間抽出処理部９０は分析対話区間を抽出する（ステップＳ２）。抽出された分析対話区間はテキスト解析部１０に入力されてテキスト解析され（ステップＳ３）、話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上が感情識別部２０に出力される。感情識別部２０は感情識別器３０を用い、入力された話者毎の発話内容冗長性特徴量Ｒ、発話内容情報性特徴量Ｈのうち、1つ以上を用いて感情識別を行う（ステップＳ４）。先頭発話から最後の発話に達するまで、ステップＳ２〜Ｓ４の処理が繰り返され、対話の最後まで処理すると（ステップＳ５）、対話感情判定部１００は分析対話区間毎の感情識別結果をもとに、怒り対話か平常対話かの感情判定を行い（ステップＳ６）、その結果を出力する（ステップＳ７）。
【００７５】
以上の処理において、ステップＳ６で対話感情判定を行う際に、事前にスムージング処理を行っても良い。スムージング処理を行う効果は、誤って判定されてしまった結果の影響を軽減することである。
【００７６】
スムージングの方法としては、例えば事前に定めた任意の分析対話区間数（スムージング幅）を用いて、多数決で多い方の結果を用いるという方法がある。スムージング幅＝５（前後各２）とした場合のスムージング処理例を図１３に示す。
・分析窓１では怒り区間が４つ、平常区間が１つなので、Ｄ１は怒り区間となる。
・分析窓２では怒り区間が３つ、平常区間が２つなので、Ｄ２は怒り区間となる。
・分析窓３では怒り区間が２つ、平常区間が３つである。この際、前のスムージング結果（分析窓２におけるＤ２）の結果は反映しない。結果、Ｄ３は平常区間となる。なお、前のスムージング結果を反映させても良い。その場合は、分析窓３は怒り区間が３つ、平常区間が２つなので、Ｄ３は怒り区間のままとなる。
【００７７】
感情識別部２０が尤度を結果として出力する場合は、各分析対話区間の尤度の平均値が閾値Ｘａより大きかった場合を怒り対話とするものでも良い。その際、尤度に対してスムージングを行っても良い。スムージング方法としては、移動平均などがある。
【００７８】
なお、感情識別部２０から感情を出力として得られるようにすれば、各分析対話区間の感情を順次、得ることができ、これにより怒っている区間を特定することができる。
【００７９】
以上、各種実施例で説明したように、この発明では話者別のテキストの形態素解析結果から、同じ内容語の出現頻度を表す発話内容冗長性特徴量と、内容語の出現頻度を表す発話内容情報性特徴量を求め、それら特徴量から感情識別器を用いて怒り対話か平常対話かを推定するものとなっており、よって従来のように感情語辞書は必要ではなく、汎用性に優れ、怒り感情を頑健に推定することができる怒り感情推定装置を得ることができる。
【００８０】
上述した怒り感情推定装置、怒り感情推定方法はコンピュータと、コンピュータにインストールされた怒り感情推定プログラムによって実現することができる。コンピュータにインストールされた怒り感情推定プログラムはコンピュータのＣＰＵによって解読されてコンピュータに上述した怒り感情推定方法を実行させる。
【図１】
0005506738.tif 000002
【図２】
0005506738.tif 000003
【図３】
0005506738.tif 000004
【図４】
0005506738.tif 000005
【図５】
0005506738.tif 000006
【図６】
0005506738.tif 000007
【図７】
0005506738.tif 000008
【図８】
0005506738.tif 000009
【図９】
0005506738.tif 000010
【図１０】
0005506738.tif 000011
【図１１】
0005506738.tif 000012
【図１２】
0005506738.tif 000013
【図１３】
0005506738.tif 000014