(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024108931
(43)【公開日】2024-08-13
(54)【発明の名称】プログラム、情報処理方法、情報処理装置
(51)【国際特許分類】
G06F 3/16 20060101AFI20240805BHJP
G06F 3/0481 20220101ALI20240805BHJP
【FI】
G06F3/16 600
G06F3/16 620
G06F3/0481
【審査請求】未請求
【請求項の数】21
【出願形態】OL
(21)【出願番号】P 2023013593
(22)【出願日】2023-01-31
(71)【出願人】
【識別番号】500257300
【氏名又は名称】LINEヤフー株式会社
(74)【代理人】
【識別番号】110001759
【氏名又は名称】弁理士法人よつ葉国際特許事務所
(74)【代理人】
【識別番号】100093687
【弁理士】
【氏名又は名称】富崎 元成
(74)【代理人】
【識別番号】100168468
【弁理士】
【氏名又は名称】富崎 曜
(74)【代理人】
【識別番号】100166176
【弁理士】
【氏名又は名称】加美山 豊
(72)【発明者】
【氏名】山崎 天
(72)【発明者】
【氏名】佐藤 敏紀
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA08
5E555BA04
5E555BA76
5E555BB04
5E555BC04
5E555CB34
5E555CB44
5E555CB45
5E555DA22
5E555DB18
5E555DB20
5E555DB41
5E555DB53
5E555DB57
5E555FA00
(57)【要約】
【課題】音情報による出力と、入力に基づく他の応答とを出力可能にする。
【解決手段】
情報処理装置によって実行されるプログラムは、ユーザから入力された第1入力を情報処理装置の制御部によって取得することと、音情報による第1応答を制御部によって出力する制御を行い、言語モデルと、第1入力とに基づく、表示される第2応答を制御部によって出力する制御を行うこととが情報処理装置によって実行される。
【選択図】
図1-1
【特許請求の範囲】
【請求項1】
情報処理装置によって実行されるプログラムであって、
ユーザから入力された第1入力を前記情報処理装置の制御部によって取得することと、
音情報による第1応答を前記制御部によって出力する制御を行い、言語モデルと、前記第1入力とに基づく、表示される第2応答を前記制御部によって出力する制御を行うこととが前記情報処理装置によって実行される。
【請求項2】
請求項1に記載のプログラムであって、
前記第1応答は、フィラー音に関する情報を含む。
【請求項3】
請求項2に記載のプログラムであって、
前記第1応答は、表示制御に関する情報を含まない。
【請求項4】
請求項2に記載のプログラムであって、
前記第1応答は、前記フィラー音に基づく表示制御に関する情報を含む。
【請求項5】
請求項4に記載のプログラムであって、
前記第1応答と、前記第2応答とは、区別されて前記ユーザの端末に表示される。
【請求項6】
請求項1から請求項5のいずれか一項に記載のプログラムであって、
前記第1入力は、第1コンテンツを含み、
前記第2応答は、第2コンテンツを含み、
前記第1コンテンツと、前記第2コンテンツとは、前記ユーザを含むチャットルームに表示される。
【請求項7】
請求項6に記載のプログラムであって、
前記第2応答の送信元は、前記チャットルームに含まれるボットユーザである。
【請求項8】
請求項1から請求項7のいずれか一項に記載のプログラムであって、
設定された時間以上、または設定された時刻を経過した場合、前記第1応答とは異なる第3応答を出力する制御を前記制御部によって行うことが前記情報処理装置によって実行される。
【請求項9】
請求項8に記載のプログラムであって、
前記第3応答を出力する制御は、前記第1入力の取得に基づく時点から、前記第1応答、または前記第2応答の出力までに、前記設定された時間以上、または前記設定された時刻を経過した場合、前記制御部によって行われる。
【請求項10】
請求項1から請求項7のいずれか一項に記載のプログラムであって、
設定された時間以上、または設定された時刻を経過した場合、前記第1応答を出力しない制御を前記制御部によって行うことが前記情報処理装置によって実行される。
【請求項11】
請求項10に記載のプログラムであって、
前記第1応答を出力しない制御は、前記第1入力の取得に基づく時点から、前記第1応答、または前記第2応答の出力までに、前記設定された時間以上、または前記設定された時刻を経過した場合、前記制御部によって行われる。
【請求項12】
請求項1から請求項11のいずれか一項に記載のプログラムであって、
前記第1応答は、前記第1入力に基づき生成される。
【請求項13】
請求項1から請求項12のいずれか一項に記載のプログラムであって、
前記第1応答は、前記ユーザとの関係性に基づいて決定される。
【請求項14】
請求項1から請求項13のいずれか一項に記載のプログラムであって、
前記第1入力は、第1コンテンツを含み、
前記第1応答は、前記第1コンテンツを含む、前記ユーザによって送信された複数のコンテンツのコンテキストに基づき生成される。
【請求項15】
請求項1から請求項14のいずれか一項に記載のプログラムであって、
音情報を前記制御部によって取得することと、
取得された音情報を属性ごとに分類して記憶部に記憶する制御を前記制御部によって行うこととが前記情報処理装置によって実行され、
前記第1応答は、分類して前記記憶部に記憶された音情報に基づいて生成される。
【請求項16】
請求項1から請求項15のいずれか一項に記載のプログラムであって、
前記第1応答は、前記第2応答に基づいて生成される。
【請求項17】
請求項16に記載のプログラムであって、
前記第1応答は、前記第2応答が生成される時間に基づいて生成される。
【請求項18】
請求項1から請求項17のいずれか一項に記載のプログラムであって、
前記第2応答は、前記第1応答に基づいて生成される。
【請求項19】
請求項18に記載のプログラムであって、
前記第2応答は、前記第1応答の属性に基づいて生成される。
【請求項20】
情報処理装置の情報処理方法であって、
ユーザから入力された第1入力を前記情報処理装置の制御部によって取得することと、
音情報による第1応答を前記制御部によって出力する制御を行い、言語モデルと、前記第1入力とに基づく、表示される第2応答を前記制御部によって出力する制御を行うこととを含む。
【請求項21】
情報処理装置であって、
ユーザから入力された第1入力を取得し、音情報による第1応答を出力する制御を行い、言語モデルと、前記第1入力とに基づく、表示される第2応答を出力する制御を行う制御部を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理方法、情報処理装置、システム等に関する。
【背景技術】
【0002】
昨今、AI技術を用いた自動対話サービスが普及しつつある。例えば特許文献1には、ロボットを音声チャットボットのユーザインタフェースとして用いる情報処理システムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【0004】
本発明の第1の態様によると、情報処理装置によって実行されるプログラムは、ユーザから入力された第1入力を情報処理装置の制御部によって取得することと、音情報による第1応答を制御部によって出力する制御を行い、言語モデルと、第1入力とに基づく、表示される第2応答を制御部によって出力する制御を行うこととが情報処理装置によって実行される。
本発明の第2の態様によると、情報処理装置の情報処理方法は、ユーザから入力された第1入力を情報処理装置の制御部によって取得することと、音情報による第1応答を制御部によって出力する制御を行い、言語モデルと、第1入力とに基づく、表示される第2応答を制御部によって出力する制御を行うこととを含む。
本発明の第3の態様によると、情報処理装置は、ユーザから入力された第1入力を取得し、音情報による第1応答を出力する制御を行い、言語モデルと、第1入力とに基づく、表示される第2応答を出力する制御を行う制御部を備える。
【図面の簡単な説明】
【0005】
【
図1-1】第1実施例に係る情報処理装置の構成の一例を示す図。
【
図1-2】第1実施例に係る情報処理装置の表示部に表示される画面の一例を示す図。
【
図1-3】第1実施例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図1-4】第1実施例に係る通信システムの構成の一例を示す図。
【
図1-5】第1実施例に係るサーバの制御部によって実現される機能の一例を示す図。
【
図1-6】第1実施例に係るサーバの記憶部に記憶される情報の一例を示す図。
【
図1-7】第1実施例に係るアカウント登録データのデータ構成の一例を示す図。
【
図1-8】第1実施例に係る端末の制御部によって実現される機能の一例を示す図。
【
図1-9】第1実施例に係る端末の記憶部に記憶される情報の一例を示す図。
【
図1-10】第1実施例に係る端末の表示部に表示される画面の一例を示す図。
【
図1-11】第1実施例に係る各装置が実行する処理の流れの一例を示すフローチャート。
【
図2-1】第2実施例に係る情報処理装置の構成の一例を示す図。
【
図2-2】第2実施例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図2-3】第2実施例に係る各装置が実行する処理の流れの一例を示すフローチャート。
【
図3-1】第3実施例に係る情報処理装置の構成の一例を示す図。
【
図3-2】第3実施例に係る情報処理装置の表示部に表示される画面の一例を示す図。
【
図3-3】第3実施例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図3-4】第3変形例に係る情報処理装置の構成の一例を示す図。
【
図3-5】第3変形例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図3-6】第3変形例に係る情報処理装置の構成の一例を示す図。
【
図3-7】第3変形例に係る第2言語モデル部推論処理の一例を示すフローチャート。
【
図3-8】第3変形例に係る第1応答生成処理と第2応答生成処理との処理例の一覧を示す図。
【
図4-1】第4実施例に係る情報処理装置の構成の一例を示す図。
【
図4-2】第4実施例に係る情報処理装置の表示部に表示される画面の一例を示す図。
【
図4-3】第4実施例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図4-4】第4変形例に係る情報処理装置の表示部に表示される画面の一例を示す図。
【
図4-5】第4変形例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図5-1】第5実施例に係る情報処理装置の構成の一例を示す図。
【
図5-2】第5実施例に係る情報処理装置の表示部に表示される画面の一例を示す図。
【
図5-3】第5実施例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図5-4】第5変形例に係る情報処理装置の構成の一例を示す図。
【
図5-5】第5変形例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図6-1】第6実施例に係る情報処理装置の表示部に表示される画面の一例を示す図。
【
図6-2】第6実施例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図7-1】第7実施例に係る情報処理装置の構成の一例を示す図。
【
図7-2】第7実施例に係る情報処理装置の表示部に表示される画面の一例を示す図。
【
図7-3】第7実施例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図7-4】第7実施例に係るサーバの制御部によって実現される機能の一例を示す図。
【
図7-5】第7実施例に係るサーバの記憶部に記憶される情報の一例を示す図。
【
図7-6】第7実施例に係るフィラー管理データベースのデータ構成の一例を示す図。
【
図7-7】第7実施例に係る端末の表示部に表示される画面の一例を示す図。
【
図7-8】第7実施例に係る各装置が実行する処理の流れの一例を示すフローチャート。
【
図7-9】第7変形例に係る端末の表示部に表示される画面の一例を示す図。
【
図7-10】第7変形例に係る端末の表示部に表示される画面の一例を示す図。
【
図7-11】第7変形例に係る情報処理装置の構成の一例を示す図。
【
図7-12】第7変形例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図7-13】第7変形例に係る情報処理装置の構成の一例を示す図。
【
図7-14】第7変形例に係る情報処理装置が実行する処理の流れの一例を示すフローチャート。
【
図7-15】第7変形例に係るフィラー生成処理と応答文生成処理との処理例の一覧を示す図。
【
図7-16】第7変形例に係るフィラー生成処理と応答文生成処理との処理主体の一覧を示す図。
【
図8-1】第8実施例に係る端末の表示部に表示される画面の一例を示す図。
【
図8-2】第8実施例に係る情報処理装置が実行する処理の流れの一例を示すタイミングチャート。
【
図8-3】第8変形例に係る情報処理装置が実行する処理の流れの一例を示すタイミングチャート。
【
図9-1】第10実施例に係るフィラー管理データベースのデータ構成の一例を示す図。
【
図9-2】第10実施例に係る各装置が実行する処理の流れの一例を示すフローチャート。
【
図9-3】第10実施例に係る各装置が実行する処理の流れの一例を示すフローチャート。
【発明を実施するための形態】
【0006】
<法的事項の遵守>
本明細書に記載の開示は、通信の秘密など、本開示の実施に必要な実施国の法的事項遵守を前提とすることに留意されたい。
【0007】
<実施形態>
本明細書では、分かり易いように「限定ではなく例として」と記載する箇所があるが、該当箇所ばかりでなく、以下説明する実施形態の全体について、その記載内容に限定されるものではないことに留意されたい。
【0008】
本開示に係るプログラム等を実施するための実施形態について、図面を参照して説明する。
【0009】
本願請求項に係る発明の情報処理装置(本願発明の情報処理装置)の生産は、限定ではなく例として、本明細書に記載したプログラム(限定ではなく例として、対話プログラム)等が受信されることによって(または受信されて情報処理装置に記憶されることによって)、本情報処理装置において、本願請求項に係る発明の機能が実現可能となる状態が作り出される(本願請求項に係る発明が実行可能になる状態が作り出される)という概念を含んでもよい。
【0010】
本願請求項に係る発明の端末(本願発明の端末)の生産は、限定ではなく例として、ユーザが所有(所持)している端末で、本明細書に記載したプログラム(限定ではなく例として、アプリケーションプログラム)等が受信されることによって(または受信されて端末に記憶されることによって)、本端末において、本願請求項に係る発明の機能が実現可能となる状態が作り出される(本願請求項に係る発明が実行可能になる状態が作り出される)という概念を含んでもよい。
【0011】
また、本願請求項に係る発明のシステム(本願発明のシステム)の生産は、限定ではなく例として、本願システムに含まれるサーバから送信された本明細書に記載されたプログラム(限定ではなく例として、アプリケーションプログラム)等を、本願システムに含まれる端末で受信することによって(または受信されたプログラムが端末に記憶されることによって)、本願請求項に係るシステムの発明の機能が実現可能となる状態が作り出される(本願請求項に係る発明が実行可能になる状態が作り出される)という概念を含んでもよい。
【0012】
また、本明細書において、システムとは、限定ではなく例として、複数の装置(情報処理装置と言ってもよい。)を有して構成されるものとすることができる。
複数の装置は、同じ種類の装置の組合せとしてもよいし、異なる種類の装置の組合せとしてもよいし、同じ種類の装置と異なる種類の装置との組合せとしてもよい。
なお、システムとは、限定ではなく例として、複数の装置が協働して何らかの処理を行うもの、と考えることもできる。
【0013】
また、クライアント(クライアント装置)とサーバとに関するシステムとは、限定ではなく例として、少なくとも以下のいずれかと考えることができる。
(1)端末&サーバ
(2)サーバ
(3)端末
【0014】
(1)は、限定ではなく例として、少なくとも1つの端末と、少なくとも1つのサーバとを含むシステムである。この一例は、クライアントサーバシステムである。
【0015】
サーバは、限定ではなく例として、以下の装置によって構成されており、単独の装置であってもよいし、複数の装置の組合せであってもよいものとする。
【0016】
具体的には、サーバは、限定ではなく例として、少なくとも1つのプロセッサー(限定ではなく例として、CPU:Central Processing Unit、GPU:Graphics Processing Unit、APU:Accelerated Processing Unit、DSP:Digital Signal Processor(限定ではなく例として、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array)等)、コンピュータ装置(プロセッサー+メモリ)、制御装置、演算装置、処理装置等のいずれかを有して構成され、いずれか1つの装置の同種を複数備える構成(限定ではなく例として、CPU+CPU、ホモジニアスマルチコアプロセッサー等)や、いずれか1つの装置の異種を複数備える構成(限定ではなく例として、CPU+DSP、ヘテロジニアスマルチコアプロセッサー等)としてもよいし、複数の装置の組み合わせ(限定ではなく例として、プロセッサー+コンピュータ装置、プロセッサー+演算装置、複数の装置をヘテロジニアス化したもの等)であってもよい。
なお、プロセッサーは、仮想プロセッサーとしてもよい。
【0017】
また、サーバによって何らかの処理を実行する場合に、単一の装置で構成される場合は、単一の装置によって実施例に記載されている処理が実行される。また、複数の装置を有して構成されている場合には、一部の処理を一方の装置が実行し、その他の処理を他方の装置が実行するように構成されていてもよい。限定ではなく例として、プロセッサーと、演算装置とを有して構成される場合、第1処理をプロセッサーが実行し、第2処理を演算装置が実行するように構成されていてもよい。
また、複数の装置で構成する場合には、各々の装置が互いに物理的に離れた位置に配置されて構成されてもよい。
【0018】
また、サーバの機能は、限定ではなく例として、クラウドコンピューティングにおけるPaaSやIaaS、SaaSの形態で提供されるようにしてもよい。
【0019】
また、システムの制御部は、端末の制御部とサーバの制御部とのうちの少なくともいずれか一方とすることができる。つまり、限定ではなく例として、(1A)端末の制御部のみ、(1B)サーバの制御部のみ、(1C)端末の制御部とサーバの制御部との両方、のうちのいずれかを、システムの制御部とすることができる。
【0020】
また、システムの制御部が行う制御や処理(以下、包括的に「制御等」と称する。)は、(1A)端末の制御部のみによって行うようにしてもよいし、(1B)サーバの制御部のみによって行うようにしてもよいし、(1C)端末の制御部とサーバの制御部との両方によって行うようにしてもよい。
また、(1C)では、限定ではなく例として、システムが制御部によって行う制御等のうちの一部の制御等を端末の制御部によって行うようにし、残りの制御等をサーバの制御部によって行うようにしてもよい。この場合、制御等の割り当て(割り振り)は、等分であってもよいし、等分ではなく異なる割合で割り当ててもよい。
【0021】
また、サーバの通信部という場合、サーバが単一の装置によって構成されている場合には、単一の装置が備える通信部そのものであってもよい。また、サーバが複数の装置を有して構成されている場合には、サーバの通信部は、各々の装置が備える各々の通信部を含む構成であってもよい。
限定ではなく例として、サーバは、第1装置と第2装置とを備え、第1装置は第1通信部を有し、第2装置は第2通信部を有する場合、サーバの通信部は、第1通信部と第2通信部とを含む概念としてもよい。
【0022】
(2)は、限定ではなく例として、複数のサーバによって構成されるシステム(以下、「サーバシステム」と称する。)とすることができる。この場合、各々のサーバの構成としては、前述した構成を同様に適用することができる。
【0023】
サーバシステムが行う制御等は、複数のサーバのうち、(2A)一のサーバのみによって行うようにしてもよいし、(2B)他のサーバのみによって行うようにしてもよいし、(2C)一のサーバと他のサーバとが行うようにしてもよい。
また、(2C)では、限定ではなく例として、サーバシステムが行う制御等のうちの一部の制御等を一のサーバが行うようにし、残りの制御等を他のサーバが行うようにしてもよい。この場合、制御等の割り当て(割り振り)は、等分であってもよいし、等分ではなく異なる割合で割り当ててもよい。
【0024】
(3)は、限定ではなく例として、複数の端末によって構成されるシステムとすることができる。
このシステムは、限定ではなく例として、以下のようなシステムとすることができる。
・サーバの機能を端末に持たせるシステム(分散システム)。これは、限定ではなく例として、ブロックチェーンの技術を用いて実現することが可能である。
・端末同士が無線通信を行うシステム。これは、限定ではなく例として、ブルートゥース(登録商標)等の近距離無線通信技術を用いてP2P(ピアツーピア)方式等で通信を行うことで実現可能である。
【0025】
なお、上記は、制御部に限らず、システムの構成要素となり得る入出力部、通信部、記憶部、時計部等の各機能部についても同様である。
【0026】
以下の実施形態では、限定ではなく例として、端末とサーバとを含むシステム(限定ではなく例として、クライアントサーバシステム)を例示する。
なお、サーバとして、上記(2)のサーバシステムを適用することも可能である。
【0027】
また、端末とサーバとを含むシステムに代えて、サーバを含まないシステム、限定ではなく例として、上記(3)のシステムを適用することも可能である。
この場合の実施形態は、前述したブロックチェーンの技術等に基づいて構成することが可能である。具体的には、限定ではなく例として、以下の実施形態で説明するサーバに記憶されて管理されるデータを、ブロックチェーン上に保管(格納)する。そして、端末が、ブロックチェーンへのトランザクションを生成し、トランザクションがブロックチェーン上で承認されると、ブロックチェーン上に保管されたデータが更新されるようにすることができる。
【0028】
なお、端末と表現した場合でも、これは、クライアントサーバにおけるクライアントの装置としての端末の意味に限定されるものではない。
つまり、端末は、クライアントサーバにおけるものではない装置の概念を含むこともあり得る。
【0029】
また、本明細書では、適宜「通信I/Fによって」という表現を用いる。これは、限定ではなく例として、装置が、制御部(プロセッサー等)の制御に基づいて、通信I/Fを介して(通信部を介して)、各種の情報やデータを送受信することを示してもよいものとする。
【0030】
また、本明細書において「関する」、「関連する」と記載された用語について、「Aに関するB」や「Aに関連するB」という場合、限定ではなく例として、「A」と何らかの関係性を有する「B」を意味してよいものとする。この具体例については後述する。
【0031】
また、本明細書において、「AとBとを送信する」、「AとBとを受信する」といったように、装置が2以上のものを対象として処理を行うことには、「A」と「B」とをタイミングを合わせて行うもの(以下、「同時」という。)と、「A」と「B」とをタイミングをずらして行うもの(以下、「非同時」という。)とを含めてよいものとする。
限定ではなく例として、第1情報と第2情報とを送信するという場合、第1情報と第2情報とをタイミングを合わせて送信するものと、第1情報と第2情報とをタイミングをずらして送信するものとの両方の概念を含めてよいものとする。
なお、ラグ(タイムラグ)を考慮し、「同時」には「ほぼ同時」を含めてよいものとする。
【0032】
なお、「A」と「B」とをタイミングをずらして行うといっても、これはあくまでも「A」と「B」とを対象として処理を行うものであればよく、その目的は必ずしも同じでなくてもよいものとする。
限定ではなく例として、上記のように第1情報と第2情報とを送信するという場合、第1情報と第2情報とを送信しさえすればよく、同じ目的で第1情報と第2情報とを送信する場合の他、異なる目的で第1情報と第2情報とを送信する場合も含めてよいものとする。
【0033】
以下の実施例では、ユーザがチャットを行うためのサービス(以下、「チャットサービス」と称する。)の一例として、メッセージングサービス(Messaging Service)を例示する。また、チャットサービスを実現するためのアプリケーションを「チャットアプリケーション」と称し、その一例として、メッセージングサービスを実現するためのアプリケーションを「メッセージングアプリケーション」と称する。
チャットアプリケーションでは、限定ではなく例として、ユーザがチャットルームでチャットを行うことができるようにすることができる。
【0034】
なお、メッセージングサービス:MS(インスタントメッセージサービス:IMSを含む。)は、ソーシャルネットワーキングサービス:SNSの1つの形態(一形態)と考えることもできる。このため、メッセージンサービスとソーシャルネットワーキングサービスとを区別してもよいし、区別しなくてもよい。つまり、ソーシャルネットワーキングサービスにメッセージングサービスを含めてもよいものとする。
【0035】
また、以下の実施例では、メッセージングサービスの一例として、サーバを介して複数の装置(限定ではなく例として、端末)間で簡単なメッセージの送受信を行うインスタントメッセージングサービス:IMS(Instant Messaging Service)を例示する。
インスタントメッセージングアプリケーションでは、限定ではなく例として、ユーザがチャットルームでトークを行うようにすることができる。
【0036】
チャットルーム(限定ではなく例として、トークルーム)とは、複数のユーザの端末間で送受信されるコンテンツを各々のユーザが閲覧できるUI(User Interface)やGUI(Graphical User Interface)とすることができる。
【0037】
メッセージングサービスにおいて、ユーザは、限定ではなく例として、任意のアカウントと「友だち」登録することで、トークルームを介してメッセージのやり取りをすることができる。
【0038】
なお、「友だち」とは、限定ではなく例として、メッセージングアプリケーションにおける第1ユーザのアカウントと第2ユーザのアカウントとが一方的または双方向に関連付けられた場合の第1ユーザと第2ユーザとの関係性と言ってもよい。
限定ではなく例として、第1ユーザのアカウントと第2ユーザのアカウントとの相互的関連付けが行われている場合、第1ユーザと第2ユーザとは「友だち」であると言ってもよい。また、限定ではなく例として、第1ユーザのアカウントから第2ユーザのアカウントに対する関連付けが行われている場合、第2ユーザのアカウントから第1ユーザのアカウントに対する関連付けが行われていなくとも、第1ユーザと第2ユーザとは「友だち」であると言ってもよい。
【0039】
また、ユーザ同士(アカウント同士)が関連付けられていることの一例として、以下ではメッセージングサービスにおける「友だち」を主に例示するが、これに限定されない。
限定ではなく例として、SNSにおいて、自分が興味を持つなどして登録した他のユーザ(アカウント)を示す「フォロー」や、自分に興味を持つなどして自分を登録した他のユーザ(アカウント)を示す「フォロワー」のような関係も、ユーザ同士(アカウント同士)が関連付けられていることに含めてよい。
【0040】
また、トークルームには、1対1のユーザのトークルーム(以下、「1対1トークルーム」と称する。)、複数のユーザを含むグループのトークルーム(以下、「グループトークルーム」と称する。)、OA事業者(限定ではなく例として、メッセージングサービスの事業者と提携する事業者)とのトークルーム(以下、「OAトークルーム」と称する。)等を含めることができる。
【0041】
また、メッセージングアプリケーションのアカウントであって、一般のユーザではない事業者のアカウントを「(OA(Official Account))」と称してもよく、この公式アカウントのユーザを「公式ユーザ」と称してもよい。なお、これを「公式アカウントユーザ」や「公式アカウント事業者」等のように称してもよい。
それに対し、メッセージングアプリケーションのアカウントであって、OA事業者ではないユーザのアカウントを「一般アカウント」と称し、一般アカウントのユーザを「一般ユーザ」と称する。なお、これを「一般アカウントユーザ」等のように称してもよい。
つまり、メッセージングアプリケーションのアカウントには、一般アカウントと公式アカウントとを含めてよいものとする。
【0042】
また、OA事業者も、限定ではなく例として、一般アカウントのユーザの端末と同様の端末を利用して、サーバを介して、他の装置との間でメッセージの送受信を行うことができるようにしてもよい。
【0043】
また、メッセージ(メッセージ情報)とは、限定ではなく例として、メッセージングサービスで用いられる送信元と送信先とが定められる情報であって、メッセージを識別するための識別情報(メッセージID)とメッセージコンテンツとで構成される情報としてもよい。
また、メッセージコンテンツとは、限定ではなく例として、メッセージIDを除くメッセージの中身を意味するものとしてもよい。メッセージコンテンツは、1または2以上のコンテンツとしてもよい。
【0044】
また、メッセージを識別するための識別情報として設定される情報を「メッセージID」と称する。
同じメッセージIDのメッセージに含まれるメッセージコンテンツは、このメッセージIDによって識別されると考えることもできる。よって、メッセージを識別するための識別情報は、メッセージコンテンツを識別するための識別情報と実質的に同義と考えることもできる。
なお、これとは異なり、メッセージコンテンツごとに個別の識別情報(メッセージコンテンツID)を設定するようにしてもよいし、そのようにしなくてもよい。
【0045】
コンテンツには、限定ではなく例として、テキスト形式のテキストコンテンツ、画像(静止画像、動画像の少なくともいずれか一方を含む。)形式の画像コンテンツ、音(音声を含む。)形式の音コンテンツなどを含めてよいものとする。
なお、この他にも、ユーザの操作に供するボタンやアイコン等の操作コンテンツや、URI(URL等を含む。)などのリンクコンテンツを含めてもよいものとする。
【0046】
テキストには、限定ではなく例として、文字コードで表される各国の文字、拡張文字、機種依存文字、数字、記号、図形及び符号の少なくともいずれか1つを含めてよいものとする。
なお、テキストは、上記の文字、拡張文字、機種依存文字、数字、記号、図形及び符号の少なくとも1つを含まなくてもよく、その他のテキストを含んでもよい。
【0047】
画像には、限定ではなく例として、アイコン、ボタン、スタンプ(ステッカー)、絵文字、バナー画像といった各種の画像の情報のうちの少なくともいずれか1つを含めることができる。
【0048】
なお、上記の定義とは異なり、メッセージの上位概念がコンテンツである、またはコンテンツとメッセージとは同義である、と定義してもよいし、そのように定義しなくてもよい。
【0049】
以下では、メッセージングアプリケーションの名称を、適宜「Messaging App」と称して図示・説明する。
【0050】
以下では、限定ではなく例として、メッセージングサービス事業者によって、サーバ10が運用・管理されることとして説明する。
【0051】
また、以下では、サーバ10と通信する端末20Aのユーザを「ユーザA.A」、端末20Bのユーザを「ユーザB.B」、端末20Cのユーザを「ユーザC.C」、・・・、として説明する。
【0052】
<実施例>
以下、本発明を適用した実施例の一例について説明する。
一例であるが、ユーザが、情報処理装置を用いて情報処理装置において実装されるAIと対話する場合、情報処理装置にユーザが入力した対話入力文(コンテンツ)に対する言語モデル(限定ではなく例として、AIの実装例の一例)の応答が遅れる場合が生じる。
【0053】
以下説明する実施例では、限定ではなく例として、情報処理装置に対話入力文が入力されると、言語モデルにおける推論処理の処理遅延時間(レイテンシ)によって対話が一時的に途切れることを防ぐため、情報処理装置は、言語モデルにおける推論処理の完了を待たず応答を返すことで、対話をスムーズに進め、ユーザが快適に対話を行うことを可能とする。
【0054】
ここで、言語モデルとは、限定ではなく例として、自然言語における自然な単語の並びを学習可能な数理モデルであり、単語や単語のシークエンスに対する確率分布を獲得可能なモデルと言ってもよい。また、単語をトークン化したトークンのシークエンスに対する確率分布を獲得可能なモデルと言ってもよい。ここで、トークンとは、自然言語の単語に基づいて、言語モデルの入出力に最適化された人工単語(記法)と言ってもよい。
【0055】
以下では、限定ではなく例として、言語モデルに対して入力される単語列を「入力文」、入力文に基づいて、言語モデルによって尤もらしい出力として得られる単語列を「生成文」と称する。なお、入力文は、情報処理装置に対する対話入力文としてもよいし、情報処理装置に対する対話入力文に基づいて前処理された言語モデル用の入力文としてもよい。また、生成文は言語モデルの出力文と言ってもよい。
【0056】
また、以下では、限定ではなく例として、情報処理装置に対する対話入力文に基づいて、言語モデル等によって情報処理装置から出力される文を「応答文」と称する。なお、応答文は情報処理装置の出力文と言ってもよい。
【0057】
なお、以下では、限定ではなく例として、言語モデルに対して入力の一種として、「プロンプト」を用いることがある。プロンプトとは、限定ではなく例として、言語モデルに対して所定の事象に最適化された応答文を生成するために用いられる入力としてもよい。
プロンプトは、入力文に特定のトークン等を付加した系列としてもよいし、特定のルール等に従って入力文の単語系列に対する並べ替えや抽出操作を行った系列としてもよい。また、入力文をそのままプロンプトとして言語モデルに入力するようにしてもよい。プロンプトは、入力文と言ってもよいし、そうしなくてもよい。
【0058】
対話入力文は、音入力(限定ではなく例として、音声認識)によって取得されることとしてもよいし、テキスト入力(限定ではなく例として、キーボード入力)によって取得されることとしてもよい。また、応答文は音出力(限定ではなく例として、音声読み上げ)されることとしてもよいし、テキスト表示されることとしてもよい。
【0059】
なお、対話入力文または応答文、あるいはその両方は、情報処理装置に接続される入出力部から直接入出力されることとしてもよいし、情報処理装置の通信I/F(通信部)によって他の装置との間でデータとして入出力されることとしてもよい。
【0060】
<第1実施例>
第1実施例は、限定ではなく例として、情報処理装置1(以下、適宜「情報処理装置」と称する。)が、ユーザによって入力された対話入力文を取得する。すると、情報処理装置1は、対話入力文に基づいて、第1応答文を出力した後、第2応答文を出力する実施例である。
【0061】
第1実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0062】
<情報処理装置の機能構成>
図1-1は、本開示の実施形態における情報処理装置1の機能構成の一例を示すブロック図である。情報処理装置1は、対話処理装置やチャットボット装置と言ってもよい。
情報処理装置1は、限定ではなく例として、情報処理装置1の制御部(不図示)が有する機能部の一つとして、言語モデル部112を備える。これは、限定ではなく例として、情報処理装置1の制御部が有する機能部(機能ブロック)であり、中央処理装置(CPU)やマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGA等の回路によって構成される。
【0063】
言語モデル部112は、限定ではなく例として、Transformer等のSequence to Sequenceモデルや、GPT等の自己回帰型モデル等、様々な言語モデルとして構成可能である。
【0064】
情報処理装置1の制御部は、限定ではなく例として、情報処理装置1の外部の入力部16から対話入力文を取得する。情報処理装置1の制御部は、対話入力文に基づいて、入力文を生成するようにしてもよい。
言語モデル部112は、限定ではなく例として、入力文を入力として受け付ける。すると、言語モデル部112は、限定ではなく例として、入力文に基づいて、生成文を生成(推論)する。
【0065】
入力部16は、ユーザからの入力を受け付けて、入力に係る情報を情報処理装置1に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部16は、限定ではなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含む。
【0066】
情報処理装置1の制御部は、言語モデル部112によって生成された生成文に基づいて、1以上の応答文を出力部17に出力する。
【0067】
出力部17は、情報処理装置1で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、スピーカ(音出力)、レンズ(限定ではなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。
【0068】
<情報処理装置の表示画面例>
本実施形態における表示画面例について説明する。
なお、以下説明する表示画面の遷移は、本開示の手法を実現するための表示画面の遷移の一例に過ぎない。以下に例示する表示画面の遷移について、一部の表示画面の表示を省略してもよいし、別の表示画面を追加してもよい。
【0069】
また、以下説明する表示画面で用いる用語と、その後に説明する処理で用いる用語とで、用語が異なる場合がある(一部の用語が統一されていない場合がある)が、これは、ユーザの視点で表示画面について分かり易く説明するなどの目的であり便宜上のものに過ぎない。
これは、他の実施例や変形例についても同様である。
【0070】
以下では、限定ではなく例として、情報処理装置1が、縦長のディスプレイの出力部17と接続された装置である場合を例示する。
【0071】
装置には、限定ではなく例として、入力部16として機能するタッチパネルが、そのディスプレイと対向して接続され、これによってタッチスクリーンが構成される。アイコン、ボタン、アイテムまたは入力領域などの要素がディスプレイに表示された場合において、タッチパネルの一部の領域であって、その要素が表示された領域と対向する領域がユーザによって操作された場合、その要素と関連付けられたプログラムまたはそのプログラムのサブルーチンが実行される。
【0072】
以下では、ユーザによる操作として、限定ではなく例として、タップ(タップ操作)等を例示する。
タップ(タップ操作)とは、限定ではなく例として、ユーザが、タッチパネルが一体的に構成された出力部17(タッチスクリーン)を指やペン先などで軽く叩くように触れる動作、触れてから離す動作とすることができる。
【0073】
以下では、情報処理装置1によって対話アプリケーションが実行され、情報処理装置1による入力文の取得と応答文の出力とが反復的に実行されることとする。また、対話アプリケーションの名称を、適宜「Dialog App」と称して図示・説明する。
【0074】
図1-2は、本実施形態において情報処理装置1に接続された出力部17に表示される画面の遷移の一例を示す図である。
図1-2左側は、限定ではなく例として、対話アプリケーションの対話表示画面の一例である。
画面最上部中央には、対話アプリケーションの名称である「Dialog App」の文字が表示されるように構成されている。
【0075】
その下には、情報処理装置1がユーザによる対話入力文の入力待機中であるのか、もしくは、情報処理装置1による応答文の出力中であるのかを示す対話状況表示領域が表示されるように構成されている。
限定ではなく例として、この画面では、「Status」として「入力中」の文字が表示され、情報処理装置1がユーザによる対話入力文の入力待機中であることを示している。
【0076】
対話状況表示領域の下には、情報処理装置1とユーザとの対話内容を表示するための対話内容表示領域DR1が表示されるように構成されている。
この画面では、限定ではなく例として、対話内容表示領域DR1には、情報処理装置1が対話を開始することに基づく応答文を出力した対話テキストRT0(この例では、挨拶と何の話をするかをユーザに問いかけるテキスト)が表示されている。
【0077】
対話内容表示領域DR1の下部には、情報処理装置1がユーザによる対話入力文の入力待機中であることに基づいて、限定ではなく例として、ユーザが文字列で対話入力文を入力するための対話入力文入力領域DIR1が表示されるように構成されている。
この画面では、限定ではなく例として、対話入力文入力領域DIR1に、「スポーツの話はどうでしょう?」という文字列が入力されたことが表示されている。
【0078】
限定ではなく例として、対話入力文入力領域DIR1の下部に表示される「決定」ボタンがタップされると、情報処理装置1に対話入力文として「スポーツの話はどうでしょう?」という文字列が入力される。すると、限定ではなく例として、
図1-2中央の対話表示画面に表示が変わる。
【0079】
この画面では、対話状況表示領域において、限定ではなく例として、「Status」として「対話中」の文字が表示され、情報処理装置1が対話入力文に基づく応答文の出力中であることを示している。
【0080】
対話内容表示領域DR1には、情報処理装置1が受け付けた(取得した)対話入力文の入力テキストIT1が表示されている。そして、入力テキストIT1の下には、対話入力文に基づく第1応答文「そうですね。」を出力した対話テキストRT1が表示されている。
【0081】
その後、限定ではなく例として、
図1-2右側の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、対話テキストRT1の下に、対話入力文に基づく第2応答文「野球もいいですが・・・」を出力した対話テキストRT2が表示されている。
【0082】
また、情報処理装置1が入力テキストIT1で示される対話入力文に基づく応答文を出力したことに基づき、対話状況表示領域では情報処理装置1がユーザによる対話入力文の入力待機中であることが表示されている。
そして、対話入力文入力領域DIR1が再表示されている。
【0083】
なお、上記の画面図では、説明上、対話入力文をテキスト入力、応答文をテキスト表示の形式で入出力したが、これはあくまでも一例である。限定ではなく例として、対話入力文を情報処理装置1に接続された入力部16(限定ではなく例として、マイクロフォン)から音入力するようにしてもよい。また、限定ではなく例として、応答文を情報処理装置1に接続された出力部17(限定ではなく例として、スピーカ)から音出力するようにしてもよい。
【0084】
また、上記の画面図では、対話開始時に情報処理装置1が対話開始を示す応答文を出力することとしたが、これに限定されない。限定ではなく例として、情報処理装置1は対話開始時に応答文を出力せず、ユーザによる対話入力文の入力待機を行うようにしてもよい。
【0085】
上記の画面図において、便宜上各入力テキストと各対話テキストとの周囲をテキストの範囲を規定するための点線で囲って図示したが、これらの点線は実際には表示されないこととしてもよいし、表示されることとしてもよい。
【0086】
<情報処理装置の処理>
図1-3は、本実施形態において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。情報処理装置1のフローチャートにおける処理は、限定ではなく例として、情報処理装置1の制御部が、不図示の記憶部に格納されたアプリケーションプログラム(限定ではなく例として、対話アプリケーション)のコードを読み出し実行することにより実現される。
【0087】
なお、以下説明する処理は、本開示の手法を実現するための処理の一例に過ぎず、これらに限定されるものではない。
以下説明する処理に別のステップを追加してもよいし、以下説明する処理から一部のステップを省略(削除)してもよい。
【0088】
まず、情報処理装置1の制御部は、対話入力文取得処理を実行する(E120)。
対話入力文取得処理において、情報処理装置1の制御部は、限定ではなく例として、入力部16に入力された対話入力文を受け付ける。
対話入力文は、限定ではなく例として、以下のような形式で受け付けるようにしてもよい。
・音声入力
・文字列入力
・画像入力
・文字列データ(テキストデータ)や音声データ、画像データへのファイルポインタ
【0089】
なお、対話入力文取得処理において、情報処理装置1の制御部は、情報処理装置1の不図示の通信I/F(通信部)によって他の装置から文字列データや音声データ、画像データを取得(受信)するようにしてもよい。つまり、取得には受信が含まれてもよい。
【0090】
また、対話入力文取得処理において、情報処理装置1の制御部は、限定ではなく例として、対話入力文を受け付けると、対話入力文を言語モデル部112が受付可能な入力文に変換(限定ではなく例として、データクレンジングや音声認識処理、OCR処理等の前処理や、自然言語からトークン系列への変換処理等)するようにしてもよいし、対話入力文をそのまま入力文としてもよい。
【0091】
次いで、言語モデル部112は、対話入力文に基づく入力文を受け付けると、言語モデル部推論処理を実行する(E130)。すると、言語モデル部112は、入力文に基づく生成文を出力する。
【0092】
そして、情報処理装置1の制御部は、生成文分割処理を実行する(E140)。
生成文分割処理において、情報処理装置1の制御部は、限定ではなく例として、生成文の句読点に基づいて生成文を分割し、第1生成文と第2生成文とを生成する。
【0093】
限定ではなく例として、生成文が「そうですね。サッカーが好きです。」である場合、生成文分割処理において、第1生成文が最初の読点までの「そうですね。」、第2生成文がそれ以降の「サッカーが好きです。」となるように分割されるようにしてもよい。また、第1生成文が最初の句点までの文字列、第2生成文がそれ以降の文字列となるように分割されるようにしてもよい。また、第1生成文が最初の句読点までの文字列、第2生成文がそれ以降の文字列となるように分割されるようにしてもよい。
【0094】
すると、情報処理装置1の制御部は、第1応答文出力処理を実行する(E150)。
第1応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、第1生成文に基づく第1応答文を出力部17に出力する。なお、第1応答文は、第1生成文の文字列データをそのまま出力するようにしてもよいし、第1生成文を、限定ではなく例として、以下の形式に変換して出力するようにしてもよい。
・音声合成等による音響信号や音声データ
・画像生成等による映像信号や画像データ
・音声データ、画像データ、テキストデータの任意の組み合わせを含むデータファイル
【0095】
なお、第1応答文出力処理において、情報処理装置1の制御部は、第1生成文を情報処理装置1の通信I/F(通信部)によって他の装置へ文字列データや音声データ、画像データとして出力(送信)するようにしてもよい。つまり、出力には送信が含まれてもよい。
【0096】
そして、情報処理装置1の制御部は、第2応答文出力処理を実行する(E170)。
第2応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、第2生成文に基づく第2応答文を出力部17に出力する。なお、第2応答文は、第2生成文の文字列データをそのまま出力するようにしてもよいし、第2生成文を、限定ではなく例として、第1応答文と同様の形式に変換して出力するようにしてもよい。
【0097】
なお、第2応答文出力処理において、情報処理装置1の制御部は、第2生成文を情報処理装置1の通信I/Fによって他の装置へ文字列データや音声データ、画像データとして出力(送信)するようにしてもよい。
【0098】
なお、生成文分割処理は、言語モデル部推論処理の処理途中で実行されるようにしてもよい。限定ではなく例として、言語モデル部推論処理において、言語モデル部112が生成文として「そうですね。*」(「*」は言語モデル部112が続く文字列を推論中であることを示す。)まで推論すると、情報処理装置1の制御部は、限定ではなく例として、生成文中の句読点を検出することで生成文分割処理を実行し、第1生成文を出力するようにしてもよい。そして、情報処理装置1の制御部は、限定ではなく例として、言語モデル部推論処理が実行中であっても、第1生成文が生成されると第1応答文出力処理を実行するようにしてもよい。
このように言語モデル部推論処理の処理途中であっても第1応答文出力処理を実行可能とすることで、言語モデル部112の推論処理に時間を要する場合であっても、情報処理装置1が正常に機能していることを示すことができる。
【0099】
また、情報処理装置1の制御部は、限定ではなく例として、言語モデル部推論処理と生成文分割処理とを実行後、第1応答文出力処理と、第2応答文出力処理とを同時に実行するようにしてもよい。
【0100】
そして、情報処理装置1の制御部は、処理を終了させるか否かを判定する(E190)。
限定ではなく例として、入力部16に対話終了に関する信号が入力されたと判定すると、情報処理装置1の制御部は、処理を終了させると判定する(E190:YES)。なお、限定ではなく例として、言語モデル部推論処理において、生成文に対話終了を示すトークンが含まれる場合、情報処理装置1の制御部は、処理を終了させると判定するようにしてもよい。
処理を終了させると判定した場合(E190:YES)、情報処理装置1の制御部は、処理を終了させる。
【0101】
処理を終了させないと判定した場合(E190:NO)、情報処理装置1の制御部は、限定ではなく例として、対話入力文取得処理(E120)に処理を戻す。
【0102】
<システム構成>
上記の情報処理装置1を適用した、または、上記の情報処理装置1を備える、サーバ、端末、情報処理装置、電子装置の実施例について説明する。
ここでは、限定ではなく例として、情報処理装置1を備えるサーバの実施例について説明する。なお、端末に情報処理装置1の一部または全部を備えることとしてもよいし、サーバと端末とに情報処理装置1をそれぞれ一部または全部備えることとしてもよい。
【0103】
図1-4は、本開示の実施例における通信システム10000のシステム構成の一例を示す図である。
通信システム10000では、限定ではなく例として、ネットワーク30を介して、サーバ10と、複数の端末20(端末20A,端末20B,端末20C,・・・)とが接続される。
【0104】
サーバ10は、ネットワーク30を介して、ユーザが所有する端末20に、所定のサービス(限定ではなく例として、メッセージングサービス等)を提供する機能を有する。サーバ10は、限定ではなく例として、メッセージングサーバ等のように表現することもできる。
本実施形態では、メッセージングサービス事業者(運営者)をサーバ10のユーザとする。
【0105】
なお、ネットワーク30に接続されるサーバ10の数や端末20の数は限定されない。
【0106】
端末20(端末20A,端末20B,端末20C、・・・)は、各実施例において記載する機能を実現できる情報処理端末であればどのような端末であってもよい。端末20は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA・(personal digital assistant)、電子メールクライアントなど)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)、VR(Virtual Reality)端末、スマートスピーカ(音声認識用デバイス)、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、端末20は情報処理端末と表現されてもよい。
【0107】
端末20A、端末20Bおよび端末20Cの構成は、限定ではなく例として、同一とすることができる。また、必要に応じて、ユーザXが利用する端末を端末20Xと表現し、ユーザXまたは端末20Xに対応づけられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現してもよいし、しなくてもよい。
なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定でなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応づけられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよいし、そうでなくてもよい。
【0108】
ネットワーク30は、1以上の端末20と、1以上のサーバ10とを接続する役割を担う。すなわち、ネットワーク30は、上記の各種の装置が接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。
【0109】
ネットワーク30のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。ネットワーク30は、限定ではなく例として、アドホック・ネットワーク(ad hoc network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、広域ネットワーク(wide area network:WAN)、ワイヤレスWAN(wireless WAN:WWAN)、大都市圏ネットワーク(metropolitan area network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDN(integrated service digital networks)、無線LAN、LTE(long term evolution)、CDMA(code division multiple access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワーク30は、1つまたは複数のネットワーク30を含むことができる。
【0110】
サーバ10(限定ではなく、サーバ、情報処理装置、情報管理装置の一例)は、端末20に対して、所定のサービスを提供する機能を備える。サーバ10は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ10は、限定ではなく例として、サーバ装置、コンピュータ(限定ではなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定ではなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定ではなく例として、PDA、電子メールクライアントなど)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、サーバ10は情報処理装置と表現されてもよい。サーバ10と端末20とを区別する必要がない場合は、サーバ10と端末20とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。
【0111】
[各装置のハードウェア(HW)構成]
通信システム10000に含まれる各装置のHW構成について説明する。
【0112】
(1)端末のHW構成
図1-4には、端末20のHW構成の一例を示している。
端末20は、制御部21(CPU:central processing unit(中央処理装置))、記憶部28、通信I/F22(インタフェース)、入出力部23、時計部29A、位置算出用情報検出部29Bを備える。端末20のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、端末20のHW構成として、すべての構成要素を含むことは必須ではない。限定ではなく例として、端末20は、個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
【0113】
通信I/F22は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F22は、ネットワーク30を介して、サーバ10等の各種装置との通信を実行する機能を有する。通信I/F22は、各種データを制御部21からの指示に従って、サーバ10等の各種装置に送信する。また、通信I/F22は、サーバ10等の各種装置から送信された各種データを受信し、制御部21に伝達する。また、通信I/F22を単に通信部と表現する場合もある。また、通信I/F22が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
【0114】
入出力部23は、端末20に対する各種操作を入力する装置や、端末20で処理された処理結果を出力する装置等を含む。入出力部23は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
【0115】
入力部は、ユーザからの入力を受け付けて、入力に係る情報を制御部21に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含む。
【0116】
出力部は、制御部21で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、スピーカ(音声出力)、レンズ(限定ではなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。
【0117】
あくまでも一例であるが、入出力部23は、限定ではなく例として、表示部24、音入力部25、音出力部26、撮像部27を備える。
【0118】
表示部24は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。表示部24は、限定ではなく例として、タッチパネル、タッチディスプレイ、モニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含む。なお、これらの表示部24は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。
【0119】
音入力部25は、音データ(音声データを含む。以下同様。)の入力に利用される。音入力部25は、マイクなどを含む。
音出力部26は、音データの出力に利用される。音出力部26は、スピーカなどを含む。
撮像部27は、画像データ(静止画像データ、動画像データを含む。以下同様。)の取得に利用される。撮像部27は、カメラなどを含む。
【0120】
入出力部23がタッチパネルの場合、入出力部23と表示部24とは、略同一の大きさおよび形状で対向して配置されていてもよい。
【0121】
時計部29Aは、端末20の内蔵時計であり、時刻情報(計時情報)を出力する。時計部29Aは、限定ではなく例として、水晶発振器を利用したクロック等を有して構成される。時計部29Aは、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
【0122】
なお、時計部29Aは、NITZ(Network Identity and Time Zone)規格等を適用したクロックを有していてもよいし、有していなくてもよい。
【0123】
位置算出用情報検出部29Bは、制御部21が自己の端末20の位置を算出(測定)するために必要な情報(以下、「位置算出用情報」と称する。)を検出(計測)する機能部である。位置算出用情報検出部29Bは、限定ではなく例として、位置算出用センサ部と表現することもできる。
【0124】
位置算出用情報検出部29Bは、限定ではなく例として、GPS(Global Positioning System)等の衛星測位システムを利用して端末20の位置を算出するためのセンサやユニットである衛星測位センサ(衛星測位ユニット)や、慣性航法システムを利用して端末20の位置を算出するためのセンサやユニットである慣性計測センサ(慣性計測ユニット(IMU(Inertial Measurement Unit)))、UWB(超広帯域無線:Ultra Wide Band)を利用して端末20の位置を算出するためのセンサやユニットであるUWB測位センサ(UWB測位ユニット)等を含む。
【0125】
衛星測位ユニットは、限定ではなく例として、不図示のアンテナで受信される測位用衛星から発信されている測位用衛星信号を含むRF(Radio Frequency)信号をデジタル信号に変換するRF受信回路や、RF受信回路から出力されるデジタル信号に対して相関演算処理等を行って測位用衛星信号を捕捉し、測位用衛星信号から取り出した衛星軌道データや時刻データ等の情報を、位置算出用情報として出力するベースバンド処理回路等を有する。
【0126】
慣性計測ユニットは、慣性航法演算によって端末20の位置を算出するために必要な情報を検出するセンサである慣性センサを有する。慣性センサには、限定ではなく例として、3軸の加速度センサや3軸のジャイロセンサが含まれ、加速度センサによって検出された加速度と、ジャイロセンサによって検出された角速度とを、位置算出用情報として出力する。
【0127】
UWB測位ユニットは、限定ではなく例として、不図示のアンテナで受信される測位用ビーコンから発信されている測位用超広帯域パルス信号を含む超広帯域RF(Radio Frequency)信号をデジタル信号に変換する超広帯域RF受信回路や、超広帯域RF受信回路から出力されるデジタル信号に基づいて端末20と測位用ビーコンとの相対位置を算出する相対位置算出処理回路等を有する。
なお、限定ではなく例として、UWB測位ユニットは、不図示のアンテナから測位用超広帯域パルス信号を含む超広帯域RF信号を送信することで、端末20を測位用ビーコンとして機能させてもよいし、そうしなくてもよい。
【0128】
制御部21は、限定ではなく例として、位置算出用情報検出部29Bによって検出された位置算出用情報に基づいて、定期的なタイミングや特定のタイミングで、自己の端末20の位置を算出する。端末の位置を「端末位置」と称し、算出された端末位置を「算出端末位置」と称する。制御部21は、算出端末位置を、その算出端末位置を算出した日時と関連付けて、算出端末位置履歴データとして記憶部28に記憶させるようにしてもよいし、そうしなくてもよい。
【0129】
制御部21は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
【0130】
制御部21は、限定ではなく例として、中央処理装置(CPU)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)を含む。
【0131】
記憶部28は、端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部28は、限定ではなく例として、HDD(hard disk drive)、SSD(solid state drive)、フラッシュメモリ、RAM(random access memory)、ROM(read only memory)など各種の記憶媒体を含む。また、記憶部28は、メモリ(memory)と表現されてもよいし、されなくてもよい。
【0132】
端末20は、プログラムPを記憶部28に記憶し、このプログラムPを実行することで、制御部21が、制御部21に含まれる各部としての処理を実行する。つまり、記憶部28に記憶されるプログラムPは、端末20に、制御部21が実行する各機能を実現させる。また、このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
【0133】
(2)サーバのHW構成
図1-4には、サーバ10のHW構成の一例を示している。
サーバ10は、制御部11(CPU)、記憶部15、通信I/F14(インタフェース)、入出力部12、時計部19を備える。サーバ10のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、サーバ10のHWは、サーバ10のHWの構成として、全ての構成要素を含むことは必須ではない。限定ではなく例として、サーバ10のHWは、個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
【0134】
制御部11は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。
【0135】
制御部11は、代表的には中央処理装置(CPU)、であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGAであってもよいし、そうでなくてもよい。本開示において、制御部11は、これらに限定されない。
【0136】
記憶部15は、サーバ10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部15は、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。ただし、本開示において、記憶部15は、これらに限定されない。また、記憶部15は、メモリ(memory)と表現されてもよいし、されなくてもよい。
【0137】
通信I/F14は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F14は、ネットワーク30を介して、端末20等の各種装置との通信を実行する機能を有する。通信I/F14は、各種データを制御部11からの指示に従って、端末20等の各種装置に送信する。また、通信I/F14は、端末20等の各種装置から送信された各種データを受信し、制御部11に伝達する。また、通信I/F14を単に通信部と表現する場合もある。また、通信I/F14が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
【0138】
入出力部12は、サーバ10に対する各種操作を入力する装置や、サーバ10で処理された処理結果を出力する装置等を含む。入出力部12は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
【0139】
入力部は、ユーザからの入力を受け付けて、入力に係る情報を制御部11に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部は、代表的にはキーボード等に代表されるハードウェアキーや、マウス等のポインティングデバイスで実現される。なお、入力部は、限定ではなく例として、タッチパネルやカメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含んでいてもよいし、そうでなくてもよい。
【0140】
出力部は、制御部11で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、スピーカ(音出力)、レンズ(限定ではなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。
【0141】
あくまでも一例であるが、入出力部12は、限定ではなく例として、表示部13を備える。
【0142】
表示部13は、ディスプレイ等で実現される。ディスプレイは、代表的にはモニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))で実現される。なお、ディスプレイは、ヘッドマウントディスプレイ(HDM)などであってもよいし、そうでなくてもよい。なお、これらのディスプレイは、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。本開示において、ディスプレイは、これらに限定されない。
【0143】
時計部19は、サーバ10の内蔵時計であり、時刻情報(計時情報)を出力する。時計部19は、限定ではなく例として、ハードウェアクロックとしてのRTC(Real Time Clock)やシステムクロック等を有して構成される。時計部19は、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
(3)その他
サーバ10は、プログラムPを記憶部15に記憶し、このプログラムPを実行することで、制御部11が、制御部11に含まれる各部としての処理を実行する。つまり、記憶部15に記憶されるプログラムPは、サーバ10に、制御部11が実行する各機能を実現させる。このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
他の装置についても同様である。
【0144】
本開示の各実施形態においては、端末20および/またはサーバ10のCPUがプログラムPを実行することにより、実現するものとして説明する。
【0145】
なお、端末20の制御部21、および/または、サーバ10の制御部11は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
【0146】
また、本開示の各実施形態のプログラムP(限定ではなく例として、ソフトウェアプログラム、コンピュータプログラム、またはプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムPを記憶可能である。また、プログラムPは、本開示の各実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示の各実施形態の機能を記憶媒体にすでに記録されているプログラムPとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。
【0147】
また、システムのプログラム(システムによって実行されるプログラム)という場合、システムについては前述した通りである。そして、前述したシステムのプログラムとは、システム全体で実行可能なプログラムであって、このプログラムは、限定ではなく例として、システムを構成する装置個々のプログラムで構成されてもよく、システムを構成する個々の装置に保存されるプログラムは、各々異なっていてもよいものとする。つまり、システムを構成する個々の装置で共通のプログラムでなくてもよいものとする。
限定ではなく例として、システムが端末とサーバとで構成されている場合、システムのプログラムをP1とすると、システムのプログラムP1は、端末に保存されたプログラムP2と、サーバに保存されたプログラムP3とで構成され、P2とP3とは、システムのプログラムを実行するためのものであり、それぞれ異なるプログラムとなっていてもよい。限定ではなく例として、端末に保存されたプログラムP2は、第1の処理を実行し、第1の処理をした結果をサーバに送信するプログラムであり、サーバに保存されたプログラムP3は、受信した第1の処理をした結果に対して第2の処理を行い、第2の処理を行った結果を端末に送信するプログラムであってもよい。
【0148】
記憶媒体は、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定ではなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、またはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムPを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。また、記憶媒体をメモリ(memory)と表現されてもよいし、されなくてもよい。
【0149】
サーバ10および/または端末20は、記憶媒体に記憶されたプログラムPを読み出し、読み出したプログラムPを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。
【0150】
また、本開示のプログラムPは、プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ10および/または端末20に提供されてもよいし、されなくてもよい。サーバ10および/または端末20は、限定ではなく例として、インターネット等を介してダウンロードしたプログラムPを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
【0151】
また、本開示の各実施形態は、プログラムPが電子的な伝送によって具現化されたデータ信号の形態でも実現され得る。
サーバ10および/または端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。
端末20における処理の少なくとも一部、または全部を、サーバ10により行う構成としてもよいし、そうでなくてもよい。この場合、端末20の制御部21の各機能部の処理のうち少なくとも一部の処理、または全部の処理を、サーバ10で行う構成としてもよいし、そうでなくてもよい。
サーバ10における処理の少なくとも一部、または全部を、端末20により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ10の制御部11の各機能部の処理のうち少なくとも一部の処理、または全部の処理を、端末20で行う構成としてもよいし、そうでなくてもよい。
【0152】
明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよいし、そうでなくてもよい。
【0153】
なお、本開示のプログラムは、限定ではなく例として、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのコンパイラ言語、HTML Living Standardなどのマークアップ言語などを用いて実装される。
【0154】
<機能構成>
(1)サーバの機能構成
図1-5は、本実施例においてサーバ10の制御部11によって実現される機能の一例を示す図である。
制御部11は、限定ではなく例として、アプリケーション管理処理部111と、言語モデル部112とを機能部として含む。これらの機能部は、限定ではなく例として、
図1-1の情報処理装置1が備える機能部にそれぞれ対応するものである。
【0155】
アプリケーション管理処理部111は、限定ではなく例として、記憶部15に記憶されたアプリケーション管理処理プログラム151に従ってアプリケーション管理処理を実行する機能を有する。
【0156】
図1-6は、本実施例においてサーバ10の記憶部15に記憶される情報の一例を示す図である。
記憶部15には、限定ではなく例として、アプリケーション管理処理として実行されるアプリケーション管理処理プログラム151と、アカウント登録データ153とが記憶される。
【0157】
アカウント登録データ153は、アプリケーション(本実施例では、メッセージングアプリケーション)のアカウントに関する登録データであり、そのデータ構成の一例を
図1-7に示す。
アカウント登録データ153には、限定ではなく例として、ユーザ名と、アプリケーションIDと、その他登録情報とが関連付けて記憶される。
【0158】
ユーザ名は、このアプリケーションを利用する端末20のアカウントの名称であり、限定ではなく例として、端末20のユーザがアプリケーションを利用する際に登録する名称が記憶される。
【0159】
アプリケーションIDは、アプリケーションのアカウントを識別するために用いられる情報、またはアカウントそのものである。
このアプリケーションIDは、好ましくはアカウントごとに一意な値であり、限定ではなく例として、サーバ10によってアカウントごとに一意な値(固有の値)が設定されて記憶される。
アプリケーションIDは、端末20、またはその端末20のユーザに関連付けられた情報であり、端末に関する情報、または端末のユーザに関する情報の一例である。
【0160】
その他登録情報には、限定ではなく例として、端末20を識別するための識別情報、端末20の電話番号(端末電話番号)、メールアドレス(端末メールアドレス)、アプリケーションにおける各種の認証に利用されるパスワード(ログインパスワード、認証パスワード等)等の認証情報といった各種の情報を含めるようにすることができる。
【0161】
端末20を識別するための識別情報は、限定ではなく例として、端末ID(限定ではなく例として、IMEI(International Mobile Equipment Identity))とすることができる。
また、端末20のユーザを識別するための識別情報は、限定ではなく例として、一般ユーザ用のアプリケーションIDとすることができる。なお、端末20のユーザを識別するための識別情報は、限定ではなく例として、公式ユーザ用のアプリケーションIDとしてもよい。
【0162】
なお、アプリケーションIDに代えて「ユーザID」としてもよいし、しなくてもよい。
また、1つの端末20につき1つのアカウントしか登録することのできないアプリケーションであれば、限定ではなく例として、「端末20を識別するための識別情報=端末20のユーザを識別するための識別情報=アプリケーションID」とすることができる。
【0163】
また、限定ではなく例として、1つのアプリケーションIDに、複数の端末IDを割り当てることを可能としてもよいし、そのようにしなくてもよい。この場合、1つのアプリケーションIDを識別(ログイン)対象として、複数の端末20においてアプリケーションを同時に起動できるようにしてもよいし、そのようにしなくてもよい。
【0164】
また、アプリケーションID等の各種のIDに代えて、端末電話番号等の情報によってアカウントを管理する手法を適用することも可能である。
この場合、アプリケーションID等のIDの情報をアカウント登録データ153に記憶させるのに代えて、端末電話番号等の情報をアカウント登録データ153に記憶させるようにすることができる。なお、アプリケーションID等のIDの情報を端末電話番号等の情報に代えず、アプリケーションID等のIDの情報を端末電話番号等の情報と一対一に対応させるようにしてもよいし、そのようにしなくてもよい。
【0165】
なお、以下の実施例では、説明の簡明化のため、1つの端末20につき1つのアカウントが登録されていることとして説明する。
また、この場合、上記のように「端末20を識別するための識別情報=端末20のユーザを識別するための識別情報=アプリケーションID」であるため、以下の説明で用いる「アカウントのユーザ」の用語は、「アカウントの端末」と実質的に同義としてもよいし、そうしなくてもよい。
【0166】
(2)端末の機能構成
図1-8は、本実施例において端末20の制御部21によって実現される機能の一例を示す図である。
制御部21は、限定ではなく例として、記憶部28に記憶されたアプリケーション処理プログラム281に従ってアプリケーション処理を実行するためのアプリケーション処理部211を機能部として含む。
【0167】
図1-9は、本実施例において端末20の記憶部28に記憶されるデータ等の一例を示す図である。
記憶部28には、限定ではなく例として、アプリケーション処理として実行されるアプリケーション処理プログラム281と、この端末20、または端末20のユーザのアカウントに対応するアプリケーションID283とが記憶される。
【0168】
<表示画面>
本実施例における表示画面例について説明する。
以下では、限定ではなく例として、端末20が、縦長のディスプレイの表示部24を備えるスマートフォンである場合を例示する。
【0169】
スマートフォンには、限定ではなく例として、入力部として機能するタッチパネルが、そのディスプレイと対向して配置され、これによってタッチスクリーンが構成される。アイコン、ボタン、アイテムまたは入力領域などの要素がディスプレイに表示された場合において、タッチパネルの一部の領域であって、その要素が表示された領域と対向する領域がユーザによって操作された場合、その要素と関連付けられたプログラムまたはそのプログラムのサブルーチンが実行される。
【0170】
以下では、ユーザによる操作として、限定ではなく例として、タップ(タップ操作)等を例示する。
タップ(タップ操作)とは、限定ではなく例として、ユーザが、タッチパネルが一体的に構成された表示部24(タッチスクリーン)を指やペン先などで軽く叩くように触れる動作、触れてから離す動作とすることができる。
【0171】
図1-10は、本実施例において端末20の表示部24に表示される画面の遷移の一例を示す図である。
以下では、端末20が実行する処理を、限定ではなく例として、端末20Aが実行する処理として図示・説明する。
また、ここでは、端末20Aの表示部24に表示されるメッセージングアプリケーションの画面の一例を示す。
【0172】
また、以下の実施例では、限定ではなく例として、ユーザA.Aがメッセージングアプリケーションにおいて公式アカウント「チャットボット」と友だち登録済みであることとする。公式アカウント「チャットボット」では、限定ではなく例として、上記の情報処理装置1の処理に従って、ユーザがチャットボットAI(言語モデル)と対話可能であるとする。
なお、これはあくまでも一例であり、この例に限定されるものではない。
【0173】
図1-10左側は、限定ではなく例として、ユーザA.Aの端末20Aの表示部24に表示されるメッセージングアプリケーションのトークルーム画面の一例である。
画面最上部中央には、メッセージングアプリケーションの名称として「Messaging App」の文字が表示されるように構成されている。また、画面最上部右には、この端末20Aのユーザのメッセージングアプリケーションにおけるアイコン画像およびユーザ名(この例ではユーザA.A)が表示されるように構成されている。
【0174】
また、その下には、ユーザA.Aと公式アカウント「チャットボット」との1対1トークルームであることを示す「チャットボット」の文字が表示されている。
【0175】
また、その下には、このトークルームに送信(投稿)されるコンテンツ(メッセージ)を表示するためのコンテンツ表示領域TR1が表示されるように構成されている。
また、コンテンツ表示領域の下には、このトークルームに送信するコンテンツを入力・選択するためのコンテンツ入力領域が表示されるように構成されている。
【0176】
コンテンツ表示領域TR1では、限定ではなく例として、右側に自端末である端末20AのユーザA.Aの発言が、左側にそれ以外のユーザの発言が、それぞれコンテンツとして吹き出しで表示されるように構成されている。
【0177】
この画面では、コンテンツ表示領域TR1において、チャットボットが対話を開始することを示す対話テキストに基づく応答コンテンツRCT0が表示されている。
【0178】
また、コンテンツ入力領域では、チャットボットに送信するメッセージとして、「スポーツの話はどうでしょう?」の文字列が入力され表示されている。
【0179】
限定ではなく例として、コンテンツ入力領域において、コンテンツ送信ボタンBT1がタップされると、限定ではなく例として、
図1-10中央のトークルーム画面に表示が変わる。
この画面では、コンテンツ表示領域TR1において、応答コンテンツRCT0の下に、コンテンツ入力領域に入力され送信された対話入力文に基づく入力コンテンツICT1が表示されている。また、入力コンテンツICT1の下には、対話入力文に対する第1応答文に基づく第1応答コンテンツRCT1が表示されている。
【0180】
入力コンテンツICT1の送信時刻と、応答コンテンツRCT1の送信時刻とは、「10時58分」であり、ユーザが対話入力文を送信後、間を置かずして応答コンテンツRCT1が表示されたことが示されている。
【0181】
その後、限定ではなく例として、
図1-10右側のトークルーム画面に表示が変わる。
この画面では、コンテンツ表示領域TR1において、第1応答コンテンツRCT1の下に、対話入力文に対する第2応答文に基づく第2応答コンテンツRCT2が表示されている。
【0182】
応答コンテンツRCT1の送信時刻と、応答コンテンツRCT2の送信時刻とには、「1分」のラグが発生しており、応答コンテンツRCT1が送信されてから暫くした後に応答コンテンツRCT2が送信されたことが示されている。
【0183】
<処理>
図1-11は、本実施例において各装置が実行する処理の流れの一例を示すフローチャートである。
この図では、左側から順に、端末20Aの制御部21が実行する処理、サーバ10の制御部11が実行する処理の一例を示している。
【0184】
最初に、端末20Aの制御部21は、限定ではなく例として、端末20Aの入出力部23に対する入力(限定ではなく例として、ユーザ入力(ユーザによる操作入力や音入力等)。以下同様。)に基づいて、チャットボットとトークルームを介したチャットを行うことを要求するためのチャット要求情報を通信I/F22によってサーバ10に送信する。通信I/F14によって端末20Aからチャット要求情報を受信すると、サーバ10の制御部21は、端末20Aとチャットボットとの間でトークルームを介したチャットを行うためのチャット開始処理を実行する(S110)。チャット開始処理において、サーバ10の制御部11は、限定ではなく例として、トークルームを識別するためのトークルームIDを生成すると、生成したトークルームIDを通信I/F14によってトークルームに参加する端末20Aに送信する。
【0185】
限定ではなく例として、通信I/F22によってサーバ10からトークルームIDを受信すると、端末20Aの制御部21は、端末20Aとチャットボットとの間でトークルームを介したチャットを行うためのチャット開始処理を実行する(A110)。
チャット開始処理において、端末20Aの制御部21は、限定ではなく例として、トークルーム画面を表示部24に表示させる。
【0186】
限定ではなく例として、端末20Aの入出力部23に対する入力に基づいて、トークルームにメッセージを送信することが選択されると、端末20Aの制御部21は、コンテンツ受付処理を実行する(A130)。
コンテンツ受付処理において、端末20Aの制御部21は、ユーザ入力に基づいて、チャットボットに対する対話入力文を取得する。
【0187】
すると、端末20Aの制御部21は、限定ではなく例として、トークルームIDと、受け付けた対話入力文のテキストを含む受付コンテンツ情報を通信I/F22によってサーバ10に送信する(A150)。
【0188】
通信I/F14によって端末20Aから受付コンテンツ情報を受信すると、サーバ10の制御部11は、受信した受付コンテンツ情報に基づいて、限定ではなく例として、
図1-3のE120のステップに従って、対話入力文取得処理を実行する(S120)。
【0189】
なお、サーバ10の制御部11は、端末20Aから受付コンテンツ情報を受信すると、限定ではなく例として、受付コンテンツ情報に含まれる対話入力文に関する入力コンテンツ情報を通信I/F14によって端末20Aに送信するようにしてもよい。
通信I/F22によってサーバ10から入力コンテンツ情報を受信すると、端末20Aの制御部21は、受信した入力コンテンツ情報を、限定ではなく例として、表示部24に表示させるようにしてもよい。なお、端末20Aの制御部21は、受信した入力コンテンツ情報を、限定ではなく例として、音出力部26によって音出力させるようにしてもよい。
【0190】
すると、サーバ10の制御部11は、限定ではなく例として、
図1-3のE130~E140のステップに従って、言語モデル部推論処理と、生成文分割処理とを実行する(S130~S140)。
【0191】
そして、サーバ10の制御部11は、第1生成文に基づく第1応答コンテンツ情報を通信I/F14によって端末20Aに送信する(S160)。第1応答コンテンツ情報は、テキストデータを含むこととしてもよいし、音声合成等による音声データを含むこととしてもよいし、テキストデータと音声データとを含むこととしてもよい。
【0192】
通信I/F22によってサーバ10から第1応答コンテンツ情報を受信すると、端末20Aの制御部21は、受信した第1応答コンテンツ情報を出力する(A160)。端末20Aの制御部21は、限定ではなく例として、受信した第1応答コンテンツ情報を表示部24に表示させるようにしてもよい。なお、端末20Aの制御部21は、限定ではなく例として、受信した第1応答コンテンツ情報を音出力部26によって音出力させるようにしてもよい。
【0193】
また、サーバ10の制御部11は、第2生成文に基づく第2応答コンテンツ情報を通信I/F14によって端末20Aに送信する(S180)。第2応答コンテンツ情報は、テキストデータを含むこととしてもよいし、音声合成等による音声データを含むこととしてもよいし、テキストデータと音声データとを含むこととしてもよい。
【0194】
通信I/F22によってサーバ10から第2応答コンテンツ情報を受信すると、端末20Aの制御部21は、受信した第2応答コンテンツ情報を出力する(A180)。端末20Aの制御部21は、限定ではなく例として、受信した第2応答コンテンツ情報を表示部24に表示させるようにしてもよい。なお、端末20Aの制御部21は、限定ではなく例として、受信した第2応答コンテンツ情報を音出力部26によって音出力させるようにしてもよい。
【0195】
そして、端末20Aの制御部21は、処理の終了判定を行う(A190)。
また、サーバ10の制御部11は、処理の終了判定を行う(S190)。
【0196】
なお、サーバ10の制御部11は、限定ではなく例として、言語モデル部推論処理の処理途中で生成文分割処理を実行し、第1応答コンテンツ情報を送信するようにしてもよい。そして、サーバ10の制御部11は、限定ではなく例として、言語モデル部推論処理が終了すると、第2応答コンテンツ情報を送信するようにしてもよい。
【0197】
また、サーバ10の制御部11は、限定ではなく例として、言語モデル部推論処理と生成文分割処理とを実行後、第1応答コンテンツ情報と第2応答コンテンツ情報とを同時に送信するようにしてもよい。なお、サーバ10の制御部11は、第1応答コンテンツ情報と第2応答コンテンツ情報とに代えて、第1生成文と第2生成文とを含む応答コンテンツ情報を通信I/F14によって端末20Aに送信するようにしてもよい。
【0198】
<第1実施例の効果>
本実施例は、サーバ10等の情報処理装置が、ユーザによる入力文等の入力(限定ではなく、第1入力の一例)を制御部11によって取得する。そして、サーバ10は、取得した第1入力に基づく第1応答文等の応答(限定ではなく、第1応答の一例)を制御部11によって出力する制御を行い、第1応答を出力した後、言語モデルによって、取得した入力に基づく第2応答文等の応答(限定ではなく、第2応答の一例)を制御部11によって出力する制御を行う構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザから入力された第1入力を取得した上で、取得した第1入力に基づく第1応答を出力することができる。そして、第1応答を出力した後、言語モデルによって、第1入力に基づく第2応答を出力することができる。これにより、限定ではなく例として、言語モデルによる、第1入力に基づく応答を出力する前に、第1入力に基づく第1応答をユーザに返すことが可能となる。
【0199】
また、本実施例は、第1入力は、ユーザによる音声による入力、またはユーザによるテキストによる入力を含む構成を示している。
このような構成により得られる実施例の効果の一例として、限定ではなく例として、言語モデルによる、ユーザによる音声による入力、またはユーザによるテキストによる入力に基づく応答を出力する前に、このユーザによる音声による入力、またはユーザによるテキストによる入力に基づく第1応答をユーザに返すことができる。
【0200】
また、本実施例は、第1応答は、第1入力に基づいて生成される構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザによる第1入力に基づいて適切な第1応答が生成されるようにすることができる。
【0201】
<第1変形例(1)>
上記の実施例では、サーバ10において言語モデル部推論処理と生成文分割処理とを実行することとしたが、これに限定されない。限定ではなく例として、不図示の対話処理サーバにおいて、言語モデル部推論処理または生成文分割処理、あるいはその両方を実行するようにしてもよい。
【0202】
対話処理サーバにおいて言語モデル部推論処理を実行する場合、限定ではなく例として、サーバ10の制御部11は、受付コンテンツ情報を受信すると、受信した受付コンテンツ情報に基づく入力文を対話処理サーバに送信する。そして、対話処理サーバから、限定ではなく例として、生成文を受信すると、サーバ10の制御部11は、受信した生成文に基づいて、生成文分割処理を実行するようにしてもよい。
なお、同様にして生成文分割処理を対話処理サーバにおいて実行するようにしてもよい。
【0203】
なお、言語モデル部推論処理と生成文分割処理とを対話処理サーバにおいて実行するようにしてもよい。また、加えて、対話入力文取得処理を対話処理サーバにおいて実行するようにしてもよい。すなわち、サーバ10は、対話入力文取得処理と、言語モデル部推論処理と、生成文分割処理とのうち、任意の処理を対話処理サーバに処理要求し、対話処理サーバにおける処理結果を受信すると、処理結果に基づいてサーバ10における処理を継続するようにしてもよい。
【0204】
<第1変形例(2)>
上記の実施例では、端末20とサーバ10とのサーバクライアントシステムで処理を実行することとしたが、これに限定されない。
限定ではなく例として、端末20の制御部21またはサーバ10の制御部11において全ての処理を実行することとしてもよい。
【0205】
すなわち、端末20の装置単体を情報処理装置1としてもよいし、サーバ10の装置単体を情報処理装置1としてもよい。
【0206】
<第1変形例(3)>
上記の実施例では、トークルーム画面の例として、OAトークルームの場合について例示したが、これに限定されない。情報処理装置1の処理に従うチャットボットのアカウントと対話可能なトークルームは、グループトークルームとしてもよいし、1対1トークルームとしてもよい。
【0207】
グループトークルームでは、複数のチャットボットとの対話が可能であるとしてもよいし、2以上のユーザと1以上のチャットボットとにおける対話が可能であるとしてもよい。
【0208】
<第1変形例(4)>
限定ではなく例として、言語モデル部推論処理において、言語モデル部112は、入力文に対して2以上の生成文(限定ではなく例として、第1生成文と第2生成文)を出力するようにしてもよい。この場合、情報処理装置1の制御部は、限定ではなく例として、生成文分割処理を実行しないようにしてもよい。
【0209】
なお、情報処理装置1の制御部は、限定ではなく例として、1つの対話入力文に基づく入力文に対して複数回の言語モデル部推論処理を実行し、入力文に対して2以上の生成文を取得できるようにしてもよい。
【0210】
また、情報処理装置1の制御部は、限定ではなく例として、一回の言語モデル部推論処理において、2以上の生成文を推論するようにしてもよい。
【0211】
<第2実施例>
第1実施例では、情報処理装置1の制御部は、言語モデル部推論処理の処理結果に基づいて、第1応答文と第2応答文とを出力する例を例示した。
第2実施例は、限定ではなく例として、情報処理装置1の制御部において、第1処理の処理結果に基づいて第1応答文を出力し、第1処理とは異なる第2処理に基づいて第2応答文を出力する実施例である。
【0212】
第2実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0213】
<情報処理装置の機能構成>
図2-1は、本実施例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、言語モデル部112と、ルールベース生成部113とを備える。
【0214】
ルールベース生成部113は、限定ではなく例として、予め定められた複数の応答文候補(限定ではなく例として、「えーと、」や「そうですね。」、「うんうん。」等)を葉に持つバイナリツリーとして構成するようにしてもよい。
限定ではなく例として、ルールベース生成部113は、入力文を入力として受け付けると、限定ではなく例として、ブースティング等の機械学習によって予め学習した結果に基づいて、バイナリツリーで入力文が分類される葉を探索する。そして、探索された葉と対応する応答文候補を入力文に対する応答文として出力する機能を有する。
【0215】
一般に、大規模な積和計算が必要とされる言語モデル部112の計算量(漸近的計算量)は、限定ではなく例として、「t」を言語モデルに入力されるトークン長(シーケンス長)、「d」を言語モデルのパラメータ数に比例する単語の分散表現の次元数とすると、O(t2d)(限定ではなく例として、言語モデルがSelf-Attentionをベースとするモデルの場合)やO(td2)(限定ではなく例として、言語モデルがリカレントネットワークをベースとするモデルの場合)となる。
【0216】
対して、バイナリツリーの計算量はバイナリツリーのノード数を「n」とするとO(log n)となる。
【0217】
実用的なパラメータ設定においては、「t<n<d」(「t」または「d」と「n」が近しい場合もあり得る)と大小関係を規定することができる。また、自然言語処理においては、「t<<d」となる。そのため、ルールベース生成部113において入力文が入力されてから応答文を出力するまでの処理は、言語モデル部112における推論処理に比べて、圧倒的に高速に実行することが可能である。
【0218】
なお、ルールベース生成部113は、限定ではなく例として、人工無能を用いて応答文を出力するようにしてもよい。この場合、限定ではなく例として、入力文の「XX」という単語に対して「YY」と答える、等の特定の単語に対する応答文が用意され、特定の単語以外に対しては「わかりません」といった定型応答文を出力するようにしてもよい。
【0219】
<情報処理装置の表示画面例>
表示画面については、限定ではなく例として、
図1-2と同様に構成するようにしてもよい。
【0220】
<情報処理装置の処理>
図2-2は、本実施例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
【0221】
情報処理装置1の制御部は、対話入力文取得処理を実行すると、限定ではなく例として、ルールベース生成処理と、言語モデル部推論処理とをそれぞれの機能部で並列に実行する。
【0222】
ルールベース生成部113は、対話入力文に基づく入力文を受け付けると、ルールベース生成処理を実行する(E210)。
ルールベース生成処理において、ルールベース生成部113は、限定ではなく例として、バイナリツリーを探索し、応答文候補から応答文を出力する。
【0223】
なお、ルールベース生成部113は、入力文を受け付けると、入力文によらず、限定ではなく例として、予め定められた複数の応答文候補からランダムに応答文を出力するようにしてもよい。
【0224】
また、ルールベース生成部113は、入力文に対して固有名詞等を抽出する固有表現抽出処理を実行し、バイナリツリーの探索結果と固有表現抽出処理の抽出結果を組み合わせて応答文を出力するようにしてもよい。
【0225】
この場合、限定ではなく例として、入力文として、「東京の話はどうでしょう?」という文字列が入力された場合、ルールベース生成部113は、固有名詞「東京」と、適切な応答文候補とを組み合わせた「東京の話ですね。」といった応答文を出力するようにしてもよい。
なお、固有表現抽出処理において、限定ではなく例として、一般名詞を抽出するようにしてもよい。
【0226】
限定ではなく例として、ルールベース生成処理が実行されると、情報処理装置1の制御部は、第1応答文出力処理を実行する(E230)。
第1応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、ルールベース生成処理での生成文に基づく第1応答文を出力部17に出力する。出力形式は、前述したように音声信号やテキストデータ等様々な形式を含んでよい。
【0227】
なお、第1応答文出力処理において、情報処理装置1の制御部は、ルールベース生成部113の生成文または第1応答文を情報処理装置1の通信I/Fによって他の装置へデータとして出力(送信)するようにしてもよい。
【0228】
限定ではなく例として、言語モデル部推論処理が実行されると、情報処理装置1の制御部は、第2応答文出力処理を実行する(E250)。
第2応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、言語モデル部112の生成文に基づく第2応答文を出力部17に出力する。出力形式は、前述したように音声信号やテキストデータ等様々な形式を含む。
【0229】
なお、第2応答文出力処理において、情報処理装置1の制御部は、言語モデル部112の生成文または第2応答文を情報処理装置1の通信I/Fによって他の装置へデータとして出力(送信)するようにしてもよい。
【0230】
以下では、第1応答文出力処理で用いられる生成文を生成(推論)するための処理を「第1応答生成処理」、第2応答文出力処理で用いられる生成文を生成(推論)するための処理を「第2応答生成処理」とそれぞれ称することがある。
本実施例は、第1応答生成処理がルールベース生成処理、第2応答生成処理が言語モデル部推論処理の一例である。
【0231】
第1応答文出力処理と、第2応答文出力処理とが実行されると、情報処理装置1の制御部は、終了判定を実行する(E190)。
【0232】
一般に、前述の通り、ルールベース生成処理は言語モデル部推論処理に比べて処理時間が短く済むため、第1応答文出力処理は第2応答文出力処理に先んじて実行される。
【0233】
言語モデル部推論処理がルールベース生成処理よりも先に実行を終えた場合、情報処理装置1の制御部は、限定ではなく例として、ルールベース生成処理の終了を待ち、第1応答文出力処理を実行し、次いで第2応答文出力処理を実行するようにしてもよい。
【0234】
なお、情報処理装置1の制御部は、ルールベース生成処理と、第1応答文出力処理とを実行すると、言語モデル部推論処理と、第2応答文出力処理とを実行するようにしてもよい。
【0235】
また、情報処理装置1の制御部は、言語モデル部推論処理を実行すると、ルールベース生成処理と、第1応答文出力処理とを実行し、次いで第2応答文出力処理を実行するようにしてもよい。
【0236】
また、情報処理装置1の制御部は、ルールベース生成処理と、言語モデル部推論処理とを実行すると、ルールベース生成部113の生成文または第1応答文と、言語モデル部112の生成文または第2応答文とを含む応答文を出力部17に出力するようにしてもよい。
【0237】
<処理>
図2-3は、本実施例において上記の情報処理装置1を適用した各装置が実行する処理の流れの一例を示すフローチャートである。
この図では、左側から順に、端末20Aの制御部21が実行する処理、サーバ10の制御部11が実行する処理の一例を示している。
【0238】
限定ではなく例として、サーバ10の制御部11は、アプリケーション管理処理部111と、言語モデル部112と、ルールベース生成部113とを機能部として含む。これらの機能部は、限定ではなく例として、
図2-1の情報処理装置1が備える機能部にそれぞれ対応するものである。
【0239】
サーバ10の制御部11は、限定ではなく例として、対話入力文取得処理を実行すると(S120)、第1応答生成処理(S210)と第2応答生成処理(S230)とを並列実行する。
第1応答生成処理において、サーバ10の制御部11は、限定ではなく例として、
図2-2のE210のステップに従って、ルールベース生成処理を実行する。
また、第2応答生成処理において、サーバ10の制御部11は、限定ではなく例として、
図2-2のE130のステップに従って、言語モデル部推論処理を実行する。
【0240】
限定ではなく例として、第1応答生成処理が終了すると、サーバ10の制御部11は、ルールベース生成部113の生成文に基づく第1応答コンテンツ情報を通信I/F14によって端末20Aに送信する(S150)。第1応答コンテンツ情報は、テキストデータを含むこととしてもよいし、音声合成等による音声データを含むこととしてもよいし、テキストデータと音声データとを含むこととしてもよい。
第1応答コンテンツ情報送信処理は、第1応答文出力処理の一種と捉えてもよい。
【0241】
また、限定ではなく例として、第2応答生成処理が終了すると、サーバ10の制御部11は、言語モデル部112の生成文に基づく第2応答コンテンツ情報を通信I/F14によって端末20Aに送信する(S150)。第2応答コンテンツ情報は、テキストデータを含むこととしてもよいし、音声合成等による音声データを含むこととしてもよいし、テキストデータと音声データとを含むこととしてもよい。
第2応答コンテンツ情報送信処理は、第2応答文出力処理の一種と捉えてもよい。
【0242】
通信I/F22によってサーバ10から第1応答コンテンツ情報を受信したと判定する場合(A210:YES)、端末20Aの制御部21は、受信した第1応答コンテンツ情報を出力する(A160)。
第1応答コンテンツ情報を受信していないと判定する場合(A210:NO)、端末20Aの制御部21は、第1応答コンテンツ情報の受信待機を行う(A210)。
【0243】
また、通信I/F22によってサーバ10から第2応答コンテンツ情報を受信したと判定する場合(A230:YES)、端末20Aの制御部21は、受信した第2応答コンテンツ情報を出力する(A180)。
第1応答コンテンツ情報を受信していないと判定する場合(A230:NO)、端末20Aの制御部21は、第1応答コンテンツ情報の受信待機を行う(A230)。
【0244】
端末20Aの制御部21は、限定ではなく例として、第1応答コンテンツ情報と第2応答コンテンツ情報とを出力すると、終了判定を行う(A190)。
【0245】
サーバ10の制御部11は、限定ではなく例として、第1応答コンテンツ情報と第2応答コンテンツ情報とを端末20Aに送信すると、終了判定を行う(S190)。
【0246】
<第2実施例の効果>
本実施例は、第1応答は、第1応答生成処理(限定ではなく、第1処理の一例)によって生成され、第2応答は、第2応答生成処理によって生成される構成を示している。
このような構成により得られる実施例の効果の一例として、同一または異なる処理によって、第1応答と第2応答とが生成されるようにすることができる。
【0247】
また、この場合、第1応答生成処理は、第2応答生成処理とは異なる処理であるようにしてもよい。
このような構成により得られる実施例の効果の一例として、異なる処理によって、第1応答と第2応答とが生成されるようにすることができる。
【0248】
また、この場合、第2応答生成処理は、第1応答生成処理よりも行う処理が多いようにしてもよい。また、この場合、第2応答生成処理は、第1応答生成処理よりも応答の生成に要する時間が長いようにしてもよい。
このような構成により得られる実施例の効果の一例として、第2応答を生成するよりも少ない処理で第1応答が生成されるようにすることができる。また、第2応答を生成するよりも短い時間で第1応答が生成されるようにすることができる。
【0249】
また、この場合、第1応答生成処理は、ルールベースによって、第1応答を生成する処理を含むようにしてもよい。
このような構成により得られる実施例の効果の一例として、ルールベースによって、第1応答が簡易・適切に生成されるようにすることができる。
【0250】
また、本実施例は、第1応答は、第1入力に基づいて生成される構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザによる第1入力に基づいて適切な第1応答が生成されるようにすることができきる。
【0251】
<第2変形例(1)>
上記の実施例では、サーバ10において第1応答生成処理と第2応答生成処理とを実行することとしたが、これに限定されない。限定ではなく例として、不図示の対話処理サーバにおいて、第1応答生成処理または第2応答生成処理、あるいはその両方を実行するようにしてもよい。
【0252】
対話処理サーバにおいて第1応答生成処理を実行する場合、限定ではなく例として、サーバ10の制御部11は、受付コンテンツ情報を受信すると、受信した受付コンテンツ情報に基づく入力文を対話処理サーバに送信する。そして、対話処理サーバから、限定ではなく例として、ルールベース生成処理による生成文を受信すると、サーバ10の制御部11は、受信した生成文に基づいて、第1応答コンテンツ情報送信を実行するようにしてもよい。
なお、同様にして第2応答生成処理を対話処理サーバにおいて実行するようにしてもよい。
【0253】
<第2変形例(2)>
上記の実施例では、端末20とサーバ10とのサーバクライアントシステムで処理を実行することとしたが、これに限定されない。
限定ではなく例として、端末20の制御部21またはサーバ10の制御部11において全ての処理を実行することとしてもよい。
【0254】
すなわち、端末20の装置単体を情報処理装置1としてもよいし、サーバ10の装置単体を情報処理装置1としてもよい。
【0255】
<第2変形例(3)>
上記の実施例では、サーバ10の制御部11の構成要素として、言語モデル部112とルールベース生成部113とを備えることとしたが、これに限定されない。
限定ではなく例として、サーバ10の制御部11が言語モデル部112を備え、端末20Aの制御部21がルールベース生成部を備えることとしてもよい。
【0256】
この場合、端末20Aの制御部21は、限定ではなく例として、受付コンテンツ情報送信処理を実行すると、受け付けた対話入力文に基づいて、入力文を取得し、第1応答生成処理を実行する。そして、端末20Aの制御部21は、第1応答生成処理を実行すると、限定ではなく例として、ルールベース生成部の生成文に基づく第1応答コンテンツ情報を出力する。
また、サーバ10の制御部11は、第1応答生成処理と第1応答コンテンツ情報送信処理とを実行しない。
【0257】
本変形例は、端末20とサーバ10とを含むシステムにおいて、
端末20は、ユーザから入力された第1入力を制御部21によって取得する。
端末20は、取得された第1入力に基づく第1応答を制御部21によって生成する制御(生成する処理)を行い、生成された第1応答を制御部21によって出力する制御を行う。
サーバ10は、ユーザから入力された第1入力に基づく第2応答を制御部11によって生成する制御(生成する処理)を行う。
端末20は、生成された第2応答を制御部21によって出力する制御を行う構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザから入力された第1入力が端末の制御部によって取得され、取得された第1入力に基づく第1応答が端末の制御部によって生成され、生成された第1応答が端末の制御部による制御によって出力されるようにすることができる。その一方で、ユーザから入力された第1入力に基づく第2応答がサーバの制御部によって生成され、このサーバによって生成された第2応答が端末の制御部による制御によって出力されるようにすることができる。サーバと端末とを含むシステムによって、第1応答と第2応答との出力を実現することができる。
【0258】
なお、逆に、限定ではなく例として、サーバ10の制御部11はルールベース生成部113を備え、端末20Aの制御部21は、言語モデル部を備えることとしてもよい。
【0259】
この場合、端末20Aの制御部21は、限定ではなく例として、受付コンテンツ情報送信処理を実行すると、受け付けた対話入力文に基づいて、入力文を取得し、第2応答生成処理を実行する。そして、端末20Aの制御部21は、第2応答生成処理を実行すると、限定ではなく例として、言語モデル部の生成文に基づく第2応答コンテンツ情報を出力する。
また、サーバ10の制御部11は、第2応答生成処理と第2応答コンテンツ情報送信処理とを実行しない。
【0260】
本変形例は、端末20とサーバ10とを含むシステムにおいて、
端末20とサーバ10とを含むシステムにおいて、
端末20は、ユーザから入力された第1入力を制御部21によって取得する。
サーバ10は、端末20から取得された第1入力に基づく第1応答を制御部11によって生成する制御を行い、生成された第1応答を制御部11によって出力する制御を行う。
端末20は、取得された第1入力に基づく第2応答を制御部21によって生成する制御(生成する処理)を行い、生成された第2応答を制御部21によって出力する制御を行う構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザから入力された第1入力が端末の制御部によって取得され、それがサーバの制御部によって取得され、取得された第1入力に基づく第1応答がサーバの制御部によって生成され、生成された第1応答がサーバの制御部による制御によって出力されるようにすることができる。その一方で、ユーザから入力された第1入力に基づく第2応答が端末の制御部によって生成され、この端末によって生成された第2応答が端末の制御部による制御によって出力されるようにすることができる。サーバと端末とを含むシステムによって、第1応答と第2応答との出力を実現することができる。
【0261】
<第3実施例>
第2実施例では、第1応答生成処理としてルールベース生成部113におけるルールベース生成処理を、第2応答生成処理として言語モデル部112における言語モデル部推論処理を、それぞれ実行する例について例示した。
第3実施例は、第1応答生成処理と第2応答生成処理とにそれぞれ異なる言語モデル部を使用する実施例である。
【0262】
以下では、第1応答生成処理に用いられる言語モデル部を「第1言語モデル部」、第2応答生成処理に用いられる言語モデル部を「第2言語モデル部」とそれぞれ称する。
前述したように、第1応答文出力処理は第2応答文出力処理に比べて迅速に行われることが望ましい。そのため、第1言語モデル部における推論処理は、第2言語モデル部における推論処理に比べて処理が軽い(処理速度が速い、または処理終了までに要する時間が短い)ことが望まれる。
【0263】
そこで、本発明では、限定ではなく例として、第1言語モデル部では、第2言語モデル部に比べて小規模な言語モデルを用いる。以下では、第1言語モデル部で用いられる言語モデルを「小規模言語モデル(小さな言語モデル)」、第2言語モデル部で用いられる言語モデルを「大規模言語モデル(大きな言語モデル)」と称することがある。
小規模言語モデルは、単純な言語モデルと言ってもよい。また、大規模言語モデルは、複雑な言語モデルと言ってもよい。
【0264】
2つの異なる言語モデルAと言語モデルBとを考える場合、限定ではなく例として、以下の基準を用いて小規模言語モデルと大規模言語モデルとに区別するようにしてもよい。
【0265】
(a):言語モデルAのパラメータ数が言語モデルBのパラメータ数よりも少ない場合、言語モデルAは小規模言語モデルであり、言語モデルBは大規模言語モデル。
【0266】
(b):言語モデルAの階層数が言語モデルBの階層数よりも少ない場合、言語モデルAは小規模言語モデルであり、言語モデルBは大規模言語モデル。
ここで、階層数とは、限定ではなく例として、言語モデルのエンコーダ層(限定ではなく例として、Attention層)の階層数としてもよいし、デコーダ層の階層数としてもよいし、エンコーダ層とデコーダ層との階層数和数としてもよい。
【0267】
(c):言語モデルAの構造が言語モデルBの構造よりも単純である場合、言語モデルAは小規模言語モデルであり、言語モデルBは大規模言語モデル。
限定ではなく例として、言語モデルAがエンコーダモデルであり、言語モデルBがエンコーダ/デコーダモデルである場合、言語モデルAは小規模言語モデルであり、言語モデルBは大規模言語モデルとしてもよい。
【0268】
(d):言語モデルAのフィルタ数が言語モデルBのフィルタ数よりも少ない場合、言語モデルAは小規模言語モデルであり、言語モデルBは大規模言語モデル。
ここで、フィルタ数とは、限定ではなく例として、言語モデルのエンコーダ/デコーダに入力される以前に入力文に基づいて前処理を実行するための事前制御フィルタ数としてもよいし、言語モデルのエンコーダ/デコーダからの出力に基づいて後処理を実行するための事後制御フィルタ数としてもよい。また、フィルタ数を、限定ではなく例として、事前制御フィルタ数と事後制御フィルタ数との総和としてもよい。
【0269】
(e):言語モデルAにおける一推論あたりの知識データベースアクセス数が言語モデルBにおける一推論あたりの知識データベースアクセス数よりも少ない場合、言語モデルAは小規模言語モデルであり、言語モデルBは大規模言語モデル。
ここで、知識データベースアクセス数とは、限定ではなく例として、言語モデルが参照可能な言語モデル外の知識データベースを参照する一推論あたりの平均回数としてもよい。限定ではなく例として、言語モデルが「L社」の現在の株価を生成文に含める場合、株価データベースへの1回以上のアクセスが必要となる。
【0270】
(f):上記(a)~(e)の組み合わせによる判定。
限定ではなく例として、言語モデルAと言語モデルBのパラメータ数が同数程度であり、言語モデルAにはフィルタが存在せず、言語モデルBにはフィルタが存在する場合、言語モデルAは小規模言語モデルであり、言語モデルBは大規模言語モデルとしてもよい。
【0271】
また、(b)や(c)は、(a)の基準に内包されるとしてもよいし、そうしなくてもよい。
【0272】
なお、より単純に、所定数(限定ではなく例として、「1000」)の同じ入力文に対する推論処理に要する平均時間が短い言語モデルを小規模言語モデル、長い言語モデルを大規模言語モデルとしてもよい。
【0273】
第3実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0274】
<情報処理装置の機能構成>
図3-1は、本実施例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、第1言語モデル部114と、第2言語モデル部115とを備える。
第1言語モデル部114と、第2言語モデル部115とは、限定ではなく例として、Transformer等のSequence to Sequenceモデルや、GPT等の自己回帰型モデル等、様々な言語モデルとして構成可能である。
また、第1言語モデル部114には小規模言語モデルが、第2言語モデル部115には大規模言語モデルが、それぞれ用いられる。
【0275】
前述したように、言語モデルの計算量は、O(t2d)またはO(td2)と見積もることができる。そのため、限定ではなく例として、言語モデルに入力されるトークン長「t」を一定とした場合、言語モデルのパラメータ数に比例する次元数「d」が計算量を左右する。
そこで、限定ではなく例として、両言語モデルのアーキテクチャが同じあるいは類似する場合、第1言語モデル部114のパラメータ数を「p1」、第2言語モデル部115のパラメータ数を「p2」とすると、「p1<p2」または「p1<<p2」としてもよい。
この場合、第1言語モデル部114において入力文が入力されてから応答文を出力するまでの処理は、第2言語モデル部115における推論処理に比べて、比較的高速に実行することが可能である。
【0276】
<情報処理装置の表示画面例>
図3-2は、本実施例において情報処理装置1に接続された出力部17に表示される画面の遷移の一例を示す図である。
図3-2左側は、限定ではなく例として、対話アプリケーションの対話表示画面の一例である。
この画面では、限定ではなく例として、対話内容表示領域DR1には、情報処理装置1が対話を開始することに基づく応答文を出力した対話テキストRT0が表示されている。
【0277】
また、限定ではなく例として、対話入力文入力領域DIR1に、「今日サウナいったんですよ」という文字列が入力されたことが表示されている。
限定ではなく例として、対話入力文入力領域DIR1の「決定」ボタンがタップされると、情報処理装置1に対話入力文として「今日サウナいったんですよ」という文字列が入力される。すると、限定ではなく例として、
図3-2中央の対話表示画面に表示が変わる。
【0278】
この画面では、対話状況表示領域において、情報処理装置1が対話入力文に基づく応答文の出力中であることを示している。
また、対話内容表示領域DR1には、情報処理装置1が受け付けた対話入力文の入力テキストIT2が表示されている。そして、入力テキストIT2の下には、対話入力文に基づく第1応答文「おお、サウナに行かれたんですね。」を出力した対話テキストRT3が表示されている。
第1応答文には、限定ではなく例として、対話入力文を受けて「サウナ」に行ったことを確認したことを示す文字列が含まれている。
【0279】
その後、限定ではなく例として、
図3-2右側の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、対話テキストRT3の下に、対話入力文に基づく第2応答文「サウナはフィンランドが・・・」を出力した対話テキストRT4が表示されている。
【0280】
また、情報処理装置1が入力テキストIT2で示される対話入力文に基づく応答文を出力したことに基づき、対話状況表示領域では情報処理装置1がユーザによる対話入力文の入力待機中であることが表示されている。
そして、対話入力文入力領域DIR1が再表示されている。
【0281】
<情報処理装置の処理>
図3-3は、本実施例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
【0282】
情報処理装置1の制御部は、対話入力文取得処理を実行すると、限定ではなく例として、第1言語モデル部推論処理と、第2言語モデル部推論処理とをそれぞれの機能部で並列に実行する。
【0283】
第1言語モデル部114は、対話入力文に基づく入力文を受け付けると、第1言語モデル部推論処理を実行する(E270)。
第1言語モデル部推論処理において、第1言語モデル部114は、限定ではなく例として、入力文に基づいて、生成文(「第1生成文」と称することがある。)を推論する。
【0284】
また、第2言語モデル部115は、対話入力文に基づく入力文を受け付けると、第2言語モデル部推論処理を実行する(E290)。
第2言語モデル部推論処理において、第2言語モデル部115は、限定ではなく例として、入力文に基づいて、生成文(「第2生成文」と称することがある。)を推論する。
【0285】
限定ではなく例として、第1言語モデル部推論処理が実行されると、情報処理装置1の制御部は、第1応答文出力処理を実行する(E230)。
第1応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、第1言語モデル部114の生成文に基づく第1応答文を出力部17に出力する。
【0286】
また、限定ではなく例として、第2言語モデル部推論処理が実行されると、情報処理装置1の制御部は、第2応答文出力処理を実行する(E250)。
第2応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、第2言語モデル部115の生成文に基づく第2応答文を出力部17に出力する。
【0287】
第1言語モデル部推論処理は第2言語モデル部推論処理に比べて処理時間が短く済むため、第1応答文出力処理は第2応答文出力処理に先んじて実行される。
【0288】
限定ではなく例として、第2言語モデル部推論処理が第1言語モデル部推論処理よりも先に実行を終えた場合、情報処理装置1の制御部は、限定ではなく例として、第1言語モデル部推論処理の終了を待ち、第1応答文出力処理を実行し、次いで第2応答文出力処理を実行するようにしてもよい。
【0289】
なお、情報処理装置1の制御部は、第1言語モデル部推論処理と、第1応答文出力処理とを実行すると、第2言語モデル部推論処理と、第2応答文出力処理とを実行するようにしてもよい。
【0290】
また、情報処理装置1の制御部は、第2言語モデル部推論処理を実行すると、第1言語モデル部推論処理と、第1応答文出力処理とを実行し、次いで第2応答文出力処理を実行するようにしてもよい。
【0291】
また、情報処理装置1の制御部は、第1言語モデル部推論処理と、第2言語モデル部推論処理とを実行すると、第1言語モデル部114の生成文または第1応答文と、第2言語モデル部115の生成文または第2応答文とを含む応答文を出力部17に出力するようにしてもよい。
【0292】
<処理>
本実施例における処理は、限定ではなく例として、
図2-3において、第1応答生成処理を第1言語モデル部推論処理とし、第2応答生成処理を第2言語モデル部推論処理とした場合と同様に実行することができる。
【0293】
限定ではなく例として、サーバ10の制御部11は、アプリケーション管理処理部111と、第1言語モデル部114と、第2言語モデル部115とを機能部として含む。これらの機能部は、限定ではなく例として、
図3-1の情報処理装置1が備える機能部にそれぞれ対応するものである。
【0294】
なお、限定ではなく例として、不図示の対話処理サーバにおいて、第1言語モデル部推論処理または第2言語モデル部推論処理、あるいはその両方を実行するようにしてもよい。
【0295】
また、限定ではなく例として、端末20の制御部21またはサーバ10の制御部11において全ての処理を実行することとしてもよい。
【0296】
<第3実施例の効果>
本実施例は、第1応答は、第1応答生成処理(限定ではなく、第1処理の一例)によって生成され、第2応答は、第2応答生成処理によって生成される構成を示している。
このような構成により得られる実施例の効果の一例として、同一または異なる処理によって、第1応答と第2応答とが生成されるようにすることができる。
【0297】
また、この場合、第1応答生成処理は、第2応答生成処理とは異なる処理であるようにしてもよい。
このような構成により得られる実施例の効果の一例として、異なる処理によって、第1応答と第2応答とが生成されるようにすることができる。
【0298】
また、この場合、第2応答生成処理は、第1応答生成処理よりも行う処理が多いようにしてもよい。また、この場合、第2応答生成処理は、第1応答生成処理よりも応答の生成に要する時間が長いようにしてもよい。
このような構成により得られる実施例の効果の一例として、第2応答を生成するよりも少ない処理で第1応答が生成されるようにすることができる。また、第2応答を生成するよりも短い時間で第1応答が生成されるようにすることができる。
【0299】
<第3変形例(1)>
上記の実施例では、第1応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、第1言語モデル部推論処理での生成文に基づく第1応答文を出力部17に出力することとしたが、これに限定されない。
限定ではなく例として、第1応答文は、第1言語モデル部推論処理結果に基づいて、ルールベースで生成されることとしてもよい。
【0300】
図3-4は、本変形例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、第1言語モデル部114と、ルールベース生成部113と、第2言語モデル部115とを備える。
【0301】
第1言語モデル部114は、限定ではなく例として、BERT(Bidirectional Encoder Representations from Transformers)等のエンコーダモデルとして構成可能である。第2言語モデル部115は、エンコーダ/デコーダモデルとしてもよいし、そうしなくてもよい。
【0302】
第1言語モデル部114は、限定ではなく例として、入力文を入力として受け付ける。すると、第1言語モデル部114は、限定ではなく例として、入力文に基づいて、入力文のエンコード表現を出力する。入力文のエンコード表現には、限定ではなく例として、入力文の特徴や属性等の情報が埋め込まれる。
【0303】
ルールベース生成部113は、限定ではなく例として、第1言語モデル部114から入力文のエンコード表現を受け付けると、限定ではなく例として、バイナリツリーで入力文が分類される葉を探索する。そして、探索された葉と対応する応答文候補を入力文に対する応答文として出力する。
【0304】
なお、入力文のエンコード表現が十分に単純である場合(限定ではなく例として、一次元表現や二次元表現等)、ルールベース生成部113は、エンコード表現と応答文候補との対応関係を示すテーブル(クロスマトリクス)として構成するようにしてもよい。
【0305】
図3-5は、本変形例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、対話入力文取得処理を実行すると、限定ではなく例として、第1言語モデル部推論処理と、第2言語モデル部推論処理とをそれぞれの機能部で並列に実行する。
【0306】
第1言語モデル部114は、対話入力文に基づく入力文を受け付けると、第1言語モデル部推論処理を実行する(E270)。
第1言語モデル部推論処理において、第1言語モデル部114は、限定ではなく例として、入力文に基づいて、入力文のエンコード表現を推論する。
【0307】
限定ではなく例として、第1言語モデル部推論処理が実行されると、情報処理装置1の制御部は、ルールベース生成処理を実行する(E210)。
ルールベース生成処理において、ルールベース生成部113は、限定ではなく例として、入力文のエンコード表現に基づいて、バイナリツリーを探索し、応答文候補から応答文を出力する。
【0308】
限定ではなく例としてルールベース生成処理が実行されると、情報処理装置1の制御部は、第1応答文出力処理を実行する(E230)。
第1応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、ルールベース生成部113の応答文に基づく第1応答文を出力部17に出力する。
【0309】
一般に、エンコーダモデルである第1言語モデル部114は、エンコーダ/デコーダモデルである第2言語モデル部115よりも階層数を少なくでき、また、構造も単純化できる。または、入力文のエンコード表現のみを獲得可能な第1言語モデル部114は、生成文を生成可能な第2言語モデル部115よりもパラメータ数を少なくすることができる。
そのため、第1言語モデル部推論処理とルールベース生成処理とを組み合わせた第1応答生成処理は、第2言語モデル部推論処理による第2応答生成処理よりも早く終了することができる。
【0310】
<第3変形例(2)>
本変形例は、言語モデル部に事前制御フィルタや事後制御フィルタを備える場合の具体例である。
【0311】
図3-6は、本変形例における情報処理装置1の機能構成の一例を示すブロック図である。
第2言語モデル部115は、限定ではなく例として、事前制御部1151と、コア言語モデル部1153と、事後制御部1155とを備える。
【0312】
なお、第1言語モデル部114は、前述のように、ルールベース生成部113に接続されることとしてもよいし、そのようにしなくてもよい。
【0313】
事前制御部1151は、限定ではなく例として、情報処理装置1の不図示の記憶部に記憶される知識データベース155に基づいて、第2言語モデル部115の入力文から、入力文の意に沿ったプロンプトを生成する機能を有する。
【0314】
コア言語モデル部1153は、限定ではなく例として、GPT-3等の言語モデルで構成され、プロンプトを入力として受け付けると、プロンプトに基づいて、応答文(限定ではなく例として、「プロンプト応答文」と称する。)を推論する機能を有する。
【0315】
事後制御部1155は、限定ではなく例として、コア言語モデル部1153からプロンプト応答文を取得すると、プロンプト応答文が妥当な応答文であるか否かを判定する機能を有する。また、プロンプト応答文が妥当ではない場合、限定ではなく例として、コア言語モデル部1153にプロンプト応答文の再生成を命ずる制御を行う機能を有する。
【0316】
第2言語モデル部115は、限定ではなく例として、プロンプトエンジニアリングを利用した言語モデル部といってもよい。プロンプトは、言語モデルに最適化された入力文やトークン列といってもよい。
【0317】
なお、限定ではなく例として、第1言語モデル部114は、コア言語モデル部1153と共通の言語モデルにより構成されることとしてもよい。第1言語モデル部114は、限定ではなく例として、プロンプトエンジニアリングを利用しない言語モデル部といってもよい。
【0318】
また、限定ではなく例として、第1言語モデル部114は、言語モデル部(コア言語モデル部でもよいし、異なる小規模言語モデルでもよい)と、事前制御部または事後制御部、もしくはその両方を備えることとしてもよい。
【0319】
図3-7は、本変形例における第2言語モデル部推論処理の流れの一例を示すフローチャートである。
まず、第2言語モデル部115は入力文を取得すると、事前制御部1151は、限定ではなく例として、取得された入力文に対して入力誤りフィルタを適用する(E2110)。
限定ではなく例として、音声認識のミスや文字入力のミスが入力文において検知されると(E2110:YES)、事前制御部1151は、限定ではなく例として、対話入力文の再取得を求める応答文の推論に最適化された入力誤りプロンプトを生成する入力誤りプロンプト生成処理を行う(E2120)。そして、事前制御部1151は、入力誤りプロンプトをコア言語モデル部1153に出力する。
【0320】
限定ではなく例として、入力誤りフィルタで入力誤りが検知されない場合(E2110:NO)、事前制御部1151は、入力文に対して知識データベースフィルタを適用する(E2130)。
限定ではなく例として、入力文に対して知識データベース155の知識を適用可能な内容(限定ではなく例として、「今日の天気」や「L社の株価」等)が検知されると(E2130:YES)、事前制御部1151は、限定ではなく例として、知識データベース155を参照し、知識データベース155の知識を反映させた応答文の推論に最適化された知識応答プロンプトを生成する知識応答プロンプト生成処理を行う(E2140)。そして、事前制御部1151は、知識応答プロンプトをコア言語モデル部1153に出力する。
【0321】
限定ではなく例として、知識データベースフィルタで知識を適用可能と検知されない場合(E2130:NO)、事前制御部1151は、入力文に対して使用可能ペルソナフィルタを適用する(E2150)。
限定ではなく例として入力文において特定のキャラクタ(限定ではなく例として、「アイドルX」や「俳優Y」)の個性を反映させた応答を希望する入力文が検知されると(E2150:YES)、事前制御部1151は、限定ではなく例として、コア言語モデル部1153の内部表現を参照し、特定のキャラクタ応答を反映させた応答文の推論に最適化されたペルソナ応答プロンプトを生成するペルソナ応答プロンプト生成処理を行う(E2160)。そして、事前制御部1151は、ペルソナプロンプトをコア言語モデル部1153に出力する。
【0322】
限定ではなく例として、使用可能ペルソナフィルタで入力と対応するキャラクタが検知されない場合(E2150:NO)、事前制御部1151は、入力文に対して入力文長短文フィルタを適用する(E2170)。
限定ではなく例として、入力文の文長(単語数)が規定数に達していない、または規定数以下である場合(E2170:YES)、事前制御部1151は、限定ではなく例として、話題を広げる応答文の推論に最適化された話題提供プロンプトを生成する話題提供プロンプト生成処理を行う(E2180)。そして、事前制御部1151は、話題提供プロンプトをコア言語モデル部1153に出力する。
【0323】
限定ではなく例として、入力文長短文フィルタで入力文長に問題が検知されない場合(E2170:NO)、事前制御部1151は、限定ではなく例として、入力文をそのままトークン化し、一般応答プロンプトを生成する一般応答プロンプト生成処理を行う(E2190)。そして、事前制御部1151は、一般応答プロンプトをコア言語モデル部1153に出力する。
【0324】
コア言語モデル部1153は、限定ではなく例として、事前制御部1151から上記のいずれかのプロンプトを受け付けると、コア言語モデル部推論処理を実行し(E2210)、プロンプト生成文を事後制御部1155に出力する。
【0325】
事後制御部1155は、限定ではなく例として、コア言語モデル部1153からプロンプト生成文を受け付けると、プロンプト生成文に対して話が広がらない応答フィルタを適用する(E2310)。
限定ではなく例として、プロンプト生成文中に、入力文のオウム返し的な文が規定割合以上検出される場合(E2310:YES)、事後制御部1155は、コア言語モデル部1153が受け付けたプロンプトに基づいて、一度の推論処理において複数文章を生成させるための複数文生成プロンプトを生成する複数文生成プロンプト生成処理を行う(E2330)。そして、事後制御部1155は、複数文生成プロンプトをコア言語モデル部1153に出力する。
【0326】
コア言語モデル部1153は、限定ではなく例として、事後制御部1155から複数文生成プロンプトを受け付けると、コア言語モデル部推論処理を再実行し(E2210)、プロンプト生成文を事後制御部1155に出力する。
【0327】
限定ではなく例として、話が広がらない応答フィルタで会話が広がりにくいプロンプト生成文が検出されない場合(E2310:NO)、事後制御部1155は、限定ではなく例として、プロンプト生成文に対して会話終了応答フィルタを適用する(E2350)。
限定ではなく例として、プロンプト生成文に対話をやめてしまう応答(限定ではなく例として、「これで会話終了」等)が検知される場合(E2350:YES)、事後制御部1155は、限定ではなく例として、コア言語モデル部1153が受け付けたプロンプトに基づいて、再度推論処理を行うことを命ずる(E2110)。
【0328】
限定ではなく例として、会話終了応答フィルタで対話終了に導く応答が検知されない場合(E2350:NO)、事後制御部1155は、限定ではなく例として、プロンプト生成文に対して使用禁止語句フィルタを適用する(E2370)。
限定ではなく例として、プロンプト生成文から予め規定された使用禁止語句が検知される場合(E2370:YES)、事後制御部1155は、限定ではなく例として、コア言語モデル部1153が受け付けたプロンプトに基づいて、再度推論処理を行うことを命ずる(E2110)。
【0329】
限定ではなく例として、使用禁止語句フィルタで使用禁止語句が検知されない場合(E2370:NO)、事後制御部1155は、限定ではなく例として、プロンプト生成文に対して非論理的応答フィルタを適用する(E2390)。
限定ではなく例として、プロンプト生成文から論理的に破綻している応答(限定ではなく例として、前の応答文とは真逆の内容や、論理的真理に反する内容)が検知される場合(E2390:YES)、事後制御部1155は、限定ではなく例として、コア言語モデル部1153が受け付けたプロンプトに基づいて、再度推論処理を行うことを命ずる(E2110)。
【0330】
限定ではなく例として、非論理的応答フィルタでプロンプト生成文の論理的破綻が検知されない場合(E2390:NO)、事後制御部1155は、限定ではなく例として、プロンプト生成文を第2言語モデル部115の推論結果として出力する。
【0331】
限定ではなく例として、第2言語モデル部115の構成に事前制御部1151または事後制御部1155、あるいはその両方を組み込むことで、第2言語モデル部115の応答文としてより臨場感が高く自然な応答を生成することができる。
【0332】
その半面、第2言語モデル部推論処理に要する時間は、事前制御部1151におけるプロンプト生成時間と、事後制御部1155におけるフィルタ処理に基づくコア言語モデル部1153での再推論処理時間の分だけ時間を要する。
【0333】
なお、事前制御部1151または事後制御部1155に組み込まれるフィルタは、上記のフィルタの一部としてもよいし、他のフィルタを適用するようにしてもよい。各フィルタは、それ自体を言語モデルとして構成されることとしてもよいし、知識ベースのフィルタとして構成されることとしてもよい。
また、事後制御部1155において知識データベース155を用いるフィルタを適用するようにしてもよいし、そうしなくてもよい。事前制御部1151において知識データベース155を用いるフィルタを適用しないようにしてもよい。
【0334】
また、第1言語モデル部114に、事前制御部1151または事後制御部1155に組み込まれるフィルタと同様のフィルタの一部または全部を組み込むようにしてもよい。
【0335】
このような構成では、言語モデル部における推論処理時間は、限定ではなく例として、以下の要素に左右されることになる。
・コア言語モデル部1153のパラメータ数
コア言語モデル部1153のパラメータ数が大きいほど、そもそもコア言語モデル部1153における一度の推論処理に時間を要する。
・事前制御部1151および事後制御部1155のフィルタ段数
事前制御部1151のフィルタ段数が多いほど、フィルタ処理自体に時間を要する。
・事前制御部1151(および/または事後制御部1155)におけるデータベースアクセス数
フィルタ適用にあたり知識データベース155へのアクセスが発生するために時間を要する。
・事後制御部1155(および/または事前制御部1151)におけるコア言語モデル部1153への再推論命令ループ数
コア言語モデル部1153における推論処理が繰り返し実行される分だけ時間を要する。
【0336】
上記の影響を総合的に加味することで、第1言語モデル部114を、第2言語モデル部115に比べて小規模言語モデルであるように構成してもよい。
逆に、上記の影響を総合的に加味することで、第2言語モデル部115を、第1言語モデル部114に比べて大規模言語モデルであるように構成してもよい。
【0337】
なお、限定ではなく例として、第1言語モデル部114の言語モデルを、コア言語モデル部1153の言語モデルと共通の言語モデルとしてもよい。すなわち、第1言語モデル部114と第2言語モデル部115とは共通のコア言語モデル部1153を備えるが、第1言語モデル部114の構成は、第2言語モデル部115の構成に比べて、上記フィルタ段数やデータベースアクセス数、再推論命令ループ数が少ない言語モデルとしてもよい。
【0338】
本変形例は、第2応答生成処理は、第1応答生成処理よりも大規模な言語モデルである(限定ではなく、第1処理よりも行う処理が多いことの一例)構成を示している。また、この場合、第2応答生成処理は、第1応答生成処理よりも応答の生成に要する時間が長いようにしてもよい。
このような構成により得られる変形例の効果の一例として、第2応答を生成するよりも少ない処理で第1応答が生成されるようにすることができる。また、第2応答を生成するよりも短い時間で第1応答が生成されるようにすることができる。
【0339】
また、本変形例は、第2応答生成処理は、限定ではなく例として事前制御フィルタ処理や事後制御フィルタ処理等の処理(限定ではなく、第3処理)を含む構成を示している。
このような構成により得られる変形例の効果の一例として、第2処理が、第3処理を含むようにすることができ、限定ではなく例として、第2処理によって、より適切な第2応答文が生成されるようにすることができる。
【0340】
なお、第1応答生成処理も、限定ではなく例として事前制御フィルタ処理や事後制御フィルタ処理等の処理のうちの一部または全部の処理を含むようにしてもよい。また、第1応答生成処理と第2応答生成処理とで同じ言語モデル部(限定ではなく例として、コア言語モデル部)を用いるようにしてもよい。つまり、第1処理は第3処理を含むようにしてもよいし、第1処理と第2処理とは一部同じ処理を含むようにしてもよい。
【0341】
<第3変形例(4)>
上記の実施例では、情報処理装置1において処理が完結する例について例示したが、これに限定されない。限定ではなく例として、上記の情報処理装置1を適用した端末20とサーバ10とのサーバクライアントシステムにおいて処理を実行することとしてもよい。
【0342】
この場合、限定ではなく例として、
図2-3に従って処理を実行することとしてもよい。
図3-8は、第1応答生成処理と第2応答生成処理との処理の組み合わせを図示した表である。
【0343】
パターン(A)~パターン(D)では、限定ではなく例として、第1応答生成処理をルールベース生成処理、第2応答生成処理を言語モデル部推論処理とする。
パターン(E)~パターン(H)では、限定ではなく例として、第1応答生成処理を第1言語モデル部推論処理、第2応答生成処理を第2言語モデル部推論処理とする。
パターン(I)~パターン(P)では、限定ではなく例として、第1応答生成処理を第1言語モデル部推論処理に基づくルールベース生成処理、第2応答生成処理を第2言語モデル部推論処理とする。
【0344】
パターン(A)、パターン(E)、パターン(I)では、第1応答生成処理と第2応答生成処理とをサーバ10の制御部11で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0345】
パターン(B)、パターン(F)、パターン(J)では、第1応答生成処理を端末20の制御部21で実行する。また、第2応答生成処理をサーバ10の制御部11で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0346】
パターン(C)、パターン(G)、パターン(K)では、第1応答生成処理をサーバ10の制御部11で実行する。また、第2応答生成処理を端末20の制御部21で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0347】
パターン(D)、パターン(H)、パターン(L)では、第1応答生成処理と第2応答生成処理とを端末20の制御部21で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0348】
パターン(M)では、第1応答生成処理のうち第1言語モデル部推論処理をサーバ10の制御部11で実行し、限定ではなく例として、入力文のエンコード表現を通信I/F14によって端末20に送信する。そして、端末20の制御部21は、受信した入力文のエンコード表現に基づいて、ルールベース生成処理を実行する。また、第2言語モデル部推論処理をサーバ10の制御部11で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0349】
パターン(N)では、第1応答生成処理のうち第1言語モデル部推論処理を端末20の制御部21で実行し、限定ではなく例として、入力文のエンコード表現を通信I/F22によってサーバ10に送信する。そして、サーバ10の制御部11は、受信した入力文のエンコード表現に基づいて、ルールベース生成処理を実行する。また、第2言語モデル部推論処理をサーバ10の制御部11で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0350】
パターン(O)では、第1応答生成処理のうち第1言語モデル部推論処理をサーバ10の制御部11で実行し、限定ではなく例として、入力文のエンコード表現を通信I/F14によって端末20に送信する。そして、端末20の制御部21は、受信した入力文のエンコード表現に基づいて、ルールベース生成処理を実行する。また、第2言語モデル部推論処理を端末20の制御部21で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0351】
パターン(P)では、第1応答生成処理のうち第1言語モデル部推論処理を端末20の制御部21で実行し、限定ではなく例として、入力文のエンコード表現を通信I/F22によってサーバ10に送信する。そして、サーバ10の制御部11は、受信した入力文のエンコード表現に基づいて、ルールベース生成処理を実行する。また、第2言語モデル部推論処理を端末20の制御部21で実行する。そして、対話入力文(コンテンツ)の受付と、第1応答コンテンツおよび第2応答コンテンツの出力を端末20の制御部21で実行することとしてもよい。
【0352】
なお、限定ではなく例として、不図示の対話処理サーバにおいて、第1言語モデル部推論処理または第2言語モデル部推論処理、あるいはその両方を実行するようにしてもよい。
【0353】
また、限定ではなく例として、端末20の制御部21またはサーバ10の制御部11において全ての処理を実行することとしてもよい。
【0354】
なお、第2応答生成処理を、限定ではなく例として、ルールベース生成処理としてもよい。また、第2応答生成処理は、限定ではなく例として、第2言語モデル部推論処理結果に基づいて、ルールベース生成処理で生成されるようにしてもよい。
すなわち、第2応答生成処理は、言語モデル以外の方法で生成されるようにしてもよい。
【0355】
上記のような構成によっても、限定ではなく例として第2変形例(3)で例示したような、第1応答を生成して出力し、第2応答を生成して出力する、端末とサーバとを含むシステムを実現することができる。
【0356】
<第4実施例>
上記の実施例では、第1応答文出力処理が、第2応答文出力処理よりも早く行われる場合について例示した。
第4実施例は、限定ではなく例として、第2応答生成処理に要する時間を予測することで、第1応答文出力処理が終了するタイミングで第2応答文出力処理を開始できるように第1応答生成処理を実行する場合についての実施例である。
【0357】
第4実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
<情報処理装置の機能構成>
図4-1は、本実施例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、第1言語モデル部114と、第2言語モデル部115と、指定応答時間プロンプト生成部116とを備える。
【0358】
指定応答時間プロンプト生成部116は、第2言語モデル部115への入力文に基づいて、限定ではなく例として、第2言語モデル部115の入出力(トークン系列)に関する情報を入力として受け付ける。そして、指定応答時間プロンプト生成部116は、限定ではなく例として、第2言語モデル部115が入力文に基づく推論処理を実行する応答時間(「第2応答文出力時間」と称する。)を推定する機能を有する。
【0359】
また、指定応答時間プロンプト生成部116は、限定ではなく例として、第2応答文出力時間と近しい読み上げ時間となるような第1応答文を生成するためのプロンプト(「指定応答時間プロンプト」と称する。)を第1言語モデル部114に出力する機能を有する。
【0360】
<情報処理装置の表示画面例>
図4-2は、本実施例において情報処理装置1に接続された出力部17に表示される画面の遷移の一例を示す図である。
図4-2左側は、限定ではなく例として、
図3-2左側と同様の対話アプリケーションの対話表示画面の一例である。
限定ではなく例として、対話入力文入力領域DIR1の「決定」ボタンがタップされると、情報処理装置1に対話入力文として「今日サウナいったんですよ」という文字列が入力される。すると、限定ではなく例として、
図4-2中央の対話表示画面に表示が変わる。
【0361】
この画面では、対話状況表示領域において、情報処理装置1が対話入力文に基づく応答文の出力中であることを示している。
また、対話内容表示領域DR1には、情報処理装置1が受け付けた対話入力文の入力テキストIT2が表示されている。そして、入力テキストIT2の下には、対話入力文に基づく第1応答文「サウナは健康的でリラックスできる場所ですね。」を出力した対話テキストRT5が表示されている。
【0362】
また、情報処理装置1に接続される出力部17(限定ではなく例として、音出力部でありスピーカ)からは、第1応答文を読み上げた音声であり、第1応答文の末端部分である「・・・ばしょですね」という音声対話VR5が出力されている。
【0363】
限定ではなく例として、音声対話VR5による読み上げが終了すると、限定ではなく例として、
図4-2右側の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、対話テキストRT5の下に、対話入力文に基づく第2応答文「サウナはフィンランドが・・・」を出力した対話テキストRT6が表示されている。
【0364】
また、情報処理装置1に接続される出力部17からは、第2応答文を読み上げた音声であり、第2応答文の先頭部分である「サウナはフィンランドが・・・」という音声対話VR6が出力されている。
【0365】
このように、第2言語モデル部115における第2応答文出力時間に応じた第1応答文を生成することで、ユーザはよどみなく会話が続いているように感じることができる。そして、大規模言語モデルにおける第2言語モデル部推論処理の処理遅延を感じることなく、対話を実現することができる。
【0366】
なお、本例では第1応答文と第2応答文とを読み上げた場合の例について例示したが、これに限定されない。限定ではなく例として、少なくとも第1応答文の表示を一度にではなく、読み上げ速度に合わせる等のスピードで徐々に表示させるようにしてもよい。
【0367】
また、指定応答時間プロンプト生成部116は、限定ではなく例として、第1応答文を一度に表示させる場合、第1応答文を目視で読むのに必要な時間と近しい読み上げ時間となるような第1応答文を生成するための指定応答時間プロンプトを生成するようにしてもよい。
【0368】
なお、表示画面例では、説明の都合上、情報処理装置1の出力部17に入力テキストや対話テキストが表示される例を例示したが、これに限定されない。限定ではなく例として、入力テキストまたは応答テキスト、あるいはその両方を表示させないようにしてもよい。また、対話入力文入力領域DIR1へのテキスト入力に代えて、音入力部への音声入力に基づいて、対話入力文が取得されるようにしてもよいし、テキスト入力と音声入力とを併用できるようにしてもよい。
【0369】
<情報処理装置の処理>
図4-3は、本実施例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、対話入力文取得処理を実行すると、限定ではなく例として、第2言語モデル部推論時間推定処理と、第2言語モデル部推論処理とをそれぞれの機能部で並列に実行する。
【0370】
限定ではなく例として、指定応答時間プロンプト生成部116は、第2言語モデル部推論時間推定処理を実行する(E310)。
第2言語モデル部推論時間推定処理において、指定応答時間プロンプト生成部116は、限定ではなく例として、第2言語モデル部推論処理(E290)の実行(第2言語モデル部115への入力文入力)に基づいて、限定ではなく例として、第2言語モデル部115におけるプロンプトのトークン長(トークン数)と、出力に必要なトークン長(トークン数)とを受け付ける。そして、指定応答時間プロンプト生成部116は、限定ではなく例として、第2言語モデル部115における入出力のトークン数と、第2言語モデル部115のパラメータ数とに基づいて、第2応答文出力時間を推定する。
【0371】
前述のように、第2言語モデル部115の計算量は、トークン長「t」とパラメータ数に比例する単語の分散表現の次元数「d」とで算出することができる。そのため、第2言語モデル部115での推論処理時間は、限定ではなく例として、第2言語モデル部115におけるパラメータ数を一定とすると、入出力ごとに変化するトークン長「t」に関連して変化する。そこで、限定ではなく例として、指定応答時間プロンプト生成部116は、入出力ごとに変化するトークン長「t」に対する第2応答文出力時間を、限定ではなく例として、最小二乗法等を用いて推定する。
【0372】
すると、指定応答時間プロンプト生成部116は、指定応答時間プロンプト生成処理を実行する(E330)。
指定応答時間プロンプト生成処理において、指定応答時間プロンプト生成部116は、限定ではなく例として、第1言語モデル部114の出力文の読み上げ時間が第2応答文出力時間と近しい時間となるように、第1言語モデル部114のパラメータ数に対して第1言語モデル部114へのプロンプトのトークン長とプロンプト応答文のトークン長とを調整する。トークン長が調整されることで、プロンプト応答文の長さが変わり、結果的に、出力するために要する時間が変わる。そして、指定応答時間プロンプト生成部116は、調整された指定応答時間プロンプトを第1言語モデル部114に出力する。
【0373】
第1言語モデル部114は、指定応答時間プロンプトを入力として受け付けると、第1応答文を出力する。
【0374】
なお、指定応答時間プロンプト生成処理は実行しないようにしてもよい。この場合、第1言語モデル部114は、入力文に基づいて、数パターンの生成文を生成するようにしてもよい。そして、第1言語モデル部114は、それぞれの生成文のうち、読み上げ時間が第2応答文出力時間と最も近しい生成文を第1応答文として出力するようにしてもよい。
【0375】
また、第2言語モデル部推論時間推定処理において、第2応答文出力時間が設定時間(限定ではなく例として、「10秒」)以上、または設定時間を超えると算出された場合、情報処理装置1の制御部は、限定ではなく例として、E330~E230のステップを省略し、第1応答文出力処理を実行しないようにしてもよい。すなわち、第2応答文出力時間があまりに長くなることが想定される場合、第1応答文によって対話の間をつなぐことをあきらめるようにしてもよい。
【0376】
また、第2言語モデル部推論時間推定処理において、第2応答文出力時間が設定時間以上、または設定時間を超えると算出された場合、情報処理装置1の制御部は、限定ではなく例として、E330~E230のステップを繰り返し、第1応答文出力処理を繰り返すようにしてもよい。
情報処理装置1の制御部は、限定ではなく例として、思考中であることを示すプロンプトを入力として第1言語モデル部推論処理と第1応答文出力処理とを再度実行し、第1応答文として「うーん」や「えーと」等の考えていることを示す第1応答文を生成するようにしてもよい。
なお、情報処理装置1の制御部は、第1言語モデル部推論処理を実行せずに第1応答文出力処理を繰り返し、同じ第1応答文を繰り返し出力するようにしてもよい。
すなわち、第2応答文出力時間があまりに長くなることが想定される場合、比較的短い(単純な)第1応答文を複数出力することによって対話の間をつなぐようにしてもよい。
【0377】
<処理>
本実施例における処理は、限定ではなく例として、
図2-3において、第1応答生成処理を第2言語モデル部推論時間推定処理と指定応答時間プロンプト生成処理と第1言語モデル部推論処理とし、第2応答生成処理を第2言語モデル部推論処理とした場合と同様に実行することができる。
【0378】
限定ではなく例として、サーバ10の制御部11は、アプリケーション管理処理部111と、第1言語モデル部114と、指定応答時間プロンプト生成部116と、第2言語モデル部115とを機能部として含む。これらの機能部は、限定ではなく例として、
図4-1の情報処理装置1が備える機能部にそれぞれ対応するものである。
【0379】
なお、限定ではなく例として、不図示の対話処理サーバにおいて、第1応答生成処理または第2応答生成処理、あるいはその両方を実行するようにしてもよい。
対話処理サーバにおいて、第1応答生成処理の一部の処理(限定ではなく例として、第2言語モデル部推論時間推定処理)を実行するようにしてもよい。
【0380】
また、限定ではなく例として、端末20の制御部21において第1応答生成処理の一部、または第1応答生成処理の全部、または第2応答生成処理を実行することとしてもよい。
【0381】
また、限定ではなく例として、端末20の制御部21またはサーバ10の制御部11において全ての処理を実行することとしてもよい。
【0382】
また、限定ではなく例として、
図3-8に従って、端末20の制御部21とサーバ10の制御部11とにおいて第1応答生成処理と第2応答生成処理とを実行することとしてもよい。
【0383】
<第4実施例の効果>
本実施例は、第1応答は、第2応答に関する情報に基づいて生成される構成を示している。
このような構成により得られる実施例の効果の一例として、第2応答に関する情報に基づいて、第1応答が適切に生成されるようにすることができる。
【0384】
また、この場合、第1応答は、第2応答が生成される時間に基づいて生成されるようにしてもよい。
このような構成により得られる実施例の効果の一例として、第2応答が生成される時間に基づいて、第1応答が適切に生成されるようにすることができる。
【0385】
また、この場合、サーバ10等の情報処理装置は、設定された時間以上、または設定された時間よりも第2応答が生成される時間が長い場合、第1応答と同じ応答(限定ではなく、第3応答の一例)を制御部によって出力する構成を示している。
このような構成により得られる実施例の効果の一例として、第2応答の生成にある程度の時間を要する場合に、第1応答と同じ第3応答を出力することができる。
なお、第3応答は、第1応答とは異なる応答であってもよく、この場合、第2応答の生成にある程度の時間を要する場合に、第1応答とは異なる第3応答を出力することができる。
【0386】
<第4変形例(1)>
上記の実施例では、第2応答文出力時間が経過すると、第2言語モデル部推論処理が終了することを想定したが、これに限定されない。限定ではなく例として、何らかの影響で第2応答文出力時間を超過して第2言語モデル部推論処理が実行中である場合、情報処理装置1の制御部は、間をつなぐための応答文を出力するようにしてもよい。
【0387】
図4-4は、本実施例において情報処理装置1に接続された出力部17に表示される画面の遷移の一例を示す図である。
図4-4左側は、限定ではなく例として、
図4-2左側と同様の対話アプリケーションの対話表示画面において、対話入力文入力領域DIR1の「決定」ボタンがタップされた後の対話表示画面の一例である。
【0388】
この画面では、対話状況表示領域において、情報処理装置1が対話入力文に基づく応答文の出力中であることを示している。
また、対話内容表示領域DR1には、情報処理装置1が受け付けた対話入力文の入力テキストIT2が表示されている。そして、入力テキストIT2の下には、対話入力文に基づく第1応答文「サウナは健康にいいですね。」を出力した対話テキストRT7が表示されている。この対話テキストRT7と対応する第1応答文は、限定ではなく例として、第1の第1応答文と言ってもよい。
【0389】
また、情報処理装置1に接続される出力部17からは、第1の第1応答文を読み上げた音声であり、第1の第1応答文の末端部分である「・・・いいですね」という音声対話VR7が出力されている。
【0390】
限定ではなく例として、音声対話VR7による読み上げが終了すると、限定ではなく例として、
図4-4中央の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、対話テキストRT7の下に、対話入力文に基づき再度第1応答文「サウナは健康的でリラックスできる場所ですね。」を出力した対話テキストRT8が表示されている。この対話テキストRT8と対応する第1応答文は、限定ではなく例として、第1言語モデル部推論処理により再生成された出力文である。この対話テキストRT8と対応する第1応答文は、限定ではなく例として、第2の第1応答文と言ってもよいし、第3応答文と言ってもよい。
【0391】
また、情報処理装置1に接続される出力部17からは、第2の第1応答文を読み上げた音声であり、第2の第1応答文の末端部分である「・・・ばしょですね」という音声対話VR8が出力されている。
【0392】
限定ではなく例として、音声対話VR8による読み上げが終了すると、限定ではなく例として、
図4-4右側の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、対話テキストRT8の下に、対話入力文に基づく第2応答文「サウナはフィンランドが・・・」を出力した対話テキストRT9が表示されている。
【0393】
また、情報処理装置1に接続される出力部17からは、第2応答文を読み上げた音声であり、第2応答文の先頭部分である「サウナはフィンランドが・・・」という音声対話VR9が出力されている。
【0394】
音声対話VR7による読み上げが終了すると、音声対話VR8が出力されるようにすることで、音声対話VR8が出力されている間、第2言語モデル部推論処理が継続していることで発生する、音声対話VR7による読み上げ終了から第2応答文の出力(音声対話VR9の読み上げ)開始までの遅延をユーザに感じさせないようにすることができる。
【0395】
図4-5は、本変形例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、対話入力文取得処理を実行すると、限定ではなく例として、第2言語モデル部推論時間推定処理と、第2言語モデル部推論処理とをそれぞれの機能部で並列に実行する。
【0396】
限定ではなく例として、第1応答文出力処理を実行すると(E230)、情報処理装置1の制御部は、第2言語モデル部推論処理の処理状況を確認し、第2応答文推論処理が完了したか否かを判定する(E350)。
【0397】
第2応答文推論処理が完了していないと判定する場合(E350:NO)、情報処理装置1の制御部は、限定ではなく例として、第1言語モデル部推論処理と第1応答文出力処理とを再度実行する。なお、情報処理装置1の制御部は、第1応答文出力処理のみを繰り返し、同じ第1応答文を繰り返し出力するようにしてもよい。
【0398】
なお、第2応答文推論処理が完了していないと判定する場合、情報処理装置1の制御部は、限定ではなく例として、思考中であることを示すプロンプトを入力として第1言語モデル部推論処理と第1応答文出力処理とを再度実行するようにしてもよい。
【0399】
なお、第2応答文推論処理が完了していないと判定する場合、情報処理装置1の制御部は、第2言語モデル部推論処理の処理状況(限定ではなく例として、事後制御部のフィルタ適用によるコア言語モデル部におけるループ処理の発生状況等)を参照し、第2応答文出力時間を再算出すると、指定応答時間プロンプト生成処理と、第1言語モデル部推論処理と、第1応答文出力処理とを再度実行するようにしてもよい。
【0400】
また、情報処理装置1の制御部は、限定ではなく例として、第2言語モデル部推論処理の処理状況を、第1言語モデル部推論処理の完了から第1応答文出力処理の完了までの任意のタイミングで確認するようにしてもよい。そして、第1応答文出力処理の完了までに第2言語モデル部推論処理が完了しないと推定される場合、情報処理装置1の制御部は、任意のタイミングで第1言語モデル部推論処理を投機的に実行し、予め第2以降の第1応答文を生成するようにしてもよい。そして、限定ではなく例として、第1応答文出力処理が完了し第2応答文推論処理が完了していないと判定する場合、予め生成された第2以降の第1応答文を出力するようにしてもよい。
【0401】
また、限定ではなく例として、情報処理装置1の制御部は、2回目以降の第1言語モデル部推論処理において、第2以降の第1応答文の生成をより高速に実行するために、限定ではなく例として、第1言語モデル部推論処理に代えて、ルールベース生成処理を実行するようにしてもよい。
【0402】
なお、情報処理装置1の制御部は、第2言語モデル部推論時間推定処理と指定応答時間プロンプト生成処理とを実行しないようにしてもよい。この場合、情報処理装置1の制御部は、限定ではなく例として、第1応答文出力処理が終了すると(E230)、第2応答文推論処理の終了判定を行う(E350)。
第2応答文推論処理が完了していないと判定する場合(E350:NO)、情報処理装置1の制御部は、限定ではなく例として、第1言語モデル部推論処理と第1応答文出力処理とを再度実行する。なお、情報処理装置1の制御部は、第1応答文出力処理のみを繰り返し、同じ第1応答文を繰り返し出力するようにしてもよい。
【0403】
このような処理を行う場合、指定応答時間プロンプト生成部116が不要となり、より簡素化した情報処理装置1を構成することができる。
【0404】
本変形例は、サーバ10等の情報処理装置は、第1応答を出力した後、第2応答文生成処理(限定ではなく、第2処理の一例)が終了していない場合、出力した第1応答と同じ応答または異なる応答を制御部によって出力する構成を示している。
このような構成により得られる実施例の効果の一例として、第1応答を出力した後、第2応答の生成が終了していない場合に、第3応答を出力することができる。
【0405】
<第4変形例(2)>
上記の実施例では、限定ではなく例として、第2言語モデル部推論処理が終わると推定される時間まで、あるいは実際に第2言語モデル部115における推論処理が終了するまで第1応答文を繰り返し出力することとした。
【0406】
この場合、限定ではなく例として、指定応答時間プロンプト生成部116において、あたかも思考が進行中であるような生成文を生成するためのプロンプトを生成し、第1言語モデル部推論処理において、生成されたプロンプトに基づいて、第1応答文を生成するようにしてもよい。
【0407】
限定ではなく例として、情報処理装置1の制御部は、第1の第1応答文が「質問について検討しています」、第2の第1応答文が「質問について回答が出そうです」、第3の第1応答文が「質問について回答が出ました」等となるようにプロンプトを生成してもよい。
【0408】
また、限定ではなく例として、情報処理装置1の制御部は、第2言語モデル部推論処理の処理状況を確認することで、第1の第1応答文が「30%思考中です」、第2の第1応答文が「50%思考中です」、第3の第1応答文が「90%思考中です」等なるようにプロンプトを生成してもよい。
【0409】
このように思考が進行しているかのような第1応答文を出力することで、ユーザに第2言語モデル部推論処理が実行されていることを示唆し、対話における安心感を与えることができる。
【0410】
また、限定ではなく例として、パーセント表示等で進行度を表すことで、ユーザがあとどれくらい待てば第2応答文が出力されるのかを把握することができる。
【0411】
<第4変形例(3)>
上記の実施例では、第2言語モデル部推論処理が終わるまでの時間に第1応答文を素早く生成することが好ましい。そこで、限定ではなく例として、対話入力文の内容を利用して、第1応答文を生成するようにしてもよい。
【0412】
限定ではなく例として、第1言語モデル部推論処理において、対話入力文とほぼ同じ内容をオウム返しするプロンプトに基づいて、第1応答文を生成するようにしてもよい。
【0413】
また、対話入力文の文中に、限定ではなく例として、知識データベース155で利用可能なキーワードが検知された場合、そのキーワードを用いたプロンプトに基づいて、第1応答文を生成するようにしてもよい。
【0414】
限定ではなく例として、大規模言語モデル(第2言語モデル部)では、キーワードに関する知識データベースを利用して第2応答文を生成する可能性が高い。そのため、第1応答文を生成するためのプロンプトにそのキーワードをいれた簡易な文を生成する内容を記述すると、第1言語モデル部推論処理における処理時間を軽減しながら第2応答文の内容につながる第1応答文を出力する可能性がある。
【0415】
なお、前述のように、第1言語モデル部推論処理に代えてルールベース生成処理を実行するようにしてもよい。そして、機械学習モデルと上記のキーワードとを組み合わせることで、限定ではなく例として、対話入力文「昨日サウナいったんですよ」からキーワード「サウナ」を検出し、ルールベースでキーワードを含む応答「サウナですか」を生成するようにしてもよい。
【0416】
本変形例は、第1応答は、第1入力に基づいて生成される構成を示している。
このような構成により得られる変形例の効果の一例として、ユーザによる第1入力に基づいて適切な第1応答が生成されるようにすることができる。
【0417】
<第5実施例>
上記の実施例では、第1応答文出力処理と第2応答文出力処理とをシームレスに繋げる例について例示した。
第5実施例は、限定ではなく例として、第1応答文と第2応答文との内容に齟齬が生じないように、第1応答生成処理結果に基づいて、第2応答生成処理を実行することに関する実施例である。
【0418】
第5実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0419】
<情報処理装置の機能構成>
図5-1は、本実施例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、第1言語モデル部114と、第2言語モデル部115とを備える。
第1言語モデル部114は、限定ではなく例として、入力文を入力として受け付けると、第1言語モデル部推論処理結果として第1生成文を出力する。
第2言語モデル部115は、限定ではなく例として、入力文と第1生成文とを入力として受け付けると、第2言語モデル部推論処理結果として第2生成文を出力する。
これにより、第2言語モデル部115では、第1応答文を踏まえた第2応答文が生成される。
<情報処理装置の表示画面例>
図5-2は、本実施例において情報処理装置1に接続された出力部17に表示される画面の遷移の一例を示す図である。
【0420】
図5-2左側は、限定ではなく例として、
図1-2左側と同様の対話アプリケーションの対話表示画面の一例である。
【0421】
限定ではなく例として、対話入力文入力領域DIR1の下部に表示される「決定」ボタンがタップされると、情報処理装置1に対話入力文として「スポーツの話はどうでしょう?」という文字列が入力される。すると、限定ではなく例として、
図5-2中央の対話表示画面に表示が変わる。
【0422】
この画面では、対話状況表示領域において、限定ではなく例として、「Status」として「対話中」の文字が表示され、情報処理装置1が対話入力文に基づく応答文の出力中であることを示している。
【0423】
対話内容表示領域DR1には、対話入力文の入力テキストIT1が表示されている。そして、入力テキストIT1の下には、対話入力文に基づく第1応答文「スポーツと言えば野球ですね。」を出力した対話テキストRT10が表示されている。
【0424】
その後、限定ではなく例として、
図5-2右側の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、対話テキストRT10の下に、対話入力文に基づく第2応答文「日本でもホームラン記録が・・・」を出力した対話テキストRT11が表示されている。
【0425】
第2応答文では第1応答文に含まれる「野球」に関する話題が展開しているが、対話入力文には「スポーツ」の話題が振られているだけである。そのため、限定ではなく例として、第1応答文の読み上げの後に第2応答文が読み上げられると、ユーザは、第1応答文をただ単に第2応答文生成処理を行うための時間稼ぎのための文とは感じにくくなり、対話の自然さが増す。
【0426】
<情報処理装置の処理>
図5-3は、本実施例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
【0427】
情報処理装置1の制御部は、対話入力文取得処理を実行すると(E120)、限定ではなく例として、第1言語モデル部114は、第1言語モデル部推論処理を実行し(E270)、限定ではなく例として、入力文に基づいて、第1生成文を推論する。
【0428】
第2言語モデル部115は、限定ではなく例として、第1生成文と、対話入力文に基づく入力文とを受け付けると、第2言語モデル部推論処理を実行し(E290)、第2生成文を推論する。
【0429】
なお、第1言語モデル部推論処理において、第1言語モデル部114は、限定ではなく例として、入力文に基づいて、入力文のエンコード表現と、第1生成文を推論するようにしてもよい。
すると、第2言語モデル部115は、限定ではなく例として、入力文のエンコード表現と、対話入力文に基づく入力文とを受け付けると、第2言語モデル部推論処理を実行し(E290)、第2生成文を推論するようにしてもよい。
この場合、第2言語モデル部推論処理は、第1言語モデル部推論処理が終了する前(限定ではなく例として、第1言語モデル部114がエンコーダ/デコーダモデルである場合、エンコード処理が完了した場合)に開始してもよい。
【0430】
第1言語モデル部114から第2言語モデル部115に伝播させる入力文のエンコード表現は、エンコードされた情報全てとしてもよいし、限定ではなく例として、エンコードされた情報のうち、入力文の属性情報のみとしてもよい。
【0431】
ここで、入力文の属性情報には、限定ではなく例として、以下のような例が挙げられる。
・入力文のポジティブさ/ネガティブさを示す指標値
・入力文のカテゴリ分類(限定ではなく例として、「スポーツ」や「映画」、「コンピュータ」等)
・入力文の要約
・入力文に対する感情分類結果
・上記の任意の組み合わせ
【0432】
また、第1言語モデル部推論処理に代えて、限定ではなく例として、ルールベース生成処理を実行するようにしてもよい。
【0433】
なお、限定ではなく例として、第1の第1応答文を出力する第1応答文出力処理が開始されてから第1の第2応答文を出力する第2応答文出力処理が開始されるまでの間に再度対話入力文を受け付けた場合、限定ではなく例として、第2言語モデル部推論処理を中断し、再度受け付けた第2の対話入力文に基づいて、第1言語モデル部推論処理と第2言語モデル部推論処理とを実行するようにしてもよい。
また、この場合、限定ではなく例として、第2言語モデル部推論処理を、第1の第1応答文と第2の対話入力文とに基づいて実行するようにしてもよい。
【0434】
<処理>
本実施例における処理は、限定ではなく例として、
図2-3において、第1応答生成処理を第1言語モデル部推論処理とし、第2応答生成処理を第2言語モデル部推論処理とした場合、第1応答生成処理を実行後、第2応答生成処理を実行することで実現ができる。
【0435】
限定ではなく例として、サーバ10の制御部11は、アプリケーション管理処理部111と、第1言語モデル部114と、第2言語モデル部115とを機能部として含む。これらの機能部は、限定ではなく例として、
図5-1の情報処理装置1が備える機能部にそれぞれ対応するものである。
【0436】
なお、限定ではなく例として、不図示の対話処理サーバにおいて、第1言語モデル部推論処理または第2言語モデル部推論処理、あるいはその両方を実行するようにしてもよい。
【0437】
また、限定ではなく例として、端末20の制御部21またはサーバ10の制御部11において全ての処理を実行することとしてもよい。
【0438】
また、限定ではなく例として、
図3-8に従って、端末20の制御部21とサーバ10の制御部11とにおいて第1応答生成処理と第2応答生成処理とを実行することとしてもよい。
【0439】
<第5実施例の効果>
本実施例は、第2応答は、第1応答に基づいて生成される構成を示している。
このような構成により得られる実施例の効果の一例として、第1応答に基づいて適切な第1応答が生成されるようにすることができる。
【0440】
また、この場合、第2応答は、第1応答の属性に基づいて生成されるようにしてもよい。
このような構成により得られる実施例の効果の一例として、第1応答の属性に基づいてより適切な第2応答が生成されるようにすることができる。
【0441】
<第5変形例(1)>
上記の実施例では、第1応答生成処理結果に基づいて、第2応答生成処理を実行することとしたが、これに限定されない。限定ではなく例として、まず対話入力文(入力文)に対する属性情報を算出し、入力文の属性情報と、入力文とに基づいて、第1応答生成処理と第2応答生成処理とを実行するようにしてもよい。
【0442】
図5-4は、本変形例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、第1言語モデル部114と、第2言語モデル部115と、文章属性判定部117とを備える。
【0443】
文章属性判定部117は、限定ではなく例として、BERT(Bidirectional Encoder Representations from Transformers)等のエンコーダモデルとして構成可能である。
【0444】
文章属性判定部117は、限定ではなく例として、入力文を入力として受け付ける。すると、文章属性判定部117は、限定ではなく例として、入力文に基づいて、入力文の属性情報を第1言語モデル部114と第2言語モデル部115とに出力する。
【0445】
図5-5は、本変形例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、対話入力文取得処理を実行すると(E120)、限定ではなく例として、入力文属性判定処理を実行する(E410)。
【0446】
入力文属性判定処理において、文章属性判定部117は、限定ではなく例として、入力文に基づいて、入力文の属性情報を推定する。
【0447】
情報処理装置1の制御部は、対話入力文取得処理を実行すると、限定ではなく例として、第1言語モデル部推論処理と、第2言語モデル部推論処理とをそれぞれの機能部で並列に実行する。
【0448】
第1言語モデル部114は、対話入力文に基づく入力文と、入力文の属性情報とを受け付けると、第1言語モデル部推論処理を実行する(E270)。
第1言語モデル部推論処理において、第1言語モデル部114は、限定ではなく例として、入力文と、入力文の属性情報とに基づいて、第1生成文を推論する。
【0449】
なお、第1言語モデル部推論処理において、第1言語モデル部114は、限定ではなく例として、入力文の属性情報のみに基づいて、第1生成文を推論するようにしてもよい。
【0450】
第2言語モデル部115は、対話入力文に基づく入力文と、入力文の属性情報とを受け付けると、第2言語モデル部推論処理を実行する(E290)。
第2言語モデル部推論処理において、第2言語モデル部115は、限定ではなく例として、入力文と、入力文の属性情報とに基づいて、第2生成文を推論する。
【0451】
本変形例におけるシステムにおいて、文章属性判定部117は、端末20の制御部21が備えることとしてもよいし、サーバ10の制御部11が備えることとしてもよい。
【0452】
また、限定ではなく例として、不図示の対話処理サーバにおいて、対話入力文取得処理が実行されると、対話処理サーバは、入力文の属性情報を通信I/Fによって端末20またはサーバ10、あるいはその両方に送信することとしてもよい。そして、端末20の制御部21またはサーバ10の制御部11、あるいはその両方によって第1言語モデル部推論処理と第2言語モデル部推論処理とが実行されるようにしてもよい。また、対話処理サーバにおいて、第1言語モデル部推論処理または第2言語モデル部推論処理、あるいはその両方が実行されるようにしてもよい。
【0453】
本変形例は、第1応答と第2応答とは、応答に関する属性に基づいて生成される構成を示している。
このような構成により得られる変形例の効果の一例として、応答に関する属性に基づいて適切な第1応答と第2応答とが生成されるようにすることができる。
【0454】
<第5変形例(2)>
上記の実施例では、第1応答生成処理結果に基づいて、第2応答生成処理を実行することとしたが、これに限定されない。限定ではなく例として、第2応答生成処理結果に基づいて、第1応答生成処理を実行するようにしてもよい。
【0455】
この場合、限定ではなく例として、情報処理装置1の制御部は、対話入力文取得処理を実行すると(E120)、限定ではなく例として、第2言語モデル部115は、第2言語モデル部推論処理を実行し(E290)、限定ではなく例として、入力文に基づいて、第2生成文を推論する。
【0456】
第1言語モデル部114は、限定ではなく例として、第2生成文と、対話入力文に基づく入力文とを受け付けると、第1言語モデル部推論処理を実行し(E270)、第1生成文を推論する。
【0457】
なお、第2言語モデル部推論処理において、第2言語モデル部115は、限定ではなく例として、入力文に基づいて、入力文のエンコード表現と、第2生成文を推論するようにしてもよい。
すると、第1言語モデル部114は、限定ではなく例として、入力文のエンコード表現を受け付けると、入力文と入力文のエンコード表現とに基づいて、第1言語モデル部推論処理を実行し(E270)、第1生成文を推論するようにしてもよい。
この場合、第1言語モデル部推論処理は、第2言語モデル部推論処理が終了する前(限定ではなく例として、第2言語モデル部115がエンコーダ/デコーダモデルである場合、エンコード処理が完了した場合)に開始してもよい。
【0458】
第2言語モデル部115から第1言語モデル部114に伝播させる入力文のエンコード表現は、エンコードされた情報全てとしてもよいし、限定ではなく例として、エンコードされた情報のうち、入力文の属性情報のみとしてもよい。
【0459】
また、第1言語モデル部114は、限定ではなく例として、第2言語モデル部推論処理における大規模言語モデルの事前制御部1151や事後制御部1155からフィルタ適用状況等の情報を受け取ると、フィルタ適用状況と入力文とに基づいて、第1言語モデル部推論処理を実行し、第1生成文を推論するようにしてもよい。
この場合、第1応答生成処理は、第2応答生成処理が完了する前に開始してもよい。
【0460】
<第6実施例>
上記の実施例では、情報処理装置1は、対話入力文に基づいて、第1応答文を出力した後、第2応答文を出力する例を例示した。
第6実施例は、限定ではなく例として、情報処理装置1は、対話入力文に基づいて、第1応答文を出力せずに、第2応答文を出力する実施例である。
【0461】
第6実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0462】
<情報処理装置の表示画面例>
図6-1は、本実施例において情報処理装置1に接続された出力部17に表示される画面の遷移の一例を示す図である。
図6-1左側は、限定ではなく例として、
図4-2右側の対話アプリケーションの対話表示画面において、対話テキストRT6の読み上げが終わった後に表示される表示画面の一例である。なお、本実施例では、対話入力文入力領域DIR1に対する対話入力文の入力に代えて、入力部16(限定ではなく例として、音出力部でありマイクロフォン)に対する音声入力に基づいて、対話入力文が入力される例を示す。
【0463】
この画面では、対話状況表示領域において、情報処理装置1が対話入力文の入力中であることを示している。
また、入力部16には、限定ではなく例として、ユーザA.Aが音声VI3で「とてもきもちよかったです」という対話入力文を入力している。
【0464】
音声に基づいて、対話入力文取得処理が実行されると、限定ではなく例として、
図6-1中央の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、情報処理装置1が受け付けた対話入力文の入力テキストIT3が表示されている。そして、入力テキストIT3の下には、対話入力文に基づく第2応答文「そうですね。サウナを利用することで・・・」を出力した対話テキストRT12が表示されている。
【0465】
また、情報処理装置1に接続される出力部17(限定ではなく例として、音出力部でありスピーカ)からは、第2応答文を読み上げた音声であり、対話テキストRT12の先頭部分である「そうですね・・・」という音声対話VR12が出力されている。
【0466】
限定ではなく例として、音出力が終わると、限定ではなく例として、
図6-1右側の対話表示画面に表示が変わる。
この画面では、対話状況表示領域において、情報処理装置1が対話入力文の入力中であることを示している。
また、出力部17からは第2応答文を読み上げた音声であり、対話テキストRT12の末端部分である「・・・があります」という音声対話VR12が出力されたことが示されている。
【0467】
<情報処理装置の処理>
本実施例における情報処理装置1の機能構成は、限定ではなく例として、
図4-1と同様に構成するようにしてもよい。
図6-2は、本実施例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、対話入力文取得処理を実行すると、限定ではなく例として、第2言語モデル部推論時間推定処理と、第2言語モデル部推論処理とをそれぞれの機能部で並列に実行する。
【0468】
限定ではなく例として、指定応答時間プロンプト生成部116は、第2言語モデル部推論時間推定処理を実行すると(E310)、推定された第2応答文出力時間が閾値(限定ではなく例として、「2秒」)以下か否かを判定する(E510)。
【0469】
推定された第2応答文出力時間が閾値以下であると判定された場合(E510:YES
)、情報処理装置1の制御部は、限定ではなく例として、第1言語モデル部推論処理と第1応答文出力処理とをスキップする。なお、推定された第2応答文出力時間が閾値未満であると判定された場合、情報処理装置1の制御部は、限定ではなく例として、第1言語モデル部推論処理と第1応答文出力処理とをスキップするようにしてもよい。
【0470】
また、推定された第2応答文出力時間が閾値以下あるいは未満であると判定された場合、情報処理装置1の制御部は、限定ではなく例として、第1応答生成処理と第1応答文出力処理とをスキップするようにしてもよいし、第1応答生成処理を実行し第1応答文出力処理を実行しないようにしてもよい。
【0471】
すなわち、限定ではなく例として、第2言語モデル部推論処理(第2応答生成処理)が迅速に実行可能であり、ユーザの第2応答生成処理の処理待ちによる違和感が薄いと判定された場合、第1生成文を挟まずに第2生成文を出力するようにしてもよい。
【0472】
<処理>
本実施例における処理は、限定ではなく例として、
図2-3において、第1応答生成処理を第2言語モデル部推論時間推定処理と指定応答時間プロンプト生成処理と第1言語モデル部推論処理とし、第2応答生成処理を第2言語モデル部推論処理とした場合、第2言語モデル部推論時間推定処理における第2応答文出力時間が閾値以下(または未満)である場合、第1応答生成処理と第1応答文出力処理とをスキップするようにしてもよいし、第1応答生成処理を実行し第1応答文出力処理を実行しないようにしてもよい。
【0473】
限定ではなく例として、サーバ10の制御部11は、アプリケーション管理処理部111と、第1言語モデル部114と、指定応答時間プロンプト生成部116と、第2言語モデル部115とを機能部として含む。これらの機能部は、限定ではなく例として、
図4-1の情報処理装置1が備える機能部にそれぞれ対応するものである。
【0474】
なお、限定ではなく例として、不図示の対話処理サーバにおいて、第1応答生成処理または第2応答生成処理、あるいはその両方を実行するようにしてもよい。
対話処理サーバにおいて、第1応答生成処理の一部の処理(限定ではなく例として、第2言語モデル部推論時間推定処理)を実行するようにしてもよい。
【0475】
また、限定ではなく例として、端末20の制御部21において第1応答生成処理の一部、または第1応答生成処理の全部、または第2応答生成処理を実行することとしてもよい。
【0476】
また、限定ではなく例として、端末20の制御部21またはサーバ10の制御部11において全ての処理を実行することとしてもよい。
【0477】
また、限定ではなく例として、
図3-8に従って、端末20の制御部21とサーバ10の制御部11とにおいて第1応答生成処理と第2応答生成処理とを実行することとしてもよい。
【0478】
<第6実施例の効果>
本実施例は、サーバ10等の情報処理装置は、第2応答の出力時間に関する条件等の設定された条件に基づいて、第1応答を出力しないように制御する、または第1応答を生成するが出力しないように制御するなど、第1応答の出力を制御部によって制御する構成を示している。
このような構成により得られる実施例の効果の一例として、設定された条件に基づいて、第1応答の出力が制御されるようにすることができる。
【0479】
なお、上記のように、第1応答を出力しないように制御する他、第1応答を生成するが出力しないようにする制御することとしてもよく、この場合、情報処理装置は、設定された条件に基づいて、第1応答の生成を制御部によって制御すると捉えてもよい。
【0480】
また、この場合、上記の設定された条件は、第2応答の出力時間が閾値以下(または未満)であることなど、第2応答が生成される時間に関する条件を含むようにしてもよい。
このような構成により得られる実施例の効果の一例として、第2応答が生成される時間に関する条件に基づいて、第1応答の出力や第1応答の生成を制御部によって制御することができる。
【0481】
<第6変形例(1)>
上記の実施例では、第2応答文出力時間が閾値以下(または未満)である場合、第1応答文出力処理を実行しないこととしたが、これに限定されない。限定ではなく例として、第1生成文に適切な応答を準備できない場合や同じ第1生成文の繰り返しとなる場合、第1応答文出力処理を実行しないようにしてもよい。
【0482】
限定ではなく例として、第5変形例(1)を参酌し、第1言語モデル部推論処理において、第1言語モデル部114は、限定ではなく例として、入力文と、入力文の属性情報とに基づいて、(または入力文の属性情報のみに基づいて、)第1生成文を生成する。しかし、第1生成文が、限定ではなく例として、事後制御部1155における会話終了応答フィルタや使用禁止語句フィルタ、非論理的応答フィルタ等に引っかかる場合、第1生成文は適切な応答ではない可能性が高い。この場合、情報処理装置1の制御部は、第1応答文出力処理を実行しないようにしてもよい。
【0483】
また、限定ではなく例として、第1言語モデル部推論処理において、直前の第1言語モデル部推論処理と同じ、または類似した第1生成文が生成された場合、ユーザは同じような第1応答文を繰り返し対話応答として受け取ることになりくどく感じる。このような場合においても、情報処理装置1の制御部は、第1応答文出力処理を実行しないようにしてもよい。
【0484】
また、限定ではなく例として、第1言語モデル部推論処理または第2言語モデル部推論処理において、事前制御部1151における使用可能ペルソナフィルタに引っかかり、特定のキャラクタの個性を反映させた応答を生成することが好ましい場合、そのキャラクタによっては相槌的な反応がふさわしくない可能性が生じる。このような場合においても、情報処理装置1の制御部は、第1応答文出力処理を実行しないようにしてもよい。
【0485】
<第6変形例(2)>
上記の実施例では、第2応答文出力時間が閾値以下(または未満)である場合、第1応答文出力処理を実行しないこととしたが、これに限定されない。限定ではなく例として、情報処理装置1の制御部は、対話入力文取得処理で取得中の対話入力文に基づいて、ユーザが対話内容を入力し終わる前に、第2言語モデル部推論処理の実行を開始することで、第1応答文出力処理を実行せずに第2言語モデル部推論処理の処理遅延を隠蔽するようにしてもよい。
【0486】
対話入力文取得処理において、情報処理装置1の制御部は、限定ではなく例として、対話入力文取得開始から「t」秒後までの時間における入力文を取得する。以下では、対話入力文取得開始から「t」秒後までの時間における入力文を、限定ではなく例として、「入力文(t)」と表記する。
【0487】
すると、第2言語モデル部115は、入力文(t)を入力とし、第2言語モデル部推論処理を実行する。ここで得られる生成文を、限定ではなく例として、「生成文(t)」と表記する。
【0488】
対話入力文取得処理がその後「x」秒継続し、情報処理装置1の制御部は、限定ではなく例として、入力文(t+x)を取得する。
すると、第2言語モデル部115は、入力文(t+x)を入力とし、第2言語モデル部推論処理を実行し、生成文(t+x)を推論する。
【0489】
このとき、限定ではなく例として、生成文(t)と生成文(t+x)が十分に近しい場合(限定ではなく例として、出力系列の80%以上がトークンレベルで一致する場合)、対話入力文取得開始から「t」秒後まで入力文に基づく応答と対話入力文取得開始から「t+x」秒後まで入力文に基づく応答とはほぼ同じ内容を応答文として出力しても違和感がない。
【0490】
限定ではなく例として、「x」を増加させながら、生成文(t)と生成文(t+x)が十分に近しい状況が続いたとする。そして、対話入力文取得処理がさらにその後「y」秒後に対話入力文の取得を終了したとする。
すると、「y」が十分に小さい場合(限定ではなく例として、「1」秒)、生成文(t+x)と生成文(t+x+y)とは十分に近しいと推測される。
【0491】
そのため、第2言語モデル部115は、対話入力文取得処理が終了すると、対話入力文取得開始からの部分的な入力文に基づいて投機的実行を行った第2言語モデル部推論処理における生成文(t)または生成文(t+x)を、対話入力文全体から推論された生成文(t+x+y)として出力するようにしてもよい。この場合、情報処理装置1の制御部は、第1応答文出力処理、または第1応答生成処理と第1応答文出力処理とを実行しないようにしてもよい。
【0492】
これにより、情報処理装置1の制御部は、対話入力文取得処理の終了を待たずに第2言語モデル部推論処理を進めることで、第2言語モデル部推論処理の遅延を最低限に抑えて第2応答文出力処理を実行できることができ、ユーザに不自然さを感じさせずにテンポよく対話を実行することができる。
【0493】
なお、限定ではなく例として、生成文(t)と生成文(t+x)が疎いと判定された場合、情報処理装置1の制御部は、第2言語モデル部推論処理の投機的実行を停止するようにしてもよい。そして、情報処理装置1の制御部は、限定ではなく例として、対話入力文取得処理が終了すると、限定ではなく例として、
図6-2のE120以降のステップに従って処理を実行するようにしてもよい。
【0494】
また、本処理は、第1言語モデル部114と、第2言語モデル部115とを用いる場合に限定されない。限定ではなく例として、ルールベース生成部113と、言語モデル部112とを用いる処理において、言語モデル部112に適用するようにしてもよい。
【0495】
<別の実施例>
以下、本発明を適用した実施例の別例について説明する。
一例であるが、ユーザが、情報処理装置を用いて情報処理装置において実装される言語モデルとテキストチャットを行う場合、テキストによる対話のみでは言語モデルによって実現される対話相手(チャットボット)と対話を行っているという臨場感に乏しい場合が生じる。
【0496】
以下説明する実施例では、限定ではなく例として、情報処理装置に対話入力文が入力されると、言語モデルにおけるテキスト生成文と併せて、音声によるフィラーや簡単な音声応答を出力することで、ユーザはチャットボットと対話を行っている実感が上がり、ユーザが快適に対話を行うことを可能とする。
【0497】
以下では、限定ではなく例として、対話入力文に対して、音声によるフィラーや簡単な音声応答を生成する処理(「フィラー生成処理」と称する。)を第1応答生成処理、主にテキストによる応答(本応答と言ってもよい。)を生成する処理(「応答文生成処理」と称する。)を第2応答生成処理とみなすようにしてもよい。また、音声によるフィラーや簡単な音声応答を出力する処理を第1応答文出力処理、本応答を出力する処理を第2応答文出力処理とみなすようにしてもよい。
【0498】
第1実施例から第6実施例では、言語モデルにおける推論処理の処理遅延時間によって対話が一時的に途切れることを防ぐために、第1応答生成処理の終了は第2応答生成処理の終了よりも先んじるように設計され、第1応答文出力処理を第2応答文出力処理よりも先に実行することとした。しかし、以下の実施例では、第1応答文出力処理と第2応答文出力処理との処理タイミングは限定されない。
限定ではなく例として、第1応答文出力処理と第2応答文出力処理とを同時に実行するようにしてもよいし、第2応答文出力処理の後、第1応答文出力処理を実行するようにしてもよい。
【0499】
勿論、第2応答生成処理の処理遅延を隠蔽する目的を兼ねて、第1応答文出力処理の後、第2応答文出力処理を実行するようにしてもよい。
【0500】
なお、以下では、限定ではなく例として、会話を円滑に進めるために、会話の隙間の沈黙を詰めるための発話の間に挟むつなぎ文句であって、その文句自体に特定の意味をもたないもの(限定ではなく例として、「あの」、「いや」、「えっと」、「まあ」等)をフィラーとしてもよい。また、フィラーに準ずるつなぎ文句であって、その文句自体に意味を持つ感嘆詞や接続詞等(限定ではなく例として、「わあ」、「でも」、「なるほど」、「へえ」等)を準フィラーや義フィラーと称してもよい。
【0501】
なお、限定ではなく例として、上記のフィラーと準フィラーとを総してフィラーと捉えてもよく、上記の定義はあくまで一例に過ぎず、これに限定されるものではない。
【0502】
<第7実施例>
第7実施例は、限定ではなく例として、情報処理装置1が、ユーザによって入力された対話入力文を取得する。すると、情報処理装置1は、対話入力文に基づいて、音による第1応答文を出力し、また、第2応答文を出力する実施例である。
【0503】
第7実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0504】
<情報処理装置の機能構成>
図7-1は、本実施例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、言語モデル部112と、フィラー生成部118とを備える。
【0505】
フィラー生成部118は、限定ではなく例として、予め定められた複数のフィラー候補(限定ではなく例として、「えーと」や「そうですね」、「うんうん」等のフィラーおよび/または準フィラー)のフィラーリストとして構成するようにしてもよい。
限定ではなく例として、フィラー生成部118は、対話入力文取得処理の実行を検知すると、フィラーリストから、限定ではなく例として、ランダムにフィラー候補の一つを選択し、フィラーデータとして出力する機能を有する。
【0506】
なお、フィラーリストに格納される各フィラー候補は、音声データ(限定ではなく例として、WAV形式)としてもよいし、テキストデータ形式としてもよいし、音声データとテキストデータとを関連付けて格納するようにしてもよい。
【0507】
<情報処理装置の表示画面例>
図7-2は、本実施例において情報処理装置1に接続された出力部17に表示される画面の遷移の一例を示す図である。
図7-2左側は、限定ではなく例として、
図1-2左側と同様の対話アプリケーションの対話表示画面の一例である。なお、本画面では、限定ではなく例として、対話入力文入力領域DIR1に対する対話入力文の入力に代えて、入力部16(限定ではなく例として、音出力部でありマイクロフォン)に対する音声入力に基づいて、対話入力文が入力される例を示す。
【0508】
この画面では、対話状況表示領域において、情報処理装置1が対話入力文の入力中であることを示している。
また、入力部16には、限定ではなく例として、ユーザA.Aが音声VI1で「すぽーつのはなしはどうでしょう」という対話入力文を入力している。
【0509】
音声に基づいて、対話入力文取得処理が実行されると、限定ではなく例として、
図7-2中央の対話表示画面に表示が変わる。
この画面では、対話内容表示領域DR1には、情報処理装置1が受け付けた対話入力文の入力テキストIT1が表示されている。そして、入力テキストIT1の下には、対話入力文に基づく応答文「野球もいいですが・・・」を出力した対話テキストRT20が表示されている。
【0510】
また、情報処理装置1に接続される出力部17(限定ではなく例として、音出力部でありスピーカ)からは、フィラーのテキストを読み上げた音声波形データ、または音声データそのものを音出力したフィラー音である「そうですね」というフィラー音声FV1が出力されている。
【0511】
なお、対話テキストRT20が表示される前にフィラー音声FV1が出力されることとしてもよいし、対話テキストRT20が表示された後にフィラー音声FV1が出力されることとしてもよい。
また、対話テキストRT20の表示と同時にフィラー音声FV1が出力されることとしてもよい。
【0512】
これにより、ユーザは、対話テキストRT20を目視で参照するとともにフィラー音声FV1を聞くことができ、マルチモーダルな対話応答を得られることで、情報処理装置1との対話における臨場感を上げることができる。
【0513】
限定ではなく例として、音出力が終わると、限定ではなく例として、
図7-2右側の対話表示画面に表示が変わる。
この画面では、対話状況表示領域において、情報処理装置1が対話入力文の入力中であることを示している。
【0514】
<情報処理装置の処理>
図7-3は、本実施例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、対話入力文取得処理を実行すると(E120)、限定ではなく例として、言語モデル部推論処理(E130)と、フィラー生成処理(E610)とをそれぞれの機能部で並列に実行する。
なお、言語モデル部推論処理は、応答文生成処理と言ってもよい。
【0515】
フィラー生成処理において、フィラー生成部118は、限定ではなく例として、フィラーリストから、限定ではなく例として、ランダムにフィラー候補を選択し、フィラーデータを生成する。
【0516】
なお、フィラー生成処理において、フィラー生成部118は、フィラーリストを用いず、限定ではなく例として、フィラーデータとして予め定められた所定の音声波形(限定ではなく例として、ビープ音)を出力するようにしてもよい。
【0517】
また、フィラー生成部118は、限定ではなく例として、予め定められた複数のフィラー候補を葉に持つバイナリツリーとして構成するようにしてもよい。
限定ではなく例として、フィラー生成処理において、フィラー生成部118は、入力文を入力として受け付けると、限定ではなく例として、ブースティング等の機械学習によって予め学習した結果に基づいて、バイナリツリーで入力文が分類される葉を探索する。そして、探索された葉と対応するフィラー候補を入力文に対するフィラーデータとして出力するようにしてもよい。
すなわち、フィラー生成部118は、対話入力文に基づいて、ルールベース生成部113と同様に機械学習等を用いてフィラーデータを生成するようにしてもよい。
【0518】
限定ではなく例として、言語モデル部推論処理と、フィラー生成処理とが実行されると、限定ではなく例として、情報処理装置1の制御部は、フィラー出力処理を実行する(E630)。
フィラー出力処理において、情報処理装置1の制御部は、限定ではなく例として、フィラー生成処理に基づくフィラーデータを出力部17に出力する。なお、フィラー出力は、フィラーデータの音声波形データをそのまま音出力するようにしてもよいし、フィラーデータのテキストデータを、限定ではなく例として、音声合成等により音響信号に変換して音出力するようにしてもよい。
【0519】
なお、フィラー出力処理において、情報処理装置1の制御部は、フィラーデータを情報処理装置1の通信I/Fによって他の装置へ文字列データや音声データとして出力(送信)するようにしてもよい。
【0520】
また、フィラー出力処理において、情報処理装置1の制御部は、フィラーデータのテキストデータを出力部17に表示出力するようにしてもよい。
【0521】
情報処理装置1の制御部は、以下の任意のタイミングで、応答文出力処理を実行する(E650)。
・フィラー出力処理開始時
限定ではなく例として、フィラー音出力開始と同時に応答文表示。
・フィラー出力処理終了時
限定ではなく例として、フィラー音出力終了に伴い応答文表示。
・フィラー生成処理終了時
・言語モデル部推論処理終了時
【0522】
応答文出力処理において、情報処理装置1の制御部は、限定ではなく例として、言語モデル部推論処理の生成文に基づく応答文を出力部17に出力する。なお、応答文は、生成文の文字列データをそのまま出力するようにしてもよいし、生成文を、限定ではなく例として、以下の形式に変換して出力するようにしてもよい。
・音声合成等による音響信号や音声データ
・画像生成等による映像信号や画像データ
・音声データ、画像データ、テキストデータの任意の組み合わせを含むデータファイル
【0523】
なお、応答文出力処理において、情報処理装置1の制御部は、生成文を情報処理装置1の通信I/Fによって他の装置へ文字列データや音声データ、画像データとして出力(送信)するようにしてもよい。
【0524】
なお、情報処理装置1の制御部は、応答文出力処理開始時にフィラー出力処理を実行するようにしてもよいし、応答文出力処理終了時にフィラー出力処理を実行するようにしてもよい。
また、情報処理装置1の制御部は、フィラー生成処理終了時にフィラー出力処理を実行するようにしてもよいし、言語モデル部推論処理終了時にフィラー出力処理を実行するようにしてもよい。
【0525】
なお、情報処理装置1の制御部は、応答文を言語モデル部以外において生成するようにしてもよい。限定ではなく例として、応答文は、ルールベース生成部において生成するようにしてもよい。
【0526】
<システム構成>
上記の情報処理装置1を適用した、または、上記の情報処理装置1を備える、サーバ、端末、情報処理装置、電子装置の実施例について説明する。
【0527】
図7-4は、本実施例においてサーバ10の制御部11によって実現される機能の一例を示す図である。
制御部11は、限定ではなく例として、アプリケーション管理処理部111と、言語モデル部112と、フィラー生成部118とを機能部として含む。これらの機能部は、限定ではなく例として、
図7-1の情報処理装置1が備える機能部にそれぞれ対応するものとすることができる。
【0528】
図7-5は、本実施例においてサーバ10の記憶部15に記憶される情報の一例を示す図である。
記憶部15には、限定ではなく例として、アプリケーション管理処理プログラム151と、アカウント登録データ153と、フィラー管理データベース157とが記憶される。
【0529】
フィラー管理データベース157は、限定ではなく例として、チャットボットごとに登録されたフィラーに関する情報を管理するためのデータベースであり、その一例であるフィラー管理データベース157Aのデータ構成例を
図7-6に示す。
【0530】
フィラー管理データベース157Aには、チャットボットごとのデータとして、フィラー管理データが記憶される。
【0531】
各々のフィラー管理データには、限定ではなく例として、チャットボットIDと、チャットボット名と、フィラーリストデータとが記憶される。
【0532】
チャットボットIDは、メッセージングサービスで利用可能なチャットボットを識別するために用いられる情報、またはチャットボットのアカウント識別子(アプリケーションID)である。
このチャットボットIDは、好ましくはチャットボットごとに一意な値であり、限定ではなく例として、サーバ10によってチャットボットごとに一意な値(固有の値)が設定されて記憶される。
【0533】
チャットボット名は、このチャットボットIDに紐づけられるチャットボットの名称が記憶される。チャットボット名は、限定ではなく例として、チャットボットの作成時(登録時)にユーザ(チャットボットのオーナ)によって登録される名称が設定され、記憶される。
【0534】
フィラーリストデータは、このチャットボットが使用可能(生成可能)なフィラーを設定・管理するためのデータであり、限定ではなく例として、フィラーIDと、フィラーテキストと、フィラー音URIとが関連付けて記憶される。
【0535】
フィラーIDは、各々のフィラーを識別するために用いられる情報である。フィラーIDは、好ましくはフィラーごとに一意な値であり、限定ではなく例として、サーバ10によってフィラーごとに一意な値(固有の値)が設定されて記憶される。
【0536】
フィラーテキストは、フィラーをテキスト形式で示したデータである。フィラーテキストは、フィラーテキストデータと言ってもよい。フィラーテキストには、限定ではなく例として、チャットボットのオーナによって設定されたフィラーを人間が読み上げ可能な文字列が設定され、記憶される。
【0537】
フィラー音URIは、フィラーの音声データのリソース参照先を指し示すポインタである。フィラーの音声データは、サーバ10の記憶部15に記憶されることとしてもよいし、他の装置に記憶されることとしてもよい。
フィラー音URIには、限定ではなく例として、チャットボットのオーナによって設定されたフィラー音のデータを示すリソースのポインタが設定され、記憶される。
【0538】
なお、フィラーの音声データの具体的な作成方法については後述する。
【0539】
<表示画面>
図7-7は、本実施例において端末20の表示部24に表示される画面の遷移の一例を示す図である。
図7-7左側は、限定ではなく例として、
図1-10左側と同様のトークルーム画面の一例である。
【0540】
限定ではなく例として、コンテンツ入力領域において、コンテンツ送信ボタンBT1がタップされると、限定ではなく例として、
図7-7右側のトークルーム画面に表示が変わる。
この画面では、コンテンツ表示領域TR1において、応答コンテンツRCT0の下に、コンテンツ入力領域に入力され送信された対話入力文に基づく入力コンテンツICT1が表示されている。また、入力コンテンツICT1の下には、対話入力文に対する応答文に基づく応答コンテンツRCT20が表示されている。
【0541】
また、端末20Aの音出力部26からは、フィラー音である「そうですね」というフィラー音声FV1が出力されている。
【0542】
なお、応答コンテンツRCT20が表示される前にフィラー音声FV1が出力されることとしてもよいし、応答コンテンツRCT20が表示された後にフィラー音声FV1が出力されることとしてもよい。
また、応答コンテンツRCT20の表示と同時にフィラー音声FV1が出力されることとしてもよい。
【0543】
これにより、端末20のユーザは、応答コンテンツRCT20を目視で参照するとともにフィラー音声FV1を聞くことができ、マルチモーダルな対話応答を得られることで、情報処理装置1との対話における臨場感を上げることができる。
【0544】
<処理>
図7-8は、本実施例において上記の情報処理装置1を適用した各装置が実行する処理の流れの一例を示すフローチャートである。
この図では、左側から順に、端末20Aの制御部21が実行する処理、サーバ10の制御部11が実行する処理の一例を示している。
【0545】
サーバ10の制御部11は、限定ではなく例として、対話入力文取得処理を実行すると(S120)、フィラー生成処理(S610)と言語モデル部推論処理(S130)とを並列実行する。言語モデル部推論処理は、応答文生成処理と言ってもよい。
【0546】
フィラー生成処理において、サーバ10の制御部11は、限定ではなく例として、フィラー管理データベース157Aのフィラーリストデータを参照し、
図7-3のE610のステップに従って、フィラー生成処理を実行する。
【0547】
限定ではなく例として、フィラー生成処理が終了すると、サーバ10の制御部11は、フィラー生成部118のフィラーデータに基づくフィラーコンテンツ情報を通信I/F14によって端末20Aに送信する(S630)。フィラーコンテンツ情報は、テキストデータを含むこととしてもよいし、音声データを含むこととしてもよいし、テキストデータと音声データとを含むこととしてもよい。
フィラーコンテンツ情報送信処理は、フィラー出力処理の一種と捉えてもよい。
【0548】
また、限定ではなく例として、応答文生成処理が終了すると、サーバ10の制御部11は、言語モデル部112の生成文に基づく応答コンテンツ情報を通信I/F14によって端末20Aに送信する(S650)。応答コンテンツ情報は、テキストデータを含むこととしてもよいし、音声合成等による音声データを含むこととしてもよいし、テキストデータと音声データとを含むこととしてもよい。
応答コンテンツ情報送信処理は、応答文出力処理の一種と捉えてもよい。
【0549】
通信I/F22によってサーバ10からフィラーコンテンツ情報を受信したと判定する場合(A610:YES)、端末20Aの制御部21は、受信したフィラーコンテンツ情報を出力する(A630)。
フィラーコンテンツ情報を受信していないと判定する場合(A610:NO)、端末20Aの制御部21は、フィラーコンテンツ情報の受信待機を行う(A610)。
【0550】
また、通信I/F22によってサーバ10から応答コンテンツ情報を受信したと判定する場合(A650:YES)、端末20Aの制御部21は、受信した応答コンテンツ情報を出力する(A670)。
応答コンテンツ情報を受信していないと判定する場合(A650:NO)、端末20Aの制御部21は、応答コンテンツ情報の受信待機を行う(A670)。
【0551】
端末20Aの制御部21は、限定ではなく例として、フィラーコンテンツ情報と応答コンテンツ情報とを出力すると、終了判定を行う(A190)。
【0552】
サーバ10の制御部11は、限定ではなく例として、フィラーコンテンツ情報と応答コンテンツ情報とを端末20Aに送信すると、終了判定を行う(S190)。
【0553】
なお、サーバ10の制御部11は、フィラー生成処理と言語モデル部推論処理とを実行すると、限定ではなく例として、フィラーデータと言語モデル部112の生成文とに基づくフィラー付き応答コンテンツ情報を通信I/F14によって端末20Aに送信するようにしてもよい。
通信I/F22によってサーバ10からフィラー付き応答コンテンツ情報を受信すると、端末20Aの制御部21は受信した、フィラー付き応答コンテンツ情報を音出力部26並びに表示部24によって出力するようにしてもよい。
【0554】
また、サーバ10の制御部11は、フィラー生成処理と言語モデル部推論処理とを実行すると、限定ではなく例として、フィラーコンテンツ情報送信処理と応答コンテンツ情報送信処理とをまとめて実行するようにしてもよい。この場合、フィラーコンテンツ情報送信処理を先に実行してもよいし、応答コンテンツ情報送信処理を先に実行してもよい。
【0555】
また、端末20Aの制御部21は、フィラーコンテンツ情報と、応答コンテンツ情報とを受信すると、フィラーコンテンツ情報出力処理と、応答コンテンツ情報出力処理とを実行しないようにしてもよい。この場合、フィラーコンテンツ情報出力処理を先に実行してもよいし、応答コンテンツ情報出力処理を先に実行してもよい。また、フィラーコンテンツ情報出力処理と、応答コンテンツ情報出力処理とを同時に実行してもよい。
【0556】
なお、サーバ10の制御部11は、フィラー生成処理を実行後、言語モデル部推論処理を実行するようにしてもよい。
また、サーバ10の制御部11は、言語モデル部推論処理を実行後、フィラー生成処理を実行するようにしてもよい。
【0557】
なお、フィラーコンテンツ情報には、限定ではなく例として、端末20の制御部21にフィラーを音出力させる制御情報を含むようにしてもよい。フィラーコンテンツ情報には、フィラーの表示に関する情報(限定ではなく例として、フィラーテキスト)を含むようにしてもよいし、そうしなくてもよい。フィラーを音出力のみで出力させる場合、限定ではなく例として、フィラーコンテンツ情報には、フィラーを表示出力させる制御情報は含まないようにしてもよい。フィラーを表示出力させる場合、限定ではなく例として、フィラーコンテンツ情報には、フィラーを表示出力させる制御情報を含めるようにしてもよい。
【0558】
また、応答コンテンツ情報には、限定ではなく例として、端末20の制御部21に応答文を表示出力させる制御情報を含むようにしてもよいし、応答文を音出力させる制御情報を含むようにしてもよいし、表示出力と音出力とを行う制御情報を含むようにしてもよい。
【0559】
<第7実施例の効果>
本実施例は、サーバ10等の情報処理装置1は、ユーザから入力された第1入力を制御部によって取得する。そして、音情報による第1応答を制御部によって出力する制御を行い(第1応答を音出力することと捉えてもよい。)、言語モデルと、第1入力とに基づく、表示される第2応答を制御部によって出力する制御を制御部によって行う構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザから入力された第1入力を取得した上で、なんらかの第1応答が少なくとも音によって出力されるようにすることができる。また、言語モデルと、第1入力とに基づく、表示される第2応答が出力されるようにすることができる。
【0560】
なお、ユーザから入力された第1入力は、限定ではなく例として、ユーザから入力された第1コンテンツ(限定ではなく例として、ユーザによって入力されてチャットで表示されるコンテンツ等)としてもよい。
【0561】
また、本実施例は、第1応答は、フィラー音に関する情報を含む構成を示している。
このような構成により得られる実施例の効果の一例として、フィラー音に関する情報を含む第1応答が音出力されるようにすることができる。
【0562】
また、本実施例は、第1応答は、表示制御に関する情報を含まない構成を示している。
また、限定ではなく例として、情報処理装置1の制御部によって第1応答を表示する出力に関する制御が行われない構成を示している。
このような構成により得られる実施例の効果の一例として、第1応答が音出力される一方で表示はされないようにすることができる。これにより、限定ではなく例として、ユーザが煩わしさを感じないようにすることができる。
【0563】
また、本実施例は、第1入力は、第1コンテンツを含み、第2応答は、第2コンテンツを含み、この第1コンテンツと、この第2コンテンツとは、限定ではなく例として、ユーザを含むトークルーム(限定ではなく、チャットルームの一例)に表示される構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザから入力された第1コンテンツと、第2応答に含まれる第2コンテンツとが、ユーザを含むチャットルームに表示されることによって、これらをユーザに分かり易い形で認識させることができる。
【0564】
また、本実施例は、第2応答の送信元は、上記のトークルームに含まれるボットユーザである構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザとともにチャットルームに含まれるボットユーザを送信元とする第2応答を、チャットルームに表示させて、ユーザに認識させることができる。
【0565】
また、本実施例は、第1応答は、第1入力に基づき生成される構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザから入力された第1入力に基づき適切な第1応答が生成されるようにすることできる。
【0566】
<第7変形例(1)>
上記の実施例では、情報処理装置1の制御部は、フィラーを音出力するとしたが、これに限定されない。限定ではなく例として、情報処理装置1の制御部は、フィラーを表示させてもよい。
【0567】
図7-9は、本変形例において端末20の表示部24に表示される画面の遷移の一例を示す図である。
この例では、
図7-7と同様の、端末20Aの表示部24に表示されるメッセージングアプリケーションの表示画面の一例を示しており、
図7-9左側の画面は、
図7-7左側の画面と同様である。
【0568】
図7-9中央の画面は、
図7-7中央の画面とほぼ同様であるが、その表示が一部異なっている。具体的には、端末20の音出力部26から、フィラー音である「そうですね」というフィラー音声FV1が出力され、また、コンテンツ表示領域TR1のユーザA.Aを送信元とする入力コンテンツICT1の下に、チャットボット(ボットユーザ)を送信元とするコンテンツとして、フィラー音声FV1に対応するフィラー応答コンテンツFCT1が表示されている。つまり、フィラー音声が音出力されるとともに、そのフィラー音声に対応するコンテンツも表示されている。
【0569】
また、フィラー応答コンテンツFCT1の下には、情報処理装置1が対話入力文に対応する応答文を生成中であることに基づき、チャットボットを送信元とするコンテンツとして、出力待機中(ローディング中のイメージ)であることを示す「・・・」を含む待機コンテンツPCT1が表示されている。
【0570】
対話入力文に対応する応答文の生成が完了すると、
図7-9右側のような表示に変わり、
図7-7右側の画面に示したような対話入力文に対する応答文(野球もいいですが・・・)が、出力待機中であることを示すコンテンツの「・・・」の吹き出し内に表示されて応答コンテンツRCT20となる。
【0571】
限定ではなく例として、フィラー応答コンテンツと応答コンテンツとの表示態様は異なるフォント(限定ではなく例として、フィラー応答コンテンツのテキストは細字)で表示されるようにしてもよい。また、限定ではなく例として、フィラー応答コンテンツと応答コンテンツとは、異なる表示色で表示されるようにしてもよい。なお、フィラー応答コンテンツと応答コンテンツとを同じ態様で表示するようにしてもよい。
【0572】
なお、限定ではなく例として、待機コンテンツPCT1は表示されないようにしてもよい。
【0573】
また、限定ではなく例として、応答コンテンツRCT20を表示する際に、フィラー応答コンテンツFCT1と応答コンテンツRCT20とをまとめて一つの吹き出しとして表示させるようにしてもよい。
【0574】
なお、フィラー応答コンテンツ(表示されるコンテンツ)は、必ずしもフィラー音と同一のテキストのコンテンツとしなければならないわけではなく、フィラー音の一部が省略・変更されたものなど(限定ではなく例として「そうですね」→「そうだね」など)としてもよい。
【0575】
本変形例は、第1応答は、フィラー音に関する情報の他、フィラー音に基づく表示制御に関する情報を含む構成を示している。
また、限定ではなく例として、情報処理装置1の制御部は、フィラー音を音出力する制御を行い、フィラー音に基づくコンテンツ等の情報を表示する制御を行う構成を示している。
このような構成により得られる変形例の効果の一例として、フィラー音が音出力され、また、フィラー音に基づく情報が表示されるようにすることができる。これにより、限定ではなく例として、第1応答を確実にユーザが認識できるようにすることができる。
【0576】
また、本変形例は、第1応答と、第2応答とは、区別されてユーザの端末20に表示される構成を示している。
このような構成により得られる変形例の効果の一例として、第1応答と第2応答との相違をユーザが認識し易くなるようにすることができる。
【0577】
<第7変形例(2)>
上記において、フィラーのみを音出力し、応答文を出力しないようにしてもよい。
【0578】
図7-10は、本変形例において端末20の表示部24に表示される画面の遷移の一例を示す図である。
この例では、
図7-7と同様の、端末20Aの表示部24に表示されるメッセージングアプリケーションの表示画面の一例を示している。
図7-10左側の画面では、
図7-7左側の画面とは異なり、ユーザA.Aによって、「スポーツの話はどうでしょう?」ではなく、「スポーツの話は」というコンテンツが入力されて、コンテンツ送信ボタンBT1がタップされた状態が示されている。
すると、限定ではなく例として、
図7-10中央のような表示に変わる。
【0579】
この例では、チャットボットを送信元とする応答コンテンツRCT0の下に、ユーザA.Aを送信元とする「スポーツの話は」というテキストを含む入力コンテンツICT0が表示されている。
また、出力部17(限定ではなく例として、音出力部でありスピーカ)からは、「ほうほう」というフィラー音声FV2が音出力されている。
【0580】
つまり、この例では、意図するコンテンツをユーザが完全に入力する前に、その途中でコンテンツ送信ボタンBT1が送信したことに基づき、その入力されたコンテンツがコンテンツ表示領域TR1に表示され、その際に、フィラー音声が出力される例を示している。しかし、この例では、フィラー音声に対応するフィラー応答コンテンツはコンテンツ表示領域TR1には表示されておらず、フィラー音声が音出力されるのみである。
これは、意図するコンテンツをユーザが入力しようとしている際に、限定ではなく例として誤操作等によって、途中で送信しようとしている場合があり得るが、このような場合にフィラー音声に対応するコンテンツを表示させてしまうと、ユーザにとってはその表示が邪魔に感じてしまう可能性があるためである。
【0581】
図7-10右側には、
図7-10中央の画面に引き続き、ユーザA.Aによって「スポーツの話はどうでしょう?」というコンテンツ(意図するコンテンツ)が入力され、コンテンツ送信ボタンBT1がタップされた状態が示されている。
この場合、限定ではなく例として、コンテンツ表示領域TR1における、ユーザA.Aを送信元とする「スポーツの話は」の入力コンテンツICT0の下に、ユーザA.Aを送信元とする「スポーツの話はどうでしょう?」の入力コンテンツICT1が表示されるようにすることができる。そして、その下には、
図7-7左側の画面から
図7-7右側の画面と同様の流れで、チャットボットを送信元とする応答コンテンツが表示されるようにすることができる。
【0582】
本変形例における処理は、限定ではなく例として、言語モデル部推論処理において、入力文が入力誤りフィルタに引っかかり、音声認識のミスや文字入力のミスが入力文において検知された場合、限定ではなく例として、情報処理装置1の制御部は、言語モデル部推論処理を中断し、応答文出力処理を実行しないようにしてもよい。
【0583】
<第7変形例(3)>
情報処理装置1の制御部は、限定ではなく例として、ランダムにフィラーを生成するすることとしたが、これに限定されない。限定ではなく例として、入力文のエンコード表現に基づいて、フィラーを生成するようにしてもよい。
【0584】
図7-11は、本変形例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、言語モデル部112と、フィラー生成部118とを備える。
【0585】
言語モデル部112は、限定ではなく例として、入力文を入力として受け付ける。すると、言語モデル部112は、限定ではなく例として、入力文に基づいて、入力文のエンコード表現と生成文とを出力する。
【0586】
フィラー生成部118は、限定ではなく例として、入力文のエンコード表現を受け付けると、限定ではなく例として、エンコード表現に基づいて、バイナリツリーで入力文が分類される葉を探索する。そして、探索された葉と対応するフィラー候補を入力文に対するフィラーデータとして出力する。
【0587】
図7-12は、本変形例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、限定ではなく例として、言語モデル部推論処理を実行すると(E130)、フィラー生成処理を実行する(E610)。
【0588】
フィラー生成処理において、限定ではなく例として、フィラー生成部118は、限定ではなく例として、入力文のエンコード表現に基づいて、フィラーリストから、限定ではなく例として、バイナリツリー探索によってフィラー候補を選択し、フィラーデータを生成する。
【0589】
本変形例は、第1応答は、第1入力に基づき生成される構成を示している。
このような構成により得られる変形例の効果の一例として、ユーザから入力された第1入力に基づき適切な第1応答が生成されるようにすることできる。
【0590】
<第7変形例(4)>
上記の変形例では、言語モデル部112の推論結果に基づいて、フィラーと応答文とを生成することとしたが、これに限定されない。
限定ではなく例として、第1言語モデル部に基づいてフィラーを生成し、第2言語モデル部に基づいて応答文を生成するようにしてもよい。
【0591】
図7-13は、本変形例における情報処理装置1の機能構成の一例を示すブロック図である。
情報処理装置1は、限定ではなく例として、第1言語モデル部114と、第2言語モデル部115と、フィラー生成部118とを備える。
【0592】
第1言語モデル部114は、限定ではなく例として、入力文を入力として受け付ける。すると、第1言語モデル部114は、限定ではなく例として、入力文に基づいて、入力文のエンコード表現を出力する。
第2言語モデル部115は、限定ではなく例として、入力文を入力として受け付ける。すると、第2言語モデル部115は、限定ではなく例として、入力文に基づいて、応答文を生成する。
【0593】
フィラー生成部118は、限定ではなく例として、第1言語モデル部114から入力文のエンコード表現を受け付けると、限定ではなく例として、エンコード表現に基づいて、バイナリツリーで入力文が分類される葉を探索する。そして、探索された葉と対応するフィラー候補を入力文に対するフィラーデータとして出力する。
【0594】
図7-14は、本変形例において情報処理装置1が実行する処理の流れの一例を示すフローチャートである。
情報処理装置1の制御部は、対話入力文取得処理を実行すると(E120)、限定ではなく例として、第1言語モデル部推論処理(E270)と、第2言語モデル部推論処理(E290)とをそれぞれの機能部で並列に実行する。
【0595】
第1言語モデル部推論処理において、第1言語モデル部114は、限定ではなく例として、入力文に基づいて、入力文のエンコード表現を推論する。
第2言語モデル部推論処理において、第2言語モデル部115は、限定ではなく例として、入力文に基づいて、応答文を推論する。
【0596】
限定ではなく例として、第1言語モデル部推論処理を実行すると、情報処理装置1の制御部は、フィラー生成処理を実行する(E610)。
【0597】
フィラー生成処理において、限定ではなく例として、フィラー生成部118は、限定ではなく例として、入力文のエンコード表現に基づいて、フィラーリストから、限定ではなく例として、バイナリツリー探索によってフィラー候補を選択し、フィラーデータを生成する。
【0598】
本変形例は、第1応答は、第1入力に基づき生成される構成を示している。
このような構成により得られる変形例の効果の一例として、ユーザから入力された第1入力に基づき適切な第1応答が生成されるようにすることができる。
【0599】
<第7変形例(5)>
上記の変形例では、情報処理装置1において処理を実行することとしたが、これに限定されない。限定ではなく例として、サーバ10と端末20とによるシステムによって実行するようにしてもよい。
【0600】
この場合における処理は、限定ではなく例として、
図7-8において、言語モデル部推論処理を応答文生成処理とし、限定ではなく例として、
図7-15で示される処理の組み合わせによって実行するようにしてもよい。
【0601】
パターン(a)では、限定ではなく例として、フィラー生成処理をフィラーリストからランダムに決定するランダム生成処理、第2応答生成処理を言語モデル部推論処理とする。
パターン(b)では、限定ではなく例として、フィラー生成処理をフィラーリストから入力文に基づいてツリー探索することで決定するルールベース生成処理、第2応答生成処理を言語モデル部推論処理とする。
パターン(c)では、限定ではなく例として、フィラー生成処理を言語モデル部推論処理による入力文のエンコード表現に基づくルールベース生成処理、第2応答生成処理を言語モデル部推論処理とする。
パターン(d)では、限定ではなく例として、フィラー生成処理を第1言語モデル部推論処理による生成文を音声波形に変換する音声変換処理、第2応答生成処理を第2言語モデル部推論処理とする。
パターン(e)では、限定ではなく例として、フィラー生成処理を第1言語モデル部推論処理による入力文のエンコード表現に基づくルールベース生成処理、第2応答生成処理を第2言語モデル部推論処理とする。
【0602】
また、フィラー生成処理と、応答文生成処理とは、限定ではなく例として、
図7-16で示される装置によって実行するようにしてもよい。
【0603】
パターン(1)では、限定ではなく例として、フィラー生成処理と応答文生成処理とをサーバ10の制御部11において実行するようにしてもよい。
パターン(2)では、限定ではなく例として、フィラー生成処理を端末20の制御部21で実行し、応答文生成処理をサーバ10の制御部11において実行するようにしてもよい。
パターン(3)では、限定ではなく例として、フィラー生成処理をサーバ10の制御部11で実行し、応答文生成処理を端末20の制御部21において実行するようにしてもよい。
パターン(4)では、限定ではなく例として、フィラー生成処理と応答文生成処理とを端末20の制御部21において実行するようにしてもよい。
【0604】
パターン(5)からパターン(8)は、限定ではなく例として、
図7-15のパターン(c)からパターン(e)までで示した、フィラー生成処理が2ステップに分割可能な場合における処理主体の一例である。
【0605】
パターン(5)では、限定ではなく例として、フィラー生成処理の前半(限定ではなく例として、言語モデル部推論処理や第1言語モデル部推論処理)をサーバ10の制御部11で実行し、後半(限定ではなく例として、フィラー生成部におけるフィラー生成処理)を端末20の制御部21で実行する。そして、応答文生成処理をサーバ10の制御部11において実行するようにしてもよい。
パターン(6)では、限定ではなく例として、フィラー生成処理の前半を端末20の制御部21で実行し、後半をサーバ10の制御部11で実行する。そして、応答文生成処理をサーバ10の制御部11において実行するようにしてもよい。
パターン(7)では、限定ではなく例として、フィラー生成処理の前半をサーバ10の制御部11で実行し、後半を端末20の制御部21で実行する。そして、応答文生成処理を端末20の制御部21において実行するようにしてもよい。
パターン(8)では、限定ではなく例として、フィラー生成処理の前半を端末20の制御部21で実行し、後半をサーバ10の制御部11で実行する。そして、応答文生成処理を端末20の制御部21において実行するようにしてもよい。
【0606】
<第8実施例>
上記の実施例では、フィラーが、ランダムや入力文に基づいて生成される場合について例示した。
第8実施例は、限定ではなく例として、対話を行っているユーザとの状況に応じてフィラーを変更する実施例である。
【0607】
第8実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0608】
<表示画面>
図8-1は、本実施例において端末20Aの表示部24に表示される画面の遷移の一例を示す図である。
この例では、限定ではなく例として、?
図8-1左側の画面に示すように、第1の対話入力文「スポーツの話はどうでしょう?」に対するフィラー出力処理と応答文出力処理とによって、「そうですね」というフィラー音声FV2が音出力され、「野球もいいですが・・・」という応答コンテンツRCT20が表示された後、設定時間「T」(限定ではなく例として、「5分間」)が経過してから、再度対話入力文がユーザA.Aによって入力された場合の画面例を示している。
図8-1左側は、限定ではなく例として、
図7-7右側と同様のトークルーム画面の一例である。
【0609】
図8-1中央には、ユーザA.Aによって、第2の対話入力文として「サッカーの方が好きかな」がコンテンツ入力領域に入力され、コンテンツ送信ボタンBT1がタップされた状態が示されている。すると、限定ではなく例として、
図8-1右側のような表示に変わる。
【0610】
この例では、第2の対話入力文に基づいて、「おかえりなさい」というフィラー音声FV3が音出力されている。
また、第1の対話入力文である「スポーツの話はどうでしょう?」に対する応答文に基づく応答コンテンツRCT20の下に、ユーザA.Aを送信元とするコンテンツとして、第2の対話入力文である「サッカーの方が好きかな」に対応する入力コンテンツICT2が表示され、その下に、ボットユーザを送信元とするコンテンツとして、第2の対話入力文に対する応答文である「ワールドカップで日本は善戦しましたね。」に対応する応答コンテンツRCT21が表示されている。
【0611】
<情報処理装置の処理>
図8-2は、本実施例において情報処理装置1が実行する処理の流れの一例を示すタイミングチャートである。
図8-2において、左側には、ケース(A)として、限定ではなく例として、?フィラー出力処理と応答文出力処理とが終了後、設定時間「T」が経過せずに再度対話入力文が入力された場合の処理を示す。また、右側には、ケース(B)として、限定ではなく例として、?フィラー出力処理と応答文出力処理とが終了後、設定時間「T」が経過してから再度対話入力文が入力された場合の処理を示す。
【0612】
ケース(A)において、情報処理装置1の制御部は、第1の対話文取得処理を実行すると(TM110)、限定ではなく例として、第1の対話入力文に基づいて、フィラー生成処理(TM120)と言語モデル部推論処理(TM130)とを実行する。そして、情報処理装置1の制御部は、TM120とTM130との処理結果に基づいて、第1のフィラー出力処理と応答文出力処理とを実行する(TM140)。
【0613】
情報処理装置1の制御部は、限定ではなく例として、TM140を起点として、設定時間「T」以内に第2の対話入力文取得処理を実行すると(TM150)、限定ではなく例として、第2の対話入力文に基づいて、フィラー生成処理(TM160)と言語モデル部推論処理(TM170)とを実行する。そして、情報処理装置1の制御部は、TM160とTM170との処理結果に基づいて、第2のフィラー出力処理と応答文出力処理とを実行する(TM180)。
【0614】
ケース(B)において、情報処理装置1の制御部は、限定ではなく例として、TM140を起点として、設定時間「T」を過ぎて第2の対話入力文取得処理を実行すると(TM250)、限定ではなく例として、第2の対話入力文に基づいて、遅延フィラー生成処理(TM260)と言語モデル部推論処理(TM270)とを実行する。
遅延フィラー生成処理において、限定ではなく例として、フィラー生成部118は、予め定められた「おかえり」や「またせたね」等の遅延フィラー候補からフィラーを生成する。
そして、情報処理装置1の制御部は、TM260とTM270との処理結果に基づいて、遅延フィラー出力処理と第2の応答文出力処理とを実行する(TM280)。
【0615】
なお、設定時間「T」の判定基準となるタイミングは、TM110としてもよい。
すなわち、第1の対話入力文受付から第2の対話入力文受付までに設定時間が経過すると、フィラーとして遅延フィラーが出力されるようにしてもよい。
【0616】
また、設定時間(設定された時間)の経過に代えて、限定ではなく例として、設定時刻(設定された時刻)となった場合(または設定時刻を経過した場合)を条件として、同様の処理を行うようにしてもよい。
【0617】
<処理>
本実施例における処理は、限定ではなく例として、
図7-8において、第1の対話入力文取得処理(S120)からループ後の第2の対話入力文取得処理(S120)までに設定時間が経過した場合、サーバ10の制御部11は、フィラー生成処理(S610)において、遅延フィラー候補からフィラーを生成するようにしてもよい。
【0618】
なお、サーバ10の制御部11は、限定ではなく例として、第1の応答コンテンツ情報送信処理(S650)からループ後の第2の対話入力文取得処理(S120)までに設定時間が経過した場合、サーバ10の制御部11は、フィラー生成処理(S610)において、遅延フィラー候補からフィラーを生成するようにしてもよい。
【0619】
本実施例は、サーバ10等の情報処理装置1は、ユーザから入力された第1入力を制御部によって取得して音情報による第1応答を出力する制御を行う他、ユーザから入力された第2入力を制御部によって取得する。
そして、情報処理装置1は、第1入力の取得、または言語モデルと第1入力とに基づく第2応答の出力から、第2入力の取得までに、設定された時間未満、または設定された時刻を経過していない場合、音情報による第3応答を制御部によって出力する制御を行い、設定された時間以上、または設定された時刻を経過した場合、第3応答とは異なる第4応答を制御部によって出力する制御を行う構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザによる第1入力の取得、または第2応答の出力から、ユーザによる第2入力の取得までに、ある程度の時間が経過していないような場合は、音情報による第3応答が出力されるようにする一方、ある程度の時間が経過したような場合は、第3応答とは異なる第4応答が出力されるようにすることができる。
限定ではなく例として、ユーザが対話を一旦やめて中座するような場合があり得る。このような場合に、限定ではなく例として、前述した「おかえり」といった、ある意味特別な応答が出力されるようにすることで、ユーザに特別感や満足感を与え得る。
【0620】
<第8変形例(1)>
上記の実施例では、設定時間「T」の判定基準となるタイミングから設定時間が経過した場合、通常とは異なるフィラー(限定ではなく例として、遅延フィラー)を出力することとしたが、これに限定されない。限定ではなく例として、情報処理装置1の制御部は、判定基準となるタイミングから設定時間「T」が経過した場合、フィラーを出力せずに応答文を出力するようにしてもよい。
【0621】
図8-3は、本変形例において情報処理装置1が実行する処理の流れの一例を示すタイミングチャートである。
図8-3において、左側には、ケース(A)として、限定ではなく例として、?フィラー出力処理と応答文出力処理とが終了後、設定時間「T」が経過せずに再度対話入力文が入力された場合の処理を示す。また、右側には、ケース(C)として、限定ではなく例として、?フィラー出力処理と応答文出力処理とが終了後、設定時間「T」が経過してから再度対話入力文が入力された場合の処理を示す。
なお、ケース(A)については、限定ではなく例として、
図8-2と同様である。
【0622】
ケース(C)において、情報処理装置1の制御部は、限定ではなく例として、TM140を起点として、設定時間「T」を過ぎて第2の対話入力文取得処理を実行すると(TM250)、限定ではなく例として、第2の対話入力文に基づいて、言語モデル部推論処理(TM270)を実行する。
そして、情報処理装置1の制御部は、TM270の処理結果に基づいて、第2の応答文出力処理を実行する(TM290)。
【0623】
なお、設定時間「T」の判定基準となるタイミングは、TM110としてもよい。
すなわち、第1の対話入力文受付から第2の対話入力文受付までに設定時間が経過すると、フィラーが出力されないようにしてもよい。
【0624】
また、設定時間(設定された時間)の経過に代えて、限定ではなく例として、設定時刻(設定された時刻)となった場合(または設定時刻を経過した場合)を条件として、同様の処理を行うようにしてもよい。
【0625】
本変形例は、サーバ10等の情報処理装置1は、ユーザから入力された第1入力を制御部によって取得して音情報による第1応答を出力する制御を行う他、ユーザから入力された第2入力を制御部によって取得する。
そして、情報処理装置1は、第1入力の取得、または言語モデルと第1入力とに基づく第2応答の出力から、第2入力の取得までに、設定された時間未満、または設定された時刻を経過していない場合、音情報による第3応答を制御部によって出力する制御を行い、設定された時間以上、または設定された時刻を経過した場合、音情報による第3応答を出力しない制御を制御部によって行う構成を示している。
このような構成により得られる変形例の効果の一例として、ユーザによる第1入力の取得、または第2応答の出力から、ユーザによる第2入力の取得までに、ある程度の時間が経過していないような場合は、音情報による第3応答が出力されるようにする一方、ある程度の時間が経過したような場合は、音情報による第3応答が出力されないようにすることができる。
【0626】
<第8変形例(2)>
上記の実施例では、判定基準となるタイミングから第2の対話入力文取得処理(限定ではなく、第2入力の一例)までの経過時間、または、第2の対話入力文取得処理の処理時刻に基づいて、遅延フィラーを出力することとしたが、これに限定されない。
限定ではなく例として、メッセージングサービスにおけるチャットボットとの対話において、第1の対話入力文取得処理、または第1のフィラーと応答文出力処理(第1のフィラーコンテンツ情報送信処理と応答コンテンツ情報送信処理)を判定基準の開始タイミングとし、判定基準となる終了タイミングを、チャットボットとのトークルームに対するデータフェッチ処理(トークルーム更新処理)が実行されたタイミングとしてもよい。
【0627】
限定ではなく例として、チャットボットとのトークルームでフィラーコンテンツ情報と応答コンテンツ情報を出力後、端末20において、メッセージングアプリケーションがバックグラウンド動作となった場合(限定ではなく例として、タスク切り替えされ表示されなくなった場合)や、メッセージングアプリケーションが終了され、プッシュ通知が受付できなくなった場合、ユーザはチャットボットとのトークルームを確認することが出来なくなったと想定される。そのため、バックグラウンド動作からフォアグラウンド動作への切り替え、または、メッセージングアプリケーションの起動が実行された場合、限定ではなく例として、端末20の制御部21は、メッセージングアプリケーションのデータ同期を要求するフェッチ要求情報を通信I/F22によってサーバ10に送信する。
【0628】
通信I/F14によって端末20からフェッチ要求情報を受信すると、サーバ10の制御部11は、限定ではなく例として、判定基準の開始タイミングからフェッチ要求情報を受信したタイミングまでに設定時間「T」が経過したか否かを判定する。
【0629】
限定ではなく例として、設定時間「T」が経過したと判定する場合、サーバ10の制御部11は、限定ではなく例として、遅延フィラー生成処理を実行し、遅延フィラーを含む第2のフィラーコンテンツ情報を通信I/F14によって端末20に送信する。
通信I/F22によってサーバ10から第2のフィラーコンテンツ情報を受信すると、端末20の制御部21は、第2のフィラーコンテンツ情報を出力する。
【0630】
なお、限定ではなく例として、設定時間「T」が経過したと判定する場合、サーバ10の制御部11は、遅延フィラー生成処理と、言語モデル部推論処理とを実行するようにしてもよい。そして、遅延フィラーを含む第2のフィラーコンテンツ情報と、第2の応答コンテンツ情報とを通信I/F14によって端末20に送信するようにしてもよい。
通信I/F22によってサーバ10から第2のフィラーコンテンツ情報と、第2の応答コンテンツ情報とを受信すると、端末20の制御部21は、第2のフィラーコンテンツ情報と第2の応答コンテンツ情報とを出力するようにしてもよい。
【0631】
また、設定時間(設定された時間)の経過に代えて、限定ではなく例として、設定時刻(設定された時刻)となった場合(または設定時刻を経過した場合)を条件として、同様の処理を行うようにしてもよい。
【0632】
なお、メッセージングアプリケーションがフォアグラウンド動作を続けた場合、限定ではなく例として、端末20の制御部21は、ユーザ入力に基づいて、チャットボットとのトークルームを再開することを受け付けると、フェッチ要求情報を通信I/F22によってサーバ10に送信するようにしてもよい。
【0633】
また、限定ではなく例として、端末20の制御部21は、所定時間(限定ではなく例として、「60秒」)ごとにトークルームの内容を更新するために、フェッチ要求情報を通信I/F22によってサーバ10に送信するようにしてもよい。
【0634】
<第8変形例(3)>
上記の実施例では、限定ではなく例として、設定時間に基づいて、第2のフィラーを変更する、または第2のフィラーを出力しないこととしたが、これに限定されない。限定ではなく例として、第1のフィラーを変更する、または第1のフィラーを出力しないこととしてもよい。
【0635】
限定ではなく例として、第1の対話入力文取得処理を判定基準の開始タイミングとし、判定基準となる終了タイミングを、第1の言語モデル部推論処理が終了したタイミングとしてもよい。この場合、設定時間「T」が経過したと判定する場合、情報処理装置1の制御部は、第1の応答文出力処理を実行するが、第1のフィラー出力処理を実行しないようにしてもよい。
【0636】
また、この場合、限定ではなく例として、設定時間「T」が経過したと判定する場合、情報処理装置1の制御部は、遅延フィラー生成処理を実行し、第1の応答文出力処理と遅延フィラー出力処理とを実行するようにしてもよい。
【0637】
限定ではなく例として、メッセージングサービスにおけるチャットボットとの対話において、同様の処理を実行することとしてもよい。この場合、限定ではなく例として、サーバ10の制御部11は、限定ではなく例として、第1の対話入力文取得処理からフェッチ要求情報の受信までに設定時間「T」が経過したか否かを判定する。フェッチ要求情報を受信する条件は、限定ではなく例として、第8変形例(2)と同様としてもよい。
【0638】
限定ではなく例として、設定時間「T」が経過したと判定する場合、サーバ10の制御部11は、限定ではなく例として、遅延フィラー生成処理を実行し、遅延フィラーを含む第1のフィラーコンテンツ情報を通信I/F14によって端末20に送信する。
【0639】
また、限定ではなく例として、設定時間「T」が経過したと判定する場合、サーバ10の制御部11は、限定ではなく例として、第1のフィラーコンテンツ情報を通信I/F14によって端末20に送信しないようにしてもよい。
【0640】
なお、設定時間「T」は端末20で判定するようにしてもよい。限定ではなく例として、端末20の制御部21は、受付コンテンツ情報送信からフィラーコンテンツ情報受信までに設定時間「T」が経過したと判定する場合、受信したフィラーコンテンツ情報を出力しないようにしてもよい。
また、限定ではなく例として、端末20の制御部21は、受付コンテンツ情報送信からフィラーコンテンツ情報受信までに設定時間「T」が経過したと判定する場合、限定ではなく例として、端末20の記憶部28に記憶された遅延フィラーコンテンツ情報を出力するようにしてもよい。遅延フィラーコンテンツ情報は、テキストデータを含むこととしてもよいし、音声データを含むこととしてもよいし、テキストデータと音声データとを含むこととしてもよい。また、前述したフィラー応答コンテンツのように端末20に表示されるものとしてもよい。
【0641】
本変形例は、サーバ10等の情報処理装置1は、設定された時間以上、または設定された時刻を経過した場合、音情報による第1応答とは異なる第3応答を出力する制御を制御部によって行う構成を示している。
このような構成により得られる変形例の効果の一例として、ある程度の時間が経過したような場合に、音情報による第1応答とは異なる第3応答が出力されるようにすることができる。
【0642】
また、この場合、第3応答を出力する制御は、第1入力の取得から、フェッチ要求情報など応答の出力要求がなされるまで(限定ではなく、第1応答、または第2応答の出力までの一例)に、設定された時間以上、または設定された時刻を経過した場合、情報処理装置1の制御部によって行われるようにしてもよい。
このような構成により得られる変形例の効果の一例として、第1入力の取得に基づく時点から、第1応答、または第2応答の出力までに、ある程度の時間が経過したような場合に、音情報による第1応答とは異なる第3応答が出力されるようにすることができる。
限定ではなく例として、ユーザが対話中にコンテンツ等を入力・送信してから中座するような場合があり得る。このような場合に、限定ではなく例として前述した「おかえり」など、ある意味特別な応答が出力されるようにすることで、ユーザに特別感や満足感を与え得る。
【0643】
本変形例は、サーバ10等の情報処理装置1は、設定された時間以上、または設定された時刻を経過した場合、音情報による第1応答を出力しない制御を制御部によって行う構成を示している。
このような構成により得られる変形例の効果の一例として、ある程度の時間が経過したような場合に、音情報による第1応答が出力されないようにすることができる。
【0644】
また、この場合、上記の第1応答を出力しない制御は、第1入力の取得から、フェッチ要求情報など応答の出力要求がなされるまで(限定ではなく、第1応答、または第2応答の出力までの一例)に、設定された時間以上、または設定された時刻を経過した場合、情報処理装置1の制御部によって行われるようにしてもよい。
このような構成により得られる変形例の効果の一例として、第1入力の取得に基づく時点から、第1応答、または第2応答の出力までに、ある程度の時間が経過したような場合に、音情報による第1応答が出力されないようにすることができる。
限定ではなく例として、ユーザが対話中にコンテンツ等を入力・送信してから中座するような場合があり得る。このような場合に、音情報による応答が出力されないようにすることで、ユーザに不自然さや違和感を与えないようにすることができる。
【0645】
<第8変形例(4)>
上記の実施例では、判定基準となるタイミングを、限定ではなく例として、第1の対話入力文取得処理または第1のフィラーと応答文出力処理が実行されたタイミングを起点とし、第2の対話入力文取得処理が実行されたタイミングを終点としたが、これに限定されない。
限定ではなく例として、起点となるタイミングと、終点となるタイミングとのうちの少なくともいずれか一方として、各処理が実行されたタイミングから所定マージン幅(限定ではなく例として、「100ミリ秒」)ずらしたタイミング等のタイミングが設定されるようにしてもよい。
【0646】
<第9実施例>
上記の実施例では、フィラーが、ランダムや入力文に基づいて生成される場合について例示した。
第9実施例は、限定ではなく例として、対話を行っているユーザとの状況に応じてフィラーを変更する実施例である。
【0647】
第9実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0648】
フィラーでは、限定ではなく例として、以下のような音声を出力するようにしてもよい。
【0649】
(1)適当な音声
限定ではなく例として、フィラー生成部118は、ランダム生成処理を行って、予め定められたフィラー候補からランダムに選択するようにしてもよい。また、ただ単に、文字列をランダム生成し、生成された文字列を音声変換してフィラー音を生成するようにしてもよい。
【0650】
なお、フィラー音は、無意味な音としてもよい。限定ではなく例として、フィラー音は、応答文の音声出力を高速に早回ししたような音でもよい。また、フィラー音は、メロディー等の旋律でもよい。
【0651】
(2)対話内容に合わせた音声
限定ではなく例として、対話入力文に対する言語モデル部推論処理に基づいて、フィラー生成を実行することで、対話内容に沿ったフィラーを出力するようにしてもよい。
また、限定ではなく例として、フィラー生成部118に機械学習を導入することで、限定ではなく例として、対話入力文が怪談だった場合、叫ぶ音のフィラーを出力するようにしてもよい。
1つの対話入力文に限らず、複数の対話入力文に基づいて出力するフィラーを決定するようにしてもよく、この場合、対話のコンテキスト(文脈)に基づいて話題を推定し、出力するフィラーを決定するようにしてもよい。
【0652】
(3)対話を行っているユーザとの関係性に合わせた音声
限定ではなく例として、対話を行っているユーザ属性(ユーザの属性情報)に合わせたフィラーを出力するようにしてもよい。
限定ではなく例として、ユーザの年齢(年代)が中高年の場合、丁寧な口調のフィラー音を出力し、ユーザの年齢が青少年の場合、親密な感じのフィラー音を出力するようにしてもよい。
また、限定ではなく例として、ユーザの性別が男性の場合、女性の発話するフィラー音を、ユーザの性別が女性の場合、男性の発話するフィラー音を、それぞれ出力するようにしてもよい。
【0653】
また、限定ではなく例として、ユーザとチャットボットの対話期間が長い場合(限定ではなく例として、「通算60分以上」など)、限定ではなく例として、親密な感じのフィラー音を出力するようにしてもよい。限定ではなく例として、ユーザとチャットボットが対話を行って間もない間は、丁寧な口調のフィラー音を出力するようにしてもよい。
【0654】
また、限定ではなく例として、ユーザとチャットボットの対話頻度が高い場合(限定ではなく例として、「一日あたり50往復以上」など)、親密な感じのフィラー音を出力するようにしてもよい。ユーザとチャットボットの対話頻度が高くない場合には、丁寧な口調のフィラー音を出力するようにしてもよい。
【0655】
(4)対話状況に合わせた音声
限定ではなく例として、言語モデル部推論処理において、事前制御フィルタや事後制御フィルタの検出に基づいて、会話が開始したばかりと判定された場合には、「やあ!」というような挨拶形式のフィラー音を出力するようにしてもよい。また、会話が終了すると判定された場合には、「またね」等の別れの挨拶形式のフィラー音を出力するようにしてもよい。
【0656】
なお、上記のフィラー音をテキスト文字列として表示出力させるようにしてもよい。
【0657】
本実施例は、第1応答は、第1入力に基づき生成される構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザから入力された第1入力に基づき適切な第1応答が生成されるようにすることができる。
【0658】
また、本実施例は、第1応答は、ユーザとチャットボット(ボットユーザ)との関係性など、ユーザとの関係性に基づいて決定される構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザとの関係性が考慮された第1応答が決定されるようにすることができる。
【0659】
ユーザとの関係性には、限定ではなく例として、上記のように、チャットボットとチャットするユーザの年齢(年代)、性別、職業など、ユーザの属性情報が含めてもよい。
また、限定ではなく例として、第1応答が、ユーザの属性情報に基づいて生成される構成としてよい。
このような構成により得られる実施例の効果の一例として、ユーザの属性情報を考慮して第1応答が決定されるようにすることができる。
【0660】
また、この場合、第1応答は、ユーザによって入力された第1コンテンツを含む、ユーザによって送信された複数のコンテンツのコンテキストに基づき生成される構成を示している。
このような構成により得られる実施例の効果の一例として、ユーザによって入力された第1コンテンツを含む、ユーザによって送信された複数のコンテンツのコンテキストに基づく第1応答が生成されるようにすることができる。つまり、限定ではなく例として、ユーザとの対話の流れ、前後の脈絡などが考慮された第1応答が生成されるようにすることができる。
【0661】
<第10実施例>
上記の実施例では、フィラー(フィラー音やフィラーテキスト)が出力される場合について例示した。
第10実施例は、限定ではなく例として、あらかじめ適切なフィラー候補を取得する実施例である。
【0662】
第10実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0663】
本実施例では、限定ではなく例として、サーバ10と端末20とのシステムの例について例示するが、サーバ10または端末20のいずれかで全ての処理を実行することとしてもよい。この場合、情報処理装置1は、サーバ10としてもよいし、端末20としてもよい。
【0664】
<システム構成>
図9-1は、フィラー管理データベース157の別例であるフィラー管理データベース157Bのデータ構成例である。
フィラー管理データベース157Bには、チャットボットごとのデータとして、フィラー管理データが記憶される。
【0665】
各々のフィラー管理データには、限定ではなく例として、チャットボットIDと、チャットボット名と、フィラーリストデータとが記憶される。
【0666】
チャットボットIDと、チャットボット名とは、限定ではなく例として、フィラー管理データベース157Aと同様に構成するようにしてもよい。
【0667】
フィラーリストデータは、このチャットボットが使用可能(生成可能)なフィラーを設定・管理するためのデータであり、限定ではなく例として、フィラーIDと、フィラーテキストと、感情タグと、フィラー音URIとが関連付けて記憶される。
【0668】
感情タグは、フィラーIDで識別されるフィラーを出力したときに、ユーザに対して感じさせたい感情が分類され記憶される。
【0669】
図9-1では、限定ではなく例として、フィラーID「F1003」とフィラーID「F1004」のフィラーテキストは同じ「そうですね」となっている。
しかし、限定ではなく例として、フィラーID「F1003」のフィラー音は末尾下がりの発話であるのに対して、フィラーID「F1004」のフィラー音は末尾上がりの発話である。
そのため、限定ではなく例として、フィラーID「F1003」の感情タグには「同意」が、フィラーID「F1004」の感情タグには「疑問」が、それぞれ記憶される。
【0670】
すなわち、同じフィラーテキストであっても、ユーザに示したい感情に応じて複数種類のフィラー音を用意する必要がある。
【0671】
<処理>
図9-2~
図9-3は、本実施例において上記の情報処理装置1を適用した各装置が実行する処理の流れの一例を示すフローチャートである。
この図では、左側から順に、端末20Aの制御部21が実行する処理、サーバ10の制御部11が実行する処理の一例を示している。
なお、ここでは、限定ではなく例として、ユーザA.Aをチャットボットのオーナとして例示する。
【0672】
まず、端末20Aの制御部21は、限定ではなく例として、端末20Aの入出力部23に対する入力に基づいて、フィラー音を追加することが選択されたか否かを判定する(A710)。
フィラー音を追加することが選択されたと判定すると(A710:YES)、端末20Aの制御部21は、フィラー原音取得処理を実行する(A730)。
【0673】
フィラー原音取得処理において、端末20Aの制御部21は、限定ではなく例として、音入力部25からフィラー音の基となる音声波形を取得する。
なお、フィラー原音取得処理において、端末20Aの制御部21は、限定ではなく例として、記憶部28に記憶された音声データを読み出すようにしてもよい。また、端末20Aの制御部21は、限定ではなく例として、通信I/F22によって任意の装置から音声データを取得するようにしてもよい。
【0674】
なお、フィラー音の基となる音声波形は、フィラーごとに切り出し済みの音声波形でもよいし、限定ではなく例として、インタビューのような任意の会話の音声波形でもよい。
【0675】
すると、端末20Aの制御部21は、限定ではなく例として、取得した音声波形(音声データ)を含むフィラー原音情報を通信I/F22によってサーバ10に送信する(A750)。
【0676】
限定ではなく例として、フィラー音を追加しないことが選択されたと判定すると(A710:NO)、端末20Aの制御部21は、限定ではなく例として、チャット開始処理を実行する(A110)。
【0677】
通信I/F14によって端末20Aからフィラー原音情報を受信したと判定すると(S710:YES)、サーバ10の制御部11は、フィラー音抽出処理を実行する(S730)。
フィラー音抽出処理において、サーバ10の制御部11は、限定ではなく例として、フィラー原音情報に基づいて、音声認識を実行し、音声波形と紐づけられるテキストデータを取得する。
すると、サーバ10の制御部11は、限定ではなく例として、テキストデータに対して分かち書き処理を実行し、テキストデータを語句ごとに分割する。そして、サーバ10の制御部11は、限定ではなく例として、分割された語句ごとのテキストデータに基づいて、語句に対応する区間の音声波形データを切り出す。
【0678】
なお、フィラー原音情報が既にフィラーごとに切り出されていた場合、フィラー音抽出処理を省略するようにしてもよい。
【0679】
次いで、サーバ10の制御部11は、フィラー音感情分析処理を実行する(S750)。
フィラー音感情分析処理において、サーバ10の制御部11は、限定ではなく例として、テキストデータに基づいて、分割された語句ごとに、文書分類処理を実行し、語句が使用された場面分けやその語句の属性を取得する。そして、サーバ10の制御部11は、語句が使用された場面や属性に基づいて、分割された語句ごとに、感情タグを付与する。
【0680】
なお、フィラー音感情分析処理において、サーバ10の制御部11は、限定ではなく例として、分割された語句に対応する区間の音声波形データごとに、音声波形に基づく感情分析処理を実行し、感情タグを付与するようにしてもよい。
【0681】
すると、サーバ10の制御部11は、フィラー音追加処理を実行する(S770)。
フィラー音追加処理において、サーバ10の制御部11は、限定ではなく例として、フィラー管理データベース157Bを参照し、フィラー音感情分析処理において付与されたタグと、分割された語句のテキストデータと、分割された語句に対応する区間の音声波形データとをフィラーデータに追加して記憶する。
【0682】
なお、サーバ10の制御部11は、フィラーデータのうち、フィラーテキストまたはフィラー音URIと、感情タグとを関連付けて記憶させるようにしてもよい。また、サーバ10の制御部11は、フィラーデータのうち、感情タグを記憶させず、フィラーテキストまたはフィラー音URI、あるいはその両方を記憶させるようにしてもよい。
【0683】
そして、サーバ10の制御部11は、フィラー原音情報の受信待機を行う(S710)。
端末20Aからフィラー原音情報を受信しないと判定すると(S710:NO)、サーバ10の制御部11は、限定ではなく例として、チャット開始処理を実行する(S110)。
【0684】
なお、限定ではなく例として、感情タグが必要ない場合、サーバ10の制御部11は、フィラー音感情分析処理を実行しないようにしてもよい。
【0685】
サーバ10の制御部11は、フィラー生成処理において(S790)、限定ではなく例として、言語モデル部112や文章属性判定部117等で判定された入力文の属性に基づいて、フィラーデータの感情タグの中で使用可能なフィラーIDを絞り込む。そして、フィラー生成部118は、限定ではなく例として、絞り込まれたフィラーIDのうちから、限定ではなく例として、ランダムにフィラーを生成するようにしてもよい。
【0686】
なお、フィラー生成処理において、フィラー生成部118は、入力文のエンコード表現に基づいて、フィラーデータの感情タグの中で使用可能なフィラーIDを絞り込み、さらにバイナリツリー等によって出力するフィラーのフィラーIDを決定するようにしてもよい。
【0687】
なお、本処理は、クライアントサーバシステムによる処理に限定されない。限定ではなく例として、情報処理装置1の制御部は、フィラー原音取得処理を実行すると、フィラー音抽出処理からフィラー音追加処理までの各処理を実行するようにしてもよい。
【0688】
本実施例は、サーバ10等の情報処理装置1は、音情報を制御部によって取得し、取得された音情報を属性ごとに分類して記憶部に記憶する制御を制御部によって行う。そして、第1応答は、このようにして分類して記憶部に記憶された音情報に基づいて生成される構成を示している。
このような構成により得られる実施例の効果の一例として、記憶部に記憶された、取得された複数の音情報が属性ごとに分類された音情報に基づいて、適切な第1応答が生成されるようにすることができる。
【0689】
<第10変形例(1)>
上記の実施例では、限定ではなく例として、端末20において録音された音声波形に基づいて、フィラーデータを生成することとしたが、これに限定されない。限定ではなく例として、フィラーテキストを入力することで、音声合成によってフィラー音を生成するようにしてもよい。
【0690】
この場合、予めフィラーテキストを用意し、フィラーテキストと対応するフィラー音を音声合成し、フィラーデータに記憶させるようにしてもよい。また、フィラー生成処理において、入力文に基づいて、フィラーテキストを生成し、生成されたフィラーテキストに基づいて、音声合成を行ってフィラー音を生成するようにしてもよい。また、音声合成用のパラメータとして感情タグが指定可能であるようにしてもよい。
【0691】
<第11実施例>
上記の実施例では、入力文からフィラーと応答文とが作成されることとした。
第10実施例は、限定ではなく例として、応答文の内容を参照することで、適切なフィラーを生成する実施例である。
【0692】
第10実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
【0693】
<情報処理装置の機能構成>
限定ではなく例として、
図7-13と、
図4-1とを参酌することで、応答文生成処理が終了するまでの時間(応答文が生成されるまでの時間)に基づいて、フィラー音が出力される長さを変えることができる
【0694】
また、限定ではなく例として、
図7-13と、
図5-1または
図5-4とを参酌することで、フィラー音の属性に基づいて、応答文を生成することができる。
【0695】
本実施例は、第1応答は、第2応答に基づいて生成される構成を示している。
このような構成により得られる実施例の効果の一例として、第2応答に基づいて適切な第1応答が生成されるようにすることができる。
【0696】
また、この場合、第1応答は、第2応答が生成される時間に基づいて生成されるようにしてもよい。
このような構成により得られる実施例の効果の一例として、第2応答が生成される時間に基づいてより適切な第1応答が生成されるようにすることができる。
【0697】
また、本実施例は、第2応答は、第1応答に基づいて生成される構成を示している。
このような構成により得られる実施例の効果の一例として、第1応答に基づいて適切な第1応答が生成されるようにすることができる。
【0698】
また、この場合、第2応答は、第1応答の属性に基づいて生成されるようにしてもよい。
このような構成により得られる実施例の効果の一例として、第1応答の属性に基づいてより適切な第2応答が生成されるようにすることができる。
【0699】
<その他>
上記の実施例で説明した、メッセージングアプリケーションで実現した内容は、支払いアプリケーション等の他のアプリケーションでも同様に実現可能である。
【0700】
また、限定ではなく例として、上記の実施例でサーバ10の制御部11が行うこととして説明した処理のうちの少なくとも一部の処理を、端末20の制御部21が行うようにしてもよい。
【0701】
また、上記の実施例において、各種のアプリケーション(メッセージングアプリケーション、支払いアプリケーション等)を配信する用のサーバ(端末20がアプリケーションをダウンロードするサーバ)を、対応するサービス(アプリケーション)を提供するサーバ等とは異なるサーバとして構成してもよい。つまり、アプリケーションを配信する用のサーバと、上記の実施例等で説明したアプリケーション管理処理等を行うサーバ等とを物理的に分離されたサーバとして構成してもよいし、1つのサーバとして構成してもよい。
【0702】
また、アプリケーションには、各種のアプリケーションのプログラムに限らず、限定ではなく例として、おおもととなるアプリケーションの一機能として他のサービスの機能を持たせるためのプログラム(限定ではなく例として、メッセージングアプリケーションの一機能として支払いサービスの機能を持たせるためのプログラム、またはその逆)や、おおもととなるアプリケーションのアップデート用のプログラム等を含めてもよい。また、アプリケーションプログラムで活用されるデータ(アプリケーションのアップデート用のデータ等も含めてもよい。)を含めてもよい。
【0703】
また、上記の実施例では、限定ではなく例として、本発明をクライアントサーバシステムによって実現する手法を説明したが、これに限定されない。前述したように、分散システムなど、サーバやサーバシステムの機能を端末20に持たせるシステムによって実現してもよい。限定ではなく例として、上記の実施例で説明したフローチャートで、サーバやサーバシステムが行うこととして説明した処理を、端末が行うようにしてもよい。
【符号の説明】
【0704】
1 情報処理装置
10 サーバ
20 端末
30 ネットワーク
10000 通信システム