KR102293772B1 - 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법 - Google Patents

음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법 Download PDF

Info

Publication number
KR102293772B1
KR102293772B1 KR1020180090268A KR20180090268A KR102293772B1 KR 102293772 B1 KR102293772 B1 KR 102293772B1 KR 1020180090268 A KR1020180090268 A KR 1020180090268A KR 20180090268 A KR20180090268 A KR 20180090268A KR 102293772 B1 KR102293772 B1 KR 102293772B1
Authority
KR
South Korea
Prior art keywords
phrase
synthesis
voice
request
response
Prior art date
Application number
KR1020180090268A
Other languages
English (en)
Other versions
KR20200015023A (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 KR1020180090268A priority Critical patent/KR102293772B1/ko
Publication of KR20200015023A publication Critical patent/KR20200015023A/ko
Application granted granted Critical
Publication of KR102293772B1 publication Critical patent/KR102293772B1/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
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/06Elementary speech units used in speech synthesisers; Concatenation rules

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)
  • Telephonic Communication Services (AREA)

Abstract

음성 합성 서비스를 제공하는 캐쉬 서버는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 수신부, 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 분석부, 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 검색부, 검색된 응답 문구를 사용자 단말로 전송하는 전송부를 포함하고, 검색부는 요청 문구가 가변 문구를 포함하는 경우, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에서 더 검색할 수 있다.

Description

