KR20220006203A - 번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램 - Google Patents

번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220006203A
KR20220006203A KR1020200083871A KR20200083871A KR20220006203A KR 20220006203 A KR20220006203 A KR 20220006203A KR 1020200083871 A KR1020200083871 A KR 1020200083871A KR 20200083871 A KR20200083871 A KR 20200083871A KR 20220006203 A KR20220006203 A KR 20220006203A
Authority
KR
South Korea
Prior art keywords
translation
data
sentences
original text
input
Prior art date
Application number
KR1020200083871A
Other languages
English (en)
Other versions
KR102409001B1 (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 KR1020200083871A priority Critical patent/KR102409001B1/ko
Publication of KR20220006203A publication Critical patent/KR20220006203A/ko
Application granted granted Critical
Publication of KR102409001B1 publication Critical patent/KR102409001B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)

Abstract

전술한 바와 같은 과제를 실현하기 위한 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 프로세서들로 하여금 번역 및 감수 효율화 기능을 제공하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은: 하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하는 동작, 상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하는 동작 및 상기 원문 데이터, 상기 번역 데이터 및 상기 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정하는 동작을 포함할 수 있다.

Description

번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램{A COMPUTER PROGRAM THAT PROVIDES FUNCTIONS TO STREAMLINE THE TRANSLATION AND PROOFREADING PROCESS}
본 개시는 원문 데이터에 대응하여 번역 데이터를 출력하는 번역 엔진을 제공하기 위한 것으로, 보다 구체적으로, 원문 데이터에 대한 번역 데이터 및 번역 데이터에 대한 감수 효율을 향상시키기 위한 사용자 인터페이스를 제공하기 위함이다.
컴퓨터 기술의 발전으로 처리할 수 있는 정보량이 늘어남에 따라 인공지능이 빠른 속도로 진화하고 있으며, 인공지능의 발전에 따라 기계 번역에 관심이 높아지고 있다. 이러한 기계 번역을 위한 서버 플랫폼으로는, 구글 번역기, 네이버 번역기 등을 비롯한 다양한 번역기가 존재한다.
근래에는 딥 러닝 알고리즘을 통해 기계 번역의 수준이 급상승함에 따라, 현재 양질의 번역 서비스가 공급되고 있다. 이러한 기계 번역은, 실시간으로 빠르게 원문에 대한 번역문을 제공할 수 있으며, 비용이 저렴하다는 장점이 있다.
다만, 기계 번역은 특수한 전문 분야의 지식에 관한 원문에 대하여 문맥을 고려하는 자연스러운 번역문 출력하는 데에는 한계가 있다. 또한, 기계 번역은, 출력된 번역문을 자체적으로 감수하기 위한 추가적인 기능이 없기 때문에, 번역한 문장에 오역 또는, 부자연스러운 문장이 존재하는지 여부를 사용자에게 인지시키기 어렵다.
이에 따라, 기계 번역을 통해 출력된 번역문에 대한 감수 과정에서의 감수자의 많은 노력과 시간이 필수적으로 요구된다. 예를 들어, 문학 작품에 관련한 원문을 기계 번역을 통해 번역하는 경우, 출력된 번역문에 오역 또는 부자연스러운 문장이 존재할 수 있으며, 이는, 원문에 대한 원작자의 의도를 해치는 결과를 가져올 우려가 있다. 즉, 번역문에 오역과 부자연스러운 문장이 존재함에 따라 발생되는 문제점들로 인해, 감수자의 감수 과정은 매우 중요할 수 있다. 원문의 양이 많을수록 감수해야할 번역문의 양은 많아지게 되며, 감수자의 노력과 시간이 더욱 가중될 수 있다.
따라서, 당 업계에는 기계 번역을 통해 원문에 대한 번역문을 제공하는 동시에, 번역문에 대한 감수자의 감수 작업의 효율을 극대화하기 위한 추가 기능들을 제공하는 컴퓨터 프로그램에 대한 수요가 존재할 수 있다.
등록특허공보 제10-1818598호(2016.08.09)
본 개시는 전술한 배경 기술에 대응하여 안출된 것으로, 원문 데이터에 대한 자동 변역 기능을 제공하고, 그리고 번역 데이터에 대한 감수 효율을 향상시키기 위한 사용자 인터페이스를 제공하기 위함이다.
본 개시가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 개시 일 실시예에서 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 프로세서들로 하여금 번역 및 감수 효율화 기능을 제공하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은: 하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하는 동작, 상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하는 동작 및 상기 원문 데이터, 상기 번역 데이터 및 상기 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정하는 동작을 포함할 수 있다.
대안적인 실시예에서, 상기 언어 번역 모델은, 제 1 언어로 구성된 학습 입력 데이터 세트 및 제 2 언어로 구성된 학습 출력 데이터 세트로 구성된 학습 데이터 세트를 통해 학습된 하나 이상의 네트워크 함수를 포함하며, 제 1 언어로 구성된 문장을 입력으로 하여 제 2 언어로 구성된 문장을 출력할 수 있다.
대안적인 실시예에서, 상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하는 동작은, 상기 언어 번역 모델의 학습에 활용되는 학습 입력 데이터 세트에 포함된 하나 이상의 문장 각각과 상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대한 유사도를 산출하는 동작 및 상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하여 산출된 유사도들 중 최대가 되는 유사도에 기초하여 상기 하나 이상의 문장 각각에 대응하는 일치도를 산출하는 동작을 포함할 수 있다.
대안적인 실시예에서, 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작을 더 포함할 수 있다.
대안적인 실시예에서, 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작은, 상기 번역 데이터에 포함된 하나 이상의 문장에 대한 역번역을 수행하여 역번역 데이터를 생성하는 동작─상기 역변역 데이터는, 상기 원문 데이터와 동일한 언어로 구성된 하나 이상의 문장을 포함함─ 및 상기 역번역 데이터에 포함된 하나 이상의 문장과 상기 원문 데이터에 포함된 하나 이상의 문장 중 서로 대응되는 문장 각각에 대한 비교에 기초하여 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작을 포함할 수 있다.
대안적인 실시예에서, 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작은, 상기 원문 데이터를 상기 언어 번역 모델과 각각 상이한 하나 이상의 언어 번역 서브 모델의 입력으로 처리하여 하나 이상의 추가 번역 데이터를 생성하는 동작 및 상기 번역 데이터에 포함된 하나 이상의 문장 각각과 상기 하나 이상의 추가 번역 데이터 각각에 포함된 하나 이상의 문장 각각의 비교에 기초하여 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작을 포함할 수 있다.
대안적인 실시예에서, 상기 사용자 인터페이스는, 상기 원문 데이터에 포함된 하나 이상의 문장을 표시하는 제 1 표시 영역 및 상기 번역 데이터에 포함된 하나 이상의 문장을 표시하는 제 2 표시 영역을 포함하며, 상기 제 2 표시 영역은, 하나 이상의 문장에 대한 교정과 관련한 사용자의 감수 입력을 허용하고, 그리고 상기 제 1 표시 영역 및 상기 제 2 표시 영역은 서로 대응되는 문장을 표시하도록 연동될 수 있다.
대안적인 실시예에서, 상기 제 2 표시 영역은, 하나 이상의 문장 각각에 포함된 하나 이상의 단어 중 적어도 하나의 단어에 대한 사용자의 단어 선택 입력을 허용하며, 상기 사용자 인터페이스는, 상기 단어 선택 입력에 대응하여 단어에 대한 정의 정보를 표시하기 위한 제 3 표시 영역을 포함할 수 있다.
대안적인 실시예에서, 상기 사용자 인터페이스는, 상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 정확성 정보를 표시하는 제 4 표시 영역을 포함하며, 상기 번역 정확성 정보는, 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대한 번역이 적절한지 여부를 예측하기 위한 정보로, 상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하는 일치도 및 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도 중 적어도 하나에 기초하여 생성될 수 있다.
대안적인 실시예에서, 상기 사용자 인터페이스는, 상기 원문 데이터에 포함된 하나 이상의 문장 각각의 일치도 및 상기 번역 데이터에 포함된 하나 이상의 문장 각각의 번역 신뢰도 중 적어도 하나에 기초하여 상기 제 1 표시 영역 및 상기 제 2 표시 영역에 포함된 하나 이상의 문장 각각에 시각적 효과를 부여하는 것을 특징으로 하며, 상기 시각적 효과는, 색상 부여 효과 및 폰트 변경 효과 중 적어도 하나를 포함할 수 있다.
대안적인 실시예에서, 상기 사용자 인터페이스는, 상기 제 1 표시 영역 및 상기 제 2 표시 영역 각각에 표시된 하나 이상의 문장들을 문장 단위로 분할하고, 분할된 문장들을 각각의 칼럼으로 재배치하여 표시하기 위한 사용자의 문장 분리 선택 입력을 수신하는 문장 분리 그래픽 객체를 포함할 수 있다.
대안적인 실시예에서, 상기 사용자 인터페이스는, 감수 작업 과정에서 상기 원문 데이터 및 상기 번역 데이터를 일시 저장하기 위한 사용자의 문서 저장 입력을 수신하는 저장 그래픽 객체를 포함할 수 있다.
대안적인 실시예에서, 상기 사용자 인터페이스는, 상기 번역 데이터에 대한 사용자의 다운로드 입력을 허용하기 위한 다운로드 그래픽 객체를 포함하고, 그리고 상기 프로세서는, 상기 다운로드 그래픽 객체에 대한 상기 사용자의 다운로드 입력에 대응하여 상기 원문 데이터 및 상기 번역 데이터 각각에 포함된 하나 이상의 문장들 중 서로 대응하는 문장들 각각을 매칭하여 라벨링함으로써 하나 이상의 추가 학습 데이터를 생성할 수 있다.
본 개시의 다른 일 실시예에서, 서버의 프로세서에서 수행되는 번역 및 감수 효율화 기능을 제공하기 위한 방법이 개시된다. 상기 방법은, 하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하는 단계, 상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하는 단계 및 상기 원문 데이터, 상기 번역 데이터 및 상기 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정하는 단계를 포함할 수 있다.
본 개시의 또 다른 실시예에서, 번역 및 감수 효율화 기능을 제공하기 위한 서버가 개시된다. 상기 서버는, 하나 이상의 코어를 포함하는 프로세서, 상기 프로세서에서 실행가능한 프로그램 코드들을 저장하는 메모리 및 사용자 단말과 데이터를 송수신하는 네트워크부를 포함하고, 그리고 상기 프로세서는, 하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하고, 상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하고, 그리고 상기 원문 데이터, 상기 번역 데이터 및 상기 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정할 수 있다.
본 개시는 전술한 배경 기술에 대응하여 안출된 것으로, 원문 데이터에 대한 기계 번역을 통해 번역 데이터를 제공함으로써, 번역에 대한 편의성을 제공할 수 있다. 추가적으로, 감수에 관련한 사용자 인터페이스를 제공함으로써, 번역 데이터에 대한 사용자의 감수 작업의 효율을 향상시키는 효과를 제공할 수 있다.
본 개시의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 구체적인 세부사항들 없이 실시될 수 있음은 명백할 것이다.
도 1은 본 개시의 일 실시예와 관련된 번역 및 감수 효율화 기능을 제공하기 위한 서버의 다양한 양태가 구현될 수 있는 시스템을 나타낸 개념도를 도시한다.
도 2는 본 개시의 일 실시예와 관련된 번역 및 감수 효율화 기능을 제공하기 위한 서버의 블록 구성도를 도시한다.
도 3은 본 개시의 일 실시예와 관련된 사용자 인터페이스에 대한 예시도를 도시한다.
도 4는 본 개시의 다른 실시예와 관련된 사용자 인터페이스에 대한 예시도를 도시한다.
도 5는 본 개시의 일 실시예에 관련된 네트워크 함수를 나타낸 개략도이다.
도 6은 본 개시의 일 실시예와 관련된 번역 및 감수 효율화 기능을 제공하기 위한 방법을 예시적으로 나타낸 순서도를 도시한다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시의 개시가 완전하도록 하고, 본 개시가 속하는 기술 분야의 통상의 기술자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 개시를 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 개시의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 개시가 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
명세서에서 사용되는 "부" 또는 “모듈”이라는 용어는 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, "부" 또는 “모듈”은 어떤 역할들을 수행한다. 그렇지만 "부" 또는 “모듈”은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부" 또는 “모듈”은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부" 또는 “모듈”은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부" 또는 “모듈”들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부" 또는 “모듈”들로 결합되거나 추가적인 구성요소들과 "부" 또는 “모듈”들로 더 분리될 수 있다.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.
당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시 적 논리적 블록들, 구성들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시적 컴포넌트들, 블록들, 구성들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 개시내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.
이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.
도 1은 본 개시의 일 실시예와 관련된 번역 및 감수 효율화 기능을 제공하기 위한 서버의 다양한 양태가 구현될 수 있는 시스템을 나타낸 개념도를 도시한다.
본 개시의 실시예들에 따른 시스템은 서버(100), 사용자 단말(10), 외부 서버(20) 및 네트워크를 포함할 수 있다. 본 개시의 실시예들에 따른 서버(100), 사용자 단말(10) 및 외부 서버(20)는 네트워크를 통해, 본 개시의 일 실시예들에 따른 시스템을 위한 데이터를 상호 송수신할 수 있다.
본 개시의 실시예들에 따른 네트워크는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.
또한, 여기서 제시되는 네트워크는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.
본 개시의 실시예들에 따른 네트워크는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다. 본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.
본 개시의 일 실시예에 따르면, 서버(100)는 사용자 단말(10)로부터 원문 데이터를 수신할 수 있으며, 수신한 원문 데이터에 대응하는 번역 데이터를 생성하여 제공할 수 있다. 구체적으로, 서버(100)는 하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성할 수 있다. 이 경우, 언어 번역 모델은 제 1 언어로 구성된 학습 입력 데이터 세트 및 제 2 언어로 구성된 학습 출력 데이터 세트를 포함하는 학습 데이터 세트를 통해 학습된 하나 이상의 네트워크 함수로 구성될 수 있다. 즉, 언어 번역 모델은 제 1 언어로 구성된 문장을 입력으로 하여 제 2 언어로 구성된 문장으로 번역하여 출력하는 신경망 모델일 수 있다. 이 경우, 제 1 언어는 사용자가 번역을 수행하고자 시작 언어와 관련한 언어일 수 있으며, 제 2 언어는 원문에 대한 번역의 결과물인 도착 언어와 관련한 언어일 수 있다. 예를 들어, 제 1 언어는 한국어일 수 있으며, 제 2 언어는 영어일 수 있다. 다른 예를 들어, 제 1 언어는 일본어일 수 있으며, 제 2 언어는 중국어일 수 있다. 다만, 본 개시는 이에 제한되는 것은 아니고, 번역의 대상이 되는 제 1 언어 및 번역의 결과물인 제 2 언어는 다양한 언어를 포함할 수 있다. 즉, 본 개시의 서버(100)는 다양한 언어에 대한 기계 번역을 제공할 수 있다.
또한, 서버(100)는 언어 번역 모델의 학습 입력 데이터와 원문 데이터의 일치도를 산출할 수 있다. 구체적으로, 서버(100)는 언어 번역 모델의 학습에 활용되는 학습 입력 데이터 세트에 포함된 하나 이상의 문장 각각과 원문 데이터에 포함된 하나 이상의 문장 각각에 대한 유사도를 산출할 수 있다. 서버(100)는 각 문장에 대응하여 산출된 유사도들 중 최대가 되는 유사도에 기초하여 원문 데이터에 포함된 각 문장에 대응하는 일치도를 산출할 수 있다. 즉, 서버(100)가 산출하는 일치도는 원문 데이터에 포함된 하나 이상의 문장 각각이 사전에 신경망 학습에 활용된 학습 입력 데이터에 포함된 문장들과 얼마나 유사한지 여부에 관한 정보일 수 있다.
즉, 프로세서(130)는 신경망의 학습에 활용된 학습 데이터에 포함된 문장들 각각과 사용자가 번역을 수행하고자 하는 원문 데이터에 포함된 문장들 각각이 얼마나 유사한지 여부에 대한 정보를 포함하는 일치도를 통해 번역의 적정성 여부를 판별하기 위한 기준을 제시할 수 있다. 예를 들어, 원문 데이터에 포함된 문장이 언어 번역 모델의 학습에 활용된 학습 데이터에 포함된 문장과 일치도가 높은 경우, 해당 문장과 유사한 문장에 대한 학습은 이미 수행된 것이므로, 해당 원문 데이터에 대한 언어 번역 모델의 출력은 보다 높은 정확도로 출력된 번역 데이터일 수 있다. 다른 예를 들어, 원문 데이터에 포함된 문장이 언어 번역 모델의 학습에 활용된 학습 데이터에 포함된 문장과 일치도가 보다 낮은 경우, 해당 문장과 유사한 문장에 대한 학습은 수행되지 않은 것이므로, 해당 원문 데이터에 대한 언어 번역 모델의 출력은 보다 낮은 정확도록 출력된 번역 데이터일 수 있다.
또한, 서버(100)는 원문 데이터, 번역 데이터 및 일치도를 포함하는 사용자 인터페이스를 생성하고, 생성된 사용자 인터페이스를 사용자 단말(10)로 제공할 수 있다. 원문 데이터, 번역 데이터, 각 문장에 대한 일치도는, 사용자의 감수 과정에서 사용자 인터페이스에 표시되어 제공됨에 따라, 사용자의 감수 효율이 증대될 수 있다. 다시 말해, 사용자는 번역 데이터의 번역이 적정한지 여부를 판별하기 위한 기준이되는 각 문장의 일치도에 기반하여 번역 데이터의 문장들 중 감수가 더욱 필요할 것으로 예상되는 문장들을 용이하게 식별할 수 있어, 감수의 효율이 향상될 수 있다. 본 개시의 서버(100)의 구체적인 구성 및 해당 구성에 따른 효과들은 하기의 도 2를 참조하여 자세히 후술하도록 한다.
또한, 서버(100)는 단말 또는 서버일 수 있으며, 임의의 형태의 장치는 모두 포함할 수 있다. 서버(100)는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다. 서버(100)는 서비스를 처리하는 웹 서버일 수 있다. 전술한 서버의 종류는 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에 따르면, 서버(100)는 클라우드 컴퓨팅 서비스를 제공하는 서버일 수 있다. 보다 구체적으로, 서버(100)는 인터넷 기반 컴퓨팅의 일종으로 정보를 사용자의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 클라우드 컴퓨팅 서비스를 제공하는 서버일 수 있다. 상기 클라우드 컴퓨팅 서비스는 인터넷 상에 자료를 저장해 두고, 사용자가 필요한 자료나 프로그램을 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제 어디서나 이용할 수 있는 서비스일 수 있으며, 인터넷 상에 저장된 자료들을 간단한 조작 및 클릭으로 쉽게 공유하고 전달할 수 있다. 또한, 클라우드 컴퓨팅 서비스는 인터넷 상의 서버에 단순히 자료를 저장하는 것뿐만 아니라, 별도로 프로그램을 설치하지 않아도 웹에서 제공하는 응용프로그램의 기능을 이용하여 원하는 작업을 수행할 수 있으며, 여러 사람이 동시에 문서를 공유하면서 작업을 진행할 수 있는 서비스일 수 있다. 또한, 클라우드 컴퓨팅 서비스는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service), 가상 머신 기반 클라우드 서버 및 컨테이너 기반 클라우드 서버 중 적어도 하나의 형태로 구현될 수 있다. 즉, 본 개시의 서버(100)는 상술한 클라우드 컴퓨팅 서비스 중 적어도 하나의 형태로 구현될 수 있다. 전술한 클라우드 컴퓨팅 서비스의 구체적인 기재는 예시일 뿐, 본 개시의 클라우드 컴퓨팅 환경을 구축하는 임의의 플랫폼을 포함할 수도 있다.본 개시의 일 실시예에 따르면, 사용자 단말(10)은 서버(100)와의 정보 교환을 통해 원문 데이터에 대한 번역 데이터에 관련한 정보를 제공받을 수 있는 단말로, 사용자가 소지한 단말을 의미할 수 있다. 예컨대, 사용자 단말(10)은 특정 언어로 작성된 원문 데이터를 다른 언어로 번역하고자 하는 사용자 또는, 번역 데이터에 대한 감수를 수행하고자 하는 사용자에 관련한 단말일 수 있다. 사용자는 사용자 단말(10)을 통해 원문 데이터에 대응하는 번역 데이터 및 번역 데이터의 감수 작업의 편의성을 향상시키기 위한 사용자 인터페이스 등을 수신할 수 있다.
이러한 사용자 단말(10)은 고객 단말기(UE), 모바일, 무선 통신이 가능한 PC, 핸드폰, 키오스크, 셀룰러 폰, 셀룰러, 셀룰러 단말, 가입자 유닛, 가입자국, 이동국, 단말, 원격국, PDA, 원격 단말, 엑세스 단말, 사용자 에이전트, 셀룰러 전화, 무선 전화, 세션 개시 프로토콜(SIP) 전화, 무선 로컬 루프(WLL) 국, 무선 접속 기능을 구비하는 휴대용 장치, 무선 모델과 같은, 무선 메커니즘을 사용할 수 있는 임의의 장치 등으로 지칭될 수 있으나, 이에 한정되지는 않는다. 또한, 사용자 단말(10)은, 유선 팩스, 유선 모델을 구비한 PC, 유선 전화, 유선 통신이 가능한 단말 등과 같은 유선 접속 메커니즘을 사용할 수 있는 임의의 장치 등으로 지칭될 수 있으나, 이들로 한정되지는 않는다.
본 개시의 일 실시예에 따르면, 외부 서버(20)는 다양한 언어에 대응하는 복수의 원문 및 복수의 원문 각각에 대응하는 번역문에 대한 정보 등을 저장하는 서버일 수 있다. 외부 서버(20)에 저장된 정보들은 본 개시에서의 신경망을 학습시키기 위한 학습 데이터, 검증 데이터 및 테스트 데이터로 활용될 수 있다. 즉, 외부 서버(20)는 본 개시의 언어 번역 모델을 학습시키기 위한 학습 데이터 세트를 저장하고 있는 서버일 수 있다.
본 개시의 서버(100)는 외부 서버(20)로부터 원문 및 원문에 대응하는 번역문에 대한 정보를 포함하는 학습 데이터를 수신하고, 그리고 수신한 학습 데이터에 기초하여 하나 이상의 네트워크 함수를 포함하는 언어 번역 모델을 학습시킴으로써, 원문 데이터에 대한 번역 데이터를 출력하기 위한 언어 번역 모델을 생성할 수 있다.
외부 서버(20)는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다. 외부 서버(20)는 서비스를 처리하는 웹 서버일 수 있다. 전술한 서버의 종류는 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
이하에서는, 도 2를 참조하여 서버(100)가 원문 데이터에 대응하는 번역 데이터를 출력하는 방법 및 감수자의 감수 효율을 증대시키기 위한 사용자 인터페이스를 생성하는 방법에 대하여 보다 구체적으로 후술하도록 한다.
도 2는 본 개시의 일 실시예와 관련된 번역 및 감수 효율화 기능을 제공하기 위한 서버의 블록 구성도를 도시한다.
도 2에 도시된 바와 같이, 서버(100)는 네트워크부(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 전술한 서버(100)에 포함된 컴포넌트들은 예시적인 것으로서 본 개시내용의 권리범위가 전술한 컴포넌트들로 제한되지 않는다. 즉, 본 개시내용의 실시예들에 대한 구현 양태에 따라서 추가적인 컴포넌트들이 포함되거나 또는 전술한 컴포넌트들 중 일부가 생략될 수 있다.
본 개시의 일 실시예에 따르면, 서버(100)는 사용자 단말(10) 및 외부 서버(20)와 데이터를 송수신하는 네트워크부(110)를 포함할 수 있다. 네트워크부(110)는 본 개시의 일 실시예에 따른 원문 데이터에 대응하는 번역 데이터 및 번역 데이터의 감수를 위한 사용자 인터페이스 등을 다른 컴퓨팅 장치, 서버 등과 송수신할 수 있다. 즉, 네트워크부(110)는 서버(100)와 사용자 단말(10) 및 외부 서버(20) 간의 통신 기능을 제공할 수 있다. 예를 들어, 네트워크부(110)는 사용자 단말(10)로부터 번역의 대상이 되는 원문 데이터를 수신할 수 있다. 추가적으로, 네트워크부(110)는 서버(100)로 프로시저를 호출하는 방식으로 서버(100)와 사용자 단말(10) 및 외부 서버(20) 간의 정보 전달을 허용할 수 있다.
본 개시의 일 실시예에 따른 네트워크부(110)는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.
또한, 본 명세서에서 제시되는 네트워크부(110)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.
본 개시에서 네트워크부(110)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다. 본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.
본 개시의 일 실시예에 따르면, 메모리(120)는 본 개시의 일 실시예에 따른 원문 데이터에 대응하는 번역 데이터를 제공하는 방법을 수행하기 위한 컴퓨터 프로그램을 저장할 수 있으며, 저장된 컴퓨터 프로그램은 프로세서(130)에 의하여 판독되어 구동될 수 있다. 또한, 메모리(120)는 프로세서(130)가 생성하거나 결정한 임의의 형태의 정보 및 네트워크부(110)가 수신한 임의의 형태의 정보를 저장할 수 있다. 또한, 메모리(120)는 사용자 단말(10)로부터 수신한 원문 데이터 및 번역 데이터에 대한 사용자 단말(10)의 감수 입력에 관련한 정보들을 저장할 수 있다. 예를 들어, 메모리(120)는 입/출력되는 데이터들(예를 들어, 신경망 학습을 위한 학습 데이터, 원문 데이터, 번역 데이터 및 번역 데이터에 대한 사용자의 감수 입력에 관한 정보 등)을 임시 또는 영구 저장할 수도 있다.
본 개시의 일 실시예에 따르면, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 서버(100)는 인터넷(internet) 상에서 상기 메모리(120)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다. 전술한 메모리에 대한 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
본 개시의 일 실시예에 따르면, 프로세서(130)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다.
프로세서(130)는 메모리(120)에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 기계 학습을 위한 데이터 처리를 수행할 수 있다. 본 개시의 일실시예에 따라 프로세서(130)는 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서(130)는 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다.
또한, 프로세서(130)의 CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에서 복수의 컴퓨팅 장치의 프로세서를 함께 사용하여 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 개시의 일 실시예에 따른 서버에서 수행되는 컴퓨터 프로그램은 CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.
본 명세서에서 네트워크 함수는 인공 신경망, 뉴럴 네트워크와 상호 교환 가능하게 사용될 수 있다. 본 명세서에서 네트워크 함수는 하나 이상의 뉴럴 네트워크를 포함할 수도 있으며, 이 경우 네트워크 함수의 출력은 하나 이상의 뉴럴 네트워크의 출력의 앙상블(ensemble)일 수 있다.
본 명세서에서 모델은 네트워크 함수를 포함할 수 있다. 모델은 하나 이상의 네트워크 함수를 포함할 수도 있으며, 이 경우 모델의 출력은 하나 이상의 네트워크 함수의 출력의 앙상블일 수 있다.
프로세서(130)는 메모리(120)에 저장된 컴퓨터 프로그램을 판독하여 본 개시의 일 실시예에 따른 언어 번역 모델을 제공할 수 있다. 본 개시의 일 실시예에 따라, 프로세서(130)는 하나 이상의 문장을 포함하는 원문 데이터에 기초하여 번역 데이터를 산출하기 위한 계산을 수행할 수 있다. 본 개시의 일 실시예에 따라 프로세서(130)는 언어 번역 모델을 학습시키기 위한 계산을 수행할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(130)는 통상적으로 서버(100)의 전반적인 동작을 처리할 수 있다. 프로세서(130)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(120)에 저장된 응용 프로그램을 구동함으로써, 사용자 단말(10)에게 적정한 정보 또는, 기능을 제공하거나 처리할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(130)는 사용자 단말(10)로부터 원문 데이터를 수신할 수 있다. 원문 데이터는, 사용자가 번역을 수행하고자 하는 언어와 관련한 하나 이상의 문장을 포함하는 데이터일 수 있다. 하나 이상의 문장은 복수의 텍스트로 구성될 수 있다. 원문 데이터는 예를 들어, 사용자가 번역을 수행하고자 하는 언어로 작성된 한글 문서, 워드 문서, 텍스트 문서, pdf 문서 등을 포함할 수 있다. 전술한 원문 데이터에 대한 구체적인 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
프로세서(130)는 네트워크부(110)를 통해 원문 데이터는 수신할 수 있다. 본 개시의 일 실시예에 따른 원문 데이터 수신은, 메모리(120)에 저장된 원문 데이터를 수신하거나 또는, 로딩(loading)하는 것일 수 있다. 원문 데이터의 수신은, 유/무선 통신 수단에 기초하여 다른 저장 매체에, 다른 컴퓨팅 장치, 동일한 컴퓨팅 장치 내의 별도 처리 모듈로부터 원문 데이터를 수신하거나 또는 로딩하는 것일 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(130)는 하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성할 수 있다.
일 실시예에 따르면, 언어 번역 모델은, 인공 신경망 기반의 기계 번역(Neural Machine Translation, NMT)을 수행하는 모델일 수 있다. 언어 번역 모델은 입력 문장을 문장 벡터 형태로 변환하고, 변환된 문장 벡터를 기반으로 출력 언어의 문장을 생성할 수 있다. 이 경우, 입력 문장을 문장 벡터로 변환하는 부분은 인코더(Encoder)일 수 있으며, 출력 문장을 생성하는 부분은 디코더(Decoder)일 수 있다. 언어 번역 모델은, 학습 입력 데이터 및 학습 결과 데이터로 구성된 학습 데이터를 통해 인코더와 디코더의 인공 신경망을 구성하는 수많은 파라미터 값을 자동으로 학습할 수 있다.
다른 예를 들어, 언어 번역 모델은 말뭉치 기반 기계 번역(Corpus-based Machine Translation, CMT)을 수행하는 신경망 모델일 수 있다. 말뭉치 기반 기계 번역은, 예시 기반 기계 번역(Example-Based Machine Translation, EBMT) 및 통계 기반 기계 번역(Statistical Machine Translation, SMT)을 포함할 수 있다. 예시 기반 기계 번역은, 번역한 원문과 번역문의 정보를 저장해두었다가, 동일한 문장의 번역 요청에 대응하여 기 저장된 정보를 활용해 번역 결과를 출력하는 방식의 기계 번역일 수 있다. 통계 기반 기계 번역은 원문과 번역문의 언어 상관관계 빈도수를 분석하고 이를 통계화하여 번역문 산출에 활용하는 방식의 기계 번역일 수 있다.
즉, 언어 번역 모델은, 학습 입력 데이터 및 학습 출력 데이터로 구성된 학습 데이터를 통해 하나 이상의 문장을 포함하는 원문 데이터를 입력으로하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하도록 학습된 신경망 모델일 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(130)는 언어 번역 모델의 학습 입력 데이터와 원문 데이터의 일치도를 산출할 수 있다. 보다 구체적으로, 프로세서(130)는 언어 번역 모델의 학습에 활용되는 학습 입력 데이터 세트에 포함된 하나 이상의 문장 각각과 원문 데이터에 포함된 하나 이상의 문장 각각에 대한 유사도를 산출할 수 있다. 이 경우, 유사도 비교에 대상이 되는 학습 입력 데이터 및 원문 데이터는 동일한 언어로 구성된 것일 수 있다.
프로세서(130)는 원문 데이터를 수신하는 경우, 대응하는 학습 입력 데이터의 클래스를 식별할 수 있다. 학습 입력 데이터의 클래스는, 언어의 종류 별로 구분한 학습 입력 데이터들의 조합일 수 있다. 이러한 학습 입력 데이터의 클래스는, 프로세서(130)에 의해 언어 번역 모델의 학습 과정에서 사전 분류된 것일 수 있다. 예를 들어, 학습 입력 데이터의 제 1 클래스는, 한국어에 대응하는 학습 입력 데이터의 조합일 수 있으며, 학습 입력 데이터의 제 2 클래스는, 영어에 대응하는 학습 입력 데이터의 조합일 수 있다. 전술한, 각 클래스에 대응하는 언어의 종류는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
구체적인 예를 들어, 사용자 단말(10)로부터 수신한 원문 데이터가 영어로 작성된 데이터이며, 제 1 클래스가 영어에 대응하는 학습 입력 데이터의 조합인 경우, 프로세서(130)는 원문 데이터와 가장 유사한 단어를 포함하는 제 1 클래스를 식별하여 원문 데이터가 영어로 작성된 것임을 식별할 수 있다. 또한, 프로세서(130)는 영어에 대응하는 제 1 클래스에 포함된 학습 입력 데이터에 포함된 하나 이상의 문장 각각과 원문 데이터에 포함된 하나 이상의 문장 각각의 유사도를 산출할 수 있다. 또한, 프로세서(130)는 제 1 클래스에 포함된 학습 입력 데이터에 포함된 하나 이상의 문장 각각과 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하여 산출된 유사도 중 최대가 되는 유사도에 기초하여 원문 데이터에 포함된 하나 이상의 문장 각각에 대한 일치도를 산출할 수 있다. 예를 들어, 원문 데이터가 3개의 문장을 포함하는 경우, 학습 입력 데이터에 포함된 문장들 중 원문 데이터에 포함된 3개의 문장 각각과 최대의 유사도를 가진 문장이 3개의 문장 각각의 일치도 산출에 기여할 수 있다. 구체적인 예를 들어, 학습 입력 데이터에 포함된 복수의 문장들 중 제 1 학습 문장이 원문 데이터에 포함된 제 1 문장과의 유사도가 90%로, 최대 유사도를 갖는 경우, 프로세서(130)는 최대가 되는 유사도에 기초하여 원문 데이터에 포함된 제 1 문장에 대응하는 일치도를 90%으로 산출할 수 있다. 전술한 원문 데이터 및 학습 입력 데이터에 포함된 하나 이상의 문장에 대한 구체적인 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
즉, 프로세서(130)는 원문 데이터를 수신하는 경우, 언어 번역 모델의 학습 데이터들 중 원문 데이터에 대응하는 학습 입력 데이터의 클래스를 식별할 수 있으며, 식별된 클래스의 학습 입력 데이터들(즉, 원문 데이터와 동일한 언어로 작성된 학습 입력 데이터들)에 포함된 하나 이상의 문장 각각과 원문 데이터 포함된 하나 이상의 문장 각각의 유사도에 기초하여 각 문장에 대한 일치도를 산출할 수 있다. 이 경우, 각 문장에 대하여 산출된 일치도는, 번역의 적정성 여부를 판별하기 위한 기준이 될 수 있다. 예를 들어, 원문 데이터에 포함된 문장이 언어 번역 모델의 학습에 활용된 학습 데이터에 포함된 문장과 일치도가 높은 경우, 해당 문장과 유사한 문장에 대한 학습은 이미 수행된 것이므로, 해당 원문 데이터에 대한 언어 번역 모델의 출력은 보다 높은 정확도로 출력된 번역 데이터일 수 있다. 다른 예를 들어, 원문 데이터에 포함된 문장이 언어 번역 모델의 학습에 활용된 학습 데이터에 포함된 문장과 일치도가 보다 낮은 경우, 해당 문장과 유사한 문장에 대한 학습은 수행되지 않은 것이므로, 해당 원문 데이터에 대한 언어 번역 모델의 출력은 보다 낮은 정확도록 출력된 번역 데이터일 수 있다.
따라서, 프로세서(130)는 번역 데이터에 포함된 하나 이상의 문장 각각에 대한 일치도를 산출함으로써, 번역의 적정성 여부를 판별하기 위한 기준을 제시할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(130)는 번역 데이터에 포함된 하나 이상의 문장 각각에 대한 번역 신뢰도를 산출할 수 있다. 번역 신뢰도는, 원문 데이터에 대응하여 번역된 번역 데이터에 포함된 각각의 문장에 대응하여 산출되는 것으로, 언어 번역 모델의 번역 정확성을 식별하기 위한 기준이 되는 정보일 수 있다.
보다 자세히 설명하면, 프로세서(130)는 원문 데이터에 대응하여 생성된(또는, 번역된) 번역 데이터에 포함된 하나 이상의 문장에 대한 역번역(back-translation)을 수행하여 역번역 데이터를 생성할 수 있다. 이 경우, 프로세서(130)가 수행하는 역번역은, 번역 데이터를 원문 데이터에 대응하는 언어로 재번역하는 것을 의미할 수 있다. 프로세서(130)는 역번역 데이터에 포함된 하나 이상의 문장과 원문 데이터에 포함된 하나 이상의 문장 중 서로 대응되는 문장 각각에 대한 비교에 기초하여 번역 데이터에 포함된 하나 이상의 문장 각각에 대한 번역 신뢰도를 산출할 수 있다. 서로 대응되는 문장은, 번역 데이터에 포함된 문장 각각에 대응하는 원문 데이터의 각 문장 및 역번 데이터의 각 문장을 의미할 수 있다.
구체적인 예를 들어, 한국어로 작성된 원문 데이터를 영어로 작성된 번역 데이터로 번역하고자 하는 경우, 프로세서(130)는 원문 데이터를 언어 번역 모델의 입력으로 번역 데이터를 생성할 수 있다. 이 경우, 프로세서(130)는 번역 데이터에 포함된 문장들의 번역의 정확성을 판별하기 위하여 각 문장에 대응하는 번역 신뢰도를 산출할 수 있다. 프로세서(130)는 영어로 작성된 번역 데이터를 언어 번역 모델의 입력으로 처리하여 한국어로 작성된 역번역 데이터를 생성할 수 있다. 또한, 프로세서(130)는 동일하게 한국어로 작성된 원문 데이터와 역번역 데이터에 포함된 각각의 문장에 대한 비교에 기초하여 번역 신뢰도를 산출할 수 있다.
예를 들어, 원문 데이터에 포함된 제 1 문장과 상기 제 1 문장에 대응하는 제 1 역번역 문장의 비교 결과, 각 문장의 구조 또는 의미가 유사한 것으로 판별되는 경우, 프로세서(130)는 제 1 번역 문장에 대한 번역의 정확성이 높은 것으로 판단하여 보다 높은 번역 신뢰도를 산출할 수 있다.
다른 예를 들어, 원문 데이터에 포함된 제 2 문장과 상기 제 2 문장에 대응하는 제 2 역번역 문장의 비교 결과, 각 문장의 구조 또는 의미가 유사하지 않은 것으로 판별되는 경우, 프로세서(130)는 제 2 번역 문장에 대한 번역의 정확성이 낮은 것으로 판단하여 보다 낮은 번역 신뢰도를 산출할 수 있다. 전술한 원문 데이터, 번역 데이터 및 역번역 데이터에 대한 구체적인 기재들은 예시일 뿐, 본 개시는 이에 제한되지 않는다.
즉, 프로세서(130)는 원문 데이터에 대응하여 생성된 번역 데이터에 대한 역번역을 수행함으로써, 번역 데이터에 포함된 각각의 문장들에 대한 번역 신뢰도를 산출할 수 있다. 이러한 번역 데이터의 각 문장에 대한 번역 신뢰도는 번역에 대한 정확성을 나타내는 것으로, 감수 과정에서 감수자에게 번역 데이터에 포함된 각 문장에 대한 번역의 정확성을 인지시키는 정보를 제공할 수 있다.
본 개시의 다른 실시예에 따르면, 프로세서(130)는 원문 데이터를 언어 번역 모델과 각각 상이한 하나 이상의 언어 번역 서브 모델의 입력으로 처리하여 하나 이상의 추가 번역 데이터를 생성할 수 있다. 또한, 프로세서(130)는 번역 데이터에 포함된 하나 이상의 문장 각각과 하나 이상의 추가 번역 데이터 각각에 포함된 하나 이상의 문장 각각의 비교에 기초하여 번역 신뢰도를 산출할 수 있다. 본 개시는 언어 번역 모델과 각각 상이한 방식 또는 상이한 학습 데이터를 통해 학습된 하나 이상의 언어 번역 서브 모델을 더 포함할 수 있다. 예를 들어, 언어 번역 모델이 예시 기반 기계 번역 출력 모델인 경우, 제 1 언어 번역 서브 모델은 통계 기반 기계 번역 출력 모델일 수 있으며, 제 2 언어 번역 서브 모델은 인공 신경망 기반의 기계 번역 출력 모델일 수 있다. 즉, 언어 번역 모델, 제 1 언어 번역 서브 모델 및 제 2 언어 번역 서브 모델은 각각 상이한 방식으로 원문에 대한 번역문을 출력을 생성하는 번역 모델일 수 있다.
프로세서(130)는 원문 데이터를 언어 번역 모델, 제 1 언어 번역 서브 모델 및 제 2 언어 번역 서브 모델 각각의 입력으로 처리하여 번역 데이터, 제 1 번역 데이터 및 제 2 번역 데이터를 생성할 수 있다. 이 경우, 프로세서(130)는 각 모델을 통해 산출된 번역 데이터, 제 1 번역 데이터 및 제 2 번역 데이터 각각에 포함된 문장들 간의 비교에 기초하여 번역 신뢰도를 산출할 수 있다. 예를 들어, 각 번역 데이터에 포함된 문장들(예컨대, 제 1 번역 문장, 제 1 번역 서브 문장 및 제 2 번역 서브 문장) 간의 비교 결과, 해당 문장들의 구조 또는 의미가 유사한 경우, 보다 높은 번역 신뢰도를 산출할 수 있으며, 해당 문장들의 구조 또는 의미가 유사하지 않은 경우, 보다 낮은 번역 신뢰도를 산출할 수 있다. 전술한 언어 번역 모델, 제 1 언어 번역 모델 및 제 2 언어 번역 모델에 대한 구체적인 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
즉, 프로세서(130)는 하나 이상의 언어 번역 서브 모델들을 통해 생성된 번역 데이터들을 활용하여 번역 데이터에 포함된 문장 각각의 번역 정확성을 판별하기 위한 기준이 되는 번역 신뢰도를 산출할 수 있다. 각 문장에 대한 번역 신뢰도는 번역에 대한 정확성을 예측하기 위한 것으로, 감수 과정에서 감수자에게 번역 데이터의 각 문장의 정확성에 대한 인지 정보를 제공할 수 있다.
본 개시의 일 실시예에 따르면, 프로세서(130)는 원문 데이터, 번역 데이터 및 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정할 수 있다. 구체적으로, 프로세서(130)는 원문 데이터에 포함된 하나 이상의 문장을 표시하는 제 1 표시 영역, 번역 데이터 포함된 하나 이상의 문장을 표시하는 제 2 표시 영역, 사용자의 단어 선택 입력에 대응하여 단어에 대한 정의 표시하기 위한 제 3 표시 영역 및 번역 데이터에 포함된 하나 이상의 문장 각각에 대한 일치도를 표시하는 제 4 표시 영역을 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정할 수 있다. 프로세서(130)가 생성하여 제공하는 사용자 인터페이스에 대한 구체적인 설명은 도 3 및 도 4를 참조하여 이하에서 후술하도록 한다.
도 3에 도시된 바와 같이, 사용자 인터페이스(200)는, 원문 데이터에 포함된 하나 이상의 문장을 표시하는 제 1 표시 영역(210) 및 번역 데이터 포함된 하나 이상의 문장을 표시하는 제 2 표시 영역(220)을 포함할 수 있다. 제 1 표시 영역(210)과 제 2 표시 영역(220)은 서로 대응되는 문장을 표시하도록 연동될 수 있다. 예를 들어, 제 1 표시 영역(210)에 대한 사용자의 스크롤 입력을 통한 제 1 표시 영역(210)에 표시되는 원문 데이터의 문장들의 위치 변화에 대응하여 제 2 표시 영역(220)에 표시되는 변역 데이터의 문장들의 위치가 변화될 수 있다. 즉, 제 1 표시 영역(210) 및 제 2 표시 영역(220)은 연동되어 서로 대응되는 문장을 표시할 수 있다.
사용자 인터페이스(200)에 포함된 제 2 표시 영역(220)은 하나 이상의 문장에 대한 교정과 관련한 사용자의 감수 입력을 허용할 수 있다. 사용자의 감수 입력은, 언어 번역 모델을 통해 생성된 번역 데이터에 대한 하나 이상의 문장 중 적어도 하나의 문장에 대한 교정 또는 수정하기 위한 사용자의 입력에 관련한 것일 수 있다.
즉, 사용자는 제 1 표시 영역(210)에 표시된 원문 데이터를 참조하여 제 2 표시 영역(220) 표시된 번역 데이터에 대한 감수를 수행할 수 있어, 편의성이 증대될 수 있다. 또한, 각 표시 영역이 서로 연동됨에 따라, 감수 과정에서 최소한의 입력(즉, 하나의 영역에 대한 입력)으로 원문과 번역문에서 서로 대응되는 문장을 참조할 수 있어 감수의 편의성을 더욱 증대될 수 있다.
또한, 제 2 표시 영역(220)은, 하나 이상의 문장 각각에 포함된 하나 이상의 단어 중 적어도 하나에 대한 사용자의 단어 선택 입력을 허용할 수 있다. 사용자의 단어 선택 입력은, 번역 데이터에 포함된 하나 이상의 문장에 포함된 복수의 단어들 중 적어도 하나의 단어에 대한 정보를 식별하고자 하는 사용자의 입력에 관련한 것일 수 있다.
프로세서(130)는 신경망의 학습 과정에서 활용된 학습 데이터 세트에 기반하여 사용자의 단어 선택 입력에 대응하는 단어 정보를 제공할 수 있다. 학습 데이터는 하나 이상의 문장을 포함하며, 하나 이상의 문장은 단어로 구성될 수 있다. 신경망의 학습 과정에서 활용되는 학습 데이터 세트는, 문장을 구성하는 복수의 단어 및 각각의 단어에 태깅(Tagging)된 단어 정의 정보를 포함할 수 있다. 즉, 사용자 인터페이스(200)를 통해 특정 단어에 대한 사용자의 단어 선택 입력을 수신하는 경우, 프로세서(130)는 학습 데이터 세트에 기반하여 해당 특정 단어에 관련한 단어 정의 정보를 제 3 표시 영역(240)에 표시할 것을 결정할 수 있다.
사용자 인터페이스는, 제 2 표시 영역(220)에서의 특정 단어에 대한 사용자의 단어 선택 입력에 대응하여 단어에 대한 정의 정보를 표시하기 위한 제 3 표시 영역(240)을 포함할 수 있다.
즉, 도 3에 도시된 바와 같이, 사용자 인터페이스(200)는 제 2 표시 영역(220)에 포함된 단어들 중 적어도 하나에 대한 사용자의 단어 선택 입력에 대응하여 제 3 표시 영역(240)에 사용자의 입력에 관련한 단어의 정의 정보를 표시할 수 있다. 이러한 단어의 정의 정보는, 예를 들어, 단어의 품사에 관한 정보, 의미에 관한 정보, 동의어에 관한 정보, 반의어에 관한 정보 등을 포함할 수 있다. 또한, 단어 정의 정보는 예를 들어, 해당 단어를 포함하는 하나 이상의 예문에 대한 정보를 포함할 수 있다. 이러한 예문들은, 단어의 정의를 제대로 이해했는지 여부를 확인시키거나, 문장 속에서 해당 단어가 다른 문장 요소들과 문법적으로 어떻게 결합하는지를 인지시키거나, 또는 해당 단어가 어떠한 용법으로 활용되는지를 인지시키기 위한 것일 수 있다. 다만, 이에 한정되는 것은 아니고, 제 3 표시 영역(240)에 표시되는 단어 정의 정보는 단어에 연관된 다양한 정보를 더 포함할 수 있다.
또한, 사용자 인터페이스는, 서로 대응되는 문장 각각에 대한 일치도를 표시하는 제 4 표시 영역(230)을 포함할 수 있다. 구체적인 예를 들어, 프로세서(130)는 원문 데이터의 제 1 원문 문장(211), 제 2 원문 문장(212) 및 제 3 원문 문장(213) 각각과 학습 입력 데이터에 포함된 문장의 일치도를 각각 90%, 100% 및 80%으로 산출할 수 있다. 이 경우, 프로세서(130)는 원문 데이터에 대응하는 번역 데이터에 포함된 제 1 번역 문장(221), 제 2 번역 문장(222) 및 제 3 번역 문장(223) 각각에 대응하는 칼럼(column, 또는 열)에 90%, 100% 및 80%을 표시할 수 있다. 즉, 도 3에 도시된 바와 같이, 제 4 표시 영역(230)에는 번역 데이터의 제 1 번역 문장(221), 제 2 번역 문장(222) 및 제 3 번역 문장(223) 각각에 대응하는 칼럼에 각각의 일치도가 표시될 수 있다. 전술한 제 4 표시 영역의 구체적인 위치에 대한 기재는 예시일 뿐, 본 개시에서 일치도가 표시되는 제 4 표시 영역은 사용자가 각 문장에 대응하여 용이하게 식별할 수 있는 다양한 위치를 더 포함할 수 있다. 일치도는, 신경망의 학습에 활용된 학습 데이터와 사용자가 번역을 수행하고자 하는 원문 데이터 각각이 얼마나 유사한지 여부에 기초하여 산출되는 것으로, 번역의 적정성 여부를 판별하기 위한 기준이 될 수 있다.
이에 따라, 사용자는 원문 데이터에 대응하는 번역 데이터의 감수 과정에서, 제 3 표시 영역(240)에 표시된 일치도를 통해 각 문장에 대한 감수 정도를 용이하게 결정할 수 있다. 예를 들어, 제 2 번역 문장(222) 및 제 3 번역 문장(223)에 대응하는 일치도가 각각 100% 및 80%임에 따라, 사용자는 번역 데이터에서 제 2 번역 문장(222)에 대한 감수 시간을 적게 가져가며, 제 3 문장(223)에 대한 감수 시간을 비교적 오래 가져갈 수 있다.
즉, 사용자로 하여금 각 문장의 일치도를 고려하여 문장들 각각에 감수를 위한 노력을 효율적으로 분배할 수 있게 함으로써, 번역 데이터에 대한 감수의 효율을 극대화시킬 수 있다.
추가적인 실시예에서, 제 4 표시 영역(230)은, 번역 정확성 정보를 표시할 수 있다. 번역 정확성 정보는, 원문 데이터에 대하여 수행된 번역의 정확성에 관한 예측 정보로, 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하는 일치도 및 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도 중 적어도 하나에 기초하여 생성되는 정보일 수 있다. 즉, 프로세서(130)는 각 문장의 일치도 및 번역 신뢰도 중 적어도 하나에 기초하여 번역 정확성 정보를 생성할 수 있다.
예를 들어, 번역 정확성 정보는, 일치도와 번역 신뢰도 각각을 포함하는 정보일 수 있다. 이 경우, 제 4 표시 영역(230)에는 각 문장에 대응하여 일치도와 번역 신뢰도가 함께 표시될 수 있다.
다른 예를 들어, 번역 정확성 정보는, 일치도와 번역 신뢰도의 평균값(average)에 대한 정보일 수 있다. 예컨대, 제 1 문장에 대응하는 일치도가 90%이며, 번역 신뢰도가 70%인 경우, 번역 정확성 정보는, 일치도와 번역 신뢰도의 평균값인 80%일 수 있다. 이 경우, 제 4 표시 영역(230)에는 제 1 문장에 대응하여 80%라는 번역 정확성 정보가 표시될 수 있다.
또 다른 예를 들어, 번역 정확성 정보는, 일치도와 번역 신뢰도 중 최대값(max)에 대한 정보일 수 있다. 예컨대, 제 2 문장에 대응하는 일치도가 85%이며, 번역 신뢰도가 92%인 경우, 번역 정확성 정보는 일치도와 번역 신뢰도 중 최대값인 92%일 수 있다. 이 경우, 제 4 표시 영역(230)에는 제 2 문장에 대응하여 92%라는 번역 정확성 정보가 표시될 수 있다. 전술한 일치도, 번역 신뢰도 및 번역 정확성 정보의 구체적인 수치에 대한 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.
즉, 번역의 적정 여부를 판별하기 위한 다양한 변수(즉, 일치도 및 번역 신뢰도)들이 함께 고려된 번역 정확성 정보(즉, 두가지 변수를 통해 산출된 정보)를 사용자 인터페이스에 표시함으로써, 사용자(또는 감수자)에게 향상된 신뢰도의 감수 기준을 제시할 수 있어, 감수의 정확성 및 감수 과정의 효율 향상에 기여할 수 있다.
또한, 사용자 인터페이스는, 원문 데이터에 포함된 하나 이상의 문장 각각의 일치도에 기초하여 제 1 표시 영역 및 제 2 표시 영역에 포함된 하나 이상의 문장 각각에 시각적 효과를 부여하는 것을 특징으로 할 수 있다.
시각적 효과는 감수자의 감수 편의를 위한 것으로, 일치도에 따라 각 데이터에 포함된 문장을 사용자가 직관적으로 인지하도록 하기 위한 효과일 수 있다. 시각적 효과는, 색상 부여 효과 및 폰트 변경 효과 중 적어도 하나를 포함할 수 있다.
예를 들어, 도 3을 참조하면, 번역 데이터에 포함된 제 2 번역 문장(222)에 대응하는 일치도가 100%인 경우(즉, 원문 데이터에 포함된 제 2 원문 문장(212)과 언어 번역 모델의 학습에 활용된 학습 입력 데이터의 특정 문장이 동일한 경우), 언어 번역 모델을 통한 번역은 적정한 것이므로, 제 1 표시 영역(210) 및 제 2 표시 영역(220) 각각에 표시된 제 2 원문 문장(212) 및 제 2 번역 문장(222)에 비교적 어두운 색상(예컨대, 회색)을 부여할 수 있다.
다른 예를 들어, 번역 데이터에 포함된 제 3 번역 문장(223)에 대응하는 일치도가 80%인 경우(즉, 원문 데이터에 포함된 제 3 원문 문장(213)과 언어 번역 모델의 학습에 활용된 학습 입력 데이터의 특정 문장이 다소 상이한 경우), 언어 번역 모델을 통한 번역은 사용자의 감수를 요할 수 있으므로, 제 1 표시 영역(210) 및 제 2 표시 영역(220) 각각에 표시된 제 3 원문 문장(213) 및 제 3 번역 문장(223)에 강조되는 밝은 색상(예컨대, 형광색)을 부여할 수 있다.
본 개시의 다른 실시예에서, 사용자 인터페이스는, 서로 대응되는 문장 간의 번역 신뢰도에 기초하여 제 1 표시 영역(210) 및 제 2 표시 영역(220)에 포함된 하나 이상의 문장 각각에 시각적 효과를 부여하는 것을 특징으로 할 수도 있다.
추가적인 실시예에서, 사용자 인터페이스는, 일치도 및 번역 신뢰도 중 적어도 하나에 기반하여 생성된 번역 정확성 정보에 기초하여 제 1 표시 영역(210) 및 제 2 표시 영역(220)에 포함된 하나 이상의 문장 각각에 시각적 효과를 부여하는 것을 특징으로 할 수도 있다.
즉, 사용자 인터페이스는, 각 문장들에 대응하여 산출된 일치도 또는 번역 신뢰도에 따라, 원문 데이터 및 번역 데이터 각각의 문장들에 상이한 색상을 부여하거나 또는 폰트를 변화(예컨대, 일치도가 낮은 문장에 폰트를 키우거나, 굵게 표시하거나, 서체를 변경하는 등)시킴으로써, 사용자로 하여금 감수를 필요로하거나, 또는 감수를 필요로하지 않는 문장들을 직관적으로 인지시킬 수 있다. 다시 말해, 사용자는 사용자 인터페이스(200)의 제 1 표시 영역(210) 및 제 2 표시 영역(220) 각각에 표시된 문장들에 부여된 색상 부여 효과 및 폰트 변경 효과 등에 기초하여 각 문장들에 대한 감수 정도를 결정할 수 있어, 감수의 효율이 극대화될 수 있다.
실시 예에 따라, 서로 대응하는 원문 문장과 번역 문장의 일치도에 따라 각 문장에 부여되는 색상의 명도가 결정될 수 있다. 예를 들어, 원문 문장과 번역 문장의 일치도가 50%이면, 각 문장에 부여되는 색상의 명도가 50%로 결정될 수 있다.
또한, 서로 대응하는 원문 문장과 번역 문장 간에 불일치하는 단어나 부분의 유형에 따라 각 문장에 상이한 색상이 부여될 수 있다. 예를 들어, 원문 문장과 번역 문장 간에 명사가 불일치하는 경우 초록색, 동사가 불일치하는 경우 노란색, 조사가 불일치하는 경우 파란색에 기반한 색상이 부여되고, 그 명도는 일치도에 따라 상술한 바와 같이 상이하게 설정될 수 있으나, 이에 제한되는 것은 아니다. 실시 예에 따라서, 여러 요소가 불일치하는 경우 각 색상을 혼합한 색상이 문장에 부여되거나, 여러 색상이 일정 시간 주기로 교차하여 표현되되, 감수 과정에서 불일치 요소 중 하나가 해소될 경우, 해소된 요소에 해당하는 색상은 표시되지 않도록 하여, 사용자가 감수에 따라 불일치 문제가 해소되는 과정을 용이하게 모니터링하도록 할 수 있다.
사용자 인터페이스는, 제 1 표시 영역 및 제 2 표시 영역 각각에 표시된 하나 이상의 문장들을 문장 단위로 분할하고, 분할된 문장들을 각각의 칼럼으로 재배치하여 표시하기 위한 사용자의 문장 분리 선택 입력을 수신하는 문장 분리 그래픽 객체(310)를 포함할 수 있다.
보다 구체적인 예를 들어, 문장이 한 언어에서 다른 언어로 번역되는 경우, 원문 문장과 번역된 문장의 길이는 달라질 수 있다. 예컨대, 동일한 의미를 가진 문장이라도, 한국어가 영어보다 간결하게 표현될 수 있으므로 비교적 짧은 길이의 문장을 형성할 수 있다. 즉, 번역을 통한 문장의 길이 변화에 따라 제 1 표시 영역(210) 및 제 2 표시 영역(220)에 표시된 서로 대응되는 문장들이 상이한 칼럼에 배치될 수 있으므로, 대응되는 문장들 간의 비교가 어려울 수 있다. 이에 따라, 본 개시의 사용자 인터페이스(200)는 도 4에 도시된 바와 같이, 원문 데이터 및 번역 데이터 각각에 포함된 문장들을 분리하여 재정렬하기 위한 문장 분리 그래픽 객체(310)를 포함할 수 있다. 문장 분리 그래픽 객체(310)에 대한 사용자의 문장 분리 선택 입력을 수신하는 경우, 사용자 인터페이스(200)는 제 1 표시 영역(210) 및 제 2 표시 영역(220) 각각에 표시된 하나 이상의 문장들을 각각 분할할 수 있으며, 분할된 문장들을 각각의 칼럼으로 재배치하여 표시할 수 있다. 즉, 도 4에 도시된 바와 같이, 제 1 표시 영역(210) 및 제 2 표시 영역(220) 각각에 포함된 하나 이상의 문장들은 서로 분리되어 표시될 수 있다.
따라서, 사용자 인터페이스는, 문장 분리 그래픽 객체(310)를 통해 각 표시 영역에 문장들을 분리하여 표시하는 기능을 제공함으로써, 사용자로 하여금 감수 과정에서 서로 대응되는 문장들을 보다 용이하게 식별하도록 할 수 있다. 즉, 번역 데이터의 감수 과정에서 원문 문장과 번역 문장의 비교가 용이해짐에 따라 감수의 효율이 향상될 수 있다.
또한, 사용자 인터페이스(200)는, 감수 작업 과정에서, 원문 데이터 및 번역 데이터를 일시 저장하기 위하여 사용자로부터 문서 저장 입력을 수신하기 위한 저장 그래픽 객체(320)를 포함할 수 있다. 구체적으로, 사용자 인터페이스(200)에 포함된 제 2 표시 영역(220)은 하나 이상의 문장에 대한 교정과 관련한 사용자의 감수 입력을 허용할 수 있다. 번역 데이터에 대한 사용자의 감수 과정에서, 번역 데이터에 포함된 문장들에 변화가 발생할 수 있다. 예를 들어, 제 2 표시 영역(220)에 표시된 제 1 번역 문장에 대하여 사용자의 감수 입력이 발생함에 따라, 제 1 번역 문장이 교정(또는, 수정)될 수 있다. 전술한 바와 같은, 제 2 표시 영역(220)에 문장을 교정하는 사용자의 감수 작업 수행 과정에서, 저장 그래픽 객체(320)에 대한 선택 입력을 수신하는 경우, 사용자의 감수 입력이 반영된 번역 데이터가 일시 저장될 수 있다.
따라서, 사용자 인터페이스(200)는, 저장 그래픽 객체(320)를 통해 감수 과정에서 사용자의 감수 입력이 반영된 번역 데이터를 저장하는 기능을 제공할 수 있다. 즉, 사용자의 감수 작업의 일시 중단 및 재개가 가능하도록 편의성을 제공할 수 있다.
또한, 사용자 인터페이스(200)는, 번역 데이터에 대한 사용자의 다운로드 입력을 허용하기 위한 다운로드 그래픽 객체(330)를 포함할 수 있다. 프로세서(130)는 다운로드 그래픽 객체(330)에 대한 사용자의 다운로드 입력에 대응하여 감수가 완료된 번역 데이터를 사용자 단말로 전송할 것을 결정할 수 있다.
또한, 프로세서(130)는 다운로드 그래픽 객체(330)에 대한 사용자의 다운로드 입력에 대응하여 원문 데이터 및 번역 데이터 각각에 포함된 하나 이상의 문장들 중 서로 대응하는 문장들 각각을 매칭하여 라벨링함으로써 추가 학습 데이터 세트를 생성할 수 있다. 또한, 프로세서(130)는 추가 학습 데이터 세트를 활용하여 언어 번역 모델에 대한 추가 학습을 수행할 수 있다.
즉, 언어 번역 모델을 학습시키기 위한 추가 학습 데이터 구축함으로써, 언어 번역 모델을 더욱 고도화시킬 수 있다. 또한, 추가 학습 데이터는 번역 데이터에 대하여 추가적인 사용자의 감수 내용을 반영하여 생성된 것이므로 보다 높은 신뢰도를 갖는 데이터를 포함함에 따라, 추가 학습 데이터를 통한 학습을 통해 언어 번역 모델의 출력의 정확도 및 신뢰도가 향상될 수 있다.
도 5는 본 개시의 일 실시예에 관련된 네트워크 함수를 나타낸 개략도이다.
본 명세서에 걸쳐, 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 신경망은 일반적으로 “노드”라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 “노드”들은 “뉴런(neuron)”들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다. 신경망들을 구성하는 노드(또는 뉴런)들은 하나 이상의“링크”에 의해 상호 연결될 수 있다.
신경망 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 상술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
상술한 바와 같이, 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호 연결되어 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망이 존재하는 경우, 두 개의 신경망들은 서로 상이한 것으로 인식될 수 있다.
신경망은 하나 이상의 노드들을 포함하여 구성될 수 있다. 신경망을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다, 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 신경망 내에서 레이어의 차수는 상술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 신경망 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 신경망을 구성하는 노드들을 의미할 수 있다. 본 개시의 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수와 동일할 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하다가 다시 증가하는 형태의 신경망일 수 있다. 또한, 본 개시의 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수 보다 적을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 신경망일 수 있다. 또한, 본 개시의 또 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 증가하는 형태의 신경망일 수 있다. 본 개시의 또 다른 일 실시예에 따른 신경망은 상술한 신경망들의 조합된 형태의 신경망일 수 있다.
딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다. 딥 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있다. 전술한 딥 뉴럴 네트워크의 기재는 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 및 반교사학습(semi supervised learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 출력의 오류를 최소화하기 위한 것이다. 뉴럴 네트워크의 학습에서 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다. 교사 학습의 경우 각각의 학습 데이터에 정답이 라벨링되어있는 학습 데이터를 사용하며(즉, 라벨링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 라벨링되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 라벨링 된 데이터 일 수 있다. 라벨링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력(카테고리)과 학습 데이터의 라벨이 비교함으로써 오류(error)가 계산될 수 있다. 다른 예로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 뉴럴 네트워크 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 뉴럴 네트워크에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.
뉴럴 네트워크의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 뉴럴 네트워크를 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 예를 들어, 노란색 고양이를 보여 고양이를 학습한 뉴럴 네트워크가 노란색 이외의 고양이를 보고는 고양이임을 인식하지 못하는 현상이 과적합의 일종일 수 있다. 과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regulaization), 학습의 과정에서 네트워크의 노드 일부를 생략하는 드롭아웃(dropout) 등의 방법이 적용될 수 있다.
도 6은 본 개시의 일 실시예와 관련된 번역 및 감수 효율화 기능을 제공하기 위한 방법을 예시적으로 나타낸 순서도를 도시한다.
본 개시의 일 실시예에 따르면, 서버(100)는 하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성할 수 있다(510).
본 개시의 일 실시예에 따르면, 서버(100)는 언어 번역 모델의 학습 입력 데이터와 원문 데이터의 일치도를 산출할 수 있다(520).
본 개시의 일 실시예에 따르면, 서버(100)는 원문 데이터, 번역 데이터 및 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 수 있다(530).
전술한 도 6에 도시된 단계들은 필요에 의해 순서가 변경될 수 있으며, 적어도 하나 이상의 단계가 생략 또는 추가될 수 있다. 즉, 전술한 단계는 본 개시의 일 실시예에 불과할 뿐, 본 개시의 권리 범위는 이에 제한되지 않는다.
본 개시의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 개시가 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
본 개시의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 개시의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.

Claims (15)

  1. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로, 상기 컴퓨터 프로그램은 하나 이상의 프로세서들에 의해 실행되는 경우, 상기 프로세서들로 하여금 번역 및 감수 효율화 기능을 제공하기 위한 이하의 동작들을 수행하도록 하며, 상기 동작들은:
    하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하는 동작;
    상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하는 동작; 및
    상기 원문 데이터, 상기 번역 데이터 및 상기 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정하는 동작;
    을 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  2. 제 1 항에 있어서,
    상기 언어 번역 모델은,
    제 1 언어로 구성된 학습 입력 데이터 세트 및 제 2 언어로 구성된 학습 출력 데이터 세트로 구성된 학습 데이터 세트를 통해 학습된 하나 이상의 네트워크 함수를 포함하며, 제 1 언어로 구성된 문장을 입력으로 하여 제 2 언어로 구성된 문장을 출력하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  3. 제 1 항에 있어서,
    상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하는 동작은,
    상기 언어 번역 모델의 학습에 활용되는 학습 입력 데이터 세트에 포함된 하나 이상의 문장 각각과 상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대한 유사도를 산출하는 동작; 및
    상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하여 산출된 유사도들 중 최대가 되는 유사도에 기초하여 상기 하나 이상의 문장 각각에 대응하는 일치도를 산출하는 동작;
    을 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  4. 제 1 항에 있어서,
    상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작;
    을 더 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  5. 제 4 항에 있어서,
    상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작은,
    상기 번역 데이터에 포함된 하나 이상의 문장에 대한 역번역을 수행하여 역번역 데이터를 생성하는 동작─상기 역변역 데이터는, 상기 원문 데이터와 동일한 언어로 구성된 하나 이상의 문장을 포함함─; 및
    상기 역번역 데이터에 포함된 하나 이상의 문장과 상기 원문 데이터에 포함된 하나 이상의 문장 중 서로 대응되는 문장 각각에 대한 비교에 기초하여 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작;
    을 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  6. 제 4 항에 있어서,
    상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작은,
    상기 원문 데이터를 상기 언어 번역 모델과 각각 상이한 하나 이상의 언어 번역 서브 모델의 입력으로 처리하여 하나 이상의 추가 번역 데이터를 생성하는 동작; 및
    상기 번역 데이터에 포함된 하나 이상의 문장 각각과 상기 하나 이상의 추가 번역 데이터 각각에 포함된 하나 이상의 문장 각각의 비교에 기초하여 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도를 산출하는 동작;
    을 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  7. 제 1 항에 있어서,
    상기 사용자 인터페이스는,
    상기 원문 데이터에 포함된 하나 이상의 문장을 표시하는 제 1 표시 영역 및 상기 번역 데이터에 포함된 하나 이상의 문장을 표시하는 제 2 표시 영역을 포함하며,
    상기 제 2 표시 영역은,
    하나 이상의 문장에 대한 교정과 관련한 사용자의 감수 입력을 허용하고, 그리고
    상기 제 1 표시 영역 및 상기 제 2 표시 영역은 서로 대응되는 문장을 표시하도록 연동되는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  8. 제 7 항에 있어서,
    상기 제 2 표시 영역은,
    하나 이상의 문장 각각에 포함된 하나 이상의 단어 중 적어도 하나의 단어에 대한 사용자의 단어 선택 입력을 허용하며,
    상기 사용자 인터페이스는,
    상기 단어 선택 입력에 대응하여 단어에 대한 정의 정보를 표시하기 위한 제 3 표시 영역을 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  9. 제 7 항에 있어서,
    상기 사용자 인터페이스는,
    상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 정확성 정보를 표시하는 제 4 표시 영역을 포함하며,
    상기 번역 정확성 정보는,
    상기 원문 데이터에 대하여 수행된 번역의 정확성에 관한 예측 정보로, 상기 원문 데이터에 포함된 하나 이상의 문장 각각에 대응하는 일치도 및 상기 번역 데이터에 포함된 하나 이상의 문장 각각에 대응하는 번역 신뢰도 중 적어도 하나에 기초하여 생성되는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  10. 제 7 항에 있어서,
    상기 사용자 인터페이스는,
    상기 원문 데이터에 포함된 하나 이상의 문장 각각의 일치도 및 상기 번역 데이터에 포함된 하나 이상의 문장 각각의 번역 신뢰도 중 적어도 하나에 기초하여 상기 제 1 표시 영역 및 상기 제 2 표시 영역에 포함된 하나 이상의 문장 각각에 시각적 효과를 부여하는 것을 특징으로 하며,
    상기 시각적 효과는,
    색상 부여 효과 및 폰트 변경 효과 중 적어도 하나를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  11. 제 7 항에 있어서,
    상기 사용자 인터페이스는,
    상기 제 1 표시 영역 및 상기 제 2 표시 영역 각각에 표시된 하나 이상의 문장들을 문장 단위로 분할하고, 분할된 문장들을 각각의 칼럼으로 재배치하여 표시하기 위한 사용자의 문장 분리 선택 입력을 수신하는 문장 분리 그래픽 객체를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  12. 제 1 항에 있어서,
    상기 사용자 인터페이스는,
    감수 작업 과정에서 상기 원문 데이터 및 상기 번역 데이터를 일시 저장하기 위한 사용자의 문서 저장 입력을 수신하는 저장 그래픽 객체를 포함하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  13. 제 1 항에 있어서,
    상기 사용자 인터페이스는,
    상기 번역 데이터에 대한 사용자의 다운로드 입력을 허용하기 위한 다운로드 그래픽 객체를 포함하고, 그리고
    상기 프로세서는,
    상기 다운로드 그래픽 객체에 대한 상기 사용자의 다운로드 입력에 대응하여 상기 원문 데이터 및 상기 번역 데이터 각각에 포함된 하나 이상의 문장들 중 서로 대응하는 문장들 각각을 매칭하여 라벨링함으로써 하나 이상의 추가 학습 데이터를 생성하는,
    컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
  14. 서버의 프로세서에서 수행되는 번역 및 감수 효율화 기능을 제공하기 위한 방법으로,
    하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하는 단계;
    상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하는 단계; 및
    상기 원문 데이터, 상기 번역 데이터 및 상기 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정하는 단계;
    를 포함하는,
    서버의 프로세서에서 수행되는 번역 및 감수 효율화 기능을 제공하기 위한 방법.
  15. 번역 및 감수 효율화 기능을 제공하기 위한 서버로서,
    하나 이상의 코어를 포함하는 프로세서;
    상기 프로세서에서 실행가능한 프로그램 코드들을 저장하는 메모리; 및
    사용자 단말과 데이터를 송수신하는 네트워크부;
    를 포함하고, 그리고
    상기 프로세서는,
    하나 이상의 문장을 포함하는 원문 데이터를 언어 번역 모델의 입력으로 처리하여 하나 이상의 문장을 포함하는 번역 데이터를 생성하고,
    상기 언어 번역 모델의 학습 입력 데이터와 상기 원문 데이터의 일치도를 산출하고, 그리고
    상기 원문 데이터, 상기 번역 데이터 및 상기 일치도를 포함하는 사용자 인터페이스를 생성하여 사용자 단말로 전송할 것을 결정하는,
    번역 및 감수 효율화 기능을 제공하기 위한 서버.
KR1020200083871A 2020-07-08 2020-07-08 번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램 KR102409001B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200083871A KR102409001B1 (ko) 2020-07-08 2020-07-08 번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200083871A KR102409001B1 (ko) 2020-07-08 2020-07-08 번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20220006203A true KR20220006203A (ko) 2022-01-17
KR102409001B1 KR102409001B1 (ko) 2022-06-14

Family

ID=80051601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200083871A KR102409001B1 (ko) 2020-07-08 2020-07-08 번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102409001B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030040900A1 (en) * 2000-12-28 2003-02-27 D'agostini Giovanni Automatic or semiautomatic translation system and method with post-editing for the correction of errors
JP2014078132A (ja) * 2012-10-10 2014-05-01 Toshiba Corp 機械翻訳装置、方法およびプログラム
JP2018022269A (ja) * 2016-08-02 2018-02-08 国立研究開発法人情報通信研究機構 自動翻訳システム、自動翻訳方法、およびプログラム
KR101818598B1 (ko) 2016-08-09 2018-03-02 주식회사 에버트란 자동 번역 엔진 서버 및 자동 번역 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030040900A1 (en) * 2000-12-28 2003-02-27 D'agostini Giovanni Automatic or semiautomatic translation system and method with post-editing for the correction of errors
JP2014078132A (ja) * 2012-10-10 2014-05-01 Toshiba Corp 機械翻訳装置、方法およびプログラム
JP2018022269A (ja) * 2016-08-02 2018-02-08 国立研究開発法人情報通信研究機構 自動翻訳システム、自動翻訳方法、およびプログラム
KR101818598B1 (ko) 2016-08-09 2018-03-02 주식회사 에버트란 자동 번역 엔진 서버 및 자동 번역 방법

Also Published As

Publication number Publication date
KR102409001B1 (ko) 2022-06-14

Similar Documents

Publication Publication Date Title
US20190325308A1 (en) Multi-task learning using knowledge distillation
CN106997370B (zh) 基于作者的文本分类和转换
KR102244448B1 (ko) 전문 번역 서비스 플랫폼을 제공하기 위한 방법
KR20220127189A (ko) 텍스트 인식 모델의 트레이닝 방법, 텍스트 인식 방법 및 장치
CN110741364A (zh) 确定自动化助理对话的状态
JP7290861B2 (ja) 質問応答システムのための回答分類器及び表現ジェネレータ、並びに表現ジェネレータを訓練するためのコンピュータプログラム
WO2019154411A1 (zh) 词向量更新方法和装置
US20220292805A1 (en) Image processing method and apparatus, and device, storage medium, and image segmentation method
US11636272B2 (en) Hybrid natural language understanding
KR102258002B1 (ko) 인공지능을 활용하여 이미지 번역 서비스를 제공하기 위한 방법 및 서버
US20230023789A1 (en) Method for identifying noise samples, electronic device, and storage medium
WO2023134083A1 (zh) 基于文本的情感分类方法和装置、计算机设备、存储介质
KR102347020B1 (ko) 인공지능 기반 특성분석을 통한 맞춤형 고객센터 솔루션 제공방법
CN113688245A (zh) 基于人工智能的预训练语言模型的处理方法、装置及设备
CN113239710A (zh) 多语言机器翻译方法、装置、电子设备和存储介质
KR102434666B1 (ko) 사전 데이터베이스를 활용하여 음성 데이터에 기반한 텍스트를 생성하기 위한 방법 및 컴퓨팅 장치
US20220253609A1 (en) Social Agent Personalized and Driven by User Intent
KR102409001B1 (ko) 번역 및 감수 효율화 기능을 제공하는 컴퓨터 프로그램
CN111814496A (zh) 文本处理方法、装置、设备及存储介质
CN115906854A (zh) 一种基于多级对抗的跨语言命名实体识别模型训练方法
CN114116959A (zh) 方面级情感分析方法、装置以及终端
KR20230108432A (ko) 번역 플랫폼
US20240070399A1 (en) Multi-Level Emotional Enhancement of Dialogue
US11526781B2 (en) Automatic sentence inferencing network
CN114492661B (en) Text data classification method and device, computer equipment and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant