KR102293772B1 - Server, user device and method for providing voice synthesis service - Google Patents

Server, user device and method for providing voice synthesis service 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
Korean (ko)
Other versions
KR20200015023A (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 KR1020180090268A priority Critical patent/KR102293772B1/en
Publication of KR20200015023A publication Critical patent/KR20200015023A/en
Application granted granted Critical
Publication of KR102293772B1 publication Critical patent/KR102293772B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • 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

음성 합성 서비스를 제공하는 캐쉬 서버는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 수신부, 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 분석부, 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 검색부, 검색된 응답 문구를 사용자 단말로 전송하는 전송부를 포함하고, 검색부는 요청 문구가 가변 문구를 포함하는 경우, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에서 더 검색할 수 있다. The cache server providing the voice synthesis service includes a receiver for receiving a voice synthesis request message from a voice recognition server, an analysis unit for analyzing a request phrase included in the voice synthesis request message, and a response phrase corresponding to the analyzed request phrase from the cache database. It includes a search unit to search, a transmission unit for transmitting the searched response phrase to the user terminal, when the request phrase includes a variable phrase, the search unit may further search for a response phrase corresponding to the variable phrase in the cache database.

Description

음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법{SERVER, USER DEVICE AND METHOD FOR PROVIDING VOICE SYNTHESIS SERVICE}Server, user terminal, and method for providing speech synthesis service

본 발명은 음성 합성 서비스를 제공하는 서버, 사용자 단말 및 방법에 관한 것이다. The present invention relates to a server, a user terminal, and a method for providing a voice synthesis service.

최근 들어, 음성 인식 기술에 음성 합성 기술이 결합된 형태의 서비스의 제공이 늘어나고 있다. In recent years, the provision of services in the form of combining speech recognition technology and speech synthesis technology is increasing.

음성 합성 기술은 사용자에게 제공해야 하는 텍스트 정보를 음성으로 변환하는 기술이다. 이러한 음성 합성 기술을 구현하기 위해서는 텍스트 정보를 분석하고, 분석된 텍스트 정보에 음성 데이터를 합성함으로써 텍스트에 해당하는 음성 데이터를 생성해야 하는 과정이 필요한데 이러한 과정에는 많은 연산과 음성 데이터가 합치되는 과정이 들어가고, 연산량 또는 음성 데이터 양에 비례하여 음성이 합성되는데 많은 시간이 소요된다. Speech synthesis technology is a technology for converting text information to be provided to a user into speech. In order to implement this speech synthesis technology, it is necessary to analyze text information and synthesize speech data with the analyzed text information to generate speech data corresponding to text. It takes a lot of time to synthesize the voice in proportion to the amount of computation or the amount of voice data.

기존의 음성 합성 기술은 음성 훈련에 필요한 데이터를 줄이면서 더 자연스러운 음성 합성을 제공하기 위해 신경망 학습 및 머신 러닝을 이용하고 있다. 하지만, 음성 합성 기술에 이용되는 신경망 학습 및 머신 러닝은 음성 훈련의 학습을 위한 계산량을 많이 필요로 하기 때문에 반응시간이 느려지는 단점이 있어 실시간 서비스를 제공하기에 어려움이 있다. 또한, 사용자들에게 제공되는 음성 답변에 대한 내용이 사용자에 관계없이 반복적으로 사용되는 경우가 빈번하게 발생하고 있다. Existing speech synthesis technology uses neural network learning and machine learning to provide more natural speech synthesis while reducing the data required for speech training. However, neural network learning and machine learning used in speech synthesis technology require a large amount of computation to learn voice training, and thus have a disadvantage in slow response time, making it difficult to provide real-time services. In addition, there are frequent cases in which the content of the voice answer provided to users is repeatedly used regardless of the user.

한국등록특허공보 제10-0433442호 (2004.05.18. 등록)Korean Patent Publication No. 10-0433442 (Registered on May 18, 2004)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 음성 인식 서버로부터 음성 합성 요청 메시지를 수신한 경우, 음성 합성 요청 메시지에 포함된 요청 문구를 캐쉬 데이터베이스에서 검색하여 사용자 단말로 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. The present invention is to solve the problems of the prior art, and when a voice synthesis request message is received from a voice recognition server, the request phrase included in the voice synthesis request message is retrieved from the cache database and provided to the user terminal. However, the technical problems to be achieved by the present embodiment are not limited to the technical problems described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 음성 합성 서비스를 제공하는 캐쉬 서버는 사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 수신부; 상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 분석부; 상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 검색부; 상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 전송부를 포함하고, 상기 검색부는 상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색할 수 있다. As a technical means for achieving the above technical problem, the cache server for providing a voice synthesis service according to the first aspect of the present invention is a receiver for receiving a voice synthesis request message from a user terminal or a voice recognition server; an analysis unit for analyzing a request phrase included in the voice synthesis request message; a search unit for searching the cache database for a response phrase corresponding to the analyzed request phrase; and a transmission unit for transmitting the searched response phrase to the user terminal, wherein the search unit may further search for a response phrase corresponding to the variable phrase in the cache database when the request phrase includes a variable phrase.

본 발명의 제 2 측면에 따른 음성 합성 서비스를 제공하는 사용자 단말은 사용자로부터 입력받은 음성 메시지를 음성 인식 서버로 전송하는 전송부; 캐쉬 서버로부터 상기 음성 메시지로부터 도출된 요청 문구에 대응하는 응답 문구를 수신하는 수신부; 및 상기 응답 문구를 출력하는 출력부를 포함하고, 상기 응답 문구는 상기 캐쉬 서버에 의해 캐쉬 데이터베이스에서 검색되고, 상기 요청 문구에 가변 문구가 포함된 경우, 상기 캐쉬 서버에 의해 상기 캐쉬 데이터베이스에서 상기 가변 문구에 해당하는 응답 문구가 더 검색될 수 있다. A user terminal providing a voice synthesis service according to a second aspect of the present invention includes: a transmitter for transmitting a voice message input from a user to a voice recognition server; a receiving unit for receiving a response phrase corresponding to the request phrase derived from the voice message from the cache server; and an output unit for outputting the response phrase, wherein the response phrase is retrieved from the cache database by the cache server, and when a variable phrase is included in the request phrase, the variable phrase in the cache database by the cache server A response phrase corresponding to may be further searched for.

본 발명의 제 3 측면에 따른 캐쉬 서버에서 음성 합성 서비스를 제공하는 방법은 사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 단계; 상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 단계; 상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 단계; 상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 단계를 포함하고, 상기 캐쉬 데이터베이스에서 검색하는 단계는 상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색하는 단계를 포함할 수 있다. A method for providing a voice synthesis service in a cache server according to a third aspect of the present invention comprises the steps of: receiving a voice synthesis request message from a user terminal or a voice recognition server; analyzing a request phrase included in the voice synthesis request message; retrieving a response phrase corresponding to the analyzed request phrase in the cache database; Comprising the step of transmitting the searched response phrase to the user terminal, and the step of searching in the cache database is when the request phrase includes a variable phrase, further searching for a response phrase corresponding to the variable phrase in the cache database may include the step of

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary, and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명은 음성 인식 서버로부터 음성 합성 요청 메시지를 수신한 경우, 음성 합성 요청 메시지에 포함된 요청 문구를 캐쉬 데이터베이스에서 검색하여 사용자 단말로 제공할 수 있다. 이를 통해, 본 발명은 사용자로부터 반복적인 음성 메시지를 수신한 경우, 캐쉬 서버에 저장되어 있는 응답 문구를 제공함으로써 사용자에게 빠른 응답 시간을 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, the present invention, when receiving a voice synthesis request message from the voice recognition server, retrieve the request phrase included in the voice synthesis request message from the cache database and provide it to the user terminal. can Through this, the present invention can provide a quick response time to the user by providing a response phrase stored in the cache server when a repetitive voice message is received from the user.

또한, 본 발명은 캐쉬 서버에 많이 사용되는 응답 문구를 미리 저장해두기 때문에 응답 문구를 생성할 때 소요되는 시간을 줄일 수 있고, 보다 자연스러운 문장을 제공할 수 있다. In addition, the present invention can reduce the time it takes to generate a response phrase because it stores in advance the response phrase that is often used in the cache server, it is possible to provide a more natural sentence.

또한, 본 발명은 가변적인 문구(예컨대, 숫자, 지역명 등)를 캐쉬 서버에 저장하여 캐쉬의 히트율(hit rate)을 높여 전체 응답의 평균 시간을 더욱 낮출 수 있다. In addition, the present invention can further lower the average time of the overall response by storing variable phrases (eg, numbers, region names, etc.) in the cache server to increase the hit rate of the cache (hit rate).

또한, 본 발명은 캐쉬 서버에 없는 응답 문구에 대해서만 음성 합성 서버에서 응답 문구를 생성하기 때문에 음성 합성 서버의 부하를 줄일 수 있다.In addition, the present invention can reduce the load on the voice synthesis server because the voice synthesis server generates a response phrase only for the response phrase not in the cache server.

또한, 본 발명은 캐쉬 서버(일반 서버에 해당)의 대수를 높이고, 음성 합성 서버(고사양 서버에 해당되기 때문에 일반 서버에 비해 가격이 비쌈)의 대수를 낮춤으로써 저비용의 음성 합성 서비스를 제공할 수 있다. In addition, the present invention can provide a low-cost voice synthesis service by increasing the number of cache servers (corresponding to general servers) and lowering the number of voice synthesis servers (which are expensive compared to general servers because they correspond to high-spec servers). have.

도 1은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 캐쉬 서버의 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 음성 합성 요청 메시지에 포함된 내용을 설명하기 위한 도면이다.
도 4a 내지 4d는 본 발명의 일 실시예에 따른, 음성 합성 요청 메시지에 포함된 내용에 기초하여 음성 합성 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른, 캐쉬 서버에서 음성 합성 서비스를 제공하는 방법을 나타낸 흐름도이다.
도 6은 본 발명의 일 실시예에 따른, 도 1에 도시된 사용자 단말의 블록도이다.
1 is a block diagram of a system for providing a voice synthesis service according to an embodiment of the present invention.
Figure 2 is a block diagram of the cache server shown in Figure 1, according to an embodiment of the present invention.
3 is a diagram for explaining contents included in a voice synthesis request message according to an embodiment of the present invention.
4A to 4D are diagrams for explaining a method of providing a voice synthesis service based on content included in a voice synthesis request message, according to an embodiment of the present invention.
5 is a flowchart illustrating a method of providing a voice synthesis service in a cache server, according to an embodiment of the present invention.
6 is a block diagram of the user terminal shown in FIG. 1 according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement them. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part is "connected" with another part, this includes not only the case of being "directly connected" but also the case of being "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, this means that other components may be further included, rather than excluding other components, unless otherwise stated.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. In this specification, a "part" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. In addition, one unit may be implemented using two or more hardware, and two or more units may be implemented by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다. Some of the operations or functions described as being performed by the terminal or device in the present specification may be instead performed by a server connected to the terminal or device. Similarly, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the server.

이하, 첨부된 구성도 또는 처리 흐름도를 참고하여, 본 발명의 실시를 위한 구체적인 내용을 설명하도록 한다. Hereinafter, detailed contents for carrying out the present invention will be described with reference to the accompanying configuration diagram or process flow diagram.

도 1은 본 발명의 일 실시예에 따른, 음성 합성 서비스 제공 시스템의 구성도이다. 1 is a block diagram of a system for providing a voice synthesis service according to an embodiment of the present invention.

도 1을 참조하면, 음성 합성 서비스 제공 시스템은 적어도 하나의 캐쉬 서버(100), 음성 인식 서버(110), 사용자 단말(120) 및 적어도 하나의 음성 합성 서버(130)를 포함할 수 있다. 여기서, 적어도 하나의 캐쉬 서버(100), 음성 인식 서버(110) 및 적어도 하나의 음성 합성 서버(130) 각각은 관제 서버(미도시)에 연동될 수 있다. 다만, 이러한 도 1의 음성 합성 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다. Referring to FIG. 1 , the voice synthesis service providing system may include at least one cache server 100 , a voice recognition server 110 , a user terminal 120 , and at least one voice synthesis server 130 . Here, each of the at least one cache server 100, the voice recognition server 110 and the at least one voice synthesis server 130 may be linked to a control server (not shown). However, since the voice synthesis service providing system of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1 , and may be configured differently from FIG. 1 according to various embodiments of the present invention. have.

일반적으로, 도 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) 등이 포함되나 이에 한정되지는 않는다. In general, each component of the voice synthesis service providing system of FIG. 1 is connected through a network (not shown). A network refers to a connection structure that enables information exchange between each node, such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet (WWW: World). Wide Web), wired and wireless data communication networks, telephone networks, wired and wireless television networks, and the like. Examples of wireless data communication networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, ultrasound Communication, Visible Light Communication (VLC), LiFi, etc. are included, but are not limited thereto.

음성 인식 서버(110)는 사용자로부터 입력받은 음성 메시지를 사용자 단말(120)로부터 수신할 수 있다. 또한, 음성 인식 서버(110)는 수신된 음성 메 시지의 문맥을 파악할 수 있다. The voice recognition server 110 may receive a voice message input from the user from the user terminal 120 . In addition, the voice recognition server 110 may grasp the context of the received voice message.

음성 인식 서버(110)는 음성 메시지에 기초하여 음성 메시지의 응답 처리를 위한 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)에게 전송할 수 있다. 여기서, 음성 합성 요청 메시지는 예를 들면, 요청 문구, 요청 파일명 및 요청 데이터 인덱스 중 적어도 하나를 포함할 수 있다. The voice recognition server 110 may generate a voice synthesis request message for response processing of a voice message based on the voice message, and transmit the generated voice synthesis request message to the cache server 100 . Here, the voice synthesis request message may include, for example, at least one of a request phrase, a request file name, and a request data index.

음성 인식 서버(110)는 사용자 단말(120)의 스펙 정보에 기초하여 음성 합성 요청 메시지에 포함될 합성 옵션 정보를 설정할 수 있다. 여기서, 합성 옵션 정보는 예를 들면, 출력될 응답 음성에 대한 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함할 수 있다. The voice recognition server 110 may set synthesis option information to be included in the voice synthesis request message based on the specification information of the user terminal 120 . Here, the synthesis option information may include, for example, voice speed information for a response voice to be output, voice height information, and sound volume information.

캐쉬 서버(100)는 음성 인식 서버(110)로부터 수신된 음성 합성 요청 메시지에 포함된 요청 문구를 분석하고, 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색할 수 있다. The cache server 100 may analyze the request phrase included in the voice synthesis request message received from the voice recognition server 110, and search the cache database for a response phrase corresponding to the analyzed request phrase.

캐쉬 서버(100)는 사용자 단말(120) 또는 음성 인식 서버(110)로부터 수신된 음성 합성 요청 메시지에 포함된 요청 파일명 및 요청 데이터 인덱스에 더 기초하여 캐쉬 데이터베이스에서 응답 문구를 검색할 수 있다. The cache server 100 may search for a response phrase in the cache database further based on the request file name and the request data index included in the voice synthesis request message received from the user terminal 120 or the voice recognition server 110 .

캐쉬 서버(100)는 검색된 응답 문구를 사용자 단말(120)로 전송할 수 있다. The cache server 100 may transmit the searched response phrase to the user terminal 120 .

캐쉬 서버(100)는 음성 합성 요청 메시지에 포함된 요청 문구에 적어도 하나의 가변 문구(예컨대, 숫자, 지역명 등)가 포함된 경우, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에서 검색할 수 있다. 캐쉬 서버(100)는 가변 문구에 해당하는 응답 문구와 요청 문구에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 사용자 단말(120)에게 전송할 수 있다.When the cache server 100 includes at least one variable phrase (eg, number, region name, etc.) in the request phrase included in the voice synthesis request message, the response phrase corresponding to the variable phrase can be searched in the cache database. . The cache server 100 may transmit to the user terminal 120 by combining the response phrase corresponding to the variable phrase and the response phrase corresponding to the general phrase included in the request phrase.

캐쉬 서버(100)는 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. The cache server 100 may transmit the searched response phrase to the user terminal 120 based on whether the synthesis option information of the searched response phrase is the same as the synthesis option information set in the voice synthesis request message.

음성 합성 서버(130)는 캐쉬 데이터베이스에 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구가 존재하지 않는 경우, 캐쉬 서버(100)의 요청에 따라 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구를 생성하여 캐쉬 서버(100)에게 전달할 수 있다. When the voice synthesis server 130 does not have a response phrase corresponding to a response phrase or a variable phrase corresponding to the request phrase in the cache database, the response phrase or variable phrase corresponding to the request phrase according to the request of the cache server 100 It can be delivered to the cache server 100 by generating a response phrase corresponding to.

다른 실시 예로, 캐쉬 서버(100)는 음성 합성 서버(130)가 통합된 서버일 수 있고, 음성 합성 서버(130)에서 수행되는 동작은 캐쉬 서버(100)에서도 수행되도록 구현할 수 있다. 예를 들면, 캐쉬 서버(100)는 캐쉬 데이터베이스에 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구가 존재하지 않는 경우, 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구를 생성할 수 있다. In another embodiment, the cache server 100 may be a server in which the voice synthesis server 130 is integrated, and the operations performed in the voice synthesis server 130 may be implemented to be performed in the cache server 100 as well. For example, if the cache server 100 does not have a response phrase corresponding to the response phrase or variable phrase corresponding to the request phrase in the cache database, the response phrase corresponding to the response phrase or variable phrase corresponding to the request phrase can create

캐쉬 서버(100)는 음성 합성 서버(130)로부터 수신된 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에 저장할 수 있다. 또한, 캐쉬 서버(100)는 기설정된 캐쉬 관리 정책(일정 주기 또는 캐쉬 데이터베이스에 저장된 데이터의 개수 또는 캐쉬 데이터베이스의 저장 용량 등)에 기초하여 캐쉬 데이터베이스에 저장된 데이터 중 사용 빈도가 낮은 데이터를 삭제할 수 있다. The cache server 100 may store a response phrase corresponding to a response phrase or a variable phrase corresponding to the request phrase received from the voice synthesis server 130 in the cache database. In addition, the cache server 100 is based on a preset cache management policy (a certain period or the number of data stored in the cache database or storage capacity of the cache database, etc.) of the data stored in the cache database, low frequency of use data can be deleted. .

캐쉬 서버(100)는 음성 합성 서버(130)로부터 수신된 요청 문구에 대응하는 응답 문구 또는 가변 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 따라 수신된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. The cache server 100 determines whether the synthesis option information of the response phrase corresponding to the request phrase received from the speech synthesis server 130 or the response phrase corresponding to the variable phrase is the same as the synthesis option information set in the speech synthesis request message. The received response phrase may be transmitted to the user terminal 120 .

