KR102608953B1 - 전자 장치 및 그의 제어방법 - Google Patents

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

Info

Publication number
KR102608953B1
KR102608953B1 KR1020180106303A KR20180106303A KR102608953B1 KR 102608953 B1 KR102608953 B1 KR 102608953B1 KR 1020180106303 A KR1020180106303 A KR 1020180106303A KR 20180106303 A KR20180106303 A KR 20180106303A KR 102608953 B1 KR102608953 B1 KR 102608953B1
Authority
KR
South Korea
Prior art keywords
keywords
electronic device
call
user
keyword
Prior art date
Application number
KR1020180106303A
Other languages
English (en)
Other versions
KR20200028089A (ko
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 KR1020180106303A priority Critical patent/KR102608953B1/ko
Priority to PCT/KR2019/011135 priority patent/WO2020050554A1/ko
Priority to US17/255,605 priority patent/US20210264905A1/en
Publication of KR20200028089A publication Critical patent/KR20200028089A/ko
Priority to US18/321,146 priority patent/US20230290343A1/en
Priority to KR1020230168468A priority patent/KR20230169016A/ko
Application granted granted Critical
Publication of KR102608953B1 publication Critical patent/KR102608953B1/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • 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/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • H04M1/72472User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons wherein the items are sorted according to specific criteria, e.g. frequency of use
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/64Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations
    • H04M1/65Recording arrangements for recording a message from the calling party
    • H04M1/656Recording arrangements for recording a message from the calling party for recording conversations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72445User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/34Microprocessors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/36Memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/38Displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Abstract

전자 장치의 제어방법이 개시된다. 본 제어방법은 전자 장치를 이용하여 다른 전자 장치의 사용자와 통화를 수행하는 동안 다른 전자 장치의 사용자와의 통화 내용에서 적어도 하나의 키워드를 획득하는 단계, 적어도 하나의 키워드를 통화가 수행되는 동안 표시하는 단계 및 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드에 대한 검색 결과를 제공하는 단계를 포함한다. 특히, 본 개시의 제어방법의 적어도 일부는 기계학습, 신경망 또는 딥러닝 알고리즘 중 적어도 하나에 따라 학습된 인공지능 모델을 이용할 수 있다.

Description

전자 장치 및 그의 제어방법 { ELECTRONIC APPARATUS AND CONTROLLING METHOD THEREOF }
본 개시는 전자 장치 및 그의 제어방법에 관한 것으로, 더욱 상세하게는 통화 내용에서 적어도 하나의 키워드를 획득하여 다양한 기능에 활용할 수 있는 전자 장치 및 이의 제어방법에 대한 것이다.
또한, 본 개시는 기계 학습 알고리즘을 활용하는 인공 지능(Artificial Intelligence, AI) 시스템 및 그 응용에 관한 것이다.
근래에는 인간 수준의 지능을 구현하는 인공 지능 시스템이 다양한 분야에서 이용되고 있다. 인공 지능 시스템은 기존의 룰(rule) 기반 스마트 시스템과 달리 기계가 스스로 학습하고 판단하며 똑똑해지는 시스템이다. 인공 지능 시스템은 사용할수록 인식률이 향상되고 사용자 취향을 보다 정확하게 이해할 수 있게 되어, 기존 룰 기반 스마트 시스템은 점차 딥러닝 기반 인공 지능 시스템으로 대체되고 있다.
인공 지능 기술은 기계학습(예로, 딥러닝) 및 기계학습을 활용한 요소 기술들로 구성된다.
기계학습은 입력 데이터들의 특징을 스스로 분류/학습하는 알고리즘 기술이며, 요소기술은 딥러닝 등의 기계학습 알고리즘을 활용하여 인간 두뇌의 인지, 판단 등의 기능을 모사하는 기술로서, 언어적 이해, 시각적 이해, 추론/예측, 지식 표현, 동작 제어 등의 기술 분야로 구성된다.
인공 지능 기술이 응용되는 다양한 분야는 다음과 같다. 언어적 이해는 인간의 언어/문자를 인식하고 응용/처리하는 기술로서, 자연어 처리, 기계 번역, 대화시스템, 질의 응답, 음성 인식/합성 등을 포함한다. 시각적 이해는 사물을 인간의 시각처럼 인식하여 처리하는 기술로서, 오브젝트 인식, 오브젝트 추적, 영상 검색, 사람 인식, 장면 이해, 공간 이해, 영상 개선 등을 포함한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론, 최적화 예측, 선호 기반 계획, 추천 등을 포함한다. 지식 표현은 인간의 경험정보를 지식데이터로 자동화 처리하는 기술로서, 지식 구축(데이터 생성/분류), 지식 관리(데이터 활용) 등을 포함한다. 동작 제어는 차량의 자율 주행, 로봇의 움직임을 제어하는 기술로서, 움직임 제어(항법, 충돌, 주행), 조작 제어(행동 제어) 등을 포함한다.
근래에는 정보의 효율적 관리 및 다양한 사용자 경험을 위해, 인공지능 개인 비서 플랫폼이 전자 장치에 탑재되어 제공되었다.
한편, 사용자가 스마트폰과 같은 전자 장치에서 통화를 하는 동안 그리고 통화를 한 이후에 사용자는 통화 내용을 기록하거나, 통화 내용을 기초로 웹 검색을 하는 등의 작업을 수행하는데, 이러한 작업은 예컨대 메모 애플리케이션, 캘린더 애플리케이션, 스케줄 애플리케이션 등과 같은 애플리케이션에 통화 내용을 기록하거나, 웹 브라우저에서 관련 정보를 찾아보는 작업 등을 포함한다. 이러한 작업들은 번거로운 측면이 있다. 그러나 종래의 전자 장치에서는 이러한 일련의 작업들을 대신하는 기능이 없었고, 인공지능 개인 비서 플랫폼도 사용자가 직접 명령을 내려야 동작하는 구조이기 때문에, 수동적인 한계를 가지고 있었다.
본 개시의 목적은 통화 내용에서 적어도 하나의 키워드를 획득하여 다양한 기능에 활용할 수 있는 전자 장치 및 이의 제어방법을 제공함에 있다.
본 개시의 일 실시 예에 따른 전자 장치의 제어 방법은, 상기 전자 장치를 이용하여 다른 전자 장치의 사용자와 통화를 수행하는 동안 상기 다른 전자 장치의 사용자와의 통화 내용에서 적어도 하나의 키워드를 획득하는 단계, 상기 적어도 하나의 키워드를 상기 통화가 수행되는 동안 표시하는 단계 및 상기 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드에 대한 검색 결과를 제공하는 단계를 포함한다.
이 경우, 상기 표시하는 단계는, 상기 적어도 하나의 키워드를 상기 다른 전자 장치의 사용자와의 통화 화면 상에 표시할 수 있다.
한편, 상기 표시하는 단계는, 상기 적어도 하나의 키워드를 각각 포함하는 적어도 하나의 원형의 UI 요소를 표시할 수 있다.
이 경우, 본 실시 예에 따른 제어방법은, 상기 다른 전자 장치의 사용자와의 통화에서 언급된 횟수에 따라 상기 적어도 하나의 키워드의 중요도를 결정하는 단계를 더 포함하고, 상기 표시하는 단계는, 상기 결정된 상기 적어도 하나의 키워드의 중요도에 따라 상기 적어도 하나의 원형의 UI 요소의 크기를 다르게 표시할 수 있다.
한편, 상기 표시하는 단계는, 상기 획득된 적어도 하나의 키워드가 복수개인 경우, 상기 다른 전자 장치의 사용자와 통화에서 언급된 간격에 따라 상기 복수의 키워드의 배치 간격을 결정하고, 상기 결정된 배치 간격대로 상기 복수의 키워드를 표시할 수 있다.
한편, 본 실시 예에 따른 제어방법은, 상기 표시된 적어도 하나의 키워드가 복수개인 경우, 상기 복수개의 키워드 중 2 이상의 키워드를 순차적으로 선택하는 사용자 입력이 수신되면 상기 선택된 2 이상의 키워드를 하나의 세트로 결정하는 단계를 더 포함하고, 상기 검색 결과를 제공하는 단계는, 상기 결정된 세트에 대한 검색 결과를 제공할 수 있다.
이 경우, 본 실시 예에 따른 제어방법은, 상기 결정된 세트에 대한 검색 기능에 대응하는 제1 UI 요소와 상기 결정된 세트에 대한 메모 기능에 대응하는 제2 UI 요소를 표시하는 단계를 더 포함하고, 상기 검색 결과를 제공하는 단계는, 상기 제1 UI 요소가 선택되면 상기 결정된 세트에 대한 검색 결과를 제공할 수 있다.
이 경우, 본 실시 예에 따른 제어방법은, 상기 제2 UI 요소가 선택되면 상기 결정된 세트를 메모 애플리케이션에 저장하는 단계를 더 포함할 수 있다.
한편, 상기 획득하는 단계는, 학습된 인공 지능 모델을 이용하여 상기 다른 전자 장치의 사용자와의 통화 내용에서 적어도 하나의 키워드를 획득할 수 있다.
한편, 본 실시 예에 따른 제어방법은, 상기 다른 전자 장치의 사용자와의 통화가 종료되면, 상기 획득된 적어도 하나의 키워드를 바탕으로 상기 전자 장치의 복수의 애플리케이션 중 추천 애플리케이션을 결정하는 단계 및 상기 결정된 추천 애플리케이션과 상기 획득된 적어도 하나의 키워드와 관련된 작업을 수행할 것인지를 문의하는 UI를 표시하는 단계를 더 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 전자 장치에 있어서, 통신부, 디스플레이, 컴퓨터 실행가능 명령어(computer executable instructions)를 저장하는 메모리 및 상기 컴퓨터 실행가능 명령어를 실행함으로써, 상기 전자 장치를 이용하여 다른 전자 장치의 사용자와 통화를 수행하는 동안 상기 다른 전자 장치의 사용자와의 통화 내용에서 적어도 하나의 키워드를 획득하고, 상기 적어도 하나의 키워드를 상기 통화가 수행되는 동안 표시하도록 상기 디스플레이를 제어하고, 상기 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드에 대한 검색 결과를 제공하는 프로세서를 포함한다.
이 경우, 상기 프로세서는, 상기 적어도 하나의 키워드를 상기 다른 전자 장치의 사용자와의 통화 화면 상에 표시하도록 상기 디스플레이를 제어할 수 있다.
한편, 상기 프로세서는, 상기 적어도 하나의 키워드를 각각 포함하는 적어도 하나의 원형의 UI 요소를 표시하도록 상기 디스플레이를 제어할 수 있다.
이 경우, 상기 프로세서는, 상기 다른 전자 장치의 사용자와의 통화에서 언급된 횟수에 따라 상기 적어도 하나의 키워드의 중요도를 결정하고, 상기 결정된 상기 적어도 하나의 키워드의 중요도에 따라 상기 적어도 하나의 원형의 UI 요소의 크기를 다르게 표시하도록 상기 디스플레이를 제어할 수 있다.
한편, 상기 프로세서는, 상기 획득된 적어도 하나의 키워드가 복수개인 경우, 상기 다른 전자 장치의 사용자와 통화에서 언급된 간격에 따라 상기 복수의 키워드의 배치 간격을 결정하고, 상기 결정된 배치 간격대로 상기 복수의 키워드를 표시하도록 상기 디스플레이를 제어할 수 있다.
한편, 상기 프로세서는, 상기 표시된 적어도 하나의 키워드가 복수개인 경우, 상기 복수개의 키워드 중 2 이상의 키워드를 순차적으로 선택하는 사용자 입력이 수신되면 상기 선택된 2 이상의 키워드를 하나의 세트로 결정하고, 상기 결정된 세트에 대한 검색 결과를 제공할 수 있다.
이 경우, 상기 프로세서는, 상기 결정된 세트에 대한 검색 기능에 대응하는 제1 UI 요소와 상기 결정된 세트에 대한 메모 기능에 대응하는 제2 UI 요소를 표시하도록 상기 디스플레이를 제어하고, 상기 제1 UI 요소가 선택되면 상기 결정된 세트에 대한 검색 결과를 제공할 수 있다.
이 경우, 상기 프로세서는, 상기 제2 UI 요소가 선택되면 상기 결정된 세트를 메모 애플리케이션에 저장할 수 있다.
한편, 상기 프로세서는, 학습된 인공 지능 모델을 이용하여 상기 다른 전자 장치의 사용자와의 통화 내용에서 적어도 하나의 키워드를 획득할 수 있다.
한편, 상기 프로세서는, 상기 다른 전자 장치의 사용자와의 통화가 종료되면, 상기 획득된 적어도 하나의 키워드를 바탕으로 상기 전자 장치의 복수의 애플리케이션 중 추천 애플리케이션을 결정하고, 상기 결정된 추천 애플리케이션과 상기 획득된 적어도 하나의 키워드와 관련된 작업을 수행할 것인지를 문의하는 UI를 표시하도록 상기 디스플레이를 제어할 수 있다.
도 1은 본 개시의 일 실시 예에 따른 통화에서 획득된 키워드들을 표시하는 전자 장치를 설명하기 위한 도면,
도 2 내지 도 3은 본 개시의 다양한 실시 예에 따른 전자 장치의 구성을 설명하기 위한 도면,
도 4 내지 도 5는 통화 내용에서 키워드를 획득하고 획득된 키워드를 통화 화면 상에 표시하는 본 개시의 일 실시 예를 설명하기 위한 도면,
도 6은 통화 화면 상에 표시된 키워드들을 선택하는 본 개시의 일 실시 예를 설명하기 위한 도면,
도 7은 선택된 키워드들로 메모 기능 또는 검색 기능을 제공하는 본 개시의 일 실시 예에 따른 UI를 설명하기 위한 도면,
도 8은 통화에서 획득된 키워드들로 검색을 한 결과 화면이 통화 화면에서 표시되는 본 개시의 일 실시 예를 설명하는 도면,
도 9 내지 도 10은 통화 내용에 따라 실시간으로 통화 화면 상에 실시간으로 키워드가 변경되는 본 개시의 일 실시 예를 설명하기 위한 도면,
도 11은 선택된 키워드들로 메모 기능 또는 검색 기능을 제공하는 본 개시의 또 다른 실시 예에 따른 UI를 설명하기 위한 도면,
도 12는 통화에서 획득된 키워드들로 메모를 등록하는 본 개시의 일 실시 예를 설명하는 도면,
도 13은 통화가 끝난 직후 통화에서 획득된 키워드들로 할 수 있는 작업을 추천하는 본 개시의 일 실시 예에 따른 UI를 설명하기 위한 도면,
도 14는 통화에서 획득된 키워드들로 개인화 정보를 제공하는 본 개시의 일 실시 예를 설명하기 위한 도면,
도 15는 본 개시의 일 실시 예에 따른 통화에서 키워드를 획득하여 다양한 기능을 제공하는 서비스의 전반적인 구조를 설명하기 위한 도면,
도 16은 본 개시의 일 실시 예에 따른, 인식 모델을 학습하고 이용하기 위한 프로세서를 설명하기 위한 블록도,
도 17 내지 도 19는 본 개시의 다양한 실시 예에 따른 학습부 및 분석부를 설명하기 위한 블록도,
도 20은 본 개시의 일 실시 예에 따른, 인공지능 모델을 이용하는 네트워크 시스템의 흐름도, 그리고
도 21은 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하기 위한 흐름도이다.
이하, 본 문서의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
본 문서에서 사용된 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시 예들을 배제하도록 해석될 수 없다.
본 개시의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에 따르면, 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드(skin pad) 또는 문신), 또는 생체 이식형(예: implantable circuit) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치는 가전 제품(home appliance)일 수 있다. 가전 제품은, 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), 홈 오토매이션 컨트롤 패널(home automation control panel), 보안 컨트롤 패널(security control panel), TV 박스(예: 삼성 HomeSync™, 애플TV™, 또는 구글 TV™, 게임 콘솔(예: Xbox™, PlayStation™, 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치는, 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션(navigation) 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller's machine), 상점의 POS(point of sales), 또는 사물 인터넷 장치(internet of things)(예: 전구, 각종 센서, 전기 또는 가스 미터기, 스프링클러 장치, 화재경보기, 온도조절기(thermostat), 가로등, 토스터(toaster), 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예에 따르면, 전자 장치는 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 수신 장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측 기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 다양한 실시 예에서, 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 어떤 실시 예에 따른 전자 장치는 플렉서블 전자 장치일 수 있다. 또한, 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않으며, 기술 발전에 따른 새로운 전자 장치를 포함할 수 있다.
본 개시의 일 목적은 통화 내용에서 키워드를 획득하여 키워드 기반 개인화 추천 정보를 제공하고 관련 명령을 수행하기 위한 인공지능 에이전트 시스템을 탑재한 전자 장치 및 이의 제어방법을 제공함에 있다.
구체적으로, 본 개시의 실시 예들에 따르면 전자 장치는 통화 중에는 통화로부터 획득된 키워드를 기반으로 예컨대, 간편 검색 및 메모 기능을 수행할 수 있다. 그리고 통화 직후에는 통화로부터 획득된 키워드를 기반으로 사용자가 이용할 것으로 예측되는 애플리케이션을 결정하여 획득된 키워드와 연관시켜 실행할 수 있다. 그리고 통화에서 획득된 키워드들을 저장하여 언제든지 그 키워드들을 기반으로 개인화 정보 제공할 수 있다.
이하 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하도록 한다.
도 1은 상대방과의 통화에서 키워드를 획득하여 제공하는 본 개시의 일 실시 예에 따른 전자 장치를 설명하기 위한 도면이다.
도 1을 참고하면, 사용자는 전자 장치(100)를 이용해 다른 전자 장치의 사용자와 통화를 수행할 수 있다. 전자 장치(100)는 통화를 수행하는 동안 통화에서 획득된 키워드들을 상대방과의 통화 화면에 표시할 수 있다. 표시된 키워드들은 선택 가능한 UI 요소이다. 사용자가 키워드를 선택하면, 선택된 키워드를 바탕으로 다양한 기능이 실행될 수 있다. 예컨대, 선택된 키워드를 바탕으로 검색 기능이 수행될 수 있고, 선택된 키워드를 바탕으로 메모 기능이 수행될 수 있다.
통화가 끝난 후에는, 전자 장치(100)는 획득된 키워드들을 바탕으로 사용자가 실행할 것으로 예측되는 애플리케이션(메모 애플리케이션, 캘린더 애플리케이션, 스케줄 애플리케이션, 검색 애플리케이션 등)에 획득된 키워드들을 적용(또는 입력)하는 작업을 수행할 것인지를 문의하는 UI를 제공할 수 있다.
또한, 전자 장치(100)는 통화에서 획득된 키워드들을 저장해 두고, 사용자 요청에 따라, 언제든지 통화에서 획득된 키워드를 바탕으로 하는 개인화 정보를 제공하여줄 수 있다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치(100)의 구성을 설명하기 위한 블럭도이다.
도 2를 참고하면, 전자 장치(100)는 통신부(110), 메모리(120), 프로세서(130) 및 디스플레이(140)를 포함한다. 실시 형태에 따라 구성들 중 일부는 생략될 수 있고, 도시되지 않았더라도 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
통신부(110)는 예를 들면 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 외부 장치와 통신할 수 있다. 무선 통신은, 예를 들면, 셀룰러 통신 프로토콜로서, 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용할 수 있다. 또한, 무선 통신은, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신은, 예를 들면, WiFi 다이렉트(wireless fidelity direct), 블루투스(Bluetooth), NFC(near field communication), 직비(Zigbee) 중 적어도 하나를 포함할 수 있다. 유선 통신은, 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), 또는 POTS(plain old telephone service) 등 중 적어도 하나를 포함할 수 있다. 네트워크는 통신 네트워크(telecommunications network), 예를 들면, 컴퓨터 네트워크(computer network)(예: LAN 또는 WAN), 인터넷, 또는 전화 망(telephone network) 중 적어도 하나를 포함할 수 있다.
통신부(110)는 예를 들면, 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈(예: GPS 모듈, Glonass 모듈, Beidou 모듈, 또는 Galileo 모듈), NFC 모듈 및 RF(radio frequency) 모듈를 포함할 수 있다.
셀룰러 모듈은, 예를 들면, 통신망을 통해서 음성 통화, 영상 통화, 문자 서비스, 또는 인터넷 서비스 등을 제공할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈은 가입자 식별 모듈(예: SIM 카드)을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈은 프로세서가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 한 실시 예에 따르면, 셀룰러 모듈은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다.
WiFi 모듈, 블루투스 모듈, GNSS 모듈 또는 NFC 모듈 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 어떤 실시 예에 따르면, 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈 또는 NFC 모듈 중 적어도 일부(예: 두 개 이상)는 하나의 Integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다.
RF 모듈은, 예를 들면, 통신 신호(예: RF 신호)를 송수신할 수 있다. RF 모듈은, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter), LNA(low noise amplifier), 또는 안테나 등을 포함할 수 있다. 다른 실시 예에 따르면, 셀룰러 모듈, WiFi 모듈, 블루투스 모듈, GNSS 모듈 또는 NFC 모듈 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호를 송수신할 수 있다.
메모리(120)는 예를 들면, 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나를 포함할 수 있다.
외장 메모리는 플래시 드라이브(flash drive), 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 또는 메모리 스틱(memory stick) 등을 포함할 수 있다.
메모리(120)는 프로세서(130)에 의해 액세스되며, 프로세서(130)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다.
본 개시에서 메모리라는 용어는 프로세서(130)와 별도로 마련된 메모리, 프로세서(130) 내 롬(미도시) 및 램(미도시) 중 적어도 하나를 포함할 수 있다.
메모리(120)는 학습된 인공지능 모델, 학습 데이터 등을 저장할 수 있다.
메모리(120)는 메모 애플리케이션, 스케줄 애플리케이션, 캘린더 애플리케이션, 웹브라우저 애플리케이션, 통화 애플리케이션 등 다양한 애플리케이션을 저장할 수 있다.
디스플레이(140)는 영상을 출력하기 위한 구성이다. 디스플레이(140)는 예를 들면, 액정 디스플레이(liquid crystal display(LCD)), 발광 다이오드(light-emitting diode(LED)) 디스플레이, 유기 발광 다이오드(organic light-emitting diode(OLED)) 디스플레이(예컨대 AMOLED(active-matrix organic light-emitting diode), PMOLED(passive-matrix OLED)), 또는 마이크로 전자기계 시스템(microelectromechanical systems(MEMS)) 디스플레이, 또는 전자종이(electronic paper) 디스플레이로 구현될 수 있다. 디스플레이(140)는 터치 스크린으로 구현될 수 있다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어하기 위한 구성이다. 예를 들면, 프로세서(130)는 운영 체제, 애플리케이션을 구동하여 프로세서(130)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(130)는 CPU(central processing unit) 또는 GPU(graphics-processing unit)이거나 둘 다일 수 있다. 프로세서(250)는 적어도 하나의 범용 프로세서(general processor), 디지털 신호 프로세서(digital signal processor), ASIC(Application specific integrated circuit), SoC(system on chip), MICOM(Microcomputer) 등으로 구현될 수 있다.
프로세서(130)는 학습된 인공지능 모델을 이용하여 다양한 연산을 수행할 수 있다. 예컨대 프로세서(130)는 학습된 인공지능 모델을 이용하여 전자 장치(100)를 이용해 수행되는 상대방과의 통화에서 적어도 하나의 키워드를 획득할 수 있다. 일 실시 예에 따르면, 프로세서(130)는 통화 내용을 NER(Named entity recognition) 모델에 입력하여 고유 명사들을 획득할 수 있고, 고유 명사들 중에서 키워드를 선정할 수 있다. 획득된 고유 명사들 모드가 키워드로 선정될 수 있고, 또는 획득된 고유 명사들 중에서 특정 기준을 만족하는 것들만 키워드로 선정될 수 있다. 특정 기준은 예컨대 고유 명사가 통화에서 언급된 횟수가 기 설정된 횟수 이상인지, 고유 명사가 언급된 간격이 기 설정된 시간 미만인지 등일 수 있다. 또는, 키워드에 대응하는 카테고리에 속하는 고유 명사가 키워드로서 선정될 수 있다. 예컨대, 시간, 인물, 장소와 같은 카테고리가 키워드에 대응하는 카테고리일 수 있다. 또는, 주요 키워드를 선정하도록 학습된 인공지능 모델에 고유 명사를 입력하여 키워드를 획득할 수 있다.
본 개시에서는 적용 분야에 맞게 특화된 다양한 인공지능 모델이 이용될 수 있다. 인공지능 모델은 인공지능 알고리즘 기반으로 학습된 판단 모델로서, 예로, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 학습된 인공지능 모델은 인간의 뇌 구조를 컴퓨터상에서 모의하도록 설계될 수 있으며 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 가지는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 노드들은 뉴런이 시냅스(synapse)를 통하여 신호를 주고받는 뉴런의 시냅틱(synaptic) 활동을 모의하도록 각각 연결 관계를 형성할 수 있다. 또한, 학습된 인공지능 모델은, 일 예로, 신경망 모델, 또는 신경망 모델에서 발전한 딥 러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 깊이(또는, 레이어)에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고받을 수 있다. 학습된 인공지능 모델의 예에는 DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 등이 있을 수 있으나 이에 한정되지 않는다.
전자 장치(100)는 인공지능 전용 프로그램(또는 인공지능 에이전트, Artificial intelligence agent)인 개인 비서 프로그램(ex. Bixby™)을 이용할 수 있다. 개인 비서 프로그램은 AI(Artificial Intelligence) 기반의 서비스를 제공하기 위한 전용 프로그램이다. 인공 지능 처리를 위해 기존의 범용 프로세서(예를 들어, CPU)가 이용될 수 있거나, 또는 단일 목적 프로세서(예를 들어, GPU, FPGA, ASIC 등)가 이용될 수 있다. 전자 장치(100)는 복수의 프로세서를 포함할 수 있는데, 예컨대, 인공 지능 전용의 프로세서와 그 밖의 다른 처리를 담당하는 프로세서를 포함할 수 있다.
본 개시의 일 실시 예에 따르면, 기 설정된 사용자 입력(예를 들어, 개인 비서 챗봇에 대응되는 아이콘 터치, 기설정된 단어를 포함하는 사용자 음성 등)이 입력되거나 전자 장치(100)에 구비된 버튼(예를 들어, 인공지능 에이전트를 실행하기 위한 버튼)이 눌러지는 경우, 인공지능 에이전트가 동작(또는 실행)할 수 있다. 또는, 인공지능 에이전트는 기설정된 사용자 입력이 감지되거나 전자 장치(100)에 구비된 버튼이 선택되기 이전에 대기 상태일 수 있다. 여기서, 대기 상태란, 인공지능 에이전트의 동작 시작을 제어하기 위해 미리 정의된 사용자 입력(예컨대, 기 설정된 키워드(ex. 빅스비)를 포함하는 사용자 음성이 입력되는 경우)이 수신되는 것을 감지하는 상태이다. 인공지능 에이전트가 대기 상태인 동안 기설정된 사용자 입력이 감지되거나 전자 장치(100)에 구비된 버튼이 선택되면, 전자 장치(100)는 인공지능 에이전트를 동작시킬 수 있다. 그리고, 인공지능 에이전트는 사용자 음성이 수신되면 음성을 바탕으로 전자 장치(100)의 기능을 수행할 수 있고, 음성이 문의하는 음성이면 답변을 출력할 수 있다.
인공 지능을 기반으로 한 연산은 전자 장치(100) 내에서 수행될 수 있고, 외부 서버를 통해 수행되는 것도 가능하다. 후자의 경우, 서버에 인공지능 모델이 저장되며, 전자 장치(100)는 인공지능 모델에 입력할 데이터를 서버로 제공하고, 서버는 인공지능 모델에 데이터를 입력하여 획득된 결과 데이터를 전자 장치(100)로 제공하여 줄 수 있다.
도 3은 본 개시의 다른 실시 예에 따른, 전자 장치(100)의 구성을 도시한 블록도이다. 도 3에 도시된 바와 같이, 전자 장치(100)는 통신부(110), 메모리(120), 프로세서(130), 디스플레이(140), 입력부(150), 음향출력부(160), 마이크(170)를 포함할 수 있다. 실시 형태에 따라 구성들 중 일부는 생략될 수 있고, 도시되지 않았더라도 당업자에게 자명한 수준의 적절한 하드웨어/소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다. 한편, 통신부(110), 메모리(120), 프로세서(130), 디스플레이(140)는 도 2에서 설명하였으므로, 중복되는 설명은 생략하기로 한다.
마이크(170)는 사용자 음성이나 기타 소리를 입력받아 디지털 신호로 변환하기 위한 구성이다. 프로세서(130)는 마이크(170)를 통해 입력되는 통화 음성에서 적어도 하나의 키워드를 획득할 수 있다. 마이크(170)는 전자 장치(100) 내부에 구비될 수 있으나, 이는 일 실시 예에 불과할 뿐, 전자 장치(100)의 외부에 구비되어 전자 장치(100)와 전기적으로 연결될 수 있다.
입력부(150)는 사용자 입력을 수신하여 프로세서(130)로 전달할 수 있다. 입력부(150)는 예컨대, 터치 센서, (디지털) 펜 센서, 압력 센서, 키, 또는 마이크를 포함할 수 있다. 터치 센서는, 예를 들면, 정전식, 감압식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식을 사용할 수 있다. (디지털) 펜 센서는, 예를 들면, 터치 패널의 일부이거나, 별도의 인식용 쉬트를 포함할 수 있다. 키는, 예를 들면, 물리적인 버튼, 광학식 키, 또는 키패드를 포함할 수 있다.
디스플레이(140)와 입력부(150)의 터치 센서가 상호 레이어 구조를 이루어 터치 스크린으로 구현될 수 있다.
음향출력부(160)는 오디오 신호를 출력할 수 있다. 예컨대, 음향출력부(160)통신부(110)를 통해 수신되는 상대방의 통화 음성을 출력할 수 있다. 또한 음향출력부(160)는 메모리(120)에 저장된 오디어 데이터를 출력할 수 있다. 예컨대, 음향출력부(160)는 각종 알림음을 출력할 수 있고, 인공지능 비서의 음성을 출력할 수 있다. 음향출력부(160)는 리시버, 스피커, 부저(buzzer) 등을 포함할 수 있다.
메모리(120)는 컴퓨터 실행가능 명령어(computer executable instructions)를 저장하고, 이것이 프로세서(130)에 의해 실행되었을 때 본 개시에서 설명되는 전자 장치(100)의 제어방법이 수행될 수 있다.
예컨대 프로세서(130)는 컴퓨터 실행가능 명령어를 실행함으로써, 통신부(110)를 통해 다른 전자 장치의 사용자와 통화를 수행하는 동안, 다른 전자 장치의 사용자와의 통화에서 적어도 하나의 키워드를 획득하고, 획득된 키워드를 통화가 수행되는 동안 표시하도록 디스플레이(140)를 제어할 수 있다.
프로세서(130)는 통화 동안, 마이크를 통해 입력되는 사용자의 음성과 통신부(110)를 통해 수신한 다른 전자 장치의 상대방의 음성을 수집하여, 수집된 음성을 텍스트로 변환하고, 변환된 텍스트로부터 키워드를 획득할 수 있다.
이 경우, 프로세서(130)는 학습된 인공지능 모델을 이용하여, 다른 전자 장치의 사용자와의 통화에서 적어도 하나의 키워드를 획득할 수 있다.
또 다른 실시 예에 따르면, 프로세서(130)는 룰 기반으로 다른 전자 장치의 사용자와의 통화에서 적어도 하나의 키워드를 획득할 수 있다. 예컨대, 프로세서(130)는 다른 전자 장치의 사용자와의 통화에서 언급되는 단어의 빈도수, 단어를 말하는 소리의 세기 등을 바탕으로 적어도 하나의 키워드를 획득할 수 있다.
통화에서 키워드를 획득하는 본 개시의 일 실시 예를 도 4 내지 도 5를 참고하여 설명하도록 한다.
도 4는 전자 장치(100)의 사용자(10)와 다른 전자 장치의 사용자(20) 간의 통화 내용을 도시한 것이다.
프로세서(130)는 통화가 수행되는 통화 내용에서 적어도 하나의 키워드(밑줄로 표시)를 획득할 수 있다. 예컨대, 프로세서(130)는 "내일" "7시", "동남오빠", "강남역", "맛집" 등의 명사를 키워드로서 획득할 수 있다.
그리고 도 5를 참고하면, 프로세서(130)는 획득된 적어도 하나의 키워드를 표시하도록 디스플레이(140)를 제어할 수 있다. 이 경우, 프로세서(130)는 다른 전자 장치의 사용자(20)와의 통화 화면(500) 상에 획득된 적어도 하나의 키워드를 표시하도록 디스플레이(140)를 제어할 수 있다. 통화 화면(500)은 다른 전자 장치의 사용자(20)와 통화화는 동안 디스플레이(140)에서 표시되는 화면으로, 예컨대 다른 전자 장치의 사용자(20)의 이름, 연락처 등의 정보를 포함하며, 또한, 스피커로 통화하기, 전화 끊기, 음소거 등의 기능에 대응하는 버튼 UI를 포함할 수 있다.
일 실시 예에 따르면, 프로세서(130)는 통화에서 획득된 적어도 하나의 키워드를 각각 포함하는 적어도 하나의 UI 요소(51 ~ 58)를 표시하도록 디스플레이(140)를 제어할 수 있다. 적어도 하나의 UI 요소(51 ~ 58)는 원형일 수 있고, 구체적으로는 버블 형상일 수 있다. 다만, 키워드를 포함하는 UI 요소의 형상은 특별히 제한되지는 않는다. 예컨대, 키워드를 포함하는 UI 요소가 사각 형상일 수도 있다.
프로세서(130)는 키워드를 포함하는 적어도 하나의 UI 요소(51 ~ 58)의 크기를 그 안에 들어있는 키워드의 중요도에 따라 서로 다르게 표시할 수 있다. 즉, 중요도가 높은 키워드를 포함하고 있는 UI 요소의 경우 중요도가 낮은 키워드를 포함하고 있는 UI 요소보다 그 크기가 크게 표현될 수 있다. 예를 들어, 도 5를 참고하면 비교적 높은 중요도를 갖는 키워드를 포함하는 UI 요소들(51, 54, 56, 58)은 비교적 중요도가 낮은 키워드를 포함하는 UI 요소들(52, 53, 55, 57)보다 크게 표시될 수 있다.
일 실시 예에 따르면, 프로세서(130)는 학습된 인공지능 모델에 키워드들을 입력하여, 키워드들의 중요도에 대한 정보를 획득할 수 있다.
또 다른 실시 예에 따르면, 프로세서(130)는 카테고리 별로 다르게 설정된 가중치에 따라 키워드의 중요도를 결정할 수 있다. 예컨대, 시간 카테고리(5) 인물 카테고리(4), 장소 카테고리(2)와 같이 가중치(괄호안 숫자)가 설정된 경우, 시간 카테고리에 속하는 키워드가 장소 카테고리에 속하는 키워드보다 중요도가 높다.
또 다른 실시 예에 따르면, 프로세서(130)는 통화에서 키워드가 언급된 횟수에 따라 중요도를 결정할 수 있다. 즉, 언급된 횟수가 많을수록 중요도는 높아진다.
일 실시 예에 따르면, 프로세서(130)는 일정 개수의 키워드만 통화 화면(500)에 표시되도록 제어할 수 있다. 이 경우, 중요도가 높은 몇 개의 키워드만 표시되도록 제어할 수 있다.
그리고 통화 화면(500)에 표시된 키워드들은 사용자 조작에 따라 통화 화면(500)에서 사라질 수 있다. 특정 키워드가 사라지면, 다른 새로운 키워드가 통화 화면(500)에 표시될 수 있다. 예컨대, 다음번 중요도를 갖는 새로운 키워드가 통화 화면(500)에 표시될 수 있다.
예컨대, 프로세서(130)는 키워드를 포함하는 UI 요소들(51 ~ 58) 중 어느 하나를 제거하기 위한 사용자 입력이 있으면, 해당 UI 요소를 통화 화면(500)에서 제거하고, 다음번 중요도를 갖는 키워드를 포함하는 UI 요소를 통화 화면(500)에 표시할 수 있다.
UI 요소를 제거하기 위한 사용자 입력은 예컨대, UI 요소를 선택하여 통화 화면(500) 바깥으로 이동시키는 사용자의 터치 모션일 수 있다. 또 다른 예로, UI 요소를 더블 터치하는 사용자 입력일 수 있다. 이 밖에도 다양한 사용자 입력이 가능하다. 일 실시 예에 따르면, UI 요소들(51 ~ 58)이 버블 형상인 경우, 제거될 때 버블이 터지는 그래픽 효과가 제공될 수 있다.
한편, 키워드들 간의 연관성을 좀 더 직관적으로 파악할 수 있도록 하기 위해, 프로세서(130)는 키워드들 간의 연관도에 따라 키워드들을 배치할 수 있다. 일 실시 예에 따르면, 프로세서(130)는 다른 전자 장치의 사용자(20)와 통화에서 언급된 간격에 따라 복수의 키워드의 배치 간격을 결정하고, 결정된 배치 간격대로 복수의 키워드를 표시하도록 디스플레이(140)를 제어할 수 있다.
본 실시 예에 따르면, 함께 언급된 키워드들은 인접하여 표시될 수 있다. 예를 들어, 통화에서 "내일 7시 강남역 어때?"라는 문장이 포함되어 있는 경우, 키워드 "내일"을 포함하는 UI 요소(55), 키워드 "7시"를 포함하는 UI 요소(51), 키워드 "강남역" 을 포함하는 UI 요소(56)는 서로 인접한 위치에 표시될 수 있다.
사용자(10)는 통화를 하면서 통화 화면(500)에서 표시되는 키워드들을 보면서, 어떤 주제로 대화가 진행되고 있는지를 직관적으로 알 수 있게 된다. 이 뿐만 아니라 통화에서 획득된 키워드들을 다양한 기능에 활용할 수 있다.
일 실시 예에 따르면, 프로세서(130)는 디스플레이(140)에 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드를 전자 장치(100)의 애플리케이션에 적용하여 해당 애플리케이션에서 키워드와 관련한 기능이 수행되도록 할 수 있다.
일 예로, 프로세서(130)는 디스플레이(140)에 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드에 대한 검색 결과를 제공할 수 있다. 또 다른 예로, 프로세서(130)는 디스플레이(140)에 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드를 메모 애플리케이션에 등록할 수 있다. 이 밖에도 다양한 기능이 제공될 수 있다.
한편, 사용자가 하나의 키워드를 선택하면 그 하나의 키워드를 이용하여 기능 실행이 되는 것도 가능하지만, 사용자가 2 이상의 키워드를 선택하면, 2 이상의 키워드를 이용하여 기능 실행이 되는 것도 가능하다.
2 이상의 키워드를 선택하는 방식으로는 다양한 방법이 이용될 수 있다. 예컨대, 2 이상의 키워드를 순차적으로 터치하는 조작, 2 이상의 키워드를 동시에 터치하는 조작(멀티 터치), 2 이상의 키워드를 잇는 드레그 조작 등 다양한 사용자 조작으로 2 이상의 키워드를 선택할 수 있다.
도 6은 2 이상의 키워드를 선택하는 방식의 일 예를 도시한 것이다.
도 6을 참고하면, 사용자는 "강남역"을 포함하는 UI 요소(56)부터 시작하여 키워드 "맛집"을 포함하는 UI요소(58)에서 끝나는 드레그 조작을 수행함으로써 키워드 "강남역"과 "맛집"을 선택할 수 있다.
프로세서(130)는 2 이상의 키워드를 선택하는 사용자 입력이 수신되면, 선택된 2 이상의 키워드를 하나의 세트로 결정할 수 있다. 도 6의 경우, 프로세서(130)는 키워드 "강남역"과 "맛집"을 하나의 세트로 결정할 수 있다.
전자 장치(100)는 결정된 세트로 검색을 하거나 메모를 할 수 있다. 본 실시 예에 대한 설명은 도 7을 참고하여 설명하도록 한다.
도 7은 통화에서 획득한 키워드들 중 사용자가 선택한 키워드로 메모 또는 검색을 수행하는 본 개시의 일 실시 예를 설명하기 위한 도면이다.
도 6에서와 같이 2 이상의 키워드를 선택하는 사용자 입력이 수신되면 프로세서(130)는 2 이상의 키워드를 하나의 세트로 결정하고, 도 7에서와 같이 사용자가 선택한 2 이상의 키워드를 통화 화면(500)의 일 영역(710)에 표시할 수 있다.
그리고 프로세서(130)는 상기 결정된 세트에 대한 메모 기능에 대응하는 제1 UI 요소(720)와 상기 결정된 세트에 대한 검색 기능에 대응하는 제2 UI 요소(730)를 표시하도록 디스플레이(140)를 제어할 수 있다.
여기서 제1 UI 요소(720)가 선택되면, 프로세서(130)는 키워드 세트를 메모 애플리케이션에 저장할 수 있다.
여기서 제2 UI 요소(730)가 선택되면, 프로세서(130)는 키워드 세트에 대한 검색 결과를 제공할 수 있다. 예컨대, 도 8에 도시한 것처럼 "강남역"과 "맛집"에 대응하는 검색 결과(810)가 제공될 수 있다. 이러한 검색 결과(810) 역시 통화 화면(500) 상에서 제공될 수 있다.
이와 같이 통화 화면(500)을 통해 검색, 메모 등을 수행한 뒤에 사용자(10)는 다른 전자 장치의 사용자(20)와 도 9에 도시한 것처럼 계속 통화를 이어갈 수 있다. 프로세서(130)는 통화에서 키워드들을 실시간으로 획득할 수 있다. 따라서 통화 동안 통화 화면(500)에서 보여지는 키워드들은 실시간으로 변경될 수 있다. 도 10은 도 9와 같이 통화를 수행한 이후의 통화 화면(500)을 도시한 것이다. 도 10의 통화 화면(500)에 표시되는 키워드들은 도 5의 통화 화면(500)에 표시된 키워드와는 달라졌음을 확인할 수 있다.
그리고 도 10에 도시된 바와 같이 사용자가 복수의 키워드들을 선택하기 위한 드래그 조작을 수행하면, 프로세서(130)는 드래그 조작에 의해 선택된 3개의 키워드들을 하나의 세트로 결정하여, 도 11에 도시한 바와 같이 사용자가 선택한 3개의 키워드들을 통화 화면(500)의 일 영역(710)에 표시할 수 있다.
이 경우, 영역(710)에서 키워드들은 언어 구조에 따라 자연스러운 형태로 배치될 수 있다. 프로세서(130)는 키워드의 카테고리(시간, 장소, 활동)에 따라 키워드를 배치할 수 있다. 예컨대, 프로세서(130)는 장소 카테고리에 속하는 키워드(테이스팅룸)는 시간 카테고리(7시)에 속하는 키워드 뒤쪽에, 활동 카테고리에 속하는 키워드(예약)은 장소 카테고리에 속하는 키워드 뒤쪽에 배치할 수 있다.
프로세서(130)는 3개의 키워드의 세트에 대한 검색 기능에 대응하는 제1 UI 요소(720)와 3개의 키워드의 세트에 대한 메모 기능에 대응하는 제2 UI 요소(730)를 표시하도록 디스플레이(140)를 제어할 수 있다.
여기서 제1 UI 요소(720)가 선택되면, 프로세서(130)는 메모 애플리케이션에 키워드 세트를 저장할 수 있다. 예컨대 도 12에 도시한 바와 같이 프로세서(130)는 메모 애플리케이션에 키워드 세트 "7시 테이스팅룸 예약"을 입력하여 저장할 수 있다.
한편, 프로세서(130)는 다른 전자 장치의 사용자와의 통화가 종료되면, 통화에서 획득된 적어도 하나의 키워드를 바탕으로 전자 장치(100)의 복수의 애플리케이션 중 추천 애플리케이션을 결정하고, 결정된 추천 애플리케이션 및 획득된 적어도 하나의 키워드와 관련한 작업을 수행할 것인지 문의하는 UI를 표시하도록 디스플레이(140)를 제어할 수 있다. 그리고 작업을 문의하는 UI가 선택되면 프로세서(130)는 그 작업을 수행할 수 있다.
프로세서(130)는 키워드(또는 키워드의 카테고리)와 애플리케이션 간의 맵핑 리스트를 기초로, 통화에서 획득된 키워드(또는 획득된 키워드의 카테고리)에 대응되는 애플리케이션을 추천 애플리케이션으로 결정할 수 있다. 이러한 맵핑 리스트는 메모리(120)에 기 저장되어 있을 수 있다.
예컨대, 키워드를 바탕으로 결정된 추천 애플리케이션이 스케줄 애플리케이션인 경우, 프로세서(130)는 획득된 적어도 하나의 키워드 중 일정과 관련한 키워드를 스케줄 애플리케이션에 등록하는 작업을 수행할 것인지를 문의하는 UI를 표시할 수 있다. 본 실시 예와 관련해선 도 13을 참고하여 설명하도록 한다.
도 13을 참고하면, 다른 전자 장치의 사용자(20)와의 통화가 완료되면, 프로세서(130)는 통화 완료 직후에, 통화에서 획득된 키워드를 스케줄 애플리케이션에 등록하는 작업을 수행할 것인지를 문의하는 UI(1310)를 표시하도록 디스플레이(140)를 제어할 수 있다. UI(1310)가 선택되면, 프로세서(130)는 스케줄 애플리케이션에 일정을 등록하는 작업을 수행할 수 있다.
또 다른 예로, 프로세서(130)는 통화에서 획득된 적어도 하나의 키워드를 바탕으로 결정된 추천 애플리케이션이 송금 애플리케이션인 경우, 획득된 적어도 하나의 키워드 중 송금 금액과 관련한 키워드를 바탕으로 상기 송금 금액을 상기 송금 애플리케이션을 통해 송금하는 작업을 수행할 것인지를 문의하는 UI(ex. "김영희님께 15000원 송금을 진행할까요?")를 표시하도록 디스플레이(140)를 제어할 수 있다.
또 다른 예로, 프로세서(130)는 통화에서 획득된 적어도 하나의 키워드를 바탕으로 결정된 추천 애플리케이션이 연락처 애플리케이션인 경우, 적어도 하나의 키워드 중 연락처 전송과 관련한 키워드를 바탕으로 연락처 애플리케이션에 저장된 제1 연락처에 대한 정보를 연락처 애플리케이션에 저장된 제2 연락처로 전송하는 작업을 수행할 것인지를 문의하는 UI(ex. "김영희님께 김철수 님의 연락처를 전송할까요?") 를 표시하도록 디스플레이(140)를 제어할 수 있다.
또 다른 예로, 프로세서(130)는 통화에서 획득된 적어도 하나의 키워드를 바탕으로 결정된 추천 애플리케이션이 메시지 애플리케이션인 경우, 적어도 하나의 키워드 중 메시지 전송과 관련한 키워드를 바탕으로, 키워드로 구성된 문자를 전송하는 작업을 수행할 것인지를 문의하는 UI를 표시하도록 디스플레이(140)를 제어할 수 있다.
본 개시의 또 다른 실시 예에 따르면, 통화에서 획득된 적어도 하나의 키워드를 바탕으로 개인화 정보를 제공할 수 있다. 개인화 정보의 일 예를 도 14를 참고하여 설명하도록 한다.
도 14는 본 개시의 일 실시 예에 따른 개인화 정보 제공 화면을 도시한 것이다.
전자 장치(100)는 사용자 프로파일 정보를 바탕으로 개인화 정보를 제공할 수 있다. 사용자 프로파일 정보는 예컨대, 사용자 이름, 나이, 성별, 직업, 일정, 사용자의 이동 경로(전자 장치(100)가 이동한 경로), 통화에서 획득된 적어도 하나의 키워드를 포함할 수 있다.
전자 장치(100)는 이와 같은 사용자 프로파일 정보를 바탕으로 정보를 제공할 수 있다. 특히, 전자 장치(100)는 통화에서 획득된 키워드를 바탕으로 정보를 제공할 수 있다. 예를 들어, 도 14에 도시한 바와 같이 다른 전자 장치의 사용자와의 통화에서 "저녁", "7시", "강남역"이라는 키워드가 획득된 경우, 이러한 키워드들을 바탕으로 '저녁 7시 강남역 근처 추천 놀거리'에 대한 정보를 제공할 수 있다. 본 실시 예에 따르면 통화 내용을 기반으로 하여 사용 맥락에 더욱 부합되는 정보가 제공될 수 있다.
도 15는 본 개시의 실시 예에 따른 통화에서 키워드를 획득하여 다양한 기능을 제공하는 서비스 구조를 설명하기 위한 도면이다.
도 15를 참고하면, 사용자가 전자 장치(100)를 통해 다른 전자 장치의 사용자와 통화를 수행하면, 통화 음성(사용자의 음성과 다른 전자 장치의 음성)이 입력되어, 입력된 통화 음성에 대한 전처리가 수행되고 특징 벡터들이 획득될 수 있다. 그리고 학습된 인공지능 모델, 예컨대 NER(Named entity recognition) 모델에 특징 벡터들을 입력함으로써, 통화 음성으로부터 고유 명사들을 추출할 수 있다.
그리고 전자 장치(100)는 추출된 고유 명사들 중에서 키워드를 선정할 수 있다. 이 때, 키워드의 중요도가 고려될 수 있다. 그리고 전자 장치(100)는 선정된 키워드들을 사용자에게 제공하고, 사용자가 선택한 키워드로 검색을 수행하거나, 메모 기능을 수행할 수 있다. 또한 전자 장치(100)는 선정된 키워드들을 이용해서 딥러닝 기반 행동 추천(예컨대 일정 등록, 송금, 연락처 전송, 메시지(SMS) 전송 등)을 할 수 있다.
상술한 실시 예들에서 수행되는 기능들은 인공지능 모델을 이용하여 수행될 수 있다. 예컨대 통화 내용에서 키워드의 획득, 키워드에 대한 중요도 결정, 키워드의 배치, 키워드를 바탕으로 추천 애플리케이션 결정 등의 기능은 인공지능 모델을 이용하여 수행될 수 있다.
도 16은 본 개시의 일 실시 예에 따른, 인공 지능 모델을 학습하고 이용하기 프로세서를 설명하기 위한 블럭도이다.
도 16을 참조하면 프로세서(1600)는 학습부(1610) 및 분석부(1620) 중 적어도 하나를 포함할 수 있다.
학습부(1610)는 학습 데이터를 이용하여 판단 기준을 갖는 인공 지능 모델을 생성할 수 있다.
일 예로, 학습부(1610)는 음성 데이터를 학습 데이터로 음성 데이터로부터 키워드를 획득하도록 인공지능 모델을 생성, 학습시킬 수 있다.
분석부(1620)는 인공지능 모델에 음성 데이터를 입력하여 음성 데이터로부터 키워드를 획득할 수 있다. 이와 같은 인공지능 모델은 기능적으로 구분하자면 STT(Speech to text) 모듈, NER(Named entity recognition) 모듈, 키워드 선정 모듈을 포함할 수 있다.
STT(Speech to text) 모듈은 입력된 음성을 텍스트(text)로 변환한다. 그리고 변환된 텍스트를 입력 받은 NER(Named entity recognition) 모듈은 텍스트로부터 고유 명사를 추출할 수 있다. 그리고 키워드 선정 모듈은 추출된 고유 명사의 중요도를 판단하여 키워드를 선정할 수 있다. 중요도는 고유 명사 별 가중치 또는 고유 명사가 속한 카테고리의 가중치, 고유 명사의 사용 빈도, 고유 명사의 사용 간격, 고유 명사를 발화한 사용자 음성의 크기 등에 따라 결정될 수 있다.
학습부(1610)의 적어도 일부 및 분석부(1620)의 적어도 일부는, 소프트웨어 모듈로 구현되거나 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 학습부(1610) 및 분석부(1620) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 전자 장치(100) 또는 전자 장치(100)로 분석 결과를 제공하는 서버에 탑재될 수도 있다.
이때, 인공 지능을 위한 전용 하드웨어 칩은 확률 연산에 특화된 전용 프로세서로서, 기존의 범용 프로세서보다 병렬처리 성능이 높아 기계 학습과 같은 인공 지능 분야의 연산 작업을 빠르게 처리할 수 있다. 학습부(1610) 및 분석부(1620)가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
학습부(1610) 및 분석부(1620)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 도 16의 프로세서(1600)는 도 2 또는 도 3의 프로세서(130)가 될 수 있다. 또 다른 예로, 학습부(1610) 및 분석부(1620) 중 하나는 전자 장치(100)에 포함되고, 나머지 하나는 외부의 서버에 포함될 수 있다. 또한, 학습부(1610) 및 분석부(1620)는 유선 또는 무선으로 통하여, 학습부(1610)가 구축한 모델 정보를 분석부(1620)로 제공할 수도 있고, 학습부(1610)로 입력된 데이터가 추가 학습 데이터로서 학습부(1610)로 제공될 수도 있다.
도 17은 일 실시 예에 따른 학습부(1610)의 블록도이다.
도 17을 참조하면, 일부 실시 예에 따른 학습부(1610)는 학습 데이터 획득부(1610-1) 및 모델 학습부(1610-4)를 포함할 수 있다. 또한, 학습부(1610)는 학습 데이터 전처리부(1610-2), 학습 데이터 선택부(1610-3) 및 모델 평가부(1610-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
학습 데이터 획득부(1610-1)는 음성 데이터로부터 키워드 획득을 위한 모델을 학습시키기 위해 학습 데이터를 획득할 수 있다.
학습 데이터는 학습부(1610) 또는 학습부(1610)의 제조사가 수집 또는 테스트한 데이터가 될 수도 있다. 예컨대 학습 데이터는 음성 또는 텍스트를 포함할 수 있다.
모델 학습부(1610-4)는 학습 데이터를 이용하여, 모델이 입력 데이터를 어떻게 이해, 인식, 인지, 판단, 추론 등을 할 것인지에 관한 기준을 갖도록 학습시킬 수 있다. 모델 학습부(1610-4)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 모델을 학습시킬 수 있다. 또는, 모델 학습부(1610-4)는, 예를 들어, 별다른 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 상황의 판단을 위한 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 모델을 학습시킬 수 있다. 또한, 모델 학습부(1610-4)는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 모델을 학습시킬 수 있다. 또한, 모델 학습부(1610-4)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 모델을 학습시킬 수 있다
모델 학습부(1610-4)는 미리 구축된 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 모델을 학습할 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
모델이 학습되면, 모델 학습부(1610-4)는 학습된 모델을 저장할 수 있다. 예컨대, 모델 학습부(1610-4)는 학습된 모델을 전자 장치(100)의 메모리(120)에 저장할 수 있다. 또는, 모델 학습부(1610-4)는 학습된 모델을 전자 장치(100)와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
학습부(1610)는 모델의 처리 능력을 향상시키거나, 모델의 생성에 필요한 자원 또는 시간을 절약하기 위하여, 학습 데이터 전처리부(1610-2) 및 학습 데이터 선택부(1610-3)를 더 포함할 수도 있다.
학습 데이터 전처리부(1610-2)는 상황 판단을 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 학습 데이터 전처리부(1610-2)는 모델 학습부(1610-4)가 상황 판단을 위한 학습을 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1610-3)는 학습 데이터 획득부(1610-1)에서 획득된 데이터 또는 학습 데이터 전처리부(1610-2)에서 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(1610-4)에 제공될 수 있다. 학습 데이터 선택부(1610-3)는 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 학습에 필요한 학습 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1610-3)는 모델 학습부(1610-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 학습 데이터를 선택할 수도 있다.
학습부(1610)는 모델의 처리 능력을 향상시키기 위하여, 모델 평가부(1610-5)를 더 포함할 수도 있다.
모델 평가부(1610-5)는 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1610-4)로 하여금 다시 모델을 학습시키도록 할 수 있다. 이 경우, 평가 데이터는 모델을 평가하기 위한 기 정의된 데이터일 수 있다.
예를 들어, 모델 평가부(1610-5)는 평가 데이터에 대한 학습된 모델의 분석 결과 중에서, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
한편, 학습된 모델이 복수 개가 존재하는 경우, 모델 평가부(1610-5)는 각각의 학습된 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1610-5)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 모델로서 결정할 수 있다.
도 18을 참조하면, 일부 실시 예에 따른 분석부(1620)는 데이터 획득부(1620-1) 및 분석 결과 제공부(1620-4)를 포함할 수 있다. 또한, 분석부(1620)는 데이터 전처리부(1620-2), 데이터 선택부(1620-3) 및 모델 갱신부(1620-5) 중 적어도 하나를 선택적으로 더 포함할 수 있다.
데이터 획득부(1620-1)는 분석에 필요한 데이터를 획득할 수 있다. 분석 결과 제공부(1620-4)는 데이터 획득부(1620-1)에서 획득된 데이터를 학습된 모델에 입력한 결과를 제공할 수 있다. 분석 결과 제공부(1620-4)는 데이터의 분석 목적에 따른 분석 결과를 제공할 수 있다. 분석 결과 제공부(1620-4)는 후술할 데이터 전처리부(1620-2) 또는 데이터 선택부(1620-3)에 의해 선택된 데이터를 입력 값으로 인식 모델에 적용하여 분석 결과를 획득할 수 있다. 분석 결과는 모델에 의해 결정될 수 있다.
일 실시 예로, 분석 결과 제공부(1620-4)는 데이터 획득부(1620-1)에서 획득한 음성 데이터를 인공지능 모델에 적용하여 적어도 하나의 키워드를 획득할 수 있다.
분석부(1620)는 모델의 분석 결과를 향상시키거나, 분석 결과의 제공을 위한 자원 또는 시간을 절약하기 위하여, 데이터 전처리부(1620-2) 및 데이터 선택부(1620-3)를 더 포함할 수도 있다.
데이터 전처리부(1620-2)는 상황 판단을 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 데이터 전처리부(1620-2)는 분석 결과 제공부(1620-4)가 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 정의된 포맷으로 가공할 수 있다.
데이터 선택부(1620-3)는 데이터 획득부(1620-1)에서 획득된 데이터 또는 데이터 전처리부(1620-2)에서 전처리된 데이터 중에서 상황 판단에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 분석 결과 제공부(1620-4)에게 제공될 수 있다. 데이터 선택부(1620-3)는 상황 판단을 위한 기 설정된 선별 기준에 따라, 획득되거나 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 데이터 선택부(1620-3)는 모델 학습부(1610-4)에 의한 학습에 의해 기 설정된 선별 기준에 따라 데이터를 선택할 수도 있다.
모델 갱신부(1620-5)는 분석 결과 제공부(1620-4)에 의해 제공되는 분석 결과에 대한 평가에 기초하여, 모델이 갱신되도록 제어할 수 있다. 예를 들어, 모델 갱신부(1620-5)는 분석 결과 제공부(1620-4)에 의해 제공되는 분석 결과를 모델 학습부(1610-4)에게 제공함으로써, 모델 학습부(1610-4)가 모델을 추가 학습 또는 갱신하도록 요청할 수 있다.
도 19는, 상술한 학습부(1610)와 분석부(1620)가 서로 다른 장치에서 구현된 실시 예를 설명하기 위한 도면이다.
도 19를 참조하면, 외부의 서버(200)는 학습부(1610)를 포함할 수 있고, 전자 장치(100)는 분석부(1620)를 포함할 수 있다. 전자 장치(100)와 서버(200)는 네트워크 상에서 서로 통신할 수 있다.
전자 장치(100)의 분석 결과 제공부(1620-4)는 데이터 선택부(1620-3)에 의해 선택된 데이터를 서버(200)에 의해 생성된 모델에 적용하여 분석 결과를 획득할 수 있다. 이 경우, 전자 장치(100)의 분석 결과 제공부(1620-4)는 서버(200)에 의해 생성된 모델을 서버(200)로부터 수신하고, 수신된 모델을 이용하여 전자 장치(100)의 사용자와 상대방과의 통화에서 적어도 하나의 키워드를 획득할 수 있다.
도 20은 본 개시의 다양한 실시 예에 따른, 인공지능 모델을 이용하는 네트워크 시스템의 흐름도이다.
도 20에서, 인공지능 모델을 이용하는 네트워크 시스템은 제1 구성 요소(2010) 및 제2 구성 요소(2020)를 포함할 수 있다.
여기서, 제1 구성 요소(2010)는 전자 장치(100)일 수 있다. 그리고 제2 구성 요소(2020)는 인공지능 모델이 저장된 서버가 될 수 있다. 또는, 제1 구성 요소(2010)는 범용 프로세서이고, 제2 구성 요소(2020)는 인공 지능 전용 프로세서가 될 수 있다. 또는, 제1 구성 요소(2010)는 적어도 하나의 어플리케이션이 될 수 있고, 제2 구성 요소(2020)는 운영 체제(operating system, OS)가 될 수 있다. 즉, 제2 구성 요소(2020)는 제1 구성 요소(2010)보다 더 집적화되거나, 전용화되거나, 딜레이(delay)가 작거나, 성능이 우세하거나 또는 많은 리소스를 가진 구성 요소로서 모델의 생성, 갱신 또는 적용 시에 요구되는 많은 연산을 제1 구성 요소(2010)보다 신속하고 효과적으로 처리 가능한 구성 요소가 될 수 있다.
제1 구성 요소(2010) 및 제2 구성 요소(2020) 간에 데이터를 송/수신하기 위한 인터페이스가 정의될 수 있다.
일 예로, 모델에 적용할 학습 데이터를 인자 값(또는, 매개 값 또는 전달 값)으로 갖는 API(application program interface)가 정의될 수 있다. API는 어느 하나의 프로토콜(예로, 전자 장치(100)에서 정의된 프로토콜)에서 다른 프로토콜(예로, 전자 장치(100)의 외부 서버에서 정의된 프로토콜)의 어떤 처리를 위해 호출할 수 있는 서브 루틴 또는 함수의 집합으로 정의될 수 있다. 즉, API를 통하여 어느 하나의 프로토콜에서 다른 프로토콜의 동작이 수행될 수 있는 환경을 제공될 수 있다.
도 20를 참고하면, 제1 구성 요소(2010)의 사용자는 다른 기기의 사용자와 통화를 수행할 수 있다(S2001).
제1 구성 요소(2010)는 사용자와 상대방 간의 통화 내용을 제2 구성 요소(2020)로 전송할 수 있다(S2003). 이 경우, 통화 음성을 포함한 오디오 데이터가 제2 구성 요소(2020)로 전송되거나, 또는 제1 구성 요소(2010)에서 음성을 텍스트로 변환하는 처리를 하여 제2 구성 요소(2020)로 변환된 텍스트를 전송할 수 있다.
제2 구성 요소(2020)는 학습된 인공지능 모델을 이용하여 통화에서 적어도 하나의 키워드를 획득할 수 있다(S2005). 키워드는 통화에 포함된 고유 명사 중 중요도가 높은 고유 명사일 수 있다. 중요도는 고유 명사의 빈도, 고유 명사가 속하는 카테고리에 대해 설정된 가중치 등을 바탕으로 결정될 수 있다.
제2 구성 요소(2020)는 통화에서 획득한 적어도 하나의 키워드를 제1 구성 요소(2010)로 전송할 수 있다(S2007).
제1 구성 요소(2010)는 수신한 적어도 하나의 키워드를 제공할 수 있다(S2009).
구체적으로, 제1 구성 요소(2010)는 수신된 키워드를 통화 화면 상에 제공할 수 있고, 사용자가 키워드를 선택하는 것에 대응하여 키워드를 이용한 다양한 기능을 수행할 수 있다. 상술한 바와 같이 검색 기능을 제공하거나, 메모 생성 기능을 제공할 수 있다.
또한 제1 구성 요소(2010)는 제2 구성 요소(2020)로부터 수신한 키워드를 바탕으로 추천 애플리케이션을 결정하고, 키워드와 연관시켜 추천 애플리케이션을 실행시킬 수 있다.
도 21은 본 개시의 일 실시 예에 따른 전자 장치의 제어방법을 설명하기 위한 흐름도이다. 도 21에 도시된 흐름도는 본 명세서에서 설명되는 전자 장치(100)에서 처리되는 동작들로 구성될 수 있다. 따라서, 이하에서 생략된 내용이라 하더라도 전자 장치(100)에 관하여 기술된 내용은 도 21 도시된 흐름도에도 적용될 수 있다.
도 21을 참고하면, 먼저, 전자 장치를 이용하여 다른 전자 장치의 사용자와 통화를 수행하는 동안 다른 전자 장치의 사용자와의 통화 내용에서 적어도 하나의 키워드를 획득한다(S2110).
그리고 획득된 적어도 하나의 키워드를 상기 통화가 수행되는 동안 표시한다(S2120).
이 경우, 통화 화면 상에 회득된 키워드들을 표시할 수 있다. 일 실시 예에 따르면, 키워드의 언급 빈도 및 마지막 언급 시점을 고려한 알고리즘에 따라 통화 화면 상에서 키워드가 자동으로 소멸될 수 있다.
또 다른 실시 예에 따르면, 통화 화면 상에서 키워드는 사용자 인터렉션(길게 클릭하여 휴지통에 보내기 등)으로 이동 및 소멸이 가능하다.
그리고 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드에 대한 검색 결과를 제공한다(S2130). 또는, 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드를 메모 애플리케이션에 저장할 수 있다.
사용자는 검색 또는 메모할 복수의 키워드를 지정할 수 있다. 예컨대, 최초 키워드를 터치한 뒤, 함께 검색 또는 메모하고 싶은 키워드를 순서대로 터치하여 지정할 수 있고, 전자 장치(100)는 마지막 키워드에서 롱 터치하면 키워드의 선택이 종료된 것으로 판단하여, 최초 선택된 키워드부터 마지막 선택된 키워드까지 세트로 결정하여 검색 또는 메모를 할지 여부를 문의하는 화면을 표시할 수 있다.
또한 전자 장치는 사용자가 통화 후 수행할 수 있는 시나리오를 예측하여 사용자에게 키워드를 이용한 작업 수행 여부 문의하는 UI를 표시할 수 있다. 그리고 UI가 선택되면, 사용자가 작업 수행에 동의하는 것으로 판단하여, API를 활용하여 키워드를 애플리케이션에 입력하는 작업을 자동으로 수행할 수 있다.
상술한 실시 예들에 따르면 사용자의 개입 없이 통화 중 추출된 키워드들로부터 개인화된 추천 정보를 능동적으로 제공할 수 있어서, 통화 중과 통화 후 사용자가 일일이 수행하던 일련의 과정을 대폭 줄여줄 수 있고, 따라서 효율성 및 사용자의 만족도가 증대될 수 있다. 또한, 통화 내용을 기반으로 하여 사용 맥락에 더욱 부합되는 서비스를 제공할 수 있다.
이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합으로 구현될 수 있다. 하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. 특히, 이상에서 설명된 다양한 실시 예들은 전자 장치(100)의 프로세서(130)에 의해 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장될 수 있는 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기(machine)는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들의 전자 장치(100)를 포함할 수 있다.
이러한 명령어가 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령어에 해당하는 기능을 수행할 수 있다. 명령어는 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 예컨대, 저장매체에 저장된 명령어가 프로세서에 의해 실행됨으로써, 상술한 전자 장치(100)의 제어방법이 실행될 수 있다. 일 예로, 저장매체에 저장된 명령어가 기기(또는 전자 장치)의 프로세서에 의해 실행됨으로써, 전자 장치를 이용하여 다른 전자 장치의 사용자와 통화를 수행하는 동안 다른 전자 장치의 사용자와의 통화 내용에서 적어도 하나의 키워드를 획득하는 단계, 상기 적어도 하나의 키워드를 상기 통화가 수행되는 동안 표시하는 단계 및 상기 표시된 적어도 하나의 키워드 중에서 사용자가 선택한 키워드에 대한 검색 결과를 제공하는 단계를 포함하는 제어방법이 수행될 수 있다.
기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어™, 앱스토어™)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치

