説明

対話学習装置、要約装置、対話学習方法、要約方法、プログラム

【課題】要約装置構築のコストを低減し、要約の精度を向上する。
【解決手段】本発明の対話学習装置は、各対話に含まれる発話にトピックラベルが付与されたN個の対話と各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルを用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルを学習し、隠れマルコフモデルのすべての状態をエルゴディックに接続して、隠れマルコフモデルを作成する。本発明の要約装置は、特徴量抽出部、トピックラベル付与部、ドメイン推定部、選択部を備える。トピックラベル付与部は、発話ごとに、当該発話に含まれる単語から尤もらしいトピックを推定して、トピックラベルとして当該発話に付与する。ドメイン推定部は、各発話のドメインを推定する。選択部は、対話とドメインが一致する発話を、当該対話の中から選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデル(Hidden Markov model,HMM)を作成する対話学習装置と対話学習方法、および、作成された隠れマルコフモデルを用いて要約を作成する要約装置と要約方法、さらには対話学習装置または要約装置としてコンピュータを機能させるプログラムに関する。
【背景技術】
【0002】
テキストデータの要約研究は多く、マルチメディアデータの要約として動画のシーン抽出やハイライト生成なども行われている。ハイライト生成の機能は一般のビデオデッキに搭載されるような一般的なものになっている。テキストの要約手法としては、文書の最初のN文を抽出する方法(LEAD法)や機械学習の手法によって重要な文を特定し、それらを抽出する方法(例えば,非特許文献1,非特許文献2)などがある。また、近年では、要約を整数計画問題(ILP)と置いて、重要と考えられる単語を最も多く被覆するような文を選択する手法も考案されている(例えば,非特許文献3)。
【0003】
非特許文献1〜3は、1つのドメインを対象とした要約技術であり、複数ドメインを含むテキストの要約を行う技術ではない。ドメインごとの要約装置を構築する技術として、非特許文献4が知られている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Kupiec, Julian, Jan Pedersen, and Francine Chen, “A trainable document summarizer”, In Proceedings of the 18th annual international ACM SIGIR conference on Research and Development in information retrieval (SIGIR), pp.68-73, 1995.
【非特許文献2】Osborne, Miles, “Using maximum entropy for sentence extraction”, In Proceedings of the ACL-02 Workshop on Automatic Summarization, pp.1-8, 2002.
【非特許文献3】Gillick, Dan and Benoit Favre, “A scalable global model for summarization”, In proceedings of the Workshop on Integer Linear Programming for Natural Language Processing, pp.10-18, 2009.
【非特許文献4】Barzilay, Regina and Lillian Lee, “Catching the draft: Probabilistic content models, with applications to generation and summarization”, In proceedings of the Human Language Technology Conference of the North American Chapter of the Association for Computational Linguistics (HLT-NAACL), pp.113-120, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献4の技術の場合、学習データがドメインごとに必要で、要約装置作成のコストが高いという問題があった。また、あるドメインの要約装置の構築に他のドメインのデータを用いていないため、有用な情報が他のドメインのデータにある可能性があるにも関わらず用いていないという問題があった。例えば、あるドメインに顕著に現れる系列はそれだけを見ると重要だと考えられるが、他のドメインにも現れるのであれば重要でない可能性もある、従来は、このような場合を考慮していない。
【0006】
本発明は、要約装置構築のコストを低減すること、要約の精度を向上することを目的とする。
【課題を解決するための手段】
【0007】
まず、K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数、T、Vは2以上の整数、tは1以上T以下の整数、vは1以上V以下の整数、Uは2以上の整数、uは1以上U以下の整数とする。本発明の対話学習装置は、複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデルMを作成する。
【0008】
本発明の第1の対話学習装置は、第1モデル学習部を備える。第1モデル学習部は、各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データd,…,dと各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルME0を作成する。そして、隠れマルコフモデルME0を、発話ごとのドメインを推定するための隠れマルコフモデルMとする。なお、トピックラベルは、例えば次のように付与されたものを用いればよい。対話dごとに、内容語である単語w,…,wとその単語の出現回数c,…,cの組<w,c>,…,<w,c>を生成して特徴量とする。そして、あらかじめトピックの数Tを定めておき、前記特徴量<w,c>から、単語wごとにトピックzを生成する確率P(z|w)を示すトピックモデルを作成する。そして、発話ごとに、当該発話に含まれる単語と前記トピックモデルから尤もらしいトピックを推定して、トピックラベルとして当該発話に付与する。ただし、トピックラベルを付与する方法はこの方法に限定する必要はなく、トピックモデルの代わりに、単語や発話とトピックとを対応つけた表などを作成しておき、その表を利用してもよい。
【0009】
本発明の第2の対話学習装置は、第1モデル学習部、第2モデル学習部、モデル連結部を備える。第2モデル学習部は、すべての対話から話者の発話を出力する状態を持つ1つの隠れマルコフモデルMを学習する。モデル連結部は、マルコフモデルMと隠れマルコフモデルME0のすべての状態をエルゴディックに接続して、隠れマルコフモデルMを作成する。
【0010】
本発明の第3の対話学習装置は、第1モデル学習部、第2モデル学習部、第1モデル連結部、再学習部、第2モデル連結部、繰返し判定部を備える。第1モデル連結部は、隠れマルコフモデルMのそれぞれとマルコフモデルMのコピーとをペアにし、ペア内のすべての状態を接続して、隠れマルコフモデルM1+0,…,MK+0を作成する。再学習部は、隠れマルコフモデルM1+0,…,MK+0を初期モデル、時系列データd,…,dとドメインラベルDM(d),…,DM(d)を学習データとして与えて隠れマルコフモデルM1+0,…,MK+0を再学習する。第2モデル連結部は、再学習された隠れマルコフモデルM1+0,…,MK+0を連結し、1つの隠れマルコフモデルMとする。繰返し判定部は、隠れマルコフモデルM1+0,…,MK+0について、学習データに対して所定以上の尤度の改善があるかによって再学習部と第2モデル連結部の処理を繰り返すかを判定する。
【0011】
本発明の要約装置は、対話学習装置によって作成された隠れマルコフモデルMを用いて、対話のドメインが既知の対話の要約を作成する。本発明の要約装置は、特徴量抽出部、トピックラベル付与部、ドメイン推定部、選択部を備える。特徴量抽出部は、要約作成の対象である対話の時系列データdに含まれる単語w,…,wとその単語の出現回数c,…,cの組<w,c>,…,<w,c>を生成して特徴量とする。トピックラベル付与部は、対話の時系列データdに含まれる発話ごとに、当該発話に含まれる単語から尤もらしいトピックを推定して、トピックラベルとして当該発話に付与する。ドメイン推定部は、隠れマルコフモデルMを用いて、対話の時系列データdの各発話が隠れマルコフモデルMのどのドメインの状態から出力されたかを推定することで各発話のドメインを推定する。選択部は、対話のドメインと一致するドメインの発話を、当該対話の中から選択する。
【発明の効果】
【0012】
本発明の対話学習装置によれば、複数ドメインのデータのすべてを入力とし,各ドメインに特徴的な系列を同時にモデル化する。また、本発明の要約装置によれば、あるドメインのデータの要約を行うとき、このドメインに特徴的な系列に該当する箇所のみを抽出することにより要約を行う。したがって、ドメインごとに要約装置を構築する必要がないので要約装置構築のコストが低くなる。また、ドメイン全体の情報を利用して各ドメインに特徴的な系列をモデル化できるため、単一のドメインから系列をモデル化する手法(例えば、非特許文献4)と比較して、要約の精度向上が期待できる。
【図面の簡単な説明】
【0013】
【図1】SHMMのトポロジを示す図。
【図2】実施例1の要約装置の機能構成例を示す図。
【図3】実施例1の要約装置の処理フローを示す図。
【図4】エルゴティック0の場合の話者が2人、ドメインが2つの場合の隠れマルコフモデルMのイメージを示す図。
【図5】エルゴティック1の場合の話者が2人、ドメインが2つの場合の隠れマルコフモデルMのイメージを示す図。
【図6】実施例2の要約装置の機能構成例を示す図。
【図7】実施例2の要約装置の処理フローを示す図。
【図8】実施例3の要約装置の機能構成例を示す図。
【図9】実施例3の要約装置の処理フローを示す図。
【図10】実施例3の学習機能の各ステップで作成される隠れマルコフモデルのイメージを示す図。
【図11】実験での各シナリオの統計情報を示す図。
【図12】初回のデータ(学習データ)の統計情報を示す図。
【図13】第二回のデータ(テストデータ)の統計情報を示す図。
【図14】実験の評価結果を示す図。
【図15】学習された連結3の隠れマルコフモデルをグラフとして可視化したものを示す図。
【発明を実施するための形態】
【0014】
本明細書では、「対話」は複数の話者の「発話」のまとまり、「単語」は内容語(名詞、動詞、形容詞、未知語、感動詞)を指し、「発話」は1つ以上の「単語」で構成されているとする。例えば、話者A「こんにちは。私はライオンが好きです。」、話者B「私もです。」という対話を例に説明する。全体が「対話」であり、この対話は話者Aの「発話」と話者Bの「発話」(2つの「発話」)で構成されている。なお、「話者」は、自然人の場合もあるし、発話システムなどの装置の場合もある。
【0015】
<前提>
コンタクトセンタ(お客様センタ)に寄せられる対話データを要約する要約装置を例にとって説明する。コンタクトセンタは顧客のさまざまな要求に答える必要があるため、コンタクトセンタが扱う対話データの種類はさまざまである。ここで、種類とは、例えば、故障受付や集金処理などを指す。つまり、コンタクトセンタは複数の種類(ドメイン)に分かれた大量の対話データを扱っている。
【0016】
ここでは、このようなデータを要約することを考える。コンタクトセンタのオペレータは自分の対話を見返して自分の応対が適切だったかどうかを振り返ることが多いとされる。要約技術は対話の重要な箇所のみを提示できるため、このような振り返りに有用である。本発明では,最初にClass Speaker HMM(CSHMM)という隠れマルコフモデル(Hidden Markov model,HMM)を複数ドメインのデータから学習する。このHMMは複数ドメインのデータを入力して、各ドメインに特徴的に現れる系列を同時に学習することができる。そして、このHMMを用いて各ドメインの対話データからそのドメインに特徴的な箇所のみを抽出することで要約する。以降、まず、CSHMMについて詳述し、次いで、対話学習装置と要約装置の実施例について説明する。
【0017】
<CSHMM>
CSHMMは、Speaker HMM(SHMM)を拡張し、系列の分類問題に適用できるようにしたものである(参考文献1:Toyomi Meguro, Ryuichiro Higashinaka, Kohji Dohsaka, Yasuhiro Minami, and Hideki Isozaki, “Analysis of listening-oriented dialogue for building listening agents”, In Proc. SIGDial, pp.124-127, 2009.)。SHMMは2つの状態を持ち、各状態はそれぞれ話者1、話者2の発話(発話内容を表すシンボル)を出力する。各状態はどの状態にも遷移可能である。このようなHMMは、対話行為列を話者のターン切り替えを考慮してHMMでモデル化する際に用いられる。例えば、参考文献1では、聞き役対話のモデル化にSHMMが使用されている。
【0018】
図1にSHMMのトポロジを示す。図1のHMMは2つの状態を持ち、各状態はそれぞれ話者1、話者2の対話行為を出力する。各状態はどの状態にも遷移可能である。図1のように1つの状態からは1人の話者の対話行為を出力させれば、話者ごとの対話行為を把握しやすい。しかし、1つの状態から2人の話者の対話行為を出力するようなHMMでモデル化することも可能である。また、状態数を変動させることは容易である。学習では、学習データによって各状態における出力確率や状態間の遷移確率が決定される。学習方法としてはEMアルゴリズムが有名であり、本発明においてもHMMの学習ではEMアルゴリズムを用いればよい。
【0019】
以下、本発明の実施例について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。また、以下の説明では、CSHMMやSHMMも区別せず、隠れマルコフモデル(HMM)と表現する。また、K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数、T、Vは2以上の整数、tは1以上T以下の整数、vは1以上V以下の整数、Uは2以上の整数、uは1以上U以下の整数とする。
【実施例1】
【0020】
図2に実施例1の要約装置の機能構成例、図3に実施例1の要約装置の処理フローを示す。要約装置50は、複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデル(Hidden Markov model,HMM)Mを作成する。そして、隠れマルコフモデルMを用いて、対話のドメインが既知で発話のドメインは未知の対話の要約を作成する。要約装置50は、入出力部110、第1モデル学習部120、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165、ドメイン推定部170、選択部175、記録部90を備える。
【0021】
<対話学習>
対話学習では、以下のような処理を行う。入出力部110は、N個の対話の時系列データ(d,…,d)、各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)、各発話がどのドメインに該当するのかを示す情報を、学習データとして受け取る(S111)。学習データの各発話にトピックラベルが付与されていない場合には、次のステップS151、S160、S166を行う。特徴量抽出部150は、対話dごとに、内容語である単語w,…,wとその単語の出現回数c,…,cの組<w,c>,…,<w,c>を生成して特徴量とする(S151)。なお、この特徴量は、いわゆるbag-of-wordsである。トピックモデル学習部160は、あらかじめトピックの数Tを定めておき、特徴量<w,c>から、単語wごとにトピックzを生成する確率P(z|w)を示すトピックモデルを作成する(S160)。トピックラベル付与部165は、発話ごとに、当該発話に含まれる単語とトピックモデルから尤もらしいトピックを推定して、トピックラベルとして当該発話に付与する(S166)。具体的には、発話に含まれる単語についてのP(z|w)の合計が最大となるトピックzを当該発話のトピックとして推定すればよい。なお。学習データの各発話にトピックラベルが付与されている場合には、ステップS151、S160、S166は行う必要はない。ただし、この場合には、要約作成時のために構築済みのトピックモデルを用意しておくか、特徴量からトピックを推定する方法をあらかじめ定めておけばよい。
【0022】
トピックモデルは対話データ中の各発話を一つのトピックラベルに落とし込む処理に必要である。この処理は、HMMへの入力があまりに高次元になると学習が困難になるため、これを回避するために行う。同様の処理は非特許文献4でも使用されている。トピックモデルを作る方法としては、PLSA(probabilistic latent semantic analysis)やLDA(latent Dirichlet allocation)が有名である。どちらを使用してもよい。
【0023】
第1モデル学習部120への入力は、各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データ(d,…,d)、各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)、各発話がどのドメインに該当するのかを示す情報である。そして、第1モデル学習部120は、これらの情報を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルME0を作成し、記録部90に記録する(S120)。本実施例の場合、記録部90に記録された隠れマルコフモデルME0が、ドメインの推定を行うときに用いる隠れマルコフモデルMとなる。また、以降、隠れマルコフモデルME0を「エルゴディック0」と呼ぶ。
【0024】
本実施例では、図1に示したHMMをドメインごとに用いる。図4は、エルゴティック0の場合の話者が2人、ドメインが2つの場合の隠れマルコフモデルMのイメージを示している。図4のHMMは2つの状態を持ち、各状態はそれぞれ話者1、話者2の対話行為を出力する。各状態はどの状態にも遷移可能である。この例では隠れマルコフモデルMは2つであるが、ドメインがK種類の場合には、隠れマルコフモデルMはK個作成される。そして、すべての状態が、他のすべての状態につながっている状態にする(エルゴディックに接続する)。このとき、状態間の遷移確率はすべて等しくなるようにする。
【0025】
<要約作成>
次に、要約作成の処理について説明する。入出力部110は、対話のドメインが既知で発話のドメインは未知の対話の時系列データdを受け取る(S112)。特徴量抽出部150は、要約作成の対象である対話の時系列データdに含まれる単語w,…,wとその単語の出現回数c,…,cの組<w,c>,…,<w,c>を生成して特徴量とする(S152)。トピックラベル付与部165は、対話の時系列データdに含まれる発話ごとに、当該発話に含まれる単語から尤もらしいトピックを推定して、トピックラベルとして当該発話に付与する(S167)。尤もらしいトピックの推定では、トピックモデル学習部160が対話学習の処理(ステップS160)で学習したトピックモデルを用いてもよいし、あらかじめ作成した特徴量の条件とトピックとを対応つけた表などを用いて特徴量からトピックを求めてもよい。
【0026】
ドメイン推定部170は、隠れマルコフモデルMを用いて、対話の時系列データdの各発話が隠れマルコフモデルMのどのドメインの状態から出力されたかを推定することで各発話のドメインを推定する(S170)。例えば、ビタビデコーディング(Viterbi decoding)により、各発話が隠れマルコフモデルMのどのドメインの状態から出力されたかを推定すればよい。例えば、図4に示す隠れマルコフモデルMが作成されているときに、ある系列の入力があり、最尤の状態系列(ビタビデコーディングによって求められる)が<1,3,4,2>だったとする。それぞれの状態がどのドメインに属しているかを見ることで、<1,2,2,1>というドメイン系列を得ることができる。つまり、最初の発話の状態1はドメイン1に分類され、以降、状態3はドメイン2、状態4はドメイン2、状態2はドメイン1に分類される。このようにして、隠れマルコフモデルMは入力系列をドメイン系列に分類する。なお、エルゴティック0の場合は、すべての状態の遷移確率が等しいので、ドメインの分類は、各HMMにおける発話の頻度分布に左右される。例えば、ある発話がドメイン2に比べドメイン1に高頻度で出現するのであれば、その発話はクラス1のHMMから出力され、結果としてドメイン1と分類される。
【0027】
選択部175は、対話のドメインとドメインが一致する発話を、当該対話の中から選択する(S175)。要約装置50は、選択部175が選択した発話を要約として出力すればよい。
【0028】
なお、ステップS170,S175の処理の場合、要約率の調整ができない。そこで、要約率の調整を行うために要約装置50が、ドメイン推定部170’と選択部175’を備える場合について説明する。ドメイン推定部170’は、ビタビデコーディングの代わりに、forward-backwardアルゴリズムを利用することで、各発話が当該ドメインに対応するかしないかの二値ではなく、当該ドメインにどのくらい対応するか(ドメインらしさ)という確率値を算出する(S170’)。選択部175’は、目標要約率を取得し、ドメイン推定部170’が出力した確率値を各発話の重要度とみなし、重要なものから選択することで要約率が、目標要約率となるように調整する(S175’)。また、発話全体の重要度に加えて、発話に含まれる個々の単語が重要な意味を持つ場合があるため、重要な発話と重要な単語を、ある文字制限内で最大に被覆するように選択することもできる。その場合は下記の式により要約処理を行う。
【0029】
【数1】

【0030】
ここで、mijはi番目の発話が単語jを含むかどうかを表す二値(0か1)であり、wijはi番目の発話中の単語jの重み(重要度)であり、zijはi番目の発話中の単語jが要約に含まれるかどうかを表す二値(0か1)である。ここで、wijは下記の式で表される。
【0031】
【数2】

【0032】
ここで、weightは引数の重要度を返す関数であり、Uは対象とする対話のi番目の発話、wはシステムの語彙の中のj番目の単語を指す。weight(U)にはforward-backwardアルゴリズムを用いて得られる発話のドメインらしさを用い、weight(w)には、対象とする対話におけるwの頻度(Term Frequency,TF)を用いればよい。なお、頻度でなくても、wの重要度に対応するものならよく、例えば、ある単語のドメインらしさを用いてもよい。その場合は、次のように単語の重要度を求めることができる。
【0033】
【数3】

【0034】
ここで、P(w|DM)はドメインDMのデータでwが出現する確率であり、P(w|DM\DM)は、DM以外のドメインにおいてwが出現する確率である。この2つの確率の対数尤度比を取ることによって、各単語の各ドメインにおける重要度を算定できる。つまり、単語wがドメインDMにおいて際立って出現しているのであれば、ドメインDMにおける単語wの重要度が大きくなる。
式(1)を最大化する際には下記の4つの制約を使えばよい。
【0035】
【数4】

【0036】
この制約は、xとzijが二値(0か1)の値を取ることを示す。なお、xはi番目の発話が要約に含まれるかどうかを表す変数であり、次の制約で使われる。
【0037】
【数5】

【0038】
これは、要約長についての制約を与えている。lはi番目の発話の長さ(文字列長)であり、Lは作成したい要約の最大文字列長である。
【0039】
【数6】

【0040】
この制約は、単語と発話の関係を表すものであり、i番目の発話が要約に含まれないのであれば、i番目の発話に含まれるすべての単語も要約に含まれないということを表す。
【0041】
【数7】

【0042】
この最後の制約は、要約の冗長性に関するもので、もし複数の同じ単語が要約に含まれることになる場合、その中で最大の重みを持つもののみを要約に含めればよいことを示す。このように、本発明の手法に要約率を調整する機構を組み込むことは可能である。なお、式(1)の最大化は線形計画問題であるので、分枝限定法などのよく知られた手法で解けばよい。
【0043】
上述の説明では、学習機能と要約作成機能の両方を1つの装置(要約装置)に具備させたが、学習機能と要約作成機能とを分離してもよい。分離する場合は、少なくとも図2の点線の部分は、対話学習装置51に備えればよい。また、対話学習装置51がステップS151,S160,S166も実行するのであれば、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165も備えればよい。そして、対話学習装置51の処理フローは、図3の点線で示したステップS51の部分のようにすればよい。
【0044】
本発明の対話学習装置によれば、複数ドメインのデータのすべてを入力とし,各ドメインに特徴的な系列を同時にモデル化する。また、本発明の要約装置によれば、あるドメインのデータの要約を行うとき、このドメインに特徴的な系列に該当する箇所のみを抽出することにより要約を行う。したがって、ドメインごとに要約装置を構築する必要がないので要約装置構築のコストが低くなる。例えば、従来はドメインごとのテキストそれぞれについて要約の正解した学習データを準備しなくてはいけなかったのに対し、本発明では、このような正解を付与する必要がなく、各テキストにドメインのラベルのみが付与されたデータを準備することで自動的に要約装置を構築できる。また、ドメイン全体の情報を利用して各ドメインに特徴的な系列をモデル化できるため、単一のドメインから系列をモデル化する手法(例えば、非特許文献4)と比較して、要約の精度向上が期待できる。
【実施例2】
【0045】
実施例1では、エルゴディック0により推定する例を説明した。しかし、どのドメインにも共通に現れる発話系列というものが存在する。例えば、コンタクトセンタの対話であれば、すべてのドメインの対話に共通して、挨拶のやり取りや個人情報の確認などが現れる。エルゴディック0では、こういった共通した発話系列を既存のドメインのどれかに割り振ってしまう。つまり、たまたま、挨拶がドメイン1に多少多く出現したからという理由で、挨拶はドメイン1に分類されてしまう。このような複数のドメインにまたがって出現するものは、どのドメインにも分類されないようにモデル化するのが適切である。そこで、本実施例では、挨拶のような発話はドメイン1でもドメイン2でもなく、共通ドメインというものを仮定して、そのドメインに割り振る。その結果、図5に示すトポロジを持つHMMで実現できる。以降、このHMMをエルゴティック1と呼ぶ。図5は、エルゴティック1の場合の話者が2人、ドメインが2つの場合の隠れマルコフモデルMのイメージを示している。このHMMではエルゴディック0に加えて、すべてのデータから学習されたHMMを持ち、すべての状態がエルゴディックに接続されている。すべてのデータから学習されたHMMは全ドメインの系列をモデル化しているため、すべてのドメインに共通した系列を表すと考えられる。なお、すべてのデータから学習されたHMMに含まれる状態を共通状態と呼ぶ。
【0046】
図6に実施例2の要約装置の機能構成例、図7に実施例2の要約装置の処理フローを示す。要約装置100は、入出力部110、第1モデル学習部120、第2モデル学習部130、モデル連結部140、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165、ドメイン推定部170、選択部175、記録部190を備える。
【0047】
<対話学習>
まず、対話学習について説明する。ステップS111、S151、S160、S166、S120は、実施例1と同じである。第2モデル学習部130は、すべての対話から話者の発話を出力する状態を持つ1つの隠れマルコフモデルMを学習し、記録部190に記録する(S130)。モデル連結部140は、隠れマルコフモデルMと隠れマルコフモデルME0のすべての状態をエルゴディックに接続して、隠れマルコフモデルME1を作成し、記録部190に記録する。本実施例の場合、記録部190に記録された隠れマルコフモデルME1が、評価のときに用いる隠れマルコフモデルMとなる。
【0048】
<要約作成>
次に、要約作成の処理について説明する。ステップS112、S152、S167は実施例1と同じである。ドメイン推定部170の処理(ステップS170)自体は実施例1と同じであるが、利用する隠れマルコフモデルMが異なる。例えば、エルゴディック1を使うことで、ある入力系列に対して最尤の状態系列が<1,4,5,6,3,2>である場合、それぞれのドメインから,<1,2,0,0,2,1>のように入力系列を分類することができる。ここで、状態5と状態6は共通状態であり、これらに対応する入力系列はドメイン1、ドメイン2のどちらにも属さず、共通の系列であるというように分類される。なお、ここでは共通状態を表すドメインをドメイン0としている。こうすることで、無理やりどちらかのドメインに入力系列を分類しなくても良いため、ドメイン分類の精度向上が期待できる。
【0049】
ステップS175も実施例1と同じである。また、実施例1と同じように目標とする要約率を定めたい場合には、ドメイン推定部170と選択部175の代わりにドメイン推定部170’と選択部175’を備え、ステップS170’とS175’を実行すればよい。
【0050】
本実施例の場合も、学習機能と要約作成機能とを分離してもよい。分離する場合は、少なくとも図6の点線の部分を、対話学習装置101に備えればよい。また、対話学習装置101がステップS151、S160、S166も実行するのであれば、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165も備えればよい。そして、対話学習装置101の処理フローは、図7の点線で示したステップS101の部分のようにすればよい。
【0051】
本実施例の場合も実施例1と同様の効果が得られる。さらに、共通状態を表わすドメインを隠れマルコフモデルMに加えたことで、ドメイン分類の精度向上が期待できる。
【0052】
[変形例]
実施例2の隠れマルコフモデルMの場合、分布がブロード(なだらか,一様)になり、Mの状態におけるすべての対話行為の出力確率が平均化され、一様に低くなってしまう可能性がある。それゆえに、未知の対話の時系列データdが与えられた時、推定される状態の系列が隠れマルコフモデルMを全く通過しない可能性が出てくる。このような問題を解決するために、本変形例ではMにおける状態数を増やす。そうすることで、シャープ(ブロードではない,尖った)な分布を持つ状態をMが保持することができる。その結果、ビタビデコーディングによって得られる最尤の状態系列がMを通過する可能性が出てくる。共通状態の状態数を2倍に増やした(話者ごとに2つの状態を持った)隠れマルコフモデルを「エルゴディック2」と呼ぶ。また、共通状態の状態数を3倍に増やした(話者ごとに3つの状態を割り当てた)隠れマルコフモデルを「エルゴディック3」と呼ぶ。
【0053】
図6に実施例2変形例の要約装置の機能構成例、図7に実施例2変形例の要約装置の処理フローを示す。要約装置200は、入出力部110、第1モデル学習部120、第2モデル学習部230、モデル連結部240、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165、ドメイン推定部170、選択部175、記録部190を備える。なお、目標とする要約率を定めたい場合には、実施例1と同じようにドメイン推定部170と選択部175の代わりにドメイン推定部170’と選択部175’を備える。実施例2と異なる点は、第2モデル学習部230とモデル連結部240である。以下の説明では、エルゴティック2の場合について説明する。
【0054】
第2モデル学習部230は、各話者に対して2状態ずつを持つ隠れマルコフモデルMを学習し、記録部190に記録する(S230)。そして、モデル連結部240は、その隠れマルコフモデルMと隠れマルコフモデルME0のすべての状態をエルゴディックに接続して、隠れマルコフモデルME2を作成し、記録部190に記録する(S240)。
【0055】
本変形例の場合も、学習機能と要約作成機能とを分離してもよい。分離する場合は、少なくとも図6の点線の部分を、対話学習装置201に備えればよい。また、対話学習装置201がステップS151、S160、S166も実行するのであれば、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165も備えればよい。そして、対話学習装置201の処理フローは、図7の点線で示したステップS101の部分のようにすればよい。
【0056】
本変形例の対話学習装置と要約装置によれば、実施例2と同じ効果が得られる。さらに、エルゴディック1の分布がブロード(なだらか,一様)になる場合でも、エルゴディック2の分布はシャープ(ブロードではない,尖った)にできるので、ビタビデコーディングによって得られる最尤の状態系列がMを通過する可能性が出てくる。したがって、より正確にドメインの推定を行うことができる。
【実施例3】
【0057】
本実施例は、前述したエルゴディック1における問題(出力分布がなだらかになってしまう問題)を、連結学習を用いて解決する手法である。連結学習とはHMMにより音声を教師なしでモデル化する際に用いられる手法で、この手法により、各ドメインにおける対話と対話全体に共通して現れるような発話の出力分布を、特定の状態に集中させることができる。
【0058】
図8に実施例3の要約装置の機能構成例、図9に実施例3の要約装置の処理フロー、図10に実施例3の学習機能の各ステップで作成される隠れマルコフモデルのイメージを示す。要約装置300は、入出力部110、第1モデル学習部320、第2モデル学習部130、第1モデル連結部340、再学習部350、第2モデル連結部360、繰返し判定部370、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165、ドメイン推定部170、選択部175、記録部390備える。
【0059】
<対話学習>
まず、対話学習について説明する。ステップS111、S151、S160、S166は、実施例1と同じである。第1モデル学習部320への入力は、実施例1と同じように各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データ(d,…,d)、各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)、各発話がどのドメインに該当するのかを示す情報である。そして、第1モデル学習部320は、これらの情報を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、記録部390に記録する(S320)。
【0060】
第2モデル学習部130は、実施例2と同じように、すべての対話から話者の対話行為を出力する状態を持つ1つの隠れマルコフモデルMを学習し、記録部390に記録する(S130)。第1モデル連結部340は、隠れマルコフモデルMのそれぞれとマルコフモデルMのコピーとをペアにし、ペア内のすべての状態を接続して、隠れマルコフモデルM1+0,…,MK+0を作成する(S340)。
【0061】
再学習部350は、隠れマルコフモデルM1+0,…,MK+0を初期モデル、発話ごとにトピックラベルが付与された時系列データ(d,…,d)、ドメインラベルDM(d),…,DM(d)、各発話がどのドメインに該当するのかを示す情報を学習データとして与える。そして、時系列データdがk番目のドメインに該当する場合には、時系列データdで隠れマルコフモデルMk+0を再学習する。このような再学習を時系列データd,…,dを用いて行うことで、隠れマルコフモデルM1+0,…,MK+0を再学習し、再学習された隠れマルコフモデルM1+0,…,MK+0を記録部390に記録する(S350)。このような再学習によって、k番目のドメインとドメイン全体の間でデータの再割り当てが起こり、共通して出現する系列は隠れマルコフモデルMから生成されやすくなり、k番目のドメインに特徴的な系列は隠れマルコフモデルMから生成されやすくなる。
【0062】
第2モデル連結部360は、再学習された隠れマルコフモデルM1+0,…,MK+0を連結し、1つの隠れマルコフモデルMとする(S360)。連結の際、すべてのHMMの確率テーブルの足し合わせを行うが、コピーされたMを結合して新たなMとする際には、この出力確率をKで割り、足して1になるよう調整する。この処理が、図10のステップS360の「AVG」の処理である。なお、このとき、隠れマルコフモデルMの各状態は、隠れマルコフモデルM1+0,…,MK+0のすべての状態と接続されている。一方、隠れマルコフモデルMk+0の各状態は、隠れマルコフモデルMの状態とのみ接続されている。
【0063】
繰返し判定部370は、隠れマルコフモデルM1+0,…,MK+0について、学習データに対して所定以上の尤度の改善があるかによって再学習部350と第2モデル連結部360の処理(ステップS350,S360)を繰り返すかを判定する(S370)。例えば、いずれかのすべての隠れマルコフモデルMk+0で尤度の改善がある場合には繰り返し処理を続ける(ステップS370の判断をYesとする)。そして、隠れマルコフモデルM1+0,…,MK+0について尤度の改善がない時に繰返し処理を終了し、そのときに記録部390に記録されている隠れマルコフモデルMを学習結果とする(ステップS370の判断をNoとする)。本実施例で求めた最終的な隠れマルコフモデルMを、以降「連結1」と呼ぶ。なお、ステップS370の判断がYesの場合、処理はステップS350に戻るが、この時には、隠れマルコフモデルMは再度、隠れマルコフモデルM1+0,…,MK+0に分割される。Mの遷移確率はMとMの間に均等に分配される。
【0064】
<要約作成>
次に、要約作成の処理について説明する。ステップS112、S152、S167は実施例1と同じである。ドメイン推定部170の処理(ステップS170)自体は実施例1と同じであるが、利用する隠れマルコフモデルMが異なる。ステップS175も実施例1と同じである。また、実施例1と同じように目標とする要約率を定めたい場合には、ドメイン推定部170と選択部175の代わりにドメイン推定部170’と選択部175’を備え、ステップS170’とS175’を実行すればよい。
【0065】
本実施例の場合も、学習機能と要約作成機能とを分離してもよい。分離する場合は、少なくとも図8の点線の部分を、対話学習装置301に備えればよい。また、対話学習装置301がステップS151、S160、S166も実行するのであれば、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165も備えればよい。そして、対話学習装置301の処理フローは、図9の点線で示したステップS301の部分のようにすればよい。
【0066】
本実施例の場合も実施例1と同様の効果が得られる。さらに、共通状態を表わすドメインを隠れマルコフモデルMに加えたこと、および連結学習を用いることで、各クラスにおける系列と全クラス全体に共通して現れるような系列の出力分布を、特定の状態に集中させることができる。その結果、各ドメインに対応するHMMは、特定のドメインの系列のみをモデル化したものになる。したがって、ドメイン分類の精度向上が期待できる。
【0067】
[変形例]
なお、実施例3の場合も、共通状態(Mに含まれる状態)を増やすことによって、最尤状態系列がより共通状態を通過しやすくなると考えられる。共通状態の状態数を2倍に増やした(話者ごとに2つの状態を持った)隠れマルコフモデルを「連結2」と呼ぶ。また、共通状態の状態数を3倍に増やした(話者ごとに3つの状態を割り当てた)隠れマルコフモデルを「連結3」と呼ぶ。
【0068】
図8に実施例3変形例の要約装置の機能構成例、図9に実施例3変形例の要約装置の処理フローを示す。要約装置400は、入出力部110、第1モデル学習部320、第2モデル学習部230、第1モデル連結部440、再学習部350、第2モデル連結部360、繰返し判定部370、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165、ドメイン推定部170、選択部175、記録部390備える。なお、目標とする要約率を定めたい場合には、実施例1と同じようにドメイン推定部170と選択部175の代わりにドメイン推定部170’と選択部175’を備える。実施例3と異なる点は、第2モデル学習部230とモデル連結部440である。以下の説明では、連結2の場合について説明する。
【0069】
第2モデル学習部230は、各話者に対して2状態ずつを持つ隠れマルコフモデルMを学習し、記録部190に記録する(S230)。そして、第1モデル連結部440は、隠れマルコフモデルMのそれぞれとマルコフモデルMのコピーとをペアにし、ペア内のすべての状態を接続して、隠れマルコフモデルM1+0,…,MK+0を作成する(S440)。このような構成なので、本変形例の場合も実施例3と同様の効果が得られる。
【0070】
また、本変形例の場合も、学習機能と要約作成機能とを分離してもよい。分離する場合は、少なくとも図8の点線の部分を、対話学習装置401に備えればよい。また、対話学習装置401がステップS151、S160、S166も実行するのであれば、特徴量抽出部150、トピックモデル学習部160、トピックラベル付与部165も備えればよい。そして、対話学習装置401の処理フローは、図9の点線で示したステップS401の部分のようにすればよい。
【0071】
<実験>
本発明に対する実験の前に、コンタクトセンタ対話のデータを収集した。実験に使用可能な実際のコンタクトセンタ対話のデータを持っていなかったため、コンタクトセンタ対話と同様の対話を独自に収集した。このデータ収集のため、90人の被験者(49人の男性と41人の女性)を用いた。彼らはオペレータやユーザ(電話をかける人、コーラーとも呼ぶ)に分かれて準備したシナリオにしたがって対話を行った。オペレータは実際にコンタクトセンタで応対経験をした人を用いた。
【0072】
対話のドメインは、金融(FIN),インターネットサービスプロバイダ(ISP),自治体(LGU),通信販売(MO),PCサポート(PC),電話(TEL)の6種類とした。例えば、FINであれば、クレジットカードの紛失についての問い合わせや金融商品の問い合わせなどの対話である。ISPであれば、インターネット接続についての問い合わせの対話である。LGUであれば、証明書の発行や近所の騒音についてのクレームなどの対話である。MOであれば、商品の注文や注文内容の確認についての対話である。PCであれば、パソコン購入者へのサポートの対話であり,TELであれば、電話料金の支払いや国際電話のかけ方などについての問い合わせである。それぞれのドメインについて、15〜20のシナリオを用意し、これらに基づいてオペレータとユーザに対話を行ってもらった。なお,彼らは別室に分かれ電話を介して音声で会話した。この実験ではこの会話を書き起こしたものをデータとして用いるが、音声認識結果を用いても良い。
【0073】
下記はユーザが用いたシナリオの例である。シナリオにはコンタクトセンタに電話することになった背景、通話においてすべき内容が書かれている。LGU,MO,PCのあとの番号はシナリオの番号である。図11に各シナリオの統計情報を示す。シナリオの具体例を次に示す。
【0074】
LGU−15:あなたは、子育てのためにしばらく仕事をしていませんでした。子供も手がかからなくなってきたので何か仕事をはじめようと思います。雑誌やインターネットで探す方法もあるのですが、友人が職安(ハローワーク)でいい仕事をみつけたといっていたので、あなたもとりあえず職安(ハローワーク)にどんな求人があるか調べてみたいと思っています。自治体が提供する求人情報について問い合わせる。仕事を探したいので求人情報について聞きたいと伝える。求人情報はどうやったら知ることができるのか聞く。ハローワークはあなたの家の近くだとどこにあるか聞く。営業時間、利用料金を確認する。
【0075】
MO−3:鍋がおいしい季節になってきました。あなたは、自分がプロデュースしているちゃんこ鍋屋があり、中々売れ行きも好調です。そこで、新メニューの題材を考えながらインターネットを回っていたところ、下関直送のふぐが売られているのが目に止まりました。ふぐ鍋はこれからの時期流行りそうだと思ったあなたは、試しに注文してみようと思いました。最近親戚とうまくいっていないあなたは、新メニューの意見交換という名目で集まり、また仲良くなりたいというもくろみもあります。とりあえず自分の家族と親戚の分をネットで注文しました。しかし、ネットで注文した時は確認メールが届くはずだったのに、一向に確認メールが来ません。これでは、仲良くなるはずの親戚との集まりも台無しです。そこで、ホームページに乗っていた電話番号に電話し、問い合わせてみることにしました。商品を注文した時に届く確認メールが届かないので、その問い合わせをする。注文がちゃんと出来たか確認して、確認メールを送ってくれるようにお願いする。
【0076】
PC−10:あなたは職をさがしています。今回の活動先は、電子ファイルで履歴書送付(写真付)との条件がついています。カメラといえば携帯電話しかなかったあなたは、昨日、PCダイレクト社の新発売のデジカメとパソコンを買いました。そして今日、自分を撮影したあなたは早速、パソコンに写真を取り込もうとしてみたのですが、なにをどうすればよいのかわかりません。応募締切まで時間がなく、すぐに写真を取り込みたいと思ったあなたは、PCダイレクト社のコールセンタに電話をしてみるのでした。デジカメの写真をパソコンに取り込むための方法を聞く。写真を自動的に取り込むための方法を聞く。オペレータから写真取り込みの設定方法について指示を受けたら、パソコン操作画面に従って設定を行う。
【0077】
対話データの収集は二回にわたって行われ、それぞれ391対話と307対話を収録した。以降、初回の391対話を学習データ、第二回の307対話をテストデータとする。図12は初回のデータ(学習データ)の統計情報、図13は第二回のデータ(テストデータ)の統計情報を示している。
【0078】
初回の391対話を用いてまずトピックモデルを学習した。これにはLDA(latent semantic analysis)を用いた。形態素解析器で各対話から内容語を抽出した。そして、このbag-of-wordsをもって各対話の特徴とした。トピックの数は100とした。このLDAのモデルを用いて391対話に含まれるすべての発話にトピックラベルを付与した。すなわち、発話に含まれる単語が発生した場合にそのトピックである確率P(z|w)の合計が最大となるトピックzを、当該発話のトピックラベルとして付与した。
【0079】
隠れマルコフモデルMは7種類準備した。(1)エルゴティック0、(2)エルゴティック1、(3)エルゴティック2、(4)エルゴティック3、(5)連結1、(6)連結2、(7)連結3である。また、これらの隠れマルコフモデルMを用いた要約の精度を確認するため、基準(ベースライン)とする従来技術も2つ用意した。1つ目は、単語の重要度を対話中の単語の出現頻度(Term Frequency,TF)として重要度の合計が最大となるよう要約する方法であり、基準(ベースライン)となるので「BL−TF」と表すことにする。2つ目は、ドメインごとに重要な単語の辞書(ドメイン辞書:Domain Dictionary,DD)をあらかじめ用意しておき、重要度の最大化を行う際にTFの代わりにこの重要度を使用する方法であり、基準(ベースライン)となるので「BL−DD」と表すことにする。
【0080】
具体的には、「BL−TF」は次式が最大となるように要約する方法である。
【0081】
【数8】

