(57)【要約】  実施形態は、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするためのシステムおよび方法を提供する。ユーザと訓練されたインテリジェンスボットとの間のチャットセッションの開始後に、１つ以上の発話を受信することができる。訓練されたインテリジェンスボットを用いて発話を処理することにより、複数の予め定められたインテントのうちのあるインテントを解決することができ、インテリジェンスボットは、予め定められたインテントを、これら予め定められたインテントの各々に対応付けられた訓練データに基づいて解決するように訓練される。解決したインテントに対応付けられた、予め定められたダイアログフローを、インテリジェンスボットを用いてナビゲートすることができ、インテリジェンスボットは、ユーザにまたはチャットセッションに対応付けられたコンテキスト変数を用いてユーザをダイアログフローを通してガイドする。ダイアログフローのナビゲートまたはコンテキスト変数のうちの１つ以上に基づいて生成された取り出し要求を用いてインテリジェンスボットが取り出した企業データをユーザに提供することができる。
2022502721.tif 000002
【特許請求の範囲】
【請求項１】
訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするための方法であって、前記方法は、
ユーザと訓練されたインテリジェンスボットとの間のチャットセッションの開始後に、前記ユーザから１つ以上の発話を受信するステップと、
前記訓練されたインテリジェンスボットを用いて前記発話を処理することにより、複数の予め定められたインテントのうちのあるインテントを解決するステップとを含み、前記インテリジェンスボットは、ユーザの発話から、予め定められたインテントを、前記予め定められたインテントの各々に対応付けられた訓練データに基づいて解決するように訓練され、
前記解決したインテントに対応付けられた、予め定められたダイアログフローを、前記インテリジェンスボットを用いてナビゲートするステップを含み、前記インテリジェンスボットは、前記ユーザにまたは前記チャットセッションに対応付けられたコンテキスト変数を用いて前記ユーザを前記ダイアログフローを通してガイドし、
前記ダイアログフローの前記ナビゲートまたは前記コンテキスト変数のうちの１つ以上に基づいて生成された取り出し要求を用いて前記インテリジェンスボットが取り出した企業データを前記ユーザに提供するステップを含む、方法。
【請求項２】
前記解決したインテントに対応付けられた前記訓練データは、前記解決したインテントを示すユーザ発話の複数の例を含む、請求項１に記載の方法。
【請求項３】
前記予め定められたダイアログフローは、前記ユーザからの前記取り出し要求のパラメータを取得するように前記インテリジェンスボットを構成し、前記パラメータは、前記予め定められたダイアログフローに対応付けられた前記解決したインテントに基づく、請求項１に記載の方法。
【請求項４】
前記ダイアログフローは、前記ダイアログフローについての状態、遷移、および変数を含むデータ定義ドキュメントによって定められる、請求項３に記載の方法。
【請求項５】
前記予め定められたダイアログフローをナビゲートするステップは、前記取り出し要求のパラメータを入力するよう前記ユーザを促す前記インテリジェンスボットから予め設定されたメッセージを生成するステップを含む、請求項４に記載の方法。
【請求項６】
前記予め設定されたメッセージは、前記ダイアログフローを定める前記データ定義ドキュメント内の状態間の遷移中に前記インテリジェンスボットが生成する、請求項５に記載の方法。
【請求項７】
複数の前記状態のうちの少なくとも第１の状態から複数の前記状態のうちの第２の状態に遷移することは、前記インテリジェンスボットが前記第１の状態で生成した第１の予め設定されたメッセージに応じた前記ユーザからの入力に基づく、請求項６に記載の方法。
【請求項８】
前記データ定義ドキュメントは、前記第１の予め設定されたメッセージに応じた前記ユーザからの入力が第１のカテゴリのときは前記第１の状態から前記第２の状態への遷移を定め、前記第１の予め設定されたメッセージに応じた前記ユーザからの入力が第２のカテゴリのときは前記第１の状態から第３の状態への遷移を定める、請求項７に記載の方法。
【請求項９】
前記予め定められたダイアログフローのナビゲートに基づくユーザ入力に応じてバッチプロセスをトリガするステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記バッチプロセスは、前記予め定められたダイアログフローのナビゲート中に受けたユーザ承認、または、前記予め定められたダイアログフローのナビゲート中に受けた企業情報に対するユーザ編集に応じて決まる、請求項９に記載の方法。
【請求項１１】
訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするためのシステムであって、前記システムは、
プロセッサと、
前記プロセッサによって実行される命令を格納するメモリとを備え、前記命令は、前記プロセッサを、
ユーザと訓練されたインテリジェンスボットとの間のチャットセッションの開始後に、前記ユーザから１つ以上の発話を受信するように構成し、
前記訓練されたインテリジェンスボットを用いて前記発話を処理することにより、複数の予め定められたインテントのうちのあるインテントを解決するように構成し、前記インテリジェンスボットは、ユーザの発話から、予め定められたインテントを、前記予め定められたインテントの各々に対応付けられた訓練データに基づいて解決するように訓練され、さらに、
前記解決したインテントに対応付けられた、予め定められたダイアログフローを、前記インテリジェンスボットを用いてナビゲートするように構成し、前記インテリジェンスボットは、前記ユーザにまたは前記チャットセッションに対応付けられたコンテキスト変数を用いて前記ユーザを前記ダイアログフローを通してガイドし、さらに、
前記ダイアログフローの前記ナビゲートまたは前記コンテキスト変数のうちの１つ以上に基づいて生成された取り出し要求を用いて前記インテリジェンスボットが取り出した企業データを前記ユーザに提供するように構成する、システム。
【請求項１２】
前記解決したインテントに対応付けられた前記訓練データは、前記解決したインテントを示すユーザ発話の複数の例を含む、請求項１１に記載のシステム。
【請求項１３】
前記予め定められたダイアログフローは、前記ユーザからの前記取り出し要求のパラメータを取得するように前記インテリジェンスボットを構成し、前記パラメータは、前記予め定められたダイアログフローに対応付けられた前記解決したインテントに基づく、請求項１１に記載のシステム。
【請求項１４】
前記ダイアログフローは、前記ダイアログフローについての状態、遷移、および変数を含むデータ定義ドキュメントによって定められる、請求項１３に記載のシステム。
【請求項１５】
前記予め定められたダイアログフローをナビゲートすることは、前記取り出し要求のパラメータを入力するよう前記ユーザを促す前記インテリジェンスボットから予め設定されたメッセージを生成することを含む、請求項１４に記載のシステム。
【請求項１６】
前記予め設定されたメッセージは、前記ダイアログフローを定める前記データ定義ドキュメント内の状態間の遷移中に前記インテリジェンスボットが生成する、請求項１５に記載のシステム。
【請求項１７】
複数の前記状態のうちの少なくとも第１の状態から複数の前記状態のうちの第２の状態に遷移することは、前記インテリジェンスボットが前記第１の状態で生成した第１の予め設定されたメッセージに応じた前記ユーザからの入力に基づく、請求項１６に記載のシステム。
【請求項１８】
前記データ定義ドキュメントは、前記第１の予め設定されたメッセージに応じた前記ユーザからの入力が第１のカテゴリのときは前記第１の状態から前記第２の状態への遷移を定め、前記第１の予め設定されたメッセージに応じた前記ユーザからの入力が第２のカテゴリのときは前記第１の状態から第３の状態への遷移を定める、請求項１７に記載のシステム。
【請求項１９】
前記プロセッサはさらに、前記予め定められたダイアログフローのナビゲートに基づくユーザ入力に応じてバッチプロセスをトリガするように構成される、請求項１１に記載のシステム。
【請求項２０】
プロセッサによって実行されると、前記プロセッサに、訓練されたインテリジェンスボットを用いたダイアログフローのナビゲートを行わせる命令が格納された、非一時的なコンピュータ読取可能媒体であって、前記命令は、実行されると、前記プロセッサに、
ユーザと訓練されたインテリジェンスボットとの間のチャットセッションの開始後に、前記ユーザから１つ以上の発話を受信することを実行させ、
前記訓練されたインテリジェンスボットを用いて前記発話を処理することにより、複数の予め定められたインテントのうちのあるインテントを解決することを実行させ、前記インテリジェンスボットは、ユーザの発話から、予め定められたインテントを、前記予め定められたインテントの各々に対応付けられた訓練データに基づいて解決するように訓練され、さらに、
前記解決したインテントに対応付けられた、予め定められたダイアログフローを、前記インテリジェンスボットを用いてナビゲートすることを実行させ、前記インテリジェンスボットは、前記ユーザにまたは前記チャットセッションに対応付けられたコンテキスト変数を用いて前記ユーザを前記ダイアログフローを通してガイドし、さらに、
基づいて生成された取り出し要求を用いて前記インテリジェンスボットが取り出した企業データを前記ユーザに提供することを実行させる、非一時的なコンピュータ読取可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本願は、２０１８年１０月２２日出願の米国仮特許出願第６２／７４８，９２９号に基づく優先権を主張し、その開示全体を本明細書に引用により援用する。
【０００２】
分野
本開示の実施形態は、概してダイアログフローをナビゲートするための機械学習ツールに関する。
【背景技術】
【０００３】
背景
人工知能（「ＡＩ」）の実装は、教師あり学習に基づく予測から顔認識まで、具体的な利点を生み出してきた。しかしながら、システムごとに異なることが多い実装固有の問題等の、ＡＩにまつわる課題は残っている。たとえば、ＡＩシステムを用いた人間と機械との対話は依然として不十分な点が多い。加えて、企業、クライアント、または個人にとって具体的な価値のある結果等の、有益な結果を生み出すＡＩソリューションに到達するのが困難な場合がある。それ故に、期待された一貫性のある有益な結果をもたらし得るＡＩツールは、このようなシステムのユーザにとって有用であろう。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
本開示の実施形態は、概して、関連技術を実質的に改善する、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするためのシステムおよび方法に向けられている。ユーザと訓練されたインテリジェンスボットとの間のチャットセッションの開始後に、１つ以上の発話をユーザから受信することができる。訓練されたインテリジェンスボットを用いて発話を処理することにより、複数の予め定められたインテントのうちのあるインテントを解決し、インテリジェンスボットは、ユーザの発話から、予め定められたインテントを、これら予め定められたインテントの各々に対応付けられた訓練データに基づいて解決するように訓練される。解決したインテントに対応付けられた、予め定められたダイアログフローを、インテリジェンスボットを用いてナビゲートすることができ、インテリジェンスボットは、ユーザにまたはチャットセッションに対応付けられたコンテキスト変数を用いてユーザをダイアログフローを通してガイドする。ダイアログフローのナビゲートまたはコンテキスト変数のうちの１つ以上に基づいて生成された取り出し要求を用いてインテリジェンスボットが取り出した企業データをユーザに提供することができる。
【０００５】
実施形態の特徴および利点は、以下の説明に記載されている、または、この記載から明らかであろう、または、本開示の実施から知り得るものである。
【０００６】
その他の実施形態、詳細、利点、および変形は、添付の図面とともに考慮されるべき好ましい実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【０００７】
【図１】実施形態の一例に係る、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするためのシステムを示す図である。
【図２】実施形態の一例に係る、システムに作動的に結合されたコンピューティングデバイスのブロック図を示す。
【図３】実施形態の一例に係るダイアログフローを実現する図を示す。
【図４】実施形態の一例に係る、訓練されたインテリジェンスボットおよびビジネスロジックを用いてダイアログフローを実現するためのシステムを示す図である。
【図５Ａ】実施形態の一例に係る、クラウドサービスクライアントを用いてダイアログフローを実現するためのシステムコンポーネントを示す図である。
【図５Ｂ】実施形態の一例に係る、ウェブロジックコンテナを用いてダイアログフローを実現するためのシステムコンポーネントを示す図である。
【図６Ａ】実施形態の一例に係るダイアログフローの一例を示す図である。
【図６Ｂ】実施形態の一例に係るダイアログフローの一例を示す図である。
【図６Ｃ】実施形態の一例に係るダイアログフローの一例を示す図である。
【図７】実施形態の一例に係る、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするためのフロー図を示す。
【図８】実施形態の一例に係る、本明細書に開示される、改善された供給アクションを含む、サプライヤ、在庫、およびロジスティックスの統合システムを示す図である。
【発明を実施するための形態】
【０００８】
詳細な説明
実施形態は、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートする。いくつかの実施形態において、ユーザと、訓練されたインテリジェンスボット等の訓練されたＡＩコンポーネントとの間のチャットセッションを開始することができる。たとえば、ユーザは、所定の構成の企業ソフトウェアアプリケーション等のソフトウェアアプリケーションとインターフェイスしている場合がある。このソフトウェアアプリケーションの構成は、このソフトウェアアプリケーションによって表示されるデータと、ユーザが閲覧している、解析中の、そうでなければ選択されたデータの、クロスセクションと、ユーザＩＤまたはロールと、その他任意の適切な構成情報とを含み得る。いくつかの実施形態において、そのようなソフトウェアアプリケーション構成情報は、コンテキストとして知られているものであってもよい。
【０００９】
ユーザは、訓練されたインテリジェンスボットと対話しているときに、インテントを有する場合がある。たとえば、ユーザは、企業アプリケーションを使用しているとき、特定の企業データを取り出すこと、特定のデータを処理もしくは解析すること、または、バッチソフトウェアプロセスもしくはその他何らかの機能、これらを組み合わせたもの、もしくはその他任意の適切なインテントを実行することを、所望する場合がある。いくつかの実施形態において、インテリジェンスボットを、ユーザが入力したテキストまたはユーザの発話に基づいて複数のインテントのうちのあるインテントを解決するように、訓練することができる。たとえば、インテリジェンスボットを、複数のインテントの各々についてのテキスト例を用いて訓練することができ、したがって、それらの例を活用することで、ユーザの発話からインテントを解決することができる。インテリジェンスボットに送ることができるソフトウェアアプリケーションコンテキストを用いてインテントを解決することもできる。
【００１０】
いくつかの実施形態において、解決したインテントに対応付けられた、予め定められたダイアログフローを、インテリジェンスボットによってナビゲートすることができる。たとえば、このインテントに対応付けられたダイアログフローを、マークアップ言語データドキュメント（またはその他のデータ記述言語ドキュメント）の場合のように定めることができる。いくつかの実施形態において、データドキュメントは、ダイアログフローについて、変数、状態、および遷移を定めることができる。インテリジェンスボットは、予め定められたダイアログフローに基づいて、ユーザとの間でメッセージをやり取りすることができる。いくつかの実施形態において、インテリジェンスボットは状態遷移に従ってダイアログフローをナビゲートするが、この状態遷移は、インテリジェンスボットのメッセージに対してユーザが与えるレスポンスに基づく。
【００１１】
いくつかの実施形態において、ダイアログフローのナビゲートは、機能の実行をトリガすることができる。たとえば、取り出し要求（たとえばクエリ）を生成することにより、企業データを取り出すことができ、この取り出し要求についてのパラメータは、ダイアログフローのナビゲート中にユーザから与えられたレスポンスおよび／またはソフトウェアアプリケーションコンテキストに基づく。別の例において、ユーザ介入／編集に基づいて調整されたまたはユーザ承認を含むプロセス等のソフトウェアプロセス（たとえばバッチプロセス）を、トリガすることができ、ダイアログフローは、ソフトウェアプロセスに関連する、ユーザ介入、編集、および／または承認を含み得る。いくつかの実施形態において、これらの機能のうちの１つ以上がダイアログフローのナビゲーションに含まれ得る。
【００１２】
次に、その例が添付の図面に示されている本開示の実施形態について詳細に述べる。以下の詳細な説明では、本開示の十分な理解のために数多くの具体的な詳細が記載されている。しかしながら、これらの具体的な詳細がなくても本開示を実施し得ることが当業者には明らかであろう。その他の場合において、周知の方法、手順、コンポーネント、および回路は、実施形態の局面を不必要に曖昧にしないよう、詳細には説明していない。可能な限り、同様の参照番号を同様の要素に使用する。
【００１３】
図１は、実施形態の一例に係る、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするためのシステムを示す。システム１００は、サービスコンポーネント１０２と、ウェブロジックコンテナ１０４と、ボットサービス１０６とを含む。いくつかの実施形態において、サービスコンポーネント１０２は、ウェブロジックコンテナ１０４および／またはボットサービス１０６と通信するクライアントを提供することにより、ダイアログフローをナビゲートすることができる。たとえば、サービスコンポーネント１０２を介してユーザとのチャットセッションを開始することができ、ウェブロジックコンテナ１０４およびボットサービス１０６はこのチャットセッションのための機能を提供することができる。
【００１４】
ある実施形態において、ボットサービス１０６は、チャットセッションのために訓練されたインテリジェンスボットを提供することができる。ある実施形態において、ウェブロジックコンテナ１０４は、このセッションのチャットサーバをホストする、および／またはダイアログフローをナビゲートするために使用されるカスタムビジネスロジックコンポーネントを実現することができる。サービスコンポーネント１０２、ウェブロジックコンテナ１０４、およびボットサービス１０６を組み合わせて使用することにより、訓練されたインテリジェンスボットがユーザとのダイアログフローをナビゲートする、ユーザとのチャットセッションを実現することができる。その他任意の適切なフレームワーク、コンポーネント、または複数のコンポーネントの組み合わせを同様に実現することができる。
【００１５】
図２は、実施形態に係るコンピュータサーバ／システム２００のブロック図である。システム２００のすべてまたは一部を用いることにより、図１に示される要素のうちのいずれかを実現してもよい。図２に示されるように、システム２００は、プロセッサ２２２およびメモリ２１４等のシステム２００の各種コンポーネント間で情報を伝達するように構成されたバスデバイス２１２および／またはその他の通信機構（複数の通信機構）を含み得る。加えて、通信デバイス２２０は、ネットワーク（図示せず）を介してプロセッサ２２２から別のデバイスに送信されるデータを符号化しネットワークを介して別のシステムから受信したプロセッサ２２２に対するデータを復号することにより、プロセッサ２２２と他のデバイスとの間の接続を可能にすることができる。
【００１６】
たとえば、通信デバイス２２０は、ワイヤレスネットワーク通信を提供するように構成されたネットワークインターフェイスカードを含み得る。赤外線、無線、ブルートゥース（登録商標）、Ｗｉ−Ｆｉ（登録商標）、および／またはセルラー通信を含む、さまざまなワイヤレス通信技術を使用することができる。これに代えて、通信デバイス２２０は、イーサネット（登録商標）接続等の有線ネットワーク接続を提供するように構成されてもよい。
【００１７】
プロセッサ２２２は、システム２００の計算および制御機能を実行する１つ以上の汎用または専用プロセッサを含み得る。プロセッサ２２２は、マイクロ処理デバイス等の単一の集積回路を含み得る、または、プロセッサ２２２の機能を実現するために協働する複数の集積回路デバイスおよび／または回路基板を含み得る。加えて、プロセッサ２２２は、メモリ２１４に格納されたオペレーティングシステム２１５、ＡＩモジュール２１６、およびその他のアプリケーション２１８等のコンピュータプログラムを実行することができる。
【００１８】
システム２００は、情報と、プロセッサ２２２が実行する命令とを格納するためのメモリ２１４を含み得る。メモリ２１４は、データの取り出し、提示、修正、および格納のための、さまざまなコンポーネントを含み得る。たとえば、メモリ２１４は、プロセッサ２２２によって実行されると機能を提供するソフトウェアモジュールを格納してもよい。モジュールは、システム２００のためのオペレーティングシステム機能を提供するオペレーティングシステム２１５を含んでいてもよい。モジュールは、オペレーティングシステム２１５と、本明細書に開示されるダイアログフローのナビゲートおよびその他すべての機能を実行するように構成されたＡＩモジュール２１６と、その他のアプリケーションモジュール２１８とを含み得る。オペレーティングシステム２１５は、システム２００のためのオペレーティングシステム機能を提供する。いくつかの場合において、ＡＩモジュール２１６は、インメモリ構成として実現されてもよい。いくつかの実装例において、システム２００は、ＡＩモジュール２１６の機能を実行するときに、本明細書に開示されている機能を実行する、従来にない専用コンピュータシステムを実現する。
【００１９】
非一時的なメモリ２１４は、プロセッサ２２２がアクセスし得るさまざまなコンピュータ読取可能媒体を含み得る。たとえば、メモリ２１４は、ランダムアクセスメモリ（「ＲＡＭ」）、ダイナミックＲＡＭ（「ＤＲＡＭ」）、スタティックＲＡＭ（「ＳＲＡＭ」）、読出専用メモリ（「ＲＯＭ」）、フラッシュメモリ、キャッシュメモリ、および／またはその他任意の種類の非一時的なコンピュータ読取可能媒体の、任意の組み合わせを含み得る。プロセッサ２２２はさらに、液晶ディスプレイ（「ＬＣＤ」）等のディスプレイ２２４にバス２１２を介して結合される。キーボード２２６およびコンピュータマウス等のカーソルコントロールデバイス２２８が、さらに通信デバイス２２０に結合されて、ユーザがシステム２００とインターフェイスできるようにする。
【００２０】
いくつかの実施形態において、システム２００は、より大きなシステムの一部であってもよい。したがって、システム２００は、追加機能を含むために１つ以上のその他の機能モジュール２１８を含み得る。その他のアプリケーションモジュール２１８は、たとえば、オラクル（登録商標）クラウドインフラストラクチャ（Cloud Infrastructure）、オラクル（登録商標）クラウドプラットフォーム（Cloud Platform）、オラクル（登録商標）クラウドアプリケーション（Cloud Application）のさまざまなモジュールを含み得る。ＡＩモジュール２１６、その他のアプリケーションモジュール２１８、およびシステム２００のその他任意の適切なコンポーネントは、オラクル（登録商標）リテールアドバンストサイエンスクラウドサービス（Retail Advanced Science Cloud Service）、オラクル（登録商標）インテリジェンスボット（Intelligence Bot）、オラクル（登録商標）デジタルアシスタント（Digital Assistant）、およびその他の適切なフレームワーク／サービスのさまざまなモジュールを含み得る。
【００２１】
データベース２１７は、バス２１２に結合されて、モジュール２１６および２１８のための集中型ストレージを提供するとともに、たとえば、データＡＩモジュール２１６またはその他のデータソースを格納する。データベース２１７は、論理的に関連付けられた記録またはファイルを一体的に収集したものにデータを格納することができる。データベース２１７は、オペレーショナルデータベース、アナリティカルデータベース、データウェアハウス、分散型データベース、エンドユーザデータベース、外部データベース、ナビゲーションデータベース、インメモリデータベース、ドキュメント指向データベース、リアルタイムデータベース、リレーショナルデータベース、オブジェクト指向データベース、非リレーショナルデータベース、ＮｏＳＱＬデータベース、Ｈａｄｏｏｐ（登録商標）分散ファイルシステム（distributed file system）（「ＨＤＦＳ」）、または、当該技術で周知の他の任意のデータベースであってもよい。
【００２２】
単一システムとして示されているが、システム２００の機能は分散型システムとして実現されてもよい。たとえば、メモリ２１４およびプロセッサ２２２を、集合的にシステム２００を表す複数の異なるコンポーネントに分散させてもよい。一実施形態において、システム２００はデバイス（たとえば、スマートフォン、タブレット、コンピュータなど）の一部であってもよい。ある実施形態において、システム２００は、デバイスから分離していてもよく、このデバイスの開示されている機能を遠隔から提供してもよい。さらに、システム２００の１つ以上のコンポーネントが含まれていなくてもよい。たとえば、ユーザまたはコンシューマデバイスとしての機能の場合、システム２００は、プロセッサとメモリとディスプレイとを含むスマートフォンまたはその他のワイヤレスデバイスであってもよく、図２に示されるその他のコンポーネントのうちの１つ以上を含んでおらず、アンテナ、トランシーバ、またはその他任意の適切なワイヤレスデバイスコンポーネント等の、図２に示されていない追加のコンポーネントを含む。さらに、システム２００は、本明細書に開示されている機能を実行するように実現される場合、ＡＩチャットセッション機能を提供するように特別に構成された、専用コンピュータである。
【００２３】
図３は、実施形態の一例に係る、ダイアログフローを実現する図を示す。たとえば、図３は、ダイアログフロー３１０が、インテント３０２と、発話３０４と、エンティティ３０６と、ビジネスロジック３０８とを含むことを示している。たとえば、インテリジェンスボットおよび／またはその他のシステムコンポーネントを組み合わせたものは、インテント３０２、発話３０４、エンティティ３０６、およびビジネスロジック３０８を用いることにより、ダイアログフロー３１０をナビゲートすることができる。
【００２４】
いくつかの実施形態において、インテリジェンスボットとのチャットセッション中に、発話３０４をユーザから受信することができる。訓練されたインテリジェンスボットは、発話３０４を用いて、複数のインテントのうちのインテント３０２を認識することができる。たとえば、インテントは、典型的なユーザ要求およびステートメントまたは発話３０４の順列であってもよい。いくつかの実施形態において、インテリジェンスボットは、訓練されて、所定のインテントを、この所定のインテントを示すテキスト例を用いて、認識することができる。訓練されたインテリジェンスボットは、このインテリジェンスボットを訓練するために使用されたインテント３０２のための例に、発話３０４が似ている場合に、複数のインテントのうちのインテント３０２を認識することができる。多数の発話例のセットは、ユーザが何を望んでいるかをインテリジェンスボットが理解することを可能にする。たとえば、発話から「ボストンというロケーションについての最適化結果を示して下さい」というインテントを認識しその他の予め定められたインテントと区別することができる。
【００２５】
インテントにより、インテリジェンスボットは、ユーザがインテリジェンスボットに何をして欲しいのかを理解することができる。たとえば、インテントは、典型的なユーザ要求を、ボットが実行するタスクおよびアクションに基づいて分類することができる。小売最適化の企業アプリケーションを使用する実施形態に対するサンプルインテントは、最適化サマリレビューという直接要求に対応付けられた最適化サマリインテントであってもよい。
【００２６】
いくつかの実施形態において、インテントは、特定のアクションについての発話の集まりに基づいた、たとえばテキストのロバストなデータセット（たとえば十数個〜二十数個の発話）に基づいた認識に対して作成することができる。発話の集まりは、訓練されたインテリジェンスが曖昧なユーザ入力を解釈できるように、変更されてもよい。たとえば、多数の発話のセットは、構造、トーン、シンタックスなどが異なるユーザメッセージから、ユーザが何を望むかをインテリジェンスボットが理解することを可能にする。
【００２７】
インテントは、ユースケースを説明するものとみなすこともできる。なぜなら、インテントは、インテリジェンスボットがそのユーザによる完了を支援する各種アクションを記述するからである。インテントは、インテリジェンスボットができることを記述するだけではなく、インテントはまた、インテリジェンスボットにより、ユーザ入力の認識のために使用される。なぜなら、各インテントは、対応付けられた発話のセットを有するからである。以下にインテントの例を示す。
・インテントは、典型的な価格設定ユーザについて作成することができる。
・例外管理。たとえば、ユーザは、利幅改善が５％未満の部門のロケーションを見ることを要求できる。
・承認プロセス。たとえば、値引きが４０％を上回る実行についての価格推奨を拒絶する、または、収入の５％の改善を示すすべてのバッチ実行を承認する。
・重要業績評価メトリクスを再計算する。たとえば、値引きが７０％を上回る推奨を拒絶し、メトリクスを再計算する。
【００２８】
認識されたインテントは、このインテントのダイアログフローを定めるデータドキュメント（たとえばマークアップ言語ドキュメントまたはデータ記述言語ドキュメント）に対応付けることができる。たとえば、インテント３０２は、変数、状態、および遷移を含むデータドキュメントに対応付けることができる。エンティティ３０６はインテント３０２のコンテキストであってもよく、このコンテキストをデータドキュメントとともに使用することにより、ダイアログフローをナビゲートする。たとえば、インテントは単語および語句を特定のアクションにマッピングするのに対し、エンティティはインテント自体にコンテキストを追加する。これらは、インテントを一層十分に記述しインテリジェンスボットがユーザ要求を満たすことができるようにするのに役立つ。エンティティ３０６の一例は、「ボストンというロケーションについての最適化結果を見せて下さい」という発話におけるボストンというロケーションである。
【００２９】
いくつかの実施形態において、データドキュメントは、ダイアログフローをナビゲートするのに使用される変数を含み得る。たとえば、ダイアログフローは、企業データの特定のクロスセクションを取り出すことを含み得る。よって、変数は企業データのクロスセクションを定めるパラメータを含み得る。一例において、データドキュメントは、所望のデータを返すことを求める取り出し要求を構成するために、パラメータについての１つ以上の値をインテリジェンスボットが取得するように、構成されてもよい。
【００３０】
いくつかの実施形態において、ユーザ変数はダイアログフローをナビゲートするために使用することもできる。たとえば、ユーザ変数は、ユーザＩＤ、ロール、プリファレンスなどを含み得る。ソフトウェアアプリケーションまたはソフトウェアアプリケーションのステータスについてのコンテキスト変数等のその他の変数を送ることにより、ダイアログフローをナビゲートすることもできる。たとえば、セッションおよび／またはユーザスコープ変数（user scoped variables）をダイアログフローにおいて定めることができる。これらの変数は、ソフトウェアアプリケーションとインテリジェンスボットエンジンとの間で情報を（たとえばＲＥＳＴ  ＡＰＩを介して）伝達するために使用されるカスタムコンポーネントの一部であってもよい。
【００３１】
いくつかの実施形態において、変数は、英数字の値、電子メールアドレス、特定の時間、継続時間、電話番号、統一資源ロケータなどを含み得る。また、変数は値のリストを含み得るものであり、それは、同様のコンセプトを示し得るユーザ入力のリスト、エンティティリスト等であり、それは、エンティティ、導き出された変数−ある変数は別の変数から導き出される、または、ユーザ入力における予め定められたパターンをインテリジェンスボットが特定できるようにする通常の表現の、スーパーセット等である。エンティティ３０６は、これらの変数のうちの１つ以上を含み得る。
【００３２】
ビジネスロジック３０８は、ダイアログフローをナビゲートしユーザに対してアクションを実行するためにインテリジェンスボットが使用するビジネスインテリジェンスを含み得る。たとえば、データドキュメント内でコールされたいくつかの状態、遷移、および／または機能は、ビジネス上の考慮に従って、たとえば、取り出すことが所望される企業データのデータスキーマに従って、またはダイアログフローをナビゲートすることにより構成されているバッチプロセスの構造に従って、またはその他任意の適切な考慮に従って、構成することができる。いくつかの実施形態において、インテリジェンスボットは、トランザクションデータストアからデータを返すときおよび／またはビジネスロジックを実行するときに、企業データベースからロケーション：ボストンについてのサマリー結果をフェッチするインテリジェンスボットのインスタンス等のカスタムコンポーネントを使用することができる。
【００３３】
いくつかの実施形態において、データドキュメントは、マークアップ言語ドキュメントであってもよい。たとえば、データドキュメントは、予め定められたYAML Ain't Markup Language（「ＹＡＭＬ」）構造を実現することができ、インテリジェンスボットは、予め定められたＹＡＭＬ構造に基づいてダイアログフローをナビゲートするように構成される。その他任意の適切なデータドキュメントを同様に実現することができる。
【００３４】
以下は、ピザの注文の簡略化バージョンに関連する解決されたインテントについてのデータドキュメント定義の一例であり、このデータドキュメントを用いてインテリジェンスボットを構成することによりユーザとのダイアログフローをナビゲートしてピザの注文を満たす。
【００３５】
【表１】
2022502721.tif 000003
2022502721.tif 000004
【００３６】
以下は、本開示の各種実施形態に記載されている、企業ソフトウェアの実現に関連する解決されたインテントのデータドキュメント定義の別の例である。
【００３７】
【表２】
2022502721.tif 000005
2022502721.tif 000006
2022502721.tif 000007
2022502721.tif 000008
2022502721.tif 000009
【００３８】
いくつかの実施形態において、ダイアログフローのこの例は、コンテキストと、デフォルト遷移と、状態とを含み得るものであり、また、カスタムコンポーネント（たとえば外部コンポーネントおよび／または企業ソフトウェアアプリケーションのコンポーネントとの通信に使用される）を含み得る。以下は、ダイアログフローにおけるカスタムコンポーネントの例（たとえば、commonGreetingおよびretailOptimization）である。たとえば、各コンポーネントは、プロパティを、アクションを実行するために（たとえばボットサービスから）カスタムコンポーネントに送られる変数として取り込むことができる。いくつかの実施形態において、カスタムコンポーネントは、要求の処理後に、コンテキスト変数を更新してレスポンスでボットサービスに送信することができる。
【００３９】
【表３】
2022502721.tif 000010
【００４０】
インテント３０２、発話３０４、エンティティ３０６、およびビジネスロジック３０８を組み合わせて用いることにより、ダイアログフロー３１０をナビゲートするおよび／またはユーザに対して関連するアクションを実行することができる。いくつかの実施形態において、インテリジェンスボットは、小売データウェアハウス（たとえば企業データを格納するデータベース）とやり取りし質問をすることによって重要業績評価指標（key performance indicator：「ＫＰＩ」）およびビジネス業績をレビューするための小売会話型ＡＩ設定におけるような、トランザクションボットであってもよい。これらのインテリジェンスボットは、会話を通してコンテキストを維持することができるとともに、小売企業アプリケーションフロー内で統合することができる。これらのインテリジェンスボットにより、小売業者は、ＵＩワークフロー内でインタラクティブな会話を行うことができるようになり、エンドユーザには、ＫＰＩを伴う単純なテキストメッセージ、ユーザ選択についての複数選択肢、またはシステム状態に基づいた他の画面への案内等の、企業アプリケーション内の変化するレスポンスが与えられる。図６Ａ〜図６Ｃは、実現の一例を示すものを提供する。
【００４１】
いくつかの実施形態において、チャットセッションを、ボイスアシスタント（たとえば、Echo（登録商標）、Google Home（登録商標）、Chrome（登録商標）ボイスアシスタントなど）、機械学習技術（たとえば自然言語処理）、および企業ソフトウェア（たとえばオラクル（登録商標）小売オファー最適化（Retail Offer Optimization）など）と、統合することができる。このような実現により、企業ソフトウェアアプリケーションの典型的なユーザの労力を減じることができ、かつ、複雑なビジネスプロセスユースケースの扱いを含むことができる。
【００４２】
企業小売ソフトウェアの現在のバージョンにおいて、価格設定の決定／最適化等の複雑なビジネスユースケースは、ボイスアシスタント／インテリジェンスボットと統合されて複雑なワークフロー／ビジネスプロセスの質問を処理する訳ではない。たとえば、小売アパレルの価格推奨を管理するバイヤーまたはマネージャは、例外管理（たとえば、価格推奨に基づく利幅改善が５％未満の部門のロケーションを見せて下さい）、複雑な承認プロセス（たとえば、４０％を上回る価格推奨を拒絶し、重要業績評価メトリクスを再計算し、ターゲット指定オファーをプラチナカスタマーに送る）、またはオンザフライアグリゲーション（たとえば、米国、ドイツの利幅改善とは？）等のユースケースに興味を持つであろう。いくつかの実施形態において、ユーザは、音声起動型デバイスに対する特定の質問（発話）を言語で表現することができ、（たとえばオラクル（登録商標）インテリジェントボット（Intelligent Bot）によって実現される）自然言語処理（Natural Language Processing：「ＮＬＰ］）アルゴリズムを用いて発話をテキストに変換しインテント／エンティティにマッピングすることができる。いくつかの例において、インテント／エンティティが解決されダイアログフローがナビゲートされると、適切なプロセスを実行して情報を返すことができる価格設定ソリューションをコールすることができる（たとえばオラクル（登録商標）小売オファー最適化）。
【００４３】
実施形態は、ユーザが、特定の複雑なビジネスプロセスに着手する一方で音声起動機能に基づいて企業ビジネスソフトウェアアプリケーションに対して自然言語で話しかけることができるようにする機能を追加するのに必要な、ユーザの労力を減じることができる。たとえば、このようなソフトウェアの典型的なユーザであるビジネスユーザは、そのビジネスユースケースに関して企業ビジネスソフトウェアアプリケーションに話しかけることができる。
【００４４】
実施形態は、たとえば価格設定ソフトウェアソリューションにおいて、典型的なユーザについて生じる特定の質問に回答するための、（たとえばオラクル（登録商標）デジタルアシスタントを用いて実現される）訓練され統合されたインテリジェンスボットを含む。たとえば、小売アパレルの価格推奨を管理するバイヤーまたはマネージャは、以下のようなユースケースに興味を持つかもしれない。
・例外管理。たとえば、ユーザは、利幅改善が５％未満の部門のロケーションを見ることを要求できる。
・承認プロセス。たとえば、値引きが４０％を上回る実行についての価格推奨を拒絶する、または、収入の５％の改善を示すすべてのバッチ実行を承認する。
・重要業績評価メトリクスを再計算する。たとえば、値引きが７０％を上回る推奨を拒絶し、メトリクスを再計算する。
・Ｑ＆Ａ。この統合は、ユーザから最も頻繁に出される質問に回答するのに役立つ。たとえば、ユーザはプロモーションについて尋ねることができ、Ｑ＆Ａタブは関連質問および「プロモーション」という用語に関連する回答を提示する。
【００４５】
いくつかの実施形態は以下を含み得る。
１．ユーザはボイスアシスタントを（たとえばマイクの記号をクリックすることにより）有効にすることができる。
２．ユーザは音声起動型デバイスに対して特定の質問（発話）を話しかけることができる。
３．発話はＮＬＰアルゴリズムを用いてテキストに変換することができ、その後、インテントおよび対応するエンティティをこの発話から解決することができる。たとえば、訓練されたインテリジェンスボットを用いることにより、上記ユースケースについてのインテントを認識することができる。また、訓練されたインテリジェンスボットを用いることにより、適切なフォローアップ質問を行ってインテントに到達することもできる。
４．インテント／エンティティが解決されると、ダイアログフローをナビゲートすることができるとともに、企業ソフトウェアアプリケーション（たとえばオラクル（登録商標）小売オファー最適化）をコールすることができ、これが次に適切なプロセスを実行する。
５．プロセスが完了すると、企業ソフトウェアアプリケーションは情報を返すことができる。
【００４６】
さまざまなユースケースに対して１つ以上のインテントを作成することにより、ユーザが関連機能を実現するのを支援することができる。加えて、１つ以上のインテリジェンスボットを訓練することにより、作成されたインテントを認識することができる。たとえば、ユーザは、承認基準を満たさない部門のロケーションを見ることを要求できる、または、ユーザは、利幅改善が５％未満の部門のロケーションを見ることを要求できる。本明細書に記載のように、各インテントについて発話例を提供することにより、インテリジェンスボットを訓練することができる。
【００４７】
実施形態は複数の訓練技術を実現することができる。たとえば、ＮＬＰに基づく言語学を用い与えられた発話例のセットに基づいて生成規則テンプレートの組み合わせを導き出すＴｒａｉｎｅｒ  Ｈｔ技術を用いることができる。これは、インテリジェンスボットの高速デプロイメントに役立ち得るものであり、かつ、極めて正確な予測をもたらすことができる。Ｔｒａｉｎｅｒ  Ｈｔは、小規模訓練コーパス（たとえば作成された１つのインテントについて１０〜２０の発話）に使用することができ、ＮＬＰに基づく言語学を活用することによってインテントを認識することができ、かつ、マッチングルールを用いてテンプレートを作成しインテントを区別することができる。
【００４８】
もう１つの訓練技術であるＴｒａｉｎｅｒ  Ｔｍは、より多くの会話データを利用できる場合に使用することができる。Ｔｒａｉｎｅｒ  Ｔｍは、インテント予測の一般化が望ましく開発者が会話フローについて品質初期データセットを構築している場合に、良く適合する。これらのモデルは、分類されていない大量のテキストから教師なし学習を実行することにより、小売企業アプリケーションにおいてエンドユーザが時間をかけて収集したデータに基づいて、ユーザインテント予測のためのコンテキスト依存のマッピングを生成することが可能な、アルゴリズムの組み合わせを用いることができる。
【００４９】
価格設定ソリューションに固有の訓練データを提供すること以外に、その他の適切なＮＬＰ処理技術を同様に使用してもよく、それはたとえば各インテントに属するサンプル語句だけでなくそれらに類似する語句も認識する技術である。たとえば、オラクル（登録商標）デジタルアシスタントが実現するＮＬＰ技術を用いることができる。いくつかの実施形態において、単語解析および意味解析を実行するＮＬＰアルゴリズムを活用することができる。たとえば、マッチエンジンは、ユーザ表現またはステートメントを文法的にかつ意味的に解析することによってユーザのインテントを理解できる。
【００５０】
いくつかの実施形態において、ＮＬＰ技術は、スペル訂正、見出語認定（たとえば、単語の形態は、見出語として知られている単語の１つの一般形態または基底形に対応付けることができる）、ステミング（たとえば基底語を導き出すために単語の端を削除することができ、たとえばｃａｔｓはｃａｔとなる）、同義語探索、上位語および下位語解析（たとえば、それぞれ一種のクラスである親子関係のようなものであり、たとえば色は赤の上位語でありスプーンはカトラリーの（ある種の）下位語）、複数の単語単位の検出、語彙の曖昧さの解消（たとえば特定の産業部門およびユーザについての知識を用いて曖昧さを解消する、たとえば金融分野において銀行（bank）は川の土手ではなく金融機関を意味する）、意味論解析、およびその他の適切なＮＬＰ技術を含み得る。
【００５１】
訓練に加えて、エンティティをインテントについて定めてもよい。たとえば、いくつかの場合において、コンテキストを用いることにより、インテリジェンスボットがユーザ要求を満たすことができるようにしてもよい。ユースケースおよび要求に応じて、ロケーション、商品などのようなエンティティを追加できる。たとえば、承認基準を満たさない実行を見出すことに関連するインテントの場合、ロケーション、部門というエンティティを含めることができる。
【００５２】
訓練およびエンティティが定められると、カスタムビジネスロジックおよび／または機能等（たとえばＲＥＳＴ  ＡＰＩコール）のカスタムコンポーネントを統合することができる。実施形態は、データドキュメント（たとえばマークアップ言語データドキュメントまたは同様のデータ定義ドキュメント）を用いてダイアログフローを定めることを含み、インテリジェンスボットは、訓練、エンティティ、カスタムコンポーネント／ビジネスロジック、および定められたデータドキュメントを用いることにより、ユーザとのダイアログフローをナビゲートすることができる。
【００５３】
図４は、実施形態の一例に係る、訓練されたインテリジェンスボットおよびビジネスロジックを用いてダイアログフローを実現するためのシステムを示す。このシステムは、企業ＡＩクライアント４０２と、ウェブロジックコンテナ４０４と、ボットサービス４０６と、アドバンストサイエンスクラウドサービスチャットコンポーネント４０８と、ＡＩチャットサーバ４１０と、ボット要求４１２と、イベントウェブフック４１４と、チャネル構成４１６と、サービス構成４１８と、訓練コンポーネント４２０と、ダイアログフロー４２２と、ビジネスロジックコンポーネント４２４と、キャッシュ４２６と、データベース４２８と、カスタムコンポーネントＡＰＩ４３０とを含む。
【００５４】
企業ＡＩクライアント４０２には、質問するまたは質問をタイプしレスポンスを獲得し質問およびユーザに対するレスポンスの履歴をユーザが閲覧できるよう表示する（たとえばチャットディスプレイ）ことができるようにする、音声起動ソリューションが統合されていてもよい。企業ＡＩクライアント４０２は、たとえば、Google（登録商標） Chrome（登録商標）の音声認識キットを用いることにより、音声をテキストに変換することができる、または、その他任意の適切な技術、サービス、もしくはフレームワークを使用することができる。企業ＡＩクライアント４０２を、ユーザワークフローのコンテキストでユーザが質問を出すことができるようにするユーザインターフェイスに（たとえばコンテキストエリアに）表示することができる。このようなクライアントからのクエリの一例は、オファー最適化ワークフローにおけるターゲット指定オファーを閲覧しているときの、「店舗ＸＹＺではどのようなプロモーションが実行されているか」である。また、企業ＡＩクライアント４０２は、ＵＩからのコンテキストをリセットすることにより、企業アプリケーションとの会話をリセットし再スタートする機能を提供することもできる。
【００５５】
ウェブロジックコンテナ４０４およびＡＩチャットサーバ４１０は、クライアントクエリを、アプリケーションコンテキストおよび／またはセキュリティロールをクライアント要求に追加することにより、ボットサービス４０６に中継することができる。たとえば、クライアントクエリは単純な要求であってもよく、または詳細を得るための基準を有するものであってもよく、このようなクエリ基準の一例は、「店舗ＹＹまたは部門ＸＸにおけるプロモーションを示されたい」であってもよい。ウェブロジックコンテナ４０４およびＡＩチャットサーバ４１０はまた、ベースカスタムコンポーネントＡＰＩ４３０、ビジネスロジックコンポーネント４２４、キャッシュ４２６、およびデータベース４２８を用いて、企業データをボットサービス４０６に与えることもできる。
【００５６】
ボットサービス４０６は、会話および遷移状態を定めるダイアログフローの複合物を含み得る。これらのダイアログフローは、ビジネスユースケースに対して構成されていてもよく、内蔵コンポーネントに依拠してもよく、および／または企業固有のコンポーネントに依拠してメッセージを次々と表示し次の状態に移る、コンポーネントによって制御されるナビゲーションを有していてもよい。ボットサービス４０６は、訓練コンポーネント４２０を用いて、ボットの過去の使用において収集されたデータを利用することによりモデルを一括して周期的に訓練することができる。いくつかの実施形態において、これらのコンポーネントレイヤは、（たとえばＲＥＳＴアプリケーションプログラミングインターフェイス（application programming interface：「ＡＰＩ」）を用いて）相互にやり取りすることができ、かつ、メディエータの役割を果たすＡＩチャットサーバ４１０とメッセージ（たとえばＪＳＯＮオブジェクトメッセージ）を共有することができる。メディエータは、Ｊａｖａ（登録商標）企業サーバ上のウェブアプリケーションとしてデプロイすることができる。いくつかの実施形態において、企業アプリケーションは、ログインユーザ、それらのロール、現在ＵＩに表示されているまたはＵＩにナビゲートされるアプリケーションまたはモジュール等の、アプリケーションコンテキストを、ボットサービス４０６と共有することができる。
【００５７】
いくつかの実施形態において、企業ＡＩクライアント４０２は、ボット要求をウェブロジックコンテナ４０４に送信することができ、コンテナはこの要求をボットサービス４０６に中継することができる。チャネル構成４１６および／またはサーバ構成４１８を用いることにより、インテリジェンスボットとのチャットセッションを構成することができる。いくつかの実施形態において、ダイアログフロー（たとえばダイアログフロー４２２）のナビゲーションは、ビジネスロジックコンポーネントを必要とする場合があり、ベースカスタムコンポーネントＡＰＩ４３０、ビジネスロジックコンポーネント４２４、キャッシュ４２６、およびデータベース４２８を用いて、ビジネスオペレーションを実行することおよび／または企業データを返すことができる。イベントウェブフック４１４は、図４に示されるように、情報を中継して企業ＡＩクライアント４０２に返すように構成および使用されてもよい。
【００５８】
いくつかの実施形態において、ベースカスタムコンポーネントＡＰＩ４３０に対するコールの一例は以下を含み得る。
【００５９】
【表４】
2022502721.tif 000011
2022502721.tif 000012
【００６０】
いくつかの実施形態において、コールに対する、ベースカスタムコンポーネントＡＰＩ４３０からのレスポンスの一例（たとえば、データを取り出しおよび／またはビジネスロジックコンポーネント４２４、キャッシュ４２６、データベース２４８でアクションを実行した後）は、以下を含み得る。
【００６１】
【表５】
2022502721.tif 000013
【００６２】
いくつかの実施形態において、ボットサービス４０６は、要求を、カスタムコンポーネントおよび１つ以上のパラメータとともに、さらに、ボットサービスが管理するコンテキスト変数とともに、送信することができる。ベースカスタムコンポーネントＡＰＩ４３０は、関連情報を（たとえばＪＤＢＣを用いてトランザクションデータベースから）取り出すことができる、または、他のコンポーネントと通信してデータをフェッチすることができる。いくつかの実施形態において、送られたパラメータに基づいて、ベースカスタムコンポーネントＡＰＩ４３０は、コンテキスト変数を更新しレスポンスを構築してボットサービス４０６に返信することができる。このレスポンスは、データ、成功またはエラーのレスポンス、および／またはボットサービス４０６が次に行うべきアクションを、含み得る。
【００６３】
いくつかの実施形態において、ユーザチャットは、ボットサービス４０６に送信されるユーザプロンプトで開始することができ、インテントを、ＮＬＰアルゴリズムまたは機械学習モデルを用いて解決する。インテントの解決後、ボットサービス４０６は、１つ以上のコンポーネントを呼び出してリアルタイムの企業データを獲得することができ、このようなデータおよび次の遷移状態は、レスポンスとしてボットサービス４０６に返すことができる。遷移状態を解決することにより、次のアクションを実行するおよび／またはチャットウィンドウに表示されるレスポンスメッセージをユーザに与えることができる。いくつかの実施形態において、レスポンスメッセージは、選択についての複数の選択肢、単純なメッセージであってもよい、または、企業アプリケーションにおいてユーザを別の画面にガイドすることができる。ボットサービス４０６におけるダイアログフローは、インテントが解決されない場合またはユーザを案内するように、または、さらに明確にするようユーザを促すように、構成された、例外フローを有するように設計されてもよい。
【００６４】
図５Ａは、実施形態の一例に係る、クラウドサービスクライアントを用いてダイアログフローを実現するためのシステムコンポーネントを示す。図５Ａはアドバンストサイエンスクラウドサービスチャットコンポーネント４０８を示しており、これは、ＵＩコンポーネント４５０と、音声認識コンポーネント４５３と、カスタム変更コンポーネント４５８と、ＵＩとＡＤＦのインタラクション４５４と、ウェブソケット４５６とを含み得る。ＵＩコンポーネント４５０は、クライアントのインターフェイスにおよび／または企業アプリケーションのＵＩ内に（たとえば図６Ａ〜図６Ｃに示されるチャットウィンドウ）、チャットクライアントを表示することができる。音声認識４５２は、自然言語音声を認識することができ、かつ、Google（登録商標） Chrome（登録商標）の音声認識キット、またはその他任意の適切なコンポーネントを含み得る。カスタム変更４５８は、クライアントにおけるチャットセッションのカスタム実現を含み得る。
【００６５】
たとえば、チャットは、企業アプリケーショングリーティングで、会話のコンテキストを設定することにより、開始することができ、これに、ボットサービス４０６で解明され会話に遷移する発話を続けることができる。カスタム変更４５８は、カスタムグリーティングおよび／またはカスタムリセット条件を実現することにより、コンテキストをリセットできる。たとえば、ＪａｖａＳｃｒｉｐｔ（登録商標）リセット法を追加することで、チャットクライアントからのメッセージをクリアすることができる。メッセージがクリアされると、リセットインテントにマッピングされた「リセット」発話をボットサービス４０６にプッシュすることにより、変数をリセットすることができる。いくつかの実施形態において、ウェブソケット接続の初期化中に、チャットクライアントにＪａｖａＳｃｒｉｐｔのinit helloメッセージを追加してもよい。
【００６６】
いくつかの実施形態において、アプリケーションデータフレームワーク（application data framework：「ＡＤＦ」）は、アプリケーション／ＵＩコンポーネントとやり取りすることができる。たとえば、インテリジェンスボットとの対話中に、メッセージをカスタムコンポーネントからボットサーバ４０６に送信することができ、そうすると、ボットサーバは結果をコールバックとしてチャネルウェブフックに返す。次に、これらのパラメータを複合コンポーネントに送ることができ、そうすると、複合コンポーネントはこれらのパラメータをＪａｖａＳｃｒｉｐｔのペアレントウィンドウに送ることができる（たとえばＡＤＦコンポーネント）。そうすると、このコンポーネントは、バッキングｂｅａｎをコールすることができる（たとえばタスクフローを開くために）。いくつかの実施形態において、ＪａｖａＳｃｒｉｐｔを追加することによって音声をテキストに変換し、次にテキストをボットサーバ４０６にプッシュする。これは、タイプされたテキストメッセージの配信のやり方と同様であってもよい。チャットクライアントは、ウェブソケット４５６を用いてチャットサーバと通信することができる。
【００６７】
図５Ｂは、実施形態の一例に係る、ウェブロジックコンテナを用いてダイアログフローを実現するためのシステムコンポーネントを示す。図５Ｂはウェブロジックコンテナ４０４を示しており、これは、チャット構成４６０と、タスクフロー４６２と、チャットコンテキスト４６４と、チャットＪＳＯＮモデル４６６と、チャットセキュリティ４６８と、メッセージイベント４７０と、ウェブソケットメディエータ４７２と、ベースカスタムコンポーネントＡＰＩ４７４と、ウェブフック４７６と、コンポーネントレジストリ４７８と、クレデンシャルストア４８０と、セキュリティコンテキスト４８２と、ビジネスサービスおよびコンポーネント４８４と、ロールおよびパーミッション４８６とを含み得る。
【００６８】
チャット構成４６０は、チャットを、チャネルｉｄおよびその他関連する構成情報で構成することができる。タスクフロー４６２は、ＵＩコンポーネントおよび企業ソフトウェアアプリケーションに統合するために使用できるタスクフローメタデータを含み得る。チャットコンテキスト４６４は、ユーザコンテキスト、企業アプリケーションコンテキストなどを含む、チャットセッションのためのコンテキストデータを含み得る。チャットＪＳＯＮモデル４６６は、ユーザをガイドするためにインテリジェンスボットを構成するためのデータ記述（たとえばダイアログフローデータドキュメントのデータ記述）を含み得る。
【００６９】
チャットセキュリティ４６８は、閲覧ロールおよびサービスロール（たとえばボットサービス４０６に登録された限定されたユーザに与えられる）を含み得る。クレデンシャルストア４８０は、チャットセッションにおけるセキュリティを管理するために使用されるチャネルシークレットキーを格納することができ、セキュリティコンテキスト４８２は、外部カスタムコンポーネント（たとえば企業アプリケーションのカスタムコンポーネント）によってユーザロールが検証されることを保証することができる。
【００７０】
メッセージイベント４７０は、ユーザとインテリジェンスボットとの間のメッセージ（たとえばボットサービス４０６からコールバックとして受信されるメッセージ）を表すことができる。いくつかの実施形態において、これはセキュアソケットレイヤ（secure sockets layer：「ＳＳＬ」）プロトコルを用いて実現される。ウェブソケットメディエータ４７２は、チャットクライアントからメッセージを受信し、ボットサービス４０６にデータをプッシュすることができる。ベースカスタムコンポーネントＡＰＩ４７４を用いることにより、カスタムコンポーネント（たとえば企業データを返す企業アプリケーションのコンポーネント）からメッセージペイロードを読み出すことができる。ウェブフック４７６はチャネル構成の一部として構成される。コンポーネントレジストリ４７８は、スプリングアプリケーションコンテキストをレジストリとして用いることができ、これは、どのサービス／コンポーネントを共通レイヤから呼び出してビジネスレイヤに委任するかを示すことができる。
【００７１】
いくつかの実施形態では、質疑応答（question and answer：Ｑ＆Ａ）インテリジェンスボットも構成される。Ｑ＆Ａボットは、質問および回答の予め定められたセットに依拠してユーザおよび顧客サービスをコンテキスト質問でガイドすることができる。Ｑ＆Ａボットは、エラスティックサーチに依拠しビルトインルールおよび推測されたルールを用いてインテントを解決することができる。このタイプのボットは、企業ソリューションから素早いレスポンスを得るので、顧客サービスへの関与を最小にすることができ、また、複数の小売業者で繰り消し出される質問に答える際の企業開発チームの関与を少なくすることもできる。
【００７２】
Ｑ＆Ａボットはマスタおよびチャイルドボットを用いて実現することができ、これは、コンテキストセットに基づいて解決することができる。ある実施形態において、企業アプリケーションが小売であり予想およびオファー最適化（Forecasting and Offer Optimization）等のモジュールを有する場合、マスタボットをロジックで構成し特定のインテント解決の場合は特定のＱ＆Ａボットに切り替えればよい。このように、予想およびオファー最適化は混合されるのではなく異なるボットに分離される。
【００７３】
いくつかの実施形態において、カスタムコンポーネントを使用することにより、コンポーネントナビゲーションの後にインテントを解決することができる。たとえば、いくつかのダイアログナビゲーションは、インテリジェンスボットによって解決することができる。コンポーネントナビゲーションの一例は、カスタムコンポーネントが複数のメッセージを順に表示し、次にアクションを用いて次の状態に遷移するようインテリジェンスボットに要求する場合である。以下に実施形態の一例を示す。
ユーザ：最適化の結果を見せて下さい。
ボット：（カスタムコンポーネントをコールし、カスタムコンポーネントは最適化の結果についてのメッセージのリストをメトリクスとともに、さらに質問でユーザを促す次のアクションを返す（結果を承認するまたはコピーする？）
ユーザ：最適化の結果を（再度）見せて下さい
ボット：カスタム制御ナビゲーションではインテリジェンスボットはインテントを正確に解決し表示することができます
（カスタムコンポーネントをコールし、カスタムコンポーネントはメトリクスとともにメッセージのリストを、さらに質問でユーザを促すための次のアクションとともに、提供する（結果を承認するまたはコピーする？）
いくつかの実施形態において、ダイアログフローのナビゲーションは、ダイアログナビゲーションとカスタムコンポーネントナビゲーションとを含み得る。たとえば、ダイアログナビゲーションにおけるインテントはインテリジェンスボットによって解決できる（たとえば定められたダイアログフローおよび発話例を用いて）のに対し、カスタムコンポーネントナビゲーションのインテント解決はカスタムコンポーネントからインテリジェンスボットに転送することができる（本開示に記載のように）。カスタムコンポーネントナビゲーションの上記例において、カスタムコンポーネントは複数のメッセージを順番に表示し（ユーザアクション基準なしで）、ユーザによって促されると、カスタムコンポーネントはインテリジェンスボットを構成してユーザインテントを解決することを担う。いくつかの実施形態において、ダイアログフローのナビゲーションはダイアログナビゲーションとカスタムコンポーネントナビゲーションとを（たとえば組み合わせて）含み得る。
【００７４】
複数のダイアログフロー例のナビゲーションを示すその他のテキスト例は次の通りである。
会話サンプル：全部門の国レベルでのレビュー
ユーザ：「米国内の私の店舗がどのような業績を上げているかを知りたい。」
ボット：「わかりました。店舗の国レベルのメトリクスを見てみたいということのようですね。＜アメリカ、ヨーロッパ、電子商取引ＵＳ＞からロケーションを特定して下さい。
ユーザ：「アメリカ」
ボット：「特定部門または全部門のうちいずれをレビューしたいですか？」
ユーザ：「全部門」
ボット：「指定されたロケーション（複数ロケーション）および全部門の集約されたメトリクスは次の通りです。収入が２７５６４５１．７３６、収入の変動が−１．４９％、売上総利益が１８６８９０１．００３、売上総利益の変動が−３％、実売（sell through）が０．６８６１、実売の変動が１．２８％。」
会話サンプル：選択部門の国レベルでのビュー
ユーザ：「米国内の私の店舗がどのような業績を上げているかを知りたい。」
ボット：「わかりました。店舗の国レベルのメトリクスを見てみたいということのようですね。＜アメリカ、ヨーロッパ、電子商取引ＵＳ＞からロケーションを特定して下さい。
ユーザ：「アメリカ」
ボット：「特定部門または全部門のうちいずれをレビューしたいですか？」
ユーザ：「特定部門」
ボット：「ご興味のある部門は？」
ユーザ：「女性用スポーツウェア」
ボット：「指定されたロケーション（複数ロケーション）および部門（複数部門）の集約されたメトリクスは次の通りです。収入が２７５６４５１．７３６、収入の変動が−１．４９％、売上総利益が１８６８９０１．００３、売上総利益の変動が−３％、実売が０．６８６１、実売の変動が１．２８％。
【００７５】
会話サンプル：例外管理
ユーザ：「承認基準を満たさないロケーションを知りたい。」
ボット：「わかりました。例外の発見にご興味があるようですね。先ず、ご興味のある部門は？」
ユーザ：「女性用スポーツウェア」
ボット：「お探しのメトリクスは、収入改善、利幅改善、実売改善、または実売のいずれでしょうか？」
ユーザ：「実売」
ボット：「実績不振のロケーションを特定するためのしきい値（たとえば１５％）を指定して下さい。」
ユーザ：「１０％」
ボット：「実売が１０％未満の女性用スポーツウェア部門のロケーションは会社です。」
ボット：「この部門およびロケーションについての実行サマリーを知りたいですか？」
ユーザ：「はい。」
ボット：実行「Copy_Of_test」のメトリクスは次の通りです。収入が２７５６４５１．７３６、収入の変動が−１．４９％、売上総利益が１８６８９０１．００３、売上総利益の変動が−３％、実売が０．６８６１、実売の変動が１．２８％。」
ボット：「この実行を承認しますか−イエス／ノー？」
ここでのユーザの回答に応じてフローは異なる。ユーザが「イエス」と言った場合、ユーザは承認ユースケースに導かれる。ユーザが「ノー」と言った場合、ユーザはユースケース再計算に導かれる。
【００７６】
会話サンプル：承認ユースケース
ユーザ：「メトリクスをレビューし今日の実行承認に対処したい。」
ボット：「わかりました。実行の承認にご興味があるようですね。まず、ご興味のあるロケーションは？」
ユーザ：「会社。」
ボット：「ご興味のある部門は？」
ユーザ：「女性用スポーツウェア。」
ボット：実行「Copy_Of_test」のメトリクスは次の通りです。収入が２７５６４５１．７３６、収入の変動が−１．４９％、売上総利益が１８６８９０１．００３、売上総利益の変動が−３％、実売が０．６８６１、実売の変動が１．２８％。」
ボット：「この実行を承認しますか−イエス／ノー？」
ユーザ：「イエス。」
ボット：「この実行は承認され、オファーは顧客に送られました。」
ボット：「オファー最適化アプリケーションについて御用があればお知らせ下さい。」
会話サンプル：ユースケース再計算
ユーザ：「メトリクスをレビューし推奨に何らかの変更を加えるか否かを判断したい。」
ボット：「わかりました。推奨を受け入れるか拒絶するかにご興味があるようですね。先ず、ご興味のあるロケーションは？」
ユーザ：「会社。」
ボット：「ご興味のある部門は？」
ユーザ：「女性用スポーツウェア。」
ボット：「実行「Copy_Of_test」のメトリクスは次の通りです。収入が２７５６４５１．７３６、収入の変動が−１．４９％、売上総利益が１８６８９０１．００３、売上総利益の変動が−３％、実売が０．６８６１、実売の変動が１．２８％。」
ボット：「この実行を承認しますか−イエス／ノー？」
ユーザ：「ノー。」
ボット：「提供されている推奨を受け入れますか／拒絶しますか？−受け入れる／拒絶する。」
ユーザ：「受け入れます。」
ボット：「プロモーション／値下げ推奨を受け入れますか？−プロモーション／値下げ。」
ユーザ：「プロモーション。」
ボット：「プロモーション推奨を受け入れる場合の最大値引率基準は？」
ユーザ：「４０％」
ボット：「４０％未満のプロモーション価格推奨が受け入れられました。」
ボット：「メトリクスを再び再計算して欲しいですか−イエス／ノー？」
ユーザ：「イエス。」
ボット：「この実行はメトリクス再計算のためにサブミットされました。新たなメトリクスを見る場合はボットにクエリして下さい。」
ボット：「オファー最適化アプリケーションについてさらに御用があればお知らせ下さい。」
いくつかの実施形態において、チャットセッションは、企業アプリケーションのコンテキストで開催することができる（たとえば、企業アプリケーションに対応付けられたアクションを実行するおよび／またはデータを取り出すために）。たとえば、企業アプリケーションは、オファー最適化機能（たとえば、オファー最適化付きのオラクル（登録商標）リテールアドバンストサイエンスクラウドサービス）を含み得る。いくつかの実施形態において、企業アプリケーションは、多次元（ディメンション）の企業データモデル等の企業データを含むおよび／またはこの企業データにアクセスすることができる。このようなモデルは、製品、メトリクス、ロケーション、カレンダー、シーズン、部門などのような、データディメンションを含み得る。いくつかの実施形態において、各ディメンションは、複数のメンバ（たとえば、複数の製品、組織メトリクス、ロケーション、カレンダータイミング、シーズン、部門など）を含み得るものであり、いくつかの実装例において、これらのメンバシップのうちの１つ以上がマルチレベル組織構造を有していてもよく、または階層として組織されてもよい（たとえば、製品が製品ラインの下に組織される、特定の組織メトリクスがより一般的なメトリクスの下に組織される、たとえば、店内収益が収益の下に、特定のロケーションがより大きな地理的ロケーションの下に、より細かいカレンダータイミングがより大きなカレンダータイミングの下に、たとえば週が月の下に、具体的な部門がより総合的な部門の下に組織される、など）。
【００７７】
いくつかの実施形態において、これらのディメンションのクロスセクションは、特定の地理的ロケーションの範囲内の店舗における年間のうちの特定の時期の特定の製品ラインの総売上高のような、有用な情報を表すことができる。この例の場合、この情報は、製品、メトリクス、ロケーション、およびカレンダーというディメンションのメンバの指定されたクロスセクション（たとえば、興味の対象であるこれらのディメンション各々に含まれる個々のメンバによって特定されるクロスセクション）に基づいて、取り出すことができる。したがって、企業データにアクセスすることは、場合によっては、多次元データモデルのメンバを特定するパラメータを含み得る。
【００７８】
いくつかの実施形態において、オファー最適化を用いることにより、プロモーション、値下げ、またはターゲット指定オファーについて推奨価格設定を決定することができる。たとえば、プロモーションおよび値下げは、ロケーションレベル（たとえば価格帯）であってもよく、ターゲット指定オファーは、ロケーションを考慮する、および／または各顧客固有のものとすることができる。プロモーション、値下げ、またはターゲット指定オファーのタイミングおよび深さは、製品のライフサイクルにわたる在庫管理に影響する可能性がある。たとえば、オファー最適化は以下のシナリオ例において有用となり得る。
・正規価格の販売期間だけでなくクリアランス期間においても在庫を所望レベルにする。
・製品のライフサイクル全体にわたって売上総利益を最大化する。
・シーズン中の業績を評価する。
・推奨を毎週更新する。そうすることで、新たな売上高、在庫、価格レベル、予定されたプロモーション、およびその他の関連データを含む、最近のデータに基づく意思決定が容易になる。
・ターゲット指定価格推奨をセグメントレベルで提供する。
【００７９】
いくつかの実施形態において、オファー最適化を用いることにより、たとえば百貨店を対象とするバイヤーのビジネス戦略を、価格推奨を生成することで、強化することができる。バイヤーは、ビジネス戦略を指定することができ、プロモーションをいつオファーするか、プロモーションの深さ、プロモーションの一部とみなすべきアイテム、および値下げに関する同様の問いを、特定のビジネスルールおよび在庫レベルに留意して決定することを所望する場合がある。いくつかの実施形態において、オファー最適化は、プロモーションまたは値下げをオファーしたときの利益、および、最適化目的を効率的に達成できる顧客専用のプロモーションをオファーするか否かを考慮した、さまざまな価格の組み合わせを通して行うことができる。最適化が完了すると、この実行は、「レビュー可能」ステータスに入る。ユーザは、（たとえば各アイテムレベルで）推奨をレビューし、この推奨を受け入れるのか、拒絶するのか、または覆すのかを、判断することができる。終了すると、実行ステータスを「レビュー済」に変更することができる。レビュー済の実行は、承認のためにバイヤーに送ることができる。バイヤーがこの推奨を気に入った場合、バイヤーは実行ステータスを「サブミット済」に変更すればよい。たとえば、「サブミット」は価格推奨が価格実行システムまたはソフトウェアアプリケーションに送られることを示し得る。
【００８０】
いくつかの実施形態において、最適化は、設定された処理（または実行）ロケーション、商品レベル、およびカレンダーレベルで実行することができる。最適化が完了すると、商品レベルおよびロケーションレベルに代わり、推奨レベルと呼ばれる、処理レベルよりも低いレベルで、推奨を生成することができる。ロケーションおよび商品レベルはそれぞれロケーション階層および商品階層におけるいずれかのレベルであればよい。実施形態は、次の点を考慮する最適化を含み、すなわち、最適化は実行の商品レベルの１つ下のレベルで行うことができる（たとえば、実行商品レベルが百貨店であれば、各ジョブはクラスレベルである）点、設定された推奨商品レベルにおいて、在庫は所望の推奨商品レベルにロールすることができるおよび／または在庫を複数のまたはすべてのロケーションにわたって集約して実行のロケーションレベルにできる点、価格推奨は推奨商品、ロケーション、ならびにカレンダーレベルおよび顧客セグメントレベルで生成できる点、である。
【００８１】
図６Ａ〜図６Ｃは、実施形態の一例に係るダイアログフローの一例を示す。たとえば、企業アプリケーション６００は、小売オファー最適化アプリケーション等の企業アプリケーションを示す。チャットウィンドウ６０２は、インテリジェンスボットとユーザとの間のダイアログフローのナビゲーションを示し、これは、インテントの解決、企業データのカスタムデータレイヤのナビゲート、企業情報の取り出し、および企業バッチプロセスのトリガを含む。
【００８２】
図７は、実施形態の一例に係る、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートするためのフロー図を示す。一実施形態において、図７の機能は、メモリまたはその他のコンピュータ読取可能もしくは有形の媒体に格納されプロセッサによって実行されるソフトウェアによって実現される。その他の実施形態において、各機能は、ハードウェアによって（たとえば、特定用途向け集積回路（「ＡＳＩＣ」）、プログラマブルゲートアレイ（「ＰＧＡ］）、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）などの使用を通して）実行されてもよく、または、ハードウェアとソフトウェアの任意の組み合わせによって実行されてもよい。実施形態において、図７の機能は、図２のシステム２００の１つ以上の要素によって実行することができる。
【００８３】
７０２において、ユーザと訓練されたインテリジェンスボットとの間のチャットセッションの開始後に、ユーザから１つ以上の発話を受信することができる。たとえば、チャットセッションは、企業アプリケーションとインターフェイスしているユーザと、ボットサービスから提供されるインテリジェンスボットとの間で開始することができる。ユーザのインテントまたはユースケースを示す発話または言語／テキストをユーザから受信することができる。
【００８４】
７０４において、訓練されたインテリジェンスボットを用いて発話を処理することにより、複数の予め定められたインテントのうちのあるインテントを解決することができ、インテリジェンスボットは、ユーザの発話から、予め定められたインテントを、当該予め定められたインテントの各々に対応付けられた訓練データに基づいて解決するように訓練される。たとえば、インテリジェンスボットがその解決のために訓練される各インテントは、一連の発話例または訓練データに対応付けることができる。インテリジェンスボットは、これらの例を用いて訓練することができ、したがって、解決を実施するときに、複数のインテントのうちのあるインテントを区別することができる。
【００８５】
７０６において、インテリジェンスボットは、たとえばユーザの発話に応答してメッセージを生成することができる。７０８において、たとえば、インテリジェンスボットからのプロンプトまたはメッセージに応じたユーザからのレスポンスを受信することができる。このやり取りは、７１０において、解決されたインテントに対応付けられた予め定められたダイアログフローをナビゲートすることを含み得る。
【００８６】
たとえば、インテントは、ダイアログフローをナビゲートするためにインテリジェンスボットが使用する状態、遷移、および変数を定めるデータドキュメント（たとえば予め定められたダイアログフロー）に対応付けることができる。ある実施形態において、この予め定められたダイアログフローは、ユーザからの取り出し要求のパラメータを取得するようにインテリジェンスボットを構成し、このパラメータは、上記予め定められたダイアローグフローに対応付けられた解決したインテントに基づく。たとえば、ダイアログフローのナビゲートは、企業データの取り出しまたは企業バッチプロセスの実行等の、企業アクションに対して使用されるパラメータを確保することを含み得る。
【００８７】
ある実施形態において、予め定められたダイアログフローをナビゲートすることは、取り出し要求のパラメータを入力するようユーザを促すインテリジェンスボットからの予め設定されたメッセージを生成することを含む。たとえば、この予め設定されたメッセージは、ダイアログフローを定めるデータ定義ドキュメント内の状態間の遷移中にインテリジェンスボットが生成することができる。ある実施形態において、複数の状態のうちの少なくとも第１の状態から複数の状態のうちの第２の状態に遷移することは、インテリジェンスボットが第１の状態で生成した第１の予め設定されたメッセージに応じたユーザからの入力に基づいていてもよい。たとえば、データ定義ドキュメントは、第１の予め設定されたメッセージに応じたユーザからの入力が第１のカテゴリのときは第１の状態から第２の状態への遷移を定め、第１の予め設定されたメッセージに応じたユーザからの入力が第２のカテゴリのときは第１の状態から第３の状態への遷移を定めることができる。
【００８８】
７１２において、取り出し要求を生成することにより、ダイアログフローのナビゲートに基づくパラメータを用いて企業データを取り出すことができる。たとえば、企業データは、多次元データのクロスセクションを含み得るものであり、ダイアログフローのナビゲートは、インテリジェンスボットが、この多次元データを取りだすためのパラメータをユーザから取得することを含み得る。次に、カスタム機能（たとえばＲＥＳＴ  ＡＰＩ）をコールすることにより、たとえば企業データストアまたはデータベースから企業データを取りだすことができる。
【００８９】
７１４において、ダイアログフローをナビゲートする一方でバッチプロセスをトリガすることができる。たとえば、バッチプロセスは、最適化された小売オファーについての推奨を承認すること、プロモーション、値下げなどのしきい値等のこのプロセスのパラメータの編集後にオファー最適化プロセスを実行すること、推奨されたオファーまたは推奨するオファーのサブセットを拒絶すること、おのびその他適切なバッチプロセスを、含み得る。
【００９０】
図８は、実施形態の一例に係る、在庫管理を含む、サプライヤ、在庫、およびロジスティックスの統合システムを示す。図８に示されるように、システム８００は、コードを実行することにより企業ロケーション８０１〜８０４の製品のストックを倉庫８８０を用いて管理するとともに倉庫８８０から直接顧客に対して製品を出荷する企業ビジネスシステム８７０を含み得る。企業ビジネスシステム８７０は、クラウドネットワーク８５０またはその他の種類の通信ネットワークを介して１つ以上の在庫システム８２０と通信する。いくつかの実施形態において、企業ビジネスシステム８７０の小売オファー最適化ソフトウェアは、さまざまな製品について最適化されたオファーを生成することができる。在庫システム８２０および倉庫８８０は、これらの最適化されたオファーに基づいて企業ロケーション８０１〜８０４へのおよびこれらのロケーションからの出荷を実行することができる。いくつかの実施形態において、カスタマイズされ訓練されたモデルを使用することで、これらの在庫レベルを改善することにより、より効率的な出荷プロセスを生み出すことができる。
【００９１】
在庫システム８２０は、在庫を保管し、トラック８１０〜８１３またはその他何らかの輸送機構を用いて輸送ロジスティックスを提供することにより、商品を企業ロケーション８０１〜８０４および消費者ロケーション（たとえば消費者の自宅）に届けることができる。一実施形態における在庫システム８２０は、企業アプリケーション専用コンピュータシステムまたは専用在庫コントロールシステムを実現し、このシステムは、小売オファー最適化ソフトウェア等の企業ビジネスシステム８１０からの入力を用いることにより、在庫のレベルを判断するとともに企業ロケーション８０１〜８０４への製品の配送の量およびタイミングを判断する。
【００９２】
倉庫８８０は、在庫システム８２０に基づいて１つ以上の製品を企業ロケーション８０１〜８０４に供給するとともに、製品を消費者ロケーション（たとえば消費者の自宅）に出荷する、フルフィルメント倉庫であってもよい。一実施形態における倉庫８８０は、小売オファー最適化ソフトウェア等の企業ビジネスシステム８１０からの入力を使用する専用コンピュータシステムまたは専用サプライヤシステムを実現することにより、在庫システム８２０および／または企業ロケーション８０１〜８０４への製品の出荷の量およびタイミングを判断する。いくつかの実施形態において、たとえば、企業ロケーション８０１〜８０４への返品に基づいて、倉庫８８０は、企業ロケーションからの出荷を受け入れることにより、たとえば企業ロケーションが供給過剰にならないことを保証するとともに十分な製品の種類を備えることができる。
【００９３】
実施形態は、訓練されたインテリジェンスボットを用いてダイアログフローをナビゲートする。いくつかの実施形態において、ユーザと、訓練されたインテリジェンスボット等の訓練されたＡＩコンポーネントとの間のチャットセッションを開始することができる。たとえば、ユーザは、所定の構成の企業ソフトウェアアプリケーション等のソフトウェアアプリケーションとインターフェイスしている場合がある。このソフトウェアアプリケーションの構成は、このソフトウェアアプリケーションによって表示されるデータと、ユーザが閲覧している、解析中の、そうでなければ選択されたデータの、クロスセクションと、ユーザＩＤまたはロールと、その他任意の適切な構成情報とを含み得る。いくつかの実施形態において、そのようなソフトウェアアプリケーション構成情報は、コンテキストとして知られているものであってもよい。
【００９４】
ユーザは、訓練されたインテリジェンスボットと対話しているときに、インテントを有する場合がある。たとえば、ユーザは、企業アプリケーションを使用しているとき、特定の企業データを取り出すこと、特定のデータを処理もしくは解析すること、または、バッチソフトウェアプロセスもしくはその他何らかの機能、これらを組み合わせたもの、もしくはその他任意の適切なインテントを実行することを、所望する場合がある。いくつかの実施形態において、インテリジェンスボットを、ユーザが入力したテキストまたはユーザの発話に基づいて複数のインテントのうちのあるインテントを解決するように、訓練することができる。たとえば、インテリジェンスボットを、複数のインテントの各々についてのテキスト例を用いて訓練することができ、したがって、それらの例を活用することで、ユーザの発話からインテントを解決することができる。インテリジェンスボットに送ることができるソフトウェアアプリケーションコンテキストを用いてインテントを解決することもできる。
【００９５】
いくつかの実施形態において、解決したインテントに対応付けられた、予め定められたダイアログフローを、インテリジェンスボットによってナビゲートすることができる。たとえば、このインテントに対応付けられたダイアログフローを、マークアップ言語データドキュメント（またはその他のデータ記述言語ドキュメント）の場合のように定めることができる。いくつかの実施形態において、データドキュメントは、ダイアログフローについて、変数、状態、および遷移を定めることができる。インテリジェンスボットは、予め定められたダイアログフローに基づいて、ユーザとの間でメッセージをやり取りすることができる。いくつかの実施形態において、インテリジェンスボットは状態遷移に従ってダイアログフローをナビゲートするが、この状態遷移は、インテリジェンスボットのメッセージに対してユーザが与えるレスポンスに基づく。
【００９６】
いくつかの実施形態において、ダイアログフローのナビゲートは、機能の実行をトリガすることができる。たとえば、取り出し要求を生成することにより、企業データを得ることができ、この取り出し要求についてのパラメータは、ダイアログフローのナビゲート中にユーザから与えられたレスポンスおよび／またはソフトウェアアプリケーションコンテキストに基づく。別の例において、ユーザ介入／編集に基づいて調整されたまたはユーザ承認を含むプロセス等のソフトウェアプロセス（たとえばバッチプロセス）を、トリガすることができ、ダイアログフローは、ソフトウェアプロセスに関連する、ユーザ介入、編集、および／または承認を含み得る。いくつかの実施形態において、これらの機能のうちの１つ以上がダイアログフローのナビゲーションに含まれ得る。
【００９７】
本明細書全体を通して記載されている、本開示の特徴、構造、または特性は、１つ以上の実施形態において任意の適切なやり方で組み合わされてもよい。たとえば、本明細書全体を通して、「一実施形態」、「いくつかの実施形態」、「特定の実施形態」、「複数の特定の実施形態」、またはその他同様の表現が使用されている場合、それは、当該実施形態に関して記載されている特定の特徴、構造、または特性が、本開示の少なくとも１つの実施形態に含まれ得ることを意味している。よって、本明細書全体を通して、文言「一実施形態」、「いくつかの実施形態」、「特定の実施形態」、「複数の特定の実施形態」、またはその他同様の表現がある場合、それは、すべてが同一グループの実施形態を必ずしも意味する訳ではなく、記載されている特徴、構造、または特性は、１つ以上の実施形態において任意の適切なやり方で組み合わされてもよい。
【００９８】
上記実施形態は、開示されているものと異なる順序のステップで、および／または開示されているものと異なる構成の要素で実施されてもよいことを、当業者は容易に理解するであろう。したがって、この開示は概要を示した実施形態について考察しているが、本開示の精神および範囲の中に留まっている特定の修正、変形、および代替構成が明白であることが、当業者には明らかであろう。よって、本開示の範囲を判断するには以下の請求項を参照する必要がある。
【図１】
2022502721.tif 000014
【図２】
2022502721.tif 000015
【図３】
2022502721.tif 000016
【図４】
2022502721.tif 000017
【図５Ａ】
2022502721.tif 000018
【図５Ｂ】
2022502721.tif 000019
【図６Ａ】
2022502721.tif 000020
【図６Ｂ】
2022502721.tif 000021
【図６Ｃ】
2022502721.tif 000022
【図７】
2022502721.tif 000023
【図８】
2022502721.tif 000024
【国際調査報告】
2022502721.tif 000025
2022502721.tif 000026