KR20240053639A - 제한된 스펙트럼 클러스터링을 사용한 화자-턴 기반 온라인 화자 구분 - Google Patents
제한된 스펙트럼 클러스터링을 사용한 화자-턴 기반 온라인 화자 구분 Download PDFInfo
- Publication number
- KR20240053639A KR20240053639A KR1020247011500A KR20247011500A KR20240053639A KR 20240053639 A KR20240053639 A KR 20240053639A KR 1020247011500 A KR1020247011500 A KR 1020247011500A KR 20247011500 A KR20247011500 A KR 20247011500A KR 20240053639 A KR20240053639 A KR 20240053639A
- Authority
- KR
- South Korea
- Prior art keywords
- speaker
- segments
- turn
- segment
- encoder
- Prior art date
Links
- 230000003595 spectral effect Effects 0.000 title claims abstract description 30
- 230000011218 segmentation Effects 0.000 title description 41
- 238000013518 transcription Methods 0.000 claims abstract description 62
- 230000035897 transcription Effects 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000005236 sound signal Effects 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000015654 memory Effects 0.000 claims description 45
- 238000012549 training Methods 0.000 claims description 24
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 230000006403 short-term memory Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 description 20
- 239000013598 vector Substances 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 8
- 230000004069 differentiation Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 229910052709 silver Inorganic materials 0.000 description 1
- 239000004332 silver Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0272—Voice signal separating
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/18—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0631—Creating reference templates; Clustering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Acoustics & Sound (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Quality & Reliability (AREA)
- Telephonic Communication Services (AREA)
- Machine Translation (AREA)
Abstract
방법(400)은 다수의 화자(10)가 말한 발화(120)에 대응하는 입력 오디오 신호(122)를 수신하는 동작을 포함한다. 상기 방법은 또한 발화의 전사(120) 및 각각이 화자 턴의 위치를 각각 나타내는 화자 턴 토큰들(224)의 시퀀스를 생성하기 위해 입력 오디오를 프로세싱하는 동작을 포함한다. 또한 상기 방법은 화자 턴 토큰들의 시퀀스에 기초하여 입력 오디오 신호를 복수의 화자 세그먼트들(225)로 세그먼트화하는 동작을 포함한다. 상기 방법은 또한 각 화자 세그먼트로부터 화자 구별 임베딩(240)을 추출하는 동작과 복수의 화자 세그먼트들을 k 클래스들(262)로 클러스터링하기 위해 화자 구별 임베딩에 대해 스펙트럼 클러스터링을 수행하는 동작을 포함한다. 상기 방법은 또한 각 화자 라벨(250)을 k 클래스들 중 서로 다른 클래스로 클러스터링된 화자 세그먼트에 할당된 각각의 화자 라벨과 상이한, 각각의 클래스로 클러스터링된 각 화자 세그먼트에 할당하는 동작을 포함한다.
Description
본 개시는 제한된 스펙트럼 클러스터링을 이용한 화자 턴 기반 온라인 화자 구분에 관한 것이다.
화자 분할은 입력 오디오 스트림을 화자 신원에 따라 동종 세그먼트로 파티셔닝하는 프로세스이다. 여러 화자가 있는 환경에서, 화자 구분은 "누가 언제 말하고 있는지"라는 질문에 답하며, 멀티미디어 정보 검색, 화자 턴 분석 및 오디오 프로세싱 및 대화 스피치의 자동 전사를 비롯한 다양한 적용을 포함한다. 예를 들어, 화자 구분은 입력 오디오 스트림의 제1 세그먼트가 제1 사람 화자에게 귀속되고(제1 사람 화자가 누구인지 특별히 식별하지 않고), 입력 오디오 스트림의 제2 세그먼트가 상이한 제2 사람 화자에게 귀속되고(제2 사람 화자가 누구인지 특별히 식별하지 않고), 입력 오디오 스트림의 제3 세그먼트가 제1 사람 화자에게 귀속된다고 식별함으로써 대화에서 화자 턴에 주석을 다는 작업을 포함한다.
본 개시의 일 양태는 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하여금 화자 턴 기반 온라인 화자 구분을 위한 동작들을 수행하게 하는 컴퓨터로 구현되는 방법을 제공한다. 상기 동작들은 다수의 화자가 말한 발화에 대응하는 입력 오디오 신호를 수신하는 동작을 포함한다. 상기 동작들은 스피치 인식 모델을 사용하여 발화의 전사 및 화자 턴 토큰들의 시퀀스를 출력으로서 공동으로 생성하기 위해 입력 오디오 신호를 프로세싱하는 동작을 포함한다. 각각의 화자 턴 토큰은 각각의 인접한 용어 쌍 사이의 전사에서 검출된 각각의 화자 턴의 위치를 각각 나타낸다. 또한 상기 동작들은 화자 토큰들의 시퀀스에 기초하여 입력 오디오 신호를 복수의 화자 세그먼트들로 세그먼트화하는 동작을 포함한다. 복수의 화자 세그먼트들 중 각각의 화자 세그먼트에 대해, 상기 동작들은 화자 세그먼트로부터 대응하는 화자 구별 임베딩을 추출하는 동작을 포함한다. 또한 상기 동작들은 복수의 화자 세그먼트들을 k 클래스들로 클러스터링하기 위해 복수의 화자 세그먼트들로부터 추출된 화자 구별 임베딩에 대해 스펙트럼 클러스터링을 수행하는 동작을 포함한다. k 클래스들 중 각 개별 클래스에 대해, 상기 동작들은 k 클래스들 중 서로 다른 클래스로 클러스터링된 화자 세그먼트에 할당된 각각의 화자 라벨과 상이한, 각각의 클래스로 클러스터링된 각 화자 세그먼트에 할당하는 동작을 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 동작들은 각각의 화자 세그먼트에 할당된 화자 라벨에 기초하여 발화의 전사에 주석을 다는 것을 더 포함한다. 일부 예에서, 화자 턴 토큰의 시퀀스에 있는 각 화자 차례 토큰은 대응하는 타임스탬프를 갖는다. 이러한 예에서, 화자 턴 토큰들의 시퀀스에 기초하여 입력 오디오 신호를 복수의 화자 세그먼트들로 세그먼트화하는 동작은 입력 오디오 신호를 화자 턴 토큰들의 시퀀스에서 인접한 화자 턴 토큰들의 각 쌍의 대응하는 타임스탬프에 의해 각각 바운딩된 초기 화자 세그먼트들로 세그먼트화하는 것을 포함한다. 일부 구현예에서, 세그먼트 지속시간 임계값을 초과하는 각각의 지속시간을 갖는 각각의 초기 화자 세그먼트에 대해, 상기 동작들은 초기 화자 세그먼트를 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 2개 이상의 지속시간이 감소된 화자 세그먼트들로 추가로 세그먼트화하는 동작을 더 포함한다. 여기서, 입력 오디오 신호로부터 세그먼트화된 복수의 화자 세그먼트들은 세그먼트 지속시간 임계값 이하의 각 지속시간을 갖는 초기 화자 세그먼트와 세그먼트 지속시간 임계값을 초과하는 각 지속시간을 갖는 초기 화자 세그먼트들 중 임의의 것으로부터 추가로 세그먼트화된 지속시간이 감소된 화자 세그먼트를 포함한다.
일부 구현예에서, 화자 세그먼트로부터 대응하는 화자 구별 임베딩을 추출하는 것은 화자 세그먼트를 화자 인코더 모델에 대한 입력으로서 수신하는 것 및 대응하는 화자 구별 임베딩을 화자 인코더 모델로부터의 출력으로서 생성하는 것을 포함한다. 이러한 구현예에서, 상기 화자 인코더 모델은 각 화자 세그먼트로부터 대응하는 화자 구별 임베딩을 추출하도록 구성된 장단기 메모리 기반(LSTM 기반) 화자 인코더 모델을 포함한다. 일부 예에서, 상기 동작들은 스피치 인식 모델로부터 출력으로서 생성된 화자 턴 토큰들의 시퀀스에서 각 화자 턴 토큰에 대한 전사에서 검출된 각각의 화자 턴의 신뢰도를 예측하는 동작 및 화자 턴 토큰에 대해 예측된 신뢰도에 기초하여 쌍별 제약 조건을 결정하는 동작을 더 포함한다. 여기서, 상기 화자 구별 임베딩에 대해 수행된 스펙트럼 클러스터링은 쌍별 제약에 의해 제한된다.
일부 구현예에서, 스피치 인식 모델은 다음을 포함하는 스트리밍 트랜스듀서 기반 스피치 인식 모델을 포함한다: 오디오 인코더, 상기 오디오 인코더는 음향 프레임들의 시퀀스를 입력으로서 수신하고 그리고 복수의 시간 단계들 각각에서, 상기 음향 프레임들의 시퀀스에서 대응하는 음향 프레임에 대한 고차 피처 표현을 생성하도록 구성되며; 라벨 인코더, 상기 라벨 인코더는 최종 소프트맥스 레이어에 의해 출력된 비-공백 심볼들의 시퀀스를 입력으로 수신하고 그리고 상기 복수의 시간 단계들 각각에서 조밀한 표현을 생성하도록 구성되며; 그리고 조인트 네트워크를 포함하며, 상기 조인트 네트워크는 복수의 시간 단계들 각각에서, 오디오 인코더에 의해 생성된 고차 피처 표현 및 복수의 시간 단계들 각각에서, 라벨 인코더에 의해 생성된 조밀한 표현을 입력으로서 수신하고; 그리고 복수의 시간 단계들 각각에서, 대응하는 시간 단계에서 가능한 스피치 인식 가설에 대한 확률 분포를 생성하도록 구성된다. 여기서, 오디오 인코더는 복수의 트랜스포머 레이어들을 갖는 신경 네트워크를 포함할 수 있다. 일부 예에서, 라벨 인코더는 바이그램 임베딩 룩업 디코더 모델을 포함한다.
스피치 인식 모델은 둘 이상의 서로 다른 화자가 말한 트레이닝 발화를 각각 포함하고 트레이닝 발화의 대응하는 실측 전사와 쌍을 이루는 트레이닝 샘플에 대해 트레이닝될 수 있다. 여기서, 각 실측 전사에는 실측 전사에서 화자 턴이 발생하는 위치를 나타내는 실측 화자 턴 토큰이 주입된다. 선택적으로, 각 트레이닝 샘플의 대응하는 실측 전사에는 타임스탬프 정보가 주석으로 추가되지 않을 수 있다.
본 개시의 다른 양태는 시스템을 제공하며, 상기 시스템은 데이터 프로세싱 하드웨어 및 메모리 하드웨어를 포함하고, 상기 메모리 하드웨어는 명령어들을 저장하며, 상기 명령어들은 데이터 프로세싱 하드웨어에서 실행될 때, 상기 데이터 프로세싱 하드웨어로 하여금 동작들은 수행하게 한다. 상기 동작들은 다수의 화자가 말한 발화에 대응하는 입력 오디오 신호를 수신하는 동작을 포함한다. 상기 동작들은 스피치 인식 모델을 사용하여 발화의 전사 및 화자 턴 토큰들의 시퀀스를 출력으로서 공동으로 생성하기 위해 입력 오디오 신호를 프로세싱하는 동작을 포함한다. 각각의 화자 턴 토큰은 각각의 인접한 용어 쌍 사이의 전사에서 검출된 각각의 화자 턴의 위치를 각각 나타낸다. 또한 상기 동작들은 화자 토큰들의 시퀀스에 기초하여 입력 오디오 신호를 복수의 화자 세그먼트들로 세그먼트화하는 동작을 포함한다. 복수의 화자 세그먼트들 중 각각의 화자 세그먼트에 대해, 상기 동작들은 화자 세그먼트로부터 대응하는 화자 구별 임베딩을 추출하는 동작을 포함한다. 또한 상기 동작들은 복수의 화자 세그먼트들을 k 클래스들로 클러스터링하기 위해 복수의 화자 세그먼트들로부터 추출된 화자 구별 임베딩에 대해 스펙트럼 클러스터링을 수행하는 동작을 포함한다. k 클래스들 중 각 개별 클래스에 대해, 상기 동작들은 k 클래스들 중 서로 다른 클래스로 클러스터링된 화자 세그먼트에 할당된 각각의 화자 라벨과 상이한, 각각의 클래스로 클러스터링된 각 화자 세그먼트에 할당하는 동작을 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 동작들은 각각의 화자 세그먼트에 할당된 화자 라벨에 기초하여 발화의 전사에 주석을 다는 것을 더 포함한다. 일부 예에서, 화자 턴 토큰의 시퀀스에 있는 각 화자 차례 토큰은 대응하는 타임스탬프를 갖는다. 이러한 예에서, 화자 턴 토큰들의 시퀀스에 기초하여 입력 오디오 신호를 복수의 화자 세그먼트들로 세그먼트화하는 동작은 입력 오디오 신호를 화자 턴 토큰들의 시퀀스에서 인접한 화자 턴 토큰들의 각 쌍의 대응하는 타임스탬프에 의해 각각 바운딩된 초기 화자 세그먼트들로 세그먼트화하는 것을 포함한다. 일부 구현예에서, 세그먼트 지속시간 임계값을 초과하는 각각의 지속시간을 갖는 각각의 초기 화자 세그먼트에 대해, 상기 동작들은 초기 화자 세그먼트를 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 2개 이상의 지속시간이 감소된 화자 세그먼트들로 추가로 세그먼트화하는 동작을 더 포함한다. 여기서, 입력 오디오 신호로부터 세그먼트화된 복수의 화자 세그먼트들은 세그먼트 지속시간 임계값 이하의 각 지속시간을 갖는 초기 화자 세그먼트와 세그먼트 지속시간 임계값을 초과하는 각 지속시간을 갖는 초기 화자 세그먼트들 중 임의의 것으로부터 추가로 세그먼트화된 지속시간이 감소된 화자 세그먼트를 포함한다.
일부 구현예에서, 화자 세그먼트로부터 대응하는 화자 구별 임베딩을 추출하는 것은 화자 세그먼트를 화자 인코더 모델에 대한 입력으로서 수신하는 것 및 대응하는 화자 구별 임베딩을 화자 인코더 모델로부터의 출력으로서 생성하는 것을 포함한다. 이러한 구현예에서, 상기 화자 인코더 모델은 각 화자 세그먼트로부터 대응하는 화자 구별 임베딩을 추출하도록 구성된 장단기 메모리 기반(LSTM 기반) 화자 인코더 모델을 포함한다. 일부 예에서, 상기 동작들은 스피치 인식 모델로부터 출력으로서 생성된 화자 턴 토큰들의 시퀀스에서 각 화자 턴 토큰에 대한 전사에서 검출된 각각의 화자 턴의 신뢰도를 예측하는 동작 및 화자 턴 토큰에 대해 예측된 신뢰도에 기초하여 쌍별 제약 조건을 결정하는 동작을 더 포함한다. 여기서, 상기 화자 구별 임베딩에 대해 수행된 스펙트럼 클러스터링은 쌍별 제약에 의해 제한된다.
일부 구현예에서, 스피치 인식 모델은 다음을 포함하는 스트리밍 트랜스듀서 기반 스피치 인식 모델을 포함한다: 오디오 인코더, 상기 오디오 인코더는 음향 프레임들의 시퀀스를 입력으로서 수신하고 그리고 복수의 시간 단계들 각각에서, 상기 음향 프레임들의 시퀀스에서 대응하는 음향 프레임에 대한 고차 피처 표현을 생성하도록 구성되며; 라벨 인코더, 상기 라벨 인코더는 최종 소프트맥스 레이어에 의해 출력된 비-공백 심볼들의 시퀀스를 입력으로 수신하고 그리고 상기 복수의 시간 단계들 각각에서 조밀한 표현을 생성하도록 구성되며; 그리고 조인트 네트워크를 포함하며, 상기 조인트 네트워크는 복수의 시간 단계들 각각에서, 오디오 인코더에 의해 생성된 고차 피처 표현 및 복수의 시간 단계들 각각에서, 라벨 인코더에 의해 생성된 조밀한 표현을 입력으로서 수신하고; 그리고 복수의 시간 단계들 각각에서, 대응하는 시간 단계에서 가능한 스피치 인식 가설에 대한 확률 분포를 생성하도록 구성된다. 여기서, 오디오 인코더는 복수의 트랜스포머 레이어들을 갖는 신경 네트워크를 포함할 수 있다. 일부 예에서, 라벨 인코더는 바이그램 임베딩 룩업 디코더 모델을 포함한다.
스피치 인식 모델은 둘 이상의 서로 다른 화자가 말한 트레이닝 발화를 각각 포함하고 트레이닝 발화의 대응하는 실측 전사와 쌍을 이루는 트레이닝 샘플에 대해 트레이닝될 수 있다. 여기서, 각 실측 전사에는 실측 전사에서 화자 턴이 발생하는 위치를 나타내는 실측 화자 턴 토큰이 주입된다. 선택적으로, 각 트레이닝 샘플의 대응하는 실측 전사에는 타임스탬프 정보가 주석으로 추가되지 않을 수 있다.
본 개시의 하나 이상의 구현예의 세부 내용이 첨부 도면과 아래의 설명에서 기술된다. 다른 양태, 구성, 객체 및 이점은 아래의 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 화자 구분을 수행하기 위한 예시적 화자 구분 시스템의 개략도이다.
도 2은 도 1의 예시적 화자 구분 시스템의 개략도이다.
도 3은 트랜스듀서 기반 아키텍처를 갖는 예시적 자동 스피치 인식 모델의 개략도이다.
도 4는 다수의 서로 다른 화자가 말하는 스피치의 발화를 포함하는 입력 오디오 신호에 대해 화자 구분을 수행하는 컴퓨터로 구현되는 방법에 대한 동작의 예시적 구성의 흐름도이다.
도 5는 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 기호들은 동일한 엘리먼트를 표시한다.
도 2은 도 1의 예시적 화자 구분 시스템의 개략도이다.
도 3은 트랜스듀서 기반 아키텍처를 갖는 예시적 자동 스피치 인식 모델의 개략도이다.
도 4는 다수의 서로 다른 화자가 말하는 스피치의 발화를 포함하는 입력 오디오 신호에 대해 화자 구분을 수행하는 컴퓨터로 구현되는 방법에 대한 동작의 예시적 구성의 흐름도이다.
도 5는 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 기호들은 동일한 엘리먼트를 표시한다.
자동 스피치 인식(ASR) 시스템은 일반적으로 주어진 입력 오디오 신호에 하나의 화자만 존재한다고 가정하는 스피치 프로세싱 알고리즘에 의존한다. 여러 명의 화자가 포함된 입력 오디오 신호는 잠재적으로 이러한 스피치 프로세싱 알고리즘을 방해하여 ASR 시스템에서 출력되는 스피치 인식 결과가 부정확하게 할 수 있다. 이러한 ASR 시스템은 "누가 언제 말하고 있는지"에 대한 질문에 답하기 위한 화자 구분 시스템을 포함한다. 따라서, 화자 구분은 누가 말하고 있는지(화자 인식/식별) 구체적으로 결정하는 것이 아니라, 누군가가 말하고 있는 시기를 결정하기 위해 더 큰 대화에 참여하는 여러 화자의 스피치를 세그먼트화하는 프로세스이다. 다르게 말하면, 화자 구분은 짧은 발화를 포함하는 일련의 화자 인식 작업을 포함하며, 주어진 대화의 두 세그먼트가 동일한 개인 또는 다른 개인에 의해 발화되었는지 여부를 결정하고 대화의 모든 세그먼트에 대해 반복된다. 따라서, 화자 분할은 여러 화자를 포함하는 대화로부터 화자의 턴을 검출한다. 본 명세서에 사용된 용어 '화자 턴'은 더 큰 대화에서 한 사람이 말하는 것에서 다른 사람이 말하는 것으로의 전환을 의미한다.
기존 화자 구분 시스템은 일반적으로 스피치 세그먼트화 모듈, 임베딩 추출 모듈 및 클러스터링 모듈과 같은(이에 한정되지 않음) 상대적으로 독립적인 여러 컴포넌트를 포함한다. 스피치 세그먼트화 모듈은 일반적으로 입력 발화에서 비-스피치 부분을 제거하고 전체 입력 발화를 고정 길이 세그먼트 및/또는 단어 길이 세그먼트로 분할하도록 구성된다. 입력 발화를 고정 길이 세그먼트로 분할하는 것은 구현하기 쉽지만 적절한 세그먼트 길이를 찾는 것이 어려운 경우가 많다. 즉, 긴 고정 길이 세그먼트는 여러 개의 화자 턴을 포함할 수 있는 반면, 짧은 세그먼트는 불충분한 화자 정보를 포함할 수 있다. 또한, 단어 길이 세그먼트를 생성하는 ASR 모델은 일반적으로 단일 화자가 말하지만 개별 단어는 화자 정보가 충분하지 않다. 임베딩 추출 모듈은 각 세그먼트로부터 대응하는 화자 구별 임베딩을 추출하도록 구성된다. 화자 구별 임베딩은 i-벡터 또는 d-벡터를 포함할 수 있다.
기존 화자 구분 시스템에 사용되는 클러스터링 모듈은 입력 발화에 존재하는 화자의 수를 결정하고 각 세그먼트에 화자 ID(예: 레이블)를 할당하는 작업을 수행한다. 이러한 클러스터링 모듈은 가우스 혼합 모델, 링크 클러스터링 및 스펙트럼 클러스터링을 포함하는 널리 사용되는 클러스터링 알고리즘을 사용할 수 있다. 화자 구분 시스템은 또한 추가적인 제약을 강제함으로써 클러스터링 모듈로부터 출력된 구분 결과를 더욱 정제하기 위해 추가 재-세그먼트화 모듈을 사용할 수도 있다. 클러스터링 모듈은 종종 낮은 품질을 갖는 온라인 클러스터링 알고리즘 또는 전체 입력 시퀀스의 끝에서만 구분 결과를 반환할 수 있는 오프라인 클러스터링 알고리즘을 실행할 수 있다. 일부 예에서는 대기 시간을 최소화하면서 고품질을 달성하기 위해 클러스터링 알고리즘이 온라인 방식으로 오프라인에서 실행된다. 예를 들어, 각 화자 구별 임베딩을 수신하면 클러스터링 알고리즘은 모든 기존 임베딩의 전체 시퀀스에서 오프라인으로 실행된다. 그러나 화자 구별 임베딩 시퀀스가 길면 이러한 예시를 구현하는데 계산 비용이 매우 많이 들 수 있다.
본 문서의 구현예는 여러 화자가 발화한 수신 발화에 대해 스피치 인식 및 화자 턴 검출(즉, 활성 화자가 변경되는 경우)을 모두 수행하는 스피치 인식 모델을 포함하는 온라인 화자 구분 시스템에 관한 것이다. 화자 구분 시스템은 검출된 화자 턴에 기초하여 발화를 화자 세그먼트로 세그먼트화하고 그로부터 화자 구별 임베딩을 추출한다. 유리하게는, 화자 턴 검출에 기초하여 발화로부터 세그먼트화된 각 화자 세그먼트는 강력한 화자 구별 임베딩을 추출하기에 충분한 정보를 전달하는 화자로부터의 연속 스피치를 포함한다. 또한, 장시간 대화 발화의 경우, 화자 턴들의 수(즉, 화자 변경 수)는 일반적으로 고정 길이 세그먼트 수보다 훨씬 적고, 화자 구별 임베딩이 화자 턴으로 바운딩된 화자 세그먼트에서만 추출되기 때문에 클러스터링 알고리즘을 실행하는 계산 비용이 줄어든다.
새로운 화자 구별 임베딩을 수신하는 것에 응답하여, 화자 구분 시스템은 기존의 모든 화자 구별 임베딩의 전체 시퀀스에 대해 스펙트럼 클러스터링을 실행한다. 따라서, 스피치 인식 모델은 스피치 인식 결과를 출력하고, 검출된 화자 턴은 스트리밍 방식으로 이루어져 스펙트럼 클러스터링의 스트리밍 실행을 가능하게 한다. 이점적으로, 턴별 화자 구별 임베딩이 화자 세그먼트에서 드물게 추출되기 때문에(즉, 화자가 변경 후에만), 기존의 모든 화자 구별 임베딩의 시퀀스는 상대적으로 긴 대화(즉, 여러 시간)의 경우에도 상대적으로 짧다. 따라서, 온라인 스펙트럼 클러스터링의 실행은 스펙트럼 클러스터링이 디바이스 내에 배치될 수 있도록 낮은 대기 시간을 유지하면서 계산적으로 저렴하다.
또한 인간 주석자가 화자 턴에 정확한 타임스탬프를 할당하고 이러한 턴에서 다른 화자를 수동으로 식별할 필요가 없으므로 트레이닝 시간이 크게 단축된다. 타임스탬프에 주석을 달고 차례대로 화자를 식별하는 것은 단일 주석자가 한 번에 10분 분량의 오디오에 주석을 다는데 약 2시간이 걸릴 수 있는 시간 소모적인 프로세스이다. 대신, 스피치 인식 모델은 스피치 인식 결과에 전달된 의미론적 정보로부터 화자 턴을 검출하도록 트레이닝되어 검출된 각 화자 턴이 스피치 인식 모델에 의해 알려진 대응하는 타임스탬프와 연관된다. 따라서 이러한 타임스탬프는 사람이 주석을 달지 않으며, 트레이닝 오디오 데이터를 대응하는 화자 세그먼트로 세그먼트화하는데 사용될 수 있다.
도 1을 참조하면, 시스템(100)은 화자 그룹(예를 들어, 사용자(10, 10a-n))으로부터 스피치 발화(120)를 캡처하고 네트워크(130)를 통해 클라우드 컴퓨팅 환경(140)과 통신하는 사용자 디바이스(110)를 포함한다. 클라우드 컴퓨팅 환경(140)은 확장 가능한/탄력적인 리소스(142)를 갖는 분산 시스템일 수 있다. 리소스(142)는 컴퓨팅 리소스(142)(예를 들어, 데이터 프로세싱 하드웨어) 및/또는 저장 리소스(146)(예를 들어, 메모리 하드웨어)를 포함한다. 일부 구현예에서, 사용자 디바이스(110) 및/또는 클라우드 컴퓨팅 환경(140)은 다수의 화자(10)로부터 캡처된 발화(120)에 대응하는 입력 오디오 신호(즉, 오디오 데이터)(122)를 수신하도록 구성된 구분 시스템(200)을 실행한다. 구분 시스템(200)은 입력 오디오 신호(122)를 프로세싱하고 캡처된 발화(120)의 전사(220)와 화자 턴 토큰(224, 224a-n)의 시퀀스를 생성한다. 화자 턴 토큰들(224)은 각각의 인접한 용어 쌍 사이의 전사(220)에서 검출된 화자 턴(예: 화자 변경)을 나타낸다. 화자 턴 토큰들(224)의 시퀀스를 사용하여, 구분 시스템(200)은 입력 오디오 신호(122)를 복수의 화자 세그먼트들(225, 225a-n)로 세그먼트화하며, 그 각각은 그로부터 추출된 대응하는 화자 구별 임베딩(240)과 연관된다. 그 후, 구분 시스템(200)은 화자 구별 임베딩(240) 및 쌍별 제약(226)에 기초하여 구분 결과(280)를 생성한다. 구분 결과(280)는 각각의 화자 세그먼트(225)에 할당된 대응하는 화자 라벨(250)을 포함한다.
사용자 디바이스(110)는 데이터 프로세싱 하드웨어(112) 및 메모리 하드웨어(114)를 포함한다. 사용자 디바이스(110)는 화자(10)로부터의 발화(120)를 캡처하여 오디오 데이터(122)(예를 들어 전기 신호)로 변환하기 위한 오디오 캡처 디바이스(예를 들어 마이크로폰)를 포함할 수 있다. 일부 구현예에서, 데이터 프로세싱 하드웨어(112)는 구분 시스템(200)의 나머지 부분이 클라우드 컴퓨팅 환경(140)에서 실행되는 동안 구분 시스템(200)의 일부를 로컬에서 실행하도록 구성된다. 대안적으로, 데이터 프로세싱 하드웨어(112)는 클라우드 컴퓨팅 환경(140)에서 구분 시스템(200)을 실행하는 대신 구분 시스템(200)을 실행할 수 있다. 사용자 디바이스(110)는 네트워크(130)를 통해 클라우드 컴퓨팅 환경(140)과 통신할 수 있는 임의의 컴퓨팅 디바이스일 수 있다. 사용자 디바이스(110)의 일부 예는 데스크톱 컴퓨팅 디바이스, 모바일 컴퓨팅 디바이스(예: 랩톱, 태블릿, 스마트폰, 스마트 스피커/디스플레이, 스마트 기기, 사물 인터넷(IoT) 디바이스 및 웨어러블 컴퓨팅 디바이스(예: 헤드셋 및/또는 시계)를 포함하나 이제 한정되지 않는다.
도시된 예에서, 화자(10) 및 사용자 디바이스(110)는 사용자 디바이스(110)가 화자(10)가 말한 스피치 발화(120)를 캡처하여 입력 오디오 신호(122)(오디오 데이터(122)라고도 함)로 변환하도록 구성된 환경(예를 들어, 방) 내에 위치할 수 있다. 예를 들어, 화자는 회의 중에 대화하는 동료에 해당할 수 있고 사용자 디바이스(110)는 스피치 발화를 녹음하여 입력 오디오 신호(122)로 변환할 수 있다. 차례로, 사용자 디바이스(110)는 어느 화자(10)가 스피치의 각 세그먼트에 대해 말하고 있는지 예측하기 위해 입력 오디오 신호(122)를 구분 시스템(200)에 제공할 수 있다. 따라서, 구분 시스템(200)은 화자 인식/식별을 통해 누가 말하고 있는지 구체적으로 결정하지 않고 누군가가 말할 때를 결정하기 위해 입력 오디오 신호(122)를 프로세싱하는 작업을 수행한다.
일부 예에서, 입력 오디오 신호(122)로 전달되는 발화(120)의 적어도 일부는 주어진 순간에 화자(10) 중 둘 이상의 음성이 활성화되도록 중첩된다. 특히, 입력 오디오 신호(122)가 구분 시스템(200)에 대한 입력으로서 제공될 때 다수의 화자(10)의 수 N은 알려지지 않을 수 있고 구분 시스템은 다수의 화자(10)의 수 N을 예측할 수 있다. 일부 구현예에서, 사용자 디바이스(110)는 화자(10)로부터 원격 위치에 있다. 예를 들어, 사용자 디바이스는 전화 통화 또는 화상 회의에 참여한 화자로부터 스피치 발화(120)를 캡처하는 원격 디바이스(예를 들어, 네트워크 서버)를 포함할 수 있다. 이 시나리오에서, 각 화자(10)(또는 다수의 화자(10)의 그룹)는 스피치 발화(120)를 오디오 데이터(122)로 변환하기 위해 스피치 발화(120)를 캡처하여 원격 사용자 디바이스(110)에 제공하는 자신의 디바이스(예를 들어, 전화, 라디오, 컴퓨터, 스마트워치 등)에 말할 것이다. 물론 이 시나리오에서, 발화(120)는 각각의 사용자 디바이스에서 프로세싱을 거치고 대응하는 입력 오디오 신호(122)로 변환되어 구분 시스템(200)에 입력으로 제공된 입력 오디오 신호(122)를 추가로 프로세싱할 수 있는 원격 사용자 디바이스(110)로 전송된다.
도시된 예에서, 구분 시스템(200)은 ASR 모델(300), 세그먼트화 모듈(210), 화자 인코더(230) 및 클러스터링 모듈(260)을 포함한다. ASR 모델(300)은 입력 오디오 신호(122)를 수신하고 입력 오디오 신호(122)를 프로세싱하여 발화(120)의 전사(220)와 화자 턴 토큰들(224, 224a-n)의 시퀀스를 공동으로 생성하도록 구성된다. ASR 모델(300)은 입력 오디오 신호(122)가 수신됨에 따라 스트리밍 방식으로 전사(220) 및 화자 턴 토큰들(224)을 공동 생성하는 스트리밍 ASR 모델(300)을 포함할 수 있다. 전사(220)는 인접한 용어의 각각의 쌍 사이에서 전사(220)에서 검출된 각각의 화자 턴의 위치를 나타내는 화자 턴 토큰들(224)의 시퀀스를 포함한다. 예를 들어, 발화(120)는 "hello how are you I am good"를 포함할 수 있고 ASR 모델(300)은 "hello how are you <st> I am good"라는 전사(220)를 생성한다. 이 예에서는<st> 는 인접 용어 '당신'과 '나' 사이의 화자 턴을 나타내는 화자 턴 토큰(224)을 나타낸다. 화자 턴 토큰들(224)의 시퀀스에 있는 각각의 화자 턴 토큰(224)은 또한 대응하는 타임스탬프(223)를 포함할 수 있다.
선택적으로, ASR 모델(300)은 오디오 데이터(122)에 대한 스피치 인식을 향상시키기 위해 구분 결과(280)를 활용할 수 있다. 예를 들어, ASR 모델(300)은 분할 결과(280)로부터 식별된 상이한 화자들에 대해 상이한 스피치 인식 모델(예를 들어, 언어 모델, 운율 모델)을 적용할 수 있다. 추가적으로 또는 대안적으로, ASR 모듈(300) 및/또는 구분 시스템(200)(또는 일부 다른 컴포넌트)은 각 화자 세그먼트(225)의 화자 라벨(250)을 사용하여 오디오 데이터(122)의 전사(220)를 인덱싱할 수 있다. 예를 들어, 비즈니스 미팅 중 다수의 동료(예를 들어, 화자(10)) 사이의 대화의 전사는 화자에 의해 색인화되어 각 화자가 말한 내용을 식별하기 위해 전사(220)의 부분을 각각의 화자(10)와 연관시킬 수 있다.
ASR 모델(300)은 TT(Transformer-Transducer), RNN-T(Recurrent Neural Network Transducer) 및/또는 CT(Conformer-Transducer)를 포함하지만 이에 한정되지 않는 임의의 트랜스듀서 기반 아키텍처를 포함할 수 있다. ASR 모델(300)은 트레이닝 발화의 대응하는 실측 전사와 페어링된 둘 이상의 서로 다른 화자(10)가 말한 트레이닝 발화를 각각 포함하는 트레이닝 샘플에 대해 트레이닝될 수 있다. 각 실측 전사에는 실측 전사에서 화자 턴이 발생하는 위치를 나타내는 실측 화자 턴 토큰들이 주입된다. 여기서, 각 트레이닝 샘플의 대응하는 실측 전사에는 타임스탬프 정보가 주석으로 추가되지 않는다.
세그먼트화 모듈(210)은 스피치 발화(120)('스피치 발언'이라고도 함)에 대응하는 오디오 데이터(122)를 수신하고 오디오 데이터(122)를 복수의 화자 세그먼트들(225, 225a-n)로 세그먼트화하도록 구성된다. 세그먼트화 모듈(210)은 오디오 데이터(122) 및 대응 타임스탬프(223)와 함께 화자 턴 토큰들(224)의 시퀀스를 포함하는 전사(220)를 수신하여 오디오 데이터(122)를 복수의 화자 세그먼트들(225)로 세그먼트화한다. 여기서, 각 화자 세그먼트(225)는 두 개의 화자 턴 토큰들(224) 사이의 오디오 데이터에 대응한다. 선택적으로, 세그먼트화 모듈(210)은 (예를 들어, 음성 활동 검출기를 적용함으로써) 오디오 데이터(122)로부터 비-스피치 부분을 추가로 제거할 수 있다. 일부 예에서, 세그먼트화 모듈(210)은 아래에 더 자세히 설명되는 세그먼트 지속시간 임계값을 초과하는 화자 세그먼트들(225)을 추가로 세그먼트화한다.
세그먼트화 모듈(210)은 입력 오디오 신호(122)를 각각의 인접 화자 턴 토큰(224) 쌍의 대응 타임스탬프(223)에 의해 바운딩된 초기 화자 세그먼트(225)로 세그먼트화함으로써 입력 오디오 신호(122)를 복수의 화자 세그먼트들(225)로 분할한다. 예를 들어, 입력 오디오 신호(122)는 3초, 6초, 14초의 타임스탬프(223)를 갖는 시퀀스 화자 턴 토큰들(224)을 갖는 15초의 오디오를 포함할 수 있다. 이 경우, 세그먼트화 모듈(210)은 입력 오디오 신호를 3초, 6초, 14초의 타임스탬프(223)를 갖는 화자 턴 토큰들(224)에 의해 바운딩된 3개의 초기 화자 세그먼트(225)로 세그먼트화한다.
일부 구현예에서, 초기 화자 세그먼트들(225)은 세그먼트 지속시간 임계값을 초과하는 각각의 지속시간을 가질 수 있다. 이러한 구현예에서, 세그먼트화 모듈(210)은 초기 화자 세그먼트(225)를 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 2개 이상의 지속시간이 감소된 화자 세그먼트들(225)로 추가로 세그먼트화한다. 위의 예를 계속하면, 세그먼트화 모듈은 6초 및 14초(예를 들어, 8초의 지속시간을 가짐)에 타임스탬프된 화자 턴 토큰(224)에 의해 바운딩된 초기 화자 세그먼트(225)가 6초의 세그먼트 지속시간 임계값을 초과한다고 결정할 수 있다. 이 시나리오에서, 세그먼트화 모듈(210)은 초기 화자 세그먼트(225)를 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 2개 이상의 지속시간이 감소된 화자 세그먼트(225)로 추가로 세그먼트화할 수 있다. 여기서, 세그먼트화 모듈(210)은 8개의 제2 초기 화자 세그먼트(225)를 6초의 지속시간을 갖는 제1 지속시간이 감소된 화자 세그먼트(225)와 2초의 지속시간을 갖는 제2 지속시간이 감소된 화자 세그먼트(225)로 세그먼트화할 수 있다. 따라서, 입력 오디오 신호(122)로부터 세그먼트화된 복수의 화자 세그먼트들(225)은 세그먼트 지속시간 임계값 이하의 각 지속시간을 갖는 초기 화자 세그먼트(225)와 세그먼트 지속시간 임계값을 초과하는 각 지속시간을 갖는 초기 화자 세그먼트들(225) 중 임의의 것으로부터 추가로 세그먼트화된 지속시간이 감소된 화자 세그먼트(225)를 포함한다.
화자 인코더(230)는 복수의 화자 세그먼트들(225)을 수신하고, 복수의 화자 세그먼트들(225)의 각 화자 세그먼트(225)에 대해 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 출력으로 추출하도록 구성된다. 그 후, 화자 인코더는 임베딩의 관찰 시퀀스 X = (x1, x2, . . ., xT)를 클러스터링 모듈(260)에 제공하며, 여기서 시퀀스의 항목 xT는 원래 발화(120)의 오디오 데이터(122)에 있는 대응하는 화자 세그먼트(225)와 연관된 실수 값 화자 구별 임베딩(240)을 나타낸다. 화자 구별 임베딩(240)은 d-벡터 또는 i-벡터와 같은 화자 벡터를 포함할 수 있다.
일부 예에서, 화자 인코더(230)는 일반화된 엔드-투-엔드 확장 세트 소프트맥스 손실로 트레이닝된 텍스트 독립적 화자 인코더 모델을 포함할 수 있다. 화자 인코더는 각각의 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하도록 구성된 장단기 메모리 기반(LSTM 기반) 화자 인코더 모델을 포함할 수 있다. 특히, 화자 인코더(230)는 768개의 노드와 256의 프로젝션 크기를 갖는 (3) 장단기 메모리(LSTM) 레이어를 포함한다. 여기서, 마지막 LSTM의 출력은 최종 256 차원 d-벡터로 변환된다.
일부 구현예에서, 화자 구별 임베딩(240)이 다른 화자 세그먼트들(225)로부터의 정보를 포함하지 않도록 화자 턴 토큰들(224) 시퀀스의 각 화자 차례 토큰(224)은 화자 인코더(230)의 LSTM 상태를 재설정한다. 예를 들어, 화자 인코더(230)는 화자 세그먼트(225)의 일부에 대응하는 화자 구별 임베딩(240)만을 추출할 수 있다. 따라서, 화자 구별 임베딩(240)은 화자 세그먼트(225)로부터의 충분한 정보를 포함하되 화자 구별 임베딩(240)이 부정확한 정보를 포함하거나 다른 화자(10)로부터의 스피치를 중첩시킬 수 있도록 화자 턴 경계에 너무 가깝지 않도록 한다.
클러스터링 모듈(260)은 각 화자 세그먼트(225)에 대한 화자 구별 임베딩(240) 및 쌍별 제약 조건(226)을 수신하고, 각 화자 구별 임베딩(240)에 대해 화자 라벨(250)을 예측하도록 구성된다. 간단히 말해서, 클러스터링 모듈(260)은 어느 화자(10)가 각 화자 세그먼트(225)를 말했는지 예측한다. 보다 구체적으로, 클러스터링 모듈(260)은 복수의 화자 세그먼트들(225)로부터 추출된 화자 구별 임베딩(240)에 대해 스펙트럼 클러스터링을 수행하여 복수의 화자 세그먼트들(225)을 k 클래스들(262)로 클러스터링한다. k 클래스(262)는 수신된 발화(120)에 포함된 활성 화자의 예측된 수를 나타낸다. 그 후, k 클래스들(262)의 각 개별 클래스(262)에 대해, 클러스터링 모듈(260)은 각 화자 라벨(250)을 k 클래스들(262) 중 서로 다른 클래스(262)로 클러스터링된 화자 세그먼트(225)에 할당된 각각의 화자 라벨(250)과 상이한, 각각의 클래스(262)로 클러스터링된 각 화자 세그먼트(225)에 할당한다.
ASR 모델(300)은 또한 화자 구별 임베딩(240)에 대해 수행되는 스펙트럼 클러스터링을 추가로 제한하기 위해 쌍별 제약(226)을 생성할 수 있다. 즉, ASR 모델(300)은 전사(220)에서 검출된 각 화자 턴 토큰(224)에 대한 신뢰도를 예측할 수 있다. 더욱이, 쌍별 제약(226)은 인접한 화자 세그먼트들(225)에 관한 맥락 정보를 나타낼 수 있다. 예를 들어, 인접한 화자 세그먼트들(225)은 세그먼트 지속시간 임계값보다 작은 지속시간을 갖는 두 화자 세그먼트(225), 세그먼트 지속시간 임계값보다 작은 지속시간을 갖는 하나의 화자 세그먼트(225) 및 감소된 지속시간을 갖는 하나의 화자 세그먼트(225)(즉, 초기 화자 세그먼트가 세그먼트 지속시간 임계값을 초과함) 또는 감소된 지속시간을 갖는 두 화자 세그먼트(225) 중 임의의 조합을 포함할 수 있다. 전사(220)에서 검출된 각 화자 턴의 신뢰도 및 컨텍스트 정보(집합적으로 제약 조건(226)으로 지칭됨)는 클러스터링 모듈(260)에 의한 스펙트럼 클러스터링을 추가로 제한하는데 사용된다.
일부 구현예에서, 클러스터링 모듈(260)은 ASR 모델(300)로부터 수신된 쌍별 제약(226)에 의해 제한되는 화자 구별 임베딩(240)에 대해 수행되는 스펙트럼 클러스터링을 수행한다. 예를 들어, 두 화자 세그먼트들(225)이 세그먼트 지속시간 임계값보다 작은 지속시간을 가질 때, 스펙트럼 클러스터링은 화자 라벨(250)이 높은 신뢰도를 갖는 화자 턴 토큰에 의해 분리된 인접한 화자 세그먼트들(225)에 대해 상이하도록 제한된다. 다른 경우에, 두 화자 세그먼트들(225)이 감소된 지속시간을 가질 때, 스펙트럼 클러스터링은 인접한 화자 세그먼트들(225)에 대한 화자 라벨이 동일하도록 장려하도록 제한된다. 즉, 인접한 지속시간이 감소된 화자 세그먼트들(225)은 화자 턴 토큰(224)이 아닌 세그먼트 지속시간 임계값 초과를 기준으로 분할되었으므로, 인접한 지속시간이 감소된 화자 세그먼트들(225)은 동일한 화자(10)에 의해 발화될 가능성이 높다. 일부 예에서, 세그먼트 지속시간 임계값보다 작은 지속시간을 갖는 하나의 화자 세그먼트(225)가 감소된 지속 시간을 갖는 다른 화자 세그먼트(225)에 인접할 때, 스펙트럼 클러스터링은 화자 턴 토큰(224)의 신뢰도에 기초하여 제한된다. 여기서, 화자 턴 토큰(224)이 높은 신뢰도 값을 가질 때, 클러스터링 모듈(260)은 서로 다른 화자 라벨(250)을 장려하도록 제한된다. 대안적으로, 화자 턴 토큰(224)이 낮은 신뢰값을 가질 때, 클러스터링 모듈(260)은 동일한 화자 라벨(250)을 장려하도록 제한될 수 있다.
일부 구현예에서, 구분 시스템(200)은 각 화자 세그먼트(225)에 할당된 화자 라벨(250)(즉, 구분 결과(280))에 기초하여 발화(120)의 전사(220)에 주석을 추가한다. 예를 들어, 다수의 화자(10) 사이의 대화의 전사(220)는 각 화자(10)가 전사(220)에서 말한 내용을 식별하기 위해 각 화자(10)와 전사(220)의 연관된 부분에 화자에 의해 색인화될 수 있다. 주석이 달린 전사(220)는 화자들(10) 중 하나에 의해 나중에 액세스될 수 있도록 사용자 디바이스(110) 또는 클라우드 컴퓨팅 환경(140)의 메모리 하드웨어(114, 146)에 저장될 수 있다.
도 2는 ASR 모델(즉, 트랜스포머 트랜스듀서)(300), 세그먼트화 모듈(210), 화자 인코더(230) 및 클러스터링 모듈(260)을 포함하는 구분 시스템(200)의 개략도를 도시한다. ASR 모델(300)은 다수의 화자(10)가 말한 발화(120)에 대응하는 입력 오디오 신호(122)를 프로세싱하여(도 1), 발화의 전사(220) 및 화자 턴 토큰(224)의 시퀀스를 생성한다. 전사(220)는 다수의 화자가 말한 단어에 대응하는 하나 이상의 용어(222)를 포함한다. 화자 턴 토큰들(224)의 시퀀스는 각각의 인접한 용어 쌍(222) 사이의 전사(220)에서 검출된 각각의 화자 턴의 위치를 나타낸다. 도시된 예에서, 입력 오디오 신호(122)는 제1 및 제2 용어(222)가 제1 화자(10)에 의해 발화되고, 제3 및 제4 용어(222)가 제2 화자(10)에 의해 발화되고, 제5 및 제6 용어(222)가 제3 화자(10)에 의해 발화되는 발화를 포함할 수 있다. 여기서, ASR 모델(300)은 제1 화자에서 제2 화자로의 화자 턴을 나타내기 위해 제2 항(222)과 제3 항(222) 사이에 제1 화자 토큰(224)을 생성하고, 제2 화자에서 제3 화자로의 화자 턴을 나타내기 위해 제4 항(222)과 제5 항(222) 사이에 제2 화자 토큰(224)을 생성한다. 또한, 일부 예에서, ASR 모델(300)은 발화의 시작을 나타내는 SOS(발화 시작) 토큰(227) 및 발화의 끝을 나타내는 EOS(발화 종료) 토큰(229)을 생성한다.
일부 구현예에서, ASR 모델(300)은 입력 오디오 신호(122)에서 화자 턴을 검출하기 위해 음향 정보 및/또는 의미론적 정보를 프로세싱한다. 즉, 자연어 이해(NLU)를 사용하여 ASR 모델(300)은 "How are you I’m good"라는 발화에 대해 "how are you"와 "I’m good"이 입력 오디오 신호(122)의 임의의 음향 프로세싱과 독립적으로 다른 사용자에 의해 발화되었을 가능성이 있다는 것을 결정할 수 있다. 전사(220)의 이러한 의미론적 해석은 독립적으로 또는 입력 오디오 신호(122)의 음향 프로세싱과 함께 사용될 수 있다.
화자 인코더(230)는 세그먼트화 모듈(210)로부터 복수의 화자 세그먼트들(225)를 수신하고(도 2), 각 화자 세그먼트(225)에 대해 대응하는 화자 구별 임베딩(240)을 추출한다. 화자 구별 임베딩(240)은 d-벡터 또는 i-벡터와 같은 화자 벡터를 포함할 수 있다. 화자 인코더(230)는 각 화자 세그먼트(225)와 연관된 화자 구별 임베딩(240)을 클러스터링 모듈(260)에 제공한다.
클러스터링 모듈(260)은 각 화자 세그먼트(225)에 대한 화자 구별 임베딩(240) 및 쌍별 제약 조건(226)을 수신하고, 각 화자 구별 임베딩(240)에 대해 화자 라벨(250)을 예측하도록 구성된다. N개의 데이터 샘플 세트(예: x1, x2, . . ., xT)에 대해, 클러스터링 모듈(260)은 쌍별 유사성 a ij 를 계산하여 유사성 그래프를 구성하며, 여기서 A는 유사성 그래프의 친화도 행렬 을 나타낸다. 또한, 두 샘플 x i 와 x j 의 친화력은 로 표현될 수 있다. 클러스터링 모듈(260)은 서로 다른 클러스터를 연결하는 에지가 낮은 8을 갖고, 클러스터 내의 에지는 높은 가중치를 갖도록 파티션을 식별한다. 일반적으로 유사성 그래프는 연결되어 있거나 연결된 컴포넌트 몇 개와 격리된 정점이 거의 포함되어 있지 않다. 스펙트럼 클러스터링은 유사성 그래프의 품질과 노이즈에 민감하므로, 클러스터링 모듈(260)은 데이터 샘플 간의 로컬 이웃 관계를 모델링하기 위해 친화도 행렬에 대해 여러 정제 동작을 수행한다. 한 가지 정제 동작은 친화도 행렬의 대각선 값을 0으로 설정하고, p-백분위수 값보다 큰 친화도 값을 1로 설정하고, 친화도 값에 행의 p-백분위수보다 작은 0.01을 곱하고, 그리고 친화도 행렬의 대각선 값을 1로 재설정하는 p-백분위수를 사용한 행별 임계값 지정을 포함한다. 또 다른 정제 동작은 평균 요약 동작을 적용하여 식 A' (A + AT)을 사용하여 친화도 행렬을 양의 준정부호로 만드는 것을 포함한다. 구분 오류율(DER)은 p-백분위수에 대한 하이퍼 파라미터 p의 영향을 크게 받는다. 따라서, 비율 값 r(p)는 유사성 그래프에서 과도한 양의 연결을 생성하지 않으면서 최대 고유갭이 커지도록 하는 DER의 좋은 프록시이다.
친화도 행렬 A가 주어지면, 정규화되지 않은 라플라시안 행렬 L은 L = D - A로 정의되는 반면 정규화된 라플라시안 행렬 은 = D-1/2LD-1/2로 정의된다. 여기서 D는 로 정의된 대각행렬을 나타낸다. 스펙트럼 클러스터링을 수행하기 위해, 클러스터링 모듈(260)은 고유 분해를 적용하여 최대 고유갭 방법을 사용하여 k 클래스(262)의 수를 추정한다. 클러스터링 모듈(260)은 고유 벡터의 제1 클래스 k(262)를 선택하고 스펙트럼 임베딩의 행별 재정규화를 적용하며 스펙트럼 임베딩에 k-평균 알고리즘을 적용하여 화자 라벨(250)을 예측한다.
클러스터링 모듈(260)은 화자 턴 토큰(224)의 신뢰도를 나타내는 쌍별 제약(226)과 스펙트럼 클러스터링을 제약하는 컨텍스트 정보를 수신한다. 쌍별 제약(226)은 신뢰도가 높은 화자 턴 토큰(224)을 사용하여 인접한 화자 세그먼트(225)에 대해 서로 다른 화자 라벨(250)을 장려하고 신뢰도가 낮은 화자 턴 토큰(224)을 사용하여 인접한 화자 세그먼트(225)에 대해 동일한 화자 라벨(250)을 장려하도록 구성된다. 쌍별 제약(226) Q를 사용하여, 제약 스펙트럼 클러스터링은 유사성 그래프 G에서 제약 만족을 최대화하고 비용을 최소화하는 하나 이상의 파티션을 식별한다. 쌍별 제약(226)은 으로 표현될 수 있다. 클러스터링 모듈(260)은 제약 행렬 Q를 다음과 같이 프로세싱한다.
(1)
여기서, 화자 세그먼트 225 i와 i+1 사이에 화자 턴이 있고, 화자 턴 토큰의 신뢰도가 c(<st> )가 임계값 σ보다 큰 경우, 클러스터링 모듈(260)은 인접한 화자 세그먼트(225)를 "cannot-link"(CL)으로 정의한다. CL 정의는 인접한 화자 세그먼트(225) 사이의 화자 라벨(250)이 다를 가능성이 높다는 것을 나타낸다. 인접한 화자 세그먼트(225) 사이에 화자 턴 토큰(224)이 없는 경우, 클러스터링 모듈은 인접한 화자 세그먼트를 "must-link"(ML)로 정의한다. ML 정의는 인접한 화자 세그먼트(225) 사이의 화자 라벨(250)이 동일할 가능성이 높다는 것을 나타낸다.
ML 정의된 인접 화자 세그먼트(225)는 포지티브 클래스로 처리되고 CL 정의된 인접 화자 세그먼트(225)는 네거티브 클래스로 처리된다. 클래스 라벨(즉, 포지티브 및 네거티브)은 친화도 행렬 에서 각각 수직 및 수평 방향으로 전파된다. 각 반복 t에서, 초기 제약 행렬이 추가되어 Q(t)를 조정한다. 또한, 파라미터 α는 인접한 화자 세그먼트(225) 및 초기 제약(226)으로부터의 제약 정보의 상대적인 양을 제어하는데 사용된다. 클러스터링 모듈은 수렴할 때까지 먼저 수직 전파를 수행한 후 다음 알고리즘에 따라 수평 전파를 수행한다.
Algorithm 1: E2CP(Exhaustive and Efficient Constraint Propagation) 방법
Require: Initial constraint matrix Z = Q(0), matrix , parameter α.
While: not converge to do
end while
While: not converge to do
end while
를 최종 수렴된 쌍별 제약 행렬로 출력한다.
Q*는 다음과 같이 공식화된 폐쇄형 솔루션이 있다.
(2)
전파된 제약 행렬 Q*를 사용하여, 클러스터링 모듈(260)은 다음과 같이 조정된 친화도 행렬 를 획득한다.
(3)
제약 조건 Q ij > 0의 경우, 친화도 행렬은 샘플 x i 와 x j 간의 유사성을 증가시킨다. 대안적으로, Q ij < 0인 경우, 친화도 행렬은 x i 와 x j 간의 유사성을 감소시킨다. 이 동작 후에, 클러스터링 모듈(260)은 화자 세그먼트(225)에 대한 화자 라벨(250)을 예측하기 위해 정규화된 라플라시안 행렬 기반 스펙트럼 클러스터링을 수행한다. 클러스터링 모듈(260)은 제1 화자가 제1 화자 세그먼트(225a)(즉, 제1 및 제2 용어(222))를 말했음을 나타내는 제1 화자 라벨(250a), 제2 화자가 제2 화자 세그먼트(225b)(즉, 제3 및 제4 용어(222))를 말했음을 나타내는 제2 화자 라벨(250b), 제3 화자가 제3 화자 세그먼트(225c)(즉, 제5 및 제6 용어(222))를 발화했음을 나타내는 제3 화자 라벨(250c)을 포함하는 구분 결과(280)를 생성한다.
도 3을 참조하면, ASR 모델(300)은 음향, 발음 및 언어 모델을 하나의 신경망으로 통합하여 엔드-투-엔드(E2E) 스피치 인식을 제공할 수 있으며, 사전이나 별도의 텍스트 정규화 컴포넌트가 필요하지 않다. 다양한 구조와 최적화 메커니즘을 통해 정확도를 높이고 모델 트레이닝 시간을 줄일 수 있다. ASR 모델(300)은 인터렉티브 애플리케이션과 연관된 레이턴시 제약을 준수하는 스트리밍 트랜스포머-트랜스듀서(T-T) 모델 아키텍처를 포함할 수 있다. ASR 모델(300)은 유사하게 RNN-T 모델 아키텍처 또는 CT(Conformer-Transducer) 모델 아키텍처를 포함할 수 있다. ASR 모델(300)은 작은 계산 공간을 제공하고 기존의 ASR 아키텍처보다 적은 메모리 요구사항을 활용하여, T-T 모델 아키텍처를 사용자 디바이스(110)에서 완전히 스피치 인식을 수행하는데 적합하게 한다(예를 들어, 클라우드 컴퓨팅 환경(140)과의 통신이 필요하지 않다). ASR 모델(300)은 오디오 인코더(310), 라벨 인코더(320) 및 조인트 네트워크(330)를 포함한다. 음향 모델(AM)과 대략적으로 유사한 인코더 네트워크(310)는 복수의 트랜스포머 레이어들(216)을 갖는 신경 네트워크를 포함한다. 예를 들어, 오디오 인코더(310)는 d차원 피처 벡터의 시퀀스(예를 들어, 화자 세그먼트(225)(도 1))를 판독하고 x = (x 1 , x 2 , . . ., x T ), 여기서 x t ∈ Rd이고 각 시간 단계에서 고차 피처 표현(312)을 생성한다. 여기서, 각 화자 세그먼트(225)(도 1)은 각각의 화자 세그먼트(225)(도 1)에 대응하는 음향 프레임들의 시퀀스(예: 오디오 데이터(122))를 포함한다. 이 고차 피처 표현은 ah1, . . ., ahT로 표시될 수 있다.
유사하게, 라벨 인코더(320)는 또한 언어 모델(LM)과 같이 최종 소프트맥스 레이어(340)에 의해 출력된 비-공백 심볼들의 시퀀스 y 0 ,. . ., y ui-1 , (예를 들어, 도 2에 도시된 바와 같이 화자 턴 토큰(224)을 포함하는 하나 이상의 용어(222))를 예측된 라벨 히스토리를 인코딩하는 조밀한 표현(322)(Ihu로 표시됨)으로 프로세싱하는 트랜스포머 레이어들의 신경 네트워크 또는 룩업 테이블 임베딩 모델을 포함할 수 있다. 라벨 인코더(320)가 트랜스포머 레이어의 신경 네트워크를 포함하는 구현예에서, 각각의 트랜스포머 레이어는 정규화 레이어, 상대 포지션 인코딩을 갖는 마스킹된 멀티 헤드 어텐션 레이어, 잔여 연결, 피드 포워드 레이어 및 드롭아웃 레이어를 포함할 수 있다. 이들 구현예에서, 라벨 인코더(320)는 2개의 트랜스포머 레이어를 포함할 수 있다. 라벨 인코더(320)가 바이그램 라벨 컨텍스트를 갖는 룩업 테이블 임베딩 모델을 포함하는 구현예에서, 임베딩 모델은 각각의 가능한 바이그램 라벨 컨텍스트에 대한 d 차원의 가중치 벡터를 학습하도록 구성되며 여기서 d는 오디오 및 라벨 인코더(310, 320)의 출력들의 차원이다. 일부 예에서, 임베딩 모델의 총 파라미터 수는 N 2 x d 이며, 여기서 N은 라벨의 어휘 크기이다. 여기서, 학습된 가중치 벡터는 고속 라벨 인코더(320) 런타임을 생성하기 위해 ASR 모델(300)에 바이그램 라벨 컨텍스트를 삽입하는데 사용된다.
마지막으로, T-T 모델 아키텍처에서, 오디오 및 라벨 인코더(310, 320)에 의해 생성된 표현은 조밀한 레이어 Ju,t를 사용하여 조인트 네트워크(330)에 의해 결합된다. 그런 다음 조인트 네트워크(330)는 다음 출력 심볼에 대한 분포인 P(z u,t |x,t,y 1 , . . ., y u-1 )를 예측한다. 달리 말하면, 조인트 네트워크(330)는 각각의 출력 단계(예를 들어, 시간 단계)에서, 전사(220)의 하나 이상의 용어(222)(도 2)에 대한 가능한 스피치 인식 가설에 대한 확률 분포(342)를 생성한다. 여기서, "가능한 스피치 인식 가설"은 지정된 자연어에서 자소(예: 기호/문자), 용어(222)(도 2) 또는 단어 조각을 각각 나타내는 출력 라벨의 세트("스피치 유닛"으로도 지칭됨)에 대응한다. 예를 들어, 자연어가 영어인 경우, 출력 레이블의 세트는 27개의 기호, 예를 들어 영어 알파벳의 26자 각각에 대한 하나의 레이블과 공백을 지정하는 하나의 레이블을 포함할 수 있다. 따라서, 조인트 네트워크(330)는 미리 결정된 출력 레이블 세트 각각의 발생 가능성을 나타내는 값 세트를 출력할 수 있다. 이 값들의 세트는 벡터(예: 하나의 핫 벡터)일 수 있으며, 출력 레이블들의 세트에 대한 확률 분포를 나타낼 수 있다. 일부 경우에, 출력 레이블이 자소(예: 개별 문자, 잠재적으로 구두점 및 기타 기호)이지만, 출력 레이블 세트는 그렇게 제한되지 않다. 예를 들어, 출력 레이블 세트는 자소에 추가로 또는 대신에 단어 조각 및/또는 전체 단어를 포함할 수 있다. 조인트 네트워크(330)의 출력 분포는 상이한 출력 레이블들 각각에 대한 사후 확률 값을 포함할 수 있다. 따라서, 상이한 자소 또는 다른 기호를 나타내는 100개의 상이한 출력 레이블이 있는 경우, 조인트 네트워크(330)의 출력 z u,t 는 각 출력 레이블에 대해 하나씩 100개의 상이한 확률 값을 포함할 수 있다. 그 다음, 확률 분포는 전사를 결정하기 위한 빔 검색 프로세스(예를 들어, 소프트맥스 레이어(340)에 의해)에서 후보 정법 엘리먼트(예를 들어, 자소, 단어 조각 및/또는 단어)에 점수를 선택하고 할당하는데 사용될 수 있다.
소프트맥스 레이어(340)는 대응하는 출력 단계에서 ASR 모델(300)에 의해 예측된 다음 출력 심볼로서 분포에서 가장 높은 확률을 갖는 출력 레이블/심볼을 선택하기 위해 임의의 기법을 사용할 수 있다. 이와 같이, ASR 모델(300)은 조건부 독립 가정을 하지 않고, 각 심볼의 예측은 음향뿐만 아니라 지금까지 출력된 레이블들의 시퀀스에 따라 조절된다.
도 4는 스피치의 수신된 발화(120)에 대해 화자 구분을 수행하는 컴퓨터로 구현되는 방법(400)에 대한 예시적 동작 구성의 흐름도이다. 데이터 프로세싱 하드웨어(112, 144)는 메모리 하드웨어(114, 146)에 저장된 명령어를 실행함으로써 방법(400)에 대한 동작을 실행할 수 있다. 동작(402)에서, 방법(400)은 다수의 화자(10, 10a-n)가 말한 발화(120)에 대응하는 입력 오디오 신호(122)를 수신하는 동작을 포함한다. 동작(404)에서, 방법(400)은 스피치 인식 모델(예: ASR 모델)을 사용하여 발화(120)의 전사(220) 및 화자 턴 토큰들(224, 224a-n)의 시퀀스를 출력으로서 공동으로 생성하기 위해 입력 오디오 신호(122)를 프로세싱하는 동작을 포함한다. 각각의 화자 턴 토큰(224)은 각각의 인접한 용어 쌍(222) 사이의 전사(220)에서 검출된 각각의 화자 턴의 위치를 나타낸다. 동작(406)에서, 방법(400)은 화자 토큰들(224)의 시퀀스에 기초하여 입력 오디오 신호(122)를 복수의 화자 세그먼트들(225)로 세그먼트화하는 동작을 포함한다.
동작(408)에서, 방법(400)은 복수의 화자 세그먼트들(225)의 각각의 화자 세그먼트(225)에 대해 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하는 동작을 포함한다. 동작(410)에서, 방법(400)은 복수의 화자 세그먼트들(225)를 k 클래스들(262)로 클러스터링하기 위해 복수의 화자 세그먼트들(225)로부터 추출된 화자 구별 임베딩(240)에 대해 스펙트럼 클러스터링을 수행하는 동작을 포함한다. 동작(412)에서, 방법(400)은 k 클래스들(262)의 각 개별 클래스(262)에 대해, 각 화자 라벨(250)을 k 클래스들(262) 중 서로 다른 클래스(262)로 클러스터링된 화자 세그먼트(225)에 할당된 각각의 화자 라벨(250)과 상이한, 각각의 클래스(262)로 클러스터링된 각 화자 세그먼트(225)에 할당하는 동작을 포함한다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적 애플리케이션은 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지보수 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션을 포함하지만 이에 한정되지는 않는다.
비일시적 메모리는 컴퓨팅 디바이스에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 주소 지정가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
도 5는 본 문서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스(500)의 개략도이다. 컴퓨팅 디바이스(500)는 랩톱, 데스크톱, 워크 스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 여기에 도시된 컴포넌트들, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기술된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.
컴퓨팅 디바이스(500)는 프로세서(510), 메모리(520), 저장 디바이스(530), 메모리(520) 및 고속 확장 포트(550)에 연결되는 고속 인터페이스/제어기(540) 및 저속 버스(570) 및 저장 디바이스(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 컴포넌트들(510, 520, 530, 540, 550 및 560) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(510)는 메모리(520) 또는 저장 디바이스(530)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(500) 내에서 실행하기 위한 명령어들을 프로세싱하여, 고속 인터페이스(540)에 연결된 디스플레이(580)와 같은 외부 입/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(500)은 필요한 동작의 부분들을 제공하는 각 디바이스와 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
메모리(520)는 컴퓨팅 디바이스(500) 내에 비일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(520)는 컴퓨팅 디바이스(500)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
저장 디바이스(530)는 컴퓨팅 디바이스(500)에 대한 대형 스토리지를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(530)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 저장 디바이스(530)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이일 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 수록된다. 컴퓨터 프로그램 제품은 또한 실행될 때 상기 기술된 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(520), 저장 디바이스(530) 또는 프로세서(510)상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 제어기(540)는 컴퓨팅 디바이스(500)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 제어기(560)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일부 구현예에서, 고속 제어기(540)는 메모리(520), 디스플레이(580)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(550)에 연결된다. 일부 구현예에서, 저속 제어기(560)는 저장 디바이스(530) 및 저속 확장 포트(590)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(590)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 예를 들어 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(500)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(500a)로서 또는 그러한 서버(500a)의 그룹에서 여러 번, 랩톱 컴퓨터(500b)로서 또는 랙 서버 시스템(500c)의 일부로서 구현될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특수하게 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이들 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전송하기 위해 연결될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 비일시적 컴퓨터 판독가능 매체, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 "기계 판독가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 데이터 프로세싱 하드웨어로도 지칭되는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야 하는 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 또는 터치 스크린과 같은 디스플레이 디바이스 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 스피치 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들도 다음의 청구항들의 범위 내에 있다.
Claims (24)
- 데이터 프로세싱 하드웨어(142)에서 실행될 때 상기 데이터 프로세싱 하드웨어(142)로 하여금 동작들을 수행하게 하는 컴퓨터로 구현되는 방법(400)으로서, 상기 동작들은:
다수의 화자(10)가 말한 발화(120)에 대응하는 입력 오디오 신호(122)를 수신하는 동작;
스피치 인식 모델(300)로부터 다음을 출력을 공동으로 생성하기 위해, 스피치 인식 모델(300)을 사용하여, 입력 오디오 신호(122)를 프로세싱하는 동작:
발화(120)의 전사(120); 및
각각의 인접한 용어 쌍(222) 사이의 전사(120)에서 검출된 각각의 화자 턴의 위치를 각각 나타내는 화자 턴 토큰들(224)의 시퀀스;
화자 턴 토큰들(224)의 시퀀스에 기초하여 입력 오디오 신호(122)를 복수의 화자 세그먼트들(225)로 세그먼트화하는 동작;
복수의 화자 세그먼트들(225) 중 각각의 화자 세그먼트(225)에 대해, 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하는 동작;
복수의 화자 세그먼트들(225)을 k 클래스들(262)로 클러스터링하기 위해 복수의 화자 세그먼트들(225)로부터 추출된 화자 구별 임베딩(240)에 대해 스펙트럼 클러스터링을 수행하는 동작; 및
k 클래스(262)의 각 개별 클래스(262)에 대해, 각 화자 라벨(250)을 k 클래스들(262) 중 서로 다른 클래스(262)로 클러스터링된 화자 세그먼트(225)에 할당된 각각의 화자 라벨(250)과 상이한, 각각의 클래스(262)로 클러스터링된 각 화자 세그먼트(225)에 할당하는 동작을 포함하는, 컴퓨터로 구현되는 방법. - 청구항 1에 있어서, 각 화자 세그먼트(225)에 할당된 화자 라벨(250)에 기초하여 발화(120)의 전사(120)에 주석을 다는 동작을 더 포함하는, 컴퓨터로 구현되는 방법.
- 청구항 1 또는 청구항 2에 있어서,
화자 턴 토큰들(224)의 시퀀스에서 각 화자 턴 토큰(224)은 대응하는 타임스탬프(223)를 갖고; 그리고
화자 턴 토큰들(224)의 시퀀스에 기초하여 입력 오디오 신호(122)를 복수의 화자 세그먼트들(225)로 세그먼트화하는 동작은 입력 오디오 신호(122)를 화자 턴 토큰들(224)의 시퀀스에서 인접한 화자 턴 토큰들(224)의 각 쌍의 대응하는 타임스탬프(223)에 의해 각각 바운딩된 초기 화자 세그먼트들(225)로 세그먼트화하는 것을 포함하는, 컴퓨터로 구현되는 방법. - 청구항 3에 있어서,
세그먼트 지속시간 임계값을 초과하는 각각의 지속시간을 갖는 각각의 초기 화자 세그먼트(225)에 대해, 초기 화자 세그먼트를 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 2개 이상의 지속시간이 감소된 화자 세그먼트들(225)로 추가로 세그먼트화하는 동작을 더 포함하고,
입력 오디오 신호(122)로부터 세그먼트화된 복수의 화자 세그먼트들(225)은:
상기 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 초기 화자 세그먼트들(225); 및
상기 세그먼트 지속시간 임계값을 초과하는 각각의 지속시간을 갖는 초기 화자 세그먼트들(225) 중 임의의 것으로부터 추가로 세그먼트화된 지속시간이 감소된 화자 세그먼트들(225)을 포함하는, 컴퓨터로 구현되는 방법. - 청구항 1 내지 4 중 어느 한 항에 있어서, 상기 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하는 동작은:
화자 인코더 모델(230)에 대한 입력으로서 화자 세그먼트(225)를 수신하는 것; 및
화자 인코더 모델(230)로부터의 출력으로서 대응하는 화자 구별 임베딩(240)을 생성하는 것을 포함하는, 컴퓨터로 구현되는 방법. - 청구항 5에 있어서, 상기 화자 인코더 모델(230)은 각 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하도록 구성된 장단기 메모리 기반(LSTM 기반) 화자 인코더 모델을 포함하는, 컴퓨터로 구현되는 방법.
- 청구항 1 내지 6 중 어느 한 항에 있어서,
스피치 인식 모델(300)의 출력으로서 생성된 화자 턴 토큰들(224)의 시퀀스에서 각 화자 턴 토큰(224)에 대해, 전사(120)에서 검출된 각 화자 턴의 신뢰도를 예측하는 동작; 및
화자 턴 토큰(224)에 대해 예측된 신뢰도에 기초하여 쌍별 제약 조건을 결정하는 동작(226)을 더 포함하고,
상기 화자 구별 임베딩(240)에 대해 수행된 스펙트럼 클러스터링은 쌍별 제약(226)에 의해 제한되는, 컴퓨터로 구현되는 방법. - 청구항 1 내지 7 중 어느 한 항에 있어서, 상기 스피치 인식 모델(300)은 스트리밍 트랜스듀서 기반 스피치 인식 모델을 포함하며, 상기 스트리밍 트랜스듀서 기반 스피치 인식 모델은:
오디오 인코더(310), 상기 오디오 인코더는:
음향 프레임들(122)의 시퀀스를 입력으로서 수신하고; 그리고
복수의 시간 단계들 각각에서, 상기 음향 프레임들(122)의 시퀀스에서 대응하는 음향 프레임(122)에 대한 고차 피처 표현(312)을 생성하도록 구성되며;
라벨 인코더(320), 상기 라벨 인코더는:
최종 소프트맥스 레이어(340)에 의해 출력된 비-공백 심볼들(222)의 시퀀스를 입력으로 수신하고; 그리고
복수의 시간 단계들 각각에서, 조밀한 표현(322)을 생성하도록 구성되며; 및
조인트 네트워크(330)를 포함하며, 상기 조인트 네트워크는:
복수의 시간 단계들 각각에서, 오디오 인코더(310)에 의해 생성된 고차 피처 표현(312) 및 복수의 시간 단계들 각각에서, 라벨 인코더(250)에 의해 생성된 조밀한 표현(322)을 입력으로서 수신하고; 그리고
복수의 시간 단계들 각각에서, 대응하는 시간 단계에서 가능한 스피치 인식 가설에 대한 확률 분포(342)를 생성하도록 구성되는, 컴퓨터로 구현되는 방법. - 청구항 8에 있어서, 오디오 인코더(310)는 복수의 트랜스포머 레이어들을 갖는 신경 네트워크를 포함하는, 컴퓨터로 구현되는 방법.
- 청구항 8 또는 청구항 9에 있어서, 상기 라벨 인코더(250)는 바이그램 임베딩 룩업 디코더 모델을 포함하는, 컴퓨터로 구현되는 방법.
- 청구항 1 내지 11 중 어느 한 항에 있어서, 상기 스피치 인식 모델(300)은 트레이닝 발화(120)의 대응하는 실측(ground-truth) 전사(120)와 페어링된 두 명 이상의 서로 다른 화자(10)가 말한 트레이닝 발화(120)를 각각 포함하는 트레이닝 샘플에 대해 트레이닝되며, 각 실측 전사(120)에는 실측 전사에서 화자 전환이 발생하는 위치를 나타내는 실측 화자 턴 토큰들이 주입되는, 컴퓨터로 구현되는 방법.
- 청구항 11에 있어서, 각각의 트레이닝 샘플의 대응하는 실측 전사에는 임의의 타임스탬프(223) 정보가 주석으로 달리지 않는, 컴퓨터로 구현되는 방법.
- 시스템(100)으로서,
데이터 프로세싱 하드웨어(142); 및
상기 데이터 프로세싱 하드웨어(142)와 통신하는 메모리 하드웨어(146)를 포함하며, 상기 메모리 하드웨어(126)는 상기 데이터 프로세싱 하드웨어(142)에 의해 실행될 때 상기 데이터 프로세싱 하드웨어(142)로 하여금 동작들을 수행하게 하는 명령어를 저장하며, 상기 동작들은:
다수의 화자(10)가 말한 발화(120)에 대응하는 입력 오디오 신호(122)를 수신하는 동작;
스피치 인식 모델(300)로부터 다음을 출력을 공동으로 생성하기 위해, 스피치 인식 모델(300)을 사용하여, 입력 오디오 신호(122)를 프로세싱하는 동작:
발화(120)의 전사(120); 및
각각의 인접한 용어 쌍(222) 사이의 전사(120)에서 검출된 각각의 화자 턴의 위치를 각각 나타내는 화자 턴 토큰들(224)의 시퀀스;
화자 턴 토큰들(224)의 시퀀스에 기초하여 입력 오디오 신호(122)를 복수의 화자 세그먼트들(225)로 세그먼트화하는 동작;
복수의 화자 세그먼트들(225) 중 각각의 화자 세그먼트(225)에 대해, 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하는 동작;
복수의 화자 세그먼트들(225)을 k 클래스들(262)로 클러스터링하기 위해 복수의 화자 세그먼트들(225)로부터 추출된 화자 구별 임베딩(240)에 대해 스펙트럼 클러스터링을 수행하는 동작; 및
k 클래스(262)의 각 개별 클래스(262)에 대해, 각 화자 라벨(250)을 k 클래스들(262) 중 서로 다른 클래스(262)로 클러스터링된 화자 세그먼트(225)에 할당된 각각의 화자 라벨(250)과 상이한, 각각의 클래스(262)로 클러스터링된 각 화자 세그먼트(225)에 할당하는 동작을 포함하는, 시스템. - 청구항 13에 있어서, 각 화자 세그먼트(225)에 할당된 화자 라벨(250)에 기초하여 발화(120)의 전사(120)에 주석을 다는 동작을 더 포함하는, 시스템.
- 청구항 13 또는 청구항 14에 있어서,
화자 턴 토큰들(224)의 시퀀스에서 각 화자 턴 토큰(224)은 대응하는 타임스탬프(223)를 갖고; 그리고
화자 턴 토큰들(224)의 시퀀스에 기초하여 입력 오디오 신호(122)를 복수의 화자 세그먼트들(225)로 세그먼트화하는 동작은 입력 오디오 신호(122)를 화자 턴 토큰들(224)의 시퀀스에서 인접한 화자 턴 토큰들(224)의 각 쌍의 대응하는 타임스탬프(223)에 의해 각각 바운딩된 초기 화자 세그먼트들(225)로 세그먼트화하는 것을 포함하는, 시스템. - 청구항 15에 있어서,
세그먼트 지속시간 임계값을 초과하는 각각의 지속시간을 갖는 각각의 초기 화자 세그먼트(225)에 대해, 초기 화자 세그먼트를 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 2개 이상의 지속시간이 감소된 화자 세그먼트들(225)로 추가로 세그먼트화하는 동작을 더 포함하고,
입력 오디오 신호(122)로부터 세그먼트화된 복수의 화자 세그먼트들(225)은:
상기 세그먼트 지속시간 임계값보다 작거나 같은 각각의 지속시간을 갖는 초기 화자 세그먼트들(225); 및
상기 세그먼트 지속시간 임계값을 초과하는 각각의 지속시간을 갖는 초기 화자 세그먼트들(225) 중 임의의 것으로부터 추가로 세그먼트화된 지속시간이 감소된 화자 세그먼트들(225)을 포함하는, 시스템. - 청구항 13 내지 16 중 어느 한 항에 있어서, 상기 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하는 동작은:
화자 인코더 모델(230)에 대한 입력으로서 화자 세그먼트(225)를 수신하는 것; 및
화자 인코더 모델(230)로부터의 출력으로서 대응하는 화자 구별 임베딩(240)을 생성하는 것을 포함하는, 시스템. - 청구항 17에 있어서, 상기 화자 인코더 모델(230)은 각 화자 세그먼트(225)로부터 대응하는 화자 구별 임베딩(240)을 추출하도록 구성된 장단기 메모리 기반(LSTM 기반) 화자 인코더 모델을 포함하는, 시스템.
- 청구항 13 내지 18 중 어느 한 항에 있어서, 상기 동작들은:
스피치 인식 모델(300)의 출력으로서 생성된 화자 턴 토큰들(224)의 시퀀스에서 각 화자 턴 토큰(224)에 대해, 전사(120)에서 검출된 각 화자 턴의 신뢰도를 예측하는 동작; 및
화자 턴 토큰(224)에 대해 예측된 신뢰도에 기초하여 쌍별 제약 조건을 결정하는 동작(226)을 더 포함하고,
상기 화자 구별 임베딩(240)에 대해 수행된 스펙트럼 클러스터링은 쌍별 제약(226)에 의해 제한되는, 시스템. - 청구항 13 내지 19 중 어느 한 항에 있어서, 상기 스피치 인식 모델(300)은 스트리밍 트랜스듀서 기반 스피치 인식 모델을 포함하며, 상기 스트리밍 트랜스듀서 기반 스피치 인식 모델은:
오디오 인코더(310), 상기 오디오 인코더는:
음향 프레임들(122)의 시퀀스를 입력으로서 수신하고; 그리고
복수의 시간 단계들 각각에서, 상기 음향 프레임들(122)의 시퀀스에서 대응하는 음향 프레임(122)에 대한 고차 피처 표현(312)을 생성하도록 구성되며;
라벨 인코더(320), 상기 라벨 인코더는:
최종 소프트맥스 레이어(340)에 의해 출력된 비-공백 심볼들(222)의 시퀀스를 입력으로 수신하고; 그리고
복수의 시간 단계들 각각에서, 조밀한 표현(322)을 생성하도록 구성되며; 및
조인트 네트워크(330)를 포함하며, 상기 조인트 네트워크는:
복수의 시간 단계들 각각에서, 오디오 인코더(310)에 의해 생성된 고차 피처 표현(312) 및 복수의 시간 단계들 각각에서, 라벨 인코더(250)에 의해 생성된 조밀한 표현(322)을 입력으로서 수신하고; 그리고
복수의 시간 단계들 각각에서, 대응하는 시간 단계에서 가능한 스피치 인식 가설에 대한 확률 분포(342)를 생성하도록 구성되는, 시스템. - 청구항 20에 있어서, 오디오 인코더(310)는 복수의 트랜스포머 레이어들을 갖는 신경 네트워크를 포함하는, 시스템.
- 청구항 20 또는 청구항 21에 있어서, 상기 라벨 인코더(250)는 바이그램 임베딩 룩업 디코더 모델을 포함하는, 시스템.
- 청구항 13 내지 22 중 어느 한 항에 있어서, 상기 스피치 인식 모델(300)은 트레이닝 발화(120)의 대응하는 실측(ground-truth) 전사(120)와 페어링된 두 명 이상의 서로 다른 화자(10)가 말한 트레이닝 발화(120)를 각각 포함하는 트레이닝 샘플에 대해 트레이닝되며, 각 실측 전사(120)에는 실측 전사에서 화자 전환이 발생하는 위치를 나타내는 실측 화자 턴 토큰들이 주입되는, 시스템.
- 청구항 23에 있어서, 각각의 트레이닝 샘플의 대응하는 실측 전사에는 임의의 타임스탬프(223) 정보가 주석으로 달리지 않는, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163261536P | 2021-09-23 | 2021-09-23 | |
US63/261,536 | 2021-09-23 | ||
PCT/US2021/063343 WO2023048746A1 (en) | 2021-09-23 | 2021-12-14 | Speaker-turn-based online speaker diarization with constrained spectral clustering |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240053639A true KR20240053639A (ko) | 2024-04-24 |
Family
ID=79927078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247011500A KR20240053639A (ko) | 2021-09-23 | 2021-12-14 | 제한된 스펙트럼 클러스터링을 사용한 화자-턴 기반 온라인 화자 구분 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230089308A1 (ko) |
EP (1) | EP4392972A1 (ko) |
KR (1) | KR20240053639A (ko) |
CN (1) | CN117980991A (ko) |
WO (1) | WO2023048746A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230169981A1 (en) * | 2021-11-30 | 2023-06-01 | Samsung Electronics Co., Ltd. | Method and apparatus for performing speaker diarization on mixed-bandwidth speech signals |
US11984127B2 (en) * | 2021-12-31 | 2024-05-14 | Microsoft Technology Licensing, Llc | Training and using a transcript generation model on a multi-speaker audio stream |
US20230326453A1 (en) * | 2022-04-08 | 2023-10-12 | Palantir Technologies Inc. | Approaches of augmenting outputs from speech recognition |
CN116050401B (zh) * | 2023-03-31 | 2023-07-25 | 云南师范大学 | 基于Transformer问题关键词预测的多样性问题自动生成方法 |
CN116757338B (zh) * | 2023-08-21 | 2024-01-19 | 浙江天演维真网络科技股份有限公司 | 农作物产量预测方法、装置、电子设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5122486B2 (ja) * | 2006-02-17 | 2013-01-16 | グーグル・インコーポレーテッド | 分散型モデルの符号化及び適応可能なスケーラブルアクセス処理 |
US8682241B2 (en) * | 2009-05-12 | 2014-03-25 | International Business Machines Corporation | Method and system for improving the quality of teaching through analysis using a virtual teaching device |
US9865265B2 (en) * | 2015-06-06 | 2018-01-09 | Apple Inc. | Multi-microphone speech recognition systems and related techniques |
US10811000B2 (en) * | 2018-04-13 | 2020-10-20 | Mitsubishi Electric Research Laboratories, Inc. | Methods and systems for recognizing simultaneous speech by multiple speakers |
US11031017B2 (en) * | 2019-01-08 | 2021-06-08 | Google Llc | Fully supervised speaker diarization |
LU101763B1 (en) * | 2020-05-04 | 2021-11-05 | Microsoft Technology Licensing Llc | Microsegment secure speech transcription |
US11527238B2 (en) * | 2020-10-30 | 2022-12-13 | Microsoft Technology Licensing, Llc | Internal language model for E2E models |
EP4050350A1 (en) * | 2021-02-27 | 2022-08-31 | Hitachi Energy Switzerland AG | Determination of phase connections in a power grid |
US11715487B2 (en) * | 2021-03-31 | 2023-08-01 | Accenture Global Solutions Limited | Utilizing machine learning models to provide cognitive speaker fractionalization with empathy recognition |
CN115577890A (zh) * | 2021-06-21 | 2023-01-06 | 深圳富联富桂精密工业有限公司 | 智能质量管理方法、电子装置及存储介质 |
-
2021
- 2021-12-14 KR KR1020247011500A patent/KR20240053639A/ko unknown
- 2021-12-14 WO PCT/US2021/063343 patent/WO2023048746A1/en active Application Filing
- 2021-12-14 US US17/644,261 patent/US20230089308A1/en active Pending
- 2021-12-14 CN CN202180102646.9A patent/CN117980991A/zh active Pending
- 2021-12-14 EP EP21847807.1A patent/EP4392972A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4392972A1 (en) | 2024-07-03 |
WO2023048746A1 (en) | 2023-03-30 |
CN117980991A (zh) | 2024-05-03 |
US20230089308A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621991B2 (en) | Joint neural network for speaker recognition | |
CN108766414B (zh) | 用于语音翻译的方法、装置、设备和计算机可读存储介质 | |
US10235994B2 (en) | Modular deep learning model | |
KR20240053639A (ko) | 제한된 스펙트럼 클러스터링을 사용한 화자-턴 기반 온라인 화자 구분 | |
KR20230147685A (ko) | 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습 | |
CN112599128B (zh) | 一种语音识别方法、装置、设备和存储介质 | |
WO2014183373A1 (en) | Systems and methods for voice identification | |
US20220122622A1 (en) | Cascaded Encoders for Simplified Streaming and Non-Streaming ASR | |
US11961515B2 (en) | Contrastive Siamese network for semi-supervised speech recognition | |
CN112151015A (zh) | 关键词检测方法、装置、电子设备以及存储介质 | |
CN117337467A (zh) | 经由迭代说话者嵌入的端到端说话者分离 | |
CN114254587A (zh) | 主题段落划分方法、装置、电子设备及存储介质 | |
KR20240065125A (ko) | 희귀 단어 스피치 인식을 위한 대규모 언어 모델 데이터 선택 | |
KR20220090586A (ko) | 오디오-비주얼 매칭을 사용한 자동 음성 인식 가설 재점수화 | |
EP4024393A2 (en) | Training a speech recognition model | |
KR20240089301A (ko) | 언어 애그노스틱 다국어 엔드-투-엔드 스트리밍 온-디바이스 asr 시스템 | |
JP2020173441A (ja) | 音声認識方法及び装置 | |
WO2024076365A1 (en) | Accelerating speaker diarization with multi-stage clustering | |
Anidjar et al. | A thousand words are worth more than one recording: Nlp based speaker change point detection | |
US20230267918A1 (en) | Automatic out of vocabulary word detection in speech recognition | |
US20240135934A1 (en) | Evaluation-based speaker change detection evaluation metrics | |
US20240135923A1 (en) | Universal Monolingual Output Layer for Multilingual Speech Recognition | |
US20240203406A1 (en) | Semi-Supervised Training Scheme For Speech Recognition | |
US20240185841A1 (en) | Parameter-efficient model reprogramming for cross-lingual speech recognition | |
US20230298591A1 (en) | Optimizing Personal VAD for On-Device Speech Recognition |