JP2021176092A - Virtual Assistant Domain Selection Analysis - Google Patents

Virtual Assistant Domain Selection Analysis Download PDF

Info

Publication number
JP2021176092A
JP2021176092A JP2021117153A JP2021117153A JP2021176092A JP 2021176092 A JP2021176092 A JP 2021176092A JP 2021117153 A JP2021117153 A JP 2021117153A JP 2021117153 A JP2021117153 A JP 2021117153A JP 2021176092 A JP2021176092 A JP 2021176092A
Authority
JP
Japan
Prior art keywords
domain
domains
query
platform
virtual assistant
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
JP2021117153A
Other languages
Japanese (ja)
Other versions
JP7465415B2 (en
Inventor
バーナード・モン−レイノー
Mont-Reynaud Bernard
ジョナ・プロベル
Probell Jonah
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.)
SoundHound Inc
Original Assignee
SoundHound 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
Priority claimed from US16/213,020 external-priority patent/US20200183815A1/en
Application filed by SoundHound Inc filed Critical SoundHound Inc
Publication of JP2021176092A publication Critical patent/JP2021176092A/en
Application granted granted Critical
Publication of JP7465415B2 publication Critical patent/JP7465415B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • G06Q20/145Payments according to the detected use or quantity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computational Linguistics (AREA)
  • Finance (AREA)
  • Artificial Intelligence (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

To provide a user interface for a virtual assistant platform to configure a domain enable for a virtual assistant by an application developer.SOLUTION: A test query set may be uploaded, and statistical analysis may be displayed for the number of test query provided by each selected domain and the use cost of each domain. Cost may vary according to a complex price setting model. A user interface provides a table, a cost stack chart, and a display view of a histogram to notify a decision to trade off cost and benefit to virtual assistant user experience. A platform interface shows possible responses expected from various domains relative to each query. A platform provider promotes a particular selected domain.SELECTED DRAWING: Figure 1

Description

背景
サウンドハウンド社のハウンド、グーグルアシスタント、アマゾンアレクサ、百度度秘、アップルシリ、ライン/ネイバークローバ、マイクロソフトコルタナ、KTギガジニー、SKテレコムNUGUおよびオープンソースマイクロフトなどの仮想アシスタントを使用する人が増加している。第一世代仮想アシスタントは、仮想アシスタント機能を提供する企業のブランドのコンピュータ、スマートフォンまたはホームスピーカデバイスでしか利用できなかった。それらは、設定可能ではなく、企業が社内で開発したカスタム機能のみをサポートしていた。
Background More and more people are using virtual assistants such as SoundHound's Hound, Google Assistant, Amazon Alexa, Baidu Secret, Apple Siri, Line / Neighbor Clover, Microsoft Cortana, KT Gigajiny, SK Telecom NUGU and Open Source Microft. ing. First-generation virtual assistants were only available on corporate branded computers, smartphones or home speaker devices that offered virtual assistant functionality. They weren't configurable and only supported custom features that the company developed in-house.

現行の仮想アシスタントは、テキスト対応であってもよい。それらは、書かれた自然言語テキストを理解し、書かれた自然言語応答を行うことができる。いくつかの実施形態は、音声対応である。それらは、話された自然言語を理解し、テキスト、合成音声、画像、グラフィックアニメーション、オーディオおよびビデオクリップなどの様式で応答してもよい。 The current virtual assistant may be text-enabled. They can understand written natural language texts and make written natural language responses. Some embodiments are voice-aware. They may understand the spoken natural language and respond in the form of text, synthetic speech, images, graphic animations, audio and video clips.

概要
仮想アシスタント(「VA」)を含む自動車、ロボット、売店および機器などのアプリケーション(アプリ)またはデバイスを製造および販売する企業は、必ずしも自力で「最初から」VAを作成することに投資したいと思っているわけではない。これらの企業は、自身のカスタム仮想アシスタントの一部として既存の自然言語機能を柔軟に組み入れたいと思っている。これらの企業は、特に自身の要求基準に合わせて仮想アシスタントを構成できないことがもどかしいと感じている。
Overview Companies that manufacture and sell applications (apps) or devices such as automobiles, robots, shops and equipment, including virtual assistants (“VA”), do not necessarily want to invest in creating VA “from scratch” on their own. I'm not. These companies want the flexibility to incorporate existing natural language features as part of their custom virtual assistants. These companies find it frustrating to be unable to configure virtual assistants, especially to meet their requirements.

ドメインは、自然言語機能の単位である。ドメインは、ドメインが解釈できる一組の文によって特徴付けられ、認識された文を解釈する際に応答および作動することができる能力によって特徴付けられる。ドメインの例としては、天気についての質問に回答する天気ドメイン、ならびに、ユーザが予定を調整して管理すること、すなわち動作を要求することおよび質問すること、を可能にするカレンダドメインが挙げられる。 A domain is a unit of natural language function. A domain is characterized by a set of sentences that the domain can interpret, and by its ability to respond and act in interpreting the recognized sentence. Examples of domains include weather domains that answer questions about weather, as well as calendar domains that allow users to coordinate and manage appointments, that is, request actions and ask questions.

たとえばサウンドハウンド社のハウンディファイ(Houndify)などのいくつかのVA開発プラットフォーム(「プラットフォーム」)は、開発プラットフォームで利用可能なドメインのメニューを提供することによって仮想アシスタントの開発者(「VA開発者」)をサポートする。このようなプラットフォームでは、VA開発者は、既にプラットフォームに知られているドメインのアレイを含む、自ら設計したカスタム仮想アシスタントに含めるようにドメインを選択する。いくつかの実施形態は、このようなプラットフォームを使用して仮想アシスタントを構成することを提供する。いくつかの実施形態は、このようなプラットフォームを備える。いくつかの実施形態では、プラットフォームは、ドメインプロバイダが仮想アシスタントに一体化されるようにドメインを提供するためのインターフェイスを提供する。ドメインプロバイダによって提供される情報は、ドメインを選択する仮想アシスタントにおいてドメインの機能をサポートするのに十分である。いくつかの実施形態では、いくつかのドメインは無料である。いくつかの実施形態では、提供されたドメインは、その使用に対して関連付けられた料金を請求する。さまざまな実施形態では、支払いは、プラットフォームプロバイダによって、またはVA開発者、ユーザもしくはプラットフォームプロバイダを介したVA開発者などの他の関係者によって、ドメインプ
ロバイダに対してなされる。いくつかの実施形態では、プラットフォームプロバイダは、特定のドメインを他のドメインよりもプロモーションする。
Some VA development platforms (“platforms”), such as SoundHound's Houndify, are virtual assistant developers (“VA developers”” by providing a menu of domains available on the development platform. ) Is supported. On such platforms, VA developers choose domains to include in their own designed custom virtual assistants, including an array of domains already known to the platform. Some embodiments provide the use of such a platform to configure a virtual assistant. Some embodiments include such a platform. In some embodiments, the platform provides an interface for providing the domain so that the domain provider is integrated with the virtual assistant. The information provided by the domain provider is sufficient to support the functionality of the domain in the virtual assistant that selects the domain. In some embodiments, some domains are free. In some embodiments, the provided domain charges an associated fee for its use. In various embodiments, payments are made to the domain provider by the platform provider or by other parties such as the VA developer, the user or the VA developer through the platform provider. In some embodiments, the platform provider promotes a particular domain more than any other domain.

いくつかの実施形態は、VA開発者が、仮想アシスタントに対するテストクエリを入力して、これらのクエリに応答して仮想アシスタントがどのように挙動するかを調べることを提供する。いくつかの実施形態は、ドメインのメニューから選択されたさまざまなドメインのさまざまな条件下での仮想アシスタントの挙動を示して比較することを提供する。 Some embodiments provide a VA developer to enter test queries for a virtual assistant to see how the virtual assistant behaves in response to these queries. Some embodiments provide to show and compare the behavior of the virtual assistant under different conditions for different domains selected from the domain menu.

いくつかの実施形態は、VA開発者が大きなテストクエリセットを入力することを提供する。いくつかの実施形態は、テストクエリセットおよびドメインの選択に応答して仮想アシスタントの挙動の分析のビューを表示する。いくつかの実施形態は、セット内の全てのクエリに応答することに関連付けられたコストを分析することを提供する。いくつかの実施形態は、仮想アシスタントが解釈できるセット内のテストクエリの一部を分析することを提供する。 Some embodiments provide a VA developer to enter a large test query set. Some embodiments display a view of the analysis of the virtual assistant's behavior in response to a test query set and domain selection. Some embodiments provide analysis of the costs associated with responding to all queries in the set. Some embodiments provide analysis of some of the test queries in a set that can be interpreted by the virtual assistant.

いくつかの実施形態は、ドメインのさまざまな選択の条件下でのセット内のクエリの解釈成功率およびコストを分析するための表示ビューを提供する。いくつかの実施形態は、ドメイン結果の表形式ビューを提供する。いくつかの実施形態は、各ドメインに対して価格設定モデルを提供する。いくつかの実施形態は、各ドメインによって認識される典型的なクエリを提供する。いくつかの実施形態は、テストクエリセットと、テストクエリセットからのクエリに応答するのにかかる総コストとを提供する。いくつかの実施形態は、テストセット内のクエリに応答するのにかかるドメインごとのコストのコストスタックビューを提供する。いくつかの実施形態は、ドメイン当たり応答されるクエリのヒストグラムビューを提供する。いくつかの実施形態は、いくつかのドメインが無料であり、他のドメインがコストを請求することを示す。 Some embodiments provide a display view for analyzing the success rate and cost of interpreting queries in a set under the conditions of various selections of domains. Some embodiments provide a tabular view of domain results. Some embodiments provide a pricing model for each domain. Some embodiments provide typical queries that are recognized by each domain. Some embodiments provide a test query set and the total cost of responding to queries from the test query set. Some embodiments provide a cost stack view of the per-domain cost of responding to queries in the test set. Some embodiments provide a histogram view of the queries that are responded per domain. Some embodiments indicate that some domains are free and others charge costs.

いくつかの実施形態は、ポインタアイコンを有するグラフィカルユーザインターフェイスを提供する。いくつかのこのような実施形態では、ポインタが表示ビューの特定の部分上に位置しているときに、対応する情報がポップアップメッセージに表示される。 Some embodiments provide a graphical user interface with pointer icons. In some such embodiments, the corresponding information is displayed in a pop-up message when the pointer is hovering over a particular portion of the display view.

いくつかの実施形態は、有用な基準に従ってドメインのメニューをソートまたはフィルタリングすることを提供する。いくつかの実施形態は、背景色、テキストの色、フォントおよび書体などさまざまな方法でメニュー内のさまざまなドメインを表示することを提供する。 Some embodiments provide sorting or filtering a menu of domains according to useful criteria. Some embodiments provide display of different domains in a menu in different ways such as background color, text color, font and typeface.

いくつかの実施形態は、線形、区分線形または式ベースの価格設定モデルなどの、ドメインのためのパラメータ化価格設定モデルを提供する。いくつかのこのような実施形態は、VA開発者が費用対効果の高いドメイン選択を行うことを手助けするためのツールを提供する。 Some embodiments provide parameterized pricing models for domains, such as linear, piecewise linear, or expression-based pricing models. Some such embodiments provide tools to help VA developers make cost-effective domain selection.

いくつかの実施形態は、コンピュータ読取可能媒体である。いくつかの実施形態は、クラウドサーバである。いくつかの実施形態は、モバイル機器である。いくつかの実施形態は、クラウドサーバと通信するデバイスのシステムである。いくつかの実施形態は、プラットフォームによって構成される自然言語仮想アシスタントを実現する自己完結型のデバイスである。 Some embodiments are computer readable media. Some embodiments are cloud servers. Some embodiments are mobile devices. Some embodiments are systems of devices that communicate with cloud servers. Some embodiments are self-contained devices that implement a natural language virtual assistant configured by a platform.

実施形態におけるドメインプロバイダからプラットフォームプロバイダ、VA開発者を介してユーザまでの情報フローを示す。The information flow from the domain provider to the user via the platform provider and the VA developer in the embodiment is shown. テストクエリセットを示す。Shows the test query set. 実施形態におけるドメイン、プラットフォームおよび仮想アシスタントからなるクラウドベースのシステムを示す。A cloud-based system consisting of a domain, a platform, and a virtual assistant in an embodiment is shown. 実施形態におけるドメインおよびプラットフォームから構成された仮想アシスタントからなる単一デバイスシステムを示す。A single device system consisting of a virtual assistant composed of a domain and a platform in the embodiment is shown. 実施形態において、ユーザが、ドメインに従ってクエリを解釈して応答を提供する仮想アシスタントと対話することを示す。In embodiments, it is shown that the user interacts with a virtual assistant that interprets the query and provides a response according to the domain. 実施形態において、VA開発者が、テストクエリを使用して、ドメインをプロモーションするプラットフォームを介して自然言語仮想アシスタントの構成を誘導することを示す。In an embodiment, it is shown that a VA developer uses a test query to guide the configuration of a natural language virtual assistant through a platform that promotes a domain. 実施形態における、ユーザが照会し、VA開発者が構成し、ドメインプロバイダが情報をユーザに提供する完全なシステムを示す。In the embodiment, it shows a complete system in which a user queries, a VA developer configures, and a domain provider provides information to the user. 実施形態における、どのドメインをイネーブルにするかを選択し、各ドメインによってどれぐらいのテストクエリセットが回答されるかを示し、価格設定モデルおよびテストセット内のクエリに応答するのにかかるドメイン当たりのコストを示すことを提供するドメインのメニューの表示を示す。In the embodiment, select which domains to enable, indicate how many test query sets each domain will answer, and per domain it takes to respond to queries in the pricing model and test set. Shows the display of the menu of domains that provide to show the cost. 実施形態におけるテストクエリセットに対する一連のイネーブルにされたドメインのコストスタックチャートを示す。A cost stack chart of a set of enabled domains for a test query set in an embodiment is shown. 実施形態におけるテストクエリセットに対する一連のイネーブルにされたドメインのコストスタックチャートを示す。A cost stack chart of a set of enabled domains for a test query set in an embodiment is shown. 実施形態における一連のイネーブルにされたドメインの各々によって応答されるテストクエリセットからのクエリのヒストグラムを示す。Shown is a histogram of queries from the test query set responsive to each of the set of enabled domains in the embodiment. 実施形態における、ホバリングポインタ下で強調され、ドメインに特有の情報を示すドメイン当たりのクエリ応答のヒストグラムを示す。In the embodiment, a histogram of query responses per domain, highlighted under the hovering pointer and showing domain-specific information, is shown. 実施形態における、プロモーションされたドメインが目立つように示されるドメインのメニューの表示を示す。In the embodiment, the display of the menu of the domain in which the promoted domain is prominently shown is shown. テストクエリを入力して、このクエリに応答することができるドメインおよびそれらの応答のフィルタリングされたメニューを見るための表示を示す。Enter a test query to show the domains that can respond to this query and the display to see the filtered menu of those responses. 線形価格設定モデルを示す。Shown is a linear pricing model. 区分線形価格設定モデルを示す。A piecewise linear pricing model is shown. 式ベースの価格設定モデルを示す。An expression-based pricing model is shown. 回転式の非一時的なコンピュータ読取可能媒体を示す。Indicates a rotary, non-temporary computer-readable medium. パッケージングされたソリッドステートの非一時的なコンピュータ読取可能媒体を示す。Indicates a packaged solid-state non-transitory computer-readable medium. サーバのラックを示す。Indicates a server rack. サーバのブロック図を示す。The block diagram of the server is shown. パッケージングされたシステムオンチップを示す。Indicates a packaged system-on-chip. システムオンチップのブロック図を示す。A block diagram of the system on chip is shown.

詳細な説明
さまざまな特徴を説明する本発明のさまざまな実施形態が以下に記載されている。一般に、実施形態では、記載されている特徴を任意の組み合わせで使用することができる。
Detailed Description Various embodiments of the invention that describe the various features are described below. In general, in embodiments, the described features can be used in any combination.

多くの企業は、仮想アシスタントを一体化することによって向上させることができるデバイスまたはアプリを製造または販売している。多くの仮想アシスタントは、音声ベースである。音声対応デバイスの例は、自動車、ロボット、売店、機器およびスマートフォンである。それらは全て、一体化された仮想アシスタントを有することができる。ユーザは、通常は情報の要求または動作の要求のいずれかである自然言語クエリを発行することによって仮想アシスタントと通信する。クエリは、話されたクエリであってもよく、または書かれたクエリであってもよい。仮想アシスタントからの応答は、音声、テキスト、グラ
フィックス、オーディオまたはビデオ記録、および動作を含んでもよい。
Many companies manufacture or sell devices or apps that can be enhanced by integrating virtual assistants. Many virtual assistants are voice-based. Examples of voice-enabled devices are cars, robots, shops, devices and smartphones. All of them can have an integrated virtual assistant. The user communicates with the virtual assistant by issuing a natural language query, which is usually either a request for information or a request for action. The query may be a spoken query or a written query. Responses from the virtual assistant may include voice, text, graphics, audio or video recording, and action.

インテリジェント多機能仮想アシスタントの開発は、複雑であり、一般的なアーキテクチャに加えて、仮想アシスタントが処理できるドメインごとに専門知識および投資を必要とする。仮想アシスタントを開発する際、開発者が仮想アシスタント開発プラットフォームプロバイダからドメインソフトウェアを購入またはインライセンスすることは道理にかなっている。これにより、プラットフォームプロバイダは、優れたプラットフォームを構築するのに十分な専門家を雇うことができ、さまざまなVA開発者は、コストをシェアすることができる。 Developing intelligent multifunctional virtual assistants is complex and requires expertise and investment for each domain that the virtual assistant can handle, in addition to the general architecture. When developing a virtual assistant, it makes sense for developers to purchase or in-license domain software from the virtual assistant development platform provider. This allows platform providers to hire enough professionals to build a good platform and allows various VA developers to share costs.

このようなエコシステムでは、仮想アシスタントを実現するための論理またはソフトウェアは、プラットフォームプロバイダによって操作されるネットワーク接続サーバ内、またはネットワークに接続しなくてもよいデバイス内のコンピュータ読取可能媒体上に格納され、デバイス論理またはソフトウェアは、プラットフォームを使用して構成されている。典型的なネットワークに接続された実施形態では、クライアントアプリまたはリモートデバイスが、アプリケーションプログラミングインターフェイス(「API」)を使用してインターネットを介してサーバにアクセスする。単一デバイス仮想アシスタントの中には、自律的に動作するものもあれば、ネットワークアクセスがある場合のみ動作するものもあり、ローカル仮想アシスタント機能とリモート仮想アシスタント機能とを組み合わせることによって断続的なネットワークアクセスで動作するものもある。ネットワークに接続されていようとそうでなかろうと、仮想アシスタントは、ユーザから自然言語クエリを受信し、このクエリを解釈して、応答をユーザに提供する。ゼロ個または1つ以上のドメインが各クエリを認識してもよい。曖昧さがある場合には、仮想アシスタントは、競合するドメインのうちの1つを選択して、その応答を判断する。 In such an ecosystem, the logic or software to implement the virtual assistant is stored on a computer-readable medium within a network-attached server operated by the platform provider or within a device that does not need to be connected to the network. , Device logic or software is configured using the platform. In a typical networked embodiment, a client app or remote device uses an application programming interface (“API”) to access a server over the Internet. Some single-device virtual assistants work autonomously, others only with network access, and the combination of local and remote virtual assistant features creates an intermittent network. Some work with access. Whether connected to a network or not, the virtual assistant receives a natural language query from the user, interprets the query, and provides the user with a response. Zero or more domains may recognize each query. If there is ambiguity, the virtual assistant selects one of the competing domains and determines the response.

仮想アシスタント開発者は、仮想アシスタントを特定のデバイスおよびアプリに一体化する企業で働く人(ほとんどの場合、訓練を受けた技術者)である。VA開発者は、プラットフォームを使用して、特定の要求基準に合わせて仮想アシスタントを構成する。仮想アシスタントは、一般に、複数のドメインをサポートする。いくつかのドメインは、天気、ニュース、トリビア、レストラン検索、簡単な計算およびウィキペディア検索などの情報を提供する。いくつかのドメインは、サーモスタットの制御または照明、音楽のストリーミング、SMSテキストメッセージの送信、およびカレンダの予定の管理などのサービスを提供する。いくつかのドメインは、単に時間を伝えるといったような単純なものであってもよい。いくつかのドメインは、旅行代理店サービスの提供などの複雑なものであってもよく、子供の居場所を突き止めることができる機能など、ユーザにとって非常に有益なものもある。多くのドメインは、ウェブAPIにアクセスして、特定の情報または動的な情報にアクセスするか、または要求された動作を生じさせる。いくつかのドメインは、支払いと引き換えに第三者プロバイダからの情報およびサービスを提供する。たとえば、いくつかの天気ドメインは、国立気象局APIにアクセスして、天気予報情報を取得する。 A virtual assistant developer is someone (mostly a trained technician) who works for a company that integrates virtual assistants into specific devices and apps. VA developers use the platform to configure virtual assistants to specific requirements. Virtual assistants generally support multiple domains. Some domains provide information such as weather, news, trivia, restaurant searches, simple calculations and Wikipedia searches. Some domains provide services such as thermostat control or lighting, music streaming, SMS text message sending, and calendar appointment management. Some domains may be as simple as telling time. Some domains can be complex, such as providing travel agency services, and others can be very useful to the user, such as the ability to locate a child. Many domains access Web APIs to access specific or dynamic information or to produce the requested behavior. Some domains provide information and services from third-party providers in exchange for payment. For example, some weather domains access the National Weather Service API to obtain weather forecast information.

プラットフォームは、いくつかある機能の中で特に、仮想アシスタントに含めるようにドメインを選択する方法をVA開発者に提供する。一般に、ドメインは、ドメインプロバイダエンティティによって提供される。いくつかのプラットフォームは、何千もの第三者ドメインプロバイダをサポートする。いくつかのドメインプロバイダは、小企業またはさらには個々のプログラマである。 The platform provides VA developers with a way to select a domain to include in the virtual assistant, among other features. Generally, the domain is provided by the domain provider entity. Some platforms support thousands of third-party domain providers. Some domain providers are small businesses or even individual programmers.

いくつかの実施形態では、ドメインによって認識されるクエリセットは、意味文法コードによって定義される。このような文法コードは、クエリを特定の情報要求または特定の動作要求として解釈するためのルールを作成するドメイン開発者(ほとんどの場合、訓練
を受けた技術者)によって各ドメインについて具体的に作成される。このような実施形態では、自然言語解釈は、ドメイン文法コードに基づく。ドメイン文法は、クエリを構文解析するために自然言語処理システムによって使用される構文規則を備える。ドメイン文法では、構文規則は、意味論的拡張によって拡張される。拡張は、ゼロ個以上の副構成要素の解釈から構成要素の解釈を構築する機能であり、副構成要素は、構文解析によって判断される。いくつかの実施形態では、ドメイン文法を使用して、ドメインに対するクエリを認識して解釈する。いくつかの実施形態では、インタプリタの少なくとも一部は、機械学習を使用して訓練されるニューラルネットワークを含む。いずれにしても、クエリの解釈は、クエリからの情報に基づいて値を意味スロットに割り当てる。いくつかの実施形態では、会議のスケジューリングまたはフライトの予約などの、クエリに対するユーザの全体的意図を表す意図スロットを符号化する。
In some embodiments, the query set recognized by the domain is defined by the semantic grammar code. Such grammar code is specifically created for each domain by a domain developer (mostly a trained technician) who creates rules for interpreting a query as a specific information request or a specific action request. Will be done. In such an embodiment, the natural language interpretation is based on the domain grammar code. Domain grammars include syntax rules used by natural language processing systems to parse queries. In domain grammar, syntactic rules are extended by semantic extensions. Extension is a function that constructs a component interpretation from the interpretation of zero or more subcomponents, and the subcomponents are judged by parsing. In some embodiments, a domain grammar is used to recognize and interpret queries against the domain. In some embodiments, at least some of the interpreters include neural networks that are trained using machine learning. In any case, the interpretation of the query assigns values to semantic slots based on the information from the query. In some embodiments, an intent slot that represents the user's overall intent to the query, such as meeting scheduling or flight booking, is encoded.

例示的な実施形態では、天気予報を要求するための意味文法は、(1)構文成分が<場所>と名付けられる構成要素を有してもよく、対応する意味スロットは「場所」と名付けられ、その値がどの例においても場所と見なされなければならず、(2)構文成分が<時間>と名付けられる別の構成要素を有してもよく、対応する意味スロットが「時間」と名付けられ、その値が時間と見なされなければならない。「明日、ティンブクトゥはどのような天気ですか」とユーザが尋ねると、この実施形態では、<場所>および<時間>成分を有する天気ドメイン文法を使用し、意図スロットを値「天気_情報」で埋め、場所スロットを値「ティンブクトゥ」で埋め、時間スロットを値「明日」またはおそらく対応するカレンダ日付で埋めることができる。 In an exemplary embodiment, the semantic grammar for requesting a weather forecast may have (1) a component whose syntactic component is named <location>, and the corresponding semantic slot is named "location". , Its value must be considered a place in any example, (2) the syntax component may have another component named <time>, and the corresponding semantic slot is named "time". And its value must be considered as time. When the user asks, "What kind of weather is Timbuktu tomorrow?", This embodiment uses a weather domain syntax with <location> and <time> components and values the intended slot "weather_information". You can fill it with, fill the location slot with the value "Timbukto", and fill the time slot with the value "Tomorrow" or perhaps the corresponding calendar date.

同様に、「少なくとも4つ星の最寄りのフレンチレストランはどこですか」とユーザが言うと、システムは、<料理_タイプ>および<格付け>成分の構文規則を有するレストランドメイン文法を使用することができ、料理タイプおよび格付けのための対応するスロットは、「フランス料理」および「少なくとも4つ星」をそれぞれ伝える値で埋められるであろう。別の例では、「テキスト:ママ大好き」とユーザが言うと、システムは、SMSテキスティングドメイン文法を有するクエリを認識して、意図スロットを「送信_テキスト」で埋め、「ママ」に対応するユーザの連絡先リストの中の連絡先を参照して受け手スロットを埋め、メッセージスロットを「大好き」で埋める。クエリの解釈は、これらのスロットで形成され、意図によって指定されるクエリの解釈の完了は、メッセージのテキスト内容を受け手の携帯電話に送信するというものであろう。「猫はいくつの爪を持っていますか」とユーザが言うと、システムは、知識ドメインクエリを認識して、意図スロットを「ウィキペディア検索」(と言う)で埋め、種類スロットを「猫」で埋め、属性スロットを「爪」で埋め、質問スロットを「いくつ」で埋める。他の自然言語アプローチも可能である。 Similarly, when the user says, "Where is the nearest French restaurant with at least 4 stars?", The system can use a restaurant domain grammar with syntax rules for <cooking_type> and <rating> ingredients. The corresponding slots for the dish type and rating will be filled with values that convey "French cuisine" and "at least 4 stars" respectively. In another example, when the user says "text: love mom", the system recognizes the query with the SMS texting domain grammar and fills the intended slot with "send_text" to correspond to "mama". Refer to the contacts in the user's contact list to fill the recipient slot and fill the message slot with "I love you". The interpretation of the query will be formed in these slots, and the completion of the interpretation of the query specified by intent will be to send the text content of the message to the recipient's mobile phone. When the user says, "How many claws does a cat have?", The system recognizes the knowledge domain query, fills the intent slot with "Wikipedia search" (says), and fills the type slot with "cat". Fill, fill the attribute slot with "claw", and fill the question slot with "how many". Other natural language approaches are also possible.

いくつかのクエリは、複数のドメインによって解釈することができる。さまざまなドメインプロバイダが競合して同一のドメイン機能を提供する場合には、このような重複する文法を有することは一般的である。たとえば、プラットフォームは、ホテルを予約するための4つの競合するドメインを提供してもよく、これら4つのドメインは全て、「パリのホテルを教えてください」というクエリを解釈することができる。VA開発者がこの状況に対処することを手助けするために、プラットフォームは、機能の中に特定のドメインを含めて他のドメインを含めないように仮想アシスタントを構成することができ、または他のドメインに優先して特定のドメインを選択するように仮想アシスタントを構成することができる。このような選択は、「ハードな」方法または「ソフトな」方法で行うことができる。 Some queries can be interpreted by multiple domains. It is common to have such duplicate syntax when different domain providers compete to provide the same domain functionality. For example, the platform may provide four competing domains for booking hotels, all of which can interpret the query "Tell me a hotel in Paris." To help VA developers deal with this situation, the platform can configure the virtual assistant to include certain domains in its functionality and not other domains, or other domains. You can configure the virtual assistant to select a specific domain in preference to. Such choices can be made in a "hard" or "soft" way.

ハードな選択は、構成時になされる。いくつかのドメインは、仮想アシスタントにおいてイネーブルにされ、他の全てのドメインは、ディスエーブルにされる。この構成ステッ
プにより、VA開発者は、ランタイム時にどのドメインがクエリの解釈に関与するかを制御することができる。本稼働時、クエリ解釈は、イネーブルにされたドメインのみを考慮する。
Hard choices are made during configuration. Some domains are enabled in the virtual assistant and all other domains are disabled. This configuration step allows the VA developer to control which domains are involved in query interpretation at runtime. During production, query interpretation considers only enabled domains.

ソフトな選択は、ランタイム時になされる。競合するドメインのクエリ解釈(それらのドメインは全てイネーブルにされている)間の選択は、一般に、スコアリングスキームに基づいて最高スコアリングの解釈を選択することによってなされる。スコアリング技術は、ドメインに優先順位をつけるために使用することができる。すなわち、イネーブルにされたドメインAおよびBが競合してクエリを解釈する場合、常にドメインAをBよりも優先することができる。また、スコアリングは、無関係なドメイン間の曖昧さの問題に対処することができるが、このような意味的衝突はそれほど頻繁ではない。たとえば、「デンバーはどれぐらいの高さですか」というクエリは、都市の標高を知っている地理的情報ドメインによって解釈することができるが、「高さ」が気温を指す天気ドメインによっても解釈することができる。2番目の解釈は、文脈がない場合にはありそうもない解釈かもしれないが、「シカゴはどのような天気ですか?」[回答:56度]デンバーはどれぐらいの高さですか?」などの会話における天気および気温の文脈ではかなりあり得る解釈である。構文解析および解釈スコアは、文脈依存であってもよく、スコアリングは、これらのうちの全ておよびドメイン優先順位を考慮に入れることができる。 Soft choices are made at runtime. Selection between query interpretations of competing domains (all of which are enabled) is generally made by selecting the highest scoring interpretation based on the scoring scheme. Scoring techniques can be used to prioritize domains. That is, domain A can always take precedence over B when the enabled domains A and B conflict and interpret the query. Scoring can also address the issue of ambiguity between unrelated domains, but such semantic conflicts are less frequent. For example, the query "How high is Denver?" Can be interpreted by a geographic information domain that knows the altitude of a city, but also by a weather domain where "height" refers to temperature. be able to. The second interpretation, which may be unlikely in the absence of context, is "What is the weather like in Chicago?" [Answer: 56 degrees] How high is Denver? This is a fairly possible interpretation in the context of weather and temperature in conversations such as. Parsing and interpretation scores may be context sensitive and scoring can take into account all of these and domain priorities.

有効な構成の選択のために、プラットフォームは、VA開発者が賢明な判断を行うことをサポートすることを意図した経験的ツールを提供することができる。いくつかの実施形態では、ドメインの費用有効性は、(1)カバー範囲、すなわちクエリのどの部分がドメインによって認識されるか、(2)正確さ、すなわち認識されたクエリのどの部分がドメインによって正確に解釈されるか、および(3)コスト検討事項の観点から、クエリのテストセットに対して測定することができる。 For the selection of valid configurations, the platform can provide empirical tools intended to help VA developers make wise decisions. In some embodiments, the cost effectiveness of a domain is (1) coverage, i.e. which part of the query is recognized by the domain, (2) accuracy, i.e. which part of the recognized query is recognized by the domain. It can be correctly interpreted and (3) measured against the test set of queries in terms of cost considerations.

コストに関して、いくつかの実施形態によれば、プラットフォームは、各ドメインに関連付けられた価格設定モデルを認識していて、価格設定情報をVA開発者に提供することができる。多くのプラットフォームは、時間を知らせるためのドメインまたは簡単な計算を行うためのドメインなどの特定のドメインを無料で提供するであろう。しかし、多くのドメインプロバイダは、高価値のドメインを提供し、それらのデータおよびサービスの使用を補償されたいと考える。たとえば、株を取引するためのドメインは、ユーザが要求した各々の株取引の手数料を請求することができる。いくつかの仮想アシスタントでは、ユーザは、ドメインを使用するためにVA開発者に支払いを行い、VA開発者は、直接またはプラットフォームを介してドメインプロバイダに支払いを行う。場合によっては、プラットフォームは、ドメインのコストを値上げして、プラットフォームが与える付加価値を回収してもよい。 In terms of cost, according to some embodiments, the platform is aware of the pricing model associated with each domain and can provide pricing information to the VA developer. Many platforms will offer a specific domain for free, such as a domain to inform time or a domain to do simple calculations. However, many domain providers want to offer high-value domains and be compensated for their use of their data and services. For example, a domain for trading stocks may charge a fee for each stock trading requested by the user. In some virtual assistants, the user pays the VA developer to use the domain, and the VA developer pays the domain provider directly or through the platform. In some cases, the platform may increase the cost of the domain to recover the added value provided by the platform.

実際には、プラットフォームまたはVA開発者は、より多くの顧客を引き付けるために特定のドメインを割り引くかまたは補助金を支給してもよい。価格設定モデルにおいて、クエリ当たりの価格は、数量割引の対象であることが多い。全てのこのような考慮すべき事項は、ドメインの価格設定モデルの一部であり得る。 In practice, the platform or VA developer may discount or subsidize a particular domain to attract more customers. In pricing models, the price per query is often subject to quantity discounts. All such considerations can be part of the domain's pricing model.

カバー範囲および正確さは、プラットフォームがVA開発者から受信するテストクエリセットに基づいて測定される。イネーブルにされたドメインがクエリを認識すると、「ヒット」が登録される。テストクエリは、少なくとも1つのイネーブルにされたドメインにヒットする場合、「カバー」されている。カバー範囲は、カバーされるテストクエリの数によって(絶対的に)測定され、またはテストクエリの対応する部分によって(相対的に)測定される。正確さは、正確に処理されるテストクエリの数によって(絶対的に)測定され、またはカバーされるテストクエリの対応する部分によって(相対的に)測定される
。正確さは、テストセットがクエリ解釈データを含む場合またはテストセットがクエリデータを含む場合に測定することができる。
Coverage and accuracy are measured based on the test query set that the platform receives from VA developers. A "hit" is registered when the enabled domain recognizes the query. The test query is "covered" if it hits at least one enabled domain. Coverage is measured (absolutely) by the number of test queries covered, or (relatively) by the corresponding part of the test query. Accuracy is measured (absolutely) by the number of test queries that are processed correctly, or (relatively) by the corresponding part of the test query that is covered. Accuracy can be measured if the test set contains query interpretation data or if the test set contains query data.

いくつかの実施形態では、正確さをテストすることは、本稼働時にユーザクエリに対してなされるであろうテストクエリの解釈を必要とするが、テストクエリを実行(遂行)することは必要としない。正確さは、解釈(クエリの意味の内部表現である)の同等性(または、マッチング整合性)に基づく。いくつかの実施形態では、正確さをテストすることは、テストクエリの解釈も遂行も必要とする。そして、正確さは、応答の同等性(または、マッチング整合性)に基づく。 In some embodiments, testing accuracy requires the interpretation of the test query that would be made to the user query during production, but it is necessary to execute (execute) the test query. do not. Accuracy is based on the equivalence (or matching integrity) of the interpretation (which is an internal representation of the meaning of the query). In some embodiments, testing accuracy requires both interpretation and execution of the test query. And the accuracy is based on the equivalence (or matching consistency) of the response.

いくつかの実施形態では、VA開発者は、テストクエリを、まるでそれがユーザから受信されたかのように入力することができ、プラットフォームは、(1)どのドメインがクエリを認識することができるか、(2)クエリの解釈、(3)解釈を遂行してクエリに応答するために必要な情報、および(4)応答を提供するコスト、のうちの1つ以上をVA開発者に示すことができる。 In some embodiments, the VA developer can enter the test query as if it were received from the user, and the platform can: (1) which domain can recognize the query. One or more of (2) interpretation of the query, (3) information required to perform the interpretation and respond to the query, and (4) cost of providing the response can be shown to the VA developer. ..

いくつかの実施形態では、VA開発者は、大きなテストクエリセットを入力し、プラットフォームは、このクエリセットがヒットするであろうドメインおよびテストセットの累積コストについての統計情報を提供する。いくつかの実施形態では、クエリは、多数のドメインにヒットしてもよい。他の実施形態では、クエリ当たり2つ以上のヒットがないことをシステムが保証する。1つのタイプの統計情報は、クエリセットにわたるドメイン当たりのヒットのヒストグラムである。別のタイプの統計情報は、ドメイン名、各ドメインが仮想アシスタントのためにイネーブルにされるか否か、各ドメインにアクセスするための価格設定モデル(単純なクエリ当たりのコストなど)、各ドメインにヒットするテストセットにおけるクエリの数、仮想アシスタントにおいてドメインをイネーブルにすることに起因する結果として生じるコスト、イネーブルにされたドメインのうちの少なくとも1つにヒットするであろうテストセットにおけるクエリの一部、およびイネーブルにされたドメインを使用してテストセットにおける全てのクエリを処理するための総コスト、のうちの1つ以上を有するテーブルである。 In some embodiments, the VA developer enters a large test query set and the platform provides statistical information about the domains that this query set will hit and the cumulative cost of the test set. In some embodiments, the query may hit a large number of domains. In other embodiments, the system ensures that there are no more than one hit per query. One type of statistic is a histogram of hits per domain across the query set. Another type of statistic is the domain name, whether each domain is enabled for the virtual assistant, the pricing model for accessing each domain (such as the cost per simple query), and for each domain. The number of queries in the test set to hit, the costs associated with enabling the domain in the virtual assistant, and some of the queries in the test set that will hit at least one of the enabled domains. , And the total cost of processing all queries in the test set using the enabled domain, a table with one or more of them.

いくつかのクエリが2つ以上のドメインから情報を必要とすることが可能である。たとえば、「前回のスーパーボウルの試合に勝ったチームの本拠地の天気はどうですか」というクエリは、仮想アシスタントが、スポーツ情報ドメインを使用して、どのチームが前回のスーパーボウルの試合に勝ったかおよびその本拠地を突き止め、次いで都市情報を使用して、天気ドメインを用いて天気情報を調べることを必要とするであろう。したがって、テストクエリセットに応答する仮想アシスタントによってヒットされるドメインの数は、クエリの数よりも多く、クエリのコストは、各テストクエリが1つのドメインにしかヒットしない場合よりも高いであろう。 It is possible for some queries to require information from more than one domain. For example, the query "What's the weather at home for the team that won the last Super Bowl match?" Is a virtual assistant using the sports information domain to see which team won the last Super Bowl match and that. It will be necessary to locate the home and then use the city information to look up the weather information using the weather domain. Therefore, the number of domains hit by the virtual assistant responding to the test query set will be greater than the number of queries, and the cost of the query will be higher than if each test query hits only one domain.

いくつかのクエリは、いかなるドメインによっても認識されない。いくつかの実施形態では、このような機能しないクエリは、ウェブ検索の結果などのデフォルト情報を用いて応答される。その結果、ヒットの数も、クエリの数よりも少ないであろう。 Some queries are not recognized by any domain. In some embodiments, such non-functional queries are responded with default information such as web search results. As a result, the number of hits will also be less than the number of queries.

一般に、仮想アシスタントが有するドメインが多くなればなるほど、仮想アシスタントが満足いくように応答することができるクエリも多くなる。ユーザが仮想アシスタントに満足すればするほど、仮想アシスタントを使用するユーザが多くなる。仮想アシスタントを使用するユーザが多くなればなるほど、ドメインプロバイダはドメインを作成して改良するインセンティブが高まる。これは、日進月歩のドメインおよび仮想アシスタントの好循環を生み出し、ユーザのためになるとともに全ての参加企業に利益をもたらす。 In general, the more domains a virtual assistant has, the more queries the virtual assistant can respond to with satisfaction. The more satisfied the users are with the virtual assistant, the more users will use the virtual assistant. The more users who use the virtual assistant, the more incentives domain providers have to create and improve their domains. This creates a virtuous circle of ever-increasing domains and virtual assistants that benefits users and benefits all participating companies.

以下は、図面に示される特定の代表的な実施形態の説明である。
関係者
図1は、仮想アシスタントエコシステムおよびその動作の図を示す。さまざまなドメインプロバイダが情報およびサービスをプラットフォーム12に提供する。具体的には、天気情報ドメインプロバイダは、天気ドメイン11aをプラットフォーム12に提供し、地図情報ドメインプロバイダは、地図ドメイン11bをプラットフォーム12に提供し、テキストメッセージングドメインプロバイダは、テキストメッセージングドメイン11cをプラットフォーム12に提供する。ドメイン文法に加えて、プラットフォームに提供される情報は、価格設定モデルおよびテストデータを含んでもよい。
The following is a description of certain typical embodiments shown in the drawings.
Participants Figure 1 shows a diagram of the virtual assistant ecosystem and its operation. Various domain providers provide information and services to Platform 12. Specifically, the weather information domain provider provides the weather domain 11a to platform 12, the map information domain provider provides the map domain 11b to platform 12, and the text messaging domain provider provides the text messaging domain 11c to platform 12. To provide. In addition to the domain grammar, the information provided to the platform may include pricing models and test data.

VA開発者は、プラットフォーム12を使用して、機器13a、携帯電話13bおよび自動車13cなどの仮想アシスタントを作成し、これらの仮想アシスタントは全て、VA機能を複数のユーザ14に配信する。何人かのユーザは、2種類以上の仮想アシスタントを使用する。情報およびサービスは、一般に、ドメインからプラットフォームを経由してVAを介して、左から右に流れて、ユーザに到達する。 The VA developer uses the platform 12 to create virtual assistants for devices 13a, mobile phones 13b, automobiles 13c, etc., all of which deliver VA functionality to multiple users 14. Some users use more than one type of virtual assistant. Information and services generally flow from the domain, through the platform, through the VA, from left to right, and reach the user.

一般に、支払いは逆方向に流れる。さまざまな実施形態では、ユーザは、VA開発者、プラットフォームプロバイダまたはドメインプロバイダに直接支払いを行う。さまざまな実施形態では、VA開発者は、プラットフォームプロバイダまたはドメインプロバイダに直接支払いを行う。いくつかの実施形態では、プラットフォームプロバイダは、ドメインプロバイダに支払いを行う。いくつかの実施形態では、プラットフォームプロバイダは、ビジネスを勝ち取るため、または総使用量を増やすために、仮想アシスタント開発者に割引を提供するか、または損をしているいくつかのドメインへのアクセスを提供する。いくつかの実施形態では、ドメインプロバイダは、プラットフォームプロバイダがドメインをプロモーションすることと引き換えにプラットフォームプロバイダに支払いを行うかまたは割引を提供する。本明細書に開示されている技術は、この枠組みを使用して可能になるビジネス関係を限定するものではない。 Generally, payments flow in the opposite direction. In various embodiments, the user pays directly to the VA developer, platform provider or domain provider. In various embodiments, the VA developer pays directly to the platform or domain provider. In some embodiments, the platform provider pays the domain provider. In some embodiments, the platform provider offers virtual assistant developers discounts or access to some domains that are losing money in order to win the business or increase total usage. offer. In some embodiments, the domain provider pays or offers a discount to the platform provider in exchange for the platform provider to promote the domain. The techniques disclosed herein do not limit the business relationships that can be made using this framework.

いくつかの実施形態では、企業は、ドメインプロバイダでもあり、仮想アシスタント開発者でもある。たとえば、自動車の仮想アシスタントは、燃料液面高さなどの自動車についての状態クエリに回答するため、またはヘッドライトをオンにするなどの動作を要求するために、それ自体のローカルドメインを必要とする。この他に、場合によっては、天気情報を有するドメインなどの外部ドメインを含む。別の例では、特定のビデオコンテンツプロバイダによって販売されるビデオプレーヤセットトップボックスは、そのカスタム仮想アシスタントの一部として、そのビデオコンテンツを取得するためのドメインにアクセスできる必要がある。このドメインは、ローカルであってもよく、または外部であってもよい。いくつかの実施形態では、いくつかのドメインは、いくつかの仮想アシスタント専用であり、他の仮想アシスタントでは利用できない。 In some embodiments, the enterprise is both a domain provider and a virtual assistant developer. For example, a car virtual assistant needs its own local domain to answer state queries about the car, such as fuel level, or to request actions such as turning on the headlights. .. In addition, in some cases, an external domain such as a domain having weather information is included. In another example, a video player set-top box sold by a particular video content provider needs to be able to access the domain for retrieving that video content as part of its custom virtual assistant. This domain may be local or external. In some embodiments, some domains are dedicated to some virtual assistants and not available to other virtual assistants.

図2は、汎用仮想アシスタントに特有のクエリセットの一例を示す。天気についてのクエリが最も頻繁であるが、他の一般的なクエリは、ローカルビジネスの検索、地図の道順および交通状況、ニュースまたはスポーツについてのクエリ、トリビア情報についてのクエリ、ならびにさまざまな他のタイプのクエリである。各クエリがテストセットの中に複数回登場することがあるので、順序は関係なく、バッグとして知られている代替表現は、各々の固有のクエリを個数と関連付けるというものである。たとえば、「天気はどうですか」というクエリは、このセットには3個ある。これをさらに発展させて、各クエリは、他のクエリに対する重要性を実験者に示す実数値重み(単なる頻度数ではない)を付与され得る。このような重みは、合計が1であるように正規化され得る。 FIG. 2 shows an example of a query set specific to a general-purpose virtual assistant. Queries for weather are the most frequent, but other common queries are local business searches, map directions and traffic conditions, queries for news or sports, queries for trivia information, and various other types. Is a query. Since each query may appear multiple times in the test set, the alternative expression known as a bag is to associate each unique query with the number, regardless of the order. For example, there are three queries in this set that say "how is the weather?" Taking this a step further, each query can be given a real-valued weight (rather than just a frequency) that indicates to the experimenter its importance to other queries. Such weights can be normalized so that the sum is 1.

クラウドおよびデバイス
図3は、第1のアプリ32および第2のアプリ33と通信するユーザ31を示す。これらのアプリは、ネットワーク34を介してプラットフォーム35と通信する。アプリ開発者36は、前もって、プラットフォーム35を使用して、第1のアプリ32のための第1の仮想アシスタントおよび第2のアプリ33のための第2の仮想アシスタントを構成している。いくつかの実施形態では、さまざまな開発者が各アプリを構成する。
Clouds and Devices FIG. 3 shows a user 31 communicating with a first app 32 and a second app 33. These apps communicate with the platform 35 over the network 34. The app developer 36 has previously used platform 35 to configure a first virtual assistant for the first app 32 and a second virtual assistant for the second app 33. In some embodiments, different developers configure each app.

プラットフォーム35上では、複数のドメインが構成の選択に利用可能である。これらの複数の利用可能なドメインは、数百個、数千個、またはさらに多くてもよい。ドメインは、ドメインプロバイダによって提供される。それらは、ドメイン登録または摂取プロセスを介してプラットフォーム上で利用可能にされる。登録中、ドメインについて供給される情報は、固有のID、単純名、説明、認識されるクエリの例、および実行可能または解釈可能な形式のドメイン(ソースコード、オブジェクトコード、ニューラルネットワークまたは意味文法など)を含んでもよい。本開示において、「文法」または「意味文法」という語は、一般に、クエリを構文解析または認識するために実行可能なソース、オブジェクト、ニューラルネットワークまたは任意のデータ構造インスタンスなどのコードの説明を表す。 On platform 35, multiple domains are available for configuration selection. These plurality of available domains may be in the hundreds, thousands, or even more. The domain is provided by the domain provider. They are made available on the platform via domain registration or ingestion process. During registration, the information provided about the domain includes a unique ID, simple name, description, examples of recognized queries, and a domain in an executable or interpretable form (source code, object code, neural network or semantic grammar, etc.) ) May be included. In the present disclosure, the term "grammar" or "semantic grammar" generally refers to a description of code such as a source, object, neural network or arbitrary data structure instance that can be executed to parse or recognize a query.

