KR20210024861A - 대화 서비스를 제공하는 방법 및 전자 디바이스 - Google Patents

대화 서비스를 제공하는 방법 및 전자 디바이스 Download PDF

Info

Publication number
KR20210024861A
KR20210024861A KR1020190104573A KR20190104573A KR20210024861A KR 20210024861 A KR20210024861 A KR 20210024861A KR 1020190104573 A KR1020190104573 A KR 1020190104573A KR 20190104573 A KR20190104573 A KR 20190104573A KR 20210024861 A KR20210024861 A KR 20210024861A
Authority
KR
South Korea
Prior art keywords
user
electronic device
database
time point
conversation
Prior art date
Application number
KR1020190104573A
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 KR1020190104573A priority Critical patent/KR20210024861A/ko
Priority to US16/797,339 priority patent/US11710481B2/en
Priority to PCT/KR2020/002972 priority patent/WO2021040163A1/en
Priority to EP20856788.3A priority patent/EP3980902A4/en
Priority to CN202080062807.1A priority patent/CN114391143A/zh
Publication of KR20210024861A publication Critical patent/KR20210024861A/ko
Priority to US18/210,696 priority patent/US20230335131A1/en

Links

Images

Classifications

    • 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/1822Parsing for meaning understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • 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/40Processing or translation of natural language
    • G06K9/00221
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • 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/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
    • 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
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • 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/24Speech recognition using non-acoustical features
    • G10L15/25Speech recognition using non-acoustical features using position of the lips, movement of the lips or face 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • 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
    • 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
    • G10L2015/223Execution procedure of a spoken command

Abstract

일 실시 예에 따른 전자 디바이스가 대화 서비스를 제공하는 방법은, 사용자의 발화 입력을 수신하는 단계, 상기 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별하는 단계, 상기 시간 표현에 기초하여 상기 발화 입력에 관련된 시점을 결정하는 단계, 상기 대화 서비스를 이용한 상기 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 상기 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택하는 단계, 상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보에 기초하여 상기 텍스트를 해석하는 단계, 상기 해석 결과에 기초하여 상기 수신된 발화 입력에 대한 응답 메시지를 생성하는 단계, 및 상기 생성된 응답 메시지를 출력하는 단계를 포함할 수 있다.

Description

