KR20160133349A - 구 표 생성 방법 및 구 표를 이용한 기계 번역 방법 - Google Patents
구 표 생성 방법 및 구 표를 이용한 기계 번역 방법 Download PDFInfo
- Publication number
- KR20160133349A KR20160133349A KR1020150144585A KR20150144585A KR20160133349A KR 20160133349 A KR20160133349 A KR 20160133349A KR 1020150144585 A KR1020150144585 A KR 1020150144585A KR 20150144585 A KR20150144585 A KR 20150144585A KR 20160133349 A KR20160133349 A KR 20160133349A
- Authority
- KR
- South Korea
- Prior art keywords
- word
- words
- language
- destination
- syllable
- Prior art date
Links
Images
Classifications
-
- G06F17/2845—
-
- G06F17/2705—
-
- G06F17/2735—
-
- G06F17/2809—
Landscapes
- Machine Translation (AREA)
Abstract
기계 번역을 위한 구 표 생성 방법이 개시된다. 제1 국어와 제2 국어 간의 구 표(Phrase Table)를 생성하는 방법은 제1 국어 및 제2 국어로 표현된 두 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집하는 단계, 수집된 병렬 코퍼스에 포함된 제1 국어의 제1 단어들 및 제2 국어의 제2 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 제1 단어들 및 제2 단어들에 대응하는 수치들을 생성하는 단계, 병렬 코퍼스로부터 제1 국어의 제1 구와 제2 국어의 제2 구를 대응시킨 구 엔트리를 추출하는 단계, 생성된 수치들을 이용하여 추출된 구 엔트리의 제1 구와 제2 구의 유사도(similarity)를 계산하는 단계 및 계산된 유사도를 기설정된 임계치와 비교한 결과에 기초하여, 구 엔트리를 포함하는 구 표를 생성하는 단계를 포함한다.
Description
본 발명은 구 표 생성 방법 및 이를 이용한 기계 번역 방법에 관한 것으로서, 보다 상세하게는 단어들 간 의미론적 관련성을 활용한 구 표 생성 방법 및 상기 구 표를 이용한 기계 번역 방법에 관한 것이다.
기계 번역이란 컴퓨터에 의해 한 자연어를 다른 자연어로 자동으로 번역하는 것을 말한다. 기계 번역 서비스는 다문화되고 세계화되는 현대의 추세 속에서 기업의 사업 영역과 개인의 생활 영역을 확장하고, 특히 언어적 장벽을 극복하는 수단으로서 각광받고 있다.
기계 번역을 구현하기 위한 다양한 기술이 존재한다. 대표적으로, 규칙 기반 기계 번역(Rule-Based Machine Translation: RBMT) 기술과 통계적 기계 번역(Statistical Machine Translation: SMT) 기술이 있다. 이 중 SMT를 기반으로 한 기계 번역은 특정 언어에 대한 의존성 없이 어떠한 언어 쌍에도 적용할 수 있고, 개발 시간이 짧고 초기 개발 비용이 저렴한 장점이 있다.
SMT 기반 기계 번역에서 번역의 성능은 양 언어의 구가 정렬된 구 표(phrase table) - 다르게는, 번역 사전이라 하기도 한다 - 의 양과 질에 의해 결정된다. 여기서 구 표는 병렬 코퍼스(bilingual corpus 또는 parallel corpus)로부터 자동으로 추출된다.
그러나, 구 표는 기계 학습에 의해 패턴의 빈도에 따라 확률적으로 추출되기 때문에, 부정확하거나 빠진 구 쌍이 존재하였다. 이러한 잘못된 구 쌍이 존재하는 구 표에 의한 기계 번역은 번역 성능의 저하를 가져왔다.
본 발명은 상술한 번역 성능의 열화를 개선하기 위해 안출된 것으로서, 본 발명의 목적은 단어들 간 의미론적 관련성을 활용한 구 표 생성 방법 및 상기 구 표를 이용한 기계 번역 방법을 제공하는 것이다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시예에 따른 제1 국어와 제2 국어 간의 구 표(Phrase Table)를 생성하는 방법은, 상기 제1 국어 및 제2 국어로 표현된 두 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집하는 단계, 상기 수집된 병렬 코퍼스에 포함된 상기 제1 국어의 제1 단어들 및 상기 제2 국어의 제2 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 상기 제1 단어들 및 제2 단어들에 대응하는 수치들을 생성하는 단계, 상기 병렬 코퍼스로부터 상기 제1 국어의 제1 구와 상기 제2 국어의 제2 구를 대응시킨 구 엔트리를 추출하는 단계, 상기 생성된 수치들을 이용하여 상기 추출된 구 엔트리의 제1 구와 제2 구의 유사도(similarity)를 계산하는 단계 및 상기 계산된 유사도를 기설정된 임계치와 비교한 결과에 기초하여, 상기 구 엔트리를 포함하는 구 표를 생성하는 단계를 포함한다.
이 경우, 상기 수집하는 단계는, 상기 제1 국어의 단어, 구 및 문장 중 적어도 하나로 구성된 제1 단일어 코퍼스(monolingual corpus) 및 상기 제2 국어의 단어, 구 및 문장 중 적어도 하나로 구성된 제2 단일어 코퍼스를 더 수집하고, 상기 수치를 생성하는 단계는, 상기 수집된 병렬 코퍼스와 함께 상기 제1 단일어 코퍼스 및 상기 제2 단일어 코퍼스를 기계 학습한 결과에 기초하여, 상기 제1 및 제2 단어들에 대응하는 수치를 생성할 수 있다.
한편, 상기 수집하는 단계는, 상기 제1 국어를 제2 국어로 해설한 제2-제1 사전 및 상기 제2 국어를 제1 국어로 해설한 제1-제2 사전을 수집할 수 있다.
한편, 상기 수치를 생성하는 단계는, 상기 제1 단어들 및 상기 제2 단어들을 대상으로 하는 단어 임베딩(word embedding)을 수행하여, 상기 제1 단어들 및 상기 제2 단어들 각각에 매핑된 벡터들을 생성할 수 있다.
이 경우, 상기 수치를 생성하는 단계는, 상기 단어 임베딩을 위한 CBOW(Continuous Bag-of-Word) 모델 또는 Skip-Gram 모델을 이용할 수 있다.
한편, 상기 유사도를 계산하는 단계는, 상기 매핑된 벡터들을 이용하여 상기 구 엔트리의 제1 구와 제2 구의 유사도를 계산할 수 있다.
이 경우, 상기 유사도를 계산하는 단계는, 상기 구 엔트리의 제1 구 및 제2 구 각각에 대응하는 두 벡터의 코사인 유사도(cosine similarity)를 계산할 수 있다.
한편, 본 발명의 일 실시예에 따른 기계 번역 방법은, 제1 국어로 표현된 출발어 문장 및 상기 출발어 문장과 동일한 의미의 제2 국어로 표현된 도착어 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집하는 단계, 상기 수집된 병렬 코퍼스에 포함된 상기 출발어 문장의 단어들 및 상기 도착어 문장의 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 상기 출발어의 단어들 및 상기 도착어의 단어들에 대응하는 수치들을 생성하는 단계, 상기 병렬 코퍼스로부터 통계적 학습에 의해, 상기 출발어 문장의 단어와 대역관계에 있는 상기 도착어 문장의 단어를 서로 대응시키고, 상기 출발어 단어를 배열상 이웃한 단어로 확장한 구(phrase)와 대역관계에 있는 상기 도착어 문장의 단어 또는 구를 서로 대응시킨 구 엔트리(phrase entries)를 생성하는 단어 정렬(word alignment)을 수행하는 단계, 상기 생성된 수치들을 이용하여, 상기 생성된 구 엔트리의 출발어의 구와 도착어의 구의 유사도(similarity)를 계산하는 단계, 상기 계산된 유사도와 기설정된 임계치를 비교한 결과에 기초하여, 상기 구 엔트리를 포함하는 구 표(phrase table)를 생성하는 단계 및 상기 기계 번역 시스템의 디코더(decoder)에 상기 출발어의 원문이 입력되면, 상기 구 표를 이용하여 상기 도착어의 번역문을 출력하는 단계를 포함한다.
이 경우, 상기 수집하는 단계는, 상기 출발어의 단어, 구 및 문장 중 적어도 하나로 구성된 출발어 코퍼스 및 상기 도착어의 단어, 구 및 문장 중 적어도 하나로 구성된 도착어 코퍼스를 더 수집하고, 상기 수치들을 생성하는 단계는, 상기 수집된 병렬 코퍼스와 함께 상기 출발어 코퍼스 및 상기 도착어 코퍼스를 기계 학습한 결과에 기초하여, 상기 출발어의 단어들 및 상기 도착어의 단어들에 대응하는 수치들을 생성할 수 있다.
한편, 상기 수집하는 단계는, 상기 출발어 및 상기 도착어를 포함하는 외국어 사전, 다국어 번역 신문 기사 및 다국가의 언어를 지원하는 멀티미디어의 자막 중 적어도 하나로부터 수집할 수 있다.
한편, 상기 단어 정렬을 수행하는 단계는, GIZA 프로그램을 이용하여 IBM 단어 정렬 모델을 학습하고, GDF(Grow-Diag-Final) 또는 GDFA(Grow-Diag-Final-And) 알고리즘을 이용하여 상기 출발어 및 도착어의 단어 또는 구를 대응시킨 구 엔트리를 생성하는 구문 기반 단어 정렬(phrase-based word alignment)을 수행할 수 있다.
한편, 상기 수치들을 생성하는 단계는, 상기 출발어의 단어들 및 상기 도착어의 단어들을 대상으로 하는 단어 임베딩(word embedding)을 수행하여, 상기 출발어의 단어들 및 상기 도착어의 단어들 각각에 매핑된 벡터들을 생성할 수 있다.
이 경우, 상기 수치들을 생성하는 단계는, 상기 단어 임베딩을 위한 CBOW(Continuous Bag-of-Word) 모델 또는 Skip-Gram 모델을 이용할 수 있다.
한편, 상기 유사도를 계산하는 단계는, 상기 매핑된 벡터들을 이용하여 상기 구 엔트리의 출발어의 구와 도착어의 구의 유사도를 계산할 수 있다.
이 경우, 상기 유사도를 계산하는 단계는, 상기 구 엔트리의 출발어의 구 및 도착어의 구 각각에 대응하는 두 벡터의 코사인 유사도(cosine similarity)를 계산할 수 있다.
한편, 본 발명의 일 실시예에 따른 구 표 생성 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서, 상기 구 표 생성 방법은, 제1 국어로 표현된 출발어 문장 및 상기 출발어 문장과 동일한 의미의 제2 국어로 표현된 도착어 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집하는 단계, 상기 수집된 병렬 코퍼스에 포함된 상기 출발어 문장의 단어들 및 상기 도착어 문장의 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 상기 출발어의 단어들 및 상기 도착어의 단어들에 대응하는 수치를 생성하는 단계, 상기 병렬 코퍼스로부터 통계적 학습에 의해, 상기 출발어 문장의 단어와 대역관계에 있는 상기 도착어 문장의 단어를 서로 대응시키고, 상기 출발어 단어를 배열상 이웃한 단어로 확장한 구(phrase)와 대역관계에 있는 상기 도착어 문장의 단어 또는 구를 서로 대응시킨 구 엔트리(phrase entries)를 생성하는 단어 정렬(word alignment)을 수행하는 단계, 상기 생성된 수치들을 이용하여, 상기 생성된 구 엔트리의 출발어의 구와 도착어의 구의 유사도(similarity)를 계산하는 단계, 상기 계산된 유사도와 기설정된 임계치를 비교한 결과에 기초하여, 상기 구 엔트리를 포함하는 구 표(phrase table)를 생성하는 단계 및 상기 기계 번역 시스템의 디코더(decoder)에 상기 출발어의 원문이 입력되면, 상기 구 표를 이용하여 상기 도착어의 번역문을 출력하는 단계를 포함한다.
이상의 다양한 실시예에 따르면, 본 발명은 2개 국어의 단어들 및 구절들의 구문론적 의미론적 관계를 반영하는바, 그렇지 않은 구 추출 방식에 비하여 BLEU 지수로 3.4%(26.3에서 27.2로)의 번역 성능의 향상을 가져온다.
도 1은 본 발명의 일 실시예에 따른 기계 번역 시스템의 구성을 나타내는 블록도,
도 2는 도 1의 병렬 코퍼스의 일 예를 도시한 도면,
도 3은 도 1의 단어 정렬을 설명하기 위한 도면,
도 4는 단어 정렬 및 구 추출 방법과 추출된 구 쌍을 나열한 구 표의 예를 도식화한 도면,
도 5는 도 2의 예시에서 추출된 구 표,
도 6은 본 발명의 일 실시예에 따른 단어 임베딩 모델의 아키텍처를 도식화한 도면,
도 7은 한국어 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면,
도 8은 영어 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면,
도 9는 한국어-영어 병렬 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면,
도 10은 본 발명의 구 추출 방법에 따라 생성된 구 표,
도 11은 실시예의 방법들이 실시될 수 있는 범용 컴퓨터의 구성을 나타내는 블록도,
도 12는 본 발명의 일 실시예에 따른 구 표 생성 방법을 나타내는 흐름도, 그리고,
도 13은 본 발명의 일 실시예에 따른 번역 방법을 나타내는 흐름도이다.
도 2는 도 1의 병렬 코퍼스의 일 예를 도시한 도면,
도 3은 도 1의 단어 정렬을 설명하기 위한 도면,
도 4는 단어 정렬 및 구 추출 방법과 추출된 구 쌍을 나열한 구 표의 예를 도식화한 도면,
도 5는 도 2의 예시에서 추출된 구 표,
도 6은 본 발명의 일 실시예에 따른 단어 임베딩 모델의 아키텍처를 도식화한 도면,
도 7은 한국어 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면,
도 8은 영어 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면,
도 9는 한국어-영어 병렬 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면,
도 10은 본 발명의 구 추출 방법에 따라 생성된 구 표,
도 11은 실시예의 방법들이 실시될 수 있는 범용 컴퓨터의 구성을 나타내는 블록도,
도 12는 본 발명의 일 실시예에 따른 구 표 생성 방법을 나타내는 흐름도, 그리고,
도 13은 본 발명의 일 실시예에 따른 번역 방법을 나타내는 흐름도이다.
이하 첨부된 도면들을 참조하여 본 발명의 일 실시 예를 더욱 상세하게 설명한다. 다만, 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 기계 번역 시스템의 구성을 나타내는 블록도이다.
도 1을 참조하면, 기계 번역 시스템은 병렬 코퍼스(10), 단어 정렬 코퍼스(30), 구 표(50), 디코더(60) 및 딥 러닝부(100)를 포함한다. 그리고, 딥 러닝부(100)는 제1 단일어 코퍼스(110), 제2 단일어 코퍼스(120) 및 제1 벡터 공간(140) 및 제2 벡터 공간(150)을 포함한다.
병렬 코퍼스(bilingual corpus 또는 parallel corpus)(10)는 제1 언어의 문장(sentence)과 제2 언어의 문장을 포함한다. 여기서, 병렬 코퍼스(10)는 제1 언어의 문장과 제2 언어의 문장을 대응시킨다. 구체적으로, 병렬 코퍼스(10)는 서로 의미가 동일한 두 언어의 문장을 포함할 수 있다.
이하에서는 설명의 편의를 위하여 제1 국어를 한국어로, 제2 국어를 영어로 예시한다. 그리고, 기계 번역 시스템은 한국어를 영어로 변환하는 한영 번역을 목적으로 하는 것으로 예시한다. 여기서, 한국어는 번역의 대상이 되는 출발어(source language)로, 그리고, 변역된 결과물인 영어는 목적어 또는 도착어(target language)로 부를 수 있다.
병렬 코퍼스(10)는 동일한 의미를 가진 출발어 문장(11)과 도착어 문장(12) 쌍(pairs)을 포함한다. 도 2의 예시를 참조하면, 병렬 코퍼스(10)에는 "지난 4월 삼성 갤럭시 S6가 공개 되었습니다."라는 출발어 문장(11)과 "Samsumg Galaxy S6 has introduced in last April."라는 도착어 문장(12)이 서로 짝지워져 있다.
병렬 코퍼스(10)는 다양한 경로로 수집할 수 있다. 특히, 인터넷에 공개된 많은 양의 외국어 정보는 통계적 학습을 통한 기계 번역 성능의 정확성과 유연성을 높게 한다. 예를 들어, 병렬 코퍼스(10)의 출발어 문장(11) 및 도착어 문장(12)은 한-영 사전 및 영-한 사전으로부터 수집될 수 있다. 또한, 병렬 코퍼스(10)는 한국 신문의 영어판본과 같이 다국어로 번역된 신문 기사 또는 한국, 영어, 일본어, 중국어 등 다국가의 언어를 지원하는 멀티미디어 - 예를 들어 해외 수출을 위해 제작된 영화 DVD 등 - 의 자막으로부터 수집될 수 있다.
단어 정렬 코퍼스(30)는 병렬 코퍼스(10)에 대한 단어 정렬(20)을 수행한 결과이다. 구체적으로, 단어 정렬 코퍼스(30)는 단어 정렬(20)을 수행하면, 병렬 코퍼스(10)로부터 학습한 출발어 문장(31) 및 도착어 문장(32)과, 문장(31, 32)을 구성하는 양측의 단어들 중 대응되는 단어 쌍을 정렬한 단어 정렬 정보(33)를 포함한다.
도 3은 단어 정렬을 예시한다. 도 3을 참조하면, 출발어 문장(31)의 단어들은 출발어 문장(31)과 대응하는 도착어 문장(32)의 단어들과 대응한다. 단어 정렬 정보(33)는 서로 대응되는 의미를 갖는 양측의 단어를 연결한다. 단어 정렬 정보(33)는 '지난'을 'last'과 정렬하고, '4월'을 'April'과 정렬하며, '삼성'을 'Samsung'과 정렬시킨다.
여기서, 단어 정렬(20)은 IBM 단어 정렬 모델이 사용될 수 있다. IBM 단어 정렬 모델은 두 언어의 문장 단위로 정렬된 병렬 코퍼스로부터 두 언어 사이의 대역 정보를 학습하는 번역 모델이다. IBM 모델은 도 4의 왼쪽 그림과 같이 두 언어의 문장을 구성하는 단어들 각각을 세그먼트로 분해하여, 대역 관계의 단어 쌍을 학습한다.
구 표(50)는 단어 정렬 코퍼스(30)로부터 추출된 출발어 구(51) 및 도착어 구(52)를 포함한다. 여기서, 서로 대응되는 출발어 구(51) 및 도착어 구(52) 쌍을 구 엔트리(phrase entry)라 부르기로 한다. 한편, 본 발명의 상세한 설명 및 청구항에 있어서, 추출된 구는 사전적 의미로서의 구(phrase) - 즉, 둘 이상의 낱말의 결합으로 사용되는 문장의 성분 - 와 함께 단어(word)를 포함하는 상위 개념으로 정의한다. 쉽게 말해서, 단어 정렬 코퍼스(30)로부터 추출되는 구는 정렬된 단어들 및 인접한 단어들이 결합된 구를 포함한다.
한편, 구 추출(40)은 단어 정렬 코퍼스(30)에 정렬된 단어로부터 구문 기반 번역(Phrase-based Translatioin)을 실현하기 위한 방법을 말한다. 구 추출(40)은 여러 단어가 조합되어 자연어의 특성상 보다 자연스럽고 정확한 번역을 위해 필요하다.
IBM 모델은 비대칭이다. 구체적으로, IBM 모델에 따라 한국어 문장의 단어로부터 대역 관계의 영어 문장의 단어를 학습한 결과와 영어 문장의 단어로부터 대역 관계의 한국어 문장의 단어를 학습한 결과는 상이하다. 따라서, 몇 가지 대칭화 테크닉들이 제안된다. 대칭화 기술 중 GDFA(Grow-diag-final-and)는 다수의 언어 쌍에 걸쳐 일반적으로 사용되는 대칭 휴리스틱이다.
도 4를 참조하면, 단어 정렬 및 GDFA에 따라 구를 추출(40)하는 예시와, 추출된 구 쌍을 정렬한 구 표(50)를 함께 도시하고 있다.
Intersection(교집합)은 한국어에서 영어 및 영어에서 한국어로 단어 정렬을 수행하였을 때의 결과가 동일한 인덱스이다. Union(합집합)은 양방향으로 단어 정렬을 수행하였을 때, 일치하는 정렬과 상이한 정렬을 모두 포함하는 것을 말한다. 가령, 주격 조사 '는' 및 목적격 조사'를'은 영-한 단어 정렬을 수행할 때에는 나타나지 않지만, 한-영 단어 정렬을 수행할 때에는 주어 '저'와 함께 'I'에 대응하고, 목적어 'TV'와 함께 'television'에 대응하게 된다.
GDFA는 Intersection으로부터 시작하여, 문장 배열상 인접한 Union으로 확장한다(Grow-Diag 단계). 예를 들어, '밤'은 형용사 '어제'로 확장하여, 영어 구 'last night'과 대응된다. 그리고, 한국어 문장의 마침표 '.'는 영문법에 존재하지 아니하는 서술격 조사 + 보조사 '어요'로 확장하여, 영어 문장의 마침표'.'와 대응된다. Grow-Diag의 화살표는 Intersection 단어에서 인접 단어로 확장하는 방향을 나타낸다. Final-And 단계는 Grow-Diag의 iteration 후 구를 완성하는 종결 포인트를 결정하는 마지막 단계이다. Grow-Diag 단계의 정렬 결과 선택되지 않은 남은 단어들 중에서 출발어 및(AND) 도착어 둘 다 정렬되지 않은 포인트를 정렬에 추가한다.
이상에서는 Final-And 를 적용하여 단어를 정렬하는 Grow 휴리스틱스를 설명하였으나, 이에 한정되지 아니한다. 위 Final-And는 출발어 또는(OR) 도착어 중 어느 하나라도 단어가 정렬되어 있지 않다면 확장하는 Final 알고리즘으로 대체될 수 있다(Grow-Diag-Final).
GDFA 수행 결과 추출된 구 쌍은 오른쪽의 구 표(50)와 같이 정렬된다.
한편, 본 발명의 일 실시예에 따른 구 추출 방법은 단어 및 구의 의미적 관련성을 고려하여 구를 추출한다. 이를 위하여, 딥 러닝부(100)는 단어들의 구문론적 및 의미론적 관련성(syntactic and semantic relatedness)을 학습한다.
구체적으로, 딥 러닝부(100)는 코퍼스에 포함된 문장들로부터 단어들 간의 의미적 유사성(semantic similarity)을 딥 러닝 아키텍처를 통해 학습할 수 있다. DNN(Deep Neural Networks)은 복수의 계층들(layers)로 입력된 문장(문자열)을 학습(training)하여, 연속 벡터(continuous vector)를 출력하는 DSSM(Deep Semantic Similarity Model)을 구축할 수 있다.
DNN에서 DSSM을 구축하는 딥 러닝 기법 중 하나를 단어 임베딩(Word Embedding)이라 부른다. 단어 임베딩은 각 단어 또는 구에 대응하는 저-차원의 실수 벡터를 생성한다. 구체적으로, 단어 임베딩은 각 단어를 벡터 공간의 특정 벡터로 매핑한다. 이러한, 단어 임베딩은 단어를 의미론적 공간(semantic space)에 그 단어의 뜻(meaning/context)을 크기와 방향을 갖는 벡터로 담아낸다(capture).
딥 러닝부(100)는 단어 정렬(20)에서 이용된 병렬 코퍼스(10)를 가져다 사용한다. 구체적으로, 딥 러닝부(100)는 병렬 코퍼스(10)의 출발어 문장(11)과 도착어 문장(12)에 대한 단어 임베딩(130)을 수행한다. 이로부터, 서로 대응되는 관계의 출발어 문장(11)의 단어와 도착어 문장(12)의 단어 사이의 의미론적 관계가 추정된 벡터가 생성된다.
한편, 딥 러닝부(100)는, 선택적으로, 출발어의 단어, 구 및 문장을 포함하는 제1 단일어 코퍼스(110) 및 도착어의 단어, 구 및 문장만을 포함하는 제2 단일어 코퍼스(120)를 더 학습(training)할 수 있다. 단일 언어 코퍼스(monolingual corpus)에 대한 단어 임베딩(130)은 각 언어의 단어, 구 및 문장을 대량으로 학습함으로써, 문장의 어감이나 상황에 적절한 용어 등 더욱 자연스러운 도착어 문장의 생성을 달성할 수 있게 해준다.
딥 러닝부(100)는 단어 임베딩(130)을 수행하기 위한 CBOW 아키텍처를 사용할 수 있다. 이와 관련하여, 도 6을 참조하면, 도 6은 본 발명의 일 실시예에 따른 단어 임베딩 모델인 CBOW의 아키텍처를 도시한다.
CBOW (Continuous Bag-of-Word)는 입력 input (610, 640), 투사 projection (620, 650) 및 출력 output (630) 레이어로 구성되며, 계산의 복잡성을 현저히 증가시키는 비선형 히든(hidden) 레이어가 없다. CBOW는 높은 학습 속도 및 예측의 정확성을 갖는다.
구 벡터(680, 690)를 구하기 위하여, 입력 레이어(610, 640)에는 현재 단어의 단어 벡터(sw(t): 660, tw(t): 670)를 중심으로 구를 구성하는 전후에 위치한 단어들의 단어 벡터들이 입력된다. 그리고, 입력된 단어 벡터들은 투사 레이어(620)에서 합산된다. 출발어(소스) 측 구 벡터를 구하기 위한 수식은 다음과 같이 나타낼 수 있다.
여기서 sp(t)는 기설정된 크기의 t번째 소스 구이고, sw는 소스 단어 벡터이다. sp는 sp를 구성하는 sw들을 합하여 계산된다. 이러한 단순 합산에 기초하여, sp는 그 구성 요소들의 의미론적 뜻을 모두 담을 수 있다. 도시된 바와 같이, 도착어(타겟) 측의 구 벡터 tp(690)를 구하기 위한 계산도 소스 구 벡터 sp(680)와 동일하게 수행된다.
한편, 도 6에서는, 입력 레이어(610, 640)에 입력되는 일련의 단어의 개수는 7개 - 즉, 윈도우 크기는 6 - 로 도시하였으나, 이에 한정되지 아니한다. 입력 레이어(610, 640)는 얻고자 하는 구의 길이에 따라 적절한 개수의 단어 벡터를 입력받을 수 있다.
한편, 단어 임베딩 모델은 CBOW 아키텍처에 국한되지 않는다. skip-gram 신경 망 모델은 단어 임베딩을 위한 대안으로서 사용될 수 있다. skip-gram 아키텍처는 입력 레이어의 one-hot encoded vector를 가중 합한 히든 레이어로부터, 평문을 구성하는 단어들간의 컨텍스트를 추정하는 복수의 one-hot encoded voctors를 출력한다.
단어 임베딩(130)에 의해 생성된 출발어 임베딩 벡터(141)는 제1 벡터 공간(140)에 포함된다. 그리고, 단어 임베딩(130)에 의해 생성된 도착어 임베딩 벡터(151)는 제2 벡터 공간(150)에 포함된다. 제1 벡터 공간(140) 및 제2 벡터 공간(150)에는 출발어 및 도착어의 단어/구가 매핑된 벡터와 함께 정렬되어 있다.
제1 벡터 공간(140) 및 제2 벡터 공간(150)은 구 추출(40)에 이용된다. 구체적으로, 단어 정렬 코퍼스(30)로부터 추출되는 구(단어를 포함한다) 엔트리는 제1 벡터 공간(140) 및 제2 벡터 공간(150)를 참조하여, 매핑된 벡터를 검색한다. 그리고, 검색된 구 벡터의 유사도를 계산한다. 유사도는 두 벡터의 사이 각의 코사인을 계산하는 코사인 유사도(cosine similarity)일 수 있다. 두 벡터의 코사인 유사도를 계산한 값은 0에서 1 사이의 값을 갖는다.
계산된 유사도를 이용하여, 구 표(50)에 추가될 구 엔트리를 결정한다. 구체적으로, 구 표(50)는 추출된 출발어와 도착어의 구 쌍의 의미적 관련성이 높은 구 엔트리를 포함한다. 이를 위하여 기계 번역 시스템은 임의의 임계치를 설정하고 있다. 그리고, 계산된 유사도가 기설정된 임계치보다 높은 구 엔트리는 구 표(50)에 포함된다. 임계치는 실험적으로 결정될 수 있다. 시뮬레이션을 통해 임의의 테스트 군을 번역한 성능이 우수한 임계치가 설정될 수 있다.
한편, 단어 임베딩(130)은 단어 정렬(20)과 독립적으로 병렬 코퍼스(10)에 대한 학습을 수행하기 때문에, 정렬된 구 및 매핑된 벡터 정보가 제1 및 제2 벡터 공간(140, 150)에 포함된다. 따라서, 구 추출(40)시에 누락된 구 엔트리는 제1 벡터 공간(140) 및 제2 벡터 공간(150)에 의해 보완될 수 있다.
구 표(번역사전: 50)는 서로 대역 관계에 있는 출발어 구(51)와 도착어 구(52) 쌍을 포함한다. 구 표(50)는 디코더(60)에 의해 참조되어 기계 번역을 위한 도착어 구를 제공한다.
디코더(번역기: 60)는 출발어의 원문(70)을 입력받고, 도착어의 번역문(80)을 출력한다. 앞서 설명한 바와 같이 디코더(60)는 구 표(50)로부터 입력된 원문(70)을 구성하는 출발어 구(51)에 대응하는 도착어 구(52)를 검색하고, 검색된 도착어 구(52)를 조합한 번역문(80)을 출력한다. 이때, 디코더(60)는 모든 가능성을 최대로 할 수 있는 번역 조합을 찾을 수 있다. 이를 위하여, 디코더(60)는 다양한 검색 알고리즘 중 잘 알려진 빔 서치(beam search) 알고리즘을 수행할 수 있다.
이상과 같은 본 발명의 일 실시예에 따른 기계 번역 시스템은 번역의 성능을 좌우하는 구 표의 신뢰도를 더욱 높일 수 있다.
<실험>
본 발명이 제시하는 구 추출 모델은 구문론적 및 의미론적으로 관련성이 높은 구 쌍을 판단할 수 있다. 이를 위하여 본 발명은 제1 언어(소스) 및 제2 언어(타겟)의 양측의 단어 및 구에 대하여 단어 임베딩을 수행한다. 출발어와 도착어 모두에 대해 단어 임베딩을 수행한다는 의미에서, 발명자는 이 기술을 동기화 단어 임베딩(Synchronous Word Embedding: SWE)으로 명하기로 한다.
한편, 본 실험에 있어서, 발명자는 코퍼스에 대한 단어 정렬 및 원문에서 번역문으로 디코딩을 수행하기 위하여, 단어정렬 모델(IBM 모델 4, 5)을 학습하는 프로그램인 GIZA++ 및 디코딩 알고리즘을 포함하는 MOSES를 이용하였다. 단, MERT(Minimum Error Rate Training) 튜닝은 수행되지 않았다. 또한, 발명자는 word2vec 함수를 이용하여 단일어 또는 병렬 코퍼스에 대한 단어 임베딩을 학습(training)하였다. word2vec의 파라미터들은 윈도우 사이즈를 20으로 설정한 것을 제외하고 모두 디폴트로 설정되었다.
본 실험을 위해, 발명자는 한국어와 영어의 130만 문장 쌍으로 구성된 병렬 코퍼스를 사용하였다. 병렬 코퍼스는 680K 크기의 한-영 사전 엔트리 및 194K 크기의 영-한 사전 엔트리가 포함되었다. 그리고, 번역 성능의 평가를 위해, 200개의 구어적 스타일의 문장이 사용되었으며, 번역의 평가 매트릭으로서 BLEU-4가 사용되었다.
그리고, 발명자는 t-SNE를 자바스크립트로 구현한 tSNEJS를 이용하여 출력된 2차원 이상의 임베딩 벡터들을 2차원 평면에 도시하였다. 이하 도 7 내지 도 9를 참조하여, 단어 임베딩을 수행하였을 때 생성되는 벡터가 단어들 간의 의미론적 정보를 포함하고 있음을 시각적으로 표현한다.
한편, 도 7 내지 도 9에 도시된 단어들은 단어의 품사 및 언어종류를 나타내는 표식(Part of Speech(POS) Tags)이 태깅되어 있다. /뒤에 첫 글자 k는 한국어, e는 영어를 나타낸다. 그리고, 뒤에 이어지는 둘 또는 세 글자는 품사를 나타내며, 정해진 태그 셋트에 따라 조금씩 다를 수 있다. 몇 가지 품사를 예로 들면, nng는 일반명사, nnp는 고유명사, jj는 형용사, vb는 동사, in은 전치사를 나타낸다.
도 7은 한국어 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면이다. 도 7을 참조하면, 다차원의 벡터가 투사(projection)된 2차원 공간(710)에 한국어 단어가 분산되어 있다. 구체적으로, 각 한국어 단어는 임베딩 벡터가 투사된 2차원 공간(710)의 좌표에 위치한다.
여기서 주목할 것은 의미상 유사한 단어는 위치상 근접하고 있다. 붉은색 박스를 친 곳을 예로서 살펴보면, 첫 번째 박스(720)에는 '북부', '노르웨이', '요르단', '중동', '북', '멕시코만', 북동쪽'과 같은 location과 관련된 단어가 밀집되어 있다. 두 번째 박스(730)에는 '노크', '일러바치', '짊어지', '뿌리', 멈추', '타이르', '몸서리치'와 같은 action과 관련된 단어가 밀집되어 있다. 세 번째 박스(740)에는 '74', '28', '5000'과 같은 number와 관련된 단어가 밀집되어 있다. 네 번째 박스(750)에는 '주변', 지형', '지리학'과 같은 geographic과 관련된 단어가 밀집되어 있다.
도 8은 영어 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면이다. 도 8을 참조하면, 도 7과 마찬가지로, 다차원의 임베딩 벡터가 투사된 2차원 공간(810)에 영단어가 분산되어 있다. 그리고, 의미상 유사한 영단어들은 서로 근접한 곳에 위치한다. 첫 번째 박스(820)에는 'kindly', 'ouch', 'astonished', 'stirred', 'hunch'와 같은 emotion과 관련된 단어들이 밀집해 있다. 두 번째 박스(830)에는 'dolmen', 'silla', 'airplane', 'take off', 'standby'와 같은 travel과 관련된 단어들이 밀집해 있다. 세 번째 박스(840)에는 'person', 'reception'과 같은 job과 관련된 단어들이 밀집해 있다. 네 번째 박스(850)에는 'spaghetti', 'biscuit', 'mango'와 같은 food와 관련된 단어들이 밀집해 있다.
도 9는 한국어-영어 병렬 코퍼스의 단어들을 단어 임베딩한 함수로부터 출력된 벡터들을 2차원 평면상에 시각화한 도면이다. 도 9를 참조하면, 한국어 단어와 영어 단어는 각 단어에 매핑된 벡터를 2차원 평면(905) 상으로 투사한 위치에 분포되어 있다. 도 7 및 도 8과 마찬가지로, 한국어 단어 및 영어 단어는 언어가 달라도, 의미상 유사하면 위치상 근접한 곳에 위치한다.
각 박스가 쳐진 영역의 예시를 살펴보면, engineering 박스(910) 안에는 'constant', '상수', '일정' 및 'equation', '다항', '방정식'과 같은 대역 관계의 한국어 단어 및 영어 단어가 매우 가깝게 위치하는 것을 확인할 수 있다. 다른 박스(915,..,955)에 대해서도 동일한 특성을 발견할 수 있다. 가령, '제조' 및 '생산'이라는 한국어 단어는 인접하고, 영어 번역된 'manufacture' 및 'produce'도 인접하게 위치한다.
이상과 같이 한국어 단일어 코퍼스(도 7), 영어 단일어 코퍼스(도 8) 및 한-영 병렬 코퍼스(도 9)에 대한 임베딩 모델이 트레이닝 되면, 임베딩 벡터를 이용하여, 구 엔트리의 유사도를 나타내는 스코어가 다양한 방식으로 계산될 수 있다. 발명자는 이 작업에서 구 신뢰도를 나타내기 위하여, 소스 벡터 및 타겟 벡터의 코사인 유사도를 계산하는 방식을 선택하였다.
구 추출을 수행하는 단계에서, 구 경계(phrase boundary)는 이들 벡터들에 의해 결정될 수 있다. 우선, GDFA에 따라, 양방향 단어 정렬의 교집합{intersection}은 구 정렬의 시드(seed)이다. 다음으로, 합집합에서 교집합을 제외한 {union}-{intersection} 의 각 단어들은, 소스 구 벡터 및 타겟 구 벡터 간의 유사도에 관하여 구의 경계를 확장하기 위해 검토된다. 마지막으로, 확장된 구 쌍은 계산된 코사인 유사도와 컷오프 임계치 α와의 비교에 따라 구 표에 등록될지 여부가 판단된다.
아래 표 1은 구 추출 알고리즘에 따른 번역 성능을 보여준다. 표 1에 각 컬럼의 항목은 구 추출 방식, 파라미터 α, 임계치 α 값에 따른 구 정렬된 개수, 구 블록 사이즈 및 번역 성능을 나타내는 BLEU 스코어이다.
Method | Param. | # Align | PB Size | BLEU |
Intersection | - | 11,958,342 | 1,380,025 | 8.9 |
SWE |
α=0.2 | 14,357,392 | 1,590,367 | 11.2 |
α=0.4 | 23,005,913 | 3,754,939 | 15.7 | |
α=0.7 | 24,498,093 | 23,659,207 | 27.2 | |
α=0.9 | 29,525,523 | 24,691,188 | 26.4 | |
GDFA | - | 30,775,041 | 26,814,899 | 26.3 |
Union | - | 38,183,288 | 4,798,614 | 23.7 |
본 발명이 제안하는 동기화된 단어 임베딩(SWE) 방법은 α를 0으로 설정하면 Intersection과 동일하고, α를 1로 설정하면 GDFA와 동일한 구 추출 결과가 된다. 양방향 단어 정렬시 교집합만을 고려하는 Intersection은 가장 높은 신뢰도를 갖지만, 정렬되지 않고 누락되는 단어들 때문에 가장 적은 양의 구 표를 생성한다. 반면, 정렬된 단어들 모두를 포함하는 Union은 일관성이 없는 정렬들이 많이 있기 때문에 상대적으로 작은 수의 구 쌍을 생성한다. 우리는 위 표를 통해 SWE가 GDFA의 오정렬된 구를 제거하고, 성능을 높일 수 있음을 확인할 수 있다. 최상의 번역 성능은 대략적으로 구의 5%를 쳐냈을 때(α=0.7일 때) 달성되었다.
Source query | # | Source | Target |
커피/nng |
1 | 맥주/nng (0.81) | coffee/nn (0.91) |
2 | 음료수/nng (0.76) | capsule/nn (0.52) | |
3 | 우유/nng (0.75) | chocolate/nnp (0.51) | |
4 | 소주/nng (0.74) | powdered/jj (0.49) | |
5 | 음료/nng (0.71) | drink/nn (0.49) | |
전화/nng |
1 | 연락/nng (0.70) | telephone/nn (0.43) |
2 | 전화기/nng (0.67) | switchboard/nn (0.42) | |
3 | 호출/nng (0.63) | long-distance/jj (0.39) | |
4 | 메모/nng (0.56) | collect/vb (0.38) | |
5 | 통화/nng (0.55) | cordless/jj (0.37) | |
생산/nng |
1 | 판매/nng (0.70) | improvement/nn (0.44) |
2 | 공급/nng (0.70) | planning/nnp (0.39) | |
3 | 수출/nng (0.68) | cost/nn (0.39) | |
4 | 제조/nng (0.65) | designing/vbg (0.35) | |
5 | 가동/nng (0.64) | consultant/nn (0.34) | |
굽히/vv |
1 | 펴/vv (0.71) | bend/nn (0.60) |
2 | 구부리/vv (0.67) | bending/vbg (0.52) | |
3 | 꼬/vv (0.65) | torsional/jj (0.52) | |
4 | 문지르/vv (0.64) | sagging/vbg (0.51) | |
5 | 찧/vv (0.63) | flexural/jj (0.51) | |
전하/vv |
1 | 밝히/vv (0.55) | electrolyte/nn (0.68) |
2 | 권하/vv (0.54) | electrolytic/jj (0.68) | |
3 | 알리/vv (0.52) | electrolysis/nn (0.61) | |
4 | 말씀/vv (0.51) | polyelectrolyte/nn (0.52) | |
5 | 일깨우/vv (0.51) | electroless/jj (0.50) |
위 표 2는 본 발명에서 제안한 모델에 따른 학습 이후 몇 가지 소스(한국어) 단어를 쿼리하였을 때, 소스측과 타겟측에서 검색된 유사도 1 순위에서 5 순위까지의 단어들을 정리한 것이다. 위 표 2를 분석하면, 본 실험의 모델은 태그된 품사가 상이한 경우에 부정확한 추정을 하는 것을 확인할 수 있다. 예를 들어, 한국어 동사인 전하(deliver)를 쿼리하였을 때, 본 실험의 모델은 트레이닝 데이터에 명사가 태그된 'electric charge(전하)'로 인하여 최상의 영어 번역을 찾는데 혼동하고 있다.
이상과 같은 본 발명에서 제안하는 구 표를 생성하기 위한 구 추출 방법은, 기존에는 병렬 코퍼스에 대한 단어 정렬을 수행하는 트레이닝만이 구성되었지만, 수집된 2개국어 사전을 더욱 활용함으로써 추출되는 구 쌍의 오류를 검출할 수 있게 한다. 그리고 위 실험 결과에 나타난 바와 같이 적절한 파라미터의 설정은 번역 성능의 향상을 가져온다.
도 10은 본 발명의 구 추출 방법에 따라 구 엔트리를 선정하는 동작을 설명하기 위한 표이다. 도 10을 참조하면, 표는 위 실험 환경에 따라 도 2의 병렬 코퍼스(10)의 출발어 문장(11) 및 도착어 문장(12) 쌍을 학습한 후, 구 추출(40)을 수행한 구 엔트리들을 포함한다.
도 5의 구 표(50)와 비교하였을 때, 도 10의 표는 출발어 구(31)의 구 벡터(141), 도착어 구(32)의 구 벡터(151) 그리고, 두 구 벡터(141, 151)를 이용하여 계산된 코사인 유사도(1010)가 각 구 엔트리에 포함되어 있다.
이 중 일곱 번째 열의 구 엔트리(1020)는 도 5의 구 표(50)에 누락된 구 쌍으로서, 단어 임베딩의 검증을 통해 높은 유사도의 구 쌍이 보충되었다.
또한, 여덟 번째 열의 구 엔트리(1030)는 출발어 구(31)가 단어 'S6'를 포함하지만 도착어 구(32)는 'Galaxy' 단어만 존재하는 오정렬된 구 쌍으로서, 상대적으로 낮은 0.4의 유사도를 포함하고 있다.
이상과 같이 추출된 구 엔트리들에 대하여, 앞서 실험에 사용된 파라미터 α를 0.5로 설정하는 경우, 기계 번역 시스템은 임계치에 미달하는 유사도를 가진 구 엔트리(1030)는 버리고, 나머지 신뢰도 높은 구 엔트리들만을 포함하는 구 표(50)를 생성할 수 있다.
도 11은 실시예의 방법들이 실시될 수 있는 범용 컴퓨터의 구성을 나타내는 블록도이다. 도 11을 참조하면, 본 발명의 실시예들을 구현하기 위한 장치의 일 예는 컴퓨터(1100)와 같은 범용 컴퓨팅 시스템을 포함한다. 컴퓨터(1100)는 메인보드(1105) 위에 실장되거나 삽입된 복수의 구성 및 인터페이스를 통해 연결된 외부의 모니터(1121) 및 주변 기기들을 포함한다.
메인보드(1105)는 연산을 위한 중앙 처리 장치(CPU: 1110), 주 메모리부(1115), 비디오 인터페이스(1120), 버스 컨트롤러(1125, 1130), 보조 메모리 인터페이스(1135), 이동식 메모리 인터페이스(1140), 유저 인터페이스(1145), 네트워크 인터페이스(1150), 주변기기 인터페이스(1155), 사운드 인터페이스(1160)를 포함한다. 그리고, 위 나열한 컴포넌트들은 메인보드(1105) 위에 실장된 버스를 통해 연결된다.
주 메모리부(1115)는 ROM(1116) 및 RAM(1117)과 같은 휘발성 또는 비휘발성 메모리를 포함한다. ROM(1116)은 비휘발성 메모리로서 기본 입출력 시스템(BIOS)을 저장한다. RAM(1117)은 운영체제(OS), 응용 프로그램, 데이터를 저장하고 CPU(1110)에 의해 처리될 정보를 제공한다.
비디오 인터페이스(1120)는 그래픽 연산에 의해 시각화할 정보를 모니터(1121)로 출력하기 위한 신호를 모니터(1121)에 출력한다.
노스 브릿지(1125)는 CPU(1110), 주 메모리부(1115), 비디오 인터페이스(1120), 사우스 브릿지(1130) 및 PCI Express(미도시)와 연결되고, 연결된 구성들간에 버스를 통해 이동하는 데이터의 트랜잭션을 제어한다.
보조 메모리 인터페이스(1135)는 컴퓨터(1100)에 설치된 하드 디스크 드라이브(HDD: 1136) 또는 솔리드 스테이트 드라이브(SDD 미도시)와 같은 대용량 비휘발성 기록 매체와의 인터페이스를 제공한다.
이동식 메모리 인터페이스(1140)는 USB 플래시 메모리에 read/write를 수행하는 USB 드라이버(1141) 및 CD-ROM, DVD, 블루레이 디스크와 같은 광학 매체에 read/write를 수행하는 광학 디스크 드라이버(ODD: 1142)와의 인터페이스를 제공할 수 있다.
유저 인터페이스(1145)는 키보드(1146), 마우스(1147) 및 마이크(1148)와 같은 사용자가 입력 가능한 입력 장치와의 인터페이스를 제공한다.
네트워크 인터페이스(1150)는 원격지의 다른 PC, 휴대 장치, 서버, 라우터, 네트워크 컴퓨터, 피어 디바이스 또는 다른 공용 네트워크 노드 등과의 인터페이스를 제공한다. 도 11에서는 컴퓨터(1100)는 LAN(1151) 접속을 예시하였으나, WAN과 같은 다른 네트워크에 접속될 수 있다.
주변 기기 인터페이스(1155)는 프린터(1156)와 같은 주변 기기와의 인터페이스를 제공한다.
사운드 인터페이스(1160)는 연결된 스피커(1161)에 소리를 출력하기 위한 신호를 전송한다.
한편, 본원발명이 제공하는 SWE 알고리즘은 수개의 인스트럭션이 컴파일된 프로그램으로서 개발될 수 있다. 이 경우, SWE 프로그램은 HDD(1136), USB 메모리 또는 광학 디스크에 기록되어 인터페이스(1135, 1140)를 통해 RAM(1117)에 로드된다. 그리고, RAM(1117)에 로드된 프로그램은 CPU(1110)에 의해 처리된다. 이상의 본 발명의 실시예를 실현하기 위한 방법은 기록 매체를 이용한 방식에 한정되지 아니한다. 가령, 컴퓨터(1105)는 네트워크 인터페이스(1150)를 통해 원격 장치로부터 프로그램을 수신하고, 수신된 프로그램을 구동하여 본 발명의 실시예를 실현할 수 있다.
도 12는 본 발명의 일 실시예에 따른 구 표 생성 방법을 나타내는 흐름도이다. 도 12를 참조하면, 제1 국어와 제2 국어 간에 구 표를 생성하기 위하여, 우선 병렬 코퍼스를 수집한다(S1210). 구체적으로, 기계 번역 시스템은 제1 국어 및 제2 국어로 표현된 두 문장을 대응시킨 병렬 코퍼스를 수집할 수 있다. 여기서, 수집되는 병렬 코퍼스는 2개 국어 중 어느 하나를 다른 언어로 해설한 사전일 수 있다. 다른 일 실시예에 있어서, 기계 번역 시스템은 제1 국어로만 구성된 제1 단일어 코퍼스 및 제2 국어로만 구성된 제2 단일어 코퍼스를 더 수집할 수 있다.
다음으로, 병렬 코퍼스에 대한 DNN 기반의 기계 학습 결과에 기초하여 단어들에 대응하는 수치들을 생성한다(S1220). 구체적으로, 기계 번역 시스템은 수집된 병렬 코퍼스에 포함된 제1 국어의 제1 단어들 및 제2 국어의 제2 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 제1 단어들 및 제2 단어들에 대응하는 수치들을 생성할 수 있다. 여기서, 생성되는 수치는 제1 단어들 및 제2 단어들을 대상으로 단어 임베딩을 수행한 결과, 제1 단어들 및 제2 단어들 각각에 매핑된 벡터일 수 있다. 또한, 기계 번역 시스템은 단어 임베딩을 위하여 CBOW 모델을 트레이닝하는 프로그램을 포함할 수 있다. 한편, 2개 국어 각각의 단일어 코퍼스를 수집한 경우, 기계 번역 시스템은 수집된 병렬 코퍼스와 함께 제1 단일어 코퍼스 및 제2 단일어 코퍼스를 기계 학습한 결과에 기초하여, 제1 및 제2 단어들에 대응하는 수치를 생성할 수 있다.
다음으로, 병렬 코퍼스로부터 구 엔트리를 추출한다(S1230). 구체적으로, 기계 번역 시스템은 병렬 코퍼스로부터 제1 국어의 제1 구와 제2 국어의 제2 구를 대응시킨 구 엔트리를 추출할 수 있다. 여기서, 기계 번역 시스템은 IBM 모델 및 GDFA 아키텍쳐를 이용하여 단어 정렬 및 구 추출을 수행할 수 있다.
그리고, 단어들에 대응하는 수치들을 이용하여 추출된 구 엔트리의 제1 구와 제2 구의 유사도를 계산한다(S1240). 구체적으로, 기계 번역 시스템은 제1 단어들 및 제2 단어들에 대응하는 수치들을 이용하여 추출된 구 엔트리의 제1 구와 제2 구의 유사도(similarity)를 계산할 수 있다. 여기서, 기계 번역 시스템은 단어 및 구 각각에 매핑된 벡터들을 이용하여 구 엔트리의 제1 구와 제2 구의 유사도를 계산할 수 있다. 여기서, 유사도는 두 벡터의 코사인 유사도일 수 있다.
마지막으로, 계산된 유사도를 기설정된 임계치와 비교한 결과에 기초하여, 구 엔트리를 포함하는 구 표를 생성한다(S1250). 구체적으로, 기계 번역 시스템은 계산된 유사도가 기설정된 임계치를 초과하면, 구 엔트리를 포함하는 구 표를 생성할 수 있다.
도 13은 본 발명의 일 실시예에 따른 번역 방법을 나타내는 흐름도이다. 도 13을 참조하면, 기계 번역 방법은, 먼저 병렬 코퍼스를 수집한다(S1310). 구체적으로, 기계 번역 시스템은 제1 국어로 표현된 출발어 문장 및 출발어 문장과 동일한 의미의 제2 국어로 표현된 도착어 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집할 수 있다. 여기서, 기계 번역 시스템은 출발어로만 구성된 출발어 코퍼스 및 도착어로만 구성된 도착어 코퍼스를 더 수집할 수 있다. 일 예에서, 기계 번역 시스템은 출발어 및 도착어를 포함하는 외국어 사전, 다국어 번역 신문 기사 및 다국가의 언어를 지원하는 멀티미디어의 자막 중 적어도 하나를 수집할 수 있다.
다음으로, 병렬 코퍼스에 대한 DNN 기반 기계 학습 결과에 기초하여 단어들에 대응하는 수치들을 생성한다(S1320). 구체적으로, 기계 번역 시스템은 수집된 병렬 코퍼스에 포함된 출발어 문장의 단어들 및 도착어 문장의 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 출발어의 단어들 및 도착어의 단어들에 대응하는 수치들을 생성할 수 있다. 보다 구체적으로, 기계 번역 시스템은 출발어의 단어들 및 도착어의 단어들을 대상으로 하는 단어 임베딩(word embedding)을 수행하여, 출발어의 단어들 및 도착어의 단어들 각각에 매핑된 벡터들을 생성할 수 있다. 또한, 기계 번역 시스템은 단어 임베딩을 위한 CBOW 모델을 이용하여 벡터를 생성할 수 있다. 한편, 출발어와 도착어의 단일어 코퍼스를 수집하는 실시예에 있어서, 기계 번역 시스템은 수집된 병렬 코퍼스와 함께 출발어 코퍼스 및 도착어 코퍼스를 기계 학습한 결과에 기초하여, 출발어의 단어들 및 도착어의 단어들에 대응하는 수치들을 생성할 수 있다.
다음으로, 병렬 코퍼스로부터 구 엔트리를 생성하는 단어 정렬을 수행한다(S1330). 구체적으로, 기계 번역 시스템은 병렬 코퍼스로부터 통계적 학습에 의해, 출발어 문장의 단어와 대역관계에 있는 도착어 문장의 단어를 서로 대응시키고, 출발어 단어를 배열상 이웃한 단어로 확장한 구(phrase)와 대역관계에 있는 도착어 문장의 단어 또는 구를 서로 대응시킨 구 엔트리(phrase entries)를 생성하는 단어 정렬(word alignment)을 수행할 수 있다. 여기서, 기계 번역 시스템은 GIZA, GIZA++ 및 MOSES 중 어느 하나의 프로그램을 이용하여 IBM 단어 정렬 모델을 학습하고, GDFA 알고리즘을 이용하여 출발어 및 도착어의 단어 또는 구를 대응시킨 구 엔트리를 생성하는 구문 기반 단어 정렬(phrase-based word alignment)을 수행할 수 있다.
다음으로, 단어들에 대응하는 수치들을 이용하여 생성된 구 엔트리의 출발어의 구와 도착어의 구의 유사도를 계산한다(S1340). 구체적으로, 기계 번역 시스템은, 생성된 수치들을 이용하여, 생성된 구 엔트리의 출발어의 구와 도착어의 구의 유사도(similarity)를 계산할 수 있다. 여기서, 기계 번역 시스템은 단어 임베딩을 수행한 결과 구들에 매핑된 벡터들을 이용하여, 구 엔트리의 출발어의 구와 도착어의 구의 유사도를 계산할 수 있다. 여기서, 유사도는 구 엔트리의 출발어의 구 및 도착어의 구 각각에 대응하는 두 벡터의 코사인 유사도(cosine similarity)일 수 있다.
다음으로, 계산된 유사도와 기설정된 임계치를 비교한 결과에 기초하여 구 엔트리를 포함하는 구 표를 생성한다(S1350). 구체적으로, 기계 번역 시스템은 임의의 임계치를 설정받고, 구 엔트리의 유사도와 임계치와의 비교를 통해 임계치 이상의 유사도를 갖는 구 엔트리를 구 표에 포함할 수 있다.
마지막으로, 디코더에 출발어의 원문이 입력되면, 구 표를 이용하여 도착어의 번역문을 출력한다(S1360). 구체적으로, 기계 번역 시스템의 디코더에 원문이 입력되면, 기계 번역 시스템은 디코더 내부의 알고리즘에 따라 적절한 도착어의 구를 조합한 번역문을 출력할 수 있다.
이상과 같은 구 표 생성 방법 및 기계 번역 방법은 단어 사이의 구문론적 의미론적 측면을 반영한 구 표를 생성 및 이용하는바, 보다 높은 성능의 기계 번역을 구현할 수 있다. 이상 도 12 및 도 13의 방법은 도 11의 범용 목적 컴퓨터 및 그 밖에 서버와 같은 컴퓨팅 장치에서 실현될 수 있다.
또한, 상술한 바와 같은 구 표 생성 방법 및 기계 번역 방법은 상술한 구 표 생성 방법 및 기계 번역 방법을 실행하기 위한 적어도 하나의 실행 프로그램으로 구현될 수 있으며, 이러한 실행 프로그램은 컴퓨터 판독 기록매체에 저장될 수 있다.
따라서, 본 발명의 각 스텝들은 컴퓨터 판독가능한 기록매체 상의 컴퓨터 기록 가능한 코드로써 실시될 수 있다. 컴퓨터 판독가능한 기록매체는 컴퓨터시스템에 의해 판독될 수 있는 데이터를 저장할 수 있는 디바이스가 될 수 있다.
예를 들어, 컴퓨터 판독가능한 기록매체는 롬(ROM), 램(RAM), 씨디-롬(CD-ROMs), 마그네틱 테이프, 플로피 디스크, 광디스크, 광 데이터 저장 디바이스 및 상기 저장 디바이스를 포함하는 텔레비전과 같은 영상디스플레이 장치 등이 될 수 있다. 또한, 컴퓨터 판독가능한 코드는 반송파의 컴퓨터 데이터 신호로 실시될 수 있다.
한편, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다.
그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
10: 병렬 코퍼스
20: 단어 정렬
30: 단어 정렬 코퍼스 40: 구 추출
50: 구 표 60: 디코더
70: 원문 80: 번역문
100: 딥 러닝부 110: 제1 단일어 코퍼스
120: 제2 단일어 코퍼스 130: 단어 임베딩
140: 제1 벡터 공간 150: 제2 벡터 공간
30: 단어 정렬 코퍼스 40: 구 추출
50: 구 표 60: 디코더
70: 원문 80: 번역문
100: 딥 러닝부 110: 제1 단일어 코퍼스
120: 제2 단일어 코퍼스 130: 단어 임베딩
140: 제1 벡터 공간 150: 제2 벡터 공간
Claims (16)
- 제1 국어와 제2 국어 간의 구 표(Phrase Table)를 생성하는 방법에 있어서,
상기 제1 국어 및 제2 국어로 표현된 두 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집하는 단계;
상기 수집된 병렬 코퍼스에 포함된 상기 제1 국어의 제1 단어들 및 상기 제2 국어의 제2 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 상기 제1 단어들 및 제2 단어들에 대응하는 수치들을 생성하는 단계;
상기 병렬 코퍼스로부터 상기 제1 국어의 제1 구와 상기 제2 국어의 제2 구를 대응시킨 구 엔트리를 추출하는 단계;
상기 생성된 수치들을 이용하여 상기 추출된 구 엔트리의 제1 구와 제2 구의 유사도(similarity)를 계산하는 단계; 및
상기 계산된 유사도를 기설정된 임계치와 비교한 결과에 기초하여, 상기 구 엔트리를 포함하는 구 표를 생성하는 단계;를 포함하는 구 표 생성 방법. - 제1항에 있어서,
상기 수집하는 단계는,
상기 제1 국어의 단어, 구 및 문장 중 적어도 하나로 구성된 제1 단일어 코퍼스(monolingual corpus) 및 상기 제2 국어의 단어, 구 및 문장 중 적어도 하나로 구성된 제2 단일어 코퍼스를 더 수집하고,
상기 수치를 생성하는 단계는,
상기 수집된 병렬 코퍼스와 함께 상기 제1 단일어 코퍼스 및 상기 제2 단일어 코퍼스를 기계 학습한 결과에 기초하여, 상기 제1 및 제2 단어들에 대응하는 수치를 생성하는 것을 특징으로 하는 구 표 생성 방법. - 제1항에 있어서,
상기 수집하는 단계는,
상기 제1 국어를 제2 국어로 해설한 제2-제1 사전 및 상기 제2 국어를 제1 국어로 해설한 제1-제2 사전을 수집하는 것을 특징으로 하는 구 표 생성 방법. - 제1항에 있어서,
상기 수치를 생성하는 단계는,
상기 제1 단어들 및 상기 제2 단어들을 대상으로 하는 단어 임베딩(word embedding)을 수행하여, 상기 제1 단어들 및 상기 제2 단어들 각각에 매핑된 벡터들을 생성하는 것을 특징으로 하는 구 표 생성 방법. - 제4항에 있어서,
상기 수치를 생성하는 단계는,
상기 단어 임베딩을 위한 CBOW(Continuous Bag-of-Word) 모델 또는 Skip-Gram 모델을 이용하는 것을 특징으로 하는 구 표 생성 방법. - 제4항에 있어서,
상기 유사도를 계산하는 단계는,
상기 매핑된 벡터들을 이용하여 상기 구 엔트리의 제1 구와 제2 구의 유사도를 계산하는 것을 특징으로 하는 구 표 생성 방법. - 제6항에 있어서,
상기 유사도를 계산하는 단계는,
상기 구 엔트리의 제1 구 및 제2 구 각각에 대응하는 두 벡터의 코사인 유사도(cosine similarity)를 계산하는 것을 특징으로 하는 구 표 생성 방법. - 기계 번역 방법에 있어서,
제1 국어로 표현된 출발어 문장 및 상기 출발어 문장과 동일한 의미의 제2 국어로 표현된 도착어 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집하는 단계;
상기 수집된 병렬 코퍼스에 포함된 상기 출발어 문장의 단어들 및 상기 도착어 문장의 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 상기 출발어의 단어들 및 상기 도착어의 단어들에 대응하는 수치들을 생성하는 단계;
상기 병렬 코퍼스로부터 통계적 학습에 의해, 상기 출발어 문장의 단어와 대역관계에 있는 상기 도착어 문장의 단어를 서로 대응시키고, 상기 출발어 단어를 배열상 이웃한 단어로 확장한 구(phrase)와 대역관계에 있는 상기 도착어 문장의 단어 또는 구를 서로 대응시킨 구 엔트리(phrase entries)를 생성하는 단어 정렬(word alignment)을 수행하는 단계;
상기 생성된 수치들을 이용하여, 상기 생성된 구 엔트리의 출발어의 구와 도착어의 구의 유사도(similarity)를 계산하는 단계;
상기 계산된 유사도와 기설정된 임계치를 비교한 결과에 기초하여, 상기 구 엔트리를 포함하는 구 표(phrase table)를 생성하는 단계; 및
상기 기계 번역 시스템의 디코더(decoder)에 상기 출발어의 원문이 입력되면, 상기 구 표를 이용하여 상기 도착어의 번역문을 출력하는 단계;를 포함하는 번역 방법. - 제8항에 있어서,
상기 수집하는 단계는,
상기 출발어의 단어, 구 및 문장 중 적어도 하나로 구성된 출발어 코퍼스 및 상기 도착어의 단어, 구 및 문장 중 적어도 하나로 구성된 도착어 코퍼스를 더 수집하고,
상기 수치들을 생성하는 단계는,
상기 수집된 병렬 코퍼스와 함께 상기 출발어 코퍼스 및 상기 도착어 코퍼스를 기계 학습한 결과에 기초하여, 상기 출발어의 단어들 및 상기 도착어의 단어들에 대응하는 수치들을 생성하는 것을 특징으로 하는 번역 방법. - 제8항에 있어서,
상기 수집하는 단계는,
상기 출발어 및 상기 도착어를 포함하는 외국어 사전, 다국어 번역 신문 기사 및 다국가의 언어를 지원하는 멀티미디어의 자막 중 적어도 하나로부터 수집하는 것을 특징으로 하는 번역 방법. - 제8항에 있어서,
상기 단어 정렬을 수행하는 단계는,
GIZA 프로그램을 이용하여 IBM 단어 정렬 모델을 학습하고, GDF(Grow-Diag-Final) 또는 GDFA(Grow-Diag-Final-And) 알고리즘을 이용하여 상기 출발어 및 도착어의 단어 또는 구를 대응시킨 구 엔트리를 생성하는 구문 기반 단어 정렬(phrase-based word alignment)을 수행하는 것을 특징으로 하는 번역 방법. - 제8항에 있어서,
상기 수치들을 생성하는 단계는,
상기 출발어의 단어들 및 상기 도착어의 단어들을 대상으로 하는 단어 임베딩(word embedding)을 수행하여, 상기 출발어의 단어들 및 상기 도착어의 단어들 각각에 매핑된 벡터들을 생성하는 것을 특징으로 하는 번역 방법. - 제12항에 있어서,
상기 수치들을 생성하는 단계는,
상기 단어 임베딩을 위한 CBOW(Continuous Bag-of-Word) 모델 또는 Skip-Gram 모델을 이용하는 것을 특징으로 하는 번역 방법. - 제12항에 있어서,
상기 유사도를 계산하는 단계는,
상기 매핑된 벡터들을 이용하여 상기 구 엔트리의 출발어의 구와 도착어의 구의 유사도를 계산하는 것을 특징으로 하는 번역 방법. - 제14항에 있어서,
상기 유사도를 계산하는 단계는,
상기 구 엔트리의 출발어의 구 및 도착어의 구 각각에 대응하는 두 벡터의 코사인 유사도(cosine similarity)를 계산하는 것을 특징으로 하는 번역 방법. - 구 표 생성 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서,
상기 구 표 생성 방법은,
제1 국어로 표현된 출발어 문장 및 상기 출발어 문장과 동일한 의미의 제2 국어로 표현된 도착어 문장을 대응시킨 병렬 코퍼스(bilingual corpus)를 수집하는 단계;
상기 수집된 병렬 코퍼스에 포함된 상기 출발어 문장의 단어들 및 상기 도착어 문장의 단어들 사이의 의미론적 관계(semantic relationship)를 캡쳐하는 DNN(Deep Neural Network) 기반의 기계 학습의 결과에 기초하여, 상기 출발어의 단어들 및 상기 도착어의 단어들에 대응하는 수치를 생성하는 단계;
상기 병렬 코퍼스로부터 통계적 학습에 의해, 상기 출발어 문장의 단어와 대역관계에 있는 상기 도착어 문장의 단어를 서로 대응시키고, 상기 출발어 단어를 배열상 이웃한 단어로 확장한 구(phrase)와 대역관계에 있는 상기 도착어 문장의 단어 또는 구를 서로 대응시킨 구 엔트리(phrase entries)를 생성하는 단어 정렬(word alignment)을 수행하는 단계;
상기 생성된 수치들을 이용하여, 상기 생성된 구 엔트리의 출발어의 구와 도착어의 구의 유사도(similarity)를 계산하는 단계;
상기 계산된 유사도와 기설정된 임계치를 비교한 결과에 기초하여, 상기 구 엔트리를 포함하는 구 표(phrase table)를 생성하는 단계; 및
상기 기계 번역 시스템의 디코더(decoder)에 상기 출발어의 원문이 입력되면, 상기 구 표를 이용하여 상기 도착어의 번역문을 출력하는 단계;를 포함하는 컴퓨터 판독가능 기록매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562160122P | 2015-05-12 | 2015-05-12 | |
US62/160,122 | 2015-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160133349A true KR20160133349A (ko) | 2016-11-22 |
Family
ID=57540362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150144585A KR20160133349A (ko) | 2015-05-12 | 2015-10-16 | 구 표 생성 방법 및 구 표를 이용한 기계 번역 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160133349A (ko) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190038240A (ko) * | 2017-09-28 | 2019-04-08 | 한국과학기술원 | 개체명 임베딩 시스템 및 방법 |
WO2019107623A1 (ko) * | 2017-11-30 | 2019-06-06 | 주식회사 시스트란인터내셔널 | 기계 번역 방법 및 이를 위한 장치 |
US10474758B2 (en) | 2017-06-21 | 2019-11-12 | Samsung Electronics Co., Ltd. | Method and apparatus for machine translation using neural network and method of training the apparatus |
CN110619127A (zh) * | 2019-08-29 | 2019-12-27 | 内蒙古工业大学 | 一种基于神经网络图灵机的蒙汉机器翻译方法 |
KR20200059625A (ko) * | 2018-11-21 | 2020-05-29 | 한국전자통신연구원 | 번역단위 대역 코퍼스를 이용하는 동시통역 시스템 및 방법 |
US11574190B2 (en) | 2019-10-15 | 2023-02-07 | Samsung Electronics Co., Ltd. | Method and apparatus for determining output token |
US11694677B2 (en) | 2019-07-31 | 2023-07-04 | Samsung Electronics Co., Ltd. | Decoding method and apparatus in artificial neural network for speech recognition |
-
2015
- 2015-10-16 KR KR1020150144585A patent/KR20160133349A/ko unknown
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10474758B2 (en) | 2017-06-21 | 2019-11-12 | Samsung Electronics Co., Ltd. | Method and apparatus for machine translation using neural network and method of training the apparatus |
KR20190038240A (ko) * | 2017-09-28 | 2019-04-08 | 한국과학기술원 | 개체명 임베딩 시스템 및 방법 |
WO2019107623A1 (ko) * | 2017-11-30 | 2019-06-06 | 주식회사 시스트란인터내셔널 | 기계 번역 방법 및 이를 위한 장치 |
KR20200059625A (ko) * | 2018-11-21 | 2020-05-29 | 한국전자통신연구원 | 번역단위 대역 코퍼스를 이용하는 동시통역 시스템 및 방법 |
US11694677B2 (en) | 2019-07-31 | 2023-07-04 | Samsung Electronics Co., Ltd. | Decoding method and apparatus in artificial neural network for speech recognition |
US12100392B2 (en) | 2019-07-31 | 2024-09-24 | Samsung Electronics Co., Ltd. | Decoding method and apparatus in artificial neural network for speech recognition |
CN110619127A (zh) * | 2019-08-29 | 2019-12-27 | 内蒙古工业大学 | 一种基于神经网络图灵机的蒙汉机器翻译方法 |
US11574190B2 (en) | 2019-10-15 | 2023-02-07 | Samsung Electronics Co., Ltd. | Method and apparatus for determining output token |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Malmi et al. | Encode, tag, realize: High-precision text editing | |
US10635753B2 (en) | Neural machine translation method and apparatus | |
Sanabria et al. | How2: a large-scale dataset for multimodal language understanding | |
KR20160133349A (ko) | 구 표 생성 방법 및 구 표를 이용한 기계 번역 방법 | |
US9342499B2 (en) | Round-trip translation for automated grammatical error correction | |
US8209163B2 (en) | Grammatical element generation in machine translation | |
US8874433B2 (en) | Syntax-based augmentation of statistical machine translation phrase tables | |
CN101194253A (zh) | 来源于单语和可用双语语料库的搭配翻译 | |
Meetei et al. | WAT2019: English-Hindi translation on Hindi visual genome dataset | |
CN105210055B (zh) | 根据跨语种短语表的断词器 | |
US9311299B1 (en) | Weakly supervised part-of-speech tagging with coupled token and type constraints | |
JP2008234645A (ja) | 訳文生成方法及び装置並びに機械翻訳 | |
CN110874536B (zh) | 语料质量评估模型生成方法和双语句对互译质量评估方法 | |
CN111401079A (zh) | 神经网络机器翻译模型的训练方法、装置及存储介质 | |
Narasimhan et al. | Morphological segmentation for keyword spotting | |
Guo et al. | Hierarchical document encoder for parallel corpus mining | |
Boito et al. | Unwritten languages demand attention too! word discovery with encoder-decoder models | |
Belinkov et al. | Large-scale machine translation between Arabic and Hebrew: Available corpora and initial results | |
Liu et al. | Language model augmented relevance score | |
Monga et al. | Speech to Indian Sign Language Translator | |
Wang et al. | Listen, Decipher and Sign: Toward Unsupervised Speech-to-Sign Language Recognition | |
Sincan et al. | Is context all you need? scaling neural sign language translation to large domains of discourse | |
KR20120045906A (ko) | 코퍼스 오류 교정 장치 및 그 방법 | |
Namysl et al. | Empirical error modeling improves robustness of noisy neural sequence labeling | |
Liao et al. | Automatic speech recognition post-processing for readability: Task, dataset and a two-stage pre-trained approach |