JP2021093139A - 情報処理装置、情報処理システム、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理システム、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2021093139A
JP2021093139A JP2020180718A JP2020180718A JP2021093139A JP 2021093139 A JP2021093139 A JP 2021093139A JP 2020180718 A JP2020180718 A JP 2020180718A JP 2020180718 A JP2020180718 A JP 2020180718A JP 2021093139 A JP2021093139 A JP 2021093139A
Authority
JP
Japan
Prior art keywords
information
user terminal
input
unit
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020180718A
Other languages
English (en)
Inventor
隆軌 毛利
Takanori Mori
隆軌 毛利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US17/104,507 priority Critical patent/US11500956B2/en
Publication of JP2021093139A publication Critical patent/JP2021093139A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ボットを用いる上での利便性を向上させる。【解決手段】ユーザから入力を受け付けるユーザ端末に接続する情報処理装置が、前記ユーザ端末に入力される入力情報を取得する入力情報取得部と、前記入力情報に対する応答情報を検索する検索部と、前記入力情報に対して、前記応答情報に基づく応答メッセージを前記ユーザ端末に応答する応答部と、前記ユーザによる前記入力情報の入力を前記ユーザ端末が受け付けるために前記ユーザ端末がアクセスするアクセス先を取得するアクセス先情報取得部と、前記アクセス先に基づいて、前記検索部による検索又は前記応答部による応答を変更する変更部とを備える。【選択図】図10

Description

