KR20200092464A - 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법 - Google Patents

전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법 Download PDF

Info

Publication number
KR20200092464A
KR20200092464A KR1020190001922A KR20190001922A KR20200092464A KR 20200092464 A KR20200092464 A KR 20200092464A KR 1020190001922 A KR1020190001922 A KR 1020190001922A KR 20190001922 A KR20190001922 A KR 20190001922A KR 20200092464 A KR20200092464 A KR 20200092464A
Authority
KR
South Korea
Prior art keywords
electronic device
user
utterance
information
content
Prior art date
Application number
KR1020190001922A
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 KR1020190001922A priority Critical patent/KR20200092464A/ko
Priority to US17/421,250 priority patent/US20220122602A1/en
Priority to PCT/KR2019/017402 priority patent/WO2020145524A1/ko
Publication of KR20200092464A publication Critical patent/KR20200092464A/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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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/04Segmentation; Word boundary detection
    • 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8405Generation or processing of descriptive data, e.g. content descriptors represented by keywords
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4852End-user interface for client configuration for modifying audio parameters, e.g. switching between mono and stereo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/485End-user interface for client configuration
    • H04N21/4854End-user interface for client configuration for modifying image parameters, e.g. image brightness, contrast

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Social Psychology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시의 실시 예에 따른 전자 장치가 어시스턴트 서비스를 제공하는 방법은 상기 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하는 동작; 상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 결정하기 위한 사용자 컨텍스트를 결정하는 동작; 상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하는 동작; 및 기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력하는 동작; 을 포함을 포함한다.

Description

