JP7344310B2 - クラウド・コンピューティング環境における仮想エージェントのためのシステムおよび方法 - Google Patents

クラウド・コンピューティング環境における仮想エージェントのためのシステムおよび方法 Download PDF

Info

Publication number
JP7344310B2
JP7344310B2 JP2021556537A JP2021556537A JP7344310B2 JP 7344310 B2 JP7344310 B2 JP 7344310B2 JP 2021556537 A JP2021556537 A JP 2021556537A JP 2021556537 A JP2021556537 A JP 2021556537A JP 7344310 B2 JP7344310 B2 JP 7344310B2
Authority
JP
Japan
Prior art keywords
topic
user
flow
topic flow
node
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.)
Active
Application number
JP2021556537A
Other languages
English (en)
Other versions
JP2022525480A (ja
Inventor
アスバ ナビル アブ
マーク デイヴィッド グリフィン
アヌ ジェイン
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.)
ServiceNow Inc
Original Assignee
ServiceNow Inc
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 ServiceNow Inc filed Critical ServiceNow Inc
Publication of JP2022525480A publication Critical patent/JP2022525480A/ja
Application granted granted Critical
Publication of JP7344310B2 publication Critical patent/JP7344310B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願の相互参照
本出願は、2019年3月19日に出願された「SYSTEMS AND METHODS FOR A VIRTUAL AGENT IN A CLOUD COMPUTING ENVIRONMENT」(クラウド・コンピューティング環境における仮想エージェントのためのシステムおよび方法)と題された米国仮出願第62/820,736号からの優先権および利益を主張し、これは、あらゆる目的のために全体において参照により本明細書に組み込まれる。
本開示は、一般に、自然言語理解(NLU)に関し、より具体的には、クラウド・コンピューティング環境のためのNLU仮想エージェントに関する。
このセクションは、以下に説明および/または特許請求される本開示の様々な態様に関する可能性のある技術の様々な態様を読者に紹介することを意図している。この考察は、本開示の様々な態様のより良い理解を容易にするための背景情報を読者に提供するのに役立つと考えられている。したがって、これらの陳述は、この観点から読まれるべきであり、先行技術の承認として読まれるべきではないことを理解されたい。
組織は、規模に関係なく、その継続的な運用および成功のために、情報技術(IT)ならびにデータおよびサービスへのアクセスに依存している。それぞれの組織のITインフラストラクチャには、関連付けられたハードウェア・リソース(たとえば、コンピューティング・デバイス、ロード・バランサ、ファイアウォール、スイッチなど)と、ソフトウェア・リソース(たとえば、生産性ソフトウェア、データベース・アプリケーション、カスタム・アプリケーションなど)を有し得る。時間の経過とともに、ITインフラストラクチャ・ソリューションを補完または強化するためにクラウド・コンピューティング・アプローチに目を向ける組織がますます増えている。
クラウド・コンピューティングは、インターネットを介して一般的にアクセスされるコンピューティング・リソースの共有に関する。特に、クラウド・コンピューティング・インフラストラクチャにより、個人および/または企業などのユーザは、サーバ、ストレージ・デバイス、ネットワーク、アプリケーション、および/または、他のコンピューティング・ベースのサービスなどのコンピューティング・リソースの共有プールにアクセスできる。そうすることにより、ユーザは、遠隔にあるコンピューティング・リソースにオンデマンドでアクセスでき、そのリソースは、様々なコンピューティング機能(たとえば、大量のコンピューティング・データの保存および/または処理)を実行するために使用され得る。企業および他の組織のユーザにとって、クラウド・コンピューティングは、高価なネットワーク機器の購入や、プライベート・ネットワーク・インフラストラクチャの確立に多大な時間を費やすなど、大きな先行投資を発生させることなく、クラウド・コンピューティング・リソースにアクセスする際の柔軟性を提供する。その代わりに、クラウド・コンピューティング・リソースを利用することで、ユーザは、企業のコア機能に集中するように、リソースをリダイレクトできる。
そのようなクラウド・コンピューティング・サービスは、クライアント・インスタンスのユーザからの自然言語要求に基づいて、クライアント・インスタンスに関する問題に自動的に応答するように設計されたチャット・エージェントなどの仮想エージェントをホストし得る。たとえば、ユーザは、パスワード問題を使って支援を求める要求を、仮想エージェントに提供することができ、仮想エージェントは、自然言語処理(NLP)または自然言語理解(NLU)システムの一部である。NLPは、コンピュータ・サイエンスおよびAIの一般的な領域であり、自然言語入力の何らかの形式の処理を含む。NLPによって取り扱われる領域の例は、言語翻訳、音声生成、解析ツリー抽出、品詞識別などがある。NLUは、特に、ユーザ発話の理解に焦点を当てたNLPのサブ領域である。NLUによって取り扱われる領域の例は、質問応答(たとえば、読解質問)、記事要約などを含む。たとえば、NLUは、人間の言語(たとえば、話し言葉や書き言葉)を、ダウンストリームの仮想エージェントによる消費のため、既知のシンボルのセットに低減するために、アルゴリズムを使用し得る。NLPは、通常、さらなる分析のためにフリー・テキストを解釈するために使用される。NLPへの現在のアプローチは、通常、ディープ・ラーニングに基づき、ディープ・ラーニングは、プログラムの理解を向上させるためにデータのパターンを調べて使用するAIの一種である。
特定の単純な仮想エージェントは、キーワード・ベースで自然言語要求を処理し得る。たとえば、特定の仮想エージェントは、特定のユーザ発話に対する事前定義された指示および応答を含む決定木として設計される。たとえば、そのような仮想エージェントは、チャット・ダイアログにおけるユーザからの自然言語要求におけるキーワードを識別し、仮想エージェントがアクションを実行するための十分な量の情報が収集されるまで、この要求に関する追加の詳細を提供するように、ユーザに繰り返し促すことによってこの要求に応答し得る。具体的な例として、アドレス情報を更新するために、ユーザから要求を受け取ると、単純な仮想エージェントは、ユーザが一般に1つまたは複数のキーワードに基づいて自分の情報を更新しようとしていることを識別し得る。それに応じて、単純な仮想エージェントは、ユーザがどの情報を更新する必要があるかを示すことのみならず、新たなアドレスの詳細を提供することを可能にする一連のプロンプト(たとえば、ユーザがキーボードおよびマウスを使用してインタラクトするためのオプションを備えたダイアログ)をユーザに提示し得る。したがって、特定の状況では、これらの単純な仮想エージェントは、最初の自然言語要求の一部として以前に提供された情報を提供するようにユーザに促し得る。それに加えて、そのような単純な仮想エージェントは、自然言語要求のトピックまたはトピック変更を識別するのに適していない場合がある。したがって、非効率性を低減し、全体的なユーザ・エクスペリエンスを改善するために、仮想エージェントの操作を改善することが望ましいことが現在認識されている。
本明細書に開示される特定の実施形態の要約が、以下に記載される。これらの態様は、単に読者にこれらの特定の実施形態の簡単な要約を提供するために提示されており、これらの態様は、本開示の範囲を限定することを意図していないことを理解されたい。実際、この開示は、以下に記載されていない可能性のある様々な態様を包含し得る。
本実施形態は、改善された自然言語理解(NLU)能力を備えた仮想エージェントを対象とする。開示された仮想エージェントは、ユーザとの自然言語交換中の、トピック選択およびトピック変更を可能にする。より具体的には、開示された仮想エージェントは、受け取ったユーザ発話で識別されたインテントに基づいて、実行するのに適したトピック・フローを選択するように設計される。これは、たとえば、第1のユーザ発話で識別されたトピックのみならず、識別されたトピック変更に基づく会話途中でのトピック・フローの切替に応じた、最初のトピック・フローの選択を含むことができる。それに加えて、会話途中で、第1のトピック・フローから第2のトピック・フローに切り替えると、仮想エージェントは、第2のトピック・フローの完了時に、第1のトピック・フローを再開するか否かを決定する。開示された仮想エージェントはまた、会話中に、自然言語の発話でユーザによって伝達されたすべてのインテントおよびエンティティを考慮することができ、これにより、仮想エージェントは、ユーザに冗長な情報を提供するように促すことを回避できる。さらに、仮想エージェントは、グローバル・トピック・フローの一部としてトピック・フローを実行でき、これにより、仮想エージェントは、ユーザとの各インタラクションの一部として、事前定義された多数のアクティビティを実行でき、より標準化されたエクスペリエンスを提供する。したがって、開示された仮想エージェントは、仮想エージェントのパフォーマンスおよび使いやすさを改善し、仮想エージェントとインタラクトするときのユーザの全体的なエクスペリエンスを改善する。
本開示の様々な態様に関連して、上記の機能の様々な改良が存在し得る。これらの様々な態様にも同様に、さらなる機能が組み込まれ得る。これらの改良点および追加機能は、個別に、または任意の組合せで存在し得る。たとえば、例示される実施形態のうちの1つまたは複数に関して以下で論じられる様々な機能は、本開示の上記の態様のいずれかに、単独でまたは任意の組合せで組み込まれ得る。上記に提示された要約は、特許請求される主題に限定されることなく、本開示の実施形態の特定の態様および文脈を読者に理解させることのみを目的とする。
本開示の様々な態様は、以下の詳細な説明を読み、以下の図面を参照することにより、より良く理解され得る。
本開示の実施形態が動作し得るクラウド・アーキテクチャの実施形態のブロック図である。 本開示の実施形態が動作し得るマルチ・インスタンス・クラウド・アーキテクチャの実施形態の概略図である。 本開示の態様にしたがって、図1および図2に存在し得るコンピューティング・システムで利用されるコンピューティング・デバイスのブロック図である。 本開示の態様による、仮想エージェントを含むサービス・プロバイダ・クラウド・インフラストラクチャの実施形態の一部のブロック図である。 本開示の態様による、仮想エージェントがユーザの自然言語発話を受け取り、応答するプロセスの実施形態を示すフロー図である。 本開示の態様による、仮想エージェントのNLUトピック発見を構成するために使用されるグラフィカル・ユーザ・インターフェース(GUI)の実施形態のシミュレートされたスクリーンショットである。 本開示の態様による、仮想エージェントのトピック・フローを構成するために使用されるGUIの実施形態のシミュレートされたスクリーンショットである。 本開示の態様による、仮想エージェントのトピック・フローを設計するために使用されるGUIの実施形態のシミュレートされたスクリーンショットである。 本開示の態様による、仮想エージェントによって実行されるグローバル・トピック・フローの実施形態のブロック図である。 本開示の態様による、仮想エージェントのグローバル・トピック・フローを設計するために使用されるGUIの実施形態のシミュレートされたスクリーンショットである。
1つまたは複数の特定の実施形態を以下に記載する。これらの実施形態の簡潔な説明を提供するために、実際の実装のすべての機能が本明細書に記載されている訳ではない。エンジニアリングまたは設計プロジェクトにおけるように、そのような実際の実装の開発では、実装ごとに異なる場合があるシステム関連および企業関連の制約への準拠など、開発者の特定の目標を達成するために、実装固有の多数の決定を行う必要があることを理解されたい。さらに、そのような開発努力は複雑で、時間を要するにも関わらず、本開示の利益を有する通常の熟練者にとって、設計、製作、および製造の日常的な作業であることを理解されたい。
本明細書で使用される場合、「コンピューティング・システム」という用語は、単一のコンピュータ、仮想マシン、仮想コンテナ、ホスト、サーバ、ラップトップ、および/もしくはモバイルデバイス、または、コンピューティング・システム上で、もしくはコンピューティング・システムによって実行されると説明されている機能を実行するためにともに動作する複数の電子コンピューティング・デバイスなどの電子コンピューティング・デバイスを指すが、これらに限定されない。本明細書で使用される場合、「媒体」という用語は、そこに格納されていると説明されるコンテンツをともに格納する、1つまたは複数の非一時的なコンピュータ可読物理媒体を指す。実施形態は、不揮発性二次記憶装置、読取専用メモリ(ROM)、および/またはランダム・アクセス・メモリ(RAM)を含み得る。本明細書で使用される場合、「アプリケーション」という用語は、1つもしくは複数のコンピューティング・モジュール、プログラム、プロセス、ワークロード、フロー、スレッド、および/またはコンピューティング・システムによって実行されるコンピューティング命令のセットを指す。アプリケーションの例示的な実施形態は、ソフトウェア・モジュール、ソフトウェア・オブジェクト、ソフトウェア・インスタンス、および/または他のタイプの実行可能コードを含む。
本明細書で使用される場合、「フロー」は、特定の効果を達成するために実行される一連のアクションまたは命令(たとえば、アプリケーションの一部)を指す。フローは、アクションまたはアクションのグループが、フロー図におけるノード(たとえば、ユーザ入力ノード、スクリプト・ノード、決定ノード)によって表されるグラフィカル形式で提示され得る。本明細書で使用される場合、「トピック・フロー」は、特定のトピックまたはユーザのインテントに対処するために、1つまたは複数のアクションを実行するように設計されたフローを指す。本明細書で使用される場合、「発話」は、ユーザから受け取った自然言語テキストの文字列を指す。本明細書で使用される場合、「会話」は、特定の会話媒体(たとえば、チャット・ルーム、電子メール、フォーラム投稿など)を介した、ユーザと仮想エージェントとの間の自然言語の要求および応答の交換を指す。例示的な発話の非限定的なリストは、チャット・エントリ、電子メール件名、インシデント説明などを含む。本明細書で使用される場合、「インテント」は、ユーザが達成または遂行したい発話で示される何かを指す。本明細書で使用される場合、「エンティティ」は、インテントの件名、目的、および/または文脈である発話内の何かを指す。本明細書で使用される場合、「仮想エージェント」は、ユーザ発話で識別されたインテントおよびエンティティに基づいて、ユーザ発話を受け取り、適切に応答するように構成されたアプリケーションを指す。
本実施形態は、改善された自然言語理解(NLU)能力を有する仮想エージェントを対象とする。開示された仮想エージェントは、ユーザとの自然言語の会話中に、トピック選択およびトピック変更を可能にする。より具体的には、開示された仮想エージェントは、受け取ったユーザ発話で識別されたインテントに基づいて、実行するのに適したトピック・フローを選択するように設計される。それに加えて、会話途中で、第1のトピック・フローから第2のトピック・フローに切り替えると、仮想エージェントは、第2のトピック・フローの完了時に、第1のトピック・フローが再開されるか否かを決定する。さらに、開示された仮想エージェントは、仮想エージェントとの会話中に、自然言語要求でユーザによって伝達されたすべてのインテントを格納および適用することができ、これにより、仮想エージェントは、ユーザに冗長な情報を提供するように促すことを回避できる。それに加えて、開示された仮想エージェントは、グローバル・トピック・フローの作成および実行をサポートし、これにより、仮想エージェントとのすべてのインタラクションが、事前定義されたカスタマイズ可能なパターンに従うことができる。したがって、開示された仮想エージェントは、仮想エージェントのパフォーマンスおよび使いやすさを改善し、ユーザの全体的なエクスペリエンスを改善する。
上記を念頭に置いて、以下の図は、マルチ・インスタンス・フレームワークで組織にサービスを提供するために適用でき、本アプローチを適用できる様々なタイプの一般化されたシステム・アーキテクチャまたは構成に関する。同様に、これらのシステムおよびプラットフォームの例はまた、本明細書で論じられる技術が実装されるか、さもなければ利用され得るシステムおよびプラットフォームに関連し得る。ここで図1に目を向けると、本開示の実施形態が動作し得るクラウド・コンピューティング・システム10の実施形態の概略図が示される。クラウド・コンピューティング・システム10は、クライアント・ネットワーク12、ネットワーク14(たとえば、インターネット)、およびクラウド・ベースのプラットフォーム16を含み得る。いくつかの実装形態では、クラウド・ベースのプラットフォーム16は、構成マネジメント・データベース(CMDB)プラットフォームであり得る。1つの実施形態では、クライアント・ネットワーク12は、スイッチ、サーバ、およびルータを含むがこれらに限定されない様々なネットワーク・デバイスを有するローカル・エリア・ネットワーク(LAN)などのローカル・プライベート・ネットワークであり得る。別の実施形態では、クライアント・ネットワーク12は、1つまたは複数のLAN、仮想ネットワーク、データ・センタ18、および/または他の遠隔ネットワークを含むことができる企業ネットワークを表す。図1に示されるように、クライアント・ネットワーク12は、1つまたは複数のクライアント・デバイス20A、20B、および20Cに接続でき、クライアント・デバイスは、互いに、および/または、プラットフォーム16をホストするネットワークと通信できる。クライアント・デバイス20は、たとえば、ウェブ・ブラウザ・アプリケーションを介して、または、クライアント・デバイス20とプラットフォーム16との間のゲートウェイとして動作できるエッジ・デバイス22を介して、クラウド・コンピューティング・サービスにアクセスする、一般に、モノのインターネット(IoT)デバイスと呼ばれるコンピューティング・システムおよび/または他のタイプのコンピューティング・デバイスであり得る。図1はまた、クライアント・ネットワーク12が、プラットフォーム16、他の外部アプリケーション、データソース、およびサービスをホストするネットワークと、クライアント・ネットワーク12との間のデータの通信を容易にする、マネジメント、インストラクション、およびディスカバリ(MID)サーバ24のような、アドミニストレーションまたはマネジメント・デバイス、エージェント、またはサーバを含むことを示す。図1には具体的に示されていないが、クライアント・ネットワーク12はまた、接続ネットワーク・デバイス(たとえば、ゲートウェイもしくはルータ)、またはカスタマ・ファイアウォールもしくは侵入保護システムを実装するデバイスの組合せを含み得る。
例示される実施形態について、図1は、クライアント・ネットワーク12がネットワーク14に結合されていることを示している。ネットワーク14は、クライアント・デバイス20と、プラットフォーム16をホストするネットワークとの間でデータを転送するために、他のLAN、広域ネットワーク(WAN)、インターネット、および/または、他の遠隔ネットワークなどの1つまたは複数のコンピューティング・ネットワークを含み得る。ネットワーク14の内部のコンピューティング・ネットワークのそれぞれは、電気的および/または光学的領域で動作する有線および/またはワイヤレスのプログラマブル・デバイスを含み得る。たとえば、ネットワーク14は、セルラ・ネットワーク(たとえば、グローバル移動体通信システム(GSM)ベースのセルラ・ネットワーク)、IEEE 802.11ネットワーク、および/または他の適切な無線ベースのネットワークなどのワイヤレス・ネットワークを含み得る。ネットワーク14はまた、伝送制御プロトコル(TCP)およびインターネット・プロトコル(IP)などの任意の数のネットワーク通信プロトコルを適用し得る。図1には明示的に示されていないが、ネットワーク14は、ネットワーク14を介してデータを転送するように構成されたサーバ、ルータ、ネットワーク・スイッチ、および/または他のネットワーク・ハードウェア・デバイスなどの様々なネットワーク・デバイスを含み得る。
図1において、プラットフォーム16をホストするネットワークは、クライアント・ネットワーク12およびネットワーク14を介してクライアント・デバイス20と通信できる遠隔ネットワーク(たとえば、クラウド・ネットワーク)であり得る。プラットフォーム16をホストするネットワークは、クライアント・デバイス20および/またはクライアント・ネットワーク12に追加のコンピューティング・リソースを提供する。たとえば、プラットフォーム16をホストするネットワークを利用することにより、クライアント・デバイス20のユーザは、様々な企業、IT、および/または他の組織関連機能のためのアプリケーションを構築および実行できる。1つの実施形態では、プラットフォーム16をホストするネットワークは、1つまたは複数のデータ・センタ18上に実装され、各データ・センタは、異なる地理的位置に対応できる。データ・センタ18のそれぞれは、複数の仮想サーバ26(本明細書では、アプリケーション・ノード、アプリケーション・サーバ、仮想サーバ・インスタンス、アプリケーション・インスタンス、またはアプリケーション・サーバ・インスタンスとも呼ばれる)を含み、各仮想サーバ26は、単一の電子コンピューティング・デバイス(たとえば、単一の物理的なハードウェア・サーバ)または複数のコンピューティング・デバイス(たとえば、複数の物理的なハードウェア・サーバ)にまたがる、物理的なコンピューティング・システム上に実装され得る。仮想サーバ26の例は、ウェブ・サーバ(たとえば、ユニタリ・アパッチ・インストール)、アプリケーション・サーバ(たとえば、ユニタリJAVA仮想マシン)、および/またはデータベース・サーバ(たとえば、ユニタリ・リレーショナル・データベース・マネジメント・システム(RDBMS)カタログ)を含むが、これらに限定されない。
プラットフォーム16内のコンピューティング・リソースを利用するために、ネットワーク・オペレータは、様々なコンピューティング・インフラストラクチャを使用してデータ・センタ18を構成することを選択し得る。1つの実施形態では、データ・センタ18のうちの1つまたは複数は、マルチ・テナント・クラウド・アーキテクチャを使用して構成され、これによって、サーバ・インスタンス26のうちの1つは、複数のカスタマからの要求を処理し、複数のカスタマにサービスを提供できる。マルチ・テナント・クラウド・アーキテクチャを備えたデータ・センタ18は、複数のカスタマからのデータを混合して格納し、ここでは、複数のカスタマ・インスタンスが、仮想サーバ26のうちの1つに割り当てられる。マルチ・テナント・クラウド・アーキテクチャでは、特定の仮想サーバ26は、様々なカスタマのデータおよび他の情報を区別し、分離する。たとえば、マルチ・テナント・クラウド・アーキテクチャは、各カスタマからのデータを識別および分離するために、各カスタマに特定の識別子を割り当てることができる。一般に、マルチ・テナント・クラウド・アーキテクチャの実装には、サーバ・インスタンス26のうちの特定の1つに障害が発生し、特定のサーバ・インスタンスに割り当てられたすべてのカスタマが停止するなど、様々な欠点がある。
別の実施形態では、データ・センタ18のうちの1つまたは複数は、すべてのカスタマに独自の1つまたは複数のカスタマ・インスタンスを提供するために、マルチ・インスタンス・クラウド・アーキテクチャを使用して構成される。たとえば、マルチ・インスタンス・クラウド・アーキテクチャは、各カスタマ・インスタンスに、専用のアプリケーション・サーバと、専用のデータベース・サーバとを提供できる。他の例では、マルチ・インスタンス・クラウド・アーキテクチャは、カスタマ・インスタンスごとに、単一の物理的もしくは仮想サーバ26、ならびに/または、1つもしくは複数の専用ウェブ・サーバ、1つもしくは複数の専用アプリケーション・サーバ、および1つもしくは複数のデータベース・サーバなど物理的および/もしくは仮想サーバ26の他の組合せを展開できる。マルチ・インスタンス・クラウド・アーキテクチャでは、複数のカスタマ・インスタンスが、1つまたは複数のそれぞれのハードウェア・サーバにインストールされ、各カスタマ・インスタンスには、コンピューティング・メモリ、ストレージ、処理能力などの物理的なサーバ・リソースの特定の部分が割り当てられる。そうすることで、各カスタマ・インスタンスは、データ分離、カスタマがプラットフォーム16にアクセスするための比較的少ないダウンタイム、およびカスタマ主導のアップグレード・スケジュールの利点を提供する独自のソフトウェア・スタックを有する。マルチ・インスタンス・クラウド・アーキテクチャの内部にカスタマ・インスタンスを実装する例は、図2を参照して以下でより詳細に説明される。
図2は、本開示の実施形態が動作し得るマルチ・インスタンス・クラウド・アーキテクチャ100の実施形態の概略図である。図2は、マルチ・インスタンス・クラウド・アーキテクチャ100が、互いに地理的に分離され得る2つの(たとえば、対にされた)データ・センタ18Aおよび18Bに接続するクライアント・ネットワーク12およびネットワーク14を含むことを示す。図2を使用する例として、ネットワーク環境およびサービス・プロバイダ・クラウド・インフラストラクチャ・クライアント・インスタンス102(本明細書では、クライアント・インスタンス102とも呼ばれる)は、専用仮想サーバ(たとえば、仮想サーバ26A、26B、26C、および26D)ならびに専用データベース・サーバ(たとえば、仮想データベース・サーバ104Aおよび104B)に関連付けられる(たとえば、サポートされ、有効化される)。別の言い方をすれば、仮想サーバ26A~26Dならびに仮想データベース・サーバ104Aおよび104Bは、他のクライアント・インスタンスと共有されず、それぞれのクライアント・インスタンス102に固有である。図示される例では、クライアント・インスタンス102の可用性を容易にするために、仮想サーバ26A~26Dならびに仮想データベース・サーバ104Aおよび104Bは、2つの異なるデータ・センタ18Aおよび18Bに割り当てられ、データ・センタ18のうちの1つがバックアップ・データ・センタとして機能する。マルチ・インスタンス・クラウド・アーキテクチャ100の他の実施形態は、ウェブ・サーバなどの他のタイプの専用仮想サーバを含むことができる。たとえば、クライアント・インスタンス102は、専用仮想サーバ26A~26D、専用仮想データベース・サーバ104Aおよび104B、ならびに追加の専用仮想ウェブ・サーバ(図2には示されていない)に関連付けられる(たとえば、それらによってサポートおよび有効化される)ことができる。
図1および図2は、それぞれ、クラウド・コンピューティング・システム10およびマルチ・インスタンス・クラウド・アーキテクチャ100の特定の実施形態を示しており、本開示は、図1および図2に示される特定の実施形態に限定されない。たとえば、図1は、プラットフォーム16がデータ・センタを使用して実装されることを示しているが、プラットフォーム16の他の実施形態は、データ・センタに限定されず、他のタイプの遠隔ネットワーク・インフラストラクチャを利用できる。さらに、本開示の他の実施形態は、1つもしくは複数の異なる仮想サーバを単一の仮想サーバに結合し得るか、または逆に、複数の仮想サーバを使用して単一の仮想サーバに起因する動作を実行し得る。たとえば、図2を使用する例として、仮想サーバ26A、26B、26C、26Dおよび仮想データベース・サーバ104A、104Bは、単一の仮想サーバに結合され得る。さらに、本アプローチは、マルチ・テナント・アーキテクチャ、一般化されたクライアント/サーバ実装、および/または、本明細書で論じられる動作の一部もしくはすべてを実行するように構成された単一の物理プロセッサ・ベースのデバイスを含むが、これらに限定されない他のアーキテクチャまたは構成で実装され得る。同様に、実装の考察を容易にするために、仮想サーバまたはマシンが参照され得るが、その代わりに、物理的なサーバが適切に適用され得る。図1および図2の使用および考察は、記載および説明を容易にするための単なる例であり、本開示を、例示されている特定の例に限定することは意図されない。
理解され得るように、図1および図2に関して論じられたそれぞれのアーキテクチャおよびフレームワークは、様々なタイプのコンピューティング・システム(たとえば、サーバ、ワークステーション、クライアント・デバイス、ラップトップ、タブレット・コンピュータ、セルラ電話など)を全体に組み込んでいる。完全を期すために、そのようなシステムで一般的に見られる構成要素の、簡単で高レベルの概要を示す。理解され得るように、本概要は、単に、そのようなコンピューティング・システムに典型的な構成要素の高レベルの一般化された図を提供することが意図されており、論じられたまたは考察から省略された構成要素に関する限定であると見なされるべきではない。
背景として、本アプローチは、図3に示されるような1つまたは複数のプロセッサ・ベースのシステムを使用して実施され得ることが理解され得る。同様に、本アプローチで利用されるアプリケーションおよび/またはデータベースは、そのようなプロセッサ・ベースのシステム上に格納、適用、および/または維持され得る。理解され得るように、図3に示されるようなシステムは、分散コンピューティング環境、ネットワーク環境、または他のマルチ・コンピュータ・プラットフォームもしくはアーキテクチャに存在し得る。同様に、図3に示されるようなシステムは、本アプローチが実装され得る1つまたは複数の仮想環境または計算インスタンスをサポートまたは通信する際に使用され得る。
これを念頭に置いて、例示的なコンピュータ・システムは、図3に示されるコンピュータ構成要素のいくつかまたはすべてを含み得る。図3は、一般に、たとえば1つまたは複数のバスに沿って、コンピューティング・システム200の例示的な構成要素と、それらの可能性のある相互接続または通信経路のブロック図を示している。例示されるように、コンピューティング・システム200は、1つもしくは複数のプロセッサ202、1つもしくは複数のバス204、メモリ206、入力デバイス208、電源210、ネットワーク・インターフェース212、ユーザ・インターフェース214、および/または本明細書に記載の機能を実行する際に有用な他のコンピュータ構成要素を含み得る。
1つまたは複数のプロセッサ202は、メモリ206に格納された命令を実行できる1つまたは複数のマイクロプロセッサを含み得る。追加的または代替的に、1つまたは複数のプロセッサ202は、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、および/または、メモリ206からの命令を呼び出さずに本明細書で論じられる機能のいくつかもしくはすべてを実行するように設計された他のデバイスを含み得る。
他の構成要素に関して、1つまたは複数のバス204は、コンピューティング・システム200の様々な構成要素間にデータおよび/または電力を提供するための適切な電気的チャネルを含む。メモリ206は、任意の有形の、非一時的な、およびコンピュータ可読の記憶媒体を含み得る。図1では単一のブロックとして示されているが、メモリ206は、1つまたは複数の物理的な場所で同じまたは異なるタイプの複数の物理的なユニットを使用して実装できる。入力デバイス208は、1つまたは複数のプロセッサ202にデータおよび/またはコマンドを入力するための構造に対応する。たとえば、入力デバイス208は、マウス、タッチパッド、タッチスクリーン、キーボードなどを含み得る。電源210は、ライン電源および/またはバッテリ電源など、コンピューティング・デバイス200の様々な構成要素の電源に適した任意の電源であり得る。ネットワーク・インターフェース212は、1つまたは複数のネットワーク(たとえば、通信チャネル)を介して他のデバイスと通信できる1つまたは複数のトランシーバを含む。ネットワーク・インターフェース212は、有線ネットワーク・インターフェースまたはワイヤレス・ネットワーク・インターフェースを提供し得る。ユーザ・インターフェース214は、1つまたは複数のプロセッサ202から転送されたテキストまたは画像を表示するように構成されたディスプレイを含み得る。ディスプレイに加えて、および/またはディスプレイに対する代替として、ユーザ・インターフェース214は、ライト(たとえば、LED)、スピーカなどのように、ユーザとインターフェースするための他のデバイスを含み得る。
図4は、上記で論じたクラウド・ベースのプラットフォーム16を含む、サービス・プロバイダ・クラウド・インフラストラクチャの一部の例を示す。クラウド・ベースのプラットフォーム16は、(たとえば、クライアント・デバイス20のウェブ・ブラウザを介して)クライアント・インスタンス102の内部で実行するネットワーク・アプリケーションへユーザ・インターフェースを提供するために、ネットワーク14を介してクライアント・デバイス20に接続される。クラウド・プロバイダ・インフラストラクチャは、一般に、クライアント・デバイス20などの複数のエンド・ユーザ・デバイスを同時にサポートするように構成され、各エンド・ユーザ・デバイスは、単一のクライアント・インスタンス102と通信している。また、クラウド・プロバイダ・インフラストラクチャは、クライアント・インスタンス102などの任意の数のクライアント・インスタンスを、1つまたは複数のエンド・ユーザ・デバイスと通信している各インスタンスと同時にサポートするように構成され得る。上記のように、エンド・ユーザはまた、ウェブ・ブラウザ内で実行されるアプリケーションを使用して、クライアント・インスタンス102とインターフェースし得る。
例示される実施形態の場合、クライアント・インスタンス102は、クラウド・ベースのプラットフォーム16の共有インスタンス220に通信可能に結合される。共有インスタンス220は、NLU機能を提供するために任意の適切な数のクライアント・インスタンスによって使用され得るNLUサービス222をホストする。たとえば、特定の実施形態では、NLUサービス222は、本明細書でインテント/エンティティ・モデルと呼ばれ得る1つまたは複数のNLUモデル224を生成するために、クライアント・インスタンス102のデータベース・サーバ104によって格納された発話の集合またはコーパス(たとえば、チャット・セッション、電子メール交換、フォーラム投稿など)を分析することができ。他の実施形態では、NLUモデル224は、開発者または設計者によってマニュアルで作成され得る。本明細書で使用される場合、「NLUモデル」は、インテントおよびエンティティの集合であり、これらのインテントおよびエンティティは、それらのサンプル発話とともに定義される。特定の実施形態では、これらのNLUモデル224は、図4に示されるように、クライアント・インスタンス102のデータベース・サーバ104によって格納され得る。他の実施形態では、NLUサービス222は、ネットワーク14を介してクライアント・インスタンス102に通信可能に結合された外部サービスであり得ることが理解され得る。
図4に例示される実施形態の場合、クライアント・インスタンス102は、クライアント・デバイス20のユーザからの発話226として自然言語要求を受け取り、それに応じて応答するように設計された仮想エージェント225を含む。特定の場合において、仮想エージェント225の応答は、クライアント・インスタンス102内でアクションを実行すること、および/または、クライアント・デバイス20のユーザに応答228または確認メッセージを提供することを含み得る。発話226および/または応答228は、チャット・メッセージ、電子メール・メッセージ、フォーラム投稿などのように、記述された自然言語要求の形式を採り得る。それに加えて、クライアント・インスタンス102は、仮想エージェント225が、受け取られた発話226およびNLUモデル224を、処理のためにNLUサービス222に提供することを可能にするNLUインターフェース・アプリケーション・プログラミング・インターフェース(API)230を含む。受け取ると、NLUサービス222は、NLUモデル224に格納されたサンプル発話に基づいて、発話226に示されるインテントおよびエンティティを求めて、NLUモデル224を探索する。次に、NLUサービス222は、発話226で識別されたインテントおよびエンティティのスコア付けされたセット(たとえば、リストまたはテーブル)を、仮想エージェント225に提供し、スコア付けされたインテントおよびエンティティのセットは、識別されたインテントおよび/またはエンティティのそれぞれの、対応する信頼度スコアを含む。以下で論じられるように、仮想エージェント225は、会話の異なる時点に、ユーザ発話226において、特定のインテントおよび/またはエンティティが識別されたことに応答して、特定のトピック・フローを実行するように設計される。
図5は、仮想エージェント225が、ユーザの自然言語発話を受け取り、応答するプロセス240の実施形態を示すフロー図である。したがって、プロセス240は、少なくとも1つの適切なメモリ(たとえば、メモリ206)に格納され、クラウド・ベースのプラットフォーム16に関連付けられた少なくとも1つの適切なプロセッサ(たとえば、プロセッサ202)によって実行され得る。他の実施形態では、プロセス240は、本開示にしたがって、追加のステップ、省略されたステップ、繰り返されるステップなどを含み得ることが理解されよう。それに加えて、図5のプロセス240は、図4の要素を参照して論じられる。
図5に例示されるプロセス240の実施形態は、仮想エージェント225が、ユーザ発話226として自然言語要求を受け取る(ブロック242)ことで始まる。たとえば、仮想エージェント225は、チャット仮想エージェントであり得、受け取られたユーザ発話226は、クライアント・デバイス20のユーザからのチャット・メッセージであり得る。それに応じて、仮想エージェントは、ユーザ発話226および1つまたは複数のNLUモデル224を、処理のためにNLUサービス222に提供し(ブロック244)、NLUサービス222は、NLUモデル224に基づいてユーザ発話226のインテントおよびエンティティを識別およびスコア付けする。続いて、仮想エージェントは、ユーザ発話226について、NLUサービス222から、スコア付けされたインテントおよびエンティティのセット248を受け取る(ブロック246)。
仮想エージェント225が、スコア付けされたインテントおよびエンティティのセット248を受け取ると、仮想エージェント225は、識別されたインテントが、仮想エージェント225の現在のトピック・フローに対応するか否かを決定する(ブロック250)。たとえば、仮想エージェント225は、製品を注文するためのトピック・フロー、注文のステータスをチェックするためのトピック・フロー、ユーザ・アカウント情報を更新するためのトピック・フローなどを含み得る。したがって、各トピック・フローは、NLUモデル224で定義された特定のインテントに関連付けられる。仮想エージェント225が、受け取られたスコア付けされたインテントおよびエンティティのセットのインテントが、現在実行中のトピック・フローに対応しないと決定した場合、仮想エージェント225は、別のトピック・フローに切り替えて(ブロック252)、別のトピック・フロー実行することによって応答する。特に、仮想エージェント225は、スコア付けされたインテントおよびエンティティの受け取られたセット248のインテントに関連付けられた別のトピック・フローを識別し、このトピック・フローの実行を開始する。以下で論じるように、トピック・フローの設計に応じて、仮想エージェント225は、新しいトピック・フローの終了時に元のトピック・フローの実行を再開する場合と再開しない場合がある。
図5に例示される実施形態の場合、プロセス240は、仮想エージェント225が、スコア付けされたインテントおよびエンティティのセット248からのエンティティを、選択されたトピック・フローに適用する(ブロック254)ことで継続する。すなわち、仮想エージェント225は、会話の発話226または以前の発話の一部としてすでに提供された情報を、ユーザに促すのではなく、このエンティティ・データを、トピック・フローの様々なデータ入力ノードに適用する。たとえば、最初のユーザ発話が「ペパロニピザを注文したい」という言葉を含む場合、仮想エージェント225は、決定ブロック250において、食品を注文するインテントを識別し、ブロック252において、「ピザ注文」トピック・フローに切り替え得る。「ピザ注文」トピック・フローは、ピザの種類、ピザ・クラストの種類、含まれるトッピングなどに関する情報を、ユーザから収集するように設計された多数のデータ入力ノードを含み得る。しかしながら、ユーザ発話226は、ペパロニ・トッピングの希望を示すエンティティをすでに含んでいたので、このエンティティは、「ピザ注文」フローの対応する入力ノードに適用される。したがって、仮想エージェント225が、「ピザ注文」トピック・フローを実行しているとき、仮想エージェント225は、これらの入力ノードに到達したときに注文の局面を繰り返すようにユーザに促さず、単に、ピザの種類や、クラストの種類について尋ねるなど、まだ満たされていない入力ノードのためのデータを提供するようにユーザに促す。それに加えて、特定の実施形態では、仮想エージェント225は、以前に受け取られたユーザ発話(たとえば、同じ会話の一部であるユーザ発話)からのエンティティ・データをさらに格納し得る。そのような実施形態の場合、仮想エージェント225はまた、ユーザから以前に受け取られた情報を要求することを回避するために、以前に受け取られたユーザ発話からのこのエンティティ・データを、選択されたトピック・フローに適用し得る。
図5に例示される実施形態の場合、プロセス240は、仮想エージェント225が、現在のトピック・フローに基づいて、1つまたは複数のアクションを実行する(ブロック256)ことで継続する。たとえば、受け取られたユーザ発話226からのエンティティを適用した後、トピック・フローは、ユーザ発話226に示される要求に対処するように設計されたように実行し得る。特定の場合において、仮想エージェント225は、データベース・サーバ104によって格納されたレコードの作成、更新、または削除、他の定義されたフローまたはスクリプトの実行、外部サービスとの通信など、クライアント・インスタンス102内でアクションを実行することによって応答し得る。特定の場合において、仮想エージェント225は、追加的または代替的に、ユーザ発話226が受け取られたこと、および/または、特定のアクションが実行されたことを示す応答228または確認メッセージを、クライアント・デバイス20Dに提供し得る。特定の場合において、仮想エージェント225は、受け取ったユーザ発話226からのエンティティによって満たされない入力ブロックのため、追加のデータを提供するようにユーザに促すことによって応答し得る。矢印258によって示されるように、特定の実施形態では、仮想エージェント225は、その後、ユーザから別の発話を受け取り、プロセス240を繰り返し得る。
図6は、仮想エージェント225のNLUトピック発見を構成するために使用されるグラフィカル・ユーザ・インターフェース(GUI)270の実施形態のシミュレートされたスクリーンショットである。GUI270のみならず、以下に論じられる他のGUIは、クライアント・インスタンス102によってホストされ、クライアント・デバイス20Dのウェブ・ブラウザ・アプリケーションを介してアクセスされることが理解され得る。それに加えて、GUI270、ならびに以下に論じられる他のGUIによって受け取り、および提示されるデータは、1つまたは複数の適切なデータベース・テーブル(たとえば、データベース・サーバ104の、NLU_Settingテーブル、Topic_Propertyテーブル、Topic_Flowテーブル、Global_Topic_Flowテーブルなど)に格納され得る。
図6に例示されるGUI270は、「NLUを用いたトピック発見」スイッチまたはチェックボックス272を含む。特定の実施形態では、スイッチ272が選択またはアクティブ化されていない場合、仮想エージェント225は、上記で論じたように、キーワード・ベースでトピック発見を実行する。しかしながら、スイッチ272が選択またはアクティブ化されると、仮想エージェント225は、図5のプロセス240の実施形態を使用してユーザ発話を処理するように構成される。例示されるGUI270はまた、異なるNLUプロバイダ(たとえば、PARLO、IBM WATSON、AMAZON ALEXA)の事前定義されたリストから、NLUプロバイダの開発者選択を受け取り、提示するように設計された「NLU API」ドロップダウン・リスト274を含む。したがって、ドロップダウン・リスト274によって示されるNLUプロバイダは、上記で論じたように、スコア付けされたインテントおよびエンティティのセット248を生成するために、1つまたは複数のNLUモデル224とともに、受け取られたユーザ発話を提供される。例示されるGUI270はまた、トピック識別のための信頼度しきい値を表す0から1までの実数値を受け取り、提示するように設計された「信頼度スコア」フィールド276を含む。すなわち、スコア付けされたインテントおよびエンティティのセット248におけるインテントの信頼度スコアが、信頼度しきい値を超える場合にのみ、仮想エージェント225は、このインテントに関連付けられたトピック・フローの実行に切り替わる。
図7は、仮想エージェント225のトピック・フローを構成するために使用されるGUI280の実施形態のシミュレートされたスクリーンショットである。例示されるGUI280は、トピック名に対応する文字列値を受け取り、提示するように設計された「トピック名」フィールド282のみならず、トピック・フローのトピックの説明に対応する文字列値を受け取り、提示するように設計された「説明」フィールド284をも含む。例示されるGUI280は、構成されているトピック・フローのための潜在的なカテゴリの事前定義されたリスト(たとえば、人的資源カテゴリ、コンピュータ・サポート・カテゴリなど)からのトピック・フローのカテゴリの開発者選択を受け取り、提示するように設計された「トピック・カテゴリ」ドロップダウン・リスト286を含む。例示されるGUI280は、トピック・フロー内のユーザ発話を処理するためにNLUサービス222によって使用される、利用可能なNLUモデル224の事前定義されたリスト(たとえば、ITトピック、人的資源トピック、製品注文トピックなど)からのNLUモデル選択を受け取り、提示するように設計された「NLUモデル」ドロップダウン・リスト288を含む。例示されたGUI280は、ドロップダウン・リスト288によって示されるように、選択されたNLUモデル内で定義されるインテントの事前定義されたリストから選択されたインテントを受け取り、提示するように設計された「トピック発見のためのインテント」ドロップダウン・リスト290を含む。それに加えて、例示されたGUI280は、選択されたNLUモデル内の選択されたインテントに関連付けられて定義されたエンティティを示すテキスト・ラベル292を含む。
特定の実施形態では、図7のGUI280は、設計者が、トピック・フローの実行をさらに制御することを可能にする追加の要素を含み得る。たとえば、例示されるGUI280は、トピック・フローを実行する前に満たされるべき事前定義された条件のセットを設計者が確立することを可能にする「条件」ボタン294を含む。例示されるGUI280は、トピック・フローの実行を引き出すことを許可されているクライアント・インスタンス102の特定の役割またはユーザ・アカウントを設計者が識別できるようにする「役割」ボタン296を含む。それに加えて、例示されるGUI280は、「ライブ・エージェント条件」ボタン298を含み、これにより、設計者は、トピック・フローの実行中に、条件(たとえば、特定のインテントおよび/またはエンティティの受け取り)を定義できるようになり、条件が満たされると、仮想エージェント225に対して、会話をライブ・エージェントに渡すように促す。他の実施形態では、GUI280はまた、仮想エージェント225が、会話途中で別のトピック・フローに切り替わるときに、仮想エージェント225がトピック・フローの実行を返し、再開するか否かを示すブール値を受け取り、提示するように設計された「切替時トピック・フロー再開」チェックボックスを含み得る。
図8は、仮想エージェント225のトピック・フロー312を設計するために使用されるGUI310の実施形態のシミュレートされたスクリーンショットである。例示されたGUI280は、例示的なトピック・フロー282の一部を視覚的に描写するフロー・セクション314を含む。例示されたGUI310はまた、GUI310のフロー・セクション312内の選択されたノードのプロパティをリストするプロパティ・セクション316を含む。例示的なトピック・フロー312の例示された部分は、現在選択されているユーザ入力ノード「注文物品」318を含み、したがって、この要素のプロパティは、GUI310のプロパティ・セクション316において提示される。
例示される実施形態の場合、GUI310のプロパティ・セクション316は、トピック・フローの名前を表す文字列値を受け取り、提示するように設計された「名前」フィールド320を含む。例示されるGUI310のプロパティ・セクション316はまた、ユーザからのデータ入力に応じて値が割り当てられるトピック・フロー内の変数の名前を定義する文字列値を受け取り、提示するように設計された「変数名」フィールド322を含む。例示されるGUI310のプロパティ・セクション316は、仮想エージェント225が、ユーザ入力ノードに関連付けられた情報を要求するためにユーザに提供し得るテキストを定義する文字列値を受け取り、提示するように設計された「プロンプト」フィールド324を含む。特定のプロンプトは、ユーザからの自然な言語応答を引き出すためにユーザに提示される質問であり得る一方、他のプロンプトは、ユーザからの入力を(たとえば、マウス、キーボード、タッチスクリーンなどを介して)受け取るユーザ・インターフェース要素(たとえば、ボタン、チェックボックス、ドロップダウン・リストなど)を含み得ることが理解され得る。
例示される実施形態の場合、GUI310のプロパティ・セクション316は、図7に関して上記で論じたように、トピック・フローに関連付けられたNLUモデルで定義されたエンティティから設計者の選択を受け取り、提示するように設計された「関連エンティティ」ドロップダウン・リスト326を含む。例示されるGUI310のプロパティ・セクション316はまた、エンティティがユーザ発話226で識別されたときに、ドロップダウン・リスト326において選択されたエンティティが、選択されたユーザ入力ノード318を埋めるように適用されるべきであるか否かを示す(たとえば、選択された、未選択の)ブール値を受け取り、提示するように設計された「エンティティが満たされている場合にノードをスキップ」チェックボックス328を含む。したがって、チェックボックス328が選択され、以前に受け取ったユーザ発話内で@desktopエンティティが識別されると、トピック・フロー312は、このエンティティ値を入力データとして入力ノード318に適用し、次に、トピック・フローにおける次のノードの実行に進む。「エンティティが満たされている場合にノードをスキップ」チェックボックス328が選択されていない場合、または選択され、以前に受け取ったユーザ発話内で@desktopエンティティが定義されていない場合、入力ノードは、「プロンプト」フィールド324によって示される値に基づいて、ユーザに、ユーザ入力ノードのデータを促す。
例示される実施形態の場合、GUI310のプロパティ・セクション316は、仮想エージェント225によって、ユーザが、自然言語の発話を使用してプロンプトに応答できるか否かを示す(たとえば、選択された、未選択の)ブール値を受け取り、提示するように設計された「NLUユーザ入力を伴う」チェックボックス330を含む。たとえば、このチェックボックス330が選択され、関連付けられたエンティティが、以前に受け取られた発話で識別されない場合、仮想エージェント225は、「プロンプト」フィールド324によって示される値を用いてユーザを促し、自然言語の発話を提供することによってユーザが応答できるようにする。この要素が選択されておらず、関連付けられたエンティティが、以前に受け取られた発話において提供されていない場合、仮想エージェント225は、「プロンプト」フィールド324によって示されるテキストをユーザに提供し、ユーザ・インターフェース要素(たとえば、ボタン、チェックボックス、ドロップダウン・リスト)を提供し、これによって、ユーザは、プロンプトに応答するためにインタラクトできる。
図8に例示される実施形態の場合、GUI310のプロパティ・セクション316は、仮想エージェント225が、ユーザからユーザ入力データを成功裡に受け取ったことに応答して、ユーザに送信するメッセージを表す文字列値を受け取り、提示するように設計された「アクノレッジ・メッセージ」フィールド332を含む。例示される実施形態の場合、GUI310のプロパティ・セクション316は、プロンプトされたユーザからデータを受け取っていない場合に、仮想エージェント225が、フィールド322に示される「ItemsToOrder」変数へ割り当てるデフォルト値を受け取り、提示するように設計された「デフォルト値」フィールド334を含む。他の実施形態では、GUI310のプロパティ・セクション316は、ユーザ入力ノード318に関連付けられたエンティティが、定義された信頼度しきい値を下回る対応する信頼度スコアを有することに応じて、ユーザによって提供された入力を確認するために仮想エージェント225がユーザへ送信するメッセージを表す文字列値を受け取り、提示するように設計された「確認メッセージ」フィールドを含む。
それに加えて、特定の実施形態では、仮想エージェント225は、すべてのトピック・フローの実行の一部として、仮想エージェント225によって実行される一連のステップを定義するグローバル・トピック・フローを含み得る。たとえば、図9は、仮想エージェント225によって実行されるグローバル・トピック・フロー340の実施形態のブロック図である。例示されるグローバル・トピック・フロー340は、仮想エージェント225がユーザと行うすべての自然言語交換に対して発生する特定のアクティビティを定義し、その結果、全体的な会話構造が、標準化され、仮想エージェント225とのすべてのユーザ・インタラクションにわたって均一化できる。それに加えて、グローバル・トピック・フロー340は、すべての会話の会話構造および仮想エージェント225の動作を変更するために、開発者によって調整される一元化されたフローを提供する。
図9に例示される実施形態の場合、グローバル・トピック・フロー340は、ユーザにグリーティングを出力するように構成された「グリーティング」出力ノード342で始まる。開発者は、仮想エージェント225とのすべての会話が、同じ適切なグリーティング・メッセージで始まるように、このノードの出力をカスタマイズできる。たとえば、開発者は、「こんにちは@user_name、今日は@task_countタスクがリストされているようです。どのようにお手伝いしましょうか?」のようなメッセージを出力するように「グリーティング」出力ノード342を構成し得る。
グローバル・トピック・フロー340の例示された実施形態は、グリーティング・メッセージに応じてユーザ発話を受け取るように構成された「トピック・ピッカ制御」ユーザ入力ノード344で継続する。ユーザ発話を受け取った後、グローバル・トピック・フロー340の例示される実施形態は、受け取ったユーザ発話に基づいて、適切なトピック・フローを識別および実行するように構成された「トピック発見」スクリプト・ノード346を含む。すなわち、図5に関して上記で論じたように、仮想エージェント225は、ユーザ発話を受け取り、処理のためにユーザ発話をNLUサービス222に提供し、NLUサービス222から、スコア付けされたインテントおよびエンティティのセット248を受け取る。次に、仮想エージェント225は、図7に関して上記で論じたように、トピック・フローに関連付けられたスコア付けされたインテントおよびエンティティのセット248の適切に高い信頼度のインテントに基づいて、実行するトピック・フローの識別を試みる。仮想エージェント225が、関連付けられたトピック・フローを成功裡に識別すると、仮想エージェント225は、識別されたトピック・フローに切り替わり、識別されたトピック・フローの実行を開始する。したがって、「トピック発見」スクリプト・ノード346は、図5に関して上記で論じたように、トピック発見、トピック切替、およびトピック・フロー実行を処理することが理解され得る。したがって、特定の実施形態では、「トピック発見」スクリプト・ノード346は、切り替えられたトピック・フローの完了後に、元のトピック・フローが再開されるか否かなど、トピック切替がどのように開始されるべきかを定義する命令を含み得る。特定の実施形態では、「トピック発見」スクリプト・ノード346は、スコア付けされたインテントおよびエンティティのセット248が、特定のトピック・フローに関連付けられた、適切に信頼度の高いインテントを含まない場合に、仮想エージェント225に対して、エラー・トピック・フローを実行するように促す命令も含む。特定の実施形態では、「トピック発見」スクリプト・ノード346は、ライブ・エージェントがユーザによって要求された場合など、ユーザとのインタラクションを再開するために、ユーザ発話を、ライブ・エージェントにルート付けするライブ・エージェント・トピック・フローへの切替も処理する。
1つまたは複数のトピック・フローの実行が完了すると、グローバル・トピック・フロー340の例示された実施形態は、ユーザにプロンプトし、ユーザが別のトピックに対処したいか否かを示す入力(たとえば、自然言語発話)を受け取るように構成された「その他?」ユーザ入力ノード348(本明細書では、追加トピック入力ノードとも称される)で継続する。上記で論じたユーザ入力のための他のプロンプトと同様に、特定の実施形態では、プロンプトは、ユーザからの自然な言語応答を引き出すためにユーザに提示される質問(たとえば、「他に何か要求はありますか?」)であり得る一方、他のプロンプトは、(たとえば、マウス、キーボード、タッチスクリーンなどを介して)ユーザからの非自然言語入力を受け取るユーザ・インターフェース要素(たとえば、「はい」ボタンおよび「いいえ」ボタン)を含み得る。
仮想エージェント225は、ユーザの応答を処理し、決定ノード350に続き、仮想エージェント225は、受け取られたユーザ入力が、論じられるべき追加のトピックを示すか否かを決定する。ノード348において受け取られたユーザ応答が、論じられるべき追加のトピックを示している場合、仮想エージェント225は、矢印352によって示されるように、「トピック・ピッカ制御」ユーザ入力ノード344に戻る。ユーザ応答が自然言語発話である実施形態の場合、仮想エージェント225は、特定のトピック・フローに関連付けられた、適切に信頼度の高いインテントを識別するために、上記で論じたように、NLUサービス222を使用して、ユーザ発話を処理する。したがって、これらの実施形態の場合、仮想エージェント225は、論じる追加のトピックをユーザに促すのではなく、識別されたインテントを「トピック・ピッカ制御」ユーザ入力ノード344に適用し、「トピック発見」スクリプト・ノード346に進み得る。
図9に例示されるグローバル・トピック・フロー340の実施形態の場合、仮想エージェント225は、決定ノード350において、ユーザがこれ以上論じるべきトピックがないと決定した場合、仮想エージェント225は、ユーザに、仮想エージェント225を使用するユーザのエクスペリエンスについて、1つまたは複数の質問を促すように構成された「調査」スクリプト・ノード354に進み得る。「調査」スクリプト・ノード354は、プロンプトに応答してユーザ入力を受け取り、システムの継続的な開発中に、開発者によるレビューのためにユーザの応答を格納するようにさらに構成される。例示される実施形態の場合、「調査」スクリプト・ノード354の実行を完了した後、仮想エージェント225は、グローバル・トピック・フロー340の実行を終了する。
図10は、仮想エージェント225のグローバル・トピック・フロー(たとえば、図9のグローバル・トピック・フロー340)を設計するために使用されるGUI360の実施形態のシミュレートされたスクリーンショットである。GUI360は単なる例であり、他の実施形態では、GUI360は、本開示にしたがって、追加のフィールドまたはより少ないフィールドを含み得ることが理解され得る。例示されるGUI360は、たとえば、図9に例示されるグローバル・トピック・フロー340の「グリーティング」出力ノード342によって、グローバル・トピック・フローの開始時に実行されるべきトピック・フローの開発者選択を受け取り、提示するように設計された「ウェルカム・トピック」ドロップダウン・メニュー362を含む。例示されるGUI360は、たとえば、図9に例示される「調査」スクリプト・ノード354によって、グローバル・トピック・フローの最後に実行されるべきトピック・フローの開発者選択を受け取り、提示するように設計された「調査トピック」ドロップダウン・メニュー364を含む。
それに加えて、図10に例示されるGUI360は、グローバル・トピック・フローの実行中に、異なる条件に応じて実行される追加のトピック・フローを定義するための追加のフィールドを含む。たとえば、例示されるGUI360は、ユーザが、グローバル・トピック・フローの実行中に、ライブ・エージェントとインタラクトするように要求したことに応答して、実行されるトピック・フローの開発者選択を受け取り、提示するように設計された「ライブ・エージェント・トピック」ドロップダウン・メニュー366を含む。「ヘルプ・トピック探索」ドロップダウン・メニュー368は、ユーザが、仮想エージェント225とインタラクトする方法に関するヘルプを要求したことに応答して、実行されるトピック・フローの開発者選択を受け取り、提示するように設計される。「エラー・トピック」ドロップダウン・メニュー370は、グローバル・トピック・フローの実行中にエラーが発生したことに応答して、実行されるトピック・フローの開発者選択を受け取り、提示するように設計される。「クロージング・トピック」ドロップダウン・メニュー372は、「調査トピック」ドロップダウン・メニュー354によって示されるトピック・フローの前に、実行され得るトピック・フローの開発者選択を受け取り、提示するように設計される。「フォールバック・トピック」ドロップダウン・メニュー374は、仮想エージェント225が、ユーザ発話に応じて、対応するトピック・フローを識別できないときに、実行され得るトピック・フローの開発者選択を受け取り、提示するように設計される。「その他」ドロップダウン・メニュー376は、ユーザに、処理する追加の要求があるか否かを決定するために、「その他?」ユーザ入力ノード348の一部として実行され得るトピック・フローの開発者選択を受け取り、提示するように設計される。
本開示の技術的効果は、改善された自然言語理解(NLU)能力を備えた仮想エージェントを含む。開示された仮想エージェントは、ユーザとの自然言語の会話中に、トピック選択およびトピック変更を可能にする。より具体的には、開示された仮想エージェントは、受け取ったユーザ発話で識別されたインテントに基づいて、実行するのに適したトピック・フローを選択するように設計される。さらに、開示された仮想エージェントは、仮想エージェントとの会話中に、自然言語要求でユーザによって伝達されたすべてのインテントを格納および適用することができ、これにより、仮想エージェントは、ユーザに冗長な情報を提供するように促すことを回避できる。それに加えて、開示された仮想エージェントは、グローバル・トピック・フローの作成および実行をサポートし、これにより、仮想エージェントとのすべてのインタラクションが、事前定義されたカスタマイズ可能なパターンに従うことができる。したがって、開示された仮想エージェントは、仮想エージェントのパフォーマンスおよび使いやすさを改善し、ユーザの全体的なエクスペリエンスを改善する。
上記の特定の実施形態は、例として示されているが、これらの実施形態は、様々な修正および代替形態の影響を受けやすい可能性があることを理解されたい。特許請求の範囲は、開示された特定の形態に限定されることを意図するのではなく、むしろ、本開示の精神および範囲内にあるすべての修正、均等物、および代替物を網羅することを意図することをさらに理解されたい。
本明細書で提示および特許請求される技法は、本技術分野を明らかに改善し、したがって、抽象的、非有形的、または純粋に理論的ではない、物質的対象および実用的性質の具体例に対する参照および適用がなされる。

Claims (20)

  1. 1つ以上のプロセッサによって実行される、仮想エージェントを操作する方法であって、
    (A)ユーザ発話を受け取るステップと、
    (B)自然言語理解(NLU)サービスに前記ユーザ発話を提供するステップと、
    (C)前記NLUサービスから、前記ユーザ発話から導出されたスコア付けされたインテントおよびエンティティのセットを受け取るステップと、
    (D)前記スコア付けされたインテントおよびエンティティのセットからのインテントが、現在実行中のトピック・フローに対応するか否かを決定し、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントが、前記現在実行中のトピック・フローに対応すると決定したことに応答して、前記現在実行中のトピック・フローを選択し、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントが、前記現在実行中のトピック・フローに対応しないと決定したことに応答して、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントに関連付けられた別のトピック・フローを選択するステップと、
    (E)前記スコア付けされたインテントおよびエンティティのセットからのエンティティを、前記選択されたトピック・フローの入力ノードに適用するステップと、
    (F)前記ユーザ発話に応答するために、前記トピック・フローを実行するステップと
    を含む、方法。
  2. 前記トピック・フローの実行中に、第2のユーザ発話を受け取るステップと、
    前記NLUサービスに第2のユーザ発話を提供するステップと、
    前記NLUサービスから、前記第2のユーザ発話から導出された第2のスコア付けされたインテントおよびエンティティのセットを受け取るステップと、
    前記第2のスコア付けされたインテントおよびエンティティのセットからの第2のインテントが、第2のトピック・フローに関連付けられていると決定したことに応答して、前記第2のトピック・フローを選択するステップと、
    前記スコア付けされたインテントおよびエンティティのセット、もしくは前記第2のスコア付けされたインテントおよびエンティティのセット、またはそれらの組合せからのエンティティを、前記第2のトピック・フローのデータ入力ノードに適用するステップと、
    前記第2のユーザ発話に応答するために、前記第2のトピック・フローを実行するステップと
    を含む、請求項1に記載の方法。
  3. 前記第2のトピック・フローの実行が完了した後、前記トピック・フローの実行を再開するステップを含む、請求項2に記載の方法。
  4. 前記ユーザ発話を受け取る前に、事前定義されたグリーティングを出力するステップを含む、請求項1に記載の方法。
  5. 前記トピック・フローを実行した後、論じられるべき追加のトピックがあるか否かを尋ねる、事前定義されたプロンプトを出力するステップと、
    前記事前定義されたプロンプトに応答して、ユーザ入力を受け取るステップと、
    前記ユーザ入力に基づいて、前記論じられるべき追加のトピックを識別したことに応答して、前記追加のトピックについて前記ステップ(A)(B)(C)(D)(E)、および(F)の実行を繰り返すステップと
    を含む、請求項1に記載の方法。
  6. 前記ユーザ入力は、第2のユーザ発話であり、
    前記NLUサービスに第2のユーザ発話を提供するステップと、
    前記NLUサービスから、前記第2のユーザ発話から導出された第2のスコア付けされたインテントおよびエンティティのセットを受け取るステップと、
    前記第2のユーザ発話から導出された前記第2のスコア付けされたインテントおよびエンティティのセットに基づいて、前記論じられるべき追加のトピックを識別するステップと
    を含む、請求項5に記載の方法。
  7. 前記事前定義されたプロンプトは、ユーザ・インターフェース要素を含み、前記ユーザ入力を受け取るステップは、前記事前定義されたプロンプトの前記ユーザ・インターフェース要素とのユーザ・インタラクションに基づいて、前記ユーザ入力を受け取るステップを含む、請求項6に記載の方法。
  8. 前記トピック・フローを実行した後、事前定義された調査質問を出力するステップと、
    前記事前定義された調査質問に応じて、ユーザ入力を受け取り、格納するステップと
    を含む、請求項1に記載の方法。
  9. 1つ以上のプロセッサによって実行される、仮想エージェントを操作する方法であって、
    グローバル・トピック・フローを実行するステップを備え、前記グローバル・トピック・フローは、トピック発見ノードを含み、前記グローバル・トピック・フローの前記トピック発見ノードを実行するステップは、
    ユーザからユーザ発話を受け取るステップと、
    自然言語理解(NLU)サービスに前記ユーザ発話を提供するステップと、
    前記NLUサービスから、前記ユーザ発話から導出された、スコア付けされたインテントおよびエンティティのセットを受け取るステップと、
    前記スコア付けされたインテントおよびエンティティのセットからのインテントが、現在実行中のトピック・フローに対応するか否かを決定し、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントが、前記現在実行中のトピック・フローに対応すると決定したことに応答して、前記現在実行中のトピック・フローを選択し、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントが、前記現在実行中のトピック・フローに対応しないと決定したことに応答して、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントに関連付けられた別のトピック・フローを選択するステップと、
    前記スコア付けされたインテントおよびエンティティのセットからのエンティティを、前記選択されたトピック・フローの入力ノードに適用するステップと、
    前記ユーザ発話に応答するために、前記トピック・フローを実行するステップと
    を含む、方法。
  10. 前記グローバル・トピック・フローは、前記トピック発見ノードの前に実行されるグリーティング・ノードを含み、前記グローバル・トピック・フローの前記グリーティング・ノードを実行するステップは、事前定義されたグリーティングを前記ユーザに出力するステップを含む、請求項9に記載の方法。
  11. 前記グローバル・トピック・フローは、前記トピック発見ノードの後に実行される追加のトピック・ノードを含み、前記グローバル・トピック・フローの前記追加のトピック・ノードを実行するステップは、
    ユーザに、論じられるべき追加のトピックがあるか否かを尋ねるために、事前定義されたプロンプトを前記ユーザに出力するステップと、
    前記事前定義されたプロンプトに応答して、前記ユーザから入力を受け取るステップと
    を含む、請求項9に記載の方法。
  12. 前記グローバル・トピック・フローは、前記追加のトピック・ノードの後に実行される決定ノードを含み、前記グローバル・トピック・フローの前記決定ノードを実行するステップは、
    前記ユーザから受け取った入力に基づいて、前記ユーザに、論じられるべき追加のトピックがあると決定したことに応答して、前記トピック発見ノードの実行を繰り返すステップを含む、請求項11に記載の方法。
  13. 前記グローバル・トピック・フローは、前記トピック発見ノードの後に実行される調査ノードを含み、前記グローバル・トピック・フローの前記調査ノードを実行するステップは、
    事前定義された調査質問を、前記ユーザに出力するステップと、
    前記事前定義された調査質問に応答して、ユーザ入力を受け取って格納するステップと
    を含む、請求項9に記載の方法。
  14. コンピューティング・システムのプロセッサにグローバル・トピック・フローを実行させるためのプログラムを格納する非一時的なコンピュータ可読記録媒体であって、前記グローバル・トピック・フローはトピック発見ノードを含み、
    前記プロセッサは、前記トピック発見ノードを実行することによって、
    ユーザからユーザ発話を受け取り、
    自然言語理解(NLU)サービスに前記ユーザ発話を提供し、
    前記NLUサービスから、前記ユーザ発話から導出された、スコア付けされたインテントおよびエンティティのセットを受け取り、
    前記スコア付けされたインテントおよびエンティティのセットからのインテントが、現在実行中のトピック・フローに対応するか否かを決定し、前記スコア付けされたインテントおよびエンティティのセットから前記のインテントが、前記現在実行中のトピック・フローに対応すると決定したことに応答して、前記現在実行中のトピック・フローを選択し、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントが、前記現在実行中のトピック・フローに対応しないと決定したことに応答して、前記スコア付けされたインテントおよびエンティティのセットからの前記インテントに関連付けられた別のトピック・フローを選択し
    前記スコア付けされたインテントおよびエンティティのセットからのエンティティを、前記選択されたトピック・フローの入力ノードに適用し、
    前記ユーザ発話に応答するために、前記トピック・フローを実行する、
    ように構成される、非一時的なコンピュータ可読記録媒体。
  15. 前記プロセッサは、
    前記トピック・フローの実行中に、第2のユーザ発話を受け取り、
    前記NLUサービスに第2のユーザ発話を提供し、
    前記NLUサービスから、前記第2のユーザ発話から導出された第2のスコア付けされたインテントおよびエンティティのセットを受け取り、
    前記第2のスコア付けされたインテントおよびエンティティのセットからの第2のインテントが、第2のトピック・フローに関連付けられていると決定したことに応答して、前記第2のトピック・フローを選択し、
    前記スコア付けされたインテントおよびエンティティのセット、もしくは前記第2のスコア付けされたインテントおよびエンティティのセット、またはそれらの組合せからのエンティティを、前記第2のトピック・フローのデータ入力ノードに適用し、
    前記第2のユーザ発話に応答するために、前記第2のトピック・フローを実行する、
    ように構成される、請求項14に記載の非一時的なコンピュータ可読記録媒体。
  16. 前記プロセッサは、
    前記第2のトピック・フローの実行が完了した後、前記トピック・フローの実行を再開する、
    ように構成される、請求項15に記載の非一時的なコンピュータ可読記録媒体。
  17. 前記グローバル・トピック・フローはグリーティング・ノードを含み、
    前記プロセッサは、
    前記トピック発見ノードを実行する前に、前記グリーティング・ノードを実行することによって、事前定義されたグリーティングを前記ユーザに出力する、
    ように構成される、請求項14に記載の非一時的なコンピュータ可読記録媒体。
  18. 前記グローバル・トピック・フローは追加のトピック・ノードを含み、
    前記プロセッサは、前記トピック発見ノードを実行した後、前記追加のトピック・ノードを実行することによって、
    前記ユーザに、論じられるべき追加のトピックがあるか否かを尋ねるために、事前定義されたプロンプトを前記ユーザに出力し、
    前記事前定義されたプロンプトに応答して、前記ユーザから入力を受け取る、
    ように構成される、請求項14に記載の非一時的なコンピュータ可読記録媒体。
  19. 前記グローバル・トピック・フローは決定ノードを含み、
    前記プロセッサは、前記追加のトピック・ノードを実行した後、前記決定ノードを実行することによって、
    前記ユーザから受け取った前記入力に基づいて、前記ユーザに、論じられるべき追加のトピックがあると決定したことに応答して、前記トピック発見ノードの実行を繰り返す、
    ように構成される、請求項18に記載の非一時的なコンピュータ可読記録媒体。
  20. 前記グローバル・トピック・フローは調査ノードを含み、
    前記プロセッサは、前記トピック発見ノードを実行した後に、前記調査ノードを実行することによって、
    事前定義された調査質問を前記ユーザに出力し、
    前記事前定義された調査質問に応答して、前記ユーザからの入力を受け取り、格納する、
    ように構成される、請求項14に記載の非一時的なコンピュータ可読記録媒体。
