IP Library Granted Patent US 9,542,936
Granted Patent B2
US 9,542,936 · App. 13/886,205 · Granted Jan 10, 2017

Fast out-of-vocabulary search in automatic speech recognition systems

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 9,542,936
App. No.
13/886,205
Granted
Jan 10, 2017
Kind
B2
Abstract

A method including: receiving, on a computer system, a text search query, the query including one or more query words; generating, on the computer system, for each query word in the query, one or more anchor segments within a plurality of speech recognition processed audio files, the one or more anchor segments identifying possible locations containing the query word; post-processing, on the computer system, the one or more anchor segments, the post-processing including: expanding the one or more anchor segments; sorting the one or more anchor segments; and merging overlapping ones of the one or more anchor segments; and searching, on the computer system, the post-processed one or more anchor segments for instances of at least one of the one or more query words using a constrained grammar.

Claims (76)

1. A method comprising:

receiving, on a computer system, a text search query, the query comprising one or more query words;

generating, on the computer system, for each query word in the query, a set of one or more anchor segments from searching metadata corresponding to a plurality of speech recognition processed audio files, the metadata including representations of one or more words detected in the audio files, wherein, for each detected word, the metadata includes a reference to each audio file in which the word was detected, a temporal location of the detected word in the audio file, and a confidence measure for the word as detected within the audio file, where each anchor segment includes a query word, an identifier for an audio file, and a temporal location of the query word within the audio file, where generating anchor segments includes, for each query word:

determining, on the computer system, if the query word is included in a vocabulary of a learning model for a speech recognizer engine of the computer system;

on the computer system, when the query word is in the vocabulary, searching the metadata to identify one or more high confidence anchor segments corresponding to the query word; and

on the computer system, when the query word is not in the vocabulary:

generating a search list of one or more sub-words of the query word,

searching the metadata to identify one or more audio files containing at least one of the one or more sub-words to identify one or more anchor segments corresponding to one or more of the sub-words;

post-processing, on the computer system, the one or more anchor segments, the post-processing comprising:

expanding the one or more anchor segments;

sorting the one or more anchor segments; and

merging overlapping ones of the one or more anchor segments; and

performing, on the computer system, speech recognition on the post-processed one or more expanded anchor segments for instances of at least one of the one or more query words using a constrained grammar.

2. The method of claim 1 , wherein the generating the one or more anchor segments further comprises:

collecting low confidence words in the audio files, the low confidence words having word confidences below a threshold, and

wherein the searching the metadata to identify one or more audio files containing at least one of the one or more sub-words comprises searching the low confidence words for only the sub-words of the query word when the query word is not in the vocabulary.

3. The method of claim 1 , wherein the constrained grammar comprises one or more out-of-vocabulary query words of the query, wherein each of the out-of-vocabulary query words is not in the vocabulary.

4. The method of claim 1 , wherein the speech recognition includes computing one or more event confidence levels, each of the event confidence levels corresponding to a confidence that an anchor segment of the one or more anchor segments contains a particular query word of the one or more query words of the query.

5. The method of claim 4 , further comprising outputting, from the computer system, a result of the speech recognition, wherein the result comprises the instances of the one or more query words in the audio file, sorted by event confidence level.

6. The method of claim 1 , further comprising:

applying, on the computer system, a utility function to each of the one or more anchor segments to compute one or more corresponding anchor utility values; and

sorting, on the computer system, the one or more anchor segments in accordance with the one or more anchor utility values.

7. The method of claim 6 , wherein the speech recognition performed on the one or more post-processed anchor segments only searches the one or more anchor segments having best anchor utility values of the one or more anchor utility values.

8. The method of claim 1 , wherein the expanding the one or more anchor segments comprises:

for each query word in the query:

counting a first number of characters in the query before the query word and a second number of characters after the query word;

multiplying the first number of characters by an average character duration to obtain a first expansion amount; and

multiplying the second number of characters by the average character duration to obtain a second expansion amount; and

for each anchor segment, each anchor segment being identified by an anchor word, a start time, and an end time:

subtracting the first expansion amount and a first constant expansion duration from the start time; and

adding the second expansion amount and a second constant expansion duration to the end time.

9. The method of claim 1 , wherein the speech recognition performed on the one or more post-processed expanded anchor segments includes, when the query word is not in the vocabulary, re-processing, on the computer system, audio data in the audio file at the temporal location identified in the anchor segment and computing a confidence level corresponding to a confidence that the anchor segment contains the query word.

10. A system comprising a computer system comprising a processor, memory, and storage, the system being configured to:

receive a text search query, the query comprising one or more query words;

generate, for each query word in the query, a set of one or more anchor segments from searching metadata corresponding to a plurality of speech recognition processed audio files, the metadata including representations of one or more words detected in the audio files, wherein, for each detected word, the metadata includes a reference to each audio file in which the word was detected, a temporal location of the detected word in the audio file, and a confidence measure for the word as detected within the audio file, where each anchor segment includes a query word, an identifier for an audio file, and a temporal location of the query word within the audio file, where generating anchor segments includes, for each query word, the computer system:

determining if the query word is included in a vocabulary of a learning model for a speech recognizer engine of the computer system;

when the query word is in the vocabulary, searching the metadata to identify one or more high confidence anchor segments corresponding to the query word; and

when the query word is not in the vocabulary:

generating a search list of one or more sub-words of the query word,

searching the metadata to identify one or more audio files containing at least one of the one or more sub-words to identify one or more anchor segments corresponding to one or more of the sub-words;

post-process the one or more anchor segments, the post-process comprising:

expanding the one or more anchor segments;

sorting the one or more anchor segments; and

merging overlapping ones of the one or more anchor segments; and

perform speech recognition on the post-processed one or more expanded anchor segments for instances of at least one of the one or more query words using a constrained grammar.

11. The system of claim 10 , wherein the system is further configured to collect low confidence words in the audio files, the low confidence words having word confidences below a threshold, and

wherein the searching the metadata to identify one or more audio files containing at least one of the one or more sub-words comprises searching the low confidence words for only the sub-words of the query word when the query word is not in the vocabulary.

12. The system of claim 10 , wherein the constrained grammar comprises one or more out-of-vocabulary query words of the query, wherein each of the out-of-vocabulary query words is not in the vocabulary.

13. The system of claim 10 , wherein the system is further configured to search the one or more post-processed anchor segments by computing one or more event confidence levels, each of the event confidence levels corresponding to a confidence that an anchor segment of the one or more anchor segments contains a particular query word of the one or more query words of the query.

14. The system of claim 13 , wherein the system is further configured to output a result of the speech recognition, wherein the result comprises the instances of the query words in the audio file, sorted by event confidence level.

15. The system of claim 10 , wherein the system is further configured to:

apply a utility function to each of the one or more anchor segments to compute one or more corresponding anchor utility values; and

sort the one or more anchor segments in accordance with the one or more anchor utility values.

16. The system of claim 15 , wherein the system is configured to search the one or more post-processed anchor segments by only searching the one or more anchor segments having best anchor utility values of the one or more anchor utility values.

17. The system of claim 10 , wherein the system is further configured to expand the one or more anchor segments by:

for each query word in the query:

counting a first number of characters in the query before the query word and a second number of characters after the query word;

multiplying the first number of characters by an average character duration to obtain a first expansion amount; and

multiplying the second number of characters by the average character duration to obtain a second expansion amount; and

for each anchor segment, each anchor segment being identified by an anchor word, a start time, and an end time:

subtracting the first expansion amount and a first constant expansion duration from the start time; and

adding the second expansion amount and a second constant expansion duration to the end time.

18. The system of claim 10 , wherein the speech recognition performed by the system on the one or more post-processed expanded anchor segments includes, when the query word is not in the vocabulary, re-processing audio data in the audio file at the temporal location identified in the anchor segment and computing a confidence level corresponding to a confidence that the anchor segment contains the query word.

