IP Library Granted Patent US 12,205,589
Granted Patent B1
US 12,205,589 · App. 17/851,864 · Granted Jan 21, 2025

Processing speculative data using data history information

Inventor: Joe Pemberton (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G10L15/22G10L15/30G10L17/22
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 12,205,589
App. No.
17/851,864
Granted
Jan 21, 2025
Kind
B1
Abstract

Techniques for processing speculative data using data history information are described. A system may receive, at a first component, first data and second data for use in a first operation. The component may use metadata associated with each of the first data and the second data to determine that the first data and the second data correspond to different versions of data of the same data type. Based on such a determination, the component may cease processing corresponding to the first operation with respect to the first data and the second data.

Claims (128)

1. A computer-implemented method, comprising:

receiving, by an orchestrator component of a speech processing system, first natural language understanding (NLU) output data corresponding to a first utterance;

receiving, by the orchestrator component, a first user profile identifier corresponding to the first utterance;

determining, using first metadata associated with the first NLU output data, that the first NLU output data is based at least in part on first automatic speech recognition (ASR) output data, the first ASR output data corresponding to a first version of ASR output data;

determining, using second metadata associated with the first user profile identifier, that the first user profile identifier is based at least in part on second ASR output data, the second ASR output data corresponding to a second version of the ASR output data;

determining that the first NLU output data and the first user profile identifier are to be used in a first computing operation;

determining, based at least in part on the first metadata and the second metadata that the first ASR output data is different from the second ASR output data; and

based at least in part on determining that the first ASR output data is different from the second ASR output data, ceasing processing corresponding to the first computing operation with respect to the first NLU output data and the first user profile identifier.

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

receiving, by the orchestrator component, second NLU output data corresponding to a second utterance;

receiving, by the orchestrator component, first data representing a user presence;

receiving, by the orchestrator component, a second user profile identifier corresponding to the second utterance;

determining, using third metadata associated with the second NLU output data, that the second NLU output data is based at least in part on third ASR output data, the third ASR output data corresponding to a third version of ASR output data;

determining, using fourth metadata associated with the first data, that the first data is based at least in part on first user presence data, the first user presence data corresponding to a first version of user presence data;

determining, using fifth metadata associated with the second user profile identifier, that the second user profile identifier is based at least in part on fourth ASR output data, the fourth ASR output data corresponding to a fourth version of ASR output data;

determining that the second NLU output data, the first data, and the second user profile identifier are to be used in a second computing operation;

determining, based at least in part on the third metadata and the fifth metadata that the third ASR output data is different from the second ASR output data;

based at least in part on determining the third ASR output data is different from the fourth ASR output data, ceasing processing corresponding to the second computing operation with respect to the second NLU output data and the second user profile identifier; and

using the first data to perform at least partial processing corresponding to the second computing operation.

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

receiving, by the orchestrator component, second NLU output data corresponding to a second utterance;

receiving third metadata indicating that the second NLU output data is based at least in part on a third version of ASR output data;

determining that the second NLU output data is to be used in a second computing operation;

performing, by the orchestrator component, the second computing operation to output first data;

generating fourth metadata indicating that the first data is based at least in part on the second NLU output data and the third ASR output data; and

sending, to a first component of the speech processing system, the first data and the fourth metadata.

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

receiving, by the orchestrator component, second NLU output data corresponding to a second utterance;

receiving, by the orchestrator component, a second user profile identifier corresponding to the second utterance;

determining, using third metadata associated with the second NLU output data, that the second NLU output data is based at least in part on third ASR output data, the third ASR output data corresponding to a third version of ASR output data;

determining, using fourth metadata associated with the second user profile identifier, that the second user profile identifier is based at least in part on fourth ASR output data, the fourth ASR output data corresponding to a fourth version of ASR output data;

determining that the second NLU output data and the second user profile identifier are to be used in a second computing operation;

determining a score representing a similarity between the third ASR output data and the fourth ASR output data;

determining that the score fails to satisfy a condition; and

based at least in part on the score failing to satisfy the condition, performing the second computing operation using the second NLU output data.

5. A computer-implemented method, comprising:

receiving, by a first component, first data for use in a first operation;

receiving, by the first component, second data for use in the first operation;

determining, using first metadata associated with the first data, that the first data is based at least in part on third data corresponding to a first version of data of a first data type;

determining, using second metadata associated with the second data, that the second data is based at least in part on fourth data corresponding to a second version of the data of the first data type;

determining that the first version is different from the second version; and

based at least in part on determining that the first version is different from the second version, ceasing processing corresponding to the first operation with respect to the first data and the second data.

6. The computer-implemented method of claim 5 , wherein:

the first component corresponds to an orchestrator component of a speech processing system,

the first data corresponds to natural language understanding (NLU) results data,

the second data corresponds to user recognition data, and

the first data type corresponds to automatic speech recognition (ASR) results data.

7. The computer-implemented method of claim 5 , further comprising:

receiving, by the first component, fifth data for use in a second operation;

receiving, by the first component, sixth data for use in the second operation;

determining, using third metadata associated with the fifth data, that the fifth data is based at least in part on seventh data corresponding to a first version of data of a second data type;

determining, using fourth metadata associated with the sixth data, that the sixth data is based at least in part on eighth data corresponding to a second version of data of the second data type, the second version of the data of the second data type being more recent than the first version of the data of the second data type;

determining that the first version of the data of the second data type and the second version of the data of the second data type are the same; and

based at least in part on determining that the first version of the data of the second data type is the same as the second version of the data of the second data type, ceasing processing with respect to the sixth data.

8. The computer-implemented method of claim 5 , further comprising:

receiving, by the first component, fifth data for use in a second operation;

receiving, by the first component, sixth data for use in the second operation;

receiving, by the first component, seventh data for use in the second operation;

determining, using third metadata associated with the fifth data, that the fifth data is based at least in part on eighth data corresponding to a first version of data of a second data type;

determining, using fourth metadata associated with the sixth data, that the sixth data is based at least in part on ninth data corresponding to a first version of data of a third data type different from the data of the second data type;

determining, using fifth metadata associated with the seventh data, that the seventh data is based at least in part on tenth data corresponding to a second version of data of the second data type;

based at least in part on the first version of the data of the second data type being different from the second version of the data of the second data type, ceasing processing with respect to the fifth data and the seventh data; and

using the sixth data to perform at least partial processing with regard to the second operation.

9. The computer-implemented method of claim 5 , comprising:

receiving, by the first component, fifth data for use in a second operation;

receiving third metadata indicating that the fifth data is based at least in part on sixth data;

performing, by the first component, the second operation to output seventh data;

generating fourth metadata indicating that the seventh data is based at least in part on the fifth data and the sixth data; and

sending, to a second component of a speech processing system, the seventh data and the fourth metadata.

10. The computer-implemented method of claim 5 , further comprising:

receiving, by the first component, fifth data for use in a second operation;

receiving, by the first component, sixth data for use in the second operation;

determining, using third metadata associated with the fifth data, that the fifth data is based at least in part on sixth data corresponding to a first version of data of a second data type;

determining, using fourth metadata associated with the sixth data, that the sixth data is based at least in part on seventh data corresponding to a second version of data of the second data type;

determining a score representing a similarity between the sixth data and the seventh data;

determining that the score fails to satisfy a condition; and

based at least in part on the score failing to satisfy the condition, performing the second operation using the fifth data.

11. The computer-implemented method of claim 10 , further comprising:

storing fifth metadata associated with the fifth data, the fifth metadata indicating that the fifth data is based at least in part on seventh data corresponding to the second version of the data of the second data type.

12. The computer-implemented method of claim 5 , wherein:

determining that the first version is different from the second version based at least in part on the first version being generated during a first period of time and the second version being generated during a second period of time.

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, by a first component, first data for use in a first operation;

receive, by the first component, second data for use in the first operation;

determine, using first metadata associated with the first data, that the first data is based at least in part on third data corresponding to a first version of data of a first data type;

determine, using second metadata associated with the second data, that the second data is based at least in part on fourth data corresponding to a second version of the data of the first data type;

determine that the first version is different from the second version; and

based at least in part on determination that the first version is different from the second version, cease processing corresponding to the first operation with respect to the first data and the second data.

14. The system of claim 13 , wherein:

the first component corresponds to an orchestrator component of a speech processing system,

the first data corresponds to natural language understanding (NLU) results data,

the second data corresponds to user recognition data, and

the first data type corresponds to automatic speech recognition (ASR) results data.

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

receive, by the first component, fifth data for use in a second operation;

receive, by the first component, sixth data for use in the second operation;

determine, using third metadata associated with the fifth data, that the fifth data is based at least in part on seventh data corresponding to a first version of data of a second data type;

determine, using fourth metadata associated with the sixth data, that the sixth data is based at least in part on eighth data corresponding to a second version of data of the second data type, the second version of the data of the second data type being more recent than the first version of the data of the second data type;

determine that the first version of the data of the second data type and the second version of the data of the second data type are the same; and

based at least in part on determining that the first version of the data of the second data type is the same as the second version of the data of the second data type, cease processing with respect to the sixth data.

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

receive, by the first component, fifth data for use in a second operation;

receive, by the first component, sixth data for use in the second operation;

receive, by the first component, seventh data for use in the second operation;

determine, using third metadata associated with the fifth data, that the fifth data is based at least in part on eighth data corresponding to a first version of data of a second data type;

determine, using fourth metadata associated with the sixth data, that the sixth data is based at least in part on ninth data corresponding to a first version of data of a third data type different from the data of the second data type;

determine, using fifth metadata associated with the seventh data, that the seventh data is based at least in part on tenth data corresponding to a second version of data of the second data type;

based at least in part on the determination that the first version of the data of the second data type being different from the second version of the data of the second data type, ceasing processing with respect to the fifth data and the seventh data; and

use the sixth data to perform at least partial processing with regard to the second operation.

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

receive, by the first component, fifth data for use in a second operation;

receive third metadata indicating that the fifth data is based at least in part on sixth data;

perform, by the first component, the second operation to output seventh data;

generate fourth metadata indicating that the seventh data is based at least in part on the fifth data and the sixth data; and

send, to a second component of a speech processing system, the seventh data and the fourth metadata.

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

receive, by the first component, fifth data for use in a second operation;

receive, by the first component, sixth data for use in the second operation;

determine, using third metadata associated with the fifth data, that the fifth data is based at least in part on sixth data corresponding to a first version of data of a second data type;

determine, using fourth metadata associated with the sixth data, that the sixth data is based at least in part on seventh data corresponding to a second version of data of the second data type;

determine a score representing a similarity between the sixth data and the seventh data;

determine that the score fails to satisfy a condition; and

based at least in part on the determination that score fails to satisfy the condition, perform the second operation using the fifth data.

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

store fifth metadata associated with the fifth data, the fifth metadata indicating that the fifth data is based at least in part on seventh data corresponding to the second version of the data of the second data type.

20. The system of claim 13 , wherein the determination that the first version is different from the second version is based at least in part on a determination that the first version was generated during a first period of time and the second version was generated during a second period of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2022
From: PEMBERTON, JOE
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 060340/0329 →
References Cited (2)
US 10685669B1 · Lan · 2020 [cited by examiner]
US 20160071107A1 · Van · 2016 [cited by examiner]
Cited By (1)
US 12,361,933