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

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

7648255チャットボット情報処理装置、及び、チャットボット情報処理方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2025-03-10
(45)【発行日】2025-03-18
(54)【発明の名称】チャットボット情報処理装置、及び、チャットボット情報処理方法
(51)【国際特許分類】
   G06F 40/35 20200101AFI20250311BHJP
   G06F 16/90 20190101ALI20250311BHJP
   H04L 51/02 20220101ALI20250311BHJP
【FI】
G06F40/35
G06F16/90 100
H04L51/02
【請求項の数】 8
(21)【出願番号】P 2024115639
(22)【出願日】2024-07-19
【審査請求日】2024-07-19
【早期審査対象出願】
(73)【特許権者】
【識別番号】518230119
【氏名又は名称】株式会社ストライク・ファースト
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(72)【発明者】
【氏名】森本 真悟
【審査官】吉田 歩
(56)【参考文献】
【文献】米国特許出願公開第2020/0412671(US,A1)
【文献】特開2022-085248(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/35
G06F 16/90
H04L 51/02
(57)【特許請求の範囲】
【請求項1】
取得した入力情報に対してコンピュータを用いた自然言語処理によって出力情報を生成して出力する学習型のチャットボット情報処理装置であって、
予め定められた複数の判断材料のうちの少なくとも一つのそれぞれについての判断結果をキーとして接続した情報である反応キーと、前記反応キーに対応する応答処理であって出力処理及び再帰処理のいずれかに属する応答処理であるリアクションとをペアにした反応データを蓄積する記憶部と、
端末装置から入力情報を取得して解析し、解析結果を前記記憶部に格納するとともに、前記記憶部を参照することで、取得した入力情報に応答する出力情報を生成して前記端末装置に出力するアルゴリズム生成エンジン部とを備え、
前記アルゴリズム生成エンジン部は、
前記入力情報に対して自然言語処理を用いた入力解析を行うことで、前記入力情報を構成する形態素に基づく構文に関する情報である構文キーを、新たな反応キーを構成する一つのキーとして含む新たな反応キーを作成する入力解析部と、
前記入力解析部で作成された、新たな反応キーに対応するリアクションを含む新たな反応データが前記記憶部に蓄積されているか否かを判断する判断部と、
前記判断部によって、前記リアクションを含む新たな反応データが前記記憶部に蓄積されていると判断された場合に、前記リアクションが出力処理に属するときには、前記記憶部に格納された解析結果を参照することで、前記入力情報に応答する出力情報を生成して出力することで前記判断部による判断に基づく処理を終了し、前記リアクションが再帰処理に属するときには、前記リアクションを実行し、実行結果を、前記リアクションに対応する判断材料の判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記した後に、追記した前記反応キーを対象として前記判断部による判断を繰り返させるリアクション部とを有
前記再帰処理には、外部機器から情報を取得し、取得した情報による、出力情報の生成への影響を分析し、分析結果を前記判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記する、
チャットボット情報処理装置。
【請求項2】
前記リアクション部は、前記判断部によって、前記リアクションを含む反応データが前記記憶部に蓄積されていないと判断された場合に、ユーザから、前記リアクションを含む反応データを取得して前記記憶部に格納した後に、前記判断部による判断を繰り返させる、
請求項1記載のチャットボット情報処理装置。
【請求項3】
前記入力解析部は、前記入力解析において、
前記入力情報を構成する形態素が、予め定義された複数の形態素のいずれでもない場合、
前記入力情報に含まれる文法が、予め定義された複数の文法のいずれでもない場合、
前記入力情報に含まれる代名詞が、予め定義された複数の代名詞のいずれでもない場合、
前記入力情報が質問であり、かつ、前記質問に対応する回答を予め定められた基準以上の信頼度で生成することができない場合、
の少なくとも一つの場合に、ユーザに対して、前記場合に対応づけて予め準備された質問を返し、前記質問に対して前記ユーザから得た回答に基づいて、前記入力解析を継続する、
請求項1記載のチャットボット情報処理装置。
【請求項4】
前記入力解析部は、前記入力情報を構成する形態素の並びを示す情報を、前記構文キーとして生成する、
請求項1記載のチャットボット情報処理装置。
【請求項5】
前記記憶部は、形態素に関する情報を集めた形態素データ、文法に関する情報を集めた文法データ、構文上の分岐に関する情報を集めた分岐データ、及び、先行詞に関する情報を集めた先行詞データを蓄積しており、
前記入力解析部は、前記記憶部に蓄積された前記形態素データ、前記文法データ、前記分岐データ、及び、前記先行詞データを参照することで、前記入力情報から、前記入力情報の形態素、文法、分岐データ、及び、先行詞に関する情報を示す記憶データを生成し、生成した記憶データを構文キーに変換することで、前記構文キーを生成し、
前記記憶データには、前記入力情報を提供するユーザの識別子が含まれる、
請求項4記載のチャットボット情報処理装置。
【請求項6】
前記リアクション部は、前記外部機器である第1機器から通信路を経て情報を取得し、前記出力情報を、通信路を経て第2機器に出力し、
前記第1機器は、日時を計時するタイマ、GPS(Global Positioning System)、物理量を検知するセンサ、物理量を測定する測定器、マイク、移動体、コンピュータ、記憶装置、ロボット、生産設備、家電機器、及び、通信端末の少なくとも一つを含み、
前記第2機器は、メールサーバ、スピーカ、移動体、コンピュータ、記憶装置、ロボット、生産設備、家電機器、及び、通信端末の少なくとも一つを含む、
請求項1記載のチャットボット情報処理装置。
【請求項7】
取得した入力情報に対してコンピュータを用いた自然言語処理によって出力情報を生成して出力する学習型のチャットボット情報処理方法であって、
前記コンピュータが備える記憶部は、予め定められた複数の判断材料のうちの少なくとも一つのそれぞれについての判断結果をキーとして接続した情報である反応キーと、前記反応キーに対応する応答処理であって出力処理及び再帰処理のいずれかに属する応答処理であるリアクションとをペアにした反応データを蓄積しており、
前記チャットボット情報処理方法は、
端末装置から入力情報を取得して解析し、解析結果を前記記憶部に格納するとともに、前記記憶部を参照することで、取得した入力情報に応答する出力情報を生成して前記端末装置に出力するアルゴリズム生成ステップを含み、
前記アルゴリズム生成ステップは、
前記入力情報に対して自然言語処理を用いた入力解析を行うことで、前記入力情報を構成する形態素に基づく構文に関する情報である構文キーを、新たな反応キーを構成する一つのキーとして含む新たな反応キーを作成する入力解析ステップと、
前記入力解析ステップで作成された、新たな反応キーに対応するリアクションを含む新たな反応データが前記記憶部に蓄積されているか否かを判断する判断ステップと、
前記判断ステップによって、前記リアクションを含む新たな反応データが前記記憶部に蓄積されていると判断された場合に、前記リアクションが出力処理に属するときには、前記記憶部に格納された解析結果を参照することで、前記入力情報に応答する出力情報を生成して出力することで前記判断ステップでの判断に基づく処理を終了し、前記リアクションが再帰処理に属するときには、前記リアクションを実行し、実行結果を、前記リアクションに対応する判断材料の判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記した後に、追記した前記反応キーを対象として前記判断ステップによる判断を繰り返させるリアクションステップとを含
前記再帰処理には、外部機器から情報を取得し、取得した情報による、出力情報の生成への影響を分析し、分析結果を前記判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記する、
チャットボット情報処理方法。
【請求項8】
請求項7記載のチャットボット情報処理方法に含まれるステップをコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、与えられた入力情報に対してコンピュータを用いた自然言語処理によって出力情報を返す学習型のチャットボット情報処理装置等に関する。
【背景技術】
【0002】
従来、与えられた入力情報に対してコンピュータを用いた自然言語処理によって出力情報を返す学習型のチャットボット情報処理装置として、様々な技術が提案されている(例えば、特許文献1参照)。特許文献1の技術は、ニューラルネットワークを用いた自然言語処理システムであって、質問およびコンテキストに関連する文章を受信し、受信した質問と各文章に対してスコアを決定し、エンコーダおよびデコーダを使用して、質問および文章に関連付けられたスコアから、文章の最小セットを生成し、文章の最小セットから質問に対する回答を生成している。
【先行技術文献】
【特許文献】
【0003】
【文献】特表2021-515310号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、ユーザから質問を受け付け、ユーザに対して回答を返す方式が採用されており、問答形式以外の対話に対応できないという問題があり、例えば、タイマ、センサ及び家電機器等の外部機器を対象とした入出力を含む応答には適用できないという問題があり、柔軟性に欠ける。
【0005】
そこで、本発明は、対話の相手及び内容について、従来よりも柔軟性に富む対話及び入出力を行うことができるチャットボット情報処理装置、及び、チャットボット情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一形態に係るチャットボット情報処理装置は、取得した入力情報に対してコンピュータを用いた自然言語処理によって出力情報を生成して出力する学習型のチャットボット情報処理装置であって、予め定められた複数の判断材料のうちの少なくとも一つのそれぞれについての判断結果をキーとして接続した情報である反応キーと、前記反応キーに対応する応答処理であって出力処理及び再帰処理のいずれかに属する応答処理であるリアクションとをペアにした反応データを蓄積する記憶部と、端末装置から入力情報を取得して解析し、解析結果を前記記憶部に格納するとともに、前記記憶部を参照することで、取得した入力情報に応答する出力情報を生成して前記端末装置に出力するアルゴリズム生成エンジン部とを備え、前記アルゴリズム生成エンジン部は、前記入力情報に対して自然言語処理を用いた入力解析を行うことで、前記入力情報を構成する形態素に基づく構文に関する情報である構文キーを、新たな反応キーを構成する一つのキーとして含む新たな反応キーを作成する入力解析部と、前記入力解析部で作成された、新たな反応キーに対応するリアクションを含む新たな反応データが前記記憶部に蓄積されているか否かを判断する判断部と、前記判断部によって、前記リアクションを含む新たな反応データが前記記憶部に蓄積されていると判断された場合に、前記リアクションが出力処理に属するときには、前記記憶部に格納された解析結果を参照することで、前記入力情報に応答する出力情報を生成して出力することで前記判断部による判断に基づく処理を終了し、前記リアクションが再帰処理に属するときには、前記リアクションを実行し、実行結果を、前記リアクションに対応する判断材料の判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記した後に、追記した前記反応キーを対象として前記判断部による判断を繰り返させるリアクション部とを有前記再帰処理には、外部機器から情報を取得し、取得した情報による、出力情報の生成への影響を分析し、分析結果を前記判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記する
【0007】
上記目的を達成するために、本発明の一形態に係るチャットボット情報処理方法は、取得した入力情報に対してコンピュータを用いた自然言語処理によって出力情報を生成して出力する学習型のチャットボット情報処理方法であって、前記コンピュータが備える記憶部は、予め定められた複数の判断材料のうちの少なくとも一つのそれぞれについての判断結果をキーとして接続した情報である反応キーと、前記反応キーに対応する応答処理であって出力処理及び再帰処理のいずれかに属する応答処理であるリアクションとをペアにした反応データを蓄積しており、前記チャットボット情報処理方法は、端末装置から入力情報を取得して解析し、解析結果を前記記憶部に格納するとともに、前記記憶部を参照することで、取得した入力情報に応答する出力情報を生成して前記端末装置に出力するアルゴリズム生成ステップを含み、前記アルゴリズム生成ステップは、前記入力情報に対して自然言語処理を用いた入力解析を行うことで、前記入力情報を構成する形態素に基づく構文に関する情報である構文キーを、新たな反応キーを構成する一つのキーとして含む新たな反応キーを作成する入力解析ステップと、前記入力解析ステップで作成された、新たな反応キーに対応するリアクションを含む新たな反応データが前記記憶部に蓄積されているか否かを判断する判断ステップと、前記判断ステップによって、前記リアクションを含む新たな反応データが前記記憶部に蓄積されていると判断された場合に、前記リアクションが出力処理に属するときには、前記記憶部に格納された解析結果を参照することで、前記入力情報に応答する出力情報を生成して出力することで前記判断ステップでの判断に基づく処理を終了し、前記リアクションが再帰処理に属するときには、前記リアクションを実行し、実行結果を、前記リアクションに対応する判断材料の判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記した後に、追記した前記反応キーを対象として前記判断ステップによる判断を繰り返させるリアクションステップとを含前記再帰処理には、外部機器から情報を取得し、取得した情報による、出力情報の生成への影響を分析し、分析結果を前記判断結果として取得し、取得した判断結果に対応するキーを前記反応キーに追記する
【発明の効果】
【0008】
本発明により、対話の相手及び内容について、従来よりも柔軟性に富む対話及び入出力を行うことができるチャットボット情報処理装置、及び、チャットボット情報処理方法が提供される。
【図面の簡単な説明】
【0009】
図1A図1Aは、実施例に係るチャットボット情報処理装置をクラウドコンピュータに応用したチャットボットシステムの構成例を示すブロック図である。
図1B図1Bは、実施例に係るチャットボット情報処理装置を移植したロボットの構成例を示すブロック図である。
図2図2は、図1A及び図1Bにおけるチャットボット情報処理装置の詳細な構成を示すブロック図である。
図3A図3Aは、実施例に係るチャットボット情報処理装置による処理全体の手順を示すフローチャートである。
図3B図3Bは、図3Aに示されるフローチャートにおける一部のステップをさらに詳細化したフローチャートである。
図4A図4Aは、図3A及び図3Bに示されるフローチャートにおける処理のうち入力解析部による入力解析の詳細な手順を示すフローチャートである。
図4B図4Bは、図4Aに示されるフローチャートに続く処理手順を示すフローチャートである。
図4C図4Cは、図4Bに示されるフローチャートに続く処理手順を示すフローチャートである。
図5A図5Aは、図3A及び図3Bに示されるフローチャートにおける処理のうちリアクション部による回答準備の詳細な手順を示すフローチャートである。
図5B図5Bは、図5Aに示されるフローチャートに続く処理手順を示すフローチャートである。
図5C図5Cは、図5Bに示されるフローチャートに続く処理手順を示すフローチャートである。
図6A図6Aは、チャットボット情報処理装置による対話/動作の前提を説明する図である。
図6B図6Bは、一つ目(シナリオ1)の対話/動作例であって、コミュニケーションのリアルタイム変化の例を示す図である。
図6C図6Cは、二つ目(シナリオ2)の対話/動作例であって、形態素についてのチャットボット情報処理装置からユーザへの聞き返しの例を示す図である。
図6D図6Dは、三つ目(シナリオ3)の対話/動作例であって、ゼロ代名詞についてのチャットボット情報処理装置からユーザへの聞き返しの例を示す図である。
図6E図6Eは、四つ目(シナリオ4)の対話/動作例であって、代名詞についてのチャットボット情報処理装置からユーザへの聞き返しの例を示す図である。
【発明を実施するための形態】
【0010】
[実施の形態]
実施の形態に係るチャットボット情報処理装置は、与えられた入力情報に対してコンピュータを用いた自然言語処理によって出力情報を返す学習型のチャットボット情報処理装置であって、予め定められた複数の判断材料のうちの少なくとも一つのそれぞれについての判断結果をキーとして接続した情報である反応キーと、前記反応キーに対応する応答処理であって出力処理及び再帰処理のいずれかに属する応答処理であるリアクションとをペアにした反応データを蓄積する記憶部と、入力情報を取得して解析し、解析結果を前記記憶部に格納するとともに、前記記憶部を参照することで、取得した入力情報に応答する出力情報を生成して出力するアルゴリズム生成エンジン部とを備え、前記アルゴリズム生成エンジン部は、前記入力情報に対して自然言語処理を用いた入力解析を行うことで、前記入力情報を構成する形態素に基づく構文に関する情報である構文キーを、反応キーを構成する一つのキーとして含む反応キーを作成する入力解析部と、前記入力解析部で作成された反応キーに対応するリアクションを含む反応データが前記記憶部に蓄積されているか否かを判断する判断部と、前記判断部によって、前記リアクションを含む反応データが前記記憶部に蓄積されていると判断された場合に、前記リアクションが出力処理に属するときには、前記記憶部に格納された解析結果を参照することで、前記入力情報に応答する出力情報を生成して出力し、前記リアクションが再帰処理に属するときには、前記リアクションに対応する判断材料の判断結果を取得し、取得した判断結果に対応するキーを前記反応キーに追記した後に、追記した前記反応キーを対象として前記判断部による判断を繰り返させるリアクション部とを有する。
【0011】
これにより、記憶部に蓄積しておく反応データに依存して、アルゴリズム生成エンジン部での処理手順及び処理内容が変わり、その結果、出力処理及び再帰処理のいずれが実行されるか、どの順序で実行されるか、再帰処理が何回繰り返されるか、及び、どのような外部機器を対象として入出力をするか等が変わり得る。例えば、再帰処理の一つとして、現在時刻を入力情報とし、現在時刻に依存する処理を実行したり、出力処理の一つとして、メールサーバに対する起動指示をしたりすることで、問答形式以外の対話に対応したり、外部機器を対象とした入出力に適用したりできるので、対話の相手及び内容について、従来よりも柔軟性に富む対話及び入出力を行うことができるチャットボット情報処理装置が実現される。
【0012】
ここで、前記リアクション部は、前記判断部によって、前記リアクションを含む反応データが前記記憶部に蓄積されていないと判断された場合に、ユーザから、前記リアクションを含む反応データを取得して前記記憶部に格納した後に、前記判断部による判断を繰り返させる。これにより、必要な反応データが記憶部に蓄積されていない場合に、ユーザは、不足している反応データを追加して記憶部に蓄積することができるので、対話の相手及び内容について機能拡張が可能になる。
【0013】
また、前記入力解析部は、前記入力解析において、前記入力情報を構成する形態素が、予め定義された複数の形態素のいずれでもない場合、前記入力情報に含まれる文法が、予め定義された複数の文法のいずれでもない場合、前記入力情報に含まれる代名詞が、予め定義された複数の代名詞のいずれでもない場合、前記入力情報が質問であり、かつ、前記質問に対応する回答を予め定められた基準以上の信頼度で生成することができない場合、の少なくとも一つの場合に、ユーザに対して、前記場合に対応づけて予め準備された質問を返し、前記質問に対して前記ユーザから得た回答に基づいて、前記入力解析を継続する。
【0014】
これにより、チャットボット情報処理装置が、解決できないケースに遭遇した場合には、ユーザへの質問返しによって解決されるので、ユーザの意図を反映した確実な解決が図られるとともに、あらゆるケースを想定した莫大なサイズのプログラム処理及びデータを準備しておく必要がなくなり、コンパクトなサイズでチャットボット情報処理装置が実現される。その結果、処理能力の低いサーバ装置や機器であってもチャットボット情報処理装置を実装したり移植したりすることが可能になる。
【0015】
また、前記入力解析部は、前記入力情報を構成する形態素の並びを示す情報を、前記構文キーとして生成する。これにより、入力解析部は、入力情報から、一度学習すれば半永久的に使用可能な構文を抽出して蓄積するので、具体的な単語を蓄積する場合に比べ、活動度の高い形成で入力情報が蓄積され、短期間での学習が可能になる。
【0016】
また、前記記憶部は、形態素に関する情報を集めた形態素データ、文法に関する情報を集めた文法データ、構文上の分岐に関する情報を集めた分岐データ、及び、先行詞に関する情報を集めた先行詞データを蓄積しており、前記入力解析部は、前記記憶部に蓄積された前記形態素データ、前記文法データ、前記分岐データ、及び、前記先行詞データを参照することで、前記入力情報から、前記入力情報の形態素、文法、分岐データ、及び、先行詞に関する情報を示す記憶データを生成し、生成した記憶データを構文キーに変換することで、前記構文キーを生成し、前記記憶データには、前記入力情報を提供するユーザの識別子が含まれる。
【0017】
これにより、記憶データには、内容及び文法的な情報だけでなく、入力情報を提供するユーザの識別子も含まれるので、ユーザのアカウントごとに記憶データを蓄積して利用することで、ユーザ特有のクセに基づく対話及び予測が可能になる。
【0018】
また、前記アルゴリズム生成エンジン部は、前記入力情報を、第1機器から通信路を経て取得し、前記出力情報を、通信路を経て第2機器に出力し、前記第1機器は、日時を計時するタイマ、GPS(Global Positioning System)、物理量を検知するセンサ、物理量を測定する測定器、マイク、移動体、コンピュータ、記憶装置、ロボット、生産設備、家電機器、及び、通信端末の少なくとも一つを含み、前記第2機器は、メールサーバ、スピーカ、移動体、コンピュータ、記憶装置、ロボット、生産設備、家電機器、及び、通信端末の少なくとも一つを含む。これにより、ユーザとの問答形式の対話だけでなく、外部機器を対象とした入出力を含む対応処理が可能になる。
【0019】
また、実施の形態に係るチャットボット情報処理方法は、与えられた入力情報に対してコンピュータを用いた自然言語処理によって出力情報を返す学習型のチャットボット情報処理方法であって、前記コンピュータが備える記憶部は、予め定められた複数の判断材料のうちの少なくとも一つのそれぞれについての判断結果をキーとして接続した情報である反応キーと、前記反応キーに対応する応答処理であって出力処理及び再帰処理のいずれかに属する応答処理であるリアクションとをペアにした反応データを蓄積しており、前記チャットボット情報処理方法は、入力情報を取得して解析し、解析結果を前記記憶部に格納するとともに、前記記憶部を参照することで、取得した入力情報に応答する出力情報を生成して出力するアルゴリズム生成ステップを含み、前記アルゴリズム生成ステップは、前記入力情報に対して自然言語処理を用いた入力解析を行うことで、前記入力情報を構成する形態素に基づく構文に関する情報である構文キーを、反応キーを構成する一つのキーとして含む反応キーを作成する入力解析ステップと、前記入力解析ステップで作成された反応キーに対応するリアクションを含む反応データが前記記憶部に蓄積されているか否かを判断する判断ステップと、前記判断ステップによって、前記リアクションを含む反応データが前記記憶部に蓄積されていると判断された場合に、前記リアクションが出力処理に属するときには、前記記憶部に格納された解析結果を参照することで、前記入力情報に応答する出力情報を生成して出力し、前記リアクションが再帰処理に属するときには、前記リアクションに対応する判断材料の判断結果を取得し、取得した判断結果に対応するキーを前記反応キーに追記した後に、追記した前記反応キーを対象として前記判断ステップによる判断を繰り返させるリアクションステップとを含む。
【0020】
これにより、記憶部に蓄積しておく反応データに依存して、アルゴリズム生成ステップでの処理手順及び処理内容が変わり、その結果、出力処理及び再帰処理のいずれが実行されるか、どの順序で実行されるか、再帰処理が何回繰り返されるか、及び、どのような外部機器を対象として入出力をするか等が変わり得る。例えば、再帰処理の一つとして、現在時刻を入力情報とし、現在時刻に依存する処理を実行したり、出力処理の一つとして、メールサーバに対する起動指示をしたりすることで、問答形式以外の対話に対応したり、外部機器を対象とした入出力に適用したりできるので、対話の相手及び内容について、従来よりも柔軟性に富む対話及び入出力を行うことができるチャットボット情報処理方法が実現される。
【0021】
なお、本発明は、上記チャットボット情報処理方法に含まれるステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なDVD、ROM等の記録媒体として実現したりすることもできる。
【0022】
[実施例]
以下、本発明の実施例について、図面を用いて詳細に説明する。なお、以下で説明する実施例は、いずれも本発明の一実現例を示す。以下の実施例で示されるデータの内容及び構造、対話例、チャットボット情報処理装置の機能的な構成要素、構成要素の接続関係、処理順序、コンピュータによる実現形態、外部機器、外部機器とのやりとり等は、一例であり、本発明を限定する主旨ではない。
【0023】
(1)発明者による着想
従来のコンピュータによる自然言語処理では、公知の形態素解析エンジンに依拠し、数学的処理によって解決しようとする傾向がある。しかし、日本語のパターン数は本来、40字程度の一文でも簡単に10の100乗を超える。仮に10年間の秒数が10の8乗であることを勘案した場合、有効な統計的データを取得するためには、1秒間に10の92乗を超える速さで処理する必要がある。このことは、数学的処理による解決が実質的に不可能であることを示している。また、従来のチャットボット情報処理装置では、不特定多数のデータに依拠するため、以下の対話例1及び2に示されるように、ユーザ固有のデータを勘案した処理が不充分である。なお、以下の対話例では、チャットボット情報処理装置は、「Chatbot」と表記されている。
【0024】
(対話例1)
ユーザ「私の血液型はA型です。」
Chatbot「分かりました。」
ユーザ「私の血液型は何型でしょう?」
Chatbot「分かりません。」
また、ユーザが日常的にカップを「アレ」と表現していても、下記の対話例に示されるように、システムは対応できない。
【0025】
(対話例2)
ユーザ「アレ取って」
Chatbot「分かりません。」
【0026】
一方で、ほとんどの日本人は、幼児から日本語を使い始め、小学校入学の前後で自然な会話が可能になる。文法の教育を受ける児童もいるが、その教育を受けなかったからといって、日本語を話せなくなるわけではない。これは日本語の教育や理論が必ずしも必要ではないことを示している。
【0027】
そこで、発明者は、自然言語処理における、慣習的な理論を解明し、解明した慣習的な理論をチャットボット情報処理装置に反映している。そのために、発明者は、形態素と構文の関係に着目した。そして、必要とされるのは、記憶DB(データベース)から取得したデータをフィードバックできる言語処理アルゴリズムである。このとき、ユーザが使用する照応表現の傾向も含まれる。記憶DBは、入力情報の形態素、文法、分岐データ、及び、先行詞に関する情報等の各項目の値を含む記憶データの集まり(データベース)である。なお、データの集まりをDB(データベース)と呼ぶ。
【0028】
記憶DBを構成する記憶データ(以下では、「概念データ」ともいう)には、ユーザデータを含む。なお、記憶DBは、利用環境に応じて、データの種類ごとに分割してもよい。
【0029】
本発明は、プロセッサとメモリから成る計算デバイスで実現され得る。ブラウザ、ソフトウェアなどのチャットによる言語も含まれる。入力情報としては、サーバを含めた移植先の機器で取得した情報、API連携あるいはクローリングによって外部のホームページやシステムで取得した情報、メールサーバで取得した情報を含む。機器から得られる入力情報としては、日時、容量、メモリ、バッテリー残量、マイクからの音声データ、各種センサ及び側的で得られる値などを含む。出力情報としては、チャットによる返信、移植先の機器の操作、API連携による外部のホームページやシステムの操作、メール送信などでもよい。移植先の機器には、ロボット、ドローン、家電機器、サーバ、コンピュータ、スマートフォン、タブレットなどを含む。
【0030】
(2)用語の説明
以下、本実施例で使用する用語の定義を説明する。
【0031】
(2-1)全体の動作に関連する用語
1)判断材料
出力情報の生成のための判断に用いられる情報である。具体的には、日時、GPS、外部連携、談話解析、自論、入力解析などを元にそれぞれのキーが作成され、それらのキーが、最終的に反応キーとして、接続される。
【0032】
2)外部連携
実施例に係るチャットボット情報処理装置の外部のサイトや機器から得た情報である。
【0033】
3)リアクション
チャットボット情報処理装置による応答処理であり、単数あるいは複数の処理を連結する形で実行順番も指定した情報で表現される。基本的に「初回リアクション(反応キーによる分岐処理の前処理;入力解析)」、「出力リアクション(出力情報としての回答文の出力;出力処理)」、及び、「再帰リアクション(反応キーに追記して再帰;再帰処理)」の3種類となる。ただし、処理中に内外のシステム、サイト、データベースなどを利用する場合もある。
【0034】
特に、反応キーを追記する処理は1回のリアクション内で連結して実現され得る一方(連結後のリアクションは、「統合リアクション」とも呼ばれる)、分割して複数回、再帰リアクションを周回して同様の結果を得られる場合もある(分割したリアクションを「分割リアクション」とも呼ぶ)。分割リアクションは柔軟性が高くなる反面、必要な反応データの登録(つまり、反応トレーニング)が急激に増加する。入力解析や回答準備(つまり、出力情報の生成)は、上述した3種類のリアクションのいずれでも、さらに、統合リアクション・分割リアクションのいずれでも実現され得る。
【0035】
4)初回リアクション
出力リアクション及び再帰リアクションのいずれを採用するかの判断(つまり、分岐処理)を行う前の処理に相当する。これにより、あらゆる変動要因をリアクションへのキッカケ出しとして使用できる。例えば、チャットボット情報処理装置へのアクセス形態として、「HTTPメソッドのGETなら『0』、POSTなら『1』」、あるいは、「ブラウザによる起動なら『0』、メール受信による起動なら『1』」に置き換えても、リアクションに戻した部分を使用して再帰すれば、入力解析の結果も反応キーに追記する形で反映できる。
【0036】
5)キー
あらゆる要素(つまり、判断材料)の「ある(1)」、「ない(0)」又は具体値を接続した情報である。キーと、キーに対応するバリューとが紐づけされ、これらのセットがあらゆるデータの基本構造を構成する。ユーザによるアクセスの直後と、各リアクション内での処理で作成される。両者は交換できる。実施例の一つとして、クラウド環境(つまり、チャットボット情報処理装置がクラウドで実現されること)を想定しているが、環境次第では前者がなくてもよい。例えば、トリガー(キッカケ)として、サーバで動作するタイマ式起動(デーモン)を使用できる。
【0037】
6)反応キー
各判断材料から作成されたキーを接続した情報である。必ずしも全てのキーを接続する必要はなく、状況に応じて伸縮する。長ければ長いほど複雑な判断に基づいたリアクションとなる。例えば、以下の構造をもつ情報である。
【0038】
反応キー=日時キー+GPSキー+外部キー+談話キー+自論キー+構文キー
7)反応データ(複数なら反応DB)
反応キーとリアクションとをペアにした情報である。上述した分岐処理における分岐の方向性を決定づける情報である。
【0039】
8)出力リアクション
最後に実行されるリアクションであり、ユーザに出力情報が提供される(ただし、ユーザに出力情報が提供されないリアクションも含まれる)。例えば、ユーザからの質問に対してチャットボット情報処理装置が回答文を出力情報として返す処理である「質問回答」の際に、出力リアクションの一つである「リアクション回答」が最後に実行される。また、ユーザがチャットボット情報処理装置に物事を教える処理である「教育学習」の際に、出力リアクションの一つである「リアクション学習」が最後に実行される。
【0040】
9)再帰リアクション
出力リアクションと排他的に実行されるリアクションであり、このリアクションの実行後に、反応キーが伸長(つまり、追記)され、初回リアクションに戻ることになる。再帰リアクションが長ければ長いほど(つまり、再帰リアクションの実行回数が多いほど)、緻密な状況判断となるが、反面、必要な反応データも膨大となる。
【0041】
(2-2)入力解析に関連する用語
チャットボット情報処理装置での入力解析(つまり、入力情報に対する解析)に関連する用語は、以下の通りである。
【0042】
1)形態素タグ
形態素に付与される品詞や属性を示す付加情報である。
【0043】
2)形態素データ(複数なら形態素DB)
形態素をキーとして、品詞や属性などの形態素タグを紐づけた情報である。
【0044】
3)入力解析
形態素、文法、分岐、先行詞のデータやDBを使って、入力解析が行われることで、入力文(つまり、入力情報)が記憶データに変換され、記憶データが、さらに、形態素キー、及び、構文キーに変換される。
【0045】
4)入力文
入力情報の一例であり、ユーザがチャット入力欄で入力した原本となる文である。
【0046】
5)区切り文
形態素データを用いて、入力文を形態素単位に区切った文である。
【0047】
6)バイグラム処理
区切り文を先頭の2つからペアとして扱い、処理ができたら2番目と3番目、3番目と4番目…の順で1つずつずらしていく解析処理である。全て完了すると、記憶データが完成する。
【0048】
7)文法データ(複数なら文法DB)
バイグラム処理におけるペアに割り当てられた処理内容を示す情報である。同一ペアに複数の文法データがある場合、分岐データによる指定が必要となる。
【0049】
8)分岐データ(複数なら分岐DB)
同一地点に複数の文法データがある場合、どれを使用するかを決定する情報である。
【0050】
9)形態素キー
記憶データを構文キーに変換する際に同時に生成される情報である。質問回答時に必要となる。
【0051】
(2-3)記憶データに関連する用語
記憶データは、上述したように、入力文から、入力解析によって生成されるデータである。記憶データに関連する用語は、以下の通りである。
【0052】
1)入力履歴
記憶データのうち、談話解析に使用されるもの。
【0053】
2)談話解析
入力履歴を話題ごとにグルーピングし、入力解析に必要な情報を作成する。例えば、入力文に「あれ」、「その」などの代名詞が含まれている場合、先行詞をユーザに選択させる。その選択肢の中に、談話解析で関係がありそうと判断した形態素も候補として追加される。
【0054】
3)記憶データ
入力文から区切り文に変換され、さらに、区切り文から記憶データに変換される。記憶データは、さらに、展開データと構文キーとに変換され得る。
【0055】
4)構文キー
複数行からなる記憶データを1行にまとめたもの。入力文のIDとして使用される。
【0056】
5)展開
記憶データのキーとバリューとを逆転させたものを作成する処理である。
【0057】
6)展開データ
記憶データを展開させたデータである。チャットボット情報処理装置の入力記憶部(入力バッファメモリ)には記憶データと展開データとが格納される。ただし、展開のタイミングによって「メモリ活用型」と「容量活用型」とがある。チャットボット情報処理装置のハードウェアの性能によって使い分けられる。
【0058】
7)メモリ活用型
記憶データを展開せずに入力記憶部に格納し、必要に応じて記憶データを取り出した後に展開する方法である。メモリ消費が高い。
【0059】
8)容量活用型
記憶データを展開してから入力記憶部に格納する方法である。入力記憶部の容量は消費するが、メモリ消費が低い。
【0060】
(2-4)回答準備に関連する用語
出力情報としての回答の準備に関連する用語は、以下の通りである。
【0061】
1)評価
回答準備のために記憶データの文を復元する際に、キーワードや連鎖の一致数をカウントする処理である。最も多い一致数をもつ文が、回答文の最有力候補となる。
【0062】
2)回答準備
後述する質問タグ及び連鎖のデータやDBを使って、記憶データの文を復元しながら評価し、回答文や補足説明文を選出する。
【0063】
3)連想
記憶データや展開データが蓄積された入力記憶部で、「質問タグに関連するキーワード」や「連鎖」との一致数をカウントし、質問に対する回答の最有力候補を選出する。また、回答文の候補となる文も復元していく。
【0064】
4)質問タグ
質問の核心となる形態素のタグを構文キーに紐づけた情報である。回答準備では、このタグを持つ形態素をキーワードとして集めてから、記憶データの文の復元中に、評価で使用する。質問タグの数は回答文の決定後にも影響し、充分な一致が見られない場合は、補足説明文を選出する。
【0065】
5)キーワード
形態素タグとして質問タグを持つ形態素である。記憶データの項目の値と一致した数をカウントし、回答文の選出に影響する。
【0066】
6)連鎖データ(「評価データ」ともいう)
質問回答時に使用されるデータであり、構文キーに質問の回答となりうる要素を紐づけた情報である。要素の一致には順番が重要であるため、「連鎖」という表現を用いている。3連鎖まで指定できる。一致した数が多いほど、適切な回答に近いことになる。一致する要素が1つ、2つ、3つの場合を、それぞれ、「1連鎖」、「2連鎖」、「3連鎖」と呼ぶ。なお、3連鎖まで指定できることは一例であり、そのような個数の連鎖に限定されない。例えば、10連鎖まで指定できてもよい。
【0067】
7)復元文
記憶データ内の連想によって復元した文である。
【0068】
8)回答文
キーワードや連鎖が最も一致し、選出された復元文(つまり、最終的な出力情報)である。
【0069】
9)補足説明文
回答文の質問タグの一致が不充分である場合に、連鎖の一致を度外視して選出した復元文である。
【0070】
(3)チャットボット情報処理装置の構成
図1Aは、実施例に係るチャットボット情報処理装置10をクラウドコンピュータに応用したチャットボットシステム100の構成例を示すブロック図である。チャットボットシステム100では、実施例に係るチャットボット情報処理装置10が、クラウドコンピュータとして、通信ネットワーク55を介して、必要に応じてメールサーバ50及びWebサイト51と連携しながら、各ユーザが使用する端末装置52a~52bに対して、チャットボットとしてのサービス(例えば、「質問回答」など)を提供する。
【0071】
図1Bは、実施例に係るチャットボット情報処理装置10を移植したロボット110の構成例を示すブロック図である。ロボット110では、実施例に係るチャットボット情報処理装置10が、ロボット110のコントローラとして実装されており、各種外部機器(発光部60、カメラ61、スピーカ62aに音声信号を出力する音声合成部62b、マイク63aからの音声信号を音声データに変換する音声認識部63b、無線通信アダプタ70、GPS71、タイマ72、温度センサ73、加速度センサ74、及び、車輪を駆動する駆動部75)に対して、制御したり、情報を得たり、情報を出力したりして連携することで、ロボット110を動作させたり、人と対話をしたり、外部機器を制御したりする。
【0072】
図2は、図1A及び図1Bにおけるチャットボット情報処理装置10の詳細な構成を示すブロック図である。チャットボット情報処理装置10は、与えられた入力情報に対してコンピュータを用いた自然言語処理によって出力情報を返す学習型のチャットボットであり、入出力部11、制御部12、及び、記憶部14を備える。
【0073】
入出力部11は、チャットボット情報処理装置10と外部機器とを信号ケーブル又は通信ネットワーク55を介して接続する入出力インタフェースであり、例えば、バスインタフェース、通信アダプタ等である。
【0074】
制御部12は、チャットボット情報処理装置10のコントローラであり、記憶部14に格納されたデータを読み出して一時的に保持する入力記憶部(入力バッファメモリ)及び記憶部14に格納されたプログラムを読み出して一時的に保持する主メモリと、そのプログラムを実行するプロセッサ等で実現され、機能的に、ユーザからのログオン・ログオフによるアクセスを管理する管理部(図示せず)、及び、ユーザ及び外部機器との対話又は入出力を行うアルゴリズム生成エンジン部13等を有する。
【0075】
アルゴリズム生成エンジン部13は、端末装置52a~52b等から入力された入力情報を、入出力部11を介して取得して解析し、解析結果を記憶部14に格納するとともに、記憶部14を参照することで、取得した入力情報に応答する出力情報を生成して入出力部11を介して端末装置52a~52b等に出力する処理部であり、入力解析部13a、判断部13b、及び、リアクション部13cを有する。
【0076】
入力解析部13aは、入力情報に対して自然言語処理を用いた入力解析を行うことで、入力情報を構成する形態素に基づく構文に関する情報である構文キーを、反応キーを構成する一つのキーとして含む反応キーを作成する。
【0077】
判断部13bは、入力解析部13aで作成された反応キーに対応するリアクションを含む反応データが記憶部14に蓄積されているか否かを判断する。
【0078】
リアクション部13cは、判断部13bによって、リアクションを含む反応データが記憶部14に蓄積されていると判断された場合に、リアクションが出力処理に属するときには、記憶部14に格納された解析結果を参照することで、入力情報に応答する出力情報を生成して出力し、リアクションが再帰処理に属するときには、リアクションに対応する判断材料の判断結果を取得し、取得した判断結果に対応するキーを反応キーに追記した後に、追記した反応キーを対象として判断部13bによる判断を繰り返させる。
【0079】
記憶部14は、制御部12による処理で必要となる各種データ及びプログラムを保持する補助記憶装置であり、例えば、ハードディスクドライブ等によって実現される。記憶部14には、DB(データベース)化された各種データとして、反応データ、形態素データ、区切りデータ、文法データ、入力タグデータ、質問タグデータ、評価データ等が格納される。これらのデータは、制御部12が有するデータベース管理システム(図示せず)を介して参照及び更新等が行われる。
【0080】
反応データは、予め定められた複数の判断材料のうちの少なくとも一つのそれぞれについての判断結果をキーとして接続した情報である反応キーと、反応キーに対応する応答処理であって出力処理及び再帰処理のいずれかに属する応答処理であるリアクションとをペアにしたデータである。形態素データは、形態素をキーとして、品詞や属性などの形態素タグを紐づけた情報である。区切りデータは、形態素データを用いて、入力文を形態素単位に区切った文である。文法データは、バイグラム処理におけるペアに割り当てられた処理内容を示す情報である。入力タグデータは、構文キーに「丁寧、主張、質問、挨拶、呟き、肯定、否定」などの入力タグを紐づけた情報である。質問タグデータは、構文キーに具体的な質問の表現を紐づけた情報である。評価データは、質問回答時に使用されるデータであり、構文キーに質問の回答となりうる要素を紐づけた情報であり、連鎖データとも呼ばれる。
【0081】
(4)チャットボット情報処理装置の特徴
チャットボット情報処理装置10は、以下の特徴を有する。
【0082】
(4-1)形態素と構文の活用
チャットボット情報処理装置10は、記憶部14に格納された複数のデータを用いて、ユーザから入力される入力情報である入力文から構文を抽出し、蓄積する。構文は一度学習すれば、半永久的に使用可能である。それゆえ、組み合わせパターンは、構文の数と、構文に用いられる形態素の数と、置き換え可能な形態素の数等に従って指数関数的に増加する。
【0083】
例えば、入力文が「AはBがCです。」の場合、形態素を配置できる場所はA、B、Cの3つである。仮に、それぞれに配置可能な形態素が10個あった場合、組み合わせパターンは、単純計算で、10の3乗であり、1000パターンとなる。実際は「車は車が車です。」になりにくいので、少なくとも10パターンは差し引く必要がある。しかし、数百倍になることは想像に難くない。形態素ではなく、具体的な単語で入力文を記憶する場合には、莫大なパターン数になる。日本最大の『日本国語大辞典』(小学館)は50万語である。例えば「AはBです。」の場合でも、単純計算して、「(50万の2乗)-50万≒2.5×10の11乗」である。実施例に係るチャットボット情報処理装置10は、入力文から形態素に基づく構文を抽出し、蓄積して学習することで、膨大なパターン数の入力文を効率よく処理する。
【0084】
(4-2)重みの不使用
チャットボット情報処理装置10は、形態素に形態素タグを付け、活用することで、日本語文法に忠実な処理を行っている。一つ一つの形態素に対し、人間以上に広く深く考慮し、無駄なパターンを徹底的に排除している。これにより、スーパーコンピュータ、ビッグデータなどが象徴するような膨大な計算資源を必要としない。サーバ以外のハード、例えば、ロボット、ドローン、IoTなどに移植することで、オフラインでも性能低下させることなく、完全な自律が可能である。
【0085】
近年の生成AIをめぐる開発競争では、電力や半導体を浪費することが当たり前となり、環境に悪い展開が激化している。また、この分野では、TPU(Tensor Processing Unit;Google社の商標)、半導体生産拠点、AWS(Amazon Web Service;Amazon.com社の商標)などの技術的土台を、すでに韓国・台湾・ビッグテック(FAANG、国内ではGAFA)に掌握されつつある。チャットボット情報処理装置10は、そのような海外の特殊技術を必要としない。その結果、国産技術を代表する、さくらレンタルサーバなどで、チャットボット情報処理装置10は、独立した形態で実現され、十分な競争力を維持できる。
【0086】
(4-3)ユーザ情報の収集と反映
会話では、話し手が代名詞を用いたり、省略した表現を用いる場合に、聴き手が該当する単語を推測する能力が求められたりする。この能力は、話し手本人から収集したデータに基づかない限り、いくら外部で膨大なデータを収集して分析しても不正確であり、とても非効率である。チャットボット情報処理装置10は、上述した記憶データという形で、ログオンしてきたユーザのアカウント別に、入力文を蓄積するため、ユーザ特有のクセに基づいた予測が可能となる。
【0087】
(4-4)質問返しによる確実な解釈
チャットボット情報処理装置10は、ユーザ情報が不充分なうちは、安易な予測は行わない。省略された表現、代名詞、解釈が分かれる場合などは、チャットボット情報処理装置10は、質問返しを行い、徹底的に曖昧な解釈を排除する。また、その際に使用するチャットボット情報処理装置10からの質問文なども、ユーザによるトレーニングで編集可能である。質問返しの内容は、主に、下記に列挙したように、1)教育時の学習、2)質問時の回答、3)その他に大別できる。
【0088】
1)教育時の学習
・形態素の追加
・区切り方の選択
・バイグラム処理の方法
・文法的な解釈が複数ある場合の選択
・代名詞の確認
・省略表現の確認
・入力タグの確認
2)質問時の回答
・質問タグの確認
・評価方法の確認
(ア)記憶データ内の検索
・修正方法の確認
3)その他
・特殊形態素の追加
【0089】
(4-5)総括
チャットボット情報処理装置10は、生成AIが自然言語処理において膨大な計算資源を活用して獲得したいアルゴリズムを、手作りで完成させたものである。そもそも生成AIの方法では、このようなアルゴリズムを理論的に獲得することは困難である。
【0090】
例えば、将棋のパターン数は10の220乗である。その将棋よりも日本語が難解であることは想像に難くない。これに対し、プロセッサの違いなどもあるが、世界最速のスーパーコンピュータ「フロンティア」を10年間、フル稼働したとしても、解明できるパターン数は10の26乗である。何年かおきに、数桁加速するような技術革新が起きたとしても、将棋すら解明できるときが来るかどうか、かなり怪しいと言える。つまり、理論的にとり得る全てのパターンを網羅するアルゴリズムを構築することは困難である。
【0091】
発明者は、自然言語処理における、慣習的な理論を解明し、解明した慣習的な理論をチャットボット情報処理装置10での情報処理に反映させている。そのために、発明者は、形態素と構文の関係に着目した。そして、必要とされるのは、記憶DB(データベース)から取得したデータをフィードバックできる言語処理アルゴリズムであり、その言語処理アルゴリズムをチャットボット情報処理装置10に実装している。
【0092】
(5)チャットボット情報処理装置の動作
次に、以上のように構成された実施例に係るチャットボット情報処理装置10の動作(つまり、チャットボット情報処理方法)について説明する。
【0093】
図3Aは、実施例に係るチャットボット情報処理装置10による処理全体の手順を示すフローチャートである。図3Bは、図3Aに示されるフローチャートにおける一部のステップ(S22、S25、S26)をさらに詳細化したフローチャートである。ここでは、チャットボット情報処理装置10がクラウドコンピュータで実現される場合、あるいは、ロボットのコントローラとして実現される場合を例として、処理手順が示されている。なお、図3Aにおいて、ステップS10に含まれるステップS11~S13は、ユーザの操作であり、ステップS20に含まれるステップS21~S27は、チャットボット情報処理装置10の処理である。
【0094】
まず、ユーザが、端末装置52aを用いたWebブラウザで、チャットボット情報処理装置10にアクセスし、チャットボット情報処理装置10に対して入力文を与える(S11)。
【0095】
ユーザからのアクセスを受けたチャットボット情報処理装置10では、アルゴリズム生成エンジン部13の入力解析部13aは、記憶部14から反応データベースを読み込んだうえで(S21)、いまユーザから与えられた入力文に対する入力解析(つまり、初回リアクション)を行うことで、入力文に含まれる判断材料を元に反応キーを作成する(S22)。
【0096】
ステップS22(初回リアクション)では、より詳しくは、図3Bを参照して、入力解析部13aは、入力解析によって記憶データを作成し(図3BのS22a)、作成した記憶データから構文キーに変換し(図3BのS22b)、得られた構文キーを反応キーに追記する(図3BのS22c)。
【0097】
続いて、図3Aを参照して、アルゴリズム生成エンジン部13の判断部13bは、記憶部14から読み出した反応データベースに、入力解析部13aが作成した反応キーに該当するリアクションデータを含む反応データが存在するか否かを判断し(S23)、存在しないと判断した場合には(S23でNo)、そのような反応データの入力を要求するための入力欄を端末装置52aに送信する(S24)。入力欄を受信した端末装置52aは、ユーザから、反応データの入力を受け付け、受け付けた反応データをチャットボット情報処理装置10に送る(S12)。
【0098】
反応データを受け取ったチャットボット情報処理装置10では、判断部13bは、受け取った反応データを、反応データベースに追加したうえで、再び、入力解析部13aが作成した反応キーに該当するリアクションデータを含む反応データが反応データベースに存在するか否かを判断する(S23)。
【0099】
その結果、判断部13bによって存在すると判断された場合には(S23でYes)、アルゴリズム生成エンジン部13のリアクション部13cは、存在すると判断された反応データに含まれるリアクションデータが出力リアクション及び再帰リアクションのいずれに対応するかを特定し、出力リアクションに対応すると特定したときには、対応する出力リアクションを実行した後に(S25)、出力リアクションで得られた回答文を端末装置52aに送信することで出力し(S13)、一方、存在すると判断された反応データに含まれるリアクションデータが再帰リアクションに対応すると特定したときには、対応する再帰リアクションを実行した後に(S26)、その実行結果を反応キーに追記する(S27)。そして、判断部13bは、リアクション部13cによって追記された反応キーを対象として、再び、反応キーに該当するリアクションデータを含む反応データが反応データベースに存在するか否かの判断を繰り返す(S23)。
【0100】
図3Bの出力リアクション(S25)に示されるように、出力リアクション(S25)には、「リアクション学習」と呼ばれる処理(S31a~S31c)、「リアクション回答」と呼ばれる処理(S32a~S32b)、「リアクション命令実行」と呼ばれる処理(S33a~S33b)、「リアクション外部参照」と呼ばれる処理(S34a~S34b)が含まれる。
【0101】
「リアクション学習」では、リアクション部13cは、ユーザから与えられた入力文を学習したことを通知するために、まず、入力文を展開することで記憶データを作成し(S31a)、次に、作成した記憶データを入力記憶部に書き込んだ後に(S31b)、学習完了通知の回答文を作成してユーザの端末装置52aに送信する(S31c)。上述した「教育学習」に相当する。
【0102】
「リアクション回答」では、リアクション部13cは、ユーザから与えられた入力文に対するYes/Noの回答文を返送するために、まず、入力文に対応する回答文の冒頭にYes/Noを追記したうえで(S32a)、得られた回答文をユーザの端末装置52aに送信する(S32b)。上述した「質問回答」に相当する。
【0103】
「リアクション命令実行」では、リアクション部13cは、ユーザから与えられた入力文を伝言の依頼として電子メールで受領応答するために、まず、メールサーバ50にアクセスして送信準備をし(S33a)、伝言開始通知の回答文をメールサーバ50に指示することで、ユーザに対して伝言開始通知のメールを送信する(S33b)。
【0104】
「リアクション外部参照」では、リアクション部13cは、外部機器を操作するために、まず、入力文から生成された反応キーに対応する外部機器に対する制御を実行した後に(S34a)、操作完了通知の回答文を作成してユーザの端末装置52aに送信する(S34b)。
【0105】
このようにして、出力リアクションの実行によって、対応する回答文が作成され(あるいは、回答文がない場合もある)、ユーザの端末装置52a、メールサーバ50又は外部機器に送信される。
【0106】
また、図3Bの再帰リアクション(S26)に示されるように、再帰リアクション(S26)には、「リアクション日時考慮」と呼ばれる処理(S41a~S41b)、「リアクションGPS考慮」と呼ばれる処理(S42a~S42b)、「リアクション外部連携考慮」と呼ばれる処理(S43a~S43b)、「リアクション談話解析考慮」と呼ばれる処理(S44a~S44c)、「リアクション自論形成考慮」と呼ばれる処理(S45a~S45c)、「リアクション回答絞り込み」と呼ばれる処理(S46a~S46c)が含まれる。
【0107】
「リアクション日時考慮」では、リアクション部13cは、現在の日時を考慮した対応をするために、まず、チャットボット情報処理装置10がアクセス可能なタイマ72等から現在日時(例えば、エポック秒)を取得し、取得した日時による影響(回答文を生成する処理への影響)を分析した後に(S41a)、その結果を反応キーに追記する(S41b)。
【0108】
「リアクションGPS考慮」では、リアクション部13cは、現在の地理的位置を考慮した対応をするために、まず、チャットボット情報処理装置10がアクセス可能なGPS71等から現在の地理的位置を取得し、取得した地理的位置による影響(回答文を生成する処理への影響)を分析した後に(S42a)、その結果を反応キーに追記する(S42b)。
【0109】
「リアクション外部連携考慮」では、リアクション部13cは、外部機器との連携を考慮した対応をするために、まず、チャットボット情報処理装置10がアクセス可能な温度センサ73等の外部機器から情報を取得し、取得した情報による影響(回答文を生成する処理への影響)を分析した後に(S43a)、その結果を反応キーに追記する(S43b)。
【0110】
「リアクション談話解析考慮」では、リアクション部13cは、ユーザと談話をするために、まず、入力文から得られた記憶データを入力記憶部に読み込んだ後に(S44a)、談話解析として予め準備された解析を行い(S44b)、その結果を反応キーに追記する(S44c)。
【0111】
「リアクション自論形成考慮」では、リアクション部13cは、ユーザの自論を形成する支援をするために、まず、入力文から得られた記憶データに基づいて自論を形成した後に(S45a)、形成した自論による影響(回答文を生成する処理への影響)を分析した後に(S45b)、その結果を反応キーに追記する(S45c)。
【0112】
「リアクション回答絞り込み」では、リアクション部13cは、生成する回答文を絞り込むために、まず、入力文から得られた記憶データを入力記憶部に読み込んだ後に(S46a)、上述した連鎖での一致度を算出し(S46b)、算出した結果を反応キーに追記する(S46c)。
【0113】
このようにして、再帰リアクションでの実行結果が反応キーに追記され、追記された反応キーを対象として、再び、出力リアクション又は再帰リアクションが実行され、「教育学習」、「質問回答」等の処理が行われる。
【0114】
例えば、ステップS22、S23、S31a~S31cの順で実行されることで「教育学習」が実現され、ステップS22、S23、S46a~S46c、S23、S32a~S32bの順で実行されることで、「質問回答」が実現される。
【0115】
なお、図3Bに示される出力リアクションS25及び再帰リアクションS26の詳細は、一例であり、図3Bの「その他のリアクション材料」に示されるように、これらの他に、「挨拶」、「助言」、「相づち」、「無視」、「反論」、「通知」等のリアクションも準備されている。また、出力情報をユーザに送信しないで終了する出力リアクション、内部情報(モード、フラグ等)を設定又は変更する再帰リアクション、あるいは、内部情報に応じて出力情報をユーザに送信する出力リアクション等も含まれる。
【0116】
また、図3Bに示される各リアクションは、上述したように、リアクションを構成する複数のステップを分割し、複数回、再帰リアクションを周回する分割リアクションの構成であっても、同様の結果を得られる場合もある。
【0117】
図4A図4Cは、図3A及び図3Bに示されるフローチャートにおける処理のうち入力解析部13aによる入力解析の詳細な手順を示すフローチャートである。
【0118】
入力解析部13aは、入力解析(図4AのS100)として、まず、記憶部14から、形態素DBを読み込み(図4AのS101)、ユーザから入力文に対して、形態素解析を実行する(図4AのS102)。そして、入力解析部13aは、入力文に不明の形態素があるか否かを判断し(図4AのS103)、不明の形態素があると判断した場合には(図4AのS103でYes)、不明の形態素を入力するための入力欄をユーザの端末装置52aに表示することで逆質問を生成し(図4AのS104)、これに対するユーザによる形態素の入力を逆質問に対する回答として受け取り(図4AのS105)、受け取った形態素を形態素DBへ追加する(図4AのS106)。
【0119】
一方、不明の形態素がないと判断した場合には(図4AのS103でNo)、入力解析部13aは、入力文から、形態素に区切った「区切り文」を作成した後に(図4AのS107)、記憶部14から、文法DBを読み出し(図4AのS108)、分岐DBを読み出し(図4AのS109)、さらに、先行詞DBを読み出す(図4AのS110)。
【0120】
そして、入力解析部13aは、読み出した文法DB、分岐DB及び先行詞DBを参照することで、区切り文に対して、バイグラム処理を行う(図4BのS120)。より詳しくは、入力解析部13aは、区切り文に対して、1つ目と2つ目の形態素の品詞、属性、及び、各主要形態素の有無を接続した文法キーを作成し(図4BのS121)、作成した文法キーに該当する文法データが文法DBにあるか否かを判断する(図4BのS122)。なお、入力解析部13aによる処理として、バイグラム処理、及び、バイグラム処理に依存する後続の処理については、必須ではない。
【0121】
その結果、文法キーに該当する文法データが文法DBにないと判断した場合には(図4BのS122でNo)、入力解析部13aは、不明の文法データを入力するための入力欄をユーザの端末装置52aに表示することで逆質問を生成し(図4BのS123)、これに対するユーザによる文法データの入力を逆質問に対する回答として受け取り(図4BのS124)、受け取った文法データを文法DBへ追加する(図4BのS125)。
【0122】
一方、文法キーに該当する文法データが文法DBにあると判断した場合には(図4BのS122でYes)、続いて、入力解析部13aは、分岐データが必要か否か、つまり、入力文に不明の修飾関係が存在するか否かを判断し(図4BのS126)、分岐データが必要であると判断した場合には(図4BのS126でYes)、さらに続いて、文法キーに該当する分岐データが分岐DBにあるか否かを判断し(図4BのS127)、文法キーに該当する分岐データが分岐DBにないと判断したときには(図4BのS127でNo)、不明の分岐データを入力するための入力欄をユーザの端末装置52aに表示することで逆質問を生成し(図4BのS128)、これに対するユーザによる分岐データの入力を逆質問に対する回答として受け取り(図4BのS129)、受け取った分岐データを分岐DBへ追加する(図4BのS130)。
【0123】
図4BのステップS126で、分岐データが必要ではないと判断した場合(図4BのS126でNo)、及び、図4BのステップS127で、文法キーに該当する分岐データが分岐DBにあると判断した場合には(図4BのS127でYes)、入力解析部13aは、バイグラムを1個分前進させたうえで(図4CのS140)、バイグラム処理が完了したか否かを判断し(図4CのS141)、完了していない場合には(図4CのS141でNo)、完了したと判断するまで(図4CのS141でYes)、バイグラム処理(図4BのS121~図4CのS141)を繰り返す。
【0124】
バイグラム処理を終えると、入力解析部13aは、入力文について、主要形態素及び要部を特定し(図4CのS142)、記憶データを生成する(図4CのS143)。そして、入力解析部13aは、記憶データに代名詞あるいはゼロ代名詞があるか否かを判断し(図4CのS144)、代名詞あるいはゼロ代名詞がある場合には(図4CのS144でYes)、その代名詞あるいはゼロ代名詞が先行詞DBにある否かを判断し(図4CのS144a)、ある場合には(図4CのS144aでYes)、見つかった先行詞で、代名詞を置き換える、あるいは、ゼロ代名詞に代入し(図4CのS144b)、一方、ない場合には(図4CのS144aでNo)、不明の先行詞を入力するための入力欄をユーザの端末装置52aに表示することで逆質問を生成し(図4CのS145)、これに対するユーザによる先行詞の入力を逆質問に対する回答として受け取り(図4CのS146)、受け取った先行詞を先行詞DBへ追加する(図4CのS147)。なお、ゼロ代名詞とは、代名詞が省略された文である。
【0125】
続いて、入力解析部13aは、記憶データを入力記憶部に蓄積した後に(図4CのS148)、記憶データを構文キーに変換するとともに(図4CのS149)、形態素ごとの形態素キーを生成したうえで(図4CのS150)、構文キーを反応キーに追記する(図4CのS151)。
【0126】
以上のようにして、入力解析部13aによる入力文に対する入力解析が終了し、構文キーが生成される。
【0127】
図5A図5Cは、図3A及び図3Bに示されるフローチャートにおける処理のうちリアクション部13cによる回答準備の詳細な手順を示すフローチャートである。
【0128】
リアクション部13cは、「質問回答」における回答準備(図5AのS200)として、まず、記憶部14から、質問タグDBを読み込んだうえで(図5AのS201)、ユーザの端末装置52aに表示する逆質問のための入力欄として、入力文の質問タグを入力するための入力欄を生成する(図5AのS202)。そして、リアクション部13cは、構文キーが一致するデータが質問タグDBに充分に蓄積されているか否かを判断し(図5AのS203)、充分に蓄積されていないと判断した場合には(図5AのS203でNo)、質問タグを入力するための入力欄をユーザの端末装置52aに表示する逆質問を行ったうえで、これに対するユーザによる質問タグの入力を逆質問に対する回答として受け取り(図5AのS204)、受け取った質問タグを質問タグDBへ追加する(図5AのS205)。
【0129】
続いて、リアクション部13cは、質問タグの属性を持つ形態素をリストアップすることで、キーワードリストを生成したうえで(図5AのS206)、ユーザの端末装置52aに表示する逆質問のための入力欄として、連鎖を入力するための入力欄を生成する(図5AのS207)。そして、リアクション部13cは、記憶部14から、連鎖DBを読み込んだうえで(図5AのS208)、構文キーが一致する連鎖データが連鎖DBにあるか否かを判断し(図5BのS210)、構文キーが一致する連鎖データが連鎖DBにないと判断した場合には(図5BのS210でNo)、連鎖を入力するための入力欄をユーザの端末装置52aに表示する逆質問を行ったうえで、これに対するユーザによる連鎖の入力を逆質問に対する回答として受け取り(図5BのS211)、受け取った連鎖を連鎖DBへ追加する(図5BのS212)。
【0130】
続いて、リアクション部13cは、入力記憶部に格納されたデータを読み込み(図5BのS213)、入力文を構成する形態素を元に記憶データを展開した後に(図5BのS214)、展開した記憶データの一つについて、記憶データを元の文に復元する(図5BのS215)。そして、リアクション部13cは、復元した記憶データの項目の値がキーワードと一致するか否かを判断し(図5BのS216)、一致する場合には(図5BのS216でYes)、キーワードの一致数を1カウントする(図5BのS217)。
【0131】
続いて、リアクション部13cは、復元した記憶データの項目と値との組み合わせが1連鎖データと一致するか否かを判断し(図5BのS218)、一致する場合には(図5BのS218でYes)、1連鎖数を1カウントする(図5BのS219)。
【0132】
同様にして、リアクション部13cは、復元した記憶データの項目と値との組み合わせが2連鎖データと一致するか否かを判断し(図5CのS220)、一致する場合には(図5CのS220でYes)、2連鎖数を1カウントする(図5CのS221)。
【0133】
同様にして、リアクション部13cは、復元した記憶データの項目と値との組み合わせが3連鎖データと一致するか否かを判断し(図5CのS222)、一致する場合には(図5CのS222でYes)、3連鎖数を1カウントする(図5CのS223)。
【0134】
そして、リアクション部13cは、全ての記憶データの復元が完了したか否かを判断し(図5CのS224)、完了していない場合には(図5CのS224でNo)、完了したと判断するまで(図5CのS224でYes)、全ての記憶データについて、復元を行う(図5BのS215~図5Cの224)。
【0135】
全ての記憶データの復元が完了すると、リアクション部13cは、それらの復元文について、キーワード一致数、3連鎖数、2連鎖数、1連鎖数の順でランキングを作成し(図5CのS225)、そのランキングにおける1位の復元文を回答文に決定する(図5CのS226)。
【0136】
そして、リアクション部13cは、決定した復元文について、質問タグ数よりもキーワード一致数が少ないか否かを判断し(図5CのS227)、少ない場合には(図5CのS227でYes)、ランキングから質問タグ数と同じキーワード一致数の復元文を補足説明文に決定し(図5CのS228)、回答文と、補足説明文がある場合にはその補足説明文とを、ユーザの端末装置52aに送信して表示させる(図5CのS229)。
【0137】
以上のようにして、リアクション部13cによる回答準備が終了し、回答文等がユーザに提供される。
【0138】
(6)チャットボット情報処理装置の対話/動作例
以下、チャットボット情報処理装置10による対話/動作例を、図6A図6Eを用いて、説明する。なお、図6A図6Eにおいて、左端の数字は、説明上の行番号である。また、対話/動作例を示す図6B図6Eにおいて、行番号の右には、対話の主体(つまり、ユーザ/チャットボット情報処理装置(「Chatbot」と表記)10)、対話/動作ステップ例が順にインデントして記載されている。
【0139】
図6Aは、チャットボット情報処理装置10による対話/動作の前提(つまり、事前の設定)を説明する図である。この例では、チャットボット情報処理装置10は、ユーザの権限(つまり、ログオン中かログオフ中かに)合わせて、ユーザに話すときの口調を変化させるように、事前設定がされている(11行目)。具体的には、ログオフ中は非敬語(常体)で対話し(12行目)、ログオン中は敬語(敬体)で対話する(13行目)設定になっている。なお、形態素データ、文法データ、その他の上述した各種データは、すべて、DBとして、記憶部14に格納されている(14行目)。
【0140】
図6Bは、一つ目(シナリオ1)の対話/動作例であって、コミュニケーションのリアルタイム変化の例を示す図である。今、夜であり、ユーザがログオフ中であるとする(101行目)。ユーザが「おはよう」(1度目)との入力文をチャットボット情報処理装置10に与えたとする(102~103行目)。
【0141】
すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、「おはよう」に対する入力解析から生成される反応キーに対応して予め登録された再帰リアクションである「リアクション日時考慮」を実行することで、確認した時間帯を反応キーに追記した後に、追記した反応キーに対応して予め登録された再帰リアクションを実行することで、夜であることと「おはよう」との不一致を検知し、その結果を反応キーに追記する(104~105行目)。
【0142】
さらに、アルゴリズム生成エンジン部13は、再帰リアクションである「リアクション外部連携考慮」を実行することで、気遣い機能(フラグ)がオフであることを認識し、その結果を反応キーに追記した後に(106行目)、追記した反応キーに対応して予め登録された出力リアクションを実行することで、回答文「今は夜だよ?」を生成してユーザの端末装置52aに送信する(107~108行目)。
【0143】
これに対して、ユーザが入力文「空気読んで」をチャットボット情報処理装置10に与えたとする(109~110行目)。すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、出力リアクションを実行することで、「空気読んで」に紐づけられた入力タグ「気遣いオン」を検知し(111~112行目)、気遣い機能(フラグ)をオフからオンに切り替え(113行目)、特に回答文を出力することなく応答を終了する。
【0144】
続いて、ユーザが、再び、「おはよう」(2度目)との入力文をチャットボット情報処理装置10に与えたとする(114~115行目)。すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、入力解析によって「おはよう」に紐づけられた入力タグ「時間帯が朝」を検知し(116~117行目)、出力リアクションを実行することで、ログオフに紐づけされ、かつ、朝に紐づけられた挨拶文「おはよ!」を回答文として生成してユーザの端末装置52aに送信する(118~120行目)。
【0145】
これに対して、ユーザが、「そんなときは、『おっはよぉ~!』だよ。」との入力文をチャットボット情報処理装置10に与えたとする(121~122行目)。すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、入力解析によって「そんなときは、『おっはよぉ~!』だよ。」に紐づけられた入力タグ「返信文更新」を検知し(123~124行目)、再帰リアクション」を実行することで、この状況に該当するリアクションデータを変更したうえで(125行目)、出力リアクションを実行することで、回答文「分かったよ!」を生成してユーザの端末装置52aに送信する(126~127行目)。
【0146】
続いて、ユーザが、再び、「おはよう」(3度目)との入力文をチャットボット情報処理装置10に与えたとする(128~129行目)。すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、入力解析によって「おはよう」に紐づけられた入力タグ「時間帯が朝」を検知し、出力リアクションを実行することで、ログオフに紐づけされ、かつ、朝に紐づけられた変更後の挨拶文「おっはよぉ~!」を回答文として生成してユーザの端末装置52aに送信する(130~132行目)。
【0147】
このようにして、チャットボット情報処理装置10とのコミュニケーションによって、リアクションデータを変更する学習をさせることで、チャットボット情報処理装置10による応答の内容をリアルタイムで変化させることが可能になる。
【0148】
図6Cは、二つ目(シナリオ2)の対話/動作例であって、形態素についてのチャットボット情報処理装置10からユーザへの聞き返しの例を示す図である。今、ユーザがチャットボット情報処理装置10にログインし(201行目)、そのときのユーザのIDが「AAA」で、ユーザの権限が「一般ユーザ」であるとする(202~203行目)。そして、ユーザは、「ラーメンを食べています。」との入力文をチャットボット情報処理装置10に与えたとする(204~205行目)。
【0149】
すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、入力解析において、「ラーメン」という形態素が形態素データにないために入力解析を停止し(206~207行目)、聞き返し機能を起動することで(208行目)、「『ラーメンを~』から最初の単語を教えてください。」とのメッセージを作成してユーザの端末装置52aに送信し(209~210行目)、「形態素確認モード」に移行する(211行目)。
【0150】
これに対して、ユーザが入力文「ラーメンだよ」をチャットボット情報処理装置10に与えたとする(212~213行目)。すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、「ラーメン」という形態素を形態素データとして追加したうえで(214~215行目)、「承知しました。」とのメッセージを作成してユーザの端末装置52aに送信し(216~217行目)、「形態素確認モード」を解除する(218行目)。
【0151】
なお、この例では、「一般ユーザ」の権限では、形態素と代名詞の確認のみについて聞き返し、それ以外のデータが不足している場合には、「分からないところがあります。開発者に確認しますので、数日、お待ちください。」とのメッセージをユーザに送付する設定となっている(219~222行目)。
【0152】
このようにして、不明な形態素が入力された場合には、ユーザへの質問返しによって、ユーザの意図を反映した解決が図られ、学習が行われる。
【0153】
図6Dは、三つ目(シナリオ3)の対話/動作例であって、ゼロ代名詞についてのチャットボット情報処理装置10からユーザへの聞き返しの例を示す図である。今、ユーザがチャットボット情報処理装置10にログインし(301行目)、そのときのユーザのIDが「BBB」で、日付が2024年5月24日で、ユーザの権限が「開発者」であるとする(302~304行目)。そして、ユーザは、「ラーメンを食べています。」との入力文をチャットボット情報処理装置10に与えたとする(305~306行目)。
【0154】
すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、入力文に関連する形態素データ及び文法データが記憶部14に蓄積されている場合には(307~308行目)、入力文「ラーメンを食べています。」を入力解析することで、記憶データの書式(310~314行目)に変換する(309行目)。
【0155】
そして、アルゴリズム生成エンジン部13は、入力解析において、変換した記憶データを対象として、ゼロ代名詞(ここでは、主語がない状態)を検出し(320行目)、聞き返し機能を起動することで(321行目)、「あなたがですか?主語を教えてください。」とのメッセージを作成してユーザの端末装置52aに送信し(322~323行目)、「代名詞確認モード」に移行する(324行目)。
【0156】
これに対して、ユーザが入力文「いいえ。CCCですよ。」をチャットボット情報処理装置10に与えたとする(325~326行目)。すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、上述した記憶データを更新したうえで(327~333行目)、「記憶しました」とのメッセージを作成してユーザの端末装置52aに送信し(340~341行目)、「代名詞確認モード」を解除する(342行目)。
【0157】
このようにして、入力解析において、不明なゼロ代名詞が入力された場合には、ユーザへの質問返しによって、ユーザの意図を反映した解決が図られ、学習が行われる。
【0158】
図6Eは、四つ目(シナリオ4)の対話/動作例であって、代名詞についてのチャットボット情報処理装置10からユーザへの聞き返しの例を示す図である。今、ユーザは、「これ、美味しいね。」との入力文をチャットボット情報処理装置10に与えたとする(401~402行目)。
【0159】
すると、チャットボット情報処理装置10では、アルゴリズム生成エンジン部13は、入力解析において、入力文において代名詞「これ」を検知し(403~404行目)、「『これ』とは何のことですか?」とのメッセージを作成してユーザの端末装置52aに送信し(405~406行目)、「代名詞確認モード」に移行する(407行目)。以下、シナリオ3と同様にして、不明な代名詞が入力された場合には、ユーザへの質問返しによって、ユーザの意図を反映した解決が図られ、学習が行われる(408行目)。
【0160】
このようにして、入力解析において、不明な代名詞が入力された場合には、ユーザへの質問返しによって、ユーザの意図を反映した解決が図られ、学習が行われる。
【0161】
以上、本発明に係るチャットボット情報処理装置、及び、チャットボット情報処理方法について、実施の形態及び実施例に基づいて説明したが、本発明は、これらの実施の形態及び実施例に限定されるものではない。本発明の主旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態及び実施例に施したものや、実施の形態及び実施例における一部の構成要素を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
【0162】
例えば、本発明は、チャットボット情報処理方法に含まれるステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なDVD、ROM等の記録媒体として実現したりしてもよい。
【0163】
また、チャットボット情報処理装置10は、必ずしもユーザと対話する必要はなく、例えば、ユーザとの対話機能が実装されていないドローン等に搭載され、ドローンが有する各種センサ及び駆動機構等の外部機器とだけ対話するコントローラとして実装されてもよい。
【産業上の利用可能性】
【0164】
本発明は、与えられた入力情報に対してコンピュータを用いた自然言語処理によって出力情報を返す学習型のチャットボット情報処理装置として、例えば、クラウドコンピュータに実装されたり、ロボット、ドローン、家電、サーバ、コンピュータ、スマートフォン、タブレット等に移植されたりするチャットボット情報処理装置として、利用できる。
【符号の説明】
【0165】
10 チャットボット情報処理装置
11 入出力部
12 制御部
13 アルゴリズム生成エンジン部
13a 入力解析部
13b 判断部
13c リアクション部
14 記憶部
50 メールサーバ
51 Webサイト
52a、52b 端末装置
60 発光部
61 カメラ
62a スピーカ
62b 音声合成部
63a マイク
63b 音声認識部
70 無線通信アダプタ
71 GPS
72 タイマ
73 温度センサ
74 加速度センサ
75 駆動部
100 チャットボットシステム
110 ロボット
【要約】
【課題】対話の相手及び内容について、従来よりも柔軟性に富む対話及び入出力を行うことができるチャットボット情報処理装置を提供する。
【解決手段】チャットボット情報処理装置10は、与えられた入力情報に対してコンピュータを用いた自然言語処理によって出力情報を返す学習型のチャットボットであって、反応キーとリアクションとをペアにした反応データを蓄積する記憶部14と、入力情報を解析し、出力情報を生成して出力するアルゴリズム生成エンジン部13とを備え、アルゴリズム生成エンジン部13は、入力情報から構文キーを含む反応キーを作成する入力解析部13aと、作成された反応キーに対応するリアクションを含む反応データが記憶部14に蓄積されてか否かを判断する判断部13bと、判断結果に応じて、出力リアクション又は再帰リアクションを実行するリアクション部13cとを有する。
【選択図】図2
図1A
図1B
図2
図3A
図3B
図4A
図4B
図4C
図5A
図5B
図5C
図6A
図6B
図6C
図6D
図6E