KR20180005850A - 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치 - Google Patents
자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000013519 translation Methods 0.000 title claims description 145
- 239000013598 vector Substances 0.000 claims abstract description 264
- 238000005070 sampling Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 description 62
- 238000010586 diagram Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 23
- 239000003795 chemical substances by application Substances 0.000 description 15
- 238000012545 processing Methods 0.000 description 9
- 230000000644 propagated effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 238000010845 search algorithm Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 238000013138 pruning Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G06F17/289—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/51—Translation evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/55—Rule-based translation
- G06F40/56—Natural language generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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/16—Vocoder architecture
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L13/00—Speech synthesis; Text to speech systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech 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
아래의 실시예들은 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치에 관한 것이다.
정보 통신 기술 및 인터넷의 발달로 인해 사람들은 다양한 언어로 제작된 컨텐츠들을 제공받게 되었다. 특히, 글로벌 비즈니스화로 인해 다양한 언어를 사용하는 사용자들 간의 의사 소통 및 컨텐츠 번역 등을 위한 통역 및 번역 기술이 빠르게 발전하고 있다.
하지만, 동일 또는 유사한 의미를 전달하는 음성이라도 문장 표현 방식 또는 사용한 단어 등에 의해 통역 및 번역 결과가 매우 상이할 수 있다.
일 측에 따르면, 자동 통역 방법은 제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는 일 실시예에 따른 자동 통역 장치의 블록도.
도 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)를 통해 번역되는 시나리오를 구체적으로 설명한다.
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 언어의 문장을 인코딩하여 제2 특징 벡터를 생성하는 단계;
상기 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 단계;
상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 후보 문장 리스트를 생성하는 단계; 및
상기 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 후보 문장 리스트를 생성하는 단계는
데이터베이스로부터, 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 대응하는 후보 문장을 획득하는 단계
를 포함하는, 자동 통역 방법. - 제2항에 있어서,
상기 후보 문장을 획득하는 단계는
근사 k-NN(approximate k-Nearest Neighbor) 알고리즘을 이용하여, 상기 데이터베이스에 저장된 복수의 원소(elements)들 중 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터, 및 상기 제2 언어의 문장 중 적어도 하나와 유사한 원소를 검색하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 후보 문장 리스트를 생성하는 단계는
데이터베이스로부터 상기 제1 특징 벡터와 유사한 특징 벡터에 매칭된 제1 통역 결과를 획득하는 단계;
상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장에 매칭된 제2 통역 결과를 획득하는 단계;
상기 데이터베이스로부터 상기 제2 특징 벡터와 유사한 특징 벡터에 매칭된 제3 통역 결과를 획득하는 단계; 및
상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장에 매칭된 제4 통역 결과를 획득하는 단계
중 적어도 하나를 포함하는, 자동 통역 방법. - 제4항에 있어서,
상기 후보 문장 리스트를 생성하는 단계는
상기 획득된 적어도 하나의 통역 결과를 상기 후보 문장 리스트에 추가하는 단계; 및
상기 제2 언어의 문장을 상기 후보 문장 리스트에 추가하는 단계
를 더 포함하는, 자동 통역 방법. - 제4항에 있어서,
상기 제2 통역 결과를 획득하는 단계는
상기 제1 언어의 문장을 벡터로 변환하는 단계; 및
상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장을 검출하는 단계
를 포함하는, 자동 통역 방법. - 제4항에 있어서,
상기 제4 통역 결과를 획득하는 단계는
상기 제2 언어의 문장을 벡터로 변환하는 단계; 및
상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장을 검출하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 제2 언어의 최종 문장을 선택하는 단계는
상기 제2 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하는 단계; 및
상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 제1 특징 벡터를 생성하는 단계는
미리 정해진 프레임 속도에 기초하여 상기 제1 언어의 음성 신호를 샘플링하는 단계;
프레임들에 대응하는 입력 벡터들을 생성하는 단계;
음성 인식을 위한 인코더에 상기 입력 벡터들을 순차적으로 입력하는 단계; 및
상기 음성 인식을 위한 인코더로부터 출력되는 상기 제1 특징 벡터를 획득하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 제1 언어의 문장을 생성하는 단계는
상기 제1 특징 벡터를 음성 인식을 위한 디코더에 입력하는 단계;
상기 음성 인식을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및
상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제1 언어의 문장으로 선택하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 제2 특징 벡터를 생성하는 단계는
상기 제1 언어의 문장을 복수의 서브 워드들로 분할하는 단계;
기계 번역을 위한 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하는 단계; 및
상기 기계 번역을 위한 인코더로부터 출력되는 상기 제2 특징 벡터를 획득하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 제2 언어의 문장을 생성하는 단계는
상기 제2 특징 벡터를 기계 번역을 위한 디코더에 입력하는 단계;
상기 기계 번역을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및
상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는 단계
를 포함하는, 자동 통역 방법. - 제1항에 있어서,
상기 제1 특징 벡터, 상기 제1 언어의 문장 및 상기 제2 특징 벡터를 데이터베이스에 저장하는 단계; 및
상기 제1 특징 벡터, 상기 제1 언어의 문장, 및 상기 제2 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는 단계
를 더 포함하는, 자동 통역 방법. - 제1 언어의 문장을 인코딩하여 특징 벡터를 생성하는 단계;
상기 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 단계;
상기 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 기초하여 후보 문장 리스트를 생성하는 단계; 및
상기 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 단계
를 포함하는, 기계 번역 방법. - 제14항에 있어서,
상기 후보 문장 리스트를 생성하는 단계는
데이터베이스로부터 상기 특징 벡터와 유사한 특징 벡터에 매칭된 제1 번역 결과를 획득하는 단계; 및
상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장에 매칭된 제2 번역 결과를 획득하는 단계
중 적어도 하나를 포함하는, 기계 번역 방법. - 제15항에 있어서,
상기 후보 문장 리스트를 생성하는 단계는
상기 획득된 적어도 하나의 번역 결과를 상기 후보 문장 리스트에 추가하는 단계; 및
상기 제2 언어의 문장을 상기 후보 문장 리스트에 추가하는 단계
를 더 포함하는, 기계 번역 방법. - 제14항에 있어서,
상기 제2 언어의 최종 문장을 선택하는 단계는
상기 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하는 단계; 및
상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는 단계
를 포함하는, 기계 번역 방법. - 제14항에 있어서,
상기 특징 벡터를 생성하는 단계는
상기 제1 언어의 문장을 복수의 서브 워드들로 분할하는 단계;
기계 번역을 위한 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하는 단계; 및
상기 기계 번역을 위한 인코더로부터 출력되는 상기 특징 벡터를 획득하는 단계
를 포함하는, 기계 번역 방법. - 제14항에 있어서,
상기 제2 언어의 문장을 생성하는 단계는
상기 특징 벡터를 기계 번역을 위한 디코더에 입력하는 단계;
상기 기계 번역을 위한 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하는 단계; 및
상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는 단계
를 포함하는, 기계 번역 방법. - 제14항에 있어서,
상기 제1 언어의 문장 및 상기 특징 벡터를 데이터베이스에 저장하는 단계; 및
상기 제1 언어의 문장 및 상기 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는 단계
를 더 포함하는, 기계 번역 방법. - 하드웨어와 결합되어 제1항 내지 제20항 중에서 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
- 제1 언어의 음성 신호를 인코딩하여 생성한 제1 특징 벡터를 디코딩하여 제1 언어의 문장을 생성하는 음성 인식기;
상기 제1 언어의 문장을 인코딩하여 생성한 제2 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 번역기; 및
상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나 에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 프로세서
를 포함하는, 자동 통역 장치. - 제22항에 있어서,
데이터베이스를 포함하는 메모리
를 더 포함하고,
상기 프로세서는
상기 데이터베이스로부터, 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나에 대응하는 후보 문장을 획득하는, 자동 통역 장치. - 제23항에 있어서,
상기 프로세서는
근사 k-NN(approximate k-Nearest Neighbor) 알고리즘을 이용하여, 상기 데이터베이스에 저장된 복수의 원소(elements)들 중 상기 제1 특징 벡터, 상기 제1 언어의 문장, 상기 제2 특징 벡터, 및 상기 제2 언어의 후보 문장 중 적어도 하나와 유사한 원소를 검색하는, 자동 통역 장치. - 제22항에 있어서,
상기 프로세서는
데이터베이스로부터 상기 제1 특징 벡터와 유사한 특징 벡터에 매칭된 제1 통역 결과, 상기 제1 언어의 문장과 유사한 문장에 매칭된 제2 통역 결과, 상기 제2 특징 벡터와 유사한 특징 벡터에 매칭된 제3 통역 결과, 상기 제2 언어의 문장과 유사한 문장에 매칭된 제4 통역 결과 중 적어도 하나를 획득하는, 자동 통역 장치. - 제25항에 있어서,
상기 프로세서는
상기 획득된 적어도 하나의 통역 결과를 상기 후보 문장 리스트에 추가하고, 상기 제2 언어의 문장을 상기 후보 문장 리스트에 더 추가하는, 자동 통역 장치. - 제25항에 있어서,
상기 프로세서는
상기 제1 언어의 문장을 벡터로 변환하고, 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제1 언어의 문장과 유사한 문장을 검출하는, 자동 통역 장치. - 제25항에 있어서,
상기 프로세서는
상기 제2 언어의 문장을 벡터로 변환하고, 상기 변환된 벡터에 기초하여, 상기 데이터베이스로부터 상기 제2 언어의 문장과 유사한 문장을 검출하는, 자동 통역 장치. - 제22항에 있어서,
상기 번역기는
상기 제2 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하고,
상기 프로세서는
상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는, 자동 통역 장치. - 제22항에 있어서,
상기 프로세서는
미리 정해진 프레임 속도에 기초하여 상기 제1 언어의 음성 신호를 샘플링하고, 프레임들에 대응하는 입력 벡터들을 생성하고, 상기 음성 인식기의 인코더에 상기 입력 벡터들을 순차적으로 입력하며, 상기 음성 인식기의 인코더로부터 출력되는 상기 제1 특징 벡터를 획득하는, 자동 통역 장치. - 제22항에 있어서,
상기 프로세서는
상기 제1 특징 벡터를 상기 음성 인식기의 디코더에 입력하고, 상기 음성 인식기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제1 언어의 문장으로 선택하는, 자동 통역 장치. - 제22항에 있어서,
상기 프로세서는
상기 제1 언어의 문장을 복수의 서브 워드들로 분할하고, 상기 번역기의 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하며, 상기 번역기의 인코더로부터 출력되는 상기 제2 특징 벡터를 획득하는, 자동 통역 장치. - 제22항에 있어서,
상기 프로세서는
상기 제2 특징 벡터를 상기 번역기의 디코더에 입력하고, 상기 번역기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는, 자동 통역 장치. - 제22항에 있어서,
상기 프로세서는
상기 제1 특징 벡터, 상기 제1 언어의 문장 및 상기 제2 특징 벡터를 데이터베이스에 저장하고,
상기 제1 특징 벡터, 상기 제1 언어의 문장, 및 상기 제2 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는, 자동 통역 장치. - 제1 언어의 문장을 인코딩하여 생성한 특징 벡터를 디코딩하여 제2 언어의 문장을 생성하는 번역기; 및
상기 특징 벡터 및 상기 제2 언어의 문장 중 적어도 하나 에 기초하여 생성한 후보 문장 리스트로부터 제2 언어의 최종 문장을 선택하는 프로세서
를 포함하는, 기계 번역 장치. - 제35항에 있어서,
데이터베이스를 포함하는 메모리
를 더 포함하고,
상기 프로세서는
상기 데이터베이스로부터 상기 특징 벡터와 유사한 특징 벡터에 매칭된 제1 번역 결과, 상기 제2 언어의 문장과 유사한 문장에 매칭된 제2 번역 결과 중 적어도 하나를 획득하는, 기계 번역 장치. - 제36항에 있어서,
상기 프로세서는
상기 획득된 적어도 하나의 번역 결과를 상기 후보 문장 리스트에 추가하고, 상기 제2 언어의 문장을 상기 후보 문장 리스트에 더 추가하는, 기계 번역 장치. - 제35항에 있어서,
상기 번역기는
상기 특징 벡터에 기초하여, 상기 후보 문장 리스트에 포함된 후보 문장들의 스코어들을 계산하고,
상기 프로세서는
상기 후보 문장들 중 최고 스코어를 가지는 후보 문장을 상기 제2 언어의 최종 문장으로 선택하는, 기계 번역 장치. - 제35항에 있어서,
상기 프로세서는
상기 제1 언어의 문장을 복수의 서브 워드들로 분할하고, 상기 번역기의 인코더에 상기 복수의 서브 워드들을 지시하는 입력 벡터들을 순차적으로 입력하며, 상기 번역기의 인코더로부터 출력되는 상기 특징 벡터를 획득하는, 기계 번역 장치. - 제35항에 있어서,
상기 프로세서는
상기 특징 벡터를 상기 번역기의 디코더에 입력하고, 상기 번역기의 디코더로부터 순차적으로 출력되는 서브 워드들의 확률들에 기초하여, 미리 정해진 수의 문장 시퀀스를 생성하며, 상기 미리 정해진 수의 문장 시퀀스 중 스코어가 가장 높은 문장 시퀀스를 상기 제2 언어의 문장으로 선택하는, 기계 번역 장치. - 제35항에 있어서,
상기 프로세서는
상기 제1 언어의 문장 및 상기 특징 벡터를 데이터베이스에 저장하고,
상기 제1 언어의 문장 및 상기 특징 벡터에 매칭하여, 상기 제2 언어의 문장 및 상기 제2 언어의 최종 문장 중 적어도 하나를 상기 데이터베이스에 저장하는, 기계 번역 장치.
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)
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)
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)
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)
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 |
-
2016
- 2016-07-07 KR KR1020160086036A patent/KR102565274B1/ko active IP Right Grant
-
2017
- 2017-01-12 US US15/404,941 patent/US10867136B2/en active Active
- 2017-02-10 EP EP17155528.7A patent/EP3267328B1/en active Active
- 2017-03-24 JP JP2017058860A patent/JP6923332B2/ja active Active
- 2017-04-19 CN CN201710256367.3A patent/CN107590135B/zh active Active
Patent Citations (4)
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)
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 |