US 11,657,095 B1
Supplemental content placement for natural language interfaces
Felix Xiaomeng Wu, Seattle, WA (US); Shyam Sunder Kumar, Seattle, WA (US); Daniel Paludi, Seattle, WA (US); Pablo Carballude Gonzalez, Seattle, WA (US); Manish Dutt Sharma, Sammamish, WA (US); Luying Pan, Seattle, WA (US); and Rongzhou Shen, Bothell, WA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Mar. 31, 2020, as Appl. No. 16/835,823.
Int. Cl. G10L 15/22 (2006.01); G06F 16/9032 (2019.01); G06F 16/9035 (2019.01)
CPC G06F 16/90332 (2019.01) [G06F 16/9035 (2019.01); G10L 15/22 (2013.01); G10L 2015/228 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
during a first time period:
receiving trigger data representing an action to be performed using a skill system;
determining that performance of the action triggers output of first content that is unresponsive to a first user input;
receiving, from the skill system, constraint data corresponding to the first content, the constraint data indicating a device type and a time duration;
determining, using the constraint data, content placement data indicating when the first content is to be presented during a user interaction; and
associating the trigger data with the content placement data; and
during a second time period after the first time period:
receiving, from a device, audio data representing an utterance;
determining that an intent associated with the utterance corresponds to performance of the action;
determining first output data corresponding to performance of the action, the first output data responsive to the utterance;
determining, using the trigger data, that the first content is to be presented, the first content being unresponsive to the utterance;
sending the content placement data to the skill system;
receiving, from the skill system, second output data representing the first content;
determining that the device is associated with the device type;
determining that a current time is within the time duration;
sending the first output data to the device; and
sending the second output data to the device for output after the first output data.