開発者36によって作成される仮想アシスタント構成は、第1のドメイン37および第2のドメイン38の選択を含む。ユーザ31は、いずれかのアプリに対してクエリを行う際、そのクエリをプラットフォーム35に送信し、プラットフォーム35は、クエリを解釈して、第1のドメイン37または第2のドメイン38からウェブAPIを使用して適切な情報を取得する。 The virtual assistant configuration created by the developer 36 includes a selection of the first domain 37 and the second domain 38. When the user 31 queries any of the apps, the user sends the query to the platform 35, which interprets the query and issues a web API from the first domain 37 or the second domain 38. Use to get the right information.

図4は、プラットフォーム45から独立して動作するデバイス44内に一体化されたアプリ42と通信するユーザ41を示す。この図は、一定の比率に応じて描かれているわけではない。アプリ開発者46は、前もって、プラットフォーム45を使用して、アプリのための仮想アシスタントを構成している。アプリインテグレータ(app integrator)は、仮想アシスタントアプリを内部に一体化させた製品およびサービスを設計または製造または販売する企業である。プラットフォームは、アプリインテグレータが、構成された仮想アシスタントをアプリ42に一体化するのに必要なソフトウェアを提供していた。 FIG. 4 shows a user 41 communicating with an app 42 integrated within a device 44 that operates independently of the platform 45. This figure is not drawn according to a certain ratio. The app developer 46 uses platform 45 in advance to configure a virtual assistant for the app. An app integrator is a company that designs, manufactures, or sells products and services that integrate virtual assistant apps internally. The platform provided the software needed by the app integrator to integrate the configured virtual assistant into the app 42.

