KR20180046780A - 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치 - Google Patents

이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20180046780A
KR20180046780A KR1020160142370A KR20160142370A KR20180046780A KR 20180046780 A KR20180046780 A KR 20180046780A KR 1020160142370 A KR1020160142370 A KR 1020160142370A KR 20160142370 A KR20160142370 A KR 20160142370A KR 20180046780 A KR20180046780 A KR 20180046780A
Authority
KR
South Korea
Prior art keywords
word
service
voice signal
server
wake
Prior art date
Application number
KR1020160142370A
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 KR1020160142370A priority Critical patent/KR20180046780A/ko
Publication of KR20180046780A publication Critical patent/KR20180046780A/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
    • 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/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/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
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • 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
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 음성 인식 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 마이크와 스피커를 포함하는 음향 출력 장치와 연동하여 음성 인식 서비스를 제공할 수 있는 서비스 서버에 있어서, 이중 웨이크업 방식으로 성능을 보다 더 높일 수 있는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.

Description

이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치{METHOD FOR PROVIDING OF VOICE RECOGNITION SERVICE USING DOUBLE WAKEUP AND APPARATUS THEREOF}
본 발명은 음성 인식 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 마이크와 스피커를 포함하는 음향 출력 장치와 연동하여 음성 인식 서비스를 제공할 수 있는 서비스 서버에 있어서, 이중 웨이크업 방식으로 음성 인식 성능을 보다 더 높일 수 있는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
기술이 발달함에 따라 최근 많은 분야에서 음성 인식 기술을 적용한 각종 서비스들이 소개되고 있다. 음성 인식 기술은 사람이 발성하는 음성을 이해하여 컴퓨터가 다룰 수 있는 문자 정보로 변환하는 일련의 과정이라 할 수 있으며, 음성 인식 기술을 이용하는 음성 인식 서비스는 사용자의 음성을 인식하고 이에 해당하는 적합한 서비스를 제공하는 일련의 과정을 의미할 수 있다.
그러나 현재까지의 음성 인식 기술을 이용한 서비스들은 단순히 사용자의 음성을 인식하고, 이에 해당하는 단편적인 서비스만을 제공한다는 문제점이 있다. 예컨대, 사용자가 자신의 휴대폰을 이용하여 특정 단어에 대한 음성을 발화하고, 이를 휴대폰이 인식하여 해당 단어에 대응하는 검색 결과를 웹 브라우저를 통해 제공하는 형태의 음성 인식 서비스가 있으나, 단순히 검색 서버와 연동하여 해당하는 검색 결과만을 제공하는 것으로, 다양한 사용자의 편의를 만족시킬 수 없다는 문제점이 있다.
이에, 음성 인식의 성능을 높여 사용자의 의도를 보다 더 정확하게 파악하고 다양한 컨텐츠를 외부의 컨텐츠 제공 서버와 연동하여 제공할 수 있는 음성 인식 서비스의 개발이 필요하다.
한국공개특허 제10-2008-0083553호, 2008년 9월 18일 공개 (명칭: 음성 인식을 이용한 영상 합성 통화 서비스 방법 및 장치)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 마이크와 스피커를 포함하는 음향 출력 장치와 연동하여 음성 인식 서비스를 제공할 수 있는 서비스 서버에 있어서, 이중 웨이크업 방식으로 음성 인식의 성능을 보다 더 높일 수 있는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치를 제공하는 데 그 목적이 있다.
특히, 본 발명은 음향 출력 장치에서 1차적으로 웨이크업을 수행한 후, 보다 고성능인 서비스 서버가 2차적으로 웨이크업을 수행함으로써 보다 더 정교한 웨이크업을 진행할 수 있으며, 이를 통해 음성 인식의 성능을 보다 더 개선할 수 있는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치를 제공하는 데 그 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법은 음향 출력 장치가, 마이크를 통해 발화되는 사용자의 음성을 입력 받아 생성되는 음성 신호를 저장하는 단계; 상기 음성 신호를 인식하여 웨이크업 단어에 해당되는 지 확인하는 단계; 및 상기 웨이크업 단어에 해당되는 것으로 확인되면, 상기 저장된 음성 신호부터 스트리밍하여 서비스 서버로 전송하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 저장하는 단계는 상기 마이크를 통해 발화되는 사용자의 음성을 입력 받아 생성되는 상기 음성 신호를 소정 길이의 프레임으로 구분하여 구분된 프레임 단위로 저장할 수 있다.
또한, 상기 확인하는 단계는 상기 저장된 프레임 단위로 음성 특징 벡터를 추출하고, 추출된 음성 특징 벡터에 대응하는 음소를 확인하는 단계; 상기 음소의 집합을 이용하여 단어를 구성하는 단계; 및 상기 구성된 단어에 미리 지정된 상기 웨이크업 단어가 존재하는 지 여부를 확인하는 단계;를 포함하여 이뤄질 수 있다.
아울러, 상기 전송하는 단계는 상기 웨이크업 단어가 존재하는 것으로 확인되면, 상기 저장된 프레임부터 순차적으로 상기 서비스 서버로 전송할 수 있다.
또한, 상기 저장된 프레임에 상기 웨이크업 단어가 존재하지 않는 것으로 확인되면, 상기 저장된 프레임을 삭제하는 단계;를 더 포함하여 이뤄질 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법은 서비스 서버가, 음향 출력 장치로부터 스트리밍되는 음성 신호를 수신하는 단계; 상기 수신되는 음성 신호를 인식하여 미리 지정된 웨이크업 단어가 존재하는 지 여부를 확인하는 단계; 상기 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호에서 상기 웨이크업 단어에 대응하는 구간을 제거하는 단계; 및 상기 웨이크업 단어에 대응하는 구간이 제거된 음성 신호를 대상으로 음성 인식에 따른 의미를 분석하고, 분석된 결과에 따라 대응하는 음성 인식 서비스를 상기 음향 출력 장치로 제공하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 웨이크업 단어가 존재하는 지 여부를 확인하는 단계는 상기 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하는 단계; 상기 음소의 집합을 이용하여 단어를 구성하는 단계; 및 상기 구성된 단어가 미리 지정된 웨이크업 단어와 비교하여 확인하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 제거하는 단계는 상기 웨이크업 단어로 확인된 단어의 인접 단어가 음성 인식 서비스를 위해 기 저장된 엔티티 또는 인텐트에 대응하는 단어가 아닐 경우, 상기 인접 단어를 상기 웨이크업 단어에 대응하는 구간에 포함시켜 제거할 수 있다.
추가로 본 발명은 상술한 바와 같은 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 음향 출력 장치는 마이크를 통해 발화되는 사용자의 음성을 입력 받아 음성 신호를 생성하는 음성 신호 입력부; 상기 음성 신호 입력부를 통해 생성되는 음성 신호를 소정 길이의 프레임 단위로 저장하는 장치 저장부; 및 상기 장치 저장부에 프레임 단위로 저장되는 음성 신호를 인식하여 웨이크업 단어에 해당되는 지 여부를 확인하여, 웨이크업 단어에 해당되는 것으로 확인되면, 상기 장치 저장부에 저장된 음성 신호부터 상기 음성 신호 입력부를 통해 입력되는 음성 신호를 스트리밍하여 서비스 서버로 전송되도록 제어하는 장치 제어부;를 포함하여 구성될 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 서비스 서버는 사용자가 발화함에 따라 생성되는 음성 신호를 음향 출력 장치로부터 스트리밍 방식으로 수신하는 서버 통신부; 및 상기 서버 통신부를 통해 수신되는 음성 신호를 인식하여 미리 지정된 웨이크업 단어가 존재하는 지 여부를 확인하고, 상기 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호에서 상기 웨이크업 단어에 대응하는 구간을 제거한 후, 상기 웨이크업 단어에 대응하는 구간이 제거된 음성 신호를 대상으로 음성 인식에 따른 의미를 분석하고, 분석된 결과에 따라 대응하는 응답 메시지를 생성한 후 상기 응답 메시지를 상기 음향 출력 장치로 전달하도록 제어하는 서버 제어부;를 포함하여 이뤄질 수 있다.
이때, 음성 인식 서비스를 위해 엔티티 또는 인텐트에 대응하는 단어를 저장하는 서버 저장부;를 더 포함하며 상기 서버 제어부는 상기 음성 신호를 인식하여 단어를 구성하고, 상기 인식된 단어가 상기 서버 저장부에 저장이 되어 있지 않고, 상기 웨이크업 단어에 인접되어 있을 경우, 해당 단어를 상기 웨이크업 단어에 대응하는 구간에 포함시켜 제거할 수 있다.
본 발명의 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치에 의하면, 음향 출력 장치에서 1차적으로 웨이크업을 수행한 후, 보다 고성능인 서비스 서버가 2차적으로 웨이크업을 수행함으로써 보다 더 정교한 웨이크업을 진행할 수 있으며, 이를 통해 음성 인식의 성능을 보다 더 개선할 수 있게 된다.
이를 통해 본 발명은 음성 인식을 통한 여러 가지 서비스 제공에 있어서 사용자의 만족도를 높일 수 있으며, 신속하고 정확한 음성 인식 서비스의 제공이 가능하게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 3은 발명의 실시 예에 따른 음향 출력 장치의 주요 구성을 도시한 구성도이다.
도 4는 본 발명의 실시 예에 따른 음향 출력 장치에서의 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 5은 본 발명의 실시 예에 따른 서비스 서버의 주요 구성을 도시한 구성도이다.
도 6은 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 설명하기 위한 예시도이다.
도 7은 본 발명의 실시 예에 따른 서비스 서버에서의 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치에 대해 설명하도록 한다.
먼저, 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템에 대하여 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템을 설명하기 위한 구성도이다.
도 1을 참조하면, 본 발명의 음성 인식 서비스 제공 시스템은 단말(100), 음향 출력 장치(200) 및 서비스 서버(300)를 포함하여 구성될 수 있다. 이때, 본 발명의 단말(100)과 음향 출력 장치(200)는 근거리 통신 방식으로 연결되어 정보를 송수신할 수 있으며, 단말(100)과 서비스 서버(300) 그리고 음향 출력 장치(200) 및 서비스 서버(300)는 통신망(500)을 경유하여 연결될 수 있다.
단말(100)은 사용자의 요청에 따라 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 특히, 본 발명의 단말(100)은 음향 출력 장치(200)와 근거리 통신 방식으로 연결되어 음향 출력 장치(200)의 조작을 위한 각종 설정 정보를 상기 음향 출력 장치(200)로 전송할 수 있다. 예컨대, 음향 출력 장치(200)가 알림 기능을 제공하는 경우 단말(100)은 알림 설정을 위한 각종 정보를 사용자로부터 입력 받아 이를 음향 출력 장치(200)로 제공할 수 있다.
또한, 본 발명의 단말(100)은 음향 출력 장치(200)와 근거리 통신 방식으로 연결된 상태에서, 자신의 식별 정보를 음향 출력 장치(200)로 전송할 수 있으며, 음향 출력 장치(200)는 단말(100)의 식별 정보를 통신망(500)을 통해 서비스 서버(300)로 전송하여 보다 개인화된 서비스 제공을 지원할 수 있다.
아울러, 본 발명의 실시 예에 따른 단말(100)은 웨이크업 단어를 설정하거나 변경할 수 있다. 다시 말해 본 발명의 음향 출력 장치(100)는 사용자의 음성 신호에서 웨이크업 단어(wakeup word)를 인식하고 웨이크업 단어가 인식됨에 따라 음성 신호를 서비스 서버(300)로 전송하거나 지정된 동작을 수행할 수 있는데, 이때의 웨이크업 단어를 지정하거나 변경하는 등의 과정을 단말(100)이 수행할 수 있다.
또한, 본 발명의 실시 예에 따른 단말(100)은 컨텐츠 서비스 가입된 컨텐츠 제공 서버(400)에 대한 정보를 서비스 서버(300)로 전송할 수도 있다. 예컨대, 동일한 컨텐츠를 서비스하는 복수 개의 컨텐츠 제공 서버(400)가 존재한다고 가정하면, 단말(100)은 복수 개의 컨텐츠 제공 서버(400) 중 특정한 컨텐츠 제공 서버(400)가 제공하는 서비스에 가입할 수 있으며, 이에 따른 가입 정보를 서비스 서버(300)로 전송하여 컨텐츠 제공 서버(400)가 제공하는 컨텐츠를 음향 출력 장치(200)를 통해 이용할 수 있도록 설정할 수 있다.
더하여, 본 발명의 단말(100)은 단말(100) 내 구비된 각종 어플리케이션의 설정 정보를 음향 출력 장치(200) 또는 서비스 서버(300)와 공유하거나 제공하여 음향 출력 장치(200)에서의 보다 지능적인 서비스가 이뤄지도록 지원할 수 있다. 예컨대, 사용자가 "오늘 약속 뭐지?"라고 발화하였다면 음향 출력 장치(200)는 이를 음성 신호로 생성하여 서비스 서버(300)로 전송하고 서비스 서버(300)는 사용자의 음성을 인식하고, 이에 따른 서비스를 제공하기 위해 단말(100)에 구비된 일정 관리 어플리케이션과 연동하여 사용자의 일정을 확인한 후, 확인된 응답 정보를 포함하는 응답 메시지, 예컨대 "7시 강남역에서 동창 모임이 있어요"를 음향 출력 장치(200)로 전송하여 제공할 수 있게 된다.
이를 위해 본 발명의 단말(100)은 음향 출력 장치(200)를 제어하기 위한 서비스 어플리케이션을 미리 구비하고 있는 상태여야 한다. 상기 서비스 어플리케이션은 서비스 서버(300) 또는 별도의 어플리케이션 스토어를 통해 다운로드 하여 설치하거나 서비스 서버(300)에 접속하여 클라우드 서비스 방식으로 이용할 수도 있다.
본 발명의 음성 인식 서비스를 스피커를 통해 출력하여 제공하는 음향 출력 장치(200)는 일정 반경 내 사용자가 발화하는 사용자의 음성을 입력받아 음성 신호를 생성하고 생성된 음성 신호를 서비스 서버(300)와 연동하여 각종 컨텐츠 제공 서버(400)가 제공하는 컨텐츠를 출력하여 제공하는 역할을 수행한다. 특히, 본 발명의 음향 출력 장치(200)는 마이크를 포함하며 마이크를 통해 사용자의 발화 음성을 입력 받아 이를 음성 신호로 생성할 수 있다. 그리고 본 발명의 음향 출력 장치(200)는 마이크를 통해 입력되는 음성 신호를 소정 길이의 프레임으로 구분하고 구분된 프레임 단위로 음성 인식을 수행하여 미리 지정된 웨이크업 단어가 포함되는 지 여부를 확인한다. 여기서 웨이크업 단어는 미리 음향 출력 장치(200)에 등록된 단어를 의미하는 것으로, 사용자의 발화 음성에 웨이크업 단어가 포함되어 있을 경우, 본 발명의 음향 출력 장치(200)는 생성되는 음성 신호를 통신망(500)을 경유하여 서비스 서버(300)로 전송한다. 이때, 본 발명의 음향 출력 장치(200)는 입력되는 음성 신호에서 웨이크업 단어가 존재하는 것으로 확인되면, 통신 모듈에 전원을 인가하여 웨이크업 단어를 포함하는 음성 신호를 스트리밍하여 서비스 서버(300)로 전송하게 된다.
그리고, 본 발명의 음향 출력 장치(200)는 상기 음성 신호를 인식하여 사용자의 의도에 적합한 응답 정보가 서비스 서버(300)로부터 수신되면, 이를 구비된 스피커를 통해 음성 신호로 출력하는 과정을 수행하게 된다. 이때, 본 발명의 음향 출력 장치(200)는 서비스 서버(300)로부터 음성 신호 형태의 응답 메시지를 수신할 수 있으며, 수신된 응답 메시지를 사용자가 인지할 수 있는 가청 주파수 대역으로 변환하여 이를 스피커를 통해 출력할 수 있다.
반면, 본 발명의 음향 출력 장치(200)는 서비스 서버(300)로부터 응답 메시지와 함께 링크 정보가 수신되었다면, 상기 링크 정보를 이용하여 컨텐츠 제공 서버(400)에 접속하고, 컨텐츠 제공 서버(400)로부터 해당 링크 정보에 해당하는 컨텐츠를 스트리밍 형태로 수신하여 이를 스피커를 통해 출력하는 과정을 수행할 수 있다. 예컨대 상기 링크 정보가 도 1의 컨텐츠 제공 서버B(400b)가 제공하는 A 음원에 대한 링크 정보일 경우, 음향 출력 장치(200)는 통신망(500)을 경유하여 컨텐츠 제공 서버B(400b)에 접속하고, A 음원을 요청하여 컨텐츠 제공 서버B(400b)로부터 스트리밍 데이터를 수신하고 이를 재생할 수 있게 된다. 이때, 상기 링크 정보에는 컨텐츠 제공 서버(400)에 접속해도 된다는 승인 정보를 포함할 수 있으며, 링크 정보를 수신한 음향 출력 장치(200)는 상기 컨텐츠 제공 서버(400)에 접속할 수 있는 권한이 있는 상태이므로, 별다른 인증 과정 없이 컨텐츠 제공 서버(400)는 컨텐츠를 제공할 수 있게 된다.
한편, 서비스 서버(300)는 본 발명의 실시 예에 따른 음성 인식 서비스를 제공하는 서비스 사업자 주체의 장치를 의미한다. 본 발명의 서비스 서버(300)는 단말(100)과 연동하여 서비스 제공을 위한 각종 정보를 송수신할 수 있다. 또한, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)로부터 사용자가 발화하여 생성된 음성 신호를 수신하고 이에 해당하는 음성 인식 서비스를 제공할 수 있다.
특히, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)로부터 웨이크업 단어를 포함하는 음성 신호가 수신되면, 상기 음성 신호를 인식하고 웨이크업 단어에 해당하는 음성 신호를 삭제한 후 나머지 음성 신호를 대상으로 의미를 분석할 수 있다.
그리고 본 발명의 서비스 서버(300)는 후단에 복수 개의 컨텐츠 제공 서버(400)와 연동할 수 있으며, 사용자의 음성 인식을 통해 사용자의 의도를 파악하고 적합한 컨텐츠를 제공할 수 있는 컨텐츠 제공 서버(400)를 확인한 후, 컨텐츠 제공 서버(400)로부터 컨텐츠를 전달받아 이를 음향 출력 장치(200)로 제공할 수 있다. 이때, 본 발명의 서비스 서버(300)는 단순히 컨텐츠 제공 서버(400)가 제공하는 컨텐츠를 음향 출력 장치(200)로 전달하는 것이 아니라, 음성 인식 서비스에 따른 응답 메시지를 구성하여 생성하고 이를 TTS(Text to Speech) 엔진을 통해 음성 신호로 변환한 후 변환된 음성 신호를 스트리밍 형태로 음향 출력 장치(200)로 전송하게 된다.
본 발명의 음향 출력 장치(200)와 서비스 서버(300) 사이의 동작에 대해서는 후술하여 보다 더 구체적으로 설명하도록 하며, 본 발명의 컨텐츠 제공 서버(400)는 서비스 서버(300)의 요청에 따라 해당하는 서비스 또는 정보를 상기 서비스 서버(300)로 전송하는 역할을 수행하는 컨텐츠 제공자(CP; Contents Provider)의 장치를 의미한다. 특히, 본 발명의 컨텐츠 제공 서버(400)는 서비스 서버(300)의 질의 종류 또는 자신이 제공하는 컨텐츠의 종류에 따라 서로 다른 형태의 응답을 전송할 수 있다. 예컨대 컨텐츠 제공 서버 A(400a)가 음원에 대한 스트리밍 서비스를 제공할 수 있는 컨텐츠 제공 서버(400)라면 상기 서비스 서버(300)로 요청에 따른 해당 음원을 스트리밍 할 수 있는 링크 정보를 전송할 수 있다. 반면, 컨텐츠 제공 서버 B(400b)가 날씨, 온도 등의 특정한 컨텐츠를 제공할 수 있는 서버라면 상기 서비스 서버(300)로 요청에 따라 확인된 특정 정보(현재 날씨, 현재 온도 등)만을 제공할 수 있다.
더하여, 본 발명에서의 컨텐츠는 영화, 음악과 같은 순수 컨텐츠는 날씨, 시간 등의 특정 정보, 게임 어플리케이션, 일정 관리 어플리케이션 등과 같은 특정 기능을 수행하는 응용 프로그램 모두를 지칭하는 개념이다. 이러한 컨텐츠는 스트리밍 데이터 형태로 음향 출력 장치(200)로 전송되거나 서비스 서버(300)로 전달될 수 있다.
상술한 과정을 지원하는 통신망(500)은 인터넷 망과 같은 IP 기반의 유선 통신망뿐만 아니라, LTE(Long term evolution) 망, WCDMA 망과 같은 이동통신망, Wi-Fi망과 같은 다양한 종류의 무선망, 및 이들의 조합으로 이루어질 수 있으며, 이러한 통신망(500)은 접속망, 백본망, 인터넷망을 포함하여 구성될 수 있으나, 구체적인 구성 및 통신망에서의 동작은 공지된 다양한 기술을 적용할 수 있으므로, 구체적인 설명에 대해서는 생략하도록 한다.
또한, 본 발명의 통신망(500)은 하드웨어, 소프트웨어 등의 컴퓨팅 자원을 저장하고, 클라이언트가 필요로 하는 컴퓨팅 자원을 해당 단말기로 제공할 수 있는 클라우드 컴퓨팅망을 포함할 수 있다. 여기서, 클라우드 컴퓨팅이란 정보가 인터넷 상의 서버에 영구적으로 저장되고, 데스크톱, 태블릿 컴퓨터, 노트북, 넷북, 스마트폰 등의 클라이언트 단말기에는 일시적으로 보관되는 컴퓨터 환경을 의미하며, 클라우드 컴퓨팅은 이용자의 모든 정보를 인터넷 상의 서버에 저장하고, 이 정보를 각종 IT 기기를 통하여 언제 어디서든 이용할 수 있도록 하는 컴퓨터 환경 접속망을 의미한다. 이때, 본 발명의 단말(100)은 서비스 서버(300)의 접속을 위해 서비스 서버(300)가 제공하는 서비스 어플리케이션을 클라우드 컴퓨팅 방식으로 접근하여 이용할 수 있게 된다.
이상으로 본 발명의 실시 예를 위한 각 장치의 주요 구성에 대해 개략적으로 설명하였다. 본 발명의 실시 예에 따른 각 장치에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
이하, 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템에서의 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
도 2는 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 2를 참조하면, 본 발명의 음향 출력 장치(200)는 기본적으로 대기 상태이다. 대기 상태에서 음향 출력 장치(200)는 사용자의 음성을 입력 받기 위한 마이크와 같이 일부 모듈에만 전원을 인가하고 그 외 서비스 서버(300)와의 통신을 위한 통신 모듈과 같은 불필요한 모듈에는 전원을 차단하게 된다.
또한, 본 발명의 대기 상태는 음성 인식 시작 전의 상태를 총칭할 수 있다. 다시 말해, 음향 출력 장치(200) 인근에 여러 사용자가 발화하거나 시끄러운 잡음이 존재하여 마이크를 통해 음성 신호가 지속적으로 인식되더라도, 웨이크업 단어가 입력될 때까지 입력되는 음성 신호를 지속적으로 삭제하고 서비스 서버(300)로 전달되지 않도록 제어하는 상태를 의미할 수도 있다.
이러한 상태에서 본 발명의 음향 출력 장치(200)는 일정 반경 내 사용자로부터 전달되는 음성을 구비된 마이크를 통해 입력 받아 이를 음성 신호로 생성하게 된다(S101). 이때, 본 발명의 음향 출력 장치(200)는 실시간으로 마이크를 통해 사용자의 음성을 입력 받아 디지털 형태의 음성 신호로 변환하고, 변환된 음성 신호를 일정 길이의 프레임으로 구분하여 음성 신호를 인식할 수 있다(S103).
이때, 본 발명의 음향 출력 장치(200)는 상기 프레임으로 구분되는 음성 신호를 프레임 단위로 장치 저장부에 저장할 수 있으며, 상기 프레임별로 음성 특징 벡터를 추출하고, 추출된 음성 특징 벡터에 대응하는 음소를 확인하고, 음소의 집합을 이용하여 단어를 구성하게 된다. 그리고, 구성된 단어가 미리 정의된 웨이크업 단어에 해당되는 지 여부를 판단하여(S105), 웨이크업에 해당하는 단어가 아닐 경우, 상기 장치 저장부에 프레임 단위로 저장된 음성 신호를 삭제하고, 존재하는 경우, 상기 장치 저장부에 저장된 프레임부터 실시간으로 음성 신호를 스트리밍하여 서비스 서버(300)로 전송할 수 있다(S107). 즉, 본 발명의 음향 출력 장치(200)는 웨이크업 단어가 존재하는 음성 신호 전체를 상기 서비스 서버(300)로 전송하도록 제어하게 된다.
스트리밍되는 음성 신호를 수신하는 서비스 서버(300)는 상기 음성 신호를 프레임 단위로 인식하는 과정을 수행한다(S109). 이때, 본 발명의 서비스 서버(300)는 수신된 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하게 된다. 여기서, 음소는 의미를 구별 짓는 최소의 단위(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)를 의미하는 것으로, 음소 인식에서는 이러한 단위의 집합으로 변환하는 과정을 수행할 수 있다.
이후에, 본 발명의 서비스 서버(300)는 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 구성되는 문장을 구성하고 이를 이용하여 웨이크업 단어가 존재하는 지 판단하게 된다(S111). 즉 본 발명의 서비스 서버(300)는 음향 출력 장치(200)에 비해 음성 인식에 필요한 정보들을 대량으로 구축하여 저장할 수 있으며, 음향 출력 장치(200)에서의 웨이크업 과정과는 다르게 보다 더 정확한 웨이크업 과정이 이뤄질 수 있다. 이에 본 발명의 서비스 서버(300)는 음향 출력 장치(200)로부터 전달되는 음성 신호에서 웨이크업 단어가 존재하는 지 여부를 확인하고 웨이크업 단어에 해당하는 단어열을 포함하는 프레임을 삭제하게 된다(S113).
예를 들어, 음성 신호가 "케이야아 최신가요 틀어줘"이며, 웨이크업 단어가 '케이야'라고 할 경우, 음향 출력 장치(200)는 상기 음성 신호의 초기 구간에 '케이야'가 포함되어 있는 것으로 확인되면 상기 음성 신호의 초기 구간부터 입력되는 음성 신호 전체를 서비스 서버(300)로 전송하며, 서비스 서버(300)는 상기 음성 신호를 보다 더 정교하게 인식하여 분석하고 각각의 단어, 즉 '케이야', '아', '최신가요', '틀어줘'를 순차적으로 확인할 수 있다. 이때, 상기 '아'는 웨이크업 단어에 인접하여 위치하고 있으며, 별다른 의미가 없는 단어로 확인되면, 상기 '아'를 웨이크업 단어로 처리하여 모두 삭제할 수 있게 된다.
이후, 본 발명의 서비스 서버(300)는 의미 분석에 불필요한 모든 단어를 삭제한 상태이므로, 나머지 단어를 대상으로 의미 분석 과정을 수행한다(S115). 즉, 본 발명의 서비스 서버(300)는 복수 개의 단어로 구성되는 문장을 분석하여, 각각의 단어이 엔티티(entity)에 해당하는지 인텐트(intent)에 해당하는 지를 확인하게 된다(S113). 여기서, 엔티티는 사용자가 원하는 특정 서비스의 이름과 같이 미리 정의된 고유 명사를 의미할 수 있다. 예컨대, 날씨, 최신가요, 팝송, 시간, 약속 등과 같이 미리 약속된 고유 명사를 엔티티로 추출할 수 있다. 반면 인텐트는 사용자의 의도를 포함하고 있는 단어를 의미하는 것으로, 예컨대, '틀어줘', '몇시야', '어때' 등과 같이 엔티티를 제외한 사용자의 의도를 표현하기 위한 단어에 해당할 수 있다.
예를 들어, 사용자가 "음악 들려줘"를 발화한 경우, 서비스 서버(300)는 '음악'은 엔티티로, '들려줘'는 인텐트로 분석할 수 있다. 또한, 사용자가 "공기청정기 켜줘"를 발화한 경우, 서비스 서버(300)는 '공기청정기'는 엔티티로, '켜줘'는 인텐트로 분석할 수 있다. 아울러, 본 발명의 서비스 서버(300)는 각각의 엔티티에 대응하여 서비스 제공 주체에 대한 정보를 테이블 형태로 저장할 수 있으며, 상기 분석된 엔티티를 이용하여 서비스 제공 주체, 다시 말해 컨텐츠 제공 서버를 확인할 수 있다(S119). 이때, 별도의 컨텐츠 제공 서버가 없을 경우, 서비스 서버(300)가 서비스 제공 주체가 될 수 있다.
또한, 본 발명의 서비스 서버(300)는 인텐트에 대응하여 사용자의 의도에 대한 정보를 테이블 형태로 저장하고 관리할 수 있으며, 분석된 인텐트를 이용하여 사용자의 의도를 정확하게 확인하고 이를 해당 컨텐츠 제공 서버(400)로 질의하여 서비스를 요청할 수 있다(S121). 예컨대, '들려줘'인텐트는 '재생'으로 확인하여 해당 컨텐츠 제공 서버(400)로 재생에 대한 서비스 요청을 전송할 수 있으며, '켜줘' 인텐트는 '실행'으로 확인하여 해당 컨텐츠 제공 서버(400) 또는 자신이 직접 엔티티에 대응하는 기기를 실행시킬 수 있다.
또 다른 예를 들어, 엔티티가 '날씨'이며, '어때'의 인텐트가 '문의'라고 할 경우, 서비스 서버(3000는 상기 날씨 컨텐츠를 제공할 수 있는 컨텐츠 제공 서버a(400a)를 확인하고, 해당 컨텐츠 제공 서버a(400a)로 날씨에 대한 질의를 요청할 수도 있다. 이때, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)의 식별 정보를 확인하고, 음향 출력 장치(200)의 현재 위치 및 시간에 대한 정보를 확인한 후, 보다 구체적인 문의를 컨텐츠 제공 서버(400)로 질의할 수 있게 된다. 예컨대, 음향 출력 장치(200)의 현재 위치가 '서울시 구로구'라고 할 경우, 서비스 서버(300)는 현재 시간의 서울시 구로에 대한 날씨를 질의할 수 있으며, 컨텐츠 제공 서버(400)는 서비스 서버(300)의 질의 요청에 따라 해당하는 응답을 확인하여 서비스 서버(300)로 전송한다(S121).
이후, 본 발명의 서비스 서버(300)는 수신된 응답을 이용하여 응답 메시지를 구성한다(S125). 즉, 본 발명의 서비스 서버(300)는 컨텐츠 제공 서버(400)로부터 컨텐츠에 대한 응답 정보만을 수신한 상태이므로, 이를 음향 출력 장치(200)로 전송하기 위한 가공의 과정을 수행할 수 있다.
먼저, 컨텐츠 제공 서버(400)로부터 '비'라는 응답 정보가 수신되었다면, 서비스 서버(300)는 상기 컨텐츠를 포함하는 일련의 문장을 구성할 수 있다. 이때, 상기 일련의 문장은 음향 출력 장치(200)의 현재 위치 및 현재 시각은 고려하여 구성될 수 있다. 전술한 예에서, 음향 출력 장치(200)의 현재 위치가 서울시 구로라고 하며, 현재 시간이 2시라고 가정할 경우, 서비스 서버(300)는 상기 정보를 포함하여 "서울시 구로, 2시 현재 비가 내리고 있습니다"의 형태로 응답 메시지를 구성할 수 있다. 응답 메시지를 구성할 때 본 발명의 서비스 서버(300)는 사용자에 의해 설정된 정보를 고려하여 응답 메시지를 구성할 수 있다. 예를 들어, 단말(100)로부터 응답 메시지 구성을 위한 사용자의 설정 정보가 전달되면, 이를 기반으로 응답 메시지를 구성할 수 있는데, 사용자가 언어의 종류를 영어로 선택하면, 영어의 문법에 따라 컨텐츠 제공 서버(400)로부터 전달된 컨텐츠를 변환하고 응답 메시지를 구성할 수 있다. 또한, 사용자가 문체를 '친근하게'로 설정하였다면, 친근한 문체로 상기 응답 메시지를 구성할 수 있으며, 경어로 설정하였다면, 경어 문체로 상기 응답 메시지를 구성할 수도 있다.
그리고, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)를 통해 구성된 응답 메시지를 출력하기 위해, 음성 신호로 변환하는 과정을 수행하고(S127), 전기적인 음성 신호로 변환된 응답 메시지를 실시간 스트리밍 형태로 음향 출력 장치(200)로 전송한다(S129). 즉, 음성 신호로 변환된 응답 메시지가 10개의 프레임으로 구성되는 경우, 한 프레임 단위로 실시간적으로 음향 출력 장치(200)로 전송하고, 음향 출력 장치(200)는 이를 스피커를 통해 출력하는 과정을 수행하게 된다(S131).
한편, 본 발명의 음향 출력 장치(200)는 서비스 서버(300)로부터 전송된 링크 정보를 이용하여 컨텐츠 제공 서버(400)에 접속하고, 컨텐츠 제공 서버(400)로부터 대응하는 컨텐츠를 스트리밍 방식으로 수신하여 이용할 수도 있다.
이상으로, 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템에서의 동작에 대해 설명하였다.
이하에서는 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 장치를 중심으로 보다 더 구체적으로 설명하도록 한다.
이하, 본 발명의 실시 예에 따른 음향 출력 장치(200)의 주요 구성 및 동작에 대해 설명하도록 한다.
도 3은 본 발명의 실시 예에 따른 음향 출력 장치의 주요 구성을 도시한 구성도이며, 도 4는 본 발명의 실시 예에 따른 음향 출력 장치에서의 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
먼저, 도 5를 참조하면, 본 발명의 음향 출력 장치(200)는 음성 신호 입력부(210), 장치 제어부(220), 장치 통신부(230), 출력부(240) 및 장치 저장부(250)를 포함하여 구성될 수 있다.
먼저, 본 발명의 음성 신호 입력부(210)는 복수 개의 다채널 마이크(211) 및 상기 마이크(211)를 통해 입력되는 아날로그 형태의 음성 신호를 전기적 신호로 변환하는 ADC(212)를 포함하여 구성될 수 있다. 특히, 본 발명의 음성 신호 입력부(210)는 사용자의 발화를 통해 발생되는 음성을 복수 개의 다채널 마이크(211)를 통해 입력 받게 된다. 이때, 입력되는 음성은 주변의 잡음 및 다채널 마이크를 통해 발생되는 에코를 포함할 수 있다. 본 발명의 ADC(212)는 이러한 잡음 및 에코를 포함하는 아날로그 형태의 음성을 전기적 형태의 음성 신호로 변환하여 장치 제어부(220)로 전달한다.
본 발명의 장치 제어부(220)는 음성 인식 모듈(221), 웨이크업 판단 모듈(222), 신호 처리 모듈(223) 및 서비스 처리 모듈(224)를 포함하여 구성될 수 있다.
이때, 상기 음성 인식 모듈(221)은 음성 신호 입력부(210)의 ADC(212)를 통해 전달되는 전기적 신호 형태의 음성 신호를 인식하기 위한 다양한 과정을 수행할 수 있다. 특히, 본 발명의 음성 인식 모듈(221)은 장치 저장부(250)에 저장된 프레임 단위로 음성 신호에 대해 음성 인식 과정을 수행할 수 있다. 예컨대, 음성 인식 모듈(221)은 푸리에 변환을 수행하여 스펙트럼 정보를 추출하고, 스펙트럼에 대한 필터 뱅크 에너지(Filterbank Energy)를 산출하게 된다. 즉, 주파수 대역을 여러 개의 필터 뱅크로 나누고 각 뱅크에서의 에너지에 로그 함수를 적용하여 로그 필터뱅크 에너지를 산출할 수 있다. 산출된 로그 필터뱅크 에너지에 대응하는 음소를 장치 저장부(250)의 음성 인식 정보(251)를 통해 확인하게 된다. 이후, 본 발명의 음성 인식 모듈(221)은 음소의 집합을 구성하고 이에 따른 단어를 웨이크업 판단 모듈(222)로 전달한다.
이러한 과정은 일정 범위의 프레임을 대상으로 이뤄지도록 서비스 처리 모듈(223)에 의해 제어될 수 있다. 예를 들어, 웨이크업 단어는 사용자의 발화 시작에 입력되는 것으로 설정되어 있다면, 음성 인식 모듈(221)은 마이크를 통해 사용자의 발화 음성이 입력되기 시작한 시점부터 초기 구간, 예컨대 10초 동안의 음성 신호를 대상으로 음성 인식을 수행하고, 그 이후에는 음성 인식을 수행하지 않을 수도 있다.
웨이크업 판단 모듈(222)은 음성 인식 모듈(221)로부터 전달되는 음성 인식 결과에 웨이크업을 위한 웨이크업 단어가 존재하는 지 여부를 확인할 수 있다. 즉, 음성 인식 모듈(221)이 음성 신호의 초기 구간을 인식한 결과 웨이크업 단어에 매칭된 것으로 확인되면, 웨이크업 판단 모듈(222)은 장치 통신부(230), 출력부(240) 등의 대기 상태의 모듈에 전원이 인가되도록 제어하고, 이를 서비스 처리 모듈(223)로 안내하여, 발화된 음성 신호 전체가 서비스 서버(300)로 전송되도록 지원할 수 있다. 반면, 음성 인식 모듈(221)의 음성 인식 결과, 웨이크업 단어가 포함되지 않는 것으로 확인되면, 서비스 처리 모듈(223)로 안내하여 장치 저장부(250)에 저장된 음성 신호가 삭제되도록 지원할 수 있다.
본 발명의 서비스 처리 모듈(223)은 상기 웨이크업 판단 모듈(222)의 판단 결과, 웨이크업 단어가 포함된 것으로 확인되면, 장치 저장부(250)에 저장된 음성 신호의 초기 구간의 음성 프레임부터 장치 통신부(230)의 서비스 연동 모듈(231)을 통해 스트리밍하여 서비스 서버(300)로 전송할 수 있다. 또한, 본 발명의 서비스 처리 모듈(223)은 상기 웨이크업 판단 모듈(222)의 판단 결과, 웨이크업 단어가 포함되지 않는 것으로 확인되면, 상기 장치 저장부(250)에 저장된 음성 신호의 초기 구간에 대한 음성 프레임이 삭제되도록 처리할 수 있다. 이후, 서비스 서버(300)로부터 이에 대한 응답 메시지가 전달되면, 이를 출력부(240)로 전달하게 된다.
아울러, 본 발명의 서비스 처리 모듈(223)은 장치 통신부(230)의 서비스 연동 모듈(231)을 통해 컨텐츠 접근을 위한 링크 정보가 함께 수신되는 경우, 상기 링크 정보를 통해 컨텐츠 제공 서버(400)에 접속할 수 있으며, 상기 컨텐츠 제공 서버(400)로부터 해당하는 컨텐츠에 대한 스트리밍 데이터를 상기 서비스 연동 모듈(231)을 통해 수신하고 이를 출력부(240)를 통해 출력하는 과정을 제어할 수 있다.
장치 통신부(230)는 서비스 연동 모듈(231) 및 단말 연동 모듈(232)을 포함하며, 서비스 연동 모듈(231)은 통신망(500)을 통해 서비스 서버(300) 또는 컨텐츠 제공 서버(400)와 정보를 송수신하는 역할을 수행할 수 있다. 반면, 단말 연동 모듈(232)은 근거리 통신을 통해 단말(100)과 정보를 송수신하는 역할을 수행할 수 있다.
출력부(240)는 전기적 신호인 음성 신호를 아날로그 형태로 변환하여 출력할 수 있는 DAC(Digital to Analog Converter, 241) 및 상기 DAC(241)를 통해 출력되는 음성 신호를 출력하는 스피커(242)를 포함하여 구성될 수 있다.
장치 저장부(250)는 본 발명의 실시 예에 따른 음향 출력 장치(200)의 구동과 관련된 각종 정보를 저장하고 관리하는 역할을 수행하게 된다. 특히 본 발명의 장치 저장부(250)는 입력되는 음성 신호를 실시간으로 인식하기 위한 음성 인식 정보(251)를 포함할 수 있으며, 웨이크업과 관련된 정보(252)를 저장하고 관리할 수 있다. 또한, 장치 저장부(250) 음성 인식 서비스 처리와 관련된 각종 정보(253)를 저장하고 관리할 수 있다.
아울러, 본 발명의 장치 저장부(250)는 음성 신호 입력부(210)를 통해 실시간 입력되는 음성 신호를 프레임 단위로 구분하여 저장할 수 있으며, 장치 제어부(220)의 요청에 따라 상기 저장된 음성 신호를 장치 통신부(230)로 전달되도록 지원할 수 있다. 또한, 장치 제어부(220)의 요청에 따라 상기 저장된 성 신호를 삭제할 수 있다.
이러한 본 발명의 실시 예에 따른 음향 출력 장치(200)에서의 동작에 대해 도 4를 참조하여 설명하도록 한다.
도 4를 참조하면, 본 발명의 음향 출력 장치(200)는 웨이크업 단어가 인식되기 전까지는 대기 상태를 유지할 수 있다(S201).
이러한 상태에서 본 발명의 음향 출력 장치(200)는 일정 반경 내 사용자로부터 전달되는 음성을 구비된 마이크를 실시간 입력 받아 디지털 형태의 음성 신호로 변환하여 생성하고, 음성 신호가 생성됨에 따라(S203), 생성되는 음성 신호를 소정 길이의 프레임 단위로 저장하게 된다(S205). 예컨대, 본 발명의 음향 출력 장치(200)는 1초 단위로 프레임을 구성하여 저장할 수 있다. 또한, 본 발명의 음향 출력 장치(200)는 일정 구간의 프레임만 일정 시간 동안 저장되도록 설정할 수 있다. 예를 들어 사용자의 발화 시작부터 10초 동안의 음성 신호만 저장하고, 그 이후는 삭제하는 과정을 수행할 수도 있다.
이후, 본 발명의 음향 출력 장치(200)는 저장된 프레임 단위로 음성 인식 과정을 수행한다(S205). 예컨대, 본 발명의 음향 출력 장치(200)는 각 프레임별 음성 특징 벡터를 추출하고, 특징 벡터에 대응하는 음소를 확인한 후 확인된 음소의 집합을 통해 단어를 구성할 수 있다. 그리고, 음향 출력 장치(200)는 구성된 단어와 기 저장된 웨이크업 단어를 비교하여(S209), 웨이크업에 해당하는 단어가 존재하는 지 여부를 판단하게 된다. 여기서, 웨이크업 단어는 하나의 단어를 의미할 수 있으며, 둘 이상의 단어의 집합이 될 수도 있다.
상기 판단 결과, 인식된 결과가 웨이크업 단어에 매칭되면, 음향 출력 장치(200)는 프레임 단위로 구분되어 저장된 음성 신호부터 시작하여 마이크를 통해 입력되어 생성되는 음성 신호를 순차적으로 스트리밍하여 서비스 서버(300)로 전송하게 된다(S211).
예를 들어 사용자가 "케이야아, 최신가요 틀어줘"라는 문장에서 '케이야'부터 발화하기 시작하였다면, 대기 상태에 있던 음향 출력 장치(200)는 사용자의 발화가 있음을 인지하고 사용자의 발화 음성을 프레임 단위로 구분하여 저장하기 시작하며, 저장된 음성 프레임을 인식하여 '케이야'가 웨이크업 단어에 해당함을 확인할 수 있다. 그리고 음향 출력 장치(200)는 저장된 '케이야'에 해당하는 음성 신호부터 그 이후에 사용자가 발화하여 입력되는 음성 신호 "아, 최신가요 틀어줘"를 스트리밍하여 서비스 서버(300)로 전송하게 된다.
또 다른 예를 들어, 사용자가 "아 케이야 최신가요 틀어줘"라는 문장을 발화하기 시작하였다면, 대기 상태에 있던 음향 출력 장치(200)는 사용자의 발화가 있음을 인지하고 발화 음성을 프레임 단위로 구분하여 저장하기 시작하며, 저장된 음성 프레임을 이용하여 '케이야'가 웨이크업 단어에 해당함이 확인되면, 저장된 '아'에 대응하는 음성 프레임은 삭제하고 '케이야'에 대응하는 음성 신호부터 그 이후에 입력되는 음성 신호를 순차적으로 스트리밍하여 서비스 서버(300)로 전송할 수 있게 된다.
이러한 과정을 거쳐 본 발명의 음향 출력 장치(200)는 웨이크업 판단을 위해 최소한의 음성 신호 구간만을 저장하고 음성 인식을 수행하며, 음성 인식에 따라 웨이크업에 해당하는 경우에는 상기 저장된 음성 신호를 포함하여 그 이후에 사용자로부터 입력되는 음성 신호는 저장하는 과정 없이 즉시 스트리밍 서버(300)로 전송하게 된다.
이를 수신한 서비스 서버(300)는 음성 신호를 인식하고, 사용자의 의도를 파악한 후 사용자가 발화한 음성 신호에 대한 응답 메시지를 생성할 수 있다.
그리고 서비스 서버(300)는 생성된 응답 메시지를 음향 출력 장치(200)로 전송하게 되며, 본 발명의 음향 출력 장치(200)는 서비스 서버(300)로부터 전기적 신호인 음성 신호로 변환된 응답 메시지가 수신되면(S213), 이를 구비된 스피커를 통해 출력할 수 있다(S215). 이때, 본 발명의 음향 출력 장치(200)는 응답 메시지를 아날로그 형태로 변환하는 과정을 수행할 수 있으며, 아날로그로 변환된 응답 메시지를 출력할 수 있다.
한편, S209 단계에서 본 발명의 음향 출력 장치(200)는 웨이크업 판단 결과, 저장된 음성 신호에 웨이크업에 해당하는 단어가 존재하지 않는 것으로 판단되면, 저장된 음성 신호는 삭제하게 된다(S217).
이상으로 본 발명의 실시 예에 따른 음향 출력 장치(200)의 주요 구성 및 동작에 대해 설명하였다.
이하, 본 발명의 실시 예에 따른 서비스 서버(300)의 주요 구성 및 동작에 대해 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 서비스 서버의 주요 구성을 도시한 구성도이며, 도 6은 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 설명하기 위한 예시도이며, 도 7은 본 발명의 실시 예에 따른 서비스 서버에서의 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
먼저, 도 5를 참조하면, 본 발명의 실시 예에 따른 서비스 서버(300)는 서버 통신부(310), 서버 저장부(320), 서버 제어부(330), 변환부(340) 및 컨텐츠 서버 연동부(350)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 더 구체적으로 설명하면, 본 발명의 서버 통신부(310)은 단말(100) 및 음향 출력 장치(200)와 정보를 송수신하는 역할을 수행할 수 있다. 특히, 본 발명의 서버 통신부(310)는 통신망(500)을 경유하여 단말(100)로부터 음향 출력 장치(200) 제어 및 본 발명의 음성 인식 서비스와 관련된 각종 사용자 설정 정보를 입력 받을 수 있다. 또한, 단말(100)로부터 음향 출력 장치(200)의 식별 정보를 수신하고, 단말(100)의 가입자 정보를 수신할 수 있다. 또한 본 발명의 서버 통신부(310)는 음향 출력 장치(200)로부터 사용자가 발화한 음성 신호를 전달받을 수 있으며, 상기 음향 출력 장치(200)로 상기 음성 신호에 대응하여 서버 제어부(330)가 생성한 응답 메시지 및 링크 정보를 전송할 수 있다.
서버 저장부(320)은 본 발명의 서비스 서버(300) 구동과 관련된 각종 정보를 저장하고 관리하는 역할을 수행할 수 있다. 특히 본 발명의 서버 저장부(320)는 음성 인식 및 의미 분석을 위해 필요한 각종 정보를 저장하고 관리할 수 있는데, 특히 음성 인식 서비스를 위해 엔티티 또는 인텐트에 대응하는 단어를 저장하고 관리할 수 있다.
본 발명의 엔티티 및 인텐트에 대해 보다 더 구체적으로 설명하면, 본 발명의 엔티티는 사용자가 원하는 특정 서비스의 이름과 같이 미리 정의된 고유 명사를 의미할 수 있다. 예컨대, 날씨, 최신가요, 팝송, 시간, 약속, 타이머, 청정기, 핸드폰 등과 같이 제어를 수행하고자 하는 대상이 되는 고유 명사를 의미할 수 있다. 또한, 본 발명의 서버 저장부(320)는 상기 엔티티를 처리할 수 있는 주체에 대한 정보를 저장하고 관리할 수 있다.
서비스 제공 주체 엔티티
컨텐츠 제공 서버 A 날씨, 온도, 습도
컨텐츠 제공 서버 B 최신곡, 팝송, 케이팝, 팝, 최신노래
서비스 서버 일정, 약속, 타이머
즉, 전술한 <표 1>과 같이, 본 발명의 서버 저장부(320)는 특정 엔티티를 처리할 수 있는 서비스 제공 주체에 대한 정보를 저장하고 관리할 수 있다.
또한, 본 발명의 서버 저장부(320)는 인텐트에 대응하는 단어열을 저장하고 관리할 수 있는 인텐트는 사용자의 의도를 포함하고 있는 단어열을 의미하는 것으로, 예컨대, '틀어줘', '몇시야', '어때', '들려줘', '켜줘', '알려줘'등과 같이 사용자가 엔티티를 대상으로 원하는 의도를 표현하기 위한 단어열에 해당할 수 있다.
의도 인텐트
재생 틀어줘, 들을까, 듣고싶어, 틀어봐, 시작
중지 그만, 안들어, 중지, 싫어
질의 뭐야, 어때, 확인해봐, 찾아봐
즉 <표 2>에 도시된 바와 같이 서버 저장부(320)는 사용자의 의도를 나타낼 수 있는 단어열을 인텐트로 저장하고 관리할 수 있다.
또한, 본 발명의 서버 저장부(320)는 본 발명의 실시 예에 따른 음성 인식 서비스 제공과 관련된 각종 정보를 저장하고 관리할 수 있다.
서버 제어부(330)는 본 발명의 실시 예에 따른 서비스 서버(300)의 동작 전반을 관리하는 것으로, 전처리 모듈(331), 음성 인식 모듈(332), 의미 분석 모듈(334) 및 서비스 처리 모듈(334)을 포함하여 구성될 수 있다.
전처리 모듈(331)은 서버 통신부(310)를 통해 음향 출력 장치(200)로부터 전달되는 음성 신호에서 음성 인식 이전의 전처리 단계를 수행한다. 예컨대, 음성 신호에서 잡음을 제거하는 등의 전처리 과정을 수행할 수 있다.
그리고 음성 인식 모듈(332)은 전처리 모듈(331)을 통해 전달되는 음성 신호를 인식하는 과정을 수행한다. 예컨대, 본 발명의 음성 인식 모듈(332)은 수신된 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하게 된다. 여기서, 음소는 의미를 구별 짓는 최소의 단위(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)를 의미하는 것으로, 음성 특징 벡터에 대응음소 인식에서는 이러한 단위의 집합으로 변환하는 과정을 수행할 수 있다. 이후에, 본 발명의 음성 인식 모듈(332)은 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 구성되는 문장을 구성하고 이를 웨이크업 판단 모듈(333)로 전달한다.
웨이크업 판단 모듈(333)은 상기 단어열로 구성되는 문장에서 웨이크업에 해당하는 단어가 존재하는 지 여부를 판단하게 된다. 즉, 도 6에 도시된 바와 같이, 음향 출력 장치(200)가 '케이야'라는 웨이크업 단어를 인식하여 상기 웨이크업 단어를 모두 포함하는 음성 신호를 서비스 서버(300)로 전송하게 되며, 서비스 서버(300)는 각각의 단어를 분석하여, ③에 대응하는 '아'는 인텐트도 아니며, 엔티티도 아닌 것으로 확인할 수 있다. 또한, 웨이크업 단어에 인접하여 있으므로, 상기 '아'는 웨이크업 단어는 아니지만 '아'를 포함하는 '케이야아'를 웨이크업 단어를 포함하는 구간으로 간주하여 모두 삭제할 수 있다. 이러한 과정을 거침으로써 보다 더 정확한 웨이크업 처리가 가능하고, 그 이후의 등장하는 단어에 대한 보다 더 정교한 인식이 가능하게 된다.
이후, 의미 분석 모듈(334)은 상기 웨이크업 판단 모듈(333)을 통해 전달되는 문장에서 단어 각각을 분석하고 분석된 단어가 엔티티에 해당하는 지 인텐트에 해당하는 지를 분석하게 된다. 예컨대, 사용자가 음향 출력 장치(200) 인근에서 "에이야, 지금 날씨 어때"라는 문장을 발화하였다고 가정한다. 이때, '지금', '어때'의 단어는 인텐트이며, 날씨에 대응하는 단어는 엔티티로 분석할 수 있다. 이때, 본 발명의 의미 분석 모듈(334)은 <표 1> 및 <표 2>를 참조하여 엔티티에 대한 사용자의 보다 정확한 의도를 파악하게 되고, 파악된 결과를 서비스 처리 모듈(334)로 전달한다.
서비스 처리 모듈(334)은 먼저 엔티티에 대응하는 서비스 제공 주체를 확인한다. 전술한 예에서, '날씨' 엔티티에 해당하는 서비스 제공 주체로 컨텐츠 제공 서버 A(400a)를 확인할 수 있다. 그리고, 서비스 처리 모듈(334)은 해당 컨텐츠 제공 서버 A(400a)로 '지금', '어때'에 대응하는 인텐트를 통해 사용자의 의도를 파악하고 현재 시간의 날씨 정보를 질의할 수 있다. 이때, 본 발명의 서비스 처리 모듈(334)은 음향 출력 장치(200)의 식별 정보를 확인하고, 상기 식별 정보에 대응하는 서비스 가입 정보를 서버 저장부(320)를 통해 확인할 수 있다. 그리고 확인된 정보에 따라 음향 출력 장치(200)의 현재 위치를 확인하고, 확인된 위치에서의 날씨 정보를 질의할 수 있다.
이후에 컨텐츠 서버 연동부(350)를 통해 컨텐츠 제공 서버a(400a)로부터 대응하는 컨텐츠가 전달되면, 서비스 처리 모듈(334)은 이를 포함하여 응답 메시지를 구성한다. 즉, 컨텐츠 서버 연동부(350)를 통해 '비'라는 컨텐츠가 전달되었다면, 서비스 처리 모듈(334)은 사용자의 현재 위치, 시간 정보를 포함하고, 컨텐츠 제공 서버a(400a)로부터 전달된 응답 정보를 포함하여 "서울 구로, 2시 현재 날씨는 비가 오고 있습니다"와 같은 문장 형태의 응답 메시지를 구성할 수 있다.
그리고 본 발명의 서비스 처리 모듈(334)은 변환부(341)의 TTS 엔진(341)을 통해 상기 응답 메시지를 음성 신호로 변환한다. 이후, 변환부(340)로부터 변환된 응답 메시지가 전달되면, 서비스 처리 모듈(334)은 서버 통신부(310)를 통해 상기 변환된 응답 메시지를 음향 출력 장치(200)로 전달할 수 있다.
또한, 본 발명의 서비스 처리 모듈(334)은 컨텐츠 서버 연동부(350)를 통해 컨텐츠 제공 서버(400)로부터 컨텐츠 접속을 위한 링크 정보가 수신되었다면, 수신된 링크 정보를 응답 메시지와 함께 서버 통신부(310)를 통해 음향 출력 장치(200)로 전달할 수 있다.
이러한 본 발명의 서비스 서버(300)에서의 이중 웨이크업을 이용한 음성 인식 서비스 제공 과정에 대해 흐름도를 참조하여 다시 설명하도록 한다.
도 7은 본 발명의 실시 예에 따른 서비스 서버(300)에서의 주요 동작을 설명하기 흐름도로, 서비스 서버(300)는 음향 출력 장치(200)로부터 음성 신호를 수신한다(S301).
이후, 본 발명의 서비스 서버(300)는 음성 신호를 인식하는 과정을 수행한다(S303). 이때, 본 발명의 서비스 서버(300)는 수신된 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하게 된다. 여기서, 음소는 의미를 구별 짓는 최소의 단위(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)를 의미하는 것으로, 음소 인식에서는 이러한 단위의 집합으로 변환하는 과정을 수행할 수 있다. 이후에, 본 발명의 서비스 서버(300)는 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 구성되는 문장을 구성하고 웨이크업 단어가 존재하는 지 여부를 판단하게 된다(S305).
상기 판단 결과, 웨이크업 단어가 존재하는 경우, 서비스 서버(300)는 웨이크업에 대응하는 구간을 삭제하게 된다(S307). 이때, 본 발명의 서비스 서버(300)는 인식된 결과인 단어를 삭제하고 나머지 단어를 대상으로 의미를 분석할 수 있으며 상기 웨이크업에 대응하는 음성 신호의 프레임을 삭제할 수도 있다.
이후, 본 발명의 서비스 서버(300)는 웨이크업에 대응하는 구간이 삭제된 음성 신호를 이용하여 의미 분석 과정을 수행하며(S309), 각각의 단어가 엔티티에 해당하는지 인텐트에 해당하는 지를 확인하게 된다(S311).
여기서, 엔티티는 사용자가 원하는 특정 서비스의 이름과 같이 미리 정의된 고유 명사를 의미할 수 있다. 예컨대, 날씨, 최신가요, 팝송, 시간, 약속 등과 같이 미리 약속된 고유 명사를 엔티티로 추출할 수 있다. 반면 인텐트는 사용자의 의도를 포함하고 있는 단어열을 의미하는 것으로, 예컨대, '틀어줘', '몇시야', '어때' 등과 같이 엔티티를 제외한 사용자의 의도를 표현하기 위한 단어열에 해당할 수 있다.
문장을 예로 들어 설명하면, "최신음악 틀어줘"라는 문장을 사용자가 발화하였다면, 상기 문장에서 '최신음악'은 엔티티를 의미하며, '틀어줘'는 인텐트를 의미한다.
본 발명의 서비스 서버(300)는 최신음악 엔티티에 대한 서비스 제공 주체, 상기 최신음악을 서비스하는 컨텐츠 제공 서버(400)를 확인할 수 있다(S313). 그리고, 컨텐츠 제공 서버로 인텐트에 해당하는 서비스를 질의하게 된다(S315). 전술한 예에서, '틀어줘'가 인텐트이며, 서비스 서버(300)는 상기 '틀어줘'에 대응하는 사용자 의도를 인텐트 테이블 정보에서 확인하고 사용자 의도가 '재생'임을 알 수 있게 된다. 이후에, 서비스 서버(300)는 컨텐츠 제공 서버로 '최신음악'에 대한 재생 서비스를 질의하여 요청하게 된다.
그리고 본 발명의 서비스 서버(300)는 컨텐츠 제공 서버(400)로부터 해당하는 응답을 수신할 수 있다(S317). 이후에 서비스 서버(300)는 음향 출력 장치(200)로 전송하기 위한 응답 메시지를 구성하고(S319), 이를 음성 신호로 변환한다(S321). 상기 응답 메시지는 사용자로부터 입력된 음성 신호에 대한 응답 메시지로, "최신음악 들려드릴께요"라는 응답 메시지를 생성할 수 있다.
그리고, 서비스 서버(300)는 변환된 응답 메시지를 음향 출력 장치(200)로 전송한다(S323). 아울러, 본 발명의 서비스 서버(300)는 컨텐츠 제공 서버로부터 링크 정보를 응답 정보로 수신하는 경우, 상기 링크 정보를 음향 출력 장치(200)로 전송할 수 있으며, 상기 링크 정보가 복수 개인 경우, 이에 대한 재생 리스트를 생성하여, 재생 리스트에 따라 순차적으로 링크 정보를 전송할 수도 있다.
이상으로 본 발명의 실시 예에 따른 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다.
특히, 본 발명의 컴퓨터 프로그램은 발화되는 사용자의 음성을 입력 받아 음성 신호를 생성하는 단계; 상기 음성 신호에 미리 지정된 웨이크업 단어가 존재하는 지 확인하는 단계; 상기 웨이크업 단어가 존재하는 것으로 확인되면, 상기 웨이크업 단어를 포함하는 음성 신호를 스트리밍하여 서비스 서버로 전송하는 단계; 상기 서비스 서버로부터 상기 웨이크업 단어가 제거된 음성 신호를 인식하여 생성된 응답 메시지를 수신하는 단계; 및 상기 수신된 응답 메시지를 재생하여 출력하는 단계;등을 실행할 수 있다.
이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
아울러, 상술한 바와 같은 컴퓨터가 읽을 수 있는 기록매체에 기록된 컴퓨터 프로그램은 상술한 바와 같은 기능을 수행하는 명령어를 포함하며 기록매체를 통해 배포되고 유통되어 특정 장치, 특정 컴퓨터에 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 음성 인식 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 마이크와 스피커를 포함하는 음향 출력 장치와 연동하여 음성 인식 서비스를 제공할 수 있는 서비스 서버에 있어서, 이중 웨이크업 방식으로 성능을 보다 더 높일 수 있는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.
이러한 본 발명에 의하면, 음향 출력 장치에서 1차적으로 웨이크업을 수행한 후, 보다 고성능인 서비스 서버가 2차적으로 웨이크업을 수행함으로써 보다 더 정교한 웨이크업을 진행할 수 있으며, 이를 통해 음성 인식의 성능을 보다 더 개선할 수 있게 된다. 이를 통해 본 발명은 음성 인식, 인공 지능, 멀티미디어 컨텐츠 산업 등 다양한 산업상 이용 가능성이 충분하다.
100: 단말 200: 음향 출력 장치
210: 음성 신호 입력부 220: 장치 제어부
230: 장치 통신부 240: 출력부
300: 서비스 서버 310: 서버 통신부
320: 서버 저장부 330: 서버 제어부
340: 변환부 350: 컨텐츠 서버 연동부
400: 컨텐츠 제공 서버 500: 통신망

