Nothing Special   »   [go: up one dir, main page]

KR20200095040A - Server and method for multilingual chat - Google Patents

Server and method for multilingual chat Download PDF

Info

Publication number
KR20200095040A
KR20200095040A KR1020190012629A KR20190012629A KR20200095040A KR 20200095040 A KR20200095040 A KR 20200095040A KR 1020190012629 A KR1020190012629 A KR 1020190012629A KR 20190012629 A KR20190012629 A KR 20190012629A KR 20200095040 A KR20200095040 A KR 20200095040A
Authority
KR
South Korea
Prior art keywords
translation
language
information
engines
input
Prior art date
Application number
KR1020190012629A
Other languages
Korean (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 KR1020190012629A priority Critical patent/KR20200095040A/en
Publication of KR20200095040A publication Critical patent/KR20200095040A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • G06Q50/30

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are a server for translation and a method thereof. According to one embodiment, the server may obtain at least one relay language and at least one optimum translation engine from a database based on the input language and the target language and generate the optimum translation path specified by the at least one relay language and the at least one optimum translation engine. According to one embodiment, the server can generate the optimum translation path for translation between the input language and the target language based on translation information between the input language and the target language translation information between the input language and a plurality of languages, and information between the plurality of languages and the target language.

Description

다국어 채팅을 위한 서버 및 번역 방법{SERVER AND METHOD FOR MULTILINGUAL CHAT}Server and translation method for multilingual chat {SERVER AND METHOD FOR MULTILINGUAL CHAT}

아래 실시예들은 다국어 채팅을 위한 번역 기술에 관한 것이다.The following embodiments relate to a translation technique for multilingual chat.

인터넷 기술 및 모바일 기술의 발달로 다수의 스마트 단말 간의 채팅 서비스가 활성화되어 있다. 기존의 채팅 시스템은 동일한 언어를 사용하는 사용자들을 대상으로 개발된 시스템으로서 같은 언어를 사용하여야만 서로 채팅이 가능하다. 서로 다른 언어를 사용하는 사용자들은 실시간 채팅이 어렵다. 따라서, 당사자 중 어느 일방의 언어로 채팅을 하거나, 공통어로 인식될 수 있는 영어로 채팅을 하여야 하는 번거로움이 있다. 혹은, 사용자들은 채팅창에 모국어로 메시지를 작성하고, 별도의 번역 프로그램을 이용하여 이 메시지를 상대방 사용자의 언어로 번역한 후 채팅을 하는 방식이 제공되었다. 종래의 채팅 시스템에 따르면, 서로 다른 언어를 사용하는 사용자 간에는 원활한 채팅 서비스를 제공하기 어려운 문제점이 있었다.With the development of internet technology and mobile technology, a chat service between a number of smart terminals is active. Existing chat systems are systems developed for users who use the same language, and chat with each other is possible only when using the same language. Real-time chat is difficult for users who speak different languages. Therefore, there is an inconvenience of having to chat in either language of the parties or chat in English that can be recognized as a common language. Alternatively, users write a message in their native language in a chat window, and use a separate translation program to translate the message into the other user's language and then chat. According to the conventional chat system, there is a problem in that it is difficult to provide a seamless chat service between users using different languages.

번역 기술에 있어서, 인터넷 기술이 보편화됨에 따라 네트워크를 기반으로 하는 서비스의 플랫폼을 확장 또는 통합시키려는 시도가 늘어나고 있는데, 플랫폼 확장의 일환으로 서로 다른 언어 간의 원활한 소통을 제공하기 위한 번역 기술 성능의 향상이 요구되고 있다. 최근에는 머신 러닝을 기반으로 하는 번역 기법이 널리 채용되고 있으므로, 확보된 학습 데이터의 양은 번역 엔진의 성능 차이를 만드는 중요한 요소가 된다. 다만, 이러한 학습 데이터의 양은 언어마다 다르기 때문에, 학습 데이터의 양의 차이는 언어들 간 번역 엔진의 성능 격차를 불러올 수 있다. 번역 엔진의 성능 격차가 커진다면, IT(Information Technology) 환경이 열악한 지역의 언어를 위한 번역 기술의 발전이 지체될 수 있다. 따라서, 언어들 간 번역의 성능을 고려한 번역 기술의 개발이 요구된다.In translation technology, as Internet technology becomes more common, attempts to expand or integrate the platform of network-based services are increasing.As part of the platform expansion, improvement in translation technology performance to provide smooth communication between different languages is increasing. Is required. Recently, since machine learning-based translation techniques are widely adopted, the amount of secured learning data becomes an important factor that makes a difference in the performance of the translation engine. However, since the amount of learning data is different for each language, the difference in the amount of learning data may lead to a performance gap of the translation engine between languages. If the performance gap of the translation engine increases, the development of translation technology for languages in regions with poor IT (Information Technology) environments may be delayed. Therefore, it is required to develop a translation technology that considers the performance of translation between languages.

실시예들은 다국어 음성 채팅을 제공하고자 한다.Embodiments are intended to provide multilingual voice chat.

실시예들은 번역 기술의 번역 정확도를 높이고자 한다.Embodiments are intended to improve the translation accuracy of the translation technology.

실시예들은 언어들 간의 번역 서비스의 격차를 해소하고자 한다.The embodiments seek to bridge the gap in translation services between languages.

실시예들은 번역 엔진의 언어 별 번역 정보를 고려하여 최적의 번역 경로를 제공하고자 한다.The embodiments are intended to provide an optimal translation path in consideration of translation information for each language of a translation engine.

실시예들은 위치 기반의 음성 인식 번역 및 음성 합성 기술을 제공하고자 한다.Embodiments are intended to provide a location-based speech recognition translation and speech synthesis technology.

일 실시예에 따른 다국어 채팅에 있어서 서버의 동작 방법은 다국어 채팅 참여자들의 정보를 수신하는 단계; 채팅 발신인으로부터 입력 언어 텍스트를 수신하는 단계; 상기 다국어 채팅 참여자들의 정보에 기초하여 채팅 수신인들 각각의 타겟 언어를 결정하는 단계; 번역 엔진들의 언어 별 번역 정보들을 획득하는 단계; 상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 상기 타겟 언어에 대한 제1 번역 정보를 획득하는 단계; 상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 복수의 언어들에 대한 제2 번역 정보들을 획득하는 단계; 상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 복수의 언어들과 상기 타겟 언어에 대한 제3 번역 정보들을 획득하는 단계; 및 상기 제1 번역 정보, 상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 상기 입력 언어 텍스트의 최적 번역 경로를 생성하는 단계를 포함한다.In a multilingual chat according to an embodiment, a method of operating a server includes: receiving information of participants in multilingual chat; Receiving input language text from the chat sender; Determining a target language for each of the chat recipients based on the information of the multilingual chat participants; Obtaining translation information for each language of the translation engines; Obtaining first translation information for the input language and the target language of the translation engines based on the translation information for each language of the translation engines; Obtaining second translation information for the input language and a plurality of languages of the translation engines based on the translation information for each language of the translation engines; Acquiring the plurality of languages of the translation engines and third translation information for the target language based on the translation information for each language of the translation engines; And generating an optimal translation path of the input language text based on the first translation information, the second translation information, and the third translation information.

상기 최적 번역 경로를 생성하는 단계는, 상기 최적 번역 경로에 대응되는 적어도 하나의 최적 번역 엔진을 결정하는 단계를 포함할 수 있다. Generating the optimal translation path may include determining at least one optimal translation engine corresponding to the optimal translation path.

상기 번역 엔진들의 상기 언어 별 번역 정보들은 상기 번역 엔진들의 언어 별 번역 정보, 상기 번역 엔진들의 상기 언어 별 번역 정보에 대응하는 번역 소요 시간 및 상기 번역 엔진들의 언어 별 규제 중에서 적어도 하나를 포함할 수 있다.The translation information for each language of the translation engines may include at least one of translation information for each language of the translation engines, a time required for translation corresponding to the translation information for each language of the translation engines, and a regulation for each language of the translation engines. .

상기 최적 번역 경로를 생성하는 단계는 상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 상기 복수의 언어들로부터 적어도 하나의 중계 언어를 선택하는 단계; 상기 입력 언어, 상기 적어도 하나의 중계 언어 및 상기 타겟 언어의 시퀀스인 번역 경로의 제4 번역 정보와 상기 제1 번역 정보를 비교하는 단계; 및 상기 비교 결과에 기초하여, 상기 제1 번역 정보에 대응하는 번역 경로와 상기 제4 번역 정보에 대응하는 번역 경로 중 어느 하나를 상기 최적 번역 경로로 결정하는 단계를 포함할 수 있다.The generating of the optimal translation path may include selecting at least one relay language from the plurality of languages based on the second translation information and the third translation information; Comparing the first translation information with fourth translation information of a translation path that is a sequence of the input language, the at least one relay language, and the target language; And determining one of a translation path corresponding to the first translation information and a translation path corresponding to the fourth translation information as the optimum translation path based on the comparison result.

일 실시예에 따른 다국어 채팅에 있어서 서버의 동작 방법은 상기 채팅 발신인의 위치 정보를 수신하는 단계를 더 포함하고, 상기 번역 엔진들의 상기 언어 별 번역 정보들은 상기 채팅 발신인의 상기 위치 정보를 포함할 수 있다.In the multilingual chat according to an embodiment, the method of operating the server further includes receiving location information of the chat sender, and translation information of the translation engines for each language may include the location information of the chat sender. have.

상기 참여자들의 정보는 상기 참여자들의 사용 언어를 포함할 수 있다. The information of the participants may include the language used by the participants.

제1 언어 및 제2 언어 사이의 번역 정보는 상기 제1 언어 및 상기 제2 언어 사이의 번역 데이터의 보유량, 상기 제1 언어 및 상기 제2 언어 사이의 어순 일치율, 상기 제1 언어의 문자의 용량과 상기 제2 언어의 문자의 용량의 일치 여부 및 상기 제1 언어 및 상기 제2 언어 사이의 번역에 대응하는 피드백 중에서 적어도 하나에 기초하여 갱신되고, 상기 제1 언어 및 상기 제2 언어는 상기 입력 언어, 상기 타겟 언어 및 상기 적어도 하나의 중계 언어를 포함할 수 있다.The translation information between the first language and the second language includes an amount of translation data held between the first language and the second language, a word order match rate between the first language and the second language, and the capacity of the characters in the first language. Is updated based on at least one of a match of the capacity of a character of the second language and a feedback corresponding to a translation between the first language and the second language, and the first language and the second language are the input A language, the target language, and the at least one relay language may be included.

일 실시예에 따른 다국어 채팅에 있어서 서버의 동작 방법은 상기 최적 번역 경로에 기초하여 상기 채팅 수신인들 각각의 타켓 언어로 번역된 타겟 언어 텍스트 수신하는 단계; 및 상기 각각의 타겟 언어 텍스트를 상기 채팅 수신인들에게 전송하는 단계를 더 포함할 수 있다.In a multilingual chat according to an embodiment, a method of operating a server may include receiving a target language text translated into a target language of each of the chat recipients based on the optimal translation path; And transmitting each of the target language texts to the chat recipients.

상기 입력 언어 텍스트는 상기 입력 언어의 음성을 변환한 텍스트를 포함할 수 있다.The input language text may include text obtained by converting the voice of the input language.

일 실시예에 다국어 채팅에 있어서 입력 단말의 동작 방법은 채팅 발신인으로부터 입력 언어 음성을 수신하는 단계; 변환 엔진들의 언어 별 변환 정보를 획득하는 단계; 상기 변환 엔진들의 상기 언어 별 변환 정보에 기초하여, 상기 입력 언어 음성을 입력 언어 텍스트로 변환하는 단계; 상기 입력 언어 텍스트를 디스플레이하는 단계; 및 다국어 채팅 참여자들의 정보, 상기 입력 언어 음성 및 상기 입력 언어 텍스트를 서버로 전송하는 단계를 포함하고, 상기 서버는In one embodiment, a method of operating an input terminal in a multilingual chat includes: receiving an input language voice from a chat sender; Obtaining conversion information for each language of the conversion engines; Converting the input language speech into input language text based on the conversion information for each language of the conversion engines; Displaying the input language text; And transmitting information of multilingual chat participants, the input language voice, and the input language text to a server, wherein the server

상기 다국어 채팅 참여자들의 정보에 기초하여 채팅 수신인들 각각의 타겟 언어를 결정하고, 번역 엔진들의 언어 별 번역 정보들에 기초하여 상기 입력 언어 텍스트의 최적 번역 경로를 생성한다.The target language of each chat recipient is determined based on the information of the multilingual chat participants, and an optimal translation path of the input language text is generated based on translation information of each language of the translation engines.

일 실시예에 다국어 채팅에 있어서 입력 단말의 동작 방법은 상기 채팅 발신인의 위치 정보를 획득하는 단계; 상기 채팅 발신인의 상기 위치 정보를 서버로 전송하는 단계; 및 상기 위치 정보에 기초하여 상기 입력 언어 음성을 상기 입력 언어 텍스트로 변환하는 단계를 더 포함할 수 있다.In one embodiment, a method of operating an input terminal in a multilingual chat includes: acquiring location information of the chat sender; Transmitting the location information of the chat sender to a server; And converting the input language voice into the input language text based on the location information.

상기 입력 언어 음성을 상기 입력 언어 텍스트로 변환하는 단계는 인공 신경망에 기초하여 상기 입력 언어 음성을 상기 입력 언어 텍스트로 변환하는 단계를 포함할 수 있다.Converting the input language voice into the input language text may include converting the input language voice into the input language text based on an artificial neural network.

일 실시예에 따른 다국어 채팅에 있어서 타겟 단말의 동작 방법은 서버로부터 타겟 언어 텍스트를 수신하는 단계; 상기 타겟 언어 텍스트를 디스플레이하는 단계; 합성 엔진들의 언어 별 합성 정보를 획득하는 단계; 상기 합성 엔진들의 언어 별 합성 정보에 기초하여 상기 타겟 언어 텍스트를 타겟 언어 음성으로 합성하는 단계; 및 상기 타겟 언어 음성을 재생하는 단계를 포함하고, 상기 서버는 다국어 채팅 참여자들의 정보에 기초하여 채팅 수신인들 각각의 타겟 언어를 결정하고, 번역 엔진들의 언어 별 번역 정보들에 기초하여 입력 언어 텍스트의 최적 번역 경로를 생성한다.In a multilingual chat according to an embodiment, a method of operating a target terminal includes: receiving a target language text from a server; Displaying the target language text; Obtaining synthesis information for each language of the synthesis engines; Synthesizing the target language text into a target language speech based on the synthesis information for each language of the synthesis engines; And reproducing the target language voice, wherein the server determines a target language for each of the chat recipients based on the information of the multilingual chat participants, and the input language text based on translation information for each language of the translation engines. Create an optimal translation path.

일 실시예에 따른 다국어 채팅에 있어서 타겟 단말의 동작 방법은 상기 입력 언어와 상기 타겟 언어가 동일한 경우 상기 타겟 언어 텍스트를 수신하지 않고, 상기 타겟 언어 음성만 수신하는 단계를 더 포함할 수 있다.In the multilingual chat according to an embodiment, the operation method of the target terminal may further include not receiving the target language text, but receiving only the target language voice when the input language and the target language are the same.

일 실시예에 따른 서버는 번역 엔진들의 언어 별 번역 정보들과 다국어 채팅 참여자들의 정보를 기록하는 데이터베이스; 및 입력 언어와 타겟 언어 사이의 최적 번역 경로를 생성하는 프로세서를 포함하고, 상기 프로세서는 상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 상기 타겟 언어에 대한 제1 번역 정보를 획득하고, 상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 복수의 언어들에 대한 제2 번역 정보들을 획득하고, 상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 복수의 언어들과 상기 타겟 언어에 대한 제3 번역 정보들을 획득하고, 상기 제1 번역 정보, 상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 적어도 하나의 최적 번역 엔진을 결정하고, 상기 적어도 하나의 최적 번역 엔진에 기초하여, 입력 언어 텍스트의 최적 번역 경로를 생성한다.The server according to an embodiment includes a database for recording translation information of each language of translation engines and information of multilingual chat participants; And a processor for generating an optimal translation path between the input language and the target language, wherein the processor provides information on the input language and the target language of the translation engines based on the translation information for each language of the translation engines. 1 Acquire translation information, obtain second translation information for the input language and a plurality of languages of the translation engines based on the translation information for each language of the translation engines, and Based on the translation information, the plurality of languages of the translation engines and third translation information for the target language are obtained, and the first translation information, the second translation information, and the third translation information Based on, at least one optimal translation engine is determined, and based on the at least one optimal translation engine, an optimal translation path of the input language text is generated.

상기 프로세서는 상기 최적 번역 경로에 대응되는 적어도 하나의 최적 번역 엔진을 결정할 수 있다.The processor may determine at least one optimal translation engine corresponding to the optimal translation path.

상기 번역 엔진들의 상기 언어 별 번역 정보들은 상기 번역 엔진들의 언어 별 번역 정보, 상기 번역 엔진들의 상기 언어 별 번역 정보에 대응하는 번역 소요 시간 및 상기 번역 엔진들의 언어 별 규제 중에서 적어도 하나를 포함할 수 있다.The translation information for each language of the translation engines may include at least one of translation information for each language of the translation engines, a time required for translation corresponding to the translation information for each language of the translation engines, and a regulation for each language of the translation engines. .

상기 프로세서는 상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 상기 복수의 언어들로부터 적어도 하나의 중계 언어를 선택하고, 상기 입력 언어, 상기 적어도 하나의 중계 언어 및 상기 타겟 언어의 시퀀스인 번역 경로의 제4 번역 정보와 상기 제1 번역 정보를 비교하며, 상기 비교 결과에 기초하여, 상기 제1 번역 정보에 대응하는 번역 경로와 상기 제4 번역 정보에 대응하는 번역 경로 중 어느 하나를 상기 최적 번역 경로로 결정할 수 있다.The processor selects at least one relay language from the plurality of languages based on the second translation information and the third translation information, and selects the input language, the at least one relay language, and the target language. The fourth translation information of the translation path which is a sequence is compared with the first translation information, and based on the comparison result, any one of a translation path corresponding to the first translation information and a translation path corresponding to the fourth translation information May be determined as the optimal translation path.

상기 프로세서는 채팅 발신인의 위치 정보를 수신하고, 상기 번역 엔진들의 상기 언어 별 번역 정보들은 상기 채팅 발신인의 상기 위치 정보를 포함할 수 있다.The processor may receive location information of the chat sender, and the translation information of the translation engines for each language may include the location information of the chat sender.

상기 참여자들의 정보는 상기 참여자들의 사용 언어를 포함할 수 있다.The information of the participants may include the language used by the participants.

실시예들은 다국어 음성 채팅을 제공할 수 있다.Embodiments may provide multilingual voice chat.

실시예들은 번역 기술의 번역 정확도를 높일 수 있다.Embodiments can improve the translation accuracy of the translation technology.

실시예들은 언어들 간의 번역 서비스의 격차를 해소할 수 있다.Embodiments can bridge the gap in translation services between languages.

실시예들은 번역 엔진의 언어 별 번역 정보를 고려하여 최적의 번역 경로를 제공할 수 있다.Embodiments may provide an optimal translation path in consideration of translation information for each language of a translation engine.

실시예들은 위치 기반의 음성 인식 번역 및 음성 합성 기술을 제공할 수 있다.Embodiments may provide location-based speech recognition translation and speech synthesis technology.

도 1은 일 실시예에 따른 다국어 채팅 시스템을 설명하기 위한 도면이다.
도 2는 일실시예에 따른 번역을 위한 서버를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 최적 번역 경로를 생성하는 방법을 설명하기 위한 순서도이다.
도 4는 일실시예에 따른 번역 엔진들의 언어 별 번역 정보들을 설명하기 위한 도면이다.
도 5는 일실시예에 따른 최적 번역 경로가 생성되는 과정을 설명하기 위한 도면이다.
도 6은 일실시예에 따른 서버의 구성의 예시도이다.
도 7을 일 실시예에 따른 입력 언어 단말의 동작 방법을 설명하기 위한 순서도이다.
도 8을 일 실시예에 따른 타겟 언어 단말의 동작 방법을 설명하기 위한 순서도이다.
1 is a diagram for describing a multilingual chat system according to an exemplary embodiment.
2 is a diagram illustrating a server for translation according to an embodiment.
3 is a flowchart illustrating a method of generating an optimal translation path according to an exemplary embodiment.
4 is a diagram illustrating translation information for each language of translation engines according to an exemplary embodiment.
5 is a diagram illustrating a process of generating an optimal translation path according to an embodiment.
6 is an exemplary diagram of a configuration of a server according to an embodiment.
7 is a flowchart illustrating a method of operating an input language terminal according to an embodiment.
8 is a flowchart illustrating a method of operating a target language terminal according to an embodiment.

본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions of embodiments according to the concept of the present invention disclosed in the present specification are exemplified only for the purpose of describing embodiments according to the concept of the present invention, and embodiments according to the concept of the present invention They may be implemented in various forms and are not limited to the embodiments described herein.

본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.Embodiments according to the concept of the present invention can be applied to various changes and can have various forms, so the embodiments will be illustrated in the drawings and described in detail herein. However, this is not intended to limit the embodiments according to the concept of the present invention to specific disclosed forms, and includes changes, equivalents, or substitutes included in the spirit and scope of the present invention.

제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various components, but the components should not be limited by the terms. The above terms are only for the purpose of distinguishing one component from other components, for example, without departing from the scope of rights according to the concept of the present invention, the first component may be referred to as the second component, Similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 “~사이에”와 “바로~사이에” 또는 “~에 직접 이웃하는” 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being “directly connected” or “directly connected” to another component, it should be understood that there is no other component in the middle. Expressions that describe the relationship between components, for example, “between” and “just between” or “directly adjacent to” should be interpreted as well.

본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, “포함하다” 또는 “가지다” 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present specification are only used to describe specific embodiments and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a set feature, number, step, action, component, part, or combination thereof exists, but one or more other features or numbers, It is to be understood that the possibility of addition or presence of steps, actions, components, parts, or combinations thereof is not preliminarily excluded.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the present invention pertains. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present specification. Does not.

이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The same reference numerals in each drawing denote the same members.

도 1은 일 실시예에 따른 다국어 채팅 시스템을 설명하기 위한 도면이다.1 is a diagram for describing a multilingual chat system according to an exemplary embodiment.

도 1을 참조하면, 일 실시예에 따른 다국어 채팅 시스템(100)은 제1사용자 단말(110), 서버(130), 번역 엔진(150), 음성 합성 엔진(170) 및 제2사용자 단말(190)을 포함할 수 있다. Referring to FIG. 1, a multilingual chat system 100 according to an embodiment includes a first user terminal 110, a server 130, a translation engine 150, a speech synthesis engine 170, and a second user terminal 190. ) Can be included.

다국어 채팅 시스템(100)에 따르면, 채팅 참여자들은 2인 이상일 수 있고, 채팅 참여자들 단말의 각각에 입력된 서로 다른 언어의 채팅 텍스트를 실시간으로 번역하여 각각의 사용자 단말에 원문과 번역문을 함께 제공할 수 있다. 또한, 채팅 참여자들 단말 각각으로부터 입력된 서로 다른 언어의 음성 입력으로부터 채팅 텍스트를 인식하고, 실시간으로 번역하여 번역문 음성을 채팅 상대방 사용자 단말에 제공할 수 있다.According to the multilingual chat system 100, chat participants may be two or more, and chat texts of different languages inputted to each of the chat participants' terminals are translated in real time to provide the original text and the translated text to each user terminal together. I can. In addition, it is possible to recognize the chat text from the voice input of different languages inputted from each of the chat participants' terminals, translate the text in real time, and provide the translated text to the chat counterpart user terminal.

제1사용자 단말(110), 서버(130), 번역 엔진(150), 음성 합성 엔진(170) 및 제2사용자 단말(190)은 네트워크를 통해 상호 연결될 수 있다. 네트워크는 단말 및 서버와 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5G 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(WideArea Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.The first user terminal 110, the server 130, the translation engine 150, the speech synthesis engine 170, and the second user terminal 190 may be interconnected through a network. A network refers to a connection structure in which information exchange is possible between each node such as a terminal and a server, and examples of such a network include a 3rd Generation Partnership Project (3GPP) network, a Long Term Evolution (LTE) network, a 5G network, and WIMAX. (World Interoperability for Microwave Access) Network, Internet, LAN (Local Area Network), Wireless LAN (Wireless Local Area Network), WAN (Wide Area Network), PAN (Personal Area Network), Bluetooth Network, Satellite A broadcasting network, an analog broadcasting network, and a Digital Multimedia Broadcasting (DMB) network are included, but are not limited thereto.

제1사용자 단말(110)과 제2사용자 단말(190)은 서버(130)를 경유하여 서로 채팅을 수행할 수 있다. 도 1에는 서버(130)가 제1사용자 단말(110)과 제2사용자 단말(190)에 번역채팅 서비스를 제공하는 것으로 도시되어 있으나, 서버(110)와 연결되어 번역 채팅 서비스를 제공받는 제2사용자 단말의 수는 2에 한정되지 않는다. 제1사용자 단말(110)의 사용자는 채팅 발신인, 제2 사용자 단말(190)의 사용자는 채팅 수신인일 수 있다.The first user terminal 110 and the second user terminal 190 may chat with each other via the server 130. In FIG. 1, the server 130 is shown to provide a translation chat service to the first user terminal 110 and the second user terminal 190, but the second user terminal 110 is connected to the server 110 to receive the translation chat service. The number of user terminals is not limited to two. A user of the first user terminal 110 may be a chat sender, and a user of the second user terminal 190 may be a chat recipient.

본 발명의 다양한 실시예들에 따르면, 제1사용자 단말(110) 및 제2사용자 단말(190)의 각각은 다양한 형태의 디바이스일 수 있다. 예를 들어, 제1사용자 단말(110) 및 제2사용자 단말(190)의 각각은 네트워크를 통해 원격지의 서버 또는 장치에 접속할 수 있는 TV 장치, 컴퓨터 또는 휴대용 단말일 수 있다. 여기서, TV 장치의 일 예에는 스마트 TV, IPTV 셋톱박스 등이 포함되고, 컴퓨터의 일 예에는 노트북, 데스크톱(desktop), 랩톱(laptop) 등이 포함되고, 휴대용 단말의 일 예에는 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 태블릿 PC 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치가 포함될 수 있다. According to various embodiments of the present invention, each of the first user terminal 110 and the second user terminal 190 may be various types of devices. For example, each of the first user terminal 110 and the second user terminal 190 may be a TV device, a computer, or a portable terminal capable of accessing a remote server or device through a network. Here, an example of a TV device includes a smart TV, an IPTV set-top box, etc., an example of a computer includes a notebook, a desktop, and a laptop, and an example of a portable terminal has portability and mobility. As a guaranteed wireless communication device, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication) -2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminals, all kinds of handhelds such as smartphones, tablet PCs, etc. )-Based wireless communication device may be included.

제1사용자 단말(110) 및 제2사용자 단말(190)에는 사용자에게 번역 채팅 서비스를 제공하기 위한 어플리케이션(application)이 설치 및 구동될 수 있다. 예를 들어, 상기 어플리케이션은 사용자가 채팅 상대방을 선택하거나, 채팅 시 사용할 언어를 선택하거나, 선택한 언어의 텍스트를 입력하거나, 선택한 언어로 번역된 텍스트를 출력하기 위한 사용자 인터페이스를 제공할 수 있다.An application for providing a translation chat service to a user may be installed and driven in the first user terminal 110 and the second user terminal 190. For example, the application may provide a user interface for a user to select a chat partner, select a language to be used during a chat, input text in a selected language, or output text translated in a selected language.

제1사용자 단말(110)은 입력 언어 음성을 수신할 수 있다(111). 입력 언어는 번역하고자 하는 텍스트의 언어로서, 예를 들면 한국어, 중국어, 영어, 스페인어 등의 나라별 언어일 수 있다. 여기서 텍스트는 입력 언어로 표현된 문자, 단어 및 문장을 포함한다. 예를 들어, 입력 언어가 한국어인 경우 입력 언어의 텍스트는 "ㄱ", "학교" 및 "안녕하세요"와 같이 한국어의 문자, 단어 및 문장에 의해 표현될 수 있다.The first user terminal 110 may receive an input language voice (111). The input language is a language of the text to be translated, and may be a language for each country such as Korean, Chinese, English, and Spanish. Here, the text includes characters, words, and sentences expressed in the input language. For example, when the input language is Korean, the text of the input language may be expressed by Korean characters, words, and sentences, such as "ㄱ", "school", and "hello".

또한, 입력 언어 음성은 제1사용자 단말(110)의 사용자가 채팅 상대방에게 전송하고자 하는 메시지로서, 사용자가 제1사용자 단말(110)을 통해 입력되는 음성일 수 있다.In addition, the input language voice is a message that the user of the first user terminal 110 wants to transmit to the chatting partner, and may be a voice input by the user through the first user terminal 110.

제1사용자 단말(110)은 입력 언어 음성을 수신하기에 앞서 입력 언어를 선택하는 입력을 수신할 수 있다. 예를 들어, 사용자는 제1사용자 단말(110)이 제공하는 터치 인터페이스 및 어플리케이션을 통해 입력 언어 음성을 입력하기 위해 사용할 입력 언어를 선택할 수 있다.The first user terminal 110 may receive an input for selecting an input language prior to receiving the input language voice. For example, the user may select an input language to be used to input an input language voice through a touch interface and an application provided by the first user terminal 110.

