IP Library Granted Patent US 11,657,095
Granted Patent B1
US 11,657,095 · App. 16/835,823 · Granted May 23, 2023

Supplemental content placement for natural language interfaces

Inventors: Felix Xiaomeng Wu (Seattle, WA); Shyam Sunder Kumar (Seattle, WA); Daniel Paludi (Seattle, WA); Pablo Carballude Gonzalez (Seattle, WA); Manish Dutt Sharma (Sammamish, WA); Luying Pan (Seattle, WA); Rongzhou Shen (Bothell, WA)
Assignee: Amazon Technologies, Inc.
G06F16/90332G06F16/9035G10L15/22G10L2015/228
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,657,095
App. No.
16/835,823
Filed
Mar 31, 2020
Granted
May 23, 2023
Kind
B1
Art Unit
2658
USPC
704/9
Abstract

A system is provided for determining when supplemental content unresponsive to a user input is to be presented during a user interaction. The system determines an action, performance of which, may trigger output of supplemental content. The system may determine when, during a user interaction corresponding to performance of the action, supplemental content may be presented. The system may use constraint data indicating a device type via which the content may be presented, and a time duration during which the supplemental content may be presented. If the constraint data is satisfied, the system may determine to present the supplemental content.

Claims (149)

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.

2. The computer-implemented method of claim 1 , further comprising:

during the first time period:

receiving a second user input from a second device;

determining that the second user input corresponds to a first sequence of performing a first action prior to performing a second action when an event occurs;

determining that performance of the first action triggers second content that is unresponsive to the second user input; and

determining a second sequence of performing the first action, presenting the second content after performance of the first action, and performing the second action after presenting the second content; and

during the second time period:

receiving event data;

determining that the event data triggers the second sequence;

determining third output data corresponding to performance of the first action;

determining fourth output data corresponding to the second content;

determining fifth output data corresponding to performance of the second action;

sending the third output data to the second device;

sending the fourth output data to the second device; and

sending the fifth output data to the second device.

3. The computer-implemented method of claim 1 , further comprising:

during the first time period:

receiving, from the skill system, a first indication of a first content type corresponding to the first content; and

receiving, from the skill system, a second indication of a second content type corresponding to the first content;

during the second time period:

receiving profile data associated with the utterance;

determining, using the profile data, that the first content type results in receipt of an additional user input; and

determining the content placement data to include an identifier associated with the first content type,

wherein receiving the second output data from the skill system comprises receiving the second output data corresponding to the first content type.

4. A method comprising:

receiving action data corresponding to an action to be performed in response to a user input received from a device;

determining, using trigger data, to present supplemental content separate from and in addition to performance of the action, wherein the trigger data indicates the supplemental content is to be output in response to performance of the action corresponding to an action type;

receiving constraint data indicating at least one of a device type and a time duration;

determining at least one of:

the device is associated with the device type, and

a current time is within the time duration;

based at least in part on determining at least one of the device is associated with the device type and the current time is within the time duration, determining the constraint data permits output of the supplemental content;

determining, based at least in part on the constraint data permitting output of the supplemental content, placement data representing when the supplemental content is to be presented with respect to performance of the action; and

determining output data including the action data and the placement data, the output data to be used to generate an output in response to the user input.

5. The method of claim 4 , further comprising:

receiving, from the device, a second user input;

determining that an intent associated with the second user input corresponds to performance of the action;

determining second output data corresponding to performance of the action, the second output data responsive to the second user input;

determining, using the output data, that output of supplemental content in addition to performance of the action is triggered;

receiving third output data representing the supplemental content;

sending the second output data to the device; and

sending the third output data to the device for output after the second output data.

6. The method of claim 4 , further comprising:

determining that the user input corresponds to an intent to perform a first action and a second action,

wherein receiving the action data comprises receiving a first output sequence representing performance of the first action prior to performance of the second action;

determining a second output sequence representing performance of the first action prior to presenting the supplemental content and performance of the second action after presenting the supplemental content; and

determining the output data to include the second output sequence.

7. The method of claim 4 , further comprising:

receiving a second user input associated with a user profile;

determining that the second user input corresponds to the action type;

determining that the action type corresponds to generation of unresponsive content;

receiving context data corresponding to the second user input;

determining, using the context data, to not present the unresponsive content; and

generating second output data responsive to the second user input.

8. The method of claim 4 , further comprising:

determining a first skill capable of performing the action responsive to the user input;

receiving, from the first skill, a first content type corresponding to the supplemental content;

receiving, from a second skill, a second content type corresponding to the supplemental content; and

