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

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

Info

Publication number
KR20210094727A
KR20210094727A KR1020200008283A KR20200008283A KR20210094727A KR 20210094727 A KR20210094727 A KR 20210094727A KR 1020200008283 A KR1020200008283 A KR 1020200008283A KR 20200008283 A KR20200008283 A KR 20200008283A KR 20210094727 A KR20210094727 A KR 20210094727A
Authority
KR
South Korea
Prior art keywords
electronic device
user
voice
conversation
processor
Prior art date
Application number
KR1020200008283A
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 KR1020200008283A priority Critical patent/KR20210094727A/ko
Publication of KR20210094727A publication Critical patent/KR20210094727A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • G10L15/144Training of HMMs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/26Speech to text systems
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

전자 장치 및 이의 제어 방법이 제공된다. 전자 장치는 마이크, 학습 모델을 저장하는 메모리, 마이크로부터 사용자 음성이 입력되면, 학습 모델을 이용하여 입력된 사용자 음성에 대응되는 응답을 결정하고, 결정된 응답을 제공하는 프로세서를 포함하고, 프로세서는 사용자와 타 전자 장치의 음성 인식 동작이 수행되면, 음성 인식 동작 중의 대화 내용에 기초하여 학습 모델을 재학습시킨다.

Description

전자 장치 및 이의 제어 방법{Electronic device and Method for controlling the electronic device thereof}
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로, 더욱 상세하게는 사용자와 타 전자 장치간의 대화의 음성 신호를 수집하고, 수집한 음성 신호를 분석하여 학습하는 전자 장치 및 이의 제어 방법에 관한 것이다.
근래에는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다. 기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다. 그리고, 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다.
근래에, 전자 장치는 사용자 음성을 이용하여 다양한 태스크를 수행할 수 있다. 예를 들어, 전자 장치는 사용자의 음성에 대응되는 전자 장치의 동작을 수행하거나, 외부 기기를 제어하기 위한 동작을 수행하는 등의 다양한 태스크를 수행할 수 있다.
그리고, 전자 장치는 구비된 인공 지능 시스템에 따라 다른 대화 전략을 바탕으로 다양한 태스크를 수행할 수 있다. 댁내에 사용자 음성을 인식할 수 있는 복수의 타 전자 장치가 있는 경우, 사용자는 인공 지능 시스템의 장단점에 따라 각 전자 장치를 개별적으로 호출해야 하는 문제점이 존재하였다.
또한, 사용자가 타 전자 장치와 수행한 음성 인식 결과는 전자 장치의 음성 인식 동작에 영향을 주지 않으므로, 사용자는 개별 전자 장치를 학습시켜야 하는 문제점이 존재하였다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로, 본 개시의 목적은 사용자와 타 전자 장치의 음성 인식 동작 중의 대화 내용에 기초하여 타 전자 장치의 대화 전략을 학습하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는 마이크, 학습 모델을 저장하는 메모리, 상기 마이크로부터 사용자 음성이 입력되면, 상기 학습 모델을 이용하여 상기 입력된 사용자 음성에 대응되는 응답을 결정하고, 상기 결정된 응답을 제공하는 프로세서를 포함하고, 상기 프로세서는 사용자와 타 전자 장치의 음성 인식 동작이 수행되면, 상기 음성 인식 동작 중의 대화 내용에 기초하여 상기 학습 모델을 재학습시킬 수 있다.
그리고, 상기 프로세서는 상기 대화 내용을 기초로 사용자 만족도를 산출하고, 상기 산출된 사용자 만족도가 기설정된 값 이상이면, 상기 대화 내용을 기초로 상기 학습 모델을 재학습시킬 수 있다.
그리고, 상기 프로세서는 상기 사용자와 상기 타 전자 장치 간의 대화 시간, 대화 길이 또는 상기 사용자의 질문 빈도 중 적어도 하나에 기초하여 상기 사용자 만족도를 산출할 수 있다.
그리고, 상기 프로세서는 상기 음성 인식 동작에서 상기 마이크를 통하여 입력된 음성에 대응되는 텍스트를 생성하고, 상기 생성된 텍스트를 이용하여 상기 학습 모델을 재학습시킬 수 있다.
그리고, 상기 프로세서는 상기 타 전자 장치를 활성화하기 위한 트리거 음성이 상기 마이크를 통하여 입력되면, 상기 사용자와 상기 타 전자 장치의 상기 대화 내용을 수집할 수 있다.
그리고, 본 개시의 일 실시 예에 따르면, 상기 전자 장치의 음성 인식 동작을 실행하기 위한 트리거 음성과 상기 타 전자 장치를 활성화하기 위한 트리거 음성은 상이할 수 있다.
한편, 상기 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은 사용자와 타 전자 장치의 음성 인식 동작이 수행되는 단계, 상기 음성 인식 동작 중의 대화 내용에 기초하여 학습 모델을 재학습시키는 단계, 마이크로부터 사용자 음성이 입력되면, 상기 학습 모델을 이용하여 상기 입력된 사용자 음성에 대응되는 응답을 결정하는 단계 및 상기 결정된 응답을 제공하는 단계를 포함할 수 있다.
그리고, 상기 재학습시키는 단계는 상기 대화 내용을 기초로 사용자 만족도를 산출하고, 상기 산출된 사용자 만족도가 기설정된 값 이상이면, 상기 대화 내용을 기초로 상기 학습 모델을 재학습시킬 수 있다.
그리고, 상기 재학습시키는 단계는 상기 사용자와 상기 타 전자 장치 간의 대화 시간, 대화 길이 또는 상기 사용자의 질문 빈도 중 적어도 하나에 기초하여 사용자 만족도를 산출할 수 있다.
그리고, 상기 재학습시키는 단계는 상기 음성 인식 동작에서 상기 마이크를 통하여 입력된 음성에 대응되는 텍스트를 생성하고, 상기 생성된 텍스트를 이용하여 상기 학습 모델을 재학습시킬 수 있다.
그리고, 전자 장치의 제어 방법은 상기 타 전자 장치를 활성화하기 위한 트리거 음성이 상기 마이크를 통하여 입력되면, 상기 사용자와 상기 타 전자 장치의 상기 대화 내용을 수집하는 단계를 더 포함할 수 있다.
그리고, 본 개시의 일 실시 예에 따르면 상기 전자 장치의 음성 인식 동작을 실행하기 위한 트리거 음성과 상기 타 전자 장치를 활성화하기 위한 트리거 음성은 상이할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 사용자 음성에 응답하는 전자 장치의 동작을 개략적으로 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 간략히 도시한 블록도이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세히 도시한 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 인공지능 대화 시스템을 도시한 블록도이다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. 어떤 실시예들에서, 전자 장치는, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
본 문서에서, 학습이란 인공신경망에서 실제로 출력된 값과 출력층에서 계산되어 출력된 출력 값과의 차이를 최소화되는 가중치를 찾는 과정을 의미할 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른 사용자 음성에 응답하는 전자 장치의 동작을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 사용자(1), 전자 장치(100) 및 타 전자 장치(200)가 도시되어 있고, 타 전자 장치(200)가 사용자(1)에게 태스크를 제공하기 위해 음성 인식 동작을 수행하는 도면이 도시되어 있다.
전자 장치(100)는 타 전자 장치(200)에 포함된 인공지능 에이전트 프로그램을 활성화하기 위한 트리거 음성(이하, “타 트리거 음성”)을 입력받을 수 있다. 예로, 타 트리거 음성은 "빅스비", "시리", “하이 구글” 등과 같은 타 트리거 단어를 포함할 수 있다. 여기서, 타 트리거 음성은 전자 장치(100)에 포함된 인공지능 에이전트 프로그램을 활성화하기 위한 트리거 음성과 상이할 수 있다. 도 1을 참조하면, “ㅇㅇㅇ아 영화 예매해줘”에서, “ㅇㅇㅇ”이 타 트리거 단어일 수 있다. 전자 장치(100)는 타 트리거 음성을 입력받고, 타 트리거 음성에 응답하여 사용자(1)의 음성 및 사용자(1)의 음성에 대한 타 전자 장치(200)의 응답을 수신할 수 있다.
본 개시의 일 실시 예에 따르면, 전자 장치(100)는 타 전자 장치(200)에 포함된 인공지능 에이전트 프로그램을 활성화하기 위한 타 트리거 음성 이외에, 전자 장치(100)에 구비된 특정 버튼이 입력되면, 사용자(1) 및 타 전자 장치(200)의 음성을 입력받을 수 있다.
그리고, 전자 장치(100)는 타 트리거 음성에 응답하여 인공지능 에이전트 프로그램을 대기 모드로 실행시킬 수 있다. 또는 전자 장치(100)는 인공지능 에이전트 프로그램을 실행하지 않고, 사용자(1) 및 타 전자 장치(200)의 음성을 수신할 수도 있다. 여기서, 대기 모드는 사용자(1)의 음성 또는 요청에 대한 응답을 제공하거나 태스크를 제공하지 않고, 사용자(1) 및 타 전자 장치(200)의 음성을 수신하는 상태를 의미할 수 있다.
전자 장치(100)는 인공지능 에이전트 프로그램을 대기 모드로 실행시킨 후, 사용자(1)의 음성과 타 전자 장치(200)의 음성을 입력받을 수 있다. 이때, 사용자(1)의 음성은 특정 태스크를 수행하기 위한 음성일 수 있고, 타 전자 장치(200)의 음성은 사용자(1)의 음성에 대응되는 응답일 수 있다. 예로, 도 1에 도시된 바와 같이, 전자 장치(100)는 "영화 예매해줘"라는 사용자(1)의 음성과 “이전에 예매한 장소로 알아봐 드릴까요?”라는 타 전자 장치(200)의 음성을 획득할 수 있다.
전자 장치(100)는 사용자(1) 및 타 전자 장치(200)의 음성을 분석하여 타 전자 장치(200)의 음성 인식 동작에 대한 사용자 만족도를 산출할 수 있다. 구체적으로, 전자 장치(100)는 자동 음성 인식 모듈을 통해 사용자(1) 및 타 전자 장치(200)의 음성에 대응되는 텍스트를 획득하고, 획득한 텍스트를 바탕으로 사용자 만족도를 산출할 수 있다.
전자 장치(100)는 사용자(1) 및 타 전자 장치(200)의 음성에 대응되는 대화 내용을 텍스트로 저장하고, 사용자 만족도가 높은 대화 내용을 학습 데이터로 이용하여 학습 모델을 학습할 수 있다. 여기서, 학습 모델은 기학습된 인공지능 모델로서 사용자 음성에 대한 응답을 자연어로 처리하여 제공하며 사용자 음성에 대한 태스크를 수행할 수 있는 대화 시스템을 의미할 수 있다.
그리고, 전자 장치(100)는 학습 모델을 바탕으로 사용자(1)에게 제공할 대화 정보를 생성할 수 있다. 여기서, 대화 정보는 사용자(1)의 음성 또는 요청에 대응되는 복수의 응답을 의미할 수 있다.
상술한 바와 같은 실시 예에 의해, 전자 장치(100)는 사용자(1)와 타 전자 장치(200)간의 대화를 학습할 수 있고, 타 전자 장치(200)의 응답을 바탕으로 전자 장치(100)의 응답을 강화할 수 있다.
한편, 전자 장치(100)는 상술한 바와 같은 사용자(1)의 음성에 대한 응답을 제공하기 위하여 인공지능 에이전트(Artificial intelligence agent)를 이용할 수 있다. 이때, 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램으로서, 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다. 특히, 인공지능 에이전트는 후술할 다양한 모듈(예로, 대화 시스템)을 제어할 수 있다.
구체적으로, 기설정된 사용자(1)의 트리거 음성(예를 들어, "빅스비" 등)가 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 경우, 인공지능 에이전트가 동작할 수 있다.
물론, 기설정된 사용자(1)의 트리거 음성(예를 들어, "빅스비" 등)이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지면 인공지능 에이전트가 동작할 수도 있다. 또한, 인공지능 에이전트는 기설정된 사용자(1)의 트리거 음성(예를 들어, "빅스비" 등)이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지기 이전에 기 실행된 상태일 수 있다. 이 경우, 기설정된 사용자(1)의 트리거 음성(예를 들어, "빅스비" 등)이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 이후에는 전자 장치(100)의 인공지능 에이전트가 사용자(1)의 음성에 대응되는 태스크를 수행할 수 있다. 예를 들어, 인공지능 에이전트가 AI 전용 프로세서에 의해 실행되는 경우, 기설정된 사용자 음성(예를 들어, "빅스비" 등)가 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지기 전에는 범용 프로세서에 의해 전자 장치(100)의 기능이 실행되며, 기설정된 사용자 음성(예를 들어, "빅스비" 등)가 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러진 이후에는 AI 전용 프로세서에 의해 전자 장치(100)의 기능이 실행될 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 간략히 도시한 블록도이다. 도 2에 도시된 바와 같이, 전자 장치(100)는 마이크(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 그러나, 상술한 구성에 한정되는 것은 아니며, 전자 장치(100)의 유형에 따라 일부 구성이 추가되거나 생략될 수 있음은 물론이다.
마이크(110)는 사용자(1) 및 타 전자 장치(200)의 음성을 수신할 수 있다. 구체적으로, 마이크(110)는 음성을 감지하여 음성에 따라 다른 값을 출력할 수 있는 구성일 수 있다. 예를 들어, 다이나믹 마이크, 콘덴서 마이크 등으로 구현될 수 있고, 가청 주파수에 대한 음성을 감지하기 위한 장치일 수 있다.
메모리(120)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 인스트럭션(Instruction) 또는 데이터를 저장할 수 있다. 특히, 메모리(120)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다.
메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 프로세서(130) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다.
특히, 메모리(120)에는 사용자에게 제공하기 위한 복수의 태스크 및 복수의 태스크에 대응되는 제어 명령이 저장될 수 있다. 여기서, 태스크는 전자 장치(100) 또는 외부 전자 장치를 이용하여 사용자에게 제공되는 서비스로, 예컨대, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스를 포함할 수 있다. 태스크는 전자 장치(100)가 획득한 정보에 따라 달라질 수 있고, 전자 장치(100)의 용도 및 기능에 따라 달라질 수 있다.
그리고, 메모리(120)는 대화 시스템을 동작하기 위한 인공지능 에이전트를 저장할 수 있다. 구체적으로, 전자 장치(100)는 사용자 발화에 대한 응답으로 자연어를 생성하기 위하여 인공지능 에이전트(Artificial intelligence agent)를 이용할 수 있다. 이때, 인공지능 에이전트는 AI(Artificial Intelligence) 기반의 서비스(예를 들어, 음성 인식 서비스, 비서 서비스, 번역 서비스, 검색 서비스 등)를 제공하기 위한 전용 프로그램이다. 특히, 인공지능 에이전트는 기존의 범용 프로세서(예를 들어, CPU) 또는 별도의 AI 전용 프로세서(예를 들어, GPU 등)에 의해 실행될 수 있다.
또한, 메모리(120)는 도 4에 도시된 대화 시스템을 구성하는 복수의 구성(또는 모듈)을 포함할 수 있다. 이에 대해서는 도 4를 참조하여 상세히 설명하기로 한다.
프로세서(130)는 메모리(120)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(130)는 메모리(120)에 저장된 적어도 하나의 명령을 실행함으로써, 마이크(110)를 통해 사용자(1) 및 타 전자 장치(200)의 음성을 획득할 수 있다. 구체적으로, 프로세서(130)는 타 전자 장치(200)를 활성화하기 위한 타 트리거 음성이 마이크(110)를 통하여 입력되면, 사용자(1)와 타 전자 장치(200)의 상기 대화 내용을 수집할 수 있다. 여기서, 타 트리거 음성은 타 전자 장치(200)를 활성화하기 위한 트리거 음성으로, 전자 장치(100)의 음성 인식 동작을 실행하기 위한 트리거 음성과는 상이할 수 있다.
그리고, 프로세서(130)는 획득한 사용자(1) 및 타 전자 장치(200)의 음성을 학습 데이터로 이용할지 여부를 판단할 수 있다. 그리고, 프로세서(130)는 사용자(1) 및 타 전자 장치(200)의 음성을 학습할 수 있다.
구체적으로, 프로세서(130)는 마이크(110)를 통해 입력된 사용자(1) 및 타 전자 장치(200)의 음성을 분석하여 사용자(1) 및 타 전자 장치(200)의 음성과 관련된 태스크 및 태스크를 수행하기 위한 엔티티(entity)를 식별하고, 식별된 태스크 및 엔티티를 바탕으로 사용자 만족도를 획득하며, 사용자 만족도를 바탕으로 사용자(1) 및 타 전자 장치(200)의 대화 내용을 학습할지 여부를 판단할 수 있다.
프로세서(130)는 사용자(1)와 타 전자 장치(200) 간의 대화 시간, 대화 길이 또는 사용자의 질문 빈도 중 적어도 하나에 기초하여 사용자 만족도를 산출할 수 있고, 산출된 사용자 만족도가 기설정된 값 이상이면 대화 내용을 기초로 학습 모델을 재학습시킬 수 있다. 예를 들어, 프로세서(130)는 대화 시간이 짧을수록 사용자 만족도가 높은 것으로 판단할 수 있고, 마찬가지로 대화 길이가 짧을수록 사용자(1)가 원하는 응답 및 태스크를 제공한 것이므로 사용자 만족도가 높은 것으로 판단할 수 있다. 프로세서(130)는 사용자(1)가 특정 태스크 및 엔티티에 대한 질문 빈도가 많은 경우에도 사용자 만족도가 높은 것으로 판단할 수 있다. 즉, 프로세서(130)는 사용자(1)가 특정 태스크 및 엔티티에 대응되는 질문 빈도가 많은 경우, 특정 태스크 및 엔티티에 대한 요청에 대한 타 전자 장치(200)의 응답이 적절한 것으로 판단할 수 있다.
한편, 프로세서(130)는 사용자(1)와 타 전자 장치(200)의 음성 인식 동작에서 마이크를 통하여 입력된 음성에 대응되는 텍스트를 생성하고, 생성된 텍스트를 이용하여 학습 모델을 재학습시킬 수 있다.
한편, 본 개시의 일 실시 예에 따르면, 프로세서(130)는 사용자(1)와 타 전자 장치(200)의 대화의 음성 신호를 분석하여 대화의 진행, 주제, 대화 전략(또는 대화 정책)을 분석할 수 있다. 구체적으로, 대화의 진행 및 대화 전략과 관련하여, 프로세서(130)는 대화 매니저 모듈(430)을 이용하여 사용자에게 질의를 하나씩 할지 혹은 여러 개로 할지 여부를 결정할 수 있다. 또한, 프로세서(130)는 대화 매니저 모듈(430)을 이용하여 사용자 음성에 대응되는 응답을 압축해서 제공할지, 풀어서 제공할지를 결정할 수 있다. 예를 들어, 프로세서(130)는 자연어 이해 모듈(420)을 이용하여 사용자(1)와 타 전자 장치(200)의 대화의 음성 신호를 분석한 결과, 대화의 도메인은 영화와 관련된 것이고, 사용자 의도는 영화를 예매인 것을 식별할 수 있다. 그리고, 프로세서(130)는 타 전자 장치(200)의 대화 전략이 정보를 함축적으로 제공하여 적은 수의 대화 로그를 확보하는 것이 대화 전략(또는 대화 정책)임을 식별할 수 있다.
그리고, 프로세서(130)는 사용자(1)와 타 전자 장치(200)의 음성 인식 동작 중의 대화 내용을 기초로 재학습된 학습 모델을 이용하여 사용자 음성에 대응되는 응답을 결정할 수 있다. 구체적으로, 프로세서(130)는 사용자 음성에 포함된 텍스트 중 적어도 하나를 추출하고, 추출된 적어도 하나의 텍스트에 대한 사용자 발화를 유도하기 위한 질문을 생성할 수 있다.
프로세서(130)는 사용자(1)와 타 전자 장치(200)의 음성 인식 동작 중의 대화 내용을 RAW DATA 또는 학습 데이터로 이용하여 전자 장치(100)에 포함된 학습 모델을 학습시킬 수 있다.
한편, 본 개시의 다른 실시 예에 따르면, 프로세서(130)는 사용자(1)와 타 전자 장치(200)의 음성 인식 동작 중의 대화 내용을 그대로 적용하여 사용자 음성에 대응되는 응답을 결정할 수 있다.
이를 위해, 프로세서(130)는 해당 동작을 수행하기 위한 전용 프로세서(예컨대, 임베디드 프로세서) 또는 메모리 디바이스에 저장된 하나 이상의 소프트웨어 프로그램을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예컨대, CPU(Central Processing Unit) 또는 application processor)로 구현될 수 있다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 상세히 도시한 블록도이다.
도 3에 도시된 바와 같이, 전자 장치(100)는 마이크(110), 메모리(120), 프로세서(130), 디스플레이(140), 스피커(150), 통신 인터페이스(160) 및 입력 인터페이스(170)를 포함할 수 있다. 한편, 도 3에 도시된 마이크(110), 메모리(120) 및 프로세서(130)는 도 2에서 설명하였으므로, 중복되는 설명은 생략하기로 한다.
디스플레이(140)는 프로세서(130)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 디스플레이(140)는 질문을 위한 복수의 오브젝트를 포함하는 UI를 표시할 수 있다. 또한, 디스플레이(140)는 사용자(1)와 인공지능 에이전트 시스템 간의 대화를 포함하는 메시지 창을 표시할 수 있다. 디스플레이(140)는 터치 패널과 함께 터치 스크린으로 구현될 수 있다.
스피커(150)는 오디오 처리부에 의해 디코딩이나 증폭, 노이즈 필터링과 같은 다양한 처리 작업이 수행된 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지를 출력하는 구성이다. 특히, 스피커(150)는 사용자 음성에 대한 질문 또는 안내 메시지를 자연어 형태의 음성 메시지로 출력할 수 있다. 한편, 오디오를 출력하기 위한 구성은 스피커로 구현될 수 있으나, 이는 일 실시 예에 불과할 뿐, 오디오 데이터를 출력할 수 있는 출력 단자로 구현될 수 있다.
통신 인터페이스(160)는 외부 전자 장치와 통신을 수행할 수 있다. 통신 인터페이스(160)는 외부 장치와 통신을 수행하기 위한 구성이다. 한편, 통신 인터페이스(160)가 외부 장치와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신하는 것을 포함할 수 있다. 무선 통신은, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신을 포함할 수 있다. 일 실시예에 따르면, 무선 통신은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 전력선 통신, 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 무선 통신 또는 유선 통신이 수행되는 네트워크는 텔레커뮤니케이션 네트워크, 예를 들면, 컴퓨터 네트워크(예: LAN 또는 WAN), 인터넷, 또는 텔레폰 네트워크 중 적어도 하나를 포함할 수 있다.
또한, 통신 인터페이스(160)는 외부의 서버와 통신을 수행하여 인공지능 에이전트 서비스를 제공할 수 있다. 특히, 통신 인터페이스(160)는 외부 서버로 사용자의 음성에 대응되는 음성 신호를 전송할 수 있으며, 외부 서버로부터 사용자의 음성에 대응되는 동작 및 동작을 수행할 장치에 대한 정보를 수신할 수 있다.
입력 인터페이스(170)는 전자 장치(100)를 제어하기 위한 사용자 입력을 수신할 수 있다. 특히, 입력 인터페이스(170)는 특정 태스크를 수행하기 위한 사용자 입력을 받을 수 있다. 입력 인터페이스(170)는 사용자 입력을 받기 위한 물리적 버튼, 사용자 손 또는 스타일러스 펜 등을 이용한 사용자 터치를 입력받기 위한 터치 패널 등이 포함될 수 있다. 상술한 입력 인터페이스(170)의 예는 일 실시 예에 불과할 뿐, 다른 입력 장치(예로, 키보드, 마우스, 모션 입력부 등)로 구현될 수 있다.
도 4는 본 개시의 일 실시 예에 따른 인공지능 대화 시스템을 도시한 블록도이다.
도 4에 도시된 대화 시스템(400)은 가상의 인공지능 에이전트와 자연어를 통해 대화를 수행하기 위한 구성으로서, 본 개시의 일 실시 예 따르면, 대화 시스템(400)은 전자 장치(100)의 메모리(120) 내에 저장될 수 있다. 그러나, 이는 일 실시 예에 불과할 뿐, 대화 시스템(400)에 포함된 적어도 하나의 구성은 외부의 적어도 하나의 서버에 포함될 수 있다.
대화 시스템(400)은 도 4에 도시된 바와 같이, 자동 음성 인식(automatic speech recognition)(ASR) 모듈(410), 자연어 이해(natural language understanding)(NLU) 모듈(420), 대화 매니저(dialogue manager)(DM) 모듈(430), 자연어 생성(natural language generator)(NLG) 모듈(440) 및 텍스트 음성 변환(text to speech)(TTS) 모듈(450)을 포함할 수 있다. 그 밖에 대화 시스템(400)은 패스 플래너(path planner) 모듈 또는 액션 플래너(action planner) 모듈 등을 더 포함할 수 있다.
자동 음성 인식(automatic speech recognition)(ASR) 모듈(410)은 전자 장치(100)로부터 수신된 사용자(1) 또는 타 전자 장치(200)의 음성을 텍스트 데이터로 변환할 수 있다. 예를 들어, 자동 음성 인식 모듈(410)은 발화 인식 모듈을 포함할 수 있다. 발화 인식 모듈은 음향(acoustic) 모델 및 언어(language) 모델을 포함할 수 있다. 예를 들어, 음향 모델은 발성에 관련된 정보를 포함할 수 있고, 언어 모델은 단위 음소 정보 및 단위 음소 정보의 조합에 대한 정보를 포함할 수 있다. 발화 인식 모듈은 발성에 관련된 정보 및 단위 음소 정보에 대한 정보를 이용하여 사용자 발화를 텍스트 데이터로 변환할 수 있다. 음향 모델 및 언어 모델에 대한 정보는, 예를 들어, 자동 음성 인식 데이터베이스(automatic speech recognition database)(ASR DB)(415)에 저장될 수 있다.
자연어 이해 모듈(420)은 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 의도를 파악할 수 있다. 문법적 분석은 사용자 입력을 문법적 단위(예: 단어, 구, 형태소 등)로 나누고, 나누어진 단위가 어떤 문법적인 요소를 갖는지 파악할 수 있다. 의미적 분석은 의미(semantic) 매칭, 룰(rule) 매칭, 포뮬러(formula) 매칭 등을 이용하여 수행할 수 있다. 이에 따라, 자연어 이해 모듈(420)은 사용자 입력이 어느 도메인(domain), 의도(intent) 또는 의도를 표현하는데 필요한 엔티티(Entity)(또는 파라미터(parameter), 슬롯(slot) 등)를 얻을 수 있다.
자연어 이해 모듈(420)은 도메인(domain), 의도(intend) 및 의도를 파악하는데 필요한 엔티티(Entity)로 나누어진 매칭 규칙을 이용하여 사용자가 수행하고자 하는 태스크 및 엔티티를 결정할 수 있다. 예를 들어, 상기 하나의 도메인(예: 메시지)은 태스크를 결정하기 위한 복수의 의도(예: 메시지 전송, 메시지 삭제 등)를 포함할 수 있고, 하나의 의도는 복수의 엔티티(예: 전송 대상, 전송 시간, 전송 내용 등)을 포함할 수 있다. 복수의 룰은, 예를 들어, 하나 이상의 필수 요소 파라미터를 포함할 수 있다. 매칭 규칙은 자연어 인식 데이터베이스(natural language understanding database)(NLU DB)(425)에 저장될 수 있다.
자연어 이해 모듈(420)은 형태소, 구 등의 언어적 특징(예: 문법적 요소)을 이용하여 사용자 입력으로부터 추출된 단어의 의미를 파악하고, 파악된 단어의 의미를 도메인 및 의도에 매칭시켜 사용자가 수행하고자 하는 태스크를 결정할 수 있다. 예를 들어, 자연어 이해 모듈(420)은 각각의 도메인 및 의도에 사용자 입력에서 추출된 단어가 얼마나 포함되어 있는 지를 계산하여 사용자가 수행하고자 하는 태스크를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(420)은 사용자가 수행하고자 하는 태스크를 파악하는데 기초가 된 단어를 이용하여 사용자 음성의 엔티티를 결정할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(420)은 사용자 음성과 관련된 태스크를 파악하기 위한 언어적 특징이 저장된 자연어 인식 데이터베이스(425)를 이용하여 사용자 음성과 관련된 태스크를 결정할 수 있다. 이때, 자연어 인식 데이터베이스(425)에는 개인 정보 등이 포함될 수 있다.
자연어 이해 모듈(420)은 사용자 음성과 관련된 태스크 및 엔티티에 기초하여 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(420)은 사용자 입력의 의도에 기초하여 실행될 앱을 선택하고, 선택된 앱에서 수행될 태스크를 결정할 수 있다. 자연어 이해 모듈(420)은 결정된 태스크에 대응되는 엔티티를 결정하여 패스 룰을 생성할 수 있다. 일 실시 예에 따르면, 자연어 이해 모듈(420)에 의해 생성된 패스 룰은 실행될 앱, 앱에서 실행될 태스크 및 상기 태스크를 실행하는데 필요한 엔티티에 대한 정보를 포함할 수 있다.
자연어 이해 모듈(420)은 사용자 음성과 관련된 태스크 및 엔티티에 기초하여 실행될 앱, 앱에서 실행될 태스크 및 상기 태스크를 실행하는데 필요한 엔티티를 결정하여 하나의 패스 룰, 또는 복수의 패스 룰을 생성할 수 있다. 예를 들어, 자연어 이해 모듈(420)은 전자 장치(100)의 정보를 이용하여 실행될 앱 및 상기 앱에서 실행될 태스크를 사용자 음성의 의도에 따라 온톨로지(ontology) 또는 그래프 모델(graph model) 형태로 배열하여 패스 룰을 생성할 수 있다. 상기 생성된 패스 룰은, 예를 들어, 패스 플래너 모듈을 통해 패스 룰 데이터베이스(path rule database)에 저장될 수 있다. 상기 생성된 패스 룰은 자연어 인식 데이터베이스(425)의 패스 룰 셋에 추가될 수 있다.
자연어 이해 모듈(420)은 생성된 복수의 패스 룰 중 적어도 하나의 패스 룰을 선택할 수 있다. 예를 들어, 자연어 이해 모듈(420)은 복수의 패스 룰 최적의 패스 룰을 선택할 수 있다. 다른 예를 들어, 자연어 이해 모듈(420)은 사용자 음성에 기초하여 일부 태스크만이 특정된 경우 복수의 패스 룰을 선택할 수 있다. 자연어 이해 모듈(420)은 사용자의 추가 입력에 의해 복수의 패스 룰 중 하나의 패스 룰을 결정할 수 있다.
대화 매니저 모듈(430)은 자연어 이해 모듈(420)에 의해 판단된 태스크를 수행할 수 있다. 즉, 대화 매니저 모듈(430)은 자연어 이해 모듈(420)을 바탕으로 획득된 태스크 및 엔티티를 바탕으로 태스크를 수행할 수 있으며, 사용자 음성에 대한 응답을 생성할 수 있다.
또한, 대화 매니저 모듈(430)은 자연어 이해 모듈(420)에 의해 파악된 사용자의 의도가 명확한지 여부를 판단할 수 있다. 예를 들어, 대화 매니저 모듈(430)은 엔티티의 정보가 충분하지 여부에 기초하여 사용자의 의도가 명확한지 여부를 판단할 수 있다. 대화 매니저 모듈(430)은 자연어 이해 모듈(420)에서 파악된 엔티티가 태스크를 수행하는데 충분한지 여부를 판단할 수 있다. 일 실시 예에 따르면, 대화 매니저 모듈(430)은 사용자의 의도가 명확하지 않은 경우 사용자에게 필요한 정보를 요청하는 피드백을 수행할 수 있다. 예를 들어, 대화 매니저 모듈(430)은 사용자의 의도를 파악하기 위한 엔티티에 대한 정보를 요청하는 피드백을 수행할 수 있다. 또한, 대화 매니저 모듈(430)은 자연어 이해 모듈(420)에 의해 변경된 텍스트를 포함하는 사용자 질의를 확인하기 위한 메시지를 생성하여 출력할 수 있다.
일 실시 예에 따르면, 대화 매니저 모듈(430)은 컨텐츠 제공(content provider) 모듈을 포함할 수 있다. 컨텐츠 제공 모듈은 자연어 이해 모듈(420)에서 파악된 태스크 및 엔티티에 기초하여 동작을 수행할 수 있는 경우, 사용자 입력에 대응되는 태스크를 수행한 결과를 생성할 수 있다.
다른 실시 예에 따르면, 대화 매니저 모듈(430)은 지식 데이터베이스(435)를 이용하여 사용자 음성에 대한 응답을 제공할 수 있다. 이때, 지식 데이터베이스(435)는 전자 장치(100) 내에 포함될 수 있으나, 이는 일 실시 예에 불과할 뿐, 외부 서버에 포함될 수 있다. 그리고, 지식 데이터베이스(435)에는 사용자(1)와 타 전자 장치(200) 간의 대화 내용이 저장될 수 있다.
그리고, 대화 매니저 모듈(430)은 사용자(1)의 음성과 관련된 태스크를 수행하기 위한 질문을 생성할 수 있다. 이때, 대화 매니저 모듈(430)은 사용자(1)와 타 전자 장치(200) 간의 대화 내용을 바탕으로 사용자(1)의 음성에 대응되는 응답을 생성할 수 있다. 예를 들어, 사용자(1)의 음성과 관련된 태스크가 송금 태스크인 경우, 대화 매니저 모듈(430)은 송금 태스크와 관련된 사용자(1)와 타 전자 장치(200) 간의 대화 내용을 바탕으로 사용자(1)의 음성에 대응되는 응답을 생성할 수 있다.
또한, 대화 매니저 모듈(430)은 사용자에게 발화 빈도가 높은 대답을 유도하기 위한 질문을 생성할 수 있다. 일 예로, 대화 매니저 모듈(430)은 현재 사용자가 자주 사용하는 텍스트를 포함하는 응답을 유도하기 위한 질문(예로, “위치”, “시간”, “장소”에 관련된 질문)을 생성할 수 있다. 이때, 발화 빈도는 사용자 로그 정보 혹은 텍스트 말뭉치(text corpus)를 통해 산출될 수 있다.
또한, 대화 매니저 모듈(430)은 사용자 음성의 태스크와 의미상 거리가 가까운(명령 도메인 Tree, 혹은 연속공간 내에서 명령 vector와 거리가 가까운) 발화를 하도록 유도하는 질문을 생성할 수 있다. 예로, 대화 매니저 모듈(430)은 텍스트를 벡터 공간상에 매핑할 수 있는 skip-gram 모델과 같은 인공지능 모델을 이용하여 텍스트를 벡터공간 상에 표현할 수 있다. 그리고, 대화 매니저 모듈(430)은 벡터 공간상에 표현된 텍스트들에 대응되는 벡터 각도의 유사성(즉, cosine similarity) 또는 두 벡터 사이의 거리를 이용하여 사용자 음성의 태스크와 의미상 거리가 가까운 발화를 유도하는 질문을 생성할 수 있다. 예로, 두 벡터 사이의 90도가 되거나 두 벡터 사이의 거리가 멀면, 전자 장치(100)는 두 벡터에 대응되는 텍스트가 서로 무관하다고 판단할 수 있다.
자연어 생성 모듈(NLG 모듈)(440)은 대화 매니저 모듈(430)을 통해 출력된 정보를 텍스트 형태로 변경할 수 있다. 텍스트 형태로 변경된 정보는 자연어 발화의 형태일 수 있다. 텍스트 형태로 변경된 정보는 전자 장치(100)의 디스플레이(140)에 표시되거나, 텍스트 음성 변환 모듈(TTS 모듈)(450)에 의해 음성 형태로 변경될 수 있다.
텍스트 음성 변환 모듈(TTS 모듈)(450)은 텍스트 형태의 정보를 음성 형태의 정보로 변경할 수 있다. 텍스트 음성 변환 모듈(450)은 자연어 생성 모듈(440)로부터 텍스트 형태의 정보를 수신하고, 텍스트 형태의 정보를 음성 형태의 정보로 변경하여 스피커로 출력할 수 있다.
자연어 이해 모듈(420), 대화 매니저 모듈(430) 및 자연어 생성 모듈(440)은 적어도 하나의 모듈로 구현될 수 있다. 예를 들어, 자연어 이해 모듈(420), 대화 매니저 모듈(430) 및 자연어 생성 모듈(440)은 하나의 모듈로 구현되어 사용자의 태스크 및 엔티티를 결정하고, 결정된 사용자의 태스크 및 엔티티를 바탕으로 사용자 음성과 관련된 태스크가 사용자 확인이 필요한 태스크인지 여부를 결정하고, 결정 결과를 바탕으로 질문을 생성하거나 사용자 음성에 대응되는 응답(예로, 패스 룰)을 획득할 수 있다.
도 5는 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
우선, 사용자(1)와 타 전자 장치(200)의 음성 인식 동작이 수행될 수 있다(S510). 그리고, 전자 장치(100)는 사용자(1)와 타 전자 장치(200)의 음성 인식 동작 중의 대화 내용을 수집할 수 있다. 구체적으로, 전자 장치(100)는 마이크를 통하여 타 전자 장치(200)를 활성화하기 위한 타 트리거 음성을 수신할 수 있다. 그리고, 전자 장치(100)는 수신한 타 트리거 음성에 응답하여 사용자(1) 및 타 전자 장치(200)의 음성을 수집할 수 있다. 여기서, 타 트리거 음성은 타 전자 장치를 활성화하기 위한 타 트리거 단어를 포함하는 음성으로, 전자 장치의 음성 인식 동작을 실행하기 위한 트리거 음성과는 상이할 수 있다.
그리고, 전자 장치(100)는 사용자(1) 및 타 전자 장치(200)의 음성 인식 동작 중의 대화 내용에 기초하여 학습 모델을 재학습시킬 수 있다(S520). 구체적으로, 전자 장치(100)는 사용자(1) 및 타 전자 장치(200)의 대화 내용을 기초로 사용자 만족도를 산출하고, 산출된 사용자 만족도가 기설정된 값 이상이면, 사용자(1) 및 타 전자 장치(200)의 대화 내용을 기초로 학습 모델을 재학습시킬 수 있다. 여기서, 학습 모델은 기학습된 인공지능 모델로서 사용자 음성에 대한 응답을 자연어로 처리하여 제공하며 사용자 음성에 대한 태스크를 수행할 수 있는 대화 시스템을 의미할 수 있다.
구체적으로, 전자 장치(100)는 사용자(1)와 타 전자 장치(200) 간의 대화 시간, 대화 길이 또는 사용자의 질문 빈도 중 적어도 하나에 기초하여 사용자 만족도를 산출할 수 있다. 그리고, 산출된 사용자 만족도가 기설정된 값 이상이면, 전자 장치(100)는 대화 내용을 기초로 학습 모델을 재학습시킬수 있다.
한편, 전자 장치(100)는 음성 인식 동작에서 마이크를 통하여 입력된 음성에 대응되는 텍스트를 생성하고, 생성된 텍스트를 이용하여 학습 모델을 재학습시킬 수 있다.
전자 장치(100)는 사용자(1) 및 타 전자 장치(200)의 대화 내용을 바탕으로 학습된 인공지능 모델을 이용하여 사용자 음성에 대응되는 응답을 결정할 수 있다. 구체적으로, 전자 장치(100)는 마이크로부터 사용자 음성이 입력되면, 학습 모델을 이용하여 입력된 사용자 음성에 대응되는 응답을 결정할 수 있다(S530). 구체적으로, 전자 장치(100)는 학습 모델을 바탕으로 사용자(1)에게 제공할 대화 정보를 생성할 수 있다. 여기서, 대화 정보는 사용자(1)의 음성 또는 요청에 대응되는 복수의 응답을 의미할 수 있다.
그리고, 전자 장치(100)는 결정된 응답을 제공할 수 있다(S540).
상술한 바와 같은 본 개시의 다양한 실시 예에 의해, 전자 장치(100)는 사용자(1)와 타 전자 장치(200)간의 대화를 학습할 수 있고, 타 전자 장치(200)의 응답을 바탕으로 전자 장치(100)의 응답을 강화할 수 있다.
한편, 전자 장치(100)는 전자 장치(100)에 저장된 인공지능 에이전트 프로그램을 이용하여 상술한 바와 같은 동작을 수행할 수 있으나, 이는 일 실시 예에 불과할 뿐, 외부의 서버와 연동하여 상술한 바와 같은 동작을 수행할 수 있다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 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)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
100: 입력 인터페이스 120: 통신 인터페이스
130: 메모리 140: 프로세서
150: 디스플레이 160: 스피커
170: 센서

Claims (12)

  1. 전자 장치에 있어서,
    마이크;
    학습 모델을 저장하는 메모리;
    상기 마이크로부터 사용자 음성이 입력되면, 상기 학습 모델을 이용하여 상기 입력된 사용자 음성에 대응되는 응답을 결정하고, 상기 결정된 응답을 제공하는 프로세서;를 포함하고,
    상기 프로세서는,
    사용자와 타 전자 장치의 음성 인식 동작이 수행되면, 상기 음성 인식 동작 중의 대화 내용에 기초하여 상기 학습 모델을 재학습시키는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 대화 내용을 기초로 사용자 만족도를 산출하고, 상기 산출된 사용자 만족도가 기설정된 값 이상이면, 상기 대화 내용을 기초로 상기 학습 모델을 재학습시키는 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 사용자와 상기 타 전자 장치 간의 대화 시간, 대화 길이 또는 상기 사용자의 질문 빈도 중 적어도 하나에 기초하여 상기 사용자 만족도를 산출하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 음성 인식 동작에서 상기 마이크를 통하여 입력된 음성에 대응되는 텍스트를 생성하고, 상기 생성된 텍스트를 이용하여 상기 학습 모델을 재학습시키는 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 타 전자 장치를 활성화하기 위한 트리거 음성이 상기 마이크를 통하여 입력되면, 상기 사용자와 상기 타 전자 장치의 상기 대화 내용을 수집하는 전자 장치.
  6. 제5항에 있어서,
    상기 전자 장치의 음성 인식 동작을 실행하기 위한 트리거 음성과 상기 타 전자 장치를 활성화하기 위한 트리거 음성은 상이한 전자 장치.
  7. 전자 장치의 제어 방법에 있어서,
    사용자와 타 전자 장치의 음성 인식 동작이 수행되는 단계;
    상기 음성 인식 동작 중의 대화 내용에 기초하여 학습 모델을 재학습시키는 단계;
    마이크로부터 사용자 음성이 입력되면, 상기 학습 모델을 이용하여 상기 입력된 사용자 음성에 대응되는 응답을 결정하는 단계; 및
    상기 결정된 응답을 제공하는 단계;를 포함하는 제어 방법.
  8. 제7항에 있어서,
    상기 재학습시키는 단계는,
    상기 대화 내용을 기초로 사용자 만족도를 산출하고, 상기 산출된 사용자 만족도가 기설정된 값 이상이면, 상기 대화 내용을 기초로 상기 학습 모델을 재학습시키는 제어 방법.
  9. 제8항에 있어서,
    상기 재학습시키는 단계는,
    상기 사용자와 상기 타 전자 장치 간의 대화 시간, 대화 길이 또는 상기 사용자의 질문 빈도 중 적어도 하나에 기초하여 사용자 만족도를 산출하는 제어 방법.
  10. 제7항에 있어서,
    상기 재학습시키는 단계는,
    상기 음성 인식 동작에서 상기 마이크를 통하여 입력된 음성에 대응되는 텍스트를 생성하고, 상기 생성된 텍스트를 이용하여 상기 학습 모델을 재학습시키는 제어 방법.
  11. 제7항에 있어서,
    상기 타 전자 장치를 활성화하기 위한 트리거 음성이 상기 마이크를 통하여 입력되면, 상기 사용자와 상기 타 전자 장치의 상기 대화 내용을 수집하는 단계;를 더 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 전자 장치의 음성 인식 동작을 실행하기 위한 트리거 음성과 상기 타 전자 장치를 활성화하기 위한 트리거 음성은 상이한 제어 방법.