JP2021556537A 2019-03-19 2020-03-19 クラウド・コンピューティング環境における仮想エージェントのためのシステムおよび方法 Active JP7344310B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962820736P 2019-03-19 2019-03-19
US62/820,736 2019-03-19
US16/431,185 2019-06-04
US16/431,185 US11790176B2 (en) 2019-03-19 2019-06-04 Systems and methods for a virtual agent in a cloud computing environment
PCT/US2020/023682 WO2020191219A1 (en) 2019-03-19 2020-03-19 Systems and methods for a virtual agent in a cloud computing environment

Publications (2)

Publication Number Publication Date
JP2022525480A JP2022525480A (ja) 2022-05-16
JP7344310B2 true JP7344310B2 (ja) 2023-09-13

Family

ID=72513622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021556537A Active JP7344310B2 (ja) 2019-03-19 2020-03-19 クラウド・コンピューティング環境における仮想エージェントのためのシステムおよび方法

Country Status (5)

Country Link
US (2) US11790176B2 (ja)
JP (1) JP7344310B2 (ja)
KR (1) KR102623476B1 (ja)
AU (1) AU2020240106B2 (ja)
WO (1) WO2020191219A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220310079A1 (en) * 2019-07-18 2022-09-29 Sri International The conversational assistant for conversational engagement
US11140042B2 (en) * 2019-09-18 2021-10-05 Servicenow, Inc. Dictionary-based service mapping
JP7420109B2 (ja) * 2021-04-08 2024-01-23 トヨタ自動車株式会社 情報出力システム、サーバ装置および情報出力方法
US11893401B1 (en) * 2022-12-06 2024-02-06 Capital One Services, Llc Real-time event status via an enhanced graphical user interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009036998A (ja) 2007-08-01 2009-02-19 Infocom Corp コンピュータによる対話方法、対話システム、コンピュータプログラムおよびコンピュータに読み取り可能な記憶媒体
US20140278413A1 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
US20180189267A1 (en) 2016-12-30 2018-07-05 Google Inc. Context-aware human-to-computer dialog
JP2018185561A (ja) 2017-04-24 2018-11-22 株式会社日立製作所 対話支援システム、対話支援方法、及び対話支援プログラム

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001286145A1 (en) 2000-07-10 2002-01-21 It Masters Technologies S.A. System and method of enterprise systems and business impact management
US6609122B1 (en) 2000-08-01 2003-08-19 Bmc Software, Inc. Navigation of view relationships in database system
US7028301B2 (en) 2000-12-08 2006-04-11 Bmc Software, Inc. System and method for automatic workload characterization
US7170864B2 (en) 2001-03-08 2007-01-30 Bmc Software, Inc. System and method for WAP server management using a single console
US7506047B2 (en) 2001-03-30 2009-03-17 Bmc Software, Inc. Synthetic transaction monitor with replay capability
US7089245B1 (en) 2001-08-31 2006-08-08 Bmc Software, Inc. Service desk data transfer interface
WO2003075117A2 (en) 2002-03-01 2003-09-12 Bmc Software, Inc. System and method for assessing and indicating the health of components
US7131037B1 (en) 2002-06-05 2006-10-31 Proactivenet, Inc. Method and system to correlate a specific alarm to one or more events to identify a possible cause of the alarm
US7020706B2 (en) 2002-06-17 2006-03-28 Bmc Software, Inc. Method and system for automatically updating multiple servers
US8793127B2 (en) 2002-10-31 2014-07-29 Promptu Systems Corporation Method and apparatus for automatically determining speaker characteristics for speech-directed advertising or other enhancement of speech-controlled devices or services
US7606714B2 (en) * 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US7062683B2 (en) 2003-04-22 2006-06-13 Bmc Software, Inc. Two-phase root cause analysis
US7945860B2 (en) 2003-05-14 2011-05-17 Hewlett-Packard Development Company, L.P. Systems and methods for managing conversations between information technology resources
US7925981B2 (en) 2003-05-14 2011-04-12 Hewlett-Packard Development Company, L.P. Systems and methods for managing web services via a framework of interfaces
US7882213B2 (en) 2003-06-03 2011-02-01 Bmc Software, Inc. Network management system to monitor managed elements
US7689628B2 (en) 2005-05-19 2010-03-30 Atul Garg Monitoring several distributed resource elements as a resource pool
US8224683B2 (en) 2003-07-08 2012-07-17 Hewlett-Packard Development Company, L.P. Information technology service request level of service monitor
US7133884B1 (en) 2003-11-26 2006-11-07 Bmc Software, Inc. Unobtrusive point-in-time consistent copies
WO2006069359A2 (en) 2004-12-21 2006-06-29 Bmc Software, Inc. System and method for business service management and modeling
US7716353B2 (en) 2005-12-21 2010-05-11 Bmc Software, Inc. Web services availability cache
US7610512B2 (en) 2006-01-06 2009-10-27 Hewlett-Packard Development Company, L.P. System and method for automated and assisted resolution of it incidents
US8887133B2 (en) 2006-04-28 2014-11-11 Bmc Software, Inc. Bi-directional communication between change management tool and implementation tools
US8555287B2 (en) 2006-08-31 2013-10-08 Bmc Software, Inc. Automated capacity provisioning method using historical performance data
WO2008028287A1 (en) 2006-09-08 2008-03-13 Memory Experts International Inc. Automated security privilege setting for remote system users
US8051164B2 (en) 2007-12-14 2011-11-01 Bmc Software, Inc. Impact propagation in a directed acyclic graph having restricted views
US8743121B2 (en) 2009-12-23 2014-06-03 Bmc Software, Inc. Smart impact views
US9122536B2 (en) 2009-12-30 2015-09-01 Bmc Software, Inc. Automating application provisioning for heterogeneous datacenter environments
US9805322B2 (en) 2010-06-24 2017-10-31 Bmc Software, Inc. Application blueprint and deployment model for dynamic business service management (BSM)
US8832652B2 (en) 2010-03-26 2014-09-09 Bmc Software, Inc. Method for customizing software applications
US8478569B2 (en) 2010-03-26 2013-07-02 Bmc Software, Inc. Auto adjustment of baseline on configuration change
US8457928B2 (en) 2010-03-26 2013-06-04 Bmc Software, Inc. Automatic determination of dynamic threshold for accurate detection of abnormalities
US8674992B2 (en) 2010-06-24 2014-03-18 Bmc Software, Inc. Spotlight graphs
US8402127B2 (en) 2010-06-28 2013-03-19 Bmc Software, Inc. System and method for offering virtual private clouds within a public cloud environment
US8689241B2 (en) 2011-09-30 2014-04-01 Bmc Software, Inc. Dynamic evocations for computer event management
US9542956B1 (en) * 2012-01-09 2017-01-10 Interactive Voice, Inc. Systems and methods for responding to human spoken audio
US8914768B2 (en) 2012-03-28 2014-12-16 Bmc Software, Inc. Automated blueprint assembly for assembling an application
US8892419B2 (en) 2012-04-10 2014-11-18 Artificial Solutions Iberia SL System and methods for semiautomatic generation and tuning of natural language interaction applications
US9122552B2 (en) 2012-06-29 2015-09-01 Bmc Software, Inc. Hybrid cloud infrastructures
US9679300B2 (en) * 2012-12-11 2017-06-13 Nuance Communications, Inc. Systems and methods for virtual agent recommendation for multiple persons
US9645833B2 (en) 2012-12-31 2017-05-09 Bmc Software, Inc. Additive independent object modification
US9317327B2 (en) 2013-02-28 2016-04-19 Bmc Software, Inc. Computing infrastructure planning
US9098322B2 (en) 2013-03-15 2015-08-04 Bmc Software, Inc. Managing a server template
US9355223B2 (en) * 2013-03-29 2016-05-31 Citrix Systems, Inc. Providing a managed browser
WO2014197335A1 (en) * 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US9654473B2 (en) 2013-06-28 2017-05-16 Bmc Software, Inc. Authentication proxy agent
US9734193B2 (en) * 2014-05-30 2017-08-15 Apple Inc. Determining domain salience ranking from ambiguous words in natural speech
US9633004B2 (en) * 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9767794B2 (en) * 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
US9535737B2 (en) 2015-01-30 2017-01-03 Bladelogic, Inc. Dynamic virtual port provisioning
EP3374880A1 (en) * 2015-11-12 2018-09-19 Semantic Machines, Inc. Interaction assistant
WO2018195487A1 (en) * 2017-04-20 2018-10-25 Semantic Machines, Inc. Automated assistant data flow
US10394957B2 (en) * 2017-09-25 2019-08-27 Microsoft Technology Licensing, Llc Signal analysis in a conversational scheduling assistant computing system
US11238850B2 (en) * 2018-10-31 2022-02-01 Walmart Apollo, Llc Systems and methods for e-commerce API orchestration using natural language interfaces
GB201818237D0 (en) * 2018-11-08 2018-12-26 Polyal A dialogue system, a dialogue method, a method of generating data for training a dialogue system, a system for generating data for training a dialogue system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009036998A (ja) 2007-08-01 2009-02-19 Infocom Corp コンピュータによる対話方法、対話システム、コンピュータプログラムおよびコンピュータに読み取り可能な記憶媒体
US20140278413A1 (en) 2013-03-15 2014-09-18 Apple Inc. Training an at least partial voice command system
US20180189267A1 (en) 2016-12-30 2018-07-05 Google Inc. Context-aware human-to-computer dialog
JP2018185561A (ja) 2017-04-24 2018-11-22 株式会社日立製作所 対話支援システム、対話支援方法、及び対話支援プログラム

