KR20210044559A - 출력 토큰 결정 방법 및 장치 - Google Patents

출력 토큰 결정 방법 및 장치 Download PDF

Info

Publication number
KR20210044559A
KR20210044559A KR1020190127876A KR20190127876A KR20210044559A KR 20210044559 A KR20210044559 A KR 20210044559A KR 1020190127876 A KR1020190127876 A KR 1020190127876A KR 20190127876 A KR20190127876 A KR 20190127876A KR 20210044559 A KR20210044559 A KR 20210044559A
Authority
KR
South Korea
Prior art keywords
probability
candidates
output token
model
ranking
Prior art date
Application number
KR1020190127876A
Other languages
English (en)
Inventor
이민중
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190127876A priority Critical patent/KR20210044559A/ko
Priority to US16/851,300 priority patent/US11574190B2/en
Priority to CN202010434539.3A priority patent/CN112668317A/zh
Priority to EP20176587.2A priority patent/EP3809405A1/en
Publication of KR20210044559A publication Critical patent/KR20210044559A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

출력 토큰 결정 방법 및 장치가 개시된다. 일 실시예에 따른 출력 토큰 결정 방법은 제1 모델의 출력 토큰 후보들의 제1 확률을 예측하는 단계, 제1 모델과 연동하는 제2 모델의 출력 토큰 후보들의 제2 확률을 예측하는 단계, 제1 확률에 기초하여, 제2 확률을 조정하는 단계 및 제1 확률과 조정된 제2 확률에 기초하여, 후보들 중 출력 토큰을 결정하는 단계를 포함한다.

Description

