(57)【要約】【課題】ユーザに合わせたタイミングでエージェント発話を選択することができるようにする。【解決手段】詳細化ラベル付与部２２が、入力されたユーザの発話に基づいて、発話の詳細化ラベルを付与し、データベース更新部２３が、発話の詳細化ラベルと、発話の発話時刻とをユーザ履歴データベース２４に記録する。第２エージェント発話選択部３３が、発話間隔データベース３０に格納された詳細化ラベル毎の発話間隔と詳細化ラベル毎の最終発話時刻とに基づいて、発話候補データベース２７に格納された、詳細化ラベルが付与された発話文から、エージェント発話を選択する。【選択図】図１
2017125921.tif 000002
【特許請求の範囲】
【請求項１】
入力されたユーザの発話に基づいて、前記発話の詳細化ラベルを付与する詳細化ラベル付与部と、
前記詳細化ラベル付与部によって付与された前記発話の詳細化ラベルと、前記発話の発話時刻とをユーザ履歴データベースに記録するデータベース更新部と、
予め求められた詳細化ラベル毎の発話間隔と、前記ユーザ履歴データベースから得られる詳細化ラベル毎の最終発話時刻とに基づいて、予め生成された、前記詳細化ラベルが付与された発話文から、エージェント発話を選択するエージェント発話選択部と、
を含む発話選択装置。
【請求項２】
前記詳細化ラベルを、発話の焦点よりも抽象化したラベルとした請求項１記載の発話選択装置。
【請求項３】
対話履歴を含む大規模データから求められる前記詳細化ラベル毎の発話間隔と、前記ユーザ履歴データベースから求められる前記詳細化ラベル毎の発話間隔とに基づいて、前記詳細化ラベル毎の発話間隔を計算する発話間隔計算部を更に含み、
前記エージェント発話選択部は、前記発話間隔計算部によって計算された前記詳細化ラベル毎の発話間隔と、前記ユーザ履歴データベースから得られる詳細化ラベル毎の最終発話時刻とに基づいて、前記詳細化ラベルを選択し、前記選択した前記詳細化ラベルが付与された発話文を、前記エージェント発話として選択する請求項１又は２記載の発話選択装置。
【請求項４】
前記発話間隔計算部は、前記詳細化ラベル毎に、前記大規模データから求められる前記詳細化ラベルの発話間隔の平均及び分散と、前記ユーザ履歴データベースから求められる前記詳細化ラベルの発話間隔の平均及び分散と、前記ユーザ履歴データベースに含まれる前記詳細化ラベルの発話数に応じた信頼度とに基づいて、前記詳細化ラベルの発話間隔を計算する請求項３記載の発話選択装置。
【請求項５】
前記入力されたユーザの発話から、対話における発話の意図を表す対話行為タイプを推定するユーザ発話内容理解部と、
前記ユーザ発話内容理解部によって推定された前記対話行為タイプに基づいて、エージェント発話の対話行為タイプを選択する対話管理部と、
前記発話に基づいて、話題を変更すべきか否かを判定する話題継続判定部とを更に含み、
前記エージェント発話選択部は、前記話題継続判定部によって話題を変更すべきでないと判定された場合、前記対話管理部によって選択された前記エージェント発話の対話行為タイプに基づいて、予め生成された、前記対話行為タイプが付与された発話文から、前記エージェント発話を選択し、
前記話題継続判定部によって話題を変更すべきであると判定された場合、前記詳細化ラベル毎の発話間隔と、前記ユーザ履歴データベースから得られる詳細化ラベル毎の最終発話時刻とに基づいて、前記詳細化ラベルが付与された発話文から、エージェント発話を選択する請求項１〜請求項４の何れか１項記載の発話選択装置。
【請求項６】
前記詳細化ラベル付与部は、前記ユーザ発話内容理解部によって推定された対話行為タイプが自己開示に対応する対話行為タイプである場合、前記発話の詳細化ラベルを付与し、
前記データベース更新部は、前記ユーザ発話内容理解部によって推定された対話行為タイプが自己開示に対応する対話行為タイプである場合、前記詳細化ラベル付与部によって付与された前記発話の詳細化ラベルと、前記発話の発話時刻とを前記ユーザ履歴データベースに記録する請求項５記載の発話選択装置。
【請求項７】
詳細化ラベル付与部、データベース更新部、及びエージェント発話選択部を含む発話選択装置における発話選択方法であって、
前記詳細化ラベル付与部が、入力されたユーザの発話に基づいて、前記発話の詳細化ラベルを付与し、
前記データベース更新部が、前記詳細化ラベル付与部によって付与された前記発話の詳細化ラベルと、前記発話の発話時刻とをユーザ履歴データベースに記録し、
前記エージェント発話選択部が、予め求められた詳細化ラベル毎の発話間隔と、前記ユーザ履歴データベースから得られる詳細化ラベル毎の最終発話時刻とに基づいて、予め生成された、前記詳細化ラベルが付与された発話文から、エージェント発話を選択する
発話選択方法。
【請求項８】
コンピュータを、請求項１〜請求項６の何れか１項記載の発話選択装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの発話に対するエージェント発話を選択するための発話選択装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザの発話を解析し、ユーザ発話の意味内容を示す対話行為タイプを求めることで、対話行為タイプに基づいた発話を返すシステムがあった（特許文献1）。具体的には、対話装置が自己開示、共感、非共感の応答を行う生起確率を予め与えられたパラメータに従って決定することによって、ユーザに対して次に行う対話内容を制御している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５２８６０６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の対話装置では、エージェント側に対話のイニシアチブがある場合、発話内容を選択する基準は対話の焦点に合致するか否かしかなく、焦点のみで発話内容が絞り込めない場合は確率的に発話文が選択されていたため、エージェント側が話題（焦点の有無を含め）を選べるシーンでは焦点や発話文がランダムに選択されていて、適切なタイミングで発話することができなかった。
【０００５】
本発明は、上記の事情に鑑みてなされたもので、ユーザに合わせたタイミングでエージェント発話を選択することができる発話選択装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の発話選択装置は、入力されたユーザの発話に基づいて、前記発話の詳細化ラベルを付与する詳細化ラベル付与部と、前記詳細化ラベル付与部によって付与された前記発話の詳細化ラベルと、前記発話の発話時刻とをユーザ履歴データベースに記録するデータベース更新部と、予め求められた詳細化ラベル毎の発話間隔と、前記ユーザ履歴データベースから得られる詳細化ラベル毎の最終発話時刻とに基づいて、予め生成された、前記詳細化ラベルが付与された発話文から、エージェント発話を選択するエージェント発話選択部とを含んで構成されている。
【０００７】
本発明の発話選択方法は、詳細化ラベル付与部、データベース更新部、及びエージェント発話選択部を含む発話選択装置における発話選択方法であって、前記詳細化ラベル付与部が、入力されたユーザの発話に基づいて、前記発話の詳細化ラベルを付与し、前記データベース更新部が、前記詳細化ラベル付与部によって付与された前記発話の詳細化ラベルと、前記発話の発話時刻とをユーザ履歴データベースに記録し、前記エージェント発話選択部が、予め求められた詳細化ラベル毎の発話間隔と、前記ユーザ履歴データベースから得られる詳細化ラベル毎の最終発話時刻とに基づいて、予め生成された、前記詳細化ラベルが付与された発話文から、エージェント発話を選択する。
【０００８】
本発明に係るプログラムは、コンピュータを、本発明の発話選択装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【０００９】
以上説明したように、本発明の発話選択装置、方法、及びプログラムによれば、入力されたユーザの発話に基づいて、詳細化ラベルを付与して、ユーザ履歴データベースに記録し、詳細化ラベル毎の発話間隔と、詳細化ラベル毎の最終発話時刻とに基づいて、詳細化ラベルが付与された発話文から、エージェント発話を選択することにより、ユーザに合わせたタイミングでエージェント発話を選択することができる、という効果が得られる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係る発話選択装置の構成の一例を示す図である。
【図２】本発明の実施の形態のユーザ履歴データベースに格納されるデータの一例を示す図である。
【図３】本発明の実施の形態の発話候補データベースに格納されるデータの一例を示す図である。
【図４】本発明の実施の形態の発話間隔データベースに格納されるデータの一例を示す図である。
【図５】本発明の実施の形態に係る対話処理ルーチンのフローチャートの一例である。
【発明を実施するための形態】
【００１１】
＜概要＞
まず、本発明の実施の形態の概要について説明する。
【００１２】
本発明の実施の形態は、ユーザとの社会的対話を行うための対話装置に関し、特にユーザの発話に対する質問文を、ユーザとの対話履歴に関連づけて発話する技術に関するものである。
【００１３】
本発明の実施の形態では、ユーザの発話の履歴に対して、ラベルを付与して、ラベル毎に発話間隔を計算する。ここで、発話間隔を計算する際、焦点ごとの発話間隔では、パタンを読み取れるほど十分な履歴が存在しない場合が多い。
【００１４】
そこで、本実施の形態では、焦点を抽象化した詳細化ラベルを用いる。このように焦点をそのまま用いずに、焦点を抽象化した詳細化ラベルを用いることにより、多くの焦点について発話間隔を計算することができる。
【００１５】
また、対話開始時には、対話中のユーザの発話履歴情報が発話間隔を計算するのに不十分である。そこで、本実施の形態では、ツイッター（Ｒ）や他ユーザの対話履歴など大規模データから、詳細化ラベル毎に一般的な発話間隔を計算し、対話中のユーザの発話履歴から求めた発話間隔と組み合わせて使う。これにより、対話中のユーザの発話履歴から求めた発話間隔が不十分な場合を補うことができる。
【００１６】
また、上記２つの発話間隔を組み合わせる際、可能な限り対話中のユーザの対話履歴から求めた発話間隔を用いたほうが、よりパーソナライズできる。そこで、本実施の形態ででは、大規模データから求められる詳細化ラベルの発話間隔の平均及び分散と、ユーザの対話履歴から求められる詳細化ラベルの発話間隔の平均及び分散と、ユーザの対話履歴に含まれる詳細化ラベルの発話数に応じた信頼度とに基づいて、詳細化ラベルの発話間隔を計算する。これにより、発話履歴が不十分な対話開始時には、一般的な発話間隔を使い、対話履歴が十分な際には対話中のユーザに特化した発話間隔を使うことができる。
【００１７】
＜発話選択装置の構成＞
以下、図面を参照して本発明の実施の形態を詳細に説明する。図１は、本実施の形態に係る発話選択装置の構成の一例を示す図である。なお、本発明の実施の形態では、ユーザとエージェントとが対話を行うものとする。ユーザはエージェントに対して発話を発し、当該発話は発話選択装置に入力される。また、エージェントは、発話選択装置によって出力された発話をユーザに対して発するものとする。
【００１８】
本実施の形態に係る発話選択装置１００は、ＣＰＵと、ＲＡＭと、後述する対話処理ルーチンを実行するためのプログラム及び各種データを記憶したＲＯＭとを備えたコンピュータで構成されている。また、記憶手段としてＨＤＤを設けてもよい。
【００１９】
このコンピュータは、機能的には、図１に示すように、入力部１０、演算部２０、及び出力部４０を含んだ構成で表わすことができる。
【００２０】
入力部１０は、ユーザの発話の入力を受け付ける。
【００２１】
演算部２０は、ユーザ発話内容理解部２１と、詳細化ラベル付与部２２と、データベース更新部２３と、ユーザ履歴データベース２４と、対話管理部２５と、発話生成部２６と、発話候補データベース２７と、発話間隔計算部２８と、大規模データ２９と、発話間隔データベース３０と、話題継続判定部３１と、第１エージェント発話選択部３２と、第２エージェント発話選択部３３とを備えている。
【００２２】
ユーザ発話内容理解部２１は、入力部１０によって受け付けたユーザの発話から、述語項構造を抽出すると共に、対話における発話の意図を表す対話行為タイプを推定する。述語項構造は、述語と当該述語に対応する格の要素である格要素との組み合わせである。
【００２３】
具体的には、ユーザ発話内容理解部２１は、ユーザがエージェントに対して発した発話の入力を受け付け、当該発話に対して形態素解析、述語項構造解析、焦点抽出、及び対話行為タイプの推定の各処理を行う。
【００２４】
ユーザ発話内容理解部２１は、まず、入力部１０によって受け付けた発話に対して形態素解析を行う。次に、ユーザ発話内容理解部２１は、形態素解析結果に基づいて当該発話の係り受け解析を行い、形態素解析結果と係り受け解析結果とに基づいて、述語項構造解析を行って、当該発話の述語項構造を取得する。
【００２５】
例えば、「ラーメンが好きです。」というユーザの発話が入力された場合、ユーザ発話内容理解部２１は、「ラーメン（名詞）/が（助詞）/好き（名詞:形容）/です（判定詞）」というように、形態素解析を行う。そして、ユーザ発話内容理解部２１は、形態素解析結果に基づいて、当該発話に対して係り受け解析を行い、形態素解析結果及び係り受け解析結果に基づいて、述語項構造解析によって、「ラーメン：が：好き」という述語項構造を得る。
【００２６】
また、ユーザ発話内容理解部２１は、入力部１０によって受け付けた発話の焦点を抽出する。焦点とは、対話における話題を表す単語である。例えば、ユーザ発話内容理解部２１は、入力部１０によって受け付けた発話の述語項構造解析結果に基づいて、提題助詞の「は」で示される名詞や、ガ格・ヲ格で提示される名詞を焦点として抽出する。
【００２７】
例えば、ユーザ発話内容理解部２１は、形態素解析結果に基づいて、焦点抽出によって、「ラーメン」を当該発話の焦点として抽出する。
【００２８】
そして、ユーザ発話内容理解部２１は、入力部１０によって受け付けた発話の対話行為タイプを推定する。例えば、ユーザ発話内容理解部２１は、当該発話内の単語に基づいて、単語特徴量を抽出し、当該単語特徴量から、対話行為タイプを推定する推定器を用いて、対話行為タイプを推定する。ここで、推定器は、機械学習の手法によって予め構築しておけばよい。例えば、文書分類で一般的に用いられる手法である、サポートベクトルマシンなどを用いて構築することができる。
【００２９】
例えば、ユーザ発話内容理解部２１は、形態素解析結果に基づいて、対話行為推定によって、当該発話が発話者自身のことを伝える対話行為タイプである「自己開示_評価＋」を推定する。
【００３０】
詳細化ラベル付与部２２は、ユーザ発話内容理解部２１によって得られた発話の形態素解析結果に基づいて、当該発話の、焦点より抽象化された詳細化ラベルを付与する。
【００３１】
本実施の形態では、発話の話題を示すトピックラベルと、発話がユーザのどういう側面の情報かを示す人物属性ラベルとの組み合わせを、詳細化ラベルとして付与する。
【００３２】
トピックラベルの付与に関しては、例えば、ユーザ発話の単語素性、及び直前発話の単語素性に基づいて分類される、ユーザ発話のトピックを抽出する。具体的には、複数種類のトピックから、適切なカテゴリを１つ選択し、トピックを抽出する。トピックラベルの分類には、周知の機械学習技術を用いる。
【００３３】
また、人物属性ラベルの付与に関しては、ユーザ発話の単語素性、及び直前発話の単語素性に基づいて分類される、ユーザ発話が表している人物属性を抽出する。人物属性の分類には、周知の機械学習技術を用いる。
【００３４】
トピック抽出及び人物属性のための素性としては、形態素解析結果から得られるユーザ発話と直前発話中との単語の表記、および、各単語に紐づく日本語語彙大系のカテゴリを素性として用いる。あるいは素性に発話中の機能語および副詞を追加しても良い。
【００３５】
例えば、ユーザ発話「ラーメンが好きです」に対しては、トピックラベルとして「グルメ」、人物属性ラベルとして「趣味嗜好」が付与される。
【００３６】
なお、本実施の形態では、詳細化ラベルとして、トピックラベルと人物属性ラベルとの組み合わせを用いる場合を例に説明したが、これに限定されるものではなく、トピックラベルのみでもよし、また、人物属性ラベルのみでもよい。その他、焦点を抽象化したものであれば何でもよい。ただし、詳細化ラベルとして、システム構築時に用いる対話履歴データ（ユーザ対話履歴、ツイッター（Ｒ）等）において、同一ユーザの発話（投稿）内で出現パタンが読み取り可能な抽象度であることが必要である。これは、発話間隔を計算するためである。
【００３７】
データベース更新部２３は、ユーザ発話内容理解部２１によって推定された述語項構造及び対話行為タイプと、詳細化ラベル付与部２２によって付与されたトピックラベル及び人物属性ラベルとを入力とし、ユーザ発話内容理解部２１によって推定された対話行為タイプが自己開示に対応する対話行為タイプである当該ユーザの発話について、抽出された述語項構造と推定された対話行為タイプと付与されたトピックラベル及び人物属性ラベルと発話時刻との組み合わせを、ユーザ履歴データベース２４に格納する。
【００３８】
具体的には、データベース更新部２３は、ユーザ発話内容理解部２１によって抽出された述語項構造と、対話行為タイプとに基づいて、対話行為タイプがユーザ自身のことを発話しているという意味の「自己開示」から始まる場合に、該当する述語項構造を、後述するユーザ履歴データベース２４へ格納する。例えば、上述の例では、データベース更新部２３は、自己開示_評価＋の「ラーメン：が：好き」、「グルメ」、「趣味嗜好」をユーザ履歴データベース２４に格納する。
【００３９】
ユーザ履歴データベース２４には、対話行為タイプが「自己開示」から始まる対話行為タイプである場合の、対話行為タイプと述語項構造とトピックラベルと人物属性と発話時刻との組み合わせが格納される。ユーザ履歴データベース２４に格納されるデータの一例を、図２に示す。
【００４０】
対話管理部２５は、ユーザ発話内容理解部２１によって推定された対話行為タイプに基づいて、エージェント発話の対話行為タイプを選択する。対話管理部２５は、ユーザ発話内容理解部２１によって抽出された対話行為タイプに基づいて、次のエージェントの発話としてふさわしい対話行為タイプを選択する。具体的には、対話管理部２５は、３３種類の対話行為タイプを、直前とその前の対話行為タイプから選択する（詳細については上記特許文献１を参照。）。例えば、上記の例の場合では、直前の発話の対話行為タイプが「自己開示＿評価＋」なので、対話行為タイプ「質問＿評価＋」が次のエージェント発話の対話行為タイプとして選ばれる。
【００４１】
発話生成部２６は、ユーザ履歴データベース２４を入力とし、ユーザに対する発話文を生成し、当該発話文に対して、テンプレートに対して予め定められた発話文の対話行為タイプを付与する。
【００４２】
具体的には、発話生成部２６は、ユーザ履歴データベース２４に格納された対話行為タイプと述語項構造との組み合わせの各々について、話題を変えたり、広げたりするための発話文を生成する。発話生成部２６は、発話文を生成する際、発話生成のテンプレートを用意しておき、ユーザ履歴データベース２４に格納されている述語項構造の情報をテンプレートの空白部分に埋め込み、発話文と当該発話文の対話行為タイプとの組み合わせを出力する。
【００４３】
例えば、テンプレートとして、「ＩＦ  対話行為タイプ＝自己開示＿評価＋ ＴＨＥＮ ＜項＞の他に何＜格＞＜述語＞ですか？（対話行為タイプ＝質問＿評価＋）」を用いると、ユーザ履歴データベース２４中の対話行為タイプ「自己開示＿評価＋」及び述語項構造の組み合わせから、例えば、「先日おっしゃっていたラーメンの他に何が好きですか？」という発話文が生成され、対話行為タイプ「質問＿評価＋」が付与される。
【００４４】
他にも、テンプレートとして、「ＩＦ  対話行為タイプ＝自己開示＿経験  ＴＨＥＮ  ＜項＞以外にはどこに＜述語＞ことがありますか？（対話行為タイプ＝質問＿経験）」を用いると、「イギリス以外にはどこに行ったことがありますか？」という発話文が生成され、対話行為タイプ「質問＿経験」が付与される。
【００４５】
そして、発話生成部２６は、生成した発話文と対話行為タイプの組み合わせの各々を、発話候補データベース２７に格納する。このとき、発話候補データベース２７には、焦点＝＊として、生成した発話文と、該当する対話行為タイプと、発話生成のもとになったユーザ履歴データベース２４中の発話に付与されているトピックラベル及び人物属性ラベルとの組み合わせが格納される。焦点が”＊”のものは、後述する第２エージェント発話選択部３３によるエージェント発話の選択において、どんな焦点でもよいという意味を表す。
【００４６】
発話候補データベース２７には、エージェントがユーザに対して発するためのエージェント発話の候補が複数記憶されている。エージェント発話の候補は、焦点と対話行為タイプと発話文とトピックラベルと人物属性ラベルとの組み合わせを表すデータである。図３に発話候補データベース２７に格納されるエージェント発話の候補の一例を示す。発話候補データベース２７に格納されているエージェント発話の候補には、発話生成部２６によって生成された発話文が含まれている。
【００４７】
発話間隔計算部２８は、オフライン処理として対話履歴を含む大規模データ２９から求められる詳細化ラベル毎の発話間隔と、オンライン処理としてユーザ履歴データベース２４から求められる詳細化ラベル毎の発話間隔とに基づいて、詳細化ラベル毎の発話間隔を計算する。
【００４８】
具体的には、オンライン処理として、ユーザ履歴データベース２４から、詳細化ラベルごとに、当該詳細化ラベルの発話情報を抽出し、抽出した発話情報の発話時刻に基づいて、当該詳細化ラベルｕの発話間隔の平均(Au)と分散(Vu )を求める。また、発話間隔の平均と分散の算出に利用した、当該詳細化ラベルｕの発話数ｎuに基づく信頼度Ｃuを求める。
【００４９】
詳細化ラベルｕの信頼度Ｃuは、発話数ｎuが少ないと大きく、発話数ｎuが多いと小さくなるようにする。ただし、信頼度Ｃu＞０である。例えば、Ｃu＝１／ｌｏｇ（ｎu）とする。
【００５０】
また、オフライン処理として、事前に、大量の対話履歴やTwitter（Ｒ）(対話でなくて投稿で良い)）を格納した大規模データ２９に対して、ユーザ発話内容理解部２１と詳細化ラベル付与部２２と同様の処理を実施し、得られた大量の発話情報から、詳細化ラベルｇごとに、上記のオンライン処理と同様に、当該詳細化ラベルｇの発話間隔の平均(Ag)と分散(Vg)を求める。
【００５１】
そして、詳細化ラベル毎に、ユーザ履歴データベース２４と大規模データ２９からそれぞれ得られた発話間隔の平均時間Ａu、Agとその分散Ｖu、Ｖg、信頼度Ｃuをもとに、適切な発話間隔Ｉｎｔｅｒｖａｌを算出する。ユーザ履歴データベース２４からの算出結果が変われば、発話間隔Ｉｎｔｅｒｖａｌも再計算する。
【００５２】
例えば、詳細化ラベルｕ，ｇが同一であるとすると、発話間隔Ｉｎｔｅｒｖａｌは、以下の式によって算出される。
【００５３】
【数１】
2017125921.tif 000003
【００５４】
上記の式では、分散を用いた重み付けで、分散が小さいほうの重みを大きくするために、重みαの分子は、相手方の値としている。
【００５５】
例えば、詳細化ラベル「グルメと趣味嗜好との組み合わせ」に対しては、発話間隔Ｉｎｔｅｒｖａｌは１週間、詳細化ラベル「グルメと経験との組み合わせ」に対しては、発話間隔Ｉｎｔｅｒｖａｌは２．５日と算出される。
【００５６】
発話間隔計算部２８は、計算した詳細化ラベル毎の発話間隔を発話間隔データベース３０に格納する。
【００５７】
発話間隔データベース３０には、図４に示すように、計算した詳細化ラベル毎の発話間隔が、ユーザ履歴データベース２４から得られる各詳細化ラベルの最終発話時刻と共に記憶されている。
【００５８】
話題継続判定部３１は、エージェントとユーザとの間の対話における発話列に基づいて、話題を変更すべきか否かを判定する。
【００５９】
例えば、最後がユーザ発話である発話列から、各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、予め学習された分類モデルに基づいて、話題を変更すべきか否かを判定する。各素性として、発話中の単語、発話中の単語n-gram、発話中の単語の意味カテゴリ、発話に対応する概念ベクトル、発話中の文末表現、発話中のポジティブ表現やネガティブ表現の文字列、発話中の文字数、及び発話中の文字種を用いることができる。
【００６０】
上記のように判定することにより、焦点がある場合においても、ユーザの反応から、システムが話題を変えるべきかを判定することができる。
【００６１】
話題継続判定部３１は、話題を変更すべきであると判定した場合は、現在の焦点を”*”で上書きし、第２エージェント発話選択部３３へ出力し、話題を継続すべきと判定した場合は、現在の焦点をそのまま第１エージェント発話選択部３２へ出力する。
【００６２】
第１エージェント発話選択部３２は、話題継続判定部３１から現在の焦点がそのまま出力された場合に、発話候補データベース２７から、対話管理部２５によって選択されたエージェント発話の対話行為タイプが付与され、かつユーザ発話内容理解部２１によって抽出された焦点に対応する発話文を、エージェント発話として選択する。
【００６３】
例えば、第１エージェント発話選択部３２は、上記の例の場合に、ユーザ発話内容理解部２１によって抽出された焦点情報「ラーメン」と、対話管理部２５によって決定された次のエージェント発話の対話行為タイプ「質問＿評価＋」とを含む検索クエリを用いて、発話候補データベース２７から検索する。例えば、上記の例の場合では、図３に示す「何系が好きですか？」や「何が好きですか？」が選択される。なお、例えば「何系が好きですか？」はラーメンの話題を深掘りするための質問であり、「何が好きですか？」は話題を変えたり、広げたりするための質問である。
【００６４】
第２エージェント発話選択部３３は、話題継続判定部３１から「焦点＝＊」が出力された場合（焦点が与えられていない場合）に、発話間隔データベース３０に記憶されている、詳細化ラベル毎の発話間隔、及び詳細化ラベル毎の最終発話時刻に基づいて、詳細化ラベルを選択し、発話候補データベース２７から、選択された詳細化ラベルが付与された発話文を、エージェント発話として選択する。
【００６５】
具体的には、発話間隔データベース３０及び現在時刻Ｎｏｗを参照し、各詳細化ラベル(トピックラベルと人物属性ラベルの組み合わせ)ごとに、最終発話時刻Ｌａｓｔを取得し、現在時刻との差分時間（＝Ｎｏｗ−Ｌａｓｔ）を算出する。
【００６６】
次に、発話間隔データベース３０中の発話間隔Ｉｎｔｅｒｖａｌと上記の差分時間との差(絶対値)Ｄｉｆｆを以下の式に従って求める。
【００６７】
Ｄｉｆｆ＝｜Ｉｎｔｅｒｖａｌ−（Ｎｏｗ−Ｌａｓｔ）｜
【００６８】
詳細化ラベルごとに差Ｄｉｆｆを計算し、最も差Ｄｉｆｆの値が小さい詳細化ラベルを選択し、選択された詳細化ラベルが付与された発話文を発話候補データベース２７から選択し、エージェント発話とする。
【００６９】
出力部４０は、第１エージェント発話選択部３２又は第２エージェント発話選択部３３によって選択されたエージェント発話を出力する。出力部４０によって出力された発話は、エージェントによってユーザに対して発せられる。
【００７０】
＜発話選択装置１００の動作＞
次に、本実施の形態に係る発話選択装置１００の作用について説明する。まず、ユーザとエージェントとの対話が開始されると、発話選択装置１００によって、図５に示す対話処理ルーチンが実行される。対話処理ルーチンは、ユーザの発話が発せられる毎に実行される。
【００７１】
まず、ステップＳ１００において、入力部１０によって、ユーザの発話の入力を受け付ける。
【００７２】
次に、ステップＳ１０２において、ユーザ発話内容理解部２１によって、上記ステップＳ１００で受け付けたユーザの発話に対して形態素解析を行い、ユーザの発話から、述語項構造を抽出すると共に、焦点を抽出し、対話行為タイプを推定する。
【００７３】
ステップＳ１０４において、上記ステップＳ１０２で推定された対話行為タイプが、自己開示に対応する対話行為タイプであるか否かを判定する。上記ステップＳ１０２で推定された対話行為タイプが、自己開示に対応する対話行為タイプである場合には、ステップＳ１０６へ進む。一方、上記ステップＳ１０２で推定された対話行為タイプが、自己開示に対応する対話行為タイプでない場合には、ステップＳ１１４へ移行する。
【００７４】
ステップＳ１０６において、詳細化ラベル付与部２２によって、上記ステップＳ１０２で得られた発話の形態素解析結果に基づいて、トピックの分類と人物属性の分類とを行って、トピックラベルと人物属性ラベルとの組み合わせを、詳細化ラベルとして付与する。
【００７５】
ステップＳ１０８では、データベース更新部２３によって、上記ステップＳ１０２で抽出された述語項構造と推定された対話行為タイプと上記ステップＳ１０６で付与された詳細化ラベルのトピックラベルと人物属性ラベルとの組み合わせを、ユーザ履歴データベース２４に格納する。
【００７６】
ステップＳ１１０において、発話生成部２６によって、上記ステップＳ１０８でユーザ履歴データベース２４に格納された述語項構造と対話行為タイプとの組み合わせに基づいて、述語項構造と、当該対話行為タイプに対して予め定められたテンプレートとから、発話文を生成する。また、発話生成部２６によって、生成した当該発話文に対して、当該テンプレートに対して予め定められた発話文の対話行為タイプと、上記ステップＳ１０６で付与された詳細化ラベルのトピックラベルと人物属性ラベルとの組み合わせを付与して、発話候補データベース２７に格納する。
【００７７】
ステップＳ１１２において、発話間隔計算部２８によって、ユーザ履歴データベース２４から、詳細化ラベルごとに、当該詳細化ラベルの発話情報を抽出し、抽出した発話情報の発話時刻に基づいて、当該詳細化ラベルｕの発話間隔の平均(Au)と分散(Vu )を求める。また、発話間隔の平均と分散の算出に利用した、当該詳細化ラベルｕの発話数ｎuに基づく信頼度Ｃuを求める。
【００７８】
そして、発話間隔計算部２８によって、詳細化ラベルごとに、ユーザ履歴データベース２４から得られた発話間隔の平均時間Ａu、分散Ｖu、及び信頼度Ｃuと、オフライン処理として大規模データ２９から得られた発話間隔の平均時間Ａg及び分散Ｖgとに基づいて、発話間隔Ｉｎｔｅｒｖａｌを算出し、発話間隔データベース３０に格納する。また、発話間隔データベース３０に記憶されている詳細化ラベル毎の最終発話時刻を更新する。
【００７９】
そして、ステップＳ１１４において、対話管理部２５によって、上記ステップＳ１０２で推定された対話行為タイプに基づいて、エージェント発話の対話行為タイプを選択する。
【００８０】
ステップＳ１１６において、話題継続判定部３１によって、エージェントとユーザとの間の対話における発話列に基づいて、話題を変更すべきか否かを判定し、話題を変更すべきであると判定した場合は、上記ステップＳ１０２で得られた現在の焦点を”*”で上書きし、話題を継続すべきであると判定した場合は、上記ステップＳ１０２で得られた現在の焦点をそのまま出力する。
【００８１】
ステップＳ１１８では、上記ステップＳ１１８で出力された焦点が存在するか否かを判定し、上記ステップＳ１０２で得られた現在の焦点がそのまま出力されている場合には、ステップＳ１２０へ移行し、一方、出力された焦点が”*”である場合には、焦点がなく、エージェント側にイニシアチブがあるものと判断し、ステップＳ１２２へ移行する。
【００８２】
そして、ステップＳ１２０において、第１エージェント発話選択部３２によって、発話候補データベース２７から、上記ステップＳ１１４で選択されたエージェント発話の対話行為タイプが付与され、かつ上記ステップＳ１１６で出力された焦点に対応する発話を、エージェント発話として選択する。
【００８３】
ステップＳ１２２では、第２エージェント発話選択部３３によって、発話間隔データベース３０に記憶されている、詳細化ラベル毎の発話間隔、及び詳細化ラベル毎の最終発話時刻に基づいて、詳細化ラベルを選択し、発話候補データベース２７から、当該詳細化ラベルが付与された発話文を、エージェント発話として選択する。
【００８４】
そして、ステップＳ１２４において、出力部４０によって、上記ステップＳ１２０又はＳ１２２で選択されたエージェント発話を出力して、対話処理ルーチンを終了する。
【００８５】
出力部４０によって出力された発話は、エージェントによってユーザに対して発せられる。
【００８６】
以上説明したように、本実施の形態に係る発話選択装置１００によれば、入力されたユーザの発話に基づいて、詳細化ラベルを付与して、ユーザ履歴データベースに記録し、詳細化ラベル毎の発話間隔と、詳細化ラベル毎の最終発話時刻とに基づいて、詳細化ラベルが付与された発話文から、エージェント発話を選択することにより、ユーザに合わせたタイミングでエージェント発話を選択することができる。すわなち、ユーザ毎に異なる質問文を発話するタイミングについて考慮できるので、各ユーザに合わせたタイミングで質問文を発話することが可能になる。
【００８７】
また、従来技術では、発話選択の基準が、焦点に関する発話履歴の有無以外無く、履歴がない場合はランダムに選択していたが、本実施の形態では、発話間隔の情報を用いることにより、発話選択時に、ユーザが最も話したいと思われるタイミングにある焦点の発話が選択可能となる。
【００８８】
また、発話間隔を読み取る際、焦点ごとの発話間隔では、パタンを読み取れるほど十分な履歴が存在しない場合が多いため、本実施の形態では、焦点を抽象化した詳細化ラベルを付与することにより、焦点をそのまま用いるより、多くの焦点について発話間隔情報を取得できる。
【００８９】
また、対話開始時には、対話中のユーザの発話履歴情報では発話間隔を計算するのに不十分であるため、本実施の形態では、ツイッター（Ｒ）や他ユーザの対話履歴など大規模データから一般的な発話間隔を計算し、対話中のユーザの発話履歴から求めた発話間隔と組み合わせて使うことにより、対話中のユーザの発話履歴から求めた発話間隔が不十分な場合を補うことができる。
【００９０】
また、上記２つの発話間隔を組み合わせる際、可能な限り対話中のユーザの対話履歴から求めた発話間隔を用いたほうが、よりパーソナライズできるため、本実施の形態では、発話間隔の分散情報と信頼度を用いることにより、発話履歴が不十分な対話開始時には一般的な発話間隔を使うことができ、対話履歴が十分な際には対話中のユーザに特化した発話間隔を使うことができる。
【００９１】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００９２】
また、上記実施の形態では、ユーザ履歴データベース２４、発話候補データベース２７、大規模データ２９、及び発話間隔データベース３０を備えている場合について説明したが、例えば、ユーザ履歴データベース２４、発話候補データベース２７、大規模データ２９、及び発話間隔データベース３０の少なくとも１つが発話選択装置の外部装置に設けられ、発話選択装置は、外部装置と通信手段を用いて通信することにより、ユーザ履歴データベース２４、発話候補データベース２７、大規模データ２９、及び発話間隔データベース３０の少なくとも１つを参照するようにしてもよい。
【００９３】
また、上記実施の形態では、第１エージェント発話選択部３２は、発話候補データベース２７から、対話管理部２５によって選択されたエージェント発話の対話行為タイプが付与され、かつユーザ発話内容理解部２１によって抽出された焦点に対応する発話文を、エージェント発話として選択する場合を例に説明したが、これに限定されるものではない。例えば、第１エージェント発話選択部３２は、ユーザ発話内容理解部２１によって抽出された焦点を用いずに、発話候補データベース２７から、対話管理部２５によって選択されたエージェント発話の対話行為タイプが付与された発話文を、エージェント発話として選択してもよい。
【００９４】
また、上記実施の形態では、エージェント発話の選択処理と発話文の生成処理とを１つの装置として構成する場合を例に説明したが、エージェント発話の選択処理と発話文の生成処理とを別々の装置として構成してもよい。
【００９５】
また、上述の発話選択装置は、内部にコンピュータシステムを有しているが、コンピュータシステムは、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【００９６】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読取り可能な記録媒体に格納して提供することも可能である。
【符号の説明】
【００９７】
１０   入力部
２０   演算部
２１   ユーザ発話内容理解部
２２   詳細化ラベル付与部
２３   データベース更新部
２４   ユーザ履歴データベース
２５   対話管理部
２６   発話生成部
２７   発話候補データベース
２８   発話間隔計算部
２９   大規模データ
３０   発話間隔データベース
３１   話題継続判定部
３２   第１エージェント発話選択部
３３   第２エージェント発話選択部
４０   出力部
１００ 発話選択装置
【図１】
2017125921.tif 000004
【図２】
2017125921.tif 000005
【図３】
2017125921.tif 000006
【図４】
2017125921.tif 000007
【図５】
2017125921.tif 000008