IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7413736情報処理装置、情報処理システム、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図8
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図9
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図10
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図11
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図12
  • 特許-情報処理装置、情報処理システム、情報処理方法及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-05
(45)【発行日】2024-01-16
(54)【発明の名称】情報処理装置、情報処理システム、情報処理方法及びプログラム
(51)【国際特許分類】
   H04L 51/04 20220101AFI20240109BHJP
   G06Q 50/10 20120101ALI20240109BHJP
【FI】
H04L51/04
G06Q50/10
【請求項の数】 11
(21)【出願番号】P 2019215735
(22)【出願日】2019-11-28
(65)【公開番号】P2021086455
(43)【公開日】2021-06-03
【審査請求日】2022-09-14
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】中村 円亮
【審査官】岩田 玲彦
(56)【参考文献】
【文献】特開2019-117669(JP,A)
【文献】特開2012-129603(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/04
G06Q 50/10
(57)【特許請求の範囲】
【請求項1】
ネットワークを介して接続されるユーザ端末からの質問文に応答するチャットボットサービスを提供する情報処理装置であって、
ユーザにより前記ユーザ端末に入力される質問文を取得する質問文取得部と、
前記質問文に対する応答情報を検索する検索部と、
前記質問文に対して前記応答情報に基づく応答メッセージを前記ユーザ端末に応答する応答部と、
前記ユーザ端末の操作に応じて該ユーザ端末を識別するためのユーザ端末識別情報に基づき設定情報を特定する特定部と、
特定された前記設定情報に対応するシナリオ情報に基づく選択メニューを前記ユーザ端末に表示させ、ユーザにより選択された選択情報に応じた応答情報を前記応答メッセージとして応答するように、前記ユーザ端末への応答を切り替える切替部と、
を備える情報処理装置。
【請求項2】
前記選択メニューから前記ユーザ端末により質問文が入力されるメニューが選択された場合、または前記ユーザ端末に対応する前記設定情報に対応するシナリオ情報がない場合、前記質問文取得部は前記質問文を取得する、請求項1に記載の情報処理装置。
【請求項3】
前記ユーザ端末識別情報は、前記ユーザ端末のIPアドレスである請求項1又は2に記載の情報処理装置。
【請求項4】
前記切替部は、前記IPアドレスを構成する第1数値と、前記IPアドレスと比較させる比較用アドレスを構成する第2数値との一致度に基づいて、前記ユーザ端末への応答を制御する、請求項に記載の情報処理装置。
【請求項5】
前記切替部は、前記IPアドレスに基づいて、前記ユーザ端末が所定のネットワークに接続される端末であるか否かを判断する
請求項3又は4に記載の情報処理装置。
【請求項6】
前記ユーザ端末から、前記質問文を入力した前記ユーザを識別するユーザ識別情報を取得する識別情報取得部を更に備え、
前記切替部は、
取得された前記ユーザ識別情報に基づき、前記ユーザが操作する前記ユーザ端末への応答を制御する
請求項1乃至のいずれか項に記載の情報処理装置。
【請求項7】
前記検索部は、質問文と応答情報とが対応付けられた登録情報を検索対象として検索し、
前記切替部は、前記検索部が検索対象とする前記登録情報を切り替える
請求項1乃至のいずれか項に記載の情報処理装置。
【請求項8】
前記切替部は、
前記質問文の入力を受け付けた前記ユーザ端末と、前記ユーザ端末に対して前記質問文を入力した前記ユーザとに基づき、前記ユーザが操作するユーザ端末への応答を制御する
請求項1乃至のいずれか項に記載の情報処理装置。
【請求項9】
ユーザから入力を受け付けるユーザ端末と、ネットワークを介して接続される前記ユーザ端末からの質問文に応答するチャットボットサービスを提供する情報処理装置とを有する情報処理システムであって、
前記情報処理装置は、
ユーザにより前記ユーザ端末に入力される質問文を取得する質問文取得部と、
前記質問文に対する応答情報を検索する検索部と、
前記質問文に対して前記応答情報に基づく応答メッセージを前記ユーザ端末に応答する応答部と、
前記ユーザ端末の操作に応じて該ユーザ端末を識別するためのユーザ端末識別情報に基づき設定情報を特定する特定部と、
特定された前記設定情報に対応するシナリオ情報に基づく選択メニューを前記ユーザ端末に表示させ、ユーザにより選択された選択情報に応じた応答情報を前記応答メッセージとして応答するように、前記ユーザ端末への応答を切り替える切替部と、
を備える情報処理システム。
【請求項10】
ネットワークを介して接続されるユーザ端末からの質問文に応答するチャットボットサービスを提供する情報処理装置が行う情報処理方法であって、
前記情報処理装置が、
ユーザにより前記ユーザ端末に入力される質問文を取得する質問文取得手順と、
前記質問文に対する応答情報を検索する検索手順と、
前記質問文に対して前記応答情報に基づく応答メッセージを前記ユーザ端末に応答する応答手順と、
前記ユーザ端末の操作に応じて該ユーザ端末を識別するためのユーザ端末識別情報に基づき設定情報を特定する特定手順と、
特定された前記設定情報に対応するシナリオ情報に基づく選択メニューを前記ユーザ端末に表示させ、ユーザにより選択された選択情報に応じた応答情報を前記応答メッセージとして応答するように、前記ユーザ端末への応答を切り替える切替手順と、
実行する情報処理方法。
【請求項11】
ネットワークを介して接続されるユーザ端末からの質問文に応答するチャットボットサービスを提供するコンピュータに情報処理方法を実行させるためのプログラムであって、
前記コンピュータ
ユーザにより前記ユーザ端末に入力される質問文を取得する質問文取得手順と、
前記質問文に対する応答情報を検索する検索手順と、
コンピュータが、前記質問文に対して前記応答情報に基づく応答メッセージを前記ユーザ端末に応答する応答手順と、
前記ユーザ端末の操作に応じて該ユーザ端末を識別するためのユーザ端末識別情報に基づき設定情報を特定する特定手順と、
特定された前記設定情報に対応するシナリオ情報に基づく選択メニューを前記ユーザ端末に表示させ、ユーザにより選択された選択情報に応じた応答情報を前記応答メッセージとして応答するように、前記ユーザ端末への応答を切り替える切替手順と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、コンピュータ等の装置が、まず、ネットワーク経由でユーザが入力するテキスト、音声又は画像等をパターン認識する。次に、コンピュータ等の装置が、パターン認識の結果に基づいて、ユーザが行った会話、質問に対する回答及び機器制御等を行う、いわゆるチャットボット(単に「ボット」等と呼ばれる場合もある。)が知られている。
【0003】
例えば、チャットボットで用いられる対話シナリオの編集作業を補助するため、対話シナリオのうち、どの分岐がどの程度選択されたかを示す情報を文字及び図等によって表示する方法が知られている。このようにして、流れによって変わる対話シナリオを編集する上で、選択肢に対応する情報を纏めて閲覧できるようにする等の補助を行う方法が知られている(例えば、特許文献1等を参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の方法では、どのようなユーザ端末に入力された質問文であっても、又は、どのようなユーザが入力した質問文であっても、同一の応答をする場合が多い。具体的には、例えば、所定のネットワークに接続するユーザ端末からの質問文であっても、それ以外のユーザ端末からの質問文であっても、チャットボットは、同様の質問文であれば同様の応答メッセージを応答する場合が多い。また、所定の組織に所属するユーザからの質問文であっても、それ以外のユーザからの質問文であっても、同様の質問文であれば同様の応答メッセージを応答する場合が多い。したがって、質問元に応じて柔軟に応答できない課題があった。
【0005】
本発明は、上記課題に鑑みてなされたものであり、質問元に応じて柔軟に応答することを目的とする。
【課題を解決するための手段】
【0006】
請求項1に係る発明は、ネットワークを介して接続されるユーザ端末からの質問文に応答するチャットボットサービスを提供する情報処理装置であって、ユーザにより前記ユーザ端末に入力される質問文を取得する質問文取得部と、前記質問文に対する応答情報を検索する検索部と、前記質問文に対して前記応答情報に基づく応答メッセージを前記ユーザ端末に応答する応答部と、前記ユーザ端末の操作に応じて該ユーザ端末を識別するためのユーザ端末識別情報に基づき設定情報を特定する特定部と、特定された前記設定情報に対応するシナリオ情報に基づく選択メニューを前記ユーザ端末に表示させ、ユーザにより選択された選択情報に応じた応答情報を前記応答メッセージとして応答するように、前記ユーザ端末への応答を切り替える切替部と、を備える情報処理装置である。
【発明の効果】
【0007】
質問元に応じて柔軟に応答できる。
【図面の簡単な説明】
【0008】
図1】全体構成例を示す図である。
図2】ユーザ端末のハードウェア構成例を示す図である。
図3】管理者端末のハードウェア構成例を示す図である。
図4】サーバ装置のハードウェア構成例を示す図である。
図5】シナリオ情報に基づく対話の流れの例を示す図である。
図6】カテゴリ情報の例を示す図である。
図7】質問-回答情報の例を示す図である。
図8】問い合わせ履歴情報の例を示す図である。
図9】対話履歴情報の例を示す図である。
図10】機能構成例を示す図である。
図11】全体処理例を示す図である。
図12】条件判断の処理例を示す図である。
図13】設定情報の登録例を示す図である。
【発明を実施するための形態】
【0009】
<全体構成例>
図1は、全体構成例を示す図である。例えば、情報処理システムの例である、チャットボットシステム100は、情報処理装置の例であるサーバ装置1、及び、ユーザ端末2等を有するシステム構成である。なお、図示するように、チャットボットシステム100は、管理者端末3等のように、サーバ装置1及びユーザ端末2以外の装置を更に有してもよい。
【0010】
サーバ装置1は、チャットボットサービスを提供する情報処理装置の例である。
【0011】
ユーザ端末2は、チャットボットサービスにおいて、ユーザが質問を入力する等の操作を行う情報処理装置である。なお、ユーザ端末2は、複数接続されてもよい。また、ユーザ端末2は、常に接続されなくともよい。
【0012】
管理者端末3は、サーバ装置1等を管理するため、管理者等が入力等の操作を行う情報処理装置である。
【0013】
サーバ装置1、ユーザ端末2及び管理者端末3は、例えば、通信網4等を介して互いに接続する。
【0014】
例えば、通信網4は、インターネット等である。ただし、通信網4は、有線又は無線で通信を行う、LAN(Local Area Network)、WAN(Wide Area Network)、近距離通信又はこれらの組み合わせとなる通信網等でもよい。
【0015】
サーバ装置1は、ユーザ端末2及び管理者端末3等と通信を行う。例えば、サーバ装置1は、ユーザが入力する質問文に対して、回答等となる応答メッセージを応答する、いわゆるチャットボットサービス等を提供する。
【0016】
また、サーバ装置1は、複数のユーザ間において、メッセージの送受信、いわゆるチャット等のサービスを提供する。すなわち、サーバ装置1は、インスタントメッセージサービス等を提供する。なお、様々なサービスは、複数の情報処理装置で提供されてもよい。以下、サーバ装置1が1台の情報処理装置でサービスを提供する例で説明する。
【0017】
チャットボットサービスでは、ユーザ端末2に、ユーザが質問文を入力すると、サーバ装置1は、通信網4等を介して、ユーザ端末2から質問文を取得する。次に、サーバ装置1は、質問文が示す質問に対する回答等となる情報(以下「応答情報」という。)を検索する。そして、サーバ装置1は、質問文に対する応答情報に基づいて、応答メッセージを生成してユーザ端末2に通信網4等を介して応答する。このようにすると、ユーザ端末2では、質問文に対する応答情報が応答メッセージ等の形式でユーザに表示される。このようにして、ユーザは、チャットボットサービスを利用して、質問に対する回答を得る。
【0018】
具体的には、チャットボットサービスを実現するのに用いられるそれぞれの装置及びデータベースは、例えば、以下のようなハードウェア構成及びデータ構成である。
【0019】
<ユーザ端末の例>
図2は、ユーザ端末のハードウェア構成例を示す図である。例えば、ユーザ端末2は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、メモリ204、通信I/F205、操作I/F206、及び、表示装置207を含むハードウェア構成である。また、ユーザ端末2が有するハードウェアは、例えば、バス等で互いに接続する。なお、ユーザ端末2が有するハードウェアは、有線又は無線の通信によって他の装置等と接続してもよい。
【0020】
ユーザ端末2は、例えば、PC(Personal Computer)、スマートフォン又はタブレット等の情報処理装置である。
【0021】
CPU201は、演算部及び制御部等の機能を実現する。また、CPU201は、制御装置及び演算装置の例である。
【0022】
ROM202は、不揮発性半導体による記憶装置等である。
【0023】
RAM203は、揮発性半導体による記憶装置等である。
【0024】
メモリ204は、主記憶装置の例である。例えば、メモリ204は、通信網4を介して取得された情報を記憶する。なお、ユーザ端末2は、ハードディスク又はSSD(Solid State Drive)等の補助記憶装置を更に有してもよい。また、ROM202、RAM203及びメモリ204等は、記憶部の機能を実現する。
【0025】
通信I/F205は、通信部等の機能を実現する。例えば、通信I/F205は、接続端子及び通信回路等である。
【0026】
操作I/F206は、入力部等の機能を実現する。例えば、操作I/F206は、ボタン、キーボード、ダイヤル、キー、タッチパネル及びマイク等の入力装置である。
【0027】
表示装置207は、出力部の機能を実現する。例えば、表示装置207は、液晶パネル、有機EL(Electroluminescence)及び無機EL等の出力装置である。なお、表示装置207及び操作I/F206は、タッチパネルのように一体でもよい。
【0028】
なお、プログラムは、ROM202及びメモリ204に限らず、例えば、補助記憶装置等に格納されもよい。また、プログラムは、ネットワーク等を介して取得されてもよい。
【0029】
<管理者端末の例>
図3は、管理者端末のハードウェア構成例を示す図である。例えば、管理者端末3は、CPU301、ROM302、RAM303、メモリ304、通信I/F305、操作I/F306、及び、表示装置307を含むハードウェア構成である。以下、管理者端末3がユーザ端末2と同一のハードウェア構成である例で説明し、重複する説明を省略する。ただし、管理者端末3は、ユーザ端末2及びサーバ装置1等と異なるハードウェア構成でもよい。
【0030】
<サーバ装置の例>
図4は、サーバ装置のハードウェア構成例を示す図である。例えば、サーバ装置1は、CPU101、ROM102、RAM103、メモリ104、通信I/F105、操作I/F106、及び、表示装置107を含むハードウェア構成である。以下、サーバ装置1がユーザ端末2と同一のハードウェア構成である例で説明し、重複する説明を省略する。ただし、サーバ装置1は、ユーザ端末2及び管理者端末3等と異なるハードウェア構成でもよい。
【0031】
<データベース(以下「DB」という。)の例>
チャットボットシステム100でチャットボットサービスを行う場合には、サーバ装置1に、例えば、以下のようなDBがあらかじめ構築される。以下、サーバ装置1に、キーワードDB、類義語DB、対話シナリオDB、カテゴリDB、質問-回答DB、問い合わせ履歴DB、対話履歴DB、及び、契約情報DBを有する場合を例に説明する。
【0032】
キーワードDBは、質問及び回答の特徴を示す文字例、いわゆるキーワードを記憶する。なお、キーワードは、単語、フレーズ及び文であってもよい。また、キーワードDBは、質問-回答情報以外に関連するキーワードを記憶してもよい。
【0033】
例えば、サーバ装置1は、まず、質問を構成する文字列を単語に分解する。次に、サーバ装置1は、それぞれの単語をキーワードDBが記憶する単語と照合して、質問のキーワードを検索する。次に、サーバ装置1は、質問-回答DBにおける「質問」の文字列から、キーワードと一致する単語を検索して、質問に対応する質問-回答情報を検索する。このようにして、キーワードDBは、質問が示すキーワードを抽出するのに用いられる。
【0034】
類義語DBは、キーワード等に対する類義語情報を記憶する。例えば、類義語情報は、互いに意味が類似する文字列を対応付けする情報である。なお、文字列は、単語、フレーズ及び文であってもよい。また、互いに意味が類似する文字列は、意味が類似する文字列に限定されない。例えば、互いに意味が類似する文字列は、一方から他方を推定可能な文字列、一方が他方の一部である文字列、又は。使用される場面が類似する文字列でもよい。また、類義語情報は、使用環境に応じて任意に定義されてもよい。
【0035】
サーバ装置1は、まず、質問文を構成する文字列を単語に分解する。次に、サーバ装置1は、それぞれの単語を類義語DBと照合し、類義語となる文字列を抽出する。このようにして、サーバ装置1は、質問に含まれる単語及び単語の類義語をキーワードDB等に照合して、質問のキーワードを推定する。
【0036】
対話シナリオDBは、質問文を含む入力情報に応じた対話を実現するシナリオ情報を記憶する。例えば、シナリオ情報は、対話シナリオDBにあらかじめ入力されるシナリオに沿って、ユーザとの対話が実現するように生成される。
【0037】
図5は、シナリオ情報に基づく対話の流れの例を示す図である。例えば、ユーザが質問文を入力すると、質問文に対する回答となる応答メッセージを応答する流れは、シナリオ情報によって以下のように想定される。
【0038】
<シナリオ情報に基づく対話の流れの例>
例えば、チャットボットシステムは、図示するような流れとなるように、あらかじめ管理者によってシナリオ情報が入力される。そして、チャットボットシステムは、シナリオ情報に基づいて、ユーザと対話を行う。具体的には、図示するような流れでコミュニケーションができるように、チャットボットシステムには、シナリオ情報、データベース及びGUI(Graphical User Interface)等が、あらかじめ設定される。以下、流れの詳細を説明する。
【0039】
ステップS31では、まず、チャットボットシステムは、質問の検索方法となる選択メニューをユーザ端末2に表示する。例えば、選択メニューは、「全てのカテゴリから検索」、「カテゴリから選んで検索」及び「よくある質問から検索」の3つの選択肢のうち、1つをユーザに選択させる操作を受け付けるGUIである。なお、選択メニューは、4つ以上の選択肢又は2つ以下の選択肢を表示させてもよい。
【0040】
選択メニューによって「全てのカテゴリから検索」が選択されると(図における「全てのカテゴリから検索」である。)、チャットボットシステムは、ステップS32に進む。また、選択メニューによって「よくある質問から検索」が選択されると(図における「よくある質問から選ぶ」である。)、チャットボットシステムは、ステップS37に進む。ほかにも、選択メニューによって「カテゴリから選んで検索」(図における「カテゴリから選ぶ」である。)が選択されると、チャットボットシステムは、ステップS39に進む。
【0041】
ステップS32では、チャットボットシステムは、ユーザに文字で質問を入力するように促すメッセージをユーザ端末2に表示させる。また、チャットボットシステムは、テキストボックス等のGUIをユーザ端末2に表示させて、質問となる文字を入力する操作を受け付ける。次に、質問が入力されると(図における「任意の質問文字を入力」である。)、チャットボットシステムは、ステップS33に進む。
【0042】
ステップS33では、チャットボットシステムは、質問を示す文字列を解析する。そして、チャットボットシステムは、質問-回答DBを検索して、質問に対して回答となりうる候補(以下単に「候補」という。)を抽出する。なお、チャットボットシステムは、検索の結果、候補を複数取得してもよい。
【0043】
ステップS33による検索の結果、候補が1つ(図における「候補が1つ」である。)であると、チャットボットシステムは、検索された候補を応答情報とする。また、ステップS33による検索の結果、候補が2つ以上(図における「候補が2つ以上」である。)であると、チャットボットシステムは、ステップS34に進む。ほかにも、ステップS33による検索の結果、候補が検出できない場合(図における「候補が検出できなかった」である。)には、チャットボットシステムは、ステップS36に進む。
【0044】
ステップS34では、チャットボットシステムは、複数の候補のうち、いずれかを選択させる操作、又は、いずれの候補も非選択とする操作のうち、いずれかの操作をユーザに行わせるGUIをユーザ端末2に表示する。
【0045】
ステップS35では、チャットボットシステムは、候補のうち、いずれかを選択する操作が行われると(図における「候補を選択」である。)、選択された候補を応答情報とする。一方で、非選択を選択する操作が行われると(図における「該当するものが存在しない」である。)、チャットボットシステムは、例えば、今の段階では質問に対する回答を表示できない等を示す謝罪のメッセージをユーザ端末2に表示する。
【0046】
ステップS36では、チャットボットシステムは、謝罪を示すメッセージ及び再検索を行う促すメッセージをユーザ端末2に表示して、ステップS31に戻る。
【0047】
ステップS37では、チャットボットシステムは、問い合わせ履歴DBを参照して、他のユーザ等から問い合わせ頻度の高い1つ以上の質問(例えば、3つ程度である。)を抽出する。そして、チャットボットシステムは、質問を一覧にしてユーザ端末2に表示する。さらに、チャットボットシステムは、他の検索方法を選択させるためのGUIをユーザ端末2に表示する。
【0048】
ステップS38では、質問が選択されると(図における「よくある質問を選択」である。)、チャットボットシステムは、選択された質問に対する回答を質問-回答DBを検索した結果を応答情報とする。一方で、ステップS38で他の検索方法が選択されると(図における「別の方法で検索を選択」である。)、チャットボットシステムは、ステップS31に戻る。
【0049】
ステップS39では、チャットボットシステムは、カテゴリ名を一覧にしてユーザ端末2に表示する。そして、カテゴリ名の一覧からカテゴリを選択する操作が行われると(図における「カテゴリを選択」である。)、チャットボットシステムは、ステップS40に進む。
【0050】
ステップS40では、チャットボットシステムは、質問となる文字を入力する操作を受け付ける。次に、質問が入力されると(図における「任意の質問文字を入力」である。)、チャットボットシステムは、質問文を取得する。そして、チャットボットシステムは、ステップS41に進む。
【0051】
ステップS41では、チャットボットシステムは、質問-回答DBを検索して、候補を抽出する。次に、チャットボットシステムは、候補が1つ(図における「回答が1つ」である。)であると、チャットボットシステムは、検索された候補を応答情報とする。また、候補が2つ以上(図における「候補が2つ以上」である。)であると、チャットボットシステムは、ステップS42に進む。ほかにも、候補が検出できない場合(図における「候補が検出できなかった」である。)には、チャットボットシステムは、ステップS44に進む。
【0052】
ステップS42では、チャットボットシステムは、複数の候補のうち、いずれかを選択させる操作、又は、いずれの候補も非選択とする操作のうち、いずれかの操作をユーザに行わせるGUIをユーザ端末2に表示する。
【0053】
ステップS43では、チャットボットシステムは、候補のうち、いずれかを選択する操作が行われると(図における「候補を選択」である。)、選択された候補を応答情報とする。一方で、非選択を選択する操作が行われると(図における「該当するものが存在しない」である。)、チャットボットシステムは、例えば、今の段階では質問に対する回答を表示できない等を示す謝罪のメッセージをユーザ端末2に表示する。
【0054】
ステップS44では、チャットボットシステムは、謝罪を示すメッセージ及び再検索を行う促すメッセージをユーザ端末2に表示して、ステップS31に戻る。
【0055】
シナリオ情報は、例えば、以上のような対話の流れを想定して入力される。すなわち、シナリオ情報は、対話の流れの中で用いられるGUIの種類、メッセージ及びGUI等を出力させる順序等を管理者が設定した結果等を示す。
【0056】
カテゴリDBは、質問を分類するためのカテゴリ情報を記憶する。例えば、カテゴリ情報は、以下のような情報である。
【0057】
図6は、カテゴリ情報の例を示す図である。例えば、図示するように、カテゴリ情報は、「ID」、「カテゴリ名」及び「更新日時」で構成される情報である。
【0058】
「カテゴリ名」は、質問が該当するカテゴリを示す。
【0059】
「ID」は、ID(Identification)、すなわち、それぞれのカテゴリの識別情報を示す。
【0060】
「更新日時」は、各情報が更新された日時を示す。
【0061】
質問-回答DBは、質問と、質問に対する回答を対応付けした情報(以下「質問-回答情報」という。)を記憶する。例えば、質問-回答情報は、あらかじめ管理者等によって作成され、質問-回答DBに記憶される。例えば、質問-回答情報は、以下のような情報である。
【0062】
図7は、質問-回答情報の例を示す図である。例えば、図示するように、質問-回答情報は、「ID」、「質問」、「類似質問」、「回答」、「カテゴリID」及び「更新日時」で構成される情報である。
【0063】
「ID」は、ID、すなわち、それぞれの質問-回答情報の識別情報を示す。
【0064】
「質問」は、質問の内容を示す。
【0065】
「類似質問」は、「質問」に入力される質問と類似の内容となる質問を示す。
【0066】
「回答」は、質問に対する回答を示す。
【0067】
「カテゴリID」は、質問が該当するカテゴリを特定できるカテゴリのIDを示す。
【0068】
「更新日時」は、各情報が更新された日時を示す。
【0069】
問い合わせ履歴DBは、以前にユーザによって入力された質問を示す情報(以下「問い合わせ履歴情報」という。)を記憶する。例えば、問い合わせ履歴情報は、以下のような情報である。
【0070】
図8は、問い合わせ履歴情報の例を示す図である。図示するように、問い合わせ履歴情報は、「ID」、「セッションID」、「ヒットした質問に紐づくカテゴリのID」、「ヒットした質問のID」、「ユーザ入力」、「フィードバック」及び「日時」で構成される情報である。
【0071】
「ID」は、ID、すなわち、それぞれの問い合わせ履歴情報の識別情報を示す。
【0072】
「セッションID」は、質問が行われた対話セッションを特定できる識別情報を示す。
【0073】
「ヒットした質問に紐づくカテゴリのID」は、質問が該当するカテゴリを特定できるカテゴリのIDを示す。
【0074】
「ヒットした質問のID」は、質問のIDを示す。
【0075】
「ユーザ入力」は、ユーザが入力した質問を示す。
【0076】
「フィードバック」は、質問に対する回答に、ユーザがフィードバックをしたか否かを示す。
【0077】
「日時」は、対話が行われた日時を示す。
【0078】
対話セッションは、ユーザ端末とサーバ装置の間で行われた対話の集合である。例えば、同一の対話セッションとなる対話は、ユーザ端末2において、チャット形式等の対話に用いる画面が立ち上げられてから閉じられるまでの間に行われた対話、又は、当該画面が立ち上げられてからセッションタイムアウトにより当該画面が強制的に閉じられるまでの間に行われた対話等である。
【0079】
なお、セッションタイムアウトは、あらかじめ設定される所定時間内に、ユーザ端末2に対してアクションがない場合に発生する。そして、セッションタイムアウトは、対話に用いる画面等を終了させる処理である。
【0080】
なお、対話セッションは、上記の例に限定されない。例えば、質問の入力から、回答の応答が行われた後、回答に対してユーザがフィードバックを入力するまでが1つの対話セッションでもよい。この場合には、対話セッションは、ユーザからフィードバックが得られると、1つの対話セッションが完了する。
【0081】
対話履歴DBは、ユーザ端末とサーバ装置の間で行われる対話において、ユーザ端末2に入力された発言内容及びサーバ装置1が出力した内容の履歴を示す情報(以下「対話履歴情報」という。)を記憶する。例えば、対話履歴情報は、以下のような情報である。
【0082】
図9は、対話履歴情報の例を示す図である。図示するように、対話履歴情報は、「ID」、「セッションID」、「発言種別」、「発言内容」、「発言タイプID」、「コンテントID」及び「日時」で構成される情報である。
【0083】
「ID」は、ID、すなわち、それぞれの対話履歴情報の識別情報を示す。
【0084】
「セッションID」は、対話が行われた対話セッションを特定できるIDを示す。
【0085】
「発言種別」は、発言者の種別を示す。具体的には、「発言種別」には、「0」又は「1」のいずれかが入力される。「0」は、管理者による発言であることを示す。一方で、「1」は、ユーザによる発言であることを示す。
【0086】
「発言内容」は、発言された内容を示す。
【0087】
「発言タイプID」は、例えば、「5-0」、「5-1」及び「5-2」のように入力される。そして、これらの入力に基づいて、「発言タイプID」は、「カテゴリ」、「質問-回答情報」及び「シナリオ」のうち、「発言内容」がいずれかに対応して発言されたかを示す。
【0088】
「コンテントID」は、発言タイプがシナリオである場合には、シナリオで設定された発言を示す。また、「コンテントID」は、発言タイプが質問-回答情報である場合には、質問-回答情報のIDを示す。さらに、「コンテントID」は、発言タイプがカテゴリである場合には、カテゴリを選択する発言を示す。
【0089】
「日時」は、対話が行われた日時を示す。
【0090】
契約情報DBは、ユーザとあらかじめ結ばれた契約の内容を記憶する。例えば、契約には、有人対応を行うか否か、及び、対応を行う期間等の情報があらかじめ入力される。また、サーバ装置1は、取得された契約等の情報をテナントID等と対応付けて保持してもよい。
【0091】
なお、DBの種類、及び、構成は、上記の例に限られない。すなわち、DBは、他の形式であってもよい。また、DBは、複数の装置で分散してデータを保持して構成してもよい。さらに、各DBは、必須でない。すなわち、シナリオを実現できるデータが揃うのであれば、DBの形式等は問わない。
【0092】
<機能ブロック図>
図10は、機能構成例を示す図である。例えば、チャットボットシステム100は、質問文取得部1001、検索部1002、応答部1003、識別情報取得部1004、及び、切替部1005を備える機能構成が望ましい。また、ユーザ端末2は、入力部2001等を備える機能構成である。
【0093】
入力部2001は、ブラウザ、又は、インストールされた対話アプリケーション等によって、質問文を入力する。
【0094】
質問文取得部1001、検索部1002、応答部1003によって、質問文に対する応答情報が検索され、応答情報に基づく応答メッセージが応答されて、対話、すなわち、ボットが実現する。例えば、質問文取得部1001は、通信I/F105等によって、質問文をユーザ端末2から取得する質問文取得手順を行う。また、検索部1002は、CPU101等によって、質問文に対する応答情報を検索する検索手順を行う。さらに、応答部1003は、通信I/F105等によって、応答情報に基づいて応答メッセージをユーザ端末2に応答する応答手順を行う。
【0095】
識別情報取得部1004は、IPアドレス等のユーザ端末識別情報、又は、ユーザ識別情報を取得する識別情報取得手順を行う。例えば、識別情報取得部1004は、通信I/F105等によって実現する。
【0096】
ユーザ端末識別情報は、例えば、IPアドレス等である。なお、ユーザ端末識別情報は、ユーザ端末2を識別できる情報であればよい。例えば、ユーザ端末識別情報は、識別番号等でもよい。
【0097】
ユーザ識別情報は、例えば、あらかじめユーザごとに設定されるユーザID等である。なお、ユーザ識別情報は、ユーザが識別できる情報であればよい。例えば、ユーザ識別情報は、氏名等でもよい。
【0098】
切替部1005は、識別情報取得部1004が取得するユーザ端末識別情報、又は、ユーザ識別情報によって応答メッセージを切り替える切替手順を行う。例えば、切替部1005は、通信I/F105等によって実現する。
【0099】
なお、サーバ装置1には、CPU101等で実現する、演算部、及び、制御部等の機能が更にあってもよい。ほかにも、サーバ装置1には、入力部、出力部、記憶部及び通信部等の機能が更にあってもよい。さらに、ユーザ端末2には、演算部、制御部、記憶部、入力部、出力部及び通信部等の機能があってもよい。
【0100】
<全体処理例>
図11は、全体処理例を示す図である。以下、チャットボットサービスを実現する処理をサーバ装置1が単独で行う場合を例に説明する。また、以下の例では、ユーザ端末2が質問元となる例である。
【0101】
ステップS101では、入力部2001は、ホームページを表示させる操作を受け付ける。例えば、入力部2001は、表示させるホームページのURLを入力する操作を受け付ける。
【0102】
ステップS102では、ホームページ公開サーバ500は、ユーザ端末2に対して、要求されたホームページコンテンツを応答する。あらかじめ埋め込みコードがホームページのソースコードに埋め込まれる。そして、ステップS102では、ユーザ端末2は、埋め込みコードに基づいて処理が実行可能な状態となる。
【0103】
ステップS103では、ユーザ端末2の演算部は、埋め込みコードを実行する。
【0104】
ステップS104では、ユーザ端末2の通信部は、埋め込みコードに基づいて、JavaScript(登録商標)等で作成されるスクリプトデータを要求する。
【0105】
ステップS105では、サーバ装置1の通信部は、ステップS104で要求されるスクリプトデータをユーザ端末2に送信する。
【0106】
ステップS106では、ユーザ端末2の演算部は、スクリプトデータを実行する。
【0107】
ステップS107では、ユーザ端末2の通信部は、チャットボットのコンテンツ要求及びチャットボットの契約者(テナント)を識別するテナントIDをサーバ装置1に送信する。また、ユーザがユーザ端末2にインストールされた対話アプリケーションを使用する場合、対話アプリケーションを起動する操作や対話アプリケーションの所定のボタンを押下する操作を受け付けたことに応じて、チャットボットのコンテンツ要求及びチャットボットの契約者(テナント)を識別するテナントIDをサーバ装置1に送信する。
【0108】
テナントIDは、ユーザ端末2があらかじめ保持している情報である。なお、テナントIDは、チャットボットに用いられるブラウザが保持してもよいし、又は、チャット機能を実現するアプリケーションが保持してもよい。
【0109】
ステップS108では、サーバ装置1の演算部は、テナントIDに対応する契約等の情報を契約情報DBから取得する。そして、サーバ装置1の演算部は、テナントIDに基づいて契約状態等を判断する。以下、契約がチャットボットサービスを利用可能な状態であると判断された場合を例に説明する。
【0110】
ステップS109では、サーバ装置1は、例えば、以下のような条件判断を行う。
【0111】
図12は、条件判断の処理例を示す図である。
【0112】
ステップS901では、サーバ装置1の通信部は、ステップS107でユーザ端末2から送信されるチャットボットのコンテンツ要求を受信する。
【0113】
ステップS902では、サーバ装置1のIPアドレス取得部は、ユーザ端末2のIPアドレスを取得する。なお、IPアドレスは、例えば、ユーザ端末2がサーバ装置1に最初にアクセスする際、又は、ステップS107等で取得されてもよい。すなわち、IPアドレスを取得するタイミングは、ステップS902に限られず、ステップS902より前に取得されてもよい。
【0114】
ステップS903では、サーバ装置1の制御部は、設定情報を特定する。例えば、設定情報は、下記(表1)に示すようなテーブルデータであらかじめ設定される。なお、<設定情報の登録例>に設定情報の登録例を後述する。
【0115】
【表1】
上記(表1)は、「テナントID」ごとにテーブルデータがあらかじめ設定される例である。以下、テーブルデータの1行が、1つの設定情報である例で説明する。
【0116】
まず、サーバ装置1の制御部は、ステップS107で受信する、「テナントID」に基づいてテーブルデータを特定する。
【0117】
テーブルデータは、例えば、「IPアドレス」、「表示の有無」、「シナリオID」、「カテゴリID」、「FAQマスタID」及び「類語辞書ID」等で構成される。
【0118】
「IPアドレス」は、ユーザ端末2のIPアドレスである。すなわち、IPアドレスの値によって、表示の可否及びシナリオ等を異なるように設定する場合には、「IPアドレス」には、上記のように対象となるIPアドレス又はIPアドレスの範囲が入力される。
【0119】
「表示の有無」は、「シナリオID」等で設定されるシナリオに基づく表示、すなわち、対話を行うか否かを設定する。
【0120】
「シナリオID」は、対話に用いるシナリオを特定するIDを示す。
【0121】
「カテゴリID」、「FAQマスタID」及び「類語辞書ID」は、シナリオに用いるカテゴリ、FAQマスタ及び類語辞書等が含まれるDB等を特定するIDを示す。
【0122】
そして、サーバ装置1の制御部は、ステップS902で取得するIPアドレスが該当する設定を検索する。具体的には、サーバ装置1は、IPアドレスが、例えば、「192.168.11.2」であると、「192.168.11.1~192.168.11.99」に該当すると判断する。
【0123】
したがって、上記のようなテーブルデータを参照すると、IPアドレスによって、対話に用いられるシナリオ等を異なるように設定できる。なお、IPアドレスとシナリオ等が対応付けできれば、設定情報は、上記のテーブルデータ以外の形式でもよい。
【0124】
ステップS904では、サーバ装置1の判断部は、IPアドレスに対応する設定情報があるか否かを判断する。例えば、上記(表1)に示す例では、IPアドレスが「192.168.10.10/32」、「192.168.11.1」乃至「192.168.11.99」、又は、「10.61.22.1/24」に該当すると、サーバ装置1の判断部は、対応する設定情報があると判断する。
【0125】
次に、対応する設定情報があると判断すると(ステップS904でYES)、サーバ装置1は、ステップS906に進む。一方で、対応する設定情報がないと判断すると(ステップS904でNO)、サーバ装置1は、ステップS905に進む。
【0126】
ステップS905では、サーバ装置1の制御部は、デフォルトの設定情報を参照する。
【0127】
デフォルトの設定情報は、例えば、上記(表1)に示す例では、「上記以外」に入力される設定情報である。なお、デフォルトの設定情報は、テーブルデータでなく、他のデータに設定されてもよい。
【0128】
ステップS906では、サーバ装置1の制御部は、セッションIDを対応付けする。例えば、サーバ装置1の制御部は、設定情報を特定できるID等をセッションIDと対応付けして記憶する。このようにすると、例えば、同じセッション(すなわち、同じセッションIDのセッション中となる。)で同一の設定情報を用いる場合には、セッションIDに対して設定情報が紐付けられるので、設定情報を特定する時間を短くできる。
【0129】
ステップS907では、サーバ装置1の切替部1005は、設定情報を切り替える。具体的には、サーバ装置1の切替部1005は、上記(表1)に示す例では、テーブルデータが示すIPアドレスに対応するシナリオ等を用いて応答する対話を行うように、シナリオ等を切り替える。
【0130】
ステップS908では、サーバ装置1の制御部は、対話を行うか否かを判断する。そして、対話を行う場合(ステップS908でYES)には、サーバ装置1の制御部は、ステップS909に進む。一方で、対話を行わない場合(ステップS908でNO)には、サーバ装置1の制御部は、ステップS910に進む。
【0131】
ステップS909では、サーバ装置1の制御部は、チャットボットのコンテンツ要求に応答すると判断する。例えば、上記(表1)において、「表示の有無」が「有」である場合には、サーバ装置1の制御部は、チャットボットのコンテンツ要求に対して応答するように設定等を行う。このような判断に基づいて、以降、ステップS907等で準備されるシナリオ等で対話が行われるように設定等を行う。
【0132】
ステップS910では、サーバ装置1の制御部は、チャットボットのコンテンツ要求に応答すると判断する。例えば、上記(表1)において、「表示の有無」が「無」である場合には、サーバ装置1の制御部は、チャットボットのコンテンツ要求があっても、要求に対して応答しないように設定等を行う。
【0133】
以上のようにして、ユーザ端末2のIPアドレスに基づいて、応答情報が切り替えられる。したがって、ユーザ端末2のIPアドレスによって、用いられるシナリオが異なるため、同じ質問文を入力しても、異なる応答メッセージが応答されるように制御できる。
【0134】
例えば、IPアドレスを調べると、社内ネットワークに接続されるユーザ端末2(第1の質問元の例である。)であるか、それ以外のネットワークである社外ネットワークに接続されるユーザ端末2(第2の質問元の例である。)であるかが判断できる。
【0135】
すなわち、社内ネットワークに接続されるユーザ端末2は、ユーザが、従業員等である。一方で、社外ネットワークに接続されるユーザ端末2は、ユーザが、いわゆる部外者である。
【0136】
したがって、ユーザ端末2のIPアドレスによって定まるユーザが、従業員であるか部外者かによって、対話を介して応答される情報は、使い分けられるのが望ましい。このような使い分けをサーバ装置1の切替部は、設定情報等を切り替えることで実現する。
【0137】
例えば、以上のように、ステップS109が行われる。
【0138】
ステップS110では、サーバ装置1の通信部は、チャットボットによる対話を行うため、コンテンツの情報等をユーザ端末2に送信する。なお、ステップS109で「チャットボットのコンテンツ要求に応答しないと判断」が行われた場合(すなわちステップS910の処理が行われた場合である。)には、コンテンツの情報が送信されず、以降の処理を中止する。
【0139】
ステップS111では、ユーザ端末2の出力部は、チャットボットによる対話を行うためのコンテンツ等を表示する。
【0140】
そして、あらかじめ管理者によって、チャットボットサービスを開始させる操作用のアイコンを表示するように設定される場合がある。このような場合(図における「アイコンを表示する場合」である。)には、チャットボットシステム100は、ステップS112に進む。一方で、アイコンを表示しない設定である場合には、チャットボットシステム100は、ステップS114に進む。
【0141】
ステップS112では、ユーザは、例えば、チャットボットサービスを開始するアイコンを押す操作を行う。したがって、ユーザ端末2の入力部は、アイコンを押す操作を受け付ける。
【0142】
ステップS113では、ユーザ端末2の出力部は、シナリオ等に基づいてチャットボットによる対話を開始する。以下、シナリオをユーザが選択して対話が開始される場合の例で説明する。
【0143】
ステップS114では、ユーザは、シナリオを選択する操作を行う。具体的には、上記(表1)が示すように、「シナリオID」が複数設定される場合もある。このような場合等には、ユーザ端末2の出力部は、複数のシナリオのうち、1つをユーザに選択させるGUIを表示する。
【0144】
ステップS115では、サーバ装置1の入力部は、ステップS114で行われるシナリオを選択する操作を受け付ける。そして、サーバ装置1の通信部は、選択されたシナリオを示す通知をサーバ装置1に対して行う。
【0145】
ステップS116では、サーバ装置1の制御部は、設定情報で特定されるシナリオにおいて対話で表示する内容を特定する。
【0146】
例えば、「全てのカテゴリから選ぶ」という選択肢がステップS31で選ばれると、ステップS109で切り替えられた設定情報における「カテゴリID」等で設定されるカテゴリの「カテゴリ名」等を応答するように内容が特定される。
【0147】
また、「よくある質問から選ぶ」という選択肢がステップS31で選ばれると、まず、所定期間内に発生した問い合わせ履歴情報に基づいて、例えば、上位5位程度の質問等が抽出される。
【0148】
ほかにも、例えば、「内線電話を調べる」というシナリオ等がステップS114では選択されるとする。このような場合には、例えば、「名前を入力してください」等のようなあらかじめ設定されるメッセージを応答するように、内容が特定される。
【0149】
ステップS117では、サーバ装置1の通信部は、表示させるコンテンツ等を送信する。
【0150】
ステップS118では、ユーザ端末2の出力部は、ステップS117で送信されるコンテンツ等を表示する。以下、ステップS109等で定まるシナリオ等によって、例えば、図5に示すように、質問、検索、及び、応答が行われるとする。
【0151】
ステップS119では、ユーザは、質問文を入力する操作を行う。したがって、ステップS119では、ユーザ端末2の入力部2001は、入力を受け付ける。
【0152】
ステップS120では、質問文取得部1001は、質問文をユーザ端末2から取得する。
【0153】
ステップS121では、検索部1002は、質問文に対する応答情報を検索する。
【0154】
ステップS122では、応答部1003は、応答情報に基づく応答メッセージを応答する。
【0155】
ステップS123では、ユーザ端末2の出力部は、応答メッセージを表示する。
【0156】
上記ステップS119乃至ステップS123の処理は、繰り返し行われてもよい。なお、回答が応答された後、すなわち、ステップS123が行われた後、ステップS124乃至ステップS128の処理が行われてもよい。
【0157】
ステップS124では、ユーザ端末2の出力部は、満足度を調査するための入力項目を表示する。すなわち、ユーザ端末2の出力部は、ステップS123等で得られた回答について、ユーザの満足度を調査するため、アンケート等を表示し、ユーザに満足度を入力させるGUIを表示する。
【0158】
ステップS125では、ユーザは、満足度を入力する。
【0159】
ステップS126では、ユーザ端末2の通信部は、ステップS125で入力された内容、すなわち、アンケートの結果等をサーバ装置1に通知する。
【0160】
ステップS127では、サーバ装置1の記憶部は、ステップS126で通知された内容又は対話の内容等の履歴を記憶する。
【0161】
なお、サーバ装置1は、満足度の内容等に基づいて、満足度の統計処理等を行ってもよい。具体的には、サーバ装置1は、管理者等に対して、所定の期間におけるチャットボットによる対話での満足度(例えば、「満足した」、「不満足があった」、「該当なし」及び「不明」等のような満足度をステップS125でユーザに入力させる。)をグラフ等によって表示する。このような満足度を統計処理した結果がフィードバックされると、管理者等が客観的に満足度を知ることができる。
【0162】
ステップS128では、ユーザ端末2の制御部は、例えば、ステップS112又はステップS114に戻る。すなわち、ユーザ端末2の制御部は、いわゆるチャットボットの初期画面に戻る。なお、ステップS128では、チャットボットシステムは、チャットボットを終了させてもよい。
【0163】
以上のように、IPアドレスに基づいて、応答情報が切り替えられると、IPアドレスごとに、応答メッセージが異なるように表示できる。例えば、社内ネットワークに接続されるユーザ端末2と社外ネットワークに接続されるユーザ端末2では、表示される情報が異なる。
【0164】
このように、IPアドレスに基づいて、ユーザ端末2は、所定のネットワークに接続される端末であるか否かが判断されるのが望ましい。なお、所定のネットワークは、例えば、ある企業が管理するネットワークである。
【0165】
また、所定のネットワークに接続される端末であるか否かの判断には、IPアドレス以外のデータが用いられてもよい。例えば、ユーザ端末に設定される物理アドレス等が用いられてもよい。
【0166】
例えば、社内ネットワークに接続されるユーザ端末2を用いる従業員等には、他の従業員等の連絡先等を示す情報が表示されてもよい。一方で、部外者等には、従業員等の連絡先が表示されないようにする。このようにすると、従業員の情報等が漏洩するのを防ぐことができる。
【0167】
具体的には、社内ネットワークに接続されるユーザ端末2のIPアドレスと判断される質問元であれば、ユーザ端末2に対して、連絡先等を知らせる応答メッセージが応答される。なお、応答メッセージには、従業員を特定させる氏名又は従業員番号等を問う内容が応答されてもよい。
【0168】
次に、サーバ装置1は、質問文に対して、例えば、内線番号又は居所等を示す応答メッセージを応答する。このようにすると、ユーザは、質問文で連絡先等を問い合わせるように入力すると、所定の従業員等の連絡先を知ることができる。一方で、サーバ装置1は、部外者がユーザの場合には、質問文に対して、「回答できません。」というメッセージ、又は、代表的な外線番号等を示す応答情報を応答する。このように、サーバ装置1は、ユーザによって、応答情報を切り替える。このような切り替えが行われると、ユーザ端末2において表示される応答メッセージも切り替わる。
【0169】
なお、応答情報の切り替えは、例えば、IPアドレスによって対話シナリオDBを切り替えて実現してもよい。すなわち、社内用及び社外用の対話シナリオDBがあらかじめ別々に用意され、IPアドレスによって、対話シナリオDBが切り替えられてもよい。このように、応答情報の切り替えは、検索部1002が検索対象とするDBを切り替えて実現されてもよい。
【0170】
又は、応答情報の切り替えは、例えば、IPアドレスによって、同じシナリオが用いられても、回答が変わるように質問-回答DBを切り替えて実現してもよい。この場合には、まず、質問に対する回答が、あらかじめ社内用と社外用で別々に質問-回答DBに用意される。このように、質問に対する回答を切り替えて、応答情報の切り替えが実現されてもよい。
【0171】
以上のような構成であると、社内用と社外用で別々のチャットボットを用意しなくとも、チャットボットは、社内用と社外用で異なる応答ができる。したがって、社内用と社外用をまとめて1つのチャットボットで運用できる。このように、社内用と社外用を少ない管理対象で運用できる。
【0172】
そして、管理対象が少ないと、例えば、チャットボットを実現させる情報処理装置及びデータ等を管理又は保守する手間が少なくできる。
【0173】
また、同一の質問文について、情報処理装置は、質問元のユーザ又はユーザ端末に応じて異なる応答メッセージを質問元に柔軟に応答できる。
【0174】
なお、「同一の質問文」とは、必ずしもユーザが入力した質問文の文字列が完全に一致するとは限らない。例えば、ユーザがユーザ端末の入力部2001を介して入力した2つの質問文の例である「商品Aの仕様を教えてください」と「商品Aの仕様を知りたい」は、文字列が完全一致ではない。一方で、情報処理装置の質問文取得部1001は、取得した質問文の文字列を解析し、その結果、この2つの質問文は、いずれも「商品A」の仕様に関する情報を要求していると解釈する。したがって、いずれの質問文の場合でも、質問文取得部1001は、「商品A」の仕様に関する情報を検索するように検索部1002に要求する。この場合、2つの質問文は「同一の質問文」になる。また、例えば、「商品A」の「別名称A´」がある場合に、「商品Aの仕様を教えてください」と「商品A´の仕様を知りたい」とは「同一の質問文」になる。
【0175】
具体的に、上記の例では、「を教えてください」と「を知りたい」とを対応付けて類語辞書に登録しておき、「商品A」と「商品A´」とを対応付けて類語辞書に登録しておき、質問文取得部1001は、類語辞書に基づいて検索部1002に検索を要求すればよい。
【0176】
すなわち、質問文取得部1001は、複数の質問文の文字列について、それぞれに対する解析の結果及び類似辞書等に基づく解釈が同一である場合に、結果的に、この複数の質問文を同一の質問文として扱い、それぞれに対する解析の結果及び類似辞書等に基づく解釈が異なる場合に、結果的に、この複数の質問文を異なる質問文として扱う。もちろん、複数の質問文の文字列のそれぞれが完全一致である場合も、結果的に同一の質問文として扱う。
【0177】
なお、質問文をどのように解釈するかについて、ユーザの視点で判断することもできる。すなわち、質問文取得部1001はユーザの視点で質問文を解釈するように実装される。その結果、上記の例では、質問文「商品Aの仕様を教えてください」と質問文「商品Aの仕様を知りたい」とは、ユーザの視点で同一であると解釈できるため、質問文取得部1001は同じように解釈すると推測できる。
【0178】
<IPアドレスに基づく判定例>
例えば、IPアドレスに基づいて、下記(表2)に示すように判断されるのが望ましい。なお、以下に示す例は、IPアドレスがIPv4である場合を例に説明する。したがって、IPアドレスは、4つの数値によって構成され、それぞれの数値は「.」(ドット)で区切られる。
【0179】
そして、サーバ装置1は、あらかじめ設定される比較の基準とするIPアドレス(以下「比較用アドレス」という。)とユーザ端末2から取得するIPアドレスを比較して、下記(表2)のいずれかと判定する。
【0180】
【表2】
上記(表2)は、上覧ほど、比較用アドレスを構成する数値(以下「第1数値」という。)とユーザ端末2のIPアドレスを構成する数値(以下「第2数値」という。)が一致する数(以下「一致度」という。)が高い場合を示す。
【0181】
上記(表2)は、比較の結果、第1数値及び第2数値が同一の数値である場合を「同」と示す。一方で、上記(表2)は、比較の結果、第1数値及び第2数値が異なる数値である場合を「異」と示す。
【0182】
したがって、サーバ装置1は、一致度が高い場合に、ユーザ端末2が「社内ネットワーク接続端末」であると判断する。具体的には、上記(表2)のうち、最上段又は上から2段目程度の一致度であると、サーバ装置1は、ユーザ端末2が「社内ネットワーク接続端末」であると判断する。一方で、上記(表2)のうち、最下段又は上から3段目程度の一致度であると、サーバ装置1は、ユーザ端末2が「社外ネットワーク接続端末」であると判断する。このように、IPアドレスの一致度に応じて、サーバ装置1は、「社内ネットワーク接続端末」であるか、又は、「社外ネットワーク接続端末」を判断するのが望ましい。
【0183】
なお、上記(表2)のうち、どこを「社内ネットワーク接続端末」であるか、又は、「社外ネットワーク接続端末」の閾値にするかは、例えば、社内ネットワークの規模等に基づいて設定される。すなわち、数台程度の情報処理装置が接続するような小規模なネットワークである場合には、サーバ装置1が、上記(表2)のうち、最上段のみが「社内ネットワーク接続端末」であると判断されるように設定されてもよい。
【0184】
なお、比較用アドレスは、例えば、サーバ装置1に設定されるIPアドレスでもよい。ただし、このような比較用アドレスを用いる場合には、サーバ装置1に社内ネットワーク用のIPアドレスが設定される場合等である。
【0185】
なお、上記に示す例は、IPアドレスがIPv4である場合を例に説明するが、IPアドレスは、IPv6であってもよい。
【0186】
また、上記のような判定にサブネットマスク等のデータが用いられてもよい。
【0187】
<設定情報の登録例>
例えば、設定情報は、以下のようなGUIを用いて登録される。
【0188】
図13は、設定情報の登録例を示す図である。例えば、上記(表1)に示すような設定情報を登録するには、登録画面50等のGUIが用いられる。
【0189】
登録画面50によって、「IPアドレス範囲」、「表示の有無」、「シナリオID」、「カテゴリID」、「FAQマスタID」及び「類語辞書ID」等の項目があらかじめ管理者等によって設定される。すなわち、登録画面50上に入力する各項目が、例えば、上記(表1)のように登録される。図示するように、各項目は、プルダウンメニュー等で選択される。また、図示するように、設定情報は、「テナントID」等が指定できてもよい。
【0190】
なお、設定情報は、図示するようなGUI以外の方法で登録されてもよい。例えば、同様の内容を表計算ソフト用のファイル等に入力して設定情報が登録されてもよい。
【0191】
<対話アプリケーションを用いる場合の例>
切替部1005は、ユーザ識別情報に基づいて、ユーザ端末2への応答を制御してもよい。すなわち、識別情報取得部1004は、ユーザを識別するユーザ識別情報してもよい。
【0192】
例えば、対話アプリケーション等のアプリケーションソフトウェアがユーザ端末2にあらかじめインストールされ、チャットボットが対話アプリケーションによって行われる場合がある。このような場合では、対話アプリケーションを用いるのに、まずログインの操作が行われる場合が多い。そして、ログインでは、ユーザを識別するため、ユーザID及びパスワード等が入力される。
【0193】
例えば、ユーザIDに対して、あらかじめユーザの所属する部署又は組織等が紐付けされる。したがって、ユーザIDを取得すると、ユーザの所属する組織等が特定できる。
【0194】
さらに、組織に対して、シナリオ、カテゴリ、FAQマスタ、及び、類語辞書等をあらかじめ対応付けしておく。そして、質問文と応答情報を対応付けた情報等(以下「登録情報」という。)があらかじめ登録される。このようにしておくと、ユーザIDが特定されると、検索部1002は、ユーザIDに基づいて、検索対象とする登録情報を切り替えることができる。そして、登録情報が切り替わると、結果として、検索される応答情報も切り替わるため、ユーザIDによって、応答される応答メッセージが異なるようになる。
【0195】
なお、ユーザ識別情報及びユーザ端末識別情報は、組み合わせて用いてもよい。このような場合には、ユーザ識別情報及びユーザ端末識別情報の両方に基づいて、検索部1002は、検索対象とする登録情報を切り替える。
【0196】
<その他の実施形態>
情報処理システムにおいて、上記に示す情報処理方法における各手順は、複数の情報処理装置等で、並列、分散又は冗長して行われてもよい。また、情報処理システムは、いわゆるクラウドコンピューティング等を利用する構成でもよい。
【0197】
また、各装置は、1つの装置でなくともよい。すなわち、各装置は、複数の装置の組み合わせであってもよい。なお、情報処理システムには、上記に説明する装置以外の装置が更に含まれる構成であってもよい。
【0198】
また、情報処理システム及び情報処理装置は、AI(Artificial Intelligence)等を利用してもよい。例えば、情報処理システム及び情報処理装置は、文字の入力等において、機械学習等を行い、認識精度を向上させる構成等でもよい。
【0199】
なお、本発明に係る各処理の全部又は一部は、コンピュータ言語で記述され、コンピュータに情報処理方法を実行させるためのプログラムによって実現されてもよい。すなわち、プログラムは、情報処理装置又は情報処理システム等のコンピュータに情報処理方法を実行させるためのコンピュータプログラムである。
【0200】
したがって、プログラムに基づいて情報処理方法が実行されると、コンピュータが有する演算装置及び制御装置は、各手順を実行するため、プログラムに基づいて演算及び制御を行う。また、コンピュータが有する記憶装置は、各手順を実行するため、プログラムに基づいて、処理に用いられるデータを記憶する。
【0201】
また、プログラムは、コンピュータが読み取り可能な記憶媒体に記録されて頒布することができる。なお、記憶媒体は、磁気テープ、フラッシュメモリ、光ディスク、光磁気ディスク又は磁気ディスク等のメディアである。さらに、プログラムは、電気通信回線を通じて頒布することができる。
【0202】
以上、実施形態における一例について説明したが、本発明は、上記実施形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。
【符号の説明】
【0203】
1 サーバ装置
2 ユーザ端末
3 管理者端末
4 通信網
50 登録画面
100 チャットボットシステム
500 ホームページ公開サーバ
1001 質問文取得部
1002 検索部
1003 応答部
1004 識別情報取得部
1005 切替部
【先行技術文献】
【特許文献】
【0204】
【文献】特開2018-195298号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13