(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023018360
(43)【公開日】2023-02-08
(54)【発明の名称】情報処理システム、チャットボットシステム、情報管理方法、プログラム
(51)【国際特許分類】
H04M 3/51 20060101AFI20230201BHJP
G06F 13/00 20060101ALI20230201BHJP
G06F 16/90 20190101ALI20230201BHJP
G06Q 50/10 20120101ALI20230201BHJP
【FI】
H04M3/51
G06F13/00 650B
G06F16/90 100
G06Q50/10
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021122426
(22)【出願日】2021-07-27
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】鬼頭 尚也
【テーマコード(参考)】
5B084
5B175
5K201
5L049
【Fターム(参考)】
5B084AA02
5B084AA16
5B084AB06
5B084AB12
5B084BB16
5B084CD24
5B084DC02
5B084DC03
5B175BA01
5B175EA01
5K201AA10
5K201BA13
5K201CA09
5K201CA10
5K201CB13
5L049CC12
(57)【要約】
【課題】会話内容に個人情報が含まれているか否かを提供する情報処理システムを提供できる。
【解決手段】第一の端末装置2と会話する情報処理システム1であって、前記第一の端末装置と前記情報処理システムとの会話内容を保存する保存部と、前記会話内容から個人情報を検出する個人情報検出部と、第二の端末装置5から前記会話内容のリストを要求された場合、前記会話内容に個人情報が含まれるか否かが設定された会話内容のリストを前記第二の端末装置に送信する通信部と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
第一の端末装置と会話する情報処理システムであって、
前記第一の端末装置と前記情報処理システムとの会話内容を保存する保存部と、
前記会話内容から個人情報を検出する個人情報検出部と、
第二の端末装置から前記会話内容のリストを要求された場合、前記会話内容に個人情報が含まれるか否かが設定された会話内容のリストを前記第二の端末装置に送信する通信部と、
を有する情報処理システム。
【請求項2】
前記個人情報検出部が前記会話内容から個人情報を検出した場合、前記会話内容に個人情報が含まれる旨を対応付けて保存し、
前記会話内容に個人情報が含まれる旨に基づいて、前記会話内容のリストに個人情報が含まれるか否かを設定する画面提供部を有する請求項1に記載の情報処理システム。
【請求項3】
前記個人情報検出部は、前記会話内容が保存された直後に、該会話内容から個人情報を検出し、前記個人情報検出部が前記会話内容から個人情報を検出した場合、検出された個人情報を前記会話内容に対応付けて保存しておく請求項2に記載の情報処理システム。
【請求項4】
前記第二の端末装置からの前記個人情報を匿名化する要求に応じて、前記会話内容に対応付けられている個人情報と同じ文字列を前記会話内容から特定して、前記会話内容の前記個人情報を匿名化する匿名化処理部を有する請求項3に記載の情報処理システム。
【請求項5】
前記匿名化処理部は、前記会話内容の前記個人情報を匿名化した場合、前記会話内容に個人情報がない旨を対応付けて保存する請求項4に記載の情報処理システム。
【請求項6】
前記会話内容のリストから選択された前記会話内容の表示要求に応じて、前記通信部は、前記個人情報が匿名化された前記会話内容を前記第二の端末装置に送信する請求項4又は5に記載の情報処理システム。
【請求項7】
前記第二の端末装置からの前記会話内容の出力要求に応じて、前記会話内容の前記個人情報を匿名化し、前記個人情報が匿名化された前記会話内容をファイルに出力して前記第二の端末装置に送信する請求項4~6のいずれか1項に記載の情報処理システム。
【請求項8】
第一の端末装置と会話する情報処理システムと、前記情報処理システムと通信する第二の端末装置とを有するチャットボットシステムであって、
前記情報処理システムは、
前記第一の端末装置と前記情報処理システムとの会話内容を保存する保存部と、
前記会話内容から個人情報を検出する個人情報検出部と、
第二の端末装置から前記会話内容のリストを要求された場合、前記会話内容に個人情報が含まれる旨と共に会話内容のリストを前記第二の端末装置に送信する通信部と、
前記第二の端末装置は、
前記情報処理システムから受信した、前記会話内容のリストに前記会話内容に個人情報が含まれる旨を表示するチャットボットシステム。
【請求項9】
第一の端末装置と会話する情報処理システムが行う情報管理方法であって、
前記第一の端末装置と前記情報処理システムとの会話内容を保存するステップと、
前記会話内容から個人情報を検出するステップと、
第二の端末装置から前記会話内容のリストを要求された場合、前記会話内容に個人情報が含まれるか否かが設定された会話内容のリストを前記第二の端末装置に送信するステップと、
を有する情報管理方法。
【請求項10】
第一の端末装置と会話する情報処理システムを、
前記第一の端末装置と前記情報処理システムとの会話内容を保存する保存部と、
前記会話内容から個人情報を検出する個人情報検出部と、
第二の端末装置から前記会話内容のリストを要求された場合、前記会話内容に個人情報が含まれるか否かが設定された会話内容のリストを前記第二の端末装置に送信する通信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、チャットボットシステム、情報管理方法、及び、プログラムに関する。
【背景技術】
【0002】
情報処理システムが、ネットワーク経由でユーザーが入力するテキスト、音声又は画像等をパターン認識する。次に、情報処理システムがパターン認識の結果に基づいて、ユーザーとの会話を進行させるチャットボットシステムが知られている。また、チャットボットシステムによっては、ユーザーの指示に応じて、オペレータがチャットを行ういわゆる有人対応を行うことができる。
【0003】
例えば、チャットボットで用いられる対話シナリオの編集作業を補助するため、対話シナリオのうち、どの分岐がどの程度選択されたかを示す情報を文字及び図等によって表示する方法が知られている。このようにして、流れによって変わる対話シナリオを編集する上で、選択肢に対応する情報を纏めて閲覧できるようにする等の補助を行う方法が知られている(例えば、特許文献1等を参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、会話内容に個人情報が含まれているか否かが提供されないという問題がある。会話内容は少なくとも一定期間保存されているが、会話の過程でユーザーやオペレータが入力した個人情報も保存されている。管理者は会話内容を閲覧できるが、会話内容に個人情報が含まれているか否かが提供されないと管理者が気づかないまま個人情報が漏洩するおそれがあった。
【0005】
本発明は、上記課題に鑑み、会話内容に個人情報が含まれているか否かを提供する情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明は、上記課題に鑑み、第一の端末装置と会話する情報処理システムであって、前記第一の端末装置と前記情報処理システムとの会話内容を保存する保存部と、前記会話内容から個人情報を検出する個人情報検出部と、第二の端末装置から前記会話内容のリストを要求された場合、前記会話内容に個人情報が含まれるか否かが設定された会話内容のリストを前記第二の端末装置に送信する通信部と、を有する。
【発明の効果】
【0007】
会話内容に個人情報が含まれているか否かを提供する情報処理システムを提供できる。
【図面の簡単な説明】
【0008】
【
図1】有人対応が可能なチャットボットシステムの動作の概略を説明する図である。
【
図2】チャットボットシステムの全体構成例を示す図である。
【
図3】コンピュータの一例のハードウェア構成図である。
【
図4】チャットボットシステムが有するサーバー装置、ユーザー端末、管理者端末及びオペレータ端末の機能構成例を示す図である。
【
図5】シナリオ情報記憶部に記憶されているシナリオ情報の一例を示す図である。
【
図6】質問回答情報記憶部が保持する質問回答情報の一例を示す図である。
【
図7】チャット履歴情報記憶部が保持するチャット履歴情報の一例を示す図である。
【
図8】個人情報パターン記憶部が保持する個人情報パターンの一例を示す図である。
【
図9】ユーザーがボットとチャットする手順を示すシーケンス図の一例である。
【
図10】ユーザー端末により表示された個人情報を含むチャット画面の一例を示す図である。
【
図11】個人情報検出部が会話内容から個人情報を検出する手順を示すフローチャート図の一例である。
【0009】
【
図12】チャット履歴一覧画面の表示、個人情報の匿名化、及び、チャット履歴の出力を説明するシーケンス図の一例である。
【
図13】管理者端末が表示するチャット履歴一覧画面の一例を示す図である。
【
図14】管理者端末がチャット履歴一覧画面を表示する手順を示すフローチャート図の一例である。
【
図15】チャットの履歴に含まれる個人情報の匿名化処理の手順を示すフローチャート図である。
【
図16】匿名化処理が行われた後のチャット履歴情報を示す図の一例である。
【
図17】匿名化処理が行われた後に、チャット履歴一覧画面でチャットの履歴のリストからチャットの履歴が選択された場合に表示されるチャット画面の一例を示す図である。
【
図18】サーバー装置が会話内容をファイルへ出力する手順を示すフローチャート図の一例である。
【発明を実施するための形態】
【0010】
以下、本発明を実施するための形態の一例としてチャットボットシステムと、チャットボットシステムが行う情報管理方法について図面を参照しながら説明する。
【0011】
<チャットボットシステムの概略>
図1は、有人対応が可能なチャットボットシステム100の動作の概略を説明する図である。ユーザー端末2ではWebブラウザが動作しており、サーバー装置1が提供するWebアプリを実行する。Webアプリは、ユーザーの質問に回答するチャットボットを実現している。
【0012】
(1) 例えば、カタログが欲しいユーザー、商品の仕様を知りたいユーザー、又は、購入した商品の使い方が分からないユーザー等は、Webアプリが動作しているユーザー端末2(第一の端末装置の一例)に質問を入力する。
【0013】
(2) サーバー装置1は質問からキーワードを抽出して、質問の内容を理解する。サーバー装置1は質問と回答の対応を学習したAI(Artificial Intelligence)でもよい。
【0014】
(3) サーバー装置1は、質問回答情報記憶部42から質問に対応する回答を取得する。
【0015】
(4) サーバー装置1は回答をユーザー端末2に送信する。また、質問によりシナリオが特定された場合、サーバー装置1は会話のためのシナリオに基づいて、メッセージをユーザー端末2に送信する。シナリオとは、予め登録されている会話の流れであり、ユーザーから取得すべき情報を順番に問い合わせるためのメッセージを有している。
【0016】
(5) サーバー装置1は質問と回答の対応など、問い合わせ履歴をチャット履歴情報記憶部43に保存しておく。サーバー装置1は個人情報を検出して、個人情報が含まれるチャット履歴情報にはその旨を設定する。
【0017】
(6) 一方、サーバー装置1が回答を見つけられない場合(ユーザーが期待した回答がない場合を含む)、ユーザーは有人対応を希望する操作をユーザー端末2に入力する。これにより、過去のチャット内容がオペレータに転送される。
【0018】
(7) オペレータは自分が持つ知識や調べた内容を用いて、質問に対する回答をオペレータ端末5に入力するので、ユーザー端末2はユーザーが期待する回答を受け取りやすくなる。
【0019】
(8) 管理者は管理者端末3(第二の端末装置の一例)をサーバー装置1と接続させ、質問に対する回答を充実させる等のため、質問回答情報を編集できる。
【0020】
(9) また、管理者はチャット履歴情報記憶部43の過去のチャットの履歴を閲覧できる。サーバー装置1は1つのセッションごとに個人情報が含まれるか否かを管理者に通知する。管理者端末3はチャットの履歴に個人情報が含まれるか否かを表示する。
【0021】
従って、管理者はチャットの履歴に個人情報が含まれるかどうかを容易に判断でき、チャットの履歴から個人情報を削除することができる。
【0022】
<用語について>
ボットとは、一定のタスクや処理を自動化するためのアプリケーションやプログラムをいう。本実施形態では、チャットボットを略してボットという。
【0023】
会話とは、互いに話したり聞いたりして、共通の話を進めることをいう。会話は、質問と回答が交互に繰り返されて進行する場合がある。質問とは、疑問や理由を問いただすこと、又は、そのための情報をいう。回答とは、質問に対する返事である。なお、会話の内容は質問と回答には限らない。
【0024】
会話のうち、リアルタイムに複数の人が文字を入力して(キーボードを使用しても音声入力でもよい)会話を交わすことをチャットという。会話とチャットは厳密には区別されなくてよい。
【0025】
個人情報とは、任意の一人の個人に関する情報であり、かつその情報に含まれる記述等によって特定の個人を識別できるものをいう。例えば、個人情報は、氏名、電話番号、メールアドレス、生年月日、住所、国籍、性別、出身校、クレジットカードの番号、マイナンバーカードの番号、免許証に含まれる情報、社会保険カードに含まれる情報、収入、資産、家族構成、及び、有人関係等がある。
【0026】
匿名化とは、個人情報を削除又は変更するデータ処理をいう。単に削除のみしてもよいし、個人情報が別のデータに置き換わってもよい。匿名化は暗号化してもよい。匿名化の後、個人情報が再生可能でもよいし、再生不可でもよい。
【0027】
<システム構成例>
図2は、チャットボットシステムの全体構成例を示す図である。チャットボットシステム100は、サーバー装置1を有する。サーバー装置1は、ユーザー端末2、管理者端末3及びオペレータ端末5の1つ以上とネットワークを介して通信する場合がある。
【0028】
サーバー装置1は、チャットボットサービスを提供する情報処理システムの例である。サーバーとは、クライアントからの要求に対して情報や処理結果を提供する機能を果たすコンピュータやソフトウェアである。サーバー装置1は、インターネット上に存在してもよいし、オンプレミスに存在してもよい。本実施形態では、サーバー装置1はオンプレミスに存在すると共に、社外からのチャット要求をサーバー装置1に伝達する仕組みを有している。
【0029】
また、サーバー装置1はクラウドコンピューティングに対応していてよい。クラウドとは、特定のハードウェア資源を意図しない場合に用いられる用語である。
【0030】
サーバー装置1は、一台の情報処理装置で構成されても、複数の情報処理装置で構成されてもよい。以下、サーバー装置1が1台でサービスを提供する例で説明する。
【0031】
ユーザー端末2は、チャットボットサービスにおいて、ユーザーが質問を入力したり、回答を閲覧したりする操作を行う情報処理装置である。このユーザーは社員の場合もあるし、社外の一般人の場合もある。ユーザー端末2は、Webブラウザ又はアプリ(Webアプリに対しネイティブアプリという)が動作している。ユーザー端末2は、具体的には、スマートフォン、携帯電話、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC(Personal Computer)、PC、などであるがこれらには限られない。
【0032】
管理者端末3は、サーバー装置1等を管理するため、管理者等が質問回答情報の編集等の操作を行う情報処理装置である。管理者端末3は、Webブラウザ又はアプリ(Webアプリに対しネイティブアプリという)が動作している。管理者端末3は、具体的には、スマートフォン、携帯電話、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC(Personal Computer)、PC、などであるがこれらには限られない。
【0033】
オペレータ端末5は、チャットボットサービスにおいて、有人対応を行うオペレータが回答の入力等の操作を行う情報処理装置である。オペレータ端末5は、Webブラウザ又はアプリ(Webアプリに対しネイティブアプリという)が動作している。オペレータ端末5は、具体的には、スマートフォン、携帯電話、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPC(Personal Computer)、PC、などであるがこれらには限られない。また、管理者とオペレータが同じ社員であってもよい(管理者端末3とオペレータ端末5は同じものでもよい)。
【0034】
サーバー装置1、ユーザー端末2、管理者端末3及びオペレータ端末5は、ネットワーク4を介して互いに接続する。例えば、ネットワーク4は、LAN(Local Area Network)、WAN、及びインターネット等の1つ以上の組み合わせにより構築される。ネットワーク4に電話通信網が接続される場合もある。ネットワーク4の一部又は全体が有線又は無線でもよい。更に、可視光通信やBluetooth(登録商標)、赤外線通信等の近距離通信が含まれてもよい。
【0035】
サーバー装置1は、ユーザー端末2、管理者端末3及びオペレータ端末5等と通信を行う。例えば、サーバー装置1は、ユーザーが入力する質問等の入力情報に対して、回答等となる応答情報を応答する、いわゆるチャットボットサービス等を提供する。
【0036】
また、サーバー装置1は、ユーザー端末2及びオペレータ端末5との間、又は複数のユーザー端末2間において、メッセージの送受信、いわゆるチャット等のサービスを提供する。すなわち、サーバー装置1は、インスタントメッセージサービス等を提供する。
【0037】
<ハードウェア構成例>
<<コンピュータ>>
図2のサーバー装置1、ユーザー端末2、管理者端末3及びオペレータ端末5は例えば
図3に示すハードウェア構成のコンピュータにより実現される。
図3はコンピュータの一例のハードウェア構成図である。
図3のコンピュータ500はコンピュータによって構築されており、
図3に示されているように、CPU501、ROM502、RAM503、HD504、HDDコントローラ505(Hard Disk Drive)、ディスプレイ506、外部機器接続I/F508(Interface)、ネットワークI/F509、バスライン510、キーボード511、ポインティングデバイス512、光学ドライブ514、メディアI/F516を備えている。
【0038】
これらのうち、CPU501は、コンピュータ全体の動作を制御する。ROM502は、IPL等のCPU501の駆動に用いられるプログラムを記憶する。RAM503は、CPU501のワークエリアとして使用される。HD504は、プログラム等の各種データを記憶する。HDDコントローラ505は、CPU501の制御に従ってHD504に対する各種データの読み出し又は書き込みを制御する。ディスプレイ506は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F508は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F509は、通信ネットワークを利用してデータ通信をするためのインターフェースである。バスライン510は、
図3に示されているCPU501等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
【0039】
また、キーボード511は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス512は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。光学ドライブ514は、着脱可能な光記憶媒体513に対する各種データの読み出し又は書き込みを制御する。なお、光学ドライブ514はCD、DVD、Blu-Ray(登録商標)等である。メディアI/F516は、フラッシュメモリ等の記録メディア515に対するデータの読み出し又は書き込み(記憶)を制御する。
【0040】
<機能ブロック図>
図4は、チャットボットシステム100が有するサーバー装置1、ユーザー端末2、管理者端末3及びオペレータ端末5の機能構成例を示す図である。
【0041】
サーバー装置1は、取得部11、検索部12、応答部13、通信部14、対話制御部15、保存部16、呼出部17、画面提供部18、個人情報検出部19、匿名化処理部61、及び、出力処理部62を有する。サーバー装置1が有するこれらの機能は、
図3に示したコンピュータ500が有するCPU501が、HD504からRAM503に展開されたプログラムを実行することで実現される機能又は手段である。
【0042】
取得部11は、通信部14を介して、ユーザー端末2に入力される質問などの入力情報を取得する。検索部12は、入力情報に形態素解析を行い、質問回答情報記憶部42を検索する。このため、検索部12は、各質問回答情報に含まれる質問を予め形態素解析で複数のキーワードに分解しておく。そして、検索部12は、受信した質問文を形態素解析で複数のキーワードに分解する。また、検索部12は、別途、登録された類義語(例えば、採用の類語として「雇う」などを登録する)を参照し、類義語でも質問回答情報を検索する。検索部12はユーザーの質問と質問回答情報の質問の一致度を算出し、一致度が閾値以上で高い順にN個の回答を決定する。応答部13は、通信部14を介して、検索部12が検索して得た回答を応答情報としてユーザー端末2に応答する。
【0043】
取得部11、検索部12、及び、応答部13によって、入力部21を介して入力される入力情報に対する応答情報が出力部22で出力される。従って、取得部11、検索部12、及び、応答部13によって、ボット200が実現される。
【0044】
なお、検索部12は、単に形態素解析でキーワードを決定するのでなく、質問とその意図の対応を学習したAIでキーワードを決定してもよい。この場合、意図がキーワードとなるが、質問に含まれないキーワードも抽出可能となる。また、検索部12が質問だけでなく、時間帯や天候などの状況を考慮してキーワードを決定可能になる。
【0045】
検索部12が検索した回答によりシナリオが定まった場合、対話制御部15は、シナリオに基づいて、ユーザー端末2とボットとの会話の流れを制御する。詳細はシナリオ情報記憶部41にて説明する。また、対話制御部15は、ユーザー端末2から有人チャットを要求されると、適切なオペレータを特定する。
【0046】
保存部16は、チャットの履歴をチャット履歴情報記憶部43に保存する。呼出部17は、ユーザーが有人対応を望んだ場合に、対話制御部15が決定したオペレータ端末5を呼び出す。呼出部17は、オペレータ端末5から対話開始を取得すると、対話制御部15に通知する。対話制御部15は、ユーザー端末2とオペレータ端末5との間でチャットを開始する。
【0047】
画面提供部18は、管理者端末3が表示する各種の画面を生成し、その画面情報を管理者端末3に提供する。画面情報は、HTML、XML、スクリプト言語、及びCSS(cascading style sheet)等で記述されたプログラムであり、主にHTMLによりWebページの構造が特定され、スクリプト言語によりWebページの動作が規定され、CSSによりWebページのスタイルが特定される。
【0048】
個人情報検出部19は、チャットの履歴の会話内容から個人情報を検出し、個人情報がある場合には個人情報を取り分けておき、また、チャット履歴情報記憶部43にその旨を記録する。
【0049】
ユーザー端末2、管理者端末3及びオペレータ端末5は、それぞれ入力部21,31,51、出力部22,32,52、及び、通信部23,33,53を有する。ユーザー端末2、管理者端末3及びオペレータ端末5が有するこれらの機能は、
図3に示したコンピュータ500が有するCPU501が、HD504からRAM503に展開されたプログラムを実行することで実現される機能又は手段である。
【0050】
入力部21,31,51は、ユーザー、管理者又はオペレータからの入力や操作を受け付ける。出力部22,32,52は、サーバー装置1から送信された各種の情報(回答、画面等)をディスプレイに出力する。通信部23,33,53は、サーバー装置1と各種の情報を送受信する。
【0051】
<記憶部の内容>
以下では、
図5~
図8を参照して、サーバー装置1の記憶部40が保持する情報について説明する。
【0052】
図5は、シナリオ情報記憶部41に記憶されているシナリオ情報の一例である。シナリオ情報には、シナリオごとに、サーバー装置1がユーザー端末2に送信するメッセージが順番に登録されている。
【0053】
・IDは、シナリオを識別する識別情報である。
【0054】
・シナリオ名は、シナリオの名称である。
【0055】
・各シナリオには、シナリオの詳細が対応付けられている。シナリオの詳細は、順番、メッセージ、及び、次の順番に進む条件を有している。当該シナリオにおいて、ユーザーの入力が、次の順番に進む条件を満たす場合、メッセージが順番に従ってユーザー端末2に送信される。
【0056】
補足すると、形態素解析で質問に対応する回答が特定されると、次述する質問回答情報によりシナリオが決定される。質問回答情報の回答には、<シナリオ01>のように、回答として参照するシナリオのIDが設定されている。例えば、ID=01のシナリオを参照することが回答に設定されている場合、対話制御部15は、IDに対応するシナリオの詳細に記載された順番で、メッセージをユーザー端末2に表示させる。また、その後、ユーザー端末2から送信された入力情報が「次の順番へ進む条件」を満たした場合に、対話制御部15は、次の順番のメッセージをユーザー端末2に表示させる。これを繰り返すことで、対話制御部15は、シナリオに必要な情報をユーザーに入力させる。
【0057】
なお、シナリオは必ずしも順番に進行しなくてもよく、シナリオに必要な全ての情報(お名前、電話番号、メールアドレス)が最終的に揃うように進行されればよい。
【0058】
図6は、質問回答情報記憶部42が保持する質問回答情報の一例である。質問回答情報は、ユーザー端末2から送信された質問の検索と、この質問に対応する回答の提供に使用される。ボットが質問し、ユーザー端末2が回答する場合もある。質問回答情報が有する各項目について説明する。
【0059】
・IDは、質問回答情報(質問とその回答の対応)を識別する識別情報である。
【0060】
・質問は、管理者が登録した、ユーザーから想定される問い合わせの具体的な内容である。質問は、上記のように形態素解析でキーワードに分解され、検索部12がユーザー端末2から送信された質問(形態素解析でキーワードに分解される)で検索される対象となる。
【0061】
・回答は、質問に対する回答である。管理者は、質問に対する適切な回答を登録しておく。
図5で説明したように、回答にはシナリオのIDが登録されている。
【0062】
図7は、チャット履歴情報記憶部43が保持するチャット履歴情報の一例である。チャット履歴情報は、ユーザーとボット又はオペレータがチャットした内容を管理する。チャット履歴情報が有する各項目について説明する。
【0063】
・セッションIDは、ユーザーとオペレータがチャットを開始してから終了するまでの通信の識別情報である。このセッションIDによりユーザー端末2とオペレータ端末5の対応が管理され、質問に対する回答がユーザー端末2に送信される。セッションIDは重複しない番号であればよく、例えばUUIDやハッシュ値でよい。
【0064】
・日時は、ユーザー端末2がチャット画面を表示した日時である。
【0065】
・会話履歴は、発言者と会話内容を対応付けている。発言者は、ユーザー、ボット、又は、オペレータの名前である。会話内容はシナリオに沿って進行する。ユーザーが質問する場合もボットが質問する場合もあり、ユーザーが回答する場合もボットが回答する場合もある。会話内容に個人情報が含まれる場合、個人情報の項目に、会話内容から検出された個人情報(テキストデータ)が設定される。
【0066】
・質問者IDは、質問したユーザーに割り当てられた識別情報である。本実施形態のチャットボットシステム100は任意のユーザーが使用できるため、この質問者IDは同じユーザーでもチャットボットシステム100にアクセスするごとに変わる。あるいは、クッキーを利用して、同じユーザーには同じ質問者IDが割り当てられてもよい。ユーザーがサーバー装置1(又はネイティブアプリ)にログインする場合、ログインIDが質問者IDとなる。
【0067】
・カテゴリは、当該チャットの質問から判断されたシナリオの名称である。カテゴリは、1つとは限らない。また、同じセッションでもカテゴリが変化してよい。シナリオに基づいて会話が進行していない場合、カテゴリはユーザーが選択した質問の種類となる場合もある。
【0068】
・個人情報アラートは、1つのセッションの会話内容に1つでも個人情報が含まれる場合、ONになる。
【0069】
図8は、個人情報パターン記憶部44が保持する個人情報パターンの一例である。個人情報パターンは、個人情報の一般的な形式を定める。
【0070】
・種別は、電話番号やメールアドレスなど個人情報の具体的な名称である。
【0071】
・パターンは、数字、英数字、記号などの形式(配置順)を示す。例えば、電話番号は、決まった桁の数字と「-」の繰り返しである。
【0072】
電話番号やメールアドレス以外の個人情報も同様にパターンが登録される。また、個人情報パターンでなく、機械学習で生成された認識エンジンが個人情報を検出してもよい。機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり、コンピュータが,データ識別等の判断に必要なアルゴリズムを,事前に取り込まれる学習データから自律的に生成し,新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、更に、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。また、認識エンジンは機械学習の学習効果によって生成されたものでなくてもよい。
【0073】
<チャットの手順>
図9は、ユーザーがボットとチャットする手順を示すシーケンス図の一例である。
図9の処理は、ユーザー端末2がサーバー装置1に接続し、チャット画面を表示した状態からスタートする。
【0074】
S101:ユーザーが質問をユーザー端末2に入力する。入力部21は入力を受け付ける。ユーザーが単にメッセージを送信してもよい。
【0075】
S102:ユーザー端末2の通信部23は質問をサーバー装置1に送信する。質問には、質問者IDとセッションIDが添付される。セッションIDは、ユーザー端末2とサーバー装置1との接続が確立したタイミングで生成され、ユーザー端末2に送信されている。
【0076】
S103:サーバー装置1の通信部14は質問を受信し、保存部16が質問等をチャット履歴情報記憶部43に記録する。対話制御部15は、質問に基づいてシナリオを決定する。
【0077】
S104:個人情報検出部19は、会話内容から個人情報を検出し、チャット履歴情報記憶部43に記録する。詳細は
図11にて説明する。サーバー装置1が会話内容を受信した直後に個人情報を検出しておくので、後の匿名化要求に対して、要求から匿名化処理までにかかる時間を短くできる。
【0078】
S105:シナリオが決まった場合、対話制御部15はシナリオに基づいてメッセージを決定する。シナリオが決まっていない場合、検索部12が質問回答情報を検索して、回答を特定する。
【0079】
S106:応答部13は通信部14を介して、メッセージ又は回答をユーザー端末2に送信する。
【0080】
S107:ユーザー端末2の通信部23はメッセージ又は回答を受信し、出力部22がメッセージ又は回答をチャット画面に表示する。
【0081】
S108:保存部16は、回答をチャット履歴情報記憶部43に記録する。
【0082】
<個人情報を含むチャットの例>
図10は、ユーザー端末2により表示された個人情報を含むチャット画面110の一例である。
図10は、イベント登録のシナリオに基づくチャットである。ユーザーはチャットによりあるイベントに自分の情報を登録している。
【0083】
まず、ユーザーの「イベントの参加登録をしたい」という質問117に対し、検索部12が質問回答情報を検索し、「登録情報を入力して下さい」という回答118を得る。回答118によりシナリオが決定される。
【0084】
対話制御部15はシナリオに従って、「お名前を入力して下さい。」というメッセージ111をユーザー端末2に送信する。これに対し、ユーザーが「会話太郎です」という氏名112を入力している。対話制御部15は、シナリオの「次の順番に進む条件」を満たすと判断し、「電話番号を入力して下さい。」というメッセージ113をユーザー端末2に送信する。ユーザーが「000-0000-0000」という電話番号114を入力している。対話制御部15は、シナリオの「次の順番に進む条件」を満たすと判断し、「メールアドレスを入力して下さい。」というメッセージ115をユーザー端末2に送信する。ユーザーが「●●●@▲▲▲.com」というメールアドレス116を入力している。対話制御部15は、シナリオの「次の順番に進む条件」を満たすと判断し、「参加登録が完了しました。登録されたメールアドレスにイベントの情報をお送りします。」というメッセージ119をユーザー端末2に送信する。
【0085】
個人情報検出部19は、
図8で説明した個人情報パターンに一致又は類似するか否かに基づいて、ユーザーが入力した会話内容から個人情報(氏名112、電話番号114、メールアドレス116)を検出する。
【0086】
なお、
図10では、シナリオに従ってボットが質問してユーザーが回答しているが、ユーザーが質問して、ボットが回答しても、個人情報が含まれれば検出される。
【0087】
<個人情報の検出処理>
図11は、個人情報検出部19が会話内容から個人情報を検出する手順を示すフローチャート図の一例である。
図11の処理は、ユーザー、ボット、又は、オペレータの入力情報がサーバー装置1に送信され、保存部16がチャット履歴情報記憶部43にチャットの履歴を記憶する場合にスタートする。
【0088】
個人情報検出部19は、保存部16が保存した会話内容から、個人情報パターンに合致する文字列を特定する(S1)。
【0089】
特定できた場合(S2のYes)、個人情報検出部19は特定した文字列をチャット履歴情報記憶部43の「個人情報」の項目の値として格納し、「個人情報アラート」の項目の値を「ON」に設定する(S3)。
【0090】
こうすることで、個人情報を含むチャットの履歴が特定され、管理者が削除することができる。あるいは、一定時間の経過後、サーバー装置1が自動的に削除できる。
【0091】
<チャット履歴一覧の表示>
個人情報を含むチャットの履歴の表示について説明する。サーバー装置1はチャットの履歴を管理者端末3に提供する場合、「個人情報アラート」の項目がONかどうかを表示する。また、サーバー装置1は管理者からの要求で個人情報を匿名化する。
【0092】
図12は、チャット履歴一覧画面120の表示、個人情報の匿名化、及び、チャット履歴の出力を説明するシーケンス図の一例である。
【0093】
S201:管理者がチャット履歴一覧画面120を表示する操作を管理者端末3に入力する。入力部31は操作を受け付ける。
【0094】
S202:管理者端末3の通信部33はチャット履歴一覧画面120の要求をサーバー装置1に送信する。
【0095】
S203:サーバー装置1の通信部14はチャット履歴一覧画面120の要求を受信し、画面提供部18がチャット履歴情報記憶部43を参照して、チャット履歴一覧画面120を生成する。詳細は
図13にて説明する。サーバー装置1がチャット履歴情報を管理者端末3に送信し、管理者端末3がチャット履歴一覧画面を生成してもよい。
【0096】
S204:サーバー装置1の通信部14はチャット履歴一覧画面120の画面情報を管理者端末3に送信する。
【0097】
S205:管理者端末3の通信部33はチャット履歴一覧画面120の画面情報を受信し、出力部32がチャット履歴一覧画面120を表示する。
【0098】
S206:後述するように、管理者は個人情報の匿名化をチャット履歴一覧画面120に指示できる。入力部31は指示を受け付ける。
【0099】
S207:管理者端末3の通信部33は、個人情報の匿名化をサーバー装置1に要求する。
【0100】
S208:サーバー装置1の通信部14は個人情報の匿名化の要求を受信し、個人情報検出部19が会話内容の個人情報を匿名化する。詳細は
図15にて説明する。
【0101】
S209:サーバー装置1の通信部14は実行完了を管理者端末3に送信する。
【0102】
S210:管理者端末3の通信部33は実行完了を受信し、出力部32がその旨を表示する。
【0103】
S211:後述するように、管理者はチャットの履歴の出力をチャット履歴一覧画面120に指示できる。入力部31は指示を受け付ける。
【0104】
S212:管理者端末3の通信部33は、チャットの履歴の出力要求をサーバー装置1に送信する。
【0105】
S213:サーバー装置1の通信部14はチャットの履歴の出力要求を受信し、出力処理部62がチャットの履歴をCSV形式でファイルに出力する。
【0106】
S214:サーバー装置1の通信部14は、チャットの履歴を含むファイルを管理者端末3に送信する。
【0107】
こうすることで、管理者端末3がチャットの履歴を取得しても個人情報が匿名化されているので、漏洩するおそれを抑制できる。
【0108】
図13は、管理者端末3が表示するチャット履歴一覧画面120の一例である。チャット履歴一覧画面120は、チャット履歴情報記憶部43に記憶されているチャットの履歴のリスト124を表示する。リスト124にはチャットの開始時の会話内容126やカテゴリ127が表示される。チャットの開始時の会話内容126しか表示されないので、個人情報が漏洩しにくい。管理者がリスト124から任意のチャットを選択すると、チャット画面が再現して表示される。
【0109】
リスト124は、「個人情報アラート」の項目に対応する個人情報の項目125を有する。「個人情報アラート」の項目がONの場合、チャット履歴一覧画面120の個人情報の項目125が「あり」になる。従って、管理者端末3はサーバー装置1から受信したチャット履歴一覧画面120に、チャットの履歴が個人情報を含むか否かを表示できる。
【0110】
チャット履歴一覧画面120は、個人情報ありボタン121を有し、管理者は「個人情報アラート」の項目がONのチャットの履歴のリストのみを表示することができる。
【0111】
チャット履歴一覧画面120は、匿名化ボタン122を有し、管理者が、個人情報の履歴から個人情報を匿名化することをサーバー装置1に要求できる。このように、管理者は、自分で個人情報を探して削除するよりも容易に、チャットの履歴から個人情報を削除できる。
【0112】
また、チャット履歴一覧画面120はエクスポートボタン123を有しており、管理者が押下するとCSV形式でチャットの履歴をファイルに出力できる。ファイルの出力の際も個人情報が匿名化される。
【0113】
図14は、管理者端末3がチャット履歴一覧画面120を表示する手順を示すフローチャート図の一例である。
図14の処理は、例えば、サーバー装置1が管理者端末3からチャット履歴一覧画面120を要求されるとスタートする。
【0114】
画面提供部18は、チャット履歴情報記憶部43から「個人情報アラート」の項目の値を取得する(S11)。
【0115】
「個人情報アラート」の項目がONの場合(S12のYes)、画面提供部18はチャット履歴一覧画面120の個人情報の項目125に「あり」を設定する(S13)。
【0116】
「個人情報アラート」の項目がONでない場合(S12のNo)、画面提供部18はチャット履歴一覧画面120の個人情報の項目125に「なし」を設定する(S14)。
【0117】
画面提供部18はステップS11~S14をチャット履歴情報記憶部43に記憶されているセッションごとの各チャットの履歴について繰り返す。
【0118】
画面提供部18は、ステップS11~S14の判断結果に基づいてチャット履歴一覧画面120を生成する(S15)。チャット履歴一覧画面120の画面情報は管理者端末3に送信され、
図13のように表示される。
【0119】
図15は、チャットの履歴に含まれる個人情報の匿名化処理の手順を示すフローチャート図である。
【0120】
匿名化処理部61は、チャット履歴情報記憶部43のチャットの履歴から、「個人情報アラート」の項目の値が「ON」のチャットの履歴を特定する(S21)。
【0121】
次に、匿名化処理部61は、「個人情報アラート」の項目の値が「ON」の会話内容について、会話内容の個人情報を所定の文字列に置き換える(S22)。すでに個人情報が検出済みなので、匿名化処理部61は会話内容における「個人情報」の項目の値と一致する会話内容の文字列を所定の文字列で置き換える。また、所定の文字列は、例えば「●●……」であるが、匿名性があればどのような文字で置き換えてもよい。匿名化処理部61は置き換えずに個人情報を単に削除してもよい。
【0122】
匿名化処理部61は、「個人情報」の項目の値を削除し、「個人情報アラート」の項目の値を「OFF」に設定する(S23)。
【0123】
匿名化が終了すると、画面提供部18は、
図14の処理を行い、チャット履歴一覧画面120を更新する(S24)。
【0124】
図16は、匿名化処理が行われた後のチャット履歴情報を示す。
図7のチャット履歴情報と比較すると、会話内容の氏名、電話番号、及び、メールアドレスが、それぞれ「●●……」に置き換わっている。また、「個人情報」の項目の値から個人情報が削除されている。「個人情報アラート」の項目も「OFF」に変更されている。
【0125】
図17は、匿名化処理が行われた後に、チャット履歴一覧画面120でチャットの履歴のリストからチャットの履歴が選択された場合に表示されるチャット画面130の一例である。
図17のチャット画面130は、
図10のチャット画面110から個人情報が匿名化された状態を示す。会話内容の表示要求に応じて、画面提供部18が匿名化処理後の会話内容を管理者端末3に送信する。
【0126】
図10で表示されていた氏名112、電話番号114、及び、メールアドレス116が、それぞれ「●●……」131~133に置き換わっている。従って、管理者がチャットの履歴を閲覧しても個人情報が漏洩することを抑制できる。
【0127】
<会話内容のファイルへの出力>
図18は、サーバー装置1が会話内容をファイルへ出力する手順を示すフローチャート図の一例である。
【0128】
出力処理部62は、出力対象の各チャットの履歴を対象に以下の処理を実行する。出力対象のチャットの履歴は、例えば、管理者が選択したものでもよいし、チャット履歴一覧画面120に表示された全てのチャットの履歴でもよい。
【0129】
まず、出力処理部62は「個人情報」の項目に値(個人情報があれば何らかのテキストがある)が登録されているか否かを判断する(S31)。
【0130】
ステップS31の判断がNoの場合、出力処理部62は会話内容を取得し、指定されたファイルに出力する(S32)。
【0131】
ステップS31の判断がYesの場合、出力処理部62は会話内容を取得し、当該会話内容に含まれる「個人情報」の項目の値を所定の文字列に置き換えて、指定されたファイルに出力する(S33)。チャット履歴情報の会話内容の個人情報は匿名化されず、「個人情報アラート」の項目の値も「ON」のままである。
【0132】
出力処理部62は、日時や発言者など、その他の項目の値を取得し、会話内容に対応付けて指定されたファイルに出力する(S34)。
【0133】
こうすることで、チャット履歴情報において匿名化処理が行われていなくても、ファイルへの出力時には匿名化されたチャットの履歴をファイルへ出力できる。
【0134】
<主な効果>
本実施形態によれば、チャット履歴一覧画面に個人情報が含まれるか否かが表示されるので、管理者はチャットの履歴に個人情報が含まれるかどうかを容易に判断できる。また、管理者が匿名化ボタンを押下することで、チャットの履歴から個人情報を削除することができる。チャットの履歴をファイルに出力する場合も、サーバー装置1が個人情報を匿名化できる。
【0135】
<その他の適用例>
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0136】
例えば、
図4などの構成例は、ユーザー端末2,管理者端末3、オペレータ端末5及びサーバー装置1による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。ユーザー端末2,管理者端末3、オペレータ端末5及びサーバー装置1の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0137】
また、実施例に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、サーバー装置1は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。
【0138】
更に、サーバー装置1は、本実施形態で開示された処理ステップ、例えば
図11,
図14,
図15、
図18を様々な組み合わせで共有するように構成できる。例えば、所定のユニットによって実行されるプロセスは、サーバー装置1が有する複数の情報処理装置によって実行され得る。また、サーバー装置1は、1つのサーバー装置にまとめられていても良いし、複数のサーバー装置に分けられていても良い。
【0139】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【0140】
1 サーバー装置
2 ユーザー端末
3 管理者端末
5 オペレータ端末
100 チャットボットシステム
【先行技術文献】
【特許文献】
【0141】