KR20200140171A - 전자 장치 및 이의 제어 방법 - Google Patents

전자 장치 및 이의 제어 방법 Download PDF

Info

Publication number
KR20200140171A
KR20200140171A KR1020190124049A KR20190124049A KR20200140171A KR 20200140171 A KR20200140171 A KR 20200140171A KR 1020190124049 A KR1020190124049 A KR 1020190124049A KR 20190124049 A KR20190124049 A KR 20190124049A KR 20200140171 A KR20200140171 A KR 20200140171A
Authority
KR
South Korea
Prior art keywords
sentence
electronic device
language
machine translation
model
Prior art date
Application number
KR1020190124049A
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 US16/838,447 priority Critical patent/US11501089B2/en
Priority to EP20819389.6A priority patent/EP3908961A4/en
Priority to PCT/KR2020/004973 priority patent/WO2020246702A1/en
Publication of KR20200140171A publication Critical patent/KR20200140171A/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
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • 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
    • 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/005Language recognition
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Machine Translation (AREA)

Abstract

전자 장치 및 이의 제어 방법이 제공된다. 전자 장치는 적어도 하나의 인스트럭션을 저장한 메모리 및 메모리에 저장된 적어도 하나의 인스트럭션을 실행하여 전자 장치를 제어하는 프로세서를 포함하고, 프로세서는, 사용자 음성이 입력되면, 사용자 음성의 언어에 대응되는 음성 인식 모델을 통해 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득하고, 복수의 종류의 언어를 기정의된 제2 언어로 번역하도록 학습된 기계 번역 모델을 통해 제1 언어의 제1 문장에 대응되는 제2 언어의 제2 문장을 획득하며, 제2 언어를 바탕으로 학습된 자연어 이해 모델을 통해 획득된 제2 문장에 대응되는 전자 장치의 제어 명령 또는 제2 문장에 대한 응답을 획득한다. 특히, 전자 장치가 사용자 음성에 대한 제어 명령 또는 응답을 획득하는 방법의 적어도 일부는 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.

Description