determining the placement data to include an identifier associated with the second content type.

9. The method of claim 4 , further comprising:

sending the placement data to a first content provider system;

receiving, from the first content provider system, second output data corresponding to the supplemental content;

sending the placement data to a second content provider system;

receiving, from the second content provider system, third output data corresponding to the supplemental content;

receiving user profile data associated with the user input; and

determining, using the user profile data, to present the second output data as the supplemental content.

10. The method of claim 4 , further comprising:

receiving user profile data associated with the user input;

determining a first content type corresponding to the supplemental content;

determining a second content type corresponding to the supplemental content;

determining, using the user profile data, that the first content type results in receipt of an additional user input; and

determining the placement data to include an identifier associated with the first content type.

11. The method of claim 4 , further comprising:

determining second output data corresponding to performance of the action;

determining, using the placement data, third output data corresponding to the supplemental content;

sending the second output data to the device; and

sending the third output data to the device.

12. The method of claim 4 , further comprising:

determining, using the output data, to send a first output to the device, the first output representing performance of the action;

determining, using the placement data, a second output representing the supplemental content; and

determining, using the output data, to send the second output to the device after sending the first output.

13. A system comprising:

at least one processor; and

at least one memory comprising instructions that, when executed by the at least one processor, cause the system to:

receive action data corresponding to an action to be performed in response to a user input received from a device;

determine, using trigger data, to present supplemental content separate from and in addition to performance of the action, wherein the trigger data indicates the supplemental content is to be output in response to performance of the action corresponding to an action type;

receive constraint data representing at least one condition for content;

determine the constraint data permits output of the supplemental content;

determine, based at least in part on the constraint data permitting output of the supplemental content, placement data representing when the supplemental content is to be presented with respect to performance of the action;

determine first output data including the action data and the placement data, the first output data to be used to generate an output in response to the user input;

determine, using the first output data, to send second output data to the device, the second output data representing performance of the action;

determine, using the placement data, third output data representing the supplemental content; and

determine, using the first output data, to send the third output data to the device after sending the second output data.

14. The system of claim 13 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

receive, from the device, a second user input;

determine that an intent associated with the second user input corresponds to performance of the action;

determine fourth output data corresponding to performance of the action, the fourth output data responsive to the second user input;

determine, using the first output data, that output of supplemental content in addition to performance of the action is triggered;

receive fifth output data representing the supplemental content;

send the fourth output data to the device; and

send the fifth output data to the device for output after the fourth output data.

15. The system of claim 13 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

determine that the user input corresponds to an intent to perform a first action and a second action,

wherein the instructions that cause the system to receive the action data further cause the system to receive a first output sequence representing performance of the first action prior to performance of the second action;

determine a second output sequence representing performance of the first action prior to presenting the supplemental content and performance of the second action after presenting the supplemental content; and

determine the first output data to include the second output sequence.

16. The system of claim 13 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

receive a second user input associated with a user profile;

determine that the second user input corresponds to the action type;

determine that the action type corresponds to generation of unresponsive content;

receive context data corresponding to the second user input;

determine, using the context data, to not present the unresponsive content; and

generate fourth output data responsive to the second user input.

17. The system of claim 13 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

determine a first skill capable of performing the action responsive to the user input;

receive, from the first skill, a first content type corresponding to the supplemental content;

receive, from a second skill, a second content type corresponding to the supplemental content; and

determine the placement data to include an identifier associated with the second content type.

18. The system of claim 13 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

send the placement data to a first content provider system;

receive, from the first content provider system, the third output data representing the supplemental content;

send the placement data to a second content provider system;

receive, from the second content provider system, fourth output data corresponding to the supplemental content;

receive user profile data associated with the user input; and

determine, using the user profile data, to present the third output data as the supplemental content.

19. The system of claim 13 , wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

receive user profile data associated with the user input;

determine a first content type corresponding to the supplemental content;

determine a second content type corresponding to the supplemental content;

determine, using the user profile data, that the first content type results in receipt of an additional user input; and

determine the placement data to include an identifier associated with the first content type.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2023
From: KUMAR, SHYAM SUNDER
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 062504/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2022
From: KUMAR, SHYAM SUNDER
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 059580/0840 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2020
From: WU, FELIX XIAOMENG; PALUDI, DANIEL; GONZALEZ, PABLO CARBALLUDE; SHARMA, MANISH DUTT; PAN, LUYING; SHEN, RONGZHOU
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 052273/0241 →
Cited By (4)
US 12,306,700 US 12,406,013 US 12,444,418 US 12,445,687