アプリ42は、ユーザ41からクエリを受信すると、一体化されたインタプリタを使用してそれらを解釈し、それに従ってローカル情報ドメイン47から情報を要求するか、またはローカルサービスドメイン48からサービスアクションを要求する。たとえば、自動車デバイスでは、情報ドメイン47は、文法を有し、「電池電力がどれぐらい残っていますか」および「これはどのラジオ放送局ですか」などのクエリのための情報を提供するであろう。自動車では、サービスドメイン48は、文法を有し、「サンルーフを開けてください」および「ラジオの音量を上げてください」などのサービスを提供するであろう。これらの例示的な情報ソースおよびサービスは、自動車にローカルであり、ネットワークへのアクセスを必要としない。 When the app 42 receives a query from the user 41, it interprets them using an integrated interpreter and requests information from the local information domain 47 accordingly, or requests a service action from the local service domain 48. .. For example, in automotive devices, the information domain 47 has a grammar and provides information for queries such as "how much battery power is left" and "which radio station is this?" Let's go. In automobiles, service domain 48 will have a grammar and will provide services such as "open the sunroof" and "turn up the radio volume". These exemplary information sources and services are car-local and do not require access to the network.

いくつかの実施形態は、ネットワークアクセスを必要とするドメインとネットワークアクセスを必要としないドメインとの組み合わせを可能にする構成を有する。このような実施形態では、ネットワークアクセスが利用可能である場合にはドメインが成功裏に応答し、ネットワークアクセスが利用不可能である場合にはドメインの応答が不成功に終わる。 Some embodiments have configurations that allow a combination of domains that require network access and domains that do not require network access. In such an embodiment, the domain responds successfully if network access is available, and the domain responds unsuccessfully if network access is not available.

