KR20230175258A - 반복적 화자 임베딩을 통한 종단간 화자 분리 - Google Patents

반복적 화자 임베딩을 통한 종단간 화자 분리 Download PDF

Info

Publication number
KR20230175258A
KR20230175258A KR1020237039981A KR20237039981A KR20230175258A KR 20230175258 A KR20230175258 A KR 20230175258A KR 1020237039981 A KR1020237039981 A KR 1020237039981A KR 20237039981 A KR20237039981 A KR 20237039981A KR 20230175258 A KR20230175258 A KR 20230175258A
Authority
KR
South Korea
Prior art keywords
speaker
embedding
temporal
embeddings
individual
Prior art date
Application number
KR1020237039981A
Other languages
English (en)
Inventor
데이비드 그랭지어
닐 제이두르
올리버 티볼
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20230175258A publication Critical patent/KR20230175258A/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/18Artificial neural networks; Connectionist approaches
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

방법(600)은 다중 화자(10)에 의해 발화된 발언(120)에 대응하는 오디오 신호(122)를 수신하는 단계를 포함한다. 방법은 또한 입력 오디오 신호를 T개의 시간 임베딩(220)의 시퀀스로 인코딩하는 단계를 포함한다. 다중 화자의 개별 화자에 각각 대응하는 복수의 반복 각각 동안, 방법은 해당 시간 임베딩이 이전 반복 동안 화자 임베딩이 선택되지 않은 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하고, 그리고 시간 임베딩으로서 개별 화자에 대한 개별 화자 임베딩을 선택함으로써 개별 화자에 대한 개별 화자 임베딩(240)을 선택하는 단계를 포함한다. 방법은 또한 각 단계에서, 선택된 화자 임베딩(240) 및 시간 임베딩(220)에 기초하여 다중 화자의 개별 화자 각각에 대한 개별 음성 활동 표시자(262)를 예측하는 단계를 포함한다.

Description

반복적 화자 임베딩을 통한 종단간 화자 분리
본 개시는 반복적 화자 임베딩을 통한 종단간 화자 분리에 관한 것이다.
화자 분리(diarization)는 화자 신원에 따라 입력 오디오 스트림을 동종 세그먼트로 분할하는 프로세스이다. 다중 화자가 있는 환경에서, 화자 분리는 "누가 언제 말하는가(who is speaking when)"라는 질문에 답하며 몇가지 예를 들면 멀티미디어 정보 검색, 화자 턴(turn, 차례) 분석, 오디오 처리, 대화 음성 자동 전사 등을 포함한 다양한 활용이 가능하다. 예를 들어, 화자 분리는 입력 오디오 스트림의 제1 세그먼트는 첫 번째 인간 화자에 기인하고(제1 인간 화자가 누구인지 특별히 식별하지 않음), 입력 오디오 스트림의 제2 세그먼트는 다른 두 번째 인간 화자에 기인하며(두 번째 인간 화자가 누구인지 특별히 식별하지 않음), 입력 오디오 스트림의 제3 세그먼트는 제1 인간 화자에 기인한다는 것을 식별함으로써 대화에서 화자 턴에 주석을 다는 태스크를 포함한다.
본 개시의 일 양태는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어가 동작들을 수행하게 하는 컴퓨터 구현 방법을 제공한다. 동작들은 다중 화자에 의해 발화된 발언들에 대응하는 입력 오디오 신호를 수신하는 단계를 포함한다. 동작들은 또한 입력 오디오 신호를 T개의 시간 임베딩의 시퀀스로 인코딩하는 단계를 포함한다. 각 시간 임베딩은 해당 시간 단계와 연관되고 해당 시간 단계에서 입력 오디오 신호로부터 추출된 음성 컨텐츠를 나타낸다. 다중 화자의 개별 화자에 각각 대응하는 복수의 반복 각각 동안, 동작들은 개별 화자에 대한 개별 화자 임베딩을 선택하는 단계를 포함한다. T개의 시간 임베딩 시퀀스의 각 시간 임베딩에 대해, 동작들은 해당 시간 임베딩이 이전 반복 동안 화자 임베딩이 이전에 선택되지 않았던 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정함으로써 개별 화자 임베딩을 선택한다. 동작들은 또한 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 T개의 시간 임베딩 시퀀스에서 개별 화자에 대한 개별 화자 임베딩을 시간 임베딩으로서 선택함으로써 개별 화자 임베딩을 선택한다. 각 시간 단계에서, 동작들은 또한 복수의 반복 동안 선택된 개별 화자 임베딩 및 해당 시간 단계와 연관된 시간 임베딩에 기초하여 다중 화자의 각각의 화자에 대한 개별 음성 활동 표시자를 예측하는 단계를 포함한다. 개별 음성 활성 표시자는 해당 시간 단계에서 개별 화자의 음성이 활성인지 비활성인지 여부를 나타낸다.
본 개시의 구현은 다음과 같은 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 수신된 입력 오디오 신호에 있는 발언들 중 적어도 일부는 중첩된다. 일부 예에서, 입력 오디오 신호가 수신될 때 다중 화자의 수는 알 수 없다. 동작들은 입력 오디오 신호를 인코딩하는 동안, 입력 오디오 신호로부터 인코딩된 T개의 시간 임베딩의 시퀀스를 다운샘플링된 임베딩 공간에 투영하는 단계를 더 포함할 수 있다.
일부 구현에서, 시간 임베딩 시퀀스의 각 시간 임베딩에 대한 복수의 반복 각각 동안, 해당 시간 임베딩이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 단계는 해당 시간 임베딩에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 단계를 포함한다. 가능한 이벤트 유형은 새로운 단일 화자에 의한 음성 활동의 존재, 이전 반복 동안 다른 개별 화자 임베딩이 이전에 선택되었던 단일 이전 화자에 대한 음성 활동의 존재, 중첩된 음성의 존재, 및 침묵의 존재를 포함한다. 일부 구현에서, 해당 시간 임베딩에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 단계는 완전 연결 네트워크를 갖는 다중-클래스 선형 분류기에 대한 입력으로서, 해당 시간 임베딩, 및 이전 반복 동안 선택된 개별 화자 임베딩 각각의 평균을 포함하는 이전에 선택된 화자 임베딩을 수신하는 단계와; 그리고 완전 연결 네트워크를 갖춘 다중-클래스 선형 분류기를 사용하여, 가능한 이벤트 유형 각각에 해당 시간 임베딩을 매핑하는 단계를 포함할 수 있다. 다중-클래스 선형 분류기는 트레이닝 시간 임베딩의 시퀀스로 각각 인코딩되는 트레이닝 오디오 신호의 모음(corpus)에 대해 트레이닝될 수 있다. 여기서, 각각의 트레이닝 시간 임베딩은 개별 화자 라벨을 포함한다.
일부 예에서, 초기 반복에 후속하는 각 반복 동안, 해당 시간 임베딩이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 단계는 해당 반복 이전의 각 반복 동안 선택된 다른 개별 화자 임베딩 각각에 기초한다. 일부 구현에서, 복수의 반복 각각 동안, 동작들은 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩 시퀀스의 해당 시간 임베딩에 대한 확률이 신뢰도 임계값을 만족하는지 여부를 결정하는 단계를 더 포함한다. 여기서, 개별 화자 임베딩을 선택하는 단계는 신뢰도 임계값을 만족하는 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩 시퀀스의 해당 시간 임베딩에 대한 확률에 조건화된다. 이들 구현에서, 동작들은 복수의 반복 각각 동안, 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩 시퀀스의 해당 시간 임베딩에 대한 확률이 신뢰도 임계값을 충족하지 못하는 경우 해당 반복 동안 개별 화자 임베딩의 선택을 바이패스하는 단계를 더 포함할 수 있다. 선택적으로, 해당 반복 동안 개별 화자 임베딩의 선택을 바이패스한 후, 동작들은 해당 반복 이전의 반복 동안 선택된 화자 임베딩의 수에 기초하여 다중 화자의 수(N)을 결정하는 단계를 더 포함할 수 있다.
각 시간 단계에서 다중 화자의 각각의 개별 화자에 대한 개별 음성 활동 표시자를 예측하는 단계는 해당 시간 단계와 연관된 시간 임베딩, 개별 화자에 대해 선택된 개별 화자 임베딩, 및 복수의 반복 동안 선택된 모든 화자 임베딩의 평균에 기초한다. 일부 예에서, 각 시간 단계에서 다중 화자의 각각의 개별 화자에 대한 개별 음성 활동 표시자를 예측하는 단계는 병렬의 제1 및 제2 완전 연결 신경망을 갖는 음성 활동 검출기를 사용하는 단계를 포함한다. 이러한 예에서, 음성 활동 검출기의 제1 완전 연결 신경망은 해당 시간 단계와 연관된 시간 임베딩을 투영하도록 구성되고, 음성 활동 감지기의 제2 완전 연결 신경망은 개별 화자에 대해 선택된 개별 화자 임베딩의 연결(concatenation)과 복수의 반복 동안 선택된 모든 화자 임베딩의 평균을 투영하도록 구성된다.
트레이닝 프로세스는 시간 임베딩의 시퀀스로 각각 인코딩된 트레이닝 오디오 신호의 모음에 대해 음성 활동 표시자를 트레이닝할 수 있다. 여기서, 각 트레이닝 시간 임베딩에는 대응하는 화자 라벨이 포함된다. 선택적으로, 트레이닝 프로세스는 화자 턴(turn) 경계 주위의 반경 내에 속하는 임의의 트레이닝 시간 임베딩과 연관된 손실을 제거하는 칼라-인식(collar-aware) 트레이닝 프로세스를 포함할 수 있다.
본 개시의 다른 양태는 데이터 처리 하드웨어 및 그 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령들을 저장한 메모리 하드웨어를 포함하는 시스템을 제공한다. 동작들은 다중 화자에 의해 발화된 발언에 대응하는 입력 오디오 신호를 수신하는 동작을 포함한다. 동작들은 또한 동작들은 입력 오디오 신호를 T개의 시간 임베딩의 시퀀스로 인코딩하는 동작을 포함한다. 각 시간 임베딩은 해당 시간 단계와 연관되고 그 해당 시간 단계에서 입력 오디오 신호로부터 추출된 음성 컨텐츠를 나타낸다. 다중 화자의 개별 화자에 각각 대응하는 복수의 반복 각각 동안, 동작들은 개별 화자에 대한 개별 화자 임베딩을 선택하는 동작을 포함한다. T개의 시간 임베딩 시퀀스의 각 시간 임베딩에 대해, 동작들은 해당 시간 임베딩이 이전 반복 동안 화자 임베딩이 이전에 선택되지 않았던 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정함으로써 개별 화자 임베딩을 선택한다. 동작들은 또한 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 T개의 시간 임베딩 시퀀스에서 개별 화자에 대한 개별 화자 임베딩을 시간 임베딩으로서 선택한다. 각 단계에서, 동작들은 또한 복수의 반복 동안 선택된 개별 화자 임베딩 및 해당 시간 단계와 연관된 시간 임베딩에 기초하여 다중 화자의 각각의 화자에 대한 개별 음성 활동 표시자를 예측하는 동작을 포함한다. 개별 음성 활성 표시자는 해당 시간 단계에서 개별 화자의 음성이 활성인지 비활성인지 여부를 나타낸다.
본 개시의 구현은 다음과 같은 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 수신된 입력 오디오 신호에 있는 발언 중 적어도 일부는 중첩된다. 일부 예에서, 입력 오디오 신호가 수신될 때 다중 화자의 수는 알 수 없다. 동작들은 입력 오디오 신호를 인코딩하는 동안, 입력 오디오 신호로부터 인코딩된 T개의 시간 임베딩의 시퀀스를 다운샘플링된 임베딩 공간에 투영하는 동작을 더 포함할 수 있다.
일부 구현에서, 시간 임베딩 시퀀스의 각 시간 임베딩에 대한 복수의 반복 각각 동안, 해당 시간 임베딩이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 동작은 해당 시간 임베딩에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 동작을 포함한다. 가능한 이벤트 유형에는 새로운 단일 화자에 의한 음성 활동의 존재, 이전 반복 동안 다른 개별 화자 임베딩이 이전에 선택되었던 단일 이전 화자에 대한 음성 활동의 존재, 중첩된 음성의 존재, 및 침묵의 존재가 포함된다. 이러한 구현에서, 해당 시간 임베딩에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 동작은 완전 연결 네트워크를 갖는 다중-클래스 선형 분류기에 대한 입력으로서, 해당 시간 임베딩, 및 이전 반복 동안 선택된 개별 화자 임베딩 각각의 평균을 포함하는 이전에 선택된 화자 임베딩을 수신하는 동작과; 그리고 완전 연결 네트워크를 갖춘 다중-클래스 선형 분류기를 사용하여, 가능한 이벤트 유형 각각에 해당 시간 임베딩을 매핑하는 동작을 포함할 수 있다. 다중-클래스 선형 분류기는 트레이닝 시간 임베딩의 시퀀스로 각각 인코딩되는 트레이닝 오디오 신호의 모음에 대해 트레이닝될 수 있다. 여기서, 각 트레이닝 시간 임베딩에는 개별 화자 라벨이 포함된다.
일부 예에서, 초기 반복에 후속하는 각 반복 동안, 해당 시간 임베딩이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 동작은 해당 반복 이전의 각 반복 동안 선택된 다른 개별 화자 임베딩 각각에 기초한다. 일부 구현에서, 복수의 반복 각각 동안, 동작들은 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩 시퀀스의 해당 시간 임베딩에 대한 확률이 신뢰도 임계값을 만족하는지 여부를 결정하는 동작을 더 포함한다. 여기서, 개별 화자 임베딩을 선택하는 동작은 신뢰도 임계값을 만족하는 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩 시퀀스의 해당 시간 임베딩에 대한 확률에 조건화된다. 이들 구현에서, 복수의 반복 각각 동안, 동작들은 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩 시퀀스의 해당 시간 임베딩에 대한 확률이 신뢰도 임계값을 충족하지 못하는 경우 해당 반복 동안 개별 화자 임베딩의 선택을 바이패스하는 동작을 더 포함할 수 있다. 선택적으로, 해당 반복 동안 개별 화자 임베딩의 선택을 바이패스한 후, 동작들은 해당 반복 이전의 반복 동안 선택된 화자 임베딩의 수에 기초하여 다중 화자의 수(N)을 결정하는 동작을 더 포함할 수 있다.
각 시간 단계에서 다중 화자의 각각의 개별 화자에 대한 개별 음성 활동 표시자를 예측하는 동작은 해당 시간 단계와 연관된 시간 임베딩, 개별 화자에 대해 선택된 개별 화자 임베딩, 및 복수의 반복 동안 선택된 모든 화자 임베딩의 평균에 기초할 수 있다. 일부 예에서, 각 시간 단계에서 다중 화자의 각각의 개별 화자에 대한 개별 음성 활동 표시자를 예측하는 동작은 병렬의 제1 및 제2 완전 연결 신경망을 갖는 음성 활동 검출기를 사용하는 동작을 포함한다. 이러한 예에서, 음성 활동 검출기의 제1 완전 연결 신경망은 해당 시간 단계와 연관된 시간 임베딩을 투영하도록 구성되고, 음성 활동 감지기의 제2 완전 연결 신경망은 개별 화자에 대해 선택된 개별 화자 임베딩의 연결과 복수의 반복 동안 선택된 모든 화자 임베딩의 평균을 투영하도록 구성된다.
트레이닝 프로세스는 시간 임베딩 시퀀스로 각각 인코딩된 트레이닝 오디오 신호의 모음에 대해 음성 활동 표시자를 트레이닝할 수 있다. 여기서, 각 트레이닝 시간 임베딩에는 대응하는 화자 라벨이 포함된다. 선택적으로, 트레이닝 프로세스는 화자 턴 경계 주위의 반경 내에 속하는 해당 트레이닝 시간 임베딩과 연관된 손실을 제거하는 칼라-인식 트레이닝 프로세스를 포함할 수 있다.
본 개시의 하나 이상의 구현의 세부사항은 첨부 도면 및 아래의 설명에서 설명된다. 다른 양태, 특징 및 장점은 설명, 도면, 청구범위로부터 명백해질 것이다.
도 1은 화자 분리를 수행하기 위한 예시적인 화자 분리 시스템의 개략도이다.
도 2는 도 1의 예시적인 화자 분리 시스템의 개략도이다.
도 3은 도 1의 화자 분리 시스템을 트레이닝하고 추론 동안 도 1의 트레이닝된 화자 분리 시스템을 사용하기 위한 예시적인 트레이닝 프로세스의 개략도이다.
도 4 및 도 5는 칼라 트레이닝이 적용되지 않은 경우(도 4)와 칼라(collar) 트레이닝이 적용된 경우(도 5)의 분리 오류율(DER)의 예시적인 플롯을 도시한다.
도 6은 다수의 상이한 화자에 의해 발언된 음성 발언을 포함하는 입력 오디오 신호에 대해 화자 분리을 수행하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 7은 본 명세서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면의 유사한 참조 기호는 유사한 요소를 나타낸다.
자동 음성 인식(ASR) 시스템은 일반적으로 주어진 입력 오디오 신호에 하나의 화자만 존재한다고 가정하는 음성 처리 알고리즘에 의존한다. 다중 화자가 포함된 입력 오디오 신호는 잠재적으로 이러한 음성 처리 알고리즘을 방해할 수 있고 이로 인해 ASR 시스템에서 출력되는 음성 인식 결과가 부정확해질 수 있다. 이와 같이, 화자 분리는 누가 말하고 있는지(화자 인식/식별) 구체적으로 결정하는 것이 아니라 누군가가 말하고 있는 시기를 결정하기 위해 더 큰 대화에서 동일한 화자의 음성을 분할하는 프로세스이다. 달리 말하면, 화자 분리는 짧은 발언을 포함하는 일련의 화자 인식 태스크를 포함하며, 주어진 대화의 두 세그먼트가 동일한 개인 또는 다른 개인에 의해 발화었는지 여부와 대화의 모든 세그먼트에 대해 반복되었는지 여부를 결정한다.
기존 화자 분리 시스템은 일반적으로 음성 분할 모듈, 임베딩 추출 모듈 및 클러스터링 모듈과 같은(이에 국한되지 않음) 상대적으로 독립적인 다수의 컴포넌트(구성요소)를 포함한다. 음성 분할 모듈은 일반적으로 입력 발언으로부터 비-음성 부분을 제거하고, 입력 발언을 작은 고정 길이 세그먼트들로 나누도록 구성되는 반면, 임베딩 추출 모듈은 각 고정 길이 세그먼트로부터 대응하는 화자 식별 임베딩을 추출하도록 구성된다. 화자 식별 임베딩에는 i-벡터 또는 d-벡터가 포함될 수 있다. 기존 화자 분리 시스템에 의해 사용되는 클러스터링 모듈은 입력 발언에 존재하는 화자의 수를 결정하고 각 고정 길이 세그먼트에 화자 식별(예를 들어, 라벨)을 할당하는 태스크를 수행한다. 이러한 클러스터링 모듈은 가우스 혼합 모델, 평균 이동 클러스터링, 응집형 계층적 클러스터링, k-평균 클러스터링, 링크 클러스터링 및 스펙트럼 클러스터링을 포함하는 널리 사용되는 클러스터링 알고리즘을 사용할 수 있다. 화자 분리 시스템은 또한 추가 제약을 적용함으로써 클러스터링 모듈로부터 출력된 분리 결과를 개선하기 위해 추가 재분할 모듈을 사용할 수도 있다.
이러한 기존 화자 분리는 추출된 화자 식별 임베딩이 분리에 최적화되지 않았기 때문에 중복(overlap)이 있는 경우 화자를 명확하게 하기 위한 관련 특징을 반드시 추출하지 않을 수도 있다는 사실로 인해 제한된다. 더욱이, 클러스터링 모듈은 모든 화자는 알 수 없는 것으로 가정되며 클러스터링 알고리즘은 모든 새로운 입력 발언에 대해 새로운/알 수 없는 화자를 수용하기 위해 새로운 "클러스터"를 생성해야 하는 비지도(unsupervised) 방식으로 동작한다. 이러한 비지도 프레임워크의 단점은 화자 턴(예를 들어, 화자 변경)에 대한 세밀한 주석, 타임스탬프가 지정된 화자 라벨 및 실측을 포함하는 대규모의 라벨링된 트레이닝 데이터 세트에서 학습함으로써 개선할 수 없다는 것이다. 이 라벨링된 트레이닝 데이터는 많은 도메인 고유 애플리케이션 및 분할 트레이닝 데이터세트에서 쉽게 얻을 수 있으므로, 화자 분리 시스템은 분리 결과 생성시 더욱 강력하고 정확해짐으로써 라벨링된 트레이닝 데이터의 이점을 누릴 수 있다. 더욱이 기존의 최신 클러스터링 알고리즘은 대부분 오프라인으로 실행되므로 실시간 시나리오에서 클러스터링하여 분할 결과를 생성하기가 어렵다. 화자 분리 시스템은 긴 시퀀스(예를 들어, 몇 분)의 음성에 대해 수행되어야 하지만 배치 크기가 큰 긴 음성 시퀀스에 대해 화자 분리 시스템을 트레이닝하는 것은 메모리 제약으로 인해 어려울 수 있다.
위에서 논의된 전형적인 분리 시스템의 한계를 극복하기 위해, 본 명세서의 구현은 DIVE(Iterative Voice Embedding) 시스템에 의한 분리를 지향한다. DIVE 시스템에는 대응 시간 단계에서 현재 음성 컨텐츠를 각각 나타내는 시간 임베딩 시퀀스를 포함하는 다운샘플링된 임베딩 공간에 입력 오디오 신호를 투영하는 태스크를 수행하는 시간 인코더와, 입력 오디오 스트림에 있는 모든 화자에 대한 장기(long-term) 화자 벡터를 선택하기 위해 반복형 화자 선택 프로세스를 수행하는 태스크를 수행하는 화자 선택기와, 그리고 복수의 시간 단계 각각에서 각 화자에 대한 음성 활동을 검출하는 태스크를 수행하는 음성 활동 검출기(VAD)와 같은, 3개의 개별 컴포넌트/모듈을 결합하고 공동으로 트레이닝하는 종단간(end-to-end) 신경 분리 시스템이 포함되어 있다.
도 1을 참조하면, 시스템(100)은 화자 그룹(예를 들어, 사용자들)(10, 10a-n)으로부터의 음성 발언(120)을 캡처하고 네트워크(130)를 통해 원격 시스템(140)과 통신하는 사용자 디바이스(110)를 포함한다. 원격 시스템(140)은 확장 가능한/탄력적 리소스(142)를 갖는 분산 시스템(예를 들어, 클라우드 컴퓨팅 환경)일 수 있다. 리소스(142)는 컴퓨팅 리소스(144)(예를 들어, 데이터 처리 하드웨어) 및/또는 저장 리소스(146)(예를 들어, 메모리 하드웨어)를 포함한다. 일부 구현에서, 사용자 디바이스(110) 및/또는 원격 시스템(140)은 다중 화자(10)의 캡처된 발언(120)에 대응하는 입력 오디오 신호(즉, 오디오 데이터)(122)를 수신하도록 구성된 DIVE 시스템(200)(종단간 신경 분리 시스템(200)이라고도 함)을 실행한다. DIVE 시스템(200)은 입력 오디오 신호(122)를 T개의 시간(temporal) 임베딩(220, 220a-t)의 시퀀스로 인코딩하고 각각의 개별 화자(10)에 대해 개별 화자 임베딩(240, 240a-n)을 반복적으로 선택한다. T개의 시간 임베딩(220) 및 각각의 선택된 화자 임베딩(240)의 시퀀스를 사용하여, DIVE 시스템(200)은 복수의 시간 단계 각각 동안 각각의 개별 화자(10)에 대한 개별 음성 활동 표시자(voice activity indicator)(262)를 예측한다. 여기서, 음성 활동 표시자(262)는 각 시간 단계별로 개별 화자의 음성이 활성(상태)(acrive)인지 비활성(상태)인지 여부를 나타낸다. 복수의 시간 단계 각각 동안 각각의 개별 화자(10)에 대해 예측된 개별 음성 활동 표시자(262)는 각 화자의 음성이 입력 오디오 신호(122)에서 활성(또는 비활성)인 때를 나타내는 분리 결과(280)를 제공할 수 있다. 각 시간 단계는 시간 임베딩 각각에 대응할 수 있다. 일부 예에서, 각 시간 단계는 1밀리초의 지속 시간(duration)을 포함한다. 이와 같이, 분리 결과(280)는 주어진 시간에 누가 말하고 있는지 식별할 뿐만 아니라 인접한 시간 단계사이에 화자 변경(예를 들어, 화자 턴)이 발생하는 시기도 식별하는 각 시간 단계에서 예측된 화자별 음성 활동 표시자(262)에 기초하여 타임 스탬프된 화자 라벨을 제공할 수 있다.
일부 예에서, 원격 시스템(140)은 오디오 데이터(122)를 수신하여 대응하는 ASR 결과(152)로 전사하도록 구성된 자동 음성 인식(ASR) 모듈(150)을 추가로 실행한다. 사용자 디바이스(110)는 유사하게 원격 시스템(140) 대신 온-디바이스에서 ASR 모듈(150)을 실행할 수 있으며, 이는 네트워크 연결이 불가능하거나 빠른(낮은 충실도에도 불구하고) 전사가 바람직할 때 유용할 수 있다. 추가적으로 또는 대안적으로, 사용자 디바이스(110)와 원격 시스템(140)은 모두 오디오 데이터(122)가 원격 시스템(140)을 통해 또는 이들의 일부 조합을 통해 디바이스 상에서 전사될 수 있도록 대응하는 ASR 모듈(150)을 실행한다. 일부 구현에서, ASR 모듈(150)과 DIVE 시스템(200)은 모두 사용자 디바이스(110)에서 전적으로 실행되며 원격 시스템(140)에 대한 네트워크 연결을 필요로 하지 않는다. ASR 결과(152)는 '전사' 또는 간단히 '텍스트'라고도 지칭될 수 있다. ASR 모듈(150)은 오디오 데이터(122)에 대한 음성 인식을 개선하기 위해 오디오 데이터(122)와 연관된 분리 결과(280)를 활용하기 위해 DIVE 시스템(200)과 통신할 수 있다. 예를 들어, ASR 모듈(150)은 분리 결과(280)로부터 식별된 상이한 화자들에 대해 서로 다른 음성 인식 모델(예를 들어, 언어 모델, 운율 모델)을 적용할 수 있다. 추가적으로 또는 대안적으로, ASR 모듈(150) 및/또는 DIVE 시스템(200)(또는 일부 다른 컴포넌트)은 화자별, 시간 단계별 음성 활동 표시자(262)를 사용하여 오디오 데이터(122)의 전사(152)를 인덱싱할 수 있다. 예를 들어, 비즈니스 미팅 중에 다수의 동료(예를 들어, 화자들(10)) 사이의 대화의 전사는 각 화자가 말한 내용을 식별하기 위해 전사의 일부를 개별 화자와 연관시키도록 화자에 의해 인덱싱될 수 있다.
사용자 디바이스(110)는 데이터 처리 하드웨어(112)와 메모리 하드웨어(114)를 포함한다. 사용자 디바이스(110)는 화자들(10)로부터의 음성 발언(120)을 캡처하여 오디오 데이터(122)(예를 들어, 전기 신호)로 변환하기 위한 오디오 캡처 디바이스(예를 들어, 마이크로폰)를 포함할 수 있다. 일부 구현에서, 데이터 처리 하드웨어(112)는 분리 시스템(200)의 나머지 부분이 원격 시스템(140)에서 실행되는 동안 DIVE 시스템(200)의 일부를 로컬로 실행하도록 구성된다. 대안적으로, 데이터 처리 하드웨어(112)는 원격 시스템(140)에서 DIVE 시스템(200)을 실행하는 대신 DIVE 시스템(200)을 실행할 수 있다. 사용자 디바이스(110)는 네트워크(130)를 통해 원격 시스템(140)과 통신할 수 있는 임의의 컴퓨팅 디바이스일 수 있다. 사용자 디바이스(110)에는 랩탑, 태블릿, 스마트폰, 스마트 스피커/디스플레이, 스마트 기기, 사물 인터넷(IoT) 디바이스, 웨어러블 컴퓨팅 디바이스(예를 들어, 헤드셋 및/또는 시계)와 같은 데스크탑 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스가 포함된다. 사용자 디바이스(110)는 선택적으로 ASR 모듈(150)을 실행하여 오디오 데이터(122)를 대응하는 텍스트(152)로 전사할 수 있다. 예를 들어, 네트워크 통신이 중단되거나 사용할 수 없는 경우, 사용자 디바이스(110)는 분리 시스템(200) 및/또는 ASR 모듈(150)을 로컬로 실행하여 오디오 데이터(122)에 대한 분리 결과를 생성하고 및/또는 오디오 데이터(122)의 전사(152)를 생성할 수 있다.
도시된 예에서, 화자(10)와 사용자 디바이스(110)는 사용자 디바이스(110)가 화자(10)에 의해 발화된 음성 발언(120)를 캡처하여 오디오 신호(122)(오디오 데이터(122)라고도 지칭됨)로 변환하도록 구성된 환경(예를 들어, 방) 내에 위치할 수 있다. 예를 들어, 화자들(10)은 회의 중에 대화하는 동료에 해당할 수 있고, 사용자 디바이스(110)는 음성 발언(120)를 녹음하여 오디오 신호(122)로 변환할 수 있다. 결과적으로, 사용자 디바이스(110)는 복수의 시간 단계 각각 동안 화자(10) 각각에 대한 음성 활동 표시자(262)를 예측하기 위한 오디오 신호(122)를 DIVE 시스템(200)에 제공할 수 있다. 따라서, DIVE 시스템(200)은 화자 인식/식별을 통해 누가 말하고 있는지 구체적으로 결정하지 않고 누군가가 말하고 있는 시기를 결정하기 위해 오디오 신호(122)를 처리하는 태스크를 수행한다.
일부 예에서, 오디오 신호(122)로 전달되는 발언들(120)의 적어도 일부는 주어진 순간에 화자들(10) 중 둘 이상의 음성이 활성화되도록 중첩된다. 특히, 입력 오디오 신호(122)가 DIVE 시스템(200)에 입력으로 제공될 때 다중 화자(10)의 수(N)은 알려지지 않을 수 있고 DIVE 시스템(200)은 다중 화자(10)의 수(N)를 예측할 수 있다. 일부 구현에서, 사용자 디바이스(110)는 화자들(10)로부터 원격으로 위치할 수 있다. 예를 들어, 사용자 디바이스(110)는 전화 통화 또는 화상 회의의 참가자인 화자들로부터 음성 발언(120)를 캡처하는 원격 디바이스(예를 들어, 네트워크 서버)를 포함할 수 있다. 이 시나리오에서, 각각의 화자(10)는 음성 발언(120)을 캡처하여 그 음성 발언(120)을 오디오 데이터(122)로 변환하기 위한 원격 사용자 디바이스(110)에 제공하는 자신의 디바이스(예를 들어, 전화, 라디오, 컴퓨터, 스마트워치 등)에 말할 것이다. 물론 이 시나리오에서, 발언들(120)은 각각의 사용자 디바이스에서의 처리 거쳐 대응하는 오디오 신호(122)로 변환되며 이는 DIVE 시스템(200)에 입력으로서 제공되는 오디오 신호(122)를 추가로 처리할 수 있는 원격 사용자 디바이스(110)으로 전송될 수 있다.
도시된 예에서, DIVE 시스템(200)은 시간 인코더(210), 반복 화자 선택기(230) 및 음성 활동 검출기(VAD)(260)를 포함한다. 시간 인코더(210)는 오디오 신호(122)를 수신하여 그 입력 오디오 신호(122)를 시간 임베딩(h)(220, 220a-t)의 시퀀스로 인코딩하도록 구성된다. 각각의 시간 임베딩(h)(220)은 대응하는 시간 단계(t)와 연관될 수 있고 대응하는 시간 단계(t) 동안 입력 오디오 신호(122)로부터 추출된 음성 컨텐츠(내용)를 나타낼 수 있다. 시간 인코더(210)는 시간 임베딩(220)의 시퀀스를 반복 화자 선택기(230) 및 VAD(260)로 전송한다.
다중 화자(10) 중 개별 화자에 각각 대응하는 복수의 반복(i) 각각 동안, 반복 화자 선택기(230)는 각각의 개별 화자(10)에 대해 개별 화자 임베딩(240, 240a-n)을 선택하도록 구성된다. 단순화를 위해, 도 1의 오디오 신호(122)에는 단지 2개의 별개의 화자(10)에 의해서만 발화된 발언(120)이 포함되지만, 반복 화자 선택기(230)는 입력 오디오 신호(122)에 존재하는 임의의 수(N)의 개별 화자(10)에 대해 화자 임베딩(240)을 선택할 수 있다. 따라서, 예시적인 2-화자 시나리오에서, 반복 화자 선택기(230)는 초기 첫 번째 반복(i=1) 동안 제1 화자(10a)에 대한 제1 화자 임베딩(s1)(240)을 선택하고, 후속하는 두 번째 반복(i=2) 동안 반복 화자 선택기(230)는 제2 화자(10b)에 대한 제2 화자 임베딩(s2)(240)을 선택한다. 각 반복(i) 동안, 반복 화자 선택기(230)는 T개의 시간 임베딩(220) 시퀀스의 각 시간 임베딩(220)에 대해, 대응하는 시간 임베딩(220)이 이전 반복 동안 화자 임베딩(240)이 이전에 선택되지 않았던 단일 새로운 화자(10)에 의한 음성 활동의 존재를 포함할 확률을 결정함으로써 각각의 화자 임베딩(240)을 선택한다. 그 후, 반복 화자 선택기(230)는 대응하는 반복(i) 동안, 단일 새로운 화자(10)에 의한 음성 활동의 존재에 대한 최고 확률과 연관된 T개의 시간 임베딩(220) 시퀀스 내의 시간 임베딩(220)으로서 개별 화자(10)에 대한 개별 화자 임베딩(240)을 선택한다. 즉, 반복 화자 선택기(230)는 T개의 개별 시간 임베딩(220)의 음성 컨텐츠(내용)와 연관될 확률이 가장 높은 개별 화자 임베딩(240)을 선택한다.
VAD(260)는 시간 임베딩(220)과 화자 임베딩(240)(예를 들어, 도 1의 2-화자 시나리오에서 s1 및 s2)을 수신하고, 각 시간 단계에서, 다수(N)의 화자 중 각각의 개별 화자에 대한 개별 음성 활동 표시자(262)를 예측한다. 특히, VAD(260)는 개별 시간 단계(t)에서 음성 컨텐츠를 나타내는 시간 임베딩(220), 관심 화자의 신원을 나타내는 화자 임베딩(240), 및 모든 화자(10)를 나타내는 다른 화자 임베딩(240)에 기초하여 음성 활동 표시자(262)를 예측한다. 여기서, 각각의 음성 활성 표시자(262)는 해당 시간 간격에서 개별 화자(10)의 음성이 활성 또는 비활성인지 여부를 나타낸다. 특히, VAD(260)는 다중 화자(10)로부터 개별 화자(10)를 특별히 식별하지 않고 음성 활동 표시자(262)를 예측한다. DIVE 시스템(200)은 분리 결과(280)를 제공하기 위해 각 시간 단계에서 음성 활동 표시자(262)를 사용할 수 있다. 도 1에 도시된 바와 같이. 분리 결과(280)에는 시간 단계(t)에서 화자(i)의 음성 활동 표시자(yi,t)가 포함된다. 따라서, 분할 결과(280)의 음성 활동 표시자(yi,t)(262)는 시간 단계(t) 동안 화자(10)가 비활성인 경우에는 "0" 값을 갖는 화자별, 시간단계별 VAD 결과를 제공하고, 화자(10)가 활성인 경우에는 "1"의 값을 제공한다. 시간 단계(t=4)에 도시된 바와 같이, 다중 화자(10)는 동시에 활성일 수 있다.
도 2는 DIVE 시스템(200)의 시간 인코더(210), 반복 화자 선택기(230) 및 VAD(260)를 도시한다. 시간 인코더(210)는 입력 오디오 신호(122)를 대응하는 시간 단계(t)와 각각 연관된 시간 임베딩(220, 220a-t)의 시퀀스로 인코딩한다. 시간 인코더(210)는 입력 오디오 신호(122)로부터 인코딩된 시간 임베딩(220)의 시퀀스를 다운샘플링된 임베딩 공간으로 투영할 수 있다. 시간 인코더(210)는 확장된 1D 컨볼루션의 잔차 블록을 PReLU(Parametric Rectified Linear Unit) 활성화 및 계층 정규화를 이용하여 캐스케이드(cascade)하고, 잔차 블록 사이에 1D 평균 풀링 계층을 도입함으로써 다운샘플링을 수행할 수 있다. 따라서, 입력 오디오 신호(122)는 시간 인코더(210)가 각각 차원(D)을 갖는 T개의 시간 임베딩(220)(예를 들어, 잠재 벡터)을 생성하도록 입력 파형(x)에 대응할 수 있다. 따라서, 각 시간 임베딩(220)은 h(x) ∈ RT×D로 표현될 수 있다.
반복 화자 선택기(230)는 입력 오디오 신호(122)에서 검출된 각각의 화자(10)에 대한 개별 화자 임베딩(240, 240a-n)을 출력한다. 복수의 반복(i) 각각 동안, 반복 화자 선택기(230)는 시간 임베딩(220)을 수신하고 이전 반복(i)에서 선택되지 않은 개별 화자 임베딩(240)(즉, 새로운 화자 임베딩(240))을 선택한다. 일부 예에서, 화자 선택기(230)는 각 반복(i) 동안 T개의 시간 임베딩(220)의 시퀀스와 함께 이전에 선택된 화자 임베딩(240)을 입력으로 수신하고, 각각의 대응하는 시간 임베딩(220)이 단일 새로운 화자에 의한 음성 활동의 존재를 포함한다는 확률을 신뢰도(c)로서 출력한다. 이전에 선택된 화자 임베딩(240)에는 이전 반복 동안 이전에 선택된 개별 화자 임베딩(240)의 평균이 포함될 수 있다. 특히, 이전에 선택된 화자 임베딩(240)은 화자 임베딩(240)이 이전에 선택되지 않았기 때문에 초기 첫 번째 반복 동안 0이 될 것이다. 유리하게는, 반복 화자 선택기(230)에 의해 수행되는 반복 프로세스는 화자 임베딩(240)을 선택하기 위한 트레이닝에 대한 특정 화자 순서를 요구하지 않으며, 따라서 화자 순서 선택에 대한 페널티를 피하기 위해 순열 불변 트레이닝(Permutation-Invariant Training: PIT)을 요구하지 않는다. PIT는 긴 오디오 시퀀스에 적용될 때 일관되지 않은 할당 문제가 발생하므로 장기적인 화자 표현/임베딩을 학습하는데 사용하는 것은 바람직하지 않다.
단순화를 위해, 도 2는 단지 두 개의 별개의 화자(10)에 의해 발화된 발언(120)을 포함하는 오디오 신호(122)를 도시하지만, 이것은 비제한적인 예이며 오디오 신호(122)는 임의의 수의 별개의 화자(10)에 의해 발화된 발언을 포함할 수 있다. 도시된 예에서, 반복 화자 선택기(230)는 첫 번째 반복(i=1)에서, T개의 시간 임베딩(220)의 시퀀스를 수신하고 제1 화자 임베딩(s1)(240, 240a)을 선택하는 제1 화자 선택기(230, 230a)를 포함한다. 제1 화자 임베딩(s1)(240a)은 시간 임베딩(220)이 제1 화자 임베딩(s1)(240a)을 포함할 가능성을 나타내는 제1 신뢰도(c1)를 포함한다. 여기서, 이전에 선택된 화자 임베딩(240)이 없으므로, 제1 화자 선택기(230a)는 화자 임베딩들(240) 중 어느 하나를 선택할 수 있다. 예를 계속하면, 반복 화자 선택기(230)는 후속 반복(i=2)에서, T개의 시간 임베딩(220)의 시퀀스와 이전에 선택된 제1 화자 임베딩(s1)(240a)을 수신하고 제2 화자 임베딩(s2)(240, 240b)를 선택하는 제2 화자 선택기(230, 230b)를 포함한다. 제2 화자 임베딩(s2)(240b)은 시간 임베딩(220)이 제2 화자 임베딩(s2)(240b)을 포함할 가능성을 나타내는 제2 신뢰도(c2)를 포함한다. 여기서, 제2 화자 선택기(230b)는 이전에 선택된 화자 임베딩(예를 들어, 제1 화자 임베딩(s1)(240a)) 외에 임의의 화자 임베딩(240)을 선택할 수 있다.
반복 화자 선택기(230)는 화자 임베딩(240)을 선택하기 위해 임의의 개수의 화자 선택기(230)를 포함할 수 있다. 일부 예에서, 반복 화자 선택기(230)는 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 대응하는 시간 임베딩(220)에 대한 화자 임베딩(240)과 연관된 신뢰도(c)가 신뢰도 임계값을 만족하는지 여부를 결정한다. 반복 화자 선택기(230)는 신뢰도(c)가 신뢰도 임계값을 만족하지 못할 때까지 계속해서 반복적으로 화자 임베딩(240)을 선택할 수 있다.
일부 구현에서, 반복 화자 선택기(230)는 각 반복(i) 동안 각각의 대응하는시간 임베딩(220)에 대해 가능한 이벤트 유형(e)의 확률 분포를 결정하도록 구성된 완전 연결(fully-connected) 네트워크를 갖춘 다중-클래스 선형 분류기를 포함한다. 가능한 이벤트 유형(et)에는 단일 새로운 화자(10)에 의한 음성 활동의 존재, 이전 반복 동안 다른 개별 화자 임베딩(240)이 선택되었던 단일 이전 화자(10)에 대한 음성 활동의 존재, 중첩된 음성의 존재, 및 침묵(silence)의 존재와 같은 4가지 유형이 포함될 수 있다. 따라서, 완전 연결 네트워크를 갖는 다중-클래스 선형 분류기는 각각의 시간 임베딩(ht)(220)을 4개의 가능한 이벤트 유형(et) 중 하나에 매핑하는 4-클래스 선형 분류기를 나타내는 4×D 행렬(gμi))을 포함할 수 있다. 여기서, 각 시간 임베딩(220)은 각 반복(i) 동안 가능한 이벤트 유형의 확률 분포에서 가장 높은 확률을 갖는 이벤트 유형에 매핑될 수 있다. 확률 분포는 다음과 같이 표현될 수 있다.
수학식 1에서, et는 이벤트 유형을 나타내고, ht는 시간(t)에서의 개별 시간 임베딩을 나타내고, ui는 반복(i)에서 이전에 선택된 각 화자의 평균 임베딩을 나타내고, gh는 완전 연결 네트워크를 나타낸다. 추론 동안, 개별 화자 임베딩(240)에 대한 신뢰도(c)는 다음과 같이 표현될 수 있다.
여기서 는 단일 새로운 화자(10)에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩(220)에 해당한다. 따라서, 각 반복 동안 상기 선택된 화자 임베딩(240)은 수학식 1에 따라 최대 신뢰도(즉, 가장 높은 확률)에 도달하는 시간 임베딩에 해당한다. 화자 임베딩(240)을 선택하는 것은 신뢰도 임계값을 만족하는 에 조건화(conditioned)될 수 있다. 신뢰도 임계값이 만족되지 않는 경우, 반복 화자 선택기(230)는 해당 반복 동안 선택을 바이패스(우회)하고 후속 반복을 수행하지 않을 수 있다. 이 시나리오에서, DIVE 시스템(200)은 화자 임베딩(240)의 선택을 바이패스하는 해당 반복 이전의 반복 동안 선택된 화자 임베딩(240)의 수에 기초하여 다중 화자(10)의 수(N)을 결정할 수 있다. 트레이닝 동안, 는 반복 화자 선택기(230)에 의해 출력되지 않지만, 대신 시간 임베딩(ht)(220)은 라벨링된 트레이닝 데이터에서 활성으로 표시된 새로운 화자가 있는 시간부터 균일하게 샘플링된다. 반복 화자 선택기(230)는 트레이닝 프로세스에 의해 지도 방식으로 트레이닝되며, 트레이닝 프로세스의 파라미터는 4-방향(way) 선형 분류기의 음의 로그 우도(likelihood)를 최소화하도록 다음과 같이 학습된다.
화자 임베딩(240)이 선택된 후(예를 들어, 도 2의 2개의 화자 시나리오에서 s1 및 s2), VAD(260)는 각 시간 단계에서, 개별 화자 임베딩(240), 이전에 선택된 모든 화자 임베딩(240)의 평균, 및 해당 시간 단계와 연관된 시간 임베딩(220)에 기초하여 다음과 같이 다수의 N 화자의 각각의 화자에 대한 개별 음성 활동 표시자(262)를 예측한다.
여기서 i = 1, 2, ...N이다. 각각의 음성 활동 표시자(yi,t)(262)는 개별 화자(반복(i)에 의해 인덱싱됨)(10)의 음성이 해당 시간 단계(시간 단계(t)로 인덱싱됨)에서 활성인지(yi,t =1) 또는 비활성인지(yi,t =0) 여부를 나타낸다. 개별 음성 활동 표시자(262)는 시간 단계(t) 동안 개별 화자가 비활성인 경우 "0"의 값을 제공하고 개별 화자가 활성인 경우 "1"의 값을 제공하는 이진 화자별 음성 활동 마스크에 대응할 수 있다. 각 화자(i)에 대한 각 시간 단계(t)에서 예측된 음성 활성 표시자(yi,t)(262)는 해당 시간 단계와 연관련 시간 임베딩(ht), 개별 화자에 대해 선택된 개별 화자 임베딩(si) 및 복수의 반복 동안 선택된 모든 화자 임베딩의 평균()에 기초할 수 있다.
일부 구현에서, VAD(260)는 선형 투영을 포함하는 마지막 선형 투영 계층을 제외하고 계층 정규화 기능이 있는 PReLU 활성화 기능을 갖춘 두 개의 병렬 완전 연결 신경망(fh 및 fs)을 포함한다. 이러한 구현에서, 시간 단계(t)에서 화자(i)의 음성 활동 표시자(yi,t)를 예측하기 위해, fh 및 fs는 해당 시간 단계에서 시간 임베딩(ht∈ RD)을 투영하고 화자 임베딩()을 다음과 같이 투영한다.
수학식 5에서, 는 해당 화자(i)에 대해 선택된 개별 화자 임베딩(si)의 채널 축을 따른 연결(concatenation)을 나타내고 은 모든 화자 임베딩(240)의 평균을 나타낸다. 특히, 평균 화자 임베딩은 VAD(260)를 호출하여 관심 화자(i)와 관련된 개별 화자 임베딩(240)뿐만 아니라 시간 임베딩(220)의 시퀀스에 존재하는 다른 모든 화자 사이의 대비를 활용한다. 도시된 예에서, VAD(260)는 시간 단계(t=2)에서 제1 및 제2 화자(10)에 대한 음성 활동 표시자(262)를 예측한다. 음성 활동 표시자(262)는 제1 화자(10)가 시간 단계(t=2)에서 활성(예를 들어, y1,2 = 1)이고 제2 화자(10)가 시간 단계(t=2)에서 비활성(예를 들어, y2,2 = 0)임을 나타내는 분할 결과(280)를 제공할 수 있다.
도 3을 참조하면, 개략도(300)는 DIVE 시스템(200)에 대한 예시적인 트레이닝 프로세스(301) 및 추론(304)을 도시한다. 일부 구현에서, 트레이닝 프로세스(301)는 시간 인코더(210), 완전 연결 네트워크를 갖춘 다중-클래스 선형 분류기를 포함하는 반복 화자 선택기(230), 및 다수의 상이한 화자(10)에 의해 발화된 발언(120)을 각각 포함하는 트레이닝 오디오 신호들(x*)의 모음(corpus)을 포함하는 완전-라벨링된(fully-labeled) 트레이닝 데이터(302)에 대한 DIVE 시스템(200)의 VAD(260)를 공동으로 트레이닝한다. 트레이닝 오디오 신호(x*)는 몇 분 동안의 음성을 나타내는 긴 음성 시퀀스를 포함할 수 있다. 일부 예에서, 트레이닝 프로세스(301)는 트레이닝 오디오 신호(x*)당 W개의 고정 길이 윈도우를 샘플링하고, 시간 인코더(210)를 사용하여 트레이닝 오디오 신호(x*)를 인코딩하고, 시간 축을 따라 W개의 고정 길이 윈도우를 연결(concatenate)한다. W개의 고정 길이 윈도우를 연결함으로써, 완전 라벨링된 트레이닝 데이터(302)는 각 트레이닝 오디오 신호(x*)에 대한 화자 다양성 및 화자 턴을 증가시키고 메모리 사용량을 낮게 유지한다. 즉, 트레이닝 오디오 신호(x*)는 긴 음성 시퀀스 동안 멀리 떨어져 있는 윈도우에 대해 동일한 화자를 나타낼 수 있다. 일부 트레이닝 오디오 신호(x*)는 둘 이상의 서로 다른 화자(10)에 의해 발화된 발언들(120)이 중첩되는 부분을 포함할 수 있다. 각각의 트레이닝 오디오 신호(x*)는 활성 화자 또는 침묵을 나타내는 개별 화자 라벨(350)이 각각 할당되는 트레이닝 시간 임베딩(220)의 시퀀스로 시간 인코더(210)에 의해 인코딩된다.
화자 라벨(350)은 트레이닝 화자 라벨()의 시퀀스로 표현될 수 있으며, 여기서 시퀀스의 항목()은 시간 단계(t)에서 트레이닝 시간 임베딩(220)에 할당된 화자 라벨(350)을 나타낸다. 도시된 예에서, 트레이닝 프로세스(301)는 복수의 반복(i) 각각 동안 반복 화자 선택기(230)를 트레이닝하기 위한 시간 인코더(210)에 의해 인코딩된 트레이닝 시간 임베딩(220T)의 시퀀스 및 할당된 화자 라벨(350), 그리고 후속하여 복수의 반복 동안 반복 화자 선택기(230)에 의해 선택된 화자 임베딩에 기초한 VAD(260)를 제공한다.
시간 인코더(210), 반복 화자 선택기(230) 및 VAD(260)가 공동으로 트레이닝됨에 따라, VAD(260)는 또한 트레이닝 오디오 신호(x*)의 모음에 대해 트레이닝되며, 여기서 각각의 트레이닝 오디오 신호(x*)는 대응하는 트레이닝 시간 임베딩에서 어떤 음성이 존재/활성인지를 나타내는 대응하는 음성 활동 표시자(즉, 화자 라벨()을 각각 포함하는 트레이닝 시간 임베딩의 시퀀스로 인코딩된다. 트레이닝 프로세스는 다음의 VAD 손실에 대해 VAD(260)를 트레이닝할 수 있다.
여기서 트레이닝 프로세스는 독립적인 이진 분류 태스크로서 수학식 6의 화자별, 시간 단계별 VAD 손실을 역전파한다. DIVE 시스템(200)은 분리 결과(280)의 분리 오류율(DER)의 관점에서 평가될 수 있다. 일부 예에서, 트레이닝 프로세스는 수학식 6의 트레이닝 VAD 손실이 트레이닝 데이터에 있는 작은 주석 오류에 대해 VAD(260)에 페널티를 부과하지 않도록 화자 경계 주위에 허용 오차(tolerance)를 제공하는 칼라(collar)를 적용한다. 일부 예에서, 칼라를 나타내는 허용 오차의 일반적인 값은 라벨링된 트레이닝 데이터에 지정된 화자 턴 경계(500ms)의 각 측면(side에서 약 250ms이다. 따라서, 트레이닝 프로세스는 다음과 같이 전체 손실로부터 칼라 내부에 속하는 프레임/시간 단계와 관련된 VAD 손실을 제거함으로써 마스킹된 VAD 손실을 계산할 수 있다.
여기서 Br은 화자 턴 경계들 주위의 반경(r) 내에 있는 오디오 프레임/시간 단계 세트를 포함한다. 트레이닝 프로세스는 수학식 7에 의해 계산된 마스킹된 VAD 손실을 역전파할 수 있다. 트레이닝 동안, DIVE 시스템(200)에 대한 총 손실은 시간 인코더(210), 반복 화자 선택기(230) 및 VAD(260)를 공동으로 트레이닝하기 위해 다음과 같이 계산될 수 있다.
총 손실은 칼라 손실을 적용하지 않고 수학식 7의 VAD 손실을 대체함으로써 유사하게 계산될 수 있다.
반복 화자 선택기(230)는 수학식 3으로 표현된 화자 선택기 손실에 기초하여 트레이닝될 수 있으며, VAD(260)는 트레이닝 칼라가 적용될 때 수학식 6 또는 수학식 7로 표현된 VAD 손실에 기초하여 트레이닝될 수 있다. 즉, 트레이닝 프로세스(301)는 화자 턴 경계들 주위의 반경 내에 속하는 임의의 트레이닝 시간 임베딩(220)과 연관된 손실을 제거하는 칼라-인식(collar-aware) 트레이닝 프로세스를 포함할 수 있다. 칼라-인식 트레이닝 프로세스는 작은 주석 오류에 대해 DIVE 시스템(200)에 패널티를 부과하거나(불이익을 주거나) 트레이닝시키지 않는다. 예를 들어, 화자 턴 경계 주위의 반경은 화자 턴 경계의 각 측면에서 250ms를 포함할 수 있다(총 500ms). 따라서, DIVE 시스템(200)은 수학식 8에 의해 계산된 총 손실에 대해 트레이닝될 수 있다.
DIVE 시스템(200)의 개별 컴포넌트(210, 230, 260)는 트레이닝 프로세스(201)가 은닉 노드들, 완전 라벨링된 트레이닝 데이터(302)에 대응하는 은닉 노드들과 입력 노드들 사이의 연결 가중치, 은닉 노드들과 출력 노드들 사이의 연결 가중치, 및 수학식 3, 6, 7, 8의 손실을 최소화하기 위해 은닉 노드들 자체의 계층들 간 연결 가중치를 생성하도록 각각의 신경망을 포함할 수 있다. 그 후, 추론(304) 동안, 완전 트레이닝된 DIVE 시스템(200)은 입력 데이터(예를 들어, 원시 오디오 신호(122))에 대해 사용되어 분리 결과(280)에 대응하는 미지의 출력 데이터(예를 들어, 음성 활동 표시자(262))를 생성할 수 있다.
도 4는 DIVE 시스템(200)을 트레이닝하는데 사용되는 표준 트레이닝 프로세스 및 칼라-인식 트레이닝 프로세스에 대한 원시 분리 오류율(DER)(%) 평가의 플롯(400)을 도시한다. 플롯(400)에서, 표준 트레이닝 프로세스는 원시 DER(%) 평가를 사용할 때 칼라-인식 트레이닝 프로세스보다 성능이 뛰어나다. 도 5는 표준 트레이닝 프로세스 및 칼라 인식 트레이닝 프로세스에 대한 화자 턴 경계의 각 측면에 적용되는 250ms의 칼라를 포함하는 칼라-인식 DER 평가의 플롯(500)을 도시한다. 여기서, 수학식 7에 따라 화자 턴 경계의 각 측면에 250ms가 적용된다. 특히, 칼라-인식 트레이닝 프로세스는 칼라-인식 DER 평가를 사용하여 평가할 때 표준 트레이닝 프로세스보다 성능이 뛰어나다. 따라서, 도 5는 평가 기술이 칼라-인식 DER 평가를 포함할 때 칼라-인식 트레이닝을 통합하여 DIVE 시스템(200)을 트레이닝시키는 것이 유익하다는 것을 예시한다.
도 6은 수신된 음성 발언(120)에 대해 화자 분리을 수행하는 방법(600)에 대한 동작들의 예시적 배열의 흐름도이다. 데이터 처리 하드웨어(112, 144)는 메모리 하드웨어(114, 146)에 저장된 명령들을 실행함으로써 방법(600)에 대한 동작들을 실행할 수 있다. 동작(602)에서, 방법(600)은 다중 화자(10, 10a-n)에 의해 발화된 발언들(120)에 대응하는 입력 오디오 신호(122)를 수신하는 단계를 포함한다. 동작(604)에서, 방법(600)은 입력 오디오 신호(122)를 T개의 시간 임베딩(220, 220a-t)의 시퀀스로 인코딩하는 단계를 포함한다. 여기서, 각각의 시간 임베딩(220)은 대응하는 시간 단계(t)와 연관되고, 대응하는 시간 단계(t)에서 입력 오디오 신호(122)로부터 추출된 음성 컨텐츠를 나타낸다.
다중 화자(10)의 개별 화자(10)에 각각 대응하는 복수의 반복(i) 각각 동안, 방법(600)은 동작(606)에서, 개별 화자(10)에 대한 개별 화자 임베딩(240, 240a-n)을 선택하는 단계를 포함한다. T개의 시간 임베딩(220) 시퀀스의 각 시간 임베딩(220)에 대해, 방법(600)은 동작(608)에서, 대응하는 시간 임베딩(220)이 이전 반복(i) 동안 화자 임베딩(240)이 이전에 선택되지 않았던 단일 새로운 화자(10)에 의한 음성 활동의 존재를 포함할 확률(예를 들어, 신뢰도(c)(을 결정하는 단계를 포함한다. 동작(610)에서, 방법(600)은 단일 새로운 화자(10)에 의한 음성 활동의 존재에 대한 최고 확률과 연관된 T개의 시간 임베딩(220)의 시퀀스 내의 시간 임베딩(220)으로서 개별 화자(10)에 대한 개별 화자 임베딩(240)을 선택하는 단계를 포함한다. 동작(612)에서, 방법(600)은 각 시간 단계(t)에서, 복수의 반복(i) 동안 선택된 개별 화자 임베딩(240) 및 대응하는 시간 단계(t)와 연관된 시간 임베딩(220)에 기초하여 다중 화자(10)의 각각의 개별 화자(10)에 대한 개별 음성 활동 표시자(262)를 예측하는 단계를 포함한다. 여기서, 개별 음성 활성 표시자(262)는 해당 시간 간격(t)에서 개별 화자(10)의 음성이 활성인지 또는 비활성인지 여부를 나타낸다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 태스크를 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션에는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 포함되지만 이에 국한되지 않는다.
비-일시적 메모리는 컴퓨팅 디바이스에 의해 사용되기 위해 임시 또는 영구적으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다.
비-일시적 메모리는 휘발성 및/또는 비휘발성 어드레싱 가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예로는 플래시 메모리 및 판독 전용 메모리(ROM)/ 프로그램 가능 판독 전용 메모리(PROM)/소거 가능한 프로그램 가능 판독 전용 메모리(EPROM)/소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)(예를 들어, 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)가 포함되지만 이에 한정되지 않는다. 휘발성 메모리의 예로는 RAM, DRAM, SRAM, PCM(Phase Change Memory) 및 디스크나 테이프가 포함되지만 이에 한정되지 않는다.
도 7은 본 문서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스(700)의 개략도이다. 컴퓨팅 디바이스(700)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 본 명세서에 도시된 컴포넌트, 이들의 연결 및 관계, 기능은 단지 예시일 뿐이며 본 문서에 설명 및/또는 청구된 발명의 구현을 제한하려는 의미는 아니다.
컴퓨팅 디바이스(700)는 프로세서(710), 메모리(720), 저장 디바이스(730), 메모리(720)와 고속 확장 포트(750)에 연결되는 고속 인터페이스/컨트롤러(740), 및 저속 버스(770)와 저장 디바이스(730)에 연결되는 저속 인터페이스/컨트롤러(760)를 포함한다. 각각의 컴포넌트(710, 720, 730, 740, 750, 760)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다. 프로세서(710)(즉, 도 1의 데이터 처리 하드웨어(112, 144))는 메모리(720)(즉, 도 1의 메모리 하드웨어(114, 146)) 또는 저장 디바이스(730)(즉, 도 1의 메모리 하드웨어(144, 146))에 저장된 명령들을 비롯하여 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령들을 처리하여 고속 인터페이스(740)에 연결된 디스플레이(780)와 같은 외부 입/출력 디바이스에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현에서, 다중 메모리 및 메모리 유형과 함께 다중 프로세서 및/또는 다중 버스가 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(700)는 필요한 동작들의 일부를 제공하는 각 디바이스(예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(720)는 컴퓨팅 디바이스(700) 내에 정보를 비-일시적으로 저장한다. 메모리(720)는 컴퓨터 판독 가능 매체, 휘발성 메모리 디바이스(들), 또는 비-휘발성 메모리 디바이스(들)일 수 있다. 비-일시적 메모리(720)는 컴퓨팅 디바이스(700)에 의해 사용되기 위해 임시 또는 영구적으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 판독 전용 메모리(ROM)/프로그래밍 가능 판독 전용 메모리(PROM)/수거 가능한 프로그래밍 가능 판독 전용 메모리(EPROM)/전자적으로 삭제 가능한 프로그래밍 가능 판독 전용 메모리(EEPROM)(예를 들어, 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)가 포함되지만 이에 한정되지 않는다. 휘발성 메모리의 예로는 RAM, DRAM, SRAM, PCM 및 디스크나 테이프가 포함되지만 이에 국한되지 않는다.
저장 디바이스(730)는 컴퓨팅 디바이스(700)에 대용량 저장 디바이스를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(730)는 컴퓨터 판독 가능 매체이다. 다양한 구현에서, 저장 디바이스(730)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 테이프 디바이스, 플래시 메모리 또는 기타 유사 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크나 기타 구성의 디바이스를 포함한 디바이스 어레이일 수 있다. 추가적인 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 명백하게 구현된다. 컴퓨터 프로그램 제품에는 실행 시 전술한 것과 같은 하나 이상의 방법을 수행하는 명령들이 포함되어 있다. 정보 매체는 메모리(720), 저장 디바이스(730), 또는 프로세서(710)의 메모리와 같은 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체이다.
고속 제어기(740)는 컴퓨팅 디바이스(700)에 대한 대역폭 집약적인 동작을 관리하는 반면, 저속 제어기(760)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(740)는 메모리(720), 디스플레이(780)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(750)에 연결된다. 일부 구현에서, 저속 제어기(760)는 저장 디바이스(730) 및 저속 확장 포트(790)에 결합된다. 저속 확장 포트(790)는 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있으며, 예를 들어 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 스위치나 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(700)는 도면에 도시된 바와 같이 다양한 형태로 구현될 수 있다. 예를 들어, 이것은 표준 서버(700a)로서 또는 이러한 서버(700a) 그룹에서 여러 번, 랩탑 컴퓨터(700b)로서 또는 랙 서버 시스템(700c)의 일부로서 구현될 수 있다.
본 명세서에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 애플리케이션 고유 집적 회로(ASIC), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현에는 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스와 데이터 및 명령을 송수신하도록 연결된 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍 가능한 프로세서를 비롯하여, 프로그래밍 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램의 구현이 포함될 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)에는 프로그래밍 가능 프로세서에 대한 기계 명령들이 포함되어 있으며 고급 절차적 및/또는 객체 지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에 사용된 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 비롯하여, 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능 논리 장치(PLD))를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 설명된 프로세스 및 논리 흐름은 데이터 처리 하드웨어라고도 지칭되는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 논리 흐름은 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어 범용 및 특수 목적 마이크로프로세서, 그리고 임의의 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하는 프로세서와 그 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나, 컴퓨터에 그러한 디바이스가 있을 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하는데 적합한 컴퓨터 판독 가능 매체는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 광자기 디스크, CD ROM 및 DVD-ROM 디스크를 비롯하여 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로로 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 디스플레이 디바이스(예를 들어, CRT(음극선관), LCD(액정 디스플레이) 모니터, 또는 사용자에게 정보를 디스플레이하기 위한 터치 스크린), 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스도 사용자와의 상호 작용을 제공하는데 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스에 있는 웹 브라우저로 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스와 문서를 주고받는 방식으로 사용자와 상호 작용할 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 개시의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현은 다음 청구범위의 범위 내에 있다.

Claims (30)

  1. 데이터 처리 하드웨어(710)에서 실행될 때 데이터 처리 하드웨어(710)가 동작들을 수행하게 하는 컴퓨터 구현 방법(600)으로서, 상기 동작들은,
    다중 화자(10)에 의해 발화된 발언(120)에 대응하는 입력 오디오 신호(122)를 수신하는 단계와;
    입력 오디오 신호(122)를 T개의 시간 임베딩(220)의 시퀀스로 인코딩하는 단계 - 각 시간 임베딩(220)은 해당 시간 단계와 연관되고 그 해당 시간 단계에서 입력 오디오 신호(122)로부터 추출된 음성 컨텐츠를 나타내며 - 와;
    다중 화자(10)의 개별 화자에 각각 대응하는 복수의 반복 각각 동안:
    T개의 시간 임베딩(220) 시퀀스의 각 시간 임베딩(220)에 대해, 해당 시간 임베딩(220)이 이전 반복 동안 화자 임베딩(240)이 이전에 선택되지 않았던 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하고, 그리고
    단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 T개의 시간 임베딩(220) 시퀀스에서 개별 화자에 대한 개별 화자 임베딩(240)을 시간 임베딩(220)으로서 선택함으로써,
    개별 화자에 대한 개별 화자 임베딩(240)을 선택하는 단계와; 그리고
    각 단계에서, 복수의 반복 동안 선택된 개별 화자 임베딩(240) 및 해당 시간 단계와 연관된 시간 임베딩(220)에 기초하여 다중 화자(10)의 각각의 개별 화자에 대한 개별 음성 활동 표시자(262)를 예측하는 단계를 포함하고, 상기 개별 음성 활성 표시자(262)는 해당 시간 단계에서 개별 화자의 음성이 활성인지 비활성인지 여부를 나타내는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  2. 제1항에 있어서,
    상기 수신된 입력 오디오 신호(122)에 있는 발언(120) 중 적어도 일부는 중첩되는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  3. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 입력 오디오 신호(122)가 수신될 때 다중 화자(10)의 수는 알 수 없는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  4. 임의의 선행하는 항에 있어서,
    상기 동작들은,
    입력 오디오 신호(122)를 인코딩하는 동안, 입력 오디오 신호(122)로부터 인코딩된 T개의 시간 임베딩(220)의 시퀀스를 다운샘플링된 임베딩 공간에 투영하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  5. 임의의 선행하는 항에 있어서,
    시간 임베딩(220) 시퀀스의 각 시간 임베딩(220)에 대한 복수의 반복 각각 동안, 상기 해당 시간 임베딩(220)이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 단계는 해당 시간 임베딩(220)에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 단계를 포함하고,
    상기 가능한 이벤트 유형은,
    새로운 단일 화자에 의한 음성 활동의 존재;
    이전 반복 동안 다른 개별 화자 임베딩(240)이 이전에 선택되었던 단일 이전 화자에 대한 음성 활동의 존재;
    중첩된 음성의 존재; 및
    침묵의 존재를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  6. 제5항에 있어서,
    상기 해당 시간 임베딩(220)에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 단계는,
    완전 연결 네트워크를 갖는 다중-클래스 선형 분류기에 대한 입력으로서, 해당 시간 임베딩(220), 및 이전 반복 동안 선택된 개별 화자 임베딩(240) 각각의 평균을 포함하는 이전에 선택된 화자 임베딩(240)을 수신하는 단계와; 그리고
    완전 연결 네트워크를 갖춘 다중-클래스 선형 분류기를 사용하여, 가능한 이벤트 유형 각각에 해당 시간 임베딩(220)을 매핑하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  7. 제6항에 있어서,
    상기 다중-클래스 선형 분류기는,
    트레이닝 시간 임베딩(220)의 시퀀스로 각각 인코딩되는 트레이닝 오디오 신호(122)의 모음(corpus)에 대해 트레이닝되고, 각각의 트레이닝 시간 임베딩(220)은 개별 화자 라벨(350)을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  8. 임의의 선행하는 항에 있어서,
    초기 반복에 후속하는 각 반복 동안, 상기 해당 시간 임베딩(220)이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 단계는,
    해당 반복 이전의 각 반복 동안 선택된 다른 개별 화자 임베딩(240) 각각에 기초하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  9. 임의의 선행하는 항에 있어서,
    상기 동작들은,
    복수의 반복 각각 동안:
    단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩(220) 시퀀스의 해당 시간 임베딩(220)에 대한 확률이 신뢰도 임계값을 만족하는지 여부를 결정하는 단계를 더 포함하고,
    상기 개별 화자 임베딩(240)을 선택하는 단계는,
    신뢰도 임계값을 만족하는 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩(220) 시퀀스의 해당 시간 임베딩(220)에 대한 확률에 조건화되는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  10. 제9항에 있어서,
    상기 동작들은,
    복수의 반복 각각 동안, 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩(220) 시퀀스의 해당 시간 임베딩(220)에 대한 확률이 신뢰도 임계값을 충족하지 못하는 경우 해당 반복 동안 개별 화자 임베딩(240)의 선택을 바이패스하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  11. 제10항에 있어서,
    상기 동작들은,
    해당 반복 동안 개별 화자 임베딩(240)의 선택을 바이패스한 후, 해당 반복 이전의 반복 동안 선택된 화자 임베딩(240)의 수에 기초하여 다중 화자(10)의 수(N)을 결정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  12. 임의의 선행하는 항에 있어서,
    각 시간 단계에서 다중 화자(10)의 각각의 개별 화자에 대한 개별 음성 활동 표시자(262)를 예측하는 단계는,
    해당 시간 단계와 연관된 시간 임베딩(220), 개별 화자에 대해 선택된 개별 화자 임베딩(240), 및 복수의 반복 동안 선택된 모든 화자 임베딩(240)의 평균에 기초하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  13. 임의의 선행하는 항에 있어서,
    상기 각 시간 단계에서 다중 화자(10)의 각각의 개별 화자에 대한 개별 음성 활동 표시자(262)를 예측하는 단계는,
    병렬의 제1 및 제2 완전 연결 신경망을 갖는 음성 활동 검출기(260)를 사용하는 단계를 포함하고;
    상기 음성 활동 검출기(260)의 제1 완전 연결 신경망(130)은 해당 시간 단계와 연관된 시간 임베딩(220)을 투영하도록 구성되고; 그리고
    상기 음성 활동 감지기(260)의 제2 완전 연결 신경망(130)은 개별 화자에 대해 선택된 개별 화자 임베딩(240)의 연결(concatenation)과 복수의 반복 동안 선택된 모든 화자 임베딩(240)의 평균을 투영하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  14. 임의의 선행하는 항에 있어서,
    트레이닝 프로세스(301)는,
    시간 임베딩(220) 시퀀스로 각각 인코딩된 트레이닝 오디오 신호(122)의 모음에 대해 음성 활동 표시자(262)를 트레이닝하고, 각 트레이닝 시간 임베딩(220)에는 대응하는 화자 라벨(350)이 포함되는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  15. 제14항에 있어서,
    상기 트레이닝 프로세스(301)는,
    화자 턴(turn) 경계 주위의 반경 내에 속하는 임의의 트레이닝 시간 임베딩(220)과 연관된 손실을 제거하는 칼라-인식(collar-aware) 트레이닝 프로세스(301)를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(600).
  16. 시스템(100)으로서,
    데이터 처리 하드웨어(710);
    데이터 처리 하드웨어(710)와 통신하고 데이터 처리 하드웨어(710)에 의해 실행될 때 데이터 처리 하드웨어(710)로 하여금 동작들을 수행하게 하는 명령들을 저장한 메모리 하드웨어(720)를 포함하고, 상기 동작들은,
    다중 화자(10)에 의해 발화된 발언(120)에 대응하는 입력 오디오 신호(122)를 수신하는 동작과;
    입력 오디오 신호(122)를 T개의 시간 임베딩(220)의 시퀀스로 인코딩하는 동작 - 각 시간 임베딩(220)은 해당 시간 단계와 연관되고 그 해당 시간 단계에서 입력 오디오 신호(122)로부터 추출된 음성 컨텐츠를 나타내며 - 과;
    다중 화자(10)의 개별 화자에 각각 대응하는 복수의 반복 각각 동안:
    T개의 시간 임베딩(220) 시퀀스의 각 시간 임베딩(220)에 대해, 해당 시간 임베딩(220)이 이전 반복 동안 화자 임베딩(240)이 이전에 선택되지 않았던 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하고, 그리고
    단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 T개의 시간 임베딩(220) 시퀀스의 시간 임베딩(220)에서 개별 화자에 대한 개별 화자 임베딩(240)을 시간 임베딩(220)으로서 선택함으로써,
    개별 화자에 대한 개별 화자 임베딩(240)을 선택하는 동작과; 그리고
    각 시간 단계에서, 복수의 반복 동안 선택된 개별 화자 임베딩(240) 및 해당 시간 단계와 연관된 시간 임베딩(220)에 기초하여 다중 화자(10)의 각각의 개별 화자에 대한 개별 음성 활동 표시자(262)를 예측하는 동작을 포함하고, 상기 개별 음성 활성 표시자(262)는 해당 시간 단계에서 개별 화자의 음성이 활성(active)인지 비활성인지 여부를 나타내는 것을 특징으로 하는 시스템(100).
  17. 제16항에 있어서,
    상기 수신된 입력 오디오 신호(122)에 있는 발언(120) 중 적어도 일부는 중첩되는 것을 특징으로 하는 시스템(100).
  18. 제16항 또는 제17항에 있어서,
    상기 입력 오디오 신호(122)가 수신될 때 다중 화자(10)의 수는 알 수 없는 것을 특징으로 하는 시스템(100).
  19. 제16항 내지 제18항 중 어느 한 항에 있어서,
    상기 동작들은,
    입력 오디오 신호(122)를 인코딩하는 동안, 입력 오디오 신호(122)로부터 인코딩된 T개의 시간 임베딩(220)의 시퀀스를 다운샘플링된 임베딩 공간에 투영하는 동작을 더 포함하는 것을 특징으로 하는 시스템(100).
  20. 제16항 내지 제19항 중 어느 한 항에 있어서,
    시간 임베딩(220) 시퀀스의 각 시간 임베딩(220)에 대한 복수의 반복 각각 동안, 상기 해당 시간 임베딩(220)이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 동작은 해당 시간 임베딩(220)에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 동작을 포함하고,
    상기 가능한 이벤트 유형은,
    새로운 단일 화자에 의한 음성 활동의 존재;
    이전 반복 동안 다른 개별 화자 임베딩(240)이 이전에 선택되었던 단일 이전 화자에 대한 음성 활동의 존재;
    중첩된 음성의 존재; 및
    침묵의 존재를 포함하는 것을 특징으로 하는 시스템(100).
  21. 제20항에 있어서,
    상기 해당 시간 임베딩(220)에 대한 가능한 이벤트 유형의 확률 분포를 결정하는 동작은,
    완전 연결 네트워크를 갖는 다중-클래스 선형 분류기에 대한 입력으로서, 해당 시간 임베딩(220), 및 이전 반복 동안 선택된 개별 화자 임베딩(240) 각각의 평균을 포함하는 이전에 선택된 화자 임베딩(240)을 수신하는 동작과; 그리고
    완전 연결 네트워크를 갖춘 다중-클래스 선형 분류기를 사용하여, 가능한 이벤트 유형 각각에 해당 시간 임베딩(220)을 매핑하는 동작을 포함하는 것을 특징으로 하는 시스템(100).
  22. 제21항에 있어서,
    상기 다중-클래스 선형 분류기는,
    트레이닝 시간 임베딩(220)의 시퀀스로 각각 인코딩되는 트레이닝 오디오 신호(122)의 모음(corpus)에 대해 트레이닝되고, 각각의 트레이닝 시간 임베딩(220)은 개별 화자 라벨(350)을 포함하는 것을 특징으로 하는 시스템(100).
  23. 제16항 내지 제22항 중 어느 한 항에 있어서,
    초기 반복에 후속하는 각 반복 동안, 상기 해당 시간 임베딩(220)이 단일 새로운 화자에 의한 음성 활동의 존재를 포함할 확률을 결정하는 동작은,
    해당 반복 이전의 각 반복 동안 선택된 다른 개별 화자 임베딩(240) 각각에 기초하는 것을 특징으로 하는 시스템(100).
  24. 제16항 내지 제22항 중 어느 한 항에 있어서,
    상기 동작들은,
    복수의 반복 각각 동안:
    단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩(220) 시퀀스의 해당 시간 임베딩(220)에 대한 확률이 신뢰도 임계값을 만족하는지 여부를 결정하는 동작을 더 포함하고,
    상기 개별 화자 임베딩(240)을 선택하는 동작은,
    신뢰도 임계값을 만족하는 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩(220) 시퀀스의 해당 시간 임베딩(220)에 대한 확률에 조건화되는 것을 특징으로 하는 시스템(100).
  25. 제24항에 있어서,
    상기 동작들은,
    복수의 반복 각각 동안, 단일 새로운 화자에 의한 음성 활동의 존재에 대한 가장 높은 확률과 연관된 시간 임베딩(220) 시퀀스의 해당 시간 임베딩(220)에 대한 확률이 신뢰도 임계값을 충족하지 못하는 경우 해당 반복 동안 개별 화자 임베딩(240)의 선택을 바이패스하는 동작을 더 포함하는 것을 특징으로 하는 시스템(100).
  26. 제25항에 있어서,
    상기 동작들은,
    해당 반복 동안 개별 화자 임베딩(240)의 선택을 바이패스한 후, 해당 반복 이전의 반복 동안 선택된 화자 임베딩(240)의 수에 기초하여 다중 화자(10)의 수(N)을 결정하는 동작을 더 포함하는 것을 특징으로 하는 시스템(100).
  27. 제16항 내지 제26항 중 어느 한 항에 있어서,
    각 시간 단계에서 다중 화자(10)의 각각의 개별 화자에 대한 개별 음성 활동 표시자(262)를 예측하는 동작은,
    해당 시간 단계와 연관된 시간 임베딩(220), 개별 화자에 대해 선택된 개별 화자 임베딩(240), 및 복수의 반복 동안 선택된 모든 화자 임베딩(240)의 평균에 기초하는 것을 특징으로 하는 시스템(100).
  28. 제16항 내지 제27항 중 어느 한 항에 있어서,
    상기 각 시간 단계에서 다중 화자(10)의 각각의 개별 화자에 대한 개별 음성 활동 표시자(262)를 예측하는 동작은,
    병렬의 제1 및 제2 완전 연결 신경망을 갖는 음성 활동 검출기(260)를 사용하는 동작을 포함하고;
    상기 음성 활동 검출기(260)의 제1 완전 연결 신경망(130)은 해당 시간 단계와 연관된 시간 임베딩(220)을 투영하도록 구성되고; 그리고
    상기 음성 활동 감지기(260)의 제2 완전 연결 신경망(130)은 개별 화자에 대해 선택된 개별 화자 임베딩(240)의 연결(concatenation)과 복수의 반복 동안 선택된 모든 화자 임베딩(240)의 평균을 투영하도록 구성되는 것을 특징으로 하는 시스템(100).
  29. 제16항 내지 제28항 중 어느 한 항에 있어서,
    트레이닝 프로세스(301)는,
    시간 임베딩(220) 시퀀스로 각각 인코딩된 트레이닝 오디오 신호(122)의 모음에 대해 음성 활동 표시자(262)를 트레이닝하고, 각 트레이닝 시간 임베딩(220)에는 대응하는 화자 라벨(350)이 포함되는 것을 특징으로 하는 시스템(100).
  30. 제29항에 있어서,
    상기 트레이닝 프로세스(301)는,
    화자 턴 경계 주위의 반경 내에 속하는 해당 트레이닝 시간 임베딩(220)과 연관된 손실을 제거하는 칼라-인식 트레이닝 프로세스(301)를 포함하는 것을 특징으로 하는 시스템(100).
KR1020237039981A 2021-05-11 2021-06-22 반복적 화자 임베딩을 통한 종단간 화자 분리 KR20230175258A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163187336P 2021-05-11 2021-05-11
US63/187,336 2021-05-11
PCT/US2021/070748 WO2022240449A1 (en) 2021-05-11 2021-06-22 End-to-end speech diarization via iterative speaker embedding

Publications (1)

Publication Number Publication Date
KR20230175258A true KR20230175258A (ko) 2023-12-29

Family

ID=76943181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237039981A KR20230175258A (ko) 2021-05-11 2021-06-22 반복적 화자 임베딩을 통한 종단간 화자 분리

Country Status (6)

Country Link
US (2) US11887623B2 (ko)
EP (1) EP4323988A1 (ko)
JP (1) JP2024520933A (ko)
KR (1) KR20230175258A (ko)
CN (1) CN117337467A (ko)
WO (1) WO2022240449A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11810572B2 (en) * 2020-03-18 2023-11-07 Sas Institute Inc. Multi-threaded speaker identification
US20230169981A1 (en) * 2021-11-30 2023-06-01 Samsung Electronics Co., Ltd. Method and apparatus for performing speaker diarization on mixed-bandwidth speech signals
US11978457B2 (en) * 2022-02-15 2024-05-07 Gong.Io Ltd Method for uniquely identifying participants in a recorded streaming teleconference
CN117392986B (zh) * 2023-12-11 2024-05-14 杭州网易云音乐科技有限公司 声纹处理方法、装置、设备、存储介质和程序产品

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10650813B2 (en) * 2017-05-25 2020-05-12 International Business Machines Corporation Analysis of content written on a board
US11276407B2 (en) * 2018-04-17 2022-03-15 Gong.Io Ltd. Metadata-based diarization of teleconferences
US11152013B2 (en) * 2018-08-02 2021-10-19 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for a triplet network with attention for speaker diartzation
US11170761B2 (en) * 2018-12-04 2021-11-09 Sorenson Ip Holdings, Llc Training of speech recognition systems
US11031017B2 (en) * 2019-01-08 2021-06-08 Google Llc Fully supervised speaker diarization
US11790921B2 (en) * 2020-08-04 2023-10-17 OTO Systems Inc. Speaker separation based on real-time latent speaker state characterization

Also Published As

Publication number Publication date
US20220375492A1 (en) 2022-11-24
US20240144957A1 (en) 2024-05-02
US11887623B2 (en) 2024-01-30
CN117337467A (zh) 2024-01-02
EP4323988A1 (en) 2024-02-21
WO2022240449A1 (en) 2022-11-17
JP2024520933A (ja) 2024-05-27

Similar Documents

Publication Publication Date Title
KR102594080B1 (ko) 완전 지도식 화자 분리
US10902843B2 (en) Using recurrent neural network for partitioning of audio data into segments that each correspond to a speech feature cluster identifier
US10943582B2 (en) Method and apparatus of training acoustic feature extracting model, device and computer storage medium
US10657962B2 (en) Modeling multiparty conversation dynamics: speaker, response, addressee selection using a novel deep learning approach
US20210118424A1 (en) Predicting personality traits based on text-speech hybrid data
CN110444198B (zh) 检索方法、装置、计算机设备和存储介质
US10249292B2 (en) Using long short-term memory recurrent neural network for speaker diarization segmentation
KR20230175258A (ko) 반복적 화자 임베딩을 통한 종단간 화자 분리
US20230089308A1 (en) Speaker-Turn-Based Online Speaker Diarization with Constrained Spectral Clustering
CN113192516B (zh) 语音角色分割方法、装置、计算机设备及存储介质
CN116110405B (zh) 一种基于半监督学习的陆空通话说话人识别方法及设备
CN112669855A (zh) 语音处理方法和装置
CN111508530A (zh) 语音情感识别方法、装置及存储介质
US20220277732A1 (en) Method and apparatus for training speech recognition model, electronic device and storage medium
CN115273862A (zh) 语音处理的方法、装置、电子设备和介质
US11244673B2 (en) Streaming contextual unidirectional models
US20240127790A1 (en) Systems and methods for reconstructing voice packets using natural language generation during signal loss
WO2024076365A1 (en) Accelerating speaker diarization with multi-stage clustering

Legal Events

Date Code Title Description
A201 Request for examination