KR20220025058A - 적응형 분리 모델 및 사용자 인터페이스 - Google Patents

적응형 분리 모델 및 사용자 인터페이스 Download PDF

Info

Publication number
KR20220025058A
KR20220025058A KR1020227003287A KR20227003287A KR20220025058A KR 20220025058 A KR20220025058 A KR 20220025058A KR 1020227003287 A KR1020227003287 A KR 1020227003287A KR 20227003287 A KR20227003287 A KR 20227003287A KR 20220025058 A KR20220025058 A KR 20220025058A
Authority
KR
South Korea
Prior art keywords
speaker
utterance
model
embedding
determining
Prior art date
Application number
KR1020227003287A
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 KR20220025058A publication Critical patent/KR20220025058A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech 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/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • G10L21/0308Voice signal separating characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • 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/26Speech to text systems
    • 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/06Decision making techniques; Pattern matching strategies
    • 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/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech 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/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0272Voice signal separating
    • G10L21/028Voice signal separating using properties of sound source

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

컴퓨팅 디바이스는, 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 수신한다. 컴퓨팅 디바이스는, 제1 발화가 제1 화자에 대응한다는 것, 및 제2 발화가 제2 화자에 대응한다는 것을 나타내는 아이덴티티 데이터를 수신한다. 컴퓨팅 디바이스는, 제1 발화, 제2 발화, 및 아이덴티티 데이터에 기반하여, 제1 화자에 의한 발화들과 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델을 결정한다. 컴퓨팅 디바이스는, 제3 발화의 소스 화자를 나타내는 추가 아이덴티티 데이터를 수신하는 것을 제외하고서, 제3 발화를 나타내는 제2 오디오 파형을 수신한다. 컴퓨팅 디바이스는, 분리 모델을 통해 그리고 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 제3 발화의 소스 화자를 결정한다. 컴퓨팅 디바이스는, 제3 발화 및 결정된 소스 화자에 기반하여, 분리 모델을 업데이트한다.

Description