전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법 {ELECTRONIC DEVICE AND METHOD FOR PROVIDING ASSISTANT SERVICE USING THE ELECTRONIC DEVICE}
본 개시는 어시스턴트 서비스를 제공하는 방법 및 장치에 관한 것으로서, 보다 상세하게는 사용자에게 발화 목록을 제공함으로써 어시스턴트 서비스를 제공하는 전자 장치에 관한 것이다.
인공지능(Artificial Intelligence, AI) 시스템은 기존 Rule 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 Rule 기반 스마트 시스템은 점차 딥러닝 기반 인공지능 시스템으로 대체되고 있다. 인공지능 기술은 기계학습(딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공지능 기술은 다양한 분야에 응용될 수 있고, 특히, 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등에 이용될 수 있다. 인공지능 기술이 인간의 언어를 이해하고 처리하는 대표적인 실시 예로서, 자동화된 어시스턴트 서비스를 들 수 있다.
자동화된 어시스턴트 서비스는 스마트폰, 태블릿 컴퓨터, 웨어러블 디바이스 등 다양한 전자 장치들을 통해 사용자와 인터랙션 할 수 있고, 어시스턴트 서비스들은 타이핑 또는 발화된 자연어 입력을 사용자로부터 수신하고, 수신된 사용자 입력에 응답하여 시각적 또는 청각적 응답을 출력할 수 있다.
어시스턴트 서비스는 스마트폰, 디스플레이 장치등에 탑재된 가상화된 어시스턴트를 통하여 제공될 수 있고, 최근 어시스턴트 서비스를 통하여 다양한 전자 장치들을 제어하기 위한 기술들이 개발되고 있다. 또한, 어시스턴트 서비스들은 다양한 형태 및 다양한 기능을 갖는 디스플레이 장치들에 탑재됨으로써, 디스플레이 장치가 다양한 유 무선의 통신 네트워크를 통하여 복수개의 컨텐츠 중 적어도 하나를 수신하고, 수신된 컨텐츠를 사용자에게 제공 시, 사용자들에게 더 편리한 디스플레이 환경을 제공할 수 있다. 즉, 어시스턴트 서비스가 탑재된 디스플레이 장치들은 어시스턴트 모델을 이용하여 소비자의 다양한 욕구 또는 의도에 부합되는 기능을 실현할 수 있다.
다만, 일반적인 어시스턴트 서비스를 제공하는 전자 장치들은 어시스턴트 서비스를 제공하기 위해 소정의 사용자 입력을 요구하는 문제점이 있었고, 전자 장치 사용자가 소정의 사용자 입력을 알 수 없는 경우, 어시스턴트 서비스를 충분하게 제공하지 못하는 문제점이 있었다. 또한, 종래의 어시스턴트 서비스를 제공하는 전자 장치들은 소정의 사용자 입력이 수신되는 경우에만 어시스턴트 서비스를 제공하기 때문에 전자 장치를 사용하는 사용자의 의도 및 욕구를 잘 반영하지 못하는 문제점이 있었다.
본 개시의 일 실시 예에 따르면, 전자 장치 사용자의 편리성 및 만족도를 증가시킬 수 있는 어시스턴트 서비스를 제공하는 전자 장치를 개시한다.
구체적으로, 본 개시의 일 실시 예는 전자 장치에 디스플레이 되는 컨텐츠의 특성 및 전자 장치 사용자의 사용 상황에 기초하여 발화 목록을 출력하는 전자 장치를 제공할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치가 어시스턴트 서비스를 제공하는 방법은 상기 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하는 동작; 상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 결정하기 위한 사용자 컨텍스트를 결정하는 동작; 상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하는 동작; 및 기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력하는 동작; 을 포함할 수 있다.
일 실시 예에 따라, 상기 컨텐츠 식별 정보를 결정하는 동작은 상기 전자 장치의 화면 전환 여부를 결정하는 동작; 및 상기 전자 장치의 화면이 전환되면, 상기 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간 경과 후 상기 컨텐츠 식별 정보를 결정하는 동작; 을 포함할 수 있다.
일 실시 예에 따라, 상기 컨텐츠 식별 정보는 상기 전자 장치의 채널 정보, 상기 전자 장치의 화면에 표시되는 컨텐츠의 주소 정보, 상기 전자 장치의 화면 내 레이아웃에 관한 정보 및 상기 전자 장치의 화면에서 검출된 텍스트에 대한 정보 중 적어도 하나에 기초하여 결정될 수 있다.
일 실시 예에 따라, 상기 사용자 컨텍스트를 결정하는 동작은 상기 전자 장치의 화면이 전환되는지 여부 및 상기 결정된 컨텐츠 식별 정보에 기초하여 상기 전자 장치의 사용 모드를 결정하는 동작; 및 상기 결정된 사용 모드 별로, 상기 사용자로부터 수신되는 사용자 입력, 상기 사용자의 상기 전자 장치에 대한 기기 사용 정보, 현재 상기 전자 장치의 동작 상태를 나타내는 동작 상태 정보 및 상기 컨텐츠 식별 정보 중 적어도 하나를 이용하여 상기 사용자 컨텍스트를 결정하는 동작; 을 포함할 수 있다.
일 실시 예에 따라, 상기 전자 장치의 사용 모드는 상기 전자 장치에 표시될 컨텐츠를 탐색하기 위한 탐색 모드, 상기 컨텐츠의 재생을 위한 장치 설정 모드, 컨텐츠 재생 모드 및 상기 컨텐츠의 재생 종료 모드 중 적어도 하나를 포함하고, 상기 전자 장치의 동작 상태 정보는 상기 전자 장치의 동작이 수행될 때의 시간에 관한 정보를 더 포함할 수 있다.
일 실시 예에 따라, 상기 발화 목록을 생성하는 동작은 상기 컨텐츠 식별 정보 및 상기 사용자 컨텍스트에 기초하여 미리 학습되는 어시스턴트 프로그램의 학습 모델을 이용하여 상기 발화 목록을 생성하는 동작; 및 상기 어시스턴트 프로그램의 학습 모델의 학습이 이루어지지 않은 경우, 상기 결정된 컨텐츠 식별 정보 및 상기 사용자 컨텍스트에 따라 미리 설정된 발화들을 이용하여 상기 발화 목록을 생성하는 동작; 을 포함할 수 있다.
일 실시 예에 따라, 상기 어시스턴트 프로그램의 학습 모델은 인공지능 알고리즘으로서, 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습되는 학습 모델일 수 있다.
일 실시 예에 따라, 상기 어시스턴트 프로그램의 학습 모델은 상기 사용자의 계정, 상기 전자 장치에 표시되는 컨텐츠의 장르, 상기 전자 장치에 표시되는 컨텐츠의 배우 및 상기 컨텐츠를 시청하는 날짜 중 적어도 하나에 따라 서로 다른 발화 목록들을 생성할 수 있다.
일 실시 예에 따라, 상기 기 설정된 발화 제공 이벤트는 상기 사용자로부터 수신된 사용자 입력이 상기 발화 목록의 출력을 위한 트리거 신호를 포함하는 경우 발생할 수 있다.
일 실시 예에 따라, 상기 기 설정된 발화 제공 이벤트는 현재 시간에 대한 정보, 현재 날씨에 대한 정보, 상기 전자 장치의 채널 유지 시간에 대한 정보, 상기 전자 장치의 동작 상태 정보, 상기 전자 장치에 연결된 다른 전자 장치로부터 수신되는 외부 입력 정보 및 상기 전자 장치의 화면 전환 정보 중 적어도 하나에 기초하여 발생할 수 있다.
일 실시 예에 따라, 상기 발화 목록을 출력하는 동작은 상기 출력된 발화 목록에 대한 사용자 응답에 기초하여 상기 발화 목록의 출력 강도를 결정하는 동작; 및 상기 결정된 출력 강도에 따라 상기 생성된 발화 목록을 시각 데이터 및 음성 데이터(TTS: Text To Speech) 중 적어도 하나로 출력하는 동작; 을 포함할 수 있다.
일 실시 예에 따라, 상기 발화 목록을 출력하는 동작은 상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 따라 상기 발화 목록을 출력하기 위한 우선 순위를 결정하는 동작; 및 상기 결정된 우선 순위에 따라 상기 발화 목록을 출력하는 동작; 을 포함할 수 있다.
일 실시 예에 따라 상기 방법은 상기 출력된 발화 목록에 대한 응답을 상기 사용자로부터 수신하는 동작; 및 상기 수신된 응답을 이용하여 상기 생성된 발화 목록을 업데이트 하는 동작; 을 더 포함할 수 있다.
일 실시 예에 따라, 상기 발화 목록을 출력하는 동작은 상기 전자 장치의 서비스 및 상기 전자 장치에 표시되는 컨텐츠의 종류에 따라 상기 생성된 발화 목록을 클러스터링 함으로써 적어도 하나의 발화 목록을 포함하는 발화 클러스터를 생성하는 동작; 을 더 포함하고, 상기 생성된 발화 클러스터 별로 상기 생성된 발화 목록을 출력할 수 있다.
또한, 상기 기술적 과제를 해결하기 위한 본 개시의 또 다른 실시 예에 따라, 어시스턴트 서비스를 제공하는 전자 장치는 출력부; 하나 이상의 명령어들을 저장하는 메모리; 및 상기 하나 이상의 명령어들을 실행함으로써 상기 어시스턴트 서비스를 제공하는 하나 이상의 프로세서; 를 포함하고, 상기 프로세서는, 상기 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하고, 상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 결정하기 위한 사용자 컨텍스트를 결정하고, 상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하고, 기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력할 수 있다.
일 실시 예에 따라, 상기 프로세서는 상기 전자 장치의 화면 전환 여부를 결정하고, 상기 전자 장치의 화면이 전환되면, 상기 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간 경과 후 상기 컨텐츠 식별 정보를 결정할 수 있다.
일 실시 예에 따라 상기 컨텐츠 식별 정보는 상기 전자 장치의 채널 정보, 상기 전자 장치의 화면에 표시되는 컨텐츠의 주소 정보, 상기 전자 장치의 화면 내 레이아웃에 관한 정보 및 상기 전자 장치의 화면에서 검출된 텍스트에 대한 정보 중 적어도 하나에 기초하여 결정될 수 있다.
일 실시 예에 따라, 상기 프로세서는 상기 전자 장치의 화면이 전환되는지 여부 및 상기 결정된 컨텐츠 식별 정보에 기초하여 상기 전자 장치의 사용 모드를 결정하고, 상기 결정된 사용 모드 별로, 상기 사용자로부터 수신되는 사용자 입력, 상기 전자 장치 사용자의 기기 사용 정보, 현재 상기 전자 장치의 동작 상태를 나타내는 동작 상태 정보 및 상기 컨텐츠 식별 정보 중 적어도 하나를 이용하여 상기 사용자 컨텍스트를 결정할 수 있다.
일 실시 예에 따라 상기 전자 장치의 사용 모드는 상기 전자 장치에 표시될 컨텐츠를 탐색하기 위한 탐색 모드, 상기 컨텐츠의 재생을 위한 장치 설정 모드, 컨텐츠 재생 모드 및 상기 컨텐츠의 재생 종료 모드 중 적어도 하나를 포함하고, 상기 전자 장치의 동작 상태 정보는 상기 전자 장치의 동작이 수행될 때의 시간에 관한 정보를 더 포함할 수 있다.
또한, 상기 기술적 과제를 해결하기 위한 본 개시의 또 다른 실시 예에 따라, 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하는 동작; 상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 결정하기 위한 사용자 컨텍스트를 결정하는 동작; 상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하는 동작; 및 기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력하는 동작을 수행하도록 하는 명령어들을 포함하는, 컴퓨터 프로그램을 제공할 수 있다.
도 1은 일부 실시예에 따른 전자 장치가 어시스턴트 서비스를 제공하는 방법을 개략적으로 설명하기 위한 도면이다.
도 2는 일부 실시예에 따른 어시스턴트 서비스를 제공하는 전자 장치를 나타내는 블록도이다.
도 3은 또 다른 실시 예에 따른 어시스턴트 서비스를 제공하는 전자 장치를 나타내는 블록도이다.
도 4는 일부 실시 예에 따른 전자 장치가 어시스턴트 서비스를 제공하는 방법의 흐름도이다.
도 5는 일부 실시 예에 따른 전자 장치가 컨텐츠 식별 정보를 결정하는 방법을 구체적으로 설명하기 위한 도면이다.
도 6은 일부 실시 예에 따른 전자 장치가 컨텐츠 종류에 따라 제공하는 발화 목록을 비교하기 위한 도면이다.
도 7은 일부 실시 예에 따른 전자 장치가 컨텐츠 종류에 따라 제공하는 발화 목록을 비교하기 위한 도면이다.
도 8은 일부 실시 예에 따른 전자 장치가 사용자 컨텍스트를 결정하는 방법을 구체적으로 설명하기 위한 도면이다.
도 9는 일부 실시 예에 따른 전자 장치가 사용자 컨텍스트를 결정하기 위해 이용하는 전자 장치의 사용 모드를 설명하기 위한 도면이다.
도 10은 일부 실시 예에 따른 전자 장치가 사용 모드 별로 사용자의 사용자 컨텍스트를 결정하는 방법을 설명하기 위한 도면이다.
도 11은 일부 실시 예에 따른 전자 장치가 사용 모드 별로 사용자의 사용자 컨텍스트를 결정하는 방법을 설명하기 위한 도면이다.
도 12는 일부 실시 예에 따른 전자 장치가 발화 목록의 출력 강도에 따라 발화 목록을 출력하는 방법을 설명하기 위한 도면이다.
도 13은 전자 장치가 생성된 발화 목록을 출력하기 위한 조건을 설명하기 위한 도면이다.
도 14는 일부 실시 예에 따른 전자 장치가 발화 목록을 우선 순위에 따라 출력하는 방법을 설명하기 위한 도면이다.
도 15는 일부 실시 예에 따른 전자 장치가 생성한 발화 목록들이 우선 순위에 따라 출력되는 화면을 나타내는 도면이다.
도 16은 일부 실시 예에 따른 전자 장치가 서버와 연동함으로써 어시스턴트 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 17은 또 다른 실시 예에 따른 어시스턴트 서비스를 제공하는 전자 장치를 나타내는 블록도이다.
도 18은 일부 실시 예에 따른 전자 장치와 연동하는 서버를 나타내는 블록도이다.
아래에서는 첨부한 도면을 참조하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 개시의 실시예를 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 본 명세서에서 어시스턴트 서비스는, 사용자와의 대화를 제공하는 서비스일 수 있다. 본 명세서에서 기술되는 어시스턴트 서비스에서는 전자 장치를 사용하는 사용자의 사용자 컨텍스트, 전자 장치에 디스플레이 되는 컨텐츠의 특성 등을 고려하여 사람이 사용자와 직접 대화하는 것처럼 사용자에게 응답 메시지를 제공할 수 있다. 또한, 본 명세서에서 어시스턴트 서비스에 따라 제공되는 응답 메시지는 시각적, 청각적인 방법으로 사용자에게 제공될 수 있다.
또한, 본 명세서에서 어시스턴트 서비스를 제공하기 위한 어시스턴트 프로그램 학습 모델은, 인공 지능 알고리즘으로서, 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습된 학습 모델일 수 있다.
어시스턴트 서비스를 제공하기 위한 어시스턴트 프로그램의 학습 모델은, 사용자에게 응답 메시지를 제공하기 위한 기준 및 방법 등을 학습하는 학습 모델일 수 있다. 어시스턴트 서비스의 학습 모델은, 예를 들어, 사용자 입력(예컨대 사용자 음성)을 해석하기 위한 학습 모델, 사용자에게 제공할 응답 메시지를 생성하기 위한 학습 모델, 및 응답 메시지의 출력 강도를 결정하기 위한 학습 모델을 포함할 수 있으나, 이에 제한되지 않는다.
이하 첨부된 도면을 참고하여 본 개시를 상세히 설명하기로 한다.
도 1은 일부 실시예에 따른 전자 장치(1000)가 어시스턴트 서비스를 제공하는 방법을 개략적으로 설명하기 위한 도면이다.
도 1을 참조하면, 어시스턴트 서비스를 제공하는 전자 장치(1000)는 사용자로부터 사용자 입력을 수신하고, 수신된 사용자 입력에 대한 응답 메시지를 사용자에게 제공할 수 있다.
본 개시에 따른 전자 장치(1000)는 사용자로부터 수신되는 사용자 입력에 발화 목록 출력을 위한 트리거 신호가 포함되었는지 여부를 결정하고, 수신되는 사용자 입력에 트리거 신호가 포함되는 경우, 발화 목록을 생성하며, 생성된 발화 목록을 제공할 수 있다. 일 실시 예에 따른 전자 장치(1000)가 수신하는 사용자 입력은 사용자 입력 인터페이스를 통하여 수신되는 사용자 음성 입력 및 전자장치의 디스프레이 화면을 터치하는 사용자 터치 입력을 포함할 수 있다.
또 다른 실시 예에 따르면, 전자 장치(1000)가 원격 제어 장치(Remote Controller)(미도시)에 의해서 조작되는 경우, 사용자 입력은 원격 제어 장치로부터 수신되는 사용자 제어 입력을 더 포함할 수 있다. 즉, 본 개시에 따른 사용자 입력 인터페이스는 원격 제어 장치로부터 수신되는 사용자 제어 입력을 수신할 수 있다. 본 개시에 따른 전자 장치(1000)는 사용자 입력 인터페이스를 통하여 수신되는 사용자 입력에 트리거 신호로써 기 설정된 단어들(예컨대, 도와줘, 뭐 할 수 있어 등)이 포함되는 경우, 사용자 입력에 응답하여 발화 목록을 제공할 수 있다.
또한, 본 개시에 따른 전자 장치(1000)는 사용자로부터 사용자 입력이 수신되지 않는 경우에도, 기 설정된 발화 제공 이벤트(102)가 발생하는 경우, 컨텐츠 식별 정보 및 사용자 컨텍스트에 따라 생성된 발화 목록을 사용자에게 제공할 수 있다. 본 개시에 따른 전자 장치(1000)는 생성된 발화 목록들을 소정의 기준에 따라 클러스터링함으로써 발화 클러스터들을 생성하고, 생성된 발화 클러스터 단위로 생성된 발화 목록들을 출력할 수 있다. 예를 들어, 전자 장치(1000)는 Live TV에서 축구 경기와 관련된 컨텐츠가 디스플레이 되는 경우, 발화 클러스터로써, 디스플레이 장치 설정을 위한 발화 목록들이 포함된 설정 캡슐 명령어(104), 현재 전자 장치에 디스플레이 되는 채널과 관련된 발화 목록들이 포함된 TV 채널 캡슐 명령어(106) 및 전자 장치에 디스플레이 되는 컨텐츠를 입력으로 하고, 입력된 컨텐츠와 관련된 편성표를 출력으로하는 AI 모델을 이용하여 제공되는 발화 목록들이 포함된 딥링킹 캡슐 명령어(108) 단위로 발화 목록들을 제공할 수 있다.
일 실시 예에 따른 전자 장치(1000)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 전자 장치(1000)는, 디지털 카메라, 모바일 단말, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿 PC, 전자북 단말기, 디지털방송용 단말기, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어 등이 있을 수 있으나, 이에 한정되는 것은 아니다.
본 명세서에서 기술되는 전자 장치(1000)는 사용자에 의해 착용될 수 있는 장치(wearable device)일 수 있다. 웨어러블 디바이스는 액세서리 형 장치(예컨대, 시계, 반지, 팔목 밴드, 발목 밴드, 목걸이, 안경, 콘택트 렌즈), 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형 장치(예: 전자 의복), 신체 부착형 장치(예컨대, 스킨 패드(skin pad)), 또는 생체 이식형 장치(예: implantable circuit) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 이하에서는, 설명의 편의상, 전자 장치(1000)가 컨텐츠를 디스플레이 하는 디스플레이 장치인 경우(예컨대, TV 및 모니터 등)를 예로 들어 설명하기로 한다.
도 2는 일부 실시예에 따른 어시스턴트 서비스를 제공하는 전자 장치(1000)를 나타내는 블록도이다.
일부 실시 예에 따른 전자 장치(1000)는 출력부(1200), 프로세서(1300) 및 메모리(1700)를 포함할 수 있다. 예를 들어 출력부(1200)는 디스플레이 및 스피커를 포함할 수 있다. 본 개시에 따른 출력부(1200)는 생성된 발화 목록들을 시각적 또는 청각적으로 출력할 수 있다. 구체적으로, 출력부(1200)는 생성된 발화 목록들을 포함하는 비디오 데이터들을, 사용자가 시각적으로 인식할 수 있도록, 전자 장치(1000)에 포함된 디스플레이 패널을 통하여 비디오 데이터에 대응되는 이미지를 출력할 수 있다.
일 실시 예에 따른 프로세서(1300)는 메모리(1700)에 저장된 하나 이상의 인스트럭션을 실행할 수 있다. 본 명세서에서 기술되는 프로세서는 단일 모듈로 구현될 수도 있으나, 전자 장치(1000)의 기능을 분할 수행하기 위한 복수의 모듈로 구현될 수 있다. 예를 들어, 프로세서(1300)는 메모리(1700)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 사용자에게 어시스턴트 서비스를 제공하기 위한 소정의 동작들을 실행할 수 있다.
구체적으로, 프로세서(1300)는 전자 장치(1000) 의 외부에서부터 입력되는 신호 또는 데이터를 저장하거나, 전자 장치(1000) 에서 수행되는 다양한 작업에 대응되는 저장 영역으로 사용되는 RAM(미도시), 전자 장치(1000)의 제어를 위한 제어 프로그램 및/또는 복수개의 인스트럭션이 저장된 ROM(미도시) 과 연결될 수 있고, 프로세서(1300)는 비디오에 대응되는 그래픽 처리를 위한 그래픽 프로세서(Graphic Processing Unit, 미도시)를 포함할 수 있다.
또한, 프로세서(1300)는 코어(core, 미도시)와 GPU(미도시)를 통합한 SoC(System On Chip)로 구현될 수 있다. 프로세서(미도시)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 이하에서는 설명의 편의상, 프로세서 (1300)가 소정 동작을 수행 또는 제어하는데 있어서, 메모리(1700)에 저장된 적어도 하나의 인스트럭션을 실행하여 소정 동작을 수행하는 경우를 예로 들어서 설명하도록 하겠다.
일 실시예에 따라 프로세서는 상기 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하고, 상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 결정하기 위한 사용자 컨텍스트를 결정하며, 상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하고, 기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력하는 동작을 출력할 수 있다. 이와 같이, 전자 장치(1000)의 프로세서는 전자 장치에서 표시되는 컨텐츠의 식별 정보 및 사용자 컨텍스트에 기초하여 발화 목록을 생성함으로써 사용자의 의도에 부합하는 발화 목록을 생성할 수 있다.
일 실시 예에 따라 프로세서는, 전자 장치의 화면 전환 여부를 결정하고, 상기 전자 장치의 화면이 전환되면, 상기 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간 경과 후 상기 컨텐츠 식별 정보를 결정할 수 있다. 이와 같이, 전자 장치(1000)의 프로세서는 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간이 경과한 후에 컨텐츠 식별 정보를 결정하기 때문에, 화면 별 컨텐츠의 식별 정보를 정확하게 결정할 수 있고, 결과적으로, 화면 별 사용자 상황이 더 잘 반영된 사용자 컨텍스트를 결정할 수 있다.
일 실시 예에 따라, 상기 컨텐츠 식별 정보는 상기 전자 장치의 채널 정보, 상기 전자 장치의 화면에 표시되는 컨텐츠의 주소 정보, 상기 전자 장치의 화면 내 레이아웃에 관한 정보 및 상기 전자 장치의 화면에서 검출된 텍스트에 대한 정보 중 적어도 하나에 기초하여 결정될 수 있다. 본 개시에 따른 컨텐츠 식별 정보는 전자 장치의 채널 정보뿐만 아니라, 컨텐츠의 주소 정보(예컨대 html 주소) 및 화면 내 레이아웃에 관한 정보를 같이 이용함으로써 현재 디스플레이 화면에 표시되는 컨텐츠의 컨텐츠 식별 정보를 정확하게 결정할 수 있다.
또한, 일 실시 예에 따른 프로세서는, 상기 전자 장치의 화면이 전환되는지 여부 및 상기 결정된 컨텐츠 식별 정보에 기초하여 상기 전자 장치의 사용 모드를 결정하고, 상기 결정된 사용 모드 별로, 상기 사용자로부터 수신되는 사용자 입력, 상기 사용자의 상기 전자 장치에 대한 기기 사용 정보, 현재 상기 전자 장치의 동작 상태를 나타내는 동작 상태 정보 및 상기 컨텐츠 식별 정보 중 적어도 하나를 이용하여 사용자 컨텍스트를 결정할 수 있다. 이와 같이, 전자 장치의 프로세서는 전자 장치의 사용 모드 별로 사용자 컨텍스트를 결정하기 때문에, 전자 장치에 대한 사용자의 사용 상황을 더 잘 인식할 수 있는 장점이 있다. 또한, 전자 장치의 프로세서는 사용자의 전자 장치에 대한 기기 사용 정보 등을 이용하여 사용자 컨텍스트를 결정하기 때문에, 사용자의 생활 패턴을 정확하게 파악할 수 있고, 더욱 고도화된 발화 목록들을 제공할 수 있다.
일 시시 예에 따라, 전자 장치의 사용 모드는 상기 전자 장치에 표시될 컨텐츠를 탐색하기 위한 탐색 모드, 상기 컨텐츠의 재생을 위한 장치 설정 모드, 컨텐츠 재생 모드 및 상기 컨텐츠의 재생 종료 모드 중 적어도 하나를 포함하고, 상기 전자 장치의 동작 상태 정보는 상기 전자 장치의 동작이 수행될 때의 시간에 관한 정보를 더 포함할 수 있다. 본 개시에 따른 전자 장치의 동작 상태를 나타내는 동작 상태 정보는 전자 장치의 동작이 수행 될 때의 시간에 관한 정보를 포함하기 때문에, 전자 장치에 대한 사용자의 사용 상황을 시계열적으로 인식할 수 있다.
일 실시 예에 따라, 프로세서는 컨텐츠 식별 정보 및 상기 사용자 컨텍스트에 기초하여 미리 학습되는 어시스턴트 프로그램의 학습 모델을 이용하여 상기 발화 목록을 생성하고, 만약 어시스턴트 프로그램의 학습 모델의 학습이 이루어지지 않은 경우, 상기 결정된 컨텐츠 식별 정보 및 상기 사용자 컨텍스트에 따라 미리 설정된 발화들을 이용하여 상기 발화 목록을 생성할 수 있다. 따라서, 본 개시에 따른 전자 장치는 처음 전자 장치를 동작시킨 상황에서, 발화 목록을 생성하기 위한 어시스턴트 프로그램의 학습 모델이 학습되지 않은 경우에도, 사용자에게 발화 목록을 제공함으로써 사용자의 편의를 향상시킬 수 있다.
일 실시 예에 따라, 어시스턴트 프로그램의 학습 모델은 인공지능 알고리즘으로서, 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습될 수 있다. 본 개시에 따른 어시스턴트 프로그램의 학습 모델은 다양한 인공지능 알고리즘에 기초하여 학습되기 때문에, 전자 장치의 사용자 의도에 부합하는 발화 목록들을 생성할 수 있다. 일 실시 예에 의하면, 어시스턴트 프로그램의 학습 모델은 인공지능 알고리즘에 따라 학습되는 언어 모델을 포함할 수 있다.
일 실시 예에 따라, 어시스턴트 프로그램의 학습 모델은 상기 사용자의 계정, 상기 전자 장치에 표시되는 컨텐츠의 장르, 상기 전자 장치에 표시되는 컨텐츠의 배우 및 상기 컨텐츠를 시청하는 날짜 중 적어도 하나에 따라 서로 다르게 학습될 수 있다. 예를 들어, 어시스턴트 프로그램의 학습 모델은 사용자가 선호하는 컨텐츠의 장르 별, 컨텐츠의 배우 별로 학습됨으로써, 컨텐츠의 특정 장르 또는 배우에 대한 사용자의 선호도를 반영할 수 있다.
일 실시 예에 따라 기 설정된 발화 제공 이벤트는 사용자로부터 수신된 사용자 입력이 상기 발화 목록의 출력을 위한 트리거 신호를 포함하는 경우 발생할 수 있다. 또 다른 실시 예에 따라, 기 설정된 발화 제공 이벤트는 현재 시간에 대한 정보, 현재 날씨에 대한 정보, 상기 전자 장치의 채널 유지 시간에 대한 정보, 상기 전자 장치의 동작 상태 정보, 상기 전자 장치에 연결된 다른 전자 장치로부터 수신되는 외부 입력 정보 및 상기 전자 장치의 화면 전환 정보 중 적어도 하나에 기초하여 발생할 수 있다. 이와 같이, 본 개시에 따른 발화 제공 이벤트는 트리거 신호를 포함하는 사용자 입력이 수신되지 않는 경우에도, 미리 설정된 이벤트 조건이 만족되는 경우 발생할 수 있기 때문에, 전자 장치(1000)는 트리거 신호를 포함하는 사용자 입력이 없는 경우에도, 먼저 발화 목록들을 제공할 수 있는 장점이 있다.
즉, 본 개시에 따른 전자 장치(1000)는 사용자가 추가적으로 제공되는 발화(Follow Up Utterance) 뿐만 아니라, 대화를 여는 발화(Root Utterance)를 모르는 경우에도, 미리 설정된 이벤트 조건이 만족되면, 먼저 발화 목록을 제공함으로써 사용자의 편의를 향상시킬 수 있다.
일 실시 예에 따라, 상기 프로세서는 출력된 발화 목록에 대한 사용자 응답에 기초하여 상기 발화 목록의 출력 강도를 결정하고, 상기 결정된 출력 강도에 따라 상기 생성된 발화 목록을 시각 데이터 및 음성 데이터(TTS: Text To Speech) 중 적어도 하나로 출력할 수 있다. 또 다른 실시 예에 따르면, 프로세서는 출력된 발화 목록들의 강도를 서로 다르게 결정할 수도 있다.
또한, 일 실시 예에 따라, 상기 프로세서는 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 따라 상기 발화 목록을 출력하기 위한 우선 순위를 결정하고, 결정된 우선 순위에 따라 발화 목록을 출력할 수 있다. 따라서, 본 개시에 따른 전자 장치는 출력되는 발화 목록들의 출력 강도를 서로 다르게 결정하거나, 미리 결정된 우선 순위에 따라 발화 목록들을 출력함으로써 사용자로 하여금 용이하게 발화 목록에 응답하도록 할 수 있다.
일 실시 예에 따라 상기 프로세서는 전자 장치의 서비스 및 상기 전자 장치에 표시되는 컨텐츠의 종류에 따라 상기 생성된 발화 목록을 클러스터링 함으로써 적어도 하나의 발화 목록을 포함하는 발화 클러스터를 생성하고, 생성된 발화 클러스터 별로 상기 생성된 발화 목록을 출력할 수 있다. 이와 같이, 전자 장치(1000)는 생성된 발화 목록들을 발화 클러스터 단위로 출력할 수 있기 때문에, 사용자가 복수의 발화 목록들을 더 용이하게 인식하도록 할 수 있다.
일 실시 예에 따른, 메모리(1700)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
메모리(1700)에 저장된 하나 이상의 인스트럭션들은(예컨대, 어시스턴트 서비스를 제공하기 위한 프로그램 명령어들) 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, 컨텐츠 식별 모듈, 사용자 컨텍스트 결정 모듈, 발화 목록 생성 모듈 및 발화 목록 출력 모듈 등으로 분류될 수 있다.
도 3은 또 다른 실시 예에 따른 어시스턴트 서비스를 제공하는 전자 장치(1000)를 나타내는 블록도이다.
또 다른 실시 예에 따른 전자 장치(1000)는 사용자 입력 인터페이스(1100), 출력부(1200), 프로세서(1300), 통신부(1500) 및 메모리(1700)를 포함할 수 있다. 예를 들어, 사용자 입력 인터페이스(1100)는 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미할 수 있다. 예를 들어, 사용자 입력부(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 및 마이크로폰 등이 있을 수 있으나 이에 한정되는 것은 아니다.
또 다른 실시 예에 의하면, 사용자 입력 인터페이스(1100)는 전자 장치의 마이크로폰 또는 디스플레이 모듈과 연동됨으로써, 사용자 음성 입력 및 디스플레이 패널 상 제공된 발화 목록들 중 적어도 하나를 터치하는 사용자의 터치 입력을 수신하고, 수신된 사용자 음성 입력 및 사용자 터치 입력을 프로세서(1300)로 전달할 수 있다. 일 실시 예에 의하면, 사용자 입력 인터페이스(1100)는 전자 장치(1000)가 원격 제어 장치(Remote Controller)에 의해 제어되는 경우, 원격 제어 장치(미도시)로부터 제어되는 제어 신호를 수신할 수도 있다. 본 명세서에서 전자 장치(1000)가 원격 제어 장치로부터 수신하는 제어 신호는 채널 번호 입력, 채널의 업다운(up-down) 입력, EPG 화면에서 채널 입력과 관련된 신호를 포함할 수 있다.
출력부(1200), 프로세서(1300) 및 메모리(1700)는 도 2의 출력부, 프로세서 및 메모리와 각각 대응될 수 있으므로, 구체적인 설명은 생략하기로 한다.
일 실시 예에 의하면, 통신부(1500)는 외부 장치(미도시)와 통신을 수행하여, 소정 채널을 통하여 송출되는 소정 컨텐츠를 적어도 하나 수신할 수 있다. 구체적으로, 통신부(1500)는 복수개의 채널에 대응되는 복수개의 컨텐츠 중 적어도 하나를 수신할 수 있다. 여기서, 채널은 방송 채널이 될 수 있다. 또한, 채널은 방송 채널 이외에도, 소정 컨텐츠를 송신하는 컨텐츠 제공자에 대응되는 컨텐츠 전송 경로를 의미할 수도 있다. 예를 들어, 채널은 방송 채널 이외에도 VoD(Video on Demand) 서비스 및/또는 스트리밍 컨텐츠 제공 서비스 등을 송신받는 전송 경로를 의미할 수 있으며, 방송 채널과 같이 소정 숫자, 소정 문자, 또는 소정 문자 및 소정 숫자의 결합된 형태로 표기될 수 있을 것이다. 예를 들어, 소정 스트리밍 영화 제공 서비스를 채널 '20'을 통하여 수신할 수 있으며, 디스플레이 장치(200)의 사용자는 채널 '20'을 선택하면 소정 스트리밍 영화 제공 서비스에서 제공하는 영화 컨텐츠를 시청할 수 있을 것이다.
통신부(1500)는 유무선의 네트워크를 통하여 외부 기기(미도시)들과 통신할 수 있다. 여기서, 외부 기기(미도시)는 소정 채널을 통하여 소정 컨텐츠를 전자 장치(1000)로 송신할 수 있는 기기로, 방송국 서버, 컨텐츠 제공자 서버, 컨텐츠 저장 장치 등이 포함될 수 있을 것이다.
또한, 일 실시 예에 따른 통신부(1500)는 근거리 통신 모듈, 유선 통신 모듈, 이동 통신 모듈, 방송 수신 모듈 등과 같은 적어도 하나의 통신 모듈을 포함할 수 있다. 여기서, 적어도 하나의 통신 모듈은 방송 수신을 수행하는 튜너, 블루투스, WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), CDMA, WCDMA 등과 같은 통신 규격을 따르는 네트워크를 통하여 데이터 송수신을 수행할 수 있는 통신 모듈을 의미할 수 있다.
도 4는 일부 실시 예에 따른 전자 장치가 어시스턴트 서비스를 제공하는 방법의 흐름도이다.
S410에서, 전자 장치(1000)는 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정할 수 있다. 예를 들어, 전자 장치(1000)는 전자 장치의 화면이 전환되는지 여부를 결정하고, 전자 장치의 화면이 전환되면 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간 경과 후, 컨텐츠 식별 정보를 결정할 수 있다.
본 명세서에서 컨텐츠 식별 정보는 전자 장치(1000)에 디스플레이 되는 컨텐츠의 종류를 식별하기 위한 정보로써, 상기 전자 장치의 채널 정보, 상기 전자 장치의 화면에 표시되는 컨텐츠의 주소 정보, 상기 전자 장치의 화면 내 레이아웃에 관한 정보 및 상기 전자 장치의 화면에서 검출된 텍스트에 대한 정보 중 적어도 하나에 기초하여 결정될 수 있다.
예를 들어, 본 개시에 따른 전자 장치(1000)가 이용하는 채널 정보는 지상파 방송, 케이블 방송 및 위성 방송으로부터 제공되는 채널 별 방송 신호를 식별하기 위한 정보를 포함할 수 있고, 채널 정보는 방송사업자들을 식별하기 위한 정보를 포함할 수 있다. 또한, 일 실시 예에 의하면, 채널 정보는 EPG(Electronic Program Guide)로써, 각 채널 별로 제공하는 영상 컨텐츠에 대한 화질 정보 및 방송 시간 정보뿐만 아니라, 해당 컨텐츠의 타이틀 정보, 회차 정보, 및 유료 정보 중 적어도 하나를 포함할 수 있다. 본 개시에 따른 컨텐츠의 주소 정보는 컨텐츠의 출처를 나타내는 정보로써 URL 정보를 포함할 수 있다.
예를 들어, 전자 장치(1000)는 현재 디스플레이 되고 있는 채널 정보가 홈쇼핑 채널을 나타내는 경우, 현재 디스플레이 되고 있는 컨텐츠를 홈쇼핑 프로그램으로 식별할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 화면에 디스플레이 되는 텍스트를 검출하고, 검출된 텍스트가 음악 감독, 배우 이름, 조명 감독, 작가의 이름 등을 포함하는 경우, 현재 디스플레이 되고 있는 컨텐츠를 영화 프로그램으로 식별할 수 있다.
S420에서, 전자 장치(1000)는 전자 장치 사용자의 사용자 컨텍스트를 결정할 수 있다. 본 개시에 따른 사용자 컨텍스트는 전자 장치를 사용하는 사용자의 상황과 관련된 정보를 포함하고, 전자 장치(1000)는 사용자 컨텍스트를 이용하여 현재 전자 장치를 사용하고 있는 사용자의 상황을 식별할 수 있다. 예를 들어, 사용자가 전자 장치의 전원을 켠 후, 디폴트 채널에서 11번 채널로 채널을 변경하고, 11번 채널에서 24번 채널로 변경하는 경우, 사용자의 채널 변경 순서, 각 변경된 채널에서 디스플레이 되는 컨텐츠 식별 정보 등이 사용자 컨텍스트에 포함될 수 있다. 이는 본 발명의 일 실시 예일 뿐, 사용자 컨텍스트가 이에 한정되는 것은 아니다. 또 다른 실시 예에 의하면, 사용자 컨텍스트는 사용자가 전자 장치를 사용하는 방식 및 전자 장치를 사용하는 방식에 따라 시계열적으로 소비한 컨텐츠의 소비 순서에 관한 정보를 포함할 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 본 개시에 따른 전자 장치(1000)는 상기 전자 장치의 화면이 전환되는지 여부 및 상기 결정된 컨텐츠 식별 정보에 기초하여 상기 전자 장치의 사용 모드를 결정하고, 결정된 사용 모드 별로 상기 전자 장치 사용자로부터 수신되는 사용자 입력, 상기 전자 장치 사용자의 기기 사용 정보, 현재 상기 전자 장치의 동작 상태 정보 및 상기 컨텐츠 식별 정보 중 적어도 하나를 이용하여 사용자 컨텍스트를 결정할 수 있다. 본 개시에 따른 동작 상태 정보는 전자 장치의 동작이 수행될 때의 시간에 관한 정보를 더 포함할 수 있다. 예를 들어, 사용자가 아침에 전자 장치(1000)의 전원을 켜서 동작하는 경우, 동작 상태 정보는 현재 전자 장치(1000)가 전원이 켜진 상태이고, 아침 7:30분에 전자 장치의 전원이 인가되었으며, 현재 전자 장치의 사운드 크기는 LOW로 설정되었다는 정보를 포함할 수 있다.
일 실시 예에 따르면, 본 명세서에서 사용 모드는 전자 장치에 표시될 컨텐츠를 탐색하기 위한 탐색 모드, 상기 컨텐츠의 재생을 위한 장치 설정 모드, 컨텐츠 재생 모드 및 상기 컨텐츠의 재생 종료 모드 중 적어도 하나를 포함할 수 있다. 하지만, 본 명세서의 사용 모드가 전술한 모드에 한정되는 것은 아니며, 사용자의 필요에 따라 더 많은 사용 모드를 포함할 수 있다.
예를 들어, 전자 장치(1000)의 사용자가 전자 장치(1000)의 전원을 켠(on) 경우, 전자 장치(1000)는 디스플레이 패널이 오프(OFF) 상태에서 온(ON) 상태로 전환되었는지 여부 및 디폴트 채널에서 디스플레이 되는 컨텐츠 식별 정보에 기초하여 전자 장치의 사용 모드를 "탐색 모드"로 결정할 수 있다. 전자 장치(1000)는 전자 장치의 사용 모드를 "탐색 모드"로 결정한 상태에서, 사용자로부터 채널 전환을 위한 사용자 입력이 수신되는 경우, "최근에 본 에피소드" "새로운 거 없어?" 및 "톰 크루즈 영화 찾아줘"와 같은 발화 목록을 제공할 수 있다.
또 다른 실시 예에 의하면, 전자 장치(1000)는 전자 장치의 사용 모드를 "탐색 모드"로 결정한 상태에서, 채널 전환을 위한 사용자 입력이 기 설정된 횟수 이상 수신되는 경우, 컨텐츠 추천을 위한 발화 목록들을 제공할 수도 있다.
일 실시 예에 의하면, 전자 장치(1000)는 사용자가 오전에 처음으로 전자 장치의 전원을 켠 경우, "오늘 미세 먼지 어때", "날씨 어때" 및 "뉴스 보여줘"와 같은 발화 목록들을 제공할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 사용자가 오전에 처음으로 전자 장치의 전원을 켠 상태에서, 외부로부터 소정의 날씨 정보가 수신되는 경우(예컨대 비가 오거나,눈이 온다는 날씨 정보가 수신되는 경우), "내일 코트 입어야 해?"와 같은 발화 목록을 제공할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 전자 장치(1000)에 연결된 다른 전자 장치로부터 새로운 외부 입력이 수신되는 경우, "연결된 외부 기기로 소스 변경 해줘"와 같은 발화 목록을 제공할 수도 있다.
S430에서, 전자 장치(1000)는 결정된 컨텐츠 식별 정보 및 상기 사용자 컨텍스트에 따라 학습되는 상기 어시스턴트 프로그램의 학습 모델을 이용하여 발화 목록을 생성할 수 있다. 예를 들어, 전자 장치(1000)는 컨텐츠 식별 정보 및 상기 사용자 컨텍스트를 입력으로 하고, 적어도 하나의 발화 목록을 출력으로 하는 어시스턴트 프로그램의 학습 모델을 이용하여 발화 목록을 생성할 수 있다. 본 개시에 따른 어시스턴트 프로그램의 학습 모델은 컨텐츠 식별 정보 및 전자 장치 사용자의 사용자 컨텍스트를 입력으로 학습되기 때문에, 기계학습, 딥러닝, 선택 학습등을 위한 더 많은 접점을 확보할 수 있는 장점이 있다.
본 개시에 따른 발화 목록은 Conversation Driver(C.D)로써 전자 장치를 가상의 대화자로 할 때, 전자 장치(1000)와 사용자 사이에 의사 소통을 위한 문장 또는 어절의 목록을 의미할 수 있다. 일 실시 예에 의하면, 어시스턴트 프로그램의 학습 모델은 인공지능 알고리즘으로서, 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습되는 학습 모델일 수 있다. 또한, 본 개시에 따른 어시스턴트 프로그램의 학습 모델은 상기 전자 장치 사용자의 계정, 상기 전자 장치에 표시되는 컨텐츠의 장르, 상기 전자 장치에 표시되는 컨텐츠의 배우 및 상기 컨텐츠를 시청하는 날짜 중 적어도 하나에 따라 발화 목록을 다르게 생성할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 어시스턴트 프로그램의 학습 모델의 학습이 이루어지지 않은 경우, 컨텐츠 식별 정보 및 상기 전자 장치 사용자의 사용자 컨텍스트에 매칭되게 미리 저장된 발화들을 이용함으로써 발화 목록을 생성할 수도 있다. 즉, 본 개시에 따른 전자 장치(1000)는 어시스턴트 프로그램의 학습 모델을 이용하지 않고, 컨텐츠 식별 정보 및 사용자 컨텍스트에 매칭되어 메모리에 기 저장된 발화들을 이용하여 발화 목록을 생성할 수 있다.
S440에서, 전자 장치(1000)는 기 설정된 발화 제공 이벤트가 발생하는 경우, 생성된 발화 목록을 출력할 수 있다. 예를 들어, 전자 장치(1000)는 전자 장치의 사용자로부터 수신한 상기 출력된 발화 목록에 대한 응답에 기초하여 상기 발화 목록의 출력 강도를 결정하고, 결정된 출력 강도에 따라 생성된 발화 목록을 시각 데이터 및 음성 데이터(TTS: Text To Speech) 중 적어도 하나로 출력할 수 있다. 본 개시에 따른 전자 장치(1000)가 스피커를 통하여 음성 데이터를 출력하는 것은, 생성된 발화 목록 텍스트를 음성으로 변환하는 TTS(Text To Speech) 변환에 기초할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 출력된 발화 목록에 대한 사용자의 수락 빈도수를 체크함으로써 앞으로 출력할 발화 목록의 출력 강도를 결정할 수 있다.
예를 들어, 본 개시에 따른 전자 장치(1000)는 생성된 발화 목록을 포함하는 시각 데이터를 전자 장치(1000)의 디스플레이에 표시함으로써 사용자에게 발화 목록을 제공하는 경우, 전자 장치(1000)는 디스플레이에 표시되는 발화 목록 텍스트의 굵기, 디스플레이에 표시되는 발화 목록 텍스트의 크기 및 디스플레이에 표시되는 발화 목록의 색상 중 적어도 하나에 기초하여, 발화 목록의 출력 강도를 결정할 수 있다. 구체적으로, 전자 장치(1000)는 홈쇼핑 프로그램 디스플레이 중 제공될 수 있는 "가격 정보 보여줘" "주문 해줘" 및 "상품 정보 보여줘"를 포함하는 발화 목록들 중, "가격 정보 보여줘"를 선택하는 사용자 입력이 가장 많이 수신되었다면, 발화 목록들 중 "가격 정보 보여줘"의 텍스트 크기를 다른 발화 목록들 보다 더 크게 표시할 수 있다.
또 다른 실시 예에 의하면, 전자 장치(1000)가 생성된 발화 목록을 포함하는 음성 데이터를 스피커를 통하여 출력하는 경우, 전자 장치(1000)는 스피커를 통하여 발화 목록 출력 시, 사운드 크기를 조절함으로써 발화 목록의 출력 강도를 결정할 수 있다. 구체적으로, 전자 장치(1000)는 홈쇼핑 프로그램 디스플레이 중 제공될 수 있는 "가격 정보 보여줘" "주문 해줘" 및 "상품 정보 보여줘"를 포함하는 발화 목록들 중, "가격 정보 보여줘"를 선택하는 사용자 입력이 가장 많이 수신되었다면, 스피커를 통하여, "가격 정보 보여줘"를 가장 큰 사운드 크기로 출력할 수 있다.
일 실시 예에 의하면, 전자 장치(1000)는 전자 장치의 서비스 및 상기 전자 장치에 표시되는 컨텐츠의 종류에 따라 상기 생성된 발화 목록을 클러스터링 함으로써 적어도 하나의 발화 목록을 포함하는 발화 클러스터를 생성하고, 생성된 발화 클러스터 별로 생성된 발화 목록들을 출력할 수 있다. 본 개시에 따른 발화 클러스터들은 전자 장치의 발화 목록들을 서비스 단위 및 전자 장치(1000)의 기능 단위로 클러스터링하기 위한 기준으로써 발화 캡슐을 의미할 수 있다.
또 다른 실시 예에 의하면, 전자 장치(1000)는 출력된 발화 목록에 대한 응답을 전자 장치의 사용자로부터 수신하고, 수신된 사용자 응답을 이용하여 이미 생성된 발화 목록을 업데이트 할 수 있다. 또한, 전자 장치(1000)는 출력된 발화 목록이 단수인 경우, 출력된 발화 목록에 대한 사용자의 간단한 응답 (예컨대, "예" "아니오", "응" 및 "나중에")만을 인식함으로써, 대응되는 기능을 실행할 수도 있다.
본 명세서에서, 전자 장치의 사용자는, 전자 장치(1000)가 출력한 발화 목록들 중 적어도 하나의 발화 목록을 선택함으로써, 선택된 발화 목록에 대응되는 전자 장치의 기능을 실행할 수 있다. 다만, 사용자는 전자 장치(1000)가 현재 출력한 발화 목록들뿐만 아니라, 전자 장치(1000)가 현재 출력하지 않은 발화 목록들 중, 전자 장치가 실행 가능한 발화들을 선택할 수 있다. 따라서, 전자 장치(1000)는 현재 출력되지 않은 발화 목록들에 포함되지 않은 발화를 선택하는 사용자 입력을 수신하고, 수신된 사용자 입력에 대응되는 전자 장치의 기능을 실행할 수도 있다.
도 5는 일부 실시 예에 따른 전자 장치가 컨텐츠 식별 정보를 결정하는 방법을 구체적으로 설명하기 위한 도면이다.
S520에서, 전자 장치(1000)는 전자 장치의 화면 전환 여부를 결정할 수 있다. 예를 들어, 전자 장치(1000)는 전자 장치의 채널 정보, 전자 장치의 화면에 표시되는 컨텐츠의 주소 정보(예컨대 HTML), 전자 장치의 화면 내 레이아웃에 관한 정보, 사용자로부터 수신되는 사용자 입력 및 전자 장치의 화면에서 검출되는 텍스트에 관한 정보 중 적어도 하나에 기초하여 전자 장치의 화면이 전환되었는지 여부를 결정할 수 있다.
구체적으로, 전자 장치(1000)는 현재 화면에 표시되는 컨텐츠의 주소 정보가 컨텐츠 검색 페이지를 나타내는 경우, 현재 화면은 컨텐츠 검색 페이지를 위한 제1 화면으로 결정하고, 특정 컨텐츠를 선택하는 사용자 입력이 수신되는 경우, 해당 컨텐츠를 재생하기 위한 제2 화면으로 화면이 전환되었음을 결정할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 현재 제1 화면에서 4*3=12개의 영상이 표시된 후, 제2 화면에서 1개의 영상만이 표시되는 경우, 전자 장치의 화면 내 레이아웃에 관한 정보를 인식함으로써 화면 전환 여부를 결정할 수 있다.
S540에서, 전자 장치(1000)는 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간이 경과 후 컨텐츠 식별 정보를 결정할 수 있다. 예를 들어, 전자 장치(1000)는 전환된 화면 마다 컨텐츠 식별 정보를 결정하기 위한 소정의 컨텐츠 식별 시점을 결정하고, 결정된 컨텐츠 식별 시점에서 디스플레이 되는 컨텐츠의 컨텐츠 식별 정보를 결정할 수 있다. 본 개시에 따른 전자 장치(1000)는 화면 전환 시가 아니라, 소정의 컨텐츠 식별 시점에서 디스플레이 되는 컨텐츠의 컨텐츠 식별 정보를 결정할 수 있기 때문에, 컨텐츠 식별을 보다 정확하게 할 수 있다.
도 6은 일부 실시 예에 따른 전자 장치(1000)가 컨텐츠 종류에 따라 제공하는 발화 목록을 비교하기 위한 도면이다.
본 개시에 따른 전자 장치(1000)는 컨텐츠 식별 정보 및 전자 장치 사용자의 사용자 컨텍스트에 따라 학습되는 어시스턴트 프로그램의 학습 모델을 이용하여 발화 목록을 생성할 수 있다. 즉, 본 개시에 따른 전자 장치(1000)는 화면에 표시되는 컨텐츠의 식별 정보에 따라 서로 다른 발화 목록을 생성할 수 있다.
도 6을 참조하면, 전자 장치(1000)에 표시되는 컨텐츠의 컨텐츠 식별 정보가 홈 쇼핑(630)에 대한 정보인 경우, 전자 장치(1000)는 "주문 해줘", "가격 정보 보여줘", "다른 홈쇼핑 채널", "상품 확대 해줘" 및 홈쇼핑 선호 채널 등록 해줘"와 같은 발화 목록들을 제공할 수 있다. 하지만, 전자 장치(1000)에 표시되는 컨텐츠의 컨텐츠 식별 정보가 요리 방송(640)에 대한 정보인 경우, 전자 장치(1000)는 "식당 검색 해줘", "식당 예약 해줘" 및 "다른 요리법 검색 해줘"와 같은 발화 목록들을 제공할 수 있다. 즉, 본 개시에 따른 전자 장치(1000)는 전자 장치(1000)에 표시되는 컨텐츠의 컨텐츠 식별 정보에 따라 서로 다른 발화 목록들을 제공할 수 있다.
본 개시에 따른 전자 장치(1000)는 생성된 발화 목록들을 클러스터링하기 위한 발화 클러스터들로써, 현재 채널과 관련되는 발화 목록들을 포함하는 채널 캡슐(TBD, 632), 현재 채널과 관련되는 다른 채널에 대한 발화 목록들을 포함하는 다른 채널 캡슐(634), 현재 전자 장치에서 해상도 내지 장치 설정 애플리케이션에 대한 발화 목록들을 포함하는 설정 캡슐(636) 및 컨텐츠 별로 기 설정되는 발화 목록들을 포함하는 컨텐츠 특화 캡슐(642)을 생성하고, 생성된 발화 클러스터 단위로 발화 목록을 클러스터링 하며, 클러스터링된 발화 목록을 발화 클러스터 단위로 제공할 수 있다.
예를 들어, 전자 장치(1000)는 전자 장치(1000)에 표시되는 컨텐츠의 컨텐츠 식별 정보가 홈 쇼핑(630)에 대한 정보인 경우, 전자 장치(1000)는 "주문 해줘", "가격 정보 보여줘", "다른 홈쇼핑 채널", "상품 확대 해줘" 및 홈쇼핑 선호 채널 등록 해줘"와 같은 발화 목록들을 생성한 후, 생성된 발화 목록들을 분류하기 위한 발화 클러스터들을 생성하고, 생성된 발화 클러스터 중 채널 캡슐(632)과 관련된 발화 목록들을 묶어서 화면에 표시할 수 있다.
도 7은 일부 실시 예에 따른 전자 장치가 컨텐츠 종류에 따라 제공하는 발화 목록을 비교하기 위한 도면이다.
도 7을 참조하면, 전자 장치(1000)에 표시되는 컨텐츠의 컨텐츠 식별 정보가 메뉴 설정(650) 에 대한 정보인 경우, 전자 장치(1000)는 "자막 설정법 찾아줘", "사운드 설정 메뉴 찾아줘", "명암 설정 메뉴 찾아줘" 및 "앱 설정 찾아줘"와 같은 발화 목록들을 제공할 수 있다. 하지만, 전자 장치(1000)에 표시되는 컨텐츠의 컨텐츠 식별 정보가 연동되는 앱(640)에 대한 정보인 경우, 전자 장치(1000)는 "추천수 보여줘", "인기 영상 보여줘", "실시간 영상 보여줘", "구독자 영상 보여줘" 및 "xx크리에이터 채널 보여줘"와 같은 발화 목록들을 제공할 수 있다. 즉, 본 개시에 따른 전자 장치(1000)는 전자 장치(1000)에 표시되는 컨텐츠의 컨텐츠 식별 정보에 따라 서로 다른 발화 목록들을 제공할 수 있다.
또한, 전자 장치(1000)는 생성된 발화 목록들을 클러스터링하기 위한 발화 클러스터들로써, 현재 전자 장치에서 자막 설정 등에 대한 발화 목록들을 포함하는 설정 캡슐(652), 현재 전자 장치에서 디스플레이 설정, 장치의 사운드 크기 설정과 관련되는 발화 목록들을 포함하는 설정 캡슐 (654), 현재 전자 장치에 표시되는 컨텐츠와 관련된 애플리케이션 및 컨텐츠의 식별 정보를 기초로 딥러닝 알고리즘에 따라 학습되어 관련 애플리케이션을 출력하는 학습 모델이 출력하는 발화 목록들을 포함하는 설정 및 딥링킹 캡슐(656) 및 애플리케이션 별로 기 설정되는 발화 목록들을 포함하는 앱 특화 캡슐(662)을 생성하고, 생성된 발화 클러스터 단위로 발화 목록을 출력할 수 있다.
도 8은 일부 실시 예에 따른 전자 장치가 사용자 컨텍스트를 결정하는 방법을 구체적으로 설명하기 위한 도면이다.
S820에서, 전자 장치(1000)는 전자 장치의 사용 모드를 결정할 수 있다. 예를 들어, 전자 장치(1000)는 전자 장치(1000)의 화면이 전환되는지 여부 및 결정된 컨텐츠 식별 정보에 기초하여 전자 장치의 사용자의 사용 상황을 결정하기 위한 사용자 컨텍스트를 결정할 수 있다. 본 명세서에서 사용 모드는 전자 장치가 제공하는 복수의 기능들을 분류하는 단위로서, 크게 컨텐츠 탐색 모드, 장치 설정 모드, 컨텐츠 재생 모드 및 재생 종료 모드 중 적어도 하나를 포함할 수 있다.
S840에서, 전자 장치(1000)는 사용 모드 별로 수신되는 전자 장치 사용자의 사용자 입력, 전자 장치 사용자의 기기 사용 정보, 현재 전자 장치의 동작 상태 정보 및 컨텐츠 식별 정보 중 적어도 하나를 이용하여 사용자 컨텍스트를 결정할 수 있다. 일 실시 예에 의하면, 전자 장치 사용자의 기기 사용 정보는 전자 장치를 사용하여 사용자가 주로 시청한 컨텐츠에 관한 정보, 사용자가 주로 사용한 전자 장치의 기능 특성에 관한 정보 등을 포함할 수 있다. 또한 본 개시에 따른 전자 장치의 동작 상태 정보는 전자 장치가 현재 수행하고 있는 전자 장치의 기느에 대한 정보로써, 전자 장치의 온, 오프 상태에 관한 정보, 전자 장치의 현재 출력되는 사운드 신호의 크기, 화면의 밝기에 대한 정보를 포함할 수 있다. 본 개시에 따른 사용자 컨텍스트는 도 4의 단계 S420에서 기술된 사용자 컨텍스트와 대응되므로 구체적인 설명은 생략하기로 한다.
도 9는 일부 실시 예에 따른 전자 장치가 사용자 컨텍스트를 결정하기 위해 이용하는 전자 장치의 사용 모드를 설명하기 위한 도면이다.
본 개시에 따른 전자 장치(1000)의 사용 모드(920)는 탐색 모드(922), 장치 설정 모드(924), 컨텐츠 재생 모드(926) 및 컨텐츠 종료 모드(928) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 의하면 컨텐츠 탐색 모드(922)는 전자 장치에서 재생될 컨텐츠를 탐색하기 위한 모드를 의미할 수 있고, 장치 설정 모드(924)는 컨텐츠 재생을 위한 장치 설정을 위한 모드일 수 있다. 예를 들어, 장치 설정 모드(924)는 컨텐츠를 재생하기에 앞서, 전자 장치의 Contrast 설정, 사운드 크기 및 밝기 등을 조절하기 위해 전자 장치(1000)가 제공하는 모드일 수 있다.
일 실시 예에 의하면, 재생 모드(926)는 선택된 컨텐츠를 재생하기 위한 모드를 의미할 수 있다. 예를 들어, 전자 장치(1000)는 재생 모드(926)에서, 전체 화면으로 사용자 입력에 기초하여 선택된 컨텐츠를 사용자에게 제공할 수 있다. 본 개시에 따른 종료 모드(928)는 전자 장치(1000)가 컨텐츠 재생을 완료하거나, 재생 완료가 임박한 경우, 사용자에게 제공한 컨텐츠와 관련된 추가 컨텐츠를 제공하기 위한 모드를 의미할 수 있다.
도 10은 일부 실시 예에 따른 전자 장치가 사용 모드 별로 사용자의 사용자 컨텍스트를 결정하는 방법을 설명하기 위한 도면이다.
S1002에서, 전자 장치(1000)는 전자 장치의 화면이 전환되었는지 여부 및 결정된 컨텐츠 식별 정보에 기초하여 전자 장치의 사용 모드를 결정할 수 있다. 예를 들어, 전자 장치(1000)는 전원이 꺼진(Off) 상태의 제1 화면에서, 4*3=12개의 컨텐츠 화면이 제공되는 제2 화면으로 화면이 전환되었는지 여부를 결정하고, 현재 제2 화면에서 제공되는 컨텐츠의 주소 정보가 컨텐츠 검색 페이지를 나타내는 경우, 전자 장치의 사용 모드를 "탐색 모드"로 결정할 수 있다. 전자 장치(1000)는 현재 전자 장치(1000)의 사용 모드가 탐색 모드로 결정되는 경우, "최근에 본 에피소드", "새로운 거 없어?" 및 "톰 크루즈 영화 찾아줘"와 같은 발화 목록들을 제공할 수 있다.
S1004에서, 전자 장치(1000)는 "탐색 모드"에서 제공된 발화 목록들에 대응하여, 특정 컨텐츠를 선택하기 위한 사용자 입력을 수신하고, 수신된 사용자 입력에 기초하여 전자 장치(1000)에서 재생하기 위한 컨텐츠를 선택하기 위한 화면을 제공할 수 있다. 또한, 사용자는 전자 장치(1000)에 의해 제공된 "최근에 본 에피소드", "새로운 거 없어?" 및 "톰 크루즈 영화 찾아줘"와 같은 발화 목록들 중 하나의 발화 목록들을 선택할 수도 있지만, 전자 장치에 의해 출력된 발화 목록들 외에 실행 가능한 다른 발화 목록들을 선택함으로써 전자 장치의 기능을 실행할 수도 있다. 즉, 전자 장치의 사용자는 전자 장치가 제공한 발화 목록들을 참조함으로써, 현재 전자 장치에 출력되지는 않았지만, 전자 장치에 의해 실행 가능한 발화 목록들을 추정할 수 있다.
따라서 "톰 크루즈 영화 찾아줘"와 유사하게 사용자가 "미X 임파서블 찾아줘"를 발화하는 경우, 전자 장치(1000)는 해당 영화를 컨텐츠로 선택하기 위한 화면을 제공할 수도 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 사용자로부터 "톰 크루X 영화 찾아줘"와 같은 사용자 음성 입력을 인식함으로써, 톰 크루X가 출연한 영화 목록들을 제공하고, 제공된 톰 크루X가 출연한 영화목록들 중 하나의 영화를 선택하는 사용자 입력을 인식함으로써, 선택된 영화를 재생하기 위한 화면을 제공할 수 있다.
S1006에서, 전자 장치(1000)는 탐색 모드(922)에서 소정의 컨텐츠를 선택하는 사용자 입력이 수신되는 경우, 현재 전자 장치(1000)의 사용 모드를 장치 설정 모드(924)로 결정하고, 선택된 소정의 컨텐츠를 재생하기 위한 장치 설정 관련 발화 목록들을 제공할 수 있다. 예를 들어, 전자 장치(1000)는 사용자가 전자 장치에 표시될 컨텐츠로써 영화를 선택하는 경우, "영화 모드", "백 라이트 밝게 해줘" 및 "볼륨 올려줘"와 같은 발화 목록을 제공할 수 있다.
도 11은 일부 실시 예에 따른 전자 장치가 사용 모드 별로 사용자의 사용자 컨텍스트를 결정하는 방법을 설명하기 위한 도면이다.
S1008에서, 전자 장치(1000)는 장치 설정 모드(924)에서 장치 설정이 완료된 후 기 설정된 시간이 경과하는 경우, 현재 전자 장치(1000)의 사용 모드를 컨텐츠 종료 모드로 결정할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)는 전자 장치의 화면이 전환되는지 여부 및 컨텐츠 식별 정보에 기초하여 현재 전자 장치의 사용 모드를 컨텐츠 재생 모드(926)로 결정할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 컨텐츠를 재생하는 도중, 화면 밝기가 기 설정된 명도 이상이거나, 출력되는 사운드의 크기가 기 설정된 임계치 이상 인지 여부를 판단할 수 있다. 본 명세서에서, 기 설정된 명도 및 기 설정된 임계치는 사용자의 입력에 기초하여 미리 설정하여 저장될 수 있다.
S1010에서, 전자 장치(1000)는 컨텐츠를 재생하는 도중, 화면 밝기가 기 설정된 명도 이상이거나, 출력되는 사운드의 크기가 기 설정된 임계치 이상 경우, "사운드 줄여줘", "라이트 어둡게 해줘" 및 "일시 정지 해줘"와 같은 컨텐츠 재생 관련 발화 목록들을 출력할 수 있다. 전자 장치(1000)의 사용자는 출력된 발화 목록들 중 하나의 발화 목록을 선택함으로써 영화 시청에 적합한 환경에서 영화를 시청할 수 있다. 하지만, 사용자는 출력된 발화 목록들을 참조하여, 디스플레이 화면 상에 출력된 발화 목록들 외에도 현재 전자 장치가 수행 가능한 발화 목록들을 선택할 수 있음은 물론이다. 즉, 본 개시에 따른 전자 장치(1000)는 현재 디스플레이 화면 상에 출력되지 않은 발화 목록을 선택하는 사용자 입력이 수신되는 경우, 수신된 사용자 입력에 기초하여 대응되는 기능을 실행할 수 있다.
S1012에서, 전자 장치(1000)는 컨텐츠의 러닝 타임 및 현재 화면에서 검출되는 텍스트에 대한 정보를 이용하여, 전자 장치(1000)의 사용 모드를 컨텐츠 종료 모드(928)로 결정할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 현재 컨텐츠의 전체 재생 러닝 타임 중에서 90%이상이 진행되었고, 현재 화면에서 엔딩 크레딧과 관련된 텍스트가 검출되는 경우, 전자 장치(1000)의 사용 모드를 컨텐츠 종료 모드(928)로 결정할 수 있다.
S1014에서, 전자 장치(1000)는 전자 장치의 사용 모드가 컨텐츠 종료 모드(928)로 결정되는 경우, "다음 시즌 틀어줘", "이 감독 다른 영화 뭐 있어?", "다음주에도 이거 볼래?", "이거 재밌다고 아빠한테 알려줘" 및 "최신작 예매 할래"와 같은 발화 목록들을 제공할 수 있다. 즉 전자 장치(1000)는 전자 장치의 사용 모드가 컨텐츠 종료 모드(928)로 결정되는 경우, 러닝 타임이 90%이상 진행된 현재 컨텐츠와 관련된 정보를 확인하거나, 현재 재생되는 컨텐츠와 관련된 추가 컨텐츠를 시청하기 위한 발화 목록들을 제공할 수 있다.
도 12는 일부 실시 예에 따른 전자 장치가 발화 목록의 출력 강도에 따라 발화 목록을 출력하는 방법을 설명하기 위한 도면이다.
S1220에서, 전자 장치(1000)는 전자 장치의 사용자로부터 수신된, 출력된 발화 목록에 대한 응답에 기초하여, 발화 목록의 출력 강도를 결정할 수 있다. 예를 들어, 본 개시에 따른 전자 장치(1000)는 발화 목록을 시각적 데이터 또는 음성 데이터로 출력할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 출력된 발화 목록들 중 하나의 발화 목록을 선택한 사용자의 이력을 저장하고, 저장된 사용자의 이력을 기초로, 각각의 발화 목록들을 선택한 횟수 카운팅함으로써 앞으로 출력할 발화 목록의 출력 강도를 결정할 수 있다. 즉, 일 실시 예에 따른 전자 장치(1000)는 발화 목록들 중 사용자가 과거 많이 선택하였던 발화 목록들의 출력 강도를, 사용자가 많이 선택하지 않은 발화 목록들의 출력 강도보다 더 크게 결정할 수 있다. 예를 들어, 전자 장치(1000)는 사용자가 과거 자주 선택하였던 발화 목록의 이미지를 더 크게 표시할 수 있다.
예를 들어, 본 개시에 따른 전자 장치(1000)가 생성된 발화 목록을 포함하는 시각 데이터를 전자 장치(1000)의 디스플레이에 표시함으로써 사용자에게 발화 목록을 제공하는 경우, 전자 장치(1000)는 디스플레이에 표시되는 발화 목록 텍스트의 굵기, 디스플레이에 표시되는 발화 목록 텍스트의 크기 및 디스플레이에 표시되는 발화 목록의 색상 중 적어도 하나를 조절함으로써 발화 목록의 출력 강도를 결정할 수 있다. 또 다른 실시 예에 의하면, 전자 장치(1000)가 생성된 발화 목록을 포함하는 음성 데이터를 스피커를 통하여 출력하는 경우, 전자 장치(1000)는 스피커를 통하여 발화 목록 출력 시, 사운드 크기를 조절함으로써 발화 목록의 출력 강도를 결정할 수 있다.
S1240에서, 전자 장치(1000)는 결정된 출력된 강도에 따라 생성된 발화 목록을 Light 데이터, Sound 데이터 및 TTS(Text To Speech) 변환 중 적어도 하나의 방식에 따라 출력할 수 있다. 본 개시에 따른 전자 장치(1000)가 생성된 발화 목록을 포함하는 음성 데이터를 출력하는 것은 TTS(Text To Speech)변환에 기초할 수 있다.
도 13은 전자 장치가 생성된 발화 목록을 출력하기 위한 조건을 설명하기 위한 도면이다.
일 실시 예에 의하면, 전자 장치(1000)는 기 설정된 발화 제공 이벤트(1350)가 발생하는 경우, 생성된 발화 목록을 출력할 수 있다. 본 개시에 따른 발화 제공 이벤트(1350)는 미리 설정된 이벤트 조건(1360)이 만족되거나, 전자 장치(1000)로 수신되는 사용자 입력 또는 외부 입력에 트리거 신호(1370)가 포함되는 경우 발생할 수 있다. 즉, 본 개시에 따른 전자 장치(1000)는 종래의 발화 목록을 출력하는 전자 장치와는 달리, 사용자로부터 사용자 입력이 없는 경우에도, 미리 설정된 이벤트 조건(1360)이 발생하는 경우, 스스로 발화 목록을 제공할 수 있는 효과가 있다.
일 실시 예에 의하면, 미리 설정된 이벤트 조건(1360)은 현재 시간에 대한 정보, 현재 날씨에 대한 정보, 상기 전자 장치의 채널 유지 시간에 대한 정보, 상기 전자 장치의 동작 상태 정보, 상기 전자 장치에 연결된 다른 전자 장치로부터 수신되는 외부 입력 정보 및 상기 전자 장치의 화면 전환 정보 중 적어도 하나에 기초하여 발생할 수 있다.
구체적으로, 미리 설정된 이벤트 조건(1360)은 전자 장치(1000)의 화면이 기 설정된 시간 동안 유지된 후, 사용자로부터 도움과 관련된 사용자 입력이 수신되는 경우(예컨대, "도와줘"와 같은 사용자 음성 입력이 수신되는 경우)(1362), 오전 중 전자 장치(1000)가 처음으로 동작하는 경우(1363), 오전 중 처음으로 전자 장치가 동작하고, 미리 설정된 기상 정보가 수신되는 경우(1364), 전자 장치에 연결된 다른 전자 장치로부터 입력 신호가 수신되는 경우(1365), 전자 장치(1000)의 화면이 전환된 후, 기 설정된 시간이 경과하는 경우(1366) 및 기타 사용자가 직접 설정하는 조건이 만족되는 경우(1367)에 발생할 수 있다.
또 다른 실시 예에 의하면, 본 개시에 따른 발화 제공 이벤트는 사용자로부터 "빅스비 도와줘"와 같이 발화 제공 이벤트를 트리거하는 미리 지정된 사용자 음성 입력이 수신되거나, 전자 장치(1000)와 무선으로 연결된 원격 제어 장치(예컨대, 리모콘) 상의 "도움"버튼을 누르는 사용자 입력을 수신함으로써 발생할 수 있다. 즉, 일 실시 예에 의하면 "빅스비 도와줘" 나 리모콘 상의 "도움" 버튼을 누르는 사용자 입력은 트리거 신호(1370)로써, 전자 장치(1000)가 생성된 발화 목록을 출력하기 위한 조건인 발화 제공 이벤트를 발생시킬 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 기 설정된 발화 제공 이벤트가 발생하는 경우, 자동으로 사용자 음성 입력을 수신하기 위해 마이크로폰을 On 시킬 수 있다.
도 14는 일부 실시 예에 따른 전자 장치가 발화 목록을 우선 순위에 따라 출력하는 방법을 설명하기 위한 도면이다.
S1420에서, 전자 장치(1000)는 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 따라 상기 발화 목록을 출력하기 위한 우선 순위를 결정할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)는 컨텐츠 식별 정보 및 전자 장치 사용자의 사용자 컨텍스트에 기초하여 발화 목록들의 제2 우선 순위를 결정하기에 앞서, 클러스터들의 출력을 위한 제1 우선 순위를 먼저 결정할 수 있다. 즉, 전자 장치(1000)는 컨텐츠 식별 정보 및 사용자 컨텍스트에 기초하여 발화 목록들을 분류하기 위한 발화 클러스터들의 제1 우선 순위를 먼저 결정한 후, 생성된 발화 목록들의 제2 우선 순위를 결정할 수 있다.
S1440에서, 전자 장치(1000)는 결정된 우선 순위에 따라 발화 목록들을 출력할 수 있다. 일 실시 예에 따른 전자 장치(1000)가 발화 클러스터들의 제1 우선 순위를 먼저 결정한 후, 발화 목록들의 제2 우선 순위를 결정하는 경우, 전자 장치(1000)는 결정된 제1 우선 순위 및 제2 우선 순위 중 적어도 하나에 기초하여 발화 목록들을 출력할 수 있다.
도 15는 일부 실시 예에 따른 전자 장치가 생성한 발화 목록들이 우선 순위에 따라 출력되는 화면을 나타내는 도면이다.
일 실시 예에 의하면, 전자 장치(1000)에 디스플레이 되는 컨텐츠의 컨텐츠 식별 정보가 스포츠 채널과 관련된 정보인 경우, 전자 장치(1000)는 "축구 모드", "백라이트 밝게 해줘", "이거 다음에 뭐해?", "프로그램 정보 보여줘" 및 "편성표 보여줘"와 같은 발화 목록들을 출력할 수 있다. 또한, 전자 장치(1000)가 출력하는 발화 목록들(예컨대 "축구 모드", "백라이트 밝게 해줘", "이거 다음에 뭐해?", "프로그램 정보 보여줘" 및 "편성표 보여줘")은 발화 클러스터 단위로써, 현재 채널에서 표시되는 컨텐츠를 재생하기 위한 디스플레이 설정과 관련된 발화 목록들을 포함하는 "설정 캡슐(1562), 현재 채널과 관련되는 발화 목록들을 포함하는 채널 캡슐(1564) 및 현재 표시되는 컨텐츠의 컨텐츠 식별 정보를 기초로 딥러닝 알고리즘에 따라 학습되는 학습 모델과 관련된 발화 목록들을 포함하는 딥링킹 캡슐(1566)로 분류되어 출력될 수 있다.
또 다른 실시 예에 의하면, 전자 장치(1000)에 디스플레이 되는 컨텐츠의 컨텐츠 식별 정보가 드라마 채널과 관련된 정보인 경우, 전자 장치(1000)는 "이어 보기", "별에서 온 XX 보여줘", "최근에 본 에피소드?", "새로운 거 없어?" 및 "알림 설정"와 같은 발화 목록들을 출력할 수 있다. 또한, 전자 장치(1000)가 출력하는 발화 목록들(예컨대 "이어 보기", "별에서 온 XX 보여줘", "최근에 본 에피소드?", "새로운 거 없어?" 및 "알림 설정")은 발화 클러스터 단위로써, 애플리케이션 별로 기 설정되는 발화 목록들을 포함하는 "앱 특화 캡슐(1568), 현재 재생되는 컨텐츠와 관련하여 추천 발화 목록들을 포함하는 추천 명령어 캡슐(1572) 및 전자 장치의 기능 설정과 관련되는 발화 목록들을 포함하는 설정 캡슐(1574)로 분류되어 출력될 수 있다. 본 개시에 따른 발화 클러스터들은 전자 장치의 발화 목록들을 서비스 단위 및 전자 장치(1000)의 기능 단위로 클러스터링하기 위한 기준으로써 발화 캡슐을 의미할 수 있다.
도 16은 일부 실시 예에 따른 전자 장치가 서버와 연동함으로써 어시스턴트 서비스를 제공하는 방법을 설명하기 위한 도면이다.
일 실시 예에 의하면, 전자 장치(1000)는 서버(2000)를 이용함으로써 어시스턴트 서비스를 제공할 수 있다.
S1610에서, 전자 장치(1000)는 전자 장치(1000)에서 디스플레이되는 컨텐츠의 컨텐츠 식별 정보 및 전자 장치 사용자의 사용자 컨텍스트를 결정하고, 결정된 컨텐츠 식별 정보 및 사용자 컨텍스트를 서버(2000)로 전송할 수 있다.
S1612에서, 서버(2000)는 수신된 컨텐츠 식별 정보 및 사용자 컨텍스트를 이용하여 어시스턴트 프로그램 학습 모델을 생성할 수 있다. 본 개시에 따른 서버(2000)가 어시스턴트 프로그램 학습 모델을 생성하는 것은, 발화 목록을 출력하기 위한 어시스턴트 프로그램 학습 모델을 학습하는 것일 수 있다. 일 실시 예에 의하면, 서버(2000)는 수신된 컨텐츠 식별 정보 및 사용자 컨텍스트에 기초하여 사용자에게 발화 목록을 출력하는 어시스턴트 프로그램 학습 모델을 미리 학습할 수 있다.
S1614에서, 전자 장치(1000)는 전자 장치(1000)에서 디스플레이되는 컨텐츠의 컨텐츠 식별 정보 및 현재 전자 장치(1000)를 사용하는 사용자의 사용자 컨텍스트를 결정하고, 결정된 현재 컨텐츠의 컨텐츠 식별 정보 및 사용자 컨텍스트를 서버(2000)로 전송할 수 있다.
S1616에서, 서버(2000)는 컨텐츠 식별 정보 및 사용자 컨텍스트를 입력으로 하고, 적어도 하나의 발화 목록들을 출력으로 하는 어시스턴트 프로그램 학습 모델을 이용하여 적어도 하나의 발화 목록들을 생성할 수 있다. S1618에서, 서버(2000)는 생성된 발화 목록들을 전자 장치(1000)로 전송할 수 있다. S1620에서, 전자 장치(1000)는 수신된 발화 목록들을 출력할 수 있다. 즉, 일 실시 예에 의하면, 전자 장치(1000)는 메모리에 저장된 어시스턴트 프로그램 학습 모델을 이용하여, 스스로 컨텐츠 식별 정보 및 전자 장치 사용자의 사용자 컨텍스트에 기초하여 발화 목록을 생성할 수도 있지만, 서버(2000)에 저장된 어시스턴트 프로그램 학습 모델을 이용하여 발화 목록을 생성할 수도 있다.
도 17은 또 다른 실시 예에 따른 어시스턴트 서비스를 제공하는 전자 장치를 나타내는 블록도이다.
일 실시 예에 따른 전자 장치(1000)는 사용자 입력 인터페이스(1100), 출력부(1200), 제어부(1300), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 및 메모리(1700)를 포함할 수 있다. 그러나 도시된 구성 요소가 모두 필수구성요소인 것은 아니다. 도시된 구성요소보다 많은 구성요소에 의해 전자 장치(1000)가 구현될 수도 있고, 그보다 적은 구성요소에 의해서도 전자 장치(1000)는 구현될 수 있다.
사용자 입력 인터페이스(1100)는, 사용자가 전자 장치(1000)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력 인터페이스(1100)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다. 본 개시에 따른 사용자 입력 인터페이스(1100)는 A/V 입력부(1600)와 연동됨으로써 사용자로부터 사용자 음성 입력을 수신할 수 있다. 일 실시 예에 의하면, 전자 장치(1000)가 원격 제어 장치(예컨대 리모콘)에 의해 제어되는 경우, 사용자 입력 인터페이스(1100)는 원격 제어 장치로부터 수신되는 제어 신호를 수신할 수도 있다.
출력부(1200)는, 오디오 신호 또는 비디오 신호 또는 진동 신호를 출력할 수 있으며, 출력부(1200)는 디스플레이부(1210), 음향 출력부(1220), 및 진동 모터(1230)를 포함할 수 있다. 디스플레이부(1210)는 전자 장치(1000)에서 처리되는 정보를 표시 출력하기 위한 화면을 포함한다. 또한, 화면은 영상을 디스플레이 할 수 있다. 음향 출력부(1220)는 통신부(1500)로부터 수신되거나 메모리(1700)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(1220)는 전자 장치(1000)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다.
프로세서(1300)는, 통상적으로 전자 장치(1000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(1300)는, 메모리(1700)에 저장된 프로그램들을 실행함으로써, 사용자 입력부(1100), 출력부(1200), 센싱부(1400), 통신부(1500), A/V 입력부(1600) 등을 전반적으로 제어할 수 있다. 또한, 프로세서(1300)는 메모리(1700)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도 15에 기재된 전자 장치(1000)의 기능을 수행할 수 있다.
구체적으로, 프로세서(1300)는 사용자 음성 입력, 전자 장치(1000)의 디스플레이 패널을 터치하는 사용자 입력을 수신하도록 사용자 입력부(1100)를 제어할 수 있다. 프로세서(1300)는 사용자의 음성 입력을 수신하도록 마이크로폰(1620)을 제어할 수 있다. 프로세서(1300)는 사용자 입력에 기초하여 전자 장치(1000)의 동작을 수행하는 애플리케이션을 실행할 수 있으며, 실행된 애플리케이션을 통하여 사용자 입력을 수신하도록 제어할 수 있다. 예를 들면, 프로세서(1300)는, 보이스 어시스턴트 애플리케이션 (Voice Assistant Application)을 실행하고, 실행된 애플리케이션을 제어함으로써 마이크로폰(1620)을 통하여 사용자의 음성 입력을 수신하도록 제어할 수 있다. 또 다른 실시 예에 의하면, 프로세서(1300)는 사용자 기 설정된 발화 제공 이벤트가 발생하는 경우, 사용자의 음성 입력을 수신하기 위해 마이크로폰의 전원을 On 시킴으로써, 사용자의 음성 입력을 수신하기 위한 준비를 할 수 있다.
프로세서(1300)는 발화 목록들을 출력하기 위해 전자 장치(1000)의 출력부(1200) 및 메모리(1700)를 제어할 수 있다. 프로세서(1300)는 디스플레이에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하고, 상기 결정된 컨텐츠 식별 정보를 이용하여 전자 장치 사용자의 사용 상황을 식별하기 위한 사용자 컨텍스트를 결정하며, 결정된 컨텐츠 식별 정보 및 사용자 컨텍스트에 따라 학습되는 어시스턴트 프로그램의 학습 모델을 이용하여 발화 목록을 생성하고, 기 설정된 발화 제공 이벤트가 발생하는 경우, 생성된 발화 목록을 출력하도록 출력부(1200) 및 메모리(1700)를 제어할 수 있다.
프로세서(1300)는 학습 데이터(예컨대, 기 결정된 컨텐츠 식별 정보 및 사용자 컨텍스트)를 학습 모델에 입력함으로써 학습 모델을 학습시킬 수 있다. 예를 들면, 프로세서(1300)는 학습 데이터를 메모리(1700) 또는 서버(2000)에 저장된 복수의 학습 모델(사용자 입력(예컨대 사용자 음성)을 해석하기 위한 학습 모델, 사용자에게 제공할 응답 메시지를 생성하기 위한 학습 모델 및 응답 메시지의 출력 강도를 결정하기 위한 학습 모델)에 입력함으로써 발화 목록을 생성하기 위한 학습 모델을 학습 시킬 수 있다.
프로세서(1300)는 사용자 입력 인터페이스를 통하여 상기 출력된 발화 목록에 대한 응답을 상기 전자 장치의 사용자로부터 수신하고, 상기 수신된 응답을 이용하여 상기 생성된 발화 목록과 다른 발화 목록을 생성할 수 있다. 또한 프로세서(1300)는 프로세서는 상기 수신된 사용자 입력이 상기 발화 목록의 출력을 위한 트리거 신호를 포함하는 경우, 상기 생성된 발화 목록을 출력할 수 있다. 또한, 프로세서(1300)는 전자 장치의 화면 전환 여부를 결정하고, 상기 전자 장치의 화면이 전환되면, 상기 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간 경과 후 상기 컨텐츠 식별 정보를 결정할 수 있다.
또한, 프로세서(1300)는 상기 전자 장치의 화면이 전환되는지 여부 및 상기 결정된 컨텐츠 식별 정보에 기초하여 상기 전자 장치의 사용 모드를 결정하고, 상기 결정된 사용 모드 별로 수신되는 상기 전자 장치 사용자로부터 수신되는 사용자 입력, 상기 전자 장치 사용자의 기기 사용 정보, 현재 상기 전자 장치의 동작 상태 정보 및 상기 컨텐츠 식별 정보 중 적어도 하나를 이용하여 상기 사용 자 컨텍스트를 결정할 수 있다.
센싱부(1400)는, 전자 장치(1000)의 상태 또는 전자 장치(1000) 주변의 상태를 감지하고, 감지된 정보를 프로세서(1300)로 전달할 수 있다. 센싱부(1400)는 전자 장치(1000)의 사양 정보, 전자 장치(1000)의 상태 정보, 전자 장치(1000)의 주변 환경 정보, 사용자의 상태 정보 및 사용자의 디바이스 사용 이력 정보 중 일부를 생성하는데 이용될 수 있다.
센싱부(1400)는, 지자기 센서(Magnetic sensor)(1410), 가속도 센서(Acceleration sensor)(1420), 온/습도 센서(1430), 적외선 센서(1440), 자이로스코프 센서(1450), 위치 센서(예컨대, GPS)(1460), 기압 센서(1470), 근접 센서(1480), 및 RGB 센서(illuminance sensor)(1490) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
통신부(1500)는, 전자 장치(1000)가 다른 전자 장치(미도시) 및 서버(2000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 다른 장치(미도시)는 전자 장치(1000)와 같은 컴퓨팅 장치이거나, 센싱 장치일 수 있으나, 이에 제한되지 않는다. 예를 들어, 통신부(1500)는, 근거리 통신부(1510), 이동 통신부(1520), 방송 수신부(1530)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(1510)는, 블루투스 통신부, BLE(Bluetooth Low Energy) 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(1520)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(1530)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(1000)가 방송 수신부(1530)를 포함하지 않을 수도 있다. 또한, 통신부(1500)는 어시스턴트 프로그램 학습 모델이 서버(2000)에 있는 경우, 어시스턴트 프로그램 학습 모델의 학습을 위하여, 컨텐츠 식별 정보 및 전자 장치 사용자의 사용 상황을 식별하기 위한 사용자 컨텍스트 대한 정보를 서버(2000)에 전송할 수 있다. 또한, 통신부(1500)는 서버(2000)로부터 생성된 발화 목록들을 수신할 수도 있다.
A/V(Audio/Video) 입력부(1600)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(1610)와 마이크로폰(1620) 등이 포함될 수 있다. 카메라(1610)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(1300) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다. 카메라(1610)에 의해 촬영된 이미지는 사용자의 컨텍스트 정보로 활용될 수 있다.
마이크로폰(1620)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(1620)은 외부 디바이스 또는 사용자로부터 음향 신호를 수신할 수 있다. 마이크로폰(1620)은 사용자의 음성 입력을 수신할 수 있다. 마이크로폰(1620)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
메모리(1700)는, 프로세서(1300)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 전자 장치(1000)로 입력되거나 전자 장치(1000)로부터 출력되는 데이터를 저장할 수도 있다. 또한, 메모리(1700)는 발화 목록을 생성하기 위한 어시스턴트 프로그램의 학습 모델 및 어시스턴트 프로그램의 학습 모델을 이용하여 생성된 발화 목록들을 저장할 수 있다. 또한, 메모리(1700)는 사용자 입력(예컨대 사용자 음성)을 해석하기 위한 학습 모델, 사용자에게 제공할 응답 메시지를 생성하기 위한 학습 모델 및 응답 메시지의 출력 강도를 결정하기 위한 학습 모델들을 더 저장할 수 있다.
또한, 메모리(1700)는 사용자 입력(예컨대 사용자 음성)을 해석하기 위한 학습 모델, 사용자에게 제공할 응답 메시지를 생성하기 위한 학습 모델 및 응답 메시지의 출력 강도를 결정하기 위한 학습 모델들을 기초로 학습되는 신경망, 신경망의 구조를 특정하기 위한 레이어들 및 레이어들 간의 가중치에 관한 정보를 더 저장할 수 있다.
메모리(1700)는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 메모리(1700)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류될 수 있고, 예를 들어, UI 모듈(1710), 터치 스크린 모듈(1720), 알림 모듈(1730) 등으로 분류될 수 있다.
UI 모듈(1710)은, 애플리케이션 별로 전자 장치(1000)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(1720)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 프로세서(1300)로 전달할 수 있다. 일부 실시예에 따른 터치 스크린 모듈(1720)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(1720)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
알림 모듈(1730)은 전자 장치(1000)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 전자 장치(1000)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(1730)은 디스플레이부(1210)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(1220)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(1230)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
도 18은 일부 실시 예에 따른 전자 장치와 연동하는 서버를 나타내는 블록도이다.
본 개시에 따른 서버(2000)는 통신부(2100), 데이터베이스(Data Base, 2200) 및 프로세서(2300)를 포함할 수 있다.
통신부(2100)는 전자 장치(1000)와 통신을 하게 하는 하나 이상의 구성요소를 포함할 수 있다. 통신부(2100)는 전자 장치(1000)로부터 컨텐츠 식별 정보 및 전자 장치 사용자의 사용자 컨텍스트에 대한 정보를 수신하거나, 전자 장치에서 학습된 어시스턴트 프로그램 학습 모델을 수신할 수 있다. 또한 통신부(2100)는 서버 내에 있는 어시스턴트 프로그램 학습 모델을 이용하여 생성된 발화 목록들을 전자 장치(1000)로 전송할 수 있다.
DB(2200)는 컨텐츠 식별 정보 및 사용자 컨텍스트에 기초하여 발화 목록을 출력하는 어시스턴트 프로그램 학습 모델, 사용자 입력(예컨대 사용자 음성)을 해석하기 위한 학습 모델, 사용자에게 제공할 응답 메시지를 생성하기 위한 학습 모델 및 응답 메시지의 출력 강도를 결정하기 위한 학습 모델을 기초로 학습되는 신경망 및 신경망에 입력되는 학습 데이터를 저장할 수 있다. 또한, DB(2200)는 전자 장치(1000)로부터 수신한 컨텐츠 식별 정보 및 사용자 컨텍스트와 매칭되는 발화 목록들을 더 저장할 수 있다.
프로세서(2300)는 통상적으로 서버(2000)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(2300)는, 서버(2000)의 DB(2200)에 저장된 프로그램들을 실행함으로써, DB(2200) 및 통신부(2100) 등을 전반적으로 제어할 수 있다. 프로세서(2300)는 DB(2200)에 저장된 프로그램들을 실행함으로써, 도 1 내지 도17에서의 전자 장치(1000)의 동작의 일부를 수행할 수 있다.
프로세서(2300)는 전자 장치(1000)로부터 수신된 컨텐츠 식별 정보 및 사용자의 사용자 컨텍스트를 수신하도록 통신부(2100)를 제어하고, 수신된 컨텐츠 식별 정보 및 사용자의 사용자 컨텍스트를 입력으로 하는 어시스턴트 프로그램 학습 모델을 이용하여 사용자에게 제공할 발화 목록들을 생성할 수 있다. 프로세서(2300)는 생성된 발화 목록들을 통신부(2100)를 통하여 전자 장치(1000)로 전송할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
또한, 본 명세서에서, "부"는 프로세서 또는 회로와 같은 하드웨어 구성(hardware component), 및/또는 프로세서와 같은 하드웨어 구성에 의해 실행되는 소프트웨어 구성(software component)일 수 있다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 의해 어시스턴트 서비스를 제공하는 방법에 있어서,
    상기 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하는 동작;
    상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 식별하기 위한 사용자 컨텍스트를 결정하는 동작;
    상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하는 동작; 및
    기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력하는 동작; 을 포함하는 방법.
  2. 제1항에 있어서, 상기 컨텐츠 식별 정보를 결정하는 동작은
    상기 전자 장치의 화면 전환 여부를 결정하는 동작; 및
    상기 전자 장치의 화면이 전환되면, 상기 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간 경과 후 상기 컨텐츠 식별 정보를 결정하는 동작; 을 포함하는, 방법.
  3. 제2항에 있어서, 상기 컨텐츠 식별 정보는
    상기 전자 장치의 채널 정보, 상기 전자 장치의 화면에 표시되는 컨텐츠의 주소 정보, 상기 전자 장치의 화면 내 레이아웃에 관한 정보 및 상기 전자 장치의 화면에서 검출된 텍스트에 대한 정보 중 적어도 하나에 기초하여 결정되는, 방법.
  4. 제1항에 있어서, 상기 사용자 컨텍스트를 결정하는 동작은
    상기 전자 장치의 화면이 전환되는지 여부 및 상기 결정된 컨텐츠 식별 정보에 기초하여 상기 전자 장치의 사용 모드를 결정하는 동작; 및
    상기 결정된 사용 모드 별로, 상기 사용자로부터 수신되는 사용자 입력, 상기 사용자의 상기 전자 장치에 대한 기기 사용 정보, 현재 상기 전자 장치의 동작 상태를 나타내는 동작 상태 정보 및 상기 컨텐츠 식별 정보 중 적어도 하나를 이용하여 상기 사용자 컨텍스트를 결정하는 동작; 을 포함하는, 방법.
  5. 제4항에 있어서, 상기 전자 장치의 사용 모드는
    상기 전자 장치에 표시될 컨텐츠를 탐색하기 위한 탐색 모드, 상기 컨텐츠의 재생을 위한 장치 설정 모드, 컨텐츠 재생 모드 및 상기 컨텐츠의 재생 종료 모드 중 적어도 하나를 포함하고,
    상기 전자 장치의 동작 상태 정보는 상기 전자 장치의 동작이 수행될 때의 시간에 관한 정보를 더 포함하는 것인, 방법.
  6. 제1항에 있어서, 상기 발화 목록을 생성하는 동작은
    상기 컨텐츠 식별 정보 및 상기 사용자 컨텍스트에 기초하여 미리 학습되는 어시스턴트 프로그램의 학습 모델을 이용하여 상기 발화 목록을 생성하는 동작; 및
    상기 어시스턴트 프로그램의 학습 모델의 학습이 이루어지지 않은 경우, 상기 결정된 컨텐츠 식별 정보 및 상기 사용자 컨텍스트에 따라 미리 설정된 발화들을 이용하여 상기 발화 목록을 생성하는 동작; 을 포함하는, 방법.
  7. 제6항에 있어서, 상기 어시스턴트 프로그램의 학습 모델은
    인공지능 알고리즘으로서, 기계학습, 신경망, 유전자, 딥러닝, 분류 알고리즘 중 적어도 하나를 이용하여 학습되는 학습 모델인 것인, 방법.
  8. 제6항에 있어서, 상기 어시스턴트 프로그램의 학습 모델은
    상기 사용자의 계정, 상기 전자 장치에 표시되는 컨텐츠의 장르, 상기 전자 장치에 표시되는 컨텐츠의 배우 및 상기 컨텐츠를 시청하는 날짜 중 적어도 하나에 따라 서로 다른 발화 목록들을 생성하는, 방법.
  9. 제1항에 있어서, 상기 기 설정된 발화 제공 이벤트는
    상기 사용자로부터 수신된 사용자 입력이 상기 발화 목록의 출력을 위한 트리거 신호를 포함하는 경우 발생하는, 방법.
  10. 제1항에 있어서, 상기 기 설정된 발화 제공 이벤트는
    현재 시간에 대한 정보, 현재 날씨에 대한 정보, 상기 전자 장치의 채널 유지 시간에 대한 정보, 상기 전자 장치의 동작 상태 정보, 상기 전자 장치에 연결된 다른 전자 장치로부터 수신되는 외부 입력 정보 및 상기 전자 장치의 화면 전환 정보 중 적어도 하나에 기초하여 발생하는, 방법.
  11. 제1항에 있어서, 상기 발화 목록을 출력하는 동작은
    상기 출력된 발화 목록에 대한 사용자 응답에 기초하여 상기 발화 목록의 출력 강도를 결정하는 동작; 및
    상기 결정된 출력 강도에 따라 상기 생성된 발화 목록을 시각 데이터 및 음성 데이터(TTS: Text To Speech) 중 적어도 하나로 출력하는 동작; 을 포함하는, 방법.
  12. 제1항에 있어서, 상기 발화 목록을 출력하는 동작은
    상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 따라 상기 발화 목록을 출력하기 위한 우선 순위를 결정하는 동작; 및
    상기 결정된 우선 순위에 따라 상기 발화 목록을 출력하는 동작; 을 포함하는, 방법.
  13. 제1항에 있어서, 상기 방법은
    상기 출력된 발화 목록에 대한 응답을 상기 사용자로부터 수신하는 동작; 및
    상기 수신된 응답을 이용하여 상기 생성된 발화 목록을 업데이트 하는 동작; 을 더 포함하는, 방법.
  14. 제1항에 있어서, 상기 발화 목록을 출력하는 동작은
    상기 전자 장치의 서비스 및 상기 전자 장치에 표시되는 컨텐츠의 종류에 따라 상기 생성된 발화 목록을 클러스터링 함으로써 적어도 하나의 발화 목록을 포함하는 발화 클러스터를 생성하는 동작; 을 더 포함하고,
    상기 생성된 발화 클러스터 별로 상기 생성된 발화 목록을 출력하는 것인, 방법.
  15. 어시스턴트 서비스를 제공하는 전자 장치에 있어서,
    출력부;
    하나 이상의 명령어들을 저장하는 메모리; 및
    상기 하나 이상의 명령어들을 실행함으로써 상기 어시스턴트 서비스를 제공하는 하나 이상의 프로세서; 를 포함하고,
    상기 프로세서는, 상기 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하고,
    상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 식별하기 위한 사용자 컨텍스트를 결정하고,
    상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하고,
    기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력하는 전자 장치.
  16. 제15항에 있어서, 상기 프로세서는
    상기 전자 장치의 화면 전환 여부를 결정하고,
    상기 전자 장치의 화면이 전환되면, 상기 전자 장치의 화면이 전환되는 시점으로부터 기 설정된 시간 경과 후 상기 컨텐츠 식별 정보를 결정하는, 전자 장치.
  17. 제16항에 있어서, 상기 컨텐츠 식별 정보는
    상기 전자 장치의 채널 정보, 상기 전자 장치의 화면에 표시되는 컨텐츠의 주소 정보, 상기 전자 장치의 화면 내 레이아웃에 관한 정보 및 상기 전자 장치의 화면에서 검출된 텍스트에 대한 정보 중 적어도 하나에 기초하여 결정되는, 전자 장치.
  18. 제15항에 있어서, 상기 프로세서는
    상기 전자 장치의 화면이 전환되는지 여부 및 상기 결정된 컨텐츠 식별 정보에 기초하여 상기 전자 장치의 사용 모드를 결정하고,
    상기 결정된 사용 모드 별로, 상기 사용자로부터 수신되는 사용자 입력, 상기 사용자의 상기 전자 장치에 대한 기기 사용 정보, 현재 상기 전자 장치의 동작 상태를 나타내는 동작 상태 정보 및 상기 컨텐츠 식별 정보 중 적어도 하나를 이용하여 상기 사용자 컨텍스트를 결정하는, 전자 장치.
  19. 제15항에 있어서, 상기 전자 장치의 사용 모드는
    상기 전자 장치에 표시될 컨텐츠를 탐색하기 위한 탐색 모드, 상기 컨텐츠의 재생을 위한 장치 설정 모드, 컨텐츠 재생 모드 및 상기 컨텐츠의 재생 종료 모드 중 적어도 하나를 포함하고,
    상기 전자 장치의 동작 상태 정보는 상기 전자 장치의 동작이 수행될 때의 시간에 관한 정보를 더 포함하는, 전자 장치.
  20. 전자 장치에 표시되는 컨텐츠를 식별하기 위한 컨텐츠 식별 정보를 결정하는 동작;
    상기 결정된 컨텐츠 식별 정보를 이용하여 상기 전자 장치의 사용자의 사용 상황을 결정하기 위한 사용자 컨텍스트를 결정하는 동작;
    상기 결정된 컨텐츠 식별 정보 및 상기 결정된 사용자 컨텍스트에 기초하여, 발화 목록을 생성하는 동작; 및
    기 설정된 발화 제공 이벤트가 발생하는 경우, 상기 생성된 발화 목록을 출력하는 동작을 수행하도록 하는 프로그램이 저장된 기록매체를 포함하는 컴퓨터 프로그램 제품.
KR1020190001922A 2019-01-07 2019-01-07 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법 KR20200092464A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190001922A KR20200092464A (ko) 2019-01-07 2019-01-07 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법
US17/421,250 US20220122602A1 (en) 2019-01-07 2019-12-10 Electronic device, and method for providing assistant service using same
PCT/KR2019/017402 WO2020145524A1 (ko) 2019-01-07 2019-12-10 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190001922A KR20200092464A (ko) 2019-01-07 2019-01-07 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법

Publications (1)

Publication Number Publication Date
KR20200092464A true KR20200092464A (ko) 2020-08-04

Family

ID=71520386

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190001922A KR20200092464A (ko) 2019-01-07 2019-01-07 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법

Country Status (3)

Country Link
US (1) US20220122602A1 (ko)
KR (1) KR20200092464A (ko)
WO (1) WO2020145524A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022250383A1 (ko) * 2021-05-25 2022-12-01 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101675144B1 (ko) * 2010-08-24 2016-11-10 현대모비스 주식회사 음성 인식 안내 시스템 및 방법
US10381001B2 (en) * 2012-10-30 2019-08-13 Google Technology Holdings LLC Voice control user interface during low-power mode
US9112984B2 (en) * 2013-03-12 2015-08-18 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9978362B2 (en) * 2014-09-02 2018-05-22 Microsoft Technology Licensing, Llc Facet recommendations from sentiment-bearing content
KR20170089670A (ko) * 2016-01-27 2017-08-04 현대자동차주식회사 차량 및 그 제어방법
KR102396794B1 (ko) * 2016-12-23 2022-05-13 삼성전자주식회사 전자 장치 및 이의 제어 방법
WO2018117753A1 (en) * 2016-12-23 2018-06-28 Samsung Electronics Co., Ltd. Electronic device and method of controlling the same
US10747423B2 (en) * 2016-12-31 2020-08-18 Spotify Ab User interface for media content playback
US10489106B2 (en) * 2016-12-31 2019-11-26 Spotify Ab Media content playback during travel
US11514098B2 (en) * 2016-12-31 2022-11-29 Spotify Ab Playlist trailers for media content playback during travel
KR102398390B1 (ko) * 2017-03-22 2022-05-16 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
KR101949363B1 (ko) * 2017-03-30 2019-02-18 엘지전자 주식회사 홈 어플라이언스 및 그 동작 방법
AU2018256365A1 (en) * 2017-04-19 2019-10-31 Magic Leap, Inc. Multimodal task execution and text editing for a wearable system
KR101875440B1 (ko) * 2017-10-10 2018-07-06 현대자동차주식회사 차량 및 그 제어방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022250383A1 (ko) * 2021-05-25 2022-12-01 삼성전자 주식회사 전자 장치 및 전자 장치의 동작 방법

Also Published As

Publication number Publication date
US20220122602A1 (en) 2022-04-21
WO2020145524A1 (ko) 2020-07-16

Similar Documents

Publication Publication Date Title
WO2020043149A1 (en) Video interaction method and apparatus
JP5746111B2 (ja) 電子装置及びその制御方法
JP5819269B2 (ja) 電子装置及びその制御方法
EP3902277A1 (en) Method for providing recommended content list and electronic device according thereto
US20140111689A1 (en) Display device, method of controlling the display device, and information processor to control the display device
CN111372109B (zh) 一种智能电视以及信息交互方法
US20190066158A1 (en) Method and electronic device for providing advertisement
KR102662558B1 (ko) 디스플레이 장치 및 디스플레이 장치의 제어 방법
JP2013041580A (ja) 電子装置及びその制御方法
KR20220108163A (ko) 음성 명령 추천을 제공하기 위한 시스템 및 방법
CN112000820A (zh) 一种媒资推荐方法及显示设备
US20200221179A1 (en) Method of providing recommendation list and display device using the same
KR20140066025A (ko) 대화형 서비스를 제공하는 장치 및 방법 그리고, 서버
US11412308B2 (en) Method for providing recommended channel list, and display device according thereto
US20190237085A1 (en) Display apparatus and method for displaying screen of display apparatus
CN112135170A (zh) 一种显示设备、服务器及视频推荐方法
KR20190024333A (ko) 전자 장치 및 그 제어 방법
KR20200092464A (ko) 전자 장치 및 이를 이용하는 어시스턴트 서비스를 제공하는 방법
KR20210153386A (ko) 멀티미디어 컨텐츠를 생성하는 디스플레이 장치 및 그 동작방법
KR20200040562A (ko) 사용자 발화를 처리하기 위한 시스템
KR102656611B1 (ko) 보이스 어시스턴트 서비스를 이용한 컨텐츠 재생 장치 및 그 동작 방법
CN110786019B (zh) 服务器及其控制方法
CN113593559A (zh) 一种内容显示方法、显示设备及服务器
US20240096329A1 (en) Qa tv-making millions of characters alive
KR102664197B1 (ko) 영상 표시 방법 및 그에 따른 디스플레이 장치

Legal Events

Date Code Title Description
A201 Request for examination