Claims (21)

  1. 전자 장치의 제어방법에 있어서,
    상기 전자 장치를 이용하여 다른 전자 장치의 사용자와 통화를 수행하는 동안 상기 다른 전자 장치의 사용자와의 통화 내용에서 복수의 키워드를 획득하는 단계;
    상기 복수의 키워드를 상기 통화가 수행되는 동안 표시하는 단계;
    상기 다른 전자 장치의 사용자와의 통화 화면 상에 상기 복수의 키워드가 표시되는 동안 상기 복수의 키워드 중 적어도 두개의 키워드를 선택하는 드래그 입력이 수신되면, 상기 드래그 입력을 통해 선택된 적어도 두 개의 키워드를 하나의 키워드 세트로 결정하는 단계; 및
    상기 키워드 세트에 대한 검색 결과를 제공하는 단계;를 포함하는 제어방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 표시하는 단계는,
    상기 복수의 키워드를 각각 포함하는 복수의 원형의 UI 요소를 표시하는 제어방법.
  4. 제3항에 있어서,
    상기 다른 전자 장치의 사용자와의 통화에서 언급된 횟수에 따라 상기 복수의 키워드의 중요도를 결정하는 단계;를 더 포함하고,
    상기 표시하는 단계는,
    상기 결정된 상기 복수의 키워드의 중요도에 따라 상기 복수의 원형의 UI 요소의 크기를 다르게 표시하는 제어방법.
  5. 제1항에 있어서,
    상기 표시하는 단계는,
    상기 다른 전자 장치의 사용자와 통화에서 언급된 간격에 따라 상기 복수의 키워드의 배치 간격을 결정하고, 상기 결정된 배치 간격대로 상기 복수의 키워드를 표시하는 제어방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 키워드 세트에 대한 검색 기능에 대응하는 제1 UI 요소와 상기 키워드 세트에 대한 메모 기능에 대응하는 제2 UI 요소를 표시하는 단계;를 더 포함하고,
    상기 검색 결과를 제공하는 단계는,
    상기 제1 UI 요소가 선택되면 상기 키워드 세트에 대한 검색 결과를 제공하는 제어방법.
  8. 제7항에 있어서,
    상기 제2 UI 요소가 선택되면 상기 키워드 세트를 메모 애플리케이션에 저장하는 단계;를 더 포함하는 제어방법.
  9. 제1항에 있어서,
    상기 획득하는 단계는,
    학습된 인공 지능 모델을 이용하여 상기 다른 전자 장치의 사용자와의 통화 내용에서 상기 복수의 키워드를 획득하는 제어방법.
  10. 제1항에 있어서,
    상기 다른 전자 장치의 사용자와의 통화가 종료되면, 상기 획득된 복수의 키워드를 바탕으로 상기 전자 장치의 복수의 애플리케이션 중 추천 애플리케이션을 결정하는 단계; 및
    상기 결정된 추천 애플리케이션과 상기 획득된 복수의 키워드와 관련된 작업을 수행할 것인지를 문의하는 UI를 표시하는 단계;를 더 포함하는 제어방법.
  11. 전자 장치에 있어서,
    통신부;
    디스플레이;
    컴퓨터 실행가능 명령어(computer executable instructions)를 저장하는 메모리; 및
    상기 컴퓨터 실행가능 명령어를 실행함으로써,
    상기 전자 장치를 이용하여 다른 전자 장치의 사용자와 통화를 수행하는 동안 상기 다른 전자 장치의 사용자와의 통화 내용에서 복수의 키워드를 획득하고,
    상기 복수의 키워드를 상기 통화가 수행되는 동안 표시하도록 상기 디스플레이를 제어하고,
    상기 다른 전자 장치의 사용자와의 통화 화면 상에 상기 복수의 키워드가 표시되는 동안 상기 복수의 키워드 중 적어도 두개의 키워드를 선택하는 드래그 입력이 수신되면, 상기 드래그 입력을 통해 선택된 적어도 두 개의 키워드를 하나의 키워드 세트로 결정하고,
    상기 키워드 세트에 대한 검색 결과를 제공하는 프로세서;를 포함하는 전자 장치.
  12. 삭제
  13. 제11항에 있어서,
    상기 프로세서는,
    상기 복수의 키워드를 각각 포함하는 복수의 원형의 UI 요소를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 다른 전자 장치의 사용자와의 통화에서 언급된 횟수에 따라 상기복수의 키워드의 중요도를 결정하고, 상기 결정된 상기 복수의 키워드의 중요도에 따라 상기 복수의 원형의 UI 요소의 크기를 다르게 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  15. 제11항에 있어서,
    상기 프로세서는,
    상기 다른 전자 장치의 사용자와 통화에서 언급된 간격에 따라 상기 복수의 키워드의 배치 간격을 결정하고, 상기 결정된 배치 간격대로 상기 복수의 키워드를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  16. 삭제
  17. 제11항에 있어서,
    상기 프로세서는,
    상기 키워드 세트에 대한 검색 기능에 대응하는 제1 UI 요소와 상기 키워드 세트에 대한 메모 기능에 대응하는 제2 UI 요소를 표시하도록 상기 디스플레이를 제어하고, 상기 제1 UI 요소가 선택되면 상기 키워드 세트에 대한 검색 결과를 제공하는 전자 장치.
  18. 제17항에 있어서,
    상기 프로세서는,
    상기 제2 UI 요소가 선택되면 상기 키워드 세트를 메모 애플리케이션에 저장하는 전자 장치.
  19. 제11항에 있어서,
    상기 프로세서는,
    학습된 인공 지능 모델을 이용하여 상기 다른 전자 장치의 사용자와의 통화 내용에서 상기 복수의 키워드를 획득하는 전자 장치.
  20. 제11항에 있어서,
    상기 프로세서는,
    상기 다른 전자 장치의 사용자와의 통화가 종료되면, 상기 획득된 복수의 키워드를 바탕으로 상기 전자 장치의 복수의 애플리케이션 중 추천 애플리케이션을 결정하고, 상기 결정된 추천 애플리케이션과 상기 획득된 복수의 키워드와 관련된 작업을 수행할 것인지를 문의하는 UI를 표시하도록 상기 디스플레이를 제어하는 전자 장치.
  21. 삭제
