JP2020091834A - Virtual assistant domain selection analysis - Google Patents

Virtual assistant domain selection analysis Download PDF

Info

Publication number
JP2020091834A
JP2020091834A JP2019152251A JP2019152251A JP2020091834A JP 2020091834 A JP2020091834 A JP 2020091834A JP 2019152251 A JP2019152251 A JP 2019152251A JP 2019152251 A JP2019152251 A JP 2019152251A JP 2020091834 A JP2020091834 A JP 2020091834A
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
JP2019152251A
Other languages
Japanese (ja)
Other versions
JP6916250B2 (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
Priority to CN201911244143.6A priority Critical patent/CN111291251A/en
Publication of JP2020091834A publication Critical patent/JP2020091834A/en
Priority to JP2021117153A priority patent/JP7465415B2/en
Application granted granted Critical
Publication of JP6916250B2 publication Critical patent/JP6916250B2/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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (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 An increasing number of people are using virtual assistants such as Soundhound's Hound, Google Assistant, Amazon Alexa, Baidu Haku, Apple Siri, Line/Naver Clover, Microsoft Cortana, KT Gigajiny, SK Telecom NUGU and Open Source Microft. ing. First generation virtual assistants were only available on corporate brand computers, smartphones or home speaker devices that provided virtual assistant functionality. They were not configurable and only supported custom features that the company developed in-house.

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

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

ドメインは、自然言語機能の単位である。ドメインは、ドメインが解釈できる一組の文によって特徴付けられ、認識された文を解釈する際に応答および作動することができる能力によって特徴付けられる。ドメインの例としては、天気についての質問に回答する天気ドメイン、ならびに、ユーザが予定を調整して管理すること、すなわち動作を要求することおよび質問すること、を可能にするカレンダドメインが挙げられる。 A domain is a unit of natural language function. Domains are characterized by a set of sentences that the domain can interpret and the ability to respond and act in interpreting recognized sentences. Examples of domains include a weather domain that answers questions about the weather, and a calendar domain that allows 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, develop virtual assistant developers (“VA developers”) by providing a menu of domains available on the development platform. ) Support. On such platforms, VA developers choose domains for inclusion in their own custom virtual assistant, which includes an array of domains already known to the platform. Some embodiments provide for configuring a virtual assistant using such a platform. Some embodiments include such a platform. In some embodiments, the platform provides an interface for the domain provider to provide the domain to be 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, payment is made to the domain provider by the platform provider or by another party such as a VA developer, a user or a VA developer through the platform provider. In some embodiments, platform providers promote certain domains over other domains.

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

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

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

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

いくつかの実施形態は、有用な基準に従ってドメインのメニューをソートまたはフィルタリングすることを提供する。いくつかの実施形態は、背景色、テキストの色、フォントおよび書体などさまざまな方法でメニュー内のさまざまなドメインを表示することを提供する。 Some embodiments provide for sorting or filtering the menu of domains according to useful criteria. Some embodiments provide for displaying 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 selections.

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

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

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

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

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

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

仮想アシスタント開発者は、仮想アシスタントを特定のデバイスおよびアプリに一体化する企業で働く人(ほとんどの場合、訓練を受けた技術者)である。VA開発者は、プラットフォームを使用して、特定の要求基準に合わせて仮想アシスタントを構成する。仮想アシスタントは、一般に、複数のドメインをサポートする。いくつかのドメインは、天気、ニュース、トリビア、レストラン検索、簡単な計算およびウィキペディア検索などの情報を提供する。いくつかのドメインは、サーモスタットの制御または照明、音楽のストリーミング、SMSテキストメッセージの送信、およびカレンダの予定の管理などのサービスを提供する。いくつかのドメインは、単に時間を伝えるといったような単純なものであってもよい。いくつかのドメインは、旅行代理店サービスの提供などの複雑なものであってもよく、子供の居場所を突き止めることができる機能など、ユーザにとって非常に有益なものもある。多くのドメインは、ウェブAPIにアクセスして、特定の情報または動的な情報にアクセスするか、または要求された動作を生じさせる。いくつかのドメインは、支払いと引き換えに第三者プロバイダからの情報およびサービスを提供する。たとえば、いくつかの天気ドメインは、国立気象局APIにアクセスして、天気予報情報を取得する。 A virtual assistant developer is a person (most often a trained technician) working in a company that integrates a virtual assistant into a particular device and app. 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, sending SMS text messages, and managing calendar appointments. Some domains may be as simple as just telling the time. Some domains may be complex, such as providing travel agency services, and some may be very beneficial to the user, such as the ability to locate a child. Many domains access web APIs to access specific or dynamic information or to cause a requested action. Some domains offer 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 domains for inclusion in a virtual assistant, among other capabilities. Generally, the domain is provided by a 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 a semantic grammar code. Such grammar code is written specifically for each domain by a domain developer (most often a trained technician) who creates the rules for interpreting the query as a specific information request or specific action request. To be done. In such an embodiment, the natural language interpretation is based on the domain grammar code. The domain grammar comprises the syntax rules used by the natural language processing system to parse the query. In domain grammar, syntax rules are extended by semantic extensions. Extension is the ability to construct a component interpretation from zero or more subcomponent interpretations, where the subcomponents are determined by parsing. In some embodiments, a domain grammar is used to recognize and interpret queries for domains. In some embodiments, at least some of the interpreters include neural networks that are trained using machine learning. In any case, the query's interpretation assigns values to semantic slots based on information from the query. In some embodiments, an intent slot is encoded that represents the user's overall intent for the query, such as meeting scheduling or flight booking.

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

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

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

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

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

有効な構成の選択のために、プラットフォームは、VA開発者が賢明な判断を行うことをサポートすることを意図した経験的ツールを提供することができる。いくつかの実施形態では、ドメインの費用有効性は、(1)カバー範囲、すなわちクエリのどの部分がドメインによって認識されるか、(2)正確さ、すなわち認識されたクエリのどの部分がドメインによって正確に解釈されるか、および(3)コスト検討事項の観点から、クエリのテストセットに対して測定することができる。 For a valid configuration choice, 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, that is, what part of the query is recognized by the domain, and (2) accuracy, that is, what part of the recognized query is recognized by the domain. It can be measured against the test set of queries in terms of correct interpretation, and (3) cost considerations.

コストに関して、いくつかの実施形態によれば、プラットフォームは、各ドメインに関連付けられた価格設定モデルを認識していて、価格設定情報をVA開発者に提供することができる。多くのプラットフォームは、時間を知らせるためのドメインまたは簡単な計算を行うためのドメインなどの特定のドメインを無料で提供するであろう。しかし、多くのドメインプロバイダは、高価値のドメインを提供し、それらのデータおよびサービスの使用を補償されたいと考える。たとえば、株を取引するためのドメインは、ユーザが要求した各々の株取引の手数料を請求することができる。いくつかの仮想アシスタントでは、ユーザは、ドメインを使用するためにVA開発者に支払いを行い、VA開発者は、直接またはプラットフォームを介してドメインプロバイダに支払いを行う。場合によっては、プラットフォームは、ドメインのコストを値上げして、プラットフォームが与える付加価値を回収してもよい。 Regarding costs, according to some embodiments, the platform is aware of the pricing model associated with each domain and can provide pricing information to VA developers. Many platforms will offer a specific domain for free, such as a domain for signaling time or a domain for performing 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 trade 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 either directly or via the platform. In some cases, the platform may raise the cost of the domain to recover the value added by the platform.

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

カバー範囲および正確さは、プラットフォームがVA開発者から受信するテストクエリセットに基づいて測定される。イネーブルにされたドメインがクエリを認識すると、「ヒット」が登録される。テストクエリは、少なくとも1つのイネーブルにされたドメインにヒットする場合、「カバー」されている。カバー範囲は、カバーされるテストクエリの数によって(絶対的に)測定され、またはテストクエリの対応する部分によって(相対的に)測定される。正確さは、正確に処理されるテストクエリの数によって(絶対的に)測定され、またはカバーされるテストクエリの対応する部分によって(相対的に)測定される。正確さは、テストセットがクエリ解釈データを含む場合またはテストセットがクエリデータを含む場合に測定することができる。 Coverage and accuracy are measured based on a test query set that the platform receives from VA developers. A "hit" is registered when the enabled domain recognizes the query. A 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. The accuracy is measured (absolutely) by the number of test queries processed correctly or (relatively) by the corresponding part of the test query 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 for correctness requires interpreting the test query that would be made to the user query in production, but not performing (performing) the test query. do not do. Correctness is based on the equivalence (or matching consistency) of interpretations (which are internal representations of the meaning of the query). In some embodiments, testing for accuracy requires interpretation and fulfillment of test queries. And the accuracy is based on the equivalence (or matching consistency) of the responses.

いくつかの実施形態では、VA開発者は、テストクエリを、まるでそれがユーザから受信されたかのように入力することができ、プラットフォームは、(1)どのドメインがクエリを認識することができるか、(2)クエリの解釈、(3)解釈を遂行してクエリに応答するために必要な情報、および(4)応答を提供するコスト、のうちの1つ以上をVA開発者に示すことができる。 In some embodiments, a VA developer can enter a test query as if it was received from a user, and the platform can (1) determine which domains can recognize the query. One or more of (2) query interpretation, (3) information needed to perform the interpretation and respond to the query, and (4) the 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 statistics about the domains and cumulative cost of the test set that this query set will hit. In some embodiments, the query may hit multiple 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 or not each domain is enabled for virtual assistants, 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 that are hit, the resulting cost of enabling the domain in the virtual assistant, the portion of the queries in the test set that will hit at least one of the enabled domains , And the total cost to process all queries in the test set using the enabled domains.

いくつかのクエリが2つ以上のドメインから情報を必要とすることが可能である。たとえば、「前回のスーパーボウルの試合に勝ったチームの本拠地の天気はどうですか」というクエリは、仮想アシスタントが、スポーツ情報ドメインを使用して、どのチームが前回のスーパーボウルの試合に勝ったかおよびその本拠地を突き止め、次いで都市情報を使用して、天気ドメインを用いて天気情報を調べることを必要とするであろう。したがって、テストクエリセットに応答する仮想アシスタントによってヒットされるドメインの数は、クエリの数よりも多く、クエリのコストは、各テストクエリが1つのドメインにしかヒットしない場合よりも高いであろう。 It is possible that some queries require information from more than one domain. For example, the query "What's the weather in the home base of the team that won the last Super Bowl game?" uses a sports information domain to help the virtual assistant determine which team won the last Super Bowl game and It would 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 queries 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-working queries are answered with default information, such as web search results. As a result, the number of hits will be less than the number of queries.

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

以下は、図面に示される特定の代表的な実施形態の説明である。
関係者
図1は、仮想アシスタントエコシステムおよびその動作の図を示す。さまざまなドメインプロバイダが情報およびサービスをプラットフォーム12に提供する。具体的には、天気情報ドメインプロバイダは、天気ドメイン11aをプラットフォーム12に提供し、地図情報ドメインプロバイダは、地図ドメイン11bをプラットフォーム12に提供し、テキストメッセージングドメインプロバイダは、テキストメッセージングドメイン11cをプラットフォーム12に提供する。ドメイン文法に加えて、プラットフォームに提供される情報は、価格設定モデルおよびテストデータを含んでもよい。
The following is a description of specific exemplary embodiments shown in the drawings.
Stakeholders 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 the platform 12, the map information domain provider provides the map domain 11b to the platform 12, and the text messaging domain provider provides the text messaging domain 11c to the 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 such as the device 13a, the mobile phone 13b, and the car 13c, which all deliver VA functionality to multiple users 14. Some users use more than one type of virtual assistant. Information and services typically 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 provider or domain provider. In some embodiments, the platform provider pays the domain provider. In some embodiments, platform providers offer virtual assistant developers discounts or access to several domains that are losing in order to win business or increase total usage. provide. In some embodiments, the domain provider pays or provides a discount to the platform provider in exchange for the platform provider promoting the domain. The techniques disclosed herein do not limit the business relationships possible using this framework.

いくつかの実施形態では、企業は、ドメインプロバイダでもあり、仮想アシスタント開発者でもある。たとえば、自動車の仮想アシスタントは、燃料液面高さなどの自動車についての状態クエリに回答するため、またはヘッドライトをオンにするなどの動作を要求するために、それ自体のローカルドメインを必要とする。この他に、場合によっては、天気情報を有するドメインなどの外部ドメインを含む。別の例では、特定のビデオコンテンツプロバイダによって販売されるビデオプレーヤセットトップボックスは、そのカスタム仮想アシスタントの一部として、そのビデオコンテンツを取得するためのドメインにアクセスできる必要がある。このドメインは、ローカルであってもよく、または外部であってもよい。いくつかの実施形態では、いくつかのドメインは、いくつかの仮想アシスタント専用であり、他の仮想アシスタントでは利用できない。 In some embodiments, the enterprise is both a domain provider and a virtual assistant developer. For example, a virtual assistant for a car needs its own local domain to answer status queries about the car, such as fuel level, or to request actions such as turning on headlights. .. In addition to this, 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 have access to a domain to obtain its 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 about the 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 a variety of other types. Is the query. Since each query may appear multiple times in the test set, the order is irrelevant, and an alternative expression known as a bag is to associate each unique query with a count. For example, there are three queries "How is the weather?" in this set. Extending this further, each query can be given a real-valued weight (not just a frequency count) that indicates to the experimenter its importance to other queries. Such weights can be normalized so that the sum is one.

クラウドおよびデバイス
図3は、第1のアプリ32および第2のアプリ33と通信するユーザ31を示す。これらのアプリは、ネットワーク34を介してプラットフォーム35と通信する。アプリ開発者36は、前もって、プラットフォーム35を使用して、第1のアプリ32のための第1の仮想アシスタントおよび第2のアプリ33のための第2の仮想アシスタントを構成している。いくつかの実施形態では、さまざまな開発者が各アプリを構成する。
Cloud and Device FIG. 3 shows a user 31 in communication with a first app 32 and a second app 33. These apps communicate with the platform 35 via the network 34. The app developer 36 has previously used the 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 multiple available domains may be in the hundreds, thousands, or even more. Domains are provided by domain providers. They are made available on the platform via a domain registration or ingestion process. During registration, the information provided about the domain includes the unique ID, simple name, description, examples of recognized queries, and domains in executable or interpretable form (source code, object code, neural networks or semantic grammars, etc. ) May be included. In this disclosure, the term "grammar" or "semantic grammar" generally refers to a description of code, such as a source, object, neural network, or any 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 a first domain 37 and a second domain 38. When the user 31 makes a query to any of the apps, the user 31 sends the query to the platform 35, and the platform 35 interprets the query and outputs the 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 in communication with an app 42 integrated in a device 44 that operates independently of a platform 45. This figure is not drawn to scale. The app developer 46 has previously used the platform 45 to configure a virtual assistant for the app. An app integrator is a company that designs, manufactures, or sells products and services that have a virtual assistant app integrated inside. The platform provided the software that the app integrator needed to integrate the configured virtual assistant into the app 42.

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

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

ドメインプロバイダは、音楽などの自身のサーバもしくは気象センサなどの他のソースからデータを提供し、またはメッセージの送信もしくは車両の制御などのサービスを提供する。一般に、このようなデータまたはサービスは、ドメイン53bとして知られている。ユーザがいつドメインを呼び出そうと思っているかを知るために、ユーザは、対応する文法コード53aを有することができる。文法コードは、ドメインを呼び出すフレーズと、ユーザ表現からの単語で埋めることができるスロットとを含む。たとえば、「天気はどうですか」というフレーズを有する文法コードは、天気ドメインを呼び出し、ドメインコードは、天気予報を取得する場所および時間のためのスロットを含む。天気ドメインのフレーズおよびスロットのためのコードは、「明日、ティンブクトゥはどのような天気ですか」というフレーズがティンブクトゥの明日の天気についての要求をドメインプロバイダに行うべきであることをインタプリタが認識することを可能にする。ドメインに関連付けられたコードは、多くの実施形態では、登録され、摂取され、プラットフォームによって格納される。 Domain providers provide data from their 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 domains 53b. In order to know when the user wants to call the domain, the user can have the corresponding grammar code 53a. The grammar code includes phrases that call the domain and slots 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 tells the interpreter that the phrase "What's the weather in Timbuktu tomorrow?" should make a request to the domain provider about the weather in Timbuktu tomorrow. To be able to do. 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に対する応答を形成する。 When interpreter 52 interprets the query according to the grammar code 53a associated with domain 53b and determines that the query requires information from domain 53b, interpreter 52 determines that the appropriate query is provided by one of the domain providers. Request information from a different domain 53b. Interpreter 52 uses this information to form a response for user 51.

図6は、実施形態に係る構成時におけるプラットフォームを介したデータフローの図を示す。多くのアプリインテグレータの中で、開発者66は、1つ以上のテストクエリ入力64をプラットフォームに提供する。開発者66は、1つ以上のドメインの選択65も提供する。インタプリタ62は、選択されたドメイン63bの文法コード63aに従ってテストクエリを解釈して、選択されたドメイン63bのうちのいずれがクエリを解釈できるかを判断する。ディスプレイは、インタプリタ62からの結果を開発者66に表示する(67)。多くの表示ビューは、さまざまな実施形態にとって適切であり、有用である。いくつかの表示ビューについて以下に例示し、説明する。 FIG. 6 shows a diagram of the data flow through the platform during configuration according to the embodiment. Among many app integrators, the developer 66 provides one or more test query inputs 64 to the platform. The developer 66 also provides a selection 65 of one or more domains. The interpreter 62 interprets the test query according to the grammar code 63a of the selected domain 63b and determines which of the selected domains 63b can interpret the query. The display displays the results from interpreter 62 to 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 includes promoting (68) one or more domains based on the results of interpreter 62. For example, if the test query can be successfully interpreted according to the promotion domain, the platform shows the developer 66 the results that the interpreter would show to the user if the promotion domain was enabled. In some embodiments, the names of promotion domains are indicated even if they are not enabled. Some embodiments show responses that would be generated by information from the promotion domain as an alternative to responses that would be generated by information from the highest ranked alternative domains.

たとえば、より正確で詳細な情報を有する天気ドメインプロバイダは、より高い価格を請求して、それ自体をプロモーションドメインとして提供してもよい。デフォルト天気ドメインは、一般に天気クエリに回答し得る。実施形態に係るプラットフォームは、デフォルト天気ドメインからの情報に従って応答を示し、プロモーション天気ドメインからの情報によって生成されるであろう応答を示すであろう。これは、プロモーションドメインを選択するための候補、および、仮想アシスタントに含めるようにプロモーションドメインを選択するための、ボタンアイコンなどの手段と併用してなされることができる。 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 show the response according to the information from the default weather domain, and the response that will be generated by the information from the promotion weather domain. This can be done in conjunction with candidates for selecting a promotion domain, and means such as button icons for selecting a promotion domain for inclusion 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 the data flow through the platform. Developer 76 provides one or more test query inputs 74 to the platform. The developer 76 also provides a selection 75 of one or more domains. The interpreter 72 interprets the test query according to the grammar code 73a of the selected domain 73b to determine which of the selected domains can interpret the query. The display displays the results of interpreter 72 to developer 76 (77). The embodiment of FIG. 7 further includes promoting one or more domains 78 based on the results of interpreter 72. After the configured time, during runtime, user 71 issues a query that interpreter 72 interprets and provides the response to user 71.

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

図7の実施形態では、プラットフォームは、仮想アシスタントに情報を提供してユーザに対する応答を構成する各ドメインプロバイダに支払いを行う。これは、ドメインプロバイダが開発者に仮想アシスタントに含めるようにドメインを選択したいと思わせるインセンティブ、したがってプラットフォームプロバイダが近いビジネス関係を有するドメインプロバイダのドメインをプラットフォームプロバイダがプロモーションするインセンティブを生じさせる。 In the embodiment of FIG. 7, the platform pays each domain provider that provides information to the virtual assistant and configures the response to the user. This creates an incentive for the domain provider to inspire the developer to choose a domain for inclusion in the virtual assistant, and thus 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. The table 80 has one row per domain. The "enabled" column indicates the state of domain enable. In some embodiments, the cells in this column can be used to enable or disable the corresponding domain. Various inputs for selecting or deselecting domains, such as a mouse to click, a keyboard with arrow or shortcut keys, a touch screen, or other suitable means for making selections of 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 to name, whether or not the domain is enabled, the number or percentage of queries (from the test set) that the domain can interpret, and the price. The grid is useful for displaying relevant information about the domain, such as the configuration model (in the simplest case, cost per query, etc.). Visual objects that show relevant information, such as rectangles that indicate that the domains are aligned to the grid, also work. It is also possible to arbitrarily drag and drop an object on the desktop of a personal computer.

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

見出し行に続くのは、メニュー内の各ドメインのための行である。テーブル80は、メニュー内に7個のドメインを含んでいる。いくつかの実施形態は、はるかに多数のドメイン、可変数のドメイン、ならびに、新たなおよび既存のドメインプロバイダが提供物を作成または除去すると動的に変化するドメインをサポートする。第1の列は、メニュー内の各ドメインの名前を有するテキスト文字列を示す。示されているドメインは、天気、食べ物、スポーツ、地図、情報、タイマおよび計算である。 Following the heading line is a line for each domain in the menu. Table 80 contains seven domains in the menu. Some embodiments support a much larger number of domains, a variable number of domains, and domains that dynamically change 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 calculators.

第2の列は、各ドメインのためのセルを有し、ドメインが仮想アシスタントに含めるように選択されるとチェック印が付けられる。図8は、タッチスクリーン上でマウスまたは指によって制御できるポインタを示す。マウスボタンをクリックもしくはダブルクリック、またはタップもしくはダブルタップ、または指を長押しすることによって、ポインタ位置におけるドメインが選択されるか否かの状態が変化する。この状態は、セル内のチェック印の有無によって示される。 The second column has a cell for each domain and is checked when the domain is selected for inclusion in the virtual assistant. FIG. 8 shows a pointer that can be controlled with a mouse or finger on a 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 cell for each domain, which contains a count of the number of queries replied with information from the domain given the selected domain. In some embodiments, different columns are used for the number of recognized queries and the number of correctly answered queries when the exact query response is known. In some embodiments, percentages are displayed instead or in addition to absolute numbers using other columns. Furthermore, some queries are ambiguous with respect to the selected set of domains, ie 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, information domain. In some embodiments, an ambiguous query is processed by providing a tagged response for every ambiguous interpretation of the query.

他の実施形態では、ドメイン優先順位を使用して、クエリに一致する優先順位が最も高いドメインを選択して、より強制的に曖昧さを排除する。別の変形例では、クエリ解釈スコアが使用され、対応する文法からの最高スコアリング解釈スコアを有するドメインが勝って、応答の基礎を形成する。2つのアイデアを組み合わせることができる。全ての場合において、1つまたは少数の解釈をより強制的に選択することによって曖昧さは排除され、これは、単一ドメインの数に寄与する。ドメインの選択の状態が変化すると、これは、他のドメインが応答するであろうクエリの数を変化させ得る。いくつかの実施形態では、ドメインの選択が修正されるたびにクエリカウント数を動的に再計算する。代替的にまたは図8のクエリ数の列に加えて、いくつかの実施形態では、各ドメインが情報を提供できるテストクエリの総数も、ドメインがイネーブルにされた状態で正確に回答できるテストクエリの数の増分も示す。 In other embodiments, domain priorities are used to select the highest priority domain that matches the query to more strongly disambiguate. In another variation, query interpretation scores are used and the domain with the highest scoring interpretation score from the corresponding grammar wins to form the basis of the response. You can combine the two ideas. In all cases, the ambiguity is eliminated by choosing one or a few interpretations more coercively, 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 of FIG. 8, in some embodiments, the total number of test queries that each domain can provide information on is also the number of test queries that can be accurately answered with the domain enabled. Number increments are also shown.

第4の列は、ドメインクエリを説明するための価格設定モデルを示す。テーブル80は、クエリ当たりの固定価格に基づく単純な種類の価格設定モデルを示す。示されている価格は、クエリ当たり0(無料ドメイン)から5¢($.05USドル)の範囲である。いくつかの実施形態は、ある時間窓におけるヒット数に応じた区分線形または式ベースのモデルなどのより複雑な価格設定モデルをサポートする。スライディング時間窓(たとえば、過去30日)と同様に、循環性時間窓が使用されてもよい(たとえば、暦月)。より複雑な価格設定モデルをサポートする実施形態は、価格設定モデル列に価格設定モデル自体を示さなくてもよく、その代わりに、ドメインの価格設定モデルセルをクリックまたはタップすることによって、ドメインの価格設定モデルを示してそれを編集できるようにするポップアップウィンドウなどの異なる表示ビューへのアクセスが与えられてもよい。 The fourth column shows the pricing model to explain the domain query. Table 80 shows a simple type 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. Circular time windows may be used (eg calendar months) as well as sliding time windows (eg past 30 days). Embodiments that support more complex pricing models may not show the pricing model itself in the pricing model column, instead, by clicking or tapping on the domain's pricing model cell Access may be provided to different display views, such as pop-up windows that show the configuration model and allow it to be edited.

第5の列は、各ドメインについて、クエリのテストセット内のあらゆるクエリに対する応答に基づいて対応するドメインプロバイダに支払われるであろう金額を示す。応答時に情報が使用されるあらゆるドメインに対して課金される。テーブル80に示される単純な価格設定モデルでは、各ドメインのドメインコストは、クエリ数×クエリ当たりのコストである。複合クエリを可能にする実施形態では、単一のクエリが複数のドメインにヒットしてもよい。たとえば、「アメリカ合衆国大統領は何歳ですか」は、政治情報を提供するドメインにも個人情報を提供するドメインにもヒットしてもよい。応答の曖昧さを認める実施形態では、異なる理由で単一のクエリが複数のドメインにヒットしてもよい。競合する解釈に従って複数の回答が与えられる。ドメインが選択されたり選択解除されたりするたびにクエリ数が変化し得るのと同じ理由で、ドメインコストもそれに従って変化し得る。 The fifth column shows, for each domain, the amount that would be paid to the corresponding domain provider based on the response to every query in the test set of queries. You will be charged for every domain where the information is used in the 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 domains that provide political information and domains that provide personal information. In embodiments that recognize response ambiguity, a single query may hit multiple domains for different reasons. Multiple answers are given according to competing 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 did not match any domain. Such queries can be counted, but the other columns are not applicable.

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

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

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

いくつかの実施形態、特に多数のドメインを有する実施形態は、VA開発者が限定された表示空間内のさまざまなドメインを見ることができるようにスクロールバーを提供する。いくつかの実施形態は、VA開発者が、1つまたは任意の数の列の基準に従ってドメインのリストをソートすることを可能にする。そうするための1つの方法は、列見出しのクリックまたはタップを受信してリストをソートすることによる方法である。さらに、リストが既にソートされている列をクリックすることにより、リストは逆の順序でソートされる。いくつかの実施形態は、各ドメインがイネーブルにされているか否か、価格設定モデルの範囲およびドメインコストの範囲によるドメインのリストのフィルタリングなどのフィルタ基準をVA開発者が入力するためのボックスを提供する。 Some embodiments, especially those with multiple domains, provide scrollbars to allow VA developers to view different domains within a limited display 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 so is by receiving clicks or taps on column headings and sorting the list. In addition, by clicking on the column where the list is already sorted, the list is sorted in reverse order. Some embodiments provide a box for VA developers to enter filter criteria, such as whether or not each domain is enabled, filtering a list of domains by a range of pricing models and a range of domain costs. To 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, displaying a domain table, especially for certain virtual assistants. Some embodiments of the platform let VA developers create accounts and log in to configure their virtual assistant projects. Platform Administrators can control which domains various 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 a cost stack chart 90 according to an embodiment. This chart has the caption "Cumulative amount spent per domain". In this chart, the vertical axis is cost and the horizontal axis is domain. In some embodiments, the domains are shown along the vertical axis and the costs are shown along the horizontal axis. The former is generally desirable for virtual assistants, where a small number of domains generally dominate the cost, while the latter is generally desirable for virtual assistants with a large number of domains.

視覚データを提示するための有用な方法は数多くある。たとえば、情報のエンビジョニングおよび定量的情報のビジュアルディスプレイなどのエドワード・タフテの書籍は、この主題に関して情報を提供してくれる。白黒線図面は、理想的ではないが、説明には十分であろう。図9の白黒線図面に示されている実施形態では、7個のドメインが横軸上に描かれている。単語を重複させることなく読みやすさを向上させるために、ドメインの名前は、軸とある角度をなして右揃えで書かれている。イネーブルにされたドメインの名前は、ボールドフォントで示されており、ディスエーブルにされたドメインの名前は、括弧の間に示され、より小さなフォントで書かれている。無料のドメインは、ドメイン名の後に「(f)」を付して示されている。外部動的情報へのアクセスを必要としないドメインは、一般に無料である。なぜなら、プラットフォームプロバイダは、情報をキャッシュして、それを低コストで取得できるからである。 There are many useful ways to present visual data. For example, Edward Tafte's books, such as Information Envisioning and Quantitative Information Visual Display , provide information on this subject. The black and white line drawing is not ideal, but will be sufficient for explanation. In the embodiment shown in the black and white line drawing in FIG. 9, seven domains are drawn on the horizontal axis. To improve readability without duplicating words, domain names are written right-aligned at an angle to the axis. The names of enabled domains are shown in bold font, and the names of disabled domains are shown between brackets and written in a smaller font. Free domains are shown with a "(f)" after the domain name. Domains that do not require access to external dynamic information are generally free. This is because the platform provider can cache the information and get it at a 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 surface of each domain bar is located at the top level of the previous domain bar. Domains with no cost have zero height bars and are displayed as horizontal lines. The vertical axis is represented by the value of the accumulated cost, and the horizontal broken line of the height at the top of each bar extends from the vertical axis to the bar at the indicated height. The platform reorders domains by allowing VA developers to automatically sort available domains by various criteria such as alphabetical order by name, number of matching queries, cost per query, or total cost. Easy to do. The platform's interface also allows the user to freeze the order from a particular sort while the selection will change and otherwise the order will change. You can also manually sort the domains. Also, some embodiments provide filtering the list of domains by various criteria, such as showing only enabled or selected disabled domains.

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

図10において、ドメインは、ドメインにヒットするクエリの数によってソートされる。食べ物ドメインが天気ドメインよりも、テストセットに応答するための総コストに大きく寄与している(なぜなら、それがより高いコスト価格設定モデルを有するからである)が、このリストでは2番目に示されている。なぜなら、テストセットは、天気クエリよりも少ない食べ物クエリを有しているからである。 In FIG. 10, the 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 is shown second in this list. ing. This is because the test set has fewer food queries than 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 percentage or percentage of the test set) answered by the enabled domains is shown on the right side of the chart. Such an axis would have an irregular scale whenever the cost scale is regular (linear or logarithmic). Alternatively, the regular (linear or logarithmic) representation of the answered query may have corresponding parallel cost axes with irregular spacing.

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

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

場合によっては、少数のヒットを有するドメインでも、ユーザエクスペリエンスに対して不均衡な利益をもたらすことがある。たとえば、紛失した電話を突き止めることができる自動車仮想アシスタントで利用可能なドメインは、めったに使用されることはないが、まれに必要とされたときにはユーザによって非常に感謝されるであろう。それが、自動車での強いセールスポイントであろう。そのドメイン情報へのアクセスがVA開発者にとって使用当たり非常に高価であったとしても、より多くの自動車を販売するためにはコストに十分に見合うであろう。 In some cases, even domains with a small number of hits can bring disproportionate benefits to the user experience. For example, the domains available in a car virtual assistant that can locate a lost phone are rarely used, but will be greatly appreciated by users when rarely needed. That would be a strong selling point in automobiles. Even though 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 particular domains with an asterisk or the like as being of particular value to the user experience. In some embodiments, a histogram as seen in FIG. 11 is shown with high value domains highlighted in a prominent color or icon.

多くのクエリが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 replied with 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, a first domain can provide all weather information including barometric pressure, and a second domain is the default source of information for all weather questions, but barometric pressure. If it cannot provide the information, with both domains enabled, the first domain has very few hits (shown near the right side of histogram 110), but the second domain is disabled. In the open state, the first domain will have a very large number of hits.