전자 장치 및 이의 제어 방법{Electronic device and Method for controlling the electronic device thereof}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 다국어 기계 번역을 이용하여 사용자 음성에 대한 자연어 이해를 수행할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다.
근래에는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 특히, 인공 지능 시스템은 전자 장치가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
특히, 근래에는 인공지능 시스템을 이용하여 사용자 음성에 대한 응답을 제공하거나 사용자 음성을 바탕으로 전자 장치를 제어할 수 있는 인공지능 비서 시스템(또는 대화 시스템)이 개발되고 있다.
이러한 인공지능 비서 시스템에서 자연어 이해를 위해 사용되는 언어 모델은 지원하는 언어의 개수만큼 필요하거나 지원하는 언어의 수만큼의 많은 양의 데이터를 이용한 훈련이 필요할 수 있다. 예를 들어, 2개 국어를 지원하는 경우, 자연어 이해를 위해 2개의 언어 모델이 필요하거나 2개의 언어에 대한 데이터가 필요하다. 이때, 자연어 이해를 위해 사용되는 언어 모델을 생성하기 위해서는 지원하는 언어의 수만큼 많은 양의 학습 데이터가 필요하며, 많은 양의 학습 데이터를 이용하여 학습을 수행하기 위한 CPU 및 메모리가 필요하기 때문에 많은 리소스가 필요하다. 또한, 시간이 지남에 따라 새로운 단어 또는 도메인이 추가되거나 기존의 언어가 새로운 뜻으로 해석될 수 있기 때문에 자연어 이해를 위해 사용되는 언어 모델은 추가 업데이트가 필요할 수 있다. 즉, 자연어 이해를 위한 언어 모델의 수나 크기가 늘어날수록 업데이트에 필요한 리소스가 많아지고 지원 언어 수만큼 시간 및 비용이 증가하는 문제점이 발생하게 된다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 다국어 번역 모델을 이용하여 사용자 음성에 대응되는 문장을 특정 언어의 문장으로 번역하고 특정 언어에 대한 자연어 이해 모델을 통해 사용자 음성에 대한 서비스를 제공할 수 있는 전자 장치 및 이의 제어 방법에 관한 것이다.
본 개시의 일 실시예에 따른, 전자 장치는, 적어도 하나의 인스트럭션을 저장한 메모리; 및 상기 메모리에 저장된 적어도 하나의 인스트럭션을 실행하여 상기 전자 장치를 제어하는 프로세서;를 포함하고, 상기 프로세서는, 사용자 음성이 입력되면, 상기 사용자 음성의 언어에 대응되는 음성 인식(speech recognition) 모델을 통해 상기 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득하고, 복수의 종류의 언어를 기정의된 제2 언어로 번역하도록 학습된 기계 번역 모델을 통해 상기 제1 언어의 상기 제1 문장에 대응되는 상기 제2 언어의 제2 문장을 획득하고, 상기 제2 언어를 바탕으로 학습된 자연어 이해 모델을 통해, 상기 획득된 제2 문장에 대응되는 상기 전자 장치의 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득 할 수 있다.
한편, 본 개시의 다른 실시예에 따른, 전자 장치의 제어 방법은, 사용자 음성이 입력되면, 상기 사용자 음성의 언어에 대응되는 음성 인식(speech recognition) 모델을 통해 상기 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득하는 단계; 복수의 종류의 언어를 기정의된 제2 언어로 번역하도록 학습된 기계 번역 모델을 통해 상기 제1 언어의 상기 제1 문장에 대응되는 상기 제2 언어의 제2 문장을 획득하는 단계; 및 상기 제2 언어를 바탕으로 학습된 자연어 이해 모델을 통해, 상기 획득된 제2 문장에 대응되는 상기 전자 장치의 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 단계;를 포함한다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치가 다국어 기계 번역을 통해 사용자 음성에 대응되는 제어 명령을 획득하거나 응답을 획득하는 방법을 설명하기 위한 도면,
도 2는 본 개시의 일 실시예에 따른, 음성 인식 모듈의 구성을 나타내는 블록도,
도 3a는 본 개시의 일 실시예에 따른, 기계 번역 모델을 학습시키는 방법을 설명하기 위한 도면,
도 3b는 본 개시의 일 실시예에 따른, 기계 번역 모듈의 구성을 나타내는 블록도,
도 4는 본 개시의 일 실시예에 따른, 자연어 이해 모듈의 구성을 나타내는 블록도,
도 5는 본 개시의 일 실시예에 따른, 다국어 기계 번역을 통해 사용자 음성에 대한 제어 명령을 획득하는 전자 장치의 제어 방법을 설명하기 위한 흐름도,
도 6은 본 개시의 다른 실시예에 따른, 전자 장치가 다국어 기계 번역을 통해 사용자 음성에 대응되는 제어 명령을 획득하거나 응답을 획득하는 방법을 설명하기 위한 도면,
도 7a는 본 개시의 일 실시예에 따른, 외부 서버와 연동하여 사용자 음성에 대한 자연어 이해를 수행하는 실시예를 설명하기 위한 도면,
도 7b는 본 개시의 일 실시예에 따른, 기계 번역에 대한 신뢰도값을 바탕으로 서버를 통해 기계 번역을 수행하는 실시예를 도시한 시퀀스도,
도 7c는 본 개시의 다른 실시예에 따른, 기계 번역에 대한 신뢰도값을 바탕으로 서버를 통해 기계 번역 및 자연어 이해를 수행하는 실시예를 도시한 시퀀스도,
도 8a는 본 개시의 일 실시예에 따른, 복수의 후보 문장에 대한 자연어 이해를 수행하는 방법을 설명하기 위한 도면,
도 8b는 본 개시의 일 실시예에 따른, 복수의 후보 문장에 대한 자연어 이해를 수행하는 방법을 설명하기 위한 흐름도,
도 8c는 본 개시의 일 실시예에 따른, 외부 서버와 연동하여 복수의 후보 문장에 대한 자연어 이해를 수행하는 방법을 설명하기 위한 시퀀스도,
도 9는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 나타내는 블록도,
도 10은 본 개시의 일 실시예에 따른, 사용자 음성에 대한 응답을 제공하거나 제어 명령을 획득하는 대화 시스템의 구성을 나타내는 블록도,
도 11은 본 개시의 다른 실시예에 따른, 외부 서버와 연동하여 사용자 음성에 대한 제어 명령을 획득하는 실시예를 설명하기 위한 시퀀스도이다.
이하에서는 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치(100)가 다국어 기계 번역을 통해 사용자 음성에 대응되는 제어 명령을 획득하거나 응답을 획득하는 방법을 설명하기 위한 도면이다. 한편, 본 개시의 일 실시예에 따른, 전자 장치(100)는 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 가전 제품(예로, TV, 냉장고 등) 또는 웨어러블 장치 중 하나로 구현될 수 있다.
특히, 전자 장치(100)는 사용자 음성에 대한 음성 인식 및 자연어 이해를 수행하여 사용자 음성에 대한 응답을 제공하거나 전자 장치(100)를 제어하기 위한 대화 시스템을 포함할 수 있다. 이때, 대화 시스템은 도 1에 도시된 바와 같이, 음성 인식 모듈(220), 음성 인식 모델(225), 기계 번역 모듈(230), 다국어 기계 번역 모델(235), 자연어 이해 모듈(240) 및 자연어 이해 모델(245)을 포함할 수 있다.
웨이크-업 워드(또는 트리거 워드)가 포함된 사용자 음성에 의해 대화 시스템이 실행되면, 메모리(110)(예로, 비휘발성 메모리)에 저장된 음성 인식 모듈(220), 기계 번역 모듈(230), 자연어 이해 모듈(240)은 프로세서(120)에 포함된 메모리(예로, 휘발성 메모리)에 로딩될 수 있다. 이때, 음성 인식 모듈(220), 기계 번역 모듈(230), 자연어 이해 모듈(240)은 동시에 로딩될 수 있으나, 이는 일 실시예에 불과할 뿐, 순차적으로 로딩될 수 있다.
그리고, 음성 인식 모듈(220), 기계 번역 모듈(230), 자연어 이해 모듈(240) 각각은 메모리(110)(예로, 비휘발성 메모리)에 저장된 음성 인식 모델(225), 다국어 기계 번역 모델(235) 및 자연어 이해 모델(245)을 프로세서(120)에 포함된 메모리(예로, 휘발성 메모리)에 로딩할 수 있다. 이때, 음성 인식 모델(225), 다국어 기계 번역 모델(235) 및 자연어 이해 모델(245)은 음성 인식 모듈(220), 기계 번역 모듈(230), 자연어 이해 모듈(240)에 의해 순차적으로 로딩될 수 있으나, 이는 일 실시예에 불과할 뿐, 웨이크-업 워드에 의해 동시에 휘발성 메모리에 로딩될 수 있다.
마이크(140)는 사용자 음성을 입력받을 수 있다. 이때, 전자 장치(100)에 입력되는 사용자 음성은 제1 언어(예를 들어, 한국어)일 수 있다. 마이크(140)를 통해 입력되는 사용자 음성은 음성 데이터 형식으로서, 아날로그 형태의 오디오 신호일 수 있다. 한편, 마이크(140)에 입력되는 사용자 음성은 제1 언어(예를 들어, 한국어)일 수 있다. 마이크(140)는 입력된 사용자 음성을 디지털 형태로 처리하여 프로세서(120)내의 음성 인식 모듈(220)로 출력할 수 있다. 한편, 전자 장치(100)는 전자 장치(100) 내에 구비되거나 전자 장치(100)와 유선 또는 무선으로 연결된 마이크(140)를 통해 사용자 음성을 입력받을 수 있으나, 이는 일 실시예에 불과할 뿐, 외부 장치로부터 사용자 음성을 수신할 수 있다.
음성 인식 모듈(220)은 음성 인식 모델(225)을 이용하여 입력된 사용자 음성에 대한 음성 인식을 수행하여 음성 데이터 형태의 사용자 음성에 대응되는 텍스트 데이터 형태의 제1 언어의 제1 문장을 획득할 수 있다.
구체적으로, 음성 인식 모듈(220)은 디지털 형태의 사용자 음성에서 노이즈를 제거하고, 사용자 음성 구간을 추출하여 추출된 사용자 음성 구간에 대한 정보를 음성 인식 모델(225)에 입력할 수 있다. 음성 인식 모델(225)은 사용자 음성에 대응되는 텍스트 데이터 형태의 제1 언어의 제1 문장을 획득할 수 있다. 이때, 음성 인식 모델(225)은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 특히, 본 개시의 일 실시예에 따르면, 다국어를 인식하기 위하여 복수의 언어에 대응되는 복수의 음성 인식 모델(225-1 ~ 225-N)가 메모리(110)에 저장될 수 있으며, 각각의 음성 인식 모델에는 언어 모델 및 복수의 음향 모델이 구비될 수 있다. 특히, 음성 인식 모듈(220)는 복수의 언어 중 사용자 음성의 언어를 판단하고, 사용자 음성의 언어에 대응되는 언어 모델 및 음향 모델에 사용자 음성을 입력하여 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득할 수 있다. 제1 문장은 적어도 하나의 텍스트를 포함할 수 있으며, 의미를 가지는 단어, 구, 절 형태를 모두 포함할 수 있다. 한편, 음성 인식 모듈(220)이 사용자 음성의 언어를 판단하는 특징에 대해서는 도 2를 참조하여 상세히 설명하기로 한다.
음성 인식 모듈(220)은 음성 인식 모델(225)을 통해 획득된 제1 언어의 제1 문장을 기계 번역 모듈(230)로 출력할 수 있다. 그리고, 기계 번역 모듈(230)은 사용자 음성을 제2 언어(예로, 영어)로 번역하기 위하여 다국어 기계 번역 모델(235)로 제1 언어의 제1 문장을 출력할 수 있다.
다국어 기계 번역 모델(235)은 제1 언어의 제1 문장에 대한 다국어 기계 번역(20)을 수행하여 제2 언어의 제2 문장을 획득할 수 있다. 이때, 다국어 기계 번역 모델(235)은 복수의 언어를 기 정의된 하나의 언어(여기서, 제2 언어)로 번역하는 다국어 신경망 번역 모델일 수 있다. 다국어 신경망 번역 모델은 멀티 태스크 러닝(multi-task learning) 방식으로 학습된 신경망 번역 모델일 수 있다. 이에 대해서는 추후 도 3a를 참조하여 상세히 설명하기로 한다.
즉, 다국어 기계 번역 모델(235)은 임의의 언어의 문장을 기정의된 제2 언어로 번역하여 제2 언어의 제2 문장을 획득할 수 있다. 한편, 다국어 기계 번역 모델(235)은 제2 언어만을 포함하는 문장을 획득할 수 있으나, 이는 일 실시예에 불과할 뿐, 제2 언어와 다른 언어를 포함하는 문장을 획득할 수 있다.
또한, 다국어 기계 번역 모델(235)은 제2 언어의 적어도 하나의 후보 문장 및 적어도 하나의 후보 문장 각각에 대한 신뢰도 값을 획득하여 기계 번역 모듈(230)로 출력할 수 있다. 이때, 후보 문장에 대한 신뢰도 값은 후보 문장의 번역 정확도를 나타내는 값일 수 있다. 그리고, 기계 번역 모듈(230)은 복수의 후보 문장 중 신뢰도 값이 가장 높은 후보 문장을 제2 문장으로 출력할 수 있다.
또한, 다국어 기계 번역 모델(235)은 도 3b에 도시된 다국어 기계 번역 모델(340)로 구현될 수 있으며, 빔 써치 디코더(360) 및 constrain DB(370)를 통해 제2 언어의 제2 문장에 포함된 일부의 텍스트를 수정할 수 있다.
기계 번역 모듈(230)은 다국어 기계 번역 모델(235)로부터 출력된 제2 언어의 제2 문장을 자연어 이해 모듈(240)로 출력할 수 있으며, 자연어 이해 모듈(240)은 자연어 이해 모델(245)로 제2 언어의 제2 문장을 출력할 수 있다
이때, 자연어 이해 모델(245)은 제2 언어를 기반으로 학습된 자연어 이해 모델일 수 있으며, 사용자 음성에 대응되는 사용자 의도(intent) 및 사용자 의도를 수행하기 위해 필요한 슬롯(또는 엔티티, 파라미터)를 획득할 수 있다. 이때, 슬롯은 사용자 의도에 맞는 동작을 수행하기 위한 전자 장치의 주요 데이터로서, 실행되는 동작이나 어플리케이션에 따라 상이해 질 수 있다. 예를 들어, 사용자 의도가 알람인 경우, 슬롯은 알람 어플리케이션의 유형, 알람 시간 정보가 될 수 있으며, 사용자 의도가 검색인 경우, 슬롯은 검색 어플리케이션의 유형, 검색 용어 등이 포함될 수 있다.
이때, 자연어 이해 모델(245)은 전자 장치(100)가 제공하는 기능 또는 서비스를 수행하기 위한 제2 언어의 텍스트를 바탕으로 학습될 수 있다. 예를 들어, 자연어 이해 모델(245)은 다국어 기계 번역 모델(235)에 의해 출력된 복수의 제2 언어의 후보 문장 중 전자 장치(100)가 제공하는 기능 또는 서비스를 바탕으로 하나의 후보 문장을 선택하여 사용자 의도를 파악할 수 있다. 이때, 다국어 기계 번역 모델(235)은 자연어 이해 모델(245)에 의해 판단된 결과를 바탕으로 재학습될 수 있다.
자연어 이해 모델(245)은 획득된 사용자 음성에 대한 사용자 의도 및 슬롯에 대한 정보를 자연어 이해 모듈(240)로 출력할 수 있다. 이때, 자연어 이해 모듈(240)은 도 4에 도시된 바와 같은 intent classification(410), slot filling(420), slot replacement(430) 및 고유명사 DB(440)를 이용하여 사용자 의도 및 슬롯에 대한 정보를 획득하거나 수정할 수 있다.
프로세서(120)는 상술한 바와 같은 방법으로 자연어 이해 모듈(240)이 획득한 사용자 의도 및 슬롯 정보를 바탕으로 사용자 음성(즉, 제2 문장)에 대응되는 제어 명령을 획득하거나 사용자 음성(즉, 제2 문장)에 대한 응답을 획득할 수 있다.
상술한 바와 같이, 전자 장치(100)가 다국어를 기설정된 하나의 언어로 번역할 수 있는 다국어 기계 번역 모델(235)을 통해 임의의 언어를 기정의된 제2 언어로 번역함으로써, 보다 경량화된 자연어 이해 모델을 저장할 수 있게 된다. 뿐만 아니라, 향후 자연어 이해 모델의 업데이트시 필요한 리소스가 감소할 뿐만 아니라 업데이트 시간 역시 단축될 수 있다.
한편, 상술한 실시예에서는 음성 인식 모듈(220), 기계 번역 모듈(230), 자연어 이해 모듈(240)이 전자 장치에 포함될 수 있으나, 이는 일 실시예에 불과할 뿐, 음성 인식, 다국어 기계 번역, 자연어 이해 중 적어도 하나를 수행하기 위한 구성이 외부 서버에서 수행될 수 있다. 이에 대해서는 추후 도면을 참조하여 상세히 설명하도록 한다.
한편, 상술한 실시예에서는 획득된 사용자 음성에 대해 음성 인식을 수행하여 제1 언어의 제1 문장을 획득하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 다른 방법을 이용하여 제1 언어의 제1 문장을 획득할 수 있다. 예를 들어, 텍스트를 포함하는 이미지가 입력되면, 전자 장치(100)는 이미지에 대한 문자 인식(예를 들어, OCR(optical character reader) 분석)을 수행하거나 이미지를 학습된 인공지능 모델에 입력하여 이미지에 포함된 제1 언어의 제1 문장을 획득할 수 있으며, 획득된 제1 언어의 제1 문장을 제2 언어의 제2 문장으로 기계 번역을 수행할 수 있으며, 제2 언어의 제2 문장을 이용하여 자연어 이해를 수행할 수 있다. 또 다른 예로, 텍스트 입력 UI가 표시되는 동안 사용자 조작에 따른 제1 언어의 제1 문장의 텍스트가 입력되면, 전자 장치(100)는 획득된 제1 언어의 제1 문장을 제2 언어의 제2 문장으로 기계 번역을 수행할 수 있으며, 제2 언어의 제2 문장을 이용하여 자연어 이해를 수행할 수 있다.
한편, 도 1에서는 음성 인식 모델(225), 다국어 기계 번역 모델(235), 자연어 이해 모델(245)이 음성 인식 모듈(220), 기계 번역 모듈(230), 자연어 이해 모듈(240)과 별도의 구성으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 음성 인식 모델(225), 다국어 기계 번역 모델(235), 자연어 이해 모델(245)이 음성 인식 모듈(220), 기계 번역 모듈(230), 자연어 이해 모듈(240)에 포함될 수 있다.
도 2는 본 개시의 일 실시예에 따른, 음성 인식 모듈의 구성을 나타내는 블록도이다. 특히, 본 개시의 일 실시예에 따른, 음성 인식 모듈은 복수의 언어 중 사용자 음성의 언어에 대응되는 음성 인식 모델(235)을 판단하기 위한 언어 판단 모듈(221)을 포함할 수 있다. 그리고, 메모리(110)는 복수의 언어에 대응되는 음성 인식 모델(225)을 포함할 수 있다. 예로, 메모리(110)는 도 2에 도시된 바와 같이, 영어에 대응되는 제1 AM 및 제1 LM을 포함하는 제1 음성 인식 모델(225-1), 한국어에 대응되는 제2 AM 및 제2 LM을 포함하는 제2 음성 인식 모델(225-2) 및 일본어에 대응되는 제3 AM 및 제3 LM을 포함하는 제3 음성 인식 모델(225-3) 등을 저장할 수 있다.
일 예로, 사용자 음성이 입력되면, 언어 판단 모듈(221)은 사용자 설정을 바탕으로 사용자 음성의 언어 유형을 판단할 수 있다. 구체적으로, 전자 장치의 언어 설정이 한국어인 경우, 언어 판단 모듈(221)은 사용자 음성의 언어를 한국어로 판단할 수 있다. 다른 예로, 사용자 음성이 입력되면, 언어 판단 모듈(221)은 입력되는 사용자 음성의 발음 기호를 분석하여 사용자 음성의 언어 유형을 판단할 수 있다. 또 다른 예로, 언어 판단 모듈(221)은 언어를 판단하도록 학습된 신경망 모델에 사용자 음성을 입력하여 사용자 음성의 언어 유형을 판단할 수 있다.
사용자 음성의 언어 유형이 판단되면 음성 인식 모듈(220)은 언어 판단 모듈(221)에 의해 판단된 한국어에 대응되는 제2 음성 인식 모델(225-2)을 이용하여 음성 인식을 수행할 수 있다. 이때, 음성 인식 모듈(220)은 복수의 음성 인식 모델 중 사용자 음성의 언어에 대응되는 음성 인식 모델만을 로딩할 수 있다.
한편, 상술한 실시예에서는 복수의 음성 인식 모델이 메모리(110)에 저장되는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 복수의 음성 인식 모델이 외부 서버에 저장될 수 있다. 그리고, 언어 판단 모듈(221)에 의해 사용자 음성의 언어가 판단되면, 프로세서(120)는 통신 인터페이스(130)를 통해 외부 서버로 사용자 음성에 대한 정보 및 사용자 음성의 언어에 대응되는 음성 인식 모델을 요청하는 신호를 전송할 수 있으며, 외부 서버로부터 사용자 음성의 언어에 대응되는 음성 인식 모델을 수신할 수 있다.
도 3a는 본 개시의 일 실시예에 따른, 다국어 기계 번역 모델을 학습시키는 방법을 설명하기 위한 도면이다. 본 개시의 일 실시예에 따른, 다국어 기계 번역 모델(235)은 다국어 신경망 번역 모델(340)을 포함할 수 있다.
다국어 신경망 번역 모델(340)은 복수의 언어 각각과 기정의된 언어가 매칭된 복수의 병렬 코퍼스(parallel corpus)를 바탕으로 멀티 태스킹 학습을 수행하여 구축된 신경망 모델일 수 있다. 예를 들어, 도 3a에 도시된 바와 같이, 다국어 신경망 번역 모델(340)은 한국어-영어를 쌍으로 저장하는 제1 병렬 코퍼스(310), 일본어-영어를 쌍으로 저장하는 제2 병렬 코퍼스(320) 및 중국어-영어를 쌍으로 저장하는 제3 병렬 코퍼스(330)를 바탕으로 멀티 태스크 학습 방식으로 학습될 수 있다. 이때, 멀티 태스크 학습이란 복수의 태스크 각각을 동시에 학습시켜 예측 성능을 향상시키는 방법이며, 여기서 태스크란 병렬 코퍼스를 의미할 수 있다. 멀티 태스크 학습은 다양한 태스크(task)로부터 수집되는 데이터에 대해서 모델 자체의 성능을 보장하면서도 일반화 관점에서의 성능을 극대화하기 위한 것으로, 모델의 전체적(global)인 성능과 태스크와 관련된 지역적(local)인 성능을 둘다 고려할 수 있다. 특히, 다국어 신경망 번역 모델(340)은 번역하고자 하는 언어에 대응되는 개별 파라미터와 기 정의된 번역 대상 언어에 대응되는 공통 파라미터를 포함할 수 있으며, 제1 내지 제3 병렬 코퍼스(310 내지 330)를 입력받아 개별 파라미터 및 공통 파라미터를 학습할 수 있다.
한편, 도 3a에서는 다국어 신경망 번역 모델(340)이 복수의 언어 각각과 기정의된 언어가 매칭된 복수의 병렬 코퍼스를 바탕으로 멀티 태스킹을 수행하는 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 다국어 신경망 번역 모델(340)은 복수의 언어가 서로 매칭된 병렬 코퍼스를 이용하여 학습을 수행할 수 있다. 예를 들어, 한국어-영어, 영어-일본어, 일본어-한국어 형태의 병렬 코퍼스를 이용하여 다국어 신경망 번역 모델을 학습할 수 있다.
도 3a에 도시된 바와 같이, 멀티 태스크 학습을 통해 학습된 다국어 신경망 번역 모델(340)에 한국어/일본어/중국어의 입력 문장이 수신되면, 다국어 신경망 번역 모델(340)은 영어의 출력 문장을 출력할 수 있다. 즉, 제1 문장이 한국어이고, 제2 문장이 영어인 경우, 다국어 신경망 번역 모델(340)은 한국어의 제1 문장을 번역하여 영어의 제2 문장을 획득할 수 있다.
또한, 다국어 신경망 번역 모델(340)은 제1 언어의 제1 문장을 번역하여 제2 언어의 복수의 후보 문장 및 후보 문장 각각의 신뢰도 값을 획득할 수 있다. 이때, 다국어 신경망 번역 모델(340)은 기계 번역 모듈(220)을 통해 복수의 후보 문장 및 복수의 후보 문장 각각의 신뢰도 값을 자연어 이해 모듈(240)로 출력할 수 있으나, 이는 일 실시예에 불과할 뿐, 신뢰도값이 가장 높은 후보 문장을 제2 문장으로 결정하여 제2 문장 및 제2 문장의 신뢰도 값을 자연어 이해 모듈(240)로 출력할 수 있다.
도 3b는 본 개시의 일 실시예에 따른, 기계 번역 모듈의 구성을 나타내는 블록도이다.
기계 번역 모듈(230)은 다국어 기계 번역 모델의 입력 텍스트 및 수정 텍스트를 매핑하여 저장하는 Constrain 데이터베이스(Constrain DB)(또는, 제1 데이터베이스)(370)를 이용하여 제1 언어의 특정 텍스트를 특정 텍스트에 매핑된 텍스트로 번역할 수 있다.
구체적으로, 도 3b에 도시된 바와 같이, 기계 번역 모듈(230)은 인코더-디코더 모델(encoder-decoder model)(350) 및 빔 써치 디코더(beam search decorder)(360)를 포함할 수 있다. 이때, 인코더-디코더 모델(350)은 입력된 제1 언어의 제1 문장을 번역하기 위한 기계 번역 모델로서, 제1 언어의 제1 문장에 대응되는 제2 언어의 제2 문장을 획득할 수 있다. 빔 써치 디코더(360)는 제2 언어의 제2 문장 중 Constrain DB(370)에 저장된 텍스트가 존재하는지 여부를 판단하여 수정할 수 있다. 예를 들어, 제1 언어의 제1 문장인 "문자 어플리케이션 켜줘"가 인코더-디코더 모델(350)에 의해 제2 언어의 제2 문장인 "Turn on text application"로 번역될 수 있다. 이때, Constrain DB(370)에 입력 텍스트와 수정 텍스트로서, "text application"와 "message application"이 매칭되어 저장된 경우, 빔 써치 디코더(360)는 제2 언어의 제2 문장을 "Turn on message application"으로 수정할 수 있다.
한편, 상술한 실시예에서는 빔 써치 디코더(360)의 입력 텍스트 및 수정 텍스트가 모두 영어인 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 빔 써치 디코더(360)의 입력 텍스트 및 수정 텍스트가 상이한 언어일 수 있다. 다른 실시예에 의하면, 빔 써치 디코더(360)는 인코더-디코더 모델(350)에 포함되어 제1 언어의 입력 텍스트를 바로 제2 언어의 수정 텍스트로 번역할 수 있다. 구체적으로, Constrain DB(370)에 매칭되어 저장된 입력 텍스트와 수정 텍스트가 서로 상이한 언어일 수 있다. 예를 들어, 입력 텍스트와 수정 텍스트가 "문자 어플리케이션"와 "message application"으로 저장될 수 있다. 이때, 빔 써치 디코더(360)는 Constrain DB(370)에 저장된 입력 텍스트 및 수정 텍스트를 바탕으로 제1 언어의 "문자 어플리케이션"을 바로 제2 언어의 "message application"으로 번역할 수 있다.
이때, Constrain DB(370)는 자연어 이해 모듈(240)의 출력 결과를 바탕으로 업데이트될 수 있다. 구체적으로, 자연어 이해 모듈(240)를 통해 제2 언어의 제2 문장 중 일부 텍스트가 교체되면, Constrain DB(370)는 교체 결과를 바탕으로 입력 텍스트 및 수정 텍스트를 업데이트할 수 있다.
도 4는 본 개시의 일 실시예에 따른, 자연어 이해 모듈(240)의 구성을 나타내는 블록도이다. 자연어 이해 모듈(240)은 도 4에 도시된 바와 같이, Intent classification(410), slot filling(420), slot replacement(430)를 포함할 수 있다. 이때, Intent classification(410) 및 slot filling(420) 중 적어도 하나는 자연어 이해 모델(245)로서 구현될 수 있다.
Intent classification(410)는 제2 언어의 제2 문장(또는, 제2 언어의 복수의 후보 문장 중 최우선 문장)에 대한 사용자 의도를 분류(또는 판단, 이해, 분석, 식별)할 수 있다. 이때, Intent classification(410)는 문법적 분석 또는 의미적 분석을 통해 사용자 의도를 분류할 수 있다. 다만, Intent classification(410)가 제2 언어의 제2 문장(즉, 제2 언어의 최우선 순위 문장)에 대해 사용자 의도를 분류하지 못하는 경우(즉, 제2 언어의 제2 문장에 대해 분류된 사용자 의도가 정확한지 여부에 대한 신뢰도값이 임계값 미만인 경우), Intent classification(410)는 제2 언어의 차순위 문장에 대해 사용자 의도를 분류할 수 있다. 차순위 문장에 대한 의도가 분류되면, 자연어 이해 모듈(240)은 제1 문장에 포함된 적어도 하나의 텍스트 및 차순위 문장에 포함된 적어도 하나의 텍스트를 입력 텍스트 및 수정 텍스트로 매핑하여 Constrain DB(370)를 업데이트할 수 있다. 예를 들어, "문자 어플리케이션을 켜줘"라는 제1 언어의 제1 문장에 대해 제2 언어의 최우선 순위 문장으로 "Turn on message application"이 획득되고, 차순위 문장으로 "Open message application"이 획득되면, Intent classification(410)는 최우선 순위 문장에 대해 사용자 의도를 파악할 수 없으며, 차순위 문장에 대한 사용자 의도로서 "LAUNCH APP"을 판단할 수 있다. 이에 의해, 자연어 이해 모듈(240)은 application과 관련된 텍스트로서 입력 텍스트 및 수정 텍스트 각각을 "Turn on" 및 "Open" 또는 "켜줘" 및 "Open"으로 매핑하여 저장하도록 Constrain DB(370)를 업데이트할 수 있다.
Slot filling(420)은 사용자 의도를 바탕으로 매칭 규칙을 이용하여 사용자가 수행하고자 하는 기능에 대한 슬롯을 결정할 수 있다. 예를 들어, "Open message application"이라는 제2 언어의 제2 문장에 대해, Slot filling(420)은 슬롯으로서 "message app"을 결정할 수 있다.
Slot replacement(430)은 Slot filling(420)에 의해 채워진 슬롯을 다른 슬롯을 교체할 수 있다. 이때, slot replacement(430)은 고유명사 DB(440)(또는 제2 데이터베이스)를 이용하여 교체가 필요한 슬롯이 있는지 여부를 판단할 수 있다. 예를 들어, 고유명사 DB(440)에 제1 언어로 어플리케이션명이 저장된 경우, slot replacement(430)는 결정된 슬롯인 "message app"을 "메시지 어플리케이션"으로 교체할 수 있다. 이때, 고유명사 DB(440)에는 어플리케이션명 뿐만 아니라 연락처, 스케줄 정보 등이 저장될 수 있다.
또한, 자연어 이해 모듈(240)은 Slot replacement(430)에 의한 교체 결과를 바탕으로 Constrain DB(370)를 업데이트할 수 있다. 예를 들어, 자연어 이해 모듈(240)은 입력 텍스트 및 수정 텍스트 각각을 "문자 어플리케이션" 및 "message application"으로 매핑하여 저장하도록 Constrain DB(370)를 업데이트할 수 있다.
도 5는 본 개시의 일 실시예에 따른, 다국어 기계 번역을 통해 사용자 음성에 대한 제어 명령을 획득하는 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 사용자 음성을 획득할 수 있다(S510). 이때, 사용자 음성은 음성 데이터 형태의 제1 언어의 제1 문장을 포함할 수 있다.
전자 장치(100)는 사용자 음성의 언어에 대응되는 음성 인식 모델을 통해 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득할 수 있다(S520). 즉, 전자 장치(100)는 도 2에서 상술한 바와 같이, 사용자 음성의 언어를 판단하고, 판단된 사용자 음성에 대응되는 음성 인식 모델을 통해 텍스트 데이터 형태의 제1 언어의 제1 문장을 획득할 수 있다.
전자 장치(100)는 기계 번역 모델을 통해 제1 언어의 제1 문장에 대응되는 제2 언어의 제2 문장을 획득할 수 있다(S530). 이때, 기계 번역 모델은 도 3a에서 설명한 바와 같은 다국어 신경망 번역 모델(340)일 수 있으며, 다국어 신경망 번역 모델(340)은 임의의 언어를 기 정의된 제2 언어로 번역하도록 학습될 수 있다.
전자 장치(100)는 자연어 이해 모델(245)을 통해 획득된 제2 문장에 대응되는 전자 장치(100)의 제어 명령을 획득하거나 제2 문장에 대한 응답을 획득할 수 있다(S540). 즉, 전자 장치(100)는 자연어 이해 모델(245)을 통해 제2 문장에 대응되는 사용자 의도 및 슬롯을 결정하고, 결정된 사용자 의도 및 슬롯을 바탕으로 제어 명령 또는 응답을 획득할 수 있다.
도 6은 본 개시의 다른 실시예에 따른, 전자 장치가 다국어 기계 번역을 통해 사용자 음성에 대응되는 제어 명령을 획득하거나 응답을 획득하는 방법을 설명하기 위한 도면이다. 한편, 도 6에 대한 설명 중 도 1에 대한 설명과 중복되는 설명은 생략하기로 한다. 또한, 도 6에 도시된 제1 기계 번역 모델(235)은 도 1에 도시된 기계 번역 모델(235)과 동일한 모듈일 수 있다.
제1 기계 번역 모델(235)에 제1 언어의 제1 문장이 입력되면, 제1 기계 번역 모델(235)은 제1 언어의 제1 문장을 번역하여 제2 언어의 제2 문장 및 신뢰도 값을 획득하고, 획득된 제2 언어의 제2 문장 및 신뢰도 값을 기계 번역 모듈(230)로 출력할 수 있다. 이때, 제1 기계 번역 모델(235)은 복수의 후보 문장 중 신뢰도 값이 가장 높은 문장을 획득하고, 신뢰도 값이 가장 높은 문장에 대한 신뢰도 값을 획득할 수 있다. 이때, 신뢰도 값은 해당 문장에 대한 번역의 정확도에 대한 값일 수 있다. 한편, 이는 일 실시예에 불과할 뿐, 제1 기계 번역 모델(235)은 복수의 후보 문장 및 복수의 후보 문장 각각에 대한 신뢰도 값을 기계 번역 모듈(230)로 전송할 수 있다.
기계 번역 모듈(240)은 신뢰도 값을 바탕으로 외부의 서버(600)로 제1 문장에 대한 번역을 요청할 수 있다. 즉, 신뢰도 값이 가장 높은 문장에 대한 신뢰도 값이 임계값 미만이면, 기계 번역 모듈(240)은 제1 언어의 제1 문장을 통신 인터페이스(130)를 통해 서버(600)로 전송할 수 있다.
서버(600)는 제2 기계 번역 모델(237)을 통해 제1 언어의 제1 문장을 제2 언어의 제3 문장으로 번역하여 통신 인터페이스(130)를 통해 전자 장치(100)의 기계 번역 모듈(230)로 전송할 수 있다. 이때, 제2 기계 번역 모델(237)은 제1 기계 번역 모델(235)에 비해 더욱 많은 데이터(예로, 코퍼스)로 학습된 번역 모델로서, 제 기계 번역 모델(235)에 비해 정확도가 높을 수 있다.
기계 번역 모듈(230)은 서버(600)로부터 수신한 제2 언어의 제3 문장을 자연어 이해 모듈(240)로 출력할 수 있다. 한편, 기계 번역 모듈(230)은 제2 언어의 제3 문장을 자연어 이해 모듈(240)로 출력할 수 있으며, 제2 언어의 제3 문장을 바탕으로 제1 기계 번역 모델(235)을 업데이트(또는 재학습)를 수행할 수 있다.
자연어 이해 모듈(240)은 자연어 이해 모델(345)로 제2 언어의 제3 문장을 출력할 수 있다.
자연어 이해 모델(245)은 제3 언어의 제2 문장을 바탕으로 자연어 이해를 수행하여 사용자 음성에 대한 사용자 의도 및 슬롯에 대한 정보를 획득하고, 획득된 사용자 음성에 대한 사용자 의도 및 슬롯에 대한 정보를 자연어 이해 모듈(240)로 출력할 수 있다.
프로세서(120)는 상술한 바와 같은 방법으로 자연어 이해 모듈(240)이 획득한 사용자 의도 및 슬롯 정보를 바탕으로 사용자 음성에 대한 응답을 제공하거나 전자 장치(100)를 제어할 수 있다. 특히, 도 6에 도시된 바와 같이, 기계 번역 모델(235)에 의해 출력되는 신뢰도 값을 바탕으로 서버(600)에 기계 번역을 요청함으로써, 사용자에게 더욱 정확한 번역을 통해 응답 제공 서비스 또는 기기 제어 서비스를 제공할 수 있게 되며, 제1 기계 번역 모델(235)의 성능을 개선할 수 있게 된다.
도 7a는 본 개시의 일 실시예에 따른, 외부 서버와 연동하여 사용자 음성에 대한 자연어 이해를 수행하는 실시예를 설명하기 위한 도면이다.
우선, 전자 장치(100)는 도 7a에 도시된 바와 같이, 음성 인식 모듈(710), 제1 기계 번역 모듈(720) 및 제1 자연어 이해 모듈(730)을 포함할 수 있으며, 서버(700)는 제2 기계 번역 모듈(740) 및 제2 자연어 이해 모듈(750)을 포함할 수 있다. 이때, 제1 기계 번역 모듈(720) 및 제2 기계 번역 모듈(740) 각각은 임의의 언어를 기 정의된 제2 언어로 번역할 수 있는 제1 기계 번역 모델 및 제2 기계 번역 모델을 포함할 수 있다. 이때, 제2 기계 번역 모델은 제1 기계 번역 모델보다 많은 양의 코퍼스를 이용하여 학습된 기계 번역 모델로서, 제1 기계 번역 모델보다 더욱 정확한 기계 번역을 수행할 수 있다. 또한, 제1 자연어 이해 모듈(730) 및 제2 자연어 이해 모듈(750) 각각은 사용자 음성에 대한 자연어 이해를 수행하여 사용자 의도 및 슬롯을 획득하기 위한 제1 자연어 이해 모델 및 제2 자연어 이해 모델을 포함할 수 있다. 제1 자연어 이해 모델은 전자 장치(100)가 제공하는 기능 및 서비스에 대응되는 도메인의 자연어를 이해할 수 있으나, 제2 자연어 이해 모델은 전자 장치(100)가 제공하는 기능 및 서비스에 제한없이 더욱 넓은 도메인의 자연어를 이해할 수 있다.
특히, 전자 장치(100)는 제1 기계 번역 모듈(720)로부터 획득된 제2 언어의 제2 문장에 대한 신뢰도 값을 바탕으로 서버(700)와 연동하여 사용자 음성에 대한 자연어 이해를 수행할 수 있다.
이하에서는, 도 7b 및 도 7c를 참조하여 기계 번역에 대한 신뢰도값을 바탕으로 서버를 통해 기계 번역 또는 자연어 이해를 수행하는 실시예를 설명하기로 한다.
도 7b는 본 개시의 일 실시예에 따른, 신뢰도값이 낮은 경우 서버(700)가 기계 번역을 수행하는 실시예를 설명하기 위한 시퀀스도이다.
우선, 전자 장치(100)는 사용자 음성을 획득할 수 있다(S705). 이때, 입력된 사용자 음성은 음성 데이터 형태로서, 적어도 하나의 텍스트를 포함할 수 있다.
전자 장치(100)는 음성 인식 모듈을 통해 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득할 수 있다(S710). 즉, 전자 장치(100)는 음성 인식 모듈을 통해 텍스트 데이터 형태의 제1 언어의 제1 문장을 획득할 수 있다.
전자 장치(100)는 제1 기계 번역 모델을 통해 제1 언어의 제1 문장을 번역하여 제2 언어의 제2 문장 및 신뢰도 값을 획득할 수 있다(S715). 이때, 전자 장치(100)는 제1 기계 번역 모델을 통해 제1 언어의 제1 문장을 번역하여 획득된 제2 언어의 복수의 후보 문장 중 신뢰도 값이 가장 높은 최우선 문장을 제2 문장으로 획득할 수 있다.
전자 장치(100)는 획득된 신뢰도 값이 임계값보다 큰지 여부를 판단할 수 있다(S720). 이‹š, 임계값은 최우선 문장이 사용자 음성으로서 신뢰할만한 값을 의미하는 것으로서, 예로, 0.95일 수 있다.
신뢰도 값이 임계값보다 크면(S720-Y), 전자 장치(100)는 제1 자연어 이해 모델을 이용하여 제2 문장에 대응되는 제어 명령 또는 제2 문장에 대한 응답을 획득할 수 있다(S740). 즉, 전자 장치(100)는 제2 언어의 제2 문장을 제1 자연어 이해 모델에 입력하여 사용자 음성에 대응되는 사용자 의도 및 슬롯을 결정할 수 있으며, 사용자 의도 및 슬롯을 바탕으로 제어 명령을 획득하거나 응답을 획득할 수 있다.
신뢰도 값이 임계값 보다 작거나 같으면(S720-N), 전자 장치(100)는 제1 언어의 제1 문장을 외부의 서버(700)로 전송할 수 있다(S725). 이때, 전자 장치(100)는 제1 언어의 제1 문장을 텍스트 데이터 형태로 전송할 수 있으나, 이는 일 실시예에 불과할 뿐, 음성 데이터 형태로 전송할 수 있다.
서버(700)는 제2 기계 번역 모델을 통해 제1 언어의 제1 문장을 번역하여 제2 언어의 제3 문장을 획득할 수 있다(S730). 이때, 서버(700)는 제1 기계 번역 모델보다 더욱 많은 데이터(예를 들어, 코퍼스)로 학습된 제2 기계 번역 모델을 통해 제1 언어의 제1 문장을 번역하여 제2 언어의 제3 문장을 획득할 수 있다. 또한, 음성 데이터 형태의 제1 언어의 제1 문장이 수신되면, 서버(700)는 음성 인식 모듈을 통해 텍스트 데이터 형태의 제1 언어의 제1 문장을 획득하고, 획득된 문장을 제2 기계 번역 모델을 통해 번역할 수 있다.
서버(700)는 제2 언어의 제3 문장을 전자 장치(100)로 전송할 수 있다(S735).
전자 장치(100)는 제1 자연어 이해 모델을 이용하여 제3 문장에 대응되는 제어 명령을 획득하거나 제3 문장에 대한 응답을 획득할 수 있다(S740). 즉, 전자 장치(100)는 제2 언어의 제3 문장을 제1 자연어 이해 모델에 입력하여 사용자 음성에 대응되는 사용자 의도 및 슬롯을 결정할 수 있으며, 사용자 의도 및 슬롯을 바탕으로 제어 명령 또는 응답을 획득할 수 있다. 이때, 전자 장치(100)는 획득된 제1 언어의 제1 문장 및 제2 언어의 제3 문장을 바탕으로 다국어 신경망 번역 모델을 재학습시킬 수 있다.
도 7c는 본 개시의 일 실시예에 따른, 신뢰도값이 낮은 경우 서버(600)가 기계 번역 및 자연어 이해를 수행하는 실시예를 설명하기 위한 시퀀스도이다. 본 발명의 실시예에 따른, S750~ S775 단계는 도 7b에 개시된 S705 ~ S730 단계와 동일하므로, 중복되는 설명은 생략한다.
서버(700)는 제2 자연어 이해 모델을 이용하여 제2 기계 번역 모델을 통해 획득된 제2 언어의 제3 문장에 대응되는 제어 명령 또는 응답을 획득할 수 있다(S780). 구체적으로, 서버(700)는 제2 자연어 이해 모델을 통해 제3 문장에 대응되는 사용자 의도 및 슬롯을 결정하고, 결정된 사용자 의도 및 슬롯을 바탕으로 제어 명령으로서 액션 룰 또는 응답을 획득할 수 있다. 즉, 서버(700)는 더욱 많은 도메인에 대한 자연어 이해를 수행할 수 있는 제2 자연어 이해 모델을 통해 자연어 이해를 수행함으로써, 더욱 정확한 제어 명령 또는 응답을 획득할 수 있게 된다.
서버(700)는 제어 명령 또는 응답을 전자 장치(100)로 전송할 수 있으며(S785), 전자 장치(100)는 서버(700)로부터 획득된 제어 명령 또는 응답을 획득할 수 있다(S790). 그리고, 전자 장치(100)는 획득된 제어 명령을 바탕으로 전자 장치(100)를 제어하거나 응답을 출력할 수 있다.
도 8a는 본 개시의 일 실시예에 따른, 복수의 후보 문장에 대한 자연어 이해를 수행하는 방법을 설명하기 위한 도면이다.
전자 장치(100)는 제1 언어의 제1 문장을 획득할 수 있다(도 8a의 ①). 예를 들어, 전자 장치(100)는 "문자 어플리케이션 켜줘"라는 한국어의 제1 문장을 획득할 수 있다.
전자 장치(100)는 기계 번역 모듈(330)을 이용하여 제2 언어의 복수의 후보 문장을 획득할 수 있다(도 8a의 ②). 이때, 전자 장치(100)는 제2 언어의 복수의 후보 문장 뿐만 아니라 복수의 후보 문장 각각의 신뢰도 값을 획득할 수 있다. 예를 들어, 전자 장치(100)는 "문자 어플리케이션 켜줘"를 번역한 제2 언어의 후보 문장으로 "turn on message application", "open message application", "play message application"를 획득할 수 있으며, 각각의 신뢰도값으로 "0.98", "0.94", "0.88"를 획득할 수 있다.
전자 장치(100)는 자연어 이해 모듈(340)을 통해 복수의 후보 문장 중 신뢰도 값이 가장 높은 최우선 문장에 대해 의도를 분석한 후 N-best 리스코어링을 수행할 수 있다(도 8a의 ③). 즉, 전자 장치(100)는 최우선 문장에 대해 사용자 의도를 판단할 수 있다. 이때, 최우선 문자에 대해 사용자 의도가 판단되면, 전자 장치(100)는 판단된 사용자 의도를 바탕으로 슬롯을 결정할 수 있다. 최우선 문장에 대해 사용자 의도가 판단되지 않으면, 전자 장치(100)는 최우선 문장보다 신뢰도값이 낮은 차순위 문장에 대해 사용자 의도를 판단할 수 있다. 이때, 전자 장치(100)는 차순위 문장에 대한 신뢰도값을 리스코어링할 수 있다.
예를 들어, 전자 장치(100)는 자연어 이해 모듈(240)을 통해 "turn on message application"에 대한 사용자 의도를 분석할 수 있다. 이때, 전자 장치(100)는 "turn on message application"에 대한 사용자 의도를 분석하지 못하며, 차순위 문장인 "open message application"에 대한 사용자 의도를 분석할 수 있다. 이때, 전자 장치(100)는 사용자 의도를 "LAUNCH APP"으로 판단할 수 있다. 따라서, 전자 장치(100)는 "open message application"에 대한 신뢰도값을 리스코어링하고, 리스코어링된 신뢰도 값을 바탕으로 기계 번역 모듈(230)에 포함된 다국어 신경망 번역 모델을 재학습할 수 있다. 이때, 전자 장치(100)는 텍스트의 배열 정보(alignment information)를 바탕으로 다국어 신경망 번역 모델을 재학습할 수 있다. 즉, 전자 장치(100)는 문장 속에 어플리케이션에 대한 동작으로서 "켜줘"에 대한 번역을 수행할 때, "turn on"보다는 "open"의 신뢰도 값이 높아지도록 다국어 신경망 번역 모델(340)을 재학습할 수 있다. 즉, 전자 장치(100)는 문장 속에 어플리케이션에 대한 텍스트가 존재하지 않을 때는 "켜줘"에 대한 번역을 수행할 때 "turn on"이 "open"의 신뢰도 값보다 높을 수 있다.
전자 장치(100)는 사용자 의도가 판단된 후 사용자 음성에 대응되는 액션을 수행하기 위한 슬롯을 결정할 수 있다. 이때, 전자 장치(100)는 의도가 판단된 문장에 고유 명사 DB(440)에 저장된 고유 명사가 존재하는지 여부를 판단하여 슬롯을 교체할 수 있다(도 8a의 ④). 예를 들어, 전자 장치(100)는 사용자 의도인 "LAUNCH APP"에 대한 슬롯으로 "APP NAME: message application"을 획득할 수 있다. 이때, 고유 명사 DB(440)에 한글로 "문자 어플리케이션"이 저장된 경우, 전자 장치(100)는 제1 언어에 포함된 문자 어플리케이션을 바탕으로 기존의 슬롯을 "APP NAME: 문자 어플리케이션"으로 교체할 수 있다.
전자 장치(100)는 상술한 바와 같은 과정을 거쳐 자연어 이해 모듈(240)을 통해 의도 및 슬롯 정보를 획득할 수 있다(도 8a의 ⑤). 예를 들어, 전자 장치(100)는 사용자 의도로 "LAUNCH APP"을 획득할 수 있으며, 슬롯으로 "APP NAME: 문자 어플리케이션"을 획득할 수 있다. 따라서, 전자 장치(100)는 획득된 사용자 의도 및 슬롯 정보를 바탕으로 제어 명령을 획득할 수 있게 된다. 즉, 전자 장치(100)는 "문자 어플리케이션 실행"이라는 제어 명령을 획득할 수 있으며, 획득된 제어 명령을 바탕으로 문자 어플리케이션을 실행할 수 있다.
또한, 전자 장치(100)는 고유 명사 교체 이후 고유 명사 DB(440)에 저장된 정보를 바탕으로 Constrain DB(370)를 업데이트할 수 있다(도 8a의 ⑥). 예를 들어, 전자 장치(100)는 기계 번역 모듈(230)이 "문자 어플리케이션"에 대한 번역 결과를 "message application"로 번역하지 않고, "문자 어플리케이션"으로 출력하도록 Constrain DB(370)를 업데이트할 수 있다. 즉, Constrain DB(370)에는 입력 테스트와 수정 텍스트 각각을 "message application"와 "문자 어플리케이션"로 매칭하여 저장할 수 있다.
도 8b는 본 개시의 일 실시예에 따른, 복수의 후보 문장에 대한 자연어 이해를 수행하는 방법을 설명하기 위한 흐름도이다.
전자 장치(100)는 기계 번역 모듈을 통해 복수의 후보 문장을 획득할 수 있다(S805). 이때, 전자 장치(100)는 복수의 후보 문장뿐만 아니라, 복수의 후보 문장 각각에 대한 신뢰도 값을 획득할 수 있다.
전자 장치(100)는 최우선 순위 후보 문장을 식별할 수 있다(S810). 이때, 전자 장치(100)는 복수의 후보 문장 중 신뢰도 값이 가장 높은 문장을 최우선 순위 후보 문장으로 식별할 수 있다.
전자 장치(100)는 후보 문장에 대한 사용자 의도를 분석할 수 있다(S815). 즉, 전자 장치(100)는 문법적 분석 및 의미적 분석을 수행하여 최우선 순위 후보 문장에 대한 사용자 의도를 분석할 수 있다.
이때, 전자 장치(100)는 사용자 의도가 분석되었는지 여부를 판단할 수 있다(S820).
사용자 의도가 분석되지 않은 경우(S820-N), 전자 장치(100)는 차순위 후보 문장을 식별할 수 있다(S825). 즉, 전자 장치(100)는 최우선 순위 후보 문장보다 신뢰도값이 낮은 다음의 차순위 후보 문장을 식별할 수 있다.
그리고, 전자 장치(100)는 다시 후보 문장에 대한 사용자 의도를 분석할 수 있다(S815).
상술한 과정을 거쳐 사용자 의도가 분석된 경우(S820-Y), 전자 장치(100)는 사용자 의도에 대응되는 슬롯에 고유 명사가 존재하는지 여부를 판단할 수 있다(S830). 즉, 전자 장치(100)는 사용자 의도에 대응되는 슬롯에 전자 장치(100)의 고유명사 DB(440)에 저장된 고유 명사가 존재하는지 판단할 수 있다.
고유 명사가 존재하지 않는 경우(S835-N), 전자 장치(100)는 사용자 의도 및 슬롯 정보를 획득할 수 있다(S840). 다만, 고유 명사가 존재하는 경우(S835-Y), 전자 장치(100)는 고유명사 DB(440)를 바탕으로 슬롯에 포함된 고유 명사를 교체하고(S835), 교체된 슬롯을 바탕으로 사용자 의도 및 슬롯 정보를 획득할 수 있다.
그리고, 전자 장치(100)는 고유 명사의 교체 결과를 바탕으로 Constrain DB(370)를 업데이트할 수 있다(S845).
한편, 전자 장치(100) 내에는 한정된 고유 명사만을 저장할 수 있다. 즉, 전자 장치(100)와 관련된 고유 명사(예를 들어, 어플리케이션 이름, 연락처 정보, 스케줄 정보 등)만이 저장될 뿐, 일반적인 고유 명사(예를 들어, 지명, 가게 이름 등)는 저장하지 않을 수 있다. 따라서, 전자 장치는 외부 서버(200)와 연동하여 고유 명사를 교체할 수 있다. 도 8c는 본 개시의 일 실시예에 따른, 외부 서버와 연동하여 복수의 후보 문장에 대한 자연어 이해를 수행하는 방법을 설명하기 위한 시퀀스도이다. 한편, 도 8c에 도시된 S850 내지 S870는 도 8b에서 설명한 S805 내지 S825와 중복되므로, 상세한 설명은 생략한다.
전자 장치(100)는 의도 분석이 수행된 후보 문장을 서버(800)로 전송할 수 있다(S875).
서버(800)는 사용자 의도에 대응되는 슬롯에 고유 명사가 존재하는지 여부를 판단할 수 있다(S880). 즉, 서버(800)는 사용자 의도에 대응되는 슬롯에 서버(800)가 저장하는 고유명사 DB에 저장된 고유 명사가 존재하는지 판단할 수 있다. 이때, 서버(800)가 저장하는 고유명사 DB는 전자 장치(100)가 제공하는 서비스 및 기능과 관련된 도메인 뿐만 아니라 전자 장치(100)가 제공하는 서비스 및 기능과 관련된 도메인 이외의 도메인의 고유 명사를 저장할 수 있다.
고유 명사가 존재하지 않는 경우(S880-N), 서버(800)는 의도 분석이 수행된 후보 문장에 대한 사용자 의도 및 슬롯 정보를 획득할 수 있다(S890). 다만, 고유 명사가 존재하는 경우(S880-Y), 서버(800)는 서버(800)에 저장된 고유명사 DB를 바탕으로 슬롯에 포함된 고유 명사를 교체하고(S885), 교체된 슬롯을 바탕으로 후보 문장에 대한 사용자 의도 및 슬롯 정보를 획득할 수 있다(S890).
그리고, 서버(800)는 전자 장치(100)로 사용자 의도 및 슬롯 정보를 전송할 수 있으며(S895), 전자 장치(100)는 고유 명사의 교체 결과를 바탕으로 고유 명사 DB(440)와 Constrain DB(370)를 업데이트할 수 있다(S897).
도 9는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 도시한 블록도이다. 도 9에 도시된 바와 같이, 전자 장치(100)는 통신 인터페이스(130), 메모리(110), 마이크(140), 디스플레이(150), 스피커(160), 센서(170) 및 프로세서(120)를 포함할 수 있다. 한편, 도 9에 도시된 전자 장치(100)의 구성은 전자 장치(100)의 유형에 따라 일부 구성이 추가되거나 생략될 수 있음은 물론이다.
통신 인터페이스(130)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 장치와 통신을 수행하는 구성이다. 통신 인터페이스(130)는 와이파이 모듈, 블루투스 모듈, 적외선 통신 모듈 및 무선 통신 모듈 등을 포함할 수 있다. 특히, 프로세서(120)는 통신 인터페이스(130)를 이용하여 각종 외부 장치와 통신을 수행할 수 있다. 이때, 통신 인터페이스(130)는 음성 인식, 기계 번역 및 자연어 이해를 위하여 외부 서버와 통신을 수행할 수 있다. 즉, 통신 인터페이스(130)는 음성 인식을 위해 음성 데이터 형태의 사용자 음성을 외부 서버로 전송할 수 있으며, 기계 번역을 위해 텍스트 데이터 형태의 제1 언어의 제1 문장을 외부 서버로 전송할 수 있으며, 자연어 이해를 위해 텍스트 데이터 형태의 제2 언어의 제2 문장을 외부 서버에 전송할 수 있다. 뿐만 아니라, 통신 인터페이스(130)는 외부 서버로부터 음성 인식 결과로, 제1 언어의 제1 문장을 수신할 수 있으며, 기계 번역 결과로 제2 언어의 제2 문장을 수신할 수 있으며, 자연어 이해 결과로 제어 명령, 응답, 사용자 의도 및 슬롯에 대한 정보를 수신할 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 특히, 메모리(110)는 비휘발성 메모리 및 휘발성 메모리를 포함할 수 있으며, 예로, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리(110)는 대화 시스템을 동작하기 위한 인공지능 에이전트를 저장할 수 있다. 구체적으로, 전자 장치(100)는 사용자 발화에 대한 응답으로 자연어를 생성하거나 제어 명령을 획득하기 위하여 인공지능 에이전트(Artificial intelligence agent)를 이용할 수 있다. 이때, 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램이다. 특히, 인공지능 에이전트는 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU, NPU 등)에 의해 실행될 수 있다. 또한, 메모리(110)는 도 10에 도시된 바와 같은 대화 시스템을 구성하는 복수의 구성(또는 모듈)을 포함할 수 있다.
마이크(140)는 사용자의 음성을 입력받기 위한 구성으로서, 전자 장치(100) 내에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 전자 장치(100)의 외부에 전자 장치(100)와 유선 또는 무선으로 연결될 수 있다. 특히, 마이크(140)는 전자 장치(100) 또는 전자 장치(100) 주위의 외부 기기를 제어하기 위한 사용자 음성을 입력받을 수 있다.
디스플레이(150)는 외부로부터 수신된 영상 또는 UI를 디스플레이할 수 있다. 특히, 디스플레이(150)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(150) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(150)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 등으로 구현될 수 있다. 또한, 본 발명의 일 실시 예에 따른, 디스플레이(150)는 영상을 출력하는 디스플레이 패널뿐만 아니라, 디스플레이 패널을 하우징하는 베젤을 포함할 수 있다. 특히, 본 발명의 일 실시예에 따른, 베젤은 사용자 인터렉션을 감지하기 위한 터치 센서(미도시)를 포함할 수 있다. 특히, 디스플레이(150)는 사용자 음성에 대한 응답 결과를 텍스트 또는 이미지 형태로 제공할 수 있다.
스피커(160)는 외부로 수신된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성요소일 수 있다. 이때, 전자 장치(100)는 스피커(160)와 같은 오디오 출력 장치를 포함할 수 있으나, 오디오 출력 단자와 같은 출력 장치를 포함할 수 있다. 특히, 스피커(160)는 사용자 음성에 대한 응답 결과 및 동작 결과 등을 음성 형태로 제공할 수 있다.
센서(170)는 전자 장치(100)와 관련된 다양한 정보를 획득할 수 있다. 특히, 센서(170)는 전자 장치(100)의 위치 정보를 획득할 수 있는 GPS를 포함할 수 있으며, 전자 장치(100)를 사용하는 사용자의 생체 정보를 획득하기 위한 생체 센서(예로, 심박수 센서, PPG 센서 등), 전자 장치(100)의 움직임을 감지하기 위한 움직임 센서 등과 같은 다양한 센서를 포함할 수 있다.
그 밖에 전자 장치(100)는 전자 장치(100)를 제어하기 위한 사용자 명령을 입력받는 입력 인터페이스를 포함할 수 있다. 이때, 입력 인터페이스는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린으로도 구현될 수 있다. 여기서, 버튼은 전자 장치(100)의 본체 외관의 전면부나 측면부, 배면부 등의 임의의 영역에 형성된 기계적 버튼, 터치 패드, 휠 등과 같은 다양한 유형의 버튼이 될 수 있다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작을 제어할 수 있다. 특히, 프로세서(120)는 메모리(110)에 저장된 적어도 하나의 명령을 실행함으로써, 사용자 음성이 입력되면, 사용자 음성의 언어에 대응되는 음성 인식(speech recognition) 모델을 통해 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득할 수 있다. 그리고, 프로세서(120)는 복수의 종류의 언어를 제2 언어로 번역하도록 학습된 기계 번역 모델을 통해 제1 언어의 제1 문장에 대응되는 상기 제2 언어의 제2 문장을 획득할 수 있다. 그리고, 프로세서(120)는 제2 언어를 바탕으로 학습된 자연어 이해 모델을 통해, 획득된 제2 문장에 대응되는 전자 장치(100)의 제어 명령을 획득하거나 제2 문장에 대응되는 응답을 획득한다.
특히, 프로세서(120)는 기계 번역 모델에 의해 획득된 제2 언어의 제2 문장 및 제2 문장의 신뢰도 값을 바탕으로 외부 서버와 연동하여 자연어 이해를 수행할 수 있다. 구체적으로, 프로세서(120)는 제1 문장을 메모리(110)에 저장된 제1 기계 번역 모델에 입력하여 제2 문장 및 제2 문장의 신뢰도 값을 획득할 수 있다. 이때, 신뢰도 값이 임계 값 이상이면, 프로세서(120)는 제2 문장을 메모리(110)에 저장된 제1 자연어 이해 모델에 입력하여 제2 문장에 대응되는 제어 명령을 획득하거나 제2 문장에 대응되는 응답을 획득할 수 있다.
일 실시예로, 신뢰도 값이 임계 값 미만이면, 프로세서(120)는 통신 인터페이스를 통해 제2 기계 번역 모델을 저장하는 외부 서버로 제1 문장을 전송할 수 있다. 이때, 제2 기계 번역 모델은 제1 기계 번역 모듈에 비해 더욱 많은 데이터(예를 들어, 코퍼스(corpus))로 학습된 기계 번역 모델로서, 제1 기계 번역 모델에 비해 더욱 정확한 기계 번역을 수행할 수 있다. 제2 기계 번역 모델을 통해 획득된 제2 언어의 제3 문장이 통신 인터페이스를 통해 외부 서버로부터 수신되면, 프로세서(120)는 수신된 제3 문장을 제1 자연어 이해 모델에 입력하여 제3 문장에 대응되는 제어 명령을 획득하거나 제3 문장에 대한 응답을 획득할 수 있다. 이때, 제1 기계 번역 모델은 제1 문장 및 제3 문장을 바탕으로 재학습될 수 있다.
다른 실시예로, 신뢰도 값이 임계값 미만이면, 프로세서(120)는 통신 인터페이스를 통해 제1 문장을 제2 기계 번역 모델 및 제2 자연어 이해 모델을 포함하는 외부 서버로 전송할 수 있다. 이때, 제2 자연어 이해 모델은 제1 자연어 이해 모델에 비해 더욱 향상된 정확도 및 처리 속도를 가지는 자연어 이해 모델일 수 있다. 프로세서(120)는 외부 서버로부터 제2 기계 번역 모델 및 제2 자연어 이해 모델을 통해 획득된 제3 문장에 대응되는 제어 명령 또는 제3 문장에 대응되는 응답을 통신 인터페이스를 통해 수신할 수 있다.
또한, 프로세서(120)는 메모리(110)에 저장된 기계 번역 모델을 통해 제1 문장에 대응되는 복수의 후보 문장 및 복수의 후보 문장에 대응되는 신뢰도 값을 획득할 수 있다. 그리고, 프로세서(120)는 학습된 자연어 이해 모델에 복수의 후보 문장 중 신뢰도 값이 가장 높은 최우선 문장을 입력하여 최우선 문장에 대한 의도(intent)를 판단할 수 있다. 최우선 문장에 대한 의도를 판단하지 못하는 경우, 프로세서(120)는 복수의 후보 문장 중 최우선 문장보다 신뢰도 값이 작은 차순위 문장을 학습된 자연어 이해 모델에 입력하여 차순위 문장에 대한 의도를 판단할 수 있다. 차순위 문장에 대한 의도가 판단되면, 프로세서(120)는 차순위 문장을 바탕으로 자연어 이해의 결과(예를 들어, 사용자 의도 및 슬롯)를 출력할 수 있다. 그리고, 프로세서(120)는 제1 문장에 포함된 적어도 하나의 텍스트 및 차순위 문장에 포함된 적어도 하나의 텍스트를 입력 텍스트 및 수정 텍스트로 매핑하여 기계 번역 모듈에 포함된 제1 데이터베이스(또는 constrain DB)에 저장할 수 있다. 이때, 제1 문장에 포함된 적어도 하나의 텍스트와 차순위 문장에 포함된 적어도 하나의 텍스트는 서로 동일한 언어일 수 있다.
또한, 제2 문장이 자연어 이해 모델과 관련된 제2 데이터베이스에 저장된 고유명사를 포함하면, 프로세서(120)는 제2 문장에 포함된 적어도 하나의 텍스트를 제2 데이터베이스에 저장된 제1 언어의 고유명사로 치환하고, 치환된 제2 문장에 대응되는 전자 장치(100)의 제어 명령을 획득하거나 제2 문장에 대한 응답을 획득할 수 있다. 그리고, 프로세서(120)는 제2 문장에 포함된 적어도 하나의 텍스트와 치환된 고유 명사를 입력 텍스트 및 수정 텍스트로 매핑하여 제1 데이터베이스에 저장할 수 있다. 이때, 제2 문장에 포함된 적어도 하나의 텍스트와 치환된 고유 명사는 서로 상이한 언어일 수 있다.
특히, 본 개시에 따른 인공지능과 관련된 기능은 프로세서(120)와 메모리(110)를 통해 동작된다. 프로세서(120)는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN:Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
도 10은 본 개시의 일 실시예에 따른, 인공지능 에이전트 시스템의 대화 시스템을 도시한 블록도이다. 도 10에 도시된 대화 시스템(200)은 가상의 인공지능 에이전트와 자연어를 통해 대화를 수행하거나 전자 장치(100)를 제어하기 위한 구성으로서, 본 개시의 일 실시예 따르면, 대화 시스템(200)에 포함된 모듈은 전자 장치(100)의 메모리(110) 내에 저장될 수 있으나, 이는 일 실시예에 불과할 뿐, 하드웨어와 소프트웨어의 결합된 형태로 구현될 수 있다. 또한, 대화 시스템(200)에 포함된 적어도 하나의 모듈은 외부의 적어도 하나의 서버에 포함될 수 있다.
대화 시스템(200)은 도 10에 도시된 바와 같이, 음성 입력(speech input) 모듈(210), 음성 인식(speech recognition)(SR) 모듈(220), 기계 번역(machine translation)(MT) 모듈(230), 자연어 이해(natural language understanding)(NLU) 모듈(240), 대화 매니저(dialogue manager)(DM) 모듈(250), 액션 플래너(action planner)(AP) 모듈(260), 자연어 생성(natural language generator)(NLG) 모듈(270), 텍스트 음성 변환(text to speech)(TTS) 모듈(280), 출력(output) 모듈(290) 및 기기 제어(device control) 모듈(295)을 포함할 수 있다.
음성 입력 모듈(210)은 음성 데이터 형태의 사용자 음성을 입력받을 수 있다. 이때, 음성 입력 모듈(210)은 마이크를 포함할 수 있으며, 마이크를 통해 사용자 음성을 포함하는 아날로그 형태의 오디오 신호를 수신할 수 있으며, 아날로그 신호를 디지털 신호로 변환할 수 있다. 일 실시예로, 음성 입력 모듈(210)은 디지털 신호로부터 노이즈 성분을 제거하여 사용자 음성에 대응되는 음성 데이터를 획득할 수 있다. 다만, 다른 실시예에 따르면, 음성 입력 모듈(210)이 별도의 노이즈 성분을 제거하지 않고, 이후 음성 인식 모델을 통해 디지털 신호에 포함된 노이즈가 제거될 수 있다. 특히, 음성 입력 모듈(210)을 통해 수신되는 사용자 음성은 적어도 하나의 텍스트를 포함하는 문장 또는 구 형태일 수 있으나, 이는 일 실시예에 불과할 뿐, 복수의 문장 또는 구를 포함할 수 있다.
한편, 음성 입력 모듈(210)에 포함된 마이크는 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시예에 불과할 뿐, 외부에 구비되어 전자 장치(100)와 유선 또는 무선으로 연결될 수 있다. 또한, 음성 입력 모듈(210)은 외부 장치로부터 사용자 음성을 수신하는 통신 모듈을 포함할 수 있음은 물론이다.
음성 인식 모듈(220)은 음성 입력 모듈(210)로부터 수신된 음성 데이터 형태의 사용자 음성을 텍스트 데이터로 변환할 수 있다. 이때, 텍스트 데이터는 문자 코드로 이루어진 데이터이며, 음성 데이터는 사용자 음성에 대한 주파수 정보를 포함하는 데이터일 수 있다. 음성 인식 모듈(220)은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 이때, 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 음성 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 음성을 텍스트 데이터로 변환할 수 있다. 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식 데이터베이스(automatic speech recognition database)(ASR DB)에 저장될 수 있다. 특히, 음성 인식 모듈(220)은 전자 장치(100)가 지원하는 복수의 언어에 대응되는 복수의 언어 모델 및 복수의 음향 모델을 포함할 수 있다. 예를 들어, 음성 인식 모듈(220)은 한국어 코퍼스로 학습된 제1 언어 모델 및 제2 음향 모델, 영어 코퍼스로 학습된 제2 언어 모델 및 제2 음향 모델, 일본어 코퍼스로 학습된 제3 언어 모델 및 제3 음향 모델을 포함할 수 있으나, 이에 한정되는 것은 아니다.
특히, 음성 인식 모듈(220)은 음향 모델 및 언어 모델을 이용하여 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득할 수 있다. 이때, 제1 문장은 적어도 하나의 텍스트를 포함할 수 있다.
또한, 음성 인식 모듈(220)은 도 2에서 설명한 언어 판단 모듈(221)을 통해 사용자 음성의 언어를 판단하고, 판단된 사용자 음성의 언어에 대응되는 음성 인식 모델을 통해 음성 인식을 수행할 수 있다.
기계 번역 모듈(230)은 음성 인식 모듈(220)을 통해 획득된 제1 언어의 제1 문장을 번역하여 기정의된 제2 언어의 제2 문장을 획득할 수 있다. 이때, 기계 번역 모듈(230)은 다국어 신경망 번역 모델을 포함할 수 있다. 기계 번역 모듈(230)에 대해서는 도 3a 및 도 3b에서 설명하였으므로, 중복되는 설명은 생략한다.
자연어 이해 모듈(240)은 제2 언어의 제2 문장을 바탕으로 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 음성에 대한 도메인 및 사용자 의도를 파악할 수 있다. 이때, 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 자연어 이해 모듈(230)에 대해서는 도 4에서 설명하였으므로, 중복되는 설명은 생략한다.
대화 매니저 모듈(250)은 자연어 이해 모듈(240)을 통해 획득된 사용자 의도 및 슬롯을 바탕으로 사용자 음성에 대한 응답을 제공할 수 있다. 이때, 대화 매니저 모듈(250)은 지식 베이스를 기반으로 사용자 음성에 대한 응답을 제공할 수 있다. 이때, 지식 베이스는 전자 장치(100) 내에 포함될 수 있으나, 이는 일 실시예에 불과할 뿐, 외부 서버에 포함될 수 있다.
또한, 대화 매니저 모듈(250)은 자연어 이해 모듈(240)에 의해 파악된 사용자의 의도가 명확한지 여부를 판단할 수 있다. 예를 들어, 대화 매니저 모듈(250)은 슬롯에 대한 정보가 충분한지 여부에 기초하여 사용자 의도가 명확한지 여부를 판단할 수 있다. 또한, 대화 매니저 모듈(250)은 자연어 이해 모듈(240)에서 파악된 슬롯이 사용자가 수행하고자 하는 기능을 수행하는데 충분한지 여부를 판단할 수 있다. 일 실시 예에 따르면, 대화 매니저 모듈(250)은 사용자의 의도가 명확하지 않은 경우 사용자에게 필요한 정보를 요청하는 피드백을 수행할 수 있다.
자연어 생성 모듈(270)은 지정된 정보를 텍스트 형태로 변경할 수 있다. 텍스트 형태로 변경된 정보는 자연어의 형태일 수 있다. 지정된 정보는, 예를 들어, 추가 입력에 대한 정보, 사용자 입력에 대응되는 동작의 완료를 안내하는 정보, 질문에 대한 응답 정보 또는 사용자의 추가 입력을 안내하는 정보(예: 사용자 입력에 대한 피드백 정보)일 수 있다. 텍스트 형태로 변경된 정보는 전자 장치(100)의 디스플레이에 표시되거나, 텍스트 음성 변환 모듈(280)에 의해 음성 형태로 변경될 수 있다.
또한, 자연어 생성 모듈(270)은 기계 번역을 위한 구성을 포함할 수 있다. 예를 들어, 자연어 생성 모듈(270)이 제2 언어의 텍스트를 획득한 경우, 자연어 생성 모듈(270)은 제2 언어의 텍스트를 제1 언어의 텍스트로 번역하여 제1 언어의 텍스트를 획득할 수 있다.
텍스트 음성 변환 모듈(280)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(280)은 자연어 생성 모듈(270)로부터 제1 언어의 텍스트 데이터 형태의 정보를 수신하고, 텍스트 데이터 형태의 정보를 음성 데이터 형태의 정보로 변경할 수 있다.
출력 모듈(290)은 텍스트 음성 변환 모듈(280)로부터 수신된 음성 데이터 형태의 정보를 출력할 수 있다. 이때, 출력 모듈(290)은 스피커 또는 음성 출력 단자를 통해 음성 데이터 형태의 정보를 출력할 수 있다. 또는 출력 모듈(290)은 자연어 생성 모듈(270)을 통해 획득된 텍스트 데이터 형태의 정보를 디스플레이 또는 영상 출력 단자를 통해 출력할 수 있다.
액션 플래너 모듈(260)은 사용자 의도 및 슬롯를 이용하여 적어도 하나의 액션 룰(또는 패스 룰(path rule))을 생성할 수 있다. 예를 들어, 액션 플래너 모듈(260)은 사용자 의도 및 슬롯에 기초하여 실행될 어플리케이션 및 어플리케이션에서 실행될 동작을 결정하여 적어도 하나의 액션 룰을 생성할 수 있다.
이때, 액션 플래너 모듈(260)은 음성 입력 모듈(210)에 의해 입력된 사용자 음성의 언어 또는 현재 전자 장치(100)의 위치를 바탕으로 실행될 어플리케이션을 결정할 수 있다. 예를 들어, 사용자 음성의 언어가 한국어이거나 현재 전자 장치(100)의 위치가 한국이고 사용자 의도가 검색인 경우, 액션 플래너 모듈(260)은 한국에서 제공하는 검색 어플리케이션을 실행될 어플리케이션으로 결정할 수 있으며, 사용자 음성의 언어가 일본어이거나 현재 전자 장치의 위치가 일본이고 사용자 의도가 검색인 경우, 액션 플래너 모듈(260)은 일본에서 제공하는 검색 어플리케이션을 실행될 어플리케이션으로 결정할 수 있다.
기기 제어 모듈(295)은 액션 플래너 모듈(260)에 의해 생성된 적어도 하나의 액션 룰에 따라 기기를 제어할 수 있다. 예를 들어, 기기 제어 모듈(395)은 적어도 하나의 액션 룰을 바탕으로 사용자 의도에 대응되는 어플리케이션을 실행시키고, 슬롯에 포함된 액션에 대응되는 제어 동작을 수행할 수 있다.
한편, 상술한 실시예에서는 전자 장치(100) 내부에 음성 인식 모듈, 기계 번역 모듈, 자연어 이해 모듈이 포함된 것으로 설명하였으나, 이는 일 실시예에 불과할 뿐, 음성 인식 모듈, 기계 번역 모듈, 자연어 이해 모듈 중 적어도 하나는 외부 서버에 존재할 수 있다. 일 예로, 음성 인식 모듈 및 기계 번역 모듈은 전자 장치(100)에 구비될 수 있으며, 자연어 이해 모듈은 서버에 존재할 수 있다.
도 11은 본 개시의 다른 실시예에 따른, 외부 서버와 연동하여 사용자 음성에 대한 제어 명령을 획득하는 실시예를 설명하기 위한 시퀀스도이다. 이때, 도 11의 S1110 내지 S1130 단계는 도 5의 S510 내지 S530 단계와 동일하므로, 중복되는 설명은 생략한다.
전자 장치(100)는 제2 언어의 제2 문장을 서버(1100)로 전송할 수 있다(S1140).
서버(1100)는 자연어 이해 모델을 통해 획득된 제2 문장에 대응되는 전자 장치(100)의 제어 명령 또는 제2 문장에 대한 응답을 획득할 수 있다(S1150). 즉, 서버(1100)는 전자 장치(100)에 저장된 자연어 이해 모델보다 더욱 많은 도메인의 자연어 이해 능력을 가지는 자연어 이해 모델을 통해 제2 문장에 대응되는 사용자 의도 및 슬롯을 결정하고, 결정된 사용자 의도 및 슬롯을 바탕으로 제어 명령 또는 응답을 획득할 수 있다.
서버(1100)는 전자 장치(100)로 획득된 제어 명령 또는 응답을 전송할 수 있다(S1160). 또 다른 실시예에 의하면, 서버(1100)는 제어 명령 또는 응답을 전송하는 것이 아닌 제2 문장에 대응되는 사용자 의도 및 슬롯에 대한 정보를 전송할 수 있다.
전자 장치(100)는 서버(1100)로부터 수신된 제어 명령을 바탕으로 동작을 수행하거나 응답을 출력할 수 있다(S1170).
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
본 개시의 다양한 실시예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
110: 메모리 120: 프로세서