KR1020180106303A 2018-09-06 2018-09-06 전자 장치 및 그의 제어방법 KR102608953B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180106303A KR102608953B1 (ko) 2018-09-06 2018-09-06 전자 장치 및 그의 제어방법
PCT/KR2019/011135 WO2020050554A1 (ko) 2018-09-06 2019-08-30 전자 장치 및 그의 제어방법
US17/255,605 US20210264905A1 (en) 2018-09-06 2019-08-30 Electronic device and control method therefor
US18/321,146 US20230290343A1 (en) 2018-09-06 2023-05-22 Electronic device and control method therefor
KR1020230168468A KR20230169016A (ko) 2018-09-06 2023-11-28 전자 장치 및 그의 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180106303A KR102608953B1 (ko) 2018-09-06 2018-09-06 전자 장치 및 그의 제어방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230168468A Division KR20230169016A (ko) 2018-09-06 2023-11-28 전자 장치 및 그의 제어방법

Publications (2)

Publication Number Publication Date
KR20200028089A KR20200028089A (ko) 2020-03-16
KR102608953B1 true KR102608953B1 (ko) 2023-12-04

Family

ID=69722580

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180106303A KR102608953B1 (ko) 2018-09-06 2018-09-06 전자 장치 및 그의 제어방법
KR1020230168468A KR20230169016A (ko) 2018-09-06 2023-11-28 전자 장치 및 그의 제어방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230168468A KR20230169016A (ko) 2018-09-06 2023-11-28 전자 장치 및 그의 제어방법

