IP Library Granted Patent US 10,490,195
Granted Patent B1
US 10,490,195 · App. 15/716,411 · Granted Nov 26, 2019

Using system command utterances to generate a speaker profile

Inventors: Vishwanathan Krishnamoorthy (Lexington, MA); Sundararajan Srinivasan (Sunnyvale, CA); Spyridon Matsoukas (Hopkinton, MA); Aparna Khare (San Jose, CA); Arindam Mandal (Redwood City, CA); Krishna Subramanian (San Jose, CA); Gregory Michael Hart (Mercer Island, WA)
Assignee: Amazon Technologies, Inc.
G10L17/04G06F3/167G10L13/00G10L15/1815G10L15/22G10L17/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 10,490,195
App. No.
15/716,411
Granted
Nov 26, 2019
Kind
B1
Abstract

Systems, methods, and devices related to establishing voice identity profiles for use with voice-controlled devices are provided. The embodiments disclosed enhance user experience by customizing the enrollment process to utilize voice recognition for each user based on historical information which can be used in the selection process of phrases a user speaks during enrollment of a voice recognition function or skill. The selection process can utilize phrases that have already been spoken to the electronic device; it can utilize phrases, contacts, or other personalized information it can obtain from the user account of the person enrolling; it can use any of the information just described to select specific words to enhance the probably of achieving higher phonetic matches based on words the individual user is more likely to speak to the device.

Claims (99)

1. A computer-implemented method comprising:

determining a user account associated with a user device being used for enrollment in voice recognition functionality;

accessing stored data associated with the user account, the stored data corresponding to a plurality of historical utterances that were determined to be used regularly with the user device within a temporal window;

analyzing the plurality of historical utterances for phonetic diversity;

selecting a first enrollment utterance from the plurality of historical utterances based on the phonetic diversity;

sending, to the user device, a first request that a user speak the first enrollment utterance;

receiving, from the user device, first enrollment audio data that is representative of the first enrollment utterance being spoken;

processing the first enrollment audio data to determine a speaker profile representative of the user's voice;

sending, to the user device, a second request that the user speak the first enrollment utterance;

receiving, from the user device, second enrollment audio data that is representative of the first enrollment utterance being spoken; and

processing the second enrollment audio data to determine a modified speaker profile.

2. The method of claim 1 , wherein sending the first request comprises:

causing the first utterance to be displayed on a display screen of the user device.

3. The method of claim 1 , further comprising:

receiving, from the user device, first input audio data representing a first utterance;

generating, using automatic speech recognition (ASR) processing, text data representing the first input audio data; and

determining, using natural language understanding (NLU) processing and the text data, that the first utterance comprises an intent to enroll in voice recognition functionality, and

wherein the first request and the second request are sent to the user device as audio output data for playback to the user.

4. The method of claim 1 , wherein sending, to the user device, the first request comprises:

generating, using text-to-speech processing, first audio output representing the first enrollment utterance, and

sending the first audio output to the user device for playback; and the method further comprises:

receiving the first enrollment audio data;

generating, using ASR processing, first text data based on the first enrollment audio data; and

determining the speaker profile based, at least in part, on the first text data and the first enrollment audio data.

5. The method of claim 4 , further comprising:

generating, using text-to-speech processing, second audio output representing an additional enrollment utterance selected from the set of enrollment utterances;

sending the second audio output to the user device for playback;

receiving third enrollment audio data, from the user device, the third enrollment audio data representative of the additional enrollment utterance being spoken;

generating, using ASR processing, second text data based on the third enrollment audio data;

determining a modified speaker profile based, at least in part, on the second text data and the third enrollment audio data; and

determining that the modified speaker profile exceeds a predetermined threshold.

6. The method of claim 1 , further comprising:

accessing the stored data comprising a plurality of previously used utterances;

analyzing the plurality of previously used utterances for phonetic diversity; and

determining a set of enrollment utterances by selecting a subset of the plurality of previously used utterances based on providing phonetic diversity during enrollment in a voice-based speaker identification system.

7. The method of claim 6 , wherein determining the set of enrollment utterances comprises:

selecting a second enrollment utterance for the set of enrollment utterances based on an association between the second enrollment utterance and a first domain;

selecting a third enrollment utterance for the set of enrollment utterances based on an association between the third enrollment utterance and a second domain;

selecting a fourth enrollment utterance for the set of enrollment utterances based on an association between the fourth enrollment utterance and a third domain; and

selecting a fifth enrollment utterance for the set of enrollment utterances based on phonetic diversity as compared to the second, third and fourth enrollment utterances.

8. The method of claim 1 , further comprising:

accessing contact data associated with the user account;

determining a second enrollment utterance using the contact data;

sending, to the user device, a third request that the user speak the second enrollment utterance;

receiving, from the user device, third enrollment audio data representative of the second enrollment utterance being spoken by the user; and

processing the third enrollment audio data to determine a second speaker profile corresponding to the contact data.

