(58)【調査した分野】(Int.Cl.,DB名)
前記ユーザに関する行動情報に基づいて前記ユーザが関心を示すと推定される未来のイベントに関する情報により、記憶部に記憶された前記ユーザの嗜好に関する情報を更新する更新部、
ことを特徴とする請求項2または請求項3に記載の対話決定システム。
【発明を実施するための形態】
【0009】
以下に、本願に係る対話決定システム、対話決定方法、対話決定プログラム、及び端末装置を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る対話決定システム、対話決定方法、対話決定プログラム、及び端末装置が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0010】
(実施形態)
〔1−1.生成処理〕
まず、
図1を用いて、実施形態に係る生成処理の一例について説明する。
図1は、実施形態に係る決定処理の一例を示す図である。具体的には、
図1は、実施形態に係る決定処理における情報更新の一例を示す図である。なお、本実施形態においては、ユーザの音声入力(以下、単に「入力」とする場合がある)に対して出力を決定する対話決定システム1が、ユーザの入力に対して出力を行う対話システムである場合を示すが、対話決定システムと対話システムとは別システムであってもよい。例えば、ここで対話決定システムとは、音声対話サービスを提供する際に、ユーザへの対話(応答)を決定するシステムのことをいう。また、例えば、ここで対話システムとは、音声対話サービスを提供する際に、ユーザの端末装置へ情報を送信したり、実際にユーザへの対話(応答)を出力したりするシステムのことをいう。つまり、
図1では、対話決定システム1が音声対話サービスを提供する際に、ユーザへの対話(応答)を決定し、ユーザの端末装置へ情報を送信する場合を示す。
【0011】
図1及び
図2に示すように、対話決定システム1には、応答生成サーバ100と、音声認識サーバ30と、音声合成サーバ40とが含まれる。応答生成サーバ100と、音声認識サーバ30と、音声合成サーバ40とは図示しない所定のネットワークを介して、有線または無線により通信可能に接続される。なお、
図1に示した対話決定システム1には、複数台の応答生成サーバ100や、複数台の音声認識サーバ30や、複数台の音声合成サーバ40が含まれてもよい。
【0012】
また、
図1に示すように、対話決定システム1以外の外部システム5には、コンテンツ配信サーバ51やメールサーバ52等が含まれる。例えば、コンテンツ配信サーバ51は、ユーザにコンテンツを配信するサービスを提供する情報処理装置である。また、例えば、メールサーバ52は、ユーザに電子メールを送受信するサービスを提供する情報処理装置である。なお、外部システム5は、対話決定システム1以外のシステムであることを示すためのものであり、コンテンツ配信サーバ51を含むシステムとメールサーバ52を含むシステムとは別システムであってもよい。
【0013】
なお、端末装置20は、対話決定システム1を利用中においては、対話決定システム1に含まれてもよい。例えば、端末装置20は、対話決定システム1を利用中においては、対話決定システム1の各構成と図示しない所定のネットワークを介して、有線または無線により通信可能に接続される。また、例えば、端末装置20は、外部システム5を利用中においては、外部システム5の各構成と図示しない所定のネットワークを介して、有線または無線により通信可能に接続される。また、端末装置20は、複数台であってもよい。
【0014】
端末装置20は、ユーザによって利用される情報処理装置である。端末装置20は、例えば、スマートフォンや、タブレット型端末や、ノート型PC(Personal Computer)や、デスクトップPCや、携帯電話機や、PDA(Personal Digital Assistant)等により実現される。
図1は、端末装置20がスマートフォンである場合を示す。
【0015】
また、端末装置20は、ユーザによる操作を受け付ける。
図1に示す例において、端末装置20は、所定のアプリ(例えば、ブラウザ等)に表示するコンテンツをコンテンツ配信サーバ51へ要求する。なお、以下では、端末装置20をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置20と読み替えることもできる。
【0016】
音声認識サーバ30は、発話の音声データを受信すると、音声データをテキストデータに変換する情報処理装置である。例えば、音声認識サーバ30は、変換した発話のテキストデータを端末装置20に送信する。また、音声合成サーバ40は、応答発話用のテキストデータから音声を合成する音声合成処理を行って、応答発話用の中間表記を生成する情報処理装置である。また、例えば、音声合成サーバ40は、応答発話用の中間表記を応答生成サーバ100に送信する。なお、ここでいう中間表記とは、音声出力を行う端末装置20が音声の出力を行う際に用い、音声出力される応答文等の読みに関する情報を含む中間言語(音声情報)を意味する。なお、中間表記は、中間表記に基づいて端末装置20が音声を出力可能であれば、どのような情報であってもよい。例えば、端末装置20がテキストデータ(文字情報)を基に音声の出力を行う場合、中間表記は、テキストデータであってもよい。
【0017】
応答生成サーバ100は、ユーザに関する行動情報に基づいて、対話決定システム1におけるユーザに対する出力を決定する情報処理装置である。例えば、応答生成サーバ100は、ユーザに関する行動情報に基づいてユーザが関心を示すと推定される未来のイベントに関する情報(「未来イベント情報」と記載する場合がある)を、対話決定システム1における出力として決定する。
【0018】
以下、
図1を用いて、決定処理の一例を説明する。
図1は、ユーザがユーザID「U1」により識別されるユーザ(以下、「ユーザU1」とする場合がある)である場合を示す。
図1は、ユーザU1が外部システム5のサービスを利用する場合を示す。また、
図1では、対話決定システム1に含まれる応答生成サーバ100が、対話決定システム1以外の外部システム5からユーザに関する行動情報を取得する場合を示す。具体的には、応答生成サーバ100は、外部システム5のコンテンツ配信サーバ51がユーザU1に配信したコンテンツに関する情報(以下、「利用情報」とする場合がある)を取得する場合を示す。そして、応答生成サーバ100が、取得したユーザU1に関する利用情報に基づいて、ユーザU1に関する未来イベントに関する情報を更新する場合を示す。また、
図1に示す処理は、20XX年2月25日に行われたものとする。
【0019】
まず、
図1に示すように、ユーザU1は、端末装置20を操作して、コンテンツ配信サーバ51にコンテンツの要求を行う(ステップS11)。例えば、端末装置20は、ユーザU1による操作に応じて、コンテンツ配信サーバ51にコンテンツCT11の要求を行う。
【0020】
端末装置20からコンテンツ要求を受信したコンテンツ配信サーバ51は、端末装置20にコンテンツCT11を配信する(ステップS12)。例えば、コンテンツ配信サーバ51は、端末装置20からコンテンツCT11の要求を受信し、端末装置20にコンテンツCT11を配信する。
図1に示す例おいて、コンテンツCT11は、スポーツニュースに関する記事であり、「20XX年2月29日19時からZスタジアムでサッカーAリーグのチームBとCが、首位を争う試合を…」といった内容が記載される。また、コンテンツ配信サーバ51は、ユーザU1にコンテンツCT11を配信したことを示す履歴を所定の記憶部に記憶する。
【0021】
その後、応答生成サーバ100は、外部システム5に情報を要求する(ステップS13)。そして、応答生成サーバ100は、外部システム5からユーザの利用情報を取得する(ステップS14)。例えば、応答生成サーバ100は、コンテンツ配信サーバ51から利用情報を取得する。具体的には、応答生成サーバ100は、利用情報として、ユーザU1にコンテンツCT11を配信したことを示す情報を、コンテンツ配信サーバ51から取得する。
【0022】
そして、応答生成サーバ100は、取得した利用情報に基づいて未来イベントを抽出する(ステップS15)。ここでいう未来イベントとは、例えば、ステップS15における未来イベントを抽出する処理を行う時点以降に行われる所定の事象をいう。
図1では、応答生成サーバ100は、ユーザU1に配信されたコンテンツCT11に関する情報(記事の内容等)から、未来イベントを抽出する。例えば、応答生成サーバ100は、コンテンツCT11から、日時「20XX年2月29日19時」からイベント「サッカーの試合」が行われることを示す未来イベントに関する情報を抽出する。また、応答生成サーバ100は、サッカーのリーグが「Aリーグ」であり、対戦チームが「チームB」と「チームC」であり、場所が「Zスタジアム」であることを示す情報を、未来イベントに関する情報として抽出してもよい。なお、応答生成サーバ100が利用情報から、未来イベントを抽出する処理の詳細は後述する。
【0023】
ここで、応答生成サーバ100は、
図1に示すように、未来イベント情報記憶部122に各ユーザに対応付けて未来イベントに関する情報を記憶する。以下では、ユーザU1に対応する未来イベントに関する情報の更新に応じて、未来イベント情報記憶部122を未来イベント情報記憶部122−1、122−2として説明する。具体的には、ステップS16における更新前の未来イベント情報記憶部122を未来イベント情報記憶部122−1として図示し、ステップS16における更新後の未来イベント情報記憶部122を未来イベント情報記憶部122−2として図示する。なお、未来イベント情報記憶部122−1、122−2は同一の未来イベント情報記憶部122である。また、以下では、未来イベント情報記憶部122−1、122−2について、特に区別することなく説明する場合には、未来イベント情報記憶部122と記載する。
【0024】
ステップS15における未来イベントの抽出後、応答生成サーバ100は、未来イベント情報記憶部122に記憶された未来イベントに関する情報を更新する(ステップS16)。例えば、応答生成サーバ100は、ステップS15において抽出した未来イベントに関する情報を追加する。具体的には、応答生成サーバ100は、イベントID「IV12」により識別されるイベント「サッカーの試合」(以下、「未来イベントIV12」とする)を示す未来イベントに関する情報を、ユーザU1に対応付けて未来イベント情報記憶部122に記憶する。また、応答生成サーバ100は、未来イベントIV12の分類が「スポーツ」であり、未来イベントIV12が開催される日時「20XX年2月29日19時」から行われることを示す情報も未来イベント情報記憶部122に記憶する。これにより、未来イベント情報記憶部122は、
図1に示すように、未来イベント情報記憶部122−1から未来イベント情報記憶部122−2に更新される。
【0025】
上述したように、対話決定システム1は、ユーザの利用情報に基づいて未来イベント情報記憶部122に記憶された未来イベントに関する情報を更新する。すなわち、対話決定システム1は、対話決定システム1以外の外部システム5から取得したユーザに関する行動情報に基づいて未来イベント情報記憶部122に記憶された未来イベントに関する情報を更新する。これにより、対話決定システム1は、各ユーザが関心を示す可能性の高い未来イベントに関する情報を、ユーザに対応付けて記憶することができる。
【0026】
また、対話決定システム1は、ユーザ情報記憶部121(
図4参照)に記憶されたユーザの嗜好(興味・関心)に関する情報を更新してもよい。例えば、対話決定システム1は、分類が「スポーツ」である未来イベントIV12を未来イベント情報記憶部122に記憶する際に、ユーザ情報記憶部121にユーザU1の嗜好(興味・関心)に関する情報として「スポーツ」を記憶してもよい。すなわち、対話決定システム1は、ユーザU1の利用情報に基づく未来イベントIV12に関する情報により、ユーザ情報記憶部121に記憶されたユーザU1の嗜好に関する情報を更新してもよい。これにより、対話決定システム1は、ユーザU1に対してより適切な応答を行うことが可能となる。
【0027】
〔1−2.配信処理〕
次に、
図2を用いて、実施形態に係る決定処理の一例について説明する。
図2は、実施形態に係る配信処理の一例を示す図である。具体的には、
図2は、実施形態に係る決定処理における未来イベント決定の一例を示す図である。
図2は、ユーザU1が対話決定システム1のサービスを利用する場合を示す。
図2は、応答生成サーバ100が、ユーザU1の発話による入力情報から抽出された話題に対応する未来イベントに関する情報を出力として決定する場合を示す。また、
図2に示す処理は、20XX年2月27日に行われたものとする。
【0028】
なお、応答生成サーバ100が、出力する未来イベントに関する情報の決定以外の通常の出力を決定する処理については説明を省略する。例えば、応答生成サーバ100が、ユーザU1の発話による入力情報に対して出力する未来イベントに関する情報の決定以外の出力に関して決定する処理については説明を省略する。また、
図2では、端末装置20からの入力に対して、応答生成サーバ100が未来イベントに関する情報の決定し、対話決定システム1が出力する処理について説明し、対話決定システム1内の各構成の処理についての詳細は後述する。
【0029】
図2に示すように、端末装置20は、対話決定システム1に関するアプリケーション(以下、「対話アプリ」とする場合がある)の起動指示を受け付けると、対話アプリを起動する(ステップS21)。そして、ユーザU1は、対話アプリが起動された端末装置20に音声を入力する(ステップS22)。
図2では、端末装置20は、20XX年2月27日17時にユーザU1が対話アプリを起動中の端末装置20に対して発話した「昨日のサッカーの試合結果を教えて。」という音声情報を用いて、所定の処理により入力情報IM11を取得する。そして、端末装置20は、応答生成サーバ100に入力情報IM11を送信する(ステップS23)。
【0030】
応答生成サーバ100は、端末装置20から取得した入力情報IM11から話題を抽出する(ステップS24)。例えば、応答生成サーバ100は、話題情報記憶部123に記憶された各話題に対応付けられたキーワードのスコアに基づいて、入力情報IM11から話題を抽出する。例えば、応答生成サーバ100は、話題ごとに対応付けられたキーワードのスコアを合算し、合算したスコアが最大の話題を入力情報IM11の話題として抽出する。
図2では、応答生成サーバ100は、話題リストTL11に示すように、入力情報IM11から話題「スポーツ」を抽出する。
【0031】
そして、応答生成サーバ100は、話題リストTL11と、入力情報IM11を送信したユーザU1や日時を示す関連情報IN11とに基づいて、出力する未来イベントに関する情報を決定する(ステップS25)。例えば、応答生成サーバ100は、未来イベント情報記憶部122−2中のユーザU1に対応し分類が「スポーツ」であって、「20XX年2月27日17時」から所定の期間内の未来に行われる未来イベントに関する情報を出力する未来イベントに関する情報として決定する。例えば、応答生成サーバ100は、「20XX年2月27日17時」から1週間以内に行われる未来イベントに関する情報を出力する未来イベントに関する情報として決定する。
図2では、応答生成サーバ100は、未来イベントIV12を出力する未来イベントに関する情報として決定する。
【0032】
そして、応答生成サーバ100は、通常の処理により決定される入力情報IM11に対応する応答に関する情報と、ステップS25により決定された未来イベントIV12とに基づいて出力を決定する(ステップS26)。例えば、応答生成サーバ100は、通常の処理により、「20XX年2月27日」の前日である「20XX年2月26日」に行われたサッカーの試合結果を示す情報を種々のニュース等に関する情報を記憶する記憶部から取得して、入力情報IM11に対応する応答を決定する。例えば、応答生成サーバ100は、外部システム5から取得したユーザU1がX国の試合情報に関するニュースを閲覧したことを示す情報に基づいて、Y国やZ国の試合結果でなくX国の結果を入力情報IM11に対応する応答として決定する。このように、応答生成サーバ100は、「20XX年2月26日」に行われたサッカーの試合が複数ある場合であっても、外部システム5から取得した情報に基づいて、ユーザU1に対して複数の候補から適切と推定される応答を決定する。すなわち、応答生成サーバ100は、複数の候補がある場合であっても、外部システム5から取得した情報に基づいて、ユーザU1に対して適切な応答を決定することができる。なお、応答生成サーバ100は、種々のニュース等に関する情報記憶する記憶部を有してもよいし、外部に設けられた記憶部から取得してもよい。また、応答生成サーバ100は、ユーザ情報記憶部121に記憶されたユーザの嗜好(興味・関心)に関する情報に基づいて、入力情報IM11に対応する応答に関する情報を決定してもよい。
【0033】
図2では、応答生成サーバ100は、入力情報IM11に対応する応答に関する通常情報NM11と、未来イベントIV12と関する未来情報FM11とを含む出力情報OM11を端末装置20に出力する出力として決定する。なお、通常情報NM11には、「2―1でX国が勝ちました。」という、入力情報IM11に対応する応答を示す情報が含まれる。また、未来情報FM11には、「来週は、チームBの試合があります。また結果を聞きに来てくださいね。」という、入力情報IM11に対応する未来イベントに関する情報や、ユーザU1に後日に再び対話アプリの利用を促す情報が含まれる。
【0034】
そして、応答生成サーバ100は、出力情報OM11を端末装置20へ送信する(ステップS27)。なお、応答生成サーバ100は、出力情報OM11に関する応答発話用の中間表記を端末装置20へ送信してもよい。
【0035】
出力情報OM11を受信した端末装置20は、出力情報OM11を音声として出力する(ステップS28)。
図2では、端末装置20は、最初に「2―1でX国が勝ちました。」というユーザU1の質問に対する回答を出力する。続けて、端末装置20は、「来週は、チームBの試合があります。また結果を聞きに来てくださいね。」という未来イベントに関する情報やユーザU1に後日に再び対話アプリの利用を促す情報を音声として出力する。このように、対話決定システム1は、ユーザの入力に対して回答した後に続けて、未来のイベントに関する情報を出力することにより、ユーザに対して違和感のない流れで、未来のイベントに関する情報を出力することができる。なお、上述した例では、ユーザの入力に対しての回答(通常の応答)後に続けて、未来のイベントに関する情報を出力する例を示したが、通常の応答は行わなくてもよい。例えば、対話決定システム1は、ユーザの入力に対して、未来のイベントに関する情報のみを出力してもよい。
【0036】
上述したように、対話決定システム1は、対話決定システム1以外の外部システム5から取得したユーザに関する行動情報に基づいて、対話システムにおけるユーザに対する出力を決定する。これにより、対話決定システム1は、ユーザの発話の意図を総合的に判断して出力を決定することができる。また、対話決定システム1は、対話決定システム1以外の外部システム5から取得したユーザに関する行動情報から未来のイベントに関する情報を抽出し、抽出した未来のイベントに関する情報を対話システムにおける出力として決定する。これにより、対話決定システム1は、各ユーザが関心を示す可能性の高い未来イベントに関する情報を、ユーザに対して出力することができる。したがって、対話決定システム1は、対話システムにおける出力を適切に決定することができる。また、上述したように、「また結果を聞きに来てくださいね。」等のユーザに近い未来に再度対話決定システム1を利用するよう応答で誘導することにより、対話決定システム1は、対話システムの利用促進させることが可能となる。
【0037】
なお、
図2では、入力情報IM11に対して出力情報OM11を決定する場合を示したが、対話決定システム1は、入力情報IM11に対応する未来イベントに関する情報に基づいて所定の出力を決定してもよい。例えば、対話決定システム1は、入力情報IM11に対応する未来イベントに関する情報に基づいて、端末装置20に所定のアプリケーションを起動させる情報を送信してもよい。また、例えば、対話決定システム1は、入力情報IM11に対応する未来イベントに関する情報に基づいて、所定のコンテンツを表示させる情報を送信してもよい。また、
図1及び
図2に示した例においては、応答生成サーバ100が決定処理を行う場合を示したが、
図1及び
図2に示す決定処理は、端末装置20において行われてもよい。例えば、端末装置20にインストールされたアプリケーション(対話アプリ等)により、
図1及び
図2に示す決定処理が行われてもよい。例えば、端末装置20のアプリ25により、
図1及び
図2に示す決定処理が行われてもよい。この場合、端末装置20のアプリ25は、取得部や決定部や更新部を有してもよい。例えば、端末装置20は、決定装置100であってもよい。例えば、端末装置20は、決定装置100の有する機能を有してもよい。この場合、端末装置20は、
図1及び
図2において決定装置100が行うステップを行ってもよい。
【0038】
また、対話決定システム1は、未来のイベントに関する情報が出力されたユーザの対話決定システム1における応答に関する情報に基づいて、対話決定システム1におけるユーザに対する出力を決定してもよい。例えば、対話決定システム1は、ユーザが対話決定システム1からの出力に対して応答した未来イベントの分類をユーザが関心を示す可能性の高い対象としてもよい。例えば、対話決定システム1は、ユーザU1が出力情報OM11に対して応答した場合、未来イベントIV12の分類「スポーツ」を、ユーザ情報記憶部121にユーザU1の嗜好(興味・関心)に関する情報として記憶してもよい。この場合、例えば、対話決定システム1は、ユーザU1に対する出力を決定する場合、ユーザU1が関心を示す可能性の高い「スポーツ」に関する話題を優先してもよい。
【0039】
例えば、対話決定システム1は、応答に関する情報を用いた学習により生成されるモデルに基づいて、対話決定システム1におけるユーザに対する出力を決定してもよい。例えば、対話決定システム1は、ユーザごとが対話決定システム1からの出力に対して応答した未来イベントの分類に基づいて、モデルを生成してもよい。これにより、対話決定システム1は、各ユーザがどの分類の未来イベントに関心を示す可能性の高いかを適切に判定することができる。なお、対話決定システム1が学習するモデルは、上記に限らず、ユーザがどのような出力に対して関心を示す可能性の高いかを判定するモデルであってもよい。例えば、対話決定システム1は、各ユーザが出力にどのようなキーワードが含まれる場合に、出力に対して関心を示す可能性の高いかを判定するモデルであってもよい。この場合、例えば、対話決定システム1は、ユーザごとに素性をキーワードとするモデルを生成してもよい。
【0040】
〔2.応答生成サーバの構成〕
次に、
図3を用いて、実施形態に係る応答生成サーバ100の構成について説明する。
図3は、実施形態に係る応答生成サーバ100の構成例を示す図である。
図3に示すように、応答生成サーバ100は、通信部110と、記憶部120と、制御部130とを有する。なお、応答生成サーバ100は、応答生成サーバ100の管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(例えば、液晶ディスプレイ等)を有してもよい。
【0041】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部110は、ネットワークと有線または無線で接続され、端末装置20や音声認識サーバ30や音声合成サーバ40との間で情報の送受信を行う。
【0042】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部120は、
図3に示すように、ユーザ情報記憶部121と、未来イベント情報記憶部122と、話題情報記憶部123とを有する。また、記憶部120には、上記に限らず、音声対話サービスを提供するために必要な種々の情が記憶される。例えば、記憶部120には、ユーザの入力に対して、未来イベント情報以外の通常の応答を行うための対話コーパス等が記憶される。例えば、対話システムが、自動車に搭載されるナビゲーションシステムに用いられる場合、対話システム自身から取得できる情報(例えば、ユーザとの対話履歴やカーナビの検索履歴など)を記憶してもよい。
【0043】
(ユーザ情報記憶部121)
実施形態に係るユーザ情報記憶部121は、ユーザに関する各種情報を記憶する。
図4は、実施形態に係るユーザ情報記憶部の一例を示す図である。
図4に示すユーザ情報記憶部121は、「ユーザID」、「嗜好1」、「嗜好2」等といった項目が含まれる。
【0044】
「ユーザID」は、ユーザを識別するための識別情報を示す。例えば、ユーザID「U1」により識別されるユーザは、
図1の例に示したユーザU1に対応する。また、「嗜好1」や「嗜好2」は、ユーザIDにより識別されるユーザが興味・関心のある対象を示す。例えば、ユーザが興味・関心のある対象は、対話システムが自動車に搭載されるナビゲーションシステムに用いられる場合、対話システム自身から取得できる情報(例えば、ユーザとの対話履歴やカーナビの検索履歴など)から推定されてもよい。
【0045】
例えば、
図4に示す例において、ユーザID「U1」により識別されるユーザが興味・関心のある対象は、「スポーツ」や「車」であることを示す。また、例えば、例えば、
図4に示す例において、ユーザID「U2」により識別されるユーザが興味・関心のある対象は、「グルメ」や「ファッション」であることを示す。
【0046】
なお、ユーザ情報記憶部121は、ユーザ情報であれば、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、ユーザ情報記憶部121は、氏名、年齢、性別、居住地、家族構成、収入、勤務先等の情報を記憶してもよい。
【0047】
(未来イベント情報記憶部122)
実施形態に係る未来イベント情報記憶部122は、未来イベントに関する各種情報を記憶する。
図5は、実施形態に係る未来イベント情報記憶部の一例を示す図である。例えば、
図5では、未来イベント情報記憶部122に、各端末装置20から取得した利用情報に基づく未来イベントに関する情報が各ユーザに対応付けて記憶される場合を示す。
図5に示す未来イベント情報記憶部122には、「ユーザID」、「未来イベント情報」、「抽出元情報」といった項目が含まれる。また、「未来イベント情報」には、「イベント名」、「ID」、「分類」、「日時」、「対象」といった項目が含まれる。
【0048】
「ユーザID」は、ユーザを識別するための識別情報を示す。「イベント名」は、未来イベントの名称を示す。「ID」は、未来イベントを識別するための識別情報を示す。「分類」は、未来イベントの分類を示す。「日時」は、未来イベントが行われる日時に関する情報を示す。「対象」は、未来イベントに関連する対象を示す。なお、「対象」は複数記憶されてもよい。「抽出元情報」は、未来イベントが抽出された情報を示す。
【0049】
例えば、
図5中の未来イベント情報記憶部122では、ID「IV11」により識別されるイベント名「ライブ」や、ID「IV12」により識別されるイベント名「サッカーの試合」(「未来イベントIV12」に対応)が、ユーザU1に対応付けて記憶される。
【0050】
また、
図5に示す例では、ID「IV11」により識別されるイベント名「ライブ」は、分類が「音楽」であり、日時「20XX年2月28日17時」から行われることを示す。また、ID「IV11」により識別されるイベント名「ライブ」は、対象が「アーティストA」であり、抽出元となった情報がメールML11であることを示す。
【0051】
なお、未来イベント情報記憶部122は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、未来イベント情報記憶部122は、未来イベントが行われるまでの残り時間に関する情報を記憶してもよい。また、例えば、未来イベント情報記憶部122に記憶された未来イベントは、現在時刻が日時を過ぎた場合には、削除されてもよい。
【0052】
(話題情報記憶部123)
実施形態に係る話題情報記憶部123は、話題フォーマットの評価値(例えばCTR等)を算出するモデルに関する各種情報を記憶する。
図6は、実施形態に係る話題情報記憶部の一例を示す図である。例えば、
図6では、話題情報記憶部123に、各話題に対応付けて各キーワードのスコアが記憶される場合を示す。
図6に示す話題情報記憶部123は、キーワードとして「天気」、「観光」、「旅行」、「サッカー」、「試合」といった項目が含まれる。
【0053】
例えば、
図6に示す例では、話題「スポーツ」は、キーワード「天気」のスコアが「0.1」であり、キーワード「観光」のスコアが「0」であり、キーワード「旅行」のスコアが「−0.2」であることを示す。また、例えば、話題「スポーツ」は、キーワード「サッカー」のスコアが「2.0」であり、キーワード「試合」のスコアが「1.0」であることを示す。
【0054】
例えば、
図6に示す例では、話題「旅行」は、キーワード「天気」のスコアが「0.5」であり、キーワード「観光」のスコアが「1.0」であり、キーワード「旅行」のスコアが「2.0」であることを示す。また、例えば、話題「旅行」は、キーワード「サッカー」のスコアが「−0.1」であり、キーワード「試合」のスコアが「0」であることを示す。
【0055】
なお、話題情報記憶部123は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【0056】
(制御部130)
図3の説明に戻って、制御部130は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、応答生成サーバ100内部の記憶装置に記憶されている各種プログラム(配信プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0057】
図3に示すように、制御部130は、取得部131と、要求生成部132と、変換部133と、抽出部134と、決定部135と、音声合成指示部136と、応答生成部137と、更新部138と、送信部139とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図3に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図3に示した接続関係に限られず、他の接続関係であってもよい。
【0058】
(取得部131)
取得部131は、対話システム以外のシステムからユーザに関する行動情報を取得する。例えば、取得部131は、対話決定システム1以外の外部システム5からユーザに関する行動情報を取得する。例えば、取得部131は、外部システム5からユーザの利用情報を取得する。例えば、取得部131は、コンテンツ配信サーバ51から利用情報を取得する。
図1では、取得部131は、利用情報として、ユーザU1にコンテンツCT11を配信したことを示す情報を、コンテンツ配信サーバ51から取得する。また、取得部131は、端末装置20から入力情報IM11を取得する。
【0059】
(要求生成部132)
要求生成部132は、外部システム5に情報を要求する。例えば、要求生成部132は、外部システム5にユーザの利用情報を応答生成サーバ100に送信するように要求する。また、例えば、要求生成部132は、応答の生成に必要なデータを外部装置が有している場合、データの検索条件を指定し、所定のAPI(Application Program Interface)サーバ(図示せず)に対してデータの要求を行ってもよい。例えば、APIサーバは、路線APIサーバや天気APIサーバやWeb検索APIサーバ等、種々のAPIサーバであってもよい。
【0060】
(変換部133)
変換部133は、所定のAPIサーバからXML(Extensible Markup Language)データを受信すると、予め記憶されたフォーマットに従って、XMLデータからデータを抽出し、XMLデータをHTML(Hyper Text Markup Language)データに変換する。例えば、変換部133は、路線検索に関するXMLデータを受信すると、乗り換えに関するフォーマットに従って、XMLデータから駅名や乗車時間の情報を抽出し、XMLデータをHTMLデータに変換する。なお、応答生成サーバ100は、所定のAPIサーバからXMLデータを受信しない場合、変換部133を有しなくてもよい。
【0061】
(抽出部134)
抽出部134は、取得部131により取得された利用情報に基づいて未来イベントを抽出する。例えば、抽出部134は、ユーザU1に配信されたコンテンツCT11に関する情報(記事の内容等)から、未来イベントを抽出する。
図1の例では、抽出部134は、コンテンツCT11から、日時「20XX年2月29日19時」からイベント「サッカーの試合」が行われることを示す未来イベントに関する情報を抽出する。例えば、抽出部134は、固有表現抽出等の種々の従来技術を適宜用いて、未来イベント情報を抽出する。
【0062】
また、抽出部134は、ユーザの発話に基づいて入力された情報から話題を抽出する。例えば、抽出部134は、端末装置20から取得した入力情報IM11から話題を抽出する。例えば、抽出部134は、話題情報記憶部123に記憶された各話題に対応付けられたキーワードのスコアに基づいて、入力情報IM11から話題を抽出する。例えば、抽出部134は、話題ごとに対応付けられたキーワードのスコアを合算し、合算したスコアが最大の話題を入力情報IM11の話題として抽出する。
図2では、抽出部134は、話題リストTL11に示すように、入力情報IM11から話題「スポーツ」を抽出する。
【0063】
(決定部135)
決定部135は、取得部131により取得されたユーザに関する行動情報に基づいて、対話システムにおけるユーザに対する出力を決定する。例えば、決定部135は、取得部131により取得された利用情報に基づいて、対話決定システム1におけるユーザに対する出力を決定する。例えば、決定部135は、抽出部134により抽出された未来イベントに関する情報に基づいて、対話決定システム1におけるユーザに対する出力を決定する。
【0064】
決定部135は、ユーザに関する行動情報に基づいてユーザが関心を示すと推定される未来のイベントに関する情報を、対話システムにおける出力として決定する。また、決定部135は、未来のイベントに関する情報が出力されたユーザの対話システムにおける応答に関する情報に基づいて、対話システムにおける前記ユーザに対する出力を決定してもよい。また、決定部135は、応答に関する情報を用いた学習により生成されるモデルに基づいて、対話システムにおけるユーザに対する出力を決定してもよい。
【0065】
決定部135は、ユーザに対する出力として、ユーザの入力に対応する文字情報(文字列)に応答する文字情報(文字列)である応答文字情報を決定する。例えば、決定部135は、入力情報IM11に対応する文字情報に応答する応答文字情報を含む通常情報NM11を決定する。決定部135は、対話システムにおけるユーザの入力が回答を求める情報であった場合、ユーザに対する出力として、応答文字情報に続けて出力される文字情報であって、応答文字情報に関連する未来のイベントに関する文字情報を決定する。例えば、決定部135は、入力情報IM11が回答を求める情報であるため、通常情報NM11に含まれる応答文字情報に関連する未来のイベントに関する文字情報であって、通常情報NM11に続けて出力される未来イベントIV12と関する未来情報FM11を決定する。
【0066】
図2では、決定部135は、話題リストTL11と、入力情報IM11を送信したユーザU1や日時を示す関連情報IN11とに基づいて、出力する未来イベントに関する情報を決定する。例えば、決定部135は、未来イベント情報記憶部122−2中のユーザU1に対応し分類が「スポーツ」であって、「20XX年2月27日17時」から所定の期間内の未来に行われる未来イベントに関する情報を出力する未来イベントに関する情報として決定する。例えば、決定部135は、「20XX年2月27日17時」から1週間以内に行われる未来イベントに関する情報を出力する未来イベントに関する情報として決定する。例えば、決定部135は、未来イベントIV12を出力する未来イベントに関する情報として決定する。
【0067】
そして、決定部135は、通常の処理により決定される入力情報IM11に対応する応答に関する情報と、未来イベントIV12とに基づいて出力を決定する。例えば、決定部135は、通常の処理により、「20XX年2月27日」の前日である「20XX年2月26日」に行われたサッカーの試合結果を示す情報を種々のニュース等に関する情報記憶する記憶部から取得して、入力情報IM11に対応する応答を決定する。また、決定部135は、入力情報IM11に対応する応答に関する通常情報NM11と、未来イベントIV12と関する未来情報FM11とを含む出力情報OM11を端末装置20に出力する出力として決定する。
【0068】
例えば、決定部135は、ユーザの発話(入力情報)が「明日の天気は?」であり、ユーザに対応する未来イベントにユーザの発話時点の翌日が日時である旅行が含まれる場合、入力情報に対応する応答に関する通常情報「晴れです。」や未来イベントと関する未来情報「明日から旅行ですね。帰ってきたら感想を聞かせてください。」をユーザに対する出力情報として決定する。また、例えば、決定部135は、ユーザの発話(入力情報)が「好きな食べ物は?」であり、ユーザに対応する未来イベントにユーザの発話時点の翌日が日時であるチョコレートの祭典が含まれる場合、入力情報に対応する応答に関する通常情報「(チョコレート名)XXXです。」や未来イベントと関する未来情報「明日はチョコレートの祭典がありますね。行ったら感想を聞かせてください。」をユーザに対する出力情報として決定する。
【0069】
例えば、
図2では、決定部135は、取得部131により、20XX年2月27日17時に「昨日のサッカーの試合結果を教えて。」という内容の入力情報IM11が取得された場合、サッカーの試合結果を示す情報を種々のニュース等に関する情報を記憶する記憶部から取得して、入力情報IM11に対応する応答を決定する。例えば、決定部135は、取得部131により外部システム5から取得されたユーザU1がX国の試合情報に関するニュースを閲覧したことを示す情報に基づいて、Y国やZ国の試合結果でなくX国の結果を入力情報IM11に対応する応答として決定する。
【0070】
また、例えば、決定部135は、取得部131により、「昨日のXXXの結果は?」という内容の入力情報が取得された場合、人名であるXXXの試合結果を示す情報を種々のニュース等に関する情報を記憶する記憶部から取得して、応答を決定する。例えば、昨日(例えば、2016年2月25日)に試合等の結果が生じる行動を行ったXXXという名前に対応する人が複数いる場合、決定部135は、外部システム5から取得されたユーザのコンテンツ等の閲覧に関する情報に基づいて、いずれのXXXの結果を応答するかを決定する。例えば、決定部135は、取得部131により外部システム5からユーザがスケート選手のXXXのニュースを閲覧したことを示す情報が取得された場合、他のXXXの結果ではなくスケート選手のXXXの結果を応答として決定する。
【0071】
また、例えば、決定部135は、取得部131により、「何か面白いイベントない?」という内容の入力情報が取得された場合、ユーザが閲覧したコンテンツに関する情報に基づいて、応答を決定する。例えば、決定部135は、取得部131により外部システム5からユーザがチョコレートの祭典に関するニュースを閲覧していたことを示す情報が取得された場合、X月Y日に開催されるチョコレートの祭典に関する未来イベント情報を応答として決定する。
【0072】
これにより、決定部135は、ユーザの興味・関心にあったイベント情報を応答として決定することができる。このように、決定部135は、未来のイベント情報に基づいて、よりユーザの興味・関心にあった適切な応答を決定することが可能となる。
【0073】
(音声合成指示部136)
音声合成指示部136は、応答発話用のテキストデータを音声合成サーバ40に送信する。音声合成指示部136は、テキストデータを音声合成サーバ40に送信することにより、音声合成サーバ40に応答発話用のテキストデータから音声を合成する音声合成処理を行わせ、応答発話用の中間表記を生成させる。
【0074】
(応答生成部137)
応答生成部137は、応答発話用の中間表記と応答発話用のテキストデータとHTMLデータとに基づいて出力情報を生成する。なお、応答生成部137は、端末装置20へ送信する情報が応答発話用の中間表記のみである場合、応答発話用の中間表記を出力情報としてもよい。また、応答生成サーバ100は、端末装置20へ送信する情報が応答発話用の中間表記のみである場合、応答生成部137を有しなくてもよい。
【0075】
(更新部138)
更新部138は、ユーザに関する行動情報に基づいてユーザが関心を示すと推定される未来のイベントに関する情報により、記憶部120に記憶されたユーザの嗜好に関する情報を更新する。例えば、更新部138は、取得部131により取得されたユーザの利用情報に基づいて、ユーザ情報記憶部121に記憶されたユーザの嗜好(興味・関心)に関する情報を更新する。例えば、更新部138は、分類が「スポーツ」である未来イベントIV12を未来イベント情報記憶部122に記憶する際に、ユーザ情報記憶部121にユーザU1の嗜好(興味・関心)に関する情報として「スポーツ」を記憶してもよい。例えば、更新部138は、ユーザU1の利用情報に基づく未来イベントIV12に関する情報により、ユーザ情報記憶部121に記憶されたユーザU1の嗜好に関する情報を更新してもよい。
【0076】
また、更新部138は、取得部131により取得されたユーザの利用情報に基づいて、未来イベント情報記憶部122に記憶された未来イベントに関する情報を更新する。例えば、更新部138は、未来イベントが抽出された後、未来イベント情報記憶部122に記憶された未来イベントに関する情報を更新する。例えば、更新部138は、抽出部134により抽出された未来イベントにより、未来イベント情報記憶部122に記憶された未来イベントに関する情報を更新する。
【0077】
(送信部139)
送信部139は、各種情報を外部装置へ送信する。例えば、送信部139は、応答発話用の中間表記と応答発話表示用のテキストデータとHTMLデータを端末装置20へ送信する。
図2では、送信部139は、出力情報OM11を端末装置20へ送信する。また、例えば、送信部139は、出力情報OM11に関する応答発話用の中間表記を端末装置20へ送信してもよい。
【0078】
〔3.端末装置の構成〕
次に、
図7を用いて、実施形態に係る端末装置20の構成について説明する。
図7は、実施形態に係る端末装置の構成例を示す図である。
図7に示すように、端末装置20は、通信部21と、マイク22と、スピーカ23と、表示部24と、アプリ25と、メモリ26とを有する。
【0079】
通信部21は、所定のネットワークを介して応答生成サーバ100や音声認識サーバ30との間で各種データを送受信する。通信部21は、例えば、携帯端末やスマートフォンの場合には、アンテナや通信制御を行う電子回路等である。例えば、端末装置20がノート型PCやデスクトップ型PCである場合には、NIC等に該当する。通信部21は、例えば、端末装置20がタブレット型PCである場合には、アンテナや通信制御を行う電子回路等である。
【0080】
マイク22は、端末装置20を利用するユーザが発話した音声入力を受け付ける入力デバイスである。スピーカ23は、端末装置20のユーザが発話した音声入力に対する応答音声を出力する出力デバイスである。また、表示部24は、各種情報を表示する表示デバイスであり、例えばタッチパネルや液晶ディスプレイ等である。表示部24は、例えば、応答発話表示用のテキストデータや発話意図に応じてHTMLデータ等を表示する。
【0081】
アプリ25は、ユーザが発話した音声入力を受け付けると、音声データを音声認識サーバ30に送信し、音声認識サーバ30から発話のテキストデータを受信する。また、アプリ25は、発話のテキストデータや過去の発話情報を応答生成サーバ100に送信し、応答生成サーバ100からHTML等の言語で記述されたデータ、応答発話用の中間表記および応答発話表示用のテキストデータなどを受信する。また、アプリ25は、端末装置20を利用するユーザが発話した音声入力に対する応答音声を出力したり、HTML等の言語で記述されたデータを表示したりする。アプリ25は、CPUやMPU等により実現され、音声データ送信部25a、テキストデータ受信部25b、テキストデータ送信部25c、HTMLデータ受信部25d、表示制御部25eによる処理を実現する。
【0082】
メモリ26は、履歴記憶部26aおよび位置情報記憶部26bを有する。メモリ26は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子等の記憶装置である。履歴記憶部26aは、発話のテキストデータとともに送信される、過去の発話に関する履歴情報を記憶する。位置情報記憶部26bは、例えば、発話のテキストデータとともに送信される、端末装置20の現在位置を示す位置情報を記憶する。なお、メモリ26は、履歴情報や位置情報のほかに、ユーザの自宅の住所などの個人情報を記憶していてもよい。これらの情報は、位置情報と同様に、発話のテキストデータとともに応答生成サーバ100に送信してもよい。
【0083】
なお、端末装置20が有する各処理部は、以下に説明する情報処理の機能や作用を実現又は実行する。
【0084】
〔4.決定処理のフロー〕
次に、
図8及び
図9を用いて、実施形態に係る対話決定システム1による決定処理の手順について説明する。
図8は、実施形態に係る決定処理の一例を示すフローチャートである。具体的には、
図8は、実施形態に係る決定処理における未来イベントに関する情報の更新の一例を示すフローチャートである。また、
図9は、実施形態に係る決定処理の一例を示すフローチャートである。具体的には、
図9は、実施形態に係る決定処理における未来イベント決定の一例を示すフローチャートである。
【0085】
〔4−1.未来イベント情報の記憶〕
図8に示すように、応答生成サーバ100は、ユーザの利用情報を取得する(ステップS101)。その後、応答生成サーバ100は、ステップS101において取得したユーザの利用情報からイベント名を抽出する(ステップS102)。
【0086】
そして、ステップS102において利用情報からイベント名を抽出できた場合(ステップS103:Yes)、応答生成サーバ100は、利用情報から日時を抽出する(ステップS104)。一方、ステップS102において利用情報からイベント名を抽出できなかった場合(ステップS103:No)、応答生成サーバ100は、処理を終了する。
【0087】
また、ステップS104において利用情報から日時を抽出できた場合(ステップS105:Yes)、応答生成サーバ100は、ステップS104において利用情報から抽出された日時が未来の日時かを判定する(ステップS106)。一方、ステップS104において利用情報から日時を抽出できなかった場合(ステップS105:No)、応答生成サーバ100は、処理を終了する。
【0088】
そして、ステップS104において利用情報から抽出された日時が未来の日時である場合(ステップS106:Yes)、応答生成サーバ100は、利用情報から話題を抽出する(ステップS107)。その後、一方、応答生成サーバ100は、抽出した未来イベント情報を記憶する(ステップS108)。例えば、応答生成サーバ100は、抽出したイベント名や日時や話題等を含む未来イベント情報を未来イベント情報記憶部122に記憶する。一方、ステップS104において利用情報から抽出された日時が未来の日時ではなかった場合(ステップS106:No)、応答生成サーバ100は、処理を終了する。
【0089】
〔4−2.未来イベント情報の決定〕
また、
図9に示すように、応答生成サーバ100は、ユーザの音声入力を取得する(ステップS201)。その後、応答生成サーバ100は、ステップS201において入力された情報から話題を抽出する(ステップS202)。
【0090】
そして、応答生成サーバ100は、ステップS202において抽出した話題に対応する未来イベント情報が存在するかを判定する(ステップS203)。
【0091】
ステップS202において抽出した話題に対応する未来イベント情報が存在する場合(ステップS203:Yes)、応答生成サーバ100は、未来イベント情報に含まれるイベントの日時が現在時刻から所定の期間内かを判定する(ステップS204)。
【0092】
未来イベント情報に含まれるイベントの日時が現在時刻から所定の期間内である場合(ステップS204:Yes)、応答生成サーバ100は、未来イベント情報に関する対話を行う(ステップS205)。
【0093】
一方、ステップS202において抽出した話題に対応する未来イベント情報が存在しない場合(ステップS203:No)、応答生成サーバ100は、通常の対話を行う(ステップS206)。また、未来イベント情報に含まれるイベントの日時が現在時刻から所定の期間内でない場合(ステップS204:No)、応答生成サーバ100は、通常の対話を行う(ステップS206)。
【0094】
〔5.決定処理の流れ〕
次に、
図10を用いて、対話決定システム1における決定処理の流れを示す。
図10は、実施形態に係る決定処理の一例を示すシーケンス図である。
【0095】
図10に例示するように、端末装置20は、アプリケーションの起動指示を受け付けると、対話アプリを起動する(ステップS51)。そして、端末装置20の音声データ送信部25aは、ユーザの発話を検知すると、発話の音声データをsocket通信により音声認識サーバ30へ送信する(ステップS52)。
図2の例では、端末装置20は、「昨日のサッカーの試合結果を教えて。」というユーザU1の発話の音声データ(音声情報)を音声認識サーバ30へ送信する。
【0096】
そして、音声認識サーバ30は、発話の音声データを受信すると、音声データをテキストデータに変換する(ステップS53)。
図2の例では、音声認識サーバ30は、端末装置20から受信した「昨日のサッカーの試合結果を教えて。」というユーザU1の発話の音声データをテキストデータ(例えば、入力情報IM11)に変換する。そして、音声認識サーバ30は、変換した発話のテキストデータを端末装置20に送信する(ステップS54)。
図2の例では、音声認識サーバ30は、変換した発話のテキストデータとして入力情報IM11を端末装置20に送信する。
【0097】
続いて、端末装置20は、音声認識サーバ30から発話のテキストデータを受信すると、発話のテキストデータを応答生成サーバ100に送信する(ステップS55)。
図2の例では、端末装置20は、音声認識サーバ30から発話のテキストデータとして入力情報IM11を受信すると、入力情報IM11を応答生成サーバ100に送信する。
【0098】
続いて、応答生成サーバ100は、発話のテキストデータを取得すると、テキストデータに対応する出力を決定する決定処理を行う(ステップS56)。
図2の例では、応答生成サーバ100は、発話のテキストデータとして入力情報IM11を取得すると、入力情報IM11に対応する通常情報NM11や未来情報FM11を含む出力情報OM11を決定する。
【0099】
また、応答生成サーバ100は、応答発話用のテキストデータを音声合成サーバ40に送信する(ステップS57)。
図2の例では、応答生成サーバ100は、応答発話用のテキストデータとして出力情報OM11を音声合成サーバ40に送信する。そして、音声合成サーバ40は、応答発話用のテキストデータから音声を合成する音声合成処理を行って、応答発話用の中間表記を生成する(ステップS58)。
図2の例では、応答生成サーバ100は、出力情報OM11から音声を合成する音声合成処理を行って、応答発話用の中間表記を生成する。そして、音声合成サーバ40は、応答発話用の中間表記を応答生成サーバ100に送信する(ステップS59)。
図2の例では、音声合成サーバ40は、出力情報OM11から生成した応答発話用の中間表記を応答生成サーバ100に送信する。
【0100】
続いて、応答生成サーバ100は、応答発話用の中間表記を端末装置20に送信する(ステップS60)。
図2の例では、応答生成サーバ100は、出力情報OM11から生成された応答発話用の中間表記を端末装置20に送信する。なお、応答生成サーバ100は、端末装置20が出力情報OM11により音声の出力が可能である場合、出力情報OM11を端末装置20に送信してもよい。
【0101】
そして、端末装置20は、受信した応答発話用の中間表記等を解析し、ユーザへの出力を決定する(ステップS61)。続いて、端末装置20は、応答発話用の中間表記を用いて、応答の音声を出力する(ステップS62)。
図2の例では、端末装置20は、出力情報OM11から生成された応答発話用の中間表記を用いて、通常情報NM11や未来情報FM11を含む応答(出力情報OM11)の音声を出力する。なお、端末装置20は、出力情報OM11により音声の出力が可能である場合、出力情報OM11を用いて、通常情報NM11や未来情報FM11を含む応答(出力情報OM11)の音声を出力してもよい。
【0102】
〔6.効果〕
上述してきたように、実施形態に係る対話決定システム1は、取得部131と、決定部135とを有する。取得部131は、対話システム(実施形態においては、「対話決定システム1」。以下同じ)以外のシステム(実施形態においては、「外部システム5」。以下同じ)からユーザに関する行動情報(実施形態においては、「利用情報」。以下同じ)を取得する。また、決定部135は、取得部131により取得されたユーザに関する行動情報に基づいて、対話システムにおけるユーザに対する出力を決定する。
【0103】
これにより、実施形態に係る対話決定システム1は、対話決定システム1以外の外部システム5から取得したユーザに関する行動情報に基づいて、対話システムにおけるユーザに対する出力を決定する。これにより、対話決定システム1は、ユーザの発話の意図を総合的に判断して出力を決定することができる。したがって、対話決定システム1は、対話システムにおける出力を適切に決定することができる。
【0104】
また、実施形態に係る対話決定システム1において、決定部135は、ユーザに関する行動情報に基づいてユーザが関心を示すと推定される未来のイベントに関する情報を、対話システムにおける出力として決定する。
【0105】
これにより、実施形態に係る対話決定システム1は、対話決定システム1以外の外部システム5から取得したユーザに関する行動情報から未来のイベントに関する情報を抽出し、抽出した未来のイベントに関する情報を対話システムにおける出力として決定する。これにより、対話決定システム1は、各ユーザが関心を示す可能性の高い未来イベントに関する情報を、ユーザに対して出力することができる。したがって、対話決定システム1は、対話システムにおける出力を適切に決定することができる。
【0106】
また、実施形態に係る対話決定システム1において、決定部135は、未来のイベントが開始される日時がユーザに対して出力を行う日時から未来に向かって所定期間内である場合、未来のイベントに関する情報を、対話システムにおける出力として決定する。
【0107】
これにより、実施形態に係る対話決定システム1は、未来のイベントが開始される日時がユーザに対して出力を行う日時から未来に向かって所定期間内である場合、未来のイベントに関する情報を対話システムにおける出力として決定する。例えば、対話決定システム1は、未来のイベントが開始される日時がユーザに対して出力を行う日時に近い未来のイベントに関する情報を、対話システムにおける出力として決定する。そのため、対話決定システム1は、各ユーザが関心を示す可能性の高い未来イベントに関する情報を、ユーザに対して出力することができる。したがって、対話決定システム1は、対話システムにおける出力を適切に決定することができる。
【0108】
また、実施形態に係る対話決定システム1は、更新部138を有する。更新部138は、ユーザに関する行動情報に基づいて前記ユーザが関心を示すと推定される未来のイベントに関する情報により、記憶部(実施形態においては、「ユーザ情報記憶部121)。以下同じ」に記憶されたユーザの嗜好に関する情報を更新する。
【0109】
これにより、実施形態に係る対話決定システム1は、対話決定システム1以外の外部システム5から取得したユーザに関する行動情報に基づいて未来イベント情報記憶部122に記憶された未来イベントに関する情報を更新する。これにより、対話決定システム1は、各ユーザが関心を示す可能性の高い未来イベントに関する情報を、ユーザに対応付けて記憶することができる。また、対話決定システム1は、未来イベント情報記憶部122に記憶された未来イベントに関する情報を用いることにより、対話システムにおける出力を適切に決定することができる。
【0110】
また、実施形態に係る対話決定システム1において、決定部135は、未来のイベントに関する情報が出力されたユーザの対話システムにおける応答に関する情報に基づいて、対話システムにおけるユーザに対する出力を決定する。
【0111】
これにより、実施形態に係る対話決定システム1は、未来のイベントに関する情報が出力されたユーザの対話システムにおける応答に関する情報に基づくことにより、対話システムにおける出力を適切に決定することができる。
【0112】
また、実施形態に係る対話決定システム1において、決定部135は、応答に関する情報を用いた学習により生成されるモデルに基づいて、対話システムにおけるユーザに対する出力を決定する。
【0113】
これにより、実施形態に係る対話決定システム1は、応答に関する情報を用いた学習により生成されるモデルに基づくことにより、対話システムにおける出力を適切に決定することができる。
【0114】
また、実施形態に係る対話決定システム1において、決定部135は、ユーザに対する出力として、ユーザの入力に対応する文字情報に応答する文字情報である応答文字情報を決定する。
【0115】
これにより、実施形態に係る対話決定システム1は、対話システムにおける出力として、ユーザの入力に対応する文字情報に応答する文字情報である応答文字情報を適切に決定することができる。
【0116】
また、実施形態に係る対話決定システム1において、決定部135は、対話システムにおけるユーザの入力が回答を求める情報であった場合、ユーザに対する出力として、応答文字情報に続けて出力される文字情報であって、応答文字情報に関連する未来のイベントに関する文字情報を決定する。
【0117】
これにより、実施形態に係る対話決定システム1は、ユーザの入力に対して回答した後に続けて、未来のイベントに関する情報を出力することにより、ユーザに対して違和感のない流れで、未来のイベントに関する情報を出力することができる。したがって、対話決定システム1は、対話システムにおける出力を適切に決定することができる。
【0118】
また、実施形態に係る端末装置20は、取得部と、決定部とを有する。取得部は、対話システム以外のシステムからユーザに関する行動情報を取得する。また、決定部は、取得部により取得されたユーザに関する行動情報に基づいて、対話システムにおけるユーザに対する出力を決定する。
【0119】
これにより、実施形態に係る端末装置20は、対話決定システム1以外の外部システム5から取得したユーザに関する行動情報に基づいて、対話システムにおけるユーザに対する出力を決定する。これにより、端末装置20は、ユーザの発話の意図を総合的に判断して出力を決定することができる。したがって、端末装置20は、対話システムにおける出力を適切に決定することができる。
【0120】
〔7.ハードウェア構成〕
上述してきた実施形態に係る応答生成サーバ100及び端末装置20は、例えば
図11に示すような構成のコンピュータ1000によって実現される。
図11は、応答生成サーバ及び端末装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を有する。
【0121】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0122】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、ネットワークNを介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータをネットワークNを介して他の機器へ送信する。
【0123】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0124】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0125】
例えば、コンピュータ1000が実施形態に係る応答生成サーバ100や端末装置20として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130やアプリ25の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
【0126】
以上、本願の実施形態及び変形例のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0127】
〔8.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0128】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0129】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0130】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、受付部は、受付手段や受付回路に読み替えることができる。