음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법{SERVER, USER DEVICE AND METHOD FOR PROVIDING VOICE SYNTHESIS SERVICE}
본 발명은 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법에 관한 것이다.
최근 들어, 음성 인식 기술에 음성 합성 기술이 결합된 형태의 서비스의 제공이 늘어나고 있다.
음성 합성 기술은 사용자에게 제공해야 하는 텍스트 정보를 음성으로 변환하는 기술이다. 이러한 음성 합성 기술을 구현하기 위해서는 텍스트 정보를 분석하고, 분석된 텍스트 정보에 음성 데이터를 합성함으로써 텍스트에 해당하는 음성 데이터를 생성해야 하는 과정이 필요한데 이러한 과정에는 많은 연산과 음성 데이터가 합치되는 과정이 들어가고, 연산량 또는 음성 데이터 양에 비례하여 음성이 합성되는데 많은 시간이 소요된다.
기존의 음성 합성 기술은 음성 훈련에 필요한 데이터를 줄이면서 더 자연스러운 음성 합성을 제공하기 위해 신경망 학습 및 머신 러닝을 이용하고 있다. 하지만, 음성 합성 기술에 이용되는 신경망 학습 및 머신 러닝은 음성 훈련의 학습을 위한 계산량을 많이 필요로 하기 때문에 반응시간이 느려지는 단점이 있어 실시간 서비스를 제공하기에 어려움이 있다. 또한, 사용자들에게 제공되는 음성 답변에 대한 내용이 사용자에 관계없이 반복적으로 사용되는 경우가 빈번하게 발생하고 있다.
한국등록특허공보 제10-0433442호 (2004.05.18. 등록)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 음성 인식 서버로부터 음성 합성 요청 메시지를 수신한 경우, 음성 합성 요청 메시지에 포함된 요청 문구를 캐쉬 데이터베이스에서 검색하여 사용자 단말로 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 음성 합성 서비스를 제공하는 캐쉬 서버는 사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 수신부; 상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 분석부; 상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 검색부; 상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 전송부를 포함하고, 상기 검색부는 상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색할 수 있다.
본 발명의 제 2 측면에 따른 음성 합성 서비스를 제공하는 사용자 단말은 사용자로부터 입력받은 음성 메시지를 음성 인식 서버로 전송하는 전송부; 캐쉬 서버로부터 상기 음성 메시지로부터 도출된 요청 문구에 대응하는 응답 문구를 수신하는 수신부; 및 상기 응답 문구를 출력하는 출력부를 포함하고, 상기 응답 문구는 상기 캐쉬 서버에 의해 캐쉬 데이터베이스에서 검색되고, 상기 요청 문구에 가변 문구가 포함된 경우, 상기 캐쉬 서버에 의해 상기 캐쉬 데이터베이스에서 상기 가변 문구에 해당하는 응답 문구가 더 검색될 수 있다.
본 발명의 제 3 측면에 따른 캐쉬 서버에서 음성 합성 서비스를 제공하는 방법은 사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 단계; 상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 단계; 상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 단계; 상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 단계를 포함하고, 상기 캐쉬 데이터베이스에서 검색하는 단계는 상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색하는 단계를 포함할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 음성 인식 서버로부터 음성 합성 요청 메시지를 수신한 경우, 음성 합성 요청 메시지에 포함된 요청 문구를 캐쉬 데이터베이스에서 검색하여 사용자 단말로 제공할 수 있다. 이를 통해, 본 발명은 사용자로부터 반복적인 음성 메시지를 수신한 경우, 캐쉬 서버에 저장되어 있는 응답 문구를 제공함으로써 사용자에게 빠른 응답 시간을 제공할 수 있다.
또한, 본 발명은 캐쉬 서버에 많이 사용되는 응답 문구를 미리 저장해두기 때문에 응답 문구를 생성할 때 소요되는 시간을 줄일 수 있고, 보다 자연스러운 문장을 제공할 수 있다.
또한, 본 발명은 가변적인 문구(예컨대, 숫자, 지역명 등)를 캐쉬 서버에 저장하여 캐쉬의 히트율(hit rate)을 높여 전체 응답의 평균 시간을 더욱 낮출 수 있다.
또한, 본 발명은 캐쉬 서버에 없는 응답 문구에 대해서만 음성 합성 서버에서 응답 문구를 생성하기 때문에 음성 합성 서버의 부하를 줄일 수 있다.
또한, 본 발명은 캐쉬 서버(일반 서버에 해당)의 대수를 높이고, 음성 합성 서버(고사양 서버에 해당되기 때문에 일반 서버에 비해 가격이 비쌈)의 대수를 낮춤으로써 저비용의 음성 합성 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 캐쉬 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 음성 합성 요청 메시지에 포함된 내용을 설명하기 위한 도면이다.
도 4a 내지 4d는 본 발명의 일 실시예에 따른, 음성 합성 요청 메시지에 포함된 내용에 기초하여 음성 합성 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른, 캐쉬 서버에서 음성 합성 서비스를 제공하는 방법을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 도 1에 도시된 사용자 단말의 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 시스템의 구성도이다.
도 1을 참조하면, 음성 합성 서비스 제공 시스템은 적어도 하나의 캐쉬 서버(100), 음성 인식 서버(110), 사용자 단말(120) 및 적어도 하나의 음성 합성 서버(130)를 포함할 수 있다. 여기서, 적어도 하나의 캐쉬 서버(100), 음성 인식 서버(110) 및 적어도 하나의 음성 합성 서버(130) 각각은 관제 서버(미도시)에 연동될 수 있다. 다만, 이러한 도 1의 음성 합성 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다.
일반적으로, 도 1의 음성 합성 서비스 제공 시스템의 각 구성요소들은 네트워크(미도시)를 통해 연결된다. 네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
음성 인식 서버(110)는 사용자로부터 입력받은 음성 메시지를 사용자 단말(120)로부터 수신할 수 있다. 또한, 음성 인식 서버(110)는 수신된 음성 메 시지의 문맥을 파악할 수 있다.
음성 인식 서버(110)는 음성 메시지에 기초하여 음성 메시지의 응답 처리를 위한 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)에게 전송할 수 있다. 여기서, 음성 합성 요청 메시지는 예를 들면, 요청 문구, 요청 파일명 및 요청 데이터 인덱스 중 적어도 하나를 포함할 수 있다.
음성 인식 서버(110)는 사용자 단말(120)의 스펙 정보에 기초하여 음성 합성 요청 메시지에 포함될 합성 옵션 정보를 설정할 수 있다. 여기서, 합성 옵션 정보는 예를 들면, 출력될 응답 음성에 대한 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함할 수 있다.
캐쉬 서버(100)는 음성 인식 서버(110)로부터 수신된 음성 합성 요청 메시지에 포함된 요청 문구를 분석하고, 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색할 수 있다.
캐쉬 서버(100)는 사용자 단말(120) 또는 음성 인식 서버(110)로부터 수신된 음성 합성 요청 메시지에 포함된 요청 파일명 및 요청 데이터 인덱스에 더 기초하여 캐쉬 데이터베이스에서 응답 문구를 검색할 수 있다.
캐쉬 서버(100)는 검색된 응답 문구를 사용자 단말(120)로 전송할 수 있다.
캐쉬 서버(100)는 음성 합성 요청 메시지에 포함된 요청 문구에 적어도 하나의 가변 문구(예컨대, 숫자, 지역명 등)가 포함된 경우, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에서 검색할 수 있다. 캐쉬 서버(100)는 가변 문구에 해당하는 응답 문구와 요청 문구에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 사용자 단말(120)에게 전송할 수 있다.
캐쉬 서버(100)는 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
음성 합성 서버(130)는 캐쉬 데이터베이스에 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구가 존재하지 않는 경우, 캐쉬 서버(100)의 요청에 따라 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구를 생성하여 캐쉬 서버(100)에게 전달할 수 있다.
다른 실시 예로, 캐쉬 서버(100)는 음성 합성 서버(130)가 통합된 서버일 수 있고, 음성 합성 서버(130)에서 수행되는 동작은 캐쉬 서버(100)에서도 수행되도록 구현할 수 있다. 예를 들면, 캐쉬 서버(100)는 캐쉬 데이터베이스에 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구가 존재하지 않는 경우, 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구를 생성할 수 있다.
캐쉬 서버(100)는 음성 합성 서버(130)로부터 수신된 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에 저장할 수 있다. 또한, 캐쉬 서버(100)는 기설정된 캐쉬 관리 정책(일정 주기 또는 캐쉬 데이터베이스에 저장된 데이터의 개수 또는 캐쉬 데이터베이스의 저장 용량 등)에 기초하여 캐쉬 데이터베이스에 저장된 데이터 중 사용 빈도가 낮은 데이터를 삭제할 수 있다.
캐쉬 서버(100)는 음성 합성 서버(130)로부터 수신된 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 따라 수신된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
캐쉬 서버(100)는 주기적으로 관제 서버(미도시)로부터 캐쉬 데이터베이스에 저장된 데이터에 대한 통계 요청 메시지를 수신한 경우, 관제 서버(미도시)에게 캐쉬 데이터베이스에 저장된 데이터의 업데이트 상황 정보를 관제 서버(미도시)에게 보고할 수 있다. 다른 예로, 캐쉬 서버(100)는 기설정된 이벤트의 발생 또는 기설정된 주기에 기초하여 캐쉬 데이터베이스에 저장된 데이터의 업데이트 상황 정보를 관제 서버(미도시)에게 보고할 수 있다.
사용자 단말(120)은 사용자 단말(120)에 설치된 특정 어플리케이션을 통해 사용자로부터 입력된 음성 메시지에 기초하여 음성 메시지의 응답 처리를 위한 음성 합성 요청 메시지(해당 특정 어플리케이션에 의해 기지정된 요청 문구를 포함)를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)에게 전송할 수 있다. 이 때, 캐쉬 서버(100)는 사용자 단말(120)로부터 수신된 음성 합성 요청 메시지에 포함된 요청 문구에 대한 응답 문구(캐쉬 데이터베이스에서 검색된 wav 데이터)를 사용자 단말(120)로 전송할 수 있다.
다른 실시 예로, 사용자 단말(120)은 사용자 단말(120)에 설치된 메인 제어 어플리케이션(Main Controller App, 예컨대, 음성 인식 앱 등)을 통해 사용자의 음성 메시지를 입력받고, 메인 제어 어플리케이션을 통해 음성 인식 서버(110)로부터 음성 메시지에 대한 내용 파악 및 응답 문구를 수신할 수 있다. 이 때, 메인 제어 어플리케이션은 사용자 단말(120)에 설치된 TTS 앱으로 응답 문구를 전달하면, TTS 앱은 캐쉬 서버(100)에게 요청 문구에 대한 응답 문구를 요청하고, 캐쉬 서버(100)로부터 수신된 응답 문구를 사용자 단말(120)의 스피커(미도시)를 통해 출력할 수 있다.
다른 실시 예로, 사용자 단말(120)이 사용자로부터 입력된 음성 메시지(예컨대, 날씨 질문 메시지 등)를 중계 서버(미도시)로 전달하면, 중계 서버(미도시)는 음성 인식 서버(110)와의 연동을 통해 음성 인식 메시지의 응답 처리를 위한 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)에게 전송할 수 있다. 이후, 중계 서버(미도시)는 캐쉬 서버(100)로부터 음성 합성 요청 메시지에 기초하여 검색된 응답 문구를 수신하고, 수신된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
사용자 단말(120)은 캐쉬 서버(100)로부터 수신된 응답 문구를 스피커(미도시)를 통해 출력할 수 있다. 이러한, 사용자 단말(120)은 음성 인식이 가능한 셋톱박스(Set-top Box), 멀티미디어 스트리밍 어댑터, 인공지능 음성인식 디바이스, 스마트 가전, 노트북, 데스크탑 PC뿐만 아니라 유무선 통신이 가능한 모바일 단말을 포함할 수 있다. 모바일 단말은 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰(smartphone), 태블릿 PC, 웨어러블 디바이스뿐만 아니라, 블루투스(BLE, Bluetooth Low Energy), NFC, RFID, 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다. 다만, 사용자 단말(120)은 앞서 예시된 것들로 한정 해석되는 것은 아니다.
이하에서는 도 1의 음성 합성 서비스 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 캐쉬 서버(100)의 블록도이다.
도 2를 참조하면, 캐쉬 서버(100)는 수신부(200), 분석부(210), 옵션 확인부(220), 옵션 변경 처리부(230), 검색부(240) 전송부(250) 및 캐쉬 데이터베이스(260)를 포함할 수 있다. 다만, 도 2에 도시된 캐쉬 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
이하에서는 도 2와 함께 도 3 내지 4d를 참조하여 설명하기로 한다.
수신부(200)는 음성 인식 서버(100)로부터 음성 합성 요청 메시지를 수신할 수 있다. 여기서, 음성 합성 요청 메시지는 사용자로부터 입력받은 음성 메시지에 기초하여 생성된 메시지일 수 있다. 도 3을 참조하면, 음성 합성 요청 메시지(30)는 캐쉬 서버(100)에서 음성 메시지의 응답 처리를 위한 응답 문구를 검색하기 위한 메시지로서, 음성 합성 요청 메시지(30)에는 검색될 응답 문구에 대응하는 요청 문구(301), 요청 파일명(303) 및 요청 데이터 인덱스(305) 중 적어도 하나가 포함될 수 있다. 또한, 음성 합성 요청 메시지(30)에는 음성 메시지를 전송한 사용자 단말(120)에 대한 식별 정보 및 음성 합성 요청 메시지(30)를 전송한 음성 인식 서버(100)에 대한 식별 정보가 포함될 수 있다. 또한, 음성 합성 요청 메시지(30)에는 검색된 응답 문구에 대한 출력 음성에 옵션을 설정하기 위한 합성 옵션 정보(307)가 더 포함될 수 있다. 이 때, 합성 옵션 정보(307)는 출력 음성에 대한 언어 정보(예컨대, 한국어, 영어, 일어 등), 출력 음성에 대한 목소리 식별 정보, 음성 속도 정보, 소리 높이 정보 및 소리 볼륨 정보를 포함할 수 있다.
분석부(210)는 수신된 음성 합성 요청 메시지를 분석하고, 음성 합성 요청 메시지에 포함된 정보를 추출할 수 있다.
구체적으로, 분석부(210)는 음성 합성 요청 메시지에 요청 문구가 포함된 경우, 요청 문구를 분석할 수 있다. 예를 들면, 요청 문구가 복수의 문장으로 구성되어 있는 경우, 분석부(210)는 요청 문구를 단일 문장으로 분리할 수 있다. 예를 들면, 분석부(210)는 요청 문구에 가변 문구(예컨대, 숫자, 지역명 등)가 포함되어 있는지를 분석할 수 있다.
분석부(210)는 음성 합성 요청 메시지에 요청 문구가 포함된 경우, 캐쉬 데이터베이스(260)에서 해당 요청 문구에 대응하는 검색될 응답 문구의 저장 위치를 파악할 수 있다. 예를 들면, 분석부(210)는 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중에서 해당 요청 문구에 대응하는 응답 문구의 검색 장소를 응답 문구 저장소(미도시)로 결정할 수 있다.
분석부(210)는 음성 합성 요청 메시지에 요청 파일명 및 요청 데이터 인덱스가 포함된 경우, 요청 파일명 및 요청 데이터 인덱스에 기초하여 캐쉬 데이터베이스(260)에서 검색될 응답 문구의 저장 위치를 파악할 수 있다.
예를 들면, 분석부(210)는 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중에서 요청 파일명 및 요청 데이터 인덱스에 기초하여 검색될 응답 문구의 검색 장소를 음성 파일 저장소(미도시)로 결정할 수 있다.
분석부(210)는 음성 합성 요청 메시지에 요청 문구, 요청 파일명 및 요청 데이터 인덱스가 모두 포함된 경우, 기설정된 우선 순위에 기초하여 요청 문구, 요청 파일명 및 요청 데이터 인덱스 중 응답 문구의 검색에 이용될 정보를 선택할 수 있다. 예를 들면, 분석부(210)는 요청 문구를 이용한 검색 조건이 우선 순위로 기설정되어 있는 경우, 해당 요청 문구에 대응하는 응답 문구의 검색 장소를 응답 문구 저장소(미도시)로 결정할 수 있고, 요청 파일명 및 요청 데이터 인덱스를 이용한 검색 조건이 우선 순위로 기설정되어 있는 경우, 요청 파일명 및 요청 데이터 인덱스에 기초하여 검색될 응답 문구의 검색 장소를 음성 파일 저장소(미도시)로 결정할 수 있다.
옵션 확인부(220)는 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인할 수 있다. 구체적으로, 옵션 확인부(220)는 합성 옵션 정보에 포함된 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보 중 음성 합성 요청 메시지에 설정된 합성 옵션 정보가 어떤 것이 있는지를 검출할 수 있다.
제 1 실시예로, 도 4a를 참조하면, 검색부(240)는 음성 합성 요청 메시지(40)에 요청 문구(400, 예컨대, '오늘 서초구 날씨입니다.')가 포함되고, 요청 파일명(402) 및 요청 데이터 인덱스(404)가 포함되지 않은 경우, 요청 문구(400)에 대응하는 응답 문구를 캐쉬 데이터베이스(260)에서 검색할 수 있다. 예를 들면, 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중에서 분석부(210)에 의해 결정된 응답 문구 저장소(미도시)에서 요청 문구(400)에 대응하는 응답 문구를 검색할 수 있다.
캐쉬 데이터베이스(260)에서 요청 문구(400)에 대응하는 응답 문구가 검색된 경우, 옵션 확인부(220)는 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다.
전송부(250)는 검색된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
만일, 요청 문구(400)에 대응하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하지 않는 경우, 전송부(250)는 음성 합성 서버(130)에게 요청 문구(400)를 포함하는 음성 합성 요청 메시지를 전송할 수 있다. 이 때, 음성 합성 서버(130)는 음성 합성 요청 메시지에 포함된 요청 문구(400)에 기초하여 해당 요청 문구(400)에 대응하는 응답 문구를 생성할 수 있다.
수신부(200)는 음성 합성 서버(130)로부터 요청 문구(400)에 기초하여 생성된 응답 문구를 수신할 수 있다.
이 때, 옵션 확인부(220)는 수신된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다.
전송부(250)는 수신된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 수신된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
제 2 실시예로, 도 4b를 참조하면, 옵션 변경 처리부(230)는 캐쉬 데이터베이스(260)에서 검색된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 검색된 응답 문구의 합성 옵션 정보를 변경할 수 있다. 예를 들면, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)의 합성 옵션 정보(406)에서 음성 속도 정보(408) 및 소리 볼륨 정보(410)가 설정되어 있는 경우, 캐쉬 데이터베이스(260)에서 검색된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보 중 음성 속도 정보 및 소리 볼륨 정보를 음성 합성 요청 메시지(40)의 음성 속도 정보(408) 및 소리 볼륨 정보(410)에 기초하여 변경할 수 있다.
만일, 요청 문구(400)에 대응하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하지 않아 음성 합성 서버(130)로부터 응답 문구를 수신하고, 수신된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 수신된 응답 문구의 합성 옵션 정보를 변경할 수 있다.
전송부(250)는 합성 옵션 정보가 변경 처리된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
제 3 실시예로, 도 4c를 참조하면, 검색부(240)는 음성 합성 요청 메시지(40)에 요청 문구(400)가 포함되지 않고, 검색될 응답 문구에 대한 정보인 요청 파일명(402) 및 요청 데이터 인덱스(404)가 포함된 경우, 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 캐쉬 데이터베이스(260)에서 응답 문구를 검색할 수 있다. 예를 들면, 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중 분석부(210)에 의해 결정된 음성 파일 저장소(미도시)에서 요청 파일명(402) 및 요청 데이터 인덱스(404)를 갖는 응답 문구를 검색할 수 있다.
캐쉬 데이터베이스(260)에서 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 응답 문구가 검색된 경우, 옵션 확인부(220)는 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다.
전송부(250)는 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
만일, 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 응답 문구의 합성 옵션 정보를 변경할 수 있다.
전송부(250)는 합성 옵션 정보가 변경 처리된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
제 4 실시예로, 도 4d를 참조하면, 검색부(240)는 음성 합성 요청 메시지(40)에 포함된 요청 문구(400)가 가변 문구를 포함하는 경우, 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 캐쉬 데이터베이스(260)에서 검색하고, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스(260)에서 더 검색할 수 있다. 예를 들면, 요청 문구(400)가 '오늘의 최고 온도는 [[20]]도 이며, 최저 온도는 [[10]]도 입니다.'를 포함하는 문구인 경우, [[20]]와 [[10]]은 가변 문구에 해당될 수 있다.
예를 들면, 검색부(240)는 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중 응답 문구 저장소(미도시)에서 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 검색하고, 가변 문구 저장소(미도시)에서 가변 문구에 해당하는 응답 문구를 검색할 수 있다.
전송부(250)는 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하는 경우, 가변 문구에 해당하는 응답 문구와 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 사용자 단말(120)에게 전송할 수 있다.
전송부(250)는 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하고, 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하지 않는 경우, 음성 합성 서버(130)에게 가변 문구를 포함하는 가변 문구 요청 메시지를 전송할 수 있다. 이 때, 음성 합성 서버(130)는 가변 문구 요청 메시지에 포함된 가변 문구에 기초하여 가변구 음성 데이터를 생성할 수 있다.
수신부(200)는 음성 합성 서버(130)로부터 가변 문구에 기초하여 생성된 가변구 음성 데이터를 수신할 수 있다. 이 때, 수신된 가변구 음성 데이터는 캐쉬 데이터베이스(260)의 가변 문구 저장소(미도시)에 저장될 수 있다.
옵션 확인부(220)는 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다.
전송부(250)는 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
옵션 변경 처리부(230)는 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 응답 문구의 합성 옵션 정보를 변경할 수 있다.
예를 들면, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)의 합성 옵션 정보(406)에서 음성 속도 정보(408) 및 소리 볼륨 정보(410)가 설정되어 있는 경우, 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보 중 음성 속도 정보 및 소리 볼륨 정보를 음성 합성 요청 메시지(40)의 음성 속도 정보(408) 및 소리 볼륨 정보(410)에 기초하여 변경할 수 있다.
전송부(250)는 합성 옵션 정보가 변경된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
한편, 당업자라면, 수신부(200), 분석부(210), 옵션 확인부(220), 옵션 변경 처리부(230), 검색부(240) 및 전송부(250) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
도 5는 본 발명의 일 실시예에 따른, 캐쉬 서버(100)에서 음성 합성 서비스를 제공하는 방법을 나타낸 흐름도이다.
도 5를 참조하면, 단계 S501에서 캐쉬 서버(100)는 사용자 단말(120) 또는 음성 인식 서버(110)로부터 음성 합성 요청 메시지를 수신할 수 있다.
단계 S503에서 캐쉬 서버(100)는 음성 합성 요청 메시지에 포함된 요청 문구를 분석할 수 있다.
단계 S505에서 캐쉬 서버(100)는 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색할 수 있다.
단계 S507에서 캐쉬 서버(100)는 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
도 5에는 도시되지 않았으나, 단계 S503에서 캐쉬 서버(100)는 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인할 수 있다. 여기서, 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함할 수 있다.
도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 요청 문구가 가변 문구를 포함하는 경우, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에서 더 검색할 수 있다.
도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 음성 합성 요청 메시지에 요청 파일명 및 요청 데이터 인덱스가 더 포함된 경우, 요청 파일명 및 요청 데이터 인덱스에 기초하여 캐쉬 데이터베이스에서 응답 문구를 검색할 수 있다.
도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 캐쉬 데이터베이스에서 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 상이한 경우, 캐쉬 서버(100)는 음성 합성 요청 메시지에 포함된 합성 옵션 정보에 기초하여 응답 문구의 합성 옵션 정보를 변경하고, 합성 옵션 정보가 변경 처리된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.
도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 분석된 요청 문구에 대응하는 응답 문구가 캐쉬 데이터베이스에서 검색되지 않는 경우, 음성 합성 서버(130)에게 요청 문구를 포함하는 음성 합성 요청 메시지를 전송하고, 음성 합성 서버(130)로부터 생성된 요청 문구에 대응하는 응답 문구를 수신하여 사용자 단말(120)에게 전송할 수 있다.
상술한 설명에서, 단계 S501 내지 S507은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 6은 본 발명의 일 실시예에 따른, 도 1에 도시된 사용자 단말(120)의 블록도이다.
도 6을 참조하면, 사용자 단말(120)은 전송부(600), 수신부(610) 및 출력부(620)를 포함할 수 있다. 다만, 도 6에 도시된 사용자 단말(120)은 본 발명의 하나의 구현 예에 불과하며, 도 6에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
전송부(600)는 사용자로부터 입력받은 음성 메시지를 음성 인식 서버(110)에게 전송할 수 있다. 여기서, 음성 인식 서버(110)는 사용자로부터 입력받은 음성 메시지에 기초하여 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)로 전송할 수 있다. 구체적으로, 음성 인식 서버(110)는 캐쉬 서버(100)에서 음성 메시지의 응답 처리를 위한 응답 문구를 검색하기 위해 필요한 요청 문구, 요청 파일명 및 요청 데이터 인덱스 중 적어도 하나를 포함하는 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)로 전송할 수 있다. 또한, 음성 인식 서버(110)는 사용자 단말(120)의 스펙 정보에 기초하여 음성 합성 요청 메시지에 포함될 합성 옵션 정보를 설정할 수 있다. 예를 들면, 음성 인식 서버(110)는 사용자의 단말(120)의 스펙 정보에 기초하여 출력될 응답 음성에 대한 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 변경할 수 있다.
다른 실시 예로, 전송부(600)는 사용자로부터 입력된 음성 메시지에 기초하여 사용자 단말(120)의 메인 제어 어플리케이션에 의해 생성된 음성 메시지의 응답 처리를 위한 음성 합성 요청 메시지를 음성 인식 서버(110)로 전송할 수 있다. 여기서, 음성 합성 요청 메시지에는 요청 문구, 요청 파일명 및 요청 데이터 인덱스 등이 포함될 수 있다.
수신부(610)는 캐쉬 서버(100)로부터 음성 메시지로부터 도출된 요청 문구에 대응하는 응답 문구를 수신할 수 있다.
구체적으로, 수신부(610)는 음성 합성 요청 메시지에 포함된 요청 문구에 기초하여 검색된 응답 문구를 캐쉬 서버(100)로부터 수신할 수 있다. 이 때, 응답 문구는 예를 들면, 요청 문구에 기초하여 캐쉬 데이터베이스의 응답 문구 저장소(미도시)에서 검색될 수 있다. 만일, 요청 문구에 대응하는 응답 문구가 캐쉬 데이터베이스에 존재하지 않는 경우, 요청 문구에 대응하는 응답 문구는 캐쉬 서버(100)의 요청에 의해 음성 합성 서버(130)에서 생성될 수 있다.
음성 합성 요청 메시지에 포함된 요청 문구에 가변 문구가 포함된 경우, 캐쉬 서버(100)에 의해 캐쉬 데이터베이스의 가변 문구 저장소(미도시)에서 가변 문구에 해당하는 응답 문구가 더 검색될 수 있다. 만일, 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스에 존재하지 않는 경우, 가변 문구에 해당하는 응답 문구는 캐쉬 서버(100)의 요청에 의해 음성 합성 서버(130)에서 생성될 수 있다.
수신부(610)는 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스에 존재하는 경우, 캐쉬 서버(100)로부터 가변 문구에 해당하는 응답 문구와 요청 문구에 포함된 일반 문구에 해당하는 응답 문구가 결합된 응답 문구를 수신할 수 있다.
수신부(610)는 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스에 존재하지 않는 경우, 음성 합성 서버(130)에서 생성된 가변 문구에 해당하는 응답 문구와 요청 문구에 포함된 일반 문구에 해당하는 응답 문구가 결합된 응답 문구를 캐쉬 서버(100)로부터 수신할 수 있다.
수신부(610)는 음성 합성 요청 메시지에 포함된 요청 파일명 및 요청 데이터 인덱스에 기초하여 검색된 응답 문구를 캐쉬 서버(100)로부터 수신할 수 있다. 이 때, 응답 문구는 예를 들면, 요청 파일명 및 요청 데이터 인덱스에 기초하여 캐쉬 데이터베이스의 음성 파일 저장소(미도시)에서 검색될 수 있다.
수신부(610)는 음성 합성 요청 메시지에 합성 옵션 정보가 설정된 경우, 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 따라 캐쉬 서버(100)로부터 응답 문구를 수신할 수 있다. 구체적으로, 캐쉬 서버(100)에 의해 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 상이한 경우, 음성 합성 요청 메시지에 포함된 합성 옵션 정보에 기초하여 응답 문구의 합성 옵션 정보가 변경될 수 있다.
출력부(620)는 캐쉬 서버(100)로부터 수신된 응답 문구를 출력할 수 있다.
한편, 당업자라면, 전송부(600), 수신부(610) 및 출력부(620) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 캐쉬 서버
110: 음성 인식 서버
120: 사용자 단말
130: 캐쉬 데이터베이스
140: 음성 합성 서버
200: 수신부
210: 분석부
220: 옵션 확인부
230: 옵션 변경 처리부
240: 검색부
250: 전송부
260: 캐쉬 데이터베이스
600: 전송부
610: 수신부
620: 출력부

Claims (18)

  1. 음성 합성 서비스를 제공하는 캐쉬 서버에 있어서,
    사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 수신부;
    상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 분석부;
    상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 검색부;
    상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 전송부
    를 포함하고,
    상기 검색부는 상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색하되,
    상기 전송부는 상기 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는 경우, 상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 상기 사용자 단말로 상기 검색된 응답 문구를 전송하는 것인, 캐쉬 서버.
  2. 제 1 항에 있어서,
    상기 음성 합성 요청 메시지는 요청 파일명 및 요청 데이터 인덱스를 더 포함하고,
    상기 검색부는 상기 요청 파일명 및 상기 요청 데이터 인덱스에 더 기초하여 상기 캐쉬 데이터베이스에서 상기 응답 문구를 검색하는 것인, 캐쉬 서버.
  3. 제 1 항에 있어서,
    상기 음성 합성 요청 메시지에 상기 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인하는 옵션 확인부
    를 더 포함하고,
    상기 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함하는 캐쉬 서버.
  4. 삭제
  5. 제 1 항에 있어서,
    상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 상기 합성 옵션 정보와 동일한 경우,
    상기 전송부는 상기 검색된 상기 응답 문구를 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
  6. 제 1 항에 있어서,
    상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 상기 합성 옵션 정보와 상이한 경우, 상기 음성 합성 요청 메시지에 포함된 상기 합성 옵션 정보에 기초하여 상기 검색된 응답 문구의 합성 옵션 정보를 변경하는 옵션 변경 처리부를 더 포함하고,
    상기 전송부는 상기 합성 옵션 정보가 변경된 상기 응답 문구를 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
  7. 제 1 항에 있어서,
    상기 전송부는 상기 음성 합성 요청 메시지에 대응하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하지 않는 경우, 음성 합성 서버로 상기 요청 문구를 포함하는 음성 합성 요청 메시지를 전송하고,
    상기 수신부는 상기 음성 합성 서버로부터 상기 요청 문구에 기초하여 생성된 상기 응답 문구를 수신하고,
    상기 전송부는 상기 수신된 응답 문구를 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
  8. 제 1 항에 있어서,
    상기 가변 문구에 해당하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하는 경우,
    상기 전송부는 상기 가변 문구에 해당하는 응답 문구와 상기 요청 문구에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
  9. 제 1 항에 있어서,
    상기 전송부는 상기 가변 문구에 해당하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하지 않는 경우, 음성 합성 서버로 상기 가변 문구를 포함하는 가변 문구 요청 메시지를 전송하고,
    상기 수신부는 상기 음성 합성 서버로부터 상기 가변 문구에 기초하여 생성된 가변구 음성 데이터를 수신하고,
    상기 전송부는 상기 가변구 음성 데이터와 상기 요청 문구에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
  10. 음성 합성 서비스를 제공하는 사용자 단말에 있어서,
    사용자로부터 입력받은 음성 메시지를 음성 인식 서버로 전송하는 전송부;
    캐쉬 서버로부터 상기 음성 메시지로부터 도출된 요청 문구에 대응하는 응답 문구를 수신하는 수신부; 및
    상기 응답 문구를 출력하는 출력부
    를 포함하고,
    상기 음성 메시지에 기초하여 생성된 음성 합성 요청 메시지가 상기 음성 인식 서버로부터 상기 캐쉬 서버로 전송되고,
    상기 응답 문구는 상기 캐쉬 서버에 의해 캐쉬 데이터베이스에서 검색되고,
    상기 요청 문구에 가변 문구가 포함된 경우, 상기 캐쉬 서버에 의해 상기 캐쉬 데이터베이스에서 상기 가변 문구에 해당하는 응답 문구가 더 검색되되,
    상기 수신부는 상기 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정된 경우, 상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 상기 캐쉬 서버로부터 상기 응답 문구를 수신하는 것인, 사용자 단말.
  11. 제 10 항에 있어서,
    상기 응답 문구는 요청 파일명 및 요청 데이터 인덱스에 더 기초하여 상기 캐쉬 데이터베이스에서 검색된 것인, 사용자 단말.
  12. 삭제
  13. 제 10 항에 있어서,
    상기 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함하는 것인, 사용자 단말.
  14. 제 13 항에 있어서,
    상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 상기 합성 옵션 정보와 상이한 경우, 상기 음성 합성 요청 메시지에 포함된 상기 합성 옵션 정보에 기초하여 상기 검색된 응답 문구의 합성 옵션 정보가 변경되는 것인, 사용자 단말.
  15. 제 10 항에 있어서,
    상기 가변 문구에 해당하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하는 경우,
    상기 수신부는 상기 가변 문구에 해당하는 응답 문구와 상기 요청 문구에 포함된 일반 문구에 해당하는 응답 문구가 결합된 응답 문구를 수신하는 것인, 사용자 단말.
  16. 캐쉬 서버에서 음성 합성 서비스를 제공하는 방법에 있어서,
    사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 단계;
    상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 단계;
    상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 단계;
    상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 단계
    를 포함하고,
    상기 캐쉬 데이터베이스에서 검색하는 단계는
    상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색하는 단계를 포함하되,
    상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 단계는
    상기 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는 경우, 상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 상기 사용자 단말로 상기 검색된 응답 문구를 전송하는 단계를 포함하는 것인, 음성 합성 서비스 제공 방법.
  17. 제 16 항에 있어서,
    상기 음성 합성 요청 메시지는 요청 파일명 및 요청 데이터 인덱스를 더 포함하고,
    상기 캐쉬 데이터베이스에서 검색하는 단계는
    상기 요청 파일명 및 상기 요청 데이터 인덱스에 기초하여 상기 캐쉬 데이터베이스에서 상기 응답 문구를 검색하는 단계인 것인, 음성 합성 서비스 제공 방법.
  18. 제 16 항에 있어서,
    상기 음성 합성 요청 메시지에 상기 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인하는 단계
    를 더 포함하고,
    상기 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함하는 것인, 음성 합성 서비스 제공 방법.
KR1020180090268A 2018-08-02 2018-08-02 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법 KR102293772B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180090268A KR102293772B1 (ko) 2018-08-02 2018-08-02 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180090268A KR102293772B1 (ko) 2018-08-02 2018-08-02 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법

Publications (2)

Publication Number Publication Date
KR20200015023A KR20200015023A (ko) 2020-02-12
KR102293772B1 true KR102293772B1 (ko) 2021-08-25

Family

ID=69569929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180090268A KR102293772B1 (ko) 2018-08-02 2018-08-02 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법

Country Status (1)

Country Link
KR (1) KR102293772B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102428296B1 (ko) * 2020-10-13 2022-08-02 주식회사 케이티 음성 합성 스케쥴을 조정하는 캐쉬 서버, 방법 및 음성 합성을 수행하는 음성 합성 서버

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6741963B1 (en) 2000-06-21 2004-05-25 International Business Machines Corporation Method of managing a speech cache
KR100411350B1 (ko) * 2001-09-18 2003-12-18 (주) 보이스웨어 음성합성 및 음성변조 서버를 구비한 통합서버에서문자메시지를 음성으로 변환하는 시스템
AU2004246451A1 (en) * 2003-06-02 2004-12-16 International Business Machines Corporation Voice response system, voice response method, voice server, voice file processing method, program and recording medium

Also Published As

Publication number Publication date
KR20200015023A (ko) 2020-02-12

Similar Documents

Publication Publication Date Title
US10922990B2 (en) Display apparatus and method for question and answer
US10073913B2 (en) System and method for displaying of most relevant vertical search results
US20170262868A1 (en) Methods and systems for analyzing customer care data
KR20040014999A (ko) Xml 문서를 xml 문법 규칙 세트의 서브세트에 따라구성된 적어도 하나의 xml 문서로 변환하기 위한 방법및 시스템
US11283690B1 (en) Systems and methods for multi-tier network adaptation and resource orchestration
CA2823835C (en) Voice search and response based on relevancy
JP2018510407A (ja) 問答情報の処理方法、装置、記憶媒体及び装置
US20200167429A1 (en) Efficient use of word embeddings for text classification
CN103581736A (zh) 数字电视终端、视频文件播放方法及视频文件播放***
KR102549204B1 (ko) 음성인식 서비스를 제공하는 단말, 서버 및 방법
KR20190097947A (ko) 사용자 질의를 처리하는 장치, 방법 및 컴퓨터 프로그램
KR102293772B1 (ko) 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법
KR102285115B1 (ko) 챗봇 기반의 웹페이지 내비게이션 장치 및 방법
KR101018473B1 (ko) 모바일용 웹페이지 변환 시스템 및 방법
KR101351264B1 (ko) 음성인식 기반의 메시징 통역서비스 제공 시스템 및 그 방법
CN102804177A (zh) 提供自适应上下文模型框架的方法、装置和计算机程序产品
KR20210009007A (ko) 상담 내용을 요약하는 서버, 방법 및 상담 내용의 요약을 요청하는 상담원 단말
CN104994169A (zh) 一种扫地机器人状态信息查询方法及服务器
KR20200025054A (ko) 광고를 제공하는 서버, 사용자 단말 및 방법
Chorfi et al. Mobile learning adaption through a device based reasoning
CN112084245B (zh) 基于微服务架构的数据管理方法、装置、设备及存储介质
KR101087252B1 (ko) 매쉬업 서비스 관리 시스템
KR102407577B1 (ko) 입력어를 처리하는 사용자 단말 및 방법
KR20200087497A (ko) 음성 인식 서비스를 제공하는 서버, 단말 및 방법
KR20090013876A (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