(57)【要約】【課題】発話生成装置、発話生成方法、及びコンピュータプログラムの提供。【解決手段】入力されたユーザ発話に対して出力すべきシステム発話を生成する発話生成装置であって、前記ユーザ発話に含まれるコンテンツ及びユーザの意図を認識する認識部と、前記認識部が認識したコンテンツから連想される連想語を抽出する抽出部と、前記認識部が認識したユーザの意図を前記システム発話に付与すべき意図へ変換する変換部と、前記抽出部が抽出した連想語と、前記変換部が変換した意図とを含むシステム発話を生成する発話生成部とを備えるとを備える。【選択図】図２
2020102117.tif 000002
【特許請求の範囲】
【請求項１】
入力されたユーザ発話に対して出力すべきシステム発話を生成する発話生成装置であって、
前記ユーザ発話に含まれるコンテンツ及びユーザの意図を認識する認識部と、
前記認識部が認識したコンテンツから連想される連想語を抽出する抽出部と、
前記認識部が認識したユーザの意図を前記システム発話に付与すべき意図へ変換する変換部と、
前記抽出部が抽出した連想語と、前記変換部が変換した意図とを含むシステム発話を生成する発話生成部と
を備える発話生成装置。
【請求項２】
前記抽出部は、前記コンテンツから連想語を抽出する際に、前記連想語に共起する用言又は体言を含む共起表現を併せて抽出し、
前記発話生成部は、抽出した連想語に対する共起表現を含むシステム発話を生成する
請求項１に記載の発話生成装置。
【請求項３】
前記抽出部は、
前記コンテンツから連想される複数の連想語を取得する取得部と、
取得した複数の連想語と、夫々の連想語に共起する用言又は体言を含む複数の共起表現とに基づき、無向グラフを生成する無向グラフ生成部と、
生成した無向グラフに基づき、前記複数の連想語のうちの１又は複数の連想語を含む複数のクラスタを生成するクラスタ生成部と、
生成した複数のクラスタの中から一のクラスタを選択する第１選択部と、
選択した一のクラスタに含まれる連想語の中から一の連想語を選択する第２選択部と、
前記一のクラスタに含まれる何れかの連想語と共起する用言又は体言を含む共起表現の中から一の共起表現を選択する第３選択部と
を備える請求項２に記載の発話生成装置。
【請求項４】
前記第１選択部、前記第２選択部、及び前記第３選択部は、前記クラスタ、前記連想語、及び前記共起表現をそれぞれランダムに選択する
請求項３に記載の発話生成装置。
【請求項５】
前記取得部は、言語空間内に配置した前記コンテンツから所定距離範囲内に位置する複数の連想語を取得する
請求項３又は請求項４に記載の発話生成装置。
【請求項６】
前記連想語は、名詞、動詞、又は形容詞である
請求項１から請求項５の何れか１つに記載の発話生成装置。
【請求項７】
ユーザ発話から認識される意図と、システム発話に付与すべき意図との関係を規定する意図変換テーブル
を備え、
前記変換部は、前記意図変換テーブルを参照し、入力されたユーザ発話から認識した意図を、システム発話に付与すべき意図へ変換する
請求項１から請求項６の何れか１つに記載の発話生成装置。
【請求項８】
前記意図変換テーブルは、システム発話に付与すべき意図の候補を複数含み、
前記変換部は、前記意図変換テーブルに含まれる意図の候補から、システム発話に付与すべき一の意図を選択する
請求項７に記載の発話生成装置。
【請求項９】
ユーザ発話が定型文である場合、前記発話生成部が生成するシステム発話に代えて、定型文を含むシステム発話を出力する定型文出力部
を備える請求項１から請求項８の何れか１つに記載の発話生成装置。
【請求項１０】
ユーザ発話に付随する心的語彙を評価する評価部
を備え、
前記発話生成部は、前記評価部による評価結果に基づき、システム発話を生成する
請求項１から請求項９の何れか１つに記載の発話生成装置。
【請求項１１】
コンピュータを用いて、入力されたユーザ発話に対して出力すべきシステム発話を生成する発話生成方法であって、
前記コンピュータは、
前記ユーザ発話に含まれるコンテンツ及びユーザの意図を認識し、
認識したコンテンツから連想される連想語を抽出し、
認識したユーザの意図を前記システム発話に付与すべき意図へ変換し、
抽出した連想語と、変換後の意図とを含むシステム発話を生成する
発話生成方法。
【請求項１２】
コンピュータに、入力されたユーザ発話に対して出力すべきシステム発話を生成する処理を実行させるためのコンピュータプログラムであって、
前記コンピュータに、
前記ユーザ発話に含まれるコンテンツ及びユーザの意図を認識し、
認識したコンテンツから連想される連想語を抽出し、
認識したユーザの意図を前記システム発話に付与すべき意図へ変換し、
抽出した連想語と、変換後の意図とを含むシステム発話を生成する
処理を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話生成装置、発話生成方法、及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、ユーザ発話を解析し、発話内容に応じた応答を返すことでユーザとの対話を実現する対話装置の開発が進められている。このような対話装置は、例えば、カーナビゲーション装置、及び公共施設等における案内装置等において利用されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１１０５２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような対話装置はタスク指向型であり、質問への応答を目的としているため、癒し、治療、助言、発想支援等のユーザの心的変化を喚起する効果は期待できない。
【０００５】
本発明は、斯かる事情に鑑みてなされたものであり、癒し、治療、助言、発想支援等のユーザの心的変化を喚起する効果を期待できる発話生成装置、発話生成方法、及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願の一態様に係る発話生成装置は、入力されたユーザ発話に対して出力すべきシステム発話を生成する発話生成装置であって、前記ユーザ発話に含まれるコンテンツ及びユーザの意図を認識する認識部と、前記認識部が認識したコンテンツから連想される連想語を抽出する抽出部と、前記認識部が認識したユーザの意図を前記システム発話に付与すべき意図へ変換する変換部と、前記抽出部が抽出した連想語と、前記変換部が変換した意図とを含むシステム発話を生成する発話生成部とを備える。
【０００７】
本願の一態様に係る発話生成方法は、コンピュータを用いて、入力されたユーザ発話に対して出力すべきシステム発話を生成する発話生成方法であって、前記コンピュータは、前記ユーザ発話に含まれるコンテンツ及びユーザの意図を認識し、認識したコンテンツから連想される連想語を抽出し、認識したユーザの意図を前記システム発話に付与すべき意図へ変換し、抽出した連想語と、変換後の意図とを含むシステム発話を生成する。
【０００８】
本願の一態様に係るコンピュータプログラムは、コンピュータに、入力されたユーザ発話に対して出力すべきシステム発話を生成する処理を実行させるためのコンピュータプログラムであって、前記コンピュータに、前記ユーザ発話に含まれるコンテンツ及びユーザの意図を認識し、認識したコンテンツから連想される連想語を抽出し、認識したユーザの意図を前記システム発話に付与すべき意図へ変換し、抽出した連想語と、変換後の意図とを含むシステム発話を生成する処理を実行させるためのコンピュータプログラムである。
【発明の効果】
【０００９】
本願に依れば、癒し、治療、助言、発想支援等のユーザの心的変化を喚起する効果を期待できる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る対話システムの全体構成を説明するブロック図である。
【図２】対話システムにおける対話の一例を示す模式図である。
【図３】発話生成装置の内部構成を説明するブロック図である。
【図４】端末装置の内部構成を説明するブロック図である。
【図５】発話生成処理の概要を説明する説明図である。
【図６】Ｗｏｒｄ２Ｖｅｃによる名詞の抽出例を示す図である。
【図７】本実施の形態におけるクラスタリング手法を説明する説明図である。
【図８】名詞及び共起表現の選択処理について説明する説明図である。
【図９】意図変換テーブルの一例を示す概念図である。
【図１０】意図変換テーブルの一例を示す概念図である。
【図１１】発話生成装置が実行する処理の手順を説明するフローチャートである。
【図１２】実施の形態２に係るシステム発話の生成手法を説明する説明図である。
【発明を実施するための形態】
【００１１】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
（実施の形態１）
図１は実施の形態１に係る対話システムの全体構成を説明するブロック図である。本実施の形態に係る対話システムは、通信網Ｎを介して互いに通信可能に接続される発話生成装置１０と端末装置２０とを備える。端末装置２０は、ユーザによって利用されるパーソナルコンピュータ、スマートフォン、ＡＲ（Augmented Reality）装置などの情報処理端末であり、発話生成装置１０にアクセスするためのアプリケーションプログラムがインストールされているものとする。発話生成装置１０は、例えば、端末装置２０からのアクセスを受付けた場合、ユーザ認証を行い、ユーザ認証に成功した場合、端末装置２０に対して対話サービスを提供する。
【００１２】
図２は対話システムにおける対話の一例を示す模式図である。図２は端末装置２０の表示画面２０Ａに表示される対話文の一例を示している。対話文は、ユーザが端末装置２０を用いて入力するユーザ発話と、ユーザ発話に対する発話生成装置１０の応答であるシステム発話とにより構成されている。本実施の形態では、ユーザ発話及びシステム発話を文字情報として説明するが、音声情報であってもよいことは勿論のことである。
【００１３】
端末装置２０は、ユーザ発話Ｕ０１の入力を受付けた場合、受付けたユーザ発話Ｕ０１を発話生成装置１０へ送信する。発話生成装置１０は、端末装置２０から送信されるユーザ発話Ｕ０１を受信した場合、その応答としてシステム発話Ｓ０１を生成し、生成したシステム発話Ｓ０１を端末装置２０へ送信する。以後、例えば対話の終了を意図する定型文（図２に示す例では、「ばいばい」というユーザ発話Ｕ０６）が端末装置２０に入力されるまでの間、発話生成装置１０は、端末装置２０からユーザ発話Ｕ０２，Ｕ０３，…を受信する都度、システム発話Ｓ０２，Ｓ０３，…を逐次生成し、生成したシステム発話Ｓ０２，Ｓ０３，…を端末装置２０へ返信する。
【００１４】
端末装置２０の表示画面２０Ａには、入力されたユーザ発話Ｕ０１，Ｕ０２，Ｕ０３，…と、発話生成装置１０から受信したシステム発話Ｓ０１，Ｓ０２，Ｓ０３，…とが表示される。図２の例では、表示画面２０Ａの右側に、画面上部から画面下部に向かって時系列順にユーザ発話Ｕ０１〜Ｕ０５が表示されており、表示画面２０Ａの左側に、画面上部から画面下部に向かって時系列順にシステム発話Ｓ０１〜Ｓ０５が表示されている様子を示している。
【００１５】
なお、発話生成装置１０によるシステム発話の生成手法については、後に詳述することとする。
【００１６】
図３は発話生成装置１０の内部構成を説明するブロック図である。発話生成装置１０は、例えばサーバ装置であり、制御部１１、記憶部１２、通信部１３、表示部１４及び操作部１５を備える。
【００１７】
制御部１１は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などにより構成されている。制御部１１が備えるＣＰＵは、ＲＯＭ又は記憶部１２に記憶されている各種コンピュータプログラムをＲＡＭ上に展開して実行することにより、装置全体を本願の発話生成装置として機能させる。
【００１８】
なお、制御部１１は、上記の構成に限定されるものではなく、１又は複数のＣＰＵ、マルチコアＣＰＵ、マイコン等を含む任意の処理回路であればよい。また、制御部１１は、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等の機能を備えていてもよい。
【００１９】
記憶部１２は、ハードディスク装置などの記憶装置により構成されており、各種コンピュータプログラム及び各種データを記憶する。ここで、記憶部１２に記憶されるコンピュータプログラムは、入力されるユーザ発話からシステム発話を生成させる処理を発話生成装置１０に実行させるためのコンピュータプログラム（発話生成プログラム１２０）を含む。
【００２０】
なお、記憶部１２に記憶されるプログラムは、当該プログラムを読み取り可能に記録した非一時的な記録媒体Ｍ１により提供されてもよい。記録媒体Ｍ１は、例えば、ＣＤ−ＲＯＭ、ＵＳＢメモリ、ＳＤ（Secure Digital）カード、マイクロＳＤカード、コンパクトフラッシュ（登録商標）などの可搬型メモリである。この場合、制御部１１は、不図示の読取装置を用いて記録媒体Ｍ１から各種プログラムを読み取り、読み取った各種プログラムを記憶部１２にインストールする。また、記憶部１２に記憶されるプログラムは、通信部１３を介した通信により提供されてもよい。この場合、制御部１１は、通信部１３を通じて各種プログラムを取得し、取得した各種プログラムを記憶部１２にインストールする。
【００２１】
また、記憶部１２に記憶される各種データは、後述する意図変換テーブル１２１、Ｗｏｒｄ２Ｖｅｃデータ１２２を含む。これらのデータの詳細については後に詳述することとする。
【００２２】
通信部１３は、通信網Ｎを通じて端末装置２０と通信を行うためのインタフェースを備える。通信部１３は、端末装置２０へ送信すべき情報が制御部１１から入力された場合、入力された情報を端末装置２０へ送信する共に、通信網Ｎを通じて受信した端末装置２０からの情報を制御部１１へ出力する。
【００２３】
表示部１４は、液晶ディスプレイ、有機ＥＬディスプレイなどの表示デバイスを備え、発話生成装置１０の管理者に対して報知すべき情報を表示する。また、操作部１５は、タッチパネル、各種ボタンを備え、発話生成装置１０の管理者による操作を受付け、受付けた操作情報を制御部１１へ出力する。
【００２４】
なお、本実施の形態では、簡略化のために、発話生成装置１０を１つの装置として記載したが、複数のサーバ装置により構成されてもよく、１又は複数の仮想マシンにより構成されるものであってもよい。
【００２５】
また、本実施の形態では、簡略化のために、発話生成装置１０の記憶部１２が意図変換テーブル１２１、及びＷｏｒｄ２Ｖｅｃデータ１２２を備えるものとして説明するが、１又は複数の外部サーバにこれらのデータを用意しておき、必要に応じて外部サーバにアクセスすることによって、必要なデータを取得する構成としてもよい。
【００２６】
図４は端末装置２０の内部構成を説明するブロック図である。端末装置２０は、例えばサーバ装置であり、パーソナルコンピュータ、スマートフォンなどの情報処理端末であり、制御部２１、記憶部２２、通信部２３、表示部２４及び操作部２５を備える。
【００２７】
制御部２１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭなどにより構成されている。制御部２１が備えるＣＰＵは、ＲＯＭ又は記憶部２２に記憶されている各種コンピュータプログラムをＲＡＭ上に展開して実行することにより、装置全体の動作を制御する。
【００２８】
記憶部２２は、ＥＥＰＲＯＭ（Electronically Erasable Programmable Read Only Memory）などの不揮発性メモリにより構成されており、各種コンピュータプログラム及び各種データを記憶する。ここで、記憶部２２に記憶されるコンピュータプログラムは、発話生成装置１０にアクセスするためのアプリケーションプログラムが含まれる。
【００２９】
通信部２３は、通信網Ｎを通じて発話生成装置１０と通信を行うためのインタフェースを備える。通信部２３は、発話生成装置１０へ送信すべき情報が制御部２１から入力された場合、入力された情報を発話生成装置１０へ送信する共に、通信網Ｎを通じて受信した発話生成装置１０からの情報を制御部２１へ出力する。
【００３０】
表示部２４は、液晶ディスプレイ、有機ＥＬディスプレイなどの表示デバイスを備え、端末装置２０のユーザに対して報知すべき情報（例えば対話文）を表示する。また、操作部２５は、タッチパネル、各種ボタンを備え、端末装置２０のユーザによる操作を受付け、受付けた操作情報を制御部２１へ出力する。
【００３１】
なお、本実施の形態では、端末装置２０が表示部２４を備える構成としたが、表示部２４に代えて、又は表示部２４に加えて、音声出力装置を備える構成としてもよい。この場合、端末装置２０は、ユーザに対して報知すべき情報（例えば対話文）を音声出力装置から音声として出力することが可能である。
【００３２】
以下、発話生成装置１０が実行する発話生成処理について説明する。
図５は発話生成処理の概要を説明する説明図である。発話生成装置１０は、端末装置２０からユーザ発話を受信した場合、まず、受信したユーザ発話からコンテンツ及びユーザの意図を抽出する。このため、発話生成装置１０は、形態素解析の手法を用いて、ユーザ発話を複数の形態素に分解する。図５の例では、端末装置２０から受信したユーザ発話が「学校で学びたい」であった場合、形態素解析により、「学校」、「で」、「学び」、「たい」の４つの形態素に分解されたことを示している。また、端末装置２０から受信したユーザ発話が「技術経営？」であった場合、「技術経営」及び「？」の２つの形態素に分解されたことを示している。
【００３３】
発話生成装置１０は、形態素解析の結果に基づき、主要品詞を取得する。主要品詞は、終端の動詞を起点として、動詞、名詞、形容詞又は形状詞の順にユーザ発話から１又は複数個取得する。発話生成装置１０は、取得した品詞のうち、名詞、動詞、及び形容詞に相当する形態素をコンテンツとして認識する。また、発話生成装置１０は、名詞及び動詞を除く、主として助詞及び助動詞に相当する形態素を意図として認識する。図５の例では、「学校」、「で」、「学び」、「たい」の４つの形態素のうち、「学校」及び「学び」がコンテンツとして認識され、「たい」をユーザの意図（この場合、願望）として認識されたことを示している。また、「技術経営」及び「？」の２つの形態素のうち、「技術経営」がコンテンツとして認識され、「？」がユーザの意図（この場合、疑問）として認識されたことを示している。なお、発話生成装置１０が抽出するユーザの意図には、ユーザの性格、感情、対話状況に関する情報が含まれてもよい。
【００３４】
発話生成装置１０は、認識したコンテンツから連想される連想語を抽出する処理を実行する。本実施の形態では、コンテンツから連想される連想語として名詞を抽出する構成について説明するが、連想語は動詞であってもよく、形容詞であってもよい。発話生成装置１０は、主格名詞又は初期名詞をテーマとして保持しつつ、直近のユーザ発話の主要品詞、直近のシステム発話の名詞、動詞又は形容詞、テーマを合成し、Ｗｏｒｄ２Ｖｅｃデータ１２２を参照して、名詞を設定した数だけ抽出する。例えば、２つ目のユーザ発話である「技術経営？」に含まれるコンテンツから名詞を連想する際、「技術経営」というコンテンツだけでなく、直近のユーザ発話、又はシステム発話に含まれるコンテンツ（「学校」及び「学び」）を加味して名詞を連想することができる。コンテンツから連想される複数の名詞を抽出した後、発話生成装置１０は、抽出した名詞群の中から、システム発話に含めるべき名詞を１つ選択する。また、選択した名詞と共起する用言を含む共起表現が必要に応じて抽出される。なお、コンテンツから抽出される連想語が動詞又は形容詞である場合、動詞又は形容詞に共起する体言を含む共起表現を抽出してもよい。
【００３５】
本実施の形態では、認識したコンテンツから連想される名詞を抽出する際に、Ｗｏｒｄ２Ｖｅｃデータ１２２を用いる構成としたが、Ｗｏｒｄ２Ｖｅｃデータ１２２に限らず、ＧｌｏＶｅ、ＦａｓｔＴｅｘｔなどの各単語の関係性をベクトル表現化したデータを用いて、認識コンテンツから連想される名詞を抽出する構成としてもよいことは勿論のことである。
【００３６】
また、本実施の形態では、認識されるコンテンツから連想語を抽出する構成としたが、設定した用語を加えることによって、意図的に連想を偏らせる構成としてもよい。例えば、「物理学」といった用語を加えることによって、物理学に近い概念に連想を偏らせることも可能である。
【００３７】
なお、本実施形態では、ユーザ発話に含まれるコンテンツと同一のコンテンツを選択すること（パロット）を許容する。図５の例では、１つ目のユーザ発話である「学校で学びたい」に含まれるコンテンツの「学び」に対して、パロットによりシステム発話のコンテンツが選択されたことを示している。
【００３８】
発話生成装置１０は、意図変換テーブル１２１を利用して、ユーザ発話から認識したユーザの意図を、システム発話に付与すべき意図へ変換する処理を実行する。なお、本実施の形態では、変換後の意図が元のユーザ発話から認識したユーザの意図と同一であることを許容する。図５に示す例では、１つ目のユーザ発話に含まれるユーザの意図（願望）がシステム発話の意図（願望）に変換され、２つ目のユーザ発話に含まれるユーザの意図（疑問）がシステム発話の意図（願望）に変換されたことを示している。
【００３９】
発話生成装置１０は、抽出した名詞と、変換後の意図とを含むシステム発話を生成する。図５の例では、１つ目のユーザ発話「学校で学びたい」に対して、パロットにより選択されたコンテンツ（「学び」）と、変換後の意図（「たい」）とを含む「私も学びたいよ」といったシステム発話が生成されたことを示している。また、２つ目のユーザ発話に対して、連想により抽出された名詞（コンテンツ）である「概論」、この名詞と共起する用言を含む共起表現である「を取る」、及び変換後の意図（「たい」）を含む「概論を取りたいです」といったシステム発話が生成されたことを示している。
【００４０】
発話生成装置１０は、端末装置２０からユーザ発話を受信する都度、システム発話を生成し、その都度、端末装置２０へ返信する。端末装置２０は、入力されたユーザ発話、及び発話生成装置１０から受信したシステム発話を表示部２４に時系列順に表示させる。
【００４１】
以下、ユーザ発話に含まれるコンテンツから連想される名詞を抽出する処理の詳細について説明する。
【００４２】
図６はＷｏｒｄ２Ｖｅｃによる名詞の抽出例を示す図である。発話生成装置１０は、ユーザ発話から認識したコンテンツに基づき、Ｗｏｒｄ２Ｖｅｃデータ１２２からコンテンツに連想される名詞を取得する。コンテンツから連想される名詞は、Ｗｏｒｄ２Ｖｅｃデータ１２２からコンテンツの近傍語彙として抽出される。近傍語彙は、言語空間内において、対象のコンテンツから所定距離範囲内に位置する語彙であり、コンテンツと各語彙との間のコサイン距離に基づき判別される。図６の例では、「意味は？」といったユーザ発話に含まれるコンテンツ（この例では「意味」）に基づき、Ｗｏｒｄ２Ｖｅｃデータ１２２から取得した近傍語彙の一部を示している。取得した近傍語彙には、「いみ」、「わけ」、「意図」、「真意」、「ニュアンス」、…といった名詞の他に、「分かる」といった動詞が含まれることが分かる。このように、Ｗｏｒｄ２Ｖｅｃデータ１２２から得られる近傍語彙には、名詞だけでなく、動詞（又は形容詞）等が含まれる可能性があるが、本実施の形態においては、名詞以外の動詞、形容詞等は抽出対象から除外される。
【００４３】
本実施の形態では、言語資源の偏りに伴う発話性能の制限を緩和するために、抽出した名詞に関してクラスタリングを行う。例えば、言語資源として、「炭酸水−を飲む」、「水−を飲む、水−が美味しい」しか存在しない場合、「炭酸水」に対しては、「を飲む」という助詞及び動詞が一意に接続されることになる。すなわち、ユーザ発話から連想される名詞が「炭酸水」であった場合、システム発話としては「炭酸水を飲む」といった発話しか生成できないことになる。これに対し、「を飲む」という点で「炭酸水」と「水」とが同一のクラスタとしてクラスタリングできれば、「炭酸水」に対して、「を飲む」又は「が美味しい」の何れかを選択できるようになるので、「炭酸水を飲む」といったシステム発話の他に、「炭酸水が美味しい」といったシステム発話の生成が可能となる。このように、クラスタリングによって、発話として自然に接続できる助詞及び動詞（形容詞）の可能性を広げることができる。
【００４４】
図７は本実施の形態におけるクラスタリング手法を説明する説明図である。本実施の形態では、無向グラフとＫｍｅａｎｓ＋＋とを用いて、Ｗｏｒｄ２Ｖｅｃデータ１２２から取得した名詞をクラスタリングする。例として、ユーザ発話から認識したコンテンツである「意味」、及び、その近傍語彙としてＷｏｒｄ２Ｖｅｃデータ１２２から取得した名詞である「いみ」、「わけ」、「意図」、「真意」、「ニュアンス」、「真偽」、「文脈」、「仕組み」、「理由」の合計１０個の名詞をクラスタリングする処理について説明する。発話生成装置１０は、取得した１０個の名詞、並びに、各名詞に共起する用言を含む共起表現に基づき、無向グラフを生成する。共起表現には、例えば、各名詞に共起する動詞（又は形容詞）と、名詞及び動詞（又は形容詞）を接続する助詞を含む。各名詞は、それぞれに接続される共起表現の多寡に応じて、無向グラフ上に分散して配置される。
【００４５】
発話生成装置１０は、無向グラフ上に配置した１０個の名詞をＫｍｅａｎｓ＋＋を用いてクラスタリングする。Ｋｍｅａｎｓ＋＋によるクラスタリングでは、分割したいクラスタの数だけ重心を置き、各データ（この例では名詞）を最も近い重心に関連付ける処理と、関連付けたデータの平均値に重心を移動させる処理とを繰り返すことによって、クラスタを決定する。なお、Ｋｍｅａｎｓ＋＋では、クラスタの数は予め設定しておく必要があるが、エルボー法を利用して、分割するクラスタの数を自動的に設定する構成としてもよい。
【００４６】
図７に示した例では、「意味」、「ニュアンス」、「文脈」の３つの名詞が第１のクラスタ、「真偽」、「真意」、「意図」の３つの名詞が第２のクラスタ、「わけ」、「いみ」、「仕組み」、「理由」の４つの名詞が第３のクラスタにクラスタリングされたことを示している。
【００４７】
なお、本実施の形態では、簡略化のために１０個の名詞を３つのクラスタにクラスタリングする構成について説明したが、クラスタリングの対象となる名詞の数及びクラスタの数は図７に示した例に限定されるものではない。例えば、コンテンツから取得される名詞の数が５０個程度となる場合があるが、このとき、クラスタリングによって８〜１６個程度のクラスタが生成され得る。
【００４８】
発話生成装置１０は、クラスタリングの結果を参照して、システム発話に含める名詞及び共起表現を選択する。
【００４９】
図８は名詞及び共起表現の選択処理について説明する説明図である。図８では、ユーザ発話に基づき認識したコンテンツから複数の名詞を抽出し、システム発話に含める名詞及び共起表現を選択するまでの処理の流れを模式的に示している。発話生成装置１０は、ユーザ発話に基づきコンテンツを認識した場合、上述したように、そのコンテンツから連想される名詞をＷｏｒｄ２Ｖｅｃデータ１２２から抽出する。また、発話生成装置１０は、抽出した名詞のそれぞれと共起する用言を含む共起表現を併せて読み込む。共起表現は、例えば、助詞及び動詞、又は、助詞及び形容詞を含む。なお、Ｗｏｒｄ２Ｖｅｃデータ１２２から抽出する名詞は、元のユーザ発話から認識したコンテンツと同一（パロット）であってもよい。また、名詞と併せて読み込む共起表現は、元のユーザ発話に含まれる共起表現と同一（パロット）であってもよい。図８において、パロットとして抽出された名詞及び共起表現は、ハッチングを付して示している。
【００５０】
発話生成装置１０は、Ｗｏｒｄ２Ｖｅｃデータ１２２から抽出した名詞、及び併せて読み込んだ共起表現が得られた場合、上述したように、無向グラフを生成し、Ｋｍｅａｎｓ＋＋の手法を用いてクラスタリングを行う。図８の例では、ｎ個のクラスタが生成され、第１クラスタには３つの名詞、第ｎクラスタにはパロットを含む４つの名詞が含まれることを示している。各クラスタに関連付けられる共起表現は、各クラスタ内に含まれる名詞のそれぞれと共起する用言を含む共起表現の集合である。すなわち、「炭酸水」の共起表現に「が美味しい」が含まれない場合であっても、「炭酸水」と同一のクラスタに含まれる「水」の共起表現として、「が美味しい」が含まれる場合、このクラスタ内には、「が美味しい」が含まれることになる。
【００５１】
発話生成装置１０は、システム発話に含める名詞及び共起表現を選択する際、まず、生成されたクラスタの中からランダムに１つのクラスタを選択する。次いで、発話生成装置１０は、選択したクラスタに含まれる名詞の中から、ランダムに１つの名詞を選択し、そのクラスタに関連付けられている共起表現の集合の中から、ランダムに１つの共起表現を選択する。図８に示した例では、第１クラスタ〜第ｎクラスタの中から第ｎクラスタを選択し、選択した第ｎクラスタから名詞を１つ選択すると共に、第ｎクラスタに関連付けられている共起表現の集合から共起表現を１つ選択したことを示している。
なお、ユーザ発話に対して、オウム返しを行う場合、パロットとして含まれる名詞及び共起表現が選択される。
【００５２】
以上の処理により、発話生成装置１０は、システム発話に含める名詞及び共起表現を抽出することができる。
【００５３】
次に、発話生成装置１０は、ユーザ発話から認識した意図を、システム発話に付与すべき意図へ変換する処理を実行する。本実施の形態では、ユーザ発話における意図と、システム発話における意図との関係を規定する意図変換テーブル１２１を用いて意図変換を行う。
【００５４】
図９及び図１０は意図変換テーブル１２１の一例を示す概念図である。意図変換テーブル１２１は、図９に示す第１テーブル１２１Ａと、図１０に示す第２テーブル１２１Ｂとにより構成される。
【００５５】
図９に示す第１テーブル１２１Ａの第１列目は、ユーザ発話の意図を分類したタグを表し、第２列目〜第１０列目は、システム発話の意図として選択される候補を表している。本実施の形態では、ユーザ発話を［現在・肯定・通常文］、［過去・肯定・通常文］、［※１・否定・通常文］、［現在・肯定・疑問文］、［過去・肯定・疑問文］、［※１・否定・疑問文］、［現在・肯定・７Ｗ２Ｈ］、［過去・肯定・７Ｗ２Ｈ］、［※１・否定・７Ｗ２Ｈ］の９つの意図に分類する。
【００５６】
例えば、ユーザ発話が「勉強をしたかった」である場合、［過去・肯定・通常文］に分類されるので、第１テーブル１２１Ａの例では、「０ｘ０００００００２」の行が選択の候補となる。すなわち、システム発話の意図は「０ｘ００００００００」〜「０ｘＦＦＦＦＣ０００」が候補となり、発話生成装置１０は、予め設定している重みによりランダムでシステム発話の候補を選択する。
【００５７】
発話生成装置１０は、システム発話の候補として、例えば「０ｘ００００００００」を選択した場合、第１テーブル１２１Ａに登録されているページ番号（この例では１０ページ）を参照し、該当ページの第２テーブル１２１Ｂを記憶部１２から読出す。
【００５８】
図１０は記憶部１２から読み出した１０ページ目の第２テーブル１２１Ｂを示している。第２テーブル１２１Ｂへのインプットとしては、ユーザ発話の意図タグのみを使用する。ここで、上述したユーザ発話「勉強をしたかった」は「主体・願望」を表すので、第２テーブル１２１Ｂにおける「主体・願望」の行が選択候補となる。すなわち、システム発話における意図の候補は、「可能・通常」、「可能・願望」、「主体・願望」、「主体・希望」、「義務」、「提案」の６つとなる。発話生成装置１０は、予め設定している重みによりランダムでシステム発話における意図の候補を選択する。例えば、重み付きランダムにより、「提案」を選択した場合、ユーザ発話の意図（主体・願望）は、システム発話に付与すべき意図（提案）に変換されることになる。
【００５９】
なお、「主体・願望」の行と、「提案」の列とが交差する欄には、６つのＳが記載されているが、これらは、名詞連想の可否、及び動詞（形容詞）連想の可否を制御するための制御子である。何れかのＳが選択された場合、名詞を連想する／名詞を連想しない、および、動詞（形容詞）を連想する／動詞（形容詞）を連想しないの何れかが決定される。
【００６０】
また、ユーザ発話からコンテンツを認識する際に、ユーザ発話の意図の情報を考慮して、コンテンツを認識してもよい。
【００６１】
本実施の形態では、意図変換テーブル１２１を用いて、ユーザ発話から認識した意図を、システム発話に付与すべき意図へ変換する構成としたが、複数のテーブルを用意しておき、パラメトリックにテーブルを選択してもよく、選択パラメータを他の情報と結び付けて動的に変更する構成としてもよい。更に、対話データを用いて、意図変換テーブル１２１を機械学習させてもよい。
【００６２】
また、ユーザの属性、感情、性格、キャラクタ設定、会話の状態、会話の流れといったパラメータを用いて、ユーザ発話から認識した意図を、システム発話に付与すべき意図に変換してもよい。
【００６３】
以下、発話生成装置１０が実行する処理の手順を説明する。
図１１は発話生成装置１０が実行する処理の手順を説明するフローチャートである。発話生成装置１０の制御部１１は、通信部１３を通じて、端末装置２０から送信されるユーザ発話の入力を受付ける（ステップＳ１０１）。制御部１１は、入力されたユーザ発話について定型文であるか否かを判断し（ステップＳ１０２）、定型文であると判断した場合（Ｓ１０２：ＹＥＳ）、システム発話として定型文を出力する（ステップＳ１０３）。制御部１１から出力されるシステム発話は、通信部１３を通じて、端末装置２０へ送信される。
【００６４】
定型文でないと判断した場合（Ｓ１０２：ＮＯ）、制御部１１は、ユーザ発話からコンテンツ及び意図を認識する（ステップＳ１０４）。すなわち、制御部１１は、ユーザ発話について形態素解析を行うことによって主要品詞を取得し、取得した品詞のうち、名詞に相当する形態素をコンテンツとして認識し、名詞、動詞、及び形容詞を除く形態素に基づきユーザの意図を認識する。
【００６５】
次いで、制御部１１は、Ｗｏｒｄ２Ｖｅｃデータ１２２を参照し、認識したコンテンツから連想される名詞を抽出する（ステップＳ１０５）。このとき、制御部１１は、抽出した名詞のそれぞれに接続される共起表現の読み出しを行う。
【００６６】
次いで、制御部１１は、抽出した名詞及び共起表現に基づき無向グラフを生成し（ステップＳ１０６）、生成した無向グラフ上に配置される名詞をクラスタリングする（ステップＳ１０７）。クラスタリングには、例えばＫｍｅａｎｓ＋＋による手法が用いられる。また、必要に応じてエルボー法を用いることにより、分割するクラスタ数を自動的に設定してもよい。
【００６７】
次いで、制御部１１は、ステップＳ１０７で生成されるクラスタの中から一のクラスタをランダムに選択する（ステップＳ１０８）。更に、制御部１１は、選択したクラスタに含まれる名詞の中から一の名詞をランダムに選択すると共に、そのクラスタに関連付けられている共起表現の集合の中から一の共起表現をランダムに選択する（ステップＳ１０９）。
【００６８】
次いで、制御部１１は、意図変換テーブル１２１を参照し、ユーザ発話の意図を、システム発話に付与すべき意図へ変換する（ステップＳ１１０）。なお、本実施の形態では、ユーザ発話に含まれるコンテンツから連想される名詞を抽出し、システム発話に含める名詞及び共起表現を選択した後に、意図変換を行う手順を示したが、意図変換を実行した後に、ユーザ発話に含まれるコンテンツから連想される名詞を抽出し、システム発話に含める名詞及び共起表現を選択した後に、意図変換を行う手順であってもよく、これらの手順を同時並行的に行ってもよい。
【００６９】
次いで、制御部１１は、ステップＳ１０９で選択した名詞及び共起表現、並びにステップＳ１１０で変換したシステム発話の意図を用いて、システム発話を生成する（ステップＳ１１１）。このとき、制御部１１は、共起表現に含まれる動詞又は形容詞がシステム発話の意図と適切に接続されるように、動詞又は形容詞の活用を適宜変換する。制御部１１によって生成されたシステム発話は、通信部１３を通じて、端末装置２０へ送信される。
【００７０】
以上のように、本実施の形態では、ユーザ発話に含まれるコンテンツと意図とを認識した上で、コンテンツから連想される複数の名詞と、これらの名詞に共起する用言を含む共起表現とを活用して、システム発話を生成するので、シナリオといった予め定めたパターンに依存せずに対話を進めることができる。この結果、ユーザに対して、癒し、治療、助言、発想支援等の心的変化の喚起を目的とした対話環境を提供することができる。
【００７１】
なお、本実施の形態では、ユーザ発話を基にシステム発話を生成する構成としたが、例えばスマートフォンやＡＲ装置などの端末装置２０から得られる、視覚、聴覚、加速度、カレンダー、メール等のマルチモーダルな情報を補助的に用いて、システム発話を生成してもよい。
【００７２】
更に、ユーザに関する情報、及びシステム発話を発するキャラクタの情報を記憶部１２に格納し、これらの情報を加味して、システム発話を生成してもよい。
【００７３】
（実施の形態２）
実施の形態２では、コンテンツに付随する心的語彙を評価し、評価結果に基づきシステム発話を生成する構成について説明する。
なお、システムの全体構成、並びに、発話生成装置１０及び端末装置２０の内部構成は実施の形態１と同様であるため、その説明を省略することとする。
【００７４】
図１２は実施の形態２に係るシステム発話の生成手法を説明する説明図である。実施の形態２では、「二日酔いです」といったユーザ発話に対して、「辛いね」といったシステム発話を生成することを目的としている。発話生成装置１０にユーザ発話が入力された場合、実施の形態１と同様に、形態素解析を用いて主要品詞に分解し、コンテンツを認識する。例えば「二日酔いです」といったユーザ発話からは、「二日酔い」がコンテンツとして認識される。
【００７５】
次いで、発話生成装置１０は、Ｗｏｒｄ２Ｖｅｃデータ１２２を用いて、「二日酔い」と、（嬉しい、悲しい）、（安心、心配）、（楽しい、苦痛）といった心的語彙との間のコサイン距離を算出し、その２点間のコサイン距離が閾値を超えた場合に、どちらの意図に近いのかを判断するＳｅｎｓ分析を行う。図１２の例では、「苦痛」とのコサイン距離が１に近く、かつ閾値を超えていると評価していることを示している。
【００７６】
発話生成装置１０は、評価結果である「苦痛」と関連付けて記憶されているシステム発話（図１２の例では「辛い」）を、発話テンプレートから取得し、システム発話として「辛いね」を生成する。
【００７７】
実施の形態２におけるＳｅｎｓ分析によるシステム発話の生成は、常時実行する必要はなく、ランダムに実施してもよい。
【００７８】
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００７９】
１０  発話生成装置
１１  制御部
１２  記憶部
１２０  発話生成プログラム
１２１  意図変換テーブル
１２２  Ｗｏｒｄ２Ｖｅｃデータ
１３  通信部
１４  表示部
１５  操作部
２０  端末装置
２１  制御部
２２  記憶部
２３  通信部
２４  表示部
２５  操作部
【図１】
2020102117.tif 000003
【図２】
2020102117.tif 000004
【図３】
2020102117.tif 000005
【図４】
2020102117.tif 000006
【図５】
2020102117.tif 000007
【図６】
2020102117.tif 000008
【図７】
2020102117.tif 000009
【図８】
2020102117.tif 000010
【図９】
2020102117.tif 000011
【図１０】
2020102117.tif 000012
【図１１】
2020102117.tif 000013
【図１２】
2020102117.tif 000014