캐쉬 서버(100)는 주기적으로 관제 서버(미도시)로부터 캐쉬 데이터베이스에 저장된 데이터에 대한 통계 요청 메시지를 수신한 경우, 관제 서버(미도시)에게 캐쉬 데이터베이스에 저장된 데이터의 업데이트 상황 정보를 관제 서버(미도시)에게 보고할 수 있다. 다른 예로, 캐쉬 서버(100)는 기설정된 이벤트의 발생 또는 기설정된 주기에 기초하여 캐쉬 데이터베이스에 저장된 데이터의 업데이트 상황 정보를 관제 서버(미도시)에게 보고할 수 있다.When the cache server 100 periodically receives a statistical request message for data stored in the cache database from the control server (not shown), the control server (not shown) sends update status information of the data stored in the cache database to the control server ( not shown) can be reported. As another example, the cache server 100 may report the update status information of the data stored in the cache database based on the occurrence of a preset event or a preset period to the control server (not shown).

사용자 단말(120)은 사용자 단말(120)에 설치된 특정 어플리케이션을 통해 사용자로부터 입력된 음성 메시지에 기초하여 음성 메시지의 응답 처리를 위한 음성 합성 요청 메시지(해당 특정 어플리케이션에 의해 기지정된 요청 문구를 포함)를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)에게 전송할 수 있다. 이 때, 캐쉬 서버(100)는 사용자 단말(120)로부터 수신된 음성 합성 요청 메시지에 포함된 요청 문구에 대한 응답 문구(캐쉬 데이터베이스에서 검색된 wav 데이터)를 사용자 단말(120)로 전송할 수 있다.The user terminal 120 is a voice synthesis request message for response processing of a voice message based on a voice message input from the user through a specific application installed in the user terminal 120 (including a request phrase predetermined by the specific application) and may transmit the generated voice synthesis request message to the cache server 100 . At this time, the cache server 100 may transmit a response phrase (wav data retrieved from the cache database) to the user terminal 120 in response to the request phrase included in the voice synthesis request message received from the user terminal 120 .

다른 실시 예로, 사용자 단말(120)은 사용자 단말(120)에 설치된 메인 제어 어플리케이션(Main Controller App, 예컨대, 음성 인식 앱 등)을 통해 사용자의 음성 메시지를 입력받고, 메인 제어 어플리케이션을 통해 음성 인식 서버(110)로부터 음성 메시지에 대한 내용 파악 및 응답 문구를 수신할 수 있다. 이 때, 메인 제어 어플리케이션은 사용자 단말(120)에 설치된 TTS 앱으로 응답 문구를 전달하면, TTS 앱은 캐쉬 서버(100)에게 요청 문구에 대한 응답 문구를 요청하고, 캐쉬 서버(100)로부터 수신된 응답 문구를 사용자 단말(120)의 스피커(미도시)를 통해 출력할 수 있다. In another embodiment, the user terminal 120 receives the user's voice message through the main control application (Main Controller App, for example, voice recognition app, etc.) installed in the user terminal 120, the voice recognition server through the main control application It is possible to receive a content identification and response phrase for the voice message from (110). At this time, when the main control application delivers a response phrase to the TTS app installed in the user terminal 120, the TTS app requests a response phrase for the request phrase to the cache server 100, and received from the cache server 100 The response phrase may be output through a speaker (not shown) of the user terminal 120 .

다른 실시 예로, 사용자 단말(120)이 사용자로부터 입력된 음성 메시지(예컨대, 날씨 질문 메시지 등)를 중계 서버(미도시)로 전달하면, 중계 서버(미도시)는 음성 인식 서버(110)와의 연동을 통해 음성 인식 메시지의 응답 처리를 위한 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)에게 전송할 수 있다. 이후, 중계 서버(미도시)는 캐쉬 서버(100)로부터 음성 합성 요청 메시지에 기초하여 검색된 응답 문구를 수신하고, 수신된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. In another embodiment, when the user terminal 120 transmits a voice message (eg, a weather question message, etc.) input from the user to a relay server (not shown), the relay server (not shown) interworks with the voice recognition server 110 . It is possible to generate a voice synthesis request message for response processing of the voice recognition message through and transmit the generated voice synthesis request message to the cache server 100 . Thereafter, the relay server (not shown) may receive a response phrase searched based on the voice synthesis request message from the cache server 100 , and transmit the received response phrase to the user terminal 120 .

사용자 단말(120)은 캐쉬 서버(100)로부터 수신된 응답 문구를 스피커(미도시)를 통해 출력할 수 있다. 이러한, 사용자 단말(120)은 음성 인식이 가능한 셋톱박스(Set-top Box), 멀티미디어 스트리밍 어댑터, 인공지능 음성인식 디바이스, 스마트 가전, 노트북, 데스크탑 PC뿐만 아니라 유무선 통신이 가능한 모바일 단말을 포함할 수 있다. 모바일 단말은 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰(smartphone), 태블릿 PC, 웨어러블 디바이스뿐만 아니라, 블루투스(BLE, Bluetooth Low Energy), NFC, RFID, 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다. 다만, 사용자 단말(120)은 앞서 예시된 것들로 한정 해석되는 것은 아니다.The user terminal 120 may output the response phrase received from the cache server 100 through a speaker (not shown). The user terminal 120 may include a set-top box capable of voice recognition, a multimedia streaming adapter, an artificial intelligence voice recognition device, a smart home appliance, a notebook computer, a desktop PC, as well as a mobile terminal capable of wired and wireless communication. have. A mobile terminal is a wireless communication device that guarantees portability and mobility, and includes not only smartphones, tablet PCs, and wearable devices, but also Bluetooth (BLE, Bluetooth Low Energy), NFC, RFID, Ultrasonic, infrared, and Wi-Fi ( WiFi) and Li-Fi (LiFi) may include various devices equipped with a communication module. However, the user terminal 120 is not limited to those exemplified above.

이하에서는 도 1의 음성 합성 서비스 제공 시스템의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다. Hereinafter, the operation of each component of the voice synthesis service providing system of FIG. 1 will be described in more detail.

도 2는 본 발명의 일 실시예에 따른, 도 1에 도시된 캐쉬 서버(100)의 블록도이다. Figure 2 is a block diagram of the cache server 100 shown in Figure 1, according to an embodiment of the present invention.

도 2를 참조하면, 캐쉬 서버(100)는 수신부(200), 분석부(210), 옵션 확인부(220), 옵션 변경 처리부(230), 검색부(240) 전송부(250) 및 캐쉬 데이터베이스(260)를 포함할 수 있다. 다만, 도 2에 도시된 캐쉬 서버(100)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to Figure 2, the cache server 100 is the receiver 200, the analysis unit 210, the option check unit 220, the option change processing unit 230, the search unit 240, the transmission unit 250 and the cache database (260). However, the cache server 100 shown in FIG. 2 is only one implementation example of the present invention, and various modifications are possible based on the components shown in FIG.

이하에서는 도 2와 함께 도 3 내지 4d를 참조하여 설명하기로 한다. Hereinafter, it will be described with reference to FIGS. 3 to 4D together with FIG. 2 .

수신부(200)는 음성 인식 서버(100)로부터 음성 합성 요청 메시지를 수신할 수 있다. 여기서, 음성 합성 요청 메시지는 사용자로부터 입력받은 음성 메시지에 기초하여 생성된 메시지일 수 있다. 도 3을 참조하면, 음성 합성 요청 메시지(30)는 캐쉬 서버(100)에서 음성 메시지의 응답 처리를 위한 응답 문구를 검색하기 위한 메시지로서, 음성 합성 요청 메시지(30)에는 검색될 응답 문구에 대응하는 요청 문구(301), 요청 파일명(303) 및 요청 데이터 인덱스(305) 중 적어도 하나가 포함될 수 있다. 또한, 음성 합성 요청 메시지(30)에는 음성 메시지를 전송한 사용자 단말(120)에 대한 식별 정보 및 음성 합성 요청 메시지(30)를 전송한 음성 인식 서버(100)에 대한 식별 정보가 포함될 수 있다. 또한, 음성 합성 요청 메시지(30)에는 검색된 응답 문구에 대한 출력 음성에 옵션을 설정하기 위한 합성 옵션 정보(307)가 더 포함될 수 있다. 이 때, 합성 옵션 정보(307)는 출력 음성에 대한 언어 정보(예컨대, 한국어, 영어, 일어 등), 출력 음성에 대한 목소리 식별 정보, 음성 속도 정보, 소리 높이 정보 및 소리 볼륨 정보를 포함할 수 있다. The receiver 200 may receive a voice synthesis request message from the voice recognition server 100 . Here, the voice synthesis request message may be a message generated based on a voice message input from the user. Referring to FIG. 3 , the voice synthesis request message 30 is a message for retrieving a response phrase for response processing of a voice message in the cache server 100 , and the voice synthesis request message 30 corresponds to the response phrase to be searched. At least one of a request phrase 301 , a request file name 303 , and a request data index 305 may be included. Also, the voice synthesis request message 30 may include identification information about the user terminal 120 that has transmitted the voice message and identification information about the voice recognition server 100 that has transmitted the voice synthesis request message 30 . In addition, the voice synthesis request message 30 may further include synthesis option information 307 for setting an option to the output voice for the searched response phrase. In this case, the synthesis option information 307 may include language information (eg, Korean, English, Japanese, etc.) for the output voice, voice identification information for the output voice, voice speed information, sound height information, and sound volume information. have.

분석부(210)는 수신된 음성 합성 요청 메시지를 분석하고, 음성 합성 요청 메시지에 포함된 정보를 추출할 수 있다. The analyzer 210 may analyze the received voice synthesis request message and extract information included in the voice synthesis request message.

구체적으로, 분석부(210)는 음성 합성 요청 메시지에 요청 문구가 포함된 경우, 요청 문구를 분석할 수 있다. 예를 들면, 요청 문구가 복수의 문장으로 구성되어 있는 경우, 분석부(210)는 요청 문구를 단일 문장으로 분리할 수 있다. 예를 들면, 분석부(210)는 요청 문구에 가변 문구(예컨대, 숫자, 지역명 등)가 포함되어 있는지를 분석할 수 있다. Specifically, when the request phrase is included in the voice synthesis request message, the analysis unit 210 may analyze the request phrase. For example, when the request phrase consists of a plurality of sentences, the analysis unit 210 may separate the request phrase into a single sentence. For example, the analysis unit 210 may analyze whether a variable phrase (eg, a number, a region name, etc.) is included in the request phrase.

분석부(210)는 음성 합성 요청 메시지에 요청 문구가 포함된 경우, 캐쉬 데이터베이스(260)에서 해당 요청 문구에 대응하는 검색될 응답 문구의 저장 위치를 파악할 수 있다. 예를 들면, 분석부(210)는 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중에서 해당 요청 문구에 대응하는 응답 문구의 검색 장소를 응답 문구 저장소(미도시)로 결정할 수 있다. When the request phrase is included in the voice synthesis request message, the analysis unit 210 may determine a storage location of the response phrase to be searched corresponding to the request phrase in the cache database 260 . For example, the analysis unit 210 may determine the search place of the response phrase corresponding to the request phrase among a plurality of storage constituting the cache database 260 as a response phrase storage (not shown).

분석부(210)는 음성 합성 요청 메시지에 요청 파일명 및 요청 데이터 인덱스가 포함된 경우, 요청 파일명 및 요청 데이터 인덱스에 기초하여 캐쉬 데이터베이스(260)에서 검색될 응답 문구의 저장 위치를 파악할 수 있다. When the voice synthesis request message includes the request file name and the requested data index, the analysis unit 210 may determine the storage location of the response phrase to be retrieved from the cache database 260 based on the request file name and the requested data index.

예를 들면, 분석부(210)는 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중에서 요청 파일명 및 요청 데이터 인덱스에 기초하여 검색될 응답 문구의 검색 장소를 음성 파일 저장소(미도시)로 결정할 수 있다. For example, the analysis unit 210 may determine a search place of a response phrase to be searched based on a request file name and a request data index among a plurality of storage constituting the cache database 260 as a voice file storage (not shown). .

분석부(210)는 음성 합성 요청 메시지에 요청 문구, 요청 파일명 및 요청 데이터 인덱스가 모두 포함된 경우, 기설정된 우선 순위에 기초하여 요청 문구, 요청 파일명 및 요청 데이터 인덱스 중 응답 문구의 검색에 이용될 정보를 선택할 수 있다. 예를 들면, 분석부(210)는 요청 문구를 이용한 검색 조건이 우선 순위로 기설정되어 있는 경우, 해당 요청 문구에 대응하는 응답 문구의 검색 장소를 응답 문구 저장소(미도시)로 결정할 수 있고, 요청 파일명 및 요청 데이터 인덱스를 이용한 검색 조건이 우선 순위로 기설정되어 있는 경우, 요청 파일명 및 요청 데이터 인덱스에 기초하여 검색될 응답 문구의 검색 장소를 음성 파일 저장소(미도시)로 결정할 수 있다. When the voice synthesis request message includes all of the request phrase, the request file name, and the requested data index, the analysis unit 210 may be used to search for a response phrase among the request phrase, the request file name, and the request data index based on a preset priority. information can be selected. For example, when the search condition using the request phrase is preset as a priority, the analysis unit 210 may determine a search place of a response phrase corresponding to the request phrase as a response phrase storage (not shown), When the search condition using the requested file name and the requested data index is preset as a priority, the search place of the response phrase to be searched based on the requested file name and the requested data index may be determined as a voice file storage (not shown).

옵션 확인부(220)는 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인할 수 있다. 구체적으로, 옵션 확인부(220)는 합성 옵션 정보에 포함된 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보 중 음성 합성 요청 메시지에 설정된 합성 옵션 정보가 어떤 것이 있는지를 검출할 수 있다. The option check unit 220 may check whether synthesis option information for voice synthesis is set in the voice synthesis request message. Specifically, the option check unit 220 may detect which of the synthesis option information set in the voice synthesis request message is among the voice speed information, the voice pitch information, and the sound volume information included in the synthesis option information.

제 1 실시예로, 도 4a를 참조하면, 검색부(240)는 음성 합성 요청 메시지(40)에 요청 문구(400, 예컨대, '오늘 서초구 날씨입니다.')가 포함되고, 요청 파일명(402) 및 요청 데이터 인덱스(404)가 포함되지 않은 경우, 요청 문구(400)에 대응하는 응답 문구를 캐쉬 데이터베이스(260)에서 검색할 수 있다. 예를 들면, 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중에서 분석부(210)에 의해 결정된 응답 문구 저장소(미도시)에서 요청 문구(400)에 대응하는 응답 문구를 검색할 수 있다. As a first embodiment, referring to FIG. 4A , the search unit 240 includes a request phrase 400 (eg, 'Today is the weather in Seocho-gu.') in the voice synthesis request message 40 , and a request file name 402 . And when the request data index 404 is not included, a response phrase corresponding to the request phrase 400 may be searched in the cache database 260 . For example, it is possible to search for a response phrase corresponding to the request phrase 400 in the response phrase storage (not shown) determined by the analysis unit 210 among a plurality of storage constituting the cache database 260 .

캐쉬 데이터베이스(260)에서 요청 문구(400)에 대응하는 응답 문구가 검색된 경우, 옵션 확인부(220)는 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다. When a response phrase corresponding to the request phrase 400 is searched for in the cache database 260, the option check unit 220 sets the synthesis option information of the searched response phrase in the voice synthesis request message 40 to the synthesis option information 406 You can check whether it is the same as

전송부(250)는 검색된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. When the synthesis option information of the response phrase corresponding to the searched request phrase 400 is the same as the synthesis option information 406 set in the voice synthesis request message 40, the transmitter 250 transmits the searched response phrase to the user terminal 120 . can be sent to

만일, 요청 문구(400)에 대응하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하지 않는 경우, 전송부(250)는 음성 합성 서버(130)에게 요청 문구(400)를 포함하는 음성 합성 요청 메시지를 전송할 수 있다. 이 때, 음성 합성 서버(130)는 음성 합성 요청 메시지에 포함된 요청 문구(400)에 기초하여 해당 요청 문구(400)에 대응하는 응답 문구를 생성할 수 있다. If the response phrase corresponding to the request phrase 400 does not exist in the cache database 260 , the transmission unit 250 sends a speech synthesis request message including the request phrase 400 to the speech synthesis server 130 . can be transmitted In this case, the speech synthesis server 130 may generate a response phrase corresponding to the request phrase 400 based on the request phrase 400 included in the speech synthesis request message.

수신부(200)는 음성 합성 서버(130)로부터 요청 문구(400)에 기초하여 생성된 응답 문구를 수신할 수 있다. The receiver 200 may receive a response phrase generated based on the request phrase 400 from the voice synthesis server 130 .

이 때, 옵션 확인부(220)는 수신된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다. In this case, the option check unit 220 may check whether synthesis option information of the response phrase corresponding to the received request phrase 400 is the same as the synthesis option information 406 set in the voice synthesis request message 40 .

전송부(250)는 수신된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 수신된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. When the synthesis option information of the response phrase corresponding to the received request phrase 400 is the same as the synthesis option information 406 set in the voice synthesis request message 40, the transmitter 250 transmits the received response phrase to the user terminal ( 120) can be transmitted.

제 2 실시예로, 도 4b를 참조하면, 옵션 변경 처리부(230)는 캐쉬 데이터베이스(260)에서 검색된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 검색된 응답 문구의 합성 옵션 정보를 변경할 수 있다. 예를 들면, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)의 합성 옵션 정보(406)에서 음성 속도 정보(408) 및 소리 볼륨 정보(410)가 설정되어 있는 경우, 캐쉬 데이터베이스(260)에서 검색된 요청 문구(400)에 대응하는 응답 문구의 합성 옵션 정보 중 음성 속도 정보 및 소리 볼륨 정보를 음성 합성 요청 메시지(40)의 음성 속도 정보(408) 및 소리 볼륨 정보(410)에 기초하여 변경할 수 있다. As a second embodiment, referring to FIG. 4b , the option change processing unit 230 sets the synthesis option information of the response phrase corresponding to the request phrase 400 retrieved from the cache database 260 in the voice synthesis request message 40 . If it is different from the synthesis option information 406 , the synthesis option information of the searched response phrase may be changed based on the synthesis option information 406 included in the voice synthesis request message 40 . For example, when the option change processing unit 230 sets the voice speed information 408 and the sound volume information 410 in the synthesis option information 406 of the voice synthesis request message 40, the cache database 260 To change the voice speed information and sound volume information among the synthesis option information of the response phrase corresponding to the request phrase 400 found in the , based on the voice speed information 408 and the sound volume information 410 of the voice synthesis request message 40 can

만일, 요청 문구(400)에 대응하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하지 않아 음성 합성 서버(130)로부터 응답 문구를 수신하고, 수신된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 수신된 응답 문구의 합성 옵션 정보를 변경할 수 있다.If the response phrase corresponding to the request phrase 400 does not exist in the cache database 260, the response phrase is received from the voice synthesis server 130, and the synthesis option information of the received response phrase is the voice synthesis request message 40 ), the option change processing unit 230 may change the synthesis option information of the received response phrase based on the synthesis option information 406 included in the voice synthesis request message 40 if it is different from the synthesis option information 406 set in ). have.

전송부(250)는 합성 옵션 정보가 변경 처리된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.The transmitter 250 may transmit a response phrase in which the synthesis option information is changed to the user terminal 120 .

제 3 실시예로, 도 4c를 참조하면, 검색부(240)는 음성 합성 요청 메시지(40)에 요청 문구(400)가 포함되지 않고, 검색될 응답 문구에 대한 정보인 요청 파일명(402) 및 요청 데이터 인덱스(404)가 포함된 경우, 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 캐쉬 데이터베이스(260)에서 응답 문구를 검색할 수 있다. 예를 들면, 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중 분석부(210)에 의해 결정된 음성 파일 저장소(미도시)에서 요청 파일명(402) 및 요청 데이터 인덱스(404)를 갖는 응답 문구를 검색할 수 있다. As a third embodiment, referring to FIG. 4C , the search unit 240 does not include the request phrase 400 in the voice synthesis request message 40 , but includes a request file name 402 that is information about a response phrase to be searched, and When the request data index 404 is included, it is possible to search for a response phrase in the cache database 260 based on the request file name 402 and the request data index 404. For example, a response phrase having a request file name 402 and a request data index 404 is retrieved from the voice file storage (not shown) determined by the analysis unit 210 among a plurality of storages constituting the cache database 260 . can do.

캐쉬 데이터베이스(260)에서 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 응답 문구가 검색된 경우, 옵션 확인부(220)는 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다. When a response phrase is searched for based on the request file name 402 and the request data index 404 in the cache database 260, the option check unit 220 includes the synthesized option information of the searched response phrase in the voice synthesis request message 40. It may be checked whether the set composition option information 406 is the same.

전송부(250)는 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. When the synthesis option information of the searched response phrase based on the request file name 402 and the request data index 404 is the same as the synthesis option information 406 set in the voice synthesis request message 40, the transmission unit 250 may respond to the searched response. The phrase may be transmitted to the user terminal 120 .

만일, 요청 파일명(402) 및 요청 데이터 인덱스(404)에 기초하여 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 응답 문구의 합성 옵션 정보를 변경할 수 있다. If, on the basis of the request file name 402 and the request data index 404, the synthesis option information of the searched response phrase is different from the synthesis option information 406 set in the voice synthesis request message 40, the option change processing unit 230 may change the synthesis option information of the response phrase based on the synthesis option information 406 included in the voice synthesis request message 40 .

전송부(250)는 합성 옵션 정보가 변경 처리된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.The transmitter 250 may transmit a response phrase in which the synthesis option information is changed to the user terminal 120 .

제 4 실시예로, 도 4d를 참조하면, 검색부(240)는 음성 합성 요청 메시지(40)에 포함된 요청 문구(400)가 가변 문구를 포함하는 경우, 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 캐쉬 데이터베이스(260)에서 검색하고, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스(260)에서 더 검색할 수 있다. 예를 들면, 요청 문구(400)가 '오늘의 최고 온도는 [[20]]도 이며, 최저 온도는 [[10]]도 입니다.'를 포함하는 문구인 경우, [[20]]와 [[10]]은 가변 문구에 해당될 수 있다. As a fourth embodiment, referring to FIG. 4D , when the request phrase 400 included in the voice synthesis request message 40 includes a variable phrase, the search unit 240 determines the general included in the request phrase 400 . Search for a response phrase corresponding to the phrase in the cache database 260, it is possible to further search for a response phrase corresponding to the variable phrase in the cache database (260). For example, if the request phrase 400 is a phrase containing 'Today's highest temperature is [[20]] degrees and the lowest temperature is [[10]] degrees, [[20]] and [ [10]] may correspond to variable phrases.

예를 들면, 검색부(240)는 캐쉬 데이터베이스(260)를 구성하는 복수의 저장소 중 응답 문구 저장소(미도시)에서 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 검색하고, 가변 문구 저장소(미도시)에서 가변 문구에 해당하는 응답 문구를 검색할 수 있다. For example, the search unit 240 searches the response phrase corresponding to the general phrase included in the request phrase 400 in the response phrase storage (not shown) among a plurality of storage constituting the cache database 260, and variable A response phrase corresponding to the variable phrase may be searched for in the phrase storage (not shown).

전송부(250)는 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하는 경우, 가변 문구에 해당하는 응답 문구와 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 사용자 단말(120)에게 전송할 수 있다. When the response phrase corresponding to the variable phrase exists in the cache database 260, the transmission unit 250 combines the response phrase corresponding to the general phrase included in the response phrase and the request phrase 400 corresponding to the variable phrase, It can be transmitted to the user terminal 120 .

전송부(250)는 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하고, 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스(260)에 존재하지 않는 경우, 음성 합성 서버(130)에게 가변 문구를 포함하는 가변 문구 요청 메시지를 전송할 수 있다. 이 때, 음성 합성 서버(130)는 가변 문구 요청 메시지에 포함된 가변 문구에 기초하여 가변구 음성 데이터를 생성할 수 있다.When the response phrase corresponding to the general phrase included in the request phrase 400 exists in the cache database 260 and the response phrase corresponding to the variable phrase does not exist in the cache database 260, the transmission unit 250 A variable phrase request message including a variable phrase may be transmitted to the voice synthesis server 130 . In this case, the speech synthesis server 130 may generate variable phrase voice data based on the variable phrase included in the variable phrase request message.

수신부(200)는 음성 합성 서버(130)로부터 가변 문구에 기초하여 생성된 가변구 음성 데이터를 수신할 수 있다. 이 때, 수신된 가변구 음성 데이터는 캐쉬 데이터베이스(260)의 가변 문구 저장소(미도시)에 저장될 수 있다. The receiver 200 may receive variable phrase voice data generated based on the variable phrase from the voice synthesis server 130 . At this time, the received variable phrase voice data may be stored in a variable phrase storage (not shown) of the cache database 260 .

옵션 확인부(220)는 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한지를 확인할 수 있다. The option check unit 220 includes the synthesis option information 406 set in the voice synthesis request message 40 and the synthesis option information of the response phrase corresponding to the general phrase included in the request phrase 400 to which the variable phrase voice data is combined. You can check if they are the same.

전송부(250)는 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 동일한 경우, 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구를 사용자 단말(120)에게 전송할 수 있다. The transmitter 250 sets the synthesis option information of the response phrase corresponding to the general phrase included in the request phrase 400 to which the variable phrase voice data is combined is the same as the synthesis option information 406 set in the voice synthesis request message 40 . In this case, a response phrase corresponding to a general phrase included in the request phrase 400 to which the variable phrase voice data is combined may be transmitted to the user terminal 120 .

옵션 변경 처리부(230)는 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지(40)에 설정된 합성 옵션 정보(406)와 상이한 경우, 음성 합성 요청 메시지(40)에 포함된 합성 옵션 정보(406)에 기초하여 응답 문구의 합성 옵션 정보를 변경할 수 있다. The option change processing unit 230 includes the synthesis option information 406 set in the voice synthesis request message 40 and the synthesis option information of the response phrase corresponding to the general phrase included in the request phrase 400 to which the variable phrase voice data is combined. In a different case, the synthesis option information of the response phrase may be changed based on the synthesis option information 406 included in the voice synthesis request message 40 .

예를 들면, 옵션 변경 처리부(230)는 음성 합성 요청 메시지(40)의 합성 옵션 정보(406)에서 음성 속도 정보(408) 및 소리 볼륨 정보(410)가 설정되어 있는 경우, 가변구 음성 데이터가 결합된 요청 문구(400)에 포함된 일반 문구에 해당하는 응답 문구의 합성 옵션 정보 중 음성 속도 정보 및 소리 볼륨 정보를 음성 합성 요청 메시지(40)의 음성 속도 정보(408) 및 소리 볼륨 정보(410)에 기초하여 변경할 수 있다. For example, when the voice speed information 408 and the sound volume information 410 are set in the synthesis option information 406 of the voice synthesis request message 40, the option change processing unit 230 may change the variable phrase voice data. Voice speed information and sound volume information among the synthesis option information of the response phrase corresponding to the general phrase included in the combined request phrase 400, the voice speed information 408 and the sound volume information 410 of the voice synthesis request message 40 ) can be changed based on

전송부(250)는 합성 옵션 정보가 변경된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. The transmitter 250 may transmit a response phrase in which the composition option information is changed to the user terminal 120 .

한편, 당업자라면, 수신부(200), 분석부(210), 옵션 확인부(220), 옵션 변경 처리부(230), 검색부(240) 및 전송부(250) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Meanwhile, for those skilled in the art, each of the receiving unit 200 , the analyzing unit 210 , the option checking unit 220 , the option change processing unit 230 , the search unit 240 , and the transmitting unit 250 may be implemented separately, or among them It will be fully understood that one or more may be integrated and implemented.

도 5는 본 발명의 일 실시예에 따른, 캐쉬 서버(100)에서 음성 합성 서비스를 제공하는 방법을 나타낸 흐름도이다. 5 is a flowchart illustrating a method of providing a voice synthesis service in the cache server 100, according to an embodiment of the present invention.

도 5를 참조하면, 단계 S501에서 캐쉬 서버(100)는 사용자 단말(120) 또는 음성 인식 서버(110)로부터 음성 합성 요청 메시지를 수신할 수 있다. Referring to FIG. 5 , in step S501 , the cache server 100 may receive a voice synthesis request message from the user terminal 120 or the voice recognition server 110 .

단계 S503에서 캐쉬 서버(100)는 음성 합성 요청 메시지에 포함된 요청 문구를 분석할 수 있다. In step S503, the cache server 100 may analyze the request phrase included in the voice synthesis request message.

단계 S505에서 캐쉬 서버(100)는 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색할 수 있다. In step S505, the cache server 100 may search the cache database for a response phrase corresponding to the analyzed request phrase.

단계 S507에서 캐쉬 서버(100)는 검색된 응답 문구를 사용자 단말(120)에게 전송할 수 있다. In step S507, the cache server 100 may transmit the searched response phrase to the user terminal 120.

도 5에는 도시되지 않았으나, 단계 S503에서 캐쉬 서버(100)는 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인할 수 있다. 여기서, 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함할 수 있다. Although not shown in FIG. 5, in step S503, the cache server 100 may check whether synthesis option information for voice synthesis is set in the voice synthesis request message. Here, the synthesis option information may include voice speed information, voice pitch information, and sound volume information.

도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 요청 문구가 가변 문구를 포함하는 경우, 가변 문구에 해당하는 응답 문구를 캐쉬 데이터베이스에서 더 검색할 수 있다. Although not shown in Figure 5, in step S505, the cache server 100 may further search for a response phrase corresponding to the variable phrase in the cache database when the request phrase includes a variable phrase.

도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 음성 합성 요청 메시지에 요청 파일명 및 요청 데이터 인덱스가 더 포함된 경우, 요청 파일명 및 요청 데이터 인덱스에 기초하여 캐쉬 데이터베이스에서 응답 문구를 검색할 수 있다. Although not shown in FIG. 5, in step S505, the cache server 100 further includes a request file name and a request data index in the voice synthesis request message, based on the request file name and the request data index to search for a response phrase in the cache database. can

도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 캐쉬 데이터베이스에서 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 상이한 경우, 캐쉬 서버(100)는 음성 합성 요청 메시지에 포함된 합성 옵션 정보에 기초하여 응답 문구의 합성 옵션 정보를 변경하고, 합성 옵션 정보가 변경 처리된 응답 문구를 사용자 단말(120)에게 전송할 수 있다.Although not shown in Figure 5, when the cache server 100 in step S505 is different from the synthesis option information set in the voice synthesis request message synthesis option information of the response phrase retrieved from the cache database, the cache server 100 is a voice synthesis request message It is possible to change the synthesis option information of the response phrase based on the synthesis option information included in the , and transmit the response phrase in which the synthesis option information is changed to the user terminal 120 .

도 5에는 도시되지 않았으나, 단계 S505에서 캐쉬 서버(100)는 분석된 요청 문구에 대응하는 응답 문구가 캐쉬 데이터베이스에서 검색되지 않는 경우, 음성 합성 서버(130)에게 요청 문구를 포함하는 음성 합성 요청 메시지를 전송하고, 음성 합성 서버(130)로부터 생성된 요청 문구에 대응하는 응답 문구를 수신하여 사용자 단말(120)에게 전송할 수 있다.Although not shown in Figure 5, when the cache server 100 in step S505 does not find a response phrase corresponding to the analyzed request phrase in the cache database, the voice synthesis request message including the request phrase to the speech synthesis server 130 , and may receive a response phrase corresponding to the request phrase generated from the voice synthesis server 130 and transmit it to the user terminal 120 .

상술한 설명에서, 단계 S501 내지 S507은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. In the above description, steps S501 to S507 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be changed.

도 6은 본 발명의 일 실시예에 따른, 도 1에 도시된 사용자 단말(120)의 블록도이다.6 is a block diagram of the user terminal 120 shown in FIG. 1 according to an embodiment of the present invention.

도 6을 참조하면, 사용자 단말(120)은 전송부(600), 수신부(610) 및 출력부(620)를 포함할 수 있다. 다만, 도 6에 도시된 사용자 단말(120)은 본 발명의 하나의 구현 예에 불과하며, 도 6에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. Referring to FIG. 6 , the user terminal 120 may include a transmitter 600 , a receiver 610 , and an output unit 620 . However, the user terminal 120 shown in FIG. 6 is only one implementation example of the present invention, and various modifications are possible based on the components shown in FIG. 6 .

전송부(600)는 사용자로부터 입력받은 음성 메시지를 음성 인식 서버(110)에게 전송할 수 있다. 여기서, 음성 인식 서버(110)는 사용자로부터 입력받은 음성 메시지에 기초하여 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)로 전송할 수 있다. 구체적으로, 음성 인식 서버(110)는 캐쉬 서버(100)에서 음성 메시지의 응답 처리를 위한 응답 문구를 검색하기 위해 필요한 요청 문구, 요청 파일명 및 요청 데이터 인덱스 중 적어도 하나를 포함하는 음성 합성 요청 메시지를 생성하고, 생성된 음성 합성 요청 메시지를 캐쉬 서버(100)로 전송할 수 있다. 또한, 음성 인식 서버(110)는 사용자 단말(120)의 스펙 정보에 기초하여 음성 합성 요청 메시지에 포함될 합성 옵션 정보를 설정할 수 있다. 예를 들면, 음성 인식 서버(110)는 사용자의 단말(120)의 스펙 정보에 기초하여 출력될 응답 음성에 대한 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 변경할 수 있다. The transmitter 600 may transmit a voice message input from the user to the voice recognition server 110 . Here, the voice recognition server 110 may generate a voice synthesis request message based on the voice message received from the user, and transmit the generated voice synthesis request message to the cache server 100 . Specifically, the voice recognition server 110 is a voice synthesis request message including at least one of a request phrase, a request file name, and a request data index required to search for a response phrase for response processing of a voice message in the cache server 100 It can be generated, and transmit the generated voice synthesis request message to the cache server (100). Also, the voice recognition server 110 may set synthesis option information to be included in the voice synthesis request message based on the specification information of the user terminal 120 . For example, the voice recognition server 110 may change voice speed information, sound pitch information, and sound volume information for a response voice to be output based on the specification information of the user's terminal 120 .

다른 실시 예로, 전송부(600)는 사용자로부터 입력된 음성 메시지에 기초하여 사용자 단말(120)의 메인 제어 어플리케이션에 의해 생성된 음성 메시지의 응답 처리를 위한 음성 합성 요청 메시지를 음성 인식 서버(110)로 전송할 수 있다. 여기서, 음성 합성 요청 메시지에는 요청 문구, 요청 파일명 및 요청 데이터 인덱스 등이 포함될 수 있다.In another embodiment, the transmitter 600 transmits a voice synthesis request message for response processing of a voice message generated by the main control application of the user terminal 120 based on a voice message input from the user to the voice recognition server 110 . can be sent to Here, the voice synthesis request message may include a request phrase, a request file name, and a request data index.

수신부(610)는 캐쉬 서버(100)로부터 음성 메시지로부터 도출된 요청 문구에 대응하는 응답 문구를 수신할 수 있다. Receiving unit 610 may receive a response phrase corresponding to the request phrase derived from the voice message from the cache server (100).

구체적으로, 수신부(610)는 음성 합성 요청 메시지에 포함된 요청 문구에 기초하여 검색된 응답 문구를 캐쉬 서버(100)로부터 수신할 수 있다. 이 때, 응답 문구는 예를 들면, 요청 문구에 기초하여 캐쉬 데이터베이스의 응답 문구 저장소(미도시)에서 검색될 수 있다. 만일, 요청 문구에 대응하는 응답 문구가 캐쉬 데이터베이스에 존재하지 않는 경우, 요청 문구에 대응하는 응답 문구는 캐쉬 서버(100)의 요청에 의해 음성 합성 서버(130)에서 생성될 수 있다. Specifically, the receiving unit 610 may receive a response phrase searched on the basis of the request phrase included in the voice synthesis request message from the cache server (100). At this time, the response phrase may be retrieved from the response phrase storage (not shown) of the cache database, for example, based on the request phrase. If the response phrase corresponding to the request phrase does not exist in the cache database, the response phrase corresponding to the request phrase may be generated in the voice synthesis server 130 by the request of the cache server 100 .

음성 합성 요청 메시지에 포함된 요청 문구에 가변 문구가 포함된 경우, 캐쉬 서버(100)에 의해 캐쉬 데이터베이스의 가변 문구 저장소(미도시)에서 가변 문구에 해당하는 응답 문구가 더 검색될 수 있다. 만일, 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스에 존재하지 않는 경우, 가변 문구에 해당하는 응답 문구는 캐쉬 서버(100)의 요청에 의해 음성 합성 서버(130)에서 생성될 수 있다.When a variable phrase is included in the request phrase included in the voice synthesis request message, the response phrase corresponding to the variable phrase in the variable phrase storage (not shown) of the cache database by the cache server 100 may be further searched. If the response phrase corresponding to the variable phrase does not exist in the cache database, the response phrase corresponding to the variable phrase may be generated in the voice synthesis server 130 at the request of the cache server 100 .

수신부(610)는 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스에 존재하는 경우, 캐쉬 서버(100)로부터 가변 문구에 해당하는 응답 문구와 요청 문구에 포함된 일반 문구에 해당하는 응답 문구가 결합된 응답 문구를 수신할 수 있다. Receiving unit 610, when the response phrase corresponding to the variable phrase exists in the cache database, the response phrase corresponding to the response phrase corresponding to the variable phrase from the cache server 100 and the response phrase corresponding to the general phrase included in the request phrase is combined response text can be received.

수신부(610)는 가변 문구에 해당하는 응답 문구가 캐쉬 데이터베이스에 존재하지 않는 경우, 음성 합성 서버(130)에서 생성된 가변 문구에 해당하는 응답 문구와 요청 문구에 포함된 일반 문구에 해당하는 응답 문구가 결합된 응답 문구를 캐쉬 서버(100)로부터 수신할 수 있다. When the response phrase corresponding to the variable phrase does not exist in the cache database, the receiving unit 610 responds to the response phrase corresponding to the variable phrase generated by the voice synthesis server 130 and the response phrase corresponding to the general phrase included in the request phrase Can receive the combined response phrase from the cache server (100).

수신부(610)는 음성 합성 요청 메시지에 포함된 요청 파일명 및 요청 데이터 인덱스에 기초하여 검색된 응답 문구를 캐쉬 서버(100)로부터 수신할 수 있다. 이 때, 응답 문구는 예를 들면, 요청 파일명 및 요청 데이터 인덱스에 기초하여 캐쉬 데이터베이스의 음성 파일 저장소(미도시)에서 검색될 수 있다. The receiving unit 610 may receive a response phrase searched based on the request file name and the request data index included in the voice synthesis request message from the cache server 100 . At this time, the response phrase may be retrieved from the voice file storage (not shown) of the cache database, for example, based on the request file name and the request data index.

수신부(610)는 음성 합성 요청 메시지에 합성 옵션 정보가 설정된 경우, 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 따라 캐쉬 서버(100)로부터 응답 문구를 수신할 수 있다. 구체적으로, 캐쉬 서버(100)에 의해 검색된 응답 문구의 합성 옵션 정보가 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 상이한 경우, 음성 합성 요청 메시지에 포함된 합성 옵션 정보에 기초하여 응답 문구의 합성 옵션 정보가 변경될 수 있다. When the synthesis option information is set in the voice synthesis request message, the receiving unit 610 receives the response phrase from the cache server 100 according to whether the synthesis option information of the searched response phrase is the same as the synthesis option information set in the voice synthesis request message. can do. Specifically, when the synthesis option information of the response phrase retrieved by the cache server 100 is different from the synthesis option information set in the voice synthesis request message, the synthesis option information of the response phrase based on the synthesis option information included in the voice synthesis request message may be changed.

출력부(620)는 캐쉬 서버(100)로부터 수신된 응답 문구를 출력할 수 있다. The output unit 620 may output a response phrase received from the cache server (100).

한편, 당업자라면, 전송부(600), 수신부(610) 및 출력부(620) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Meanwhile, those skilled in the art will fully understand that each of the transmitter 600 , the receiver 610 , and the output unit 620 may be implemented separately, or one or more of these may be implemented integrally.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. Also, computer-readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The description of the present invention described above is for illustration, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and likewise components described as distributed may be implemented in a combined form.

본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다. The scope of the present invention is indicated by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .

100: 캐쉬 서버
110: 음성 인식 서버
120: 사용자 단말
130: 캐쉬 데이터베이스
140: 음성 합성 서버
200: 수신부
210: 분석부
220: 옵션 확인부
230: 옵션 변경 처리부
240: 검색부
250: 전송부
260: 캐쉬 데이터베이스
600: 전송부
610: 수신부
620: 출력부
100: cache server
110: voice recognition server
120: user terminal
130: cache database
140: speech synthesis server
200: receiver
210: analysis unit
220: option confirmation unit
230: option change processing unit
240: search unit
250: transmission unit
260: cache database
600: transmission unit
610: receiver
620: output unit

Claims (18)

음성 합성 서비스를 제공하는 캐쉬 서버에 있어서,
사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 수신부;
상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 분석부;
상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 검색부;
상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 전송부
를 포함하고,
상기 검색부는 상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색하되,
상기 전송부는 상기 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는 경우, 상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 상기 사용자 단말로 상기 검색된 응답 문구를 전송하는 것인, 캐쉬 서버.
In the cache server that provides a voice synthesis service,
a receiver for receiving a voice synthesis request message from a user terminal or a voice recognition server;
an analysis unit for analyzing a request phrase included in the voice synthesis request message;
a search unit for searching the cache database for a response phrase corresponding to the analyzed request phrase;
Transmitting unit for transmitting the searched response phrase to the user terminal
including,
When the search unit includes a variable phrase, the request phrase further searches for a response phrase corresponding to the variable phrase in the cache database,
When the synthesis option information for voice synthesis is set in the voice synthesis request message, the transmitter determines whether the synthesis option information of the searched response phrase is the same as the synthesis option information set in the voice synthesis request message. Which will transmit the searched response phrase to the terminal, the cache server.
제 1 항에 있어서,
상기 음성 합성 요청 메시지는 요청 파일명 및 요청 데이터 인덱스를 더 포함하고,
상기 검색부는 상기 요청 파일명 및 상기 요청 데이터 인덱스에 더 기초하여 상기 캐쉬 데이터베이스에서 상기 응답 문구를 검색하는 것인, 캐쉬 서버.
The method of claim 1,
The voice synthesis request message further includes a request file name and a request data index,
The search unit will search the response phrase in the cache database based on the request file name and the request data index further, cache server.
제 1 항에 있어서,
상기 음성 합성 요청 메시지에 상기 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인하는 옵션 확인부
를 더 포함하고,
상기 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함하는 캐쉬 서버.
The method of claim 1,
Option checking unit for checking whether synthesis option information for the voice synthesis is set in the voice synthesis request message
further comprising,
The synthesis option information cache server including voice speed information, voice pitch information and sound volume information.
삭제delete 제 1 항에 있어서,
상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 상기 합성 옵션 정보와 동일한 경우,
상기 전송부는 상기 검색된 상기 응답 문구를 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
The method of claim 1,
When the synthesis option information of the searched response phrase is the same as the synthesis option information set in the voice synthesis request message,
The transmission unit will transmit the searched response phrase to the user terminal, cache server.
제 1 항에 있어서,
상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 상기 합성 옵션 정보와 상이한 경우, 상기 음성 합성 요청 메시지에 포함된 상기 합성 옵션 정보에 기초하여 상기 검색된 응답 문구의 합성 옵션 정보를 변경하는 옵션 변경 처리부를 더 포함하고,
상기 전송부는 상기 합성 옵션 정보가 변경된 상기 응답 문구를 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
The method of claim 1,
When the synthesis option information of the searched response phrase is different from the synthesis option information set in the voice synthesis request message, changing the synthesis option information of the searched response phrase based on the synthesis option information included in the voice synthesis request message Further comprising an option change processing unit,
The transmission unit, the cache server that transmits the response phrase in which the composition option information is changed to the user terminal.
제 1 항에 있어서,
상기 전송부는 상기 음성 합성 요청 메시지에 대응하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하지 않는 경우, 음성 합성 서버로 상기 요청 문구를 포함하는 음성 합성 요청 메시지를 전송하고,
상기 수신부는 상기 음성 합성 서버로부터 상기 요청 문구에 기초하여 생성된 상기 응답 문구를 수신하고,
상기 전송부는 상기 수신된 응답 문구를 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
The method of claim 1,
When the response phrase corresponding to the speech synthesis request message does not exist in the cache database, the transmitter transmits a speech synthesis request message including the request phrase to the speech synthesis server,
The receiving unit receives the response phrase generated based on the request phrase from the speech synthesis server,
The transmission unit will transmit the received response phrase to the user terminal, cache server.
제 1 항에 있어서,
상기 가변 문구에 해당하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하는 경우,
상기 전송부는 상기 가변 문구에 해당하는 응답 문구와 상기 요청 문구에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
The method of claim 1,
If the response phrase corresponding to the variable phrase exists in the cache database,
The sending unit combines the response phrase corresponding to the variable phrase and the response phrase corresponding to the general phrase included in the request phrase and transmits to the user terminal, the cache server.
제 1 항에 있어서,
상기 전송부는 상기 가변 문구에 해당하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하지 않는 경우, 음성 합성 서버로 상기 가변 문구를 포함하는 가변 문구 요청 메시지를 전송하고,
상기 수신부는 상기 음성 합성 서버로부터 상기 가변 문구에 기초하여 생성된 가변구 음성 데이터를 수신하고,
상기 전송부는 상기 가변구 음성 데이터와 상기 요청 문구에 포함된 일반 문구에 해당하는 응답 문구를 결합하여 상기 사용자 단말로 전송하는 것인, 캐쉬 서버.
The method of claim 1,
When the response phrase corresponding to the variable phrase does not exist in the cache database, the transmission unit transmits a variable phrase request message including the variable phrase to the voice synthesis server,
The receiving unit receives variable phrase voice data generated based on the variable phrase from the voice synthesis server,
The transmission unit combines the response phrase corresponding to the general phrase included in the request phrase and the variable phrase voice data and transmits to the user terminal, the cache server.
음성 합성 서비스를 제공하는 사용자 단말에 있어서,
사용자로부터 입력받은 음성 메시지를 음성 인식 서버로 전송하는 전송부;
캐쉬 서버로부터 상기 음성 메시지로부터 도출된 요청 문구에 대응하는 응답 문구를 수신하는 수신부; 및
상기 응답 문구를 출력하는 출력부
를 포함하고,
상기 음성 메시지에 기초하여 생성된 음성 합성 요청 메시지가 상기 음성 인식 서버로부터 상기 캐쉬 서버로 전송되고,
상기 응답 문구는 상기 캐쉬 서버에 의해 캐쉬 데이터베이스에서 검색되고,
상기 요청 문구에 가변 문구가 포함된 경우, 상기 캐쉬 서버에 의해 상기 캐쉬 데이터베이스에서 상기 가변 문구에 해당하는 응답 문구가 더 검색되되,
상기 수신부는 상기 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정된 경우, 상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 상기 캐쉬 서버로부터 상기 응답 문구를 수신하는 것인, 사용자 단말.
A user terminal providing a voice synthesis service, comprising:
a transmitter for transmitting a voice message input from a user to a voice recognition server;
a receiving unit for receiving a response phrase corresponding to the request phrase derived from the voice message from the cache server; and
Output unit for outputting the response text
including,
A voice synthesis request message generated based on the voice message is transmitted from the voice recognition server to the cache server,
The response phrase is retrieved from the cache database by the cache server,
When a variable phrase is included in the request phrase, the response phrase corresponding to the variable phrase is further retrieved from the cache database by the cache server,
When the synthesis option information for voice synthesis is set in the voice synthesis request message, the receiving unit is retrieved from the cache server based on whether the synthesis option information of the searched response phrase is the same as the synthesis option information set in the voice synthesis request message. Which will receive the response phrase, the user terminal.
제 10 항에 있어서,
상기 응답 문구는 요청 파일명 및 요청 데이터 인덱스에 더 기초하여 상기 캐쉬 데이터베이스에서 검색된 것인, 사용자 단말.
11. The method of claim 10,
The response phrase will be retrieved from the cache database further based on the request file name and the request data index, the user terminal.
삭제delete 제 10 항에 있어서,
상기 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함하는 것인, 사용자 단말.
11. The method of claim 10,
The synthesis option information will include voice speed information, voice pitch information and sound volume information, the user terminal.
제 13 항에 있어서,
상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 상기 합성 옵션 정보와 상이한 경우, 상기 음성 합성 요청 메시지에 포함된 상기 합성 옵션 정보에 기초하여 상기 검색된 응답 문구의 합성 옵션 정보가 변경되는 것인, 사용자 단말.
14. The method of claim 13,
When the synthesis option information of the searched response phrase is different from the synthesis option information set in the voice synthesis request message, the synthesis option information of the searched response phrase is changed based on the synthesis option information included in the voice synthesis request message That is, the user terminal.
제 10 항에 있어서,
상기 가변 문구에 해당하는 응답 문구가 상기 캐쉬 데이터베이스에 존재하는 경우,
상기 수신부는 상기 가변 문구에 해당하는 응답 문구와 상기 요청 문구에 포함된 일반 문구에 해당하는 응답 문구가 결합된 응답 문구를 수신하는 것인, 사용자 단말.
11. The method of claim 10,
If the response phrase corresponding to the variable phrase exists in the cache database,
The receiving unit receives a response phrase in which a response phrase corresponding to the variable phrase and a response phrase corresponding to a general phrase included in the request phrase are combined.
캐쉬 서버에서 음성 합성 서비스를 제공하는 방법에 있어서,
사용자 단말 또는 음성 인식 서버로부터 음성 합성 요청 메시지를 수신하는 단계;
상기 음성 합성 요청 메시지에 포함된 요청 문구를 분석하는 단계;
상기 분석된 요청 문구에 대응하는 응답 문구를 캐쉬 데이터베이스에서 검색하는 단계;
상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 단계
를 포함하고,
상기 캐쉬 데이터베이스에서 검색하는 단계는
상기 요청 문구가 가변 문구를 포함하는 경우, 상기 가변 문구에 해당하는 응답 문구를 상기 캐쉬 데이터베이스에서 더 검색하는 단계를 포함하되,
상기 검색된 응답 문구를 상기 사용자 단말로 전송하는 단계는
상기 음성 합성 요청 메시지에 음성 합성에 대한 합성 옵션 정보가 설정되어 있는 경우, 상기 검색된 응답 문구의 합성 옵션 정보가 상기 음성 합성 요청 메시지에 설정된 합성 옵션 정보와 동일한지 여부에 기초하여 상기 사용자 단말로 상기 검색된 응답 문구를 전송하는 단계를 포함하는 것인, 음성 합성 서비스 제공 방법.
A method for providing a voice synthesis service in a cache server,
receiving a voice synthesis request message from a user terminal or a voice recognition server;
analyzing a request phrase included in the voice synthesis request message;
retrieving a response phrase corresponding to the analyzed request phrase in the cache database;
Transmitting the searched response phrase to the user terminal
including,
The step of searching in the cache database is
When the request phrase includes a variable phrase, further comprising the step of searching the cache database for a response phrase corresponding to the variable phrase,
Transmitting the searched response phrase to the user terminal comprises:
When synthesis option information for voice synthesis is set in the voice synthesis request message, the synthesized option information of the searched response phrase is the same as the synthesis option information set in the voice synthesis request message to the user terminal. The method of providing a speech synthesis service comprising the step of transmitting the searched response phrase.
제 16 항에 있어서,
상기 음성 합성 요청 메시지는 요청 파일명 및 요청 데이터 인덱스를 더 포함하고,
상기 캐쉬 데이터베이스에서 검색하는 단계는
상기 요청 파일명 및 상기 요청 데이터 인덱스에 기초하여 상기 캐쉬 데이터베이스에서 상기 응답 문구를 검색하는 단계인 것인, 음성 합성 서비스 제공 방법.
17. The method of claim 16,
The voice synthesis request message further includes a request file name and a request data index,
The step of searching in the cache database is
The step of searching for the response phrase in the cache database based on the request file name and the requested data index, the voice synthesis service providing method.
제 16 항에 있어서,
상기 음성 합성 요청 메시지에 상기 음성 합성에 대한 합성 옵션 정보가 설정되어 있는지를 확인하는 단계
를 더 포함하고,
상기 합성 옵션 정보는 음성 속도 정보, 음성의 소리 높이 정보 및 소리 볼륨 정보를 포함하는 것인, 음성 합성 서비스 제공 방법.
17. The method of claim 16,
checking whether synthesis option information for the speech synthesis is set in the speech synthesis request message;
further comprising,
The synthesis option information includes voice speed information, voice pitch information, and sound volume information.
KR1020180090268A 2018-08-02 2018-08-02 Server, user device and method for providing voice synthesis service KR102293772B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180090268A KR102293772B1 (en) 2018-08-02 2018-08-02 Server, user device and method for providing voice synthesis service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180090268A KR102293772B1 (en) 2018-08-02 2018-08-02 Server, user device and method for providing voice synthesis service

Publications (2)

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

Family

ID=69569929

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180090268A KR102293772B1 (en) 2018-08-02 2018-08-02 Server, user device and method for providing voice synthesis service

Country Status (1)

Country Link
KR (1) KR102293772B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102428296B1 (en) * 2020-10-13 2022-08-02 주식회사 케이티 Cache server and method for adjusting voice synthesis schedule and voice synthesis server for executing voice synthesis

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 (en) * 2001-09-18 2003-12-18 (주) 보이스웨어 System for Converting Letter Message into Voice in Integrated Server possessed Voice Composition Server and Voice Modulation Server
CN1830022B (en) * 2003-06-02 2010-05-05 国际商业机器公司 Voice response system and voice response method

Also Published As

Publication number Publication date
KR20200015023A (en) 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 (en) Method and system for transforming an xml document to at least one xml document structured according to a subset of a set of xml grammar rules
CA2823835C (en) Voice search and response based on relevancy
JP2018510407A (en) Q & A information processing method, apparatus, storage medium and apparatus
US20200167429A1 (en) Efficient use of word embeddings for text classification
CN103581736A (en) Digital television terminal, video file playing method and video file playing system
KR102549204B1 (en) Device, server and method for providing speech recognition service
KR20190097947A (en) Device, method and computer program for processing user inquiry
KR102293772B1 (en) Server, user device and method for providing voice synthesis service
KR102285115B1 (en) Chatbot-based web page navigation apparatus and method
KR101018473B1 (en) System and method for transcoding webpage by mobile environment
KR101351264B1 (en) System and method for message translation based on voice recognition
CN102804177A (en) Method, apparatus and computer program product for providing an adaptive context model framework
KR20210009007A (en) Server and method for summarizing dialogue of counseling and counselor device for requesting summary of dialogue of counseling
CN104994169A (en) Floor-sweeping robot state information query method and server
KR20200025054A (en) User device and method for providing advertisement
Chorfi et al. Mobile learning adaption through a device based reasoning
CN112084245B (en) Data management method, device, equipment and storage medium based on micro-service architecture
KR101087252B1 (en) System for mashup service management
KR102407577B1 (en) User device and method for processing input message
KR20200087497A (en) Server, device and method for providing voice recognition service
KR20090013876A (en) Method and apparatus for distributed speech recognition using phonemic symbol
US20220051581A1 (en) Personalized user education system

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