대화 서비스를 제공하는 방법 및 전자 디바이스 {ELECTRONIC APPARATUS AND METHOD FOR PROVIDING CONVERSATION SERVICE}
본 개시는 대화 서비스를 제공하는 방법 및 전자 디바이스에 관한 것으로서, 보다 상세하게는 사용자의 대화 이력에 기초하여 사용자의 발화 입력을 해석하고 응답 메시지를 출력하는 방법 및 장치에 관한 것이다.
최근에 스마트폰과 같이 다양한 기능을 복합적으로 수행하는 전자 디바이스들이 개발됨에 따라, 조작성을 향상시키기 위하여 음성 인식 기능이 탑재된 전자 디바이스들이 출시되고 있다. 음성 인식 기술은, 사용자가 일상적인 언어로 입력하는 음성 질문에 응답하여 응답 메시지를 출력하는 대화형 사용자 인터페이스(Conversational User Interface)에 적용됨으로써 사용자 친화적인 대화 서비스를 제공할 수 있다.
대화형 사용자 인터페이스는 사용자의 언어로 대화를 하면서 동작하는 지능형(intelligent) 사용자 인터페이스를 의미한다. 대화형 사용자 인터페이스는, 사용자의 질문에 대해 응답을 출력하는 QA 시스템에 이용될 수 있다. QA 시스템은, 사용자의 질문에 대한 답변을 탐색하여 사용자에게 제공한다는 점에서, 단순히 사용자의 질문과 관련된 정보를 검색하고 나열하는 정보 검색 기술과는 차이점이 존재한다.
일 예로서, 스마트폰, 컴퓨터, PDA(personal digital assistants), PMP(portable multimedia player), 스마트 가전, 네비게이션, 웨어러블 디바이스 등과 같은 개인용 전자 디바이스는, 서버에 접속하거나 애플리케이션을 실행함으로써 대화 서비스를 제공할 수 있다.
다른 예로서, 상점 또는 공공 기관에 설치된 무인 안내 정보 단말, 무인 키오스크, 무인 계산대 등과 같은 공용 전자 디바이스도 대화 서비스를 제공할 수 있다. 공공 장소에 설치되는 공용 전자 디바이스는, 사용자의 발화 입력을 정확하게 파악하고 개인 맞춤형 답변을 제공하기 위해서, 각 사용자 별 대화 이력을 저장하고 이용할 필요가 있다.
다수의 사용자들을 상대로 대화 서비스를 제공하는 디바이스를 이용함에 있어서, 사용자가 과거의 대화 이력과 관련된 발화를 하는 경우에도 디바이스로부터 정확한 개인 맞춤형 답변을 제공 받을 수 있는 방법이 요구된다.
또한, 대화 서비스를 제공하는 디바이스가 사용자의 계정에 연동하여 저장된 대화 이력을 불러오는 과정을 보다 사용자 친화적으로 수행할 수 있는 방법이 요구된다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시 예에 따른 전자 디바이스가 대화 서비스를 제공하는 방법은, 사용자의 발화 입력을 수신하는 단계; 상기 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별하는 단계; 상기 시간 표현에 기초하여 상기 발화 입력에 관련된 시점을 결정하는 단계; 상기 대화 서비스를 이용한 상기 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 상기 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택하는 단계; 상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보에 기초하여 상기 텍스트를 해석하는 단계; 상기 해석 결과에 기초하여 상기 수신된 발화 입력에 대한 응답 메시지를 생성하는 단계; 및 상기 생성된 응답 메시지를 출력하는 단계를 포함할 수 있다.
일 실시 예에 따른 대화 서비스를 제공하는 전자 디바이스는, 하나 이상의 명령어들을 저장하는 메모리; 및 상기 하나 이상의 명령어들을 실행함으로써 사용자에게 상기 대화 서비스를 제공하는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는, 상기 사용자의 발화 입력을 수신하고, 상기 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별하고, 상기 시간 표현에 기초하여 상기 발화 입력에 관련된 시점을 결정하고, 상기 대화 서비스를 이용한 상기 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 상기 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택하고, 상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보에 기초하여 상기 텍스트를 해석하고, 상기 해석 결과에 기초하여 상기 수신된 발화 입력에 대한 응답 메시지를 생성하고, 상기 생성된 응답 메시지를 출력하는 단계를 포함할 수 있다.
일 실시 예에 따른 대화 서비스를 제공하는 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체에 있어서, 상기 방법은, 사용자의 발화 입력을 수신하는 단계; 상기 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별하는 단계; 상기 시간 표현에 기초하여 상기 발화 입력에 관련된 시점을 결정하는 단계; 상기 대화 서비스를 이용한 상기 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 상기 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택하는 단계; 상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보에 기초하여 상기 텍스트를 해석하는 단계; 상기 해석 결과에 기초하여 상기 수신된 발화 입력에 대한 응답 메시지를 생성하는 단계; 및 상기 생성된 응답 메시지를 출력하는 단계를 포함할 수 있다.
도 1은 일 실시 예에 따라 전자 디바이스가 대화 이력에 기초하여 대화 서비스를 제공하는 예를 도시한다.
도 2a 및 도 2b는 일 실시 예에 따라 대화 서비스를 제공하는 시스템을 도시한다.
도 3은 일 실시 예에 따라 전자 디바이스가 대화 서비스를 제공하는 방법의 흐름도이다.
도 4a 및 도 4b는 일 실시 예에 따라 전자 디바이스가 대화 이력에 기초하여 대화 서비스를 제공하는 예를 도시한다.
도 5는 일 실시 예에 따라 전자 디바이스가 대화 서비스를 제공하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시 예에 따라 저장되는 대화 이력에 관한 정보의 예를 도시한다.
도 7a 및 도 7b는 일 실시 예에 따라 전자 디바이스가 대화 서비스를 제공하는 방법의 흐름도이다.
도 8은 일 실시 예에 따라 전자 디바이스가 답변을 생성하기 위하여 대화 이력 정보를 참조할 지 여부를 판단하는 방법의 흐름도이다.
도 9는 일 실시 예에 따라 전자 디바이스가 사용자의 발화 입력에 기초하여 데이터베이스를 선택하는 방법의 흐름도이다.
도 10은 일 실시 예에 따라 전자 디바이스가 사용자의 발화 입력에 관련된 시점을 결정하기 위해 이용하는 확률 그래프를 도시한다.
도 11은 일 실시 예에 따라 전자 디바이스가 사용자의 대화 이력이 저장되는 데이터베이스를 전환하는 방법을 설명하기 위한 도면이다.
도 12a, 도 12b, 도 12c 및 도 12d는 일 실시 예에 따라 복수의 전자 디바이스들이 사용자의 대화 이력을 공유하는 과정을 설명하기 위한 도면이다.
도 13a 및 도 13b는 일 실시 예에 따른 전자 디바이스의 블록도이다.
도 14는 일 실시 예에 따른 전자 디바이스의 구체화된 블록도이다.
도 15a 및 도 15b는 일 실시 예에 따른 전자 디바이스에 포함되는 프로세서의 블록도이다.
도 16은 일 실시 예에 따른 음성 인식 모듈의 구체화된 블록도이다.
도 17은 일 실시 예에 따른 시간 표현 추출 모델을 설명하는 도면이다.
도 18은 일 실시 예에 따른 시점 예측 모델을 설명하는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시 예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 또한, 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 개시의 일부 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어 질 수 있다. 이러한 기능 블록들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 본 개시의 기능 블록들은 하나 이상의 마이크로프로세서들에 의해 구현되거나, 소정의 기능을 위한 회로 구성들에 의해 구현될 수 있다. 또한, 예를 들어, 본 개시의 기능 블록들은 다양한 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능 블록들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 개시는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다.
또한, 도면에 도시된 구성 요소들 간의 연결 선 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것일 뿐이다. 실제 장치에서는 대체 가능하거나 추가된 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들에 의해 구성 요소들 간의 연결이 나타내어 질 수 있다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
일반적으로, 다수의 사용자들을 상대로 대화 서비스를 제공하는 디바이스는, 사용자의 계정 단위로 대화를 관리하거나, 또는 사용자를 식별하지 않고 일회성 세션 단위로 대화를 관리할 수 있다. 세션이란, 전자 디바이스가 사용자의 질문에 대한 음성 인식을 수행하고 답변을 출력하는 대화 서비스를 시작해서 종료할 때까지의 시간을 가리킬 수 있다.
일반적으로, 디바이스가 사용자의 계정 단위로 대화를 관리하는 경우, 사용자가 ID 또는 이름 등의 사용자 정보를 입력함으로써 사용자의 계정을 등록하고, 매번 사용할 때마다 사용자 정보를 입력하고 자신의 계정을 불러오는 과정이 요구되는 번거로움이 있다.
이러한 사용자의 번거로움을 줄이기 위하여 사용자를 식별하지 않고 일회성 세션 단위로 대화를 관리하는 디바이스가 이용될 수 있다. 디바이스가 일회성 세션 단위로 대화를 관리 하는 경우, 세션이 종료된 후에 사용자의 발화 입력을 수신하면, 디바이스는 새로운 세션을 시작하고 이 전의 대화 이력에 대한 정보 없이 대화 서비스를 제공한다. 따라서, 새로운 세션이 시작된 후에 사용자가 이 전 세션에서 대화 했던 내용과 관련된 질문을 하는 경우, 디바이스는 사용자의 질문에 대한 정확한 답변을 제공할 수 없다.
상술한 문제점들을 해결하기 위해서 본 개시에서는 전자 디바이스가 사용자가 계정을 등록하는 과정 없이 자동으로 사용자를 식별하여 사용자 별 대화 이력을 저장하고 응대에 활용하는 방법을 제공한다.
도 1은 사용자(10)가 한달 전에 상점을 방문하여 전자 디바이스(200)를 통해 에어컨, TV, 냉장고를 구매한 경우를 가정하여 도시한다. 일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)가 사용자 인증을 위한 사용자 정보를 입력하지 않고 전자 디바이스(200)에 가깝게 다가가는 것만으로도 사용자의 얼굴 기반 인증을 자동으로 수행할 수 있다. 전자 디바이스(200)는 사용자의 별도의 명령 없이도 사용자 얼굴 기반 인증을 통해 대화 서비스를 시작할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 얼굴을 인식함으로써 사용자(10)의 얼굴 ID가 저장되어 있음을 확인하고, 사용자(10)가 대화 서비스를 이용한 적이 있다고 판단 할 수 있다. 전자 디바이스(200)는, 사용자의 서비스 사용 이력에 기초하여 "또 오셨네요"라는 음성 메시지를 출력할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 얼굴에 매칭되는 얼굴 ID가 검색되지 않는 경우, 사용자(10)가 대화 서비스를 이용한 적이 없다고 판단할 수 있다. 전자 디바이스(200)는, 사용자(10)가 대화 서비스를 처음으로 이용하는 것으로 판단하는 경우 "첫 방문을 환영합니다"라는 음성 메시지를 출력할 수 있다. 본 개시의 일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 서비스 사용 이력에 기초하여, 상황에 적합한 고객 접대 메시지를 출력할 수 있다.
도 1에 도시된 바와 같이, 사용자(10)는 사용자(10)가 한달 전에 전자 디바이스(200)를 통해 구매했던 제품들과 관련하여, "지난 번에 내가 샀던 것 있잖아"라고 발화할 수 있다.
기존에 일회용 세션 단위로 대화를 관리하는 전자 디바이스는, 사용자(10)와의 과거 대화 내용을 저장하지 않기 때문에, 사용자(10)가 과거에 발화 했던 내용과 관련된 발화를 하더라도 대화의 연속성을 보장할 수 없고 적합한 응답 메시지를 제공할 수 없다.
반면에 일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 과거 대화 이력에 기초하여 사용자(10)의 발화를 해석함으로써, 대화 이력 기반 응답 메시지를 출력할 수 있다.
예를 들어, 도 1에 도시된 바와 같이, 전자 디바이스(200)는, 사용자(10)가 한달 전에 전자 디바이스(200)를 통해 구매했던 제품들과 관련된 대화 이력에 기초하여, "한달 전에 한달 전에 에어컨, TV, 냉장고를 구매하셨어요. 어떤 제품을 말씀하시나요?"라는 응답 메시지를 출력할 수 있다. 본 개시의 일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 발화를 해석하기 위해서 사용자의 과거 대화 이력이 필요하다고 판단되는 경우, 인식된 사용자(10)의 얼굴에 매칭되어 저장된 사용자(10)의 과거 대화 이력에 기초하여 사용자(10)의 발화를 해석하고, 해석 결과에 기초하여 응답 메시지를 생성할 수 있다.
도 2a 및 도 2b는 일 실시 예에 따라 대화 서비스를 제공하는 시스템을 도시한다.
도 2a에 도시된 바와 같이, 본 개시의 일 실시 예에 따른 전자 디바이스(200)는 단독으로 사용자(10)에게 대화 서비스를 제공할 수 있다. 예를 들어, 전자 디바이스(200)는, TV, 냉장고, 세탁기 등의 가전 제품, 스마트 폰, PC, 웨어러블 디바이스, PDA(personal digital assistant), 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털 방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 전자 디바이스(200)는, 챗봇 애플리케이션 또는 대화형 비서(conversational agent) 애플리케이션을 실행함으로써, 대화 서비스를 제공할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 발화 입력을 수신하고, 수신된 발화 입력에 대한 응답 메시지를 생성하고 출력할 수 있다.
구체적으로, 일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)가 계정을 등록하는 과정 없이 자동으로 사용자(10)를 식별하여 사용자 별 대화 이력을 저장하고 응대에 활용하는 방법을 제공할 수 있다.
예를 들어, 일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 얼굴을 카메라로 인식하고, 저장된 얼굴 ID 중에서 인식된 얼굴과 매칭되는 얼굴 ID를 검색할 수 있다. 전자 디바이스(200)는, 검색된 얼굴 ID에 매핑되어 있는 대화 이력 및 대화 서비스 사용 내역을 불러올 수 있다. 전자 디바이스(200)는, 대화 이력에 기초하여 사용자(10)에게 대화 서비스를 제공하고, 사용자(10)와의 대화가 종료된 후에 대화 이력을 업데이트할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 저장된 얼굴 ID 중에서 인식된 얼굴과 매칭되는 얼굴 ID가 없는 경우, 사용자의 얼굴과 관련된 정보를 저장할지 여부를 사용자(10)에게 확인할 수 있다. 사용자(10)가 자신의 얼굴 ID를 저장할 것을 동의하는 경우, 전자 디바이스(200)는 사용자(10)와의 대화가 종료된 후에 대화 이력 및 서비스 사용 내역을 사용자(10)의 얼굴 ID에 매핑하여 저장 할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 저장된 얼굴 ID 및 대화 이력을 관리함에 있어서, 메모리 용량이 제한되어 있고 개인 정보가 보호되어야 한다는 점에 기초하여 얼굴 ID 및 대화 이력이 저장될 수 있는 최대 저장 기간을 지정할 수 있다. 전자 디바이스(200)는, 최대 저장 기간을 도과 하면 저장된 얼굴 ID 및 대화 이력을 삭제할 수 있다. 단, 최대 저장 기간을 도과 하기 전에 사용자(10)가 재인식 되는 경우(예를 들어, 사용자(10)가 상점을 재 방문 하는 경우), 전자 디바이스(200)는 저장 기간을 연장하여 유동적으로 관리할 수 있다. 전자 디바이스(200)는, 사용자(10)가 대화 서비스를 이용하는 간격 및 이용 횟수에 따라, 사용자 별로 상이하게 정보의 저장 기간을 지정할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 질문을 해석하기 위해서 과거의 대화 이력 및 서비스 사용 이력이 필요하다 판단된 경우, 사용자(10)의 대화 이력에 기초하여 응답 메시지를 생성하고 출력할 수 있다.
전자 디바이스(200)는, 사용자(10)의 발화 입력을 수신하고, 발화 입력에 포함된 시간과 관련된 컨텍스트를 판단할 수 있다. 발화 입력에 포함된 시간과 관련된 컨텍스트는, 발화 입력에 포함된 사용자의 의도에 따른 응답을 생성하기 위해 필요한 시간과 관련된 정보를 의미할 수 있다. 전자 디바이스는 판단된 결과에 기초하여 제1 기간 동안 누적된 대화 이력에 관한 정보와 제2 기간 동안 누적된 대화 이력에 관한 정보 중에서 어떠한 대화 이력 정보를 사용할 것인지 결정할 수 있다. 따라서, 전자 디바이스는, 선택된 대화 이력에 관한 정보만을 고려하여 대화의 컨텍스트를 파악함으로써, 사용자(10)의 질문을 해석하고 답변을 제공하는데 소요되는 시간을 절약할 수 있다.
또한, 도 2b에 도시된 바와 같이, 일 실시 예에 따른 전자 디바이스(200)는, 다른 전자 디바이스(300) 및/또는 서버(210)와 연동하여 대화 서비스를 제공할 수 있다. 전자 디바이스(200), 다른 전자 디바이스(300) 및 서버(210)는 유선 또는 무선으로 연결 될 수 있다.
다른 전자 디바이스(300) 또는 서버(210)는, 전자 디바이스(200)와 데이터, 자원 및 서비스를 공유하거나, 전자 디바이스(200)의 제어, 파일 관리, 또는 네트워크 전체의 감시 등을 수행할 수 있다. 예를 들어, 다른 전자 디바이스(300)는, 모바일 또는 비모바일 컴퓨팅 장치일 수 있다.
전자 디바이스(200)는, 다른 전자 디바이스(300) 및/또는 서버(210)와의 통신을 통해 사용자의 발화 입력에 대한 응답 메시지를 생성하고 출력할 수 있다.
도 2a 및 2b에 도시된 바와 같이, 일 실시 예에 따른 대화 서비스 제공 시스템은, 적어도 하나의 전자 디바이스 및/또는 서버를 포함할 수 있다. 이하에서는, 설명의 편의를 위해 “전자 디바이스”에서 수행되는 대화 서비스 제공 방법에 대해 서술하도록 하겠다. 다만, 이하에서 기술되는 전자 디바이스의 동작의 일부 또는 전부는 전자 디바이스와 연결되는 다른 전자 디바이스 및/또는 서버에서도 수행될 수 있으며, 복수의 전자 디바이스들에 의해 부분적으로 수행될 수 있다.
도 3은 일 실시 예에 따라 전자 디바이스가 대화 서비스를 제공하는 방법의 흐름도이다.
단계 S310에서 일 실시 예에 따른 전자 디바이스(200)는, 사용자의 발화 입력을 수신할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 대화 서비스를 시작하고, 사용자의 발화 입력을 수신할 수 있다. 일 실시 예에 따른 전자 디바이스(200)는, 사용자가 전자 디바이스(200)로부터 소정 거리 내로 접근하거나, 소정 세기 이상의 음성 신호가 수신되거나, 미리 지정된 활성화 단어를 발화하는 음성 신호가 수신되는 경우, 대화 서비스를 시작할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 사용자가 소정 거리 내로 접근하면 사용자의 얼굴 영상을 획득하고, 데이터베이스를 검색함으로써 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있는지 여부를 판단할 수 있다. 전자 디바이스(200)는, 판단 결과에 기초하여 대화 서비스를 시작할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 데이터베이스 내에 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있는 경우, 얼굴 ID에 매핑 되어 저장되어 있는 서비스 사용 이력을 업데이트할 수 있다. 반면에, 전자 디바이스(200)는, 제1 데이터베이스 내에 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있지 않는 경우, 새로운 얼굴 ID 및 새로운 얼굴 ID 에 대응하는 서비스 사용 이력을 생성할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 마이크로폰을 통해 사용자의 발화 입력을 포함하는 오디오 신호를 수신하고 저장할 수 있다. 예를 들어, 전자 디바이스(200)는, VAD(Voice Activation Detection) 또는 EPD(End Point Detection)에 의해 발화의 존재 또는 부재(presence or absence of human speech)를 검출함으로써, 문장 단위로 발화 입력을 수신하고 저장할 수 있다.
단계 S320에서 일 실시 예에 따른 전자 디바이스(200)는, 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현(temporal expression)을 식별할 수 있다.
전자 디바이스(200)는, 발화 입력에 대한 음성 인식(Speech Recognition)을 통해 텍스트를 획득하고, 텍스트에 포함되는, 시점, 기간 및 주기 중 적어도 하나를 나타내는 엔티티(Entity)를 시간 표현으로서 결정할 수 있다.
엔티티는, 텍스트에 포함되는 특정한 의미를 가지고 있는 단어, 어구 및 형태소 중 적어도 하나를 포함할 수 있다. 전자 디바이스(200)는, 텍스트로부터 적어도 하나의 엔티티를 식별하고, 적어도 하나의 엔티티가 가지는 의미에 따라 각 엔티티가 어떠한 도메인 내에 포함되는지 판단할 수 있다. 예를 들어, 전자 디바이스(200)는, 텍스트로부터 식별된 엔티티가, 사람을 나타내는 엔티티인지, 물건을 나타내는 엔티티인지, 지역을 나타내는 엔티티인지, 시간을 나타내는 엔티티인지, 날짜를 나타내는 엔티티인지 등을 판단 할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 텍스트가 의미하는 동작 또는 상태의 시점 또는 텍스트에 포함되는 시점, 시간, 주기 등을 나타내는 부사, 형용사, 명사, 단어, 어절 등을 시간 표현으로서 결정 할 수 있다.
전자 디바이스(200)는, 텍스트를 복수의 벡터들에 매핑하는 임베딩을 수행할 수 있다. 전자 디바이스(200)는, 매핑된 벡터들에 대해 양방향 LSTM(Long Short-Term Memory) 모델을 적용함으로써, 텍스트에 포함되는, 시점, 기간 및 주기 중 적어도 하나를 나타내는 적어도 하나의 형태소에 대한 BIO(Beginning-Inside-Outside) 태그를 부여할 수 있다. 전자 디바이스(200)는, BIO 태그에 기초하여, 텍스트로부터 시간을 나타내는 엔티티를 식별할 수 있다. 전자 디바이스(200)는, 식별된 엔티티를 시간 표현으로서 결정할 수 있다.
단계 S330에서 일 실시 예에 따른 전자 디바이스(200)는, 시간 표현에 기초하여 발화 입력에 관련된 시점을 결정할 수 있다.
발화 입력에 관련된 시점이란, 전자 디바이스(200)가 사용자의 발화 의도에 따른 응답을 생성하기 위해 필요한 정보가 생성된 시점, 해당 정보가 포함된 사용자의 과거 발화 입력이 수신된 시점, 또는 해당 정보가 대화 이력에 저장된 시점을 의미할 수 있다. 발화 입력에 관련된 시점은, 사용자의 발화 입력의 내용을 구체화할 수 있는 정보가 포함된 사용자의 과거 발화가 수신되거나 저장된 시점을 포함할 수 있다. 예를 들어, 발화 입력에 관련된 시점은, 사용자의 발화 입력에서 언급된 제품에 대한 사용자의 구매, 언급, 문의, 서비스 요청과 관련된 과거 발화가 수신되거나 저장된 시점을 포함할 수 있다.
전자 디바이스(200)는, 시간 표현이 복수의 시점들 각각을 나타낼 확률 값을 예측할 수 있다. 전자 디바이스(200)는, 예측된 확률 값들 중에서 가장 높은 확률 값에 대응되는 시점을 발화 입력에 관련된 시점으로서 결정할 수 있다.
단계 S340에서 일 실시 예에 따른 전자 디바이스(200)는, 대화 서비스를 이용한 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택할 수 있다.
복수의 데이터베이스들은, 기 설정된 시점 이 전의 사용자의 대화 이력에 관한 정보를 저장하는 제1 데이터베이스 및 기 설정된 시점 이 후의 사용자의 대화 이력에 관한 정보를 저장하는 제2 데이터베이스를 포함할 수 있다. 전자 디바이스(200)는, 발화 입력에 관련된 시점이 기 설정된 시점 이 전인 경우, 제1 데이터베이스를 선택할 수 있다. 전자 디바이스(200)는, 발화 입력에 관련된 시점이 기 설정된 시점 이 후인 경우, 제2 데이터베이스를 선택할 수 있다. 또한, 복수의 데이터베이스들에 포함되는 제1 데이터베이스는 외부 서버 내에 저장되고 제2 데이터베이스는 전자 디바이스(200) 내에 저장될 수 있다.
일 실시 예에 따라 기 설정된 시점은, 제2 데이터베이스 내에 포함되는 사용자의 대화 이력에 관한 정보의 적어도 일부를 제1 데이터베이스에게 전송하는 시점, 사용자의 얼굴 영상을 획득하는 시점, 및 대화 서비스를 시작하는 시점 중 하나일 수 있다.
단계 S350에서 일 실시 예에 따른 전자 디바이스(200)는, 선택된 데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보에 기초하여 텍스트를 해석할 수 있다.
전자 디바이스(200)는, 텍스트에 포함되는 구체화가 필요한 엔티티를 결정할 수 있다. 전자 디바이스(200)는, 선택된 데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보를 검색함으로써, 결정된 엔티티를 구체화 할 수 있는 구체화 정보를 획득할 수 있다. 전자 디바이스(200)는, 자연어 이해(NLU) 모델을 이용하여 텍스트 및 구체화 정보를 해석할 수 있다.
데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보는, 사용자로부터 수신되었던 과거 발화 입력, 사용자에게 제공되었던 과거 응답 메시지, 및 과거 발화 입력 및 과거 응답 메시지와 관련된 정보를 포함할 수 있다. 예를 들어, 과거 발화 입력 및 과거 응답 메시지와 관련된 정보는, 과거 발화 입력에 포함되는 엔터티, 컨텐츠, 과거 발화 입력의 카테고리, 과거 발화 입력이 수신된 시점, 과거 응답 메시지에 포함되는 엔터티, 컨텐츠, 과거 응답 메시지가 출력된 시점, 과거 발화 입력이 수신된 시점 전후의 상황 정보, 과거 발화 입력 및 과거 응답 메시지에 기초하여 판단되는 사용자의 관심 제품, 사용자의 감정, 사용자의 결제 정보, 사용자의 음성 특성 등이 포함될 수 있다.
단계 S360에서 일 실시 예에 따른 전자 디바이스(200)는, 해석 결과에 기초하여 수신된 발화 입력에 대한 응답 메시지를 생성할 수 있다.
전자 디바이스(200)는, 해석 결과에 대해 DM(Dialog Manager) 모델을 적용하여, 응답 메시지의 유형을 결정할 수 있다. 전자 디바이스(200)는, NLG(Natural Language Generation) 모델을 이용하여, 결정된 유형의 응답 메시지를 생성할 수 있다.
단계 S370에서 일 실시 예에 따른 전자 디바이스(200)는, 생성된 응답 메시지를 출력할 수 있다. 예를 들어, 전자 디바이스(200)는, 음성, 텍스트 및 영상 중 적어도 하나의 형태로 응답 메시지를 출력할 수 있다.
본 개시의 일 실시 예에 따른 전자 디바이스(200)는, 사용자의 얼굴 ID, 서비스 사용 이력, 및 대화 이력 중 적어도 하나를 다른 전자 디바이스와 공유할 수 있다. 예를 들어, 전자 디바이스(200)는, 사용자에 대한 대화 서비스가 종료된 후, 사용자의 얼굴 ID를 다른 전자 장치에게 전송할 수 있다. 만약, 사용자가 다른 전자 디바이스로부터 대화 서비스를 제공받기를 원하는 경우, 다른 전자 디바이스는 사용자를 식별하고, 식별된 사용자가 수신된 얼굴 ID에 대응된다는 판단에 기초하여 전자 디바이스(200)에게 사용자의 대화 이력에 관한 정보를 요청할 수 있다. 전자 디바이스(200)는, 다른 전자 장치로부터 수신된 요청에 응답하여, 다른 전자 장치에게 복수의 데이터베이스들에 포함되는 제2 데이터베이스에 저장된 사용자의 대화 이력에 관한 정보를 전송할 수 있다.
도 4a 및 도 4b는 일 실시 예에 따라 전자 디바이스가 대화 이력에 기초하여 대화 서비스를 제공하는 예를 도시한다.
도 4a는 일 실시 예에 따른 전자 디바이스(200)가 전자 제품을 판매하는 상점의 무인 키오스크인 경우를 예로 들어 도시한다. 키오스크는, 공공 장소에 설치된 무인 정보 단말기를 의미한다. 도 4a를 참조하면, 2019년 5월 5일에 전자 디바이스(200)는, A 에어컨의 가격이 얼마인지 묻는 사용자(10)의 발화 입력을 수신할 수 있다. 전자 디바이스(200)는, 사용자(10)의 발화 입력에 응답하여 A 에어컨의 가격을 알려주는 응답 메시지를 출력할 수 있다.
2019년 5월 15일에 전자 디바이스(200)는, 상점을 다시 방문한 사용자(10)의 발화 입력을 수신할 수 있다. 전자 디바이스(200)는, 사용자(10)의 발화 입력에 대한 음성 인식을 통해 "지난 번에 내가 물어 봤던 그 에어컨 가격이 얼마였지?"라는 텍스트를 획득할 수 있다. 전자 디바이스(200)는, 획득된 텍스트로부터 시간 표현인 "지난 번", "물어 봤던" 및 "얼마였지?"를 식별할 수 있다. 전자 디바이스(200)는, 식별된 시간 표현에 기초하여, 획득된 텍스트를 해석하기 위하여 사용자의 대화 이력이 필요하다고 판단할 수 있다.
전자 디바이스(200)는, 텍스트에 포함되는 구체화가 필요한 엔티티를 결정하고, 사용자의 대화 이력으로부터 엔티티를 구체화 할 수 있는 구체화 정보를 획득할 수 있다. 전자 디바이스(200)는, 자연어 이해(NLU) 모델을 이용하여 엔티티가 구체화된 텍스트를 해석할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 텍스트로부터 제품의 카테고리를 나타내는 엔티티를 결정하고, 대화 이력 정보에 기초하여 제품을 구체화 할 수 있다. 예를 들어, 도 4a에 도시된 바와 같이, 전자 디바이스(200)는, “지난 번에 내가 물어 봤던 그 에어컨 가격이 얼마였지?”라는 사용자의 발화에서 “에어컨”을 제품의 카테고리를 나타내는 엔티티로서 결정할 수 있다. 전자 디바이스(200)는, 5월 5일의 대화 이력에 기초하여 사용자가 가격을 알고자 하는 제품이 “A 에어컨”이라고 판단할 수 있다. 전자 디바이스(200)는, 사용자의 질문에 응답하여 A 에어컨의 가격을 알려주는 응답 메시지를 출력할 수 있다.
도 4b는 일 실시 예에 따른 전자 디바이스(200)가 식당의 무인 계산대인 경우를 예로 들어 도시한다. 도 4b를 참조하면, 2019년 5월 10일에 전자 디바이스(200)는, 샐러드를 주문하는 사용자(10)의 발화 입력을 수신할 수 있다. 전자 디바이스(200)는, 사용자(10)의 발화 입력에 응답하여 샐러드에 대한 주문이 확인 되었음을 알려 주는 응답 메시지를 출력할 수 있다.
2019년 5월 15일에 전자 디바이스(200)는, 식당을 다시 방문한 사용자(10)의 발화 입력을 수신할 수 있다. 전자 디바이스(200)는, 사용자(10)의 발화 입력에 대한 음성 인식을 통해 "늘 먹던 거로 주문 해 줘."라는 텍스트를 획득할 수 있다. 전자 디바이스(200)는, 획득된 텍스트로부터 시간 표현인 "늘" 및 "먹던"을 식별할 수 있다. 전자 디바이스(200)는, 식별된 시간 표현에 기초하여, 획득된 텍스트를 해석하기 위하여 사용자의 대화 이력이 필요하다고 판단할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 텍스트에 포함되는 구체화가 필요한 명사를 구체화가 필요한 엔티티로서 결정하고, 대화 이력 정보에 기초하여 해당 명사가 가리키는 사물을 구체화 할 수 있다. 예를 들어, 도 4b에 도시된 바와 같이, 전자 디바이스(200)는, “늘 먹던 것으로 주문 해 줘.”라는 사용자의 발화에서 “것”을 구체화가 필요한 엔티티로서 결정할 수 있다. 전자 디바이스(200)는, 5월 10일의 대화 이력에 기초하여 사용자가 주문하고자 하는 음식이 “샐러드”라고 판단할 수 있다. 전자 디바이스(200)는, 사용자의 주문에 응답하여, 샐러드에 대한 주문이 맞는지 확인해 줄 것을 요청하는 응답 메시지를 출력할 수 있다.
한편, 일 실시 예에 따른 전자 디바이스(200)는, 사용자와 원활한 대화를 진행하기 위해서, 대화 이력에 기초하여 응답 메시지를 생성하는 시간을 단축할 필요가 있다. 따라서, 본 개시의 일 실시 예에 따른 전자 디바이스(200)는, 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서 선택된 데이터베이스만을 검색함으로써, 대화 이력 정보 검색에 소요되는 시간을 단축할 수 있다.
도 5는 일 실시 예에 따라 전자 디바이스가 대화 서비스를 제공하는 과정을 설명하기 위한 도면이다.
도 5는 일 실시 예에 따른 전자 디바이스(200)가 전자 제품을 판매하는 상점의 무인 키오스크인 경우를 예로 들어 도시한다. 일 실시 예에 따른 전자 디바이스(200)는, 대화 서비스를 제공하는 현재 세션이 시작되기 전까지 누적된 대화 이력 정보를 저장하는 제1 데이터베이스(501)와 현재 세션 동안 수행되었던 대화와 관련된 정보를 저장하는 제2 데이터베이스(502)를 이용할 수 있다.
도 6은 일 실시 예에 따른 전자 디바이스(200)가 제1 데이터베이스(501) 내에 저장하는 사용자 별 서비스 사용 이력 및 대화 이력의 예를 도시한다. 도 6에 도시된 바와 같이, 전자 디바이스(200)는, 사용자(10)의 얼굴 ID에 매핑하여, 서비스 사용 이력(620) 및 대화 이력(630)을 저장할 수 있다.
서비스 사용 이력(620)에는, 사용자의 방문 횟수, 방문 주기, 최근 방문일, 및 서비스 사용 이력(620)이 삭제될 예정 일자가 포함될 수 있다. 대화 이력(630)에는, 사용자의 과거 질문에 기초하여 판단되는 사용자의 관심 제품 및 사용자의 과거 질문의 카테고리, 사용자가 관심 제품을 구매 하였는지 여부, 사용자의 질문이 수신된 시점 등에 대한 정보가 포함될 수 있다.
먼저, 단계 S510에서 전자 디바이스(200)는, 카메라를 통해 획득되는 사용자(10)의 얼굴 영상에 대한 얼굴 인식을 수행함으로써 사용자(10)를 식별할 수 있다. 예를 들어, 전자 디바이스(200)는, 제1 데이터베이스(501)를 검색함으로써 식별된 사용자(10)에 대응하는 얼굴 ID의 대화 서비스 사용 이력을 불러올 수 있다.
단계 S520에서 전자 디바이스(200)는, 현재 사용자(10)가 대화 서비스를 사용하고 있다는 정보가 추가 되도록, 식별된 사용자(10)의 대화 서비스 사용 이력을 업데이트 할 수 있다.
예를 들어, 도 6에 도시된 바와 같이, 전자 디바이스(200)는, 2019년 5월 16일에 사용자(10)가 대화 서비스를 사용하였다는 정보(621)가 추가 되도록 사용자(10)의 대화 서비스 사용 이력(620)을 업데이트 할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 사용자(10)의 사용 이력에 기록된 사용자의 방문 횟수 및 방문 주기 중 적어도 하나에 기초하여 사용자(10)와 관련된 정보를 삭제하기로 예정된 예정일을 연기할 수 있다. 예를 들어, 전자 디바이스(200)는, 사용자의 방문 횟수가 많고 방문 주기가 짧을 수록 사용자(10)와 관련된 정보를 저장하는 기간을 연장할 수 있다.
단계 S530에서 전자 디바이스(200)는 대화 서비스를 개시하고, 사용자의 발화 입력을 수신할 수 있다. 전자 디바이스(200)는 사용자의 발화 입력으로부터 "지난 번에 구매한 제품에 문제가 생겨서 왔어"라는 텍스트를 획득할 수 있다. 전자 디바이스(200)는, 획득된 텍스트로부터 시간을 나타내는 시간 표현인 "지난 번"을 식별할 수 있다.
전자 디바이스(200)는, "지난 번"이라는 시간 표현에 기초하여, 현재 세션이 시작된 시점보다 이 전의 사용자의 대화 이력에 관한 정보가 필요하다고 판단할 수 있다.
단계 S540에서 전자 디바이스(200)는, 현재 세션의 시작 시점 이 전의 사용자의 대화 이력에 관한 정보가 필요하다는 판단에 기초하여 제1 데이터베이스(501)로부터 사용자의 대화 이력에 관한 정보를 불러올 수 있다. 전자 디바이스(200)는, “지난 번에 구매한 제품에 문제가 생겨서 왔어.”라는 사용자의 발화 내에 포함되는 명사인 “제품”을 구체화가 필요한 엔티티로서 결정하고, 제1 데이터베이스(501)로부터 획득되는 사용자의 대화 이력에 관한 정보에 기초하여 텍스트를 해석 할 수 있다.
예를 들어, 전자 디바이스(200)는, 5월 10일의 대화 이력(631)에 기초하여 사용자가 지칭하고자 하는 제품이 19COMR1이라는 모델명을 갖는 “B 컴퓨터”라고 판단할 수 있다.
단계 S550에서 전자 디바이스(200)는, 사용자의 발화 입력에 응답하여, 5월 10일에 구매한 B 컴퓨터에 문제가 생겨서 상점에 방문한 것인지 여부를 확인하는 응답 메시지를 출력할 수 있다.
단계 S560에서 전자 디바이스(200)는, 대화 서비스를 종료한 후, 해당 세션 동안 수행되었던 대화 이력에 관한 정보가 추가되도록 제1 데이터베이스 내에 사용자(10)의 대화 이력 정보를 업데이트할 수 있다.
도 7a 및 도 7b는 일 실시 예에 따라 전자 디바이스가 대화 서비스를 제공하는 방법의 흐름도이다.
먼저, 사용자는 전자 디바이스(200)에게 가까이 접근함으로써 대화 서비스의 이용을 시작 할 수 있다.
단계 S701에서 일 실시 예에 따른 전자 디바이스(200)는, 카메라로 사용자의 얼굴을 인식할 수 있다. 단계 S702에서 일 실시 예에 따른 전자 디바이스(200)는, 데이터베이스 내에 인식된 사용자에 대응하는 얼굴 ID가 저장되어 있는 지 검색할 수 있다. 단계 S703에서 일 실시 예에 따른 전자 디바이스(200)는, 인식된 사용자에 대응하는 얼굴 ID가 데이터베이스 내에 저장되어 있는 지 여부를 판단할 수 있다.
데이터베이스 내에 사용자의 얼굴 ID가 저장되어 있는 경우, 전자 디바이스(200)는 서비스 사용 이력을 불러 올 수 있다. 단계 S705에서 일 실시 예에 따른 전자 디바이스(200)는, 사용자의 서비스 사용 이력을 업데이트할 수 있다. 예를 들어, 전자 디바이스(200)는, 사용자의 서비스 사용 이력에 포함된 사용자의 최근 방문 일자와 관련된 정보를 업데이트할 수 있다.
데이터베이스 내에 사용자의 얼굴 ID가 저장되어 있지 않는 경우, 일 실시 예에 따른 전자 디바이스(200)는, 사용자에게 앞으로 사용자의 얼굴 ID 및 대화 이력을 저장하는 것에 동의하는 지 여부를 문의할 수 있다. 단계 S704에서 일 실시 예에 따른 전자 디바이스(200)는, 사용자가 사용자의 얼굴 ID 및 대화 이력을 저장하는 것에 동의하는 경우, 단계 S705에서 사용자의 서비스 사용 이력을 업데이트할 수 있다. 단계 S706에서 일 실시 예에 따른 전자 디바이스(200)는, 사용자가 사용자의 얼굴 ID 및 대화 이력을 저장하는 것에 동의하지 않는 경우, 일회성 세션 단위로 대화를 진행할 수 있다.
도 7b를 참조하면, 단계 S710에서 일 실시 예에 따른 전자 디바이스(200)는, 사용자의 발화 입력을 수신할 수 있다.
단계 S721에서 일 실시 예에 따른 전자 디바이스(200)는, 발화 입력을 해석하기 위해서 대화 이력 정보가 필요한 지 여부를 판단할 수 있다. 단계 S721과 관련하여서는 후에 도 8을 참조하여 보다 구체적으로 설명한다.
대화 이력 정보가 필요하지 않다고 판단하는 경우, 단계 S731에서 일 실시 예에 따른 전자 디바이스(200)는, 대화 이력 정보를 이용하지 않고 일반적인 답변을 생성하여 출력할 수 있다.
대화 이력 정보가 필요하다고 판단하는 경우, 단계 S723에서 일 실시 예에 따른 전자 디바이스(200)는, 제1 데이터베이스에 포함되는 대화 이력 정보가 필요한 지 여부를 판단할 수 있다.
예를 들어, 일 실시 예에 따른 전자 디바이스(200)는, 기 설정된 시점을 기초로, 제1 데이터베이스 내에 저장되는 기 설정된 시점 이 전의 사용자의 대화 이력 정보가 필요한지, 제2 데이터베이스 내에 저장되는 기 설정된 시점 이후의 사용자의 대화 이력 정보가 필요한 지 여부를 판단할 수 있다. 제1 데이터베이스는, 사용자에 대한 대화 이력이 처음으로 저장된 이후로 기 설정된 시점까지 상대적으로 긴 시간 동안 누적된 대화 이력 정보를 저장 할 수 있다. 제2 데이터베이스는, 기 설정된 시점부터 현재까지 상대적으로 짧은 시간 동안 누적된 대화 이력 정보를 저장할 수 있다. 단계 S723과 관련하여서는 후에 도 9를 참조하여 보다 구체적으로 설명한다.
발화 입력을 해석하기 위하여 제1 데이터베이스 내에 포함된 대화 이력 정보가 필요하다고 판단하는 경우, 단계 S733에서 일 실시 예에 따른 전자 디바이스(200)는, 제1 데이터베이스로부터 획득되는 대화 이력 정보에 기초하여 응답 메시지를 생성할 수 있다. 발화 입력을 해석하기 위하여 제1 데이터베이스에 저장된 대화 이력 정보가 필요하지 않다고 판단하는 경우, 단계 S735에서 일 실시 예에 따른 전자 디바이스(200)는, 제2 데이터베이스로부터 획득되는 대화 이력 정보에 기초하여 응답 메시지를 생성할 수 있다.
단계 S740에서 일 실시 예에 따른 전자 디바이스(200)는, 생성된 응답 메시지를 출력할 수 있다.
단계 S750에서 일 실시 예에 따른 전자 디바이스(200)는, 대화가 종료 되었는 지 여부를 판단할 수 있다. 예를 들어, 전자 디바이스(200)는, 사용자가 전자 디바이스(200)로부터 임계 거리 이상 멀어지는 경우, 임계 시간 이상 동안 사용자의 발화 입력이 수신되지 않는 경우, 사용자가 전자 디바이스(200)가 위치한 임의의 공간(예를 들어, 상점 또는 식당 등)을 벗어났다고 판단되는 경우, 대화가 종료 되었다고 판단할 수 있다.
대화가 종료되었다고 판단하는 경우, 단계 S760에서 일 실시 예에 따른 전자 디바이스(200)는, 사용자의 얼굴 ID와 매핑하여 저장된 대화 이력 내에 현재 대화와 관련된 대화 이력 정보를 추가로 저장할 수 있다. 대화가 종료되지 않았다고 판단하는 경우, 일 실시 예에 따른 전자 디바이스(200)는 단계 S710으로 되돌아 가서 사용자의 발화 입력을 수신하고 발화 입력에 대한 응답 메시지를 생성하는 과정을 다시 수행할 수 있다.
도 8은 일 실시 예에 따라 전자 디바이스가 대화 이력 정보에 기초하여 답변을 생성할 지 여부를 판단하는 방법의 흐름도이다.
도 8의 단계 S810, S820 및 S830은 도 7b의 단계 S721을 구체화 한다.
단계 S710에서 일 실시 예에 따른 전자 디바이스(200)는 사용자의 발화 입력을 수신할 수 있다. 단계 S810에서 일 실시 예에 따른 전자 디바이스(200)는 수신된 발화 입력에 대한 음성 인식을 통해 텍스트를 획득할 수 있다.
단계 S820에서 일 실시 예에 따른 전자 디바이스(200)는 획득된 텍스트로부터 시간 표현을 추출할 수 있다. 일 실시 예에 따른 전자 디바이스(200)는, 획득된 텍스트에 대해서, 미리 학습된 시간 표현 추출 모델을 적용함으로써 시간 표현을 추출할 수 있다.
단계 S830에서 일 실시 예에 따른 전자 디바이스(200)는, 추출된 시간 표현이 과거의 시점, 주기, 또는 기간을 나타내는 지 여부를 판단할 수 있다. 추출된 시간 표현이 과거를 나타내는 시간 표현이 아닌 경우, 단계 S841에서 전자 디바이스(200)는 대화 이력을 고려하지 않은 일반적인 자연어 이해에 기초하여, 사용자의 발화 입력에 대한 답변을 생성할 수 있다. 추출된 시간 표현이 과거를 나타내는 시간 표현인 경우, 단계 S843에서 전자 디바이스(200)는 대화 이력 정보에 기초하여 답변을 생성하는 것이 필요하다고 판단 할 수 있다.
도 9는 일 실시 예에 따라 전자 디바이스가 사용자의 발화 입력에 기초하여 데이터베이스를 선택하는 방법의 흐름도이다.
도 9의 단계 S910, S920, S930 및 S940은 도 7b의 단계 S723을 구체화 한다.
단계 S843에서 일 실시 예에 따른 전자 디바이스(200)는 사용자의 발화 입력을 해석하기 위하여 대화 이력 정보가 필요하다고 판단할 수 있다.
단계 S910에서 일 실시 예에 따른 전자 디바이스(200)는 사용자의 발화 입력으로부터 획득된 텍스트로부터 시간 표현을 추출할 수 있다. 단계 S920에서 일 실시 예에 따른 전자 디바이스(200)는, 추출된 시간 표현들 중에서 과거를 나타내는 표현을 추출할 수 있다. 도 9의 단계 S910은 도 8의 단계 S820에 대응되므로, 실시 예에 따라 도 9의 단계 S910은 생략될 수 있다. 도 9의 단계 S910이 생략되는 경우, 전자 디바이스(200)는 단계 S820에서 추출되어 저장되어 있던 시간 표현을 이용할 수 있다.
단계 S930에서 일 실시 예에 따른 전자 디바이스(200)는, 과거를 나타내는 시간 표현에 기초하여, 사용자의 발화 입력에 관련된 시점을 예측할 수 있다. 일 실시 예에 따른 전자 디바이스(200)는, 추출된 과거 시간 표현에 대해서, 미리 학습된 시점 예측 모델을 적용함으로써 추출된 과거 시간 표현에 관련된 시점을 결정할 수 있다.
도 10에 도시된 바와 같이, 전자 디바이스(200)는 과거를 나타내는 시간 표현이 복수의 시점들 각각을 나타낼 확률 값을 예측 하고, 예측된 확률 값들을 나타내는 그래프(100)를 생성 할 수 있다. 전자 디바이스(200)는, 예측된 확률 값들 중에서 가장 높은 확률 값(1001)에 대응하는 시점을 발화 입력에 관련된 시점으로서 결정할 수 있다. 그래프(1000)에서 x축은 시간을 나타내고 y축은 확률 값을 나타낸다. 그래프(1000)에서 시간 축의 영점은, 데이터베이스 선택의 기준이 되는 기 설정된 시점을 나타낸다.
단계 S940에서 일 실시 예에 따른 전자 디바이스(200)는, 예측된 시점이 기 설정된 시점의 이 전인지 여부를 판단할 수 있다.
예측된 시점이 기 설정된 시점의 이 전인 경우, 단계 S733에서 전자 디바이스(200)는 제1 데이터베이스로부터 획득되는 대화 이력 정보에 기초하여 발화 입력에 대한 답변을 생성할 수 있다. 예측된 시점이 기 설정된 시점이거나 이 후인 경우, 단계 S735에서 전자 디바이스(200)는 제2 데이터베이스로부터 획득되는 대화 이력 정보에 기초하여 발화 입력에 대한 답변을 생성할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 대화 이력이 누적되는 기간에 따라 복수의 데이터베이스들을 관리함으로써, 전자 디바이스(200)가 대화 이력을 검색하기 위해 소요되는 시간을 줄일 수 있다. 일 실시 예에 따른 전자 디바이스(200)는, 어떤 데이터베이스 내에 저장된 사용자의 대화 이력에 관한 정보의 적어도 일부가 다른 데이터베이스 내에 저장되도록 데이터베이스를 전환할 수 있다.
본 개시에서는 일 실시 예에 따른 전자 디바이스(200)가 2 개의 데이터베이스들 이용하는 경우를 예로 들어 도시하였으나, 실시 예는 이에 제한되지 않는다. 전자 디바이스(200)가 이용하는 복수의 데이터베이스들은 3 개 이상의 데이터베이스들을 포함할 수 있다. 본 개시에서는 설명의 편의를 위하여 복수의 데이터베이스들이 제1 데이터베이스 및 제2 데이터베이스를 포함하는 경우를 예로 들어 설명한다.
도 11은 일 실시 예에 따라 전자 디바이스가 사용자의 대화 이력이 저장되는 데이터베이스를 전환하는 방법을 설명하기 위한 도면이다.
일 실시 예에 따른 제1 데이터베이스(1101)는, 기 설정된 시점 이 전의 대화 이력에 관한 정보를 저장하고, 제2 데이터베이스(1102)는 기 설정된 시점의 대화 이력 또는 기 설정된 시점 이후의 대화 이력에 관한 정보를 저장할 수 있다. 예를 들어, 기 설정된 시점은, 제2 데이터베이스(1102) 내에 포함되는 사용자의 대화 이력에 관한 정보의 적어도 일부를 제1 데이터 베이스(1101)에게 전송하는 시점, 사용자의 얼굴 영상을 획득하는 시점, 대화 서비스를 시작하는 시점 및 현재 시점으로부터 소정 시간 이 전의 시점 중 하나일 수 있다.
일 실시 예에 따른 제1 데이터베이스(1101)는, 사용자에 대한 대화 이력이 처음으로 저장된 이후로 기 설정된 시점까지 상대적으로 긴 시간 동안 누적된 대화 이력 정보를 저장 할 수 있다. 제2 데이터베이스(1102)는, 기 설정된 시점부터 현재까지 상대적으로 짧은 시간 동안 누적된 대화 이력 정보를 저장할 수 있다.
예를 들어, 제1 데이터베이스(1101)는 외부 서버 내에 포함되고 제2 데이터베이스(1102)는 전자 디바이스(200) 내에 포함될 수 있다. 제1 데이터베이스(1101)는 사용자의 서비스 사용 이력을 더 저장할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 제2 데이터베이스(1102) 내에 저장된 사용자의 대화 이력에 관한 정보의 적어도 일부를 제1 데이터베이스(1101)로 전환할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 주기적으로, 또는 소정 동작을 시작하거나 종료한 이후에, 또는 데이터베이스의 저장 공간이 부족한 경우, 사용자의 대화 이력 정보가 저장된 데이터베이스를 전환할 수 있다.
일 예로서, 전자 디바이스(200)는 6시간, 하루, 한달 등과 같이 미리 결정된 주기에 따라, 제2 데이터베이스(1102) 내에 저장되었던 사용자의 대화 이력에 관한 정보를 제1 데이터베이스(1101)에게 전송하고, 제2 데이터베이스(1102) 내에 저장되었던 대화 이력에 관한 정보는 삭제할 수 있다.
다른 예로서, 전자 디바이스(200)는 대화 서비스가 종료되면, 대화 서비스가 제공되는 동안 제2 데이터베이스(1102) 내에 누적되었던 사용자의 대화 이력에 관한 정보를 제1 데이터베이스(1101)에게 전송하고, 제2 데이터베이스(1102) 내에 저장되었던 대화 이력에 관한 정보는 삭제할 수 있다.
일 실시 예에 따른 전자 디바이스(200)는, 데이터베이스 전환 시, 사용자의 민감 정보를 제외하고 정보를 요약함으로써, 사용자의 개인 정보 유출에 따른 우려를 줄이고 메모리 사용량을 줄일 수 있다.
제2 데이터베이스(1102) 내에는 가공되지 않은 러(raw) 데이터가 저장될 수 있다. 제2 데이터베이스(1102)는, 전자 디바이스(200)에게 입력되는 형태 그대로의 원본 데이터를 사용자의 대화 이력 정보로서 저장할 수 있다.
예를 들어, 사용자는, 사용자의 개인 정보와 관련된 자세한 정보(예를 들어, 구체적인 대화 내용, 사용자를 촬영한 영상, 사용자의 음성, 사용자의 지불 정보(Billing Information), 사용자의 위치 등)를 전자 디바이스(200) 내에 오랜 기간 동안 저장하는 것에 거부감을 느낄 수 있다. 따라서, 일 실시 예에 따른 전자 디바이스(200)는, 사용자에게 민감한 정보가 포함되는 대화 이력 정보는, 짧은 기간 동안만 대화 이력 정보를 저장하는 제2 데이터베이스(1102) 내에 저장되도록 관리 할 수 있다.
제1 데이터베이스(1101) 내에는 가공된 데이터가 저장될 수 있다. 제1 데이터베이스(1101)는, 제2 데이터베이스(1102)에 저장된 러 데이터로부터 사용자에게 민감한 정보를 제외하고 요약된 데이터를 사용자의 대화 이력 정보로서 저장할 수 있다.
도 11에 도시된 바와 같이, 제2 데이터베이스(1102) 내에 저장된 사용자와 전자 디바이스(200) 간의 대화 내용 원본은, 대화 카테고리, 컨텐츠, 관심 제품에 관한 데이터로 요약되어 제1 데이터베이스(1101) 내에 저장될 수 있다. 제2 데이터베이스(1102) 내에 저장된 사용자를 촬영한 이미지 프레임 및 사용자의 음성은, 대화 서비스를 제공 받은 시점의 사용자의 기분으로 요약되어 제1 데이터베이스(1101) 내에 저장될 수 있다. 또한, 제2 데이터베이스(1102) 내에 저장된 사용자의 지불 정보는, 사용자가 구매한 제품 및 구매 가격으로 요약되어 제1 데이터베이스(1101) 내에 저장될 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 디바이스(200)는, 사용자의 얼굴 ID, 서비스 사용 이력, 및 대화 이력 중 적어도 하나를 다른 전자 디바이스와 공유할 수 있다. 도 12a, 도 12b, 도 12c 및 도 12d는 일 실시 예에 따라 복수의 전자 디바이스들(200-a, 200-b, 200-c)이 사용자의 대화 이력을 공유하는 과정을 설명하기 위한 도면이다. 예를 들어, 복수의 전자 디바이스들(200-a, 200-b, 200-c)은 상점의 서로 다른 공간(예를 들어, 서로 다른 층)에 위치한 무인 키오스크일 수 있다. 사용자(10)는 복수의 전자 디바이스들(200-a, 200-b, 200-c)로부터 제공되는 대화 서비스에 기초하여, 제품 안내를 받거나 제품 구매에 도움을 받을 수 있다.
도 12a를 참조하면, 전자 디바이스(200-c)는 사용자(10)에게 대화 서비스 제공할 수 있다. 전자 디바이스(200-c)는, 사용자(10)의 발화 입력을 수신하고, 발화 입력에 대한 응답 메시지를 생성하고 출력할 수 있다.
도 12b를 참조하면, 사용자(10)는, 전자 디바이스(200-c)와의 상담을 마치고 전자 디바이스(200-c)로부터 소정 거리 이상 멀어 질 수 있다. 전자 디바이스(200-c)는 사용자(10)로부터의 거리에 기초하여 대화가 중단되었음을 인식할 수 있다. 전자 디바이스(200-c)는, 현재 세션 동안 수행된 사용자(10)와의 대화 이력에 관한 정보를 데이터베이스 내에 저장할 수 있다. 예를 들어, 전자 디바이스(200-c)는, 현재 세션 동안 수행된 사용자(10)와의 대화 이력에 관한 정보를 전자 디바이스(200-c) 내에 포함된 제2 데이터베이스 내에 저장할 수 있다.
도 12c를 참조하면, 전자 디바이스(200-c)는, 상점 내의 다른 전자 디바이스들(200-a, 200-b)에게 상담을 마친 사용자의 얼굴 ID를 공유 또는 방송(broadcast) 할 수 있다.
도 12d를 참조하면, 사용자(10)는 상점의 2 층을 둘러본 후, 1층으로 내려와서 전자 디바이스(200-a)에게 다가갈 수 있다. 전자 디바이스(200-a)는 사용자(10)에게 대화 서비스를 제공하기 위하여 사용자(10)를 식별할 수 있다. 전자 디바이스(200-a)는, 식별된 사용자(10)가 전자 디바이스(200-c)로부터 공유된 얼굴 ID에 대응한다고 판단되는 경우, 전자 디바이스(200-c)에게 공유된 얼굴 ID와 관련된 정보가 저장된 데이터베이스를 공유할 것을 요청할 수 있다
전자 디바이스(200-c)는, 전자 디바이스(200-a)에게 사용자(10)의 얼굴 ID에 대응하는 대화 이력이 저장된 데이터베이스를 공유할 수 있다. 전자 디바이스(200-a)는, 공유된 데이터베이스 내에 저장된 대화 이력에 기초하여 사용자(10)의 발화 입력을 해석할 수 있다. 따라서, 전자 디바이스(200-a)는, 사용자(10)로부터 전자 디바이스(200-c)와 나누었던 대화와 관련된 발화 입력을 수신하는 경우에도, 대화의 연속성을 보장하는 응답 메시지를 출력 할 수 있다.
이하에서는, 일 실시 예에 따른 전자 디바이스(200)의 구성을 설명한다. 이하에서 서술하는 전자 디바이스(200)의 각 구성은, 상술한 전자 디바이스(200)가 대화 서비스를 제공하는 방법의 각 단계를 수행할 수 있다.
도 13a는 일 실시 예에 따른 전자 디바이스의 블록도이다.
대화 서비스를 제공하는 전자 디바이스(200)는, 메모리에 저장된 하나 이상의 명령어들을 실행함으로써 사용자에게 대화 서비스를 제공하는 프로세서(250)를 포함할 수 있다. 도 13a에는 전자 디바이스(200)가 하나의 프로세서(250)를 포함하는 것으로 도시 되었지만 본 개시는 도시된 실시 예에 제한되지 않는다. 전자 디바이스(200)는 복수의 프로세서들을 포함할 수 있다. 전자 디바이스(200)가 복수의 프로세서들을 포함하는 경우, 후술하는 프로세서(250)의 동작 및 기능은 복수의 프로세스들에서 부분적으로 수행될 수 있다.
전자 디바이스(200)의 입력부(220)는, 사용자의 발화 입력을 수신할 수 있다.
일 실시 예에 따른 프로세서(250)는, 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별할 수 있다.
프로세서(250)는, 발화 입력에 대한 음성 인식을 통해 텍스트를 획득하고, 텍스트를 복수의 벡터들에 매핑하는 임베딩을 수행할 수 있다. 예를 들어, 프로세서(250)는, 매핑된 벡터들에 대해 양방향 LSTM 모델을 적용함으로써, 텍스트에 포함되는, 시점, 기간 및 주기 중 적어도 하나를 나타내는 적어도 하나의 형태소에 대한 BIO 태그를 부여할 수 있다. 프로세서(250)는, BIO 태그에 기초하여 텍스트에 포함되는 시점, 기간 및 주기 중 적어도 하나를 나타내는 엔티티를 시간 표현으로서 결정할 수 있다.
일 실시 예에 따른 프로세서(250)는, 시간 표현에 기초하여 발화 입력에 관련된 시점을 결정할 수 있다.
프로세서(250)는, 식별된 시간 표현이 복수의 시점들 각각을 나타낼 확률 값을 예측하고, 예측된 확률 값들 중에서 가장 높은 확률 값에 대응되는 시점을 발화 입력에 관련된 시점으로서 결정할 수 있다.
일 실시 예에 따른 프로세서(250)는, 대화 서비스를 이용한 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택할 수 있다.
복수의 데이터베이스들은, 기 설정된 시점 이 전의 사용자의 대화 이력에 관한 정보를 저장하는 제1 데이터베이스 및 기 설정된 시점 이 후의 사용자의 대화 이력에 관한 정보를 저장하는 제2 데이터베이스를 포함할 수 있다. 프로세서(250)는, 발화 입력에 관련된 시점이 기 설정된 시점 이 전인 경우, 복수의 데이터베이스들 중에서 제1 데이터베이스를 선택할 수 있다. 프로세서(250)는, 발화 입력에 관련된 시점이 기 설정된 시점 이 후인 경우, 복수의 데이터베이스들 중에서 제2 데이터베이스를 선택할 수 있다.
일 예로서, 제1 데이터베이스는 외부 서버 내에 저장되고, 제2 데이터베이스는 전자 디바이스 내에 저장될 수 있다. 데이터베이스 선택의 기준이 되는 기 설정된 시점은, 제2 데이터베이스 내에 포함되는 사용자의 대화 이력에 관한 정보의 적어도 일부를 제1 데이터베이스 내에 포함되도록 전환하는 시점, 사용자의 얼굴 영상을 획득하는 시점, 및 대화 서비스를 시작하는 시점 중 하나일 수 있다.
일 실시 예에 따른 프로세서(250)는, 선택된 데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보에 기초하여 텍스트를 해석할 수 있다.
프로세서(250)는, 텍스트에 포함되는 구체화가 필요한 엔티티를 결정할 수 있다. 프로세서(250)는, 선택된 데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보를 검색함으로써, 결정된 엔티티를 구체화 할 수 있는 구체화 정보를 획득할 수 있다. 프로세서(250)는, 자연어 이해(NLU) 모델을 이용하여 텍스트 및 구체화 정보를 해석할 수 있다. 프로세서(250)는, 해석 결과에 대해 DM 모델을 적용하여 응답 메시지의 유형을 결정하고, NLG 모델을 이용하여 결정된 유형의 응답 메시지를 생성할 수 있다.
프로세서(250)는, 해석 결과에 기초하여 수신된 발화 입력에 대한 응답 메시지를 생성할 수 있다. 전자 디바이스(200)의 출력부(230)는, 생성된 응답 메시지를 출력할 수 있다.
본 개시의 다양한 실시 예들에 따른 전자 디바이스(200)의 구성은, 도 13a에 도시된 블록도에 제한되지 않는다. 예를 들어, 도 13b는 다른 일 실시 예에 따른 전자 디바이스의 블록도이다.
도 13b에 도시된 실시 예에 따른 전자 디바이스(200)는, 외부 디바이스를 통해 사용자의 발화 입력을 수신하고, 발화 입력에 대한 응답 메시지를 외부 디바이스에게 전송하는 통신부(210)를 포함할 수 있다. 프로세서(250)는, 통신부(210)를 통해 수신되는 사용자의 발화 입력에 관련된 시점에 기초하여 데이터베이스를 선택하고, 선택된 데이터베이스 내에 저장된 사용자 대화 이력에 기초하여 응답 메시지를 생성할 수 있다. 도 13a를 참조하여 상술한 설명과 중복되는 내용은 생략한다.
도 14는 일 실시 예에 따른 전자 디바이스의 구체화된 블록도이다.
도 14에 도시된 바와 같이, 일 실시 예에 따른 전자 디바이스(200)의 입력부(220)는, 전자 디바이스(200)를 제어하기 위한 사용자 입력을 수신할 수 있다. 일 실시 예에 따른 입력부(220)는, 사용자의 터치를 수신하는 터치 패널, 사용자의 푸시 조작을 수신하는 버튼, 사용자의 회전 조작을 수신하는 휠, 키보드(key board), 및 돔 스위치 (dome switch) 등을 포함하는 사용자 입력 디바이스를 포함할 수 있으나 이에 제한되지 않는다. 예를 들어, 입력부(220)는, 사용자의 얼굴을 인식하기 위해 이용되는 카메라(221), 사용자의 발화 입력을 수신하기 위한 마이크로폰(223), 및 사용자의 결제 정보를 수신하기 위한 결제 디바이스(225) 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른 전자 디바이스(200)의 출력부(220)는, 외부로부터 수신되거나, 프로세서(250)에서 처리되거나, 메모리(270) 또는 데이터베이스(260) 내에 저장된 정보를 빛, 소리, 영상 및 진동 중 적어도 하나의 형태로 출력할 수 있다. 예를 들어, 출력부(220)는, 사용자의 발화 입력에 대한 응답 메시지를 출력하기 위한 디스플레이(231) 및 스피커(233) 중 적어도 하나를 포함할 수 있다.
또한, 일 실시 예에 따른 전자 디바이스(200)는, 사용자의 대화 이력을 저장하기 위한 적어도 하나의 데이터베이스(260)를 더 포함할 수 있다. 일 실시 예에 따른 전자 디바이스(200) 내에 포함되는 데이터베이스(260)는, 기 설정된 시점 이 전의 사용자의 대화 이력 정보를 저장할 수 있다.
또한, 일 실시 예에 따른 전자 디바이스(200)는, 메모리(270)를 더 포함할 수 있다. 메모리(270)는, 프로세서(250)가 이용하는 데이터, 프로세서(250)가 처리한 결과, 프로세서(250)에서 실행되는 명령들 및 프로세서(250)가 이용하는 인공 지능 모델 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른 메모리(1140)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
도 14에서는 데이터베이스(260)과 메모리(270)를 별도의 구성으로 도시하였으나, 실시 예는 이에 제한되지 않는다. 예를 들어, 데이터베이스(260)는 메모리(270) 내에 포함될 수 있다.
일 실시 예에 따른 통신부(210)는, 유선 통신 또는 무선 통신을 통해 외부의 전자 디바이스 또는 서버와 통신할 수 있다. 예를 들어, 통신부(210)는, 근거리 통신 모듈, 유선 통신 모듈, 이동 통신 모듈, 방송 수신 모듈 등을 포함할 수 있다.
본 개시의 일 실시 예에 따른 전자 디바이스(200)는, 통신부(210)를 통해 사용자의 얼굴 ID, 서비스 사용 이력, 및 대화 이력 중 적어도 하나를 다른 전자 디바이스와 공유할 수 있다. 예를 들어, 전자 디바이스(200)는, 사용자에 대한 대화 서비스가 종료된 후, 사용자의 얼굴 ID를 다른 전자 장치에게 전송할 수 있다. 만약, 사용자가 다른 전자 디바이스로부터 대화 서비스를 제공받기를 원하는 경우, 다른 전자 디바이스는 사용자를 식별하고, 식별된 사용자가 수신된 얼굴 ID에 대응된다는 판단에 기초하여 전자 디바이스(200)에게 사용자의 대화 이력에 관한 정보를 요청할 수 있다. 전자 디바이스(200)는, 다른 전자 장치로부터 수신된 요청에 응답하여, 다른 전자 장치에게 복수의 데이터베이스들에 포함되는 제2 데이터베이스에 저장된 사용자의 대화 이력에 관한 정보를 전송할 수 있다.
도 15a 및 도 15b는 일 실시 예에 따른 전자 디바이스에 포함되는 프로세서의 블록도이다.
일 실시 예에 다른 전자 디바이스에 포함되는 프로세서(250)가 수행하는 동작 및 기능은, 도 15a에 도시된 다양한 모듈들로 나타내어 질 수 있다. 모듈들의 일부 또는 전부는, 특정 기능들을 실행하는 다양한 개수의 하드웨어 및/또는 소프트웨어 구성들로 구현될 수 있다.
얼굴 인식 모듈(1510)은 카메라를 통해 촬영되는 영상 내에 포함되는 얼굴을 인식하는 모듈이다.
서비스 관리 모듈(1520)은, 사용자가 전자 디바이스(200)를 사용한 이력을 관리하는 모듈로서, 전자 디바이스(200)를 통한 제품의 구매 및/또는 제품 정보를 검색하는 등의 활동 이력을 관리할 수 있다.
음성 인식 모듈(1530)은 사용자의 발화 입력으로부터 텍스트를 획득하고, 텍스트를 해석한 결과에 기초하여 발화 입력에 대한 응답 메시지를 생성할 수 있다.
데이터베이스 관리 모듈(1540)은, 복수의 데이터베이스들 중에서 대화 이력 정보를 획득하기 위한 적어도 하나의 데이터베이스를 선택하고, 데이터베이스 내에 저장된 정보들이 삭제되는 기간을 관리할 수 있다.
도 15b를 참조하면, 도 15a의 얼굴 인식 모듈(1510)은, 영상 내에 포함되는 얼굴을 검출하는 얼굴 검출 모듈 및 검출된 얼굴을 데이터베이스로부터 검색하는 얼굴 검색 모듈을 포함할 수 있다.
또한, 도 15b를 참조하면, 도 15a의 음성 인식 모듈(1530)은, 음성 신호를 텍스트 신호로 변환하여 주는 ASR(Auto Speech Recognition) 모듈, 텍스트의 의미를 해석하는 NLU 모듈, 텍스트에 포함되는 엔티티를 추출하는 엔티티 추출 모듈, 텍스트의 카테고리에 따라 텍스트를 분류하는 분류 모듈, 대화 이력을 관리하는 컨텍스트 관리 모듈, 사용자의 발화 입력으로부터 시간 표현을 검출하는 시간 컨텍스트 검출 모듈, 및 시간 표현 및 텍스트의 해석 결과에 대응하는 응답 메시지를 생성하는 NLG(Natural Language Generation) 모듈 중 적어도 하나를 포함할 수 있다.
또한, 도 15b를 참조하면, 도 15a의 데이터베이스 관리 모듈(1540)은, 데이터베이스 내에 저장된 정보들이 삭제되는 기간을 관리하는 삭제 기간 관리 모듈, 및 복수의 데이터베이스들 중에서 정보를 획득하고 저장하기 위한 적어도 하나의 데이터베이스를 선택하는 데이터베이스 선택 모듈을 포함할 수 있다.
도 16은 일 실시 예에 따른 음성 인식 모듈의 구체화된 블록도이다.
도 16에 도시된 바와 같이, 일 실시 예에 따른 전자 디바이스(200)의 프로세서(250) 내에 포함되는 음성 인식 모듈(1530)은, 자동 음성 인식 모듈(1610), 자연어 이해 모듈(NLU)(1620), 대화 매니저 모듈(DM)(1630), 자연어 생성(NLG)모듈(1640), 및 텍스트-스피치 변환(TTS) 모듈(1650)을 포함할 수 있다.
자동 음성 인식 모듈(1610)은, 음성 신호를 텍스트로 변환할 수 있다. 자연어 이해 모듈(1620)은 텍스트의 의미를 해석할 수 있다. 대화 매니저 모듈(DM)(1630)은, 대화 이력을 포함하는 컨텍스트 정보를 관리하고, 질문의 카테고리를 판단하고 질문에 대한 답변을 생성함으로써 대화를 이끌어 갈 수 있다. 자연어 생성(NLG)모듈(1640)은 컴퓨터 언어로 작성된 답변을 사람이 이해할 수 있는 자연어로 변환할 수 있다. 텍스트-스피치 변환(TTS) 모듈(1650)은 텍스트를 음성 신호로 변환할 수 있다.
도 16의 일 실시 예에 따른 자연어 이해 모듈(1620)은, 전처리(1621), 임베딩(1623), 시간 표현 추출 모델의 적용(1625), 및 시점 예측 모델의 적용(1627) 단계를 거쳐 사용자의 발화 입력으로부터 획득된 텍스트를 해석할 수 있다.
전처리 단계(1621)에서 음성 인식 모듈(1530)은, 텍스트에 포함되는 특수 문자를 제거하고, 동의어들을 하나의 단어로 통일하고, POS(Part of Speech) 태깅을 통한 형태소 분석을 수행할 수 있다. 임베딩 단계(1623)에서, 음성 인식 모듈(1530)은, 전처리된 텍스트에 대한 임베딩을 수행할 수 있다. 임베딩 단계(1623)에서, 음성 인식 모듈(1530)은, 전처리 된 텍스트를 복수의 벡터들에 매핑 할 수 있다.
시간 표현 추출 모델의 적용 단계(1625)에서 음성 인식 모듈(1530)은, 임베딩 된 결과에 기초하여, 사용자의 발화 입력으로부터 획득된 텍스트에 포함되는 시간 표현을 추출할 수 있다. 시점 예측 모델의 적용 단계(1627)에서 음성 인식 모듈(1530)은, 추출된 시간 표현이 현재 시점을 기준으로 어느 정도의 과거를 의미하는 것인지 예측할 수 있다.
시간 표현 추출 모델의 적용 단계(1625) 및 시점 예측 모델의 적용 단계(1627)와 관련하여서는 이하 도 17 및 도 18을 참조하여 보다 구체적으로 설명한다.
도 17은 일 실시 예에 따른 시간 표현 추출 모델을 설명하는 도면이다.
일 예로서 시간 표현 추출 모델의 적용 단계(1625)는 도 17에 도시된 인공 지능 모델에 따라 입력 데이터를 처리하는 단계를 포함 할 수 있다.
일 실시 예에 따른 음성 인식 모듈(1530)은, 발화 입력으로부터 변환된 텍스트를 입력 문장으로서 수신할 수 있다. 음성 인식 모듈(1530)은 입력 문장을 단어(word) 단위 및/또는 글자(character) 단위로 임베딩할 수 있다. 음성 인식 모듈(1530)은 단어 단위 임베딩 결과 및 글자 단위 임베딩 결과를 함께 사용하기 위해 연결 임베딩(concatenated embedding)을 수행할 수 있다. 음성 인식 모듈(1530)은 임베딩에 의해 복수의 벡터들에 매핑된 텍스트에 대해 양방향 LSTM 모델을 적용함으로써 CRF(Conditional Random Fields)를 생성할 수 있다.
음성 인식 모듈(1530)은 소정 조건에 따른 확률 기반 태깅 모델(Tagging Model)을 적용함으로써 CRF를 생성할 수 있다. 일 실시 예에 따른 음성 인식 모듈(1530)은, 어떠한 단어, 어간 또는 형태소가 시간 표현일 가능성이 높은 조건들을 미리 학습하고, 미리 학습된 조건에 기초하여 시간 표현일 확률 값이 임계 값 이상인 부분들을 태깅 할 수 있다. 예를 들어, 음성 인식 모듈(1530)은 BIO 태깅을 통해 시간 표현을 추출할 수 있다.
도 18은 일 실시 예에 따른 시점 예측 모델을 설명하는 도면이다.
일 예로서 시점 예측 모델의 적용 단계(1627)는 도 18에 도시된 인공 지능 모델에 따라 입력 데이터를 처리하는 단계를 포함 할 수 있다.
일 실시 예에 따른 음성 인식 모듈(1530)은, 시간 표현 추출 모델을 통해 텍스트로부터 식별된 시간 표현에 기초하여, 시간 표현에 관련된 시점을 결정할 수 있다. 음성 인식 모듈(1530)은, 식별된 시간 표현이 어떠한 시점을 나타낼 지에 관한 확률 값들을 예측하고, 가장 높은 확률 값을 갖는 시점을 해당 시간 표현이 나타내는 시점으로서 결정할 수 있다.
음성 인식 모듈(1530)은 다양한 시간 표현들에 대해서 시간 표현이 나타내는 시점을 미리 학습할 수 있다. 음성 인식 모듈(1530)은, 식별된 시간 표현을 입력으로 하여 미리 학습된 모델을 적용함으로써, 식별된 시간 표현이 복수의 시점들을 나타낼 확률 값들을 포함하는 그래프(1810)를 도출할 수 있다. 그래프(1810)의 x축은 시점을 나타내고 y축은 확률 값을 나타낼 수 있다. 그래프(1810)는 소정 시간 간격으로 임의로 지정된 시점들에 대한 확률 값을 나타내거나, 과거 발화가 있었던 시점들 또는 대화 서비스를 사용하였던 시점들에 대한 확률 값을 나타낼 수 있다.
음성 인식 모듈(1530)은, 시간 표현에 관련된 시점이 결정되면, 결정된 시점이 기 설정된 시점의 이 전인지 이 후인지를 판단하는 이진 분류(1820)를 수행할 수 있다.
음성 인식 모듈(1530)은, 이진 분류(1820)에 의한 판단 결과에 기초하여, 시간 표현에 관련된 시점이 기 설정된 시점 이 전이라고 판단되면, 제1 데이터베이스(261)를 선택할 수 있다. 음성 인식 모듈(1530)은, 이진 분류(1820)에 의한 판단 결과에 기초하여, 시간 표현에 관련된 시점이 기 설정된 시점 이 후라고 판단되면, 제2 데이터베이스(263)를 선택할 수 있다.
일 실시 예에 따른 음성 인식 모듈(1530)은, 선택된 데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보에 기초하여 텍스트를 해석할 수 있다. 도 16에는 음성 인식 모듈(1530)의 자연어 이해 모듈(1620)이 텍스트로부터 발화 입력에 관련된 시점을 결정하고 데이터베이스를 선택하는 과정만이 도시되었지만, 음성 인식 모듈(1530)은 선택된 데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보에 기초하여 텍스트를 해석하기 위한 자연어 이해 과정을 다시 한번 수행할 수 있다. 음성 인식 모듈(1530)은, 선택된 데이터베이스로부터 획득되는 사용자의 대화 이력에 관한 정보에 기초하여, 텍스트에 포함되는 적어도 하나의 엔티티를 구체화 하고, 구체화된 텍스트를 해석할 수 있다.
대화 매니저 모듈(1630)은, 자연어 이해 모듈(1620)에서 구체화된 텍스트가 해석된 결과를 입력으로 수신하고, 대화 이력과 같은 상태 변수를 고려하여 자연어 생성 모듈(1640)에 대한 명령어 리스트를 출력할 수 있다. 자연어 생성 모듈(1640)은, 수신된 명령어 리스트에 기초하여, 사용자의 발화 입력에 대한 응답 메시지를 생성할 수 있다.
다양한 실시 예들에 따른 전자 디바이스(200)는, 사용자에게 대화 서비스를 제공하는 전반적인 과정에서 인공 지능을 이용할 수 있다. 본 개시에 따른 인공 지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공 지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공 지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공 지능 전용 프로세서인 경우, 인공 지능 전용 프로세서는, 특정 인공 지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공 지능 모델은 학습을 통해 만들어 진 것을 특징으로 한다. 여기서, 학습을 통해 만들어 진다는 것은, 기본 인공 지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공 지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공 지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어 질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(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) 등이 있으나, 전술한 예에 한정되지 않는다.
한편, 개시된 실시 예들은 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 S/W 프로그램으로 구현될 수 있다.
컴퓨터는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 개시된 실시 예에 따른 동작이 가능한 장치로서, 개시된 실시 예들에 따른 단말 장치 및 원격 제어 장치를 포함할 수 있다.
컴퓨터로 읽을 수 있는 저장 매체는, 비 일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비 일시적’은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장 매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 개시된 실시 예들에 따른 전자 장치 또는 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 S/W 프로그램, S/W 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 전자 장치의 제조사 또는 전자 마켓(예, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 S/W 프로그램 형태의 상품(예, 다운로더블 앱)을 포함할 수 있다. 전자적 배포를 위하여, S/W 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 SW 프로그램을 임시적으로 저장하는 중계 서버의 저장 매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 단말(예로, 단말 장치 또는 원격 제어 장치)로 구성되는 시스템에서, 서버의 저장 매체 또는 단말의 저장 매체를 포함할 수 있다. 또는, 서버 또는 단말과 통신 연결되는 제3 장치(예, 스마트 폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3 장치의 저장 매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 단말 또는 제3 장치로 전송되거나, 제3 장치로부터 단말로 전송되는 S/W 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 단말 및 제3 장치 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 수행할 수 있다. 또는, 서버, 단말 및 제3 장치 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버(예로, 클라우드 서버 또는 인공 지능 서버 등)가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 단말이 개시된 실시 예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 장치가 컴퓨터 프로그램 제품을 실행하여, 제3 장치와 통신 연결된 단말이 개시된 실시 예에 따른 방법을 수행하도록 제어할 수 있다. 구체적인 예로, 제3 장치는 단말 장치 또는 원격 제어 장치를 원격 제어하여, 패킹 영상을 전송 하거나 수신하도록 제어할 수 있다.
제3 장치가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 장치는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드 된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 장치는 프리로드된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시 예들에 따른 방법을 수행할 수도 있다.

Claims (20)

  1. 전자 디바이스가 대화 서비스를 제공하는 방법에 있어서,
    사용자의 발화 입력을 수신하는 단계;
    상기 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별하는 단계;
    상기 시간 표현에 기초하여 상기 발화 입력에 관련된 시점을 결정하는 단계;
    상기 대화 서비스를 이용한 상기 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 상기 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택하는 단계;
    상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보에 기초하여 상기 텍스트를 해석하는 단계;
    상기 해석 결과에 기초하여 상기 수신된 발화 입력에 대한 응답 메시지를 생성하는 단계; 및
    상기 생성된 응답 메시지를 출력하는 단계를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 시간 표현을 식별하는 단계는,
    상기 발화 입력에 대한 음성 인식(Speech Recognition)을 통해 상기 텍스트를 획득하는 단계; 및
    상기 텍스트에 포함되는, 시점, 기간 및 주기 중 적어도 하나를 나타내는 엔티티(Entity)를 상기 시간 표현으로서 결정하는 단계를 포함하는, 방법.
  3. 제2 항에 있어서,
    상기 엔티티를 상기 시간 표현으로서 결정하는 단계는,
    상기 텍스트를 복수의 벡터들에 매핑하는 임베딩을 수행하는 단계;
    상기 매핑된 벡터들에 대해 양방향 LSTM(Long Short-Term Memory) 모델을 적용함으로써, 상기 텍스트에 포함되는, 시점, 기간 및 주기 중 적어도 하나를 나타내는 적어도 하나의 형태소에 대한 BIO 태그를 부여하는 단계; 및
    상기 BIO 태그에 기초하여, 상기 텍스트로부터 상기 엔티티를 식별하는 단계를 포함하는, 방법.
  4. 제1 항에 있어서,
    상기 발화 입력에 관련된 시점을 결정하는 단계는,
    상기 시간 표현이 복수의 시점들 각각을 나타낼 확률 값을 예측하는 단계; 및
    상기 예측된 확률 값들 중에서 가장 높은 확률 값에 대응되는 시점을 상기 발화 입력에 관련된 시점으로서 결정하는 단계를 포함하는, 방법.
  5. 제1 항에 있어서,
    상기 복수의 데이터베이스들은, 기 설정된 시점 이 전의 상기 사용자의 대화 이력에 관한 정보를 저장하는 제1 데이터베이스 및 상기 기 설정된 시점 이 후의 상기 사용자의 대화 이력에 관한 정보를 저장하는 제2 데이터베이스를 포함하고,
    상기 데이터베이스를 선택하는 단계는,
    상기 발화 입력에 관련된 시점이 상기 기 설정된 시점 이 전인 경우, 상기 제1 데이터베이스를 선택하는 단계; 및
    상기 발화 입력에 관련된 시점이 상기 기 설정된 시점 이 후인 경우, 상기 제2 데이터베이스를 선택하는 단계를 포함하는, 방법.
  6. 제5 항에 있어서,
    상기 제1 데이터베이스는 외부 서버 내에 저장되고, 상기 제2 데이터베이스는 상기 전자 디바이스 내에 저장되고,
    상기 기 설정된 시점은,
    상기 제2 데이터베이스 내에 포함되는 상기 사용자의 대화 이력에 관한 정보의 적어도 일부를 상기 제1 데이터베이스에게 전송하는 시점, 상기 사용자의 얼굴 영상을 획득하는 시점, 및 상기 대화 서비스를 시작하는 시점 중 하나인, 방법.
  7. 제1 항에 있어서,
    상기 텍스트를 해석하는 단계는,
    상기 텍스트에 포함되는 구체화가 필요한 엔티티를 결정하는 단계;
    상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보를 검색함으로써, 상기 결정된 엔티티를 구체화 할 수 있는 구체화 정보를 획득하는 단계; 및
    자연어 이해(NLU) 모델을 이용하여 상기 텍스트 및 상기 구체화 정보를 해석하는 단계를 포함하는, 방법.
  8. 제1 항에 있어서,
    상기 응답 메시지를 생성하는 단계는,
    상기 해석 결과에 대해 DM(Dialog Manager) 모델을 적용하여, 상기 응답 메시지의 유형을 결정하는 단계; 및
    NLG(Natural Language Generation) 모델을 이용하여, 상기 결정된 유형의 상기 응답 메시지를 생성하는 단계를 포함하는, 방법.
  9. 제1 항에 있어서,
    상기 사용자의 얼굴 영상을 획득하는 단계;
    상기 복수의 데이터베이스들에 포함되는 제1 데이터베이스를 검색함으로써, 상기 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있는지 여부를 판단하는 단계; 및
    상기 판단 결과에 기초하여, 상기 대화 서비스를 시작하는 단계를 더 포함하는, 방법.
  10. 제9 항에 있어서,
    상기 대화 서비스를 시작하는 단계는,
    상기 제1 데이터베이스 내에 상기 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있는 경우, 상기 얼굴 ID에 매핑되어 저장되어 있는 서비스 사용 이력을 업데이트 하는 단계; 및
    상기 제1 데이터베이스 내에 상기 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있지 않는 경우, 새로운 얼굴 ID 및 상기 새로운 얼굴 ID 에 매핑되는 서비스 사용 이력을 생성하는 단계를 포함하는, 방법.
  11. 제9 항에 있어서,
    상기 대화 서비스가 종료된 후 상기 얼굴 ID를 다른 전자 디바이스에게 전송하는 단계; 및
    상기 다른 전자 디바이스로부터 수신된 요청에 응답하여, 상기 다른 전자 디바이스에게 상기 복수의 데이터베이스들에 포함되는 제2 데이터베이스에 저장된 상기 사용자의 대화 이력에 관한 정보를 전송하는 단계를 포함하는, 방법.
  12. 대화 서비스를 제공하는 전자 디바이스에 있어서,
    하나 이상의 명령어들을 저장하는 메모리; 및
    상기 하나 이상의 명령어들을 실행함으로써 사용자에게 상기 대화 서비스를 제공하는 적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는,
    상기 사용자의 발화 입력을 수신하고, 상기 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별하고, 상기 시간 표현에 기초하여 상기 발화 입력에 관련된 시점을 결정하고, 상기 대화 서비스를 이용한 상기 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 상기 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택하고, 상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보에 기초하여 상기 텍스트를 해석하고, 상기 해석 결과에 기초하여 상기 수신된 발화 입력에 대한 응답 메시지를 생성하고, 상기 생성된 응답 메시지를 출력하는 단계를 포함하는, 전자 디바이스.
  13. 제12 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 발화 입력에 대한 음성 인식(Speech Recognition)을 통해 상기 텍스트를 획득하고, 상기 텍스트를 복수의 벡터들에 매핑하는 임베딩을 수행하고, 상기 매핑된 벡터들에 대해 양방향 LSTM(Long Short-Term Memory) 모델을 적용함으로써, 상기 텍스트에 포함되는, 시점, 기간 및 주기 중 적어도 하나를 나타내는 적어도 하나의 형태소에 대한 BIO 태그를 부여하고, 상기 BIO 태그에 기초하여 상기 텍스트에 포함되는 시점, 기간 및 주기 중 적어도 하나를 나타내는 엔티티(Entity)를 상기 시간 표현으로서 결정하는, 전자 디바이스.
  14. 제12 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 식별된 시간 표현이 복수의 시점들 각각을 나타낼 확률 값을 예측하고, 상기 예측된 확률 값들 중에서 가장 높은 확률 값에 대응되는 시점을 상기 발화 입력에 관련된 시점으로서 결정하는, 전자 디바이스.
  15. 제12 항에 있어서,
    상기 복수의 데이터베이스들은, 기 설정된 시점 이 전의 상기 사용자의 대화 이력에 관한 정보를 저장하는 제1 데이터베이스 및 상기 기 설정된 시점 이 후의 상기 사용자의 대화 이력에 관한 정보를 저장하는 제2 데이터베이스를 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 발화 입력에 관련된 시점이 상기 기 설정된 시점 이 전인 경우, 상기 복수의 데이터베이스들 중에서 상기 제1 데이터베이스를 선택하고,
    상기 발화 입력에 관련된 시점이 상기 기 설정된 시점 이 후인 경우, 상기 복수의 데이터베이스들 중에서 상기 제2 데이터베이스를 선택하는, 전자 디바이스.
  16. 제15 항에 있어서,
    상기 제1 데이터베이스는 외부 서버 내에 저장되고, 상기 제2 데이터베이스는 상기 전자 디바이스 내에 저장되고,
    상기 기 설정된 시점은,
    상기 제2 데이터베이스 내에 포함되는 상기 사용자의 대화 이력에 관한 정보의 적어도 일부를 상기 제1 데이터베이스에게 전송하는 시점, 상기 사용자의 얼굴 영상을 획득하는 시점, 및 상기 대화 서비스를 시작하는 시점 중 하나인, 전자 디바이스.
  17. 제12 항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 텍스트에 포함되는 구체화가 필요한 엔티티를 결정하고, 상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보를 검색함으로써, 상기 결정된 엔티티를 구체화 할 수 있는 구체화 정보를 획득하고, 자연어 이해(NLU) 모델을 이용하여 상기 텍스트 및 상기 구체화 정보를 해석하고,
    상기 해석 결과에 대해 DM(Dialog Manager) 모델을 적용하여, 상기 응답 메시지의 유형을 결정하고, NLG(Natural Language Generation) 모델을 이용하여, 상기 결정된 유형의 상기 응답 메시지를 생성하는, 전자 디바이스.
  18. 제12 항에 있어서,
    상기 사용자의 얼굴 영상을 획득하는 카메라; 및
    상기 사용자의 상기 발화 입력을 수신하는 마이크를 더 포함하고,
    상기 적어도 하나의 프로세서는, 상기 대화 서비스를 시작하기 전에,
    상기 복수의 데이터베이스들에 포함되는 제1 데이터베이스를 검색함으로써, 상기 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있는지 여부를 판단하고,
    상기 제1 데이터베이스 내에 상기 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있는 경우, 상기 얼굴 ID에 매핑되어 저장되어 있는 서비스 사용 이력을 업데이트 하고,
    상기 제1 데이터베이스 내에 상기 획득된 얼굴 영상에 매칭되는 얼굴 ID가 저장되어 있지 않는 경우, 새로운 얼굴 ID 및 상기 새로운 얼굴 ID 에 매핑되는 서비스 사용 이력을 생성하는, 전자 디바이스.
  19. 제18 항에 있어서,
    상기 대화 서비스가 종료된 후 상기 얼굴 ID를 다른 전자 디바이스에게 전송하고, 상기 다른 전자 디바이스로부터 수신된 요청에 응답하여, 상기 다른 전자 디바이스에게 상기 복수의 데이터베이스들에 포함되는 제2 데이터베이스에 저장된 상기 사용자의 대화 이력에 관한 정보를 전송하는, 통신 인터페이스를 더 포함하는, 전자 디바이스.
  20. 대화 서비스를 제공하는 방법을 수행하도록 하는 프로그램이 저장된 하나 이상의 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    상기 방법은,
    사용자의 발화 입력을 수신하는 단계;
    상기 발화 입력으로부터 획득된 텍스트로부터 시간을 나타내는 시간 표현을 식별하는 단계;
    상기 시간 표현에 기초하여 상기 발화 입력에 관련된 시점을 결정하는 단계;
    상기 대화 서비스를 이용한 상기 사용자의 대화 이력에 관한 정보를 저장하는 복수의 데이터베이스들 중에서, 상기 발화 입력에 관련된 시점에 대응하는 데이터베이스를 선택하는 단계;
    상기 선택된 데이터베이스로부터 획득되는 상기 사용자의 대화 이력에 관한 정보에 기초하여 상기 텍스트를 해석하는 단계;
    상기 해석 결과에 기초하여 상기 수신된 발화 입력에 대한 응답 메시지를 생성하는 단계; 및
    상기 생성된 응답 메시지를 출력하는 단계를 포함하는, 하나 이상의 컴퓨터로 읽을 수 있는 기록매체.
KR1020190104573A 2019-08-26 2019-08-26 대화 서비스를 제공하는 방법 및 전자 디바이스 KR20210024861A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020190104573A KR20210024861A (ko) 2019-08-26 2019-08-26 대화 서비스를 제공하는 방법 및 전자 디바이스
US16/797,339 US11710481B2 (en) 2019-08-26 2020-02-21 Electronic device and method for providing conversational service
PCT/KR2020/002972 WO2021040163A1 (en) 2019-08-26 2020-03-02 Electronic device and method for providing conversational service
EP20856788.3A EP3980902A4 (en) 2019-08-26 2020-03-02 ELECTRONIC DEVICE AND METHOD FOR PROVIDING CALL SERVICE
CN202080062807.1A CN114391143A (zh) 2019-08-26 2020-03-02 用于提供对话服务的电子设备和方法
US18/210,696 US20230335131A1 (en) 2019-08-26 2023-06-16 Electronic device and method for providing conversational service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190104573A KR20210024861A (ko) 2019-08-26 2019-08-26 대화 서비스를 제공하는 방법 및 전자 디바이스

Publications (1)

Publication Number Publication Date
KR20210024861A true KR20210024861A (ko) 2021-03-08

Family

ID=74681864

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190104573A KR20210024861A (ko) 2019-08-26 2019-08-26 대화 서비스를 제공하는 방법 및 전자 디바이스

Country Status (5)

Country Link
US (2) US11710481B2 (ko)
EP (1) EP3980902A4 (ko)
KR (1) KR20210024861A (ko)
CN (1) CN114391143A (ko)
WO (1) WO2021040163A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230048197A (ko) * 2021-10-01 2023-04-11 (주)파워보이스 멀티 챗봇 모듈을 이용한 가상 비서 서비스 제공 방법 및 이에 사용되는 관리 서버
KR20230000740U (ko) * 2021-10-06 2023-04-14 (주)파워보이스 멀티 챗봇 모듈을 이용하는 관리 서버
WO2023128660A1 (ko) * 2021-12-30 2023-07-06 삼성전자주식회사 검색을 수행하기 위한 전자 장치 및 그 제어 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151331B1 (en) * 2020-05-13 2021-10-19 International Business Machines Corporation Layered neural networks to evaluate communication distribution
US11763804B2 (en) * 2020-06-29 2023-09-19 Microsoft Technology Licensing, Llc Leveraging dialogue history in updated dialogue
US11790181B2 (en) * 2020-08-19 2023-10-17 International Business Machines Corporation Extractive structured prediction in interactive systems
CN112559714B (zh) * 2020-12-24 2024-04-12 北京百度网讯科技有限公司 对话生成方法、装置、电子设备及存储介质
US11451496B1 (en) * 2021-04-30 2022-09-20 Microsoft Technology Licensing, Llc Intelligent, personalized, and dynamic chatbot conversation
CN113111264B (zh) * 2021-06-15 2021-09-07 深圳追一科技有限公司 界面内容显示方法、装置、电子设备及存储介质
CN115017286B (zh) * 2022-06-09 2023-04-07 北京邮电大学 基于检索的多轮对话系统和方法
CN116049372B (zh) * 2023-02-07 2023-11-28 北京百度网讯科技有限公司 人机对话方法、装置及电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8073681B2 (en) 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
KR20110060039A (ko) 2009-11-30 2011-06-08 동국대학교 산학협력단 대화형 로봇 장치 및 그 제어방법
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8521526B1 (en) 2010-07-28 2013-08-27 Google Inc. Disambiguation of a spoken query term
US20130031476A1 (en) 2011-07-25 2013-01-31 Coin Emmett Voice activated virtual assistant
US10203933B2 (en) 2014-11-06 2019-02-12 Microsoft Technology Licensing, Llc Context-based command surfacing
CN104951077A (zh) 2015-06-24 2015-09-30 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法、装置和终端设备
US10262062B2 (en) 2015-12-21 2019-04-16 Adobe Inc. Natural language system question classifier, semantic representations, and logical form templates
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
EP4086791A1 (en) 2016-06-13 2022-11-09 NEC Corporation Response device, response system, response method, and recording medium
US11449744B2 (en) * 2016-06-23 2022-09-20 Microsoft Technology Licensing, Llc End-to-end memory networks for contextual language understanding
US10467510B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Intelligent assistant
US10347244B2 (en) 2017-04-21 2019-07-09 Go-Vivace Inc. Dialogue system incorporating unique speech to text conversion method for meaningful dialogue response
WO2018213415A1 (en) 2017-05-16 2018-11-22 Apple Inc. Far-field extension for digital assistant services
KR101985793B1 (ko) 2017-09-29 2019-06-04 주식회사 토룩 자율 행동 로봇을 이용하여 대화 서비스를 제공하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230048197A (ko) * 2021-10-01 2023-04-11 (주)파워보이스 멀티 챗봇 모듈을 이용한 가상 비서 서비스 제공 방법 및 이에 사용되는 관리 서버
KR20230000740U (ko) * 2021-10-06 2023-04-14 (주)파워보이스 멀티 챗봇 모듈을 이용하는 관리 서버
WO2023128660A1 (ko) * 2021-12-30 2023-07-06 삼성전자주식회사 검색을 수행하기 위한 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
US20210065705A1 (en) 2021-03-04
US11710481B2 (en) 2023-07-25
US20230335131A1 (en) 2023-10-19
EP3980902A1 (en) 2022-04-13
WO2021040163A1 (en) 2021-03-04
CN114391143A (zh) 2022-04-22
EP3980902A4 (en) 2022-08-24

Similar Documents

Publication Publication Date Title
US11710481B2 (en) Electronic device and method for providing conversational service
US10832674B2 (en) Voice data processing method and electronic device supporting the same
US10733983B2 (en) Parameter collection and automatic dialog generation in dialog systems
KR20200013152A (ko) 이전에 대화를 수집한 결과를 기반으로 인공 지능 서비스를 제공하는 전자 장치 및 방법
US20200125967A1 (en) Electronic device and method for controlling the electronic device
US11217244B2 (en) System for processing user voice utterance and method for operating same
KR102628037B1 (ko) 제품의 판매 정보를 제공하는 방법 및 장치
US20200135213A1 (en) Electronic device and control method thereof
US20190325224A1 (en) Electronic device and method for controlling the electronic device thereof
KR102545666B1 (ko) 페르소나에 기반하여 문장을 제공하는 방법 및 이를 지원하는 전자 장치
US20200219487A1 (en) Information processing apparatus and information processing method
CN112955862A (zh) 电子装置及其控制方法
KR102596841B1 (ko) 사용자의 발화에 응답하여 하나 이상의 아이템을 제공하기 위한 전자 장치 및 방법
KR20190088086A (ko) 전자 장치 및 이의 제어 방법
US20230290343A1 (en) Electronic device and control method therefor
CN112567718A (zh) 响应用户语音执行包括呼叫的任务的电子装置及操作方法
KR20200051462A (ko) 전자 장치 및 그 동작방법
US20220059088A1 (en) Electronic device and control method therefor
US11361750B2 (en) System and electronic device for generating tts model
KR20220109238A (ko) 사용자의 발화 입력에 관련된 추천 문장을 제공하는 디바이스 및 방법
KR102417029B1 (ko) 자연어 표현 생성 방법 및 전자 장치
CN111145735A (zh) 电子设备及其操作方法
KR20200016774A (ko) 사용자 음성 발화를 처리하기 위한 시스템 및 그의 동작 방법
KR20200042137A (ko) 변형 발화 텍스트를 제공하는 전자 장치 및 그것의 동작 방법
KR20200044175A (ko) 전자 장치 및 그의 비서 서비스 제공 방법

Legal Events

Date Code Title Description
A201 Request for examination