제1사용자 단말(110)은 입력 받은 입력 언어 음성을 입력 언어 텍스트로 변환할 수 있다(112). 음성-텍스트 변환은 임의의 적절한 음성 인식 기술, 음향 모델, 및 언어 모델, 예컨대 은닉 마르코프 모델(Hidden Markov Models), 동적 시간 워핑(Dynamic Time Warping, DTW) 기반 음성 인식, 및 기타 통계적 및/또는 분석 기술을 사용하여 구현될 수 있다. 해당 분야에서 통상의 지식을 가진 자라면 음성-텍스트 변환을 명확하게 이해할 수 있는 바, 보다 상세한 설명은 생략한다. 또한, 도 1에는 제1 사용자 단말(110)에서 입력 언어 음성을 입력 언어 텍스트로 변환하는 것으로 도시되어 있으나, 음성-텍스트 변환(Speech-To-Text)은 제1 사용자 단말(110)과 별개의 음성 인식 엔진(미도시)에서 수행될 수도 있다.The first user terminal 110 may convert the received input language voice into input language text (112). Speech-to-text conversion can be performed using any suitable speech recognition technique, acoustic models, and language models such as Hidden Markov Models, Dynamic Time Warping (DTW) based speech recognition, and other statistical and/or analysis. It can be implemented using technology. Those of ordinary skill in the relevant field can clearly understand the speech-to-text conversion, and a more detailed description will be omitted. In addition, although FIG. 1 shows that the first user terminal 110 converts the input language voice into the input language text, the speech-to-text conversion is separate from the first user terminal 110. It may be performed in a speech recognition engine (not shown).

입력 언어 음성을 입력 언어 텍스트로 변환한 제1 사용자 단말(110)은 입력 언어 텍스트를 네트워크를 통해 서버(130)로 전송할 수 있다. 또한, 제1사용자 단말(110)은 입력 언어 텍스트와 함께 채팅 메시지를 수신할 제2사용자 단말(190)이 포함된 채팅 참여자들의 정보를 서버(130)로 전송할 수 있다. 채팅 참여자들의 정보는 채팅 참여자들의 식별자를 포함할 수 있다. 예를 들어, 제1사용자 단말(110)의 사용자는 제1사용자 단말(110)이 제공하는 터치 인터페이스 및 어플리케이션을 통해 제1사용자 단말(110)에 저장되어 있는 사용자 리스트 또는 연락처 목록에서 제2사용자 단말(190)을 선택할 수 있다. 예를 들어, 제2사용자 단말(190)의 식별자는 제2사용자 단말(190)에 부여된 전화번호, 일련 번호, 식별 문자 등을 포함할 수 있다. 또한, 채팅 참여자들의 정보는 참여자들의 사용 언어를 포함할 수 있다.The first user terminal 110 converting the input language voice into the input language text may transmit the input language text to the server 130 through a network. In addition, the first user terminal 110 may transmit information of chat participants including the second user terminal 190 to receive the chat message together with the input language text to the server 130. The information of chat participants may include identifiers of chat participants. For example, a user of the first user terminal 110 is a second user from a user list or a contact list stored in the first user terminal 110 through a touch interface and an application provided by the first user terminal 110. The terminal 190 can be selected. For example, the identifier of the second user terminal 190 may include a phone number, a serial number, an identification character, etc. assigned to the second user terminal 190. In addition, the information of the participants in the chat may include the language of the participants.

입력 언어 텍스트 및 채팅 참여자들의 정보를 수신한 서버(130)는 채팅 참여자들의 정보에 기초하여 제2사용자 단말(190)의 사용자들의 사용 언어인 타겟 언어를 결정할 수 있다. 예를 들어, 제1사용자 단말(110)은 입력 언어 텍스트와 함께 입력 언어 텍스트가 번역될 타겟 언어의 식별자를 서버(130)로 전송할 수 있다. 타겟 언어는 입력 언어의 텍스트를 다른 언어의 텍스트로 번역하고자 할 때의 그 다른 언어를 의미한다. 예를 들어, 타겟 언어가 독일어인 경우, 입력 언어의 텍스트 "안녕하세요"는 타겟 언어의 텍스트 "Hallo"로 번역될 수 있다. 서버는 유저로부터 선택된 정보를 수신하여, 입력 언어 및 타겟 언어를 식별할 수 있다. The server 130, which has received the input language text and the chat participants information, may determine a target language, which is a language used by users of the second user terminal 190, based on the chat participants information. For example, the first user terminal 110 may transmit an identifier of a target language to which the input language text is to be translated to the server 130 together with the input language text. The target language means a different language when the text of the input language is to be translated into the text of another language. For example, when the target language is German, the text "Hello" in the input language may be translated into the text "Hallo" in the target language. The server may receive selected information from the user and identify the input language and the target language.

또한, 본 발명의 다른 실시예에 따르면, 제1사용자 단말(110)은 입력 언어 텍스트의 입력을 수신하기에 앞서 타겟 언어를 선택하는 입력을 수신할 수 있다. 예를 들어, 사용자는 제1사용자 단말(110)이 제공하는 터치 인터페이스 및 어플리케이션을 통해 입력 언어 텍스트가 번역될 타겟 언어를 선택할 수 있다.Further, according to another embodiment of the present invention, the first user terminal 110 may receive an input for selecting a target language prior to receiving the input of the input language text. For example, the user may select a target language in which the input language text is to be translated through a touch interface and an application provided by the first user terminal 110.

타겟 언어를 결정한 서버(130)는 번역 엔진들(150)과 연계하여, 번역을 위한 최적 번역 경로를 생성할 수 있다(131). 서버(130)는 번역 경로를 생성하기 위한 동작들을 처리하는 서버로서, 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 서버(130)는 번역 방법 또는 번역 경로를 생성하기 위한 방법을 수행하기 위한 어플리케이션 또는 프로그램을 실행할 수 있고, 내부 메모리에 기록된 응용 프로그램을 로딩할 수 있다. 내부 메모리에 기록된 응용 프로그램은 서버와의 무선 통신을 통해 수행될 수 있다.The server 130 that has determined the target language may generate an optimal translation path for translation in connection with the translation engines 150 (131). The server 130 is a server that processes operations for generating a translation path, and may be implemented as a software module, a hardware module, or a combination thereof. The server 130 may execute an application or program for performing a translation method or a method for generating a translation path, and load an application program recorded in an internal memory. The application program recorded in the internal memory can be executed through wireless communication with the server.

서버(130)는 번역 엔진들(150)과 연계하여 번역 서비스를 제공하는 게이트웨이 서버일 수 있다. 서버(130)는 번역 엔진들(150)의 언어 별 번역 정보들에 기초하여 최적의 번역 품질을 제공할 수 있도록, 입력 언어 및 타겟 언어에 대응하는 최적 번역 경로를 생성할 수 있다.The server 130 may be a gateway server that provides a translation service in connection with the translation engines 150. The server 130 may generate an optimal translation path corresponding to an input language and a target language so as to provide an optimal translation quality based on translation information for each language of the translation engines 150.

번역 엔진들(150)은 특정 언어의 텍스트를 다른 언어의 텍스트로 번역하는 동작을 처리하는 주체일 수 있고, 국가 별로 제공되는 번역 엔진들과 번역 서비스를 제공하기 위해 개발된 번역 엔진들을 포함할 수 있다. 최적 번역 경로를 생성하는 방법은 아래의 도 2 내지 도 6에서 상세히 설명된다.The translation engines 150 may be subjects that process an operation of translating text of a specific language into text of another language, and may include translation engines provided for each country and translation engines developed to provide translation services. have. The method of generating an optimal translation path is described in detail in FIGS. 2-6 below.

서버(130)는 최적 번역 경로를 번역 엔진들(150)에게 전송할 수 있다(132). 서버(130)는 번역 엔진들(150)로부터 입력 언어 텍스트가 번역된 타겟 언어의 타겟 언어 텍스트를 수신할 수 있다(132, 151). 서버(130)는 타겟 언어 텍스트를 저장하고(133), 타겟 언어 텍스트를 음성 합성 엔진들(170)에게 전송할 수 있다(134).The server 130 may transmit an optimal translation path to the translation engines 150 (132). The server 130 may receive the target language text of the target language in which the input language text is translated from the translation engines 150 (132, 151). The server 130 may store the target language text (133) and transmit the target language text to the speech synthesis engines 170 (134).

음성 합성 엔진들(170)은 타겟 언어 텍스트를 타겟 언어 음성으로 변환할 수 있다(171). 음성 합성 엔진들(170)의 언어 별 음성 합성 정보에 기초하여 텍스트-음성 변환(Text-To-Speech)을 수행할 음성 합성 엔진을 결정할 수 있다. The speech synthesis engines 170 may convert the target language text into the target language speech (171). A speech synthesis engine to perform text-to-speech conversion may be determined based on speech synthesis information for each language of the speech synthesis engines 170.

음성 합성 엔진에 의해 생성된 타겟 언어 음성은 서버(130)로 전송될 수 있고, 서버(130)는 타겟 언어 음성을 저장할 수 있다(135). 타겟 언어 텍스트 및 타겟 언어 음성을 획득한 서버(130)는 타겟 언어 텍스트 및 타겟 언어 음성을 제2 사용자 단말(190)로 전송할 수 있다(136). 또한, 서버(130)는 타겟 언어 텍스트 및 타겟 언어 음성을 제1 사용자 단말(110)에게도 전송할 수 있다(137). The target language voice generated by the speech synthesis engine may be transmitted to the server 130, and the server 130 may store the target language voice (135 ). The server 130 that has obtained the target language text and the target language voice may transmit the target language text and the target language voice to the second user terminal 190 (136). In addition, the server 130 may also transmit the target language text and the target language voice to the first user terminal 110 (137).

제2 사용자 단말(190)은 입력 언어 텍스트 및/또는 타겟 언어 텍스트를 디스플레이할 수 있다(191). 예를 들어, 제2 사용자 단말(190)은 입력 언어 텍스트 및/또는 타겟 언어 텍스트를 하나의 말풍선 내에 디스플레이할 수 있다. 제The second user terminal 190 may display the input language text and/or the target language text (191). For example, the second user terminal 190 may display the input language text and/or the target language text in one speech balloon. My

제1사용자 단말(110)도 입력 언어 텍스트 및/또는 타겟 언어 텍스트를 디스플레이할 수 있다(114). 제1의 사용자 단말(110)의 사용자도 자신이 입력한 입력 언어 텍스트 및 입력 언어 텍스트가 번역된 타겟 언어 텍스트를 동시에 볼 수 있다.The first user terminal 110 may also display the input language text and/or the target language text (114). The user of the first user terminal 110 may also simultaneously view the input language text input by the user and the target language text in which the input language text is translated.

일 실시예에 따른 디스플레이에 있어서, 입력 언어 텍스트 및 타겟 언어 텍스트가 동시에 디스플레이되는 것으로 설명하였으나, 제1사용자 단말(110)의 사용자 또는 제2 사용자 단말(190)의 사용자는 제1언어의 제1텍스트 및 제2언어의 제2텍스트 중 표시될 텍스트를 선택할 수 있다. 예를 들어, 사용자는 단말(110, 190)에 디스플레이되는 사용자 인터페이스를 통해 입력 언어 텍스트 및 타겟 언어 텍스트 중 표시될 텍스트를 선택할 수 있다. 또 다른 예를 들어, 사용자는 사용자 단말(110, 190)에 디스플레이되는 말풍선을 터치함으로써, 입력 언어 텍스트 및 타겟 언어 텍스트 중 적어도 어느 하나를 선택할 수 있다. 예를 들어, 사용자가 한번 말풍선을 터치할 때마다 입력 언어 텍스트, 타겟 언어 텍스트, 입력 언어 텍스트+타겟 언어 텍스트의 순서로 말풍선 내에 디스플레이될 수 있다. 사용자 단말(110, 190)은 사용자의 입력에 따라 말풍선에 디스플레이되는 텍스트의 언어의 종류를 선택할 수 있다.In the display according to the exemplary embodiment, it has been described that the input language text and the target language text are displayed at the same time, but the user of the first user terminal 110 or the user of the second user terminal 190 is the first language of the first language. Text to be displayed may be selected from among text and second text in a second language. For example, the user may select a text to be displayed among input language text and target language text through a user interface displayed on the terminals 110 and 190. For another example, the user may select at least one of an input language text and a target language text by touching a speech bubble displayed on the user terminals 110 and 190. For example, each time the user touches the speech balloon once, it may be displayed in the speech balloon in the order of input language text, target language text, input language text + target language text. The user terminals 110 and 190 may select the type of language of the text displayed in the speech bubble according to the user's input.

제2 사용자 단말(190)은 타겟 언어 음성을 재생할 수 있다(192). The second user terminal 190 may reproduce a target language voice (192).

다국어 채팅 시스템(100)에 따르면 제1 사용자 단말(110) 사용자, 채팅 발신인은 자신이 사용하는 입력 언어로 음성 또는 텍스트 메시지를 전송할 수 있고, 제2 사용자 단말(190) 사용자, 채팅 수신인은 자신이 사용하는 타겟 언어로 번역된 타겟 언어 텍스트와 타겟 언어 음성을 수신할 수 있다.According to the multilingual chat system 100, a user of the first user terminal 110 and a chat sender can transmit a voice or text message in their input language, and a user of the second user terminal 190 and a chat recipient are themselves A target language text and a target language voice translated into a target language to be used may be received.

도 2는 일실시예에 따른 번역을 위한 서버를 설명하기 위한 도면이다.2 is a diagram illustrating a server for translation according to an embodiment.

도 2를 참조하면, 서버(201)는 번역 엔진들(202)과 연계하여, 번역을 위한 최적 번역 경로를 생성할 수 있다. 서버(201)는 번역 경로를 생성하기 위한 동작들을 처리하는 서버로서, 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 서버(201)는 번역 방법 또는 번역 경로를 생성하기 위한 방법을 수행하기 위한 어플리케이션 또는 프로그램을 실행할 수 있고, 내부 메모리에 기록된 응용 프로그램을 로딩할 수 있다. 내부 메모리에 기록된 응용 프로그램은 서버와의 무선 통신을 통해 수행될 수 있다. Referring to FIG. 2, the server 201 may generate an optimal translation path for translation in connection with the translation engines 202. The server 201 is a server that processes operations for generating a translation path, and may be implemented as a software module, a hardware module, or a combination thereof. The server 201 may execute an application or program for performing a translation method or a method for generating a translation path, and load an application program recorded in an internal memory. The application program recorded in the internal memory can be executed through wireless communication with the server.

