JP2021117690A - チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム - Google Patents

チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム Download PDF

Info

Publication number
JP2021117690A
JP2021117690A JP2020010185A JP2020010185A JP2021117690A JP 2021117690 A JP2021117690 A JP 2021117690A JP 2020010185 A JP2020010185 A JP 2020010185A JP 2020010185 A JP2020010185 A JP 2020010185A JP 2021117690 A JP2021117690 A JP 2021117690A
Authority
JP
Japan
Prior art keywords
scenario
chat
chatbot
user
external system
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.)
Granted
Application number
JP2020010185A
Other languages
English (en)
Other versions
JP2021117690A5 (ja
JP7405629B2 (ja
Inventor
信也 岩崎
Shinya Iwasaki
信也 岩崎
健 飯倉
Takeshi Iikura
健 飯倉
利織 吉竹
Michiori Yoshitake
利織 吉竹
夏紀 太田
Natsuki Ota
夏紀 太田
寛人 福島
Hiroto Fukushima
寛人 福島
伸夫 工藤
Nobuo Kudo
伸夫 工藤
由充 豊場
Yoshimitsu Toyoba
由充 豊場
直哉 津村
Naoya Tsumura
直哉 津村
知治 市原
Tomoharu Ichihara
知治 市原
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.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems 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 Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2020010185A priority Critical patent/JP7405629B2/ja
Priority to PCT/JP2020/033387 priority patent/WO2021149296A1/ja
Priority to US17/793,898 priority patent/US11799804B2/en
Publication of JP2021117690A publication Critical patent/JP2021117690A/ja
Publication of JP2021117690A5 publication Critical patent/JP2021117690A5/ja
Priority to US18/369,160 priority patent/US12021802B2/en
Application granted granted Critical
Publication of JP7405629B2 publication Critical patent/JP7405629B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】チャットセッションにおけるユーザ入力に応じて、当該ユーザを対応するための適切なチャットシナリオに必要な情報をシームレスに外部システムから取得し、チャットシナリオを動的に生成することが可能なチャットボットを提供する。【解決手段】チャットボット制御システム200において、チャットボット制御装置は、ユーザとチャットボットとのチャットセッションにおいて、ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データを所定の外部システムから取得する外部データ取得部と、チャットシナリオの生成パターンを規定する所定のシナリオ化ロジックを用いて、チャットシナリオ作成用データに基づいて、ユーザとチャットボットとの対話の遷移を指定する第1のチャットシナリオを生成するシナリオ生成部と、第1のチャットシナリオをチャットセッションにおいて実行するシナリオ実行部と、を含む。【選択図】図2

Description

本発明は、チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システムに関する。
チャットやSNS(ソーシャルネットワーキングサービス)等の、ユーザ間でメッセージをやり取りするメッセージサービスの普及に伴い、このメッセージサービス上で動作し、テキストや音声を通じて会話を自動的に行うプログラムであるチャットボットが普及している。
チャットボットは、ユーザから入力されたメッセージから特定の単語や語句を検出し、それに合う予め用意された応答を出力するように動作する。チャットボットとしては、企業や店舗などの、広告用または商業用に割り当てられたメッセンジャーサービスアカウントが運用するものもあり、ユーザは自然なメッセージのやり取りを通じて種々のサービスを利用したり、チャットボットの支援を受けて所定のタスクを行ったりすることができる。
例えば、チャットボットとの対話を通じてシステム開発作業を支援するものとして、特許文献1には、「開発支援システム1は、複数の設計情報240のメタ情報をそれぞれ定義してなる複数の第1情報220と、複数の第1情報間の関連を定義してなる第2情報230と、複数の設計情報に共通して実施される作業に関して用意される対話部品のひな形を定義する第3情報320とを記憶する情報記憶部と、各第1情報と第2情報と第3情報とに基づいて、各設計情報の作業毎の対話部品330と、各設計情報に基づく作業単位毎の対話シナリオ情報340とを生成する対話シナリオ情報生成部310と、各対話部品および各対話シナリオ情報に基づいてチャット装置4を動作させる対話シナリオ情報処理部311と、を備える」技術が記載されている。
特開2018−142054
上記の特許文献1には、システム開発において、開発に関する設計情報の作業毎の対話部品と、各設計情報に基づく作業単位毎の対話シナリオ情報とを生成し、各対話部品および各対話シナリオ情報に基づいてチャット装置を動作させることでユーザのシステム開発作業を支援する技術が記載されている。
しかし、特許文献1に記載の技術においては、ユーザが求める情報を格納する多種の外部システムと連携して、ユーザとチャットボットの対話の流れをスムーズに行うためのチャットシナリオを生成する必要がある。そして、このためには、ユースケース毎に独自の制御装置(プログラム)を作成しなければならない。
一方で、近年のSNSやAPI連携などの需要が増大しているため、これらのシナリオをより容易に開発し、迅速にチャットボットによるサービスを展開することが求められている。
一例として、チャットボットを通じて求人活動のサポートを行うことが考えれれる。この場合、仕事を探しているユーザからチャットボットを用いて、ヒアリング(経歴の審査)を行い、ヒアリングに合格したユーザを、人材を募集している企業に紹介することとなる。例えば、ある企業が多数の店舗を持ち、店舗毎に異なる条件(所定の資格、勤務可能な日程、所定の言語能力)を満たす人材を募集している場合に、候補者とのヒアリングを行うためには、店舗数かける条件数の数だけのチャットシナリオを事前に用意する必要がある。更に、店舗の求人の状況や条件が変更されるたびに、作成済みのチャットシナリオを新しい状況や条件に合わせて更新する必要がある。従来のチャットボットをこのようなケースに適用しようとすると、多数のチャットシナリオを作成し、これを維持するために膨大な開発資源及び人力を要する。
そこで、本発明は、チャットセッションにおけるユーザ入力に応じて、当該ユーザに対応するための適切なチャットシナリオに必要な情報を外部システムから取得し、チャットシナリオを動的に生成することが可能なチャットボットを提供することを目的とする。
上記の課題を解決するために、代表的な本発明のチャットボット制御装置の一つは、ユーザとチャットボットとのチャットセッションにおいて、前記ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データを所定の外部システムから取得する外部データ取得部と、チャットシナリオの生成パターンを規定する所定のシナリオ化ロジックを用いて、前記チャットシナリオ作成用データに基づいて、前記ユーザと前記チャットボットとの対話の遷移を指定する第1のチャットシナリオを生成するシナリオ生成部と、前記第1のチャットシナリオを前記チャットセッションにおいて実行するシナリオ実行部とを含む。
本発明によれば、チャットセッションにおけるユーザ入力に応じて、当該ユーザに対応するための適切なチャットシナリオに必要な情報を外部システムから取得し、チャットシナリオを動的に生成することが可能なチャットボットを提供することができる。
図1は、本発明の実施形態を実施するためのコンピュータシステムを示す図である。 図2は、本発明の実施形態に係るチャットボット制御システムの構成の一例を示す図である。 図3は、本発明の実施形態に係るチャットボットの論理的構造の一例を示す図である。 図4は、本発明の実施形態に係るチャットセッションの動作を規定する定義構造の一例を示す図である。 図5は、本発明の実施形態に係るチャットセッションの入れ子構造の一例を示す図である。 図6は、本発明の実施形態に係るチャットセッション制御方法の流れを示すフローチャートである。 図7は、本発明の実施形態に係るチャットシナリオ生成処理におけるシナリオ化ロジックの第1の生成パターンを示す図である。 図8は、本発明の実施形態に係るチャットシナリオ生成処理におけるシナリオ化ロジックの第2の生成パターンを示す図である。 図9は、本発明の実施形態に係るチャットシナリオ生成処理におけるシナリオ化ロジックの第3の生成パターンを示す図である。 図10は、本発明の実施形態に係るチャットセッション制御委任処理の一例を示す図である。 図11は、本発明の実施形態に係るチャットセッション制御手段を施設予約に適用した場合の具体例を示す図である。 図12は、本発明の実施形態に係るチャットセッション制御手段を施設予約に適用した場合の、チャットボットとのやり取りの一例を示す図面である。
以下、図面を参照して、従来例及び本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
(ハードウェア構成)
まず、図1を参照して、本開示の実施形態を実施するためのコンピュータシステム300について説明する。本明細書で開示される様々な実施形態の機構及び装置は、任意の適切なコンピューティングシステムに適用されてもよい。コンピュータシステム300の主要コンポーネントは、1つ以上のプロセッサ302、メモリ304、端末インターフェース312、ストレージインタフェース314、I/O(入出力)デバイスインタフェース316、及びネットワークインターフェース318を含む。これらのコンポーネントは、メモリバス306、I/Oバス308、バスインターフェースユニット309、及びI/Oバスインターフェースユニット310を介して、相互的に接続されてもよい。
コンピュータシステム300は、プロセッサ302と総称される1つ又は複数の汎用プログラマブル中央処理装置(CPU)302A及び302Bを含んでもよい。ある実施形態では、コンピュータシステム300は複数のプロセッサを備えてもよく、また別の実施形態では、コンピュータシステム300は単一のCPUシステムであってもよい。各プロセッサ302は、メモリ304に格納された命令を実行し、オンボードキャッシュを含んでもよい。
ある実施形態では、メモリ304は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体(揮発性又は不揮発性のいずれか)を含んでもよい。メモリ304は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。例えば、メモリ304は、チャットボット制御アプリケーション350を格納していてもよい。ある実施形態では、チャットボット制御アプリケーション350は、後述する機能をプロセッサ302上で実行する命令又は記述を含んでもよい。
ある実施形態では、チャットボット制御アプリケーション350は、プロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスを介してハードウェアで実施されてもよい。ある実施形態では、チャットボット制御アプリケーション350は、命令又は記述以外のデータを含んでもよい。ある実施形態では、カメラ、センサ、または他のデータ入力デバイス(図示せず)が、バスインターフェースユニット309、プロセッサ302、またはコンピュータシステム300の他のハードウェアと直接通信するように提供されてもよい。
コンピュータシステム300は、プロセッサ302、メモリ304、表示システム324、及びI/Oバスインターフェースユニット310間の通信を行うバスインターフェースユニット309を含んでもよい。I/Oバスインターフェースユニット310は、様々なI/Oユニットとの間でデータを転送するためのI/Oバス308と連結していてもよい。I/Oバスインターフェースユニット310は、I/Oバス308を介して、I/Oプロセッサ(IOP)又はI/Oアダプタ(IOA)としても知られる複数のI/Oインタフェースユニット312,314,316、及び318と通信してもよい。
表示システム324は、表示コントローラ、表示メモリ、又はその両方を含んでもよい。表示コントローラは、ビデオ、オーディオ、又はその両方のデータを表示装置326に提供することができる。また、コンピュータシステム300は、データを収集し、プロセッサ302に当該データを提供するように構成された1つまたは複数のセンサ等のデバイスを含んでもよい。
例えば、コンピュータシステム300は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサ、及び加速度データ、運動データ等を収集するモーションセンサ等を含んでもよい。これ以外のタイプのセンサも使用可能である。表示システム324は、単独のディスプレイ画面、テレビ、タブレット、又は携帯型デバイスなどの表示装置326に接続されてもよい。
I/Oインタフェースユニットは、様々なストレージ又はI/Oデバイスと通信する機能を備える。例えば、端末インタフェースユニット312は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等のユーザ入力デバイスのようなユーザI/Oデバイス320の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザI/Oデバイス320及びコンピュータシステム300に対して入力データや指示を入力し、コンピュータシステム300からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザI/Oデバイス320を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されたりしてもよい。
ストレージインタフェース314は、1つ又は複数のディスクドライブや直接アクセスストレージ装置322(通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイ又は他のストレージ装置であってもよい)の取り付けが可能である。ある実施形態では、ストレージ装置322は、任意の二次記憶装置として実装されてもよい。メモリ304の内容は、ストレージ装置322に記憶され、必要に応じてストレージ装置322から読み出されてもよい。I/Oデバイスインタフェース316は、プリンタ、ファックスマシン等の他のI/Oデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース318は、コンピュータシステム300と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク330であってもよい。
ある実施形態では、コンピュータシステム300は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、又はサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム300は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、又は任意の他の適切な電子機器であってもよい。
次に、図2を参照して、本発明に係るチャットボット制御システムについて説明する。
図2は、本発明に係るチャットボット制御システム200の構成の一例を示す図である。図2に示すように、本発明に係るチャットボット制御システム200は、主に
携帯端末210、通信ネットワーク215、外部システム220、及びチャットボット制御装置230を含む。携帯端末210、外部システム220、及びチャットボット制御装置230は、通信ネットワーク215を介して接続されている。
通信ネットワーク215は、例えばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、衛星ネットワーク、ケーブルネットワーク、Wi―Fiネットワーク、またはそれらの任意の組み合わせを含むものであってもよい。また、外部システム220とチャットボット制御装置230との接続は有線であってもよく、無線であってもよい。
携帯端末210は、個人のユーザに利用される端末であり、例えばパソコン、スマートフォン等の携帯端末、タブレットパソコン等であってもよい。ユーザは、携帯端末210の所定のコミュニケーションアプリ(SNS、メール、メッセージ機能等)又はブラウザーを用いて、通信ネットワーク215を介してチャットボット制御装置230により提供されるチャットボットと対話(メッセージの交換等)を行ってもよい。例えば、ユーザは、携帯端末210にインストールされているSNSアプリを介して、旅行案内のチャットボット、レストラン予約のチャットボット、人事採用のチャットボット等、任意のチャットボットと対話を行うことで、所望のサービスを受けることができる。
外部システム220は、チャットシナリオを生成するためのチャットシナリオ作成用データを格納するシステムである。この外部システム220は、例えば、遠隔のパソコン、サーバ、ストレージ装置、データベース、クラウド型ストレージ、又はこれらの組み合わせから構成されているシステムであってもよい。図2では、説明の便宜上、1つの外部システム220が示されているが、実際には、チャットボット制御装置230は多数の外部システムと接続しており、チャットシナリオの内容や目的に応じて必要な外部システムにアクセスし、所望のチャットシナリオ作成用データを取得することができる。
外部システム220は、使用の目的に応じて異なるデータを格納してもよい。例えば、レストラン予約の場合には、外部システム220は、所定のエリア内のレストランのリストと、それぞれのレストランの得意料理、価格帯、営業時間、現在の予約状況等の情報を格納してもよい。また、もう一つの例として、人事採用の場合には、外部システム220は、例えば、人材を募集している店舗のリストと、それぞれの店舗が募集している人材の条件(人数、資格の有無、勤務可能な曜日)を指定する情報を格納してもよい。これらの外部システム220が格納する情報は、後述するチャットシナリオを生成するためのチャットシナリオ作成用データとなる。
チャットボット制御装置230は、本発明に係るチャットボット制御手段を実行するためのコンピューティングデバイスである。チャットボット制御装置230は、例えばデスクトップコンピュータ、サーバコンピュータ、ラップトップコンピューター、タブレットコンピュータ、ワークステーション、携帯端末、または他の種類のコンピューティングデバイスであってもよく、本発明では特に限定されない。
図2に示すように、チャットボット制御装置230は、メモリ240に格納された命令を実行するためのプロセッサ231と、チャットボット制御装置230の内部・外部デバイス間の通信を制御するためのI/Oインターフェース232と、通信ネットワーク215を介しての通信を制御するためのネットワークインターフェース233と、ユーザからの入力を受け付けるためのユーザI/Oインターフェース234と、本発明の実施形態に係るチャットボット制御手段のそれぞれの機能を実行するための機能部を格納するメモリ240と、これらの構成要素の双方通信を制御するためのバス212とを含む。
図2に示すように、メモリ240は、例えば、ユーザとチャットボットとのチャットセッションにおいて、ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データを所定の外部システム220から取得する外部データ取得部242と、チャットシナリオの生成パターンを規定する所定のシナリオ化ロジックを用いて、チャットシナリオ作成用データに基づいて、チャットセッションに実行する、ユーザとチャットボットとの対話の遷移を指定する第1のチャットシナリオを生成するシナリオ生成部244と、第1のチャットシナリオをチャットセッションにおいて実行するシナリオ実行部246と、チャットシナリオ生成が成功したか否かを判定するシナリオ化成功判定部248と、チャットセッションに含まれる特定のチャットセッションの外部システムへの委任を管理するシナリオ委任管理部250を含む。
なお、チャットボット制御装置230に含まれるそれぞれの機能部は、図1に示すコンピュータシステム300におけるチャットボット制御アプリケーション350を構成するソフトウエアモジュールであってもよく、独立した専用ハードウェアデバイスであってもよい。また、上記の機能部は、同一のコンピューティング環境に実施されてもよく、分散されたコンピューティング環境に実施されてもよい。例えば、チャットシナリオ作成用データを外部システム220から取得する外部データ取得部242と、第1のチャットシナリオを生成するシナリオ生成部244とをチャットボット制御装置230に実装し、それ以外の機能部を遠隔のサーバに実装する構成も可能である。
以上説明した構成により、通信ネットワークを介してチャットボットと対話するユーザを支援するための適切なチャットシナリオを、外部システムから取得した情報に基づいて動的に生成することができる。
次に、図3を参照して、本発明の実施形態に係るチャットボットの論理的構造について説明する。
図3は、本発明の実施形態に係るチャットボットの論理的構造360の一例を示す図である。図3に示すように、本発明の実施形態に係るチャットボットは、ルートコントロール(root control)365と、シナリオコントロール(scenario control)370と、プロセスコントロール(process control)375の3つのレイヤーからなる。この3つのレイヤーによる制御により、ユーザとチャットボットの間のチャットセッションにおけるチャットシナリオ及びシナリオ内の処理の遷移を管理することができる。
ルートコントロール365は、複数のチャットシナリオの中から、チャットセッションにおいて展開するチャットシナリオの選択を制御するものである。ルートコントロール365は、例えばユーザとの対話を所定の自然言語処理手段やインテント解析手段によって処理することで、ユーザの意図(ユーザがどのような情報やサービスを希望しているか)を判定する。その後、ルートコントロール365は、判定したユーザ意図を、複数の(例えば、予め用意されている)チャットシナリオに比較し、所定の類似性基準を満たすシナリオを選定し、実行する。
なお、他のシナリオが既に実行中の場合には、ルートコントロール365は、割り込みを挿入し新しく選定したシナリオに移行してもよく、既に実行中のシナリオが終了した後に新しく選定したシナリオを実行してもよい。
シナリオコントロール370は、チャットシナリオ内のイベントの遷移を制御するものである。シナリオコントロール370は、実行中のシナリオにおけるそれぞれのイベント(アクティビティ、プロンプト等)を、当該シナリオの遷移を規定するシナリオ定義構造に従って実行する。また、ここでのシナリオの遷移は、ユーザとチャットボットとの間の対話の情報を数値として記録するデータ(ベクトル)に従って進行する。例えば、ユーザとチャットボットの対話が所定の状態に一致すると判定された場合には、シナリオコントロール370は、当該状態に合わせて適切なイベントの処理を実行してもよい。
プロセスコントロール370は、チャットシナリオ内のイベントにおける処理を制御するものであり、シナリオ内の特定の作業や業務単位の論理的な枠組み(インターフェース)である。プロセスコントロール370は、例えば、特定のプロンプトに対してユーザに入力されたダイアログによる対話状態に基づいて、次のイベントを判定したり、シナリオ中のアクティビティの処理を実行したりしてもよい。
次に、図4を参照して、本発明の実施形態に係るチャットセッションの動作を規定する定義構造について説明する。
図4は、本発明の実施形態に係るチャットセッションの動作を規定する定義構造400の一例を示す図である。本発明の実施形態に係る定義構造400とは、チャットセッションにおけるチャットセッションの遷移(つまり、流れ)を定義するデータ構造である。本発明では、複数の異なるユースケース(施設予約、飲食店予約、空港チェックイン、人事採用など)に該当する定義構造が事前に用意され、ストレージ部(例えば、図2に示すストレージ部235)に保存される。そして、後述するように、外部システム(例えば、図2に示す外部システム220)からチャットシナリオ作成用データを取得した際には、当該チャットシナリオ作成用データに該当する定義構造(第1の定義構造)を用いて処理することで、取得したチャットシナリオ作成用データを定義構造(第2の定義構造)に変換することができる。その後、この定義構造をプログラムとして実装することで、取得したチャットシナリオ作成用データに基づいたチャットシナリオを動的に生成することができる。言い換えれば、定義構造400は、シナリオ作成用データをどのようにしてシナリオに変換するかを指定する情報である。
図4に示すように、定義構造400は、モジュール部420、スロット部440、及びステップ部460から構成される。
モジュール部420は、当該シナリオ内でどのプログラムを使用するかを指定する関数として機能する。例えば、モジュール部420は、当該シナリオで使用するダイアログ、発話、プロンプト、アクティビティ、対話の分岐点等を定義するプログラムを指定してもよい。
スロット部440は、チャットセッションにおいて取得した情報を保存する保存先を定義するものである。チャットセッションにおいて取得した情報は、例えば、チャットボットと対話するユーザから入力された情報であり、チャットセッションのユースケース毎に異なる。これらの情報は、上述した対話状態として構成されてもよい。
人事採用のチャットシナリオの場合、この情報は、ユーザが入力した名前、希望の仕事、経歴に関する情報を含んでもよく、飲食店予約の場合には、この情報は、ユーザの希望の料理、時間帯、エリア等を含んでもよい。
なお、一般的には、スロット部440に定義されている保存先はネットワークストレージにおけるメモリ領域であるが、チャットセッションにおいて取得した情報をローカルのストレージ装置に保存する構成も可能である。
ステップ部460は、チャットシナリオにおけるイベントを規定し、チャットシナリオ内の遷移を1つ1つ定義するものである。ステップ部460に定義されているイベントは、プロンプト、アクティビティ、スクリプト、及びサブシナリオ等の種類を含む。プロンプトとは、ユーザに対する発話を発し、ユーザからの返事を待つシナリオイベントである(例えば、「お名前はなんですか?」)。アクティビティとは、ユーザに対する発話を発し、返事待たずに次の処理に続行するシナリオイベントである(例えば、「かしこまりました。お店を検索します。」)。スクリプトは、所定の関数を呼び出すシナリオイベントである(外部システムをアクセスしたり、インターネットを検索したりする等)。サブシナリオとは、既に実行中のメインシナリオ内で、新たな従たるシナリオであるサブシナリオを呼び出すものである(例えば、レストラン予約のメインシナリオにおいて、コース料理の内容を決定する処理)。
また、図4に図示しないが、定義構造400は、チャットシナリオの挙動を定義するルールを規定する。これらのルールは、例えば、ユーザから取得した情報をどのスロットに保存するかを規定したり、スロットに保存されている対話状態に応じて次にどのチャットイベント(プロンプト、スクリプト等)に遷移するかを規定したりしてもよい。
このように、ユーザとチャットボットのチャットセッションは、定義構造に含まれるモジュール部420、スロット部440、ステップ部460及びチャットルールによって定義され、対話の流れが制御される。
次に、図5を参照して、本発明の実施形態に係るチャットセッションの入れ子構造について説明する。
図5は、本発明の実施形態に係るチャットセッションの入れ子構造の一例を示す図である。上述したように、本発明の実施形態に係るチャットボット制御では、入れ子構造のチャットセッションが可能である。ここでいう入れ子構造は、チャットセッションにおけるシナリオが再帰的に繰り返されて記述されていることを意味する。より具体的には、本発明に係るチャットシナリオは、起動時に呼び出される静的なシナリオであるメインシナリオと、当該メインシナリオにおいて呼び出される任意の数の従たるシナリオであるサブシナリオとを含む。
例えば、図5に示すように、チャットセッションの起動時に、セッションの基本的な挙動を制御するメインシナリオ525が(例えば定義構造に基づいて)呼び出され、実行される。このメインシナリオ525は、例えば、ユーザとの対話の遷移を規定するプロンプト、ダイアログ、アクティビティ、スクリプト等、複数のシナリオイベントを含む。ユーザとの対話における対話状態が所定の対話状態に一致すると判定された場合、チャットボットはメインシナリオ内で、当該対話状態に応じたサブシナリオ550を呼び出し、実行する。また、ここで呼び出されるサブシナリオの数は1つに限定されず、複数のサブシナリオが同時に呼び出され、並行に実行されてもよい。呼び出されたサブシナリオが終了すると、チャットセッションはメインシナリオに復帰する。
一例として、チャットセッションの起動時に、ユーザの意図(どのようなサービス等を希望しているか)を判定するためのメインシナリオが呼び出されてもよい。このメインシナリオでは、ユーザとチャットボットとの対話が進み、ユーザが飲食店の予約を希望していると判定された場合には、飲食店予約専用のサブシナリオが呼び出されてもよい。このサブシナリオでは、ユーザがどのような料理、価格帯、又はエリアを希望しているかとの情報が複数のチャットイベント(プロンプト等)によって取得され、飲食店を予約する処理が行われてもよい。その後、処理が終了すると、このサブシナリオが終了し、チャットセッションがメインシナリオに復帰してもよい。
このように、1つのメインシナリオ内で、複数の異なるユースケースに係るサブシナリオが呼び出し可能な入れ子構造を用いることにより、ユーザの様々なニーズを柔軟に対応することができる。
次に、図6を参照して、本発明の実施形態に係るチャットセッション制御方法について説明する。
図6は、本発明の実施形態に係るチャットセッション制御方法600の流れを示すフローチャートである。上述したように、このチャットセッション制御方法600は、チャットセッションにおけるユーザ入力に応じて、当該ユーザを対応するための適切なチャットシナリオに必要な情報をシームレスに外部システムから取得し、チャットシナリオを動的に生成するための処理であり、例えば図2に示すチャットボット制御装置230によって行われてもよい。
まず、ステップ610では、チャットシナリオ作成用データが所定の外部システム220から取得される。このチャットシナリオ作成用データの取得は、例えば上述した外部データ取得部(例えば、図2に示す外部データ取得部242)によって行われてもよい。また、ここでのチャットシナリオ作成用データは、チャットセッションにおけるユーザからの第1の入力に基づいて行われてもよい。この第1の入力は、例えば、チャットシナリオ(メインシナリオ)でチャットボットがユーザに提示したプロンプトへの返事であってもよく、ユーザとの対話状態が所定の対話状態に対する類似度基準を満たすと判定された場合であってもよい。また、どのチャットシナリオ作成用データをどの外部システム220から取得するかとの判断は、当該第1の入力に基づいて行われてもよい。
一例として、チャットシナリオにおいて、ユーザから「和風のレストランを探している」との第1の入力が検出された場合には、外部データ取得部は、予約可能なレストランに関する情報を格納する外部システム220へのアクセスを求め、所定のAPI(Application Programming Interface)又はRPA(Robotics Process Automation)手段により、和風のレストランで予約が可能な店舗に関する情報を取得してもよい。
なお、RPAとは、所定の業務や処理を代行又は自動化するプログラムである。本発明では、RPAを用いることにより、外部システムからのデータの取得、シナリオ登録等任意の処理を人間の介入なしでより効率よく行うことができる。
次に、ステップ620では、ステップ610で取得されたチャットシナリオ作成用データから、チャットシナリオ(例えば、第1のチャットシナリオ)が所定のシナリオ化ロジック625を用いて生成される。このチャットシナリオ生成は、例えば上述したシナリオ生成部(例えば、図2に示すシナリオ生成部244)によって行われてもよい。このシナリオ化ロジック625は、外部システム220から取得されたチャットシナリオ作成用データをどのように使用してチャットシナリオを生成するかを規定し、取得したチャットシナリオ作成用データの特性等に基づいて、複数の生成パターンの内の1つを指定するものである。このシナリオ化ロジック625は、例えば図2に示すストレージ部235に格納されてもよく、メインシナリオにおいてモジュールとして定義されてもよい。
なお、シナリオ化ロジック625によるチャットシナリオ生成の詳細については後述する。
次に、ステップ630では、チャットシナリオの生成が成功したか否かが判定される。このチャットシナリオ化成功判定は、例えば上述したシナリオ化成功判定部(例えば、図2に示すシナリオ化成功判定部250)によって行われてもよい。より具体的には、チャットシナリオ化成功判定は、ステップ620で生成されたチャットシナリオ(例えば、第1のチャットシナリオ)を、チャットボット制御装置に応じた定義構造を指定する成功判定データに比較し、当該チャットシナリオが成功判定データに対して所定の類似度基準を満たす場合には、このチャットシナリオの生成が成功したと判定し、当該チャットシナリオを実行部に転送する。このチャットシナリオと定義構造との比較は、いわゆる構造分析や、正規表現の比較によって実施されてもよい。
なお、ステップ620で生成されたチャットシナリオを成功判定データに比較した結果、当該チャットシナリオが成功判定データに対して所定の類似度基準を満たさない場合には、本処理がステップ645に進む。ステップ645では、チャットシナリオの生成が成功していないと判定され、生成が成功していない旨のエラーメッセージが所定の通知先(チャットボットの管理者等)に通知される。
次に、ステップ640では、ステップ620で生成されたチャットシナリオの生成が成功したと判定された場合には、当該チャットシナリオが既に実行中のメインシナリオにおけるサブシナリオとして実行される。ここでのサブシナリオの実行は、上述した入れ子構造を用いてもよい。つまり、メインシナリオにおいて、当該チャットシナリオがサブシナリオとして呼び出され、実行されてもよい。
次に、ステップ650では、ステップ640で実行されたチャットシナリオにおける処理が順番に実行される。ここでは、例えば、チャットシナリオにおけるプロンプト、アクティビティ、スクリプト等が行われ、ユーザとチャットボットの対話が当該チャットシナリオに定義されている遷移のルールに従って進む。
なお、このサブシナリオとして実行されているチャットシナリオにおいて、更なるサブシナリオを呼び出してもよい。例えば、サブシナリオにおけるユーザとチャットボットの対話において、外部システムから追加のデータが必要になった場合には、この必要なデータを所定の外部システムから取得する処理を更なるサブシナリオとして行ったり、後述するシナリオ委任処理を更なるサブシナリオとして行ったりしてもよい。
次に、ステップ660では、ステップ640〜650で実行されたサブシナリオであるチャットシナリオの処理が終了すると、チャットセッションの処理がメインセッションに復帰し、メインシナリオの処理が進む。
なお、サブシナリオにおいて更なるサブシナリオが実行中だった場合には、チャットセッションの処理がメインシナリオではなく、処理が終了したサブシナリオの親シナリオに復帰する。
このように、ユーザの入力に基づいてチャットシナリオ作成用データを所定の外部システムから取得し、当該チャットシナリオ作成用データに基づいてチャットシナリオを動的に生成し、実行することにより、最新のデータに基づいたチャットシナリオをリアルタイムで提供することが可能となり、より柔軟かつ効率的にユーザを対応することができる。
次に、図7〜9を参照して、本発明の実施形態に係るチャットシナリオ生成処理700について説明する。上述したように、本発明の実施形態に係るチャットシナリオは、所定のシナリオ化ロジックを用いて生成されるものである。また、このシナリオ化ロジックは、外部システムから取得したチャットシナリオ作成用データをどのように使用してチャットシナリオを生成するかを規定し、取得したチャットシナリオ作成用データの特性等に基づいて、複数の生成パターンの内の1つを指定するものである。
図7は、本発明の実施形態に係るチャットシナリオ生成処理におけるシナリオ化ロジックの第1の生成パターン710を示す図である。図7に示す第1の生成パターン710では、まず、上述したように、外部データ取得部(例えば、図2に示す外部データ取得部242)は、ユーザとチャットボットとのチャットセッションにおいて、ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データ714を所定の外部システム712から取得する。このチャットシナリオ作成用データ714は、例えば図7に示すように、特定の商品に関する情報(商品名、特性、価格、輸出要否等)であってもよい。
次に、チャットシナリオ作成用データ714が取得された後、シナリオ生成部(例えば、図2に示すシナリオ生成部244)は、取得したチャットシナリオ作成用データ714を予め用意されている定義構造716にマッピングさせることでチャットシナリオを生成してもよい。この定義構造716は、例えば、予め用意され、複数の異なるユースケースに該当する定義構造の中から、取得したチャットシナリオ作成用データ714のユースケース(例えば、商品注文)に応じて選定されたものであってもよい。
なお、ここでのマッピングとは、例えば、取得したチャットシナリオ作成用データ714に含まれる項目(商品名、特性、価格、輸出要否等)を、定義構造716において対応付けられている箇所に挿入することを意味する。
このように、外部システムから取得したチャットシナリオ作成用データを事前に用意されている定義構造にマッピングすることにより、当該チャットシナリオ作成用データに基づいたチャットシナリオを動的に生成することができる。
図8は、本発明の実施形態に係るチャットシナリオ生成処理におけるシナリオ化ロジックの第2の生成パターン720を示す図である。図8に示す第2の生成パターン720では、まず、上述したように、外部データ取得部(例えば、図2に示す外部データ取得部242)は、ユーザとチャットボットとのチャットセッションにおいて、ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データ724を所定の外部システム726から取得する。このチャットシナリオ作成用データ724は、例えば図8に示すように、特定の商品に関する情報(商品名、特性、価格、輸出要否等)であってもよい。
次に、チャットシナリオ作成用データ724が取得された後、シナリオ生成部(例えば、図2に示すシナリオ生成部244)は、取得したチャットシナリオ作成用データ724を事前に用意されている所定の形式726に基づいてチャットシナリオに変換してもよい。この所定の形式は、例えば、特定の対話状態から後続の対話状態の遷移を定義するルールを定めるものであってもよい。
一例として、図8に示すように、所定の形式726は、チャットシナリオ作成用データ724における項目の選択肢(例えば、商品の型番、特性、輸出要否の確認に対するユーザ回答となるYES、NO等)と、それぞれの選択肢による次の遷移先の遷移のルールを指定してもよい。チャットシナリオ作成用データ724を、この所定の形式726に定義されている遷移のルールに基づいて再構成することで、チャットシナリオを容易に生成することができる。
本発明の実施形態の一態様では、この所定の形式726は、チャットシナリオ作成用データ724と共に外部システム722から取得される。この場合には、この所定の形式726は、顧客を電話で対応するために事前に作成され、対話の遷移を定義する自動電話交換方式のスクリプトであってもよい(例えば、「請求書の支払いに関する問い合わせなら1を、キャンセルに関する問い合わせなら2を...」のように構成されているスクリプト等)。
なお、本発明に係る所定の形式726は、必ずしも外部システム722に事前に格納されたものに限定されず、過去の対話情報を学習用データとして訓練されたニューラルネットワーク等に生成されてもよく、チャットボットの管理者等に作成されてもよい。
このように、チャットシナリオ作成用データ724を、この所定の形式726に定義されている遷移のルールに基づいて変換することにより、たとえ事前に作成された定義構造がない場合にも、外部システム722の最新情報に基づいたチャットシナリオを動的に生成することができる。
図9は、本発明の実施形態に係るチャットシナリオ生成処理におけるシナリオ化ロジックの第3の生成パターン730を示す図である。図9に示す第3の生成パターン730では、チャットシナリオを生成するためのチャットシナリオ作成用データが既にチャットシナリオの定義構造の形式となっており、チャットシナリオ734として外部システム722に格納されていることを前提としている。これは、外部システムが、格納する情報をチャットシナリオとして保存するAPI等を採用している場合や、本発明の実施形態に係るチャットシナリオ生成処理によって生成されたチャットシナリオが外部システムに格納されている場合等に該当する。
この場合には、ユーザとチャットボットの間のチャットセッションに提供する情報が既にチャットシナリオ形式となっているため、外部データ取得部(例えば、図2に示す外部データ取得部242)は、ユーザとチャットボットとのチャットセッションにおいて、ユーザからの第1の入力に基づいて、当該チャットシナリオ734を取得する。その後、上述したように、取得したチャットシナリオ734はチャットセッションに実行中のメインシナリオにおいてサブシナリオとして実行されてもよい。
このように、ユーザとチャットボットの間のチャットセッションに提供する情報が既にチャットシナリオ形式となっているため、事前に生成された定義構造又は所定の形式を用いることなく、チャットセッションにおいて外部システムの最新の状態に基づいたチャットシナリオを直接に埋め込むことができる。
次に、図10を参照して、本発明の実施形態に係るチャットセッション制御委任処理について説明する。
図10は、本発明の実施形態に係るチャットセッション制御委任処理1000の一例を示す図である。上述したように、本発明の一態様では、本発明の実施形態に係るチャットシナリオの処理を所定の外部システムに委任することができる。このチャットセッション制御委任処理は、例えば、チャットシナリオ内ユーザから情報が取得され、当該情報を基に外部システム内で何らかの処理を行い、その処理の結果をシナリオに返却する場合等に有効である。これにより、例えば外部システムでの処理時間が長い場合には、チャットシナリオの制御を外部システムに委任することで、チャットセッションの期間切れ等による情報喪失を避けることができる。
なお、図10に示すチャットセッション制御委任処理1000は、例えば図2に示すシナリオ委任管理部250によって行われてもよい。
チャットセッション制御委任処理1000は、例えばチャットシナリオの外部システム220への委任を誘発するシナリオ委任誘発情報に基づいて開始されてもよい。このシナリオ委任誘発情報は、例えば、外部システム220での処理が必要である旨を示す情報、チャットシナリオの対話状態が所定の対話状態に一致することを示す情報等であってもよい。このシナリオ委任誘発情報は、例えば実行中のチャットボットからシナリオ委任管理部に転送されてもよい。
まず、ステップ1010では、所定の外部システム220へのシナリオ制御委任が可能か否かが判定される。この判定は、外部システム220の使用可能なコンピューティング資源の状況や、現在外部システム220で実行中の処理等によって行われてもよい。例えば、委任の対象となるシナリオに対して所定の類似度基準(例えば、同一のチャットシナリオ)を満たすチャットシナリオが既に外部システム220において実行中と判定された場合には、委任が中止されてもよい。一方、委任の対象となるシナリオに対して所定の類似度基準を満たすチャットシナリオが既に外部システム220において実行中でない場合には、委任処理が進む、本処理はステップ1020に進んでもよい。
次に、ステップ1020では、委任の対象となるチャットシナリオを開始するための開始IDが発行されてもよい。この開始IDは、例えば専用の一意なキー情報(文字列等)であってもよい。また、この開始IDには、対象となるチャットシナリオ内でチャットボットと対話しているユーザ情報も含まれており、シナリオの開始時には当該ユーザ情報を用いることで対話をシームレスに移行することができる。
次に、ステップ1030では、委任の対象となるチャットシナリオの開始ID及び当該チャットシナリオの制御(シナリオを制御するための専用API、許可等)が外部システム220に委任される。この制御の委任は、例えば、外部システム220のAPIの実行や外部システム220のデータベースへのデータの登録によって実施される。
次に、ステップ1040では、シナリオ委任管理部は、外部システム220からのシナリオ開始要求を待つ。このシナリオ開始要求は、ステップ1020で発行された開始IDを含み、チャットシナリオの開始の許可を要求する情報である。また、このシナリオ開始要求は、例えば外部システム220の開始用のAPIを介して行われてもよい。あるいは、シナリオ委任管理部は、定期的に外部システム220の状態(実行中の処理、使用可能なコンピューティング資源等)を監視し、外部システム220の状態が所定の状態になった時(十分なコンピューティング資源が使用可能になった時等)にシナリオを開始させてもよい。
なお、以上では、外部システム220に制御を委任するチャットシナリオが事前に決定されていることを前提として説明したが、本発明はそれに限定されず、外部システム220自体が希望のチャットシナリオを複数の利用可能なチャットシナリオの中から選択してもよい。この場合には、外部システム220は、開始IDと共に、希望のチャットシナリオを特定するシナリオIDをシナリオ開始要求として送信してもよい。
次に、ステップ1050では、シナリオ委任管理部は、外部システム220からのシナリオ開始要求を受信したと判定した場合、本処理はステップ1060へと進む。また、シナリオ委任管理部は、外部システム220からのシナリオ開始要求を受信していない(例えば、1分、5分、1時間等の所定時間以内に)と判定した場合には、ステップ1040へと戻り、待ち続けてもよく、委任処理を中止してもよい。
次に、ステップ1060では、シナリオ委任管理部は、受信したシナリオ開始要求に含まれる開始IDが、ステップ1020で外部システム220に対して発行した開始IDに一致するか否かを判定する。シナリオ委任管理部は、外部システムからの開始IDが、ステップ1020で外部システム220に対して発行した開始IDに一致すると判定した場合、本処理はステップ1070へと進む。また、シナリオ委任管理部は、外部システムからの開始IDが、ステップ1020で外部システム220に対して発行した開始IDに一致しないと判定した場合、本処理は終了する。
次に、ステップ1070では、シナリオ委任管理部は、受信したシナリオ開始要求に含まれる開始IDに基づいて、シナリオを開始するユーザ(当該シナリオ内でチャットボットと対話しているユーザ)の情報を、例えばチャットシナリオに定義されているスロットから取得し、取得した情報を外部システム220に送信する。この情報は、例えば、ユーザがこれまで対話において入力した情報、希望しているサービスを指定する情報等であってもよい。
次に、ステップ1080では、シナリオ委任管理部は、委任の対象となるチャットシナリオを外部システム220に開始させる。ここでは、シナリオ委任管理部は、例えば、シナリオの開始を許可する情報等を外部システム220に送信してもよい。
次に、ステップ1090では、外部システム220は、委任の対象となるチャットシナリオを、ステップ1070で取得したユーザ情報に該当するユーザに対して実行する。
なお、チャットシナリオの処理が終了した際には、委任されたシナリオの制御が外部システム220からチャットボット制御装置(例えば、図2に示すチャットボット制御装置230)へと返却される。
以上説明したように、本発明の実施形態に係るチャットボット制御装置は、特定のチャットシナリオの制御を所定の外部システムに委任することができる。これにより、例えばチャットボットと対話しているユーザに対して何等かの処理(人事採用におけるヒアリング等)を外部システム内で行う場合や、ユーザが求めるサービスが直接に外部システムに提供される場合(ホテル予約等)には、チャットシナリオの制御を外部システムに委任することで、ユーザのニーズをより効率良く対応することができる。
次に、図11を参照して、本発明の実施形態に係るチャットセッション制御手段を施設予約に適用した場合の具体例について説明する。
図11は、本発明の実施形態に係るチャットセッション制御手段を施設予約に適用した場合の具体例1100を示す図である。上述したように、本発明の実施形態に係るチャットシナリオ生成処理は様々な分野に応用することが可能であり、その一例として、貸し会議室や公共機関、イベントなどの施設予約があげられる。
これは、例えば、チャットボットとのやり取りを通じて、施設の予約を希望するユーザのヒアリング(利用用途などの確認)を行い、ヒアリングに合格するユーザが、施設を予約できる状況に該当する。
まず、ステップ1110では、施設の予約を応募しているユーザが、所定のSNSツールを介して、チャットボットとの対話を開始し、予約申し込みをチャットボット制御装置230に送信する。ここでの予約申し込みは、例えば「会議室を探しています」や「テニスをしたい」等の自然言語で構成されるメッセージであってもよい。また、この応募申し込みは、ユーザがどのような条件の施設(内容、人数、用途、予約時間等)を探しているかを指定する情報を含んでもよい。
次に、ステップ1120では、チャットボット制御装置230は、ステップ1110で受信した予約申し込みの希望条件を満たす施設を検索する。ここでは、チャットボット制御装置230は、外部システム230に格納されているデータベース(例えば、施設マスタ)に対して当該検索を実施してもよい。その後、検索された施設の情報がユーザに送信され、ユーザから希望の施設が選択され、チャットボット制御装置230に返送される。
次に、ステップ1130では、チャットボット制御装置230は、ユーザに予約の内容(人数、用途、希望時間、利用資格)をユーザから取得し、外部システム220のデータベース(例えば、ヒアリングマスタ)から取得したヒアリング基準を用いてヒアリング(審査)を行う。ヒアリングの結果が合格の場合には、本処理はステップ1140に進み、ヒアリングの結果が不合格の場合には、本処理は終了する。
なお、ここで、チャットボット制御装置230は、ユーザに選択された施設に基づいて、予約内容を取得するためのチャットシナリオを、本発明の実施形態に係るチャットシナリオ生成処理に従って動的に生成してもよい。このチャットシナリオは、例えば、外部システムのデータベースから取得した情報に基づいて生成されてもよい。
次に、ステップ1140では、チャットボット制御装置230は、ステップ1130で行ったヒアリングの結果を外部システム220に送信する。次に、ステップ1150では、外部システム1150は、ヒアリングの結果を取得する。
次に、ステップ1160では、合格したユーザの情報が、例えば所定のRPA(Robotics Process Automation)手段により、外部システム220の予約管理システムに登録される。また、ここでは、ユーザへ送る回答文言は予約管理システムから取得されてもよい。
次に、ステップ1170では、ヒアリングの結果、ユーザのステータス(合格、採用、追加ヒアリング等)、及びユーザへ送る回答文言(施設の予約日程調整を行うためのURL)が外部システム220のヒアリングデータベースに登録される。また、ステップ1180では、外部システム220は、ヒアリングの結果、ユーザのステータス、及びユーザへ送る回答文言をチャットボット制御装置230に送信する。
次に、ステップ1190では、チャットボット制御装置230は、外部システム220から取得したヒアリングの結果、ユーザのステータス、及びユーザへ送る回答文言をユーザに送信し、施設の予約日程調整の案内を行う。
このように、外部システム220の最新の情報(施設情報、募集している施設の条件)に基づいたチャットシナリオを動的に生成し、リアルタイムでユーザに提供することにより、それぞれの施設毎に異なるチャットシナリオを事前に生成することが不要となり、施設側の事情が変わるたびにチャットシナリオを更新する必要もない。そのため、シナリオを手動で開発する労力を省けることができる上、ユーザをより素早くかつ柔軟に対応することが可能となる。
次に、図12を参照して、本発明の実施形態に係るチャットセッション制御手段を施設予約に適用した場合の、チャットボットとのやり取りの一例について説明する。
図12は、本発明の実施形態に係るチャットセッション制御手段を施設予約に適用した場合の、ユーザとチャットボットとのチャットセッションにおける対話1200の画面の一例を示す図面である。
図12に示すように、ユーザとチャットボットとの対話1200は、チャットボットからの第1の発話1210と、ユーザからの発話1220と、チャットボットからの第2の発話1230とを含む。
チャットボットからの第1の発話1210では、チャットボットは、これまでの対話(図示せず)でユーザから取得した情報を、ユーザに確認してもらうために、プロンプトの発話を送信している。この情報は、例えば図12に示すように、ユーザの希望施設、用途、人数、利用資格の確認等を含んでもよい。
なお、これらの情報をユーザから取得するためのチャットシナリオは、例えば上述したチャットシナリオ生成処理に基づいて動的に生成されたシナリオであってもよい。
チャットボットからの第1の発話1210を受信したユーザは、この内容を決定する旨のメッセージをユーザからの発話1220としてチャットボットに返送する。
その後、チャットボットは、ユーザから受信した情報(予約内容等)を審査するヒアリングを行うために、上述したシナリオ委任制御を開始し、ユーザに待機する旨のメッセージをチャットボットからの第2の発話1230として送信する。
上述したように、このシナリオ委任制御では、ユーザから受信した情報(予約内容等)が所定の外部システムに送信され、当該シナリオの制御が当該外部システムに委任される。そして、外部システムでのヒアリングが終了した後、シナリオ委任制御のセッションが終了し、当該シナリオの制御がチャットボット制御装置に復帰する。
このように、本発明の実施形態に係るチャットシナリオの動的生成処理及びシナリオ制御委任処理を用いることにより、最新のデータに基づいたチャットシナリオをリアルタイムで提供することが可能となり、より柔軟かつ効率的にユーザを対応することができる。
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
200 チャットボット制御システム
210 携帯端末
212 バス
215 通信ネットワーク
220 外部システム
231 プロセッサ
232 I/Oインターフェース
233 ネットワークインターフェース
234 ユーザI/Oインターフェース
235 ストレージ部
240 メモリ
242 外部データ取得部
244 シナリオ生成部
246 シナリオ実行部
248 シナリオ化成功判定部
250 シナリオ委任管理部

Claims (12)

  1. チャットボット制御装置であって、
    ユーザとチャットボットとのチャットセッションにおいて、前記ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データを所定の外部システムから取得する外部データ取得部と、
    チャットシナリオの生成パターンを規定する所定のシナリオ化ロジックを用いて、前記チャットシナリオ作成用データに基づいて、前記ユーザと前記チャットボットとの対話の遷移を指定する第1のチャットシナリオを生成するシナリオ生成部と、
    前記第1のチャットシナリオを前記チャットセッションにおいて実行するシナリオ実行部と、
    を含むチャットボット制御装置。
  2. 前記チャットセッションは、
    起動時に呼び出される静的シナリオであるメインシナリオと、
    前記メインシナリオ内に実行されるサブシナリオとを含み、
    前記第1のチャットシナリオは、
    前記メインシナリオにおけるサブシナリオとして実行する、
    ことを特徴とする請求項1に記載のチャットボット制御装置。
  3. 前記シナリオ生成部は、
    前記外部システムから取得した前記チャットシナリオ作成用データを、当該チャットシナリオに該当するユースケースを基に事前に作成された第1の定義構造にマッピングすることで前記チャットシナリオ作成用データに基づいた第2の定義構造を生成し、
    前記第2の定義構造をコンピュータプログラムとして実装することで前記第1のチャットシナリオを生成する、
    ことを特徴とする請求項2に記載のチャットボット制御装置。
  4. 前記シナリオ生成部は、
    前記外部システムから取得した前記チャットシナリオ作成用データを、前記チャットセッションにおける遷移のルールを定義する所定の方式に基づいて定義構造に変換することで前記第2の定義構造を生成する、
    ことを特徴とする請求項3に記載のチャットボット制御装置。
  5. 前記第1のチャットシナリオは前記外部システムに格納されており、
    前記外部データ取得部は、
    前記第1のチャットシナリオを前記外部システムから取得し、
    前記シナリオ実行部は、
    前記外部システムから取得した前記第1のチャットシナリオを前記チャットセッションにおいて実行する、
    ことを特徴とする請求項1に記載のチャットボット制御装置。
  6. 前記外部データ取得部は、
    Robotics Process Automation手段を用いて、前記チャットシナリオ作成用データを前記外部システムから取得する、
    ことを特徴とする請求項1に記載のチャットボット制御装置。
  7. 前記チャットボット制御装置は、
    チャットシナリオ生成が成功したか否かを判定するシナリオ化成功判定部を更に含み、
    前記シナリオ化成功判定部は、
    前記第1のチャットシナリオを、前記チャットボット制御装置に応じた定義構造を指定する成功判定データと比較し、
    前記第1のチャットシナリオが、前記成功判定データに対して所定の類似度基準を満たす場合には、前記第1のチャットシナリオの生成が成功したと判定し、前記第1のチャットシナリオを前記シナリオ実行部に転送し、
    前記第1のチャットシナリオが、前記成功判定データに対して所定の類似度基準を満たさない場合には、前記第1のチャットシナリオの生成が成功していないと判定され、生成が成功していない旨のエラーメッセージを所定の通知先に通知する、
    ことを特徴とする請求項1に記載のチャットボット制御装置。
  8. 前記チャットボット制御装置は、
    前記チャットセッションに含まれる特定のチャットシナリオの前記外部システムへの委任を管理するシナリオ委任管理部を更に含み、
    前記シナリオ委任管理部は、
    前記特定のチャットシナリオの前記外部システムへの委任を誘発するシナリオ委任誘発情報を受信すると、
    前記特定のチャットシナリオに対して所定の類似度基準を満たすチャットシナリオが既に前記外部システムにおいて実行中か否かを判定し、
    前記特定のチャットシナリオに対して所定の類似度基準を満たすチャットシナリオが既に前記外部システムにおいて実行中でないと判定した場合、
    前記特定のチャットシナリオを開始するための開始IDを前記外部システムに送信し、
    前記外部システムから、前記開始IDを含む開始要求を受信すると、
    前記開始IDに該当するチャットシナリオである前記特定のチャットシナリオに関する情報を前記外部システムに送信し、開始させる、
    ことを特徴とする請求項1に記載のチャットボット制御装置。
  9. 前記開始要求は、
    前記開始IDと共に、複数の利用可能なチャットシナリオの内、前記特定のシナリオを識別するシナリオIDを含む、
    ことを特徴とする請求項6に記載のチャットボット制御装置。
  10. チャットボット制御方法であって、
    ユーザとチャットボットとのチャットセッションにおいて、前記ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データを所定の外部システムから取得する工程と、
    チャットシナリオの生成パターンを規定する所定のシナリオ化ロジックを用いて、前記チャットシナリオ作成用データに基づいて、前記ユーザと前記チャットボットとの対話の遷移を指定する第1のチャットシナリオを生成する工程と、
    前記第1のチャットシナリオを前記チャットセッションにおいて実行する工程と、
    を含むチャットボット制御方法。
  11. チャットボット制御システムであって、
    前記チャットボット制御システムにおいて、
    ユーザが利用する携帯端末と、前記ユーザとチャットボットとが対話するためのチャットセッションを提供するチャットボット制御装置と、チャットシナリオを生成するためのチャットシナリオ作成用データを格納する外部システムとが通信ネットワークを介して接続されており、
    前記チャットボット制御装置は、
    前記ユーザと前記チャットボットとの前記チャットセッションにおいて、前記ユーザから、前記携帯端末を介して入力された第1の入力に基づいて、チャットシナリオ作成用データを前記外部システムから取得する外部データ取得部と、
    チャットシナリオの生成パターンを規定する所定のシナリオ化ロジックを用いて、前記チャットシナリオ作成用データに基づいて、前記ユーザと前記チャットボットとの対話の遷移を指定する第1のチャットシナリオを生成するシナリオ生成部と、
    前記第1のチャットシナリオを前記チャットセッションにおいて実行するシナリオ実行部と、
    を含むチャットボット制御システム。
  12. コンピュータ可読記憶媒体に格納されているチャットボット制御コンピュータプログラムであって、
    前記チャットボット制御コンピュータプログラムは、
    ユーザとチャットボットとのチャットセッションにおいて、前記ユーザからの第1の入力に基づいて、チャットシナリオを生成するためのチャットシナリオ作成用データを所定の外部システムから取得する工程と、
    チャットシナリオの生成パターンを規定する所定のシナリオ化ロジックを用いて、前記チャットシナリオ作成用データに基づいて、前記ユーザと前記チャットボットとの対話の遷移を指定する第1のチャットシナリオを生成する工程と、
    前記第1のチャットシナリオを前記チャットセッションにおいて実行する工程と、
    をコンピュータに実行させるチャットボット制御コンピュータプログラム。

JP2020010185A 2020-01-24 2020-01-24 チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム Active JP7405629B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2020010185A JP7405629B2 (ja) 2020-01-24 2020-01-24 チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム
PCT/JP2020/033387 WO2021149296A1 (ja) 2020-01-24 2020-09-03 チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム
US17/793,898 US11799804B2 (en) 2020-01-24 2020-09-03 Chat bot control device, chat bot control method, and chat bot control device system
US18/369,160 US12021802B2 (en) 2020-01-24 2023-09-16 Chat bot control device, chat bot control method, and chat bot control device system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020010185A JP7405629B2 (ja) 2020-01-24 2020-01-24 チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム

Publications (3)

Publication Number Publication Date
JP2021117690A true JP2021117690A (ja) 2021-08-10
JP2021117690A5 JP2021117690A5 (ja) 2022-11-17
JP7405629B2 JP7405629B2 (ja) 2023-12-26

Family

ID=76991842

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020010185A Active JP7405629B2 (ja) 2020-01-24 2020-01-24 チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム

Country Status (3)

Country Link
US (2) US11799804B2 (ja)
JP (1) JP7405629B2 (ja)
WO (1) WO2021149296A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7007007B1 (ja) * 2021-09-29 2022-02-14 株式会社オアース 自動応答プログラム構築システム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115249359B (zh) * 2021-09-16 2023-03-31 达闼科技(北京)有限公司 讲解方法、机器人、电子设备和存储介质
CN115941782B (zh) * 2023-01-09 2023-06-13 杭州实在智能科技有限公司 基于rpa与聊天机器人的消息推送方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8972494B2 (en) 2006-01-19 2015-03-03 International Business Machines Corporation Scheduling calendar entries via an instant messaging interface
US9043407B1 (en) 2009-06-12 2015-05-26 Avaya Inc. Interactive user interface to communication-enabled business process platforms method and apparatus
US8818926B2 (en) * 2009-09-29 2014-08-26 Richard Scot Wallace Method for personalizing chat bots
US9378290B2 (en) * 2011-12-20 2016-06-28 Microsoft Technology Licensing, Llc Scenario-adaptive input method editor
US9647968B2 (en) 2015-03-25 2017-05-09 Pypestream Inc Systems and methods for invoking chatbots in a channel based communication system
US10469665B1 (en) * 2016-11-01 2019-11-05 Amazon Technologies, Inc. Workflow based communications routing
US10796217B2 (en) * 2016-11-30 2020-10-06 Microsoft Technology Licensing, Llc Systems and methods for performing automated interviews
US11580350B2 (en) * 2016-12-21 2023-02-14 Microsoft Technology Licensing, Llc Systems and methods for an emotionally intelligent chat bot
US10366168B2 (en) * 2017-01-12 2019-07-30 Microsoft Technology Licensing, Llc Systems and methods for a multiple topic chat bot
US20180203851A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Systems and methods for automated haiku chatting
JP6676564B2 (ja) 2017-02-27 2020-04-08 株式会社日立製作所 開発支援システムおよび方法
US20180324116A1 (en) * 2017-05-08 2018-11-08 Alexandru George VADUVA Method and system for organizing chat content
US11586960B2 (en) * 2017-05-09 2023-02-21 Visa International Service Association Autonomous learning platform for novel feature discovery
JP7081099B2 (ja) 2017-09-11 2022-06-07 富士フイルムビジネスイノベーション株式会社 情報処理装置、プログラム及び制御方法
US20230308405A1 (en) * 2018-08-30 2023-09-28 Livechat Software S.A Intelligent System Enabling Automated Scenario-Based Responses in Customer Service
US11379883B2 (en) * 2019-08-09 2022-07-05 SOCI, Inc. Systems, devices, and methods for dynamically generating, distributing, and managing online communications
US11544744B2 (en) * 2019-08-09 2023-01-03 SOCI, Inc. Systems, devices, and methods for autonomous communication generation, distribution, and management of online communications
US11444893B1 (en) * 2019-12-13 2022-09-13 Wells Fargo Bank, N.A. Enhanced chatbot responses during conversations with unknown users based on maturity metrics determined from history of chatbot interactions
US20220358539A1 (en) * 2021-05-05 2022-11-10 Alexey Bozhin Systems and methods for managing advertisements in social networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7007007B1 (ja) * 2021-09-29 2022-02-14 株式会社オアース 自動応答プログラム構築システム

Also Published As

Publication number Publication date
WO2021149296A1 (ja) 2021-07-29
US11799804B2 (en) 2023-10-24
JP7405629B2 (ja) 2023-12-26
US20230132894A1 (en) 2023-05-04
US12021802B2 (en) 2024-06-25
US20240007422A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
WO2021149296A1 (ja) チャットボット制御装置、チャットボット制御方法、及びチャットボット制御装置システム
US10742814B1 (en) Workflow based communications routing
US11488601B2 (en) Dependency graph conversation modeling for use in conducting human-to-computer dialog sessions with a computer-implemented automated assistant
CA2980907C (en) Transactional conversation-based computing system
CN110622126B (zh) 通过自动化助理来提供对用户控制资源的访问
EP2860944B1 (en) Network appliance architecture for unified communication services
US8787553B2 (en) Implementing a network of intelligent virtual service agents to provide personalized automated responses
KR20200007882A (ko) 자동 비서를 위한 명령 번들 제안 제공
KR102155764B1 (ko) 액션에 대한 엔티티를 결정하고 그리고 액션 및 엔티티에 관련된 하나 이상의 컴퓨터 액션들을 수행하기 위해 촉구들에 대한 사용자 응답들의 촉진 및 분석의 자동화된 생성을 위한 방법 및 장치
CN110337660B (zh) 针对用户生活事件的上下文应用组织器框架
JP2008547128A (ja) セマンティックリッチオブジェクトによる動的なユーザエクスペリエンス
JP2021117690A5 (ja)
CN110574104A (zh) 自动助理数据流
CA3176197A1 (en) System and method for personalization as a service
US11423451B1 (en) Speech processing procurement system
US10929485B1 (en) Bot search and dispatch engine
JP6797212B2 (ja) ユーザのコンピューティングデバイスのユーザインターフェースデバイスを介したユーザとのダイアログの自動起動および適合
Meliones et al. DALÍ: A digital assistant for the elderly and visually impaired using Alexa speech interaction and TV display
US20180218305A1 (en) Method, system and computer program product for facilitating task automation at a service desk
US11837215B1 (en) Interacting with a virtual assistant to receive updates
CN110447026B (zh) 用于在新的域中提供自动化助理的开发人员平台
Skorikov et al. Voice-controlled intelligent personal assistant
US20220405630A1 (en) Intelligent oversight of multi-party engagements
Chiong et al. Development of a smart tourism information chatbot for Mauritius
JP7509302B1 (ja) サーバ装置、サーバ装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231214

R150 Certificate of patent or registration of utility model

Ref document number: 7405629

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150