情報フローおよび構成
図5は、実施形態に係るランタイム時におけるプラットフォームを介したデータフローの図を示す。ユーザ51は、プラットフォームが処理する自然言語クエリを発行する。インタプリタ52は、このクエリを解釈して、応答をユーザ51に提供する。クエリによっ
ては、応答は、インタプリタ52がクエリを解釈できないという単純な表示であってもよい。いくつかの実施形態では、インタプリタ52は、単独で、成功裏に解釈するクエリに対する応答を提供することができる。
Information Flow and Configuration Figure 5 shows a diagram of the data flow through the platform at runtime according to the embodiment. User 51 issues a natural language query that the platform processes. The interpreter 52 interprets this query and provides a response to the user 51. Depending on the query, the response may be a simple indication that the interpreter 52 cannot interpret the query. In some embodiments, the interpreter 52 alone can provide a response to a query that it interprets successfully.

ドメインプロバイダは、音楽などの自身のサーバもしくは気象センサなどの他のソースからデータを提供し、またはメッセージの送信もしくは車両の制御などのサービスを提供する。一般に、このようなデータまたはサービスは、ドメイン53bとして知られている。ユーザがいつドメインを呼び出そうと思っているかを知るために、ユーザは、対応する文法コード53aを有することができる。文法コードは、ドメインを呼び出すフレーズと、ユーザ表現からの単語で埋めることができるスロットとを含む。たとえば、「天気はどうですか」というフレーズを有する文法コードは、天気ドメインを呼び出し、ドメインコードは、天気予報を取得する場所および時間のためのスロットを含む。天気ドメインのフレーズおよびスロットのためのコードは、「明日、ティンブクトゥはどのような天気ですか」というフレーズがティンブクトゥの明日の天気についての要求をドメインプロバイダに行うべきであることをインタプリタが認識することを可能にする。ドメインに関連付けられたコードは、多くの実施形態では、登録され、摂取され、プラットフォームによって格納される。 Domain providers provide data from their own servers such as music or other sources such as weather sensors, or provide services such as sending messages or controlling vehicles. Generally, such data or services are known as domain 53b. To know when the user intends to call the domain, the user can have the corresponding syntax code 53a. The grammar code contains a phrase that calls the domain and a slot that can be filled with words from the user expression. For example, a grammar code with the phrase "how is the weather?" Calls the weather domain, and the domain code contains slots for where and when to get the weather forecast. The code for the weather domain phrases and slots recognizes that the phrase "what weather is Timbuktu tomorrow?" Should make a request to the domain provider for tomorrow's weather in Timbuktu. Allows you to. The code associated with the domain is, in many embodiments, registered, ingested, and stored by the platform.

インタプリタ52は、ドメイン53bに関連付けられた文法コード53aに従ってクエリを解釈し、このクエリがドメイン53bから情報を要求すると判断すると、インタプリタ52は、複数のドメインプロバイダのうちの1つによって提供される適切なドメイン53bから情報を要求する。インタプリタ52は、この情報を使用して、ユーザ51に対する応答を形成する。 If the interpreter 52 interprets the query according to the syntax code 53a associated with the domain 53b and determines that the query requests information from the domain 53b, the interpreter 52 is suitable provided by one of a plurality of domain providers. Request information from the domain 53b. The interpreter 52 uses this information to form a response to the user 51.

図6は、実施形態に係る構成時におけるプラットフォームを介したデータフローの図を示す。多くのアプリインテグレータの中で、開発者66は、1つ以上のテストクエリ入力64をプラットフォームに提供する。開発者66は、1つ以上のドメインの選択65も提供する。インタプリタ62は、選択されたドメイン63bの文法コード63aに従ってテストクエリを解釈して、選択されたドメイン63bのうちのいずれがクエリを解釈できるかを判断する。ディスプレイは、インタプリタ62からの結果を開発者66に表示する(67)。多くの表示ビューは、さまざまな実施形態にとって適切であり、有用である。いくつかの表示ビューについて以下に例示し、説明する。 FIG. 6 shows a diagram of data flow via the platform at the time of configuration according to the embodiment. Among many app integrators, developer 66 provides one or more test query inputs 64 to the platform. Developer 66 also provides a selection of one or more domains 65. The interpreter 62 interprets the test query according to the syntax code 63a of the selected domain 63b to determine which of the selected domains 63b can interpret the query. The display shows the result from the interpreter 62 to the developer 66 (67). Many display views are suitable and useful for various embodiments. Some display views are illustrated and described below.

図6の実施形態は、インタプリタ62の結果に基づいて1つ以上のドメインをプロモーションすること(68)をさらに含む。たとえば、テストクエリがプロモーションドメインに従って成功裏に解釈可能である場合、プラットフォームは、プロモーションドメインがイネーブルにされた場合にインタプリタがユーザに示すであろう結果を開発者66に示す。いくつかの実施形態では、それらがイネーブルにされなくてもプロモーションドメインの名前を示す。いくつかの実施形態では、最高ランクの代替ドメインからの情報によって生成されるであろう応答の代替案として、プロモーションドメインからの情報によって生成されるであろう応答を示す。 The embodiment of FIG. 6 further comprises promoting one or more domains based on the results of interpreter 62 (68). For example, if the test query can be successfully interpreted according to the promotion domain, the platform will show developer 66 the results that the interpreter would show to the user if the promotion domain was enabled. In some embodiments, the name of the promotion domain is indicated even if they are not enabled. In some embodiments, as an alternative to the response that would be generated by the information from the highest ranked alternative domain, the response that would be generated by the information from the promotion domain is shown.

たとえば、より正確で詳細な情報を有する天気ドメインプロバイダは、より高い価格を請求して、それ自体をプロモーションドメインとして提供してもよい。デフォルト天気ドメインは、一般に天気クエリに回答し得る。実施形態に係るプラットフォームは、デフォルト天気ドメインからの情報に従って応答を示し、プロモーション天気ドメインからの情報によって生成されるであろう応答を示すであろう。これは、プロモーションドメインを選択するための候補、および、仮想アシスタントに含めるようにプロモーションドメインを選択するための、ボタンアイコンなどの手段と併用してなされることができる。 For example, a weather domain provider with more accurate and detailed information may charge a higher price and offer itself as a promotional domain. The default weather domain can generally answer weather queries. The platform according to the embodiment will respond according to the information from the default weather domain and will indicate the response that will be generated by the information from the promotional weather domain. This can be done in combination with candidates for selecting a promotional domain and means such as button icons for selecting a promotional domain to include in the virtual assistant.

図7は、プラットフォームを介したデータフローの図を示す。開発者76は、1つ以上のテストクエリ入力74をプラットフォームに提供する。開発者76は、1つ以上のドメインの選択75も提供する。インタプリタ72は、選択されたドメイン73bの文法コード73aに従ってテストクエリを解釈して、選択されたドメインのうちのいずれがクエリを解釈できるかを判断する。ディスプレイは、インタプリタ72の結果を開発者76に表示する(77)。図7の実施形態は、インタプリタ72の結果に基づいて1つ以上のドメイン78をプロモーションすることをさらに含む。構成時間後、ランタイム中、ユーザ71は、インタプリタ72が解釈するクエリを発行して、応答をユーザ71に提供する。 FIG. 7 shows a diagram of data flow through the platform. Developer 76 provides one or more test query inputs 74 to the platform. Developer 76 also provides a selection of one or more domains 75. The interpreter 72 interprets the test query according to the syntax code 73a of the selected domain 73b to determine which of the selected domains can interpret the query. The display shows the result of the interpreter 72 to the developer 76 (77). The embodiment of FIG. 7 further comprises promoting one or more domains 78 based on the results of the interpreter 72. After the configuration time, during runtime, user 71 issues a query interpreted by interpreter 72 to provide a response to user 71.

図7の実施形態では、ドメイン73から情報を受信したことに応答して、プラットフォームは、料金79を計算する。この料金は、価格設定モデルに従って計算される。価格設定モデルは、ドメイン使用量に基づく機能である。いくつかの実施形態は、各情報アクセスに対して単一の料金などの単純な価格設定モデルを有する。このような料金は、通常、1USドルの何分の1かである。いくつかの実施形態は、ある時間窓内の以前の情報アクセスの数またはアクセスされる情報のタイプに基づく機能であるより複雑な価格設定モデルをサポートする。同等に、いくつかのドメインは、他のドメインが情報を提供するときにサービスの提供に対して課金する。 In the embodiment of FIG. 7, the platform calculates a charge 79 in response to receiving information from domain 73. This fee is calculated according to the pricing model. The pricing model is a domain usage-based feature. Some embodiments have a simple pricing model, such as a single charge for each piece of information access. Such charges are usually a fraction of US $ 1. Some embodiments support a more complex pricing model that is a feature based on the number of previous information accesses or the type of information accessed within a time window. Equally, some domains charge for the provision of services when others provide information.

図7の実施形態では、プラットフォームは、仮想アシスタントに情報を提供してユーザに対する応答を構成する各ドメインプロバイダに支払いを行う。これは、ドメインプロバイダが開発者に仮想アシスタントに含めるようにドメインを選択したいと思わせるインセンティブ、したがってプラットフォームプロバイダが近いビジネス関係を有するドメインプロバイダのドメインをプラットフォームプロバイダがプロモーションするインセンティブを生じさせる。 In the embodiment of FIG. 7, the platform provides information to the virtual assistant to pay for each domain provider that constitutes a response to the user. This provides an incentive for the domain provider to want the developer to choose a domain to include in the virtual assistant, and thus an incentive for the platform provider to promote the domain of the domain provider with which the platform provider has a close business relationship.

ドメインテーブル
図8は、実施形態に係るドメインテーブル80の表示ビューを示す。テーブル80は、ドメイン当たり1行を有する。「イネーブルにされた」列は、ドメインイネーブルの状態を示す。いくつかの実施形態では、この列におけるセルは、対応するドメインをイネーブルにしたりディスエーブルにしたりするために使用することができる。クリックするためのマウス、矢印キーもしくはショートカットキーを有するキーボード、タッチスクリーン、またはユーザインターフェイス内のオブジェクトの選択を行うための他の適切な手段などの、ドメインを選択または選択解除するためのさまざまな入力手段が可能である。
Domain Table FIG. 8 shows a display view of the domain table 80 according to the embodiment. Table 80 has one row per domain. The Enabled column indicates the domain enabled status. In some embodiments, the cells in this column can be used to enable or disable the corresponding domain. Various inputs for selecting or deselecting a domain, such as a mouse for clicking, a keyboard with arrow or shortcut keys, a touch screen, or other suitable means for selecting objects in the user interface. Means are possible.

多くのさまざまなグラフィックレイアウトが可能である。一般に、多数のドメインを行および比較的少数の列として視覚的に編制して、名前、ドメインがイネーブルにされているか否か、ドメインが(テストセットから)解釈できるクエリの数またはパーセンテージ、および価格設定モデル(最も単純な場合には、クエリ当たりのコストなど)などのドメインについての関連情報を表示するのに、グリッドが有用である。ドメインがグリッドに対して整列されていることを表す長方形などの、関連情報を示すビジュアルオブジェクトも機能する。パーソナルコンピュータのデスクトップ上などでオブジェクトを任意にドラッグアンドドロップすることも可能である。 Many different graphic layouts are possible. In general, visually organize a large number of domains into rows and a relatively small number of columns, the name, whether the domain is enabled, the number or percentage of queries that the domain can interpret (from the test set), and the price. Grids are useful for displaying relevant information about a domain, such as a configuration model (or cost per query in the simplest case). Visual objects that show relevant information, such as rectangles that show that domains are aligned with respect to the grid, also work. It is also possible to arbitrarily drag and drop objects on the desktop of a personal computer.

テーブル80は、ドメインのメニューからどのドメインが仮想アシスタントに含めるように選択されるかをVA開発者に示すための表示ビューを有する。表示ビュー80は、5列を有する。見出し行は、その用途によって各列に表題をつける。これらの列は、利用可能なドメインのメニューからリストアップされた各ドメインの名前、仮想アシスタントのためにドメインがイネーブルにされるか否か、ドメインが、テストセット内の各クエリを解釈することができる全てのイネーブルにされたドメインの中でインタプリタが選択するであろうドメインであるクエリ数のカウント、クエリに応答するための価格設定モデル、
およびテストセット内の各クエリに応答するようにドメインが選択されたときに仮想アシスタントが応答を提供するのに必要な情報をドメインが提供するための総コストである。
Table 80 has a display view to show the VA developer which domain is selected to be included in the virtual assistant from the domain menu. The display view 80 has five columns. The heading row gives each column a title depending on its intended use. These columns indicate the name of each domain listed from the menu of available domains, whether the domain is enabled for the virtual assistant, and the domain can interpret each query in the test set. Counting the number of queries, which is the domain that the interpreter will choose among all enabled domains, pricing model for responding to queries,
And the total cost for the domain to provide the information needed for the virtual assistant to provide a response when the domain is selected to respond to each query in the test set.

見出し行に続くのは、メニュー内の各ドメインのための行である。テーブル80は、メニュー内に7個のドメインを含んでいる。いくつかの実施形態は、はるかに多数のドメイン、可変数のドメイン、ならびに、新たなおよび既存のドメインプロバイダが提供物を作成または除去すると動的に変化するドメインをサポートする。第1の列は、メニュー内の各ドメインの名前を有するテキスト文字列を示す。示されているドメインは、天気、食べ物、スポーツ、地図、情報、タイマおよび計算である。 Following the heading line is a line for each domain in the menu. Table 80 contains 7 domains in the menu. Some embodiments support a much larger number of domains, a variable number of domains, and domains that change dynamically as new and existing domain providers create or remove offerings. The first column shows a text string with the name of each domain in the menu. The domains shown are weather, food, sports, maps, information, timers and calculations.

第2の列は、各ドメインのためのセルを有し、ドメインが仮想アシスタントに含めるように選択されるとチェック印が付けられる。図8は、タッチスクリーン上でマウスまたは指によって制御できるポインタを示す。マウスボタンをクリックもしくはダブルクリック、またはタップもしくはダブルタップ、または指を長押しすることによって、ポインタ位置におけるドメインが選択されるか否かの状態が変化する。この状態は、セル内のチェック印の有無によって示される。 The second column has cells for each domain and is checked when the domain is selected to be included in the virtual assistant. FIG. 8 shows a pointer that can be controlled by a mouse or finger on the touch screen. Clicking or double-clicking the mouse button, tapping or double-tapping, or long-pressing the finger changes the state of whether or not the domain at the pointer position is selected. This state is indicated by the presence or absence of a check mark in the cell.

第3の列は、各ドメインのためのセルを示し、このセルは、選択されたドメインが与えられた状態でドメインからの情報によって応答されるクエリ数のカウントを含む。いくつかの実施形態では、正確なクエリ応答が分かっている場合、認識されるクエリの数および正確に回答されるクエリの数に異なる列が使用される。いくつかの実施形態では、その代わりにまたはさらに他の列を使用した絶対数に加えて、パーセンテージが表示される。さらに、いくつかのクエリは、選択されたドメインセットに関して曖昧であり、すなわち2つ以上のドメインによって解釈することができる。これは、短いクエリに最もよく見られる。たとえば、「ターキー」というクエリは、天気ドメイン、食べ物ドメイン、スポーツドメイン、地図ドメイン、情報ドメインによって解釈することができる。いくつかの実施形態では、クエリの全ての曖昧な解釈に対して標識付き応答を提供することによって曖昧なクエリを処理する。 The third column shows the cells for each domain, which contains a count of the number of queries that are responded to by information from the domains given the selected domain. In some embodiments, different columns are used for the number of queries recognized and the number of queries answered correctly if the exact query response is known. In some embodiments, percentages are displayed in addition to absolute numbers using alternatives or even other columns. In addition, some queries are ambiguous with respect to the selected domain set, i.e. can be interpreted by more than one domain. This is most often seen in short queries. For example, the query "turkey" can be interpreted by the weather domain, food domain, sports domain, map domain, and information domain. Some embodiments handle ambiguous queries by providing a labeled response to all ambiguous interpretations of the query.

他の実施形態では、ドメイン優先順位を使用して、クエリに一致する優先順位が最も高いドメインを選択して、より強制的に曖昧さを排除する。別の変形例では、クエリ解釈スコアが使用され、対応する文法からの最高スコアリング解釈スコアを有するドメインが勝って、応答の基礎を形成する。2つのアイデアを組み合わせることができる。全ての場合において、1つまたは少数の解釈をより強制的に選択することによって曖昧さは排除され、これは、単一ドメインの数に寄与する。ドメインの選択の状態が変化すると、これは、他のドメインが応答するであろうクエリの数を変化させ得る。いくつかの実施形態では、ドメインの選択が修正されるたびにクエリカウント数を動的に再計算する。代替的にまたは図8のクエリ数の列に加えて、いくつかの実施形態では、各ドメインが情報を提供できるテストクエリの総数も、ドメインがイネーブルにされた状態で正確に回答できるテストクエリの数の増分も示す。 In another embodiment, domain priority is used to select the highest priority domain that matches the query to more force disambiguation. In another variant, the query interpretation score is used and the domain with the highest scoring interpretation score from the corresponding grammar wins and forms the basis of the response. You can combine the two ideas. In all cases, ambiguity is removed by more compulsory choice of one or a few interpretations, which contributes to the number of single domains. As the state of domain selection changes, this can change the number of queries that other domains will respond to. In some embodiments, the query count is dynamically recalculated each time the domain selection is modified. Alternatively or in addition to the query count column in Figure 8, in some embodiments, the total number of test queries that each domain can provide information on is also a test query that can be answered accurately with the domain enabled. It also shows the increment of the number.

第4の列は、ドメインクエリを説明するための価格設定モデルを示す。テーブル80は、クエリ当たりの固定価格に基づく単純な種類の価格設定モデルを示す。示されている価格は、クエリ当たり0(無料ドメイン)から5¢($.05USドル)の範囲である。いくつかの実施形態は、ある時間窓におけるヒット数に応じた区分線形または式ベースのモデルなどのより複雑な価格設定モデルをサポートする。スライディング時間窓(たとえば、過去30日)と同様に、循環性時間窓が使用されてもよい(たとえば、暦月)。より複雑な価格設定モデルをサポートする実施形態は、価格設定モデル列に価格設定モデル自体を示さなくてもよく、その代わりに、ドメインの価格設定モデルセルをクリックまたはタップすることによって、ドメインの価格設定モデルを示してそれを編集できるようにする
ポップアップウィンドウなどの異なる表示ビューへのアクセスが与えられてもよい。
The fourth column shows a pricing model for explaining domain queries. Table 80 shows a simple kind of pricing model based on a fixed price per query. Prices shown range from 0 (free domain) to 5 ¢ ($ .05 US $) per query. Some embodiments support more complex pricing models, such as piecewise linear or expression-based models depending on the number of hits in a time window. A cyclic time window may be used as well as a sliding time window (eg, the last 30 days) (eg, a calendar month). Embodiments that support more complex pricing models do not have to show the pricing model itself in the pricing model column, instead by clicking or tapping the domain's pricing model cell to price the domain. You may be given access to a different display view, such as a pop-up window that shows the configuration model and allows you to edit it.

第5の列は、各ドメインについて、クエリのテストセット内のあらゆるクエリに対する応答に基づいて対応するドメインプロバイダに支払われるであろう金額を示す。応答時に情報が使用されるあらゆるドメインに対して課金される。テーブル80に示される単純な価格設定モデルでは、各ドメインのドメインコストは、クエリ数×クエリ当たりのコストである。複合クエリを可能にする実施形態では、単一のクエリが複数のドメインにヒットしてもよい。たとえば、「アメリカ合衆国大統領は何歳ですか」は、政治情報を提供するドメインにも個人情報を提供するドメインにもヒットしてもよい。応答の曖昧さを認める実施形態では、異なる理由で単一のクエリが複数のドメインにヒットしてもよい。競合する解釈に従って複数の回答が与えられる。ドメインが選択されたり選択解除されたりするたびにクエリ数が変化し得るのと同じ理由で、ドメインコストもそれに従って変化し得る。 The fifth column shows, for each domain, the amount that will be paid to the corresponding domain provider based on the response to every query in the query's test set. You will be charged for any domain whose information is used in response. In the simple pricing model shown in Table 80, the domain cost for each domain is the number of queries times the cost per query. In embodiments that allow compound queries, a single query may hit multiple domains. For example, "How old is the President of the United States?" May hit both the domain that provides political information and the domain that provides personal information. In embodiments that allow ambiguity in the response, a single query may hit multiple domains for different reasons. Multiple answers are given according to conflicting interpretations. For the same reason that the number of queries can change each time a domain is selected or deselected, the domain cost can change accordingly.

テーブル80における最も下の完全な行は、どのドメインにも一致しないクエリの数を表す。このようなクエリはカウントすることはできるが、他の列は該当なしである。 The bottom complete row in Table 80 represents the number of queries that do not match any domain. Such queries can be counted, but the other columns are not.

その下の行には、2つの数量が記載されている。第1の数量は、現在のドメインの選択で応答を受信するクエリのパーセンテージを示す。テーブル80において、食べ物ドメインおよび地図ドメインは、イネーブルにされていない。それらは、各々がそれぞれ1955個のクエリおよび764個のクエリに応答したであろう。それらにより、いかなるドメインによっても解釈できないクエリは633個になり、テストクエリのうちの73%が成功裏に応答を受信することになる。 In the line below it, two quantities are listed. The first quantity indicates the percentage of queries that receive a response in the current domain selection. In Table 80, the food domain and the map domain are not enabled. They would each respond to 1955 and 764 queries, respectively. They result in 633 queries that cannot be interpreted by any domain, and 73% of the test queries will receive a response successfully.

最後の数量セルは、イネーブルにされたドメインのドメインコストの合計を表示する。この数は、VA開発者がドメインをイネーブルにしたりディスエーブルにしたりすると動的に変化する。一般に、VA開発者がイネーブルにするドメインが多くなればなるほど、クエリの成功が大きくなり、総コストが大きくなるであろう。一般に、クエリ成功率が高くなればなるほど、ユーザエクスペリエンスが満足のいくものになるので、このような動的に有益な表示ビューにより、VA開発者はユーザ満足とドメイン使用予算との間で情報に基づいて妥協することができる。 The last quantity cell shows the total domain cost for the enabled domain. This number changes dynamically as the VA developer enables or disables the domain. In general, the more domains a VA developer enables, the more successful the query will be and the higher the total cost will be. In general, the higher the query success rate, the more satisfying the user experience, so these dynamically informative display views give VA developers information between user satisfaction and domain usage budgets. You can compromise on the basis.

上記の方法の全てにおいて、テストクエリまたはテストクエリのグループは、重複性を付与され得る。テストクエリセットを示す図2に戻って、たとえば「天気はどうですか」というクエリが3回行われていることに留意されたい。本稼働環境では、VA開発者は、はるかに大きなデータセットにわたってフィールド統計にアクセスでき、「天気はどうですか」についての月間数は数百にもなるであろう。同一のドメインに対して多数のクエリを有することにより、妥当なビジネス取り決めに対して非線形の数量割引がなされる。これは、静的であるかまたは低頻度でしか変化しないデータについての結果をプラットフォームがキャッシュする場合に特に当てはまる。代替的に、フィールドからの本格的な統計が無い状態では、小さなテストセットは、(1)クエリの小さなサンプルからの統計、または(2)おそらく一部にはフィールドからのデータから引き出されるキュレートされたクエリセットに基づいてもよい。いずれにしても、テストセット数は、非線形の数量割引の効果を観察するためにVA開発者が変更できる変数要素を乗じることができる。 In all of the above methods, a test query or a group of test queries can be given duplication. Returning to Figure 2, which shows the test query set, note that, for example, the query "How is the weather?" Is made three times. In a production environment, VA developers will have access to field statistics across much larger datasets, with hundreds of months for "how is the weather?" Having multiple queries for the same domain provides a non-linear quantity discount for reasonable business arrangements. This is especially true if the platform caches results for data that is static or changes infrequently. Alternatively, in the absence of full-fledged statistics from the field, the small test set is curated (1) statistics from a small sample of queries, or (2) perhaps partly derived from data from the field. It may be based on the query set. In any case, the number of test sets can be multiplied by a variable element that can be modified by the VA developer to observe the effect of the non-linear quantity discount.

いくつかの実施形態、特に多数のドメインを有する実施形態は、VA開発者が限定された表示空間内のさまざまなドメインを見ることができるようにスクロールバーを提供する。いくつかの実施形態は、VA開発者が、1つまたは任意の数の列の基準に従ってドメインのリストをソートすることを可能にする。そうするための1つの方法は、列見出しのクリックまたはタップを受信してリストをソートすることによる方法である。さらに、リス
トが既にソートされている列をクリックすることにより、リストは逆の順序でソートされる。いくつかの実施形態は、各ドメインがイネーブルにされているか否か、価格設定モデルの範囲およびドメインコストの範囲によるドメインのリストのフィルタリングなどのフィルタ基準をVA開発者が入力するためのボックスを提供する。
Some embodiments, especially those with a large number of domains, provide scroll bars that allow VA developers to view different domains within a limited viewing space. Some embodiments allow VA developers to sort the list of domains according to one or any number of column criteria. One way to do this is by receiving clicks or taps on the column headings and sorting the list. In addition, the list is sorted in reverse order by clicking on a column where the list is already sorted. Some embodiments provide a box for the VA developer to enter filtering criteria such as whether each domain is enabled, filtering the list of domains by the range of the pricing model and the range of domain costs. do.

あらゆる仮想アシスタントは、VA開発者にとって異なるプロジェクトである。いくつかの実施形態では、各プロジェクトは、別々に開いて閲覧され、特に特定の仮想アシスタントではドメインテーブルを表示するであろう。プラットフォームのいくつかの実施形態は、VA開発者に、アカウントを作成させてログインさせて、それらの仮想アシスタントプロジェクトを構成する。プラットフォームアドミニストレータは、さまざまなVA開発者がどのドメインを見ることができるかを制御することができ、どのような制御装置およびツールによってVA開発者がアカウントの条件に応じてプロジェクトに取り組むことにアクセスできるかを制御することができる。 Every virtual assistant is a different project for VA developers. In some embodiments, each project will be opened and viewed separately and will display a domain table, especially for certain virtual assistants. Some embodiments of the platform allow VA developers to create accounts and log in to configure their virtual assistant projects. Platform administrators can control what domains different VA developers can see, and what controls and tools give VA developers access to work on projects depending on the terms of their account. Can be controlled.

コストスタックチャート
図9は、実施形態に係るコストスタックチャート90の表示ビューを示す。このチャートは、「ドメイン当たり投じられる累積金額」という表題を有する。このチャートは、縦軸がコストであり、横軸がドメインである。いくつかの実施形態では、縦軸に沿ってドメインを示し、横軸に沿ってコストを示す。前者は、一般に、少数のドメインがコストの大半を占める仮想アシスタントで望ましいのに対して、後者は、一般に、多数のドメインを有する仮想アシスタントで望ましい。
Cost Stack Chart FIG. 9 shows a display view of the cost stack chart 90 according to the embodiment. This chart has the title "Cumulative amount invested per domain". In this chart, the vertical axis is the cost and the horizontal axis is the domain. In some embodiments, the vertical axis indicates the domain and the horizontal axis indicates the cost. The former is generally preferred for virtual assistants with a small number of domains accounting for most of the cost, while the latter is generally preferred for virtual assistants with a large number of domains.

視覚データを提示するための有用な方法は数多くある。たとえば、情報のエンビジョニングおよび定量的情報のビジュアルディスプレイなどのエドワード・タフテの書籍は、この主題に関して情報を提供してくれる。白黒線図面は、理想的ではないが、説明には十分であろう。図9の白黒線図面に示されている実施形態では、7個のドメインが横軸上に描かれている。単語を重複させることなく読みやすさを向上させるために、ドメインの名前は、軸とある角度をなして右揃えで書かれている。イネーブルにされたドメインの名前は、ボールドフォントで示されており、ディスエーブルにされたドメインの名前は、括弧の間に示され、より小さなフォントで書かれている。無料のドメインは、ドメイン名の後に「(f)」を付して示されている。外部動的情報へのアクセスを必要としないドメインは、一般に無料である。なぜなら、プラットフォームプロバイダは、情報をキャッシュして、それを低コストで取得できるからである。 There are many useful ways to present visual data. For example, Edward Tufte's books, such as information envisioning and a visual display of quantitative information, provide information on this subject. Black-and-white line drawings are not ideal, but may be sufficient for explanation. In the embodiment shown in the black-and-white line drawing of FIG. 9, seven domains are drawn on the horizontal axis. To improve readability without duplicating words, domain names are right-aligned at an angle to the axis. The name of the enabled domain is shown in bold font, and the name of the disabled domain is shown between parentheses and written in a smaller font. Free domains are indicated with a "(f)" after the domain name. Domains that do not require access to external dynamic information are generally free. This is because platform providers can cache information and retrieve it at low cost.

各ドメインの列において、テストクエリセットに応答するためのドメインコストに比例する高さを有するバーは、このセット内の全てのクエリに応答する総コストへのドメインの寄与を示す。各ドメインのバーの底面は、前のドメインのバーの最上部の高さに配置されている。コストを持たないドメインは、ゼロ高さのバーを有し、水平線として表示されている。縦軸は、累積コストの値で表記され、各バーの最上部の高さの水平破線は、縦軸から表示の高さのバーまで延びている。プラットフォームは、VA開発者が、名前のアルファベット順、一致するクエリの数、クエリ当たりのコスト、または総コストなどのさまざまな基準によって利用可能なドメインを自動的にソートすることによってドメインの順序を変更することを容易にする。また、プラットフォームのインターフェイスは、選択が変化し、そうでなければ順序が変化するであろう間、ユーザが特定のソートからの順序をフリーズさせることを可能にする。また、ドメインを手動で並べ替えることも可能である。また、いくつかの実施形態は、イネーブルにされたドメインまたは選択されたディスエーブルにされたドメインのみを示すなどのさまざまな基準によってドメインのリストをフィルタリングすることを提供する。 In each domain column, a bar with a height proportional to the domain cost to respond to the test query set indicates the domain's contribution to the total cost of responding to all queries in this set. The bottom of the bar for each domain is located at the top height of the bar for the previous domain. Domains with no cost have zero-height bars and are displayed as horizontal lines. The vertical axis is represented by the cumulative cost value, and the horizontal dashed line at the top height of each bar extends from the vertical axis to the bar at the display height. The platform reorders domains by allowing VA developers to automatically sort available domains by various criteria such as alphabetical order of names, number of matching queries, cost per query, or total cost. Make it easy to do. The platform interface also allows the user to freeze the order from a particular sort while the selection changes and otherwise the order will change. You can also sort the domains manually. Also, some embodiments provide filtering the list of domains by various criteria, such as showing only enabled domains or selected disabled domains.

