IP Library Granted Patent US 10,249,300
Granted Patent B2
US 10,249,300 · App. 15/272,214 · Granted Apr 2, 2019

Intelligent list reading

Inventors: Susan L. Booker (Cupertino, CA); Murali Krishnan (Cupertino, CA); Garrett L. Weinberg (Cupertino, CA); Aimee Piercy (Cupertino, CA)
Assignee: Apple Inc.
G10L15/22G10L13/02G10L15/08G10L15/30G10L15/02G10L15/1815G10L2015/221G10L2015/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 10,249,300
App. No.
15/272,214
Granted
Apr 2, 2019
Kind
B2
Abstract

Systems and processes for operating an intelligent automated assistant to perform intelligent list reading are provided. In one example process, a spoken user request associated with a plurality of data items is received. The process determines whether a degree of specificity of the spoken user request is less than a threshold level. In response to determining that a degree of specificity of the spoken user request is less than a threshold level, one or more attributes related to the spoken user request are determined. The one or more attributes are not defined in the spoken user request. Additionally, a list of data items based on the spoken user request and the one or more attributes is obtained. A spoken response comprising a subset of the list of data items is generated and the spoken response is provided.

Claims (157)

1. An electronic device for operating a digital assistant, comprising:

one or more processors; and

memory having instructions stored thereon, the instructions, when executed by the one or more processors, cause the one or more processors to:

receive a spoken user request associated with a plurality of data items;

determine whether a degree of specificity of the spoken user request is less than a threshold level;

in response to determining that a degree of specificity of the spoken user request is less than a threshold level:

determine one or more attributes related to the spoken user request, the one or more attributes not defined in the spoken user request;

obtain a list of data items based on the spoken user request and the one or more attributes;

generate a spoken response comprising a subset of the list of data items; and

provide the spoken response.

2. The device of claim 1 , wherein the instructions further cause the one or more processors to:

determine a number of parameters defined in the spoken user request, wherein the degree of specificity is based on the number of parameters defined in the spoken user request.

3. The device of claim 1 , wherein the instructions further cause the one or more processors to:

determine a number of possible data items that satisfy the spoken user request, wherein the degree of specificity is based on the number of possible data items.

4. The device of claim 1 , wherein the instructions further cause the one or more processors to:

determine a size of metadata associated with data items that satisfy the spoken user request, wherein the threshold level is based on the size of the metadata.

5. The device of claim 1 , wherein the instructions further cause the one or more processors to:

determine a domain corresponding to the spoken user request, wherein the threshold level is based on the domain.

6. The device of claim 1 , wherein the instructions further cause the one or more processors to:

determine a degree of familiarity associated with data items that satisfy the spoken user request, wherein the threshold level is based on the degree of familiarity.

7. The device of claim 1 , wherein generating the spoken response includes generating a spoken preamble that describes an attribute of the one or more attributes, and wherein providing the spoken response includes providing the spoken preamble prior to providing the subset of the list of data items.

8. The device of claim 1 , wherein the spoken response includes a description that specifies an additional attribute for each data item of the subset of the list of data items, and wherein the additional attribute is not defined in the spoken user request and is different from any of the one or more attributes.

9. The device of claim 1 , wherein the subset of the list of data items has at most a predetermined number of data items.

10. The device of claim 1 , wherein the instructions further cause the one or more processors to:

receive speech input;

in response to receiving the speech input, determine whether the speech input corresponds to a rejection of the subset of the list of data items; and

in response to determining that the speech input corresponds to a rejection of the subset of the list of data items:

determine one or more second attributes related to the spoken user request, wherein the one or more second attributes are different from the one or more attributes and are not defined in the spoken user request;

obtain a second list of data items based on the spoken user request and the one or more second attributes;

generate a second spoken response comprising a subset of the second list of data items; and

provide the second spoken response.

11. The device of claim 10 , wherein the instructions further cause the one or more processors to:

in response to determining that the speech input corresponds to a rejection of the subset of the list of data items, provide a spoken prompt for the user to provide additional attributes to refine the spoken user request.

12. The device of claim 11 , wherein the instructions further cause the one or more processors to:

receive a second speech input responsive to the spoken prompt;

obtain a third list of data items based on the spoken user request and one or more attributes defined in the second speech input;

generate a third spoken response comprising a subset of the third list of data items; and

provide the third spoken response.

13. The device of claim 10 , wherein the instructions further cause the one or more processors to:

in response to determining that the speech input does not correspond to a rejection of the subset of the list of data items, determine whether the speech input corresponds to an acceptance of a data item in the subset of the list of data items; and

in response to determining that the speech input corresponds to an acceptance of a data item in the subset of the list of data items, provide content associated with the accepted data item.

14. The device of claim 1 , wherein the instructions further cause the one or more processors to:

determine whether each of a predetermined number of previous spoken responses includes a spoken prompt indicating that additional data items are available;

in response to determining that each of a predetermined number of previous spoken responses does not include a spoken prompt indicating that additional data items are available, provide, in the spoken response, a spoken prompt indicating that additional data items are available; and