Claims (12)

  1. 음향 출력 장치가,
    마이크를 통해 발화되는 사용자의 음성을 입력 받아 생성되는 음성 신호를 저장하는 단계;
    상기 음성 신호를 인식하여 웨이크업 단어에 해당되는 지 확인하는 단계; 및
    상기 웨이크업 단어에 해당되는 것으로 확인되면, 상기 저장된 음성 신호부터 스트리밍하여 서비스 서버로 전송하는 단계;
    를 포함하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 저장하는 단계는
    상기 마이크를 통해 발화되는 사용자의 음성을 입력 받아 생성되는 상기 음성 신호를 소정 길이의 프레임으로 구분하여 구분된 프레임 단위로 저장하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  3. 제2항에 있어서,
    상기 확인하는 단계는
    상기 저장된 프레임 단위로 음성 특징 벡터를 추출하고, 추출된 음성 특징 벡터에 대응하는 음소를 확인하는 단계;
    상기 음소의 집합을 이용하여 단어를 구성하는 단계; 및
    상기 구성된 단어에 미리 지정된 상기 웨이크업 단어가 존재하는 지 여부를 확인하는 단계;
    를 포함하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  4. 제2항에 있어서,
    상기 전송하는 단계는
    상기 웨이크업 단어가 존재하는 것으로 확인되면, 상기 저장된 프레임부터 순차적으로 상기 서비스 서버로 전송하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  5. 제2항에 있어서,
    상기 저장된 프레임에 상기 웨이크업 단어가 존재하지 않는 것으로 확인되면, 상기 저장된 프레임을 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  6. 서비스 서버가,
    음향 출력 장치로부터 스트리밍되는 음성 신호를 수신하는 단계;
    상기 수신되는 음성 신호를 인식하여 미리 지정된 웨이크업 단어가 존재하는 지 여부를 확인하는 단계;
    상기 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호에서 상기 웨이크업 단어에 대응하는 구간을 제거하는 단계; 및
    상기 웨이크업 단어에 대응하는 구간이 제거된 음성 신호를 대상으로 음성 인식에 따른 의미를 분석하고, 분석된 결과에 따라 대응하는 음성 인식 서비스를 상기 음향 출력 장치로 제공하는 단계;
    를 포함하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  7. 제6항에 있어서,
    상기 웨이크업 단어가 존재하는 지 여부를 확인하는 단계는
    상기 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하는 단계;
    상기 음소의 집합을 이용하여 단어를 구성하는 단계; 및
    상기 구성된 단어가 미리 지정된 웨이크업 단어와 비교하여 확인하는 단계;
    를 포함하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  8. 제7항에 있어서,
    상기 제거하는 단계는
    상기 웨이크업 단어로 확인된 단어의 인접 단어가 음성 인식 서비스를 위해 기 저장된 엔티티 또는 인텐트에 대응하는 단어가 아닐 경우, 상기 인접 단어를 상기 웨이크업 단어에 대응하는 구간에 포함시켜 제거하는 것을 특징으로 하는 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법.
  9. 제1항 내지 제8항 중 어느 하나의 항에 기재된 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  10. 마이크를 통해 발화되는 사용자의 음성을 입력 받아 음성 신호를 생성하는 음성 신호 입력부;
    상기 음성 신호 입력부를 통해 생성되는 음성 신호를 소정 길이의 프레임 단위로 저장하는 장치 저장부; 및
    상기 장치 저장부에 프레임 단위로 저장되는 음성 신호를 인식하여 웨이크업 단어에 해당되는 지 여부를 확인하여, 웨이크업 단어에 해당되는 것으로 확인되면, 상기 장치 저장부에 저장된 음성 신호부터 상기 음성 신호 입력부를 통해 입력되는 음성 신호를 스트리밍하여 서비스 서버로 전송되도록 제어하는 장치 제어부;
    를 포함하는 것을 특징으로 하는 음향 출력 장치.
  11. 사용자가 발화함에 따라 생성되는 음성 신호를 음향 출력 장치로부터 스트리밍 방식으로 수신하는 서버 통신부; 및
    상기 서버 통신부를 통해 수신되는 음성 신호를 인식하여 미리 지정된 웨이크업 단어가 존재하는 지 여부를 확인하고, 상기 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호에서 상기 웨이크업 단어에 대응하는 구간을 제거한 후, 상기 웨이크업 단어에 대응하는 구간이 제거된 음성 신호를 대상으로 음성 인식에 따른 의미를 분석하고, 분석된 결과에 따라 대응하는 응답 메시지를 생성한 후 상기 응답 메시지를 상기 음향 출력 장치로 전달하도록 제어하는 서버 제어부;
    를 포함하는 것을 특징으로 하는 서비스 서버.
  12. 제11항에 있어서,
    음성 인식 서비스를 위해 엔티티 또는 인텐트에 대응하는 단어를 저장하는 서버 저장부;
    를 더 포함하며
    상기 서버 제어부는
    상기 음성 신호를 인식하여 단어를 구성하고, 상기 인식된 단어가 상기 서버 저장부에 저장이 되어 있지 않고, 상기 웨이크업 단어에 인접되어 있을 경우, 해당 단어를 상기 웨이크업 단어에 대응하는 구간에 포함시켜 제거하는 것을 특징으로 하는 서비스 서버.

KR1020160142370A 2016-10-28 2016-10-28 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치 KR20180046780A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160142370A KR20180046780A (ko) 2016-10-28 2016-10-28 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160142370A KR20180046780A (ko) 2016-10-28 2016-10-28 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
KR20180046780A true KR20180046780A (ko) 2018-05-09

Family

ID=62200844

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160142370A KR20180046780A (ko) 2016-10-28 2016-10-28 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR20180046780A (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110473539A (zh) * 2019-08-28 2019-11-19 苏州思必驰信息科技有限公司 提升语音唤醒性能的方法和装置
WO2020045835A1 (ko) * 2018-08-29 2020-03-05 삼성전자주식회사 전자 장치 및 그 제어 방법
CN110890093A (zh) * 2019-11-22 2020-03-17 腾讯科技(深圳)有限公司 一种基于人工智能的智能设备唤醒方法和装置
KR20200047853A (ko) * 2018-10-25 2020-05-08 현대오토에버 주식회사 연속 음성 명령에 기반하여 서비스를 제공하는 인공지능 음성단말장치 및 음성서비스시스템
CN112513833A (zh) * 2018-07-18 2021-03-16 三星电子株式会社 用于基于预先合成的对话提供人工智能服务的电子设备和方法
CN112802467A (zh) * 2020-12-21 2021-05-14 出门问问(武汉)信息科技有限公司 语音识别方法及装置
KR20210092795A (ko) * 2018-11-23 2021-07-26 후아웨이 테크놀러지 컴퍼니 리미티드 음성 제어 방법 및 전자 장치
CN113327606A (zh) * 2020-02-28 2021-08-31 浙江宇视科技有限公司 一种业务处理方法、装置、设备和介质
KR20210150833A (ko) * 2020-06-04 2021-12-13 주식회사 카카오엔터프라이즈 음성 인식 기능을 활성화시키는 호출 명령어 설정에 관한 사용자 인터페이싱 장치 및 방법
US11270701B2 (en) 2019-04-30 2022-03-08 Samsung Electronics Co., Ltd. Home appliance and method for controlling thereof
US11991421B2 (en) 2021-03-05 2024-05-21 Samsung Electronics Co., Ltd. Electronic device and method for processing voice input and recording in the same

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112513833A (zh) * 2018-07-18 2021-03-16 三星电子株式会社 用于基于预先合成的对话提供人工智能服务的电子设备和方法
CN112513984A (zh) * 2018-08-29 2021-03-16 三星电子株式会社 电子设备及其控制方法
WO2020045835A1 (ko) * 2018-08-29 2020-03-05 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20200025226A (ko) * 2018-08-29 2020-03-10 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20200047853A (ko) * 2018-10-25 2020-05-08 현대오토에버 주식회사 연속 음성 명령에 기반하여 서비스를 제공하는 인공지능 음성단말장치 및 음성서비스시스템
KR20210092795A (ko) * 2018-11-23 2021-07-26 후아웨이 테크놀러지 컴퍼니 리미티드 음성 제어 방법 및 전자 장치
US11450322B2 (en) * 2018-11-23 2022-09-20 Huawei Technologies Co., Ltd. Speech control method and electronic device
US11749277B2 (en) 2019-04-30 2023-09-05 Samsung Eletronics Co., Ltd. Home appliance and method for controlling thereof
US11270701B2 (en) 2019-04-30 2022-03-08 Samsung Electronics Co., Ltd. Home appliance and method for controlling thereof
US11551686B2 (en) 2019-04-30 2023-01-10 Samsung Electronics Co., Ltd. Home appliance and method for controlling thereof
CN110473539A (zh) * 2019-08-28 2019-11-19 苏州思必驰信息科技有限公司 提升语音唤醒性能的方法和装置
CN110473539B (zh) * 2019-08-28 2021-11-09 思必驰科技股份有限公司 提升语音唤醒性能的方法和装置
CN110890093A (zh) * 2019-11-22 2020-03-17 腾讯科技(深圳)有限公司 一种基于人工智能的智能设备唤醒方法和装置
CN110890093B (zh) * 2019-11-22 2024-02-09 腾讯科技(深圳)有限公司 一种基于人工智能的智能设备唤醒方法和装置
CN113327606A (zh) * 2020-02-28 2021-08-31 浙江宇视科技有限公司 一种业务处理方法、装置、设备和介质
KR20210150833A (ko) * 2020-06-04 2021-12-13 주식회사 카카오엔터프라이즈 음성 인식 기능을 활성화시키는 호출 명령어 설정에 관한 사용자 인터페이싱 장치 및 방법
CN112802467A (zh) * 2020-12-21 2021-05-14 出门问问(武汉)信息科技有限公司 语音识别方法及装置
CN112802467B (zh) * 2020-12-21 2024-05-31 出门问问(武汉)信息科技有限公司 语音识别方法及装置
US11991421B2 (en) 2021-03-05 2024-05-21 Samsung Electronics Co., Ltd. Electronic device and method for processing voice input and recording in the same

Similar Documents

Publication Publication Date Title
KR20180046780A (ko) 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치
US10803869B2 (en) Voice enablement and disablement of speech processing functionality
US11676575B2 (en) On-device learning in a hybrid speech processing system
US20200365155A1 (en) Voice activated device for use with a voice-based digital assistant
US10832686B2 (en) Method and apparatus for pushing information
CN109074806B (zh) 控制分布式音频输出以实现语音输出
US11024307B2 (en) Method and apparatus to provide comprehensive smart assistant services
US11564090B1 (en) Audio verification
US11763808B2 (en) Temporary account association with voice-enabled devices
US11862174B2 (en) Voice command processing for locked devices
US10714085B2 (en) Temporary account association with voice-enabled devices
KR102097710B1 (ko) 대화 분리 장치 및 이에서의 대화 분리 방법
JP2017107078A (ja) 音声対話方法、音声対話装置及び音声対話プログラム
CN113168832A (zh) 交替响应生成
US10861453B1 (en) Resource scheduling with voice controlled devices
CN113314119A (zh) 语音识别智能家居控制方法及装置
US10504520B1 (en) Voice-controlled communication requests and responses
US10143027B1 (en) Device selection for routing of communications
KR102584324B1 (ko) 음성 인식 서비스 제공 방법 및 이를 위한 장치
US11735178B1 (en) Speech-processing system
US11172527B2 (en) Routing of communications to a device
KR102376552B1 (ko) 음성 합성 장치 및 음성 합성 방법
KR20180047597A (ko) 음성 신호 정보를 활용한 음성 인식 서비스 제공 방법 및 이를 위한 장치
CN112513845A (zh) 与语音使能设备的暂时账户关联
US11887602B1 (en) Audio-based device locationing

Legal Events

Date Code Title Description
A201 Request for examination