図9の表示ビューは、クリックまたはタップまたはそうでなければ適切に起動された場
合にドメインがイネーブルであるか否かの状態を切り替えるポインタも備える。したがって、VA開発者は、素早くかつ容易にドメインをイネーブルにしたりディスエーブルにしたりして、テストセット内のクエリに応答するための総コストに対するその効果を見ることができる。図10は、ポインタで((食べ物))をクリックすることによって、ディスエーブルにされた食べ物ドメインがイネーブルにされた後の図9のものと同一の仮想アシスタントのコストスタックチャート100の表示ビューを示す。
The display view of FIG. 9 also includes a pointer that toggles the state of whether the domain is enabled or not when clicked or tapped or otherwise properly launched. Therefore, VA developers can quickly and easily enable and disable domains to see their effect on the total cost of responding to queries in the test set. FIG. 10 shows a display view of the same virtual assistant cost stack chart 100 as that of FIG. 9 after the disabled food domain is enabled by clicking ((Food)) with the pointer. ..

図10において、ドメインは、ドメインにヒットするクエリの数によってソートされる。食べ物ドメインが天気ドメインよりも、テストセットに応答するための総コストに大きく寄与している(なぜなら、それがより高いコスト価格設定モデルを有するからである)が、このリストでは2番目に示されている。なぜなら、テストセットは、天気クエリよりも少ない食べ物クエリを有しているからである。 In FIG. 10, domains are sorted by the number of queries that hit the domain. The food domain contributes more to the total cost of responding to the test set than the weather domain (because it has a higher cost pricing model), but it is shown second in this list. ing. This is because the test set has fewer food queries than the weather queries.

いくつかの実施形態では、コスト軸を線形目盛りで表示し、いくつかの実施形態では、それを対数的に示す。いくつかの実施形態では、イネーブルにされたドメインによって応答されるクエリの累積数(または、テストセットの割合またはパーセンテージ)を示す軸をチャートの右側に示す。このような軸は、コスト目盛りが規則的(線形または対数)である場合には必ず不規則な目盛りを有するであろう。代替的に、応答されるクエリの規則的な(線形または対数)表示は、不規則な間隔を有する対応する平行なコスト軸を有し得る。 In some embodiments, the cost axis is displayed on a linear scale, and in some embodiments it is shown logarithmically. In some embodiments, an axis showing the cumulative number of queries (or test set percentages or percentages) responded by the enabled domain is shown on the right side of the chart. Such an axis will have an irregular scale whenever the cost scale is regular (linear or logarithmic). Alternatively, the regular (linear or logarithmic) representation of the replied query can have corresponding parallel cost axes with irregular intervals.

クエリヒットヒストグラム
図11は、実施形態に係るドメイン当たりのクエリヒットのヒストグラム110を有する表示ビューを示す。このヒストグラムは、「ドメインにヒットするクエリのヒストグラム」という表題を有し、縦軸はヒットを示し、横軸はドメインを示す。ドメインヒットは、ドメインからの情報によって応答されるクエリを指す。図11のヒストグラム110は、ドメイン軸をドメインの名前で表記していない。なぜなら、名前に適合し得るドメインが多すぎるからである。代替的に、縦軸にドメインが示され、横軸にヒットが示されてもよい。ヒストグラムチャートが十分に長いか、またはVA開発者が入力をスクロールすることを可能にする場合には、ドメインの名前を一覧表示してヒットの数を表示することが可能である。
Query Hit Histogram FIG. 11 shows a display view having a histogram 110 of query hits per domain according to the embodiment. This histogram has the title "Histogram of queries that hit the domain", the vertical axis shows the hits, and the horizontal axis shows the domain. A domain hit refers to a query that is answered by information from the domain. In the histogram 110 of FIG. 11, the domain axis is not represented by the name of the domain. Because there are too many domains that can fit the name. Alternatively, the vertical axis may indicate the domain and the horizontal axis may indicate the hit. If the histogram chart is long enough or allows the VA developer to scroll through the inputs, it is possible to list the names of the domains and display the number of hits.

ヒストグラム110は、平滑化された線を有するが、ドメインにわたる階段表現も機能するであろう。ヒストグラム110は、横軸をドメインの名前で表記していないが、閾値を超える価格設定モデルを有するドメインを示すために「$」記号を示している。いくつかの実施形態では、(無料のドメインおよび支払い済みのドメインを示すために)閾値はゼロである。いくつかの実施形態では、VA開発者は、手頃な価格のドメイン対高価なドメインを見るために閾値を設定する。 Histogram 110 has smoothed lines, but a staircase representation across domains will also work. Histogram 110 does not represent the horizontal axis by the name of the domain, but shows a "$" symbol to indicate a domain that has a pricing model that exceeds the threshold. In some embodiments, the threshold is zero (to indicate free and paid domains). In some embodiments, the VA developer sets a threshold to see affordable domains vs. expensive domains.

場合によっては、少数のヒットを有するドメインでも、ユーザエクスペリエンスに対して不均衡な利益をもたらすことがある。たとえば、紛失した電話を突き止めることができる自動車仮想アシスタントで利用可能なドメインは、めったに使用されることはないが、まれに必要とされたときにはユーザによって非常に感謝されるであろう。それが、自動車での強いセールスポイントであろう。そのドメイン情報へのアクセスがVA開発者にとって使用当たり非常に高価であったとしても、より多くの自動車を販売するためにはコストに十分に見合うであろう。 In some cases, even a domain with a small number of hits can bring disproportionate benefits to the user experience. For example, the domains available in the Automotive Virtual Assistant, which can locate lost phones, are rarely used, but will be greatly appreciated by users when rarely needed. That would be a strong selling point in automobiles. Even if access to that domain information would be very expensive to use for a VA developer, it would be well worth the cost to sell more cars.

いくつかの実施形態は、VA開発者が、ユーザエクスペリエンスにとって特に価値が高いとして特定のドメインを星印などでタグ付けすることを可能にする。いくつかの実施形態では、図11に見られるようなヒストグラムを、高価値のドメインが目立つ色またはア
イコンで強調されるように示す。
Some embodiments allow VA developers to tag specific domains, such as with a star, as being of particular value to the user experience. In some embodiments, the histogram, as seen in FIG. 11, is shown so that the high value domains are highlighted with prominent colors or icons.

多くのクエリが2つ以上のドメインによって解釈可能であるので、単一のドメインをイネーブルにしたりディスエーブルにしたりすることにより、全ての他のドメインからの情報によって応答されるクエリの数が変化し得る。これは、ヒストグラム内のドメインを並べ替える効果を有し得る。たとえば、2つの競合する天気ドメインがイネーブルにされ、第1のドメインが気圧を含む全ての天気情報を提供することができ、第2のドメインが全ての天気に関する質問のデフォルト情報ソースであるが気圧情報を提供できない場合、両方のドメインがイネーブルにされた状態では、第1のドメインは非常に少数のヒットを有する(ヒストグラム110の右側付近に示される)が、第2のドメインがディスエーブルにされた状態では、第1のドメインは非常に多数のヒットを有するであろう。 Since many queries can be interpreted by more than one domain, enabling or disabling a single domain changes the number of queries that are answered by information from all other domains. obtain. This can have the effect of reordering the domains in the histogram. For example, two competing weather domains are enabled, the first domain can provide all weather information, including barometric pressure, and the second domain is the default source of information for all weather questions, but barometric pressure. If no information can be provided, with both domains enabled, the first domain has a very small number of hits (shown near the right side of the histogram 110), but the second domain is disabled. In such a state, the first domain will have a very large number of hits.

図12は、図11に見られるようなヒストグラム110であるが、ポインタを有するヒストグラム110の表示ビューを示す。ヒストグラム内のドメインの列の上に乗った状態で1秒間動かなければ、プラットフォームは、ドメインの名前、テストクエリセットについて有するヒットの数、およびテストセットのクエリに応答する際にドメインをイネーブルにするための総コストを示す情報ボックスをポップアップさせる。 FIG. 12 is a histogram 110 as seen in FIG. 11, but shows a display view of the histogram 110 with pointers. If you stay on top of the domain column in the histogram for 1 second, the platform enables the domain name, the number of hits it has for the test query set, and the domain when responding to the test set query. Pops up an information box showing the total cost for.

ドメインプロモーション
図13は、実施形態に係るドメインテーブル130を有する表示ビューを示す。図8のドメインテーブル80のように、図13のドメインテーブル130はドメインを一覧表示する。相違点は、ドメインテーブル130が2つの地図ドメインを示し、1つが「地図」と名付けられ、もう一つが「地図PRO」と名付けられる点である。後者は、プロモーションされたドメインである。それは、少なくともテストセットの764個のクエリの代わりに805個のクエリに情報を提供できるという理由から、地図ドメインよりも優れたユーザエクスペリエンスを提供するものと思われる。プラットフォームは、地図PROドメインおよびその線のテキストをボールドフォントで示し、そのイネーブルチェック印ボックスの周囲が強調されている。これにより、プロモーションされたドメインが目立つようにVA開発者に表示されて検討対象になる。
Domain Promotion FIG. 13 shows a display view having a domain table 130 according to an embodiment. Like the domain table 80 in FIG. 8, the domain table 130 in FIG. 13 lists the domains. The difference is that the domain table 130 shows two map domains, one named "map" and the other named "map PRO". The latter is a promoted domain. It appears to provide a better user experience than map domains, at least because it can serve 805 queries instead of 764 queries in the test set. The platform shows the map PRO domain and its line text in bold font, with emphasis around its enable check box. As a result, the promoted domain will be prominently displayed to the VA developer for consideration.

図13の実施形態ではボールドフォントおよび強調されたボックスを使用するが、プロモーションされたドメインを強調するための数多くの方法が可能である。たとえば、1つ以上のプロモーションされたドメインは、別々に一覧表示されてもよく、リストの最上部にくるようにソートされてもよく、異なる色もしくはシェーディングを使用して示されてもよく、星などのアイコンで示されてもよく、企業ロゴなどの画像とともに示されてもよく、または動画化されてもよい。これらのドメインを強調する手段のうちのいくつかは、組み合わせて使用されてもよい。 Although the embodiment of FIG. 13 uses bold fonts and highlighted boxes, there are many possible ways to highlight the promoted domain. For example, one or more promoted domains may be listed separately, sorted to be at the top of the list, shown using different colors or shading, and stars. It may be indicated by an icon such as, may be indicated with an image such as a company logo, or may be animated. Some of the means of emphasizing these domains may be used in combination.

図14は、実施形態に係る、特定のテストクエリを入力して結果を見るための表示ビュー140を示す。表示ビュー140は、テキスト入力ボックス141を備える。仮想アシスタント開発者は、物理的なキーボードまたは仮想のキーボードまたは他の適切なテキスト入力ボックスを使用してテキストを入力することができる。入力されたテキストは、カーソル位置インジケータ142の位置に表示される。マイクロフォンを有するユーザインターフェイスデバイスでは、VA開発者は、マイクロフォンボタン143をタップまたはクリックして、テストクエリを口に出して言うことができる。ガイダンスアイテムは、「クエリを口に出して言う」ことが可能であることをVA開発者に知らせるために最初に呼び出されたときにディスプレイ上に表示される。 FIG. 14 shows a display view 140 for inputting a specific test query and viewing the result according to the embodiment. The display view 140 includes a text input box 141. Virtual assistant developers can enter text using a physical or virtual keyboard or other suitable text input box. The entered text is displayed at the position of the cursor position indicator 142. On user interface devices with a microphone, the VA developer can tap or click the microphone button 143 to say a test query. Guidance items are displayed on the display when first called to inform the VA developer that it is possible to "speak out the query".

表示ビュー140は、アップロードボタン144も備える。それは、起動されると、ユーザがファイルをブラウズしてそれをプラットフォームにアップロードされるように選択
するためのダイアログボックスを呼び出す。ファイルは、単一のクエリを含んでもよく、または完全なテストセットを備える任意の数のクエリの区切りリストを含んでもよい。いくつかの実施形態では、VA開発者は、グラフィカルオペレーティングシステムまたはブラウザディスプレイからクエリボックスにファイルをドラッグアンドドロップして、それをプラットフォームに自動的にアップロードさせる。アップロードボタンおよびドラッグアンドドロップアップロードのさまざまな実現例は、周知であり、JavaScript(登録商標)などの言語のブラウザクライアント側スクリプトテンプレートにおいて容易に利用できる。
The display view 140 also includes an upload button 144. When launched, it calls a dialog box for the user to browse the file and choose to upload it to the platform. The file may contain a single query or may contain a delimited list of any number of queries with a complete test set. In some embodiments, the VA developer drags and drops a file from the graphical operating system or browser display into the query box and causes it to be automatically uploaded to the platform. Various implementations of upload buttons and drag-and-drop uploads are well known and readily available in browser client-side script templates for languages such as JavaScript®.

