(57)【要約】【課題】会話を深掘りする質問文を生成するための対話データを低コストに生成することができるようにする。【解決手段】対話データ生成部１１０が、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、当該第１発話文に対する応答である第２発話文と、当該第１のユーザが発話した文であって、当該第２発話文に対する応答である第３発話文との組からなる複数のデータの各々について、当該データの第２発話文が、疑問詞を用いた質問文である場合に、当該データの第１発話文と、当該データの第２発話文との組を対話データとして生成する。【選択図】図１
2019197363.tif 000002
【特許請求の範囲】
【請求項１】
第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、前記第１発話文に対する応答である第２発話文と、前記第１のユーザが発話した文であって、前記第２発話文に対する応答である第３発話文との組からなる複数のデータの入力を受け付ける入力部と、
前記入力部が受け付けた前記複数のデータの各々について、前記データの前記第２発話文が、疑問詞を用いた質問文である場合に、前記データの前記第１発話文と、前記データの前記第２発話文との組を対話データとして生成する対話データ生成部と、
を備えることを特徴とする対話データ生成装置。
【請求項２】
前記対話データ生成部は、前記入力部が受け付けた前記複数のデータの各々について、前記データの前記第２発話文が、時制、場所、主体、対象、理由、方法、程度、又は状態に関する疑問詞を含み、かつ、疑問文である場合に、前記データの前記第１発話文と、前記データの前記第２発話文との組を対話データとして生成する
ことを特徴とする請求項１記載の対話データ生成装置。
【請求項３】
前記対話データ生成部により得られた複数の対話データの各々について、前記対話データに含まれる前記第１発話文を入力としたときに、前記対話データに含まれる前記第２発話文を出力するように、入力された文から文を生成するニューラルネットワークを学習する質問生成モデル学習部
を更に備えることを特徴とする請求項１又は２記載の対話データ生成装置。
【請求項４】
入力された発話文を、前記ニューラルネットワークに入力し、前記ニューラルネットワークの出力を、前記発話文に対する質問文とする質問文生成部
を更に備えることを特徴とする請求項３記載の対話データ生成装置。
【請求項５】
入力部が、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、前記第１発話文に対する応答である第２発話文と、前記第１のユーザが発話した文であって、前記第２発話文に対する応答である第３発話文との組からなる複数のデータの入力を受け付け、
対話データ生成部が、前記入力部が受け付けた前記複数のデータの各々について、前記データの前記第２発話文が、疑問詞を用いた質問文である場合に、前記データの前記第１発話文と、前記データの前記第２発話文との組を対話データとして生成する
を特徴とする対話データ生成方法。
【請求項６】
コンピュータを、請求項１乃至４の何れか１項記載の対話データ生成装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話データ生成装置、対話データ生成方法、およびプログラムに係り、特に、対話システムにおいて質問文を生成するための対話データ生成装置、対話データ生成方法、およびプログラムに関する。
【背景技術】
【０００２】
ユーザとの間で対話を行う対話システムは、大きく分けて、タスク指向型対話システムと非タスク指向型対話システムの二種類に分けられる。
【０００３】
タスク指向型対話システムは、特定のタスクをシステムとの対話により達成するものである。例えば、フライトの予約システムや、天気情報案内システム（非特許文献１）に用いられている。これらのシステムでは、一般的にフレーム（スロット名とスロット値からなるスロットから構成される）という構造を持ち、フレームに基づいて対話が進行する。
【０００４】
タスク指向型対話システムでは、このような構造を持っているため、埋まっていないスロットを聞く質問文を生成して、相手の情報を聞き出すということができる。
【０００５】
一方、非タスク指向型対話システムは、目的のない対話を扱い、対話の内容はいわゆる雑談である。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ryuichiro Higashinaka, Katsuhito Sudoh, Mikio Nakano, "Incorporating Discourse Features into Confidence Scoring of Intention Recognition Results in Spoken Dialogue Systems", Speech Communication, Volume 48, Issues 3-4, 2006, pp.417-436.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、雑談には、様々な話題が含まれるため、タスク指向型対話システムと異なり、スロットという構造は持っておらず、どういった疑問詞を用いて質問をすれば良いのかということは自明ではない。
【０００８】
このため、非タスク指向型対話システムでは、相手の発話を深掘りする質問文を生成することは困難である、という問題があった。
【０００９】
このような問題を解決すべく、従来の非タスク指向型対話システムでは、ルールベースによる手法や、機械学習による手法によって、ユーザとの対話を実現している。
【００１０】
しかし、ルールベースによる手法では、人手でルールを記載するため、対話を幅広く深掘りするためには、大量のルールを人手で作成する必要がある、という問題があった。
【００１１】
また、機械学習の手法では、相手の発話に対する質問文である発話といったデータが世の中に存在しておらず、十分に学習するためのデータ量を用意することが困難である。すなわち、質問文生成を目的とした機械学習のためのコーパス（学習用データ）を用意することが困難である、という問題があった。
【００１２】
まとめると、従来の非タスク指向型対話システムでは、低コストに対話を深掘りする対話システムを実現することができないため、対話システムとユーザとのインタラクションを円滑にすることができない、という問題があった。
【００１３】
本発明は上記の点に鑑みてなされたものであり、会話を深掘りする質問文を生成するための対話データを低コストに生成することができる対話データ生成装置、対話データ生成方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明に係る対話データ生成装置は、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、前記第１発話文に対する応答である第２発話文と、前記第１のユーザが発話した文であって、前記第２発話文に対する応答である第３発話文との組からなる複数のデータの入力を受け付ける入力部と、前記入力部が受け付けた前記複数のデータの各々について、前記データの前記第２発話文が、疑問詞を用いた質問文である場合に、前記データの前記第１発話文と、前記データの前記第２発話文との組を対話データとして生成する対話データ生成部と、を備えて構成される。
【００１５】
また、本発明に係る対話データ生成方法は、入力部が、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、前記第１発話文に対する応答である第２発話文と、前記第１のユーザが発話した文であって、前記第２発話文に対する応答である第３発話文との組からなる複数のデータの入力を受け付け、対話データ生成部が、前記入力部が受け付けた前記複数のデータの各々について、前記データの前記第２発話文が、疑問詞を用いた質問文である場合に、前記データの前記第１発話文と、前記データの前記第２発話文との組を対話データとして生成する。
【００１６】
本発明に係る対話データ生成装置及び対話データ生成方法によれば、入力部が、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、当該第１発話文に対する応答である第２発話文と、第１のユーザが発話した文であって、当該第２発話文に対する応答である第３発話文との組からなる複数のデータの入力を受け付ける。
【００１７】
そして、対話データ生成部が、入力部が受け付けた複数のデータの各々について、当該データの第２発話文が、疑問詞を用いた質問文である場合に、当該データの第１発話文と、当該データの第２発話文との組を対話データとして生成する。
【００１８】
このように、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、当該第１発話文に対する応答である第２発話文と、当該第１のユーザが発話した文であって、当該第２発話文に対する応答である第３発話文との組からなる複数のデータの各々について、当該データの第２発話文が、疑問詞を用いた質問文である場合に、当該データの第１発話文と、当該データの第２発話文との組を対話データとして生成することにより、会話を深掘りする質問文を生成するための対話データを低コストに生成することができる。
【００１９】
また、本発明に係る対話データ生成装置の前記対話データ生成部は、前記入力部が受け付けた前記複数のデータの各々について、前記データの前記第２発話文が、時制、場所、主体、対象、理由、方法、程度、又は状態に関する疑問詞を含み、かつ、疑問文である場合に、前記データの前記第１発話文と、前記データの前記第２発話文との組を対話データとして生成することができる。
【００２０】
また、本発明に係る対話データ生成装置は、前記対話データ生成部により得られた複数の対話データの各々について、前記対話データに含まれる前記第１発話文を入力としたときに、前記対話データに含まれる前記第２発話文を出力するように、入力された文から文を生成するニューラルネットワークを学習する質問生成モデル学習部を更に備えることができる。
【００２１】
また、本発明に係る対話データ生成装置は、入力された発話文を、前記ニューラルネットワークに入力し、前記ニューラルネットワークの出力を、前記発話文に対する質問文とする質問文生成部を更に備えることができる。
【００２２】
本発明に係るプログラムは、上記の対話データ生成装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２３】
本発明の対話データ生成装置、対話データ生成方法、およびプログラムによれば、会話を深掘りする質問文を生成するための対話データを低コストに生成することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態に係る対話データ生成装置の構成を示す概略図である。
【図２】本発明の実施の形態に係る対話データ生成装置の入力部が受け付けるデータの例を示すイメージ図である。
【図３】本発明の実施の形態に係る対話データ生成装置の入力部が受け付けるデータの例を示すイメージ図である。
【図４】本発明の実施の形態に係る対話データ生成装置の対話データ生成部が生成する対話データの例を示すイメージ図である。
【図５】本発明の実施の形態に係る対話データ生成装置のモデル学習処理ルーチンを示すフローチャートである。
【図６】本発明の実施の形態に係る対話データ生成装置の質問文生成処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について図面を用いて説明する。
【００２６】
＜本発明の実施の形態に係る対話データ生成装置の構成＞
図１を参照して、本発明の実施の形態に係る対話データ生成装置１０の構成について説明する。図１は、本発明の実施の形態に係る対話データ生成装置１０の構成を示すブロック図である。
【００２７】
対話データ生成装置１０は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチン及び質問文生成処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。
【００２８】
図１に示すように、本実施形態に係る対話データ生成装置１０は、入力部１００、対話データ生成部１１０と、質問生成モデル学習部１２０と、質問生成モデル記憶部１３０と、入力部１４０と、質問文生成部１５０と、出力部１６０とを備えて構成される。
【００２９】
入力部１００は、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、当該第１発話文に対する応答である第２発話文と、当該第１のユーザが発話した文であって、当該第２発話文に対する応答である第３発話文との組からなる複数のデータの入力を受け付ける。
【００３０】
当該複数のデータは、チャットシステムや、発話文を投稿するソーシャルネットワーキングサービス（ＳＮＳ）等から、第１のユーザの発話である第１発話文と、第２のユーザによる第１発話文に対する応答である第２発話文と、第１のユーザによる第２発話文に対する応答である第３発話文との組を予め抜き出して収集したものである。
【００３１】
例えば、図２に示すように、第１のユーザであるＡから『この間京都に行ったよ』という発話があったとすると、これを第１発話文とする。そして、第２のユーザであるＢから、第１発話文に対して、『なにしに行ったの？』という応答があったとすると、これを第２発話文とする。更に、ユーザＡから、第２発話文に対して、『紅葉を見に行ってきたよ。きれいだった。』という応答があったとすると、これを第３発話文とする。
【００３２】
なお、公開されているインターネット上のチャットシステムやＳＮＳ等から、自動的にこれらを収集する装置等により、当該複数のデータが入力部１００に入力されるように構成してもよい。
【００３３】
そして、入力部１００は、このような第１発話文と、第２発話文と、第３発話文との組からなる複数のデータの入力を受け付けると、対話データ生成部１１０に当該複数のデータを渡す。
【００３４】
対話データ生成部１１０は、入力部１００が受け付けた複数のデータの各々について、当該データの第２発話文が、時制、場所、主体、対象、理由、方法、程度、又は状態に関する疑問詞を含み、かつ、疑問文である場合に、当該データの第１発話文と、当該データの第２発話文との組を対話データとして生成する。
【００３５】
具体的には、まず、対話データ生成部１１０は、複数のデータの各々について、当該データの第２発話文が、疑問文であり、かつ、「いつ、どこ、誰が、なにしに、なんで、どのように、どんな」等、いわゆる５Ｗ１Ｈ（Ｗｈｅｎ、Ｗｈｅｒｅ、Ｗｈｏ、Ｗｈａｔ、Ｗｈｙ、Ｈｏｗ）について質問する際の疑問詞を含むか否かを判定する。
【００３６】
すなわち、対話データ生成部１１０は、単なる疑問文の発話（例えば「？」で終わっている発話等）を判定するのではなく、５Ｗ１Ｈの質問かどうかを判定する。
【００３７】
なぜなら、雑談対話は、可能な限り長く対話を続けることが必要とされるため、Ｙｅｓ／Ｎｏで答えられるような質問だと、相手がその質問に答えたところで対話が終了してしまう。
【００３８】
そこで、発話の内容を深掘りするような質問をすることにより、対話が継続できるようにすべく、５Ｗ１Ｈによる質問文により対話データを作成する。なお、５Ｗ１Ｈに限定されるものでなく、誰に（Ｗｈｏｍ）、誰の（Ｗｈｏｓｅ）等、Ｙｅｓ／Ｎｏで答えられるような質問でない場合に用いられる疑問詞であれば、何でもよい。
【００３９】
例えば、図３のような複数のデータの各々について、１番上のデータの第２発話文『なにしにいったの』という発話は、「なにしに」という対象について質問する際に用いられる疑問詞である単語を含んだ質問文である。このため、対話データ生成部１１０は、当該データの第１発話文である『この間京都に行った。』及び当該第２発話文の組を対話データとする。
【００４０】
また、例えば、図３において１番下のデータの第２発話文『金曜日といえば、飲み会ですよね？』は、質問文ではあるものの、Ｙｅｓ／Ｎｏで答えることができる質問であるため、対話データ生成部１１０は、当該データの第１発話文及び第２発話文の組を対話データとしない。
【００４１】
また、第２発話文の直後の第３発話文が、第１のユーザによる第２発話文に対する応答であるものであるため、疑問詞を用いた質問文である第２発話文は、発話の内容を深掘りする質問文としての質が高いと考えられる。
【００４２】
また、対話データ生成部１１０は、５Ｗ１Ｈを用いて質問している質問文であるか否かの判定に、予め学習した判定器を用いてもよい。
【００４３】
そして、対話データ生成部１１０は、生成した複数の対話データを、質問生成モデル学習部１２０に渡す。
【００４４】
質問生成モデル学習部１２０は、複数の対話データの各々について、当該対話データに含まれる第１発話文を入力としたときに、当該対話データに含まれる当該第２発話文を出力するように、入力された文から文を生成するニューラルネットワークを学習する。
【００４５】
具体的には、質問生成モデル学習部１２０は、対話データ生成部１１０により生成された複数の対話データの各々について、当該対話データの第１発話文を発話文として入力した場合に、当該発話文への応答となる質問文が当該対話データの第２発話文となるように、入力された文から文を生成するニューラルネットワークである質問生成モデルを学習する（図４）。
【００４６】
例えば、質問生成モデルを、Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒの枠組みで学習する。すなわち、当該対話データの第１発話文を発話文（入力）として入力し、当該対話データの第２発話文を質問文（出力）となるように、Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒを用いて質問生成モデルを学習する（例えば、参考文献１）。
［参考文献１］Oriol Vinyals, Quoc Le, "A Neural Conversational Model", [online], 2015, インターネット<URL:https://arxiv.org/abs/1506.05869>.
【００４７】
そして、質問生成モデル学習部１２０は、学習した質問生成モデルを、質問生成モデル記憶部１３０に格納する。
【００４８】
質問生成モデル記憶部１３０は、学習済みの質問生成モデルを格納している。
【００４９】
入力部１４０は、対話システムやユーザ等から発話文の入力を受け付け、当該発話文を質問文生成部１５０に渡す。
【００５０】
質問文生成部１５０は、入力された発話文を、ニューラルネットワークに入力し、当該ニューラルネットワークの出力を、当該発話文に対する質問文とする。
【００５１】
具体的には、まず、質問文生成部１５０は、質問生成モデル記憶部１３０から質問生成モデルを取得する。
【００５２】
次に、質問文生成部１５０は、入力部１４０から発話文を取得すると、取得した質問生成モデルに当該発話文を入力して、疑問詞を用いた質問文を生成する。
【００５３】
ここで、Ｅｎｃｏｄｅｒ−Ｄｅｃｏｄｅｒを用いる事で、生成された何れの対話データの第１発話文に該当しなくても、疑問詞を用いた質問文を生成することができる。
【００５４】
そして、質問文生成部１５０は、生成した質問文を、出力部１６０に渡す。
【００５５】
出力部１６０は、生成された質問文を出力する。例えば、対話システムの発話として、当該対話システムと対話しているユーザに対して、当該質問文を表示する等の方法により出力する。
【００５６】
＜本発明の実施の形態に係る対話データ生成装置の作用＞
図５は、本発明の実施の形態に係るモデル学習処理ルーチンを示すフローチャートである。
【００５７】
入力部１００にデータが入力されると、対話データ生成装置１０において、図５に示すモデル学習処理ルーチンが実行される。
【００５８】
まず、ステップＳ１００において、入力部１００が、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、当該第１発話文に対する応答である第２発話文と、当該第１のユーザが発話した文であって、当該第２発話文に対する応答である第３発話文との組からなる複数のデータの入力を受け付ける。
【００５９】
ステップＳ１１０において、対話データ生成部１１０は、上記ステップＳ１００により受け付けた複数のデータのうち、１番目のデータを選択する。
【００６０】
ステップＳ１２０において、対話データ生成部１１０は、当該データの第２発話文が、時制、場所、主体、対象、理由、方法、程度、又は状態に関する疑問詞を含む質問文であるか否かを判定する。
【００６１】
選択されているデータの第２発話文が、疑問詞を含む質問文でない場合（ステップＳ１２０のＮＯ）、ステップＳ１４０に進む。
【００６２】
一方、選択されているデータの第２発話文が、疑問詞を含む質問文である場合（ステップＳ１２０のＹＥＳ）、ステップＳ１３０において、対話データ生成部１１０は、当該データの第１発話文と、当該データの第２発話文との組を対話データとして生成する。
【００６３】
ステップＳ１４０において、対話データ生成部１１０は、入力された複数のデータの全てについて、上記処理を行ったか否かを判定する。
【００６４】
全てのデータについて処理していない場合（ステップＳ１４０のＮＯ）、ステップＳ１５０において、対話データ生成部１１０は、次のデータを選択する。
【００６５】
一方、全てのデータについて処理している場合（ステップＳ１４０のＹＥＳ）、ステップＳ１６０において、質問生成モデル学習部１２０は、生成された複数の対話データの各々について、当該対話データに含まれる第１発話文を入力としたときに、当該対話データに含まれる当該第２発話文を出力するように、入力された文から文を生成するニューラルネットワークを学習する。
【００６６】
ステップＳ１７０において、質問生成モデル学習部１２０は、学習したニューラルネットワークを、質問生成モデル記憶部１３０に格納する。
【００６７】
図６は、本発明の実施の形態に係る質問文生成処理ルーチンを示すフローチャートである。
【００６８】
入力部１４０に発話文が入力されると、対話データ生成装置１０において、図６に示す質問文生成処理ルーチンが実行される。
【００６９】
まず、ステップＳ２００において、入力部１４０が、対話システムやユーザ等から発話文の入力を受け付ける。
【００７０】
ステップＳ２１０において、質問文生成部１５０は、質問生成モデル記憶部１３０からニューラルネットワークを取得する。
【００７１】
ステップＳ２２０において、質問文生成部１５０は、入力された発話文を、ニューラルネットワークに入力し、当該ニューラルネットワークの出力を、当該発話文に対する質問文とする。
【００７２】
ステップＳ２３０において、出力部１６０は、生成された質問文を出力する。
【００７３】
以上説明したように、本発明の実施形態に係る対話データ生成装置によれば、第１のユーザが発話した文である第１発話文と、第２のユーザが発話した文であって、当該第１発話文に対する応答である第２発話文と、当該第１のユーザが発話した文であって、当該第２発話文に対する応答である第３発話文との組からなる複数のデータの各々について、当該データの第２発話文が、当該第２発話文に対する応答が肯定文又は否定文とならない質問文である場合に、当該データの第１発話文及び第２発話文を対話データとすることにより、会話を深掘りする質問文を生成するための対話データを低コストに生成することができる。
【００７４】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００７５】
上述の実施形態では、質問文生成部１５０は、複数の対話データに基づいて学習されたニューラルネットワークを用いて質問文を生成したが、これに限定されるものではなく、生成された複数の対話データを用いて、質問文を生成してもよい。
【００７６】
例えば、入力された発話文が、生成された複数の対話データの何れかの対話データの第１発話文と同一、又は最も類似する場合に、当該対話データの第２発話文を質問文として生成してもよい。
【００７７】
また、複数の対話データを雑談対話のシナリオとして利用してもよい。
【００７８】
また、上述の実施形態では、第３発話文を、第２発話文に対して第１発話文を発話した者による応答であるか否かという観点でのみ用い、チャットシステムや発話文を投稿するソーシャルネットワーキングサービス（ＳＮＳ）等から収集される、第１発話文と第２発話文と、第３発話文との組からなるデータを入力とする場合を例に説明したが、これに限定されるものではない。
【００７９】
第３発話文が、第２発話文に対する応答として適切であるか否かを判断し、第３発話文が、第２発話文に対する応答として適切であると判断されたもののみ、第１発話文と、第２発話文と、第３発話文との組からなるデータとして入力するようにしてもよい。
【００８０】
これにより、対話データとして生成される第２発話文について、深掘りするための質問文としての質を更に高めることができる。
【００８１】
なお、第３発話文が、第２発話文に対する応答として適切であるか否かの判断は、目視で確認した結果の入力を受け付ける方法、第２発話文と第３発話文との関係が応答関係にあるか否かを自動的に判定する方法等を用いることができる。
【００８２】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【００８３】
１０   対話データ生成装置
１００ 入力部
１１０ 対話データ生成部
１２０ 質問生成モデル学習部
１３０ 質問生成モデル記憶部
１４０ 入力部
１５０ 質問文生成部
１６０ 出力部
【図１】
2019197363.tif 000003
【図２】
2019197363.tif 000004
【図３】
2019197363.tif 000005
【図４】
2019197363.tif 000006
【図５】
2019197363.tif 000007
【図６】
2019197363.tif 000008