Claims (20)

  1. 전자 장치에 있어서,
    적어도 하나의 인스트럭션을 저장한 메모리; 및
    상기 메모리에 저장된 적어도 하나의 인스트럭션을 실행하여 상기 전자 장치를 제어하는 프로세서;를 포함하고,
    상기 프로세서는,
    사용자 음성이 입력되면, 상기 사용자 음성의 언어에 대응되는 음성 인식(speech recognition) 모델을 통해 상기 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득하고,
    복수의 종류의 언어를 기정의된 제2 언어로 번역하도록 학습된 기계 번역 모델을 통해 상기 제1 언어의 상기 제1 문장에 대응되는 상기 제2 언어의 제2 문장을 획득하고,
    상기 제2 언어를 바탕으로 학습된 자연어 이해 모델을 통해, 상기 획득된 제2 문장에 대응되는 상기 전자 장치의 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 전자 장치.
  2. 제1항에 있어서,
    상기 메모리는,
    제1 기계 번역 모델 및 제1 자연어 이해 모델을 포함하고,
    상기 프로세서는,
    상기 제1 문장을 상기 제1 기계 번역 모델에 입력하여 상기 제2 문장 및 상기 제2 문장의 신뢰도 값을 획득하고,
    상기 신뢰도 값이 임계 값 이상이면, 상기 제2 문장을 상기 제1 자연어 이해 모델에 입력하여 상기 제2 문장에 대응되는 상기 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 전자 장치.
  3. 제2항에 있어서,
    외부 서버와 통신하는 통신 인터페이스;를 더 포함하고,
    상기 외부 서버는 복수의 종류의 언어를 제2 언어로 번역하도록 학습된 제2 기계 번역 모델을 포함하고,
    상기 프로세서는,
    상기 신뢰도 값이 임계 값 미만이면, 상기 제1 문장을 외부 서버로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 외부 서버로부터 상기 제2 기계 번역 모델을 통해 획득된 제2 언어의 제3 문장이 수신되면, 상기 수신된 제3 문장을 상기 제1 자연어 이해 모델에 입력하여 상기 제3 문장에 대응되는 상기 제어 명령을 획득하거나 상기 제3 문장에 대한 응답을 획득하는 전자 장치.
  4. 제3항에 있어서,
    상기 제1 기계 번역 모델은 상기 제1 문장 및 상기 제3 문장을 바탕으로 재학습되는 전자 장치.
  5. 제3항에 있어서,
    외부 서버와 통신하는 통신 인터페이스;를 더 포함하고,
    상기 외부 서버는 상기 제2 언어를 바탕으로 학습된 제2 자연어 이해 모델을 포함하고,
    상기 프로세서는,
    상기 신뢰도 값이 임계 값 미만이면, 상기 제1 문장을 외부 서버로 전송하도록 상기 통신 인터페이스를 제어하고, 상기 외부 서버로부터 상기 제2 기계 번역 모델 및 상기 제2 자연어 이해 모델을 통해 획득된 상기 제2 텍스트에 대응되는 제어 명령 또는 상기 제2 텍스트에 대한 응답을 상기 통신 인터페이스를 통해 수신하는 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 기계 번역 모듈을 통해 상기 제1 문장에 대응되는 복수의 후보 문장 및 상기 복수의 후보 문장에 대응되는 신뢰도 값을 획득하며,
    상기 학습된 자연어 이해 모듈에 상기 복수의 후보 문장 중 신뢰도 값이 가장 높은 최우선 문장을 입력하여 상기 최우선 문장에 대한 의도(intent)를 판단하고,
    상기 최우선 문장에 대한 의도를 판단하지 못하는 경우, 상기 복수의 후보 문장 중 상기 최우선 문장보다 신뢰도 값이 작은 차순위 문장을 상기 학습된 자연어 이해 모델에 입력하여 상기 차순위 문장에 대한 의도를 판단하는 전자 장치.
  7. 제6항에 있어서,
    상기 전자 장치는 상기기계 번역 모델의 입력 텍스트 및 수정 텍스트를 매핑하여 저장하는 제1 데이터베이스를 더 포함하며,
    상기 프로세서는,
    상기 차순위 문장에 대한 의도가 판단되면, 상기 제1 문장에 포함된 적어도 하나의 텍스트 및 상기 차순위 문장에 포함된 적어도 하나의 텍스트를 입력 텍스트 및 수정 텍스트로 매핑하여 상기 제1 데이터베이스에 저장하는 전자 장치.
  8. 제7항에 있어서,
    상기 전자 장치는 상기 전자 장치에 저장된 고유명사에 대한 정보를 저장하는 제2 데이터베이스를 포함하며,
    상기 프로세서는,
    상기 제2 문장이 상기 제2 데이터베이스에 저장된 고유명사를 포함하면, 상기 제2 문장에 포함된 적어도 하나의 텍스트를 상기 제2 데이터베이스에 저장된 상기 제1 언어의 고유명사로 치환하고, 상기 치환된 제2 문장에 대응되는 상기 전자 장치의 제어 명령을 획득하는 전자 장치.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 제2 문장에 포함된 적어도 하나의 텍스트와 상기 치환된 고유 명사를 입력 텍스트 및 수정 텍스트로 매핑하여 상기 제1 데이터베이스에 저장하는 전자 장치.
  10. 제1항에 있어서,
    상기 기계 번역 모델은 멀티 태스크 러닝(Multi-task learning, MTL)을 수행하여 학습되며,
    상기 기계 번역 모델은 상기 제2 언어를 공통 파라미터로서 학습된 전자 장치.
  11. 전자 장치의 제어 방법에 있어서,
    사용자 음성이 입력되면, 상기 사용자 음성의 언어에 대응되는 음성 인식(speech recognition) 모델을 통해 상기 사용자 음성에 대응되는 제1 언어의 제1 문장을 획득하는 단계;
    복수의 종류의 언어를 기정의된 제2 언어로 번역하도록 학습된 기계 번역 모델을 통해 상기 제1 언어의 상기 제1 문장에 대응되는 상기 제2 언어의 제2 문장을 획득하는 단계; 및
    상기 제2 언어를 바탕으로 학습된 자연어 이해 모델을 통해, 상기 획득된 제2 문장에 대응되는 상기 전자 장치의 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 단계;를 포함하는 제어 방법
  12. 제11항에 있어서,
    상기 전자 장치의 메모리는,
    제1 기계 번역 모델 및 제1 자연어 이해 모델을 포함하고,
    상기 제2 문장을 획득하는 단계는,
    상기 제1 문장을 상기 제1 기계 번역 모델에 입력하여 상기 제2 문장 및 상기 제2 문장의 신뢰도 값을 획득하고,
    상기 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 단계는,
    상기 신뢰도 값이 임계 값 이상이면, 상기 제2 문장을 상기 제1 자연어 이해 모델에 입력하여 상기 제2 문장에 대응되는 상기 제어 명령을 획득하거나 거나 상기 제2 문장에 대한 응답을 획득하는 제어 방법.
  13. 제12항에 있어서,
    상기 전자 장치와 연결된 외부 서버는 복수의 종류의 언어를 제2 언어로 번역하도록 학습된 제2 기계 번역 모델을 포함하고,
    상기 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 단계는,
    상기 신뢰도 값이 임계 값 미만이면, 상기 제1 문장을 외부 서버로 전송하고, 상기 외부 서버로부터 상기 제2 기계 번역 모듈을 통해 획득된 제2 언어의 제3 문장이 수신되면, 상기 수신된 제3 문장을 상기 제1 자연어 이해 모듈에 입력하여 상기 제3 문장에 대응되는 상기 제어 명령을 획득하거나 상기 제3 문장에 대한 응답을 획득하는 제어 방법.
  14. 제13항에 있어서,
    상기 제1 문장 및 상기 제3 문장을 바탕으로 상기 제1 기계 번역 모델을 재학습하는 단계;를 포함하는 제어 방법.
  15. 제13항에 있어서,
    상기 전자 장치와 연결된 외부 서버는 상기 제2 언어를 바탕으로 학습된 제2 자연어 이해 모델을 포함하고,
    상기 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 단계는,
    상기 신뢰도 값이 임계 값 미만이면, 상기 제1 문장을 외부 서버로 전송하고, 상기 외부 서버로부터 상기 제2 기계 번역 모델 및 상기 제2 자연어 이해 모델을 통해 획득된 상기 제2 텍스트에 대응되는 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 제어 방법.
  16. 제1항에 있어서,
    상기 제2 문장을 획득하는 단계는,
    상기 기계 번역 모델을 통해 상기 제1 문장에 대응되는 복수의 후보 문장 및 상기 복수의 후보 문장에 대응되는 신뢰도 값을 획득하며.
    상기 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 단계는,
    상기 학습된 자연어 이해 모듈에 상기 복수의 후보 문장 중 신뢰도 값이 가장 높은 최우선 문장을 입력하여 상기 최우선 문장에 대한 의도(intent)를 판단하고,
    상기 최우선 문장에 대한 의도를 판단하지 못하는 경우, 상기 복수의 후보 문장 중 상기 최우선 문장보다 신뢰도 값이 작은 차순위 문장을 상기 학습된 자연어 이해 모델에 입력하여 상기 차순위 문장에 대한 의도를 판단하는 제어 방법.
  17. 제16항에 있어서,
    상기 전자 장치는 기계 번역 모델의 입력 텍스트 및 수정 텍스트를 매핑하여 저장하는 제1 데이터베이스를 포함하며,
    상기 차순위 문장에 대한 의도가 판단되면, 상기 제1 문장에 포함된 적어도 하나의 텍스트 및 상기 차순위 문장에 포함된 적어도 하나의 텍스트를 입력 텍스트 및 수정 텍스트로 매핑하여 상기 제1 데이터베이스에 저장하는 단계;를 포함하는 제어 방법.
  18. 제17항에 있어서,
    상기 자연어 이해 모델은 상기 전자 장치에 저장된 고유명사에 대한 정보를 저장하는 제2 데이터베이스를 포함하며,
    상기 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 단계는,
    상기 제2 문장이 상기 제2 데이터베이스에 저장된 고유명사를 포함하면, 상기 제2 문장에 포함된 적어도 하나의 텍스트를 상기 제2 데이터베이스에 저장된 상기 제1 언어의 고유명사로 치환하고, 상기 치환된 제2 문장에 대응되는 상기 전자 장치의 제어 명령을 획득하거나 상기 제2 문장에 대한 응답을 획득하는 제어 방법.
  19. 제18항에 있어서,
    상기 제2 문장에 포함된 적어도 하나의 텍스트와 상기 치환된 고유 명사를 입력 텍스트 및 수정 텍스트로 매핑하여 상기 제1 데이터베이스에 저장하는 단계;를 포함하는 제어 방법.
  20. 제11항에 있어서,
    상기 기계 번역 모델은 멀티 태스크 러닝(Multi-task learning, MTL)을 수행하여 학습되며,
    상기 기계 번역 모델은 상기 제2 언어를 공통 파라미터로서 학습된 제어 방법.
