KR20220130565A - 키워드 검출 방법 및 장치 - Google Patents

키워드 검출 방법 및 장치 Download PDF

Info

Publication number
KR20220130565A
KR20220130565A KR1020210182848A KR20210182848A KR20220130565A KR 20220130565 A KR20220130565 A KR 20220130565A KR 1020210182848 A KR1020210182848 A KR 1020210182848A KR 20210182848 A KR20210182848 A KR 20210182848A KR 20220130565 A KR20220130565 A KR 20220130565A
Authority
KR
South Korea
Prior art keywords
keyword
voice signal
speech
expression sequence
preset keyword
Prior art date
Application number
KR1020210182848A
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 삼성전자주식회사
Priority to US17/698,368 priority Critical patent/US20220301550A1/en
Publication of KR20220130565A publication Critical patent/KR20220130565A/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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/24Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being the cepstrum
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Machine Translation (AREA)

Abstract

키워드 검출 방법 및 장치가 개시된다. 일 실시예에 따른 키워드 검출 방법은, 사용자로부터 입력된 음성 신호의 적어도 일부를 수신하는 단계; 상기 음성 신호의 음성 특징을 추출하는 단계; 엔드투엔드 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스(abstract representation sequence)를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻는 단계를 포함하고, 상기 키워드 검출 모델은, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 동작; 상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하는 동작; 및 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작을 수행하여 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다.

Description

