KR20190034939A - 문장 생성 방법 및 장치 - Google Patents

문장 생성 방법 및 장치 Download PDF

Info

Publication number
KR20190034939A
KR20190034939A KR1020170123569A KR20170123569A KR20190034939A KR 20190034939 A KR20190034939 A KR 20190034939A KR 1020170123569 A KR1020170123569 A KR 1020170123569A KR 20170123569 A KR20170123569 A KR 20170123569A KR 20190034939 A KR20190034939 A KR 20190034939A
Authority
KR
South Korea
Prior art keywords
word
words
source
sentence
probability
Prior art date
Application number
KR1020170123569A
Other languages
English (en)
Other versions
KR102509822B1 (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 KR1020170123569A priority Critical patent/KR102509822B1/ko
Priority to US15/945,979 priority patent/US10572604B2/en
Priority to CN201810383162.6A priority patent/CN109558570B/zh
Priority to JP2018133932A priority patent/JP7181019B2/ja
Priority to EP18187748.1A priority patent/EP3460679A1/en
Publication of KR20190034939A publication Critical patent/KR20190034939A/ko
Priority to US16/745,947 priority patent/US10990765B2/en
Application granted granted Critical
Publication of KR102509822B1 publication Critical patent/KR102509822B1/ko

Links

Images

Classifications

    • G06F17/27
    • 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/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • G06F17/289
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

문장 생성 방법이 개시된다. 일 실시예는 소스 문장을 기초로 생성된 소스 워드 집합의 대응 워드 집합을 생성하고, 상기 소스 문장의 인코딩을 통해 생성된 특징 벡터(feature vector)들을 기초로 디코딩을 수행하여 워드들을 생성하며, 상기 소스 워드 집합 및 상기 대응 워드 집합 중 적어도 하나를 기초로 상기 생성된 워드들 중 하나 이상의 확률을 조정하고, 상기 조정된 확률 및 조정되지 않은 확률을 기초로 상기 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중에서 일부 문자열들을 선택하는 단계를 포함한다.

Description

문장 생성 방법 및 장치{METHOD AND APPARATUS FOR GENERATING SENTENCE}
아래 실시예들은 문장 생성 방법 및 장치에 관한 것이다.
사용자는 모국어가 아닌 다른 언어의 문장, 절, 구, 또는 워드를 기계 번역을 이용하여 번역할 수 있다. 기계 번역 결과는 사용자의 이해에 직접적인 영향을 미치기에 그 정확도를 높이기 위한 연구들이 진행되고 있다.
일 측에 따른 문장 생성 방법은 소스 문장을 기초로 생성된 소스 워드 집합의 대응 워드 집합을 생성하는 단계; 상기 소스 문장의 인코딩을 통해 생성된 특징 벡터(feature vector)들을 기초로 디코딩을 수행하여, 워드들을 생성하는 단계; 상기 소스 워드 집합 및 상기 대응 워드 집합 중 적어도 하나를 기초로 상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계; 및 상기 조정된 확률 및 조정되지 않은 확률을 기초로 상기 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중 일부 문자열들을 선택하는 단계를 포함한다.
상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는, 상기 생성된 워드들 중에서 식별된 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 워드의 확률을 조정하는 단계를 포함할 수 있다.
상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는, 상기 식별된 워드가 상기 대응 워드 집합에 없는 경우, 상기 식별된 워드가 속한 그룹 내의 다른 워드들과 상기 대응 워드 집합 내의 워드들 사이에 공통된 워드가 있는지 확인하는 단계; 및 상기 확인 결과 상기 공통된 워드가 있고 상기 공통된 워드가 상기 상기 생성된 워드들 중 하나인 경우, 상기 공통된 워드의 확률을 조정하는 단계를 포함할 수 있다.
상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는, 상기 생성된 워드들 각각의 확률을 기초로 상기 생성된 워드들 중에서 일부를 식별하는 단계를 포함할 수 있다.
상기 디코딩을 수행하는 단계는, 상기 특징 벡터들과 가중치들을 이용하여 컨텍스트 벡터를 계산하는 단계; 및 상기 컨텍스트 벡터 및 이전 디코딩 결과를 기초로 상기 워드들을 생성하는 단계를 포함할 수 있다.
상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는, 상기 디코딩을 수행할 때 고려된 가중치들 중 최대값을 통해, 상기 생성된 워드들 중 최대 확률을 갖는 워드에 대응되는 소스 워드를 식별하는 단계 -상기 식별된 소스 워드는 상기 소스 문장 내의 워드들 중 하나임-; 상기 식별된 소스 워드가 상기 소스 워드 집합에 있는 경우, 상기 대응 워드 집합에서 상기 식별된 소스 워드의 대응 워드를 검색하는 단계; 및 상기 검색된 대응 워드가 상기 생성된 워드들 중 하나인 경우, 상기 검색된 대응 워드의 확률을 조정하는 단계를 포함할 수 있다.
상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는, 상기 검색된 대응 워드의 확률이 조정된 경우, 상기 생성된 워드들 중 상기 검색된 대응 워드를 제외한 나머지의 확률과 상기 조정된 확률을 기초로 상기 검색된 대응 워드 및 상기 나머지 중에서 일부 워드를 식별하는 단계; 및 상기 식별된 일부 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 일부 워드의 확률을 조정하는 단계를 포함할 수 있다.
상기 문장 생성 방법은 상기 선택된 문자열들이 상기 소스 문장의 번역문에 대한 후보들인 경우, 상기 선택된 문자열들 각각의 스코어를 계산하는 단계; 상기 선택된 문자열들 각각의 스코어에 상기 선택된 문자열들 각각의 커버리지를 적용하는 단계; 및 상기 적용 결과를 기초로 상기 선택된 문자열들 중에서 어느 하나를 상기 번역문으로 결정하는 단계를 더 포함할 수 있다.
상기 선택된 문자열들 각각의 커버리지는 상기 선택된 문자열들 각각이 상기 대응 워드 집합 내의 워드를 얼마나 포함하고 있는지 여부를 나타낼 수 있다.
상기 소스 워드 집합은 상기 소스 문장에서 추출된 워드, 상기 추출된 워드의 유의어, 상기 추출된 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함할 수 있다.
상기 대응 워드 집합은 상기 소스 워드 집합 내의 워드를 다른 언어로 표현한 번역 워드, 상기 번역 워드의 유의어, 및 상기 번역 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함할 수 있다.
상기 소스 문장 및 상기 소스 워드 집합은 제1 언어일 수 있고, 상기 생성된 워드들 및 상기 대응 워드 집합은 상기 제1 언어와 다른 제2 언어일 수 있다.
상기 대응 워드 집합은 제1 언어-제2 언어 사전을 참고하여 생성될 수 있다.
일 측에 따른 문장 생성 장치는 소스 문장을 기초로 생성된 소스 워드 집합의 대응 워드 집합을 생성하고, 상기 소스 문장의 인코딩을 통해 생성된 특징 벡터(feature vector)들을 기초로 디코딩을 수행하여 워드들을 생성하며, 상기 소스 워드 집합 및 상기 대응 워드 집합 중 적어도 하나를 기초로 상기 생성된 워드들 중 하나 이상의 확률을 조정하고, 상기 조정된 확률 및 조정되지 않은 확률을 기초로 상기 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중 일부 문자열들을 선택하는 컨트롤러를 포함한다.
상기 컨트롤러는 상기 생성된 워드들 중에서 식별된 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 워드의 확률을 조정할 수 있다.
상기 컨트롤러는, 상기 식별된 워드가 상기 대응 워드 집합에 없는 경우, 상기 식별된 워드가 속한 그룹 내의 다른 워드들과 상기 대응 워드 집합 내의 워드들 사이에 공통된 워드가 있는지 확인하고, 상기 확인 결과 상기 공통된 워드가 있고 상기 공통된 워드가 상기 상기 생성된 워드들 중 하나인 경우, 상기 공통된 워드의 확률을 조정할 수 있다.
상기 컨트롤러는 상기 생성된 워드들 각각의 확률을 기초로 상기 생성된 워드들 중에서 일부를 식별할 수 있다.
상기 컨트롤러는 상기 특징 벡터들과 가중치들을 이용하여 컨텍스트 벡터를 계산하고, 상기 컨텍스트 벡터 및 이전 디코딩 결과를 기초로 상기 워드들을 생성할 수 있다.
상기 컨트롤러는 상기 디코딩을 수행할 때 고려된 가중치들 중 최대값을 통해, 상기 생성된 워드들 중 최대 확률을 갖는 워드에 대응되는 소스 워드를 식별하고 -상기 식별된 소스 워드는 상기 소스 문장 내의 워드들 중 하나임, 상기 식별된 소스 워드가 상기 소스 워드 집합에 있는 경우, 상기 대응 워드 집합에서 상기 식별된 소스 워드의 대응 워드를 검색하며, 상기 검색된 대응 워드가 상기 생성된 워드들 중 하나인 경우, 상기 검색된 대응 워드의 확률을 조정할 수 있다.
상기 컨트롤러는 상기 검색된 대응 워드의 확률이 조정된 경우, 상기 생성된 워드들 중 상기 검색된 대응 워드를 제외한 나머지의 확률과 상기 조정된 확률을 기초로 상기 검색된 대응 워드 및 상기 나머지 중에서 일부 워드를 식별하고, 상기 식별된 일부 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 일부 워드의 확률을 조정할 수 있다.
상기 컨트롤러는 상기 선택된 문자열들이 상기 소스 문장의 번역문에 대한 후보들인 경우, 상기 선택된 문자열들 각각의 스코어를 계산하고, 상기 선택된 문자열들 각각의 스코어에 상기 선택된 문자열들 각각의 커버리지를 적용하며, 상기 적용 결과를 기초로 상기 선택된 문자열들 중에서 어느 하나를 상기 번역문으로 결정할 수 있다.
상기 선택된 문자열들 각각의 커버리지는 상기 선택된 문자열들 각각이 상기 대응 워드 집합 내의 워드를 얼마나 포함하고 있는지 여부를 나타낼 수 있다.
상기 소스 워드 집합은 상기 소스 문장에서 추출된 워드, 상기 추출된 워드의 유의어, 상기 추출된 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함할 수 있다.
상기 대응 워드 집합은 상기 소스 워드 집합 내의 워드를 다른 언어로 표현한 번역 워드, 상기 번역 워드의 유의어, 및 상기 번역 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함할 수 있다.
상기 소스 문장 및 상기 소스 워드 집합은 제1 언어일 수 있고, 상기 생성된 워드들 및 상기 대응 워드 집합은 상기 제1 언어와 다른 제2 언어일 수 있다.
상기 대응 워드 집합은 제1 언어-제2 언어 사전을 참고하여 생성될 수 있다.
도 1은 일 실시예에 따른 문장 생성 장치를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 워드 집합 생성기의 동작을 설명하기 위한 도면이다.
도 3 내지 도 6은 일 실시예에 따른 번역기의 동작을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 번역기가 번역문에 대한 후보 문자열들을 선택했을 때의 동작을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 문장 생성 방법을 설명하기 위한 순서도이다.
도 9는 일 실시예에 따른 문장 생성 장치를 설명하기 위한 블록도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들로만 실시 형태가 한정되는 것은 아니며 다양한 변경이 가해질 수 있다. 실시 형태는 실시예들의 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 일 실시예에 따른 문장 생성 장치를 설명하기 위한 도면이다.
도 1을 참조하면, 문장 생성 장치(100)는 워드 집합 생성기(110) 및 번역기(120)를 포함한다.
워드 집합 생성기(110)는 소스 문장을 기초로 소스 워드 집합을 생성하고, 소스 워드 집합의 대응 워드 집합을 생성한다. 소스 워드 집합은, 예를 들어, 소스 문장에서 추출된 워드, 추출된 워드의 유의어, 및/또는 추출된 워드의 기본형(basic form)을 포함할 수 있다. 대응 워드 집합은 소스 문장에서 소스 워드 집합 내의 워드를 다른 언어로 표현한 번역 워드, 해당 번역 워드의 유의어, 및/또는 해당 번역 워드의 기본형을 포함할 수 있다. 워드 집합 생성기(110)에 대해선 도 2를 통해 설명한다.
번역기(120)는 소스 문장을 인코딩하여 특징 벡터들을 생성하고, 특징 벡터들을 기초로 디코딩을 수행하여 워드들을 생성한다. 번역기(120)는 소스 워드 집합 및 대응 워드 집합 중 적어도 하나를 기초로, 생성된 워드들 중 하나 이상의 워드의 확률을 증가시킨다. 이로 인해, 해당 워드가 문자열에 나타날 확률이 증가할 수 있다. 번역기(120)는 SMT(Statistical Machine Translation) 또는 NMT(Neural Machine Translation) 기반일 수 있다. 번역기(120)에 대해선 도 3 내지 도 6을 통해 설명한다.
도 2는 일 실시예에 따른 워드 집합 생성기의 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 워드 집합 생성기(110)는 소스 워드 집합 생성기(210) 및 대응 워드 집합 생성기(220)를 포함한다.
소스 워드 집합 생성기(210)는 소스 문장에서 하나 이상의 워드를 추출하고, 추출된 워드를 포함하는 소스 워드 집합을 생성한다. 일례로, 소스 워드 집합 생성기(210)는 제1언어(예를들어, 한국어)로 된 소스 문장에 keyword spotting 또는 name-entity recognition을 적용하여 키워드를 추출할 수 있다. 구현에 따라, 소스 워드 집합 생성기(210)는 추출된 워드의 유의어 및/또는 기본형을 제1 언어 사전을 참고하여소스 워드 집합에 추가할 수 있다.
대응 워드 집합 생성기(220)는 소스 워드 집합 내의 워드의 대응 워드를 결정하고, 해당 대응 워드를 포함하는 대응 워드 집합을 생성한다. 여기서, 대응 워드는, 예를 들어, 소스 워드 집합 내의 워드를 제1언어와 다른 제2언어(예를들어, 영어)로 표현한 번역 워드일 수 있고, 번역 워드는 제1언어-제2언어 사전(예를 들어 한영사전)을 참고하여 생성될 수 있다. 구현에 따라, 대응 워드 집합 생성기(210)는 해당 대응 워드의 유의어 및/또는 해당 대응 워드의 기본형을 제2언어 사전을 참고하여 대응 워드 집합에 추가할 수 있다.
도 2에 도시된 예를 참조하면, 소스 워드 집합 생성기(210)는 소스 문장 "귀하의 직무발명이 출원되었음을 알려드립니다"에서 "귀하의", "직무발명이", "출원되었음을", 및 "알려드립니다"의 워드들을 추출할 수 있고, 추출된 워드들을 포함하는 소스 워드 집합을 생성할 수 있다. 이 때, 소스 워드 집합 생성기(210)는 "귀하의"의 유의어에 해당하는 "너의" 및 "당신의"를 소스 워드 집합에 추가할 수 있다. 또한, 소스 워드 집합 생성기(210)는 "출원되었음을"의 기본형에 해당하는 "출원되었다"를 소스 워드 집합에 추가할 수 있고 "알려드립니다"의 기본형에 해당하는 "알리다"를 소스 워드 집합에 추가할 수 있다. 이러한 소스 워드 집합의 일례(211)가 도 2에 도시된다.
대응 워드 집합 생성기(220)는 소스 워드 집합(211) 내의 워드 "귀하의", "너의, 및 "당신의"의 대응 워드를 "your"로 결정할 수 있고, 소스 워드 집합(211) 내의 워드 "직무발명"의 대응 워드를 "invention related to the duties"로 결정할 수 있다. 또한, 대응 워드 집합 생성기(220)는 소스 워드 집합(211) 내의 "출원되었음을" 및 "출원되었다"의 대응 워드를 "was filed"로 결정할 수 있고, 소스 워드 집합(211) 내의 "알려드립니다" 및 "알리다"의 대응 워드를 "let you know"로 결정할 수 있다. 대응 워드 집합 생성기(220)는 "your", "invention related to the duties", "was filed", 및 "let you know"를 포함하는 대응 워드 집합을 생성할 수 있다. 이 때, 대응 워드 집합 생성기(220)는 "was filed"의 유의어에 해당하는 "have been applied" 및/또는 "was applied"를 대응 워드 집합에 추가할 수 있고, "let you know"의 유의어에 해당하는 "inform you" 및/또는 "notify you"를 대응 워드 집합에 추가할 수 있다. 이러한 대응 워드 집합의 일례(221)가 도 2에 도시된다.
실시예에 따르면, 소스 워드 집합(211) 내의 워드가 모호성(ambiguity)을 가져 대응 워드 집합 생성기(220)는 해당 워드의 대응 워드를 결정하기 어려울 수 있다. 모호성은, 예를 들어, 워드가 별개의 의미를 갖는 워드들로 번역되는 것을 의미할 수 있다. 이 경우, 대응 워드 집합 생성기(220)는 해당 워드의 주변 워드를 참조하여 해당 워드의 대응 워드를 결정할 수 있다.
예를 들어, 소스 문장이 "DHL 특송을 보내겠습니다"인 경우, 소스 워드 집합 생성기(210)는 "DHL", "특송", 및 "보내겠습니다"를 추출하여 소스 워드 집합을 생성할 수 있다. 여기서, "특송"은 별개의 의미를 갖는 "special praise" 또는 "special delivery"로 번역될 수 있어, 대응 워드 집합 생성기(220)는 "특송"의 대응 워드를 결정하는 것이 어려울 수 있다. 이 경우, 대응 워드 집합 생성기(220)는 "특송"의 주변 워드인 "DHL"을 참조하여 "특송"의 대응 워드를 "special delivery"로 결정할 수 있다.
도 3 내지 도 6은 일 실시예에 따른 번역기를 설명하기 위한 도면이다.
도 3을 참조하면, 번역기(120)는 인코더(310) 및 디코더(320)를 포함한다.
인코더(310)는 소스 문장을 인코딩하여 특징 벡터들을 생성한다. 예를 들어, 인코더(310)는 소스 문장 내의 워드들 각각을 인코딩하여 소스 문장 내의 워드들 각각에 대한 특징 벡터를 생성할 수 있다. 생성된 특징 벡터들은 실수 벡터일 수 있다. 실시예에 따라, 인코더(310)는 뉴럴 네트워크(일례로, 재귀적 뉴럴 네트워크(Recurrent Neural Network, RNN))에 기반할 수 있다.
디코더(320)는 디코딩을 반복적으로 수행하되, 매 디코딩 시점에서 특징 벡터들 및 이전 디코딩 결과를 이용하여 디코딩을 수행한다. 이러한 디코딩을 통해 디코더(320)는 소스 문장의 번역문을 완성한다. 실시예에 따라, 디코더(320)는 뉴럴 네트워크(일례로, RNN)에 기반할 수 있다. 이하, 도 4를 참조하면서 디코더(320)가 디코딩 시점에서 어떻게 동작하는지를 설명한다.
도 4를 참조하면, 디코딩 시점 t에서, 디코더(320)는 특징 벡터들 및 이전 디코딩 결과를 이용하여 디코딩을 수행한다. 디코더(320)는 디코딩을 통해 워드들 "let", "inform", ... , "notify"를 생성할 수 있다. 이 때, 생성된 워드들 "let", "inform", ... , "notify" 각각은 확률을 가질 수 있다. "let"의 확률 Plet은 "to" 다음에 "let"이 나타날 확률이고, "inform"의 확률 Pinform은 "to" 다음에 "inform"이 나타날 확률이고, "notify"의 확률 Pnotify는 "to" 다음에 "notify"가 나타날 확률이다. Plet이 Pinform보다 크다는 것은 "to" 다음에 "inform"보다 "let"이 나올 확률이 크다는 것을 의미한다.
디코더(320)는 생성된 워드들 중에서 미리 정해진 기준을 만족하는 워드를 식별한다. 도 4에 도시된 예에서, 디코더(320)는 생성된 워드들 중 확률 높은 순서로 상위 K개의 워드들, 예를 들어, 상위 2개의 워드들 "let" 및 "inform"을 식별할 수 있다.
디코더(320)는 식별된 워드가 대응 워드 집합(221)에 속하는지 확인하고, 식별된 워드가 대응 워드 집합(221)에 속하는 경우, 식별된 워드의 확률을 조정한다. 예를 들어, 디코더(320)는 식별된 워드들 "let" 및 "inform" 각각이 대응 워드 집합(221)에 속하는지 확인할 수 있다. 도 4에 도시된 예의 경우, 식별된 워드들 "let" 및 "inform" 각각은 대응 워드 집합(221)에 속한다. 이 경우, 디코더(320)는 식별된 워드들 "let"의 확률 Plet 및 "inform"의 확률 Pinform을 조정한다. 일례로, 디코더(320)는 Plet에 일정한 값 β1을 더하여 Plet을 조정할 수 있고, Pinform에 일정한 값 β2를 더하여 Pinform을 조정할 수 있다. 여기서, β1과 β2는 양의 실수로, 서로 동일하거나 다를 수 있다.
디코더(320)는 조정된 확률과 조정되지 않은 확률을 기초로, 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중에서 일부 문자열들을 선택한다. 확률이 높게 조정된 워드가 있으므로, 해당 워드를 포함하는 문자열이 확률이 조정되지 않은 워드를 포함하는 문자열보다 선택될 가능성이 높아질 수 있다. 도 4에 도시된 예에서, 디코더(320)는 생성된 워드들 "let", "inform", ... , 및 "notify" 각각을 포함하는 서로 다른 문자열들 "I'd like to let", "I'd like to inform", ... , 및 "I'd like to notify"에 빔 탐색(beam search)을 수행함으로써 일부 문자열들을 선택할 수 있다. 다시 말해, 디코더(320)는 문자열들 "I'd like to let", "I'd like to inform", ... , 및 "I'd like to notify" 각각의 스코어(score)를 계산하고, 스코어가 높은 문자열들을 선택할 수 있다. 몇 개의 문자열들이 선택될지는 빔 탐색의 크기에 달려있다. 일례로, 빔 탐색의 크기가 3이면, 디코더(320)는 스코어가 높은 순서로 3개의 문자열들을 선택할 수 있다. 각 문자열의 스코어는 각 문자열에 포함된 워드들 각각의 확률을 더한 값이므로, 확률이 높게 조정된 워드 "let"을 포함하는 "I'd like to let"의 스코어와 확률이 높게 조정된 "inform"을 포함하는 "I'd like to inform"의 스코어가 증가하여 "I'd like to let" 및"I'd like to inform"가 선택될 가능성이 보다 높아지게 된다. 도 4에 도시된 예에서, 디코더(320)는 스코어가 높은 3개의 문자열들 "I'd like to let",, "I'd like to inform", 및 "I'd like to △△△"를 선택할 수 있다.
문자열들이 선택되면, 디코더(320)는 디코딩 시점 t+1에서 "let" 다음의 워드들을 생성할 수 있고, "inform" 다음의 워드들을 생성할 수 있으며, "△△△" 다음의 워드들을 생성할 수 있다. 이 때, 디코더(320)는 "let" 다음에 "you know"가 나타나게 할 수 있고, "inform" 다음에 "you"가 나타나게 할 수 있다. 이에 대해서 자세히 설명한다.
"let"은 대응 워드 집합(221)의 "let you know"의 일부이고, "inform"은 대응 워드 집합(221)의 "inform you"의 일부이다. 다시 말해, 디코딩 시점 t에서 선택된 워드들 "let" 및 "inform"은 대응 워드 집합(221) 내에서 구(phrase)의 일부이다. 이 경우, 디코더(320)는 디코딩 시점 t+1에서 대응 워드 집합(221) 내의 phrase "let you know"를 참조하여 "let" 다음의 워드를 "you"로 선택할 수 있고, 디코딩 시점 t+2에서 "you" 다음의 워드를 "know"로 선택할 수 있다. 이러한 선택 방식은 "you"의 확률 Pyou와 "know"의 확률 Pknow를 증가시키지 않고, 디코딩 시점 t+1에서 "you"를 강제로 선택할 수 있고 디코딩 시점 t+2에서 "know"를 강제로 선택할 수 있다. 구현에 따라, 디코더(320)는 디코딩 시점 t+1에서 "you"를 선택할 수 있도록 "you"의 확률 Pyou를 증가시킬 수 있고, 디코딩 시점 t+2에서 "know"를 선택할 수 있도록 "know"의 확률 Pknow를 증가시킬 수 있다. 마찬가지로, 디코더(320)는 디코딩 시점 t+1에서 "inform" 다음의 워드를 "you"로 선택할 수 있다. 이로 인해, 대응 워드 집합(221) 내의 phrase가 문자열들 "I'd like to let you know" 및 "I'd like to inform you"에 나타날 수 있다.
위에서 설명한 것과 같이, 디코더(320)는 디코딩 시점에서 생성한 워드들 중에서 확률이 높은 순으로 상위 K개에 속한 워드를 식별할 수 있고, 식별된 워드가 대응 워드 집합(221)에 속하면, 식별된 워드의 확률을 조정한다. 하지만, 식별된 워드가 대응 워드 집합(221)에 속하지 않을 수 있다. 이 경우, 디코더(320)는 식별된 워드가 속한 그룹과 대응 워드 집합(211) 사이에 공통된 워드가 있는지 확인하고, 확인 결과 공통된 워드가 있으며, 공통된 워드가 해당 디코딩 시점에서 생성된 워드들 중 하나이면 공통된 워드의 확률을 조정할 수 있다. 이에 대해선 도 4의 디코딩 시점 n을 참조하면서 설명한다.
디코딩 시점 n에서, 디코더(320)는 특징 벡터들 및 이전 디코딩 결과를 기초로 디코딩을 수행하여 워드들 "work", "ooo", ... , 및 "invention"를 생성할 수 있다. 디코더(320)는 "work", "ooo", ... , 및 "invention" 중에서 확률이 높은 순으로 상위 K개에 해당하는 워드들 "work" 및 "ooo"를 식별할 수 있다. 디코더(320)는 식별된 워드들 "work" 및 "ooo"이 대응 워드 집합(221)에 속하는지 확인할 수 있다. 식별된 워드들 "work" 및 "ooo"는 대응 워드 집합(221)에 속하지 않으므로, 디코더(320)는 식별된 워드들 "work" 및 "ooo" 각각이 속한 그룹 내의 다른 워드들과 대응 워드 집합(221) 내의 워드들 사이에 공통된 워드가 있는지 여부를 확인할 수 있다. 여기서, 그룹은 동일 또는 유사한 의미나 속성을 갖는 워드들의 집합(set)을 나타낼 수 있다. 도 4에 도시된 예에서, 디코더(320)는 "work"가 속한 그룹(330) 내의 다른 워드들과 대응 워드 집합(221) 내의 워드들 사이에 "invention"이 공통된다는 것을 확인할 수 있고, "ooo"가 속한 그룹(340) 내의 다른 워드들과 대응 워드 집합(221) 내의 워드들 사이에 공통된 워드가 없다는 것을 확인할 수 있다.
디코더(320)는 공통된 워드 "invention"이 디코딩 시점 n에서 생성된 워드들 중 하나인지 체크할 수 있고, 체크 결과를 기초로 공통된 워드 "invention"의 확률을 조정할 수 있다. 도 4에 도시된 예에서, 공통된 워드 "invention"은 디코딩 시점 n에서 생성된 워드들 중 하나이므로, 디코더(320)는 "invention"의 확률 Pinvention에 일정한 값을 더하여 Pinvention를 조정할 수 있다. 이에 따라, "invention"을 포함하는 문자열이 선택될 가능성이 증가할 수 있다.
구현에 따라, 번역기(120)는 디코딩 시점에서 생성된 워드에 대응되는 소스 워드를 유추할 수 있다. 이 경우, 번역기(120)는 해당 소스 워드가 소스 워드 집합(211)에 있는지 확인하고, 해당 소스 워드가 소스 워드 집합(211)에 있으면, 대응 워드 집합(221)에서 해당 소스 워드의 대응 워드를 검색하며, 검색된 대응 워드의 확률을 조정할 수 있다. 이에 대해선 도 5를 참조하면서 구체적으로 설명한다.
도 5를 참조하면, 번역기(120)는 인코더(310), 가중치 계산기(510), 및 디코더(320)를 포함한다. 도 5를 통해 설명할 번역기(120)는 attention 기반일 수 있다.
인코더(310)는 소스 문장을 인코딩하여 특징 벡터들을 생성한다. 예를 들어, 인코더(310)는 소스 문장을 인코딩하여 워드 "귀하의"에 대한 특징 벡터 h1, 워드 "직무발명이"에 대한 특징 벡터 h2, 워드 "출원되었음을"에 대한 특징 벡터 h3, 및 워드 "알려드립니다"에 대한 특징 벡터 h4를 생성할 수 있다.
가중치 계산기(510)는 매 디코딩 시점에서 가중치들을 계산하고, 디코더(320)는 매 디코딩 시점에서 디코딩을 수행한다. 예를 들어, 가중치 계산기(510)는 특징 벡터들 h1, h2, h3, 및 h4와 이전 디코딩 시점의 워드 "your"에 대한 히든 상태 정보를 기초로 디코딩 시점 n에서의 가중치들 αn,1, αn,2, αn,3, 및 αn,4를 계산할 수 있다. 가중치 계산기(510)는 특징 벡터들 h1, h2, h3, 및 h4와 가중치들 αn,1, αn,2, αn,3, 및 αn,4를 기초로 컨텍스트(context) 벡터 cn을 계산할 수 있다. 디코더(320)는 컨텍스트 벡터 cn을 기초로 디코딩을 수행하여 워드들 "work", ... , "invention" 등을 생성할 수 있다.
워드들 "work", ... , "invention"이 생성되면, 디코더(320)는 최대 확률을 갖는 워드에 대응되는 소스 워드를 최대 가중치를 통해 식별할 수 있다. 달리 표현하면, 디코더(320)는 가중치들 중 최대값을 통해, 최대 확률을 갖는 워드를 생성하는데 가장 큰 기여를 한 소스 워드를 식별할 수 있다. 여기서, 소스 워드는 소스 문장 내의 워드들 중 어느 하나를 나타낸다. 도 5에 도시된 예에서, αn,1, αn,2, αn,3, 및 αn,4 중 αn,2가 최대라 할 때, 디코더(320)는 αn,2가 특징 벡터 h2와 관련되어 있음을 알 수 있고 특징 벡터 h2에 대한 "직무발명"을 "work"에 대응되는 소스 워드로 식별할 수 있다.
디코더(320)는 식별된 소스 워드가 소스 워드 집합(211)에 속하는지 확인하고, 식별된 소스 워드가 소스 워드 집합(211)에 속하면, 식별된 소스 워드의 대응 워드를 대응 워드 집합(221)에서 검색한다. 디코더(320)는 검색된 대응 워드가 디코딩 시점 n에서 생성된 경우, 검색된 대응 워드의 확률을 조정한다. 구현에 따라, 대응 워드 집합(221)에서 phrase가 검색될 수 있다. 이 경우, 디코더(320)는 해당 phrase의 일부 워드를 생성하였으면 해당 phrase의 일부 워드의 확률을 조정할 수 있다. 도 5에 도시된 예에서, 디코더(320)는 식별된 "직무발명"이 소스 워드 집합(211)에 속하는지 확인할 수 있다. 식별된 "직무발명"이 소스 워드 집합(211)에 속하므로, 디코더(320)는 대응 워드 집합(221)에서 "직무발명"의 대응 워드인 "invention related to the duties"을 검색할 수 있다. 검색된 "invention related to the duties"는 phrase이다. 디코더(320)는 검색된 "invention related to the duties"의 첫 번째 워드인 "invention"을 디코딩 시점 n에서 생성하였는지 확인할 수 있다. 디코더(320)는 디코딩 시점 n에서 "invention"을 생성하였으므로, "invention"의 확률 Pinvention에 w1을 더하여 Pinvention을 조정할 수 있다. 여기서, w1은 양의 실수이다. 만약, 디코더(320)가 디코딩 시점 n에서 "invention"을 생성하지 않은 경우, 디코더(320)는 최대 확률을 갖는 "work"의 확률을 조정할 수 있다.
디코더(320)는 조정된 확률과 조정되지 않은 확률을 기초로, 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중에서 일부 문자열을 선택한다. 디코더(320)는, 예를 들어, 빔 탐색을 수행하여 일부 문자열을 선택할 수 있다. 일부 문자열 선택에 대해선 도 4를 통해 설명하였으므로, 자세한 설명을 생략한다
일 실시예에 따르면, 디코더(320)는 "invention"의 확률 Pinvention을 Pinvention+w1으로 조정한 후 일부 문자열을 선택하기 전에 도 4를 통해 설명한 확률 조정 동작을 수행할 수 있다. 이에 대해선 도 6을 참조하여 설명한다.
도 6을 참조하면, Pinvention이 Pinvention+w1으로 조정되어, "invention"은 확률이 높은 순으로 상위 K개에 속할 수 있다. 디코더(320)는 상위 K개에 해당하는 워드들 "invention"과 "work"를 식별할 수 있다.
디코더(320)는 식별된 워드들 "invention"과 "work" 각각이 대응 워드 집합(221)에 속하는지 확인할 수 있다. 도 6에 도시된 예의 경우, 식별된 워드 "invention"는 대응 워드 집합(221)에 속하고, 식별된 워드 "work"는 대응 워드 집합(221)에 속하지 않는다. 이 경우, 디코더(320)는 식별된 워드 "invention"의 확률 Pinvention+w1에 β1을 더할 수 있다. "invention"의 확률 Pinvention은 디코딩을 통해 계산되었을 때 보다 w11만큼 증가한다. 이로써, invention"을 포함하는 문자열이 선택될 가능성이 더욱 증가한다.
도 7은 일 실시예에 따른 번역기가 번역문에 대한 후보 문자열들을 선택했을 때의 동작을 설명하기 위한 도면이다.
도 7을 참조하면, 번역기(120)는 아래 표 1의 문자열들을 소스 문장 "귀하의 직무발명이 출원되었음을 알려드립니다"의 번역문에 대한 후보 문자열들로 선택할 수 있다.
제1 후보 문자열: I'd like to let you know that your invention related to the duties was filed.
제2 후보 문자열: I'd like to inform you that your work have been applied.
제3 후보 문자열 I'd like to let you know that your work has been set out.
번역기(120)는 후보 문자열들 각각의 스코어를 계산할 수 있다. 예를 들어, 번역기(120)는 제1 후보 문자열의 경우, "I'd"의 확률, "like"의 확률, "let"의 확률(또는 "let you know"의 확률), ... , "was filed"의 확률을 더하여 제1 후보 문자열의 스코어 S1을 계산할 수 있다. 마찬가지로, 번역기(120)는 제2 후보 문자열 및 제3 후보 문자열 각각의 스코어 S2 및 S3을 계산할 수 있다.
번역기(120)는 계산된 스코어들 중에서 가장 높은 스코어에 해당하는 후보 문자열을 최종 문장으로 선택할 수 있다. 예를 들어, S1=0.7, S2=0.6, 및 S3=0.55라 할 때, S1이 가장 높으므로, 번역기(120)는 제1 후보 문자열을 최종 문장으로 선택할 수 있다.
일 실시예에 있어서, 번역기(120)는 후보 문자열들 각각의 스코어에 후보 문자열들 각각에 대한 커버리지를 적용할 수 있고, 적용 결과를 기초로 후보 문자열들 중에서 어느 하나를 소스 문장의 번역문으로 선택할 수 있다. 여기서, 커버리지는 각 후보 문자열이 대응 워드 집합(221) 내의 워드를 얼마나 커버 또는 포함하고 있는지를 여부를 나타낸다. 여기서, 해당 워드의 유의어 또는 기본형은 하나의 커버 대상에 해당한다.
도 7에 도시된 예를 참조하면, 제1 후보 문자열은 대응 워드 집합(221)의 워드들 중에서 커버 대상(710)의 "your", 커버 대상(720)의 "invention related to the duties", 커버 대상(730)의 "was applied", 및 커버 대상(740)의 "let you know"를 커버 또는 포함하고 있다. 이 경우, 번역기(120)는 제1 후보 문자열이 4개의 커버 대상들(710~740) 중에서 4개 모두를 커버하고 있다고 기록할 수 있다.
제2 후보 문자열은 대응 워드 집합(221) 내의 워드들 중 커버 대상(710)의 "your", 커버 대상(730)의 "have been applied", 및 커버 대상(740)의 "inform you"를 커버 또는 포함하고 있다. 이 경우, 번역기(120)는 제2 후보 문자열이 4개의 커버 대상들(710~740) 중에서 3개를 커버하고 있다고 기록할 수 있다.
제3 후보 문자열은 대응 워드 집합(221) 내의 워드들 중 커버 대상(710)의 "your" 및 커버 대상(740)의 "let you know"를 커버 또는 포함하고 있다. 이 경우, 번역기(120)는 제3 후보 문자열이 4개의 커버 대상들(710~740) 중에서 2개를 커버하고 있다고 기록할 수 있다.
번역기(120)는 후보 문자열들 각각에 대한 커버리지를 후보 문자열들 각각의 스코어에 적용할 수 있다. 예를 들어, 제1 후보 문자열은 4개의 커버 대상들(710~740) 중 4개를 커버하고 있으므로, 번역기(120)는 S1에 C1=4/4=1을 적용할 수 있다. 제2 후보 문자열은 4개의 커버 대상들(710~740) 중 3개를 커버하고 있으므로, 번역기(120)는 S2에 C2=3/4를 적용할 수 있고, 제3 후보 문자열은 4개의 커버 대상들(610~640) 중 2개를 커버하고 있으므로, 번역기(120)는 S3에 C3=2/4를 적용할 수 있다.
번역기(120)는 각 스코어에 각 커버리지를 적용한 결과를 기초로 후보 문자열들 중에서 어느 하나를 번역문으로 선택할 수 있다. 예를 들어, 각 스코어에 각 커버리지를 적용한 결과가 S1C1=0.7, S2C2=0.6×3/4=0.45, 및 S3C3=0.55×2/4=0.275인 경우, 이들 중에서 S1C1이 최대 이므로, 번역기(120)는 S1C1에 해당하는 제1 후보 문자열을 번역문으로 선택할 수 있다. 이에 따라, 대응 워드 집합(221)의 커버리지가 높은 후보 문자열이 번역문으로 선택될 수 있어, 주요 키워드가 번역문에서 누락되지 않을 수 있다. 이에 따라, 번역 성능이 향상될 수 있다.
일 실시예에 따르면, 번역기(120)는 다른 소스 문장을 처리할 때 이전에 기록된 커버리지를 고려하여, 이미 커버되었던 워드가 다른 소스 문장의 번역문에 중복되어 나타나지 않게 할 수 있다. 예를 들어, 번역기(120)는 소스 문장 "귀하의 직무발명이 출원되었음을 알려드립니다"를 "I'd like to let you know that your invention related to the duties was filed"로 번역한 경우, 해당 번역문은 "let you know"를 커버하고 있다. 이 때, 번역기(120)는 다른 소스 문장 "~를 알려드립니다"를 기계 번역하는 동안 "let you know"를 생성하면, "let you know"의 확률을 감소시킬 수 있다. 이에 따라, 다른 소스 문장의 번역 결과에 "let you know"가 포함되지 않을 수 있어, "let you know"가 중복되어 나타나지 않도록 할 수 있다.
도 8은 일 실시예에 따른 문장 생성 방법을 설명하기 위한 순서도이다.
도 8에 도시된 방법은 문장 생성 장치(100)에 의해 수행된다.
도 8을 참조하면, 문장 생성 장치(100)는 소스 문장을 기초로 생성된 소스 워드 집합의 대응 워드 집합을 생성한다(810).
문장 생성 장치(100)는 소스 문장의 인코딩을 통해 생성된 특징 벡터들을 기초로 디코딩을 수행하여, 워드들을 생성한다(820).
문장 생성 장치(100)는 소스 워드 집합 및 대응 워드 집합 중 적어도 하나를 기초로, 생성된 워드들 중 하나 이상의 확률을 조정한다(830).
문장 생성 장치(100)는 조정된 확률 및 조정되지 않은 확률을 기초로, 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중에서 일부 문자열들을 선택한다(840).
도 1 내지 도 7을 통해 기술된 사항들은 도 8을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 9는 일 실시예에 따른 문장 생성 장치를 설명하기 위한 블록도이다.
도 9를 참조하면, 문장 생성 장치(100)는 메모리(910) 및 컨트롤러(920)를 포함한다.
메모리(910)는 소스 문장을 저장하고, 컨트롤러(920)의 연산 결과를 저장한다.
컨트롤러(920)는 워드 집합 생성기(110) 및 번역기(120)를 구현한다.
일례로, 컨트롤러(920)는 소스 문장을 기초로 생성된 소스 워드 집합의 대응 워드 집합을 생성한다. 컨트롤러(920)는 소스 문장의 인코딩을 통해 생성된 특징 벡터들을 기초로 디코딩을 수행하여 워드들을 생성한다. 컨트롤러(920)는 소스 워드 집합 및 대응 워드 집합 중 적어도 하나를 기초로, 생성된 워드들 중 하나 이상의 확률을 조정한다. 컨트롤러(920)는 조정된 확률 및 조정되지 않은 확률을 기초로, 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중 일부 문자열들을 선택한다.
일 실시예에 따르면, 문장 생성 장치(100)는 소스 워드 집합 및/또는 대응 워드 집합을 고려하여 디코딩을 수행할 수 있어, 디코딩에서 탐색하는 문자열의 범위를 효과적으로 확장할 수 있다.
도 1 내지 도 7을 통해 기술된 사항들은 도 9를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (23)

  1. 소스 문장을 기초로 생성된 소스 워드 집합의 대응 워드 집합을 생성하는 단계;
    상기 소스 문장의 인코딩을 통해 생성된 특징 벡터(feature vector)들을 기초로 디코딩을 수행하여, 워드들을 생성하는 단계;
    상기 소스 워드 집합 및 상기 대응 워드 집합 중 적어도 하나를 기초로 상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계; 및
    상기 조정된 확률 및 조정되지 않은 확률을 기초로 상기 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중 일부 문자열들을 선택하는 단계
    를 포함하는,
    문장 생성 방법.
  2. 제1항에 잇어서,
    상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는,
    상기 생성된 워드들 중에서 식별된 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 워드의 확률을 조정하는 단계
    를 포함하는,
    문장 생성 방법.
  3. 제2항에 있어서,
    상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는,
    상기 식별된 워드가 상기 대응 워드 집합에 없는 경우, 상기 식별된 워드가 속한 그룹 내의 다른 워드들과 상기 대응 워드 집합 내의 워드들 사이에 공통된 워드가 있는지 확인하는 단계; 및
    상기 확인 결과 상기 공통된 워드가 있고 상기 공통된 워드가 상기 상기 생성된 워드들 중 하나인 경우, 상기 공통된 워드의 확률을 조정하는 단계
    를 포함하는,
    문장 생성 방법.
  4. 제2항에 있어서,
    상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는,
    상기 생성된 워드들 각각의 확률을 기초로 상기 생성된 워드들 중에서 일부를 식별하는 단계
    를 포함하는,
    문장 생성 방법.
  5. 제1항에 있어서,
    상기 디코딩을 수행하는 단계는,
    상기 특징 벡터들과 가중치들을 이용하여 컨텍스트 벡터를 계산하는 단계; 및
    상기 컨텍스트 벡터 및 이전 디코딩 결과를 기초로 상기 워드들을 생성하는 단계
    를 포함하는,
    문장 생성 방법.
  6. 제1항에 잇어서,
    상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는,
    상기 디코딩을 수행할 때 고려된 가중치들 중 최대값을 통해, 상기 생성된 워드들 중 최대 확률을 갖는 워드에 대응되는 소스 워드를 식별하는 단계 -상기 식별된 소스 워드는 상기 소스 문장 내의 워드들 중 하나임-;
    상기 식별된 소스 워드가 상기 소스 워드 집합에 있는 경우, 상기 대응 워드 집합에서 상기 식별된 소스 워드의 대응 워드를 검색하는 단계; 및
    상기 검색된 대응 워드가 상기 생성된 워드들 중 하나인 경우, 상기 검색된 대응 워드의 확률을 조정하는 단계
    를 포함하는,
    문장 생성 방법.
  7. 제6항에 잇어서,
    상기 생성된 워드들 중 하나 이상의 확률을 조정하는 단계는,
    상기 검색된 대응 워드의 확률이 조정된 경우, 상기 생성된 워드들 중 상기 검색된 대응 워드를 제외한 나머지의 확률과 상기 조정된 확률을 기초로 상기 검색된 대응 워드 및 상기 나머지 중에서 일부 워드를 식별하는 단계; 및
    상기 식별된 일부 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 일부 워드의 확률을 조정하는 단계
    를 포함하는,
    문장 생성 방법.
  8. 제1항에 있어서,
    상기 선택된 문자열들이 상기 소스 문장의 번역문에 대한 후보들인 경우, 상기 선택된 문자열들 각각의 스코어를 계산하는 단계;
    상기 선택된 문자열들 각각의 스코어에 상기 선택된 문자열들 각각의 커버리지를 적용하는 단계; 및
    상기 적용 결과를 기초로 상기 선택된 문자열들 중에서 어느 하나를 상기 번역문으로 결정하는 단계
    를 더 포함하고,
    상기 선택된 문자열들 각각의 커버리지는 상기 선택된 문자열들 각각이 상기 대응 워드 집합 내의 워드를 얼마나 포함하고 있는지 여부를 나타내는,
    문장 생성 방법.
  9. 제1항에 있어서,
    상기 소스 워드 집합은 상기 소스 문장에서 추출된 워드, 상기 추출된 워드의 유의어, 상기 추출된 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함하고,
    상기 대응 워드 집합은 상기 소스 워드 집합 내의 워드를 다른 언어로 표현한 번역 워드, 상기 번역 워드의 유의어, 및 상기 번역 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함하는,
    문장 생성 방법.
  10. 제1항에 있어서,
    상기 소스 문장 및 상기 소스 워드 집합은 제1 언어이고, 상기 생성된 워드들 및 상기 대응 워드 집합은 상기 제1 언어와 다른 제2 언어인,
    문장 생성 방법.
  11. 제1항에 있어서,
    상기 대응 워드 집합은 제1 언어-제2 언어 사전을 참고하여 생성되는,
    문장 생성 방법.
  12. 하드웨어와 결합되어 제1항 내지 제11항 중에서 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  13. 소스 문장을 기초로 생성된 소스 워드 집합의 대응 워드 집합을 생성하고, 상기 소스 문장의 인코딩을 통해 생성된 특징 벡터(feature vector)들을 기초로 디코딩을 수행하여 워드들을 생성하며, 상기 소스 워드 집합 및 상기 대응 워드 집합 중 적어도 하나를 기초로 상기 생성된 워드들 중 하나 이상의 확률을 조정하고, 상기 조정된 확률 및 조정되지 않은 확률을 기초로 상기 생성된 워드들 각각을 포함하는 서로 다른 문자열들 중 일부 문자열들을 선택하는 컨트롤러
    를 포함하는,
    문장 생성 장치.
  14. 제13항에 잇어서,
    상기 컨트롤러는 상기 생성된 워드들 중에서 식별된 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 워드의 확률을 조정하는,
    문장 생성 장치.
  15. 제14항에 있어서,
    상기 컨트롤러는,
    상기 식별된 워드가 상기 대응 워드 집합에 없는 경우, 상기 식별된 워드가 속한 그룹 내의 다른 워드들과 상기 대응 워드 집합 내의 워드들 사이에 공통된 워드가 있는지 확인하고,
    상기 확인 결과 상기 공통된 워드가 있고 상기 공통된 워드가 상기 상기 생성된 워드들 중 하나인 경우, 상기 공통된 워드의 확률을 조정하는,
    문장 생성 장치.
  16. 제14항에 있어서,
    상기 컨트롤러는 상기 생성된 워드들 각각의 확률을 기초로 상기 생성된 워드들 중에서 일부를 식별하는,
    문장 생성 장치.
  17. 제13항에 있어서,
    상기 컨트롤러는
    상기 특징 벡터들과 가중치들을 이용하여 컨텍스트 벡터를 계산하고, 상기 컨텍스트 벡터 및 이전 디코딩 결과를 기초로 상기 워드들을 생성하는,
    문장 생성 장치.
  18. 제13항에 잇어서,
    상기 컨트롤러는,
    상기 디코딩을 수행할 때 고려된 가중치들 중 최대값을 통해, 상기 생성된 워드들 중 최대 확률을 갖는 워드에 대응되는 소스 워드를 식별하고 -상기 식별된 소스 워드는 상기 소스 문장 내의 워드들 중 하나임-,
    상기 식별된 소스 워드가 상기 소스 워드 집합에 있는 경우, 상기 대응 워드 집합에서 상기 식별된 소스 워드의 대응 워드를 검색하며,
    상기 검색된 대응 워드가 상기 생성된 워드들 중 하나인 경우, 상기 검색된 대응 워드의 확률을 조정하는,
    문장 생성 장치.
  19. 제18항에 잇어서,
    상기 컨트롤러는,
    상기 검색된 대응 워드의 확률이 조정된 경우, 상기 생성된 워드들 중 상기 검색된 대응 워드를 제외한 나머지의 확률과 상기 조정된 확률을 기초로 상기 검색된 대응 워드 및 상기 나머지 중에서 일부 워드를 식별하고,
    상기 식별된 일부 워드가 상기 대응 워드 집합에 있는 경우, 상기 식별된 일부 워드의 확률을 조정하는,
    문장 생성 장치.
  20. 제13항에 있어서,
    상기 컨트롤러는,
    상기 선택된 문자열들이 상기 소스 문장의 번역문에 대한 후보들인 경우, 상기 선택된 문자열들 각각의 스코어를 계산하고,
    상기 선택된 문자열들 각각의 스코어에 상기 선택된 문자열들 각각의 커버리지를 적용하며,
    상기 적용 결과를 기초로 상기 선택된 문자열들 중에서 어느 하나를 상기 번역문으로 결정하는,
    상기 선택된 문자열들 각각의 커버리지는 상기 선택된 문자열들 각각이 상기 대응 워드 집합 내의 워드를 얼마나 포함하고 있는지 여부를 나타내는,
    문장 생성 장치.
  21. 제13항에 있어서,
    상기 소스 워드 집합은 상기 소스 문장에서 추출된 워드, 상기 추출된 워드의 유의어, 상기 추출된 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함하고,
    상기 대응 워드 집합은 상기 소스 워드 집합 내의 워드를 다른 언어로 표현한 번역 워드, 상기 번역 워드의 유의어, 및 상기 번역 워드의 기본형 중 어느 하나 또는 이들의 조합을 포함하는,
    문장 생성 장치.
  22. 제13항에 있어서,
    상기 소스 문장 및 상기 소스 워드 집합은 제1 언어이고, 상기 생성된 워드들 및 상기 대응 워드 집합은 상기 제1 언어와 다른 제2 언어인,
    문장 생성 장치.
  23. 제13항에 있어서,
    상기 대응 워드 집합은 제1 언어-제2 언어 사전을 참고하여 생성되는,
    문장 생성 장치.
KR1020170123569A 2017-09-25 2017-09-25 문장 생성 방법 및 장치 KR102509822B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020170123569A KR102509822B1 (ko) 2017-09-25 2017-09-25 문장 생성 방법 및 장치
US15/945,979 US10572604B2 (en) 2017-09-25 2018-04-05 Sentence generating method and apparatus
CN201810383162.6A CN109558570B (zh) 2017-09-25 2018-04-26 句生成方法和设备
JP2018133932A JP7181019B2 (ja) 2017-09-25 2018-07-17 文章生成方法、装置及びコンピュータプログラム
EP18187748.1A EP3460679A1 (en) 2017-09-25 2018-08-07 Sentence generating method and apparatus
US16/745,947 US10990765B2 (en) 2017-09-25 2020-01-17 Sentence generating method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170123569A KR102509822B1 (ko) 2017-09-25 2017-09-25 문장 생성 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20190034939A true KR20190034939A (ko) 2019-04-03
KR102509822B1 KR102509822B1 (ko) 2023-03-14

Family

ID=63173965

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170123569A KR102509822B1 (ko) 2017-09-25 2017-09-25 문장 생성 방법 및 장치

Country Status (5)

Country Link
US (2) US10572604B2 (ko)
EP (1) EP3460679A1 (ko)
JP (1) JP7181019B2 (ko)
KR (1) KR102509822B1 (ko)
CN (1) CN109558570B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230053373A (ko) * 2021-10-14 2023-04-21 비큐리오 주식회사 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102509822B1 (ko) * 2017-09-25 2023-03-14 삼성전자주식회사 문장 생성 방법 및 장치
CN110555203B (zh) * 2018-05-31 2023-05-30 北京百度网讯科技有限公司 文本复述方法、装置、服务器及存储介质
CN110489762B (zh) * 2019-06-26 2023-07-04 中译语通科技股份有限公司 基于神经网络机器翻译的术语翻译方法、存储介质和装置
JP7259650B2 (ja) * 2019-09-02 2023-04-18 日本電信電話株式会社 翻訳装置、翻訳方法及びプログラム
CN113435194B (zh) * 2021-06-22 2023-07-21 中国平安人寿保险股份有限公司 词汇切分方法、装置、终端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013311A1 (en) * 2011-07-06 2013-01-10 Jing Zheng Method and apparatus for adapting a language model in response to error correction
US20160117316A1 (en) * 2014-10-24 2016-04-28 Google Inc. Neural machine translation systems with rare word processing
US20170031899A1 (en) * 2015-07-31 2017-02-02 Samsung Electronics Co., Ltd. Apparatus and method for determining translation word
US20170060855A1 (en) * 2015-08-25 2017-03-02 Alibaba Group Holding Limited Method and system for generation of candidate translations

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3114181B2 (ja) * 1990-03-27 2000-12-04 株式会社日立製作所 異言語交信用翻訳方法およびシステム
JP3657338B2 (ja) * 1996-02-16 2005-06-08 株式会社東芝 翻訳装置
US5995922A (en) * 1996-05-02 1999-11-30 Microsoft Corporation Identifying information related to an input word in an electronic dictionary
US5966686A (en) * 1996-06-28 1999-10-12 Microsoft Corporation Method and system for computing semantic logical forms from syntax trees
US5991710A (en) * 1997-05-20 1999-11-23 International Business Machines Corporation Statistical translation system with features based on phrases or groups of words
JP4042360B2 (ja) 2001-07-18 2008-02-06 日本電気株式会社 自動通訳システム及びその方法並びにプログラム
US6952691B2 (en) * 2002-02-01 2005-10-04 International Business Machines Corporation Method and system for searching a multi-lingual database
US7346487B2 (en) 2003-07-23 2008-03-18 Microsoft Corporation Method and apparatus for identifying translations
US20070011132A1 (en) * 2005-06-17 2007-01-11 Microsoft Corporation Named entity translation
EP1894125A4 (en) * 2005-06-17 2015-12-02 Nat Res Council Canada MEANS AND METHOD FOR ADAPTED LANGUAGE TRANSLATION
US8433556B2 (en) * 2006-11-02 2013-04-30 University Of Southern California Semi-supervised training for statistical word alignment
US7783473B2 (en) 2006-12-28 2010-08-24 At&T Intellectual Property Ii, L.P. Sequence classification for machine translation
JP4791984B2 (ja) * 2007-02-27 2011-10-12 株式会社東芝 入力された音声を処理する装置、方法およびプログラム
US8788258B1 (en) * 2007-03-15 2014-07-22 At&T Intellectual Property Ii, L.P. Machine translation using global lexical selection and sentence reconstruction
JP2008305167A (ja) * 2007-06-07 2008-12-18 Toshiba Corp 原言語文を目的言語文に機械翻訳する装置、方法およびプログラム
JP5112116B2 (ja) * 2008-03-07 2013-01-09 株式会社東芝 機械翻訳する装置、方法およびプログラム
US9208448B2 (en) * 2009-11-27 2015-12-08 At&T Intellectual Property I, Lp System, method and computer program product for incremental learning of system log formats
US8341096B2 (en) * 2009-11-27 2012-12-25 At&T Intellectual Property I, Lp System, method and computer program product for incremental learning of system log formats
US20110202484A1 (en) * 2010-02-18 2011-08-18 International Business Machines Corporation Analyzing parallel topics from correlated documents
JP5555542B2 (ja) 2010-05-20 2014-07-23 日本電信電話株式会社 自動単語対応付け装置とその方法とプログラム
US9552355B2 (en) * 2010-05-20 2017-01-24 Xerox Corporation Dynamic bi-phrases for statistical machine translation
US8775155B2 (en) * 2010-10-25 2014-07-08 Xerox Corporation Machine translation using overlapping biphrase alignments and sampling
KR101762866B1 (ko) * 2010-11-05 2017-08-16 에스케이플래닛 주식회사 구문 구조 변환 모델과 어휘 변환 모델을 결합한 기계 번역 장치 및 기계 번역 방법
US8352245B1 (en) * 2010-12-30 2013-01-08 Google Inc. Adjusting language models
KR20120077800A (ko) 2010-12-31 2012-07-10 에스케이플래닛 주식회사 자동 번역 시스템에서 외국어 문장에 포함된 단어의 유의어를 제공하는 방법, 번역 장치 및 단말기, 그리고 이 방법을 실행시키기 위한 프로그램을 저장한 기록매체
CN102650987A (zh) * 2011-02-25 2012-08-29 北京百度网讯科技有限公司 一种基于源语言复述资源的机器翻译方法及装置
US10176168B2 (en) * 2011-11-15 2019-01-08 Microsoft Technology Licensing, Llc Statistical machine translation based search query spelling correction
KR20130060720A (ko) * 2011-11-30 2013-06-10 한국전자통신연구원 목적 기반 시맨틱 서비스 디스커버리를 위한 서비스 목적 해석 장치 및 방법
US9047268B2 (en) * 2013-01-31 2015-06-02 Google Inc. Character and word level language models for out-of-vocabulary text input
US8756499B1 (en) * 2013-04-29 2014-06-17 Google Inc. Gesture keyboard input of non-dictionary character strings using substitute scoring
US20140358519A1 (en) * 2013-06-03 2014-12-04 Xerox Corporation Confidence-driven rewriting of source texts for improved translation
JP6186198B2 (ja) * 2013-07-17 2017-08-23 株式会社エヌ・ティ・ティ・データ 学習モデル作成装置、翻訳装置、学習モデル作成方法、及びプログラム
KR101616031B1 (ko) 2014-07-17 2016-04-28 동아대학교 산학협력단 위키피디아의 언어자원과 병렬 코퍼스를 이용한 교차언어 검색기의 질의어 번역 시스템 및 방법
CN106484682B (zh) * 2015-08-25 2019-06-25 阿里巴巴集团控股有限公司 基于统计的机器翻译方法、装置及电子设备
US10402734B2 (en) * 2015-08-26 2019-09-03 Google Llc Temporal based word segmentation
JP6655788B2 (ja) * 2016-02-01 2020-02-26 パナソニックIpマネジメント株式会社 対訳コーパス作成方法、該装置および該プログラムならびに機械翻訳システム
WO2017192522A1 (en) * 2016-05-06 2017-11-09 Ebay Inc. Using meta-information in neural machine translation
KR20180001889A (ko) * 2016-06-28 2018-01-05 삼성전자주식회사 언어 처리 방법 및 장치
KR102565274B1 (ko) * 2016-07-07 2023-08-09 삼성전자주식회사 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치
KR102565275B1 (ko) * 2016-08-10 2023-08-09 삼성전자주식회사 병렬 처리에 기초한 번역 방법 및 장치
KR102577584B1 (ko) * 2016-08-16 2023-09-12 삼성전자주식회사 기계 번역 방법 및 장치
US10402495B1 (en) * 2016-09-01 2019-09-03 Facebook, Inc. Abstractive sentence summarization
CN106649288B (zh) * 2016-12-12 2020-06-23 北京百度网讯科技有限公司 基于人工智能的翻译方法和装置
KR102509822B1 (ko) * 2017-09-25 2023-03-14 삼성전자주식회사 문장 생성 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130013311A1 (en) * 2011-07-06 2013-01-10 Jing Zheng Method and apparatus for adapting a language model in response to error correction
US20160117316A1 (en) * 2014-10-24 2016-04-28 Google Inc. Neural machine translation systems with rare word processing
US20170031899A1 (en) * 2015-07-31 2017-02-02 Samsung Electronics Co., Ltd. Apparatus and method for determining translation word
US20170060855A1 (en) * 2015-08-25 2017-03-02 Alibaba Group Holding Limited Method and system for generation of candidate translations

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230053373A (ko) * 2021-10-14 2023-04-21 비큐리오 주식회사 심층 신경망 기반의 문서 분석 시스템과 방법 및 이를 구현하기 위한 프로그램이 저장된 기록 매체 및 매체에 저장된 컴퓨터프로그램

Also Published As

Publication number Publication date
JP2019061655A (ja) 2019-04-18
US10990765B2 (en) 2021-04-27
JP7181019B2 (ja) 2022-11-30
CN109558570B (zh) 2024-01-23
US20200175233A1 (en) 2020-06-04
KR102509822B1 (ko) 2023-03-14
US20190095433A1 (en) 2019-03-28
CN109558570A (zh) 2019-04-02
EP3460679A1 (en) 2019-03-27
US10572604B2 (en) 2020-02-25

Similar Documents

Publication Publication Date Title
KR20190034939A (ko) 문장 생성 방법 및 장치
Post et al. Fast lexically constrained decoding with dynamic beam allocation for neural machine translation
KR102516364B1 (ko) 기계 번역 방법 및 장치
US10108607B2 (en) Method and device for machine translation
KR101623891B1 (ko) 기계 번역을 위한 파라미터들의 최적화
KR102637338B1 (ko) 번역 보정 방법 및 장치와 번역 시스템
CN107870901B (zh) 从翻译源原文生成相似文的方法、记录介质、装置以及系统
KR101544690B1 (ko) 단어 분할 장치, 단어 분할 방법 및 단어 분할 프로그램
KR20190039817A (ko) 신경 기계 번역 시스템
US20140163951A1 (en) Hybrid adaptation of named entity recognition
US20070021956A1 (en) Method and apparatus for generating ideographic representations of letter based names
KR101962113B1 (ko) 자연어 문장을 확장하는 장치와 상기 자연어 문장을 확장하는 방법
CN111401080A (zh) 神经机器翻译方法以及神经机器翻译装置
JP2018055670A (ja) 類似文生成方法、類似文生成プログラム、類似文生成装置及び類似文生成システム
US10496758B2 (en) Machine translation method and machine translation apparatus
KR102183284B1 (ko) 교차언어 환경에서의 대화 상태 추적 방법 및 시스템
JP2011118496A (ja) 統計的機械翻訳のための言語独立な単語セグメント化
JP2011180941A (ja) 句テーブル生成器及びそのためのコンピュータプログラム
JP5544518B2 (ja) 機械翻訳装置、機械翻訳方法、およびそのプログラム
JP2007004446A (ja) 機械翻訳装置、その方法およびプログラム
JP2008015844A (ja) 機械翻訳装置、機械翻訳方法、および生成規則作成装置、生成規則作成方法、ならびにそれらのプログラムおよび記録媒体
JP2006024114A (ja) 機械翻訳装置および機械翻訳コンピュータプログラム
Staš et al. Slovak Question Answering Dataset Based on the Machine Translation of the Squad V2. 0
US20230162055A1 (en) Hierarchical context tagging for utterance rewriting
Antony et al. Statistical method for English to Kannada transliteration

Legal Events

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