IP Library › Granted Patent US 11,120,802
Granted Patent B2
US 11,120,802 · App. 15/819,127 · Granted Sep 14, 2021

Diarization driven by the ASR based segmentation

Inventors: Kenneth W. Church (Dobbs Ferry, NY); Dimitrios B. Dimitriadis (White Plains, NY); Petr Fousek (Litomerice, CZ); Miroslav Novak (Mohegan Lake, NY); George A. Saon (Stamford, CT)
Assignee: International Business Machines Corporation
G10L15/26G10L15/08G10L17/00G10L17/04G10L25/51G10L25/78G10L2015/0631G10L2015/088
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,120,802
App. No.
15/819,127
Filed
Nov 21, 2017
Granted
Sep 14, 2021
Kind
B2
Art Unit
2657
USPC
704/235
Abstract

An approach is provided that receives an audio stream and utilizes a voice activation detection (VAD) process to create a digital audio stream of voices from at least two different speakers. An automatic speech recognition (ASR) process is applied to the digital stream with the ASR process resulting in the spoken words to which a speaker turn detection (STD) process is applied to identify a number of speaker segments with each speaker segment ending at a word boundary. A speaker clustering algorithm is then applied to the speaker segments to associate one of the speakers with each of the speaker segments.

Claims (83)

1. A method implemented by an information handling system that includes a memory and a processor, the method comprising:

receiving an audio stream that comprises both a plurality of speech segments corresponding to a plurality of human speakers and a plurality of non-verbal segments;

utilizing a voice activation detection (VAD) process on the audio stream, wherein an output of the VAD process is a digital audio stream of voices corresponding to the plurality of speech segments;

inputting the VAD process output into an automatic speech recognition (ASR) process, wherein an output of the ASR process comprises a plurality of spoken words corresponding to the plurality of speech segments and is devoid of the plurality of non-verbal segments;

inputting the ASR process output to a speaker turn detection (STD) process, wherein the STD process generates a plurality of speaker segments that each end at a word boundary of one of the plurality of spoken words; and

applying a speaker clustering algorithm to the plurality of speaker segments, wherein the speaker clustering algorithm associates an identifier of one of the human speakers with each of the speaker segments.

2. The method of claim 1 further comprising:

generating a textual transcript of the audio stream by outputting each of the speaker segments and the identifier of the associated human speaker.

3. The method of claim 1 further comprising:

ingesting the textual transcript into a question answering (QA) system corpus.

4. The method of claim 1 further comprising:

identifying a plurality of sets of vocal qualities from the audio stream, wherein each of the sets of vocal qualities corresponds to a different one of the plurality of human speakers;

comparing the plurality of sets of vocal qualities to each of the plurality of spoken words; and

associating one of the human speakers to each of the words based on the comparison.

5. The method of claim 4 wherein a change from a first of the plurality of human speaker to a second of the plurality of human speakers is limited to word boundaries found in the plurality of spoken words.

6. The method of claim 1 wherein the speaker detection process further comprises:

associating a first word from the plurality of spoken words to a first set of vocal qualities;

identifying a second word from the plurality of spoken words that is successive to the first word and corresponds to a second set of vocal qualities;

inserting a speaker change mark between the first word and the second word in response to determining that the first set of vocal qualities is different from the second set of vocal qualities;

adjusting a speaker change probability value in response to determining that the first word is at an end of a question; and

maintaining the speaker change mark between the first word and the second word based on the adjusted speaker change probability value.

7. The method of claim 6 further comprising:

analyzing a selected one of the speaker segments corresponding to the first word using a language model, wherein the analysis:

increases the speaker change probability value in response to the selected speaker segment indicating a statement;

increases the speaker change probability value in response to the selected speaker segment indicating a reply; and

decreases the speaker change probability value in response to the selected speaker segment indicating a continuation of a previous speaker segment; and

identifying the second word based on the speaker change probability value and the comparison of the second word to the first set of vocal qualities.

8. An information handling system comprising:

one or more processors;

a memory coupled to at least one of the processors; and

a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of:

receiving an audio stream that comprises both a plurality of speech segments corresponding to a plurality of human speakers and a plurality of non-verbal segments;

utilizing a voice activation detection (VAD) process on the audio stream, wherein an output of the VAD process is a digital audio stream of voices corresponding to the plurality of speech segments;

inputting the VAD process output into an automatic speech recognition (ASR) process, wherein an output of the ASR process comprises a plurality of spoken words corresponding to the plurality of speech segments and is devoid of the plurality of non-verbal segments;

inputting the ASR process output to a speaker turn detection (STD) process, wherein the STD process generates a plurality of speaker segment that each end at a word boundary of one of the plurality of spoken words; and

applying a speaker clustering algorithm to the plurality of speaker segments, wherein the speaker clustering algorithm associates an identifier of one of the human speakers with each of the speaker segments.

9. The information handling system of claim 8 wherein the actions further comprise:

generating a textual transcript of the audio stream by outputting each of the speaker segments and the identifier of the associated human speaker.

10. The information handling system of claim 8 wherein the actions further comprise:

ingesting the textual transcript into a question answering (QA) system corpus.

11. The information handling system of claim 8 wherein the actions further comprise:

identifying a plurality of sets of vocal qualities from the audio stream, wherein each of the sets of vocal qualities corresponds to a different one of the plurality of human speakers;

comparing the plurality of sets of vocal qualities to each of the plurality of spoken words; and

associating one of the human speakers to each of the words based on the comparison.

12. The information handling system of claim 11 wherein a change from a first of the plurality of human speaker to a second of the plurality of human speakers is limited to word boundaries found in the plurality of spoken words.

13. The information handling system of claim 8 wherein the actions further comprise:

associating a first word from the plurality of spoken words to a first set of vocal qualities;

identifying a second word from the plurality of spoken words that is successive to the first word and corresponds to a second set of vocal qualities;

inserting a speaker change mark between the first word and the second word in response to determining that the first set of vocal qualities is different from the second set of vocal qualities;

adjusting a speaker change probability value in response to determining that the first word is at an end of a question; and

maintaining the speaker change mark between the first word and the second word based on the adjusted speaker change probability value.

14. The information handling system of claim 13 wherein the actions further comprise:

analyzing a selected one of the speaker segments corresponding to the first word using a language model, wherein the analysis:

increases the speaker change probability value in response to the selected speaker segment indicating a statement;

increases the speaker change probability value in response to the selected speaker segment indicating a reply; and

decreases the speaker change probability value in response to the selected speaker segment indicating a continuation of a previous speaker segment; and

identifying the second word based on the speaker change probability value and the comparison of the second word to the first set of vocal qualities.

15. A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising:

receiving an audio stream that comprises both a plurality of speech segments corresponding to a plurality of human speakers and a plurality of non-verbal segments;

utilizing a voice activation detection (VAD) process on the audio stream, wherein an output of the VAD process is a digital audio stream of voices corresponding to the plurality of speech segments;

inputting the VAD process output into an automatic speech recognition (ASR) process, wherein an output of the ASR process comprises a plurality of spoken words corresponding to the plurality of speech segments and is devoid of the plurality of non-verbal segments;

inputting the ASR process output to a speaker turn detection (STD) process, wherein the STD process generates a plurality of speaker segments that each end at a word boundary of one of the plurality of spoken words; and

applying a speaker clustering algorithm to the plurality of speaker segments, wherein the speaker clustering algorithm associates an identifier of one of the human speakers with each of the speaker segments.

16. The computer program product of claim 15 wherein the actions further comprise:

generating a textual transcript of the audio stream by outputting each of the speaker segments and the identifier of the associated human speaker; and

ingesting the textual transcript into a question answering (QA) system corpus.

17. The computer program product of claim 15 wherein the actions further comprise:

identifying a plurality of sets of vocal qualities from the audio stream, wherein each of the sets of vocal qualities corresponds to a different one of the plurality of human speakers;

comparing the plurality of sets of vocal qualities to each of the plurality of spoken words; and

associating one of the human speakers to each of the words based on the comparison.

18. The computer program product of claim 17 wherein a change from a first of the plurality of human speaker to a second of the plurality of human speakers is limited to word boundaries found in the plurality of spoken words.

19. The computer program product of claim 15 wherein the actions further comprise:

associating a first word from the plurality of spoken words to a first set of vocal qualities;

identifying a second word from the plurality of spoken words that is successive to the first word and corresponds to a second set of vocal qualities;

inserting a speaker change mark between the first word and the second word in response to determining that the first set of vocal qualities is different from the second set of vocal qualities;

adjusting a speaker change probability value in response to determining that the first word is at an end of a question; and

maintaining the speaker change mark between the first word and the second word based on the adjusted speaker change probability value.

20. The computer program product of claim 19 wherein the actions further comprise:

analyzing a selected one of the speaker segments corresponding to the first word using a language model, wherein the analysis:

increases the speaker change probability value in response to the selected speaker segment indicating a statement;

increases the speaker change probability value in response to the selected speaker segment indicating a reply; and

decreases the speaker change probability value in response to the selected speaker segment indicating a continuation of a previous speaker segment; and

identifying the second word based on the speaker change probability value and the comparison of the second word to the first set of vocal qualities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2017
From: CHURCH, KENNETH W.; DIMITRIADIS, DIMITRIOS B.; FOUSEK, PETR; NOVAK, MIROSLAV; SAON, GEORGE A.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044189/0257 →
Continuity (1)
Related Publication 20190156832A1 · May 23, 2019