本発明は、情報処理装置、情報処理システム、情報処理方法及びプログラムに関する。
従来、コンピュータ等の装置が、まず、ネットワーク経由でユーザが入力するテキスト、音声又は画像等をパターン認識する。次に、コンピュータ等の装置が、パターン認識の結果に基づいて、ユーザが行った会話、質問に対する回答及び機器制御等を行う、いわゆるチャットボット(単に「ボット」等と呼ばれる場合もある。)が知られている。
例えば、チャットボットで用いられる対話シナリオの編集作業を補助するため、対話シナリオのうち、どの分岐がどの程度選択されたかを示す情報を文字及び図等によって表示する方法が知られている。このようにして、流れによって変わる対話シナリオを編集する上で、選択肢に対応する情報を纏めて閲覧できるようにする等の補助を行う方法が知られている(例えば、特許文献1等を参照)。
しかしながら、従来の方法では、複数のページで構成するサイトにおいて、複数のページでボットを動作させるには、ボットは、個々のページに別々のボットを設置する、又は、サイト全体に対して1つのボットを設置される。前者の場合には、ページごとに設置されたボットの管理を行うことにより管理の手間がかかる。一方で、後者の場合には、ユーザが所望する回答に辿り着くのに手間や時間がかかる可能性がある。すなわち、ボットを用いる上での利便性が低い場合が多い。
本発明は、上記課題に鑑みてなされたものであり、ボットを用いる上での利便性を向上させることを目的とする。
本発明の一実施形態による情報処理装置は、ユーザから入力を受け付けるユーザ端末に接続する情報処理装置であって、
前記ユーザ端末に入力される入力情報を取得する入力情報取得部と、
前記入力情報に対する応答情報を検索する検索部と、
前記入力情報に対して、前記応答情報を前記ユーザ端末に応答する応答部と、
前記ユーザによる前記入力情報の入力を前記ユーザ端末が受け付けるために前記ユーザ端末がアクセスするアクセス先を取得するアクセス先情報取得部と、
前記アクセス先に基づいて、前記ユーザ端末における検索又は応答を変更する変更部と
を備える。
ボットを用いる上での利便性を向上できる。
一実施形態に係るチャットボットシステムの全体構成例を示す図である。 一実施形態に係るユーザ端末のハードウェア構成例を示す図である。 一実施形態に係る管理者端末のハードウェア構成例を示す図である。 一実施形態に係るサーバ装置のハードウェア構成例を示す図である。 一実施形態に係るシナリオ情報に基づく対話の流れの例を示す図である。 一実施形態に係るカテゴリ情報の例を示す図である。 一実施形態に係る質問−回答情報の例を示す図である。 一実施形態に係る問い合わせ履歴情報の例を示す図である。 一実施形態に係る対話履歴情報の例を示す図である。 第1の実施形態に係るチャットボットシステムの機能構成例を示す図である。 第1の実施形態に係るチャットボットシステムの全体処理例を示す図である。 第1の実施形態に係るアクセス先の取得及び変更等の処理例を示す図である。 第1の実施形態に係るアクセス先が「製品紹介」のページである場合の例を示す図である。 第1の実施形態に係るアクセス先が「新卒採用」のページである場合の例を示す図である。 第1の実施形態に係るアクセス先が「キャリア採用」のページである場合の例を示す図である。 第1の実施形態に係るアクセス先が「よくあるご質問」のページである場合の例を示す図である。 第1の実施形態に係る設定情報の登録画面例を示す図である。 第2の実施形態に係るチャットボットシステムの機能構成例を示す図である。 第2の実施形態に係る算出テーブルの例を示す図である。 第2の実施形態に係る設定情報テーブルの例を示す図である。 第2の実施形態に係るページ種別の特定処理の例を示すフローチャートである。 第2の実施形態に係るページのコードの一例を示す図である。 第2の実施形態に係るページ種別テーブルの例を示す図である。
<全体構成例>
図1は、一実施形態に係るチャットボットシステムの全体構成例を示す図である。例えば、情報処理システムの例である、チャットボットシステム100は、情報処理装置の例であるサーバ装置1、及び、ユーザ端末2等を有するシステム構成である。なお、図示するように、チャットボットシステム100は、管理者端末3等のように、サーバ装置1及びユーザ端末2以外の装置を更に有してもよい。
サーバ装置1は、チャットボットサービスを提供する情報処理装置の例である。
ユーザ端末2は、チャットボットサービスにおいて、ユーザが質問を入力する等の操作を行う情報処理装置である。なお、ユーザ端末2は、複数接続されてもよい。また、ユーザ端末2は、常に接続されなくともよい。
管理者端末3は、サーバ装置1等を管理するため、管理者等が入力等の操作を行う情報処理装置である。
サーバ装置1、ユーザ端末2及び管理者端末3は、例えば、通信網4等を介して互いに接続する。
例えば、通信網4は、インターネット等である。ただし、通信網4は、有線又は無線で通信を行う、LAN(Local Area Network)、WAN(Wide Area Network)、近距離通信又はこれらの組み合わせとなる通信網等でもよい。
サーバ装置1は、ユーザ端末2及び管理者端末3等と通信を行う。例えば、サーバ装置1は、ユーザが入力する質問等を示す入力情報に対して、回答等となる応答メッセージを応答する、いわゆるチャットボットサービス等を提供する。
また、サーバ装置1は、複数のユーザ間において、メッセージの送受信、いわゆるチャット等のサービスを提供する。すなわち、サーバ装置1は、インスタントメッセージサービス等を提供する。なお、様々なサービスは、複数の情報処理装置で提供されてもよい。以下、サーバ装置1が1台の情報処理装置でサービスを提供する例で説明する。
チャットボットサービスでは、ユーザ端末2に、ユーザが質問等を示す文字、又は文字列等(以下「入力情報」という。)を入力すると、サーバ装置1は、通信網4等を介して、ユーザ端末2から入力情報を取得する。次に、サーバ装置1は、入力情報が示す質問に対する回答等となる情報(以下「応答情報」という。)を検索する。そして、サーバ装置1は、入力情報に対する応答情報に基づいて、応答メッセージを生成してユーザ端末2に通信網4等を介して応答する。このようにすると、ユーザ端末2では、入力情報に対する応答情報がメッセージ等の形式でユーザに表示される。このようにして、ユーザは、チャットボットサービスを利用して、質問に対する回答を得る。
具体的には、チャットボットサービスを実現するのに用いられるそれぞれの装置及びデータベースは、例えば、以下のようなハードウェア構成及びデータ構成である。
<ユーザ端末の例>
図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が有するハードウェアは、有線又は無線の通信によって他の装置等と接続してもよい。
ユーザ端末2は、例えば、PC(Personal Computer)、スマートフォン又はタブレット等の情報処理装置である。
CPU201は、演算部及び制御部等の機能を実現する。また、CPU201は、制御装置及び演算装置の例である。
ROM202は、不揮発性半導体による記憶装置等である。
RAM203は、揮発性半導体による記憶装置等である。
メモリ204は、主記憶装置の例である。例えば、メモリ204は、通信網4を介して取得された情報を記憶する。なお、ユーザ端末2は、ハードディスク又はSSD(Solid State Drive)等の補助記憶装置を更に有してもよい。また、ROM202、RAM203及びメモリ204等は、記憶部の機能を実現する。なお、ROM202、又はRAM203は、メモリ204に含まれていてもよい。
通信I/F205は、通信部等の機能を実現する。例えば、通信I/F205は、接続端子及び通信回路等である。
操作I/F206は、入力部等の機能を実現する。例えば、操作I/F206は、ボタン、キーボード、ダイヤル、キー、タッチパネル及びマイク等の入力装置である。
表示装置207は、出力部の機能を実現する。例えば、表示装置207は、液晶パネル、有機EL(Electroluminescence)及び無機EL等の出力装置である。なお、表示装置207及び操作I/F206は、タッチパネルのように一体でもよい。
なお、プログラムは、ROM202及びメモリ204に限らず、例えば、補助記憶装置等に格納されもよい。また、プログラムは、ネットワーク等を介して取得されてもよい。
<管理者端末の例>
図3は、一実施形態に係る管理者端末のハードウェア構成例を示す図である。例えば、管理者端末3は、CPU301、ROM302、RAM303、メモリ304、通信I/F305、操作I/F306、及び、表示装置307を含むハードウェア構成である。以下、管理者端末3がユーザ端末2と同一のハードウェア構成である例で説明し、重複する説明を省略する。例えば、CPU301、ROM302、RAM303、メモリ304、通信I/F305、操作I/F306及び表示装置307は、前述したCPU201、ROM202、RAM203、メモリ204、通信I/F205、操作I/F206及び表示装置207と同様であるため、ここでは説明を省略する。ただし、管理者端末3は、ユーザ端末2及びサーバ装置1等と異なるハードウェア構成でもよい。
<サーバ装置の例>
図4は、一実施形態に係るサーバ装置のハードウェア構成例を示す図である。例えば、サーバ装置1は、CPU101、ROM102、RAM103、メモリ104、通信I/F105、操作I/F106、及び、表示装置107を含むハードウェア構成である。以下、サーバ装置1がユーザ端末2と同一のハードウェア構成である例で説明し、重複する説明を省略する。例えば、CPU101、ROM102、RAM103、メモリ104、通信I/F105、操作I/F106及び表示装置107は、前述したCPU201、ROM202、RAM203、メモリ204、通信I/F205、操作I/F206及び表示装置207と同様であるため、ここでは説明を省略する。ただし、サーバ装置1は、ユーザ端末2及び管理者端末3等と異なるハードウェア構成でもよい。
<データベース(以下「DB」という。)の例>
チャットボットシステム100でチャットボットサービスを行う場合には、サーバ装置1に、例えば、以下のようなDBがあらかじめ構築される。以下、サーバ装置1に、キーワードDB、類義語DB、対話シナリオDB、カテゴリDB、質問−回答DB、問い合わせ履歴DB、対話履歴DB、及び、契約情報DBを有する場合を例に説明する。
キーワードDBは、質問及び回答の特徴を示す文字例、いわゆるキーワードを記憶する。なお、キーワードは、単語、フレーズ及び文であってもよい。また、キーワードDBは、質問−回答情報以外に関連するキーワードを記憶してもよい。
例えば、サーバ装置1は、まず、質問を構成する文字列を単語に分解する。次に、サーバ装置1は、それぞれの単語をキーワードDBが記憶する単語と照合して、質問のキーワードを検索する。次に、サーバ装置1は、質問−回答DBにおける「質問」の文字列から、キーワードと一致する単語を検索して、質問に対応する質問−回答情報を検索する。このようにして、キーワードDBは、質問が示すキーワードを抽出するのに用いられる。
類義語DBは、キーワード等に対する類義語情報を記憶する。例えば、類義語情報は、互いに意味が類似する文字列を対応付けする情報である。なお、文字列は、単語、フレーズ及び文であってもよい。また、互いに意味が類似する文字列は、意味が類似する文字列に限定されない。例えば、互いに意味が類似する文字列は、一方から他方を推定可能な文字列、一方が他方の一部である文字列、又は。使用される場面が類似する文字列でもよい。また、類義語情報は、使用環境に応じて任意に定義されてもよい。
サーバ装置1は、まず、入力情報が示す質問を構成する文字列を単語に分解する。次に、サーバ装置1は、それぞれの単語を類義語DBと照合し、類義語となる文字列を抽出する。このようにして、サーバ装置1は、質問に含まれる単語及び単語の類義語をキーワードDB等に照合して、質問のキーワードを推定する。
対話シナリオDBは、入力情報に応じた対話を実現するシナリオ情報を記憶する。例えば、シナリオ情報は、対話シナリオDBにあらかじめ入力されるシナリオに沿って、ユーザとの対話が実現するように生成される。
図5は、シナリオ情報に基づく対話の流れの例を示す図である。例えば、ユーザが質問を行う入力情報を受け付けると、質問に対する回答となる応答メッセージを応答する流れは、シナリオ情報によって以下のように想定される。
<シナリオ情報に基づく対話の流れの例>
例えば、チャットボットシステムは、図示するような流れとなるように、あらかじめ管理者によってシナリオ情報が入力される。そして、チャットボットシステムは、シナリオ情報に基づいて、ユーザと対話を行う。具体的には、図示するような流れでコミュニケーションができるように、チャットボットシステムには、シナリオ情報、データベース及びGUI(Graphical User Interface)等が、あらかじめ設定される。以下、流れの詳細を説明する。
ステップS31では、まず、チャットボットシステムは、質問の検索方法となる選択メニューをユーザ端末2に表示する。例えば、選択メニューは、「全てのカテゴリから検索」、「カテゴリから選んで検索」及び「よくある質問から検索」の3つの選択肢のうち、1つをユーザに選択させる操作を受け付けるGUIである。なお、選択メニューは、4つ以上の選択肢又は2つ以下の選択肢を表示させてもよい。
選択メニューによって「全てのカテゴリから検索」が選択されると(図における「全てのカテゴリから検索」である。)、チャットボットシステムは、ステップS32に進む。また、選択メニューによって「よくある質問から検索」が選択されると(図における「よくある質問から選ぶ」である。)、チャットボットシステムは、ステップS37に進む。ほかにも、選択メニューによって「カテゴリから選んで検索」(図における「カテゴリから選ぶ」である。)が選択されると、チャットボットシステムは、ステップS39に進む。
ステップS32では、チャットボットシステムは、ユーザに文字で質問を入力するように促すメッセージをユーザ端末2に表示させる。また、チャットボットシステムは、テキストボックス等のGUIをユーザ端末2に表示させて、質問となる文字を入力する操作を受け付ける。次に、質問が入力されると(図における「任意の質問文字を入力」である。)、チャットボットシステムは、ステップS33に進む。
ステップS33では、チャットボットシステムは、質問を示す文字列を解析する。そして、チャットボットシステムは、質問−回答DBを検索して、質問に対して回答となりうる候補(以下単に「候補」という。)を抽出する。なお、チャットボットシステムは、検索の結果、候補を複数取得してもよい。
ステップS33による検索の結果、候補が1つ(図における「候補が1つ」である。)であると、チャットボットシステムは、検索された候補を応答情報にして応答する。また、ステップS33による検索の結果、候補が2つ以上(図における「候補が2つ以上」である。)であると、チャットボットシステムは、ステップS34に進む。ほかにも、ステップS33による検索の結果、候補が検出できない場合(図における「候補が検出できなかった」である。)には、チャットボットシステムは、ステップS36に進む。
ステップS34では、チャットボットシステムは、複数の候補のうち、いずれかを選択させる操作、又は、いずれの候補も非選択とする操作のうち、いずれかの操作をユーザに行わせるGUIをユーザ端末2に表示する。
ステップS35では、チャットボットシステムは、候補のうち、いずれかを選択する操作が行われると(図における「候補を選択」である。)、選択された候補を応答情報にして応答する。一方で、非選択を選択する操作が行われると(図における「該当するものが存在しない」である。)、チャットボットシステムは、例えば、今の段階では質問に対する回答を表示できない等を示す謝罪のメッセージをユーザ端末2に表示する。
ステップS36では、チャットボットシステムは、謝罪を示すメッセージ及び再検索を行う促すメッセージをユーザ端末2に表示して、ステップS31に戻る。
ステップS37では、チャットボットシステムは、問い合わせ履歴DBを参照して、他のユーザ等から問い合わせ頻度の高い1つ以上の質問(例えば、3つ程度である。)を抽出する。そして、チャットボットシステムは、質問を一覧にしてユーザ端末2に表示する。さらに、チャットボットシステムは、他の検索方法を選択させるためのGUIをユーザ端末2に表示する。
ステップS38では、質問が選択されると(図における「よくある質問を選択」である。)、チャットボットシステムは、選択された質問に対する回答を質問−回答DBを検索した結果を応答情報として応答する。一方で、ステップS38で他の検索方法が選択されると(図における「別の方法で検索を選択」である。)、チャットボットシステムは、ステップS31に戻る。
ステップS39では、チャットボットシステムは、カテゴリ名を一覧にしてユーザ端末2に表示する。そして、カテゴリ名の一覧からカテゴリを選択する操作が行われると(図における「カテゴリを選択」である。)、チャットボットシステムは、ステップS40に進む。
ステップS40では、チャットボットシステムは、質問となる文字を入力する操作を受け付ける。次に、質問が入力されると(図における「任意の質問文字を入力」である。)、チャットボットシステムは、質問を示す入力情報を取得する。そして、チャットボットシステムは、ステップS41に進む。
ステップS41では、チャットボットシステムは、質問−回答DBを検索して、候補を抽出する。次に、チャットボットシステムは、候補が1つ(図における「回答が1つ」である。)であると、チャットボットシステムは、検索された候補を応答情報にして応答する。また、候補が2つ以上(図における「候補が2つ以上」である。)であると、チャットボットシステムは、ステップS42に進む。ほかにも、候補が検出できない場合(図における「候補が検出できなかった」である。)には、チャットボットシステムは、ステップS44に進む。
ステップS42では、チャットボットシステムは、複数の候補のうち、いずれかを選択させる操作、又は、いずれの候補も非選択とする操作のうち、いずれかの操作をユーザに行わせるGUIをユーザ端末2に表示する。
ステップS43では、チャットボットシステムは、候補のうち、いずれかを選択する操作が行われると(図における「候補を選択」である。)、選択された候補を応答情報にして応答する。一方で、非選択を選択する操作が行われると(図における「該当するものが存在しない」である。)、チャットボットシステムは、例えば、今の段階では質問に対する回答を表示できない等を示す謝罪のメッセージをユーザ端末2に表示する。
ステップS44では、チャットボットシステムは、謝罪を示すメッセージ及び再検索を行う促すメッセージをユーザ端末2に表示して、ステップS31に戻る。
シナリオ情報は、例えば、以上のような対話の流れを想定して入力される。すなわち、シナリオ情報は、対話の流れの中で用いられるGUIの種類、メッセージ及びGUI等を出力させる順序等を管理者が設定した結果等を示す。
カテゴリDBは、質問を分類するためのカテゴリ情報を記憶する。例えば、カテゴリ情報は、以下のような情報である。
図6は、一実施形態に係るカテゴリ情報の例を示す図である。例えば、図示するように、カテゴリ情報は、「ID」、「カテゴリ名」及び「更新日時」で構成される情報である。
「カテゴリ名」は、質問が該当するカテゴリを示す。
「ID」は、ID(Identification)、すなわち、それぞれのカテゴリの識別情報を示す。
「更新日時」は、各情報が更新された日時を示す。
質問−回答DBは、質問と、質問に対する回答を対応付けした情報(以下「質問−回答情報」という。)を記憶する。例えば、質問−回答情報は、あらかじめ管理者等によって作成され、質問−回答DBに記憶される。例えば、質問−回答情報は、以下のような情報である。
図7は、一実施形態に係る質問−回答情報の例を示す図である。例えば、図示するように、質問−回答情報は、「ID」、「質問」、「類似質問」、「回答」、「カテゴリID」及び「更新日時」で構成される情報である。
「ID」は、ID、すなわち、それぞれの質問−回答情報の識別情報を示す。
「質問」は、質問の内容を示す。
「類似質問」は、「質問」に入力される質問と類似の内容となる質問を示す。
「回答」は、質問に対する回答を示す。
「カテゴリID」は、質問が該当するカテゴリを特定できるカテゴリのIDを示す。
「更新日時」は、各情報が更新された日時を示す。
問い合わせ履歴DBは、以前にユーザによって入力された質問を示す情報(以下「問い合わせ履歴情報」という。)を記憶する。例えば、問い合わせ履歴情報は、以下のような情報である。
図8は、一実施形態に係る問い合わせ履歴情報の例を示す図である。図示するように、問い合わせ履歴情報は、「ID」、「セッションID」、「ヒットした質問に紐づくカテゴリのID」、「ヒットした質問のID」、「ユーザ入力」、「フィードバック」及び「日時」で構成される情報である。
「ID」は、ID、すなわち、それぞれの問い合わせ履歴情報の識別情報を示す。
「セッションID」は、質問が行われた対話セッションを特定できる識別情報を示す。
「ヒットした質問に紐づくカテゴリのID」は、質問が該当するカテゴリを特定できるカテゴリのIDを示す。
「ヒットした質問のID」は、質問のIDを示す。
「ユーザ入力」は、ユーザが入力した質問を示す。
「フィードバック」は、質問に対する回答に、ユーザがフィードバックをしたか否かを示す。
「日時」は、対話が行われた日時を示す。
対話セッションは、ユーザ端末とサーバ装置の間で行われた対話の集合である。例えば、同一の対話セッションとなる対話は、ユーザ端末2において、チャット形式等の対話に用いる画面が立ち上げられてから閉じられるまでの間に行われた対話、又は、当該画面が立ち上げられてからセッションタイムアウトにより当該画面が強制的に閉じられるまでの間に行われた対話等である。
なお、セッションタイムアウトは、あらかじめ設定される所定時間内に、ユーザ端末2に対してアクションがない場合に発生する。そして、セッションタイムアウトは、対話に用いる画面等を終了させる処理である。
なお、対話セッションは、上記の例に限定されない。例えば、質問の入力から、回答の応答が行われた後、回答に対してユーザがフィードバックを入力するまでが1つの対話セッションでもよい。この場合には、対話セッションは、ユーザからフィードバックが得られると、1つの対話セッションが完了する。
対話履歴DBは、ユーザ端末とサーバ装置の間で行われる対話において、ユーザ端末2に入力された発言内容及びサーバ装置1が出力した内容の履歴を示す情報(以下「対話履歴情報」という。)を記憶する。例えば、対話履歴情報は、以下のような情報である。
図9は、一実施形態に係る対話履歴情報の例を示す図である。図示するように、対話履歴情報は、「ID」、「セッションID」、「発言種別」、「発言内容」、「発言タイプID」、「コンテントID」及び「日時」で構成される情報である。
「ID」は、ID、すなわち、それぞれの対話履歴情報の識別情報を示す。
「セッションID」は、対話が行われた対話セッションを特定できるIDを示す。
「発言種別」は、発言者の種別を示す。具体的には、「発言種別」には、「0」又は「1」のいずれかが入力される。「0」は、管理者による発言であることを示す。一方で、「1」は、ユーザによる発言であることを示す。
「発言内容」は、発言された内容を示す。
「発言タイプID」は、例えば、「5−0」、「5−1」及び「5−2」のように入力される。そして、これらの入力に基づいて、「発言タイプID」は、「カテゴリ」、「質問−回答情報」及び「シナリオ」のうち、「発言内容」がいずれかに対応して発言されたかを示す。
「コンテントID」は、発言タイプがシナリオである場合には、シナリオで設定された発言を示す。また、「コンテントID」は、発言タイプが質問−回答情報である場合には、質問−回答情報のIDを示す。さらに、「コンテントID」は、発言タイプがカテゴリである場合には、カテゴリを選択する発言を示す。
「日時」は、対話が行われた日時を示す。
契約情報DBは、ユーザとあらかじめ結ばれた契約の内容を記憶する。例えば、契約には、有人対応を行うか否か、及び、対応を行う期間等の情報があらかじめ入力される。また、サーバ装置1は、取得された契約等の情報をテナントID等と対応付けて保持してもよい。
なお、DBの種類、及び、構成は、上記の例に限られない。すなわち、DBは、他の形式であってもよい。また、DBは、複数の装置で分散してデータを保持して構成してもよい。さらに、各DBは、必須でない。すなわち、シナリオを実現できるデータが揃うのであれば、DBの形式等は問わない。
[第1の実施形態]
<機能ブロック図>
図10は、第1の実施形態に係るチャットボットシステムの機能構成例を示す図である。例えば、チャットボットシステム100は、入力情報取得部1001、検索部1002、応答部1003、アクセス先情報取得部1004、変更部1005、及び、抽出部1006を備える機能構成であるのが望ましい。上記の各機能構成は、例えば、サーバ装置1が備えるCPU101が実行するプログラムが実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアが実現するものであってもよい。
入力情報取得部1001は、ユーザ端末2に入力される入力情報を取得する入力情報取得手順を行う。
検索部1002は、入力情報に対する応答情報を検索する検索手順を行う。
応答部1003は、入力情報に対して応答情報をユーザ端末2に応答する応答手順を行う。
入力情報取得部1001、検索部1002、応答部1003によって、入力部2001を介して入力される入力情報に対する応答情報が出力部2002で出力されることで応答されて、対話、すなわち、ボットが実現する。
例えば、入力情報取得部1001は、通信I/F105等によって、入力情報をユーザ端末2から取得する。また、検索部1002は、例えば、CPU101等によって、入力情報に対する応答情報を検索する。さらに、応答部1003は、通信I/F105等によって、応答情報を応答する。
アクセス先情報取得部1004は、ユーザ端末2がアクセスするアクセス先を取得するアクセス先情報取得手順を行う。例えば、アクセス先情報取得部1004は、通信I/F105等によって、ユーザ端末2のアクセス先を取得する。
変更部1005は、アクセス先に基づいて、検索部1002による検索の範囲又は応答部1003による応答を変更する変更手順を行う。例えば、変更部1005は、CPU101等によって、検索、又は、応答を変更する。
抽出部1006は、ユーザ端末2がアクセスするページが示すコンテンツのキーワード、又は、キーワードの類義語を抽出する抽出手順を行う。例えば、抽出部1006は、CPU101等によって、アクセス先情報取得部1004がアクセス先を取得する際等にキーワード又は類義語の抽出を行う。
なお、サーバ装置1には、CPU101が実行するプログラム等で実現する、演算部、及び、制御部等の機能が更にあってもよい。ほかにも、サーバ装置1には、入力部、出力部、記憶部及び通信部等の機能が更にあってもよい。さらに、ユーザ端末2には、演算部、制御部、記憶部、入力部、出力部及び通信部等の機能があってもよい。
<全体処理例>
図11は、第1の実施形態に係るチャットボットシステムの全体処理例を示す図である。以下、チャットボットサービスを実現する処理をサーバ装置1が単独で行う場合を例に説明する。
ステップS101では、ユーザ端末2の入力部2001は、チャットボットを起動させる操作を受け付ける。例えば、ユーザ端末2の入力部2001は、表示させるWebページに含まれる所定のアイコンを押下する操作、又は、ユーザ端末2にインストールされた対話アプリケーションを起動する操作や対話アプリケーションの所定のボタンを押下する操作を受け付ける。
ステップS102では、ホームページ500は、ユーザ端末2に対して、チャットボットの起動要求に応答する。具体的には、ホームページ500には、あらかじめ埋め込みコードがホームページのソースコードに埋め込まれる。そして、ステップS102では、ユーザ端末2は、埋め込みコードに基づいて処理が実行可能な状態となる。
ステップS103では、ユーザ端末2の演算部は、埋め込みコードを実行する。
ステップS104では、ユーザ端末2の通信部は、埋め込みコードに基づいて、JavaScript(登録商標)等で作成されるスクリプトデータを要求する。
ステップS105では、サーバ装置1の通信部は、ステップS104で要求されるスクリプトデータをユーザ端末2に送信する。
ステップS106では、ユーザ端末2の演算部は、スクリプトデータを実行する。
ステップS107では、ユーザ端末2の通信部は、チャットボットのコンテンツ要求及びチャットボットの契約者(テナント)を識別するテナントIDをサーバ装置1に送信する。
テナントIDは、ユーザ端末2があらかじめ保持している情報である。なお、テナントIDは、チャットボットに用いられるブラウザが保持してもよいし、又は、チャット機能を実現するアプリケーションが保持してもよい。
ステップS108では、サーバ装置1の演算部は、テナントIDに対応する契約等の情報を契約情報DBから取得する。そして、サーバ装置1の演算部は、テナントIDに基づいて契約状態等を判断する。以下、契約がチャットボットサービスを利用可能な状態であると判断された場合を例に説明する。
ステップS109では、サーバ装置1は、例えば、以下のようなアクセス先の取得及び表示変更を行う。
図12は、第1の実施形態に係るアクセス先の取得及び変更等の処理例を示す図である。なお、図示するような処理は、ステップS109以外のタイミングで実行されてもよい。例えば、図示するような処理は、ユーザ端末からアクセスするページが変わる、又は、ボットに対する要求があるごとに実行されてもよい。
ステップS901では、アクセス先情報取得部1004は、ユーザ端末のアクセス先を取得する。
<アクセス先の取得例>
アクセス先は、例えば、ボットを設置したページのファイル名、ページのURL(Uniform Resource Locator)、ページでテキスト、若しくは、画像で表示されるコンテンツ情報、ページのタイトル、これらの一部、又は、これらを組み合わせた情報である。つまり、アクセス先は、ボットが呼び出されたページでもある。
具体的には、アクセス先は、「saiyo.html」等のような形式の情報である。この例では、アクセス先が「採用」についてのコンテンツを示すページであると判定される。
なお、取得されるアクセス先の情報に基づいて、どのようなコンテンツを示すページかを判定するため、ページの構成、又は、取得するアクセス先の情報とコンテンツの内容とを対応付けした情報等が、あらかじめサーバ装置1に入力される。したがって、アクセス先情報取得部1004は、アクセス先の情報を取得すると、ボットが設置された複数のページのうち、どのページにユーザ端末がアクセスしているかが把握できる。
例えば、アクセス先は、ページのタイトル等でもよい。
ページのタイトルは、HTML(Hyper Text Markup Language) 形式で記載されるページのソース(すなわち、ページを表示するためのソースファイルである。ヘッダ又はフッタ等に入力される情報も含む。)では、「<title>・・・</title>」という形式で記載される場合が多い。したがって、上記の例では、「<title>」のタグで入力されるテキストで示すタイトル(上記の例における「・・・」部分に入力されるテキストである。)を解析して、アクセス先が取得されてもよい。ページのタイトルは、ユーザにページの内容を伝えるため、ページの内容を代表するような文言である場合が多い。したがって、ページのタイトルを特定すると、ユーザ端末がアクセスしているページがどういった内容のページであるかを精度良く特定できる。
ページのタイトルと同様に、ファイル名又はURL等も、ページの内容を代表するような文言である場合が多い。したがって、ページのファイル名又はURL等を特定しても、ユーザ端末がアクセスしているページがどういった内容のページであるかを精度良く特定できる。
上記の例に示すように、アクセス先は、ユーザ端末がアクセスするページの内容が特定できる情報であればよい。したがって、アクセス先は、ページ内の要素又はソースファイル等を解析して、ページが示す内容を推測した結果でもよい。
具体的には、アクセス先を取得するため、まず、ページが表示するテキスト又は画像等のコンテンツ情報に基づいて、解析がされてもよい。例えば、上記のタイトル等と同様に、ページで表示されるテキスト又は画像を解析して、最も登場する回数が多い文言又は内容をページが示す内容と推定してもよい。
例えば、メーカ等のホームページにおいて、製品紹介のページであれば、「商品」、「製品」又はこれらに類似する文言がテキスト又は画像で多く表示される場合が多い。したがって、ページで表示されるテキスト又は画像等を解析して、ページの内容を代表するような文言が特定されてもよい。このように、コンテンツ情報を解析すると、ユーザ端末がアクセスしているページがどういった内容のページであるかを精度良く特定できる。
<キーワード又は類義語の抽出例>
抽出部1006は、キーワードを抽出してもよい。
キーワードは、ユーザ端末がアクセスするページによって表示されるコンテンツを示す文言である。例えば、キーワードは、ページが表示するテキスト又は画像等のコンテンツ情報を解析して抽出される。なお、文字認識又は物体認識等に用いるデータ及び設定等は、あらかじめ入力される。
なお、キーワードは、類義語(「類語」、「類似語」、又は、「同義語」等と呼ばれる場合もある。)であってもよい。具体的には、まず、あらかじめ類語を特定するためのデータベース(いわゆる類語辞典等である。)がサーバ装置1に構築される。このようにすると、例えば、「採用」、「リクルート」又は「人材募集」等は、同様の内容を指す文言であると認識される。
以上のようにアクセス先が取得されると、サーバ装置1は、ユーザ端末がアクセスしているページがどういった内容のページであるかを把握できる。したがって、以降の検索又は応答等の処理において、サーバ装置1は、アクセス先と同様の内容に絞って処理を実行できる。具体的には、ユーザは、「製品」を紹介するページを見ている場合には、「製品」の内容であるという事情を前提にボットに対して質問等を入力する場合が多い。そのため、ユーザが「資料を請求するには」という質問を入力する場合には、「資料」は、製品についての資料を指すのが前提である場合が多い。
ほかにも、例えば、「いつから」という時期を問う質問であっても、「製品紹介」等のページにアクセスしているユーザ端末を用いているユーザは、「製品販売開始時期」を問う質問をしている場合が多い。一方で、同じ「いつから」という時期を問う質問であっても、「採用情報」等のページにアクセスしているユーザ端末を用いているユーザは、「採用試験開始時期」を問う質問をしている場合が多い。このように、同じ入力であっても、アクセス先によって、前提が異なる場合が多い。したがって、サーバ装置1は、このような前提となる部分をアクセス先に基づいて絞り込めるのが望ましい。
なお、アクセス先の取得には、複数の要素を組み合わせて用いてもよい。例えば、URL、キーワード、及び、コンテンツ情報を別々に解析して、解析結果の多数決等でアクセス先が定まってもよい。
また、アクセス先の取得には、これらの情報の一部が用いられてもよい。例えば、ページが示す画像が複数あるような場合には、最も画像サイズが大きい画像のみが処理対象となる等のように、用いる情報を限定してもよい。
ステップS902では、変更部1005は、設定情報を取得する。
設定情報は、例えば、後段で行われる変更において、検索をどのような範囲にするか、又は、どのように応答にするか等を示す情報である。例えば、設定情報は、管理者等によって、あらかじめ設定される。
具体的には、設定情報は、ボットを表示するか、又は、非表示にするか等を示す情報である。例えば、ページによっては、管理者がボットを非表示にするように設定したい場合がある。したがって、設定情報は、どういったページでは、ボットを表示にするかというように、ページと、表示するか非表示にするかとを対応付けした情報等である。このような設定情報があると、変更部1005は、ページごとに、ボットの表示及び非表示を変更できる。
また、設定情報は、検索する範囲、又は、応答する内容の絞り込み、又は、切り替えをするための情報である。そして、変更部1005は、設定情報に基づいて、検索する範囲の例である、検索に用いるDBを絞り込み、又は、切り替える。
例えば、アクセス先が「採用」である場合には、設定情報は、検索の対象となるDBが人事関係の内容を示すDBに切り替える設定する情報である。又は、設定情報は、検索でDBから抽出される内容が人事関係の内容に絞り込むように、カテゴリ等を設定する情報等である。
このような設定情報があると、アクセス先の情報に基づいて、応答するコンテンツの限定、シナリオの変更、FAQの切り替え、又は、検索条件(フィルタ等の設定でもよい。)の変更等ができる。そして、検索される対象が、設定情報等に基づいて変更されると、表示及び応答される内容がアクセス先の内容に絞って出力される。
具体的には、「製品紹介」等のページにアクセスしているユーザ端末において、「資料請求の仕方」を問うような質問が入力された場合には、変更部1005は、「製品」のカタログ等について検索するようにし、他の「採用」等に用いられる資料の検索結果が、検索で抽出しない、又は、検索されても、以降に行われる応答又は表示等の処理では用いられないように、検索結果から除外する。
ステップS903では、変更部1005は、ステップS902で取得した設定情報に対応する「表示の有無」の項目値を参照する。そして、項目値が「表示」である場合には、ボットを表示すると判断し(ステップS903でYES)、ステップS904に進む。一方で、「非表示」である場合には、変更部1005は、ボットを表示しないと判断し(ステップS903でNO)、ステップS904の処理をせずに終了する。
ステップS904では、変更部1005は、検索、又は、応答を変更する。具体的には、設定情報等に基づいて、DB等を変更する。以降、検索、又は、応答等の処理は、ステップS904で変更された設定に基づいて実行される。例えば、以下のように変更部1005は変更を行う。
図13は、第1の実施形態に係るアクセス先が「製品紹介」のページである場合の例を示す図である。
図14は、第1の実施形態に係るアクセス先が「新卒採用」のページである場合の例を示す図である。
図15は、第1の実施形態に係るアクセス先が「キャリア採用」のページである場合の例を示す図である。
図16は、第1の実施形態に係るアクセス先が「よくあるご質問」のページである場合の例を示す図である。
以下、図示するように、「製品紹介」、「新卒採用」、「キャリア採用」、及び、「よくあるご質問」の4つのページにチャットボットが設置された場合を例に説明する。
ユーザが各ページに表示されたチャットボットアイコンをクリックすると、下記(表1)に示すような設定情報テーブルに登録された情報に基づいて、チャットボット画面が表示される。
Figure 2021093139
上記(表1)において、「適用範囲」は、設定した「URL」を基準に、どの範囲のURLに設定情報を適用するかを示す項目である。例えば、1行目のように、「サブ階層を含む」と設定し、かつ、「URL」で「/product/」と設定すると、アクセス先が「/product/product_a/」又は「/product/product_b/」等の場合は、「/product/」のサブ階層であるため、1行目の設定情報を適用するように判断される。
一方で、上記(表1)において、例えば、3行目のように、「適用範囲」に「サブ階層を含まない」と設定し、かつ、「URL」で「/jobs/careers/」と設定すると、3行目の設定情報は、アクセス先が「/jobs/careers/」の場合のみ適用され、サブ階層に適用されない。ほかにも、特定のキーワードを「URL」に設定し、「URL」に設定したキーワードを含むアクセス先に設定情報を適用してもよい。また、上記の例では、URLを相対パスで示したが、絶対パス(例えば、「http://xxx/faq/」等である。)で設定がされてもよい。
例えば、ユーザが図13に示す「商品A情報」のページに設置されるチャットボットアイコンをクリックした場合には、このページのURLがどの設定情報に該当するか判断される。この例では、「https://xxx/product/product_a/」は、設定情報の1行目のURL「/product/」のサブ階層に該当する。そのため、この例には、1行目の設定情報が適用される。すると、商品シナリオSC1が表示される。そして、ユーザが入力した質問に対応する応答情報を検索するのに、「商品」のカテゴリ、「商品」のFAQマスタ、「商品」の類語辞典が適用される。
ユーザが図14に示す「新卒採用」のページに設置されるチャットボットアイコンをクリックした場合には、このページのURLがどの設定情報に該当するか判断される。この例では、「https://xxx/jobs/newgraduate/」は、設定情報の2行目のURL「/jobs/newgraduate/」と一致する。そのため、この例には、2行目の設定情報が適用される。すると、新卒採用シナリオSC2が表示される。そして、ユーザが入力した質問に対応する応答情報を検索するのに、「採用」のカテゴリ、「採用」のFAQマスタ、「採用」の類語辞典、さらに、「商品」のカテゴリ、「商品」のFAQマスタ、及び、「商品」の類語辞典が適用される。
ユーザが図15に示す「キャリア採用」のページに設置されるチャットボットアイコンをクリックした場合には、このページのURLがどの設定情報に該当するか判断される。この例では、「https://xxx/jobs/careers/」は、設定情報の3行目のURL「/jobs/new careers /」と一致する。そのため、この例には、3行目の設定情報が適用される。すると、キャリア採用シナリオSC3が表示される。そして、ユーザが入力した質問に対応する応答情報を検索するのに、「採用」のカテゴリ、「採用」のFAQマスタ、「採用」の類語辞典、さらに、「商品」のカテゴリ、「商品」のFAQマスタ、及び、「商品」の類語辞典が適用される。
ユーザが図15に示す「よくあるご質問」のページに設置されるチャットボットアイコンをクリックした場合には、このページのURLがどの設定情報に該当するか判断される。この例では、「https://xxx/faq/」は、設定情報の4行目のURL「/faq/」と一致する。そのため、この例には、4行目の設定情報が適用される。したがって、設定情報により、「表示の有無」項目が「非表示」に設定されているため、「よくあるご質問」のページでは、チャットボットアイコンが表示されない。
図17は、第1の実施形態に係る設定情報の登録画面例を示す図である。図示するような画面で登録の操作が行われると、例えば、上記(表1)に示すような設定情報テーブルが登録される。なお、図において、グレーで示す項目は、選択中を示す。
例えば、図示するように各項目を1つずつ選択して、「登録」のボタンが押されると、上記(表1)に示す1行分の設定情報が設定される。
図示するように操作されると、上記(表1)における2行目の設定情報が生成される。
例えば、以上のように、ステップS109が行われる。
ステップS110では、サーバ装置1の通信部は、ボットによる対話を行うため、コンテンツの情報等をユーザ端末2に送信する。
ステップS111では、ユーザ端末2の出力部2002は、ボットによる対話を行うためのコンテンツ等を表示する。
そして、あらかじめ管理者によって、チャットボットサービスを開始させる操作用のアイコンを表示するように設定される場合がある。このような場合(図における「アイコンを表示する場合」である。)には、チャットボットシステム100は、ステップS112に進む。一方で、アイコンを表示しない設定である場合には、チャットボットシステム100は、ステップS114に進む。
ステップS112では、ユーザは、例えば、チャットボットサービスを開始するアイコンを押す操作を行う。したがって、ユーザ端末2の入力部2001は、アイコンを押す操作を受け付ける。
ステップS113では、ユーザ端末2の出力部2002は、シナリオ等に基づいてチャットボットによる対話を開始する。以下、シナリオをユーザが選択して対話が開始される場合の例で説明する。例えば、図13乃至図16に示す画面のいずれかがユーザ端末2に表示されて対話が開始する。
ステップS114では、ユーザは、シナリオを選択する操作を行う。具体的には、上記(表1)が示すように、「シナリオID」が複数設定される場合もある。このような場合等には、ユーザ端末2の出力部2002は、複数のシナリオのうち、1つをユーザに選択させるGUIを表示する。
ステップS115では、サーバ装置1の入力部2001は、ステップS114で行われるシナリオを選択する操作を受け付ける。そして、サーバ装置1の通信部は、選択されたシナリオを示す通知をサーバ装置1に対して行う。
ステップS116では、サーバ装置1の制御部は、設定情報で特定されるシナリオにおいて対話で表示する内容を特定する。
例えば、「全てのカテゴリから選ぶ」という選択肢がステップS31で選ばれると、ステップS109で切り替えられた設定情報における「カテゴリID」等で設定されるカテゴリの「カテゴリ名」等を応答するように内容が特定される。
また、「よくある質問から選ぶ」という選択肢がステップS31で選ばれると、まず、所定期間内に発生した問い合わせ履歴情報に基づいて、例えば、上位5位程度の質問等が抽出される。
ほかにも、例えば、「内線電話を調べる」というシナリオ等がステップS114では選択されるとする。このような場合には、例えば、「名前を入力してください」等のようなあらかじめ設定されるメッセージを応答するように、内容が特定される。
ステップS117では、サーバ装置1の通信部は、表示させるコンテンツ等を送信する。
ステップS118では、ユーザ端末2の出力部2002は、ステップS117で送信されるコンテンツ等を表示する。以下、ステップS109等で定まるシナリオ等によって、例えば、図5に示すように、質問、検索、及び、応答が行われるとする。
ステップS119では、ユーザは、質問を入力する。したがって、ステップS119では、ユーザ端末2の入力部2001は、入力を受け付ける。そして、受け付けられた質問等を示す入力情報が生成される。
ステップS120では、入力情報取得部1001は、入力情報をユーザ端末2から取得する。
ステップS121では、検索部1002は、入力情報に対する応答情報を検索する。
ステップS122では、応答部1003は、応答情報と応答する。ここで、応答部1003は、応答情報に対して所定の加工を施した応答メッセージを応答してもよい。すなわち、応答情報に基づく応答メッセージを応答してもよい。
ステップS123では、ユーザ端末2の出力部2002は、応答情報に基づいて、質問に対する回答等を表示する。
上記ステップS119乃至ステップS123の処理は、繰り返し行われてもよい。なお、回答が応答された後、すなわち、ステップS123が行われた後、ステップS124乃至ステップS128の処理が行われてもよい。
ステップS124では、ユーザ端末2の出力部2002は、満足度を調査するための入力項目を表示する。すなわち、ユーザ端末2の出力部2002は、ステップS123等で得られた回答について、ユーザの満足度を調査するため、アンケート等を表示し、ユーザに満足度を入力させるGUIを表示する。
ステップS125では、ユーザは、満足度を入力する。
ステップS126では、ユーザ端末2の通信部は、ステップS125で入力された内容、すなわち、アンケートの結果等をサーバ装置1に通知する。
ステップS127では、サーバ装置1の記憶部は、ステップS126で通知された内容又は対話の内容等の履歴を記憶する。
なお、サーバ装置1は、満足度の内容等に基づいて、満足度の統計処理等を行ってもよい。具体的には、サーバ装置1は、管理者等に対して、所定の期間におけるチャットボットによる対話での満足度(例えば、「満足した」、「不満足があった」、「該当なし」及び「不明」等のような満足度をステップS125でユーザに入力させる。)をグラフ等によって表示する。このような満足度を統計処理した結果がフィードバックされると、管理者等が客観的に満足度を知ることができる。
ステップS128では、ユーザ端末2の制御部は、例えば、ステップS112又はステップS114に戻る。すなわち、ユーザ端末2の制御部は、いわゆるチャットボットの初期画面に戻る。なお、ステップS128では、チャットボットシステムは、チャットボットを終了させてもよい。
以上のように、ユーザ端末2のアクセス先に基づいて、後段で行われる検索及び応答等の処理が変更されると、ユーザが前提とする内容等に合わせた応答が可能となる。
これに対して、複数のページで同じボットを共通して使用すると、アクセス先に基づいて定まる前提が欠けた状態で検索又は応答等が行われるため、ユーザの質問に合わない応答をしてしまい、ユーザによる利便性が低い場合がある。
そこで、ユーザの質問に精度良く応答するため、ボットをページごとに、別々にボットを設置及び設定すると、それぞれのボットを別々に管理するため、管理負担が大きくなり、ボットを用いる利便性が低い。
上記のような例と比較して、アクセス先に基づいて変更を行うような構成とすると、ボットの管理を容易にでき、かつ、ユーザへの応答も適切にできる。
また、ページごとにボットを設置しないため、管理の手間等が減らせる。又は、ユーザが所望する回答に辿り着くのにかかる手間又は時間等を減らせる。
このように、ボットを用いる上での利便性を向上させることができる。
[第2の実施形態]
第1の実施形態に係るチャットボットシステム100では、管理者(又はユーザ)等は、例えば、図17に示すような登録画面を用いて、ページごとに設定情報を設定していたため、設定情報の設定に手間を要していた。
そこで、第2の実施形態では、複数のページで同じチャットボットを共通して使用し、ユーザ端末2のアクセス先に応じて設定情報を変更するチャットボットシステム(情報処理システム)100において、設定情報の設定を容易にする方法について説明する。
<機能構成>
図18は、第2の実施形態に係るチャットボットシステムの機能構成例を示す図である。図18に示すように、第2の実施形態に係るチャットボットシステム100は、図10で説明した第1の実施形態に係るチャットボットシステム100の機能構成に加えて、情報管理部1801、ページ種別特定部1802、設定情報取得部1803、及び記憶部1810等を有している。
情報管理部1801は、例えば、サーバ装置1が備えるCPU101が実行するプログラム等によって実現され、算出テーブル1811、及び設定情報テーブル1812等の情報を、記憶部1810等に記憶して管理する。
図19は、第2の実施形態に係る算出テーブルの例を示す図である。情報管理部1801は、例えば、図19に示すような算出テーブル1811を、テナント(チャットボットの契約者等)ごとに、記憶部1810等に記憶して管理している。なお、算出テーブル1811は、複数のテナントが、1つの算出テーブル1811を共用するものであってもよい。図19の例では、算出テーブル1811は、項目として、「キーワード」、「タグ種別」、「ページ種別」、及び「店数」等の情報を含む。
「キーワード」は、ページ(ウェブページ)のコード(ソースコード、又はHTMLソース等)から抽出する、予め定められたキーワードである。「タグ種別」は、抽出したキーワードが記載されたタグの種別を示す情報である。なお、図19の例では、HTMLで記載されたページのタグの種別の例を示しているが、HTML以外の言語の場合には、当該言語に対応するタグ種別を登録すればよい。「ページ種別」は、ページが示す内容を表すページ種別を示す情報であり、後述する設定情報テーブル1812の「ページ種別」に対応している。「点数」は、後述するページ種別の特定処理において、ページ種別の特定に用いる点数を示す情報である。
なお、同じキーワード「ソリューション」であっても、商品ページ(ページ種別「商品」)に記載される可能性もあれば、FAQページ(ページ種別「FAQ」)に記載される可能性もある。図19の例では、キーワード「ソリューション」が、商品ページに記載される可能性がより高いため、ページ種別「商品」の点数が、ページ種別「FAQ」の点数より高く設定されている。
情報管理部1801は、一例として、図19に示すような算出テーブル1811を設定するためのウェブページを、管理者端末3等に提供するウェブサーバとして機能し、管理者等によって設定された算出テーブル1811を、記憶部1810等に記憶する。
別の一例として、情報管理部1801は、図19に示すような算出テーブル1811を、機械学習の学習効果によって生成してもよい。ここで、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり、コンピュータが、データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し、新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
図20は、第2の実施形態に係る設定情報テーブルの例を示す図である。情報管理部1801は、例えば、図20に示すような設定情報テーブル1812を、テナントごとに、記憶部1810等に記憶して管理している。なお、設定情報テーブル1812は、複数のテナントが、1つの設定情報テーブル1812を共用するものであってもよい。図20の例では、設定情報テーブル1812には、ページ種別2011ごとに、例えば、「表示の有無」、「シナリオID」、「カテゴリID」、「FAQマスタID」、及び「類語ID」等の設定情報2012が記憶されている。なお、設定情報2012に含まれる各情報は、表1に含まれる各情報と同様でよい。
情報管理部1801は、一例として、図20に示すような設定情報テーブル1812を設定するためのウェブページを管理者端末3等に提供するウェブサーバとして機能し、管理者等によって設定された設定情報テーブル1812を、記憶部1810等に記憶する。
ここで、図18に戻り、チャットボットシステム100の機能構成の説明を続ける。
ページ種別特定部1802は、例えば、サーバ装置1が備えるCPU101が実行するプログラム等によって実現され、抽出部1006が、ページから抽出したキーワードと、図19に示すような算出テーブル1811とを用いて、ページの種別を特定するページ種別の特定処理を実行する。なお、ページ種別特定部1802が実行するページ種別の特定処理については、フローチャートを用いて後述する。
設定情報取得部1803は、例えば、サーバ装置1が備えるCPU101が実行するプログラム等によって実現され、アクセス先のページ種別と、図20に示すような設定情報テーブル1812とを用いて、アクセス先のページの設定情報を取得する。例えば、設定情報取得部1803は、図12のステップS902において、アクセス先のページのページ種別が「商品」である場合、図20に示すような設定情報テーブル1812から、ページ種別「商品」に対応する設定情報2012を取得する。
なお、設定情報取得部1803は、図12のステップS902において、ページ種別特定部1802が、予め作成したページ種別テーブル1813を用いて、アクセス先のページのページ種別を取得してもよい。また、別の一例として、設定情報取得部1803は、図12ステップS902において、ページ種別特定部1802を用いて、アクセス先のページのページ種別を特定してもよい。
記憶部1810は、例えば、サーバ装置1が備える、RAM203、メモリ204、補助記憶装置(ストレージデバイス等)、及びCPU101が実行するプログラム等によって実現される。記憶部1810は、例えば、算出テーブル1811、設定情報テーブル1812、及び後述するページ種別テーブル1813等を記憶する。
なお、図18に示したチャットボットシステム100の機能構成は一例である。例えば、図18において、サーバ装置1に含まれる各機能構成は、複数の情報処理装置に分散して設けられていてもよい。例えば、記憶部1810は、サーバ装置1の外部のストレージサーバ、又はクラウドサービス等によって実現されるものであってもよい。
<処理の流れ>
(ページ種別の特定処理)
図21は、第2の実施形態に係るページ種別の特定処理の例を示すフローチャートである。この処理は、例えば、ホームページ(ページ)を公開する前等に、管理者(又は利用者)等による指示に応じて、ページ種別特定部1802が実行するページ種別の特定処理の例を示している。なお、この処理は、例えば、図12のステップS902において、設定情報取得部1803からの要求に応じて、ページ種別特定部1802が実行してもよい。
ステップS2101において、抽出部1006は、処理対象となるページのコード(ソースコード、又はHTMLソース等)を取得する。
ステップS2102において、抽出部1006は、取得したコードに含まれる文章を解析して、キーワードを抽出する。例えば、抽出部1006は、形態素解析等の周知の自然言語の解析方法を用いて、取得したコードを複数のワードに分解し、図19に示すような算出テーブル1811の「キーワード」に、予め設定されているキーワードを抽出する。
図22は、第2の実施形態に係るページのコードの一例を示す図である。抽出部1006は、例えば、図22に示すコード2201から、図19に示す算出テーブル1811に記憶されたキーワード「ソリューション」、「でしょうか」を抽出する。
ステップS2103において、ページ種別特定部1802は、算出テーブル1811を参照して、抽出部1006が抽出したキーワードごとに、「ページ種別」と「点数」を取得する。
例えば、ページ種別特定部1802は、図22に示すコード2201に含まれるキーワード「ソリューション」について、算出テーブル1811を参照して、次のような情報を取得する。
タグ種別<title> ・・・ ページ種別「商品」に10点。
タグ種別<h1> ・・・ ページ種別「商品」に8点、「FAQ」に5点。
タグ種別<h1><p> ・・・ ページ種別「商品」に4点、「FAQ」に2点。
タグ種別<h2> ・・・ ページ種別「商品」に6点×2、「FAQ」に3点×2。
同様にして、ページ種別特定部1802は、キーワード「でしょうか」について、次のような情報を取得する。
タグ種別<h2><p> ・・・ ページ種別「FAQ」に1点。
ステップS2104において、ページ種別特定部1802は、ステップS2103で取得した情報から、ページ種別ごとの合計点数を算出する。これにより、上記の例では、図22に示すような合計点数2202が算出される。図22の例では、ページ種別「商品」の合計点数が34点、ページ種別「FAQ」の合計点数が14点となっている。
ステップS2105において、ページ種別特定部1802は、ステップS2103で取得したページ種別が複数あるか否かを判断する。ページ種別が複数ある場合、ページ種別特定部1802は、処理をステップS2106に移行させる。一方、ページ種別が複数ない場合、ページ種別特定部1802は、処理をステップS2106に移行させる。
ステップS2106に移行すると、ページ種別特定部1802は、複数のページ種別のうち、合計点数が最も高いページ種別を特定する。例えば、図22に示した合計点数2202の例では、ページ種別特定部1802は、合計点数が最も高いページ種別「商品」を特定する。
一方、ステップS2107に移行すると、ページ種別特定部1802は、ステップS2103で取得したページ種別を特定する。
ステップS2108において、ページ種別特定部1802は、処理対象となるページのURLと、特定したページ種別とを対応付けて、例えば、図23に示すようなページ種別テーブル1813に登録する。
図23は、第2の実施形態に係るページ種別テーブルの例を示す図である。ページ種別テーブル1813には、例えば、図23に示すように、1つ以上のページ(ホームページ)のURLと、各UELに対応するページ種別とが対応付けて記憶されている。例えば、図23の例では、ページ種別特定部1802は、URL「https://xxx/product/」のページに対して、図21で説明したページ種別の特定処理を実行したときに、ページ種別「商品」と特定したことを示している。
上記の処理により、ページ種別特定部1802は、ページに含まれるキーワードと、図19に示すような算出テーブル1811とを用いて、当該ページのページ種別を特定することができる。
また、設定情報取得部1803は、例えば、図20に示すような設定情報テーブル1812から、特定したページ種別に対応する設定情報2012を取得することができる。
以上、第2の実施形態によれば、複数のページで同じチャットボットを共通して使用し、ユーザ端末2のアクセス先に応じて設定情報を変更するチャットボットシステム(情報処理システム)100において、設定情報の設定を容易にすることができる。
例えば、第1の実施形態に係るチャットボットシステム100では、管理者(又はユーザ)等は、例えば、図17に示すような登録画面を用いて、ページごとに設定情報を設定するため、設定情報の設定に手間を要していた。
一方、第2の実施形態に係るチャットボットシステム100では、例えば、図19に示すような算出テーブル1811と、図20に示すような設定情報テーブル1812を、一度登録又は作成すれば、各ページの設定情報を容易に設定することができるようになる。
以上、本発明の各実施形態によれば、ボットを用いる上での利便性を向上することができる。
<その他の実施形態>
情報処理システムにおいて、上記に示す情報処理方法における各手順は、複数の情報処理装置等で、並列、分散又は冗長して行われてもよい。また、情報処理システムは、いわゆるクラウドコンピューティング等を利用する構成でもよい。
また、各装置は、1つの装置でなくともよい。すなわち、各装置は、複数の装置の組み合わせであってもよい。なお、情報処理システムには、上記に説明する装置以外の装置が更に含まれる構成であってもよい。
また、情報処理システム及び情報処理装置は、AI(Artificial Intelligence)等を利用してもよい。例えば、情報処理システム及び情報処理装置は、文字の入力等において、機械学習等を行い、認識精度を向上させる構成等でもよい。
なお、本発明に係る各処理の全部又は一部は、コンピュータ言語で記述され、コンピュータに情報処理方法を実行させるためのプログラムによって実現されてもよい。すなわち、プログラムは、情報処理装置又は情報処理システム等のコンピュータに情報処理方法を実行させるためのコンピュータプログラムである。
したがって、プログラムに基づいて情報処理方法が実行されると、コンピュータが有する演算装置及び制御装置は、各手順を実行するため、プログラムに基づいて演算及び制御を行う。また、コンピュータが有する記憶装置は、各手順を実行するため、プログラムに基づいて、処理に用いられるデータを記憶する。
また、プログラムは、コンピュータが読み取り可能な記憶媒体に記録されて頒布することができる。なお、記憶媒体は、磁気テープ、フラッシュメモリ、光ディスク、光磁気ディスク又は磁気ディスク等のメディアである。さらに、プログラムは、電気通信回線を通じて頒布することができる。
以上、実施形態における一例について説明したが、本発明は、上記実施形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
1 サーバ装置
2 ユーザ端末
3 管理者端末
4 通信網
100 チャットボットシステム
500 ホームページ
1001 入力情報取得部
1002 検索部
1003 応答部
1004 アクセス先情報取得部
1005 変更部
1006 抽出部
1801 情報管理部
1802 ページ種別特定部
1803 設定情報取得部
1810 記憶部
特開2018−195298号公報

Claims (10)

  1. ユーザから入力を受け付けるユーザ端末に接続する情報処理装置であって、
    前記ユーザ端末に入力される入力情報を取得する入力情報取得部と、
    前記入力情報に対する応答情報を検索する検索部と、
    前記入力情報に対して、前記応答情報に基づく応答メッセージを前記ユーザ端末に応答する応答部と、
    前記ユーザによる前記入力情報の入力を前記ユーザ端末が受け付けるために前記ユーザ端末がアクセスするアクセス先を取得するアクセス先情報取得部と、
    前記アクセス先に基づいて、前記検索部による検索又は前記応答部による応答を変更する変更部と
    を備える
    情報処理装置。
  2. 前記アクセス先は、前記ユーザ端末がアクセスするページのファイル名、前記ページのURL、前記ページのタイトル、前記ページで表示されるテキスト、若しくは、前記ページで表示される画像のコンテンツ情報、これらの一部、又は、これらを組み合わせに基づく情報である
    請求項1に記載の情報処理装置。
  3. 前記テキスト、又は、前記画像を解析して、前記ページが示す内容を特定する
    請求項2に記載の情報処理装置。
  4. 前記ユーザ端末がアクセスするページが示すコンテンツのキーワード又は前記キーワードの類義語を抽出する抽出部を更に備える
    請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記変更部は、
    ボットの表示、若しくは、非表示の切り替え、又は、検索、若しくは、応答する内容の絞り込み、又は、切り替えを行う
    請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記変更部は、
    前記検索部が用いるデータベースを絞り込み、又は、切り替える
    請求項5に記載の情報処理装置。
  7. 前記変更部が変更した内容に基づいて、
    前記検索部による検索の範囲、又は、前記応答部が応答する内容を絞り込み、又は、切り替える
    請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. ユーザから入力を受け付けるユーザ端末と、前記ユーザ端末と接続する1以上の情報処理装置とを有する情報処理システムであって、
    前記ユーザ端末に入力される入力情報を取得する入力情報取得部と、
    前記入力情報に対する応答情報を検索する検索部と、
    前記入力情報に対して、前記応答情報を前記ユーザ端末に応答する応答部と、
    前記ユーザによる前記入力情報の入力を前記ユーザ端末が受け付けるために前記ユーザ端末がアクセスするアクセス先を取得するアクセス先情報取得部と、
    前記アクセス先に基づいて、前記検索部による検索又は前記応答部による応答を変更する変更部と
    を備える
    情報処理システム。
  9. ユーザから入力を受け付けるユーザ端末に接続する情報処理装置が行う情報処理方法であって、
    情報処理装置が、前記ユーザ端末に入力される入力情報を取得する入力情報取得手順と、
    情報処理装置が、前記入力情報に対する応答情報を検索する検索手順と、
    情報処理装置が、前記入力情報に対して、前記応答情報を前記ユーザ端末に応答する応答手順と、
    情報処理装置が、前記ユーザによる前記入力情報の入力を前記ユーザ端末が受け付けるために前記ユーザ端末がアクセスするアクセス先を取得するアクセス先情報取得手順と、
    情報処理装置が、前記アクセス先に基づいて、前記検索手順による検索又は前記応答手順による応答を変更する変更手順と
    を含む
    情報処理方法。
  10. 請求項9に記載の情報処理方法をコンピュータに実行させるためのプログラム。
JP2020180718A 2019-11-29 2020-10-28 情報処理装置、情報処理システム、情報処理方法及びプログラム Pending JP2021093139A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/104,507 US11500956B2 (en) 2019-11-29 2020-11-25 Information processing apparatus, information processing system, information processing method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019217424 2019-11-29
JP2019217424 2019-11-29

Publications (1)

Publication Number Publication Date
JP2021093139A true JP2021093139A (ja) 2021-06-17

Family

ID=76312558

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020180718A Pending JP2021093139A (ja) 2019-11-29 2020-10-28 情報処理装置、情報処理システム、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP2021093139A (ja)

Similar Documents

Publication Publication Date Title
CN106874467B (zh) 用于提供搜索结果的方法和装置
US9305050B2 (en) Aggregator, filter and delivery system for online context dependent interaction, systems and methods
US8930360B2 (en) System and method for online handwriting recognition in web queries
US10678516B2 (en) Chatbot builder user interface
US11163778B2 (en) Integrating virtual and human agents in a multi-channel support system for complex software applications
US8848897B2 (en) Automated multimedia call center agent
KR20110039233A (ko) 입력 문자 시퀀스로부터의 리소스 로케이터 제안들
US11860945B2 (en) Information processing apparatus to output answer information in response to inquiry information
CN103678704A (zh) 一种基于图片信息的识图方法、系统、设备及装置
EP3598320A1 (en) Search apparatus, search method, search program, and carrier means
US20240080283A1 (en) Information processing system and information processing method
JP2017072976A (ja) 情報処理システム、情報処理方法及びプログラム
US20230177088A1 (en) Method and system for predicative q&a and resource suggestions
JP2019175464A (ja) 情報処理装置、情報処理方法及びプログラム
US11194883B2 (en) Alert driven interactive interface to a website mining system
US20210165846A1 (en) Information processing apparatus, information processing system, and method of processing information
US11500956B2 (en) Information processing apparatus, information processing system, information processing method, and program
JP2021093139A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP7413736B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP2021093133A (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP7472569B2 (ja) 情報処理システム、情報処理方法及びプログラム
JP4849484B2 (ja) ホームページ診断装置、ホームページ診断方法及びプログラム
JP2019139789A (ja) オペレータ端末、情報処理方法及びプログラム
KR20090000280A (ko) 네트워크 상의 대화내용과 관련된 광고를 제공할 수 있는지혜 획득 및 제공 시스템과 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240528