Country Status (3)

Country Link
US (2) US20210264905A1 (ko)
KR (2) KR102608953B1 (ko)
WO (1) WO2020050554A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7196122B2 (ja) * 2020-02-18 2022-12-26 株式会社東芝 インタフェース提供装置、インタフェース提供方法およびプログラム
JP7476645B2 (ja) * 2020-04-23 2024-05-01 富士フイルムビジネスイノベーション株式会社 携帯型情報端末及びプログラム
CN113079247A (zh) * 2021-03-24 2021-07-06 广州三星通信技术研究有限公司 关联服务提供方法和关联服务提供装置

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672845B2 (en) * 2004-06-22 2010-03-02 International Business Machines Corporation Method and system for keyword detection using voice-recognition
US7818117B2 (en) * 2007-06-20 2010-10-19 Amadeus S.A.S. System and method for integrating and displaying travel advices gathered from a plurality of reliable sources
KR101466027B1 (ko) * 2008-04-30 2014-11-28 엘지전자 주식회사 이동 단말기 및 그 통화내용 관리 방법
US8755511B2 (en) * 2008-09-08 2014-06-17 Invoca, Inc. Methods and systems for processing and managing telephonic communications
US8266148B2 (en) * 2008-10-07 2012-09-11 Aumni Data, Inc. Method and system for business intelligence analytics on unstructured data
KR101528266B1 (ko) * 2009-01-05 2015-06-11 삼성전자 주식회사 휴대 단말기 및 그의 응용프로그램 제공 방법
JP2011205238A (ja) * 2010-03-24 2011-10-13 Ntt Docomo Inc 通信端末及び情報検索方法
KR101798968B1 (ko) * 2011-03-30 2017-11-17 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
US9443518B1 (en) * 2011-08-31 2016-09-13 Google Inc. Text transcript generation from a communication session
KR101920019B1 (ko) * 2012-01-18 2018-11-19 삼성전자 주식회사 휴대단말기의 통화 서비스 장치 및 방법
US8522130B1 (en) * 2012-07-12 2013-08-27 Chegg, Inc. Creating notes in a multilayered HTML document
US20140164923A1 (en) * 2012-12-12 2014-06-12 Adobe Systems Incorporated Intelligent Adaptive Content Canvas
US9569083B2 (en) * 2012-12-12 2017-02-14 Adobe Systems Incorporated Predictive directional content queue
KR102057558B1 (ko) * 2013-03-06 2019-12-19 엘지전자 주식회사 이동 단말기 및 그것의 제어 방법
US8537983B1 (en) * 2013-03-08 2013-09-17 Noble Systems Corporation Multi-component viewing tool for contact center agents
US10235042B2 (en) * 2013-03-15 2019-03-19 Forbes Holten Norris, III Space optimizing micro keyboard method and apparatus
KR20150134087A (ko) * 2014-05-21 2015-12-01 삼성전자주식회사 전자 장치 및 전자 장치에서 데이터를 추천하는 방법
KR20160043588A (ko) * 2014-10-13 2016-04-22 삼성전자주식회사 컨텐츠 서비스 제공 방법 및 장치
KR20160043842A (ko) * 2014-10-14 2016-04-22 엘지전자 주식회사 이동 단말기
WO2016090928A1 (zh) * 2014-12-09 2016-06-16 华为技术有限公司 一种处理信息的方法及装置
KR101665969B1 (ko) * 2015-03-25 2016-10-13 주식회사 카카오 인터랙션을 통해 키워드를 검색하는 단말, 서버 및 방법
CN106126514B (zh) * 2015-05-06 2020-11-20 可可株式会社 与搜索有关的消息服务器提供方法及服务器和用户终端
JP6805552B2 (ja) * 2016-05-26 2020-12-23 コニカミノルタ株式会社 情報処理装置及びプログラム
EP3438852B1 (en) * 2016-07-21 2023-03-15 Samsung Electronics Co., Ltd. Electronic device and control method thereof
WO2018117685A1 (en) * 2016-12-23 2018-06-28 Samsung Electronics Co., Ltd. System and method of providing to-do list of user
WO2019038749A1 (en) * 2017-08-22 2019-02-28 Subply Solutions Ltd. METHOD AND SYSTEM FOR PROVIDING RE-SEGMENTED AUDIO CONTENT
CN111615696A (zh) * 2017-11-18 2020-09-01 科奇股份有限公司 用于相关性检测和审阅的内容的交互式表示
CN111813828B (zh) * 2020-06-30 2024-02-27 北京百度网讯科技有限公司 一种实体关系挖掘方法、装置、电子设备及存储介质
US11990125B2 (en) * 2021-06-21 2024-05-21 Kyndryl, Inc. Intent driven voice interface