적응형 분리 모델 및 사용자 인터페이스
[001] 분리(diarization) 또는 화자 분리는 화자 아이덴티티에 따라 오디오 데이터를 하나 이상의 섹션들로 분할하는 것을 수반한다. 따라서, 분리는 "who spoke when(누가 언제 말을 하는가)?"라는 질문에 답하는 것을 수반한다. 따라서, 분리 프로세스들 또는 알고리즘들은 음성 전사(speech transcription), 음성 번역의 맥락에서, 또는 화자 아이덴티티가 필요하거나 유용한 임의의 다른 맥락에서 사용될 수 있다.
[002] 분리 모델은 둘 이상의 화자들을 구별하도록 트레이닝될 수 있다. 트레이닝은, 파형, 및 파형 내에 있을 때 어떤 화자가 말했는지를 나타내는 대응하는 힌트/아이덴티티 데이터를 포함하는 감독 데이터 세트에 기반할 수 있다. 일단 트레이닝되면, 분리 모델은, 추가 힌트/아이덴티티 데이터에 의존하지 않고서, 발화의 소스 화자를 결정하는 데 사용될 수 있다. 트레이닝된 모델이 이러한 결정들을 내릴 때, 결정들이 모델로 피드백되어, 모델이 시간이 지남에 따라 성장하고 적응하는 것을 허용하고 따라서 모델의 정확도를 향상시킬 수 있다.
[003] 예컨대, 번역 애플리케이션의 맥락에서 사용되는 경우, 감독 데이터는, 사용자들이 미리 결정된 시간들에 교대로 말하는 것에 기반하여 생성될 수 있다. 예컨대, 화자는 특정 언어에 선택적으로 대응할 수 있는 버튼을 누른 후 말할 수 있고, 따라서 수반되는 파형에 대한 힌트/아이덴티티 데이터를 생성할 수 있다. 다른 예에서, 각각의 화자에게는, 그들이 몇 구절을 말하도록 요청받는 대응하는 교정 시긴 기간이 제공될 수 있다. 추가 예에서, 이미지 데이터는, 화자의 얼굴 움직임을 표현함으로써 어떤 화자가 활성적으로 말하고 있는지를 나타낼 수 있다는 점에서 힌트/아이덴티티 데이터를 구성할 수 있다.
[004] 따라서, 제1 예시적인 실시예에서, 방법은, 컴퓨팅 디바이스에 의해, 초기 시간 윈도우 동안 캡처되고 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 수신하는 단계를 포함할 수 있다. 방법은 또한, 컴퓨팅 디바이스에 의해, (i) 제1 발화가 제1 화자에 대응하고, 그리고 (ii) 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하는 단계를 포함할 수 있다. 방법은 부가적으로, 컴퓨팅 디바이스에 의해, 그리고 제1 발화, 제2 발화, 및 제1 타입의 아이덴티티 데이터에 기반하여, 제1 화자에 의한 발화들과 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델을 결정하는 단계를 포함할 수 있다. 방법은, 컴퓨팅 디바이스에 의해, 그리고 제3 발화의 소스 화자를 나타내는 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서, 후속 시간 윈도우 동안 캡처되고 제3 발화를 나타내는 제2 오디오 파형을 수신하는 단계를 더 포함할 수 있다. 방법은 또 부가적으로, 컴퓨팅 디바이스에 의해, 분리 모델을 통해, 그리고 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 제3 발화의 소스 화자를 결정하는 단계를 포함할 수 있고, 소스 화자는 제1 화자 또는 제2 화자인 것으로 결정된다. 방법은, 컴퓨팅 디바이스에 의해, 제3 발화 및 결정된 소스 화자에 기반하여 분리 모델을 업데이트하는 단계를 또 더 포함할 수 있다.
[005] 제2 예시적인 실시예에서, 시스템은 마이크로폰, 및 동작들을 수행하도록 구성된 프로세서를 포함할 수 있다. 동작들은, 초기 시간 윈도우 동안 캡처되고 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 마이크로폰으로부터 수신하는 동작을 포함할 수 있다. 동작들은 또한 (i) 제1 발화가 제1 화자에 대응한다는 것, 및 (ii) 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하는 동작을 포함할 수 있다. 동작들은 부가적으로, 제1 발화, 제2 발화, 및 제1 타입의 아이덴티티 데이터에 기반하여, 제1 화자에 의한 발화들과 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델을 결정하는 동작을 포함할 수 있다. 동작들은, 제3 발화의 소스 화자를 나타내는 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서, 후속 시간 윈도우 동안 캡처되고 제3 발화를 나타내는 제2 오디오 파형을 마이크로폰으로부터 수신하는 동작을 더 포함할 수 있다. 동작들은 또 부가적으로, 분리 모델을 통해, 그리고 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 제3 발화의 소스 화자를 결정하는 동작을 포함할 수 있고, 소스 화자는 제1 화자 또는 제2 화자인 것으로 결정된다. 동작들은, 제3 발화 및 결정된 소스 화자에 기반하여 분리 모델을 업데이트하는 동작을 또 더 포함할 수 있다.
[006] 제3 예시적인 실시예는 명령들이 저장된 비일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있고, 명령들은, 컴퓨팅 디바이스에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 동작들을 수행하게 한다. 동작들은, 초기 시간 윈도우 동안 캡처되고 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 수신하는 동작을 포함할 수 있다. 동작들은 또한 (i) 제1 발화가 제1 화자에 대응한다는 것, 및 (ii) 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하는 동작을 포함할 수 있다. 동작들은 부가적으로, 제1 발화, 제2 발화, 및 제1 타입의 아이덴티티 데이터에 기반하여, 제1 화자에 의한 발화들과 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델을 결정하는 동작을 포함할 수 있다. 동작들은, 후속 시간 윈도우 동안 캡처되고 제3 발화를 나타내는 제2 오디오 파형을 수신하는 동작을 더 포함할 수 있고, 제2 오디오 파형은, 제3 발화의 소스 화자를 나타내는 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서 수신된다. 동작들은 또 부가적으로, 분리 모델을 통해, 그리고 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 제3 발화의 소스 화자를 결정하는 동작을 포함할 수 있고, 소스 화자는 제1 화자 또는 제2 화자인 것으로 결정된다. 동작들은, 제3 발화 및 결정된 소스 화자에 기반하여 분리 모델을 업데이트하는 동작을 또 더 포함할 수 있다.
[007] 제4 예시적인 실시예에서, 초기 시간 윈도우 동안 캡처되고 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 수신하기 위한 수단을 포함하는 시스템이 제공된다. 시스템은 또한 (i) 제1 발화가 제1 화자에 대응한다는 것, 및 (ii) 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하기 위한 수단을 포함할 수 있다. 시스템은 부가적으로, 제1 발화, 제2 발화, 및 제1 타입의 아이덴티티 데이터에 기반하여, 제1 화자에 의한 발화들과 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델을 결정하기 위한 수단을 포함할 수 있다. 시스템은, 제3 발화의 소스 화자를 나타내는 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서, 후속 시간 윈도우 동안 캡처되고 제3 발화를 나타내는 제2 오디오 파형을 수신하기 위한 수단을 더 포함할 수 있다. 시스템은 또 부가적으로, 분리 모델을 통해, 그리고 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 제3 발화의 소스 화자를 결정하기 위한 수단을 포함할 수 있고, 소스 화자는 제1 화자 또는 제2 화자인 것으로 결정된다. 시스템은, 제3 발화 및 결정된 소스 화자에 기반하여 분리 모델을 업데이트하기 위한 수단을 또 더 포함할 수 있다.
[008] 이들 뿐만 아니라 다른 실시예들, 양상들, 장점들, 및 대안들은, 적절한 첨부된 도면들을 참조하여 이하의 상세한 설명을 판독함으로써 당업자들에게 명백해질 것이다. 또한, 본원에 제공된 이러한 개요 및 다른 설명들 및 도면들은 단지 예로서 실시예들을 예시하도록 의도되고, 이로써 많은 변형들이 가능하다. 예컨대, 구조적 엘리먼트들 및 프로세싱 단계들은, 청구된 실시예들의 범위 내에서 재배열, 결합, 분배, 제거 또는 그렇지 않은 경우 변경될 수 있다.
[009] 도 1은 예시적인 실시예들에 따른 컴퓨팅 시스템을 예시한다.
[010] 도 2는 예시적인 실시예들에 따른 컴퓨팅 디바이스를 예시한다.
[011] 도 3a, 3b 및 3c는 예시적인 실시예들에 따른 사용자 인터페이스들을 예시한다.
[012] 도 3d는 예시적인 실시예들에 따른 컴퓨팅 디바이스에 의한 이미지 캡처를 예시한다.
[013] 도 4는 예시적인 실시예들에 따른 시스템의 블록도를 예시한다.
[014] 도 5a, 5b, 5c, 6a 및 6b는 예시적인 실시예들에 따른 분리 모델을 예시한다.
[015] 도 7은 예시적인 실시예들에 따른 흐름도를 예시한다.
[016] 예시적인 방법들, 디바이스들 및 시스템들이 본원에 설명된다. "예" 및 "예시적인"이라는 단어들이 본원에서 "예, 사례, 또는 예시로서 기능하는 것"을 의미하도록 사용된다는 것이 이해되어야 한다. "예", "예시적인", 및/또는 "예시하는" 것으로서 본원에 설명된 임의의 실시예 또는 특징은, 달리 언급되지 않는다면, 다른 실시예들 또는 특징들보다 바람직하거나 유리한 것으로 해석될 필요는 없다. 따라서, 본원에 제시된 주제의 범위를 벗어나지 않고서, 다른 실시예들이 활용될 수 있으며 다른 변화들이 이루어질 수 있다.
[017] 따라서, 본원에 설명된 예시적인 실시예들은 이들만으로 제한되는 것을 의미하는 것이 아니다. 본원에 일반적으로 설명되고 도면들에 예시된 바와 같은 본 개시내용의 양상들이 매우 다양한 상이한 구성들로 배열, 대체, 결합, 분리 및 설계될 수 있음이 쉽게 이해될 것이다.
[018] 또한, 문맥에서 달리 제시되지 않는 한, 도면들 각각에 예시된 특징들은 서로 조합되어 사용될 수 있다. 따라서, 예시된 모든 특징들이 각각의 실시예에 필수적인 것은 아니라는 점을 이해하면서, 도면들은 하나 이상의 전체 실시예들의 컴포넌트 양상들로서 일반적으로 간주되어야 한다.
[019] 부가적으로, 본 명세서 또는 청구항들에서의 엘리먼트들, 블록들, 또는 단계들의 임의의 열거는 명확성을 위한 것이다. 따라서, 이러한 열거는, 이러한 엘리먼트들, 블록들 또는 단계들이 특정 배열을 고수하거나 특정 순서대로 수행된다는 것을 요구하거나 암시하는 것으로 해석되어서는 안된다. 달리 언급되지 않는 한, 도면들은 실척대로 도시되지 않는다.
I. 개요
[020] 분리 모델은, 오디오 파형에 기반하여, 오디오 파형 내에서 특정 시간 기간 동안 다수의 화자들 중 어떤 화자가 말하는지를 결정하는 데 사용될 수 있다. 따라서, 상이한 화자들에 의한 다수의 발화들을 내부에 포함하는 오디오 파형은 각각의 발화의 화자에 따라 분할될 수 있다. 분리 모델은, 트레이닝 파형에서 각각의 발화와 연관된 화자를 나타내는 힌트/아이덴티티 데이터와 연관된 트레이닝 파형에 기반하여 트레이닝될 수 있다. 일단 트레이닝되면, 분리 모델은, 임의의 추가 아이덴티티 데이터에 의존하지 않고 그리고/또는 독립적으로, 특정 발화와 연관된 화자를 결정하는 데 사용될 수 있다. 분리 모델이 다양한 발화들의 화자들을 식별하도록 동작할 때, 화자들의 식별들에 기반하여 모델이 업데이트될 수 있다. 즉, 분리 모델은, 시간이 지남에 따라 모델이 행하는 비감독 예측들에 기반하여 성장, 적응 및 진화할 수 있다.
[021] 특히, 힌트 데이터, 아이덴티티 데이터 및/또는 아이덴티티 힌트 데이터라는 용어들은, 본원에서, 주어진 음성 신호에 대한 레이블(예컨대, 화자 #1, 화자 A, 또는 일부 다른 임의의 레이블)의 할당을 나타내는 데 사용된다. 이 레이블은, 동일한 음성이 조우될(encounted) 때 시간이 지남에 따라 유지될 수 있다. 이 레이블은, 레이블이 사실상 익명이 되도록, 개인에 관한 다른 개인 식별 정보(예컨대, 이름, 주소 등)를 포함하거나 이와 연관되지 않을 수 있다. 프라이버시 및 익명성은 (i) 두 명의 사용자들이 대화를 할 때마다 새로운 분리 모델을 생성하고(일단 대화가 끝나면 모델을 폐기), (ii) 분리 모델을 생성하여 실행하고, 예컨대, 클라우드 기반 플랫폼이 아닌 하나의 컴퓨팅 디바이스(예컨대, 번역 애플리케이션을 실행하는 컴퓨팅 디바이스)에 로컬로 저장하고 그리고/또는 (iii) 다른 가능성들 중에서, 특정 사용자에 특정된 분리 모델의 양상들을 다른 컴퓨팅 디바이스들과 공유하지 않음으로써 추가로 지원될 수 있다.
[022] 분리 모델은, 다른 가능한 애플리케이션들 중에서도, 번역 애플리케이션 또는 전사 애플리케이션의 일부로서 사용될 수 있다. 번역 애플리케이션의 맥락에서, 번역 애플리케이션은 적어도 2개의 버튼들을 포함하는 그래픽 사용자 인터페이스(UI)를 제공할 수 있다. 제1 버튼은 제1 화자 및 선택적으로 제1 언어에 대응할 수 있는 반면에, 제2 버튼은 제2 화자 및 선택적으로 제2 언어에 대응할 수 있다. 제1 화자가 자신의 음성을 번역하기로 선택할 때, 제1 화자가 제1 버튼을 누르고 말하기 시작할 수 있다. 번역 애플리케이션은 제1 화자에 의해 생성된 발화들을 캡처할 수 있고, 임계 진폭을 초과하는 어떠한 소리도 적어도 미리 결정된 시간 기간(예컨대, 2.5초) 동안 검출되지 않을 때, 번역 애플리케이션은 더 많은 발화들에 대한 청취를 중단할 수 있다. 번역 애플리케이션은 발화들의 텍스트 표현을 생성하고, 텍스트를 제2 언어로 번역하고, 이 텍스트를 제2 화자에게 디스플레이할 수 있다.
[023] 이때에, 제2 화자는 제2 버튼을 누르고, 유사한 절차를 반복하여 제1 화자에게 응답할 수 있다. 대화가 끝날 때까지, 이러한 절차가 앞뒤로 무기한 계속될 수 있다. 그러나, 특히, 그러한 명시적 화자 표시들에 의존하는 것은, 특히 디바이스(들)에 대한 각각의 화자를 식별할 목적으로 사용되는 디바이스(들)에 대한 반복된 입력들(예컨대, 제1 및 제2 버튼들에 대한 터치 입력들)을 필요로 한다. 디바이스(들)는 이러한 수신된 입력들을 검출하고 프로세싱해야 한다. 명시적 화자 표시들에 의존하는 것은 또한 번거롭고 오류가 발생하기 쉽다.
[024] 예컨대, 화자들 중 한 명의 화자는 잘못된 버튼을 눌렀을 수 있고, 따라서 화자가 실제로 스페인어로 발화를 생성하지만, 번역 애플리케이션으로 하여금, 예컨대, 영어를 스페인어로 번역하려고 시도하게 한다. 다른 예에서, 화자는 자신의 개개의 버튼을 누르기 전에 또는 누른 후 너무 빨리 말하기를 시작할 수 있으며, 따라서 발화의 초기 부분이 캡처된 파형에 표현되지 않게 된다. 추가 예에서, 번역 애플리케이션은, 사용자가 말하기를 마쳤다고 결정하기 위해 미리 결정된 무음 기간(silent period)에 의존할 수 있다. 그러나, 시끄러운 환경들에서는, 이러한 무음이 사용할 수 없어서, 번역 애플리케이션이 특정 화자의 말을 무기한으로 듣거나 이 화자가 말을 멈춘 후 너무 오랜 기간 동안 듣게 될 수 있다. 잠재적으로 오류들을 연장시키고 그리고/또는 프로세스에 오류들을 도입하는 것 외에도, 이것은 또한 디바이스(들)의 하나 이상의 마이크로폰들과 같이 사용 중인 디바이스(들)의 하드웨어 엘리먼트들이 더 오래 배치되도록 요구할 수 있다. 이것의 하나의 효과는, 프로세스를 구현할 때, 디바이스(들)에 의해 요구되는 전력의 양을 증가시키고, 이로써 디바이스(들)의 배터리 수명을 단축시키고 그리고/또는 그렇지 않으면 부가적인 온-디바이스 전력을 소비하는 것일 수 있다.
[025] 이러한 단점들은, 분리 모델을 사용하여 둘 이상의 화자들 사이에서 파형 내에서 발화들을 자동으로 분류함으로써 개선될 수 있다. 특히, 버튼을 누른 다음에 말하는 프로세스는 번역 애플리케이션이 감독 학습 데이터를 생성하는 것을 허용한다. 즉, 제1 버튼을 누른 후 캡처된 발화들은 제1 화자에 대응하는 것으로 표시되는 반면에, 제2 버튼을 누른 후 캡처된 발화는 제2 화자에 대응하는 것으로 표시된다. 따라서, 이러한 감독 학습 데이터는 분리 모델을 트레이닝하는 데 사용될 수 있다. 일단 트레이닝되면, 번역 애플리케이션은 더 이상 명시적 화자 표시들(즉, 화자 아이덴티티 데이터)을 요청하지 않고, 대신 분리 모델에 의존하여 화자를 식별할 수 있다.
[026] 분리 모델은, 예컨대, 캡처된 파형의 250 밀리초 부분에 기반하여 동작할 수 있다. 따라서, 번역 애플리케이션은 능동적으로 말하는 화자의 변화들에 응답할 때, 예컨대, 250 밀리초의 최대 레이턴시를 가질 수 있다. 부가적으로, 명시적 화자 표시들이 더 이상 요청되거나 필요하지 않기 때문에, 임의의 인간 오류가 감소, 최소화 및/또는 제거될 수 있다. 예컨대, 애플리케이션은 명시적인 버튼 누름에 의존하지 않고 상이한 화자에 의한 발화를 청취할 수 있고, 따라서 화자에서 화자로 전환하는 동안 발화의 일부가 잘리는 것을 방지할 수 있다. 또한, 화자의 발화들의 스트링의 끝을 결정하는 것은 더 이상 무음 기간에 의존하지 않을 수 있고, 따라서 다른 화자가 임의의 부자연스러운 일시 중지들 없이 말하기 시작하는 것을 허용할 수 있다. 이러한 장점들 각각은 번역 애플리케이션이 두 명 이상의 화자들 사이에서 훨씬 더 자연스럽고 방해받지 않는 대화가 발생하는 것을 허용한다. 게다가, 전체 상호작용의 길이가 감소되고, 예컨대, 디바이스(들)에서 스크린-온 시간, 마이크로폰-온 시간 및/또는 전력 소비에서 대응하는 감소들을 생성할 수 있다.
[027] 분리 모델이 임의의 힌트/아이덴티티 데이터와 독립적으로(예컨대, 배타적으로) 발화들에서 화자들을 자동으로 식별하도록 동작하기 때문에, 이러한 자동 화자 식별들은 분리 모델에 피드백되어, 모델이 동작할 때 성장하고 적응하게 할 수 있다. 일부 구현들에서, 적어도 임계 신뢰도 값으로 결정된 화자 식별들은 분리 모델을 업데이트하는 데 사용될 수 있는 반면, 임계값 신뢰도 값 미만의 신뢰도 값을 갖는 화자 식별들은 그렇지 않을 수 있다. 따라서, 모델은, 모델에서 잠재적으로 잘못된 예측들을 유지하면서, 정확할 가능성이 있는 예측들을 사용하여 업데이트될 수 있다. 부가적으로 또는 대안적으로, 초기 트레이닝 데이터는, 자동화된 화자 식별들로부터 생성된 데이터보다, 모델 내에서 더 무겁게 가중될 수 있다. 이러한 접근법은, 임의의 단일 자동 화자 식별이 모델을 상당히 변경하지 않고서, 모델이 적응되는 것을 허용하고, 따라서 임의의 잘못된 화자 식별들의 영향을 줄일 수 있다.
[028] 이러한 적응이 없을 때, 각각의 화자에 대해 약 5초의 음성 데이터에 대해 모델이 트레이닝될 필요가 있을 수 있다(예컨대, 두 명의 화자 시나리오에서 발화들을 갖는 파형이 총 10초 이상 지속됨). 예컨대, 화자가 매우 유사하게 들리고 따라서 광범위한 화자의 음성을 표현하지 않는 발화들을 생성할 때, 필요로 되는 트레이닝 데이터의 양이 더 길어질 수 있다. 반대로, 분리 모델이 그 자신의 예측들에 기반하여 적응하도록 허용되는 경우, 힌트/아이덴티티 데이터를 수반하지 않는 자동화된 예측들을 허용하기 전에, 모델을 트레이닝하기 위해 화자당 1초의 음성 데이터가 충분할 수 있다. 그럼에도 불구하고, 모델이 적응될 때, 더 오래 (예컨대, 5초 이상의 음성에 기반하여) 트레이닝된 모델과 동일하거나 유사한 레벨의 화자 식별 정확도에 도달할 수 있다. 따라서, 적응형 모델은, 번역 애플리케이션이 대화 전반에 걸쳐 일정하게 유지되는 비적응형 모델보다 훨씬 빠르게 명시적 화자 식별을 위한 요청들을 단계적으로 중단하는 것을 허용할 수 있다.
[029] 분리 모델은 파형 임베딩 모델과 벡터 분류 모델로 구성될 수 있다. 임베딩 모델은 (i) 파형의 복수의 샘플들(예컨대, 특정 레이트로 샘플링된 250 밀리초)과 (ii) 벡터 공간 사이의 수학적 변환을 정의할 수 있다. 임베딩 모델의 출력은, 화자의 음성의 다양한 물리적 특성들 또는 특징들을 나타내는 값들을 갖는 임베딩 벡터일 수 있다. 임베딩 모델은, 상이하게 들리는 음성들이 벡터 공간에서 분리되고 유사하게 들리는 음성들이 벡터 공간에서 가깝게 함께 그룹화되도록, 그들의 대응하는 화자들로 레이블링된 발화들의 큰 코퍼스(corpus)에 대해 트레이닝될 수 있다. 따라서, 대화 동안, 임베딩 모델은 제1 화자에 대한 임베딩 벡터들의 제1 클러스터 및 제2 화자에 대한 임베딩 벡터들의 제2 클러스터를 생성할 수 있다. 특히, 임베딩 모델의 트레이닝에 사용된 코퍼스에 포함된 발화들의 화자들은 대화의 화자들과 상이할 수 있다. 따라서, 임베딩 모델의 트레이닝은 한 번만 이루어질 수 있으며, 이 트레이닝된 임베딩 모델은 임의의 그룹의 화자들 사이의 임의의 새로운 대화에 적용될 수 있다.
[030] 레이블링되지 않은 발화의 화자를 식별하기 위해, 발화는 임베딩 벡터를 생성하기 위해 임베딩 모델에 의해 프로세싱될 수 있다. 그런 다음, 이 임베딩 벡터는, k-최근접 이웃 모델, 최근접 중심 모델, 가우시안 나이브 베이즈 모델, 또는 다른 유사한 모델일 수 있는 벡터 분류 모델을 통해 제1 클러스터 및 제2 클러스터와 비교될 수 있다. 발화의 화자는, 신뢰도 메트릭 또는 벡터 분류 모델에 의해 생성된 다른 정량적 측정에 기반하여 결정될 수 있다. 분리 모델은, 모델에 의해 생성된 분류들을 임베딩 벡터들의 제1 클러스터 또는 제2 클러스터 중 어느 하나에 추가함으로써 업데이트될 수 있다.
II. 예시적인 컴퓨팅 디바이스들
[031] 도 1은 컴퓨팅 시스템(100)의 예시적인 폼 팩터를 예시한다. 컴퓨팅 시스템(100)은, 예컨대, 이동 전화, 태블릿 컴퓨터, 또는 웨어러블 컴퓨팅 디바이스일 수 있다. 그러나, 다른 실시예들이 가능하다. 컴퓨팅 시스템(100)은 다양한 엘리먼트들, 이를테면, 본체(102), 디스플레이(106) 및 버튼들(108 및 110)을 포함할 수 있다. 컴퓨팅 시스템(100)은 전면 카메라(104), 후면 카메라(112), 전면 적외선 카메라(114), 제1 적외선 패턴 프로젝터(116) 및 제2 적외선 패턴 프로젝터(118)를 더 포함할 수 있다.
[032] 전면 카메라(104)는 동작 동안 전형적으로 사용자를 향하고 있는 본체(102)의 일측에(예컨대, 디스플레이(106)와 동일한 일측에) 위치될 수 있다. 후면 카메라(112)는 전면 카메라(104)에 대향하는 본체(102)의 일측 상에 위치될 수 있다. 전면 카메라 또는 후면 카메라라고 지칭하는 것은 임의적이며, 컴퓨팅 시스템(100)은 본체(102)의 다양한 측면들 상에 위치된 다수의 카메라들을 포함할 수 있다. 전면 카메라(104) 및 후면 카메라(112) 각각은 가시광 스펙트럼에서 이미지들을 캡처하도록 구성될 수 있다.
[033] 디스플레이(106)는 음극선관(CRT) 디스플레이, 발광 다이오드(LED) 디스플레이, 액정(LCD) 디스플레이, 플라즈마 디스플레이, 또는 당업계에 공지된 임의의 다른 타입의 디스플레이를 나타낼 수 있다. 일부 실시예들에서, 디스플레이(106)는, 전면 카메라(104), 후면 카메라(112) 및/또는 적외선 카메라(114)에 의해 캡처되는 현재 이미지, 및/또는 이들 카메라들 중 하나 이상에 의해 캡처될 수 있거나 최근에 캡처된 이미지의 디지털 표현을 디스플레이할 수 있다. 따라서, 디스플레이(106)는 카메라들에 대한 뷰파인더로서 기능할 수 있다. 디스플레이(106)는 또한, 컴퓨팅 시스템(100)의 임의의 양상의 설정들 및/또는 구성을 조정할 수 있는 터치 스크린 기능들을 지원할 수 있다.
[034] 전면 카메라(104)는 이미지 센서, 및 렌즈들과 같은 연관된 광학 엘리먼트들을 포함할 수 있다. 전면 카메라(104)는 줌 능력들을 제공할 수 있거나 고정된 초점 길이를 가질 수 있다. 다른 실시예들에서, 교체 가능한 렌즈들이 전면 카메라(104)와 함께 사용될 수 있다. 전면 카메라(104)는 가변 기계적 애퍼처 및 기계식 및/또는 전자식 셔터를 가질 수 있다. 전면 카메라(104)는 또한 정지 이미지들, 비디오 이미지들 또는 둘 모두를 캡처하도록 구성될 수 있다. 또한, 전면 카메라(104)는 모노스코픽, 스테레오스코픽 또는 멀티스코픽 카메라를 나타낼 수 있다. 후면 카메라(112) 및/또는 적외선 카메라(114)는 유사하거나 또는 상이하게 배열될 수 있다. 부가적으로, 전면 카메라(104), 후면 카메라(112) 또는 적외선 카메라(114) 중 하나 이상은 하나 이상의 카메라들의 어레이일 수 있다.
[035] 전면 카메라(104) 및 후면 카메라(112) 중 어느 하나 또는 둘 모두는, 타겟 객체를 조명하기 위한 가시광 스펙트럼의 광 필드를 제공하는 조명 컴포넌트를 포함하거나 또는 이와 연관될 수 있다. 예컨대, 조명 컴포넌트는 타겟 객체의 플래시 또는 일정한 조명을 제공할 수 있다. 조명 컴포넌트는 또한 구조화된 광, 편광된 광 및 특정 스펙트럼 내용을 갖는 광 중 하나 이상을 포함하는 광 필드를 제공하도록 구성될 수 있다. 객체로부터 3차원(3D) 모델들을 복구하는 데 사용되는 공지된 다른 타입들의 광 필드들은 본원의 실시예들의 문맥 내에서 가능하다.
[036] 제1 적외선 패턴 프로젝터(116) 및 제2 적외선 패턴 프로젝터(118) 각각은 대응하는 적외선 구조화된 광 패턴을 타겟 객체에 투사하도록 구성될 수 있다. 일 예에서, 제1 적외선 프로젝터(116)는 도트 패턴을 투사하도록 구성될 수 있고, 제2 적외선 프로젝터(118)는 플러드 패턴(flood pattern)을 투사하도록 구성될 수 있다. 따라서, 제1 및 제2 적외선 프로젝터들(116 및 118)은, 타겟 객체의 상이한 물리적 특징들에 대응하는 복수의 깊이 값들을 결정하기 위해 적외선 카메라(114)와 결합하여 사용될 수 있다.
[037] 즉, 제1 적외선 프로젝터(116)는 알려진 도트 패턴을 타겟 객체에 투사할 수 있고, 적외선 카메라(114)는 투사된 도트 패턴을 포함하는 타겟 객체의 적외선 이미지를 캡처할 수 있다. 그런 다음, 컴퓨팅 시스템(100)은 캡처된 적외선 이미지의 영역과 투사된 도트 패턴의 특정 부분 사이의 대응 관계를 결정할 수 있다. 제1 적외선 프로젝터(116)의 위치, 적외선 카메라(114)의 위치, 및 캡처된 적외선 이미지 내에서 투사된 도트 패턴의 특정 부분에 대응하는 영역의 위치가 주어지면, 컴퓨팅 시스템(100)은 삼각측량을 사용하여 타겟 객체의 표면까지의 깊이를 추정할 수 있다.
[038] 투사된 도트 패턴의 상이한 부분들에 대응하는 상이한 영역들에 대해 이것을 반복함으로써, 컴퓨팅 시스템(100)은 타겟 객체의 다양한 물리적 특징들 또는 부분들의 깊이를 추정할 수 있다. 이러한 방식으로, 컴퓨팅 시스템(100)은 타겟 객체의 3차원(3D) 모델을 생성하는 데 사용될 수 있다. 제2 적외선 프로젝터(118)는 (예컨대, 어두운 환경에서) 상이한 조명 조건들을 보상하기 위해 플러드 패턴으로 타겟 객체를 조명하는 데 사용될 수 있다. 즉, 제2 적외선 프로젝터(118)는, 적외선 카메라(114)에 의해 캡처된 이미지들이 상이한 환경들 및 조명 조건들에 걸쳐 실질적으로 일정한 적외선 전력으로 조명된 타겟 객체를 나타내는 것을 허용할 수 있다. 제2 적외선 프로젝터(118)에 의해 투사된 플러드 패턴은 일정하고 균일한 조명을 제공할 수 있다.
[039] 일부 실시예들에서, 투사된 도트 패턴은, 도트들의 고유한 조합 또는 배열인 공지된 또는 그렇지 않은 경우 미리 결정된 패턴일 수 있다. 도트 패턴이 미리 결정될 때, 해당 패턴의 고유한 부분들이 캡처된 적외선 이미지들 내에 위치할 수 있으며, 삼각 측량을 위한 기준점을 제공할 수 있다. 예컨대, 일단 미리 결정된 패턴의 고유한 부분이 캡처된 적외선 이미지에서 식별되면, 미리 결정된 패턴의 해당 고유한 부분의 특성들(이를테면, 그의 크기 및 위치)은, 해당 고유한 부분이 투사되는 표면의 깊이를 결정하기 위한 기초로서 사용될 수 있다.
[040] 컴퓨팅 시스템(100)은 또한, 카메라들(104, 112 및/또는 114)이 캡처할 수 있는 (예컨대, 가시광 및/또는 적외선 광에 관하여) 장면의 주변 밝기를 계속해서 또는 때때로 결정할 수 있는 주변 광 센서를 포함할 수 있다. 일부 구현들에서, 주변 광 센서는 디스플레이(106)의 디스플레이 밝기를 조정하는 데 사용될 수 있다. 부가적으로, 주변 광 센서는 카메라들(104, 112 또는 114) 중 하나 이상의 노출 길이를 결정하거나 또는 이러한 결정을 돕는 데 사용될 수 있다.
[041] 컴퓨팅 시스템(100)은 타겟 객체의 이미지들을 캡처하기 위한 전면 카메라(104), 후면 카메라(112) 및/또는 전면 적외선 카메라(114) 및 디스플레이(106)를 사용하도록 구성될 수 있다. 캡처된 이미지들은 복수의 스틸 이미지들 또는 비디오 스트림일 수 있다. 이미지 캡처는 버튼(108)을 활성화하거나, 디스플레이(106) 상의 소프트 키를 누르거나, 또는 일부 다른 메커니즘에 의해 트리거링될 수 있다. 구현에 의존하여, 이미지들은 특정한 시간 간격으로, 예를 들면, 셔터 버튼(108)을 누를 때, 타겟 객체의 적절한 조명 조건들에 따라, 디지털 카메라 디바이스(100)를 미리 결정된 거리만큼 이동시킬 때, 또는 미리 결정된 캡처 스케줄에 따라 자동으로 캡처될 수 있다.
[042] 전술한 바와 같이, 컴퓨팅 시스템(100)의 기능들은 컴퓨팅 디바이스, 이를테면, 무선 컴퓨팅 디바이스, 셀 폰, 태블릿 컴퓨터, 랩톱 컴퓨터 등에 통합될 수 있다. 예를 들기 위해, 도 2는, 카메라 컴포넌트들(224)을 포함할 수 있는 예시적인 컴퓨팅 디바이스(200)의 컴포넌트들 중 일부를 도시한 단순화된 블록도이다.
[043] 비제한적인 예로서, 컴퓨팅 디바이스(200)는 셀룰러 이동 전화(예를 들면, 스마트 폰), 스틸 카메라, 비디오 카메라, 컴퓨터(이를테면, 데스크탑, 노트북, 태블릿, 핸드헬드 컴퓨터), PDA(personal digital assistant), 홈 오토메이션 컴포넌트, 디지털 비디오 레코더(DVR), 디지털 텔레비전, 원격 제어, 웨어러블 컴퓨팅 디바이스, 게이밍 콘솔, 로봇 디바이스 또는 적어도 일부 오디오 캡처 및/또는 오디오 프로세싱 능력들아 장착된 일부 다른 타입의 디바이스일 수 있다. 컴퓨팅 디바이스(200)는 물리적 오디오 프로세싱 시스템, 오디오 감지 및 프로세싱 애플리케이션이 소프트웨어로 동작하는 특정 물리적 하드웨어 플랫폼, 또는 오디오 캡처, 프로세싱 및/또는 분리 기능들을 수행하도록 구성된 하드웨어 및 소프트웨어의 다른 조합들을 나타낸다는 것이 이해되어야 한다.
[044] 도 2에 도시된 바와 같이, 컴퓨팅 디바이스(200)는 통신 인터페이스(202), 사용자 인터페이스(204), 프로세서(206), 데이터 저장소(208) 및 카메라 컴포넌트들(224)을 포함할 수 있으며, 이들 모두는 시스템 버스, 네트워크 또는 다른 연결 메카니즘(210)에 의해 통신 가능하게 함께 링크될 수 있다.
[045] 통신 인터페이스(202)는 컴퓨팅 디바이스(200)가, 아날로그 또는 디지털 변조를 사용하여, 다른 디바이스들, 액세스 네트워크들, 및/또는 전송 네트워크들과 통신하는 것을 허용할 수 있다. 따라서, 통신 인터페이스(202)는 회선 교환(circuit-switched) 및/또는 패킷 교환 통신, 이를테면, POTS(plain old telephone service) 통신 및/또는 IP(Internet protocol) 또는 다른 패킷화된 통신을 가능하게 할 수 있다. 예컨대, 통신 인터페이스(202)는 무선 액세스 네트워크 또는 액세스 포인트와의 무선 통신을 위해 배열된 칩셋 및 안테나를 포함할 수 있다. 또한, 통신 인터페이스(202)는 이더넷, USB(Universal Serial Bus) 또는 HDMI(High-Definition Multimedia Interface) 포트와 같은 유선 인터페이스의 형태를 취하거나 이를 포함할 수 있다. 또한, 통신 인터페이스(202)는 Wifi, BLUETOOTH®, GPS(global positioning system) 또는 광역 무선 인터페이스(예컨대, WiMAX 또는 3GPP LTE(Long-Term Evolution))와 같은 무선 인터페이스의 형태를 취하거나 이를 포함할 수 있다. 그러나, 다른 형태들의 물리 계층 인터페이스들 및 다른 타입의 표준 또는 독점 통신 프로토콜들이 통신 인터페이스(202)를 통해 사용될 수 있다. 또한, 통신 인터페이스(202)는 다수의 물리적 통신 인터페이스들(예컨대, Wifi 인터페이스, BLUETOOTH® 인터페이스, 및 광역 무선 인터페이스)을 포함할 수 있다.
[046] 사용자 인터페이스(204)는 컴퓨팅 디바이스(200)가 사용자로부터 입력을 수신하고 사용자에게 출력을 제공하는 것 같이, 인간 또는 비-인간 사용자와 상호작용하는 것을 허용하도록 기능할 수 있다. 따라서, 사용자 인터페이스(204)는 키패드, 키보드, 터치 감지 패널, 컴퓨터 마우스, 트랙볼, 조이스틱, 마이크로폰 등과 같은 입력 컴포넌트들을 포함할 수 있다. 사용자 인터페이스(204)는 또한, 예컨대, 터치 감지 패널과 결합될 수 있는 디스플레이 스크린과 같은 하나 이상의 출력 컴포넌트들을 포함할 수 있다. 디스플레이 스크린은 CRT, LCD 및/또는 LED 기술들, 또는 현재 공지되거나 추후 개발될 다른 기술들에 기초할 수 있다. 사용자 인터페이스(204)는 또한 스피커, 스피커 잭, 오디오 출력 포트, 오디오 출력 디바이스, 이어폰 및/또는 다른 유사한 디바이스들을 통해 가청 출력(들)을 생성하도록 구성될 수 있다. 사용자 인터페이스(204)는 또한 마이크로폰 및/도는 다른 유사한 디바이스들을 통해 가청 발화(들), 잡음(들) 및/또는 신호(들)를 수신 및/또는 캡처하도록 구성될 수 있다.
[047] 일부 실시예들에서, 사용자 인터페이스(204)는 컴퓨팅 디바이스(200)에 의해 (예컨대, 가시 스펙트럼 및 적외선 스펙트럼 둘 모두에서) 지원되는 스틸 카메라 및/또는 비디오 카메라 기능들을 위한 뷰파인더로서 기능하는 디스플레이를 포함할 수 있다. 부가적으로, 사용자 인터페이스(204)는, 이미지들을 캡처하고 카메라 기능의 구성 및 포커싱을 가능하게 하는 하나 이상의 버튼들, 스위치들, 노브들 및/또는 다이얼들을 포함할 수 있다. 이들 버튼들, 스위치들, 노브들 및/또는 다이얼들의 전부 또는 일부는 터치 감지 패널을 통해 구현되는 것이 가능할 수 있다.
[048] 프로세서(206)는 하나 이상의 범용 프로세서들(예컨대, 마이크로프로세서들) 및/또는 하나 이상의 특수 목적 프로세서들(예컨대, 디지털 신호 프로세서(DSP)들, 그래픽 프로세싱 유닛(GPU)들, 부동 소수점 유닛(FPU)들, 네트워크 프로세서들 또는 주문형 집적 회로(ASIC)들을 포함할 수 있다. 일부 예시들에서, 특수 목적 프로세서들은, 다른 가능성들 중에서도, 이미지 프로세싱, 이미지 정렬 및 이미지들의 병합들을 할 수 있다. 데이터 저장소(208)는 자기, 광학, 플래시 또는 유기 저장소와 같은 하나 이상의 휘발성 및/또는 비휘발성 저장 컴포넌트들을 포함할 수 있으며, 프로세서(206)에 전체적으로 또는 부분적으로 통합될 수 있다. 데이터 저장소(208)는 착탈 가능한 그리고/또는 착탈 불가능한 컴포넌트들을 포함할 수 있다.
[049] 프로세서(206)는, 본원에 설명된 다양한 기능들을 수행하기 위해 데이터 저장소(208)에 저장된 프로그램 명령들(218)(예컨대, 컴파일링되거나 컴파일링되지 않은 프로그램 로직 및/또는 머신 코드)을 실행할 수 있다. 따라서, 데이터 저장소(208)는, 컴퓨팅 디바이스(200)에 의한 실행 시에, 컴퓨팅 디바이스(200)로 하여금 본 명세서 및/또는 첨부된 도면들에 개시된 방법들, 프로세스들, 또는 동작들 중 임의의 것을 수행하게 하는 프로그램 명령들이 저장된 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다. 프로세서(206)에 의한 프로그램 명령들(218)의 실행은 프로세서(206)가 데이터(212)를 사용하게 할 수 있다.
[050] 예로서, 프로그램 명령들(218)은 운영 시스템(222)(예를 들면, 운영 시스템 커널 디바이스 드라이버(들), 및/또는 다른 모듈들) 및 컴퓨팅 디바이스(200)에 설치된 하나 이상의 애플리케이션 프로그램들(220)(예컨대, 카메라 기능들, 주소록, 이메일, 웹 브라우징, 소셜 네트워킹, 오디오-텍스트 기능들, 텍스트 번역 기능들 및/또는 게이밍 애플리케이션들)을 포함할 수 있다. 유사하게, 데이터(212)는 운영 시스템 데이터(216) 및 애플리케이션 데이터(214)를 포함할 수 있다. 운영 시스템 데이터(216)는 주로 운영 체제(222)에 의해 액세스 가능할 수 있으며, 애플리케이션 데이터(214)는 주로 애플리케이션 프로그램들(220) 중 하나 이상에 의해 액세스 가능할 수 있다. 애플리케이션 데이터(214)는 컴퓨팅 디바이스(200)의 사용자에게 보이거나 보이지 않는 파일 시스템에 배열될 수 있다.
[051] 애플리케이션 프로그램들(220)은 하나 이상의 애플리케이션 프로그래밍 인터페이스(API)들을 통해 운영 시스템(222)과 통신할 수 있다. 이들 API들은, 예컨대, 애플리케이션 프로그램들(220)이 애플리케이션 데이터(214)를 판독 및/또는 기록하고, 통신 인터페이스(202)를 통해 정보를 송신 또는 수신하고, 정보를 수신하고 그리고/또는 이를 사용자 인터페이스(204) 상에 디스플레이하는 것 등을 가능하게 할 수 있다.
[052] 일부 언어들에서, 애플리케이션 프로그램들(220)은 짧게 "앱(app)들"로 지칭될 수 있다. 부가적으로, 애플리케이션 프로그램들(220)은 하나 이상의 온라인 애플리케이션 스토어들 또는 애플리케이션 마켓들을 통해 컴퓨팅 디바이스(200)로 다운로드될 수도 있다. 그러나, 애플리케이션 프로그램들은 또한 다른 방식들로, 이를테면, 컴퓨팅 디바이스(200) 상의 웹 브라우저를 통해 또는 물리적 인터페이스(예컨대, USB 포트)를 통해 컴퓨팅 디바이스(200) 상에 설치될 수 있다.
[053] 카메라 컴포넌트들(224)은 애퍼처, 셔터, 레코딩 표면(예컨대, 사진 필름 및/또는 이미지 센서), 렌즈, 셔터 버튼, 적외선 프로젝터들 및/또는 가시광 프로젝터들을 포함할 수 있지만, 이에 제한되지 않는다. 카메라 컴포넌트들(224)은 가시광 스펙트럼(예컨대, 380-700 나노미터의 파장을 갖는 전자기 방사선)의 이미지들을 캡처하도록 구성된 컴포넌트들, 및 적외선 광 스펙트럼(예컨대, 701 나노미터-1 밀리미터의 파장을 갖는 전자기 방사선)의 이미지들을 캡처하도록 구성된 컴포넌트들을 포함할 수 있다. 카메라 컴포넌트들(224)은 프로세서(206)에 의해 실행되는 소프트웨어에 의해 적어도 부분적으로 제어될 수 있다.
III. 예시적인 사용자 인터페이스들
[054] 도 3a, 3b 및 3c는 번역 소프트웨어 애플리케이션("번역 애플리케이션")의 예시적인 사용자 인터페이스를 예시한다. 특히, 번역 애플리케이션은, 2명 이상의 사용자들이 2개의 상이한 언어들로 서로 통신할 때, 2개의 상이한 언어들 사이의 번역을 제공하도록 구성된다. 도 3a의 사용자 인터페이스(UI)(300)는, 번역 애플리케이션이 제1 언어에 대응하는 제1 버튼(306) 및 제2 언어에 대응하는 제2 버튼(308)을 포함하는 것을 예시한다. 도 3a, 3b 및 3c에 도시된 예에서, 제1 언어는 영어이고, 제2 언어는 스페인어이다. 그러나, 2개의 언어들 사이의 번역은 번역 애플리케이션에 의해 제공될 수 있다. UI(300)는 또한, 텍스트를 제1 언어로 디스플레이하도록 구성된 제1 디스플레이 영역(302) 및 텍스트를 제2 언어로 디스플레이하도록 구성된 제2 디스플레이 영역(304)을 포함한다.
[055] 발화들(예컨대, 발화된 단어들, 구들 및/또는 문장들)의 번역은, 버튼(306) 또는 버튼(308)과의 상호작용의 검출에 기초하거나 이에 대한 응답으로 개시될 수 있다. 예컨대, 제1 화자는, UI(310)에서 버튼(306)의 크로스-해칭에 의해 예시된 바와 같이, (예컨대, UI를 터치함으로써) 버튼(306)을 선택할 수 있고, 이는 번역 애플리케이션으로 하여금 제1 발화들을 듣기 시작하게 할 수 있다. 따라서, UI(310)는 시각적 프롬프트 "지금 말하시오(SPEAK NOW)"를 디스플레이하여, 제1 화자가 이러한 발화들을 스페인어로 번역하기 위해 하나 이상의 발화들을 영어로 말해야 한다는 것을 나타낼 수 있다. 일부 구현들에서, 버튼들(306 및 308) 사이의 마이크로폰 아이콘은, 번역 애플리케이션이 청취 중임을 나타내기 위해 이동(예컨대, 흔들기, 진동)하거나 자신의 외관을 변경할 수 있다.
[056] 제1 화자의 캡처된 제1 발화들에 기반하여, 번역 애플리케이션은, 영역(302)에서, 영어 발화들의 텍스트 표현(즉, "Hello, how are you(안녕하세요. 어떻게 지내세요)?")을 디스플레이할 수 있고, 영역(304)에서, 스페인어로 번역된 발화들의 텍스트 표현(즉,
Figure pct00001
)을 디스플레이할 수 있다 . 제2 화자는 영역(304)에서 스페인어 텍스트를 판독하고, 응답을 공식화할 수 있다. 제2 화자가 말하고 있음을 나타내기 위해, 제2 화자는 UI(312)의 버튼(308)의 해싱에 의해 예시된 바와 같이 버튼(308)을 선택할 수 있으며, 이는 번역 애플리케이션으로 하여금 제2 발화들을 청취하기 시작하게 할 수 있다. 따라서, UI(312)는 시각적 프롬프트 "HABLA AHORA"를 디스플레이하여, 제2 화자가 이러한 발화들을 영어로 번역하기 위해 하나 이상의 발화들을 스페인어로 말해야 한다는 것을 나타낼 수 있다.
[057] 제2 화자의 캡처된 제2 발화들에 기반하여, 번역 애플리케이션은, 영역(304)에서, 스페인어 발화들의 텍스트 표현(즉,
Figure pct00002
)을 디스플레이할 수 있고, 영역(304)에서 영어로 번역된 발화들의 텍스트 표현(즉, "좋아요, 그리고 당신은 어때요(Good, and you)?")을 디스플레이할 수 있다. 제1 화자는 영역(302)에서 영어 텍스트를 판독하고, 응답을 공식화할 수 있다. 대화는 각각의 사용자가 그들 개개의 버튼을 누르고 말하고 다른 화자에게 응답할 기회를 제공하는 방식으로 계속될 수 있다.
[058] 일부 구현들에서, 이러한 교대 방식(turn taking)은, 예컨대, 두 명의 화자들 사이의 대화가 끝날 때까지 무기한 계속될 수 있다. 그러나, 이러한 교대 방식은 번거로울 수 있고, 조기 종료(즉, 번역 애플리케이션이 화자가 말하기를 마치기 전에 듣기를 중지함) 및/또는 기한이 지난 종료(overdue end-pointing)(즉, 화자가 말한 후 일정 시간 동안 번역 애플리케이션이 계속 청취함)와 같은 문제들을 겪을 수 있다. 즉, 화자가 말하기 시작할 때보다 너무 늦게 그들 개개의 버튼을 누를 때, 발화의 시작이 잘릴 수 있다. 유사하게, 화자가 시끄러운 환경에 있는 경우, 번역 애플리케이션은 듣기를 멈출 만큼 충분히 긴 무음 기간(예컨대, 2.5초)을 검출하지 못하고, 따라서 화자가 말하기를 멈춘 후에 듣게 될 수 있다.
[059] 따라서, 본원에 개시된 시스템들, 방법들 및 디바이스들은 말하는 사람의 명시적 표시자/표시들에 대한 필요성을 단계적으로 제거하도록 구성될 수 있다. 말하고 사람의 이러한 표시는 본원에서 힌트 데이터, 아이덴티티 데이터, 또는 아이덴티티 힌트 데이터로 지칭될 수 있다. 즉, 말하는 사람의 음성의 사운드를 결정하기 위해 교대 방식의 하나 이상의 초기 라운드들 동안 획득된 정보에 기반하여, 분리 모델이 트레이닝될 수 있다. 특히, 분리는 화자의 아이덴티티에 따라 오디오 파형을 섹션들로 분할 또는 분리하는 프로세스이다.
[060] 일단 트레이닝되면, 분리 모델은, 화자의 어떠한 명시적 표시들 없이 말하는 사람을 결정할 수 있다. 이때에, 번역 애플리케이션의 UI는, 말하려는 사람을 UI를 통해 표시할 필요 없이, 화자가 자유롭게 말할 수 있다는 것을 나타내도록 수정될 수 있다. 또한, 분리 모델이 화자를 식별하는 데 사용되기 때문에, 이 추가 정보는 분리 모델을 업데이트하고 적응시키는 데 사용되어, 대화가 진행됨에 따라 모델이 화자를 식별하는 데 점점 더 정확해지는 것을 허용할 수 있다.
[061] 도 3b는, 번역 애플리케이션이 화자의 명시적 표시가 제공될 필요가 없는 모드로 진입하고 그리고/또는 그 모드에서 동작하고 있음을 나타내기 위해 사용될 수 있는 예시적인 UI들을 예시한다. 예컨대, 번역 애플리케이션은, 분리 모델이 화자를 예측할 때 임계 레벨의 정확도에 도달하는 것에 대한 응답으로 이러한 모드에 진입할 수 있다.
[062] 제1 예에서, UI(314)는, 버튼들(306 및 308)을 디스플레이하는 것을 중단함으로써 번역 애플리케이션이 누가 말하는지 또는 말하려고 하는지에 대한 명시적 표시를 더 이상 요청하지 않는다는 것을 화자에게 표시할 수 있다. 부가적으로, 영역들(302 및 304)은 이전에 버튼들(306 및 308)에 전용된 공간을 채우기 위해 확장될 수 있다. 따라서, 예컨대, 제1 화자는, 어떤 단서들도 제공하지 않고서 "신발 가게는 어디에서 찾을 수 있나요(Where can I find the shoe store)?"라고 말할 수 있다. 분리 모델은, 이러한 발화가 제1 화자에 대응한다고 결정하도록 구성될 수 있고, 이에 반응하여 발화를 스페인어로 번역하고, 따라서
Figure pct00003
를 영역(304)에 디스플레이할 수 있다. 영역(302)의 시각적 표현은, 제1 화자에 대한 어떠한 명시적 표시도 제공되지 않더라도, 번역 애플리케이션이 제1 화자를 식별했음을 나타내는 시각적 피드백을 제1 화자에게 제공하도록 조정, 수정 또는 변경될(예컨대, UI(314)에서 크로스 해칭됨) 수 있다. 유사하게, 제2 사용자가 말하기 시작할 때, 영역(304)의 시각적 표현은 제2 화자에게 유사한 시각적 피드백을 제공하도록 조정, 수정 또는 변경될 수 있다.
[063] 유사하게, 제2 예에서, UI(316)는, 번역 애플리케이션이 버튼들(306 및 308)의 시각적 표현을 조정함으로써 화자를 자동으로 식별하도록 구성되었음을 나타낼 수 있다. UI(316)에서, 버튼들(306 및 308)은, 러한 버튼들이 더 이상 활성이 아니고 그리고/또는 입력을 수신하도록 구성된다는 것을 나타내도록 회색으로 도시된다. 예컨대, UI(312)에서 UI(316)로의 시각적 변화는 번역 애플리케이션이 자동 화자 인식 모드로 전환된다는 부가적인 시각적 단서를 제공할 수 있다.
[064] 또한, 제3 예에서, UI(318)는, 화자가 정상적으로 말할 수 있고 번역 애플리케이션이 화자를 자동으로 식별할 것이라는 것을 프롬프트들(320 및 322)을 통해 명시적으로 나타낼 수 있다. 즉, 제1 영어 화자에게 지시된 프롬프트(320)는 "자유롭게 말하시오(SPEAK FREELY). 자동 화자 검출이 활성임(AUTOMATIC SPEAKER DETECTION IS ACTIVE)"을 명시할 수 있는 반면에, 프롬프트(322)는 스페인어로 동일하게 명시할 수 있다. 즉, 제2 스페인어 화자에게 지시된 프롬프트(322)는
Figure pct00004
를 명시할 수 있다.
[065] 대안적인 실시예에서, 명시적 교대 방식의 하나 이상의 초기 라운드들은 초기 트레이닝 기간에 의해 대체되거나 보충될 수 있다. 이러한 초기 트레이닝 기간은 정상 대화 이외의 시간에 발생될 수 있다. 즉, 두 명의 화자들 각각은, 도 3c에 예시된 바와 같이, 번역 애플리케이션을 그들 개개의 음성으로 교정하기 위해 그들 개개의 언어로 몇몇의 단어들 또는 구들을 말하도록 요청받을 수 있다. 일부 구현들에서, 각각의 화자는, 이러한 단어들 또는 구들을 발음할 때 각각의 화자가 생성하는 사운드들의 범위를 최대화하기 위해 번역 애플리케이션에 의해 선택되거나 결정된 일련의 특정 단어들 또는 구들을 말하도록 요청받을 수 있다. 이러한 접근법은 초기 트레이닝/교정 기간의 지속기간을 감소시킬 수 있다.
[066] 즉, UI(324)에 도시된 바와 같이, 제1 화자에게는 "당신의 음성으로 번역기를 교정하기 위해 영어로 몇몇의 단어들 또는 구들을 말하시오(SAY A FEW WORDS OR PHRASES IN ENGLISH TO CALIBRATE THE TRANSLATOR TO YOUR VOICE)"를 명시하는 프롬프트(330)가 제공될 수 있다. 유사하게, 제2 화자에게도 동일하지만 스페인어로 요청받을 수 있다. 즉, UI(326)에 도시된 바와 같이,
Figure pct00005
를 명시하는 프롬프트(334)가 제2 화자에게 제공될 수 있다. 프롬프트(328)는 부가적으로 제1 화자에게 "지금 말하시오"라고 지시할 수 있고, 프롬프트(332)는 제2 화자에게 동일하게(즉, "HABLA AHORA") 지시할 수 있다.
[067] 따라서, 예컨대, UI(324)가 디스플레이되는 동안, 제1 화자는 UI(324)가 UI(326)로 변경될 때까지 말할 수 있으며, 이는 충분한 트레이닝 데이터가 수집되었음을 나타낸다. 유사하게, UI(326)가 디스플레이되는 동안, 제2 화자는, UI(326)가 분리 모델이 트레이닝되었음을 나타내는 후속 UI(예컨대, UI(318))로 변경될 때까지 말할 수 있고, 번역 애플리케이션은 화자를 자동으로 검출하고, 따라서 대화는 자연스럽게 진행된다. 이 경우에, UI들(324 및 326)이 디스플레이되는 동안 획득된 발화들은 버튼들(306 및 308)을 사용하여 획득된 발화들과 동일한 목적을 제공할 수 있다(즉, 두 접근법 모두는 힌트/아이덴티티 데이터를 생성함). 그러나, 특히, 버튼들(306 및 308)을 사용하는 것은, 두 명의 개인들이 대화하지 않는 명시적인 보정 기간 없이, 대화를 더 자연스럽게 시작하는 것을 허용하는 장점을 가질 수 있다.
[068] 도 3d에 예시된 추가 실시예에서, 힌트 데이터는 센서 데이터에 기반하여 획득될 수 있다. 예컨대, 화자(340)가 발화들을 생성할 때(즉, 말할 때), 컴퓨팅 디바이스(342)는, 시야(344)에 표시된 바와 같이, 화자(340)의 하나 이상의 이미지들을 캡처하기 위해 컴퓨팅 디바이스(342) 상의 하나 이상의 이미지 센서들을 사용할 수 있다. 이러한 이미지들은 가시광선 이미지들(예컨대, 전면 카메라(104) 및/또는 후면 카메라(112)에 의해 생성됨), 적외선 이미지들(예컨대, 전면 적외선 카메라(114), 제1 적외선 패턴 프로젝터(116) 및 /또는 제2 적외선 패턴 프로젝터(118)에 의해 생성됨), 또는 이들의 조합일 수 있다. 하나 이상의 이미지들은, 발화들이 얼굴(예컨대, 입) 움직임들 및/또는 하나 이상의 이미지에 표현된 화자의 아이덴티티에 매핑될 수 있도록, 캡처된 오디오 파형과 동기화될 수 있다.
[069] 따라서, 번역 애플리케이션은, 하나 이상의 이미지들에 기반하여 특정 발화와 연관된 화자를 결정할 수 있다. 휴대용 컴퓨팅 디바이스의 경우에, 화자가 활성적으로 말하고 있을 때, 휴대용 컴퓨팅 디바이스는, 도 3d에 예시된 바와 같이, 활성 화자의 얼굴의 이미지들을 캡처하도록 파지될 수 있다. 따라서, 특정 이미지가 제1 화자를 나타내는지 또는 제2 화자를 나타내는지를 결정함으로써, 번역 애플리케이션은 대응하는 발화들의 소스를 결정할 수 있다. 일부 구현들에서, 번역 애플리케이션은 부가적으로, 연속적인 이미지들이 대응하는 발화들에 대응하고 그리고/또는 일치하는 얼굴 움직임들을 나타낸다고 결정할 수 있다. 두 명의 화자들을 동시에 보기에 충분히 큰 시야를 가진 하나 이상의 카메라들을 갖는 컴퓨팅 디바이스의 경우에(예컨대, 화상 회의의 맥락에서), 소스 화자를 결정하기 위해 아이덴티티보다는 얼굴 움직임들이 사용될 수도 있다. 특히, 그럼에도 불구하고, 예컨대, 화자들이 하나 이상의 카메라들에 의해 모니터링되는 환경을 통해 이동할 때, 화자 아이덴티티가 또한 고려될 수 있다.
[070] 이러한 시각적 정보는, 분리 모델의 트레이닝을 위한 힌트 데이터로서 뿐만 아니라 분리 모델이 소스 화자를 정확하게 결정하였는지 여부를 검증하는 방법으로서 사용될 수 있다. 예컨대, 이미지 데이터를 사용할 수 있는 경우, 번역 애플리케이션은 버튼들(306 및 308) 및/또는 도 3c에 예시된 교정 프로세스를 포함하지 않을 수 있다. 대신에, 파형에서의 발화들은 이미지 데이터에 기반하여 대응하는 화자에 매핑될 수 있으며, 이로써 분리 모델을 트레이닝하는 데 사용될 수 있는 힌트 데이터를 생성할 수 있다. 일단 분리 모델이 트레이닝되면, 번역 애플리케이션은 추가 이미지 데이터에 의존하는 것을 중단할 수 있다. 대안적으로, 번역 애플리케이션은 계속해서 추가 이미지 데이터를 획득할 수 있고, 분리 모델에 의해 결정된 소스 화자가 이미지들에 표현된 화자와 매칭하는지 여부 및/또는 누군가의 얼굴 움직임이 음성을 나타내는지를 결정할 수 있다.
[071] 또한, 일부 구현들에서, 번역 애플리케이션은, 분리 모델을 트레이닝 및 업데이트하기 위해 도 3a, 3b, 3c 및 3d의 특징들의 임의의 조합을 사용할 수 있다. 일부 구현들은 또한, 화자 아이덴티티를 나타낼 수 있는 이미지 데이터 외에 추가 센서 데이터에 의존할 수 있다. 예컨대, IMU(inertial measurement unit)로부터의 관성 데이터는, 상이한 화자들 사이의 컴퓨팅 디바이스의 물리적 핸드-오프 또는 핸드-오버를 나타낼 수 있으며, 따라서 다음 발화들이 앞선 발화들을 생성한 화자와 상이한 화자가 생성할 가능성이 있음을 암시한다.
IV. 예시적인 시스템들
[072] 도 4는, 발화의 소스 화자(402)를 결정, 예측 및/또는 추정하는 데 사용되는 예시적인 분리 모델(400)을 예시한다. 분리 모델(400)은 트레이닝 오디오 파형(410) 및 아이덴티티 데이터(420)를 사용하여 소스 화자(402)를 식별하도록 트레이닝될 수 있다. 트레이닝 오디오 파형(410)은, 예컨대, 제1 및 제2 화자들이 버튼들(306 및 308)을 사용하여 대화 동안에 교대로 말하는 동안 캡처된 오디오, 초기 교정 기간 동안 캡처된 오디오, 및/또는 이미지 데이터가 소스 화자가 또한 캡처되었음을 나타내는 동안 캡처된 오디오를 나타낼 수 있다.
[073] 트레이닝 오디오 파형(410)은 발화들(412-416)(즉, 발화(412) 및 발화(414) 내지 발화(416))을 포함하는 복수의 발화들을 포함할 수 있다. 이들 발화들 각각은, 아이덴티티들(422-426)(즉, 아이덴티티(422) 및 아이덴티티(424) 내지 아이덴티티(426))을 포함할 수 있는 대응하는 아이덴티티 데이터에 매핑될 수 있다. 즉, 트레이닝 오디오 파형(410)의 부분들은 대응하는 화자와 연관될 수 있다. 아이덴티티 데이터(420)는 버튼들(306 및 308)을 사용하는 교대 방식, 초기 교정 동안 캡처된 음성, 및/또는 특정 시간에 화자를 나타내는 이미지 또는 다른 센서 데이터에 기반하여 생성될 수 있다. 각각의 발화는, 예컨대, 250 밀리초의 미리 결정된 지속기간을 가질 수 있다. 그러나, 분리 모델(400)은 부가적으로 또는 대안적으로 상이한 지속기간들을 갖는 발화들을 처리하도록 트레이닝될 수 있다.
[074] 분리 모델(400)은, 예컨대, 분리 모델이 소스 화자(402)를 정확하게 식별하는 데 있어서 적어도 임계 레벨의 정확도에 도달할 때까지, 트레이닝 오디오 파형(410) 및 아이덴티티 데이터(420)를 사용하여 트레이닝될 수 있다. 예컨대, 발화들(412-416)의 제1 부분은 분리 모델(400)을 트레이닝하는 데 사용될 수 있는 반면에, 발화들(412-416)의 제2 상이한 부분은, 트레이닝된 분리 모델(400)이 소스 화자(402)를 정확하게 결정하는지 여부를 결정하는 데 사용될 수 있다. 예컨대, 발화(414)는 분리 모델(400)을 테스팅하기 위한 입력으로서 제공될 수 있고, 결정된 소스 화자(402)는 둘이 매칭하는지 여부를 결정하기 위해 아이덴티티(426)와 비교될 수 있다. 이러한 테스팅의 적어도 임계 부분이 성공적일 때, 분리 모델(400)은 새로운 발화를 분류하는 데 사용될 수 있다(즉, 번역 애플리케이션은 힌트 데이터에 의존하지 않고서 화자를 자동으로 인식할 수 있음).
[075] 따라서, 분리 모델은 아이덴티티가 없는 오디오 파형(430)에서 발화들의 소스 화자를 결정하는 데 사용될 수 있다. 즉, 분리 모델은 아이덴티티 없는 오디오 파형(430)을 수신할 수 있고, 대응하는 소스 화자(402)를 발화들(432-436)(즉, 발화(432) 및 발화(434) 내지 발화(436)) 각각에 할당할 수 있다. 특히, 오디오 파형(430)은, 대응하는 아이덴티티 데이터와 연관되지 않기 때문에, 아이덴티티가 없고, 아이덴티티 독립적이고, 그리고/또는 아이덴티티 배타적이라고 할 수 있다. 즉, 오디오 파형(430)은, 일단 번역 애플리케이션이 각각의 발화의 소스 화자를 자동으로 결정하는 모드에 진입하면, 캡처될 수 있다.
[076] 분리 모델(400)은, 발화들(432-436)에 대해 결정된 소스 화자(402)에 기반하여, 업데이트 및 조정될 수 있다. 즉, 분리 모델(400)은, 추가 아이덴티티 데이터가 이용 가능하지 않을 때에도 비감독 방식으로 계속 적응될 수 있다. 일 구현에서, 분리 모델(400)은, 결정된 소스 화자(402)의 각각의 인스턴스에 기반하여 업데이트될 수 있다. 즉, 새로운 발화가 제1 화자, 제2 화자 또는 일부 다른 화자에 속하는 것으로 분류될 때마다, 이 분류가 정확한 것으로 가정되고, 따라서 분리 모델(400)을 업데이트하는 데 사용될 수 있다. 다른 구현에서, 분리 모델(400)은, 소스 화자(402)의 결정과 연관된 신뢰도 레벨이 임계 신뢰도 레벨을 초과할 때 업데이트될 수 있다. 예컨대, 소스 화자(402)를 예측하는 데 있어서 분리 모델(400)의 신뢰도가 85%를 초과할 때, 대응하는 발화 및 결정된 소스 화자는 추가 트레이닝 데이터로서 분리 모델(400)에 추가될 수 있다.
[077] 추가 구현에서, 트레이닝 오디오 파형(410) 및 아이덴티티 데이터(420)에 기반하여 획득된 트레이닝 데이터(즉, 감독 트레이닝 데이터)에는, 아이덴티티가 없는 오디오 파형(430)(즉, 비감독 트레이닝 데이터)에 기반하여 획득된 트레이닝 데이터와 상이한 가중치가 할당될 수 있다. 즉, 감독 트레이닝 데이터에는 비감독 트레이닝 데이터보다 높은 가중치가 할당될 수 있다. 따라서, 분리 모델(400)이 초기 감독 트레이닝 데이터 및 정확하게 분류된 대량의 비감독 트레이닝 데이터에 의해 크게 결정될 수 있기 때문에, 분리 모델(400)에 의한 임의의 오분류들은 추가 분류들의 정확도에 눈에 띄게 영향을 미치지 않을 수 있다.
V. 예시적인 분리 모델 트레이닝 및 적응
[078] 도 5a, 5b 및 5c는 분리 모델(400)의 예시적인 파형 프로세싱 파이프라인을 예시한다. 구체적으로, 분리 모델은 파형 임베딩 모델(500) 및 벡터 분류 모델(520)을 포함할 수 있다. 파형 임베딩 모델(500)은, 오디오 파형을 구성하는 (그리고 파형 공간을 정의한다고 말할 수 있는) 샘플들의 N차원 벡터 공간으로의 수학적 변환을 정의한다. 따라서, 파형 임베딩 모델(500)은, 오디오 파형(502)에 기반하여 임베딩 벡터(504)를 생성하도록 구성될 수 있다. 오디오 파형(502)은, 미리 결정된 지속기간 및/또는 미리 결정된 수의 샘플들을 갖는 단일 발화를 나타낼 수 있다. 임베딩 벡터(504)는 N차원 벡터 공간에서 오디오 파형(502)을 나타내는 복수의 값들 X1-XN(즉, X1, X2, X3, X4, X5, X6, X7, X8, X9, 및 X10 내지 XN)을 포함할 수 있다.
[079] 파형 임베딩 모델(500)은 프로세서(예컨대, 프로세서(206))에 의해 실행 가능한 소프트웨어 명령들로서, 프로그래밍 가능한 회로부(예컨대, FPGA(field-programmable gate array))로서, 특수 제작된 회로부(예컨대, ASIC)로서 또는 이들의 조합으로서 구현될 수 있다. 파형 임베딩 모델(500)은, 복수의 샘플 화자들에 의한 복수의 샘플 발화들을 나타내는 복수의 샘플 파형들에 기초한 트레이닝을 통해 경험적으로(empirically) 정의될 수 있다. 즉, 파형 임베딩 모델(500)의 파라미터들은, 프로그래머에 의해 미리 결정되기 보다는, 컴퓨팅 디바이스에 의해 학습될 수 있다. 파형 임베딩 모델은 ANN(artificial neural network)(예컨대, 심층 ANN)을 포함하고 그리고/또는 이로 구성될 수 있다.
[080] 특히, 파형 임베딩 모델(500)은, 유사하게 들리는 두 명의 화자들의 음성들의 개개의 임베딩 벡터들이 N차원 벡터 공간에서 서로 가까운 반면에 크게 상이하게 들리는 두 명의 화자들의 음성들의 개개의 임베딩 벡터들은 N차원 벡터 공간에서 멀리 떨어져 있도록 손실 함수(loss function)를 사용하여 트레이닝될 수 있다. 예컨대, 손실 함수는, 동일한 레이블을 갖는 가청 음성 특징들(예컨대, 화자 연령, 화자 성별, 화자 음성 범위, 화자 음성 음색(timbre) 등)이 함께 그룹화되게 하고 상이한 레이블들을 갖는 가청 음성 특징들이 벡터 공간에서 분리되게 할 수 있다. 파형 임베딩 모델(500)은, 번역 애플리케이션의 일부로서 사용되기 전에(예컨대, 번역 애플리케이션이 음성을 번역하는 데 사용되기 전에) 트레이닝될 수 있지만, 주기적으로 업데이트될 수 있다. 대조적으로, 설명될 바와 같이, 벡터 분류 모델(520)은, 번역 애플리케이션이 음성을 번역하는 데 사용되는 동안 트레이닝될 수 있다.
[081] 임베딩 벡터(504)의 값들 X1 ― XN은, 오디오 파형(502)과 연관된 물리적 특성들 또는 특징들을 나타낼 수 있다. 따라서, 값들 X1 ― XN은 2개의 상이한 발화들의 특성들 또는 특징들의 유사성을 결정하는 데 사용될 수 있다. 즉, 2개의 상이한 발화들의 N차원 공간에서 대응하는 임베딩 벡터들 사이의 거리는 2개의 상이한 발화들 사이의 유사성을 나타낼 수 있다. 예컨대, 거리가 작을 때, 2개의 발화들의 물리적 특성들은, 거리가 멀 때보다 더 유사할 수 있다. 벡터들의 값들의 서브세트는 2개의 상이한 발화들의 물리적 특성들 사이의 유사성 정도를 예시하기 위해 그래프로 표시될 수 있다. 이를 위해, 도 5a는 수평 및 수직 축을 따라 각각 플로팅된 임베딩 벡터(504)의 제1 차원(DIM1)의 값 X1 및 임베딩 벡터(504)의 제2 차원(DIM2)의 X2의 그래프(506)를 예시한다. 그래프(506)는 예시의 목적들로 생성된 임베딩 벡터(504)의 차원 축소 버전일 수 있는 반면에, 임베딩 벡터(504) 전체는 다른 목적을 위해 사용될 수 있다.
[082] 임베딩 벡터(504)의 그래픽 표현(508)의 임계치(510) 내에 속하는 다른 벡터들은, 유사한 물리적 특성들 또는 특징들을 갖는 발화들의 오디오 파형들을 나타낸다는 점에서 유사한 것으로 간주될 수 있다. 특히, 그래프(506)가 예시의 단순성을 위해 2개의 차원들만을 도시하지만, 본원에서 논의된 개념들은 N차원들로 확장될 수 있다. 예컨대, 3개의 차원들의 경우에, 임계치(510)는 원이 아닌 구(sphere)로서 그래픽으로 표현될 수 있다. 일 예에서, 2개의 벡터들 사이의 거리는 유클리드 거리(Euclidean distance)일 수 있다. 즉, 값들(X11 내지 X1N)을 갖는 제1 벡터(X1) 및 값들(X21 내지 X2N)을 갖는 제2 벡터(X2)에 대해, 거리(d)는
Figure pct00006
로서 정의될 수 있다. 다른 예에서, 2개의 벡터들 사이의 거리는 코사인 거리 또는 거리의 다른 측정일 수 있다. 따라서, 유사한 물리적 특성들을 갖는 발화들은, 파형 임베딩 모델(500)에 의해 정의된 N차원 공간에 임베딩될 때, 서로의 임계 거리 내에 속하는 파형들을 생성할 수 있다.
[083] 일부 경우들에서, 값들(X1 ― XN) 중 일부는 사람이 해석 가능할 수 있다. 즉, 값들 중 일부는, 오디오 파형(502)으로 표현되는 발화의 물리적 특성들의 명시적 메트릭들을 제공할 수 있다. 다른 경우들에, 값들(X1 ― XN)은 인간이 해석 가능하지 않을 수 있지만, 그럼에도 불구하고, 예컨대, 벡터 분류 모델(520)에 의해 해석 가능하고 발화의 화자를 결정하는 데 사용될 수 있다. 따라서, 값들(X1 ― XN)이 그 자체로 인간이 해석할 수 없지만, 값들(X1 ― XN)은 인간이 해석할 수 있는 출력들을 생성하기 위해 추가 모델들 및/또는 알고리즘들에 의해 결합, 변환 및/또는 그렇지 않다면 프로세싱될 수 있다.
[084] 도 5b 및 5c는 분리 모델(400)의 예시적인 트레이닝 프로세스를 예시한다. 즉, 트레이닝 오디오 파형(410) 및 아이덴티티 데이터(420)는 파형 임베딩 모델(500)에 대한 입력으로서 제공될 수 있다. 트레이닝 오디오 파형은 제1 화자에 의한 제1 복수의 발화들 및 제2 화자에 의한 제2 복수의 발화들을 포함할 수 있으며, 이들 각각은 아이덴티티 데이터(420)에 의해 지정, 표시 또는 달리 레이블링될 수 있다. 제1 복수의 발화들에 기반하여, 파형 임베딩 모델(500)은 제1 화자에 대한 제1 복수의 임베딩 벡터들(512) 및 제2 화자의 제2 복수의 임베딩 벡터들(514)을 생성하도록 구성될 수 있다. 상이한 화자들의 임베딩들이 벡터 공간에서 공간적으로 분리될 수 있음을 예시하기 위해, 임베딩 벡터들(512)이 그래프(516)에 도시되고, 임베딩 벡터들이 그래프(518)에 도시된다. 특히, 그래프들(516 및 518)은 예시의 명확성을 위해 개개의 임베딩 벡터들의 2개의 차원들을 예시한다. 임베딩 벡터들(512 및 514)은, 그래프들(516 및 518)에 도시되지 않았지만 화자 분리에 사용될 수 있는 복수의 추가적인 차원들을 포함할 수 있다.
[085] 파형 임베딩 모델(500)에 의해 생성된 임베딩 벡터들(512) 및 임베딩 벡터들(514)은 벡터 분류 모델(520)에 대한 입력으로서 제공될 수 있다. 도 5b에 예시된 바와 같이, 벡터 분류 모델은, 다른 유사한 가능한 머신 학습 모델들 중에서, k-최근접 이웃 모델(524), 최근접 중심 모델(526), 및/또는 가우시안 나이브 베이즈 모델(528) 중 하나 이상을 포함할 수 있다. 모델들(524, 526 및 528) 각각은 하나 이상의 카테고리들(예컨대, 제1 화자 대 제2 화자) 중에서 벡터를 분류하도록 구성될 수 있다. 도 5c는 또한 단일 그래프(522)로 결합된 그래프들(516 및 518)의 임베딩 벡터들을 예시한다. 특히, 임베딩 벡터들(512) 및 임베딩 벡터들(514) 각각은 별개의 포인트들의 클러스터를 형성하고, 따라서 어느 한 클러스터에 대한 근접성에 기반하여 추가 임베딩 벡터들의 분류를 허용한다.
[086] 트레이닝 분리 모델(400)은 k-최근접 이웃 모델(524), 최근접 중심 모델(526), 및/또는 가우시안 나이브 베이즈 모델(528) 중 하나 이상을 트레이닝하는 것을 수반할 수 있다. k-최근접 이웃 모델(524)을 트레이닝하는 것은 파형 임베딩 모델(500)을 통해 임베딩 벡터들(512 및 514)을 컴퓨팅하는 것을 수반할 수 있다. 다시 말해서, 이러한 타입의 모델의 특성들의 결과로서, 트레이닝은, 이러한 임베딩들의 임의의 추가 변환 없이, 단순히 제1 복수의 발화들 및 제2 복수의 발화들의 임베딩들을 결정하는 것을 수반할 수 있다. 따라서, k-최근접 이웃 모델(524)의 그래프(530) 및 그래프(522)는 동일하다. 미분류 발화에 대응하는 임베딩 벡터는, 이러한 임베딩 벡터에 가장 가까운 그래프(530) 내의 k(예컨대, 3)개의 포인트들에 기반하여 제1 화자 또는 제2 화자 중 어느 하나에 속하는 것으로 분류될 수 있다.
[087] 반면에, 최근접 중심 모델(526)을 트레이닝하는 것은 임베딩 벡터들(512) 및 임베딩 벡터들(514)의 중심들을 결정하는 것을 수반할 수 있다. 그래프(532)는 임베딩 벡터들(512)의 제1 중심(흑색) 및 임베딩 벡터들(514)의 제2 중심(크로스-해칭됨)을 예시한다. 각각의 중심은 자신의 개개의 세트의 임베딩 벡터들의 공간 평균을 나타낼 수 있다. 임베딩 벡터들에 가중치들이 할당될 때, 이러한 가중치들에 따라 공간 평균이 가중될 수 있다. 미분류 발화에 대응하는 임베딩 벡터는, 임베딩 벡터가 제1 중심 또는 제2 중심 중 어느 하나에 더 가까운 것에 기반하여, 제1 화자 또는 제2 화자 중 어느 하나에 속하는 것으로 분류될 수 있다.
[088] 또한, 가우시안 나이브 베이즈 모델(528)을 트레이닝하는 것은 임베딩 벡터들(512) 및 임베딩 벡터들(514)의 산술 평균들(즉, 평균들) 및 표준 편차들을 결정하는 것을 수반할 수 있다. 따라서, 개개의 가우시안(즉, 정규 분포)은 자신의 각각의 차원에 대해 임베딩 벡터들(512)에 피팅될(fitted) 수 있고, 개개의 가우시안은 자신의 각각의 차원에 대해 임베딩 벡터들(514)에 피팅될 수 있다. 그래프(534)는 제1 차원에 대한 임베딩 벡터들(512)의 제1 가우시안(540) 및 제2 차원에 대한 임베딩 벡터들(512)의 제2 가우시안(542)을 예시한다. 유사하게, 그래프(534)는 또한 자신의 제1 차원에 대한 임베딩 벡터들(514)의 제1 가우시안(546) 및 제2 차원에 대한 임베딩 벡터들(514)의 제2 가우시안(544)을 예시한다. 가우시안들(540, 542, 544, 및 546) 각각은 대응하는 산술 평균 및 표준 편차와 연관될 수 있다.
[089] 미분류 발화에 대응하는 임베딩 벡터는, 임베딩 벡터가 제1 화자의 가우시안들(예컨대, 540 및 542) 또는 제2 화자의 가우시안들(예컨대, 544 및 546) 중 어느 하나에 속할 가능성이 더 높은 것에 기반하여, 제1 화자 또는 제2 화자 중 어느 하나에 속하는 것으로 분류될 수 있다. 구체적으로, 이 가능성은, 개개의 가우시안들에 의해 표시된 확률들과 결합하여 베이즈 규칙/정리를 적용함으로써 컴퓨팅될 수 있다. 즉, 베이즈 규칙에 따라, 임베딩 벡터(E)가 관찰된 경우, 화자가 제1 화자(S1)일 확률은
Figure pct00007
이고, 임베딩 벡터(E)가 관찰된 경우, 화자가 제2 화자(S2)일 확률은
Figure pct00008
이다.
[090] 일단 트레이닝되면, 분리 모델(400)은 새로운 발화들의 화자를 식별하는 데 사용될 수 있다. 도 6a 및 6b는, 예컨대, 아이덴티티가 없는 오디오 파형(430)의 발화(432)에 대해 동작하는 트레이닝된 분리 모델(400)을 예시한다. 발화(432)는 그래프(600)로 예시된다. 발화(432)는 파형 임베딩 모델(500)에 대한 입력으로서 제공되며, 파형 임베딩 모델은 이에 기반하여 임베딩 벡터(602)를 생성한다. 임베딩 벡터(602)의 2개의 차원들의 값들은 그래프(604)에 도시된다.
[091] 그런 다음, 임베딩 벡터(602)는, 소스 화자 신뢰도 메트릭(606)을 결정하기 위해 임베딩 벡터(602)와 모델들(524, 526, 및/또는 528) 중 하나 이상을 비교할 수 있는 벡터 분류 모델(520)에 대한 입력으로서 제공된다. 예컨대, 그래프(530)는 임베딩 벡터들(512)(흑색 도트들) 및 임베딩 벡터들(514)(크로스-해칭된 도트들)과 함께 그래프로 표시된 임베딩 벡터(602)(백색 도트)를 예시한다. 임베딩 벡터(602)의 3개의 최근접 이웃들은 흑색 도트들이다. 따라서, 임베딩 벡터(602)는, 흑색 도트들의 클러스터에 속하고 따라서 제1 화자의 음성을 나타내는 것으로 분류될 수 있다. k-최근접 이웃 모델(524)의 경우에, 미분류 임베딩 벡터는, 대다수의 k-최근접 다른 임베딩 벡터들의 부류에 기반하여 분류될 수 있다. 소스 화자 신뢰도 메트릭(606)은 대다수를 구성하는 임베딩 벡터의 수를 k로 나눈 것과 동일할 수 있다. 따라서, 예컨대, 4개의 흑색 도트들 및 하나의 백색 도트가 임베딩 벡터(602)에 가장 가까운 벡터들인 경우, 신뢰도 메트릭(606)은 4/5와 동일할 것이다. 특히, 일부 경우들에서, 신뢰도 메트릭(606)의 컴퓨테이션은 각각의 임베딩 벡터와 연관된 가중치 및/또는 임베딩 벡터(602)와 k개의 최근접 벡터들 각각 사이의 거리를 고려할 수 있다.
[092] 최근접 중심 모델(526)의 그래프가 도시되지 않았지만, 임베딩 벡터(602)는 그래프(532)에 도시된 2개의 중심들에 대해 유사하게 그래프로 표시될 수 있다. 임베딩 벡터(602)는, 다른 것보다 2개의 중심들 중 하나에 더 가까운 것에 기반하여 분류될 수 있다. 예컨대, 그래프(604)에 도시된 바와 같이 임베딩 벡터(602)는 제2 크로스 해칭된 중심보다 그래프(532)에 도시된 제1 흑색 중심에 더 가깝다. 따라서, 임베딩 벡터(602)는 제1 화자의 음성을 나타내는 것으로 분류될 것이다. 변수 C로 표현되는 신뢰도 메트릭(606)은
Figure pct00009
에 따라 컴퓨팅될 수 있으며, 여기서 D1은 임베딩 벡터(602)와 제1 중심(또는 이 거리의 일부 삼각 성분(trigonometric component)) 사이의 거리를 나타내고 D2는 임베딩 벡터(602)와 제2 중심(또는 이 거리의 일부 삼각 성분) 사이의 거리를 나타낸다.
[093] 또한, 그래프(534)는 가우시안 나이브 베이즈 모델(528)의 가우시안들(540, 542, 544 및 546)과 함께 그래프로 표시된 임베딩 벡터(602)(백색 도트)를 예시한다. 위에서 논의된 바와 같이, 임베딩 벡터(602)는, 임베딩 벡터(602)가 제1 화자의 가우시안들(예컨대, 540 및 542) 또는 제2 화자의 가우시안들(예컨대, 544 및 546)의 일부로서 관찰될 가능성에 기반하여, 제1 화자 또는 제2 화자 중 어느 하나에 속하는 것으로 분류될 수 있다. 이 경우에, 신뢰도 메트릭(606)은 (i) 임베딩 벡터(602)가 제1 화자의 가우시안들의 부분으로서 관찰될 확률, 또는 (ii) 임베딩 벡터(602)가 제2 화자의 가우시안들의 부분으로서 관찰될 확률 중 더 큰 확률일 수 있다.
[094] 일부 구현들에서, 벡터 분류 모델(520)에 의해 결정된 화자는, 소스 화자 신뢰도 메트릭(606)이 임계 신뢰도 값(예컨대, 75%)을 초과할 때, 소스 화자(402)로서 분리 모델(400)에 의해 출력될 수 있다. 신뢰도 메트릭(606)이 임계 신뢰도 값 미만일 때, 분리 모델(400)은, 소스 화자(402)가 충분한 정확도로 결정될 수 없다는 것을 나타낼 수 있다.
[095] 또한, 일단 분리 모델(400)이 임베딩 벡터(602)의 소스 화자를 결정하면, 분리 모델(400)은 이 정보를 사용하여 업데이트될 수 있다. 즉, 임베딩 벡터(602)는 모델들(524, 526 및/또는 528) 중 하나 이상에 추가될 수 있고, 이들은 그래프(530-534)에서 임베딩 벡터(602)를 나타내는 흰색 도트를 흑색으로 바꾸고, 중심들의 위치들을 조정하고, 그리고/또는 가우시안들(540, 542, 544 및/또는 546)의 크기들을 조정함으로써 시각적으로 표현될 수 있다. 구현에 따라, 임베딩 벡터(602)는, 신뢰도 메트릭(606)이 일정 임계값 레벨을 초과할 때, 벡터(602)의 분류가 (예컨대, 캡처된 이미지 프레임들에 기반하여) 외부적으로 검증 가능할 때, 아이덴티티 데이터와 연관된 다른 벡터들과 상이한 가중치를 임베딩 벡터(602)에 할당함으로써, 그리고/또는 임의의 신뢰도 및/또는 가중치에 대해 무차별적으로, 벡터 분류 모델(520)을 업데이트하는 데 사용될 수 있다.
[096] 특히, 분리 모델은 대화별로 결정될 수 있다. 즉, 두 명의 사용자들이 대화를 할 때마다, 새로운 분리 모델이 생성, 트레이닝, 사용 및 업데이트될 수 있다. 또한, 분리 모델은, 번역 애플리케이션을 실행하는 컴퓨팅 디바이스에 의해 생성, 실행되고, 이에 저장될 수 있다. 따라서, 특정 사용자에 특정된 분리 모델의 양상들은 다른 컴퓨팅 디바이스들과 공유되지 않을 수 있다. 부가적으로, 예컨대, 클라우드 기반 플랫폼이 아닌 로컬적으로 분리 모델을 실행함으로써, 이러한 플랫폼에 의해 사용되는 프로세싱 능력, 전력 및 네트워크 대역폭의 양이 감소될 수 있다. 또한, 분리 모델은, 네트워크 연결들의 속도에 의존하지 않기 때문에, 레이턴시가 거의 또는 전혀 없이 동작할 수 있다.
[097] 일부 구현들에서, 일단 대화가 종료되면, 분리 모델이 폐기될 수 있다. 따라서, 화자의 음성의 특징들을 나타내는 정보는 단일 대화의 지속기간보다 오래 저장되지 않을 수 있다. 다른 구현들에서, 번역 애플리케이션이 실행되는 컴퓨팅 디바이스의 소유자와 연관된 분리 모델의 일부는 추가 대화들에서 사용되도록 저장되어, 재생성될 필요가 없을 수 있다. 화자는 이러한 모델 저장소를 선택 및/또는 선택 해제할 수 있다. 따라서, 분리 모델이 생성, 유지 및/또는 폐기되는 방식은 화자 특정 데이터의 프라이버시에 기여한다.
[098] 부가적으로, 분리 모델(400)이 본원에서 번역 애플리케이션의 맥락에서 논의되었지만, 분리 모델(400) 및 본원에 개시된 다른 기법들은 복수의 다른 애플리케이션들에 적용될 수 있다. 예컨대, 분리 모델 및 대응하는 UI들은 음성 전사 애플리케이션의 일부로서 구현될 수 있다. 즉, 동일한 언어로 대화하는 둘 이상의 사용자들은 초기에, 어떤 사용자가 말하는지를 UI들을 통해 나타내어 교대할 수 있다. 발화들을 번역하는 대신에, 전사 애플리케이션은 누가 무엇을 말했는지 나타내는 대화의 텍스트 표현을 생성할 수 있다. 다른 예에서, 카메라 애플리케이션은, 3명 이상의 화자들을 수반하는 화상 회의의 일부로서 활성 화자에게 초점을 맞추도록 이동식 카메라를 제어하도록 구성될 수 있다. 카메라가 가능한 화자들 각각을 동시에 볼 수 없기 때문에, 특정 화자가 현재 말하고 있다고 결정하는 것에 대한 응답으로, 카메라가 특정 화자의 마지막으로 알려진 위치로 회전될 수 있다. 분리를 활용하거나 이에 의존하는 다른 구현들이 가능하다.
[099] 또한, 번역 애플리케이션이 단일 컴퓨팅 디바이스에 의해 실행되는 것으로 설명되지만, 일부 실시예들에서, 2개의 상이한 컴퓨팅 디바이스에서 실행되는 번역 애플리케이션의 2개의 상이한 인스턴스들은 유사한 번역 경험을 제공하기 위해 서로 조정될 수 있다. 디바이스들은 무선으로 통신하고, 따라서 각각의 화자가 그들 자신의 디바이스를 사용하여 다른 화자와 대화하는 것을 허용할 수 있다.
VI. 부가적인 예시적인 동작들
[100] 도 7은 특정 시간에 말하는 화자를 결정하는 것과 관련된 동작들의 흐름도를 예시한다. 동작들은, 다른 가능성들 중에서, 컴퓨팅 시스템(100), 컴퓨팅 디바이스(200), 및/또는 컴퓨팅 디바이스(342)에 의해 수행될 수 있다. 그러나, 프로세스는 다른 타입들의 디바이스들 또는 디바이스 서브시스템들에 의해 수행될 수 있다. 예컨대, 프로세스는 랩톱 또는 태블릿 디바이스와 같은 휴대용 컴퓨터에 의해 수행될 수 있다.
[101] 도 7의 실시예들은 도면에 도시된 특징들 중 임의의 하나 이상의 특징을 제거함으로써 단순화될 수 있다. 또한, 이들 실시예들은 이전 도면들 중 임의의 것의 또는 그렇지 않은 경우 본원에 설명된 특징들, 양상들 및/또는 구현들과 결합될 수 있다.
[102] 블록(700)은, 컴퓨팅 디바이스에 의해, 초기 시간 윈도우 동안 캡처되고 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 수신하는 것을 수반할 수 있다.
[103] 블록(702)은, 컴퓨팅 디바이스에 의해, (i) 제1 발화가 제1 화자에 대응하고, 그리고 (ii) 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하는 것을 수반할 수 있다.
[104] 블록(704)은, 컴퓨팅 디바이스에 의해, 그리고 제1 발화, 제2 발화, 및 제1 타입의 아이덴티티 데이터에 기반하여, 제1 화자에 의한 발화와 제2 화자에 의한 발화를 구별하도록 구성된 분리 모델을 결정하는 것을 수반할 수 있다.
[105] 블록(706)은, 컴퓨팅 디바이스에 의해, 그리고 제3 발화의 소스 화자를 나타내는 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서, 후속 시간 윈도우 동안 캡처되고 제3 발화를 나타내는 제2 오디오 파형을 수신하는 것을 수반할 수 있다.
[106] 블록(708)은, 컴퓨팅 디바이스에 의해, 분리 모델을 통해 그리고 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 제3 발화의 소스 화자를 결정하는 것을 수반할 수 있다. 소스 화자는 제1 화자 또는 제2 화자인 것으로 결정될 수 있다.
[107] 블록(710)은, 컴퓨팅 디바이스에 의해, 제3 발화 및 결정된 소스 화자에 기반하여 분리 모델을 업데이트하는 것을 수반할 수 있다.
[108] 일부 실시예들에서, 컴퓨팅 디바이스는, 컴퓨팅 디바이스의 사용자 인터페이스를 통해, 그리고 아이덴티티 데이터 및 제1 오디오 파형을 수신하기 전에, 아이덴티티 데이터의 입력을 위한 시각적 프롬프트를 디스플레이하도록 구성될 수 있다.
[109] 일부 실시예들에서, 제2 오디오 파형은, 추가 아이덴티티 데이터를 위한 시각적 프롬프트를 디스플레이하지 않고서, 수신될 수 있다.
[110] 일부 실시예들에서, 제1 오디오 파형은 제1 화자에 의한 제1 복수의 발화들 및 제2 화자에 의한 제2 복수의 발화들을 나타낼 수 있다. 컴퓨팅 디바이스는, 제1 복수의 발화들과 제2 복수의 발화들을 구별할 때, 분리 모델의 정확도를 결정하도록 구성될 수 있다. 컴퓨팅 디바이스는 또한, 정확도가 임계 정확도를 초과한다고 결정하고, 그리고 정확도가 임계 정확도를 초과한다는 결정에 기반하여, 사용자 인터페이스로부터 시각적 프롬프트를 제거하도록 사용자 인터페이스를 수정하도록 구성될 수 있다.
[111] 일부 실시예들에서, 시각적 프롬프트는, (i) 제1 화자가 초기 시간 윈도우 동안 적어도 제1 시간 기간 동안 말해야 하고, 그리고 (ii) 제2 화자가 초기 시간 윈도우 동안 적어도 제2 시간 기간 동안 말해야 한다는 것을 나타내는 명령들을 포함할 수 있다. 제1 시간 기간 및 제2 시간 기간은 상호 배타적일 수 있다. 아이덴티티 데이터를 수신하는 단계는, 제1 시간 기간 동안 제1 발화를 나타내는 제1 오디오 파형의 제1 부분을 캡처하는 단계, 및 제2 시간 기간 동안 제2 발화를 나타내는 제1 오디오 파형의 제2 부분을 캡처하는 단계를 포함할 수 있다.
[112] 일부 실시예들에서, 아이덴티티 데이터를 수신하는 단계는, 제1 오디오 파형과 별개인 제1 사용자 입력을, 컴퓨팅 디바이스에서, 검출하는 단계를 더 포함할 수 있다. 컴퓨팅 디바이스는, 제1 사용자 입력을 검출하는 것에 대한 응답으로, 제1 발화를 나타내는 제1 오디오 파형의 제1 부분을 캡처하기 시작하도록 구성될 수 있다.
[113] 일부 실시예들에서, 아이덴티티 데이터를 수신하는 단계는, 제1 오디오 파형과 별개인 제2 사용자 입력을, 컴퓨팅 디바이스에서, 검출하는 단계를 더 포함할 수 있다. 컴퓨팅 디바이스는, 제2 사용자 입력을 검출하는 것에 대한 응답으로, 제2 발화를 나타내는 제1 오디오 파형의 제2 부분을 캡처하기 시작하도록 구성될 수 있다.
[114] 일부 실시예들에서, 아이덴티티 데이터를 수신하는 단계는, 컴퓨팅 디바이스의 사용자 인터페이스를 통해, 제1 화자에 대응하는 제1 버튼의 선택을 수신하는 단계를 포함할 수 있다. 제1 발화를 나타내는 제1 오디오 파형의 제1 부분은, 제1 버튼의 선택에 대한 응답으로 캡처될 수 있다. 아이덴티티 데이터를 수신하는 단계는 또한, 사용자 인터페이스를 통해, 제2 화자에 대응하는 제2 버튼의 선택을 수신하는 단계를 포함할 수 있다. 제2 발화를 나타내는 제1 오디오 파형의 제2 부분은, 제2 버튼의 선택에 대한 응답으로 캡처될 수 있다.
[115] 일부 실시예들에서, 아이덴티티 데이터를 수신하는 단계는, 제1 발화를 말하는 제1 화자를 나타내는 제1 이미지 프레임들을 카메라 디바이스로부터 수신하는 단계를 포함할 수 있다. 제1 발화를 나타내는 제1 오디오 파형의 제1 부분은, 제1 발화를 말하는 제1 화자를 나타내는 제1 이미지 프레임들에 기반하여 제1 화자와 연관될 수 있다. 아이덴티티 데이터를 수신하는 단계는 또한, 제2 발화를 말하는 제2 화자를 나타내는 제2 이미지 프레임들을 카메라 디바이스로부터 수신하는 단계를 포함할 수 있다. 제2 발화를 나타내는 제1 오디오 파형의 제2 부분은, 제2 발화를 말하는 제2 화자를 나타내는 제2 이미지 프레임들에 기반하여 제2 화자와 연관될 수 있다.
[116] 일부 실시예들에서, 분리 모델은, (i) 파형의 일부를 입력으로서 수신하고, 그리고 (ii) 파형의 일부의 특징들을 나타내는 복수의 값들을 포함하는 임베딩 벡터를 생성하도록 구성된 파형 임베딩 모델을 포함할 수 있다. 분리 모델은 또한, (i) 임베딩 벡터에 기반한 최근접 중심 모델, (ii) 임베딩 벡터에 기반한 k-최근접 이웃 모델, 또는 (iii) 임베딩 벡터에 기반한 가우시안 나이브 베이즈 모델 중 하나 이상을 포함하는 벡터 분류 모델을 포함할 수 있다.
[117] 일부 실시예들에서, 벡터 분류 모델은 최근접 중심 모델을 포함할 수 있다. 분리 모델을 결정하는 단계는, 파형 임베딩 모델을 통해, 제1 발화를 나타내는 제1 오디오 파형의 개개의 제1 부분들에 대응하는 제1 복수의 임베딩 벡터들을 생성하는 단계를 포함할 수 있다. 분리 모델을 결정하는 단계는 또한, 파형 임베딩 모델을 통해, 제2 발화를 나타내는 제1 오디오 파형의 개개의 제2 부분들에 대응하는 제2 복수의 임베딩 벡터들을 생성하는 단계를 포함할 수 있다. 분리 모델을 결정하는 단계는, (i) 제1 복수의 임베딩 벡터들에 기반하여 제1 중심 및 (ii) 제2 복수의 임베딩 벡터들에 기반하여 제2 중심을 결정하는 단계를 더 포함할 수 있다.
[118] 일부 실시예들에서, 제3 발화의 소스 화자를 결정하는 단계는, 파형 임베딩 모델을 통해, 제3 발화를 나타내는 제2 오디오 파형의 제3 부분에 대응하는 제3 임베딩 벡터를 생성하는 단계를 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는 또한, (i) 제3 임베딩 벡터와 제1 중심 사이의 제1 거리 및 (ii) 제3 임베딩 벡터와 제2 중심 사이의 제2 거리를 결정하는 단계를 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는, 제1 거리가 제2 거리보다 작다고 결정하는 단계, 및 제1 거리가 제2 거리보다 작다고 결정하는 것에 기반하여, 제1 화자가 제3 발화의 소스 화자라고 결정하는 단계를 더 포함할 수 있다.
[119] 일부 실시예들에서, 벡터 분류 모델은 가우시안 나이브 베이즈 모델을 포함할 수 있다. 분리 모델을 결정하는 단계는, 파형 임베딩 모델을 통해, 제1 발화를 나타내는 제1 오디오 파형의 개개의 제1 부분들에 대응하는 제1 복수의 임베딩 벡터들을 생성하는 단계를 포함할 수 있다. 분리 모델을 결정하는 단계는 또한, 파형 임베딩 모델을 통해, 제2 발화를 나타내는 제1 오디오 파형의 개개의 제2 부분들에 대응하는 제2 복수의 임베딩 벡터들을 생성하는 단계를 포함할 수 있다. 분류 모델을 결정하는 단계는 (i) 제1 복수의 임베딩 벡터들에 기반하여 제1 산술 평균 및 제1 표준 편차, 및 (ii) 제2 복수의 임베딩 벡터들에 기반하여 제2 산술 평균 및 제2 표준 편차를 결정하는 단계를 더 포함할 수 있다.
[120] 일부 실시예들에서, 제3 발화의 소스 화자를 결정하는 단계는, 파형 임베딩 모델을 통해, 제3 발화를 나타내는 제2 오디오 파형의 제3 부분에 대응하는 제3 임베딩 벡터를 생성하는 단계를 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는 또한, (i) 제1 산술 평균 및 제1 표준 편차에 기반하여, 제3 임베딩 벡터가 제1 복수의 임베딩 벡터들에 속할 제1 확률, 및 (ii) 제2 산술 평균 및 제2 표준 편차에 기반하여, 제3 임베딩 벡터가 제2 복수의 임베딩 벡터들에 속할 제2 확률을 결정하는 단계를 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는, 제1 확률이 제2 확률보다 높다고 결정하는 단계, 및 제1 확률이 제2 확률보다 높다고 결정하는 것에 기반하여, 제1 화자가 제3 발화의 소스 화자라고 결정하는 단계를 더 포함할 수 있다.
[121] 일부 실시예들에서 분리 모델을 결정하는 단계는, (i) 파형 임베딩 모델을 통해, 제1 발화를 나타내는 제1 오디오 파형의 개개의 제1 부분들에 대응하는 제1 복수의 임베딩 벡터들을 생성하는 단계, 및 (ii) 파형 임베딩 모델을 통해, 제2 발화를 나타내는 제1 오디오 파형의 개개의 제2 부분들에 대응하는 제2 복수의 임베딩 벡터들을 생성하는 단계를 포함할 수 있다. 벡터 분류 모델은 k-최근접 이웃 모델을 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는, 파형 임베딩 모델을 통해, 제3 발화를 나타내는 제2 오디오 파형의 제3 부분에 대응하는 제3 임베딩 벡터를 생성하는 단계를 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는 또한 제3 임베딩 벡터에 가장 가까운 k개의 포인트들을 결정하는 단계를 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는 부가적으로, k개의 포인트들의 각각의 개개의 포인트에 대해, 개개의 포인트가 제1 복수의 임베딩 벡터들에 속하는지 또는 제2 복수의 임베딩 벡터들에 속하는지를 결정하는 단계를 포함할 수 있다. 제3 발화의 소스 화자를 결정하는 단계는, 각각의 개개의 포인트가 제1 복수의 임베딩 벡터들에 속하는 것 또는 제2 복수의 임베딩 벡터들에 속하는 것에 기반하여, 소스 화자를 결정하는 단계를 더 포함할 수 있다.
[122] 일부 실시예들에서, 분류 모델을 업데이트하는 단계는, 제3 발화의 제3 복수의 임베딩들을 결정하는 단계, 및 제3 복수의 임베딩들의 적어도 일부를 내부에 포함하도록 벡터 분류 모델을 업데이트하는 단계를 포함할 수 있다.
[123] 일부 실시예들에서, 분류 모델을 업데이트하는 단계는 제3 발화의 소스 화자를 결정할 때, 분리 모델의 신뢰도를 결정하는 단계, 신뢰도가 임계 신뢰도를 초과한다고 결정하는 단계, 및 신뢰도가 임계 신뢰도를 초과한다는 결정에 기반하여, 분리 모델을 업데이트하는 단계를 포함할 수 있다.
[124] 일부 실시예들에서, 분리 모델을 형성하는 각각의 발화에는 모델 내의 대응하는 가중치가 할당될 수 있다. 분리 모델을 업데이트하는 단계는 (i) 제1 발화에 할당된 제1 가중치 또는 (ii) 제2 발화에 할당된 제2 가중치 중 적어도 하나보다 낮은 제3 가중치를 제3 발화에 할당하는 단계를 포함할 수 있다.
[125] 일부 실시예들에서, 컴퓨팅 디바이스는 (i) 제1 발화가 제1 화자에 대응한다는 것, 및 (ii) 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제2 타입의 아이덴티티 데이터를 수신하도록 구성될 수 있다. 컴퓨팅 디바이스는 또한, 제3 발화의 소스 화자를 나타내는 제2 타입의 추가 아이덴티티 데이터를 수신하도록 구성될 수 있다. 컴퓨팅 디바이스는, 제2 타입의 추가 아이덴티티 데이터에 기반하여, 분리 모델을 통해 소스 화자의 결정을 검증하도록 추가로 구성될 수 있다.
[126] 일부 실시예들에서, 제1 타입의 아이덴티티 데이터는 컴퓨팅 디바이스의 사용자 인터페이스를 통해 제공되는 입력을 나타낼 수 있다. 제2 타입의 아이덴티티 데이터는 컴퓨팅 디바이스에 연결된 카메라를 통해 캡처된 이미지 데이터를 포함할 수 있다.
VII. 결론
[127] 본 개시내용은 본 출원에서 설명된 특정 실시예들만으로 제한되지 않으며, 실시예들은 다양한 양상들의 예시로서 의도된다. 당업자들에게 명백할 바와 같이, 많은 수정들 및 변형들이 본 발명의 범위를 벗어나지 않고 이루어질 수 있다. 본원에 설명된 것들 이외에도, 본 개시내용의 범위 내에 있는 기능적으로 동등한 방법들 및 장치들은 전술한 설명들로부터 당업자들에게 명백할 것이다. 이러한 변형들 및 수정들은 첨부된 청구항들의 범위의 내에 속하도록 의도된다.
[128] 전술한 상세한 설명은 첨부된 도면들을 참조하여 개시된 시스템들, 디바이스들 및 방법들의 다양한 특징들 및 동작들을 설명한다. 도면들에서, 문맥이 달리 지정하지 않는 한, 유사한 심볼들은 전형적으로 유사한 컴포넌트들을 식별한다. 본원 및 도면들에 설명된 예시적인 실시예들은 제한하려는 것이 아니다. 본원에 제시된 청구대상의 범위를 벗어남이 없이도 다른 실시예들이 활용될 수 있으며 다른 변화들이 이루어질 수 있다. 본원에 일반적으로 설명되고 도면들에 예시된 바와 같은 본 개시내용의 양상들이 매우 다양한 상이한 구성들로 배열, 대체, 결합, 분리 및 설계될 수 있음이 쉽게 이해될 것이다.
[129] 도면들 및 본원에서 논의된 메시지 흐름도들, 시나리오들 및 흐름도들의 전부 또는 일부와 관련하여, 각각의 단계, 블록, 및/또는 통신은, 예시적인 실시예들에 따른 정보의 프로세싱 및/또는 정보의 전송을 나타낼 수 있다. 대안적인 실시예들은 이러한 예시적인 실시예들의 범위 내에 포함된다. 이러한 대안적인 실시예들에서, 예컨대, 단계들, 블록들, 전송들, 통신들, 요청들, 응답들 및/또는 메시지들로서 설명된 동작들은, 관련된 기능에 따라, 도시 또는 논의된 것과는 다른 순서대로(실질적으로 동시에 또는 역순을 포함하여) 실행될 수 있다. 또한, 더 많거나 또는 더 적은 블록들 및/또는 동작들이 본원에서 논의된 메시지 흐름도들, 시나리오들, 및 흐름도들과 중 임의의 것과 함께 이용될 수 있으며, 이들 메시지 흐름도들, 시나리오들, 및 흐름도들은 부분적으로 또는 전체적으로 서로 결합될 수 있다.
[130] 정보의 프로세싱을 나타내는 단계 또는 블록은 본원에 설명된 방법 또는 기법의 특정 논리 기능들을 수행하도록 구성된 회로부에 대응할 수 있다. 대안적으로 또는 부가적으로, 정보의 프로세싱을 나타내는 블록은 모듈, 세그먼트 또는 프로그램 코드의 일부(관련 데이터를 포함함)에 대응할 수 있다. 프로그램 코드는 방법 또는 기법의 특정 논리 동작들 또는 액션들을 구현하기 위해 프로세서에 의해 실행 가능한 하나 이상의 명령들을 포함할 수 있다. 프로그램 코드 및/또는 관련 데이터는 임의의 타입의 컴퓨터 판독 가능 매체, 이를테면, RAM(random access memory)을 포함하는 저장 디바이스, 디스크 드라이브, 고체 상태 드라이브 또는 다른 저장 매체에 저장될 수 있다.
[131] 컴퓨터 판독 가능 매체는 또한 비-일시적 컴퓨터 판독가능 매체들은, 이를테면, 레지스터 메모리, 프로세서 캐시, 및 RAM와 같은 짧은 시간 기간들 동안 데이터를 저장하는 컴퓨터 판독 가능 매체를 포함할 수 있다. 또한, 컴퓨터 판독 가능 매체는, 더 긴 시간 기간 동안 프로그램 코드 및/또는 데이터를 저장하는 비일시적 컴퓨터 판독 가능 매체들을 포함할 수 있다. 따라서, 컴퓨터 판독 가능 매체들은, 예컨대, ROM(read only memory), 광학 또는 자기 디스크들, 고체 상태 드라이브들, CD-ROM(compact-disk read only memory)과 같은 2차 또는 영구적인 장기간 저장소를 포함할 수 있다. 컴퓨터 판독 가능 매체들은 또한 임의의 다른 휘발성 또는 비휘발성 저장 시스템들일 수 있다. 컴퓨터 판독 가능 매체는, 예컨대, 컴퓨터 판독 가능 저장 매체 또는 유형의(tangible) 저장 디바이스로 간주될 수 있다.
[132] 또한, 하나 이상의 정보 송신들을 나타내는 단계 또는 블록은 동일한 물리적 디바이스의 소프트웨어 및/또는 하드웨어 모듈들 사이에서의 정보 전송들에 대응할 수 있다. 그러나, 상이한 물리적 디바이스들의 소프트웨어 모듈들 및/또는 하드웨어 모듈들 사이에서 다른 정보 송신들이 있을 수 있다.
[133] 도면들에 도시된 특정 어레인지먼트들은 제한적인 것으로 간주되어서는 안된다. 다른 실시예들이 주어진 도면에 도시된 각각의 엘리먼트를 더 많이 또는 더 적게 포함할 수 있음을 이해해야 한다. 또한, 예시된 엘리먼트들 중 일부가 결합되거나 생략될 수 있다. 또한, 예시적인 실시예는 도면들에 예시되지 않은 엘리먼트들을 포함할 수 있다.
[134] 다양한 양상들 및 실시예들이 본 명세서에 개시되었지만, 다른 양상들 및 실시예들이 당업자들에게 명백할 것이다. 본원에 개시된 다양한 양상들 및 실시예들은 예시의 목적을 위한 것이며, 다음의 청구항들에 의해 지시되는 진정한 범위를 제한하려는 것이 아니다.
[135] 예시적인 실시예들이 사람 또는 사람의 디바이스와 관련된 정보를 포함하는 경우, 일부 실시예들은 프라이버시 제어들을 포함할 수 있다. 이러한 프라이버시 제어들은, 적어도, 디바이스 식별자들의 익명화, 투명성 및 사용자 제어들을 포함할 수 있다. 예컨대, 실시예들은, 사용자들이 제품의 사용자의 사용과 관련된 정보를 수정하거나 삭제하는 것을 가능하게 할 기능을 포함할 수 있다.
[136] 또한, 본원에 논의된 실시예들이 사용자들과 관련된 개인 정보를 수집하거나, 또는 개인 정보를 사용할 수 있는 상황들에서, 사용자들에게 프로그램들 또는 특징부들이 사용자 정보(예컨대, 사용자의 생리, 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호도들 또는 사용자의 현재 위치에 관한 정보)를 수집할지 여부를 제어할 기회가 제공될 수 있다. 따라서, 사용자들은 본원에 논의된 데이터 중 임의의 데이터를 공유하지 않기로 선택할 수 있다.
[137] 게다가, 소정의 데이터는 그 소정의 데이터가 저장되거나 사용되기 전에, 개인 식별 가능 정보가 제거되도록 하나 이상의 방식들로 처리될 수 있다. 예컨대, 사용자의 아이덴티티는 사용자에 대한(예컨대, 사용자의 얼굴을 나타내는 사진으로부터) 어떠한 개인 식별 가능 정보도 결정될 수 없도록 처리될 수 있거나, 또는 (이를테면, 도시, ZIP 코드, 또는 국가 레벨에 대한) 위치 정보가 획득되는 사용자의 지리적 위치가 일반화될 수 있어서, 사용자의 특정 위치가 결정될 수 없도록 한다. 따라서, 사용자는, 사용자에 관한 정보가 어떻게 수집되는지, 및 그 정보가 본원에서 논의된 실시예들 중 임의의 실시예에 의해 어떻게 사용되는지를 제어할 수 있다.

Claims (20)

  1. 컴퓨팅 디바이스에 의해, 초기 시간 윈도우 동안 캡처되고 제1 발화(utterance) 및 제2 발화를 나타내는 제1 오디오 파형을 수신하는 단계;
    상기 컴퓨팅 디바이스에 의해, (i) 상기 제1 발화가 제1 화자(speaker)에 대응하고, 그리고 (ii) 상기 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하는 단계;
    상기 컴퓨팅 디바이스에 의해, 그리고 상기 제1 발화, 상기 제2 발화, 및 상기 제1 타입의 아이덴티티 데이터에 기반하여, 상기 제1 화자에 의한 발화들과 상기 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델(diarization model)을 결정하는 단계;
    상기 컴퓨팅 디바이스에 의해, 그리고 제3 발화의 소스 화자를 나타내는 상기 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서, 후속 시간 윈도우 동안 캡처되고 상기 제3 발화를 나타내는 제2 오디오 파형을 수신하는 단계;
    상기 컴퓨팅 디바이스에 의해, 상기 분리 모델을 통해, 그리고 상기 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 상기 제3 발화의 상기 소스 화자를 결정하는 단계 ― 상기 소스 화자는 상기 제1 화자 또는 상기 제2 화자인 것으로 결정됨 ― ; 및
    상기 컴퓨팅 디바이스에 의해, 상기 제3 발화 및 상기 결정된 소스 화자에 기반하여 상기 분리 모델을 업데이트하는 단계를 포함하는,
    방법.
  2. 제1 항에 있어서,
    상기 컴퓨팅 디바이스의 사용자 인터페이스를 통해, 그리고 상기 아이덴티티 데이터 및 상기 제1 오디오 파형을 수신하기 전에, 상기 아이덴티티 데이터의 입력을 위한 시각적 프롬프트(visual prompt)를 디스플레이하는 단계를 더 포함하는,
    방법.
  3. 제2 항에 있어서,
    상기 제2 오디오 파형은, 상기 추가 아이덴티티 데이터를 위한 상기 시각적 프롬프트를 디스플레이하지 않고서, 수신되는,
    방법.
  4. 제2 항 또는 제3 항에 있어서,
    상기 제1 오디오 파형은 상기 제1 화자에 의한 제1 복수의 발화들 및 상기 제2 화자에 의한 제2 복수의 발화들을 나타내고,
    상기 방법은:
    상기 제1 복수의 발화들과 상기 제2 복수의 발화들을 구별할 때, 상기 분리 모델의 정확도를 결정하는 단계;
    상기 정확도가 임계 정확도를 초과한다고 결정하는 단계; 및
    상기 정확도가 상기 임계 정확도를 초과한다는 결정에 기반하여, 상기 사용자 인터페이스로부터 상기 시각적 프롬프트를 제거하도록 상기 사용자 인터페이스를 수정하는 단계를 더 포함하는,
    방법.
  5. 제2 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 시각적 프롬프트는, (i) 상기 제1 화자가 상기 초기 시간 윈도우 동안 적어도 제1 시간 기간 동안 말해야 하고, 그리고 (ii) 상기 제2 화자가 상기 초기 시간 윈도우 동안 적어도 제2 시간 기간 동안 말해야 한다는 것을 나타내는 명령들을 포함하고, 상기 제1 시간 기간 및 상기 제2 시간 기간은 상호 배타적이고,
    상기 아이덴티티 데이터를 수신하는 단계는:
    상기 제1 시간 기간 동안 상기 제1 발화를 나타내는 상기 제1 오디오 파형의 제1 부분을 캡처하는 단계; 및
    상기 제2 시간 기간 동안 상기 제2 발화를 나타내는 상기 제1 오디오 파형의 제2 부분을 캡처하는 단계를 포함하는,
    방법.
  6. 제1 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 아이덴티티 데이터를 수신하는 단계는:
    상기 컴퓨팅 디바이스의 사용자 인터페이스를 통해, 상기 제1 화자에 대응하는 제1 버튼의 선택을 수신하는 단계 ― 상기 제1 발화를 나타내는 상기 제1 오디오 파형의 제1 부분은, 상기 제1 버튼의 선택에 대한 응답으로 캡처됨 ― ; 및
    상기 사용자 인터페이스를 통해, 상기 제2 화자에 대응하는 제2 버튼의 선택을 수신하는 단계 ― 상기 제2 발화를 나타내는 상기 제1 오디오 파형의 제2 부분은, 상기 제2 버튼의 선택에 대한 응답으로 캡처됨 ― 를 포함하는,
    방법.
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서,
    상기 아이덴티티 데이터를 수신하는 단계는:
    상기 제1 발화를 말하는 상기 제1 화자를 나타내는 제1 이미지 프레임들을 카메라 디바이스로부터 수신하는 단계 ― 상기 제1 발화를 나타내는 상기 제1 오디오 파형의 제1 부분은, 상기 제1 발화를 말하는 상기 제1 화자를 나타내는 상기 제1 이미지 프레임들에 기반하여 상기 제1 화자와 연관됨 ― ; 및
    상기 제2 발화를 말하는 상기 제2 화자를 나타내는 제2 이미지 프레임들을 상기 카메라 디바이스로부터 수신하는 단계 ― 상기 제2 발화를 나타내는 상기 제1 오디오 파형의 제2 부분은, 상기 제2 발화를 말하는 상기 제2 화자를 나타내는 상기 제2 이미지 프레임들에 기반하여 상기 제2 화자와 연관됨 ― 를 포함하는,
    방법.
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    상기 분리 모델은:
    (i) 파형의 일부를 입력으로서 수신하고, 그리고 (ii) 상기 파형의 일부의 특징들을 나타내는 복수의 값들을 포함하는 임베딩 벡터(embedding vector)를 생성하도록 구성된 파형 임베딩 모델(waveform embedding model); 및
    벡터 분류 모델(vector classification model)을 포함하고,
    상기 벡터 분류 모델은: (i) 상기 임베딩 벡터에 기반한 최근접 중심 모델(nearest centroid model), (ii) 상기 임베딩 벡터에 기반한 k-최근접 이웃 모델(k-nearest neighbor model), 또는 (iii) 상기 임베딩 벡터에 기반한 가우시안 나이브 베이즈 모델(
    Figure pct00010
    ) 중 하나 이상을 포함하는,
    방법.
  9. 제8 항에 있어서,
    상기 벡터 분류 모델은 상기 최근접 중심 모델을 포함하고,
    상기 분리 모델을 결정하는 단계는:
    상기 파형 임베딩 모델을 통해, 상기 제1 발화를 나타내는 상기 제1 오디오 파형의 개개의 제1 부분들에 대응하는 제1 복수의 임베딩 벡터들을 생성하는 단계;
    상기 파형 임베딩 모델을 통해, 상기 제2 발화를 나타내는 상기 제1 오디오 파형의 개개의 제2 부분들에 대응하는 제2 복수의 임베딩 벡터들을 생성하는 단계; 및
    (i) 상기 제1 복수의 임베딩 벡터들에 기반하여 제1 중심 및 (ii) 상기 제2 복수의 임베딩 벡터들에 기반하여 제2 중심을 결정하는 단계를 포함하는,
    방법.
  10. 제9 항에 있어서,
    상기 제3 발화의 소스 화자를 결정하는 단계는:
    상기 파형 임베딩 모델을 통해, 상기 제3 발화를 나타내는 상기 제2 오디오 파형의 제3 부분에 대응하는 제3 임베딩 벡터를 생성하는 단계;
    (i) 상기 제3 임베딩 벡터와 상기 제1 중심 사이의 제1 거리 및 (ii) 상기 제3 임베딩 벡터와 상기 제2 중심 사이의 제2 거리를 결정하는 단계;
    상기 제1 거리가 상기 제2 거리보다 작다고 결정하는 단계; 및
    상기 제1 거리가 상기 제2 거리보다 작다고 결정하는 것에 기반하여, 상기 제1 화자가 상기 제3 발화의 소스 화자라고 결정하는 단계를 포함하는,
    방법.
  11. 제8 항에 있어서,
    상기 벡터 분류 모델은 상기 가우시안 나이브 베이즈 모델을 포함하고,
    상기 분리 모델을 결정하는 단계는:
    상기 파형 임베딩 모델을 통해, 상기 제1 발화를 나타내는 상기 제1 오디오 파형의 개개의 제1 부분들에 대응하는 제1 복수의 임베딩 벡터들을 생성하는 단계;
    상기 파형 임베딩 모델을 통해, 상기 제2 발화를 나타내는 상기 제1 오디오 파형의 개개의 제2 부분들에 대응하는 제2 복수의 임베딩 벡터들을 생성하는 단계; 및
    (i) 상기 제1 복수의 임베딩 벡터들에 기반하여 제1 산술 평균(mean) 및 제1 표준 편차(standard deviation), 및 (ii) 상기 제2 복수의 임베딩 벡터들에 기반하여 제2 산술 평균 및 제2 표준 편차를 결정하는 단계를 포함하는,
    방법.
  12. 제11 항에 있어서,
    상기 제3 발화의 소스 화자를 결정하는 단계는:
    상기 파형 임베딩 모델을 통해, 상기 제3 발화를 나타내는 상기 제2 오디오 파형의 제3 부분에 대응하는 제3 임베딩 벡터를 생성하는 단계;
    (i) 상기 제1 산술 평균 및 상기 제1 표준 편차에 기반하여, 상기 제3 임베딩 벡터가 상기 제1 복수의 임베딩 벡터들에 속할 제1 확률, 및 (ii) 상기 제2 산술 평균 및 상기 제2 표준 편차에 기반하여, 상기 제3 임베딩 벡터가 상기 제2 복수의 임베딩 벡터들에 속할 제2 확률을 결정하는 단계;
    상기 제1 확률이 상기 제2 확률보다 높다고 결정하는 단계; 및
    상기 제1 확률이 상기 제2 확률보다 높다고 결정하는 것에 기반하여, 상기 제1 화자가 상기 제3 발화의 소스 화자라고 결정하는 단계를 포함하는,
    방법.
  13. 제8 항에 있어서,
    상기 분리 모델을 결정하는 단계는 (i) 상기 파형 임베딩 모델을 통해, 상기 제1 발화를 나타내는 상기 제1 오디오 파형의 개개의 제1 부분들에 대응하는 제1 복수의 임베딩 벡터들을 생성하는 단계, 및 (ii) 상기 파형 임베딩 모델을 통해, 상기 제2 발화를 나타내는 상기 제1 오디오 파형의 개개의 제2 부분들에 대응하는 제2 복수의 임베딩 벡터들을 생성하는 단계를 포함하고,
    상기 벡터 분류 모델은 상기 k-최근접 이웃 모델을 포함하고,
    상기 제3 발화의 소스 화자를 결정하는 단계는:
    상기 파형 임베딩 모델을 통해, 상기 제3 발화를 나타내는 상기 제2 오디오 파형의 제3 부분에 대응하는 제3 임베딩 벡터를 생성하는 단계;
    상기 제3 임베딩 벡터에 가장 가까운 k개의 포인트들을 결정하는 단계;
    상기 k개의 포인트들의 각각의 개개의 포인트에 대해, 개개의 포인트가 상기 제1 복수의 임베딩 벡터들에 속하는지 또는 상기 제2 복수의 임베딩 벡터들에 속하는지를 결정하는 단계; 및
    각각의 개개의 포인트가 상기 제1 복수의 임베딩 벡터들에 속하는 것 또는 상기 제2 복수의 임베딩 벡터들에 속하는 것에 기반하여, 상기 소스 화자를 결정하는 단계를 포함하는,
    방법.
  14. 제8 항 내지 제13 항 중 어느 한 항에 있어서,
    상기 분리 모델을 업데이트하는 단계는:
    상기 제3 발화의 제3 복수의 임베딩들을 결정하는 단계; 및
    상기 제3 복수의 임베딩들의 적어도 일부를 내부에 포함하도록 상기 벡터 분류 모델을 업데이트하는 단계를 포함하는,
    방법.
  15. 제1 항 내지 제14 항 중 어느 한 항에 있어서,
    상기 분리 모델을 업데이트하는 단계는:
    상기 제3 발화의 소스 화자를 결정할 때, 상기 분리 모델의 신뢰도를 결정하는 단계;
    상기 신뢰도가 임계 신뢰도를 초과한다고 결정하는 단계; 및
    상기 신뢰도가 상기 임계 신뢰도를 초과한다는 결정에 기반하여, 상기 분리 모델을 업데이트하는 단계를 포함하는,
    방법.
  16. 제1 항 내지 제15 항 중 어느 한 항에 있어서,
    상기 분리 모델을 형성하는 각각의 발화에는 상기 모델 내의 대응하는 가중치가 할당되고,
    상기 분리 모델을 업데이트하는 단계는:
    (i) 상기 제1 발화에 할당된 제1 가중치 또는 (ii) 상기 제2 발화에 할당된 제2 가중치 중 적어도 하나보다 낮은 제3 가중치를 상기 제3 발화에 할당하는 단계를 포함하는,
    방법.
  17. 제1 항 내지 제16 항 중 어느 한 항에 있어서,
    (i) 상기 제1 발화가 제1 화자에 대응한다는 것, 및 (ii) 상기 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제2 타입의 아이덴티티 데이터를 수신하는 단계;
    상기 제3 발화의 소스 화자를 나타내는 상기 제2 타입의 추가 아이덴티티 데이터를 수신하는 단계; 및
    상기 제2 타입의 추가 아이덴티티 데이터에 기반하여, 상기 분리 모델을 통해 상기 소스 화자의 결정을 검증하는 단계를 더 포함하는,
    방법.
  18. 제17 항에 있어서,
    상기 제1 타입의 아이덴티티 데이터는 상기 컴퓨팅 디바이스의 사용자 인터페이스를 통해 제공되는 입력을 나타내고, 상기 제2 타입의 아이덴티티 데이터는 상기 컴퓨팅 디바이스에 연결된 카메라를 통해 캡처된 이미지 데이터를 포함하는,
    방법.
  19. 시스템으로서,
    마이크로폰; 및
    동작들을 수행하도록 구성된 프로세서를 포함하고,
    상기 동작들은:
    초기 시간 윈도우 동안 캡처되고 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 마이크로폰으로부터 수신하는 동작;
    (i) 상기 제1 발화가 제1 화자에 대응한다는 것, 및 (ii) 상기 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하는 동작;
    상기 제1 발화, 상기 제2 발화, 및 상기 제1 타입의 아이덴티티 데이터에 기반하여, 상기 제1 화자에 의한 발화들과 상기 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델을 결정하는 동작;
    제3 발화의 소스 화자를 나타내는 상기 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서, 후속 시간 윈도우 동안 캡처되고 상기 제3 발화를 나타내는 제2 오디오 파형을 상기 마이크로폰으로부터 수신하는 동작;
    상기 분리 모델을 통해, 그리고 상기 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 상기 제3 발화의 상기 소스 화자를 결정하는 동작 ― 상기 소스 화자는 상기 제1 화자 또는 상기 제2 화자인 것으로 결정됨 ― ; 및
    상기 제3 발화 및 상기 결정된 소스 화자에 기반하여 상기 분리 모델을 업데이트하는 동작을 포함하는,
    시스템.
  20. 명령들이 저장된 비일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 명령들은, 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 동작들을 수행하게 하고,
    상기 동작들은:
    초기 시간 윈도우 동안 캡처되고 제1 발화 및 제2 발화를 나타내는 제1 오디오 파형을 수신하는 동작;
    (i) 상기 제1 발화가 제1 화자에 대응한다는 것, 및 (ii) 상기 제2 발화가 제2 화자에 대응한다는 것을 나타내는 제1 타입의 아이덴티티 데이터를 수신하는 동작;
    상기 제1 발화, 상기 제2 발화, 및 상기 제1 타입의 아이덴티티 데이터에 기반하여, 상기 제1 화자에 의한 발화들과 상기 제2 화자에 의한 발화들을 구별하도록 구성된 분리 모델을 결정하는 동작;
    후속 시간 윈도우 동안 캡처되고 상기 제3 발화를 나타내는 제2 오디오 파형을 수신하는 동작 ― 상기 제2 오디오 파형은, 제3 발화의 소스 화자를 나타내는 상기 제1 타입의 추가 아이덴티티 데이터를 수신하는 것을 제외하고서 수신됨 ― ;
    상기 분리 모델을 통해, 그리고 상기 제1 타입의 추가 아이덴티티 데이터와 독립적으로, 상기 제3 발화의 상기 소스 화자를 결정하는 동작 ― 상기 소스 화자는 상기 제1 화자 또는 상기 제2 화자인 것으로 결정됨 ― ; 및
    상기 제3 발화 및 상기 결정된 소스 화자에 기반하여 상기 분리 모델을 업데이트하는 동작을 포함하는,
    비일시적 컴퓨터 판독 가능 저장 매체.
KR1020227003287A 2019-07-01 2019-07-01 적응형 분리 모델 및 사용자 인터페이스 KR20220025058A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/040111 WO2021002838A1 (en) 2019-07-01 2019-07-01 Adaptive diarization model and user interface

Publications (1)

Publication Number Publication Date
KR20220025058A true KR20220025058A (ko) 2022-03-03

Family

ID=67439408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227003287A KR20220025058A (ko) 2019-07-01 2019-07-01 적응형 분리 모델 및 사용자 인터페이스

Country Status (6)

Country Link
US (1) US11710496B2 (ko)
EP (1) EP3788621B1 (ko)
JP (1) JP7295284B2 (ko)
KR (1) KR20220025058A (ko)
CN (1) CN114175149A (ko)
WO (1) WO2021002838A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023514158A (ja) * 2020-02-06 2023-04-05 グーグル エルエルシー オーディオストリームの安定したリアルタイム翻訳
US20240070251A1 (en) * 2021-08-04 2024-02-29 Q (Cue) Ltd. Using facial skin micromovements to identify a user
CN114822005B (zh) * 2022-06-28 2022-09-20 深圳市矽昊智能科技有限公司 基于人工智能的遥控意图预测方法、装置、设备及介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424946B1 (en) * 1999-04-09 2002-07-23 International Business Machines Corporation Methods and apparatus for unknown speaker labeling using concurrent speech recognition, segmentation, classification and clustering
US9300790B2 (en) 2005-06-24 2016-03-29 Securus Technologies, Inc. Multi-party conversation analyzer and logger
JP2008077601A (ja) * 2006-09-25 2008-04-03 Toshiba Corp 機械翻訳装置、機械翻訳方法および機械翻訳プログラム
US8543402B1 (en) * 2010-04-30 2013-09-24 The Intellisis Corporation Speaker segmentation in noisy conversational speech
US8306814B2 (en) * 2010-05-11 2012-11-06 Nice-Systems Ltd. Method for speaker source classification
JP5510069B2 (ja) 2010-05-25 2014-06-04 富士通モバイルコミュニケーションズ株式会社 翻訳装置
JP5017441B2 (ja) 2010-10-28 2012-09-05 株式会社東芝 携帯型電子機器
US9257115B2 (en) * 2012-03-08 2016-02-09 Facebook, Inc. Device for extracting information from a dialog
US10134401B2 (en) * 2012-11-21 2018-11-20 Verint Systems Ltd. Diarization using linguistic labeling
US9514753B2 (en) * 2013-11-04 2016-12-06 Google Inc. Speaker identification using hash-based indexing
US9600474B2 (en) * 2013-11-08 2017-03-21 Google Inc. User interface for realtime language translation
KR20150093482A (ko) * 2014-02-07 2015-08-18 한국전자통신연구원 화자 분할 기반 다자간 자동 통번역 운용 시스템 및 방법과 이를 지원하는 장치
CN104821934B (zh) 2015-03-20 2018-11-20 百度在线网络技术(北京)有限公司 基于人工智能的声纹登录方法和装置
JP6110539B1 (ja) 2016-03-30 2017-04-05 株式会社リクルートライフスタイル 音声翻訳装置、音声翻訳方法、及び音声翻訳プログラム
KR102545764B1 (ko) 2016-04-01 2023-06-20 삼성전자주식회사 음성 번역을 위한 장치 및 방법
US9584946B1 (en) * 2016-06-10 2017-02-28 Philip Scott Lyren Audio diarization system that segments audio input
CA3033675C (en) * 2016-07-11 2022-11-15 FTR Labs Pty Ltd Method and system for automatically diarising a sound recording
US10755718B2 (en) * 2016-12-07 2020-08-25 Interactive Intelligence Group, Inc. System and method for neural network based speaker classification
US20180197548A1 (en) * 2017-01-09 2018-07-12 Onu Technology Inc. System and method for diarization of speech, automated generation of transcripts, and automatic information extraction
US11227605B2 (en) * 2017-09-11 2022-01-18 Telefonaktiebolaget Lm Ericsson (Publ) Voice-controlled management of user profiles
CN112805780A (zh) * 2018-04-23 2021-05-14 谷歌有限责任公司 使用端到端模型的讲话者分割
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
EP4009321B1 (en) * 2018-09-25 2024-05-01 Google LLC Speaker diarization using speaker embedding(s) and trained generative model
US11507759B2 (en) * 2019-03-25 2022-11-22 Panasonic Holdings Corporation Speech translation device, speech translation method, and recording medium
EP3948848B1 (en) * 2019-03-29 2023-07-19 Microsoft Technology Licensing, LLC Speaker diarization with early-stop clustering
US11322148B2 (en) * 2019-04-30 2022-05-03 Microsoft Technology Licensing, Llc Speaker attributed transcript generation
US11651767B2 (en) * 2020-03-03 2023-05-16 International Business Machines Corporation Metric learning of speaker diarization
US20220115019A1 (en) * 2020-10-12 2022-04-14 Soundhound, Inc. Method and system for conversation transcription with metadata

Also Published As

Publication number Publication date
JP2022539355A (ja) 2022-09-08
US20220310109A1 (en) 2022-09-29
CN114175149A (zh) 2022-03-11
EP3788621B1 (en) 2023-03-22
EP3788621A1 (en) 2021-03-10
JP7295284B2 (ja) 2023-06-20
US11710496B2 (en) 2023-07-25
WO2021002838A1 (en) 2021-01-07

Similar Documents

Publication Publication Date Title
US11114093B2 (en) Intelligent voice recognizing method, apparatus, and intelligent computing device
WO2021077529A1 (zh) 神经网络模型压缩方法、语料翻译方法及其装置
CN111179961B (zh) 音频信号处理方法、装置、电子设备及存储介质
US9412361B1 (en) Configuring system operation using image data
EP2821992B1 (en) Method for updating voiceprint feature model and terminal
US11710496B2 (en) Adaptive diarization model and user interface
US11393459B2 (en) Method and apparatus for recognizing a voice
US20180213339A1 (en) Adapting hearing aids to different environments
CN113168227A (zh) 执行电子装置的功能的方法以及使用该方法的电子装置
KR102304701B1 (ko) 사용자의 음성 입력에 대한 답변을 제공하는 방법 및 장치
CN110322760B (zh) 语音数据生成方法、装置、终端及存储介质
KR102420567B1 (ko) 음성 인식 장치 및 방법
US20190019509A1 (en) Voice data processing method and electronic device for supporting the same
US11556761B2 (en) Method and device for compressing a neural network model for machine translation and storage medium
CN114051639A (zh) 使用说话者基线进行情绪检测
KR20180054362A (ko) 사용자의 음성 입력을 인식하는 방법 및 장치
KR20210044475A (ko) 대명사가 가리키는 객체 판단 방법 및 장치
CN111583923A (zh) 信息控制方法及装置、存储介质
CN112036174B (zh) 一种标点标注方法及装置
US11398221B2 (en) Information processing apparatus, information processing method, and program
CN111630472A (zh) 信息处理装置、信息处理方法和程序
US10649725B1 (en) Integrating multi-channel inputs to determine user preferences
US11997445B2 (en) Systems and methods for live conversation using hearing devices
US12001808B2 (en) Method and apparatus for providing interpretation situation information to one or more devices based on an accumulated delay among three devices in three different languages
US20230186036A1 (en) Method and apparatus for providing interpretation situation information

Legal Events

Date Code Title Description
E902 Notification of reason for refusal