KR102584324B1 - 음성 인식 서비스 제공 방법 및 이를 위한 장치 - Google Patents

음성 인식 서비스 제공 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102584324B1
KR102584324B1 KR1020160140209A KR20160140209A KR102584324B1 KR 102584324 B1 KR102584324 B1 KR 102584324B1 KR 1020160140209 A KR1020160140209 A KR 1020160140209A KR 20160140209 A KR20160140209 A KR 20160140209A KR 102584324 B1 KR102584324 B1 KR 102584324B1
Authority
KR
South Korea
Prior art keywords
server
service
output device
voice signal
audio output
Prior art date
Application number
KR1020160140209A
Other languages
English (en)
Other versions
KR20180045633A (ko
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 KR1020160140209A priority Critical patent/KR102584324B1/ko
Publication of KR20180045633A publication Critical patent/KR20180045633A/ko
Application granted granted Critical
Publication of KR102584324B1 publication Critical patent/KR102584324B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand

Abstract

본 발명은 음성 인식 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 마이크와 스피커를 포함하는 음향 출력 장치에서 입력되는 사용자의 음성을 서비스 서버가 인식하고 이에 해당하는 컨텐츠 제공 서버의 링크 정보를 음향 출력 장치로 제공하여 음향 출력 장치가 상기 링크 정보를 이용하여 해당 컨텐츠에 대한 스트리밍 데이터를 수신하여 출력할 수 있는 음성 인식 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.

Description

음성 인식 서비스 제공 방법 및 이를 위한 장치{METHOD FOR PROVIDING OF VOICE RECOGNITION SERVICE AND APPARATUS THEREOF}
본 발명은 음성 인식 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 마이크와 스피커를 포함하는 음향 출력 장치에서 입력되는 사용자의 음성을 인식하고 이에 해당하는 서비스를 음향 출력 장치를 통해 제공할 수 있는 음성 인식 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
기술이 발달함에 따라 최근 많은 분야에서 음성 인식 기술을 적용한 각종 서비스들이 소개되고 있다. 음성 인식 기술은 사람이 발성하는 음성을 이해하여 컴퓨터가 다룰 수 있는 문자 정보로 변환하는 일련의 과정이라 할 수 있으며, 음성 인식 기술을 이용하는 음성 인식 서비스는 사용자의 음성을 인식하고 이에 해당하는 적합한 서비스를 제공하는 일련의 과정을 의미할 수 있다.
그러나 현재까지의 음성 인식 기술을 이용한 서비스들은 단순히 사용자의 음성을 인식하고, 이에 해당하는 단편적인 서비스만을 제공한다는 문제점이 있다. 예컨대, 사용자가 자신의 휴대폰을 이용하여 특정 단어에 대한 음성을 발화하고, 이를 휴대폰이 인식하여 해당 단어에 대응하는 검색 결과를 웹 브라우저를 통해 제공하는 형태의 음성 인식 서비스가 있으나, 단순히 검색 서버와 연동하여 해당하는 검색 결과만을 제공하는 것으로, 다양한 사용자의 편의를 만족시킬 수 없다는 문제점이 있다.
이에, 사용자의 의도를 파악하고 사용자의 의도에 적합한 다양한 컨텐츠를 다양한 외부의 컨텐츠 제공 서버와 연동하여 제공할 수 있는 음성 인식 서비스의 개발이 필요하다.
한국공개특허 제10-2008-0083553호, 2008년 9월 18일 공개 (명칭: 음성 인식을 이용한 영상 합성 통화 서비스 방법 및 장치)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 마이크와 스피커를 포함하는 음향 출력 장치에서 입력되는 사용자의 음성을 인식하고 이에 해당하는 서비스를 음향 출력 장치를 통해 제공할 수 있는 음성 인식 서비스 제공 방법 및 이를 위한 장치를 제공하는 데 목적이 있다.
특히, 본 발명은 마이크와 스피커를 포함하는 음향 출력 장치가 사용자의 음성을 인식하고, 사용자의 의도를 파악한 후, 복수의 컨텐츠 제공 서버와 연동하여 적합한 음원을 출력하여 제공하거나, 적합한 서비스를 제공할 수 있는 음성 인식 서비스 제공 방법 및 이를 위한 장치를 제공하는 데 그 목적이 있다.
또한, 본 발명은 사용자의 음성을 인식하여 엔티티(entity)와 인텐트(intent)로 구분하고, 엔티티를 통해 복수의 컨텐츠 제공 서버를 식별하며, 인텐트를 이용하여 사용자의 의도에 적합한 서비스 제공을 요청함으로써, 보다 지능적인 서비스를 음향 출력 장치를 통해 제공할 수 있는 음성 인식 서비스 제공 방법 및 이를 위한 장치를 제공하는 데 그 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 음향 출력 장치가, 발화되는 사용자의 음성을 입력 받아 음성 신호를 생성하는 단계; 상기 음성 신호를 스트리밍하여 서비스 서버로 전송하는 단계; 상기 서비스 서버로부터 상기 음성 신호를 인식하여 생성된 응답 메시지 및 특정 컨텐츠 접근을 위한 링크 정보를 수신하는 단계; 상기 링크 정보에 따라 해당하는 컨텐츠 제공 서버에 접속하는 단계; 상기 컨텐츠 제공 서버로부터 상기 컨텐츠에 대한 스트리밍 데이터를 수신하는 단계; 및 상기 응답 정보 및 상기 수신된 스트리밍 데이터를 재생하여 출력하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 전송하는 단계는 상기 음성 신호를 소정 길이의 프레임으로 구분하고, 상기 구분된 프레임 단위로 음성 인식을 수행하는 단계; 및 음성 인식을 수행한 결과, 특정 구간에 미리 지정된 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호를 상기 프레임 단위로 스트리밍하여 상기 서비스 서버로 전송하는 단계;를 포함하여 이뤄질 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 서비스 서버가, 음향 출력 장치로부터 스트리밍되는 음성 신호를 수신하는 단계; 상기 수신되는 음성 신호를 인식하여 의미를 분석하고, 분석된 결과에 따라 대응하는 컨텐츠 제공 서버를 확인하는 단계; 상기 컨텐츠 제공 서버로부터 특정 컨텐츠 접근을 위한 링크 정보를 수신하는 단계; 및 상기 음성 신호에 대응하는 응답 메시지를 생성한 후 상기 응답 메시지 및 상기 링크 정보를 상기 음향 출력 장치로 전달하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 확인하는 단계는 상기 음성 신호를 인식하여 엔티티(entity) 및 인텐트(intent)로 구분하여 의미를 분석하는 단계; 상기 엔티티에 대응하는 서비스 제공 주체인 컨텐츠 제공 서버를 확인하는 단계; 및 상기 컨텐츠 제공 서버로 상기 인텐트에 대응하는 사용자의 의도에 따른 서비스를 요청하여 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 링크 정보를 수신하는 단계에서 상기 링크 정보가 복수 개인 경우, 기 설정된 기준에 따라 상기 링크 정보에 대한 재생 리스트를 생성하며, 상기 음향 출력 장치로 전달하는 단계 이후에, 상기 재생 리스트에 따라 소정 시간 경과 후 또는 상기 음향 출력 장치의 요청에 따라 다음 링크 정보를 상기 음향 출력 장치로 전달하는 단계;를 더 포함하여 이뤄질 수 있다.
추가로 본 발명은 상술한 바와 같은 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 음향 출력 장치는 마이크를 통해 발화되는 사용자의 음성을 입력 받아 음성 신호를 생성하는 음성 신호 입력부; 스피커를 통해 응답 메시지 및 스트리밍 데이터를 출력하는 출력부; 및 상기 음성 신호를 스트리밍하여 서비스 서버로 전송하고, 상기 서비스 서버로부터 상기 음성 신호를 인식하여 생성된 응답 메시지 및 특정 컨텐츠 접근을 위한 링크 정보가 수신되면, 상기 응답 메시지가 상기 출력부를 통해 출력되도록 제어하며, 상기 링크 정보에 따라 해당하는 컨텐츠 제공 서버에 접속하여, 상기 컨텐츠에 대한 스트리밍 데이터를 수신하고, 상기 스트리밍 데이터를 재생하여 상기 출력부를 통해 출력되도록 제어하는 장치 제어부;를 포함하여 구성될 수 있다.
이때, 상기 장치 제어부는 상기 음성 신호 입력부를 통해 입력되는 음성 신호를 소정 길이의 프레임으로 구분하고, 상기 구분된 프레임 단위로 음성 인식을 수행하여, 특정 구간에 미리 지정된 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호를 상기 프레임 단위로 스트리밍하여 상기 서비스 서버로 전송되도록 제어할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 서비스 서버는 사용자가 발화함에 따라 생성되는 음성 신호를 음향 출력 장치로부터 스트리밍 방식으로 수신하는 서버 통신부; 상기 서버 통신부를 통해 수신되는 음성 신호를 인식하여 의미를 분석하고, 분석된 결과에 따라 대응하는 컨텐츠 제공 서버를 확인하고, 상기 컨텐츠 제공 서버로부터 특정 컨텐츠 접근을 위한 링크 정보가 수신되면, 상기 음성 신호에 대응하는 응답 메시지를 생성한 후 상기 응답 메시지 및 상기 링크 정보를 상기 서버 통신부를 통해 상기 음향 출력 장치로 전달되도록 제어하는 서버 제어부;를 포함하여 구성될 수 있다.
이때, 엔티티에 대응하는 복수 개의 단어열 및 인텐트에 대응하는 복수 개의 단어열을 저장하는 서버 저장부;를 더 포함하며 상기 서버 제어부는 상기 음성 신호를 인식하여 단어열 단위로 상기 서버 저장부에 저장된 엔티티 및 인텐트와 비교하여 의미를 분석하고, 상기 엔티티에 대응하는 서비스 제공 주체인 컨텐츠 제공 서버를 확인하고, 상기 컨텐츠 제공 서버로 상기 인텐트에 대응하는 사용자의 의도에 따른 서비스를 요청하여 상기 특정 컨텐츠 접근을 위한 링크 정보를 수신할 수 있다.
또한, 상기 서버 제어부는 상기 컨텐츠 제공 서버로부터 링크 정보가 아닌 응답 정보가 수신되면, 상기 응답 정보를 포함하는 응답 메시지를 생성하여 상기 음향 출력 장치로 전달되도록 제어할 수 있다.
이때, 상기 서버 제어부는 상기 응답 메시지를 TTS(Text To Speech) 엔진을 통해 음성 신호로 변환한 후 변환된 응답 메시지를 상기 음향 출력 장치로 전달되도록 제어할 수 있다.
또한, 상기 서버 제어부는 상기 컨텐츠 제공 서버로부터 수신된 링크 정보가 복수 개인 경우, 기 설정된 기준에 따라 상기 링크 정보에 대한 재생 리스트를 생성하며, 상기 재생 리스트에 따라 소정 시간 경과 후 또는 상기 음향 출력 장치의 요청에 따라 다음 링크 정보를 상기 음향 출력 장치로 전달되도록 제어할 수 있다.
본 발명의 음성 인식 서비스 제공 방법 및 이를 위한 장치에 의하면, 마이크와 스피커를 포함하는 음향 출력 장치에서 입력되는 사용자의 음성을 인식하고 사용자의 의도를 파악한 후, 복수의 컨텐츠 제공 서버와 연동하여 적합한 음원을 출력하여 제공하거나, 적합한 서비스를 지능적으로 제공할 수 있어 사용자의 만족도를 높일 수 있는 효과가 있다.
또한, 본 발명은 지정된 어느 하나의 서비스만을 제공하는 것이 아니라, 복수의 컨텐츠 제공 서버, 또는 사용자의 단말에 각종 어플리케이션, 홈 관리 장치 등 다양한 장치들과 연동하여 사용자의 의도에 적합한 서비스를 보다 더 지능적으로 제공할 수 있게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 일 실시 예에 따른 음성 인식 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 3은 본 발명의 다른 실시 예에 따른 음성 인식 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 4는 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 구성도이다.
도 5는 본 발명의 실시 예에 따른 음향 출력 장치의 주요 구성을 도시한 구성도이다.
도 6은 본 발명의 실시 예에 따른 음향 출력 장치에서의 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명의 실시 예에 따른 서비스 서버의 주요 구성을 도시한 구성도이다.
도 8은 본 발명의 실시 예에 따른 음성 인식 과정을 설명하기 위한 예시도이다.
도 9는 본 발명의 실시 예에 따른 서비스 서버에서의 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제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)로 전송할 수 있으며, 웨이크업 단어를 모두 포함하는 음성 신호를 서비스 서버(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)는 후단에 복수 개의 컨텐츠 제공 서버(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) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
이하, 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템에서의 음성 인식 서비스 제공 방법에 대해 보다 더 구체적으로 설명하도록 한다.
특히, 본 발명의 음성 인식 서비스 제공 시스템은 서비스 서버(300)가 음성 인식 결과에 따라 응답 메시지를 구성하여 음향 출력 장치(200)로 전송하는 실시 예 및 응답 메시지와 함께 컨텐츠 제공 서버(400) 접속을 위한 링크 정보를 전송하는 실시 예를 중심으로 그 동작이 이뤄질 수 있다.
먼저, 응답 메시지를 구성하여 음향 출력 장치(200)로 전송하는 실시 예를 중심으로 본 발명의 음성 인식 서비스 제공 방법에 대해 설명하도록 한다.
도 2는 본 발명의 일 실시 예에 따른 음성 인식 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 2를 참조하면, 본 발명의 음향 출력 장치(200)는 기본적으로 대기 상태이다. 대기 상태에서 음향 출력 장치(200)는 사용자의 음성을 입력 받기 위한 마이크와 같이 일부 모듈에만 전원을 인가하고 그 외 서비스 서버(300)와의 통신을 위한 통신 모듈과 같은 불필요한 모듈에는 전원을 차단하게 된다.
또한, 본 발명의 대기 상태는 음성 인식 시작 전의 상태를 총칭할 수 있다. 다시 말해, 음향 출력 장치(200) 인근에 여러 사용자가 발화하거나 시끄러운 잡음이 존재하여 마이크를 통해 음성 신호가 지속적으로 인식되더라도, 웨이크업 단어가 입력될 때까지 입력되는 음성 신호를 지속적으로 삭제하고 서비스 서버(300)로 전달되지 않도록 제어하는 상태를 의미할 수도 있다.
이러한 상태에서 본 발명의 음향 출력 장치(200)는 일정 반경 내 사용자로부터 전달되는 음성을 구비된 마이크를 통해 입력 받아 이를 음성 신호로 생성하게 된다(S101). 이때, 본 발명의 음향 출력 장치(200)는 실시간으로 마이크를 통해 사용자의 음성을 입력 받아 디지털 형태의 음성 신호로 변환하고, 변환된 음성 신호를 일정 길이의 프레임으로 분리하여 음성 신호를 인식할 수 있다(S103). 이때, 본 발명의 음향 출력 장치(200)는 사전에 정의된 초기 구간에 대한 음성 신호를 인식하는 과정을 수행할 수 있다. 예컨대, 초기의 10 프레임에 대한 음성 신호를 인식하도록 설정되어 있을 경우, 상기 10 프레임에 대한 구간을 인식할 수 있다. 이를 위해 본 발명의 음향 출력 장치(200)는 입력되는 음성 신호를 장치 저장부에 저장할 수 있으며, 상기 프레임에 대한 인식 결과, 웨이크업에 해당하는 단어가 존재하는 지 여부를 판단하여(S105), 웨이크업에 해당하는 단어가 존재하지 않다면 상기 장치 저장부에 저장된 음성 신호를 삭제하고, 존재하는 경우, 실시간으로 프레임으로 분리되는 음성 신호를 스트리밍하여 서비스 서버(300)로 전송할 수 있다(S107).
스트리밍되는 음성 신호를 수신하는 서비스 서버(300)는 상기 음성 신호를 프레임 단위로 인식하는 과정을 수행한다(S109). 이때, 본 발명의 서비스 서버(300)는 수신된 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하게 된다. 여기서, 음소는 의미를 구별 짓는 최소의 단위(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)를 의미하는 것으로, 음소 인식에서는 이러한 단위의 집합으로 변환하는 과정을 수행할 수 있다. 이후에, 본 발명의 서비스 서버(300)는 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 구성되는 문장을 구성하고 이를 이용하여 의미를 분석할 수 있다(S111).
그리고, 본 발명의 서비스 서버(300)는 단어열로 구성되는 문장을 분석하여, 각각의 단어열이 엔티티(entity)에 해당하는지 인텐트(intent)에 해당하는 지를 확인하게 된다(S113). 여기서, 엔티티는 사용자가 원하는 특정 서비스의 이름과 같이 미리 정의된 고유 명사를 의미할 수 있다. 예컨대, '날씨', '최신가요', '팝송', '시간', '약속' 등과 같이 미리 약속된 고유 명사를 엔티티로 추출할 수 있다. 반면 인텐트는 사용자의 의도를 포함하고 있는 단어열을 의미하는 것으로, 예컨대, '틀어줘', '몇시야', '어때' 등과 같이 엔티티를 제외한 사용자의 의도를 표현하기 위한 단어열에 해당할 수 있다.
예를 들어, 사용자가 "음악 들려줘"를 발화한 경우, 서비스 서버(300)는 '음악'은 엔티티로, '들려줘'는 인텐트로 분석할 수 있다. 또한, 사용자가 "공기청정기 켜줘"를 발화한 경우, 서비스 서버(300)는 '공기청정기'는 엔티티로, '켜줘'는 인텐트로 분석할 수 있다. 아울러, 본 발명의 서비스 서버(300)는 각각의 엔티티에 대응하여 서비스 제공 주체에 대한 정보를 테이블 형태로 저장할 수 있으며, 상기 분석된 엔티티를 이용하여 서비스 제공 주체, 다시 말해 컨텐츠 제공 서버를 확인할 수 있다(S119). 이때, 별도의 컨텐츠 제공 서버가 없을 경우, 서비스 서버(300)가 서비스 제공 주체가 될 수 있다.
또한, 본 발명의 서비스 서버(300)는 인텐트에 대응하여 사용자의 의도에 대한 정보를 테이블 형태로 저장하고 관리할 수 있으며, 분석된 인텐트를 이용하여 사용자의 의도를 정확하게 확인하고 이를 해당 컨텐츠 제공 서버(400)로 질의하여 서비스를 요청할 수 있다(S121). 예컨대, '들려줘' 인텐트에 대응하는 사용자 의도는 '재생'으로 확인하여 해당 컨텐츠 제공 서버(400)로 재생에 대한 서비스 요청을 전송할 수 있으며, '켜줘' 인텐트에 대응하는 사용자 의도는 '실행'으로 확인하여 해당 컨텐츠 제공 서버(400) 또는 서비스 서버(300)가 직접 엔티티에 대응하는 기기를 실행시킬 수 있다.
또 다른 예를 들어, 엔티티가 '날씨'이며, '어때' 인텐트의 의도가 '문의' 라고 할 경우, 서비스 서버(300)는 상기 날씨 컨텐츠를 제공할 수 있는 컨텐츠 제공 서버a(400a)를 확인하고, 해당 컨텐츠 제공 서버a(400a)로 날씨에 대한 질의를 요청하게 된다. 이때, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)의 식별 정보를 확인하고, 음향 출력 장치(200)의 현재 위치 및 시간에 대한 정보를 확인한 후, 보다 구체적인 문의를 컨텐츠 제공 서버(400)로 질의할 수 있게 된다. 예컨대, 음향 출력 장치(200)의 현재 위치가 '서울시 구로구'라고 할 경우, 서비스 서버(300)는 현재 시간의 서울시 구로에 대한 날씨를 질의할 수 있으며, 컨텐츠 제공 서버(400)는 서비스 서버(300)의 질의 요청에 따라 해당하는 응답을 확인하여 서비스 서버(300)로 전송한다(S119).
이후, 본 발명의 서비스 서버(300)는 수신된 응답을 이용하여 응답 메시지를 구성한다(S121). 즉, 본 발명의 서비스 서버(300)는 컨텐츠 제공 서버(400)로부터 컨텐츠에 대한 응답 정보만을 수신한 상태이므로, 이를 음향 출력 장치(200)로 전송하기 위한 가공의 과정을 수행할 수 있다.
먼저, 컨텐츠 제공 서버(400)로부터 '비'라는 응답 정보가 수신되었다면, 서비스 서버(300)는 상기 컨텐츠를 포함하는 일련의 문장을 구성할 수 있다. 이때, 상기 일련의 문장은 음향 출력 장치(200)의 현재 위치 및 현재 시각은 고려하여 구성될 수 있다. 전술한 예에서, 음향 출력 장치(200)의 현재 위치가 서울시 구로라고 하며, 현재 시간이 2시라고 가정할 경우, 서비스 서버(300)는 상기 정보를 포함하여 "서울시 구로, 2시 현재 비가 내리고 있습니다"의 형태로 응답 메시지를 구성할 수 있다. 응답 메시지를 구성할 때 본 발명의 서비스 서버(300)는 사용자에 의해 설정된 정보를 고려하여 응답 메시지를 구성할 수 있다. 예를 들어, 단말(100)로부터 응답 메시지 구성을 위한 사용자의 설정 정보가 전달되면, 이를 기반으로 응답 메시지를 구성할 수 있는데, 사용자가 언어의 종류를 영어로 선택하면, 영어의 문법에 따라 컨텐츠 제공 서버(400)로부터 전달된 컨텐츠를 변환하고 응답 메시지를 구성할 수 있다. 또한, 사용자가 문체를 '친근하게'로 설정하였다면, 친근한 문체로 상기 응답 메시지를 구성할 수 있으며, 경어로 설정하였다면, 경어 문체로 상기 응답 메시지를 구성할 수도 있다.
그리고, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)를 통해 구성된 응답 메시지를 출력하기 위해, 음성 신호로 변환하는 과정을 수행하고(S123), 전기적인 음성 신호로 변환된 응답 메시지를 실시간 스트리밍 형태로 음향 출력 장치(200)로 전송한다(S125). 즉, 음성 신호로 변환된 응답 메시지가 10개의 프레임으로 구성되는 경우, 한 프레임 단위로 실시간적으로 음향 출력 장치(200)로 전송하고, 음향 출력 장치(200)는 이를 스피커를 통해 출력하는 과정을 수행하게 된다(S127).
한편, 본 발명의 서비스 서버(300)는 여러 가지 이유로 응답 메시지를 구성하지 못할 경우, 예를 들어 S119 단계에서 컨텐츠 제공 서버(400)로부터 응답이 전달되지 않거나, 또는 S111 단계에서 의미를 분석할 수 없는 경우 등 응답 메시지를 구성하지 못할 때는 기본 응답 메시지, 예컨대 "지원되지 않는 서비스입니다."를 음향 출력 장치(200)로 전송할 수도 있다.
한편, 본 발명의 음향 출력 장치(200)는 서비스 서버(300)로부터 전송된 링크 정보를 이용하여 컨텐츠 제공 서버(400)로부터 직접 데이터를 수신하여 출력할 수도 있다.
이에 대해 도 3을 참조하여 설명하도록 한다.
도 3은 본 발명의 다른 실시 예에 따른 음성 인식 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 3을 참조하면, 본 발명의 음향 출력 장치(200)는 기본적으로 대기 상태이다. 대기 상태에서 음향 출력 장치(200)는 사용자의 음성을 입력 받기 위한 마이크와 같이 일부 모듈에만 전원을 인가하고 그 외 서비스 서버(300)와의 통신을 위한 통신 모듈과 같은 불필요한 모듈에는 전원을 차단하게 된다.
이러한 상태에서 본 발명의 음향 출력 장치(200)는 일정 반경 내 사용자로부터 전달되는 음성을 구비된 마이크를 통해 입력 받아 이를 음성 신호로 생성하게 된다(S201). 이때, 본 발명의 음향 출력 장치(200)는 실시간으로 마이크를 통해 사용자의 음성을 입력 받아 디지털 형태의 음성 신호로 변환하고, 변환된 음성 신호를 일정 길이의 프레임으로 분리하여 음성 신호를 인식할 수 있다(S203). 이때, 본 발명의 음향 출력 장치(200)는 사전에 정의된 초기 구간에 대한 음성 신호를 먼저 인식할 수 있다.
이후, 초기 구간에 대한 음성 인식 결과, 웨이크업에 해당하는 단어가 존재하는 지 여부를 판단하여(S205), 웨이크업에 해당하는 단어가 존재하는 경우, 실시간으로 프레임으로 분리되는 음성 신호를 스트리밍 방식으로 서비스 서버(300)로 전송할 수 있다(S207).
이를 수신한 서비스 서버(300)는 음성 신호를 인식하는 과정을 수행한다(S209). 이때, 본 발명의 서비스 서버(300)는 수신된 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하게 된다. 여기서, 음소는 의미를 구별 짓는 최소의 단위(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)를 의미하는 것으로, 음소 인식에서는 이러한 단위의 집합으로 변환하는 과정을 수행할 수 있다. 이후에, 본 발명의 서비스 서버(300)는 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 구성되는 문장을 구성하고 이를 이용하여 의미를 분석할 수 있다(S211).
그리고, 본 발명의 서비스 서버(300)는 구성된 문장을 이용하여 의미 분석 시 단어열을 구분하고 구분된 단어열이 엔티티에 해당하는지 인텐트에 해당하는 지를 확인하게 된다(S213). 여기서, 엔티티는 사용자가 원하는 특정 서비스의 이름과 같이 미리 정의된 고유 명사를 의미할 수 있다. 예컨대, 날씨, 최신가요, 팝송, 시간, 약속 등과 같이 미리 약속된 고유 명사를 엔티티로 추출할 수 있다. 반면 인텐트는 사용자의 의도를 포함하고 있는 단어열을 의미하는 것으로, 예컨대, '틀어줘', '몇시야', '어때' 등과 같이 엔티티를 제외한 사용자의 의도를 표현하기 위한 단어열에 해당할 수 있다.
예를 들어, 본 발명은 사용자의 의도에 대한 인텐트에 대응하여 단어열을 매칭하여 저장하고 있는 상태에서, 사용자가 발화한 음성에 '뭐야'라는 단어열이 존재할 경우, 이를 인텐트로 확인하고 상기 인텐트에 대응하는 사용자 의도 '질의'를 확인할 수 있으며, 해당 문장에서 질의하고자 하는 엔티티를 확인한 후 해당 엔티티에 대한 질의과정을 수행할 수 있다.
또 다른 예를 들어, 인식된 음성 신호에 대한 문장이 "최신곡 틀어줘"라고 할 경우, 본 발명의 서비스 서버(300)는 상기 문장의 형태로 음성 인식 결과를 구성하고 이 중에서 미리 등록된 '최신곡'이라는 단어열이 있으므로, 이를 엔티티로 파악하고, '틀어줘'라는 단어열이 있으므로 이를 '재생'으로 처리하여 인식할 수 있다.
이후, 본 발명의 서비스 서버(300)는 엔티티를 통해 컨텐츠 제공 서버(400)를 확인하게 된다(S215). 그리고 서비스 서버(300)는 인텐트에 해당하는 서비스를 질의할 수 있다(S217). 전술한 예에서, 엔티티가 '최신곡'이며, 인텐트에 대응하는 의도가 '재생'라고 할 경우, 서비스 서버(300)는 상기 최신곡에 대한 음원을 컨텐츠로 제공할 수 있는 컨텐츠 제공 서버b(400b)를 확인하고, 해당 컨텐츠 제공 서버b(400b)로 최신곡에 대한 재생을 요청하게 된다. 이때, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)의 식별 정보를 확인하고, 음향 출력 장치(200)의 가입자에 대한 정보를 확인하여 보다 맞춤화된 정보를 제공할 수 있다. 다시 말해, 최신곡 중 사용자의 성향을 반영한 음원을 컨텐츠 제공 서버b(400b)로 요청할 수 있게 된다.
이후, 컨텐츠 제공 서버(400)는 서비스 서버(300)의 질의 요청에 따라 해당하는 컨텐츠를 확인한 후, 해당 컨텐츠에 접속할 수 있는 링크 정보인 URL을 서비스 서버(300)로 전송하고(S219), 서비스 서버(300)는 상기 컨텐츠 제공 서버(400)로부터 링크 정보가 수신되면, 이를 음향 출력 장치(200)로 제공하기 위한 응답 메시지를 구성한다(S221).
예컨대, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)로 컨텐츠에 접근할 수 있는 링크 정보를 전송하기 위해, "지금부터 최신곡을 틀어드리도록 할께요", "최신곡 중 추천하는 A 노래를 먼저 들려드릴께요"와 같이 기 정의된 방식으로 다양한 응답 메시지를 구성할 수 있다.
이때, 응답 메시지를 구성할 때 본 발명의 서비스 서버(300)는 사용자에 의해 설정된 정보를 고려하여 응답 메시지를 구성할 수 있다. 예를 들어, 단말(100)로부터 응답 메시지 구성을 위한 사용자의 설정 정보가 전달되면, 이를 기반으로 응답 메시지를 구성할 수 있는데, 사용자가 언어의 종류를 영어로 선택하면, 영어의 문법에 따라 컨텐츠 제공 서버(400)로부터 전달된 컨텐츠를 변환하고 응답 메시지를 구성할 수 있다. 또한, 사용자가 문체를 '친근하게'로 설정하였다면, 친근한 문체로 상기 응답 메시지를 구성할 수 있으며, 경어로 설정하였다면, 경어 문체로 상기 응답 메시지를 구성할 수도 있다.
그리고, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)를 통해 구성된 응답 메시지를 출력하기 위해, 음성 신호로 변환하는 과정을 수행하고(S223), 전기적인 음성 신호로 변환된 응답 메시지를 실시간 스트리밍 형태로 음향 출력 장치(200)로 전송한다(S225). 즉, 음성 신호로 변환된 응답 메시지가 10개의 프레임으로 구성되는 경우, 한 프레임 단위로 실시간적으로 음향 출력 장치(200)로 전송하게 된다. 특히 본 발명의 서비스 서버(300)는 상기 응답 메시지 전송 시 컨텐츠 제공 서버(400)로부터 전송된 컨텐츠에 접근할 수 있는 링크 정보, 즉 컨텐츠에 대한 URL을 음향 출력 장치(200)로 전송하고, 음향 출력 장치(200)는 서비스 서버(300)로부터 수신된 응답 메시지를 출력한 이후에(S227), 서비스 서버(300)로부터 링크 정보가 수신됨을 확인하고(S229), 해당하는 컨텐츠 제공 서버(400)에 접근한 후 해당 URL에 대한 컨텐츠를 요청할 수 있다(S231).
컨텐츠 제공 서버(400)는 음향 출력 장치(200)의 접근 경로가 자신이 제공한 링크 정보임을 확인하고, 별다른 음향 출력 장치(200)에 대한 인증 과정 없이 상기 음향 출력 장치(200)로 해당하는 컨텐츠를 스트리밍 형태로 전송하여 제공할 수 있다(S233).
이를 수신한 음향 출력 장치(200)는 컨텐츠 제공 서버(400)로부터 전송되는 스트리밍 데이터를 실시간 수신하여 재생할 수 있게 된다.
한편, 본 발명의 서비스 서버(300)는 컨텐츠 제공 서버(400)로부터 컨텐츠에 대한 링크 정보를 복수 개 수신한 경우, 이를 순차적으로 음향 출력 장치(200)로 전송할 수 있다. 예를 들어, 사용자가 요청한 컨텐츠가 최신곡 TOP100이라고 가정할 경우, 서비스 서버(300)는 컨텐츠 제공 서버(400)로부터 최신곡 TOP 100에 대한 URL의 목록을 수신할 수 있으며, 이를 음향 출력 장치(200)로 순차적 전송하고(S237), 이를 수신한 음향 출력 장치(200)는 상기 URL에 대한 정보를 확인한 후(S239), 마찬가지의 과정으로 컨텐츠 제공 서버(400)로 컨텐츠를 요청하고 스트리밍 데이터를 수신하여 재생할 수 있게 된다(S241 ~ S245).
한편, 서비스 서버(300)는 컨텐츠 제공 서버(400)로부터 수신되는 URL의 목록을 가공하여 편집하는 과정을 수행할 수 있으며, 서로 다른 컨텐츠 제공 서버(400)로부터 URL을 수집하고 이를 순차적으로 음향 출력 장치(200)로 전송할 수도 있다. 이 경우, 음향 출력 장치(200)가 S231 단계에서 접근하는 컨텐츠 제공 서버(400)와 S241 단계에서 접근하는 컨텐츠 제공 서버(400)는 서로 다를 수도 있다.
한편, 본 발명의 서비스 서버(300)는 여러 가지 이유로 응답 메시지를 구성하지 못할 경우, 예를 들어 S219 단계에서 컨텐츠 제공 서버(400)로부터 응답이 전달되지 않거나, 또는 S211 단계에서 의미를 분석할 수 없는 경우 등 응답 메시지를 구성하지 못할 때는 기본 응답 메시지, 예컨대 "지원되지 않는 서비스입니다."를 음향 출력 장치(200)로 전송할 수도 있다.
이상으로, 본 발명의 실시 예에 따른 음성 인식 서비스 제공 시스템에서의 동작에 대해 설명하였다.
이하에서는 본 발명의 실시 예에 따른 음성 인식 서비스 제공 방법을 장치를 중심으로 보다 더 구체적으로 설명하도록 한다.
먼저, 도 4는 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 구성도이다.
도 1 및 도 4를 참조하면, 본 발명의 실시 예에 따른 단말(100)은 통신부(10), 입력부(20), 제어부(30), 출력부(40) 및 저장부(40)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(10)는 음향 출력 장치(200) 및 서비스 서버(300)와 다양한 정보의 송수신을 지원하는 역할을 수행한다. 특히, 본 발명의 실시 예에 따른 통신부(10)는 음향 출력 장치(200)와 근거리 통신을 통해 연결되어, 음향 출력 장치(200) 설정과 관련된 각종 정보를 음향 출력 장치(200)로 전달하는 역할을 수행할 수 있다. 또한, 본 발명의 통신부(10)는 음향 출력 장치(200)의 설정, 또는 서비스 가입 정보를 통신망(500)을 통해 서비스 서버(300)로 전송할 수 있다.
또한, 통신부(10)는 음향 출력 장치(200)에 대한 식별 정보를 통신망(500)을 통해 서비스 서버(300)로 전송하여 단말(100) 사용자에 대응한 음향 출력 장치(200)로 설정할 수 있으며, 이후의 서비스 서버(300)는 음향 출력 장치(200)의 식별 정보를 통해 어느 사용자의 음향 출력 장치(200)를 인지할 수 있도록 정보를 제공할 수 있다.
입력부(20)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보, 각종 기능 설정 및 단말(100)의 기능 제어와 관련하여 입력되는 신호를 제어부(30)로 전달한다. 특히, 본 발명의 입력부(20)는 서비스 어플리케이션(51)을 실행하기 위한 사용자 입력을 지원할 수 있다. 또한, 본 발명의 입력부(20)는 음향 출력 장치(200)의 설정에 필요한 각종 정보에 대한 사용자 입력을 지원할 수 있다.
이러한 입력부(20)는 상술한 바와 같이, 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단을 포함할 수도 있다. 이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(30)는 단말(100)의 전반적인 제어를 수행하는 것으로, 운영 체제(OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치, 예컨대, 중앙처리장치(CPU, Central Processing Unit)가 될 수 있다.
이러한, 본 발명의 제어부(30)는 각 구성 요소와 기능적으로 연결된다. 즉, 제어부(30)는 통신부(10), 입력부(20), 출력부(40) 및 저장부(50)를 포함하여 구성될 수 있다.
특히, 본 발명의 실시 예에 따른 제어부(30)는 사용자의 요청에 따라 서비스 서버(300)가 제공하는 서비스 어플리케이션을 실행하는 과정 전반을 제어한다. 또한, 제어부(30)는 서비스 서버(300)가 제공하는 사용자 인터페이스 정보에 따라, 다양한 서비스 어플리케이션 실행 화면이 출력부(40)를 통해 출력되는 과정을 제어할 수 있다. 또한, 본 발명의 실시 예에 따른 제어부(30)는 상기 서비스 어플리케이션(51)을 통해 음향 출력 장치(200)와 관련된 다양한 제어 정보를 설정할 수 있다. 예컨대, 사용자의 요청에 따라 알람 정보를 설정할 수 있으며, 다른 어플리케이션(예컨대, 일정 관리 어플리케이션)에 기재된 정보를 음향 출력 장치(200) 또는 서비스 서버(300)에 전송하는 과정을 제어할 수 있다. 또한, 본 발명의 제어부(30)는 대기 상태인 음향 출력 장치(200)을 웨이크업 할 수 있는 웨이크업 워드(wakeup word)를 설정하는 과정을 수행할 수 있다.
출력부(40)는 단말(100)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 출력부(40)는 서비스 어플리케이션 실행 중에 발생되는 다양한 정보를 표시할 수 있다. 이러한, 출력부(40)는 상술한 바와 같이 입력부(20)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구현될 수도 있으며, 상기 입력부(20)와 함께 구현되는 경우, 사용자의 터치 동작에 따라 발생되는 다양한 정보들을 표시할 수 있다.
아울러, 저장부(50)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히, 본 발명의 실시 예에 따른 저장부(50)는 음향 출력 장치(200)와 관련된 각종 정보를 설정할 수 있는 서비스 어플리케이션(51)을 미리 저장할 수 있다. 한편, 상기 서비스 어플리케이션(51)은 경우에 따라 클라우드 컴퓨팅 방식으로 서비스되는 경우, 저장부(50)는 상기 서비스 어플리케이션 구동과 관련된 정보를 일시적으로 저장한 후, 서비스 종료에 따라 상기 서비스 어플리케이션과 관련된 정보는 삭제될 수도 있다.
이러한 저장부(50)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 단말(100)를 부팅시키는 운영체제(OS)와 같은 단말(100) 구동을 위한 관련된 정보들을 저장한다. 데이터 영역은 단말(100)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 서비스 어플리케이션, 상기 서비스 어플리케이션 실행 중에 발생되는 다양한 정보, 특히 사용자 인터페이스에 대한 정보가 저장될 수 있다. 이러한, 저장부(50)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
더불어, 본 발명의 일 실시 예에서는 서비스 어플리케이션 등이 저장부(50)에 저장하고 있는 구성을 중심으로 설명하나 이에 한정되는 것은 아니며, 클라우드 서비스 방식에 따라 서비스 서버(300)와 연동하여 서비스 서버(300)에 저장될 수도 있다.
이와 같이, 도 2를 통해 단말(100)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말(100)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말(100)이 구현될 수도 있다. 또한, 도 2를 통해 도시된 단말(100)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다.
이상으로 본 발명의 실시 예에 따른 단말(100)의 주요 구성 및 동작 방법에 대해 설명하였다. 이러한 본 발명의 단말(100)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(100)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
이하, 본 발명의 실시 예에 따른 음향 출력 장치(200)의 주요 구성 및 동작에 대해 설명하도록 한다.
도 5는 본 발명의 실시 예에 따른 음향 출력 장치의 주요 구성을 도시한 구성도이며, 도 6은 본 발명의 실시 예에 따른 음향 출력 장치에서의 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
먼저, 도 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)은 전기적 신호 형태의 음성 신호를 일정 길이의 프레임으로 분리하여 프레임 단위로 특징 벡터를 추출할 수 있다. 이때, 본 발명의 음성 인식 모듈(221)은 상기 음성 신호에 존재하는 잡음, 에코, 방향 등의 음성 신호 정보를 추출할 수도 있다.
아울러, 본 발명의 음성 인식 모듈(221)은 프레임 단위로 음성 신호에 대해 푸리에 변환을 수행하여 스펙트럼 정보를 추출하고, 스펙트럼에 대한 필터 뱅크 에너지(Filterbank Energy)를 산출하게 된다. 즉, 주파수 대역을 여러 개의 필터 뱅크로 나누고 각 뱅크에서의 에너지에 로그 함수를 적용하여 로그 필터뱅크 에너지를 산출할 수 있다. 산출된 로그 필터뱅크 에너지에 대응하는 음소를 장치 저장부(250)의 음성 인식 정보(251)를 통해 확인하게 된다. 이후, 본 발명의 음성 인식 모듈(221)은 음소의 집합을 구성하고 이에 따른 단어열을 구성하여 문장을 완료함으로써 음성 인식 과정을 수행하게 된다.
이러한 과정은 프레임 단위로 실시간 이뤄질 수 있으며, 본 발명의 음성 인식 모듈(221)을 통해 입력되는 음성 신호의 초기 구간에 대한 음성 인식을 수행하여 웨이크업에 동작을 수행할 지 여부를 웨이크업 판단 모듈(222)이 수행하게 된다.
웨이크업 판단 모듈(222)은 실시간 단위로 음성 신호가 인식되면, 웨이크업을 위한 웨이크업 단어가 존재하는 지 여부를 확인할 수 있다. 상기 확인 결과, 웨이크업 단어가 존재하는 경우, 본 발명의 웨이크업 판단 모듈(222)은 장치 통신부(230), 출력부(240) 등의 대기 상태의 모듈에 전원이 인가되도록 제어할 수 있다.
그리고, 본 발명의 서비스 처리 모듈(223)은 이후의 음성 신호를 장치 통신부(230)의 서비스 연동 모듈(231)을 통해 서비스 서버(300)로 전송할 수 있으며, 서비스 서버(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)를 포함하여 구성될 수 있다.
장치 저장부(25)는 본 발명의 실시 예에 따른 음향 출력 장치(200)의 구동과 관련된 각종 정보를 저장하고 관리하는 역할을 수행하게 된다. 특히 본 발명의 장치 저장부(250)는 입력되는 음성 신호를 실시간으로 인식하기 위한 음성 인식 정보(251)를 포함할 수 있으며, 웨이크업과 관련된 정보(252)를 저장하고 관리할 수 있다. 즉, 인식된 단어열이 상기 웨이크업 정보(252)에 저장된 웨이크업 단어에 해당하는 지 여부를 비교하는 데 활용될 수 있다. 또한 서비스 처리와 관련된 각종 정보(253)를 저장하고 관리할 수 있다.
이러한 본 발명의 실시 예에 따른 음향 출력 장치(200)에서의 동작에 대해 도 6을 참조하여 설명하도록 한다.
도 6을 참조하면, 본 발명의 음향 출력 장치(200)는 웨이크업 단어가 인식되기 전까지는 대기 상태를 유지할 수 있다(S301). 대기 상태에서 음향 출력 장치(200)는 사용자의 음성을 입력 받기 위한 마이크와 같이 일부 모듈에만 전원을 인가하고 그 외 서비스 서버(300)와의 통신을 위한 통신 모듈과 같은 불필요한 모듈에는 전원을 차단하게 된다.
이러한 상태에서 본 발명의 음향 출력 장치(200)는 일정 반경 내 사용자로부터 전달되는 음성을 구비된 마이크를 통해 입력 받아 이를 음성 신호로 생성하게 된다(S303). 이때, 본 발명의 음향 출력 장치(200)는 실시간으로 마이크를 통해 사용자의 음성을 입력 받아 디지털 형태의 음성 신호로 변환하고, 변환된 음성 신호를 일정 길이의 프레임으로 분리하여 음성 신호를 인식할 수 있다(S305). 이때, 본 발명의 음향 출력 장치(200)는 사전에 정의된 초기 구간에 대한 음성 신호를 먼저 인식할 수 있다.
이후, 초기 구간에 대한 음성 인식 결과, 웨이크업에 해당하는 단어가 존재하는 지 여부를 판단하여(S307), 웨이크업에 해당하는 단어가 존재하는 경우, 실시간으로 프레임으로 분리되는 음성 신호를 스트리밍 방식으로 서비스 서버(300)로 전송할 수 있다(S309).
이를 수신한 서비스 서버(300)는 음성 신호를 인식하고, 사용자의 의도를 파악한 후 사용자가 발화한 음성 신호에 대한 응답 메시지를 생성할 수 있다.
그리고 서비스 서버(300)는 생성된 응답 메시지를 음향 출력 장치(200)로 전송하게 되며, 본 발명의 음향 출력 장치(200)는 서비스 서버(300)로부터 전기적 신호인 음성 신호로 변환된 응답 메시지가 수신되면(S311), 이를 구비된 스피커를 통해 출력할 수 있다(S313). 이때, 본 발명의 음향 출력 장치(200)는 응답 메시지를 아날로그 형태로 변환하는 과정을 수행할 수 있으며, 아날로그로 변환된 응답 메시지를 출력할 수 있다.
그리고, 본 발명의 음향 출력 장치(200)는 서비스 서버(300)로부터 응답 메시지와 함께 컨텐츠 접근을 위한 링크 정보인 URL을 수신하였다면(S315), 상기 링크 정보를 이용하여 컨텐츠 제공 서버(400)에 접속할 수 있으면(S317), 상기 링크 정보에 해당하는 스트리밍 데이터를 수신하고(S319), 이를 재생하는 과정을 수행할 수 있다(S321).
이상으로 본 발명의 실시 예에 따른 음향 출력 장치(200)의 주요 구성 및 동작에 대해 설명하였다.
이하, 본 발명의 실시 예에 따른 서비스 서버(300)의 주요 구성 및 동작에 대해 설명하도록 한다.
도 7은 본 발명의 실시 예에 따른 서비스 서버의 주요 구성을 도시한 구성도이며, 도 8은 본 발명의 실시 예에 따른 음성 인식 과정을 설명하기 위한 예시도이다. 또한 도 9는 본 발명의 실시 예에 따른 서비스 서버에서의 음성 인식 서비스 제공 방법을 설명하기 위한 흐름도이다.
먼저, 도 7을 참조하면, 본 발명의 실시 예에 따른 서비스 서버(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), 의미 분석 모듈(333) 및 서비스 처리 모듈(334)을 포함하여 구성될 수 있다.
전처리 모듈(331)은 서버 통신부(310)를 통해 음향 출력 장치(200)로부터 전달되는 음성 신호에서 음성 인식 이전의 전처리 단계를 수행한다. 예컨대, 음성 신호에서 잡음을 제거하는 등의 전처리 과정을 수행할 수 있다.
그리고 음성 인식 모듈(332)은 전처리 모듈(331)을 통해 전달되는 음성 신호를 인식하는 과정을 수행한다. 예컨대, 본 발명의 음성 인식 모듈(332)은 수신된 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하게 된다. 여기서, 음소는 의미를 구별 짓는 최소의 단위(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)를 의미하는 것으로, 음성 특징 벡터에 대응음소 인식에서는 이러한 단위의 집합으로 변환하는 과정을 수행할 수 있다. 이후에, 본 발명의 음성 인식 모듈(332)은 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 구성되는 문장을 구성하고 이를 의미 분석 모듈(333)로 전달한다.
의미 분석 모듈(333)은 상기 음성 인식 모듈(332)을 통해 전달되는 문장에서 단어열 각각을 분석하고 분석된 단어열이 엔티티에 해당하는 지 인텐트에 해당하는 지를 분석하게 된다. 도 8의 A를 예로 들어 설명하면, 사용자가 음향 출력 장치(200) 인근에서 "에이야, 지금 날씨 어때"라는 문장을 발화하였다고 가정한다. 이 문장에서 '에이야'는 웨이크업 단어로, 음향 출력 장치(200)는 사용자의 음성에서 해당 웨이크업 단어가 존재하는 것으로 판단되면, 해당 음성 신호 전체 또는 웨이크업 단어 이후의 음성 신호를 서비스 서버(300)로 전송할 수 있다. 서비스 서버(300)는 전처리 모듈(331)을 통해 에코, 잡음 등을 제거하고 음성 인식 모듈(332)는 도 8의 A에 도시된 바와 같이 음성을 인식하여 문장을 구성한다. 그리고 의미 분석 모듈(333)은 구성된 문장의 단어열을 분석하여 '지금', '어때'의 단어열은 인텐트로 '날씨'에 대응하는 단어열은 엔티티로 분석할 수 있다. 이때, 본 발명의 의미 분석 모듈(333)은 <표 1> 및 <표 2>를 참조하여 의미를 분석하게 되고 분석된 결과를 서비스 처리 모듈(334)로 전달한다.
서비스 처리 모듈(334)은 먼저 엔티티에 대응하는 서비스 제공 주체를 확인한다. 도 8의 A에서, ②번은 엔티티를 의미하므로, 날씨에 해당하는 컨텐츠 제공 서버 A(400a)를 서비스 제공 주체로 확인할 수 있다. 그리고, 해당 컨텐츠 제공 서버 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)로 전달할 수 있다.
즉, 도 8의 B에 도시된 바와 같이, 사용자가 "에이야, 최신가요 틀어줘"라는 문장을 발화하였다고 가정한다. 이때, 마찬가지로 '에이야'는 웨이크업 단어로 본 발명의 음향 출력 장치(200)는 상기 '에이야'를 인식하고 그 이후 또는 전체 입력되는 음성 신호를 실시간으로 스트리밍 형태로 서비스 서버(300)로 전송하고, 서비스 서버(300)는 실시간 스트리밍 방식으로 전달되는 음성 신호를 인식하여, 사용자가 "최신가요 틀어줘"라는 문장을 발화하였음을 확인할 수 있다. 여기서, '최신가요'는 엔티티에 해당하는 단어열로, 서비스 처리 모듈(334)은 최신가요에 대응하는 서비스 제공 주체 컨텐츠 제공 서버b(400b)을 확인하고, 해당 컨텐츠 제공 서버b(400b)로 컨텐츠 서버 연동부(350)를 통해 서비스 제공을 요청한다. 즉 상기 문장에서 인텐트에 대응하는 단어열은 '틀어줘'이며, '틀어줘'에 대응하는 사용자의 의도가 재생을 의미하므로, 서비스 처리 모듈(334)은 상기 컨텐츠 제공 서버 b(400b)로 최신가요에 대한 재생을 요청하는 메시지를 생성하여 전송할 수 있다.
이때, 본 발명의 서비스 서버(300)와 연동 가능한 컨텐츠 제공 서버 b(400b)는 즉시 컨텐츠를 서비스 서버(300)로 전달하는 것이 아니라, 해당 컨텐츠 접근할 수 있는 링크 정보를 전송하게 된다. 이때 사용자가 요청한 서비스가 최신가요 TOP100이면, 상기 TOP 100에 해당하는 각각의 음원에 대한 링크 정보를 전송할 수 있다.
이를 수신한 서비스 처리 모듈(334)은 상기 링크 정보를 포함하는 응답 메시지가 수신되면, 이에 따라 응답 메시지를 "최신가요 TOP100 들려 드릴께요"의 형태로 구성할 수 있다. 그리고 구성된 응답 메시지를 변환부(340)의 TTS 엔진을 통해 음성 신호로 변화하고 이를 서버 통신부(310)를 통해 음향 출력 장치(200)로 전달한다.
이후에, 음향 출력 장치(200)는 서비스 서버(300)로부터 수신된 응답 메시지인 "최신가요 TOP100들려 드릴께요"를 스피커를 통해 출력하고 상기 서비스 서버(300)로부터 수신된 링크 정보에 따라 컨텐츠 제공 서버 b(400b)에 접근하여 음원에 대한 스트리밍 데이터를 수신할 수 있으며, 이를 재생할 수 있게 된다.
이러한 본 발명의 서비스 서버(300)에서의 음성 인식 서비스 제공 과정에 대해 흐름도를 참조하여 다시 설명하도록 한다.
도 9는 본 발명의 실시 예에 따른 서비스 서버(300)에서의 주요 동작을 설명하기 흐름도로, 서비스 서버(300)는 음향 출력 장치(200)로부터 음성 신호를 수신한다(S501).
이후, 본 발명의 서비스 서버(300)는 음성 신호를 인식하는 과정을 수행한다(S503). 이때, 본 발명의 서비스 서버(300)는 수신된 음성 신호에서 음성 특징 벡터를 추출하고 추출된 음성 특징 벡터에 대응하는 음소를 확인하게 된다. 여기서, 음소는 의미를 구별 짓는 최소의 단위(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)를 의미하는 것으로, 음소 인식에서는 이러한 단위의 집합으로 변환하는 과정을 수행할 수 있다. 이후에, 본 발명의 서비스 서버(300)는 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 구성되는 문장을 구성하고 이를 이용하여 의미를 분석할 수 있다(S505).
그리고, 본 발명의 서비스 서버(300)는 구성된 문장을 이용하여 의미 분석 시 단어열을 구분하고 구분된 단어열이 엔티티에 해당하는지 인텐트에 해당하는 지를 확인하게 된다(S507). 여기서, 엔티티는 사용자가 원하는 특정 서비스의 이름과 같이 미리 정의된 고유 명사를 의미할 수 있다. 예컨대, 날씨, 최신가요, 팝송, 시간, 약속 등과 같이 미리 약속된 고유 명사를 엔티티로 추출할 수 있다. 반면 인텐트는 사용자의 의도를 포함하고 있는 단어열을 의미하는 것으로, 예컨대, '틀어줘', '몇시야', '어때' 등과 같이 엔티티를 제외한 사용자의 의도를 표현하기 위한 단어열에 해당할 수 있다.
문장을 예로 들어 설명하면, "최신음악 틀어줘"라는 문장을 사용자가 발화하였다면, 상기 문장에서 '최신음악'은 엔티티를 의미하며, '틀어줘'는 인텐트를 의미한다.
본 발명의 서비스 서버(300)는 최신음악 엔티티에 대한 서비스 제공 주체, 상기 최신음악을 서비스하는 컨텐츠 제공 서버(400)를 확인할 수 있다(S509). 그리고, 컨텐츠 제공 서버로 인텐트에 해당하는 서비스를 질의하게 된다(S511). 전술한 예에서, '틀어줘'가 인텐트이며, 서비스 서버(300)는 상기 '틀어줘'에 대응하는 사용자 의도를 인텐트 테이블 정보에서 확인하고 사용자 의도가 '재생'임을 알 수 있게 된다. 이후에, 서비스 서버(300)는 컨텐츠 제공 서버로 '최신음악'에 대한 재생 서비스를 질의하여 요청하게 된다.
이후에, 컨텐츠 제공 서버(400)는 상기 서비스 서버(300)의 요청에 따라 최신음악에 대한 링크 정보인 URL을 전송하고(S513), 이를 수신한 서비스 서버(300)는 수신된 링크 정보가 복수 개일 경우(S515), 재생 리스트(URL 리스트)를 생성할 수 있다.
이때, 본 발명의 서비스 서버(300)는 음향 출력 장치(200)의 식별 정보를 토대로 가입자 정보를 확인할 수 있으며, 가입자의 선호, 취향을 고려하여 재생 리스트를 동적으로 변경할 수 있다.
이러한 과정을 거쳐 재생 리스트(URL 리스트)가 생성되면, 서비스 서버(300)는 상기 재생 리스트와 함께 전송할 응답 메시지를 구성한다(S519).
상기 응답 메시지는 사용자로부터 입력된 음성 신호에 대한 응답 메시지로, 예컨대 "최신음악 들려드릴께요"라는 응답 메시지를 생성할 수 있다.
그리고 서비스 서버(300)는 상기 생성된 응답 메시지를 음향 출력 장치(200)가 출력할 수 있는 음성 신호 형태로 변환하고(S521), 변환된 응답 메시지를 음향 출력 장치(200)로 전송한다(S523).
특히, 본 발명의 서비스 서버(300)는 재생 리스트에 있는 모든 링크 정보를 일괄적으로 음향 출력 장치(200)로 전송하는 게 아니라 순차적으로 전송할 수 있으며, 다음 링크 정보가 존재하는 경우(S525), 다음 링크 정보를 더 전송할 수 있다(S527).
다음 링크 정보를 전송하는 데 소요되는 시간은 상기 링크 정보에 대응하는 컨텐츠의 재생 시간을 고려하여 설정될 수 있다. 다시 말해, 제1 링크 정보를 음향 출력 장치(200)로 전송한 이후에, 상기 제1 링크 정보에 대응하는 재생 시간을 고려하여 3분 뒤에 다시 제2 링크 정보를 전송할 수 있다.
이때, 음향 출력 장치(200)로부터 "다음 곡"이라는 음성 신호가 전달되면, 서비스 서버(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) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
아울러, 상술한 바와 같은 컴퓨터가 읽을 수 있는 기록매체에 기록된 컴퓨터 프로그램은 상술한 바와 같은 기능을 수행하는 명령어를 포함하며 기록매체를 통해 배포되고 유통되어 특정 장치, 특정 컴퓨터에 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 음성 인식 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 마이크와 스피커를 포함하는 음향 출력 장치에서 입력되는 사용자의 음성을 인식하고 이에 해당하는 서비스를 음향 출력 장치를 통해 제공할 수 있는 음성 인식 서비스 제공 방법 및 이를 위한 장치에 관한 것이다.
이러한 본 발명에 의하면, 마이크와 스피커를 포함하는 음향 출력 장치에서 입력되는 사용자의 음성을 인식하고 사용자의 의도를 파악한 후, 복수의 컨텐츠 제공 서버와 연동하여 적합한 음원을 출력하여 제공하거나, 적합한 서비스를 지능적으로 제공할 수 있어 사용자의 만족도를 높일 수 있는 효과가 있으며, 이를 통해 본 발명은 음성 인식, 인공 지능, 멀티미디어 컨텐츠 산업 등 다양한 산업상 이용 가능성이 충분하다.
100: 단말 200: 음향 출력 장치
210: 음성 신호 입력부 220: 장치 제어부
230: 장치 통신부 240: 출력부
300: 서비스 서버 310: 서버 통신부
320: 서버 저장부 330: 서버 제어부
340: 변환부 350: 컨텐츠 서버 연동부
400: 컨텐츠 제공 서버 500: 통신망

Claims (13)

  1. 음향 출력 장치가,
    발화되는 사용자의 음성을 입력 받아 음성 신호를 생성하는 단계;
    상기 음성 신호를 스트리밍하여 서비스 서버로 전송하는 단계;
    상기 서비스 서버로부터 상기 음성 신호를 인식하여 생성된 응답 메시지 및 특정 컨텐츠 접근을 위한 링크 정보를 수신하는 단계;
    상기 링크 정보에 따라 해당하는 컨텐츠 제공 서버에 접속하는 단계;
    상기 컨텐츠 제공 서버로부터 상기 컨텐츠에 대한 스트리밍 데이터를 수신하는 단계; 및
    상기 응답 메시지 및 상기 수신된 스트리밍 데이터를 재생하여 출력하는 단계;
    를 포함하고,
    상기 응답 메시지는,
    상기 서비스 서버가 상기 음성 신호를 인식하여 엔티티에 대응하는 복수 개의 단어열 및 인텐트에 대응하는 복수 개의 단어열을 저장하는 서버 저장부에 저장된 상기 엔티티 및 인텐트와 비교하여 의미를 분석하고, 상기 엔티티에 대응하는 컨텐츠 제공 서버를 확인하고, 상기 컨텐츠 제공 서버로 상기 인텐트에 대응하는 사용자의 의도에 따른 서비스를 요청하여 상기 특정 컨텐츠 접근을 위한 링크 정보를 수신하여 상기 음성 신호에 대응되도록 생성하는 것을 특징으로 하는 음성 인식 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 전송하는 단계는
    상기 음성 신호를 소정 길이의 프레임으로 구분하고, 상기 구분된 프레임 단위로 음성 인식을 수행하는 단계; 및
    음성 인식을 수행한 결과, 특정 구간에 미리 지정된 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호를 상기 프레임 단위로 스트리밍하여 상기 서비스 서버로 전송하는 단계;
    를 포함하는 것을 특징으로 하는 음성 인식 서비스 제공 방법.
  3. 서비스 서버가,
    음향 출력 장치로부터 스트리밍되는 음성 신호를 수신하는 단계;
    상기 음성 신호를 인식하여 엔티티 및 인텐트로 구분하여 의미를 분석하는 단계;
    상기 엔티티에 대응하는 서비스 제공 주체인 컨텐츠 제공 서버를 확인하는 단계;
    상기 컨텐츠 제공 서버로 상기 인텐트에 대응하는 사용자의 의도에 따른 서비스를 요청하는 단계;
    상기 컨텐츠 제공 서버로부터 특정 컨텐츠 접근을 위한 링크 정보를 수신하는 단계; 및
    상기 음성 신호에 대응하는 응답 메시지를 생성한 후 상기 응답 메시지 및 상기 링크 정보를 상기 음향 출력 장치로 전달하는 단계;
    를 포함하는 것을 특징으로 하는 음성 인식 서비스 제공 방법.
  4. 삭제
  5. 제3항에 있어서,
    상기 링크 정보를 수신하는 단계에서
    상기 링크 정보가 복수 개인 경우, 기 설정된 기준에 따라 상기 링크 정보에 대한 재생 리스트를 생성하며,
    상기 음향 출력 장치로 전달하는 단계 이후에,
    상기 재생 리스트에 따라 소정 시간 경과 후 또는 상기 음향 출력 장치의 요청에 따라 다음 링크 정보를 상기 음향 출력 장치로 전달하는 단계;
    를 더 포함하는 것을 특징으로 하는 음성 인식 서비스 제공 방법.
  6. 제1항, 제2항, 제3항, 제5항 중 어느 하나의 항에 기재된 음성 인식 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  7. 마이크를 통해 발화되는 사용자의 음성을 입력 받아 음성 신호를 생성하는 음성 신호 입력부;
    스피커를 통해 응답 메시지 및 스트리밍 데이터를 출력하는 출력부; 및
    상기 음성 신호를 스트리밍하여 서비스 서버로 전송하고, 상기 서비스 서버로부터 상기 음성 신호를 인식하여 생성된 응답 메시지 및 특정 컨텐츠 접근을 위한 링크 정보가 수신되면, 상기 응답 메시지가 상기 출력부를 통해 출력되도록 제어하며, 상기 링크 정보에 따라 해당하는 컨텐츠 제공 서버에 접속하여, 상기 컨텐츠에 대한 스트리밍 데이터를 수신하고, 상기 스트리밍 데이터를 재생하여 상기 출력부를 통해 출력되도록 제어하는 장치 제어부;
    를 포함하고,
    상기 응답 메시지는,
    상기 서비스 서버로부터 상기 음성 신호를 인식하여 엔티티에 대응하는 복수 개의 단어열 및 인텐트에 대응하는 복수 개의 단어열을 저장하는 서버 저장부에 저장된 상기 엔티티 및 인텐트와 비교하여 의미를 분석하고, 상기 엔티티에 대응하는 컨텐츠 제공 서버를 확인하고, 상기 컨텐츠 제공 서버로 상기 인텐트에 대응하는 사용자의 의도에 따른 서비스를 요청하여 상기 특정 컨텐츠 접근을 위한 링크 정보를 수신하여 상기 음성 신호에 대응되도록 생성되는 것을 특징으로 하는 음향 출력 장치.
  8. 제7항에 있어서,
    상기 장치 제어부는
    상기 음성 신호 입력부를 통해 입력되는 음성 신호를 소정 길이의 프레임으로 구분하고, 상기 구분된 프레임 단위로 음성 인식을 수행하여, 특정 구간에 미리 지정된 웨이크업 단어가 존재하는 것으로 확인되면, 상기 음성 신호를 상기 프레임 단위로 스트리밍하여 상기 서비스 서버로 전송되도록 제어하는 것을 특징으로 하는 음향 출력 장치.
  9. 사용자가 발화함에 따라 생성되는 음성 신호를 음향 출력 장치로부터 스트리밍 방식으로 수신하는 서버 통신부;
    엔티티에 대응하는 복수 개의 단어열 및 인텐트에 대응하는 복수 개의 단어열을 저장하는 서버 저장부; 및
    상기 서버 통신부를 통해 수신되는 음성 신호를 인식하여 단어열 단위로 상기 서버 저장부에 저장된 엔티티 및 인텐트와 비교하여 의미를 분석하고, 상기 엔티티에 대응하는 컨텐츠 제공 서버를 확인하고, 상기 컨텐츠 제공 서버로 상기 인텐트에 대응하는 사용자의 의도에 따른 서비스를 요청하여 상기 컨텐츠 제공 서버로부터 특정 컨텐츠 접근을 위한 링크 정보가 수신되면, 상기 음성 신호에 대응하는 응답 메시지를 생성한 후 상기 응답 메시지 및 상기 링크 정보를 상기 서버 통신부를 통해 상기 음향 출력 장치로 전달되도록 제어하는 서버 제어부;
    를 포함하는 것을 특징으로 하는 서비스 서버.
  10. 삭제
  11. 제9항에 있어서,
    상기 서버 제어부는
    상기 컨텐츠 제공 서버로부터 링크 정보가 아닌 응답 정보가 수신되면, 상기 응답 정보를 포함하는 응답 메시지를 생성하여 상기 음향 출력 장치로 전달되도록 제어하는 것을 특징으로 하는 서비스 서버.
  12. 제9항에 있어서,
    상기 서버 제어부는
    상기 응답 메시지를 TTS(Text To Speech) 엔진을 통해 음성 신호로 변환한 후 변환된 응답 메시지를 상기 음향 출력 장치로 전달되도록 제어하는 것을 특징으로 하는 서비스 서버.
  13. 제9항에 있어서,
    상기 서버 제어부는
    상기 컨텐츠 제공 서버로부터 수신된 링크 정보가 복수 개인 경우, 기 설정된 기준에 따라 상기 링크 정보에 대한 재생 리스트를 생성하며, 상기 재생 리스트에 따라 소정 시간 경과 후 또는 상기 음향 출력 장치의 요청에 따라 다음 링크 정보를 상기 음향 출력 장치로 전달되도록 제어하는 것을 특징으로 하는 서비스 서버.
KR1020160140209A 2016-10-26 2016-10-26 음성 인식 서비스 제공 방법 및 이를 위한 장치 KR102584324B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160140209A KR102584324B1 (ko) 2016-10-26 2016-10-26 음성 인식 서비스 제공 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160140209A KR102584324B1 (ko) 2016-10-26 2016-10-26 음성 인식 서비스 제공 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20180045633A KR20180045633A (ko) 2018-05-04
KR102584324B1 true KR102584324B1 (ko) 2023-09-27

Family

ID=62199970

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160140209A KR102584324B1 (ko) 2016-10-26 2016-10-26 음성 인식 서비스 제공 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102584324B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200044175A (ko) 2018-10-05 2020-04-29 삼성전자주식회사 전자 장치 및 그의 비서 서비스 제공 방법
KR20220120934A (ko) * 2021-02-24 2022-08-31 삼성전자주식회사 음성 명령 처리 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832534B1 (ko) * 2006-09-28 2008-05-27 한국전자통신연구원 음성 인식을 통한 컨텐츠 정보 서비스 제공 장치 및 그방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893546B1 (ko) 2007-03-12 2009-04-17 (주)티아이스퀘어 음성 인식을 이용한 영상 합성 통화 서비스 방법 및 장치
KR20100048141A (ko) * 2008-10-30 2010-05-11 주식회사 케이티 음성 인식 기반의 아이피티브이 컨텐츠 검색 시스템 및 그 방법
KR101909250B1 (ko) * 2012-06-07 2018-10-17 주식회사 케이티 단말의 음성 정보에 기초하여 서비스 타입을 결정하는 음성 인식 서버, 서비스 타입에 따라 단말로 컨텐츠를 제공하는 컨텐츠 서버, 단말 및 방법
US9536528B2 (en) * 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832534B1 (ko) * 2006-09-28 2008-05-27 한국전자통신연구원 음성 인식을 통한 컨텐츠 정보 서비스 제공 장치 및 그방법

Also Published As

Publication number Publication date
KR20180045633A (ko) 2018-05-04

Similar Documents

Publication Publication Date Title
US11600265B2 (en) Systems and methods for determining whether to trigger a voice capable device based on speaking cadence
US11798547B2 (en) Voice activated device for use with a voice-based digital assistant
US11887590B2 (en) Voice enablement and disablement of speech processing functionality
US11810554B2 (en) Audio message extraction
US11237793B1 (en) Latency reduction for content playback
JP7418526B2 (ja) 自動アシスタントを起動させるための動的および/またはコンテキスト固有のホットワード
US9940929B2 (en) Extending the period of voice recognition
US10068573B1 (en) Approaches for voice-activated audio commands
KR102429436B1 (ko) 사용자의 입력 입력에 기초하여 타겟 디바이스를 결정하고, 타겟 디바이스를 제어하는 서버 및 그 동작 방법
US10811005B2 (en) Adapting voice input processing based on voice input characteristics
WO2019112858A1 (en) Streaming radio with personalized content integration
WO2020029500A1 (zh) 语音命令定制方法、装置和设备及计算机存储介质
JP2017058673A (ja) 対話処理装置及び方法と知能型対話処理システム
KR20180046780A (ko) 이중 웨이크업을 이용한 음성 인식 서비스 제공 방법 및 이를 위한 장치
US10079021B1 (en) Low latency audio interface
WO2019242414A1 (zh) 语音处理方法、装置、存储介质及电子设备
CN111640434A (zh) 用于控制语音设备的方法和装置
WO2019228138A1 (zh) 音乐播放方法、装置、存储介质及电子设备
KR102584324B1 (ko) 음성 인식 서비스 제공 방법 및 이를 위한 장치
US10861453B1 (en) Resource scheduling with voice controlled devices
CN106980640B (zh) 针对照片的交互方法、设备和计算机可读存储介质
CN113611316A (zh) 人机交互方法、装置、设备以及存储介质
KR20180103273A (ko) 음성 합성 장치 및 음성 합성 방법
KR102456526B1 (ko) 장애인을 위한 의사소통 보조 서비스 제공 방법
KR20180047597A (ko) 음성 신호 정보를 활용한 음성 인식 서비스 제공 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant