(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.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、関連度に基づいて選択された発話が必ずしもよい発話であるとは限らない。内容は関連しているが、適切な応答ではないものが選択されるケースもある。例えば、ユーザ発話が質問であったとすると、なるべく質問に応答をした方が適切と考えられるが、内容の関連度だけに着目すると、質問に応答していない発話であっても高い関連度になりうる。そうした場合、不適切な発話を生成する可能性があるという問題がある。
【０００６】
本発明では、上記問題点を解決するために成されたものであり、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができるモデル学習装置、方法、及びプログラムを提供することを目的とする。
【０００７】
また、本発明では、発話列の結束性に基づいて発話列を精度よくランキングすることができるランキング装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係るモデル学習装置は、正例として入力された、連続する複数の発話からなる発話列に基づいて、前記発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例として作成する疑似負例作成部と、前記正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、前記疑似負例作成部により作成された発話列に対する係り受け解析結果に基づいて、前記特徴量を抽出する特徴量抽出部と、前記特徴量抽出部において抽出された前記特徴量に基づいて、前記正例として入力された発話列の特徴量が、前記疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習するモデル学習部と、を含んで構成されている。
【０００９】
第２の発明に係るモデル学習方法は、疑似負例作成部と、特徴量抽出部と、モデル学習部と、を含むモデル学習装置におけるモデル学習方法であって、前記疑似負例作成部は、正例として入力された、連続する複数の発話からなる発話列に基づいて、前記発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例として作成し、前記特徴量抽出部は、前記正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、前記疑似負例作成部により作成された発話列に対する係り受け解析結果に基づいて、前記特徴量を抽出し、前記モデル学習部は、前記特徴量抽出部において抽出された前記特徴量に基づいて、前記正例として入力された発話列の特徴量が、前記疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習する。
【００１０】
第１及び第２の発明によれば、疑似負例作成部により、正例として入力された、連続する複数の発話からなる発話列に基づいて、発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例として作成し、特徴量抽出部により、正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、疑似負例作成部により作成された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、モデル学習部により、特徴量抽出部において抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例作成部により作成された発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習する。
【００１１】
このように、疑似負例を作成し、正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、疑似負例の発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例の発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することにより、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【００１２】
また、第１の発明において、前記特徴量抽出部は、前記発話列に対する係り受け解析結果に基づいて、前記発話列の依存構造を抽出し、前記抽出された依存構造に含まれる単語を前記単語の意味を表す意味属性として表現した特徴量を抽出してもよい。
【００１３】
また、第１の発明において、前記特徴量抽出部は、前記発話列に対する係り受け解析結果に基づいて、前記抽出された依存構造に含まれる単語を、前記単語の意味を表す意味属性より上位の意味を表す意味属性として表現した特徴量を抽出してもよい。
【００１４】
第３の発明に係るランキング装置は、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、前記複数の発話候補の各々に対し、前記発話列に続く発話として前記発話候補を追加した発話列を構成する発話列構成部と、前記発話列構成部によって構成された発話列の各々について、前記発話列に対する係り受け解析結果に基づいて、前記特徴量を抽出する特徴量抽出部と、前記特徴量抽出部によって抽出された前記発話列の各々についての前記特徴量と、第１の発明のモデル学習装置によって学習された前記モデルとに基づいて、前記発話列構成部によって構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力するランキング部と、を含んで構成されている。
【００１５】
第４の発明に係るランキング方法は、発話列構成部と、特徴量抽出部と、ランキング部と、を含むランキング装置におけるランキング方法であって、前記発話列構成部は、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、前記複数の発話候補の各々に対し、前記発話列に続く発話として前記発話候補を追加した発話列を構成し、前記特徴量抽出部は、前記発話列構成部によって構成された発話列の各々について、前記発話列に対する係り受け解析結果に基づいて、前記特徴量を抽出し、前記ランキング部は、前記特徴量抽出部によって抽出された前記発話列の各々についての前記特徴量と、第２の発明のモデル学習方法によって学習された前記モデルとに基づいて、前記発話列構成部によって構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力する。
【００１６】
第３及び第４の発明によれば、発話列構成部により、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、特徴量抽出部により、発話列構成部によって構成された発話列の各々について、発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、ランキング部により、特徴量抽出部によって抽出された発話列の各々についての特徴量と、第１又は第２の発明のモデル学習装置又はモデル学習方法によって学習されたモデルとに基づいて、発話列構成部によって構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力する。
【００１７】
このように、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された発話列の各々についての特徴量と、学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することにより、発話列の結束性に基づいて発話列を精度よくランキングすることができる。
【００１８】
また、本発明のプログラムは、コンピュータを、上記のモデル学習装置、及びランキング装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００１９】
以上説明したように、本発明のモデル学習装置、方法、及びプログラムによれば、疑似負例を作成し、正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、疑似負例の発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例の発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することにより、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【００２０】
また、本発明のランキング装置、方法、及びプログラムによれば、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された発話列の各々についての特徴量と、学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することにより、発話列の結束性に基づいて発話列を精度よくランキングすることができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の第１の実施の形態に係るモデル学習装置の機能的構成を示すブロック図である。
【図２】対話データの集合の例を示す図である。
【図３】疑似負例作成のイメージの例を示す図である。
【図４】係り受け解析器ＪＤＥＰを用いた場合の結果の例を示す図である。
【図５】特徴量の例を示す図である。
【図６】学習したモデルにおける重みの例を示す図である。
【図７】本発明の第１の実施の形態に係るランキング装置の機能的構成を示すブロック図である。
【図８】文脈の例を示す図である。
【図９】発話候補の例を示す図である。
【図１０】作成された発話列の例を示す図である。
【図１１】２つの発話列の発話から取得される特徴量を示す図である。
【図１２】本発明の第１の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンを示すフローチャート図である。
【図１３】本発明の第１の実施の形態に係るランキング装置におけるランキング処理ルーチンを示すフローチャート図である。
【図１４】ランキング結果の例を示す図である。
【図１５】本発明の第２の実施の形態に係るモデル学習装置の機能的構成を示すブロック図である。
【図１６】特徴量の例を示す図である。
【図１７】本発明の第２の実施の形態に係るランキング装置の機能的構成を示すブロック図である。
【図１８】本発明の第３の実施の形態に係るモデル学習装置の機能的構成を示すブロック図である。
【図１９】特徴量の例を示す図である。
【図２０】本発明の第３の実施の形態に係るランキング装置の機能的構成を示すブロック図である。
【図２１】本発明の第３の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンを示すフローチャート図である。
【図２２】本発明の第３の実施の形態に係るランキング装置におけるランキング処理ルーチンを示すフローチャート図である。
【図２３】本発明の第４の実施の形態に係るモデル学習装置の機能的構成を示すブロック図である。
【図２４】特徴量の例を示す図である。
【図２５】本発明の第４の実施の形態に係るランキング装置の機能的構成を示すブロック図である。
【図２６】本発明の第４の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンを示すフローチャート図である。
【図２７】本発明の第４の実施の形態に係るランキング装置におけるランキング処理ルーチンを示すフローチャート図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２３】
＜本発明の原理＞
本実施の形態においては、対話システムとの対話において、発話のつながりのよさを示す結束性を判定して、発話候補を選択する。本実施の形態は、モデル学習フェーズと、ランキングフェーズとから構成される。
【００２４】
不適切な発話を生成してしまわないために、発話のつながりのよさ（結束性）を考慮して、発話を選択する必要がある。
【００２５】
結束性の判定を行うための方法として教師あり学習の手法が考えられる。例えば、結束性が高い発話列と結束性が低い発話列をそれぞれ準備し、これらから結束性が高いか低いかを二値分類する分類器を学習すればよい。しかし、雑談のような雑多な話題を持った対話では、様々なやりとりがなされる。それらをすべてカバーするような学習データを作ることは非常にコストがかかり困難である。そこで、本実施の形態においては、雑多な話題を持った対話のような学習事例を、疑似負例を用いて作成する。
【００２６】
具体的には、まず大量の対話データを用意する。人間同士が話した自然な対話であれば何でもよい。そして、これらの対話データから一定の長さの発話列をサンプリングする。この発話列をＡとする。同時に、発話列Ａの最後の発話を他の発話とランダムに入れ替えた発話列（発話列Ｂ）も作成する。最後の発話がランダムに入れ替えられた発話列Ｂの結束性は、発話列Ａよりも低いと想定できる。よって、発話列Ａを正例とし、発話列Ｂを負例（疑似負例）とすることで、教師あり学習の手法が適用できる。
【００２７】
なお、発話列Ａは発話列Ｂよりも結束性が高いと考えられるが、発話列Ｂの結束性が必ずしも低いという保証はない。よって、学習手法としては相対的な序列を学習する手法であるランキング学習を用いる。具体的には、発話列Ｂよりも発話列Ａが上位にランキングされるようにランキング規則を学習する。
【００２８】
学習では特徴量が重要である。本実施の形態においては、発話列を表す特徴量として、最後の発話に含まれる単語の係り受け情報と、それ以前の発話のそれぞれに単語の係り受け情報を組み合わせた特徴量を用いる。係り受け情報は、単語間の依存関係で表され、単独の単語に着目していたのでは得られない、「何がどうした」のような文のおおまかな内容に関する情報を表すことができる。
【００２９】
それぞれの発話から依存構造を抽出し、これらの組み合わせを特徴量としてランキング学習を行う事で、内容に基づいて結束性の判定ができるようになる。なお、単語間の依存構造を特徴量とするということは特徴量の数が多くなり学習データが不足する恐れがある。そこで、本実施の形態においては、依存構造に含まれる単語を、単語の意味を表す意味属性によって抽象化する。また、意味属性の階層関係を用い、意味属性のさらに上位の意味属性を用いてさらなる抽象化を行う。
【００３０】
具体的には、本実施の形態においては、下記（ａ）〜（ｄ）の何れかの依存構造を抽出する。
（ａ）係り受け関係にある主辞のペアを依存構造として抽出
（ｂ）係り受け関係にある主辞と機能語主辞のペアを依存構造として抽出
（ｃ）上記主辞を対応する意味属性によって置き換えた依存構造を抽出
（ｄ）上記意味属性をその上位概念によって置き換えた依存構造を抽出
【００３１】
本実施の形態においては、大量の対話データから、正例の発話列と疑似負例の発話列を生成し、特徴量を抽出し、ランキング学習を行う。また、学習されたランキングのモデルを対話システムの発話候補選択に適用することで、結束性の高い発話を行う対話システムにおける発話生成を実現する。
【００３２】
＜本発明の第１の実施の形態に係るモデル学習装置の構成＞
次に、本発明の第１の実施の形態に係るモデル学習装置の構成について説明する。図１に示すように、本発明の第１の実施の形態に係るモデル学習装置１００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このモデル学習装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部９０とを備えている。
【００３３】
入力部１０は、図２に示すような、対話データの集合を受け付ける。ここで、対話データは、連続する複数の発話からなるものとする。ここで、対話データは二人の話者によるものとし、発話は交互に違う話者が話したものとする。なお、第１の実施の形態において、対話データについては、話者情報を取り除いたものとする。
【００３４】
演算部２０は、発話列抽出部２２と、疑似負例作成部２４と、形態素解析部２６と、係り受け解析部２８と、特徴量抽出部３０と、モデル学習部３２と、モデル記憶部３４と、を備えている。
【００３５】
発話列抽出部２２は、入力部１０において受け付けた対話データの各々について、当該対話データに含まれる、Ｎ個の連続する複数の発話からなる発話列の各々を抽出し、抽出された発話列の各々を正例の発話列とする。なお、発話列の抽出は、先頭に位置する発話を１つずつ繰り下げて抽出するため、発話列の各々に、重複する発話が含まれることになる。また、第１の実施の形態においてＮの値は２とする。
【００３６】
疑似負例作成部２４は、発話列抽出部２２において抽出された発話列の各々について、当該発話列に含まれる最後の発話を別の発話に置き換えた発話列を、疑似負例の発話列として作成する。具体的には、発話列に含まれる最後の発話を、当該発話列を抽出した対話データからランダムに取得した発話に置き換える。ここで、１つの対話データにＭ個の発話があったとすると、当該対話データについては、Ｎが２の場合、Ｍ−１個の正例と、Ｍ−１個の疑似負例を作成できる。また、Ｎが３の場合、Ｍ−２個の正例と、Ｍ−２個の疑似負例を作成できる。図３に疑似負例作成のイメージを示す。なお、入力部１０において受け付けた対話データの集合がＬ個の対話データであったとすると、Ｌ個の対話データの各々について、発話列抽出部２２において正例の発話列の各々を作成し、疑似負例作成部２４において、疑似負例の発話列の各々を作成する。
【００３７】
形態素解析部２６は、発話列抽出部２２において抽出された正例の発話列の各々、及び疑似負例作成部２４において作成された疑似負例の発話列の各々について、当該発話列に含まれる発話毎に、形態素解析を行う。
【００３８】
係り受け解析部２８は、形態素解析部２６において形態素解析された正例の発話列の各々、及び疑似負例作成部２４において作成された疑似負例の発話列の各々について、当該発話列に含まれる発話毎に、係り受け解析を行う。ここで、係り受け解析結果とは、発話を文節に区切り、その文節間の依存構造を与えたものである。
【００３９】
特徴量抽出部３０は、係り受け解析部２８において取得した、正例の発話列の各々、及び疑似負例の発話列の各々に含まれる発話毎の係り受け解析結果に基づいて、正例の発話列の各々、及び疑似負例の発話列の各々について、特徴量を抽出する。具体的には、まず、発話列に含まれる発話の各々について、当該発話の係り受け解析結果に基づいて依存構造を取得する。ここで、依存構造は、発話の係り受け解析結果から取得することができる。
【００４０】
例えば、「私がイギリスに行く」という発話について、文節区切りを「／」で表すとすると「私が／イギリスに／行く」となる。文節は内容を表す内容部と機能部からなる。内容部は名詞や動詞といった内容を伴う単語（内容語）から構成される。内容部には主辞と呼ばれる単語があり、これが内容部の中で最も重要な単語となる。機能部は助詞などから構成される部分であり、内容部と同様、機能語を代表する単語として機能語主辞がある。
【００４１】
係り受け解析結果において、文節同士には依存関係がある。例えば、先の文であれば「私が」は「行く」に、「イギリスに」も「行く」に係っている。なお、第１の実施の形態においては、係り受け解析結果から得られる依存構造として、係り受け関係を持つ内容語主辞（単に主辞ともいう）のペアを抽出する。例えば、「私が」の主辞は「私」であり、「行く」の主辞は「行」である（「く」は語尾）。すなわち、「私−行」という依存構造が抽出される。また、同様に、「イギリス−行」も抽出される。
【００４２】
次に、例えば、長さＮの発話列の最後の発話（Ｎ番目の発話）から、依存構造がＡ個抽出され、一方、Ｎ−１番目の発話から、依存構造がＢ個抽出されている場合、当該発話列の特徴量として、当該発話列に含まれる発話の各々の依存構造同士の全ての組み合わせを表す素性（その組み合わせが存在するか否かを表す二値素性）を抽出する。この場合、全部でＡ×Ｂ個の素性を抽出する。また、例えば、発話列にＮ−２番目の発話が存在する場合（即ち、Ｍが３以上である場合）、最後の発話の依存構造、Ｎ−１番目の発話の依存構造、Ｎ−２番目の発話の依存構造の組み合わせを表す素性を抽出する。具体的には、最後の発話から依存構造がＣ個抽出され、Ｎ−１番目の発話から依存構造がＤ個抽出され、Ｎ−２番目の発話から依存構造がＥ個抽出されたとすると、最後の発話の依存構造と以前の発話の依存構造のそれぞれとを組み合わせて、Ｃ×Ｄ＋Ｃ×Ｅ個の素性を作成する。このように、最後の発話の依存構造と、発話列の最後の発話以外の発話の依存構造との全ての組み合わせを表す素性を、特徴量として抽出する。
【００４３】
「趣味は何ですか？」、及び「そうですね、音楽鑑賞なんかをよくします。」という発話からなる発話列について素性を抽出した例について説明する。まず、当該発話列の発話各々について、係り受け解析部２８において取得された係り受け解析結果は、図４に示すようになる。ここで、図４において、アスタリスクから始まる「＊  ０  １Ｄ  ０／１」のような行は文節区切りを表し、アスタリスク以降は、文節ＩＤ、係り先文節ＩＤと係りタイプ、「０／１」が主辞の位置、機能語主辞の位置である。アスタリスク以降の行は文節に含まれる単語の情報であり、単語の表層、品詞、標準表記、終止形（あれば）、読み、意味属性の情報である。意味属性は複数付与されていることがあるが、第１の実施の形態においては、最も重要とされる先頭のものを用いる。ＥＯＳは文区切りである。なお、第１の実施の形態においては、形態素解析部２６、及び係り受け解析部２８の処理で、出願人が開発したＪＤＥＰを用いており、図４に、係り受け解析器ＪＤＥＰを用いた場合の結果を示す。
【００４４】
当該発話の各々についての当該係り受け解析結果に基づいて取得された依存構造の組み合わせによって素性を作成すると、図５の様に素性が作成される。各素性は「｜」で区切られており、素性値として１が与えられている。１は、その素性が存在していることを表す。「＜／ｓ＞」は、文末を表す素性であり、係り受け先が存在しない場合は、主辞と「＜／ｓ＞」との組み合わせによって依存構造が作成されるようにしている。素性の前の「Ｄ」というのは依存構造（Dependency）の素性であることを示す接頭辞である。
【００４５】
モデル学習部３２は、正例の発話列の各々について抽出された特徴量の各々と、疑似負例の発話列の各々について抽出された特徴量の各々とに基づいて、正例の発話列の各々について、当該正例の発話列に対応する擬似負例の発話列の特徴量より、当該正例の発話列の特徴量が上位にランキングされるように、ランキング学習により発話列の結束性を判定するためのモデルの学習を行い、モデル記憶部３４に記憶する。具体的には、正例の発話列と当該正例の発話列から作成された疑似負例の発話列とのペアの各々について、当該正例の発話列の特徴量をＦとし、当該疑似負例の発話列の特徴量をＦ´とし、ある重みベクトルＷを用いて計算される、それぞれのスコア（内積により得られる）を比べ、ＦＷがＦ´Ｗよりも大きくなるようなＷを、最適化の手法などにより見つけることで、正例の発話列を疑似負例の発話列よりも上位にランキングする重みベクトル（ランキングモデル）を得ることができる。このような重みベクトルは、ランキング学習に一般的に用いられる手法である、ランキングＳＶＭを用いることで、得ることが可能であり、出力は各素性の重みが記述されたモデルである。第１の実施の形態では、ＳＶＭにリニアＳＶＭを用いる。
【００４６】
モデル記憶部３４には、モデル学習部３２において学習された発話列の結束性を判定するモデルが記憶されている。図６に学習したモデルにおける重みの例を示す。「イギリス」という単語を含む素性で重みの大きいものから列挙している。
【００４７】
＜第１の実施の形態に係るランキング装置の構成＞
次に、本発明の第１の実施の形態に係るランキング装置の構成について説明する。図７に示すように、第１の実施の形態に係るランキング装置２００は、ＣＰＵと、ＲＡＭと、後述するランキング処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このランキング装置２００は、機能的には図７に示すように入力部２１０と、演算部２２０と、出力部２９０とを備えている。
【００４８】
入力部２１０は、１つ以上の発話からなる、ユーザと対話システムの発話列（以後、対話文脈とする。）と、Ｐ個の対話システムの発話候補とを受け付ける。ここで、対話システムの発話候補とは、入力部２１０において受け付ける、対話文脈に対応して、対話システムが生成した発話候補である。抽出ベースのシステムを対話システムとして用いる場合、直前のユーザの発話と関連度の高い（例えば、単語ベクトルのコサイン類似度が高い）発話の上位Ｐ個を発話候補とする。
【００４９】
演算部２２０は、発話列構成部２２２と、形態素解析部２２４と、係り受け解析部２２６と、特徴量抽出部２２８と、モデル記憶部２３０と、モデル適用部２３２と、ランキング部２３４と、を備えている。
【００５０】
発話列構成部２２２は、入力部２１０において受け付けた、Ｐ個の対話システムの発話候補の各々について、入力部２１０において受け付けた対話文脈の最後に、当該対話システムの発話候補を追加して発話列を作成する。例えば、対話文脈に含まれる発話（Ｕ１，Ｕ２）があり、発話候補Ｃ１，Ｃ２があったとすると、（Ｕ１，Ｕ２，Ｃ１）と（Ｕ１，Ｕ２，Ｃ２）という発話列を作成する。なお、発話列構成部２２２は、後述するランキング部２３４が扱う発話列の長さに合わせて、発話列の要素数を所定の長さにする。例えば、ランキング部２３４が用いるモデルが２つの発話からなる発話列をランキングするように学習されている場合、発話列のそれぞれが２つの発話からなるようには発話列の先頭から切り詰める。例えば、（Ｕ１，Ｕ２，Ｃ１）と（Ｕ１，Ｕ２，Ｃ２）は、（Ｕ２，Ｃ１）と（Ｕ２，Ｃ２）という発話列になる。
【００５１】
具体的には、対話文脈に含まれる発話が先頭から図８に示すように、「音楽が好きなんです。」、及び「楽器とか演奏しますか？」の２つであり、図９に示す２個の発話候補「好きなピアニストはいますか？」、及び「バイオリンを弾きます。」が存在する場合であり、かつ、ランキング部２３４が用いるモデルが２つの発話からなる発話列をランキングするように学習されている場合、作成される発話列は、図１０に示す２つとなる。
【００５２】
形態素解析部２２４は、発話列構成部２２２において作成した発話列の各々について、当該発話列に含まれる発話毎に、モデル学習装置１００の形態素解析部２６と同様に、形態素解析を行う。
【００５３】
係り受け解析部２２６は、形態素解析部２２４において形態素解析された発話列の各々について、当該発話列に含まれる発話毎に、モデル学習装置１００の係り受け解析部２８と同様に、係り受け解析を行う。
【００５４】
特徴量抽出部２２８は、発話列構成部２２２において作成した発話列の各々について、モデル学習装置１００の特徴量抽出部３０と同様に、係り受け解析部２２６において取得した係り受け解析結果に基づいて、依存構造の組み合わせを表す素性を特徴量として抽出する。図１１に、示す２つの発話列の発話から取得される特徴量を示す。
【００５５】
モデル記憶部２３０には、モデル学習装置１００において学習された発話列の結束性を判定するモデルが記憶されている。
【００５６】
モデル適用部２３２は、発話列構成部２２２において作成した発話列の各々について、当該発話列の特徴量と、モデル記憶部２３０に記憶されている発話列の結束性を判定するモデルとに基づいて、当該発話列の結束性を表すスコアを算出する。具体的には、発話列から抽出された特徴量の各素性について、当該素性と、当該素性の重みを掛け合わせて、その総和をとった値を、当該発話列の結束性を表すスコアとして算出する。
【００５７】
ランキング部２３４は、モデル適用部２３２において算出された、発話列の各々の当該発話列の結束性を表すスコアに基づいて、発話列の各々をランキングし、ランキング結果と、上位にランキングされた発話列に含まれる発話候補を出力部２９０に出力する。
【００５８】
＜第１の実施の形態に係るモデル学習装置の作用＞
次に、第１の実施の形態に係るモデル学習装置１００の作用について説明する。入力部１０において、対話データの集合を受け付けると、モデル学習装置１００は、図１２に示すモデル学習処理ルーチンを実行する。
【００５９】
まず、ステップＳ１００では、入力部１０において受け付けた対話データの各々について、当該対話データに含まれる、Ｎ個の連続した発話からなる発話列の各々を正例の発話列として抽出する。
【００６０】
次に、ステップＳ１０２では、ステップＳ１００において取得した発話列の各々について、当該発話列に含まれる最後の発話を別の発話で置き換えた発話列を疑似負例の発話列として作成する。
【００６１】
次に、ステップＳ１０４では、ステップＳ１００において取得した正例の発話列、及び、ステップＳ１０２において取得した疑似負例の発話列の各々について、形態素解析を行う。
【００６２】
次に、ステップＳ１０６では、ステップＳ１０４において取得した形態素解析済みの、ステップＳ１００において取得した正例の発話列、及びステップＳ１０２において取得した疑似負例の発話列の各々について、係り受け解析を行う。
【００６３】
次に、ステップＳ１０８では、ステップＳ１０６において取得した係り受け解析済みの、ステップＳ１００において取得した正例の発話列、及び、ステップＳ１０２において取得した疑似負例の発話列の各々について、特徴量を抽出する。
【００６４】
次に、ステップＳ１１０では、ステップＳ１０８において取得した、正例の発話列の各々についての特徴量と、疑似負例の発話列の各々についての特徴量と、に基づいて、発話列の結束性を判定するモデルを学習し、モデル記憶部３４に記憶する。
【００６５】
次に、ステップＳ１１２では、ステップＳ１１０において取得した発話列の結束性を判定するモデルを出力部９０に出力して、モデル学習処理ルーチンを終了する。
【００６６】
＜第１の実施の形態に係るランキング装置の作用＞
次に、本発明の第１の実施の形態に係るランキング装置２００の作用について説明する。まず、入力部２１０から、モデル学習装置１００において学習された発話列の結束性を判定するモデルが入力され、モデル記憶部２３０に記憶される。そして、入力部２１０において、対話文脈と、Ｐ個の発話候補とを受け付けると、ランキング装置２００は、図１３に示すランキング処理ルーチンを実行する。
【００６７】
まず、ステップＳ２００では、モデル記憶部２３０に記憶されている発話列の結束性を判定するモデルを読み込む。
【００６８】
次に、ステップＳ２０２では、入力部２１０において受け付けた対話文脈、及びＰ個の発話候補に基づいて、Ｐ個の発話列を作成する。
【００６９】
次に、ステップＳ２０４では、ステップＳ２０２において取得した発話列の各々について、当該発話列に含まれる発話毎に、ステップＳ１０４と同様に、形態素解析を行う。
【００７０】
次に、ステップＳ２０６では、ステップＳ２０４において取得した、形態素解析済みの、ステップＳ２０２において取得した発話列の各々について、ステップＳ１０６と同様に、係り受け解析を行う。
【００７１】
次に、ステップＳ２０８では、ステップＳ２０６において取得した、係り受け解析済みの、ステップＳ２０２において取得した発話列の各々について、ステップＳ１０８と同様に、特徴量を抽出する。
【００７２】
次に、ステップＳ２１０では、発話列の各々について、ステップＳ２００において取得した発話列の結束性を判定するモデルと、ステップＳ２０８において取得した発話列の各々の特徴量とに基づいて、当該発話列の結束性を表すスコアを算出する。
【００７３】
次に、ステップＳ２１２では、ステップＳ２１０において取得した発話列の各々の、当該発話列の結束性を表すスコアに基づいて、ランキングを行う。
【００７４】
次に、ステップＳ２１４では、ステップＳ２１２において取得したランキング結果と、上位にランキングされた発話列に含まれる発話候補とを、出力部２９０に出力してランキング処理ルーチンの処理を終了する。
【００７５】
＜実施例＞
人間同士の約３５００対話について、発話列の長さ２で正例と疑似負例を作成し、モデル学習装置１００において学習したモデルによって、図１０に示す２つの発話候補をランキングした結果を図１４に示す。図１４の結果において、「バイオリンを弾きます。」のスコアの方が、「好きなピアニストはいますか？」のスコアよりも高い。これは、「楽器とか演奏しますか？」、「バイオリンを弾きます。」のやり取りを最も結束性が高いとシステムが判断したということを表す。当該例の場合、直前発話が「楽器とか演奏しますか？」であることから、妥当な発話が選択できている。
【００７６】
以上説明したように、第１の実施の形態に係るモデル学習装置によれば、疑似負例を作成し、正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、疑似負例の発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例の発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することにより、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【００７７】
また、第１の実施の形態に係るランキング装置によれば、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された発話列の各々についての特徴量と、学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することにより、発話列の結束性に基づいて発話列を精度よくランキングすることができる。
【００７８】
また、対話システムの発話の結束性が高まり、ユーザにとって理解しやすい発話をシステムが生成できるようになる。それにより、システムとユーザの意思疎通がしやすくなり、システムとユーザとのインタラクションが円滑になる。
【００７９】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８０】
例えば、第１の実施の形態においては、対話データについては話者情報を取り除いたものとしているが、これに限定されるものではなく、対話データに話者情報があってもよい。
【００８１】
また、第１の実施の形態においては、発話列を２個の連続する複数の発話からなるものとして抽出する場合について説明したが、これに限定されるものではなく、例えば、Ｎの値が２以上であるＮ個の連続する複数の発話からなる発話列を抽出してもよい。
【００８２】
また、第１の実施の形態においては、Ｍが３以上である場合、発話列について、当該発話列に含まれる発話の各々の依存構造の組み合わせを作成し、Ｃ×Ｄ＋Ｃ×Ｅ個の素性を作成する場合について説明したが、これに限定されるものではない。例えば、発話各々の依存構造同士の全ての組み合わせを表す素性として、Ｃ×Ｄ×Ｅ個の素性を作成してもよい。但し、この場合、素性に用いる発話の数が増えると素性数が爆発するため、第１の実施の形態の方法の方が一般的に望ましい。
【００８３】
また、第１の実施の形態においては、係り受け解析器としてＪＤＥＰを用いる場合について説明したが、これに限定されるものではない。例えば、ＣａｂｏＣｈａやＫＮＰを用いてもよい。
【００８４】
また、第１の実施の形態においては、疑似負例の発話列を作成する際に、正例の発話列に含まれる最後の発話を、当該発話列を抽出した対話データからランダムに取得した発話に置き換える場合について説明したが、これに限定されるものではない。例えば、正例の発話列に含まれる最後の発話を、当該発話列を抽出した対話データ以外の対話データからランダムに取得した発話に置き換えて、疑似負例の発話列を作成してもよい。
【００８５】
次に、第２の実施の形態に係るモデル学習装置及びランキング装置について説明する。
【００８６】
第２の実施の形態においては、特徴量を抽出する際に用いる依存構造として、機能語主辞を含めた依存構造を用いる点が第１の実施の形態と異なる。なお、第１の実施の形態に係るモデル学習装置１００及びランキング装置２００と同様の構成及び作用については、同一の符号を付して説明を省略する。
【００８７】
＜第２の実施の形態に係るモデル学習装置の構成＞
次に、本発明の第２の実施の形態に係るモデル学習装置の構成について説明する。図１５に示すように、本発明の第２の実施の形態に係るモデル学習装置３００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このモデル学習装置３００は、機能的には図１５に示すように入力部１０と、演算部３２０と、出力部９０とを備えている。
【００８８】
演算部３２０は、発話列抽出部２２と、疑似負例作成部２４と、形態素解析部２６と、係り受け解析部２８と、特徴量抽出部３３０と、モデル学習部３２と、モデル記憶部３４と、を備えている。
【００８９】
特徴量抽出部３３０は、係り受け解析部２８において取得した、正例の発話列の各々、及び疑似負例の発話列の各々に含まれる発話毎の係り受け解析結果に基づいて、正例の発話列の各々、及び疑似負例の発話列の各々について、特徴量を抽出する。第２の実施の形態においては、発話列に含まれる発話の各々について、当該発話の係り受け解析結果に基づいて取得する依存構造として、機能語主辞を含めたものを取得する。例えば、文節区切りが「イギリスに／行く」であれば、「イギリスに」から、主辞として「イギリス」、機能語主辞として「に」が抽出され、「行く」から、主辞として「行」、機能語主辞として「く」が抽出され、そして、依存構造として、「イギリス−に−行−く」が抽出される。第２の実施の形態において抽出される特徴量の例を図１６に示す。
【００９０】
そして、上記第１の実施の形態と同様に、例えば、長さＮの発話列の最後の発話（Ｎ番目の発話）から、依存構造がＡ個抽出され、一方、Ｎ−１番目の発話から、依存構造がＢ個抽出されている場合、当該発話列の特徴量として、当該発話列に含まれる発話の各々の依存構造同士の全ての組み合わせを表す素性（その組み合わせが存在するか否かを表す二値素性）を抽出する。
【００９１】
＜第２の実施の形態に係るランキング装置の構成＞
次に、第２の実施の形態に係るランキング装置の構成について説明する。図１７に示すように、第２の実施の形態に係るランキング装置４００は、ＣＰＵと、ＲＡＭと、後述するランキング処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このランキング装置４００は、機能的には図１７に示すように入力部２１０と、演算部４２０と、出力部２９０とを備えている。
【００９２】
演算部２２０は、発話列構成部２２２と、形態素解析部２２４と、係り受け解析部２２６と、特徴量抽出部４２８と、モデル記憶部２３０と、モデル適用部２３２と、ランキング部２３４と、を備えている。
【００９３】
特徴量抽出部４２８は、発話列構成部２２２において作成した発話列の各々について、モデル学習装置３００の特徴量抽出部３３０と同様に、係り受け解析部２２６において取得した係り受け解析結果に基づいて、依存構造の組み合わせに関する特徴量を抽出する。
【００９４】
以上、説明したように、第２の実施の形態に係るモデル学習装置によれば、疑似負例を作成し、正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、疑似負例の発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例の発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することにより、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【００９５】
また、第２の実施の形態に係るランキング装置によれば、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された発話列の各々についての特徴量と、学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することにより、発話列の結束性に基づいて発話列を精度よくランキングすることができる。
【００９６】
次に、第３の実施の形態に係るモデル学習装置及びランキング装置について説明する。
【００９７】
第３の実施の形態においては、特徴量を抽出する際に用いる依存構造を、係り受け関係にある主辞を対応する意味属性によって置き換えた依存構造を用いる点が第１の実施の形態と異なる。なお、第１の実施の形態に係るモデル学習装置１００及びランキング装置２００と同様の構成及び作用については、同一の符号を付して説明を省略する。
【００９８】
第３の実施の形態においては、第１及び第２の実施の形態のように、依存構造に単語をそのまま用いると、特徴量が疎になる可能性があることから、単語を抽象化する。例えば、主辞の内容語について、日本語の大規模シソーラスである日本語語彙大系を参照し、対応する意味属性があれば、その意味属性でその単語を代表させることで実現する。日本語語彙大系において、意味属性の数は全部で２７１５種類しかないので、抽象度を高めることが可能である。
【００９９】
＜第３の実施の形態に係るモデル学習装置の構成＞
次に、本発明の第３の実施の形態に係るモデル学習装置の構成について説明する。図１８に示すように、本発明の第３の実施の形態に係るモデル学習装置５００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このモデル学習装置５００は、機能的には図１８に示すように入力部１０と、演算部５２０と、出力部９０とを備えている。
【０１００】
演算部５２０は、発話列抽出部２２と、疑似負例作成部２４と、辞書記憶部５２５と、形態素解析部５２６と、係り受け解析部２８と、特徴量抽出部５３０と、モデル学習部３２と、モデル記憶部３４と、を備えている。
【０１０１】
辞書記憶部５２５には、日本語の大規模シソーラスである日本語語彙大系が記憶されている。ここで、日本語語彙大系における意味属性の数は全部で２７１５種類あるものとする。
【０１０２】
形態素解析部５２６は、発話列抽出部２２において抽出された正例の発話列の各々、及び疑似負例作成部２４において作成された疑似負例の発話列の各々について、当該発話列に含まれる発話毎に、形態素解析を行う。また、形態素解析部５２６は、発話列の各々について、当該発話列の形態素解析結果と、辞書記憶部５２５に記憶されている日本語語彙大系とに基づいて、当該発話列に含まれる単語の各々について、対応する意味属性を付与する。
【０１０３】
特徴量抽出部５３０は、形態素解析部５２６において意味属性が付与された正例の発話列の各々、及び疑似負例の発話列の各々と、係り受け解析部２８において取得した、正例の発話列の各々、及び疑似負例の発話列の各々の係り受け解析結果とに基づいて、発話列の各々について、特徴量を抽出する。具体的には、まず、発話列に含まれる発話の各々について、当該発話の係り受け解析結果に基づいて依存構造を取得する。次に、発話の各々について、当該発話の依存構造に含まれる単語を抽象化する。例えば、発話の依存構造が、「イギリス−行」で有る場合、形態素解析により付与された、当該発話に含まれる単語の各々の意味属性に基づいて、「イギリス」を４６３番で表現し、「行」を２１３２番で表現し、依存構造を「Ｎ４６３−Ｎ２１３２」として取得する。ここで、「Ｎ」は意味属性を表す接頭辞である。そして、当該発話列に含まれる発話の各々の意味属性で表現された依存構造に基づいて、第１の実施形態の特徴量抽出部３０と同様に当該発話列の特徴量を抽出する。
【０１０４】
例えば、長さＮの発話列の最後の発話（Ｎ番目の発話）から、依存構造がＡ個抽出され、一方、Ｎ−１番目の発話から、依存構造がＢ個抽出されている場合、当該発話列の特徴量として、当該発話列に含まれる発話の各々の依存構造同士の全ての組み合わせを表す素性（その組み合わせが存在するか否かを表す二値素性）を抽出する。
【０１０５】
第３の実施の形態において抽出される特徴量の例を図１９に示す。なお、図１９の特徴量を抽出する依存構造において機能語主辞は含んでいない。
【０１０６】
＜第３の実施の形態に係るランキング装置の構成＞
次に、第３の実施の形態に係るランキング装置の構成について説明する。図２０に示すように、第３の実施の形態に係るランキング装置６００は、ＣＰＵと、ＲＡＭと、後述するランキング処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このランキング装置６００は、機能的には図２０に示すように入力部２１０と、演算部６２０と、出力部２９０とを備えている。
【０１０７】
演算部６２０は、発話列構成部２２２と、辞書記憶部６２３と、形態素解析部６２４と、係り受け解析部２２６と、特徴量抽出部６２８と、モデル記憶部２３０と、モデル適用部２３２と、ランキング部２３４と、を備えている。
【０１０８】
辞書記憶部６２３には、モデル学習装置５００の辞書記憶部５２５に記憶されている日本語語彙大系と同一の日本語語彙大系が記憶されている。
【０１０９】
形態素解析部６２４は、発話列構成部２２２にいて作成した発話列の各々について、モデル学習装置５００の形態素解析部５２６と同様に、形態素解析を行い、発話列の各々について、モデル学習装置５００の形態素解析部５２６と同様に、当該発話列の形態素解析結果と、辞書記憶部６２３に記憶されている日本語語彙大系とに基づいて、当該発話列に含まれる単語の各々について、対応する意味属性を付与する。
【０１１０】
特徴量抽出部６２８は、発話列構成部２２２において作成した発話列の各々について、モデル学習装置５００の特徴量抽出部５３０と同様に、形態素解析部６２４において意味属性が付与された発話列の各々の形態素解析結果と、係り受け解析部２２６において取得した発話列の各々の係り受け解析結果とに基づいて、依存構造の組み合わせに関する特徴量を抽出する。
【０１１１】
＜第３の実施の形態に係るモデル学習装置の作用＞
次に、第３の実施の形態に係るモデル学習装置５００の作用について説明する。入力部１０において、対話データの集合を受け付けると、モデル学習装置５００は、図２１に示すモデル学習処理ルーチンを実行する。
【０１１２】
まず、ステップＳ３００では、辞書記憶部５２５に記憶されている日本語語彙大系を読み込む。
【０１１３】
ステップＳ３０２では、ステップＳ１０４において形態素解析済みの、ステップＳ１００において取得した発話列の各々について、当該発話列に含まれる単語毎に、当該単語に対応する意味属性を付与する。
【０１１４】
ステップＳ３０４では、ステップＳ１００において取得した正例の発話列、及び、ステップＳ１０２において取得した疑似負例の発話列の各々の、ステップＳ１０６において取得した係り受け解析結果と、ステップＳ３０２において取得した意味属性の各々とに基づいて、特徴量を抽出する。
【０１１５】
＜第３の実施の形態に係るランキング装置の作用＞
次に、本発明の第３の実施の形態に係るランキング装置６００の作用について説明する。まず、入力部２１０から、モデル学習装置５００において学習された発話列の結束性を判定するモデルが入力され、モデル記憶部２３０に記憶される。そして、入力部２１０において、対話文脈と、Ｐ個の発話候補とを受け付けると、ランキング装置６００は、図２２に示すランキング処理ルーチンを実行する。
【０１１６】
まず、ステップＳ４００では、辞書記憶部６２３に記憶されている日本語語彙大系を読み込む。
【０１１７】
ステップＳ４０２では、ステップＳ２０４において形態素解析済みの、ステップＳ２０２において取得した発話列の各々について、当該発話列に含まれる単語毎に、当該単語に対応する意味属性を付与する。
【０１１８】
ステップＳ４０４では、ステップＳ４０２において取得した発話列の各々についての意味属性と、ステップＳ２０６において取得した係り受け解析結果とに基づいて、ステップＳ３０４と同様に、特徴量を抽出する。
【０１１９】
以上説明したように、第３の実施の形態に係るモデル学習装置によれば、疑似負例を作成し、正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、疑似負例の発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例の発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することにより、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【０１２０】
また、第３の実施の形態に係るランキング装置によれば、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された発話列の各々についての特徴量と、学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することにより、発話列の結束性に基づいて発話列を精度よくランキングすることができる。
【０１２１】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１２２】
例えば、第３の実施の形態においては、係り受け関係にある主辞のペアにおいて、当該主辞を対応する意味属性によって置き換えた依存構造を抽出する場合について説明したが、これに限定されるものではなく、第２の実施の形態において抽出される係り受け関係にある主辞と機能語主辞のペアにおいて、当該主辞を対応する意味属性によって置き換えた依存構造を抽出してもよい。
【０１２３】
次に、第４の実施の形態に係るモデル学習装置及びランキング装置について説明する。
【０１２４】
第４の実施の形態においては、特徴量を抽出する際に用いる依存構造として、係り受け関係にある主辞を対応する意味属性によって置き換え、置き換えた意味属性を更に上位概念によって置き換えた依存構造を用いる点が第３の実施の形態と異なる。なお、第３の実施の形態に係るモデル学習装置５００及びランキング装置６００と同様の構成及び作用については、同一の符号を付して説明を省略する。
【０１２５】
第４の実施の形態においては、第３の実施の形態において、抽象化された意味属性の２７１５種類を更に抽象化する。日本語語彙大系の意味属性には階層関係があり、当該階層関係を利用して、意味属性を上位の意味属性に置き換えることで、より抽象度の高い依存構造を実現する。
【０１２６】
＜第４の実施の形態に係るモデル学習装置の構成＞
次に、本発明の第４の実施の形態に係るモデル学習装置の構成について説明する。図２３に示すように、本発明の第４の実施の形態に係るモデル学習装置７００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このモデル学習装置７００は、機能的には図２３に示すように入力部１０と、演算部７２０と、出力部９０とを備えている。
【０１２７】
演算部７２０は、発話列抽出部２２と、疑似負例作成部２４と、辞書記憶部５２５と、形態素解析部５２６と、係り受け解析部２８と、特徴量抽出部７３０と、モデル学習部３２と、モデル記憶部３４と、を備えている。
【０１２８】
特徴量抽出部７３０は、形態素解析部５２６において意味属性が付与された正例の発話列の各々、及び疑似負例の発話列の各々と、係り受け解析部２８において取得した、正例の発話列の各々、及び疑似負例の発話列の各々の係り受け解析結果と、辞書記憶部５２５に記憶されている日本語語彙大系とに基づいて、発話列の各々について、特徴量を抽出する。具体的には、まず、発話列に含まれる発話の各々について、当該発話の係り受け解析結果に基づいて依存構造を取得する。次に、発話の各々について、当該発話の依存構造に含まれる単語を抽象化する。例えば、発話の依存構造が、「イギリス−行」で有る場合、形態素解析により付与された、当該発話に含まれる単語の各々の意味属性に基づいて、「イギリス」を４６３番で表現し、「行」を２１３２番で表現し、依存構造を「Ｎ４６３−Ｎ２１３２」として取得する。次に、辞書記憶部５２５に記憶されている日本語語彙大系に基づいて、意味属性で表現された依存構造を上位概念化する。具体的には、「イギリス」の４６３番（領土という概念）の一つ上の概念として、４５８番（地域という概念）があり、また、その一つ上の概念として、３８８番（場所という概念）があり、一方、「行」については、一つ上の概念として、２１３１（発着という概念）があり、もう一つ上の概念として、２１２９番（移動・発着）という概念があることから、例えば、２つ抽象化することで、「Ｎ４６３−Ｎ２１３２」という依存構造を「Ｎ３８８−Ｎ２１２９」という依存構造に抽象化する。なお、日本語語彙大系は木構造をしているので、ルートノードからいくつのパス以内の意味属性に落とし込むように抽象化してもよい。例えば、ルートノードからの距離３までとするとき、ある意味属性がルートノードから４の距離にあったとすると、一つ上の意味属性を用いる。ルートノードから５の距離にあった場合、２つ上の意味属性を用いることになる。そして、当該発話列に含まれる発話の各々の上位概念化された意味属性で表現された依存構造に基づいて、第１の実施形態の特徴量抽出部３０と同様に当該発話列の特徴量を抽出する。
【０１２９】
例えば、長さＮの発話列の最後の発話（Ｎ番目の発話）から、依存構造がＡ個抽出され、一方、Ｎ−１番目の発話から、依存構造がＢ個抽出されている場合、当該発話列の特徴量として、当該発話列に含まれる発話の各々の依存構造同士の全ての組み合わせを表す素性（その組み合わせが存在するか否かを表す二値素性）を抽出する。
【０１３０】
第４の実施の形態において抽出される特徴量の例を図２４に示す。なお、図２４に示す特徴量の例においては、ルートノードから４階層までの範囲に意味属性を抽出した場合の依存構造について特徴量を抽出した場合である。
【０１３１】
＜第４の実施の形態に係るランキング装置の構成＞
次に、第４の実施の形態に係るランキング装置の構成について説明する。図２５に示すように、第４の実施の形態に係るランキング装置８００は、ＣＰＵと、ＲＡＭと、後述するランキング処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このランキング装置８００は、機能的には図２５に示すように入力部２１０と、演算部８２０と、出力部２９０とを備えている。
【０１３２】
演算部８２０は、発話列構成部２２２と、辞書記憶部６２３と、形態素解析部６２４と、係り受け解析部２２６と、特徴量抽出部８２８と、モデル記憶部２３０と、モデル適用部２３２と、ランキング部２３４と、を備えている。
【０１３３】
特徴量抽出部８２８は、発話列構成部２２２において作成した発話列の各々について、モデル学習装置７００の特徴量抽出部７３０と同様に、形態素解析部６２４において意味属性が付与された発話列の各々の形態素解析結果と、係り受け解析部２２６において取得した発話列の各々の係り受け解析結果と、辞書記憶部６２３に記憶されている日本語語彙大系とに基づいて、依存構造の組み合わせに関する特徴量を抽出する。
【０１３４】
＜第４の実施の形態に係るモデル学習装置の作用＞
次に、第４の実施の形態に係るモデル学習装置７００の作用について説明する。入力部１０において、対話データの集合を受け付けると、モデル学習装置７００は、図２６に示すモデル学習処理ルーチンを実行する。
【０１３５】
ステップＳ５００では、ステップＳ１００において取得した正例の発話列、及び、ステップＳ１０２において取得した疑似負例の発話列の各々の、ステップＳ１０６において取得した係り受け解析結果と、ステップＳ３０２において取得した意味属性の各々と、ステップＳ３００において取得した日本語語彙大系とに基づいて、特徴量を抽出する。
【０１３６】
＜第４の実施の形態に係るランキング装置の作用＞
次に、本発明の第４の実施の形態に係るランキング装置８００の作用について説明する。まず、入力部２１０から、モデル学習装置７００において学習された発話列の結束性を判定するモデルが入力され、モデル記憶部２３０に記憶される。そして、入力部２１０において、対話文脈と、Ｐ個の発話候補とを受け付けると、ランキング装置８００は、図２７に示すランキング処理ルーチンを実行する。
【０１３７】
ステップＳ６００では、ステップＳ４００において取得した日本語語彙大系と、ステップＳ４０２において取得した発話列の各々についての意味属性と、ステップＳ２０６において取得した係り受け解析結果とに基づいて、ステップＳ５００と同様に、特徴量を抽出する。
【０１３８】
以上説明したように、第４の実施の形態に係るモデル学習装置によれば、疑似負例を作成し、正例として入力された発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、疑似負例の発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された特徴量に基づいて、正例として入力された発話列の特徴量が、疑似負例の発話列の特徴量より上位にランキングされるように、発話列の結束性を判定するためのモデルを学習することにより、発話列の結束性に基づいて発話列を精度よくランキングするためのモデルを学習することができる。
【０１３９】
また、第４の実施の形態に係るランキング装置によれば、対話文脈として入力された複数の発話からなる発話列と、複数の発話候補とに基づいて、複数の発話候補の各々に対し、発話列に続く発話として発話候補を追加した発話列を構成し、構成された発話列の各々について、発話列に対する係り受け解析結果に基づいて、特徴量を抽出し、抽出された発話列の各々についての特徴量と、学習されたモデルとに基づいて、構成された発話列をランキングし、上位にランキングされた発話列に含まれる発話候補を出力することにより、発話列の結束性に基づいて発話列を精度よくランキングすることができる。
【０１４０】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１４１】
例えば、第４の実施の形態においては、係り受け関係にある主辞のペアにおいて、当該主辞を対応する意味属性によって置き換え、更に当該意味属性を上位概念によって置き換えた依存構造を抽出する場合について説明したが、これに限定されるものではなく、第２の実施の形態において抽出される係り受け関係にある主辞と機能語主辞のペアにおいて、当該主辞を対応する意味属性によって置き換え、更に当該意味属性を上位概念によって置き換えた依存構造を抽出してもよい。
【０１４２】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【０１４３】
１０   入力部
２０   演算部
２２   発話列抽出部
２４   疑似負例作成部
２６   形態素解析部
２８   係り受け解析部
３０   特徴量抽出部
３２   モデル学習部
３４   モデル記憶部
９０   出力部
１００ モデル学習装置
２００ ランキング装置
２１０ 入力部
２２０ 演算部
２２２ 発話列構成部
２２４ 形態素解析部
２２６ 係り受け解析部
２２８ 特徴量抽出部
２３０ モデル記憶部
２３２ モデル適用部
２３４ ランキング部
２９０ 出力部
３００ モデル学習装置
３２０ 演算部
３３０ 特徴量抽出部
４００ ランキング装置
４２０ 演算部
４２８ 特徴量抽出部
５００ モデル学習装置
５２０ 演算部
５２５ 辞書記憶部
５２６ 形態素解析部
５３０ 特徴量抽出部
６００ ランキング装置
６２０ 演算部
６２３ 辞書記憶部
６２４ 形態素解析部
６２８ 特徴量抽出部
７００ モデル学習装置
７２０ 演算部
７３０ 特徴量抽出部
８００ ランキング装置
８２０ 演算部
８２８ 特徴量抽出部
【図１】
0005959598.tif 000002
【図７】
0005959598.tif 000003
【図１２】
0005959598.tif 000004
【図１３】
0005959598.tif 000005
【図１５】
0005959598.tif 000006
【図１７】
0005959598.tif 000007
【図１８】
0005959598.tif 000008
【図２０】
0005959598.tif 000009
【図２１】
0005959598.tif 000010
【図２２】
0005959598.tif 000011
【図２３】
0005959598.tif 000012
【図２５】
0005959598.tif 000013
【図２６】
0005959598.tif 000014
【図２７】
0005959598.tif 000015
【図２】
0005959598.tif 000016
【図３】
0005959598.tif 000017
【図４】
0005959598.tif 000018
【図５】
0005959598.tif 000019
【図６】
0005959598.tif 000020
【図８】
0005959598.tif 000021
【図９】
0005959598.tif 000022
【図１０】
0005959598.tif 000023
【図１１】
0005959598.tif 000024
【図１４】
0005959598.tif 000025
【図１６】
0005959598.tif 000026
【図１９】
0005959598.tif 000027
【図２４】
0005959598.tif 000028