도 2는 본 발명의 일 실시예에 따른 IMT 시스템의 구성을 나타내는 블록도이다.
도 2를 참조하면, IMT 시스템(200)은 원문의 형태소 및 구문을 분석하는 형태소/구문 분석기(211) 및 원문의 분석 결과에 기반하여 번역문을 생성하는 번역문 생성기(212)를 포함하는 기계 번역 엔진(210), 기계 번역 엔진(210)으로부터 원문에 대한 형태소 및 구문 분석 결과를 수신하여 원문에서 번역 오류 가능성이 있는 원문 오류 추정 부분을 결정하는 원문 오류 추정기(220), 기계 번역 엔진(210)으로부터 번역문 생성 정보를 수신하여 번역문에서 번역 오류 가능성이 있는 번역문 오류 추정 부분을 결정하는 번역문 오류 추정기(230) 및 사용자(250)로부터 번역에 관련된 명령을 수신하여 기계 번역 엔진(210)에 전달하고 번역 결과 및 문장 구조 정보를 사용자(250)에게 제공하는 사용자 인터페이스 모듈(240)을 포함한다.
사용자(250)는 사용자 인터페이스 모듈(240)을 통해 원문의 번역을 요청할 수 있다. 사용자 인터페이스 모듈(240)은 번역 요청을 기계 번역 엔진(210)으로 전달하고, 기계 번역 엔진(210)에 포함된 형태소/구문 분석기(211)는 원문의 형태소 및 구문을 분석하여 원문 분석 정보를 생성한다. 다음으로, 기계 번역 엔진(210)에 포함된 번역문 생성기(212)는 원문 분석 정보에 기반하여 원문에 대한 번역문을 생성함과 동시에 번역문 생성 정보를 생성한다.
원문 오류 추정기(220)는 원문 분석 정보에 기반하여 원문에서 번역 오류 가능성이 있는 원문 오류 추정 부분을 결정하고, 번역문 오류 추정기(230)는 번역문 생성 정보에 기반하여 번역문에서 번역 오류 가능성이 있는 번역문 오류 추정 부분을 결정한다. 이때, 원문 오류 추정기(220) 및 번역문 오류 추정기(230)의 오류 추정 과정은 오류 분석 단계, 수정 후보 생성 단계 및 수정 후보 정렬 단계로 나누어질 수 있다.
첫번째로, 오류 분석 단계는 원문 또는 번역문에 사용된 언어의 코퍼스(corpus)로부터 구축된 언어 모델(language model)의 데이터를 이용하여 원문 또는 번역문 상의 오류를 분석한다. 일 실시예에서, 원문 오류 추정기(220) 및 번역문 오류 추정기(230)는 원문 또는 번역문에 포함된 단어 간의 의존관계를 분석하고, 미리 구축된 의존관계 언어모델을 이용하여 단어들의 신뢰도를 추정할 수 있다.
예를 들어, "그는 두통 때문에 아스피린을 먹었다." 라는 문장이 "He ate aspirin because of his headache"라고 번역되었고 상기 "ate"이 잘못 번역된 단어라고 가정하면, 번역문 오류 추정기(230)는 의존관계 언어모델에 기반하여 "ate" 및 "ate"과 주격 의존관계에 있는 "He" 간의 동시 발생 확률, "ate" 및 "ate"과 목적격 의존관계가 있는 "aspirin"과의 동시발생 확률을 계산함으로써 "ate"의 단어 신뢰도 Q(ate)를 결정할 수 있다. 이에 따라, "ate"의 단어 신뢰도 Q(ate)가 일정값 이하인 경우, 번역문 오류 추정기(230)는 "ate"을 번역문의 오류 부분으로 추정할 수 있다.
여기서, 의존관계 언어모델은 목적언어로 이루어진 코퍼스의 의존트리를 분석한 후, 의존관계가 있는 어휘들간의 엔그램(n-gram) 공기정보를 저장하는 방식으로 생성될 수 있다. 예를 들어, "someone took an aspirin."이라는 문장의 코퍼스가 있다면 이를 의존구조 분석한 결과, 다음의 의존분석 결과를 얻을 수 있다.
took -> someone : 의존관계 s
took -> aspirin : 의존관계 o
aspirin -> an : 의존관계 det
따라서, 상기 의존분석 결과로부터 P(took|aspirin:o), P(took|someone:s, aspirin:o) 등의 확률 정보를 계산하고 이를 저장함으로써 의존관계 언어모델을 구축할 수 있다. 여기서, "aspirin:o"는 "aspirin"이 "took"의 목적격으로 쓰였음을 뜻하고, "someone:s"는 "someone"이 "took"의 주격으로 쓰였음을 뜻한다.
오류 분석 단계를 통해 추정된 오류 부분 및 관련 정보들은 후술하는 바와 같이 사용자 인터페이스 모듈을 통해 사용자에게 제공될 수 있다.
두 번째로, 수정 후보 생성 단계는 추정된 오류 후보에 대해 대체 가능한 후보 단어 또는 후보 표현구들의 리스트를 생성한다. 이때, 후보 단어 또는 후보 표현구를 생성하기 위하여 목적언어의 사전 또는 인터넷을 통한 검색결과가 사용될 수 있다.
상기 예에서, 번역문 오류 추정기(230)는 "ate"의 원문 단어인 "먹다"의 또 다른 번역 후보들을 대역어 사전 등을 통해 검색함으로써 "took", "had" 및 "drunk" 과 같은 번역 후보들을 생성할 수 있다.
마지막으로, 수정 후보 정렬 단계는 생성된 하나 이상의 수정 후보들에 대하여 단어 신뢰도값을 계산하여, 신뢰도가 기준치 이상인 번역 후보들만을 신뢰도가 높은 순서대로 정렬한다. 수정 후보 생성 단계 및 수정 후보 정렬 단계를 통해 제공된 오류 추정 부분의 수정 후보들은 후술하는 바와 같이 사용자 인터페이스 모듈을 통해 사용자에게 제공될 수 있다.
다음으로, 사용자 인터페이스 모듈(240)은 원문, 번역문 및 문장 구조 정보를 사용자(250)에게 표시한다. 이때, 사용자 인터페이스 모듈(240)은 각각의 원문 오류 추정기(220) 및 번역문 오류 추정기(230)를 통해 제공된 원문 오류 추정 부분 및 번역문 오류 추정 부분을 사용자가 식별할 수 있도록 표시하고, 사용자(250)가 특정 번역 오류 추정 부분에 마우스 포인터를 위치시키면 그에 대응하는 원문 또는 번역문의 부분 및 관련 오류 추정 정보 등을 표시할 수 있다. 일 실시예에서, 사용자 인터페이스 모듈(240)은 오류 추정 부분을 사용자가 식별할 수 있도록 표시하기 위해 해당 부분의 글자 색을 변경하거나 폰트를 변경하는 방법을 사용할 수 있다.
또한, 사용자 인터페이스 모듈(240)은 사용자의 개입을 용이하게 하기 위해 사용자 인터페이스를 통해 표시되는 원문창, 번역문창 및 문장 구조 정보창에서 사용자가 직접 오류를 수정하도록 할 수 있다. 예를 들어, 사용자는 마우스 드래그 앤 드롭을 이용하여 문장 구조 정보창의 단문단위 정보를 수정하거나, 사용자 인터페이스 모듈(240)이 중의성이 있는 부분에 대한 질문을 제공하면 사용자가 상기 질문에 답을 하는 방법으로 오류를 수정할 수 있다. 또한, 사용자는 원문창 또는 번역문창에서 원문 또는 번역문의 해당 부분을 직접 편집할 수 있다.
사용자(250)가 사용자 인터페이스 모듈(240)을 통해 번역의 결과를 수정하면, 사용자 인터페이스 모듈(240)은 사용자의 수정 사항을 기계 번역 엔진(210)에 실시간으로 전달하고, 상기 번역 과정을 통해 재번역된 결과를 다시 사용자(250)에게 제공한다. 이를 통해, 사용자(250)는 수정에 따른 번역의 정확도를 즉각적으로 파악할 수 있고, 재번역 결과에 기반하여 추가적인 오류 수정을 수행할 수 있다.
도 3은 본 발명의 일 실시예에 따른 IMT 시스템의 전체적인 사용자 인터페이스를 나타내는 도면이다.
도 3을 참조하면, 사용자 인터페이스 모듈을 통해 표시되는 사용자 인터페이스는 번역하고자 하는 원문을 표시하는 원문창(310), 원문에 대한 번역문을 표시하는 번역문창(320) 및 원문 및 번역문의 문장 구조 및 문장을 구성하는 구절들의 대 응관계를 표시하는 문장 구조 정보창(330)을 포함한다. 문장 구조 정보창(330)은 번역 과정에서 생성된 원문 분석 정보 및 번역문 생성 정보에 기반하여 원문 및 번역문의 문장 구조 및 대응 관계를 단문 단위의 들여쓰기 형식으로 표시한다. 단문 범위 내에서의 보다 자세한 분석정보를 원할 경우, 사용자는 해당 단문의 트리 확장 정보를 클릭하여 해당 단문의 자세한 구문 분석 정보를 제공받을 수 있다. 또한, 사용자는 단문 단위의 분석 정보 및 트리 확장 정보를 이용하여 잘못된 구문 분석 결과를 문장 구조 정보창(330)에서 직접 수정할 수 있다.
예를 들어, 원문창(310)에는 국어 문장이 표시되고, 번역문창(320)에는 상기 국어 문장을 번역한 영어 문장이 표시된다. 문장 구조 정보창(330)에는 상기 국어 문장이 4개의 단문으로 나누어 표시되고, 각각의 단문에 대한 영어 번역문의 대응 구절이 함께 표시된다. 또한, 문장 구조 정보창(330)에는 단문들간의 의존 관계 정보가 들여쓰기의 형태로 표시되고, 단문 내의 (*)표시는 (*)표시로 시작된 단문이 삽입되는 위치를 표시한다.
도 4는 본 발명의 일 실시예에 따른 IMT 시스템에서 원문 및 번역문 간의 연관 관계를 표시하는 사용자 인터페이스를 나타내는 도면이다.
도 4를 참조하면, 사용자 인터페이스 모듈은 사용자가 번역 오류를 용이하게 파악할 수 있도록 마우스 포인터와 같은 사용자 입력에 기반하여 원문 및 번역문의 각 단어 또는 구절 간의 대응 관계를 표시할 수 있다. 일 실시예에서, 사용자 인터페이스 모듈은 원문 및 번역문의 대응하는 부분의 글자색 또는 폰트를 변경하는 방식으로 해당 부분을 강조할 수 있다.
예를 들어, 사용자가 원문창(410)의 '최적 경로'에 마우스 포인터를 위치시키면, 원문창(410)의 '최적 경로' 및 이에 대응하는 번역문창(420)의 'the optimal paths', 문장 구조 정보창(430)의 '최적 경로' 및 'the optimal paths'가 별도의 폰트로 표시된다.
도 5는 본 발명의 일 실시예에 따른 IMT 시스템에서 원문 오류 추정 부분 및 오류 추정 정보를 제공하는 사용자 인터페이스를 나타내는 도면이다.
도 5를 참조하면, 사용자 인터페이스 모듈은 원문 오류 추정기에 의해 결정된 원문 오류 추정 부분을 사용자가 식별할 수 있도록 표시한다. 이 때, 사용자 인터페이스 모듈은 마우스 포인터와 같은 사용자의 입력에 기반하여 오류 추정 정보를 표시하고, 원문 오류 추정 부분과 대응하는 번역문의 부분을 사용자에게 표시한다.
예를 들어, 사용자가 원문 오류 추정 부분에 마우스 포인터를 위치시키는 경우, 오류 추정 정보를 표시하는 별도의 팝업창(540)이 생성된다. 이와 동시에, 번역문창(520) 및 문장 구조 정보창(530)에서는 원문 오류 추정 부분에 대응하는 원문 또는 번역문 부분들의 폰트가 변경됨으로써 사용자가 상기 대응 부분을 용이하게 식별할 수 있다.
도 5에서 "측정을~ 측정하다"와 같이 의존 관계 내에 같은 어간('측정')을 가진 명사와 동사가 같은 문장에 존재하는 경우, 원문 오류 추정기는 이를 원문 오류 추정 부분으로 결정하고 이에 따라 원문창(510)은 해당 부분의 폰트를 변경하여 표시한다. 사용자가 원문창(510) 상의 해당 부분에 마우스 포인터를 위치시키면, 번역문창(520) 및 문장 구조 정보창(530)은 대응 부분의 폰트를 변경하여 표시하고, 팝업창(540)은 해당 오류에 대한 오류 추정 정보를 표시한다. 따라서, 사용자는 이러한 오류 추정 정보를 참조하여 원문 오류 추정 부분을 용이하게 수정할 수 있다.
팝업창(540)에 표시되는 오류 추정 정보는 문장의 길이가 지나치게 긴 경우 분절 가능점의 표시, 철자 오류나 띄어쓰기 오류가 예상되는 부분에 대한 사용자의 확인 요청, 보조사의 격관계 파악이 어려운 경우 이에 대한 해소 요청, 병렬구조 분석에 대한 구조적 중의성의 해소 요청, 관형절이 지나치게 중첩되어 있을 경우 이에 대한 수정 요청 및 이중 주어나 이중 목적어를 취하지 못하는 용언이 이중 주어 또는 이중 목적어를 취한 경우 이에 대한 수정 요청을 포함할 수 있다.
도 6은 본 발명의 일 실시예에 따른 IMT 시스템에서 오번역이 의심되는 단어를 수정하는 사용자 인터페이스를 나타내는 도면이다.
도 6을 참조하면, 사용자 인터페이스 모듈은 마우스 포인터와 같은 사용자의 입력에 기반하여 오번역이 의심되는 단어에 대한 번역 단어 후보를 표시할 수 있다.
예를 들어, 사용자가 원문창(610)에서 오번역이 의심되는 단어로써 '장비'에 마우스 포인터를 위치시키면 '장비'에 대응하는 번역 단어 후보를 표시하는 팝업창(640)이 생성된다. 이와 동시에, 번역문창(620) 및 문장 구조 정보창(630)에서 마우스 포인터가 위치한 '장비'에 대응하는 부분의 폰트가 변경된다. 사용자는 팝업창(640)을 통해 표시된 번역 단어 후보 중 하나를 선택하여 오번역이 의심되는 단어를 수정할 수 있고, 사용자의 수정사항은 번역의 결과에 즉시 반영된다.
더불어, 사용자는 마우스를 이용하여 수정할 단어의 범위를 지정할 수 있다. 예를 들어, 사용자가 원문창(610)에서 수정해야 할 후보로 표시된 '장비'가 아니라 '인터넷 구성 장비' 전체를 수정하려는 경우, 사용자가 마우스를 드래그하여 해당 부분을 선택하면 사용자 인터페이스 모듈은 이를 새로운 범위로 인식하고 팝업창(640)을 통해 '인터넷 구성 장비' 에 대응하는 영어 단어 후보를 다시 표시한다.
도 7은 본 발명의 일 실시예에 따른 IMT 시스템에서 번역문 오류 추정 부분을 표시하는 사용자 인터페이스를 나타내는 도면이다.
도 7을 참조하면, 사용자 인터페이스 모듈은 번역문 오류 추정기에 의해 결정된 번역문 오류 추정 부분을 사용자가 식별할 수 있도록 표시할 수 있다. 이때 사용자 인터페이스 모듈은 마우스 포인터와 같은 사용자의 입력에 기반하여 번역문 오류 추정 부분에 대한 번역 구문 후보를 표시하고, 번역문 오류 추정 부분과 대응하는 원문의 부분을 사용자에게 표시할 수 있다.
또한, 사용자 인터페이스 모듈은 번역문 오류 추정 부분에 대응하는 원문 부분을 구성하는 단어들의 번역 단어 후보들을 조합하여 번역문과 같은 언어로 작성된 문서를 다수 포함하는 데이터베이스(예를 들어, 영어 논문 데이터베이스)를 검색하고, 검색 결과에 기반하여 오류 추정 부분에 대한 번역 구문 후보를 표시할 수 있다. 일 실시예에서, 상기 검색 결과는 번역 단어 후보 조합의 검색 빈도를 포함할 수 있다.
예를 들어, 번역문창(720)에서 번역문 오류 추정 부분으로 표시된 'a necessity is occurring'에 사용자가 마우스 포인터를 위치시키면, 원문창(710) 및 문장 구조 정보창(730)에서 상기 번역문 오류 추정 부분에 대응하는 부분의 폰트가 변경됨과 동시에, 번역문 오류 추정 부분에 대응하는 원문인 '필요성이 크게 대두되고 있다'에서 '필요성'에 대응하는 영어 단어인 'necessity'와 '대두되다'에 대하는 영어 단어인 'occur', 'come to the front', 'raise', 'show itself' 간의 조합을 이용하여 영어 논문 데이터베이스을 검색하고, 상기 검색의 결과가 팝업창(740)에 표시될 수 있다. 따라서, 사용자는 팝업창(740)을 통해 검색 결과로서 표시된 번역 구문 후보들(예를 들어, 'necessity was raised', 'necessity has been raised')을 참조하여 오류 추정 부분을 수정할 수 있다.
한편, 번역문 오류 추정 부분이 하나의 단어로 구성되는 경우, 사용자 인터페이스 모듈은 상기 번역문 오류 추정 부분을 구성하는 단어를 직접 데이터베이스로부터 검색하고 그 검색 결과를 팝업창을 통해 표시할 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.