(57)【要約】  入力された質問に対してより適切な回答を得る。本発明の回答選択装置は、記録部、文書検索部、情報取得部、スコア算出部、ランキング部を備える。記録部は、質問と応答のペアである質問応答ペアを複数記録する。文書検索部は、入力質問を入力とし、記録部に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する。情報取得部は、入力質問と検索結果質問応答ペアを入力とし、入力質問に対する検索結果質問応答ペアの適切さを数値化するための情報を取得し、数値化用情報として出力する。スコア算出部は、検索方式に基づく適切さを示す数値と数値化用情報に基づく数値から、検索結果質問応答ペアごとの入力質問に対するスコアを算出する。ランキング部は、スコアがより適切であることを示す順番に、検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力する。
2019208222.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.
【非特許文献４】Chiaki Miyazaki, Toru Hirano, Ryuichiro Higashinaka, and Yoshihiro Matsuo, “Towards an entertaining natural language generation system: Linguistic peculiarities of japanese fictional characters”, in Proc. SIGDIAL, pages 319-328, 2016.
【非特許文献５】Jiwei Li, Michel Galley, Chris Brockett, Georgios P Spithourakis, Jianfeng Gao, and Bill Dolan, “A persona-based neural conversation model”, arXiv preprint arXiv:1603.06155, 2016.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
質問応答ペアを用いる場合、ユーザが入力した質問と意味が近い質問を質問応答ペアから探し、その応答を用いて回答することが一般的である。しかし、質問同士の意味的な近さ、ユーザが入力した質問と得られる応答のつながりなどを正確に計算することは容易ではないため、適切な回答が得られないという課題がある。【０００８】
本発明は、このような課題に鑑みてなされたものであり、入力された質問に対してより適切な回答を得ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の回答選択装置は、入力された質問である入力質問に対する１つまたは複数の回答を出力する。本発明の回答選択装置は、記録部、文書検索部、情報取得部、スコア算出部、ランキング部を備える。記録部は、質問と応答のペアである質問応答ペアを複数記録する。文書検索部は、入力質問を入力とし、あらかじめ定めた検索方式で、記録部に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する。情報取得部は、入力質問と検索結果質問応答ペアを入力とし、入力質問に対する検索結果質問応答ペアの適切さを数値化するための情報を取得し、数値化用情報として出力する。スコア算出部は、検索方式に基づく適切さを示す数値と数値化用情報に基づく数値から、検索結果質問応答ペアごとの入力質問に対するスコアを算出する。ランキング部は、スコアがより適切であることを示す順番に、あらかじめ定めた数の検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力する。
【発明の効果】
【００１０】
本発明の回答選択装置によれば、入力質問と意味が近い質問を質問応答ペアから探すだけではなく、入力質問に対する質問応答ペアの適切さを数値化して質問応答ペアを選択するので、より適切な応答を回答として出力できる。
【図面の簡単な説明】
【００１１】
【図１】実施例１および実施例２の回答選択装置の機能構成例を示す図。
【図２】実施例１及び実施例２の回答選択装置の処理フロー例を示す図。
【図３】実施例２の拡張なりきり発話組生成装置の機能構成の例を示す図。
【図４】実施例２の拡張なりきり発話組生成方法の処理手続きの例を示す図。
【図５】第一発話及び第二発話のＩＤの例を示す図。
【図６】第一記録部１に記録されているなりきり発話組の例を示す図。
【図７】実施例３の回答選択装置の機能構成例を示す図。
【図８】実施例３の回答選択装置の処理フロー例を示す図。
【図９】実施例３のモデル学習装置に機能構成例を示す図。
【図１０】実施例３のモデル学習装置の処理フロー例を示す図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１３】
図１に実施例１の回答選択装置の機能構成例を示す。図２に実施例１の回答選択装置の処理フロー例を示す。実施例１の回答選択装置１００は、入力された質問である入力質問に対する１つまたは複数の回答を出力する。例えば、Ｍ個の回答を出力するようにあらかじめ定めておけばよい。Ｍは１以上の整数である。例えばＭ＝５のように定めてもよいし、チャットボットのように回答を１つだけにしたい場合はＭ＝１とすればよい。回答選択装置１００は、記録部１９０、文書検索部１１０、情報取得部１２１、スコア算出部１６０、ランキング部１７０を備える。【００１４】
記録部１９０は、質問と応答のペアである質問応答ペアを複数記録する。質問と応答のペアとは、質問：「こんにちは」，応答：「どうもです」のペア、質問：「何歳ですか」，応答「３０歳です」のペアなどであり、あらかじめ定めたキャラクタを想定して作成したものである。質問応答ペアの数は想定される質問の種類などに応じて適宜決めればよい。上記のような一般的な質問を想定するのであれば、例えば１万以上の質問応答ペアを準備すればよい。【００１５】
文書検索部１１０は、入力質問を入力とし、あらかじめ定めた検索方式で、記録部１９０に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する（Ｓ１１０）。例えば、あらかじめ最大でＮ個の質問応答ペアを検索結果質問応答ペアとするように決めておけばよい。ＮはＭ以上の整数であり、例えば１０のように定めればよい。なお、Ｎは２以上が望ましいが、１以上でも構わない。文書検索部１１０には、一般的に用いられている文書検索エンジンを用いればよい（参考文献１：Hatena Blog， 2014年11月12日，“確率的情報検索 Okapi BM25 についてまとめた” ，[平成３０年４月１０日検索]、インターネット<http://sonickun.hatenablog.com/entry/2014/11/12/122806>．）。具体的には、入力質問から形態素解析によって内容語（名詞、動詞、形容詞など）を抽出し、重要な内容語がより多くマッチする質問を持つ質問応答ペアを検索し、出力すればよい。また、文書検索部１１０は、重要な内容語がマッチした程度を示す数値も出力し、この数値はスコア算出部１６０に入力される。【００１６】
スコア算出部１６０は、文書検索部１１０が出力した重要な内容語がマッチした程度を示す数値から、文書検索部１１０で用いている検索方式に基づく適切さを示す数値を求める。例えば、文書検索部１１０が出力した重要な内容語がマッチした程度を示す数値から、検索結果質問応答ペアの順位ｒを求める。そして、
１．０-（ｒ−１）／max_rank      （１）
ただし、max_rankは検索結果質問応答ペアの数
のように検索方式に基づく適切さを示す数値を求めればよい。max_rankは文書検索部１１０が検索し得る最大の数Ｎとしてもよい。例えば、max_rank＝１０でｒ＝５の場合、検索方式に基づく適切さを示す数値は、０．６となる。以下では、検索方式に基づく適切さを示す数値を、検索スコア（search_score）とする。【００１７】
情報取得部１２１は、入力質問と検索結果質問応答ペアを入力とし、入力質問に対する検索結果質問応答ペアの適切さを数値化するための情報を取得し、数値化用情報として出力する（Ｓ１２１）。より具体的には、情報取得部１２１は、質問タイプ推定部１２０、焦点抽出部１３０、翻訳モデル適用部１４０、発話ベクトル抽出部１５０を備えればよい。数値化用情報に基づく数値は、情報取得部１２１が出力した数値化用情報をスコア算出部１６０の入力とし、スコア算出部１６０内で求めればよい。詳細については後述する。【００１８】
＜質問タイプ推定部１２０を有する場合＞
質問タイプ推定部１２０は、入力質問の質問タイプおよび検索結果質問応答ペアの質問タイプを特定する情報を推定する（Ｓ１２０）。この場合、スコア算出部１６０は、入力質問の質問タイプと検索結果質問応答ペアの質問タイプを特定する情報に基づいて、質問タイプが一致するほど、より適切であることを示すようにスコアを算出する（Ｓ１６０）。質問タイプを特定する情報とは、質問タイプ自体でもよいし、応答に含まれる拡張固有表現のタイプなどでもよい。【００１９】
例えば、質問タイプの類型には大きく２種類ある。一つは、一般質問タイプと呼ばれるもので、以下の１５種類からなる。【００２０】
真偽，名称:その他，説明:意味，数量:その他，名称:場所名，名称:人名，説明:原因，その他，数量:日付，名称:組織名，説明:方法，数量:時間，数量:金額，その他:選択，説明:評判，説明:連想  もう一つは詳細質問タイプと呼ばれるもので、質問が具体的にどのような固有表現（固有名詞や数値表現）について尋ねているかを表す質問タイプである。詳細質問タイプの類型は三階層からなり、末端には２００の詳細質問タイプがある。この類型は関根の拡張固有表現の類型（参考文献２：Satoshi Sekine, Kiyoshi Sudo, and Chikashi Nobata, “Extended named entity hierarchy”, in Proc. LREC, 2002.，参考文献３：「関根の拡張固有表現階層」定義，Version 7.1.2，2016年9月16日，[平成３０年４月６日検索]、インターネット<https://nlp.cs.nyu.edu/ene/ene_j_20160801/Japanese_7_1_2_160917.htm>．）に基づく。第一階層目には２８個，第二階層目には１０３個，三階層目には２００個の固有表現がある。この階層では、固有表現によっては、三階層でない場合もある。たとえば、Spaは一階層目のLocationの直下にSpaがある。このような場合は、Spaについては、二階層目・三階層目のどちらもSpaとしている。【００２１】
質問からその質問タイプを推定するには、機械学習を用いた文書分類の手法を用いればよい。具体的には、質問とその質問タイプが対となったデータを大量に準備し、どのような質問の場合、どのような質問タイプとなるかを推定する分類器を機械学習の手法により構築する。これは文書分類の一般的な方法である。学習手法としては、例えばロジスティック回帰を用いればよいが、サポートベクトルマシンやニューラルネットワークなどの手法を用いてもよい。学習のための素性としては、質問を形態素解析して得られる単語のunigram，bigram，trigramの情報を用いればよいが、その他、品詞情報などを用いてもよい。【００２２】
本発明では、一般質問タイプ、および詳細質問タイプについては階層ごとに分類器を構築する。よって、質問タイプ推定部１２０は、質問に対して一般質問タイプ，詳細質問タイプ（一階層目），詳細質問タイプ（二階層目），詳細質問タイプ（三階層目）の４つの質問タイプを出力する。例えば、「好きな温泉はどこですか？」という質問であれば、以下の出力が得られる。【００２３】
・ 一般質問タイプ: 名称：場所名
・ 詳細質問タイプ（一階層目）: Location
・ 詳細質問タイプ（二階層目）: Spa
・ 詳細質問タイプ（三階層目）: Spa
二階層目・三階層目がともにSpaとなっているのは、Spaについては二階層目・三階層目がともにSpaであるためである。【００２４】
質問タイプ推定部１２０は、例えば、入力質問に対する４つの質問タイプと、検索結果質問応答ペアの質問に対する４つの質問タイプを出力する。これらの４つの質問タイプが、数値化用情報の例である。この場合は、スコア算出部１６０には、入力質問に対する４つの質問タイプと検索結果質問応答ペアの質問に対する４つの質問タイプが数値化用情報として入力される。例えば、４つの質問タイプのうち２つが一致している場合の数値化用情報に基づく数値は、２／４＝０．５のように求めればよい。この場合は、数値が大きい方がより適切であることを示している。以下では、質問タイプに基づく数値を、質問タイプ一致スコア（qtypes_match_score）とする。質問タイプ推定部１２０を用いれば、単に重要語の一致だけでなく、質問タイプに適合した回答を選びやすいため、より適切な回答を選ぶことができる。【００２５】
なお、質問タイプ推定部１２０は、検索結果質問応答ペアの応答を利用してもよい。この場合は、質問タイプ推定部１２０は、入力質問に対する４つの質問タイプと、検索結果質問応答ペアの質問の一般質問タイプと、検索結果質問応答ペアの応答に含まれる拡張固有表現のタイプを出力する。例えば、質問タイプ推定部１２０は、検索結果質問応答ペアの応答について、拡張固有表現の抽出器をかける。これにより、応答にどのような拡張固有表現が含まれているかが分かる。例えば、応答が「草津市の温泉に行った」であれば、拡張固有表現として「草津市」と「温泉」が抽出され、拡張固有表現のタイプとしてCity，Spaが抽出される。この場合、抽出された拡張固有表現のタイプが、検索結果質問応答ペアの質問タイプを特定する情報である。また、入力質問に対する４つの質問タイプと、検索結果質問応答ペアの質問の一般質問タイプと、検索結果質問応答ペアの拡張固有表現のタイプが、数値化用情報の例であり、スコア算出部１６０に入力される。スコア算出部１６０は、一般質問タイプについては、入力質問と検索結果質問応答ペアの質問で一致しているか否かで１，０の数値化をする。また、スコア算出部１６０は、入力質問の詳細質問タイプの３階層のそれぞれについて、対応する拡張固有表現のタイプが応答に含まれているかによって数値化する。含まれているときは１、含まれていないときは０とすればよい。その後、数値を例えば２／４＝０．５のように求めればよい。このような処理によっても、同様に質問タイプ一致スコア（qtype_amtch_score）を計算できる。【００２６】
＜焦点抽出部１３０を有する場合＞
焦点抽出部１３０は、入力質問および検索結果質問応答ペアの質問について、話題となる単語列を焦点語として抽出する（Ｓ１３０）。この場合、スコア算出部１６０は、入力質問の焦点語と検索結果質問応答ペアの質問の焦点語が一致するほど、より適切であることを示すようにスコアを算出する（Ｓ１６０）。焦点語とは、発話文の話題を表す単語列（基本的に名詞句）のことである。例えば、「先日イギリスに行きました。」という文であれば、「イギリス」が焦点語である。焦点語を抽出するには、機械学習による系列ラベリングの手法を用いればよい。具体的には、大量の文について、焦点語となる単語列をラベル付けし、どのような単語列の場合にその単語列が焦点語となるかの条件を学習すればよい。例えば、条件付き確率場（conditional random fields; CRF）と呼ばれる機械学習の手法を用いて、焦点箇所がラベル付けされたデータから焦点抽出を行う焦点抽出器を構築すればよい。文章中の重要な箇所にラベル付けを行い、系列ラベリングの手法により、未知の文章における重要な箇所をCRFによって抽出することは、言語処理において一般的に用いられている技術である。焦点抽出部１３０では、この焦点抽出器を用いて、質問から焦点語を抽出し、これらを出力する。なお、焦点語は複数出力される場合もあるし、焦点語が含まれない場合は、出力は空リストとなる。例えば、「今は一人暮らしですか？」という質問であれば、「一人暮らし」が出力となる。【００２７】
焦点抽出部１３０は、入力質問の焦点語と、検索結果質問応答ペアの質問の焦点語を出力する。焦点語も数値化用情報の例である。スコア算出部１６０には、入力質問の焦点語と検索結果質問応答ペアの質問の焦点語が数値化用情報として入力される。スコア算出部１６０は、例えば、同じ焦点語がある場合は1.0、同じ焦点語がない場合は0.0のように数値化用情報に基づく数値を求めればよい。以下では、焦点語に基づく数値を、焦点一致スコア（center-word_score）とする。焦点抽出部１３０を用いれば、より質問の焦点を考慮して回答を選ぶことが可能となる。【００２８】
＜翻訳モデル適用部１４０を有する場合＞
翻訳モデル適用部１４０は、入力質問および検索結果質問応答ペアの応答を入力とし、入力質問から応答が得られる確率に基づく数値を翻訳尤度として出力する（Ｓ１４０）。この場合、スコア算出部１６０は、翻訳尤度が高いほど、より適切であることを示すように前記スコアを算出する（Ｓ１６０）。また、翻訳モデル適用部１４０は、さらに、応答から入力質問が得られる確率に基づく数値を逆翻訳尤度として出力してもよい（Ｓ１４０）。この場合、スコア算出部１６０は、逆翻訳尤度が高いほど、より適切であることを示すようにスコアを算出する（Ｓ１６０）。【００２９】
翻訳尤度（翻訳スコア）の算出には、翻訳モデルを用いればよい。翻訳モデルとは、入力文を書き換えて別の文章に翻訳するための統計情報である。例えば、どの単語がどの単語に書き換わりやすいといった情報を保持する。これは、機械翻訳において一般的に用いられるものである。近年では、この翻訳モデルをニューラルネットワークで表現することが多く、大量の文ペアから学習した翻訳モデル（seq2seq モデル、もしくはencoder-decoder モデルとも呼ばれる）を用いて、質問を回答に書き換える研究が盛んである（参考文献４：Oriol Vinyals and Quoc Le, “A neural conversational model”, arXiv preprint arXiv:1506.05869, 2015.）。翻訳モデルは、入力文を書き換えるだけでなく、入力文に対する出力文の生成確率を計算することができる。生成確率は、入力文に対する出力文の妥当性を表している。この確率値は非常に小さい値になるため、具体的には対数尤度の値を用いればよい。また、対数尤度は単語数に依存して小さくなることから、対数尤度を単語数で割って正規化すればよい。この対数尤度を正規化した値のことを、翻訳尤度（翻訳スコア）と呼ぶことにする。翻訳モデルは、質問文と回答文のペアを大量に準備してモデルを学習することで構築すればよい。例えば、実際的な翻訳サービスの実現に用いられている翻訳モデル構築ツールを用いればよい。【００３０】
翻訳モデルの構築には大量の文ペアが必要である。質問応答ペアが少ない場合（例えば、１万程度の場合）、妥当な翻訳モデルを構築できない可能性がある。この場合は、まずキャラクタを特に念頭に置かずに量を重視して作成した５０万程度の質問応答ペアを用いて、初期翻訳モデルを学習する。その後、その初期翻訳モデルをベースとして、あらかじめ定めたキャラクタを想定して作成した質問応答ペアに適応させることで、キャラクタに関する翻訳モデルを構築すればよい。【００３１】
また、翻訳モデルを学習する際に、入力文と出力文を入れ替えて学習することで、出力文から入力文を生成する翻訳モデルも構築することができる。そこで、同様の手続きを用いて入力文と出力文を入れ替えて翻訳モデル（「逆翻訳モデル」と呼ぶことにする。）を構築すればよい。この逆翻訳モデルから得られる確率は、回答文から見て質問文がどの程度妥当かを表す値である。ここでも、対数尤度を単語数で割った値を求めればよい。この値を逆翻訳尤度（逆翻訳スコア（逆方向の翻訳スコア））と呼ぶことにする。翻訳モデル適用部１４０は、入力質問と検索結果質問応答ペアの応答について、翻訳尤度（翻訳スコア）と逆翻訳尤度（逆翻訳スコア（逆方向の翻訳スコア））を返す。【００３２】
翻訳モデル適用部１４０は、少なくとも翻訳尤度を出力し、逆翻訳尤度も出力してもよい。翻訳尤度と逆翻訳尤度も数値化用情報の例である。スコア算出部１６０には、少なくとも翻訳尤度が数値化用情報として入力される。スコア算出部１６０には、逆翻訳尤度も数値化用情報として入力されてもよい。翻訳尤度と逆翻訳尤度は０〜１の間に正規化されていないため、他の数値化用情報に基づく数値との統合が難しい。そこで、スコア算出部１６０は、質問応答ペアを、それぞれ翻訳尤度，逆翻訳尤度によって値が大きいもの順にソートし、それぞれの順位ｒを得る。そして、スコア算出部１６０は、式（１）を適用することで０〜１の間の値に変換し、翻訳尤度に基づく数値、逆翻訳尤度に基づく数値とすればよい。以下では、翻訳尤度に基づく数値を翻訳スコア（translation_score）、逆翻訳尤度に基づく数値を逆翻訳スコア（rev_translation_score）とする。翻訳モデル適用部１４０を用いれば、質問と応答の関連性を考慮したスコアを算出できるので、キャラクタの個性なども考慮した回答の選択が可能になる。【００３３】
＜発話ベクトル抽出部１５０を有する場合＞
発話ベクトル抽出部１５０は、入力質問および検索結果質問応答ペアの質問について、意味内容を表す発話ベクトルを求める（Ｓ１５０）。この場合は、スコア算出部１６０は、入力質問の発話ベクトルと検索結果質問応答ペアの質問の発話ベクトルが類似するほど、より適切であることを示すようにスコアを算出する（Ｓ１６０）。【００３４】
例えば、周辺単語情報に基づいて、単語に固定長のベクトル（単語ベクトル）を割り当てる手法を用いればよい（参考文献５：Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg S Corrado, and Jeff Dean, “Distributed representations of words and phrases and their compositionality”, in Proc. NIPS, pages 3111-3119, 2013.）。単語を固定長のベクトルとして扱うことができるようになるという利便性から、近年一般的に用いられている。発話ベクトル抽出部１５０は、入力された文を形態素解析し、単語に分割する。そして、それぞれの単語について参考文献５に示された技術などで得られる単語ベクトルを取得し、すべての単語についてそれらのベクトルを加算する。最後に、ノルムを１に正規化して発話を表すベクトル（発話ベクトル）を得ればよい。【００３５】
発話ベクトル抽出部１５０は、入力質問についての発話ベクトルと検索結果質問応答ペアの質問についての発話ベクトルを出力する。発話ベクトルも数値化用情報の例である。スコア算出部１６０には、入力質問についての発話ベクトルと検索結果質問応答ペアの質問についての発話ベクトルが数値化用情報として入力される。スコア算出部１６０は、例えば、入力質問についての発話ベクトルと検索結果質問応答ペアの質問についての発話ベクトルのコサイン類似度を、発話ベクトルに基づく数値として求めればよい。コサイン類似度は、意味的類似度を表している。以下では、発話ベクトルに基づく数値を、意味的類似スコア（semantic_similarity_score）とする。発話ベクトル抽出部１５０を用いれば、発話ベクトルに基づいて回答を選ぶことができる。【００３６】
スコア算出部１６０は、検索方式に基づく適切さを示す数値と数値化用情報に基づく数値から、検索結果質問応答ペアごとの入力質問に対するスコアを算出する（Ｓ１６０）。入力質問Ｑ、検索結果質問応答ペアの質問Ｑ’、応答Ａ’とするときに、スコアscore（Ｑ，（Ｑ’，Ａ’））を例えば以下のように求めればよい。【００３７】
score（Ｑ，（Ｑ’，Ａ’））
＝ｗ１・search_score
＋ｗ２・qtypes_match_score
＋ｗ３・center-word_score
＋ｗ４・translation_score
＋ｗ５・rev_translation_score
＋ｗ６・semantic_similarity_score      （２）
ただし、ｗ１，…，ｗ６は、どの数値を重視するかを決める重みである。すべて１．０のように設定してもよいし、想定される入力質問や記録部１９０に記録されている質問応答ペアに応じて最適な性能が出るようにチューニングしてもよい。なお、情報取得部１２１が、質問タイプ推定部１２０、焦点抽出部１３０、翻訳モデル適用部１４０、発話ベクトル抽出部１５０の中の一部しか備えていない場合は、存在しない数値化用情報に基づく数値は式（２）に含めなければよい。スコア算出部１６０は、検索結果質問応答ペアについて上記スコアを付与したものを出力する。ランキング部１７０には、上記スコアが付与された検索結果質問応答ペアが入力される。【００３８】
ランキング部１７０は、スコアがより適切であることを示す順番に、あらかじめ定めた数の検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力する（Ｓ１７０）。上述の例では、スコアの値が大きいほど、より適切であることを示すので、ランキング部１７０はスコアの値が大きい順番にＭ個の検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力すればよい。なお、Ｍ＝５であれば５個の回答が出力される。チャットボットのように回答を１つだけにしたい場合はＭ＝１に設定しておけばよい。【００３９】
実施例１の回答選択装置によれば、入力質問と意味が近い質問を質問応答ペアから探すだけではなく（重要な内容語がマッチするという視点での検索だけでなく）、異なる視点でも入力質問に対する質問応答ペアの適切さを数値化して質問応答ペアを選択するので、より適切な応答を回答として出力できる。また、式（２）の重みをチューニングすれば、想定される入力質問や記録されている質問応答ペアに応じて最適な性能に設定できる。【００４０】
［変形例］
なお、回答選択装置１００は１つの筐体で構成する必要はなく、各構成部が通信回線で接続された別々の筐体に配置され、１つの装置のように動作する構成としてもよい。例えば、クライアント装置からの要求に応じて、サーバ装置がランキング結果を返す構成となるように、各構成部がサーバ装置とクライアント装置に分れて配置されていてもよい。
【実施例２】
【００４１】
＜回答選択装置＞
実施例１では、質問応答ペアを記録しているのは記録部１９０だけだったが、実施例２の回答選択装置２００は、記録部１９０に加え、拡張記録部２９０も備える。なお、本実施例の中では、記録部１９０を基本記録部１９０と呼ぶこともある。拡張記録部２９０には、後述する「拡張なりきり発話組生成装置及び方法」によって生成された質問応答ペアが記録されている。【００４２】
図１に実施例２の回答選択装置の機能構成例を示す。図２に実施例２の回答選択装置の処理フロー例を示す。実施例２の回答選択装置２００は、入力された質問である入力質問に対する１つまたは複数の回答を出力する。例えば、Ｍ個の回答を出力するようにあらかじめ定めておけばよい。Ｍは１以上の整数である。例えばＭ＝５のように定めてもよいし、チャットボットのように回答を１つだけにしたい場合はＭ＝１とすればよい。回答選択装置２００は、記録部１９０、拡張記録部２９０、文書検索部２１０、情報取得部１２１、スコア算出部２６０、ランキング部１７０を備える。【００４３】
文書検索部２１０は、入力質問を入力とし、あらかじめ定めた検索方式で、記録部１９０と拡張記録部２９０に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する（Ｓ２１０）。例えば、あらかじめ最大でＮ個の質問応答ペアを検索結果質問応答ペアとするように決めておき、Ｎ１個を記録部１９０から検索した場合は、Ｎ２（＝Ｎ−Ｎ１）個を拡張記録部２９０から検索し、合計Ｎ個の検索結果質問応答ペアを出力すればよい。ＮはＭ以上の整数、Ｎ１とＮ２はＮ以下の整数である。例えばＮ＝１０のように定めればよい。なお、Ｎは２以上が望ましいが、１以上でも構わない。文書検索部１１０には、参考文献１に示されているような一般的に用いられている文書検索エンジンを用いればよい。具体的には、入力質問から形態素解析によって内容語（名詞、動詞、形容詞など）を抽出し、重要な内容語がより多くマッチする質問を持つ質問応答ペアを検索し、出力すればよい。また、文書検索部２１０は、重要な内容語がマッチした程度を示す数値も出力し、この数値はスコア算出部２６０に入力される。【００４４】
情報取得部１２１は実施例１と同じである。情報取得部１２１は、Ｎ個の検索結果質問応答ペアに対して、どちらの記録部に記録されていたのかを区別せずに、入力質問に対する検索結果質問応答ペアの適切さを数値化するための情報を取得し、数値化用情報として出力すればよい（Ｓ１２１）。【００４５】
スコア算出部２６０は、検索方式に基づく適切さを示す数値と数値化用情報に基づく数値から、検索結果質問応答ペアごとの入力質問に対するスコアを算出する（Ｓ２６０）。また、スコア算出部２６０は、どちらの記録部に記録されていたかを区別し、例えば、記録部１９０から検索された検索結果質問応答ペアが選ばれやすくなるように、重み付けをしてもよい。後述する「拡張なりきり発話組生成装置及び方法」で拡張した質問応答ペア（拡張記録部２９０に記録されている質問応答ペア）に基づく回答は、記録部１９０に記録されていた質問応答ペアに基づく回答に比べると、汎用的なので翻訳尤度および逆翻訳尤度が高くなる傾向にある一方、情報が少ないので聞き手（応答を受け取る人）の満足度は低くなりやすいという傾向がある。そこで、記録部１９０に記録されていた検索結果質問応答ペアが選ばれやすくなるように翻訳尤度と逆翻訳尤度を重み付けすればよい。つまり、スコア算出部２６０は、記録部１９０に記録されていた検索結果質問応答ペアの方が、拡張記録部２９０に記録されていた検索結果質問応答ペアよりも、より適切であることを示すようにスコアを算出すればよい。【００４６】
重み付けの具体例を以下に示す。
（例１）スコア算出部２６０で求める６つのスコアのうち、検索スコアは、記録部１９０に記録されていたＮ１個の検索結果質問応答ペアをランキングした逆数、及び、拡張記録部２９０に記録されていたＮ２個の検索結果質問応答ペアをランキングした逆数をそれぞれ用いる。つまり、検索スコアは、記録部ごとに独立に求める。翻訳スコアと逆翻訳スコアは、どちらの記録部から選ばれているか区別せずに、Ｎ個をまとめてランキングした逆数を用いる。
（例２）拡張記録部２９０からの検索結果質問応答ペアの翻訳尤度（翻訳スコア）と逆翻訳尤度（逆翻訳スコア）を定数倍（例えば０．８倍）する。
（例３）質問応答の教師データとなるような特定のデータセットに対して、スコア算出部２６０で求める６つのスコアのグリッドサーチ（例えば、０．１〜１．０まで０．１刻みの１０段階）＋（記録部１９０からの検索結果質問応答ペアであるか、拡張記録部２９０からの検索結果質問応答ペアであるか）の組み合わせ、に対して適宜重みを決定してもよい。【００４７】
ランキング部１７０は、実施例1と同じである。実施例２の回答選択装置によれば、実施例１の回答選択装置と同様の効果が得られると共に、キャラクタになりきった回答も可能となる。【００４８】
＜拡張なりきり発話組生成装置及び方法＞
まず、拡張なりきり発話組生成装置及び方法の一般的な例について説明する。拡張なりきり発話組生成装置は、図３に示すように、第一記録部１、第二記録部２、なりきり発話組選択部３、拡張なりきり発話組生成部４及び記録部５を例えば備えている。【００４９】
拡張なりきり発話組生成方法は、拡張なりきり発話組生成装置の各構成部が、以下に説明する及び図４に示すステップＳ３からステップＳ４の処理を行うことにより例えば実現される。【００５０】
以下、拡張なりきり発話組生成装置の各構成部について説明する。【００５１】
<第一記録部１>
第一記録部１には、I個のなりきり発話組i=(ti(1),ti(2))(i=1,…,I)が記録されている。【００５２】
Iは、所定の正の整数である。例えば、Iは、２以上の整数である。なりきり発話組iは、第一発話ti(1)と、第一発話ti(1)に対応付けられている、第一発話ti(1)に対して所定の人格になりきって行われた第二発話ti(2)という２個の発話である。【００５３】
例えば、第一発話は質問の発話であり、第二発話はその質問に対する応答の発話である。【００５４】
なお、なりきり発話組iは、第一発話ti(1)及び第二発話ti(2)を識別するための発話IDと共に、第一記録部１に記録されていてもよい。【００５５】
第一発話ti(1)及び第二発話ti(2)の例は、（ti(1),ti(2)）=（「好きな食べ物は何ですか？」,「食えれば何でもよいわ！」）である。第一発話ti(1)及び第二発話ti(2)の他の例は、（ti(1),ti(2)）=（「金ヶ崎退き口の戦いはどうでしたか？」,「さすがのワシも死を覚悟するほどであった」）である。【００５６】
第一記録部１に記録させるなりきり発話組の収集は、例えば以下のようにウェブサイトを通して行われる。まず、実在する有名人（歴史上の人物、俳優、ナレーター等）、架空のキャラクタ（小説やアニメの登場人物等）等の所定の人格をテーマにしてなりきりによるやり取りを質問応答の形式で行ってもらう趣旨のウェブサイトを構築する。そして、このウェブサイトにおいて、複数人（例えば５０人程度かそれ以上）に、所定の質問に対する所定の人格になりきった回答を投稿してもらう。また、回答の投稿のみでなく、質問自体も投稿をしてもらい、以降に回答を投稿する人に対しては、投稿された質問も所定の質問に含めるようにしてもよい。所定の質問とその質問に対して投稿された各回答との組が、なりきり発話組の候補となる。なお、第二発話ti(2)である回答を識別するために各回答にはIDが付与される。【００５７】
そして、「所定の質問とその質問に対して投稿された各回答との組」のうち、例えば、ある発話組(以下、第一の発話組)の「回答の文字列」と類似又は同一である「回答の文字列」を有する、第一の発話組とは異なる第二の発話組が存在する場合に、第一の発話組および第二の発話組のそれぞれが「なりきり発話組」として第一記録部１に記録されてもよい。あるいは、例えば、第一の発話組の「所定の質問」とその質問に対して投稿された「回答」それぞれについて、第一の発話組の「所定の質問の文字列」と類似又は同一である「所定の質問の文字列」を有し、かつ、第一の発話組の「回答の文字列」と類似又は同一である「回答の文字列」を有する、第一の発話組とは異なる第二の発話組が存在する場合に、第一の発話組および第二の発話組のそれぞれが「なりきり発話組」として第一記録部１に記録されてもよい。要は、「所定の質問とその質問に対して投稿された各回答との組」のうち、「回答」が類似又は同一の組、または、「質問」と「回答」の両方が類似又は同一の組が２以上存在する発話組が「なりきり発話組」として第一記録部１に記録されてもよい。ここで、類似とは、文字列同士の類似度が所定の基準を満たすことである。例えば、「回答」が類似するとは、任意の二つの回答の文字列間の類似度が所定の基準を超えることである。例えば、「質問」と「回答」の両方が類似するとは、任意の二つの所定の質問の文字列間の類似度Aと、その二つの所定の質問それぞれに対応する二つの回答の文字列間の類似度Bとを加算平均(または二乗平均)した値が所定の基準を超える、または、類似度Aと類似度Bの双方が所定の基準を超えることである。類似度の定義及び例は、後述する。このように、なりきり発話組の候補の中に、「回答」が類似又は同一、または、「質問」と「回答」の両方が類似又は同一のなりきり発話組の候補が存在するなりきり発話組の候補を「なりきり発話組」とすることで、誤ったデータを学習させるなど悪意を持って回答されたデータを除外することができる。これにより、データの正確性を向上させることができる。【００５８】
なお、投稿された各回答の所定の人格らしさについての評価が投票可能となっていてもよい。投稿された第二発話ti(2)である回答の所定の人格らしさについての評価は、その第二発話ti(2)のなりきり発話組iと共に第一記録部１に記録される。【００５９】
「所定の質問とこのようにして投稿された各回答との組」のうち、類似又は同一の組の個数がカウントされた「データ個数」が、なりきり発話組に紐づけられて第一記録部１に記録されてもよい。【００６０】
なお、上記のウェブサイトで集められた直後のなりきり発話組の候補の第一発話ti(1)及び第二発話ti(2)を識別するためのIDは、例えば図５及び以下に説明するように付与されている。まず、第一発話ti(1)及び第二発話ti(2)を含めた発話のそれぞれに対して発話IDが付与されている。また、発話が第二発話ti(2)である場合には、質問元IDが更に付与されている。発話が第一発話ti(1)である場合には、その発話は質問そのものであるため、質問元IDは付与されていない。このため、図５では、発話が第一発話ti(1)である場合の質問元IDの欄に「None」と記載している。なお、第一発話ti(1)及び第二発話ti(2)は、一対一の対応しか取ることができないので、同じ発話内容である複数の第二発話ti(2)に対して異なる質問元IDが付与されている場合もある。図５では、「食えれば何でもよいわ！」という同じ発話内容である、発話IDが3,4の第二発話ti(2)に対して、それぞれ1,2の質問元IDが付与されている。【００６１】
上記のように、なりきり発話組の候補の中に２回以上登場したものがなりきり発話組として第一記録部１に記録されるが、その際に、なりきり発話組iの第一発話ti(1)及び第二発話ti(2)を識別するための発話IDは、例えば図６に示すように付与される。図６では、なりきり発話組に新たに１から始まる発話IDが付与されている。【００６２】
後述するステップＳ３以降の処理は、第二発話ti(2)ごとに行われる。【００６３】
<第二記録部２>
第二記録部２には、J個の非なりきり発話組j=(t'j(1),t'j(2))(j=1,…,J)が記録されている。【００６４】
Jは、所定の正の整数である。例えば、Jは、２以上の整数である。【００６５】
非なりきり発話組は、第一発話t'j(1)と、第一発話t'j(1)に対応付けられている、第一発話t'j(1)に対して行われた第二発話t'j(2)という２個の発話である。【００６６】
第一発話t'j(1)及び第二発話t'j(2)の例は、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「食えれば何でもいいわ！」）である。第一発話t'j(1)及び第二発話t'j(2)の他の例は、（t'j(1),t'j(2)）=（「昨日の地震、怖かったね」,「さすがの俺も死にそうだった」）である。【００６７】
なお、非なりきり発話組jについての情報は、例えばTwitter(登録商標)等の対話のやり取りがテキストで表されているwebサイトから得ることができる。【００６８】
<非なりきり発話組選択部３>
非なりきり発話組選択部３には、第一記録部１から読み込まれたなりきり発話組iの第二発話ti(2)と、第二記録部２から読み込まれた非なりきり発話組jとが入力される。【００６９】
非なりきり発話組選択部３は、第一記録部１から読み込んだ各なりきり発話組iの第二発話ti(2)と同一又は類似の第二発話t'j(2)に対応する非なりきり発話組jを第二記録部２から１個以上選択する（ステップＳ３）。【００７０】
選択された非なりきり発話組jは、拡張なりきり発話組生成部４に出力される。【００７１】
例えば、nを１以上J以下の正の整数として、第二発話ti(2)と同一又類似の第二発話t'j(2)に対応する非なりきり発話組として、n個の非なりきり発話組(t'1(1),t'1(2)),…,(t'n(1),t'n(2))が選択される。【００７２】
第二発話ti(2)と同一又は類似の第二発話t'j(2)とは、第二発話ti(2)との類似度が所定の基準を超える第二発話t'j(2)である。【００７３】
類似度は、レーベンシュタイン距離、正規化レーベンシュタイン距離、COS類似度、WordMoversDistance等の発話を構成する文字列同士の近さを表す指標である。類似度は、文字列同士の近さを表す指標であればよく、レーベンシュタイン距離、正規化レーベンシュタイン距離、COS類似度、WordMoversDistanceに限るものではない。【００７４】
所定の基準を超えるとは、値が小さいほど似ていることを表す類似度を用いる場合には、類似度が所定の基準値より小さいことであり、値が大きいほど似ていることを表す類似度を用いる場合には類似度が所定の基準値より大きいことである。【００７５】
以下、類似度が正規化レーベンシュタイン距離である場合を例に挙げて説明する。【００７６】
レーベンシュタイン距離は、１文字の挿入、削除、置換によって、一方の文字列をもう一方の文字列に変形するのに必要な操作の最小回数である。１文字の挿入及び１文字の削除は１回の操作とカウントされ、１文字の置換は２回の操作とカウントされる。これに対して、正規化レーベンシュタイン距離は、レーベンシュタイン距離を、２個の文字列の中の長い方の文字列の文字数で割った値である。すなわち、文字列rと文字列r'の正規化レーベンシュタイン距離NLD(r,r')は、NLD(r,r')=(rとr'のレーベンシュタイン距離)/max(|r|,|r'|)である。ここで、|r|は文字列rの文字数であり、|r'|は文字列r'の文字数である。正規化レーベンシュタイン距離は、０以上１以下の値となる。レーベンシュタイン距離及び正規化レーベンシュタイン距離は、値が小さいほど似ていることを表す。【００７７】
例えば、２個の文字列r,r'が、r=「ice cream」,r'=「dry ice」であったとする。この場合、２個の文字列r,r'のレーベンシュタイン距離及び正規化レーベンシュタイン距離は、以下のようにして求めることができる。「ice cream」という文字列は、以下に示す削除と挿入により「dry ice」という文字列にすることができる。【００７８】
“ice cream”
↓“m”を削除
“ice crea”
↓“a”を削除
“ice cre”
↓“e”を削除
“ice cr"
↓“r”を削除
“ice c”
↓“c”を削除
“ice ”
↓“e”の後ろの空白を削除
“ice”
↓“d”を１文字目前に挿入
“dice”
↓“r”を２文字目前に挿入
“drice”
↓“y”を３文字目前に挿入
“dryice”
↓空白を４文字目前に挿入
“dry ice”【００７９】
このように、「ice cream」という文字列は、６回の削除と４回の挿入という１０回の操作により、「dry ice」という文字列にすることができる。このため、「ice cream」という文字列と「dry ice」という文字列のレーベンシュタイン距離は１０となる。【００８０】
「ice cream」という文字列rの文字数|r|は９であり、「dry ice」という文字列r'の文字数|r'|は７である。このため、正規化レーベンシュタイン距離NLD(r,r')=(rとr'のレーベンシュタイン距離)/max(|r|,|r'|)=10/max(9,7)=10/9≒1.11…となる。正規化レーベンシュタイン距離は０に近いほど似ていることを表すことを考慮すると、「ice cream」という文字列と「dry ice」という文字列は、ほとんど似ていないことがわかる。【００８１】
２個の文字列r,r'が、r=「chocolate-covered donut」,r'=「chocolate-topped donut」であるとする。この場合、「chocolate-covered donut」という文字列は、11文字目の「c」の削除、12文字目の「v」の削除、12文字目の「e」という３文字の削除、11文字目の前に「t」の挿入、13文字目の前に「p」、13文字目の前に「p」の挿入、という６回の操作により、「chocolate-topped donut」という文字列にすることができる。また、「chocolate-covered donut」という文字列の文字数は23であり、「chocolate-topped donut」という文字列の文字数は22である。このため、この場合、正規化レーベンシュタイン距離NLD(r,r')=6/23=0.26…となる。このため、「chocolate-covered donut」という文字列と「chocolate-topped donut」という文字列とは、比較的似ていることがわかる。【００８２】
類似度として正規化レーベンシュタイン距離を用いた場合には、非なりきり発話組選択部３は、第二発話ti(2)との正規化レーベンシュタイン距離が、所定の基準値よりも小さい第二発話t'j(2)に対応する非なりきり発話組jを第二記録部２から１個以上選択する。この場合の所定の基準値は、０より大きく１より小さい数であり、例えば0.1である。【００８３】
例えば、第二発話ti(2)=「食えれば何でもよいわ！」であり、所定の基準値=0.2であるとする。また、記録部２に、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「食えれば何でもいいわ！」）という非なりきり発話組jが記録されているとする。【００８４】
まず、日本語の場合について説明する。
「食えれば何でもよいわ！」という文字列は、８文字目の「よ」の削除、８文字目前に「い」の挿入という２回の操作により、又は、８文字目の「よ」を「い」にする置換という１回の操作により、「食えれば何でもいいわ！」という文字列にすることができる。このため、「食えれば何でもよいわ！」という文字列と「食えれば何でもいいわ！」という文字列のレーベンシュタイン距離は、２となる。また、「食えれば何でもいいわ！」という文字列の文字数及び「食えれば何でもよいわ！」という文字列の文字数は、11である。このため、「食えれば何でもよいわ！」という文字列と「食えれば何でもいいわ！」という文字列の正規化レーベンシュタイン距離は2/11≒0.18となる。0.18<0.2であるため、非なりきり発話組選択部３は、第二発話ti(2)=「食えれば何でもよいわ！」との正規化レーベンシュタイン距離が、所定の基準値0.2よりも小さい第二発話t'j(2)に対応する非なりきり発話組jとして、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「食えれば何でもいいわ！」）という非なりきり発話組jを選択する。
次に、英語の場合について説明する。
「I'd eat anything as long as it's edible !」という文字列は、３文字目の「d」の削除、３文字目前に「l」の挿入、３文字目前に「l」の挿入という３回の操作により、「I'll eat anything as long as it's edible !」という文字列にすることができる。このため、「I'd eat anything as long as it's edible !」という文字列と「I'll eat anything as long as it's edible !」という文字列のレーベンシュタイン距離は、３となる。また、「I'll eat anything as long as it's edible !」という文字列の文字数は42であり、「I'd eat anything as long as it's edible !」という文字列の文字数は、41である。このため、「I'd eat anything as long as it's edible !」という文字列と「I'll eat anything as long as it's edible !」という文字列の正規化レーベンシュタイン距離は3/42≒0.071となる。0.071<0.2であるため、非なりきり発話組選択部３は、第二発話ti(2)=「I'd eat anything as long as it's edible !」との正規化レーベンシュタイン距離が、所定の基準値0.2よりも小さい第二発話t'j(2)に対応する非なりきり発話組jとして、（t'j(1),t'j(2)）=（「今日の晩御飯何がいい？」,「I'll eat anything as long as it's edible !」）という非なりきり発話組jを選択する。【００８５】
第一記録部１に記録されている第二発話ti(2)に所定の人格らしさについての評価が付与されている場合には、非なりきり発話組選択部３は、所定の人格らしさについての評価が高い第二発話ti(2)のなりきり発話組iを優先して用いて、上述のステップＳ３の処理を行ってもよい。例えば、非なりきり発話組選択部３は、所定の人格らしさについての評価が所定の基準値以上の第二発話ti(2)のなりきり発話組iに対してのみ、上述のステップＳ３の処理を行ってもよい。【００８６】
<拡張なりきり発話組生成部４>
拡張なりきり発話組生成部４には、非なりきり発話組選択部３で選択された１個以上の非なりきり発話組が入力される。【００８７】
拡張なりきり発話組生成部４は、非なりきり発話組選択部３で選択された各非なりきり発話組jの第一発話t'j(1)と、なりきり発話組iの第二発話ti(2)とを対応付けて拡張なりきり発話組(t'j(1), ti(2))とし、出力する（ステップＳ４）。【００８８】
生成された拡張なりきり発話組は、記録部５に記録される。生成された拡張なりきり発話組を記録部５に記録する処理を行うタイミングは、任意である。すなわち、生成された拡張なりきり発話組を記録部５に記録する処理は、拡張なりきり発話組が生成される度ごとに行われてもよいし、ある第二発話ti(2)に対する１個以上の拡張なりきり発話組の全てが生成された後に行われてもよいし、複数の第二発話ti(2)のそれぞれに対する１個以上の拡張なりきり発話組の全てが生成された後に一回だけ行われてもよい。【００８９】
例えば、非なりきり発話組選択部３で、第二発話ti(2)と同一又類似の第二発話t'j(2)に対応する非なりきり発話組jとしてn個の非なりきり発話組(t'1(1),t'1(2)),…,(t'n(1),t'n(2))が選択されたとする。この場合、各t'j(1)とti(2)とを対応付けることにより、n個の拡張なりきり発話組(t'1(1),ti(2)),…,(t'n(1),ti(2))が生成される。【００９０】
例えば、非なりきり発話組選択部３で、第二発話ti(2)=「食えれば何でもよいわ！」と同一又類似の第二発話t'j(2)に対応する非なりきり発話組jとして、（t'j(1),t'j(2)）=（「小腹がすいたら何食べる？」,「食えれば何でもいいわ！」）という１個の非なりきり発話組が選択されたとする。この場合、第一発話t'j(1)=「小腹がすいたら何食べる？」と第二発話ti(2)=「食えれば何でもよいわ！」とを対応付けることにより、(t'j(1),ti(2))=(「小腹がすいたら何食べる？」,「食えれば何でもよいわ！」)という１個の拡張なりきり発話組が生成される。【００９１】
これまで提案されていた対話システムを高品質化する手法では、第一発話に対する応答である第二発話の妥当性を考えていた。これに対して、上記の実施形態の手法では、第二発話ti(2)でカバーすることができる第一発話の範囲を拡大することを考えている。この点で、上記の実施形態の手法は、これまで提案されていた手法と異なる。【００９２】
このようにして、第二発話ti(2)でカバーすることができる第一発話の範囲を拡大しても、応答である第二発話は、所定の人格になりきったなりきり発話組の第二発話ti(2)そのものであるため、所定の人格らしさは失われないという長所がある。【００９３】
[拡張なりきり発話組生成装置及び方法の変形例]
[変形例１]
拡張なりきり発話組生成部４は、第一記録部１に記録されている第二発話ti(2)の中で同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)を含む拡張なりきり発話組に大きな重みを付与する重み付与部４１を備えていてもよい。【００９４】
この場合、後述する対話装置及び方法では、付与された重みが大きい拡張なりきり発話組が優先して用いられる。【００９５】
第一記録部１に記録されている第二発話ti(2)の中の同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)は所定の人格らしさが高いと言える。このため、第一記録部１に記録されている第二発話ti(2)の中の同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)を含む拡張なりきり発話組に大きな重みを付与し、対話装置及び方法で優先して用いられるようにすることで、対話装置及び方法により生成される発話の所定の人格らしさが高まる。【００９６】
例えば、第一記録部１に記録されている第二発話ti(2)の中に、「食えれば何でもよいわ！」という第二発話ti(2)が10回登場し、「甘いものなら何でもよいわ！」という第二発話ti(2)が３回登場し、「かすていらはうまい！」という第二発話ti(2)が１回登場したとする。【００９７】
この場合、fを所定の非減少関数として、重み付与部４１は、「甘いものなら何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(10)の重みを付与し、「甘いものなら何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(3)の重みを付与し、「かすていらはうまい！」という第二発話ti(2)を含む拡張なりきり発話組にf(1)の重みを付与してもよい。【００９８】
[変形例２]
拡張なりきり発話組生成部４は、拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組に大きな重みを付与する重み付与部４１を備えていてもよい。【００９９】
この場合、後述する対話装置及び方法では、付与された重みが大きい拡張なりきり発話組が優先して用いられる。【０１００】
拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組は応答としても正当度合いが高いと言える。このため、拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組に大きな重みを付与し、対話装置及び方法で優先して用いられるようにすることで、対話装置及び方法により生成される発話の正当度合いが高まる。【０１０１】
[変形例３]
変形例１及び２を組み合わせてもよい。【０１０２】
すなわち、拡張なりきり発話組生成部４は、第一記録部１に記録されている第二発話ti(2)の中で同一の第二発話ti(2)の数が多いほど、その同一の第二発話ti(2)を含む拡張なりきり発話組に大きな重みを付与し、かつ、拡張なりきり発話組生成部４により生成される拡張なりきり発話組の中の同一の拡張なりきり発話組の数が多いほど、その同一の拡張なりきり発話組に大きな重みを付与する重み付与部４１を備えていてもよい。【０１０３】
変形例１及び２を組み合わせることにより、変形例１及び２の両方の効果を得ることができる。すなわち、変形例１及び２を組み合わせることにより、対話装置及び方法により生成される発話の所定の人格らしさ及び正当度合いが高まる。【０１０４】
［回答選択装置２００の拡張記録部２９０が記録する質問応答ペアの生成］
上述の説明では、拡張なりきり発話組生成装置及び方法の一般的な例について説明した。ここでは、どのように回答選択装置２００の拡張記録部２９０が記録する質問応答ペアを生成するのかを説明する。なお、記録部１９０に記録されている質問応答ペアが上述の第一記録部１が記録している「なりきり発話組」、拡張記録部２９０に記録されている質問応答ペアが上述の記録部５に記録される「拡張なりきり発話組」に相当する。記録部１９０に記録されている質問応答ペアを、第一記録部１に記録させる（記録部１９０を第一記録部１としてもよい。）。そして、第二記録部２にはあらかじめ収集した質問応答ペアを記録させておく。例えばTwitter(登録商標)等の対話のやり取りがテキストで表されているwebサイトから質問応答ペアの情報を収集し、第二記録部２に記録させればよい。【０１０５】
そして、非なりきり発話組選択部３の処理（ステップＳ３）と拡張なりきり発話組生成部４の処理（ステップS４）を実行することで、記録部５に生成した質問応答ペアを記録すればよい。つまり、生成した質問応答ペアが、上述の拡張なりきり発話組である。より具体的には、ステップＳ３では、非なりきり発話組選択部３が、第一記録部１（または記録部１９０）から読み込んだ応答と同一又は類似の応答を含む質問応答ペアを第二記録部２から１個以上選択する。なお、ステップＳ３は、読み込まれた応答と選択された質問応答ペアの応答が、所定の人格らしさについての評価が所定の基準を超える類似度の場合に、行うことにしてもよい。類似度に関しては、上述の一般的な拡張なりきり発話組生成装置及び方法と同じである。ステップＳ４では、非なりきり発話組選択部３で選択された第二記録部２に記録されている質問応答ペアの質問と、非なりきり発話組選択部３が第一記録部１（または記録部１９０）から読み込んだ応答のペアを、生成された質問応答ペアとして出力し、記録部５（または拡張記録部２９０）に記録する。このように拡張記録部２９０に記録する質問応答ペアを生成すれば、記録部１９０が記録している質問応答ペアの応答の人格らしさを維持しながら、いろいろな表現の質問とのペアを追加できる。【０１０６】
なお、上述の拡張なりきり発話組生成装置及び方法の変形例１〜３も用いてもよい。この場合は、拡張なりきり発話組生成部４は重み付与部４１を備える。重み付与部４１の機能は上述の変形例１〜３と同じである。変形例１を用いる場合、記録部１９０に記録されている応答に同一の応答が多いほど、その応答を含む生成した質問応答ペアは、大きな重みが付与されて拡張記録部２９０に記録される。変形例２を用いる場合、拡張記録部２９０に記録される同一の質問応答ペアが多いほど、その質問応答ペアは、大きな重みが付与されて拡張記録部２９０に記録される。どちらの場合も、回答選択装置２００では、付与された重みが大きい質問応答ペアを優先して用いればよい。【０１０７】
［変形例］
なお、回答選択装置２００は１つの筐体で構成する必要はなく、各構成部が通信回線で接続された別々の筐体に配置され、１つの装置のように動作する構成としてもよい。例えば、拡張記録部２９０は、記録部１９０及び文書検索部２１０とは異なる筐体に備えられ、通信回線などで繋がった構成でもよい。
【実施例３】
【０１０８】
＜回答選択装置＞
図７に実施例３の回答選択装置の機能構成例を示す。図８に実施例３の回答選択装置の処理フロー例を示す。実施例３の回答選択装置３００は、入力された質問である入力質問に対して、あらかじめ定めたキャラクタらしい１つまたは複数の回答を出力する。例えば、Ｍ個の回答を出力するようにあらかじめ定めておけばよい。Ｍは１以上の整数である。例えばＭ＝５のように定めてもよいし、チャットボットのように回答を１つだけにしたい場合はＭ＝１とすればよい。回答選択装置３００は、記録部３９０、文書検索部３１０、情報取得部１２１、スコア算出部１６０、ランキング部１７０を備える。【０１０９】
記録部３９０は、質問と応答のペアである質問応答ペアの集合４１０、質問から応答を求めるための学習済みの翻訳モデル４６１を記録している。記録部３９０は、さらに応答から質問を求めるための学習済みの逆翻訳モデル４６２を記録してもよい。「質問から応答を求めるための学習済みの翻訳モデル」とは質問に対して応答が生成される確率を示すモデル、「応答から質問を求めるための学習済みの逆翻訳モデル」とは応答が生成されたときにある質問がされた確率を示すモデルを意味している。翻訳モデル４６１と逆翻訳モデル４６２は、応答のキャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、指標が示す程度に従って学習されている。「指標が示す程度に従って学習」とは、応答がキャラクタらしいほど生成される確率が高くなるように学習されることを意味している。例えば、後述するモデル学習装置４００を用いて学習すればよい。【０１１０】
質問応答ペアの集合４１０は、なりきり質問応答の仕組みを用いて多数の質問応答ペアを収集することで構築すればよい。質問応答ペアの数は想定される質問の種類などに応じて適宜決めればよい。例えば、実在する人物Ａを対象としてキャラクタらしい応答の質問応答ペアを、１万程度収集すればよい。質問応答ペアの例としては，質問：「こんにちは」，応答：「どうもです」のペア、質問：「何歳ですか」，応答「３０歳です」のペアなどであり、あらかじめ定めたキャラクタを想定して作成したものである。【０１１１】
文書検索部３１０は、実施例１の文書検索部と同様に、入力質問を入力とし、あらかじめ定めた検索方式で、記録部３９０に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する（Ｓ３１０）。例えば、あらかじめ最大でＮ個の質問応答ペアを検索結果質問応答ペアとするように決めておけばよい。ＮはＭ以上の整数であり、例えば１０のように定めればよい。なお、Ｎは２以上が望ましいが、１以上でも構わない。文書検索部３１０にも、参考文献１に示されたような一般的に用いられている文書検索エンジンを用いればよい。具体的には、入力質問から形態素解析によって内容語（名詞、動詞、形容詞など）を抽出し、重要な内容語がより多くマッチする質問を持つ質問応答ペアを検索し、出力すればよい。また、文書検索部１１０が、重要な内容語がマッチした程度を示す数値も出力し、この数値をスコア算出部１６０に入力してもよい。【０１１２】
記録部３９０は、さらに、質問応答ペアごとに応答のキャラクタらしさの程度を示す指標を対応付けて記録してもよい。この場合は、文書検索部３１０は、この指標も用いて、記録部３９０に記録された質問応答ペアから質問応答ペアを検索すればよい。【０１１３】
前記キャラクタらしさの程度を示す指標としては、例えば、キャラクタ本人以外の人によって評価された第１指標（その回答の良さを表す数値）、キャラクタ本人が回答した応答であることを示す第２指標（その回答がキャラクタ本人によってなされたことを示すラベル）、キャラクタ本人がキャラクタらしいと認定したことを示す第３指標（その回答がキャラクタ本人によって認定されたことを示すラベル）などがある。以下では、キャラクタ本人を人物Ａとする。【０１１４】
第１指標（その回答の良さを表す数値）は、例えば、質問応答ペアをオンラインユーザに見てもらい、その回答が人物Ａらしいと思ったら、ボタンを押すことで１ずつ増えていく仕組みを用いて取得すればよい。ある回答について１０回そのボタンが押されたのであれば、第１指標（その回答の良さを表す数値）は１０となる。例えば、この数値のことを「ポイね」と呼ぶことにする。加えて、なりきり質問応答で質問応答を収集している過程には、人物Ａにも参加してもらってもよい。人物Ａが回答を書き込んだ場合、その回答には、人物Ａの書き込みであることがラベル付けされるようにすれば第２指標となる。これは、その回答がキャラクタ本人によってなされたことを示すラベルであり、このラベルのことを本人ラベルと呼ぶことにする。最後に、人物Ａに収集された質問応答ペアを見てもらい、これはよいと認定した回答を選定してもらってもよい。そのような回答にはキャラクタ本人によって認定されたことを示すラベル（第３指標）が付与される。このラベルのことを認定ラベルと呼ぶことにする。このように質問応答ペアには、３種類の付加情報である第１指標（ポイね），第２指標（本人ラベル），第３指標（認定ラベル）を対応付けることができる。なお、回答の良さを表す数値である第１指標（ポイね）、本人によってならされたことを示すラベルである第２指標（本人ラベル）、本人によって認定されたことを示すラベルである第３指標（認定ラベル）は排反である必要はない。例えば、本人が回答の良さを表す数値を入力すると、本人によって認定されたことになるようにしてもよい。【０１１５】
文書検索部３１０が、３種類の付加情報である第１指標（ポイね），第２指標（本人ラベル），第３指標（認定ラベル）を用いれば、より適切な検索結果質問応答ペアを検索できる。例えば、第１指標（ポイね）が閾値以上のものだけを対象に検索する，本人ラベルが付与されているもののみを対象に検索する，認定ラベルが付与されているもののみを対象に検索するといった検索が可能になる。これにより、より人物Ａらしい応答を持つ質問応答ペアを得ることが可能である。一方、検索の範囲を限定すると検索対象の質問応答ペアの数が少なくなるので、検索対象となる質問応答ペアの数などを考慮しながら、適宜検索の範囲を限定すればよい。【０１１６】
情報取得部１２１は、実施例１と同様に、入力質問と検索結果質問応答ペアを入力とし、入力質問に対する検索結果質問応答ペアの適切さを数値化するための情報を取得し、数値化用情報として出力する（Ｓ１２１）。本実施例の情報取得部１２１は、少なくとも翻訳モデル適用部１４０を備えており、入力質問から応答が得られる確率に基づく数値である翻訳尤度（翻訳スコア）を求める。スコア算出部１６０は、翻訳尤度（翻訳スコア）に基づいて検索結果質問応答ペアごとの入力質問に対するスコアを算出する（Ｓ１６０）。情報取得部１２１は、は、さらに、逆翻訳モデルを用いて応答から入力質問が得られる確率に基づく数値である逆翻訳尤度（逆翻訳スコア）を求め、翻訳尤度（翻訳スコア）と逆翻訳尤度（逆翻訳スコア）に基づいて検索結果質問応答ペアごとの入力質問に対するスコアを算出してもよい。【０１１７】
情報取得部１２１内の翻訳モデル適用部１４０は、例えば、検索結果質問応答ペアを、それぞれ翻訳尤度（翻訳スコア）によって値が大きいもの順にソートし、それぞれの順位ｒを得る。そして、翻訳モデル適用部１４０は、翻訳尤度に基づく数値である翻訳スコア（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）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。【０１３１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【０１３２】
１  第一記録部                      ２  第二記録部
３  なりきり発話組選択部            ４  拡張なりきり発話組生成部
４１  重み付与部
１００，２００，３００  回答選択装置
１１０，２１０，３１０  文書検索部
１２０  質問タイプ推定部            １２１  情報取得部
１３０  焦点抽出部                  １４０  翻訳モデル適用部
１５０  発話ベクトル抽出部
１６０，２６０  スコア算出部
１７０  ランキング部
５，１９０，３９０  記録部
２９０  拡張記録部
４００  モデル学習装置
４１０  質問応答ペアの集合          ４２０  質問応答ペア拡張部
４３０  拡張質問応答ペアの集合      ４４０  翻訳モデル学習部
４６１  翻訳モデル                  ４６２  逆翻訳モデル
【図１】
2019208222.tif 000003
【図２】
2019208222.tif 000004
【図３】
2019208222.tif 000005
【図４】
2019208222.tif 000006
【図５】
2019208222.tif 000007
【図６】
2019208222.tif 000008
【図７】
2019208222.tif 000009
【図８】
2019208222.tif 000010
【図９】
2019208222.tif 000011
【図１０】
2019208222.tif 000012
【手続補正書】
【提出日】令和2年10月19日(2020.10.19)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
なお、質問タイプ推定部１２０は、検索結果質問応答ペアの応答を利用してもよい。この場合は、質問タイプ推定部１２０は、入力質問に対する４つの質問タイプと、検索結果質問応答ペアの質問の一般質問タイプと、検索結果質問応答ペアの応答に含まれる拡張固有表現のタイプを出力する。例えば、質問タイプ推定部１２０は、検索結果質問応答ペアの応答について、拡張固有表現の抽出器をかける。これにより、応答にどのような拡張固有表現が含まれているかが分かる。例えば、応答が「草津市の温泉に行った」であれば、拡張固有表現として「草津市」と「温泉」が抽出され、拡張固有表現のタイプとしてCity，Spaが抽出される。この場合、抽出された拡張固有表現のタイプが、検索結果質問応答ペアの質問タイプを特定する情報である。また、入力質問に対する４つの質問タイプと、検索結果質問応答ペアの質問の一般質問タイプと、検索結果質問応答ペアの拡張固有表現のタイプが、数値化用情報の例であり、スコア算出部１６０に入力される。スコア算出部１６０は、一般質問タイプについては、入力質問と検索結果質問応答ペアの質問で一致しているか否かで１，０の数値化をする。また、スコア算出部１６０は、入力質問の詳細質問タイプの３階層のそれぞれについて、対応する拡張固有表現のタイプが応答に含まれているかによって数値化する。含まれているときは１、含まれていないときは０とすればよい。その後、数値を例えば２／４＝０．５のように求めればよい。このような処理によっても、同様に質問タイプ一致スコア（qtype_match_score）を計算できる。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４３
【補正方法】変更
【補正の内容】
【００４３】
文書検索部２１０は、入力質問を入力とし、あらかじめ定めた検索方式で、記録部１９０と拡張記録部２９０に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する（Ｓ２１０）。例えば、あらかじめ最大でＮ個の質問応答ペアを検索結果質問応答ペアとするように決めておき、Ｎ１個を記録部１９０から検索した場合は、Ｎ２（＝Ｎ−Ｎ１）個を拡張記録部２９０から検索し、合計Ｎ個の検索結果質問応答ペアを出力すればよい。ＮはＭ以上の整数、Ｎ１とＮ２はＮ以下の整数である。例えばＮ＝１０のように定めればよい。なお、Ｎは２以上が望ましいが、１以上でも構わない。文書検索部２１０には、参考文献１に示されているような一般的に用いられている文書検索エンジンを用いればよい。具体的には、入力質問から形態素解析によって内容語（名詞、動詞、形容詞など）を抽出し、重要な内容語がより多くマッチする質問を持つ質問応答ペアを検索し、出力すればよい。また、文書検索部２１０は、重要な内容語がマッチした程度を示す数値も出力し、この数値はスコア算出部２６０に入力される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４８
【補正方法】変更
【補正の内容】
【００４８】
＜拡張なりきり発話組生成装置及び方法＞
まず、拡張なりきり発話組生成装置及び方法の一般的な例について説明する。拡張なりきり発話組生成装置は、図３に示すように、第一記録部１、第二記録部２、非なりきり発話組選択部３、拡張なりきり発話組生成部４及び記録部５を例えば備えている。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９７
【補正方法】変更
【補正の内容】
【００９７】
この場合、fを所定の非減少関数として、重み付与部４１は、「食えれば何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(10)の重みを付与し、「甘いものなら何でもよいわ！」という第二発話ti(2)を含む拡張なりきり発話組にf(3)の重みを付与し、「かすていらはうまい！」という第二発話ti(2)を含む拡張なりきり発話組にf(1)の重みを付与してもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１３２
【補正方法】変更
【補正の内容】
【０１３２】
１  第一記録部                      ２  第二記録部
３  非なりきり発話組選択部          ４  拡張なりきり発話組生成部
４１  重み付与部
１００，２００，３００  回答選択装置
１１０，２１０，３１０  文書検索部
１２０  質問タイプ推定部            １２１  情報取得部
１３０  焦点抽出部                  １４０  翻訳モデル適用部
１５０  発話ベクトル抽出部
１６０，２６０  スコア算出部
１７０  ランキング部
５，１９０，３９０  記録部
２９０  拡張記録部
４００  モデル学習装置
４１０  質問応答ペアの集合          ４２０  質問応答ペア拡張部
４３０  拡張質問応答ペアの集合      ４４０  翻訳モデル学習部
４６１  翻訳モデル                  ４６２  逆翻訳モデル
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力された質問である入力質問に対する１つまたは複数の回答を出力する回答選択装置であって、
質問と応答のペアである質問応答ペアを複数記録した記録部と、
前記入力質問を入力とし、あらかじめ定めた検索方式で、前記記録部に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する文書検索部と、
前記入力質問と前記検索結果質問応答ペアを入力とし、前記入力質問に対する前記検索結果質問応答ペアの適切さを数値化するための情報を取得し、数値化用情報として出力する情報取得部と、
前記検索方式に基づく適切さを示す数値と前記数値化用情報に基づく数値から、前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出するスコア算出部と、
前記スコアがより適切であることを示す順番に、あらかじめ定めた数の前記検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力するランキング部と
を備える回答選択装置。
【請求項２】
請求項１記載の回答選択装置であって、
前記情報取得部は、前記入力質問の質問タイプおよび前記検索結果質問応答ペアの質問タイプを特定する情報を推定する質問タイプ推定部を有し、
前記スコア算出部は、前記入力質問の質問タイプと前記検索結果質問応答ペアの質問タイプを特定する情報に基づいて、質問タイプが一致するほど、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項３】
請求項１または２に記載の回答選択装置であって、
前記情報取得部は、前記入力質問および前記検索結果質問応答ペアの質問について、話題となる単語列を焦点語として抽出する焦点抽出部を有し、
前記スコア算出部は、前記入力質問の焦点語と前記検索結果質問応答ペアの質問の焦点語が一致するほど、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項４】
請求項１〜３のいずれかに記載の回答選択装置であって、
前記情報取得部は、前記入力質問および前記検索結果質問応答ペアの応答を入力とし、前記入力質問から前記応答が得られる確率に基づく数値を翻訳尤度として出力する翻訳モデル適用部を有し、
前記スコア算出部は、前記翻訳尤度が高いほど、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項５】
請求項４記載の回答選択装置であって、
前記翻訳モデル適用部は、さらに、前記応答から前記入力質問が得られる確率に基づく数値を逆翻訳尤度として出力し、
前記スコア算出部は、前記逆翻訳尤度が高いほど、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項６】
請求項１〜５のいずれかに記載の回答選択装置であって、
前記情報取得部は、前記入力質問および前記検索結果質問応答ペアの質問について、意味内容を表す発話ベクトルを求める発話ベクトル抽出部を有し、
前記スコア算出部は、前記入力質問の発話ベクトルと前記検索結果質問応答ペアの質問の発話ベクトルが類似するほど、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項７】
請求項１記載の回答選択装置であって、
前記情報取得部は、前記数値化用情報として
前記入力質問の質問タイプおよび前記検索結果質問応答ペアの質問タイプを特定する情報を推定し、
前記入力質問および前記検索結果質問応答ペアの質問について、話題となる単語列を焦点語として抽出し、
前記入力質問および前記検索結果質問応答ペアの応答を入力とし、前記入力質問から前記応答が得られる確率に基づく数値を翻訳尤度として出力するとともに、前記応答から前記入力質問が得られる確率に基づく数値を逆翻訳尤度として出力し、
前記入力質問および前記検索結果質問応答ペアの質問について、意味内容を表す発話ベクトルを求め、
前記スコア算出部は、
前記検索方式に基づく適切さを示す数値をsearch_score、
前記入力質問の質問タイプと前記検索結果質問応答ペアの質問タイプを特定する情報に基づいて、質問タイプが一致するほど、より適切であることを示す数値をqtypes_match_score、
前記入力質問の焦点語と前記検索結果質問応答ペアの質問の焦点語が一致するほど、より適切であることを示す数値をcenter-word_score、
前記翻訳尤度が高いほど、より適切であることを示す数値をtranslation_score、
前記逆翻訳尤度が高いほど、より適切であることを示す数値をrev_translation_score、
前記入力質問の発話ベクトルと前記検索結果質問応答ペアの質問の発話ベクトルが類似するほど、より適切であることを示す数値をsemantic_similarity_score、
ｗ１，…，ｗ６は、どの数値を重視するかを決める重みとし、
入力質問Ｑ、検索結果質問応答ペアの質問Ｑ’、応答Ａ’とするときに、前記スコアscore（Ｑ，（Ｑ’，Ａ’））を、
score（Ｑ，（Ｑ’，Ａ’））
＝ｗ１・search_score
＋ｗ２・qtypes_match_score
＋ｗ３・center-word_score
＋ｗ４・translation_score
＋ｗ５・rev_translation_score
＋ｗ６・semantic_similarity_score
のように算出する
ことを特徴とする回答選択装置。
【請求項８】
請求項２または７記載の回答選択装置であって、
前記入力質問タイプは、一般質問タイプと詳細質問タイプを含む
ことを特徴とする回答選択装置。
【請求項９】
請求項８記載の回答選択装置であって、
前記一般質問タイプは、真偽，名称：その他，説明：意味，数量：その他，名称：場所名，名称：人名，説明：原因，その他，数量：日付，名称：組織名，説明：方法，数量：時間，数量：金額，その他：選択，説明：評判，説明：連想を含み、
前記詳細質問タイプは、複数階層からなり、質問が具体的にどのような固有表現について尋ねているかを表す質問タイプである
ことを特徴とする回答選択装置。
【請求項１０】
請求項９記載の回答選択装置であって、
前記スコア算出部は、
前記入力質問の詳細質問タイプのそれぞれの階層について、多くの対応する拡張固有表現のタイプが応答に含まれているほど、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項１１】
請求項１記載の回答選択装置であって、
質問と所定の人格になりきった応答のペアを質問応答ペアとして複数記録した拡張記録部も備え、
前記文書検索部は、前記拡張記録部に記録された質問応答ペアからも質問応答ペアを検索し、検索結果質問応答ペアとして出力する
ことを特徴とする回答選択装置。
【請求項１２】
請求項４記載の回答選択装置であって、
質問と所定の人格になりきった応答のペアを質問応答ペアとして複数記録した拡張記録部も備え、
前記文書検索部は、前記拡張記録部に記録された質問応答ペアからも質問応答ペアを検索し、検索結果質問応答ペアとして出力し、
前記スコア算出部は、前記記録部に記録されていた検索結果質問応答ペアの方が、前記拡張記録部に記録されていた検索結果質問応答ペアよりも、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項１３】
請求項５記載の回答選択装置であって、
質問と所定の人格になりきった応答のペアを質問応答ペアとして複数記録した拡張記録部も備え、
前記文書検索部は、前記拡張記録部に記録された質問応答ペアからも質問応答ペアを検索し、検索結果質問応答ペアとして出力し、
前記スコア算出部は、前記記録部に記録されていた検索結果質問応答ペアの方が、前記拡張記録部に記録されていた検索結果質問応答ペアよりも、より適切であることを示すように前記スコアを算出する
ことを特徴とする回答選択装置。
【請求項１４】
請求項１１〜１３のいずれかに記載の回答選択装置であって、
第二記録部に、あらかじめ収集した質問応答ペアを記録させておき、
前記記録部から応答を読み込み、読み込まれた応答と同一又は類似の応答を含む質問応答ペアを第二記録部から選択し、
前記の選択された質問応答ペアの質問と前記読み込まれた応答とからなる質問応答ペアを生成し、
前記の生成した質問応答ペアを、前記拡張記録部が記録した質問応答ペアとする
ことを特徴とする回答選択装置。
【請求項１５】
請求項１４記載の回答選択装置であって、
前記読み込まれた応答と前記の選択された質問応答ペアの応答とは、所定の基準を超える類似度である
ことを特徴とする回答選択装置。
【請求項１６】
請求項１４または１５記載の回答選択装置であって、
前記記録部に記録されている応答に同一の応答が多いほど、その応答を含む前記の生成した質問応答ペアは、大きな重みが付与されて前記拡張記録部に記録される
ことを特徴とする回答選択装置。
【請求項１７】
請求項１４〜１６のいずれかに記載の回答選択装置であって、
前記拡張記録部に記録される同一の質問応答ペアが多いほど、その質問応答ペアは、大きな重みが付与されて前記拡張記録部に記録される
ことを特徴とする回答選択装置。
【請求項１８】
請求項１記載の回答選択装置であって、
前記記録部は、質問から応答を求めるための学習済みの翻訳モデルも記録しており、
前記情報取得部は、前記翻訳モデルを用いて前記入力質問から前記応答が得られる確率に基づく数値である翻訳尤度を求め、
前記スコア算出部は、前記翻訳尤度に基づいて前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出し、
前記翻訳モデルは、応答のキャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、前記指標が示す程度に従って学習されたものである
ことを特徴とする回答選択装置。
【請求項１９】
請求項１８記載の回答選択装置であって、
前記記録部は、応答から質問を求めるための学習済みの逆翻訳モデルも記録しており、
前記情報取得部は、前記逆翻訳モデルを用いて前記応答から前記入力質問が得られる確率に基づく数値である逆翻訳尤度も求め、
前記スコア算出部は、前記翻訳尤度と前記逆翻訳尤度に基づいて前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出し、
前記逆翻訳モデルも、応答の前記キャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、前記指標が示す程度に従って学習された
ことを特徴とする回答選択装置。
【請求項２０】
請求項１８または１９記載の回答選択装置であって、
前記記録部は、前記質問応答ペアごとに応答の前記キャラクタらしさの程度を示す指標を対応付けて記録しており、
前記文書検索部は、前記指標も用いて、前記記録部に記録された質問応答ペアから質問応答ペアを検索する
ことを特徴とする回答選択装置。
【請求項２１】
請求項１８〜２０のいずれかに記載の回答選択装置であって、
前記キャラクタらしさの程度を示す指標は、前記キャラクタ本人以外の人によって評価された第１指標、前記キャラクタ本人が回答した応答であることを示す第２指標、前記キャラクタ本人が前記キャラクタらしいと認定したことを示す第３指標を含む
ことを特徴とする回答選択装置。
【請求項２２】
記録部、文書検索部、情報取得部、スコア算出部、ランキング部を備える回答選択装置を用いて、入力された質問である入力質問に対する１つまたは複数の回答を出力する回答選択方法であって、
あらかじめ前記記録部に、質問と応答のペアである質問応答ペアを複数記録しておき、
前記文書検索部が、前記入力質問を入力とし、あらかじめ定めた検索方式で、前記記録部に記録された質問応答ペアから質問応答ペアを検索し、検索結果質問応答ペアとして出力する文書検索ステップと、
前記情報取得部が、前記入力質問と前記検索結果質問応答ペアを入力とし、前記入力質問に対する前記検索結果質問応答ペアの適切さを数値化するための情報を取得し、数値化用情報として出力する情報取得ステップと、
前記スコア算出部が、前記検索方式に基づく適切さを示す数値と前記数値化用情報に基づく数値から、前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出するスコア算出ステップと
前記ランキング部が、前記スコアがより適切であることを示す順番に、あらかじめ定めた数の前記検索結果質問応答ペアを選択し、選択された検索結果質問応答ペアの応答を、回答として出力するランキングステップと
を実行する回答選択方法。
【請求項２３】
請求項２２記載の回答選択方法であって、
前記回答選択装置は、質問と所定の人格になりきった応答のペアを質問応答ペアとして複数記録した拡張記録部も備え、
前記文書検索ステップでは、前記拡張記録部に記録された質問応答ペアからも質問応答ペアを検索し、検索結果質問応答ペアとして出力する
ことを特徴とする回答選択方法。
【請求項２４】
請求項２２記載の回答選択方法であって、
前記記録部は、質問から応答を求めるための学習済みの翻訳モデルも記録しており、
前記情報取得ステップは、前記翻訳モデルを用いて前記入力質問から前記応答が得られる確率に基づく数値である翻訳尤度を求め、
前記スコア算出ステップは、前記翻訳尤度に基づいて前記検索結果質問応答ペアごとの前記入力質問に対するスコアを算出し、
前記翻訳モデルは、応答の前記キャラクタらしさの程度を示す指標を対応付けた質問と応答のペアを用いて、前記指標が示す程度に従って学習されたものである
ことを特徴とする回答選択方法。
【請求項２５】
請求項１〜２１のいずれかに記載の回答選択装置としてコンピュータを動作させるための回答選択プログラム。
【国際調査報告】
2019208222.tif 000013
2019208222.tif 000014
2019208222.tif 000015
2019208222.tif 000016