출력 토큰 결정 방법 및 장치{METHOD AND DEVICE FOR DETERMINING OUTPUT TOKEN}
아래 실시예들은 출력 토큰 결정 방법 및 장치에 관한 것으로, 보다 구체적으로는 둘 이상의 인공신경망 모델을 앙상블(ensemble)하는 방법에 관한 것이다.
길이가 정해지지 않은 시퀀스를 입력으로 받고 정해지지 않은 길이의 출력을 생성해야 하는 문제를 해결하기 위한 방법으로, 시퀀스 투 시퀀스(sequence-to-sequence) 모델의 하나인 인코더-디코더 구조의 인공신경망 모델이 도입되었다.
시퀀스 투 시퀀스 모델은 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 다양한 분야에서 사용될 수 있다. 예를 들어 챗봇(Chatbot)과 기계 번역(Machine Translation)이 그러한 대표적인 예인데, 입력 시퀀스와 출력 시퀀스를 각각 질문과 대답으로 구성하면 챗봇으로 만들 수 있고, 입력 시퀀스와 출력 시퀀스를 각각 입력 문장과 번역 문장으로 만들면 번역기로 만들 수 있다. 그 외에도 시퀀스 투 시퀀스 모델은 내용 요약(Text Summarization), STT(Speech to Text) 등에서 쓰일 수 있다
일 실시예에 따른 출력 토큰 결정 방법은 제1 모델의 출력 토큰 후보들의 제1 확률을 예측하는 단계; 상기 제1 모델과 연동하는 제2 모델의 상기 출력 토큰 후보들의 제2 확률을 예측하는 단계; 상기 제1 확률에 기초하여, 상기 제2 확률을 조정하는 단계; 및 상기 제1 확률과 상기 조정된 제2 확률에 기초하여, 상기 후보들 중 상기 출력 토큰을 결정하는 단계를 포함한다.
상기 조정하는 단계는 상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하는 단계; 및 상기 순위에 기초하여, 상기 제2 확률을 조정하는 단계를 포함할 수 있다.
상기 순위에 기초하여, 상기 제2 확률을 조정하는 단계는 상기 순위에 기초하여 결정된 함수를 이용하여, 상기 제2 확률을 조정하는 단계를 포함할 수 있다.
상기 순위에 기초하여, 상기 제2 확률을 조정하는 단계는 상기 순위에 기초하여 결정된 스케일(scale) 및 임계값(threshold)계수 중 적어도 하나에 기초하여, 상기 제2 확률을 조정하는 단계를 포함할 수 있다.
상기 조정하는 단계는 상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하는 단계; 상기 순위에 기초하여, 상기 후보들 중 상기 조정의 대상이 되는 후보들을 추출하는 단계; 및 상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는 단계를 포함할 수 있다.
상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는 단계는 상기 순위에 기초하여 결정된 함수를 이용하여, 상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는 단계를 포함할 수 있다.
일 실시예에 따른 출력 토큰 결정 방법은 상기 조정된 제2 확률을 정규화(normalize)하는 단계를 더 포함할 수 있다.
상기 정규화하는 단계는 상기 조정된 제2 확률의 총합이 1이 되도록 상기 제2 확률을 정규화하는 단계를 포함할 수 있다.
일 실시예에 따른 출력 토큰 결정 방법은 상기 출력 토큰 후보들 중 미리 정해진 개수의 후보에 대해서 탐색을 수행하는 빔 탐색(beam search)을 수행하는 단계; 및 상기 빔 탐색을 수행 시, 상기 조정된 제2 확률을 정규화(normalize)하는 단계를 포함할 수 있다.
상기 출력 토큰을 결정하는 단계는 상기 제1 확률과 상기 조정된 제2 확률 사이의 가중합(weighted sum) 연산을 수행하는 단계; 상기 후보들 중 상기 가중합이 가장 큰 후보를 상기 출력 토큰으로 결정하는 단계를 포함할 수 있다.
상기 제1 확률에 적용되는 가중치는 상기 제2 확률에 적용되는 가중치보다 클 수 있다.
상기 제1 확률을 예측하는 단계는 상기 제1 모델과 상기 제2 모델에 의하여 기 결정된 출력 토큰에 기초하여, 상기 제1 확률을 예측하는 단계를 포함하고, 상기 제2 확률을 예측하는 단계는 상기 기 결정된 출력 토큰에 기초하여, 상기 제2 확률을 예측하는 단계를 포함할 수 있다.
일 실시예에 따른 출력 토큰 결정 장치는 제1 모델의 출력 토큰 후보들의 제1 확률을 예측하고, 상기 제1 모델과 연동하는 제2 모델의 상기 출력 토큰 후보들의 제2 확률을 예측하고, 상기 제1 확률에 기초하여, 상기 제2 확률을 조정하며, 상기 제1 확률과 상기 조정된 제2 확률에 기초하여, 상기 후보들 중 상기 출력 토큰을 결정하는 프로세서를 포함한다.
상기 프로세서는 상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하고, 상기 순위에 기초하여 상기 제2 확률을 조정할 수 있다.
상기 프로세서는 상기 순위에 기초하여 결정된 함수를 이용하여 상기 제2 확률을 조정할 수 있다.
상기 프로세서는 상기 순위에 기초하여 결정된 스케일(scale) 계수 및 임계값 계수 중 적어도 하나에 기초하여, 상기 제2 확률을 조정할 수 있다.
상기 프로세서는 상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하고, 상기 순위에 기초하여, 상기 후보들 중 상기 조정의 대상이 되는 후보들을 추출하고, 상기 추출된 후보들에 대응하는 상기 제2 확률을 조정할 수 있다.
상기 프로세서는 상기 순위에 기초하여 결정된 함수를 이용하여, 상기 추출된 후보들에 대응하는 상기 제2 확률을 조정할 수 있다.
상기 프로세서는 상기 조정된 제2 확률을 정규화(normalize)할 수 있다.
상기 프로세서는 상기 조정된 제2 확률의 총합이 1이 되도록 상기 제2 확률을 정규화할 수 있다.
상기 프로세서는 상기 출력 토큰 후보들 중 미리 정해진 개수의 후보에 대해서 탐색을 수행하는 빔 탐색(beam search)을 수행하고, 상기 빔 탐색을 수행 시, 상기 조정된 제2 확률을 정규화(normalize)할 수 있다.
상기 프로세서는 상기 제1 확률과 상기 조정된 제2 확률 사이의 가중합(weighted sum) 연산을 수행하고, 상기 후보들 중 상기 가중합이 가장 큰 후보를 상기 출력 토큰으로 결정할 수 있다.
상기 제1 확률에 적용되는 가중치는 상기 제2 확률에 적용되는 가중치보다 클 수 있다.
상기 프로세서는 상기 제1 모델과 상기 제2 모델에 의하여 기 결정된 출력 토큰에 기초하여 상기 제1 확률을 예측하고, 상기 기 결정된 출력 토큰에 기초하여 상기 제2 확률을 예측할 수 있다.
도 1은 일 실시예에 따른 복수의 인공신경망 모델을 앙상블하는 방법을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 앙상블 모델의 구성을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 앙상블 모델의 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 제1 확률에 기초하여, 제2 확률을 조정하는 방법을 설명하기 위한 도면이다.
도 5는 제2 확률 조정에 이용되는 함수의 예시를 도시한 그래프이다.
도 6은 일 실시예에 조정된 제2 확률을 정규화하는 예시를 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 출력 토큰 결정 장치의 블록도이다.
본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 복수의 인공신경망 모델을 앙상블하는 방법을 설명하기 위한 도면이다.
일 실시예에 따른 앙상블 기법은 복수의 모델의 출력을 결합하여 하나의 최종 출력을 획득하는 기법일 수 있다. 본 명세서에서, 모델은 인공신경망으로 구현된 모델을 포함할 수 있다. 예를 들어, 모델은 인공신경망으로 구현된 시퀀스 투 시퀀스(sequence-to-sequence) 모델일 수 있다.
시퀀스 투 시퀀스 모델은 입력된 시퀀스로부터 다른 도메인의 시퀀스를 출력하는 다양한 분야에서 사용될 수 있다. 시퀀스 투 시퀀스 모델은 인코더와 디코더로 구성될 수 있다. 인코더는 입력 시퀀스를 순차적으로 입력 받은 뒤, 모든 입력 시퀀스를 압축해서 하나의 벡터를 만들 수 있고, 이를 컨텍스트 벡터(context vector)라고 할 수 있다. 입력 시퀀스가 하나의 컨텍스트 벡터로 모두 압축되면, 인코더는 컨텍스트 벡터를 디코더로 전송할 수 있다. 디코더는 컨텍스트 벡터를 수신하여, 출력 시퀀스를 생성할 수 있다.
대표적으로, 시퀀스 투 시퀀스 모델은 음성 인식(speech recognition) 분야에서 사용될 수 있다. 시퀀스 투 시퀀스 구조로 구현된 음성 인식 모델은 입력 음성으로부터 입력 음성에 대응하는 인식 결과, 예를 들어 입력 음성에 대응하는 텍스트를 생성할 수 있다. 이하에서, 설명의 편의를 위하여 시퀀스 투 시퀀스 구조로 구현된 음성 인식 모델에 사용되는 앙상블 기법을 예시로 설명한다. 다만, 모델의 실시예들은 시퀀스 투 시퀀스 구조로 구현된 음성 인식 모델에 국한되어 적용될 필요는 없고, 다양한 유형의 모델 또는 장치에 채용되어 응용될 수 있다.
도 1을 참조하면, 일 실시예에 따른 음성 인식 모델은 음향 모델에 언어 모델이 결합된 형태일 수 있다. 구체적으로, 음성 인식 모델은 음성 정보(음성 시퀀스)를 입력 받아 인식 결과인 텍스트(단어 시퀀스)를 출력하는 음향 모델에 단어의 시퀀스의 확률을 예측하는 언어 모델을 결합하여 음성 인식 성능을 높일 수 있다. 음향 모델은 인코더(110) 및 음향 모델 디코더(120)를 포함할 수 있고, 언어 모델은 언어 모델 디코더(130)를 포함할 수 있다. 또는, 실시예에 따라서 음향 모델은 음향 모델 디코더(120)만을 지칭할 수도 있다.
먼저, 음향 모델의 동작에 대해 설명한다. 인코더(110)는 음성 정보를 직접 수신하여 처리하지 않고, 음성 정보(111)에 대응되는 벡터 형태로 변환된 음성 특징 벡터(112)를 입력 받을 수 있다. 인코더(110)는 음성 특징 벡터(112)를 순차적으로 입력 받은 뒤에 마지막에 모든 음성 정보들을 압축해서 컨텍스트 벡터(113)를 생성할 수 있다. 컨텍스트 벡터(113)는 음성 정보를 내포하는 특징 또는 인코딩된 특징으로 지칭될 수도 있다. 시간의 흐름에 따른 음성 정보(111)가 하나의 컨텍스트 벡터(113)로 모두 압축되면, 인코더(110)는 컨텍스트 벡터를 음향 모델 디코더(120)로 전송할 수 있다. 음향 모델 디코더(120)는 컨텍스트 벡터(113)를 받아서 음성 인식된 단어를 한 개씩 순차적으로 출력할 수 있다.
음향 모델 디코더(120)는 오토 리그레시브(auto-regressive) 디코딩을 수행할 수 있다. 오토 리그레시브 디코딩은 토큰(token)별로 이전 스텝까지 인식되었던 토큰들에 기초하여 출력 토큰을 결정하는 디코딩 방법으로, 정해지지 않은 길이의 출력을 인공신경망으로 계산하기 위해서 사용될 수 있다.
컨텍스트 벡터(113)를 수신한 음향 모델 디코더(120)는 초기 입력으로 문장의 시작을 의미하는 시작 토큰(SOS; Start-of-sentence)을 수신할 수 있다. 시작 토큰(SOS)을 수신한 음향 모델 디코더(120)는 다음에 등장할 확률이 높은 토큰을 예측할 수 있다. 토큰은 한 시퀀스를 구성하는 단위로, 예를 들어 단어(word), 부분 단어(subword), 글자(character) 단위일 수 있다. 이하에서, 설명의 편의를 위하여 토큰은 단어 단위인 것을 예시로 설명한다. 첫번째 시점(time step)에서, 음향 모델 디코더(120)는 다음에 등장할 단어로 'Hi'를 예측할 수 있다. 즉, 디코더(120)는 'Hi'를 출력 토큰으로 결정하여 음성 인식 결과로 출력할 수 있다. 'Hi'를 출력 토큰으로 결정한 디코더(120)는 'Hi'를 다음 시점의 입력으로 입력할 수 있다. 두번째 시점에서, 음향 모델 디코더(120)는 입력된 단어 'Hi'로부터 다시 다음에 올 단어인 'Bixby' 를 예측할 수 있다. 음향 모델 디코더(120)는 또 다시 'Bixby'를 다음 시점의 입력으로 입력할 수 있다. 음향 모델 디코더(120)는 이런 식으로 다음에 올 단어를 예측하고, 그 예측한 단어를 다음 시점의 입력으로 넣는 행위를 반복할 수 있다. 이 행위는 문장의 끝을 의미하는 종료 토큰(EOS; End-of-sentence)이 다음 단어로 예측될 때까지 반복될 수 있다.
음향 모델 디코더(120)는 매 스텝 인코더로부터 계산된 정보를 바탕으로 출력 토큰을 구하는데, 이때 이전 스텝까지 선택되었던 입력 토큰들에 종속되어 구할 수 있다. 예를 들어, 토큰1을 입력 받은 음향 모델 디코더(120)는 토큰1에 기초하여 출력 토큰의 후보들의 확률을 예측할 수 있고, 확률에 기초하여 최종 출력 토큰을 결정할 수 있다. 예를 들어, 음향 모델 디코더(120)는 후보들 중 확률이 가장 높은 토큰을 출력 토큰으로 선택할 수 있다.
스텝 i 에서 토큰 후보 ti가 갖는 조건부 확률은 수학식 1과 같이 표현 할 수 있다.
Figure pat00001
He는 인코더의 히든 리프리젠테이션(hidden representation)으로 컨텍스트 벡터(113)에 해당할 수 있다. t1 내지 ti-1은 지금까지 인식되었던 토큰들일 수 있다. 음향 모델 디코더(120)는 컨텍스트 벡터(113) 및 지금까지 인식되었던 토큰들에 기초하여 이후 출력 토큰을 결정할 수 있다.
음성 인식 모델은 음향 모델에 단어의 시퀀스의 확률을 예측하는 언어 모델 인공신경망을 추가로 활용하여 음성 인식 성능을 높일 수 있다. 언어 모델은 문장 전체의 확률을 예측하는 일을 하며, 또한 이 일을 하기 위해서 이전 단어들이 주어졌을 때, 다음 단어가 등장할 확률을 예측할 수 있다. 언어 모델은 별개의 인코더 없이 언어 모델 디코더(130)만으로 구성될 수 있고, 텍스트만을 이용하여 학습이 가능할 수 있다.
언어 모델은 발음이 비슷한 단어들이 존재할 경우, 보다 정확한 인식을 가능케할 수 있다. 예를 들어, ‘Minchul’이라는 단어와 ‘feels’라는 단어가 주어진 경우, 언어 모델 인공신경망은 다음 단어로 ‘habit’보다 ‘happy’가 올 확률이 높다고 판단할 수 있다
음향 모델은 음성의 신호적인 특성과 언어 요소 사이의 관계를 처리할 수 있고(예를 들어 음성 신호의 발음을 추정), 언어 모델은 단어 또는 문장이 문법적으로나 의미적으로 어느 정도 올바른 지를 추정할 수 있다.
일 실시예에 따른 인코더(110), 음향 모델 디코더(120) 및 언어 모델 디코더(130)는 인공신경망으로 구현되며, 예를 들어 순환 신경망(RNN; recurrent neural network) 아키텍처일 수 있다. 인코더(110)는 시퀀스(예를 들어, 음성)를 입력 받는 순환 신경망, 음향 모델 디코더(120) 및 언어 모델 디코더(130)는 시퀀스(예를 들어, 음성 인식 결과인 텍스트)를 출력하는 순환 신경망일 수 있다. 인코더(110), 음향 모델 디코더(120) 및 언어 모델 디코더(130)는 순환 신경망 이외에도 DNN(Deep Neural Network), 및 RDNN(Recurrent Deep Neural Network) 등으로 구현될 수 있다.
일 실시예에 따른 인공신경망은 복수의 레이어들을 포함할 수 있고, 레이어들 각각은 복수의 뉴런들을 포함할 수 있다. 이웃한 레이어들의 뉴런들은 시냅스들로 연결될 수 있다. 학습에 따라 시냅스들에는 가중치들이 부여될 수 있고, 파라미터들은 이러한 가중치들을 포함할 수 있다.
인공신경망의 복수의 레이어들에는 입력 레이어, 히든 레이어 및 출력 레이어가 포함될 수 있다. 예를 들어, 입력 레이어는 학습 또는 인식을 수행하기 위한 입력을 수신하여 히든 레이어로 전달할 수 있고, 출력 레이어는 히든 레이어의 뉴런들로부터 수신한 신호에 기초하여 인공신경망의 출력을 생성할 수 있다. 히든 레이어는 입력 레이어와 출력 레이어 사이에 위치한 중간 레이어로서, 입력 레이어를 통해 전달된 학습 데이터 또는 인식의 대상이 되는 데이터를 예측하기 쉬운 값으로 변화시킬 수 있다.
음성 인식 모델은 음향 모델 디코더(120)와 언어 모델 디코더(130)의 앙상블을 이용하여 입력 음성의 시퀀스로부터 최종 인식 결과의 시퀀스를 생성할 수 있다.
음향 모델 디코더(120)와 언어 모델 디코더(130)는 토큰 단위로 각각의 인식 결과를 출력할 수 있고, 각각의 인식 결과를 앙상블 가중치에 따라 앙상블하여 최종 인식 결과를 생성할 수 있다. 예를 들어, 음향 모델 디코더(120)는 입력 음성과 이전에 결정된 인식 결과에 기초하여 출력 토큰의 후보들을 결정할 수 있고, 언어 모델 디코더(130)는 이전에 결정된 인식 결과에 기초하여 출력 토큰의 후보들을 결정할 수 있으며, 음성 인식 모델은 각각의 출력 토큰의 후보들의 확률을 미리 정해진 앙상블 가중치에 따라 가중합하여 최종 인식 결과를 생성할 수 있다.
예를 들어, 음향 모델 디코더(120)와 언어 모델 디코더(130)는 기 결정된 출력 토큰 "my", "number", "is" 에 기초하여, "eight"과 "ate"를 출력 토큰의 후보들로 출력할 수 있다. 음향 모델 디코더(120)는 출력 토큰의 후보들 "eight"과 "ate" 각각의 확률을 0.35과 0.4로 예측할 수 있고, 언어 모델 디코더(130)는, "eight"과 "ate" 각각의 확률을 0.8과 0.001로 예측할 수 있다. 음성인식 인공신경망 디코더(120)와 언어 모델 인공신경망 디코더(130)의 앙상블 가중치 비율이 0.8 : 0.2인 경우, "eight"은 0.8*0.35 + 0.2*0.8 = 0.44의 최종 가중치를 갖고, "ate"는 0.8*0.4 + 0.2*0.001 = 0.3202의 최종 가중치를 갖을 수 있다. 따라서, 음성 인식 모델은 더 높은 가중치를 갖는 "eight"을 최종 출력 토큰으로 결정될 수 있다.
복수의 모델의 출력을 결합하여 하나의 최종 출력을 획득하는 앙상블 기법에서, 가중합 계산 시 가장 높은 가중치를 부여 받은 모델을 주 모델(main model)이라 할 수 있고, 주 모델 이외의 모델을 보조 모델(auxiliary model)이라 할 수 있다. 예를 들어, 음성 인식 모델에서는 음향 모델이 주 모델이고, 언어 모델이 보조 모델일 수 있다.
단순히 각 모델들의 가중합에 기초하여 최종 인식 결과를 생성하는 경우에는, 보조 모델이 올바르게 예측하여도 절대적으로 이 값이 가중치 합의 결과를 뒤집을 만큼 충분히 크지 못하면 결과적으로 원하는 결과를 획득하지 못할 수 있다. 특히 학습데이터로부터 학습을 하는 인공신경망으로 음향 모델과 언어 모델을 모델링 하는 경우, 학습데이터에 자주 나타나지 않는 즉, 문맥(context)에서 흔하지 않는 토큰이 정답인 경우 이러한 문제가 더욱 심하게 발생할 수 있다.
예를 들어, 입력 음성이 "my favorite animal is a sloth"인 경우를 생각해보면, "sloth"(나무 늘보) 와 "slots" 의 발음이 유사하기에 음향 모델은 주어진 음성에서 정답으로 많이 학습한(흔한 단어인) "slots" 를 0.4의 확률로 예측하고, 반면에 정답인 "sloth"를 0.306의 확률로 예측 할 수 있다(아래, 표 1 참조).
Figure pat00002
언어 모델은 "my favorite animal is"이란 텍스트를 보고 다음 단어를 예측하기 때문에, 단어 또는 문장이 문법적으로나 의미적으로 자연스러운(동물의 종류인) "sloth"를 0.05의 확률로 예측하고, "slots"을 그 보다 낮은 0.003의 확률로 예측 할 수 있다. 하지만 주어진 이전 단어들 만으로 예측을 하면 학습데이터에 자주 나온 동물인 "dog"를 가장 높은 확률인 0.3으로 예측할 수 있다. 이는 "sloth", "slots" 의 확률에 비해 절대적으로 큰 수치일 수 있다.
이와 같은 경우 주 모델인 음향 모델이 보조 모델인 언어 모델 보다 높은 가중치를 가질 수 없기 때문에 언어 모델이 "slots" 보다 "sloth"를 높은 확률로 예측하더라도 앙상블의 결과는 주 모델이 선택한 "slots"로 결정될 수 있다.
상기 문제점을 해결하기 위해, 일 실시예에 따른 앙상블 기법은 주 모델의 출력 토큰 후보들의 확률에 기초하여, 보조 모델의 출력 토큰 후보들의 확률을 조정하고, 조정된 확률을 이용하여 주 모델과 가중합 계산을 통해 최종 출력 토큰을 결정할 수 있다.
도 2는 일 실시예에 따른 앙상블 모델의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 앙상블 모델은 제1 모델(210), 제2 모델(220), 조정 모듈(230) 및 앙상블 모듈(250)을 포함하고, 실시예에 따라서 정규화 모듈(240)을 더 포함할 수 있다.
일 실시예에 따른 앙상블 모델은 도 1을 참조하여 설명한 앙상블 기법을 수행하는 장치를 의미할 수 있다. 앙상블 모델은 제1 모델(210)의 출력과 제2 모델(220)의 출력을 결합하여 하나의 출력을 획득할 수 있다. 제1 모델(210)은 도 1을 참조하여 설명한 주 모델, 제2 모델(220)은 보조 모델일 수 있다.
조정 모듈(230)은 제1 모델(210)(주 모델)의 순위를 활용하여 제2 모델(220)(보조 모델)의 확률 예측값을 재조정 하는 모듈일 수 있다. 조정 모듈(230)의 구체적인 동작 방법은 아래에서 도 3 내지 도 5를 참조하여 설명된다.
정규화 모듈(240)은 조정된 제2 모델(220)의 출력 토큰 후보들의 확률의 합이 1이 되도록 정규화하는 모듈일 수 있다. 가중치 합으로 구해진 확률 값을 최종 출력 토큰을 결정하는 용도 이외에, 다른 용도로 사용 해야 하는 경우가 있을 수 있다. 정규화 모듈(240)은 이러한 경우에 출력 토큰 후보들의 확률의 합이 1이 되도록 정규화하여, 확률이 의미있는 값을 갖도록 조정할 수 있다. 정규화 모듈(240)의 구체적인 동작 방법은 아래에서 도 6을 참조하여 설명된다.
도 3은 일 실시예에 따른 앙상블 모델의 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 단계(310) 내지 단계(340)는 도 2를 참조하여 설명한 앙상블 모델에 의해 수행될 수 있다. 앙상블 모델은 하나 또는 그 이상의 하드웨어 모듈, 하나 또는 그 이상의 소프트웨어 모듈, 또는 이들의 다양한 조합에 의하여 구현될 수 있다.
단계(310)에서, 제1 모델은 제1 모델의 출력 토큰 후보들의 제1 확률을 예측한다. 전술한 바와 같이, 제1 모델은 앙상블 모델의 주 모델일 수 있고, 음성 인식 모델의 경우 음향 모델이 제1 모델일 수 있다. 음향 모델은 출력 토큰의 후보들 및 해당 후보들의 확률을 예측할 수 있다.
단계(320)에서, 제2 모델은 제1 모델과 연동하는 제2 모델의 출력 토큰 후보들의 제2 확률을 예측한다. 제2 모델은 앙상블 모델의 보조 모델일 수 있고, 음성 인식 모델의 경우 언어 모델이 제2 모델일 수 있다. 언어 모델은 출력 토큰의 후보들 및 해당 후보들의 확률을 예측할 수 있다. 언어 모델과 음향 모델은 동일한 토큰 후보 집합에 기초하여 출력 토큰의 후보들을 예측할 수 있다.
단계(330)에서, 조정 모듈은 제1 확률에 기초하여, 제2 확률을 조정한다. 전술한 바와 같이, 단순히 각 모델들의 가중합에 기초하여 최종 인식 결과를 생성하는 경우에는 보조 모델이 올바르게 예측하여도 절대적으로 이 값이 가중치 합의 결과를 뒤집을 만큼 충분히 크지 못하면 결과적으로 원하는 결과를 획득하지 못할 수 있다. 상기 문제점을 해결하기 위해, 조정 모듈은 제1 모델의 출력 토큰 후보들의 확률에 기초하여, 제2 모델의 출력 토큰 후보들의 확률을 조정할 수 있다.
예를 들어, 입력 음성이 "my favorite animal is a sloth"인 경우를 생각해보면, 언어 모델(제2 모델)에서 후보 "sloth"의 확률은 후보 "slots"의 확률보다 높게 예측하였지만, 절대적으로 이 값이 가중치 합의 결과를 뒤집을 만큼 충분히 크지 못하기 때문에 앙상블의 결과는 음향 모델(제1 모델)이 선택한 "slots"로 결정될 수 있다(아래, 표 2 참조).
일 실시예에 따른 가중합 방법은 가중합 연산의 대상이 되는 각 확률 값 자체에 대하여 가중합하는 방법 뿐만 아니라, 각 확률에 로그(log)를 취한 값에 대하여 가중합하는 방법도 포함할 수 있다. 이하에서, 설명의 편의를 위하여 가중합 연산의 대상이 되는 각 확률 값 자체에 대하여 가중합하는 방법을 기준으로 설명한다.
Figure pat00003
제1 확률 제2 확률 가중합 (1:0.3) 조정된 제2 확률 조정된 가중합(1:0.3)
sloth 0.306 0.05 0.321 0.5 0.456
slots 0.4 0.003 0.4009 0.03 0.409
dog 0.05 0.3 0.14 0.03 0.059
cat 0.03 0.24 0.104 0.024 0.0374
상기 문제점을 해결하기 위해, 조정 모듈은 음향 모델(제1 모델)이 예측한 후보들이 충분한 확률을 가질 수 있도록 언어 모델(제2 모델)의 예측 값을 조정할 수 있다. 조정 모듈은 미리 정의된 함수를 사용하여 제1 모델의 순위에 따라 제2 모델의 확률을 재조정 할 수 있다. 도 4 내지 도 5를 참조하여, 제1 확률에 기초하여, 제2 확률을 조정하는 방법을 설명한다.
도 4는 일 실시예에 따른 제1 확률에 기초하여, 제2 확률을 조정하는 방법을 설명하기 위한 도면이다. 단계들(410 내지 430)은 도 2내지 도 3을 참조하여 전술한 조정 모듈에 의해 수행될 수 있다.
단계(410)에서, 조정 모듈은 제1 확률들에 기초하여 제1 모델에서 후보들의 순위를 결정할 수 있다. 조정 모듈은 제1 확률이 큰 순서대로 출력 토큰 후보의 순위를 결정할 수 있다.
단계(420)에서, 조정 모듈은 순위에 기초하여, 후보들 중 조정의 대상이 되는 후보들을 추출할 수 있다. 조정 모듈은 순위에 기초하여 결정된 임계값(threshold) 계수에 기초하여 조정의 대상이 되는 후보들을 추출할 수 있다. 조정 모듈은 모든 출력 토큰 후보들을 조정의 대상으로 결정할 수도 있고, 출력 토큰 후보들 중 일부의 출력 토큰 후보들을 조정의 대상으로 결정할 수도 있다. 예를 들어, 조정 모듈은 출력 토큰 후보들 중 상위 n개를 조정의 대상으로 결정할 수 있다. 또는, 조정 모듈은 출력 토큰 후보들 중 상위 n개 및 하위 n개를 조정의 대상으로 결정할 수 있다. 또는, 조정 모듈은 모든 출력 토큰 후보들을 조정의 대상으로 결정할 수도 있다.
단계(430)에서, 조정 모듈은 순위에 기초하여 결정된 함수를 이용하여, 추출된 후보들에 대응하는 제2 확률을 조정할 수 있다. 조정 모듈은 순위에 기초하여 결정된 스케일 계수에 기초하여 조정의 대상이 되는 후보들의 제2 확률들을 조정할 수 있다. 단계(430)에서 이용되는 함수는 다양하게 구현될 수 있는데, 선형(linear) 혹은 비선형(non-linear) 함수 모두가 될 수 있다. 예를 들어, 표 2에서는 상위 n개 후보들의 제2 확률에는 10배를 해줌으로써 부스팅(boosting)하였고, 나머지 후보들의 제2 확률에는 0.1배를 해주는 함수를 이용하였다. 그 결과, 상위 n개에 포함된 후보 "sloth"의 제2 확률은 0.05에서 0.5가 되었고, 후보 "slots"의 제2 확률은 0.003에서 0.03이 되었다. 나아가, 상위 n개에 포함되지 못한 후보 "dog"의 제2 확률은 0.3에서 0.03이 되었고, "cat"의 제2 확률은 0.24에서 0.024가 되었다.
제1 모델(주 모델)의 1순위 출력 토큰 후보는 정확하진 않더라도, 제1 모델이 예측한 상위 후보 n개 중에는 정답이 있을 확률이 높음을 이용하여, 제1 모델이 상위 후보로 예측한 후보들이 충분한 확률을 가지도록 보조 모델의 출력 토큰 후보들의 확률을 조정할 수 있다. 도 5를 참조하여, 1 모델이 상위 후보로 예측한 후보들이 충분한 확률을 가지도록 조정할 수 있는 함수를 설명한다.
도 5는 제2 확률 조정에 이용되는 함수의 예시를 도시한 그래프이다.
학습데이터에 자주 나타나지 않는 토큰이 정답인 경우에는, 입력 음성 정보를 참고하지 않고, 문맥 및 기 출력된 출력 토큰에 기초하여 출력 토큰을 예측하는 언어 모델의 예측 성능이 현저히 떨어질 수 있다. 반면에, 음향 모델은 입력 음성 정보에 기초하여 예측하기 때문에 이러한 상황에서도 일정 수준 이상의 예측 성능이 담보될 수 있다. 일 실시예에 따른 함수는 위와 같은 상황을 반영할 수 있도록 설계될 수 있다.
도 5를 참조하면, 일 실시예에 따른 함수는 제1 확률에 기초하여 결정된 순위가 상위 20프로 이내인 후보들의 제2 확률은 10배를, 순위가 20프로 내지 60프로에 포함된 후보들의 제2 확률은 그대로 유지를, 순위가 60프로 내지 100프로에 포함된 후보들의 제2 확률은 0.1배를 해주는 함수일 수 있다.
일 실시예에 따른 함수에 따르면, 제1 확률에 기초하여 결정된 순위가 상위 20프로 이내인 후보들의 제2 확률이 10배가 되기 때문에, 순위가 상위 20프로 이내인 후보들에서 최종 출력 토큰이 결정될 확률이 높아진다. 나아가, 순위가 상위 20프로 이내인 후보들 중에서, 제2 확률이 가장 높은(예를 들어 입력 음성에 기초하여 결정된 후보들 중 가장 문맥에 적절한) 토큰이 최종 출력 토큰으로 결정될 수 있다.
다시 도 3을 참조하면, 단계(340)에서, 앙상블 모듈은 제1 확률과 조정된 제2 확률에 기초하여, 출력 토큰 후보들 중 최종 출력 토큰을 결정한다. 앙상블 모듈은 제1 모델과 제2 모델의 앙상블 가중치 비율(1:0.3)에 기초하여 모듈은 제1 확률과 조정된 제2 확률을 가중합할 수 있다. 예를 들어, 표 2를 참조하면, 앙상블 모듈은 후보 "sloth"의 제1 확률 0.306과 조정된 제2 확률 0.5를 가중합하여 0.456의 최종 가중치를 출력할 수 있고, 후보 "slots"은 0제1 확률 0.4와 조정된 제2 확률 0.03을 가중합하여 0.409의 최종 가중치를 출력할 수 있다. 나아가, 앙상블 모듈은 가장 큰 가중치를 갖는 후보 "sloth"를 최종 출력 토큰으로 결정할 수 있다.
단순히 각 모델들의 가중합에 기초하여 최종 인식 결과를 생성하는 경우에는, 후보 "slots"이 최종 출력 토큰으로 결정될 수 있지만, 일 실시예에 따른 앙상블 모델은 주 모델의 출력 토큰 후보들의 확률에 기초하여, 보조 모델의 출력 토큰 후보들의 확률을 조정하여 후보 "sloth"를 최종 출력 토큰으로 결정할 수 있다.
도 6은 일 실시예에 조정된 제2 확률을 정규화하는 예시를 설명하기 위한 도면이다.
일 실시예에 따른 정규화 모듈은 조정된 제2 확률의 합이 1이 되도록 정규화하는 모듈일 수 있다. 가중치 합으로 구해진 확률 값을 최종 출력 토큰을 결정하는 용도 이외에, 다른 용도로 사용 해야 하는 경우가 있을 수 있다. 정규화 모듈은 이러한 경우에 출력 토큰 후보들의 확률의 합이 1이 되도록 정규화하여, 확률이 단순히 최종 출력 토큰을 결정하는데 사용되는 것이 아닌, 의미있는 값을 갖도록 조정할 수 있다.
일례로, 빔 탐색의 경우 출력 토큰 후보들의 확률이 최종 출력 토큰을 결정하는 데만 사용되는 것이 아니라, 출력 토큰 후보들의 확률을 나중에 활용해야 할 수 있다. 빔 탐색은 후보 문장들 사이의 점수를 비교하는 기법으로, 전체 문장의 점수는 각 토큰들의 확률의 곱으로 모델링될 수 있다. 빔 탐색을 위한 모델링을 수행할 때, 출력 토큰 후보들의 확률합이 1이어야 할 수 있다. 따라서, 앙상블 모델이 빔 탐색도 수행하기 위해서는, 조정된 제2 확률을 정규화할 필요가 있을 수 있다.
보다 구체적으로, 도 6을 참조하면 일실시예에 따라 빔 탐색의 예시가 도시된다.
예를 들어, 제1 타임 스텝의 "a", "the", "red" 다음에 올 가능성이 높은 단어로 "red", "dog", "blue", "runs" 등이 후보로 생성될 수 있다. 생성된 후보들 중에서 제1 타임 스텝의 단어 다음에 올 가능성이 가장 높은 순서로 미리 정해진 개수의 후보가 선택될 수 있다. 예컨대, 미리 정해진 개수가 3이라면, "red", "dog", "blue"가 선택되고, "runs"은 제거될 수 있다.
그리고, 제2 타임 스텝의 "red", "dog", "blue" 다음에 올 가능성이 높은 단어로 "dog", "dog", "cat" 등이 후보로 생성될 수 있으며, 마찬가지로 생성된 후보들 중 미리 정해진 개수의 후보가 선택될 수 있다.
이러한 빔 탐색을 통해, 모든 후보 경로를 탐색하지 않고서도 "a red dog runs quickly today"(610)라는 인식 결과가 효율적으로 도출될 수 있다.
도 7은 일 실시예에 따른 출력 토큰 결정 장치의 블록도이다.
도 7을 참조하면, 일 실시예에 따른 출력 토큰 결정 장치(700)는 센서(들)(710), 프로세서(730), 및 통신 인터페이스(770)를 포함한다. 출력 토큰 결정 장치(700)는 메모리(750), 및 디스플레이(790)를 더 포함할 수 있다. 센서(들)(710), 프로세서(730), 메모리(750), 통신 인터페이스(770), 및 디스플레이(790)는 통신 버스(705)를 통해 서로 통신할 수 있다. 출력 토큰 장치는 도 1 내지 도 6을 참조하여 설명한 앙상블 모델을 포함할 수 있다.
센서(들)(710)는 예를 들어, 마이크 센서, 음성 센서를 포함할 수 있다.
프로세서(730)는 도 1 내지 도 6을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(730)는 프로그램을 실행하고, 출력 토큰 결정 장치를 제어할 수 있다. 프로세서(730)에 의하여 실행되는 프로그램 코드는 메모리(750)에 저장될 수 있다.
프로세서(730)는 예를 들어, CPU(Central Processing Unit) 또는 GPU(Graphics Processing Unit)으로 구성될 수 있다.
프로세서(730)는 제1 모델의 출력 토큰 후보들의 제1 확률을 예측하고, 제1 모델과 연동하는 제2 모델의 출력 토큰 후보들의 제2 확률을 예측하고, 제1 확률에 기초하여, 제2 확률을 조정하며, 제1 확률과 조정된 제2 확률에 기초하여, 후보들 중 상기 출력 토큰을 결정할 수 있다.
프로세서(730)는 제1 확률에 기초하여, 제1 모델에서 후보들의 순위를 결정하고, 순위에 기초하여 제2 확률을 조정할 수 있다. 프로세서(730)는 순위에 기초하여 결정된 함수를 이용하여 제2 확률을 조정할 수 있다. 프로세서(730)는 순위에 기초하여 결정된 스케일(scale) 계수에 기초하여, 제2 확률을 조정할 수 있다. 프로세서(730)는 제1 확률에 기초하여, 제1 모델에서 후보들의 순위를 결정하고, 순위에 기초하여, 후보들 중 조정의 대상이 되는 후보들을 추출하고, 추출된 후보들에 대응하는 제2 확률을 조정할 수 있다. 프로세서(730)는 순위에 기초하여 결정된 함수를 이용하여, 추출된 후보들에 대응하는 제2 확률을 조정할 수 있다. 프로세서(730)는 조정된 제2 확률을 정규화(normalize)할 수 있다. 프로세서(730)는 조정된 제2 확률의 총합이 1이 되도록 제2 확률을 정규화할 수 있다. 프로세서(730)는 제1 확률과 조정된 제2 확률 사이의 가중합(weighted sum) 연산을 수행하고, 후보들 중 가중합이 가장 큰 후보를 출력 토큰으로 결정할 수 있다. 프로세서(730)는 제1 모델과 제2 모델에 의하여 기 결정된 출력 토큰에 기초하여 제1 확률을 예측하고, 기 결정된 출력 토큰에 기초하여 제2 확률을 예측할 수 있다.
메모리(750)는 프로세서(730)가 처리한 데이터를 저장한다. 예를 들어, 메모리(750)는 프로그램을 저장할 수 있다. 저장되는 프로그램은 음성 인식을 수행할 수 있도록 코딩되어 프로세서(730)에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다. 메모리(750)는 휘발성 메모리 또는 비 휘발성 메모리일 수 있다.
통신 인터페이스(770)는 센서(들)(710), 프로세서(730) 및 메모리(750)와 연결되어 데이터를 송수신할 수 있다. 통신 인터페이스(770)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.
통신 인터페이스(770)는 출력 토큰 결정 장치(700) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신 인터페이스(770)는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신 인터페이스(770)는 출력 토큰 결정 장치와 외부의 장치를 연결하는 요소일 수 있다. 통신 인터페이스(770)는 외부의 장치로부터 데이터를 수신하여, 프로세서(730) 및 메모리(740)에 데이터를 전송할 수 있다.
디스플레이(790)는 디코딩된 결과를 표시할 수 있다. 예를 들어, 출력 토큰의 결과가 디스플레이(790)에 표시될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 (25)

  1. 제1 모델의 출력 토큰 후보들의 제1 확률을 예측하는 단계;
    상기 제1 모델과 연동하는 제2 모델의 상기 출력 토큰 후보들의 제2 확률을 예측하는 단계;
    상기 제1 확률에 기초하여, 상기 제2 확률을 조정하는 단계; 및
    상기 제1 확률과 상기 조정된 제2 확률에 기초하여, 상기 후보들 중 상기 출력 토큰을 결정하는 단계
    를 포함하는 출력 토큰 결정 방법.
  2. 제1항에 있어서,
    상기 조정하는 단계는
    상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하는 단계; 및
    상기 순위에 기초하여, 상기 제2 확률을 조정하는 단계
    를 포함하는, 출력 토큰 결정 방법.
  3. 제2항에 있어서,
    상기 순위에 기초하여, 상기 제2 확률을 조정하는 단계는
    상기 순위에 기초하여 결정된 함수를 이용하여, 상기 제2 확률을 조정하는 단계
    를 포함하는, 출력 토큰 결정 방법.
  4. 제2항에 있어서,
    상기 순위에 기초하여, 상기 제2 확률을 조정하는 단계는
    상기 순위에 기초하여 결정된 스케일(scale) 계수 및 임계값(threshold) 계수 중 적어도 하나에 기초하여, 상기 제2 확률을 조정하는 단계
    를 포함하는, 출력 토큰 결정 방법.
  5. 제1항에 있어서,
    상기 조정하는 단계는
    상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하는 단계;
    상기 순위에 기초하여, 상기 후보들 중 상기 조정의 대상이 되는 후보들을 추출하는 단계; 및
    상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는 단계
    를 포함하는 출력 토큰 결정 방법.
  6. 제5항에 있어서,
    상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는 단계는
    상기 순위에 기초하여 결정된 함수를 이용하여, 상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는 단계
    를 포함하는 출력 토큰 결정 방법.
  7. 제1항에 있어서,
    상기 조정된 제2 확률을 정규화(normalize)하는 단계
    를 더 포함하는, 출력 토큰 결정 방법.
  8. 제7항에 있어서,
    상기 정규화하는 단계는
    상기 조정된 제2 확률의 총합이 1이 되도록 상기 제2 확률을 정규화하는 단계
    를 포함하는, 출력 토큰 결정 방법.
  9. 제1항에 있어서,
    상기 출력 토큰 후보들 중 미리 정해진 개수의 후보에 대해서 탐색을 수행하는 빔 탐색(beam search)을 수행하는 단계; 및
    상기 빔 탐색을 수행 시, 상기 조정된 제2 확률을 정규화(normalize)하는 단계
    를 더 포함하는, 출력 토큰 결정 방법.
  10. 제1항에 있어서,
    상기 출력 토큰을 결정하는 단계는
    상기 제1 확률과 상기 조정된 제2 확률 사이의 가중합(weighted sum) 연산을 수행하는 단계;
    상기 후보들 중 상기 가중합이 가장 큰 후보를 상기 출력 토큰으로 결정하는 단계
    를 포함하는, 출력 토큰 결정 방법.
  11. 제7항에 있어서,
    상기 제1 확률에 적용되는 가중치는 상기 제2 확률에 적용되는 가중치보다 큰, 출력 토큰 결정 방법.
  12. 제1항에 있어서,
    상기 제1 확률을 예측하는 단계는
    상기 제1 모델과 상기 제2 모델에 의하여 기 결정된 출력 토큰에 기초하여, 상기 제1 확률을 예측하는 단계
    를 포함하고,
    상기 제2 확률을 예측하는 단계는
    상기 기 결정된 출력 토큰에 기초하여, 상기 제2 확률을 예측하는 단계
    를 포함하는, 출력 토큰 결정 방법.
  13. 하드웨어와 결합되어 제1항 내지 제12항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  14. 제1 모델의 출력 토큰 후보들의 제1 확률을 예측하고, 상기 제1 모델과 연동하는 제2 모델의 상기 출력 토큰 후보들의 제2 확률을 예측하고, 상기 제1 확률에 기초하여, 상기 제2 확률을 조정하며, 상기 제1 확률과 상기 조정된 제2 확률에 기초하여, 상기 후보들 중 상기 출력 토큰을 결정하는 프로세서
    를 포함하는 출력 토큰 결정 장치.
  15. 제14항에 있어서,
    상기 프로세서는
    상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하고, 상기 순위에 기초하여 상기 제2 확률을 조정하는, 출력 토큰 결정 장치.
  16. 제15항에 있어서,
    상기 프로세서는
    상기 순위에 기초하여 결정된 함수를 이용하여 상기 제2 확률을 조정하는, 출력 토큰 결정 장치.
  17. 제15항에 있어서,
    상기 프로세서는
    상기 순위에 기초하여 결정된 스케일(scale) 계수 및 임계값 계수 중 적어도 하나에 기초하여, 상기 제2 확률을 조정하는, 출력 토큰 결정 장치.
  18. 제14항에 있어서,
    상기 프로세서는
    상기 제1 확률에 기초하여, 상기 제1 모델에서 상기 후보들의 순위를 결정하고, 상기 순위에 기초하여, 상기 후보들 중 상기 조정의 대상이 되는 후보들을 추출하고, 상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는, 출력 토큰 결정 장치.
  19. 제18항에 있어서,
    상기 프로세서는
    상기 순위에 기초하여 결정된 함수를 이용하여, 상기 추출된 후보들에 대응하는 상기 제2 확률을 조정하는, 출력 토큰 결정 장치.
  20. 제14항에 있어서,
    상기 프로세서는
    상기 조정된 제2 확률을 정규화(normalize)하는, 출력 토큰 결정 장치.
  21. 제20항에 있어서,
    상기 프로세서는
    상기 조정된 제2 확률의 총합이 1이 되도록 상기 제2 확률을 정규화하는, 출력 토큰 결정 장치.
  22. 제14항에 있어서,
    상기 프로세서는
    상기 출력 토큰 후보들 중 미리 정해진 개수의 후보에 대해서 탐색을 수행하는 빔 탐색(beam search)을 수행하고, 상기 빔 탐색을 수행 시, 상기 조정된 제2 확률을 정규화(normalize)하는, 출력 토큰 결정 장치.
  23. 제14항에 있어서,
    상기 프로세서는
    상기 제1 확률과 상기 조정된 제2 확률 사이의 가중합(weighted sum) 연산을 수행하고, 상기 후보들 중 상기 가중합이 가장 큰 후보를 상기 출력 토큰으로 결정하는, 출력 토큰 결정 장치.
  24. 제14항에 있어서,
    상기 제1 확률에 적용되는 가중치는 상기 제2 확률에 적용되는 가중치보다 큰, 출력 토큰 결정 장치.
  25. 제14항에 있어서,
    상기 프로세서는
    상기 제1 모델과 상기 제2 모델에 의하여 기 결정된 출력 토큰에 기초하여 상기 제1 확률을 예측하고, 상기 기 결정된 출력 토큰에 기초하여 상기 제2 확률을 예측하는, 출력 토큰 결정 장치.