Also Published As

Publication number Publication date
US20230290343A1 (en) 2023-09-14
KR20200028089A (ko) 2020-03-16
WO2020050554A1 (ko) 2020-03-12
KR20230169016A (ko) 2023-12-15
US20210264905A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
US11671386B2 (en) Electronic device and method for changing chatbot
US11575783B2 (en) Electronic apparatus and control method thereof
US11954150B2 (en) Electronic device and method for controlling the electronic device thereof
US11721333B2 (en) Electronic apparatus and control method thereof
US10970900B2 (en) Electronic apparatus and controlling method thereof
KR102389996B1 (ko) 전자 장치 및 이를 이용한 사용자 입력을 처리하기 위한 화면 제어 방법
KR20230169016A (ko) 전자 장치 및 그의 제어방법
US20200133211A1 (en) Electronic device and method for controlling electronic device thereof
US11153426B2 (en) Electronic device and control method thereof
US11481551B2 (en) Device and method for providing recommended words for character input
US20220375478A1 (en) Electronic device and control method thereof
US20240095143A1 (en) Electronic device and method for controlling same
KR20200115695A (ko) 전자 장치 및 이의 제어 방법
US11817097B2 (en) Electronic apparatus and assistant service providing method thereof
KR102449350B1 (ko) 재고 관리 서비스를 제공하는 시스템 및 그 동작 방법
CN112585911B (zh) 电子装置及其控制方法
KR102438132B1 (ko) 전자 장치 및 그의 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant