(57)【特許請求の範囲】
【請求項１】
正例として入力された、連続する複数の発話からなる発話列に基づいて、前記発話列に含まれる最後の発話を、対話データからランダムに取得した別の発話に置き換えた発話列を、疑似負例として作成する疑似負例作成部と、
前記正例として入力された発話列に対する形態素解析結果に基づいて、特徴量を抽出し、前記疑似負例作成部により作成された発話列に対する形態素解析結果に基づいて、前記特徴量を抽出する特徴量抽出部と、
前記特徴量抽出部において抽出された前記特徴量に基づいて、前記正例として入力された発話列の特徴量が、前記疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習するモデル学習部と、
を含む、モデル学習装置。
【請求項２】
前記特徴量抽出部は、前記発話列に含まれる最後の発話における単語、品詞、及び意味属性のうちの少なくとも１つと、前記発話列に含まれる、最後の発話以外の発話における単語、品詞、及び意味属性のうちの少なくとも１つとの組み合わせを、前記特徴量として抽出する請求項１記載のモデル学習装置。
【請求項３】
対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、前記複数の発話候補の各々に対し、前記発話列に続く発話として前記発話候補を追加した発話列を構成する発話列構成部と、
前記発話列構成部によって構成された発話列の各々について、前記発話列に対する形態素解析結果に基づいて、前記特徴量を抽出する特徴量抽出部と、
前記特徴量抽出部によって抽出された前記発話列の各々についての前記特徴量と、請求項１又は２記載のモデル学習装置によって学習された前記モデルとに基づいて、前記発話列構成部によって構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力するランキング部と、
を含むランキング装置。
【請求項４】
疑似負例作成部と、特徴量抽出部と、モデル学習部と、を含むモデル学習装置におけるモデル学習方法であって、
前記疑似負例作成部は、正例として入力された、連続する複数の発話からなる発話列に基づいて、前記発話列に含まれる最後の発話を、対話データからランダムに取得した別の発話に置き換えた発話列を、疑似負例として作成し、
前記特徴量抽出部は、前記正例として入力された発話列に対する形態素解析結果に基づいて、特徴量を抽出し、前記疑似負例作成部により作成された発話列に対する形態素解析結果に基づいて、前記特徴量を抽出し、
前記モデル学習部は、前記特徴量抽出部において抽出された前記特徴量に基づいて、前記正例として入力された発話列の特徴量が、前記疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習する
モデル学習方法。
【請求項５】
発話列構成部と、特徴量抽出部と、ランキング部と、を含むランキング装置におけるランキング方法であって、
前記発話列構成部は、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、前記複数の発話候補の各々に対し、前記発話列に続く発話として前記発話候補を追加した発話列を構成し、
前記特徴量抽出部は、前記発話列構成部によって構成された発話列の各々について、前記発話列に対する形態素解析結果に基づいて、前記特徴量を抽出し、
前記ランキング部は、前記特徴量抽出部によって抽出された前記発話列の各々についての前記特徴量と、請求項４記載のモデル学習方法によって学習された前記モデルとに基づいて、前記発話列構成部によって構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力する
ランキング方法。
【請求項６】
コンピュータを、請求項１又は２記載のモデル学習装置を構成する各部として機能させるためのプログラム。
【請求項７】
コンピュータを、請求項３記載のランキング装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル学習装置、ランキング装置、方法、及びプログラムに係り、特に、発話列の結束性を判定するためのモデルを学習するモデル学習装置、方法、及びプログラム、並びに、発話列をランキングするランキング装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、ユーザと雑談を行う対話システムが研究されている。特に着目されている手法は抽出ベースの手法である。これは、ウェブやツイッター（登録商標）などから入力されたユーザ発話と高い関連度を持つものを選択することでシステム発話を実現する手法である。例えば、ツイッター（登録商標）からユーザ発話に関連するツイートを選択して発話を生成する旨が示されている。ウェブやツイッター（登録商標）といった大量のデータに基づくことで、幅広い内容を持つユーザ発話について、適切に応答できる可能性がある（非特許文献１）。
【０００３】
また、抽出ベースのシステムでは、一般にユーザの入力発話と高い関連度を持つ文を大規模なテキストデータ（ウェブやツイッター（登録商標）のデータ）から選択する。関連度としては、単語ベクトルから計算されるコサイン類似度などを用いることが多い。ツイッター（登録商標）を用いる場合、ユーザの入力発話と関連度が高いツイートをまず選択し、このツイートに応答しているツイート（in-reply-to というメタ情報を用いて求めることができる）を用いてユーザ発話とする手法もある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Bessho, F., Harada, T., and Kuniyoshi, Y. (2012). “Dialog System Using Real-Time Crowdsourcing and Twitter Large-Scale Corpus." In Proc. SIGDIAL,pp. 227-231.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、関連度に基づいて選択された発話が必ずしもよい発話であるとは限らない。内容は関連しているが、適切な応答ではないものが選択されるケースもある。例えば、ユーザ発話が質問であったとすると、なるべく質問に応答をした方が適切と考えられるが、内容の関連度だけに着目すると、質問に応答していない発話であっても高い関連度になりうる。そうした場合、不適切な発話を生成する可能性があるという問題がある。
【０００６】
本発明では、上記問題点を解決するために成されたものであり、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができるモデル学習装置、方法、及びプログラムを提供することを目的とする。
【０００７】
また、発話列の結束性に基づいて発話列をランキングして発話候補を出力することができるランキング装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係るモデル学習装置は、正例として入力された、連続する複数の発話からなる発話列に基づいて、前記発話列に含まれる最後の発話を、対話データからランダムに取得した別の発話に置き換えた発話列を、疑似負例として作成する疑似負例作成部と、前記正例として入力された発話列に対する形態素解析結果に基づいて、特徴量を抽出し、前記疑似負例作成部により作成された発話列に対する形態素解析結果に基づいて、前記特徴量を抽出する特徴量抽出部と、前記特徴量抽出部において抽出された前記特徴量に基づいて、前記正例として入力された発話列の特徴量が、前記疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習するモデル学習部と、を含んで構成されている。
【０００９】
第２の発明に係るモデル学習方法は、疑似負例作成部と、特徴量抽出部と、モデル学習部と、を含むモデル学習装置におけるモデル学習方法であって、前記疑似負例作成部は、正例として入力された、連続する複数の発話からなる発話列に基づいて、前記発話列に含まれる最後の発話を、対話データからランダムに取得した別の発話に置き換えた発話列を、疑似負例として作成し、前記特徴量抽出部は、前記正例として入力された発話列に対する形態素解析結果に基づいて、特徴量を抽出し、前記疑似負例作成部により作成された発話列に対する形態素解析結果に基づいて、前記特徴量を抽出し、前記モデル学習部は、前記特徴量抽出部において抽出された前記特徴量に基づいて、前記正例として入力された発話列の特徴量が、前記疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習する。
【００１０】
第１及び第２の発明によれば、疑似負例作成部により、正例として入力された、連続する複数の発話からなる発話列に基づいて、発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例として作成し、特徴量抽出部により、正例として入力された発話列に対する形態素解析結果に基づいて、特徴量を抽出し、疑似負例作成部により作成された発話列に対する形態素解析結果に基づいて、特徴量を抽出し、モデル学習部により、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習する。
【００１１】
このように、正例として入力された、連続する複数の発話からなる発話列に基づいて、発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例として作成し、正例として入力された発話列及び疑似負例として作成された発話列の特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例として作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することによって、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【００１２】
また、第１の発明において、前記特徴量抽出部は、前記発話列に含まれる最後の発話における単語、品詞、及び意味属性のうちの少なくとも１つと、前記発話列に含まれる、最後の発話以外の発話における単語、品詞、及び意味属性のうちの少なくとも１つとの組み合わせを、前記特徴量として抽出してもよい。
【００１３】
第３の発明に係るランキング装置は、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、前記複数の発話候補の各々に対し、前記発話列に続く発話として前記発話候補を追加した発話列を構成する発話列構成部と、前記発話列構成部によって構成された発話列の各々について、前記発話列に対する形態素解析結果に基づいて、前記特徴量を抽出する特徴量抽出部と、前記特徴量抽出部によって抽出された前記発話列の各々についての前記特徴量と、上記第１の発明に係るモデル学習装置によって学習された前記モデルとに基づいて、前記発話列構成部によって構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力するランキング部と、を含んで構成されている。
【００１４】
第４の発明に係るランキング方法は、発話列構成部と、特徴量抽出部と、ランキング部と、を含むランキング装置におけるランキング方法であって、前記発話列構成部は、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、前記複数の発話候補の各々に対し、前記発話列に続く発話として前記発話候補を追加した発話列を構成し、前記特徴量抽出部は、前記発話列構成部によって構成された発話列の各々について、前記発話列に対する形態素解析結果に基づいて、前記特徴量を抽出し、前記ランキング部は、前記特徴量抽出部によって抽出された前記発話列の各々についての前記特徴量と、上記第２の発明に係るモデル学習方法によって学習された前記モデルとに基づいて、前記発話列構成部によって構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力する。
【００１５】
第３及び第４の発明によれば、発話列構成部により、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、特徴量抽出部により、発話列構成部によって構成された発話列の各々について、発話列に対する形態素解析結果に基づいて、特徴量を抽出し、ランキング部により、抽出された発話列の各々についての特徴量と、第１の発明に係るモデル学習方法によって学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力する。
【００１６】
このように、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、特徴量を抽出し、抽出された発話列の各々についての特徴量と、予め学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することによって、発話列の結束性に基づいて発話列をランキングして発話候補を出力することができる。
【００１７】
また、本発明のプログラムは、コンピュータを、上記のモデル学習装置、及びランキング装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００１８】
以上説明したように、本発明のモデル学習装置、方法、及びプログラムによれば、正例として入力された、連続する複数の発話からなる発話列に基づいて、発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例として作成し、正例として入力された発話列及び疑似負例として作成された発話列の特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例として作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することによって、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【００１９】
また、本発明のランキング装置、方法、及びプログラムによれば、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、特徴量を抽出し、抽出された発話列の各々についての特徴量と、予め学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することによって、発話列の結束性に基づいて発話列をランキングして発話候補を出力することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係るモデル学習装置の機能的構成を示すブロック図である。
【図２】対話データの例を示す図である。
【図３】疑似負例作成のイメージ例を示す図である。
【図４】ＪＴＡＧの形態素解析結果の例を示す図である。
【図５】抽出される特徴量の例を示す図である。
【図６】本発明の実施の形態に係るランキング装置の機能的構成を示すブロック図である。
【図７】作成される発話列の例を示す図である。
【図８】抽出される特徴量の例を示す。
【図９】本発明の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンのフローチャート図である。
【図１０】本発明の実施の形態に係るランキング装置におけるランキング処理ルーチンのフローチャート図である。
【図１１】実験例の結果の例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２２】
＜本発明の原理＞
本実施の形態においては、対話システムとの対話において、発話のつながりのよさを示す結束性を判定して、発話候補を選択する。本実施の形態は、モデル学習フェーズと、ランキングフェーズとから構成される。
【００２３】
結束性の判定を行うための方法として教師あり学習の手法が考えられる。例えば、結束性が高い発話列と結束性が低い発話列をそれぞれ準備し、これらから結束性が高いか低いかを二値分類する分類器を学習すればよい。しかし、雑談のような雑多な話題を持った対話では、様々なやりとりがなされる。それらをすべてカバーするような学習データを作ることは非常にコストがかかり困難である。そこで、本実施の形態においては、雑多な話題を持った対話のような学習事例を、疑似負例を用いて作成する。
【００２４】
具体的には、まず大量の対話データを用意する。人間同士が話した自然な対話であれば何でもよい。そして、これらの対話データから一定の長さの発話列をサンプリングする。この発話列をＡとする。同時に、発話列Ａの最後の発話を他の発話とランダムに入れ替えた発話列（発話列Ｂ）も作成する。最後の発話がランダムに入れ替えられた発話列Ｂの結束性は、発話列Ａよりも低いと想定できる。よって、発話列Ａを正例とし、発話列Ｂを負例（疑似負例）とすることで、教師あり学習の手法が適用できる。
【００２５】
なお、発話列Ａは発話列Ｂよりも結束性が高いと考えられるが、発話列Ｂの結束性が必ずしも低いという保証はない。よって、学習手法としてはランキング学習を用いる。具体的には、発話列Ｂよりも発話列Ａが上位にランキングされるようにランキング規則を学習する。
【００２６】
学習では特徴量が重要である。本実施の形態においては、発話列を表す特徴量として、最後の発話に含まれる単語、品詞、及び意味属性と、それ以前の発話のそれぞれに含まれる単語、品詞、及び意味属性とのすべての組み合わせを特徴量として用いる。そうすることで、文脈に出現するさまざまな情報と、最後の発話の情報との両方を考慮したランキングの学習が可能である。単語や品詞のみならず、意味属性を用いることで、単語の表層によらないロバストな学習も可能となる。
【００２７】
＜本発明の実施の形態に係るモデル学習装置の構成＞
次に、本発明の実施の形態に係るモデル学習装置の構成について説明する。図１に示すように、本発明の実施の形態に係るモデル学習装置１００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このモデル学習装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部９０とを備えている。
【００２８】
入力部１０は、図２に示すような、対話データの集合を受け付ける。ここで、対話データは、連続する複数の発話からなるものとする。なお、本実施の形態において、対話データについては、話者情報を取り除いたものとする。
【００２９】
演算部２０は、発話列抽出部２２と、疑似負例作成部２４と、形態素解析部２６と、特徴量抽出部２８と、モデル学習部３０と、モデル記憶部３２と、を備えている。
【００３０】
発話列抽出部２２は、入力部１０において受け付けた対話データの各々について、当該対話データに含まれる、Ｎ個の連続する複数の発話からなる発話列の各々を抽出し、抽出された発話列の各々を正例の発話列とする。なお、発話列の抽出は、先頭に位置する発話を１つずつ繰り下げて抽出するため、発話列の各々に、重複する発話が含まれることになる。
【００３１】
疑似負例作成部２４は、発話列抽出部２２において抽出された発話列の各々について、当該発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例の発話列として作成する。具体的には、発話列に含まれる最後の発話を、当該発話列を抽出した対話データからランダムに取得した発話に置き換える。ここで、１つの対話データにＭ個の発話があったとすると、当該対話データについては、Ｎが２の場合、Ｍ−１個の正例と、Ｍ−１個の疑似負例を作成できる。また、Ｎが３の場合、Ｍ−２個の正例と、Ｍ−２個の疑似負例を作成できる。図３に疑似負例作成のイメージを示す。
【００３２】
形態素解析部２６は、発話列抽出部２２において抽出された正例の発話列の各々、及び疑似負例作成部２４において作成された疑似負例の発話列の各々について、当該発話列に含まれる発話毎に、形態素解析を行う。なお、本実施の形態においては、形態素解析器としてＪＴＡＧを用いる（非特許文献２：保守性を考慮した日本語形態素解析システム. 渕武志，松岡浩司，高木伸一郎. 情報処理学会研究報告, NL-117-9, pp.59-66, 1997.）。図４に、「私は彼と映画に行った」という発話に対するＪＴＡＧの形態素解析結果を示す。一般的な形態素情報である表記や品詞、標準表記につづいて、[]で囲まれた箇所が意味属性の情報であり、一般名詞属性、固有名詞属性、用言属性の順で括弧内に解析結果が表示されている。意味属性の獲得には日本語語彙大系が用いられている。
【００３３】
特徴量抽出部２８は、形態素解析部２６において形態素解析処理が行われた、正例の発話列の各々、及び疑似負例の発話列の各々について、特徴量（素性）を抽出する。具体的には、まず、発話列に含まれる発話の各々について、単語、品詞、及び意味属性の各々の情報を抽出する。そして、発話列の最後に位置する発話について抽出された単語、品詞、及び意味属性の各々の情報と、発話列の最後に位置する発話以外の発話の単語、品詞、及び意味属性の各々の情報との組み合わせを、特徴量として抽出する。
【００３４】
例えば、対象となる発話列にＮ個の発話が存在する場合、当該発話列の最後に位置する発話（Ｎ番目の発話）から、単語がＡ個、品詞がＢ個、意味属性がＣ個抽出され、当該発話列のＮ−１番目の発話から、単語がＤ個、品詞がＥ個、意味属性がＦ個抽出されたとすると、Ｎ番目の発話と、Ｎ−１番目の発話との間における、単語同士のすべての組み合わせ、品詞同士のすべての組み合わせ、及び意味属性同士のすべての組み合わせを表す特徴量（その組み合わせが存在するか否かを表す二値素性）を抽出する。つまり、全部でＡ＊Ｄ＋Ｂ＊Ｅ＋Ｃ＊Ｆ個の特徴量を抽出する。また、当該発話列のＮ−２番目の発話が存在する場合には、Ｎ番目の発話とＮ−２番目の発話との間における組み合わせについても同様に特徴量を抽出する。なお、Ｎ−３番目以降の発話も存在する場合には、Ｎ−３番目以降の発話とＮ番目の発話との間における組み合わせについても、同様に特徴量の抽出を行う。また、抽出される単語、品詞、及び意味属性の個数はユニークとなる単語、品詞、及び意味属性の個数であり、カウント済みの、重複して存在する単語、品詞、及び意味属性の各々についてはカウントしない。
【００３５】
発話列に、発話「楽器とか演奏しますか？」及び発話「素晴らしいですね。」が存在する場合、図５のような特徴量が抽出される。ここで、各特徴量は‘｜’で区切られている。‘WORD:’から始まるものは単語の組み合わせの特徴量、‘POS:’から始まるものは品詞の組み合わせの特徴量、‘CATS:’から始まるものは意味属性の組み合わせの特徴量である。「CATS:1 N-1674 N-2533=1」は、最後の発話に「N-2533」という意味属性があり、直前の発話に「N-1674」という意味属性があるということを示す特徴量である。「N-1674」の直前の「1_」は一つ前の発話との組み合わせであることを示す。イコール記号以降の1は特徴量の値であり、バイナリ特徴量であるので、特徴量が存在する場合は必ず1である。「POS:1 動詞接尾辞:終止句点=1」であれば、最後の発話に「句点」という品詞があり、直前発話に「動詞接尾辞：終止」があることを示す。「CATS:1 N-1674 N-2533=1」であれば、最後の発話に「N-2533」で表される意味属性が存在し、直前の発話に「N-1674」で表される意味属性が存在することを示す。
【００３６】
モデル学習部３０は、正例の発話列の各々について抽出された特徴量の各々と、疑似負例の発話列の各々について抽出された特徴量の各々とに基づいて、正例の発話列の各々について、当該正例の発話列に対応する擬似負例の発話列の特徴量より、当該正例の発話列の特徴量が上位にランキングされるように、ランキング学習により発話列の結束性を判定するためのモデルの学習を行い、モデル記憶部３２に記憶する。具体的には、正例の発話列と当該正例の発話列から作成された疑似負例の発話列とのペアの各々について、当該正例の発話列の特徴量をＦとし、当該疑似負例の発話列の特徴量をＦ´とし、ある重みベクトルＷを用いて計算される、それぞれのスコア（内積により得られる）を比べ、ＦＷがＦ´Ｗよりも大きくなるようなＷを、最適化の手法などにより見つけることで、正例の発話列を疑似負例の発話列よりも上位にランキングする重みベクトル（ランキングモデル）を得ることができる。このような重みベクトルは、ランキング学習に一般的に用いられる手法である、ランキングＳＶＭを用いることで、得ることが可能であり、出力は各特徴量の重みが記述されたモデルである。本実施の形態では、ＳＶＭにリニアＳＶＭを用いる。
【００３７】
モデル記憶部３２には、モデル学習部３０において学習された発話列の結束性を判定するモデルが記憶されている。
【００３８】
＜本発明の実施の形態に係るランキング装置の構成＞
次に、本発明の実施の形態に係るランキング装置の構成について説明する。図６に示すように、本発明の実施の形態に係るランキング装置２００は、ＣＰＵと、ＲＡＭと、後述するランキング処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このランキング装置２００は、機能的には図６に示すように入力部２１０と、演算部２２０と、出力部２９０とを備えている。
【００３９】
入力部２１０は、１つ以上の発話からなる、ユーザと対話システムの発話列（以後、対話文脈とする。）と、Ｐ個の対話システムの発話候補とを受け付ける。ここで、対話システムの発話候補とは、入力部２１０において受け付ける、対話文脈に対応して、対話システムが生成した発話候補である。抽出ベースのシステムを対話システムとして用いる場合、直前のユーザの発話と関連度の高い（例えば、単語ベクトルのコサイン類似度が高い）発話の上位Ｐ個を発話候補とする。
【００４０】
演算部２２０は、発話列構成部２２２と、形態素解析部２２４と、特徴量抽出部２２６と、モデル適用部２２８と、モデル記憶部２３０と、ランキング部２３２と、を備えている。
【００４１】
発話列構成部２２２は、入力部２１０において受け付けた、Ｐ個の対話システムの発話候補の各々について、入力部２１０において受け付けた対話文脈の最後に、当該対話システムの発話候補を追加して発話列を作成する。例えば、対話文脈に含まれる発話（Ｕ１，Ｕ２）があり、発話候補Ｃ１，Ｃ２があったとすると、（Ｕ１，Ｕ２，Ｃ１）と（Ｕ１，Ｕ２，Ｃ２）という発話列を作成する。なお、発話列構成部２２２は、後述するランキング部２３２が扱う発話列の長さに合わせて、発話列の要素数を所定の長さにする。例えば、ランキング部２３２が用いるモデルが２つの発話からなる発話列をランキングするように学習されている場合、発話列のそれぞれが２つの発話からなるようには発話列の先頭から切り詰める。例えば、（Ｕ１，Ｕ２，Ｃ１）と（Ｕ１，Ｕ２，Ｃ２）は、（Ｕ２，Ｃ１）と（Ｕ２，Ｃ２）という発話列になる。
【００４２】
具体的には、対話文脈に含まれる発話が先頭から「音楽が好きなんです。」、及び「楽器とか演奏しますか？」の２つであり、５個の発話候補「好きなピアニストはいますか？」、「ベートーベンとか情熱的な方が好きです。」、「素晴らしいですね。」、「バイオリンを弾きます。」、及び「オペラなどですよ。」が存在する場合であり、かつ、ランキング部２３２が用いるモデルが２つの発話からなる発話列をランキングするように学習されている場合、作成される発話列は、図７のようになる。ここで、BEGIN、ENDと書かれた行は発話列のセパレータであり、発話がある行の最初の数字が発話列の連番であり、二つ目の数字が発話列中の発話の連番である。
【００４３】
形態素解析部２２４は、発話列構成部２２２において作成した発話列の各々について、当該発話列に含まれる発話毎に、モデル学習装置１００の形態素解析部２６と同様に、ＪＴＡＧを用いて形態素解析を行う。
【００４４】
特徴量抽出部２２６は、発話列構成部２２２において作成した発話列の各々について、モデル学習装置１００の特徴量抽出部２８と同様に、形態素解析部２２４において取得した形態素解析結果に基づいて、発話列の最後に位置する発話について抽出された単語、品詞、及び意味属性の各々の情報と、発話列の最後に位置する発話以外の発話の単語、品詞、及び意味属性の各々の情報との組み合わせを、特徴量として抽出する。図８に、発話列の発話が先頭から「楽器とか演奏しますか？」、「オペラなどですよ」の順で存在している場合の特徴量を示す。
【００４５】
モデル適用部２２８は、発話列構成部２２２において作成した発話列の各々について、当該発話列の特徴量と、モデル記憶部２３０に記憶されている発話列の結束性を判定するモデルとに基づいて、当該発話列の結束性を表すスコアを算出する。具体的には、発話列から抽出された特徴量の各々について、当該特徴量と、当該特徴量の重みを掛け合わせて、その総和をとった値を、当該発話列の結束性を表すスコアとして算出する。
【００４６】
ランキング部２３２は、モデル適用部２２８において算出された、発話列の各々の当該発話列の結束性を表すスコアに基づいて、発話列の各々をランキングし、ランキング結果と、上位にランキングされた発話列に含まれる発話候補を出力部２９０に出力する。
【００４７】
＜本発明の実施の形態に係るモデル学習装置の作用＞
次に、本発明の実施の形態に係るモデル学習装置１００の作用について説明する。対話データの集合を受け付けと、モデル学習装置１００は、図９に示すモデル学習処理ルーチンを実行する。
【００４８】
まず、ステップＳ１００では、入力部１０において受け付けた対話データの各々について、当該対話データに含まれる、Ｎ個の連続した発話からなる発話列の各々を正例の発話列として抽出する。
【００４９】
次に、ステップＳ１０２では、ステップＳ１００において取得した発話列の各々について、当該発話列に含まれる最後の発話を別の発話で置き換えた発話列を疑似負例の発話列として作成する。
【００５０】
次に、ステップＳ１０４では、ステップＳ１００において取得した正例の発話列、及び、ステップＳ１０２において取得した疑似負例の発話列の各々について、形態素解析を行う。
【００５１】
次に、ステップＳ１０６では、ステップＳ１０４において取得した形態素解析済みの、ステップＳ１００において取得した正例の発話列、及び、ステップＳ１０２において取得した疑似負例の発話列の各々について、特徴量を抽出する。
【００５２】
次に、ステップＳ１０８では、ステップＳ１０６において取得した、正例の発話列の各々についての特徴量と、疑似負例の発話列の各々についての特徴量と、に基づいて、発話列の結束性を判定するモデルを学習し、モデル記憶部３２に記憶する。
【００５３】
次に、ステップＳ１１０では、ステップＳ１０８において取得した発話列の結束性を判定するモデルを出力部９０に出力して、モデル学習処理ルーチンを終了する。
【００５４】
＜本発明の実施の形態に係るランキング装置の作用＞
次に、本発明の実施の形態に係るランキング装置２００の作用について説明する。まず、入力部２１０から、モデル学習装置１００において学習された発話列の結束性を判定するモデルが入力され、モデル記憶部２３０に記憶される。そして、対話文脈と、Ｐ個の発話候補とを受け付けると、ランキング装置２００は、図１０に示すランキング処理ルーチンを実行する。
【００５５】
まず、ステップＳ２００では、モデル記憶部２３０に記憶されている発話列の結束性を判定するモデルを読み込む。
【００５６】
次に、ステップＳ２０２では、入力部１０において受け付けた対話文脈、及びＰ個の発話候補に基づいて、Ｐ個の発話列を作成する。
【００５７】
次に、ステップＳ２０４では、ステップＳ２０２において取得した発話列の各々について、当該発話列に含まれる発話毎に、ステップＳ１０４と同様に、形態素解析を行う。
【００５８】
次に、ステップＳ２０６では、ステップＳ２０２において取得した発話列の各々について、ステップＳ２０４において取得した形態素解析結果に基づいて、ステップＳ１０６と同様に、特徴量を抽出する。
【００５９】
次に、ステップＳ２０８では、発話列の各々について、ステップＳ２００において取得した発話列の結束性を判定するモデルと、ステップＳ２０６において取得した発話列の各々の特徴量とに基づいて、当該発話列の結束性を表すスコアを算出する。
【００６０】
次に、ステップＳ２１０では、ステップＳ２０８において取得した発話列の各々の、当該発話列の結束性を表すスコアに基づいて、ランキングを行う。
【００６１】
次に、ステップＳ２１２では、ステップＳ２１０において取得したランキング結果と、上位にランキングされた発話列に含まれる発話候補とを、出力部２９０に出力してランキング処理ルーチンの処理を終了する。
【００６２】
＜実験例＞
図１１に、人間同士の約３５００対話について、発話列の長さ２で正例の発話列と疑似負例の発話列とを作成し、モデル学習装置１００により学習したモデルによって、５個の発話候補「好きなピアニストはいますか？」、「ベートーベンとか情熱的な方が好きです。」、「素晴らしいですね。」、「バイオリンを弾きます。」、及び「オペラなどですよ。」をランキングした結果を示す。ここで、「バイオリンを弾きます。」のスコアが最も高くなっている。これは、「楽器とか演奏しますか？」「バイオリンを弾きます。」のやりとりを最も結束性が高いとシステムが判断したということである。直前発話が「楽器とか演奏しますか？」であるから、妥当な発話を選択できている。
【００６３】
以上説明したように、本発明の実施の形態に係るモデル学習装置によれば、正例として入力された、連続する複数の発話からなる発話列に基づいて、発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例として作成し、正例として入力された発話列及び疑似負例として作成された発話列の特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例として作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することによって、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【００６４】
また、本発明の実施の形態に係るランキング装置によれば、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、特徴量を抽出し、抽出された発話列の各々についての特徴量と、予め学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することによって、発話列の結束性に基づいて発話列をランキングして発話候補を出力することができる。
【００６５】
また、大量の対話データから、正例の発話列と疑似負例の発話列とを作成し、特徴量を抽出し、ランキング学習を行い、また、学習されたランキングのモデルを対話システムの発話候補選択に適用することで、結束性の高い発話を行う対話システムにおける発話生成を実現することができる。
【００６６】
また、対話システムの発話の結束性が高まり、ユーザにとって理解しやすい発話をシステムが生成できるようになることから、システムとユーザの意思疎通がしやすくなり、システムとユーザのインタラクションが円滑になる。
【００６７】
また、従来存在する新聞記事などの結束性を判定する手法とは異なり、対話システムとの対話において結束性を判定することができる。
【００６８】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００６９】
例えば、本実施の形態において、対話データについては、話者情報を取り除いたものを用いる場合について説明したが、これに限定されるものではなく、例えば、対話データに話者情報を付加したものを用いてもよい。
【００７０】
また、本実施の形態においては、疑似負例の発話列を作成する際に、正例の発話列に含まれる最後の発話を、当該発話列を抽出した対話データからランダムに取得した発話に置き換える場合について説明したが、これに限定されるものではない。例えば、正例の発話列に含まれる最後の発話を、当該発話列を抽出した対話データ以外の対話データからランダムに取得した発話に置き換えて、疑似負例の発話列を作成してもよい。
【００７１】
また、本実施の形態においては、形態素解析器としてＪＴＡＧを用いる場合について説明したが、これに限定されるものではない。例えば、形態素解析器としてフリーソフトとして広く流通している、ＣｈａｓｅｎやＭｅｃａｂを用いてもよい。
【００７２】
また、本実施の形態においては、特徴量として、最後の発話と、最後の発話以外の発話との間における、単語同士のすべての組み合わせ、品詞同士のすべての組み合わせ、及び意味属性同士のすべての組み合わせを表す特徴量を用いる場合について説明したがこれに限定されるものではない。例えば、最後の発話と、最後の発話以外の発話との間における、単語、品詞、意味属性のすべての組み合わせにより（Ａ＋Ｂ＋Ｃ）＊（Ｄ＋Ｅ＋Ｆ）個の組み合わせの特徴量を作成してもよい。
【００７３】
また、本実施の形態においては、特徴量として、単語、品詞、及び意味属性のすべてを用いる場合について説明したが、これに限定されるものではない。例えば、単語、品詞、及び意味属性のうち少なくとも１つを用いてもよい。この場合には、最後の発話と、最後の発話以外の発話との間における、単語、品詞、及び意味属性のうち少なくとも１つ同士の全ての組み合わせを、特徴量として抽出するようにすればよい。あるいは、最後の発話と、最後の発話以外の発話との間における、単語、品詞、及び意味属性のうち少なくとも１つの全ての組み合わせを、特徴量として抽出するようにすればよい。
【００７４】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００７５】
１０   入力部
２０   演算部
２２   発話列抽出部
２４   疑似負例作成部
２６   形態素解析部
２８   特徴量抽出部
３０   モデル学習部
３２   モデル記憶部
９０   出力部
１００ モデル学習装置
２００ ランキング装置
２１０ 入力部
２２０ 演算部
２２２ 発話列構成部
２２４ 形態素解析部
２２６ 特徴量抽出部
２２８ モデル適用部
２３０ モデル記憶部
２３２ ランキング部
２９０ 出力部
【図１】
0005976037.tif 000002
【図５】
0005976037.tif 000003
【図６】
0005976037.tif 000004
【図７】
0005976037.tif 000005
【図８】
0005976037.tif 000006
【図９】
0005976037.tif 000007
【図１０】
0005976037.tif 000008
【図１１】
0005976037.tif 000009
【図２】
0005976037.tif 000010
【図３】
0005976037.tif 000011
【図４】
0005976037.tif 000012