(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-16
(45)【発行日】2023-10-24
(54)【発明の名称】会話制御プログラム、会話制御方法および情報処理装置
(51)【国際特許分類】
G06F 21/62 20130101AFI20231017BHJP
【FI】
G06F21/62 345
(21)【出願番号】P 2022530399
(86)(22)【出願日】2020-06-09
(86)【国際出願番号】 JP2020022693
(87)【国際公開番号】W WO2021250778
(87)【国際公開日】2021-12-16
【審査請求日】2022-07-26
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】前川 貴宏
(72)【発明者】
【氏名】村岡 洋晃
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2019-207648(JP,A)
【文献】特開2005-234666(JP,A)
【文献】特開2019-170657(JP,A)
【文献】特開2018-200602(JP,A)
【文献】特許第6690796(JP,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
前記チャットボットでの会話内の第1の箇所と対応付けて、当該第1の箇所で受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を記録し、
情報処理端末から前記チャットボットでの会話内の前記第1の箇所において受け付けた入力情報を受信した場合、記録した前記回数に基づいて、受信した前記入力情報がマスキング処理対象の情報であるか否かを判断し、
前記マスキング処理対象の情報であると判断した場合に、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち、受信した前記入力情報をログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータに実行させることを特徴とする会話制御プログラム。
【請求項2】
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の会話制御プログラム。
【請求項3】
前記チャットボットでの会話において、入力情報のログへの記録を許可するか否かの問い合わせ情報を前記情報処理端末に出力する、処理を前記コンピュータに実行させ、
前記マスキング処理依頼は、前記情報処理端末において前記問い合わせ情報に対応してログへの記録を許可しない旨の操作が行われた場合に、前記情報処理端末から送信される、ことを特徴とする請求項2に記載の会話制御プログラム。
【請求項4】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信した場合、前記入力情報に個人特定情報が含まれるか否かを判定し、
前記個人特定情報が含まれると判定した場合、前記チャットボットでの会話において入力される情報に対するマスキング処理をレコメンドする情報を前記情報処理端末に出力する、
処理を前記コンピュータに実行させることを特徴とする請求項
2または3に記載の会話制御プログラム。
【請求項5】
入力された文字列が特定の単語であるか否かを分類するための機械学習モデルを用いて、情報処理端末におけるチャットボットでの会話において受け付けた入力情報に前記特定の単語が含まれるか否かを判定し、
前記入力情報に前記特定の単語が含まれると判定した場合、前記情報処理端末に注意喚起情報を出力する、
処理を前記コンピュータに実行させることを特徴とする請求項
2~4のいずれか一つに記載の会話制御プログラム。
【請求項6】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
前記入力情報を受信した場合、前記入力情報に個人特定情報が含まれるか否かを判定し、
前記個人特定情報が含まれると判定した場合、前記チャットボットでの会話において入力される情報に対するマスキング処理をレコメンドする情報を前記情報処理端末に出力し、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータに実行させることを特徴とする会話制御プログラム。
【請求項7】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
入力された文字列が特定の単語であるか否かを分類するための機械学習モデルを用いて、前記入力情報に前記特定の単語が含まれるか否かを判定し、
前記入力情報に前記特定の単語が含まれると判定した場合、前記情報処理端末に注意喚起情報を出力し、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータに実行させることを特徴とする会話制御プログラム。
【請求項8】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
前記チャットボットでの会話内の第1の箇所と対応付けて、当該第1の箇所で受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を記録し、
情報処理端末から前記チャットボットでの会話内の前記第1の箇所において受け付けた入力情報を受信した場合、記録した前記回数に基づいて、受信した前記入力情報がマスキング処理対象の情報であるか否かを判断し、
前記マスキング処理対象の情報であると判断した場合に、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち、受信した前記入力情報をログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータが実行することを特徴とする会話制御方法。
【請求項9】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
前記入力情報を受信した場合、前記入力情報に個人特定情報が含まれるか否かを判定し、
前記個人特定情報が含まれると判定した場合、前記チャットボットでの会話において入力される情報に対するマスキング処理をレコメンドする情報を前記情報処理端末に出力し、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータが実行することを特徴とする会話制御方法。
【請求項10】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
入力された文字列が特定の単語であるか否かを分類するための機械学習モデルを用いて、前記入力情報に前記特定の単語が含まれるか否かを判定し、
前記入力情報に前記特定の単語が含まれると判定した場合、前記情報処理端末に注意喚起情報を出力し、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータが実行することを特徴とする会話制御方法。
【請求項11】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信した場合、前記入力情報に基づく応答処理を実行する会話制御部と、
前記チャットボットでの会話内の第1の箇所と対応付けて、当該第1の箇所で受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を記録する計数部と、
情報処理端末から前記チャットボットでの会話内の前記第1の箇所において受け付けた入力情報を受信した場合、前記計数部が記録した前記回数に基づいて、受信した前記入力情報がマスキング処理対象の情報であるか否かを判断し、前記マスキング処理対象の情報であると判断した場合に、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち、受信した前記入力情報をログに記録しない又は秘匿化するマスキング処理を実行する記録制御部と、
を有することを特徴とする情報処理装置。
【請求項12】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信した場合、前記入力情報に基づく応答処理を実行する会話制御部と、
前記入力情報を受信した場合、前記入力情報に個人特定情報が含まれるか否かを判定する判定部と、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する記録制御部と、
を有し、
前記会話制御部は、
前記判定部が前記個人特定情報が含まれると判定した場合、前記チャットボットでの会話において入力される情報に対するマスキング処理をレコメンドする情報を前記情報処理端末に出力する、ことを特徴とする情報処理装置。
【請求項13】
情報処理端末からチャットボットでの会話において受け付けた入力情報を受信した場合、前記入力情報に基づく応答処理を実行する会話制御部と、
入力された文字列が特定の単語であるか否かを分類するための機械学習モデルを用いて、前記入力情報に前記特定の単語が含まれるか否かを判定する判定部と、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する記録制御部と、
を有し、
前記会話制御部は、
前記判定部が前記入力情報に前記特定の単語が含まれると判定した場合、前記情報処理端末に注意喚起情報を出力する、ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、会話制御プログラム、会話制御方法および情報処理装置に関する。
【背景技術】
【0002】
近年、チャットボットと呼ばれる技術を利用した自動応答システムを導入する企業が増えている。チャットボットは、人工知能を利用して、人間との対話やメッセージのやりとりを行うコンピュータシステムである。例えば、チャットボットと連携した双方向コミュニケーションを利用して、従来は人が対応していた窓口業務をチャットボットにより行う場合がある。
【0003】
先行技術としては、例えば、ユーザ端末から送信されたチャットデータをネットワークを介してチャットボットへ転送し、ユーザ端末から送信されたチャットデータが個人情報に関連する内容を含むことを検出した場合に、当該チャットデータに対して所定のフィルタ処理を実行するチャットシステムがある。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、チャットボットと連携した双方向コミュニケーションを利用したサービスを行うにあたり、個人を特定可能な情報の入力が必要となり、チャットボットを利用したサービスの利用の妨げとなる場合がある。
【0006】
一つの側面では、本発明は、チャットボットを利用したサービスの円滑な利用を図ることを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様では、情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、会話制御プログラムが提供される。
【発明の効果】
【0008】
本発明の一側面によれば、チャットボットを利用したサービスの円滑な利用を図ることができるという効果を奏する。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1にかかる会話制御システム100のシステム構成例を示す説明図である。
【
図2】
図2は、情報処理装置101のハードウェア構成例を示すブロック図である。
【
図3】
図3は、情報処理端末102のハードウェア構成例を示すブロック図である。
【
図4】
図4は、スクリプトテーブル130の記憶内容の一例を示す説明図である。
【
図5】
図5は、チャットログDB140の記憶内容の一例を示す説明図である。
【
図6】
図6は、スクリプトの具体例を示す説明図である。
【
図7】
図7は、チャット画面の画面例を示す説明図(その1)である。
【
図8】
図8は、実施の形態1にかかる情報処理装置101の機能的構成例を示すブロック図である。
【
図9】
図9は、チャット画面の画面例を示す説明図(その2)である。
【
図10】
図10は、情報処理装置101の動作例を示す説明図である。
【
図11】
図11は、実施の形態1にかかる情報処理装置101の会話制御処理手順の一例を示すフローチャート(その1)である。
【
図12】
図12は、実施の形態1にかかる情報処理装置101の会話制御処理手順の一例を示すフローチャート(その2)である。
【
図13】
図13は、実施の形態2にかかる情報処理装置101の機能的構成例を示すブロック図である。
【
図14】
図14は、回数カウンターテーブル1400の記憶内容の一例を示す説明図である。
【
図15】
図15は、実施の形態2にかかる情報処理装置101の第1の会話制御処理手順の一例を示すフローチャート(その1)である。
【
図16】
図16は、実施の形態2にかかる情報処理装置101の第1の会話制御処理手順の一例を示すフローチャート(その2)である。
【
図17】
図17は、実施の形態2にかかる情報処理装置101の第2の会話制御処理手順の一例を示すフローチャート(その1)である。
【
図18】
図18は、実施の形態2にかかる情報処理装置101の第2の会話制御処理手順の一例を示すフローチャート(その2)である。
【
図19】
図19は、実施の形態3にかかる情報処理装置101の機能的構成例を示すブロック図である。
【
図20】
図20は、個人特定情報マスタ2000の記憶内容の一例を示す説明図である。
【
図23】
図23は、チャット画面の画面例を示す説明図(その3)である。
【
図24】
図24は、チャット画面の画面例を示す説明図(その4)である。
【
図25】
図25は、実施の形態3にかかる情報処理装置101の第1の会話制御処理手順の一例を示すフローチャート(その1)である。
【
図26】
図26は、実施の形態3にかかる情報処理装置101の第1の会話制御処理手順の一例を示すフローチャート(その2)である。
【
図27】
図27は、実施の形態3にかかる情報処理装置101の第2の会話制御処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に図面を参照して、本発明にかかる会話制御プログラム、会話制御方法および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態1)
まず、実施の形態1にかかる情報処理装置101を含む会話制御システム100のシステム構成例について説明する。会話制御システム100は、例えば、チャットボットと連携した双方向コミュニケーションを利用したサービスを提供するコンピュータシステムに適用される。
【0012】
図1は、実施の形態1にかかる会話制御システム100のシステム構成例を示す説明図である。
図1において、会話制御システム100は、情報処理装置101と、複数の情報処理端末102(
図1の例では、3台)と、管理者端末103と、を含む。会話制御システム100において、情報処理装置101、情報処理端末102および管理者端末103は、有線または無線のネットワーク110を介して接続される。ネットワーク110は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0013】
ここで、情報処理装置101は、チャットボットの会話を制御するコンピュータである。情報処理装置101は、例えば、サーバである。情報処理装置101は、例えば、FAQマスタ120、スクリプトテーブル130およびチャットログDB(Database)140を有する。FAQマスタ120は、FAQ(Frequently Asked Question)を記憶する。
【0014】
FAQは、「頻繁に尋ねられる質問」の意味であり、あらかじめ予想される質問に対して、質問と回答とをまとめたものである。質問は、何らかの問題の解決方法を問うものであってもよく、また、話し言葉による問いかけであってもよい。回答は、質問された問題の解決方法を示す回答や、話し言葉による問いかけに対する回答などである。
【0015】
スクリプトテーブル130は、チャットボットの会話の流れを定義するスクリプトを記憶する。チャットボットでの会話は、スクリプトに従って行われる。チャットログDB140は、チャットログを記憶する。チャットログは、ユーザとチャットボットとの会話に関する会話履歴である。
【0016】
なお、スクリプトテーブル130およびチャットログDB140の記憶内容については、
図4および
図5を用いて後述する。
【0017】
情報処理端末102は、ユーザがチャットボットでの会話を行う際に利用するコンピュータである。情報処理端末102は、例えば、スマートフォン、タブレットPC(Personal Computer)、PCなどである。また、情報処理端末102は、駅、空港、店舗、商業施設などに設置されるデジタルボードであってもよい。
【0018】
情報処理端末102において、ユーザは、例えば、メッセージを入力したり、選択肢を選択したりすることで、チャットボットと対話しながら所望の回答を探したり、オンライン手続きをしたりすることができる。オンライン手続きは、オンラインで行う手続きである。オンライン手続きとしては、例えば、金融機関が提供する口座開設、残高照会、振り込みなどの手続きや、通信キャリアが提供する通信サービスのプラン変更、機種変更などの手続きがある。
【0019】
管理者端末103は、会話制御システム100の管理者が使用するコンピュータである。会話制御システム100の管理者は、例えば、チャットボットの会話の流れを定義するスクリプトの設計者である。管理者端末103は、例えば、PCである。管理者端末103において、管理者は、例えば、スクリプトの設計、変更や、各種しきい値の設定などを行うことができる。
【0020】
なお、図示は省略するが、会話制御システム100にはオペレータ端末が含まれていてもよい。オペレータ端末は、オペレータが使用するコンピュータである。オペレータは、チャットボット対応から有人対応の会話に切り替えた場合に、ユーザへの対応を行う者である。例えば、オペレータは、オペレータ端末の電話機能や、テキストコミュニケーションなどを利用して、ユーザとやり取りすることができる。
【0021】
ここで、チャットボットと連携した双方向コミュニケーションを利用したサービスにおいて、個人を特定可能な情報の入力を求められることがある。例えば、何らかの相談を行うにあたり、氏名や住所などの個人を特定可能な情報の入力を求められることがある。この場合、誰がどのような相談を行ったのかを特定することが可能となる。
【0022】
ITリテラシーの高いユーザは、入力した情報がサーバ上にログとして記録されることを知っており、それらの情報がマーケティングや商品レコメンデーションに活用される可能性があることを認識していることが多い。自身の情報が活用されることを嫌ったユーザは、情報の入力を求められると、サービスの利用をやめてしまうおそれがある。
【0023】
なお、ユーザにとって知られたくない可能性がある情報は全てログに記録しないようにすることも考えられる。しかし、事業者側は、データを受け取って活用したいのが実情であり、ユーザにとって知られたくない可能性がある情報を一律に記録しないようにすることは望ましくない。
【0024】
そこで、実施の形態1では、情報処理装置101は、チャットボットでの会話において受け付けた入力情報を受信すると、入力情報に基づく応答処理を実行し、入力情報のマスキング処理依頼を受信した場合は、チャットボットでの会話に関するログを記録する際に、会話に関するログのうち入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する。これにより、ユーザが安心してサービスを利用できるように、ユーザ自身がログへの記録をコントロール可能にして、チャットボットを利用したサービスの円滑な利用を図る会話制御方法について説明する。
【0025】
(情報処理装置101のハードウェア構成例)
つぎに、情報処理装置101のハードウェア構成例について説明する。
【0026】
図2は、情報処理装置101のハードウェア構成例を示すブロック図である。
図2において、情報処理装置101は、CPU(Central Processing Unit)201と、メモリ202と、ディスクドライブ203と、ディスク204と、通信I/F(Interface)205と、可搬型記録媒体I/F206と、可搬型記録媒体207と、を有する。また、各構成部は、バス200によってそれぞれ接続される。
【0027】
ここで、CPU201は、情報処理装置101の全体の制御を司る。CPU201は、複数のコアを有していてもよい。メモリ202は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU201のワークエリアとして使用される。メモリ202に記憶されるプログラムは、CPU201にロードされることで、コーディングされている処理をCPU201に実行させる。
【0028】
ディスクドライブ203は、CPU201の制御に従ってディスク204に対するデータのリード/ライトを制御する。ディスク204は、ディスクドライブ203の制御で書き込まれたデータを記憶する。ディスク204としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0029】
通信I/F205は、通信回線を通じてネットワーク110に接続され、ネットワーク110を介して外部のコンピュータ(例えば、
図1に示した情報処理端末102、管理者端末103)に接続される。そして、通信I/F205は、ネットワーク110と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F205には、例えば、モデムやLANアダプタなどを採用することができる。
【0030】
可搬型記録媒体I/F206は、CPU201の制御に従って可搬型記録媒体207に対するデータのリード/ライトを制御する。可搬型記録媒体207は、可搬型記録媒体I/F206の制御で書き込まれたデータを記憶する。可搬型記録媒体207としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0031】
なお、情報処理装置101は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、情報処理装置101は、上述した構成部のうち、例えば、ディスクドライブ203、ディスク204、可搬型記録媒体I/F206、可搬型記録媒体207を有していなくてもよい。
【0032】
(情報処理端末102のハードウェア構成例)
つぎに、情報処理端末102のハードウェア構成例について説明する。
【0033】
図3は、情報処理端末102のハードウェア構成例を示すブロック図である。
図3において、情報処理端末102は、CPU301と、メモリ302と、ディスプレイ303と、入力装置304と、通信I/F305と、カメラ306と、スピーカ307と、マイクロフォン308と、GPS(Global Positioning System)ユニット309と、を有する。また、各構成部はバス300によってそれぞれ接続される。
【0034】
ここで、CPU301は、情報処理端末102の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM、RAMおよびフラッシュROMなどを有する記憶部である。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0035】
ディスプレイ303は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。ディスプレイ303としては、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどを採用することができる。
【0036】
入力装置304は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置304は、タッチパネル式の入力パッドやテンキーなどであってもよく、また、キーボードやマウスなどであってもよい。
【0037】
通信I/F305は、通信回線を通じてネットワーク110に接続され、ネットワーク110を介して外部のコンピュータ(例えば、情報処理装置101)に接続される。そして、通信I/F305は、ネットワーク110と自装置内部とのインターフェースを司り、外部装置からのデータの入出力を制御する。
【0038】
カメラ306は、画像(静止画または動画)を撮影して画像データを出力する撮影装置である。スピーカ307は、電気信号を音声に変換して、音声を出力する。マイクロフォン308は、音声を受音して電気信号に変換する。
【0039】
GPSユニット309は、GPS衛星からの電波を受信し、情報処理端末102の位置情報を出力する。情報処理端末102の位置情報は、例えば、緯度、経度などの地球上の1点を特定する情報である。また、衛星として、例えば、準天頂衛星システムの衛星を用いることにしてもよい。
【0040】
なお、情報処理端末102は、上述した構成部のほかに、例えば、HDD(Hard Disk Drive)、SSD、近距離無線通信I/F、可搬型記録媒体I/F、可搬型記録媒体などを有することにしてもよい。また、
図1に示した管理者端末103についても、情報処理端末102と同様のハードウェア構成により実現することができる。
【0041】
(スクリプトテーブル130の記憶内容)
つぎに、
図4を用いて、情報処理装置101が有するスクリプトテーブル130の記憶内容について説明する。スクリプトテーブル130は、例えば、
図2に示したメモリ202、ディスク204などの記憶装置により実現される。
【0042】
図4は、スクリプトテーブル130の記憶内容の一例を示す説明図である。
図4において、スクリプトテーブル130は、サービスおよびスクリプトのフィールドを有し、各フィールドに情報を設定することで、スクリプト管理情報400-1~400-nをレコードとして記憶する。
【0043】
ここで、サービスは、チャットボットと連携した双方向コミュニケーションを利用したサービスを示す。ここでは、サービスを識別する手続きID(例えば、A1,A2)のみ表記している。サービスとしては、例えば、チャットボットと連携した双方向コミュニケーションを利用して、健康、進学、キャリアアップなどの相談を行ったり、各種のオンライン手続きを行ったりするものがある。
【0044】
スクリプトは、チャットボットの会話の流れを定義した情報(シナリオ)であり、サービスに対応付けて用意される。ただし、ここでは、スクリプトを識別するスクリプトID(例えば、S1,S2)のみ表記している。例えば、スクリプト管理情報400-1は、サービスA1に対応するスクリプトS1を示す。
【0045】
(チャットログDB140の記憶内容)
つぎに、
図5を用いて、情報処理装置101が有するチャットログDB140の記憶内容について説明する。チャットログDB140は、例えば、
図2に示したメモリ202、ディスク204などの記憶装置により実現される。
【0046】
図5は、チャットログDB140の記憶内容の一例を示す説明図である。
図5において、チャットログDB140は、chat_id、talklog_id、time stamp、script、labelおよびmessageのフィールドを有する。各フィールドに情報を設定することで、チャットログ(例えば、チャットログ500-1~500-5)がレコードとして記憶される。
【0047】
ここで、chat_idは、チャットを行うルームのIDを示す。chat_idによれば、チャットボットでの一連の会話を特定することができる。talklog_idは、チャットログを識別する識別子である。time stampは、スクリプトに定義されたトーク処理(ステップ)が実行された日時(GMT+9時間)を示す。GMTは、Greenwich Mean Timeである。
【0048】
トーク処理は、チャットボットの動作(挙動)を実現するための処理である。例えば、トーク処理は、発話する処理、選択肢を表示する処理、ユーザ操作に応じて選択肢を選択する処理、選択された選択肢や入力された情報に応じた手続を行う処理、トーク処理を終了する処理などを含む。
【0049】
scriptは、チャットボットでの会話に適用されたスクリプト(シナリオ)を示す。labelは、スクリプト内の複数のステップのうちトーク処理が実行されたステップの名前を示す。messageは、実行されたトーク処理で発話された文章、選択された選択肢、入力された情報、あるいは、システム側の処理内容、エラーメッセージなどを示す。
【0050】
例えば、チャットログ500-2は、chat_id「100」、talklog_id「15044」およびtime stamp「2020-01-08T14:25:43+09:00」のログである。チャットログ500-2によれば、script「S10」のlabel「VRB-1」のトーク処理(ステップ)が実行されて、message「お名前を教えてください。」が表示されたことを特定することができる。
【0051】
なお、チャットログには、例えば、システムログであるか否かを示す情報や、チャットボットまたはユーザのいずれに関するログであるかを示す情報が含まれていてもよい。また、チャットログには、例えば、ユーザが使用する情報処理端末102のIP(Internet Protocol)アドレスが含まれていてもよい。
【0052】
ここで、
図6を用いて、スクリプトの具体例について説明する。ここでは、サービスA100に対応するスクリプトS100を例に挙げて説明する。
【0053】
図6は、スクリプトの具体例を示す説明図である。
図6において、スクリプトS100は、チャットボットの会話の流れを定義した情報(シナリオ)である。ただし、
図6では、スクリプトS100の一部を抜粋して表示している。具体的には、例えば、スクリプトS100は、チャットのトーク処理を定義した情報である。
【0054】
スクリプトS100は、ステップ601~605を含む。ここで、ステップ601は、トーク処理の開始を示す。ステップ602,603は、メッセージを発話する処理を示す。ステップ604は、選択肢を表示する処理を示す。ステップ605は、トーク処理の終了を示す。
【0055】
なお、複数のステップに同一のlabel(
図5参照)が設定されることがある。例えば、ステップ602,603には、同一の「VRB-1」が設定される。また、図示は省略するが、スクリプトS100には、ステップ601~605のほかに、例えば、選択された選択肢や入力された情報に応じた手続やFAQの検索を行う処理などを実行するステップが含まれる。
【0056】
(チャット画面の画面例)
つぎに、情報処理端末102のディスプレイ303(
図3)に表示されるチャット画面の画面例について説明する。
【0057】
図7は、チャット画面の画面例を示す説明図(その1)である。
図7において、チャット画面700は、情報処理端末102におけるチャットボットでの会話を表示する操作画面の一例である。
図7中、アバターavは、チャットボットを表すキャラクターである。
【0058】
チャット画面700において、例えば、
図3に示した入力装置304を用いたユーザの操作入力により、ボックス710を選択することで、メッセージを入力することができる。メッセージの入力は、例えば、
図3に示したマイクロフォン308を用いた音声入力により行われることにしてもよい。また、チャット画面700において、送信ボタン711を選択することで、ボックス710に入力されたメッセージをチャットボット側(情報処理装置101)に送信することができる。
【0059】
チャット画面700には、アバターavの発言を表すメッセージm1が表示されている。メッセージm1は、ユーザの名前の入力を促すメッセージの一例である。また、チャット画面700には、ユーザの発言を表すメッセージm2が表示されている。メッセージm2は、アバターavのメッセージm1に対して入力された名前の一例である。
【0060】
また、チャット画面700には、秘密ボタン720が表示されている。秘密ボタン720は、入力情報のログへの記録を許可するか否かを問い合わせる情報の一例である。入力情報は、チャットボットでの会話において、入力された情報や、選択された選択肢を示す情報である。
【0061】
チャット画面700において、例えば、ユーザの操作入力により、秘密ボタン720を選択すると、オフレコモードを設定することができる。オフレコモードとは、チャットボットでの会話に関するログ(チャットログ)を記録する際に、入力情報をログに記録しない、または、秘匿化するモードである。
【0062】
これにより、チャットボットでの会話において入力される情報のうち、ログに記録しない、または、秘匿化する情報をユーザ自身がコントロールすることが可能となる。
【0063】
(情報処理装置101の機能的構成例)
図8は、実施の形態1にかかる情報処理装置101の機能的構成例を示すブロック図である。
図8において、情報処理装置101は、受付部801と、会話制御部802と、記録制御部803と、を含む。具体的には、例えば、受付部801~記録制御部803は、
図2に示したメモリ202、ディスク204、可搬型記録媒体207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、通信I/F205により、その機能を実現する。各機能部の処理結果は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
【0064】
受付部801は、情報処理端末102からチャットの開始指示を受け付ける。ここで、チャットの開始指示は、ユーザとチャットボットとの会話を開始するためのものであり、例えば、チャットボットを利用したサービスの開始を要求するものである。チャットの開始指示には、例えば、サービスIDが含まれる。
【0065】
例えば、チャットの開始指示は、情報処理端末102においてユーザの操作入力により行われ、情報処理端末102から情報処理装置101に送信される。具体的には、例えば、受付部801は、情報処理端末102からチャットの開始指示を受信することにより、チャットの開始指示を受け付ける。
【0066】
会話制御部802は、情報処理端末102からのチャットの開始指示に応じて、情報処理端末102におけるチャットボットでの会話を開始する。具体的には、例えば、会話制御部802は、
図4に示したスクリプトテーブル130を参照して、チャットの開始指示に含まれるサービスIDに対応するスクリプトを特定する。
【0067】
つぎに、会話制御部802は、特定したスクリプトを、情報処理端末102におけるチャットボットの会話に適用するトークスクリプトに決定する。そして、会話制御部802は、決定したトークスクリプトを用いて、情報処理端末102におけるサービスに関するチャットを開始する。
【0068】
例えば、チャットの開始指示にサービスID「A1」が含まれるとする。この場合、会話制御部802は、スクリプトテーブル130を参照して、サービスID「A1」に対応するスクリプトS1をトークスクリプトに決定する。そして、会話制御部802は、決定したトークスクリプトS1を用いて、情報処理端末102におけるサービスS1に関するチャットボットでの会話を開始する。
【0069】
なお、会話制御部802は、情報処理端末102からのチャットの開始指示に応じて、あらかじめ決められたスクリプトをトークスクリプトに決定することにしてもよい。また、会話制御部802は、例えば、情報処理端末102のユーザ属性や外部環境に基づいて、トークスクリプトを決定することにしてもよい。ユーザ属性は、情報処理端末102のユーザの特徴を表す情報である。ユーザ属性は、例えば、年代、性別、使用言語などを表す。外部環境は、情報処理端末102の外部の環境を表す情報である。外部環境は、例えば、天気、温度、湿度、時間、位置などを表す。
【0070】
会話制御部802は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信した場合、入力情報に基づく応答処理を実行する。ここで、入力情報は、チャットボットでの会話において、例えば、
図3に示した入力装置304を用いたユーザの操作により入力された情報である。また、入力情報は、チャットボットでの会話において、ユーザの操作により選択された選択肢を示す情報であってもよい。
【0071】
入力情報に基づく応答処理は、例えば、チャットボットでの会話において入力された情報に応じてFAQを検索して結果を出力する処理である。FAQの検索は、例えば、
図1に示したFAQマスタ120を用いて行われる。また、入力情報に基づく応答処理は、チャットボットでの会話において入力された情報に応じた手続を行う処理であってもよい。
【0072】
記録制御部803は、会話制御部802によって情報処理端末102におけるチャットボットでの会話が開始された結果、チャットボットでの会話に関するログを記録する。具体的には、例えば、記録制御部803は、ユーザまたはチャットボットが発言したり、システムの内部処理が行われたりすると、チャットログを記録する。チャットボットでの会話において受け付けた入力情報は、例えば、チャットログのmessageに含まれる(
図5参照)。
【0073】
また、記録制御部803は、情報処理端末102からチャットボットでの会話において受け付けた入力情報のマスキング処理依頼を受信した場合は、チャットボットでの会話に関するログを記録する際に、入力情報に対するマスキング処理を実行する。ここで、マスキング処理依頼は、マスキング処理の実行を依頼するものである。
【0074】
マスキング処理は、チャットボットでの会話に関するログのうち入力情報に関するログに記録しない又は秘匿化する処理である。ログに記録しないとは、例えば、messageに入力情報を設定せず、messageを空(カラ)とするチャットログを作成することであってもよい。また、ログに記録しないとは、messageに入力情報を設定したチャットログを一旦作成した後、そのチャットログから入力情報を削除することであってもよい。
【0075】
秘匿化とは、例えば、入力情報を類推不能な情報に変換することである。類推不能な情報は、例えば、アスタリスク(*)や墨塗などである。秘匿化するとは、入力情報を類推不能な情報に変換してからmessageに設定することであってもよく、また、messageに設定した入力情報を類推不能な情報に変換することであってもよい。
【0076】
なお、情報処理装置101は、例えば、チャットボットでの会話において、入力情報およびマスキング処理依頼を同時に受信することにしてもよい。また、情報処理装置101は、入力情報を受信した後に、その入力情報のマスキング処理依頼を受信することにしてもよい。また、情報処理装置101は、マスキング処理依頼を受信した後に、マスキング処理対象の情報となる入力情報を受信することにしてもよい。
【0077】
具体的には、例えば、会話制御部802は、チャットボットでの会話において、入力情報のログへの記録を許可するか否かの問い合わせ情報を、情報処理端末102に出力する。マスキング処理依頼は、例えば、情報処理端末102において問い合わせ情報に対応してログへの記録を許可しない旨の操作が行われた場合に、情報処理端末102から送信される。
【0078】
問い合わせ情報は、入力情報のログへの記録を許可するか否かを問い合わせるためのメッセージやアイコンなどであり、例えば、
図7に示した秘密ボタン720である。より詳細に説明すると、例えば、情報処理端末102におけるチャットボットでの会話を開始するにあたり、秘密ボタン720を含むチャット画面700を、情報処理端末102に表示させる。
【0079】
チャット画面700において、ユーザの操作入力により、秘密ボタン720が選択されると、情報処理端末102から情報処理装置101にオフレコ設定指示が送信される。オフレコ設定指示は、マスキング処理依頼に相当する。記録制御部803は、情報処理端末102からオフレコ設定指示を受信すると、オフレコモードを設定(ON)する。
【0080】
オフレコモードとは、チャットボットでの会話に関するログ(チャットログ)を記録する際に、入力情報をログに記録しない、または、秘匿化するモードである。すなわち、オフレコモードでは、ユーザの発言がマスキング処理対象の情報として、ログに記録されない、あるいは、秘匿化してログに記録される。
【0081】
具体的には、例えば、記録制御部803は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信した場合に、オフレコモードが設定されているか否かを判断する。ここで、オフレコモードが設定されていない場合、記録制御部803は、チャットログを記録する際に、受信した入力情報に対するマスキング処理を実行しない。
【0082】
一方、オフレコモードが設定されている場合、記録制御部803は、チャットログを記録する際に、受信した入力情報に対するマスキング処理を実行する。より詳細に説明すると、例えば、記録制御部803は、チャットボットでの会話に関するチャットログのうち、受信した入力情報に関するチャットログから当該入力情報を削除してもよく、また、受信した入力情報に関するチャットログにおける当該入力情報をアスタリスク、墨塗などの類推不能な情報に変換して秘匿化してもよい。
【0083】
なお、ここでは、マスキング処理対象の情報の入力前に秘密ボタン720を押す場合を例に挙げて説明したが、これに限らない。例えば、マスキング処理対象の情報の入力後に秘密ボタン720を押すことにしてもよい。この場合、記録制御部803は、オフレコ設定指示(マスキング処理依頼)を受信した後に受信される入力情報に対するマスキング処理を実行する。
【0084】
また、チャットボットでの会話において受け付けた入力情報のうちの一部の情報を、マスキング処理対象の情報として指定可能であってもよい。例えば、チャット画面700において、入力装置304を用いたユーザの操作入力により、ボックス710に入力されたメッセージのうちの一部の情報を、マスキング処理対象の情報として指定可能であってもよい。この場合、記録制御部803は、例えば、受信した入力情報のうち、マスキング処理対象の情報として指定された情報(例えば、住所の一部)に対するマスキング処理を実行することにしてもよい。入力情報のうち指定された情報以外の情報は、例えば、そのままログに記録される。
【0085】
また、チャットログは、
図5に示したチャットログDB140に記録される。具体的には、例えば、チャットボットでの会話中に記録されたチャットログは、例えば、メモリ202内のバッファに一旦格納される。チャットボットでの会話が終了すると、バッファ内の全チャットログが、チャットログDB140に出力される。
図5に示したチャットログ500-1は、マスキング処理された入力情報を含むログの一例である。
【0086】
また、例えば、チャット画面700において、マスキング処理対象外の情報として既に入力済みの情報について、チャットボットでの会話が終了する前に、マスキング処理対象の情報として追加で指定可能にしてもよい。この場合、記録制御部803は、例えば、メモリ202内のバッファに一旦格納されたログのうち、追加で指定されたマスキング処理対象の情報を含むログから当該情報を削除したり秘匿化したりするマスキング処理を実行する。
【0087】
上述した情報処理装置101の各機能部は、会話制御システム100内の複数のコンピュータ(例えば、情報処理装置101と情報処理端末102)により実現されることにしてもよい。また、上述した情報処理装置101の各機能部は、情報処理端末102により実現されることにしてもよい。
【0088】
(情報処理装置101の動作例)
つぎに、
図9および
図10を用いて、実施の形態1にかかる情報処理装置101の動作例について説明する。ここでは、チャットボットと連携した双方向コミュニケーションを利用して、健康相談を行う場合に表示されるチャット画面を例に挙げて説明する。
【0089】
図9は、チャット画面の画面例を示す説明図(その2)である。
図10は、情報処理装置101の動作例を示す説明図である。
図9において、チャット画面700には、アバターavの発言を表すメッセージm3が表示されている。メッセージm3は、ユーザの相談内容の入力を促すメッセージの一例である。
【0090】
ここでは、ユーザの相談内容の入力に先立って、ユーザの名前「富士太郎」が入力されている。名前「富士太郎」は、個人を特定可能な情報である。このため、メッセージm3に対してユーザの相談内容を入力されると、誰がどのような相談をしたのかを特定可能な情報がログに記録されてしまう。
【0091】
ここで、ユーザが自身の相談内容をログに残したくないと判断したため、チャット画面700において、秘密ボタン720が選択された場合を想定する。この場合、情報処理端末102から情報処理装置101にオフレコ設定指示が送信され、オフレコモードが設定(ON)される。
【0092】
なお、秘密ボタン720が選択されると、例えば、オフレコモードが設定中であることを判別可能に秘密ボタン720の表示態様が変更される(例えば、
図10参照)。また、秘密ボタン720が選択されると、例えば、オフレコモードが設定中であることを示すアイコンが表示されることにしてもよい。
【0093】
また、チャット画面700において、秘密ボタン720が選択された後、秘密ボタン720が再度選択されると、例えば、情報処理端末102から情報処理装置101にオフレコ解除指示が送信され、オフレコモードが解除(OFF)される。また、オフレコモードは、情報処理端末102から情報処理装置101に入力情報が送信されると、その都度、自動で解除されることにしてもよい。
【0094】
図10において、チャット画面700には、ユーザの発言を表すメッセージm4が表示されている。メッセージm4は、アバターavのメッセージm3に対して入力された相談内容の一例である。入力されたメッセージm4は、情報処理端末102から情報処理装置に送信される。
【0095】
情報処理装置101は、例えば、メッセージm4を受信すると、FAQマスタ120を参照して、メッセージm4に基づいてFAQの検索を行う。そして、情報処理装置101は、検索した結果を情報処理端末102に出力する。この結果、チャット画面700において、アバターavの発言として、例えば、検索された結果(不図示)が選択可能に表示される。
【0096】
これにより、ユーザは、自身が入力した相談内容(質問)に対する回答(FAQ)を得ることができる。
【0097】
また、ここでは、オフレコモードが設定されている。このため、情報処理装置101は、チャットボットでの会話において受け付けたメッセージm4に関するチャットログを記録する際に、メッセージm4に対するマスキング処理を実行する。
【0098】
具体的には、例えば、情報処理装置101は、受信したメッセージm4を削除したチャットログ500-5を記録する。チャットログ500-5のmessage「***deleted***」は、入力情報が削除されたことを示している。なお、
図10では、チャットログの一部を抜粋して表示している。
【0099】
(情報処理装置101の会話制御処理手順)
つぎに、
図11および
図12を用いて、実施の形態1にかかる情報処理装置101の会話制御処理手順について説明する。
【0100】
図11および
図12は、実施の形態1にかかる情報処理装置101の会話制御処理手順の一例を示すフローチャートである。
図11のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットの開始指示を受信したか否かを判断する(ステップS1101)。
【0101】
ここで、情報処理装置101は、チャットの開始指示を受信するのを待つ(ステップS1101:No)。情報処理装置101は、チャットの開始指示を受信した場合(ステップS1101:Yes)、スクリプトテーブル130を参照して、受信したチャットの開始指示に含まれるサービスIDに対応するスクリプトを、トークスクリプトに決定する(ステップS1102)。
【0102】
そして、情報処理装置101は、決定したトークスクリプトを用いて、情報処理端末102におけるチャットボットでの会話を開始する(ステップS1103)。この際、情報処理装置101は、入力情報のログへの記録を許可するか否かの問い合わせ情報を、情報処理端末102に出力する。問い合わせ情報は、例えば、
図7に示した秘密ボタン720である。
【0103】
つぎに、情報処理装置101は、情報処理端末102からオフレコ設定指示を受信したか否かを判断する(ステップS1104)。ここで、情報処理端末102からオフレコ設定指示を受信した場合(ステップS1104:Yes)、情報処理装置101は、オフレコモードをONにして(ステップS1105)、
図12に示すステップS1201に移行する。
【0104】
一方、情報処理端末102からオフレコ設定指示を受信していない場合(ステップS1104:No)、情報処理装置101は、情報処理端末102からオフレコ解除指示を受信したか否かを判断する(ステップS1106)。
【0105】
ここで、情報処理端末102からオフレコ解除指示を受信していない場合(ステップS1106:No)、情報処理装置101は、
図12に示すステップS1201に移行する。一方、情報処理端末102からオフレコ解除指示を受信した場合には(ステップS1106:Yes)、情報処理装置101は、オフレコモードをOFFにして(ステップS1107)、
図12に示すステップS1201に移行する。
【0106】
図12のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信したか否かを判断する(ステップS1201)。ここで、入力情報を受信していない場合(ステップS1201:No)、情報処理装置101は、ステップS1206に移行する。
【0107】
一方、入力情報を受信した場合(ステップS1201:Yes)、情報処理装置101は、受信した入力情報に基づく応答処理を実行する(ステップS1202)。つぎに、情報処理装置101は、オフレコモードがONであるか否かを判断する(ステップS1203)。
【0108】
ここで、オフレコモードがONの場合(ステップS1203:Yes)、情報処理装置101は、受信した入力情報に対するマスキング処理を実行して、入力情報がマスキングされたチャットログを出力し(ステップS1204)、ステップS1206に移行する。
【0109】
一方、オフレコモードがOFFの場合には(ステップS1203:No)、情報処理装置101は、受信した入力情報を含むチャットログを出力する(ステップS1205)。そして、情報処理装置101は、情報処理端末102におけるチャットボットでの会話を終了するか否かを判断する(ステップS1206)。
【0110】
ここで、会話を終了しない場合(ステップS1206:No)、情報処理装置101は、
図11に示したステップS1104に戻る。一方、会話を終了する場合(ステップS1206:Yes)、情報処理装置101は、本フローチャートによる一連の処理を終了する。なお、チャットボットでの会話は、例えば、トークスクリプトに従って、または、ユーザの強制終了操作に応じて終了する。
【0111】
これにより、情報処理端末102からオフレコ設定指示に応じて、チャットボットでの会話において受け付けた入力情報をマスキング処理してログ出力することができる。
【0112】
以上説明したように、実施の形態1にかかる情報処理装置101によれば、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信し、入力情報に基づく応答処理を実行することができる。また、情報処理装置101によれば、入力情報のマスキング処理依頼を受信した場合は、チャットボットでの会話に関するログを記録する際に、当該会話に関するログのうち入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行することができる。
【0113】
これにより、ユーザからのマスキング処理依頼に応じて、チャットボットでの会話において受け付けた入力情報に基づく応答処理(例えば、FAQの検索など)を実行しつつ、その入力情報をログに残さないようにすることができる。
【0114】
また、情報処理装置101によれば、チャットボットでの会話において、入力情報のログへの記録を許可するか否かの問い合わせ情報を情報処理端末102に出力することができる。そして、情報処理装置101によれば、情報処理端末102において問い合わせ情報に対応してログへの記録を許可しない旨の操作が行われた場合に、情報処理端末102からマスキング処理依頼を受信することができる。
【0115】
これにより、チャットボットでの会話において、例えば、ユーザが情報の入力前に秘密ボタン720(例えば、
図7参照)を押すという簡単な操作を行うだけで、入力した情報をログに残さないようにすることが可能となる。
【0116】
このように、情報処理装置101によれば、チャットボットでの会話において入力した情報のログへの記録をユーザ自身がコントロールすることが可能となる。これにより、ユーザにとって知られたくないような情報の入力をともなうサービスを利用する際の不安を解消することができる。また、たとえ入力情報をマスクしても、トークスクリプト(シナリオ)のどのステップを実行したかの情報はログに残るため、事業者側の動線分析などに役立てることができる。
【0117】
(実施の形態2)
つぎに、実施の形態2にかかる情報処理装置101について説明する。実施の形態2では、情報処理装置101は、チャットボットでの会話において情報が入力される箇所と対応付けて、当該箇所で受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を記録する。そして、情報処理装置101は、記録した回数に基づいて、当該箇所において受け付けた入力情報がマスキング処理対象の情報であるか否かを判断する場合について説明する。なお、実施の形態1で説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
【0118】
(情報処理装置101の機能的構成例)
まず、
図13を用いて、実施の形態2にかかる情報処理装置101の機能的構成例について説明する。
【0119】
図13は、実施の形態2にかかる情報処理装置101の機能的構成例を示すブロック図である。
図13において、情報処理装置101は、受付部801と、会話制御部802と、記録制御部803と、計数部1301と、を含む。具体的には、例えば、受付部801~記録制御部803および計数部1301は、
図2に示したメモリ202、ディスク204、可搬型記録媒体207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、通信I/F205により、その機能を実現する。各機能部の処理結果は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
【0120】
以下、実施の形態2にかかる情報処理装置101の機能部のうち、実施の形態1にかかる情報処理装置101の機能部と異なる部分について説明する。
【0121】
計数部1301は、チャットボットでの会話内の第1の箇所と対応付けて、第1の箇所で受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を記録する。ここで、第1の箇所は、チャットボットでの会話において情報が入力される箇所である。
【0122】
例えば、第1の箇所は、スクリプト内の複数のステップのうち、情報の入力や、選択肢の選択を受け付けて、入力された情報や、選択された選択肢を示す情報を発話するトーク処理が実行されるステップである。第1の箇所に対応する回数は、例えば、
図14に示すような回数カウンターテーブル1400に記憶される。
【0123】
ここで、回数カウンターテーブル1400の記憶内容について説明する。回数カウンターテーブル1400は、例えば、
図2に示したメモリ202、ディスク204などの記憶装置により実現される。
【0124】
図14は、回数カウンターテーブル1400の記憶内容の一例を示す説明図である。
図14において、回数カウンターテーブル1400は、script、labelおよび回数のフィールドを有し、各フィールドに情報を設定することで、回数情報(例えば、回数情報1400-1~1400-4)をレコードとして記憶する。
【0125】
ここで、scriptは、チャットボットでの会話に適用されたスクリプト(シナリオ)を示す。labelは、スクリプト内の複数のステップのうちトーク処理が実行されたステップの名前を示す。回数は、ステップで受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を示す。
【0126】
例えば、回数情報1400-1は、スクリプトP100内のlabel「VRB-1」のステップで受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数「5」を示す。
【0127】
一例として、トークスクリプトP100に基づくチャットボットでの会話において、label「VRB-1」のステップで受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した場合を想定する。この場合、計数部1301は、回数カウンターテーブル1400内のscript「P100」およびlabel「VRB-1」に対応する回数情報1400-1の回数をインクリメントする。
【0128】
記録制御部803は、情報処理端末102からチャットボットでの会話内の第1の箇所において受け付けた入力情報を受信した場合、第1の箇所と対応付けて記録された回数に基づいて、受信した入力情報がマスキング処理対象の情報であるか否かを判断する。ここで、マスキング処理対象の情報とは、チャットボットでの会話に関するログを記録する際に、ログに記録しない又は秘匿化する情報である。
【0129】
具体的には、例えば、記録制御部803は、第1の箇所と対応付けて記録された回数が第1のしきい値以上の場合に、受信した入力情報がマスキング処理対象の情報であると判断する。第1のしきい値は、任意に設定可能であり、例えば、第1の箇所に対応する回数を記録した期間長に応じて設定される。
【0130】
一例として、第1の箇所に対応する回数を、1日の期間記録した場合を想定する。この場合、第1のしきい値は、例えば、10程度の値に設定される。また、第1の箇所に対応する回数を、1週間の期間記録した場合を想定する。この場合、第1のしきい値は、例えば、100程度の値に設定される。
【0131】
また、記録制御部803は、第1の箇所において受け付けた入力情報を受信した総回数に対する、記録した回数の割合が第2のしきい値以上の場合に、受信した入力情報がマスキング処理対象の情報であると判断することにしてもよい。第2のしきい値は、任意に設定可能であり、例えば、0.6(60%)~0.8(80%)程度の値に設定される。
【0132】
ここで、マスキング処理対象の情報であると判断した場合、記録制御部803は、チャットボットでの会話に関するログを記録する際に、受信した入力情報に対するマスキング処理を実行する。一方、マスキング処理対象の情報ではないと判断した場合、記録制御部803は、受信した入力情報に対するマスキング処理を実行しない。
【0133】
また、会話制御部802は、チャットボットでの会話内の第1の箇所と対応付けて記録された回数が第1のしきい値以上となった場合に、第1の箇所で入力される情報のログへの記録を許可するか否かの問い合わせ情報を、情報処理端末102に出力することにしてもよい。
【0134】
そして、記録制御部803は、情報処理端末102から第1の箇所において受け付けた入力情報を受信し、入力情報のマスキング処理依頼を受信した場合に、チャットボットでの会話に関するログを記録する際に、その入力情報に対するマスキング処理を実行することにしてもよい。
【0135】
(情報処理装置101の会話制御処理手順)
つぎに、実施の形態2にかかる情報処理装置101の会話制御処理手順について説明する。実施の形態2にかかる情報処理装置101では、例えば、所定の期間、第1の会話制御処理を実施した後、第2の会話制御処理が実施される。
【0136】
まず、
図15および
図16を用いて、実施の形態2にかかる情報処理装置101の第1の会話制御処理手順について説明する。
【0137】
図15および
図16は、実施の形態2にかかる情報処理装置101の第1の会話制御処理手順の一例を示すフローチャートである。
図15のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットの開始指示を受信したか否かを判断する(ステップS1501)。
【0138】
ここで、情報処理装置101は、チャットの開始指示を受信するのを待つ(ステップS1501:No)。情報処理装置101は、チャットの開始指示を受信した場合(ステップS1501:Yes)、スクリプトテーブル130を参照して、受信したチャットの開始指示に含まれるサービスIDに対応するスクリプトを、トークスクリプトに決定する(ステップS1502)。
【0139】
そして、情報処理装置101は、決定したトークスクリプトを用いて、情報処理端末102におけるチャットボットでの会話を開始する(ステップS1503)。この際、情報処理装置101は、入力情報のログへの記録を許可するか否かの問い合わせ情報を、情報処理端末102に出力する。問い合わせ情報は、例えば、
図7に示した秘密ボタン720である。
【0140】
つぎに、情報処理装置101は、情報処理端末102からオフレコ設定指示を受信したか否かを判断する(ステップS1504)。ここで、情報処理端末102からオフレコ設定指示を受信した場合(ステップS1504:Yes)、情報処理装置101は、オフレコモードをONにして(ステップS1505)、
図16に示すステップS1601に移行する。
【0141】
一方、情報処理端末102からオフレコ設定指示を受信していない場合(ステップS1504:No)、情報処理装置101は、情報処理端末102からオフレコ解除指示を受信したか否かを判断する(ステップS1506)。
【0142】
ここで、情報処理端末102からオフレコ解除指示を受信していない場合(ステップS1506:No)、情報処理装置101は、
図16に示すステップS1601に移行する。一方、情報処理端末102からオフレコ解除指示を受信した場合には(ステップS1506:Yes)、情報処理装置101は、オフレコモードをOFFにして(ステップS1507)、
図16に示すステップS1601に移行する。
【0143】
図16のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信したか否かを判断する(ステップS1601)。ここで、入力情報を受信していない場合(ステップS1601:No)、情報処理装置101は、ステップS1607に移行する。
【0144】
一方、入力情報を受信した場合(ステップS1601:Yes)、情報処理装置101は、受信した入力情報に基づく応答処理を実行する(ステップS1602)。つぎに、情報処理装置101は、オフレコモードがONであるか否かを判断する(ステップS1603)。
【0145】
ここで、オフレコモードがONの場合(ステップS1603:Yes)、情報処理装置101は、受信した入力情報に対するマスキング処理を実行して、入力情報がマスキングされたチャットログを出力する(ステップS1604)。そして、情報処理装置101は、回数カウンターテーブル1400内の該当ラベルの回数をインクリメントして(ステップS1605)、ステップS1607に移行する。
【0146】
一方、オフレコモードがOFFの場合には(ステップS1603:No)、情報処理装置101は、受信した入力情報を含むチャットログを出力する(ステップS1606)。そして、情報処理装置101は、情報処理端末102におけるチャットボットでの会話を終了するか否かを判断する(ステップS1607)。
【0147】
ここで、会話を終了しない場合(ステップS1607:No)、情報処理装置101は、
図15に示したステップS1504に戻る。一方、会話を終了する場合(ステップS1607:Yes)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
【0148】
これにより、情報処理端末102からオフレコ設定指示に応じて、チャットボットでの会話において受け付けた入力情報をマスキング処理してログ出力することができる。また、トークスクリプト内のステップ(箇所)において受け付けた入力情報について、マスキング処理依頼された回数をカウントすることができる。
【0149】
つぎに、
図17および
図18を用いて、実施の形態2にかかる情報処理装置101の第2の会話制御処理手順について説明する。
【0150】
図17および
図18は、実施の形態2にかかる情報処理装置101の第2の会話制御処理手順の一例を示すフローチャートである。
図17のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットの開始指示を受信したか否かを判断する(ステップS1701)。
【0151】
ここで、情報処理装置101は、チャットの開始指示を受信するのを待つ(ステップS1701:No)。情報処理装置101は、チャットの開始指示を受信した場合(ステップS1701:Yes)、スクリプトテーブル130を参照して、受信したチャットの開始指示に含まれるサービスIDに対応するスクリプトを、トークスクリプトに決定する(ステップS1702)。
【0152】
そして、情報処理装置101は、決定したトークスクリプトを用いて、情報処理端末102におけるチャットボットでの会話を開始する(ステップS1703)。つぎに、情報処理装置101は、回数カウンターテーブル1400を参照して、決定したトークスクリプトのうちの現在位置のラベルの回数を取得する(ステップS1704)。
【0153】
そして、情報処理装置101は、取得した回数がしきい値以上であるか否かを判断する(ステップS1705)。ここで、回数がしきい値未満の場合(ステップS1705:No)、情報処理装置101は、オフレコモードをOFFにして(ステップS1707)、
図18に示すステップS1801に移行する。
【0154】
なお、ステップS1704において、現在位置の回数を取得できなかった場合、情報処理装置101は、ステップS1707に移行する。
【0155】
一方、回数がしきい値以上の場合(ステップS1705:Yes)、情報処理装置101は、オフレコモードをONにして(ステップS1706)、
図18に示すステップS1801に移行する。
【0156】
この際、情報処理装置101は、例えば、
図10に示したようにチャット画面700内の秘密ボタン720を有効化することにしてもよい。さらに、情報処理装置101は、チャット画面700内の秘密ボタン720とともに、「オフレコモードになっています。入力された情報はサーバに記録が残りません。」といったメッセージを表示することにしてもよい。また、第2の会話制御処理では、例えば、チャット画面700内に秘密ボタン720を表示しないことにしてもよい。
【0157】
図18のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信したか否かを判断する(ステップS1801)。ここで、入力情報を受信していない場合(ステップS1801:No)、情報処理装置101は、ステップS1806に移行する。
【0158】
一方、入力情報を受信した場合(ステップS1801:Yes)、情報処理装置101は、受信した入力情報に基づく応答処理を実行する(ステップS1802)。つぎに、情報処理装置101は、オフレコモードがONであるか否かを判断する(ステップS1803)。
【0159】
ここで、オフレコモードがONの場合(ステップS1803:Yes)、情報処理装置101は、受信した入力情報に対するマスキング処理を実行して、入力情報がマスキングされたチャットログを出力し(ステップS1804)、ステップS1806に移行する。
【0160】
一方、オフレコモードがOFFの場合には(ステップS1803:No)、情報処理装置101は、受信した入力情報を含むチャットログを出力する(ステップS1805)。そして、情報処理装置101は、情報処理端末102におけるチャットボットでの会話を終了するか否かを判断する(ステップS1806)。
【0161】
ここで、会話を終了しない場合(ステップS1806:No)、情報処理装置101は、
図17に示したステップS1704に戻る。一方、会話を終了する場合(ステップS1806:Yes)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
【0162】
これにより、トークスクリプト内のステップ(箇所)のうち、過去にマスキング処理依頼された回数がしきい値以上となるステップにおいて受け付けた入力情報を、マスキング処理してログ出力することができる。
【0163】
以上説明したように、実施の形態2にかかる情報処理装置101によれば、チャットボットでの会話内の第1の箇所と対応付けて、当該第1の箇所で受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を記録することができる。
【0164】
これにより、チャットボットでの会話において情報が入力される箇所(スクリプト内のステップ)について、入力情報をログに残さないための操作、例えば、秘密ボタン720が押された回数を記録することができる。
【0165】
また、情報処理装置101によれば、情報処理端末102からチャットボットでの会話内の第1の箇所において受け付けた入力情報を受信した場合、記録した回数に基づいて、受信した入力情報がマスキング処理対象の情報であるか否かを判断することができる。そして、情報処理装置101によれば、マスキング処理対象の情報であると判断した場合に、受信した入力情報をログに記録しない又は秘匿化するマスキング処理を実行することができる。
【0166】
これにより、情報が入力される箇所においてログに残さないための操作が過去にどれだけ行われたのかを考慮して、その箇所で入力された情報が、マスキング処理対象の情報であるかを判断することができる。このため、多数のユーザがログに残さないための操作を行った箇所については、ユーザが秘密ボタン720を押すといった操作を行うことなく、入力した情報をログに残さないようにすることが可能となる。
【0167】
また、情報処理装置101によれば、情報処理装置101は、記録した回数がしきい値以上の場合に、受信した入力情報がマスキング処理対象の情報であると判断することができる。また、情報処理装置101によれば、第1の箇所に入力された入力情報を受信した総回数に対する、記録した回数の割合がしきい値以上の場合に、受信した入力情報がマスキング処理対象の情報であると判断することができる。
【0168】
これにより、集計期間中に他のユーザがログに残さないための操作を行った回数や割合の多さを考慮して、マスキング処理対象の情報が入力される箇所、すなわち、オフレコモードを自動設定する箇所を決めることができる。
【0169】
(実施の形態3)
つぎに、実施の形態3にかかる情報処理装置101について説明する。実施の形態3では、チャットボットでの会話において受け付けた入力情報に個人特定情報が含まれる場合に注意喚起を行う場合について説明する。なお、実施の形態1,2で説明した箇所と同様の箇所については、同一符号を付して図示および説明を省略する。
【0170】
(情報処理装置101の機能的構成例)
まず、
図19を用いて、実施の形態3にかかる情報処理装置101の機能的構成例について説明する。
【0171】
図19は、実施の形態3にかかる情報処理装置101の機能的構成例を示すブロック図である。
図19において、情報処理装置101は、受付部801と、会話制御部802と、記録制御部803と、判定部1901と、を含む。具体的には、例えば、受付部801~記録制御部803および判定部1901は、
図2に示したメモリ202、ディスク204、可搬型記録媒体207などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、または、通信I/F205により、その機能を実現する。各機能部の処理結果は、例えば、メモリ202、ディスク204などの記憶装置に記憶される。
【0172】
以下、実施の形態3にかかる情報処理装置101の機能部のうち、実施の形態1にかかる情報処理装置101の機能部と異なる部分について説明する。
【0173】
判定部1901は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信した場合、入力情報に個人特定情報が含まれるか否かを判定する。ここで、個人特定情報は、個人を特定可能な情報であり、例えば、苗字(ラストネーム)、名前(ファーストネーム)、メールアドレスなどである。
【0174】
入力情報に個人特定情報が含まれるか否かの判定は、例えば、
図20に示すような個人特定情報マスタ2000を用いて行われる。ここで、個人特定情報マスタ2000の記憶内容について説明する。個人特定情報マスタ2000は、例えば、
図2に示したメモリ202、ディスク204などの記憶装置により実現される。
【0175】
図20は、個人特定情報マスタ2000の記憶内容の一例を示す説明図である。
図20において、個人特定情報マスタ2000は、個人を特定可能な情報が含まれるか否かの判定に用いる辞書情報である。個人特定情報マスタ2000には、例えば、苗字、名前、ドメイン名などの文字列が記憶されている。
【0176】
具体的には、例えば、判定部1901は、入力情報を解析して、個人特定情報マスタ2000に記憶された文字列が含まれる場合に、入力情報に個人特定情報が含まれると判定する。例えば、入力情報に文字列「佐藤」が含まれる場合、入力情報に個人特定情報が含まれると判定される。
【0177】
会話制御部802は、判定部1901によって入力情報に個人特定情報が含まれると判定された場合、チャットボットでの会話において入力される情報に対するマスキング処理のレコメンド情報を情報処理端末102に出力する。ここで、レコメンド情報は、マスキング処理の実施をレコメンドするためのメッセージやアイコンなどである。
【0178】
具体的には、例えば、会話制御部802は、チャットボットでの会話において、入力情報のログへの記録を許可するか否かの問い合わせ情報と対応付けて、マスキング処理のレコメンド情報を情報処理端末102に出力することにしてもよい。マスキング処理依頼は、例えば、情報処理端末102において問い合わせ情報に対応してログへの記録を許可しない旨の操作が行われた場合に、情報処理端末102から送信される。
【0179】
これにより、個人特定情報が含まれる入力情報が入力された後、それ以降に入力される情報に対してマスキング処理を実施するか否かをユーザが選択することが可能となる。なお、問い合わせ情報と対応付けて出力される、マスキング処理のレコメンド情報の具体例については、
図23を用いて後述する。
【0180】
また、判定部1901は、機械学習モデルMを用いて、情報処理端末102におけるチャットボットでの会話において受け付けた入力情報に特定の単語が含まれるか否かを判定することにしてもよい。ここで、特定の単語は、例えば、パスワード、クレジットカード番号などである。機械学習モデルMは、入力された文字列が特定の単語であるか否かを分類するための機械学習のモデルである。
【0181】
具体的には、例えば、判定部1901は、受け付けた入力情報(テキストデータ)を形態素解析して単語に分割する。つぎに、判定部1901は、機械学習モデルMを用いて、分割した各単語が特定の単語であるか否かを判定する。そして、判定部1901は、少なくともいずれかの単語が特定の単語があると判定した場合に、入力情報に特定の単語が含まれると判定する。
【0182】
機械学習モデルMは、例えば、特定の単語であるか否かを示すラベルが付与された文字列データを学習データ(教師データ)として、深層学習などの機械学習により生成される。より詳細に説明すると、例えば、機械学習モデルMは、例えば、CNNやLSTMなどのアルゴリズムを用いた深層学習により生成することができる。
【0183】
なお、CNNは、Convolutional Neural Networkの略である。LSTMは、Long Short-Term Memoryの略である。機械学習モデルMの生成例については、
図21を用いて後述する。また、特定の単語の判定例については、
図22を用いて後述する。
【0184】
会話制御部802は、判定部1901によって入力情報に特定の単語が含まれると判定された場合、情報処理端末102に注意喚起情報を出力することにしてもよい。ここで、注意喚起情報は、ユーザにとって大切な情報を入力していないかを注意喚起するためのメッセージやアイコンなどである。具体的には、例えば、会話制御部802は、チャットボットでの会話において、特定の単語が含まれると判定された入力情報と対応付けて、注意喚起情報を情報処理端末102に出力することにしてもよい。
【0185】
また、会話制御部802は、特定の単語が含まれると判定された入力情報について、新たな入力情報を情報処理端末102から受信することにしてもよい。この場合、会話制御部802は、情報処理端末102から受信した新たな入力情報に基づいて、応答処理を実行する。また、会話制御部802は、例えば、特定の単語が含まれると判定された入力情報は破棄(削除)する。すなわち、特定の単語が含まれると判定された入力情報については、応答処理が実行されず、ログも記録されない。
【0186】
また、注意喚起情報は、特定の単語が含まれると判定された入力情報に対するマスキング処理の実施をレコメンドする情報であってもよい。この場合、記録制御部803は、特定の単語が含まれると判定された入力情報のマスキング処理依頼を受信した場合、チャットボットでの会話に関するログを記録する際に、当該会話に関するログのうち入力情報に関するログにおける当該入力情報に対するマスキング処理を実行する。
【0187】
なお、入力情報に特定の単語が含まれると判定された場合に出力される、注意喚起情報の具体例については、
図24を用いて後述する。
【0188】
(機械学習モデルMの生成例)
つぎに、
図21を用いて、機械学習モデルMの生成例について説明する。ここでは、特定の単語として、「パスワード」を例に挙げて説明する。
【0189】
図21は、学習データの具体例を示す説明図である。
図21において、学習データ2100は、ラベルが付与された教師データの集合(例えば、教師データ2100-1~2100-4)である。例えば、学習データ2100は、ランダム文字列群と英単語群とを含む文字列群(
図21中、符号2110)のそれぞれの文字列に関する教師データを含む。
【0190】
ランダム文字列群は、パスワードを想定した文字列群であり、例えば、下記パターン1~9の任意の文字列を均等に含む文字列群である。例)は、各パターンに対応する文字列の一例である。
【0191】
パターン1:数字あり/記号あり/大文字あり、文字列長:4~20
例)w7mG$ijG
【0192】
パターン2:数字あり/記号なし/大文字なし、文字列長:4~20
例)a0r37m6b
【0193】
パターン3:数字なし/記号あり/大文字なし、文字列長:4~20
例)a.opi|/$
【0194】
パターン4:数字なし/記号なし/大文字あり、文字列長:4~20
例)GqADkYwH
【0195】
パターン5:数字あり/記号あり/大文字なし、文字列長:4~20
例)|m39)uk#
【0196】
パターン6:数字あり/記号なし/大文字あり、文字列長:4~20
例)Dm3fGdQo
【0197】
パターン7:数字あり/記号あり/大文字なし、文字列長:4~20
例)-z02;sm6
【0198】
パターン8:数字なし/記号あり/大文字あり、文字列長:4~20
例)fz.Cs{!~
【0199】
パターン9:数字なし/記号なし/大文字なし、文字列長:4~20
例)miqmxyfi
【0200】
英単語群は、任意の英単語を含む文字列群である。ランダム文字列群および英単語群は、それぞれ数千件程度(例えば、7000~8000件)の文字列を含む。
【0201】
各文字列(単語)は、ベクトル表現で表される(
図21中、符号2120)。例えば、各文字列は、各文字列に含まれる各文字を表すベクトルデータを出現順に並べた連続データ(文字列データ)である。各文字は、例えば、各文字のASCIIコードに対応する列を「1」、それ以外の列を「0」とする128次元のOne-hotベクトルによって表される。ASCIIは、American Standard Code for Information Interchangeの略である。
【0202】
ラベルは、文字列がパスワードであるか否かを示す情報である(
図21中、符号2130)。ここでは、文字列がパスワードの場合、ラベル「0.0」が付与される。また、文字列が非パスワードの場合、ラベル「1.0」が付与される。
【0203】
判定部1901は、例えば、学習データ2100に基づいて、文字列を時系列の連続データとみなしてRNN/LSTMを形成し、機械学習を行うことにより、機械学習モデルMを生成する。機械学習モデルMは、例えば、ASCII文字(ベクトル表現)の連続データ(配列)を入力として、パスワードである度合いを示す値を出力する。
【0204】
パスワードである度合いを示す値は、0から1までの数値(小数)によって表される。ここでは、パスワードである度合いを示す値は、0から1までの範囲で、パスワードである度合いが高いほど低い値となり、パスワードである度合いが低いほど高い値となる。
【0205】
ここで、
図22を用いて、パスワードの判定例について説明する。ここでは、判定対象となる文字列を「hVLVcaWf」とする。
【0206】
図22は、パスワードの判定例を示す説明図である。
図22において、連続データ2200は、文字列「hVLVcaWf」をベクトル表現したものである。具体的には、連続データ2200は、文字列「hVLVcaWf」に含まれる各文字を表すベクトルデータを出現順に並べたものである。
【0207】
例えば、文字列「hVLVcaWf」に含まれる文字「h」は、ASCIIコードに対応する104列目の列を「1」、それ以外の列を「0」とするベクトルデータによって表される。また、文字列「hVLVcaWf」に含まれる文字「V」は、ASCIIコードに対応する86列目の列を「1」、それ以外の列を「0」とするベクトルデータによって表される。
【0208】
ここでは、機械学習モデルMに連続データ2200を入力した結果、出力値「0.00001」が出力された場合を想定する。この場合、判定部1901は、例えば、機械学習モデルMの出力値「0.00001」が、しきい値α未満の場合に、パスワードであると判定する。しきい値αは、任意に設定可能であり、例えば、0.5程度の値に設定される。例えば、しきい値αを「α=0.5」とすると、判定部1901は、出力値「0.00001」がしきい値α未満のため、文字列「hVLVcaWf」がパスワードであると判定する。
【0209】
(マスキング処理のレコメンド情報の具体例)
つぎに、
図23を用いて、問い合わせ情報と対応付けて出力される、マスキング処理のレコメンド情報の具体例について説明する。
【0210】
図23は、チャット画面の画面例を示す説明図(その3)である。
図23において、チャット画面2300は、情報処理端末102におけるチャットボットでの会話を表示する操作画面の一例である。ここでは、
図9に示したチャット画面700と同様に、チャットボットと連携した双方向コミュニケーションを利用して、何らかの相談を行う場合を例に挙げて説明する。
【0211】
チャット画面2300において、例えば、
図3に示した入力装置304を用いたユーザの操作入力により、ボックス2310を選択することで、メッセージを入力することができる。また、チャット画面2300において、送信ボタン2311を選択することで、ボックス2310に入力されたメッセージをチャットボット側(情報処理装置101)に送信することができる。
【0212】
ここで、チャット画面2300には、アバターavの発言を表すメッセージm11,m13と、ユーザの発言を表すメッセージm12が表示されている。メッセージm11は、ユーザの名前の入力を促すメッセージの一例である。メッセージm12は、アバターavのメッセージm1に対して入力された名前の一例である。メッセージm13は、ユーザの相談内容の入力を促すメッセージの一例である。
【0213】
ここでは、ユーザの相談内容の入力に先立って、ユーザの名前「佐藤太郎」が入力されている。この場合、チャットボットでの会話において受け付けた「佐藤太郎」が入力情報として、情報処理端末102から情報処理装置101に送信される。判定部1901は、個人特定情報マスタ2000を参照して、入力情報「佐藤太郎」に個人特定情報が含まれるか否かを判定する。
【0214】
ここでは、入力情報「佐藤太郎」に、個人特定情報マスタ2000に記憶された「佐藤」が含まれるため、入力情報「佐藤太郎」に個人特定情報が含まれると判定される。この場合、会話制御部802は、入力情報のログへの記録を許可するか否かの問い合わせ情報と対応付けて、マスキング処理のレコメンド情報を情報処理端末102に出力する。
【0215】
すなわち、チャットボットでの会話において、個人を特定可能な情報が入力されると、それ以降に入力される情報は、個人を特定可能な状態でサーバ上(例えば、情報処理装置101)に記録されることになる。このため、情報処理装置101は、チャットボットでの会話において以降入力される情報に対するマスキング処理をレコメンドする。
【0216】
図23の例では、チャット画面2300において、秘密ボタン2320と対応付けて、レコメンドメッセージ2330が表示されている。秘密ボタン2320は、入力情報のログへの記録を許可するか否かの問い合わせ情報の一例である。レコメンドメッセージ2330は、マスキング処理のレコメンド情報の一例である。
【0217】
レコメンドメッセージ2330によれば、ユーザは、秘密ボタン2320を押せば、入力した情報がログに記録されないことを把握することができる。例えば、ユーザが自身の相談内容をログに残したくないため、チャット画面2300において、秘密ボタン2320を選択したとする。この場合、情報処理端末102から情報処理装置101にオフレコ設定指示が送信され、オフレコモードが設定(ON)される。
【0218】
(注意喚起情報の具体例)
つぎに、
図24を用いて、入力情報に特定の単語が含まれると判定された場合に出力される、注意喚起情報の具体例について説明する。
【0219】
図24は、チャット画面の画面例を示す説明図(その4)である。
図24において、チャット画面2400は、情報処理端末102におけるチャットボットでの会話を表示する操作画面の一例である。ここでは、
図9に示したチャット画面700と同様に、チャットボットと連携した双方向コミュニケーションを利用して、何らかの相談を行う場合を例に挙げて説明する。
【0220】
ここで、チャット画面2400には、アバターavの発言を表すメッセージm21,m23と、ユーザの発言を表すメッセージm22が表示されている。ここでは、アバターavのメッセージm23に対して、ボックス2410にユーザの相談内容が入力され、送信ボタン2411が選択された場合を想定する。
【0221】
この場合、ボックス2410に入力された相談内容が入力情報として、情報処理端末102から情報処理装置101に送信される。判定部1901は、入力情報(相談内容)を単語に分割し、機械学習モデルMを用いて、分割した各単語にパスワードが含まれるか否かを判定する。
【0222】
例えば、ボックス2410に入力された相談内容の一部「ちなみにパスワードはhVLVcaWfです。」を例に挙げると、単語「ちなみに」、「パスワード」、「は」、「hVLVcaWf」、「です」、「。」に分割される。そして、単語「hVLVcaWf」が、パスワードであると判定される。
【0223】
この場合、会話制御部802は、パスワードが含まれると判定された入力情報と対応付けて、注意喚起情報を情報処理端末102に出力する。例えば、チャットボットでの会話において、ユーザの相談内容としてパスワードを含む文章が入力されると、誤ってパスワードを入力した可能性があるため、大切な情報を入力していないかを注意喚起する。
【0224】
図24の例では、チャット画面2400において、ボックス2410の横に設けられた秘密ボタン2420と対応付けて、注意喚起情報2430が表示されている。秘密ボタン2420は、入力情報のログへの記録を許可するか否かの問い合わせ情報の一例である。注意喚起情報2430は、大切な情報を入力していないかを注意喚起するとともに、入力情報に対するマスキング処理の実施をレコメンドする情報の一例である。
【0225】
注意喚起情報2430によれば、ユーザは、大切な情報を入力していないかどうかを確認することができる。例えば、ユーザが誤ってパスワードを入力してしまったことに気付いた場合は、ボックス2410に相談内容を入力し直して、送信ボタン2411を選択することで、新たな入力情報を情報処理端末102から情報処理装置101に送信することができる。
【0226】
この場合、会話制御部802は、情報処理端末102から受信した新たな入力情報に基づいて、応答処理を実行する。また、会話制御部802は、パスワードが含まれると判定された入力情報は破棄する。また、記録制御部803は、パスワードが含まれると判定された入力情報については、ログに記録しない。
【0227】
また、ユーザが、パスワードが含まれていても問題ないと判断した場合は、例えば、相談内容を入力し直すことなく、送信ボタン2411を再度選択することで、入力情報を確定することができる。この場合、パスワードを含む入力情報に基づく応答処理が実行される。
【0228】
また、ユーザが、秘密ボタン2420を選択した上で、送信ボタン2411を再度選択することで、入力情報を確定するとともに、オフレコモードを設定(ON)することができる。この場合、チャットボットでの会話に関するログを記録する際に、入力情報に対するマスキング処理が実行される。
【0229】
(情報処理装置101の会話制御処理手順)
つぎに、実施の形態3にかかる情報処理装置101の会話制御処理手順について説明する。まず、
図25および
図26を用いて、実施の形態3にかかる情報処理装置101の第1の会話制御処理手順について説明する。第1の会話制御処理では、チャットボットでの会話において受け付けた入力情報に個人特定情報が含まれる場合に、マスキング処理をレコメンドする。
【0230】
図25および
図26は、実施の形態3にかかる情報処理装置101の第1の会話制御処理手順の一例を示すフローチャートである。
図25のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットの開始指示を受信したか否かを判断する(ステップS2501)。
【0231】
ここで、情報処理装置101は、チャットの開始指示を受信するのを待つ(ステップS2501:No)。情報処理装置101は、チャットの開始指示を受信した場合(ステップS2501:Yes)、スクリプトテーブル130を参照して、受信したチャットの開始指示に含まれるサービスIDに対応するスクリプトを、トークスクリプトに決定する(ステップS2502)。
【0232】
そして、情報処理装置101は、決定したトークスクリプトを用いて、情報処理端末102におけるチャットボットでの会話を開始する(ステップS2503)。この際、情報処理装置101は、入力情報のログへの記録を許可するか否かの問い合わせ情報を、情報処理端末102に出力する。問い合わせ情報は、例えば、
図23に示した秘密ボタン2320である。
【0233】
つぎに、情報処理装置101は、チャットボットでの会話において個人特定情報が入力済みであるか否かを判断する(ステップS2504)。ここで、個人特定情報が入力済みではない場合(ステップS2504:No)、情報処理装置101は、ステップS2506に移行する。
【0234】
一方、個人特定情報が入力済みの場合(ステップS2504:Yes)、情報処理装置101は、チャットボットでの会話において、入力情報のログへの記録を許可するか否かの問い合わせ情報と対応付けて、マスキング処理のレコメンド情報を情報処理端末102に出力する(ステップS2505)。
【0235】
つぎに、情報処理装置101は、情報処理端末102からオフレコ設定指示を受信したか否かを判断する(ステップS2506)。ここで、情報処理端末102からオフレコ設定指示を受信していない場合(ステップS2506:No)、情報処理装置101は、
図26に示すステップS2601に移行する。
【0236】
一方、情報処理端末102からオフレコ設定指示を受信した場合(ステップS2506:Yes)、情報処理装置101は、オフレコモードをONにして(ステップS2507)、
図26に示すステップS2601に移行する。
【0237】
図26のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信したか否かを判断する(ステップS2601)。ここで、入力情報を受信していない場合(ステップS2601:No)、情報処理装置101は、ステップS2609に移行する。
【0238】
一方、入力情報を受信した場合(ステップS2601:Yes)、情報処理装置101は、受信した入力情報に基づく応答処理を実行する(ステップS2602)。つぎに、情報処理装置101は、オフレコモードがONであるか否かを判断する(ステップS2603)。
【0239】
ここで、オフレコモードがONの場合(ステップS2603:Yes)、情報処理装置101は、受信した入力情報に対するマスキング処理を実行して、入力情報がマスキングされたチャットログを出力する(ステップS2604)。そして、情報処理装置101は、オフレコモードをOFFにして(ステップS2605)、ステップS2607に移行する。
【0240】
一方、オフレコモードがOFFの場合には(ステップS2603:No)、情報処理装置101は、受信した入力情報を含むチャットログを出力する(ステップS2606)。そして、情報処理装置101は、受信した入力情報に個人特定情報が含まれるか否かを判断する(ステップS2607)。
【0241】
ここで、入力情報に個人特定情報が含まれない場合(ステップS2607:No)、情報処理装置101は、ステップS2609に移行する。一方、入力情報に個人特定情報が含まれる場合(ステップS2607:Yes)、情報処理装置101は、個人特定情報が入力済みであることを記録する(ステップS2608)。
【0242】
そして、情報処理装置101は、情報処理端末102におけるチャットボットでの会話を終了するか否かを判断する(ステップS2609)。ここで、会話を終了しない場合(ステップS2609:No)、情報処理装置101は、
図25に示したステップS2504に戻る。一方、会話を終了する場合(ステップS2609:Yes)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
【0243】
これにより、情報処理端末102におけるチャットボットでの会話において受け付けた入力情報に個人特定情報が含まれる場合に、チャットボットでの会話において以降入力される情報をマスキングするようレコメンドすることができる。
【0244】
つぎに、
図27を用いて、実施の形態3にかかる情報処理装置101の第2の会話制御処理手順について説明する。第2の会話制御処理では、チャットボットでの会話において受け付けた入力情報にパスワードが含まれる場合に、注意喚起情報を出力する。また、
図27では、チャットボットでの会話に関するログを記録する処理についての説明は省略する。
【0245】
図27は、実施の形態3にかかる情報処理装置101の第2の会話制御処理手順の一例を示すフローチャートである。
図27のフローチャートにおいて、まず、情報処理装置101は、情報処理端末102からチャットの開始指示を受信したか否かを判断する(ステップS2701)。
【0246】
ここで、情報処理装置101は、チャットの開始指示を受信するのを待つ(ステップS2701:No)。情報処理装置101は、チャットの開始指示を受信した場合(ステップS2701:Yes)、スクリプトテーブル130を参照して、受信したチャットの開始指示に含まれるサービスIDに対応するスクリプトを、トークスクリプトに決定する(ステップS2702)。
【0247】
そして、情報処理装置101は、決定したトークスクリプトを用いて、情報処理端末102におけるチャットボットでの会話を開始する(ステップS2703)。この際、情報処理装置101は、入力情報のログへの記録を許可するか否かの問い合わせ情報を、情報処理端末102に出力することにしてもよい。問い合わせ情報は、例えば、
図24に示した秘密ボタン2420である。
【0248】
つぎに、情報処理装置101は、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信したか否かを判断する(ステップS2704)。ここで、入力情報を受信していない場合(ステップS2704:No)、情報処理装置101は、ステップS2711に移行する。
【0249】
一方、入力情報を受信した場合(ステップS2704:Yes)、情報処理装置101は、受信した入力情報に対するパスワード検出処理を実行する(ステップS2705)。パスワード検出処理は、機械学習モデルMを用いて、入力情報に含まれるパスワードを検出する処理である。
【0250】
つぎに、情報処理装置101は、パスワードが検出されたか否かを判断する(ステップS2706)。ここで、パスワードが検出されなかった場合(ステップS2706:No)、情報処理装置101は、受信した入力情報に基づく応答処理を実行して(ステップS2707)、ステップS2711に移行する。
【0251】
一方、パスワードが検出された場合(ステップS2706:Yes)、情報処理装置101は、注意喚起情報を情報処理端末102に出力する(ステップS2708)。そして、情報処理装置101は、パスワードが検出された入力情報について、新たな入力情報を情報処理端末102から受信したか否かを判断する(ステップS2709)。
【0252】
ここで、新たな入力情報を受信していない場合(ステップS2709:No)、情報処理装置101は、ステップS2707に移行する。一方、新たな入力情報を受信した場合(ステップS2709:Yes)、情報処理装置101は、受信した新たな入力情報に基づく応答処理を実行する(ステップS2710)。
【0253】
そして、情報処理装置101は、情報処理端末102におけるチャットボットでの会話を終了するか否かを判断する(ステップS2711)。ここで、会話を終了しない場合(ステップS2711:No)、情報処理装置101は、ステップS2704に戻る。一方、会話を終了する場合(ステップS2711:Yes)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
【0254】
これにより、チャットボットでの会話において受け付けた入力情報にパスワードが含まれる場合に、誤ってパスワードを入力していないかを注意喚起することができる。
【0255】
以上説明したように、実施の形態3にかかる情報処理装置101によれば、情報処理端末102からチャットボットでの会話において受け付けた入力情報を受信した場合、入力情報に個人特定情報が含まれるか否かを判定することができる。そして、情報処理装置101によれば、個人特定情報が含まれると判定した場合、チャットボットでの会話において入力される情報に対するマスキング処理をレコメンドする情報を情報処理端末102に出力することができる。
【0256】
これにより、情報処理端末102におけるチャットボットでの会話において受け付けた入力情報に個人特定情報が含まれる場合に、チャットボットでの会話において以降入力される情報をマスキングするようレコメンドすることができる。例えば、個人を特定可能な情報が入力されると、それ以降入力された情報は、個人を特定可能な状態でログに記録されることになる。このため、個人を特定可能な情報が入力された場合に、それ以降に入力される情報についてのマスキング処理をレコメンドする。
【0257】
また、情報処理装置101によれば、入力された文字列が特定の単語であるか否かを分類するための機械学習モデル(M)を用いて、情報処理端末102におけるチャットボットでの会話において受け付けた入力情報に特定の単語が含まれるか否かを判定することができる。そして、情報処理装置101によれば、入力情報に特定の単語が含まれると判定した場合、情報処理端末102に注意喚起情報を出力することができる。
【0258】
これにより、チャットボットでの会話において受け付けた入力情報にパスワードなどの特定の単語が含まれる場合に、誤って不必要な情報を入力していないかを注意喚起することができる。
【0259】
これらのことから、実施の形態1~3にかかる情報処理装置101によれば、チャットボットを利用したサービスの円滑な利用を図ることができる。実施の形態1~3は、矛盾のないように組み合わせることにしてもよい。例えば、実施の形態1にかかる情報処理装置101が、実施の形態2にかかる情報処理装置101の機能と、実施の形態3にかかる情報処理装置101の機能とを有することにしてもよい。
【0260】
なお、本実施の形態で説明した会話制御方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本会話制御プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本会話制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【0261】
また、本実施の形態で説明した情報処理装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0262】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0263】
(付記1)情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータに実行させることを特徴とする会話制御プログラム。
【0264】
(付記2)前記チャットボットでの会話において、入力情報のログへの記録を許可するか否かの問い合わせ情報を前記情報処理端末に出力する、処理を前記コンピュータに実行させ、
前記マスキング処理依頼は、前記情報処理端末において前記問い合わせ情報に対応してログへの記録を許可しない旨の操作が行われた場合に、前記情報処理端末から送信される、ことを特徴とする付記1に記載の会話制御プログラム。
【0265】
(付記3)前記チャットボットでの会話内の第1の箇所と対応付けて、当該第1の箇所で受け付けた入力情報を受信するとともに、当該入力情報のマスキング処理依頼を受信した回数を記録し、
情報処理端末から前記チャットボットでの会話内の前記第1の箇所において受け付けた入力情報を受信した場合、記録した前記回数に基づいて、受信した前記入力情報がマスキング処理対象の情報であるか否かを判断し、
前記マスキング処理対象の情報であると判断した場合に、受信した前記入力情報をログに記録しない又は秘匿化するマスキング処理を実行する、
処理を前記コンピュータに実行させることを特徴とする付記1に記載の会話制御プログラム。
【0266】
(付記4)前記判断する処理は、
記録した前記回数がしきい値以上の場合、又は、前記第1の箇所に入力された入力情報を受信した総回数に対する前記回数の割合がしきい値以上の場合に、受信した前記入力情報が前記マスキング処理対象の情報であると判断する、ことを特徴とする付記3に記載の会話制御プログラム。
【0267】
(付記5)情報処理端末からチャットボットでの会話において受け付けた入力情報を受信した場合、前記入力情報に個人特定情報が含まれるか否かを判定し、
前記個人特定情報が含まれると判定した場合、前記チャットボットでの会話において入力される情報に対するマスキング処理をレコメンドする情報を前記情報処理端末に出力する、
処理を前記コンピュータに実行させることを特徴とする付記1に記載の会話制御プログラム。
【0268】
(付記6)前記チャットボットでの会話において、入力情報のログへの記録を許可するか否かの問い合わせ情報と対応付けて、前記レコメンドする情報を前記情報処理端末に出力する、処理を前記コンピュータに実行させ、
前記マスキング処理依頼は、前記情報処理端末において前記問い合わせ情報に対応してログへの記録を許可しない旨の操作が行われた場合に、前記情報処理端末から送信される、ことを特徴とする付記5に記載の会話制御プログラム。
【0269】
(付記7)入力された文字列が特定の単語であるか否かを分類するための機械学習モデルを用いて、情報処理端末におけるチャットボットでの会話において受け付けた入力情報に前記特定の単語が含まれるか否かを判定し、
前記入力情報に前記特定の単語が含まれると判定した場合、前記情報処理端末に注意喚起情報を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1に記載の会話制御プログラム。
【0270】
(付記8)前記機械学習モデルは、前記特定の単語であることを示すラベルが付与された文字列データと、前記特定の単語ではないことを示すラベルが付与された文字列データとを教師データとして機械学習を行うことにより生成される、ことを特徴とする付記7に記載の会話制御プログラム。
【0271】
(付記9)情報処理端末からチャットボットでの会話において受け付けた入力情報を受信し、前記入力情報に基づく応答処理を実行し、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する、
処理をコンピュータが実行することを特徴とする会話制御方法。
【0272】
(付記10)情報処理端末からチャットボットでの会話において受け付けた入力情報を受信した場合、前記入力情報に基づく応答処理を実行する会話制御部と、
前記入力情報のマスキング処理依頼を受信した場合は、前記チャットボットでの会話に関するログを記録する際に、前記会話に関するログのうち前記入力情報に関するログに記録しない又は秘匿化するマスキング処理を実行する記録制御部と、
を有することを特徴とする情報処理装置。
【符号の説明】
【0273】
100 会話制御システム
101 情報処理装置
102 情報処理端末
103 管理者端末
110 ネットワーク
120 FAQマスタ
130 スクリプトテーブル
140 チャットログDB
200,300 バス
201,301 CPU
202,302 メモリ
203 ディスクドライブ
204 ディスク
205,305 通信I/F
206 可搬型記録媒体I/F
207 可搬型記録媒体
303 ディスプレイ
304 入力装置
306 カメラ
307 スピーカ
308 マイクロフォン
309 GPSユニット
700,2300,2400 チャット画面
801 受付部
802 会話制御部
803 記録制御部
1301 計数部
1400 回数カウンターテーブル
1901 判定部
2000 個人特定情報マスタ
2100 学習データ