번역 엔진들(202)은 특정 언어의 텍스트를 다른 언어의 텍스트로 번역하는 동작을 처리하는 주체일 수 있고, 국가 별로 제공되는 번역 엔진들과 번역 서비스를 제공하기 위해 개발된 번역 엔진들을 포함한다. 번역 엔진들(202)은 입력 언어와 타겟 언어에 따라 다른 번역 성능을 가질 수 있다. 번역 엔진들(202)의 입력 언어와 타겟 언어에 따른 번역 성능을 포함하는 정보를 번역 엔진들(202)의 언어 별 번역 정보라 할 수 있다. 번역 엔진들(202)의 언어 별 번역 정보들은, 언어 별 번역 정확도, 번역 엔진들(202)의 언어 별 번역 정확도에 대응하는 번역 소요 시간 및 번역 엔진들(202)의 언어 별 규제 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 번역 엔진 A의 언어1과 언어2 사이의 번역 정보는 언어1에서 언어2의 번역에 대한 번역 정확도, 번역 소요 시간 및 규제 여부를 포함할 수 있다. 규제 여부는 국가 정책 등의 이유로 특정 국가에서 번역 엔진의 사용 가부를 의미할 수 있다. 예를 들어, 국가1에서 번역 엔진 A의 사용을 정책적으로 금지할 수 있다. 번역 정보는 번역 정보를 구성하는 각 요소들의 미리 정해진 가중치에 의해 결정되는 점수일 수 있다.The translation engines 202 may be subjects that process an operation of translating text of a specific language into text of another language, and include translation engines provided for each country and translation engines developed to provide a translation service. The translation engines 202 may have different translation capabilities depending on the input language and the target language. Information including the input language of the translation engines 202 and translation performance according to the target language may be referred to as translation information for each language of the translation engines 202. The translation information for each language of the translation engines 202 includes at least one of a translation accuracy for each language, a translation time corresponding to the translation accuracy for each language of the translation engines 202, and a regulation for each language of the translation engines 202. Can include. For example, translation information between language 1 and language 2 of the translation engine A may include translation accuracy, translation time required, and whether or not to regulate the translation of language 1 to language 2. Whether or not to be regulated may mean whether or not to use a translation engine in a specific country for reasons such as national policy. For example, the use of translation engine A in country 1 can be prohibited by policy. The translation information may be a score determined by a predetermined weight of each element constituting the translation information.

도시되지는 않았지만, 서버(201)는 데이터베이스, 프로세서 및 통신 모듈을 포함할 수 있다. 여기서 데이터베이스는 번역 엔진들(202)의 언어 별 번역 정보들 및 채팅 참여자 정보를 기록하고, 프로세서는 프로그램을 실행하고, 서버(201)를 제어할 수 있고, 통신 모듈은 입력 언어, 타겟 언어, 입력 언어의 텍스트 및 타겟 언어의 텍스트를 수신할 수 있다. 예를 들어, 통신 모듈은 사용자 단말(203)로부터 입력 언어의 텍스트 및 타겟 언어를 수신하여 번역 엔진들(202)로 전송하고, 번역 엔진들(202)로부터 타겟 언어의 텍스트를 수신하여 사용자 단말(203)로 전송할 수 있다. 사용자 단말(203)은 서버(201)와 유무선 통신으로 연결되어 번역을 위한 어플리케이션 또는 프로그램을 실행할 수 있다. 사용자 단말(203)은 입력 언어 음성을 수신하여 서버(201)에 전송할 수 있고, 서버(201)로부터 통역 언어의 음성을 수신하여 출력할 수 있다. Although not shown, the server 201 may include a database, a processor, and a communication module. Here, the database records translation information for each language and chat participant information of the translation engines 202, the processor executes a program, and can control the server 201, and the communication module is an input language, target language, and input The text of the language and the text of the target language may be received. For example, the communication module receives the text of the input language and the target language from the user terminal 203 and transmits it to the translation engines 202, and receives the text of the target language from the translation engines 202 to the user terminal ( 203). The user terminal 203 may be connected to the server 201 through wired or wireless communication to execute an application or program for translation. The user terminal 203 may receive an input language voice and transmit it to the server 201, and may receive and output an interpreted language voice from the server 201.

서버(201)는 데이터베이스에 기록된 번역 엔진들(202)의 언어 별 번역 정보들에 기초하여 적어도 하나의 최적 번역 엔진에 의해 특정되는 최적 번역 경로를 생성할 수 있다. 서버(201)는 서로 다른 번역 엔진 사이를 연계하여 최적 번역 경로를 생성하고, 수신된 입력 언어의 텍스트를 최적 번역 경로를 통해 타겟 언어의 텍스트로 번역하는 자동통역 포털(portal) 서비스를 제공할 수 있다. 서버(201)는 번역 엔진들(202)과 연계하여 번역 서비스를 제공하는 게이트웨이 서버일 수 있다. 서버(201)는 번역 엔진들(202)의 언어 별 번역 정보들에 기초하여 최적의 번역 품질을 제공할 수 있도록, 입력 언어 및 타겟 언어에 대응하는 최적 번역 경로를 생성할 수 있다. The server 201 may generate an optimal translation path specified by at least one optimal translation engine based on translation information for each language of the translation engines 202 recorded in the database. The server 201 may provide an automatic interpretation portal service that generates an optimal translation path by linking between different translation engines, and translates the text of the received input language into the text of the target language through the optimal translation path. have. The server 201 may be a gateway server that provides a translation service in connection with the translation engines 202. The server 201 may generate an optimal translation path corresponding to an input language and a target language so as to provide an optimal translation quality based on translation information for each language of the translation engines 202.

입력 언어 텍스트를 수신하고, 타겟 언어를 결정한 서버(201)는 번역 엔진들(202)의 언어 별 번역 정보들에 기초하여, 번역 엔진들(202)의 입력 언어와 타겟 언어에 대한 제1 번역 정보를 획득할 수 있다. 서버(201)는 번역 엔진들(202)의 언어 별 번역 정보들에 기초하여, 번역 엔진들(202)의 입력 언어와 복수의 언어들에 대한 제2 번역 정보들을 획득할 수 있다. 서버(201)는 번역 엔진들(202)의 언어 별 번역 정보들에 기초하여, 번역 엔진들(202)의 복수의 언어들과 타겟 언어에 대한 제3 번역 정보들을 획득할 수 있다. 예를 들어 입력 언어가 한국어이고 타겟 언어가 독일어인 경우, 서버는 데이터베이스에 기록된 복수의 언어들 중에서 독일어를 제외한 언어들을 선택하고, 선택된 언어들과 독일어 간의 제3 번역 정보들을 획득할 수 있다.The server 201, which receives the input language text and determines the target language, based on the translation information for each language of the translation engines 202, the input language of the translation engines 202 and first translation information for the target language. Can be obtained. The server 201 may obtain the input language of the translation engines 202 and second translation information for a plurality of languages based on the translation information for each language of the translation engines 202. The server 201 may obtain third translation information for a target language and a plurality of languages of the translation engines 202 based on the translation information for each language of the translation engines 202. For example, when the input language is Korean and the target language is German, the server may select languages other than German from among a plurality of languages recorded in the database, and obtain third translation information between the selected languages and German.

서버(201)는 제1 번역 정보, 제2 번역 정보들 및 제3 번역 정보들에 기초하여, 입력 언어 텍스트의 최적 번역 경로를 생성할 수 있다. 최적 번역 경로를 생성하는 것은, 최적 번역 경로에 대응되는 적어도 하나의 최적 번역 엔진을 결정하는 것일 수 있다.The server 201 may generate an optimal translation path of the input language text based on the first translation information, the second translation information, and the third translation information. Generating the optimal translation path may be determining at least one optimal translation engine corresponding to the optimal translation path.

서버(201)는 입력 언어인 한국어의 텍스트를 타겟 언어인 베트남어의 텍스트로 번역하기 위해, 번역 엔진들(202) 중에서 번역 엔진 B 및 번역 엔진 C를 경유하는 최적 번역 경로를 생성할 수 있다. 예를 들어, 서버(201)는 번역 엔진 B를 통한 "한국어 -> 영어"의 번역 경로 및 번역 엔진 C를 통한 "영어 -> 베트남어"의 번역 경로를 조합하여, "한국어 -> 영어 -> 베트남어"의 최적 번역 경로를 생성할 수 있다. 서버(201)는 번역 엔진 B 및 번역 엔진 C를 최적 번역 엔진들로 결정할 수 있다. 중계 언어는 번역 경로를 구성하는 언어들의 시퀀스 중에서, 입력 언어와 타겟 언어 사이의 언어를 의미한다. 중계 언어는 적어도 하나 이상의 언어들을 포함할 수 있다.The server 201 may generate an optimal translation path through the translation engine B and the translation engine C among the translation engines 202 in order to translate the text of the input language Korean into the text of the target language, Vietnamese. For example, the server 201 combines the translation path of "Korean -> English" through the translation engine B and the translation path of "English -> Vietnamese" through the translation engine C, so that "Korean -> English -> Vietnamese" To create an optimal translation path of ". The server 201 may determine the translation engine B and the translation engine C as optimal translation engines. The relay language refers to a language between an input language and a target language among a sequence of languages constituting a translation path. The relay language may include at least one or more languages.

도 3은 일 실시예에 따른 최적 번역 경로를 생성하는 방법을 설명하기 위한 순서도이다.3 is a flowchart illustrating a method of generating an optimal translation path according to an exemplary embodiment.

도 3을 참조하면, 일 실시예에 따른 최적 번역 경로를 생성하는 방법은 도 2의 서버(201)에 의해 수행될 수 있다. 서버는 번역을 위한 동작들을 처리하는 서버로서, 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 서버는 번역 방법을 수행하기 위한 어플리케이션 또는 프로그램을 실행할 수 있고, 내부 메모리에 기록된 응용 프로그램을 로딩할 수 있다. 내부 메모리에 기록된 응용 프로그램은 서버와의 무선 통신을 통해 수행될 수 있다.Referring to FIG. 3, a method of generating an optimal translation path according to an embodiment may be performed by the server 201 of FIG. 2. The server is a server that processes operations for translation, and may be implemented as a software module, a hardware module, or a combination thereof. The server may execute an application or program for performing the translation method, and load the application program recorded in the internal memory. The application program recorded in the internal memory can be executed through wireless communication with the server.

서버(201)는, 번역 엔진들(202)의 입력 언어와 복수의 언어들에 대한 제2 번역 정보들 및 복수의 언어들과 타겟 언어에 대한 제3 번역 정보들에 기초하여, 복수의 언어들로부터 적어도 하나의 중계 언어를 선택할 수 있다(310). 번역 엔진들(202)의 제2 번역 정보들과 제3 번역 정보들의 조합에 기초하여 적어도 하나의 중계 언어를 선택할 수 있다. 예를 들면, 번역 정보가 점수로 표현되는 경우, 번역 정보는 번역 경로에 포함된 언어들의 시퀀스에서 언어들 간의 번역 정보들의 곱으로 정의될 수 있다. 서버는 기록된 복수의 언어들 간의 번역 정보들을 획득하고, 복수의 번역 경로들의 번역 정보들을 계산할 수 있다. 복수의 번역 경로들은 "입력 언어 -> 적어도 하나의 중계 언어 -> 타겟 언어"의 시퀀스일 수 있다. 일실시예에 따르면, 복수의 언어들은 데이터베이스에 기록된 언어들 중에서 타겟 언어를 제외한 언어들을 포함할 수 있다. 예를 들어 입력 언어가 한국어이고 타겟 언어가 독일어인 경우, 서버는 데이터베이스에 기록된 복수의 언어들 중에서 독일어를 제외한 언어들을 선택하고, 한국어와 선택된 언어들 간의 제2 번역 정보들을 획득할 수 있다.The server 201, based on the input language of the translation engines 202, second translation information for a plurality of languages, and third translation information for a plurality of languages and a target language, a plurality of languages At least one relay language may be selected from (310). At least one relay language may be selected based on a combination of the second translation information and the third translation information of the translation engines 202. For example, when translation information is expressed as a score, the translation information may be defined as a product of translation information between languages in a sequence of languages included in a translation path. The server may obtain recorded translation information between a plurality of languages and calculate translation information of a plurality of translation paths. The plurality of translation paths may be a sequence of "input language -> at least one relay language -> target language". According to an embodiment, the plurality of languages may include languages other than a target language among languages recorded in a database. For example, when the input language is Korean and the target language is German, the server may select languages other than German from among a plurality of languages recorded in the database, and obtain second translation information between Korean and the selected languages.

서버(201)는 입력 언어, 적어도 하나의 중계 언어 및 타겟 언어의 시퀀스인 번역 경로의 제4 번역 정보와 입력 언어와 타겟 언어에 대한 제1 번역 정보를 비교할 수 있다(320). 번역 경로는 입력 언어의 텍스트를 타겟 언어의 텍스트로 번역하기 위한 언어들의 시퀀스로 정의될 수 있고, 최적 번역 경로는 서버에 의해 생성된 최적화된 번역 경로를 의미한다. 예를 들어, 입력 언어가 한국어 타겟 언어가 독일어인 경우, 번역 경로는 "한국어 -> 영어 -> 프랑스어 -> 스페인어 -> 독일어"와 같은 입력 언어부터 타겟 언어까지의 언어들의 시퀀스로 표현될 수 있다.The server 201 may compare the input language, at least one relay language, and the fourth translation information of the translation path, which is a sequence of the target language, and the first translation information for the input language and the target language (320). The translation path may be defined as a sequence of languages for translating the text of the input language into the text of the target language, and the optimal translation path means an optimized translation path generated by the server. For example, when the input language is Korean and the target language is German, the translation path may be expressed as a sequence of languages from an input language such as "Korean -> English -> French -> Spanish -> German" to the target language. .

서버(201)는 비교 결과에 기초하여, 제1 번역 정보에 대응하는 번역 경로와 제4 번역 정보에 대응하는 번역 경로 중 어느 하나를 최적 번역 경로로 결정할 수 있다(330). 예를 들어, 제4 번역 정보가 제1 번역 정보보다 높은 경우, "입력 언어 -> 적어도 하나의 중계 언어 -> 타겟 언어"의 시퀀스를 최적 번역 경로로 결정할 수 있고, 제1 번역 정보가 제4 번역 정보보다 높은 경우, "입력 언어 -> 타겟 언어"의 시퀀스를 최적 번역 경로로 결정할 수 있다. 또한, 서버(201)는 최적 번역 경로를 결정하는 것은 최적 번역 경로에 대응되는 최적 번역 엔진을 결정하는 것을 의미할 수 있다.The server 201 may determine one of a translation path corresponding to the first translation information and a translation path corresponding to the fourth translation information as the optimal translation path based on the comparison result (330). For example, when the fourth translation information is higher than the first translation information, a sequence of "input language -> at least one relay language -> target language" may be determined as an optimal translation path, and the first translation information is the fourth If it is higher than the translation information, the sequence of "input language -> target language" may be determined as an optimal translation path. In addition, determining the optimal translation path by the server 201 may mean determining an optimal translation engine corresponding to the optimal translation path.

