(57)【要約】【課題】相手の発話を深掘りするための適切な質問をすることができる。【解決手段】疑問詞探索部が、発話文であるテキストを入力として、所定のルールまたは予め学習済みの推定器により、前記テキストに関連した疑問詞である推定使用疑問詞の推定を行う。発話文候補生成部が、前記テキストを入力として、自動発話生成により前記発話文に対する発話文候補の各々を生成する。ランキング部が、前記発話文候補の各々と、前記推定使用疑問詞の推定結果とに基づいて、当該スコアに基づき発話文候補の各々の順位付けを行う。【選択図】図１
2020064419.tif 000002
【特許請求の範囲】
【請求項１】
発話文であるテキストを入力として、所定のルールまたは予め学習済みの推定器により、前記テキストに関連した疑問詞である推定使用疑問詞の推定を行う疑問詞探索部と、
前記テキストを入力として、自動発話生成により前記発話文に対する発話文候補の各々を生成する発話文候補生成部と、
前記発話文候補の各々と、前記推定使用疑問詞の推定結果とに基づいて、前記発話文候補の各々に対してスコアを計算し、当該スコアに基づき発話文候補の各々の順位付けを行うランキング部と、
を含む発話生成装置。
【請求項２】
前記ランキング部は、前記発話文候補のうち、前記推定使用疑問詞を含む発話文候補と、前記推定使用疑問詞を含まない発話文候補とを比較し、前記推定使用疑問詞を含む発話文候補が選択されにくくなるように、前記発話文候補の各々に対してスコアを計算する請求項１に記載の発話生成装置。
【請求項３】
前記発話文候補生成部について、発話文を入力とし、前記発話文に対する発話文候補を出力するように予め学習された機械学習モデルに前記テキストを入力し、前記発話文候補の各々を生成する請求項１または請求項２に記載の発話生成装置。
【請求項４】
対話システムにおける対話が継続しているものとし、
前記疑問詞探索部は、前記対話の文脈となるテキストと、前記入力された前記発話文の前記テキストとを入力として、前記所定のルールまたは前記推定器により、前記推定使用疑問詞の推定を行う請求項１〜請求項３の何れか１項に記載の発話生成装置。
【請求項５】
前記ランキング部は、前記入力された前記発話文が与えられたときに前記発話文候補が出現する尤もらしさを表す値と、前記発話文候補が与えたられたときに入力が前記発話文となる尤もらしさを表す値と、前記発話文候補に前記推定使用疑問詞が含まれるか否かに応じて定まるペナルティ値とに基づいて、前記スコアを計算する請求項２に記載の発話生成装置。
【請求項６】
疑問詞探索部が、発話文であるテキストを入力として、所定のルールまたは予め学習済みの推定器により、前記テキストに関連した疑問詞である推定使用疑問詞の推定を行うステップと、
発話文候補生成部が、前記テキストを入力として、自動発話生成により前記発話文に対する発話文候補の各々を生成するステップと、
ランキング部が、前記発話文候補の各々と、前記推定使用疑問詞の推定結果とに基づいて、前記発話文候補の各々に対してスコアを計算し、当該スコアに基づき発話文候補の各々の順位付けを行うステップと、
を含むか発話生成方法。
【請求項７】
コンピュータを、請求項１〜請求項５のいずれか１項に記載の発話生成装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話生成装置、方法、及びプログラムに係り、特に、発話文に対する応答発話を生成するための発話生成装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
対話システムでインタビュー等を行おうとする際、対話システムが対話相手（ユーザ、ロボット、又は対話システム等）に対して質問するための発話文はルール等で事前に準備しておくことが可能である。しかし、相手の情報をより聞き出すための質問、つまり深掘りの質問は相手の発話内容によって聞くべきことが変化するため、ルールでの準備が困難であるという問題がある。
【０００３】
このような問題を解決するために、最近では、自動発話生成に関する技術が提案されている（非特許文献１）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Oriol Vinyals, Quoc V. Le, "A Neural Conversational Model", 22 Jul 2015.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、自動発話生成を用いた深掘りの質問による応答発話の生成では、例えば以下の２つの問題がある。
【０００６】
（１）どんな発話にも対応できる質問（例えば、「なんで」、「どうして」等）が多く生成されてしまう。
（２）ユーザの発話から既知の内容を聞くための質問が生成されてしまう。
【０００７】
本発明は、上記事情を鑑みて成されたものであり、自動生成した複数個の質問から、相手の発話を深掘りするための適切な質問を選定することを可能にする発話生成装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係る発話生成装置は、発話文であるテキストを入力として、所定のルールまたは予め学習済みの推定器により、前記テキストに関連した疑問詞である推定使用疑問詞の推定を行う疑問詞探索部と、前記テキストを入力として、自動発話生成により前記発話文に対する発話文候補の各々を生成する発話文候補生成部と、前記発話文候補の各々と、前記推定使用疑問詞の推定結果とに基づいて、前記発話文候補の各々に対してスコアを計算し、当該スコアに基づき前記発話候補の各々の順位付けを行うランキング部と、を含んで構成されている。
【０００９】
また、第１の発明に係る発話生成装置において、前記ランキング部は、前記発話文候補のうち、前記推定使用疑問詞を含む発話文候補と、前記推定使用疑問詞を含まない発話文候補とを比較し、前記推定使用疑問詞を含む発話文候補が選択されにくくなるように、前記発話文候補の各々に対してスコアを計算するようにしてもよい。
【００１０】
また、第１の発明に係る発話生成装置において、前記発話文候補生成部について、発話文を入力とし、前記発話文に対する発話文候補を出力するように予め学習された機械学習モデルに前記テキストを入力し、前記発話文候補の各々を生成するようにしてもよい。
【００１１】
また、第１の発明に係る発話生成装置において、対話システムにおける対話が継続しているものとし、前記疑問詞探索部は、前記対話の文脈となるテキストと、前記入力された前記発話文の前記テキストとを入力として、前記所定のルールまたは前記推定器により、前記推定使用疑問詞の推定を行うようにしてもよい。
【００１２】
また、第１の発明に係る発話生成装置において、前記ランキング部は、前記入力された前記発話文が与えられたときに前記発話文候補が出現する尤もらしさを表す値と、前記発話文候補が与えたられたときに入力が前記発話文となる尤もらしさを表す値と、前記発話文候補に前記推定使用疑問詞が含まれるか否かに応じて定まるペナルティ値とに基づいて、前記スコアを計算するようにしてもよい。
【００１３】
第２の発明に係る発話生成方法は、疑問詞探索部が、発話文であるテキストを入力として、所定のルールまたは予め学習済みの推定器により、前記テキストに関連した疑問詞である推定使用疑問詞の推定を行うステップと、発話文候補生成部が、前記テキストを入力として、自動発話生成により前記発話文に対する発話文候補の各々を生成するステップと、ランキング部が、前記発話文候補の各々と、前記推定使用疑問詞の推定結果とに基づいて、前記発話文候補の各々に対してスコアを計算し、当該スコアに基づき前記発話候補の各々の順位付けを行うステップと、を含んで実行することを特徴とする。
【００１４】
第３の発明に係るプログラムは、コンピュータを、第１の発明に記載の発話生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１５】
本発明の発話生成装置、方法、及びプログラムによれば、相手の発話を深掘りするための適切な質問を生成することができる、という効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の形態に係る発話生成装置の構成を示すブロック図である。
【図２】疑問詞探索部の構成を示すブロック図である。
【図３】疑問詞探索部の処理の一例を示す図である。
【図４】発話文候補のうち推定使用疑問詞が使用されている箇所を抽出した場合の一例を示す図である。
【図５】スコアの計算結果の一例を示す図である。
【図６】本発明の実施の形態に係る発話生成装置における発話生成処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照して本発明の実施の形態を詳細に説明する。本実施の形態の発話生成装置は、雑談対話における相手の発話を深掘りするための質問等の発話を生成する発話生成装置であり、対話システムにおける雑談対話の一処理として利用される。発話生成装置は、自動発話生成で出力された、応答発話として尤もらしい上位Ｎ個（Ｎｂｅｓｔ）の発話文候補を上記で述べた２つの問題に対応できる変数を用いてランキングすることで、問題を解決する。
【００１８】
対話システムに本実施の形態の手法を用いることで、会話を精度良く深掘りできるようになる。対話システムはユーザの情報をより収集することができるようになり、収集した情報を活用した応答発話をユーザに返すことで、ユーザは対話システムとより話しやすくなり、対話システムとユーザのインタラクションが円滑になることが期待できる。
【００１９】
＜本発明の実施の形態に係る発話生成装置の構成＞
【００２０】
次に、本発明の実施の形態に係る発話生成装置の構成について説明する。図１に示すように、本発明の実施の形態に係る発話生成装置１００は、ＣＰＵと、ＲＡＭと、後述する発話生成処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この発話生成装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部５０とを備えている。
【００２１】
入力部１０は、対話相手であるユーザが発話した発話文のテキストを受け付ける。
【００２２】
演算部２０は、疑問詞探索部３０と、発話文候補生成部３２と、ランキング部３４とを含んで構成されている。
【００２３】
疑問詞探索部３０は、入力部１０で受け付けた発話文のテキストを入力として、所定のルールにより、テキストに含まれる発話の内容に関連した疑問詞である推定使用疑問詞の推定を行う。
【００２４】
疑問詞探索部３０は、図２に示すように、形態素解析器３０１と、使用疑問詞推定部３０２とを含んで構成されている。
【００２５】
形態素解析器３０１は、発話文のテキストの入力を受け付けて、形態素解析をかける。
【００２６】
使用疑問詞推定部３０２は、発話文のテキストの形態素解析の結果から、品詞や語彙大系（参考文献１参照）や表記を用いた所定のルールのマッチによって、推定使用疑問詞を推定する。推定使用疑問詞とは、発話文のテキストに関連した疑問詞であり、例えば、発話文の内容で既知となっている情報について質問する際に用いられる疑問詞が挙げられる。つまり、この推定使用疑問詞を含む発話文候補は、既知の情報の質問を含むものである。この性質に鑑み、後述するランキング部３４による処理で推定使用疑問詞を含む発話文候補のランキングの順位が下がるような処理を行うために推定使用疑問詞は用いられる。本実施の形態では、所定のルールのマッチによる推定使用疑問詞を推定しているが、これに限定されるものではなく、学習データを用いて予め学習しておいた推定器を用意して推定使用疑問詞を推定するようにしてもよい。推定器はニューラルネットワークやＳＶＭなど既知の手法を用いればよい。
【００２７】
［参考文献１］池原悟, 宮崎正弘, 白井諭, 横尾昭男, 中岩浩巳, 小倉健太郎, 大山芳史, 林良彦，日本語語彙大系. 岩波書店，1997.
【００２８】
疑問詞探索部３０の処理の一例を図３に示す。例えば、入力されたテキストが、「昨日、私は彼女と横須賀で花見をした。」という発話文であるとする。疑問詞探索部３０により、所定のルールにおいて、「いつ」、「だれが」、「だれと」、「どこで」、「なにを」を推定使用疑問詞として推定する。ここで推定された推定使用疑問詞は、「昨日／いつ」、「私／だれが」、「彼女／だれと」、「横須賀で／どこで」、「花見を／なにを」というように、ユーザの発話から既知となった内容に対応する疑問詞であり、ユーザ側としてみれば既に回答した内容といえる。
【００２９】
また、上記図３の以外の例として、「なんで」、「どうして」が推定使用疑問詞として推定される例を挙げる。例えば、所定のルールでは、「動詞＋助詞の「に」」について「なんで」、「どうして」の疑問詞が対応付けられているとする。この場合、発話文のテキストが「ご飯を食べに横浜に行きました」の場合は、「食べ（動詞）＋に（助詞）」が所定のルールにマッチし、「なんで」、「どうして」を推定使用疑問詞として推定する。推定使用疑問詞は、図３に記載したものや、「なんで」、「どうして」以外にも、「どうやって」、「どれぐらい」、「どちらが」等複数考えられる。推定使用疑問詞として何を指定し、どのような発話文に対応付けるかは、任意に定義・設定してよい。
【００３０】
また、疑問詞探索部３０は、ユーザと対話システムとの間で複数回対話が継続している場合には、入力部１０に入力された発話文のテキストとして、継続中の対話におけるユーザや対話システムの対話履歴（複数の発話文のテキスト）を用いてもよい。具体的には、対話システムにおいてＫ回の対話が行われることを想定する。現在の対話がＫ回目であり、入力部１０にＫ番目の発話文が入力された際に、それ以前の対話履歴（すなわち、１,２,...,Ｋ−１までの対話履歴）から得られる対話の文脈となるテキストも用いて推定使用疑問詞を推定する。対話の文脈となるテキストとしては、以前出力部５０が出力したＫ−１番目以前の応答発話のテキストまたは、その応答発話を生成する際に入力部１０に入力されていたＫ−１番目以前の発話文のテキストの少なくとも一方を用いる。この対話の文脈となるテキストと、Ｋ番目の発話文のテキストとを入力として、所定のルールまたは推定器により、推定使用疑問詞の推定を行うようにしてもよい。これにより、Ｋ回目の対話以前に既知となった情報に対応する推定使用疑問詞も推定できる。例えば、それまでの対話履歴が「（Ｋ＝１：ユーザ）昨日、横須賀に行ってきたよ。」「（Ｋ＝１：対話システム）昨日、横須賀では何をしたんですか？」「（Ｋ＝２：ユーザ）花見をしに行ったよ」であったとする。この場合、Ｋ−１番目以前の対話履歴から「昨日／いつ」、「横須賀で／どこで」が推定使用疑問詞として推定でき、入力されたＫ番目の発話文から推定できる「花見を／何を」以外の推定使用疑問詞も補完することができる。なお、何番目の対話まで遡って推定使用疑問詞を補完するかは、任意に設定すればよい。
【００３１】
また、疑問詞探索部３０は、ユーザと対話システムとの間で対話が継続している場合に、推定した推定使用疑問詞の履歴を蓄積して、推定使用疑問詞の履歴に新たに推定された推定使用疑問詞を加えてランキング部３４に推定使用疑問詞の推定結果として出力するようにしてもよい。これにより、継続中の対話において既知となった情報、つまり対話の文脈を考慮してランキング部３４の処理を行うことができる。
【００３２】
発話文候補生成部３２は、入力部１０で受け付けた発話文のテキストを入力として、機械学習モデルを用いた自動発話生成により発話文に対する発話文候補の各々を生成する。発話文候補は、例えばＮｂｅｓｔならＮ個生成することになる。発話候補は、複数生成することを前提にしており、例えばＮ＝５の５ｂｅｓｔなら、５つの発話文候補、Ｎ＝１０の１０ｂｅｓｔなら１０個の発話文候補を生成することになる。本実施の形態では、発話文候補の自動発話生成に、機械学習モデルとしてニューラルネットワークによるencoder-decoderモデル（非特許文献１参照）を用いることを想定するが、これに限定されるものではなくＨＭＭ等別の生成モデルを用いてもよい。
【００３３】
ランキング部３４は、発話文候補生成部３２で生成された発話文候補の各々と、疑問詞探索部３０の推定使用疑問詞の推定結果とに基づいて、発話文候補の各々に対してスコアを計算しすることにより、発話候補の順位付けを行う。
【００３４】
出力部５０は、発話文候補の各々と、ランキング部３４のスコアの計算結果に基づいて発話候補を選択し、選択された発話文候補を、対話システムの応答発話として出力する。
【００３５】
ランキング部３４は、具体的には、発話文候補生成部３２から得られた発話文候補の各々と、疑問詞探索部３０から得られた推定使用疑問詞の推定結果を入力として、以下（１）式に従って、発話文候補の各々のスコアを計算し、発話文候補をランキングする。
【００３６】
T^=argmaxT{log P(T|S)＋log P(S|T)-wh_penalty(T,S)}    ・・・（１）
【００３７】
ここで、Sは入力された発話文のテキスト、Tは発話文候補生成部３２から得られた発話文候補の各々うちの一つの発話文候補である。log P(T|S)は発話文（S）が与えられたときに、応答発話が発話文候補（T）が出現する尤もらしさを表す値、log p(S|T)は発話文候補（T）が与えられたときに、入力が発話文（S）となる尤もらしさを表す値である。これらの値は、入力された発話文Sと、発話文候補の各々であるTとの、対話の対としての尤もらしさを表すものであれば何でもよい。本実施の形態においては、機械学習モデルとして、SからTを生成するよう予め学習済みのニューラルネットワークと、TからSを生成するよう予め学習済みのニューラルネットワークとの、２つのモデルを用いて確率を算出する。SからTを生成するモデルからは、SからTを生成する際の生成確率P(T|S)が得られ、TからSを生成するモデルからは、TからSを生成する際の生成確率P(S|T)が得られる。ただし、P(T|S)のみを用いるようにしてもよい。wh_penalty(T,S)は発話文候補に推定使用疑問詞が含まれるか否かに応じて定まる値である。発話文候補（T）の中に推定使用疑問詞が含まれている場合は、wh_penaltyの値として、ペナルティであるαの値（例えばα＝１）を与える。なお、推定使用疑問詞が含まれていない発話文候補について、選択されやすくなるようなwh_penaltyの値（例えば−１）を与えるようにしてもよい。
【００３８】
ただし、スコアT^を計算する際、Ｎｂｅｓｔを生成した時点で、生成確率がある程度担保される場合には、上記（１）式のうちwh_penaltyの値のみで充分な場合もある。これは、例えば決まりきった応答しか考えられない場合や、Ｎ＝３等、Ｎが少ない場合が考えられる。Ｎ＝３０のように、Ｎの数を多くして発話文候補を増やす場合、十分な生成確率が担保できなくなることもある。この場合、生成確率をスコアに入れて計算することで、入力発話と応答発話の、対話の対としての尤もらしさと、対話の文脈との両方を考慮して、発話文候補にスコアを付与することができる。
【００３９】
以下にランキング部３４の処理の具体例を示す。
【００４０】
発話文候補生成部３２からは、「昨日、私は彼女と横須賀で花見をした。」の入力に対して、「なんで？」、「どこでやってたの？」、「いつの花見？」、「どんな感じだった？」、「誰といったの？」の５つの発話文候補が得られているものとする。
【００４１】
ランキング部３４は、推定使用疑問詞と、発話文候補とを対応付け、図４に示す下線が引いてある箇所のように、発話文候補のうち推定使用疑問詞が使用されている箇所を抽出し、推定使用疑問詞が含まれる発話文候補のwh_penaltyに１を与える。
【００４２】
ランキング部３４は、発話文候補をランキングするために必要なスコアを上記（１）式に従って計算する。発話文候補の各々のスコアの計算結果を図５に示す。
【００４３】
図５の例では、最大のスコアをもつ発話文候補は「どんな感じだったの？」となり、この発話文候補を選択して、対話システムの応答発話として出力部５０に出力する。
【００４４】
以上のように、ランキング部３４は、上記（１）式を用いて、発話文候補のうち、推定使用疑問詞を含む発話文候補と、推定使用疑問詞を含まない発話文候補とを比較し、推定使用疑問詞を含む発話文候補が選択されにくくなるように、発話文候補の各々に対してスコアを計算する。
【００４５】
また、上記（１）式のように、log P(S|T)を考慮することで、例えば、発話文のテキストが「横浜に行ったんです」である場合に発話文候補として「赤レンガに行ったんですか？」が与えられたときの確率が高くなることを考慮できる。これにより、どんな発話にでも対応できる汎用的な疑問詞の質問をしてしまうことの抑制につながる。
【００４６】
＜本発明の実施の形態に係る発話生成装置の作用＞
【００４７】
次に、本発明の実施の形態に係る発話生成装置１００の作用について説明する。入力部１０において対話相手であるユーザが発話した発話文のテキストを受け付けると、発話生成装置１００は、図６に示す発話生成処理ルーチンを実行する。
【００４８】
まず、ステップＳ１００では、疑問詞探索部３０は、入力部１０で受け付けた発話文のテキストに形態素解析をかける。
【００４９】
次に、ステップＳ１０２では、疑問詞探索部３０は、形態素解析の結果から、所定のルールにより、テキストに含まれる発話の内容に関連した疑問詞である推定使用疑問詞の推定を行う。
【００５０】
ステップＳ１０４では、発話文候補生成部３２は、入力部１０で受け付けた発話文のテキストを入力として、機械学習モデルを用いた自動発話生成により発話文に対する発話文候補の各々を生成する。
【００５１】
ステップＳ１０６では、ランキング部３４は、発話文候補生成部３２で生成された発話文候補の各々と、疑問詞探索部３０の推定使用疑問詞の推定結果とに基づいて、発話文候補の各々に対してスコアを計算する。
【００５２】
ステップＳ１０８では、出力部５０は、ステップＳ１０６のスコアの計算結果に基づいて発話文候補を選択し、選択された発話文候補を対話システムの応答発話として出力する。
【００５３】
以上説明したように、本発明の実施の形態に係る発話生成装置によれば、相手の発話を深掘りするための適切な質問をすることができる。例えば、従来技術では、どんな発話にも対応できる質問（例えば、「なんで」、「どうして」等）が多く生成しまうのに対し、本発明の実施の形態に係る発話生成装置では、入力された発話文から、「なんで」、「どうして」に対する内容が既知であれば、「なんで」、「どうして」を含む発話文候補が選択されにくくなる。また、入力された発話文から既知の内容に対応する疑問詞を含む発話文候補が選択されにくくなる。
【００５４】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００５５】
例えば、上述した実施の形態では、ランキング部３４ではスコアが高い発話文候補をランキングする場合を例に説明したが、これに限定されるものではない。例えば、上記（１）式をスコアが低くなるような式に置き換えて設計し、置き換えた式に基づいてスコアを計算して、スコアが低い発話文候補をランキングするようにしてもよい。この場合には、発話文候補（T）の中に推定使用疑問詞が含まれていればwh_penaltyの値はスコアが高くなるように与え、選択されにくくなるように設計する。
【符号の説明】
【００５６】
１０   入力部
２０   演算部
３０   疑問詞探索部
３２   発話文候補生成部
３４   ランキング部
５０   出力部
１００ 発話生成装置
３０１ 形態素解析器
３０２ 使用疑問詞推定部
【図１】
2020064419.tif 000003
【図２】
2020064419.tif 000004
【図３】
2020064419.tif 000005
【図４】
2020064419.tif 000006
【図５】
2020064419.tif 000007
【図６】
2020064419.tif 000008