IP Library Granted Patent US 11,475,883
Granted Patent B1
US 11,475,883 · App. 16/425,101 · Granted Oct 18, 2022

Natural language dialog scoring

Inventors: Ravi Chikkanayakanahalli Mallikarjuniah (Sammamish, WA); Priya Rao Chagaleti (Seattle, WA); Shiladitya Roy (Bellevue, WA); Christopher Forbes Will (Boston, MA); Cole Ira Brendel (Malden, MA); Wei Huang (Kirkland, WA); Sarthak Anand (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G10L15/1815G10L15/22G10L15/30G06F40/30G06F40/35G10L15/142G10L15/16G10L2015/088G10L2015/223
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,475,883
App. No.
16/425,101
Granted
Oct 18, 2022
Kind
B1
Abstract

Techniques for generating a personalization value that measures how tailored certain system interactions are for a user are described. A dialog exchange between a user and a skill may be determined, with the dialog exchange including user input data and system output data. It may be determined that the system output data was generated without respect to at least one previous user input or system output of the dialog exchanges. Based on this, a personalization value may be generated and sent to the skill.

Claims (118)

1. A method comprising:

receiving first user input data corresponding to a request to be performed by a skill component, the first user input data representing a first user input as part of a dialog exchange;

determining a user type associated with the dialog exchange;

associating the first user input data with a dialog identifier;

receiving, from the skill component, first system output data responsive to the first user input data;

associating the first system output data with the dialog identifier;

causing the first system output data to be presented to a user;

after causing presentation of the first system output data, receiving second user input data representing a second user input as part of the dialog exchange;

associating the second user input data with the dialog identifier;

receiving, from the skill component, second system output data responsive to the second user input data;

associating the second system output data with the dialog identifier;

causing the second system output data to be presented to the user;

determining that the dialog exchange has ended;

determining at least one of the first system output data or the second system output data was generated based at least in part on the user type and based at least in part on information represented in at least one of the first user input data or the second user input data;

determining a first score representing at least one of the first system output data or the second system output data was generated based at least in part on information represented in at least one of the first user input data or the second user input data;

determining at least one policy based on the user type;

determining a second score representing conformance of the first system output data or the second system output data to the at least one policy; and

sending the first score and the second score to the skill component.

2. The method of claim 1 , wherein the dialog exchange corresponds to a first user goal and wherein the method further comprises:

receiving third user input data;

determining the third user input data corresponds to a second user goal;

associating the third user input data with a second dialog identifier; and

based at least in part on associating the third user input data with the second dialog identifier, determining the dialog exchange has ended,

wherein the first score and the second score are determined after determining the dialog exchange has ended.

3. The method of claim 1 , further comprising:

determining the first user input data corresponds to a first natural language understanding (NLU) intent;

receiving third user input data; and

determining the third user input data corresponds to a second NLU intent,

wherein the first score and the second score are determined after determining the third user input data corresponds to the second NLU intent.

4. The method of claim 1 , further comprising:

receiving third user input data;

determining third system output data responsive to the third user input data; and

determining the third system output data was generated independent of information represented in at least one of the first user input data, the first system output data, the second user input data, or the second system output data,

wherein the first score and the second score are determined after determining the third system output data was generated independent of information represented in at least one of the first user input data, the first system output data, the second user input data, or the second system output data.

5. 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:

determine a dialog exchange between a user and a skill component, the dialog exchange comprising user input data and system output data;

determine a user type associated with the dialog exchange;

determine the system output data was generated based at least in part on the user type and based at least in part on at least one previous user input of the user or at least one previous system output of the dialog exchange;

determine first data representing that the system output data was generated based at least in part on at least one previous system output of the dialog exchange;

determine at least one policy based on the user type;

process the system output data with respect to second data representing the at least one policy to determine third data representing conformance of the system output data to the at least one policy; and

send the first data and the third data to the skill component.

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

determine the dialog exchange has ended,

wherein the first data and the third data are determined after determining the dialog exchange has ended.

7. The system of claim 6 , wherein the dialog exchange corresponds to a first user goal and wherein the at least one memory further comprises instructions that, when executed by the at least one processor, further cause the system to:

receive second user input data; and

determine the second user input data corresponds to a second user goal,

wherein determining the dialog exchange has ended is further based at least in part on determining the second user input data corresponds to the second user goal.

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

determine the user input data corresponds to a natural language understanding (NLU) intent;

receive second user input data; and

determine the second user input data corresponds to a second NLU intent,

wherein determining the dialog exchange has ended is further based at least in part on determining the second user input data corresponds to the second NLU intent.

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

receive second user input data;

determine second system output data responsive to the second user input data; and

determine the second system output data was generated independent of information represented in at least one previous user input or at least one previous system output of the dialog exchange,

wherein determining the dialog exchange has ended is further based at least in part on determining the second system output data was generated independent of information represented in at least one previous user input or at least one previous system output of the dialog exchange.

10. The system of claim 5 , 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 third data representing a naturalness of the dialog exchange, the third data being determined based at least in part on:

determining a fourth data representing that the user input data resulted in invocation of the skill component without the user input data including a name of the skill component;

determining a fifth data representing that a natural language processing system was able to determine an intent of the user input data without the user input data including preconfigured phrasing;

determining the system output data comprises a prompt corresponding to default system output data;

determining a first number of variants of the prompt;

determining a second number corresponding to variants of the prompt output during the dialog exchange; and

determining a sixth data based at least in part on the first number and the second number.

11. The system of claim 5 , 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 third data representing a relevance of the dialog exchange, the third data being determined based at least in part on

determining a fourth data representing that the system output data was generated based at least in part on the user type.

12. The system of claim 5 , 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 number of consecutive user inputs and system outputs corresponding to a user goal corresponding to the dialog exchange, the first number corresponding to at least one previous dialog exchange corresponding to the user goal;

determine a second number representing consecutive user inputs and system outputs of the dialog exchange;

determine a third data representing a closeness of the second number to the first number; and

determine a fourth data representing the user goal was completed.

13. A method comprising:

determining a dialog exchange between a user and a skill component, the dialog exchange comprising user input data and system output data;

determining a user type associated with the dialog exchange;

determining the system output data was generated based at least in part on the user type and without respect to at least one previous user input of the user or at least one previous system output of the dialog exchange;

determining first data representing that the system output data was generated based at least in part on at least one previous system output of the dialog exchange;

determining at least one policy based on the user type;

processing the system output data with respect to second data representing the at least one policy to determine third data representing conformance of the system output data to the at least one policy; and

sending the first data and the third data to the skill component.

14. The method of claim 13 , further comprising:

determining the dialog exchange has ended,

wherein the first data and the third data are determined after determining the dialog exchange has ended.

15. The method of claim 14 , wherein the dialog exchange corresponds to a first user goal and wherein the method further comprises:

receiving second user input data; and

determining the second user input data corresponds to a second user goal,

wherein determining the dialog exchange has ended is further based at least in part on determining the second user input data corresponds to the second user goal.

16. The method of claim 14 , further comprising:

determining the user input data corresponds to a natural language understanding (NLU) intent;

receiving second user input data; and

determining the second user input data corresponds to a second NLU intent,

wherein determining the dialog exchange has ended is further based at least in part on determining the second user input data corresponds to the second NLU intent.

17. The method of claim 14 , further comprising:

receiving second user input data;

determining second system output data responsive to the second user input data; and

determining the second system output data was generated independent of information represented in at least one previous user input or at least one previous system output of the dialog exchange,

wherein determining the dialog exchange has ended is further based at least in part on determining the second system output data was generated independent of information represented in at least one previous user input or at least one previous system output of the dialog exchange.

18. The method of claim 13 , further comprising:

determining a third data representing a naturalness of the dialog exchange, the third data being determined based at least in part on:

determining a fourth data representing that the user input data resulted in invocation of the skill component without the user input data including a name of the skill component;

determining a fifth data representing that a natural language processing system was able to determine an intent of the user input data without the user input data including preconfigured phrasing;

determining the system output data comprises a prompt corresponding to default system output data;

determining a first number of variants of the prompt;

determining a second number corresponding to variants of the prompt output during the dialog exchange; and

determining a sixth data based at least in part on the first number and the second number.

19. The method of claim 13 , further comprising:

determining a third data representing a relevance of the dialog exchange, the third data being determined based at least in part on

determining a fourth data representing that the system output data was generated based at least in part on the user type.

20. The method of claim 13 , wherein further comprising:

determining a first number of consecutive user inputs and system outputs corresponding to a user goal corresponding to the dialog exchange, the first number corresponding to at least one previous dialog exchange corresponding to the user goal;

determining a second number representing consecutive user inputs and system outputs of the dialog exchange;

determining a third data representing a closeness of the second number to the first number; and

determining a fourth data representing the user goal was completed.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2020
From: MALLIKARJUNIAH, RAVI CHIKKANAYAKANAHALLI; CHAGALETI, PRIYA RAO; ROY, SHILADITYA; WILL, CHRISTOPHER FORBES; BRENDEL, COLE IRA; HUANG, WEI; ANAND, SARTHAK
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 053853/0089 →
Cited By (2)
US 12,556,503 US 12,562,162