表示ビュー140は、結果ボックス145をさらに備える。所与の単一の入力クエリでは、結果ボックスは、クエリに応答するのに必要とされる情報を提供することができるドメインのリストを表示し、このリストは、ドメインの名前、価格設定モデル(「コスト」と表記)、およびドメインがイネーブルにされた状態で仮想アシスタントがそのクエリについてユーザに提供するであろう応答の列を有する。いくつかの実施形態では、複数のドメインプロバイダがソース情報および文法を提供して、クエリに対する非常に異なる応答を形成することができる。結果ボックス145は、4個の旅行ドメインプロバイダの各々からの文法および情報を使用して仮想アシスタント応答を示す。「Trip Booker」ドメイ
ンは、コストが比較的低い(クエリ当たり1¢に過ぎない)が、自身の名前「Trip Booker」を挙げてまさに1つのホテルブランドを勧めているという点でかなり私利的な応答で
ある。察するに、Trip Bookerドメインプロバイダおよびこのホテルブランドは、儲かる
ビジネス関係を有している。「Travel Mate」ドメインは、コストが中程度(クエリ当た
り3¢)であるが、利用可能な多数の結果および最も興味のありそうなもののトップ5の妥当なリストを示すかなり有用な応答を提供する。「TravelHound」ドメインは、コスト
が高い(クエリ当たり8¢)が、特定の数のホテルが見つかったこと、いくつかのリスト、および直感的音声インターフェイスを使用してリストをソートまたはフィルタリングすることによってユーザがはるかに満足のいく結果を得るようにするための勧めを有するはるかに有用な結果を提供する。「Chee-po-tels」ドメインは、コストが安価(クエリ当たり1¢に過ぎない)であるが、その文法は、パリという単語が十中八九フランスの大都市を指していると認識する代わりに、ホテルのないアメリカのアイダホ州のとてつもなく小さな町を想定している。
The display view 140 further includes a result box 145. For a single input query, the result box displays a list of domains that can provide the information needed to respond to the query, which is the name of the domain, the pricing model ( It has a column of responses (denoted as "cost"), and which the virtual assistant will provide to the user for that query with the domain enabled. In some embodiments, multiple domain providers can provide source information and syntax to form very different responses to queries. The result box 145 shows the virtual assistant response using the grammar and information from each of the four travel domain providers. The "Trip Booker" domain is relatively low cost (only 1 ¢ per query), but it's a fairly private response in that it recommends exactly one hotel brand by citing its own name "Trip Booker". Is. As you can see, the Trip Booker domain provider and this hotel brand have a lucrative business relationship. The "Travel Mate" domain is moderately costly (3 ¢ per query), but provides a fairly useful response showing the large number of results available and a valid list of the top five most likely to be of interest. .. The "Travel Hound" domain is expensive (8 ¢ per query), but users have found a certain number of hotels, some lists, and users by sorting or filtering the lists using an intuitive voice interface. Provides much more useful results with recommendations for getting far more satisfactory results. The "Chee-po-tels" domain is cheaper (only 1 ¢ per query), but instead of recognizing that the word Paris refers to the big cities of France, the hotel Imagine a ridiculously small town in Idaho, USA.

ドメイン(価格設定モデル、クエリヒットの数、VA開発者によるスターセレクション、クエリ応答タイプなど)のソート順序に関わらず、プラットフォームは、2つのセクションに結果を示すことができる。「エディターズピック−協賛」と名付けられたサブ見出し146によって示される第1のセクションは、プラットフォームプロバイダがVA開発者に選択してほしい1つ以上のドメインを示す。一般に、「エディターズピック」ドメインは、ドメインプロバイダによって協賛されるものまたはプラットフォームプロバイダによって選択されるものである。なぜなら、それらは仮想アシスタントによってより多くの使用または満足のいく結果を奨励するからである。情報を提供してテストクエリに対する応答を完全なものにすることができるドメインの残りは、「その他」と名付けられたサブ見出し147によって示されるセクションに示される。 Regardless of the sort order of domains (pricing model, number of query hits, star selection by VA developers, query response type, etc.), the platform can show results in two sections. The first section, indicated by the subheading 146, entitled "Editor's Pick-Sponsor", indicates one or more domains that the platform provider wants the VA developer to choose. In general, an "editor's pick" domain is either sponsored by a domain provider or selected by a platform provider. Because they encourage more use or satisfactory results with virtual assistants. The rest of the domain that can provide information and complete the response to the test query is shown in the section indicated by the subheading 147 named "Other".

価格設定モデル
上記で使用される例は、情報要求当たり1USセントまたは数USセントという線形料金の非常に単純な価格設定モデルを示す。いくつかの実施形態では、調達および配信が安価である情報の要求当たりのコストは、要求当たり1USセントよりもはるかに低いであろう。図15Aは、価格が要求当たり$.0005(要求当たり.05¢に等しい)である線形価格設定モデルの一例を示す。
Pricing Model The example used above shows a very simple pricing model with a linear rate of US cents or a few US cents per information request. In some embodiments, the cost per request for information that is cheap to procure and deliver will be much lower than 1 US cent per request. In FIG. 15A, the price is $ per request. An example of a linear pricing model of 0005 (equal to .05 ¢ per request) is shown.

ドメインが最高解釈スコアを有するクエリの数に対して非線形である価格設定モデルを
使用することは、業界では一般的である。非線形タイプの価格設定モデルの一例は、段階的価格設定モデルである。図15Bは、このような価格設定モデルを示す。要求当たりのコストは、要求の数が閾値を横断すると減少する。具体的には、コストは、1ヶ月以内の最初の10,000個のクエリではクエリ当たり$.0010である。要求の数が10,001〜50,000個では、コストは要求当たり$.0005である。要求の数が50,001〜250,000個では、コストは要求当たり$.0002である。要求の数が250,001個およびその他では、コストは要求当たり$.0001である。クエリ数は、1ヶ月に1回リセットされる。
It is common in the industry to use a pricing model in which the domain is non-linear with respect to the number of queries with the highest interpretation score. An example of a non-linear type pricing model is a gradual pricing model. FIG. 15B shows such a pricing model. The cost per request decreases as the number of requests crosses the threshold. Specifically, the cost is $ 1. per query for the first 10,000 queries within a month. 0010. If the number of requests is 10,001 to 50,000, the cost is $ 1 per request. 0005. If the number of requests is 50,001 to 250,000, the cost is $ 1 per request. 0002. For 250,001 requests and others, the cost is $ per request. It is 0001. The number of queries is reset once a month.

いくつかの実施形態では、ドメインプロバイダは、提供される情報要求の月次請求書をプラットフォームプロバイダに送信する。いくつかの実施形態では、プラットフォームプロバイダは、情報要求に先立ってクレジットを購入する。クレジットの料金は、購入される量に応じて、段階的な価格設定間隔で設定される。さまざまな実施形態では、ユーザが契約すること、アプリインテグレータがプラットフォームプロバイダまたはドメインプロバイダからクレジットを購入すること、任意の受取人が請求書によって支払いを行うこと、またはサービスの支払いを行うためのその他の適切な方法のさまざまな組み合わせがあり得る。 In some embodiments, the domain provider sends a monthly invoice for the information request provided to the platform provider. In some embodiments, the platform provider purchases credits prior to requesting information. Credit charges are set at gradual pricing intervals, depending on the amount purchased. In various embodiments, the user contracts, the app integrator purchases credits from a platform or domain provider, any recipient pays by invoice, or other payments for services. There can be different combinations of suitable methods.

図15Cは、非線形の式ベースの価格設定モデルを示す。要求当たりの価格設定は、多数の情報要求の段階的な間隔ではなく、式に基づく。多くの式が可能であるが、図16における式は以下の通りである。 FIG. 15C shows a non-linear, expression-based pricing model. Pricing per request is based on an expression rather than a gradual interval of numerous information requests. Many equations are possible, but the equation in FIG. 16 is as follows.

Figure 2021176092
Figure 2021176092

プラットフォームプロバイダまたはドメインプロバイダまたはそれら両方は、過去30日間のスライディングウィンドウに対して提供された情報要求の数を維持する。要求当たりの価格は、要求当たり$.0001という最小値+要求の数とともに逆対数的に変化するコストである。これは、頻繁に利用する人に対して数量割引を効果的に提供する。 The platform provider and / or domain provider maintain the number of information requests provided for the sliding window over the last 30 days. The price per request is $ per request. It is a cost that changes inversely with the minimum value of 0001 + the number of requests. This effectively provides quantity discounts to those who use it frequently.

ビジネス契約を交渉する人の創作性によってのみ限定されるさまざまな他の非線形価格設定モデルも可能である。 Various other non-linear pricing models are also possible, limited only by the creativity of the person negotiating the business contract.

CRM
図16Aは、回転式磁気ディスクである非一時的なコンピュータ読取可能媒体161の一例を示す。データセンタは、通常、磁気ディスクを使用して、サーバプロセッサのための命令を備えるデータおよびコードを格納する。非一時的なコンピュータ読取可能媒体161は、命令を備えるコードを格納し、この命令は、1つ以上のコンピュータによって実行された場合に、本明細書に記載されている方法のステップをコンピュータに実行させるであろう。回転式光ディスクおよび他の機械的に動く記憶媒体も可能である。
CRM
FIG. 16A shows an example of a non-temporary computer-readable medium 161 that is a rotary magnetic disk. Data centers typically use magnetic disks to store data and code with instructions for server processors. The non-temporary computer-readable medium 161 stores a code comprising an instruction, which, when executed by one or more computers, performs the steps of the method described herein on the computer. Will let you. Rotating optical discs and other mechanically movable storage media are also possible.

図16Bは、フラッシュランダムアクセスメモリ(RAM)チップである非一時的なコンピュータ読取可能媒体162の一例を示す。データセンタは、通常、フラッシュメモリを使用して、サーバプロセッサのためのデータおよびコードを格納する。モバイルデバイスは、通常、フラッシュメモリを使用して、システムオンチップデバイス内のプロセッサのためのデータおよびコードを格納する。非一時的なコンピュータ読取可能媒体162は、命令を備えるコードを格納し、この命令は、1つ以上のコンピュータによって実行された場合に、本明細書に記載されている方法のステップをコンピュータに実行させるであろ
う。リード線またははんだボールでパッケージングされた他の動かない記憶媒体も可能である。
FIG. 16B shows an example of a non-temporary computer-readable medium 162 that is a flash random access memory (RAM) chip. Data centers typically use flash memory to store data and code for server processors. Mobile devices typically use flash memory to store data and code for processors in system-on-chip devices. A non-temporary computer-readable medium 162 stores a code comprising an instruction, which, when executed by one or more computers, performs the steps of the method described herein on the computer. Will let you. Other non-moving storage media packaged with leads or solder balls are also possible.

いかなるタイプのコンピュータ読取可能媒体も、さまざまな実施形態に係る命令を備えるコードを格納するのに適している。 Any type of computer-readable medium is suitable for storing code with instructions according to various embodiments.

サーバ
サーバは、VA開発者に提供されるドメインのデータベースをプラットフォームメニューに格納する。また、サーバは、ドメインに関連付けられた文法のためのコードのデータベースも格納する。また、サーバは、ドメインに関連付けられた価格設定モデルのデータベースも格納する。
Server The server stores a database of domains provided to VA developers in the platform menu. The server also stores a database of code for the grammar associated with the domain. The server also stores a database of pricing models associated with the domain.

図17Aは、いくつかの実施形態に係るラックマウント式のサーバブレードマルチプロセッササーバシステム170を示す。それは、並行してソフトウェアを実行する多数のネットワーク接続コンピュータプロセッサを備える。 FIG. 17A shows a rack-mounted server blade multiprocessor server system 170 according to some embodiments. It comprises a number of networked computer processors running software in parallel.

図17Bは、サーバシステム170のブロック図を示す。それは、コンピュータプロセッサ(CPU)コア171のマルチコアクラスタと、グラフィックスプロセッサ(GPU)コア172のマルチコアクラスタとを備える。これらのプロセッサは、プログラムコードおよびデータの格納のために基板レベルのインターコネクト173を介してランダムアクセスメモリ(RAM)デバイス174に接続する。サーバシステム170は、プロセッサがインターネットにアクセスすることを可能にするためのネットワークインターフェイス178も備える。RAMデバイス174に格納された命令を実行することによって、CPU171およびGPU172は、本明細書に記載されている方法のステップを実行する。 FIG. 17B shows a block diagram of the server system 170. It comprises a multi-core cluster of computer processor (CPU) cores 171 and a multi-core cluster of graphics processor (GPU) cores 172. These processors connect to a random access memory (RAM) device 174 via a board-level interconnect 173 for storing program code and data. The server system 170 also includes a network interface 178 to allow the processor to access the Internet. By executing the instructions stored in the RAM device 174, the CPU 171 and GPU 172 perform the steps of the method described herein.

SoC
図18Aは、印刷回路基板への表面実装はんだ付けのためのボールグリッドアレイを有するパッケージングされたシステムオンチップデバイス180の底部側を示す。さまざまなパッケージ形状およびサイズがさまざまなチップ実現例で可能である。システムオンチップ(SoC)デバイスは、本明細書に記載されている多くの埋め込みシステムおよびIoTデバイスの実施形態を制御する。
SoC
FIG. 18A shows the bottom side of a packaged system-on-chip device 180 with a ball grid array for surface mount soldering to a printed circuit board. Different package shapes and sizes are possible with different chip implementations. System-on-chip (SoC) devices control many of the embedded systems and IoT device embodiments described herein.

図18Bは、システムオンチップ180のブロック図を示す。それは、コンピュータプロセッサ(CPU)コア181のマルチコアクラスタと、グラフィックスプロセッサ(GPU)コア182のマルチコアクラスタとを備える。これらのプロセッサは、揮発性のプログラムおよびデータの格納のためにネットワークオンチップ183を介してオフチップダイナミックランダムアクセスメモリ(DRAM)インターフェイス184に接続し、フラッシュRAM非一時的コンピュータ読取可能媒体へのコンピュータプログラムコードの不揮発性格納のためにフラッシュインターフェイス185に接続する。また、SoC180は、GUIを表示するための表示インターフェイス186と、さまざまな周辺デバイスのために必要に応じてさまざまなI/Oインターフェイスデバイスに接続するためのI/Oインターフェイスモジュール187とを有する。I/Oインターフェイスは、とりわけ、センサ(タッチスクリーンセンサなど)、ジオロケーション受信機、マイクロフォン、スピーカ、ブルートゥース(登録商標)周辺装置、ならびにUSBデバイス(キーボードおよびマウスなど)をイネーブルにする。また、SoC180は、プロセッサがWi−Fi、3G、4Gロングタームエボリューション(LTE)、5Gなどの有線または無線接続、ならびに他の無線インターフェイス標準無線およびイーサネット(登録商標)接続ハードウェアを介してインターネットにアクセスすることを可能にするためのネットワークインターフェイス188を備える。RAMデバイスに格納された命令をインターフェイス
184を介して実行することによって、またはフラッシュデバイスに格納された命令をインターフェイス185を介して実行することによって、CPU181およびGPU182は、本明細書に記載されている方法のステップを実行する。
FIG. 18B shows a block diagram of the system on chip 180. It comprises a multi-core cluster of computer processor (CPU) cores 181 and a multi-core cluster of graphics processor (GPU) cores 182. These processors connect to an off-chip Dynamic Random Access Memory (DRAM) interface 184 via a network-on-chip 183 for storing volatile programs and data, and a computer to a flash RAM non-temporary computer readable medium. Connect to flash interface 185 for non-volatile storage of program code. The SoC 180 also has a display interface 186 for displaying the GUI and an I / O interface module 187 for connecting to various I / O interface devices as needed for various peripheral devices. The I / O interface enables, among other things, sensors (such as touch screen sensors), geolocation receivers, microphones, speakers, Bluetooth® peripherals, and USB devices (such as keyboards and mice). The SoC180 also has a processor that connects to the Internet via wired or wireless connections such as Wi-Fi, 3G, 4G Long Term Evolution (LTE), 5G, and other wireless interface standard wireless and Ethernet (registered trademark) connection hardware. It includes a network interface 188 to allow access. The CPU 181 and GPU 182 are described herein by executing instructions stored in a RAM device through interface 184 or by executing instructions stored in a flash device through interface 185. Perform the method steps.

さらに他の留意事項
当業者は、多くの変形例および変更例を認識するであろう。変形例および変更例は、開示されている特徴の任意の関連する組み合わせを含む。
Yet other considerations One of ordinary skill in the art will recognize many variations and modifications. Modifications and modifications include any relevant combination of disclosed features.

さまざまな実施形態は、人間もしくは機械の挙動または人間と機械との組み合わせの挙動を使用する方法である。方法の実施形態は、大半の構成ステップが世界中のどこで行われても完全である。いくつかの実施形態は、本明細書に記載されている方法のためにこのような命令を格納するように配置された1つ以上の非一時的なコンピュータ読取可能媒体である。どんな機械が、必要なコードのうちのいずれかを備える非一時的なコンピュータ読取可能媒体を保持していても、完全な実施形態である。いくつかの実施形態は、半導体チップなどの物理的なデバイス、このようなデバイスの論理的または機能的挙動のハードウェア記述言語表現、およびこのようなハードウェア記述言語表現を格納するように配置された1つ以上の非一時的なコンピュータ読取可能媒体である。 Various embodiments are methods that use human or machine behavior or human-machine combination behavior. The embodiment of the method is complete wherever most of the configuration steps are performed in the world. Some embodiments are one or more non-transitory computer-readable media arranged to store such instructions for the methods described herein. It is a complete embodiment of any machine holding a non-temporary computer-readable medium with any of the required codes. Some embodiments are arranged to store physical devices such as semiconductor chips, hardware description language representations of the logical or functional behavior of such devices, and such hardware description language representations. Only one or more non-transitory computer-readable media.

原理、特徴および実施形態を記載する本明細書における説明は、それらの構造的等価物も機能的等価物も包含する。結合されているように本明細書に記載されている要素は、1つ以上の他の介在要素との直接接続または間接接続によって実現可能な有効な関係を有する。 The description herein describing principles, features and embodiments includes their structural and functional equivalents. The elements described herein as coupled have a valid relationship that can be achieved by direct or indirect connection with one or more other intervening elements.

示され、記載されている例では、特定の話し言葉を使用している。さまざまな実施形態は、他の言語または言語の組み合わせでも同様に動作する。示され、記載されている例では、特定の知識ドメインを使用している。さまざまな実施形態は、他のドメインまたはドメインの組み合わせでも同様に動作する。 The examples shown and described use specific spoken language. Various embodiments work similarly with other languages or combinations of languages. The examples shown and described use a specific knowledge domain. Various embodiments work similarly with other domains or combinations of domains.

いくつかの実施形態は、ディスプレイ画面を持たないイヤピースなどのようにスクリーンレスである。いくつかの実施形態は、自動販売機などのように据え置き型である。いくつかの実施形態は、自動車などのように移動可能である。いくつかの実施形態は、携帯電話などのように持ち運び可能である。いくつかの実施形態は、キーボードまたはタッチスクリーンなどのように手動インターフェイスを備える。いくつかの実施形態は、自然言語表現の一形態として人間の思考を使用するニューラルインターフェイスを備える。 Some embodiments are screenless, such as earpieces that do not have a display screen. Some embodiments are stationary, such as vending machines. Some embodiments are mobile, such as in automobiles. Some embodiments are portable, such as mobile phones. Some embodiments include a manual interface, such as a keyboard or touch screen. Some embodiments include a neural interface that uses human thinking as a form of natural language expression.

Claims (17)

自然言語仮想アシスタントを構成するためのプラットフォームであって、
自然言語仮想アシスタントのアプリ(アプリケーション)開発者がテストクエリを入力するための手段と、
多数のドメインのセットを複数の有能なドメインのサブセットにフィルタリングするための手段とを備え、前記複数の有能なドメインの各々は、前記テストクエリを解釈することが可能であり、前記プラットフォームはさらに、
ドメインのリストを提示するための手段を備え、前記手段は、
多数のプロモーションされたドメインにおいて前記複数の有能なドメインの各々を検索することによって前記ドメインのリストを提示し、各々のプロモーションされたドメインは、関連付けられた価格設定モデルを有し、前記手段はさらに、
前記多数のプロモーションされたドメインにおいて少なくとも1つの有能なドメインを発見することによって前記ドメインのリストを提示し、
前記プロモーションされたドメインを含む有能なドメインのリストを提示することによって前記ドメインのリストを提示し、前記プロモーションされたドメインは、前記リスト内で強調され、
アプリ開発者は、前記自然言語仮想アシスタントに含めるために、プロモーションされたドメインを識別することができる、プラットフォーム。
A platform for configuring natural language virtual assistants
A means for application developers of natural language virtual assistants to enter test queries,
Each of the plurality of competent domains is capable of interpreting the test query, and the platform provides means for filtering a large set of domains into a subset of the plurality of competent domains. Moreover,
It comprises means for presenting a list of domains, said means.
A list of said domains is presented by searching each of the plurality of competent domains in a number of promoted domains, each promoted domain having an associated pricing model, said means. Moreover,
Presenting a list of said domains by discovering at least one competent domain in said many promoted domains.
A list of said domains is presented by presenting a list of competent domains that include said said promoted domains, and said promoted domains are highlighted within said list.
A platform that allows app developers to identify promoted domains for inclusion in the Natural Language Virtual Assistant.
ユーザクエリを受信するための手段と、
前記プロモーションされたドメインに従って前記ユーザクエリを解釈して、応答を提供するための手段と、
前記応答を提供することに関連付けられた料金を計算するための手段とをさらに備え、前記料金は、前記プロモーションされたドメインに関連付けられた前記価格設定モデルに従って計算される、請求項1に記載のプラットフォーム。
Means for receiving user queries and
A means for interpreting the user query according to the promoted domain and providing a response.
The fee is calculated according to the pricing model associated with the promoted domain, further comprising means for calculating the fee associated with providing the response, according to claim 1. platform.
アプリに仮想アシスタントドメインを一体化するための方法であって、
アプリインテグレータからテストクエリを受信するステップと、
複数のドメインにおいて前記テストクエリを解釈するステップとを備え、いくつかのドメインは、前記アプリインテグレータに対してコストを請求し、前記方法はさらに、
前記テストクエリを解釈することができるドメインのサブセットをアプリ開発者に示し、示された各ドメインについて、前記示されたドメインを使用して前記テストクエリに応答するのにかかる前記コストを前記アプリインテグレータに示すステップを備える、方法。
A way to integrate a virtual assistant domain into your app
Steps to receive a test query from the app integrator,
With the steps of interpreting the test query in multiple domains, some domains charge the app integrator a cost, and the method further
Show the app developer a subset of the domains that can interpret the test query, and for each of the indicated domains, the app integrator will charge the cost of responding to the test query using the indicated domain. A method comprising the steps shown in.
前記アプリインテグレータから第2のテストクエリを受信するステップと、
前記複数のドメインにおいて前記第2のテストクエリを解釈するステップと、
各ドメインを使用して前記テストクエリおよび前記第2のテストクエリに応答するのにかかるコストを非線形価格設定モデルに従って計算するステップとをさらに備える、請求項3に記載の方法。
The step of receiving a second test query from the app integrator,
The step of interpreting the second test query in the plurality of domains,
The method of claim 3, further comprising calculating the cost of responding to the test query and the second test query using each domain according to a non-linear pricing model.
アプリに仮想アシスタントドメインを一体化するための方法であって、
アプリインテグレータから多数のテストクエリを受信するステップと、
複数のドメインの各々において前記多数のテストクエリから各テストクエリを解釈して、各テストクエリについて最高解釈スコアを有する前記ドメインを判断するステップとを備え、前記複数のドメインのうちの少なくともいくつかのドメインは、価格設定モデルに従って前記アプリインテグレータに対してコストを請求し、前記方法はさらに、
前記多数のテストクエリの総コストを計算するために、コストを請求するドメインが前記最高解釈スコアを有していた前記クエリに前記価格設定モデルを適用するステップを備
える、方法。
A way to integrate a virtual assistant domain into your app
Steps to receive a large number of test queries from the app integrator,
Each of the plurality of domains comprises a step of interpreting each test query from the large number of test queries to determine the domain having the highest interpretation score for each test query, and at least some of the plurality of domains. The domain charges the app integrator according to the pricing model, and the method further
A method comprising the step of applying the pricing model to the query for which the costing domain had the highest interpretation score in order to calculate the total cost of the large number of test queries.
ドメイン当たりのコストを計算するステップをさらに備える、請求項5に記載の方法。 The method of claim 5, further comprising the step of calculating the cost per domain. 特定のドメインのための前記価格設定モデルは、前記特定のドメインが前記最高解釈スコアを有するクエリの数に対して非線形である、請求項5に記載の方法。 The method of claim 5, wherein the pricing model for a particular domain is non-linear with respect to the number of queries in which the particular domain has the highest interpretation score. 自然言語仮想アシスタントに含めるようにドメインを構成するためのプラットフォームであって、
多数のテストクエリを入力するための手段と、
前記自然言語仮想アシスタントに含めるようにドメインの選択を入力するための手段と、
ドメインのメニューからどのドメインが前記自然言語仮想アシスタントに含めるように選択されたかをアプリ開発者に示す表示ビューと、
前記ドメインが自然言語仮想アシスタントに含めるように選択された状態で前記多数のテストクエリに応答するために前記自然言語仮想アシスタントに課せられるであろう総コストのコスト成分を示す表示ビューとを備え、各コスト成分は、前記ドメインのメニューから選択されたドメインに起因し、
前記アプリ開発者は、前記テストクエリに応答するのにかかる前記総コストが所望の予算内であるように、自然言語アシスタントに含めるようにドメインの組み合わせの選択を構成することを可能にされる、プラットフォーム。
A platform for configuring domains for inclusion in the Natural Language Virtual Assistant
A way to enter a large number of test queries,
A means for entering a domain selection to be included in the Natural Language Virtual Assistant,
A display view that shows the app developer which domain was selected to be included in the natural language virtual assistant from the domain menu.
With a display view showing the cost component of the total cost that would be levied on the natural language virtual assistant to respond to the large number of test queries with the domain selected to be included in the natural language virtual assistant. Each cost component is due to the domain selected from the domain menu.
The app developer is allowed to configure the selection of domain combinations to be included in the natural language assistant so that the total cost of responding to the test query is within the desired budget. platform.
前記自然言語仮想アシスタントに含めるように選択された各ドメインによってどれぐらいの前記テストクエリが回答されるかを示すヒストグラムをアプリ開発者が見るための表示ビューをさらに備える、請求項8に記載のプラットフォーム。 The platform of claim 8, further comprising a display view for the app developer to view a histogram showing how many of the test queries are answered by each domain selected to be included in the natural language virtual assistant. .. 前記ドメインのメニューからどのドメインが前記自然言語仮想アシスタントに含めるように選択されたかをアプリ開発者に示す前記表示ビューは、少なくとも1つのプロモーションされたドメインを他のドメインよりも目立つように表示する、請求項8に記載のプラットフォーム。 The display view, which shows the app developer which domain was selected to be included in the natural language virtual assistant from the domain menu, displays at least one promoted domain more prominently than the other domains. The platform according to claim 8. 少なくとも1つのドメインのコスト成分は、前記ドメインが前記自然言語仮想アシスタントに含めるように選択された状態で前記ドメインが応答するであろうテストクエリの数に対して非線形に変化する、請求項8に記載のプラットフォーム。 8. The cost component of at least one domain varies non-linearly with respect to the number of test queries that the domain will respond to with the domain selected to be included in the natural language virtual assistant. Described platform. 仮想アシスタントを構成するためのプラットフォームであって、前記システムは、
VA(仮想アシスタント)開発者が仮想アシスタントに含めるようにドメインを選択するための、サーバによってホストされたプラットフォームと、
選択に利用できる多数のドメインおよびドメインプロバイダに要求するための文法と、
埋め込みシステムにおけるプロセッサによって実行されたときに、前記プラットフォームサーバから独立して、インタプリタ機能にローカルドメインに対するクエリに応答させるコードをエクスポートするための手段とを備える、プラットフォーム。
A platform for configuring a virtual assistant, the system
A server-hosted platform for VA (Virtual Assistant) developers to select domains for inclusion in Virtual Assistant, and
A grammar for requesting a large number of domains and domain providers available for selection,
A platform that, when executed by a processor in an embedded system, provides an interpreter function with means for exporting code that responds to queries against the local domain, independent of said platform server.
テストクエリのセットを受信するための手段と、
所与のドメインの選択に対する前記テストクエリのセット内の前記クエリに応答するのにかかるコストを表示することを可能にされる表示ビューとをさらに備える、請求項12に記載のプラットフォーム。
A means to receive a set of test queries,
12. The platform of claim 12, further comprising a display view that allows the cost of responding to the query in the set of test queries for a given domain selection to be displayed.
選択に利用できる前記ドメインに関連付けられた多数の価格設定モデルをさらに備える、請求項12に記載のプラットフォーム。 12. The platform of claim 12, further comprising a number of pricing models associated with said domains available for selection. 方法であって、
プラットフォームが、ドメインを受信するステップと、
前記プラットフォームが、前記受信されたドメインにおいて文法的フレーズを識別する第1のドメイン文法を生成するステップと、
前記プラットフォームが、VA開発者が仮想アシスタントに含めるように前記ドメインを選択する前に、前記ドメイン文法を前記ドメインに関連付けるステップとを備える、方法。
It's a method
When the platform receives the domain,
A step in which the platform generates a first domain grammar that identifies a grammatical phrase in the received domain.
A method in which the platform comprises associating the domain grammar with the domain before the VA developer selects the domain for inclusion in the virtual assistant.
前記ドメインを使用するためのクエリ当たりのコストを識別する価格設定モデルを前記ドメインに関連付けるステップをさらに備える、請求項15に記載の方法。 15. The method of claim 15, further comprising associating a pricing model with the domain to identify the cost per query for using the domain. 前記VA開発者からテストクエリのセットを受信するステップと、
前記VA開発者から仮想アシスタントに含めるためのドメインの選択を受信するステップと、
前記ドメインの選択の状態で前記セット内の前記クエリに応答するのにかかる前記コストを示す表示ビューを生成するステップとをさらに備える、請求項15に記載の方法。
The step of receiving a set of test queries from the VA developer,
The step of receiving the domain selection to be included in the virtual assistant from the VA developer, and
15. The method of claim 15, further comprising generating a display view showing the cost of responding to the query in the set with the domain selected.
JP2021117153A 2018-12-07 2021-07-15 Virtual Assistant Domain Selection Analysis Active JP7465415B2 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16/213,020 US20200183815A1 (en) 2018-12-07 2018-12-07 Virtual Assistant Domain Selection Analysis
US16/213,020 2018-12-07
KR1020190085288A KR102358657B1 (en) 2018-12-07 2019-07-15 Virtual assistant domain selection analysis
KR10-2019-0085288 2019-07-15
JP2019152251A JP6916250B2 (en) 2018-12-07 2019-08-22 Virtual Assistant Domain Selection Analysis

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019152251A Division JP6916250B2 (en) 2018-12-07 2019-08-22 Virtual Assistant Domain Selection Analysis

Publications (2)

Publication Number Publication Date
JP2021176092A true JP2021176092A (en) 2021-11-04
JP7465415B2 JP7465415B2 (en) 2024-04-11

Family

ID=71013827

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019152251A Active JP6916250B2 (en) 2018-12-07 2019-08-22 Virtual Assistant Domain Selection Analysis
JP2021117153A Active JP7465415B2 (en) 2018-12-07 2021-07-15 Virtual Assistant Domain Selection Analysis

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019152251A Active JP6916250B2 (en) 2018-12-07 2019-08-22 Virtual Assistant Domain Selection Analysis

Country Status (3)

Country Link
JP (2) JP6916250B2 (en)
KR (1) KR20220019734A (en)
CN (1) CN111291251A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115268711B (en) * 2022-07-11 2023-07-28 网易(杭州)网络有限公司 Virtual article display method and device, electronic equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297261A (en) * 2000-04-14 2001-10-26 Misawa Homes Co Ltd Method and system for answering question, and recording medium with recorded question/answer program
JP2003256211A (en) * 2002-02-27 2003-09-10 Fujitsu Frontech Ltd Application providing system recording medium and program
JP2004117284A (en) * 2002-09-27 2004-04-15 Toyota Motor Corp Method of estimating gas adsorbing capability of other element added carbon nanotube
US20140337266A1 (en) * 2013-05-10 2014-11-13 Sri International Rapid development of virtual personal assistant applications
JP2015225402A (en) * 2014-05-26 2015-12-14 ソフトバンク株式会社 Information retrieval device, information retrieval program, and information retrieval system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US20130097202A1 (en) * 2011-10-12 2013-04-18 Google Inc. Method and System for Providing Opinion Queries to Users
CN112989840A (en) * 2013-08-30 2021-06-18 英特尔公司 Extensible context-aware natural language interaction for virtual personal assistants
CN107615274A (en) * 2015-05-27 2018-01-19 谷歌公司 Strengthen the feature of virtual assistant and conversational system via plug-in unit market

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001297261A (en) * 2000-04-14 2001-10-26 Misawa Homes Co Ltd Method and system for answering question, and recording medium with recorded question/answer program
JP2003256211A (en) * 2002-02-27 2003-09-10 Fujitsu Frontech Ltd Application providing system recording medium and program
JP2004117284A (en) * 2002-09-27 2004-04-15 Toyota Motor Corp Method of estimating gas adsorbing capability of other element added carbon nanotube
US20140337266A1 (en) * 2013-05-10 2014-11-13 Sri International Rapid development of virtual personal assistant applications
JP2015225402A (en) * 2014-05-26 2015-12-14 ソフトバンク株式会社 Information retrieval device, information retrieval program, and information retrieval system

Also Published As

Publication number Publication date
JP2020091834A (en) 2020-06-11
JP7465415B2 (en) 2024-04-11
KR20220019734A (en) 2022-02-17
JP6916250B2 (en) 2021-08-11
CN111291251A (en) 2020-06-16

Similar Documents

Publication Publication Date Title
US11868732B2 (en) System for minimizing repetition in intelligent virtual assistant conversations
US10545648B2 (en) Evaluating conversation data based on risk factors
US20210173548A1 (en) Virtual assistant acquisitions and training
US20210166692A1 (en) Customized voice action system
US9495661B2 (en) Embeddable context sensitive chat system
CN113728341A (en) Insight into performance of robotic systems
US12079706B2 (en) Method for capturing and storing contact information from a physical medium using machine learning
US11663250B2 (en) Method for capturing and updating database entries of CRM system based on voice commands
US11132209B2 (en) Integrated profile simulation for dynamic content
KR102358657B1 (en) Virtual assistant domain selection analysis
CN109101248A (en) Computer application promotes
CN113826089A (en) Contextual feedback with expiration indicators for natural understanding systems in chat robots
CN107819930A (en) A kind of function prompt method and system
CN107315833A (en) Method and apparatus of the retrieval with downloading based on application program
CN113434755A (en) Page generation method and device, electronic equipment and storage medium
US11347821B2 (en) Real-time generation of an improved graphical user interface for overlapping electronic content
JP7465415B2 (en) Virtual Assistant Domain Selection Analysis
US10997254B1 (en) 1307458USCON1 search engine optimization in social question and answer systems
JP2014532942A (en) Social page trigger
WO2018089500A1 (en) Method and apparatus for serving online communities of users
CN108255911A (en) Evaluation method, equipment and the electronic equipment of the network information
CN114969556A (en) User personalization-based interest point presenting and interacting method and related device
CN113420227A (en) Training method of click rate estimation model, and method and device for estimating click rate

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230310

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

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230705

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20230807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230807

R150 Certificate of patent or registration of utility model

Ref document number: 7465415

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150