in response to determining that each of a predetermined number of previous spoken responses includes a spoken prompt indicating that additional data items are available, forgo providing, in the spoken response, a spoken prompt indicating that additional data items are available.

15. The device of claim 1 , wherein the instructions further cause the one or more processors to:

in response to determining that a degree of specificity of the spoken user request is not less than a threshold level:

obtain a fourth list of data items based on the spoken user request;

determine whether a number of data items in the fourth list of data items exceeds a predetermined number; and

in response to determining that a number of data items in the fourth list of data items exceeds a predetermined number:

generate a fourth spoken response comprising a subset of the fourth list of data items; and

provide the fourth spoken response.

16. The device of claim 15 , wherein generating the fourth spoken response includes generating a fourth spoken preamble that indicates a number of data items in the fourth list of data items.

17. The device of claim 15 , wherein a number of data items in the subset of the fourth list of data items is less than or equal to the predetermined number.

18. The device of claim 15 , wherein the instructions further cause the one or more processors to:

in response to determining that a number of data items in the fourth list of data items does not exceed a predetermined number:

generate a fifth spoken response comprising the fourth list of data items; and

provide the fifth spoken response.

19. The device of claim 15 , wherein the instructions further cause the one or more processors to:

select, based on an attribute defined in the spoken user request, the subset of the fourth list of data items from the fourth list of data items.

20. The device of claim 15 , wherein the fourth list of data items has a predetermined order, wherein the subset of the fourth list of data items includes a first N data items in the fourth list of data items, and wherein N is less than or equal to the predetermined number.

21. The device of claim 15 , wherein the spoken user request is associated with a user, and wherein the predetermined number is based on a degree of familiarity of the user with data items in the fourth list of data items.

22. The device of claim 15 , wherein the predetermined number is based on an amount of metadata associated with each data item in the fourth list of data items.

23. The device of claim 15 , wherein the instructions further cause the one or more processors to:

while providing the fourth spoken response, detect a second user request;

in response to detecting the second user request:

cease to provide the fourth spoken response;

generate a sixth spoken response based on the second user request and a portion of the fourth spoken response that coincides with detecting the second user request; and

provide the sixth spoken response.

24. A method for operating a digital assistant, the method comprising:

at an electronic device with a processor and memory:

receiving a spoken user request associated with a plurality of data items;

determining whether a degree of specificity of the spoken user request is less than a threshold level;

in response to determining that a degree of specificity of the spoken user request is less than a threshold level:

determining one or more attributes related to the spoken user request, the one or more attributes not defined in the spoken user request;

obtaining a list of data items based on the spoken user request and the one or more attributes;

generating a spoken response comprising a subset of the list of data items; and

providing the spoken response.

25. A non-transitory computer-readable medium having instructions stored thereon, the instructions, when executed by one or more processors, cause the one or more processors to:

receive a spoken user request associated with a plurality of data items;

determine whether a degree of specificity of the spoken user request is less than a threshold level;

in response to determining that a degree of specificity of the spoken user request is less than a threshold level:

determine one or more attributes related to the spoken user request, the one or more attributes not defined in the spoken user request;

obtain a list of data items based on the spoken user request and the one or more attributes;

generate a spoken response comprising a subset of the list of data items; and

provide the spoken response.

26. The method of claim 24 , further comprising:

determining a number of parameters defined in the spoken user request, wherein the degree of specificity is based on the number of parameters defined in the spoken user request.

27. The method of claim 24 , further comprising:

determining a number of possible data items that satisfy the spoken user request, wherein the degree of specificity is based on the number of possible data items.

28. The method of claim 24 , further comprising:

determining a size of metadata associated with data items that satisfy the spoken user request, wherein the threshold level is based on the size of the metadata.

29. The method of claim 24 , further comprising:

determining a domain corresponding to the spoken user request, wherein the threshold level is based on the domain.

30. The method of claim 24 , further comprising:

determining a degree of familiarity associated with data items that satisfy the spoken user request, wherein the threshold level is based on the degree of familiarity.

31. The method of claim 24 , wherein generating the spoken response includes generating a spoken preamble that describes an attribute of the one or more attributes, and wherein providing the spoken response includes providing the spoken preamble prior to providing the subset of the list of data items.

32. The method of claim 24 , wherein the spoken response includes a description that specifies an additional attribute for each data item of the subset of the list of data items, and wherein the additional attribute is not defined in the spoken user request and is different from any of the one or more attributes.

33. The method of claim 24 , wherein the subset of the list of data items has at most a predetermined number of data items.

34. The method of claim 24 , further comprising:

receiving speech input;

in response to receiving the speech input, determining whether the speech input corresponds to a rejection of the subset of the list of data items; and

in response to determining that the speech input corresponds to a rejection of the subset of the list of data items:

determining one or more second attributes related to the spoken user request, wherein the one or more second attributes are different from the one or more attributes and are not defined in the spoken user request;

obtaining a second list of data items based on the spoken user request and the one or more second attributes;

generating a second spoken response comprising a subset of the second list of data items; and

providing the second spoken response.

35. The method of claim 34 , further comprising:

in response to determining that the speech input corresponds to a rejection of the subset of the list of data items, providing a spoken prompt for the user to provide additional attributes to refine the spoken user request.

