JP6873188B2 - 開発者音声アクションシステム - Google Patents

開発者音声アクションシステム Download PDF

Info

Publication number
JP6873188B2
JP6873188B2 JP2019101151A JP2019101151A JP6873188B2 JP 6873188 B2 JP6873188 B2 JP 6873188B2 JP 2019101151 A JP2019101151 A JP 2019101151A JP 2019101151 A JP2019101151 A JP 2019101151A JP 6873188 B2 JP6873188 B2 JP 6873188B2
Authority
JP
Japan
Prior art keywords
application
intent
user
grammar
utterance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019101151A
Other languages
English (en)
Other versions
JP2019144598A (ja
Inventor
ボ・ワン
スニル・ヴェムリ
ニティン・マンゲシュ・シェティー
プラヴィール・クマール・グプタ
スコット・ビー・ハフマン
ハビエル・アレハンドロ・レイ
ジェフリー・エー・ボーツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2019144598A publication Critical patent/JP2019144598A/ja
Application granted granted Critical
Publication of JP6873188B2 publication Critical patent/JP6873188B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0638Interactive procedures
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

この明細書は一般に、限定的ではなく、音声コマンドに関し、1つの特定の実施は、音声コマンドを設定するステップに関する。
ソフトウェアで定義されたアクティビティは、タスクを指定し得る。アクティビティは、タスクの実行のライフサイクルを制御するクラスである。インテントは、特定のアクティビティ、および、特定のアクティビティに関連付けられたアプリケーションを指定し得るパッシブデータ構造である。インテントは、アプリケーションによってトリガされ得、インテントによって指定されたアクティビティが、インテントによって指定されたターゲットアプリケーションにおいて、または、インテントによって指定されたターゲットアプリケーションによって実行されるようにさせ得る。
インテントと称されるパッシブデータ構造は、アプリケーションと、アプリケーションにおいて、または、アプリケーションによって実行されるべきアクティビティとを指定し得る。アクティビティは、アプリケーションにおいて、または、アプリケーションによって実行されるタスクである。インテントは、インテントをトリガするために使用され得る1つまたは複数のトリガフレーズを指定し得、これによって、インテントのトリガは、指定されたアプリケーションによるアクティビティの実行を引き起こす。たとえば、インテントは、タクシーサービスのためのアプリケーションに関連付けられ得、ユーザが発話すると、トリガフレーズのうちの1つの検出が、タクシーサービスアプリケーションの起動をトリガできるように、音声アクションとして動作する1つまたは複数のトリガフレーズを指定し得る。インテントは、アプリケーションによって、または、インテントによって指定されたアプリケーション以外のオペレーティングシステムによってトリガされ得、これによって、アプリケーションのトリガは、指定されたアクティビティが、特定のアプリケーションにおいて、または、特定のアプリケーションによって実行されるようにする。
ホストによって提供されるサービスまたはツールは、アプリケーション開発者が、自分たちが開発している特定のアプリケーションを指定する新たなインテントを要求することを可能にすることができる。新たなインテントを求める発行は、文法の形式であり得、開発者は、サービスまたはツールへ文法を発行し得、サービスまたはツールは、文法に基づいて、特定のアプリケーションのためのインテントを生成し得る。
新たなインテントの生成は、特定の結果が達成されるようにするためにアプリケーションへ提供され得る入力の数および範囲を増加させることによって、開発中の特定のアプリケーションの柔軟性を高め得る。結果的に、開発中のアプリケーションの信頼性が高められ得る。なぜなら、特定のアプリケーションは、ユーザの入力に対して正しい方式で応答することが保証され得、ユーザの入力の処理が向上されるからである。
いくつかの実施では、開発者によって発行される文法は、アプリケーション、トリガフレーズ、アクティビティまたは複合アクティビティ、コンテキスト、または他の情報のうちの1つまたは複数を指定し得る。文法は、開発者によって発行され、開発者音声アクションサービスまたはツールによって、ネットワークを介して受信される。開発者音声アクションサービスまたはツールは、文法を検証し得る。たとえば、文法の検証は、トリガフレーズが、オペレーティングシステムまたは別のアプリケーションのためのインテントに既に関連付けられているか否かを判定するステップを含み得、文法によって指定されたアクティビティが、指定されたアプリケーションによって実行され得るか否かを判定し得、トリガフレーズが、ある基準を満たすか否かを判定し得、発行された文法のフォーマットが、構文上有効であるか否かを判定し得るかまたは、さもなければ、開発者によって発行された文法が、新たなインテントを作成するために使用され得る実現可能な文法であるか否かを判定し得る。
有効な文法は、文法をインテントへ変換するように、また、文法において指定されたトリガフレーズを拡張するように、開発者音声アクションサービスまたはツールによって誘導され得る。たとえば、文法の誘導は、第1のフォーマットで発行された文法を、第2のフォーマットのインテントへ変換するステップを含み得る。文法をインテントへ変換するステップに加えて、開発者によって発行されたトリガフレーズは、他の関連するトリガフレーズを含めるように拡張され得る。たとえば、インテントに関連付けられた1つまたは複数の関連するトリガフレーズを生成するために、1つまたは複数のトリガフレーズ拡張規則、類義語規則、用語オプション化規則、または他の規則が、トリガフレーズへ適用され得る。生成されたインテントは、おのおのアプリケーション、1つまたは複数のトリガフレーズ、およびオプションとして、アクティビティ、複合アクティビティ、文脈、または、インテントまたはインテントのトリガに関連する他の情報に関連付けられた1つまたは複数の他のインテントとともに、文脈インテントデータベースにおいて記憶され得る。
文法の検証に基づく新たなインテントの生成は、開発者が、インテント自体の直接的な入力によって新たなインテントを生成することは必要ではないことを意味する。上述したように、文法は、誘導処理において変換され得る特定のフォーマットを有し得、この変換処理は、新たなインテントのための適切な候補であり得る文法の数の拡大を有効にする。なぜなら、入力文法フォーマットにおける要件が緩和されるからである。結果的に、アプリケーションは、より少ないユーザ入力で、新たなインテントを含めるように開発され得る。
開発者によって発行された文法がインテントとして確立された後、ユーザは、クライアントデバイスへ音声入力を提供し得る。ユーザの音声入力は、音声入力のトランスクリプションを生成するように転記され得、トランスクリプションは、文脈インテントデータベース、または、クライアントデバイスのオペレーティングシステムに関連付けられたインテントを含むデータベースのように、インテントを指定する1つまたは複数の他のデータベースにおいて記憶されたインテントに関連付けられた1つまたは複数のトリガフレーズと照合され得る。トランスクリプションの一部が、特定のインテントに関連付けられたトリガフレーズに一致するとの判定に基づいて、インテントは、インテントに関連付けられたアクティビティが、特定のインテントによって指定されたアプリケーションにおいて、または、特定のインテントによって指定されたアプリケーションによって実行されるように、トリガされ得る。
たとえば、タクシーサービスアプリケーションを起動させることに関連付けられたインテントは、「Call a cab」というトリガフレーズに関連付けられ得る。クライアントデバイスが、「Call a cab」というフレーズを含むユーザの音声入力を受信したことに基づいて、クライアントデバイスまたは別のシステムは、タクシーサービスアプリケーションの起動をトリガし得る。
この明細書において説明される主題の革新的な態様は、アプリケーションおよび音声コマンドトリガ用語を識別するデータを受信するステップと、受信したデータを検証するステップと、受信したデータを、アプリケーション、音声コマンドトリガ用語、および、少なくとも音声コマンドトリガ用語に基づいて判定される1つまたは複数の他の音声コマンドトリガ用語を指定するインテントを生成するように誘導するステップと、文脈インテントデータベースにおいてインテントを記憶するステップであって、文脈インテントデータベースは、1つまたは複数の他のインテントを備える、ステップと、からなるアクションを含む方法において具体化され得る。これら態様の他の実施形態は、コンピュータ記憶デバイスにおいてエンコードされた方法のアクションを実行するように構成された対応するシステム、装置、およびコンピュータプログラムを含む。
これらおよび他の実施形態はおのおの、オプションとして、以下の特徴のうちの1つまたは複数を含み得る。様々な例において、受信したデータを検証するステップは、音声コマンドトリガ用語が、識別されたアプリケーションとは異なるアプリケーションに関連付けられていないことを判定するステップを備える。これらアクションは、アクションを識別するデータを受信するステップを備え、受信したデータを検証するステップは、識別されたアクションが、識別されたアプリケーションと互換的であることを判定するステップを備える。受信したデータを、アプリケーション、音声コマンドトリガ用語、および、少なくとも音声コマンドトリガ用語に基づいて判定される1つまたは複数の他の音声コマンドトリガ用語を指定するインテントを生成するように誘導するステップは、アプリケーションおよび音声コマンドトリガ用語を識別する、受信したデータを、異なるデータフォーマットへ変換するステップを備える。受信したデータを、アプリケーション、音声コマンドトリガ用語、および、少なくとも音声コマンドトリガ用語に基づいて判定される1つまたは複数の他の音声コマンドトリガ用語を指定するインテントを生成するように誘導するステップは、1つまたは複数の類義語規則、オプション化規則、または拡張規則を音声コマンドトリガ用語へ適用することによって、少なくとも音声コマンドトリガ用語に基づいて判定される1つまたは複数の他の音声コマンドトリガ用語を生成するステップを備える。
これらアクションは、ユーザの発話を含むオーディオデータを取得するステップと、少なくともオーディオデータに基づいて、ユーザの発話のトランスクリプションを生成するステップと、トランスクリプションの少なくとも一部が、文脈インテントデータベースに記憶されたインテントによって指定された特定の音声コマンドトリガ用語に一致することを判定するステップであって、インテントは、特定のアプリケーションと、特定の音声コマンドトリガ用語とを指定する、ステップと、トランスクリプションの少なくとも一部が、インテントによって指定された特定の音声コマンドトリガ用語に一致することを判定するステップに基づいて、タスクが実行されるようにするステップとを備える。タスクが実行されるようにするステップは、特定のアプリケーションにタスクを実行させるステップを備える。これらアクションはさらに、おのおのが(i)アプリケーションと、(ii)音声コマンドトリガ用語とを指定する1つまたは複数のインテントのおのおのについて、トランスクリプションの少なくとも一部が、インテントによって指定される音声コマンドトリガ用語と一致していることを判定するステップと、1つまたは複数のインテントのおのおのによって指定されるアプリケーションを含むアプリケーションのセットからの特定のアプリケーションの選択を要求するステップと、1つまたは複数のインテントのおのおのによって指定されるアプリケーションを含むアプリケーションのセットからの特定のアプリケーションの選択を示すデータを受信するステップと、特定のアプリケーションの選択を示すデータを受信するステップに応じて、特定の音声コマンドトリガ用語と、特定のアプリケーションを指定するインテントとの間の関係の強度を調節するステップと、を備え得る。
これらアクションは、おのおのが(i)アプリケーションと(ii)音声コマンドトリガ用語とを指定する1つまたは複数のインテントのおのおのについて、トランスクリプションの少なくとも一部が、インテントによって指定される音声コマンドトリガ用語と一致していることを判定するステップと、1つまたは複数のインテントのおのおのについて、インテントによって指定される音声コマンドトリガ用語の、インテントによって指定されるアプリケーションへの親和性を示すインテントに関する親和性尺度を判定するステップと、1つまたは複数のインテントのおのおのに関する親和性尺度に少なくとも基づいて、特定のインテントを選択するステップと、特定のインテントによって指定されるタスクが実行されるようにするステップと、を備える。これらアクションは、おのおのが(i)アプリケーションと、(ii)音声コマンドトリガ用語とを指定する1つまたは複数のインテントのおのおのについて、トランスクリプションの少なくとも一部が、インテントによって指定される音声コマンドトリガ用語と一致していることを判定するステップと、1つまたは複数のインテントをランク付けするステップと、1つまたは複数のインテントのランク付けに少なくとも基づいて、特定のインテントを選択するステップと、特定のインテントによって指定されるタスクが実行されるようにするステップと、を備える。
この明細書において説明される主題の1つまたは複数の実施態様の詳細は、添付図面および以下の詳細説明に記述される。主題の他の潜在的な特徴、態様、および利点は、詳細説明、図面、および特許請求の範囲から明らかになるであろう。
開発者音声アクションシステムおよびサービスのための例示的なシステムを描写する図である。 音声アクションシステムおよびサービスを使用するための例示的なシステムを描写する図である。 開発者音声アクションシステムおよびサービスに関連付けられた例示的な処理のフローチャートである。
様々な図面における同様の参照符号は、同様の要素を示す。
図1は、開発者音声アクションサービスシステム100の例を示す。一般に、開発者音声アクションサービスは、アプリケーション開発者101が、開発者音声アクションサービスシステム100によって、新たなインテントのための候補として取り扱われる文法を発行することを有効にする。
開発者音声アクションサービスシステム100は、アプリケーション開発者101によって発行された文法を検証し、有効であれば、文法を、発行されたフォーマットから、インテントフォーマットへ変換し、文法によって指定されたトリガフレーズを、指定されたトリガフレーズに関連する追加のトリガフレーズを含むように拡張することによって、文法を誘導する。開発者音声アクションサービスシステム100は、様々なアプリケーションを指定する他のインテントを含む文脈インテントデータベース140に、この新たなインテントを記憶する。
簡潔に述べると、開発者音声アクションサービスシステム100は、取得エンジン110、検証エンジン120、文法誘導エンジン130、および文脈インテントデータベース140を含む。取得エンジン110、検証エンジン120、文法誘導エンジン130、または文脈インテントデータベース140のいずれかは、別の音声アクションサービスシステムのような開発者音声アクションサービスシステム100と通信し得る他のシステムとは独立した開発者音声アクションサービスシステム100の構成要素として実施され得るか、または、これら他のシステムの構成要素として実施され得る。検証エンジン120は、検証基準データベース125において利用可能な検証基準へのアクセスを有し、文法誘導エンジン130は、誘導規則データベース135において利用可能な誘導規則へのアクセスを有する。アプリケーション開発者101は、1つまたは複数のネットワーク105を介して、開発者音声アクションサービスシステム100と通信しているコンピューティングデバイス102を使用して、開発者音声アクションサービスシステム100へ文法を発行し得る。
アプリケーション開発者101は、特定のアプリケーションのための新たなインテントを要求するために、開発者音声アクションサービスシステム100へ文法を発行し得る。具体的には、アプリケーション開発者101は、1つまたは複数のネットワーク105を介して開発者音声アクションサービスシステム100と通信し得るコンピューティングデバイス102を使用して、文法を発行し得る。
アプリケーション開発者101によって発行された文法は、新たなインテントの生成に関連する様々な情報を指定し得る。具体的には、文法は、アプリケーション開発者101が、新たなインテントを生成するために試みるために開発している特定のアプリケーションのような、特定のアプリケーションを指定し得る。あるいは、文法は、開発中のアプリケーションに関連する、または、開発中のアプリケーションと通信している特定のアプリケーションを指定する文法のような、アプリケーション開発者101が開発しているアプリケーションとは異なる特定のアプリケーションを指定し得る。さらに他の例において、文法は、特定の部分処理、スレッド、または、アプリケーション開発者101が開発中のアプリケーションまたは別のアプリケーションに関連付けられた他の区分のような、アプリケーションの特定の態様を指定し得る。アプリケーション開発者101は、それに加えて、文法におけるトリガフレーズを指定し得る。トリガフレーズは、ユーザによって提供された音声入力から検出された場合、インテントをトリガする1つまたは複数の用語を含む。いくつかの事例では、トリガフレーズは、1つまたは複数の引数を含み得る。引数は、ユーザの音声入力の1つまたは複数の用語によって置換され得るトリガフレーズにおけるプレースホルダの役割をする。たとえば、「私を$の場所へ連れて行って下さい」で始まるトリガフレーズは、「私をワシントンDCの1425K通り北西へ連れて行って下さい」のようなユーザ音声入力が、トリガフレーズに一致するものとして識別されることを有効にし得る。場所、日、日付、または時間、人、ユーザのクライアントデバイスに記憶された連絡先、曲、映画、または他のコンテンツアイテムのようなコンテンツのアイテム、または他の引数のような他の引数が検出され得る。
文法はまた、オプションとして、文法によって指定された特定のアプリケーションにおいて、または、文法によって指定された特定のアプリケーションによって実行されるタスクとして定義される特定のアクティビティをも指定し得る。それに加えて、いくつかの事例では、アプリケーション開発者101は、文法に関連付けられたコンテキストを指定し得る。コンテキストは、文法によって指定されたインテントのトリガのために存在していなければならない、または、存在する場合、トリガされたインテントの選択を修正しなければならない追加条件を定義する。いくつかの実施では、アプリケーション開発者101によって発行された文法は、開発者が定義したタイプを指定し得る。タイプは、トリガフレーズとともに含まれている場合に検出されねばならない1つまたは複数の用語として定義される。たとえば、1つまたは複数の用語によって識別された開発者が定義したタイプは、たとえば、「スリープ」または「ロック」のように、アプリケーション指定モードの特定のタイプに関連付けられ得るか、または、たとえば、中古車探索アプリケーションのための車モデル名のように、特定のアプリケーションへ提供される入力と連携して頻繁に使用される特定の用語によって識別され得るかまたは、あるアプリケーションまたはトリガフレーズに関連する開発者が定義したタイプであり得る。音声入力がユーザから受信された場合、音声アクションサービスシステムは、他の用語以外のタイプの用語を検出する可能性がより高くなり得る。たとえば、音声アクションサービスシステムは、アプリケーション開発者によって発行された1つまたは複数の文法によって定義されたタイプである「スリープ」に基づいて、「スリップ」という用語とは異なる音声入力から、「スリープ」という用語を検出する可能性がより高くなり得る。
いくつかの例において、タイプは、特定のエンティティに関連付けられ得るか、または、特定のエンティティを参照するように動作し得る。たとえば、「私の家」という用語によって定義されるタイプは、たとえば、ユーザが、プロパティに関連付けられたアドレスを、アプリケーションである音声アクションサービスシステムに登録することに基づいて、または、「私の家」という用語によって定義されたタイプが、ユーザのプロパティ、または、プロパティのアドレスに関連付けられるべきであることを、アプリケーション開発者101が文法において指定することに基づいて、ユーザに関連付けられたプロパティに関連付けられ得る。ユーザ音声入力におけるタイプを定義する用語を検出することは、トリガされたインテントによって指定されたアクティビティが、タイプに関連付けられたエンティティに関して実行されるようにし得る。
たとえば、ユーザが「私の家にタクシーを寄こして下さい」という音声入力を、音声アクションサービスシステムへ提供することに基づいて、音声アクションサービスシステムは、音声入力が、タクシーサービスアプリケーションのためのインテントによって指定されたトリガフレーズに一致していることを判定し得、さらに、音声入力に含まれる「私の家」という用語が、ユーザの自宅の住所に関連付けられたタイプに対応することを判定し得る。したがって、インテントのトリガは、タクシーサービスアプリケーションに対して、タクシーに、ユーザを、現在の場所から、自宅住所へ送るように要求させ得る。
そのような例では、ユーザの自宅住所を指定する情報が、ユーザのクライアントデバイスにおいて実行しているタクシーサービスアプリケーションの事例に関連付けて記憶され得、開発者音声アクションサービスシステム100において記憶され得、文脈インテントデータベース140において記憶されたインテントによって指定され得るか、または、別の方式で記憶され得る。いくつかの例では、タイプに関連付けられたエンティティは、特定のユーザに対して特定であり、これによって、「私の家」という用語は、異なるユーザに関連付けられた異なるプロパティのアドレスを参照するようになるであろう。そして、タイプに関連付けられた正しいエンティティが、タイプを含む音声入力を提供するユーザのために選択され得る。
例として、アプリケーション開発者101は、図1に図示される文法を発行し得る。文法は、タクシーサービスアプリケーションである「Cab Caller」と呼ばれるアプリケーションを指定し得る。それに加えて、文法は、アプリケーション開発者101が、文法から生成されるインテントのトリガを引き起こすべきトリガフレーズとして示した「Hail a cab」というトリガフレーズを指定し得る。文法はまた、特定のアクティビティ、すなわち、指定されたアプリケーションの起動を指定する。したがって、文法から生成されたインテントのトリガは、起動されている「Cab Caller」というアプリケーションに帰着するであろう。繰り返すが、文法から生成されるインテントのトリガは、サードパーティのアプリケーションを起動することに限定されないが、他のアプリケーションまたは機能を、開発者によって指定され得るようにトリガし得る。アプリケーション開発者101は、それに加えて、文法のためのコンテキストを指定した。具体的には、コンテキストは、文法から生成されたインテントが、インテントをトリガする音声入力を提供するクライアントデバイスが、「Cab Caller」というアプリケーションの「バージョン1.2」をホストする場合にのみトリガされるべきであることを示す。日時、場所、デバイス方位、天候、ユーザ認証、アイテムへの近接度またはアイテムを搬送する人、ユーザのクライアントデバイス上の特定のソフトウェアまたは構成要素の存在(または不在)等のような他の多くのコンテキストが、この開示によって考慮される。
アプリケーション開発者101によって発行された文法は、取得エンジン110において、1つまたは複数のネットワーク105を介して開発者音声アクションサービスシステム100によって受信される。取得エンジン110は、開発者音声アクションサービスシステム100が、アプリケーション開発者によって発行された文法を受信することを有効にするために、コンピューティングデバイス102のようなコンピューティングデバイスのためのインターフェースを提供する。
取得エンジン110は、アプリケーション開発者101によって発行された文法を受信し、この文法を、検証エンジン120へ提供する。検証エンジン120は文法を受信し、新たなインテントが生成され得るか否かを、発行された文法に基づいて判定するために、文法を検証する。文法を検証するために、検証エンジン120は、検証基準データベース125においてアクセス可能な検証基準にアクセスし得る。検証基準データベース125は、あらかじめ決定されたか、または、受信した文法に応じて生成された検証基準を含み得る。
たとえば、検証エンジン120は、文法によって指定されたトリガフレーズが既にインテントに関連付けられているか否かを判定することによって、文法を検証し得る。それに加えて、または、その代わりに、文法を検証するステップは、文法によって指定されたアプリケーションが、文法によって指定された特定のアクティビティ、または、別のデフォルトアクティビティを実行することができるかを判定するステップを含み得る。たとえば、検証エンジン120は、どのアクティビティが、アプリケーションにおいて、または、アプリケーションによって実行され得、どのデータが、アプリケーションへ、または、アプリケーション内で利用可能であるかを示す情報、または他の情報のような、アプリケーションに関する情報を示す文法において指定されたアプリケーションに関連付けられたマニフェストまたは他の情報へのアクセスを有し得る。検証エンジン120は、文法を検証するために、識別されたアプリケーションに関連付けられたマニフェストまたは他の情報を調査し得る。
文法を検証するステップはさらに、文法において指定されたコンテキストが、適切なコンテキストであるか否かを、たとえば、コンテキストが満足され得ること、たとえば、「Cab Caller」というアプリケーションの「バージョン1.2」が存在することを確認することによって判定するステップを含み得る。文法を検証するステップはさらに、文法がインテントのフォーマットへ変換され得るように、適切なフォーマットで提供されていることを判定するステップをも含み得る。それに加えて、または、その代わりに、文法を検証するステップは、文法のために発行されたトリガフレーズが、適切なフォーマットであることを、たとえば、トリガフレーズに含まれる引数が正しくフォーマットされていること、または、サポートされた引数タイプであることを判定することによって判定するステップを含み得る。文法を検証するステップはまた、アプリケーション開発者101から受信した文法において指定されるアクティビティを実行することに関連しているか、または実行するように要求された1つまたは複数のアクティビティを識別するステップを含み得る。たとえば、アプリケーション開発者101が、タクシーサービスアプリケーションを使用して、タクシーを頼むためのアクティビティを文法において指定しているのであれば、検証エンジン120は、タクシーアプリケーションサービスを使用してタクシーを頼むステップはまた、ユーザのクライアントデバイスにおいてタクシーサービスアプリケーションを起動するステップと、ユーザのクライアントデバイスにおいて実行している位置決めシステムアプリケーションを使用してユーザの位置を決定するステップとからなるアクティビティを含んでいると判定し得る。
それに加えて、検証エンジン120は、文法のフォーマットまたは文法の一部が、構文上有効であるか否かを判定することによって、受信した文法を検証し得る。いくつかの事例では、文法誘導エンジン130は、受信した文法が構文上有効であれば、すなわち、そのデータ構造が、期待される文法フォーマットに従って適切にフォーマットされており、文法誘導エンジン130によって処理または変換され得る用語のみを含んでいる場合にのみ、受信した文法を誘導でき得る。
いくつかの実施では、開発者音声アクションサービスシステム100によって、アプリケーション開発者101へフィードバックが提供され得る。たとえば、検証エンジン120は、アプリケーション開発者101のコンピューティングデバイス102へ、アプリケーション開発者101によって発行された文法が検証されたか否かを示す情報を提供し得る。インテントが文法を使用して成功裡に生成されているか否かを示す情報、文法において指定されたトリガフレーズに基づいて生成された1つまたは複数の他の関連するトリガフレーズを指定する情報、または他の情報のような、追加のまたは異なるフィードバックもまたアプリケーション開発者101へ提供され得る。
検証エンジン120が、アプリケーション開発者101によって発行された文法を検証することに基づいて、検証エンジン120は、文法を、文法誘導エンジン130へ発行し得る。文法誘導エンジン130は、文法を受信し、文法を、文法に基づくインテントを生成するように誘導し得る。文法を誘導するステップは、文法を、開発者音声アクションサービスシステム100によって受信されたフォーマットから、インテントフォーマットへ変換するステップを含み得る。文法を誘導するステップはさらに、文法において指定されたトリガフレーズに基づいて1つまたは複数の他のトリガフレーズを生成することによって文法において指定され、かつ、指定されたトリガフレーズに関連しているトリガフレーズを拡張するステップを含み得る。
たとえば、開発者音声アクションサービスシステム100は、アプリケーション開発者が、アプリケーション開発者によってより容易に理解されるフォーマットで文法を、たとえば、アプリケーション開発者が、テキスト形式引数を含むフォーマットで文法を発行することを有効にすることによって、他のユーザへ発行することを有効にし得る。文法誘導エンジン130は、このフォーマットで文法を受信し得、この文法を、インテントのためのフォーマットへ変換し得る。インテントフォーマットは、アプリケーション開発者または他のユーザにとって、解釈または理解がより困難なフォーマットであり得るか、または、音声アクションサービスに特有のフォーマットであり得る。
開発者音声アクションサービスシステム100へ発行された文法において指定されるトリガフレーズを拡張することによって、開発者音声アクションサービスシステム100が、指定されたトリガフレーズに基づいている1つまたは複数の関連するトリガフレーズを生成することを可能とする。関連するトリガフレーズを生成するために、様々な拡張規則が、トリガフレーズへ適用され得る。たとえば、文法において指定されたトリガフレーズに関連し、文法において指定されたトリガフレーズに少なくとも部分的に基づいている1つまたは複数の他のトリガフレーズを生成するために、1つまたは複数の用語オプション化規則、類義語規則、拡張規則、または、他の問合せ用語改訂規則のような他の改訂規則が、文法において指定されたトリガフレーズへ適用され得る。
オプション化規則は、トリガフレーズにおける1つまたは複数の特定の用語が、文法において指定されたトリガフレーズに基づいて生成された関連するトリガフレーズにおいてオプションであるか否か指定するトリガフレーズへ適用され得る。類義語規則は、文法において指定されたトリガフレーズに基づいて生成された関連するトリガフレーズに含まれ得る文法の1つまたは複数の用語のための1つまたは複数の類義語を識別し得る。拡張規則は、文法において指定されたトリガフレーズが、文法において指定されたトリガフレーズにおける用語に類似または関連しているとして識別される1つまたは複数の用語のような、1つまたは複数の追加の規則を含むように拡張されることを有効にし得る。文法において指定されるトリガフレーズに基づいて、関連するトリガフレーズを生成するための他の規則が適用され得る。
それに加えて、いくつかの例では、文法誘導エンジン130は、受信したトリガフレーズ、または、指定されたトリガフレーズのために生成された1つまたは複数の関連するトリガフレーズを1つまたは複数の他の言語へ変換することによって、受信した文法において指定されるトリガフレーズに関連する1つまたは複数のトリガフレーズを生成し得る。たとえば、「Hail a cab」というトリガフレーズが、英語から、標準中国語、スペイン語、アラビア語、フランス語、ヒンディー語、ドイツ語、ロシア語、または他の言語のうちの1つまたは複数へ変換され得、1つまたは複数の変換は、文法において指定された「Hail a cab」というトリガフレーズに関連するトリガフレーズとして識別され得る。
それに加えて、いくつかの事例では、文法誘導エンジン130は、受信した文法において指定されたトリガフレーズに含まれる用語または引数の変形および置換を判定することができ得る。たとえば、買物アプリケーションに関連付けられた文法において指定されるトリガフレーズが、たとえば米国サイズにおけるスーツのサイズのように、第1の単位における洋服サイズパラメータのための引数を指定するのであれば、文法誘導エンジン130は、たとえば欧州サイズにおけるスーツのサイズのように、第2の単位における洋服サイズパラメータのための引数を、別のトリガフレーズの中に含めることによって、この引数の変形または置換を判定することができ得る。
いくつかの事例では、文法誘導エンジン130は、関係スコアの強度を判定し得、関係スコアの強度を、文法において指定されたトリガフレーズ、および文法において指定されたトリガフレーズに基づいて判定されたトリガフレーズのうちの1つまたは複数へ関連付け得る。関係スコアの強度は、文法において指定されたアプリケーションに対する、トリガフレーズの適用可能性または独自性の推定値を示し得る。たとえば、アプリケーション開発者101から受信された、「Hail a cab」というトリガフレーズを指定する文法に基づいて、文法誘導エンジン130は、「Hail a cab」というトリガフレーズと、関連するトリガフレーズとして識別された「Call a taxi」というトリガフレーズとの間の関係の強度を、受信した文法において指定されたトリガフレーズに少なくとも基づいて判定し得る。
いくつかの事例では、検証エンジン120および/または文法誘導エンジン130は、要求された文法がスパムであるか否かを判定するために、トリガフレーズとアプリケーションとの間の関係の強度を判定し得る。たとえば、文法誘導エンジン130は、「Hail a cab」というトリガフレーズと、「Cab Caller」というタクシーサービスアプリケーションとの間の関係の強度、または、タクシー呼び出しアプリケーションを指定するインテントを判定し得、この判定に基づいて、関係の強度のスコアを、「Hail a cab」というトリガフレーズへ割り当て得る。それに加えて、いくつかの例では、広告主またはアプリケーション開発者は、推奨を試みているアプリケーション、および、トリガフレーズを指定する開発者音声アクションサービスへ文法を発行するように促され得る。検証エンジン120および/または文法誘導エンジン130は、トリガフレーズが、識別されたアプリケーションに対して十分に強い関係を有していないことを判定し得、したがって、受信した文法に基づいて新たなインテントを生成することを拒否し得、および/または、アプリケーションへより強く関連しているトリガフレーズを提供しなければならないことを示すフィードバックを、文法を発行したユーザへ提供し得る。
たとえば、スポーツニュースアプリケーションのための広告主は、スポーツニュースアプリケーションと「Call a taxi」というトリガフレーズとを指定する文法を発行し得る。検証エンジン120および/または文法誘導エンジン130は、「Call a taxi」というトリガフレーズが、スポーツニュースアプリケーションへ十分強い関係を有していないことを判定し得、この文法に基づいて新たなインテントが生成されることを拒否し得る。
いくつかの実施では、文法誘導エンジン130はまた、コンピューティングデバイス102において、アプリケーション開発者101へフィードバックを提供し得る。たとえば、受信した文法を、アプリケーション開発者101によって発行された文法によって識別されたトリガフレーズに少なくとも基づいて判定された1つまたは複数の他のトリガフレーズを生成するように誘導することに基づいて、アプリケーション開発者101が、他のトリガフレーズが、識別されたトリガフレーズのための代替トリガフレーズを受け入れ可能であるか否かを判定するために、1つまたは複数の他のトリガフレーズを評価することを可能にするために、1つまたは複数の他のトリガフレーズを識別するフィードバックが、アプリケーション開発者101へ提示され得る。いくつかの実施では、アプリケーション開発者101は、たとえば、文法誘導エンジン130によって生成された1つまたは複数の他のトリガフレーズのうちのどれが、新たなインテントにおいて指定されるべきであるかを示すために、フィードバックへ応答を提供することができ得る。
それに加えて、いくつかの事例では、文法誘導エンジン130または開発者音声アクションサービスシステム100の別の構成要素は、受信したインテントに基づく1つまたは複数の例示的な問合せまたは音声入力、受信した文法によって指定されたトリガフレーズに基づいて判定された1つまたは複数の他のトリガフレーズ、または、受信したインテントから生成されたインテントを生成し得る。例示的な問合せまたは音声入力は、文脈インテントデータベース140において記憶されたインテントへのアクセスを有する音声アクションサービスをどのように使用するのかをユーザへ教示するための例として使用され得る。たとえば、例示的な問合せまたはトリガフレーズは、アプリケーション開発者101によって発行された文法から生成されたインテントをトリガする音声入力をユーザが最初に提供した場合、ユーザへの出力のために提供され得る。
文法誘導エンジン130が、1つまたは複数の関連するトリガフレーズを生成し、1つまたは複数の関連するトリガフレーズを含む文法をインテントフォーマットへ変換することによって、文法において指定されたトリガフレーズを拡張したことに基づいて、開発者音声アクションサービスシステム100は、文脈インテントデータベース140において新たなインテントを記憶し得る。たとえば、アプリケーション開発者101によって発行された文法に基づいて生成された新たなインテントは、少なくとも「インテントX」および「インテントZ」をも含む文脈インテントデータベース140において記憶されたインテントのセットへ、「インテントY」として追加され得る。たとえば、「インテントY」および「インテントZ」は、アプリケーション開発者101によって発行された文法において指定されたアプリケーションとは異なり得る、または、同じであり得る、1つまたは複数のアプリケーションに関連付けられ得る1つまたは複数の他のアプリケーション開発者によって発行された文法に基づいて生成されたインテントであり得る。
文脈インテントデータベースにおいて記憶されたインテントは、インテントフォーマットでアプリケーション開発者101によって発行された文法によって指定されるパラメータを指定し得る。たとえば、アプリケーション開発者101によって発行された文法に基づいて生成された「インテントY」は、「Cab Caller」というアプリケーションを指定し得、インテントがトリガされた場合、「Cab Caller」というアプリケーションにおいて、または「Cab Caller」というアプリケーションによって実行されるべき起動アプリケーションアクティビティを指定し得、インテントのトリガに対して追加の条件、すなわち、インテントがトリガされ得るクライアントデバイスが、「Cab Caller」というアプリケーションの「バージョン1.2」を特別に扱う必要があること、を課すコンテキストを指定し得る。それに加えて、「インテントY」は、アプリケーション開発者101によって発行されたトリガフレーズのみならず、アプリケーション開発者101によって発行されたトリガフレーズに少なくとも基づいて、開発者音声アクションサービスシステム100が判定した1つまたは複数の追加のトリガフレーズをも指定し得る。たとえば、「Hail a cab」というトリガフレーズは、「Call a cab」、「Get a car」、および「Call taxi」というトリガフレーズをも含むように拡張され得、それらのいずれかの検出は、追加のコンテキストが満たされている限り、「インテントY」のトリガに帰着するであろう。
一旦、インテントが、アプリケーション開発者101によって発行された文法に基づいて生成され、文脈インテントデータベース140において記憶されると、ユーザは、インテントに関連付けられたトリガフレーズを含む音声入力を提供することによって、インテントをトリガすることが可能であり得る。たとえば、クライアントデバイスへ「Call taxi」という音声入力を提供する「Cab Caller」というアプリケーションの「バージョン1.2」をホストするクライアントデバイスのユーザに基づいて、クライアントデバイスは、音声入力が「Call taxi」というトリガフレーズを含んでいることを判定し得、モバイルデバイスが「Cab Caller」というアプリケーションの「バージョン1.2」をホストしていることを判定し得、それに応じて、「Cab Caller」というアプリケーションを、ユーザのクライアントデバイス上で起動させる「インテントY」をトリガし得る。
いくつかの実施では、文脈インテントデータベース140において新たに生成されたインテントを記憶する処理は、迅速な更新プッシュまたは展開サポートでもサポートされている処理であり得る。たとえば、音声開発者音声アクションサービスシステム100は、受信した文法を一旦誘導すると、新たに生成されたインテントを、文脈インテントデータベース140において迅速に記憶すること、および、新たに生成されたインテントを、文脈インテントデータベース140に記憶されたインテントへのアクセスを有する音声アクションサービスのユーザへ利用可能とすることが可能であり得る。
図2は、ユーザが、文脈インテントデータベース240によって記憶されたインテントへ一致された音声入力を発行することを有効にする音声アクションサービスシステム200の例示的な使用の場合を示す。音声入力をインテントへ一致させることは、インテントによって指定されたアクティビティが、ユーザのクライアントデバイス202におけるアプリケーションにおいて、または、ユーザのクライアントデバイス202におけるアプリケーションによって実行されるようにする。アプリケーションはまた、インテントによって指定される。
簡潔に述べると、図2に図示されるように、音声アクションサービスシステム200は、音声認識エンジン210、マッチャ220、明確化エンジン230、および実行エンジン250を含む。音声認識エンジン210は、クライアントデバイス202のユーザ201からの音声入力を含むオーディオデータを、1つまたは複数のワイヤまたはワイヤレスネットワーク205を介して受信する。たとえば、ユーザ201は、クライアントデバイス202にホストされた音声インターフェースアプリケーションへ音声入力を提供し得、クライアントデバイス202にホストされた音声インターフェースアプリケーションは、音声入力を含むオーディオデータを、1つまたは複数のネットワーク205を介して、音声アクションサービスシステム200へ送信し得る。図2においてクライアントデバイス202から分離しているとして図示されているが、いくつかの実施形態では、音声認識エンジン210、マッチャ220、明確化エンジン230、および実行エンジン250のうちの1つまたは複数は、本明細書において議論されている他のシステムおよびサブシステムと同様に代替的に実施され得るか、または、ユーザ201に関連付けられたクライアントデバイス202の一部を形成し得る。
いくつかの事例では、音声認識エンジン210は、音声アクションサービスシステム200によって定義される1つまたは複数のタイプへのアクセスを有し得る。たとえば、音声アクションサービスシステム200は、人々、場所、映画または曲のようなコンテンツのアイテム、または他の定義されたタイプのようなエンティティを識別する1つまたは複数の知識ベースへのアクセスを有し得る。オーディオデータ204において音声認識を実行する場合、または、ユーザの音声入力に基づいて、インテントの選択および実行に関連する他の動作を実行する場合、音声認識エンジン210、または、音声アクションサービスシステム200の他の構成要素は、1つまたは複数の知識ベースへアクセスし得る。
マッチャ220は、図1のアプリケーション開発者101のようなアプリケーション開発者によって発行された文法に基づいて生成された1つまたは複数のインテントを含む文脈インテントデータベース240へのアクセスを有する。マッチャ220は、それに加えて、1つまたは複数の特有のオペレーティングシステムに特有か、または、特定のアプリケーションに関するとしてオペレーティングシステムによって指定された、1つまたは複数のインテントを含むオペレーティングシステム(OS)インテントデータベース245へのアクセスを有する。たとえば、OSインテントデータベース245において記憶されたインテントは、デバイスをリスタートまたはロックする、ワイヤレスネットワークへ参加する等のためのアクティビティのような、オペレーティングシステムによって実行されるアクティビティ、または、メッセージング、電話、または電子メールアプリケーションを起動するためのアクティビティのような、1つまたは複数のアプリケーションに関するオペレーティングシステムによって実行されるアクティビティためのインテントを含み得る。それに加えて、明確化エンジン230は、特定のユーザまたはクライアントデバイスに特有の情報を含むユーザパーソナル化データベース235へのアクセスを有する。ユーザパーソナル化データは、クライアントデバイス202から受信した音声入力に一致すると判定されたインテントを明確化するために使用され得る。
図2に図示されるように、ユーザ201は、1つまたは複数のアクションを実行するためにユーザ201によって提供される音声コマンドのような音声入力を受信することが可能なクライアントデバイス202を有し得る。いくつかの事例では、クライアントデバイス202は、マイクロホン、または、ユーザから音声入力を取得するための他のデバイスを含み、クライアントデバイス202において実行するオペレーティングシステムまたはアプリケーションは、音声入力を受信するためのソフトウェアを含み得る。クライアントデバイス202は、「Call taxi」という音声入力のような音声入力を、ユーザ201から受信し得る。クライアントデバイス202が音声入力を受信することに基づいて、クライアントデバイスは、音声入力を含むオーディオデータ204を、1つまたは複数のネットワーク205を介して、音声アクションサービスシステム200へ送信し得る。
音声アクションサービスシステム200の音声認識エンジン210は、オーディオデータ204を受信し、オーディオデータ204について音声認識処理を実行し、オーディオデータ204に含まれる音声入力のトランスクリプションを取得する。たとえば、音声認識エンジン210は、オーディオデータ204を受信し得、オプションとして、オーディオデータ204をフィルタし、オーディオデータ204からノイズおよびバックグランドオーディオを除去し、オーディオデータ204のクリーンバージョンを生成し得る。音声認識エンジン210は、その後、音声入力のトランスクリプションを取得するために、オーディオデータ204のクリーンバージョンに対して音声認識処理を実行し得る。たとえば、音声認識エンジン210は、クライアントデバイス202から受信したオーディオデータ204から、「Call taxi」というトランスクリプションを生成し得る。
音声認識エンジン210は、オーディオデータ204のトランスクリプションを、マッチャ220へ提供する。マッチャ220は、このトランスクリプションを、文脈インテントデータベース240またはOSインテントデータベース245において記憶されたインテントによって指定された1つまたは複数のトリガフレーズと照合する。いくつかの事例では、トランスクリプションが、特定のインテントに関連付けられた特定のトリガフレーズと一致すると判定するステップは、トランスクリプションの1つまたは複数の用語が、特定のトリガフレーズの1つまたは複数の用語と一致すると判定することのように、トランスクリプションの少なくとも一部が、特定のトリガフレーズと一致すると判定するステップを含み得る。したがって、特定のトランスクリプションは、潜在的に、多数のインテントを求めることとして判定され得、これによって、音声アクションサービスシステム200は、候補インテントから、トリガするための特定のインテントを判定しなければならない。トランスクリプションが、1つまたは複数の候補インテントによって指定された1つまたは複数のトリガフレーズに一致すると判定することに基づいて、マッチャ220は、1つまたは複数の候補トリガフレーズを指定する明確化エンジン230へ情報を提供し得る。
いくつかの事例では、ユーザ201は、クライアントデバイス202へテキスト形式入力を提供し得、これによって、テキスト形式入力は、音声認識エンジン210へ提供されることなく、マッチャ220へダイレクトに提供されるようになり得る。マッチャ220は、テキスト形式入力を受信し得、テキスト形式入力に基づいて1つまたは複数の候補インテントを識別するために、上述されたマッチング動作を実行し得る。いくつかの事例では、マッチャ220は、テキスト形式入力に含まれる引数のようなタイプまたは他の特徴を識別することが可能であり得る。テキスト形式入力に含まれる。
いくつかの例では、マッチャ220は、オーディオデータ204の1つまたは複数の関連するトランスクリプションを生成するために、オーディオデータ204のトランスクリプションを拡張し得る。たとえば、「Call taxi」というトランスクリプションは、1つまたは複数のクエリ用語拡張規則、類義語規則、用語オプション化規則、または、「Call a taxi」、「Request a cab」、「Hail a car」等の関連するトランスクリプションを生成するために他の規則を使用して拡張され得る。マッチャ220は、トランスクリプションまたは関連するトランスクリプションが一致するトリガフレーズを判定するために、関連するトランスクリプションのうちの1つまたは複数を、文脈インテントデータベース240またはOSインテントデータベース245において記憶されたインテントによって指定されたトリガフレーズへ一致させ得る。
いくつかの事例では、オーディオデータ204のトランスクリプションを拡張することは、マッチャ220に対して、関連するトランスクリプションが、既に存在する、または、異なるアプリケーションに関連付けられているトリガフレーズとコンフリクトするか否かを判定することを要求する。たとえば、「Call taxi」というトリガフレーズは、タクシーサービスアプリケーションである「Cab Caller」に関連付けられたインテントによって指定され得、「Request a cab」という関連するトリガフレーズは、「TaxiNow」というタクシーサービスアプリケーションに関連付けられたインテントによって指定され得る。マッチャ220は、トランスクリプションおよび関連するトランスクリプションが、異なるアプリケーションに関連するインテントによって指定されたトリガフレーズに一致することを判定し得、したがって、いくつかの例では、一致処理から、関連するトランスクリプションである「Request a cab」を無視または削除し得る。したがって、マッチャ220、または、音声アクションサービスシステム200の別の構成要素は、一致が検出される機会を増加させるために、ユーザ入力のトランスクリプションを調節することが可能であり得る一方、オーディオデータ204の拡張されたトランスクリプションによって生成される任意のコンフリクトも取り扱う。
明確化エンジン230は、1つまたは複数の候補インテントを指定する情報を受信し得、候補インテントから、コールをトリガする特定のインテントを識別するための動作を実行し得る。明確化エンジン230は、ユーザパーソナル化データベース235においてアクセスされた情報に基づいて、候補インテントのおのおのに関連付けられた信頼度スコアに基づいて、トリガするための特定の候補インテントを選択するユーザフィードバックを要求または受信することに基づいて、または他の情報に基づいて、候補インテントからトリガするための特定のインテントを識別し得る。
たとえば、音声アクションサービスシステム200は、たとえば、ユーザ201が、クライアントデバイス202によってホストされている特定のアプリケーションへログインされることに基づいて、クライアントデバイス202が、ユーザ201またはクライアントデバイス202を識別する情報を、音声アクションサービスシステム200へ発行することに基づいて、ユーザ201、または、ユーザ201によって使用されているクライアントデバイス202を識別する情報を受信し得るか、または、受信可能であり得る。明確化エンジン230は、この識別情報に基づいて、ユーザ201またはクライアントデバイス202を識別し得、特定のユーザ201またはクライアントデバイス202のためのインテントに関連する情報を指定する情報に、ユーザパーソナル化データベース235においてアクセスし得る。たとえば、ユーザパーソナル化データベース235において明確化エンジン230によってアクセスされる情報は、ユーザ201は典型的には、特定のアプリケーションを開くことのように、特定のインテントをトリガするために、オーディオデータ204または特定のテキスト形式入力に含まれる音声入力を提供することを指定し得る。同様に、ユーザパーソナル化データベース235においてアクセスされる情報は、ユーザ201によって提供された、または、ユーザ201によって、過去のアクティビティに基づいて判定された嗜好を指定し得る。たとえば、音声アクションサービスシステム200は、過去のユーザアクティビティに基づいて、ユーザ201は、特定のタクシーサービスアプリケーションを別のものよりも好む可能性が高いと判定し得るか、または、ユーザ201は特定のアプリケーションを参照する場合、典型的に特定の用語を使用することを判定し得る。
ユーザパーソナル化データベース235においてアクセスされた情報に基づいて、明確化エンジン230は、候補インテントから特定のインテントを選択し得、特定のインテントを識別する実行エンジン250へ情報を提供し得る。たとえば、明確化エンジン230は、「Call taxi」というトランスクリプションに基づいて識別された2つの候補インテントを識別する情報を受信し得る。1つの候補インテントは「Cab Called」というタクシーサービスアプリケーションを指定し得、第2のインテントは、「TaxiNow」と呼ばれるタクシーサービスアプリケーションを指定し得る。明確化エンジン230は、ユーザパーソナル化データベース235において情報へアクセスし得、ユーザ201またはクライアントデバイス202のユーザは典型的には、「TaxiNow」というタクシーサービスアプリケーションよりも「Cab Caller」というタクシーサービスアプリケーションを使用すると判定し得、よって、2つの候補インテントから「Cab Caller」というアプリケーションを指定する候補インテントを選択し得る。その後、明確化エンジン230は、「Cab Caller」というアプリケーションを指定するインテントを識別する情報を、実行エンジン250へ送信し得る。このように、明確化エンジン230は、ユーザ201からの追加の入力を必要とすることなく、特定の候補インテントを選択するために、ユーザ201のためのパーソナル化データに依存し得る。
あるいは、明確化エンジン230は、候補インテントのおのおのに関連付けられた信頼度スコアに基づいて、候補インテントのセットから、特定のインテントを識別し得る。たとえば、候補インテントのおのおのは、候補インテントが、ユーザ201が音声アクションを使用してトリガすることを意図していたインテントである信頼性を近似する信頼度スコアに関連付けられ得る。いくつかの事例では、明確化エンジン230またはマッチャ220は、候補インテントのおのおののための信頼度スコアを判定し得る。
候補インテントへ割り当てられる信頼度スコアは、1つまたは複数の要因に基づき得る。たとえば、信頼度スコアは、トランスクリプションと、インテントによって指定されたトリガフレーズとの間の一致の正確性に少なくとも部分的に基づいて判定され得る。そのような例では、トランスクリプションに正確に一致するトリガフレーズを指定する候補インテントは、候補インテントがユーザ201の意図であったとの高い信頼度を示す候補スコアを割り当てられ得る。
他の実施では、インテントによって指定された異なるトリガフレーズが、トリガフレーズとインテントとの間の関係の強度を示すスコアに関連付けられ得、信頼度スコアが、一致したトリガフレーズのための関係スコアの強度に少なくとも部分的に基づいて判定され得る。たとえば、「Hail a cab」というトリガフレーズのための関係スコアの強度は、同じインテントによって指定された「Get a car」というトリガフレーズのための関係スコアの強度よりも、トリガフレーズと、「Cab Caller」というアプリケーションを指定するインテントとの間のより強い関係を示し得る。
他の要因は、ユーザの場所、または、ユーザが含まれているとして識別されるアクティビティに基づいて、または、他の情報に基づいて、どれくらい頻繁に候補インテントがトリガされたのか、どれくらい最近、候補インテントがトリガされたのか、他のどのアプリケーションが、関連され得る音声アクションが受信された時間においてクライアントデバイス202において実行しているのか、または、候補インテントによって指定されたアプリケーションと同時に頻繁に使用されるのかのように、候補インテントのための信頼度スコアを判定する際に考慮され得る。いくつかの実施では、これらの要因の組合せが、特定の候補インテントのための信頼度スコアを判定する際に考慮され得る。1つまたは複数の候補インテントの信頼度スコアに基づいて、特定の候補インテントが、明確化エンジン230によって選択され得、明確化エンジンは、選択された候補インテントを識別する情報を、実行エンジン250へ送信し得る。
それに加えて、他のユーザのアクションは、何人の他のユーザが、候補インテントによって指定されるアプリケーションをアクティブに使用しているのか、ユーザの知り合いまたは友達のうちの何人が、候補インテントによって指定されるアプリケーションを使用しているのか等のように、候補インテントの信頼度スコアを判定する場合に考慮され得る。たとえば、ユーザが「Call taxi」という音声入力を提供することに基づいて、音声アクションサービスシステム200は、2つの候補タクシーサービスアプリケーションが、音声入力によってトリガされ得ることを判定し得、さらに、より多くのタクシー運転手が、現在、これらアプリケーションのうちの1つを他のものよりも使用していることを判定し得る。その結果、アプリケーションをアクティブに使用しているより多くの運転手を有するタクシーサービスアプリケーションのためのインテントへ割り当てられた信頼度スコアは、アプリケーションをアクティブに使用しているより少ない運転手しか有さないタクシーサービスアプリケーションのためのインテントへ割り当てられた信頼度スコアよりも高くなり得る。
さらに他の例では、明確化エンジン230は、候補インテントの1つまたは複数から特定の候補インテントを選択するための要求を、ユーザ201のためのクライアントデバイス202へ提供し得る。たとえば、マッチャ220からの1つまたは複数の候補インテントを指定する情報を受信することに基づいて、明確化エンジンは、特定の候補インテント、または、特定のインテントによって指定される特定のアプリケーションを選択するための要求が、ユーザ201のためのクライアントデバイス202において提供されるようにし得る。明確化エンジン230は、ユーザ201による選択を示す情報を受信し得、ユーザ201が選択した特定の候補インテントを識別する情報を実行エンジン250へ提供し得る。
たとえば、「Call taxi」というトランスクリプションが、「Cab Caller」というアプリケーションを指定するインテントに関連付けられたトリガフレーズに一致し、また、「TaxiNow」というアプリケーションを指定するインテントに関連付けられたトリガフレーズに一致することを判定することに基づいて、明確化エンジン230は、ユーザ201に対して、「Cab Caller」というアプリケーションまたは「TaxiNow」というアプリケーションのいずれかを選択するように要求するユーザインターフェースを、クライアントデバイス202において、ユーザ201へ提供し得る。明確化エンジン230は、ユーザが「Cab Caller」というアプリケーションを選択したことを示す情報を受信し得、これに応じて、「Cab Caller」アプリケーションを指定する候補インテントを識別する情報を実行エンジン250へ提供し得る。
いくつかの実施では、明確化エンジン230は、信頼度スコアまたは他の情報に基づいて、候補インテントをランク付けし得、ランク付けに基づいて、特定の候補インテントを選択し得るか、または、ユーザ201へ提示されたユーザインターフェースに候補インテントを表示し得る。たとえば、明確化エンジン230は、候補インテントのおのおののために判定された信頼度スコアに基づいて、候補インテントをランク付けし得、これによって、たとえば、より高い信頼度スコアを有する候補インテントが、より低い信頼度スコアを有する候補インテントの上にランク付けされるようになる。他の要因は、どれくらい頻繁に、または、どれくらい最近に、候補インテントがトリガされたのか、どれくらい頻繁に、または、どれくらい最近に、候補インテントによって指定されたアプリケーションが、類似の音声入力に応じてユーザによって選択されたのかのように、候補インテントのランク付けに影響を与え得る。
いくつかの事例では、多数の候補インテントからの特定の候補インテントのユーザ選択を要求するか、または、少なくとも1つの候補インテントによっておのおの指定されたアプリケーションのセットから、候補インテントによって指定された特定のアプリケーションの選択を要求するユーザインターフェースは、ランク付け、信頼度スコア、または、候補インテントまたはランク付けに関連付けられた他の情報または要因に基づいて、候補インテントまたはアプリケーションを別の方式で、ユーザへ提示し得る。たとえば、候補インテントによって指定された「Cab Caller」というアプリケーションが、「TaxiNow」というアプリケーションよりも、ユーザ201によってより頻繁に選択されたことを判定することに基づいて、「Cab Caller」というアプリケーションまたは「TaxiNow」というアプリケーションのうちの1つの選択を要求する、ユーザ201へ提示されるユーザインターフェースは、「Cab Caller」のためのオプションを、「TaxiNow」のためのオプションよりもより大きな選択可能なアイコンとして示し得、図2に図示されるように、「TaxiNow」というアプリケーションのためのオプションよりも上方に、「Cab Caller」というアプリケーションのためのオプションを表示し得るか、または、さもなければ、これらオプションを、別の方式で、または、ユーザインターフェースの異なる場所に図示し得る。
いくつかの事例では、明確化エンジン230はまた、1つまたは複数の候補インテントから特定の候補インテントを選択する情報を判定または受信する明確化に基づいて、ユーザパーソナル化データベース235において情報を更新し得る。たとえば、明確化エンジン230が、「Call taxi」という音声入力を提供することに応じて、「Cab Caller」というアプリケーションのユーザ201による選択を受信することに基づいて、明確化エンジン230は、ユーザパーソナル化データベースおよび/または文脈インテントデータベース240においてユーザパーソナル化情報を更新し得る。そのようなパーソナル化情報を更新するステップは、「Call taxi」というトリガフレーズと、「Cab Caller」というアプリケーションを指定する候補インテントとの間の関係スコアの強度を高めるステップを含み得、「Cab Caller」というアプリケーションを指定する候補インテントのための信頼度スコアを、より強い信頼度を示すように調節するステップと、「TaxiNow」というアプリケーションを指定する候補インテントのための信頼度スコアを、低減された信頼度を示すように調節するステップとを含み得るか、または、さもなければ、パーソナル化情報、または、ユーザパーソナル化データベース235または文脈インテントデータベース240において記憶されたインテントに関連付けられた情報を更新し得る。
他の例では、明確化エンジンはまた、文脈インテントデータベース140またはOSインテントデータベースにおいて記憶されたインテントへアクセスでき得、インテントまたはインテントに関連する情報に関連付けられたパラメータを修正または調節でき得る。たとえば、「Call taxi」というユーザの音声入力に応じて、ユーザ201が、ユーザ201へ提供されたユーザインターフェースにおいて、「Cab Caller」というアプリケーションを選択し、「TaxiNow」というアプリケーションを選択しなかったことを判定することに基づいて、明確化エンジン230は、インテントのために指定されたトリガフレーズのセットから「Call taxi」というトリガフレーズを削除するために、「TaxiNow」というアプリケーションを指定し、文脈インテントデータベース140において記憶された候補インテントを更新し得るか、または、インテントによって指定された「Call taxi」というトリガフレーズのための関係スコアの強度を調節し得る。この処理および類似の処理は、音声アクションサービスステム200が、適切なインテントをトリガしている際におけるサービスの撤回可能性を評価し、音声アクションサービスの精度または効率を高めるように、インテント、または、インテントに関連付けられた情報を調節することを有効にし得る。
いくつかの例では、多数のユーザからのフィードバックが、インテント、または、インテントに関連する情報に関連付けられたパラメータをどのようにして調節するのかを判定する際に、アグリゲートおよび分析され得る。たとえば、ユーザの集合からアグリゲートされ、「Call taxi」というトリガフレーズが典型的には、ユーザが「TaxiNow」というアプリケーションよりも「Cab Caller」というアプリケーションを選択するという結果になることを示すフォードバックに基づいて、音声アクションサービスシステム200は、「Call taxi」というトリガフレーズと、「Cab Caller」というアプリケーションを指定するインテント、または「Cab Caller」というアプリケーション自体の、関係の強度または信頼度スコアを高めることを判定し得る。
上記では個別に議論されているが、明確化エンジン230へ利用可能な方法のうちの1つまたは複数は、候補インテントから特定のインテントを選択するために使用され得る。たとえば、明確化エンジン230は、マッチャ220から、5つの候補インテントのセットを識別するデータを受信し得、5つの候補インテントに関連付けられた、または、5つの候補インテントのために判定された信頼度スコアに基づいて、候補インテントのうちの3つを削除し得る。明確化エンジン230はその後、特定の候補インテントを判定するために、残りの2つの候補インテントによって指定されたアプリケーションから選択することをユーザ201へ求める要求を、クライアントデバイス202へ出力し得る。その後、明確化エンジン230は、ユーザが選択したインテントを指定する候補インテントを識別する情報を実行エンジン250へ送信し得る。
それに加えて、いくつかの事例では、音声アクションサービスシステム200は、明確化エンジン230によって使用される方法のうちの1つまたは複数による候補インテントの分析に基づいて、異なるユーザインターフェースをユーザへ提示し得る。たとえば、明確化エンジン230が、候補インテントのための信頼度スコアのみに基づいて、特定の候補インテントを選択するのであれば、明確化エンジン230は、特定のインテント、または、特定のインテントによって指定されたアプリケーションを識別するユーザインターフェースを、クライアントデバイス202においてユーザ201へ提供し得る。あるいは、明確化エンジン230が、候補インテントの信頼度スコアに基づいて、明確化エンジン230が、候補インテント、または、候補インテントによって指定されたアプリケーションのユーザ選択を要求すべきことを判定するのであれば、明確化エンジン230は、ユーザ選択を要求する、出力のための異なるユーザインターフェースを、クライアントデバイス202において提供し得る。
実行エンジン250は、明確化エンジン230から、特定のインテントを識別する情報を受信し得、インテントによって指定されたアクティビティが、インテントによって指定されたアプリケーションにおいて、または、インテントによって指定されたアプリケーションによって実行されるように、インテントをトリガし得る。たとえば、実行エンジン250は、文脈インテントデータベース240において、識別されたインテントにアクセスし得るか、または、さもなければ、識別されたインテントにアクセスし得るか、または、識別されたインテントを受信し得る。実行エンジン250は、インテントによって指定されたアクティビティが、インテントによって指定されたアプリケーションにおいて、または、インテントによって指定されたアプリケーションによって実行されるようにするようにインテントをトリガし得る。たとえば、実行エンジン250は、アクティビティが、指定されたアプリケーションにおいて実行されるようにし得、アプリケーションにおいてアクティビティを実行するように、オペレーティングシステムまたは他のアプリケーションへ制御を提供し得、または、アプリケーションに対して、指定されたアクティビティを実行させ得る。他の例では、実行エンジン250は、トリガすべきインテント、または、インテントによって指定されたトリガすべきアクティビティを識別する情報を、クライアントデバイス202へ提供し得、クライアントデバイス202は、この情報を受信し、受信した情報に基づいて、インテントまたはアクティビティをトリガし得る。いくつかの事例では、実行エンジン250は、クライアントデバイス202において実施され得る。
例として、「Cab Caller」というアプリケーションを指定する候補インテントを識別する情報を明確化エンジン230から受信することに基づいて、実行エンジン250は、文脈インテントデータベース240において「Cab Caller」というアプリケーションを指定するインテントにアクセスし得、「Cab Caller」というアプリケーションを指定するインテントをトリガし得る。「Cab Caller」というアプリケーションを指定するインテントをトリガするステップは、「Cab Caller」というアプリケーションを起動するアクティビティのように、インテントによって指定されたアクティビティを判定するステップを含み得る。インテントによって指定されたアクティビティが、「Cab Caller」というアプリケーションを起動するためのアクティビティであることを判定することに基づいて、実行エンジン250は、クライアントデバイス202、またはアプリケーション、オペレーティングシステム、クライアントデバイス202にホストされた他のソフトウェアに対して、クライアントデバイス202において、「Cab Caller」というアプリケーションを起動させる情報を送信し得る。
いくつかの事例では、インテントをトリガするステップは、インテント、または、インテントによって指定されたアクティビティを判定することなく、インテントに関連付けられた情報を送信するステップを含み得る。たとえば、実行エンジン250は、インテントによって指定されたアクティビティを判定することなく、識別されたインテントに関連付けられたデータを、クライアントデバイス202へ送信し得る。そのような場合、クライアントデバイス202、またはアプリケーション、オペレーティングシステム、または、クライアントデバイスによってホストされた他のソフトウェアは、インテントに基づいて実行するアクティビティを判定し、アクティビティが、インテントにおいて指定されたアプリケーションにおいて、または、インテントにおいて指定されたアプリケーションによって、実行されるようにし得る。
クライアントデバイス202は、実行エンジン250から情報を受信し得、この情報に基づいて、指定されたインテントによって指定されたアクティビティを実行するための動作を実行し得る。たとえば、クライアントデバイス202は、明確化エンジン230によって識別されたインテントを受信し得るか、または、クライアントデバイス202、または、クライアントデバイス202によってホストされたソフトウェアに対して、「Cab Caller」というアプリケーションを起動するためのアクティビティのように、識別されたインテントによって指定されたアクティビティを実行するように指示する情報を受信し得る。受信した情報に基づいて、クライアントデバイス202、または、クライアントデバイス202によってホストされたソフトウェアは、アクティビティを実行し得る。たとえば、クライアントデバイス202のオペレーティングシステム、「Cab Caller」というアプリケーション自体、または、クライアントデバイス202にホストされた別のアプリケーションは、受信した情報に応じて、「Cab Caller」というアプリケーションを起動し得る。このように、ユーザ201によって提供される「Call taxi」という音声入力は、「Cab Caller」というタクシーサービスアプリケーションの起動を引き起こし得、これによって、ユーザ201は、その後、「Cab Caller」というアプリケーションを使用して、タクシーを頼むことができるであろう。
図3は、開発者音声アクションサービスのための例示的な処理300のフローチャートを描写する。いくつかの実施では、図3の処理300は、図1の開発者音声アクションサービスシステム100によって実行され得るか、または、ローカルに、または、アクセス可能であり、1つまたは複数のネットワークを介してクライアントデバイスから情報を受信するように構成されたシステムのようなクライアントデバイスから離れて位置する別のシステムによって実行され得る。
処理300は、少なくともアプリケーションおよびトリガフレーズを識別するデータを受信することによって開始する(302)。たとえば、図1の取得エンジン110は、1つまたは複数のネットワーク105を介して、アプリケーション開発者101に関連付けられたコンピューティングデバイス102から、文法を受信し得、受信した文法は、少なくともアプリケーションおよびトリガフレーズを指定し得る。受信したデータは、開発者音声アクションサービスシステム100に登録されるべき新たなインテントのための候補として取り扱われ得る。いくつかの例では、説明されるように、指定されたアプリケーションにおいて、または、指定されたアプリケーションによって実行されるべきアクティビティまたは複合アクティビティを指定する情報、新たなインテントに関連付けられるべきコンテキスト、トリガフレーズに関連付けられた1つまたは複数の引数、または、他の情報のような他の情報は、アプリケーション開発者101から受信した文法において指定され得る。
アプリケーションおよびトリガフレーズを識別する情報は、新たなインテントを生成するために情報が使用され得るか否かを判定するために検証され得る(304)。たとえば、開発者音声アクションサービスシステム100の検証エンジン120は、データによって識別されたトリガフレーズが、受け入れ可能なトリガフレーズであること、たとえば、トリガフレーズがまだ別のインテントに関連付けられていないこと、または、トリガフレーズが、識別されたアプリケーションに十分に関連していないこと、を判定することによって受信された情報を検証し得る。受信した情報を検証するステップはさらに、受信した情報のフォーマットが、新たなインテントを生成するために変換され得るか否かを判定するステップを含み得、受信したデータにおいて識別されるアプリケーションまたはアクティビティが、有効なアプリケーションであるか、または、識別されたアプリケーションによって実行され得るアクティビティであるかを判定するステップを含み得るか、または、他の検証手順を含み得る。
いくつかの事例では、受信した情報について実行された検証手順に関連する、または、受信した情報について実行された検証手順に基づいて判定された情報を含むフィードバックが、アプリケーション開発者101に関連付けられたコンピューティングデバイス102へ提供され得る。たとえば、フィードバックは、新たなインテントを生成するように文法が変換され得るように、アプリケーション開発者101によって発行された文法が、検証処理を通過したか否かを示し得るか、または、アプリケーション開発者101によって発行された文法が、なぜ検証処理を通過するのに失敗したかの理由を示し得る。
受信した情報は、少なくとも、アプリケーション、受信したデータによって識別されたトリガフレーズ、および、受信したデータによって識別されたトリガフレーズに少なくとも基づいて判定される1つまたは複数の他のトリガフレーズを指定するインテントを生成するように誘導され得る(306)。受信した情報を誘導するステップは、1つまたは複数の関連するトリガフレーズを生成するように、識別されたトリガフレーズを拡張することによって、少なくとも、識別されたトリガフレーズに基づいて判定された1つまたは複数の追加のトリガフレーズを判定するステップを含む。たとえば、説明されるように、受信したデータにおいて識別されたトリガフレーズは、1つまたは複数の拡張規則、類義語規則、用語オプション化規則、または他の規則を使用することによって拡張され得、識別されたトリガフレーズおよび関連するトリガフレーズの他の言語への変換を含むように拡張され得る。
受信した情報を誘導するステップはまた、少なくとも、アプリケーション、識別されたトリガフレーズ、識別されたトリガフレーズに少なくとも基づいて判定された1つまたは複数の追加のトリガフレーズを指定する新たなインテントを生成するために、受信した情報を、コンピューティングデバイス102から受信される文法フォーマットから、インテントのためのフォーマットへ変換するステップを含み得る。いくつかの事例では、受信した情報を変換するステップはまた、新たなインテントを生成するために、受信した情報の文法フォーマットのような第1のフォーマットから、識別されたトリガフレーズに少なくとも基づいて判定される1つまたは複数のトリガフレーズをインテントフォーマットへ変換するステップを含み得る。
少なくとも、アプリケーション、受信した情報において識別されるトリガフレーズ、および1つまたは複数の追加のトリガフレーズを指定する新たなインテントが、文脈インテントデータベースにおいて記憶される(308)。たとえば、図1の誘導エンジン130が、アプリケーション開発者101から受信した文法を、新たなインテントを生成するように誘導することに基づいて、開発者音声アクションサービスシステム100は、文脈インテントデータベース140において新たなインテントを記憶し得る。記憶されたインテントは、少なくとも、識別されたアプリケーション、識別されたトリガフレーズ、および、少なくとも識別されたトリガフレーズに基づいて判定された1つまたは複数のトリガフレーズを指定し得る。文脈インテントデータベース140において記憶された新たなインテントは、他の情報のみならず、インテントがトリガされた場合に、アプリケーションにおいて、または、アプリケーションによって実行されるべきアクティビティ、インテントに関連付けられた1つまたは複数のコンテキスト、トリガフレーズとアプリケーションまたはアクティビティとの間の関係の強度を推定する関係スコアの1つまたは複数の強度、または他の情報を指定し得る。新たなインテントは、ユーザによって提供される将来の音声入力が、記憶されたインテントのうちの1つによって指定されるトリガフレーズへ一致されることを有効にするために、1つまたは複数の他のインテントとともに文脈インテントデータベース140において記憶され得る。一致を検出することに応じて、一致したインテントによって指定されたアクティビティが、一致したインテントによって指定されたアプリケーションにおいて、または、一致したインテントによって指定されたアプリケーションによって実行されるようにするために、一致したインテントがトリガされ得る。
多くの実施が説明された。しかしながら、様々な修正が、本開示の精神および範囲から逸脱することなくなされ得ることが理解されるであろう。たとえば、上記に図示された様々な形式のフローが、順序換えされ、追加され、または削除されたステップとともに使用され得る。したがって、他の実施は、以下の特許請求の範囲内である。
本明細書において議論されたシステムおよび/または方法が、ユーザに関する個人情報を収集し得るか、または、個人情報を活用し得る事例のために、ユーザは、プログラムまたは特徴が、たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、職業、嗜好、または現在位置に関する情報のような個人情報を収集するか否かを制御するための、または、システムおよび/または方法が、よりユーザに関連する動作を実行するか否か、および/または、どのように実行するかを制御するための機会を提供され得る。それに加えて、あるデータは、記憶または使用される前に、1つまたは複数の方式で匿名化され得、これによって、個人的に識別可能な情報が削除されるようになる。たとえば、ユーザのための個人的に識別可能な情報が判定されないように、ユーザの識別情報が匿名化され得るか、または、ユーザの地理的位置が一般化され得、都市、郵便番号、または州レベルのような位置情報が取得され、これによって、ユーザの特定の位置が決定されなくなる。したがって、ユーザは、彼または彼女に関する情報がどのように収集され、使用されるのかについての制御を有し得る。
この明細書において説明された実施形態、および機能的な動作のすべては、デジタル電子回路において、または、この明細書において開示された構成およびその構成的等価物を含むコンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、または、これらの1つまたは複数の組合せにおいて実施され得る。実施形態は、1つまたは複数のコンピュータプログラム製品すなわち、データ処理装置による実行のために、または、データ処理装置の動作を制御するために、コンピュータ読取可能な媒体においてエンコードされたコンピュータプログラム命令の1つまたは複数のモジュールとして実施され得る。コンピュータ読取可能な媒体は、マシン読取可能な記憶デバイス、マシン読取可能な記憶基板、メモリデバイス、マシン読取可能な伝搬信号に影響を与える組成物、またはこれらのうちの1つまたは複数の組合せであり得る。「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、または、マルチプロセッサまたはコンピュータを含む、データを処理するためのすべての装置、デバイス、およびマシンを包含する。装置は、ハードウェアに加えて、問題になっているコンピュータプログラムのための実行環境を生成するコード、たとえば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、または、これらの1つまたは複数の組合せを構築するコードを含み得る。伝搬信号は、たとえば、適切な受信装置へ送信するための情報をエンコードするために生成された、マシン生成電気、光、または電磁信号のような、人工的に生成された信号である。
(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイルされたまたは解釈された言語を含む任意の形式のプログラミング言語で記述され得、スタンドアロンプログラムとして、または、モジュール、構成要素、サブルーチン、または、コンピュータ環境における使用のために適切な他のユニットとして含む任意の形態で展開され得る。コンピュータプログラムは、必ずしも、ファイルシステム内のファイルに対応する必要はない。プログラムは、他のプログラムまたはデータを保持するファイルの一部(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)に、問題となっているプログラムへ特化された単一のファイルに、または、多数の調整されたファイル(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの一部を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのサイトにおいて、または、多数のサイトにわたって分散して配置され、通信ネットワークによって相互接続された1つのコンピュータまたは多数のコンピュータにおいて実行されるように展開され得る。
この明細書において説明された処理および論理フローは、入力されたデータに対する演算を行い、出力を生成することによって機能を実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサによって実行され得る。処理および論理フローはまた、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)のような、専用論理回路によって実行され得、装置もまた、専用論理回路として実施され得る。
コンピュータプログラムの実行のために適切なプロセッサは、例として、汎用マイクロプロセッサと専用マイクロプロセッサとの両方、および、任意の種類のデジタルコンピュータの任意の1つまたは複数のプロセッサを含む。一般に、プロセッサは、読取専用メモリまたはランダムアクセスメモリまたはその両方から、命令およびデータを受信するであろう。
コンピュータの必須の要素は、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリデバイスである。一般に、コンピュータはまた、たとえば磁気ディスク、磁気光ディスク、または光ディスクのように、データを記憶するための1つまたは複数の大容量記憶デバイスを含んでいるか、あるいは、データを記憶するための1つまたは複数の大容量記憶デバイスからデータを受け取るため、または、データを記憶するための1つまたは複数の大容量記憶デバイスへデータを転送するため、またはその両方のために、動作可能に結合され得る。しかしながら、コンピュータは、そのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス、たとえば、いくつか名前を挙げると、タブレットコンピュータ、モバイル電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、全地球測位システム(GPS)受信機のような別のデバイスに埋め込まれ得る。コンピュータプログラム命令およびデータを記憶するために適切なコンピュータ読取可能な媒体は、例によれば、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイスのような半導体メモリデバイスと、たとえば内部ハードディスクまたはリムーバブルディスクのような磁気ディスクと、磁気光ディスクと、CD ROMディスクおよびDVD-ROMディスクとを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足され得るか、または、専用論理回路に組み込まれ得る。
ユーザとのインタラクションを提供するために、実施形態は、情報をユーザへ表示するための、たとえばCRT(陰極放電管)またはLCD(液晶ディスプレイ)モニタのようなディスプレイデバイスと、ユーザがコンピュータへ入力を提供し得る、キーボードと、たとえばマウスまたはトラックボールのようなポインティングデバイスを有するコンピュータにおいて実施され得る。他の種類のデバイスも同様に、ユーザとのインタラクションを提供するために使用され得、たとえば、ユーザへ提供されるフィードバックは、たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバックのような任意の形態の知覚的フィードバックであり得、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信され得る。
実施形態は、たとえばデータサーバとしてバックエンド構成要素を含む、または、たとえばアプリケーションサーバのようなミドルウェア構成要素を含む、または、たとえばユーザが実施とインタラクトし得るグラフィックユーザインターフェースまたはWebブラウザを有するクライアントコンピュータのようなフロンドエンド構成要素を含むコンピューティングシステム、または、1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の任意の組合せにおいて実施され得る。システムの構成要素は、たとえば通信ネットワークのような、デジタルデータ通信の任意の形式または媒体によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)と、たとえばインターネットのような広域ネットワーク(「WAN」)とを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、一般に、互いに離れており、典型的には、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、おのおののコンピュータにおいて実行し、互いにクライアント-サーバ関係を有している、コンピュータプログラムによって生じる。
この明細書は、多くの詳細を含んでいるが、これらは、本開示または特許請求される範囲に関する限定としてではなく、特定の実施形態に特有の特徴の説明として解釈されるべきである。個別の実施形態のコンテキストにおいてこの明細書において説明されるいくつかの特徴はまた、単一の実施形態における組合せにおいても実施され得る。逆に、単一の実施形態のコンテキストにおいて説明される様々な特徴はまた、多数の実施形態において個別に、または、任意の適切な部分組合せにおいて実施され得る。さらに、特徴は、いくつかの実施形態において動作するものとして上記で説明され、また、そのように最初に特許請求もされているが、特許請求された組合せからの1つまたは複数の特徴は、いくつかの場合において、これら組合せから削除され得、特許請求された組合せは、部分組合せ、または、部分組合せの変形へ向けられ得る。
同様に、動作は、特定の順序で図面に描写されているが、これは、所望される結果を達成するために、このような動作が、図示された特定の順序または連続順で実行されることも、または、例示されたすべての動作が実行されることも、必要であるとは理解されるべきではない。いくつかの状況では、マルチタスクおよび並列処理が有利であり得る。さらに、上記で説明された実施形態における様々なシステム構成要素の分離は、すべての実施形態において、そのような分離を必要とするものとして理解されるべきではなく、説明されたプログラム構成要素およびシステムは一般に、単一のソフトウェア製品へともに統合され得るか、または、多数のソフトウェア製品へパッケージ化され得ることが理解されるべきである。
HTMLファイルが言及される各事例では、他のファイルタイプまたはフォーマットが、代用され得る。たとえば、HTMLファイルは、XML、JSON、プレーンテキスト、または他のタイプのファイルと交換され得る。さらに、テーブルまたはハッシュテーブルが言及される場合、(スプレッドシート、リレーショナルデータベース、または構造化されたファイルのような)他のデータ構造も使用され得る。
したがって、特定の実施形態が説明された。他の実施形態は、以下の特許請求の範囲内である。たとえば、特許請求の範囲に詳述されたアクションは、異なる順序で実行され得、さらに、所望される結果を達成し得る。
100 開発者音声アクションサービスシステム
101 アプリケーション開発者
102 コンピューティングデバイス
105 ネットワーク
110 取得エンジン
120 検証エンジン
125 検証基準
130 文法誘導エンジン
135 誘導規則
140 文脈インテントデータベース
200 音声アクションサービスシステム
201 ユーザ
202 クライアントデバイス
204 オーディオデータ
205 ネットワーク
210 音声認識エンジン
220 マッチャ
230 明確化エンジン
235 ユーザパーソナル化データベース
240 文脈インテントデータベース
245 OSインテントデータベース
250 実行エンジン

Claims (14)

  1. 音声アクションサービスシステムによって、ユーザのコンピューティングデバイスにおいて提供される発話を受信するステップであって、前記発話は音声コマンドトリガフレーズを含む、ステップと、
    前記音声アクションサービスシステムによって、前記音声コマンドトリガフレーズに関連するインテントを判定するために前記発話を処理するステップと、
    前記音声アクションサービスシステムによって、各々が前記インテントを満足することができる少なくとも第1のアプリケーションおよび第2のアプリケーションを識別するステップであって、少なくとも前記第1のアプリケーションおよび前記第2のアプリケーションを識別するステップは、少なくとも前記第1のアプリケーションおよび前記第2のアプリケーションが1つまたは複数のデータベース中の前記インテントに関連していると判定するステップに基づく、ステップと、
    前記音声アクションサービスシステムによって、前記第2のアプリケーションよりも前記第1のアプリケーションを選択するステップであって、前記第2のアプリケーションよりも前記第1のアプリケーションを選択するステップは、前記ユーザおよび他のユーザによる前記第1のアプリケーションの最近の使用状況に少なくとも部分的に基づく、ステップと、
    前記音声アクションサービスシステムによって、前記ユーザの前記コンピューティングデバイスに、前記発話に応じて、前記選択した第1のアプリケーションの指示を提供するステップと
    を含む、コンピュータ実施方法。
  2. 前記ユーザによる前記第1のアプリケーションの最近の使用状況に少なくとも部分的に基づいて、前記第2のアプリケーションよりも前記第1のアプリケーションを選択するステップは、前記第1のアプリケーションが、前記ユーザによって、前記音声コマンドトリガフレーズに応じて、最近選択されていたと判定するステップを含む、請求項1に記載のコンピュータ実施方法。
  3. 前記第2のアプリケーションよりも前記第1のアプリケーションを選択するステップはさらに、前記第1のアプリケーションと前記音声コマンドトリガフレーズまたは前記インテントのうちの少なくとも1つとの間の関係スコアの強度に少なくとも部分的に基づく、請求項1に記載のコンピュータ実施方法。
  4. 前記第2のアプリケーションよりも前記第1のアプリケーションを選択するステップはさらに、前記発話を受信した際に前記ユーザの前記コンピューティングデバイス上で前記第1のアプリケーションが実行されていることに少なくとも部分的に基づく、請求項1に記載のコンピュータ実施方法。
  5. 前記選択した第1のアプリケーションの前記指示を提供するステップは、前記選択した第1のアプリケーションの聴覚的指示を提供するステップを含む、請求項1に記載のコンピュータ実施方法。
  6. 前記音声アクションサービスシステムによって、前記ユーザの前記コンピューティングデバイスにおいて追加の発話を受信するステップであって、前記追加の発話は前記選択した第1のアプリケーションの確認を含む、ステップと、
    前記追加の発話を受信するステップに応じて、前記インテントを満足するために前記第1のアプリケーションを実行するステップと
    をさらに含む、請求項1に記載のコンピュータ実施方法。
  7. 前記インテントを判定するために前記発話を処理するステップは、
    前記音声アクションサービスシステムによって、前記発話のトランスクリプションを取得するために前記発話に対して音声認識を行うステップと、
    前記音声アクションサービスシステムによって、前記トランスクリプションの少なくとも一部が前記音声コマンドトリガフレーズを含むとともに前記音声コマンドトリガフレーズが前記インテントと一致していると判定するステップと
    を含む、請求項1に記載のコンピュータ実施方法。
  8. 少なくとも1つのプロセッサと、
    命令を含む少なくとも1つのメモリとを含み、前記命令は、実行されると、前記少なくとも1つのプロセッサに、
    ユーザのコンピューティングデバイスにおいて提供される発話を受信することであって、前記発話は音声コマンドトリガフレーズを含む、ことと、
    前記発話が前記音声コマンドトリガフレーズを含んでいると判定するために前記発話を処理することと、
    少なくとも第1のアプリケーションおよび第2のアプリケーションを識別することであって、少なくとも前記第1のアプリケーションおよび前記第2のアプリケーションを識別することは、少なくとも前記第1のアプリケーションおよび前記第2のアプリケーションが1つまたは複数のデータベース中の前記音声コマンドトリガフレーズにマッピングされていると判定することに基づく、ことと、
    前記第2のアプリケーションよりも前記第1のアプリケーションを選択することであって、前記第2のアプリケーションよりも前記第1のアプリケーションを選択することは、前記ユーザおよび他のユーザによる前記第1のアプリケーションの最近の使用状況に少なくとも部分的に基づく、ことと、
    前記ユーザの前記コンピューティングデバイスに、前記発話に応じて、前記選択した第1のアプリケーションの指示を提供することと
    をさせる、システム。
  9. 前記ユーザによる前記第1のアプリケーションの最近の使用状況に少なくとも部分的に基づいて、前記第2のアプリケーションよりも前記第1のアプリケーションを選択するための前記命令は、前記第1のアプリケーションが、前記ユーザによって、前記音声コマンドトリガフレーズに応じて、最近選択されていたと判定するための命令を含む、請求項8に記載のシステム。
  10. 前記第2のアプリケーションよりも前記第1のアプリケーションを選択するための前記命令は、前記第1のアプリケーションと前記音声コマンドトリガフレーズとの間の関係スコアの強度に少なくとも部分的に基づいて、前記第2のアプリケーションよりも前記第1のアプリケーションを選択するための命令をさらに含む、請求項8に記載のシステム。
  11. 前記第2のアプリケーションよりも前記第1のアプリケーションを選択するための前記命令は、前記発話を受信した際に前記ユーザの前記コンピューティングデバイス上で前記第1のアプリケーションが実行されていることに少なくとも部分的に基づいて、前記第2のアプリケーションよりも前記第1のアプリケーションを選択するための命令をさらに含む、請求項8に記載のシステム。
  12. 前記選択した第1のアプリケーションの前記指示を提供するための前記命令は、前記選択した第1のアプリケーションの聴覚的指示を提供するための命令をさらに含む、請求項8に記載のシステム。
  13. 前記ユーザの前記コンピューティングデバイスにおいて追加の発話を受信することであって、前記追加の発話は前記選択した第1のアプリケーションの確認を含む、ことと、
    前記追加の発話を受信することに応じて、前記第1のアプリケーションを実行することと
    をするための命令をさらに含む、請求項8に記載のシステム。
  14. 命令を含むコンピュータ可読記憶媒体であって、前記命令は、実行されると、少なくとも1つのプロセッサに、
    ユーザのコンピューティングデバイスにおいて提供される発話を受信することであって、前記発話は音声コマンドトリガフレーズを含む、ことと、
    前記音声コマンドトリガフレーズに関連するインテントを判定するために前記発話を処理することと、
    各々が前記インテントを満足することができる少なくとも第1のアプリケーションおよび第2のアプリケーションを識別することであって、少なくとも前記第1のアプリケーションおよび前記第2のアプリケーションを識別することは、少なくとも前記第1のアプリケーションおよび前記第2のアプリケーションが1つまたは複数のデータベース中の前記インテントに関連していると判定することに基づく、ことと、
    前記第2のアプリケーションよりも前記第1のアプリケーションを選択することであって、前記第2のアプリケーションよりも前記第1のアプリケーションを選択することは、前記ユーザおよび他のユーザによる前記第1のアプリケーションの最近の使用状況に少なくとも部分的に基づく、ことと、
    前記ユーザの前記コンピューティングデバイスに、前記発話に応じて、前記選択した第1のアプリケーションの指示を提供することと
    をさせる、コンピュータ可読記憶媒体。
JP2019101151A 2015-04-22 2019-05-30 開発者音声アクションシステム Active JP6873188B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/693,330 US9472196B1 (en) 2015-04-22 2015-04-22 Developer voice actions system
US14/693,330 2015-04-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2017550871A Division JP6538188B2 (ja) 2015-04-22 2016-04-12 開発者音声アクションシステム

Publications (2)

Publication Number Publication Date
JP2019144598A JP2019144598A (ja) 2019-08-29
JP6873188B2 true JP6873188B2 (ja) 2021-05-19

Family

ID=55953380

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017550871A Active JP6538188B2 (ja) 2015-04-22 2016-04-12 開発者音声アクションシステム
JP2019101151A Active JP6873188B2 (ja) 2015-04-22 2019-05-30 開発者音声アクションシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017550871A Active JP6538188B2 (ja) 2015-04-22 2016-04-12 開発者音声アクションシステム

Country Status (8)

Country Link
US (4) US9472196B1 (ja)
EP (1) EP3286633B1 (ja)
JP (2) JP6538188B2 (ja)
KR (2) KR102173100B1 (ja)
CN (2) CN107408385B (ja)
DE (1) DE112016001852T5 (ja)
GB (1) GB2553234B (ja)
WO (1) WO2016171956A1 (ja)

Families Citing this family (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
EP3809407A1 (en) 2013-02-07 2021-04-21 Apple Inc. Voice trigger for a digital assistant
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9966065B2 (en) 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
JP6334815B2 (ja) * 2015-03-20 2018-05-30 株式会社東芝 学習装置、方法、プログラムおよび音声対話システム
US9472196B1 (en) 2015-04-22 2016-10-18 Google Inc. Developer voice actions system
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
GB2544543B (en) * 2015-11-20 2020-10-07 Zuma Array Ltd Lighting and sound system
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
JP6620934B2 (ja) * 2016-01-29 2019-12-18 パナソニックIpマネジメント株式会社 翻訳支援方法、翻訳支援装置、翻訳装置及び翻訳支援プログラム
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9772817B2 (en) 2016-02-22 2017-09-26 Sonos, Inc. Room-corrected voice detection
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10509626B2 (en) 2016-02-22 2019-12-17 Sonos, Inc Handling of loss of pairing between networked devices
US9922648B2 (en) * 2016-03-01 2018-03-20 Google Llc Developer voice actions system
US10049670B2 (en) * 2016-06-06 2018-08-14 Google Llc Providing voice action discoverability example for trigger term
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
AU2017100670C4 (en) 2016-06-12 2019-11-21 Apple Inc. User interfaces for retrieving contextually relevant media content
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10403275B1 (en) * 2016-07-28 2019-09-03 Josh.ai LLC Speech control for complex commands
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
WO2018085760A1 (en) 2016-11-04 2018-05-11 Semantic Machines, Inc. Data collection for a new conversational dialogue system
WO2018148441A1 (en) 2017-02-08 2018-08-16 Semantic Machines, Inc. Natural language content generator
US11069340B2 (en) 2017-02-23 2021-07-20 Microsoft Technology Licensing, Llc Flexible and expandable dialogue system
WO2018156978A1 (en) 2017-02-23 2018-08-30 Semantic Machines, Inc. Expandable dialogue system
CN116991971A (zh) * 2017-02-23 2023-11-03 微软技术许可有限责任公司 可扩展对话系统
US10762892B2 (en) 2017-02-23 2020-09-01 Semantic Machines, Inc. Rapid deployment of dialogue system
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
CN109102802B (zh) * 2017-06-21 2023-10-17 三星电子株式会社 用于处理用户话语的系统
KR102007478B1 (ko) * 2017-06-28 2019-08-05 크리스토퍼 재현 윤 특정 조건에서 음성인식을 이용한 어플리케이션 제어 장치 및 방법
CN107316643B (zh) * 2017-07-04 2021-08-17 科大讯飞股份有限公司 语音交互方法及装置
US20190027149A1 (en) * 2017-07-20 2019-01-24 Nuance Communications, Inc. Documentation tag processing system
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
KR102411766B1 (ko) * 2017-08-25 2022-06-22 삼성전자주식회사 음성 인식 서비스를 활성화하는 방법 및 이를 구현한 전자 장치
US11132499B2 (en) 2017-08-28 2021-09-28 Microsoft Technology Licensing, Llc Robust expandable dialogue system
US10311874B2 (en) * 2017-09-01 2019-06-04 4Q Catalyst, LLC Methods and systems for voice-based programming of a voice-controlled device
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
CN107886948A (zh) 2017-11-16 2018-04-06 百度在线网络技术(北京)有限公司 语音交互方法及装置,终端,服务器及可读存储介质
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
US10878808B1 (en) * 2018-01-09 2020-12-29 Amazon Technologies, Inc. Speech processing dialog management
US11343614B2 (en) 2018-01-31 2022-05-24 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10936822B2 (en) * 2018-05-04 2021-03-02 Dell Products L.P. Linguistic semantic analysis alert correlation system
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) * 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
KR20190133100A (ko) * 2018-05-22 2019-12-02 삼성전자주식회사 어플리케이션을 이용하여 음성 입력에 대한 응답을 출력하는 전자 장치 및 그 동작 방법
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10811009B2 (en) * 2018-06-27 2020-10-20 International Business Machines Corporation Automatic skill routing in conversational computing frameworks
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
KR102620705B1 (ko) 2018-10-11 2024-01-04 삼성전자주식회사 전자 장치 및 그의 동작 방법
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11527265B2 (en) 2018-11-02 2022-12-13 BriefCam Ltd. Method and system for automatic object-aware video or audio redaction
KR20200055202A (ko) * 2018-11-12 2020-05-21 삼성전자주식회사 제스처에 의해 트리거 되는 음성 인식 서비스를 제공하는 전자 장치 및 그 동작 방법
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US20220013119A1 (en) * 2019-02-13 2022-01-13 Sony Group Corporation Information processing device and information processing method
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US11184298B2 (en) * 2019-08-28 2021-11-23 International Business Machines Corporation Methods and systems for improving chatbot intent training by correlating user feedback provided subsequent to a failed response to an initial user intent
CN110718221A (zh) * 2019-10-08 2020-01-21 百度在线网络技术(北京)有限公司 语音技能控制方法、语音设备、客户端以及服务器
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
CN110808051A (zh) * 2019-10-30 2020-02-18 腾讯科技(深圳)有限公司 一种技能选取的方法以及相关装置
US20210158803A1 (en) * 2019-11-21 2021-05-27 Lenovo (Singapore) Pte. Ltd. Determining wake word strength
US11450325B1 (en) 2019-12-12 2022-09-20 Amazon Technologies, Inc. Natural language processing
US11482214B1 (en) * 2019-12-12 2022-10-25 Amazon Technologies, Inc. Hypothesis generation and selection for inverse text normalization for search
US11380308B1 (en) 2019-12-13 2022-07-05 Amazon Technologies, Inc. Natural language processing
US11551681B1 (en) * 2019-12-13 2023-01-10 Amazon Technologies, Inc. Natural language processing routing
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
CN111240478B (zh) * 2020-01-07 2023-10-13 百度在线网络技术(北京)有限公司 设备响应的评测方法、装置、设备及存储介质
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11089440B1 (en) 2020-03-02 2021-08-10 International Business Machines Corporation Management of geographically and temporarily distributed services
WO2021216164A1 (en) * 2020-04-21 2021-10-28 Google Llc Hierarchical context specific actions from ambient speech
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11501762B2 (en) * 2020-07-29 2022-11-15 Microsoft Technology Licensing, Llc Compounding corrective actions and learning in mixed mode dictation
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
CN112786040A (zh) * 2020-10-22 2021-05-11 青岛经济技术开发区海尔热水器有限公司 应用于智能家电设备的语音控制方法、装置及设备
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection
US11862175B2 (en) * 2021-01-28 2024-01-02 Verizon Patent And Licensing Inc. User identification and authentication
US11908452B1 (en) * 2021-05-20 2024-02-20 Amazon Technologies, Inc. Alternative input representations for speech inputs
US20220406301A1 (en) * 2021-06-16 2022-12-22 Google Llc Passive disambiguation of assistant commands

Family Cites Families (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2119397C (en) 1993-03-19 2007-10-02 Kim E.A. Silverman Improved automated voice synthesis employing enhanced prosodic treatment of text, spelling of text and rate of annunciation
US6493743B2 (en) * 1997-01-28 2002-12-10 Casio Computer Co., Ltd. PDA workspace interface using application icons for downloading remote user file
EP0980574B1 (en) 1997-10-20 2004-03-10 Koninklijke Philips Electronics N.V. Pattern recognition enrolment in a distributed system
US6604075B1 (en) * 1999-05-20 2003-08-05 Lucent Technologies Inc. Web-based voice dialog interface
US7069220B2 (en) * 1999-08-13 2006-06-27 International Business Machines Corporation Method for determining and maintaining dialog focus in a conversational speech system
US6748361B1 (en) 1999-12-14 2004-06-08 International Business Machines Corporation Personal speech assistant supporting a dialog manager
US20020072914A1 (en) * 2000-12-08 2002-06-13 Hiyan Alshawi Method and apparatus for creation and user-customization of speech-enabled services
JP4155383B2 (ja) 2001-03-05 2008-09-24 アルパイン株式会社 音声認識機器操作装置
US7398209B2 (en) 2002-06-03 2008-07-08 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7502737B2 (en) 2002-06-24 2009-03-10 Intel Corporation Multi-pass recognition of spoken dialogue
JP4107093B2 (ja) 2003-01-30 2008-06-25 株式会社日立製作所 対話型端末装置及び対話アプリケーション提供方法
US7013282B2 (en) 2003-04-18 2006-03-14 At&T Corp. System and method for text-to-speech processing in a portable device
JP2005017974A (ja) * 2003-06-30 2005-01-20 Noritz Corp 温水システム
US7363228B2 (en) 2003-09-18 2008-04-22 Interactive Intelligence, Inc. Speech recognition system and method
JP4377718B2 (ja) * 2004-02-27 2009-12-02 富士通株式会社 対話制御システム及び方法
US7624018B2 (en) * 2004-03-12 2009-11-24 Microsoft Corporation Speech recognition using categories and speech prefixing
CN100424630C (zh) * 2004-03-26 2008-10-08 宏碁股份有限公司 网页语音接口的操作方法
US20060116880A1 (en) * 2004-09-03 2006-06-01 Thomas Gober Voice-driven user interface
JP4405370B2 (ja) 2004-11-15 2010-01-27 本田技研工業株式会社 車両用機器制御装置
US7653546B2 (en) * 2004-11-18 2010-01-26 Nuance Communications, Inc. Method and system for efficient voice-based programming
JP3984988B2 (ja) 2004-11-26 2007-10-03 キヤノン株式会社 ユーザインタフェース設計装置およびその制御方法
WO2006077942A1 (ja) * 2005-01-19 2006-07-27 Brother Kogyo Kabushiki Kaisha 無線タグ情報管理システム及び読取装置、タグラベル作成装置、無線タグ回路素子カートリッジ、無線タグ
JP4628803B2 (ja) 2005-01-25 2011-02-09 本田技研工業株式会社 音声認識型機器制御装置
US7640160B2 (en) 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7949529B2 (en) 2005-08-29 2011-05-24 Voicebox Technologies, Inc. Mobile systems and methods of supporting natural language human-machine interactions
US9703892B2 (en) * 2005-09-14 2017-07-11 Millennial Media Llc Predictive text completion for a mobile communication facility
JP4260788B2 (ja) 2005-10-20 2009-04-30 本田技研工業株式会社 音声認識機器制御装置
JP4878471B2 (ja) 2005-11-02 2012-02-15 キヤノン株式会社 情報処理装置およびその制御方法
JP2008076811A (ja) 2006-09-22 2008-04-03 Honda Motor Co Ltd 音声認識装置、音声認識方法及び音声認識プログラム
US7840409B2 (en) 2007-02-27 2010-11-23 Nuance Communications, Inc. Ordering recognition results produced by an automatic speech recognition engine for a multimodal application
US7877258B1 (en) 2007-03-29 2011-01-25 Google Inc. Representing n-gram language models for compact storage and fast retrieval
US8285329B1 (en) * 2007-04-02 2012-10-09 Sprint Communications Company L.P. Mobile device-based control of smart card operation
US8396713B2 (en) 2007-04-30 2013-03-12 Nuance Communications, Inc. Method and system for using a statistical language model and an action classifier in parallel with grammar for better handling of out-of-grammar utterances
US8028042B2 (en) * 2007-06-15 2011-09-27 Amazon Technologies, Inc. System and method of managing media content
US8239239B1 (en) * 2007-07-23 2012-08-07 Adobe Systems Incorporated Methods and systems for dynamic workflow access based on user action
US8165886B1 (en) * 2007-10-04 2012-04-24 Great Northern Research LLC Speech interface system and method for control and interaction with applications on a computing system
WO2009055819A1 (en) * 2007-10-26 2009-04-30 Honda Motor Co., Ltd. Improving free-speech command classification for car navigation system
US9241063B2 (en) * 2007-11-01 2016-01-19 Google Inc. Methods for responding to an email message by call from a mobile device
US8219407B1 (en) * 2007-12-27 2012-07-10 Great Northern Research, LLC Method for processing the output of a speech recognizer
US8370160B2 (en) 2007-12-31 2013-02-05 Motorola Mobility Llc Methods and apparatus for implementing distributed multi-modal applications
US20090171663A1 (en) 2008-01-02 2009-07-02 International Business Machines Corporation Reducing a size of a compiled speech recognition grammar
US7917368B2 (en) 2008-02-25 2011-03-29 Mitsubishi Electric Research Laboratories, Inc. Method for interacting with users of speech recognition systems
US8418076B2 (en) * 2008-05-15 2013-04-09 Microsoft Corporation Managing inputs from a plurality of user input device actuators
KR101545582B1 (ko) * 2008-10-29 2015-08-19 엘지전자 주식회사 단말기 및 그 제어 방법
US8479051B2 (en) * 2009-01-23 2013-07-02 Microsoft Corporation System and method for customized error reporting
US9755842B2 (en) * 2009-01-28 2017-09-05 Headwater Research Llc Managing service user discovery and service launch object placement on a device
TWI420433B (zh) * 2009-02-27 2013-12-21 Ind Tech Res Inst 語音互動系統與方法
US9684741B2 (en) 2009-06-05 2017-06-20 Microsoft Technology Licensing, Llc Presenting search results according to query domains
US10540976B2 (en) * 2009-06-05 2020-01-21 Apple Inc. Contextual voice commands
US20130219333A1 (en) * 2009-06-12 2013-08-22 Adobe Systems Incorporated Extensible Framework for Facilitating Interaction with Devices
US9111538B2 (en) 2009-09-30 2015-08-18 T-Mobile Usa, Inc. Genius button secondary commands
US20110099507A1 (en) 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US8868427B2 (en) * 2009-12-11 2014-10-21 General Motors Llc System and method for updating information in electronic calendars
EP2531999A4 (en) * 2010-02-05 2017-03-29 Nuance Communications, Inc. Language context sensitive command system and method
US8515734B2 (en) 2010-02-08 2013-08-20 Adacel Systems, Inc. Integrated language model, related systems and methods
US8694313B2 (en) * 2010-05-19 2014-04-08 Google Inc. Disambiguation of contact information using historical data
KR101699720B1 (ko) * 2010-08-03 2017-01-26 삼성전자주식회사 음성명령 인식 장치 및 음성명령 인식 방법
US8731939B1 (en) 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
US8682661B1 (en) 2010-08-31 2014-03-25 Google Inc. Robust speech recognition
US8719727B2 (en) * 2010-12-15 2014-05-06 Microsoft Corporation Managing an immersive environment
KR101828273B1 (ko) * 2011-01-04 2018-02-14 삼성전자주식회사 결합기반의 음성명령 인식 장치 및 그 방법
US8929591B2 (en) * 2011-03-08 2015-01-06 Bank Of America Corporation Providing information associated with an identified representation of an object
US9104440B2 (en) * 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8818994B2 (en) * 2011-06-27 2014-08-26 Bmc Software, Inc. Mobile service context
US8707289B2 (en) * 2011-07-20 2014-04-22 Google Inc. Multiple application versions
US8997171B2 (en) * 2011-08-19 2015-03-31 Microsoft Technology Licensing, Llc Policy based application suspension and termination
US8806369B2 (en) * 2011-08-26 2014-08-12 Apple Inc. Device, method, and graphical user interface for managing and interacting with concurrently open software applications
US8762156B2 (en) * 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
CN102520788B (zh) * 2011-11-16 2015-01-21 歌尔声学股份有限公司 一种语音识别控制方法
CN103999152A (zh) 2011-12-29 2014-08-20 英特尔公司 利用动态语法元素集的语音识别
US9418658B1 (en) * 2012-02-08 2016-08-16 Amazon Technologies, Inc. Configuration of voice controlled assistant
US8902182B2 (en) * 2012-02-24 2014-12-02 Blackberry Limited Electronic device and method of controlling a display
US20130238326A1 (en) * 2012-03-08 2013-09-12 Lg Electronics Inc. Apparatus and method for multiple device voice control
US9503683B2 (en) * 2012-03-27 2016-11-22 Google Inc. Providing users access to applications during video communications
US20140365884A1 (en) * 2012-03-30 2014-12-11 Google Inc. Voice command recording and playback
US8881269B2 (en) * 2012-03-31 2014-11-04 Apple Inc. Device, method, and graphical user interface for integrating recognition of handwriting gestures with a screen reader
JP6012237B2 (ja) * 2012-04-18 2016-10-25 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
KR101944414B1 (ko) * 2012-06-04 2019-01-31 삼성전자주식회사 음성 인식 서비스를 제공하기 위한 방법 및 그 전자 장치
US9317709B2 (en) * 2012-06-26 2016-04-19 Google Inc. System and method for detecting and integrating with native applications enabled for web-based storage
US8532675B1 (en) * 2012-06-27 2013-09-10 Blackberry Limited Mobile communication device user interface for manipulation of data items in a physical space
US8965759B2 (en) * 2012-09-01 2015-02-24 Sarah Hershenhorn Digital voice memo transfer and processing
US20150088523A1 (en) * 2012-09-10 2015-03-26 Google Inc. Systems and Methods for Designing Voice Applications
CN103674012B (zh) * 2012-09-21 2017-09-29 高德软件有限公司 语音定制方法及其装置、语音识别方法及其装置
KR101407192B1 (ko) * 2012-09-28 2014-06-16 주식회사 팬택 사운드 출력을 제어하는 휴대 단말 및 사운드 출력 제어 방법
KR20140089861A (ko) * 2013-01-07 2014-07-16 삼성전자주식회사 디스플레이 장치 및 그의 제어 방법
US10102845B1 (en) * 2013-02-25 2018-10-16 Amazon Technologies, Inc. Interpreting nonstandard terms in language processing using text-based communications
US9172747B2 (en) * 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US9454957B1 (en) * 2013-03-05 2016-09-27 Amazon Technologies, Inc. Named entity resolution in spoken language processing
JP6236805B2 (ja) * 2013-03-05 2017-11-29 日本電気株式会社 発話コマンド認識システム
US9530160B2 (en) * 2013-03-14 2016-12-27 Nanigans, Inc. System and method for an affinity capture, user feedback and affinity analysis
WO2014157903A1 (en) * 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for displaying service page for executing application
US9875494B2 (en) * 2013-04-16 2018-01-23 Sri International Using intents to analyze and personalize a user's dialog experience with a virtual personal assistant
US20140324856A1 (en) * 2013-04-27 2014-10-30 Microsoft Corporation Application discoverability
US9292254B2 (en) * 2013-05-15 2016-03-22 Maluuba Inc. Interactive user interface for an intelligent assistant
JP2015011170A (ja) 2013-06-28 2015-01-19 株式会社ATR−Trek ローカルな音声認識を行なう音声認識クライアント装置
US9443507B2 (en) * 2013-07-15 2016-09-13 GM Global Technology Operations LLC System and method for controlling a speech recognition system
US20150024721A1 (en) * 2013-07-22 2015-01-22 Nvidia Corporation Automatically connecting/disconnecting an incoming phone call to a data processing device based on determining intent of a user thereof to respond to the incoming phone call
US9343068B2 (en) 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
CN103794214A (zh) * 2014-03-07 2014-05-14 联想(北京)有限公司 一种信息处理方法、装置和电子设备
US10552852B1 (en) * 2014-03-11 2020-02-04 Vmware, Inc. Service monitor for monitoring and tracking the performance of applications running on different mobile devices
US10249296B1 (en) * 2014-05-27 2019-04-02 Amazon Technologies, Inc. Application discovery and selection in language-based systems
US10592080B2 (en) * 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US9548066B2 (en) * 2014-08-11 2017-01-17 Amazon Technologies, Inc. Voice application architecture
US20160103793A1 (en) * 2014-10-14 2016-04-14 Microsoft Technology Licensing, Llc Heterogeneous Application Tabs
US9116768B1 (en) * 2014-11-20 2015-08-25 Symantec Corporation Systems and methods for deploying applications included in application containers
US9812126B2 (en) * 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
US10248192B2 (en) * 2014-12-03 2019-04-02 Microsoft Technology Licensing, Llc Gaze target application launcher
US10460720B2 (en) * 2015-01-03 2019-10-29 Microsoft Technology Licensing, Llc. Generation of language understanding systems and methods
US9472196B1 (en) 2015-04-22 2016-10-18 Google Inc. Developer voice actions system
US20170075985A1 (en) * 2015-09-16 2017-03-16 Microsoft Technology Licensing, Llc Query transformation for natural language queries
WO2018080162A1 (ko) * 2016-10-27 2018-05-03 삼성전자 주식회사 음성 명령에 기초하여 애플리케이션을 실행하는 방법 및 장치
US11468881B2 (en) * 2019-03-29 2022-10-11 Samsung Electronics Co., Ltd. Method and system for semantic intelligent task learning and adaptive execution
KR20210045241A (ko) * 2019-10-16 2021-04-26 삼성전자주식회사 전자 장치 및 전자 장치의 음성 명령어 공유 방법

Also Published As

Publication number Publication date
US20170186427A1 (en) 2017-06-29
US11657816B2 (en) 2023-05-23
EP3286633A1 (en) 2018-02-28
WO2016171956A1 (en) 2016-10-27
JP2018511831A (ja) 2018-04-26
CN107408385B (zh) 2021-09-21
KR20190122888A (ko) 2019-10-30
GB201715580D0 (en) 2017-11-08
GB2553234A (en) 2018-02-28
KR20170124583A (ko) 2017-11-10
US20210082430A1 (en) 2021-03-18
US20180374480A1 (en) 2018-12-27
KR102038074B1 (ko) 2019-10-29
US10008203B2 (en) 2018-06-26
DE112016001852T5 (de) 2018-06-14
CN107408385A (zh) 2017-11-28
US10839799B2 (en) 2020-11-17
US20160314791A1 (en) 2016-10-27
US9472196B1 (en) 2016-10-18
CN113851120A (zh) 2021-12-28
JP6538188B2 (ja) 2019-07-03
JP2019144598A (ja) 2019-08-29
GB2553234B (en) 2022-08-10
KR102173100B1 (ko) 2020-11-02
EP3286633B1 (en) 2022-07-06

Similar Documents

Publication Publication Date Title
JP6873188B2 (ja) 開発者音声アクションシステム
JP6942841B2 (ja) ダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成
JP6704450B2 (ja) 開発者ボイスアクションシステム
US9026431B1 (en) Semantic parsing with multiple parsers
US11626115B2 (en) Voice to text conversion based on third-party agent content
CN110770736A (zh) 将对话驱动式应用程序导出到数字通信平台
JP2019503526A5 (ja)
KR102438671B1 (ko) 텍스트 독립 화자 인식

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201014

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210420

R150 Certificate of patent or registration of utility model

Ref document number: 6873188

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250