KR1020190124049A 2019-06-05 2019-10-07 전자 장치 및 이의 제어 방법 KR20200140171A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/838,447 US11501089B2 (en) 2019-06-05 2020-04-02 Electronic device and method for controlling the electronic device thereof based on determining intent of a user speech in a first language machine translated into a predefined second language
EP20819389.6A EP3908961A4 (en) 2019-06-05 2020-04-13 ELECTRONIC DEVICE AND METHOD FOR CONTROLLING THE ELECTRONIC DEVICE
PCT/KR2020/004973 WO2020246702A1 (en) 2019-06-05 2020-04-13 Electronic device and method for controlling the electronic device thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201962857473P 2019-06-05 2019-06-05
US62/857,473 2019-06-05

Publications (1)

Publication Number Publication Date
KR20200140171A true KR20200140171A (ko) 2020-12-15

Family

ID=73780180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190124049A KR20200140171A (ko) 2019-06-05 2019-10-07 전자 장치 및 이의 제어 방법

Country Status (1)

Country Link
KR (1) KR20200140171A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022182038A1 (ko) * 2021-02-24 2022-09-01 삼성전자주식회사 음성 명령 처리 장치 및 방법
WO2024048989A1 (ko) * 2022-09-02 2024-03-07 삼성전자주식회사 복수의 번역 방식 중에서 선택된 번역 방식을 이용하여 번역문을 생성하는 전자 장치 및 그의 번역문 생성 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022182038A1 (ko) * 2021-02-24 2022-09-01 삼성전자주식회사 음성 명령 처리 장치 및 방법
WO2024048989A1 (ko) * 2022-09-02 2024-03-07 삼성전자주식회사 복수의 번역 방식 중에서 선택된 번역 방식을 이용하여 번역문을 생성하는 전자 장치 및 그의 번역문 생성 방법

Similar Documents

Publication Publication Date Title
US10977452B2 (en) Multi-lingual virtual personal assistant
JP6802005B2 (ja) 音声認識装置、音声認識方法及び音声認識システム
US11094313B2 (en) Electronic device and method of controlling speech recognition by electronic device
US11501089B2 (en) Electronic device and method for controlling the electronic device thereof based on determining intent of a user speech in a first language machine translated into a predefined second language
CN107077841B (zh) 用于文本到语音的超结构循环神经网络
US9805718B2 (en) Clarifying natural language input using targeted questions
US11455989B2 (en) Electronic apparatus for processing user utterance and controlling method thereof
CN113205817B (zh) 语音语义识别方法、系统、设备及介质
KR102375115B1 (ko) 엔드-투-엔드 모델들에서 교차-언어 음성 인식을 위한 음소-기반 컨텍스트화
KR20190071527A (ko) 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법
US11514916B2 (en) Server that supports speech recognition of device, and operation method of the server
CN114830139A (zh) 使用模型提供的候选动作训练模型
US11532301B1 (en) Natural language processing
CN114416934A (zh) 多模态的对话生成模型的训练方法、装置及电子设备
US11521619B2 (en) System and method for modifying speech recognition result
EP3550449A1 (en) Search method and electronic device using the method
KR20200080400A (ko) 페르소나에 기반하여 문장을 제공하는 방법 및 이를 지원하는 전자 장치
KR20200140171A (ko) 전자 장치 및 이의 제어 방법
US11626107B1 (en) Natural language processing
US20220147719A1 (en) Dialogue management
US11404050B2 (en) Electronic apparatus and method for controlling thereof
CN113948060A (zh) 一种网络训练方法、数据处理方法及相关设备
CN113555006B (zh) 一种语音信息识别方法、装置、电子设备及存储介质
Theis Learning to detect named entities in bilingual code-mixed open speech corpora
WO2023205132A1 (en) Machine learning based context aware correction for user input recognition