KR20220055954A - 전자 장치 및 그 제어 방법 - Google Patents
전자 장치 및 그 제어 방법 Download PDFInfo
- Publication number
- KR20220055954A KR20220055954A KR1020200140570A KR20200140570A KR20220055954A KR 20220055954 A KR20220055954 A KR 20220055954A KR 1020200140570 A KR1020200140570 A KR 1020200140570A KR 20200140570 A KR20200140570 A KR 20200140570A KR 20220055954 A KR20220055954 A KR 20220055954A
- Authority
- KR
- South Korea
- Prior art keywords
- vector
- inputting
- sentence
- output sentence
- obtaining
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 40
- 238000013519 translation Methods 0.000 description 92
- 238000013473 artificial intelligence Methods 0.000 description 27
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000001373 regressive effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 238000007670 refining Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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/47—Machine-assisted translation, e.g. using translation memory
-
- 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
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Machine Translation (AREA)
Abstract
전자 장치가 개시된다. 본 개시에 따른 전자 장치는 제1 언어의 입력 문장을 획득하기 위한 입력부; 메모리; 및 프로세서;를 포함하고, 프로세서는, 입력 문장을 인코더 모델에 입력하여 입력 문장에 대응되는 특징 벡터를 획득하고, 특징 벡터 및 특정 정수를 중간 네트워크에 입력하여 제1 잠재 벡터를 획득하고, 제1 잠재 벡터를 디코더 모델에 입력하여 제1 언어와 상이한 제2 언어의 제1 출력 문장에 대한 정보를 획득하고, 특징 벡터 및 제1 출력 문장에 대한 정보를 중간 네트워크에 입력하여 제2 잠재 벡터를 획득하고, 제2 잠재 벡터를 디코더 모델에 입력하여 제2 언어의 제2 출력 문장에 대한 정보를 획득한다.
Description
본 개시는 전자 장치 및 그 제어 방법으로, 보다 상세하게는, 입력 문장에 대한 기계 번역을 수행하여 출력 문장을 획득하는 전자 장치 및 그 제어 방법에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 인간 수준의 지능을 구현하는 컴퓨터 시스템이며, 기존 Rule기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다.
최근에는, 인공지능을 이용한 기계 번역 모델에 대한 연구가 활발히 진행되고 있다. 기계 번역의 대표적 모델로는 트랜스포머(transformer)라 불리는 모델이 있으나, 트랜스포머는 시퀀스 투 시퀀스(sequence to sequence) 방식 즉, 토큰 단위로 번역을 수행하므로 처리 시간의 제약이 있다는 한계가 있다. 이러한 한계를 극복하기 위해 문장 단위로 번역을 수행하는 기술에 대한 연구가 진행되고 있으나, 디코더에 대한 입력인 잠재 벡터를 생성하기 위한 별도의 네트워크가 추가되어야 하므로 모델의 크기가 증가하게되고 메모리 사용량이 증가하는 문제가 있다.
따라서, 번역 처리 시간과 메모리 사용량을 최소화하기 위한 번역 모델에 대한 필요성이 대두된다.
본 발명이 해결하고자 하는 일 기술적 과제는, 번역 처리 시간 및 메모리 사용량을 최소화할 수 있는 번역 모델을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 일 실시 예에 따르면, 전자 장치에 있어서, 전자 장치에 있어서, 제1 언어의 입력 문장을 획득하기 위한 입력부; 적어도 하나의 인스트럭션을 저장하는 메모리; 및 프로세서;를 포함하고, 상기 프로세서는, 상기 입력 문장을 인코더 모델에 입력하여 상기 입력 문장에 대응되는 특징 벡터를 획득하고, 상기 특징 벡터 및 특정 정수를 중간 네트워크에 입력하여 제1 잠재 벡터를 획득하고, 상기 제1 잠재 벡터를 디코더 모델에 입력하여 상기 제1 언어와 상이한 제2 언어의 제1 출력 문장에 대한 정보를 획득하고, 상기 특징 벡터 및 상기 제1 출력 문장에 대한 정보를 상기 중간 네트워크에 입력하여 제2 잠재 벡터를 획득하고, 상기 제2 잠재 벡터를 상기 디코더 모델에 입력하여 상기 제2 언어의 제2 출력 문장에 대한 정보를 획득하는 전자 장치가 제공될 수 있다.
상술한 기술적 과제를 해결하기 위한 본 개시의 예시적인 다른 일 실시 예에 따르면, 전자 장치의 제어 방법에 있어서, 제1 언어의 입력 문장을 획득하는 단계; 상기 입력 문장을 인코더 모델에 입력하여 특징 벡터를 획득하는 단계; 상기 특징 벡터 및 특정 정수를 중간 네트워크에 입력하여 제1 잠재 벡터를 획득하는 단계; 상기 제1 잠재 벡터를 디코더 모델에 입력하여 상기 제1 언어와 상이한 제2 언어의 제1 출력 문장에 대한 정보를 획득하는 단계; 상기 특징 벡터 및 상기 제1 출력 문장에 대한 정보를 상기 중간 네트워크에 입력하여 제2 잠재 벡터를 획득하는 단계; 및 상기 제2 잠재 벡터를 상기 디코더 모델에 입력하여 상기 제2 언어의 제2 출력 문장에 대한 정보를 획득하는 단계;를 포함하는 제어 방법이 제공될 수 있다.
본 개시의 과제의 해결 수단이 상술한 해결 수단들로 제한되는 것은 아니며, 언급되지 아니한 해결 수단들은 본 명세서 및 첨부된 도면으로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
이상과 같은 본 개시의 다양한 실시 예에 따르면, 전자 장치는 번역 처리 시간과 메모리 사용량을 최소화하면서 사용자에게 번역된 문장을 제공할 수 있다. 이에 따라, 전자 장치는 메모리를 효율적으로 이용할 수 있다.
그 외에 본 개시의 실시 예로 인하여 얻을 수 있거나 예측되는 효과에 대해서는 본 개시의 실시 예에 대한 상세한 설명에서 직접적 또는 암시적으로 개시하도록 한다. 예컨대, 본 개시의 실시 예에 따라 예측되는 다양한 효과에 대해서는 후술될 상세한 설명 내에서 개시될 것이다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 컨셉을 설명하기 위한 도면이다.
도 2는 비-회귀적 번역 모델(Non-Autoregressive Translation Model)을 도시한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 번역 모델을 도시한 도면이다.
도 4는 본 개시의 다른 일 실시 예에 따른 번역 모델을 도시한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 6은 본 개시의 일 실세 예에 따른 전자 장치의 제어 방법을 도시한 순서도이다.
도 2는 비-회귀적 번역 모델(Non-Autoregressive Translation Model)을 도시한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 번역 모델을 도시한 도면이다.
도 4는 본 개시의 다른 일 실시 예에 따른 번역 모델을 도시한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 블록도이다.
도 6은 본 개시의 일 실세 예에 따른 전자 장치의 제어 방법을 도시한 순서도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 회귀적 번역 모델을 도시한 도면이다. 소위 시퀀스 투 시퀀스 모델(Sequence To Sequence Model) 또는 회귀적 번역 모델(Autoregressive Translation Model)이라 불리는 종래의 번역 모델(100)은 입력 문장(X)을 인코더(110)에 입력하여 컨텍스트 벡터를 획득한다. 그리고, 번역 모델(100)은 컨텍스트 벡터를 디코더(120)에 입력하여 출력 문장(Y)을 구성하는 복수의 토큰(token)(또는 단어)들(, , )을 순차적으로 획득한다. 구체적으로, 번역 모델(100)은 제1 시점(time step)에 문장의 시작을 의미하는 심볼(<sos>)과 컨텍스트 벡터를 디코더(120)에 입력하여 제1 토큰을 획득한다. 그리고, 번역 모델(100)은 제2 시점에 제1 토큰()을 디코더(120)에 입력하여 제2 토큰()을 획득한다. 마찬가지로, 번역 모델(100)은 제3 시점에 제2 토큰()을 디코더(120)에 입력하여 제3 토큰()을 획득한다. 번역 모델(100)은 문장의 끝을 의미하는 심볼(예로, <eos>)이 디코더(120)의 출력으로 획득될 때까지 이 같은 동작을 반복한다.
이와 같이, 번역 모델(100)은 토큰 단위로 순차적으로 출력 문장을 획득하였다. 이에 따라, 출력 문장을 구성하는 복수의 토큰을 동시에 획득할 수 없으므로, 출력 문장을 획득하기 위한 시간 소요가 크다는 문제가 있었다.
이러한 문제를 해결하기 위하여 소위 비-회귀적 번역 모델(Non-Autoregressive Translation Model)이라 불리는 번역 모델이 개발되었다. 비-회귀적 번역 모델은 토큰 단위로 순차적으로 출력 문장을 획득하는 회귀적 번역 모델과는 달리, 문장 단위로 출력 문장을 획득할 수 있다. 이에 따라, 비-회귀적 번역 모델은 회귀적 번역 모델에 비하여 번역 처리 속도가 빠르다는 장점을 갖는다.
도 2는 비-회귀적 번역 모델(Non-Autoregressive Translation Model)을 도시한 도면이다. 번역 모델(200)은 제1 언어의 입력 문장(X)을 인코더(210)에 입력하여 특징 벡터(h(X))를 획득할 수 있다(S210). 번역 모델(200)은 특징 벡터(h(X))를 프라이어 모델(220)에 입력하여 잠재 벡터(Z)를 획득할 수 있다(S220). 프라이어 모델(220)은 디코더(240)의 입력 값인 잠재 벡터(또는, 잠재 변수)(Z)를 획득하기 위한 모델이며, 잠재 벡터(Z)란 입력 문장(X)에 대한 특징(feature)을 나타내는 벡터를 의미한다. 프라이어 모델(220)은 다수의 신경망과 레이어들(layers)을 포함할 수 있다. 예를 들어, 프라이어 모델(220)은 어텐션 메커니즘(attention mechanism)에 기초한 어텐션 레이어들(Self-Attention, Cross-Attention)을 포함할 수 있다. 여기서, 어텐션 레이어는, 입력 문장(X)에 포함된 여러 단어(또는 토큰)마다 다른 단어들과의 관계를 분석하여 어떤 단어에 집중할 것인지를 판단하기 위한 레이어이다. 프라이어 모델(220)은 어텐션 레이어를 통해 입력 문장(X)에 포함된 각 단어에 대한 가중치를 획득할 수 있다. 또한, 프라이어 모델(220)은 잠재 벡터(Z)의 크기(또는 차원)을 조절하기 위한 순방향 네트워크(Feed-Forward Network, FNN)를 포함할 수 있다.
번역 모델(200)은 잠재 벡터(Z)를 디코더(240)에 입력하여 제1 언어와 상이한 제2 언어의 제1 출력 문장(Y)을 획득할 수 있다(S230). 그리고, 번역 모델(200)은 제1 출력 문장(Y)과 특징 벡터 (h(X))를 포스테리어 모델(230)에 입력하여 제2 잠재 벡터(Z')를 획득할 수 있다(S250). 번역 모델(200)은 제2 잠재 벡터(Z')를 디코더(240)에 입력하여 제2 출력 문장(Y')을 획득할 수 있다(S260)(미도시). 번역 모델(200)은 제1 출력 문장(Y)에 대응되는 제1 벡터값과 제2 출력 문장(Y')에 대응되는 제2 벡터값의 차이가 기 설정된 값 이하가 될 때까지, 단계 S240, S250 및 S260을 반복할 수 있다. 즉, 번역 모델(200)은 출력 문장이 개선될 때까지 이전 시점에 획득된 출력 문장을 바탕으로 새로운 출력 문장을 반복적으로 획득할 수 있으며, 이러한 과정을 출력 문장에 대한 정제(refinement) 과정이라 한다.
한편, 도 2의 번역 모델(200)은 도 1의 번역 모델(100)에 비해 번역 처리 속도가 빠르다는 장점을 가지나, 프라이어 모델(220) 및 포스테리어 모델(230)이 추가됨에 따라 메모리 사용량이 증가한다는 단점을 갖는다. 이러한 단점은 스마트 폰과 같이 메모리 용량이 제한적인 장치에는 번역 모델(200)의 적용이 어렵다는 문제로 이어진다. 이러한 문제점을 해결하기 위하여, 본 개시에 따른 번역 모델은 프라이어 모델 및 포스테리어 모델이 통합된 형태로 구현될 수 있다.
도 3은 본 개시의 일 실시 예에 따른 번역 모델을 도시한 도면이다. 번역 모델(300)은 인코더(310), 중간 네트워크(320) 및 디코더(330)를 포함할 수 있다. 번역 모델(300)은 신경망(neural network)으로 구현될 수 있다.
번역 모델(300)은 제1 언어의 입력 문장(X)을 인코더(310)에 입력하여 특징 벡터(h(X))를 획득할 수 있다(S310). 제1 언어의 입력 문장(X)을 인코더(310)에 입력하는 동작은, 입력 문장(X)에 대한 텍스트를 바탕으로 입력 문장(X)에 대한 벡터를 획득하고, 획득된 벡터를 입력 레이어(미도시)에 입력하는 동작을 포함할 수 있다. 이 때, 번역 모델(300)은 워드 투 벡터(word2vec) 또는 워드 임베딩(word embedding)에 기초하여 입력 문장(X)에 대응되는 벡터를 획득할 수 있다. 한편, 입력 레이어는 인코더(310)에 포함될 수 있다.
인코더(310)는 셀프-어텐션(Self-Attention) 레이어 및 순방향 네트워크(Feed-Forward Network, FNN)를 포함할 수 있다. 인코더(310)는 입력 문장(X)을 셀프-어텐션(Self-Attention) 레이어에 입력하여 입력 문장(X)에 포함된 단어 각각에 대한 가중치를 나타내는 가중치 벡터를 획득할 수 있다. 그리고, 인코더(310)는 가중치 벡터를 순방향 네트워크(Feed-Forward Network, FNN)에 입력하여 특징 벡터(h(X))를 획득할 수 있다.
그리고, 번역 모델(300)은 특징 벡터(h(X)) 및 특정 정수를 중간 네트워크(320)에 입력하여 제1 잠재 벡터(Z)를 획득할 수 있다(S320). 여기서, 특정 정수는 0이 될 수 있다. 중간 네트워크(320)은 적어도 하나의 어텐션 레이어 및 적어도 하나의 순방향 네트워크를 포함할 수 있다. 예를 들어, 중간 네트워크(320)은 셀프-어텐션 레이어 및 크로스-어텐션 레이어를 포함하는 어텐션 레이어와 순방향 네트워크를 포함할 수 있다. 이 때, 번역 모델(300)은 특징 벡터(h(X)) 및 0을 셀프-어텐션 레이어, 제1 순방향 네트워크, 크로스-어텐션 레이어 및 제2 순방향 네트워크에 순차적으로 입력하여 잠재 벡터(Z)를 획득할 수 있다.
한편, 중간 네트워크(320)은 종래의 번역 모델(200)의 프라이어 모델(220) 및 포스테리어 모델(230)에 대응되는 기능을 수행할 수 있다. 그러나, 프라이어 모델(220) 및 포스테리어 모델(230)이 별도의 네트워크로 구성되는 번역 모델(200)과 달리, 중간 네트워크(320)에서는 프라이어 모델(220) 및 포스테리어 모델(230)에 대응되는 기능을 수행하는 네트워크가 하나의 네트워크로 구성될 수 있다. 따라서, 번역 모델(300)은 도 2의 번역 모델(200)에 비하여 모델의 크기와 메모리 사용량이 작다는 장점이 있다. 따라서, 번역 모델(300)은 스마트폰과 같은 메모리 용량이 제한적인 장치에도 적용될 수 있다.
한편, 번역 모델(300)은 첫 번째 시점(time step)에서는 특징 벡터(h(X))와 함께 0을 중간 네트워크(320)에 입력하여 잠재 벡터(Z)를 획득하나, 그 이후의 시점에서는 디코더(330)를 통해 획득된 출력 문장(Y)을 이용하여 새로운 잠재 벡터(Z')를 획득할 수 있다. 새로운 잠재 벡터(Z')를 획득하는 과정은 단계 S340에서 보다 상세히 후술하도록 한다.
번역 모델(300)은 잠재 벡터(Z)를 디코더(330)에 입력하여 제2 언어의 출력 문장(Y)에 대한 정보를 획득할 수 있다(S330). 예로, 출력 문장(Y)에 대한 정보는 출력 문장(Y)에 대응되는 벡터를 의미할 수 있다. 한편, 제1 언어와 제2 언어는 상이할 수 있다. 일 예로는, 제1 언어는 영어이고 제2 언어는 한국어일 수 있으나, 이에 국한되는 것은 아니다.
디코더(330)는 적어도 하나의 어텐션 레이어 및 적어도 하나의 순방향 네트워크를 포함할 수 있다. 예를 들어, 디코더(330)는 셀프-어텐션 레이어 및 크로스-어텐션 레이어를 포함하는 어텐션 레이어와 순방향 네트워크를 포함할 수 있다. 이 때, 디코더(330)는 잠재 벡터(Z)를 셀프-어텐션 레이어, 제1 순방향 네트워크, 크로스-어텐션 레이어 및 제2 순방향 네트워크에 순차적으로 입력하여 출력 문장(Y)을 획득할 수 있다.
출력 문장(Y)이 획득되면, 번역 모델(300)은 출력 문장(Y)을 업데이트 또는 정제(refinement)하기 위한 동작을 수행할 수 있다. 번역 모델(300)은 특징 벡터(h(X)) 및 출력 문장(Y)에 대한 정보를 중간 네트워크(320)에 입력하여 새로운 잠재 벡터(Z')를 획득할 수 있다(S350). 첫 번째 시점에 획득된 출력 문장(Y)을 제1 출력 문장(Y)이라 할 때, 번역 모델(300)은 제1 출력 문장(Y) 및 특징 벡터(h(X))를 중간 네트워크(320)에 입력하여 새로운 제2 잠재 벡터(Z')를 획득할 수 있다.
그리고, 번역 모델(300)은 제2 잠재 벡터(Z')를 디코더(330)에 입력하여 새로운 제2 출력 문장(Y')에 대한 정보를 획득할 수 있다(S360)(미도시). 번역 모델(300)은 제1 출력 문장(Y)에 대한 정보와 제2 출력 문장(Y')에 대한 정보의 유사도를 획득할 수 있다. 예를 들어, 번역 모델(300)은 제1 출력 문장(Y)에 대응되는 제1 벡터와 제2 출력 문장(Y')에 대응되는 제2 벡터의 유사도를 획득할 수 있다. 획득된 유사도가 기 설정된 값 이상이 될 때까지 번역 모델(300)은 단계 S340, S350 및 S360을 반복적으로 수행할 수 있다. 또는, 번역 모델(300)은 미리 설정된 횟수(예로, 5회)만큼 단계 S340, S350 및 S360을 반복적으로 수행할 수 있다.
획득된 유사도가 기 설정된 값 이상이면, 번역 모델(300)은 출력 문장(Y)에 대한 정보를 출력 레이어(미도시)에 입력하여 출력 문장(Y)에 대응되는 텍스트를 획득할 수 있다. 예로, 출력 레이어는 선형 레이어 및 소프트맥스 레이어(softmax layer)를 포함할 수 있다. 여기서, 출력 레이어는 디코더(340)에 포함될 수 있다.
한편, 중간 네트워크(320)과 디코더(330)는 통합될 수 있다. 도 4는 본 개시의 다른 일 실시 예에 따른 번역 모델을 도시한 도면이다. 번역 모델(400)은 인코더(410), 중간 네트워크(420), 순방향 네트워크(430, 450) 및 디코딩 블락(440)을 포함할 수 있다.
번역 모델(400)은 입력 문장(X)을 인코더(410)에 입력하여 특징 벡터(h(X))를 획득할 수 있다(S410). 인코더(410)는 셀프-어텐션(Self-Attention) 레이어 및 순방향 네트워크(Feed-Forward Network, FNN)를 포함할 수 있다. 인코더(410)는 입력 문장(X)을 셀프-어텐션(Self-Attention) 레이어에 입력하여 입력 문장(X)에 포함된 단어 각각에 대한 가중치를 나타내는 가중치 벡터를 획득할 수 있다. 그리고, 인코더(410)는 가중치 벡터를 순방향 네트워크(Feed-Forward Network, FNN)에 입력하여 특징 벡터(h(X))를 획득할 수 있다.
번역 모델(400)은 특징 벡터(h(X)) 및 특정 정수를 중간 네트워크(420)에 입력하여 제1-1 잠재 벡터(Z1)를 획득할 수 있다(S420). 여기서, 특정 정수는 0이 될 수 있다. 중간 네트워크(420)은 적어도 하나의 어텐션 레이어 및 적어도 하나의 순방향 네트워크를 포함할 수 있다. 예를 들어, 중간 네트워크(420)은 셀프-어텐션 레이어 및 크로스-어텐션 레이어를 포함하는 어텐션 레이어와 순방향 네트워크를 포함할 수 있다. 이 때, 번역 모델(400)은 특징 벡터(h(X)) 및 0을 셀프-어텐션 레이어, 제1 순방향 네트워크, 크로스-어텐션 레이어 및 제2 순방향 네트워크에 순차적으로 입력하여 제1-1 잠재 벡터(Z1)를 획득할 수 있다.
중간 네트워크(420)은 도 3의 중간 네트워크(320) 및 디코더(330)에 대응되는 기능을 수행할 수 있다. 그러나, 중간 네트워크(320) 및 디코더(330)가 별도로 모델링되는 도 3의 번역 모델(300)과 달리, 중간 네트워크(420)에서는 중간 네트워크(320) 및 디코더(330)가 하나의 모델로 모델링될 수 있다. 따라서, 번역 모델(400)은 도 3의 번역 모델(300)에 비하여 모델의 크기와 메모리 사용량이 작을 수 있다.
제1-1 잠재 벡터(Z1)가 획득되면, 번역 모델(400)은 제1-1 잠재 벡터(Z1)를 순방향 네트워크(430)에 입력하여 제1-2 잠재 벡터(Z1')를 획득할 수 있다(S430). 제1-2 잠재 벡터(Z1')는 제1-1 잠재 벡터(Z1)로부터 벡터의 디멘션(dimension)이 변형된 벡터이다. 출력의 형태나 크기가 상이한 프라이어 모델, 포스테리어 모델 및 디코더가 통합되었으므로, 번역 모델(400)은 중간 네트워크(420)에 대한 입력의 형태나 크기를 조절하기 위하여 순방향 네트워크(430)를 이용할 수 있다.
번역 모델(400)은 특징 벡터(h(X)) 및 제1-2 잠재 벡터(Z1')를 중간 네트워크(420)에 입력하여 제2 잠재 벡터(Z2)를 획득할 수 있다(S440). 그리고, 번역 모델(400)은 제2 잠재 벡터(Z2)를 디코딩 블락(440)에 입력하여 출력 문장(Y)에 대한 정보를 획득할 수 있다(S460).
출력 문장(Y)에 대한 정보가 획득되면, 번역 모델(400)은 출력 문장(Y)에 대한 정보를 업데이트 또는 정제(refinement)하기 위한 동작을 수행할 수 있다. 여기서, 출력 문장(Y)에 대한 정보는, 출력 문장(Y)에 대응되는 벡터를 포함할 수 있다. 번역 모델(400)은 출력 문장(Y)에 대응되는 벡터를 순방향 네트워크(450)에 입력하여 벡터의 형태나 크기를 조절할 수 있다. 그리고, 번역 모델(400)은 형태나 크기가 조절된 출력 문장(Y)에 대응되는 벡터와 특징 벡터(h(X))를 중간 네트워크(420)에 입력하여 새로운 잠재 벡터(미도시)를 획득할 수 있다. 번역 모델(400)은 새로운 잠재 벡터를 순방향 네트워크(430)에 통과시켜 새로운 잠재 벡터의 크기를 조절하며, 크기가 조절된 새로운 잠재 벡터와 특징 벡터(h(X))를 중간 네트워크(420)에 입력하여 제3 잠재 벡터(Z3)를 획득할 수 있다. 그리고, 번역 모델(400)은 제3 잠재 벡터(Z3)를 디코딩 블락(440)에 입력하여 새로운 출력 문장을 획득할 수 있다.
이에 따라, 이전 시점에 획득된 출력 문장(Y)에 대응되는 새로운 출력 문장이 획득될 수 있다. 새로운 출력 문장이 획득되면, 번역 모델(400)은 이전 시점에 획득된 출력 문장(Y)과 새로운 출력 문장의 유사도를 획득할 수 있다. 예를 들어, 번역 모델(400)은 출력 문장(Y)에 대응되는 제1 벡터와 새로운 출력 문장에 대응되는 제2 벡터의 유사도를 산출할 수 있다. 산출된 유사도가 기 설정된 값 이상이 될 때까지 번역 모델(400)은 단계 S420, S430, S440 및 S450을 반복할 수 있다. 또는, 번역 모델(400)은 미리 설정된 횟수(예로, 5회)만큼 단계 S420, S430, S440 및 S450을 반복할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 도시한 블록도이다. 전자 장치(500)는 입력부(510), 통신 인터페이스(520), 출력부(530), 메모리(540) 및 프로세서(550)를 포함할 수 있다. 예로, 전자 장치(500)는 스마트 폰일 수 있으나, 이에 한정되는 것은 아니며, 태블릿 PC 및 웨어러블 장치를 비롯한 다양한 장치로 구현될 수 있다.
입력부(510)는 사용자가 전자 장치(500)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 입력부(510)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 프로세서(550)는 입력부(510)를 통해 사용자가 입력하는 적어도 하나의 문장에 대응되는 텍스트를 획득할 수 있다.
입력부(510)는 마이크를 포함할 수 있다. 이 때, 프로세서(550)는 입력부(510)를 통해 획득되는 사용자의 음성 신호를 획득하고, 음성 신호에 대응되는 텍스트를 획득할 수 있다.
통신 인터페이스(520)는 적어도 하나의 회로를 포함하며 다양한 유형의 통신 방식에 다라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신 인터페이스(520)는 무선 혹은 유선으로 데이터 통신을 수행할 수 있다. 무선 통신 방식으로 외부 기기와 통신을 수행할 경우, 통신 인터페이스(520)는 와이파이 통신 모듈, 셀룰러 통신모듈, 3G(3세대) 이동통신 모듈, 4G(4세대) 이동통신 모듈, 4세대 LTE(Long Term Evolution) 통신 모듈, 5G(5세대) 이동통신 모듈 중 적어도 하나를 포함할 수 있다. 한편, 본 개시의 일 실시 예에 따른, 통신 인터페이스(520)는 무선 통신 모듈로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 유선 통신 모듈(예를 들어, LAN 등)로 구현될 수 있다.
출력부(530)는 전자 장치(500)를 통해 획득된 번역된 문장을 출력하여 사용자에게 제공하기 위한 구성이다. 예로, 출력부(530)는 디스플레이 및 스피커를 포함할 수 있다. 출력부(530)가 디스플레이인 경우, 출력부(530)는 번역된 문장(또는 출력 문장)을 디스플레이할 수 있다. 출력부(530)가 스피커인 경우, 출력부(530)는 번역된 문장에 대응되는 음성 신호를 출력할 수 있다.
메모리(540)는 전자 장치(500)의 구성요소들의 전반적인 동작을 제어하기 위한 운영체제(OS: Operating System) 및 전자 장치(500)의 구성요소와 관련된 명령 또는 데이터를 저장할 수 있다. 이를 위해 메모리(540)는 비휘발성 메모리(ex: 하드 디스크, SSD(Solid state drive), 플래시 메모리), 휘발성 메모리 등으로 구현될 수 있다. 메모리(540)는 입력 문장을 번역하기 위한 번역 모델을 저장할 수 있다.
프로세서(550)는 전자 장치(500)의 전반적인 동작을 제어할 수 있다.
예로, 프로세서(550)는 입력부(510)를 통해 제1 언어의 입력 문장을 획득할 수 있다.
프로세서(550)는 메모리(540)에 저장된 번역 모델을 획득하고, 획득된 번역 모델을 이용하여 입력 문장으로부터 제2 언어의 출력 문장을 획득할 수 있다. 여기서, 번역 모델은 인코더 모델, 중간 네트워크 및 디코더 모델을 포함할 수 있다.
프로세서(550)는 입력 문장을 인코더 모델에 입력하여 입력 문장에 대응되는 특징 벡터를 획득할 수 있다. 인코더 모델은 어텐션 레이어(attention layer) 및 순방향 네트워크를 포함할 수 있다. 이 때, 프로세서(550)는 입력 문장을 어텐션 레이어에 입력하여 입력 문장에 대한 가중치 벡터를 획득하고, 가중치 벡터를 순방향 네트워크에 입력하여 특징 벡터를 획득할 수 있다.
프로세서(550)는 특징 벡터 및 특정 정수를 중간 네트워크에 입력하여 제1 잠재 벡터를 획득할 수 있다. 프로세서(550)는 제1 잠재 벡터를 디코더 모델에 입력하여 제1 언어와 상이한 제2 언어의 제1 출력 문장에 대한 정보를 획득할 수 있다. 제1 출력 문장에 대한 정보는 제1 출력 문장에 대응되는 벡터를 포함할 수 있다.
프로세서(550)는 특징 벡터 및 제1 출력 문장에 대한 정보를 중간 네트워크에 입력하여 제2 잠재 벡터를 획득할 수 있다. 프로세서(550)는 제2 잠재 벡터를 디코더 모델에 입력하여 제2 언어의 제2 출력 문장에 대한 정보를 획득할 수 있다. 제2 출력 문장에 대한 정보는 제2 출력 문장에 대응되는 벡터를 포함할 수 있다.
프로세서(550)는 제1 출력 문장 및 제2 출력 문장의 유사도를 획득할 수 있다. 예로, 프로세서(550)는 제1 출력 문장에 대응되는 제1 벡터 및 제2 출력 문장에 대응되는 제2 벡터를 획득하고, 제1 벡터 및 제2 벡터 간의 유사도를 획득할 수 있다.
획득된 유사도가 기 설정된 값보다 작으면, 프로세서(550)는 제2 출력 문장에 대한 정보 및 특징 벡터를 바탕으로 새로운 출력 문장을 획득할 수 있다. 예를 들어, 프로세서(550)는 특징 벡터 및 제2 출력 문장에 대한 정보를 중간 네트워크에 입력하여 제3 잠재 벡터를 획득할 수 있다. 그리고, 프로세서(550)는 제3 잠재 벡터를 디코더 모델에 입력하여 제3 출력 문장을 획득할 수 있다.
한편, 중간 네트워크는 디코더 모델을 포함할 수 있다. 이 때, 프로세서(550)는 특징 벡터와 제1 잠재 벡터를 중간 네트워크에 입력하여 중간 잠재 벡터를 획득하고, 중간 잠재 벡터를 디코딩하여 제1 출력 문장에 대한 정보를 획득할 수 있다.
한편, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(550)와 메모리(540)를 통해 동작된다. 프로세서(550)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리(540)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다.
본 개시에 따른 전자 장치(500)는 입력 문장에 대한 기계 번역을 수행하여 출력 문장을 획득할 수 있다. 예로, 전자 장치(500)는 마이크를 통해 아날로그 신호인 음성 신호를 수신하고, ASR(Automatic Speech Recognition)모델을 이용하여 음성 부분을 컴퓨터로 판독 가능한 텍스트로 변환할 수 있다. 자연어 이해(Natural Language Understanding, NLU) 모델을 이용하여 변환된 텍스트를 해석하여, 사용자의 발화 의도를 획득할 수 있다. 여기서 ASR 모델 또는 NLU 모델은 인공지능 모델일 수 있다. 인공지능 모델은 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계된 인공지능 전용 프로세서에 의해 처리될 수 있다. 인공지능 모델은 학습을 통해 만들어 질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다.
언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리(Natural Language Processing), 기계 번역(Machine Translation), 대화 시스템(Dialog System), 질의 응답(Question Answering), 음성 인식/합성(Speech Recognition/Synthesis) 등을 포함한다.
인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), GAN (Generative Adversarial Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
도 6은 본 개시의 일 실세 예에 따른 전자 장치의 제어 방법을 도시한 순서도이다.
전자 장치(100)는 제1 언어의 입력 문장을 획득하고(S610), 입력 문장을 인코더 모델에 입력하여 특징 벡터를 획득할 수 있다(S620). 전자 장치(100)는 특징 벡터 및 특정 정수를 중간 네트워크에 입력하여 제1 잠재 벡터를 획득할 수 있다(S630). 전자 장치(100)는 제1 잠재 벡터를 디코더 모델에 입력하여 제1 언어와 상이한 제2 언어의 제1 출력 문장에 대한 정보를 획득할 수 있다(S640).
전자 장치(100)는 특징 벡터 및 제1 출력 문장에 대한 정보를 중간 네트워크에 입력하여 제2 잠재 벡터를 획득할 수 있다(S650). 전자 장치(100)는 제2 잠재 벡터를 디코더 모델에 입력하여 제2 언어의 제2 출력 문장에 대한 정보를 획득할 수 있다(S660). 전자 장치(100)는 제1 출력 문장 및 상기 제2 출력 문장의 유사도를 획득할 수 있다. 획득된 유사도가 기 설정된 값보다 작으면, 전자 장치(100)는 제2 출력 문장에 대한 정보 및 특징 벡터를 바탕으로 새로운 출력 문장을 획득할 수 있다. 예를 들어, 전자 장치(100)는 특징 벡터 및 제2 출력 문장에 대한 정보를 중간 네트워크에 입력하여 제3 잠재 벡터를 획득하고, 제3 잠재 벡터를 디코더 모델에 입력하여 제3 출력 문장을 획득할 수 있다.
획득된 유사도가 기 설정된 값보다 크면, 전자 장치(100)는 제2 출력 문장에 대한 정보를 바탕으로 제2 출력 문장에 대응되는 텍스트를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 텍스트를 출력하여 사용자에게 제공할 수 있다. 예를 들어, 전자 장치(100)는 획득된 텍스트를 디스플레이하거나, 획득된 텍스트에 대응되는 음성 신호를 출력할 수 있다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 처리 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 처리 동작을 특정 기기가 수행하도록 할 수 있다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
한편, 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100, 500: 전자 장치
510: 입력부
520: 통신 인터페이스 530: 출력부
540: 메모리 550: 프로세서
520: 통신 인터페이스 530: 출력부
540: 메모리 550: 프로세서
Claims (13)
- 전자 장치에 있어서,
제1 언어의 입력 문장을 획득하기 위한 입력부;
적어도 하나의 인스트럭션을 저장하는 메모리; 및
프로세서;를 포함하고,
상기 프로세서는,
상기 입력 문장을 인코더 모델에 입력하여 상기 입력 문장에 대응되는 특징 벡터를 획득하고,
상기 특징 벡터 및 특정 정수를 중간 네트워크에 입력하여 제1 잠재 벡터를 획득하고,
상기 제1 잠재 벡터를 디코더 모델에 입력하여 상기 제1 언어와 상이한 제2 언어의 제1 출력 문장에 대한 정보를 획득하고,
상기 특징 벡터 및 상기 제1 출력 문장에 대한 정보를 상기 중간 네트워크에 입력하여 제2 잠재 벡터를 획득하고,
상기 제2 잠재 벡터를 상기 디코더 모델에 입력하여 상기 제2 언어의 제2 출력 문장에 대한 정보를 획득하는
전자 장치. - 제1 항에 있어서,
상기 인코더 모델은 어텐션 레이어(attention layer) 및 순방향 네트워크를 포함하고,
상기 프로세서는,
상기 입력 문장을 상기 어텐션 레이어에 입력하여 상기 입력 문장에 대한 가중치 벡터를 획득하고,
상기 가중치 벡터를 상기 순방향 네트워크에 입력하여 상기 특징 벡터를 획득하는
전자 장치. - 제1 항에 있어서,
상기 프로세서는,
상기 제1 출력 문장 및 상기 제2 출력 문장의 유사도를 획득하고,
상기 획득된 유사도가 기 설정된 값보다 작으면, 상기 제2 출력 문장에 대한 정보 및 상기 특징 벡터를 바탕으로 새로운 출력 문장을 획득하는
전자 장치. - 제3 항에 있어서,
상기 프로세서는,
상기 제1 출력 문장에 대응되는 제1 벡터 및 상기 제2 출력 문장에 대응되는 제2 벡터를 획득하고,
상기 제1 벡터 및 상기 제2 벡터 간의 유사도를 획득하는
전자 장치. - 제3 항에 있어서,
상기 프로세서는,
상기 특징 벡터 및 상기 제2 출력 문장에 대한 정보를 상기 중간 네트워크에 입력하여 제3 잠재 벡터를 획득하고,
상기 제3 잠재 벡터를 상기 디코더 모델에 입력하여 제3 출력 문장을 획득하는
전자 장치. - 제1 항에 있어서,
상기 프로세서는,
상기 특징 벡터와 상기 제1 잠재 벡터를 상기 중간 네트워크에 입력하여 중간 잠재 벡터를 획득하고,
상기 중간 잠재 벡터를 디코딩하여 상기 제1 출력 문장에 대한 정보를 획득하는
전자 장치. - 전자 장치의 제어 방법에 있어서,
제1 언어의 입력 문장을 획득하는 단계;
상기 입력 문장을 인코더 모델에 입력하여 특징 벡터를 획득하는 단계;
상기 특징 벡터 및 특정 정수를 중간 네트워크에 입력하여 제1 잠재 벡터를 획득하는 단계;
상기 제1 잠재 벡터를 디코더 모델에 입력하여 상기 제1 언어와 상이한 제2 언어의 제1 출력 문장에 대한 정보를 획득하는 단계;
상기 특징 벡터 및 상기 제1 출력 문장에 대한 정보를 상기 중간 네트워크에 입력하여 제2 잠재 벡터를 획득하는 단계; 및
상기 제2 잠재 벡터를 상기 디코더 모델에 입력하여 상기 제2 언어의 제2 출력 문장에 대한 정보를 획득하는 단계;를 포함하는
제어 방법. - 제7 항에 있어서,
상기 인코더 모델은 어텐션 레이어(attention layer) 및 순방향 네트워크를 포함하고,
상기 특징 벡터를 획득하는 단계는,
상기 입력 문장을 상기 어텐션 레이어에 입력하여 상기 입력 문장에 대한 가중치 벡터를 획득하는 단계, 및
상기 가중치 벡터를 상기 순방향 네트워크에 입력하여 상기 특징 벡터를 획득하는 단계를 포함하는
제어 방법. - 제7 항에 있어서,
상기 제1 출력 문장 및 상기 제2 출력 문장의 유사도를 획득하는 단계; 및
상기 획득된 유사도가 기 설정된 값보다 작으면, 상기 제2 출력 문장에 대한 정보 및 상기 특징 벡터를 바탕으로 새로운 출력 문장을 획득하는 단계;를 더 포함하는
제어 방법. - 제9 항에 있어서,
상기 유사도를 획득하는 단계는,
상기 제1 출력 문장에 대응되는 제1 벡터 및 상기 제2 출력 문장에 대응되는 제2 벡터를 획득하는 단계, 및
상기 제1 벡터 및 상기 제2 벡터 간의 유사도를 획득하는 단계를 더 포함하는
제어 방법. - 제9 항에 있어서,
상기 새로운 출력 문장을 획득하는 단계는,
상기 특징 벡터 및 상기 제2 출력 문장에 대한 정보를 상기 중간 네트워크에 입력하여 제3 잠재 벡터를 획득하는 단계, 및
상기 제3 잠재 벡터를 상기 디코더 모델에 입력하여 제3 출력 문장을 획득하는 단계를 더 포함하는
제어 방법. - 제7 항에 있어서,
상기 제1 출력 문장을 획득하는 단계는,
상기 특징 벡터와 상기 제1 잠재 벡터를 상기 중간 네트워크에 입력하여 중간 잠재 벡터를 획득하는 단계,
상기 중간 잠재 벡터를 디코딩하여 상기 제1 출력 문장에 대한 정보를 획득하는 단계를 포함하는
제어 방법. - 제7 항 내지 제12 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적인(non-transitory) 기록매체.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200140570A KR20220055954A (ko) | 2020-10-27 | 2020-10-27 | 전자 장치 및 그 제어 방법 |
US17/435,554 US20220129645A1 (en) | 2020-10-27 | 2021-01-07 | Electronic device and method for controlling same |
PCT/KR2021/000210 WO2022092445A1 (ko) | 2020-10-27 | 2021-01-07 | 전자 장치 및 그 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200140570A KR20220055954A (ko) | 2020-10-27 | 2020-10-27 | 전자 장치 및 그 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220055954A true KR20220055954A (ko) | 2022-05-04 |
Family
ID=81382767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200140570A KR20220055954A (ko) | 2020-10-27 | 2020-10-27 | 전자 장치 및 그 제어 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20220055954A (ko) |
WO (1) | WO2022092445A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102460217B1 (ko) * | 2022-06-13 | 2022-11-01 | 주식회사 엘박스 | 인공지능 기반의 예측 판결문 생성 장치, 방법 및 프로그램 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017192522A1 (en) * | 2016-05-06 | 2017-11-09 | Ebay Inc. | Using meta-information in neural machine translation |
KR102565275B1 (ko) * | 2016-08-10 | 2023-08-09 | 삼성전자주식회사 | 병렬 처리에 기초한 번역 방법 및 장치 |
US11151334B2 (en) * | 2018-09-26 | 2021-10-19 | Huawei Technologies Co., Ltd. | Systems and methods for multilingual text generation field |
KR20200044201A (ko) * | 2018-10-10 | 2020-04-29 | 한국전자통신연구원 | 번역 성능 개선을 위한 신경망번역 모델 학습 방법 및 장치 |
KR102699828B1 (ko) * | 2018-12-18 | 2024-08-29 | 삼성전자주식회사 | 어텐션 모델과 하이퍼네트워크를 이용한 기계 번역 방법 및 장치 |
-
2020
- 2020-10-27 KR KR1020200140570A patent/KR20220055954A/ko unknown
-
2021
- 2021-01-07 WO PCT/KR2021/000210 patent/WO2022092445A1/ko active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102460217B1 (ko) * | 2022-06-13 | 2022-11-01 | 주식회사 엘박스 | 인공지능 기반의 예측 판결문 생성 장치, 방법 및 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
WO2022092445A1 (ko) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102071582B1 (ko) | 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치 | |
CN112487182B (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
US20210110816A1 (en) | Electronic apparatus and method of providing sentence thereof | |
CN116884391A (zh) | 基于扩散模型的多模态融合音频生成方法及装置 | |
US11886817B2 (en) | Electronic apparatus and method for controlling thereof | |
CN113196385B (zh) | 用于音频信号处理的方法和系统及计算机可读存储介质 | |
KR20220055954A (ko) | 전자 장치 및 그 제어 방법 | |
US11705110B2 (en) | Electronic device and controlling the electronic device | |
KR20210045217A (ko) | 감정 이식 장치 및 감정 이식 방법 | |
US20220129645A1 (en) | Electronic device and method for controlling same | |
US20220366157A1 (en) | Electronic apparatus and method for controlling thereof | |
KR20220155889A (ko) | 전자 장치 및 그 제어 방법 | |
KR20220117743A (ko) | 전자 장치 및 그 제어 방법 | |
JP7111429B2 (ja) | 学習装置、学習方法及びプログラム | |
KR20220118009A (ko) | 전자 장치 및 이의 제어 방법 | |
EP4254401A1 (en) | Electronic device and control method therefor | |
CN113906447A (zh) | 电子设备及其控制方法 | |
EP4362439A1 (en) | Electronic device and control method therefor | |
US11875816B2 (en) | Electronic device and method for controlling thereof | |
US20240078391A1 (en) | Electronic device for training speech recognition model and control method thereof | |
JP7411149B2 (ja) | 学習装置、推定装置、学習方法、推定方法及びプログラム | |
KR20220106331A (ko) | 전자 장치 및 그 제어 방법 | |
US20230419114A1 (en) | Electronic apparatus and control method thereof | |
US20220237215A1 (en) | Electronic device and controlling method of electronic device | |
KR20230054243A (ko) | 전자 장치 및 그 제어 방법 |