키워드 검출 방법 및 장치{KEYWORD DETECTION METHOD AND APPARATUS THEREOF}
본 개시는 음성 인식 기술에 관한 것으로, 보다 구체적으로, 키워드 검출 방법 및 장치에 관한 것이다.
가상 음성 비서는 차량 내비게이션, 스마트 홈, 스마트 폰, 스마트 스피커 등과 같이 인간-컴퓨터 상호 작용이 필요한 다양한 장치에 널리 사용된다. 가상 음성 비서의 중요한 기능 중 하나는 음성 깨우기 기능으로, 장치가 휴면 상태에 있을 때 사용자가 입력한 특정 깨우기 단어를 식별하여 장치를 깨우고, 휴면 상태에서 작동 상태로 전환하여 사용자에게 서비스를 시작한다. 또한, 다른 많은 응용 시나리오(예, 음성 검색)가 있으며, 이는 음성 신호에 특정 단어가 포함되어 있는지 여부를 식별해야 한다.
본 개시의 일 실시예는 음성 신호에 미리 설정된 키워드가 포함되어 있는지 여부를 정확하게 검출할 수 있는 키워드 검출 방법 및 장치를 제공한다.
일 실시예에 따른 키워드 검출 방법은, 사용자로부터 입력된 음성 신호의 적어도 일부를 수신하는 단계; 상기 음성 신호의 음성 특징을 추출하는 단계; 엔드투엔드 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스(abstract representation sequence)를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻는 단계를 포함하고, 상기 키워드 검출 모델은, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 동작; 상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하는 동작; 및 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작을 수행하여 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다.
상기 키워드 검출 방법에서, 상기 사용자로부터 입력된 상기 음성 신호의 적어도 일부에 대해 실시간(real-time)으로 수행될 수 있다.
상기 키워드 검출 방법에서, 상기 미리 설정된 키워드는 시스템 또는 애플리케이션에 의해 미리 정해진 키워드 및 사용자가 정의한 키워드 중 적어도 하나를 포함할 수 있다.
상기 키워드 검출 방법에서, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계는, 어텐션 메커니즘을 통해 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계를 포함할 수 있다.
상기 키워드 검출 방법에서, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 단계는, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스를 결정하는 단계; 및 어텐션 메커니즘을 통해 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 단계를 포함할 수 있다.
상기 키워드 검출 방법에서, 상기 키워드 검출 모델은, 음성 신호의 추상적 표현 시퀀스를 예측하는데 사용되는 음성 인코더를 포함하고, 상기 음성 인코더는 복수의 직렬(series) 연결된 서브(sub) 모듈을 포함하고, 각 서브 모듈은 어텐션 메커니즘을 통해 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 상기 음성 신호의 은닉(hidden) 레이어 추상적 표현 시퀀스에 입력할 수 있다.
상기 키워드 검출 방법에서, 상기 미리 설정된 키워드의 추상적 표현 시퀀스는 사전 트레이닝된 키워드 인코더를 통해 상기 미리 설정된 키워드의 음소 시퀀스(Phone sequence)에 기초하여 생성될 수 있다.
상기 키워드 검출 방법에서, 상기 키워드 검출 모델은 다중 목표 연합 트레이닝(Multi-objective Joint Training)을 통해 획득되고, 상기 다중 목표는, 상기 음성 신호에 대응하는 음소 시퀀스 예측, 상기 음성 신호 내 키워드의 위치 예측 및 상기 음성 신호 내 키워드 존재 여부 예측을 포함할 수 있다. 이를 통해, 엔드투엔드 키워드 검출 모델 및 키워드 인코더의 전역 최적화를 보장하고, 트레이닝을 통해 전역 최적화를 실현하여, 검출 정확도를 높이고, 단계적 학습으로 인한 중간 특징 품질 저하의 리스크와 로컬만의 최적화 문제를 방지할 수 있다.
상기 키워드 검출 방법에서, 상기 음성 신호 내 키워드의 위치를 예측하는 목표에 대응하는 목표 손실 함수는 어텐션 행렬의 대각선 패턴을 기반으로 하는 위치 손실 함수일 수 있다. 이 위치 손실 함수를 사용하여 키워드 검출 모델을 트레이닝함으로써, 키워드 검출 모델의 검출 효과를 향상시킨다.
상기 키워드 검출 방법에서, 상기 키워드 검출 모델에 의해 출력된 결과가 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는 경우, 현재 전자 단말기를 깨우고; 또는, 상기 결과 및 상기 위치 정보를 출력하는 단계를 더 포함할 수 있다. 이를 통해, 음성 검색, 음성 주석 등 작업을 완료할 수 있다.
선택적으로, 상기 방법은 전자 단말기에 의해 실행되고, 상기 키워드 검출 모델은 원격 서버로부터 상기 전자 단말기에 의해 획득되며, 여기에서, 상기 키워드 검출 모델은 일반 코퍼스(corpus) 데이터 세트에 대해 상기 원격 서버에 의해 트레이닝된다. 이를 통해, 단말기에서 사용자가 정의한 키워드를 포함하는 키워드 검출을 구현할 수 있고, 전자 단말기의 컴퓨팅 리소스와 스토리지 리소스를 지나치게 많이 차지하지 않을 수 있다.
또 다른 일 실시예에 따른 키워드 검출 장치는, 사용자로부터 입력된 음성 신호의 적어도 일부를 수신하는 수신 유닛; 상기 음성 신호의 음성 특징을 추출하는 특징 추출 유닛; 및 엔드투엔드 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻는 검출 유닛을 포함하고, 상기 키워드 검출 모델은, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 동작; 상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하는 동작; 및 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작을 수행하여 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다.
상기 키워드 검출 장치는, 상기 사용자로부터 입력된 상기 음성 신호의 적어도 일부를 실시간(real-time)으로 처리할 수 있다.
상기 키워드 검출 장치에서, 상기 검출 유닛은, 어텐션 메커니즘을 통해 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득할 수 있다.
상기 키워드 검출 장치에서, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작은, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스를 결정하는 동작; 및 어텐션 메커니즘을 통해 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작을 포함할 수 있다.
또 다른 일 실시예에 따르면, 컴퓨팅 프로그램을 저장하고, 상기 컴퓨팅 프로그램은 프로세서에 의해 실행될 때 상기 키워드 검출 방법을 구현하는 컴퓨터 판독 가능 저장 매체가 제공된다.
또 다른 일 실시예에 따른 키워드 검출 장치는, 프로세서; 및 컴퓨팅 프로그램을 저장하고, 상기 컴퓨팅 프로그램이 프로세서에 의해 실행될 때 상기 키워드 검출 방법을 구현하는 메모리를 포함한다.
본 개시의 일 실시예에 따른 키워드 검출 방법 및 장치는 높은 검출 정확도를 가지며, 다양한 키워드를 검출하는데 적합하고, 사용자가 정의한 키워드에 대한 검출 정확도 또한 높다. 또한, 사용한 검출 모델은 복잡하지 않기 때문에, 전자 단말기의 배포 및 사용에 있어 편리하다. 또한, 특정 키워드와 관련된 데이터의 복잡한 수집 및 주석을 방지하므로, 모델은 특정 키워드에 대해 다시 트레이닝할 필요가 없다. 또한, 음성 신호에서 미리 설정된 키워드의 위치를 출력함으로써, 음성 검색, 음성 주석 등 작업을 완료할 수 있다.
본 개시의 전체적인 개념의 추가적인 측면 및/또는 이점은 아래의 설명에서 부분적으로 설명될 것이며, 다른 일부는 설명을 통해 명확해지거나, 본 개시의 전체적인 개념의 구현을 통해 학습될 것이다.
본 개시의 일 실시예의 상기 및 기타 목적과 특징은 실시예를 예시적으로 도시한 첨부 도면과 함께 아래의 설명에 의해 더욱 명확해질 것이다.
도 1은 본 개시의 일 실시예에 따른 키워드 검출 방법을 도시한 흐름도이다.
도 2는 본 개시의 일 실시예에 따른 키워드 검출 방법의 예시를 도시한 도면이다.
도 3은 본 개시의 일 실시예에 따른 어텐션 메커니즘을 통해 음성 특징과 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하는 예시를 도시한 도면이다.
도 4는 본 개시의 일 실시예에 따른 키워드 검출 방법의 다른 예시를 도시한 도면이다.
도 5는 본 개시의 일 실시예에 따른 어텐션 메커니즘을 통해 상기 음성 신호 중 상기 미리 설정된 키워드 부분의 추상적 표현 시퀀스와 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하는 예시를 도시한 도면이다.
도 6은 본 개시의 일 실시예에 따른 미리 설정된 키워드의 추상적 표현 시퀀스를 생성하는 방법을 도시한 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 종단간 트레이닝 키워드 검출 모델 및 키워드 인코더를 위한 트레이닝 네트워크를 도시한 도면이다.
도 8은 본 개시의 일 실시예에 따른 키워드 검출 장치를 도시한 블록도이다.
첨부된 도면을 참조하여 제공된 이하의 설명은 특허청구범위 및 그 균등물에 의해 정의되는 본 발명의 일 실시예를 완전히 이해하기 위함이다. 상기 설명은 이해를 돕기 위한 다양한 특정 세부 사항을 포함하나, 이러한 세부 사항은 예시일 뿐이다. 따라서, 본 기술분야의 통상의 지식을 가진 자는 본 발명의 범위 및 사상을 벗어나지 않는 선에서, 여기에 설명된 실시예에 다양한 변경 및 수정이 이루어질 수 있음을 인식할 것이다. 또한, 보다 명확하고 간결하게 하게 위해, 알려진 기능 및 구성에 대한 설명은 생략할 수 있다.
실시예를 설명함에 있어서, 공지된 관련 구조 또는 기능에 대한 구체적인 설명이 본 발명을 모호하게 한다고 판단되는 경우, 그 상세한 설명은 생략한다.
도 1은 본 개시의 일 실시예에 따른 키워드 검출 방법을 도시한 흐름도이다. 상기 방법은 전자 단말기에 의해 수행될 수 있다. 예를 들어, 상기 방법은 상기 전자 단말기에 설치된 어플리케이션에 의해 수행되거나, 상기 전자 단말기의 운영 체제에 구현된 기능 프로그램에 의해 수행될 수 있다. 예를 들어, 상기 전자 단말기는 이동통신 단말기(예, 스마트폰), 스마트 웨어러블 기기(예, 스마트 워치), 퍼스널 컴퓨터, 태블릿 컴퓨터, 게임기, 디지털 멀티미디어 플레이어, 스마트 가전 등과 같이 음성 명령을 수신할 수 있는 전자 단말기일 수 있다.
도 1을 참조하면, 단계 S101에서, 사용자로부터 입력된 음성 신호를 수신한다. 단계 S101에서, 상기 음성 신호는 상기 사용자의 발화 시작부터 종료까지의 전체 구간의 음성 신호일 수 있고, 상기 사용자로부터 입력된 전체 구간의 적어도 일부일 수 있다.
예를 들어, 상기 음성 신호는 전자 단말기의 음성 녹음 하드웨어에 의해 실시간으로 녹음될 수 있다. 예를 들어, 상기 음성 신호는 샘플링 주파수가 16,000Hz인 단일 채널 음성 스트림일 수 있다.
단계 S102에서, 상기 음성 신호의 음성 특징을 추출한다.
예를 들어, 상기 음성 특징은 다양한 적절한 유형의 음성 특징일 수 있으며, 이는 본 개시에 의해 제한되지 않는다. 예를 들어, 상기 음성 특징은 멜 스케일 주파수 셉스트럴 계수(MFCC, Mel-scale Frequency Cepstral Coefficients), 멜 필터 뱅크(Mel-Filter Bank) 특징, 또는 기타 일반적으로 사용되는 음성 특징일 수 있고, 다양한 음성 특징의 조합일 수도 있다.
예를 들어, 상기 음성 특징은 t0 * f 형태의 행렬일 수 있고, t0는 음성 특징 시퀀스의 프레임 수를 나타내고, 한 프레임은 샘플링의 연속 시간을 나타내고, f는 각 프레임 음성 특징의 차원을 나타낸다.
또한, 예를 들어, 효과적인 정보를 최대한 유지하는 동시에 연산 속도를 높이기 위해, 추출된 음성 특징을 전처리(pre-processing)할 수 있고, 전처리된 음성 특징은 단계 S103에 사용될 수 있다. 예를 들어, 상기 전처리는 오버래핑(overlapping) 프레임 및 다운 샘플링을 포함할 수 있으며, 다른 유형의 전처리도 포함될 수 있음을 이해해야 한다. 여기에서, 오버래핑 프레임은 n개의 연속된 프레임이 하나의 큰 프레임으로 연결되는 것을 의미하고, 다운 샘플링은 m 프레임마다 하나의 프레임을 예약하는 것을 의미한다. 오버래핑 프레임 및 다운 샘플링을 포함하는 전처리를 수행한 후, 음성 특징의 행렬 형태는 t1 * f1이고, 여기에서, t1 = t0/m, f1 = f * n이다. 또한, 예를 들어, 상기 음성 특징은 위치 코딩 벡터와 결합되어 단계 S103에서 사용될 수 있다.
단계 S103에서, 엔드투엔드(end-to-end) 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스(abstract representation sequence)를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻는다. 즉, 키워드 검출 모델의 이 엔드투엔드 모델을 통해 상기 미리 설정된 키워드가 음성 신호에 존재하는지 여부를 예측할 수 있다.
구체적으로, 상기 키워드 검출 모델은 다음 방법을 통해 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다: 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하고; 그런 다음, 상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하고; 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다.
예를 들어, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 예측 결과는, 상기 음성 신호에 상기 미리 설정된 키워드가 존재할 확률 및 상기 음성 신호에 상기 미리 설정된 키워드가 존재하지 않을 확률; 또는, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하거나 상기 음성 신호에 상기 미리 설정된 키워드가 존재하지 않는 두 가지 분류 모두의 결과일 수 있다.
예를 들어, 상기 미리 설정된 키워드는, 시스템 또는 애플리케이션에서 미리 정해진 키워드 및 사용자가 정의한 키워드 중 적어도 하나를 포함할 수 있다. 예를 들어, 상기 미리 설정된 키워드는 다양한 형태의 키워드를 포함할 수 있고, 예를 들어, 현재 전자 단말기를 깨우는 깨우기 단어를 포함할 수 있다. 예를 들어, 상기 미리 설정된 키워드는 사용자가 정의한 깨우기 단어를 포함할 수 있다. 예로서, 다음과 같은 적용 시나리오가 있을 수 있다: 전자 단말기가 휴면 상태에 있을 때, 사용자는 깨우기 키워드(즉, 상기 미리 설정된 키워드)를 포함하는 음성 명령(즉, 상기 음성 신호)을 발화하여, 단계 S101을 실행한다.
일 실시예에서, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계는, 어텐션(attention) 메커니즘을 통해 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계를 포함할 수 있다. 즉, 본 개시에서는 음성에서 텍스트로의 인식 과정에서 어텐션 메커니즘을 사용할 수 있다.
예를 들어, 상기 키워드 검출 모델은, 음성 신호의 추상적 표현 시퀀스를 예측하기 위한 음성 인코더(encoder)를 포함할 수 있다. 예를 들어, 상기 음성 인코더는 셀프 어텐션(self-attention) 음성 인코더일 수 있다.
예를 들어, 상기 음성 인코더는 음향(acoustic) 모델과 동일할 수 있으며, 음성 특징으로 입력되고, 프레임당 음소 분류의 사후(post) 확률을 계산할 수 있다. 이는 t1 * p의 행렬이며, t1은 앞서 설명한 것처럼 프레임으로 나눈 시간 차원을 나타내고, p는 모든 음소 유형의 수와 빈(empty) 상태, 공백, 시작 및 끝 표시, 노이즈 표시 등과 같은 기타 비음소 분류 항목을 나타낸다. 상기 음성 인코더는 심층 신경망(DNN), 컨볼루션(convolutional) 신경망(CNN), 순환 신경망(RNN), 트랜스포머 오토 인코더(Autoencoders) 등 다양한 형태로 구현될 수 있다. 예를 들어, 상기 음성 인코더는 트랜스포머(transformer) 셀프 어텐션 특징 추출기(extractor)를 기반으로 구성될 수 있다.
예를 들어, 상기 음성 인코더는 또한 어텐션 메커니즘을 통해 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 입력하여, 음성 인코더가 음성 시퀀스에 상기 미리 설정된 키워드가 존재할 수 있는 부분에 더 주의를 기울이도록 할 수 있다.
예를 들어, 어텐션 메커니즘의 행렬 형태는 다음과 같이 표현될 수 있다:
Figure pat00001
Figure pat00002
Figure pat00003
첨부된 도면을 참조하여 제공된 이하의 설명은 특허청구범위 및 그 균등물에 의해 정의되는 본 발명의 일 실시예를 완전히 이해하기 위함이다. 상기 설명은 이해를 돕기 위한 다양한 특정 세부 사항을 포함하나, 이러한 세부 사항은 예시일 뿐이다. 따라서, 본 기술분야의 통상의 지식을 가진 자는 본 발명의 범위 및 사상을 벗어나지 않는 선에서, 여기에 설명된 실시예에 다양한 변경 및 수정이 이루어질 수 있음을 인식할 것이다. 또한, 보다 명확하고 간결하게 하게 위해, 알려진 기능 및 구성에 대한 설명은 생략할 수 있다.
실시예를 설명함에 있어서, 공지된 관련 구조 또는 기능에 대한 구체적인 설명이 본 발명을 모호하게 한다고 판단되는 경우, 그 상세한 설명은 생략한다.
도 1은 본 개시의 일 실시예에 따른 키워드 검출 방법을 도시한 흐름도이다. 상기 방법은 전자 단말기에 의해 수행될 수 있다. 예를 들어, 상기 방법은 상기 전자 단말기에 설치된 어플리케이션에 의해 수행되거나, 상기 전자 단말기의 운영 체제에 구현된 기능 프로그램에 의해 수행될 수 있다. 예를 들어, 상기 전자 단말기는 이동통신 단말기(예, 스마트폰), 스마트 웨어러블 기기(예, 스마트 워치), 퍼스널 컴퓨터, 태블릿 컴퓨터, 게임기, 디지털 멀티미디어 플레이어, 스마트 가전 등과 같이 음성 명령을 수신할 수 있는 전자 단말기일 수 있다.
도 1을 참조하면, 단계 S101에서, 사용자로부터 입력된 음성 신호를 수신한다. 단계 S101에서, 상기 음성 신호는 상기 사용자의 발화 시작부터 종료까지의 전체 구간의 음성 신호일 수 있고, 상기 사용자로부터 입력된 전체 구간의 적어도 일부일 수 있다.
예를 들어, 상기 음성 신호는 전자 단말기의 음성 녹음 하드웨어에 의해 실시간으로 녹음될 수 있다. 예를 들어, 상기 음성 신호는 샘플링 주파수가 16,000Hz인 단일 채널 음성 스트림일 수 있다.
단계 S102에서, 상기 음성 신호의 음성 특징을 추출한다.
예를 들어, 상기 음성 특징은 다양한 적절한 유형의 음성 특징일 수 있으며, 이는 본 개시에 의해 제한되지 않는다. 예를 들어, 상기 음성 특징은 멜 스케일 주파수 셉스트럴 계수(MFCC, Mel-scale Frequency Cepstral Coefficients), 멜 필터 뱅크(Mel-Filter Bank) 특징, 또는 기타 일반적으로 사용되는 음성 특징일 수 있고, 다양한 음성 특징의 조합일 수도 있다.
예를 들어, 상기 음성 특징은 t0 * f 형태의 행렬일 수 있고, t0는 음성 특징 시퀀스의 프레임 수를 나타내고, 한 프레임은 샘플링의 연속 시간을 나타내고, f는 각 프레임 음성 특징의 차원을 나타낸다.
또한, 예를 들어, 효과적인 정보를 최대한 유지하는 동시에 연산 속도를 높이기 위해, 추출된 음성 특징을 전처리(pre-processing)할 수 있고, 전처리된 음성 특징은 단계 S103에 사용될 수 있다. 예를 들어, 상기 전처리는 오버래핑(overlapping) 프레임 및 다운 샘플링을 포함할 수 있으며, 다른 유형의 전처리도 포함될 수 있음을 이해해야 한다. 여기에서, 오버래핑 프레임은 n개의 연속된 프레임이 하나의 큰 프레임으로 연결되는 것을 의미하고, 다운 샘플링은 m 프레임마다 하나의 프레임을 예약하는 것을 의미한다. 오버래핑 프레임 및 다운 샘플링을 포함하는 전처리를 수행한 후, 음성 특징의 행렬 형태는 t1 * f1이고, 여기에서, t1 = t0/m, f1 = f * n이다. 또한, 예를 들어, 상기 음성 특징은 위치 코딩 벡터와 결합되어 단계 S103에서 사용될 수 있다.
단계 S103에서, 엔드투엔드(end-to-end) 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스(abstract representation sequence)를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻는다. 즉, 키워드 검출 모델의 이 엔드투엔드 모델을 통해 상기 미리 설정된 키워드가 음성 신호에 존재하는지 여부를 예측할 수 있다.
구체적으로, 상기 키워드 검출 모델은 다음 방법을 통해 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다: 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하고; 그런 다음, 상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하고; 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다.
예를 들어, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 예측 결과는, 상기 음성 신호에 상기 미리 설정된 키워드가 존재할 확률 및 상기 음성 신호에 상기 미리 설정된 키워드가 존재하지 않을 확률; 또는, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하거나 상기 음성 신호에 상기 미리 설정된 키워드가 존재하지 않는 두 가지 분류 모두의 결과일 수 있다.
예를 들어, 상기 미리 설정된 키워드는, 시스템 또는 애플리케이션에서 미리 정해진 키워드 및 사용자가 정의한 키워드 중 적어도 하나를 포함할 수 있다. 예를 들어, 상기 미리 설정된 키워드는 다양한 형태의 키워드를 포함할 수 있고, 예를 들어, 현재 전자 단말기를 깨우는 깨우기 단어를 포함할 수 있다. 예를 들어, 상기 미리 설정된 키워드는 사용자가 정의한 깨우기 단어를 포함할 수 있다. 예로서, 다음과 같은 적용 시나리오가 있을 수 있다: 전자 단말기가 휴면 상태에 있을 때, 사용자는 깨우기 키워드(즉, 상기 미리 설정된 키워드)를 포함하는 음성 명령(즉, 상기 음성 신호)을 발화하여, 단계 S101을 실행한다.
일 실시예에서, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계는, 어텐션(attention) 메커니즘을 통해 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계를 포함할 수 있다. 즉, 본 개시에서는 음성에서 텍스트로의 인식 과정에서 어텐션 메커니즘을 사용할 수 있다.
예를 들어, 상기 키워드 검출 모델은, 음성 신호의 추상적 표현 시퀀스를 예측하기 위한 음성 인코더(encoder)를 포함할 수 있다. 예를 들어, 상기 음성 인코더는 셀프 어텐션(self-attention) 음성 인코더일 수 있다.
예를 들어, 상기 음성 인코더는 음향(acoustic) 모델과 동일할 수 있으며, 음성 특징으로 입력되고, 프레임당 음소 분류의 사후(post) 확률을 계산할 수 있다. 이는 t1 * p의 행렬이며, t1은 앞서 설명한 것처럼 프레임으로 나눈 시간 차원을 나타내고, p는 모든 음소 유형의 수와 빈(empty) 상태, 공백, 시작 및 끝 표시, 노이즈 표시 등과 같은 기타 비음소 분류 항목을 나타낸다. 상기 음성 인코더는 심층 신경망(DNN), 컨볼루션(convolutional) 신경망(CNN), 순환 신경망(RNN), 트랜스포머 오토 인코더(Autoencoders) 등 다양한 형태로 구현될 수 있다. 예를 들어, 상기 음성 인코더는 트랜스포머(transformer) 셀프 어텐션 특징 추출기(extractor)를 기반으로 구성될 수 있다.
예를 들어, 상기 음성 인코더는 또한 어텐션 메커니즘을 통해 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 입력하여, 음성 인코더가 음성 시퀀스에 상기 미리 설정된 키워드가 존재할 수 있는 부분에 더 주의를 기울이도록 할 수 있다.
예를 들어, 어텐션 메커니즘의 행렬 형태는 다음과 같이 표현될 수 있다:
Figure pat00004
여기에서, Q는 쿼리(query) 행렬로서 형태는 tq * fq이고, K는 키(key) 행렬로서 형태는 tk * fk이고, F()는 쿼리 행렬 행 벡터와 키 행렬 행 벡터 간의 유사도를 비교하는데 사용되는 벡터 유사도 측정 함수를 나타내므로, fq = fk이고, F() 함수의 출력이 tq * tk 형식의 행렬인 한, F() 함수의 특정 구현은 벡터 내적, 코사인 유사성 또는 다층 퍼셉트론 또는 기타 함수일 수 있으며, 본 개시는 여기에 제한되지 않는다. dk는 키 행렬 행 벡터의 차원을 나타내고, softmax() 함수는 Q와 K에 의해 계산된 어텐션 가중치를 정규화하는데 사용되며, V는 값 행렬로서 형태는 tv * fv이고, Z는 어텐션 메커니즘 결과 행렬로서 형태는 tq * fv이다.
예를 들어, 상기 음성 인코더는 복수의 직렬(series) 연결된 서브 모듈을 포함할 수 있고, 각 서브 모듈은 어텐션 메커니즘을 통해 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 상기 음성 신호의 은닉(hidden) 레이어 추상적 표현 시퀀스에 입력하여, 각 단계에서 상기 미리 설정된 키워드에 대한 은닉 레이어 추상적 표현의 선호도(preference)를 강화한다. 예를 들어, 상기 서브 모듈은 멀티 헤드 셀프 어텐션 메커니즘 모듈 트랜스포머 디코더 블록(decoder block)일 수 있다. 복수의 직렬 연결된 서브 모듈 각각의 출력은 다음 서브 모듈의 입력이고, 마지막 서브 모듈의 출력은 전체 음성 인코더의 출력이라는 것을 이해해야 한다. 도 2를 참조하면, 예를 들어, 상기 서브 모듈이 트랜스포머 디코더 모듈인 경우, 어텐션 레이어는 어텐션 메커니즘을 통해 정규화(Add & Norm) 처리 후의 셀프 어텐션(Self-attention) 레이어의 출력과 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하고, 정규화 처리 후의 결과를 선형 레이어의 입력으로 취한다.
도 2 및 도 3을 참조하면, 예를 들어, 각 서브 모듈의 중간(intermediate) 은닉 표현 시퀀스(즉, 은닉 레이어 추상적 표현 시퀀스)는 H이고, 그 형태는 어텐션 메커니즘의 쿼리 행렬(query matrix)로서 t1 * h이다. 상기 미리 설정된 키워드의 추상적 표현 시퀀스 W는 어텐션 메커니즘의 키 행렬(key matrix)로 사용되며, 그 형태는 tw * h이다. 일반적으로 값 행렬(value matrix)과 키 행렬은 동일하므로, W도 값 행렬로 사용된다. 어텐션 메커니즘 후, 중간 은닉 표현 시퀀스의 형태는 여전히 t1 * h로 변경되지 않고 유지된다. 따라서 상기 음성 인코더는 미리 설정된 키워드의 후속 위치 지정을 위해 음성 신호의 시간 차원 정보를 유지할 수 있다.
예를 들어, 상기 키워드 검출 모델은 선형(linear) 레이어를 포함할 수 있다. 상기 선형 레이어는 상기 음성 신호의 추상적 표현 시퀀스에 기초하여 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측한다. 즉, 상기 음성 신호 중 상기 미리 설정된 키워드가 존재할 수 있는 해당 부분의 위치 정보를 획득한다.
일 실시예에서, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 단계는, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스를 결정하는 단계; 어텐션 메커니즘을 통해 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 단계를 포함할 수 있다.
예를 들어, 상기 위치 정보는, 음성 시퀀스에서 상기 미리 설정된 키워드의 시작 프레임의 식별 정보 및 음성 시퀀스에서 상기 미리 설정된 키워드의 종료 프레임의 식별 정보를 포함할 수 있다. 이와 대응하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분은, 음성 시퀀스에서 상기 미리 설정된 키워드의 시작 프레임과 종료 프레임 사이의 부분이다.
예를 들어, 상기 키워드 검출 모델은 분류기(classifier)를 포함할 수 있고, 상기 분류기는 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다.
선택적으로, 상기 키워드 검출 모델은 사용자로부터 입력된 음성 신호를 실시간으로 처리하여 사용자의 음성 신호의 일부에 상기 미리 설정된 키워드가 존재하는지 여부를 예측할 수 있다. 즉, 상기 사용자의 발화 시작 시점부터 종료 시점까지 사용자의 음성 신호 입력이 완료되기를 대기(wait)하지 않고, 사용자로부터 입력된 음성 신호의 적어도 일부를 실시간으로 처리하여, 상기 음성 신호의 적어도 일부에 상기 미리 설정된 키워드가 존재하는지 여부를 예측할 수 있다.
도 4는 본 개시의 일 실시예에 따른 키워드 포지셔닝 결과에 따른 로컬 어텐션 메커니즘 기반의 키워드 검출 방법을 도시한다. 도 4를 참조하면, 상기 음성 인코더는 각 프레임의 음소 분류 확률(즉, 각 프레임에 다양한 음소가 존재할 확률)을 계산하는 것은 물론, 현재 프레임이 상기 미리 설정된 키워드의 시작 프레임 및 종료 프레임일 확률을 계산한다. 이를 통해, 시작 프레임으로서 가장 큰 확률을 갖는 프레임을 음성 시퀀스에서 상기 미리 설정된 키워드의 시작 위치로 선택하여 이를 s로 표현할 수 있고; 종료 프레임으로서 가장 큰 확률을 갖는 프레임을 음성 시퀀스에서 상기 미리 설정된 키워드의 종료 위치로 선택하여 이를 e로 표현할 수 있다. 이와 대응하여, 도 5를 참조하면, s에서 e까지의 서브 행렬 Sh는 음성 인코더에 의해 출력된 상기 음성 신호의 추상적 표현 시퀀스에서 인터셉트(intercept)될 수 있고, 그 형태는 t2 * h이고, t2=e-s이고, Sh는 음성 시퀀스에서 상기 미리 설정된 키워드 중 해당 부분만을 포함하는 추상적 표현 시퀀스를 나타내며, 다시 어텐션 메커니즘(구체적으로, 위치 안내의 로컬 어텐션 메커니즘)을 통해 음성 정보와 미리 설정된 키워드 정보를 결합한다. 차이점은, 미리 설정된 키워드의 추상적 표현 시퀀스 W를 Q로 취하고, Sh를 K 및 V로 취한다는 것이다. 어텐션 메커니즘을 실행하기 전, 공백 라인 벡터(즉, 공간 점유 벡터) Co를 W의 첫 번째 행 벡터 앞에 삽입할 수 있으므로, 어텐션 메커니즘의 계산 후, 형태가 (1 + tw) * h인 행렬을 출력할 수 있다. 여기에서, 첫 번째 추가 행 벡터는 분류 벡터로 사용되고, 이 분류 벡터는 MLP(Multi-Layer Perceptron)를 통해 변환한 후 상기 미리 설정된 키워드의 출현 확률 또는 출현하지 않을 확률 중 적어도 어느 하나를 예측할 수 있다.
예를 들어, 본 개시의 일 실시예에 따른 키워드 검출 방법은, 상기 키워드 검출 모델에 의해 출력된 결과, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는 경우, 전자 단말기를 깨우는(wake-up) 단계를 더 포함할 수 있다.
예를 들어, 본 개시의 일 실시예에 따른 키워드 검출 방법은, 상기 키워드 검출 모델에 의해 출력된 결과, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는 경우, 상기 결과 및 상기 위치 정보를 출력하는 단계를 더 포함할 수 있다.
예를 들어, 상기 미리 설정된 키워드의 추상적 표현 시퀀스는 사전 트레이닝된 키워드 인코더를 통해 상기 미리 설정된 키워드의 음소 시퀀스에 기초하여 생성될 수 있다.
도 6은 본 개시의 일 실시예에 따른 미리 설정된 키워드의 추상적 표현 시퀀스를 생성하는 방법을 도시한 흐름도이다. 상기 미리 설정된 키워드는 사용자가 정의한 키워드, 예를 들어 사용자가 정의한 깨우기 단어일 수 있고, 다른 유형의 키워드도 적용할 수 있다. 예를 들어, 본 개시의 일 실시예에 따른 미리 설정된 키워드의 추상적 표현 시퀀스를 생성하는 방법은 도 1에 도시된 키워드 검출 방법을 실행하는 전자 단말기에 의해 수행될 수 있다.
도 6을 참조하면, 단계 S201에서, 사용자가 정의한 키워드의 텍스트를 획득한다.
예를 들어, 사용자가 입력한 사용자 정의 키워드의 텍스트를 직접 수신할 수 있고, 사용자가 입력한 사용자 정의 키워드의 음성을 대응하는 텍스트로 변환할 수도 있다.
단계 S202에서, 상기 텍스트의 음소 시퀀스를 획득한다.
예를 들어, 발음 사전을 쿼리하여 텍스트의 음소 시퀀스를 얻을 수 있고, 자소 대 음소(G2P, grapheme to phoneme) 모델을 사용하여 텍스트의 음소 시퀀스를 예측할 수 있다. 예를 들어, 발음 사전을 먼저 쿼리하여 상기 텍스트의 음소 시퀀스를 쿼리할 수 있고, 쿼리되지 않으면, G2P 모델을 사용하여 예측할 수 있다.
단계 S203에서, 상기 텍스트 및/또는 상기 음소 시퀀스에 기초하여, 사용자 정의 키워드가 미리 설정된 조건을 충족하는지 여부를 판단한다.
예를 들어, 상기 미리 설정된 조건은 사용자 정의 키워드가 검출 대상(예, 깨우기 단어)으로 적합한지 여부를 판단하기 위한 조건일 수 있다. 예를 들어, 상기 미리 설정된 조건은, 검출 오류의 가능성을 최소화하기 위해, 적어도 5음절 및 유사한 발음을 가진 더 적은 다른 단어 등과 같은 다른 사용자가 정의 가능한 기준을 포함할 수 있다.
단계 S203에서 사용자가 정의한 키워드가 미리 설정된 조건을 충족한다고 판단되면 단계 S204를 실행하고, 상기 텍스트의 음소 시퀀스를 사전 트레이닝된 키워드 인코더에 입력하며, 사용자가 정의한 키워드의 추상적 표현 시퀀스를 획득한다. 예를 들어, 상기 추상적 표현 시퀀스는 tw * h 형태의 행렬일 수 있다. 구체적으로, 먼저 임베딩(embedding) 레이어를 임베딩하여 임베팅 벡터를 얻을 수 있고, 임베딩 벡터와 위치 코딩 벡터를 결합한 후 키워드 인코더에 입력한다.
예를 들어, 키워드 인코더는 다양한 방식으로 구현될 수 있다. 예를 들어, 심층 신경망(DNN) 인코더, 컨볼루션 신경망(CNN) 인코더, 순환 신경망(RNN) 인코더 또는 트랜스포머 오토 인코더 중 하나일 수 있으며, 본 개시는 이에 대해 제한하지 않는다. 예를 들어, 키워드 인코더는 트랜스포머 셀프 어텐션 특징 추출기를 기반으로 구성될 수 있다. 예를 들어, 트랜스포머 아키텍처는 음성 인코더 및 키워드 인코더를 구현하기 위한 백본 네트워크로 사용될 수 있다. 여기에서, 키워드 인코더는 4 레이어의 트랜스포머 인코더 구조를 사용할 수 있고, 음성 인코더는 6레이어의 트랜스포머 디코더 구조를 사용할 수 있다. 구체적인 레이어의 수는 예시일 뿐 이애 제한되지 않는다. 예를 들어, 상기 레이어의 수는 실제 실행 장비의 연산 능력에 따라 결정될 수 있다.
또한, 사용자 정의 키워드의 추상적 표현 시퀀스는 키워드 검출 모델의 후속 호출을 위해 사용자의 전자 단말기에 저장될 수 있다.
예를 들어, 상기 키워드 검출 모델 및 상기 키워드 인코더는 원격 서버로부터 전자 단말기에 의해 획득될 수 있다. 또한, 상기 키워드 검출 모델 및 상기 키워드 인코더는 일반 코퍼스 데이터 세트에 대해 상기 원격 서버에 의해 트레이닝될 수 있고, 전자 단말기에 이를 직접 다운로드하여 사용할 수 있다. 다시 말해, 원격 서버는 코퍼스(corpus) 데이터 세트를 통해 키워드 검출 모델 및 키워드 인코더를 트레이닝할 수 있고, 트레이닝 후 전자 단말기에 배포할 수 있다. 사용자는 키워드 인코더를 이용하여 사용자 정의 키워드를 설정할 수 있고, 전자 단말기는 키워드 검출 모델을 이용하여 음성 신호에서 사용자 정의 키워드를 검출할 수 있다. 사용자가 키워드를 정의하고, 키워드 검출 모델을 사용하여 사용자 정의 키워드를 검출하는 과정에서, 네트워크에 액세스할 필요가 없으므로 검출 정확도를 충족할 수 있고, 전자 단말기의 컴퓨팅 리소스와 스토리지 리소스를 지나치게 많이 차지하지 않을 수 있다.
일 실시예에서, 상기 키워드 검출 모델은 다중 목표 연합 트레이닝을 통해 획득될 수 있다.
예를 들어, 상기 다중 목표는, 음성 신호에 대응하는 음소 시퀀스 예측, 음성 신호 내 키워드의 위치 예측 및 음성 신호 내 키워드 존재 여부 예측을 포함할 수 있다.
예를 들어, 각 트레이닝 목표에 대해 대응하는 목적(target) 함수를 설정할 수 있다. 예를 들어, 음성 신호에서 키워드의 위치를 정확하게 예측하는 목표에 대응하는 목표 손실 함수는, 어텐션 매트릭스의 대각(diagonal) 패턴에 기초한 위치 손실 함수일 수 있다.
도 7은 본 개시의 일 실시예에 따른 키워드 검출 모델 및 키워드 인코더를 트레이닝하기 위한 트레이닝 네트워크를 도시한다. 예를 들어, 키워드 검출 모델 및 키워드 인코더의 트레이닝은 원격 서버에서 완료할 수 있다.
도 7에 도시된 바와 같이, 상기 트레이닝 네트워크는 다중 목표 연합 트레이닝 네트워크로, 3가지 서로 다른 손실 함수를 사용하여 키워드 검출 모델 및 키워드 인코더에 대한 엔드투엔드 트레이닝을 구현한다. 트레이닝이 완료된 후 실제 사용에서, 키워드 검출 모델과 키워드 인코더를 별도로 사용할 수 있음을 이해해야 한다. 즉 음성에 미리 설정된 키워드가 포함되는지 여부를 식별할 때 키워드 검출 모델을 단독으로 사용하고, 사용자가 키워드를 정의하거나 시스템 또는 응용 프로그램에서 규정한 키워드를 처리해야 할 때 키워드 인코더를 단독으로 사용할 수 있다. 이는 실제 실행 시간의 메모리 점유를 줄일 뿐만 아니라 실행 속도를 높인다.
본 개시에 따른 트레이닝 데이터 세트는, 시스템 또는 응용 프로그램에서 규정한 키워드(예, 깨우기 단어)에 대해 특별히 트레이닝된 검출 모델과 비교하여 쉽게 획득한 일반 코퍼스를 사용할 수 있으며, 획득하기 어려운 프레임을 따라 정렬된 레이블(label) 데이터와 특정 키워드에 대한 다수의 음성 샘플을 필요로 하지 않는다. 트레이닝 샘플은 포지티브 샘플과 네거티브 샘플로 나뉜다. 예를 들어, 트레이닝용 포지티브 샘플과 네거티브 샘플은 공통 코퍼스에서 얻을 수 있다. 각 샘플은 하나의 쿼드러플(quadruple)로, 음성 데이터, 음성 데이터에 대응하는 전사 텍스트, 지정된 키워드 텍스트 및 지정된 키워드가 음성에 있는지 여부를 나타내는 레이블을 포함하며, 지정된 키워드가 음성에 존재하면 포지티브 샘플이고, 그렇지 않으면 네거티브 샘플이다. 지정된 키워드가 음성에 있는 경우, 이 음성의 전사 텍스트 중 해당 지정된 키워드를 포함하는 전후에 키워드 시작 태그 <start> 및 키워드 종료 태그 <end>를 삽입해야 한다. 예를 들어, 트레이닝 입력 그룹에서, 음성의 전사 텍스트가 "Hi Freeman call my wife"이고, 지정된 키워드가 "Freeman"인 경우, 입력 트레이닝 네트워크의 전사 텍스트는 "Hi <start> Freeman <end> call my wife"로 수정되어야 한다. Librispeech 데이터 세트와 같은 일반 코퍼스 데이터 세트의 경우, 각 전사 텍스트에서 특정 키워드로 단어를 무작위로 선정할 수 있으며, 해당 전사 텍스트에서 이 단어 전후에 <start> 및 <end> 마크를 포지티브 샘플로 삽입할 수 있으므로 전사 텍스트는 복수의 포지티브 샘플을 생성할 수 있다. 일반 코퍼스 데이터 세트 사전에서, 현재 전사된 텍스트에 없는 단어를 지정된 키워드로 무작위로 선택한다. 전사된 텍스트와 선택한 지정된 키워드는 네거티브 샘플을 형성하므로, 전사 텍스트는 복수의 네거티브 샘플을 생성할 수 있다. 또한, 균형 잡힌 포지티브 및 네거티브 샘플의 용량은 거의 동일하다.
트레이닝의 첫 번째 목표는 음성 인코더가 음성 입력에 대응하는 음소 시퀀스를 가능한 정확하게 예측할 수 있도록 하는 것이다. 예를 들어, 사용된 목표 손실 함수는 CTC(Connectionist Temporal Classification) 손실일 수 있다. 길이가 T인 음성 시퀀스 x를 입력하고, 음성 인코더의 출력은 O=o1,o2,...,oT이고, ot ∈*RN이며,
Figure pat00005
를 사용하여 t번째 프레임 음성 데이터의 음소가 n으로 예측될 확률을 나타낸다. CTC는 추가 빈 출력 ø를 사용하여 음소 태그 시퀀스 y에 삽입하고, 음소 문자 집합이 L이면, CTC 출력 문자 집합은 L'=L∪*{ø}이고, L'의 크기는 N이다. 음성 인코더의 출력 O의 각 프레임에 대해 음소 ðt를 취하여, 길이가 T인 음소 경로 ð를 형성하고, 그 확률은
Figure pat00006
이다. 다대일 매핑을 B(ð)=l로 정의하고, 1은 B("xøøyzø")= "xyz"와 같이 시퀀스 ð에서 연속 반복 출력과 빈 출력 ø를 제거한 후의 시퀀스이다. 그런 다음, 음성 입력 x가 주어지면, 출력이 태그 시퀀스 y일 조건 확률
Figure pat00007
을 예측하고, 이를 통해 CTC 손실을 정의한다:
Figure pat00008
.
트레이닝의 두 번째 목표는 두 번의 어텐션 메커니즘을 통해 음성 정보와 키워드 정보를 결합하는 것이다. 키워드 인코더의 출력을 음성 인코더에 입력한 후, 입력 음성에서 지정된 키워드의 위치를 최대한 찾을 수 있다. 손실 함수는 위치 손실(Location loss) 함수이다. 키워드 시퀀스를 입력하면, 키워드 인코더는 Tw * h 형태의 행렬인 W를 출력한다. 길이가 T인 음성 시퀀스를 입력하고, 첫 번째 키워드 어텐션 코딩 후, T * h 형태와 같은 음성의 추상적 표현 시퀀스를 얻는다. 그런 다음 H에 따라, 음성 인코더는 O=o1,o2,...,oT를 출력하고, ot ∈*RN 이다.
Figure pat00009
를 사용하여 t번째 프레임 음성 데이터가 <start> 태그인 음소를 예측할 확률을 나타내고,
Figure pat00010
를 사용하여 t번째 프레임 음성 데이터가 <end> 태그인 음소를 예측할 확률을 나타내고,
Figure pat00011
는 ts 프레임에서 최대값이고,
Figure pat00012
는 te 프레임에서 최대값이다. ts와 te 사이의 출력 ot에 대응하는 음성의 추상적 표현 시퀀스 Sh를 인터셉트하고, Th = te - ts로 설정하면, Sh의 형태는 Th * h이다. 그런 다음 키워드 인코더에 의해 출력된 W로 어텐션 코딩을 수행하고, 어텐션 가중치 출력
Figure pat00013
은 Tw * Th의 행렬이다. 포지티브 샘플의 경우, 키워드 텍스트 정보를 나타내는 W와 키워드 음성 정보를 나타내는 Sh가 일치해야 하고, 어텐션 가중치 행렬 A에서는 대각선 패턴이 관찰되지만, 네거티브 샘플에서는 이러한 패턴이 없어야 한다. 보다 정확한 키워드 포지셔닝을 달성하기 위해 이런 패턴을 강화하기 위해, 본 개시는 어텐션 행렬의 대각선 패턴에 기초한 위치 손실 함수(Location loss) 최적화 목표를 도입한다.
Figure pat00014
여기서, 마스크 행렬 M의 행렬 크기는 A와 동일하며 w * h이고,
Figure pat00015
이다. M에 대한 정의는 가우스 분포를 기반으로 하는 로컬 대각선 패턴을 반영하고, σ는 하이퍼 파라미터(hyper-parameter)이고, σ>0이고, 대각선 패턴의 허용(tolerance) 오차를 제어한다. 값이 작을수록 대각선이 더 날카로워지고, 키워드 및 그 대응하는 음성에 대한 일치 제한이 더 강해진다. 어텐션 가중치의 대각선 패턴을 기반으로 위치 손실 함수의 제약을 도입함으로써, 음성 데이터에서 미리 설정된 키워드의 위치를 효율적이고 정확하게 찾을 수 있다.
트레이닝의 세 번째 목표는 키워드 검출 모델이 포지티브 샘플과 네거티브 샘플을 최대한 정확하게 분류하도록 요구하는 것이다. 앞서 언급한 바와 같이, 두 번째 어텐션 코딩이 출력한 첫 번째 행 벡터는 분류 벡터로 사용되고, MLP 변환 후 이진 분류 목적 손실 함수를 사용하여 최적화한다. 이 손실 함수는 평균 제곱 오차 손실 함수 (MSE(Mean Square Error) loss), 교차 엔트로피 손실 함수 (CCE(Categorical Cross Entropy) loss) 또는 이진 교차 엔트로피 손실 함수 (BCE(Binary Cross Entropy) loss)일 수 있다.
트레이닝 과정에서, 3가지 손실 함수의 결과를 전체적으로 고려하여 키워드 인코더 및 키워드 검출 모델의 모델 파라미터를 조정해야 한다. 예를 들어, 음성 인코더, 선형 레이어, 분류기 및 키워드 인코더의 모델 파라미터를 조정합니다. 예를 들어, 총 손실 함수는 λ1*(CTC loss) + λ2*(Location loss) + λ3*(Classification loss)일 수 있다. 이는 엔드투엔드 키워드 검출 모델 및 키워드 인코더의 전역 최적화를 보장하고, 트레이닝을 통해 전역 최적화를 실현하여, 검출 정확도를 높이고, 단계적 학습으로 인한 중간 특징 품질 저하의 리스크와 로컬만의 최적화 문제를 방지할 수 있다.
예를 들어, 여러 트레이닝 방법을 사용할 수 있고, 일반 코퍼스 데이터 세트를 먼저 사용하여 대규모 ASR(Automatic Speech Recognition) 모델을 트레이닝할 수 있고, 이 ASR 모델도 트랜스포머 아키텍처를 채택할 수 있다. 여기서 트랜스포머 인코더는 본 개시에서 음성 인코더가 어텐션 레이어를 제거하는 것과 유사하고, 트랜스포머 디코더는 본 개시에서 키워드 인코더가 어텐션 레이어를 추가하는 것과 유사하다. 그런 다음, 사전 트레이닝된 ASR 모델을 기반으로 음성 인코더와 키워드 인코더를 계속 트레이닝한다. 그런 다음, 일반 코퍼스 데이터 세트에서 생성된 키워드 및 위치 마커를 갖는 포지티브 샘플과 네거티브 샘플을 사용하여, 엔드투엔드로 전체 네트워크를 트레이닝, 즉 키워드 검출 모델과 키워드 인코더를 동시에 트레이닝한다. 예를 들어, 키워드 검출 모델 및 키워드 인코더를 포함한 매개변수가 적은 키워드 검출 네트워크를 설계할 수 있으며, Teacher-Student 트레이닝 방법을 사용하여 이미 트레이닝된 대규모 키워드를 Teacher로서 검출하여, 작은 네트워크와 동시에 트레이닝함으로써, 예측 정확도를 유지한다는 전제 하에 네트워크 파라미터를 줄일 수 있다.
또한, 예를 들어, 음성 인코더 이후의 선형 레이어와 키워드 인코더 앞의 임베딩 레이어(음소 임베딩 레이어)는 동일한 추상적 표현 차원을 가지므로, 네트워크 가중치를 공유할 수 있고, 네트워크 파라미터를 더욱 줄일 수 있다.
기존 기술에서, 모델은 일반적으로 시스템 또는 응용 프로그램에 의해 규정된 키워드에 대해 트레이닝된다. 따라서 시스템이나 응용 프로그램에서 규정한 키워드만 정확하게 식별할 수 있으며, 사용자가 정의한 키워드의 정확한 식별은 지원할 수 없다. 사용자가 키워드를 직접 정의하려면, 원격 서버에 키워드를 업로드해야 한다. 그러면 기술자가 사용자가 정의한 키워드에 따라 모델 프로그램을 재개발하거나 수정한 후, 사용자가 이를 다운로드하여 사용한다. 이는 사용자의 개인정보 문제, 높은 인건비, 시간과 노동력 낭비를 야기한다. 본 개시는 사용자 정의 키워드 특수 트레이닝 모델에 대한 해당 프로그램을 변경할 필요가 없을 뿐만 아니라, 사용자 정의 키워드 및 키워드 검출 프로세스를 로컬에서 완전히 실현할 수 있으며, 검출 정확도 또한 높다.
도 8은 본 개시의 일 실시예에 따른 키워드 검출 장치를 도시한 블록도이다.
도 8에 도시된 바와 같이, 본 개시의 일 실시예에 따른 키워드 검출 장치는 수신 유닛(101), 특징 추출 유닛(102) 및 검출 유닛(103)을 포함한다.
수신 유닛(101)는 사용자로부터 입력된 음성 신호를 수신하기 위해 사용된다.
특징 추출 유닛(102)은 상기 음성 신호의 음성 특징을 추출하기 위해 사용된다.
검출 유닛(103)은 엔드투엔드 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻기 위해 사용된다.
여기에서, 상기 키워드 검출 모델은, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 방법; 상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하는 방법; 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 방법을 통해 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측한다.
예를 들어, 상기 미리 설정된 키워드는 사용자가 정의한 키워드를 포함할 수 있다.
예를 들어, 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 처리는, 어텐션 메커니즘을 통해 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계를 포함할 수 있다.
예를 들어, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 처리는, 상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스를 결정하는 단계; 어텐션 메커니즘을 통해 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 단계를 포함할 수 있다.
예를 들어, 상기 키워드 검출 모델은, 음성 신호의 추상적 표현 시퀀스를 예측하는데 사용되는 음성 인코더를 포함할 수 있고, 여기에서, 상기 음성 인코더는 복수의 직렬 연결된 서브 모듈을 포함할 수 있고, 각 서브 모듈은 어텐션 메커니즘을 통해 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 상기 음성 신호의 은닉 레이어 추상적 표현 시퀀스에 입력한다.
예를 들어, 상기 미리 설정된 키워드의 추상적 표현 시퀀스는 사전 트레이닝된 키워드 인코더를 통해 상기 미리 설정된 키워드의 음소 시퀀스에 기초하여 생성될 수 있다.
예를 들어, 상기 키워드 검출 모델은 다중 목표 연합 트레이닝을 통해 획득될 수 있다.
예를 들어, 상기 다중 목표는, 음성 신호에 대응하는 음소 시퀀스 예측, 음성 신호 내 키워드의 위치 예측 및 음성 신호 내 키워드 존재 여부 예측을 포함할 수 있다.
예를 들어, 음성 신호 내 키워드의 위치를 예측하는 목표에 대응하는 목표 손실 함수는, 어텐션 행렬의 대각선 패턴을 기반으로 하는 위치 손실 함수일 수 있다.
예를 들어, 상기 장치는 전자 단말기일 수 있고, 상기 키워드 검출 모델은 원격 서버로부터 상기 전자 단말기에 의해 획득될 수 있고, 여기에서, 상기 키워드 검출 모델은 일반 코퍼스 데이터 세트에 대해 상기 원격 서버에 의해 트레이닝된다.
예를 들어, 본 개시의 일 실시예에 따른 키워드 검출 장치는 깨우기 유닛(미도시) 및/또는 출력 유닛(미도시)을 더 포함할 수 있다.
깨우기 유닛은, 상기 키워드 검출 모델에 의해 출력된 결과가 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는 경우, 현재 전자 단말기를 깨우는데 사용된다.
출력 유닛은, 상기 키워드 검출 모델에 의해 출력된 결과가 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는 경우, 상기 결과 및 상기 위치 정보를 출력하는데 사용된다.
선택적으로, 상기 키워드 검출 모델은 사용자로부터 입력된 음성 신호를 실시간으로 처리하여 사용자의 음성 신호의 일부에 상기 미리 설정된 키워드가 존재하는지 여부를 예측할 수 있다. 즉, 상기 사용자의 발화 시작 시점부터 종료 시점까지 사용자의 음성 신호 입력이 완료되기를 대기(wait)하지 않고, 사용자로부터 입력된 음성 신호의 적어도 일부를 실시간으로 처리하여, 상기 음성 신호의 적어도 일부에 상기 미리 설정된 키워드가 존재하는지 여부를 예측할 수 있다.
본 개시의 일 실시예에 따른 키워드 검출 장치에 의해 수행되는 구체적인 처리는 도 1 내지 도 7을 참조하여 상세히 설명된 것으로 이해되어야 하며, 관련 세부 사항은 여기서 더는 반복하지 않는다.
본 개시의 일 실시예에 따른 키워드 검출 장치에서 각 유닛/모듈은 하드웨어 구성요소 및/또는 소프트웨어 구성요소로 구현될 수 있음을 이해해야 한다. 본 기술분야의 통상의 지식을 가진 자는 정의된 각 유닛/모듈에서 수행하는 처리에 따라, 예를 들어 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)을 이용하여 각 유닛/모듈을 구현할 수 있다.
본 개시의 일 실시예의 다른 일 방면에 따르면, 컴퓨팅 프로그램을 저장하고, 상기 컴퓨팅 프로그램은 프로세서에 의해 실행될 때 본 개시의 딥 러닝 모델용 양자화 방법을 구현하는 것인 컴퓨터 판독 가능 저장 매체를 제공한다.
구체적으로, 본 개시의 일 실시예에 따른 키워드 검출 방법은 컴퓨터 판독 가능 저장 매체에 기록된 컴퓨터 프로그램 명령에 의해 구현될 수 있으며, 상기 컴퓨터 프로그램 명령은 프로세서 또는 다른 유형의 컴퓨팅 장치에 의해 실행될 때 상기 방법을 구현한다. 상기 저장 매체는 또한 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 포함하거나, 데이터 파일, 데이터 구조 등과 프로그램 명령의 조합을 포함할 수 있다. 컴퓨터 판독 가능 저장 매체의 예시로, 자기 매체(예, 하드 디스크, 플로피 디스크 및 자기 테이프), 광학 매체(예, CD ROM 디스크 및 DVD), 자기 광학 매체(예, 광학 디스크) 및 프로그램 명령을 저장하고 실행하도록 특별히 구성된 하드웨어 장치(예, 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 플래시 메모리 등) 등을 포함한다. 프로그램 명령의 예시로, 기계 코드(예, 컴파일러에 의해 생성됨) 및 인터프리터를 사용하여 컴퓨터에 의해 실행될 수 있는 상위 수준 코드가 포함된 파일을 포함한다. 설명된 하드웨어 장치는 상기 동작 및 방법을 수행하기 위해 하나 이상의 소프트웨어 유닛으로 구성될 수 있으며, 그 역도 마찬가지이다. 또한, 컴퓨터 판독 가능 저장 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드 또는 프로그램 명령이 저장되고 실행될 수 있다.
본 개시의 또 다른 일 실시예에 따른 키워드 검출 장치는, 적어도 하나의 프로세서; 컴퓨터 실행 가능 명령을 저장하는 적어도 하나의 메모리를 포함하고, 상기 컴퓨터 실행 가능 명령은 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 방법들 중 어느 하나의 방법에 따른 딥 러닝 모델용 양자화 방법을 실행하도록 상기 적어도 하나의 프로세서를 제어한다.
구체적으로, 상기 키워드 검출 장치는 광범위하게 태블릿 컴퓨터, 스마트 폰, 스마트 워치, 또는 필요한 컴퓨팅 및/또는 처리 능력을 갖는 임의의 다른 전자 장치일 수 있다. 일 실시예에서, 해당 전자 장치는 시스템 버스를 통해 연결된 프로세서, 메모리, 네트워크 인터페이스, 통신 인터페이스 등을 포함할 수 있다. 해당 전자 장치의 프로세서는 필요한 컴퓨팅, 처리 및/또는 제어 기능을 제공하는 데 사용될 수 있다. 해당 전자 장치의 메모리는 비휘발성 저장 매체 및 메모리를 포함할 수 있다. 해당 비휘발성 저장 매체는 운영 체제, 컴퓨터 프로그램 등을 저장할 수 있다. 해당 메모리는 비휘발성 저장 매체의 운영 체제 및 컴퓨터 프로그램의 동작을 위한 환경을 제공할 수 있다. 해당 전자 장치의 네트워크 인터페이스 및 통신 인터페이스는 네트워크를 통해 외부 장치와 연결 및 통시하는데 사용될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
101: 수신 유닛 102: 특징 추출 유닛
103: 검출 유닛