19. A system comprising

means for receiving a text search query, the query comprising one or more query words;

means for generating, for each query word in the query, a set of one or more anchor segments from searching metadata corresponding to a plurality of speech recognition processed audio files, the metadata including representations of one or more words detected in the audio files, wherein, for each detected word, the metadata includes a reference to each audio file in which the word was detected, a temporal location of the detected word in the audio file, and a confidence measure for the word as detected within the audio file, where each anchor segment includes a query word, an identifier for an audio file, and a temporal location of the query word within the audio file, where the means for generating anchor segments includes, for each query word:

means for determining if the query word is included in a vocabulary of a learning model for a speech recognizer engine of the computer system;

when the query word is in the vocabulary, means for searching the metadata to identify one or more high confidence anchor segments corresponding to the query word; and

means for, when the query word is not in the vocabulary:

generating a search list of one or more sub-words of the query word,

searching the metadata to identify one or more audio files containing at least one of the one or more sub-words to identify one or more anchor segments corresponding to one or more of the sub-words;

means for post-processing the one or more anchor segments comprising:

means for expanding the one or more anchor segments;

means for sorting the one or more anchor segments; and

means for merging overlapping ones of the one or more anchor segments; and

means for searching the post-processed one or more expanded anchor segments for instances of at least one of the one or more query words using a constrained grammar.

Assignments (12)
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 04814/0387 Recorded Feb 5, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070115/0445 →
NOTICE OF SUCCESSION OF SECURITY INTERESTS AT REEL/FRAME 040815/0001 Recorded Feb 3, 2025
From: BANK OF AMERICA, N.A., AS RESIGNING AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR AGENT
Reel/Frame 070498/0001 →
CHANGE OF NAME Recorded May 13, 2024
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
To: GENESYS CLOUD SERVICES, INC.
Reel/Frame 067390/0332 →
SECURITY AGREEMENT Recorded Feb 22, 2019
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.; ECHOPASS CORPORATION; GREENEDEN U.S. HOLDINGS II, LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 048414/0387 →
SECURITY AGREEMENT Recorded Dec 5, 2016
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC., AS GRANTOR; ECHOPASS CORPORATION; INTERACTIVE INTELLIGENCE GROUP, INC.; BAY BRIDGE DECISION TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040815/0001 →
PATENT RELEASE (REEL:031644/FRAME:0814) Recorded Dec 2, 2016
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC., AS GRANTOR; ANGEL.COM INCORPORATED; UTOPY, INC.; SOUNDBITE COMMUNICATIONS, INC.
Reel/Frame 040798/0428 →
MERGER Recorded Aug 28, 2015
From: UTOPY, INC.
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 036453/0363 →
CORRECTIVE ASSIGNMENT TO CORRECT THE STREET ADDRESS OF THE RECEIVING PARTY FROM 2001 JUNIPERO BLVD., DALY CITY, CALIFORNIA 94014 PREVIOUSLY RECORDED ON REEL 032045 FRAME 0750. ASSIGNOR(S) HEREBY CONFIRMS THE STREET ADDRESS OF THE RECEIVING PARTY IS 2001 JUNIPERO SERRA BLVD., DALY CITY, CALIFORNIA 94014. Recorded Sep 12, 2014
From: UTOPY, INC.
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 033735/0887 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2014
From: UTOPY, INC.
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 032045/0750 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: KONIG, YOCHAI
To: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.
Reel/Frame 031662/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: LEV-TOV, AMIR; FAIZAKOF, AVRAHAM
To: UTOPY, INC.
Reel/Frame 031718/0750 →
SECURITY AGREEMENT Recorded Nov 15, 2013
From: GENESYS TELECOMMUNICATIONS LABORATORIES, INC.; ANGEL.COM INCORPORATED; UTOPY, INC.; SOUNDBITE COMMUNICATIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 031644/0814 →