KR1020190127876A 2019-10-15 2019-10-15 출력 토큰 결정 방법 및 장치 KR20210044559A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190127876A KR20210044559A (ko) 2019-10-15 2019-10-15 출력 토큰 결정 방법 및 장치
US16/851,300 US11574190B2 (en) 2019-10-15 2020-04-17 Method and apparatus for determining output token
CN202010434539.3A CN112668317A (zh) 2019-10-15 2020-05-21 用于确定输出词法单元的方法和设备
EP20176587.2A EP3809405A1 (en) 2019-10-15 2020-05-26 Method and apparatus for determining output token

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190127876A KR20210044559A (ko) 2019-10-15 2019-10-15 출력 토큰 결정 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210044559A true KR20210044559A (ko) 2021-04-23

Family

ID=70857113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190127876A KR20210044559A (ko) 2019-10-15 2019-10-15 출력 토큰 결정 방법 및 장치

Country Status (4)

Country Link
US (1) US11574190B2 (ko)
EP (1) EP3809405A1 (ko)
KR (1) KR20210044559A (ko)
CN (1) CN112668317A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024128446A1 (ko) * 2022-12-12 2024-06-20 숙명여자대학교산학협력단 신경망 모델의 앙상블 방법 및 시스템

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210032105A (ko) * 2019-09-16 2021-03-24 한국전자통신연구원 랭킹 기반 네트워크 임베딩을 이용한 군집화 방법 및 장치
CN113129870B (zh) * 2021-03-23 2022-03-25 北京百度网讯科技有限公司 语音识别模型的训练方法、装置、设备和存储介质
US20230161977A1 (en) * 2021-11-24 2023-05-25 Beijing Youzhuju Network Technology Co. Ltd. Vocabulary generation for neural machine translation

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020593B2 (en) 2002-12-04 2006-03-28 International Business Machines Corporation Method for ensemble predictive modeling by multiplicative adjustment of class probability: APM (adjusted probability model)
CN101548313B (zh) 2006-11-16 2011-07-13 国际商业机器公司 话音活动检测***和方法
JP4838743B2 (ja) 2007-02-27 2011-12-14 静岡県 類似文章検索プログラム
KR20120048139A (ko) 2010-11-05 2012-05-15 한국전자통신연구원 자동 번역 장치 및 그 방법
PT2639749T (pt) 2012-03-15 2017-01-18 Cortical Io Gmbh Métodos, aparelhos e produtos para processamento semântico de texto
JP5982297B2 (ja) 2013-02-18 2016-08-31 日本電信電話株式会社 音声認識装置、音響モデル学習装置、その方法及びプログラム
US9159317B2 (en) 2013-06-14 2015-10-13 Mitsubishi Electric Research Laboratories, Inc. System and method for recognizing speech
JP6222821B2 (ja) 2013-10-10 2017-11-01 日本放送協会 誤り修正モデル学習装置、及びプログラム
US9728185B2 (en) 2014-05-22 2017-08-08 Google Inc. Recognizing speech using neural networks
KR102380833B1 (ko) 2014-12-02 2022-03-31 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
KR102396983B1 (ko) 2015-01-02 2022-05-12 삼성전자주식회사 문법 교정 방법 및 장치
KR20160133349A (ko) 2015-05-12 2016-11-22 삼성전자주식회사 구 표 생성 방법 및 구 표를 이용한 기계 번역 방법
KR102386854B1 (ko) 2015-08-20 2022-04-13 삼성전자주식회사 통합 모델 기반의 음성 인식 장치 및 방법
US10354182B2 (en) * 2015-10-29 2019-07-16 Microsoft Technology Licensing, Llc Identifying relevant content items using a deep-structured neural network
KR102450853B1 (ko) 2015-11-30 2022-10-04 삼성전자주식회사 음성 인식 장치 및 방법
CN107195299A (zh) 2016-03-14 2017-09-22 株式会社东芝 训练神经网络声学模型的方法和装置及语音识别方法和装置
US9978367B2 (en) 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US10019438B2 (en) 2016-03-18 2018-07-10 International Business Machines Corporation External word embedding neural network language models
US11030515B2 (en) * 2016-12-30 2021-06-08 Google Llc Determining semantically diverse responses for providing as suggestions for inclusion in electronic communications
JP7086993B2 (ja) * 2017-05-10 2022-06-20 オラクル・インターナショナル・コーポレイション コミュニケーション用談話ツリーの使用による修辞学的分析の可能化
JP7084617B2 (ja) * 2018-06-27 2022-06-15 国立研究開発法人情報通信研究機構 質問応答装置及びコンピュータプログラム
KR20200056001A (ko) 2018-11-14 2020-05-22 삼성전자주식회사 인공신경망에서의 디코딩 방법 및 그 장치
US11372868B2 (en) * 2019-01-14 2022-06-28 Oracle International Corporation Parsing of unstructured log data into structured data and creation of schema
US10983761B2 (en) * 2019-02-02 2021-04-20 Microsoft Technology Licensing, Llc Deep learning enhanced code completion system
US11763132B2 (en) * 2019-06-11 2023-09-19 International Business Machines Corporation Detecting non-anomalous and anomalous sequences of computer-executed operations
US11262984B2 (en) * 2019-08-01 2022-03-01 Microsoft Technology Licensing, Llc. Multi-lingual line-of-code completion system
US11698904B2 (en) * 2019-09-05 2023-07-11 Home Depot Product Authority, Llc Query rewrite for low performing queries based on customer behavior

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024128446A1 (ko) * 2022-12-12 2024-06-20 숙명여자대학교산학협력단 신경망 모델의 앙상블 방법 및 시스템

Also Published As

Publication number Publication date
US11574190B2 (en) 2023-02-07
CN112668317A (zh) 2021-04-16
EP3809405A1 (en) 2021-04-21
US20210110259A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
KR102382499B1 (ko) 번역 방법, 타깃 정보 결정 방법, 관련 장치 및 저장 매체
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
CN110347799B (zh) 语言模型训练方法、装置和计算机设备
US20210232773A1 (en) Unified Vision and Dialogue Transformer with BERT
US11210306B2 (en) Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system
US11314921B2 (en) Text error correction method and apparatus based on recurrent neural network of artificial intelligence
KR102342066B1 (ko) 뉴럴 네트워크 모델을 이용한 기계 번역 방법, 장치 및 그 장치를 학습시키기 위한 방법
US11721335B2 (en) Hierarchical self-attention for machine comprehension
US11972365B2 (en) Question responding apparatus, question responding method and program
KR20210044559A (ko) 출력 토큰 결정 방법 및 장치
CN110245221B (zh) 训练对话状态跟踪分类器的方法和计算机设备
Britz et al. Efficient attention using a fixed-size memory representation
US10963819B1 (en) Goal-oriented dialog systems and methods
US11693854B2 (en) Question responding apparatus, question responding method and program
CN114676234A (zh) 一种模型训练方法及相关设备
US11544457B2 (en) Machine learning based abbreviation expansion
CN113822125B (zh) 唇语识别模型的处理方法、装置、计算机设备和存储介质
JP7061594B2 (ja) 文章変換システム、文章変換方法、及びプログラム
KR20210014949A (ko) 음성 인식을 위한 인공신경망에서의 디코딩 방법 및 장치
KR20210083986A (ko) 반지도 학습 기반 단어 단위 감정 임베딩과 lstm 모델을 이용한 대화 내에서 발화의 감정 분류 방법
KR20200132619A (ko) 구어에서 수어로의 주의 기반 인공신경망 기계 번역 방법 및 그 장치
JP2022037862A (ja) テキスト基盤の事前学習モデルを活用した縦断型音声言語理解知識を蒸留するための方法、システム、およびコンピュータ読み取り可能な記録媒体
CN116522894A (zh) 一种多阶段文本生成方法
US20230281392A1 (en) Computer-readable recording medium storing computer program, machine learning method, and natural language processing apparatus
KR20210044003A (ko) 단어 임베딩 방법 및 장치와 단어 검색 방법