US 11,656,884 B2
Application integration with a digital assistant
Carey E. Radebaugh, Los Gatos, CA (US); Brandon J. Newendorp, San Francisco, CA (US); Corey J. Peterson, Cupertino, CA (US); Rohit Dasari, San Francisco, CA (US); Trungtin Tran, Sunnyvale, CA (US); and Vineet Khosla, Cupertino, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Oct. 8, 2019, as Appl. No. 16/595,962.
Application 16/595,962 is a continuation of application No. 15/863,523, filed on Jan. 5, 2018, granted, now 11,204,787.
Claims priority of provisional application 62/444,162, filed on Jan. 9, 2017.
Prior Publication US 2020/0042334 A1, Feb. 6, 2020
Int. Cl. G06F 3/048 (2013.01); G06F 9/451 (2018.01); G06F 3/16 (2006.01); G10L 15/18 (2013.01); G06F 16/245 (2019.01); G06F 16/332 (2019.01); G06F 16/951 (2019.01); G10L 15/26 (2006.01); G06F 3/0482 (2013.01); G06F 3/0488 (2022.01); G10L 15/187 (2013.01); G06N 20/00 (2019.01); G06F 40/30 (2020.01)
CPC G06F 9/453 (2018.02) [G06F 3/167 (2013.01); G06F 16/245 (2019.01); G06F 16/3329 (2019.01); G06F 16/951 (2019.01); G10L 15/1815 (2013.01); G10L 15/26 (2013.01); G06F 3/0482 (2013.01); G06F 3/0488 (2013.01); G06F 40/30 (2020.01); G06N 20/00 (2019.01); G10L 15/187 (2013.01)] 60 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions, which when executed by one or more processors of an electronic device having a display, cause the electronic device to:
receive an audio input including a natural-language user input;
determine a user intent based on the natural-language user input;
identify, based on the determined user intent, an intent object of a set of intent objects, wherein the intent object is a data structure that corresponds to the determined user intent and that includes one or more data fields for one or more parameters associated with the determined user intent;
identify, based on the intent object, a software application for performing a task corresponding to the determined user intent;
provide the intent object to the software application;
in accordance with a determination that the task cannot be fulfilled, provide a list of one or more software applications identified for performing the task;
receive an indication of a selected software application from among the one or more listed software applications;
receive, from the selected software application, a response indicating whether the task was successfully performed; and
provide an output indicating whether the task was performed.