(57)【要約】【課題】入力された質問に対して、従来よりもあらかじめ定めたキャラクタらしい回答を得る。【解決手段】本発明のモデル学習装置は、質問応答ペア拡張部、翻訳モデル学習部を備える。質問応答ペア拡張部は、よりキャラクタらしいことを示す指標が対応付けられている質問応答ペアほど個数を多く増やすことで拡張質問応答ペアを生成する。翻訳モデル学習部は、拡張質問応答ペアを用いて翻訳モデル、逆翻訳モデルの少なくとも一方の学習を行う。本発明の回答選択装置は、記録部、文書検索部、スコア算出部、ランキング部を備える。記録部は、質問と応答のペアである質問応答ペア、上記の学習済みの翻訳モデルを記録している。スコア算出部は、翻訳モデルを用いて入力質問から応答が得られる確率に基づく数値である翻訳尤度を求め、翻訳尤度に基づいて検索結果質問応答ペアごとの入力質問に対するスコアを算出する。【選択図】図１
2019192073.tif 000002
【特許請求の範囲】
【請求項１】
入力された質問である入力質問に対して、１つまたは複数の回答を出力する回答選択装置であって、
質問と応答のペアである質問応答ペア、質問から応答を求めるための学習済みの翻訳モデルを記録した記録部と、
前記入力質問を入力とし、あらかじめ定めた検索方式で、前記記録部に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する文書検索部と、
前記入力質問および前記検索結果質問応答ペアの応答を入力とし、前記翻訳モデルを用いて前記入力質問から前記応答が得られる確率に基づく数値である翻訳尤度を求め、前記翻訳尤度に基づいて前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出するスコア算出部と、
前記スコアがより適切であることを示す順番に、あらかじめ定めた数の前記検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力するランキング部と
を備え、
前記翻訳モデルは、応答の前記キャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、前記指標が示す程度に従って学習された
ことを特徴とする回答選択装置。
【請求項２】
請求項１記載の回答選択装置であって、
前記記録部は、応答から質問を求めるための学習済みの逆翻訳モデルも記録しており、
前記スコア算出部は、前記逆翻訳モデルを用いて前記応答から前記入力質問が得られる確率に基づく数値である逆翻訳尤度も求め、前記翻訳尤度と前記逆翻訳尤度に基づいて前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出し、
前記逆翻訳モデルも、応答の前記キャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、前記指標が示す程度に従って学習された
ことを特徴とする回答選択装置。
【請求項３】
請求項１または２記載の回答選択装置であって、
前記記録部は、前記質問応答ペアごとに応答の前記キャラクタらしさの程度を示す指標を対応付けて記録しており、
前記文書検索部は、前記指標も用いて、前記記録部に記録された質問応答ペアから質問応答ペアを検索する
ことを特徴とする回答選択装置。
【請求項４】
質問から応答を求めるための学習済みの翻訳モデル、応答から質問を求めるための学習済み逆翻訳モデルの少なくとも一方を生成するためのモデル学習装置であって、
質問と応答のペアである質問応答ペア、拡張質問応答ペア、質問から応答を求めるための翻訳モデルまたは応答から質問を求めるための逆翻訳モデルを記録した記録部と、
前記質問応答ペアから前記拡張質問応答ペアを生成する質問応答ペア拡張部と、
前記拡張質問応答ペアを用いて前記翻訳モデルと前記逆翻訳モデルの少なくとも一方の学習を行う翻訳モデル学習部と
を備え、
前記質問応答ペアは、前記質問応答ペアごとに応答のあらかじめ定めたキャラクタに対するキャラクタらしさの程度を示す指標が対応付けられており、
前記質問応答ペア拡張部は、よりキャラクタらしいことを示す前記指標が対応付けられている質問応答ペアほど個数を多く増やすことで前記拡張質問応答ペアを生成する
ことを特徴とするモデル学習装置。
【請求項５】
前記キャラクタらしさの程度を示す指標は、前記キャラクタ本人以外の人によって評価された第１指標、前記キャラクタ本人が回答した応答であることを示す第２指標、前記キャラクタ本人が前記キャラクタらしいと認定したことを示す第３指標を含む
ことを特徴とする請求項１〜３のいずれかに記載の回答選択装置、または請求項４記載のモデル学習装置。
【請求項６】
記録部、文書検索部、スコア算出部、ランキング部を備える回答選択装置を用いて、入力された質問である入力質問に対して、１つまたは複数の回答を出力する回答選択方法であって、
あらかじめ前記記録部に、質問と応答のペアである質問応答ペア、質問から応答を求めるための学習済みの翻訳モデルを記録しておき、
前記文書検索部が、前記入力質問を入力とし、あらかじめ定めた検索方式で、前記記録部に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する文書検索ステップと、
前記スコア算出部が、前記入力質問および前記検索結果質問応答ペアの応答を入力とし、前記翻訳モデルを用いて前記入力質問から前記応答が得られる確率に基づく数値である翻訳尤度を求め、前記翻訳尤度に基づいて前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出するスコア算出ステップと、
前記ランキング部が、前記スコアがより適切であることを示す順番に、あらかじめ定めた数の前記検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力するランキングステップと
を有し、
前記翻訳モデルは、応答の前記キャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、前記指標が示す程度に従って学習された
ことを特徴とする回答選択方法。
【請求項７】
記録部、質問応答ペア拡張部、翻訳モデル学習部を備えるモデル学習装置を用いて、質問から応答を求めるための学習済みの翻訳モデルと応答から質問を求めるための学習済み逆翻訳モデルの少なくとも一方を生成するためのモデル学習方法であって、
あらかじめ前記記録部に、質問と応答のペアである質問応答ペア、質問から応答を求めるための翻訳モデルまたは応答から質問を求めるための逆翻訳モデルを記録しておき、
前記質問応答ペア拡張部が、前記質問応答ペアから前記拡張質問応答ペアを生成する質問応答ペア拡張ステップと、
前記翻訳モデル学習部が、前記拡張質問応答ペアを用いて前記翻訳モデルと前記逆翻訳モデルの少なくとも一方の学習を行う翻訳モデル学習ステップと
を有し、
前記質問応答ペアは、前記質問応答ペアごとに応答のあらかじめ定めたキャラクタに対するキャラクタらしさの程度を示す指標が対応付けられており、
前記質問応答ペア拡張ステップは、よりキャラクタらしいことを示す前記指標が対応付けられている質問応答ペアほど個数を多く増やすことで前記拡張質問応答ペアを生成する
ことを特徴とするモデル学習方法。
【請求項８】
請求項１〜３のいずれかに記載の回答選択装置、請求項４または５記載のモデル学習装置のいずれかの装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は入力された質問に対する回答を出力する回答選択装置、回答選択方法、回答選択装置に記録させる翻訳モデル用のモデル学習装置、モデル学習方法、およびこれらの装置としてコンピュータを機能させるためのプログラムに関する。
【背景技術】
【０００２】
対話システム（音声エージェントやパーソナルロボット）が日常的に用いられるようになってきている。対話システムは大きく二種類に分けられる。一つはタスク指向型対話システム、もう一つは非タスク指向型対話システムである。前者は、対話によって所定のタスクを遂行するものであり、後者はいわゆる日常会話を主とするものである。これらの類型については非特許文献１に詳しく示されている。
【０００３】
近年は、スマートフォン上のパーソナルアシスタントやパーソナルロボットなどの普及に伴い、ユーザとのやり取りを継続して行う必要性が増している。そのため、対話システムにも、長期間一貫した応答、すなわち、個性を持ったような応答が求められるようになってきている。対話システムが個性的な応答を実現する方法はいくつも提案されてきている。最も基本的なものは、特定のキャラクタに紐づいた対話ルール、もしくは質問応答ペアを準備し、それを用いて応答を行うものである。非特許文献２，３のシステムでは、質問応答ペアを準備し、それらを用例として検索することで個性的な応答を実現している。
【０００４】
このような質問応答ペアを効率的に収集する手法として、非特許文献４に示すような「なりきり質問応答」と呼ばれる手法が提案されている。この手法では、多くのオンラインユーザが一人のキャラクタになりきって質問に対して応答する。大勢が一人になりきってデータを生成することで、あるキャラクタに紐づいた質問応答ペアを効率的に収集することができる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】中野幹生，駒谷和範，船越孝太郎，中野有紀子，奥村学(監修) ，“対話システム”，コロナ社，2015．
【非特許文献２】Shota Takeuchi, Tobias Cincarek, Hiromichi Kawanami, Hiroshi Saruwatari, and Kiyohiro Shikano, “Construction and optimization of a question and answer database for a real-environment speech-oriented guidance system”, in Proc. Oriental COCOSDA, pages 149-154, 2007.
【非特許文献３】Anton Leuski, Ronakkumar Patel, David Traum, and Brandon Kennedy, “Building effective question answering characters”, in Proc. SIGDIAL, pages 18-27, 2009.
【非特許文献４】Ryuichiro Higashinaka, Kohji Dohsaka, and Hideki Isozaki, “Using role play for collecting question-answer pairs for dialogue agents”, in Proc. INTERSPEECH, pages 1097-1100, 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
なりきり質問応答によって得られる質問応答ペアの応答をそのまま用いて回答することは可能である。しかし、どの応答が適切なのかを評価することなく応答を選択してしまうため、オンラインユーザがたまたま不適切な応答を書き込んだような場合に、不適切な回答を出力してしまうことがあるという課題がある。
【０００７】
本発明は、このような課題に鑑みてなされたものであり、入力された質問に対して、従来よりもあらかじめ定めたキャラクタらしい回答を得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の回答選択装置は、入力された質問である入力質問に対して、１つまたは複数の回答を出力する。本発明の回答選択装置は、記録部、文書検索部、スコア算出部、ランキング部を備える。記録部は、質問と応答のペアである質問応答ペア、質問から応答を求めるための学習済みの翻訳モデルを記録している。翻訳モデルは、応答のキャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、指標が示す程度に従って学習されている。文書検索部は、入力質問を入力とし、あらかじめ定めた検索方式で、記録部に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する。スコア算出部は、入力質問および検索結果質問応答ペアの応答を入力とし、翻訳モデルを用いて入力質問から応答が得られる確率に基づく数値である翻訳尤度を求め、翻訳尤度に基づいて検索結果質問応答ペアごとの入力質問に対するスコアを算出する。ランキング部は、スコアがより適切であることを示す順番に、あらかじめ定めた数の検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力する。
【０００９】
本発明のモデル学習装置は、質問から応答を求めるための学習済みの翻訳モデル、応答から質問を求めるための学習済み逆翻訳モデルの少なくとも一方を生成する。本発明のモデル学習装置は、記録部、質問応答ペア拡張部、翻訳モデル学習部を備える。記録部は、質問と応答のペアである質問応答ペア、拡張質問応答ペア、質問から応答を求めるための翻訳モデルまたは応答から質問を求めるための逆翻訳モデルを記録する。質問応答ペアは、質問応答ペアごとにあらかじめ定めたキャラクタに対する応答のキャラクタらしさの程度を示す指標が対応付けられている。質問応答ペア拡張部は、よりキャラクタらしいことを示す指標が対応付けられている質問応答ペアほど個数を多く増やすことで拡張質問応答ペアを生成する。翻訳モデル学習部は、拡張質問応答ペアを用いて翻訳モデル、逆翻訳モデルの少なくとも一方の学習を行う。
【発明の効果】
【００１０】
本発明の回答選択装置によれば、スコア算出部が用いる翻訳モデルは、応答のキャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、指標が示す程度に従って学習されている。よって、質問応答ペアの応答がキャラクタらしいかを評価できる。したがって、従来よりもあらかじめ定めたキャラクタらしい回答を得ることができる。
【００１１】
本発明のモデル学習装置によれば、質問応答ペア拡張部が、よりキャラクタらしいことを示す指標が対応付けられている質問応答ペアほど個数を多く増やした拡張質問応答ペアを生成し、翻訳モデル学習部が、拡張質問応答ペアを用いて翻訳モデルまたは逆翻訳モデルの学習を行う。よって、よりキャラクタらしい応答を持つ質問応答ペアほど翻訳尤度または逆翻訳尤度が高くなるように学習できる。したがって、本発明のモデル学習装置で生成した翻訳モデル、逆翻訳モデルを用いれば、回答選択装置は従来よりもあらかじめ定めたキャラクタらしい回答を得ることができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の回答選択装置の機能構成例を示す図。
【図２】本発明の回答選択装置の処理フロー例を示す図。
【図３】本発明のモデル学習装置に機能構成例を示す図。
【図４】本発明のモデル学習装置の処理フロー例を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１４】
＜回答選択装置＞
図１に本発明の回答選択装置の機能構成例を示す。図２に本発明の回答選択装置の処理フロー例を示す。本発明の回答選択装置１００は、入力された質問である入力質問に対して、あらかじめ定めたキャラクタらしい１つまたは複数の回答を出力する。例えば、Ｍ個の回答を出力するようにあらかじめ定めておけばよい。Ｍは１以上の整数である。例えばＭ＝５のように定めてもよいし、チャットボットのように回答を１つだけにしたい場合はＭ＝１とすればよい。回答選択装置１００は、記録部１９０、文書検索部１１０、スコア算出部１６０、ランキング部１７０を備える。
【００１５】
記録部１９０は、質問と応答のペアである質問応答ペアの集合２１０、質問から応答を求めるための学習済みの翻訳モデル２６１を記録している。記録部１９０は、さらに応答から質問を求めるための学習済みの逆翻訳モデル２６２を記録してもよい。「質問から応答を求めるための学習済みの翻訳モデル」とは質問に対して応答が生成される確率を示すモデル、「応答から質問を求めるための学習済みの逆翻訳モデル」とは応答が生成されたときにある質問がされた確率を示すモデルを意味している。翻訳モデル２６１と逆翻訳モデル２６２は、応答のキャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、指標が示す程度に従って学習されている。「指標が示す程度に従って学習」とは、応答がキャラクタらしいほど生成される確率が高くなるように学習されることを意味している。例えば、後述するモデル学習装置２００を用いて学習すればよい。
【００１６】
質問応答ペアの集合２１０は、なりきり質問応答の仕組みを用いて多数の質問応答ペアを収集することで構築すればよい。質問応答ペアの数は想定される質問の種類などに応じて適宜決めればよい。例えば、実在する人物Ａを対象としてキャラクタらしい応答の質問応答ペアを、１万程度収集すればよい。質問応答ペアの例としては，質問：「こんにちは」，応答：「どうもです」のペア、質問：「何歳ですか」，応答「３０歳です」のペアなどであり、あらかじめ定めたキャラクタを想定して作成したものである。
【００１７】
文書検索部１１０は、入力質問を入力とし、あらかじめ定めた検索方式で、記録部１９０に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する（Ｓ１１０）。例えば、あらかじめ最大でＮ個の質問応答ペアを検索結果質問応答ペアとするように決めておけばよい。ＮはＭ以上の整数であり、例えば１０のように定めればよい。なお、Ｎは２以上が望ましいが、１以上でも構わない。文書検索部１１０には、一般的に用いられている文書検索エンジンを用いればよい（参考文献１：Hatena Blog， 2014年11月12日，“確率的情報検索 Okapi BM25 についてまとめた” ，[平成３０年４月１０日検索]、インターネット<http://sonickun.hatenablog.com/entry/2014/11/12/122806>．）。具体的には、入力質問から形態素解析によって内容語（名詞、動詞、形容詞など）を抽出し、重要な内容語がより多くマッチする質問を持つ質問応答ペアを検索し、出力すればよい。また、文書検索部１１０が、重要な内容語がマッチした程度を示す数値も出力し、この数値をスコア算出部１６０に入力してもよい。
【００１８】
記録部１９０は、さらに、質問応答ペアごとに応答のキャラクタらしさの程度を示す指標を対応付けて記録してもよい。この場合は、文書検索部１１０は、この指標も用いて、記録部１９０に記録された質問応答ペアから質問応答ペアを検索すればよい。
【００１９】
前記キャラクタらしさの程度を示す指標としては、例えば、キャラクタ本人以外の人によって評価された第１指標（その回答の良さを表す数値）、キャラクタ本人が回答した応答であることを示す第２指標（その回答がキャラクタ本人によってなされたことを示すラベル）、キャラクタ本人がキャラクタらしいと認定したことを示す第３指標（その回答がキャラクタ本人によって認定されたことを示すラベル）などがある。以下では、キャラクタ本人を人物Ａとする。
【００２０】
第１指標（その回答の良さを表す数値）は、例えば、質問応答ペアをオンラインユーザに見てもらい、その回答が人物Ａらしいと思ったら、ボタンを押すことで１ずつ増えていく仕組みを用いて取得すればよい。ある回答について１０回そのボタンが押されたのであれば、第１指標（その回答の良さを表す数値）は１０となる。例えば、この数値のことを「ポイね」と呼ぶことにする。加えて、なりきり質問応答で質問応答を収集している過程には、人物Ａにも参加してもらってもよい。人物Ａが回答を書き込んだ場合、その回答には、人物Ａの書き込みであることがラベル付けされるようにすれば第２指標となる。これは、その回答がキャラクタ本人によってなされたことを示すラベルであり、このラベルのことを本人ラベルと呼ぶことにする。最後に、人物Ａに収集された質問応答ペアを見てもらい、これはよいと認定した回答を選定してもらってもよい。そのような回答にはキャラクタ本人によって認定されたことを示すラベル（第３指標）が付与される。このラベルのことを認定ラベルと呼ぶことにする。このように質問応答ペアには、３種類の付加情報である第１指標（ポイね），第２指標（本人ラベル），第３指標（認定ラベル）を対応付けることができる。なお、回答の良さを表す数値である第１指標（ポイね）、本人によってならされたことを示すラベルである第２指標（本人ラベル）、本人によって認定されたことを示すラベルである第３指標（認定ラベル）は排反である必要はない。例えば、本人が回答の良さを表す数値を入力すると、本人によって認定されたことになるようにしてもよい。
【００２１】
文書検索部１１０が、３種類の付加情報である第１指標（ポイね），第２指標（本人ラベル），第３指標（認定ラベル）を用いれば、より適切な検索結果質問応答ペアを検索できる。例えば、第１指標（ポイね）が閾値以上のものだけを対象に検索する，本人ラベルが付与されているもののみを対象に検索する，認定ラベルが付与されているもののみを対象に検索するといった検索が可能になる。これにより、より人物Ａらしい応答を持つ質問応答ペアを得ることが可能である。一方、検索の範囲を限定すると検索対象の質問応答ペアの数が少なくなるので、検索対象となる質問応答ペアの数などを考慮しながら、適宜検索の範囲を限定すればよい。
【００２２】
スコア算出部１６０は、入力質問および検索結果質問応答ペアの応答を入力とし、少なくとも翻訳モデルを用いて入力質問から応答が得られる確率に基づく数値である翻訳尤度を求め、翻訳尤度に基づいて検索結果質問応答ペアごとの入力質問に対するスコアを算出する（Ｓ１６０）。スコア算出部１６０は、さらに、逆翻訳モデルを用いて応答から入力質問が得られる確率に基づく数値である逆翻訳尤度を求め、翻訳尤度と逆翻訳尤度に基づいて検索結果質問応答ペアごとの入力質問に対するスコアを算出してもよい。
【００２３】
翻訳モデルとは、入力文を書き換えて別の文章に翻訳するための統計情報である。例えば、どの単語がどの単語に書き換わりやすいといった情報を保持する。これは、機械翻訳において一般的に用いられるものである。近年では、この翻訳モデルをニューラルネットワークで表現することが多く、大量の文ペアから学習した翻訳モデル（seq2seq モデル、もしくはencoder-decoder モデルとも呼ばれる）を用いて、質問を回答に書き換える研究が盛んである（参考文献２：Oriol Vinyals and Quoc Le, “A neural conversational model”, arXiv preprint arXiv:1506.05869, 2015.）。翻訳モデルは、入力文を書き換えるだけでなく、入力文に対する出力文の生成確率を計算することができる。生成確率は、入力文に対する出力文の妥当性を表している。この確率値は非常に小さい値になるため、具体的には対数尤度の値を用いればよい。また、対数尤度は単語数に依存して小さくなることから、対数尤度を単語数で割って正規化すればよい。この対数尤度を正規化した値のことを、翻訳尤度（翻訳スコア）と呼ぶことにする。翻訳モデルは、質問文と回答文のペアを大量に準備してモデルを学習することで構築すればよい。例えば、実際的な翻訳サービスの実現に用いられている翻訳モデル構築ツールを用いればよい。
【００２４】
翻訳モデルの構築には大量の文ペアが必要である。質問応答ペアが少ない場合（例えば、１万程度の場合）、妥当な翻訳モデルを構築できない可能性がある。この場合は、まずキャラクタを特に念頭に置かずに量を重視して作成した５０万程度の質問応答ペアを用いて、初期翻訳モデルを学習する。その後、その初期翻訳モデルをベースとして、あらかじめ定めたキャラクタを想定して作成した質問応答ペアに適応させることで、キャラクタに関する翻訳モデルを構築すればよい。
【００２５】
また、翻訳モデルを学習する際に、入力文と出力文を入れ替えて学習することで、出力文から入力文を生成する翻訳モデルも構築することができる。そこで、同様の手続きを用いて入力文と出力文を入れ替えて翻訳モデル（「逆翻訳モデル」と呼ぶことにする。）を構築すればよい。この逆翻訳モデルから得られる確率は、回答文から見て質問文がどの程度妥当かを表す値である。ここでも、対数尤度を単語数で割った値を求めればよい。この値を逆翻訳尤度（翻訳スコア（逆方向））と呼ぶことにする。
【００２６】
スコア算出部１６０は、例えば、検索結果質問応答ペアを、それぞれ翻訳尤度によって値が大きいもの順にソートし、それぞれの順位ｒを得る。そして、スコア算出部１６０は、翻訳尤度に基づく数値translation_scoreを、
１．０-（ｒ−１）／max_rank      （１）
ただし、max_rankは検索結果質問応答ペアの数
のように求めることで、０〜１の間の値を求めてもよい。max_rankは文書検索部１１０が検索し得る最大の数Ｎとしてもよい。例えば、max_rank＝１０でｒ＝５の場合、翻訳尤度に基づく数値translation_scoreは、０．６となる。スコア算出部１６０は、同様に逆翻訳尤度に基づく数値rev_translation_scoreついても、逆翻訳尤度が大きいもの順にソートし、式（１）を適用することで求めればよい。そして、入力質問Ｑ、検索結果質問応答ペアの質問Ｑ’、応答Ａ’とするときに、スコアscore（Ｑ，（Ｑ’，Ａ’））を例えば以下のように求めればよい。
【００２７】
score（Ｑ，（Ｑ’，Ａ’））
＝ｗ１・translation_score
＋ｗ２・rev_translation_score      （２）
ただし、ｗ１ｗ２は、どちらの数値を重視するかを決める重みである。どちらも１．０としてもよいし、翻訳モデルと逆翻訳モデルの特性を考慮してチューニングしてもよい。スコアscore（Ｑ，（Ｑ’，Ａ’））がスコア算出部１６０の出力となる。
【００２８】
ランキング部１７０は、スコアがより適切であることを示す順番に、あらかじめ定めた数の検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力する（Ｓ１７０）。上述の例では、スコアの値が大きいほど、より適切であることを示すので、ランキング部１７０はスコアの値が大きい順番にＭ個の検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力すればよい。なお、Ｍ＝５であれば５個の回答が出力される。チャットボットのように回答を１つだけにしたい場合はＭ＝１に設定しておけばよい。
【００２９】
本発明の回答選択装置によれば、スコア算出部が用いる翻訳モデルは、応答のキャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、指標が示す程度に従って学習されている。よって、質問応答ペアの応答がキャラクタらしいかを評価できる。したがって、従来よりもあらかじめ定めたキャラクタらしい回答を得ることができる。さらに、スコア算出部が逆翻訳モデルも用いれば、よりキャラクタらしい回答を得ることができる。
【００３０】
＜モデル学習装置＞
図３に本発明のモデル学習装置に機能構成例を示す。図４に本発明のモデル学習装置の処理フロー例を示す。本発明のモデル学習装置２００は、質問から応答を求めるための学習済みの翻訳モデル、応答から質問を求めるための学習済み逆翻訳モデルの少なくとも一方を生成する。モデル学習装置２００は、記録部２９０、質問応答ペア拡張部２２０、翻訳モデル学習部２４０を備える。
【００３１】
記録部２９０は、質問と応答のペアである質問応答ペアの集合２１０、拡張質問応答ペアの集合２３０、質問から応答を求めるための翻訳モデル２６１または応答から質問を求めるための逆翻訳モデル２６２を記録する。質問応答ペアの集合２１０は、質問応答ペアごとにあらかじめ定めたキャラクタに対する応答のキャラクタらしさの程度を示す指標が対応付けられている。
【００３２】
質問応答ペア拡張部２２０は、よりキャラクタらしいことを示す指標が対応付けられている質問応答ペアほど個数を多く増やすことで拡張質問応答ペアを生成する（Ｓ２２０）。例えば、質問応答ペア拡張部２２０は、入力として質問応答ペアと３種類の付加情報である第１指標（ポイね），第２指標（本人ラベル），第３指標（認定ラベル）を用いて、質問応答ペアを拡張する。具体的には、（ａ）第１指標（ポイね）が付与されている質問応答ペアの個数をｘ倍に増やす，（ｂ）第２指標（本人ラベル）が付与されている質問応答ペアの個数をｙ倍に増やす，（ｃ）第３指標（認定ラベル）が付与されている質問応答ペアの個数をｚ倍に増やすという処理によって、質問応答ペアを拡張すればよい。３種類の付加情報が重複していた場合は、優先ルールを用いて拡張すればよい。具体的には、（ｂ）＞（ｃ）＞（ａ）の順番で拡張を試行し、拡張が実行されれば他の処理による再度の拡張はしないようにすればよい。これは、第２指標（本人ラベル）を重視した拡張の仕方であるが、他の優先ルールを用いてもよい。例えば、（ａ）を重視するようにしてもよい。また、ｘは第１指標（ポイね）の数に依存して決めてもよい。具体的には、ｘ＝第１指標（ポイね）の数×ｃ，ここでｃは定数であり設計者が適宜決定すればよい。たとえば、１．０である。これは、純粋に第１指標（ポイね）の数だけ質問応答ペアを拡張することを意味する。ｙ,ｚについても設計者が適宜決定すればよい。例えば、ｙは１０、ｚは５のように決めればよい。質問応答ペア拡張部２２０は、上述の処理により拡張された質問応答ペアを、拡張質問応答ペアの集合２３０の要素として記録部２９０に記録する。
【００３３】
上述の個数を増やすとは，＜Ｑ：「元気ですか」，Ａ：「元気ですよ！」＞が一つの質問応答ペアとするとき、単純に同じ質問応答ペアを追加することを意味する。例えば、この質問応答ペアの個数を２倍にするとは、＜Ｑ：「元気ですか」，Ａ：「元気ですよ！」＞をもう１つ追加することである。このように個数を増やすことにより、学習の処理でこの質問応答ペアに含まれる単語等の統計量が増加し、ランキングの上位になりやすくなる。
【００３４】
翻訳モデル学習部２４０は、拡張質問応答ペアを用いて翻訳モデル２６１、逆翻訳モデル２６２の少なくとも一方の学習を行う（Ｓ２４０）。もちろん、翻訳モデル２６１と逆翻訳モデル２６２の両方の学習を行ってもよい。具体的には、回答選択装置１００の説明で示したとおり、翻訳モデルは、質問文と回答文のペアを大量に準備してモデルを学習することで構築すればよい。例えば、実際的な翻訳サービスの実現に用いられている翻訳モデル構築ツールを用いればよい。また、質問応答ペアが少ない場合（例えば、１万程度の場合）、妥当な翻訳モデルを構築できない可能性がある。この場合は、まずキャラクタを特に念頭に置かずに量を重視して作成した５０万程度の質問応答ペアを用いて、初期翻訳モデルを学習する。その後、その初期翻訳モデルをベースとして、あらかじめ定めたキャラクタを想定して作成した質問応答ペアに適応させることで、キャラクタに関する翻訳モデルを構築すればよい。さらに、同様の手続きを用いて入力文と出力文を入れ替えて逆翻訳モデルを構築すればよい。
【００３５】
本発明のモデル学習装置によれば、質問応答ペア拡張部が、よりキャラクタらしいことを示す指標が対応付けられている質問応答ペアほど個数を多く増やした拡張質問応答ペアを生成し、翻訳モデル学習部が、拡張質問応答ペアを用いて翻訳モデルまたは逆翻訳モデルの学習を行う。よって、よりキャラクタらしい応答を持つ質問応答ペアほど翻訳尤度または逆翻訳尤度が高くなるように学習できる。したがって、本発明のモデル学習装置で生成した翻訳モデル、逆翻訳モデルを用いれば、回答選択装置は従来よりもあらかじめ定めたキャラクタらしい回答を得ることができる。
【００３６】
［プログラム、記録媒体］
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００３７】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００３８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００３９】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００４０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００４２】
１００  回答選択装置                １１０  文書検索部
１６０  スコア算出部                １７０  ランキング部
１９０，２９０  記録部              ２００  モデル学習装置
２１０  質問応答ペアの集合          ２２０  質問応答ペア拡張部
２３０  拡張質問応答ペアの集合      ２４０  翻訳モデル学習部
２６１  翻訳モデル                  ２６２  逆翻訳モデル
【図１】
2019192073.tif 000003
【図２】
2019192073.tif 000004
【図３】
2019192073.tif 000005
【図４】
2019192073.tif 000006