【0082】
ただし、weightは単語wの重要度を返す関数で、ここでは対話中の当該単語の出現頻度、yはwを要約に含むかどうかを表す0か1の値である。また、最大化は、整数計画問題として解けばよく、次の3つの制約を与えればよい。
【0083】
【数9】

【0084】
ここで、xはi番目の発話を要約に含むかを表す0か1の値、lはi番目の発話の文字数、Lは要約に含みうる文字数の最大値、mijは単語wがj番目の発話に含まれるかどうかを表す0か1の値である。最後の式は、ある単語を要約に含む場合、その単語を含む文に含まれる全ての単語も要約に含む必要があるという制約を表す。
【0085】
また、「BL−DD」では、各ドメインにおける単語の重要度を次のように算出する。
【0086】
【数10】

【0087】
ここで、P(w|DM)はドメインDMのデータでwが出現する確率であり、P(w|DM\DM)は、DM以外のドメインにおいてwが出現する確率である。この2つの確率の対数尤度比を取ることによって、各単語の各ドメインにおける重要度を算定できる。つまり、単語wがドメインDMにおいて際立って出現しているのであれば、ドメインDMにおける単語wの重要度が大きくなる。
【0088】
以下はFINドメインの単語辞書である。左側が単語であり、右側が重要度である。生命、通帳、オンライントレードなどFINに特徴的な単語の重要度が高いことがわかる。「若葉」や「富田」などはこのドメインに頻出する名前(銀行名やオペレータの名前)であるため重要度が高くなっている。
【0089】
若葉 6.10703207798341
証券 5.60247606723102
生命 5.31479399477924
富田 4.96995350848751
通帳 4.94010054533783
事故 4.90932888667107
オンライントレード 4.90932888667107
志村 4.81088881385782
死亡 4.81088881385782
自賠責 4.77579749404655
【0090】
評価手順
実験では、隠れマルコフモデルMによる要約の精度の向上を確認するためなので、7種類の評価対象の手法では、再選択部での要約率の調整は行わなかった。しかしながら、基準(ベースライン)となる従来技術はどちらも要約率を設定した上で動作する手法である。これらを同じ条件で比較するため、まず7つの隠れマルコフモデルMを用いた要約装置それぞれに要約を出力させ、そこで出来た要約の要約率を用いて、従来技術の手法にも要約を出力させた。ただ、先にも触れたように、隠れマルコフモデルMを用いる場合でも要約率を変更することは可能である。ここでは簡単のため、ビタビデコーディングの結果を用いて要約を得る方式を取っている。
【0091】
評価指標
要約の正解データを、それぞれの対話を収録する際に用いられたシナリオとした。シナリオは対話でユーザが話す内容を網羅していると考えられるため、シナリオに含まれるような内容を持つ要約を出力できれば、それは内容を網羅した要約といえるからである。評価指標としては内容語のF値を用いた。F値の算出には、まず内容語の適合率と再現率を算出し、これらの調和平均を取った。なおシナリオや要約には同じ単語が複数回出現することがあるが、それぞれ別の単語として適合率と再現率を計算した。
【0092】
評価結果
評価結果を図14に示す。テストデータは、上述のとおり第二回の307対話である。図中のアスタリスク、プラス、e0−e3、c1−c3はそれぞれ、本発明の方法がBL−TF、BL−DD、エルゴティック0〜3、連結1〜3に対して、ウィルコクシン順位符号検定で有意(p<0.01)に性能が高かったことを示す。適合率と再現率でも検定を行っているが、この検定は要約率が同じもの(すなわち,縦のカラム同士)についてのみ行った。
【0093】
図14によるとエルゴディック0〜3よりも連結1〜3の方が結果がよい。なお、エルゴディック0〜3はすべて同じ要約を出力し、評価結果も同じであった。これは、最尤の状態系列が共通状態を一切通らなかったことを示す。また、共通状態の数を増やしても共通状態を通るようにもできなかったことを示す。ここではこのような結果になったが、実験データの数を多少変動させるとエルゴディック1〜3がエルゴディック0と異なる評価結果となる場合もあった。しかしながら、共通状態数を増やすことが常に精度改善に繋がるわけではないようなので、共通状態数は適宜選択すべきである。さて、連結1〜3は、エルゴディック0〜3よりもF値が高い。このことから、連結学習が有効に機能していることが分かる。また、結果的に連結3のF値が一番高かった。連結3はBL−TFやBL−DDに比較してもF値が高いことも分かった。
【0094】
さて、この比較ではまず提案手法の要約を作成してからベースラインの出力を作成しているが、提案手法を基準にした比較である感は否めない。そこで、0.1から1.0まで要約率を0.1刻みで変更して最もベースラインの精度が高くなる場合のF値を求め、そのF値と連結3のF値を比較した。F値は適合率と再現率の両方を加味して算出されるため、長さが異なる要約も比較することができる。その結果、BL−DDの要約率0.4のときにF値が0.191であり最も精度が高かった。これを連結3とウィルコクソンの順位符号検定で比較したところ、有意(p<0.01)に連結3の精度が高かった。このため、ベースラインと比較しても隠れマルコフモデルによる手法である連結3の有効性を示すことができた。
【0095】
連結3の出力を以下に示す。これは先に示したMOドメインの3番目のシナリオ(MO−3)の要約である。ここで発話前の1はオペレータ、2はユーザを表す。この対話の要約率は0.24である。
【0096】
2:そちらで商品を注文した場合って、確認メールっていうのが届くんです
2:ふぐの
2:セットのほう注文したんですけど、確認メールっていうのが届いてないんですけども。
1:注文
1:注文がされたかの確認を行いますので、
1:下関直送ふぐセット十人前、
1:寄り合い、
1:とらふぐの切り身のアラが、二キログラム。
1:ヒレ酒用焼きヒレ
1:ふぐしょうゆ六百ミリリットル。
1:あと、もみじおろし。
1:配送希望日のほうは、二月十三日ということ
2:はい、全部小文字で、
2:これはアルファベットのほうのqですね。
2:ハイフン、g。
2:注文のほうは、ちゃんとできてるということなんですか。
1:はい、JDSコールセンタの、野村でした。
一方、この対話についてBL−DDが出力した要約は下記のとおりである。
1:JDS神奈川コールセンターの、野村です。
2:セットのほう注文したんですけど、確認メールっていうのが届いてないんですけども。
2:五八二七、
1:商品番号、
1:一五四八
1:下関直送ふぐセット十人前、
1:寄り合い、
1:ヒレ酒用焼きヒレ
1:配送希望日のほうは、二月十三日ということ
2:六月十四日です。
1:では、自宅のご自宅の電話番号、お願い
1:ご住所のほうを、郵便番号からお願い
2:六八二、
1:最後にですね、メールアドレスのほう、よろしく
2:はい、全部小文字で、
2:数字で〇三二九、
1:これはアルファベットのほうのqですね。
2:ハイフン、g。
1:では、ほんと、今回。
1:はい、JDSコールセンタの、野村でした。
2:はーい。
【0097】
この比較からも分かるとおり、BL−DDの方は商品番号や「では、自宅のご自宅の電話番号、お願い」と言ったコンタクトセンタ一般における定型発話を抽出してしまっていることが分かる。これらは本来であればドメインすべてに現れるため、要約として抽出してはいけないと思われるものであるが、たまたまこれらが他のドメインに比べてMOドメインに多く現れたため、抽出されてしまっている。連結3の出力結果を見ると、MOドメインに特徴的な部分をほぼ網羅しているように抽出できており、要約として、より通信販売の内容を表すものになっていることが分かる。
【0098】
最後に、学習された連結3の隠れマルコフモデルをグラフとして可視化したものを図15に示す。連結3であるので、0(共通状態)の部分には1人の話者に対して3つの状態がある。すなわち、共通状態が6つある。グラフにおいて、楕円の状態はオペレータの状態であり、長方形の状態はユーザの状態である。各状態の中にはテーブルがあり、トピックラベルとその出力確率が書かれてある。また状態間の矢印に付与されている値は、状態間の遷移確率である。なお、piというのは初期確率の意味である。グラフでは簡略化のため出力確率、または、遷移確率が0.1以上のもののみ表示している。また、トピックラベルがドメインごとに異なっていることも分かる。これは、つまり隠れマルコフモデルによって、ドメインごとに特に出力されるトピックのみが出力されるようになった結果と考えることができる。共通状態から出力されるトピックは、例えば72や91などである。これらはトピックに寄与する単語をトピックモデルのP(w|z)を観察することで調べると、「はい」や「ええ」などの感動詞や数字が多かった。このことにより、すべてのドメインに共通して現れるような表現が正しく共通状態から出力されるようになっていることが分かる。
【0099】
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0100】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0101】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0102】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0103】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0104】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0105】
本発明は、コンタクトセンタ(お客様センタ)などでの対話の要約を作成する要約装置に利用することができる。
【符号の説明】
【0106】
50、100、200、300、400 要約装置
51、101、201、301、401 対話学習装置
90、190、390 記録部 110 入出力部
120、320 第1モデル学習部 130、230 第2モデル学習部
140、240 モデル連結部 150 特徴量抽出部
160 トピックモデル学習部 165 トピックラベル付与部
170、170’ ドメイン推定部 175、175’ 選択部
340、440 第1モデル連結部 350 再学習部
360 第2モデル連結部 370 繰返し判定部