図12は、図11に見られるようなヒストグラム110であるが、ポインタを有するヒストグラム110の表示ビューを示す。ヒストグラム内のドメインの列の上に乗った状態で1秒間動かなければ、プラットフォームは、ドメインの名前、テストクエリセットについて有するヒットの数、およびテストセットのクエリに応答する際にドメインをイネーブルにするための総コストを示す情報ボックスをポップアップさせる。 FIG. 12 shows a display view of the histogram 110 as seen in FIG. 11, but with a pointer 110. If you stay on top of the domain column in the histogram and do not move for 1 second, the platform will enable the domain in responding to the name of the domain, the number of hits it has for the test query set, and the test set query. Pop up an info 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 of FIG. 8, the domain table 130 of FIG. 13 lists domains. The difference is that the domain table 130 indicates two map domains, one is named "map" and the other is named "map PRO". The latter is a promoted domain. It appears to provide a better user experience than the map domain, at least because it can provide information for 805 queries instead of 764 queries in the test set. The platform shows the map PRO domain and its line of text in bold font, with its enable check box highlighted. As a result, the promoted domain is conspicuously displayed to the VA developer for consideration.

図13の実施形態ではボールドフォントおよび強調されたボックスを使用するが、プロモーションされたドメインを強調するための数多くの方法が可能である。たとえば、1つ以上のプロモーションされたドメインは、別々に一覧表示されてもよく、リストの最上部にくるようにソートされてもよく、異なる色もしくはシェーディングを使用して示されてもよく、星などのアイコンで示されてもよく、企業ロゴなどの画像とともに示されてもよく、または動画化されてもよい。これらのドメインを強調する手段のうちのいくつかは、組み合わせて使用されてもよい。 Although the embodiment of FIG. 13 uses bold font and highlighted boxes, numerous methods for highlighting the promoted domain are possible. 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 starred. , May be shown with an image such as a company logo, or may be animated. Some of the means of highlighting these domains may be used in combination.

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