36. The method of claim 35 , further comprising:

receiving a second speech input responsive to the spoken prompt;

obtaining a third list of data items based on the spoken user request and one or more attributes defined in the second speech input;

generating a third spoken response comprising a subset of the third list of data items; and

providing the third spoken response.

37. The method of claim 24 , further comprising:

determining whether each of a predetermined number of previous spoken responses includes a spoken prompt indicating that additional data items are available;

in response to determining that each of a predetermined number of previous spoken responses does not include a spoken prompt indicating that additional data items are available, providing, in the spoken response, a spoken prompt indicating that additional data items are available; and

in response to determining that each of a predetermined number of previous spoken responses includes a spoken prompt indicating that additional data items are available, forgo providing, in the spoken response, a spoken prompt indicating that additional data items are available.

38. The method of claim 24 , further comprising:

in response to determining that a degree of specificity of the spoken user request is not less than a threshold level:

obtaining a fourth list of data items based on the spoken user request;

determining whether a number of data items in the fourth list of data items exceeds a predetermined number; and

in response to determining that a number of data items in the fourth list of data items exceeds a predetermined number:

generating a fourth spoken response comprising a subset of the fourth list of data items; and

providing the fourth spoken response.

39. The computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

determine a number of parameters defined in the spoken user request, wherein the degree of specificity is based on the number of parameters defined in the spoken user request.

40. The computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

determine a number of possible data items that satisfy the spoken user request, wherein the degree of specificity is based on the number of possible data items.

41. The computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

determine a size of metadata associated with data items that satisfy the spoken user request, wherein the threshold level is based on the size of the metadata.

42. The computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

determine a domain corresponding to the spoken user request, wherein the threshold level is based on the domain.

43. The computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

determine a degree of familiarity associated with data items that satisfy the spoken user request, wherein the threshold level is based on the degree of familiarity.

44. The computer-readable storage medium of claim 25 , wherein generating the spoken response includes generating a spoken preamble that describes an attribute of the one or more attributes, and wherein providing the spoken response includes providing the spoken preamble prior to providing the subset of the list of data items.

45. The computer-readable storage medium of claim 25 , wherein the spoken response includes a description that specifies an additional attribute for each data item of the subset of the list of data items, and wherein the additional attribute is not defined in the spoken user request and is different from any of the one or more attributes.

46. The computer-readable storage medium of claim 25 , wherein the subset of the list of data items has at most a predetermined number of data items.

47. The computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

receive speech input;

in response to receiving the speech input, determine whether the speech input corresponds to a rejection of the subset of the list of data items; and

in response to determining that the speech input corresponds to a rejection of the subset of the list of data items:

determine one or more second attributes related to the spoken user request, wherein the one or more second attributes are different from the one or more attributes and are not defined in the spoken user request;

obtain a second list of data items based on the spoken user request and the one or more second attributes;

generate a second spoken response comprising a subset of the second list of data items; and

provide the second spoken response.

48. The computer-readable storage medium of claim 47 , wherein the instructions further cause the one or more processors to:

in response to determining that the speech input corresponds to a rejection of the subset of the list of data items, provide a spoken prompt for the user to provide additional attributes to refine the spoken user request.

49. The computer-readable storage medium of claim 48 , wherein the instructions further cause the one or more processors to:

receive a second speech input responsive to the spoken prompt;

obtain a third list of data items based on the spoken user request and one or more attributes defined in the second speech input;

generate a third spoken response comprising a subset of the third list of data items; and

provide the third spoken response.

50. The computer-readable storage medium of claim 25 , wherein the instructions further cause the one or more processors to:

determine whether each of a predetermined number of previous spoken responses includes a spoken prompt indicating that additional data items are available;

in response to determining that each of a predetermined number of previous spoken responses does not include a spoken prompt indicating that additional data items are available, provide, in the spoken response, a spoken prompt indicating that additional data items are available; and

in response to determining that each of a predetermined number of previous spoken responses includes a spoken prompt indicating that additional data items are available, forgo providing, in the spoken response, a spoken prompt indicating that additional data items are available.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2016
From: BOOKER, SUSAN L.; KRISHNAN, MURALI; WEINBERG, GARRETT L.; PIERCY, AIMEE
To: APPLE INC.
Reel/Frame 040642/0163 →
Continuity (2)
Provisional Application 62346236 · Jun 6, 2016
Related Publication 20170352350A1 · Dec 7, 2017
Cited By (40)
US 12,190,873 US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,211,502 US 12,216,894 US 12,219,314 US 12,223,282 US 12,236,952 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,203 US 12,293,763 US 12,293,764 US 12,301,635 US 12,307,423 US 12,327,558 US 12,333,404 US 12,361,943 US 12,367,879 US 12,379,894 US 12,380,281 US 12,380,876 US 12,386,434 US 12,386,491 US 12,431,128 US 12,477,470 US 12,530,543 US 12,556,890 US 12,567,415 US 12,608,171 US 12,613,621 US 12,613,730 US 12,619,452 US 12,620,179 US 12,640,151 US 12,670,639 US 12,675,839