9. A system comprising:

communications circuitry;

at least one processor; and

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

receive a set of enrollment utterances selected from a plurality of sets of enrollment utterances, wherein at least one enrollment utterance of the set of enrollment utterances is based on providing phonetic diversity during enrollment in a voice-based speaker identification system;

select a first enrollment utterance from the set of enrollment utterances based on an association between the first enrollment utterance and a first domain;

send, to a user device, a first request that a user speak the first enrollment utterance;

receive, from the user device, first enrollment audio data that is representative of the first enrollment utterance being spoken;

process the first enrollment audio data to determine a speaker profile representative of the user's voice;

send, to the user device, a second request that the user speak the first enrollment utterance;

receive second enrollment audio data from the user device that is representative of the first enrollment utterance being spoken;

process the second enrollment audio data to determine a first modified speaker profile;

determine that, based on the second enrollment audio data, the quality of the speaker profile exceeds a threshold;

determine that an additional enrollment utterance from the set of enrollment utterances is phonetically diverse from the first enrollment utterance;

select the additional enrollment utterance based on an association between the additional enrollment utterance and a second domain;

send a third request that the user speak the additional enrollment utterance;

receive additional enrollment audio data from the voice-activated device that is representative of the additional enrollment utterance being spoken; and

process the additional enrollment audio data to determine a second modified speaker profile.

10. The system of claim 9 , wherein the instructions that, when executed, cause the system to send the first request comprise instructions that, when executed, further cause the system to:

cause the first enrollment utterance to be displayed on a display screen of the user device.

11. The system of claim 9 , further comprising instructions that, when executed by the at least one processor, further cause the system to:

receiving, from the user device, first input audio data representing a first utterance;

generating, using automatic speech recognition (ASR) processing, text data representing the first input audio data; and

determining, using natural language understanding (NLU) processing and the text data, that the first utterance comprises an intent to enroll in voice recognition functionality, and

wherein the first request, the second request, and the third request are sent to the user device as audio output data for playback to the user.

12. The system of claim 9 , further comprising instructions that, when executed by the at least one processor, further cause the system to:

generate, using text-to-speech processing, first audio output representing the first enrollment utterance;

send the first audio output to the user device for playback;

receive the first enrollment audio data;

generate, using ASR processing, first text data based on the first enrollment audio data; and

determine the speaker profile based, at least in part, on the first text data and the first enrollment audio data.

13. The system of claim 12 , further comprising instructions that, when executed by the at least one processor, further cause the system to:

generate, using text-to-speech processing, a second audio output representing the additional enrollment utterance;

send the second audio output to the user device for playback;

receive the additional enrollment audio data representative of the additional enrollment utterance being spoken;

generate, using ASR processing, second text data from the additional enrollment audio data;

determine a modified speaker profile based, at least in part, on the second text data and the additional enrollment audio data; and

determine, that the modified speaker profile exceeds a predetermined threshold.

14. The system of claim 9 , wherein the instructions that, when executed, cause the system to receive the set of enrollment utterances comprise instructions that, when executed, further cause the system to:

access stored data comprising a plurality of previously used utterances;

analyze the plurality of previously used utterances; and

select a subset of the plurality of previously used utterances as part of the set of enrollment utterances.

15. The system of claim 9 , wherein the instructions that, when executed, cause the system to the set of enrollment utterances comprise instructions that, when executed, further cause the system to:

determine a user account associated with the user device being used for enrollment in voice recognition functionality;

access stored data associated with the user account to determine a plurality of historical utterances that were used with the user device within a predetermined temporal window;

analyze the plurality of historical utterances for phonetic diversity; and

select at least one historical utterance from the plurality of historical utterances for inclusion in the set of enrollment utterances.

16. The system of claim 9 , further comprising instructions that, when executed by the at least one processor, further cause the system to:

access contact data associated with a user account corresponding to the user;

determine a second enrollment utterance using the contact data;

send a fourth request that the user speak the second enrollment utterance;

receive second enrollment audio data representative of the second enrollment utterance being spoken; and

process the second enrollment audio data to determine a second speaker profile corresponding to the contact data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2017
From: KRISHNAMOORTHY, VISHWANATHAN; SRINIVASAN, SUNDARARAJAN; MATSOUKAS, SPYRIDON; KHARE, APARNA; MANDAL, ARINDAM; SUBRAMANIAN, KRISHNA; HART, GREGORY MICHAEL
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 043922/0089 →
Cited By (29)
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,228 US 12,236,952 US 12,254,887 US 12,260,234 US 12,277,954 US 12,293,763 US 12,301,635 US 12,307,505 US 12,333,404 US 12,361,943 US 12,367,879 US 12,381,880 US 12,386,434 US 12,386,491 US 12,405,717 US 12,431,128 US 12,477,470 US 12,556,890 US 12,608,171 US 12,613,730 US 12,619,452 US 12,682,898