KR20180055189A - 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치 - Google Patents

자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치 Download PDF

Info

Publication number
KR20180055189A
KR20180055189A KR1020160152712A KR20160152712A KR20180055189A KR 20180055189 A KR20180055189 A KR 20180055189A KR 1020160152712 A KR1020160152712 A KR 1020160152712A KR 20160152712 A KR20160152712 A KR 20160152712A KR 20180055189 A KR20180055189 A KR 20180055189A
Authority
KR
South Korea
Prior art keywords
word
vector
character
sentence
natural language
Prior art date
Application number
KR1020160152712A
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 KR1020160152712A priority Critical patent/KR20180055189A/ko
Priority to US15/598,966 priority patent/US10540964B2/en
Priority to EP17182953.4A priority patent/EP3324405A1/en
Priority to CN201710626027.5A priority patent/CN108073574A/zh
Priority to JP2017179163A priority patent/JP2018081298A/ja
Publication of KR20180055189A publication Critical patent/KR20180055189A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F17/28
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • G06F17/27
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/232Orthographic correction, e.g. spell checking or vowelisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/111Mathematical or scientific formatting; Subscripts; Superscripts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Abstract

자연어 처리 방법이 개시된다. 일 실시예는 음성 인식된 문장 데이터의 워드들을 워드 벡터들로 변환하고, 상기 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환하며, 상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 상기 문장 데이터에 대한 문장 벡터를 생성하고, 상기 문장 벡터를 기초로 상기 문장 데이터의 의도(intent) 정보를 결정한다.

Description

자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치{METHOD AND APPARATUS FOR PROCESSING NATURAL LANGUAGES, METHOD AND APPARATUS FOR TRAINING NATURAL LANGUAGE PROCESSING MODEL}
아래 실시예들은 자연어 처리 방법 및 장치에 관한 것이다.
음성 인식은 사용자의 음성을 인식하는 기술이다. 음성 인식에 의해 사용자의 음성은 텍스트로 변환될 수 있다. 이러한 음성 인식에서 음성 인식 에러가 발생하거나 음성 인식을 통해 처음 보는 단어(unseen word)가 등장하는 경우, 입력된 음성을 정확한 텍스트로 변환하여 해당 음성 인식을 적절히 처리하기 쉽지 않다.
일 측에 따른 자연어 처리 방법은 음성 인식된 문장 데이터의 워드들을 워드 벡터들로 변환하는 단계; 상기 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환하는 단계; 상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 상기 문장 데이터에 대한 문장 벡터를 생성하는 단계; 및 상기 문장 벡터를 기초로 상기 문장 데이터의 의도(intent) 정보를 결정하는 단계를 포함한다.
상기 문장 벡터를 생성하는 단계는, 상기 워드들 각각에 대한 워드 벡터와 상기 워드들에 포함된 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 상기 워드들 각각에 대한 결합 벡터를 생성하는 단계; 및 상기 워드들 각각에 대한 결합 벡터를 연결하여 상기 문장 벡터를 생성하는 단계를 포함할 수 있다.
상기 워드들을 워드 벡터들로 변환하는 단계는, 상기 워드들에 언레이블된(unlabeled) 워드가 있는 경우, 상기 언레이블된 워드에 해당하는 워드를 언노운(unknown)에 대응하는 벡터로 변환하는 단계를 포함할 수 있다.
상기 의도 정보를 결정하는 단계는, 상기 문장 벡터로부터 결정된 복수의 후보 의도 정보 각각에 대한 확률을 계산하는 단계; 및 상기 복수의 후보 의도 정보 각각의 확률을 기초로 상기 복수의 후보 의도 정보 중에서 상기 의도 정보를 결정하는 단계를 포함할 수 있다.
상기 의도 정보를 결정하는 단계는, 상기 문장 데이터 내의 오류 워드에 대한 결합 벡터를 기초로, 상기 오류 워드에 대응하는 대상 워드를 결정하는 단계; 및 상기 오류 워드를 상기 대상 워드로 인식하는 단계를 포함할 수 있고, 상기 오류 워드에 대한 결합 벡터는, 상기 오류 워드에 대한 워드 벡터와 상기 오류 워드의 캐릭터들 각각에 대한 캐릭터 벡터가 연결되어 생성될 수 있다.
상기 오류 워드에 대한 워드 벡터는, 상기 오류 워드가 언레이블된 워드인 경우, 언노운에 대응하는 벡터일 수 있다.
상기 의도 정보는, 상기 문장 벡터를 입력 받은 자연어 처리 모델에 의해 생성될 수 있다.
상기 자연어 처리 모델은, 제1 워드에 노이즈가 적용되어 생성된 제2 워드를 포함하는 학습 데이터를 입력 받은 경우, 상기 제2 워드를 상기 제1 워드로 인식하도록 학습될 수 있다.
상기 제2 워드는, 상기 제1 워드의 캐릭터들 중 일부가 다른 캐릭터로 변경되거나 상기 제1 워드에 상기 다른 캐릭터를 추가되어 생성될 수 있다.
상기 자연어 처리 방법은 음성 신호를 수신하는 단계; 상기 음성 신호로부터 특징들을 추출하는 단계; 음향 모델을 통해 상기 특징들로부터 음소 시퀀스를 인식하는 단계; 및 언어 모델을 통해 상기 음소 시퀀스로부터 워드들을 인식하여, 상기 문장 데이터를 생성하는 단계를 더 포함할 수 있다.
일 측에 따른 학습 방법은 문장 데이터의 워드에 노이즈를 적용하여 변경 워드를 생성하는 단계; 상기 변경 워드 및 상기 노이즈가 적용되지 않은 다른 워드를 워드 벡터들로 변환하는 단계; 상기 변경 워드의 캐릭터들 및 상기 다른 워드의 캐릭터들을 캐릭터 벡터들로 변환하는 단계; 및 상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 문장 벡터를 생성하는 단계를 포함한다.
상기 문장 벡터를 생성하는 단계는, 상기 변경 워드에 대한 워드 벡터와 상기 변경 워드의 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 상기 변경 워드에 대한 결합 벡터를 생성하는 단계; 상기 다른 워드에 대한 워드 벡터와 상기 다른 워드의 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 상기 다른 워드에 대한 결합 벡터를 생성하는 단계; 및 상기 변경 워드에 대한 결합 벡터와 상기 다른 워드에 대한 결합 벡터를 연결하여 상기 문장 벡터를 생성하는 단계를 포함할 수 있다.
상기 변경 워드는, 상기 워드의 캐릭터를 다른 캐릭터로 변경하거나 상기 캐릭터에 상기 다른 캐릭터를 추가하여 생성될 수 있다.
상기 변경 워드를 생성하는 단계는, 미리 정해진 기준에 따라, 상기 워드의 캐릭터들 중 변경할 캐릭터를 결정하는 단계; 미리 결정된 사전(dictionary)에서 다른 캐릭터를 선택하는 단계; 및 상기 결정된 캐릭터를 상기 다른 캐릭터로 대체하는 단계를 포함할 수 있다.
상기 미리 정해진 기준은 상기 워드의 길이, 캐릭터 변경 개수, 및 변경 위치를 기초로 정해진 기준일 수 있다.
상기 변경 워드에 대한 워드 벡터는, 상기 변경 워드가 언레이블된 워드인 경우, 언노운에 대응하는 벡터일 수 있다.
상기 학습 방법은 상기 문장 데이터 내의 워드들 중 상기 워드를 랜덤하게 선택하는 단계를 더 포함할 수 있다.
상기 학습 방법은 상기 문장 벡터를 기초로 뉴럴 네트워크 기반의 자연어 처리 모델을 학습시키는 단계를 더 포함할 수 있다.
일 측에 따른 자연어 처리 장치는 컨트롤러; 및 상기 컨트롤러에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 컨트롤러에서 실행되면, 상기 컨트롤러는 음성 인식된 문장 데이터의 워드들을 워드 벡터들로 변환하고, 상기 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환하며, 상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 상기 문장 데이터에 대한 문장 벡터를 생성하고, 상기 문장 벡터를 기초로 상기 문장 데이터의 의도 정보를 결정한다.
일 측에 따른 학습 장치는 컨트롤러; 및 상기 컨트롤러에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 컨트롤러에서 실행되면, 상기 컨트롤러는 문장 데이터의 워드에 노이즈를 적용하여 변경 워드를 생성하고, 상기 변경 워드 및 상기 노이즈가 적용되지 않은 다른 워드를 워드 벡터들로 변환하며, 상기 변경 워드의 캐릭터들 및 상기 다른 워드의 캐릭터들을 캐릭터 벡터들로 변환하고, 상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 문장 벡터를 생성한다.
도 1은 일 실시예에 따른 자연어 처리 장치의 일례를 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 음성 인식기를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 자연어 분석기를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 문장 벡터의 생성을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 학습 장치를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 노이즈 적용을 설명하기 위한 도면이다.
도 7 내지 도 11은 일 실시예에 따른 자연어 처리 모델을 설명하기 위한 도면이다.
도 12은 일 실시시예에 따른 자연어 처리 방법의 일례를 설명하기 위한 순서도이다.
도 13은 일 실시예에 따른 자연어 처리 방법의 다른 일례를 설명하기 위한 순서도이다.
도 14는 일 실시예에 따른 자연어 처리 장치의 다른 일례를 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 학습 장치를 설명하기 위한 도면이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 일 실시예에 따른 자연어 처리 장치의 일례를 설명하기 위한 도면이다.
도 1을 참조하면, 일 실시예에 따른 자연어 처리 장치(100)는 음성 인식기(110) 및 자연어 분석기(120)를 포함한다.
자연어 처리 장치(100)는 음성 신호를 수신한다. 자연어 처리 장치(100)는 서버 형태로 구현될 수 있고, 사용자 단말로부터 네트워크를 통해 사용자의 음성 신호를 수신할 수 있다. 예를 들어, 자연어 처리 장치(100)는 사용자 단말로부터 "아버지에게 사진을 보내줘"의 음성 신호를 수신할 수 있다.
음성 인식기(110)는 음성 신호를 음성 인식하여 문장 데이터를 생성한다. 예를 들어, 음성 인식기(110)는 "아버지에게 사진을 보내줘"의 음성 신호를 음성 인식하여 "아버지에게 사진을 보내줘"의 문장 데이터를 생성할 수 있다. 음성 인식기(110)에 대해선 도 2를 통해 후술한다.
자연어 분석기(120)는 음성 인식기(110)로부터 문장 데이터를 수신한다. 자연어 분석기(120)는 문장 데이터에 형태소(morpheme) 분석, 구문(syntax) 분석, 의미(semantic) 분석, 및 담화(discourse) 분석 중 하나 이상을 수행할 수 있다. 이러한 분석을 통해 자연어 분석기(120)는 문장 데이터의 의도(intent) 정보를 결정할 수 있다. 예를 들어, 자연어 분석기(120)는 "아버지에게 사진을 보내줘"의 문장 데이터를 분석하여 문장 데이터의 의도 정보를 "아버지의 단말로 사진을 전송하라"로 결정할 수 있다.
일 실시예에 있어서, 자연어 분석기(120)는 음성 인식기(110)가 음성 신호를 정확히 인식하지 못하여 생성된 문장 데이터의 의도 정보를 예측할 수 있다. 예를 들어, 자연어 분석기(120)는 오류 워드를 포함하는 문장 데이터의 의도 정보를 예측할 수 있다. 자연어 분석기(120)에 대해선 도 3을 통해 후술한다.
자연어 분석기(120)는 의도 정보를 기초로 결과 정보를 생성한다. 예를 들어, 자연어 분석기(120)는 "아버지에게 사진을 보내줘"의 문장 데이터를 분석하여 문장 데이터의 의도 정보를 "아버지의 단말로 사진을 전송하라"로 결정한 경우, 자연어 분석기(120)는 "아버지의 단말로 사진을 전송하라"에 대응되는 제어 신호를 생성할 수 있다.
자연어 처리 장치(100)는 생성된 결과 정보를 전송한다. 예를 들어, 자연어 처리 장치(100)는 "아버지의 단말로 사진을 전송하라"에 대응되는 제어 신호를 사용자 단말로 전송할 수 있다. 사용자 단말은 제어 신호에 따라 동작하여 음성 신호를 발화한 사용자의 아버지의 단말로 사진을 전송할 수 있다.
도 2는 일 실시예에 따른 음성 인식기를 설명하기 위한 도면이다.
도 2를 참조하면, 일 실시예에 따른 음성 인식기(200)는 특징 추출부(210), 음향 모델(Acoustic Model)(220), 디코더(230), 및 언어 모델(Language Model)(240)을 포함한다.
음성 인식기(200)는 음성 신호를 입력 받는다. 음성 인식기(200)가 "Where is a French restaurant?"의 음성 신호를 입력 받는다고 하자.
특징 추출부(210)는 음성 신호로부터 특징(feature)들을 추출한다. 특징 추출부(210)는 LPC(Linear Predictive Coding) 기법 또는 MFCC(Mel Frequency Cepstral Coefficients) 기법 등을 이용하여 음성 신호부터 특징들을 추출할 수 있다.
음향 모델(220)은 특징들로부터 음소(phone)들을 인식할 수 있다. 음향 모델(230)은, 예를 들어, DTW(Dynamic Time Warping) 기반 음향 모델 또는 HMM(Hidden Markov Modeling) 기반 음향 모델 등일 수 있다. 음향 모델(230)은 전술한 사항으로 제한되지 않는다.
디코더(240)는 언어 모델(250)을 통해 음소들로부터 워드들을 인식하여 문장 데이터를 생성할 수 있다. 언어 모델(1535)은, 예를 들어, N-그램 언어 모델 또는 뉴럴 네트워크 기반 모델일 수 있다. 언어 모델(1535)은 전술한 사항으로 제한되지 않는다.
음성 인식기(200)는 노이즈 등의 영향으로 음성 신호를 정확하게 인식하지 못할 수 있다. 달리 표현하면, 음성 인식 오류가 발생할 수 있다. 예를 들어, 음성 인식기(200)는 "Where is a French restaurant?"의 음성 신호를 정확히 인식하지 못하여 "Where is a Franch restaurant?"의 문장 데이터를 생성할 수 있다. "Where is a Franch restaurant?"의 문장 데이터는 오류 워드 "Franch"를 포함할 수 있다. 이 경우, 문장 데이터의 의도 정보가 정확하게 결정되지 않을 수 있다. 일 실시예에 따른 자연어 분석기(미도시)는 "Where is a Franch restaurant?"의 문장 데이터의 의도 정보를 "French restaurant에 대한 검색"으로 예측할 수 있다. 이하, 도 3을 참조하면서, 자연어 분석기에 대해 설명한다.
도 3은 일 실시예에 따른 자연어 분석기를 설명하기 위한 도면이다.
도 3을 참조하면, 자연어 분석기(300)는 벡터 변환부(310) 및 자연어 처리 모델(320)을 포함한다.
자연어 분석기(300)는 음성 인식기(미도시)로부터 문장 데이터를 수신한다. 자연어 분석기(300)는 음성 인식기로부터 "Where is a Franch restaurant?"의 문장 데이터를 수신한다고 하자.
벡터 변환부(310)는 문장 데이터의 워드들을 워드 벡터들로 변환한다. 예를 들어, 벡터 변환부(310)는 "Where is a Franch restaurant?"의 "Where", "is", "a", "Franch", 및 "restaurant" 각각을 워드 임베딩(word embedding)을 통해 워드 벡터로 변환할 수 있다. 워드 벡터는 실수 벡터일 수 있다. 워드 벡터는, 예를 들어, 원-핫 벡터(one-hot vector) 또는 분포형 벡터(distributional vector)일 수 있다.
문장 데이터는 언레이블된(unlabeled) 워드를 포함할 수 있다. 언레이블된 워드는 벡터가 정의되어 있지 않은 워드를 의미한다. 문장 데이터가 언레이블된 워드를 포함하는 경우, 벡터 변환부(310)는 언레이블된 워드를 언노운(unknown)으로 처리할 수 있다. 예를 들어, "Franch"가 언레이블된 워드인 경우, 벡터 변환부(310)는 "Franch"를 unknown으로 처리하고, unknown에 대응하는 벡터로 변환할 수 있다. unknown에 대응하는 벡터는, 예를 들어, [0,0,0,0,0,0,0,1]와 같은 상수 벡터일 수 있다. unknown에 대응하는 벡터는 전술한 예로 제한되지 않는다.
이하, 워드 벡터를 [워드]로 표현한다. 아래 표 1은 "Where is a Franch restaurant?"의 워드들 각각에 대한 워드 벡터를 보여준다.
워드 워드 벡터
Where [Where]
is [is]
a [a]
Franch [Franch]
restaurant [restaurant]
벡터 변환부(310)는 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환한다. 예를 들어, 벡터 변환부(310)는 "Where is a Franch restaurant?"의 캐릭터들 "W", "h", "e", "r", "e",…, "r", "e", "s", "t", "a", "u", "r", "a", "n",및 " t" 각각을 캐릭터 임베딩(character embedding)을 통해 캐릭터 벡터로 변환할 수 있다. 캐릭터 벡터는 실수 벡터일 수 있다. 캐릭터 벡터는, 예를 들어, 원 핫 벡터 또는 분포형 벡터일 수 있다.
이하, 캐릭터 벡터를 [캐릭터]로 표현한다. 아래 표 2는 "Where is a Franch restaurant?"의 캐릭터들 각각에 대한 캐릭터 벡터를 보여준다.
캐릭터 캐릭터 벡터
W [W]
h [h]
e [e]
F [F]
r [r]
a [a]
n [n]
a [a]
n [n]
t [t]
벡터 변환부(310)는 워드 벡터들과 캐릭터 벡터들을 기초로 문장 데이터에 대한 문장 벡터를 생성한다. 일 실시예에 있어서, 벡터 변환부(310)는 문장 데이터의 워드들 각각에 대한 워드 벡터와 문장 데이터의 워드들에 포함된 캐릭터들 각각에 대한 캐릭터 벡터를 연결(concatenation)하여 문장 데이터의 워드들 각각에 대한 결합 벡터를 생성할 수 있다. 벡터 변환부(310)는 문장 데이터의 워드들 각각에 대한 결합 벡터를 연결하여 문장 벡터를 생성할 수 있다. 문장 벡터의 생성에 대해선 도 4를 통해 후술한다.
벡터 변환부(310)는 문장 벡터를 자연어 처리 모델(320)로 입력할 수 있다. 자연어 처리 모델(320)은 뉴럴 네트워크 기반 모델일 수 있다. 자연어 처리 모델(320)에는 학습에 의해 최적화된 연결 가중치들이 적용될 수 있다. 자연어 처리 모델(320)은 문장 벡터를 입력 받으면, 문장 벡터를 전방 연산(forward computation)하여 문장 데이터의 의도 정보를 결정할 수 있다. 전방 연산은 자연어 처리 모델(320)의 입력 레이어 → 중간 레이어 → 출력 레이어 방향으로 수행되는 연산을 나타낸다. 전방 연산에 의해 출력 레이어에서 문장 데이터의 의도 정보가 생성될 수 있다.
일 실시예에 있어서, 문장 데이터는 오류 워드를 포함할 수 있다. 자연어 처리 모델(320)은 오류 워드를 포함하는 문장 데이터에 대한 문장 벡터를 전방 연산하여 오류 워드를 포함하는 문장 데이터의 의도 정보를 결정할 수 있다. 보다 구체적으로, 자연어 처리 모델(320)은 오류 워드에 대한 결합 벡터 또는 오류 워드의 캐릭터들 각각에 대한 캐릭터 벡터를 기초로 전방 연산을 수행할 수 있다. 자연어 처리 모델(320)은 전방 연산을 통해 오류 워드를 오류 워드에 대응하는 대상 워드로 인식할 수 있다. 또한, 자연어 처리 모델(320)은 오류 워드를 대상 워드로 인식하여 문장 데이터의 의도 정보를 결정할 수 있다.
일례로, 자연어 처리 모델(320)은 오류 워드 "Franch"를 포함하는 문장 데이터 "Where is a Franch restaurant?"에 대한 문장 벡터를 입력 받을 수 있다. 자연어 처리 모델(320)은 "Where is a Franch restaurant?"에 대한 문장 벡터에 수행되는 전방 연산을 기초로 "Franch"에 대한 결합 벡터 [Franch][F][r][a][n][c][h]로부터 "French"에 대한 결합 벡터 [French][F][r][e][n][c][h]를 예측할 수 있다. 여기서, [Franch]가 unknown에 대응하는 벡터라면, 자연어 처리 모델(320)은 "Franch"의 캐릭터 벡터들이 연결된 [F][r][a][n][c][h]로부터 "French"에 대한 결합 벡터 [French][F][r][e][n][c][h]를 예측할 수 있다. 후술하겠지만, 자연어 처리 모델(320)은 노이즈가 적용된 워드를 포함하는 학습 데이터로 미리 학습된 모델이다. 이에 따라, 자연어 처리 모델(320)은 [Franch][F][r][a][n][c][h] 또는 [F][r][a][n][c][h]로부터 [French][F][r][e][n][c][h]를 예측 할 수 있다. 자연어 처리 모델(320)은 이러한 예측을 통해 "Franch"에 대응하는 대상 워드를 "French"로 결정할 수 있다. 자연어 처리 모델(320)은 "Franch"를 "French"로 인식할 수 있다. 자연어 처리 모델(320)은 "Franch"를 "French"로 인식하여 "Where is a Franch restaurant?"의 의도 정보를 "French에 대한 검색"으로 결정할 수 있다. 자연어 처리 모델(320)의 학습에 대해선 도 7을 통해 설명한다.
구현에 따라, 자연어 처리 모델(320)은 문장 벡터로부터 결정된 복수의 후보 의도 정보 각각에 대한 확률을 계산할 수 있다. 자연어 처리 모델(320)은 복수의 후보 의도 정보 각각의 확률을 기초로 복수의 후보 의도 정보 중에서 문장 데이터의 의도 정보를 결정할 수 있다. 일례로, 자연어 처리 모델(320)은 확률이 최대인 후보 의도 정보를 문장 데이터의 의도 정보로 결정할 수 있다. 문장 데이터에 오류 워드가 포함되어 있는 경우, 오류 워드가 대상 워드로 인식되어 결정된 후보 의도 정보의 확률이 최대일 수 있다. 자연어 처리 모델(320)은 해당 후보 의도 정보를 문장 데이터의 의도 정보로 결정할 수 있다.
자연어 분석기(300)는 의도 정보를 기초로 결과 정보를 생성한다. 예를 들어, 자연어 분석기(300)는 "French restaurant에 대한 검색"을 위한 제어 신호를 생성할 수 있다. 또한, 자연어 분석기(300)는 오류 워드를 대상 워드로 변경할 수 있다. 자연어 분석기(300)는 의도 정보에 대응되는 문장 데이터를 생성할 수 있다. 예를 들어, 자연어 분석기(300)는 "Franch"를 "French"로 변경하여 의도 정보에 대응되는 문장 데이터 "Where is a French restaurant?"를 생성할 수 있다. 달리 표현하면, 자연어 분석기(300)는 입력 받은 문장 데이터 내의 오류 워드를 대상 워드로 수정할 수 있다.
자연서 분석기(300)는 음성 신호를 전송한 사용자 단말 등으로 결과 정보를 전송할 수 있다.
일 실시예에 따른 자연어 분석기(300)는 노이즈 또는 음성 인식 오류에 강건(robust)할 수 있고, 음성 신호를 텍스트 데이터로 변환할 때 발생하는 오류에 대한 처리 정확도를 높일 수 있다.
도 4는 일 실시예에 따른 문장 벡터의 생성을 설명하기 위한 도면이다.
도 3을 통해 설명한 벡터 변환부는 문장 데이터(410)의 워드들 각각에 대한 결합 벡터(420~424)를 생성할 수 있다. 예를 들어, 벡터 변환부는 [Where], [W], [h], [e], [r], [e], 및 [h]를 연결하여 "Where"에 대한 결합 벡터(420)를 생성할 수 있다. 일례로, 도 4에 도시된 예와 같이, "Where"에 대한 결합 벡터(420)는 [Where][W][h][e][r][e]일 수 있다. 구현에 따라, "Where"에 대한 결합 벡터(420)는 [W][h][e][r][e][Where] 또는 [W][Where][h][e][r][e]일 수 있다. "Where"에 대한 결합 벡터(420)는 전술한 사항으로 제한되지 않는다. 마찬가지로, 벡터 변환부는 "Where is a Franch restaurant?"의 나머지 워드에 대한 결합 벡터(421~424)를 생성할 수 있다. 여기서, "Franch"가 언레이블된 워드라 하자. 위에서 설명한 것과 같이, 벡터 변환부는 "Franch"를 unknown에 대응하는 벡터로 변환할 수 있다. 벡터 변환부는 unknown에 대응하는 벡터와 "Franch"의 캐릭터들 각각의 캐릭터 벡터를 연결하여 "Franch"에 대한 결합 벡터(423)를 생성할 수 있다.
도 4에 "Where is a Franch restaurant?"의 워드들 각각에 대한 결합 벡터(420~424)가 도시된다.
벡터 변환부는 문장 데이터(410)의 워드들 각각에 대한 결합 벡터(420~424)를 연결하여 문장 벡터(430)를 생성할 수 있다. 도 4에 도시된 예와 같이, 벡터 변환부는 "Where is a Franch restaurant?"에 대한 문장 벡터(430) [Where][W][h][e][r][e]…[Franch][F]…[restaurant]…[a][n][t]를 생성할 수 있다. "Where is a Franch restaurant?"에 대한 문장 벡터는 전술한 사항으로 제한되지 않는다.
도 4에는 실수 벡터(440)가 도시된다. 실수 벡터(440)는 문장 벡터(430)를 다르게 표현한 것이다.
도 5는 일 실시예에 따른 학습 장치를 설명하기 위한 도면이다.
도 5를 참조하면, 일 실시예에 따른 학습 장치(500)는 노이즈 적용부(510), 워드 임베딩부(520), 캐릭터 임베딩부(530), 결합부(540), 및 자연어 처리 모델(550)을 포함한다.
"Searching for a French food recipe"의 문장 데이터가 학습 장치(500)에 입력된다고 하자. 문장 데이터는 학습 데이터로서 학습 장치(500)에 입력될 수 있다.
노이즈 적용부(510)는 문장 데이터 내의 워드에 노이즈를 적용하여 변경 워드를 생성한다. 노이즈 적용부(510)는 문장 데이터 내의 워드들 중 하나 이상의 워드를 랜덤하게 선택할 수 있고, 선택된 워드에 노이즈를 적용할 수 있다. 달리 표현하면, 노이즈 적용부(510)는 문장 데이터에 노이즈를 주입할 수 있다. 예를 들어, 노이즈 적용부(510)는 "Searching for a French food recipe"에서 "French"와 "recipe"을 선택할 수 있고, "French"와 "recipe"에 노이즈를 적용할 수 있다. 노이즈 적용 결과, "French"의 3번째 위치에 해당하는 캐릭터 "e"가 "a"로 변경되어 변경 워드 "Franch"가 생성될 수 있다. 또한, 노이즈 적용 결과, "recipe"의 6번째 위치에 해당하는 캐릭터 "e"가 "i"로 변경되어 변경 워드 "recipi"가 생성될 수 있다. 노이즈 적용에 대해선 도 6을 통해 후술한다.
워드 임베딩부(520)는 변경 워드를 워드 벡터로 변환한다. 워드 임베딩부(520)는 워드 임베딩을 통해 변경 워드를 워드 벡터로 변환할 수 있다. 일 실시예에 있어서, 워드 임베딩부(520)는 변경 워드가 언레이블된 워드이면, 변경 워드를 unknown으로 처리하여 변경 워드를 unknown에 대응하는 벡터로 변환할 수 있다.
워드 임베딩부(520)는 노이즈가 적용되지 않은 다른 워드를 워드 벡터로 변환할 수 있다. 예를 들어, 워드 임베딩부(520)는 "Searching", "for", "a", 및 "food" 각각을 [Searching], [for], [a], 및 [food] 로 변환할 수 있다. 문장 데이터의 다른 워드가 언레이블된 워드이면, 워드 임베딩부(520)는 문장 데이터의 다른 워드를 unknown에 대응하는 벡터로 변환할 수 있다.
캐릭터 임베딩부(530)는 변경 워드의 캐릭터들 및 노이즈가 적용되지 않은 다른 워드의 캐릭터들을 캐릭터 벡터들로 변환한다. 예를 들어, 캐릭터 임베딩부(530)는 "Franch"의 캐릭터 "F", "r", "a", "n", "c", 및 "h" 각각을 캐릭터 벡터 [F], [r], [a], [n], [c], 및 [h]로 변환할 수 있다. 또한, 캐릭터 임베딩부(530)는 "recipi"의 캐릭터 "r", "e", "c", "i", "p", 및 "i" 각각을 캐릭터 벡터 [r], [e], [c], [i], [p], 및 [i]로 변환할 수 있다. 마찬가지로, 캐릭터 임베딩부(530)는 "Searching", "for", 및 "food"의 캐릭터들 각각을 캐릭터 벡터로 변환할 수 있다.
결합부(540)는 변경 워드 및 노이즈가 적용되지 않은 다른 워드의 워드 벡터들과 캐릭터 특징 벡터들을 기초로 문장 벡터를 생성한다. 일 실시예에 있어서, 결합부(540)는 변경 워드에 대한 워드 벡터와 변경 워드의 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 변경 워드에 대한 결합 벡터를 생성할 수 있다. 또한, 결합부(540)는 다른 워드에 대한 워드 벡터와 다른 워드의 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 다른 워드에 대한 결합 벡터를 생성할 수 있다. 결합부(540)는 결합부(540)는 변경 워드에 대한 결합 벡터와 다른 워드에 대한 결합 벡터를 연결하여 문장 벡터를 생성할 수 있다.
예를 들어, 결합부(540)는 변경 워드 "Franch"에 대한 결합 벡터와 다른 워드에 대한 결합 벡터를 연결하여 문장 벡터 [Searching][S]…[Franch][F][r][a]…[recipe]…[i][p][e]를 생성할 수 있다. 또한, 결합부(540)는 변경 워드 "recipi"에 대한 결합 벡터와 다른 워드에 대한 결합 벡터를 연결하여 문장 벡터 [Searching][S]…[French][F][r][e]…[recipi]…[i][p][i]를 생성할 수 있다.
문장 벡터의 생성에 대해선 도 4를 통해 설명하였으므로, 자세한 설명을 생략한다.
결합부(540)가 생성한 문장 벡터는 노이즈를 포함하는 문장 데이터(또는, 노이즈가 적용된 워드를 포함하는 문장 데이터)와 대응될 수 있다. 예를 들어, [Searching][S]…[Franch][F][r][a]…[recipe]…[i][p][e]는 "Searching for a Franch food recipe"와 대응될 수 있다. 또한, [Searching][S]…[French][F][r][e]…[recipi]…[i][p][i]는 "Searching for a French food recipi"와 대응될 수 있다. 달리 표현하면, 학습 장치(500)로 입력된 문장 데이터와 다른 문장 데이터 "Searching for a Franch food recipe"와 "Searching for a French food recipi"이 생성될 수 있다.
학습 장치(500)는 문장 벡터를 이용하여 자연어 처리 모델(560)을 학습시킬 수 있다. 달리 표현하면, 학습 장치(500)는 노이즈를 포함하는 문장 데이터를 통해 자연어 처리 모델(560)을 학습시킬 수 있다. 학습을 통해 자연어 처리 모델(560)은 노이즈에 강건해질 수 있고, 문장 데이터에 오류 워드가 포함되어 있는 경우, 오류 워드에 대한 처리 정확도를 증가시킬 수 있다.
자연어 처리 모델(560)의 학습에 대해선 도 7을 통해 후술한다.
도 6은 일 실시예에 따른 노이즈 적용을 설명하기 위한 도면이다.
도 5를 통해 설명한 것과 같이, 노이즈 적용부는 문장 데이터에서 하나 이상의 워드를 선택할 수 있다. 예를 들어, 노이즈 적용부는 하나 이상의 워드를 랜덤하게 선택할 수 있다. 또한, 노이즈 적용부는 선택된 워드에 노이즈를 적용할 수 있다. 일 실시예에 있어서, 노이즈 적용부는 선택된 워드의 캐릭터들 중 변경할 캐릭터를 미리 정해진 기준에 따라 결정할 수 있다. 노이즈 적용부는 미리 결정된 사전(dictionary)에서 캐릭터를 선택할 수 있고, 결정된 캐릭터를 선택된 캐릭터로 대체할 수 있다. 아래 표 1은 미리 정해진 기준을 보여준다. 미리 정해진 기준은 아래 표 1로 제한되지 않는다.
워드의 길이(L) 캐릭터 변경 개수 변경 위치
2≤L≤6 1개 랜덤
6<L≤10 2개 이하 랜덤
10<L≤14 3개 이하 랜덤
도 6에 도시된 예와 같이, 노이즈 적용부는 "Searching for a French food recipe"에서 "French"와 "recipe"를 선택할 수 있다. "French"의 길이는 6이므로, 노이즈 적용부는 위의 표 1을 참조하여 "French"의 3번째 위치를 랜덤하게 선택할 수 있고, 변경할 캐릭터를 3번째 위치에 해당하는 "e"로 결정할 수 있다. 또한, "recipe"의 길이는 6이므로, 노이즈 적용부는 위의 표 1을 참조하여 "recipe"의 6번째 위치를 랜덤하게 선택할 수 있고, 변경할 캐릭터를 6번째 위치에 해당하는 "e"로 결정할 수 있다.
노이즈 적용부는 미리 결정된 사전에서 캐릭터 "a"를 선택할 수 있고, "French"에서 결정된 캐릭터 "e"를 선택된 캐릭터 "a"로 대체하여 변경 워드 "Franch"를 생성할 수 있다. 또한, 노이즈 적용부는 미리 결정된 사전에서 캐릭터 i를 선택할 수 있고, "recipe"에서 결정된 캐릭터 "e"를 선택된 캐릭터 "i"로 대체하여 변경 워드 "recipi"를 생성할 수 있다.
구현에 따라, 노이즈 적용부는 미리 결정된 사전에서 선택한 캐릭터를 문장 데이터에서 선택된 워드에 추가할 수 있다. 예를 들어, 노이즈 적용부는 "French"의 마지막 위치에 해당하는 캐릭터 h 다음 위치에 미리 결정된 사전에서 선택한 캐릭터 a를 추가하여 변경 워드 "Frencha"를 생성할 수 있다. 또한, 노이즈 적용부는 "recipe"의 5번째 위치에 해당하는 캐릭터 p 다음 위치에 미리 결정된 사전에서 선택한 캐릭터 i를 추가하여 변경 워드 "recipie"를 생성할 수 있다.
도 6을 통해 설명한 노이즈 적용은 일 실시예에 따른 예시적인 사항일 뿐, 노이즈 적용은 전술한 사항으로 제한되지 않는다.
도 7 내지 도 9은 일 실시예에 따른 자연어 처리 모델을 설명하기 위한 도면이다.
도 7을 참조하면, 자연어 처리 모델은 뉴럴 네트워크(Neural Network, NN)(700) 기반 모델일 수 있다.
뉴럴 네트워크(700)는 복수의 레이어(710~730)들을 포함할 수 있다. 예를 들어, 뉴럴 네트워크(700)는 입력 레이어(710), 히든 레이어(720) 및 출력 레이어(730)를 포함할 수 있다. 구현에 따라, 뉴럴 네트워크(700)는 복수의 히든 레이어들을 포함할 수 있다.
복수의 레이어(710~730)들 각각은 하나 이상의 인공 뉴런을 포함할 수 있다. 복수의 레이어(710~730)들 각각의 하나 이상의 인공 뉴런은 인접한 레이어의 하나 이상의 인공 뉴런과 연결선을 통해 연결될 수 있다. 여기서, 연결선은 연결 가중치를 가질 수 있다.
자연어 처리 모델에 입력 데이터가 입력되면, 전방 연산이 수행되어 출력 레이어(730)에서 출력값이 생성될 수 있다. 보다 구체적으로, 입력 데이터는 입력 레이어(710) → 히든 레이어(720) → 출력 레이어(730) 방향으로 전달되면서, 연결 가중치와 곱해지거나 더해질 수 있다. 이에 따라, 출력 레이어(740)에서 출력값이 생성될 수 있다.
학습 장치는 오류 역전파 학습(backpropagation learning)을 통해 자연어 처리 모델을 학습시킬 수 있다. 오류 역전파 학습은 기준값과 출력값 사이의 오류를 계산하고, 오류를 뉴럴 네트워크(700)의 출력 레이어(730) → 히든 레이어(720) → 입력 레이어(710)의 방향으로 전파하며, 오류를 줄이는 방향으로 연결 가중치를 업데이트하는 방법이다.
일례로, 문장 벡터 [Searching][S]…[Franch][F][r][a][n][c][h]…[recipe]…[i][p][e]이 자연어 처리 모델에 입력된다고 하자. 또한, 기준 확률이 기준값으로서 자연어 처리 모델에 입력된다고 하자. 여기서, 기준 확률은 미리 알고 있는 값이다. 자연어 처리 모델은 입력된 문장 벡터를 전방 연산하여 출력값을 생성할 수 있다. 학습 장치는 출력값과 기준 확률 사이의 차이를 나타내는 오류를 계산할 수 있다. 학습 장치는 오류를 출력 레이어(730) → 히든 레이어(720) → 입력 레이어(710)의 방향으로 전파할 수 있고, 오류를 줄이는 방향으로 연결 가중치를 업데이트할 수 있다. 학습 장치는 전방 연산 및 오류 역전파 학습을 반복적으로 수행하여 자연어 처리 모델을 학습시킬 수 있다.
또한, 학습 장치는 학습 과정에서 "Franch"와 "French"가 동일한 다큐먼트(예를 들어, 온라인 뉴스 기사)에 있는지 여부 및/또는 "Franch"가 "French"로 표현된 경우가 있는지 여부 등을 결정할 수 있다. "Franch"와 "French"가 동일한 다큐먼트에 있거나 "Franch"가 "French"로 표현된 경우가 있다면, 학습 장치는 자연어 처리 모델이 "Franch"에 대한 결합 벡터로부터 "French"에 대한 결합 벡터를 예측할 수 있도록 자연어 처리 모델을 학습시킬 수 있다. 달리 표현하면, 학습 장치는 자연어 처리 모델이 "Franch"를 "French"로 인식하도록 자연어 처리 모델을 학습시킬 수 있다.
자연어 처리 모델은 재귀적 뉴럴 네트워크(Recurrent NN, RNN) 기반 모델일 수 있다. 이하, 도 8 및 도 9를 참조하면서, RNN에 대해 설명한다.
도 8을 참조하면, 재귀적 뉴럴 네트워크(RNN)(800)은 서로 다른 시간 구간에서 히든 노드들 간에 재귀적 연결이 있는 뉴럴 네트워크이다. 일반적인 뉴럴 네트워크과 달리, RNN(800)은 임의의 입력 시퀀스를 처리하는 내부 메모리를 이용할 수 있다. 이전 시간 구간(810)에서의 히든 노드들의 출력은 현재 시간 구간(820)에서의 히든 노드들에 연결될 수 있다. 현재 시간 구간(820)에서의 히든 노드의 출력은 다음 시간 구간(830)에서의 히든 노드들에 연결될 수 있다.
일례로, 이전 시간 구간(810)에서의 제1 히든 노드(811), 현재 시간 구간(820)에서의 제2 히든 노드(821), 및 다음 시간 구간(830)에서의 제3 히든 노드(831)는 서로 도 9와 같이 연결될 수 있다. 도 9를 참조하면, 제1 히든 노드(811)의 출력은 제2 히든 노드(821)로 입력되고, 제2 히든 노드(821)의 출력은 제3 히든 노드(831)로 입력될 수 있다.
학습 장치는 RNN(800)의 출력값과 기준 확률 사이의 차이를 나타내는 오류를 계산하고, BPTT(Back-Propagation Through Time)을 통해 오류를 역전파하여 자연어 처리 모델을 학습시킬 수 있다.
구현에 따라, 자연어 처리 모델은 CNN(Convolutional Neural Network) 기반 모델일 수 있다.
도 7 내지 도 9를 통해 설명한 학습 과정으로 학습된 자연어 처리 모델은 "Franch"를 "French"로 인식할 수 있다. 이에 따라, 학습된 자연어 처리 모델은 정확하게 음성 인식되지 못한 "Where is a Franch restaurant?"의 의도 정보를 "French restaurant에 대한 검색"으로 결정할 수 있다.
도 10은 일 실시시예에 따른 자연어 처리 방법을 설명하기 위한 순서도이다.
일 실시시예에 따른 자연어 처리 방법은 자연어 처리 장치에 의해 수행될 수 있다.
도 10를 참조하면, 자연어 처리 장치는 음성 인식된 문장 데이터의 워드들을 워드 벡터들로 변환한다(1010).
자연어 처리 장치는 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환하는 한다(1020).
자연어 처리 장치는 워드 벡터들과 캐릭터 벡터들을 기초로 문장 데이터에 대한 문장 벡터를 생성한다(1030).
자연어 처리 장치는 문장 벡터를 기초로 문장 데이터의 의도 정보를 결정한다(1040).
도 1 내지 도 9을 통해 기술된 사항들은 도 10을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 11은 일 실시예에 따른 학습 방법을 설명하기 위한 순서도이다.
일 실시예에 따른 학습 방법은 학습 장치에 의해 수행될 수 있다.
도 11을 참조하면, 학습 장치는 문장 데이터의 워드에 노이즈를 적용하여 변경 워드를 생성한다(1110). 여기서, 문장 데이터는 학습 데이터로서 학습 장치에 입력될 수 있다.
학습 장치는 변경 워드 및 노이즈가 적용되지 않은 다른 워드를 워드 벡터들로 변환한다(1120).
학습 장치는 변경 워드의 캐릭터들 및 노이즈가 적용되지 않은 다른 워드의 캐릭터들을 캐릭터 벡터들로 변환한다(1130).
학습 장치는 워드 벡터들과 캐릭터 벡터들을 기초로 문장 벡터를 생성한다(1140).
도 1 내지 도 10을 통해 기술된 사항들은 도 11을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 12는 일 실시예에 따른 자연어 처리 장치의 다른 일례를 설명하기 위한 도면이다.
도 12를 참조하면, 일 실시예에 따른 자연어 처리 장치(1200)는 컨트롤러(1210) 및 메모리(1220)를 포함한다.
위에서 설명한 음성 인식기 및/또는 자연어 분석기는 컨트롤러(1210)에 의해 구현될 수 있다.
예를 들어, 컨트롤러(1210)는 음성 인식된 문장 데이터의 워드들을 워드 벡터들로 변환한다. 컨트롤러(1210)는 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환한다. 컨트롤러(1210)는 워드 벡터들과 캐릭터 벡터들을 기초로 문장 데이터에 대한 문장 벡터를 생성한다. 컨트롤러(1210)는 문장 벡터를 기초로 문장 데이터의 의도 정보를 결정한다.
메모리(1220)는 컨트롤러(1210)의 동작과 관련된 적어도 하나의 명령어 및/또는 자연어 처리 모델을 저장한다.
도 1 내지 도 11를 통해 기술된 사항들은 도 12를 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
도 13은 일 실시예에 따른 학습 장치를 설명하기 위한 도면이다.
도 13을 참조하면, 일 실시예에 따른 학습 장치(1300)는 컨트롤러(1310) 및 메모리(1320)를 포함한다.
도 5 및 도 6을 통해 설명한, 노이즈 적용부, 워드 임베딩부, 캐릭터 임베딩부, 및/또는 결합부는 컨트롤러(1310)에 의해 구현될 수 있다.
예를 들어, 컨트롤러(1310)는 문장 데이터 내의 워드에 노이즈를 적용하여 변경 워드를 생성한다. 컨트롤러(1310)는 변경 워드 및 노이즈가 적용되지 않은 다른 워드를 워드 벡터들로 변환한다. 컨트롤러(1310)는 변경 워드의 캐릭터들 및 노이즈가 적용되지 않은 다른 워드의 캐릭터들을 캐릭터 벡터들로 변환한다. 컨트롤러(1110)는 워드 벡터들과 상기 캐릭터 벡터들을 기초로 문장 벡터를 생성한다.
메모리(1320)는 컨트롤러(1310)의 동작과 관련된 적어도 하나의 명령어를 저장할 수 있다.
도 1 내지 도 12를 통해 기술된 사항들은 도 13을 통해 기술된 사항들에 적용될 수 있으므로, 상세한 설명을 생략한다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 음성 인식된 문장 데이터의 워드들을 워드 벡터들로 변환하는 단계;
    상기 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환하는 단계;
    상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 상기 문장 데이터에 대한 문장 벡터를 생성하는 단계; 및
    상기 문장 벡터를 기초로 상기 문장 데이터의 의도(intent) 정보를 결정하는 단계
    를 포함하는,
    자연어 처리 방법.
  2. 제1항에 있어서,
    상기 문장 벡터를 생성하는 단계는,
    상기 워드들 각각에 대한 워드 벡터와 상기 워드들에 포함된 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 상기 워드들 각각에 대한 결합 벡터를 생성하는 단계; 및
    상기 워드들 각각에 대한 결합 벡터를 연결하여 상기 문장 벡터를 생성하는 단계
    를 포함하는,
    자연어 처리 방법.
  3. 제1항에 있어서,
    상기 워드들을 워드 벡터들로 변환하는 단계는,
    상기 워드들에 언레이블된(unlabeled) 워드가 있는 경우, 상기 언레이블된 워드에 해당하는 워드를 언노운(unknown)에 대응하는 벡터로 변환하는 단계
    를 포함하는,
    자연어 처리 방법.
  4. 제1항에 있어서,
    상기 의도 정보를 결정하는 단계는,
    상기 문장 벡터로부터 결정된 복수의 후보 의도 정보 각각에 대한 확률을 계산하는 단계; 및
    상기 복수의 후보 의도 정보 각각의 확률을 기초로 상기 복수의 후보 의도 정보 중에서 상기 의도 정보를 결정하는 단계
    를 포함하는,
    자연어 처리 방법.
  5. 제1항에 있어서,
    상기 의도 정보를 결정하는 단계는,
    상기 문장 데이터 내의 오류 워드에 대한 결합 벡터를 기초로, 상기 오류 워드에 대응하는 대상 워드를 결정하는 단계; 및
    상기 오류 워드를 상기 대상 워드로 인식하는 단계
    를 포함하고,
    상기 오류 워드에 대한 결합 벡터는,
    상기 오류 워드에 대한 워드 벡터와 상기 오류 워드의 캐릭터들 각각에 대한 캐릭터 벡터가 연결되어 생성되는,
    자연어 처리 방법.
  6. 제5항에 있어서,
    상기 오류 워드에 대한 워드 벡터는,
    상기 오류 워드가 언레이블된 워드인 경우, 언노운에 대응하는 벡터인,
    자연어 처리 방법.
  7. 제1항에 있어서,
    상기 의도 정보는,
    상기 문장 벡터를 입력 받은 자연어 처리 모델에 의해 생성되는,
    자연어 처리 방법.
  8. 제7항에 있어서,
    상기 자연어 처리 모델은,
    제1 워드에 노이즈가 적용되어 생성된 제2 워드를 포함하는 학습 데이터를 입력 받은 경우, 상기 제2 워드를 상기 제1 워드로 인식하도록 학습되는,
    자연어 처리 방법.
  9. 제8항에 있어서,
    상기 제2 워드는,
    상기 제1 워드의 캐릭터들 중 일부가 다른 캐릭터로 변경되거나 상기 제1 워드에 상기 다른 캐릭터를 추가되어 생성되는,
    자연어 처리 방법.
  10. 제1항에 있어서,
    음성 신호를 수신하는 단계;
    상기 음성 신호로부터 특징들을 추출하는 단계;
    음향 모델을 통해 상기 특징들로부터 음소 시퀀스를 인식하는 단계; 및
    언어 모델을 통해 상기 음소 시퀀스로부터 워드들을 인식하여, 상기 문장 데이터를 생성하는 단계
    를 더 포함하는,
    자연어 처리 방법.
  11. 문장 데이터의 워드에 노이즈를 적용하여 변경 워드를 생성하는 단계;
    상기 변경 워드 및 상기 노이즈가 적용되지 않은 다른 워드를 워드 벡터들로 변환하는 단계;
    상기 변경 워드의 캐릭터들 및 상기 다른 워드의 캐릭터들을 캐릭터 벡터들로 변환하는 단계; 및
    상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 문장 벡터를 생성하는 단계
    를 포함하는,
    학습 방법.
  12. 제11항에 있어서,
    상기 문장 벡터를 생성하는 단계는,
    상기 변경 워드에 대한 워드 벡터와 상기 변경 워드의 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 상기 변경 워드에 대한 결합 벡터를 생성하는 단계;
    상기 다른 워드에 대한 워드 벡터와 상기 다른 워드의 캐릭터들 각각에 대한 캐릭터 벡터를 연결하여 상기 다른 워드에 대한 결합 벡터를 생성하는 단계; 및
    상기 변경 워드에 대한 결합 벡터와 상기 다른 워드에 대한 결합 벡터를 연결하여 상기 문장 벡터를 생성하는 단계
    를 포함하는,
    학습 방법.
  13. 제11항에 있어서,
    상기 변경 워드는,
    상기 워드의 캐릭터를 다른 캐릭터로 변경하거나 상기 캐릭터에 상기 다른 캐릭터를 추가하여 생성되는,
    학습 방법.
  14. 제11항에 있어서,
    상기 변경 워드를 생성하는 단계는,
    미리 정해진 기준에 따라, 상기 워드의 캐릭터들 중 변경할 캐릭터를 결정하는 단계;
    미리 결정된 사전(dictionary)에서 다른 캐릭터를 선택하는 단계; 및
    상기 결정된 캐릭터를 상기 다른 캐릭터로 대체하는 단계
    를 포함하는,
    학습 방법.
  15. 제14항에 있어서,
    상기 미리 정해진 기준은
    상기 워드의 길이, 캐릭터 변경 개수, 및 변경 위치를 기초로 정해진 기준인,
    학습 방법.
  16. 제11항에 있어서,
    상기 변경 워드에 대한 워드 벡터는,
    상기 변경 워드가 언레이블된 워드인 경우, 언노운에 대응하는 벡터인,
    학습 방법.
  17. 제11항에 있어서,
    상기 문장 데이터 내의 워드들 중 상기 워드를 랜덤하게 선택하는 단계
    를 더 포함하는,
    학습 방법.
  18. 제11항에 있어서,
    상기 문장 벡터를 기초로 뉴럴 네트워크 기반의 자연어 처리 모델을 학습시키는 단계
    를 더 포함하는,
    학습 방법.
  19. 컨트롤러; 및
    상기 컨트롤러에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
    를 포함하고,
    상기 적어도 하나의 명령어가 상기 컨트롤러에서 실행되면, 상기 컨트롤러는 음성 인식된 문장 데이터의 워드들을 워드 벡터들로 변환하고, 상기 문장 데이터의 캐릭터들을 캐릭터 벡터들로 변환하며, 상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 상기 문장 데이터에 대한 문장 벡터를 생성하고, 상기 문장 벡터를 기초로 상기 문장 데이터의 의도 정보를 결정하는,
    자연어 처리 장치.
  20. 컨트롤러; 및
    상기 컨트롤러에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
    를 포함하고,
    상기 적어도 하나의 명령어가 상기 컨트롤러에서 실행되면, 상기 컨트롤러는 문장 데이터의 워드에 노이즈를 적용하여 변경 워드를 생성하고, 상기 변경 워드 및 상기 노이즈가 적용되지 않은 다른 워드를 워드 벡터들로 변환하며, 상기 변경 워드의 캐릭터들 및 상기 다른 워드의 캐릭터들을 캐릭터 벡터들로 변환하고, 상기 워드 벡터들과 상기 캐릭터 벡터들을 기초로 문장 벡터를 생성하는,
    학습 장치.
KR1020160152712A 2016-11-16 2016-11-16 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치 KR20180055189A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020160152712A KR20180055189A (ko) 2016-11-16 2016-11-16 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치
US15/598,966 US10540964B2 (en) 2016-11-16 2017-05-18 Method and apparatus for processing natural language, method and apparatus for training natural language processing model
EP17182953.4A EP3324405A1 (en) 2016-11-16 2017-07-25 Method and apparatus for processing natural language, method and apparatus for training natural language processing model
CN201710626027.5A CN108073574A (zh) 2016-11-16 2017-07-27 用于处理自然语言以及训练自然语言模型的方法和设备
JP2017179163A JP2018081298A (ja) 2016-11-16 2017-09-19 自然語処理方法及び装置と自然語処理モデルを学習する方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160152712A KR20180055189A (ko) 2016-11-16 2016-11-16 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20180055189A true KR20180055189A (ko) 2018-05-25

Family

ID=59631551

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160152712A KR20180055189A (ko) 2016-11-16 2016-11-16 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치

Country Status (5)

Country Link
US (1) US10540964B2 (ko)
EP (1) EP3324405A1 (ko)
JP (1) JP2018081298A (ko)
KR (1) KR20180055189A (ko)
CN (1) CN108073574A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020055156A1 (en) * 2018-09-12 2020-03-19 Samsung Electronics Co., Ltd. System and method for a scene builder
KR20200044208A (ko) * 2018-10-11 2020-04-29 주식회사 엔씨소프트 음절 기반의 벡터를 이용한 한글 오류 보정 방법 및 한글 오류 보정 시스템
KR20200096187A (ko) * 2020-07-27 2020-08-11 주식회사 엔씨소프트 음절 기반의 벡터를 이용한 한글 오류 보정 방법 및 한글 오류 보정 시스템
KR20210094445A (ko) * 2020-01-19 2021-07-29 베이징 시아오미 파인콘 일렉트로닉스 컴퍼니 리미티드 정보 처리 방법, 장치 및 저장 매체
KR20210142891A (ko) 2020-05-19 2021-11-26 삼성에스디에스 주식회사 자연어 처리 모델을 맞춤화하기 위한 방법 및 장치
US11508369B2 (en) 2019-10-10 2022-11-22 Samsung Electronics Co., Ltd. Method and apparatus with speech processing
KR102552297B1 (ko) * 2023-03-29 2023-07-06 (주)유알피 딥러닝 기반 대화모델을 적용한 사용자 맞춤형 순화문장 생성방법 및 그 장치
KR102606415B1 (ko) * 2023-03-27 2023-11-29 (주)유알피 딥러닝 기반 음성인식을 이용한 문맥 의도 인식 장치 및 방법

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395641B2 (en) * 2017-02-08 2019-08-27 International Business Machines Corporation Modifying a language conversation model
US10515625B1 (en) 2017-08-31 2019-12-24 Amazon Technologies, Inc. Multi-modal natural language processing
US10572585B2 (en) * 2017-11-30 2020-02-25 International Business Machines Coporation Context-based linguistic analytics in dialogues
US11030414B2 (en) * 2017-12-26 2021-06-08 The Allen Institute For Artificial Intelligence System and methods for performing NLP related tasks using contextualized word representations
CN108549637A (zh) * 2018-04-19 2018-09-18 京东方科技集团股份有限公司 基于拼音的语义识别方法、装置以及人机对话系统
CN109033156B (zh) * 2018-06-13 2021-06-15 腾讯科技(深圳)有限公司 一种信息处理方法、装置及终端
CN110619050B (zh) * 2018-06-20 2023-05-09 华为技术有限公司 意图识别方法及设备
US10831997B2 (en) * 2018-08-09 2020-11-10 CloudMinds Technology, Inc. Intent classification method and system
CN109241259B (zh) * 2018-08-24 2021-01-05 国网江苏省电力有限公司苏州供电分公司 基于er模型的自然语言查询方法、装置及系统
CN110929508B (zh) * 2018-09-20 2023-05-02 阿里巴巴集团控股有限公司 词向量的生成方法、装置和系统
EP3637428A1 (en) * 2018-10-12 2020-04-15 Siemens Healthcare GmbH Natural language sentence generation for radiology reports
US10978046B2 (en) * 2018-10-15 2021-04-13 Midea Group Co., Ltd. System and method for customizing portable natural language processing interface for appliances
US11341207B2 (en) 2018-12-10 2022-05-24 Ebay Inc. Generating app or web pages via extracting interest from images
US10777191B2 (en) * 2018-12-30 2020-09-15 International Business Machines Corporation Visually exploring and prioritizing discordant conversations with conversational bots
US10977445B2 (en) * 2019-02-01 2021-04-13 International Business Machines Corporation Weighting features for an intent classification system
US10937416B2 (en) * 2019-02-01 2021-03-02 International Business Machines Corporation Cross-domain multi-task learning for text classification
CN109960804B (zh) * 2019-03-21 2023-05-02 江西风向标教育科技有限公司 一种题目文本句子向量生成方法及装置
CN110287285B (zh) * 2019-05-31 2023-06-16 平安科技(深圳)有限公司 一种问题意图识别方法、装置、计算机设备及存储介质
FR3098000B1 (fr) * 2019-06-27 2022-05-13 Ea4T Procédé et dispositif d’obtention d’une réponse à partir d’une question orale posée à une interface homme-machine.
EP4026120A4 (en) * 2019-09-04 2023-10-18 Brain Technologies, Inc. REAL-TIME MORPHING INTERFACE FOR DISPLAY ON A COMPUTER SCREEN
JP7216627B2 (ja) * 2019-09-06 2023-02-01 東京海上日動火災保険株式会社 入力支援方法、入力支援システム、及びプログラム
CN110633470A (zh) * 2019-09-17 2019-12-31 北京小米智能科技有限公司 命名实体识别方法、装置及存储介质
US11217227B1 (en) 2019-11-08 2022-01-04 Suki AI, Inc. Systems and methods for generating disambiguated terms in automatically generated transcriptions including instructions within a particular knowledge domain
US11538465B1 (en) 2019-11-08 2022-12-27 Suki AI, Inc. Systems and methods to facilitate intent determination of a command by grouping terms based on context
CN112906370B (zh) * 2019-12-04 2022-12-20 马上消费金融股份有限公司 意图识别模型训练方法、意图识别方法及相关装置
CN111160568B (zh) 2019-12-27 2021-04-06 北京百度网讯科技有限公司 机器阅读理解模型训练方法、装置、电子设备和存储介质
US11227122B1 (en) 2019-12-31 2022-01-18 Facebook, Inc. Methods, mediums, and systems for representing a model in a memory of device
CN111241832B (zh) * 2020-01-15 2023-08-15 北京百度网讯科技有限公司 核心实体标注方法、装置及电子设备
CN111081219A (zh) * 2020-01-19 2020-04-28 南京硅基智能科技有限公司 一种端到端的语音意图识别方法
US11626106B1 (en) * 2020-02-25 2023-04-11 Amazon Technologies, Inc. Error attribution in natural language processing systems
CN111666469B (zh) * 2020-05-13 2023-06-16 广州国音智能科技有限公司 语句库构建方法、装置、设备和存储介质
CN111539223B (zh) * 2020-05-29 2023-08-18 北京百度网讯科技有限公司 语言模型的训练方法、装置、电子设备及可读存储介质
CN111951805A (zh) * 2020-07-10 2020-11-17 华为技术有限公司 一种文本数据处理方法及装置
CN111783434B (zh) * 2020-07-10 2023-06-23 思必驰科技股份有限公司 提升回复生成模型抗噪能力的方法及系统
CN111914551B (zh) * 2020-07-29 2022-05-20 北京字节跳动网络技术有限公司 自然语言处理方法、装置、电子设备及存储介质
CN112017643B (zh) * 2020-08-24 2023-10-31 广州市百果园信息技术有限公司 语音识别模型训练方法、语音识别方法及相关装置
US11862157B2 (en) * 2021-02-24 2024-01-02 Conversenow Ai Automated ordering system
CN112926306B (zh) * 2021-03-08 2024-01-23 北京百度网讯科技有限公司 文本纠错方法、装置、设备以及存储介质
CN113342932B (zh) * 2021-05-31 2024-04-19 北京明略软件系统有限公司 目标词向量的确定方法、装置、存储介质和电子装置
CN113254616B (zh) * 2021-06-07 2021-10-19 佰聆数据股份有限公司 面向智能问答系统的句向量生成方法及系统
CN113407814B (zh) * 2021-06-29 2023-06-16 抖音视界有限公司 文本搜索方法、装置、可读介质及电子设备
WO2023073887A1 (ja) * 2021-10-28 2023-05-04 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法、及び記録媒体

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
AU2001259446A1 (en) 2000-05-02 2001-11-12 Dragon Systems, Inc. Error correction in speech recognition
JP2003295882A (ja) 2002-04-02 2003-10-15 Canon Inc 音声合成用テキスト構造、音声合成方法、音声合成装置及びそのコンピュータ・プログラム
TWI421856B (zh) 2007-03-19 2014-01-01 Dolby Lab Licensing Corp 使用感知模型之語音增強技術
US8504374B2 (en) 2009-02-02 2013-08-06 Jerry Lee Potter Method for recognizing and interpreting patterns in noisy data sequences
US8223986B2 (en) 2009-11-19 2012-07-17 Apple Inc. Electronic device and external equipment with digital noise cancellation and digital audio path
US20120246133A1 (en) 2011-03-23 2012-09-27 Microsoft Corporation Online spelling correction/phrase completion system
US8892488B2 (en) 2011-06-01 2014-11-18 Nec Laboratories America, Inc. Document classification with weighted supervised n-gram embedding
US8929954B2 (en) 2012-04-25 2015-01-06 Kopin Corporation Headset computer (HSC) as auxiliary display with ASR and HT input
KR102332729B1 (ko) 2014-07-28 2021-11-30 삼성전자주식회사 발음 유사도를 기반으로 한 음성 인식 방법 및 장치, 음성 인식 엔진 생성 방법 및 장치
JP6467893B2 (ja) 2014-12-03 2019-02-13 日本電気株式会社 情報処理システム、情報処理方法、及び、プログラム
KR102167719B1 (ko) 2014-12-08 2020-10-19 삼성전자주식회사 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020055156A1 (en) * 2018-09-12 2020-03-19 Samsung Electronics Co., Ltd. System and method for a scene builder
US11481558B2 (en) 2018-09-12 2022-10-25 Samsung Electroncis Co., Ltd. System and method for a scene builder
KR20200044208A (ko) * 2018-10-11 2020-04-29 주식회사 엔씨소프트 음절 기반의 벡터를 이용한 한글 오류 보정 방법 및 한글 오류 보정 시스템
US11508369B2 (en) 2019-10-10 2022-11-22 Samsung Electronics Co., Ltd. Method and apparatus with speech processing
US11830493B2 (en) 2019-10-10 2023-11-28 Samsung Electronics Co., Ltd. Method and apparatus with speech processing
KR20210094445A (ko) * 2020-01-19 2021-07-29 베이징 시아오미 파인콘 일렉트로닉스 컴퍼니 리미티드 정보 처리 방법, 장치 및 저장 매체
US11475219B2 (en) 2020-01-19 2022-10-18 Beijing Xiaomi Pinecone Electronics Co., Ltd. Method for processing information, and storage medium
KR20210142891A (ko) 2020-05-19 2021-11-26 삼성에스디에스 주식회사 자연어 처리 모델을 맞춤화하기 위한 방법 및 장치
US11544476B2 (en) 2020-05-19 2023-01-03 Samsung Sds Co., Ltd. Method and apparatus for customizing natural language processing model
KR20200096187A (ko) * 2020-07-27 2020-08-11 주식회사 엔씨소프트 음절 기반의 벡터를 이용한 한글 오류 보정 방법 및 한글 오류 보정 시스템
KR102606415B1 (ko) * 2023-03-27 2023-11-29 (주)유알피 딥러닝 기반 음성인식을 이용한 문맥 의도 인식 장치 및 방법
KR102552297B1 (ko) * 2023-03-29 2023-07-06 (주)유알피 딥러닝 기반 대화모델을 적용한 사용자 맞춤형 순화문장 생성방법 및 그 장치

Also Published As

Publication number Publication date
CN108073574A (zh) 2018-05-25
JP2018081298A (ja) 2018-05-24
US20180137855A1 (en) 2018-05-17
US10540964B2 (en) 2020-01-21
EP3324405A1 (en) 2018-05-23

Similar Documents

Publication Publication Date Title
KR20180055189A (ko) 자연어 처리 방법 및 장치와 자연어 처리 모델을 학습하는 방법 및 장치
KR102167719B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
JP2021033255A (ja) 音声認識方法、装置、機器及びコンピュータ可読記憶媒体
CN113439301A (zh) 使用序列到序列映射在模拟数据与语音识别输出之间进行协调
CN113168828A (zh) 基于合成数据训练的会话代理管线
JP7051919B2 (ja) ストリーミングアテンションモデルに基づく音声認識復号化方法、装置、機器及びコンピュータ可読記憶媒体
EP2685452A1 (en) Method of recognizing speech and electronic device thereof
US9984689B1 (en) Apparatus and method for correcting pronunciation by contextual recognition
JP2019159654A (ja) 時系列情報の学習システム、方法およびニューラルネットワークモデル
JP7351018B2 (ja) エンド・ツー・エンド音声認識における固有名詞認識
Abdelhamid et al. End-to-end arabic speech recognition: A review
CN113591462A (zh) 弹幕回复生成方法、装置及电子设备
Cabrera et al. Language model fusion for streaming end to end speech recognition
Weng et al. Discriminative training using non-uniform criteria for keyword spotting on spontaneous speech
Wang et al. Sequence teacher-student training of acoustic models for automatic free speaking language assessment
KR101424496B1 (ko) 음향 모델 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체
KR101483947B1 (ko) 핵심어에서의 음소 오류 결과를 고려한 음향 모델 변별 학습을 위한 장치 및 이를 위한 방법이 기록된 컴퓨터 판독 가능한 기록매체
KR20230158107A (ko) 효율적인 스트리밍 비-순환 온-디바이스 엔드-투-엔드 모델
Serai et al. Improving speech recognition error prediction for modern and off-the-shelf speech recognizers
KR102292921B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
JP6235922B2 (ja) 重み付き有限状態オートマトン作成装置、記号列変換装置、音声認識装置、それらの方法、及びプログラム
Kilgour et al. The 2013 KIT IWSLT Speech-to-Text Systems for German and English
Meng et al. A review of speech recognition in low-resource languages
KR102300303B1 (ko) 발음 변이를 적용시킨 음성 인식 방법
Djeffal et al. Automatic Speech Recognition with BERT and CTC Transformers: A Review

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application