도 4는 일실시예에 따른 번역 엔진들의 언어 별 번역 정보들을 설명하기 위한 도면이다.4 is a diagram illustrating translation information for each language of translation engines according to an exemplary embodiment.

일실시예에 따른 서버는 미리 구축된 데이터베이스로부터 입력 언어와 타겟 언어 사이의 제1 번역 정보를 획득할 수 있다. 데이터베이스는 서버에 포함된 메모리로 구현되거나 서버와 유선, 무선, 또는 네트워크 등으로 연결 가능한 서버 등의 외부 장치로 구현될 수 있다.The server according to an embodiment may obtain first translation information between an input language and a target language from a pre-built database. The database may be implemented as a memory included in the server, or may be implemented as an external device such as a server that can be connected to the server by wire, wireless, or network.

번역 엔진들의 언어 별 번역 정보(A)는 도 4에 도시된 바와 같이 데이터베이스에 기록될 수 있다. 서버는 입력 언어와 타겟 언어를 식별하고, 데이터베이스로부터 번역 엔진들의 입력 언어 및 타겟 언어 사이의 제1 번역 정보를 획득할 수 있다. 예를 들어, 입력 언어가 한국어이고 타겟 언어가 영어인 경우 서버는 데이터베이스로부터 번역 엔진 K1, K2 및 K3 각각의 번역 정보 A1(1, 2), A2(1, 2) 및 A3(1, 2)를 획득할 수 있다. A1(1, 2)는 한국어가 입력 언어이고 타겟 언어가 영어인 경우 번역 엔진 K1의 번역 정보일 수 있다. 또는, 입력 언어가 베트남어이고 타겟 언어가 영어인 경우 서버는 데이터베이스로부터 번역 엔진 V1, V2 및 V3 각각의 번역 정보 A1(N, 2), A2(N, 2) 및 A3(N, 2)를 획득할 수 있다. A1(N, 2)는 한국어가 입력 언어이고 타겟 언어가 영어인 경우 번역 엔진 K1의 번역 정보일 수 있다. 번역 엔진들의 언어 별 번역 정보는 데이터베이스에 기록될 수 있고, 데이터베이스에 기록된 번역 엔진들의 언어 별 번역 정보에 기초하여 최적의 번역 경로 및 최적의 번역 엔진들을 결정할 수 있다.Translation information (A) for each language of the translation engines may be recorded in a database as shown in FIG. 4. The server may identify the input language and the target language, and obtain first translation information between the input language of the translation engines and the target language from the database. For example, if the input language is Korean and the target language is English, the server will send the translation information A 1 (1, 2), A 2 (1, 2) and A of each of the translation engines K 1 , K 2 and K 3 from the database. 3 (1, 2) can be obtained. A 1 (1, 2) may be translation information of the translation engine K 1 when Korean is the input language and the target language is English. Alternatively, if the input language is Vietnamese and the target language is English, the server sends the translation information A 1 (N, 2), A 2 (N, 2) and A 3 (each of the translation engines V 1 , V 2 and V 3) from the database. N, 2) can be obtained. A 1 (N, 2) may be translation information of the translation engine K 1 when Korean is the input language and the target language is English. Translation information for each language of the translation engines may be recorded in a database, and an optimal translation path and optimal translation engines may be determined based on the translation information for each language of the translation engines recorded in the database.

번역 정보는 두 언어 사이의 번역 성능에 관한 파라미터일 수 있다. 번역 엔진들의 언어 별 번역 정보들은 번역 엔진들의 언어 별 번역 정확도, 번역 엔진들의 언어 별 번역 정확도에 대응하는 번역 소요 시간 및 번역 엔진들의 언어 별 규제 중에서 적어도 하나를 포함하는 수치화 된 정보일 수 있다. 상술한 바와 같이, 번역 정보가 정의되는 방식은 설계 의도에 따라 다양한 기법들이 응용되어 적용될 수 있다. 예를 들어, 번역 정보를 구성하는 각 요소들의 미리 정해진 가중치에 의해 결정되는 점수일 수 있다. 번역 정보는 번역의 방향(예를 들어, 제1 언어 -> 제2 언어 또는 제2 언어 -> 제1 언어)에 따라 다른 값으로 설정될 수도 있고, 번역의 방향과 무관한 값으로 정의될 수도 있으며, 단위는 설계 의도에 따라 다양하게 변형되어 정의될 수 있고, 예를 들면 %로 표현될 수 있다.The translation information may be a parameter regarding translation performance between two languages. The translation information for each language of the translation engines may be numerical information including at least one of a translation accuracy for each language of the translation engines, a translation time corresponding to the translation accuracy for each language of the translation engines, and a regulation for each language of the translation engines. As described above, the manner in which translation information is defined may be applied by applying various techniques according to design intent. For example, it may be a score determined by a predetermined weight of each element constituting the translation information. The translation information may be set to different values depending on the direction of translation (eg, first language -> second language or second language -> first language), or may be defined as a value independent of the direction of translation. In addition, the unit can be variously modified and defined according to the design intent, and can be expressed in %, for example.

일 실시예에 따르면, 제1 언어 및 제2 언어 사이의 번역 정확도는 제1 언어 및 제2 언어 사이의 번역 데이터의 보유량, 제1 언어 및 제2 언어 사이의 어순 일치율, 제1 언어의 문자의 용량과 제2 언어의 문자의 용량의 일치 여부, 및 제1 언어 및 제2 언어 사이의 번역에 대응하는 피드백 중에서 적어도 하나의 요소에 기초하여 정의될 수 있고, 이러한 요소가 갱신됨에 따라 번역 정확도도 갱신될 수 있다. 여기서, 문자의 용량이라 함은 특정 언어의 문자를 표현하는데 필요한 용량을 의미한다. 예를 들어 한국어의 한글은 2 bit로 표현될 수 있고, 영어의 알파벳은 1 bit로 표현될 수 있으므로, 한글과 알파벳의 용량은 일치하지 않게 된다. 번역 정확도는 번역 정확도에 영향을 주는 요소들에 가중치가 부여되어 정의될 수 있다. 예를 들면, 번역 데이터의 보유량의 가중치와 어순 일치율의 가중치가 다르게 설정되어 번역 정확도가 정의될 수 있다. 상술한 바와 같이, 번역 정확도가 정의되는 방식은 설계 의도에 따라 다양한 기법들이 응용되어 적용될 수 있다.According to an embodiment, the translation accuracy between the first language and the second language is determined by the amount of translation data retained between the first language and the second language, the word order match rate between the first language and the second language, and the character of the first language. It can be defined based on at least one factor among the matching of the capacity and the capacity of the characters in the second language, and the feedback corresponding to the translation between the first language and the second language, and the accuracy of the translation as these factors are updated. Can be updated. Here, the capacity of a character means a capacity required to express a character of a specific language. For example, since Korean Hangul can be expressed in 2 bits and English alphabet can be expressed in 1 bit, the capacity of Korean and alphabets do not match. Translation accuracy can be defined by weighting factors affecting the translation accuracy. For example, a weight of a holding amount of translation data and a weight of a word order match rate may be set differently to define translation accuracy. As described above, the manner in which translation accuracy is defined may be applied by applying various techniques according to design intention.

일 실시예에 따르면, 번역 정확도는 특정 언어 간의 번역을 제공하는 번역 엔진의 성능과 관련된 지표일 수 있다. 여기서, 번역 엔진은 일실시예에 따른 서버와 별개의 독립된 서버 또는 장치일 수 있다. 서버는 입력 언어의 텍스트를 번역 엔진으로 전송하고, 번역 결과인 타겟 언어의 텍스트를 번역 엔진으로부터 수신할 수 있다. 데이터베이스에 기록된 번역 정확도들은 복수의 번역 엔진들의 번역 정확도들일 수 있다. 이 경우, 서버는 데이터베이스에 기록된 번역 정확도들을 토대로, 입력 언어의 텍스트를 타겟 언어의 텍스트로 번역하기 위한 번역 엔진들을 선택하는 동작을 처리할 수 있다. 번역 정확도들은 번역 엔진의 실행 주체로부터 획득되어 데이터베이스에 기록될 수 있다.According to an embodiment, the translation accuracy may be an index related to the performance of a translation engine that provides translation between specific languages. Here, the translation engine may be an independent server or device separate from the server according to an embodiment. The server may transmit the text of the input language to the translation engine and receive the text of the target language as a result of the translation from the translation engine. The translation accuracy recorded in the database may be the translation accuracy of a plurality of translation engines. In this case, the server may process an operation of selecting translation engines for translating the text of the input language into the text of the target language based on the translation accuracy recorded in the database. Translation accuracy can be obtained from the execution entity of the translation engine and recorded in a database.

일 실시예에 따르면, 데이터베이스는 번역 정확도들에 대응하는 번역 소요 시간들을 기록할 수 있다. 서버는 번역 정확도들과 번역 소요 시간들을 고려하여, 입력 언어의 텍스트를 타겟 언어의 텍스트로 번역하기 위한 번역 엔진들을 선택할 수 있다.According to an embodiment, the database may record the required translation times corresponding to the translation accuracy. The server may select translation engines for translating the text of the input language into the text of the target language, taking into account the translation accuracy and time required for translation.

일 실시예에 따르면, 데이터베이스는 번역 엔진들의 규제 여부를 기록할 수 있다. 서버는 번역 엔진들의 규제 여부를 고려하여 번역 엔진들을 선택할 수 있다.According to an embodiment, the database may record whether or not translation engines are regulated. The server may select translation engines in consideration of whether or not the translation engines are regulated.

서버는 번역 엔진들의 복수의 언어들에 대응하는 번역 경로들 중에서 번역 정보가 가장 높은 번역 경로를 선택하고, 선택된 번역 경로에 속한 언어를 중계 언어로 결정할 수 있다. 예를 들어, 입력 언어가 한국어 및 타겟 언어가 독일어인 경우, 번역 엔진들의 복수의 언어들에 대응하는 번역 경로들은 아래의 예시들을 포함할 수 있다.The server may select a translation path having the highest translation information among translation paths corresponding to a plurality of languages of the translation engines, and determine a language belonging to the selected translation path as a relay language. For example, when the input language is Korean and the target language is German, translation paths corresponding to a plurality of languages of translation engines may include the following examples.

번역 경로 1: "한국어 -> 일본어 -> 영어 ->독일어"Translation Path 1: "Korean -> Japanese -> English -> German"

번역 경로 2: "한국어 -> 일본어 ->독일어"Translation Path 2: "Korean -> Japanese -> German"

번역 경로 3: "한국어 -> 영어 ->독일어"Translation Path 3: "Korean -> English -> German"

번역 경로 4: "한국어 -> 영어 -> 스페인어 ->독일어"Translation Path 4: "Korean -> English -> Spanish -> German"

서버는 위의 예시들 중에서 번역 경로 1의 번역 엔진들의 언어 별 번역 정보가 가장 높다면, 번역 경로 1을 선택하고, 선택된 번역 경로 1에 속한 언어인 "일본어" 및 "영어"를 중계 언어로 결정할 수 있다. 여기서, 번역 엔진들의 번역 경로의 정보는 입력 언어와 적어도 하나의 중계 언어 사이의 번역 정보, 적어도 하나의 중계 언어 사이의 번역 정보, 및 적어도 하나의 중계 언어 및 타겟 언어 사이의 번역 정보에 기초하여 정의될 수 있다. In the above examples, if the translation information of the translation engines of the translation path 1 is the highest, the server selects the translation path 1 and determines "Japanese" and "English", which are languages belonging to the selected translation path 1, as the relay language. I can. Here, the translation path information of the translation engines is defined based on translation information between the input language and at least one relay language, translation information between at least one relay language, and translation information between the at least one relay language and the target language. Can be.

예를 들면, 번역 엔진들의 언어 별 번역 경로의 정보는 번역 경로에 포함된 언어들의 시퀀스에서 언어들 간의 번역 정보들의 곱으로 정의될 수 있다. 서버는 도 5와 같이 기록된 복수의 언어들 간의 번역 정보들을 획득하고, 복수의 번역 경로들의 번역 정보들을 계산할 수 있다. 복수의 번역 경로들은 "입력 언어 -> 적어도 하나의 중계 언어 -> 타겟 언어"의 시퀀스이다. 서버는 계산된 번역 정보들 중 번역 정보가 가장 높은 번역 경로를 선택한다. 서버는 번역 정보가 가장 높은 번역 경로가 "입력 언어 -> 적어도 하나의 중계 언어 -> 타겟 언어"의 시퀀스인 경우, 이러한 시퀀스에 속한 언어를 중계 언어로 결정할 수 있다. "입력 언어 -> 타겟 언어"의 시퀀스의 번역 정보가 가장 높은 경우, 중계 언어는 선택되지 않을 수 있다.For example, information on a translation path for each language of translation engines may be defined as a product of translation information between languages in a sequence of languages included in the translation path. The server may obtain translation information between a plurality of languages recorded as shown in FIG. 5 and may calculate translation information of a plurality of translation paths. The plurality of translation paths is a sequence of "input language -> at least one relay language -> target language". The server selects a translation path having the highest translation information among the calculated translation information. When the translation path having the highest translation information is a sequence of "input language -> at least one relay language -> target language", the server may determine a language belonging to this sequence as the relay language. When the translation information of the sequence of "input language -> target language" is the highest, the relay language may not be selected.

도 5는 일실시예에 따른 최적 번역 경로가 생성되는 과정을 설명하기 위한 도면이다.5 is a diagram illustrating a process of generating an optimal translation path according to an embodiment.

서버는 번역 정보에 기초하여, "입력 언어 -> 적어도 하나의 중계 언어 -> 타겟 언어"의 시퀀스인 번역 경로와 "입력 언어 -> 타겟 언어"의 번역 경로 중 어느 하나를 최적 번역 경로로 결정할 수 있다. "입력 언어 -> 타겟 언어"의 시퀀스인 번역 경로의 번역 정보는 제1 번역 정보일 수 있고, "입력 언어 -> 적어도 하나의 중계 언어 -> 타겟 언어"의 시퀀스인 번역 경로의 번역 정보는 제4 번역 정보일 수 있다.The server may determine one of a translation path that is a sequence of "input language -> at least one relay language -> target language" and a translation path of "input language -> target language" as the optimal translation path based on the translation information. have. The translation information of the translation path, which is a sequence of "input language -> target language", may be first translation information, and the translation information of the translation path which is the sequence of "input language -> at least one relay language -> target language" 4 May be translation information.

상술한 바와 같이, 제4 번역 정보는 번역 경로의 시퀀스에 속한 언어들 간의 번역 정확도들의 곱으로 정의될 수 있다. 서버는 제1 번역 정보와 제4 번역 정보를 비교하고, 비교 결과에 기초하여 제1 번역 정보에 대응하는 번역 경로와 제4 번역 정보에 대응하는 번역 경로 중 어느 하나를 최적 번역 경로로 결정할 수 있다. As described above, the fourth translation information may be defined as a product of translation accuracy between languages belonging to a sequence of a translation path. The server may compare the first translation information and the fourth translation information, and determine any one of a translation path corresponding to the first translation information and a translation path corresponding to the fourth translation information as an optimal translation path based on the comparison result. .

도 5를 참조하면, 서버는 한국어인 입력 언어와 독일어인 타겟 언어 사이의 번역을 위한 번역 경로들 중에서, "한국어 -> 일본어 -> 영어 -> 독일어"의 시퀀스인 번역 경로(502)를 최적 번역 경로로 결정할 수 있다. 서버는 번역 경로들 중에서 번역 정보가 가장 높은 번역 경로(502)를 선택하고, 선택된 번역 경로(502)에 속한 "일본어" 및 "영어"를 중계 언어로 결정할 수 있다.5, the server optimally translates a translation path 502 which is a sequence of "Korean -> Japanese -> English -> German" among translation paths for translation between a Korean input language and a German target language. You can decide by path. The server may select a translation path 502 having the highest translation information among the translation paths, and determine "Japanese" and "English" belonging to the selected translation path 502 as a relay language.

선택된 번역 경로의 번역 정보를 제4 번역 정보라 지칭하고, "한국어 -> 독일어"의 번역 경로(501)의 번역 정보를 제1 번역 정보라 지칭할 수 있다. 서버는 제4 번역 정보와 제1 번역 정보를 비교하고, 비교 결과 제4 번역 정보가 제1 번역 정보보다 크기 때문에, 번역 경로(502)를 최적 번역 경로로 결정할 수 있다. "한국어 -> 독일어"의 번역 정보는 50%이고, "한국어 -> 일본어"의 번역 정보는 95%이고, "일본어 -> 영어"의 번역 정보는 90%이고, "영어 -> 독일어"의 번역 정보는 88%이므로, 제1 번역 정보는 50%이고, 제4 번역 정보는 75.24 %(0.95 * 0.9 * 0.88로 계산될 수 있음)이다. Translation information of the selected translation path may be referred to as fourth translation information, and translation information of the translation path 501 of "Korean -> German" may be referred to as first translation information. The server compares the fourth translation information with the first translation information, and as a result of the comparison, since the fourth translation information is larger than the first translation information, the translation path 502 may be determined as an optimal translation path. The translation information for "Korean -> German" is 50%, the translation information for "Korean -> Japanese" is 95%, the translation information for "Japanese -> English" is 90%, and the translation for "English -> German" Since the information is 88%, the first translation information is 50%, and the fourth translation information is 75.24% (which can be calculated as 0.95 * 0.9 * 0.88).

여기서, 번역 정보는 각 언어 간의 번역 정보들의 곱으로 계산되었지만 이러한 계산 기법에 한정되지 않고 가중치를 차별적으로 적용하거나 경로가 길어짐에 따라 패널티를 부과하는 방식 등의 기법이 다양하게 응용되어 적용될 수 있다. 만약, 중계 언어를 포함하는 시퀀스인 번역 경로의 번역 정보 또는 번역 소요 시간보다 입력 언어로부터 타겟 언어로 직접 번역할 때의 번역 성능이 더 우수하다면, 서버는 입력 언어와 타겟 언어의 시퀀스인 번역 경로를 최적 번역 경로로 결정할 수 있다.Here, the translation information is calculated as the product of the translation information between each language, but is not limited to such a calculation technique, and techniques such as a method of differentially applying weights or imposing a penalty as a path lengthens can be applied in various ways. If the translation performance when directly translating from the input language to the target language is better than the translation information of the translation path, which is a sequence including the relay language, or the time required for translation, the server determines the translation path that is the sequence of the input language and the target language. It can be determined as the optimal translation path.

서버는 최적 번역 경로(502)를 생성하고, 생성된 최적 번역 경로(502)를 이용하여 한국어의 텍스트를 독일어의 텍스트로 번역할 수 있다. 여기서, 텍스트를 다른 언어의 텍스트로 변환하는 번역 동작은 서버에서 직접 처리되거나 최적 번역 경로(502)에 속한 언어들 별로 외부의 서버 또는 장치에서 처리될 수 있다. 또는, 서버는 통합된 클라우드 서버에 접속할 수 있고, 최적 번역 경로(502)의 시퀀스에 따른 번역 동작들은 클라우드 서버 상에서 처리될 수 있다.The server may generate an optimal translation path 502 and use the generated optimal translation path 502 to translate Korean text into German text. Here, the translation operation of converting text into text of another language may be directly processed by the server or may be processed by an external server or device for each language belonging to the optimal translation path 502. Alternatively, the server may access the integrated cloud server, and translation operations according to the sequence of the optimal translation path 502 may be processed on the cloud server.

예를 들면, 서버는 데이터베이스에 기록된 번역 정보들 및 번역 소요 시간들에 기초하여, 한국어인 입력 언어와 독일어인 타겟 언어에 적합한 최적 번역 경로(502)를 생성할 수 있다. 서버는 생성된 최적 번역 경로(502)에 기초하여, 데이터베이스로부터 기록된 번역 엔진들을 조회하고, 조회 결과를 이용하여 "한국어 -> 일본어"의 번역에 적합한 번역 엔진, "일본어 -> 영어"의 번역에 적합한 번역 엔진 및 "영어 -> 독일어"의 번역에 적합한 번역 엔진을 결정할 수 있다. 이 경우, 최적 번역 경로(502)에 속한 언어들 간의 번역은 서버와 별개의 번역 엔진을 통해 처리되고, 서버는 최적 번역 경로(502)를 생성하고, 번역된 텍스트들을 중계하는 역할을 수행할 수 있다.For example, the server may generate an optimal translation path 502 suitable for an input language in Korean and a target language in German, based on translation information recorded in the database and translation time required. The server searches for translation engines recorded from the database based on the generated optimal translation path 502, and uses the search result to translate "Japanese -> English", a translation engine suitable for translation of "Korean -> Japanese" It is possible to determine which translation engine is suitable for and for the translation of "English -> German". In this case, the translation between languages belonging to the optimal translation path 502 is processed through a translation engine separate from the server, and the server generates the optimal translation path 502 and relays the translated texts. have.

일 실시예에 따르면, 서버는 데이터베이스에 기록된 번역 정보들 및 번역 소요 시간들에 기초하여, 내부 메모리에 기록된 프로그램을 통해 번역 처리를 수행할지 또는 외부의 번역 엔진을 채용하여 번역 처리를 수행할지 여부를 판단할 수 있다. 만약, 외부 서버 또는 번역 엔진을 통한 번역 처리의 번역 정보 또는 번역 소요 시간에 비해 내부 메모리에 기록된 프로그램을 통한 번역 처리의 성능이 우수하다면, 서버는 번역 동작을 로컬 방식으로 처리할 수 있다.According to an embodiment, the server determines whether to perform translation processing through a program recorded in an internal memory or by employing an external translation engine, based on translation information recorded in the database and translation time required. You can judge whether or not. If the performance of the translation processing through the program recorded in the internal memory is superior to the translation information or the translation time required by the external server or the translation engine, the server can process the translation operation in a local manner.

일 실시예에 따르면, 입력 언어와 타겟 언어 사이의 번역 정보(제1 번역 정보)가 임계 정보를 초과하는 경우, 서버는 입력 언어와 타겟 언어의 시퀀스를 최적 번역 경로로 결정할 수 있다. 예를 들어, 입력 언어인 한국어와 타겟 언어인 일본어 사이의 번역 정보가 95%이고, 임계 정보가 90%인 경우 서버는 "한국어 -> 일본어"의 시퀀스를 최적 번역 경로로 결정하고, 추가적인 번역 경로 또는 중계 언어의 탐색을 수행하지 않을 있다. According to an embodiment, when translation information (first translation information) between the input language and the target language exceeds threshold information, the server may determine the sequence of the input language and the target language as an optimal translation path. For example, if the translation information between the input language Korean and the target language Japanese is 95%, and the critical information is 90%, the server determines the sequence of "Korean -> Japanese" as the optimal translation path, and an additional translation path Or, it may not perform a search for a relay language.

일 실시예에 따르면, 서버는 복수의 언어들 중에서, 입력 언어와의 번역 정보 및 타겟 언어와의 번역 정보가 임계 정보 범위에 있는 언어들을 선택하고, 선택된 언어들 중에서 적어도 하나의 중계 언어를 선택할 수 있다. 예를 들면, 서버는 입력 언어인 한국어와 복수의 언어들 사이의 번역 정보들 중에서 번역 정보가 60% 내지 100 %의 범위(또는 60 %를 초과하는 범위)에 있는 언어들을 선택할 수 있다. 서버는 선택된 언어들을 포함하는 번역 경로들을 생성하고, 생성된 번역 경로들이 번역 정보들을 서로 비교할 수 있다.According to an embodiment, the server may select languages in which translation information with an input language and translation information with a target language are in a critical information range from among a plurality of languages, and select at least one relay language among the selected languages. have. For example, the server may select languages in which translation information is in the range of 60% to 100% (or exceeds 60%) among translation information between Korean as an input language and a plurality of languages. The server may generate translation paths including selected languages, and the generated translation paths may compare translation information with each other.

일 실시예에 따르면, 서버는 데이터베이스에 기록된 언어들과 입력 언어와의 번역 정보들이 임계 정보 미만인 경우 또는 데이터베이스에 기록된 언어들과 타겟 언어와의 번역 정보들이 임계 정보 미만인 경우, "입력 언어 -> 타겟 언어"의 시퀀스를 최적 번역 경로로 결정할 수 있다. 예를 들어, 입력 언어가 베트남어고 타겟 언어가 인도네시아어이고, 베트남어와 복수의 언어들 간의 번역 정보들이 60% 미만이며 복수의 언어들과 인도네시아어 간의 번역 정보들이 60% 미만인 경우, 서버는 "베트남어 -> 인도네시아"의 시퀀스로 번역 경로를 결정할 수 있다.According to an embodiment, when the translation information between the languages recorded in the database and the input language is less than the threshold information, or when the translation information between the languages recorded in the database and the target language is less than the threshold information, the "input language- The sequence of "target language" can be determined as an optimal translation path. For example, if the input language is Vietnamese and the target language is Indonesian, translation information between Vietnamese and multiple languages is less than 60%, and translation information between multiple languages and Indonesian is less than 60%, the server is "Vietnamese -> The translation path can be determined by the sequence of "Indonesian".

일실시예에 따르면, 서버는 아래의 알고리즘으로 최적 번역 경로를 도출할 수 있다.According to an embodiment, the server may derive an optimal translation path using the following algorithm.

<알고리즘><Algorithm>

여기서, A(i, j)는 언어 i와 언어 j사이의 번역 정보이고, N은 언어들의 개수이고, i -> j는 언어 i로부터 언어 j로의 번역을 위한 최적 번역 경로를 생성하기 위한 명령이고, 1node는 "언어 i -> 언어 j"의 시퀀스인 번역 경로의 번역 정보 R1을 계산하는 명령이고, 2node는 "언어 i -> 언어 k -> 언어 j"의 시퀀스인 번역 경로의 번역 정보 R2를 계산하는 명령이고, 3node는 "언어 i -> 언어 k -> 언어 l -> 언어 j"의 시퀀스인 번역 경로의 번역 정보 R3를 계산하는 명령이다. 서버는 R1 내지 RM의 번역 정보들 중에서 가장 큰 번역 정보에 대응하는 번역 경로를 최적 번역 경로로 결정할 수 있다. 위의 알고리즘은 예시에 지나지 않고, 서버는 동적 프로그래밍(dynamic programming), 트리 기반 최적 경로 탐색(tree based optimal path search) 등의 알고리즘을 채용하여 최적 번역 경로를 도출할 수 있다.Here, A(i, j) is translation information between language i and language j, N is the number of languages, and i -> j is a command for generating an optimal translation path for translation from language i to language j. , 1node is a command to calculate the translation information R1 of the translation path, which is a sequence of "language i -> language j", and 2node is the translation information R2 of the translation path, which is a sequence of "language i -> language k -> language j" It is an instruction to calculate, and 3node is an instruction to calculate translation information R3 of a translation path which is a sequence of "language i -> language k -> language l -> language j". The server may determine a translation path corresponding to the largest translation information among the translation information of R1 to RM as an optimal translation path. The above algorithm is only an example, and the server can derive an optimal translation path by employing algorithms such as dynamic programming and tree based optimal path search.

일실시예에 따르면, 서버는 번역 경로에 속한 언어들 간의 번역 정보들 뿐만 아니라 해당 번역 정보들에 대응하는 번역 소요 시간들에 기초하여, 최적 번역 경로를 생성할 수 있다. 여기서 번역 정보들 및 번역 소요 시간들에 적용되는 가중치들은 설계 의도에 따라 다양하게 변형될 수 있다.According to an embodiment, the server may generate an optimal translation path based on translation information between languages belonging to the translation path as well as translation times corresponding to the corresponding translation information. Here, the weights applied to the translation information and the required translation times may be variously modified according to the design intention.

도 6은 일실시예에 따른 서버의 구성의 예시도이다.6 is an exemplary diagram of a configuration of a server according to an embodiment.

도 6을 참조하면, 서버(601)는 프로세서(602) 및 메모리(603)를 포함한다. 프로세서(602)는 도 1 내지 도 5를 통하여 전술한 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 5를 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(603)는 번역 방법이 구현된 프로그램을 저장할 수 있다. 메모리(603)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.Referring to FIG. 6, the server 601 includes a processor 602 and a memory 603. The processor 602 may include at least one of the devices described above with reference to FIGS. 1 to 5, or may perform at least one method described above with reference to FIGS. 1 to 5. The memory 603 may store a program in which the translation method is implemented. The memory 603 may be a volatile memory or a nonvolatile memory.

프로세서(602)는 프로그램을 실행하고, 서버(601)를 제어할 수 있다. 프로세서(602)에 의하여 실행되는 프로그램의 코드는 메모리(603)에 저장될 수 있다. 서버(601)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다.The processor 602 can execute a program and control the server 601. The code of a program executed by the processor 602 may be stored in the memory 603. The server 601 is connected to an external device (eg, a personal computer or a network) through an input/output device (not shown), and may exchange data.

일실시예에 따른 서버는 입력 언어와 타겟 언어 사이의 번역을 제공하기 위해, 데이터베이스에 기록된 번역 정보들 및 번역 소요 시간들을 고려하여 최적의 번역 경로를 생성하거나 중계 언어를 선택할 수 있다. 이를 통해 일실시예는 언어간의 격차 큰 번역 서비스의 품질을 높일 수 있고, IT 환경이 열악한 이유로 번역 서비스의 품질이 떨어지는 언어를 위해 최적화된 번역 경로를 생성할 수 있다. 또한, 일실시예는 특정 언어들 사이의 번역 정보가 다른 언어들보다 높은 경우, 해당 언어들을 경유하는 번역 경로를 생성하고, 이를 통해 입력 언어와 타겟 언어 사이의 직접적인 번역 경로보다 양호한 품질의 번역 처리를 제공할 수 있다. 모든 언어들 간의 번역 품질을 끌어올리는 것은 번역 데이터의 양 또는 처리 속도 측면에서 한계가 있기 때문에, 일실시예는 입력 언어와 타겟 언어에 적합한 최적 번역 경로를 생성하여 언어들 간의 언어 장벽을 허물 수 있다. 또한, 일실시예는 실시간 번역 서비스를 다양한 분야에 적용할 수 있는데, 예를 들어 일실시예는 통역사를 대체하거나 외국 방송의 자막을 실시간으로 삽입하는 기술 등 다양하게 응용될 수 있다.In order to provide a translation between an input language and a target language, the server according to an embodiment may generate an optimal translation path or select a relay language in consideration of translation information recorded in a database and time required for translation. Through this, an exemplary embodiment can increase the quality of a translation service with a large gap between languages, and generate a translation path optimized for a language in which the quality of the translation service is poor due to a poor IT environment. In addition, in an embodiment, when translation information between specific languages is higher than that of other languages, a translation path through the corresponding languages is generated, and through this, translation processing of better quality than a direct translation path between the input language and the target language Can provide. Since raising the quality of translation between all languages is limited in terms of the amount of translation data or processing speed, one embodiment can break the language barrier between languages by creating an optimal translation path suitable for the input language and the target language. . In addition, one embodiment can apply a real-time translation service to various fields. For example, one embodiment can be applied in various ways, such as a technique for replacing an interpreter or inserting a subtitle of a foreign broadcast in real time.

도 7을 일 실시예에 따른 입력 언어 단말의 동작 방법을 설명하기 위한 순서도이다.7 is a flowchart illustrating a method of operating an input language terminal according to an embodiment.

도 7을 참고하면, 일 실시예에 따른 입력 언어 단말의 동작 방법은 입력 언어 단말에 의해 수행될 수 있다. 입력 언어 단말은 채팅 발신인 단말일 수 있다.Referring to FIG. 7, a method of operating an input language terminal according to an embodiment may be performed by an input language terminal. The input language terminal may be a chat sender terminal.

입력 언어 단말은 채팅 발신인으로부터 입력 언어 음성을 수신할 수 있다(710). 입력 언어 단말은 음성 인식 장치를 이용하여 입력 언어의 음성을 입력 받을 수 있다.The input language terminal may receive an input language voice from the chat sender (710). The input language terminal may receive a voice of an input language using a voice recognition device.

입력 언어 단말은 변환 엔진들의 언어 별 변환 정보를 획득할 수 있다(720). The input language terminal may acquire conversion information for each language of the conversion engines (720).

입력 언어 단말은 변환 엔진들의 언어 별 변환 정보에 기초하여, 입력 언어 음성을 입력 언어 텍스트로 변환할 수 있다(730). 입력 언어 단말은 입력 언어 텍스트를 디스플레이할 수 있다(740).The input language terminal may convert the input language voice into the input language text based on conversion information for each language of the conversion engines (730 ). The input language terminal may display the input language text (740 ).

다른 실시예에 따르면, 입력 언어 음성-입력 언어 텍스트 변환은 입력 언어 단말이 아닌 서버에서 이루어질 수 있다. 서버에서 입력 언어 음성-입력 언어 텍스트 변환이 이루어질 경우, 입력 언어 단말은 입력 언어 음성만 서버로 전송하고, 서버로부터 입력 언어 텍스트를 수신하여 디스플레이할 수 있다.According to another embodiment, the input language voice-to-input language text conversion may be performed in a server other than an input language terminal. When the input language voice to input language text conversion is performed in the server, the input language terminal may transmit only the input language voice to the server, and receive and display the input language text from the server.

입력 언어 단말은 다국어 채팅 참여자들의 정보, 입력 언어 음성 및 입력 언어 텍스트를 서버로 전송할 수 있다.The input language terminal may transmit information of multilingual chat participants, input language voice, and input language text to the server.

입력 언어 단말은 인공 신경망에 기초하여 입력 언어 음성을 입력 언어 텍스트로 변환할 수 있다.The input language terminal may convert the input language voice into the input language text based on the artificial neural network.

입력 언어 단말은 채팅 발신인의 위치 정보를 획득할 수 있다. 입력 언어 단말의 위치 정보란, 입력 언어 단말이 현재 존재하는 위치 및 특정 지역을 기준으로 특정 장소에 대한 위치를 나타내는 정보로, 위도 정보, 경도 정보, 주소 정보 등을 포함할 수 있다. 위치 정보는 대표적으로 GPS(Global Positioning System) 모듈을 이용하여 획득할 수 있으나, 이에 한정되는 것은 아니며 입력 언어 단말의 현재 위치 정보를 결정할 수 있는 모든 장치를 이용하여 위치 정보를 획득할 수 있다. 예를 들어, 위치 정보는 블루투스(Bluetooth) 통신 모듈, 적외선(Infrared) 통신 모듈, 지그비(Zigbee) 통신 모듈, 와이파이(WIFI) 통신 모듈, RFID(Radio Frequency IDentification) 통신 모듈 등을 통해 획득할 수 있다.The input language terminal may obtain location information of the sender of the chat. The location information of the input language terminal is information indicating a location of a specific place based on a location where the input language terminal currently exists and a specific area, and may include latitude information, longitude information, address information, and the like. Location information may be typically obtained using a GPS (Global Positioning System) module, but is not limited thereto, and location information may be obtained using any device capable of determining the current location information of the input language terminal. For example, the location information can be obtained through a Bluetooth communication module, an infrared communication module, a Zigbee communication module, a WiFi communication module, a Radio Frequency IDentification (RFID) communication module, and the like. .

같은 언어라도 국가/지역 별로 표쥰/사투리 등의 차이가 존재할 수 있다. 예를 들어, 영어의 경우, 지역에 따라(미국, 영국, 호주, 필리핀 등) 조금씩 차이가 존재할 수 있다. 보다 나은 음성 인식, 번역 및 통역을 제공하기 위해 위치 정보를 활용할 수 있다.Even in the same language, there may be differences in dialects and dialects by country/region. For example, in the case of English, there may be slight differences depending on the region (US, UK, Australia, Philippines, etc.). Location information can be used to provide better speech recognition, translation and interpretation.

입력 언어 단말은 입력 언어 음성을 입력 언어 텍스트로 변환할 때, 위치 정보를 더 고려하여 국가/지역 별 최적의 음성 인식을 제공할 수 있다. 또한, 입력 언어 단말은 위치 정보를 서버로 전송할 수 있고, 서버는 위치 정보를 고려하여 번역 경로 및 음성 합성 경로를 결정할 수 있다.When converting the input language voice into the input language text, the input language terminal may further consider location information to provide optimal voice recognition for each country/region. In addition, the input language terminal may transmit location information to the server, and the server may determine a translation path and a speech synthesis path in consideration of the location information.

도 8을 일 실시예에 따른 타겟 언어 단말의 동작 방법을 설명하기 위한 순서도이다.8 is a flowchart illustrating a method of operating a target language terminal according to an embodiment.

도 8을 참고하면, 일 실시예에 따른 타겟 언어 단말의 동작 방법은 타겟 언어 단말에 의해 수행될 수 있다. 타겟 언어 단말은 채팅 수신인 단말일 수 있다. 타겟 언어 단말과 입력 언어 단말은 채팅 수신인, 발신인에 따른 구분으로 하나의 단말이 채팅을 발신하는 경우에는 입력 언어 단말, 채팅을 수신하는 경우에는 타겟 언어 단말일 수 있다.Referring to FIG. 8, a method of operating a target language terminal according to an embodiment may be performed by the target language terminal. The target language terminal may be a chat recipient terminal. The target language terminal and the input language terminal are classified according to a chat recipient and a sender, and may be an input language terminal when one terminal sends a chat, and a target language terminal when a chat is received.

타겟 언어 단말은 서버로부터 타겟 언어 텍스트를 수신할 수 있다(810).The target language terminal may receive the target language text from the server (810).

타겟 언어 단말은 타겟 언어 텍스트를 디스플레이할 수 있다(820). 또한, 타겟 언어 단말은 소스 언어 텍스트도 타겟 언어 텍스트와 함께 디스플레이할 수 있다.The target language terminal may display the target language text (820). In addition, the target language terminal may display the source language text together with the target language text.

타겟 언어 단말은 합성 엔진들의 언어 별 합성 정보를 획득할 수 있다(830). 합성 엔진들(150)은 텍스트를 음성으로 합성하는 동작을 처리하는 주체일 수 있고, 국가 별로 제공되는 합성 엔진들과 합성 서비스를 제공하기 위해 개발된 합성 엔진들을 포함할 수 있다. 합성 엔진들의 언어 별 합성 정보는 언어 별 합성 정확도, 합성 정확도에 대응하는 합성 소요 시간 및 합성 엔진들의 언어별 규제 중에서 적어도 하나를 포함하는 정보일 수 있다.The target language terminal may obtain synthesis information for each language of the synthesis engines (830 ). The synthesis engines 150 may be subjects that process an operation of synthesizing text into speech, and may include synthesis engines provided for each country and synthesis engines developed to provide a synthesis service. The synthesis information for each language of the synthesis engines may be information including at least one of a synthesis accuracy for each language, a synthesis time corresponding to the synthesis accuracy, and a regulation for each language of the synthesis engines.

타겟 언어 단말은 합성 엔진들의 언어 별 합성 정보에 기초하여 타겟 언어 텍스트를 타겟 언어 음성으로 합성할 수 있다(840). 타겟 언어 단말은 합성 엔진들 중 합성 정보가 가장 높은 합성 엔진에 기초하여 타겟 언어 텍스트를 타겟 언어 음성으로 합성할 수 있다.The target language terminal may synthesize the target language text into the target language speech based on the synthesis information for each language of the synthesis engines (840 ). The target language terminal may synthesize a target language text into a target language speech based on a synthesis engine having the highest synthesis information among the synthesis engines.

타겟 언어 단말은 타겟 언어 음성을 재생할 수 있다(850).The target language terminal may reproduce the target language voice (850).

타겟 언어 단말은 입력 언어와 타겟 언어가 동일한 경우 타겟 언어 텍스트를 수신하지 않고, 타겟 언어 음성만 수신할 수 있다.If the input language and the target language are the same, the target language terminal may not receive the target language text, but may receive only the target language voice.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented with hardware components, software components, and/or combinations of hardware components and software components. For example, the devices, methods, and components described in the embodiments include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors (micro signal processors), microcomputers, and field programmable gates (FPGAs). It can be implemented using one or more general purpose computers or special purpose computers, such as arrays, programmable logic units (PLUs), microprocessors, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and/or data may be interpreted by a processing device or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed on networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and constructed for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specifically configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (21)

다국어 채팅 참여자들의 정보를 수신하는 단계;
채팅 발신인으로부터 입력 언어 텍스트를 수신하는 단계;
상기 다국어 채팅 참여자들의 정보에 기초하여 채팅 수신인들 각각의 타겟 언어를 결정하는 단계;
번역 엔진들의 언어 별 번역 정보들을 획득하는 단계;
상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 상기 타겟 언어에 대한 제1 번역 정보를 획득하는 단계;
상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 복수의 언어들에 대한 제2 번역 정보들을 획득하는 단계;
상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 복수의 언어들과 상기 타겟 언어에 대한 제3 번역 정보들을 획득하는 단계; 및
상기 제1 번역 정보, 상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 상기 입력 언어 텍스트의 최적 번역 경로를 생성하는 단계
를 포함하는
다국어 채팅에 있어서 서버의 동작 방법.
Receiving information on multilingual chat participants;
Receiving input language text from the chat sender;
Determining a target language for each of the chat recipients based on the information of the multilingual chat participants;
Obtaining translation information for each language of the translation engines;
Obtaining first translation information for the input language and the target language of the translation engines based on the translation information for each language of the translation engines;
Obtaining second translation information for the input language and a plurality of languages of the translation engines based on the translation information for each language of the translation engines;
Acquiring the plurality of languages of the translation engines and third translation information for the target language based on the translation information for each language of the translation engines; And
Generating an optimal translation path of the input language text based on the first translation information, the second translation information, and the third translation information
Containing
How the server operates in multilingual chat.
제1항에 있어서,
상기 최적 번역 경로를 생성하는 단계는,
상기 최적 번역 경로에 대응되는 적어도 하나의 최적 번역 엔진을 결정하는 단계
를 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
The method of claim 1,
Generating the optimal translation path,
Determining at least one optimal translation engine corresponding to the optimal translation path
Containing,
How the server operates in multilingual chat.
제1항에 있어서,
상기 번역 엔진들의 상기 언어 별 번역 정보들은
상기 번역 엔진들의 언어 별 번역 정보, 상기 번역 엔진들의 상기 언어 별 번역 정보에 대응하는 번역 소요 시간 및 상기 번역 엔진들의 언어 별 규제 중에서 적어도 하나를 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
The method of claim 1,
Translation information for each language of the translation engines
Including at least one of translation information for each language of the translation engines, a translation time corresponding to the translation information for each language of the translation engines, and regulations for each language of the translation engines,
How the server operates in multilingual chat.
제1항에 있어서,
상기 최적 번역 경로를 생성하는 단계는
상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 상기 복수의 언어들로부터 적어도 하나의 중계 언어를 선택하는 단계;
상기 입력 언어, 상기 적어도 하나의 중계 언어 및 상기 타겟 언어의 시퀀스인 번역 경로의 제4 번역 정보와 상기 제1 번역 정보를 비교하는 단계; 및
상기 비교 결과에 기초하여, 상기 제1 번역 정보에 대응하는 번역 경로와 상기 제4 번역 정보에 대응하는 번역 경로 중 어느 하나를 상기 최적 번역 경로로 결정하는 단계
를 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
The method of claim 1,
Generating the optimal translation path
Selecting at least one relay language from the plurality of languages based on the second translation information and the third translation information;
Comparing the first translation information with fourth translation information of a translation path that is a sequence of the input language, the at least one relay language, and the target language; And
Based on the comparison result, determining one of a translation path corresponding to the first translation information and a translation path corresponding to the fourth translation information as the optimal translation path
Containing,
How the server operates in multilingual chat.
제1항에 있어서,
상기 채팅 발신인의 위치 정보를 수신하는 단계
를 더 포함하고,
상기 번역 엔진들의 상기 언어 별 번역 정보들은
상기 채팅 발신인의 상기 위치 정보를 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
The method of claim 1,
Receiving location information of the chat sender
Further comprising,
Translation information for each language of the translation engines
Including the location information of the chat sender,
How the server operates in multilingual chat.
제1항에 있어서,
상기 참여자들의 정보는 상기 참여자들의 사용 언어를 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
The method of claim 1,
The information of the participants includes the language of the participants,
How the server operates in multilingual chat.
제2항에 있어서,
제1 언어 및 제2 언어 사이의 번역 정보는
상기 제1 언어 및 상기 제2 언어 사이의 번역 데이터의 보유량, 상기 제1 언어 및 상기 제2 언어 사이의 어순 일치율, 상기 제1 언어의 문자의 용량과 상기 제2 언어의 문자의 용량의 일치 여부 및 상기 제1 언어 및 상기 제2 언어 사이의 번역에 대응하는 피드백 중에서 적어도 하나에 기초하여 갱신되고,
상기 제1 언어 및 상기 제2 언어는 상기 입력 언어, 상기 타겟 언어 및 상기 적어도 하나의 중계 언어를 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
According to claim 2,
Translation information between the first language and the second language
The amount of translation data held between the first language and the second language, a word order matching rate between the first language and the second language, whether the capacity of the first language and the second language match And updated based on at least one of feedback corresponding to the translation between the first language and the second language,
The first language and the second language include the input language, the target language, and the at least one relay language,
How the server operates in multilingual chat.
제1항에 있어서,
상기 최적 번역 경로에 기초하여 상기 채팅 수신인들 각각의 타켓 언어로 번역된 타겟 언어 텍스트 수신하는 단계; 및
상기 각각의 타겟 언어 텍스트를 상기 채팅 수신인들에게 전송하는 단계
를 더 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
The method of claim 1,
Receiving a target language text translated into a target language of each of the chat recipients based on the optimal translation path; And
Transmitting each of the target language texts to the chat recipients
Further comprising,
How the server operates in multilingual chat.
제1항에 있어서,
상기 입력 언어 텍스트는
상기 입력 언어의 음성을 변환한 텍스트를 포함하는,
다국어 채팅에 있어서 서버의 동작 방법.
The method of claim 1,
The input language text is
Containing text converted to the voice of the input language,
How the server operates in multilingual chat.
채팅 발신인으로부터 입력 언어 음성을 수신하는 단계;
변환 엔진들의 언어 별 변환 정보를 획득하는 단계;
상기 변환 엔진들의 상기 언어 별 변환 정보에 기초하여, 상기 입력 언어 음성을 입력 언어 텍스트로 변환하는 단계;
상기 입력 언어 텍스트를 디스플레이하는 단계; 및
다국어 채팅 참여자들의 정보, 상기 입력 언어 음성 및 상기 입력 언어 텍스트를 서버로 전송하는 단계
를 포함하고,
상기 서버는
상기 다국어 채팅 참여자들의 정보에 기초하여 채팅 수신인들 각각의 타겟 언어를 결정하고,
번역 엔진들의 언어 별 번역 정보들에 기초하여 상기 입력 언어 텍스트의 최적 번역 경로를 생성하는
다국어 채팅에 있어서 입력 단말의 동작 방법.
Receiving an input language voice from a chat sender;
Obtaining conversion information for each language of the conversion engines;
Converting the input language speech into input language text based on the conversion information for each language of the conversion engines;
Displaying the input language text; And
Transmitting information of multilingual chat participants, the input language voice, and the input language text to a server
Including,
The server
Determine a target language of each of the chat recipients based on the information of the multilingual chat participants,
Generating an optimal translation path of the input language text based on translation information for each language of the translation engines
Operation method of input terminal in multilingual chat.
제10항에 있어서,
상기 채팅 발신인의 위치 정보를 획득하는 단계;
상기 채팅 발신인의 상기 위치 정보를 서버로 전송하는 단계; 및
상기 위치 정보에 기초하여 상기 입력 언어 음성을 상기 입력 언어 텍스트로 변환하는 단계
를 더 포함하는,
다국어 채팅에 있어서 입력 단말의 동작 방법.
The method of claim 10,
Obtaining location information of the chat sender;
Transmitting the location information of the chat sender to a server; And
Converting the input language voice into the input language text based on the location information
Further comprising,
Operation method of input terminal in multilingual chat.
제10항에 있어서,
상기 입력 언어 음성을 상기 입력 언어 텍스트로 변환하는 단계는
인공 신경망에 기초하여 상기 입력 언어 음성을 상기 입력 언어 텍스트로 변환하는 단계
를 포함하는,
다국어 채팅에 있어서 입력 단말의 동작 방법.
The method of claim 10,
Converting the input language speech into the input language text
Converting the input language speech to the input language text based on an artificial neural network
Containing,
Operation method of input terminal in multilingual chat.
서버로부터 타겟 언어 텍스트를 수신하는 단계;
상기 타겟 언어 텍스트를 디스플레이하는 단계;
합성 엔진들의 언어 별 합성 정보를 획득하는 단계;
상기 합성 엔진들의 언어 별 합성 정보에 기초하여 상기 타겟 언어 텍스트를 타겟 언어 음성으로 합성하는 단계; 및
상기 타겟 언어 음성을 재생하는 단계
를 포함하고,
상기 서버는
다국어 채팅 참여자들의 정보에 기초하여 채팅 수신인들 각각의 타겟 언어를 결정하고,
번역 엔진들의 언어 별 번역 정보들에 기초하여 입력 언어 텍스트의 최적 번역 경로를 생성하는
다국어 채팅에 있어서 타겟 단말의 동작 방법.
Receiving a target language text from a server;
Displaying the target language text;
Obtaining synthesis information for each language of the synthesis engines;
Synthesizing the target language text into a target language speech based on the synthesis information for each language of the synthesis engines; And
Reproducing the target language voice
Including,
The server
Determine the target language of each of the chat recipients based on the information of the multilingual chat participants,
Generates the optimal translation path of the input language text based on the translation information of each language of the translation engines.
Operation method of target terminal in multilingual chat.
제13항에 있어서,
상기 입력 언어와 상기 타겟 언어가 동일한 경우 상기 타겟 언어 텍스트를 수신하지 않고, 상기 타겟 언어 음성만 수신하는 단계
를 더 포함하는,
다국어 채팅에 있어서 타겟 단말의 동작 방법.
The method of claim 13,
When the input language and the target language are the same, receiving only the target language voice without receiving the target language text
Further comprising,
Operation method of target terminal in multilingual chat.
하드웨어와 결합되어 제1항 내지 제14항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능 기록 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium to execute the method of any one of claims 1 to 14 in combination with hardware.
다국어 채팅을 위한 서버에 있어서,
번역 엔진들의 언어 별 번역 정보들과 다국어 채팅 참여자들의 정보를 기록하는 데이터베이스; 및
입력 언어와 타겟 언어 사이의 최적 번역 경로를 생성하는 프로세서
를 포함하고,
상기 프로세서는
상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 상기 타겟 언어에 대한 제1 번역 정보를 획득하고,
상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 입력 언어와 복수의 언어들에 대한 제2 번역 정보들을 획득하고,
상기 번역 엔진들의 상기 언어 별 번역 정보들에 기초하여, 상기 번역 엔진들의 상기 복수의 언어들과 상기 타겟 언어에 대한 제3 번역 정보들을 획득하고,
상기 제1 번역 정보, 상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 적어도 하나의 최적 번역 엔진을 결정하고,
상기 적어도 하나의 최적 번역 엔진에 기초하여, 입력 언어 텍스트의 최적 번역 경로를 생성하는,
서버.
In the server for multilingual chat,
A database for recording translation information of each language of translation engines and information of multilingual chat participants; And
Processor that creates an optimal translation path between the input language and the target language.
Including,
The processor
Obtaining first translation information for the input language and the target language of the translation engines based on the translation information for each language of the translation engines,
Acquiring second translation information for the input language and a plurality of languages of the translation engines based on the translation information for each language of the translation engines,
Obtaining third translation information for the target language and the plurality of languages of the translation engines based on the translation information for each language of the translation engines,
Determining at least one optimal translation engine based on the first translation information, the second translation information and the third translation information,
Generating an optimal translation path of the input language text based on the at least one optimal translation engine,
server.
제16항에 있어서,
상기 프로세서는
상기 최적 번역 경로에 대응되는 적어도 하나의 최적 번역 엔진을 결정하는,
서버.
The method of claim 16,
The processor
Determining at least one optimal translation engine corresponding to the optimal translation path,
server.
제16항에 있어서,
상기 번역 엔진들의 상기 언어 별 번역 정보들은
상기 번역 엔진들의 언어 별 번역 정보, 상기 번역 엔진들의 상기 언어 별 번역 정보에 대응하는 번역 소요 시간 및 상기 번역 엔진들의 언어 별 규제 중에서 적어도 하나를 포함하는,
서버.
The method of claim 16,
Translation information for each language of the translation engines
Including at least one of translation information for each language of the translation engines, a translation time corresponding to the translation information for each language of the translation engines, and regulations for each language of the translation engines,
server.
제16항에 있어서,
상기 프로세서는
상기 제2 번역 정보들 및 상기 제3 번역 정보들에 기초하여, 상기 복수의 언어들로부터 적어도 하나의 중계 언어를 선택하고, 상기 입력 언어, 상기 적어도 하나의 중계 언어 및 상기 타겟 언어의 시퀀스인 번역 경로의 제4 번역 정보와 상기 제1 번역 정보를 비교하며, 상기 비교 결과에 기초하여, 상기 제1 번역 정보에 대응하는 번역 경로와 상기 제4 번역 정보에 대응하는 번역 경로 중 어느 하나를 상기 최적 번역 경로로 결정하는,
서버.
The method of claim 16,
The processor
Based on the second translation information and the third translation information, a translation that is a sequence of the input language, the at least one relay language, and the target language by selecting at least one relay language from the plurality of languages The fourth translation information of the path and the first translation information are compared, and based on the comparison result, one of a translation path corresponding to the first translation information and a translation path corresponding to the fourth translation information is optimized. Determined by the translation path,
server.
제16항에 있어서,
상기 프로세서는
채팅 발신인의 위치 정보를 수신하고,
상기 번역 엔진들의 상기 언어 별 번역 정보들은
상기 채팅 발신인의 상기 위치 정보를 포함하는,
서버.
The method of claim 16,
The processor
Receive the location information of the sender of the chat,
Translation information for each language of the translation engines
Including the location information of the chat sender,
server.
제16항에 있어서,
상기 참여자들의 정보는 상기 참여자들의 사용 언어를 포함하는,
서버.
The method of claim 16,
The information of the participants includes the language of the participants,
server.
KR1020190012629A 2019-01-31 2019-01-31 Server and method for multilingual chat KR20200095040A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190012629A KR20200095040A (en) 2019-01-31 2019-01-31 Server and method for multilingual chat

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190012629A KR20200095040A (en) 2019-01-31 2019-01-31 Server and method for multilingual chat

Publications (1)

Publication Number Publication Date
KR20200095040A true KR20200095040A (en) 2020-08-10

Family

ID=72049185

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190012629A KR20200095040A (en) 2019-01-31 2019-01-31 Server and method for multilingual chat

Country Status (1)

Country Link
KR (1) KR20200095040A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818704A (en) * 2021-01-19 2021-05-18 传神语联网网络科技股份有限公司 Multilingual translation system and method based on inter-thread consensus feedback
CN114154522A (en) * 2021-12-09 2022-03-08 上海开放大学 Translation intelligent processing method and system based on multiple language learning platforms
KR102450022B1 (en) * 2021-10-29 2022-10-04 주식회사 쓰리디팩토리 Server for providing global language translation service, method for providing global language translation service and program for providing global language translation service
KR20230025228A (en) 2021-08-13 2023-02-21 주식회사 애니챗 Method for translating an instant message into multiple languages in real-time

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818704A (en) * 2021-01-19 2021-05-18 传神语联网网络科技股份有限公司 Multilingual translation system and method based on inter-thread consensus feedback
CN112818704B (en) * 2021-01-19 2024-04-02 传神语联网网络科技股份有限公司 Multilingual translation system and method based on inter-thread consensus feedback
KR20230025228A (en) 2021-08-13 2023-02-21 주식회사 애니챗 Method for translating an instant message into multiple languages in real-time
KR20230047352A (en) 2021-08-13 2023-04-07 주식회사 애니챗 Method for translating an instant message into multiple languages in real-time
KR102450022B1 (en) * 2021-10-29 2022-10-04 주식회사 쓰리디팩토리 Server for providing global language translation service, method for providing global language translation service and program for providing global language translation service
WO2023075274A1 (en) * 2021-10-29 2023-05-04 주식회사 쓰리디팩토리 Server for providing global language translation service, method for providing global language translation service, and program for providing global language translation service
CN114154522A (en) * 2021-12-09 2022-03-08 上海开放大学 Translation intelligent processing method and system based on multiple language learning platforms

Similar Documents

Publication Publication Date Title
CN107632980B (en) Voice translation method and device for voice translation
KR20200095040A (en) Server and method for multilingual chat
US11024300B2 (en) Electronic device and control method therefor
KR101719107B1 (en) Server, and method for translation
WO2018153273A1 (en) Semantic parsing method and apparatus, and storage medium
KR20180005850A (en) Automatic interpretation method and apparatus, and machine translation method and apparatus
US9286292B2 (en) Real-time jargon translation in a communication system
KR20180108973A (en) Method and for providing automatic translation in user conversation using multiple languages
CN107291704B (en) Processing method and device for processing
US20180039614A1 (en) Hybrid Grammatical and Ungrammatical Parsing
KR20190066988A (en) Chatbot system based on artificial intelligence markup language and method for proding chatbot service
KR101753649B1 (en) The real-time auto translation and interpretation service system based on position information and method thereof
JP2020042131A (en) Information processor, information processing method and program
US11056103B2 (en) Real-time utterance verification system and method thereof
KR20150104051A (en) Apparatus and method for providing translating chatting service
US20180107655A1 (en) Systems and methods for handling formality in translations of text
KR101941924B1 (en) Method for providing association model based intention nano analysis service using cognitive neural network
KR20200114230A (en) Conversational agent system and method based on user emotion
JP2020187282A (en) Information processing device, information processing method, and program
KR101589150B1 (en) Server, deivice and method for sending/receiving emphasized instant messages
US8423352B2 (en) Enhancing language detection in short communications
KR20150078148A (en) Apparatus for providing image matched with sentence and method thereof
KR102576358B1 (en) Learning data generating device for sign language translation and method of operation thereof
CN109979435B (en) Data processing method and device for data processing
KR102192447B1 (en) Method and for providing automatic translation in user conversation using multiple languages

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E601 Decision to refuse application