(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024043897
(43)【公開日】2024-04-02
(54)【発明の名称】情報処理装置、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G06Q 50/00 20240101AFI20240326BHJP
【FI】
G06Q50/00 300
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022149131
(22)【出願日】2022-09-20
(71)【出願人】
【識別番号】514020389
【氏名又は名称】TIS株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】野満 栄一郎
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC11
(57)【要約】
【課題】目標達成に向けた利用者同士の話し合いが適切に進行するよう支援可能なサービスを提供すること。
【解決手段】本開示に係る一形態の情報処理装置は、第1の利用者を特定の目標に導くためのシナリオに対して設定される発話候補に基づいて、第1の利用者との対話である第1の対話を実行する制御部と、第1の対話での第1の利用者の応答情報に基づいて、第1の利用者に対して所定の関係性を有する第2の利用者と、第1の利用者との対話である第2の対話を仲介する発話内容であって、シナリオのうち、現時点での段階のシナリオに応じて第2の利用者に対して出力される発話内容を生成する生成部とを備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
第1の利用者を特定の目標に導くためのシナリオに対して設定される発話候補に基づいて、前記第1の利用者との対話である第1の対話を実行する制御部と、
前記第1の対話での前記第1の利用者の応答情報に基づいて、前記第1の利用者に対して所定の関係性を有する第2の利用者と、前記第1の利用者との対話である第2の対話を仲介する発話内容であって、前記シナリオのうち、現時点での段階のシナリオに応じて前記第2の利用者に対して出力される発話内容を生成する生成部と
を備える情報処理装置。
【請求項2】
前記制御部は、前記シナリオのうち、前記第1の対話の進行状況に応じたシナリオに対応付けられる発話候補を用いて、前記第1の対話を実現するチャットボットを実行する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
対話の履歴情報に基づいて、前記発話内容に関する情報を出力するモデルを学習する学習部をさらに有し、
前記生成部は、前記第1の利用者の応答情報と、前記モデルとに基づいて、前記発話内容を生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記学習部は、前記対話の履歴情報から推定される利用者の状況を示す状況情報を含む学習データを用いて、前記モデルを学習し、
前記生成部は、前記第1の利用者の応答情報から推定される前記第1の利用者の状況と、前記モデルとに基づいて、前記発話内容を生成する
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
前記生成部は、前記発話内容として、前記第1の利用者の応答情報から推定される前記第1の利用者の状況を、前記第2の利用者にサポートさせる内容の発話内容を生成する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項6】
前記生成部は、前記第2の対話が行われる対話ルームでは出力されないことを希望する発話内容のフィードバックが前記第1の利用者から受け付けられた場合には、前記フィードバックに基づいて、発話内容を制御する
ことを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記生成部は、前記フィードバックが示す発話内容の傾向に基づいて、前記第1の利用者が今回の対話では出力されないことを希望する発話内容を推定し、推定結果に応じた発話内容を生成する
ことを特徴とする請求項6に記載の情報処理装置。
【請求項8】
情報処理装置が実行する情報処理方法であって、
第1の利用者を特定の目標に導くためのシナリオに対して設定される発話候補に基づいて、前記第1の利用者との対話である第1の対話を実行する制御工程と、
前記第1の対話での前記第1の利用者の応答情報に基づいて、前記第1の利用者に対して所定の関係性を有する第2の利用者と、前記第1の利用者との対話である第2の対話を仲介する発話内容であって、前記シナリオのうち、現時点での段階のシナリオに応じて前記第2の利用者に対して出力される発話内容を生成する生成工程と
を含むことを特徴とする情報処理方法。
【請求項9】
第1の利用者を特定の目標に導くためのシナリオに対して設定される発話候補に基づいて、前記第1の利用者との対話である第1の対話を実行する制御手順と、
前記第1の対話での前記第1の利用者の応答情報に基づいて、前記第1の利用者に対して所定の関係性を有する第2の利用者と、前記第1の利用者との対話である第2の対話を仲介する発話内容であって、前記シナリオのうち、現時点での段階のシナリオに応じて前記第2の利用者に対して出力される発話内容を生成する生成手順と
を情報処理装置に実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
入力情報に応じた対話を実現するシナリオ情報に基づいて、ユーザとの対話を実現するチャットボットが知られている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、目標達成に向けた利用者同士の話し合いが適切に進行するよう支援可能なサービスを提供する点で改善の余地がある。
【0005】
例えば、上記の従来技術には、シナリオに沿って利用者との対話を実現するチャットボットの機能に関して開示されているのみで、利用者同士の対話にチャットボットが介入する概念がそもそも存在しない。
【0006】
このため、上記の従来技術では、目標達成に向けた利用者同士の話し合いが適切に進行するよう支援可能なサービスを提供することができるとは限らない。
【0007】
本開示は、上記に鑑みてなされたものであって、目標達成に向けた利用者同士の話し合いが適切に進行するよう支援可能なサービスを提供することができる情報処理装置、情報処理方法および情報処理プログラムを提案する。
【課題を解決するための手段】
【0008】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、第1の利用者を特定の目標に導くためのシナリオに対して設定される発話候補に基づいて、前記第1の利用者との対話である第1の対話を実行する制御部と、前記第1の対話での前記第1の利用者の応答情報に基づいて、前記第1の利用者に対して所定の関係性を有する第2の利用者と、前記第1の利用者との対話である第2の対話を仲介する発話内容であって、前記シナリオのうち、現時点での段階のシナリオに応じて前記第2の利用者に対して出力される発話内容を生成する生成部とを備える。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施形態に係るシステムの構成を示す図である。
【
図2】
図2は、サーバ装置の動作の概要を示す図である。
【
図3】
図3は、サーバ装置による対話制御処理の一例を示す図(1)である。
【
図4】
図4は、サーバ装置による対話制御処理の一例を示す図(2)である。
【
図5】
図5は、実施形態に係るサーバ装置の構成例を示す図である。
【
図6】
図6は、実施形態に係るシナリオ情報記憶部の一例を示す図である。
【
図7】
図7は、実施形態に係る参加者情報記憶部の一例を示す図である。
【
図8】
図8は、実施形態に係る対話履歴記憶部の一例を示す図である。
【
図9】
図9は、サーバ装置により実行される対話制御処理の手順を示すフローチャートである。
【
図10】
図10は、実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0010】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、この実施形態により本開示に係る情報処理装置、情報処理方法および情報処理プログラムが限定されるものではない。また、以下の実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【0011】
[実施形態]
〔1.はじめに〕
現代の社会人における悩みの上位は、「夢中になれる仕事をしたいが、やりたいことがわからない」、「相談相手がいない」、「今の仕事が合わない」等であることが統計的に判明している。このため、話し合いの場を積極的に設けることで、キャリア支援をサポートしようとする企業も増えてきている。
【0012】
例えば、上司と部下が1対1で行うミーティング(「(1on1)」等と呼ばれる)は、部下の生産性向上、上司と部下との間での信頼関係の構築、エンゲージメントの向上等を目的に実施される場合がある。しかしながら、企業において、現在実施されている1on1では、「業務の進捗管理の場」としての役割しか有していないことも多く、「キャリアアップの成長支援の場」という本来の役割が果たせているとは言い切れない。
【0013】
この一例として、「互いの人間性や得意・不得意分野の理解を深めることできる」、「今後のキャリアの希望について認識をそろえる場になっている」、「会社の戦略・戦術について共有される場になっている」、「挑戦に対して後押しされる場になっている」、「新しい技術・能力の習得につながる場になっている」等の評価項目について、社員からの満足度が特に低く、1on1において、これらの項目を重点的に強化する必要があるといえる。
【0014】
そこで、本開示の一態様では、社員が自分の成長のための「やりたいこと」を発見し、それを仕事で生かすことで、自分の能力を最大化できるよう支援することを目的とする。本開示の提案技術に係る情報処理装置(以下、「実施形態に係る情報処理装置」と表記する場合がある)は、例えば、上司と部下(あるいは、人事と一社員)との間で行われる話し合いにチャットボットとして介入することで、この話し合いがキャリアアップ成長支援の場としてふさわしい場となるよう支援する。
【0015】
本実施形態では、話し合いの一例として、上司と部下が1対1で行うミーティングすなわち1on1を例に挙げて説明するが、実施形態に係る情報処理装置が適用されるシーンは、1on1に限定されない。例えば、実施形態に係る情報処理装置は、部下、部下直属の上司、人事部員という3者の間で行われる対話を支援可能なサービスを提供することもできるし、キャリアアップの成長支援といった特定の目的のため行われる話し合いに限らず、いかなる話し合い(例えば、同僚同士の日常会話等)にも適用可能である。
【0016】
〔2.システム構成〕
ここからは、
図1を用いて、実施形態に係るシステムの構成を説明する。
図1は、実施形態に係るシステムの構成を示す図である。
図1には、実施形態に係るシステムの一例として、システム1が示される。
【0017】
図1に示すように、システム1は、第1の利用者装置10と、第2の利用者装置20と、サーバ装置100とを備えて構成されてよい。また、システム1では、第1の利用者装置10(第1利用者装置)と、第2の利用者装置20(第2利用者装置)と、サーバ装置100とが、ネットワークNを介して、有線または無線により通信可能に接続されてよい。
【0018】
サーバ装置100は、実施形態に係る情報処理装置の一例であり、利用者との対話を行ったり、利用者同士の対話を仲介したりする機能を有する。このようなことから、サーバ装置100は、所謂、チャットボットサービスを提供する。チャットボットの機能は、実施形態に係る情報処理プログラムによって制御されてよい。
【0019】
例えば、サーバ装置100は、情報処理プログラムの制御に従い、第1の利用者装置10の利用者(第1の利用者)や、第2の利用者装置20の利用者(第2の利用者)が入力する質問等を示す入力情報に対して、応答メッセージを各利用者装置(第1の利用者装置10、第2の利用者装置20)に出力する。
【0020】
ここで、本実施形態では、第1の利用者を1on1における被支援側(例えば、部下)とし、第2の利用者を1on1における支援側(例えば、上司)とする。係る場合、サーバ装置100は、上記のチャットボットサービスとして、キャリア支援サービス(以下、「サービスSA」と表記する)を提供する。
【0021】
サービスSAは、例えば、サーバ装置100に対応するアプリケーションAP(アプリAP)を介して提供されてよい。この結果、第1の利用者は、アプリAPが導入された第1の利用者装置10を介して、サーバ装置100にアクセスすることで、チャットボット(サーバ装置100)や、第2の利用者と対話を行うことができるようになる。また、第2の利用者は、アプリAPが導入された第2の利用者装置20を介して、サーバ装置100にアクセスすることで、チャットボット(サーバ装置100)や、第1の利用者と対話を行うことができる。この3者(第1の利用者、第2の利用者、チャットボット)で行われる対話の詳細については
図2で説明する。
【0022】
また、
図1には、組織(例えば、企業)単位でサービスSAが利用される例が示される。
図1には、サービスSAを利用する任意の組織Txが示され、サーバ装置100は、組織Txごとに区別して情報(例えば、対話の履歴情報)を管理することで、各組織Txに適した支援を行うことができるよう構成されてよい。
【0023】
具体的には、サーバ装置100は、第1の利用者をキャリアアップへと導くために予め用意されたシナリオに沿って基本的な対話を実現しつつ、第1の利用者の応答等に基づいて、対話に用いる発話内容を適宜生成することを特徴とする。サーバ装置100は、機械学習技術を用いて、発話内容を生成してよい。
【0024】
例えば、サーバ装置100は、第1の利用者との間で行われた対話の履歴情報(第1の利用者の応答情報を含む)に基づき学習されたAIモデルに対して、第1の利用者による今回の応答情報を入力することで、第1の利用者による今回の応答に応える発話内容を生成してよい。また、ここで生成される発話内容は、第1の利用者の状況(例えば、質問に対する回答が不十分、質問に対する回答に困っている等の状況)を打開できるよう第2の利用者にサポートを促す内容を含むものである。このようなことから、サーバ装置100は、第1の利用者の応答情報から、第1の利用者の意図を推定する機能も有する。
【0025】
第1の利用者装置10は、上述した第1の利用者によって利用される情報処理端末であり、例えば、スマートフォンや、タブレット型端末や、ノート型PCや、デスクトップPCや、携帯電話機や、PDA等が挙げられる。第2の利用者装置20は、上述した第2の利用者によって利用される情報処理端末であり、同様に、スマートフォンや、タブレット型端末や、ノート型PCや、デスクトップPCや、携帯電話機や、PDA等であってよい。また、第1の利用者装置10、第2の利用者装置20は、AIスピーカやウェアラブルデバイスであってもよい。
【0026】
第1の利用者装置10および第2の利用者装置20には、サーバ装置100とアクセス可能なアプリAPが導入される。
【0027】
ここで、第2の利用者には、組織Txの人事部員も含まれてよく、人事部員は、第2の利用者装置20を操作し、アプリAPに各社員の属性情報(例えば、氏名、年齢、所属部署等)を事前に登録することもできる。この結果、サーバ装置100は、組織Tx内での人事形態(例えば、部署間の関係を示すツリー構造)を認識することができるようになるため、認識結果に基づいて、適切なチャットルームを生成することができる。
【0028】
もっとも代表的な一例として、サーバ装置100は、第2の利用者からの要求に応じて、第2の利用者により指定された1人の第1の利用者のみ入室不可能なチャットルームを生成してよい。一方で、サーバ装置100は、第1の利用者がチャットボットのみと会話を行うことのできる専用のチャットルームを生成することもできる。また、サーバ装置100は、特定の部署(あるいはチーム)に属する人物のみ入室不可能な部署(チーム)単位でのチャットルームを生成することもできる。
【0029】
〔3.サーバ装置による動作の概要〕
続いて、
図2を用いて、サーバ装置100の動作の概要を説明する。
図2は、サーバ装置100の動作の概要を示す図である。
図2では、組織T1に属する第2の利用者U12が設定したキャリアアップ相談のためのチャットルームRM1において、第1の利用者U11と、第2の利用者U12とが対話を行う場面を示す。
【0030】
また、
図2の例によれば、第1の利用者U11と、第2の利用者U12とは、部下/上司の関係にあり、第1の利用者U11の氏名は「A」、第2の利用者U12の氏名は「B」である。以下の
図2の説明では、第1の利用者U11を「部下A」、第2の利用者U12を「上司B」と表記する。
【0031】
まず、
図2の例では、サーバ装置100は、実施形態に係る情報処理プログラムに従い、チャットルームRM1においてチャットボットBTを機能させる。すなわち、チャットボットBTは、チャットルームRM1において、部下Aおよび上司Bとの間でキャリアアップに関する対話を実現する自動会話ツールである。
【0032】
ここで、サーバ装置100は、AIモデルに関する学習処理を行う学習器としての機能も有してよい。AIモデルは、サーバ装置100による機械学習によって生成され、チャットボットBTの機能を制御する情報処理プログラムに組み込まれる。このため、チャットボットBTは、AIチャットボットともいえる。また、サーバ装置100の制御によれば、以下が可能となる。
【0033】
例えば、部下Aは、第1の利用者装置10を介して、チャットルームRM1を示す画面G10を閲覧可能となる。このため、部下Aが画面G10の入力欄に入力した情報は、サーバ装置100を経由して、部下Aの発話内容として画面G10に表示される。
【0034】
同様に、上司Bは、第2の利用者装置20を介して、チャットルームRM1を示す画面G20を閲覧可能となる。上司Bが画面G20の入力欄に入力した情報は、サーバ装置100を経由して、上司Bの発話内容として画面G20に表示される。
【0035】
ここで、上記によれば、チャットルームRM1の参加者は、部下Aと、上司Bと、チャットボットBTとであり、この3者による発言によって1つの対話が進行されるが、係る対話は、詳細には
図2に示すように、3種に分類することができる。具体的には、チャットルームRM1での1つの対話には、チャットボットBTと部下Aとの間での対話である第1の対話DL1と、部下Aと上司Bとの間での対話である第2の対話DL2とが含まれる。さらに、チャットルームRM1での1つの対話には、第2の対話DL2がキャリアアップ成長支援の場として適切に進行するよう仲介する役割の発話内容MUxが含まれる。
【0036】
発話内容MUxは、サーバ装置100がチャットボットBTの発話内容として出力させる情報であり、第1の対話DL1での部下Aの応答情報に基づき生成される。サーバ装置100は、基本的には、組織T1の社員をキャリアアップへと導くために予め用意されたシナリオに沿って第1の対話DL1を実現するが、シナリオに頼るだけでなく、第1の対話DL1での部下Aの応答に最適なこの発話内容MUxを生成することで、チャットルームRM1での1つの対話を進行してゆく。
【0037】
図2の例によれば、サーバ装置100は、部下Aの応答情報に基づいて、部下Aの状況を上司Bにサポートさせる内容の発話内容MUxを生成する。例えば、サーバ装置100は、部下Aの状況(例えば、チャットボットBTの質問に対する回答が不十分、チャットボットBTの質問に対する回答に困っている等の状況)を打開できるよう上司Bにサポートを促す構成の発話内容MUxを生成する。そして、サーバ装置100は、発話内容MUxを、上司Bに対するチャットボットBTの発言としてチャットルームRM1内に出力させる。このようなことから、発話内容MUxは、
図2に示すように、チャットボットBTと上司Bとの間での対話の一部分と解せることができる。
【0038】
引き続き、
図2を用いて、キャリアアップへと導くためのシナリオについて説明する。サーバ装置100によって利用される係るシナリオは、被支援側である第1の利用者(
図2の例では、部下A)を将来的な目標に誘導してゆくため、段階的なステップで構成される。
【0039】
図2に示すシナリオグループSNGは、シナリオSN1、シナリオSN2、シナリオSN3、シナリオSN4、シナリオSN5、シナリオSN6という6つのシナリオ情報で構成され、この順で段階的に対話を進めて行くよう定義されている。また、各シナリオには、チャットボットBTの発話内容として利用される候補である発話候補が対応付けられていてよい。この点については、
図6のシナリオ情報記憶部121で説明する。
【0040】
図2の例によれば、シナリオSN1には、「興味のある分野」を聞き出す内容の発話候補が含まれる。例えば、このステップが設けられることで、利用者は、「興味のある分野」を参考に、「やりたいこと」の手がかりを見つけることができる可能性がある。また、サーバ装置100は、実際に提示した発話内容に対する利用者の応答情報と、AIモデルとに基づいて、「やりたいことの発見」につながるような参考情報を生成し、この参考情報を利用者に対してさらに提示してよい。
【0041】
シナリオSN2には、「得意なこと」を聞き出す内容の発話候補が含まれる。例えば、このステップが設けられることで、利用者は、「得意なこと」を参考に、「やりたいこと」の手がかりを見つけることができる可能性がある。また、サーバ装置100は、実際に提示した発話内容に対する利用者の応答情報と、AIモデルとに基づいて、「やりたいことの発見」につながるような参考情報を生成し、この参考情報を利用者に対してさらに提示してよい。
【0042】
シナリオSN3には、「やりたいことの発見」へと誘導する内容の発話候補が含まれる。このステップでは、利用者は、前段で考えてみた「興味のある分野」や「得意なこと」を踏まえることができるため、「やりたいことを発見」しやすくなる。
【0043】
シナリオSN4には、「ビジョンを仮説/検証」できるよう誘導する内容の発話候補が含まれる。このステップが設けられることで、利用者は、将来なりたい姿の仮説を立てることができるようになる。また、サーバ装置100は、実際に提示した発話内容に対する利用者の応答情報と、AIモデルとに基づいて、「ビジョンの仮説/検証」を手助けする参考情報を生成し、この参考情報を利用者に対してさらに提示してよい。
【0044】
シナリオSN5には、「短期的あるいは長期的な目標設定」を促す内容の発話候補が含まれる。このステップでは、サーバ装置100は、実際に提示された発話内容に対する利用者の応答情報と、AIモデルとに基づいて、利用者に応じた目標を生成し、この目標を利用者に対してさらに提示してよい。また、サーバ装置100は、目標をリアルタイムにリマインドしてもよい。
【0045】
ここで、利用者は、目標に対するギャップ分析を行うことで、自身に適した「アクションプランを検討」することもできる。サーバ装置100は、実際に提示した発話内容に対する利用者の応答情報と、AIモデルとに基づいて、「アクションプランの検討」を手助けする参考情報を生成し、この参考情報を利用者に対してさらに提示してよい。
【0046】
シナリオSN6には、「行動/実践」した結果、これまでの過程(シナリオSN1~SN5)で得られた情報の振り返りを行わせる内容の発話候補が含まれる。このステップが設けられることで、利用者は、実際に行動に移すきっかけを得ることができるようになる。例えば、サーバ装置100は、AIモデルに基づき、利用者を鼓舞する発話内容を生成し、この発話内容を利用者に対してさらに提示してよい。
【0047】
さて、サーバ装置100によって利用されるシナリオについて説明したが、例えば、シナリオグループSNGに含まれるシナリオの数、シナリオの内容、シナリオの内容に応じた構成要件(発話候補)、シナリオの順序は、
図2の例に限定されない。しかしながら、一連のシナリオは、これまでのキャリア支援で得られた好適な実績に基づき設定されることが望ましい。例えば、シナリオグループSNGは、組織Txごとに独自に設定されてもよいし、サービスSAを提供する事業者によって設定されてもよい。
【0048】
〔4.シナリオに沿った対話制御例〕
続いて、
図3および
図4を用いて、
図2に示すシナリオに沿って行われる対話制御処理の一例を説明する。
図3および
図4では、引き続き
図2の例を採用し、部下Aと、上司Bと、チャットボットBTとの間で対話が進行される場面を示す。なお、
図3および
図4の例では、サーバ装置100は、発話内容MUxの生成に用いるAIモデルを既に有しているものとして説明する。
【0049】
〔4-1.対話制御例(1)〕
図3は、サーバ装置100による対話制御処理の一例を示す図(1)である。
図3では、サーバ装置100が
図2のシナリオSN1に沿って対話を制御する場面を示す。また、
図3(a)には、チャットルームRM1を示す対話画面として、部下A側の第1の利用者装置10に表示される画面G10が示される。一方、
図3(b)には、チャットルームRM1を示す対話画面として、上司B側の第2の利用者装置20に表示される画面G20が示される。
【0050】
例えば、シナリオSN1では、「興味のある分野は何?」、「仕事の分野も書いてみて?」等の発話候補のうち、いずれを出力すべきかが、利用者に対して予測される発話候補に応じてツリー構造で定義されていてよい。
図3の例では、サーバ装置100は、シナリオSN1に含まれる発話候補のうち、「興味のある分野は何?」を利用対象の発話内容M11として取得し、チャットルームRM1に表示させている。
【0051】
部下Aは、第1の利用者装置10を操作し、発話内容M11に対する応答内容M12として「料理、サッカー・・・」を入力している。
【0052】
サーバ装置100は、シナリオSN1に対応する発話候補の中に、応答内容M12に適した発話候補が存在するか否かを判定し、存在する場合にはその発話候補を優先的に提示してよい。一方、サーバ装置100は、シナリオSN1に対応する発話候補の中に、応答内容M12に適した発話候補が存在しない場合には、応答内容M12から推定される部下Aの状況と、AIモデルとに基づいて、応答内容M12に対する発話内容を生成してよい。
【0053】
図3の例では、サーバ装置100は、応答内容M12に適した発話候補として「仕事の分野も書いてみて?」が存在することに応じて、「仕事の分野も書いてみて?」を利用対象の発話内容M13として取得し、チャットルームRM1に表示させている。
【0054】
部下Aは、第1の利用者装置10を操作し、発話内容M13に対する応答内容M14として「マーケティング・・・」を入力している。
【0055】
サーバ装置100は、シナリオSN1に対応する発話候補の中に、応答内容M14に適した発話候補が存在するか否かを判定し、存在する場合にはその発話候補を優先的に提示してよい。一方、サーバ装置100は、シナリオSN1に対応する発話候補の中に、応答内容M14に適した発話候補が存在しない場合には、応答内容M14から推定される部下Aの状況(意図)と、AIモデルとに基づいて、応答内容M14に対する発話内容を生成してよい。
【0056】
図3の例では、サーバ装置100は、応答内容M14に適した発話候補が存在しないことに応じて、応答内容M14から推定される部下Aの状況「質問に対する回答が不十分」を示す状況情報を取得する。そして、サーバ装置100は、状況情報をAIモデルに入力し、AIモデルの出力結果から発話内容M15を生成する。
図3の例によれば、サーバ装置100は、発話内容M15「上司のBさんどう思いますか?」を生成している。
【0057】
係る例によれば、AIモデルは、第1の利用者について推定される状況が「質問に対する回答が不十分」の場合には、この状況を打開できるよう第2の利用者にサポート促す発話内容「相手の○○さんどう思いますか?」を出力するよう学習しているといえる。また、このようなAIモデルを得るには、サーバ装置100は、対話の履歴情報に含まれる被支援者側の応答情報と、この履歴情報に含まれる応答情報のうち仲介の役割を有する応答情報とを学習データとして用いて、AIモデルに学習させてよい。
【0058】
ここでいう対話の履歴情報は、部下Aと、上司Bと、チャットボットBTとの間で行われた対話の履歴情報であってもよいし、チャットボットBTを介してこれまでに行われた他の1on1に対応する履歴情報であってもよい。他の例として、対話の履歴情報は、チャットボットBTを含まず、人間だけで行われた対話の履歴情報であってもよい。
【0059】
図3の説明に戻り、発話内容M15は、第2の対話DL2がキャリアアップ成長支援の場として適切に進行するよう仲介する役割を有し、
図2で説明した発話内容MUxの一例に相当する。
【0060】
上司Bは、チャットボットBTによる仲介の発話内容M15に応じて気付きを得ることができる。すなわち、上司Bは、第2の利用者装置20を操作し、発話内容M15に対する応答内容M16として「Aさん、料理は何を作るのかな?」を入力している。
【0061】
〔4-2.対話制御例(2)〕
図4は、サーバ装置100による対話制御処理の一例を示す図(2)である。
図4では、サーバ装置100が
図2のシナリオSN3に沿って対話を制御する場面を示す。また、
図4(a)には、チャットルームRM1を示す対話画面として、部下A側の第1の利用者装置10に表示される画面G10が示される。一方、
図4(b)には、チャットルームRM1を示す対話画面として、上司B側の第2の利用者装置20に表示される画面G20が示される。
【0062】
例えば、シナリオSN3では、「本当にやりたいことを考えてね。」、「さっき答えてくれた得意分野を合わせて考えてみてね。」等の発話候補のうち、いずれを出力すべきかが、利用者に対して予測される発話候補に応じてツリー構造で定義されていてよい。
図4の例では、サーバ装置100は、シナリオSN3に含まれる発話候補のうち、「本当にやりたいことを考えてね。」を利用対象の発話内容M21として取得し、チャットルームRM1に表示させている。
【0063】
部下Aは、第1の利用者装置10を操作し、発話内容M21に対する応答内容M22として「うーん、むずかしいな・・・」を入力している。
【0064】
サーバ装置100は、シナリオSN3に対応する発話候補の中に、応答内容M22に適した発話候補が存在するか否かを判定し、存在する場合にはその発話候補を優先的に提示してよい。一方、サーバ装置100は、シナリオSN3に対応する発話候補の中に、応答内容M22に適した発話候補が存在しない場合には、応答内容M22から推定される部下Aの状況と、AIモデルとに基づいて、応答内容M22に対する発話内容を生成してよい。
【0065】
図4の例では、サーバ装置100は、応答内容M22に適した発話候補として「さっき答えてくれた得意分野を合わせて考えてみてね。」が存在することに応じて、「さっき答えてくれた得意分野を合わせて考えてみてね。」を利用対象の発話内容M23として取得し、チャットルームRM1に表示させている。
【0066】
部下Aは、第1の利用者装置10を操作し、発話内容M23に対する応答内容M24として「仕事に関係ないことしか浮かばい。」を入力している。
【0067】
サーバ装置100は、シナリオSN3に対応する発話候補の中に、応答内容M24に適した発話候補が存在するか否かを判定し、存在する場合にはその発話候補を優先的に提示してよい。一方、サーバ装置100は、シナリオSN3に対応する発話候補の中に、応答内容M24に適した発話候補が存在しない場合には、応答内容M24から推定される部下Aの状況(意図)と、AIモデルとに基づいて、応答内容M24に対する発話内容を生成してよい。
【0068】
図4の例では、サーバ装置100は、応答内容M24に適した発話候補が存在しないことに応じて、応答内容M24から推定される部下Aの状況「質問に対する回答に困っている」を示す状況情報を取得する。そして、サーバ装置100は、状況情報をAIモデルに入力し、AIモデルの出力結果から発話内容M25を生成する。
図4の例によれば、サーバ装置100は、発話内容M25「関係なくても大丈夫!上司のBさんもサポートお願いします。」を生成している。
【0069】
係る例によれば、AIモデルは、第1の利用者について推定される状況が「質問に対する回答に困っている」の場合には、この状況を打開できるよう第2の利用者にサポート促す発話内容「相手の○○さんサポートお願いします。」を出力するよう学習しているといえる。また、このようなAIモデルを得るには、サーバ装置100は、対話の履歴情報に含まれる被支援者側の応答情報と、この履歴情報に含まれる応答情報のうち仲介の役割を有する応答情報とを学習データとして用いて、AIモデルに学習させてよい。
【0070】
ここでいう対話の履歴情報は、部下Aと、上司Bと、チャットボットBTとの間で行われた対話の履歴情報であってもよいし、チャットボットBTを介してこれまでに行われた他の1on1に対応する履歴情報であってもよい。他の例として、対話の履歴情報は、チャットボットBTを含まず、人間だけで行われた対話の履歴情報であってもよい。
【0071】
図4の説明に戻り、発話内容M25は、第2の対話DL2がキャリアアップ成長支援の場として適切に進行するよう仲介する役割を有し、
図2で説明した発話内容MUxの一例に相当する。
【0072】
上司Bは、チャットボットBTによる仲介の発話内容M25に応じて気付きを得ることができる。すなわち、上司Bは、第2の利用者装置20を操作し、発話内容M25に対する応答内容M26として「他の部署では、××を目指している人がいるみたいですよ。」を入力している。
【0073】
〔4-3.まとめ〕
図3および
図4の例によれば、サーバ装置100は、部下Aの状況から、部下Aと上司Bとの間での対話(第2の対話DL2)での空気を読んで、2人の関係を上手く取り持っているといえる。この結果、上司Bが部下Aをうまくサポートしながら第2の対話DL2が進行してゆくという世界観が実現されるため、部下Aは、思っていることを発言しやすくなる。また、部下Aが適切な発言を行えば、シナリオに沿って対話が進むため、「何をすればよいか」見つけ出すことができるようになる。
【0074】
〔5.情報処理装置の構成〕
図5を用いて、実施形態に係る情報処理装置について説明する。
図5は、実施形態に係るサーバ装置100の構成例を示す図である。
図5に示すように、サーバ装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0075】
(通信部110について)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。例えば、通信部110は、ネットワークNと有線または無線で接続され、例えば、第1の利用者装置10、第2の利用者装置20との間で情報の送受信を行う。
【0076】
(記憶部120について)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部120は、シナリオ情報記憶部121と、参加者情報記憶部122と、対話履歴記憶部123と、学習データ記憶部124とを有する。
【0077】
(シナリオ情報記憶部121について)
シナリオ情報記憶部121は、対話制御処理に用いられるシナリオ情報を記憶する。シナリオ情報は、被支援側を将来的な目標に誘導してゆくため、段階的なステップで構成されてよい。
【0078】
ここで、
図6に、実施形態に係るシナリオ情報記憶部121の一例を示す。
図6の例では、シナリオ情報記憶部121は、「シナリオ種別」、「シナリオID」、「シナリオ内容」、「発話候補」といった項目を有する。
【0079】
「シナリオ種別」は、シナリオの種別を示す情報であり、
図6に示すように、「キャリアサポート」等が存在する。例えば、シナリオ種別「キャリアサポート」のシナリオは、キャリアサポートの対話を制御する際に用いられる。「シナリオID」は、シナリオを識別する情報である。
【0080】
「シナリオ内容」は、「シナリオID」が示すシナリオがどのような内容のものであるかその概要を示す情報である。「発話候補」は、「シナリオ内容」について、利用者から聞き出したり、検討させたりするために、チャットボットBTの発話として出力させるべき内容を示すものである。
【0081】
図6には、シナリオID「SN1」と、シナリオ内容「興味のある分野」と、「興味のある分野は何?」とが対応付けられる例が示される。また、
図6の例では、シナリオSN1が1stステップとして定義されている。係る例は、第1の対話DL1における初めのステップでは、シナリオSN1に沿って「興味のある分野」を聞き出す話題で対話を進めるよう定義されている例を示す。
【0082】
また、
図6には、シナリオID「SN2」と、シナリオ内容「得意なこと」と、「得意なことを選択肢から選んでね。」とが対応付けられる例が示される。ここでは、シナリオSN2が2ndステップとして定義されている。係る例は、シナリオSN1で対話が進んだ後の2番目のステップでは、シナリオSN2に沿って「得意なこと」を聞き出す話題で対話を進めるよう定義されている例を示す。
【0083】
また、
図6には、シナリオID「SN3」と、シナリオ内容「やりたいことの発見」と、「本当にやりたいことを考えてね。」とが対応付けられる例が示される。ここでは、シナリオSN3が3rdステップとして定義されている。係る例は、シナリオSN2で対話が進んだ後の3番目のステップでは、シナリオSN3に沿って「やりたいことの発見」を手助けする目的で対話を進めるよう定義されている例を示す。
【0084】
また、
図6には、シナリオID「SN4」と、シナリオ内容「ビジョンを仮説/検証」と、「3年後にはどうなりたいかな?」とが対応付けられる例が示される。ここでは、シナリオSN4が4thステップとして定義されている。係る例は、シナリオSN3で対話が進んだ後の4番目のステップでは、シナリオSN4に沿って「将来なりたい姿の仮説を立てること」を手助けする目的で対話を進めるよう定義されている例を示す。
【0085】
また、
図6には、シナリオID「SN5」と、シナリオ内容「短期/長期目標設定」と、「明日やるコトを考えてみよう。」とが対応付けられる例が示される。ここでは、シナリオSN5が5thステップとして定義されている。係る例は、シナリオSN4で対話が進んだ後の5番目のステップでは、シナリオSN5に沿って「短期もしくは長期的な目標の設定」を手助けする目的で対話を進めるよう定義されている例を示す。
【0086】
また、
図6には、シナリオID「SN6」と、シナリオ内容「行動実践」と、「目標の〇〇はできたかな?」とが対応付けられる例が示される。ここでは、シナリオSN6が6thステップとして定義されている。係る例は、シナリオSN5で対話が進んだ後の6番目のステップでは、シナリオSN6に沿って「振り返り」の手助けする目的で対話を進めるよう定義されている例を示す。
【0087】
(参加者情報記憶部122について)
参加者情報記憶部122は、チャットボットBTを交えた1つの対話(第1の対話DL1、第2の対話DL2を含む)ごとに、当該対話の参加者を示す情報を記憶する。ここで、
図7に、実施形態に係る参加者情報記憶部122の一例を示す。
図7の例では、参加者情報記憶部122は、「組織ID」、「対話ID」、「利用者ID」、「部署」、「氏名」、「関係」といった項目を有する。
【0088】
「組織ID」は、サービスSAを利用する組織Txを識別する情報である。「対話ID」は、1つのチャットルームで行われた対話であって、チャットボットBTを交えた対話を識別する情報である。「利用者ID」は、「対話ID」で識別される対話に参加した利用者を識別する情報である。
【0089】
「部署」は、「利用者ID」で識別される利用者が所属する部署を示す情報である。「氏名」は、「利用者ID」で識別される利用者の氏名を示す情報である。「関係」は、「対話ID」に対応付けられる「利用者ID」それぞれが示す利用者の間で成立している関係を示す情報である。
【0090】
図7には、組織ID「T1」と、対話ID「LG1」と、利用者ID「U11」および「U12」の組とが対応付けられる例が示される。係る例は、
図2等の例に対応し、組織T1に属する第2の利用者U12が設定したキャリアアップ相談のためのチャットルームRM1での対話LG1には、第1の利用者U11と、第2の利用者U12とが参加した例を示す。
【0091】
(対話履歴記憶部123について)
対話履歴記憶部123は、チャットボットBTを交えた1つの対話(第1の対話DL1、第2の対話DL2を含む)ごとに、当該対話の履歴を記憶する。ここで、
図8に、実施形態に係る対話履歴記憶部123の一例を示す。
図8の例では、対話履歴記憶部123は、「対話ID」、「対話種別」、「前者発話履歴」、「後者発話履歴」といった項目を有する。
【0092】
「対話ID」は、1つのチャットルームで行われた対話であって、チャットボットBTを交えた対話を識別する情報である。ここでいう「対話ID」は、
図7の「対話ID」と同様のものである。
【0093】
「対話種別」は、「対話ID」で識別される対話に参加した参加者のうち、誰と誰の対話であるかを示す情報である。
図8には、対話ID「LG1」と、対話種別「ボットtoU11」とが対応付けられる例が示される。係る例は、チャットルームRM1での対話LG1には、チャットボットBTと、第1の利用者U11との対話(すなわち、第1の対話DL1)が含まれ、チャットボットBTを対話の「前者」、第1の利用者U11を対話の「後者」と定義されている例を示す。
【0094】
また、
図8には、対話ID「LG1」と、対話種別「U12toU11」とが対応付けられる例が示される。係る例は、チャットルームRM1での対話LG1には、第2の利用者U12と、第1の利用者U11との対話(すなわち、第2の対話DL2)が含まれ、第2の利用者U12を対話の「前者」、第1の利用者U11を対話の「後者」と定義されている例を示す。
【0095】
また、
図8には、対話ID「LG1」と、対話種別「ボットtoU12」とが対応付けられ、対話種別「ボットtoU11」と、対話種別「U12toU11」の間に存在する。係る例は、チャットルームRM1での対話LG1には、チャットボットBTと、第2の利用者U12との対話が含まれ、チャットボットBTを対話の「前者」、第2の利用者U12を対話の「後者」と定義されている例を示す。係る例によれば、対話種別「ボットtoU12」での対話には、第2の利用者U12にサポートを促す構成の発話内容MUxが含まれる。
【0096】
「前者発話履歴」は、「対話種別」において「前者」として定義された参加者の発話履歴であり、この参加者による「発話内容」と、「発話内容」が入力された「日時」とを含む。
【0097】
「後者発話履歴」は、「対話種別」において「後者」として定義された参加者の発話履歴であり、この参加者による「発話内容」と、「発話内容」が入力された「日時」とを含む。
【0098】
(学習データ記憶部124について)
学習データ記憶部124は、AIモデルの学習に用いられる学習データを記憶する。例えば、学習データ記憶部124は、対話履歴記憶部123に記憶される履歴情報を学習データとして記憶してよい。また、学習データ記憶部124は、チャットボットBTを含まず、人間だけで行われた対話の履歴情報を学習データとして記憶してよい。
【0099】
ここで、サーバ装置100は、第1の利用者の応答情報から、第1の利用者が特定の状況に陥ったと推定された場合には、例えば、対話終了後に、相手の第2の利用者に対して、仲介に関するアンケートを行ってもよい。この点について
図2等の例を用いて説明する。
【0100】
例えば、サーバ装置100は、[「ルームRM1での対話中、Aさんが困っている状況がありました。この場合、Bさんに応答を求めた方がよいですか?」、「応答を求める場合、どのような内容を希望されますか。次の中からお選びください。」]といった具合にアンケートをとってよい。係る例では、サーバ装置100は、アンケートに対する第2の利用者(Bさん)のフィードバックと、第1の利用者(Aさん)について推定された状況を示す状況情報との組を学習データとして記憶してもよい。
【0101】
(制御部130について)
図5に戻り、制御部130は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、サーバ装置100内部の記憶装置に記憶されている各種プログラム(例えば、実施形態に係る情報処理プログラム)がRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0102】
図5に示すように、制御部130は、入力受付部131と、対話制御部132と、生成部133と、学習部134とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、
図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部130が有する各処理部の接続関係は、
図5に示した接続関係に限られず、他の接続関係であってもよい。
【0103】
(入力受付部131について)
入力受付部131は、発話内容の入力を受け付ける。例えば、入力受付部131は、対話制御部132により生成されたチャットルームに参加する参加者それぞれから、このチャットルームに対応する画面に表示される発話内容の入力を受け付ける。例えば、入力受付部131は、シナリオに応じた支援を受ける被支援者である第1の利用者、および、第1の利用者と対話を行う関係者である第2の利用者それぞれから発話内容の入力を受け付ける。
【0104】
図2等の例によれば、入力受付部131は、チャットルームRM1に入室している第1の利用者U11、および、第2の利用者U12それぞれから発話内容の入力を受け付ける。
【0105】
(対話制御部132について)
対話制御部132は、対話制御処理を実行する。例えば、対話制御部132は、利用者からの要求に応じたチャットルームを生成する。そして、対話制御部132は、チャットルームごとに、当該チャットルームでの対話を制御する。例えば、対話制御部132は、チャットルームに対応する利用者情報に基づいて、利用者によるこのチャットルームへの入室を制御する。係る処理は、例えば、参加者情報記憶部122に記憶される情報に基づき行われてよい。
【0106】
また、対話制御部132は、チャットルームに入室している利用者による発話内容の入力が受け付けられた場合には、このチャットルームに対応する画面に発話内容を表示させる。
【0107】
また、対話制御部132は、チャットルームでは、シナリオに沿って対話が進行するようチャットボットBTとしての発話内容を制御する。例えば、対話制御部132は、第1の利用者を特定の目標に導くためのシナリオに対して設定される発話候補に基づいて、チャットボットBTと、第1の利用者との対話である第1の対話DL1を実行する。具体的には、対話制御部132は、発話候補の中から現時点で提示するべき最適な発話内容を選択し、選択した発話内容をチャットボットBTによる発話内容として、チャットルームに対応する画面に表示させる。
【0108】
また、これまで説明してきたように、チャットルームでは、第1の対話DL1と並行して、第1の利用者と第2の利用者との間で第2の対話DL2も行われる。このため、例えば、対話制御部132は、第1の利用者の応答情報から、第1の利用者が特定の状況であると推定される場合や、第1の利用者が特定の意図を有すると推定される場合には、推定結果に応じた発話内容が生成されるよう生成部133を制御してよい。例えば、対話制御部132は、第1の利用者が特定の状況であると推定される場合や、第1の利用者が特定の意図を有すると推定される場合には、推定結果が示す状況や意図を、第2の利用者にサポートさせる内容の発話内容を生成するよう生成部133を制御してよい。
【0109】
なお、対話制御部132は、第1の利用者の応答情報に基づいて、第1の利用者の状況を推定する処理も行ってよい。例えば、対話制御部132は、第1の利用者の応答情報として、第1の利用者の発話内容に基づいて、第1の利用者の状況を推定してよい。
【0110】
一例として、対話制御部132は、チャットボットBTとして提示された発話内容に対する、第1の利用者の発話内容の適切度合を算出し、算出した適切度合から第1の利用者の状況を推定してよい。
【0111】
他の一例として、対話制御部132は、第1の利用者の発話内容に含まれるキーワードの組合せ、キーワードの数、回答としてのキーワードの正誤に基づいて、第1の利用者の状況を推定してよい。また、対話制御部132は、第1の利用者の応答情報として、チャットボットBTによる発話内容を提示してから第1の利用者が発話内容を入力するまでに要した時間(つまり、第1の利用者が無言であった時間)に基づいて、第1の利用者の状況を推定してもよい。
【0112】
さらに他の例として、対話制御部132は、第1の利用者の応答情報を入力として、第1の利用者の状況変化を予測する予測モデルを用いて、第1の利用者の状況を推定してもよい。
【0113】
(生成部133について)
生成部133は、第1の対話DL1での第1の利用者の応答情報に基づいて、第1の利用者に対して所定の関係性を有する第2の利用者と、第1の利用者との対話である第2の対話DL2を仲介する発話内容であって、現時点での段階のシナリオに応じて第2の利用者に対して出力される発話内容を生成する。例えば、生成部133は、第1の利用者の応答情報から推定される第1の利用者の状況を、第2の利用者にサポートさせる内容の発話内容を生成してよい。
【0114】
(学習部134について)
学習部134は、生成部133が発話内容の生成に用いるAIモデルを生成する。例えば、学習部134は、対話の履歴情報を学習データとして用いてモデルに学習させることで、発話内容に関する情報を出力するAIモデルを生成する。
【0115】
例えば、学習部134は、シナリオに沿って行われた対話の履歴情報を学習データとして用いて、AIモデルを生成してよい。また、学習部134は、チャットボットBTを含まず、人間だけで行われた対話の履歴情報を学習データとして用いて、AIモデルを生成してよい。より具体的には、学習部134は、対話の履歴情報に含まれる被支援者側の応答情報と、仲介の役割を有する応答情報との組を学習データとして用いてモデルに学習させることで、AIモデルを生成してよい。
【0116】
また、上述したように、サーバ装置100は、第1の利用者の応答情報から、第1の利用者が特定の状況に陥ったと推定された場合には、相手の第2の利用者に対して、仲介に関するアンケートを行ってもよいものである。そこで、サーバ装置100は、アンケートに対する第2の利用者のフィードバックと、第1の利用者について推定された状況を示す状況情報との組を学習データとして用いてモデルに学習させることで、AIモデルを生成してもよい。
【0117】
ここで、生成部133の説明に戻る。生成部133は、第1の利用者の応答情報と、AIモデルとに基づいて、チャットボットBTとして提示する発話内容を生成する。例えば、生成部133は、第1の利用者の応答情報から推定される第1の利用者の状況と、AIモデルとに基づいて、発話内容を生成する。なお、ここでいう第1の利用者の状況には、第1の利用者の応答情報から推定される発話の意図の概念も含まれる。
【0118】
他の例として、対話制御部132は、チャットボットBTによる発話内容を提示した後、所定時間が経過しても第1の利用者が発話内容を入力しなかった場合には、第1の利用者が何を発話すべきか迷っている状況であると推定することもできる。係る場合、生成部133は、例えば、入力についてアドバイスする発話内容、あるいは、入力を促す発話内容を生成し、生成した発話内容が第1の利用者に対して提示されるよう制御してよい。一方、生成部133は、第1の利用者が迷っている状況を解消できるよう第2の利用者にサポートを促す発話内容を生成し、生成した発話内容が第2の利用者に対して提示されるよう制御してもよい。
【0119】
〔6.処理手順〕
次に、
図9を用いて、サーバ装置100の動作手順を説明する。
図9は、サーバ装置100により実行される対話制御処理の手順を示すフローチャートである。なお、
図9の例では、学習処理によりAIモデルが生成済みであるものとする。また、
図9では、
図2等と同様に、チャットルームRM1において、第1の利用者U11と、第2の利用者U12とが対話を行う場面を用いて、対話制御処理手順を説明する。
【0120】
まず、対話制御部132は、チャットボットBTと、第1の利用者U11との対話である第1の対話DL1の履歴情報に基づいて、シナリオの進行状況を特定する(ステップS901)。
【0121】
次に、対話制御部132は、特定したシナリオに対応付けられる発話候補の中から、対話の開始に用いる発話内容を選択する(ステップS902)。
【0122】
そして、対話制御部132は、選択した発話内容をチャットボットBTの発言として、チャットルームRM1を示す画面内に表示させる(ステップS903)。
【0123】
このような状態において、入力受付部131は、利用者から発話内容の入力を受け付けたか否かを判定する(ステップS904)。入力受付部131は、利用者から発話内容の入力を受け付けていない間は(ステップS904;No)、利用者から発話内容の入力を受け付けるまで待機する。
【0124】
一方、対話制御部132は、利用者から発話内容の入力が受け付けられた場合には(ステップS904;Yes)、この発話内容を入力した利用者の立場を特定する(ステップS905)。例えば、対話制御部132は、発話内容を入力した利用者が第1の利用者U11(部下A)である場合には、参加者情報記憶部122を参照し、第1の利用者U11が被支援者であることを特定することができる。また、対話制御部132は、発話内容を入力した利用者が第2の利用者U12(上司B)である場合には、参加者情報記憶部122を参照し、第2の利用者U12が支援者であることを特定することができる。
【0125】
生成部133は、発話内容を入力した利用者の立場が被支援者であるか否かを判定する(ステップS906)。
【0126】
生成部133は、発話内容を入力した利用者の立場が被支援者でない場合、つまり支援者である場合には(ステップS906;No)、この利用者(第2の利用者U12)による応答内容に応じた発話内容を生成する。この発話内容は、チャットボットBTの発言として、チャットルームRM1を示す画面内に表示され(ステップS907)、ステップS904へと処理が戻される。
【0127】
一方、対話制御部132は、発話内容を入力した利用者の立場が被支援者である場合には(ステップS906;Yes)、現在のシナリオに対応する発話候補の中に、この利用者(第1の利用者U11)の応答内容に適した発話候補が存在するか否かを判定する(ステップS908)。
【0128】
対話制御部132は、応答内容に適した発話候補が存在する場合には(ステップS908;Yes)、この発話候補をチャットボットBTの発言として、チャットルームRM1を示す画面内に表示させる(ステップS909)。
【0129】
一方、対話制御部132は、応答内容に適した発話候補が存在しない場合には(ステップS908;No)、発話内容を入力した利用者の状況を推定する(ステップS910)。例えば、対話制御部132は、発話内容自体から状況を推定してもよいし、チャットボットBTによる発話内容が表示されてから利用者が発話内容を入力するまでに要した時間に基づいて、利用者の状況を推定してもよい。
【0130】
生成部133は、利用者の状況を示す状況情報と、AIモデルとに基づいて、応答内容に対する発話内容を生成する(ステップS911)。ここで、AIモデルによれば、利用者の状況が特定の状況(例えば、質問に対する回答が不十分、質問に対する回答に困っている等の負の状況)である場合には、支援者としての立場の利用者(第2の利用者U12)に対してこの状況をサポートさせる内容の発話内容が出力される場合がある。このような発話内容が出力された場合、生成部133は、支援者としての立場の利用者と、現在のシナリオとに基づいて、AIモデルが出力した発話内容を加工してよい。
【0131】
一例として、生成部133は、現在のシナリオがシナリオSN3である場合には、「Bさん。Aさんがやりたいことを発見できるようアドバイスしてあげて下さいね。」を生成することができる。
【0132】
そして、対話制御部132は、生成された発話内容をチャットボットBTの発言として、チャットルームRM1を示す画面内に表示させる(ステップS912)。また、ステップS904へと処理が戻される。
【0133】
〔7.その他の実施形態〕
ここからは、サーバ装置100によるその他の実施形態について説明する。サーバ装置100は、上記実施形態以外にも種々の異なる態様で実施されてよい。そこで、以下では、サーバ装置100の他の実施形態について説明する。
【0134】
〔7-1.フィードバックに基づくボット発言の抑制(1)〕
上記実施形態では、サーバ装置100は、第1の利用者、第2の利用者、チャットボットBTが参加する1つのチャットルームにおいて対話制御する例を示した。しかしながら、サーバ装置100は、第1の利用者がチャットボットBTのみと会話を行うことのできる専用のチャットルームを生成することもできる。このようなチャットルームは、例えば、「ボットとの何でも相談室」といった名称で提供される場合があり、実質、1人の第1の利用者のみ入室可能に制御される。
【0135】
図2等の例を用いると、サーバ装置100は、例えば、部下Aからの要求に応じて、チャットボットBTと1対1で対話可能な相談室RM11(専用のチャットルームの一例)を生成し、部下Aのみ入室可能に制御する。相談室RM11では、シナリオに沿った発話内容が出力されることはなく、部下Aは、仕事や日常生活での様々な悩み事や愚痴を発言することができる。
【0136】
ここで、サーバ装置100は、相談室RM11で行われた対話の履歴情報も学習データとして用いてモデルに学習させる場合がある。そうすると、チャットルームRM1で対話が行われる際に、サーバ装置100は、相談室RM11で部下Aから聞き出したプライベートな事情や、上司Bに対する愚痴等をベースに生成された発話内容をチャットボットBTとして提示してしまう可能性がある。つまり、サーバ装置100は、チャットルームRM1には上司Bも参加しているにも拘わらず、部下Aにとっては上司Bには知られたくないであろう事項をチャットボットBTに発話させてしまう可能性がある。
【0137】
このように、第1の利用者には、第2の利用者も参加しているチャットルームでは、チャットボットBTに発話されると困る情報がある。そこで、サーバ装置100は、今後のチャットルーム(特に、第1の利用者、第2の利用者、チャットボットBTが参加する1つのチャットルーム)では出力されないことを希望する発話内容のフィードバックを第1の利用者から受け付けてよい。
【0138】
例えば、サーバ装置100は、第1の利用者、第2の利用者、チャットボットBTが参加した1つのチャットルームにおいて、チャットボットBTとして提示された発話内容のうち、今後のチャットルームでは出力されないことを希望する発話内容のフィードバックを第1の利用者から受け付けてよい。例えば、サーバ装置100は、チャットボットBTとして提示された発話内容の一覧から、今後の出力を希望しない発話内容がいずれであるか第1の利用者にアンケートを取ってよい。この場合、第1の利用者は、例えば、他人には知られたくない事項を含むようなチャットボットBT発話内容を指定することができる。
【0139】
また、サーバ装置100は、第1の利用者のみ参加した専用チャットルームにおいて、第1の利用者が入力した発話内容のうち、今後のチャットルームでは出力されないことを希望する発話内容のフィードバックを第1の利用者から受け付けてよい。例えば、サーバ装置100は、第1の利用者が入力した発話内容の一覧から、チャットボットBTの発話内容に含まれないことを希望する発話内容がいずれであるか第1の利用者にアンケートを取ってよい。この場合、第1の利用者は、例えば、他人には知られたくない事項を含むような自身の発話内容を指定することができる。
【0140】
このように、生成部133は、今後のチャットルームでは出力されないことを希望する発話内容(チャットボットBTとして提示された発話内容のうち、今後のチャットルームでは出力されないことを希望する発話内容/第1の利用者が入力した発話内容のうち、今後のチャットルームでは出力されないことを希望する発話内容)のフィードバックが第1の利用者から受け付けられた場合には、このフィードバックに基づいて、発話内容を制御する。例えば、生成部133は、AIモデルに基づき生成した発話内容に、フィードバックで指定されるキーワードが含まれる場合には、このキーワードを含まないよう加工したうえで提示させてよい。
【0141】
この結果、サーバ装置100は、チャットボットBTを交えた対話に対する利用者の満足度を高めることができる。
【0142】
〔7-2.フィードバックに基づくボット発言の抑制(2)〕
また、学習部134は、これまで蓄積されたフィードバックから多くの第1の利用者が出力されないことを希望する発話内容の傾向をモデルに学習させてよい。一例として、学習部134は、第1の利用者の属性と、この属性を有する第1の利用者によるフィードバックとの組を学習データとして用いてモデルに学習させることができる。この場合、生成部133は、第1の利用者の属性と、学習済みのAIモデルとに基づいて、この第1の利用者が今回の対話では出力されないことを希望する発話内容を推定し、推定結果に応じた発話内容を生成してよい。
【0143】
この結果、サーバ装置100は、チャットボットBTを交えた対話に対する利用者の満足度を高めることができる。
【0144】
〔8.ハードウェア構成〕
次に、実施形態に係る情報処理装置(サーバ装置100)のハードウェア構成例について説明する。
図10は、実施形態に係る情報処理装置のハードウェア構成例を示すブロック図である。
図10を参照すると、情報処理装置は、例えば、プロセッサ801と、ROM802と、RAM803と、ホストバス804と、ブリッジ805と、外部バス806と、インターフェース807と、入力装置808と、出力装置809と、ストレージ810と、ドライブ811と、接続ポート812と、通信装置813と、を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
【0145】
(プロセッサ801)
プロセッサ801は、例えば、演算処理装置または制御装置として機能し、ROM802、RAM803、ストレージ810、またはリムーバブル記録媒体901に記録された各種プログラムに基づいて各構成要素の動作全般またはその一部を制御する。
【0146】
(ROM802、RAM803)
ROM802は、プロセッサ801に読み込まれるプログラムや演算に用いるデータなどを格納する手段である。RAM803には、例えば、プロセッサ801に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータなどが一時的または永続的に格納される。
【0147】
(ホストバス804、ブリッジ805、外部バス806、インターフェース807)
プロセッサ801、ROM802、RAM803は、例えば、高速なデータ伝送が可能なホストバス804を介して相互に接続される。一方、ホストバス804は、例えば、ブリッジ805を介して比較的データ伝送速度が低速な外部バス806に接続される。また、外部バス806は、インターフェース807を介して種々の構成要素と接続される。
【0148】
(入力装置808)
入力装置808には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、およびレバーなどが用いられる。さらに、入力装置808としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。また、入力装置808には、マイクロフォンなどの音声入力装置が含まれる。
【0149】
(出力装置809)
出力装置809は、例えば、CRT(Cathode Ray Tube)、LCD、または有機ELなどのディスプレイ装置、スピーカ、ヘッドホンなどのオーディオ出力装置、プリンタ、携帯電話、またはファクシミリなど、取得した情報を利用者に対して視覚的または聴覚的に通知することが可能な装置である。また、本実施形態に係る出力装置809は、触覚刺激を出力することが可能な種々の振動デバイスを含む。また、出力装置809は、AIスピーカやウェアラブルデバイスを含んでもよい。
【0150】
(ストレージ810)
ストレージ810は、各種のデータを格納するための装置である。ストレージ810としては、例えば、ハードディスクドライブ(HDD)などの磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどが用いられる。
【0151】
(ドライブ811)
ドライブ811は、例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体901に記録された情報を読み出し、またはリムーバブル記録媒体901に情報を書き込む装置である。
【0152】
(接続ポート812)
接続ポート812は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、または光オーディオ端子などのような外部接続機器902を接続するためのポートである。
【0153】
(通信装置813)
通信装置813は、ネットワークに接続するための通信デバイスであり、例えば、有線または無線LAN、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または各種通信用のモデムなどである。
【0154】
(リムーバブル記録媒体901)
リムーバブル記録媒体901は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディアなどである。もちろん、リムーバブル記録媒体901は、例えば、非接触型ICチップを搭載したICカード、または電子機器などであってもよい。
【0155】
(外部接続機器902)
外部接続機器902は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、またはICレコーダなどである。
【0156】
なお、実施形態に係る情報処理装置がサーバ装置100である場合、記憶部120は、ROM802やRAM803、ストレージ810によって実現される。また、プロセッサ801によって実現される制御部130が、入力受付部131と、対話制御部132と、生成部133と、学習部134とを実現する各制御プログラム(例えば、実施形態に係る情報処理プログラム)を、ROM802やRAM803などから読み出し実行する。
【0157】
〔9.その他〕
上記した各処理のうち、自動的に行われるものとして説明した処理の全部または一部は、手動的に行われてもよい。また、手動的に行われるものとして説明した処理の全部または一部は、公知の方法で自動的に行われてもよい。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られるものではない。
【0158】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されなくともよい。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。また、各構成要素は、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成してもよい。また、上記してきた各処理は、矛盾しない範囲で適宜組み合わせて実行されてもよい。
【0159】
以上、本願の実施形態をいくつかの図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【符号の説明】
【0160】
1 システム
10 第1の利用者装置
20 第2の利用者装置
100 サーバ装置
120 記憶部
121 シナリオ情報記憶部
122 参加者情報記憶部
123 対話履歴記憶部
124 学習データ記憶部
130 制御部
131 入力受付部
132 対話制御部
133 生成部
134 学習部