表示ビュー140は、アップロードボタン144も備える。それは、起動されると、ユーザがファイルをブラウズしてそれをプラットフォームにアップロードされるように選択するためのダイアログボックスを呼び出す。ファイルは、単一のクエリを含んでもよく、または完全なテストセットを備える任意の数のクエリの区切りリストを含んでもよい。いくつかの実施形態では、VA開発者は、グラフィカルオペレーティングシステムまたはブラウザディスプレイからクエリボックスにファイルをドラッグアンドドロップして、それをプラットフォームに自動的にアップロードさせる。アップロードボタンおよびドラッグアンドドロップアップロードのさまざまな実現例は、周知であり、JavaScript(登録商標)などの言語のブラウザクライアント側スクリプトテンプレートにおいて容易に利用できる。 The display view 140 also includes an upload button 144. When invoked, it invokes a dialog box that allows the user to browse a file and select it for uploading to the platform. The file may contain a single query, or it 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 to automatically upload it 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 in 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 comprises a results box 145. For a given single input query, the results 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 ( (Denoted as "cost"), and a column of responses that the virtual assistant would provide to the user for the query with the domain enabled. In some embodiments, multiple domain providers can provide source information and grammar to form very different responses to queries. Results box 145 shows a virtual assistant response using grammar and information from each of the four travel domain providers. The "Trip Booker" domain is relatively low cost (only 1¢ per query), but quite private in that it names itself "Trip Booker" and recommends exactly one hotel brand. Is. In fact, Trip Booker domain provider and this hotel brand have a profitable business relationship. The "Travel Mate" domain is moderately expensive (3¢ per query), but provides a fairly useful response with a large number of results available and a top 5 reasonable list of the ones that are most likely to be of interest. . The "TravelHound" domain is costly (8¢ per query), but users can find a certain number of hotels found, some lists, and by sorting or filtering the lists using an intuitive voice interface. Provides much more useful results with recommendations to help you get much more satisfying results. The "Chee-po-tels" domain is cheap (only 1¢ per query), but its grammar suggests that instead of recognizing the word Paris refers to the French metropolis Imagine a ridiculously small town in the state of Idaho, which is empty.

ドメイン(価格設定モデル、クエリヒットの数、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 types, etc.), the platform can show results in two sections. The first section, indicated by the sub-heading 146 named "Editor's Pick-Sponsor", shows the one or more domains that the platform provider wants the VA developer to select. Generally, an "Editor's Pick" domain is one sponsored by a domain provider or selected by a platform provider. Because they encourage more use or satisfactory results by virtual assistants. The rest of the domains that can provide information to complete the response to the test query is shown in the section indicated by subheading 147, labeled "Other."

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

ドメインが最高解釈スコアを有するクエリの数に対して非線形である価格設定モデルを使用することは、業界では一般的である。非線形タイプの価格設定モデルの一例は、段階的価格設定モデルである。図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 pricing models where the domain is non-linear with respect to the number of queries that have the highest interpretation score. An example of a non-linear type pricing model is a tiered 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 $.50 per query for the first 10,000 queries within a month. It is 0010. For 10,000-50,000 requests, the cost is $. It is 0005. For 50,001 to 250,000 requests, the cost is $. 0002. For 250,001 requests and others, the cost is $.50 per request. It is 0001. The number of queries is reset once a month.

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

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

Figure 2020091834
Figure 2020091834

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

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

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

図16Bは、フラッシュランダムアクセスメモリ(RAM)チップである非一時的なコンピュータ読取可能媒体162の一例を示す。データセンタは、通常、フラッシュメモリを使用して、サーバプロセッサのためのデータおよびコードを格納する。モバイルデバイスは、通常、フラッシュメモリを使用して、システムオンチップデバイス内のプロセッサのためのデータおよびコードを格納する。非一時的なコンピュータ読取可能媒体162は、命令を備えるコードを格納し、この命令は、1つ以上のコンピュータによって実行された場合に、本明細書に記載されている方法のステップをコンピュータに実行させるであろう。リード線またははんだボールでパッケージングされた他の動かない記憶媒体も可能である。 FIG. 16B illustrates an example of a non-transitory 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 a processor in a system-on-chip device. Non-transitory computer readable medium 162 stores code that comprises instructions that, when executed by one or more computers, cause the computer to perform the steps of the methods described herein. 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 in accordance with various embodiments.

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

図17Aは、いくつかの実施形態に係るラックマウント式のサーバブレードマルチプロセッササーバシステム170を示す。それは、並行してソフトウェアを実行する多数のネットワーク接続コンピュータプロセッサを備える。 FIG. 17A illustrates a rack-mounted server blade multiprocessor server system 170 according to some embodiments. It comprises multiple networked computer processors that execute 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 storage of 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 RAM device 174, CPU 171 and GPU 172 perform the method steps described herein.

SoC
図18Aは、印刷回路基板への表面実装はんだ付けのためのボールグリッドアレイを有するパッケージングされたシステムオンチップデバイス180の底部側を示す。さまざまなパッケージ形状およびサイズがさまざまなチップ実現例で可能である。システムオンチップ(SoC)デバイスは、本明細書に記載されている多くの埋め込みシステムおよびIoTデバイスの実施形態を制御する。
SoC
FIG. 18A shows the bottom side of a packaged system-on-chip device 180 having a ball grid array for surface mount soldering to a printed circuit board. Different package shapes and sizes are possible with different chip implementations. A system-on-chip (SoC) device controls many embedded system 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 storage of volatile programs and data, and a computer to a flash RAM non-transitory 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 a 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 sensors (such as touch screen sensors), geolocation receivers, microphones, speakers, Bluetooth peripherals, and USB devices (such as keyboards and mice), among others. The SoC 180 also allows the processor to connect 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 connection hardware. A network interface 188 is provided to allow access. CPU 181 and GPU 182 are described herein by executing instructions stored in a RAM device via interface 184 or by executing instructions stored in a flash device via interface 185. Perform the method steps.

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

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

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

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

いくつかの実施形態は、ディスプレイ画面を持たないイヤピースなどのようにスクリーンレスである。いくつかの実施形態は、自動販売機などのように据え置き型である。いくつかの実施形態は、自動車などのように移動可能である。いくつかの実施形態は、携帯電話などのように持ち運び可能である。いくつかの実施形態は、キーボードまたはタッチスクリーンなどのように手動インターフェイスを備える。いくつかの実施形態は、自然言語表現の一形態として人間の思考を使用するニューラルインターフェイスを備える。 Some embodiments are screenless, such as earpieces without a display screen. Some embodiments are stationary, such as vending machines. Some embodiments are mobile, such as a car. Some embodiments are portable, such as a cell phone. 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 a natural language virtual assistant,
A means for a developer of a natural language virtual assistant to enter a test query,
Means for filtering a set of multiple domains into a subset of multiple competent domains, each of the plurality of competent domains capable of interpreting the test query, the platform further,
A means for presenting a list of domains, said means comprising:
Presenting the list of domains by searching each of the plurality of competent domains in a number of promoted domains, each promoted domain having an associated pricing model, the means comprising: further,
Presenting the list of domains by discovering at least one competent domain in the number of promoted domains,
Presenting the list of domains by presenting a list of competent domains including the promoted domain, the promoted domain being highlighted in the 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,
Means for interpreting the user query according to the promoted domain and providing a response;
Means for calculating a charge associated with providing the response, the charge being calculated according to the pricing model associated with the promoted domain. platform.
アプリに仮想アシスタントドメインを一体化するための方法であって、
アプリインテグレータからテストクエリを受信するステップと、
複数のドメインにおいて前記テストクエリを解釈するステップとを備え、いくつかのドメインは、前記アプリインテグレータに対してコストを請求し、前記方法はさらに、
前記テストクエリを解釈することができるドメインのサブセットをアプリ開発者に示し、示された各ドメインについて、前記示されたドメインを使用して前記テストクエリに応答するのにかかる前記コストを前記アプリインテグレータに示すステップを備える、方法。
A method for integrating a virtual assistant domain into an app,
Receiving a test query from the app integrator,
Interpreting the test query in multiple domains, some domains charging a cost to the app integrator, the method further comprising:
Indicate to the app developer a subset of domains that can interpret the test query, and for each listed domain, the cost of responding to the test query using the listed domain to the app integrator. A method comprising the steps of:
前記アプリインテグレータから第2のテストクエリを受信するステップと、
前記複数のドメインにおいて前記第2のテストクエリを解釈するステップと、
各ドメインを使用して前記テストクエリおよび前記第2のテストクエリに応答するのにかかるコストを非線形価格設定モデルに従って計算するステップとをさらに備える、請求項3に記載の方法。
Receiving a second test query from the app integrator,
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 method for integrating a virtual assistant domain into an app,
Receiving a number of test queries from the app integrator,
Interpreting each test query from the multiple test queries in each of the plurality of domains to determine the domain having the highest interpretation score for each test query, at least some of the plurality of domains. The domain charges the app integrator a cost according to a pricing model, the method further comprising:
Applying the pricing model to the query for which a cost-charging domain had the highest interpretation score to calculate a total cost for the multiple test queries.
ドメイン当たりのコストを計算するステップをさらに備える、請求項5に記載の方法。 The method of claim 5, further comprising calculating a 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 that the particular domain has the highest interpretation score. 自然言語仮想アシスタントに含めるようにドメインを構成するためのプラットフォームであって、
多数のテストクエリを入力するための手段と、
前記自然言語仮想アシスタントに含めるようにドメインの選択を入力するための手段と、
ドメインのメニューからどのドメインが前記自然言語仮想アシスタントに含めるように選択されたかをアプリ開発者に示す表示ビューと、
前記ドメインが自然言語仮想アシスタントに含めるように選択された状態で前記多数のテストクエリに応答するために前記自然言語仮想アシスタントに課せられるであろう総コストのコスト成分を示す表示ビューとを備え、各コスト成分は、前記ドメインのメニューから選択されたドメインに起因し、
前記アプリ開発者は、前記テストクエリに応答するのにかかる前記総コストが所望の予算内であるように、自然言語アシスタントに含めるようにドメインの組み合わせの選択を構成することを可能にされる、プラットフォーム。
A platform for configuring domains for inclusion in a natural language virtual assistant,
A means for entering a large number of test queries,
Means for entering a selection of domains for inclusion in the natural language virtual assistant;
A display view showing the app developer which domains have been selected for inclusion in the natural language virtual assistant from the menu of domains;
A display view showing a cost component of the total cost that the natural language virtual assistant will be charged to respond to the number of test queries with the domain selected for inclusion 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 a selection of domain combinations for inclusion in a natural language assistant such that the total cost of responding to the test query is within a desired budget. platform.
前記自然言語仮想アシスタントに含めるように選択された各ドメインによってどれぐらいの前記テストクエリが回答されるかを示すヒストグラムをアプリ開発者が見るための表示ビューをさらに備える、請求項8に記載のプラットフォーム。 9. The platform of claim 8, further comprising a display view for an app developer to see a histogram showing how much the test query is answered by each domain selected for inclusion in the natural language virtual assistant. .. 前記ドメインのメニューからどのドメインが前記自然言語仮想アシスタントに含めるように選択されたかをアプリ開発者に示す前記表示ビューは、少なくとも1つのプロモーションされたドメインを他のドメインよりも目立つように表示する、請求項8に記載のプラットフォーム。 The display view indicating to an app developer which domains have been selected for inclusion in the natural language virtual assistant from the menu of domains displays at least one promoted domain more prominently than other domains; The platform according to claim 8. 少なくとも1つのドメインのコスト成分は、前記ドメインが前記自然言語仮想アシスタントに含めるように選択された状態で前記ドメインが応答するであろうテストクエリの数に対して非線形に変化する、請求項8に記載のプラットフォーム。 9. 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 for inclusion in the natural language virtual assistant. Platforms listed. 仮想アシスタントを構成するためのプラットフォームであって、前記システムは、
VA(仮想アシスタント)開発者が仮想アシスタントに含めるようにドメインを選択するための、サーバによってホストされたプラットフォームと、
選択に利用できる多数のドメインおよびドメインプロバイダに要求するための文法と、
埋め込みシステムにおけるプロセッサによって実行されたときに、前記プラットフォームサーバから独立して、インタプリタ機能にローカルドメインに対するクエリに応答させるコードをエクスポートするための手段とを備える、プラットフォーム。
A platform for configuring a virtual assistant, the system comprising:
VA (Virtual Assistant) A server-hosted platform for developers to select domains for inclusion in a virtual assistant,
A syntax for requesting a number of domains and domain providers available for selection,
Means for exporting code that, when executed by a processor in an embedded system, causes the interpreter function to respond to a query for a local domain, independent of the platform server.
テストクエリのセットを受信するための手段と、
所与のドメインの選択に対する前記テストクエリのセット内の前記クエリに応答するのにかかるコストを表示することを可能にされる表示ビューとをさらに備える、請求項12に記載のプラットフォーム。
Means for receiving a set of test queries,
13. The platform of claim 12, further comprising a display view enabled to display the cost of responding to the queries in the set of test queries for a given domain selection.
選択に利用できる前記ドメインに関連付けられた多数の価格設定モデルをさらに備える、請求項12に記載のプラットフォーム。 13. The platform of claim 12, further comprising a number of pricing models associated with the domains available for selection. 方法であって、
プラットフォームが、ドメインを受信するステップと、
前記プラットフォームが、前記受信されたドメインにおいて文法的フレーズを識別する第1のドメイン文法を生成するステップと、
前記プラットフォームが、VA開発者が仮想アシスタントに含めるように前記ドメインを選択する前に、前記ドメイン文法を前記ドメインに関連付けるステップとを備える、方法。
Method,
The platform receives the domain,
The platform generating a first domain grammar that identifies grammatical phrases in the received domain;
The platform associating the domain grammar with the domain before a VA developer selects the domain for inclusion in a virtual assistant.
前記ドメインを使用するためのクエリ当たりのコストを識別する価格設定モデルを前記ドメインに関連付けるステップをさらに備える、請求項15に記載の方法。 16. The method of claim 15, further comprising associating a pricing model that identifies a cost per query for using the domain with the domain. 前記VA開発者からテストクエリのセットを受信するステップと、
前記VA開発者から仮想アシスタントに含めるためのドメインの選択を受信するステップと、
前記ドメインの選択の状態で前記セット内の前記クエリに応答するのにかかる前記コストを示す表示ビューを生成するステップとをさらに備える、請求項15に記載の方法。
Receiving a set of test queries from the VA developer,
Receiving a selection of domains for inclusion in a virtual assistant from the VA developer,
16. Generating a display view showing the cost of responding to the queries in the set with the selection of the domain.
JP2019152251A 2018-12-07 2019-08-22 Virtual Assistant Domain Selection Analysis Active JP6916250B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911244143.6A CN111291251A (en) 2018-12-07 2019-12-06 Virtual assistant domain selection analysis
JP2021117153A JP7465415B2 (en) 2018-12-07 2021-07-15 Virtual Assistant Domain Selection Analysis

Applications Claiming Priority (4)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021117153A Division JP7465415B2 (en) 2018-12-07 2021-07-15 Virtual Assistant Domain Selection Analysis

Publications (2)

Publication Number Publication Date
JP2020091834A true JP2020091834A (en) 2020-06-11
JP6916250B2 JP6916250B2 (en) 2021-08-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 After (1)

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

Country Status (3)

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

Cited By (1)

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

Family Cites Families (9)

* 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
JP4154978B2 (en) 2002-09-27 2008-09-24 トヨタ自動車株式会社 Prediction method of gas adsorption capacity of carbon nanotubes with other elements
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
US9489625B2 (en) 2013-05-10 2016-11-08 Sri International Rapid development of virtual personal assistant applications
CN112989840A (en) * 2013-08-30 2021-06-18 英特尔公司 Extensible context-aware natural language interaction for virtual personal assistants
JP5857090B2 (en) 2014-05-26 2016-02-10 ソフトバンク株式会社 Information search device, information search program, and information search system
DE112016002381T5 (en) * 2015-05-27 2018-03-22 Google LLC (n.d.Ges.d. Staates Delaware) Improve functionality of virtual assistants and dialog systems through a plug-in marketplace

Cited By (2)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
US11868732B2 (en) System for minimizing repetition in intelligent virtual assistant conversations
US20210166692A1 (en) Customized voice action system
US20210173548A1 (en) Virtual assistant acquisitions and training
US10175865B2 (en) Evaluating conversation data based on risk factors
CN113728341A (en) Insight into performance of robotic systems
TW201939404A (en) Method and apparatus for information recommendation, and device
US20160042419A1 (en) Method and apparatus for providing customized interaction experience to customers
US10013152B2 (en) Content selection disambiguation
US9098311B2 (en) User interface element for data rating and validation
KR102358657B1 (en) Virtual assistant domain selection analysis
CN107315833A (en) Method and apparatus of the retrieval with downloading based on application program
JP7465415B2 (en) Virtual Assistant Domain Selection Analysis
US10997254B1 (en) 1307458USCON1 search engine optimization in social question and answer systems
US10001898B1 (en) Automated provisioning of relational information for a summary data visualization
WO2020093613A1 (en) Page data processing method and apparatus, storage medium, and computer device
US20180129512A1 (en) Method and apparatus for serving online communities of users

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210715

R150 Certificate of patent or registration of utility model

Ref document number: 6916250

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150