KR20180005850A - 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치 - Google Patents

자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치 Download PDF

Info

Publication number
KR20180005850A
KR20180005850A KR1020160086036A KR20160086036A KR20180005850A KR 20180005850 A KR20180005850 A KR 20180005850A KR 1020160086036 A KR1020160086036 A KR 1020160086036A KR 20160086036 A KR20160086036 A KR 20160086036A KR 20180005850 A KR20180005850 A KR 20180005850A
Authority
KR
South Korea
Prior art keywords
sentence
language
feature vector
candidate
database
Prior art date
Application number
KR1020160086036A
Other languages
English (en)
Other versions
KR102565274B1 (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 KR1020160086036A priority Critical patent/KR102565274B1/ko
Priority to US15/404,941 priority patent/US10867136B2/en
Priority to EP17155528.7A priority patent/EP3267328B1/en
Priority to JP2017058860A priority patent/JP6923332B2/ja
Priority to CN201710256367.3A priority patent/CN107590135B/zh
Publication of KR20180005850A publication Critical patent/KR20180005850A/ko
Application granted granted Critical
Publication of KR102565274B1 publication Critical patent/KR102565274B1/ko

Links

Images

Classifications

    • G06F17/289
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Probability & Statistics with Applications (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

자동 통역 방법 및 자동 통역 장치는 제1 언어의 음성 신호를 인코딩하여 생성한 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성하고, 제1 언어의 문장을 인코딩하여 생성한 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하며, 제1 특징 벡터, 제1 언어의 문장, 제2 특징 벡터 및 제2 언어의 문장에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택한다.

Description

자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치{AUTOMATIC INTERPRETATION METHOD AND APPARATUS, AND MACHINE TRANSLATION METHOD AND APPARATUS}
아래의 실시예들은 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치에 관한 것이다.
정보 통신 기술 및 인터넷의 발달로 인해 사람들은 다양한 언어로 제작된 컨텐츠들을 제공받게 되었다. 특히, 글로벌 비즈니스화로 인해 다양한 언어를 사용하는 사용자들 간의 의사 소통 및 컨텐츠 번역 등을 위한 통역 및 번역 기술이 빠르게 발전하고 있다.
하지만, 동일 또는 유사한 의미를 전달하는 음성이라도 문장 표현 방식 또는 사용한 단어 등에 의해 통역 및 번역 결과가 매우 상이할 수 있다.
일 측에 따르면, 자동 통역 방법은 제1 언어의 음성 신호를 인코딩하여 제1 특징 벡터를 생성하는 단계; 상기 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성하는 단계; 상기 제1 언어의 문장을 인코딩하여 제2 특징 벡터를 생성하는 단계; 상기 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 단계; 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 후보 문장 리스트를 생성하는 단계; 및 상기 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 단계를 포함한다.
상기 후보 문장 리스트를 생성하는 단계는 데이터베이스로부터, 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 대응하는 후보 문장을 획득하는 단계를 포함할 수 있다.
상기 후보 문장을 획득하는 단계는 근사 k-NN(approximate k-Nearest Neighbor) 알고리즘을 이용하여, 상기 데이터베이스에 저장된 복수의 원소(elements)들 중 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터, 및 상기 제2 언어의 후보 문장 중 적어도 하나와 유사한 원소를 검색하는 단계를 포함할 수 있다.
상기 후보 문장 리스트를 생성하는 단계는 데이터베이스로부터 상기 제1 특징 벡터와 유사한 특징 벡터에 매칭된 제1 통역 결과를 획득하는 단계; 상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장에 매칭된 제2 통역 결과를 획득하는 단계; 상기 데이터베이스로부터 상기 제2 특징 벡터와 유사한 특징 벡터에 매칭된 제3 통역 결과를 획득하는 단계; 및 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장에 매칭된 제4 통역 결과를 획득하는 단계 중 적어도 하나를 포함할 수 있다.
상기 후보 문장 리스트를 생성하는 단계는 상기 획득된 적어도 하나의 통역 결과를 상기 후보 문장 리스트에 추가하는 단계; 및 상기 제2 언어의 문장을 상기 후보 문장 리스트에 추가하는 단계를 더 포함할 수 있다.
상기 제2 통역 결과를 획득하는 단계는 상기 제1 언어의 문장을 벡터로 변환하는 단계; 및 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장을 검출하는 단계를 포함할 수 있다.
상기 제4 통역 결과를 획득하는 단계는 상기 제2 언어의 문장을 벡터로 변환하는 단계; 및 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장을 검출하는 단계를 포함할 수 있다.
상기 제2 언어의 최종 문장을 선택하는 단계는 상기 제2 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하는 단계; 및 상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는 단계를 포함할 수 있다.
상기 제1 특징 벡터를 생성하는 단계는 미리 정해진 프레임 속도에 기초하여 상기 제1 언어의 음성 신호를 샘플링하는 단계; 상기 프레임들에 대응하는 입력 벡터들을 생성하는 단계; 음성 인식을 위한 인코더에 상기 입력 벡터들을 순차적으로 입력하는 단계; 및 상기 음성 인식을 위한 인코더로부터 출력되는 상기 제1 특징 벡터를 획득하는 단계를 포함할 수 있다.
상기 제1 언어의 문장을 생성하는 단계는 상기 제1 특징 벡터를 음성 인식을 위한 디코더에 입력하는 단계; 상기 음성 인식을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제1 언어의 문장으로 선택하는 단계를 포함할 수 있다.
상기 제2 특징 벡터를 생성하는 단계는 상기 제1 언어의 문장을 복수의 서브 워드들로 분할하는 단계; 기계 번역을 위한 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하는 단계; 및 상기 기계 번역을 위한 인코더로부터 출력되는 상기 제2 특징 벡터를 획득하는 단계를 포함할 수 있다.
상기 제2 언어의 문장을 생성하는 단계는 상기 제2 특징 벡터를 기계 번역을 위한 디코더에 입력하는 단계; 상기 기계 번역을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는 단계를 포함할 수 있다.
상기 자동 번역 방법은 상기 제1 특징 벡터, 상기 제1 언어의 문장 및 상기 제2 특징 벡터를 데이터베이스에 저장하는 단계; 및 상기 제1 특징 벡터, 상기 제1 언어의 문장, 및 상기 제2 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
일 측에 따르면, 기계 번역 방법은 제1 언어의 문장을 인코딩하여 특징 벡터를 생성하는 단계; 상기 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 단계; 상기 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 후보 문장 리스트를 생성하는 단계; 및 상기 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 단계를 포함한다.
상기 후보 문장 리스트를 생성하는 단계는 데이터베이스로부터 데이터베이스로부터 상기 특징 벡터와 유사한 특징 벡터에 매칭된 제1 번역 결과를 획득하는 단계; 및 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장에 매칭된 제2 번역 결과를 획득하는 단계 중 적어도 하나를 포함할 수 있다.
상기 후보 문장 리스트를 생성하는 단계는 상기 획득된 적어도 하나의 번역 결과를 상기 후보 문장 리스트에 추가하는 단계; 및 상기 제2 언어의 문장을 상기 후보 문장 리스트에 추가하는 단계를 더 포함할 수 있다.
상기 제2 언어의 최종 문장을 선택하는 단계는 상기 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하는 단계; 및 상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는 단계를 포함할 수 있다.
상기 특징 벡터를 생성하는 단계는 상기 제1 언어의 문장을 복수의 서브 워드들로 분할하는 단계; 기계 번역을 위한 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하는 단계; 및 상기 기계 번역을 위한 인코더로부터 출력되는 상기 특징 벡터를 획득하는 단계를 포함할 수 있다.
상기 제2 언어의 문장을 생성하는 단계는 상기 특징 벡터를 기계 번역을 위한 디코더에 입력하는 단계; 상기 기계 번역을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는 단계를 포함할 수 있다.
상기 기계 번역 방법은 상기 제1 언어의 문장 및 상기 특징 벡터를 데이터베이스에 저장하는 단계; 및 상기 제1 언어의 문장 및 상기 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
일 측에 따르면, 자동 통역 장치는 제1 언어의 음성 신호를 인코딩하여 생성한 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성하는 음성 인식기; 상기 제1 언어의 문장을 인코딩하여 생성한 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 번역기; 및 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 프로세서를 포함한다.
상기 자동 통역 장치는 데이터베이스를 포함하는 메모리를 더 포함하고, 상기 프로세서는 상기 데이터베이스로부터, 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 대응하는 후보 문장을 획득할 수 있다.
상기 프로세서는 근사 k-NN(approximate k-Nearest Neighbor) 알고리즘을 이용하여, 상기 데이터베이스에 저장된 복수의 원소(elements)들 중 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터, 및 상기 제2 언어의 후보 문장 중 적어도 하나와 유사한 원소를 검색할 수 있다.
상기 프로세서는 데이터베이스로부터 상기 제1 특징 벡터와 유사한 특징 벡터에 매칭된 제1 통역 결과, 상기 제1 언어의 문장과 유사한 문장에 매칭된 제2 통역 결과, 상기 제2 특징 벡터와 유사한 특징 벡터에 매칭된 제3 통역 결과, 상기 제2 언어의 문장과 유사한 문장에 매칭된 제4 통역 결과 중 적어도 하나를 획득할 수 있다.
상기 프로세서는 상기 획득된 적어도 하나의 통역 결과를 상기 후보 문장 리스트에 추가하고, 상기 제2 언어의 문장을 상기 후보 문장 리스트에 더 추가할 수 있다.
상기 프로세서는 상기 제1 언어의 문장을 벡터로 변환하고, 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장을 검출할 수 있다.
상기 프로세서는 상기 제2 언어의 문장을 벡터로 변환하고, 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장을 검출할 수 있다.
상기 번역기는 상기 제2 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하고, 상기 프로세서는 상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택할 수 있다.
상기 프로세서는 미리 정해진 프레임 속도에 기초하여 상기 제1 언어의 음성 신호를 샘플링하고, 상기 프레임들에 대응하는 입력 벡터들을 생성하고, 상기 음성 인식기의 인코더에 상기 입력 벡터들을 순차적으로 입력하며, 상기 음성 인식기의 인코더로부터 출력되는 상기 제1 특징 벡터를 획득할 수 있다.
상기 프로세서는 상기 제1 특징 벡터를 상기 음성 인식기의 디코더에 입력하고, 상기 음성 인식기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제1 언어의 문장으로 선택할 수 있다.
상기 프로세서는 상기 제1 언어의 문장을 복수의 서브 워드들로 분할하고, 상기 번역기의 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하며, 상기 번역기의 인코더로부터 출력되는 상기 제2 특징 벡터를 획득할 수 있다.
상기 프로세서는 상기 제2 특징 벡터를 상기 번역기의 디코더에 입력하고, 상기 번역기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택할 수 있다.
상기 프로세서는 상기 제1 특징 벡터, 상기 제1 언어의 문장 및 상기 제2 특징 벡터를 데이터베이스에 저장하고, 상기 제1 특징 벡터, 상기 제1 언어의 문장, 및 상기 제2 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장할 수 있다.
일 측에 따르면, 기계 번역 장치는 제1 언어의 문장을 인코딩하여 생성한 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 번역기; 및 상기 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 프로세서를 포함한다.
상기 기계 번역 장치는 데이터베이스를 포함하는 메모리를 더 포함하고, 상기 프로세서는 상기 데이터베이스로부터 특징 벡터와 유사한 특징 벡터에 매칭된 제1 번역 결과, 상기 제2 언어의 문장과 유사한 문장에 매칭된 제2 번역 결과 중 적어도 하나를 획득할 수 있다.
상기 프로세서는 상기 획득된 적어도 하나의 번역 결과를 상기 후보 문장 리스트에 추가하고, 상기 제2 언어의 문장을 상기 후보 문장 리스트에 더 추가할 수 있다.
상기 번역기는 상기 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하고, 상기 프로세서는 상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택할 수 있다.
상기 프로세서는 상기 제1 언어의 문장을 복수의 서브 워드들로 분할하고, 상기 번역의 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하며, 상기 번역기의 인코더로부터 출력되는 상기 특징 벡터를 획득할 수 있다.
상기 프로세서는 상기 특징 벡터를 상기 번역기의 디코더에 입력하고, 상기 번역기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택할 수 있다.
상기 프로세서는 상기 제1 언어의 문장 및 상기 특징 벡터를 데이터베이스에 저장하고, 상기 제1 언어의 문장 및 상기 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장할 수 있다.
도 1은 일 실시예에 따른 자동 통역 장치의 동작 원리를 설명하기 위한 도면.
도 2는 일 실시예에 따른 자동 통역 장치의 구성 및 통역 방법을 설명하기 위한 도면.
도 3은 일 실시예에 따른 기계 번역 장치의 구성 및 번역 방법을 설명하기 위한 도면.
도 4는 일 실시예에 따른 자동 통역 장치에 포함된 음성 인식기 및 번역기의 구성 및 동작을 설명하기 위한 도면.
도 5는 일 실시예에 따라 음성 신호로부터 특징을 추출하는 방법을 설명하기 위한 도면.
도 6은 일 실시예에 따른 음성 인식기의 음성 인식 방법을 설명하기 위한 도면.
도 7은 다른 실시예에 따른 음성 인식 방법을 설명하기 위한 도면.
도 8은 일 실시예에 따른 번역기를 구성하는 뉴럴 네트워크의 구조 및 동작을 설명하기 위한 도면.
도 9는 일 실시예에 따라 데이터베이스에 저장되는 정보들의 형태를 도시한 도면.
도 10은 일 실시예에 따라 제2 언어의 최종 문장을 선택하는 방법을 설명하기 위한 도면.
도 11은 일 실시예에 따른 자동 통역 방법을 나타낸 흐름도.
도 12는 일 실시예에 따라 제1 특징 벡터를 생성하는 방법을 나타낸 흐름도.
도 13은 일 실시예에 따라 제1 언어의 문장을 생성하는 방법을 나타낸 흐름도.
도 14는 일 실시예에 따라 제2 특징 벡터를 생성하는 방법을 나타낸 흐름도.
도 15는 일 실시예에 따라 제2 언어의 문장을 생성하는 방법을 나타낸 흐름도.
도 16은 일 실시예에 따라 후보 문장 리스트를 생성하는 방법을 나타낸 흐름도.
도 17은 일 실시예에 따라 제2 언어의 최종 문장을 선택하는 방법을 나타낸 흐름도.
도 18은 일 실시예에 따른 기계 번역 방법을 나타낸 흐름도.
도 19는 일 실시예에 따른 자동 통역 장치의 블록도.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의"와 "바로~간의" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
하기에서 설명될 실시예들은 자동차, 텔레비전, 핸드폰, 기타 전자 장치 등에 탑재되어 통역 및 번역을 제공하는 데에 사용될 수 있다. 실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 스마트 가전 기기, 및 웨어러블 디바이스 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템, 및 웨어러블 디바이스 등에 탑재되어 통역 앱으로 기능하거나, 외국인과의 화상 회의 시 번역 자막을 제공할 수도 있다. 또한, 자가용, 버스, 택시 등을 이용하는 경우, 서로 다른 언어를 사용하는 승객과 운전자 간의 통역에 이용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 자동 통역 장치의 동작 원리를 설명하기 위한 도면이다. 도 1을 참조하면, 일 실시예에 따른 자동 통역 장치(130)가 사용자(110)에 의하여 발화(發話)된 제1 언어를 제2 언어로 자동 통역하는 과정이 도시된다. 자동 통역 장치(130)는 에이전트(agent)(133)와 번역기(136)를 포함한다. 아래에서 상세하게 설명하겠으나, 자동 통역 장치는 음성 인식기와 기계 번역기로 구성될 수 있다. 음성 인식기는 사용자의 음성을 제1 언어의 문장으로 변환하고, 기계 번역기는 제1 언어의 문장을 제2 언어의 문장으로 변환할 수 있다. 도 1에 도시된 번역기(136)는 기계 번역기에 대응하고, 에이전트(133)는 자동 통역 과정을 관제하는 제어기(controller)와 음성 인식기를 포함하는 것으로 이해될 수 있다. 에이전트(133)와 번역기(136)는 각각 하나 또는 그 이상의 소프트웨어 모듈, 하나 또는 그 이상의 하드웨어 모듈, 또는 이들의 다양한 조합으로 구현될 수 있다.
일 예로, 사용자(110)는 자동 통역 장치(130)에게 제1 언어로 표현된 A를 제2 언어로 통역해 줄 것을 요청할 수 있다. 이 경우, A는 제1 언어의 음성 신호일 수 있다.
음성 신호 A가 자동 통역 장치(130)로 입력되면(101), 자동 통역 장치(130)의 에이전트(133)는 음성 신호 A를 인식하여 제1 언어의 문장 A를 생성할 수 있다. 문장 A는 텍스트 형태의 데이터일 수 있다. 자동 통역 장치(130)는 번역기(136)에게 문장 A의 번역을 요청할 수 있다(102).
번역기(136)는 문장 A의 초기 번역 결과로서 제2 언어의 문장 A'를 생성하여 에이전트(133)에게 제공할 수 있다(103). 에이전트(133)는 데이터베이스에 미리 저장되어 있던 제2 언어의 문장 B'와 제2 언어의 문장 C'를 번역기(136)로 제공하여, 번역기(136)로 하여금 A', B', 및 C' 중 최적 번역 결과를 선택하도록 할 수 있다(104). 여기서, 문장 B'과 문장 C'은 음성 신호 A의 유사 발화를 통역한 결과로서 데이터베이스에 미리 저장되어 있는 것들일 수 있다. 예를 들어, 자동 통역 장치(130)는 과거에 음성 신호 A와 발화가 유사한 음성 신호 B의 통역 요청을 처리하는 과정에서 문장 B'을 생성하고, 생성된 문장 B'을 데이터베이스에 저장할 수 있다. 또한, 음성 신호 A와 발화가 유사한 음성 신호 C를 통역하는 과정에서 문장 C'가 데이터베이스에 저장될 수 있다.
번역기(136)는 초기 번역 결과인 문장 A'와 유사 발화에 기초하여 획득된 문장 B' 및 문장 C' 중 최적의 번역 결과를 A의 최종 번역 결과로 선택하여 에이전트(133)에게 전달할 수 있다(105). 예를 들어, 번역기(136)는 초기 번역 결과인 문장 A'에 비하여 유사 발화에 기초하여 획득된 문장 B'가 더 좋은 번역 결과라고 판단할 수 있다.
번역기(136)는 제1 언어의 A를 제2 언어로 번역하는 성능에 비해, 제2 언어의 후보 문장들 어느 것이 제1 언어의 A 를 잘 번역한 결과인지를 판단하는 성능이 더 좋다는 점을 이용한다. 번역기(136)는 이전 번역 과정에서 누적된 번역 결과들을 현재의 번역 결과와 함께 이용하되, 번역 결과물들 중 가장 높은 스코어를 가지는 번역 결과를 최종 번역 결과로서 선택함으로써 유사 발화에 강건한 번역 결과를 제공할 수 있다.
에이전트(133)는 최종 통역 결과를 사용자(110)에게 전달할 수 있다(106). 에이전트(133)는 최종 통역 결과를 제2 언어의 텍스트 형태로 사용자(110)에게 제공하거나, TTS(Text to Speech) 기술을 이용하여 최종 통역 결과를 제2 언어의 음성 형태로 사용자(110)에게 제공할 수 있다.
에이전트(133)와 번역기(136)는 각각 사용자 단말이나 서버에서 구동되도록 구현될 수 있다. 일 예로, 에이전트(133)와 번역기(136)는 모두 스마트 폰 등 사용자 단말에서 동작할 수 있다. 다른 예로, 에이전트(133)와 번역기(136)는 모두 서버에서 동작할 수 있다. 또 다른 예로, 에이전트(133)는 사용자 단말에서 구동되고, 번역기(136)는 서버에서 구동될 수 있다. 전술한 사항들은 예시적인 사항에 불과하고, 실시예들은 다양하게 변형될 수 있다. 예를 들어, 에이전트(133)에 포함된 제어기만 사용자 단말에서 구동되고, 음성 인식기와 기계 번역기는 서버에서 구동될 수도 있다.
실시예에 따라서, 자동 통역 장치(130)는 번역만을 수행하는 기계 번역 장치일 수 있다. 자동 통역 장치(130)가 통역 및 번역을 모두 수행하는 자동 통역 장치로 동작하는 경우의 구성 및 동작은 도 2를 참조하여 설명하고, 번역만을 수행하는 기계 번역 장치로 동작하는 경우의 구성 및 동작은 도 3을 참조하여 설명한다.
도 2는 일 실시예에 따른 자동 통역 장치의 구성 및 통역 방법을 설명하기 위한 도면이다. 도 2를 참조하면, 일 실시예에 따른 자동 통역 장치(200)는 음성 인식기(210), 번역기(230), 및 데이터베이스(DB)(250)를 포함할 수 있다.
음성 인식기(210)는 음성 인식을 위한 인코더(encoder)(211) 및 디코더(decoder)(213)를 포함할 수 있다. 또한, 번역기(230)는 기계 번역을 위한 인코더(231) 및 디코더(233)를 포함할 수 있다.
자동 통역 장치(200)는 통역 작업을 수행하면서, 음성 인식기(210) 및 번역기(230) 각각에 포함된 인코더(211, 231) 및 디코더(213,233)의 결과물(예를 들어, 추상화된 음성 정보, 음성 인식 결과, 추상화된 문장 정보, 번역 결과 등)을 수집하여 데이터베이스(250)에 저장할 수 있다.
예를 들어, "강남역까지 어떻게 가죠"라는 사용자의 음성 신호가 자동 통역 장치(200)로 입력되면, 자동 통역 장치(200)는 음성 신호로부터 추출된 특징을 음성 인식기(210)에 제공하고, 음성 인식기(210)로부터 음성 인식 결과를 획득할 수 있다. 음성 인식 결과는 사용자의 음성에 대응하는 제1 언어의 문장일 수 있다.
자동 통역 장치(200)는 음성 인식 결과를 번역기(230)에 제공하고, 번역기(230)로부터 초기 번역 결과를 획득할 수 있다. 예를 들어, 초기 번역 결과는 "I'll go to Gangnam?"일 수 있다. 실시예에 따라, 번역기(230)의 초기 번역 결과는 "I'll go to Gangnam?" 이외에도 다수 개가 생성될 수 있다. 자동 통역 장치(200)는 번역기(230)의 디코더(233)에 의하여 출력된 초기 번역 결과를 번역 후보(또는, 후보 문장)로 선정할 수 있다. 번역 후보는 예를 들어, 후보 문장 리스트에 저장될 수 있다.
자동 통역 장치(200)는 "강남역까지 어떻게 가죠?"를 번역하는 과정에서 생성된 인코더(211, 231) 및 디코더(213,233)의 결과물들(예를 들어, 추상화된 음성 정보, 음성 인식 결과, 추상화된 문장 정보, 번역 결과)과 유사한 정보 원소(information element)를 데이터베이스(250)에서 검색할 수 있다. 정보 원소는 추상화된 음성 정보, 음성 인식 결과, 추상화된 문장 정보, 번역 결과 중 어느 하나일 수 있다. 자동 통역 장치(200)는 검색된 정보 원소에 매칭하여 저장된 최종 문장들(예를 들어, "How do I get to length Gangnam?", "How do I get to Gangnam Station?" 등)을 데이터베이스(250)에서 검색할 수 있다. 자동 통역 장치(200)는 검색된 최종 문장들을 번역 후보로서 후보 문장 리스트에 추가할 수 있다.
이처럼 후보 문장 리스트는 초기 번역 결과에 해당하는 문장 및 데이터베이스로부터 획득된 문장을 포함할 수 있다. 이로 인하여, 후보 문장 리스트에는 현재 번역 결과 및 과거의 번역 결과들이 함께 포함될 수 있다. 예를 들어, 후보 문장 리스트에는 "I'll go to Gangnam?", "How do I get to length Gangnam?", "How do I get to Gangnam Station?" 등의 문장들이 포함될 수 있다.
자동 통역 장치(200)는 유사 번역 결과에 대응하는 최종 문장들이 추가된 후보 문장 리스트에 대하여 최종적인 스코어를 재산정(rescoring)할 수 있다. 예를 들어, 자동 통역 장치(200)는 현재 통역 중인 발화에 기초하여 후보 문장들의 최종적인 스코어들을 재산정할 수 있다. 자동 통역 장치(200)는 최종적인 스코어를 재산정 하기 위하여 디코더(233)를 이용할 수 있다. 이때, 디코더(233)는 현재의 번역 과정에서의 번역 결과보다 데이터베이스(250)에 미리 저장되어 있던 번역 결과에 대하여 더 높은 스코어를 부여할 수도 있다.
자동 통역 장치(200)는 재산정 결과에 따라 최종 결과를 생성할 수 있다. 예를 들어, 후보 문장 리스트에 포함된 번역 결과들의 재산정 결과, 문장 "How do I get to Gangnam Station?"의 스코어가 가장 높다면, 자동 통역 장치는 "How do I get to Gangnam Station?"을 최종 결과로 선택할 수 있다.
이하, [표 1]과 같은 음성 신호들이 자동 통역 장치(200)를 통해 번역되는 시나리오를 구체적으로 설명한다.
Figure pat00001
1번 음성 신호("강남역까지 어떻게 가나요?")가 자동 통역 장치(200)에 입력된 경우, 데이터베이스(250)에는 기 저장된 정보 원소가 없으므로 번역기(230)의 초기 번역 결과(예를 들어, "How do I get to Gangnam?")만 번역 후보(n-best)로 선정되어 후보 문장 리스트에 저장될 수 있다. 이 경우, 초기 번역 결과가 그대로 최종 번역 결과가 될 수 있다.
2번 음성 신호("맛있는 짜장면 집 알려 주세요?")가 입력되면, 자동 통역 장치(200)는 번역기(230)를 이용하여 초기 번역 결과("Tell us delicious jajangmyen home.")를 생성한 후, 초기 번역 결과를 번역 후보(n-best)로 선정할 수 있다. 자동 통역 장치(200)는 데이터베이스(250)에서 초기 번역 과정에서 생성된 결과물(예를 들어, '추상화된 음성 정보', '음성 인식 결과', '추상화된 문장 정보', 및 '번역 결과')과 유사한 정보 원소가 있는지 살펴본다. 데이터베이스(250)에는 초기 번역 과정에서 생성된 결과물과 유사한 정보 원소가 존재하지 않으므로 번역 후보(n-best)가 추가로 선정되지 않는다. 이 경우에도 초기 번역 결과가 그대로 최종 번역 결과가 될 수 있다.
3번 음성 신호("강남역까지 가는 길이 어떻게 되나요?")가 입력되면, 자동 통역 장치(200)는 번역기(230)에서 초기 번역 결과("How do I get to length Gangnam?")를 생성한 후, 번역 후보(n-best)로 선정할 수 있다. 자동 통역 장치(200)는 데이터베이스(250)에서 초기 번역 과정에서 생성된 결과물과 유사한 정보 원소로 1번 음성 신호의 번역 결과('추상화된 음성 정보', '음성 인식 결과', '추상화된 문장 정보', 및 '번역 결과')를 검색할 수 있다. 자동 통역 장치(200)는 1번 음성 신호의 번역 결과에 대응하는 최종 문장("How do I get to Gangnam?")을 번역 후보(n-best)로 추가할 수 있다. 이때, 후보 문장 리스트는 번역 후보들인 "How do I get to length Gangnam?" 및 "How do I get to Gangnam?"를 포함할 수 있다. 자동 통역 장치(200)는 3번 음성 신호에 기초하여 후보 문장 리스트에 포함된 번역 후보들의 스코어를 계산하고, 번역 후보들 중 스코어가 높은 번역 후보(예를 들어, "How do I get to Gangnam?")를 최종 번역 결과로 선정할 수 있다.
4번 음성 신호("강남역까지 어떻게 가죠?")가 입력되면, 자동 통역 장치(200)는 초기 번역 결과("I'll go to Gangnam?")를 생성한 후, 번역 후보(n-best)로 선정한다. 자동 통역 장치(200)는 데이터베이스(250)에서 초기 번역 과정에서 생성된 결과물과 유사한 정보 원소에 기초하여, 1번 음성 신호의 번역 결과 및 2번 음성 신호의 번역 결과를 검색할 수 있다. 자동 통역 장치(200)는 1번 및 2번 음성 신호의 번역 결과들에 대응하는 최종 문장들("How do I get to Gangnam", "How do I get to length Gangnam?")을 번역 후보(n-best)로 추가할 수 있다. 이 경우, 후보 문장 리스트에 포함된 번역 후보들 중 스코어가 높은 번역 후보(예를 들어, "How do I get to Gangnam")가 최종 번역 결과로 선택될 수 있다.
데이터베이스(250)에서 정보 원소를 검색할 때, 자동 통역 장치(200)는 다양한 알고리즘을 이용할 수 있다. 예를 들어, 자동 통역 장치(200)는 근사 k-인접 이웃(approximate k-Nearest Neighbor(k-NN)) 알고리즘을 이용하여 인코더(211, 231) 및 디코더(213,233)의 결과물들과 유사한 정보 원소를 빠르게 검색할 수 있다. 또는, 자동 통역 장치(200)는 LSH(Locality Sensitive Hashing) 알고리즘, 그리디 필터링(greedy filtering) 등을 이용할 수도 있다.
자동 통역 장치(200)가 특징 벡터(제1 특징 벡터, 및/또는 제2 특징 벡터)의 유사 여부를 판단하는 방법은 다음과 같다. 자동 통역 장치(200)는 현재 통역 과정에서 생성된 특징 벡터(이하, '대상 특징 벡터')와 데이터베이스에 저장된 특징 벡터들 사이의 유클리드 거리를 계산할 수 있다. 예를 들어, 자동 통역 장치는 대상 특징 벡터와 데이터베이스에 저장된 특징 벡터 간의 유클리드 거리가 작을수록, 대상 특징 벡터와 데이터베이스에 저장된 특징 벡터가 서로 유사한 것으로 판단할 수 있다.
또는, 자동 통역 장치는 코사인 유사도(cosine similarity)를 이용하여 대상 특징 벡터와 데이터베이스에 저장된 특징 벡터들이 서로 유사한지 여부를 판단할 수 있다. 예를 들어, 자동 통역 장치는 대상 특징 벡터와 데이터베이스에 저장된 특징 벡터 간의 코사인 유사도가 '1'에 가까울수록, 대상 특징 벡터와 데이터베이스에 저장된 특징 벡터가 서로 유사한 것으로 판단할 수 있다. 유사도 판단의 임계치를 결정하는 것은 용이하지 않으므로, 자동 통역 장치(200)는 데이터베이스에 저장된 특징 벡터들을 유사도가 높은 순서대로 정렬하고, 이 중 상위 몇 % 또는 미리 설정된 개수에 해당하는 특징 벡터들을 대상 특징 벡터와 유사한 것으로 판단할 수 있다.
자동 통역 장치가 문장(제1 언어의 문장, 제2 언어의 문장)의 유사 여부를 판단하는 방법은 다음과 같다. 예를 들어, 자동 통역 장치(200)는 여러 문서들로 이루어진 문서군들 중 어떤 단어가 특정 문서 내에서 얼마나 자주 나타나는지 또는 얼마나 중요한지 등을 나타내는 통계적 수치인 TF-IDF(Term Frequency-inverse Document Frequency)를 이용하여 문장들 간의 유사 여부를 판단할 수 있다. TF(단어 빈도, term frequency)는 특정한 단어가 특정 문서 내에 얼마나 자주 등장하는지를 나타내는 값으로, 이 값이 높을수록 해당 문서에서 해당 단어가 더 중요하게 판단할 수 있다. 반면, 특정 단어가 여러 문서들로 이루어진 문서군에 걸쳐 자주 사용되는 경우, 해당 단어가 흔하게 등장한다는 것을 의미한다. 이것을 DF(문서 빈도, document frequency)라고 하며, 이 값의 역수를 IDF(역문서 빈도, inverse document frequency)라고 한다. TF-IDF는 TF와 IDF를 곱한 값이 될 수 있다.
자동 통역 장치는 TF-IDF를 이용하여 문장을 벡터로 변형하고, 벡터들 간의 유사도를 비교함으로써 현재 통역 과정에서 생성된 문장(이하, '대상 문장')과 데이터베이스에 저장된 문장들 간의 유사 여부를 판단할 수 있다. 유사도 판단의 임계치를 결정하는 것은 용이하지 않으므로, 자동 통역 장치(200)는 데이터베이스에 저장된 문장들을 유사도가 높은 순서대로 정렬하고, 이 중 상위 몇 % 또는 미리 설정된 개수에 해당하는 문장들을 대상 문장과 유사한 것으로 판단할 수 있다.
도면에 도시하지 않았으나, 실시예에 따라 데이터베이스(250)에는 음성 신호로부터 추출된 특징이 추가적으로 저장되고, 번역 후보(n-best)를 선정하기 위하여 음성 신호로부터 추출된 특징이 추가적으로 이용될 수도 있다.
도 3은 일 실시예에 따른 기계 번역 장치의 구성 및 번역 방법을 설명하기 위한 도면이다. 도 3을 참조하면, 기계 번역 장치(300)가 음성 인식을 제외한 기계 번역만을 수행하는 경우의 구성 및 동작이 도시된다. 기계 번역 장치(300)는 번역기(310) 및 데이터베이스(DB)(330)를 포함할 수 있다.
도 2에서 음성 인식기(210)의 추상화된 음성 정보 및 음성 인식 결과가 데이터베이스(250)에 저장되고, 번역 후보(n-best)를 선정하는 데에 이용되는 것과 달리, 기계 번역 장치(300)가 번역만을 수행하는 경우에 추상화된 음성 정보 및 음성 인식 결과는 이용되지 않는다. 도면에 도시하지 않았으나, 실시예에 따라 데이터베이스(330)에는 번역기(310)에 입력되는 제1 언어의 문장이 추가적으로 저장되고, 번역 후보(n-best)를 선정하기 위하여 제1 언어의 문장이 추가적으로 이용될 수도 있다. 전술한 사항을 제외한 나머지 동작은 도 2의 번역기(230) 및 데이터베이스(250)의 동작과 동일하므로, 번역기(310) 및 데이터베이스(330)의 나머지 동작에 관한 구체적인 설명은 생략한다.
도 4는 일 실시예에 따른 자동 통역 장치에 포함된 음성 인식기 및 번역기의 구성 및 동작을 설명하기 위한 도면이다. 도 4를 참조하면, 일 실시예에 따른 자동 통역 장치에 입력된 제1 언어의 음성 신호가 음성 인식기(210) 및 번역기(230)를 거쳐 제2 언어의 후보 문장으로 출력되는 과정이 도시된다.
음성 인식기(210)의 인코더(211)는 뉴럴 네트워크(212)으로 구성되고, 디코더(213)는 뉴럴 네트워크(214)로 구성될 수 있다. 또한, 번역기(230)의 인코더(231)는 뉴럴 네트워크(232)으로 구성되고, 디코더(233)는 뉴럴 네트워크(234)로 구성될 수 있다. 뉴럴 네트워크(212), 뉴럴 네트워크(214), 뉴럴 네트워크(232), 및 뉴럴 네트워크(234)는 서로 동일한 구조일 수도 있고, 서로 상이한 구조일 수도 있다.
일 실시예와 같이 인코더(211, 231) 및 디코더(213, 233)를 뉴럴 네트워크로 구성하는 경우, 인코더(211, 231) 및 디코더(213, 233)를 학습시키는 과정이 선행적으로 수행될 수 있다. 이때, 인코더(211, 231) 및 디코더(213, 233)를 학습시킨다는 것은 뉴럴 네트워크를 구성하는 파라미터 또는 가중치의 값을 결정하는 것으로 이해될 수 있다.
예를 들어, 제1 언어의 음성 신호("강남역까지 어떻게 가죠?")가 입력되면, 자동 통역 장치는 음성 신호로부터 특징을 추출할 수 있다. 자동 통역 장치가 음성 신호로부터 특징을 추출하는 방법은 도 5를 참조하여 설명한다.
음성 신호로부터 추출한 특징이 입력되면, 인코더(211)는 추출된 특징을 인코딩하여 제1 특징 벡터(예를 들어, {'2.542', '0.827', . . , '5.936'}의 실수 벡터)를 생성한다. 디코더(213)는 인코더(211)에서 생성된 제1 특징 벡터를 디코딩하여 음성 인식 결과로서 제1 언어의 문장(예를 들어, "강남역까지 어떻게 가죠?"의 문장)를 생성한다. 디코더(213)는 제1 언어의 문장의 서브 워드(sub-word)(또는 워드(word)) 단위로 출력할 수 있다. 서브 워드는 일반적인 문장에서 자주 사용되는 캐릭터들(characters)의 시퀀스로 이해될 수 있다. 인코더(211) 및 디코더(213)를 구성하는 뉴럴 네트워크(212, 214)에 대하여는 도 6 내지 도 7을 참조하여 설명한다.
디코더(213)는 제1 특징 벡터를 디코딩하여 m개의 제1 언어의 후보 문장들을 포함하는 m-베스트 리스트(m-Best list)를 생성할 수 있다. 디코더(213)는 예를 들어, 빔 서치(beam search) 알고리즘을 이용하여 제1 언어의 m-베스트 리스트를 생성할 수 있다. m 은 빔 서치 알고리즘의 복잡도(complexity)일 수 있다. m-베스트 리스트는 도 2 및 도 3에 도시된 번역 후보(n-best)와는 구별되는 개념으로, 음성 인식 후보에 해당하는 문장들을 포함할 수 있다.
m-베스트 리스트는 예를 들어, "강남역까지 어떻게 가죠?", "강남역으로 어떻게 가나요?", "강남역으로 가는 길을 알려줘", 및 "강남역까지 어떻게 갈까요?" 등과 같은 제1 언어의 문장들을 포함할 수 있다. 이때, m-베스트 리스트에 포함된 문장들 각각은 0.6, 0.05, 0.2, 0.1 등과 같은 스코어(확률 값)를 포함할 수 있다.
음성 인식기(210)는 리스코어링 모델(215)을 더 포함할 수 있다. 리스코어링 모델(215)은 스코어에 기반하여 문장의 순위를 매기거나, 문장의 스코어를 재산정할 수 있다. 리스코어링 모델(215)은 m개의 문장들 중 1-베스트의 문장을 출력할 수 있다.
번역기(230)의 인코더(231)는 제1 언어의 문장("강남역까지 어떻게 가죠?")를 인코딩하여 제2 특징 벡터를 생성할 수 있다. 인코더(231)는 제1 언어의 문장을 제2 특징 벡터로 인코딩하는 데에 뉴럴 네트워크(232)를 이용할 수 있다.
디코더(233)는 제2 특징 벡터를 디코딩하여 m 개의 제2 언어의 후보 문장들을 포함하는 제2 언어의 m-베스트 리스트(m-Best list)를 생성할 수 있다. m-베스트 리스트는 도 2 및 도 3에 도시된 번역 후보(n-best)와는 구별되는 개념으로, 초기 번역 후보에 해당하는 문장들을 포함할 수 있다. 디코더(233)는 제2 특징 벡터를 디코딩하는 데에 뉴럴 네트워크(234)를 이용할 수 있다. 디코더(233)는 예를 들어, 빔 서치 알고리즘을 이용하여 m-베스트 리스트를 생성할 수 있다.
일 실시예에서 인코더(231)의 입력 차원은 제1 언어의 '서브 워드'로 구성되는 사전의 차원이고, 디코더(233)의 출력 차원은 제2 언어의 '서브 워드'로 구성되는 사전의 차원일 수 있다. 사전의 차원은 사전에 포함된 서브 워드들의 수일 있다. 인코더(231)를 구성하는 뉴럴 네트워크(232) 및 디코더(233)를 구성하는 뉴럴 네트워크(234)의 구조 및 동작은 도 8을 참조하여 설명한다.
번역기(230)는 리스코어링 모델(235)를 더 포함할 수 있다. 일 예로, 리스코어링 모델(235)은 후보 문장들 각각의 원문장(original sentence)이 번역문(translated sentence)으로 번역될 확률값과 번역문이 원문장으로 번역될 확률값을 평균한 평균값을 이용하여 최종 문장을 선택할 수 있다. 다른 예로, 리스코어링 모델(235)은 제2 언어의 후보 문장을 디코딩하는 과정에서 산출된 스코어들을 그대로 제2 언어의 후보 문장의 스코어들로 결정할 수 있다. 일 예로, 후보 문장들에 대한 스코어는 해당 후보 문장이 나타날 수 있는 확률 값일 수 있다. 이 경우, 리스코어링 모델(235)은 '랭킹 모델(ranking model)'이라고도 불릴 수 있다.
리스코어링 모델(235)은 m개의 문장들 중 1-베스트의 문장을 출력할 수 있다. 예를 들어, 리스코어링 모델(235)은 가장 높은 스코어(예를 들어, 0.5)에 대응되는 후보 문장("I'll go to Gangnam?")을 초기 번역 결과로서 출력할 수 있다.
도 5는 일 실시예에 따라 음성 신호로부터 특징을 추출하는 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 일 실시예에 따른 자동 통역 장치는 미리 정해진 프레임 속도(frame rate)(예를 들어, 1초당 100 프레임)에 기초하여 제1 언어의 음성 신호를 샘플링할 수 있다. 자동 통역 장치는 프레임 단위로 특징(X1, X2, .. Xi, .. XL)을 추출하여 입력 벡터들을 생성할 수 있다. 각 프레임의 입력 벡터는 예를 들어, 40개의 포인트들로 구성될 수 있다.
도 6은 일 실시예에 따른 음성 인식기의 음성 인식 방법을 설명하기 위한 도면이다. 도 6을 참조하면, 일 실시예에 따른 음성 인식기(210)에서의 엔드-투-엔드(End- to-End) 음성 인식 과정이 도시된다. 음성 인식기(210)는 인코더와 디코더를 함께 포함하는 구조의 뉴럴 네트워크(610)를 이용할 수 있다. 예를 들어, 뉴럴 네트워크(610)은 도 4의 뉴럴 네트워크(212) 및 뉴럴 네트워크(214)가 통합된 형태의 뉴럴 네트워크일 수 있다. 뉴럴 네트워크(610)은 순환 뉴럴 네트워크(Recurrent Neural Network)일 수 있다.
도 5에서 프레임들에 대응하여 생성된 입력 벡터들(x1, x2, .. xi, .. xL)은 뉴럴 네트워크(610)의 인코더 부분에 순차적으로 입력될 수 있다. 뉴럴 네트워크(610)의 인코더 부분은 음성 요약 정보를 출력하며, 음성 요약 정보는 뉴럴 네트워크(610)의 디코더 부분에 입력될 수 있다. 음성 요약 정보는 추상화된 음성 정보에 해당하며, 데이터베이스에 저장될 수 있다.
뉴럴 네트워크(610)의 디코더 부분은 제1 언어의 문장을 구성하는 서브 워드들(y1, y2, .. yi, .. yL)을 순차적으로 출력할 수 있다. 출력되는 서브 워드는 뉴럴 네트워크(610)의 디코더 부분으로 재입력되어 다음 번 서브 워드를 인식하는 데에 이용될 수 있다. 뉴럴 네트워크(610)의 디코더 부분은 빔 서치 알고리즘을 이용하여 미리 정해진 수의 문장 시퀀스를 생성하고, 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 제1 언어의 문장("강남역까지 어떻게 가죠?")으로 선택할 수 있다. 제1 언어의 문장은 음성 인식 결과에 해당하며, 데이터베이스에 저장될 수 있다.
도 7은 다른 실시예에 따른 음성 인식 방법을 설명하기 위한 도면이다. 도 7을 참조하면, 집중 메커니즘(Attention Mechanism)을 이용한 음성 인식 과정이 도시된다. 도 6의 뉴럴 네트워크(610)에 비하여, 도 7의 뉴럴 네트워크(710)의 디코더 부분은 더 많은 정보를 이용할 수 있다. 예를 들어, 뉴럴 네트워크(710)의 디코더 부분은 다음 서브 워드를 인식할 때, 뉴럴 네트워크(710)의 인코더 부분에 의하여 출력된 음성 요약 정보뿐 아니라 추가 정보를 더 이용한다. 여기서, 추가 정보는 뉴럴 네트워크(710)의 인코더 부분이 음성을 인식하는 도중 출력하는 정보일 수 있다. 이로 인하여, 뉴럴 네트워크(710)의 디코더 부분이 다음 서브 워드를 인식할 때 인코딩 시퀀스 중 어느 부분에 집중(Attention)할지가 정밀하게 고려될 수 있다. 실시예에 따르면, 집중 메커니즘을 위한 연결 구조는 별도의 뉴럴 네트워크로 구현될 수 있다.
도 8은 일 실시예에 따른 번역기를 구성하는 뉴럴 네트워크의 구조 및 동작을 설명하기 위한 도면이다. 도 8을 참조하면, 번역기(230)의 인코더를 구성하는 뉴럴 네트워크(232)와 디코더를 구성하는 뉴럴 네트워크(234)의 구조 및 동작이 도시된다.
뉴럴 네트워크(232)는 입력 레이어(Input layer)(810), 히든 레이어(Hidden layer)(820) 및 출력 레이어(Output layer)(830)를 포함할 수 있다. 입력 레이어(810)의 차원은 제1 언어의 서브 워드의 차원에 대응할 수 있다. 제1 언어는 서브 워드 단위로, 원-핫 벡터(one-hot vector)의 형태로 입력 레이어(810)로 입력될 수 있다. 예를 들어, 인코더로 입력되는 첫 번째 서브 워드가 '강남역'인 경우, 입력 레이어(810)의 복수의 노드들 중 '강남역'에 대응하는 노드에 '1'이 입력되고, 나머지 노드들에는 '0'이 입력될 수 있다. 입력 레이어(810)에 입력된 원-핫 벡터('강남역'에 대응하여 '1'이 맵핑된 벡터)는 히든 레이어(820)를 거쳐 출력 레이어(830)로 전파될 수 있다.
인코더를 구성하는 뉴럴 네트워크(232)는 리커런트(recurrent) 뉴럴 네트워크로 구성될 수 있다. 이로 인하여, 두 번째 이후의 서브 워드들을 인코딩할 때, 적어도 하나의 이전 서브 워드의 인코딩 결과가 영향을 미칠 수 있다. 예를 들어, 두 번째 서브 워드가 '까지'인 경우, '까지'에 대응하여 '1'이 맵핑된 원-핫 벡터가 입력 레이어로 입력될 수 있다. '까지'에 대응하여 '1'이 맵핑된 원-핫 벡터가 히든 레이어를 거쳐 출력 레이어로 전파될 때, 히든 레이어에 포함된 노드들은 첫 번째 서브 워드를 전파시켰던 히든 레이어의 노드들의 출력을 추가적으로 입력 받을 수 있다.
이처럼, 뉴럴 네트워크(232)의 입력 레이어에 제1 언어의 서브 워드가 순차적으로 입력됨에 따라 최종적으로 출력되는 특징 벡터가 생성될 수 있다. 생성된 특징 벡터는 추상화된 문장 정보에 해당하며, 데이터베이스에 저장될 수 있다. 인코더를 구성하는 뉴럴 네트워크(232)에서 최종적으로 출력되는 특징 벡터는 디코더를 구성하는 뉴럴 네트워크(234)로 입력될 수 있다.
디코더를 구성하는 뉴럴 네트워크(234) 또한 입력 레이어(850), 히든 레이어(860) 및 출력 레이어(870)를 포함할 수 있다. 뉴럴 네트워크(234)는 뉴럴 네트워크(232)에서 최종적으로 출력된 특징 벡터를 디코딩하여 제2 언어의 후보 문장을 생성할 수 있다.
뉴럴 네트워크(234)의 입력 레이어(850)는 인코더에서 최종적으로 출력된 특징 벡터를 수신할 수 있다. 특징 벡터는 히든 레이어(860)를 거쳐 출력 레이어(870)로 전파될 수 있다. 출력 레이어(870)의 차원은 제2 언어의 서브 워드로 구성된 사전의 차원에 대응할 수 있다. 출력 레이어(870)에 포함된 각 노드는 제2 언어의 서브 워드에 대응하며, 각 노드의 출력 값은 해당하는 노드의 서브 워드가 출력될 확률을 의미할 수 있다. 빔 서치 알고리즘을 수행하는 자동 통역 장치는 확률 값이 높은 순으로 미리 정해진 수(예를 들어, 3)의 후보 서브 워드들을 선택할 수 있다. 예를 들어, 미리 정해진 3만 개의 서브 워드들 중 특징 벡터가 나타날 확률(스코어)에 해당하는 3개의 스코어들(P1-1, P1-2, P1-3)이 다음 단계로 전파될 수 있다.
후보 서브 워드들이 선택되면, 각 후보 서브 워드에 대응하여 다음 번 후보 서브 워드가 디코딩 된다. 이 때, 인코더의 뉴럴 네트워크(232)와 마찬가지로, 디코더의 뉴럴 네트워크(234)의 히든 레이어(860)의 상태 정보는 히든 레이어(860)의 다음 번 히든 레이어로 전달될 수 있다. 예를 들어, i 번째 서브 워드를 결정하고자 하는 경우, 뉴럴 네트워크(234)는 1 ~ i-1 번째까지 결정된 서브 워드를 기초로 i 번째 서브 워드의 확률(스코어)을 결정할 수 있다.
전술한 방식으로 후보 서브 워드들의 시퀀스가 생성될 수 있고, 후보 서브 워드들의 시퀀스에 의하여 제2 언어의 후보 문장이 구성될 수 있다. 다만, 하나의 서브 워드를 디코딩할 때마다 미리 정해진 수(예를 들어, 3)의 후보 서브 워드들이 선택되는 경우, 최종 후보 문장의 수가 지수적으로(exponentially) 증가하게 된다. 이러한 현상을 방지하기 위하여 단계마다 프루닝(pruning)이 적용될 수 있다. 프루닝은 후보 문장의 수가 미리 정해진 수로 유지되도록 가지치기 하는 기법으로, 예를 들어, 프루닝을 통하여 두 번째 서브 워드까지 디코딩하여 생성된 9개의 후보 문장들 중 3개의 후보 문장들만 선택되어 다음 단계로 전파될 수 있다.
일 실시예에 따르면, 한 단계에서 서브 워드가 선택되면, 선택된 서브 워드에 의하여 다음 단계의 히든 레이어가 변경될 수 있다. 일 예로, 선택된 서브 워드를 지시하는 임베딩 벡터(embedding vector)가 다음 단계의 히든 레이어에 포함된 노드들의 내부 상태에 반영될 수 있다.
도 9는 일 실시예에 따라 데이터베이스에 저장되는 정보들의 형태를 도시한 도면이다. 도 9를 참조하면, 일 실시예에 따른 자동 통역 장치는 예를 들어, 추상화된 음성 정보(제1 특징 벡터), 음성 인식 결과(제1 언어의 문장), 및 추상화된 문장 정보(제2 특징 벡터)를 데이터베이스에 저장할 수 있다. 또한, 자동 통역 장치는 초기 번역 결과(제2 언어의 문장) 및 최종 번역 결과 중 적어도 하나를 추상화된 음성 정보(제1 특징 벡터), 음성 인식 결과(제1 언어의 문장), 및 추상화된 문장 정보(제2 특징 벡터)에 매칭하여 저장할 수 있다.
도 10은 일 실시예에 따라 제2 언어의 최종 문장을 선택하는 방법을 설명하기 위한 도면이다. 도 10을 참조하면, 기계 번역기의 디코더를 이용하여 제1 후보 문장부터 제n 후보 문장 각각에 대한 스코어가 산정되는 과정이 도시된다. 이때, 각 후보 문장들에 대한 스코어를 재산정하는 데에 이용되는 뉴럴 네트워크는 도 4의 뉴럴 네트워크(234)일 수 있다.
후보 문장들은 서로 다른 발화에 대응하여 통역된 결과이기 때문에, 현재 통역 대상인 발화에 대응하여 스코어를 재산정해야 한다. 일 실시예에 따르면, 현재 통역 대상인 발화에 대응하여 기 생성된 추상화된 문장 정보에 기초하여, 후보 문장들의 스코어가 재산정될 수 있다. 예를 들어, 제1 후보 문장(예를 들어, "I'll go to Gangnam.")을 리스코어링하는 과정은 다음과 같다.
뉴럴 네트워크(234)의 입력 레이어에 입력된 추상화된 문장 정보는 히든 레이어를 거쳐 출력 레이어로 전파된다. 출력 레이어에 포함된 노드들은 제2 언어의 서브 워드들(예를 들어, Gangnam, .. , I, .. , 'll(will))에 대응하며, 각 노드의 출력 값은 해당하는 노드의 서브 워드가 출력될 확률을 의미할 수 있다.
제1 후보 문장의 첫 번째 서브 워드가 "I"인 경우, 자동 통역 장치는 제1 후보 문장의 스코어를 계산하기 위하여 "I"에 해당하는 노드에서 출력되는 확률 P1-1을 선택할 수 있다. 첫 번째 서브 워드에 해당하는 노드가 선택되면, 뉴럴 네트워크(234)의 출력 레이어는 두 번째 서브 워드에 대한 확률들을 출력한다. 이처럼, 제1 후보 문장을 구성하는 서브 워드들에 따라 뉴럴 네트워크(234)의 출력 레이어에서 노드를 순차적으로 선택함으로써, 자동 통역 장치는 제1 후보 문장의 스코어를 계산할 수 있다.
전술한 방식에 따라, 자동 통역 장치는 후보 문장들의 스코어를 재산정할 수 있다. 자동 통역 장치는 제1 후보 문장에 대하여 재산정된 스코어부터 제n 후보 문장에 대하여 재산정된 스코어들 중 가장 스코어가 높은 후보 문장을 최종 문장으로 선택할 수 있다.
도 11은 일 실시예에 따른 자동 통역 방법을 나타낸 흐름도이다. 도 11을 참조하면, 일 실시예에 따른 자동 통역 장치는 제1 언어의 음성 신호를 인코딩하여 제1 특징 벡터를 생성한다(1110). 자동 통역 장치는 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성한다(1120). 자동 통역 장치는 제1 언어의 문장을 인코딩하여 제2 특징 벡터를 생성한다(1130). 자동 통역 장치는 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성한다(1140). 자동 통역 장치는 제1 특징 벡터, 제1 언어의 문장, 제2 특징 벡터 및 제2 언어 중 하나, 둘, 셋 또는 넷 모두의 문장에 기초하여 후보 문장 리스트를 생성한다(1150). 자동 통역 장치는 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택한다(1160).
자동 통역 장치는 제1 특징 벡터, 제1 언어의 문장 및 제2 특징 벡터를 데이터베이스에 저장할 수 있다. 또한, 자동 통역 장치는 제1 특징 벡터, 제1 언어의 문장, 및 제2 특징 벡터에 매칭하여, 제2 언어의 문장 및 제2 언어의 최종 문장 중 하나 또는 둘 다를 데이터베이스에 저장할 수 있다.
도 11에 도시된 각 단계들에는 도 1 내지 도 10을 통하여 전술한 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다. 이하에서, 도 12 내지 도 17을 참조하여, 도 11에 도시된 각 단계들이 동작하는 흐름도를 설명한다.
도 12는 일 실시예에 따라 제1 특징 벡터를 생성하는 방법을 나타낸 흐름도이다. 도 12를 참조하면, 일 실시예에 따른 자동 통역 장치는 미리 정해진 프레임 속도에 기초하여 제1 언어의 음성 신호를 샘플링할 수 있다(1210). 예를 들어, 자동 통역 장치는 제1 언어의 음성 신호를 1초당 100 프레임으로 샘플링할 수 있다. 자동 통역 장치는 프레임들에 대응하는 입력 벡터들을 생성할 수 있다(1220). 자동 통역 장치는 음성 인식을 위한 인코더에 생성된 입력 벡터들을 순차적으로 입력할 수 있다(1230). 자동 통역 장치는 순차적으로 입력된 입력 벡터들에 대응하여 음성 인식을 위한 인코더로부터 출력되는 제1 특징 벡터를 획득함으로써 제1 특징 벡터를 생성할 수 있다(1240).
도 13은 일 실시예에 따라 제1 언어의 문장을 생성하는 방법을 나타낸 흐름도이다. 도 13을 참조하면, 일 실시예에 따른 자동 통역 장치는 제1 특징 벡터를 음성 인식을 위한 디코더에 입력할 수 있다(1310). 자동 통역 장치는 음성 인식을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들(스코어들)에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성할 수 있다(1320). 자동 통역 장치는 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 제1 언어의 문장으로 선택할 수 있다(1330).
도 14는 일 실시예에 따라 제2 특징 벡터를 생성하는 방법을 나타낸 흐름도이다. 도 14를 참조하면, 일 실시예에 따른 자동 통역 장치는 제1 언어의 문장을 복수의 서브 워드들로 분할할 수 있다(1410). 자동 통역 장치는 기계 번역을 위한 인코더에 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력할 수 있다(1420). 자동 통역 장치는 기계 번역을 위한 인코더로부터 출력되는 제2 특징 벡터를 획득함으로써 제2 특징 벡터를 생성할 수 있다(1430).
도 15는 일 실시예에 따라 제2 언어의 문장을 생성하는 방법을 나타낸 흐름도이다. 도 15를 참조하면, 일 실시예에 따른 자동 통역 장치는 제2 특징 벡터를 기계 번역을 위한 디코더에 입력할 수 있다(1510). 자동 통역 장치는 기계 번역을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성할 수 있다(1520). 자동 통역 장치는 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 제2 언어의 문장으로 선택할 수 있다(1530).
도 16은 일 실시예에 따라 후보 문장 리스트를 생성하는 방법을 나타낸 흐름도이다. 도 16을 참조하면, 일 실시예에 따른 자동 통역 장치는 데이터베이스로부터, 제1 특징 벡터, 제1 언어의 문장, 제2 특징 벡터 및 제2 언어의 문장 중 적어도 하나에 대응하는 후보 문장을 획득할 수 있다(1610). 예를 들어, 자동 통역 장치는 데이터베이스에 저장된 복수의 정보 원소들 중 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터, 및 상기 제2 언어의 문장 중 적어도 하나와 유사한 정보 원소를 검색할 수 있다. 자동 통역 장치는 검색된 정보 원소에 대응하는 후보 문장을 획득할 수 있다. 자동 통역 장치는 단계(1610)에서 획득된 적어도 하나의 통역 결과를 후보 문장 리스트에 추가할 수 있다(1620). 또한, 자동 통역 장치는 제2 언어의 문장을 상기 후보 문장 리스트에 추가할 수 있다(1630).
도 17은 일 실시예에 따라 제2 언어의 최종 문장을 선택하는 방법을 나타낸 흐름도이다. 도 17을 참조하면, 일 실시예에 따른 자동 통역 장치는 제2 특징 벡터에 기초하여, 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산할 수 있다(1710). 자동 통역 장치는 후보 문장들 중 최고 스코어를 가지는 후보 문장을 제2 언어의 최종 문장으로 선택할 수 있다(1720).
도 12 내지 도 17에 도시된 각 단계들에는 도 1 내지 도 10을 통하여 전술한 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
도 18은 일 실시예에 따른 기계 번역 방법을 나타낸 흐름도이다. 도 18을 참조하면, 일 실시예에 따른 기계 번역 장치(이하, '번역기')는 제1 언어의 문장을 인코딩하여 특징 벡터를 생성한다(1810). 번역기는 특징 벡터를 디코딩하여 제2 언어의 문장을 생성한다(1820). 번역기는 제1 언어의 문장, 특징 벡터 및 제2 언어의 문장 중 하나, 둘 또는 셋 모두에 기초하여 후보 문장 리스트를 생성한다(1830). 번역기는 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택한다(1840).
번역기는 특징 벡터를 데이터베이스에 저장할 수 있다. 또한, 번역기는 특징 벡터에 매칭하여, 제2 언어의 문장 및 제2 언어의 최종 문장 중 하나 또는 둘 다 데이터베이스에 저장할 수 있다.
도 18에 도시된 각 단계들은 도 3의 기계 번역 장치(300)에 의하여 수행될 수 있고, 도 18에 도시된 각 단계들에는 1 내지 도 10을 통하여 전술한 사항들이 그대로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
도 19는 일 실시예에 따른 자동 통역 장치의 블록도이다. 도 19를 참조하면, 일 실시예에 따른 자동 통역 장치(1900)는 메모리(1910), 및 프로세서(1920)를 포함한다. 자동 통역 장치(1900)는 음성 인식 장치(1930) 및 번역기(1940)를 더 포함할 수 있다. 또는, 자동 통역 장치(1900)가 기계 번역 장치로 동작할 때에는, 번역기(1940)만 더 포함할 수도 있다. 메모리(1910), 프로세서(1920), 음성 인식 장치(1930) 및 번역기(1940)는 버스(bus)(1950)를 통해 서로 통신할 수 있다.
메모리(1910)는 휘발성 메모리 및 비휘발성 메모리를 포함할 수 있으며, 버스(1950)를 통해 수신된 정보를 저장할 수 있다. 메모리(1910)는 자동 통역 과정에서 생성된 제1 특징 벡터, 제1 언어의 문장, 제2 특징 벡터 및 제2 언어의 문장 등을 저장하는 데이터베이스를 포함한다. 메모리(1910)는 제1 특징 벡터, 제1 언어의 문장, 제2 특징 벡터에 매칭하여 제2 언어의 문장 및/또는 제2 언어의 최종 문장을 데이터 베이스에 저장할 수 있다. 이 밖에도, 메모리(1910)는 각종 데이터와 프로그램 등을 저장할 수 있다.
프로세서(1920)는 도 1의 에이전트(133)의 동작을 수행할 수 있다. 예를 들어, 프로세서(1920)는 사용자의 음성을 음성 인식기(1930)로 전달하고, 음성 인식기(1930)로부터 제1 특징 벡터 및 제1 언어의 문장을 수신할 수 있다. 또한, 프로세서(1920)는 제1 언어의 문장을 번역기(1940)로 전달하고, 번역기(1940)로부터 제2 특징 벡터 및 제2 언어의 문장을 수신할 수 있다.
프로세서(1920)는 제1 특징 벡터, 제1 언어의 문장, 제2 특징 벡터, 및 제2 언어의 문장에 기초하여, 메모리(1910)의 데이터베이스로부터 후보 문장들을 획득할 수 있다. 프로세서(1920)는 번역기(1940)의 디코더에 후보 문장들 및 제2 특징 벡터를 전달하고, 번역기(1940)의 디코더로부터 후보 문장들 각각에 대한 점수를 수신할 수 있다. 프로세서(1920)는 후보 문장들 중 최종 문장을 선택할 수 있다.
일 실시예에 따르면, 음성 인식기(1930)와 번역기(1940)는 프로세서(1920)와 독립적으로 구현될 수 있다. 이 경우, 음성 인식기(1930)와 번역기(1940)는 프로세서(1920)와 구별되는 별도의 컴퓨팅 자원을 이용하여 구현될 수 있다. 도면에 도시하지 않았으나, 음성 인식기(1930)와 번역기(1940)는 자동 통역 장치(1900) 외부에 위치할 수 있으며, 자동 통역 장치(1900)와 유무선 네트워크를 통하여 통신할 수도 있다.
다른 실시예에 따르면, 음성 인식기(1930)와 번역기(1940)는 프로세서(1920)와 메모리(1910)를 통하여 구현될 수 있다. 예를 들어, 음성 인식기(1930)의 인코더와 디코더, 및 번역기(1940)의 인코더와 디코더를 구성하는 뉴럴 네트워크들은 메모리(1910)에 저장될 수 있다. 뉴럴 네트워크들 각각은 실행 가능한 오브젝트 파일이나 실행 파일의 형태로 메모리(1910)에 저장될 수 있다. 또한, 각 뉴럴 네트워크들을 위한 파라미터들도 메모리(1910)에 저장될 수 있다. 프로세서(1920)는 메모리(1910)로부터 뉴럴 네트워크들을 로드하고, 뉴럴 네트워크들 각각에 해당하는 파라미터들을 적용함으로써, 음성 인식기(1930)의 인코더와 디코더, 및 번역기(1940)의 인코더와 디코더를 구현할 수 있다.
프로세서(1920)는 제1 언어의 음성 신호를 인코딩하여 제1 특징 벡터를 생성하고, 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성한다. 프로세서(1920)는 제1 언어의 문장을 인코딩하여 제2 특징 벡터를 생성하고, 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성한다. 프로세서(1920)는 제1 특징 벡터, 제1 언어의 문장, 제2 특징 벡터 및 제2 언어의 문장에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택한다. 음성 인식 과정 및 기계 번역 과정에서 생성되는 결과물들은 메모리(1910)로 전달될 수 있다.
프로세서(1920)는 이 밖에도, 도 1 내지 도 18을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 프로세서(1920)는 프로그램을 실행하고, 자동 통역 장치(1900)를 제어할 수 있다. 프로세서(1920)에 의하여 실행되는 프로그램 코드는 메모리(1910)에 저장될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (41)

  1. 제1 언어의 음성 신호를 인코딩하여 제1 특징 벡터를 생성하는 단계;
    상기 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성하는 단계;
    상기 제1 언어의 문장을 인코딩하여 제2 특징 벡터를 생성하는 단계;
    상기 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 단계;
    상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 후보 문장 리스트를 생성하는 단계; 및
    상기 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 단계
    를 포함하는, 자동 통역 방법.
  2. 제1항에 있어서,
    상기 후보 문장 리스트를 생성하는 단계는
    데이터베이스로부터, 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 대응하는 후보 문장을 획득하는 단계
    를 포함하는, 자동 통역 방법.
  3. 제2항에 있어서,
    상기 후보 문장을 획득하는 단계는
    근사 k-NN(approximate k-Nearest Neighbor) 알고리즘을 이용하여, 상기 데이터베이스에 저장된 복수의 원소(elements)들 중 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터, 및 상기 제2 언어의 문장 중 적어도 하나와 유사한 원소를 검색하는 단계
    를 포함하는, 자동 통역 방법.
  4. 제1항에 있어서,
    상기 후보 문장 리스트를 생성하는 단계는
    데이터베이스로부터 상기 제1 특징 벡터와 유사한 특징 벡터에 매칭된 제1 통역 결과를 획득하는 단계;
    상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장에 매칭된 제2 통역 결과를 획득하는 단계;
    상기 데이터베이스로부터 상기 제2 특징 벡터와 유사한 특징 벡터에 매칭된 제3 통역 결과를 획득하는 단계; 및
    상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장에 매칭된 제4 통역 결과를 획득하는 단계
    중 적어도 하나를 포함하는, 자동 통역 방법.
  5. 제4항에 있어서,
    상기 후보 문장 리스트를 생성하는 단계는
    상기 획득된 적어도 하나의 통역 결과를 상기 후보 문장 리스트에 추가하는 단계; 및
    상기 제2 언어의 문장을 상기 후보 문장 리스트에 추가하는 단계
    를 더 포함하는, 자동 통역 방법.
  6. 제4항에 있어서,
    상기 제2 통역 결과를 획득하는 단계는
    상기 제1 언어의 문장을 벡터로 변환하는 단계; 및
    상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장을 검출하는 단계
    를 포함하는, 자동 통역 방법.
  7. 제4항에 있어서,
    상기 제4 통역 결과를 획득하는 단계는
    상기 제2 언어의 문장을 벡터로 변환하는 단계; 및
    상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장을 검출하는 단계
    를 포함하는, 자동 통역 방법.
  8. 제1항에 있어서,
    상기 제2 언어의 최종 문장을 선택하는 단계는
    상기 제2 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하는 단계; 및
    상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는 단계
    를 포함하는, 자동 통역 방법.
  9. 제1항에 있어서,
    상기 제1 특징 벡터를 생성하는 단계는
    미리 정해진 프레임 속도에 기초하여 상기 제1 언어의 음성 신호를 샘플링하는 단계;
    프레임들에 대응하는 입력 벡터들을 생성하는 단계;
    음성 인식을 위한 인코더에 상기 입력 벡터들을 순차적으로 입력하는 단계; 및
    상기 음성 인식을 위한 인코더로부터 출력되는 상기 제1 특징 벡터를 획득하는 단계
    를 포함하는, 자동 통역 방법.
  10. 제1항에 있어서,
    상기 제1 언어의 문장을 생성하는 단계는
    상기 제1 특징 벡터를 음성 인식을 위한 디코더에 입력하는 단계;
    상기 음성 인식을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및
    상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제1 언어의 문장으로 선택하는 단계
    를 포함하는, 자동 통역 방법.
  11. 제1항에 있어서,
    상기 제2 특징 벡터를 생성하는 단계는
    상기 제1 언어의 문장을 복수의 서브 워드들로 분할하는 단계;
    기계 번역을 위한 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하는 단계; 및
    상기 기계 번역을 위한 인코더로부터 출력되는 상기 제2 특징 벡터를 획득하는 단계
    를 포함하는, 자동 통역 방법.
  12. 제1항에 있어서,
    상기 제2 언어의 문장을 생성하는 단계는
    상기 제2 특징 벡터를 기계 번역을 위한 디코더에 입력하는 단계;
    상기 기계 번역을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및
    상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는 단계
    를 포함하는, 자동 통역 방법.
  13. 제1항에 있어서,
    상기 제1 특징 벡터, 상기 제1 언어의 문장 및 상기 제2 특징 벡터를 데이터베이스에 저장하는 단계; 및
    상기 제1 특징 벡터, 상기 제1 언어의 문장, 및 상기 제2 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는 단계
    를 더 포함하는, 자동 통역 방법.
  14. 제1 언어의 문장을 인코딩하여 특징 벡터를 생성하는 단계;
    상기 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 단계;
    상기 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 후보 문장 리스트를 생성하는 단계; 및
    상기 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 단계
    를 포함하는, 기계 번역 방법.
  15. 제14항에 있어서,
    상기 후보 문장 리스트를 생성하는 단계는
    데이터베이스로부터 상기 특징 벡터와 유사한 특징 벡터에 매칭된 제1 번역 결과를 획득하는 단계; 및
    상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장에 매칭된 제2 번역 결과를 획득하는 단계
    중 적어도 하나를 포함하는, 기계 번역 방법.
  16. 제15항에 있어서,
    상기 후보 문장 리스트를 생성하는 단계는
    상기 획득된 적어도 하나의 번역 결과를 상기 후보 문장 리스트에 추가하는 단계; 및
    상기 제2 언어의 문장을 상기 후보 문장 리스트에 추가하는 단계
    를 더 포함하는, 기계 번역 방법.
  17. 제14항에 있어서,
    상기 제2 언어의 최종 문장을 선택하는 단계는
    상기 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하는 단계; 및
    상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는 단계
    를 포함하는, 기계 번역 방법.
  18. 제14항에 있어서,
    상기 특징 벡터를 생성하는 단계는
    상기 제1 언어의 문장을 복수의 서브 워드들로 분할하는 단계;
    기계 번역을 위한 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하는 단계; 및
    상기 기계 번역을 위한 인코더로부터 출력되는 상기 특징 벡터를 획득하는 단계
    를 포함하는, 기계 번역 방법.
  19. 제14항에 있어서,
    상기 제2 언어의 문장을 생성하는 단계는
    상기 특징 벡터를 기계 번역을 위한 디코더에 입력하는 단계;
    상기 기계 번역을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및
    상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는 단계
    를 포함하는, 기계 번역 방법.
  20. 제14항에 있어서,
    상기 제1 언어의 문장 및 상기 특징 벡터를 데이터베이스에 저장하는 단계; 및
    상기 제1 언어의 문장 및 상기 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는 단계
    를 더 포함하는, 기계 번역 방법.
  21. 하드웨어와 결합되어 제1항 내지 제20항 중에서 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  22. 제1 언어의 음성 신호를 인코딩하여 생성한 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성하는 음성 인식기;
    상기 제1 언어의 문장을 인코딩하여 생성한 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 번역기; 및
    상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나 에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 프로세서
    를 포함하는, 자동 통역 장치.
  23. 제22항에 있어서,
    데이터베이스를 포함하는 메모리
    를 더 포함하고,
    상기 프로세서는
    상기 데이터베이스로부터, 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 대응하는 후보 문장을 획득하는, 자동 통역 장치.
  24. 제23항에 있어서,
    상기 프로세서는
    근사 k-NN(approximate k-Nearest Neighbor) 알고리즘을 이용하여, 상기 데이터베이스에 저장된 복수의 원소(elements)들 중 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터, 및 상기 제2 언어의 후보 문장 중 적어도 하나와 유사한 원소를 검색하는, 자동 통역 장치.
  25. 제22항에 있어서,
    상기 프로세서는
    데이터베이스로부터 상기 제1 특징 벡터와 유사한 특징 벡터에 매칭된 제1 통역 결과, 상기 제1 언어의 문장과 유사한 문장에 매칭된 제2 통역 결과, 상기 제2 특징 벡터와 유사한 특징 벡터에 매칭된 제3 통역 결과, 상기 제2 언어의 문장과 유사한 문장에 매칭된 제4 통역 결과 중 적어도 하나를 획득하는, 자동 통역 장치.
  26. 제25항에 있어서,
    상기 프로세서는
    상기 획득된 적어도 하나의 통역 결과를 상기 후보 문장 리스트에 추가하고, 상기 제2 언어의 문장을 상기 후보 문장 리스트에 더 추가하는, 자동 통역 장치.
  27. 제25항에 있어서,
    상기 프로세서는
    상기 제1 언어의 문장을 벡터로 변환하고, 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장을 검출하는, 자동 통역 장치.
  28. 제25항에 있어서,
    상기 프로세서는
    상기 제2 언어의 문장을 벡터로 변환하고, 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장을 검출하는, 자동 통역 장치.
  29. 제22항에 있어서,
    상기 번역기는
    상기 제2 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하고,
    상기 프로세서는
    상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는, 자동 통역 장치.
  30. 제22항에 있어서,
    상기 프로세서는
    미리 정해진 프레임 속도에 기초하여 상기 제1 언어의 음성 신호를 샘플링하고, 프레임들에 대응하는 입력 벡터들을 생성하고, 상기 음성 인식기의 인코더에 상기 입력 벡터들을 순차적으로 입력하며, 상기 음성 인식기의 인코더로부터 출력되는 상기 제1 특징 벡터를 획득하는, 자동 통역 장치.
  31. 제22항에 있어서,
    상기 프로세서는
    상기 제1 특징 벡터를 상기 음성 인식기의 디코더에 입력하고, 상기 음성 인식기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제1 언어의 문장으로 선택하는, 자동 통역 장치.
  32. 제22항에 있어서,
    상기 프로세서는
    상기 제1 언어의 문장을 복수의 서브 워드들로 분할하고, 상기 번역기의 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하며, 상기 번역기의 인코더로부터 출력되는 상기 제2 특징 벡터를 획득하는, 자동 통역 장치.
  33. 제22항에 있어서,
    상기 프로세서는
    상기 제2 특징 벡터를 상기 번역기의 디코더에 입력하고, 상기 번역기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는, 자동 통역 장치.
  34. 제22항에 있어서,
    상기 프로세서는
    상기 제1 특징 벡터, 상기 제1 언어의 문장 및 상기 제2 특징 벡터를 데이터베이스에 저장하고,
    상기 제1 특징 벡터, 상기 제1 언어의 문장, 및 상기 제2 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는, 자동 통역 장치.
  35. 제1 언어의 문장을 인코딩하여 생성한 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 번역기; 및
    상기 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나 에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 프로세서
    를 포함하는, 기계 번역 장치.
  36. 제35항에 있어서,
    데이터베이스를 포함하는 메모리
    를 더 포함하고,
    상기 프로세서는
    상기 데이터베이스로부터 상기 특징 벡터와 유사한 특징 벡터에 매칭된 제1 번역 결과, 상기 제2 언어의 문장과 유사한 문장에 매칭된 제2 번역 결과 중 적어도 하나를 획득하는, 기계 번역 장치.
  37. 제36항에 있어서,
    상기 프로세서는
    상기 획득된 적어도 하나의 번역 결과를 상기 후보 문장 리스트에 추가하고, 상기 제2 언어의 문장을 상기 후보 문장 리스트에 더 추가하는, 기계 번역 장치.
  38. 제35항에 있어서,
    상기 번역기는
    상기 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하고,
    상기 프로세서는
    상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는, 기계 번역 장치.
  39. 제35항에 있어서,
    상기 프로세서는
    상기 제1 언어의 문장을 복수의 서브 워드들로 분할하고, 상기 번역기의 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하며, 상기 번역기의 인코더로부터 출력되는 상기 특징 벡터를 획득하는, 기계 번역 장치.
  40. 제35항에 있어서,
    상기 프로세서는
    상기 특징 벡터를 상기 번역기의 디코더에 입력하고, 상기 번역기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는, 기계 번역 장치.
  41. 제35항에 있어서,
    상기 프로세서는
    상기 제1 언어의 문장 및 상기 특징 벡터를 데이터베이스에 저장하고,
    상기 제1 언어의 문장 및 상기 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는, 기계 번역 장치.
KR1020160086036A 2016-07-07 2016-07-07 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치 KR102565274B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020160086036A KR102565274B1 (ko) 2016-07-07 2016-07-07 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치
US15/404,941 US10867136B2 (en) 2016-07-07 2017-01-12 Automatic interpretation method and apparatus
EP17155528.7A EP3267328B1 (en) 2016-07-07 2017-02-10 Automated interpretation method and apparatus
JP2017058860A JP6923332B2 (ja) 2016-07-07 2017-03-24 自動通訳方法及び装置
CN201710256367.3A CN107590135B (zh) 2016-07-07 2017-04-19 自动翻译方法、设备和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160086036A KR102565274B1 (ko) 2016-07-07 2016-07-07 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20180005850A true KR20180005850A (ko) 2018-01-17
KR102565274B1 KR102565274B1 (ko) 2023-08-09

Family

ID=58191222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160086036A KR102565274B1 (ko) 2016-07-07 2016-07-07 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치

Country Status (5)

Country Link
US (1) US10867136B2 (ko)
EP (1) EP3267328B1 (ko)
JP (1) JP6923332B2 (ko)
KR (1) KR102565274B1 (ko)
CN (1) CN107590135B (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190091103A (ko) * 2018-01-26 2019-08-05 삼성전자주식회사 기계 번역 방법 및 장치
KR20200138914A (ko) * 2019-06-03 2020-12-11 주식회사 한글과컴퓨터 사용자의 위치 정보에 의해 자동 지정된 타겟 언어를 기반으로 번역 문장 추천 기능을 제공하는 전자 단말 장치 및 그 동작 방법
WO2023063746A1 (ko) * 2021-10-15 2023-04-20 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2023063569A1 (ko) * 2021-10-15 2023-04-20 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102635031B1 (ko) * 2023-09-27 2024-02-13 주식회사 에이아이노미스 의미 단위 시각화를 기반으로 한 화자 분리 실시간 통역 서비스 제공 방법, 장치 및 시스템

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
US10706351B2 (en) * 2016-08-30 2020-07-07 American Software Safety Reliability Company Recurrent encoder and decoder
JP6705506B2 (ja) * 2016-10-04 2020-06-03 富士通株式会社 学習プログラム、情報処理装置および学習方法
WO2018083670A1 (en) * 2016-11-04 2018-05-11 Deepmind Technologies Limited Sequence transduction neural networks
EP3542360A4 (en) * 2016-11-21 2020-04-29 Microsoft Technology Licensing, LLC METHOD AND DEVICE FOR AUTOMATIC SYNCHRONIZATION
KR20180077690A (ko) * 2016-12-29 2018-07-09 주식회사 엔씨소프트 문서의 내러티브 학습 장치 및 방법, 문서의 내러티브 생성 장치 및 방법
US11631026B2 (en) * 2017-07-13 2023-04-18 Meta Platforms, Inc. Systems and methods for neural embedding translation
CN108304388B (zh) * 2017-09-12 2020-07-07 腾讯科技(深圳)有限公司 机器翻译方法及装置
KR102509822B1 (ko) * 2017-09-25 2023-03-14 삼성전자주식회사 문장 생성 방법 및 장치
CN108509411B (zh) * 2017-10-10 2021-05-11 腾讯科技(深圳)有限公司 语义分析方法和装置
US10552547B2 (en) * 2017-10-10 2020-02-04 International Business Machines Corporation Real-time translation evaluation services for integrated development environments
KR102449875B1 (ko) * 2017-10-18 2022-09-30 삼성전자주식회사 음성 신호 번역 방법 및 그에 따른 전자 장치
KR102199067B1 (ko) * 2018-01-11 2021-01-06 네오사피엔스 주식회사 다중 언어 텍스트-음성 합성 방법
CN108197123A (zh) * 2018-02-07 2018-06-22 云南衍那科技有限公司 一种基于智能手表的云翻译***和方法
CN110134780B (zh) * 2018-02-08 2023-11-24 株式会社理光 文档摘要的生成方法、装置、设备、计算机可读存储介质
GB201804073D0 (en) 2018-03-14 2018-04-25 Papercup Tech Limited A speech processing system and a method of processing a speech signal
CN108595443A (zh) * 2018-03-30 2018-09-28 浙江吉利控股集团有限公司 同声翻译方法、装置、智能车载终端及存储介质
JP7062056B2 (ja) 2018-05-23 2022-05-02 株式会社Nttドコモ 作成文章評価装置
US10664472B2 (en) * 2018-06-27 2020-05-26 Bitdefender IPR Management Ltd. Systems and methods for translating natural language sentences into database queries
CN108920472B (zh) * 2018-07-04 2020-01-10 哈尔滨工业大学 一种基于深度学习的机器翻译***的融合***及方法
US20200193965A1 (en) * 2018-12-13 2020-06-18 Language Line Services, Inc. Consistent audio generation configuration for a multi-modal language interpretation system
CN115455988A (zh) * 2018-12-29 2022-12-09 苏州七星天专利运营管理有限责任公司 一种高风险语句的处理方法和***
US11361170B1 (en) * 2019-01-18 2022-06-14 Lilt, Inc. Apparatus and method for accurate translation reviews and consistency across multiple translators
US11106873B2 (en) * 2019-01-22 2021-08-31 Sap Se Context-based translation retrieval via multilingual space
CN110162604B (zh) * 2019-01-24 2023-09-12 腾讯科技(深圳)有限公司 语句生成方法、装置、设备及存储介质
CN109933809B (zh) * 2019-03-15 2023-09-15 北京金山数字娱乐科技有限公司 一种翻译方法及装置、翻译模型的训练方法及装置
CN111783435B (zh) * 2019-03-18 2024-06-25 株式会社理光 共享词汇的选择方法、装置及存储介质
WO2020222846A1 (en) * 2019-05-02 2020-11-05 Google Llc Adapting automated assistants for use with multiple languages
JP7229347B2 (ja) * 2019-05-07 2023-02-27 株式会社Nttドコモ 内部状態変更装置
EP3972783A4 (en) * 2019-05-20 2023-06-14 Black & Decker, Inc. VOICE REACTIVE BUILDING TOOL
CN110175338B (zh) * 2019-05-31 2023-09-26 北京金山数字娱乐科技有限公司 一种数据处理方法及装置
CN110489762B (zh) * 2019-06-26 2023-07-04 中译语通科技股份有限公司 基于神经网络机器翻译的术语翻译方法、存储介质和装置
CN110807335B (zh) * 2019-09-02 2023-06-30 腾讯科技(深圳)有限公司 基于机器学习的翻译方法、装置、设备及存储介质
KR20210060897A (ko) * 2019-11-19 2021-05-27 삼성전자주식회사 음성 처리 방법 및 장치
US11392770B2 (en) * 2019-12-11 2022-07-19 Microsoft Technology Licensing, Llc Sentence similarity scoring using neural network distillation
CN111128191B (zh) * 2019-12-31 2023-03-28 中国科学院声学研究所 一种在线端对端语音转写方法及***
US11557284B2 (en) * 2020-01-03 2023-01-17 International Business Machines Corporation Cognitive analysis for speech recognition using multi-language vector representations
CN111476040A (zh) * 2020-03-27 2020-07-31 深圳光启超材料技术有限公司 语言输出方法、头戴设备、存储介质及电子设备
GB2596092A (en) * 2020-06-17 2021-12-22 Daimler Ag A method for generating at least one alternative utterance to an initial utterance, as well as a semantic analyzer module
WO2022043675A2 (en) 2020-08-24 2022-03-03 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
WO2022130940A1 (ja) * 2020-12-15 2022-06-23 株式会社Nttドコモ 提示装置
US11989528B2 (en) * 2020-12-30 2024-05-21 Direct Cursus Technology L.L.C Method and server for training a machine learning algorithm for executing translation
CN113257239B (zh) * 2021-06-15 2021-10-08 深圳市北科瑞声科技股份有限公司 语音识别方法、装置、电子设备及存储介质
US11977854B2 (en) 2021-08-24 2024-05-07 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989527B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11989507B2 (en) 2021-08-24 2024-05-21 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US11900073B2 (en) * 2021-09-07 2024-02-13 Lilt, Inc. Partial execution of translation in browser

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120138273A (ko) * 2011-06-14 2012-12-26 한국전자통신연구원 자동 통역 방법 및 이를 실행하는 장치
KR20130014106A (ko) * 2011-07-29 2013-02-07 한국전자통신연구원 다중 번역 엔진을 사용한 번역 장치 및 방법
KR20160016769A (ko) * 2013-06-03 2016-02-15 코쿠리츠켄큐카이하츠호진 죠호츠신켄큐키코 번역 장치, 학습 장치, 번역 방법 및 기록 매체
US20180133245A1 (en) * 2016-11-15 2018-05-17 Tatiana Balazs-keithley Impact of electrolytes on tumors and various diseases

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01314373A (ja) 1988-06-15 1989-12-19 Hitachi Ltd 機械翻訳システムにおける訳語選択方式
US6411928B2 (en) * 1990-02-09 2002-06-25 Sanyo Electric Apparatus and method for recognizing voice with reduced sensitivity to ambient noise
US5809461A (en) 1992-03-30 1998-09-15 Seiko Epson Corporation Speech recognition apparatus using neural network and learning method therefor
US6408272B1 (en) 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
US7219058B1 (en) 2000-10-13 2007-05-15 At&T Corp. System and method for processing speech recognition results
US7343041B2 (en) 2001-02-22 2008-03-11 International Business Machines Corporation Handwritten word recognition using nearest neighbor techniques that allow adaptive learning
US7224981B2 (en) 2002-06-20 2007-05-29 Intel Corporation Speech recognition of mobile devices
TWI245259B (en) * 2002-12-20 2005-12-11 Ibm Sensor based speech recognizer selection, adaptation and combination
ATE545130T1 (de) 2002-12-23 2012-02-15 Loquendo Spa Verfahren zur optimierung der durchführung eines neuronalen netzwerkes in einem spracherkennungssystem durch bedingtes überspringen einer variablen anzahl von zeitfenstern
US20040148170A1 (en) * 2003-01-23 2004-07-29 Alejandro Acero Statistical classifiers for spoken language understanding and command/control scenarios
KR100542755B1 (ko) * 2003-09-15 2006-01-20 한국전자통신연구원 규칙 기반 방식과 번역 패턴 방식을 혼합한 하이브리드자동 번역 장치 및 방법과 그 프로그램을 기록한 컴퓨터로읽을 수 있는 기록매체
JP2006053683A (ja) * 2004-08-10 2006-02-23 Advanced Telecommunication Research Institute International 音声認識および機械翻訳装置
US20060271370A1 (en) 2005-05-24 2006-11-30 Li Qi P Mobile two-way spoken language translator and noise reduction using multi-directional microphone arrays
JP4756499B2 (ja) 2005-08-19 2011-08-24 株式会社国際電気通信基礎技術研究所 音声認識結果の検査装置及びコンピュータプログラム
JP5122486B2 (ja) 2006-02-17 2013-01-16 グーグル・インコーポレーテッド 分散型モデルの符号化及び適応可能なスケーラブルアクセス処理
JP5011751B2 (ja) * 2006-02-27 2012-08-29 富士通株式会社 訳語情報出力処理プログラム,処理方法および処理装置
JP2008032834A (ja) 2006-07-26 2008-02-14 Toshiba Corp 音声翻訳装置及びその方法
JP4393494B2 (ja) * 2006-09-22 2010-01-06 株式会社東芝 機械翻訳装置、機械翻訳方法および機械翻訳プログラム
US8195447B2 (en) * 2006-10-10 2012-06-05 Abbyy Software Ltd. Translating sentences between languages using language-independent semantic structures and ratings of syntactic constructions
US8145473B2 (en) * 2006-10-10 2012-03-27 Abbyy Software Ltd. Deep model statistics method for machine translation
US20080133245A1 (en) * 2006-12-04 2008-06-05 Sehda, Inc. Methods for speech-to-speech translation
US20080154577A1 (en) 2006-12-26 2008-06-26 Sehda,Inc. Chunk-based statistical machine translation system
KR100853173B1 (ko) 2007-01-22 2008-08-20 포항공과대학교 산학협력단 통계적 자동 번역 방식에 기반한 음성 자동 통역 시스템 및그에 적용되는 번역 처리 방법 및 그 훈련방법
US8799307B2 (en) * 2007-05-16 2014-08-05 Google Inc. Cross-language information retrieval
JP2008305167A (ja) * 2007-06-07 2008-12-18 Toshiba Corp 原言語文を目的言語文に機械翻訳する装置、方法およびプログラム
US8583416B2 (en) * 2007-12-27 2013-11-12 Fluential, Llc Robust information extraction from utterances
US9436759B2 (en) * 2007-12-27 2016-09-06 Nant Holdings Ip, Llc Robust information extraction from utterances
US8478578B2 (en) 2008-01-09 2013-07-02 Fluential, Llc Mobile speech-to-speech interpretation system
US8615388B2 (en) 2008-03-28 2013-12-24 Microsoft Corporation Intra-language statistical machine translation
US20100088096A1 (en) 2008-10-02 2010-04-08 Stephen John Parsons Hand held speech recognition device
KR101134467B1 (ko) 2009-07-27 2012-04-13 한국전자통신연구원 의미 표현 처리 장치 및 그 방법
US20110046941A1 (en) 2009-08-18 2011-02-24 Manuel-Devados Johnson Smith Johnson Advanced Natural Language Translation System
US20110097693A1 (en) 2009-10-28 2011-04-28 Richard Henry Dana Crawford Aligning chunk translations for language learners
US8352243B2 (en) 2010-05-18 2013-01-08 Hai-Shan Jang Multi-language translator for specific fields of knowledge
JP5066242B2 (ja) * 2010-09-29 2012-11-07 株式会社東芝 音声翻訳装置、方法、及びプログラム
US10032455B2 (en) 2011-01-07 2018-07-24 Nuance Communications, Inc. Configurable speech recognition system using a pronunciation alignment between multiple recognizers
US8694303B2 (en) 2011-06-15 2014-04-08 Language Weaver, Inc. Systems and methods for tuning parameters in statistical machine translation
KR101449551B1 (ko) * 2011-10-19 2014-10-14 한국전자통신연구원 유사문장 검색 장치 및 방법, 유사문장 검색 방법을 실행시키기 위한 프로그램이 기록된 기록매체
US20130103695A1 (en) * 2011-10-21 2013-04-25 Microsoft Corporation Machine translation detection in web-scraped parallel corpora
US8700552B2 (en) 2011-11-28 2014-04-15 Microsoft Corporation Exploiting sparseness in training deep neural networks
US8775177B1 (en) * 2012-03-08 2014-07-08 Google Inc. Speech recognition process
JP5967569B2 (ja) 2012-07-09 2016-08-10 国立研究開発法人情報通信研究機構 音声処理システム
JP5936698B2 (ja) * 2012-08-27 2016-06-22 株式会社日立製作所 単語意味関係抽出装置
US9519858B2 (en) * 2013-02-10 2016-12-13 Microsoft Technology Licensing, Llc Feature-augmented neural networks and applications of same
US9606987B2 (en) * 2013-05-06 2017-03-28 Facebook, Inc. Methods and systems for generation of a translatable sentence syntax in a social networking system
KR102214178B1 (ko) 2013-12-13 2021-02-10 한국전자통신연구원 자동 통역 장치 및 방법
JP2016057986A (ja) * 2014-09-11 2016-04-21 株式会社東芝 音声翻訳装置、方法およびプログラム
CN111291553B (zh) * 2014-10-24 2023-11-21 谷歌有限责任公司 具有罕见词处理的神经机器翻译***
US9589355B2 (en) * 2015-03-16 2017-03-07 Here Global B.V. Guided geometry extraction for localization of a device
US9836457B2 (en) * 2015-05-25 2017-12-05 Panasonic Intellectual Property Corporation Of America Machine translation method for performing translation between languages
CN106383818A (zh) * 2015-07-30 2017-02-08 阿里巴巴集团控股有限公司 一种机器翻译方法及装置
US10055489B2 (en) * 2016-02-08 2018-08-21 Ebay Inc. System and method for content-based media analysis
US9704257B1 (en) * 2016-03-25 2017-07-11 Mitsubishi Electric Research Laboratories, Inc. System and method for semantic segmentation using Gaussian random field network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120138273A (ko) * 2011-06-14 2012-12-26 한국전자통신연구원 자동 통역 방법 및 이를 실행하는 장치
KR20130014106A (ko) * 2011-07-29 2013-02-07 한국전자통신연구원 다중 번역 엔진을 사용한 번역 장치 및 방법
KR20160016769A (ko) * 2013-06-03 2016-02-15 코쿠리츠켄큐카이하츠호진 죠호츠신켄큐키코 번역 장치, 학습 장치, 번역 방법 및 기록 매체
US20180133245A1 (en) * 2016-11-15 2018-05-17 Tatiana Balazs-keithley Impact of electrolytes on tumors and various diseases

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190091103A (ko) * 2018-01-26 2019-08-05 삼성전자주식회사 기계 번역 방법 및 장치
KR20200138914A (ko) * 2019-06-03 2020-12-11 주식회사 한글과컴퓨터 사용자의 위치 정보에 의해 자동 지정된 타겟 언어를 기반으로 번역 문장 추천 기능을 제공하는 전자 단말 장치 및 그 동작 방법
WO2023063746A1 (ko) * 2021-10-15 2023-04-20 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2023063569A1 (ko) * 2021-10-15 2023-04-20 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102635031B1 (ko) * 2023-09-27 2024-02-13 주식회사 에이아이노미스 의미 단위 시각화를 기반으로 한 화자 분리 실시간 통역 서비스 제공 방법, 장치 및 시스템

Also Published As

Publication number Publication date
EP3267328B1 (en) 2024-01-10
CN107590135A (zh) 2018-01-16
KR102565274B1 (ko) 2023-08-09
EP3267328A1 (en) 2018-01-10
JP6923332B2 (ja) 2021-08-18
JP2018005218A (ja) 2018-01-11
US20180011843A1 (en) 2018-01-11
US10867136B2 (en) 2020-12-15
CN107590135B (zh) 2024-01-05

Similar Documents

Publication Publication Date Title
KR102565274B1 (ko) 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치
JP7066349B2 (ja) 翻訳方法、翻訳装置及びコンピュータプログラム
JP5901001B1 (ja) 音響言語モデルトレーニングのための方法およびデバイス
KR102371188B1 (ko) 음성 인식 장치 및 방법과 전자 장치
US9805718B2 (en) Clarifying natural language input using targeted questions
JP2021033255A (ja) 音声認識方法、装置、機器及びコンピュータ可読記憶媒体
KR20160008480A (ko) 명칭을 강인하게 태깅하는 방법 및 시스템
CN112528637B (zh) 文本处理模型训练方法、装置、计算机设备和存储介质
KR20180001889A (ko) 언어 처리 방법 및 장치
US12008336B2 (en) Multimodal translation method, apparatus, electronic device and computer-readable storage medium
KR20220004224A (ko) 음성 인식을 위한 컨텍스트 바이어싱
CN114580382A (zh) 文本纠错方法以及装置
KR20210016767A (ko) 음성 인식 방법 및 음성 인식 장치
KR20210001937A (ko) 사용자의 음성 입력을 인식하는 디바이스 및 그 동작 방법
CN114817465A (zh) 一种用于多语言语义理解的实体纠错方法及智能设备
US20230368796A1 (en) Speech processing
KR20190059185A (ko) 청각 장애 학생들을 위한 전문 자료 텍스트 분석 기반 음성인식 기술 정확도 향상 방법 및 시스템
Kim et al. Sequential labeling for tracking dynamic dialog states
CN113392265A (zh) 多媒体处理方法、装置及设备
JP2018194902A (ja) 生成装置、生成方法および生成プログラム
KR20200095947A (ko) 전자 장치 및 이의 제어 방법
CN111508497B (zh) 语音识别方法、装置、电子设备及存储介质
JP2020016784A (ja) 認識装置、認識方法及び認識プログラム
CN113609873A (zh) 翻译模型训练方法、装置及介质
CN113066510B (zh) 一种元音弱读检测方法及装置

Legal Events

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