Claims (16)

  1. 키워드 검출 방법에 있어서,
    사용자로부터 입력된 음성 신호의 적어도 일부를 수신하는 단계;
    상기 음성 신호의 음성 특징을 추출하는 단계;
    엔드투엔드 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스(abstract representation sequence)를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻는 단계
    를 포함하고,
    상기 키워드 검출 모델은,
    상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 동작;
    상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하는 동작; 및
    상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작
    을 수행하여 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는,
    키워드 검출 방법.
  2. 제1항에 있어서,
    상기 키워드 검출 방법은, 상기 사용자로부터 입력된 상기 음성 신호의 적어도 일부에 대해 실시간(real-time)으로 수행되는,
    키워드 검출 방법.
  3. 제1항에 있어서,
    상기 미리 설정된 키워드는 시스템 또는 애플리케이션에 의해 미리 정해진 키워드 및 사용자가 정의한 키워드 중 적어도 하나를 포함하는,
    키워드 검출 방법.
  4. 제1항에 있어서,
    상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계는,
    어텐션 메커니즘을 통해 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 단계를 포함하는,
    키워드 검출 방법.
  5. 제1항에 있어서,
    상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 단계는,
    상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스를 결정하는 단계; 및
    어텐션 메커니즘을 통해 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 단계
    를 포함하는,
    키워드 검출 방법.
  6. 제4항에 있어서,
    상기 키워드 검출 모델은, 음성 신호의 추상적 표현 시퀀스를 예측하는데 사용되는 음성 인코더를 포함하고,
    상기 음성 인코더는 복수의 직렬(series) 연결된 서브(sub) 모듈을 포함하고, 각 서브 모듈은 어텐션 메커니즘을 통해 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 상기 음성 신호의 은닉(hidden) 레이어 추상적 표현 시퀀스에 입력하는,
    키워드 검출 방법.
  7. 제1항에 있어서,
    상기 미리 설정된 키워드의 추상적 표현 시퀀스는 사전 트레이닝된 키워드 인코더를 통해 상기 미리 설정된 키워드의 음소 시퀀스(Phone sequence)에 기초하여 생성되는,
    키워드 검출 방법.
  8. 제1항에 있어서,
    상기 키워드 검출 모델은 다중 목표 연합 트레이닝(Multi-objective Joint Training)을 통해 획득되고,
    상기 다중 목표는, 상기 음성 신호에 대응하는 음소 시퀀스 예측, 상기 음성 신호 내 키워드의 위치 예측 및 상기 음성 신호 내 키워드 존재 여부 예측을 포함하는,
    키워드 검출 방법.
  9. 제8항에 있어서,
    상기 음성 신호 내 키워드의 위치를 예측하는 목표에 대응하는 목표 손실 함수는 어텐션 행렬의 대각선 패턴을 기반으로 하는 위치 손실 함수인,
    키워드 검출 방법.
  10. 제1항에 있어서,
    상기 키워드 검출 모델에 의해 출력된 결과가 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는 경우, 현재 전자 단말기를 깨우고; 또는, 상기 결과 및 상기 위치 정보를 출력하는 단계를 더 포함하는,
    키워드 검출 방법.
  11. 키워드 검출 장치에 있어서,
    사용자로부터 입력된 음성 신호의 적어도 일부를 수신하는 수신 유닛;
    상기 음성 신호의 음성 특징을 추출하는 특징 추출 유닛; 및
    엔드투엔드 키워드 검출 모델에 상기 음성 특징 및 미리 설정된 키워드의 추상적 표현 시퀀스를 입력하고, 상기 키워드 검출 모델이 출력한 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부에 대한 결과를 얻는 검출 유닛
    을 포함하고,
    상기 키워드 검출 모델은,
    상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는 동작;
    상기 음성 신호의 추상적 표현 시퀀스에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드의 위치 정보를 예측하는 동작; 및
    상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작
    을 수행하여 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는,
    키워드 검출 장치.
  12. 제11항에 있어서,
    상기 키워드 검출 장치는, 상기 사용자로부터 입력된 상기 음성 신호의 적어도 일부를 실시간(real-time)으로 처리하는,
    키워드 검출 장치.
  13. 제11항에 있어서,
    상기 검출 유닛은,
    어텐션 메커니즘을 통해 상기 음성 특징 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호의 추상적 표현 시퀀스를 획득하는,
    키워드 검출 장치.
  14. 제11항에 있어서,
    상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작은,
    상기 음성 신호의 추상적 표현 시퀀스 및 상기 위치 정보에 기초하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스를 결정하는 동작; 및
    어텐션 메커니즘을 통해 상기 음성 신호에서 상기 미리 설정된 키워드가 있는 부분의 추상적 표현 시퀀스 및 상기 미리 설정된 키워드의 추상적 표현 시퀀스를 결합하여, 상기 음성 신호에서 상기 미리 설정된 키워드가 존재하는지 여부를 예측하는 동작
    를 포함하는,
    키워드 검출 장치.
  15. 컴퓨팅 프로그램을 저장하고, 상기 컴퓨팅 프로그램은 프로세서에 의해 실행될 때 제1항 내지 제10항 중 어느 한 항에 따른 키워드 검출 방법을 구현하는, 컴퓨터 판독 가능 저장 매체.
  16. 키워드 검출 장치에 있어서,
    프로세서; 및
    컴퓨팅 프로그램을 저장하고, 상기 컴퓨팅 프로그램이 프로세서에 의해 실행될 때 제1항 내지 제10항 중 어느 한 항에 따른 키워드 검출 방법을 구현하는 메모리
    를 포함하는, 키워드 검출 장치.
KR1020210182848A 2021-03-18 2021-12-20 키워드 검출 방법 및 장치 KR20220130565A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/698,368 US20220301550A1 (en) 2021-03-18 2022-03-18 Method and apparatus with keyword detection

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110291276.X 2021-03-18
CN202110291276.XA CN113035231B (zh) 2021-03-18 2021-03-18 关键词检测方法及装置

Publications (1)

Publication Number Publication Date
KR20220130565A true KR20220130565A (ko) 2022-09-27

Family

ID=76471510

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210182848A KR20220130565A (ko) 2021-03-18 2021-12-20 키워드 검출 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20220130565A (ko)
CN (1) CN113035231B (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282785B (zh) * 2021-07-19 2021-11-05 北京快鱼电子股份公司 一种基于未标注关键词数据的关键词检测方法及***
CN114817456B (zh) * 2022-03-10 2023-09-05 马上消费金融股份有限公司 关键词检测方法、装置、计算机设备及存储介质
CN114420101B (zh) * 2022-03-31 2022-05-27 成都启英泰伦科技有限公司 一种未知语言端侧命令词小数据学习识别方法
CN114863915A (zh) * 2022-07-05 2022-08-05 中科南京智能技术研究院 一种基于语义保留的语音唤醒方法及***
CN115064160B (zh) * 2022-08-16 2022-11-22 阿里巴巴(中国)有限公司 语音唤醒方法以及装置
CN115862604B (zh) * 2022-11-24 2024-02-20 镁佳(北京)科技有限公司 语音唤醒模型训练及语音唤醒方法、装置及计算机设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105679316A (zh) * 2015-12-29 2016-06-15 深圳微服机器人科技有限公司 一种基于深度神经网络的语音关键词识别方法及装置
CN106782536B (zh) * 2016-12-26 2020-02-28 北京云知声信息技术有限公司 一种语音唤醒方法及装置
CN107665705B (zh) * 2017-09-20 2020-04-21 平安科技(深圳)有限公司 语音关键词识别方法、装置、设备及计算机可读存储介质
CN109545190B (zh) * 2018-12-29 2021-06-29 联动优势科技有限公司 一种基于关键词的语音识别方法
CN110119765B (zh) * 2019-04-18 2021-04-06 浙江工业大学 一种基于Seq2seq框架的关键词提取方法
CN110288980A (zh) * 2019-06-17 2019-09-27 平安科技(深圳)有限公司 语音识别方法、模型的训练方法、装置、设备及存储介质
CN110334244B (zh) * 2019-07-11 2020-06-09 出门问问信息科技有限公司 一种数据处理的方法、装置及电子设备
JP7191792B2 (ja) * 2019-08-23 2022-12-19 株式会社東芝 情報処理装置、情報処理方法およびプログラム
CN110767223B (zh) * 2019-09-30 2022-04-12 大象声科(深圳)科技有限公司 一种单声道鲁棒性的语音关键词实时检测方法
CN110827806B (zh) * 2019-10-17 2022-01-28 清华大学深圳国际研究生院 一种语音关键词检测方法及***
CN111144127B (zh) * 2019-12-25 2023-07-25 科大讯飞股份有限公司 文本语义识别方法及其模型的获取方法及相关装置
CN111508493B (zh) * 2020-04-20 2022-11-15 Oppo广东移动通信有限公司 语音唤醒方法、装置、电子设备及存储介质
CN112151015B (zh) * 2020-09-03 2024-03-12 腾讯科技(深圳)有限公司 关键词检测方法、装置、电子设备以及存储介质
CN111933129B (zh) * 2020-09-11 2021-01-05 腾讯科技(深圳)有限公司 音频处理方法、语言模型的训练方法、装置及计算机设备

Also Published As

Publication number Publication date
CN113035231A (zh) 2021-06-25
CN113035231B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
US11158305B2 (en) Online verification of custom wake word
US11798535B2 (en) On-device custom wake word detection
US11776531B2 (en) Encoder-decoder models for sequence to sequence mapping
US9728183B2 (en) System and method for combining frame and segment level processing, via temporal pooling, for phonetic classification
KR20220130565A (ko) 키워드 검출 방법 및 장치
US10580432B2 (en) Speech recognition using connectionist temporal classification
CN108885870A (zh) 用于通过将言语到文本***与言语到意图***组合来实现声音用户接口的***和方法
US11961515B2 (en) Contrastive Siamese network for semi-supervised speech recognition
US20230237993A1 (en) Systems and Methods for Training Dual-Mode Machine-Learned Speech Recognition Models
US20230368796A1 (en) Speech processing
EP3910625A2 (en) Method and apparatus for utterance time estimation
US20210073645A1 (en) Learning apparatus and method, and program
CN116324973A (zh) 包含时间缩减层的基于变换器的自动语音识别***
US20220301550A1 (en) Method and apparatus with keyword detection
US20220319501A1 (en) Stochastic future context for speech processing
EP4030352A1 (en) Task-specific text generation based on multimodal inputs
KR20230120790A (ko) 가변적 언어모델을 이용한 음성인식 헬스케어 서비스
US20220092404A1 (en) Neural network selection
Wazir et al. Deep learning-based detection of inappropriate speech content for film censorship
Li et al. A joint multi-task learning framework for spoken language understanding
US12033618B1 (en) Relevant context determination
KR20240089276A (ko) 다중 언어 자동 스피치 인식을 위한 공동 비지도 및 지도 트레이닝
Bukhari et al. Multi-task Learning in Prediction and Correction for Low Resource Speech Recognition