Also Published As

Publication number Publication date
WO2020191219A1 (en) 2020-09-24
KR102623476B1 (ko) 2024-01-09
KR20210138095A (ko) 2021-11-18
US11790176B2 (en) 2023-10-17
AU2020240106B2 (en) 2022-12-08
US20230409837A1 (en) 2023-12-21
AU2020240106A1 (en) 2021-10-14
JP2022525480A (ja) 2022-05-16
US20200302020A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
JP7344310B2 (ja) クラウド・コンピューティング環境における仮想エージェントのためのシステムおよび方法
JP7263442B2 (ja) モバイルアプリケーションのリアルタイム遠隔制御のためのシステムおよび方法
US10742814B1 (en) Workflow based communications routing
US10255917B2 (en) Coordinating the execution of a voice command across multiple connected devices
US9774658B2 (en) Orchestration framework for connected devices
US20180075335A1 (en) System and method for managing artificial conversational entities enhanced by social knowledge
US20210342547A1 (en) System for focused conversation context management in a reasoning agent/behavior engine of an agent automation system
US11423910B2 (en) Systems and method for third party natural language understanding service integration
KR102601615B1 (ko) 동적 번역
US20230141398A1 (en) Data augmentation for intent classification
US20220131816A1 (en) Virtual agent portal integration of two frameworks
CN107800781A (zh) 一种配置数据处理方法和装置
JP7391917B2 (ja) インテリジェント自動音声応答(ivr)ナビゲータ
US11513823B2 (en) Chat interface for resource management
US9866504B2 (en) Identifying end users in need of technical assistance
US11127402B2 (en) Systems and methods for voice development frameworks
JP7296476B2 (ja) ケース・マネジメントのためのアクション決定
US12015739B2 (en) Integrated customer information user interface
US20210406274A1 (en) Systems and methods for database delta automation
JP7336534B2 (ja) 作業アイテムのスキル決定のためのシステムおよび方法
US20230018601A1 (en) Invokable automated agent for interactive workflows
US20220230181A1 (en) Next best action framework with nested decision trees
US20230169418A1 (en) Intelligent invitation system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211102

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230420

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: 20230808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230901

R150 Certificate of patent or registration of utility model

Ref document number: 7344310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150