(57)【要約】【課題】雑談対話システムにおいてユーザ発話に直接含まれない言外の情報を得ることができる発話生成装置、発話生成方法、及び発話生成プログラムを提供する。【解決手段】ユーザ発話と言外の情報との組の集合である用例データ、又はコーパス文書内で共起する述語項構造の組に基づいて、入力部４０により入力されたユーザ発話に対応する言外の情報、又はユーザ発話に対応する述語項構造から、言外の情報の候補を生成し、入力部４０により入力されたユーザ発話と、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルとに基づいて、生成された言外の情報の候補の各々に対して、スコアを算出する。【選択図】図３
2018190170.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ発話を入力する入力部と、
ユーザ発話と言外の情報との組の集合である用例データ、又はコーパス文書内で共起する述語項構造の組に基づいて、前記入力部により入力された前記ユーザ発話に対応する言外の情報、又は前記ユーザ発話に対応する述語項構造から、前記言外の情報の候補を生成する検索部と、
前記入力部により入力された前記ユーザ発話と、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルとに基づいて、前記検索部により生成された前記言外の情報の候補の各々に対して、前記スコアを算出する言外の情報ランキング部と、
を含む発話生成装置。
【請求項２】
前記言外の情報のタイプを識別するためのタイプ識別モデルに基づいて、前記言外の情報の各々に対して前記タイプを識別して付与するタイプ識別部と、
前記タイプが付与された前記言外の情報から、前記タイプに関する予め定めた条件を満たす前記言外の情報を出力するタイプフィルタ部と、を更に含む
請求項１記載の発話生成装置。
【請求項３】
予め前記タイプが付与された前記言外の情報の集合を収録したデータに基づいて、前記タイプ識別モデルを作成するタイプ識別モデル作成部を更に備え、
前記タイプ識別部は、前記タイプ識別モデル作成部により作成された前記タイプ識別モデルに基づいて、前記各々の言外の情報に対して前記タイプを識別して付与する
請求項２記載の発話生成装置。
【請求項４】
前記スコアが算出された前記言外の情報の候補のうち、前記スコアが予め定めた条件を満たす前記言外の情報を応答発話として出力する出力部を更に含む
請求項１〜３の何れか１項記載の発話生成装置。
【請求項５】
前記出力部により出力される前記言外の情報の各々を発話文に変換する表現変換部を更に含む
請求項４記載の発話生成装置。
【請求項６】
ユーザ発話と正例の前記言外の情報との組、及びユーザ発話と負例の前記言外の情報との組に基づいて、前記ユーザ発話及び前記言外の情報の各々を形態素解析し、得られた形態素のうちの語幹同士の組み合わせ、及び前記語幹同士の組み合わせが、正例の組及び負例の組の何れから得られたものであるかに基づいて、前記ランキングモデルを作成するランキングモデル作成部を更に備え、
言外の情報ランキング部は、前記入力部により入力された前記ユーザ発話と、前記検索部により生成された前記言外の情報の候補との各々を形態素解析し、得られた形態素のうちの語幹同士の組み合わせと、前記ランキングモデル作成部により作成された前記ランキングモデルとに基づいて、前記言外の情報の候補について前記スコアを算出する
請求項１〜５の何れか１項記載の発話生成装置。
【請求項７】
入力部、検索部、及び言外の情報ランキング部を含む発話生成装置における発話生成方法であって、
前記入力部が、ユーザ発話を入力するステップと、
前記検索部が、ユーザ発話と言外の情報との組の集合である用例データ、又はコーパス文書内で共起する述語項構造の組に基づいて、前記入力部により入力された前記ユーザ発話に対応する言外の情報、又は前記ユーザ発話に対応する述語項構造から、前記言外の情報の候補を生成するステップと、
前記言外の情報ランキング部が、前記入力部により入力された前記ユーザ発話と、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルとに基づいて、前記検索部により生成された前記言外の情報の候補の各々に対して、前記スコアを算出するステップと、
を含む発話生成方法。
【請求項８】
コンピュータを、請求項１〜６の何れか１項記載の発話生成装置の各部として機能させるための発話生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話生成装置、発話生成方法、及び発話生成プログラムに関する。
【背景技術】
【０００２】
対話システムは、大きく分けて２種類あり、タスク指向型対話システムと非タスク指向型対話システム（雑談対話システム）とに分けられる。近年は、そのエンターテイメント性、ロボットとの日常会話等が注目されていることもあり、雑談対話システムの研究が盛んに行われている。
【０００３】
対話において会話を進めるために、システムの理解をユーザに伝える応答発話は重要である。例えば、ホテル予約を行うタスク指向型対話システムであれば、ユーザ発話を理解した結果を「〜に〜日に泊まりたいのですね」と伝えることで、ユーザはシステムの理解を確認することができる。雑談対話システムであれば、ユーザが発話した内容を繰り返すことで、ユーザの話を理解しているということを示すことができる。
【０００４】
雑談対話システムでは、ユーザ発話からキーワードを抽出し、テンプレートに当てはめることで応答発話を生成することが多い。例えば、「富士山に行きました」という発話から「富士山」というキーワードを抽出し、「〜ですね」というパタンに当てはめることで、「富士山ですね」という応答発話を生成することができる。
【０００５】
本手法の具体的な説明は、非特許文献１に開示されている。
【０００６】
また、近年では、非特許文献２に開示されているように、ユーザ発話から述語項構造と呼ばれる意味構造（述語及びその項からなる構造）を抽出し、抽出した述語項構造を元に応答発話を生成する手法も研究されている。例えば、「富士山に行きました」というユーザ発話から「ユーザ  ガ  富士山  ニ  行く」という述語項構造を抽出し、末尾の表現を変えることで、「富士山に行ったんですね」という応答発話を生成することができる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】J. Weizenbaum, "ELIZA-a computer program for the study of natural language communication between man and machine", Communications of the ACM, vol. 9, pp. 36-45, 1966.
【非特許文献２】Ryuichiro Higashinaka, Kenji Imamura, Toyomi Meguro, Chiaki Miyazaki, Nozomi Kobayashi, Hiroaki Sugiyama, Toru Hirano, Hoshiro Makino, Yoshihiro Matsuo, "Towards an open domain conversational system fully based on natural language processing, In Proc. COLING, pp. 928-939, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
既存の雑談対話システムが生成可能な応答発話は、ユーザ発話中の単語、述語項構造等から生成されるため、ユーザ発話中で表層的に表れたものしか生成することができない。そのため、ユーザ発話を単に繰り返して生成しているだけという印象をユーザに与えてしまい、より深く話を聞いていると示すことができない。
【０００９】
本発明は、雑談対話システムにおいてユーザ発話に直接含まれない言外の情報を得ることができる発話生成装置、発話生成方法、及び発話生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の発話生成装置は、ユーザ発話を入力する入力部と、ユーザ発話と言外の情報との組の集合である用例データ、又はコーパス文書内で共起する述語項構造の組に基づいて、前記入力部により入力された前記ユーザ発話に対応する言外の情報、又は前記ユーザ発話に対応する述語項構造から、前記言外の情報の候補を生成する検索部と、前記入力部により入力された前記ユーザ発話と、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルとに基づいて、前記検索部により生成された前記言外の情報の候補の各々に対して、前記スコアを算出する言外の情報ランキング部と、を含む。
【００１１】
なお、前記言外の情報のタイプを識別するためのタイプ識別モデルに基づいて、前記言外の情報の各々に対して前記タイプを識別して付与するタイプ識別部と、前記タイプが付与された前記言外の情報から、前記タイプに関する予め定めた条件を満たす前記言外の情報を出力するタイプフィルタ部と、を更に含むようにしても良い。
【００１２】
また、予め前記タイプが付与された前記言外の情報の集合を収録したデータに基づいて、前記タイプ識別モデルを作成するタイプ識別モデル作成部を更に備え、前記タイプ識別部は、前記タイプ識別モデル作成部により作成された前記タイプ識別モデルに基づいて、前記各々の言外の情報に対して前記タイプを識別して付与するようにしても良い。
【００１３】
また、前記スコアが算出された前記言外の情報の候補のうち、前記スコアが予め定めた条件を満たす前記言外の情報を応答発話として出力する出力部を更に含むようにしても良い。
【００１４】
また、前記出力部により出力される前記言外の情報の各々を発話文に変換する表現変換部を更に含むようにしても良い。
【００１５】
また、ユーザ発話と正例の前記言外の情報との組、及びユーザ発話と負例の前記言外の情報との組に基づいて、前記ユーザ発話及び前記言外の情報の各々を形態素解析し、得られた形態素のうちの語幹同士の組み合わせ、及び前記語幹同士の組み合わせが、正例の組及び負例の組の何れから得られたものであるかに基づいて、前記ランキングモデルを作成するランキングモデル作成部を更に備え、言外の情報ランキング部は、前記入力部により入力された前記ユーザ発話と、前記検索部により生成された前記言外の情報の候補との各々を形態素解析し、得られた形態素のうちの語幹同士の組み合わせと、前記ランキングモデル作成部により作成された前記ランキングモデルとに基づいて、前記言外の情報の候補について前記スコアを算出するようにしても良い。
【００１６】
上記目的を達成するために、本発明の発話生成方法は、入力部、検索部、及び言外の情報ランキング部を含む発話生成装置における発話生成方法であって、前記入力部が、ユーザ発話を入力するステップと、前記検索部が、ユーザ発話と言外の情報との組の集合である用例データ、又はコーパス文書内で共起する述語項構造の組に基づいて、前記入力部により入力された前記ユーザ発話に対応する言外の情報、又は前記ユーザ発話に対応する述語項構造から、前記言外の情報の候補を生成するステップと、前記言外の情報ランキング部が、前記入力部により入力された前記ユーザ発話と、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルとに基づいて、前記検索部により生成された前記言外の情報の候補の各々に対して、前記スコアを算出するステップと、を含む。
【００１７】
上記目的を達成するために、本発明の発話生成プログラムは、コンピュータを、上記発話生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１８】
本発明によれば、雑談対話システムにおいてユーザ発話に直接含まれない言外の情報を得ることが可能となる。
【図面の簡単な説明】
【００１９】
【図１】実施形態に係る発話生成装置の全体の構成を示すブロック図である。
【図２】実施形態に係る学習部の機能的な構成を示すブロック図である。
【図３】実施形態に係る発話生成部の機能的な構成を示すブロック図である。
【図４】実施形態に係る発話生成処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本実施形態について図面を用いて説明する。
【００２１】
本実施形態に係る発話生成装置は、ユーザ発話から推定が可能な情報をもとに、応答発話を生成することで、ユーザ発話に限定されない発話を生成する。本実施形態では、ユーザ発話から推定が可能な情報を「言外の情報」と呼び、当該「言外の情報」を「発話に明示的に表れていなかったとしても、人間が一般に理解することができる情報」と定義する。
【００２２】
具体的には、本実施形態に係る発話生成装置は、ユーザ発話を入力とし、言外の情報を推定した上で、その言外の情報を用いて応答発話を生成する。また、本実施形態に係る発話生成装置は、特に、言外の情報を確認したり質問したりする発話を生成することで、応答発話を生成する。言外の情報の推定では、以下に示す（方法１）及び（方法２）で言外の情報の候補を列挙し、ユーザ発話と各々の言外の情報との候補ペアの尤もらしさを表すスコアを算出し、言外の情報の候補をランキングすることで、言外の情報を推定する。
【００２３】
（方法１）ユーザ発話と言外の情報との組の集合を収録したデータを用意し、入力されたユーザ発話を用いて、データ中のユーザ発話を検索することで、言外の情報の候補を列挙する。
【００２４】
（方法２）文書内で共起する述語項構造の組の集合のデータ（例：＜雨が降る、洗濯物が濡れる＞）を用意し、ユーザ発話と類似する述語項構造を検索し、データ中で、検索された述語項構造と組み合わせられた述語項構造を言外の情報とみなすことで、言外の情報の候補を列挙する。
【００２５】
（方法１）及び（方法２）の方法で、ユーザ発話に対する言外の情報の候補を列挙し、列挙した候補をランキングすることで、言外の情報の推定を行う。具体的には、ユーザ発話と正しい言外の情報（正例の言外の情報）の組、及び、ユーザ発話と誤った言外の情報（負例の言外の情報）の組を収録したデータをもとに、ユーザ発話に対して言外の情報の尤もらしさを推定する回帰モデルを学習する。学習した回帰モデルを用いて、発話に対する言外の情報の候補の尤もらしさをスコアとして推定した上でランキングを行い、スコアが予め定めた閾値以上の言外の情報を、ユーザ発話に対する言外の情報として推定する。
【００２６】
ユーザ発話に対する言外の情報として推定した言外の情報の中には、様々な種類の情報が含まれ得るため、推定した言外の情報の全てを応答発話として出力してしまうと、ユーザが不快に思う場合がある。例えば、「テストで１番になりました」というユーザ発話に対して、「ユーザは褒められたい」という言外の情報を推定したとき、「あなたは褒められたいんですね」と応答すると、ユーザが不快に思う可能性がある。そのため、予め定義した言外の情報のタイプに基づいて、推定された言外の情報のタイプを推定した後、特定のタイプの言外の情報のみを応答発話として出力する。
【００２７】
推定した言外の情報に対して、言外の情報をそのままの形（例えば、平叙文）、もしくは、末尾を確認の形式（例：「〜なんですね」）、質問の形式（例：「〜なんですか？」）等に変換した形で発話として使用することで、応答発話を出力する。
【００２８】
図１は、本実施形態に係る発話生成装置１０の全体の構成を示すブロック図である。図１に示すように、本実施形態に係る発話生成装置１０は、学習部１２、及び、発話生成部１４を備えている。学習部１２は、発話生成部１４で必要とされるデータ及びモデルを作成する。また、発話生成部１４は、学習部１２で作成されたデータ及びモデルを元に、ユーザ発話に対する複数の応答発話の集合を、その尤もらしさのスコアを付与した状態で生成する。
【００２９】
図２は、本実施形態に係る発話生成装置１０の学習部１２の機能的な構成を示すブロック図である。学習部１２は、コーパス文書共起データ作成部２０、コーパス文書共起データ記憶部２２、ランキングモデル作成部２４、ランキングモデル記憶部２６、タイプ識別モデル作成部２８、及び、タイプ識別モデル記憶部３０を備えている。
【００３０】
図３は、本実施形態に係る発話生成装置１０の発話生成部１４の機能的な構成を示すブロック図である。発話生成部１４は、入力部４０、用例データ記憶部４２、検索部４４、言外の情報ランキング部４６、タイプ識別部４８、タイプフィルタ部５０、表現変換部５２、及び、出力部５４を備えている。また、検索部４４は、用例検索部４４ａ、及び、共起検索部４４ｂを備えている。
【００３１】
なお、図１中及び図２中の矢印は、各部の入出力関係を表す。また、破線は、各部がそのモデル又はデータを利用することを表す。
【００３２】
コーパス文書共起データ作成部２０は、コーパス文書内で共起する述語項構造の組に基づいて、入力部４０により入力したユーザ発話に対応する言外の情報から、前記言外の情報の候補を生成し、コーパス文書共起データ記憶部２２に記憶させる。
【００３３】
具体的には、まず、入力された文書コーパスからイベントを抽出するために、各文書に対して述語項構造解析を行う。述語項構造解析には、述語及び項が抽出できるツールを利用すると良い。述語及び項が抽出できるツールとしては、例えば、下記非特許文献３に開示されている、出願人が開発したＪＤＥＰが挙げられる。
【００３４】
［非特許文献３］Kenji Imamura, Genichiro Kikui, and Norihito Yasuda, "Japanese dependency parsing using scquential labeling for semi-spoken language.", In Proc ACL, 2007.
【００３５】
例えば、以下のように、３つの文書が含まれたブログ文書コーパスを入力として受け付ける。
文書Ａ：「車を運転して、富士山に行った。やはり山が好きだと思った。」
文書Ｂ：「富士山に行って、山に登った。景色が綺麗だった。」
文書Ｃ：「山が好きなので、富士山に行った。移動するために、車を運転した。」
【００３６】
これに対し、述語項構造解析を行った結果が以下である。なお、「Ｉ」（一人称を表す記号）は、ブログの著者を表す。また、述語は動詞で表され、項は名詞として表される。助詞の「ガ」、「ヲ」、及び「二」は項の種類を表し、それぞれ主語、直接目的語、及び間接目的語を表す。
文書Ａ：「Ｉガ車ヲ運転する」、「Ｉガ富士山ニ行く」、「Ｉガ山ガ好き」、「Ｉガ思う」
文書Ｂ：「Ｉガ富士山ニ行く」、「Ｉガ山ニ登る」、「景色ガ綺麗」
文書Ｃ：「Ｉガ山ガ好き」、「Ｉガ富士山ニ行く」、「Ｉガ移動する」、「Ｉガ車ヲ運転する」
【００３７】
次に、同一の文書から抽出された述語項構造の全ての組み合わせについて組として抽出し、抽出した組が文書内において共起する共起回数をカウントすることで、下記表１に示す結果が得られる。
【００３８】
【表１】
2018190170.tif 000003
【００３９】
最後に、各々の述語項構造の組に対して付与された共起回数に基づいて、共起回数が予め定めた閾値以上の述語項構造の組を共起データとしてコーパス文書共起データ記憶部２２に出力する。
【００４０】
上述した例では、例えば、閾値を２とした場合、共起回数が２回以上の述語項構造の組を抽出し、下記表２に示す述語項構造の組が共起データとして出力される。
【００４１】
【表２】
2018190170.tif 000004
【００４２】
コーパス文書共起データ記憶部２２には、コーパス文書共起データ作成部２０により作成されたコーパス文書共起データが記憶される。
【００４３】
ランキングモデル作成部２４は、ユーザ発話と正例の言外の情報との組、及びユーザ発話と負例の言外の情報との組に基づいて、ユーザ発話及び言外の情報の各々を形態素解析し、得られた形態素のうちの語幹同士の組み合わせ、及び語幹同士の組み合わせが正例の組及び負例の組の何れから得られたものであるかに基づいて、ランキングモデルを作成し、ランキングモデル記憶部２６に記憶させる。ランキングモデルは、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのモデルである。
【００４４】
ランキングモデルの作成には、下記表３に示すような、予め人手で作成された、ユーザ発話と正例の言外の情報との組、及びユーザ発話と負例の言外の情報との組のデータを用いる。なお、下記表３におけるフラグは、１が正例を表し、０が負例を表す。また、「Ｉ」は、言外の情報が付与されたユーザ発話の話者を表す。
【００４５】
【表３】
2018190170.tif 000005
【００４６】
このようなデータを元にランキングモデルの学習を行うために、素性として、ユーザ発話に含まれる形態素と、言外の情報に含まれる形態素との組を用いる。
【００４７】
ここでは、一例として、下記表４に示すユーザ発話と言外の情報とを例に挙げて説明する。ただし、Ｓは、話者を表す記号である。
【００４８】
【表４】
2018190170.tif 000006
【００４９】
下記非特許文献４で開示されている、出願人が開発したＪＴＡＧ等の形態素解析機を用いて、ユーザ発話と言外の情報との形態素解析を行う。
【００５０】
［非特許文献４］Takeshi Fuchi, and Shinichiro Takagi, "Japanese morphological analyzer using word co-occurrence: JTAG", Proceedings of the 17th international conference on Computational linguistics-Volume 1, Association for Computational Linguistics, 1998.
【００５１】
形態素解析を行うことにより、下記表５に示すような結果を得る。なお、下記表５において、左側の列は表記を表し、中央の列は品詞を表し、右側の列は語幹を表す。
【００５２】
【表５】
2018190170.tif 000007
【００５３】
次に、形態素解析の結果を利用して、内容語（文法的な意味を持たず、意味を表す単語）を抽出し、ユーザ発話から抽出した内容語と、言外の情報から抽出した内容語との組を作成する。具体的には、ユーザ発話と言外の情報のそれぞれから、品詞が名詞、動詞語幹、又は形容詞語幹である形態素を抽出し、ユーザ発話から抽出した形態素の各々と、言外の情報から抽出した形態素の各々とを組み合わせることで、下記表６に示すような、内容語の組を作成する。なお、下記表６では、各々の内容語の組を、（ユーザ発話から抽出した形態素，言外の情報から抽出した形態素）として示している。
【００５４】
【表６】
2018190170.tif 000008
【００５５】
このようにして内容語の組を作成し、作成した内容語の組と、内容語の組が正例の組及び負例の組の何れから得られたものであるかに基づいて、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルを学習する。
【００５６】
学習アルゴリズムには、例えば、ロジスティック回帰を用いれば良い。ロジスティック回帰の詳細は、下記非特許文献５に開示されている。また、ロジスティック回帰以外のアルゴリズムとしては、例えばランキングＳＶＭ（Support Vector Machine）等が挙げられる。
【００５７】
［非特許文献５］高村大也，言語処理のための機械学習入門，コロナ社，2010.
【００５８】
最終的に、学習の結果として得られた、内容語の組毎の、ユーザ発話に対する言外の情報の尤もらしさを表す重みの情報を、ランキングモデルとしてランキングモデル記憶部２６に記憶させる。
【００５９】
ランキングモデル記憶部２６には、ランキングモデル作成部２４により作成されたランキングモデルが記憶される。
【００６０】
タイプ識別モデル作成部２８は、予めタイプが付与された言外の情報の集合を収録したデータに基づいて、言外の情報のタイプを識別するタイプ識別モデルを作成し、タイプ識別モデル記憶部３０に記憶させる。
【００６１】
タイプの種類は、下記表７に示す９種類である。
【００６２】
【表７】
2018190170.tif 000009
【００６３】
これらの９種類のタイプは、言外の情報がどのような情報を表しているかという観点で作成されている。各タイプの作成方法、及び詳細な説明は、下記非特許文献６に開示されている。
【００６４】
［非特許文献６］光田  航，東中  竜一郎，松尾  義博，「複数の作業者グループを用いた対話における言外の情報の類型化」，電子情報通信学会技術研究報告 Vol. 116 No. 379 言語理解とコミュニケーション, pp. 13-18, 2016.
【００６５】
本実施形態では、予めタイプが各々の言外の情報に付与されたデータを用いて、言外の情報に対してタイプを識別するためのタイプ識別モデルを学習する。
【００６６】
下記表８に示す言外の情報を例とし、素性の抽出方法を説明する。なお、下記表８で例示されている言外の情報は、「信念１」というタイプに分類される言外の情報である。
【００６７】
【表８】
2018190170.tif 000010
【００６８】
言外の情報に対して形態素解析を行うと、下記表９に示すような結果が得られる。下記表９の結果は、出願人が開発したＪＴＡＧ等の形態素解析機を用いて形態素解析を行った場合の出力結果である。下記表９における左側の列は表記を表し、中央左側の列は品詞を表し、中央右側の列は語幹を表し、右側の列は日本語語彙大系のカテゴリ番号を表す。また、日本語語彙大系のカテゴリ番号［］［］［］は、左側から順番に、一般名詞意味属性、固有名詞意味属性、用言意味属性を表す。これらの各々の属性については、非特許文献７に開示されている。ただし、Ｓは、話者を表す記号である。
【００６９】
【表９】
2018190170.tif 000011
【００７０】
［非特許文献７］池原  悟，宮崎  正弘，白井  諭，横尾  昭男，中岩  浩巳，小倉  健太郎，大山  芳史，林  良彦，日本語語彙大系，岩波書店，1997.
【００７１】
このような形態素解析の結果から、以下のような素性が得られる。なお、ユニグラムは系列の要素１つずつのことを表し、バイグラムは系列の隣接する要素２つずつを順序付きで組にしたものを表す。また、形態素は、形態素解析の結果として得られた各形態素の語幹を表す。
【００７２】
形態素ユニグラム：「Ｓ」、「は」、「富士山」、「が」、「好き」、「だ」
形態素バイグラム：「Ｓ-は」、「は-富士山」、「富士山-が」、「が-好き」、「好き-だ」
一般名詞意味属性ユニグラム：「４７１」、「１３００」
一般名詞意味属性バイグラム：「４７１−１３００」
用言意味属性ユニグラム：「１１」
用言意味属性バイグラム：なし
【００７３】
一般名詞意味属性と用言意味属性とのカテゴリ番号が複数存在する場合には、最も左側のカテゴリ番号が、上記ＪＴＡＧが最も適切と判定したカテゴリ番号であることを考慮し、最も左側のカテゴリ番号のみを用いる。
【００７４】
これらの素性を用いて、言外の情報を入力として、そのタイプを出力するモデルを学習する。学習アルゴリズムには、多クラス分類が可能なＳＶＭを利用すれば良い。多クラス分類については、上記非特許文献５に詳しく開示されている。
【００７５】
タイプ識別モデル記憶部３０には、タイプ識別モデル作成部２８により作成されたタイプ識別モデルが記憶される。
【００７６】
入力部４０は、１つのユーザ発話を入力し、入力したユーザ発話を、用例検索部４４ａ、共起検索部４４ｂ、及び言外の情報ランキング部４６に出力する。例えば、ユーザ発話として下記表１０に示すユーザ発話が入力され、入力されたユーザ発話が、用例検索部４４ａ、共起検索部４４ｂ、及び言外の情報ランキング部４６に出力される。
【００７７】
なお、入力部４０は、ユーザ発話の他に、当該ユーザ発話の前までの対話文脈（発話が系列になったもの）を入力として受け付けても良い。
【００７８】
【表１０】
2018190170.tif 000012
【００７９】
用例データ記憶部４２には、ユーザ発話と言外の情報との組の集合である用例データが記憶されている。
【００８０】
用例検索部４４ａは、用例データ記憶部４２に記憶されている用例データに基づいて、入力部４０により入力されたユーザ発話に対応する言外の情報から、言外の情報の候補を生成する。
【００８１】
具体的には、まず、入力部４０により入力されたユーザ発話、及び、用例データ中のユーザ発話を、ｗｏｒｄ２ｖｅｃを用いてベクトルに変換する。ｗｏｒｄ２ｖｅｃは、テキストコーパスを用いて学習を行うことで、任意のテキストを固定長のベクトルに変換する一般的な手法である。
【００８２】
ｗｏｒｄ２ｖｅｃの学習には、Ｗｉｋｉｐｅｄｉａ（登録商標）等のコーパス文書を用いる。この際、コーパス文書共起データ作成部で用いたコーパス文書と同じコーパス文書を用いても良い。具体的な学習方法は、下記非特許文献８に開示されている。
【００８３】
［非特許文献８］Tomas Mikolov, Kai Chen, and Jeffrey Dean, "Efficient estimation of word representation in vector space", CoRR, Vol. abs/1301.3781, 2013. 
【００８４】
ｗｏｒｄ２ｖｅｃを用いてベクトルに変換した、入力部４０により入力されたユーザ発話と、用例データ中のユーザ発話との類似度の計算には、コサイン類似度を用いれば良い。コサイン類似度は、ベクトル間の類似度を測るために用いられる一般的な尺度であり、下記（１）式で表される。なお、下記（１）式における
2018190170.tif 000013
と
2018190170.tif 000014
とはベクトルを表し、
2018190170.tif 000015
はコサイン類似度を表す。
【００８５】
【数１】
2018190170.tif 000016
・・・（１）
【００８６】
入力部４０により入力されたユーザ発話と、用例データ中のユーザ発話との類似度を計算し、用例データ中で、コサイン類似度が閾値以上であるユーザ発話と組になっている言外の情報を、言外の情報の候補として出力する。
【００８７】
ユーザ発話として「紅葉を見に富士山に行きました」というユーザ発話に対する処理の一例を以下に示す。下記表１１に、用例データの一例を示す。
【００８８】
【表１１】
2018190170.tif 000017
【００８９】
下記表１２は、入力部４０により入力されたユーザ発話と、用例データ中のユーザ発話とをベクトル化し、類似度を計算した結果を示す。
【００９０】
【表１２】
2018190170.tif 000018
【００９１】
上記表１２において、類似度の閾値を０．８とすると、下記表１３に示すように、類似度が閾値以上のであるユーザ発話と組になっている言外の情報を、言外の情報の候補として言外の情報ランキング部４６に出力する。
【００９２】
【表１３】
2018190170.tif 000019
【００９３】
共起検索部４４ｂは、コーパス文書共起データ記憶部２２にコーパス文書共起データとして記憶されている、コーパス文書内で共起する述語項構造の組に基づいて、ユーザ発話に対応する述語項構造から、言外の情報の候補を生成する。
【００９４】
言外の情報の候補を検索する際には、コーパス文書共起データ記憶部２２に記憶されているコーパス文書共起データを読み出し、読み出したコーパス文書共起データに対して、入力部４０により入力されたユーザ発話と類似した述語項構造を検索する。そして、述語項構造の組において、検索された述語項構造と組み合わせている述語項構造を言外の情報の候補として言外の情報ランキング部４６に出力する。
【００９５】
なお、入力部４０により入力されたユーザ発話と類似した述語項構造を検索する方法としては、上述した用例検索部４４ａと同様にベクトル間の類似度を用いた方法が挙げられる。
【００９６】
言外の情報ランキング部４６は、入力部４０により入力されたユーザ発話と、ランキングモデル記憶部２６に記憶されているランキングモデルとに基づいて、用例検索部４４ａ又は共起検索部４４ｂにより生成された言外の情報の候補の各々に対して、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出する。
【００９７】
下記表１４に、入力部４０により入力されたユーザ発話を示し、下記表１５に、言外の情報の候補を示す。
【００９８】
【表１４】
2018190170.tif 000020
【００９９】
【表１５】
2018190170.tif 000021
【０１００】
下記表１６に、このような例において算出された、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを示す。
【０１０１】
【表１６】
2018190170.tif 000022
【０１０２】
下記表１７に示すように、算出したスコアが閾値（例えば、０．２）以上の言外の情報を、スコアを昇順に並べたランキング形式で、タイプ識別部４８に出力する。
【０１０３】
【表１７】
2018190170.tif 000023
【０１０４】
タイプ識別部４８は、タイプ識別モデル記憶部３０に記憶されているタイプ識別モデルに基づいて、言外の情報の各々に対してタイプを識別して付与する。
【０１０５】
例えば、下記表１８に示される言外の情報を入力したとする。
【０１０６】
【表１８】
2018190170.tif 000024
【０１０７】
このような場合には、下記表１９に示されるように、各々の言外の情報にタイプが付与される。
【０１０８】
【表１９】
2018190170.tif 000025
【０１０９】
タイプフィルタ部５０は、タイプが付与された言外の情報から、タイプに関する予め定めた条件を満たす言外の情報を、表現変換部５２に出力する。
【０１１０】
予め定めた条件を満たす言外の情報の選択方法としては、例えば、出力する言外の情報のタイプを予め列挙した設定ファイルを記憶させておき、この設定ファイルに含まれるタイプの言外の情報のみを選択する方法が挙げられる。
【０１１１】
例えば、設定ファイルに「事実１」のタイプ、及び「事実２」のタイプのみが列挙されているとする。この場合に、下記表２０に示す、タイプが付与された言外の情報が入力された場合、上記設定ファイルを用いて、下記表２１に示す言外の情報が選択される。
【０１１２】
【表２０】
2018190170.tif 000026
【０１１３】
【表２１】
2018190170.tif 000027
【０１１４】
このように、タイプが付与された言外の情報を、タイプに基づいてフィルタリングすることで、例えば「Ｓは褒められたい」というように、ユーザに発話すべきでない可能性がある言外の情報を、出力対象の言外の情報から除外することができる。なお、予め定めた条件を満たす言外の情報の選択方法としては、例えば、出力すべきでない言外の情報のタイプを予め列挙した設定ファイルを記憶させておいてもよい。
【０１１５】
表現変換部５２は、タイプフィルタ部５０により出力された言外の情報の各々を、発話文に変換し、出力部５４に出力する。
【０１１６】
言外の情報の表現を変換する際には、言外の情報の末尾を「〜ですね」と変換することで、確認の形式に変換する。変換方法はこれに限らず、言外の情報の末尾を「〜なんですか？」と変換することで質問の形式にしても良い。また、変換を行わず、言外の情報をそのまま応答発話として出力しても良い。
【０１１７】
下記表２２に示すような言外の情報を入力した場合には、各々の言外の情報は、下記表２３に示すような表現に変換される。なお、下記表２２では、言外の情報のみを示している。
【０１１８】
【表２２】
2018190170.tif 000028
【０１１９】
【表２３】
2018190170.tif 000029
【０１２０】
出力部５４は、スコアが算出された言外の情報のうち、スコアが予め定めた条件を満たす言外の情報を、スコアを付与した状態で、応答発話として出力する。出力方法としては、応答発話を示すデータをディスプレイ等の表示手段に表示させたり、応答発話を示すデータを外部装置に送信したり、応答発話を示す音声を音声出力手段により出力させたりする方法が挙げられる。
【０１２１】
下記表２４に示すような、スコアが付与された言外の情報を入力した場合には、スコアに基づき、下記表２５に示すような、スコアが予め定めた閾値（例えば、０．５）以上の言外の情報が、スコアが付与された状態で、応答発話として出力される。
【０１２２】
【表２４】
2018190170.tif 000030
【０１２３】
【表２５】
2018190170.tif 000031
【０１２４】
なお、本実施形態に係る発話生成装置１０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、各種プログラムを記憶するＲＯＭ（Read Only Memory）を備えたコンピュータ装置で構成される。また、発話生成装置１０を構成するコンピュータは、ハードディスクドライブ、不揮発性メモリ等の記憶部を備えていても良い。本実施形態では、ＣＰＵがＲＯＭ、ハードディスク等の記憶部に記憶されているプログラムを読み出して実行することにより、上記のハードウェア資源とプログラムとが協働し、上述した機能が実現される。
【０１２５】
次に、本実施形態に係る発話生成装置１０による発話生成処理の流れを、図４に示すフローチャートを用いて説明する。本実施形態では、発話生成装置１０に、発話生成処理の実行を開始するための予め定めたデータが入力されたタイミングで発話生成処理が開始されるが、発話生成処理が開始されるタイミングはこれに限らず、例えば、対話ルールを示すデータが入力されたタイミングで発話生成処理が開始されても良い。
【０１２６】
ステップＳ１０１では、入力部４０が、ユーザ発話を入力する。
【０１２７】
ステップＳ１０３では、用例検索部４４ａが、ユーザ発話と言外の情報との組の集合である用例データに基づいて、入力部４０により入力されたユーザ発話に対応する言外の情報から、言外の情報の候補を生成する。
【０１２８】
ステップＳ１０５では、共起検索部４４ｂが、コーパス文書共起データである、コーパス文書内で共起する述語項構造の組に基づいて、入力部４０により入力されたユーザ発話に対応する述語項構造から、言外の情報の候補を生成する。
【０１２９】
ステップＳ１０７では、言外の情報ランキング部４６が、入力部４０により入力されたユーザ発話と、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルとに基づいて、用例検索部４４ａ又は共起検索部４４ｂにより生成された言外の情報の候補の各々に対して、スコアを算出する。
【０１３０】
ステップＳ１０９では、タイプ識別部４８が、言外の情報のタイプを識別するためのタイプ識別モデルに基づいて、言外の情報の各々に対してタイプを識別して付与する。
【０１３１】
ステップＳ１１１では、タイプフィルタ部５０が、タイプが付与された言外の情報から、タイプに基づいてフィルタリングし、タイプに関する予め定めた条件を満たす言外の情報のみを出力する。
【０１３２】
ステップＳ１１３では、表現変換部５２が、言外の情報の各々を、表現を変換することにより発話文に変換する。
【０１３３】
ステップＳ１１５では、出力部５４が、スコアが算出された言外の情報の候補のうち、スコアが予め定めた条件を満たす言外の情報を応答発話として出力し、本発話生成処理のプログラムの実行を終了する。
【０１３４】
このように、本実施形態では、入力されたユーザ発話と言外の情報との組の集合である用例データ、又はコーパス文書内で共起する述語項構造の組に基づいて、入力されたユーザ発話に対応する言外の情報、又はユーザ発話に対応する述語項構造から、言外の情報の候補を生成する。また、入力されたユーザ発話と、ユーザ発話に対する言外の情報の尤もらしさを表すスコアを算出するためのランキングモデルとに基づいて、生成された言外の情報の候補の各々に対して、スコアを算出する。また、スコアが算出された言外の情報の候補のうち、スコアが予め定めた条件を満たす言外の情報を応答発話として出力する
【０１３５】
これにより、言外の情報を用いた応答発話を生成することにより、雑談対話システムがユーザの発話内容に限定されない、様々な内容を応答することができる。話をしっかり理解しているとユーザに伝えることができるため、より長く使ってもらえる対話システムが実現される。
【０１３６】
なお、本実施形態では、図１乃至図３に示す機能の構成要素の動作をプログラムとして構築し、発話生成装置１０として利用されるコンピュータにインストールして実行させるが、これに限らず、ネットワークを介して流通させても良い。
【０１３７】
また、構築されたプログラムをハードディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールしたり、配布したりしても良い。
【符号の説明】
【０１３８】
１０  発話生成装置
１２  学習部
１４  発話生成部
２０  コーパス文書共起データ作成部
２２  コーパス文書共起データ記憶部
２４  ランキングモデル作成部
２６  ランキングモデル記憶部
２８  タイプ識別モデル作成部
３０  タイプ識別モデル記憶部
４０  入力部
４２  用例データ記憶部
４４  検索部
４４ａ  用例検索部
４４ｂ  共起検索部
４６  言外の情報ランキング部
４８  タイプ識別部
５０  タイプフィルタ部
５２  表現変換部
５４  出力部
【図１】
2018190170.tif 000032
【図２】
2018190170.tif 000033
【図３】
2018190170.tif 000034
【図４】
2018190170.tif 000035