KR20200113693A - 문장의 중의성을 해결하고 생략된 문법 요소를 함께 표시하는 사용자 맞춤형 번역 방법 및 그 장치 - Google Patents

문장의 중의성을 해결하고 생략된 문법 요소를 함께 표시하는 사용자 맞춤형 번역 방법 및 그 장치 Download PDF

Info

Publication number
KR20200113693A
KR20200113693A KR1020190034245A KR20190034245A KR20200113693A KR 20200113693 A KR20200113693 A KR 20200113693A KR 1020190034245 A KR1020190034245 A KR 1020190034245A KR 20190034245 A KR20190034245 A KR 20190034245A KR 20200113693 A KR20200113693 A KR 20200113693A
Authority
KR
South Korea
Prior art keywords
sentence
graph
language
word
node
Prior art date
Application number
KR1020190034245A
Other languages
English (en)
Other versions
KR102299001B1 (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 PCT/KR2020/004053 priority Critical patent/WO2020197257A1/ko
Publication of KR20200113693A publication Critical patent/KR20200113693A/ko
Application granted granted Critical
Publication of KR102299001B1 publication Critical patent/KR102299001B1/ko
Priority to US17/484,990 priority patent/US20220012437A1/en

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/42Data-driven translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis

Landscapes

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

Abstract

본 발명은 문장 요소를 가시적으로 표시하고 이를 이용하여 번역을 수행하는 방법 및 장치에 대한 기술이 제공된다. 본 발명의 일 실시예에 따른 문장 번역 방법은 제1 언어의 제1 문장의 데이터를 얻되, 상기 제1 문장은 제1 형태소 및 제2 형태소를 포함하는 것인, 단계, 상기 제1 문장을 표현하는 제1 그래프를 생성하되, 상기 제1 그래프의 노드(node)는 상기 제1 문장의 각각의 제1 형태소에 대응되는 것이고, 상기 제1 그래프의 간선(edge)은 상기 제1 문장의 각각의 제2 형태소에 대응되는 것이며, 상기 제1 그래프를 제1 순서로 순회(traverse)하면서 각 노드와 각 간선에 대응되는 표현을 연결(concatenation)하면 상기 제1 문장이 완성되도록 상기 제1 그래프의 노드 및 간선을 연결하는 단계, 상기 제1 그래프의 각 노드에 대응되는 제1 언어의 표현과 각 간선에 대응되는 제1 언어의 표현을 각각 제2 언어의 표현으로 대체하는 단계, 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이한 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계 및 상기 제1 문장의 제2 언어로의 번역 결과로서 상기 제2 문장을 출력하는 단계를 포함한다.

Description

문장의 중의성을 해결하고 생략된 문법 요소를 함께 표시하는 사용자 맞춤형 번역 방법 및 그 장치{A CUSTOMIZED TRANSLATION METHOD AND APPARATUS FOR SOLVING AMBIGUITIES IN SENTENCES AND DISPLAYING OMITTED GRAMMATICAL ELEMENTS TOGETHER}
본 발명은 문장 요소를 가시적으로 표시하고 이를 이용하여 번역을 수행하는 방법 및 장치에 관한 것이다. 보다 자세하게는, 문장을 구성하는 문장 요소 및 문장 요소간 관계를 가시적으로 표시하고 이를 이용해 명확하고 정확한 번역을 수행하는 방법 및 장치 관한 것이다.
문장은 단어, 어순 및 구조 등 다양한 문장 요소로 구성되어 있다. 하지만 언어마다 문장을 이루는 문장 요소가 상이하므로 다양한 문장을 데이터베이스화 하기에는 한계가 존재한다.
특히 최근 컴퓨터에 의해 수행되는 기계 번역은 통계 기반 기계 번역 및 인공신경망 기계 번역이 주를 이루고 있다. 상기 통계 기반 기계 번역과 인공신경망 기계 번역은 딥 러닝을 활용하기 때문에, 컴퓨터는 입력된 학습 데이터를 바탕으로 스스로 학습한다. 따라서, 정확도가 높은 기계번역을 위하여는 다량의 학습데이터가 필수적이고, 다량의 학습데이터를 처리하기 위하여 오랜 시간의 학습 시간이 필요하다.
또한 컴퓨터는 사용자에게 번역 결과만을 표시할 뿐 번역 과정 및 번역 방법에 대한 정보는 표시하지 않는다. 번역 과정이 가시적으로 표시되지 않으므로, 사용자는 번역이 올바르게 수행되었는지 확인할 수 없고, 사용자는 번역 결과가 마음에 들지 않더라도 문장의 어떤 문장 요소를 수정해야 하는지 알 수 없다. 따라서 이를 해결하기 위한 기술의 제공이 요구된다.
한국공개특허 2018-0101943 (2018.09.14)
본 발명이 해결하고자 하는 기술적 과제는, 문장 요소를 노드와 간선으로 표시하여 문장의 어순 및 문장 요소와의 관계를 가시적으로 파악할 수 있게 하는 방법 및 그 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 문장에 표시되어 있지 않은 문장 요소가 문장에서 갖는 의미를 가시적으로 파악할 수 있게 하는 방법 및 그 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 문장 요소를 가시화하여 표시한 번역 결과에 대한 사용자의 피드백을 받아 정확한 번역 결과를 제공하는 방법 및 그 장치를 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 문장 번역 방법은 제1 언어의 제1 문장의 데이터를 얻되, 상기 제1 문장은 제1 형태소 및 제2 형태소를 포함하는 것인, 단계, 상기 제1 문장을 표현하는 제1 그래프를 생성하되, 상기 제1 그래프의 노드(node)는 상기 제1 문장의 각각의 제1 형태소에 대응되는 것이고, 상기 제1 그래프의 간선(edge)은 상기 제1 문장의 각각의 제2 형태소에 대응되는 것이며, 상기 제1 그래프를 제1 순서로 순회(traverse)하면서 각 노드와 각 간선에 대응되는 표현을 연결(concatenation)하면 상기 제1 문장이 완성되도록 상기 제1 그래프의 노드 및 간선을 연결하는 단계, 상기 제1 그래프의 각 노드에 대응되는 제1 언어의 표현과 각 간선에 대응되는 제1 언어의 표현을 각각 제2 언어의 표현으로 대체하는 단계, 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이한 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계 및 상기 제1 문장의 제2 언어로의 번역 결과로서 상기 제2 문장을 출력하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제1 형태소가 제1 문장에 포함되지 않은 경우도 상기 제1 형태소에 대응되는 노드를 포함하는 제1 그래프를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제1 형태소가 무형대명사(null pronoun) 및 동일 명사구로서 삭제된 제1 형태소 중 어느 하나인 경우, 상기 제1 형태소에 대응되는 노드를 포함하는 제1 그래프를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제2 형태소가 형용사 및 한정사 중 어느 하나인 경우, 상기 제2 형태소에 대응되는 자기 간선을 포함하는 상기 제1 그래프를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제2 형태소가 동사 및 전치사 중 어느 하나인 경우, 상기 제2 형태소에 대응되는 연결 간선을 포함하는 상기 제1 그래프를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 제1 그래프의 간선을 생성하는 단계는, 상기 제2 형태소가 상기 제1 문장에 포함되지 않은 경우도 상기 제2 형태소에 대응되는 간선을 포함하는 제1 그래프를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제2 형태소가 제로 접합부(zero copula)인 경우 상기 제2 형태소에 대응되는 간선을 포함하는 제1 그래프를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 간선에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선의 출발지 및 목적지 중 어느 하나 이상을 변경하는 단계 및 상기 변경된 간선을 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 다른 노드와 병합하는 단계 및 상기 병합된 노드를 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하는 단계 및 상기 분할된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하여 두개 이상의 새로운 노드로 대체되는 단계; 및 상기 대체된 두개 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는,상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하여 하나 이상의 노드 및 하나 이상의 간선으로 대체되는 단계; 및 상기 대체된 하나 이상의 노드 및 하나 이상의 간선을 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 그래프를 생성하는 단계는, 상기 제1 그래프의 간선 및 노드 중 어느 하나에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선과 노드가 병합되어 새로운 노드로 대체되는 단계; 및 상기 대체된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제2 언어의 제2 문장을 얻는 단계는, 상기 각 노드에 대응되는 제2 언어의 표현 또는 각 간선에 대응되는 제2 언어의 표현중 어느 하나 이상이 생략 가능한 형태소인 경우, 상기 생략 가능한 제2 언어의 표현을 연결하지 않고, 상기 제2 언어의 제2 문장을 얻는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제2 언어의 제2 문장을 얻는 단계는, 상기 각 노드에 대응되는 제2 언어의 표현이 무형 대명사 또는 동일 명사구로서 삭제된 경우 중 어느 하나 이거나, 상기 간선에 대응되는 제2 언어의 표현이 제로 접합부인 경우 중 어느 하나인 경우 상기 생략 가능한 제2 언어의 표현을 연결하지 않고, 상기 제2 언어의 제2 문장을 얻는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제2 언어의 제2 문장을 얻는 단계는, 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이하고, 이전 사용자의 번역 기록을 이용하여 지정된 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제2 언어의 제2 문장을 얻는 단계는, 기 지정된 사용자의 입력을 수신하는 것에 응답하여, 상기 제1 그래프를 상기 제2 순서와 적어도 일부는 상이한 제3 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 다른 실시예에 따른 문장 번역 방법은 제1 언어로 표현된 제1 단어의 의미를 포함하는 상기 제1 단어의 제1 태그 정보를 생성하는 단계, 상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 단계 및 상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제4 문장의 데이터를 제1 단어의 제3 태그 정보를 생성하는 단계는, 상기 제1 단어를 포함하는 제3 문장의 데이터를 얻는 것에 응답하여, 상기 제3 문장의 데이터를 이용하여 상기 제1 단어의 제2 태그 정보를 생성하되, 상기 제1 단어의 제2 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 단계, 상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제2 태그 정보를 포함하는 것인, 단계 및 상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 단어의 제1 태그 정보를 생성하는 단계는, 상기 제1 언어에만 존재하는 상기 제1 단어의 속성과 관련된 정보를 더 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 단어의 제1 태그 정보를 생성하는 단계는, 상기 제1 단어가 성별에 따라 다르게 표현되지 않는 경우, 상기 제1 단어의 성별 데이터를 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함할 수 있다.
일 실시예에 따른 상기 제1 단어의 제1 태그 정보를 생성하는 단계는, 상기 제1 언어 및 제2 언어 중 어느 하나 이상에 높임말이 존재하는 경우, 제1 단어의 계급이 포함된 계급 정보를 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 문장 번역 장치는 문장 번역 프로그램이 로드 되는 메모리 및 상기 메모리에 로드된 문장 번역 프로그램을 실행하는 프로세서를 포함하되, 문장 번역 프로그램은, 제1 언어의 제1 문장의 데이터를 얻되, 상기 제1 문장은 제1 형태소 및 제2 형태소를 포함하는 것인, 인스트럭션(instruction), 상기 제1 문장을 표현하는 제1 그래프를 생성하되, 상기 제1 그래프의 노드(node)는 상기 제1 문장의 각각의 제1 형태소에 대응되는 것이고, 상기 제1 그래프의 간선(edge)은 상기 제1 문장의 각각의 제2 형태소에 대응되는 것이며, 상기 제1 그래프를 제1 순서로 순회(traverse)하면서 각 노드와 각 간선에 대응되는 표현을 연결(concatenation)하면 상기 제1 문장이 완성되도록 상기 제1 그래프의 노드 및 간선을 연결하는 인스트럭션, 상기 제1 그래프의 각 노드에 대응되는 제1 언어의 표현과 각 간선에 대응되는 제1 언어의 표현을 각각 제2 언어의 표현으로 대체하는 인스트럭션, 상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이한 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 인스트럭션 및 상기 제1 문장의 제2 언어로의 번역 결과로서 상기 제2 문장을 출력하는 인스트럭션을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 문장 번역 장치는 문장 번역 프로그램이 로드 되는 메모리 및 상기 메모리에 로드된 문장 번역 프로그램을 실행하는 프로세서를 포함하되, 문장 번역 프로그램은, 제1 언어로 표현된 제1 단어의 의미를 포함하는 상기 제1 단어의 제1 태그 정보를 생성하는 인스트럭션(instruction), 상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 인스트럭션 및 상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 인스트럭션을 포함할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 그래프를 이용하여 입력데이터의 의미를 파악하는 방법에 대한 순서도이다.
도 2 는 본 발명의 일 실시예에 따른 문장을 그래프로 가시화하여 번역하는 방법에 대한 순서도이다.
도 3 은 도 1 의 일부 동작을 상세히 설명하기 위한 순서도이다.
도 4 는 도 3 의 일부 동작을 상세히 설명하기 위한 순서도이다.
도 5 는 도 4 의 일부 동작을 상세히 설명하기 위한 순서도이다.
도 6 내지 도 7은 본 발명의 일 실시예에 따른 특정 단어를 공통적으로 포함하는 복수개의 문장을 해석하는 방법을 설명하기 위한 도면이다.
도 8 은 본 발명의 일 실시예에 따른 문장을 행렬의 형태로 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 9 내지 도 10 은 도 2의 일부 동작을 상세히 설명하기 위한 도면이다.
도 11 은 본 발명의 일 실시예에 따른 문장을 노드와 간선으로 구성된 그래프 형태로 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 12 내지 도 14 는 본 발명의 일 실시예에 따른 생략되는 형태소를 포함하는 문장을 가시화하여 표시하는 방법을 설명하기 위한 도면이다.
도 15 는 본 발명의 일 실시예에 따른 문장을 해석하는 순서 및 간선에 대응되는 형태소를 그래프에서 표시하도록 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 16 은 본 발명의 일 실시예에 따른 문장을 도형으로 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 17 은 본 발명의 일 실시예에 따른 간선에 대응되는 형태소를 그래프에서 표시하지 않도록 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 18 내지 도 19 는 본 발명의 일 실시예에 따른 높임말을 포함하는 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 20 은 본 발명의 일 실시예에 따른 성별에 따른 태그를 포함하는 단어를 포함하는 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 21 은 본 발명의 일 실시예에 따른 동일한 의미를 갖는 복수개의 능동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 22 는 본 발명의 일 실시예에 따른 동일한 의미를 갖는 복수개의 수동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 23 은 본 발명의 일 실시예에 따른 복수개의 문장 각각을 이미지로 번역하는 방법을 설명하기 위한 도면이다.
도 24 는 도 1 의 일부 동작을 상세히 설명하기 위한 순서도이다.
도 25 는 본 발명의 일 실시예에 따른 가시화된 수동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 26 은 본 발명의 일 실시예에 따른 가시화된 수동태 문장을 가시화하여 번역하는 방법을 설명하기 위한 도면이다.
도 27 은 본 발명의 일 실시예에 따른 가시화된 문장을 이용하여 각 노드 및 각 간선 마다 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 28 은 본 발명의 일 실시예에 따른 중의적 의미를 갖는 단어 또는 복합어를 포함하는 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 29 내지 도 30 은 본 발명의 일 실시예에 따른 번역 결과를 변경할 수 있는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 31 은 본 발명의 일 실시예에 따른 간선의 방향을 변경하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 32 는 본 발명의 일 실시예에 따른 특정 형태소를 자동으로 수정하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 33 은 본 발명의 일 실시예에 따른 어순을 수정하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 34 는 본 발명의 일 실시예에 따른 그래프로 가시화된 문장의 간선을 삭제하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 35 내지 도 36 은 본 발명의 일 실시예에 따른 문장이 가시화된 그래프의 형태를 변경하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 37 내지 도 39 는 본 발명의 일 실시예에 따른 중의적 의미를 갖는 단어의 해석 방법을 변경하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 40 은 본 발명의 일 실시예에 따른 생략된 형태소의 해석을 수정하는 UI를 포함하는 GUI를 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 41 은 본 발명의 일 실시예에 따른 제1 언어에서 명시되지 않은 문장 요소를 포함하여 제2 문장을 가시화하여 해석하는 방법을 설명하기 위한 도면이다.
도 42 는 본 발명의 일 실시예에 따른 그래프로 가시화된 문장 번역 시스템의 구성도이다.
도 43 내지 도 45 는 본 발명의 일 실시예에 따른 이전의 번역 기록을 이용하여 문장을 가시화하여 번역을 수행하는 방법을 설명하기 위한 도면이다.
도 46 은 본 발명의 일 실시예에 따른 가시화된 문장을 이용하여 번역을 수행하는 장치의 하드웨어 블록도이다.
도 47 은 본 발명의 일 실시예에 따른 가시화된 문장을 이용하여 번역을 수행하는 장치의 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
다양한 형태의 데이터(예를 들어, 영상, 사진, 텍스트, 소리 또는 미가공 데이터)는 각각에 대한 전처리를 통해 텍스트 형태의 문장으로 획득될 수 있다. 특히, 텍스트 형태의 문장은 특정 언어로 표현되기 때문에, 상기 문장을 사용자가 이해하기 위하여는 사용자가 원하는 언어로 상기 복수개의 문장의 번역을 수행하여야 한다.
하지만 사람이 전혀 관여하지 않는 종래 기계 번역에서 부자연스럽거나 잘못된 번역 결과가 생성된 경우, 사용자가 직접 번역 결과를 수정하거나, 부자연스러운 상태의 문장을 그대로 사용할 수 밖에 없다는 한계가 존재하였다.
기존의 번역 기술은 문장이 번역되는 방법 및 과정에 대한 정보를 전혀 표시하지 못하므로, 부자연스럽거나 잘못된 번역 결과가 도출되어도 사용자가 번역 과정에 대한 피드백을 할 수 없기 때문이다.
본 발명의 몇몇 실시예에 따른 문장 번역 방법을 이용하는 경우, 사용자는 번역이 도출된 과정을 확인하고, 번역 과정 내에 존재하는 오번역의 원인을 수정함으로써 더욱 완성도 높은 번역이 수행될 수 있다.
이하 도 1을 참조하여 다양한 입력 데이터를 이용하여 상기 입력 데이터에 대응되는 문장의 의미를 파악하는 방법에 대하여 상세히 설명한다.
단계 S10에서 다양한 형태의 입력 데이터가 수신될 수 있다. 입력 데이터의 종류는 예를 들어 영상, 사진, 텍스트, 소리 및 다양한 종류의 미가공 데이터일 수 있다.
단계 S20에서 상기 입력 받은 다양한 형태의 데이터가 전처리 되어 텍스트 형태의 하나 이상의 문장으로 변환될 수 있다. 예를 들어 사용자의 음성 데이터의 경우 STT(Speech To Text)를 사용하여 텍스트 형태로 변환될 수 있고, 이미지 또는 동영상의 경우 객체 인식 기술 등을 사용하여 컨텐츠의 내용이 텍스트 형태로 변환될 수 있다.
이후 단계 S30에서 상기 텍스트 형태의 문장이 형태소와 같은 작은 문장 요소 단위로 분할 되고, 상기 하나 이상의 문장 및 단어 각각의 의미가 해석될 수 있다.
단계 S40에서 문장에 대응되는 그래프가 생성될 수 있다.
단계 S50에서 상기 문장에 대응되는 그래프를 이용하여 문장의 내용이 파악될 수 있다. 본 발명의 몇몇 실시예에 따르면 상기 그래프를 이용하여 다른 언어의 표현으로 상기 그래프에 대응되는 문장을 번역할 수 있고, 상기 그래프에 대응되는 컨텐츠를 생성하여 복수개의 그래프에 대응되는 문장의 내용에 상응하는 애니메이션이 생성될 수도 있다. 또한 그래프 형태로 문장을 표현함으로써 상기 문장의 의미 및 구성이 체계적으로 데이터베이스화 될 수 있고, 문장의 데이터베이스화를 통해 사람이 아닌 기계가 상기 문장의 의미를 체계적으로 분석할 수 있다.
이하 도 2를 참조하여 본 발명의 일 실시예에 따른 문장을 가시화하여 번역하는 방법에 대하여 설명한다.
단계 S100에 따르면 획득한 제1 문장은 형태소 단위로 분할될 수 있다.
상기 제1 문장은 외부 서버로부터 수신될 것일 수 있고, 이미 획득된 문장일 수 있다. 또한 제1 문장은 다양한 기술을 통하여 형태소 단위로 분할될 수 있다. 종래 자연어처리 모델이 이용될 수 있고 딥 러닝 기반의 형태소 분석기가 이용될 수도 있다. 형태소 분할 방법은 이에 한하지 않고 통상의 기술자가 이용할 수 있는 다양한 형태소 분석 방법이 모두 이용될 수 있다.
예를 들어 "나는 너를 사랑한다"라는 문장이 획득된 경우, 단계 S100에서 "나/는/너/를/사랑한다"와 같이 형태소 단위로 분할될 수 있다.
또한 본 발명의 몇몇 실시예에 따라 문장은 명사 형태소와 명사가 아닌 그 외의 기타 형태소로 분류될 수 있다. 다만 이는 문장의 형태소를 구별하는 기준의 예시일 뿐 반드시 본 발명의 몇몇 실시예에 따른 문장 요소가 명사 형태소와 명사가 아닌 형태소로 구분되는 것은 아님에 유의한다.
상기 기타 형태소는 다시 명사를 수식하는 형태소와, 명사간 관계를 규정하는 형태소로 분류될 수 있다. 상기 명사를 수식하는 기타 형태소는 예를 들어 형용사 또는 한정사 일 수 있고, 명사간 관계를 규정하는 형태소는 동사 또는 전치사일 수 있다.
이에 따라 "나는 너를 사랑한다"에서 "나"와 "너"는 명사 형태소이고, "는"과 "를"은 기타 형태소 중 명사를 수식하는 형태소이며, "사랑한다"는 기타 형태소 중 명사간 관계를 규정하는 형태소일 수 있다.
단계 S110에서 특정 언어에 따라 문장에 명시적으로 표시되지 않는 형태소에 대하여도 분석될 수 있다. 문장에 명시적으로 표시되지 않는 형태소는 예를 들어 무형대명사(null- pronoun), 동일 명사구로써 삭제된 경우(equi-NP deletion) 또는 제로 접합부(zero-copula)일 수 있다. 다만 이에 한하지 않고 문장에 명시적으로 표시되지 않는 형태소는 다양한 언어에서 발생할 수 있는 모든 생략 가능한 단어가 모두 포함된다.
예를 들어 "John wants to go home"이라는 문장이 획득된 경우, 단계 S110에서 "go"의 의미상 주어로써 문장에서 생략된 "John"이 분석됨으로써 문장"John wants (John )to go home"이 획득될 수 있다.
단계 S120에서 분할된 형태소 중 명사 형태소가 그래프의 노드(node)와 대응될 수 있다. 예를 들어, "나는 너를 사랑한다"라는 문장에서 대명사인 "나"와 "너"가 그래프의 노드와 대응될 수 있다. 다만 전술한 바, 노드에 대응되는 품사로써 명사는 예시일 뿐 명사가 아닌 다른 품사가 노드에 대응될 수도 있음에 유의한다.
단계 S130에서 분할된 형태소 중 명사가 아닌 기타 형태소가 그래프의 간선(edge)과 대응될 수 있다. 상기 간선은 자기 간선(self-loop edge)와 연결 간선(connected edge)을 포함할 수 있다. 각각의 간선에 대한 설명은 이하 도 9에서 상세히 설명한다.
예를 들어 "John wants to go home"이라는 문장에서 "wants"와 "to go "는 그래프의 간선과 대응될 수 있다.
단계 S140에서 상기 문장의 각 형태소에 대응된 노드와 간선으로 구성된 그래프가 생성될 수 있다. 따라서 획득된 제1 문장에 대응하여 1개의 제1 그래프가 생성될 수 있다. 그래프를 생성하는 방법에 관하여는 이하 대응되는 도면에서 상세히 설명한다.
단계 S150에서 제1 그래프의 노드와 간선에 대응되는 문장의 형태소의 표현이 번역하고자 하는 언어의 표현으로 대체될 수 있다. 본 발명의 몇몇 실시예에 따르면 그래프의 각 노드 및 각 간선에 대응되는 형태소의 표현이 제1 언어에서 제2 언어로 대체되는 경우 각각의 사전적 의미에 따라 번역될 수 있고, 이전의 번역 기록 또는 이전 번역된 문장의 의미를 이용하여 번역될 수 있다. 번역이 되는 방법에 대하여는 이하 도 4내지 도 7에서 상세히 설명한다.
도 S160에서 제1 언어의 표현에서 제2 언어의 표현으로 대체된 형태소와 대응된 그래프를 이용하여 제1 문장과 대응되는 제2 언어의 문장이 출력될 수 있다. 제2 언어의 문장은 상기 그래프를 순회(traverse)하는 순서에 따라 어순이 결정될 수 있다. 그래프를 순회하는 순서는 과거 번역 기록을 통해 정해진 순서, 머신 러닝을 통해 획득한 순서 또는 사용자가 지정한 순서일 수 있다. 상세한 설명은 이하 대응되는 도면에서 상세히 설명한다.
도 3을 참조하여 본 발명의 다른 실시예에 따라 도 1 의 단계 S100을 상세히 설명한다.
단계 S101에서, 획득된 제1 문장의 형태소의 의미가 파악될 수 있다. 상기 형태소의 의미란 사전적 의미일 수 있고, 복수개의 문장을 이용하여 파악한 해당 문장에서 각각의 형태소가 갖는 고유한 의미일 수 있다. 이에 대한 상세한 설명은 이하 도 4 내지 도 7에서 후술한다.
단계 S102에서, 본 발명의 몇몇 실시예에 따라 제1 문장이 행렬 형태로 가시화될 수 있다. 예를 들어 상기 제1 문장은 명사 형태소로 이루어진 행렬과 명사가 아닌 기타 형태소로 이루어진 행렬의 곱 형태에 대응될 수 있다. 또한, 기타 형태소로 이루어진 행렬의 경우, 대각선 원소(diagonal element)는 명사를 수식하기 위한 기타 형태소에 대응되고, 비대각선 원소(non-diagonal element)는 명사와의 관계를 규정하기 위한 기타 형태소에 대응될 수 있다. 다만 전술한바, 행렬 원소 각각에 대응되는 품사는 이에 한정되지 않는다. 이에 대한 상세한 설명은 도 8에서 후술한다.
단계 S103에서 제1 문장에 표시되지 않는 형태소도 행렬의 원소로 표시될 수 있다. 이를 통해 각각의 문장과 행렬 및 그래프가 모두 대응될 수 있다.
이하, 도 4를 참조하여 번역을 위해 문장의 의미를 해석하는 방법에 대하여 상세히 설명한다.
복수개의 문장에 대한 번역을 수행하는 경우, 본 발명의 몇몇 실시예에 따라 특정 문장의 의미를 해석할 때, 이전의 문장의 의미를 이용하여 상기 특정 문장의 의미가 해석될 수 있다.
예를 들어 제1 문장과 제2 문장이 동일하거나 관련된 의미의 형태소를 포함하는 경우 상기 제1 문장과 제2 문장을 재해석한다. 예를 들어 제2 문장을 해석함에 있어 상기 제1 문장의 의미가 이용될 수 있고, 제2 문장에 상기 제1 문장과 동일한 형태소가 포함되어 있는 경우 제2 문장의 의미를 이용하여 제1 문장을 재해석할 수 있다.
이와 같이 복수개의 문장에 대한 의미를 이용하여 최종 문장의 번역을 수행함으로써 동음이의어 또는 중의적 표현과 같은 번역 오류가 발생할 수 있는 부분에 대한 명확한 의미 파악이 가능하다.
구체적으로 단계 S200에서 제1 문장의 의미를 해석하고,단계 S201에서 상기 제1 문장의 해석 결과를 저장할 수 있다. 이후, 단계 S202에서 제2 문장의 의미를 해석하고, 단계 S203에서 상기 제2 문장의 해석 결과를 저장할 수 있다.
상기 단계 S201과 단계 S203에서 저장된 제1 문장 및 제2 문장의 해석 결과를 단계 S204에서 통합하여 상기 제1 문장 및 제2 문장의 해석 결과를 이용하여 다시 제1 문장 및 제2 문장을 해석한다.
이와 같은 단계를 반복하여 복수개의 문장에 대해 단계 S205에서 최종 문장의 의미가 해석될 수 있다.
이하 도 5를 참조하여 문장 각각에 포함된 단어의 의미가 해석되는 방법에 대하여 더욱 상세히 설명한다.
먼저 단계 S210에서 획득된 문장의 의미를 파악하기 위하여 각 단어에 대한 사전적 의미를 파악한다.
그 다음 단계 S211에서 각각의 단어를 포함하는 제1 문장의 의미를 파악한 후, 단계 S212에서 상기 제1 문장에서 의미하는 해당 단어의 의미를 저장한다. 제1 문장에서 의미하는 해당 단어의 의미란, 상기 단어를 수식하거나 상기 단어와 관련된 다른 단어에 대한 정보 등을 포함할 수 있다.
예를 들어 "나의 이름은 영희 이다."라는 문장에서 "나"의 사전적 의미는 "자기 자신"이나, 상기 문장에서는 "나"의 "이름은 영희"라는 의미가 추가될 수 있다. 상기 각각의 문장마다 추가되는 각 단어의 의미는 별도의 태깅(tagging)을 통해 저장될 수 있다.
단계 S213에서, 제2 문장의 각 단어가 갖는 의미가 해석된 후, 단계 S214에서 상기 제2 문장에서 획득한 정보를 포함하는 태그 정보가 추가될 수 있다.
본 발명의 몇몇 실시예에 따르면 복수개의 문장에 공통적으로 포함된 단어의 경우 상기 복수개의 문장을 얻는 순서대로 각각의 문장에서 획득한 정보를 포함하는 태그 정보가 각각의 단어에 추가될 수 있다.
단계 S215에서, 최종적으로 획득된 모든 문장을 통해 각 단어의 의미가 파악될 수 있고, 의미가 파악된 각 단어를 이용해 각 단어를 포함하는 문장 각각의 의미도 파악될 수 있다.
이하 도 6 내지 도 7을 참조하여 각 단어의 의미 및 문장의 의미를 파악하는 과정을 상세히 설명한다.
도 6에서 문장을 입력 받기 전 "철수"라는 단어에는"사람 이름"이라는 정보가 태깅(220) 된다. 제1 문장(221)인 "철수는 해병이다"(221)라는 문장이 획득된 후, "철수"라는 단어에는 "해병"이라는 정보가 더 태깅(222) 된다. 또한 제2 문장(223)인 "철수는 배에 탑승했다"(223)라는 문장이 획득된 경우 "철수"라는 단어에는 "배에 탑승"이라는 정도가 더 태깅 되며, "배"라는 단어에는 사전적 의미인 "물에 떠서 이동할 수 있도록 만들어진 구조물"이라는 정보 외에 "철수가 탑승"이라는 정보가 더 태깅된다.
다음 제3 문장(225)인 "철수의 배가 부숴졌다"라는 문장이 획득된 경우, "철수"라는 단어에는 "배가 부숴짐"이라는 정보의 태깅이 더 추가되며, "배"라는 단어에는 "부숴짐"이라는 정보의 태깅이 더 추가된다. 제2 문장(223)에 포함된 "배"와 제3 문장(225)에 포함된 "배"는 사전적 의미가 동일하며, 문맥상 지칭하는 것이 동일하므로 제3 문장(225)이 입력되더라도 기존에 태깅 정보를 추가한 "배"라는 단어를 승계하여 태그 정보를 추가한다. 제2 문장(223)과 제3 문장(225)에 포함되는 "배"가 지칭하는 것이 동일하므로 제3 문장의 입력 후 상기 제3 문장에서 추가된 태깅 정보를 포함하는 "배"에 대한 모든 태깅 정보를 바탕으로 제2 문장을 다시 해석할 수 있다(227).
각 문장이 순서대로 획득됨에 따라 "철수"와 "배"라는 단어에 추가되는 태깅 정보의 예시는 아래와 같다.
철수(0) = (사람이름) , 철수(1) = {철수(0), 해병}, 철수(2) = {철수(1), 배[1](0)탑승}, 철수(3) = {철수(2), 배[1](1)가 부숴짐}, 배(0) = (사전적 의미 : 물에 떠서 이동할 수 있도록 만들어진 구조물), 배[1](1) = {배[1](0), 철수(1)가 탐승}, 배[1](2) = {배[1](1), 부숴짐}, 배[1](1) = 배[2](0), 배[1](2) = 배[2](1).
도 7을 참조할 때, 도 6과 달리 동음이의어인"배"라는 단어가 문장에 포함되어 있다. 이 경우, 각각의 단어별로 태그 정보가 추가된다.
예를 들어 "철수는 해병이다"라는 제1 문장(231) "철수는 배를 먹었다"라는 제2 문장(233) "철수의 배가 아프다"라는 제3 문장(235)이 획득된 경우, "철수"(230)라는 단어는 각 문장에서 동일한 의미로 계승되므로 제1 문장에 대한 정보가 태깅된 "철수"라는 단어는 "철수(1) = {해병}"(232)와 같은 정보를 갖고, 제2 문장에 대한 정보가 더 태깅된 "철수"라는 단어는 "철수(2) = {철수(1), 배[1](0)를 먹음}"(234)와 같은 정보를 가지며, 제3 문장에 대한 정보가 더 태깅된 "철수"라는 단어는 "철수(3) = {철수(2), 배[2](0)가 아픔}"(236)와 같은 정보를 가질 수 있다.
이 경우, 제2 문장의 "배"에 대한 태그 정보는 배[1](0) = (사전적 의미 : 배나무의 열매), 배[1](1) = {배[1](0), 철수(1)가 먹음} 이고 제3 문장의 "배"에 대한 태그 정보는 배[2](0) = (사전적 의미 : 사람이나 동물의 몸에서 위장, 창자, 콩팥 따위의 내장이 들어 있는 곳으로 가슴과 엉덩이 사이의 부위.), 배[2](1) = {배[2]{0}, 철수(2)가 아픈 배}일 수 있다. 즉, 제2 문장의 "배"는 배[1]에 대하여 태그 정보가 추가되며, 제3 문장의 "배"는 배[2]에 대하여 태그 정보가 추가된다.
본 발명의 몇몇 실시예에 따른 번역 방법은 상기 단어 별로 태그 관리를 함으로써 복수의 문장에 대한 반복적인 재해석으로 문장을 더 명확하고 자연스럽게 번역할 수 있게 한다.
도 8을 참조하여 본 발명의 일 실시예에 따라 문장을 행렬의 형태로 가시화하는 방법을 설명한다.
문장 "Alice in a dark forest threw a hard rock into a rabbit hole"(250)는 형태소 분석을 통해 다음과 같이 분할될 수 있다."Alice/in/a dark/forest/threw/a hard/rock/into/a/rabbit/hole". 본 발명의 몇몇 실시예에 따라 문장을 행렬로 변환하는 경우 명사 형태소로만 구성된 행렬과 명사가 아닌 기타 형태소로만 구성된 행렬로 변환될 수 있다. 하지만, 전술한 바 본 발명의 몇몇 실시예에 따른 문장이 반드시 명사 형태소와 기타 형태소로 구분 되는 것은 아님에 유의한다.
따라서 상기 문장은 {Alice, forest, rock, rabbit hole} 을 원소로 갖는 행렬(252)과 {in, a, dark, threw, a, hard, into, a}을 원소로 갖는 행렬(251)로 변환될 수 있다. 또한, 기타 형태소로만 구성된 행렬의 대각선 원소는 명사 형태소를 수식하는 기타 형태소일 수 있다. 행렬 곱셈 연산 시 해당 명사 형태소의 원소와 곱해지는 위치의 대각선에 각각의 명사를 수식하는 기태 형태소의 원소가 배치될 수 있다. 예를 들어 a와 dark 라는 기타 형태소는 forest를 수식하고 a와 hard 라는 기타 형태소는 rock을 수식하므로 각각 (2,2), (3,3)위치에 대응되는 행렬의 대각선에 배치되어 두번째, 세번째 명사와 곱해지는 위치에 배치된다.
또한 본 발명의 다른 실시예에 따라 상기 행렬로 표현된 문장이 그래프로 변환될 수 있다. 이 경우 명사 형태소로만 구성된 행렬의 각 원소가 그래프의 노드와 대응되고, 기타 형태소로만 구성된 행렬의 대각선 원소가 동일한 행에 위치한 명사 형태소에 대응되는 노드의 자기간선으로 대응될 수 있다. 또한 나머지 기타 형태소는 그래프의 연결간선이 될 수 있다. 예를 들어 기타 형태소 "threw"의 행렬에서의 위치가 (1,3)인 경우, "threw"에 대응되는 연결 간선은 명사 형태소 행렬의 첫번째 명사 형태소에 대응되는 노드와 세번째 명사 형태소에 대응되는 노드 사이를 잇는 것일 수 있다.
이하 도 9를 참조하여 그래프에서 자기간선과 연결간선이 구별되어 생성되는 방법에 대하여 상세히 설명한다.
문장의 형태소 문석을 통해 명사가 아닌 기타 형태소가 추출되는 경우, 단계 S131에서 상기 기타 형태소가 명사 형태소 간의 관계를 규정하는지 판단된다.
명사 형태소 간의 관계를 규정하는 기타 형태소는 예를 들어 동사, 전치사, 동사구 또는 전치사구 중 어느 하나 일 수 있다. 다만 이는 언어마다 다른 형태로 나타날 수 있음에 유의한다.
단계 S132에서 기타 형태소가 명사간의 관계를 규정하지 않는 경우, 상기 기타 형태소에 대응되는 간선은 명사 형태소에 대응되는 노드의 자기 간선으로 생성될 수 있다. 명사간의 관계를 규정하지 않는 기타 형태소란, 한정사 또는 형용사 일 수 있다. 다만 이는 언어마다 다른 형태로 나타날 수 있음에 유의한다.
단계 S133에서 명사간의 관계를 규정하는 기타 형태소의 경우 각각의 명사를 잇는 연결 간선에 대응될 수 있다.
단계 S134에서 상기 연결 간선의 방향이 지정될 수 있다. 연결 간선의 방향에 따라 해당 문장의 태가 결정될 수 있다. 예를 들어 주어에 해당되는 명사 형태소에 대응되는 노드가 상기 간선의 출발지 노드이고 목적어에 해당되는 명사 형태소에 대응되는 노드가 상기 간선의 목적지 노드인 경우, 해당 그래프는 능동태 문장일 수 있다. 반대로, 목적어에 해당되는 명사 형태소에 대응되는 노드가 상기 간선의 출발지 노드인 경우, 해당 그래프는 수동태 문장일 수 있다.
이와 같은 문장의 태는 번역 대상 문장의 태에 따라 결정될 수 있고, 사용자의 번역 기록을 이용하여 선호되는 형태가 지정될 수도 있으며 머신 러닝을 이용하여 지정된 형태의 문장일 수도 있다.
이하 도 10을 참조하여 문장에 명시적으로 표시되지 않은 형태소를 그래프에 표시하지 않는 방법에 대하여 상세히 설명한다.
단계 S141에서, 번역된 문장의 언어에서 특정 기타 형태소가 생략 가능한 경우 단계 S142에서 상기 기타 형태소에 대응되는 간선이 생략될 수 있다.
또는, 단계 S143에서, 번역된 문장의 언어에서 특정 명사 형태소가 생략 가능한 경우 단계 S141에서 상기 명사 형태소에 대응되는 노드가 생략될 수 있다.
다만, 단계 S141과 단계 S143의 선후관계는 도시된 순서에 한정되지 않으며 단계 S143이 단계 S141에 선행될 수 있고, 단계 S141과 단계 S143이 병렬적인 순서로 동시에 수행될 수도 있음에 유의한다.
마지막으로, 단계 S145에서 필요한 노드 및 간선만 포함하는 그래프가 표시될 수 있다.
도 11을 참조하여, 문장을 노드와 간선으로 구성된 그래프 형태로 가시화하여 번역하는 방법을 설명한다.
"I gave a book to her"이라는 영문장을 노드와 간선으로 변환(300a)하는 경우, "I", "book"및 "her"은 명사이므로 노드로 변환된다. 그리고 "a"는 "book"을 수식하므로 "book"에 상응하는 노드의 자기간선으로 변환되며, "gave"와 "to"는 각각 "I"와 "book"사이, "book"과 "Her"사이의 관계를 규정하므로 연결간선으로 변환될 수 있다.
상기 문장 각각의 단어를 그래프를 구성하는 노드와 간선으로 변환하기 위해 수식으로 표현하는 경우 {Node('I'), Edge<'I','book'>, Edge<'book','book'>,Node('book'), Edge<'book', 'her'> ,Node('her')}의 집합 표현으로 변환할 수 있다.
또한, 본 발명의 몇몇 실시예에 따라 그래프의 읽는 순서에 대한 정보(301)가 더 표시될 수 있다. 도 11을 참조할 때, 각 노드에 대하여 읽는 순서가"I", "book", "her"의 순서임을 알 수 있다. 따라서 본 발명의 몇몇 실시예에 따른 번역 방법은 읽는 순서에 따라 추출되는 문장의 순서가 다를 수 있다.
도 12를 참조하여, 생략된 형태소를 포함하는 문장이 그래프로 변환된 경우에 대하여 설명한다.
"I gave her a book"이라는 문장을 그래프로 변환하는 경우, "her"명사 형태소와 "book"명사 형태소간 관계를 규정하는 형태소는 생략되어 문장에 명시적으로 표시되어 있지 않다. 따라서, 본 발명의 몇몇 실시예에 따라 문장의 생략된 형태소도 그래프에 표시(302)될 수 있다. 도 12에는 문장의 생략된 형태소에 대응되는 간선이 점선으로 표시되어 있으나, 상기 생략되는 형태소를 표시하는 방법은 이에 한정되지 않는다.
특정 언어의 문장에서 생략된 형태소를 그래프에 표시함으로써, 이후 번역된 언어에서 상기 생략된 형태소가 명시적으로 표시되는 경우에 대한 정확한 번역이 가능해진다.
또한 도 12를 참조할 때, 도 11과 달리 "I", "her", "book"에 대응되는 노드의 순서대로 그래프를 해석함으로써 도 11과 동일한 의미이나 다른 어순의 문장이 추출될 수 있다.
도 13을 참조하여, 생략되는 명사 형태소를 포함하는 문장이 그래프로 변환되는 방법에 대하여 설명한다.
예를 들어 "John wants (John) to go home"이라는 문장이 그래프로 변환될 경우, 기 설명한 방법에 따라 상기 문장은 {Node('John'), Edge<'John','(John)'>, (Node('(John)')), Edge<'(John)','home'>, Node('home')}와 같은 집합의 형태로 표현될 수 있다.
이때, "John wants (John) to go home"이라는 문장(310a)에서 "to go"의 의미상 주어 "John"이 생략되어 문장에 명시적으로 표시되지 않는 경우에도, 그래프에서 상기 생략되는 의미상 주어 "John"에 대응되는 노드(311)가 표시될 수 있다.
또한, 본 발명의 다른 실시예에 따라 생략되는 형태소가 그래프로 표시되지 않을 수도 있다. 도 14를 참조할 때 "to go"의 의미상 주어 "John"이 문장에 명시적으로 표시되지 않은 경우, 번역전의 언어와 번역 후의 언어에서 상기 생략되는 형태소가 모두 문장에 명시적으로 포함되지 않는 경우, 그래프의 간소화를 위하여 상기 생략된 "John"에 대응되는 노드는 생성되지 않을 수 있다.
이하 도 15를 참조하여 복수개의 노드 및 간선으로 구성된 그래프를 해석하는 방법에 대하여 설명한다.
본 발명의 다른 실시예에 따르면 복수개의 노드 및 간선으로 구성된 그래프를 해석하는 경우, 문장의 주어에 별도의 표시가 추가될 수 있다. 예를 들어 도 15의 그래프의 경우 "Alice"가 전체 주어임을 뜻하는 표시가 추가될 수 있다. 또한 그래프의 해석 순서에 대한 표시(321, 322, 323)가 더 추가될 수 있다. 따라서 사용자가 그래프를 문장으로 해석하는 경우, 그래프상 표시된 주어를 시작으로 그래프 해석 순서 표시를 이용하여 상기 그래프를 1차원의 문장(320a)으로 해석할 수 있다.
또한 도 15에 도시된 문장 "Alice in a dark forest threw a hard rock into a rabbit hole."이 다른 언어로 번역되는 경우 표시된 그래프의 해석 순서(321, 322, 323)는 바뀔 수 있다. 예를 들어 상기 문장이 한국어로 번역되는 경우 "어두운 숲 속의 앨리스가 토끼굴 안으로 단단한 돌을 던졌다"로 번역될 수 있고, "앨리스가 어두운 숲 속에서 단단한 돌을 토끼굴 안으로 던졌다"로 번역될 수 있다. 즉, 동일한 그래프를 번역하는 경우에도 상이한 순서를 가진 복수개의 문장이 생성될 수 있다. 이 경우 각각의 문장의 해석 순서에 상응하는 별도의 표시(321, 322, 323)가 추가될 수 있다.
또한, 도 16을 참조할 때, 번역 이후 또는 번역 이전의 언어를 모르는 사용자를 위해, 그래프에 대응되는 모든 단어가 그림 또는 사진 등의 이미지로 표시될 수 있다. 이를 통해 특정 언어를 전혀 모르는 사용자도 상기 문장의 의미, 구조 및 각 형태소관 관계에 대하여 직관적으로 파악할 수 있다.
도 17을 참조할 때, 본 발명의 또 다른 실시예에 따르면 그래프의 간선이 표시되지 않도록 문장이 가시화될 수 있다.
그래프의 간선의 경우 명사간의 관계 또는 명사를 수식하는 형태소를 의미하므로, 이후 설명할 문장의 태(예를 들어, 수동태 및 능동태)에 따라 간선의 방향성이 달라질 수 있다. 따라서, 몇몇 실시예에서 문장의 의미 파악이 중요한 경우 그래프의 간선이 표시되지 않을 수도 있다. 이를 통해 사용자는 문장의 해석 및 번역과정에서 자신의 관심있는 정보만을 쉽게 획득할 수 있다.
이하 도 18을 참조하여 문장의 화자 및 주체간 계급에 따라 높임말이 존재하는 언어의 경우, 문장을 그래프로 표시하는 방법에 대하여 설명한다.
예를 들어 한국어의 경우 엄격한 높임말 사용이 존재하나, 영어의 경우 한국어의 높임말 각각에 대응되는 모든 단어가 존재하지는 않는다. 따라서, 높임말이 존재하는 문장을 영어로 번역한 후, 다시 해당 문장을 한국어로 번역하는 경우 높임말 표현 자체가 사라지거나 어색하게 번역되는 경우가 존재한다. 이를 방지하기 위해, 본 실시예에 따르면 문장에 대응되는 그래프가 생성되는 경우, 상기 문장의 화자 및 문장의 주체와 객체 간의 계급도에 대한 정보가 더 생성될 수 있다.
가령,"김 차장님께 이 대리가 커피를 전달했다"라는 문장의 경우, 상기 문장의 화자는 이 대리 보다는 계급이 높고, 김 차장 보다는 계급이 낮다. 따라서 상기 문장을 도 18의 그래프로 변환하는 경우 상기 화자와 김 차장 및 이 대리 간의 관계에 대한 계급도(340a)정보가 더 필요하다.
특히, 상기 도 18의 문장과 동일한 의미인 도 19의 "김 차장님께 이 대리님이 커피를 전달했습니다"라는 문장의 경우 도 18의 문장 과 달리 화자의 계급이 이 대리 및 김 차장 보다 낮다(340b). 이 경우 본 실시예를 통해 도 19의 "김 차장님께 이 대리님이 커피를 전달했습니다"라는 문장과 도 18의 "김 차장님께 이 대리가 커피를 전달했다"라는 문장에 대한 정보가 다르게 생성되어 더욱 정확한 문장 번역이 가능하다.
이하 도 20을 참조하여 본 발명의 또 다른 실시예에 따라 문장의 지정된 형태소에 대하여 성별에 따른 태그 정보가 더 생성되는 경우에 대하여 상세히 설명한다.
예를 들어, 한국어의 경우 "위대한"이라는 단어는 여성을 의미하는 명사 형태소를 및 남성을 의미하는 명사 형태소를 수식하는 경우 모두 동일한 형태를 갖는다. 하지만, 불어의 경우 "위대한"이라는 뜻의 "Un grand"는 남성을 의미하는 명사 형태소를 수식하는 경우에 사용되며, "Un grande"는 여성을 의미하는 명사 형태소를 수식하는 경우에 사용된다. 이 경우 본 실시예에 따르면 불어가 한국어로 번역되는 경우 "위대한"이라는 번역 결과 외에 성별에 대한 정보를 포함하는 태그가 각 단어에 추가될 수 있다. 예를 들어 번역 결과가 "위대한 황제"인 경우, 태그 정보를 더 추가하여 "위대한(남) 황제"로 표시될 수 있다.
이 경우, 각 단어의 형태가 성별에 따라 다르게 표시되는 언어에서는 상기 성별에 대한 정보를 포함하는 태그가 각 단어에 추가되지 않을 수 있다. 예를 들어 영어 단어인 "Emperor"이 남자 황제를 의미하고 "Empress"가 여자 황제를 의미한다면 상기 단어에 별도 성별에 대한 정보를 포함하는 태그를 추가하지 않아도 된다.
따라서, 성별에 따라 형태가 다른 단어가 번역되는 경우, 상기 단어 각각에 대하여 성별에 대한 정보를 포함하는 태그가 생성됨으로써 이후 수행되는 번역과정에서 더 정확한 결과를 추출할 수 있다.
도 21을 참조하여 하나의 그래프에 복수개의 문장이 대응되는 경우에 대하여 설명한다. 본 발명의 몇몇 실시예에 따라 문장을 그래프로 변환하는 경우, 도 21에 제시된 바와 같이 동일한 의미이나 다른 어순을 갖는 복수개의 문장이 하나의 그래프에 대응될 수 있다. 따라서 번역을 수행하는 경우 상기 복수개의 문장 각각에 대하여 번역을 수행할 필요 없이 대응되는 그래프 하나에 대하여 번역을 수행하면 되므로, 효율적인 컴퓨팅자원의 활용이 가능하다.
또한, 번역 결과로 추출된 문장의 어순이 사용자가 의도한 어순과 다른 경우, 복수개의 동일한 의미를 갖는 다양한 어순의 문장이 더 추출될 수도 있다. 추출되는 복수개의 문장에 대한 순서는 사용자의 이전 번역 기록 및 여러 사용자의 번역 기록을 이용한 통계적 방법이 사용될 수 있으며, 방대한 번역 기록을 이용한 머신러닝이 사용될 수도 있다.
또한 동일한 의미의 문장이라도 문장의 태가 수동태인지 능동태인지에 따라 각각의 문장에 대응되는 그래프의 형태가 다를 수 있다. 도 22를 참조할 때, 도 21과 동일한 의미의 문장일지라도 수동테의 문장에 대응되는 그래프의 경우 도 21의 그래프와 간선의 방향이 상이할 수 있다. 따라서 사용자는 그래프의 간선의 방향을 수정함으로써 추출되는 문장의 태를 수정할 수 있다.
이를 통해 번역 전 또는 번역 후의 언어 중 어느 하나의 언어를 사용자가 모르는 경우에도 추출되는 문장의 의미 및 태를 상기 사용자가 직관적으로 파악할 수 있다.
도 23을 참조할 때, 본 발명의 몇몇 실시예에 따르면 복수개의 문장에 대응되는 그래프(351, 352, 353)를 이미지화(354, 355, 356)할 수 있다.
그래프 각각에 대응되는 이미지가 생성될 수 있고, 동일한 단어를 포함하는 복수개의 문장에 대응되는 그래프를 이용하여 애니메이션이 생성될 수도 있다. 예를 들어 "John"이라는 단어를 포함하는 복수개의 문장에 대응되는 복수개의 그래프(351, 352, 353)가 생성된 경우, 각각의 그래프에서 "John"과 대응되는 노드와 관련된 정보를 이용하여 상기 "John"에 대한 복수개의 이미지 또는 애니메이션이 생성될 수 있다. 상기 설명한 바, 본 발명의 몇몇 실시예에 따라 문장의 의미가 해석되는 경우, 특정 문장에 포함되는 단어의 의미는 해당 문장 뿐만 아니라 해당 문장 전, 후에 존재하는 복수개의 문장의 문맥을 모두 이용하므로, 공통적인 단어를 포함하는 복수개의 문장은 하나의 컨텐츠를 갖는 이미지 또는 애니메이션으로 대체될 수 있다.
이하, 도 24을 참조하여 본 발명의 또 다른 실시예에 따라 그래프로 변환된 제1 언어의 문장이 제2 언어의 문장으로 번역되는 과정에 대하여 설명한다.
단계 S151에서, 그래프의 노드 및 간선 각각에 대응되는 제1 언어의 문장의 형태소가 번역하고자 하는 제2 언어의 표현으로 대체될 수 있다.
단계 S152 에서 그래프에서 추출된 제2 언어의 제2 문장에 대한 사용자의 수정 요청 피드백이 존재하는 경우, 단계 S154에서 상기 제2 언어와 상이한 제3 문장이 더 추출될 수 있다. 상기 제3 문장은 사용자의 피드백의 종류에 따라 어순, 문장의 태, 단어의 번역, 형태소의 수식관계 등이 다를 수 있다.
단계 S153에서 추출된 제2 문장 또는 단계 S155에서 추출된 제3 문장에 대한 번역 결과가 저장될 수 있다. 상기 추출된 문장에 대한 정보 및 입력된 사용자의 피드백에 대한 정보를 이용하여 이후 수행되는 번역 과정에서 반영할 수 있다. 자세한 설명은 이후 해당 도면에서 상세히 서술한다.
이하 도 25내지 도 26를 참조하여 제1 언어의 표현인 제1 문장(400a)이 제2 언어의 표현인 제2 문장(400b)으로 번역되는 과정에 대하여 자세히 검토한다.
영어로 표현된 제1 문장(400a)인 "A cat is touched by me"을 한국어로 번역하고자 하는 경우, 먼저 상기 제1 문장에 상응하는 그래프(401a)가 생성될 수 있다. 상기 생성되는 그래프의 각각의 노드 및 간선은 제1 문장의 단어 각각에 대응될 수 있다.
이후, 그래프의 노드 및 간선 각각에 대응되는 단어가 한국어로 번역될 수 있다. 이 경우, 상기 설명한 바와 같이 각각의 언어의 특징에 따라 성별에 관한 정보 및 계급도에 관한 정보가 더 저장될 수 있다.
번역된 문장(400b)을 추출하기 위해 한국어로 대체된 그래프가 지정된 어순으로 해석될 수 있다. 지정된 어순이란, 이전 번역 기록을 이용하여 특정 사용자가 선호하는 어순 또는 대부분의 사용자가 선호하는 어순 등 다양한 기준에 따라 문장의 어순에 상응하는 그래프 해석 순서가 지정될 수 있다.
예를 들어 "A cat is touched by me"라는 영어 문장은 수동태이므로 한국어로 번역될 때도 "나는 고양이를 만지다"가 아닌, "고양이는 나에게 만져진다"로 변역될 수 있다.
이와 달리 도 25처럼 능동태인 영어 문장 "I touch a cat"의 경우, 도 24와 달리 "나는 고양이를 만지다"로 번역될 수 있다.
이하 27을 참조하여 구체적으로 그래프의 노드 및 간선 각각에 대응되는 문장의 단어가 번역되는 방법에 대하여 설명한다.
두개의 노드와, 상기 노드를 잇는 하나의 간선으로 구성된 그래프(420)인 경우, 각각의 노드 및 간선에 대응되는 제1 언어의 표현이 제2 언어로 대체된다. 예를 들어 "나는 너를 사랑한다"라는 한국어 문장이 영어 문장으로 번역되는 경우, "나/는/사랑한다/(-능동)/너/를"과 같이 나뉘어진 형태소 각각에 대하여 "I/-/Love/(-능동)/You/-/"와 같이 번역될 수 있다.
이를 통해, 문장 전체에 대하여 번역을 수행하는 경우와 달리, 각각의 형태소에 대하여 번역을 수행하고, 각각의 형태소 간의 관계에 대한 정보를 별도로 저장함으로써 더욱 체계적인 번역 수행 및 번역 기록 관리가 가능하다.
이하 도 28을 참조하여 중의적 의미를 갖는 구 및 복합어를 포함하는 문장을 번역하는 방법에 대하여 설명한다.
중의적 의미를 갖는 구란, 각각의 단어간 수식관계가 불명확 한 경우 또는 관계를 규정하고자 하는 단어가 불명확할 경우에 발생한다. 본 실시예에 따르면 각 단어간 수식관계를 그래프로 표현하므로 문장의 의미가 중의적으로 해석되지 않는다.
예를 들어 "늙은 남성과 여성"이라는 문장이 있는 경우, '늙은'이라는 단어가 '남성'을 수식하는지 '남성과 여성'을 수식하는지 모호할 수 있다. 따라서, 상기 문장을 그래프에 대응시키는 경우 "늙은"이 "남성"을 수식한다면, "늙은"에 대응되는 자기 간선이 "남성"에 대응되는 노드를 가리키도록 생성하고, "늙은"이 "남성과 여성"을 모두 수식한다면 "늙은"에 대응되는 자기 간선이 "남성과 여성"에 대응되는 노드를 가리키도록 생성한다.
또한 문장에 대응되는 그래프의 간선을 노드와 병합 및 분리함으로써 복합어를 생성 및 제거할 수 있다. 예를 들어 "old man"이 "늙은 남자"라는 뜻 대신 "할아버지"라는 뜻으로 해석되는 것이 자연스러운 경우 "old"에 상응하는 자기 간선과 "man"에 상응하는 노드가 병합되어 "grandfather"이라는 노드로 대체될 수 있다. 마찬가지로 "grandfather"이 "old"와 "man"에 대응되는 간선 및 노드로 분리될 수 있음은 물론이다. 이와 같은 복합어는 기존의 사전 DB에 저장된 정보를 이용할 수 있다.
이하 도 29 내지 도 41을 참조하여 본 발명의 또 다른 실시예에 따라 번역 결과를 변경할 수 있는 UI를 포함하는 GUI를 이용하여 번역을 수행하는 방법에 대하여 설명한다.
도 29를 참조할 때, 사용자가 동일한 그래프에서 다른 어순을 갖는 문장을 추출하고자 하는 경우, 기 지정된 사용자 입력(501)을 통해 새로운 번역 결과를 얻을 수 있다.
예를 들어 "John can hit the ball with a bat."이라는 문장이 한국어로 번역되어 "존은 방망이로 그 공을 칠 수 있다."라는 문장을 출력한 경우(500a), 사용자는 다른 어순을 갖는 문장을 획득하기 위해 기 지정된 UI(501)를 선택할 수 있다. 이를 통해 사용자는 "존은 그 공을 방망이로 칠 수 있다."라는 문장을 얻을 수 있고(500b), 이와 같은 번역 기록 및 사용자의 피드백에 대한 정보는 모두 기록된다. 또한 이후 유사한 문장에 대한 동일한 사용자의 번역 요청이 있는 경우, 사용자가 선택한 어순의 문장이 우선적으로 표시될 수 있다.
또한 제1 언어의 제1 문장을 제2 언어의 제2 문장으로 번역하고자 하는 경우, 그래프는 제1 언어에 대응되는 형태소가 표시될 수 있고, 제2 언어에 대응되는 형태소가 표시될 수도 있으며, 제1 언어 및 제2 언어를 모두 표시할 수도 있다. 이와 같이 사용자가 익숙한 언어와 익숙하지 않은 언어를 그래프에 대응시켜 표시함으로써 해당 문장에 대하여 사용자는 형태소 각각에 대한 번역이 올바른지 확인할 수 있다. 또한 각각의 형태소에 대응되는 그래프의 구성요소를 수정함으로써 번역의 잘못된 부분을 쉽게 확인하여 수정할 수 있다.
도 30를 참조할 때, 사용자가 번역된 문장의 특정 단어에 대한 해석을 수정하고자 하는 경우. 해당 특정 단어에 대한 기 지정된 입력을 함으로써, 해당 단어에 대한 번역이 수정될 수 있다.
예를 들어, "나는 고양이를 만진다"라는 한국어 문장이 영어로 번역되는 경우"I touch the cat"이라는 문장이 출력될 수 있다(510a). 만약 사용자가"the"라는 단어를 수정 또는 삭제하고 싶은 경우, 상기 "the"에 기 지정된 입력(511)을 함으로써, 해당 단어의 해석 결과가 달라진다. 상기 문장과 상이한 "I touch a cat"이라는 문장이 출력(510b)되고 사용자가 이를 최종 번역 결과로 선택(512)하는 경우, 다음 번역시 영문장의 특정 단어에 대한 단수를 표현하기 모호한 경우에서 "a"의 우선순위가 "the"의 우선순위보다 높아지게 된다.
도 31을 참조할 때, 그래프의 구성 요소를 선택(521)사용자의 입력에 응답하여 해당 구성 요소 및 해당 구성 요소에 대응되는 번역 결과가 수정될 수 있다. 예를 들어 그래프의 간선을 선택하는 사용자의 입력이 있는 경우 해당 간선의 방향이 수정될 수 있다.
간선의 방향이 수정되는 경우 기타 형태소가 명사 형태소를 수식하는 수식관계 또는 명사 형태소간 관계가 수정될 수 있다. 간선의 방향이 바뀌는 경우 명사 형태소간 관계를 규정하는 기타 형태소에 대응되는 간선의 방향이 바뀌면서 문장의 태가 바뀔 수 있고, 수식관계가 바뀔 수 있다. 또한, 간선의 출발지 또는 목적지를 수정함으로써 문장의 구조를 바꿀 수도 있다.
예를 들어 "나는 고양이를 만진다"라는 문장을 영어로 해석하고자 하는 경우(520a) 수동태 문장을 얻기 위해 "만진다"라는 형태소에 상응하는 간선에 대하여 지정된 입력(521)을 함으로써 간선의 방향을 바꿀 수 있다(524). 상기 간선의 방향이 바뀜에 따라 번역 결과로 획득된 영어 문장도 "I touch the cat"에서 "The cat is touched by me."로 재획득(520b) 되며 한국어 문장도 이에 대응되도록 바뀔 수 있다. 한국어 문장도 바뀜으로써 사용자는 자신이 원하는 번역 결과가 맞는지 확인할 수 있게 된다. 또한, 문장의 태가 변함으로써 수정되어야 하는 다른 형태소의 표현(522, 523)도 자동으로 수정될 수 있다.
또한 다른 실시예에 따라 자기 간선에 대응되는 기타 형태소가 방향성 없이 표시(522, 523)될 수 있다. 자기 간선의 경우 출발지와 목적지가 모두 동일하므로 해당 간선에 방향성이 표시되지 않더라도 번역에 있어 다른 결과가 도출되지 않는다. 따라서 그래프에 대한 사용자의 가독성을 높이기 위하여 점선 또는 특정 도형을 자기 간선에 상응하는 기타 형태소에 대응시킬 수 있다.
도 32을 참조할 때, 생략되는 형태소에 대한 사용자 입력(531)에 응답하여 상기 생략된 형태소가 명시적으로 표시될 수 있다.
예를 들어 영어 문장 "I touch the cat"을 한국어로 번역하고자 하는 경우 "나는 고양이를 만진다"로 해석된 문장이 획득(530a)된다면 "the"에 대응되는 한국어 단어는 생략이 가능하여 자동으로 생략(531)된 것일 수 있다. 이 경우 본 발명의 몇몇 실시예에 따르면 생략되는 형태소일지라도 그래프에는 표시(532)되므로 사용자는 상기 생략되는 형태소를 번역 후의 문장에도 명시적으로 표시하도록 지정된 사용자 입력을 할 수 있다. 그 결과 "the"에 상응하는 한국어 단어 "그"가 번역 결과에 명시적으로 표시되어 "나는 그 고양이를 만진다"라는 문장이 획득된다(530b).
도 33을 참조할 때 본 발명의 또 다른 실시예에 따라 문장의 어순(542)을 변경하는 사용자 입력(541)에 응답하여, 번역되는 문장의 어순을 변경(543)할 수 있다.
예를 들어 "I touch the cat"이라는 영어 문장에 대하여 "고양이를 나는 만진다"라는 한국어 번역 결과가 출력된 경우, 사용자는 "나는 고양이를 만진다"와 같은 어순의 문장을 획득하기 위하여 해석하고자 하는 순서대로 노드를 선택할 수 있다. 다만, 어순을 변경하는 방법에 대한 사용자 입력은 이에 한하지 않음에 유의한다.
또한 도 34을 참조할 때, 그래프에서 간선을 표시하고 싶지 않은 경우 해당 간선을 삭제할 수 있는 지정된 사용자의 입력(551)에 따라 간선이 표시되지 않을 수 있다. 상기 삭제되는 간선은 사용자가 선택한 간선일 수 있고, 그래프에 존재하는 모든 간선일 수도 있다.
사용자는 간선을 일부 또는 전부 삭제함으로써 문장의 번역 결과를 더 구체적으로 수정할 수 있다.
또한 도 35 내지 도 36을 참조할 때, 사용자의 선택에 따라 그래프 표시 방법이 바뀔 수 있다.
도 35에서 사용자가 그래프의 간선을 표시하고자 하는 경우(561), 또는 사용자의 과거 번역 수정 기록을 고려할 때 그래프의 간선에 대한 수정이 빈번한 경우 그래프는 간선 및 노드를 전부 표시하는 형태(560a)로 표시될 수 있다.
반면 도 36에서 사용자가 그래프의 간선을 표시하고자 하지 않는 경우(562), 또는 사용자의 과거 번역 수정 기록을 고려할 때 그래프의 간선에 대한 수정이 없는 경우 그래프는 간선을 표시하지 않는 형태(560b)일 수 있다.
다만 이에 한하지 않고, 자기 간선에 대응되는 형태소의 표시가 없는 그래프의 형태, 중의적 의미를 갖는 구만 그래프로 표시되는 형태 등 사용자의 번역 기록 및 사용자의 설정에 따라 그래프는 일부 또는 전부가 표시될 수도 있다.
이하 도 37 내지 도 39를 참조하여 중의적 의미를 갖는 단어의 해석 방법을 변경하는 UI를 포함하는 GUI를 이용하여 번역을 수행하는 방법을 설명한다.
중의적 의미를 갖는 단어 또는 구의 경우 사용자가 의도하는 방향으로 번역이 수행되도록 사용자의 수정 피드백을 입력 받을 수 있다.
예를 들어 도 37을 참조할 때 "old man and woman"이라는 문장에 대한 번역이 수행되는 경우, "old"에 상응하는 자기 간선이 "man"에 상응하는 노드를 가리킬 수 있다(570a). 이 경우 한국어로 번역된 문장은 "늙은 남성과 (늙지 않은 보통의) 여성"으로 해석된다. 상기 해석 결과에 대하여 "늙은 남성과 늙은 여성"으로 번역 결과를 획득하고 싶은 경우, 사용자는 그래프를 수정하여 원하는 번역 결과를 획득할 수 있다.
사용자가 한국어를 모르더라도 그래프의 "old"가 "woman"을 가리키고 있지 않으므로, 사용자는 번역된 한국어 문장이 잘못되었음을 알 수 있다.
따라서 도 38와 같이 "woman"에 상응하는 노드에 "Old"에 상응하는 간선에 연결되도록 드래그 앤 드롭 입력(571)을 할 수 있다. 다만 드래그 앤 드롭이란 사용자의 입력의 일 예시일 뿐 사용자 입력 방식은 이에 한정되지 않고 다양한 방식이 될 수 있다.
또한 도 38과 같이 "Old"에 상응하는 간선에 대한 입력(572)을 통해 번역 결과를 수정(570b)할 수 있다.
이를 통해 도 39와 같은 그래프가 생성되는 경우(570c), "Old"에 대응되는 간선이 "Man and Woman"에 대응되는 노드(573)를 가리키고 있으므로, 번역 결과 한국어 문장은 "늙은 남성과 늙은 여성"으로 수정될 수 있다.
또한, 본 발명의 또 다른 실시예에 따라 그래프의 간선이 병합 또는 분할될 수 있다. 예를 들어 지정된 노드에서 출발하여 지정된 다른 노드에 도착하는 복수개의 간선이 존재하는 경우, 상기 복수개의 간선은 하나의 간선으로 병합될 수 있다. 복수개의 형태소에 대응되는 간선이 하나로 병합된 경우, 상기 간선을 분할하고자 하는 사용자의 입력에 응답하여 병합된 간선이 다시 복수개의 간선으로 분할될 수 있다. 또한 상기 복수개의 간선 각각에 대한 사용자의 입력에 응답하여 각각의 간선의 출발지 및 도착지를 변경할 수 있음은 물론이다.
또한, 도 40를 참조하여 본 발명의 다른 실시예에 따라 사용자는 중의적 의미를 단어의 잘못된 해석을 용이하게 수정할 수 있다.
예를 들어 영어 단어의 "sheep"의 경우 단수형과 복수형이 동일하므로, 번역 과정에서 사용자의 의도와 상이한 번역 결과가 생성(580)될 수 있다. 본 발명의 몇몇 실시예에 따라 명사 형태소가 단수형인지 복수형인지에 대한 정보가 그래프에 더 표시될 수 있으므로, 이에 대한 사용자의 기 지정된 입력(581)에 따라 번역 결과가 수정될 수 있다.
영어 문장 "I touch sheep"이 한국어 문장으로 번역되는 경우 "나는 양 들을 만진다"로 번역될 수 있다. 이에 대하여 사용자가 의도한 sheep 이 단수였다면, 사용자는 복수개의 양을 의미하는"(plural)"에 대한 입력(581) 또는 이에 대응되는 한국어 "들"(583)에 대한 입력을 통해 도 46과 같은 수정된 번역 결과를 획득할 수 있다. 이에 따라 도 41에서 "(plural)"은 "a"로 수정되어 "sheep"이 단수형임이 명확해지고, "나는 양을 만진다"와 같은 한국어 번역 문장이 획득될 수 있다.
이하, 도 42을 참조하여 본 발명의 일 실시예에 따른 문장 해석 시스템에 대하여 상세히 설명한다.
따라서 본 발명의 몇몇 실시예에 따르면 문장 해석 장치(100a, 100b, 100c)는 다양한 데이터(10, 20, 30, 40, 50)를 전처리(60)함으로써 획득한 텍스트 형태의 문장을 해석할 수 있다. 또한, 본 발명의 몇몇 실시예에 따라 상기 획득한 문장을 사용자가 원하는 언어의 표현으로 번역할 수 있다. 또한 사용자는 번역된 문장을 수정하고 싶은 경우, 그래프에 대한 입력을 통해 쉽고 명확하게 문장을 수정할 수 있다.
또한, 각각의 문장 해석 장치(100a, 100b, 100c)는 각각의 번역 기록을 별도로 관리하여 사용자별 번역 패턴 및 번역 대상 문장 전,후의 문맥과 같은 정보를 더 저장할 수 있다. 이를 통해 사용자는 커스터마이징 된 문장 해석 결과 또는 번역 결과를 획득할 수 있다.
구체적으로 도 43내지 도 45을 참조하여, 각각의 번역 태스크(task)마다 로컬 스토리지를 이용하여 번역을 수행하는 방법에 대하여 설명한다.
도 43을 참조할 때, 일 실시예에 따르면 사용자별로 번역을 수행하기 위해 각각 다른 로컬 스토리지가 사용될 수 있다. 예를 들어 사용자1(430)이 이전에 사용했던 번역 기록, 또는 동일한 번역 과정에서 이전에 번역했던 문장에 대한 정보를 저장하는 로컬 스토리지(431)와 사용자2(433)의 번역 기록을 저장하는 로컬 스토리지(434)는 상이할 수 있다.
또한 본 발명의 또 다른 실시예에 따르면 상기 로컬 스토리지(431, 434)는 동일한 태스크(task)에서의 이전 번역 기록에 대한 정보만 포함할 수도 있다. 예를 들어 복수개의 문단으로 이루어진 많은 양의 텍스트를 번역하는 경우, 이전 문장의 번역 기록을 참조하여 해당 태스크에서만 로컬 스토리지에 저장된 정보를 이용하여 번역을 수행할 수 있다.
로컬 스토리지에 저장되는 정보는 어순 정보, 노드 또는 간선의 병합 또는 분리에 대한 선호도 정보, 문장요소나 단어 또는 형태소의 개수, 선호되는 음절의 개수 유사성, 국제 음성 기호의 유사성, 존댓말 또는 반말에 대한 속성 정보, 성별에 대한 정보, 문어체 또는 구어체에 대한 선호도, 외래어 사용 여부, 문장의 태(예를 들어 수동태 및 능동태)에 대한 선호도, 문장부호의 위치 또는 문장의 맺음말과 같은 문장의 어투에 대한 정보 중 하나 이상이 포함될 수 있다.
각각의 사용자 별로 번역기록을 상이하게 관리함으로써, 선호하는 번역 방법 , 선호하는 문장의 어순에 따라 사용자가 원하는 번역기록을 생성할 수 있다. 또한 다른 실시예에 따라 모든 사용자가 공유하는 메인 스토리지(432)가 존재할 수 있다. 메인 스토리지(432)는 예를 들어 복수개의 언어에 대한 사전적 의미, 각 언어의 특징, 공통적으로 선호하는 번역 방법 및 번역 결과에 대한 공통적인 피드백에 대한 정보를 모두 저장할 수 있다.
이와 같은 로컬 스토리지와 메인 스토리지의 구별로, 전문 분야의 전문 용어가 자연스럽게 번역될 수 있으며 도서 번역의 경우 작가마다 다른 문체에 대한 정보를 이용하여 더욱 자연스러운 번역이 가능하다. 이에 한정되지 않고 각각의 번역마다 개별화된 정보를 저장하고 관리함으로써 분야 및 태스크를 나누지 않는 단순 통계기반 번역에 비해 자연스럽고 전문적인 번역 결과가 획득될 수 있다.
예를 들어 국문 특허 명세서를 영문 특허 명세서로 번역하는 경우, '도면'이라는 단어는 'FIG'으로 종래 번역 기술에서도 간략히 표시될 수 있으나, 영문 특허 명세서의 'FIG'에 대한 국문 번역이 수행되는 경우 본 발명의 몇몇 실시예에 따르면 특허 분야에 대한 정보가 더 추가되어'무화과'가 아닌 '도면'으로 번역될 수 있다.
또한 도서 번역 분야에서 "In my younger and more vulnerable years"라는 문장은, 문체에 따라 "내가 지금보다 나이도 어리고 마음도 여리던 시절 ", "어리고 세상 물정 모르던 시절"또는 "어렸을 적에 나는 지금보다 훨씬 더 여리고 유약했다. "등 다양한 문장으로 해석될 수 있다. 본 발명의 몇몇 실시예에 따르면 이전 분장의 번역 기록을 이용하여 앞선 문체와 유사한 자연스러운 문체로 번역될 수 있다.
예를 들어 도 44를 참조할 때, 동일한 영어 문장 "old man and woman"이라도 사용자의 이전 번역 기록을 고려할 때 "old"가 "man and woman"을 모두 수식하는 의미로 해석되는 경우 스페인어로 "늙은 남성과 늙은 여성"이라는 뜻의 "Viejo y Vieja"(442)로 번역될 수 있다.
반면, 사용자의 이전 번역 기록을 고려할 때, 특정 형용사가 그 다음에 위치하는 명사 하나만을 수식하는 경우로 많이 해석된 경우, 스페인어로 "늙은 남성과 (늙지 않은 보통의) 여성" 이라는 뜻의 "Viejo y mujer"(444)로 해석될 수 있다. 이와 같이 본 실시예에 따르면 동일한 문장일지라도 사용자의 이전 번역 기록을 이용하여 사용자가 의도했던 번역 결과를 추출해낼 수 있다.
이와 같이 동일한 문장이라도 사용자가 이전에 번역을 수행했던 기록이나 추출된 번역 결과에 대한 피드백으로 요청했던 기록을 이용하여 번역이 수행될 수 있다. 상기 번역 결과에 대한 피드백이란, 예를 들어 병합하거나 분리했던 노드와 간선에 대한 정보일 수 있다.
예를 들어 주어에 해당하는 그래프 요소와 전치사에 해당하는 그래프 요소를 병합하는 기록이 많은 경우 "여자는 쌍안경을 가진 채 남자를 보았다"라고 해석될 수 있는 문장이 사용자에 따라 주어에 해당하는 그래프 요소와 목적어에 해당하는 그래프 요소를 병합하는 기록이 많다면 "여자는 쌍안경으로 남자를 보았다"라고 해석 될 수 있다. 유사한 실시예로 그래프의 자기 간선을 선호하지 않는 사용자의 경우 자기 간선과 해당 노드를 병합한 형태의 그래프가 생성될 수 있다.
이하, 도 45을 참조하여 복수개의 문장이 번역되는 경우 복수개의 문장에 대한 문맥을 고려하여 번역이 수행되는 방법에 대하여 설명한다. 다양한 의미를 갖는 동음이의어 단어의 경우, 해당 단어를 포함하는 문장 및 해당 문장 전후의 맥락을 이해해야 정확한 번역이 가능하다. 예를 들어 "배"라는 단어의 경우 '사람이나 동물의 몸의 부위'를 의미할 수 있고, '과일의 한 종류'를 의미할 수도 있으며, '물 위를 떠다니는 운송체'일 수 있다. 본 실시예에 따르면 메인 스토리지에서 상기 "배"에 대한 모든 사전적 의미가 추출될 수 있다.
하지만, "나는 배가 좋다"라는 문장에 대한 번역을 수행하는 경우 상기 "배"가 어떤 의미인지 전혀 알 수 없다는 문제가 발생한다. 본 발명을 이와 같은 문제를 해결하기 위하여 특정 단어에 대한 의미를 파악하기 위해 상기 특정 단어를 포함하는 문장 및 상기 문장 전,후에 존재하는 복수개의 문장을 이용하여 상기 "배"의 의미를 파악한다.
예를 들어 "나는 해상활동을 좋아한다. 나는 배가 좋다."라는 복수개의 문장이 입력된 경우, 복수개의 "배"에 대한 의미 중 "나는 해상활동을 좋아한다"라는 문장과 가장 관련성이 높은 "물 위를 떠다니는 운송체"가 상기 "배"의 의미로 파악될 수 있다. 따라서 상기 복수개의 문장은 "I like maritime activities. I like ship."으로 해석될 수 있다.
반면, "나는 과일을 좋아한다. 나는 배가 좋다"라는 복수개의 문장이 입력된 경우, 복수개의 "배"에 대한 의미 중 "나는 과일을 좋아한다"라는 문장과 가장 관련성이 높은 "과일의 한 종류"가 상기"배"의 의미로 파악될 수 있다. 따라서 상기 복수개의 문장은 "I like fruits. I like a pear"으로 해석될 수 있다.
상기 특정 문장과 특정 단어간 관련성에 대한 판단은 방대한 번역 기록을 이용하여 연산 될 수 있고, 다양한 단어 및 예문의 집합을 이용하여 학습된 머신러닝이 이용될 수도 있다.
이하 도 46을 참조하여 본 발명의 또 다른 실시예에 따른 가시화된 문장을 이용하여 번역을 수행하는 장치(100)의 하드웨어의 동작에 대해 상세히 설명한다.
번역 장치(100)는 그래프 변환부(623), 번역부(624) 및 번역 기록 DB(614)를 포함하고 몇몇 실시예에서 사용자 인터페이스(601), 문장 요소 추출부(621), 행렬 변환부(622), 언어별 문장 요소 DB(611), 언어별 문법 DB(612) 및 언어별 사전 DB(613)를 더 포함할 수 있다.
사용자 인터페이스(601)는 번역하고자 하는 문장을 사용자 또는 외부 서버로부터 획득할 수 있고, 상기 문장이 변환된 행렬, 그래프 및 번역된 문장을 출력할 수 있다. 상기 획득한 문장은 문장 요소 추출부(621)로 전달될 수 있다. 또한 번역이 완료된 문장은 번역부(624)로부터 수신할 수 있다. 또한 사용자로부터 입력 받은 번역 결과에 대한 피드백을 번역부(624)에 전달할 수 있다.
문장 요소 추출부(621)는 번역하고자 하는 문장을 형태소 단위로 분할할 수 있다. 따라서, 언어별 문장 요소 DB(611) 및 언어별 문법 DB(612)로부터 각 언어별 형태소에 대한 정보를 취합하여 상기 문장을 분할할 수 있다. 형태소 단위로 분할된 문장은 행렬 변환부(622) 또는 그래프 변환부(623)으로 전달될 수 있다.
행렬 변환부(622)는 형태소 단위로 분할된 문장을 행렬 형태로 변환할 수 있다. 또한 행렬 형태로 변환된 문장을 그래프 변환부(623)으로 전달할 수 있다.
그래프 변환부(623)는 형태소 단위로 분할된 문장 또는 행렬 형태의 문장을 그래프로 변환할 수 있다. 또한 그래프 및 그래프에 대응되는 문장을 번역부(624)로 전달할 수 있다.
번역부(624)는 그래프의 각 노드 및 간선에 대응되는 문장을 해석할 수 있다. 해석되는 문장은 상기 문장에 대응되는 그래프의 순회(traverse) 순서에 따라 어순이 결정될 수 있다. 그래프 순회 순서는 과거 번역 기록을 통해 정해진 순서 또는 머신 러닝을 통해 획득한 순서 또는 사용자에 의해 지정된 순서일 수 있다.
구체적으로 언어별 사전 DB(613) 및 번역 기록 DB(614)을 이용하여 사용자 또는 문맥에 최적화된 번역 결과를 생성할 수 있다. 또한 번역부(624)는 사용자 인터페이스(601)로부터 수신한 번역 결과에 대한 사용자의 피드백 정보를 이용하여 새로운 번역 결과를 생성하고, 이에 대한 정보를 번역 기록 DB(614)에 전달하여 저장할 수 있다.
도 47에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 가시화된 문장을 이용하여 번역을 수행하는 컴퓨팅 장치(100)는 프로세서(710), 메모리(720), 디스플레이(750) 및 스토리지(760)를 포함하고 몇몇 실시예에서 네트워크 인터페이스(740) 및 시스템 버스를 더 포함할 수 있다.
메모리(720)에 로드 되어 저장되는 하나 이상의 인스트럭션(731, 732, 733)은 프로세서(710)를 통하여 실행된다. 본 실시예에 따른 번역 방법을 수행하는 컴퓨팅 장치(100)는 별도의 설명이 없더라도 도 1 내지 도 47을 참조하여 설명한 번역 방법을 수행할 수 있는 점을 유의한다.
네트워크 인터페이스(740)는 외부 서버로부터 형태소 DB(761), 사전 DB(762)를 수신할 수 있다. 상기 수신된 정보는 스토리지(760)에 저장되도록 할 수 있다.
스토리지(760)는 상기 형태소 DB(761), 사전 DB(762) 및 번역 기록 DB(701)를 저장할 수 있다.
상기 하나 이상의 인스트럭션은, 문장을 형태소 단위로 분할하는 형태소 추출 인스트럭션(731), 상기 문장에 대응되는 그래프를 생성하는 그래프 변환 인스트럭션(732) 및 문장의 형태소 각각에 대해 번역을 수행하는 형태소 번역 인스트럭션(733)을 포함할 수 있다.
일 실시예에서, 형태소 추출 인스트럭션(731)은 문장을 형태소 단위로 분할하여 명사 형태소 및 명사 형태소가 아닌 기타 형태소로 분류할 수 있다.
일 실시예에서, 그래프 변환 인스트럭션(732)은 상기 명사 형태소 및 기타 형태소에 대응되도록 그래프의 노드 및 간선을 생성할 수 있다.
일 실시예에서, 형태소 번역 인스트럭션(733)은 상기 명사 형태소 및 기타 형태소에 대응되는 그래프의 구성 요소 각각에 대하여 번역하고자 하는 언어로 번역하여 표시할 수 있다.
지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.
상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.

Claims (24)

  1. 컴퓨팅장치에 의해 수행되는 방법에 있어서,
    제1 언어의 제1 문장의 데이터를 얻되, 상기 제1 문장은 제1 형태소 및 제2 형태소를 포함하는 것인, 단계;
    상기 제1 문장을 표현하는 제1 그래프를 생성하되, 상기 제1 그래프의 노드(node)는 상기 제1 문장의 각각의 제1 형태소에 대응되는 것이고, 상기 제1 그래프의 간선(edge)은 상기 제1 문장의 각각의 제2 형태소에 대응되는 것이며, 상기 제1 그래프를 제1 순서로 순회(traverse)하면서 각 노드와 각 간선에 대응되는 표현을 연결(concatenation)하면 상기 제1 문장이 완성되도록 상기 제1 그래프의 노드 및 간선을 연결하는 단계;
    상기 제1 그래프의 각 노드에 대응되는 제1 언어의 표현과 각 간선에 대응되는 제1 언어의 표현을 각각 제2 언어의 표현으로 대체하는 단계;
    상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이한 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계;및
    상기 제1 문장의 제2 언어로의 번역 결과로서 상기 제2 문장을 출력하는 단계를 포함하는,
    문장 번역 방법.
  2. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 형태소가 제1 문장에 포함되지 않은 경우도 상기 제1 형태소에 대응되는 노드를 포함하는 제1 그래프를 생성하는 단계를 포함하는,
    문장 번역 방법
  3. 제2 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 형태소가 무형대명사(null pronoun) 및 동일 명사구로서 삭제된 제1 형태소 중 어느 하나인 경우, 상기 제1 형태소에 대응되는 노드를 포함하는 제1 그래프를 생성하는 단계를 포함하는,
    문장 번역 방법
  4. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제2 형태소가 형용사 및 한정사 중 어느 하나인 경우, 상기 제2 형태소에 대응되는 자기 간선을 포함하는 상기 제1 그래프를 생성하는 단계를 포함하는,
    문장 번역 방법.
  5. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제2 형태소가 동사 및 전치사 중 어느 하나인 경우, 상기 제2 형태소에 대응되는 연결 간선을 포함하는 상기 제1 그래프를 생성하는 단계를 포함하는,
    문장 번역 방법.
  6. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제2 형태소가 상기 제1 문장에 포함되지 않은 경우도 상기 제2 형태소에 대응되는 간선을 포함하는 제1 그래프를 생성하는 단계를 포함하는,
    문장 번역 방법
  7. 제6 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제2 형태소가 제로 접합부(zero copula)인 경우 상기 제2 형태소에 대응되는 간선을 포함하는 제1 그래프를 생성하는 단계를 포함하는,
    문장 번역 방법.
  8. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 그래프의 간선에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선의 출발지 및 목적지 중 어느 하나 이상을 변경하는 단계; 및
    상기 변경된 간선을 포함하는 제1 그래프 생성하는 단계를 포함하는,
    문장 번역 방법.
  9. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 다른 노드와 병합하는 단계; 및
    상기 병합된 노드를 포함하는 제1 그래프 생성하는 단계를 포함하는,
    문장 번역 방법.
  10. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하는 단계; 및
    상기 분할된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함하는,
    문장 번역 방법.
  11. 제10 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하여 두개 이상의 새로운 노드로 대체되는 단계; 및
    상기 대체된 두개 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함하는,
    문장 번역 방법.
  12. 제10 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 그래프의 노드에 대한 기 지정된 사용자의 입력에 응답하여, 상기 노드를 분할하여 하나 이상의 노드 및 하나 이상의 간선으로 대체되는 단계; 및
    상기 대체된 하나 이상의 노드 및 하나 이상의 간선을 포함하는 제1 그래프 생성하는 단계를 포함하는,
    문장 번역 방법.
  13. 제1 항에 있어서,
    상기 제1 그래프를 생성하는 단계는,
    상기 제1 그래프의 간선 및 노드 중 어느 하나에 대한 기 지정된 사용자의 입력에 응답하여, 상기 간선과 노드가 병합되어 새로운 노드로 대체되는 단계; 및
    상기 대체된 하나 이상의 노드를 포함하는 제1 그래프 생성하는 단계를 포함하는,
    문장 번역 방법.
  14. 제1 항에 있어서,
    상기 제2 언어의 제2 문장을 얻는 단계는,
    상기 각 노드에 대응되는 제2 언어의 표현 또는 각 간선에 대응되는 제2 언어의 표현중 어느 하나 이상이 생략 가능한 형태소인 경우, 상기 생략 가능한 제2 언어의 표현을 연결하지 않고, 상기 제2 언어의 제2 문장을 얻는 단계를 포함하는,
    문장 번역 방법.
  15. 제14 항에 있어서,
    상기 제2 언어의 제2 문장을 얻는 단계는,
    상기 각 노드에 대응되는 제2 언어의 표현이 무형 대명사 또는 동일 명사구로서 삭제된 경우 중 어느 하나 이거나, 상기 간선에 대응되는 제2 언어의 표현이 제로 접합부인 경우 중 어느 하나인 경우 상기 생략 가능한 제2 언어의 표현을 연결하지 않고, 상기 제2 언어의 제2 문장을 얻는 단계를 포함하는,
    문장 번역 방법.
  16. 제1 항에 있어서,
    상기 제2 언어의 제2 문장을 얻는 단계는,
    상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이하고, 이전 사용자의 번역 기록을 이용하여 지정된 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계를 포함하는,
    문장 번역 방법.
  17. 제1 항에 있어서,
    상기 제2 언어의 제2 문장을 얻는 단계는,
    기 지정된 사용자의 입력을 수신하는 것에 응답하여, 상기 제1 그래프를 상기 제2 순서와 적어도 일부는 상이한 제3 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 단계를 포함하는,
    문장 번역 방법.
  18. 컴퓨팅장치에 의해 수행되는 방법에 있어서,
    제1 언어로 표현된 제1 단어의 의미를 포함하는 상기 제1 단어의 제1 태그 정보를 생성하는 단계;
    상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 단계; 및
    상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함하는
    문장 번역 방법.
  19. 제18 항에 있어서,
    상기 제4 문장의 데이터를 제1 단어의 제3 태그 정보를 생성하는 단계는,
    상기 제1 단어를 포함하는 제3 문장의 데이터를 얻는 것에 응답하여, 상기 제3 문장의 데이터를 이용하여 상기 제1 단어의 제2 태그 정보를 생성하되, 상기 제1 단어의 제2 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 단계;
    상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제2 태그 정보를 포함하는 것인, 단계; 및
    상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 단계를 포함하는
    문장 번역 방법.
  20. 제18 항에 있어서,
    상기 제1 단어의 제1 태그 정보를 생성하는 단계는,
    상기 제1 언어에만 존재하는 상기 제1 단어의 속성과 관련된 정보를 더 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함하는,
    문장 번역 방법.
  21. 제20 항에 있어서,
    상기 제1 단어의 제1 태그 정보를 생성하는 단계는,
    상기 제1 단어가 성별에 따라 다르게 표현되지 않는 경우, 상기 제1 단어의 성별 데이터를 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함하는,
    문장 번역 방법.
  22. 제20 항에 있어서,
    상기 제1 단어의 제1 태그 정보를 생성하는 단계는,
    상기 제1 언어 및 제2 언어 중 어느 하나 이상에 높임말이 존재하는 경우, 제1 단어의 계급이 포함된 계급 정보를 포함하는 상기 제1 태그 정보를 생성하는 단계를 포함하는,
    문장 번역 방법.
  23. 문장 번역 프로그램이 로드 되는 메모리; 및
    상기 메모리에 로드된 문장 번역 프로그램을 실행하는 프로세서를 포함하되,
    문장 번역 프로그램은,
    제1 언어의 제1 문장의 데이터를 얻되, 상기 제1 문장은 제1 형태소 및 제2 형태소를 포함하는 것인, 인스트럭션(instruction);
    상기 제1 문장을 표현하는 제1 그래프를 생성하되, 상기 제1 그래프의 노드(node)는 상기 제1 문장의 각각의 제1 형태소에 대응되는 것이고, 상기 제1 그래프의 간선(edge)은 상기 제1 문장의 각각의 제2 형태소에 대응되는 것이며, 상기 제1 그래프를 제1 순서로 순회(traverse)하면서 각 노드와 각 간선에 대응되는 표현을 연결(concatenation)하면 상기 제1 문장이 완성되도록 상기 제1 그래프의 노드 및 간선을 연결하는 인스트럭션;
    상기 제1 그래프의 각 노드에 대응되는 제1 언어의 표현과 각 간선에 대응되는 제1 언어의 표현을 각각 제2 언어의 표현으로 대체하는 인스트럭션;
    상기 제1 그래프를 상기 제1 순서와 적어도 일부는 상이한 제2 순서로 순회하면서 각 노드와 각 간선에 대응되는 제2 언어의 표현을 연결함으로써, 상기 제2 언어의 제2 문장을 얻는 인스트럭션;및
    상기 제1 문장의 제2 언어로의 번역 결과로서 상기 제2 문장을 출력하는 인스트럭션을 포함하는,
    컴퓨팅장치.
  24. 문장 번역 프로그램이 로드 되는 메모리; 및
    상기 메모리에 로드된 문장 번역 프로그램을 실행하는 프로세서를 포함하되,
    문장 번역 프로그램은,
    제1 언어로 표현된 제1 단어의 의미를 포함하는 상기 제1 단어의 제1 태그 정보를 생성하는 인스트럭션(instruction);
    상기 제1 단어를 포함하는 번역 대상 문장인 제4 문장의 데이터를 얻는 것에 응답하여, 상기 제4 문장의 데이터를 이용하여 상기 제1 단어의 제3 태그 정보를 생성하되, 상기 제1 단어의 제3 태그 정보는 상기 제1 단어의 제1 태그 정보를 포함하는 것인, 인스트럭션; 및
    상기 제1 단어의 제3 태그 정보를 이용하여 상기 제4 문장을 제2 언어의 표현으로 대체하는 인스트럭션을 포함하는,
    컴퓨팅장치.
KR1020190034245A 2019-03-25 2019-03-26 문장의 중의성을 해결하고 생략된 문법 요소를 함께 표시하는 사용자 맞춤형 번역 방법 및 그 장치 KR102299001B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2020/004053 WO2020197257A1 (ko) 2019-03-25 2020-03-25 가시적 표현 요소를 이용한 번역 방법 및 그 장치
US17/484,990 US20220012437A1 (en) 2019-03-25 2021-09-24 Translating method using visually represented elements, and device therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190033379 2019-03-25
KR20190033379 2019-03-25

Publications (2)

Publication Number Publication Date
KR20200113693A true KR20200113693A (ko) 2020-10-07
KR102299001B1 KR102299001B1 (ko) 2021-09-07

Family

ID=72883755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190034245A KR102299001B1 (ko) 2019-03-25 2019-03-26 문장의 중의성을 해결하고 생략된 문법 요소를 함께 표시하는 사용자 맞춤형 번역 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR102299001B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565458B1 (ko) * 2022-09-05 2023-08-11 (주)허드슨에이아이 신경망 기반 음소 번역 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010037309A (ko) * 1999-10-15 2001-05-07 정명식 형태소 접속 그래프를 사용한 형태소 및 구문 분석 방법
KR20120062275A (ko) * 2010-12-06 2012-06-14 에스케이플래닛 주식회사 자동 번역 시스템에서 구문 분석 결과를 이용하여 외국어 문장의 문장 구조를 제공하는 방법 및 번역 장치, 그리고 단말기
US20130191109A1 (en) * 2006-10-10 2013-07-25 Abbyy Software Ltd. Translating Sentences Between Languages
KR20160114668A (ko) * 2014-01-28 2016-10-05 조몰 초어친 게엠베하 자동으로 텍스트의 의미를 검출하고 텍스트의 일의성을 측정하기 위한 방법
US20180101943A1 (en) 2016-10-06 2018-04-12 General Electric Technology Gmbh System, method and apparatus for locating the position of a component for use in a manufacturing operation
US9984071B2 (en) * 2006-10-10 2018-05-29 Abbyy Production Llc Language ambiguity detection of text

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010037309A (ko) * 1999-10-15 2001-05-07 정명식 형태소 접속 그래프를 사용한 형태소 및 구문 분석 방법
KR100303171B1 (ko) * 1999-10-15 2001-11-02 정명식 형태소 접속 그래프를 사용한 형태소 및 구문 분석 방법
US20130191109A1 (en) * 2006-10-10 2013-07-25 Abbyy Software Ltd. Translating Sentences Between Languages
US9984071B2 (en) * 2006-10-10 2018-05-29 Abbyy Production Llc Language ambiguity detection of text
KR20120062275A (ko) * 2010-12-06 2012-06-14 에스케이플래닛 주식회사 자동 번역 시스템에서 구문 분석 결과를 이용하여 외국어 문장의 문장 구조를 제공하는 방법 및 번역 장치, 그리고 단말기
KR20160114668A (ko) * 2014-01-28 2016-10-05 조몰 초어친 게엠베하 자동으로 텍스트의 의미를 검출하고 텍스트의 일의성을 측정하기 위한 방법
US20180101943A1 (en) 2016-10-06 2018-04-12 General Electric Technology Gmbh System, method and apparatus for locating the position of a component for use in a manufacturing operation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102565458B1 (ko) * 2022-09-05 2023-08-11 (주)허드슨에이아이 신경망 기반 음소 번역 시스템

Also Published As

Publication number Publication date
KR102299001B1 (ko) 2021-09-07

Similar Documents

Publication Publication Date Title
WO2018207723A1 (ja) 要約生成装置、要約生成方法及びコンピュータプログラム
US9721004B2 (en) Answering questions via a persona-based natural language processing (NLP) system
CN109460552B (zh) 基于规则和语料库的汉语语病自动检测方法及设备
US20220012437A1 (en) Translating method using visually represented elements, and device therefor
RU2721190C1 (ru) Обучение нейронных сетей с использованием функций потерь, отражающих зависимости между соседними токенами
US20200356556A1 (en) Assertion-based question answering
CN109871534B (zh) 中英混合语料的生成方法、装置、设备及存储介质
CN116187282B (zh) 文本复述模型的训练方法、文本复述方法及装置
Gordin et al. Reading Akkadian cuneiform using natural language processing
CN112784598A (zh) 思维导图的生成方法、装置、设备及存储介质
Bashir et al. Arabic natural language processing for Qur’anic research: a systematic review
US20230186033A1 (en) Guided text generation for task-oriented dialogue
Mohamadi et al. ChatGPT in the age of generative AI and large language models: a concise survey
US11645452B2 (en) Performance characteristics of cartridge artifacts over text pattern constructs
KR102299001B1 (ko) 문장의 중의성을 해결하고 생략된 문법 요소를 함께 표시하는 사용자 맞춤형 번역 방법 및 그 장치
CN112559711A (zh) 一种同义文本提示方法、装置及电子设备
Mesmia et al. ASRextractor: a tool extracting semantic relations between Arabic named entities
CN110516157A (zh) 一种文献检索方法、设备和存储介质
CN113011141A (zh) 佛经注解模型训练方法、佛经注解生成方法及相关设备
Zhang et al. Construction of MeSH-like obstetric knowledge graph
Yan Research on English Chinese Translation System for Tourism Based on Globish
Jiji et al. Comparative Study on Coreference resolution
Raza et al. Scientific VS non-scientific citation annotational complexity analysis using machine learning classifiers
Mattingly Introduction to Python for Humanists
Plhák Dialogue-based Exploration of Graphics for Users with a Visual Disability

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