KR1020200008283A 2020-01-22 2020-01-22 전자 장치 및 이의 제어 방법 KR20210094727A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200008283A KR20210094727A (ko) 2020-01-22 2020-01-22 전자 장치 및 이의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200008283A KR20210094727A (ko) 2020-01-22 2020-01-22 전자 장치 및 이의 제어 방법

Publications (1)

Publication Number Publication Date
KR20210094727A true KR20210094727A (ko) 2021-07-30

Family

ID=77148379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200008283A KR20210094727A (ko) 2020-01-22 2020-01-22 전자 장치 및 이의 제어 방법

Country Status (1)

Country Link
KR (1) KR20210094727A (ko)

Similar Documents

Publication Publication Date Title
US11854527B2 (en) Electronic device and method of controlling speech recognition by electronic device
US11238871B2 (en) Electronic device and control method thereof
US11842735B2 (en) Electronic apparatus and control method thereof
US11508378B2 (en) Electronic device and method for controlling the same
US11367441B2 (en) Electronic apparatus and control method thereof
US11631400B2 (en) Electronic apparatus and controlling method thereof
US20200125967A1 (en) Electronic device and method for controlling the electronic device
US11393459B2 (en) Method and apparatus for recognizing a voice
US11367443B2 (en) Electronic device and method for controlling electronic device
US11468892B2 (en) Electronic apparatus and method for controlling electronic apparatus
US20210383794A1 (en) Electronic device
US11830502B2 (en) Electronic device and method for controlling the same
KR20190090424A (ko) 사용자 발화 응답 방법 및 이를 지원하는 전자 장치
CN112384974A (zh) 电子装置和用于提供或获得用于训练电子装置的数据的方法
US20220059088A1 (en) Electronic device and control method therefor
US11315553B2 (en) Electronic device and method for providing or obtaining data for training thereof
US11817097B2 (en) Electronic apparatus and assistant service providing method thereof
US11705110B2 (en) Electronic device and controlling the electronic device
KR102396147B1 (ko) 음성 명령을 이용한 동작을 수행하는 전자 장치 및 전자 장치의 동작 방법
KR20200080389A (ko) 전자 장치 및 그 제어 방법
KR20210094727A (ko) 전자 장치 및 이의 제어 방법
KR20210098250A (ko) 전자 장치 및 이의 제어 방법
US12002451B1 (en) Automatic speech recognition