【特許請求の範囲】
【請求項1】
複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデルMを作成する対話学習装置であって、
K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数とし、
各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データd,…,dと前記の各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、前記隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルMを作成する第1モデル学習部
を備える対話学習装置。
【請求項2】
複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデルMを作成する対話学習装置であって、
K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数とし、
各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データd,…,dと前記の各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、前記隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルME0を作成する第1モデル学習部と、
すべての対話から話者の発話を出力する状態を持つ1つの隠れマルコフモデルMを学習する第2モデル学習部と、
前記マルコフモデルMと前記隠れマルコフモデルME0のすべての状態をエルゴディックに接続して、隠れマルコフモデルMを作成するモデル連結部と
を備える対話学習装置。
【請求項3】
複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデルMを作成する対話学習装置であって、
K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数とし、
各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データd,…,dと前記の各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、前記隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルME0を作成する第1モデル学習部と、
すべての対話から話者の発話を出力する状態を持つ1つの隠れマルコフモデルMを学習する第2モデル学習部と、
前記隠れマルコフモデルMのそれぞれと前記マルコフモデルMのコピーとをペアにし、前記ペア内のすべての状態を接続して、隠れマルコフモデルM1+0,…,MK+0を作成する第1モデル連結部と、
前記隠れマルコフモデルM1+0,…,MK+0を初期モデル、前記時系列データd,…,dと前記ドメインラベルDM(d),…,DM(d)を学習データとして与えて隠れマルコフモデルM1+0,…,MK+0を再学習する再学習部と、
再学習された隠れマルコフモデルM1+0,…,MK+0を連結し、1つの隠れマルコフモデルMとする第2モデル連結部と、
隠れマルコフモデルM1+0,…,MK+0について、学習データに対して所定以上の尤度の改善があるかによって前記再学習部と前記第2モデル連結部の処理を繰り返すかを判定する繰返し判定部と
を備える対話学習装置。
【請求項4】
請求項2または3記載の対話学習装置であって、
前記隠れマルコフモデルMは、話者ごとに2つ以上の状態が対応している
ことを特徴とする対話学習装置。
【請求項5】
請求項1から4のいずれかに記載の対話学習装置であって、
T、Vは2以上の整数、tは1以上T以下の整数、vは1以上V以下の整数とし、
前記の対話dごとに、内容語である単語w,…,wとその単語の出現回数c,…,cの組<w,c>,…,<w,c>を生成して特徴量とする特徴量抽出部と、
あらかじめトピックの数Tを定めておき、前記特徴量<w,c>から、単語wごとにトピックzの発生する確率P(z|w)を示すトピックモデルを作成するトピックモデル学習部と、
発話ごとに、当該発話に含まれる単語と前記トピックモデルから尤もらしいトピックを推定して、トピックラベルとして当該発話に付与するトピックラベル付与部も
備え、
前記の対話の時系列データd,…,dは、前記トピックラベル付与部によって各発話にトピックラベルが付与されたものである
ことを特徴とする対話学習装置。
【請求項6】
請求項1から4のいずれかに記載の対話学習装置によって作成された隠れマルコフモデルMを用いて、対話のドメインが既知で発話のドメインは未知の対話の要約を作成する要約装置であって、
要約作成の対象である前記対話の時系列データdに含まれる発話ごとに、当該発話に含まれる単語から尤もらしいトピックを推定して、トピックラベルとして当該発話に付与するトピックラベル付与部と、
前記隠れマルコフモデルMを用いて、前記対話の時系列データdの各発話が隠れマルコフモデルMのどのドメインの状態から出力されたかを推定することで各発話のドメインを推定するドメイン推定部と、
前記対話とドメインが一致する発話を、当該対話の中から選択する選択部と
を備える要約装置。
【請求項7】
請求項5記載の対話学習装置によって作成された隠れマルコフモデルMとトピックモデルとを用いて、対話のドメインが既知で発話のドメインは未知の対話の要約を作成する要約装置であって、
要約作成の対象である前記対話の時系列データdに含まれる発話ごとに、当該発話に含まれる単語と前記トピックモデルから尤もらしいトピックを推定して、トピックラベルとして当該発話に付与するトピックラベル付与部と、
前記隠れマルコフモデルMを用いて、前記対話の時系列データdの各発話が隠れマルコフモデルMのどのドメインの状態から出力されたかを推定することで各発話のドメインを推定するドメイン推定部と、
前記対話とドメインが一致する発話を、当該対話の中から選択する選択部と
を備える要約装置。
【請求項8】
請求項6または7のいずれかに記載の要約装置であって、
前記ドメイン推定部は、各発話が各ドメインにどのくらい対応するかという確率値を算出し、
前記選択部は、目標要約率を取得し、前記確率値を各発話の重要度とみなし、重要なものから選択することで要約率が、当該目標要約率となるように調整する
ことを特徴とする要約装置。
【請求項9】
複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデルMを作成する対話学習方法であって、
K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数とし、
第1モデル学習部が、各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データd,…,dと前記の各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、前記隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルME0を作成する第1モデル学習ステップを有し、
前記隠れマルコフモデルME0を隠れマルコフモデルMとする対話学習方法。
【請求項10】
複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデルMを作成する対話学習方法であって、
K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数とし、
第1モデル学習部が、各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データd,…,dと前記の各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、前記隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルME0を作成する第1モデル学習ステップと、
第2モデル学習部が、すべての対話から話者の発話を出力する状態を持つ1つの隠れマルコフモデルMを学習する第2モデル学習ステップと、
モデル連結部が、前記マルコフモデルMと前記隠れマルコフモデルME0のすべての状態をエルゴディックに接続して、隠れマルコフモデルMを作成するモデル連結ステップと
を有する対話学習方法。
【請求項11】
複数の発話で構成された対話の、発話ごとのドメインを推定するための隠れマルコフモデルMを作成する対話学習方法であって、
K、Nは2以上の整数、kは1以上K以下の整数、nは1以上N以下の整数とし、
第1モデル学習部が、各対話に含まれる発話にトピックラベルが付与されたN個の対話の時系列データd,…,dと前記の各対話がK種類のドメインのいずれに該当するのかを示したドメインラベルDM(d),…,DM(d)を用いて、ドメインごとに、話者の発話を出力する状態を持つ隠れマルコフモデルM,…,Mを学習し、前記隠れマルコフモデルM,…,Mのすべての状態をエルゴディックに接続して、隠れマルコフモデルME0を作成する第1モデル学習ステップと、
第2モデル学習が、すべての対話から話者の発話を出力する状態を持つ1つの隠れマルコフモデルMを学習する第2モデル学習ステップと、
第1モデル連結部が、前記隠れマルコフモデルMのそれぞれと前記マルコフモデルMのコピーとをペアにし、前記ペア内のすべての状態を接続して、隠れマルコフモデルM1+0,…,MK+0を作成する第1モデル連結ステップと、
再学習部が、前記隠れマルコフモデルM1+0,…,MK+0を初期モデル、前記時系列データd,…,dと前記ドメインラベルDM(d),…,DM(d)を学習データとして与えて隠れマルコフモデルM1+0,…,MK+0を再学習する再学習ステップと、
第2モデル連結部が、再学習された隠れマルコフモデルM1+0,…,MK+0を連結し、1つの隠れマルコフモデルMとする第2モデル連結ステップと、
繰返し判定部が、隠れマルコフモデルM1+0,…,MK+0について、学習データに対して所定以上の尤度の改善があるかによって前記再学習部と前記第2モデル連結部の処理を繰り返すかを判定する繰返し判定ステップと
を有する対話学習方法。
【請求項12】
請求項9から11のいずれかに記載の対話学習方法によって作成された隠れマルコフモデルMを用いて、対話のドメインが既知で発話のドメインは未知の対話の要約を作成する要約方法であって、
トピックラベル付与部が、要約作成の対象である前記対話の時系列データdに含まれる発話ごとに、当該発話に含まれる単語から尤もらしいトピックを推定して、トピックラベルとして当該発話に付与するトピックラベル付与ステップと、
ドメイン推定部が、前記隠れマルコフモデルMを用いて、前記対話の時系列データdの各発話が隠れマルコフモデルMのどのドメインの状態から出力されたかを推定することで各発話のドメインを推定するドメイン推定ステップと、
選択部が、前記対話とドメインが一致する発話を、当該対話の中から選択する選択ステップと
を有する要約方法。
【請求項13】
請求項1から5のいずれかに記載の対話学習装置、もしくは、請求項6から8のいずれかに記載の要約装置としてコンピュータを機能させるプログラム。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate