KR102523806B1 - 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법 - Google Patents

사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR102523806B1
KR102523806B1 KR1020210008392A KR20210008392A KR102523806B1 KR 102523806 B1 KR102523806 B1 KR 102523806B1 KR 1020210008392 A KR1020210008392 A KR 1020210008392A KR 20210008392 A KR20210008392 A KR 20210008392A KR 102523806 B1 KR102523806 B1 KR 102523806B1
Authority
KR
South Korea
Prior art keywords
sentence
translated
sentences
document
translation
Prior art date
Application number
KR1020210008392A
Other languages
English (en)
Other versions
KR20220105551A (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 KR1020210008392A priority Critical patent/KR102523806B1/ko
Publication of KR20220105551A publication Critical patent/KR20220105551A/ko
Application granted granted Critical
Publication of KR102523806B1 publication Critical patent/KR102523806B1/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법이 개시된다. 본 발명은 복수의 참조 문장들과 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들을 저장해 둔 상태에서, 사용자의 전자 단말로부터, 문서에 대한 문서 파일이 수신되면서, 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 문서를 번역할 것을 지시하는 번역 요청이 수신되면, 문서에 복수의 참조 문장들과 동일한 문장이 존재하는지 확인하여 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 문서에 존재하는 것으로 확인되는 경우, 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 문서에 대한 번역 문서를 생성하되, 제1 문장에 대한 기계 번역 문장을 제1 참조 문장에 대한 번역 문장들 중 제1 주제 분야와의 매칭도가 가장 높은 번역 문장으로 대체함으로써, 사용자에게 보다 정확한 번역 문서를 제공할 수 있는 문서 번역 서비스 서버 및 그 동작 방법에 대한 것이다.

Description

사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법{DOCUMENT TRANSLATION SERVICE SERVER FOR PERFORMING SUPPLEMENT OF MACHINE TRANSLATION USING PRESTORED TRANSLATION RESULT, AND THE OPERATING METHOD THEREOF}
본 발명은 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법에 대한 것이다.
최근, 다양한 분야에서 기계 번역의 활용이 확산되면서, 다양한 형태의 기계 번역 엔진을 이용하는 기계 번역 서비스들이 등장하고 있다.
이러한 기계 번역 서비스들은 사용자가 문장을 입력하면, 사전 구축되어 있는 기계 번역 엔진을 기초로, 사용자로부터 입력된 문장에 대한 번역을 수행하여 사용자에게 제공하는 서비스이다. 이렇게, 사용자가 문장을 직접 번역하지 않아도, 이러한 기계 번역 서비스를 이용하여 번역된 문장을 획득할 수 있다는 편의성 때문에, 기계 번역 서비스들을 사용하는 사용자가 증가하고 있다.
한편, 이러한 기계 번역 서비스를 이용하는 사용자는, 번역 문서에 대한 품질을 향상시키기 위해, 기계 번역 서비스를 이용하여 문장에 대한 초벌 번역을 진행한 후, 초벌 번역된 문장을 다시 수정하는 경우가 많다.
이와 관련해서, 사용자의 이러한 수정 작업을 줄이기 위해, 기계 번역 서비스에 있어서, 복수의 참조 문장들과, 참조 문장들에 대한 번역이 완료된 번역 문장들을 사전 저장해 두고, 사용자로부터 참조 문장들과 동일한 문장이 포함되어 있는 문서에 대한 번역 요청이 수신되면, 해당 문서에 대한 기계 번역 문서에서 참조 문장들과 동일한 문장에 대해서는, 기계 번역 문장을 사전 저장된 번역 문장으로 대체함으로써, 기계 번역에 대한 보완을 수행하는 기술에 대한 도입을 고려해 볼 수 있다.
또한, 같은 문장이라도 어떤 주제 분야에 대한 것인지에 따라 해당 문장의 의미가 달라질 수 있기 때문에, 사전 저장되어 있는 번역 문장들 중 해당 주제 분야와의 매칭도가 가장 높은 번역 문장을 기초로 기계 번역에 대한 보완을 수행할 수 있다면, 사용자에게 보다 고품질의 번역 문서를 제공할 수 있을 것이다.
따라서, 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 기술에 대한 연구가 필요하다.
본 발명은 복수의 참조 문장들과 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들을 저장해 둔 상태에서, 사용자의 전자 단말로부터, 문서에 대한 문서 파일이 수신되면서, 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 문서를 번역할 것을 지시하는 번역 요청이 수신되면, 문서에 복수의 참조 문장들과 동일한 문장이 존재하는지 확인하여 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 문서에 존재하는 것으로 확인되는 경우, 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 문서에 대한 번역 문서를 생성하되, 제1 문장에 대한 기계 번역 문장을 제1 참조 문장에 대한 번역 문장들 중 제1 주제 분야와의 매칭도가 가장 높은 번역 문장으로 대체하는 문서 번역 서비스 서버 및 그 동작 방법을 제시함으로써, 사용자에게 보완된 번역 문서가 제공될 수 있도록 지원하고자 한다.
본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버는 사전 설정된 복수의 주제 분야별로 사전 구축된 서로 다른 기계 번역 엔진들에 대한 데이터가 저장되어 있는 데이터 저장부, 사전 지정된 제1 언어로 구성된 복수의 참조 문장들과, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들 - 상기 번역 문장들은 상기 복수의 참조 문장들 각각을 사전 지정된 제2 언어로 사전 번역한 문장들임 - 이 저장되어 있는 문장 데이터베이스, 사용자의 전자 단말로부터, 상기 제1 언어로 구성된 문서에 대한 문서 파일이 수신되면서, 상기 복수의 주제 분야들 중 어느 하나인 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 상기 제2 언어로 번역할 것을 지시하는 번역 요청이 수신되면, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 여부를 확인하는 문장 확인부, 상기 문서에 상기 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 제1 번역 문장들을 확인한 후, 상기 제1 번역 문장들 중 상기 제1 주제 분야와의 매칭도가 가장 높은 제2 번역 문장을 선택하는 번역 문장 선택부, 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로, 상기 문서에 포함되어 있는 문장들 각각에 대한 기계 번역 문장을 생성함으로써, 상기 문서에 대한 번역 문서를 생성하되, 상기 제1 문장에 대한 기계 번역 문장인 제1 기계 번역 문장을 상기 제2 번역 문장으로 대체하여 상기 번역 문서를 생성하는 번역 문서 생성부 및 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 사용자의 전자 단말로 전송하는 문서 파일 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 동작 방법은 사전 설정된 복수의 주제 분야별로 사전 구축된 서로 다른 기계 번역 엔진들에 대한 데이터가 저장되어 있는 데이터 저장부를 유지하는 단계, 사전 지정된 제1 언어로 구성된 복수의 참조 문장들과, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들 - 상기 번역 문장들은 상기 복수의 참조 문장들 각각을 사전 지정된 제2 언어로 사전 번역한 문장들임 - 이 저장되어 있는 문장 데이터베이스를 유지하는 단계 사용자의 전자 단말로부터, 상기 제1 언어로 구성된 문서에 대한 문서 파일이 수신되면서, 상기 복수의 주제 분야들 중 어느 하나인 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 상기 제2 언어로 번역할 것을 지시하는 번역 요청이 수신되면, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 여부를 확인하는 단계, 상기 문서에 상기 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 제1 번역 문장들을 확인한 후, 상기 제1 번역 문장들 중 상기 제1 주제 분야와의 매칭도가 가장 높은 제2 번역 문장을 선택하는 단계, 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로, 상기 문서에 포함되어 있는 문장들 각각에 대한 기계 번역 문장을 생성함으로써, 상기 문서에 대한 번역 문서를 생성하되, 상기 제1 문장에 대한 기계 번역 문장인 제1 기계 번역 문장을 상기 제2 번역 문장으로 대체하여 상기 번역 문서를 생성하는 단계 및 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 사용자의 전자 단말로 전송하는 단계를 포함한다.
본 발명은 복수의 참조 문장들과 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들을 저장해 둔 상태에서, 사용자의 전자 단말로부터, 문서에 대한 문서 파일이 수신되면서, 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 문서를 번역할 것을 지시하는 번역 요청이 수신되면, 문서에 복수의 참조 문장들과 동일한 문장이 존재하는지 확인하여 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 문서에 존재하는 것으로 확인되는 경우, 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 문서에 대한 번역 문서를 생성하되, 제1 문장에 대한 기계 번역 문장을 제1 참조 문장에 대한 번역 문장들 중 제1 주제 분야와의 매칭도가 가장 높은 번역 문장으로 대체하는 문서 번역 서비스 서버 및 그 동작 방법을 제시함으로써, 사용자에게 보완된 번역 문서가 제공될 수 있도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 문서 번역 서비스 서버(110)는 데이터 저장부(111), 문장 데이터베이스(112), 문장 확인부(113), 번역 문장 선택부(114), 번역 문서 생성부(115) 및 문서 파일 전송부(116)를 포함한다.
데이터 저장부(111)에는 사전 설정된 복수의 주제 분야별로 사전 구축된 서로 다른 기계 번역 엔진들에 대한 데이터가 저장되어 있다.
여기서, 상기 복수의 주제 분야별로 사전 구축된 서로 다른 기계 번역 엔진들은 각 주제 분야에 해당되는 문서에 대한 번역을 수행하기 위해, 개발자에 의해 사전 구축된 기계 번역 엔진들을 의미한다. 예컨대, 개발자는 '금융' 분야 해당되는 문서에 대해 번역을 수행하기 위한 기계 번역 엔진으로, '금융' 분야에 대한 기계 번역 엔진을 사전 구축해 둘 수 있고, '의료' 분야 해당되는 문서에 대해 번역을 수행하기 위한 기계 번역 엔진으로, '의료' 분야에 대한 기계 번역 엔진을 사전 구축해 둘 수 있다.
이와 관련해서, 데이터 저장부(111)에는 '금융'에 대한 기계 번역 엔진, '의료' 분야에 대한 기계 번역 엔진 등과 같은 서로 다른 기계 번역 엔진들에 대한 데이터가 저장되어 있을 수 있다.
문장 데이터베이스(112)에는 사전 지정된 제1 언어로 구성된 복수의 참조 문장들과, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들이 저장되어 있다.
여기서, 상기 복수의 참조 문장들은 개발자에 의해서 사전 지정된 문장들을 의미하는 것이고, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들은 상기 복수의 참조 문장들 각각을 사전 지정된 제2 언어로 사전 번역한 문장들을 의미한다.
또한, 개발자는 문장 데이터베이스(112)를 구축하기 위해, 상기 복수의 참조 문장들과 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들을 직접 만들 수도 있고, 복수의 번역가들에 의해 번역이 수행된 원본 문장과 그에 대한 번역 문장을 수집하여 문장 데이터베이스(112)에 저장해 둠으로써, 문장 데이터베이스(112)를 구축할 수도 있다.
이와 관련해서, 상기 제1 언어를 '영어'라고 하고, 상기 제2 언어를 '한국어'라고 하는 경우, 문장 데이터베이스(112)에는 하기의 표 1과 같이, '영어'로 구성된 복수의 참조 문장들과, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들이 저장되어 있을 수 있다.
복수의 참조 문장들 번역 문장
참조 문장 1 번역 문장 1
번역 문장 2
번역 문장 3
참조 문장 2 번역 문장 4
번역 문장 5
번역 문장 6
번역 문장 7
... ...
예컨대, 참조 문장을 'Please refer to your account to check the update list.'라고 하는 경우, 'account'라는 단어는 주제 분야에 따라, '계정, 계좌, 장부' 등과 같이 번역될 수 있으므로, 문장 데이터베이스(112)에는 'Please refer to your account to check the update list.'와 같은 상기 참조 문장과, '당신의 계정을 참조하여 업데이트 목록을 확인해 주세요., 당신의 계좌를 참조하여 업데이트 목록을 확인해 주세요., 당신의 장부를 참조하여 업데이트 목록을 확인해 주세요.'와 같은 상기 참조 문장에 대응되는 번역 문장들이 기록되어 있을 수 있다.
문장 확인부(113)는 사용자의 전자 단말(130)로부터, 상기 제1 언어로 구성된 문서에 대한 문서 파일이 수신되면서, 상기 복수의 주제 분야들 중 어느 하나인 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 상기 제2 언어로 번역할 것을 지시하는 번역 요청이 수신되면, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 여부를 확인한다.
번역 문장 선택부(114)는 문장 확인부(113)에 의해, 상기 문서에 상기 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 존재하는 것으로 확인되면, 문장 데이터베이스(112)로부터 상기 제1 참조 문장에 대응되는 제1 번역 문장들을 확인한 후, 상기 제1 번역 문장들 중 상기 제1 주제 분야와의 매칭도가 가장 높은 제2 번역 문장을 선택한다.
이때, 본 발명의 일실시예에 따르면, 번역 문장 선택부(114)는 상기 제1 번역 문장들 중 상기 제2 번역 문장을 선택하기 위한 구체적인 구성으로, 추출부(117), 생성부(118), 스코어 연산부(119) 및 선택부(120)를 포함할 수 있다.
추출부(117)는 문장 확인부(113)에 의해 상기 문서에 상기 제1 참조 문장과 동일한 상기 제1 문장이 존재하는 것으로 확인되면, 문장 데이터베이스(112)로부터 상기 제1 참조 문장에 대응되는 상기 제1 번역 문장들을 추출한다.
생성부(118)는 상기 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 제1 문장에 대한 기계 번역 문장인 상기 제1 기계 번역 문장을 생성한다.
이하에서는, 추출부(117) 및 생성부(118)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 사용자의 전자 단말(130)로부터, '영어'로 구성된 문서에 대한 문서 파일이 수신되면서, '의료' 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 '한국어'로 번역할 것을 지시하는 번역 요청이 수신되었다고 가정하자.
이때, 문장 확인부(113)에 의해, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 확인한 결과, 상기 문서에 '참조 문장 1'과 동일한 '문장 1'이 존재하는 것으로 확인되었다고 하는 경우, 추출부(117)는 문장 데이터베이스(112)로부터 '참조 문장 1'에 대응되는 상기 제1 번역 문장들을 추출할 수 있다.
관련해서, 상기 표 1과 같은 문장 데이터베이스(112)에서는 '참조 문장 1'에 대응되는 번역 문장들로, '번역 문장 1, 번역 문장 2, 번역 문장 3'이 저장되어 있으므로, 추출부(117)는 문장 데이터베이스(112)로부터, '번역 문장 1, 번역 문장 2, 번역 문장 3'을 상기 제1 번역 문장들로 추출할 수 있다.
그러고 나서, 생성부(118)는 '의료' 분야에 대한 기계 번역 엔진을 이용하여 '문장 1'에 대한 기계 번역 문장인 상기 제1 기계 번역 문장을 '기계 번역 문장 1'과 같이 생성할 수 있다.
이렇게, 추출부(117)에 의해 상기 제1 번역 문장들이 추출되고, 생성부(118)에 의해 상기 제1 기계 번역 문장이 생성되면, 스코어 연산부(119)는 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU(Bilingual Evaluation Understudy) 스코어를 연산한다.
여기서, BLEU 스코어란 두 문장 간의 유사도를 나타내는 지표를 의미한다.
이때, 본 발명의 일실시예에 따르면, 스코어 연산부(119)는 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 N-gram 기반의 정밀도(precision)를 1-gram 정밀도부터 k(k는 2 이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 k개의 정밀도들을 산출한 후, 하기의 수학식 1에 따라, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산할 수 있다.
여기서, gram이란 단어 뭉치를 하나의 토큰으로 간주하는 단위를 의미하는 것으로, 문장에서 띄어쓰기를 기준으로 토큰화될 수 있는 단어 뭉치 단위를 의미한다. 예컨대, 영어에서는 문장이 단어별로 띄어쓰기가 구분되기 때문에 단어별로 하나의 gram으로 지정될 수 있고, 한국어에서는 어절별로 띄어쓰기가 구분되기 때문에 어절별로 하나의 gram으로 지정될 수 있다.
Figure 112021007900957-pat00001
여기서,
Figure 112021007900957-pat00002
는 상기 제1 번역 문장들 중 i번째 번역 문장과 상기 제1 기계 번역 문장 간의 BLEU 스코어,
Figure 112021007900957-pat00003
는 상기 제1 기계 번역 문장에 존재하는 모든 1-gram의 개수,
Figure 112021007900957-pat00004
는 상기 i번째 번역 문장에 존재하는 모든 1-gram의 개수,
Figure 112021007900957-pat00005
는 상기 i번째 번역 문장과 상기 제1 기계 번역 문장 간의 1-gram 정밀도부터 k-gram 정밀도까지에 해당되는 k개의 정밀도들 중 s번째에 대응되는 정밀도로서 s-gram 정밀도를 의미한다.
이하에서는, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산하기 위한 스코어 연산부(119)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, k를 '4'라고 하고, 전술한 예와 같이, 추출부(117)에 의해 문장 데이터베이스(112)로부터 '번역 문장 1, 번역 문장 2, 번역 문장 3'이 상기 제1 번역 문장들로 추출되었다고 하고, 생성부(118)에 의해 상기 제1 기계 번역 문장이 '기계 번역 문장 1'과 같이 생성되었다고 가정하자.
그러면, 스코어 연산부(119)는 '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 N-gram 기반의 정밀도를 1-gram 정밀도부터 '4'-gram 정밀도까지 연산함으로써, '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 '4개'의 정밀도들을 산출할 수 있고, 그 이후, 상기 수학식 1에 따라, '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 BLEU 스코어를 연산할 수 있다.
이와 관련해서, '번역 문장 1'을 '성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 때 우울증이 심해질 확률이 훨씬 높았다.'라고 하고, '기계 번역 문장 1'을 '성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 때 강박증이 심해질 가능성이 훨씬 높았다.'라고 하는 경우, '번역 문장 1'과 '기계 번역 문장 1' 간의 BLEU 스코어인 'BLEU(1)'을 연산하는 과정을 설명하면 하기와 같다.
먼저, '번역 문장 1'과 '기계 번역 문장 1'을 나란히 기재하면, 하기의 표 2와 같다. 하기의 표 2에서, '번역 문장 1'과 '기계 번역 문장 1'에서 밑줄로 표시한 어절들은 '번역 문장 1'과 '기계 번역 문장 1' 간의 서로 일치하는 어절들이다.
'번역 문장 1' 성격이 불같은 사람은 곤란한 상황에서 다른 사람과 비교할 우울증이
심해질 확률이 훨씬 높았다.
'기계 번역 문장 1' 성격이 불같은 어른은 곤란한 처지에서 다른 사람과 비교할 강박증이
심해질 가능성이 훨씬 높았다.
이때, N-gram 정밀도는 하기의 수학식 2와 같이 연산될 수 있다.
Figure 112021007900957-pat00006
관련해서, '기계 번역 문장 1'에서의 모든 1-gram은 '성격이', '불같은', '어른은', '곤란한', '처지에서', '다른', '사람과', '비교할', '때', '강박증이', '심해질', '가능성이', '훨씬', '높았다'로 총 14개이고, '기계 번역 문장 1'에서의 '번역 문장 1'과 서로 일치하는 1-gram은 '성격이', '불같은', '곤란한', '다른', '사람과', '비교할', '때', '심해질', '훨씬', '높았다'로 총 10개이므로, 스코어 연산부(119)는 '번역 문장 1'과 '기계 번역 문장 1' 간의 1-gram 정밀도를 '10/14'과 같이 연산할 수 있다.
그리고, '기계 번역 문장 1'에서의 모든 2-gram은 '성격이 불같은', '불같은 어른은', '어른은 곤란한', '곤란한 처지에서', '처지에서 다른', '다른 사람과', '사람과 비교할', '비교할 때', '때 강박증이', '강박증이 심해질', '심해질 가능성이', '가능성이 훨씬', '훨씬 높았다'로 총 13개이고, '기계 번역 문장 1'에서의 '번역 문장 1'과 서로 일치하는 2-gram은 '성격이 불같은', '다른 사람과', '사람과 비교할', '비교할 때', '훨씬 높았다'로 총 5개이므로, 스코어 연산부(119)는 '번역 문장 1'과 '기계 번역 문장 1' 간의 2-gram 정밀도를 '5/13'와 같이 연산할 수 있다.
또한, '기계 번역 문장 1'에서의 모든 3-gram은 '성격이 불같은 어른은', '불같은 어른은 곤란한', '어른은 곤란한 처지에서', '곤란한 처지에서 다른', '처지에서 다른 사람과', '다른 사람과 비교할', '사람과 비교할 때', '비교할 때 강박증이', '때 강박증이 심해질', '강박증이 심해질 가능성이', '심해질 가능성이 훨씬', '가능성이 훨씬 높았다'로 총 12개이고, '기계 번역 문장 1'에서의 '번역 문장 1'과 서로 일치하는 3-gram은 '다른 사람과 비교할', '사람과 비교할 때'로 총 2개이므로, 스코어 연산부(119)는 '번역 문장 1'과 '기계 번역 문장 1' 간의 3-gram 정밀도를 '2/12'와 같이 연산할 수 있다.
마지막으로, '기계 번역 문장 1'에서의 모든 4-gram은 '성격이 불같은 어른은 곤란한', '불같은 어른은 곤란한 처지에서', '어른은 곤란한 처지에서 다른', '곤란한 처지에서 다른 사람과', '처지에서 다른 사람과 비교할', '다른 사람과 비교할 때', '사람과 비교할 때 강박증이', '비교할 때 강박증이 심해질', '때 강박증이 심해질 가능성이', '강박증이 심해질 가능성이 훨씬', '심해질 가능성이 훨씬 높았다'로 총 11개이고, '기계 번역 문장 1'에서의 '번역 문장 1'과 서로 일치하는 4-gram은 '다른 사람과 비교할 때'로 총 1개이므로, 스코어 연산부(119)는 '번역 문장 1'과 '기계 번역 문장 1' 간의 4-gram 정밀도를 '1/11'과 같이 연산할 수 있다.
이렇게, '번역 문장 1'과 '기계 번역 문장 1' 간의 1-gram 정밀도, 2-gram 정밀도, 3-gram 정밀도, 4-gram 정밀도가 각각 '10/14, 5/13, 2/12, 1/11'과 같이 연산되면, 스코어 연산부(119)는 상기의 수학식 1에 따라, '번역 문장 1'과 '기계 번역 문장 1'간의 BLEU 스코어인 'BLEU(1)'을 하기의 수학식 3과 같이 연산할 수 있다.
Figure 112021007900957-pat00007
이러한 방식으로, 스코어 연산부(119)는 '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 BLEU 스코어인 'BLEU(1), BLEU(2), BLEU(3)'을 연산할 수 있다.
이때, 본 발명의 일실시예에 따르면, 스코어 연산부(119)는 테이블 유지부(121) 및 보정 연산부(122)를 포함할 수 있다.
테이블 유지부(121)는 상기 k개의 정밀도들 각각에 적용되어야 하는 것으로 사전 설정된 0 초과 1 이하의 값을 갖는 가중치가 기록되어 있는 가중치 테이블을 저장하여 유지한다.
예컨대, 전술한 예와 같이, k를 '4'라고 하는 경우, 상기 가중치 테이블에는 하기의 표 3과 같이, '4개'의 정밀도들 각각에 적용되어야 하는 것으로 사전 설정된 가중치가 기록되어 있을 수 있다.
'4개'의 정밀도들 가중치
1-gram 0.4
2-gram 0.3
3-gram 0.2
4-gram 0.1
보정 연산부(122)는 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 상기 수학식 1에 따라, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산한다.
예컨대, 전술한 예와 같이, '번역 문장 1'과 '기계 번역 문장 1' 간의 1-gram 정밀도, 2-gram 정밀도, 3-gram 정밀도, 4-gram 정밀도가 각각 '10/14, 5/13, 2/12, 1/11'과 같이 연산되었다고 하는 경우, 보정 연산부(122)는 상기 가중치 테이블을 참조하여 '번역 문장 1'과 '기계 번역 문장 1' 간의 '4개'의 정밀도들 각각에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, '번역 문장 1'과 '기계 번역 문장 1' 간의 '4개'의 정밀도들에 대한 보정을 수행할 수 있다.
관련해서, 상기 표 3과 같은 가중치 테이블에서는, 1-gram 정밀도, 2-gram 정밀도, 3-gram 정밀도, 4-gram 정밀도 각각에 적용되어야 하는 가중치가 '0.4, 0.3, 0.2, 0.1'인 것으로 기록되어 있으므로, 보정 연산부(122)는 '번역 문장 1'과 '기계 번역 문장 1' 간의 1-gram 정밀도, 2-gram 정밀도, 3-gram 정밀도, 4-gram 정밀도를 각각 '4/14, 3/26, 1/30, 1/110'과 같이 보정할 수 있다.
그러고 나서, 보정 연산부(122)는 상기 수학식 1에 따라, '번역 문장 1'과 '기계 번역 문장 1'간의 BLEU 스코어인 'BLEU(1)'을 하기의 수학식 4와 같이 연산할 수 있다.
Figure 112021007900957-pat00008
이러한 방식으로, 보정 연산부(122)는 '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 '4개'의 정밀도들에 대한 보정을 수행할 수 있고, 그 이후, 상기 수학식 1에 따라, '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 BLEU 스코어인 'BLEU(1), BLEU(2), BLEU(3)'을 연산할 수 있다.
이렇게, 스코어 연산부(119)에 의해 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어가 연산되면, 선택부(120)는 상기 제1 번역 문장들 중 상기 제1 기계 번역 문장과의 BLEU 스코어가 가장 높은 번역 문장을 상기 제2 번역 문장으로 선택할 수 있다.
예컨대, 전술한 예에 따라 스코어 연산부(119)에 의해, '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 BLEU 스코어인 'BLEU(1), BLEU(2), BLEU(3)'이 연산되었다고 하고, 이때, 'BLEU(1), BLEU(2), BLEU(3)' 중 'BLEU(3)'이 가장 큰 값이라고 하는 경우, 선택부(120)는 '번역 문장 1, 번역 문장 2, 번역 문장 3' 중 '번역 문장 3'을 상기 제2 번역 문장으로 선택할 수 있다.
이렇게, 번역 문장 선택부(114)에 의해 상기 제2 번역 문장이 선택되면, 번역 문서 생성부(115)는 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로, 상기 문서에 포함되어 있는 문장들 각각에 대한 기계 번역 문장을 생성함으로써, 상기 문서에 대한 번역 문서를 생성하되, 상기 제1 문장에 대한 기계 번역 문장인 제1 기계 번역 문장을 상기 제2 번역 문장으로 대체하여 상기 번역 문서를 생성한다.
문서 파일 전송부(116)는 번역 문장 선택부(114)에 의해 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 사용자의 전자 단말(130)로 전송한다.
예컨대, 전술한 예와 같이, 상기 제1 주제 분야를 '의료' 분야라고 하고, 번역 문장 선택부(114)에 의해 '번역 문장 3'이 상기 제2 번역 문장으로 선택되었다고 하는 경우, 번역 문서 생성부(115)는 '의료' 분야에 대한 기계 번역 엔진을 기초로, 상기 문서에 상기 문서에 포함되어 있는 문장들 각각에 대한 기계 번역 문장을 생성함으로써, 상기 문서에 대한 번역 문서를 생성하되, '문장 1'에 대한 기계 번역 문장인 '기계 번역 문장 1'을 '번역 문장 3'으로 대체하여 상기 번역 문서를 생성할 수 있다.
그러고 나서, 문서 파일 전송부(116)는 상기 번역 문서에 대한 문서 파일을 사용자의 전자 단말(130)로 전송할 수 있다.
즉, 문서 번역 서비스 서버(110)는 상기 복수의 참조 문장들과 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들을 문장 데이터베이스(112)에 저장해 둔 상태에서, 사용자의 전자 단말(130)로부터, 상기 문서에 대한 문서 파일이 수신되면서, 상기 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 번역할 것을 지시하는 번역 요청이 수신되면, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 확인하여 상기 제1 참조 문장과 동일한 상기 제1 문장이 상기 문서에 존재하는 것으로 확인되는 경우, 상기 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서에 대한 번역 문서를 생성하되, 상기 제1 문장에 대한 기계 번역 문장을, 상기 제1 참조 문장에 대한 번역 문장들 중 상기 제1 주제 분야와의 매칭도가 가장 높은 번역 문장으로 대체함으로써, 상기 사용자에게 보다 정확한 번역 결과가 적용된 번역 문서를 제공할 수 있다.
본 발명의 일실시예에 따르면, 문서 번역 서비스 서버(110)는 안내 메시지 전송부(123), 순위 할당부(124) 및 정보 전송부(125)를 더 포함할 수 있다.
안내 메시지 전송부(123)는 문서 파일 전송부(116)에 의해 상기 번역 문서에 대한 문서 파일이 사용자의 전자 단말(130)로 전송되면, 상기 번역 문서에 포함되어 있는 상기 제2 번역 문장이 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로 생성된 기계 번역 문장이 아니라, 문장 데이터베이스(112)에 저장되어 있는 상기 제1 번역 문장들 중 하나임을 지시하는 안내 메시지를 생성한 후, 상기 안내 메시지를 사용자의 전자 단말(130)로 전송한다.
순위 할당부(124)는 상기 안내 메시지가 사용자의 전자 단말(130)로 전송된 이후, 사용자의 전자 단말(130)로부터 상기 제1 번역 문장들에 대한 정보의 전송 요청이 수신되면, 상기 제1 번역 문장들 각각에 대해, 상기 제1 기계 번역 문장과의 BLEU 스코어가 높은 순으로 상기 제1 주제 분야와의 매칭도 순위를 할당한다.
정보 전송부(125)는 상기 제1 번역 문장들과, 상기 제1 번역 문장들 각각에 할당된 상기 제1 주제 분야와의 매칭도 순위에 대한 정보를 사용자의 전자 단말(130)로 전송한다.
이하에서는, 안내 메시지 전송부(123), 순위 할당부(124) 및 정보 전송부(125)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 문서 파일 전송부(116)에 의해 상기 번역 문서에 대한 문서 파일이 사용자의 전자 단말(130)로 전송되었다고 가정하자.
그러면, 안내 메시지 전송부(123)는 상기 번역 문서에 포함되어 있는 '번역 문장 3'이 '의료' 분야에 대한 기계 번역 엔진을 기초로 생성된 기계 번역 문장이 아니라, 문장 데이터베이스(112)에 저장되어 있는 '번역 문장 1, 번역 문장 2, 번역 문장 3' 중 하나임을 지시하는 안내 메시지를 생성한 후, 상기 안내 메시지를 사용자의 전자 단말(130)로 전송할 수 있다.
그 이후, 사용자의 전자 단말(130)로부터, '번역 문장 1, 번역 문장 2, 번역 문장 3'에 대한 정보의 전송 요청이 수신되었다고 하는 경우, 순위 할당부(124)는 '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각에 대해, '기계 번역 문장 1'과의 BLEU 스코어가 높은 순으로 '의료' 분야와의 매칭도 순위를 할당한다.
이와 관련해서, 전술한 예에 따라, 스코어 연산부(119)에 의해 '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각과 '기계 번역 문장 1' 간의 BLEU 스코어인 'BLEU(1), BLEU(2), BLEU(3)'이 생성되었다고 하고, 이때, 'BLEU(3), BLEU(1), BLEU(2)' 순으로 큰 값을 갖는다고 가정하자.
그러면, 순위 할당부(124)는 '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각에 대해, '의료' 분야와의 매칭도 순위를 '2위, 3위, 1위'와 같이 할당할 수 있다.
그러고 나서, 정보 전송부(125)는 '번역 문장 1, 번역 문장 2, 번역 문장 3'과, '번역 문장 1, 번역 문장 2, 번역 문장 3' 각각에 할당된 '의료' 분야와의 매칭도 순위인 '2위, 3위, 1위'에 대한 정보를 사용자의 전자 단말(130)로 전송할 수 있다.
그러면, 상기 사용자는 상기 번역 문서에 포함되어 있는 '번역 문장 3'이 '문장 1'에 대한 번역 문장으로 적합하지 않아 '번역 문장 3'에 대한 수정이 필요한 경우, 사용자의 전자 단말(130)에 수신된 정보를 참조하여, '번역 문장 3'을 '번역 문장 1, 번역 문장 2' 중 '문장 1'에 대한 가장 적합한 번역 문장으로 대체함으로써, 상기 번역 문서에 대한 수정 작업을 수행할 수 있다.
도 2는 본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 사전 설정된 복수의 주제 분야별로 사전 구축된 서로 다른 기계 번역 엔진들에 대한 데이터가 저장되어 있는 데이터 저장부를 유지한다.
단계(S220)에서는 사전 지정된 제1 언어로 구성된 복수의 참조 문장들과, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들(상기 번역 문장들은 상기 복수의 참조 문장들 각각을 사전 지정된 제2 언어로 사전 번역한 문장들임)이 저장되어 있는 문장 데이터베이스를 유지한다.
단계(S230)에서는 사용자의 전자 단말로부터, 상기 제1 언어로 구성된 문서에 대한 문서 파일이 수신되면서, 상기 복수의 주제 분야들 중 어느 하나인 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 상기 제2 언어로 번역할 것을 지시하는 번역 요청이 수신되면, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 여부를 확인한다.
단계(S240)에서는 상기 문서에 상기 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 제1 번역 문장들을 확인한 후, 상기 제1 번역 문장들 중 상기 제1 주제 분야와의 매칭도가 가장 높은 제2 번역 문장을 선택한다.
단계(S250)에서는 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로, 상기 문서에 포함되어 있는 문장들 각각에 대한 기계 번역 문장을 생성함으로써, 상기 문서에 대한 번역 문서를 생성하되, 상기 제1 문장에 대한 기계 번역 문장인 제1 기계 번역 문장을 상기 제2 번역 문장으로 대체하여 상기 번역 문서를 생성한다.
단계(S260)에서는 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 사용자의 전자 단말로 전송한다.
이때, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 문서에 상기 제1 참조 문장과 동일한 상기 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 상기 제1 번역 문장들을 추출하는 단계, 상기 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 제1 문장에 대한 기계 번역 문장인 상기 제1 기계 번역 문장을 생성하는 단계, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산하는 단계 및 상기 제1 번역 문장들 중 상기 제1 기계 번역 문장과의 BLEU 스코어가 가장 높은 번역 문장을 상기 제2 번역 문장으로 선택하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 BLEU 스코어를 연산하는 단계는 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 N-gram 기반의 정밀도를 1-gram 정밀도부터 k(k는 2 이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 k개의 정밀도들을 산출한 후, 상기 수학식 1에 따라, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 BLEU 스코어를 연산하는 단계는 상기 k개의 정밀도들 각각에 적용되어야 하는 것으로 사전 설정된 0 초과 1 이하의 값을 갖는 가중치가 기록되어 있는 가중치 테이블을 저장하여 유지하는 단계 및 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 상기 수학식 1에 따라, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 문서 번역 서비스 서버의 동작 방법은 상기 번역 문서에 대한 문서 파일이 상기 사용자의 전자 단말로 전송되면, 상기 번역 문서에 포함되어 있는 상기 제2 번역 문장이 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로 생성된 기계 번역 문장이 아니라, 상기 문장 데이터베이스에 저장되어 있는 상기 제1 번역 문장들 중 하나임을 지시하는 안내 메시지를 생성한 후, 상기 안내 메시지를 상기 사용자의 전자 단말로 전송하는 단계, 상기 안내 메시지가 상기 사용자의 전자 단말로 전송된 이후, 상기 사용자의 전자 단말로부터 상기 제1 번역 문장들에 대한 정보의 전송 요청이 수신되면, 상기 제1 번역 문장들 각각에 대해, 상기 제1 기계 번역 문장과의 BLEU 스코어가 높은 순으로 상기 제1 주제 분야와의 매칭도 순위를 할당하는 단계 및 상기 제1 번역 문장들과, 상기 제1 번역 문장들 각각에 할당된 상기 제1 주제 분야와의 매칭도 순위에 대한 정보를 상기 사용자의 전자 단말로 전송하는 단계를 더 포함할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 상기 문서 번역 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 문서 번역 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버
111: 데이터 저장부 112: 문장 데이터 베이스
113: 문장 확인부 114: 번역 문장 선택부
115: 번역 문서 생성부 116: 문서 파일 전송부
117: 추출부 118: 생성부
119: 스코어 연산부 120: 선택부
121: 테이블 유지부 122: 보정 연산부
123: 안내 메시지 전송부 124: 순위 할당부
125: 정보 전송부
130: 사용자의 전자 단말

Claims (12)

  1. 사전 설정된 복수의 주제 분야별로 사전 구축된 서로 다른 기계 번역 엔진들에 대한 데이터가 저장되어 있는 데이터 저장부;
    사전 지정된 제1 언어로 구성된 복수의 참조 문장들과, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들 - 상기 번역 문장들은 상기 복수의 참조 문장들 각각을 사전 지정된 제2 언어로 사전 번역한 문장들임 - 이 저장되어 있는 문장 데이터베이스;
    사용자의 전자 단말로부터, 상기 제1 언어로 구성된 문서에 대한 문서 파일이 수신되면서, 상기 복수의 주제 분야들 중 어느 하나인 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 상기 제2 언어로 번역할 것을 지시하는 번역 요청이 수신되면, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 여부를 확인하는 문장 확인부;
    상기 문서에 상기 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 제1 번역 문장들을 확인한 후, 상기 제1 번역 문장들 중 상기 제1 주제 분야와의 매칭도가 가장 높은 제2 번역 문장을 선택하는 번역 문장 선택부;
    상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로, 상기 문서에 포함되어 있는 문장들 각각에 대한 기계 번역 문장을 생성함으로써, 상기 문서에 대한 번역 문서를 생성하되, 상기 제1 문장에 대한 기계 번역 문장인 제1 기계 번역 문장을 상기 제2 번역 문장으로 대체하여 상기 번역 문서를 생성하는 번역 문서 생성부; 및
    상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 사용자의 전자 단말로 전송하는 문서 파일 전송부
    를 포함하고,
    상기 번역 문장 선택부는
    상기 문서에 상기 제1 참조 문장과 동일한 상기 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 상기 제1 번역 문장들을 추출하는 추출부;
    상기 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 제1 문장에 대한 기계 번역 문장인 상기 제1 기계 번역 문장을 생성하는 생성부;
    상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 N-gram 기반의 정밀도(precision)를 1-gram 정밀도부터 k(k는 2 이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 k개의 정밀도들을 산출한 후, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU(Bilingual Evaluation Understudy) 스코어를 연산하는 스코어 연산부; 및
    상기 제1 번역 문장들 중 상기 제1 기계 번역 문장과의 BLEU 스코어가 가장 높은 번역 문장을 상기 제2 번역 문장으로 선택하는 선택부
    를 포함하며,
    상기 스코어 연산부는
    상기 k개의 정밀도들 각각에 적용되어야 하는 것으로 사전 설정된 0 초과 1 이하의 값을 갖는 가중치가 기록되어 있는 가중치 테이블을 저장하여 유지하는 테이블 유지부; 및
    상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 하기의 수학식 1에 따라, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산하는 보정 연산부
    를 포함하는 문서 번역 서비스 서버.
    [수학식 1]
    Figure 112022122872011-pat00021

    여기서,
    Figure 112022122872011-pat00022
    는 상기 제1 번역 문장들 중 i번째 번역 문장과 상기 제1 기계 번역 문장 간의 BLEU 스코어,
    Figure 112022122872011-pat00023
    는 상기 제1 기계 번역 문장에 존재하는 모든 1-gram의 개수,
    Figure 112022122872011-pat00024
    는 상기 i번째 번역 문장에 존재하는 모든 1-gram의 개수,
    Figure 112022122872011-pat00025
    는 상기 i번째 번역 문장과 상기 제1 기계 번역 문장 간의 1-gram 정밀도부터 k-gram 정밀도까지에 해당되는 k개의 정밀도들 중 s번째에 대응되는 정밀도로서 s-gram 정밀도를 의미함.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 번역 문서에 대한 문서 파일이 상기 사용자의 전자 단말로 전송되면, 상기 번역 문서에 포함되어 있는 상기 제2 번역 문장이 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로 생성된 기계 번역 문장이 아니라, 상기 문장 데이터베이스에 저장되어 있는 상기 제1 번역 문장들 중 하나임을 지시하는 안내 메시지를 생성한 후, 상기 안내 메시지를 상기 사용자의 전자 단말로 전송하는 안내 메시지 전송부;
    상기 안내 메시지가 상기 사용자의 전자 단말로 전송된 이후, 상기 사용자의 전자 단말로부터 상기 제1 번역 문장들에 대한 정보의 전송 요청이 수신되면, 상기 제1 번역 문장들 각각에 대해, 상기 제1 기계 번역 문장과의 BLEU 스코어가 높은 순으로 상기 제1 주제 분야와의 매칭도 순위를 할당하는 순위 할당부; 및
    상기 제1 번역 문장들과, 상기 제1 번역 문장들 각각에 할당된 상기 제1 주제 분야와의 매칭도 순위에 대한 정보를 상기 사용자의 전자 단말로 전송하는 정보 전송부
    를 더 포함하는 문서 번역 서비스 서버.
  6. 사전 설정된 복수의 주제 분야별로 사전 구축된 서로 다른 기계 번역 엔진들에 대한 데이터가 저장되어 있는 데이터 저장부를 유지하는 단계;
    사전 지정된 제1 언어로 구성된 복수의 참조 문장들과, 상기 복수의 참조 문장들 각각에 대한 하나 이상의 번역 문장들 - 상기 번역 문장들은 상기 복수의 참조 문장들 각각을 사전 지정된 제2 언어로 사전 번역한 문장들임 - 이 저장되어 있는 문장 데이터베이스를 유지하는 단계;
    사용자의 전자 단말로부터, 상기 제1 언어로 구성된 문서에 대한 문서 파일이 수신되면서, 상기 복수의 주제 분야들 중 어느 하나인 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 문서를 상기 제2 언어로 번역할 것을 지시하는 번역 요청이 수신되면, 상기 문서에 상기 복수의 참조 문장들과 동일한 문장이 존재하는지 여부를 확인하는 단계;
    상기 문서에 상기 복수의 참조 문장들 중 어느 하나인 제1 참조 문장과 동일한 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 제1 번역 문장들을 확인한 후, 상기 제1 번역 문장들 중 상기 제1 주제 분야와의 매칭도가 가장 높은 제2 번역 문장을 선택하는 단계;
    상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로, 상기 문서에 포함되어 있는 문장들 각각에 대한 기계 번역 문장을 생성함으로써, 상기 문서에 대한 번역 문서를 생성하되, 상기 제1 문장에 대한 기계 번역 문장인 제1 기계 번역 문장을 상기 제2 번역 문장으로 대체하여 상기 번역 문서를 생성하는 단계; 및
    상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 사용자의 전자 단말로 전송하는 단계
    를 포함하고,
    상기 제2 번역 문장을 선택하는 단계는
    상기 문서에 상기 제1 참조 문장과 동일한 상기 제1 문장이 존재하는 것으로 확인되면, 상기 문장 데이터베이스로부터 상기 제1 참조 문장에 대응되는 상기 제1 번역 문장들을 추출하는 단계;
    상기 제1 주제 분야에 대한 기계 번역 엔진을 이용하여 상기 제1 문장에 대한 기계 번역 문장인 상기 제1 기계 번역 문장을 생성하는 단계;
    상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 N-gram 기반의 정밀도(precision)를 1-gram 정밀도부터 k(k는 2 이상의 자연수임)-gram 정밀도까지 연산함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 k개의 정밀도들을 산출한 후, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU(Bilingual Evaluation Understudy) 스코어를 연산하는 단계; 및
    상기 제1 번역 문장들 중 상기 제1 기계 번역 문장과의 BLEU 스코어가 가장 높은 번역 문장을 상기 제2 번역 문장으로 선택하는 단계
    를 포함하며,
    상기 BLEU 스코어를 연산하는 단계는
    상기 k개의 정밀도들 각각에 적용되어야 하는 것으로 사전 설정된 0 초과 1 이하의 값을 갖는 가중치가 기록되어 있는 가중치 테이블을 저장하여 유지하는 단계; 및
    상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들이 산출되면, 상기 가중치 테이블을 참조하여 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대해 각 정밀도에 대응되는 가중치를 곱함으로써, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 상기 k개의 정밀도들에 대한 보정을 수행한 후, 하기의 수학식 1에 따라, 상기 제1 번역 문장들 각각과 상기 제1 기계 번역 문장 간의 BLEU 스코어를 연산하는 단계
    를 포함하는 문서 번역 서비스 서버의 동작 방법.
    [수학식 1]
    Figure 112022122872011-pat00026

    여기서,
    Figure 112022122872011-pat00027
    는 상기 제1 번역 문장들 중 i번째 번역 문장과 상기 제1 기계 번역 문장 간의 BLEU 스코어,
    Figure 112022122872011-pat00028
    는 상기 제1 기계 번역 문장에 존재하는 모든 1-gram의 개수,
    Figure 112022122872011-pat00029
    는 상기 i번째 번역 문장에 존재하는 모든 1-gram의 개수,
    Figure 112022122872011-pat00030
    는 상기 i번째 번역 문장과 상기 제1 기계 번역 문장 간의 1-gram 정밀도부터 k-gram 정밀도까지에 해당되는 k개의 정밀도들 중 s번째에 대응되는 정밀도로서 s-gram 정밀도를 의미함.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제6항에 있어서,
    상기 번역 문서에 대한 문서 파일이 상기 사용자의 전자 단말로 전송되면, 상기 번역 문서에 포함되어 있는 상기 제2 번역 문장이 상기 제1 주제 분야에 대한 기계 번역 엔진을 기초로 생성된 기계 번역 문장이 아니라, 상기 문장 데이터베이스에 저장되어 있는 상기 제1 번역 문장들 중 하나임을 지시하는 안내 메시지를 생성한 후, 상기 안내 메시지를 상기 사용자의 전자 단말로 전송하는 단계;
    상기 안내 메시지가 상기 사용자의 전자 단말로 전송된 이후, 상기 사용자의 전자 단말로부터 상기 제1 번역 문장들에 대한 정보의 전송 요청이 수신되면, 상기 제1 번역 문장들 각각에 대해, 상기 제1 기계 번역 문장과의 BLEU 스코어가 높은 순으로 상기 제1 주제 분야와의 매칭도 순위를 할당하는 단계; 및
    상기 제1 번역 문장들과, 상기 제1 번역 문장들 각각에 할당된 상기 제1 주제 분야와의 매칭도 순위에 대한 정보를 상기 사용자의 전자 단말로 전송하는 단계
    를 더 포함하는 문서 번역 서비스 서버의 동작 방법.
  11. 제6항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020210008392A 2021-01-20 2021-01-20 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법 KR102523806B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210008392A KR102523806B1 (ko) 2021-01-20 2021-01-20 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210008392A KR102523806B1 (ko) 2021-01-20 2021-01-20 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20220105551A KR20220105551A (ko) 2022-07-27
KR102523806B1 true KR102523806B1 (ko) 2023-04-21

Family

ID=82701382

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210008392A KR102523806B1 (ko) 2021-01-20 2021-01-20 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102523806B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013089116A (ja) * 2011-10-20 2013-05-13 Nippon Telegr & Teleph Corp <Ntt> 最適翻訳文選択装置、翻訳文選択モデル学習装置、方法、及びプログラム
JP2015170094A (ja) * 2014-03-06 2015-09-28 株式会社Nttドコモ 翻訳装置及び翻訳方法
JP2016218995A (ja) * 2015-05-25 2016-12-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機械翻訳方法、機械翻訳装置及びプログラム
JP2019139629A (ja) * 2018-02-14 2019-08-22 株式会社Nttドコモ 機械翻訳装置、翻訳学習済みモデル及び判定学習済みモデル

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013089116A (ja) * 2011-10-20 2013-05-13 Nippon Telegr & Teleph Corp <Ntt> 最適翻訳文選択装置、翻訳文選択モデル学習装置、方法、及びプログラム
JP2015170094A (ja) * 2014-03-06 2015-09-28 株式会社Nttドコモ 翻訳装置及び翻訳方法
JP2016218995A (ja) * 2015-05-25 2016-12-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機械翻訳方法、機械翻訳装置及びプログラム
JP2019139629A (ja) * 2018-02-14 2019-08-22 株式会社Nttドコモ 機械翻訳装置、翻訳学習済みモデル及び判定学習済みモデル

Also Published As

Publication number Publication date
KR20220105551A (ko) 2022-07-27

Similar Documents

Publication Publication Date Title
CN110543644A (zh) 包含术语翻译的机器翻译方法、装置与电子设备
US10303761B2 (en) Method, non-transitory computer-readable recording medium storing a program, apparatus, and system for creating similar sentence from original sentences to be translated
US8612206B2 (en) Transliterating semitic languages including diacritics
EP1482414B1 (en) Translating method for emphasised words
US5895446A (en) Pattern-based translation method and system
KR101544690B1 (ko) 단어 분할 장치, 단어 분할 방법 및 단어 분할 프로그램
US20070021956A1 (en) Method and apparatus for generating ideographic representations of letter based names
US20080133444A1 (en) Web-based collocation error proofing
JP4319860B2 (ja) 転移ベースの機械翻訳システムで使用される転移辞書を開発するための方法および装置
JP6404511B2 (ja) 翻訳支援システム、翻訳支援方法、および翻訳支援プログラム
JP6817556B2 (ja) 類似文生成方法、類似文生成プログラム、類似文生成装置及び類似文生成システム
JP2003288360A (ja) 言語横断情報検索装置及び方法
CN110678868A (zh) 翻译支持系统等
US20050273316A1 (en) Apparatus and method for translating Japanese into Chinese and computer program product
EP4276677A1 (en) Cross-language data enhancement-based word segmentation method and apparatus
Nithya et al. A hybrid approach to English to Malayalam machine translation
KR102523806B1 (ko) 사전 저장된 번역 결과를 활용하여 기계 번역에 대한 보완을 수행하는 문서 번역 서비스 서버 및 그 동작 방법
US11842152B2 (en) Sentence structure vectorization device, sentence structure vectorization method, and storage medium storing sentence structure vectorization program
US20210312144A1 (en) Translation device, translation method, and program
KR102523767B1 (ko) Bleu 스코어를 기초로 유사 문장에 대한 검색을 수행하는 전자 장치 및 그 동작 방법
JP2007018359A (ja) 言語処理装置及び言語処理方法と、言語処理プログラム
JP2006024114A (ja) 機械翻訳装置および機械翻訳コンピュータプログラム
Khoroshilov et al. Machine phraseological translation of scientific-technical texts based on the model of generalized syntagmas
KR102571400B1 (ko) 임상시험 데이터 검색 장치 및 방법
JP4198737B2 (ja) 機械翻訳プログラム、機械翻訳装置

Legal Events

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