KR20190112684A - 음성 처리 방법 및 음성 처리 장치 - Google Patents

음성 처리 방법 및 음성 처리 장치 Download PDF

Info

Publication number
KR20190112684A
KR20190112684A KR1020190113611A KR20190113611A KR20190112684A KR 20190112684 A KR20190112684 A KR 20190112684A KR 1020190113611 A KR1020190113611 A KR 1020190113611A KR 20190113611 A KR20190113611 A KR 20190113611A KR 20190112684 A KR20190112684 A KR 20190112684A
Authority
KR
South Korea
Prior art keywords
voice
response
speech
spoken
noise
Prior art date
Application number
KR1020190113611A
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 KR1020190113611A priority Critical patent/KR20190112684A/ko
Publication of KR20190112684A publication Critical patent/KR20190112684A/ko
Priority to US16/676,160 priority patent/US20210082421A1/en

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
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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/04Segmentation; Word boundary detection
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • 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/93Discriminating between voiced and unvoiced parts of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
    • 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/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

탑재된 인공지능(artificial intelligence, AI) 알고리즘 및/또는 기계학습(machine learning) 알고리즘을 실행하여 음성 처리를 수행함으로써 5G 통신 환경에서 음성 처리 장치와 사용자 단말기와 서버가 통신할 수 있는 음성 처리 방법 및 음성 처리 장치가 개시된다. 본 발명의 일 실시 예에 따른 음성 처리 방법은, 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환하는 단계와, 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득하는 단계와, 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하는 단계와, 동적 응답 발화 음성을 출력하는 단계를 포함할 수 있다.
본 발명에 의하면, 텍스트 음성 변환부에서 변환되어 출력되는 발화 음성에 대한 외부의 상황 정보에 따라 동적 발화 음성을 생성하여 출력함으로써 음성 인식 성능을 향상시킬 수 있다.

Description

음성 처리 방법 및 음성 처리 장치{METHOD AND DEVICE FOR SPEECH PROCESSING}
본 발명은 음성 처리 방법 및 음성 처리 장치에 관한 것으로, 더욱 상세하게는 텍스트 음성 변환부(TTS: text to speech)가 변환하여 출력하는 응답 발화 음성에 대한 외부의 상황 정보에 따라 동적 응답 발화 음성을 생성하여 출력하는 음성 처리 방법 및 음성 처리 장치에 관한 것이다.
음성은 인간의 가장 자연스러운 의사 소통 수단이면서 정보 전달 수단이자, 언어를 구현하는 수단으로서 인간이 내는 의미 있는 소리이다.
인간과 기계 사이의 음성을 통한 통신 구현에 대한 시도는 과거부터 꾸준히 발전되어 왔는바, 더욱이 최근 음성 정보를 효과적으로 처리하기 위한 음성 정보 처리 기술(SIT: speech information technology;) 분야가 괄목할 만한 발전을 이룩함에 따라 실생활에도 속속 적용이 되고 있다. 이러한 음성 정보 처리 기술에 포함되는 음성 인식(speech recognition)은 발화된 음성을 인식하여 문자열로 변환하는 기술이다.
선행기술 1에는 위험 재해 예상지역이나 관할 구역의 취약지에 구비되는 방송용 동보 장치에 TTS 모듈을 탑재하여 서버나 담당자로부터 방송 데이터만을 동보 장치 측으로 전송한 후 음성으로 변환하여 안내방송을 실시할 수 있도록 한 TTS 모듈이 구비된 방송용 동보 장치 및 그 제어방법을 개시하고 있다.
선행기술 2에는 TTS 기술과 사용자 맞춤형 서비스를 결합 및 응용하여 사용자에게 꼭 필요한 방송 프로그램 정보만을 음성으로 출력하는 TTS 기술을 이용한 사용자 맞춤형 방송 서비스 방법을 개시하고 있다.
이러한 선행기술 1 및 선행기술 2에 개시된 TTS는 발화가 시작되면 주변 소음과 상관 없이 끝까지 발화하거나, 기동어가 수신되면 발화를 중간에 멈추고 있다. 따라서 청취자의 입장에서 TTS가 발화하는 음성에 대한 청취 집중도가 저하되어, TTS가 발화를 통해 청취자에게 전달하고자 하는 메시지의 정확도가 감소할 수 있다.
전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
선행기술 1: 한국 공개특허공보 제10-2010-0117284호(2010.11.03) 선행기술 2: 한국 공개특허공보 제10-2011-0066409호(2011.06.17)
본 발명의 일 과제는, 텍스트 음성 변환부가 변환하여 출력하는 발화 음성에 대한 외부의 상황 정보에 따라 동적 발화 음성을 생성하여 출력하는데 있다.
본 발명의 일 과제는, 텍스트 음성 변환부가 변환하여 출력하는 발화 음성에 대한 사용자의 직접적인 반응 정보에 따라 동적 발화 음성을 생성하여 출력하는데 있다.
본 발명의 일 과제는, 텍스트 음성 변환부가 변환하여 출력하는 발화 음성에 대한 주변의 간접적인 오디오 정보에 따라 동적 발화 음성을 생성하여 출력하는데 있다.
본 발명의 일 과제는, 텍스트 음성 변환부가 변환한 발화 음성 출력 시에 수신한 시간 제약 정보에 따라 발화 음성의 출력 속도를 변환시킨 동적 발화 음성을 생성하여 출력하는데 있다.
본 발명의 일 과제는, 텍스트 음성 변환부가 변환환 발화 음성의 출력이 시작되면 주변 소음과 상관 없이 끝까지 발화하거나, 기동어가 수신되면 발화 음성 출력을 중간에 멈추어, 청취자의 입장에서 청취 집중도가 저하되어, 청취자에게 전달하고자 하는 메시지의 정확도가 감소할 수 있는 종래 기술의 문제점을 최적의 프로세스 자원을 사용하면서 해결하는 것이다.
본 발명의 일 실시 예에 따른 음성 처리 방법은, 텍스트 음성 변환부가 변환하여 출력하는 응답 발화 음성에 대한 외부의 상황 정보에 따라 동적 응답 발화 음성을 생성하여 출력하는 단계를 포함할 수 있다.
구체적으로, 본 발명의 일 실시 예에 따른 음성 처리 방법은, 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환하는 단계와, 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득하는 단계와, 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하는 단계와, 동적 응답 발화 음성을 출력하는 단계를 포함할 수 있다.
본 실시 예에 따른 음성 처리 방법을 통하여, 텍스트 음성 변환부가 변환하여 출력하는 발화 음성에 대한 외부의 상황 정보에 따라 동적 발화 음성을 생성하여 출력함으로써 음성 인식 성능을 향상시킬 수 있다.
또한, 외부의 상황 정보를 획득하는 단계는, 응답 발화 음성을 출력한 후 마이크로 입력되는 외부의 상황 정보에 대한 소음을 측정하는 단계와, 소음을 측정한 결과가 제1 기준값을 초과하는 경우, 소음을 청취자의 직접적인 반응 정보로서의 제1 소음으로 판단하는 단계와, 소음을 측정한 결과가 제2 기준값을 초과하고 제1 기준값 미만인 경우, 소음을 주변에서 발생하는 간접적인 오디오 정보로서의 제2 소음으로 판단하는 단계를 포함할 수 있다.
또한, 동적 응답 발화 음성을 생성하는 단계는, 제1 소음의 판단 결과에 대응하여 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 응답 발화 음성을 생성하는 단계를 포함할 수 있다.
또한, 동적 응답 발화 음성을 생성하는 단계는, 제1 소음이 제1 기준값 미만이 될 때까지 제1 동적 응답 발화 음성에 포함된 묵음 구간을 삽입한 제1 동적 발화 음성을 생성하는 단계와, 제1 소음이 제1 기준값 미만이 되면 묵음 구간의 삽입을 종료하고 응답 발화 음성의 생성을 재개하는 단계를 포함할 수 있다.
또한, 본 실시 예에 따른 음성 처리 방법은 묵음 구간의 삽입을 종료하고 응답 발화 음성의 출력을 재개하기 전에 기저장된 위트성 멘트를 출력하는 단계를 더 포함할 수 있다.
또한, 동적 응답 발화 음성을 생성하는 단계는, 제2 소음의 판단 결과에 대응하여 응답 발화 음성의 볼륨을 증가시키거나, 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성하는 단계를 포함할 수 있다.
또한, 동적 응답 발화 음성을 생성하는 단계는, 제2 소음이 제2 기준값 미만이 될 때까지 응답 발화 음성의 볼륨을 증가시키거나, 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성하는 단계와, 제2 소음이 제2 기준값 미만이 되면 제2 동적 응답 발화 음성의 생성을 종료하고 응답 발화 음성의 생성을 재개하는 단계를 포함할 수 있다.
또한, 외부의 상황 정보를 획득하는 단계는, 소정 시간 내에 응답 발화 음성의 출력을 종료해야 하는 시간 제약 정보를 획득하는 단계를 포함할 수 있다.
또한, 동적 응답 발화 음성을 생성하는 단계는, 시간 제약 정보에 대응하여 응답 발화 음성의 출력 속도 정보를 변환한 제3 동적 응답 발화 음성을 생성하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따른 음성 처리 장치는, 하나 이상의 프로세서를 포함하는 음성 처리 장치로서, 하나 이상의 프로세서는, 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환하고, 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득하고, 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하고, 동적 응답 발화 음성을 출력하도록 구성될 수 있다.
본 실시 예에 따른 음성 처리 장치를 통하여, 텍스트 음성 변환부가 변환하여 출력하는 발화 음성에 대한 외부의 상황 정보에 따라 동적 발화 음성을 생성하여 출력함으로써 음성 인식 성능을 향상시킬 수 있다.
또한, 하나 이상의 프로세서는, 외부의 상황 정보를 획득 시에, 응답 발화 음성을 출력한 후 마이크로 입력되는 외부의 상황 정보에 대한 소음을 측정하고, 소음을 측정한 결과가 제1 기준값을 초과하는 경우, 소음을 청취자의 직접적인 반응 정보로서의 제1 소음으로 판단하고, 소음을 측정한 결과가 제2 기준값을 초과하고 제1 기준값 미만인 경우, 소음을 주변에서 발생하는 간접적인 오디오 정보로서의 제2 소음으로 판단하도록 구성될 수 있다.
또한, 하나 이상의 프로세서는, 동적 응답 발화 음성을 생성 시에, 제1 소음의 판단 결과에 대응하여 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 응답 발화 음성을 생성하도록 구성될 수 있다.
또한, 하나 이상의 프로세서는, 동적 응답 발화 음성을 생성 시에, 제1 소음이 제1 기준값 미만이 될 때까지 제1 동적 응답 발화 음성에 포함된 묵음 구간을 삽입한 제1 동적 발화 음성을 생성하고, 제1 소음이 제1 기준값 미만이 되면 묵음 구간의 삽입을 종료하고 응답 발화 음성의 생성을 재개하도록 구성될 수 있다.
또한, 하나 이상의 프로세서는, 묵음 구간의 삽입을 종료하고 응답 발화 음성의 출력을 재개하기 전에 기저장된 멘트를 출력하도록 추가로 구성될 수 있다.
또한, 하나 이상의 프로세서는, 동적 응답 발화 음성을 생성 시에, 제2 소음의 판단 결과에 대응하여 응답 발화 음성의 볼륨을 증가시키거나, 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성하도록 구성될 수 있다.
또한, 하나 이상의 프로세서는, 동적 응답 발화 음성을 생성 시에, 제2 소음이 제2 기준값 미만이 될 때까지 응답 발화 음성의 볼륨을 증가시키거나, 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성하고, 제2 소음이 제2 기준값 미만이 되면 제2 동적 응답 발화 음성의 생성을 종료하고 응답 발화 음성의 생성을 재개하도록 구성될 수 있다.
또한, 하나 이상의 프로세서는, 외부의 상황 정보를 획득 시에, 소정 시간 내에 응답 발화 음성의 출력을 종료해야 하는 시간 제약 정보를 획득하도록 구성될 수 있다.
또한, 하나 이상의 프로세서는, 동적 응답 발화 음성을 생성 시에, 시간 제약 정보에 대응하여 응답 발화 음성의 출력 속도 정보를 변환한 제3 동적 응답 발화 음성을 생성하도록 구성될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.
전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
본 발명에 의하면, 텍스트 음성 변환부가 변환하여 출력하는 발화 음성에 대한 외부의 상황 정보에 따라 동적 발화 음성을 생성하여 출력함으로써 음성 인식 성능을 향상시킬 수 있다.
또한, 텍스트 음성 변환부가 변환하여 출력하는 발화 음성에 대한 외부의 상황 정보에 따라 동적 발화 음성을 생성하여 출력함으로써 청취자의 청취 집중도를 향상시켜 텍스트 음성 변환부가 청취자에게 정확한 메시지를 전달할 수 있다.
또한, 텍스트 음성 변환부가 변환한 발화 음성의 출력 시에 수신한 시간 제약 정보에 따라 발화 음성의 출력 속도를 변환시킨 동적 발화 음성을 생성하여 출력함으로써 음성 인식 성능을 향상시킬 수 있다.
또한, 음성 처리 장치 자체는 대량 생산된 획일적인 제품이지만, 사용자는 음성 처리 장치를 개인화된 장치로 인식하므로 사용자 맞춤형 제품의 효과를 낼 수 있다.
또한, 음성 인식 처리를 통한 여러 가지 서비스를 제공함에 있어서 사용자의 만족도를 높일 수 있으며, 신속하고 정확한 음성 인식 처리를 수행할 수 있다.
또한 최적의 프로세서 자원만을 사용하여 출력되는 발화 음성에 대한 외부의 상황 정보에 따라 동적 발화 음성을 생성하여 출력함으로써 음성 처리 장치의 전력 효율을 향상시킬 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시 예에 따른 음성 처리 장치, 사용자 단말기, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 음성 처리 환경의 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 음성 처리 장치의 외관을 나타내는 예시도이다.
도 3은 본 발명의 일 실시 예에 따른 음성 처리 장치의 개략적인 블록도이다.
도 4는 도 3의 음성 처리 장치 중 일 실시 예에 따른 정보 처리부의 개략적인 블록도이다.
도 5는 본 발명의 일 실시 예에 따른 출력 발화 음성에 대한 외부의 상황 정보에 따라 생성한 동적 발화 음성의 예시도 이다.
도 6은 본 발명의 일 실시 예에 따른 음성 처리 방법의 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 음성 처리 장치, 사용자 단말기, 서버 및 이들을 서로 연결하는 네트워크를 포함하는 음성 처리 환경의 예시도이다. 도 1을 참조하면, 음성 처리 환경은, 음성 처리 장치(100), 사용자 단말기(200), 서버(300) 및 네트워크(400)를 포함할 수 있다. 음성 처리 장치(100), 사용자 단말기(200) 및 서버(300)는 5G 통신 환경에서 서로 연결될 수 있다. 또한, 도 1에 도시된 기기들 이외에 가정 또는 사무실에서 사용되는 다양한 전자 기기들이 사물 인터넷 환경 하에서 서로 연결되어 동작할 수 있다.
음성 처리 장치(100)는 사용자 발화 음성을 수신하고, 발화 음성의 인식 및 분석을 통하여 음성 인식 서비스를 제공할 수 있다. 본 실시 예에서, 음성 처리 장치(100)는 인공지능(AI) 스피커 또는 커뮤니케이션 로봇 등과 같은 음성 인식 기능을 수행할 수 있는 다양한 전자 기기들을 포함할 수 있다. 또한 음성 처리 장치(100)는 음성 입출력 기능이 없는 전자 기기를 제어하는 허브 역할을 할 수 있다. 여기서 음성 인식 서비스라 함은, 사용자 발화 음성을 수신하여 기동어 및 발화문을 구별하고, 발화문에 대한 음성 인식 처리 결과를 사용자가 인지할 수 있도록 출력하는 것을 포함할 수 있다.
또한 사용자 발화 음성은 기동어와 발화문을 포함할 수 있다. 기동어는 음성 처리 장치(100)의 음성 인식 기능을 활성화 시키는 특정 명령어로서, 웨이크업 워드(wake-up word)로 명명될 수 있다. 사용자 발화 음성에 기동어가 포함되어 있어야 음성 인식 기능이 활성화 될 수 있고, 사용자 발화 음성에 기동어가 포함되어 있지 않은 경우 음성 인식 기능이 비활성화(예를 들어, 슬립 모드) 상태를 유지한다. 이러한 기동어는 기설정되어 후술하는 메모리(도 3의 160)에 저장될 수 있다.
또한 발화문은 기동어에 의해 음성 처리 장치(100)의 음성 인식 기능이 활성화된 후에 처리되는 사용자의 음성 명령어로서, 음성 처리 장치(100)는 음성 명령어를 실질적으로 처리하여 출력을 생성할 수 있다. 예를 들어, 사용자 발화 음성이 "하이 엘지, 에어컨을 켜줘"인 경우, 기동어는 "하이 엘지"일 수 있고, 발화문은 "에어컨을 켜줘"일 수 있다. 음성 처리 장치(100)는 사용자의 발화문을 수신 및 분석하여 기동어의 존재를 판단하고, 발화문을 실행하여 전자 기기로서의 에어컨(미도시)을 제어할 수 있다.
본 실시 예에서 음성 처리 장치(100)는 기동어를 수신한 후 음성 인식 기능을 화성화시킨 상태에서, 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환할 수 있다.
음성 처리 장치(100)는 응답 발화 음성을 스피커(도 3의 오디오 출력부(142))로 출력하는 경우 응답 발화 음성의 출력에 대한 외부의 상황 정보를 획득할 수 있다. 본 실시 예에 음성 처리 장치(100)는 외부의 상황 정보에 대한 소음을 측정하고, 제1 소음 및 제2 소음을 측정할 수 있다. 따라서 음성 처리 장치(100)가 획득하는 외부의 상황 정보는 제1 소음 및 제2 소음을 포함할 수 있다.
여기서, 제1 소음은 제1 기준값(예를 들어, 60 데시벨)을 초과하는 외부의 상황 정보로서, 응답 발화 음성의 출력에 대한 청취자(사용자 포함)의 직접적인 반응 정보 예를 들어, 박수 또는 환호성 등을 포함할 수 있다. 또한 제1 소음은 실제 소음은 아니지만 외부 인터럽트를 포함할 수 있다.
또한 제2 소음은 제2 기준값(예를 들어, 30 데시벨) 이상 제1 기준값 미만의 외부의 상황 정보로서, 응답 발화 음성의 출력에 대하여 주변에서 발생하는 간접적인 오디오 정보 즉 주변 소음 등을 포함할 수 있다. 여기서 제2 소음은 응답 발화 음성의 출력과 관련이 있는 소음으로서 예를 들어, 제2 기준값을 초과하지만 제1 기준값 미만의 청취자의 상황 정보를 포함하거나, 응답 발화 음성의 출력과 무관한 소음으로서 예를 들어, 자동차 지나가는 소리 등을 포함할 수 있다.
또한 외부의 상황 정보는 발화 음성의 출력 시간을 설정하는 시간 제약 정보를 포함할 수 있다. 여기서 시간 제약 정보라 함은 응답 발화 음성의 출력을 정해진 시간 내에 종료해야 하는 시간 설정 정보를 포함할 수 있다.
음성 처리 장치(100)는 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하고, 스피커를 통하여 동적 응답 발화 음성 또는 응답 발화 음성을 출력할 수 있다. 음성 처리 장치(100)는 제1 소음에 대응하여 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 응답 발화 음성을 생성할 수 있다. 또한 음성 처리 장치(100)는 제2 소음에 대응하여 응답 발화 음성의 볼륨을 증가시키거나 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성할 수 있다. 또한 음성 처리 장치(100)는 시간 제약 정보에 대응하여 응답 발화 음성의 속도를 변환시킨 제3 동적 응답 발화 음성을 생성할 수 있다.
음성 처리 장치(100)는 제1 소음이 제1 기준값 미만이 될 때까지 제1 동적 응답 발화 음성에 포함된 묵음 구간을 삽입한 제1 동적 발화 음성을 생성하고, 제1 소음이 제1 기준값 미만이 되면 묵음 구간의 삽입을 종료하고 응답 발화 음성의 출력을 재개할 수 있다. 여기서 묵음 구간을 삽입한 후 제1 소음이 제2 기준값을 초과하면, 응답 발화 음성의 볼륨 또는 피치를 증가 시킨 제2 동적 응답 발화 음성을 생성할 수 있다. 음성 처리 장치(100)는 제2 동적 응답 발화 음성을 생성한 후 제1 소음이 제2 기준값 미만이 되면 제2 동적 응답 발화음성의 생성을 종료하고, 응답 발화 음성의 출력을 재개할 수 있다.
음성 처리 장치(100)는 제2 동적 응답 발화 음성을 생성한 후 제2 소음이 제2 기준값 미만이 되면 제2 동적 응답 발화 음성의 생성을 종료하고 응답 발화 음성의 생성을 재개할 수 있다. 또한 음성 처리 장치(100)는 제3 동적 응답 발화 음성을 생성한 후 시간 제약 정보에 포함된 설정 시간에 도달하면 제3 동적 응답 발화 음성의 생성을 종료할 수 있다.
사용자 단말기(200)는 음성 처리 어플리케이션 또는 음성 처리 사이트에 접속한 후 인증 과정을 통하여 음성 처리 장치(100)의 상태 정보를 모니터링 하거나, 음성 처리 장치(100)를 구동하거나 또는 제어할 수 있는 서비스를 제공받을 수 있다. 본 실시 예에서 인증 과정을 마친 사용자 단말기(200)는 일 예로, 사용자 발화 음성을 수신하면, 음성 처리 장치(100)의 동작 모드를 결정하여 음성 처리 장치(100)를 동작시키거나, 음성 처리 장치(100)의 동작을 제어할 수 있다.
사용자 단말기(200)는 컴퓨팅 장치(미도시)의 기능을 수행할 수 있는 통신 단말기를 포함할 수 있으며, 본 실시 예에서 사용자 단말기(200)는 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 노트북, 태블릿 PC, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 사용자 단말기(200)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 단말기 일 수 있다. 사용자 단말기(200)는 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말기는 제한 없이 차용될 수 있다.
서버(300)는 각종 인공지능 알고리즘을 적용하는데 필요한 빅데이터 및 음성 인식에 관한 데이터를 제공하는 데이터베이스 서버일 수 있다. 그 밖에 서버(300)는 사용자 단말기(200)에 설치된 애플리케이션 또는 웹 브라우저를 이용하여 음성 처리 장치(100)를 원격에서 제어할 수 있도록 하는 웹 서버 또는 애플리케이션 서버를 포함할 수 있다.
여기서 인공 지능(artificial intelligence, AI)은, 인간의 지능으로 할 수 있는 사고, 학습, 자기계발 등을 컴퓨터가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것을 의미할 수 있다.
또한, 인공지능은 그 자체로 존재하는 것이 아니라, 컴퓨터 과학의 다른 분야와 직간접으로 많은 관련을 맺고 있다. 특히 현대에는 정보기술의 여러 분야에서 인공지능적 요소를 도입하여, 그 분야의 문제 풀이에 활용하려는 시도가 매우 활발하게 이루어지고 있다.
머신 러닝(machine learning)은 인공지능의 한 분야로, 컴퓨터에 명시적인 프로그램 없이 배울 수 있는 능력을 부여하는 연구 분야를 포함할 수 있다. 구체적으로 머신 러닝은, 경험적 데이터를 기반으로 학습을 하고 예측을 수행하고 스스로의 성능을 향상시키는 시스템과 이를 위한 알고리즘을 연구하고 구축하는 기술이라 할 수 있다. 머신 러닝의 알고리즘들은 엄격하게 정해진 정적인 프로그램 명령들을 수행하는 것이라기보다, 입력 데이터를 기반으로 예측이나 결정을 이끌어내기 위해 특정한 모델을 구축하는 방식을 취할 수 있다.
서버(300)는 음성 처리 장치(100)의 음성 인식 기능을 수행할 수 있으며, 음성 처리 장치(100)로부터 수신한 사용자의 발화 음성에 대응하여 응답 텍스트를 생성하고, 응답 텍스트를 응답 발화 음성으로 변환하여 음성 처리 장치(100)로 전송할 수 있다. 서버(300)는 음성 처리 장치(100)로부터 수신한 외부의 상황 정보에 대응하여 제1 동적 응답 발화 음성 내지 제3 동작 발화 음성 중 하나 이상을 생성하여 음성 처리 장치(100)로 전송할 수 있다.
음성 처리 장치(100)의 프로세싱 능력에 따라, 음성 인식 기능을 포함하여, 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로의 변환, 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성의 생성 중 적어도 일부는 음성 처리 장치(100)에 의해 수행될 수 있다.
네트워크(400)는 음성 처리 장치(100)와, 사용자 단말기(200)와, 서버(300)를 연결하는 역할을 수행할 수 있다. 이러한 네트워크(400)는 예컨대 LANs(local area networks), WANs(wide area networks), MANs(metropolitan area networks), ISDNs(integrated service digital networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 또한 네트워크(400)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi (wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.
네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(400)는 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 음성 처리 장치의 외관을 나타내는 예시도이고, 도 3은 본 발명의 일 실시 예에 따른 음성 처리 장치의 개략적인 블록도이다. 이하의 설명에서 도 1에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 2 및 도 3을 참조하면, 음성 처리 장치(100)는 통신부(110), 디스플레이부(121) 및 조작부(122)를 포함하는 사용자 인터페이스부(120), 센싱부(130), 오디오 입력부(141) 및 오디오 출력부(142)를 포함하는 오디오 처리부(140), 정보 처리부(150), 메모리(160) 및 제어부(170)를 포함할 수 있다.
통신부(110)는 네트워크(400)와 연동하여 음성 처리 장치(100) 및/또는 사용자 단말기(200) 및/또는 서버(300) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공할 수 있다. 나아가, 통신부(110)는 사용자 단말기(200)로부터 소정의 정보 요청 신호를 수신하는 역할을 할 수 있고, 음성 처리 장치(100)가 처리한 정보를 사용자 단말기(200)로 전송하는 역할을 수행할 수 있다. 또한 통신부(110)는 사용자 단말기(200)로부터 소정의 정보 요청 신호를 서버(300)로 전송하고, 서버(300)가 처리한 응답 신호를 수신하여, 사용자 단말기(200)로 전송할 수 있다. 또한 통신부(110)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
또한, 통신부(110)는 각종 사물 지능 통신(IoT(internet of things), IoE(internet of everything), IoST(internet of small things) 등)을 지원할 수 있으며, M2M(machine to machine) 통신, V2X(vehicle to everything communication) 통신, D2D(device to device) 통신 등을 지원할 수 있다.
사용자 인터페이스부(120) 중 디스플레이부(121)는 제어부(170)의 제어 하에 음성 처리 장치(100)의 구동 상태를 디스플레이 할 수 있다. 실시 예에 따라서, 디스플레이부(121)는 터치패드와 상호 레이어 구조를 이루어 터치스크린으로 구성될 수 있다. 이 경우에, 디스플레이부(121)는 사용자의 터치에 의한 정보의 입력이 가능한 조작부(122)로도 사용될 수 있다. 이를 위해 디스플레이부(121)는 터치 인식 디스플레이 제어기 또는 이외의 다양한 입출력 제어기로 구성될 수 있다. 일 예로, 터치 인식 디스플레이 제어기는 장치와 사용자 사이에 출력 인터페이스 및 입력 인터페이스를 제공할 수 있다. 터치 인식 디스플레이 제어기는 전기 신호를 제어부(170)와 송수신할 수 있다. 또한, 터치 인식 디스플레이 제어기는 사용자에게 시각적인 출력을 표시하며, 시각적 출력은 텍스트, 그래픽, 이미지, 비디오와 이들의 조합을 포함할 수 있다. 이와 같은 디스플레이부(121)는 예를 들어 터치 인식이 가능한 OLED(organic light emitting display) 또는 LCD(liquid crystal display) 또는 LED(light emitting display)와 같은 소정의 디스플레이 부재일 수 있다.
사용자 인터페이스부(120) 중 조작부(122)는 복수의 조작 버튼(미도시)을 구비하여, 입력되는 버튼에 대응하는 신호를 제어부(170)로 전송할 수 있다. 이러한 조작부(122)는 사용자의 터치 또는 누름 조작을 인식할 수 있는 센서 또는 버튼, 스위치 구조로 구성될 수 있다. 본 실시 예에서 조작부(122)는 디스플레이부(121)에 표시되는 음성 처리 장치(100)의 구동과 관련한 각종 정보를 확인하거나, 변경하기 위해 사용자가 조작하는 조작 신호를 제어부(170)로 전송할 수 있다.
센싱부(130)는 음성 처리 장치(100)의 주변 상황을 센싱하는 각종 센서를 포함할 수 있으며, 근접센서(131) 및 영상센서(132)를 포함할 수 있다. 근접센서(131)는 적외선 등을 활용하여 음성 처리 장치(100) 주변에 위치한 객체(예를 들어 사용자)의 위치 데이터를 획득할 수 있다. 한편, 근접센서(131)가 획득한 사용자의 위치 데이터는 메모리(160)에 저장될 수 있다.
영상센서(132)는 음성 처리 장치(100) 주변을 촬영할 수 있는 카메라(미도시)를 포함할 수 있으며, 촬영 효율을 위해 복수 개가 설치될 수 있다. 예를 들어, 카메라는 적어도 하나의 광학렌즈와, 광학렌즈를 통과한 광에 의해 상이 맺히는 다수개의 광다이오드(photodiode, 예를 들어, pixel)를 포함하여 구성된 이미지센서(예를 들어, CMOS image sensor)와, 광다이오드들로부터 출력된 신호를 바탕으로 영상을 구성하는 디지털 신호 처리기(DSP: digital signal processor)를 포함할 수 있다. 디지털 신호 처리기는 정지영상은 물론이고, 정지영상으로 구성된 프레임들로 이루어진 동영상을 생성할 수 있다. 한편, 영상센서(132)로서의 카메라가 촬영하여 획득된 영상은 메모리(160)에 저장될 수 있다.
본 실시 예에서 센싱부(130)를 근접센서(131) 및 영상센서(132)로 한정하고 있으나, 이에 국한되지 않고, 음성 처리 장치(100)의 주변 상황을 감지할 수 있는 센서 예를 들어, 도시되지는 않았으나, 라이다 센서(Lidar sensor), 무게 감지 센서, 조도 센서(illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor), 마이크로폰(microphone), 배터리 게이지(battery gauge), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 실시 예에서 음성 처리 장치(100)는 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
오디오 처리부(140) 중 오디오 입력부(141)는 사용자 발화 음성(예를 들어 기동어 및 발화문)을 입력 받아 제어부(170)로 전송할 수 있고, 제어부(170)는 사용자 발화 음성을 정보 처리부(150)로 전송할 수 있다. 이를 위해 오디오 입력부(141)는 하나 이상의 마이크로폰(미도시)을 구비할 수 있다. 또한 사용자 발화 음성을 더 정확하게 수신하기 위해 복수의 마이크로폰(미도시)을 구비할 수 있다. 여기서, 복수의 마이크 각각은 서로 다른 위치에 이격되어 배치될 수 있고, 수신한 사용자 발화 음성을 전기적인 신호로 처리할 수 있다.
선택적 실시 예로 오디오 입력부(141)는 사용자 발화 음성을 수신하는 과정에서 발생하는 노이즈를 제거하기 위한 다양한 노이즈 제거 알고리즘을 사용할 수 있다. 선택적 실시 예로 오디오 입력부(141)는 사용자 발화 음성 수신 시에 노이즈를 제거하는 필터(미도시), 필터에서 출력되는 신호를 증폭하여 출력하는 증폭기(미도시) 등 음성 신호 처리를 위한 각종 구성 요소들을 포함할 수 있다.
오디오 처리부(140) 중 오디오 출력부(142)는 제어부(170)의 제어에 따라 경고음, 동작모드, 동작상태, 에러상태 등의 알림 메시지, 사용자의 발화정보에 대응하는 응답정보, 사용자 발화 음성(음성 명령어)에 대응하는 처리 결과 등을 오디오로 출력할 수 있다. 오디오 출력부(142)는 제어부(170)로부터의 전기 신호를 오디오 신호로 변환하여 출력할 수 있다. 이를 위해, 스피커 등을 구비할 수 있다.
정보 처리부(150)는 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환할 수 있다. 정보 처리부(150) 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득할 수 있다. 정보 처리부(150)는 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성할 수 있다. 정보 처리부(150)는 동적 응답 발화 음성을 출력할 수 있다.
본 실시 예에서 정보 처리부(150)는 제어부(170)와 연계하여 학습을 수행하거나, 제어부(170)로부터 학습 결과를 수신할 수 있다. 본 실시 예에서 정보 처리부(150)는 도 3에 도시된 바와 같이 제어부(170) 외부에 구비될 수도 있고, 제어부(170) 내부에 구비되어 제어부(170)처럼 동작할 수도 있고, 도 1의 서버(300) 내부에 구비될 수도 있다. 이하 정보 처리부(150)의 상세한 내용은 도 4를 참조하여 설명하기로 한다.
메모리(160)는 음성 처리 장치(100)의 동작에 필요한 각종 정보들을 저장하는 것으로, 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 예를 들어, 메모리(160)에는 사용자 발화 음성으로부터 기동어의 존재를 판단하기 위한 기설정된 기동어가 저장될 수 있다. 한편, 기동어는 제조사에 의해 설정될 수 있다. 예를 들어, "하이 엘지"가 기동어로 설정될 수 있고, 사용자에 의해 설정 변경할 수 있다. 이러한 기동어는 음성 처리 장치(100)를 활성화시키기 위해 입력되는 것으로, 사용자가 발화한 기동어를 인식한 음성 처리 장치(100)는 음성 인식 활성화 상태로 전환할 수 있다.
또한, 메모리(160)는 오디오 입력부(141)를 통하여 수신되는 사용자 발화 음성(기동어 및 발화 음성)을 저장할 수 있고, 센싱부(130)가 감지한 정보를 저장할 수 있다. 또한 메모리(160)는 음성 처리 장치(100)의 동작에 필요한 각종 정보와, 음성 처리 장치(100)를 동작시킬 수 있는 제어 소프트웨어를 저장할 수 있다.
또한, 메모리(160)는 정보 처리부(150)가 실행할 명령 예를 들어, 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환하는 명령, 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득하는 명령, 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하는 명령, 동적 응답 발화 음성을 출력하는 명령 등을 저장할 수 있다. 또한, 메모리(160)는 정보 처리부(150)가 처리하는 각종 정보를 저장할 수 있다.
여기서, 메모리(160)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 이러한 메모리(160)는 내장 메모리 및/또는 외장 메모리를 포함할 수 있으며, DRAM, SRAM, 또는 SDRAM 등과 같은 휘발성 메모리, OTPROM(one time programmable ROM), PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND 플래시 메모리, 또는 NOR 플래시 메모리 등과 같은 비휘발성 메모리, SSD. CF(compact flash) 카드, SD 카드, Micro-SD 카드, Mini-SD 카드, Xd 카드, 또는 메모리 스틱(memory stick) 등과 같은 플래시 드라이브, 또는 HDD와 같은 저장 장치를 포함할 수 있다.
여기서, 간단한 음성 인식은 음성 처리 장치(100)가 수행하고, 자연어 처리 등 고차원의 음성 인식은 서버(300)에서 수행될 수 있다. 예를 들어, 사용자 발화 음성이 기설정된 기동어만을 포함하는 경우, 음성 처리 장치(100)는 음성 인식 기능을 활성화 시키고 발화문 수신 준비 상태로 전환할 수 있다. 이 경우에, 음성 처리 장치(100)는 기동어 음성 입력 여부까지의 음성 인식 과정만 수행하고, 이후의 발화문에 대한 음성 인식은 서버(300)를 통하여 수행할 수 있다. 음성 처리 장치(100)의 시스템 자원에는 한계가 있으므로, 복잡한 자연어 인식 및 처리는 서버(300)를 통하여 수행될 수 있다.
제어부(170)는 오디오 입력부(141)를 통하여 수신한 사용자 발화 음성을 정보 처리부(150)로 전송하고, 정보 처리부(150)로부터 음성 인식 처리 결과를 디스플레이부(121)를 통하여 시각적 정보로 제공하거나, 오디오 출력부(142)를 통하여 청각적 정보로 제공할 수 있다.
제어부(170)는 일종의 중앙처리장치로서 메모리(160)에 탑재된 제어 소프트웨어를 구동하여 음성 처리 장치(100) 전체의 동작을 제어할 수 있다. 제어부(170)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
본 실시 예에서 제어부(170)는 음성 처리 장치(100)가 최적의 음성 인식 처리 결과를 출력하도록, 사용자 발화 음성에 대하여 딥러닝(Deep Learning) 등 머신 러닝(machine learning)을 수행할 수 있고, 메모리(160)는, 머신 러닝에 사용되는 데이터, 결과 데이터 등을 저장할 수 있다.
머신 러닝의 일종인 딥러닝(deep learning) 기술은 데이터를 기반으로 다단계로 깊은 수준까지 내려가 학습할 수 있다. 딥러닝은 단계를 높여갈수록 복수의 데이터들로부터 핵심적인 데이터를 추출하는 머신 러닝 알고리즘의 집합을 나타낼 수 있다.
딥러닝 구조는 인공신경망(ANN)을 포함할 수 있으며, 예를 들어 딥러닝 구조는 CNN(convolutional neural network), RNN(recurrent neural network), DBN(deep belief network) 등 심층신경망(DNN)으로 구성될 수 있다. 본 실시 예에 따른 딥러닝 구조는 공지된 다양한 구조를 이용할 수 있다. 예를 들어, 본 발명에 따른 딥러닝 구조는 CNN, RNN, DBN 등을 포함할 수 있다. RNN은, 자연어 처리 등에 많이 이용되고 있으며, 시간의 흐름에 따라 변하는 시계열 데이터(time-series data) 처리에 효과적인 구조로 매 순간마다 레이어를 쌓아올려 인공신경망 구조를 구성할 수 있다. DBN은 딥러닝 기법인 RBM(restricted boltzman machine)을 다층으로 쌓아 구성되는 딥러닝 구조를 포함할 수 있다. RBM 학습을 반복하여, 일정 수의 레이어가 되면 해당 개수의 레이어를 가지는 DBN을 구성할 수 있다. CNN은 사람이 물체를 인식할 때 물체의 기본적인 특징들을 추출되는 다음 뇌 속에서 복잡한 계산을 거쳐 그 결과를 기반으로 물체를 인식한다는 가정을 기반으로 만들어진 사람의 뇌 기능을 모사한 모델을 포함할 수 있다.
한편, 인공신경망의 학습은 주어진 입력에 대하여 원하는 출력이 나오도록 노드간 연결선의 웨이트(weight)를 조정(필요한 경우 바이어스(bias) 값도 조정)함으로써 이루어질 수 있다. 또한, 인공신경망은 학습에 의해 웨이트(weight) 값을 지속적으로 업데이트시킬 수 있다. 또한, 인공신경망의 학습에는 역전파(back propagation) 등의 방법이 사용될 수 있다.
한편, 제어부(170)에는 인공신경망(artificial neural network)이 탑재될 수 있고, 수신되는 음성 입력 신호를 입력 데이터로 하는 머신 러닝 기반의 사용자 인식 및 사용자의 음성 인식을 수행할 수 있다.
제어부(170)는 인공신경망, 예를 들어, CNN, RNN, DBN 등 심층신경망(deep neural network: DNN)을 포함될 수 있고, 심층신경망을 학습할 수 있다. 이러한 인공신경망의 머신 러닝 방법으로는 자율학습(unsupervised learning)과 지도학습(supervised learning)이 모두 사용될 수 있다. 제어부(170)는 설정에 따라 학습 후 음색 인식 인공신경망 구조를 업데이트시키도록 제어할 수 있다.
도 4는 도 3의 음성 처리 장치 중 일 실시 예에 따른 정보 처리부의 개략적인 블록도이다. 이하의 설명에서 도 1 내지 도 3에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 4를 참조하면, 정보 처리부(150)는 음성 인식부(151), 데이터베이스(152), 획득부(153), 생성부(154), 출력부(155) 및 시간 체크부(156)를 포함할 수 있다. 선택적 실시 예로, 정보 처리부(150)는 하나 이상의 프로세서를 포함할 수 있다. 선택적 실시 예로 음성 인식부(151), 데이터베이스(152), 획득부(153), 생성부(154), 출력부(155) 및 시간 체크부(156)는 하나 이상의 프로세서에 대응될 수 있다. 선택적 실시 예로, 음성 인식부(151), 데이터베이스(152), 획득부(153), 생성부(154), 출력부(155) 및 시간 체크부(156)는 하나 이상의 프로세서에 의해 실행되도록 구성된 소프트웨어 구성 요소(components)에 대응될 수 있다.
음성 인식부(151)는 사용자 발화 음성에 대한 음성 인식 처리를 수행할 수 있다. 본 실시 예에서, 음성 인식부(151)는 자동 음성 인식부(ASR(auto speech recognition) unit)(151-1), 자연어 이해부(natural language understanding unit)(151-2), 자연어 생성부(natural language generation unit)(151-3) 및 텍스트 음성 변환부(TTS(text to speech) unit)(151-4)를 포함할 수 있다.
자동 음성 인식부(151-1)는 사용자 발화 음성을 텍스트로 변환한 사용자 발화 텍스트를 생성할 수 있다. 본 실시 예에서 자동 음성 인식부(151-1)는 음성 텍스트 변환(STT(speech to text)을 수행할 수 있다. 자동 음성 인식부(151-1)는 오디오 입력부(141)를 통하여 입력된 사용자 발화 음성을 사용자 발화 텍스트로 변환할 수 있다. 본 실시 예에서, 자동 음성 인식부(151-1)는 발화 인식부(미도시)를 포함할 수 있다. 발화 인식부는 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 예를 들어, 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 발화 인식부는 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 발화 음성을 사용자 발화 텍스트로 변환할 수 있다. 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식부(151-1) 내의 자동 음성 인식 데이터베이스(미도시)에 저장될 수 있다.
자연어 이해부(151-2)는 사용자 발화 텍스트에 대하여, 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 발화 음성에 대한 발화 의도 즉, 사용자 발화 음성에 대한 발화 의도를 분석할 수 있다. 여기서, 문법적 분석은 질의 텍스트를 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 또한 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해부(151-2)는 사용자 발화 텍스트가 어떤 의도(intent)인지 또는 이러한 의도를 표현하는데 필요한 파라미터(parameter)를 얻을 수 있다.
자연어 생성부(151-3)는 자연어 이해부(151-2)에서 분석한 발화 의도에 기초하여 지식 베이스(knowledge- base)를 이용하여 사용자 발화 텍스트에 대한 응답 텍스트를 생성할 수 있다.
텍스트 음성 변환부(151-4)는 자연어 생성부(151-3)가 생성한 자연어 발화 형태의 응답 텍스트에 대한 응답 발화 음성 변환 결과로서 응답 발화 음성을 생성하고, 응답 발화 음성을 오디오 출력부(142)를 통하여 출력할 수 있다.
획득부(153)는 응답 발화 음성을 스피커 즉, 오디오 출력부(142)로 출력하는 경우 응답 발화 음성의 출력에 대한 외부의 상황 정보를 획득할 수 있다. 본 실시 예에서 획득부(153)는 측정부(153-1), 판단부(153-2) 및 설정부(153-3)를 포함할 수 있다.
측정부(153-1)는 응답 발화 음성을 출력한 후 마이크 즉, 도 3의 오디오 입력부(141)로 입력되는 외부의 상황 정보에 대한 소음을 측정하고, 전기적 신호로 변환시킬 수 있다. 전기적 신호로 변환된 소음은 그 크기가 측정되고, 크기 단위로서 데시벨(decibel)을 사용할 수 있다. 측정부(153-1)는 소음을 측정하기 위한 장치(미도시) 및/또는 소음 측정 센서(미도시)를 구비할 수 있다.
판단부(153-2)는 응답 발화 음성을 출력한 후 마이크 즉, 도 3의 오디오 입력부(141)로 입력되는 외부의 상황 정보에 대한 소음의 측정 결과, 측정된 소음이 제1 기준값(예를 들어, 60 데시벨)을 초과하는 경우 제1 소음으로 판단하고, 측정된 소음이 제2 기준값(예를 들어, 30 데시벨) 이상 제1 기준값 미만인 경우 제2 소음으로 판단할 수 있다.
여기서, 제1 소음은 제1 기준값을 초과하는 외부의 상황 정보로서, 응답 발화 음성의 출력에 대한 청취자(사용자 포함)의 직접적인 반응 정보 예를 들어, 박수 또는 환호성 등을 포함할 수 있다. 또한 제1 소음은 실제 소음은 아니지만 외부 인터럽트를 포함할 수 있다. 또한 제2 소음은 제2 기준값(예를 들어, 30 데시벨) 이상 제1 기준값 미만의 외부의 상황 정보로서, 응답 발화 음성의 출력에 대하여 주변에서 발생하는 간접적인 오디오 정보 즉 주변 소음 등을 포함할 수 있다.
설정부(153-3)는 외부의 상황 정보로서 발화 음성의 출력 시간을 조절하는 시간 제약 정보를 설정할 수 있다. 여기서 설정부(153-3)는 사용자가 조작부(122)를 통하여 조작한 시간 제약 정보를 수신하여 설정하거나, 사용자의 발화 음성에 포함된 시간 제약 정보의 인식 결과를 수신하여 설정할 수 있다.
생성부(154)는 획득부(153)가 획득한 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성할 수 있다. 생성부(154)는 획득부(153)가 획득한 제1 소음에 대응하여 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 응답 발화 음성을 생성할 수 있다. 여기서 데이터베이스(152)에는 박수 또는 환호성 모델이 저장되어 있고, 제1 소음이 미리 학습된 박수 또는 환호성과 유사한 패턴인 경우, 생성부(154)는 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 발화 음성을 생성할 수 있다.
생성부(154)는 제1 소음이 제1 기준값 미만이 될 때까지 제1 동적 응답 발화 음성에 포함된 묵음 구간을 삽입한 제1 동적 발화 음성을 생성하고, 제1 소음이 제1 기준값 미만이 되면 묵음 구간의 삽입을 종료하고, 응답 발화 음성의 생성을 재개할 수 있다. 선택적 실시 예로 생성부(154)는 여기서 묵음 구간을 삽입한 후 제1 소음이 제2 기준값을 초과하면, 응답 발화 음성의 볼륨 또는 피치를 증가 시킨 제2 동적 응답 발화 음성을 생성할 수 있다. 이후 제2 소음이 제2 기준값 미만이 되면, 제2 동적 응답 발화 음성의 생성을 종료하고, 응답 발화 음성의 생성을 재개할 수 있다.
또한 생성부(154)는 제2 소음에 대응하여 응답 발화 음성의 볼륨을 증가시키거나 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성할 수 있다. 생성부(154)는 현재 응답 발화 음성의 볼륨 및/또는 피치를 제2 소음만큼 증가시킨 제2 동적 응답 발화 음성을 생성할 수 있다.
생성부(154)는 제2 소음이 제2 기준값 미만이 될 때까지 응답 발화 음성의 볼륨을 증가시키거나, 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성하고, 제2 소음이 제2 기준값 미만이 되면 제2 동적 응답 발화 음성의 생성을 종료하고 응답 발화 음성의 생성을 재개할 수 있다.
또한 생성부(154)는 시간 제약 정보에 대응하여 응답 발화 음성의 속도를 변환시킨 제3 동적 응답 발화 음성을 생성할 수 있다. 응답 발화 음성의 속도 변환은 동영상 재생 시의 2배속 또는 4배속의 변환과 유사하므로 상세한 내용은 생략하기로 한다.
출력부(155)는 생성부(154)가 생성한 제1 동적 응답 발화 음성 내지 제3 동적 응답 발화 음성 중 하나 또는 응답 발화 음성을 스피커를 통하여 출력할 수 있다.
출력부(155)는 묵음 구간의 삽입을 종료하고 응답 발화 음성의 출력을 재개하기 전에 데이터베이스(152)에 기저장된 위트성 멘트를 출력할 수 있다. 여기서 위트성 멘트는 묵음 구간에서 응답 발화 음성으로 자연스럽게 넘어가게 하기 위해서 삽입되는 것으로, 음~, 아~, 그럼~ 등과 같은 의미 없는 멘트를 포함할 수 있다.
출력부(155)는 제3 동적 응답 발화 음성을 출력한 후, 시간 체크부(156)로부터 시간 제약 정보에 포함된 설정 시간에 도달했음을 나타내는 신호를 수신하면, 제3 동적 응답 발화 음성의 출력을 종료할 수 있다. 여기서 시간 체크부(156)는 시간 제약 정보에 포함된 설정 시간을 카운트하고, 시간 카운트 결과를 출력부(155)에 전송할 수 있다.
도 5는 본 발명의 일 실시 예에 따른 출력 발화 음성에 대한 외부의 상황 정보에 따라 생성한 동적 발화 음성의 예시도 이다. 이하의 설명에서 도 1 내지 도 4에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 5를 참조하면, 도 5(a)는 텍스트 음성 변환부(151-4)에서 출력되는 응답 발화 음성을 나타내고, 도 5(b)는 외부의 상황 정보에 대응하여 생성한 동적 응답 발화 음성을 나타내고 있다.
도 5a에서 510a는 제1 응답 발화 음성을 나타내고, 511a는 외부의 상황 정보로서의 제1 소음에 포함되는 인터럽트 구간을 나타내고, 520a는 제2 응답 발화 음성을 나타내고, 530a는 제3 응답 발화 음성을 나타낸다.
도 5b에서 510b는 제1 응답 발화 음성을 나타내고, 511b는 인터럽트 구간에 대응하여 삽입한 묵음 구간을 나타내고, 511c는 제2 응답 발화 음성(510a) 출력 전에 삽입되는 위트성 멘트를 나타낸다. 도 5b에서 제1 응답 발화 음성(510b)과, 묵음 구간(511b)과, 위트성 멘트(511c)는 제1 동적 응답 발화 음성에 포함될 수 있다.
도 5b에서 520b는 제2 응답 발화 음성(510a)의 볼륨 또는 피치가 제2 소음만큼 증가된 제2 동적 응답 발화 음성을 나타내고, 도 5b에서 530c는 제3 응답 발화 음성(530a)의 출력 속도가 변환된 제3 동적 응답 발화 음성을 나타낸다.
제1 동적 발화 음성에 포함된 묵음 구간(511b)의 삽입은 제1 소음이 제1 기준값 미만이 되면 종료되고, 원래의 제1 발화 음성(510a)의 출력이 재개될 수 있다. 또한 제2 동적 발화 음성의 생성은 제2 소음이 제2 기준값 미만이 되면 종료되고 원래의 제2 발화 음성(520a)의 출력이 재개될 수 있다.
도 6은 본 발명의 일 실시 예에 따른 음성 처리 방법의 흐름도이다. 이하의 설명에서 도 1 내지 도 5에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.
도 6을 참조하면, S610단계에서, 음성 처리 장치(100)는 사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환한다.
S620단계에서, 음성 처리 장치(100)는 응답 발화 음성을 스피커로 출력하는 경우 응답 발화 음성의 출력에 대한 외부의 상황 정보를 획득한다. 음성 처리 장치(100)는 응답 발화 음성을 출력한 후 마이크로 입력되는 외부의 상황 정보에 대한 소음을 측정할 수 있다. 음성 처리 장치(100)는 소음을 측정한 결과가 제1 기준값을 초과하는 경우, 측정한 소음을 청취자의 직접적인 반응 정보(예를 들어, 박수 소리 또는 환호성 등)로서의 제1 소음으로 판단할 수 있다. 음성 처리 장치(100)는 소음을 측정한 결과가 제2 기준값을 초과하고 제1 기준값 미만인 경우, 측정한 소음을 주변에서 발생하는 간접적인 오디오 정보(예를 들어 주변 소음, 자동차 지나가는 소리 등)로서의 제2 소음으로 판단할 수 있다. 또한 음성 처리 장치(100)는 소정 시간 내에 응답 발화 음성의 출력을 종료해야 하는 시간 제약 정보를 획득할 수 있다.
S630단계에서, 음성 처리 장치(100)는 외부의 상황 정보에 대응하여 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성한다. 음성 처리 장치(100)는 제1 소음의 판단 결과에 대응하여 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 응답 발화 음성을 생성할 수 있다. 음성 처리 장치(100)는 제2 소음의 판단 결과에 대응하여 응답 발화 음성의 볼륨을 증가시키거나, 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성할 수 있다. 음성 처리 장치(100)는 시간 제약 정보에 대응하여 응답 발화 음성의 출력 속도 정보를 변환한 제3 동적 응답 발화 음성을 생성할 수 있다. 음성 처리 장치(100)는 제1 소음이 제1 기준값 미만이 될 때까지 제1 동적 응답 발화 음성에 포함된 묵음 구간을 삽입한 제1 동적 발화 음성을 생성하고, 제1 소음이 제1 기준값 미만이 되면 묵음 구간의 삽입을 종료하고 응답 발화 음성의 출력을 재개할 수 있다. 음성 처리 장치(100)는 제2 동적 응답 발화 음성을 생성한 후 제2 소음이 제2 기준값 미만이 되면 제2 동적 응답 발화 음성의 생성을 종료하고 응답 발화 음성의 생성을 재개할 수 있다.
S640단계에서, 음성 처리 장치(100)는 제1 동적 응답 발화 음성 내지 제3 동적 응답 발화 음성을 스피커를 통하여 출력한다. 음성 처리 장치(100)는 묵음 구간의 삽입을 종료하고 응답 발화 음성의 출력을 재개하기 전에 기저장된 위트성 멘트를 출력할 수 있다. 음성 처리 장치(100)는 제3 동적 응답 발화 음성을 출력한 후, 시간 제약 정보에 포함된 설정 시간에 도달한 경우, 제3 동적 응답 발화 음성의 출력을 종료할 수 있다.
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다.
본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 음성 처리 장치
200: 사용자 단말기
300: 서버
400: 네트워크

Claims (19)

  1. 음성 처리 방법으로서,
    사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환하는 단계;
    상기 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득하는 단계;
    상기 외부의 상황 정보에 대응하여 상기 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하는 단계; 및
    상기 동적 응답 발화 음성을 출력하는 단계를 포함하는,
    음성 처리 방법.
  2. 음성 처리 방법으로서,
    사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환하는 단계;
    상기 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득하는 단계;
    상기 외부의 상황 정보에 대응하여 상기 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하는 단계; 및
    상기 동적 응답 발화 음성을 출력하는 단계를 포함하는,
    음성 처리 방법.
  3. 제 2 항에 있어서,
    상기 동적 응답 발화 음성을 생성하는 단계는,
    상기 제1 소음의 판단 결과에 대응하여 상기 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 응답 발화 음성을 생성하는 단계를 포함하는,
    음성 처리 방법.
  4. 제 3 항에 있어서,
    상기 동적 응답 발화 음성을 생성하는 단계는,
    상기 제1 소음이 상기 제1 기준값 미만이 될 때까지 상기 제1 동적 응답 발화 음성에 포함된 상기 묵음 구간을 삽입한 상기 제1 동적 발화 음성을 생성하는 단계; 및
    상기 제1 소음이 상기 제1 기준값 미만이 되면 상기 묵음 구간의 삽입을 종료하고 상기 응답 발화 음성의 생성을 재개하는 단계를 포함하는,
    음성 처리 방법.
  5. 제 4 항에 있어서,
    상기 묵음 구간의 삽입을 종료하고 상기 응답 발화 음성의 출력을 재개하기 전에 기저장된 멘트를 출력하는 단계를 더 포함하는,
    음성 처리 방법.
  6. 제 2 항에 있어서,
    상기 동적 응답 발화 음성을 생성하는 단계는,
    상기 제2 소음의 판단 결과에 대응하여 상기 응답 발화 음성의 볼륨을 증가시키거나, 상기 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성하는 단계를 포함하는,
    음성 처리 방법.
  7. 제 6 항에 있어서,
    상기 동적 응답 발화 음성을 생성하는 단계는,
    상기 제2 소음이 상기 제2 기준값 미만이 될 때까지 상기 응답 발화 음성의 볼륨을 증가시키거나, 상기 응답 발화 음성의 피치(pitch)를 증가시킨 상기 제2 동적 응답 발화 음성을 생성하는 단계; 및
    상기 제2 소음이 상기 제2 기준값 미만이 되면 상기 제2 동적 응답 발화 음성의 생성을 종료하고 상기 응답 발화 음성의 생성을 재개하는 단계를 포함하는,
    음성 처리 방법.
  8. 제 1 항에 있어서,
    상기 외부의 상황 정보를 획득하는 단계는,
    소정 시간 내에 상기 응답 발화 음성의 출력을 종료해야 하는 시간 제약 정보를 획득하는 단계를 포함하는,
    음성 처리 방법.
  9. 제 8 항에 있어서,
    상기 동적 응답 발화 음성을 생성하는 단계는,
    상기 시간 제약 정보에 대응하여 상기 응답 발화 음성의 출력 속도 정보를 변환한 제3 동적 응답 발화 음성을 생성하는 단계를 포함하는,
    음성 처리 방법.
  10. 컴퓨터를 이용하여 제 1 항 내지 제 9 항의 방법 중 어느 한 항의 방법을 실행시키기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체.
  11. 하나 이상의 프로세서를 포함하는 음성 처리 장치로서,
    상기 하나 이상의 프로세서는,
    사용자의 발화 음성에 대응하여 생성한 응답 텍스트를 응답 발화 음성으로 변환하고,
    상기 응답 발화 음성을 출력하면서 외부의 상황 정보를 획득하고,
    상기 외부의 상황 정보에 대응하여 상기 응답 발화 음성을 변환한 동적 응답 발화 음성을 생성하고,
    상기 동적 응답 발화 음성을 출력하도록 구성되는, 음성 처리 장치.
  12. 제 11 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 외부의 상황 정보를 획득 시에,
    상기 응답 발화 음성을 출력한 후 마이크로 입력되는 상기 외부의 상황 정보에 대한 소음을 측정하고,
    상기 소음을 측정한 결과가 제1 기준값을 초과하는 경우, 상기 소음을 청취자의 직접적인 반응 정보로서의 제1 소음으로 판단하고,
    상기 소음을 측정한 결과가 제2 기준값을 초과하고 제1 기준값 미만인 경우, 상기 소음을 주변에서 발생하는 간접적인 오디오 정보로서의 제2 소음으로 판단하도록 구성되는,
    음성 처리 장치.
  13. 제 12 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 동적 응답 발화 음성을 생성 시에,
    상기 제1 소음의 판단 결과에 대응하여 상기 응답 발화 음성에 묵음 구간을 삽입한 제1 동적 응답 발화 음성을 생성하도록 구성되는,
    음성 처리 장치.
  14. 제 13 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 동적 응답 발화 음성을 생성 시에,
    상기 제1 소음이 상기 제1 기준값 미만이 될 때까지 상기 제1 동적 응답 발화 음성에 포함된 상기 묵음 구간을 삽입한 상기 제1 동적 발화 음성을 생성하고,
    상기 제1 소음이 상기 제1 기준값 미만이 되면 상기 묵음 구간의 삽입을 종료하고 상기 응답 발화 음성의 생성을 재개하도록 구성되는,
    음성 처리 장치.
  15. 제 14 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 묵음 구간의 삽입을 종료하고 상기 응답 발화 음성의 출력을 재개하기 전에 기저장된 멘트를 출력하도록 추가로 구성되는,
    음성 처리 장치.
  16. 제 12 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 동적 응답 발화 음성을 생성 시에,
    상기 제2 소음의 판단 결과에 대응하여 상기 응답 발화 음성의 볼륨을 증가시키거나, 상기 응답 발화 음성의 피치(pitch)를 증가시킨 제2 동적 응답 발화 음성을 생성하도록 구성되는,
    음성 처리 장치.
  17. 제 16 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 동적 응답 발화 음성을 생성 시에,
    상기 제2 소음이 상기 제2 기준값 미만이 될 때까지 상기 응답 발화 음성의 볼륨을 증가시키거나, 상기 응답 발화 음성의 피치(pitch)를 증가시킨 상기 제2 동적 응답 발화 음성을 생성하고,
    상기 제2 소음이 상기 제2 기준값 미만이 되면 상기 제2 동적 응답 발화 음성의 생성을 종료하고 상기 응답 발화 음성의 생성을 재개하도록 구성되는,
    음성 처리 장치.
  18. 제 11 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 외부의 상황 정보를 획득 시에,
    소정 시간 내에 상기 응답 발화 음성의 출력을 종료해야 하는 시간 제약 정보를 획득하도록 구성되는,
    음성 처리 장치.
  19. 제 18 항에 있어서,
    상기 하나 이상의 프로세서는,
    상기 동적 응답 발화 음성을 생성 시에,
    상기 시간 제약 정보에 대응하여 상기 응답 발화 음성의 출력 속도 정보를 변환한 제3 동적 응답 발화 음성을 생성하도록 구성되는,
    음성 처리 장치.
KR1020190113611A 2019-09-16 2019-09-16 음성 처리 방법 및 음성 처리 장치 KR20190112684A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190113611A KR20190112684A (ko) 2019-09-16 2019-09-16 음성 처리 방법 및 음성 처리 장치
US16/676,160 US20210082421A1 (en) 2019-09-16 2019-11-06 Method and device for speech processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190113611A KR20190112684A (ko) 2019-09-16 2019-09-16 음성 처리 방법 및 음성 처리 장치

Publications (1)

Publication Number Publication Date
KR20190112684A true KR20190112684A (ko) 2019-10-07

Family

ID=68422290

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190113611A KR20190112684A (ko) 2019-09-16 2019-09-16 음성 처리 방법 및 음성 처리 장치

Country Status (2)

Country Link
US (1) US20210082421A1 (ko)
KR (1) KR20190112684A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210056776A (ko) * 2019-11-11 2021-05-20 삼성전자주식회사 디스플레이형 ai 스피커의 제어방법 및 그 장치
US11922970B2 (en) 2020-09-17 2024-03-05 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210055347A (ko) * 2019-11-07 2021-05-17 엘지전자 주식회사 인공 지능 장치
US20230215422A1 (en) * 2022-01-05 2023-07-06 Google Llc Multimodal intent understanding for automated assistant

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100117284A (ko) 2009-04-24 2010-11-03 세기미래기술 주식회사 티티에스 모듈이 구비된 방송용 동보 장치
KR20110066409A (ko) 2009-12-11 2011-06-17 전자부품연구원 Tts 기술을 이용한 사용자 맞춤형 방송 서비스 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100117284A (ko) 2009-04-24 2010-11-03 세기미래기술 주식회사 티티에스 모듈이 구비된 방송용 동보 장치
KR20110066409A (ko) 2009-12-11 2011-06-17 전자부품연구원 Tts 기술을 이용한 사용자 맞춤형 방송 서비스 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210056776A (ko) * 2019-11-11 2021-05-20 삼성전자주식회사 디스플레이형 ai 스피커의 제어방법 및 그 장치
US11922970B2 (en) 2020-09-17 2024-03-05 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Also Published As

Publication number Publication date
US20210082421A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
KR20190112684A (ko) 음성 처리 방법 및 음성 처리 장치
KR102246936B1 (ko) 음성 인식 방법 및 음성 인식 장치
KR20190100095A (ko) 음성 처리 방법 및 음성 처리 장치
US10485049B1 (en) Wireless device connection handover
KR20190118996A (ko) 음성 처리 방법 및 음성 처리 장치
US11386895B2 (en) Speech processing method and apparatus therefor
KR20210050747A (ko) 음성 처리 방법 및 음성 처리 장치
US9911416B2 (en) Controlling electronic device based on direction of speech
KR102409303B1 (ko) 음성 인식 방법 및 장치
KR102224994B1 (ko) 음성 인식 방법 및 음성 인식 장치
KR20190096856A (ko) 음성 인식 방법 및 음성 인식 장치
KR20190096853A (ko) 음성 처리 방법 및 음성 처리 장치
KR20190106921A (ko) 커뮤니케이션 로봇 및 그의 구동 방법
US11373656B2 (en) Speech processing method and apparatus therefor
US11514902B2 (en) Speech recognition method and apparatus therefor
US11830501B2 (en) Electronic device and operation method for performing speech recognition
US20200143807A1 (en) Electronic device and operation method thereof
KR102012927B1 (ko) 인공지능 기기의 자동 불량 검출을 위한 방법 및 시스템
KR20190106887A (ko) 정보 제공 방법 및 정보 제공 장치
KR20210048382A (ko) 음성 분석 방법 및 장치
KR20210044606A (ko) 웨이크업 모델 생성 방법 및 이를 위한 전자 장치
KR20240045933A (ko) 인공지능과 음성 인식을 기반으로 동작하는 전자 장치 및 이의 제어 방법
KR20220072621A (ko) 전자장치 및 그 제어방법
KR20200021400A (ko) 음성 인식을 수행하는 전자 장치 및 그 동작 방법
KR20170094527A (ko) 전자 출력 장치, 방법 및 컴퓨터 판독 가능한 기록 매체