JP2024508209A - アシスタントコマンドの実現についてのある特定の論拠づけの提供 - Google Patents

アシスタントコマンドの実現についてのある特定の論拠づけの提供 Download PDF

Info

Publication number
JP2024508209A
JP2024508209A JP2023537164A JP2023537164A JP2024508209A JP 2024508209 A JP2024508209 A JP 2024508209A JP 2023537164 A JP2023537164 A JP 2023537164A JP 2023537164 A JP2023537164 A JP 2023537164A JP 2024508209 A JP2024508209 A JP 2024508209A
Authority
JP
Japan
Prior art keywords
assistant
automated assistant
realization
command
certain
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.)
Pending
Application number
JP2023537164A
Other languages
English (en)
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
Priority claimed from US17/532,759 external-priority patent/US20230031461A1/en
Application filed by Google LLC filed Critical Google LLC
Publication of JP2024508209A publication Critical patent/JP2024508209A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

ここに説明する実装例は、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現および/または別の実現を、実行したか(または実行しなかったか)について、ある特定の論拠づけを行うことに関する。たとえば、実装例は、アシスタントコマンドを含むユーザ入力を受信し、ユーザ入力を処理して、アシスタントコマンドのある特定の実現または別の実現を実行するのに利用するデータを決定し、自動アシスタントに、アシスタントコマンドのある特定の実現または別の実現を実行するデータを利用させることができる。ある特定の実装例では、ある特定の論拠づけを含む出力が、ユーザへの提示用に、ある特定の論拠づけを要求する追加のユーザ入力に応じて提供可能である。ある特定の実装例では、選択可能要素が、視覚的に描画可能であり、ユーザによって選択されると、ある特定の論拠づけを含む出力が、ユーザへの提示のために提供可能である。

Description

人は、ここで「自動アシスタント」(「チャットボット」、「対話式パーソナルアシスタント」、「自動制御パーソナルアシスタント」、「パーソナル音声アシスタント」、「会話エージェント」などとも称する)と称する対話式ソフトウェアアプリケーションにて、人とコンピュータとの対話に関わることがある。たとえば、人(自動アシスタントと対話するときには、「ユーザ」とも称し得る)は、発話された自然言語入力(すなわち、発話(spoken utterance))を、自動アシスタントに提供することがあり、発話は、場合によりテキストに変換されてから処理され、かつ/または、テキストでの(たとえば、キー入力された)自然言語入力またはタッチ入力を提供することによる。一般に、自動アシスタントは、応答ユーザインターフェース出力(たとえば、聴覚的および/または視覚的ユーザインターフェース出力)を提供する、スマートネットワーク装置を制御する、および/または他の行動を実行することにより、アシスタントコマンドを含んだ、このようなユーザ入力に応答する。
通例、自動アシスタントは、アシスタントコマンドを含むこのようなユーザ入力の解釈および応答について、コンポーネントのパイプラインに依存している。たとえば、自動音声認識(ASR)エンジンは、ユーザの発話に対応したオーディオデータを処理し、発話の文字起こし(すなわち、一連の用語および/またはトークン)などのASR出力を生成することができる。さらに、自然言語解釈(NLU)エンジンは、ASR出力を処理して、発話を提供する際のユーザの意図や場合によってはその意図と関連づけられたパラメータのスロット値などの、NLU出力を生成することができる。さらに、実現エンジン(fulfillment engine)が、NLU出力を処理し、発話に対する応答コンテンツを取得するための構造化リクエストなどの実現出力(fulfillment output)を生成し、かつ/または、発話に応答する行動を実行するのに、利用可能である。
ある場合には、ユーザが、アシスタントコマンドを含むユーザ入力の受信に応じて自動アシスタントがなぜ特定の応答コンテンツを提供するのか、かつ/または特定の行動を実行するのかを理解できないこともある。こうした誤解は、自動アシスタントが、具体的な応答コンテンツを提供しなかったり、かつ/または、このようなユーザのユーザ入力提供の意図どおりの特定の行動を実行しないと、悪化することがある。たとえば、所与のユーザが、自動アシスタントに対して音楽を再生することを要求する自動アシスタントに向けられたユーザ入力を提供するものの、自動アシスタントが、望ましくないソフトウェアアプリケーションを用いて音楽の再生を提供したり、ユーザ入力に応じて検索結果を提供したならば、所与のユーザは、なぜ自動アシスタントが音楽を望み通りに再生しないのかについて混乱することがある。結果として、所与のユーザは、同一のユーザ入力または別のユーザ入力の他のインスタンスを含む追加のユーザ入力を提供し、所望のアプリケーションを用いて音楽を再生させることがあり、それにより、所与のユーザと自動アシスタントとの間の人とコンピュータとの対話時間が長くなってしまう。さらに、自動アシスタントが所望のソフトウェアアプリケーションを用いて音楽を再生させていても、所与のユーザは、自動アシスタントについて懸念をもつことがあり得る。これは、自動アシスタントがどのように所望のアプリケーションを用いて音楽を再生可能であるのかわからなかったり、自分のデータのセキュリティについて不安があったりするためである。このため、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行させているのかを所与のユーザが理解するためのメカニズムを提供することは有益である。
ここに開示する実装例は、なぜ自動アシスタントがアシスタントコマンドのある特定の実現および/または別の実現を実行したか(または実行しなかったか)についてのある特定の論拠づけを行うことを対象としている。たとえば、実装例は、アシスタントコマンドを含むユーザ入力を受信し、ユーザ入力を処理して、アシスタントコマンドのある特定の実現または別の実現を実行するのに利用するデータを決定し、自動アシスタントに、アシスタントコマンドのある特定の実現または別の実現を実行するデータを利用させることができる。一部の実装例では、ある特定の論拠づけを含む出力が、ユーザへの提示用に、ある特定の論拠づけを要求する追加のユーザ入力に応じて、提供可能である。一部の実装例では、1つまたは複数の選択可能要素が視覚的に描画可能であり、1つまたは複数の選択可能要素のうちの所与の1つがユーザによって選択されると、ある特定の論拠づけを含む出力は、ユーザへの提示用に提供可能である。
たとえば、クライアントデバイスのユーザが、「ロック音楽を再生して」という発話を提供するものとする。この例では、自動アシスタントは、発話を取り込んだオーディオデータを自動音声認識(ASR)モデルを用いて処理させて、発話に対応するものと予測される音声仮説、発話に対応するものと予測される予測音素などのASR出力、および/または他のASR出力、ならびに、場合によっては、音声仮説、予測音素、および/または他のASR出力の各々と関連づけられたASRメトリックス(たとえば、尤度、所与の音声仮説、または所与の予測音素が、発話に対応することを示す)を生成することができる。さらに、自動アシスタントは、自然言語理解(NLU)モデルを用いてASR出力を処理させて、発話を提供する際のユーザの1つまたは複数の予測意図、1つもしくは複数の予測意図の各々と関連づけられた対応パラメータの1つもしくは複数のスロット値などのNLU出力、ならびに/または他のNLU出力、および場合によっては、意図、スロット値、および/もしくは他のNLU出力の各々と関連づけられたNLUメトリックス(たとえば、尤度、所与の意図、および/または所与のスロット値が、実際の意図、および/または発話を提供する際の所望のスロット値に対応することを示す)を生成することができる。この例では、自動アシスタントは、1つまたは複数のスロット値を推測し得る。これは、音楽意図(music intent)と関連づけられたアーティストパラメータのアーティストスロット値、音楽意図と関連づけられた楽曲パラメータの楽曲スロット値、音楽意図と関連づけられた、ソフトウェアアプリケーションまたはストリーミングサービスパラメータのソフトウェアアプリケーションまたはストリーミングサービススロット値など、ユーザが音楽の特定のジャンル(たとえば、ロック)のみを指定することによる。推測されたスロット値のバリエーションにより、発話の1つまたは複数の解釈がもたらされ得る。様々な実装例にて、自動アシスタントが、クライアント装置のユーザの1つまたは複数のユーザプロファイルにアクセスできるものとすると、自動アシスタントは、1つまたは複数のスロット値を推測するのに、ユーザプロファイルデータを活用することができる。そうでなければ、自動アシスタントは、1つまたは複数のデフォルトスロット値を利用してもよい。
さらに、自動アシスタントは、1つまたは複数の実現規則および/または実現モデルを用いてNLU出力を処理させて、発話を満足することのできる1つまたは複数の実現主体(fulfiller)(たとえば、ソフトウェアアプリケーション、サーバなど)へと送信される1つまたは複数の構造化リクエストなどの実現出力を生成することができる。1つまたは複数の構造化リクエストを送信する際、1つまたは複数の実現主体は、1つまたは複数の実現候補を生成して、1つまたは複数の実現候補を、自動アシスタントへと返送することができる。自動アシスタントは、1つまたは複数の実現候補の受信に応じて、自動アシスタントが、クライアント装置のユーザの1つまたは複数のユーザプロファイルにアクセスできるものと想定した、ユーザプロファイルデータに基づき、1つまたは複数の実現候補の各々と関連づけられた実現メトリックスを生成することができる(たとえば、尤度、1つまたは複数の実現候補のうちの所与の実現候補が、実装時には発話を満足することを示す)。自動アシスタントは、1つまたは複数の実現候補に対して、ASRメトリックス、NLUメトリックス、および/または実現メトリックスに基づいてランクづけして、そのランキングに基づき、ある特定の実現候補を選択することができる。さらに、自動アシスタントは、選択されたある特定の実現候補が、発話を満足するようにする試みにて実装されるようにすることができる。
たとえば、この例では、自動アシスタントが「ロック音楽を再生して」という発話の第1の解釈を決定したことを想定しており、その発話は、音楽意図と関連づけられたアーティストパラメータについて、「アーティスト1」というアーティストスロット値を、音楽意図と関連づけられた楽曲パラメータについて、「楽曲1」という楽曲スロット値を、音楽意図と関連づけられたソフトウェアアプリケーションまたはストリーミングサービスパラメータについて、「アプリケーション1」というソフトウェアアプリケーションまたはストリーミングサービススロット値を有する。さらに、自動アシスタントが「ロック音楽を再生して」という発話の第1の解釈を決定したことを想定しており、その発話は、音楽意図と関連づけられたアーティストパラメータについて、「アーティスト1」というアーティストスロット値を、音楽意図と関連づけられた楽曲パラメータについて、「楽曲1」という楽曲スロット値を、音楽意図と関連づけられたソフトウェアアプリケーションまたはストリーミングサービスパラメータについて、「アプリケーション2」というソフトウェアアプリケーションまたはストリーミングサービススロット値を有する。この実例にて、「アプリケーション1」および「アプリケーション2」は、発話を満足することが可能な1つまたは複数の実現主体とみなし得る。このため、自動アシスタントは、1つまたは複数の構造化リクエストを、「アプリケーション1」および「アプリケーション2」(および場合によっては、発話を満足することが可能な他の実現当事者)へと送信して、1つまたは複数の実現候補を取得することができる。さらに、自動アシスタントは、1つまたは複数の実現候補をランクづけし、ある特定の実現候補を選択して、発話に応じて、ある特定の実現が実行されるようにすることができる。この例では、自動アシスタントが、第1の解釈と関連づけられた実現候補を選択することを、さらに想定している。このため、自動アシスタントは、「アーティスト1」による「楽曲1」が、クライアント装置(または、クライアント装置と通信する追加のクライアント装置)のスピーカを通じて、「アプリケーション1」を用いて、発話のある特定の実現として再生されるようにすることができる。
一部の実装例では、自動アシスタントがある特定の実現を実行させることに続いて、クライアント装置のユーザは、追加のユーザ入力を提供してもよい。追加のユーザ入力は、自動アシスタントが、なぜある特定の実現が実行されたのか、および/または、なぜ別の実現が実行されなかったのかについてのある特定の論拠づけを提供することを要求するものである。それらの実装例の一部の変形例では、ある特定の論拠づけを求めるリクエストは、ある特定の論拠づけを求める一般的なリクエスト(たとえば、「なぜそうした?」)であってもよく、一方、他の実装例では、ある特定の論拠づけを求めるリクエストは、ある特定の論拠を求める具体的なリクエスト(たとえば、「なぜ音楽をアプリケーション1で再生した?」、「なぜアプリケーション2を使わなかった?」、「なぜアーティスト1を選んだ?」など)であってもよい。たとえば、ユーザが、「なぜそうした?」というさらに別の発話を提供することを想定する。この例では、リクエストは、ある特定の論拠づけを求める一般的なリクエストであり、自動アシスタントは、発話の第1の解釈と関連づけられた追加のデータを決定して、一般的なリクエストに応じた出力(たとえば、「あなたは音楽を聴くのにアプリケーション1を最もよく使っており、過去にアーティスト1を聞いたことがあり、楽曲1はアーティスト1の最も有名な楽曲です」など)を生成することができる。その一方で、ユーザが、「なぜアプリケーション2を使わなかった?」というさらに別の発話を提供することを想定する。この例では、リクエストは、ある特定の論拠づけを求める具体的なリクエストであり、自動アシスタントは、発話の第1の解釈および/または第2の解釈と関連づけられた追加のデータを決定して、一般的なリクエストに応じた出力(たとえば、「あなたは音楽を聴くのにアプリケーション2よりもアプリケーション1をよく使っている」など)を、生成することができる。しかし、この例では、具体的なリクエストについて、ユーザが、「アプリケーション2」に対する自動アシスタントのアクセスを認めていなかったことが想定されている。この例では、自動アシスタントは、推奨行動と関連づけられた推奨データを、追加的または代替的に決定し、推奨行動を含む推奨データに基づいて、プロンプト(たとえば、「アプリケーション2を用いたアクセスの許可がありません。アクセスを許可していただけますか?」など)を生成することができる。このため、自動アシスタントは、実現のある特定の態様についてのある特定の論拠づけを提供するだけでなく、自動アシスタントは、ユーザに対して、アシスタントコマンドを含むユーザ入力の受信に応じて、現在および/または将来の実現を適応させるように促してもよい。
追加的または代替的実現にて、自動アシスタントが、ある特定の実現を実行させることに引き続き、自動アシスタントは、ある特定の論拠づけと関連づけられた1つまたは複数の選択可能要素が、ユーザへの提示用に、クライアント装置のディスプレイを通じて、積極的に提供されるようにしてもよい。たとえば、ある特定の論拠づけを求める一般的なリクエストと関連づけられた第1の選択可能要素が、ユーザへの提示用に提供可能であり、選択されたときに、自動アシスタントに、一般的なリクエストに応じてある特定の論拠づけを提供させることが可能である。さらに、ある特定の論拠づけを求める第1の具体的なリクエストと関連づけられた第2の選択可能要素が、ユーザへの提示用に追加的または代替的に提供可能であり、選択されたときに、自動アシスタントに、第1の具体的なリクエストに応じてある特定の論拠づけを提供させることが可能である。さらに、ある特定の論拠づけを求める第2の具体的なリクエストと関連づけられた第3の選択可能要素が、ユーザへの提示用に追加的または代替的に提供可能であり、選択されたときに、自動アシスタントに、第2の具体的なリクエストに応じてある特定の論拠づけを提供させることが可能である。それらの実装例の一部の変形例では、自動アシスタントは、1つまたは複数の選択可能要素が、判定に応じて、ユーザへの提示用に提供可能であり、この判定は、自動アシスタントが、アシスタントコマンドのある特定の実現について高度に確信が持てたわけではないことを示す閾値を、ASRメトリックス、NLUメトリックスおよび/または実現メトリックスが、満たさなかったことを示すものである。それらの実装例の一部の変形例では、自動アシスタントは、ASRメトリックス、NLUメトリックスおよび/または実現メトリックスにかかわらず、1つまたは複数の選択可能要素をユーザへの提示用に提供可能である。
上記の例は、ある特定の論拠づけを提供することに関して、なぜ自動アシスタントが特定のソフトウェアアプリケーションを選択して音楽を再生させたのか(たとえば、「アプリケーション1」)について説明されているが、それは例示であって、制限を意味していないことが理解されるべきである。ここに説明したように、ここに説明した技術は、なぜ特定のコンピュータ装置が選択されて、アシスタントコマンドの実現に利用されたのか、なぜ対応するパラメータについて特定のスロット値が選択されたのか、なぜ自動アシスタントが別の実現および/またはここに説明した他の態様を実行できなかったのかなど、どの実現の態様についても、ある特定の論拠づけを提供するのに利用可能である。さらに、上記の例で説明した推奨行動が、自動アシスタントの特定のソフトウェアアプリケーション(たとえば、「アプリケーション2」)に対するアクセスを、ユーザが許したことを含んでいても、それは、例示のためであり、制限を意味しないことが理解されるべきである。ここに説明する技術は、クライアント装置にてソフトウェアアプリケーションをダウンロードすること、追加のクライアント装置を、ネットワークを介してクライアント装置に対して通信可能に接続すること、および/または、ここに説明する他の推奨行動など、どの推奨行動も、アシスタントコマンドの実現を適応させるための提供に利用可能である。
ここに説明する技術を使用することにより、1つまたは複数の技術的利益が達成される。非限定的な例として、ここに説明する技術は、自動アシスタントが、実現のある特定の態様のある特定の論拠づけ(またはその欠如)を提供することを可能にし、それにより、ある特定の論拠づけを提供することによって、クライアント装置のユーザは、ユーザのデータがいつ利用されているのか、およびユーザのデータがどのように利用されているのかを理解できるようになる。さらに、ここに説明する技術により、自動アシスタントが、ユーザデータのプライバシー設定を迅速かつ効果的に適応させ、ユーザが、様々なインターフェースを行き来することで、ユーザデータのプライバシー設定を手動で変更しなくてすむようにすることにより、ユーザ入力の量を低減することが可能となる。結果として、ユーザデータのセキュリティを向上させ、クライアント装置の演算資源が保護可能となる。他の非限定的な例としては、実行すべき推奨行動を提供して、人とコンピュータとの対話を続行することにより、自動アシスタントは、そうしなければ利用されなかったユーザの対話を回収することができる。たとえば、ユーザが、「明かりをつけて」という発話を提供して、1つまたは複数のスマート照明が制御されるようにするものの、ユーザは、自動アシスタントがソフトウェアアプリケーションにアクセスしてスマート照明を制御することを認めていない場合には、自動アシスタントは、時間内に特定のインスタンスにて、照明を制御可能とすることができないことを単に示すのではなくて、ユーザに対して、スマート照明を制御するためにソフトウェアアプリケーションへのアクセスを認めるように促すことができる。結果として、演算および/またはネットワーク資源が、ここに説明する技術を用いて保護可能となる。
上記説明は、ここに開示するある特定の実装例のみの概要として提供されている。このような実装例および他の実装例については、ここにさらに詳細に説明される。
ここでさらに詳細に説明する、上述の概念および追加の概念のあらゆる組み合わせがここに開示する主題の一部として考慮されていることが、評価されるべきである。たとえば、本開示の最後にある、特許請求された主題のあらゆる組み合わせが、ここに開示する主題の一部として考慮されている。
本開示の様々な態様を説明する例示的実施形態のブロック図であって、ここに開示する実装例が実装可能なブロック図を示す。 様々な実装例にて、ユーザ入力に含まれる、自動アシスタントに向けられたアシスタントコマンドのある特定の実現を実行させ、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行させたのかについてのある特定の論拠づけを提供させる、例示的方法を説明するフローチャートを示す。 様々な実装例にて、ユーザ入力に含まれる、自動アシスタントに向けられたアシスタントコマンドのある特定の実現が実行不能であると判定し、なぜ自動アシスタントが、ある特定の論拠づけを実行できないのかについてのある特定の論拠づけを提供させる、例示的方法を説明するフローチャートを示す。 様々な実装例による、アシスタントコマンドの実現についてのある特定の論拠づけを提供させる非限定的な例を示す。 様々な実装例による、アシスタントコマンドの実現についてのある特定の論拠づけを提供させる非限定的な例を示す。 様々な実装例による、アシスタントコマンドの実現についてのある特定の論拠づけを提供させる非限定的な例を示す。 様々な実装例による、アシスタントコマンドの実現についてのある特定の論拠づけを提供させる追加の非限定的な例を示す。 様々な実装例による、アシスタントコマンドの実現についてのある特定の論拠づけを提供させる追加の非限定的な例を示す。 様々な実装例による、コンピュータ装置の例示的アーキテクチャを示す。
図1を参照すると、本開示の様々な態様を説明する例示的実施形態のブロック図であって、ここに開示する実装例が実装可能なブロック図が示されている。例示的実施形態は、クライアント装置110と、1つまたは複数のクラウドベース自動アシスタントコンポーネント115と、1つまたは複数の第1当事者サーバ(first-party server)191と、1つまたは複数の第3者サーバ(third-party server)192とを備えている。
クライアント装置110は、自動アシスタントクライアント113を実行可能である。自動アシスタントクライアント113は、クライアント装置110のオペレーティングシステムとは別のアプリケーション(たとえば、オペレーティングシステムの「上に」インストールされる)であってもよく、または、これとは別に、クライアント装置110のオペレーティングシステムにより、直接的に実装されていてもよい。さらに以下に説明するように、自動アシスタントクライアント113は、場合によっては、クライアント装置110のユーザインターフェースコンポーネント112により受信された様々なリクエストに応じて、1つまたは複数のクラウドベース自動アシスタントコンポーネント115と対話することもできる。さらに、また以下に説明するように、クライアント装置110の他のエンジンが、場合によっては、1つまたは複数のクラウドベース自動アシスタントコンポーネント115と対話可能である。
1つまたは複数のクラウドベース自動アシスタントコンポーネント115は、1つまたは複数のローカルエリアネットワーク(Wi-Fi LAN、ブルートゥース(登録商標)ネットワーク、近距離無線通信ネットワーク、メッシュネットワークなどを含む「LANs」)、ワイドエリアネットワーク(インターネットなどを含んだ「WANs」)および/または他のネットワークを介して、クライアント装置110と通信可能に接続された、1つまたは複数のコンピューティングシステム(たとえば、「クラウド」または「リモート」コンピューティングシステムと総称されるサーバ)上に、実装されてもよい。クラウドベース自動アシスタントコンポーネント115のクライアント装置110との通信可能な接続は、図1の1991として、一般的に示されている。また、一部の実装例では、クライアント装置110は、ここに説明される他のクライアント装置(図示せず)と、1つまたは複数のネットワーク(たとえば、LANおよび/またはWAN)を介して、通信可能に接続されてもよい。
また、1つまたは複数のクラウドベース自動アシスタントコンポーネント115は、1つまたは複数の第1当事者サーバ191、および/または1つまたは複数の第3者サーバ192と、1つまたは複数のネットワーク(たとえば、LAN、WANおよび/または他のネットワーク)を介して、通信可能に接続され得る。クラウドベース自動アシスタントコンポーネント115の1つまたは複数の第1当事者サーバ191との通信可能な接続は、図1の1992によって、一般的に示されている。さらに、クラウドベース自動アシスタントコンポーネント115の1つまたは複数の第3者サーバ192との通信可能な接続は、図1の1993によって、一般的に示されている。一部の実装例では、図1には明示的に示されていないが、クライアント装置110は、1つもしくは複数の第1当事者サーバ191および/または1つもしくは複数の第3者サーバ192と、1つまたは複数のネットワーク(たとえば、LAN、WANおよび/または他のネットワーク)を介して、追加的または代替的に、通信可能に接続されている。さらに、1つまたは複数のネットワーク1991、1992および1993は、簡潔にするために、以後、「ネットワーク199」と総称される。
自動アシスタントクライアント113は、1つまたは複数のクラウドベース自動アシスタントコンポーネント115との対話により、ユーザの視点からは自動アシスタント120の論理インスタンスとして見えるものを形成してもよく、この論理インスタンスを用いて、クライアント装置110のユーザは、人とコンピュータとの対話に関わり得る。たとえば、破線に囲まれた自動アシスタント120のインスタンスは、クライアント装置110の自動アシスタントクライアント113と、1つまたは複数のクラウドベース自動アシスタントコンポーネント115とを含む。このように、クライアント装置110上で実行中の自動アシスタントクライアント113と関わる各ユーザは、実際には、自動アシスタント120におけるユーザ自身の論理インスタンス(または、世帯または他のユーザのグループ間で、および/もしくは複数の自動アシスタントクライアント113間で、共有される自動アシスタント120の論理インスタンス)に事実上関わり得ることが、理解されるべきである。図1にはクライアント装置110のみが示されているが、1つまたは複数のクラウドベース自動アシスタントコンポーネント115が、クライアント装置の多くの追加のグループとして追加的に働き得ることが、理解されるべきである。さらに、図1にはクラウドベース自動アシスタントコンポーネント115が示されているが、様々な実装例では、自動アシスタント120はクライアント装置110にてのみ実装され得ることが、理解されるべきである。
ここで用いられる場合、第1当事者装置またはシステム(たとえば、1つまたは複数の第1当事者サーバ191、1つまたは複数の第1当事者ソフトウェアアプリケーションなど)は、ここで参照される自動アシスタント120を制御する当事者と同じものにより制御されるシステムを示している。たとえば、1つまたは複数の第1当事者サーバ191は、ここで参照される自動アシスタント120を制御する当事者と同じ当事者により制御される、サーチエンジンサービス、通信サービス(たとえば、電子メールSMSメッセージなど)、ナビゲーションサービス、音楽サービス、文書編集もしくは共有サービス、および/または、他のサービスをホスティングするシステムを示し得る。その一方で、第3者装置またはシステム(たとえば、1つまたは複数の第3者サーバ192、1つまたは複数の第3者ソフトウェアアプリケーションなど)は、ここで参照される自動アシスタント120を制御する当事者とは異なるものにより制御されるシステムを示している。たとえば、1つまたは複数の第3者サーバ192は、同じサービスをホスティングするシステムを示し得るが、各サービスは、ここに参照される自動アシスタント120を制御する当事者と異なるものにより制御される。
クライアント装置110は、たとえば、デスクトップコンピュータ装置、ラップトップコンピュータ装置、タブレットコンピュータ装置、携帯電話コンピュータ装置、ユーザの車両のコンピュータ装置(たとえば、車両内コンピュータ装置、車両内エンターテイメントシステム、車両内ナビゲーションシステム)、対話式独立型スピーカ(たとえば、ディスプレイ付きまたはなしの)、スマート機器、スマートテレビ、スマート照明またはスマート洗濯機/乾燥機などのスマートネットワーク装置、ユーザのコンピュータ装置を備えたウェアラブル装置(たとえば、コンピュータ装置を有するユーザの腕時計、コンピュータ装置を有するユーザの眼鏡、仮想または拡張現実コンピュータ装置)、および/または、自動アシスタント120に向けられたユーザ入力を受信可能なあらゆるIoT装置の1つまたは複数を、含み得る。追加的および/または代替的クライアント装置が提供され得る。
様々な実装例では、クライアント装置110は、クライアント装置110のユーザからの承認があるときに、存在、特に人の存在の検知を示す信号を提供するように構成された、1つまたは複数の存在センサ111を含み得る。そのような実装例のいくつかでは、自動アシスタント120は、クライアント装置110(またはクライアント装置110のユーザと関連づけられた他のコンピュータ装置)を識別可能であり、クライアント装置110における(または、クライアント装置110のユーザと関連づけられた他のコンピュータ装置における)ユーザの存在に少なくとも部分的に基づいて、発話(または、自動アシスタント120に向けられた他の入力)を満足することができる。発話(または、自動アシスタント120に向けられた他の入力)は、クライアント装置110、および/もしくはクライアント装置110のユーザと関連づけられた他のコンピュータ装置にて、応答コンテンツを(聴覚的および/または視覚的に)描画すること、クライアント装置110、および/もしくはクライアント装置110のユーザと関連づけられた他のコンピュータ装置が、制御されるようにすること、ならびに/または、クライアント装置110、および/もしくはクライアント装置110のユーザと関連づけられた他のコンピュータ装置が、他の行動を実行して、発話(または、自動アシスタント120に向けられた他の入力)を満足させるようにすることにより、満足される。ここに説明するように、自動アシスタント120は、ユーザが近接しているかまたは直前まで近接していたかに基づく、クライアント装置110(または他のコンピュータ装置)の判定における存在センサ111に基づいて決定されたデータを活用可能であり、対応するコマンドを、クライアント装置110(または他のコンピュータ装置)のみに対して提供することができる。追加的または代替的実装例では、自動アシスタント120は、いずれかのユーザ(任意のユーザまたは特定のユーザ)が、現在、クライアント装置110(または他のコンピュータ装置)に近接しているかどうかの判定における存在センサ111に基づいて決定されたデータを利用可能であり、場合によっては、クライアント装置110(または他のコンピュータ装置)に対するおよび/またはこの装置からのデータの提供を、クライアント装置110(または他のコンピュータ装置)に近接したユーザに基づき、抑制することができる。
存在センサ111は、様々な形態であってよい。たとえば、クライアント装置110は、視野内で検出された動きを示す信号を取り込んで提供するように構成された、1つまたは複数の視覚コンポーネント(たとえば、デジタルカメラおよび/または他の視覚コンポーネント)を備えていてもよい。追加的にまたは代替的に、クライアント装置110は、視界内の物体から放射された赤外(「IR」)光を測定する、受動赤外線(「PIR: passive infrared」)センサなど、他の種類の光に基づく存在センサ111を備えていてもよい。追加的にまたは代替的に、クライアント装置110は、1つまたは複数のマイクロフォンなど、音響(または圧力)波を検出する存在センサ111を備えていてもよい。
追加的にまたは代替的に、一部の実装例では、存在センサ111は、人の存在または装置の存在と関連づけられた他の現象を検出するように構成されていてもよい。たとえば、一部の実施形態では、クライアント装置110は、たとえば、ユーザにより所持/操作される他のコンピュータ装置(たとえば、モバイル装置、ウェアラブルコンピュータ装置など)および/または他のコンピュータ装置により発せられた、様々な種類の無線信号(たとえば、無線、超音波、電磁波などの波動)を検出する存在センサ111を備えていてもよい。たとえば、たとえば、クライアント装置110は、超音波または赤外線など、人には感知不能であるものの他のコンピュータ装置により(たとえば、超音波検知マイクロフォンなどの超音波/赤外線受信器を介して)検知され得る波動を発するように構成されていてもよい。
追加的にまたは代替的に、クライアント装置110は、無線波(たとえば、Wi-Fi、ブルートゥース(登録商標)、セルラなど)など、人に検知不能であるものの、ユーザによって所持/操作される他のコンピュータ装置(たとえば、モバイル装置、ウェアラブルコンピュータ装置など)により検出可能な他の種類の波動を発してもよく、またユーザの具体的な位置を特定するために用いられる。一部の実装例では、GPSおよび/またはWi-Fi三角測量が、たとえば、クライアント装置110への/からのGPSおよび/またはWi-Fi信号に基づき、人の位置を検出するように用いられてもよい。他の実装例では、飛行時間、信号強度など、他の無線信号の特徴が、単独でまたはまとめて、クライアント装置110により用いられてもよく、ユーザにより所持/操作されている、他のコンピュータ装置により発せられた信号に基づいて、特定の個人の位置を決定してもよい。
追加的にまたは代替的に、一部の実装例では、クライアント装置110は、声を認識して、その声からユーザを認識してもよい。たとえば、自動アシスタント120のいくつかのインスタンスは、たとえば、様々な資源へのアクセスを提供/制限する目的で、声を、ユーザのプロファイルとマッチングするように構成されていてもよい。一部の実装例では、次に、たとえば、クライアント装置110の存在センサ111(場合によっては、GPSセンサおよび/または加速度計)により、話者の動きが判定されてもよい。一部の実装例では、このように検出された動きに基づき、ユーザの位置が予測されてもよく、何らかのコンテンツが、クライアント装置110および/または他のコンピュータ装置にて、クライアント装置110および/または他のコンピュータ装置のユーザの位置への近接に少なくとも部分的に基づいて、描画された場合、この位置がユーザの位置とみなされてもよい。一部の実装例では、ユーザは、特に、最後の関与からあまり長い時間が経過していない場合には、ユーザが自動アシスタント120に関わった最新の位置にいるものと単にみなされてもよい。
さらに、クライアント装置110は、1つまたは複数のユーザインターフェース入力装置(たとえば、マイクロフォン、タッチスクリーン、キーボード、および/または他の入力装置)を含み得るユーザインターフェースコンポーネント112、および/または、1つまたは複数のユーザインターフェース出力装置(たとえば、ディスプレイ、スピーカ、プロジェクタ、および/または他の出力装置)を備えている。さらに、クライアント装置110および/または任意の他のコンピュータ装置は、データおよびソフトウェアアプリケーションを格納するための1つまたは複数のメモリと、データにアクセスしてアプリケーションを実行するための1つまたは複数のプロセッサと、ネットワーク199を介した通信を容易にする他のコンポーネントとを、備えていてもよい。一部の実装例では、クライアント装置110、他のコンピュータ装置、および/または自動アシスタント120により実行される動作は、複数のコンピュータ装置にわたって分散されてもよい。一方、他の実装例では、ここに説明する動作は、クライアント装置110にて、またはリモートシステムにてのみ、実行されてもよい。自動アシスタント120は、たとえば、ネットワーク(たとえば、図1のネットワーク199)を介して相互に接続された、1つまたは複数の位置にある、1つまたは複数のコンピュータ上で実行される、コンピュータプログラムとして、実装されてもよい。
上記のように、様々な実装例では、クライアント装置110は、自動アシスタントクライアント113を動作させてもよい。様々な実施形態では、自動アシスタントクライアント113は、音声取込/自動音声認識(ASR)/自然言語理解(NLU)/テキストから音声への変換(TTS)/実現モジュール114を備えていてもよい。他の実装例では、音声取込/ASR/NLU/TTS/実現モジュール114の1つまたは複数の態様が、自動アシスタントクライアント113(たとえば、クラウドベース自動アシスタントコンポーネント115の1つまたは複数による)とは別に実装されてもよい。
音声取込/ASR/NLU/TTS/実現モジュール114は、1つまたは複数の機能を実行するように構成されていてもよい。これらの動作は、たとえば、ユーザの発話を取り込むこと(発話取込、たとえば、それぞれのマイクロフォン(場合によっては、1つまたは複数の存在センサ111を備えていてもよい)を通して)、取り込まれた音声を、認識されたテキストへと、および/または他の表現もしくは埋込へと、機械学習(ML)モデルデータベース120A内に格納されたASRモデルを用いて変換すること、認識されたテキストを、MLモデルデータベース120A内に格納されたNLUモデルを用いてパージングする、かつ/または注釈づけすること、および/または、構造化リクエストの生成に利用される実現データを決定し、データを取得してかつ/または1つまたは複数の実現規則および/もしくはMLモデルデータベース120A内に格納された実現モデルを用いて、ユーザの発話に応じて行動を実行させることを含む。さらに、音声取込/ASR/NLU/TTS/実現モジュール114は、MLモデルデータベース120A内に格納されたTTSモデルを用いて、テキストから音声へ変換するように構成されていてもよく、テキストから音声への変換に基づいて、合成音声を取り込んでいる合成音声オーディオデータが、クライアント装置110のスピーカを通して、クライアント装置110のユーザに対する聴覚的提示のために提供可能である。これらのMLモデルのインスタンスが、クライアント装置110にてローカルに、および/または、図1のネットワーク199を介してクライアント装置110にアクセス可能に、格納されていてもよい。一部の実装例では、クライアント装置110が、演算資源(たとえば、プロセッササイクル、メモリ、バッテリなど)に関して相対的に制約され得るので、クライアント装置110にとってローカルの音声取込/ASR/NLU/TTS/実現モジュール114は、有限数の様々な発話語句を、音声認識モデルを用いて、テキストへと(または、より低次元の埋込などの他の形式へと)変換するように構成されていてもよい。
何らかの音声入力が、クラウドベースASRモジュール116、クラウドベースNLUモジュール117、クラウドベースTTSモジュール118、および/またはクラウドベース実現モデル119を含み得る、1つまたは複数のクラウドベース自動アシスタントコンポーネント115に送信されてもよい。これらのクラウドベース自動アシスタントコンポーネント115は、クラウドの事実上無限の資源を利用可能であり、クライアント装置110についてはローカルな音声取込/ASR/NLU/TTS/実現モジュール114に関して説明した、同一または同様の機能を実行することができるが、音声取込/ASR/NLU/TTS/実現モジュール114は、この機能を、クラウドベース自動アシスタントコンポーネント115との対話なしで、クライアント装置110にてローカルに実行することができることに留意すべきである。
図1は、単一のユーザの単一のクライアント装置について説明しているが、これは例示のためであり、制限を意味しないことが理解されるべきである。たとえば、ユーザの1つまたは複数の追加のクライアント装置は、ここに説明する技術も実装可能である。これらの追加のクライアント装置は、クライアント装置110と(たとえば、ネットワーク199を介して)通信してもよい。別の例としては、クライアント装置110は、複数のユーザが、共用設定にて利用可能である(たとえば、ユーザのグループ、世帯、ホテルの部屋、仕事での共用スペース)。
一部の実装例では、クライアント装置110は、さらに、ユーザ入力に含まれる、自動アシスタント120に向けられたアシスタントコマンドの実現についてある特定の論拠づけが、ある特定の論拠づけを要求する追加のユーザ入力に応じて、クライアント装置110のユーザへの提示用に提供されるようにするのに利用される、様々なエンジンを備え得る。たとえば、図1に示すように、クライアント装置110は、リクエストエンジン130と、推論エンジン140とを、さらに備え得る。クライアント装置110は、ユーザプロファイルデータベース110Aと、MLモデルデータベース120Aと、メタデータデータベース140Aとを含む装置上メモリを、さらに備え得る。一部の実装例では、これらの様々なエンジンは、クライアント装置110においてのみ、実行可能である。追加的または代替的実装例では、これらの様々なエンジンの1つまたは複数は、クライアント装置110からリモートで実行可能である(たとえば、クラウドベース自動アシスタントコンポーネント115の一部として)。たとえば、アシスタントコマンドが、クライアント装置110にてローカルに実現する実装例では、これらの様々なエンジンのデバイス上のインスタンスが、ここに説明する動作を実行するのに利用可能である。しかし、アシスタントコマンドがクライアント装置110からリモートで(たとえば、クラウドベース自動アシスタントコンポーネント115の一部として)実現する実装例では、これらの様々なエンジンのリモートのインスタンスが、ここに説明する動作の実行に利用可能である。
一部の実装例では、クライアント装置のユーザインターフェースコンポーネント112を介して検出されたユーザ入力に含まれている、自動アシスタント120に向けられたアシスタントコマンドの実行に引き続き、リクエストエンジン130は、追加のユーザ入力を(たとえば、1つまたは複数の音声取込/ASR/NLU/TTS/実現モジュール114を用いて)実行させて、追加のユーザ入力がリクエストを含むかどうかを判定することができる。たとえば、クライアント装置110のユーザが「明かりをつけて」という発話を提供して、クライアント装置110のユーザの住居の照明をオフ状態からオン状態に切り替えるものとする。図2および図3を参照してさらに詳述するように、発話を取り込んだオーディオデータを、MLモデルデータベース120A内に格納されたASRモデルを用いて処理して、ASR出力(場合によっては、ASRメトリックスを含む)を生成することができ、ASR出力を、MLモデルデータベース120A内に格納されたNLUモデルを用いて処理して、NLU出力(場合によっては、NLUメトリクスを含む)を生成することができ、NLU出力を、実現規則、および/またはMLモデルデータベース120A内に格納された実現モデルを用いて処理可能して、実現出力を生成することができる。実現出力と関連づけられた構造化リクエストは、クライアント装置110にてローカルで、ならびに/または第1当事者サーバ191および/もしくは第3者サーバ192にてリモートで実行される、様々なソフトウェアアプリケーションなど、1つまたは複数の実現当事者へと送信可能であり、1つまたは複数の実現候補は、構造化リクエストに応じて生成可能である(各実現メトリクスは、1つまたは複数の対応実現手段と関連づけられ得る)。自動アシスタント120は、1つまたは複数の実現候補を、ASRメトリックス、NLUメトリックスおよび/または実現メトリックスに基づいて、ランクづけさせ得る。ASRメトリックス、NLUメトリックス、実現メトリックス、および/または、発話の実現と関連づけられている任意の他のデータは、メタデータデータベース140A内に格納可能である。このデータは、次に、自動アシスタント120によりアクセス可能であり、ここに説明するアシスタントコマンドの実現用のある特定の論拠づけの提供と関連づけられたデータが決定される(たとえば、図2、図3、図4A~図4Cおよび図5A~図5Bを参照)。
しかし、この例では、クライアント装置110のユーザは、自動アシスタント120がソフトウェアアプリケーション、またはクライアント装置のユーザの住居の照明制御と関連づけられたサービスにアクセスすることを許可していないことが、想定されている。したがって、この例における1つまたは複数の実現候補は、クライアント装置110にて、または発話を満足することが可能なサーバ(たとえば、第1当事者サーバ191および/または第3者サーバ)にて、少なくともこれらの実現当事者の1人または複数人へのアクセスの欠如により、照明をつけるのに利用されるべきデータが決定不能であるために、アクセス可能なソフトウェアアプリケーションがないことを示してもよい。結果として、自動アシスタント120は、クライアント装置110のユーザに、自動アシスタント120が発話を満足させることができないことを通知するのに利用される、別のデータを決定可能である。このため、自動アシスタント120は、音声取込/ASR/NLU/TTS/実現モジュール114を利用して、別のデータに基づき、たとえば、「すみませんが、明かりをつけることができません」という合成音声を含む合成音声オーディオデータを生成することができ、合成音声が、クライアント装置110のスピーカを通じた聴覚的提示のために、提供可能である。
一部の実装例では、クライアント装置110のユーザが、なぜ自動アシスタント120がアシスタントコマンドのある特定の実現を実行させるのかについて自動アシスタント120がある特定の論拠づけを提供することを要求する、追加のユーザ入力を提供することが想定され、リクエストエンジン130は、リクエストが、実現に関するある特定の論拠づけを求める一般的なリクエストであるか、または、実現に関するある特定の論拠づけを求める具体的なリクエストであるのかを判定することができる。リクエストエンジン130は、リクエストが、実現に関するある特定の論拠づけを求める一般的なリクエストであるか、または、実現に関するある特定の論拠づけを求める具体的なリクエストであるのかを、追加のユーザ入力の処理に基づいて生成されたNLU出力に少なくとも基づいて、判定することができ、推論エンジン140は、リクエストのタイプに基づいて、ある特定の論拠づけを提供するのに利用されるように決定された追加のデータを適応させることができる(たとえば、図2、図3、図4A~図4Cおよび図5A~図5Bを参照して説明するように)。追加的または代替的実装例では、自動アシスタント120は、実行されたときに自動アシスタント120がアシスタントコマンドのある特定の実現を生じさせることを可能にする推奨行動を決定するための推奨データを取得可能である。この例では、推奨行動は、自動アシスタント120が、照明を制御可能とするソフトウェアアプリケーションまたはサービスにアクセスすることを認めることを含み得る。このため、自動アシスタント120は、音声取込/ASR/NLU/TTS/実現モジュール114を利用可能であり、たとえば、「照明アプリケーションへのアクセスを許可してくだされば、照明を制御できます」という合成音声を含む追加の合成音声オーディオデータを、推奨データに基づいて生成することができ、合成音声を、クライアント装置110のスピーカを介した聴覚的提示のために提供させることができる。なお、上記の説明は、例示のために提供されたものであり、制限を意味していないことが理解されるべきであり、ここに説明する技術の追加の説明は、図2、図3、図4A~図4Cおよび図5A~図5Bを参照して、以下に提供されることに留意されたい。
図2を参照すると、ユーザ入力に含まれる、自動アシスタントに向けられたアシスタントコマンドのある特定の実現を実行させる、例示的方法200を示すフローチャートが示されている。便宜上、方法200の動作は、それら動作を実行するシステムを参照して説明される。方法200のシステムは、コンピュータ装置(たとえば、図1のクライアント装置110、図4A~図4Cのクライアント装置410、図5A~図5Bのクライアント装置510、図6のコンピュータ装置610、1つまたは複数のサーバ、および/または他のコンピュータ装置)の1つもしくは複数のプロセッサ、メモリ、および/または他のコンポーネントを備えている。さらに、方法200の動作は特定の順序で示されているが、これは限定を意味しない。1つまたは複数の動作について、順序変更、省略、および/または追加がなされる。
ブロック252では、システムは、クライアント装置のユーザから、アシスタントコマンドを含んでいる、自動アシスタントに向けられたユーザ入力を受信する。一部の実装例では、ユーザ入力は、クライアント装置のマイクロフォンにより生成されたオーディオデータに取り込まれた発話に対応し得る。追加的または代替的実装例では、ユーザ入力は、クライアント装置のディスプレイまたは、クライアント装置の他の入力装置(たとえば、キーボードおよび/またはマウス)を通して受信された、タッチ入力またはキー入力に対応し得る。
ブロック254では、システムは、ユーザ入力を処理して、アシスタントコマンドのある特定の実現の実行に利用するデータを決定する。ユーザ入力が発話に対応した実装例では、発話が取り込まれたオーディオデータは、ASRモードを用いて処理して、ASR出力(たとえば、音声仮説、音素、および/または他のASR出力)、および場合によっては、ASR出力と関連づけられたASRメトリックスを生成することができる。さらに、ASR出力は、NLUモデルを用いて処理して、NLU出力(たとえば、ASR出力に基づいて決定された意図、ASR出力に基づいて決定された意図と関連づけられたパラメータのスロット値など)、および場合によっては、NLU出力と関連づけられたNLUメトリックスを生成することができる。さらに、NLU出力は、実現規則および/または実現モードを用いて処理して、送信されるリクエストを生成するのに利用される実現出力を生成することができ、アシスタントコマンドの実現の実行に利用するデータを取得することができ、かつ/または、実現出力(たとえば、図1の第1当事者サーバ191、図1の第3者サーバ192、クライアント装置にてローカルに実装された第1当事者ソフトウェアアプリケーション、クライアント装置にてローカルに実装された第3者ソフトウェアアプリケーションなどに送信)、場合によっては、実現データと関連づけられた実現メトリックスに基づいて、行動を実行させることができる。ユーザ入力がタッチ入力またはキー入力に対応する実装例では、タッチ入力またはキー入力に対応したテキストを、NLUモデルを用いて処理して、NLU出力を、場合によってはNLU出力と関連づけられたNLUメトリックスを、生成することができる。さらに、NLU出力は、実現規則および/または実現モデルを用いて処理して、送信されるリクエストを生成するのに利用される実現出力を生成することができ、アシスタントコマンドの実現の実行に利用されるデータを取得することができ、かつ/または、アシスタントコマンドの実現の実行での実現出力に基づいて行動を実行させることができる。
ブロック256では、システムは、自動アシスタントに、データを利用して、アシスタントコマンドのある特定の実現を実行させる。特に、実現出力は、図1の第1当事者サーバ191、図1の第3者サーバ192、クライアント装置にてローカルで実装された第1当事者ソフトウェアアプリケーション、クライアント装置にてローカルで実装されたソフトウェアアプリケーションなどの1つまたは複数へと送信されるデータを、含み得るものであり、1つまたは複数の実現候補がもたらされる。システムは、1つまたは複数の実現候補から特定の実現候補を選択可能であり、たとえば、ASRメトリックス、NLUメトリックスおよび/または実現メトリックスに基づいて、アシスタントコマンドのある特定の実現を実行することができる。たとえば、クライアントデバイスのユーザが「ロック音楽を再生して」という発話を提供するものとする。この例では、発話を取り込んだオーディオデータを、ASRモデルを用いて処理して、ASR出力として、第1のASRメトリックス(たとえば、第1の音声仮説が発話に含まれる用語および/または語句に対応する、確率、2進値、対数尤度などの尤度)と関連づけられた「ロック音楽を再生して」という第1の音声仮説、第2のASRメトリックスと関連づけられた「バッハの曲を再生して」という第2の音声仮説、ならびに/または、他の音声仮説および対応するメトリックスを生成することができる。さらに、各音声仮説は、NLUモデルを用いて処理して、NLUデータとして、第1のNLUメトリック(たとえば、第1の意図およびスロット値がユーザの所望の意図に対応している、確率、2進値、対数尤度などの尤度)と関連づけられたジャンルパラメータについて「ロック」というスロット値を伴う、「音楽を再生して」という第1の意図、および、第2のNLUメトリックスと関連づけられたアーティストパラメータについて「バッハ」というスロット値を伴う、「音楽を再生して」という第2の意図が生成される。
さらに、この例での1つまたは複数の実現候補は、たとえば、第1の実現メトリックスと関連づけられた第1の当事者のメディアアプリケーションを用いてロック音楽を再生する第1の実現候補(たとえば、システムからの実現リクエストに応じて、第1の当事者のメディアアプリケーションによりシステムへと返送)、第2の実現メトリックスと関連づけられた第3者のメディアアプリケーションを用いてロック音楽を再生する第2の実現候補(たとえば、システムからの実現リクエストに応じて、第3者のメディアアプリケーションによりシステムへと返送)、第3の実現メトリックスと関連づけられた第1の当事者のメディアアプリケーションを用いてバッハの曲を再生する第3の実現候補(たとえば、システムからの実現リクエストに応じて、第1の当事者のメディアアプリケーションによりシステムへと返送)、第4の実現メトリックスと関連づけられた第3者のメディアアプリケーションを用いてバッハの曲を再生する第4の実現候補(たとえば、システムからの実現リクエストに応じて、第3者のメディアアプリケーションによりシステムへと返送)、および/または、他の実現候補を、含み得る。この例では、第1の当事者のメディアアプリケーションを用いてロック音楽を再生する第1の実現候補が、発話を最も満足しそうであることを、ASRメトリックス、NLUメトリックス、および/または実現メトリックスが示すものと想定して、自動アシスタントは、第1の当事者のメディアアプリケーションに、アシスタントコマンドのある特定の実現として、ロック音楽の再生を開始させる。この例では、システムは、「音楽を再生して」という意図と関連づけられた他のパラメータについて、かつ、2つの解釈について、スロット値を推測することができる(たとえば、NLU出力の一部として)。たとえば、「ロック音楽を再生して」という第1の解釈について、システムは、システムによりアクセス可能であれば、ユーザプロファイルデータ(たとえば、図1のクライアント装置110のユーザプロファイルデータベース110A内に格納される)に基づいて、アーティストパラメータのアーティストスロット値(たとえば、ユーザが最もよく聴いているロックアーティスト)を推測し、ソフトウェアアプリケーションパラメータのソフトウェアアプリケーションスロット値(たとえば、ユーザが音楽を聴くのに最もよく使用しているアプリケーション)を推測し、楽曲スロットパラメータの楽曲スロット値(たとえば、ユーザが最もよく聴いているロック楽曲、または最もよく聴いているバッハの作曲)などを推測することができる。そうでなければ、システムは、これらのパラメータの1つまたは複数についてのデフォルトのスロット値を利用してもよい。他の例では、ユーザは、特定のアーティスト、特定の楽曲、特定のソフトウェアアプリケーションなど、これらのパラメータの1つまたは複数について、スロット値を指定してもよい。
一部の実装例では、ブロック256は、サブブロック256Aを含んでもよい。含まれる場合、サブブロック256Aでは、システムは、ある特定の実現のためのある特定の論拠づけと関連づけられた、1つまたは複数の選択可能要素を、ユーザへの提示用に提供させる。ある特定の実現のためのある特定の論拠づけは、たとえば、ユーザ入力に応じて、特定の実現候補が1つまたは複数の実現候補から選択されたことの1つまたは複数の理由を含み得る。クライアント装置のユーザからの、所与の選択可能要素、1つまたは複数の選択可能要素についてのユーザ選択の受信に応じて、システムは、ある特定の論拠づけを、クライアント装置のユーザへの提示のために提供させることができる。それらの実装例の一部の変形例では、システムは、ASRメトリックス、NLUメトリックス、および/または、ある特定の実現候補と関連づけられた実現メトリックスが、メトリックス閾値を満たさなかったとの判定に応じて、ある特定の実現のためのある特定の論拠づけと関連づけられた、1つまたは複数の選択可能要素を、ユーザへの提示用に提供可能である。換言すると、選択された特定の実現候補が、ユーザが意図したものである可能性が最も高いものの、選択された特定の実現候補についてシステムが高度に確信があるわけではないと、システムが判定したことに応じて、システムは、ある特定の実現のためのある特定の論拠づけと関連づけられた、1つまたは複数の選択可能要素を、ユーザへの提示用に提供可能である。それらの実装例の他の型では、システムは、ASRメトリックス、NLUメトリックス、および/または、選択されたある特定の実現候補と関連づけられた実現メトリックスにかかわらず、ある特定の実現のためのある特定の論拠づけと関連づけられた1つまたは複数の選択可能要素を、ユーザへの提示用に提供可能である。ここに説明するように、(たとえば、図5Bを参照)、1つまたは複数の選択可能要素は、一般的なリクエスト、または1つもしくは複数の対応する具体的なリクエストと、関連づけられ得る。
ブロック258では、システムは、なぜ自動アシスタントがある特定の実現を実行させたのかについてある特定の論拠づけを求めるリクエストが、クライアント装置により受信されたかどうかを判定する。一部の実装例では、なぜ自動アシスタントがある特定の実現を実行させたのかについてのある特定の論拠づけを求めるリクエストは、クライアント装置により受信された追加のユーザ入力に含まれ得る。それらの実装例の一部の変形例では、システムは、ブロック252を参照して説明するのと同一または同様の方式で、追加のユーザ入力を、ASRモデルを用いて処理してASR出力を生成し、NLUモデルを用いてNLUデータを生成し、かつ/または、実現規則もしくはモデルを用いて実現出力を生成することが可能であり、追加のユーザ入力が、ある特定の論拠づけを求めるリクエストを含むかどうか判定することができる。たとえば、追加のユーザ入力が発話であってもまたはキー入力であっても、追加のユーザ入力を処理してNLU出力を生成することができ、システムは、なぜ自動アシスタントがある特定の実現を実行させたのかについて、追加のユーザ入力が、ある特定の論拠づけを求めるリクエストを含むかどうかを、NLU入力(たとえば、ある特定の論拠づけを求めるリクエストと関連づけられた意図)に基づいて、判定することができる。このような実装例の追加的または代替的な型では、なぜ自動アシスタントがある特定の実現を実行させたのかについてのある特定の論拠づけを求めるリクエストは、クライアント装置にて受信された、1つまたは複数の選択可能要素のユーザによる選択に含まれ得る(たとえば、サブブロック256Aを参照して上述したように)。ブロック258の反復にて、なぜ自動アシスタントがある特定の実現を実行させたのかについてある特定の論拠づけを求めるリクエストがクライアント装置にて受信されていないとシステムが判定した場合、システムは、ブロック258にて、なぜ自動アシスタントがある特定の実現を実行させたのかについてある特定の論拠づけを求めるリクエストの監視を継続する(場合によっては、ある特定の実現が実行された後の閾値時間にわたって(たとえば、5秒、10秒、15秒、および/または任意の閾値時間))。ブロック258の反復にて、なぜ自動アシスタントがある特定の実現を実行させたのかについてある特定の論拠づけを求めるリクエストがクライアント装置により受信されたと、システムが判定した場合、システムは、処理をブロック260へ進める。
ブロック260では、システムは、リクエストを含む追加のユーザ入力を処理して、ある特定の論拠づけの提供に利用する追加のデータを決定する。ある特定の論拠づけの提供に利用すると判定された追加のデータは、たとえば、追加のユーザ入力に含まれたリクエストの種類に基づくものであり得る。したがって、ブロック262では、システムは、ある特定の論拠づけを求めるリクエストの種類を判定する。リクエストの種類は、たとえば、なぜ自動アシスタントがある特定の実現を実行させたのかというある特定の論拠づけを求める一般的なリクエスト(たとえば、「なぜそうした?」)、または、なぜ自動アシスタントがある特定の実現を実行させたのかというある特定の論拠づけを求める具体的なリクエスト(たとえば、「なぜ第1の当事者の音楽アプリケーションを選択した?」、「なぜ第3者の音楽アプリケーションを選択しなかった?」、「なぜそのアーティストを選択した?」、「なぜそのアーティストの一番有名な曲を選択した?」、および/または、他の具体的なリクエスト)。たとえば、追加のユーザ入力を処理して、NLU出力を生成することができ、システムは、なぜ自動アシスタントがある特定の実現を実行させたのかについて、追加のユーザ入力が、ある特定の論拠づけを求めるリクエストを含むかどうかを、NLU入力(たとえば、ある特定の論拠づけを求める一般的なリクエストと関連づけられた意図、および/または、ある特定の論拠づけを求める具体的なリクエストと関連づけられた意図)に基づいて、判定することができる。
ブロック262の反復にて、システムが、ある特定の論拠づけを求めるリクエストの種類が、ある特定の論拠づけを求める一般的なリクエストであると判定した場合、システムはブロック264へと進む。ブロック264では、システムは、第1の追加のデータを、ある特定の論拠づけを提供する際の追加のデータと判定する。「ロック音楽を再生して」という上述の例を続けると、ある特定の論拠づけを求める一般的なリクエストは、たとえば、「なぜそうした?」というリクエストによって具現化可能であり、「そう」は、特定のロックアーティスト、および選択された特定のロック楽曲での、第1の当事者のメディアアプリケーションを用いたロック音楽の再生など、選択されたある特定の実現候補を示している。リクエストの種類が一般的なリクエストであるとの判定に応じて、システムは、たとえば、「あなたはアプリケーションの利用について教えてくれていて、音楽を聴くのにそれを一番よく使っているため、第1の当事者のアプリケーションを選択しました」、「あなたは音楽の好みを教えてくれていて、あるアーティストを一番聴いているため、そのアーティストを選択しました」、「ある曲が、そのアーティストの一番有名な曲であるため、その曲を選びました」、および/または、ユーザの入力に応じて、なぜシステムがある特定の実現候補(または、推測された特定のスロット値)を選択したのかに関連づけられた他の論拠づけの出力に対応した、追加のデータとしてのある特定の実現候補と関連づけられた第1のデータを取得可能である。
ブロック262の反復にて、システムが、ある特定の論拠づけを求めるリクエストの種類が、ある特定の論拠づけを求める具体的リクエストであると判定した場合、システムは、ブロック266へと進む。ブロック266では、システムは、第2の追加のデータを、ある特定の論拠づけを提供する際の追加のデータと判定する。「ロック音楽を再生して」という上述の例を続けると、ある特定の論拠づけを求める具体的なリクエストは、たとえば、「なぜ第1の当事者の音楽アプリケーションを選択した?」、「なぜ第3者の音楽アプリケーションを選択しなかった?」、「なぜそのアーティストを選択した?」、「なぜそのアーティストの一番有名な曲を選択した?」というリクエスト、および/または他の具体的なリクエストにより具現化され得る。リクエストの種類が具体的なリクエストであるとの判定に応じて、システムは、たとえば、「あなたはアプリケーションの利用について教えてくれていて、音楽を聴くのにそれを一番使っているため、第1の当事者のアプリケーションを選択しました」、「あなたは第3者のアプリケーションへのアクセスを提供していないので、第3者のアプリケーションを選択しませんでした」、「あなたは音楽の好みを教えてくれていて、あるアーティストを一番よく聴いているため、そのアーティストを選択しました」、「ある曲がそのアーティストの一番有名な曲であるため、そのアーティストによるその曲を選びました」、および/または、ユーザの入力に応じて、なぜシステムがある特定の実現候補を選択したのか、または、特定の別の実現候補を選択しなかったのかに関連づけられた他の論拠づけの出力に対応した、追加のデータとしてのある特定の実現候補、または1つまたは複数の実現候補に含まれた別の実現候補と関連づけられた第2のデータを、取得可能である。
ブロック268では、システムは、自動アシスタントに、追加のデータを利用させて、ユーザへの提示用に、ある特定の論拠づけを含む出力を提供させる。一部の実装例では、ある特定の論拠づけを含む出力は、追加のデータにより特徴づけられた、ある特定の論拠づけを取り込んだ合成音声を含む、合成音声オーディオデータを含み得る。これらの実装例の一部の変形例では、システムにより、1つまたは複数の実現候補と関連づけられたメタデータに基づいて生成された、ある特定の論拠づけに対応したテキストを、TTSモデル(たとえば、図1のMLモデルデータベース120Aに格納)を用いて処理して、合成音声オーディオデータを生成することができ、合成音声オーディオデータは、クライアント装置、またはクライアント装置と通信する追加のクライアント装置のスピーカを通じたユーザへの提示用に、聴覚的に再生可能である。追加的または代替的実装例では、ある特定の論拠づけを含んだ出力は、クライアント装置またはクライアント装置と通信する追加のクライアント装置のディスプレイによりユーザへの提示用に描画される、テキストまたは他のグラフィックコンテンツを含み得る。システムは、ブロック252へと戻り、さらに別のアシスタントコマンドを含む、自動アシスタントに向けられたさらに別のユーザ入力の受信に応じて、図2の方法200の追加的な反復を実行する。
図3を参照すると、ユーザ入力に含まれる、自動アシスタントに向けられたアシスタントコマンドのある特定の実現が実行不能であることを決定する、例示的方法300を示すフローチャートが示されている。便宜上、方法300の動作は、それら動作を実行するシステムを参照して説明される。方法300のシステムは、コンピュータ装置(たとえば、図1のクライアント装置110、図4A~図4Cのクライアント装置410、図5A~図5Bのクライアント装置510、図6のコンピュータ装置610、1つまたは複数のサーバ、および/または他のコンピュータ装置)の1つまたは複数のプロセッサ、メモリ、および/または他のコンポーネントを、備えている。さらに、方法300の動作は特定の順序で示されているが、これは限定を意味しない。1つまたは複数の動作について、順序変更、省略、および/または追加がなされる。
ブロック352では、システムは、クライアント装置のユーザから、アシスタントコマンドを含んでいて自動アシスタントに向けられたユーザ入力を受信する。一部の実装例では、ユーザ入力は、クライアント装置のマイクロフォンにより生成されたオーディオデータに取り込まれた発話に対応し得る。追加的または代替的実装例では、ユーザ入力は、クライアント装置のディスプレイまたは、クライアント装置の他の入力装置(たとえば、キーボードおよび/またはマウス)を通して受信された、タッチ入力またはキー入力に対応し得る。
ブロック354では、システムは、アシスタントコマンドのある特定の実現の実行に利用するデータが決定可能かどうか判定する。ユーザ入力が発話に対応した実装例では、発話が取り込まれたオーディオデータを、ASRモードを用いて処理して、ASR出力(たとえば、音声仮説、音素、および/または他のASR出力)、および場合によっては、ASR出力と関連づけられたASRメトリックスを、生成することができる。さらに、ASR出力は、NLUモデルを用いて処理して、NLU出力(たとえば、ASR出力に基づいて決定された意図、ASR出力に基づいて決定された意図と関連づけられたパラメータのスロット値など)、および場合によっては、NLU出力と関連づけられたNLUメトリックスを、生成することができる。さらに、NLU出力は、実現規則および/または実現モデルを用いて処理して、アシスタントコマンドの実現の実行に利用される実現データを生成することができ、場合によっては、実現データと関連づけられた実現メトリックスを生成することができる。ユーザ入力がタッチ入力またはキー入力に対応した実装例では、タッチ入力またはキー入力に対応したテキストを、NLUモデルを用いて処理可して、NLU出力を、場合によっては、NLU出力と関連づけられたNLUメトリックスを、生成することができる。さらに、NLU出力は、実現規則および/または実現モデルを用いて処理して、送信されるリクエストを生成するのに利用される実現出力を生成することができ、アシスタントコマンドの実現の実行に利用されるデータを取得することができ、かつ/または、アシスタントコマンドの実現の実行での実現出力に基づいて行動を実行させることができる。
システムは、アシスタントコマンドのある特定の実現の実行に利用するデータが、送信される実現出力に応じて受信されたデータに基づいて決定されるかどうかを判定可能であり、アシスタントコマンドのある特定の実現の実行に利用するデータを取得可能であり、かつ/または、アシスタントコマンドの実現の実行での実現出力に基づいて実行される行動を起こさせることができる。図2を参照して上述したように、実現候補に応じて、取得可能なデータは、1つまたは複数の実現候補を含み得る。システムは、1つまたは複数の実現候補から、ある特定の実現候補を選択可能であり、たとえば、ユーザ入力と関連づけられた、ASRメトリックス、NLUメトリックスおよび/または実現メトリックスに基づいて、アシスタントコマンドのある特定の実現を実行することができる。たとえば、クライアントデバイスのユーザが、「明かりをつけて」という発話を提供するものとする。この例では、発話を取り込んだオーディオデータを、ASRモデルを用いて処理して、ASR出力として、ASRメトリックス(たとえば、第1の音声仮説が発話に含まれた用語および/または語句に対応している、確率、2進値、対数尤度などの尤度)と関連づけられた「明かりをつけて」という音声仮説を生成することができる。さらに、各音声仮説を、NLUモデルを用いて処理して、NLUデータとして、NLUメトリックス(たとえば、確率、2進値、対数尤度などの尤度のような、第1の意図およびスロット値がユーザの所望の意図に対応する尤度など)と関連づけられた「明かりをつけて」という意図を生成可能である。さらに、実現出力は、たとえば、1つまたは複数のソフトウェアアプリケーション(たとえば、照明を点灯可能な、第1当事者ソフトウェアアプリケーションおよび/または第3者ソフトウェアアプリケーション)へのリクエストを含み得る。しかし、この例では、自動アシスタントには、照明を制御するのに利用するソフトウェアアプリケーションに対するアクセスがないものとしている。このため、この例では、システムは、実現出力を、どのソフトウェアアプリケーションへも送信可能である必要はなく、1つまたは複数の実現候補は、自動アシスタントが照明を制御するソフトウェアアプリケーションと対話不能であるため、発話が実現不能であることを示す、空の実現候補(null fulfillment candidate)のみを含んでいてもよい。その一方で、自動アシスタントには、照明を制御するのに利用するソフトウェアアプリケーションへのアクセスがないことを想定すると、システムは、自動アシスタントが、照明を制御するソフトウェアアプリケーションと対話可能であるため、アシスタントコマンドのある特定の実現に利用するデータが決定可能であることを判定してもよく、1つまたは複数の実現候補は、実行されると照明が制御されるようにする1つまたは複数のアシスタントコマンドを含み得る。
ブロック354の反復にて、システムは、アシスタントコマンドのある特定の実現の実行に利用するデータが決定可能であると判定すると、システムは、図2のブロック256へ進み、図2の方法200の反復を継続する。たとえば、自動アシスタントに、照明を制御するのに利用するソフトウェアアプリケーションへのアクセスがある、上述の例では、システムは、図2のブロック256へ進むことができ、上述の図2の方法200の反復をブロック256から継続可能であり、アシスタントコマンドのある特定の実現を実行させることができ、図2を参照して上述したように要求された場合、ある特定の実現に関するある特定の論拠づけを提供することができる。ブロック354の反復にて、システムは、アシスタントコマンドのある特定の実現の実行に利用するデータが決定不能であると判定すると、システムは、ブロック356へ進む。たとえば、自動アシスタントに、照明を制御するのに利用するソフトウェアアプリケーションへのアクセスがある上述の例では、システムは、ブロック356へと進み得る。
ブロック356では、システムは、アシスタントコマンドの別の実現の実行に利用する別のデータが決定可能かどうか判定する。たとえば、システムは、1つまたは複数の実現候補を解析して、1つまたは複数の別の実現候補があるかどうかを判定することができる。ブロック356の反復にて、システムは、アシスタントコマンドの別の実現の実行に利用する別のデータが決定不能であると判定すると、システムは、ブロック358へ進む。たとえば、クライアント装置のユーザが「明かりをつけて」という発話を提供し、自動アシスタントには照明を制御するどのソフトウェアアプリケーションにもアクセスがない、上述の例を続けると、システムは、1つまたは複数の実現候補に別の実現候補が含まれていないと判定可能である(たとえば、空の実現候補のみ)。この例では、システムは、ブロック358へ進むことを決定可能である。
ブロック358では、システムは、ユーザ入力を処理して、自動アシスタントがある特定の実現をどのように実行可能であるかについての推奨行動の生成に利用する推奨データを、決定する。上述の例を続けると、システムは、「明かりをつけて」という発話に応じて、照明制御のある特定の実現を実行することもできると判定可能であるが、実際には、ユーザは照明制御に利用するソフトウェアアプリケーションへのアクセスを自動アシスタントに許可していない。このため、この例では、推奨行動は、ユーザが、照明制御に利用するソフトウェアアプリケーションへの自動アシスタントのアクセスを許可するべきであることを示す内容を含み得る。他の例として、照明を制御するクライアント装置に、ソフトウェアアプリケーションがインストールされていないものと想定すると、システムは、「明かりをつけて」という発話に応じた照明の制御のある特定の実現を実行することもできると判定可能であるが、実際には、ユーザは、照明を制御するのに利用するソフトウェアアプリケーションをインストールしておらず、ユーザは、照明を制御するのに利用するソフトウェアアプリケーションへのアクセスを、自動アシスタントに許可する必要がある。
ブロック360では、システムは、自動アシスタントに、推奨データを利用させて、ユーザへの提示用に、推奨行動を含む出力を提供する。推奨行動を含む出力は、ユーザへの提示用に、聴覚的および/または視覚的に再生可能である(たとえば、図2のブロック268を参照して上述)。一部の実装例では、推奨行動を含んだ出力は、ユーザが、自動アシスタントに、推奨行動を自動実行させる追加の入力を提供できるようにする、プロンプトを含み得る。上述の例を続けると、システムは、「すぐに明かりをつけることはできませんが、照明を制御するのに利用するソフトウェアアプリケーションへのアクセスを許してくだされば、つけることができます。アクセスを許可していただけますか?」という出力を発生させ得る。このため、ユーザへの提示用に、推奨行動を含む出力は、自動アシスタントが、アシスタントコマンドのある特定の実現を実行可能なものの1つまたは複数を示すことが可能で(たとえば、「すぐに明かりをつけることはできませんが、照明を制御するのに利用するソフトウェアアプリケーションへのアクセスを許してくだされば、つけることができます。」)、ユーザに、アシスタントコマンド(たとえば、「アクセスを許可していただけますか?」)のある特定の実現の実行を促すことができる。追加的または代替的実装例では、推奨行動を含む出力は、自動アシスタントが、アシスタントコマンド(たとえば、「(1)設定を開く、(2)ソフトウェアアプリケーション共有設定を開く、(3)照明アプリケーション用のソフトウェアアプリケーション設定を共有」)のある特定の実現を実行可能となるように、ユーザが従うステップごとの命令を、含み得る。システムは、ブロック352へと戻り、さらに別のアシスタントコマンドを含んだ、自動アシスタントに向けられたさらに別のユーザ入力の受信に応じて、図3の方法300の追加的な反復を実行する。
ブロック356の反復にて、システムは、アシスタントコマンドの別の実現の実行に利用する別のデータが決定可能であると判定すると、システムは、ブロック362へ進む。その一方で、ユーザが、「明かりをつけて」という発話を提供する例では、ユーザが、ブロック352で受信する「アプリケーション2でロック音楽を再生して」という発話を提供することを想定している。さらに、ユーザが自動アシスタントに「アプリケーション2」へのアクセスを許可していないものと想定する。このため、この例では、「アプリケーション2」でロック音楽を再生するある特定の実現が、ブロック354のインスタンスでは実行不能である。しかし、ブロック356のインスタンスでは、システムは、以前の例とは異なり、別の実現候補があると判定してもよい。たとえば、この例では、自動アシスタントが、代替的に「アプリケーション1」を利用して、ロック音楽を再生できるように、ユーザが自動アシスタントに「アプリケーション1」へのアクセスを許可しているものとさらに想定する。
ブロック362では、システムは、ユーザ入力を処理して、アシスタントコマンドの別の実現の実行に利用する別のデータを決定する。ユーザが、「アプリケーション2でロック音楽を再生して」という発話を提供する上述の例を続けると、ロック音楽を再生するための構造化リクエストを含む実現出力は、最初に、少なくとも「アプリケーション2」に送信可能である。一部の実装例では、「アプリケーション2」への実現出力の送信に応じて、システムは、ユーザが、自動アシスタントの「アプリケーション2」へのアクセスを許可していないので、空の実現候補の内容を受信してもよい。追加的または代替的実装例では、システムは、ユーザが、自動アシスタントの「アプリケーション2」へのアクセスを許可していないものと判定してもよく、システムは、ユーザが自動アシスタントの「アプリケーション2」へのアクセスを許可していないため、「アプリケーション2」へのリクエスト送信を控えて、空の実現候補を決定してもよい。しかし、音楽を再生するリクエストの実現を実行することを試みて、システムは(場合によっては、「アプリケーション2」が空の実現候補と関連づけられているとの判定に応じて)「アプリケーション1」へ実現出力を送信してもよく、ユーザが、自動アシスタントの「アプリケーション1」へのアクセスを許可しているため、「アプリケーション1」でロック音楽を再生する別の実現候補と関連づけられた別のデータを決定してもよい。このため(たとえば、ユーザにより要求されたように、別の実現候補が、「アプリケーション2」ではなく「アプリケーション1」と関連づけられているため)、別の実現候補が、ユーザ入力に含まれたアシスタントコマンドのある特定の実現ではなくとも、システムは、別の実現候補を用いて、アシスタントコマンドを満足することを試みることができる。
ブロック364では、システムは、自動アシスタントに、別のデータを利用して、アシスタントコマンドの別の実現を実行させる。上述の例を続けると、システムは、「アプリケーション1」に、クライアント装置のスピーカを介して、またはクライアント装置と通信する別のコンピュータ装置のスピーカを介して(たとえば、クライアント装置、他のクライアント装置などと通信する、スマートスピーカ)、ロック音楽の再生を開始させ得る。一部の実装例では、図2のサブブロック256Aと同様に、システムは、ある特定の論拠づけと関連づけられた、1つまたは複数の選択可能要素を、ユーザへの提示用に提供可能である。しかし、図2のサブブロック256Aの上述の動作とは異なり、ある特定の論拠づけは、なぜ別の実現が実行されたかについて(たとえば、なぜロック音楽が「アプリケーション1」を用いて再生されたのか)、または、なぜある特定の実現が実行されなかったのかについて(たとえば、なぜロック音楽を「アプリケーション2」を用いて再生しないのか)、提供され得る。それらの実装例では、別の実現のためのある特定の論拠づけは、たとえば、ユーザ入力に応じて、別の実現候補が、1つまたは複数の実現候補から選択されたことの1つまたは複数の理由を含み得る。
ブロック366では、システムは、なぜ自動アシスタントが別の実現を実行させたのかについてある特定の論拠づけを求めるリクエストが、クライアント装置により受信されたかどうかを判定する。一部の実装例では、なぜ自動アシスタントが別の実現を実行させたのかについてのある特定の論拠づけを求めるリクエストは、クライアント装置により受信された追加のユーザ入力に含まれ得る。それらの実装例の一部の変形例では、システムは、ブロック252を参照して説明するのと同一または同様の方式で、追加のユーザ入力を、ASRモデルを用いて処理してASR出力を生成し、NLUモデルを用いてNLUデータを生成し、かつ/または、実現規則もしくはモデルを用いて実現出力を生成することが可能で、追加のユーザ入力が、ある特定の論拠づけを求めるリクエストを含むかどうか判定することができる。たとえば、追加のユーザ入力が発話であってもまたはキー入力であっても、追加のユーザ入力を処理して、NLU出力を生成することができ、システムは、なぜ自動アシスタントが別のある特定の実現を実行させたのかについて、追加のユーザ入力が、ある特定の論拠づけを求めるリクエストを含むかどうかを、NLU入力(たとえば、ある特定の論拠づけを求めるリクエストと関連づけられた意図)に基づいて、判定することができる。このような実装例の追加的または代替的な型では、なぜ自動アシスタントが別の実現を実行させたのかについてのある特定の論拠づけを求めるリクエストは、クライアント装置にて受信された、1つまたは複数の選択可能要素のユーザによる選択に、含まれ得る(たとえば、サブブロック256Aを参照して上述したように)。ブロック366の反復にて、なぜ自動アシスタントが別の実現を実行させたのかについてのある特定の論拠づけを求めるリクエストがクライアント装置にて受信されていないとシステムが判定した場合、システムは、ブロック366にて、なぜ自動アシスタントが別の実現を実行させたのかについてのある特定の論拠づけを求めるリクエストの監視を継続する(場合によっては、ある特定の実現が実行された後の閾値時間にわたって(たとえば、15秒、20秒、30秒、および/または任意の他の閾値時間))。ブロック366の反復にて、なぜ自動アシスタントが別の実現を実行させたのかについてのある特定の論拠づけを求めるリクエストがクライアント装置により受信されたと、システムが判定した場合、システムは、処理をブロック368へ進める。一部の実装例では、図2のブロック262と同様に、システムは、ある特定の論拠づけを求めるリクエストの種類(たとえば、一般的なリクエスト、第1の具体的なリクエスト、第2の具体的なリクエストなど)を決定可能である。
ブロック368では、システムは、リクエストを含む追加のユーザ入力を処理して、ある特定の論拠づけの提供に利用する追加のデータを決定する。「アプリケーション2でロック音楽を再生して」という上述の例を続けると、ある特定の論拠づけを求める一般的なリクエストは、たとえば、「なぜそうした?」というリクエストにより、具現化可能であり、「そう」は、特定のロックアーティスト、および選択された特定のロック楽曲での、「アプリケーション1」(ユーザによる要求により、「アプリケーション2」の代わりに)を用いたロック音楽の再生など、選択された別の実現候補を示している(たとえば、図2を参照して上述したような、推測されたスロット値)。リクエストの種類が一般的なリクエストであるとの判定に応じて、システムは、一般的なリクエストに応じた出力に対応した追加のデータと関連づけられた追加のデータを取得可能である(たとえば、図2を参照して上述)。また「ロック音楽を再生して」という上述の例を続けると、ある特定の論拠づけを求める具体的なリクエストは、たとえば、「なぜ要求したアプリケーション2の代わりにアプリケーション1を使った?」、「なぜそのアーティストを選択した?」、「なぜそのアーティストの一番有名な曲を選択した?」というリクエスト、および/または他の具体的なリクエストにより具現化され得る。リクエストの種類が具体的なリクエストであるとの判定に応じて、システムは、具体的なリクエストに応じた出力に対応した追加のデータを取得可能である(たとえば、図2を参照して上述)。
ブロック370では、システムは、自動アシスタントに、追加のデータを利用させて、ユーザへの提示用にある特定の論拠づけを含む出力を提供させる。一部の実装例では、ある特定の論拠づけを含む出力は、追加のデータにより特徴づけられた、ある特定の論拠づけを取り込んだ合成音声を含む、合成音声オーディオデータを含み得る。これらの実装例の一部の変形例では、システムにより、1つまたは複数の実現候補と関連づけられたメタデータに基づいて生成された、ある特定の論拠づけに対応したテキストを、TTSモデル(たとえば、図1のMLモデルデータベース120Aに格納)を用いて処理して、合成音声オーディオデータを生成することができ、合成音声オーディオデータは、クライアント装置、またはクライアント装置と通信する追加のクライアント装置のスピーカを通じたユーザへの提示用に、聴覚的に再生可能である。追加的または代替的実装例では、ある特定の論拠づけを含んだ出力は、クライアント装置またはクライアント装置と通信する追加のクライアント装置のディスプレイによるユーザへの提示用に描画される、テキストまたは他のグラフィックコンテンツを含み得る。システムは、ブロック352へと戻り、さらに別のアシスタントコマンドを含んだ自動アシスタントに向けられたさらに別のユーザ入力の受信に応じて、図3の方法300の追加的な反復を実行する。
図4A~図4Cを参照すると、アシスタントコマンドの実現についてのある特定の論拠づけを提供させる、様々な非限定的な例が示されている。クライアント装置410(たとえば、図1のクライアント装置110のインスタンス)は、たとえば、発話および/もしくは他の聴覚的入力に基づいてオーディオデータを生成するマイクロフォン、ならびに/または、合成音声および/もしくは他の聴覚的出力を聴覚的に再生するスピーカを含む、様々なユーザインターフェースコンポーネントを含み得る。図4A~図4Cに示すクライアント装置410は、ディスプレイのない独立型スピーカであるが、それは例示のためであり、限定を意味しないことが理解されるべきである。たとえば、クライアント装置410は、ディスプレイ付きの独立型スピーカ、携帯電話(たとえば、図5A~図5Bを参照して上述)、ホームオートメーション装置、車両内システム、ラップトップ、デスクトップコンピュータ、および/または、自動アシスタントを実行して、クライアント装置410のユーザ401との人とコンピュータとの対話セッションに関与させることができる他の任意の装置であってもよい。
特に図4Aを参照して、クライアント装置410のユーザ401が「アシスタント、ロック音楽を再生して」という発話452Aを提供したと想定する。発話452Aを受信したことに応じて、自動アシスタントは、ASRモデルを用いて、発話452Aを取り込んだオーディオデータを処理して、たとえば、発話452Aに対応して予測された1つまたは複数の音声仮説(たとえば、用語仮説、および/または文字起こし仮説)、発話452Aに対応して予測された1つまたは複数の予測音素、および/または、他のASR出力を含む、ASR出力を生成することができる。ASR出力の生成にて、ASRモデルは、1つまたは複数の音声仮説、予測音素、および/または、他のASR出力の各々と関連づけられたASRメトリックスを、場合によっては生成可能であり、ASRメトリックスは、1つまたは複数の音声仮説、予測音素、および/または他のASR出力が発話452Aに対応する尤度を示している。さらに、ASR出力は、NLUモデルを用いて処理して、たとえば、ASR出力に基づいて決定された1つもしくは複数の意図、ASR出力に基づいて決定された1つもしくは複数の意図の各々と関連づけられた1つもしくは複数の対応パラメータ用の1つもしくは複数のスロット値、および/または他のNLU出力を含む、NLU出力を生成することができる。NLU出力の生成にて、NLUモデルは、1つもしくは複数の意図、意図と関連づけられた対応パラメータ用の1つもしくは複数のスロット値、および/または他のNLU出力の各々と関連づけられた、NLUメトリックスを、場合によっては生成することができ、NLUメトリックスは、1つもしくは複数の意図、意図と関連づけられた対応パラメータ用の1つもしくは複数のスロット値、および/または、他のNLU出力が、発話452Aを提供する際のユーザ401の実際の意図に対応する、尤度を示している。
特に、自動アシスタントは、1つまたは複数の意図の各々と関連づけられた対応パラメータ用の1つまたは複数のスロット値を推測してもよく、これにより、発話452Aの1つまたは複数の解釈がもたらされ、1つまたは複数の解釈の各々は、所与の対応パラメータ用の少なくとも1つの一意的なスロット値を含んでいる。このため、図4Aの例では、第1の解釈は、「音楽再生」意図を含み得るものであり、「音楽再生」意図は、「音楽再生」意図と関連づけられたアプリケーションパラメータに「アプリケーション1」のスロット値と、「音楽再生」意図と関連づけられたアーティストパラメータに「アーティスト1」のスロット値と、「音楽再生」意図と関連づけられた楽曲パラメータに「楽曲1」のスロット値とを、含み得る。第2の解釈は、「音楽再生」意図を含み得るものであり、「音楽再生」意図は、「音楽再生」意図と関連づけられたアプリケーションパラメータに「アプリケーション2」のスロット値と、「音楽再生」意図と関連づけられたアーティストパラメータに「アーティスト1」のスロット値と、「音楽再生」意図と関連づけられた楽曲パラメータに「楽曲1」のスロット値とを、含み得る。第3の解釈は、「音楽再生」意図を含み得るものであり、「音楽再生」意図は、「音楽再生」意図と関連づけられたアプリケーションパラメータに「アプリケーション1」のスロット値と、「音楽再生」意図と関連づけられたアーティストパラメータに「アーティスト2」のスロット値と、「音楽再生」意図と関連づけられた楽曲パラメータに「楽曲2」のスロット値とを、含み得、他の解釈についても同様である。
さらに、自動アシスタントは、NLU出力を、実現規則および/または実現モデルを用いて、処理させて、実現出力を生成可能である。実現出力は、たとえば、1つまたは複数の構造化リクエストを含み得るものであり、構造化リクエストは、複数の解釈に基づいて生成され(たとえば、NLU出力に基づいて決定)、図1の第1当事者サーバ191、図1の第3者サーバ192、クライアント装置410にアクセス可能な第1当事者ソフトウェアアプリケーション、クライアント装置410にアクセス可能な第3者ソフトウェアアプリケーション、および/または、発話452Aを実現可能な任意の他の実現当事者など、1つまたは複数の実現当事者へと、送信される。図4Aの例では、自動アシスタントは、対応構造化リクエストを、少なくとも「アプリケーション1」および「アプリケーション2」へと、ソフトウェアアプリケーションに基づいて、送信させることができ、ソフトウェアアプリケーションは、NLU出力が示す発話452Aを満足可能なものとして特定されている。これらの構造化リクエストの送信に応じて、自動アシスタントは、「アプリケーション1」および「アプリケーション2」から、1つまたは複数の実現候補を、受信可能である。たとえば、自動アシスタントは、複数の解釈に基づいて生成された構造化リクエストの1つまたは複数を「アプリケーション1」が実現可能かどうかを示す「アプリケーション1」からの1つまたは複数の実現候補を受信可能であり、複数の解釈に基づいて生成された構造化リクエストの1つまたは複数を「アプリケーション2」が実現可能かどうかを示す「アプリケーション2」からの1つまたは複数の実現候補を受信可能である。1つまたは複数の実現候補は、場合によっては、実現メトリックスを含み得、実現メトリクスは、1つまたは複数の実現候補の各々が、発話452Aをどれだけ満足する可能性があるかを示している。
自動アシスタントは、1つまたは複数の実現候補に対して、ASRメトリックス、NLUメトリックス、および/または実現メトリックスに基づいてランクづけして、そのランキングに基づき、ある特定の実現候補を、1つまたは複数の実現候補から選択することができる。たとえば、図4Aの例では、上述したように、自動アシスタントが、「音楽再生」意図を含む第1の解釈と関連づけられたある特定の実現候補を、ランキングに基づいて選択し、「音楽再生」意図は、アプリケーションパラメータに「アプリケーション1」のスロット値を、アーティストパラメータに「アーティスト1」のスロット値を、楽曲パラメータに「楽曲1」のスロット値を、有することが想定されている。さらに、ユーザ401は、自動アシスタントの「アプリケーション2」へのアクセスを許可しておらず、その結果、1つまたは複数の構造化リクエストに基づいて決定されて、「アプリケーション1」へ送信された、1つまたは複数の実現候補が、空の実現候補であることが想定されている。追加的または代替的実装例では、自動アシスタントは、構造化リクエストを「アプリケーション2」へ送信することを控えて、コンピュータおよび/またはネットワーク資源を節約してもよい。これは、自動アシスタントが、ユーザ401が自動アシスタントの「アプリケーション2」へのアクセスを許可しておらず、「アプリケーション2」に送られる可能性のあるあらゆる構造化リクエストについて、空の実現候補を自動的に決定していることを知っているからである。第1の解釈と関連づけられたある特定の実現候補の選択に応じて、自動アシスタントは、「オーケー、アプリケーション1でロック音楽を再生」という合成音声454A1を、ユーザ401に対して、クライアント装置410のスピーカを介して、聴覚的に提示させてもよく、ある特定の実現候補と関連づけられた第1の解釈に基づいて決定された、アシスタントコマンドを、452A(たとえば、「アプリケーション1でアーティスト1による楽曲1を再生」)に示されるように実施させて、発話452Aを満足させてもよい。
しかし、ユーザ401が「なぜそうした?」という追加の発話456Aを提供することがさらに想定される。追加の発話456Aの受信に応じて、自動アシスタントは、追加の発話456Aを取り込んだオーディオデータを、ASRモデルを用いて処理させて、発話452Aの処理について上述したものと同じかまたは同様に、ASR出力を生成することができる。さらに、ASR出力は、NLUモデルを用いて処理して、発話452Aの処理について上述したものと同じかまたは同様に、NLU出力を生成することができる。自動アシスタントは、発話452Aに含まれたアシスタントコマンドのある特定の実現がなぜ実行されたのかについてのある特定の論拠づけを自動アシスタントに提供するように求めるリクエストを追加の発話456Aが含むかどうかを、ASR出力および/またはNLU出力に基づいて、判定することができる。一部の実装例では、自動アシスタントは、ある特定の論拠づけを求めるリクエストが、ある特定の論拠づけを求める一般的なリクエストであるか、または、ある特定の論拠づけを求める1つもしくは複数の具体的なリクエストであるか、ASR出力および/またはNLU出力に基づいて、追加的または代替的に、判定することができる。
たとえば、図4Aの例では、自動アシスタントは、追加の発話456Aの処理に基づいて生成された、ASR出力および/またはNLU出力に基づいて、ある特定の論拠づけを求めるリクエストが、一般的なリクエストであると判定してもよい。これは、ユーザが、ある特定の実現の特定の態様について、問い合わせていないためである(たとえば、図4Bを参照して以下に説明する)。それよりも、追加の発話456Aは、一般に、なぜ自動アシスタントが「アプリケーション1」に「アーティスト1」による「楽曲1」を再生させるのか、自動アシスタントに説明するように問い合わせるものである。このため、自動アシスタントは、選択されたある特定の実現候補と関連づけられたメタデータを取得可能であり、追加のデータは、追加の発話456Aに応じて、出力を生成するのに利用されるものと、判定することができる。追加のデータに基づき、自動アシスタントは、「あなたはアプリケーションの利用について教えてくれていて、音楽を聴くのにアプリケーション1を一番よく使っているようであり、アーティスト1を過去に聴いていて、楽曲1は、アーティスト1の新曲です」という追加の合成音声458A1を、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために、提供可能である。一部の実装例では、自動アシスタントは、場合によっては、たとえば、「何か他にやることがありますか?」というプロンプト458A2(たとえば、推奨データに基づいて判定)を、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために、提供可能であり、このリクエストは、ユーザ401が、自動アシスタントに、何か別の実現候補を実行してほしければ、ユーザ401に、追加の発話をさらに提供するように求めるものであり、それは、ユーザ401に、「アプリケーション2を使って、けれどロック音楽のときだけで」という追加の発話460Aをさらに提供するように要求することなどである。
特に、別の追加の発話460Aは、自動アシスタントが、発話452Aに応じて、「アプリケーション2」にアクセスして利用するようにすること、そして、自動アシスタントに、ロック音楽を再生させるアシスタントコマンドを含む発話の将来の事例を、暗黙的に許可してもよい。一部の実装例では、別の追加の発話460Aは、自動アシスタントが、「アプリケーション2」にアクセスして、ロック音楽の再生にのみ利用するようにすることを、暗黙的に許可してもよい。追加的または代替的実装例では、別の追加の発話460Aは、自動アシスタントが、「アプリケーション2」にアクセスして、任意のジャンルの音楽の再生に利用するようにすることを、暗黙的に許可してもよい。一部の実装例では、自動アシスタントは、自動アシスタントの「アプリケーション2」へのアクセスを許可する別の発話460Aの受信に応じて、「アプリケーション1」を用いた「アーティスト1」による「楽曲1」の再生(たとえば、上述の第1の解釈に基づくアシスタントコマンド)から、「アプリケーション2」を用いた「アーティスト1」による「楽曲1」の再生(たとえば、上述の第2の解釈に基づくアシスタントコマンド)へと、移行することができる。
特に、図4Bを参照すると、図4Aを参照して説明したある特定の論拠づけを求める一般的なリクエストとは異なり、ユーザが、「アシスタント、ロック音楽を再生して」という同じ発話452Bを提供して、自動アシスタントが、「オーケー、アプリケーション1でロック音楽を再生」という合成音声454B1を、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために提供し、自動アシスタントに、ある特定の実現候補と関連づけられた第1の解釈に基づいて判定されたアシスタントコマンドを、454B2(たとえば、「アプリケーション1でアーティスト1による楽曲1を再生」)が示すように実施させて、発話454B2を満足させることも想定されている。しかし、図4Bの例では、ユーザ401が「なぜアプリケーション1を使った?」という追加の発話を提供することが想定されている。この例では、自動アシスタントは、追加の発話456Bの処理に基づいて生成された、ASR出力および/またはNLU出力に基づいて、ある特定の論拠づけを求めるリクエストが具体的なリクエストであると判定してもよい。これは、ユーザが、ある特定の実現の特定の態様について問い合わせているためである(たとえば、なぜ自動アシスタントが「アーティスト1」による「楽曲1」の再生に「アプリケーション1」を選択したのか)。このため、自動アシスタントは、選択されたある特定の実現候補と関連づけられたメタデータを取得可能であり、追加のデータは、追加の発話456Aに応じて、出力を生成するのに利用されるものと判定することができる。特に、図4Bの例では、追加のデータは、図4Aの例における追加のデータとは異なっていてもよく、それは、図4Bの例で利用された追加のデータは、ユーザ401の特定のリクエストに、特に、なぜ「アプリケーション1」が選択されたのかを問い合わせるために、適応または適合され得るという点において、異なっていてもよい。追加のデータに基づき、自動アシスタントは、「あなたはアプリケーションの利用について教えてくれていて、音楽を聴くのにアプリケーション1を一番使っているようです」という追加の合成音声458B1を、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために、提供可能である。一部の実装例では、自動アシスタントは、場合によっては、たとえば、「何か他にやることがありますか?」というプロンプト458B2(たとえば、推奨データに基づいて判定)を、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために、提供可能であり、そのプロンプトは、ユーザ401が、自動アシスタントに、何らかの別の実現候補を実行してもらいたければ、ユーザ401に、「アプリケーション2を使って、けれどロック音楽のときだけで」という追加の発話460Bを提供するように求めるなど、ユーザ401に対して、別の追加的な発話を提供するように要求するものである。図4Aを参照して上述したことと同様に、別の追加の発話460Bは、自動アシスタントが、発話452Bに応じて、「アプリケーション2」にアクセスして利用するようにすること、そして、自動アシスタントにロック音楽を再生させるアシスタントコマンドを含む発話の将来の事例を、暗黙的に許可してもよい。
特に図4Cを参照すると、図4Aおよび図4Bとは異なり、ユーザが「アシスタント、ロック音楽を再生して」という同じ発話452Cを提供することが想定されている。しかし、図4Cの例では、ユーザ401が、自動アシスタントの音楽再生可能な何らかのソフトウェアアプリケーションまたはサーバ(たとえば、図1の第1当事者サーバ191および/または図1の第3者サーバ192の1つまたは複数により実装されるストリーミングサービス)へのアクセスを許可していないことが想定されている。このため、「アプリケーション1」、「アプリケーション2」と関連づけられた、1つまたは複数の実現候補に含まれた、いずれかの実現候補、または、他のソフトウェアアプリケーションもしくはサービスは、空の実現候補と関連づけられていてもよい。それでも、発話452Cを満足させる試みにて、自動アシスタントは、構造化リクエストを、たとえば、ウェブブラウザへ送信してもよく、「ロック音楽」についての検索結果など、発話452Cに応じたコンテンツを取得して、対話のためにコンピュータ資源を浪費することを回避してもよい。図4Cに示すように、自動アシスタントは、「ロック音楽は「ロックンロール」に由来する、ポピュラー音楽の広いジャンルで...」という合成音声454Cを、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために、提供可能である。
しかし、ユーザ401が、「なぜ音楽を再生しなかった?」という追加の発話456Cを提供することがさらに想定される。追加の発話456Cの受信に応じて、自動アシスタントは、追加の発話456Cを取り込んだオーディオデータを、ASRモデルを用いて処理させて、図4Aの発話452Aの処理について上述したものと同じかまたは同様に、ASR出力を生成することができる。さらに、ASR出力は、NLUモデルを用いて処理して、図4Aの発話452Aの処理について上述したものと同じかまたは同様に、NLU出力を生成することができる。自動アシスタントは、発話452Aに含まれたアシスタントコマンドのある特定の実現がなぜ実行されたのかについてのある特定の論拠づけを自動アシスタントに提供するように求めるリクエストを、追加の発話456Cが含むかどうかを、ASR出力および/またはNLU出力に基づいて、判定することができる。特に、図4Cの例では、ユーザ401が、なぜ自動アシスタントがある特定の実現を実行させたのかについて問い合わせるのではなく、ユーザ401は、なぜ自動アシスタントがある特定の実現を実行させなかったのかについて問い合わせている。
このため、図4Cの例では、自動アシスタントは、追加の発話456Aの処理に基づいて生成された、ASR出力および/またはNLU出力に基づいて、ある特定の論拠づけを求めるリクエストが、具体的なリクエストであると判定してもよい。これは、ユーザが、ある特定の実現の特定の態様について、問い合わせているためである(たとえば、なぜ自動アシスタントが音楽を再生しなかったのか)。このため、自動アシスタントは、1つまたは複数の別の実現候補と関連づけられたメタデータを取得可能であり、これらの実現候補は、追加の発話456Cに応じて、追加のデータが出力を生成するのに利用されると決定するために選択されたものではない。特に、図4Cの例では、追加のデータは、図4Aおよび図4Bの例における追加のデータとは異なっていてもよく、それは、図4Cの例で利用された追加のデータは、ユーザ401の特定のリクエストに、特に、なぜ音楽が再生されなかったのかを問い合わせるために、適応または適合され得るという点において、異なっていてもよい。追加のデータに基づき、自動アシスタントは、「あなたは、何かのアプリケーションやサービスにアクセスすることを許可していないので、音楽再生に使えません」という追加の合成音声458C1を、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために、提供可能である。一部の実装例では、自動アシスタントは、場合によっては、たとえば、「アプリケーションかサービスへのアクセスを許可しますか?」というプロンプト458C2(たとえば、推奨データに基づいて判定)を、クライアント装置410のスピーカを通じて、ユーザ401への聴覚的な提示のために、提供可能であり、そのプロンプトは、ユーザ401が、自動アシスタントに、1つまたは複数のソフトウェアアプリケーションまたはサービスを、音楽再生に使用可能にしたければ、ユーザ401に、「はい、アプリケーション2を使って、けれどロック音楽のときだけで」という追加の発話460Cを提供するように求めるなど、ユーザ401に対して、別の追加的な発話を提供するように要求するものである。図4Cの例では、別の追加の発話460Cは、自動アシスタントが、発話452Cに応じて、「アプリケーション2」にアクセスして利用するようにすること、そして、自動アシスタントに、ロック音楽を再生させるアシスタントコマンドを含む発話の将来の事例を、明示的に許可してもよい。
図5A~図5Bを参照すると、アシスタントコマンドの実現についてのある特定の論拠づけを提供させる、様々な追加の非限定的な例が、示されている。クライアント装置510(たとえば、図1のクライアント装置110の事例)は、たとえば、発話および/もしくは他の聴覚的入力に基づいてオーディオデータを生成するマイクロフォン、合成音声をおよび/もしくは他の聴覚的出力を聴覚的に再生するスピーカ、ならびに/または、視覚的出力を視覚的に描画するディスプレイ580を含む、様々なユーザインターフェースコンポーネントを、含み得る。さらに、クライアント装置510のディスプレイ580は、クライアント装置510のユーザと対話して、クライアント装置510に、1つまたは複数の行動を実行させる、様々なシステムインターフェース要素581、582および583(たとえば、ハードウェアおよび/またはソフトウェアインターフェース要素)を、含み得る。クライアント装置510のディスプレイ580により、ユーザは、タッチ入力により(たとえば、ユーザ入力を、ディスプレイ580またはその部分へ向けて(たとえば、テキスト入力ボックス(図示せず)へ、キーボード(図示せず)へ、またはディスプレイ580の他の部分へ))、および/または、発話入力(たとえば、マイクロフォンインターフェース要素584を選択することにより、あるいは、マイクロフォンインターフェース要素584を選択する必要なく、クライアント装置510にて単に話すことにより(すなわち、自動アシスタントは、1つまたは複数の用語もしくは語句、ジェスチャ、注視、口の動き、唇の動き、および/または、発話入力を起動するための他の条件を監視し得る))により、ディスプレイ580上に描画されたコンテンツと対話することができる。図5A~図5Bに示すクライアント装置510は、携帯電話であるが、それは例示のためであり、限定を意味しないことが、理解されるべきである。たとえば、クライアント装置510は、ディスプレイ付きの独立型スピーカ、ディスプレイなしの独立型スピーカ(たとえば、図4A~図4Cを参照して上述)、ホームオートメーション装置、車両内システム、ラップトップ、デスクトップコンピュータ、および/または、自動アシスタントを実行して、クライアント装置510のユーザとの人とコンピュータとの対話セッションに関与させる、他の任意の装置であってもよい。
特に図5Aを参照して、クライアント装置510のユーザが、「何かロック音楽を再生して」という発話552Aを提供することが想定される。発話552Aの受信に応じて、自動アシスタントは、発話552Aを取り込んだオーディオデータを、ASRモデルを用いて処理させて、ASR出力を生成し、NLU出力を用いてASR出力を処理させて、NLU出力を生成し、実現規則および/または実現モデルを用いて、NLU出力を処理させて、同一かまたは同様に、実現出力を生成させることができる。さらに、自動アシスタントは、ユーザのクライアント装置510が、スマートスピーカ(たとえば、リビングのスピーカ)と通信可能に接続されていると判定し、スマートスピーカは、クライアント装置510よりも安定なスピーカを具備し、ロック音楽を再生可能であることが想定されている。このため、発話552Aの処理に基づき、自動アシスタントは、ロック音楽が、リビングのスピーカで再生されるように決定してもよく、「はい、リビングのスピーカでロック音楽を再生します」という合成音声554Aが、クライアント装置510のスピーカを通じて、ユーザへの聴覚的な提示のために、および/または、クライアント装置510のディスプレイ580にて、ユーザへの視覚的な提示のために、提供されてもよく、ロック音楽をリビングのスピーカにて再生させてもよい。
しかし、クライアント装置510のユーザが、「なぜリビングのスピーカで音楽を再生するように決めた?」という追加の発話556Aを提供することがさらに想定されている。この例では、自動アシスタントは、追加の発話556Aの処理に基づいて生成された、ASR出力および/またはNLU出力に基づいて、ある特定の論拠づけを求めるリクエストが、追加の発話に含まれていて、そのリクエストが具体的なリクエストであると判定してもよい。これは、ユーザが、ある特定の実現の特定の態様について、問い合わせているためである(たとえば、なぜ自動アシスタントがロック音楽の再生に「リビングのスピーカ」を選択したのか)。この例では、自動アシスタントは、選択された実現候補と関連づけられたメタデータを取得可能であり、なぜ自動アシスタントが、クライアント装置510と通信可能に接続して音楽を再生可能なクライアント装置510または他のコンピュータ装置(たとえば、キッチンのスピーカ、書斎(den)のスピーカなど)ではなく、リビングのスピーカで音楽を再生すると判定したのかについてのある特定の論拠づけの提供に利用する追加のデータを決定することができる。追加のデータに基づき、自動アシスタントは、「リビングのスピーカは、あなたの電話のスピーカよりも安定しています」(場合によっては、リビング内にクライアント装置510のユーザがいることを検知したことに基づき(たとえば、図1のクライアント装置110の存在センサ111により))という追加の合成音声558A1を、クライアント装置510のスピーカを通じて、ユーザへの聴覚的な提示のために、および/または、クライアント装置510のディスプレイ580にて、ユーザへの視覚的な提示のために、提供可能である。一部の実装例では、自動アシスタントは、場合によっては、たとえば、「ロック音楽をあなたの電話と他の装置のどちらで再生したいですか?」というプロンプト558A2(たとえば、推奨データに基づいて決定)を、クライアント装置510のスピーカを通じて、ユーザへの聴覚的な提示のために、および/または、クライアント装置510のディスプレイ580にて、ユーザへの視覚的な提示のために、提供可能であり、プロンプトは、ユーザが、クライアント装置510を用いてロック音楽を再生すること、クライアント装置510がアクセス可能な別のソフトウェアアプリケーションを用いて音楽を再生すること、自動アシスタントにアーティスト/楽曲などを切り替えさせるなど、自動アシスタントに、何か別の実現候補を実行してもらいたい場合に、ユーザに対して、別の追加的な発話を提供するものである。ユーザが何か別の入力を提供した場合、自動アシスタントは、それに応じて、音楽の再生を適応可能である。
追加的または代替的実装例では、クライアント装置510のユーザが、ある特定の論拠づけを求めるリクエストを含んだ何らかの追加のユーザ入力556Aをするのを待機するのと異なり、自動アシスタントは、ある特定の論拠づけと関連づけられた、1つまたは複数の選択可能な要素を積極的に提供可能である。たとえば、図5Bを参照して、クライアント装置510のユーザが、発話552の受信に応じて、「何かロック音楽を再生して」という発話552Bを提供することが、ここでも想定される。発話552Bの受信に応じて、自動アシスタントは、発話552Bを取り込んだオーディオデータを、ASRモデルを用いて処理させて、ASR出力を生成し、NLU出力を用いてASR出力を処理させて、NLU出力を生成し、実現規則および/または実現モデルを用いてNLU出力を処理させて、同一かまたは同様に、実現出力を生成させることができる。さらに、自動アシスタントは、ユーザのクライアント装置510が、スマートスピーカ(たとえば、リビングのスピーカ)と通信可能に接続されていると判定し、スマートスピーカは、クライアント装置510よりも安定なスピーカを具備し、ロック音楽を再生可能であることが、ここでも想定される。このため、発話552Bの処理に基づき、自動アシスタントは、ロック音楽がリビングのスピーカで再生されるように決定してもよく、「はい、リビングのスピーカでロック音楽を再生します」という合成音声554Bが、クライアント装置510のスピーカを通じて、ユーザへの聴覚的な提示のために、および/または、クライアント装置510のディスプレイ580にて、ユーザへの視覚的な提示のために、提供されてもよく、ロック音楽をリビングのスピーカにて再生させてもよい。
しかし、図5Bの例では、クライアント装置510のユーザが追加の発話または他のユーザ入力を提供することなく、自動アシスタントが、ある特定の論拠づけと関連づけられた、1つまたは複数の選択可能要素を積極的に提供することがさらに想定されている。たとえば、図5Bに示すように、自動アシスタントは、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を一般的に実行させたのかについて、一般的なリクエストと関連づけられた「なぜそうした?」という第1の選択可能要素556B1、および/または、なぜ自動アシスタントがアシスタントコマンドのある特定の実現をリビングのスピーカを用いて実行させたのかについて、具体的なリクエストと関連づけられた「なぜリビングのスピーカを使った?」という第2の選択可能要素556B2を作成可能である。クライアント装置のユーザからの、第1の選択可能要素556B1のユーザの選択に応じて(たとえば、タッチ入力または発話入力により)、自動アシスタントは、ユーザの選択(たとえば、第1の選択可能要素556B1のユーザ選択、または、第2の選択可能要素556B2のユーザ選択)に基づき、アシスタントコマンドのある特定の実現と関連づけられたメタデータを取得して、ある特定の論拠づけの提供に利用する追加のデータを決定することができる。たとえば、第1の選択可能要素556B1のユーザ選択の受信に応じて、自動アシスタントは、なぜ自動アシスタントがロック音楽を再生する特定のアプリケーションを選択するように決定したかについて、追加のデータを決定可能であり(たとえば、図4A~図4Cを参照して上述したように、「アプリケーション1」対「アプリケーション2」)、あるアーティストを選択し(たとえば、図4A~図4Cを参照して上述)、あるアーティストによるある楽曲を選択し(たとえば、図4A~図4Cを参照して上述)、リビングのスピーカにて音楽を再生し(たとえば、図5Aを参照して上述)、および/または、ある特定の実現の他の態様についてのある特定の論拠づけが可能である。たとえば、第2の選択可能要素556B2のユーザ選択の受信に応じて、自動アシスタントは、なぜ自動アシスタントが、クライアント装置510と通信可能に接続して音楽を再生可能なクライアント装置510または他のコンピュータ装置(たとえば、キッチンのスピーカ、書斎のスピーカなど)ではなく、リビングのスピーカで音楽を再生するのかについて、追加のデータを決定することができる。
たとえば、図5Bの例では、クライアント装置510のユーザが、第2の選択可能要素556B2のユーザの選択を提供することが、想定されている。第2の選択可能要素556B2のユーザの選択に基づいて決定された、追加のデータに基づき、自動アシスタントは、「リビングのスピーカは、あなたの電話のスピーカよりも安定しています」(場合によっては、リビング内にクライアント装置510のユーザがいることを検知したことに基づき(たとえば、図1のクライアント装置110の存在センサ111により))という追加の合成音声558B1を、クライアント装置510のスピーカを通じて、ユーザへの聴覚的な提示のために、および/または、クライアント装置510のディスプレイ580にて、ユーザへの視覚的な提示のために、提供可能である。一部の実装例では、自動アシスタントは、場合によっては、たとえば、「ロック音楽をあなたの電話と他の装置のどちらで再生したいですか?」というプロンプト558B2(たとえば、推奨データに基づいて決定)を、クライアント装置510のスピーカを通じて、ユーザへの聴覚的な提示のために、および/または、クライアント装置510のディスプレイ580にて、ユーザへの視覚的な提示のために、提供可能であり、プロンプトは、ユーザが、クライアント装置510を用いてロック音楽を再生すること、クライアント装置510がアクセス可能な別のソフトウェアアプリケーションを用いて音楽を再生すること、自動アシスタントにアーティスト/楽曲などを切り替えさせるなど、自動アシスタントに、何か別の実現候補を実行してもらいたい場合に、ユーザに対して、別の追加的な発話を提供することを要求する。ユーザが何か別の入力を提供した場合、自動アシスタントは、それに応じて、音楽の再生を適応可能である。
図4A~図4Cおよび図5A~図5Bの上述の例は、自動アシスタントが、メディアアプリケーションまたはメディアサービス用の特定の発話に基づき、実現を実行させ、追加の特定の発話に応じて、実現に関するある特定の論拠づけを提供することについて、上述されているが、それは例示のためであり、制限を意味しないことが理解されるべきである。たとえば、ここに説明する技術は、自動アシスタントにより実行される任意の実現の任意の態様について、および/または、自動アシスタントにより選択されたかもしくは選択されていない任意の実現候補についてのある特定の論拠づけを提供するために、利用可能である。さらに、図4A~図4Cおよび図5A~図5Bの上述の例は、ある推奨データに基づいて決定されたある特定の推奨行動を提供することについて、説明されているが(たとえば、自動アシスタントが、メディア再生用の特定のソフトウェアアプリケーションにアクセスすることを許可)、それも例示のためであり、制限を意味しないことが理解されるべきである。非限定的な例として、ここに説明する推奨行動は、任意のソフトウェアアプリケーション、任意のユーザアカウント、ユーザと関連づけられた任意のコンピュータ装置、クエリ活動履歴、および/または、自動アシスタントにより、任意のアシスタントコマンドをどのように実現するかを決定するのに、活用され得る、任意の他のユーザデータに対して、自動アシスタントがアクセスすることを許可することを、含み得る。
図6を参照すると、場合によっては、ここに説明する技術の1つまたは複数の態様を実行するのに利用され得る、例示的なコンピュータ装置610のブロック図が示されている。一部の実装例では、1つもしくは複数のクライアント装置、クラウドベース自動アシスタントコンポーネント、および/または、他の構成要素が、例示的コンピュータ装置610の1つまたは複数の構成要素を備えていてもよい。
通例、コンピュータ装置610は、いくつかの周辺機器とバスサブシステム612を介して通信する、少なくとも1つのプロセッサ614を備えている。これらの周辺機器は、たとえば、メモリサブシステム625およびファイル記憶サブシステム626を含む記憶サブシステム624と、ユーザインターフェース出力装置620と、ユーザインターフェース入力装置622と、ネットワークインターフェスサブシステム616とを、備えていてもよい。入出力装置により、ユーザは、コンピュータ装置610と対話可能である。ネットワークインターフェスサブシステム616は、インターフェースを、外部のネットワークに提供し、他のコンピュータ装置内の対応するインターフェース装置と、接続している。
ユーザインターフェース入力装置622は、キーボードと、マウス、トラックボール、タッチパッド、またはグラフィックタブレットなどのポインティングデバイスと、スキャナと、ディスプレイ内に組み込まれたタッチスクリーンと、音声認識システムと、マイクロフォンおよび/または他の種類の入力装置などのオーディオ入力装置とを、備えていてもよい。一般に、「入力装置」という用語の使用は、情報をコンピュータ装置610またはコンピュータネットワークへと入力する、あらゆる可能な種類の装置および方式を含むことが意図されている。
ユーザインターフェース出力装置620は、ディスプレイサブシステム、プリンタ、ファックス、または、音声出力装置などの非視覚的表示部を備えていてもよい。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネル装置、プロジェクタ装置、または、視覚的画像を作成する何らかの他の機構を備えていてもよい。また、ディスプレイサブシステムは、音声出力装置などの非視覚的表示部を提供してもよい。一般に、「出力装置」という用語の使用は、情報を、コンピュータ装置610から、ユーザへ、または他の機器もしくはコンピュータ装置へ出力する、あらゆる可能な種類の装置および方式を含むことが意図されている。
記憶サブシステム624は、ここで説明するモジュールのいくつかまたは全ての機能を提供する、プログラミングおよびデータ構造を格納する。たとえば、記憶サブシステム624は、ここで開示された方法の選択された態様を実行するとともに、図1および図2に示す様々な構成要素を実装する、ロジックを備えていてもよい。
これらのソフトウェアモジュールは、一般に、プロセッサ614によって、単独で、または他のプロセッサと組み合わせて、実行される。記憶サブシステム624内で用いられるメモリ625は、プログラム実行中に、命令およびデータを格納するためのメインランダムアクセスメモリ(RAM)630と、固定の命令が格納された読み取り専用メモリ(ROM)632とを含む、いくつかのメモリを備えていてもよい。ファイル記憶サブシステム626は、プログラムおよびデータファイルに永続的な記憶を提供可能であり、ハードディスクドライブ、関連づけられた着脱可能メディアを伴ったフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、または着脱可能メディアカートリッジを含んでいてもよい。ある特定の実装例の機能を実装したモジュールは、ファイル記憶サブシステム626により、記憶サブシステム624内に、または、プロセッサ614によりアクセス可能な他の機器内に、格納されてもよい。
バスサブシステム612は、コンピュータ装置610の様々な構成要素およびサブシステムを意図どおりに互いに通信させる機構を提供している。バスサブシステム612は、シングルバスとして模式的に示されているが、バスサブシステム612の代替的な実装例は、マルチバスを用いていてもよい。
コンピュータ装置610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または、任意の他のデータ処理システムもしくはコンピュータ装置を含む、様々な種類であり得る。コンピュータおよびネットワークは、性質が常に変化するため、図6に示すコンピュータ装置610の記述は、いくつかの実装例を説明するための具体的例としてのみの意図である。図6に示すコンピュータ装置よりも構成要素の個数が多いまたは少ないなど、コンピュータ装置610の他の多くの構成が可能である。
ここに説明するシステムが、ユーザについての個人情報を、収集するかあるいは監視するか、または、個人および/もしくは監視された情報を利用し得る状況では、ユーザには、プログラムまたは特徴が、ユーザ情報を収集するかどうかを制御する(たとえば、ユーザのソーシャルネットワーク、ソーシャル行動もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置)、または、ユーザに、より関連し得るコンテンツサーバから、コンテンツを受信するかどうか、および/もしくはどのように受信するかを制御する機会が、提供されていてもよい。また、あるデータが、格納されるかまたは使用される前に、1つまたは複数の方法で処理されてもよく、それにより個人識別情報が削除される。たとえば、ユーザの身元は、ユーザについて個人識別情報が識別できないように処理されてもよく、または、地理的位置情報が取得されるユーザの地理的位置は、ユーザの具体的な地理的位置が特定不能となるように、一般化されてもよい(市、郵便番号、または州レベル)。このように、ユーザは、情報が、どのように、ユーザについて収集されるかかつ/または使用されるかについて、制御可能であってもよい。
一部の実装例では、1つまたは複数のプロセッサにより実施される方法であり、方法は、クライアント装置のユーザから、アシスタントコマンドを含み、クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を、受信するステップと、ユーザ入力を処理して、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップと、自動アシスタントに、データを利用して、アシスタントコマンドのある特定の実現を、実行させるステップと、自動アシスタントに対して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストを含む、追加のユーザ入力を、クライアント装置のユーザから、受信するステップと、追加のユーザ入力を処理して、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、自動アシスタントに、追加のデータを利用させ、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを含む出力を、クライアント装置のユーザへの提示のために、提供させるステップとを含む方法が提供されている。
ここに開示する技術におけるこれらおよび他の実装例は、場合によっては、1つまたは複数の以下の特徴を含み得る。
一部の実装例では、アシスタントコマンドを含み、自動アシスタントに向けられたユーザ入力は、クライアント装置の1つまたは複数のマイクロフォンにより生成されたオーディオデータ内に、取り込まれてもよい。それらの実装例の一部の変形例では、ユーザ入力を処理して、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップは、自動音声認識(ASR)モデルを用いて、アシスタントコマンドを含むユーザ入力を取り込んだオーディオデータを処理してASR出力を生成するステップと、自然言語理解(NLU)モデルを用いて、ASR出力を処理して、NLU出力を生成するステップと、NLU出力に基づき、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップとを、含んでいてもよい。
一部の実装例では、自動アシスタントに向けられたアシスタントコマンドを含む、ユーザ入力は、クライアント装置のディスプレイを介して検出されたキー入力に取り込まれてもよい。それらの実装例の一部の変形例では、ユーザ入力を処理して、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップは、自然言語理解(NLU)モデルを用いて、キー入力を処理して、NLU出力を生成するステップと、NLU出力に基づき、アシスタントコマンドのある特定の実現の実行に利用するデータを、生成するステップとを、含んでいてもよい。
一部の実装例では、自動アシスタントに対して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストは、自動アシスタントに対して、なぜ自動アシスタントが、ある特定の実現の実行に利用する、複数の互いに異種のソフトウェアアプリケーションから、特定のソフトウェアアプリケーションを選択したのかについてのある特定の論拠づけを提供するように求める、特定のリクエストを含んでいてもよい。それらの実装例の一部の変形例では、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップは、ある特定の実現の実行に利用する特定のソフトウェアアプリケーションと関連づけられたメタデータを、取得するステップと、特定のソフトウェアアプリケーションと関連づけられたメタデータに基づき、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップとを、含んでいてもよい。
一部の実装例では、自動アシスタントに対して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストは、自動アシスタントに対して、なぜ自動アシスタントが、ある特定の実現の実行に利用する、ユーザ入力の複数の互いに異種の解釈から、ユーザ入力の特定の解釈を選択したのかについてのある特定の論拠づけを提供するように求める、特定のリクエストを含んでいてもよい。それらの実装例の一部の変形例では、追加のユーザ入力を処理して、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを決定するステップは、ある特定の実現の実行に利用するユーザ入力の特定の解釈と関連づけられたメタデータを、取得するステップと、ユーザ入力の特定の解釈と関連づけられたメタデータに基づき、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップとを、含んでいてもよい。
一部の実装例では、自動アシスタントに対して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストは、自動アシスタントに対して、なぜ自動アシスタントが、ある特定の実現の実行に利用する、ユーザの前記クライアント装置の代わりに、ユーザの追加のクライアント装置を選択したのかについてのある特定の論拠づけを提供するように求める、特定のリクエストを含んでいてもよい。それらの実装例の一部の変形例では、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップは、ある特定の実現の実行に利用する追加のクライアント装置と関連づけられたメタデータを、取得するステップと、追加のクライアント装置と関連づけられたメタデータに基づき、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップとを、含んでいてもよい。
一部の実装例では、自動アシスタントに対して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストは、自動アシスタントに対して、なぜ自動アシスタントが、ある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求める、一般的なリクエストを含んでいてもよい。それらの実装例の一部の変形例では、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップは、(i)ある特定の実現の実行に利用された、複数の互いに異種のソフトウェアアプリケーションのうちの特定のソフトウェアアプリケーション、(ii)ある特定の実現の実行に利用された、ユーザ入力の複数の互いに異種の解釈のうちのユーザ入力の特定の解釈、または、(iii)ある特定の実現の実行に利用された、ユーザのクライアント装置の代わりのユーザの追加のクライアント装置、の1つまたは複数と関連づけられた対応メタデータを取得するステップと、対応メタデータに基づき、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップとを、含んでいてもよい。
一部の実装例では、自動アシスタントに、追加のデータを利用させて、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを含む出力を、クライアント装置のユーザへの提示のために提供させるステップは、テキストから音声への(TTS)モデルを用いて、追加のデータを処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけに対応する合成音声を含む合成音声オーディオデータを生成するステップを、含んでいてもよい。
一部の実装例では、自動アシスタントに、追加のデータを利用させて、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを含む出力を、クライアント装置のユーザへの提示のために提供させるステップは、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを含む出力が、クライアント装置のディスプレイに視覚的に描画されるようにするステップを、含んでいてもよい。
一部の実装例では、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップは、追加のユーザ入力に含まれたリクエストに基づき、事前生成されたデータの複数の互いに異種のインスタンスから追加のデータを選択するステップを、含んでいてもよい。
一部の実装例では、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップは、追加のユーザ入力に含まれたリクエストに基づき、追加のデータを生成するステップを、含んでいてもよい。
一部の実装例では、1つまたは複数のプロセッサにより実施される方法が提供され、方法は、クライアント装置のユーザから、アシスタントコマンドを含み、クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を受信するステップと、アシスタントコマンドのある特定の実現の実行に利用するデータが決定可能かどうかを判定するステップと、アシスタントコマンドのある特定の実現の実行に利用するデータが、決定不能であるとの判定に応じて、ユーザ入力を処理して、アシスタントコマンドの別の実現の実行に利用する別のデータを、決定するステップと、自動アシスタントに、別のデータを利用して、アシスタントコマンドの別の実現を、実行させるステップと、自動アシスタントに対して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現の代わりに、アシスタントコマンドの別の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストを含む、追加のユーザ入力を、クライアント装置のユーザから、受信するステップと、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現の代わりに、アシスタントコマンドの別の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、自動アシスタントに、追加のデータを利用させて、なぜ自動アシスタントがアシスタントコマンドのある特定の実現の代わりにアシスタントコマンドの別の実現を実行したのかについてのある特定の論拠づけを含む出力を、クライアント装置のユーザへの提示のために提供させるステップとを含む。
ここに開示する技術におけるこれらおよび他の実装例は、場合によっては、1つまたは複数の以下の特徴を含み得る。
一部の実装例では、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現の代わりに、アシスタントコマンドの別の実現を実行したのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップは、追加のユーザ入力を処理して、自動アシスタントがアシスタントコマンドのある特定の実現を、どのように実行可能であるかについての推奨行動の生成に用いる推奨データを、生成するステップを、さらに含んでいてもよい。それらの実装例の一部の変形例では、出力は、自動アシスタントが、アシスタントコマンドのある特定の実行をどのように可能にすることができるかについての推奨行動をさらに含んでいてもよい。それらの実装例の別の型では、推奨行動は、選択されたときに自動アシスタントに推奨行動を実行させるプロンプトを含んでいてもよい。
一部の実装例では、1つまたは複数のプロセッサにより実施される方法が提供され、方法は、クライアント装置のユーザから、アシスタントコマンドを含み、クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を受信するステップと、アシスタントコマンドのある特定の実現の実行に利用するデータが決定可能かどうかを判定するステップと、アシスタントコマンドのある特定の実現の実行に利用するデータが決定不能であるとの判定に応じて、ユーザ入力を処理して、自動アシスタントがアシスタントコマンドのある特定の実現をどのように実行可能であるかについての推奨行動の生成に用いる推奨データを、決定するステップと、自動アシスタントに、推奨データを利用させて、クライアント装置のユーザへの提示のために、自動アシスタントが、アシスタントコマンドのある特定の実行をどのように可能とすることができるかについての推奨行動を含むとともに、選択されたときに自動アシスタントに推奨行動を実行させるプロンプトを含む出力を、提供するステップと、クライアント装置のユーザから、プロンプトのユーザ選択を含む追加のユーザ入力を受信することに応じて、自動アシスタントに、推奨行動を実行させて、アシスタントコマンドのある特定の実現の実行を可能にさせるステップとを含む。
ここに開示する技術におけるこれらおよび他の実装例は、場合によっては、1つまたは複数の以下の特徴を含み得る。
一部の実装例では、ユーザ入力を処理して、自動アシスタントがアシスタントコマンドのある特定の実現を、どのように実行可能であるかについての推奨行動の生成に用いる推奨データを、決定するステップは、アシスタントコマンドの別の実現がないとの判定に応じたものであってもよい。
一部の実装例では、1つまたは複数のプロセッサにより実施される方法が提供され、方法は、クライアント装置のユーザから、アシスタントコマンドを含み、クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を、受信するステップと、ユーザ入力を処理して、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップと、自動アシスタントに、データを利用して、アシスタントコマンドのある特定の実現を、実行させるステップと、自動アシスタントに対して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現の代わりに、アシスタントコマンドの別の実現を実行しなかったのかについてのある特定の論拠づけを提供するように求めるリクエストを含む、追加のユーザ入力を、クライアント装置のユーザから、受信するステップと、追加のユーザ入力を処理して、なぜ自動アシスタントが、アシスタントコマンドのある特定の実現の代わりに、アシスタントコマンドの別の実現を実行しなかったのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、自動アシスタントに、追加のデータを利用させて、なぜ自動アシスタントがアシスタントコマンドのある特定の実現の代わりに、アシスタントコマンドの別の実現を実行しなかったのかについてのある特定の論拠づけを含む出力を、クライアント装置のユーザへの提示のために提供させるステップとを、含む。
一部の実装例では、1つまたは複数のプロセッサにより実施される方法が提供され、方法は、クライアント装置のユーザから、アシスタントコマンドを含み、クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を、受信するステップと、ユーザ入力を処理して、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップと、自動アシスタントに、データを利用して、アシスタントコマンドのある特定の実現を実行させるステップと、自動アシスタントがアシスタントコマンドのある特定の実現を実行する際、自動アシスタントに、選択されたときに自動アシスタントに、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを提供させる選択可能要素を、クライアント装置のユーザへの提示のために視覚的に描画させるステップと、クライアント装置のユーザから、選択可能要素のユーザ選択を含む追加のユーザ入力を受信することに応じて、追加のユーザ入力を処理して、なぜ自動アシスタントがアシスタントコマンドのある特定の実現の代わりにアシスタントコマンドの別の実現を実行しなかったのかについてのある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、自動アシスタントに、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを含む出力を、クライアント装置のユーザへの提示のために提供させるステップとを、含む。
ここに開示する技術におけるこれらおよび他の実装例は、場合によっては、1つまたは複数の以下の特徴を含み得る。
一部の実装例では、アシスタントコマンドを含み、自動アシスタントに向けられたユーザ入力は、クライアント装置の1つまたは複数のマイクロフォンにより生成されたオーディオデータに取り込まれてもよい。それらの実装例の一部の変形例では、ユーザ入力を処理して、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップは、自動音声認識(ASR)モデルを用いて、アシスタントコマンドを含むユーザ入力を取り込んだオーディオデータを処理してASR出力を生成する、ステップと、自然言語理解(NLU)モデルを用いて、ASR出力を処理して、NLU出力を生成するステップと、NLU出力に基づき、アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップとを、含んでいてもよい。それらの実装例の別の型では、自動アシスタントに、選択されたときに自動アシスタントに、なぜ自動アシスタントがアシスタントコマンドのある特定の実現を実行したのかについてのある特定の論拠づけを提供させる選択可能要素を、クライアント装置のユーザへの提示のために視覚的に描画させるステップは、NLU出力と関連づけられたNLUメトリックがNLUメトリック閾値を満たさないとの判定に応じたものであってもよい。
さらに、一部の実装例は、1つまたは複数のプロセッサ(たとえば、1つまたは複数のコンピュータ装置の中央演算処理装置(CPU)、グラフィック処理装置(GPU)、および/またはテンソル処理装置(TPU))を備え、1つまたは複数のプロセッサは、付属のメモリに格納された命令を実行するように動作可能であり、命令は、上述の方法のいずれかを実行するように、構成されている。また、一部の実装例は、1つまたは複数のプロセッサにより実行可能で、上述の方法のいずれかを実行する、コンピュータ命令を格納した、1つまたは複数の非一時的コンピュータ可読記憶媒体を備えている。一部の実装例は、1つまたは複数のプロセッサにより実行可能で、上述の方法のいずれかを実行する命令を含む、コンピュータプログラム製品をも含む。
110 クライアント装置
111 存在センサ
112 ユーザインターフェースコンポーネント
113 自動アシスタントクライアント
114 音声取込/ASR/NLU/TTS/実現
115 クラウドベース自動アシスタントコンポーネント
119 実現
120 自動アシスタント
130 リクエストエンジン
140 推論エンジン
191 第1当事者サーバ
192 第3者サーバ
199 ネットワーク
401 ユーザ
410 クライアント装置
510 クライアント装置
580 ディスプレイ
584 マイクロフォンインターフェース要素
614 プロセッサ
616 ネットワークユーザインターフェース
620 ユーザインターフェース出力装置
622 ユーザインターフェース入力装置
624 記憶サブシステム
625 メモリサブシステム
626 ファイル記憶サブシステム
110A ユーザプロファイル
120A MLモデル
140A メタデータ
452A 発話
452B 発話
454A1 合成音声
454B1 合成音声
454C 合成音声
456A 発話
458A1 合成音声
458A2 プロンプト
458B1 合成音声
458B2 プロンプト
458C1 合成音声
458C2 プロンプト
460A 発話
552A 発話
552B 発話
554A 合成音声
554B 合成音声
556B1 第1の選択可能要素
556B2 第2の選択可能要素
558A1 合成音声
558A2 プロンプト
558B1 合成音声
55B2 プロンプト

Claims (30)

1つまたは複数のプロセッサにより実施される方法であって、前記方法は、
クライアント装置のユーザから、アシスタントコマンドを含み、前記クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を受信するステップと、
前記ユーザ入力を処理して、前記アシスタントコマンドのある特定の実現の実行に利用するデータを決定するステップと、
前記自動アシスタントに、前記データを利用して、前記アシスタントコマンドの前記ある特定の実現を実行させるステップと、
前記自動アシスタントに対して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストを含む、追加のユーザ入力を、前記クライアント装置の前記ユーザから受信するステップと、
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する追加のデータを決定するステップと、
前記自動アシスタントに、前記追加のデータを利用させて、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけを含む出力を、前記クライアント装置の前記ユーザへの提示のために提供させるステップと、を含む、方法。
前記アシスタントコマンドを含み、前記自動アシスタントに向けられた前記ユーザ入力は、前記クライアント装置の1つまたは複数のマイクロフォンにより生成されたオーディオデータに取り込まれる、請求項1に記載の方法。
前記ユーザ入力を処理して、前記アシスタントコマンドのある特定の実現の実行に利用するデータを決定するステップは、
自動音声認識(ASR)モデルを用いて、前記アシスタントコマンドを含む前記ユーザ入力を取り込んだ前記オーディオデータを処理して、ASR出力を生成するステップと、
自然言語理解(NLU)モデルを用いて、前記ASR出力を処理して、NLU出力を生成するステップと、
前記NLU出力に基づき、前記アシスタントコマンドのある特定の実現の実行に利用する前記データを決定するステップと、
を含む、請求項2に記載の方法。
前記自動アシスタントに向けられた前記アシスタントコマンドを含む前記ユーザ入力は、前記クライアント装置のディスプレイを介して検出されたキー入力に取り込まれる、請求項1から3のいずれか一項に記載の方法。
前記ユーザ入力を処理して、前記アシスタントコマンドのある特定の実現の実行に利用するデータを決定するステップは、
自然言語理解(NLU)モデルを用いて、前記キー入力を処理して、NLU出力を生成するステップと、
前記NLU出力に基づき、前記アシスタントコマンドのある特定の実現の実行に利用する前記データを生成するステップと、
を含む、請求項4に記載の方法。
前記自動アシスタントに対して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについて、ある特定の論拠づけを提供するように求める前記リクエストは、前記自動アシスタントに対して、なぜ前記自動アシスタントが前記ある特定の実現の実行に利用する複数の互いに異種のソフトウェアアプリケーションから特定のソフトウェアアプリケーションを選択したのかについて、前記ある特定の論拠づけを提供するように求める特定のリクエストを含む、請求項1から5のいずれか一項に記載の方法。
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する前記追加のデータを決定するステップは、
前記ある特定の実現の実行に利用する前記特定のソフトウェアアプリケーションと関連づけられたメタデータを取得するステップと、
前記特定のソフトウェアアプリケーションと関連づけられた前記メタデータに基づき、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する追加のデータを決定するステップとを、
含む、請求項6に記載の方法。
前記自動アシスタントに対して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求める前記リクエストは、前記自動アシスタントに対して、なぜ前記自動アシスタントが、前記ある特定の実現の実行に利用する前記ユーザ入力の複数の互いに異種の解釈から、前記ユーザ入力の特定の解釈を選択したのかについての前記ある特定の論拠づけを提供するように求める、特定のリクエストを含む、請求項1から7のいずれか一項に記載の方法。
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する前記追加のデータを決定するステップは、
前記ある特定の実現の実行に利用された前記ユーザ入力の前記特定の解釈と関連づけられたメタデータを取得するステップと、
前記ユーザ入力の前記特定の解釈と関連づけられた前記メタデータに基づき、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する追加のデータを決定するステップと、
を含む、請求項8に記載の方法。
前記自動アシスタントに対して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについてのある特定の論拠づけを提供するように求める前記リクエストは、前記自動アシスタントに対して、なぜ前記自動アシスタントが、前記ある特定の実現の実行に利用する前記ユーザの前記クライアント装置の代わりに、前記ユーザの追加のクライアント装置を選択したのかについての前記ある特定の論拠づけを提供するように求める、特定のリクエストを含む、請求項1から9のいずれか一項に記載の方法。
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する前記追加のデータを決定するステップは、
前記ある特定の実現の実行に利用された前記追加のクライアント装置と関連づけられたメタデータを取得するステップと、
前記追加のクライアント装置と関連づけられた前記メタデータに基づき、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する追加のデータを決定するステップと、
を含む、請求項10に記載の方法。
前記自動アシスタントに対して、なぜ前記自動アシスタントが、前記アシスタントコマンドの前記ある特定の実現を実行したのかについて、ある特定の論拠づけを提供するように求める前記リクエストは、前記自動アシスタントに対して、なぜ前記自動アシスタントが、前記ある特定の実現を実行したのかについて、前記ある特定の論拠づけを提供するように求める、一般的なリクエストを含む、請求項1から11のいずれか一項に記載の方法。
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する前記追加のデータを決定するステップは、
(i)前記ある特定の実現の実行に利用された、複数の互いに異種のソフトウェアアプリケーションのうちの特定のソフトウェアアプリケーション、(ii)前記ある特定の実現の実行に利用された、前記ユーザ入力の複数の互いに異種の解釈のうちの前記ユーザ入力の特定の解釈、または、(iii)前記ある特定の実現の実行に利用された、前記ユーザのクライアント装置の代わりの前記ユーザの追加のクライアント装置、の1つまたは複数と関連づけられた対応メタデータを取得するステップと、
前記対応メタデータに基づき、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、
を含む、請求項12に記載の方法。
前記自動アシスタントに、前記追加のデータを利用させて、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけを含む出力を、前記クライアント装置の前記ユーザへの提示のために提供させるステップは、
テキストから音声への(TTS)モデルを用いて、前記追加のデータを処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけに対応する合成音声を含む、合成音声オーディオデータを生成するステップを含む、
請求項1から13のいずれか一項に記載の方法。
前記自動アシスタントに、前記追加のデータを利用させて、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけを含む出力を、前記クライアント装置の前記ユーザへの提示のために提供させるステップは、
なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけを含む前記出力が、前記クライアント装置のディスプレイに視覚的に描画されるようにするステップを含む、
請求項1から14のいずれか一項に記載の方法。
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する前記追加のデータを決定するステップは、
前記追加のユーザ入力に含まれた前記リクエストに基づき、事前生成されたデータの複数の互いに異種のインスタンスから、前記追加のデータを選択するステップを含む、
請求項1から15のいずれか一項に記載の方法。
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する前記追加のデータを決定するステップは、
前記追加のユーザ入力に含まれた前記リクエストに基づき、前記追加のデータを生成するステップを含む、
請求項1から16のいずれか一項に記載の方法。
1つまたは複数のプロセッサにより実施される方法であって、前記方法は、
クライアント装置のユーザから、アシスタントコマンドを含み、前記クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を、受信するステップと、
前記アシスタントコマンドのある特定の実現の実行に利用するデータが決定可能かどうかを判定するステップと、
前記アシスタントコマンドのある特定の実現の実行に利用する前記データが決定不能であるとの判定に応じて、
前記ユーザ入力を処理して、前記アシスタントコマンドの別の実現の実行に利用する別のデータを決定するステップと、
前記自動アシスタントに、前記別のデータを利用させて、前記アシスタントコマンドの別の実現を実行させるステップと、
前記自動アシスタントに対して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの前記別の実現を実行したのかについてのある特定の論拠づけを提供するように求めるリクエストを含む、追加のユーザ入力を、前記クライアント装置の前記ユーザから、受信するステップと、
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの前記別の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、
前記自動アシスタントに、前記追加のデータを利用させて、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの前記別の実現を実行したのかについての前記ある特定の論拠づけを含む出力を、前記クライアント装置の前記ユーザへの提示のために提供させるステップと、
を含む、方法。
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの前記別の実現を実行したのかについての前記ある特定の論拠づけの提供に利用する前記追加のデータを、決定するステップは、
前記追加のユーザ入力を処理して、前記自動アシスタントが前記アシスタントコマンドのある特定の実現をどのように実行可能であるかについての推奨行動の生成に用いる推奨データを、生成するステップをさらに含む、請求項18に記載の方法。
前記出力は、前記自動アシスタントが、前記アシスタントコマンドのある特定の実行をどのように可能にすることができるかについての前記推奨行動をさらに含む、請求項19に記載の方法。
前記推奨行動は、選択されたときに前記自動アシスタントに前記推奨行動を実行させるプロンプトを含む、請求項20に記載の方法。
1つまたは複数のプロセッサにより実施される方法であって、前記方法は、
クライアント装置のユーザから、アシスタントコマンドを含み、前記クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を、受信するステップと、
前記アシスタントコマンドのある特定の実現の実行に利用するデータが決定可能かどうかを判定するステップと、
前記アシスタントコマンドのある特定の実現の実行に利用する前記データが決定不能であるとの判定に応じて、
前記ユーザ入力を処理して、前記自動アシスタントが前記アシスタントコマンドのある特定の実現をどのように実行可能であるかについての推奨行動の生成に用いる推奨データを、決定するステップと、
前記自動アシスタントに、前記推奨データを利用させて、前記自動アシスタントが前記アシスタントコマンドのある特定の実行をどのように可能にすることができるかについての前記推奨行動を含むとともに、選択されたときに前記自動アシスタントに前記推奨行動を実行させるプロンプトを含む出力を、前記クライアント装置の前記ユーザへの提示のために提供するステップと、
前記クライアント装置の前記ユーザから、前記プロンプトのユーザ選択を含む追加のユーザ入力を受信することに応じて、
前記自動アシスタントに、前記推奨行動を実行させて、前記アシスタントコマンドのある特定の実現の実行を可能にさせるステップと、
を含む、方法。
前記ユーザ入力を処理して、前記自動アシスタントが前記アシスタントコマンドのある特定の実現をどのように実行可能であるかについての前記推奨行動の生成に用いる推奨データを、決定するステップは、前記アシスタントコマンドの別の実現がないとの判定に応じたものである、請求項22に記載の方法。
1つまたは複数のプロセッサにより実施される方法であって、前記方法は、
クライアント装置のユーザから、アシスタントコマンドを含み、前記クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を、受信するステップと、
前記ユーザ入力を処理して、前記アシスタントコマンドのある特定の実現の実行に利用するデータを決定するステップと、
前記自動アシスタントに、前記データを利用させて、前記アシスタントコマンドのある特定の実現を実行させるステップと、
前記自動アシスタントに対して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの別の実現を実行しなかったのかについてのある特定の論拠づけを提供するように求めるリクエストを含む、追加のユーザ入力を、前記クライアント装置の前記ユーザから受信するステップと、
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの前記別の実現を実行しなかったのかについての前記ある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、
前記自動アシスタントに、前記追加のデータを利用させて、なぜ前記自動アシスタントが、前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの前記別の実現を実行しなかったのかについての前記ある特定の論拠づけを含む出力を、前記クライアント装置の前記ユーザへの提示のために提供させるステップと、
を含む、方法。
1つまたは複数のプロセッサにより実施される方法であって、前記方法は、
クライアント装置のユーザから、アシスタントコマンドを含み、前記クライアント装置にて少なくとも部分的に実行中の自動アシスタントに向けられたユーザ入力を、受信するステップと、
前記ユーザ入力を処理して、前記アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップと、
前記自動アシスタントに、前記データを利用させて、前記アシスタントコマンドのある特定の実現を実行させるステップと、
前記自動アシスタントが前記アシスタントコマンドのある特定の実現を実行する際、
前記自動アシスタントに、選択されたときに前記自動アシスタントに、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについてのある特定の論拠づけを提供させる選択可能要素を、前記クライアント装置の前記ユーザへの提示のために視覚的に描画させるステップと、
前記クライアント装置の前記ユーザから、前記選択可能要素のユーザ選択を含む追加のユーザ入力を、受信することに応じて、
前記追加のユーザ入力を処理して、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現の代わりに前記アシスタントコマンドの別の実現を実行しなかったのかについての前記ある特定の論拠づけの提供に利用する追加のデータを、決定するステップと、
前記自動アシスタントに、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけを含む出力を、前記クライアント装置の前記ユーザへの提示のために、提供させるステップと、
を含む、方法。
前記アシスタントコマンドを含み、前記自動アシスタントに向けられた前記ユーザ入力は、前記クライアント装置の1つまたは複数のマイクロフォンにより生成されたオーディオデータに取り込まれる、請求項25に記載の方法。
前記ユーザ入力を処理して、前記アシスタントコマンドのある特定の実現の実行に利用するデータを、決定するステップは、
自動音声認識(ASR)モデルを用いて、前記アシスタントコマンドを含む前記ユーザ入力を取り込んだ前記オーディオデータを処理して、ASR出力を生成する、ステップと、
自然言語理解(NLU)モデルを用いて、前記ASR出力を処理して、NLU出力を生成するステップと、
前記NLU出力に基づき、前記アシスタントコマンドのある特定の実現の実行に利用する前記データを決定するステップと、
を含む、請求項26に記載の方法。
前記自動アシスタントに、選択されたときに前記自動アシスタントに、なぜ前記自動アシスタントが前記アシスタントコマンドの前記ある特定の実現を実行したのかについての前記ある特定の論拠づけを提供させる前記選択可能要素を、前記クライアント装置の前記ユーザへの提示のために視覚的に描画させるステップは、前記NLU出力と関連づけられたNLUメトリックがNLUメトリック閾値を満たさないとの判定に応じたものである、請求項27に記載の方法。
少なくとも1つのプロセッサと、
実行されると、前記少なくとも1つのプロセッサに請求項1から28のいずれか一項に記載の動作を実行させる命令を格納したメモリと、
を備えた、システム。
実行されると、少なくとも1つのプロセッサに請求項1から28のいずれか一項に記載の動作を実行させる命令を格納した、非一時的コンピュータ可読記憶媒体。
JP2023537164A 2021-07-29 2021-11-29 アシスタントコマンドの実現についてのある特定の論拠づけの提供 Pending JP2024508209A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163226961P 2021-07-29 2021-07-29
US63/226,961 2021-07-29
US17/532,759 2021-11-22
US17/532,759 US20230031461A1 (en) 2021-07-29 2021-11-22 Providing certain reasoning with respect to fulfillment of an assistant command
PCT/US2021/060986 WO2023009156A1 (en) 2021-07-29 2021-11-29 Providing certain reasoning with respect to fulfillment of an assistant command

Publications (1)

Publication Number Publication Date
JP2024508209A true JP2024508209A (ja) 2024-02-26

Family

ID=79165039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023537164A Pending JP2024508209A (ja) 2021-07-29 2021-11-29 アシスタントコマンドの実現についてのある特定の論拠づけの提供

Country Status (4)

Country Link
EP (1) EP4150536A1 (ja)
JP (1) JP2024508209A (ja)
KR (1) KR20230118959A (ja)
WO (1) WO2023009156A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11069351B1 (en) * 2018-12-11 2021-07-20 Amazon Technologies, Inc. Vehicle voice user interface
US11170774B2 (en) * 2019-05-21 2021-11-09 Qualcomm Incorproated Virtual assistant device
US12051409B2 (en) * 2019-10-24 2024-07-30 Capital One Services, Llc Systems and methods for automated discrepancy determination, explanation, and resolution with personalization
JP2023538923A (ja) * 2020-08-21 2023-09-12 オラクル・インターナショナル・コーポレイション テキスト分類についての説明を与えるための技術

Also Published As

Publication number Publication date
WO2023009156A1 (en) 2023-02-02
KR20230118959A (ko) 2023-08-14
EP4150536A1 (en) 2023-03-22

Similar Documents

Publication Publication Date Title
US20230074406A1 (en) Using large language model(s) in generating automated assistant response(s
AU2021463794B2 (en) Using large language model(s) in generating automated assistant response(s)
JP7170739B2 (ja) リモートに生成された自動化アシスタントコンテンツのレンダリングにおけるクライアントデバイスレイテンシの軽減
US12057119B2 (en) Contextual suppression of assistant command(s)
JP7554921B2 (ja) 自動アシスタントに関する自然な会話を可能にすること
US20230031461A1 (en) Providing certain reasoning with respect to fulfillment of an assistant command
US20230061929A1 (en) Dynamically configuring a warm word button with assistant commands
CN114981772A (zh) 在不需要自动助理的基于语音的调用的情况下基于检测到的环境状况来选择性地调用自动助理
US12094454B2 (en) Multimodal intent understanding for automated assistant
US12020703B2 (en) Enabling natural conversations with soft endpointing for an automated assistant
JP2024508209A (ja) アシスタントコマンドの実現についてのある特定の論拠づけの提供
CN116711283A (zh) 提供关于履行助理命令的确定性推理
US12106755B2 (en) Warm word arbitration between automated assistant devices
US20240203413A1 (en) Selecting an automated assistant as the primary automated assistant for a device based on determined affinity scores for candidate automated assistants
US20240111811A1 (en) Selecting a device to respond to device-agnostic user requests
US20240161741A1 (en) Short-Lived Repeat Voice Commands
US20240078374A1 (en) System(s) and method(s) for causing contextually relevant emoji(s) to be visually rendered for presentation to user(s) in smart dictation
US20240312460A1 (en) Enabling natural conversations with soft endpointing for an automated assistant
US20240312455A1 (en) Transferring actions from a shared device to a personal device associated with an account of a user
US20240031339A1 (en) Method(s) and system(s) for utilizing an independent server to facilitate secure exchange of data
KR20240096889A (ko) 자동화 어시스턴트 디바이스 사이의 웜 워드 중재
CN118339609A (zh) 自动化助理装置之间的暖词仲裁
WO2024054271A1 (en) System(s) and method(s) for causing contextually relevant emoji(s) to be visually rendered for presentation to user(s) in smart dictation
WO2024058796A1 (en) Restricting third party application access to audio data content

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241015