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

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

Info

Publication number
KR20220040997A
KR20220040997A KR1020210122742A KR20210122742A KR20220040997A KR 20220040997 A KR20220040997 A KR 20220040997A KR 1020210122742 A KR1020210122742 A KR 1020210122742A KR 20210122742 A KR20210122742 A KR 20210122742A KR 20220040997 A KR20220040997 A KR 20220040997A
Authority
KR
South Korea
Prior art keywords
natural language
utterance
identified
screen
database
Prior art date
Application number
KR1020210122742A
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 PCT/KR2021/012839 priority Critical patent/WO2022065837A1/en
Priority to US17/452,510 priority patent/US20220093098A1/en
Publication of KR20220040997A publication Critical patent/KR20220040997A/ko

Links

Images

Classifications

    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3343Query execution using phonetics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • 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
    • 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/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination

Landscapes

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

Abstract

전자 장치의 제어 방법이 개시된다. 제어 방법은, 전자 장치의 화면에 포함된 적어도 하나의 UI(User Interface) 요소의 특성을 식별하는 단계, 식별된 UI 요소의 상기 적어도 하나의 특성에 기초하여 획득된 자연어(Natural Language) 발화를 포함하는 데이터베이스를 획득하는 단계, 음성 입력이 수신되면, 수신된 음성 입력의 발화가 상기 획득된 데이터 베이스에 포함된 자연어 발화와 매칭되는지 여부를 식별하는 단계 및 음성 입력의 발화가 자연어 발화와 매칭되는 것으로 식별되면, 적어도 하나의 UI 요소를 자동으로 액세스하는 단계를 포함한다.

Description

전자 장치 및 그 제어 방법{ Electronic apparatus and control method thereof }
본 개시는 전자 장치 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 UI를 제공하는 전자 장치 및 그 제어 방법에 관한 것이다. 본 개시는 2020년 9월 23일에 출원된 인도 가출원 번호 202041041137에 근거하여 우선권을 주장하며, 그 중 개시 5는 내용은 본 문서에 참조로 포함된다.
일반적으로 전자 장치(예: 스마트 TV, 스마트폰 등)는 새로운 애플리케이션(예: Netflix, YouTube 등과 같은 스트리밍 비디오 애플리케이션)이 등장함에 따라 점점 더 강력해지고 정교해지고 있다. 비디오 애플리케이션의 채널 목록에 액세스하는 대신, 사용자는 여러 애플리케이션을 탐색할 수 있다. 각 애플리케이션에는 레이아웃 및 특성/기능이 있다. 이러한 발전에도 불구하고 터치 화면, 키보드, 리모콘 또는 마우스가 있는 전자 장치를 사용하는 것은 여전히 이례적이다. 지배적인 액세스 방식은 입력 범위가 제한되고 텍스트 입력 및 세분화된 탐색 또는 선택에 대한 지원이 부적절한 전자 장치와의 인터렉션을 계속하고 있다.
기존 방법/전자 장치 중 일부는 인터페이스 복잡성과 원격 제어 기능 간의 격차를 해소할 수 있는 여러 실행 가능한 방법을 제공한다. 음성 인식 기술이 그 중 하나이다. Alexa, Siri 및 Google Assistant와 같은 지능형 음성 에이전트/기능이 전자 장치에 통합되어 사용자가 음성 입력을 통해 전자 장치에서 액세스할 수 있는 점점 더 정교한 애플리케이션 모음을 관리할 수 있다. 예를 들어 "자비스, 좋은 아침"이라는 문구/명령/음성 입력은 사용자가 아침 루틴을 시작하도록 한다. 음성 입력을 받으면 지능형 음성 에이전트/지원은 조명을 켜고 날씨 관련 정보를 제공하고 뉴스 브리핑을 하고 커피 머신을 가동한다. 사용자는 전자 장치를 제어하기 위해 특정 문구/명령어를 암기해야 한다. 사용자는 전자 장치를 제어하기 위해 특정 문구/명령어를 암기해야 하는데, 특정 문구/명령어가 가전/전자 기기/IoT 기기와 대화하는 것이 약간 부자연스러워(예: 내일 [시간]에 [위치]에서 [이름]과 회의 일정 잡기) 이는 기술자가 아닌 사용자에게는 다소 어렵다.
기존 방법(2)/전자 장치(10)는 도 1에 도시된 바와 같이 인터페이스 복잡성과 원격 제어 기능 간의 격차를 줄이기 위한 방안을 제공한다. 예를 들어, 사용자(1)는 해당 UI에 표시된 특정 숫자를 발화함으로써 비디오 애플리케이션의 UI 요소(예: 비디오)에 액세스할 수 있다. 사용자(1)가 전자 장치(10)의 화면에 표시된 제3 비디오에 액세스하기를 원하는 다음 시나리오를 고려해야 한다. 비디오를 재생/액세스하려면 사용자(1)는 “3번 비디오 재생"과 같은 특정 음성 명령을 발화해야 한다. 그러나 전자 장치(10)의 화면에 표시되는 UI 요소에 액세스하기 위해서는 사용자(1)가 전자 장치(10)에 가까이 있어야 UI 요소의 이름 또는 수를 읽을 수 있으나, 이는 항상 실행 가능한 것은 아니다. 또한 특정 음성 명령을 발화하는 것은 UI 요소에 액세스/호출하는 자연스러운 방법이 아니다. 또한, 사용자(1)는 전자 장치(10)의 화면에 표시되지 않는 이 비디오 애플리케이션의 하위 기능 또는 하위 페이지에 액세스할 수 없다.
도 1에 도시된 바와 같이, 다른 기존 방법(3)/전자 장치(10)는 인터페이스 복잡성과 원격 제어 기능 간의 격차를 줄이기 위한 방안을 제공한다. 예를 들어, 사용자(1)는 "이름 표시" 라고 발화하여 UI 요소 이름이 있는 오버레이를 표시하거나 "이름 표시" 라고 발화하여 UI 요소 이름이 있는 오버레이를 표시하여 소셜 미디어 애플리케이션의 UI 요소 (예: 검색창, 홈 아이콘, 좋아요 버튼, 공유 버튼 등)에 액세스할 수 있다. UI 요소에 이름이 없거나 사용자(1)가 대신 숫자를 사용하는 것을 선호하는 경우, 사용자(1)는 "숫자 표시" 라고 말하여 전자 장치(10)의 화면에 각 UI 요소에 대한 숫자 태그를 표시할 수 있다. 그러나, 사용자(1)는 이 방법(3)을 사용하여 전자 장치(10)의 화면에 표시되는 UI 요소에만 액세스할 수 있다. 사용자(1)는 전자 장치(10)의 화면에 표시되지 않는 이 소셜 미디어 애플리케이션의 하위 기능 또는 하위 페이지에 액세스할 수 없다. 또한, 전자 장치(10)의 화면에 표시된 UI 요소에 액세스하려면 사용자(1)가 전자 장치(10)에 가까이 있어야 UI 요소의 이름 또는 숫자를 읽을 수 있으며, 이는 항상 실행 가능한 것은 아니다.
다른 예시로, 사용자(1)가 도 1에 도시된 바와 같이 검색 페이지에 액세스하기를 원하는 시나리오를 고려해야 한다. 일부 기존 방법(4)/전자 장치(10)는 일반적으로 제한된 제어 및 검색 지침 세트를 제공하고 더 깊은 추천 또는 탐색 쿼리를 지원하지 않는다. 표 1은 제한된 제어 세트의 예를 나타낸다.
Figure pat00001
이에 따라 음성 입력/음성 기반 인터렉션을 이용하여 전자 장치의 UI 요소에 자동으로 액세스하기 위한 유용한 대안을 제공하는 것이 필요하다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 실시 예에 따르면 사용자의 음성 입력이 적어도 하나의 식별된 UI 요소의 예측 자연어(Natural Language, NL) 발화와 일치하는 경우, 전자 장치의 화면에 표시된 적어도 하나의 식별된 UI 요소(예: 실행 가능한 UI 요소, 실행 불가능한 UI 요소, 텍스트 UI 요소 및 비-텍스트 UI 요소)에 자동으로 액세스할 수 있다. 그 결과, 사용자는 자연어를 활용하여 식별된 다양한 UI 구성 요소에 액세스하고 사용자 경험을 향상시킬 수 있다. 자연어 발화는 적어도 하나의 식별된 UI 요소의 특성(예: 상대적 위치, 성능, 기능, 타입, 모양 등)을 기반으로 데이터베이스/지식 그래프를 획득하여 예측될 수 있다. 사용자의 음성 입력에는 데이터베이스에 나타난 적어도 하나의 식별된 UI 요소의 특성에 대한 발화가 포함된다.
본 개시의 실시 예에 따르면, 다른 UI 요소들 중 적어도 하나의 UI 요소에서 각 UI 요소들 간의 유사도를 결정하여 지식 그래프를 획득할 수 있다. 각 UI 요소 간의 유사도는 각 UI 요소의 위치, 다른 UI 요소 중 각 UI 요소의 상대적 위치, 각 UI 요소의 성능, 각 UI 요소의 기능 및 전자 장치의 화면에 표시되는 각 UI 요소의 모양에 따라 결정될 수 있다.
본 개시의 실시 예에 따르면, 유사도에 기초하여 적어도 하나의 UI 요소의 각 UI 요소를 클러스터링할 수 있다. 나아가, 전자 장치는 가시적 특성(예: 하트 모양 아이콘) 및 다른 UI 요소 중 각 UI 요소의 상대적 위치로부터 텍스트가 아닌 UI 요소의 텍스트 표현을 결정할 수 있다. 또한, 전자 장치는 적어도 하나의 각 UI 요소 사이에 기 정의된 정보(예: 성능(누르기, 복사), 동사(예: 탭, 펀치, 클릭, 복사 및 복제), 타입(예: 버튼, 텍스트))를 매핑하고, 실행 가능한 UI 요소를 통해 전환되는 미리 정의된 화면 순서를 결정할 수 있다.
본 개시의 실시 예에 따르면, 획득된 지식 그래프에 대한 시맨틱 변환을 수행하여 싱글 스텝(single-step) 의도 및/또는 멀티 스텝(multi-step) 의도에 대한 자연어 변형을 획득하는 것이다. 또한, 전자 장치는 획득된 지식 그래프를 사용하여 싱글 스텝 의도 및/또는 다중 스텝 의도에 대한 동작 및 액션 시퀀스를 식별하고, 획득된 자연어 변형을 식별된 액션 및 식별된 액션 시퀀스와 매핑함으로써 적어도 하나의 식별된 UI 요소에 대응되는 자연어 발화를 예측하기 위해 자연어 모델을 동적으로 획득한다. 그 결과, 사용자는 전자 장치의 화면에 표시되지 않은 애플리케이션/UI 요소의 하위 기능 또는 하위 페이지에 액세스하여 사용자 경험을 향상시킬 수 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 전자 장치의 음성 기반 인터렉션 방법은, 전자 장치의 화면에 디스플레이된 적어도 하나의 유저 인터페이스(UI) 요소를 식별하는 단계, 적어도 하나의 식별된 UI 요소의 특성을 판단하는 단계, 적어도 하나의 식별된 UI 요소의 적어도 하나의 특성에 기초하여 데이터베이스를 획득하는 단계, 상기 데이터베이스는 적어도 하나의 식별된 UI 요소들에 대응되는 자연어(NL) 발화를 포함하고, 자연어 발화은 적어도 하나의 식별된 UI 요소들의 적어도 하나의 특성에 기초하여 예측되는 것을 특징으로 하며, 전자 장치의 사용자로부터 음성 입력을 수신하는 단계, 상기 음성 입력은 전자 장치의 화면 상에 디스플레이된 적어도 하나의 식별된 UI 요소들의 적어도 하나의 특성을 나타내는 발화를 포함하며, 수신된 음성 입력의 발화가 획득된 데이터 베이스 내의 적어도 하나의 자연어 발화과 매칭되는지 여부를 결정하는 단계, 및 전자 장치에 의하여, 사용자로부터 수신된 음성 입력의 발화들이 적어도 하나의 식별된 UI 요소들의 예측된 자연어 발화과 매칭되는 것으로 판단되면, 적어도 하나의 UI 요소들 중 적어도 하나의 UI 요소를 자동으로 액세스하는 단계를 포함한다.
일 실시 예에 따르면, 적어도 하나의 UI 요소들은 실행 가능한 UI 요소, 실행 불가능한 UI 요소, 텍스트 UI 요소, 및 비-텍스트 UI 요소 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따르면, 상기 데이터베이스를 획득하는 단계는 지식 그래프를 획득하는 단계 및 획득된 지식 그래프를 데이터베이스에 저장하는 단계를 더 포함한다. 지식 그래프는 각 UI 요소의 위치, 다른 UI 요소 간의 각 UI 요소의 상대적 위치, 각 UI 요소의 함수, 각 UI 요소의 타입, 전자 장치의 화면에 표시되는 각 UI 요소의 모양에 의해 획득된다. 또한, 본 방법은 각 UI 요소의 위치, 다른 UI 요소 중 각 UI 요소의 상대적 위치, 각 UI 요소의 기능, 각 UI 요소의 기능 및 전자 장치의 스크린 상에 디스플레이된 각 UI 요소의 외형에 기초하여 다른 UI 요소 중 적어도 하나의 UI 요소의 각 UI 요소 간의 유사도를 결정하는 단계를 포함한다. 또한, 본 방법은 유사도에 기초하여 적어도 하나의 UI 요소들의 각 UI 요소를 클러스터링하는 단계를 포함한다. 또한, 본 방법은 가시적 특성으로부터의 비-텍스트 UI 요소의 텍스트 표현 및 다른 UI 요소들 중 각 UI 요소의 상대적 위치를 결정하는 단계를 포함한다. 또한, 이 방법은 적어도 하나의 UI 요소들의 각 UI 요소 및 각 UI 요소의 기능에 대응되는 기 정의된 정보를 매핑하는 단계를 포함한다. 또한, 상기 방법은 상기 실행 가능한 UI 요소를 통해 전이된 미리 정의된 스크린 시퀀스를 결정하는 단계를 포함한다.
상기 적어도 하나의 식별된 UI 요소들의 자연어 발화를 예측하는 단계는 싱글 스텝 의도 및 멀티 스텝 의도 중 적어도 하나에 대한 자연어 변형들을 획득하기 위해 획득된 지식 그래프에 대한 의미 변환을 수행하는 단계, 획득된 지식 그래프를 사용하여 적어도 하나의 싱글 스텝 의도 및 멀티 스텝 의도에 대한 액션 및 액션 시퀀스 중 적어도 하나를 식별하는 단계, 획득된 자연어 변형들을 적어도 하나의 식별된 액션 및 적어도 하나의 식별된 액션 시퀀스와 맵핑함으로써 적어도 하나의 식별된 UI 요소들의 자연어 발화를 예측하기 위한 자연어 모델을 동적으로 획득하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 시맨틱 번역을 수행하는 단계는 획득된 지식 그래프를 수신하는 단계, 수신된 지식 그래프 각 UI 요소를 전자 장치의 화면 상의 도메인, 동사, 동의어, 슬롯, 슬롯 타입, 텍스처로 표현된 슬롯, 성능, 및 상대 위치 중 적어도 하나로 카테고리화하는 단계 및, 카테고리화에 기초하여 자연어 변형들을 획득하는 단계를 포함할 수 있다.
일 실시 예에 따르면, 상기 적어도 하나의 싱글 스텝 의도와 멀티 스텝 의도에 대한 상기 액션 및 상기 액션 시퀀스 중 적어도 하나를 식별하는 단계는 획득된 지식 그래프를 수신하는 단계 및 각 UI 요소의 성능에 기초하여 액션 루틴들을 결정하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 상기 자연어 모델을 동적으로 획득하는 단계는, 상기 획득된 자연어 변형들 및 상기 적어도 하나의 식별된 액션을 맵핑함으로써 적어도 하나의 식별된 UI 요소들의 자연어 발화를 예측하기 위해 상기 자연어 모델을 동적으로 획득하는 단계를 포함할 수 있다. 상기 적어도 하나의 식별된 액션 시퀀스는 유사한 자연어 변형들을 클러스터링하는 단계, 유사한 자연어 변형들에 대한 동적 의도를 할당하는 단계, 상기 적어도 하나의 식별된 액션 및 상기 적어도 하나의 식별된 액션 시퀀스와 상기 동적 의도를 연관시키는 단계, 상기 클러스터링된 자연어 변형, 상기 동적 의도, 및 상기 액션 루틴들에 기초하여 상기 자연어 모델을 동적으로 획득하는 단계 및 동적으로 획득된 자연어 모델을 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
일 실시 예에 따르면, 상기 수신된 음성 입력의 발화들이 상기 적어도 하나의 식별된 UI 요소들의 예측된 자연어 발화과 매칭하는지 여부를 결정하는 단계는, 스크린(140) 상에 디스플레이된 텍스트 표현/텍스트 UI 요소의 형태의 스크린 정보를 판독함으로써 텍스트 표현 스코어를 결정하는 단계, 텍스트 표현/텍스트 UI 요소로부터 동사 및 명사에 대한 동의어를 추출하고, 동의어 스코어를 할당하는 단계, 동적 언어 생성기를 가중 학습하는데 이용되는 자연어 변형들을 연관시키는 분산 스코어를 결정하는 단계, 수신된 음성 입력의 발화에 언급된 참조 오브젝트들과 근처의 요소 정보를 비교함으로써 관련성 스코어를 결정하는 단계, 및 동적 언어 생성기에 대해 수신된 음성 입력의 발화와 매칭되는 최종 스코어로서 매칭 스코어를 결정하는 단계, 및 결정된 스코어를 관련성 스코어와 결합하는 단계를 포함할 수 있다. 매칭 스코어는 동작이 실행될 타겟 요소(즉, UI 요소)를 결정한다. 유사한 스코어들의 경우, 사용자는 충돌하는 요소들 중에서 선택하기 위한 옵션을 제시한다.
일 실시 예에 따르면, 상기 적어도 하나의 식별된 UI 요소들의 적어도 하나의 특성은 각 UI 요소의 위치를 포함하고, 다른 UI 요소 중 각 UI 요소의 상대적인 위치, 각 UI 요소의 기능, 각 UI 요소의 성능, 각 요소의 타입, 및 전자 장치의 화면 상에 디스플레이되는 각 UI 요소의 외형을 포함할 수 있다.
본 개시의 실시 예들에서 제공되는 음성-기반 인터렉션 전자 장치는 메모리와 상기 프로세서에 동작 가능하게 연결된 인터렉션 엔진을 포함한다. 상기 인터렉션 엔진은 전자 장치의 화면에 디스플레이된 적어도 하나의 유저 인터페이스 (UI) 요소를 식별하고, 적어도 하나의 식별된 UI 요소의 특성을 식별하고, 적어도 하나의 식별된 UI 요소의 적어도 하나의 특성에 기초하여 데이터베이스를 획득하고, 상기 데이터베이스는 적어도 하나의 식별된 UI 요소들에 대응되는 자연어(NL) 발화들을 포함하고, 자연어 발화는 적어도 하나의 식별된 UI 요소들의 적어도 하나의 특성에 기초하여 예측되며, 전자 장치의 사용자로부터 음성 입력을 수신하고, 상기 음성 입력은 전자 장치의 화면 상에 디스플레이된 적어도 하나의 식별된 UI 요소들의 적어도 하나의 특성을 나타내는 발화를 포함하며, 수신된 음성 입력의 발화가 획득된 데이터베이스 내의 적어도 하나의 자연어 발화과 매칭되는지 여부를 결정하고, 사용자로부터 수신된 음성 입력의 발화들이 적어도 하나의 식별된 UI 요소들의 예측된 자연어 발화과 매칭되는 것으로 판단되면, 적어도 하나의 UI 요소들 중 적어도 하나의 UI 요소를 자동으로 액세스하는 것을 특징으로 한다.
일 실시 예에서, 우선 순위(priority)는 전자 장치에 공급되는 특정 우선순위 규칙들에 기초하여 충돌하는 명령들 사이에서 결정된다(예, Go to Home.) 여기서, 홈(home)은 어플리케이션 홈(home) 또는 시스템 홈(system home) 을 의미할 수 있다.
도 1은 관련 기술을 설명하기 위한 도면이다.
도 2a 및 도 2b는 일 실시 예에 따른 전자 장치의 구성을 나타내는 도면들이다.
도 3은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시 예에 따른 모델을 동적으로 구축하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시 예에 따른 모델을 동적으로 구축하는 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시 예에 따른 스코어 시스템을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따른 모델을 동적으로 구축하는 예시 시나리오를 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 관련 기술과 제안된 방법 간 차이를 설명하기 위한 도면이다.
도 9a 내지 도 9c는 일 실시 예에 따른 자연어 합성기와 관련된 기능을 설명하기 위한 도면들이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 컴포넌트 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "연결되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 컴포넌트 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 적어도 하나의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 컴포넌트 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
이하에서 설명되는 실시 예들 및 그에 따른 다양한 특징 및 이점들은 첨부 도면에서 도시된 비제한적 실시 예들을 참조하여 아래 발명의 상세한 설명과 함께 보다 상세히 설명하도록 한다. 공지된 컴포넌트 및 프로세스 기술에 대한 구체적인 설명이 아래 실시 예들의 요지를 흐리게 하지 않도록 그 상세한 설명을 생략한다. 또한, 아래에서 설명된 다양한 실시 예들은 반드시 상호 배타적일 필요가 없으며, 일부 실시 예들은 다른 적어도 하나의 실시 예들과 결합되어 새로운 실시 예를 형성할 수 있다. 이하에서 사용된 용어 "또는"은 문맥상 명백하게 다르게 뜻하지 않는 한, 비-배타적인 것 또는 배타적인 것을 의미할 수 있다. 이하에서 사용된 예시들은 단지 아래 실시 예들이 실시될 수 있는 방법의 이해를 돕고, 당업자가 아래 실시 예들을 실시 가능하도록 사용된다. 따라서, 예시들은 아래 실시 형태에 대해 한정하려는 것이 아닌 것으로 이해되어야 한다.
해당 분야에 관행으로, 실시 예들은 설명된 기능 또는 기능들을 수행하는 블록에 관하여 설명되고 도시될 수 있다. 이런 블록은, 매니저, 유닛, 모듈, 하드웨어 컴포넌트 등의 의미를 가지며, 로직 게이트, 직접 회로, 마이크로프로세서, 마이크로컨트롤러, 메모리 회로, 수동적 전자 컴포넌트, 능동적 전자 컴포넌트, 광학의 컴포넌트, 하드와이어에 내장된 회로, 등과 같은 아날로그 및/또는 디지털 회로들에 의해 물리적으로 구현되며, 펌웨어에 의해 선택적으로 구동될 수 있다. 회로는, 예를 들어, 적어도 하나의 반도체 칩 또는 인쇄 회로 기판과 같은 기판 서포트 상에 구현 가능하다. 블록을 구성하는 회로들은 전용 하드웨어, 또는 프로세서(예를 들어, 적어도 하나의 프로그램 된 마이크로프로세서 및 관련 회로)에 의해 구현 가능하거나, 블록의 일부 기능을 수행하기 위한 전용 하드웨어의 조합 및 블록의 다른 기능들을 수행하기 위한 프로세서에 의해 수행 가능하다. 실시 예의 각 블록은 본 개시에 기재된 권리 범위를 벗어나지 않으면서 둘 이상의 인터렉션하고 별개인 블록들로 물리적으로 분리 가능하다. 마찬가지로, 실시 예의 블록들은 본 문서에 기재된 권리 범위를 벗어나지 않으면서 더 많은 복합 블록들로 물리적 결합이 가능하다.
따라서, 이하에서 설명되는 실시 예들은 전자 장치의 음성 기반 인터렉션을 위한 방법을 설명한다. 방법은, 전자 장치의 화면에 표시된 적어도 하나의 UI 요소들을 식별하고, 식별된 적어도 하나의 UI 요소들의 특성을 식별하고, 식별된 적어도 하나의 UI 요소들의 특성을 기초로 데이터베이스를 획득한다. 데이터베이스는 식별된 적어도 하나의 UI 요소들의 자연어 발화들을 포함하며, 자연어 발화는 식별된 적어도 하나의 UI 요소들의 최소 하나의 특징을 기초로 예측된다.
또한, 방법은, 전자 장치의 사용자로부터 음성 입력을 수신하고, 음성 입력은 데이터베이스에 저장된 적어도 하나의 UI 요소들의 특성들을 나타낼 수 있다. 또한, 수신된 음성 입력의 발화가 식별된 적어도 하나의 UI 요소들의 예측된 자연어 발화과 매칭되는지 여부를 결정하고, 사용자로부터 수신된 음성 입력의 발화들이 식별된 적어도 하나의 UI 요소들의 예측된 자연어 발화과 일치하는 것으로 식별되면, 적어도 하나의 UI 요소들 중 UI 요소에 자동으로 액세스(또는 접근 또는 실행)하는 단계를 포함할 수 있다.
따라서, 이하에서 설명되는 실시 예들은 음성 기반 인터렉션을 위한 전자 장치를 제공한다. 전자 장치는 프로세서 및 메모리와 결합된 인터렉션 엔진을 포함한다. 인터렉션 엔진은 전자 장치의 화면에 표시된 적어도 하나의 UI 요소들을 식별한다. 또한, 인터렉션 엔진은 식별된 적어도 하나의 UI 요소들의 특성을 결정한다. 또한, 인터렉션 엔진은 식별된 적어도 하나의 UI 요소들의 특성을 기초로 데이터베이스를 획득하여 식별된 적어도 하나의 UI 요소들의 자연어 발화를 예측한다. 또한, 인터렉션 엔진은 전자 장치의 사용자로부터 음성 입력을 수신하고, 음성 입력은 데이터베이스에 제시된 식별된 적어도 하나의 UI 요소들의 특성을 가리키는 발화를 포함한다. 또한, 인터렉션 엔진은 수신된 음성 입력의 발화가 식별된 적어도 하나의 UI 요소들의 자연어 발화과 매칭되는지 여부를 결정한다. 또한, 인터렉션 엔진은 사용자로부터 수신된 음성 입력의 발화들이 식별된 적어도 하나의 UI 요소들의 예측된 자연어 발화와 매칭되는 경우 UI 요소들 중 적어도 하나의 UI 요소들에 자동으로 액세스(또는 실행)한다.
종래 방식과 달리, 제안된 방법은 식별된 적어도 하나의 UI 요소들의 예상된 자연어 발화와 일치할 경우, 화면에 표시된 식별된 적어도 하나의 UI 요소(예를 들어, 실행 가능한(actionable) UI 요소, 실행불가능한(non-actionable) UI 요소, 텍스트 UI 요소 및 비-텍스트(non-textual) UI 요소)에 자동으로 액세스 가능하게 한다. 그로 인해, 사용자는 자연어를 활용하여 식별된 다양한 UI 컴포넌트들에 액세스할 수 있고 이에 따라 사용자의 경험이 향상될 수 있다. 자연어 발화는 식별된 적어도 하나의 UI 요소들의 특성(예를 들어, 상대적 위치, 성능, 기능, 종류, 형상, 등)을 기초로 데이터베이스/지식 그래프를 획득하여 예측된다. 사용자의 음성 입력은 데이터베이스에 존재하는 식별된 적어도 하나의 UI 요소들의 특성의 발화를 포함할 수 있다.
종래의 방식과 달리, 제안된 방법은 다른 UI 요소들 중 적어도 하나의 UI 요소와 각 UI 요소 간의 유사도를 결정하고, 유사도에 기초하여 적어도 하나의 UI 요소들 중 각 UI 요소를 클러스터링하고, 가시적 특징들로부터 비-텍스트 UI 요소들의 텍스트 표현 및 다른 UI 요소들 중 각 UI 요소의 상대적 위치를 결정하고, 적어도 하나의 UI 요소들 중 각 UI 요소 간의 기 정의된 정보 및 대응되는 각 UI 요소들의 성능을 맵핑하고, 실행 가능한 UI 요소를 통해 전환된 기 정의된 화면 시퀀스를 결정하여 지식 그래프를 획득할 수 있다. 다른 UI 요소들 중에서 적어도 하나의 UI 요소와 각 UI 요소 간의 유사도는 각 UI 요소의 위치, 다른 UI 요소들 중에서 각 UI 요소의 상대적 위치, 각 UI 요소의 기능, 각 UI 요소의 성능, 화면에 표시된 각 UI 요소의 외형(또는 형상)을 기초로 결정된다.
종래의 방식과 달리, 제안된 방법은 획득된 지식그래프에 대한 시맨틱 번역을 수행하여 싱글 스텝 의도 및/또는 멀티 스텝 의도를 위해 자연어 변형을 획득한다. 더욱이, 전자 장치는 획득된 지식 그래프를 사용하여 싱글 스텝 의도 및/또는 멀티 스텝 의도를 위한 액션(action) 및 액션 시퀀스를 식별하고, 식별된 액션 및 식별된 액션 시퀀스로 자연어 변형을 맵핑하여 자연어 모델을 동적으로 획득하여 식별된 적어도 하나의 UI 요소들을 예측한다. 그 결과, 사용자는 전자 장치의 화면에는 표시되지 않고 사용자의 경험을 향상시켜주는 표시된 어플리케이션/UI 요소의 하위 기능 또는 하위-페이지에 액세스할 수 있다.
보다 자세하게 도 2a 내지 도 9c를 참조하면, 유사 도면 부호는 도면에서 일관성 있게 대응되는 특징을 표시하도록 실시 예에 나타내고 있다.
도 2a는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
전자 장치(100)는, 예를 들어, TV, 스마트폰, 태블릿, 랩탑, 오브젝트의 인터넷 (IoT) 장치, 스마트 글래스, 스마트 워치 등일 수 있지만, 이에 한정되는 것은 아니다. 일 실시 예에 따르면, 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함함한다.
메모리(110)는 식별된 적어도 하나의 UI 요소들 및 데이터베이스/지식 그래프의 특징, 식별된 적어도 하나의 UI 요소들의 특성을 저장한다. 또한, 메모리(110)는 프로세서(120)에 의해 실행되는 인스트럭션들을 저장한다. 메모리(110)는 비-휘발성 저장 요소들을 포함할 수 있다. 이런 비-휘발성 저장 요소들의 예시로서, 자력 하드 디스크들, 광학 디스크들, 플로피 디스크들, 플래시 메모리들, 또는 전기적으로 프로그램 가능한 메모리(EPROM) 또는 전기적으로 삭제가 가능하며 프로그래밍이 가능한 메모리(EEPROM)를 포함할 수 있다. 또한, 메모리(110)는 일부 예시에서, 비-일시적 저장 매체일 수도 있다. 여기서 단어 "비-일시적"이란 저장 매체가 반송파(carrier wave) 또는 전파 신호(propagated signal)를 포함하고 있지 않음을 나타낸다. 하지만, "비-일시적"이란 용어는 메모리가 이동 불가능한 것으로 해석되어서는 안된다. 일 예시에서, 메모리(110)는 보다 큰 용량의 정보를 저장할 수 있다. 일 예시에서, 비-일시적 저장 매체는 시간이 지남에 따라, 변할 수 있는 (예를 들어, 랜덤 액세스 메모리(RAM) 또는 캐쉬) 데이터를 저장할 수 있다. 메모리(110)는 전자 장치(100)의 내부 스토리지가 될 수 있고, 또는 전자 장치(100)의 외부 스토리지, 클라우드 스토리지, 또는 기타 다른 종류의 외부 스토리지일 수 있다.
프로세서(120)는 메모리(110)에 저장된 인스트럭션을 수행하고 다양한 프로세스을 수행할 수 있다. 프로세서(120)는 적어도 하나의 프로세서를 포함할 수 있으며, 중앙 처리 장치(CPU) 또는 어플리케이션 프로세서(AP) 등과 같은 범용 프로세서일 수 있고, 그래픽 처리 장치(GPU)와 같은 그래픽 전용 처리 장치, 비주얼 처리 장치 (VPU) 및/또는 신경 처리 장치(NPU)와 같은 AI 전용 프로세서일 수 있다.
일 실시 예에 따르면, 프로세서(120)는 전자 장치(100)의 화면(140)에 포함된 적어도 하나의 UI(User Interface) 요소의 적어도 하나의 특성을 식별하고, 식별된 UI 요소의 적어도 하나의 특성에 기초하여 데이터베이스를 획득할 수 있다. 여기서, 데이터베이스는 식별된 UI 요소의 적어도 하나의 특성에 기초하여 획득된 자연어(Natural Language) 발화를 포함할 수 있다. 여기서, 적어도 하나의 특성은, 각 UI 요소의 상대적인 위치, 각 UI 요소의 기능, 각 UI 요소의 성능, 각 요소의 타입, 및 각 UI 요소의 형상 중 적어도 하나를 포함할 수 있다. 이 경우, 데이터베이스는 전자 장치(100)의 현재 화면(140)에 기초하여 실시간으로 생성될 수 있다.
이 후, 프로세서(120)는 사용자의 음성 입력이 수신되면, 수신된 음성 입력의 발화가 데이터 베이스에 포함된 자연어 발화와 매칭되는지 여부를 식별하고, 음성 입력의 발화가 자연어 발화와 매칭되는 것으로 식별되면, 적어도 하나의 UI 요소를 자동으로 액세스할 수 있다. 여기서, 적어도 하나의 UI 요소는, 실행 가능한 UI 요소, 실행 불가능한 UI 요소, 텍스트 UI 요소, 또는 비-텍스트 UI 요소 중 적어도 하나를 포함할 수 있다.
한편, 프로세서(120)는 수신된 음성 입력의 발화가 데이터 베이스에 포함된 자연어 발화와 매칭되는지 여부를 복수의 매칭 단계를 통해 식별할 수 있다. 이하에서는, 텍스트 UI 요소, 텍스트 UI 요소의 유의어(또는 동의어), 비텍스트 UI 요소를 순차적으로 비교하는 것으로 설명하였으나, 이러한 순서에 반드시 한정되는 것은 아니다.
일 예에 따라 프로세서(120)는 음성 입력의 발화를 데이터베이스에 포함된 텍스트 UI 요소에 대응되는 자연어 발화와 제1 비교할 수 있다. 여기서, 텍스트 UI 요소는 실행 가능한 UI 요소일 수 있다. 예를 들어, 프로세서(120)는 음성 입력의 발화에 대응되는 제1 비교 결과 데이터베이스에서 텍스트 UI 요소에 대응되는 자연어 발화가 식별되면(예를 들어, 임계 수치 이상의 유사도를 가지는 자연어 발화가 식별되면), 식별된 텍스트 UI 요소에 자동으로 액세스할 수 있다.
일 예에 따라 제1 비교 결과 특정 텍스트 UI 요소가 식별되는 경우 제2 비교를 진행하지 않을 수도 있으나, 이에 한정되는 것은 아니며 제1 비교 결과 특정 텍스트 UI 요소가 식별되더라도 좀 더 정확한 매칭을 위하여 제2 비교를 진행할 수도 있다.
또한, 프로세서(120)는 제1 비교 결과에 따라 음성 입력의 발화를 상기 데이터베이스에 포함된 텍스트 UI 요소의 유의어(Synonym)에 대응되는 자연어 발화와 제2 비교할 수 있다. 예를 들어, 프로세서(120)는 제2 비교 결과 데이터베이스에서 텍스트 UI 요소의 유의어(Synonym)(또는 동의어)에 대응되는 자연어 발화가 식별되면(예를 들어, 임계 수치 이상의 유사도를 가지는 자연어 발화가 식별되면), 해당 텍스트 UI 요소에 자동으로 액세스할 수 있다. 이 경우 프로세서(120)는 제2 비교 결과 뿐 아니라 제1 비교 결과에 기초하여 텍스트 UI 요소를 식별할 수 있다.
일 예에 따라 제2 비교 결과 특정 텍스트 UI 요소가 식별되는 경우 제3 비교를 진행하지 않을 수도 있으나, 이에 한정되는 것은 아니며 제2 비교 결과 특정 텍스트 UI 요소가 식별되더라도 좀 더 정확한 매칭을 위하여 제3 비교를 진행할 수도 있다.
또한, 프로세서(120)는 제2 비교 결과에 따라 음성 입력의 발화를 데이터베이스에 포함된 비 텍스트 UI 요소의 형상에 대응되는 자연어 발화와 제3 비교할 수 있다. 여기서, 비 텍스트 UI 요소는 실행 가능한 UI 요소일 수 있다. 예를 들어, 프로세서(120)는 제3 비교 결과 데이터베이스에서 비 텍스트 UI 요소의 형상에 대응되는 자연어 발화가 식별되면(예를 들어, 임계 수치 이상의 유사도를 가지는 자연어 발화가 식별되면), 식별된 비 텍스트 UI 요소에 자동으로 액세스할 수 있다. 이 경우 프로세서(120)는 제3 비교 결과 뿐 아니라 제1 비교 결과 또는 제2 비교 결과 중 적어도 하나에 기초하여 비 텍스트 UI 요소를 식별할 수 있다.
또한, 프로세서(120)는 데이터베이스에 저장된 신경망 모델의 학습 결과를 획득하고, 제1 비교 결과, 제2 비교 결과 또는 제3 비교 결과 중 적어도 하나와 학습 결과에 기초하여 매칭 여부를 식별할 수 있다. 여기서, 신경망 모델은 다양한 학습 데이터에 의해 학습되어 매칭 결과를 출력하도록 학습된 모델로서 이에 대해서는 이후에 자세히 설명하도록 한다.
또한, 프로세서(120)는 화면에 포함된 적어도 하나의 UI 요소에 대한 매칭 스코어를 획득할 수 있다. 여기서, 매칭 스코어는 음성 입력의 발화를 데이터베이스에 포함된 UI 요소에 대응되는 자연어 발화를 비교하여 유사도에 기초하여 획득될 수 있다.
이 경우, 프로세서(120)는 화면 상에 포함된 복수의 UI 요소 각각의 매칭 스코어가 제1 임계 수치 이상이고, 복수의 UI 요소 각각의 매칭 스코어 차이가 제2 임계 수치 내인 경우 복수의 UI 요소 중 어느 하나를 선택하기 위한 가이드 UI를 제공할 수 있다. 여기서, 제1 임계 수치는 음성 입력의 발화를 데이터베이스에 포함된 UI 요소에 대응되는 자연어 발화의 동일/유사도를 식별하기 위한 수치로 기 설정되어 있거나, 사용자에 의해 설정될 수 있다. 또한, 제2 임계 수치는 복수의 UI 요소 각각의 매칭 정도가 동일/유사하다고 볼 수 있는 정도를 식별하기 위한 수치로 기 설정되어 있거나, 사용자에 의해 설정될 수 있다.
또한, 프로세서(120)는 하나의 UI 요소의 매칭 스코어가 제1 임계 수치 이상이고, 나머지 UI 요소보다 제2 임계 수치보다 큰 경 하나의 UI 요소에 액세트 즉, 해당 UI 요소를 실행할 수 있다. 다만, 이 경우에도 프로세서(120)는 해당 UI 요소에 대한 사용자의 실행 확인을 요청하는 가이드 UI를 할 수도 있다.
또한, 프로세서(120)는 화면에 포함된 모든 UI 요소의 매칭 스코어가 제1 임계 수치 미만인 경우 해당 정보를 제공하는 가이드 UI를 제공할 수 있다. 예를 들어, 프로세서(120)는 사용자의 음성 입력에 대응되는 UI 요소를 식별할 수 없다는 정보를 제공할 수 있다. 다만, 프로세서(120)는 이 경우에도 가장 매칭 스코어가 높은 UI 요소를 추천 UI 요소로 제공하는 것도 가능하다.
또한, 프로세서(120)는 각 UI 요소의 위치, 다른 UI 요소에 대한 각 UI 요소의 상대적인 위치, 각 UI 요소의 기능(function), 각 UI 요소의 성능(capability), 각 UI 요소의 타입 및 각 UI 요소의 형상 중 적어도 하나를 식별하여 지식 그래프를 획득하고 획득된 지식 그래프를 데이터베이스에 저장할 수 있다.
또한, 프로세서(120)는 각 UI 요소의 위치에 기초한 각 UI 요소 간의 유사도, 각 UI 요소의 상대적 위치, 각 UI 요소의 기능, 각 UI 요소의 성능 및 각 UI 요소의 형상 중 적어도 하나의 유사도를 식별하고, 식별된 유사도에 기초하여 각 UI 요소를 클러스터링하여 지식 그래프를 획득하고, 획득된 지식 그래프를 데이터베이스에 저장할 수 있다.
또한, 프로세서(120)는 각 UI 요소의 가시적 특성 및 상대적 위치로부터 비-텍스트 UI 요소의 텍스트 표현(textual representation)을 결정할 수 있다.
또한, 프로세서(120)는 각 UI 요소 및 각 UI 요소의 성능에 대응되는 기 정의된 정보를 매핑하여 지식 그래프를 획득하고, 획득된 지식 그래프를 데이터베이스에 저장할 수 있다. 이 경우, 프로세서(120)는 동작 가능한 UI 요소를 통해 전이된 기 정의된 화면 시퀀스를 결정하여 지식 그래프를 획득할 수 있다.
또한, 프로세서(120)는 동작 가능한 UI 요소를 통해 전이된 기 정의된 화면 시퀀스를 결정하여 지식 그래프를 획득할 수 있다.
또한, 프로세서(120)는 싱글 스텝 의도 및 멀티 스텝 의도 중 적어도 하나에 대한 자연어 변형(variations)을 획득하기 위해 지식 그래프에 대한 시맨틱 번역(semantic translation)을 수행하고, 지식 그래프를 사용하여 싱글 스텝 의도 및 멀티 스텝 의도 중 적어도 하나에 대한 적어도 하나의 액션 및 적어도 하나의 액션 시퀀스를 식별하고 획득된 자연어 변형을 식별된 액션 및 액션 시퀀스와 맵핑함으로써 식별된 UI 요소의 자연어 발화를 예측하기 위한 자연어 모델을 동적으로 생성할 수 있다.
또한, 프로세서(120)는 지식 그래프의 각 UI 요소를 화면(140) 상의 도메인, 동사, 동의어, 슬롯, 슬롯 타입, 텍스처로 표현된 슬롯, 성능 및 상대 위치 중 적어도 하나로 카테고리화하고, 카테고리화에 기초하여 자연어 변형을 획득할 수 있다.
또한, 프로세서(120)는 화면(140) 상에 포함된 UI 요소 타입에 관한 정보 및 이에 대응되는 성능, 성능과 관련된 동사, 액션 정보에 대한 성능, 화면에서 동작 가능한 요소 시퀀스 그래프 및 대응되는 액션 시퀀스, 기 정의된 액션 및 액션 시퀀스를 포함하는 기 정의된 테이블 세트를 결정하고, 각 UI 요소의 성능에 기초하여 액션 루틴을 결정할 수 있다. 이 경우, 기 정의된 액션 및 액션 시퀀스에는 고유한 아이덴티티가 할당될 수 있다.
또한, 프로세서(120)는 유사한 자연어 변형들을 클러스터링하고, 유사한 자연어 변형들에 대한 동적 의도를 할당하고, 적어도 하나의 식별된 액션 및 적어도 하나의 식별된 액션 시퀀스를 동적 의도와 연관시키고, 클러스터링된 자연어 변형, 동적 의도, 및 액션 루틴들에 기초하여 자연어 모델을 동적으로 생성하고, 자연어 모델을 데이터베이스에 저장할 수 있다.
또한, 프로세서(120)는 화면(140) 상에 포함된 화면 정보를 판독함으로써 텍스트 표현 스코어를 결정하고, 화면 정보에 포함된 텍스트 표현 및 텍스트 UI 요소로부터 동사 및 명사에 대한 동의어를 추출하고 동의어 스코어를 할당하고, 동적 언어 생성기(170E)에 대한 가중 학습에 이용되는 자연어 변형들을 연관시키는 분산 스코어를 결정하고, 음성 입력의 발화에 포함된 참조 오브젝트들과 근접 요소 정보를 비교함으로써 관련성 스코어를 결정할 수 있다.
또한, 동적 언어 생성기(170E)에 대해 음성 입력의 발화와 매칭되는 최종 스코어로서 매칭 스코어를 결정하고, 결정된 매칭 스코어를 관련성 스코어와 결합할 수 있다.
도 2b는 일 실시 예에 따라 전자 장치(100)와 사용자의 음성 인터렉션을 기초로 전자 장치(100)의 화면(140)에 표시된 UI 요소를 자동으로 액세스하기 위한 전자 장치(100)를 도시한 블록도이다.
일 실시 예에서, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130), 디스플레이(140), 센서(150), 어플리케이션 컨트롤러 (160), 및 인터렉션 엔진(170)을 포함할 수 있다. 도 2b에 도시된 구성 중 도 2a에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
통신부(communicator)(130)는 유선 또는 무선 통신을 가능하게 하는 규격 기반의 전자 회로를 포함한다. 통신부(130)는 적어도 하나의 네트워크를 통해 내부 하드웨어 컴포넌트들과 외부 장치들이 내부 통신하도록 구성되어있다.
적어도 하나의 센서(150 또는 150a-n)는, 예를 들어, 조도 센서(ambient light sensor), 3-축 가속도계(3-axis accelerometer), 고도계(altimeter), 광학식 심박수 센서(optical heart rate sensor), 산소 포화도(SpO2) 모니터(oxygen saturation (SpO2) monitor), 생체 전기 저항 센서(bioimpedance sensor), 근접 센서(proximity sensor), 나침반(compass), 심전도(ECG) 센서(Electrocardiogram (ECG) sensor)), 위성 위치 확인 시스템(GPS, Global Positioning System), 자이로스코프(gyroscope), 제스처 센서(gesture sensor), 자외선(Ultraviolet, UV) 센서, 자력계(magnetometer), 피부 전기 액티비티 센서(electrodermal activity sensor), 피부 온도 센서(skin temperature sensor) 등을 포함할 수 있지만, 이에 한정되는 것은 아니다.
어플리케이션 컨트롤러(application controller)(160)는 전자 장치(100)의 적어도 하나의 어플리케이션들(160a-160n)을 제어하도록 구성된다. 어플리케이션의 예시들에는 웹 어플리케이션, 비디오 플레이어 어플리케이션, 카메라 어플리케이션, 사업 어플리케이션, 학습 어플리케이션, 건강 어플리케이션, 라이프스타일 어플리케이션, 엔터테인먼트 어플리케이션, 유틸리티 어플리케이션, 여행 어플리케이션, 등이 포함되지만, 이에 한정되는 것은 아니다.
일 실시 예에서, 인터렉션 엔진(interaction engine)(170)은 로직 게이트(logic gates), 직접 회로(integrated circuits), 마이크로프로세서(microprocessors), 마이크로컨트롤러(microcontrollers), 메모리 회로(memory circuits), 수동적 전자 컴포넌트(passive electronic components), 능동적 전자 컴포넌트(active electronic components), 광학 컴포넌트(optical components), 하드와이어드 회로(hardwired circuits) 등과 같은 프로세싱 회로들로 구현되고, 펌웨어(firmware)에 의해 선택적으로 구동될 수 있다. 회로들은, 예를 들어, 적어도 하나의 반도체들(semiconductors)로 구현될 수 있다.
일 실시 예에서, 인터렉션 엔진(170)은 컨텍스트 오케스트레이터(context orchestrator)(170a), 시각적 시맨틱 자연어 예측기(visual semantic NL estimator)(170b), 액션 시퀀스 플래너(action sequence planner)(170c), 자연어 합성기(NL synthesizer)(170d), 동적 언어 생성기(dynamic language generator)(170e)(예를 들어, 보이스 어시스턴트) 및 인공 지능 엔진(Artificial intelligence (AI) engine)(170f)을 포함한다.
일 실시 예에서, 컨텍스트 오케스트레이터(context orchestrator)(170a)는 AI 엔진(170f)을 사용하여 전자 장치(100)의 화면(140)에 표시된 적어도 하나의 UI 요소들을 식별한다. 적어도 하나의 UI 요소들(예를 들어, 클릭 버튼(click button), 홈 아이콘(home icon), 텍스트 바(text bar) 등)은 실행 가능한 UI 요소, 실행 불가능한 UI 요소, 텍스트 UI 요소 및 비-텍스트 UI 요소를 포함한다. 또한, 컨텍스트 오케스트레이터(170a)는 AI 엔진(170f)을 사용하여 식별된 적어도 하나의 UI 요소들의 특성(들)을 결정한다. 식별된 적어도 하나의 UI 요소들의 특성은 각 UI 요소의 위치, 다른 UI 요소들 중에서 각 UI 요소의 상대적 위치, 각 UI 요소의 기능, 각 UI 요소의 성능, 각 UI 요소의 종류, 또한, 전자 장치(100)의 화면(140)에 표시된 각 UI 요소의 외형을 포함한다.
또한, 컨텍스트 오케스트레이터(170a)는 AI 엔진(170f)을 사용하여 식별된 적어도 하나의 UI 요소들의 특성(들)을 기초로 데이터베이스/지식 그래프를 획득한다. 또한, 컨텍스트 오케스트레이터(170a)는 각 UI 요소의 위치, 다른 UI 요소들 중에서 각 UI 요소의 상대적 위치, 각 UI 요소의 기능, 각 UI 요소의 성능, 각 UI 요소의 종류, 또한, 전자 장치(100)의 화면(140)에 표시된 각 UI 요소의 외형을 결정한다. 또한, 컨텍스트 오케스트레이터(170a)는 각 UI 요소의 위치, 다른 UI 요소들 중에서 각 UI 요소의 상대적 위치, 각 UI 요소의 기능, 각 UI 요소의 성능, 각 UI 요소의 종류, 또한, 전자 장치(100)의 화면(140)에 표시된 각 UI 요소의 외형을 기초로 다른 UI 요소들 중에서 적어도 하나의 UI 요소 중 각 UI 요소 간의 유사도를 결정한다. 또한, 컨텍스트 오케스트레이터(170a)는 유사도를 기초로 적어도 하나의 UI 요소 중 각 UI 요소를 클러스터링한다. 또한, 컨텍스트 오케스트레이터(170a)는 가시적인 특징들로부터 비-텍스트 UI 요소들 중 텍스트 표현 및 다른 UI 요소들 중 각 UI 요소의 상대적 위치를 결정한다. 또한, 컨텍스트 오케스트레이터(170a)는 적어도 하나의 UI 요소들 중 각 UI 요소 간의 기 정의된 정보 및 대응되는 각 UI 요소들의 성능을 맵핑한다. 또한, 컨텍스트 오케스트레이터(170a)는 실행 가능한 UI 요소를 통해 전환된 기 정의된 화면 시퀀스를 결정한다. 또한, 컨텍스트 오케스트레이터(170a)는 획득된 지식 그래프를 데이터베이스에 저장한다.
일 실시 예에서, 시각적 시맨틱 자연어 예측기(170b)는 획득된 지식 그래프에 대한 의미적 번역을 수행하여 싱글 스텝 의도 및/또는 멀티 스텝 의도를 위해 자연어 변형을 획득한다. 또한, 시각적 시맨틱 자연어 예측기(170b)는 컨텍스트 오케스트레이터(170a)로부터 획득된 지식 그래프를 수신한다. 또한, 시각적 시맨틱 자연어 예측기(170b)는 수신된 지식 그래프의 각 UI 요소를 도메인, 동사, 유의어, 슬롯, 슬롯 종류, 텍스트 표시 슬롯, 성능, 및 전자 장치(100)의 화면(140) 상의 상대적 위치로 카테고리화한다. 또한, 시각적 시맨틱 자연어 예측기(170b)는 카테고리화에 따른 자연어 변형을 획득한다.
일 실시 예에서, 액션 시퀀스 플래너(170c)는 획득된 지식 그래프를 사용하여 싱글 스텝 의도 및/또는 멀티 스텝 의도를 위해 액션 및 액션 시퀀스를 식별한다. 또한, 액션 시퀀스 플래너(170c)는 컨텍스트 오케스트레이터(170a)로부터 획득된 지식 그래프를 수신한다. 또한, 액션 시퀀스 플래너(170c)는 각 UI 요소들의 성능을 기초로 액션 루틴을 결정한다.
일 실시 예에서, 자연어 합성기(170d)는 자연어 모델을 동적으로 획득하여 식별된 액션 및 식별된 액션 시퀀스로 획득된 자연어 변형을 맵핑하여 식별된 적어도 하나의 UI 요소들의 자연어 발화를 예측한다. 또한, 자연어 합성기(170d)는 유사한 자연어 변형들을 클러스터링한다. 또한, 자연어 합성기(170d)는 유사한 자연어 변형들을 위해 동적 의도를 부과한다. 또한, 자연어 합성기(170d)는 동적 의도를 식별된 활동과 식별된 활동 시퀀스에 연관시킨다. 또한, 자연어 합성기(170d)는 클러스터링된 자연어 변형, 동적 의도 및 액션 루틴을 기초로 자연어 모델을 동적으로 획득한다. 또한, 자연어 합성기(170d)는 동적으로 획득된 자연어 모델을 데이터베이스에 저장한다.
일 실시 예에서, 동적 언어 획득기(170e)는 자연어 합성기(170d)로부터 입력을 수신 받는다. 또한, 동적 언어 획득기(170e)는 전자 장치(100)의 사용자로부터 음성 입력을 수신하며, 음성 입력은 데이터베이스에 제시된 식별된 적어도 하나의 UI 요소들의 특성을 가리키는 발화를 포함한다. 또한, 동적 언어 획득기(170e)는 수신된 음성 입력의 발화가 식별된 적어도 하나의 UI 요소들의 예측된 자연어 발화와 매칭되는지 여부를 결정한다. 또한, 동적 언어 획득기(170e)는 사용자로부터 수신된 음성 입력의 발화들이 식별된 적어도 하나의 UI 요소들의 예측된 자연어 발화과 일치하면 UI 요소들 중 적어도 하나의 UI 요소들에 자동 액세스한다.
상술한 바와 같이 최소 적어도 하나의 모듈들/컴포넌트들은 AI 엔진(170f)를 통해 구현될 수 있다. AI 엔진(170f)과 관련된 기능은 메모리(110) 및 프로세서(120)을 통해 수행될 수 있다. 하나 또는 복수의 프로세서는 비-휘발성 메모리 또는 휘발성 메모리에 저장된 기 정의된 동작 규칙 또는 AI 엔진(170f)에 따라 입력 정보의 처리를 제어할 수 있다. 기 정의된 동작 규칙 또는 인공 지능 모델은 훈련(training) 또는 학습(learning)을 통해 제공된다.
여기서, 학습을 통해 제공된다는 것은, 복수의 학습 데이터에 학습 과정을 적용시킴으로써 원하는 특성의 기 정의된 동작 규칙 또는 AI 엔진(170f)이 만들어짐을 의미한다. 학습은 본 실시 예에 따른 AI를 수행하는 전자 장치(100) 자체에서 수행될 수 있고 또는 별도의 서버/시스템을 통해 구현될 수 있다.
AI 엔진(170f)는 복수의 신경망 레이어들로 구성될 수 있다. 각 레이어는 복수의 가중치들을 갖고 있으며, 이전 레이어의 계산과 복수의 가중치들 간의 연산을 통해 레이어 연산을 수행한다. 신경망의 예로는 CNN(Convolutional Neural Network), DNN(Deep Neural Network), RNN(Recurrent Neural Network), RBM(Restricted Boltzmann Machine), DBN(Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network), GAN(Generative Adversarial Networks) 및 심층 Q-네트워크(Deep Q-Networks)이 있으며, 전술한 예에 한정되지 않는다.
학습 과정은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예를 들어, 로봇, IoT 장치)를 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하고, 허용하고 제어하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 전술한 예에 한정되지 않는다.
도 2a 및 도 2b에는 전자 장치(100)의 각종 하드웨어 구성요소가 도시되어 있지만, 다른 실시 예들은 이에 한정되지 않는 것으로 이해되어야 한다. 다른 실시 예에서, 전자 장치(100)는 더 적거나 더 많은 개수의 구성 요소를 포함할 수 있다. 또한, 구성 요소의 레이블 또는 이름은 설명하기 위하여 사용될 뿐이며 발명의 범위를 제한하지 않는다. 적어도 하나의 구성요소는 함께 결합되어 음성 기반 인터랙션과 동일하거나 실질적으로 비슷한 기능을 수행할 수 있다.
도 3은 일 실시 예에 따른 사용자와 전자 장치(100)의 음성 인터랙션에 기초하여 전자 장치(100)의 화면(140)에 표시되는 UI 요소에 자동적으로 액세스하는 방법을 설명하는 흐름도(300)이다. 동작(302-312)은 전자 장치(100)에 의해 수행될 수 있다.
도 3에 도시된 방법에 따르면 302에서 전자 장치(100)의 화면(140)에 표시된 적어도 하나의 UI 요소를 식별한다.
또한, 304에서 식별된 적어도 하나의 UI 요소의 특성을 판단한다.
또한, 306에서 식별된 적어도 하나의 UI 요소의 특성에 기초하여 데이터베이스를 획득하고, 데이터베이스는 적어도 하나의 식별된 UI 요소의 자연어 발화를 포함하고, 자연어 발화는 식별된 적어도 하나의 UI 요소의 적어도 하나의 특성에 기초하여 예측된다.
또한, 308에서 전자 장치(100)의 사용자의 음성 입력을 수신하고, 음성 입력은 데이터베이스에 나타나는 식별된 적어도 하나의 UI 요소의 특성의 발화를 포함한다.
또한, 310에서 수신된 음성 입력의 발화가 식별된 적어도 하나의 UI 요소의 예측된 자연어 발화에 매칭되는지 판단한다.
또한, 312에서 사용자로부터 입력된 수신된 음성의 발화가 식별된 적어도 하나의 UI 요소의 예측된 자연어 발화에 일치하는 것으로 판단되면 적어도 하나의 UI 요소 중의 UI 요소에 자동적으로 액세스한다.
흐름도(300)의 각 액션(actions), 동작(acts), 블록, 단계 등은 묘사된 순서로, 다른 순서로, 또는 동시에 수행될 수 있다. 또한, 어떤 실시 예들에서, 일부 액션, 동작, 블록, 단계 등은 본 발명의 범위를 벗어남이 없이 생략, 추가, 변형, 또는 건너뛸 수 있다.
도 4a 및 도 4b는 일 실시 예에 따른, 전자 장치(100)의 화면(140)에 표시된 비디오 어플에 관한 UI 요소의 자연어 발화를 예측하고, 표시된 UI 요소에 관련된 액션 시뮬레이션을 위한 모델을 동적으로(dynamically) 구축하는 방법을 설명한 흐름도의 예이다.
도 4a에 따르면 401에서, 전자 장치(100)의 사용자가 화면(140)을 보고 있고, 비디오 어플의 읽지 않은 알림 (예: 종 형태 알림 아이콘)을 확인하고 싶어하는 시나리오를 가정한다.
402(플랫폼 402)에서, 화면 읽기 APIs (예: 액세스성(402a), 광학식 문자 인식(OCR)(402b), 및 화상 분류(402c))은 화면 정보와 대응되는 특성을 독출하고, 이 화면 정보들은 컨텍스트 오케스트레이터(170a)에 공급되어 지식 그래프를 생성할 수 있다.
403에서, 컨텍스트 오케스트레이터(170a)는 뷰 계층, UI 요소의 컨텐츠 (예: 텍스트적 표현 및 비텍스트적 표현), 및 UI 요소의 위치 등 화면 정보를 분석한다. 또한, 컨텍스트 오케스트레이터(170a)는 텍스트적 표현 및 UI 요소 성능의 상대적 위치와 같은 추론을 획득한다. 또한, 컨텍스트 오케스트레이터(170a)는 특정 어플 (예: 비디오 어플)에 관한 화면 시퀀스 등 정보를 저장하고 학습한다.
실시 예에서, 컨텍스트 오케스트레이터(170a)는 관계 예측기(170aa), 텍스트 표현기(170ab), UI 요소 성능 식별기(170ac), 및 화면 시퀀스 검출기(170ad)를 포함한다. 관계 예측기(170aa)는 UI 요소 (예: 종 형태 아이콘, 검색 아이콘 등)을 그룹핑하고, 상대적 위치를 결정하고, 텍스트적 표현으로 표현한다. 표 2는 관계 예측부(170aa)의 입력-출력의 예를 나타낸다.
Input Output
Name : Connect Device,
Position : 50, 1180,
Type : Button
Relation: Left of bell-shaped Button
Group : {Textbox, Button}
Name : Notification,
Position :150, 1180,
Type : Button
Relation: Right to connect device button
Group : {Textbox, Button}
텍스트 표현기(170ab)는 모든 비텍스트적 표현(비텍스트적 컨텐츠/UI 요소)를 텍스트적 표현(텍스트적 컨텐츠/UI 요소)로 변환하고 모든 비텍스트적 표현간의 추론을 획득한다. 표 3은 텍스트 표현기(170ab)의 입력-출력 예를 나타낸다.
Input Output
Name : Home, Position : 50, 1180,
Type : Button, Image Buffer<>
Text representation: Shape : Home
Name : Notification, Position : 150, 1180, Type : Button, Image Buffer<> Text representation: Shape : Bell
UI 요소 성능 식별기(170ac)는 UI 요소 (예: 동작가능한 UI 요소)의 기 정의된 성능을 식별하고 UI 요소의 성능을 컨텍스트 오케스트레이터(170a)에 저장한다. 표 4는 UI 요소 성능 식별기(170ac)의 입력-출력의 예를 나타낸다.
Input Output
Name : Home, Position : 50, 1180,
Type : Button
Capability : Click, Focus
화면 시퀀스 검출기(170ad)은 컨텍스트 오케스트레이터(170a)의 일부로 기록된 추가적으로 동작가능한 UI 요소를 포함하는 뷰 화면 전이를 결정한다. 표 5는 화면 시퀀스 검출기(170ad)의 입력-출력의 예를 나타낸다.
Input Output
Application: YouTube/video application Home Screen => Account => Data Home Screen => Connect a device
또한, 컨텍스트 오케스트레이터(170a)는 관계 예측기(170aa), 텍스트 표현기(170ab), UI 요소 성능 식별기(170ac), 및 화면 시퀀스 검출기(170ad)의 기능을 이용하여 지식 그래프(404)를 획득한다. 표 6는 획득된 지식 그래프(404)의 알림(Notification)(UI 요소)에 관한 예를 나타낸다.
UI element Knowledge graph
information
Notification Loc: (1020, 10)
Name: Notifications
Content shape: Bell
Content-type: Icon
Type: Button
Capability: Press, Focus
도 4b를 참고하면, 405에서 시각적 시맨틱 자연어 예측기(170b)는 컨텍스트 오케스트레이터(170a)로부터 획득된 지식 그래프를 수신한다.
또한, 시각적 시맨틱 자연어 예측기(170b)는 수신된 지식 그래프의 각 UI 요소를 도메인, 동사, 동의어, 슬롯, 슬롯 타입, 텍스트적으로 표현된 슬롯, 성능, 및 전자 장치(100)의 화면의 상대적 위치(140)로 분류한다. 또한, 시각적 시맨틱 자연어 예측기 (170b)는 분류에 기초하여 자연어 변형을 획득한다. 표 7은 시각적 시맨틱 자연어 예측기(170b)의 알림(UI 요소)에 관한 자연어 분류 및 자연어 변형의 예를 나타낸다.
Domain Video
Application YouTube
NL categorization
(notification)
Relation : { Left of Search, Right of Connect}
Verb: Touch, Tap, Click
Slot : { Bell <Shape>, Notification <name> }
Type : { Button, Icon, Image }
NL variation Click on the bell-shaped button
Tap the icon left to search icon
406 에서, 액션 시퀀스 플래너(170c)는 컨텍스트 오케스트레이터(170a)로부터 획득된 지식 그래프를 수신한다. 또한, 액션 시퀀스 플래너(170c)는 각 UI 요소의 성능에 기초하여 싱글 스텝 및 멀티 스텝 명령어/의도에 관한 동작 루틴/액션 시퀀스 그래프를 결정한다. 또한, 액션 시퀀스 플래너(170c)는 사용자 인터페이스에서 발견한 성능 리스트에 관련한 동작 루틴/시퀀스의 기 정의된 세트를 결정한다. 동작 루틴/시퀀스는 정적이거나 동적일 수 있다. 정적 액션 시퀀스는 시퀀스가 변화하지 않기 때문에 표로 만든다. 동적 액션 시퀀스는 지식 그래프의 화면 시퀀스에 기초하여 실행중에 구축한다. 표 8은 액션 시퀀스 플래너(170c)의 UI 요소에 관한 동작 루틴의 예를 나타낸다.
UI element type Capability Action Routines
Button Click Subroutine: Click
Parameters: UI element position
Text box Click Subroutine: Write
Parameters: UI Element, Content
Text box Focus Subroutine: Focus
Parameters: UI Element
List box Scroll up Subroutine: Scroll Up
Parameters: UI Element
Multi-step Ex
switch account
Click (Account) > Click(Switch
Account)
또한, 액션 시퀀스 플래너(170c)는 컨텍스트 오케스트레이터(170a)의 지식에 저장된 화면의 동작가능한 UI 요소 그래프에 기초하여 액션 시퀀스 식별(identity)을 결정한다. 화면의 동작가능한 UI 요소 그래프는 기 정의된 입력일 수 있거나 사용자의 화면 내비게이션 동작들(터치 및 음성 기반 동작 모두)를 이해하는 것으로부터 학습할 수 있다.
407-408에서, 자연어 합성기(170d)는 시각적 시맨틱 자연어 예측기(170b) 및 액션 시퀀스 플래너(170c)로부터 입력을 수신한다. 자연어 합성기(170d)는 유사한 자연어 변형을 클러스터링하고, 자연어 변형은 시각적 시맨틱 자연어 예측기(170b)에에 의해 결정된다. 그 후, 자연어 합성기(170d)는 유사한 자연어 변형에 관한 동적 의도를 할당하고, 동적 의도를 식별된 액션과 식별된 액션 시퀀스에 관련시키며, 식별된 액션과 식별된 액션 시퀀스는 액션 시퀀스 플래너(170c)에 의해 결정된다. 표 9는 자연어 합성기(170d)에서 동적 의도와 유사한 자연어 변형과 액션 시퀀스의 예를 나타낸다.
Dynamic intent ID-1
NL variations Click on the bell-shaped button
Click search button
Tap plus image
Action sequence AS1
409에서, 동적 언어 획득기(170e)는 자연어 합성기(170d)로부터의 입력을 수신하고 클러스터링된(clustered) 자연어 변형, 동적 의도, 및 동작 루틴에 기초하여 자연어 모델을 동적으로 획득한다. 또한, 동적 언어 획득기(170e)는 데이터베이스 내의 동적으로 획득된 자연어 모델을 저장한다. 410에서, 동적 언어 획득기(170e)는 음성 입력 (예: 종 모양 버튼을 클릭해줘)를 수신한다. 동적 언어 획득기(170e)는 수신된 음성 입력의 발화가 적어도 하나의 식별된 UI 요소의 예측된 자연어 발화와 일치하는지 판단한다. 411-412에서, 사용자로부터 입력된 수신된 음성의 발화가 적어도 하나의 식별된 UI 요소의 예측된 자연어 발화와 일치하는 경우, 동적 언어 획득기(170e)는 전자 장치(100)의 화면(140)에 표시된 비디오 어플의 UI 요소(예: 알림)에 자동적으로 액세스한다. 결과적으로, 사용자는 사용자 경험을 향상시키는 식별된 UI 요소에 액세스하는 자연어를 활용할 수 있다. 제안된 방법은 사용자가 전자 장치(100)의 화면에 표시된 버튼의 진짜 이름을 모르더라도, 자연스럽게 전자 장치(100)의 화면에 표시된 버튼을 사용자가 작동시키도록 사용자 인터랙션을 간단하게 한다. 제안된 방법은 텍스트적으로 비텍스트적 성분의 품질과 관계를 나타낸다.
도 5는 일 실시 예에 따른, 전자 장치(100)가 화면(140)에 표시된 소셜 미디어 어플에 관한 UI 요소의 자연어 발화를 예측하고, 표시된 UI 요소와 관련된 액션 시뮬레이션을 위한 모델을 동적으로 구축하는 시나리오의 예이다.
501에서, 전자 장치(100)의 사용자가 소셜 미디어 어플(예: F-share)를 통해 열람하고 화면(140)에 표시된 그림에 좋아요를 매우 자연스럽게 표현하는 시나리오를 가정한다.
기술 흐름은 도 4에서 설명한 것과 동일하다. 502에서, 컨텍스트 오케스트레이터(170a)는 관계 예측기(170aa), 텍스트적 표현기(170ab), UI 요소 성능 식별기(170ac), 및 화면 시퀀스 검출기(170ad)의 기능을 이용하여 지식 그래프를 획득한다. 표 10은 획득된 지식 그래프의 알림(UI 요소)에 관한 예를 나타낸다.
UI element Knowledge graph information
Notification Loc: (700, 10)
Name: Like
Content shape: Heart
Content-type: icon
Type: Button
Capability: Press, Focus
그 후, 시각적 시맨틱 자연어 예측기(170b)는 컨텍스트 오케스트레이터(170a)로부터 획득된 지식 그래프를 수신한다. 또한, 시각적 시맨틱 자연어 예측기(170b)는 수신된 지식 그래프의 각 UI 요소를 도메인, 동사, 동의어, 슬롯, 슬롯 타입, 텍스트적으로 표현된 슬롯, 성능, 및 전자 장치(100)의 화면의 상대적 위치(140)로 분류한다. 또한, 시각적 시맨틱 자연어 예측기(170b)는 분류에 기초하여 자연어 변형을 획득한다. 표 11은 시각적 시맨틱 자연어 예측기(170b)의 알림(UI 요소)에 관한 자연어 분류와 자연어 변형의 예를 나타낸다.
Domain Image
어플 F-share
NL categorization
(notification)
Relation : { Bottom to photo, Above
Android}
Verb: Touch, Tap, Click …
Slot: { Heart, Like, Love}
Type: { Button, Icon, Image }
NL variation Click on the heart-shaped icon
I like the photo
그 후, 액션 시퀀스 플래너(170c)는 컨텍스트 오케스트레이터(170a)로부터 획득된 지식 그래프를 수신한다. 또한, 액션 시퀀스 플래너(170c)는 각 UI 요소의 성능에 기초하여 싱글 스텝 및 멀티 스텝 명령어/의도에 관한 동작 루틴/액션 시퀀스 그래프를 결정한다. 또한, 액션 시퀀스 플래너(170c)는 사용자 인터페이스에서 획득된 성능 리스트에 관련한 동작 루틴/시퀀스의 기 정의된 세트를 결정한다. 동작 루틴/시퀀스는 정적이거나 동적일 수 있다. 정적 액션 시퀀스는 시퀀스가 변화하지 않기 때문에 표로 만든다. 동적 액션 시퀀스는 지식 그래프의 화면 시퀀스에 기초하여 실행 중에 구축된다(사용자가 화면을 제어하는 동안, 동적 액션 시퀀스가 실시간으로 획득된다. 이것은 명확하게 액션 시퀀스를 설계하기 위해 개발자가 필요했던 전통적 액세스과는 다르다).
또한, 액션 시퀀스 플래너(170c)는 컨텍스트 오케스트레이터(170a)의 지식에 저장된 화면의 동작가능한 UI 요소 그래프에 기초하여 액션 시퀀스 식별(identity)을 결정한다. 화면의 동작가능한 UI 요소 그래프는 기 정의된 입력일 수 있거나 사용자의 화면 내비게이션 동작들(터치 및 음성 기반 동작 모두)를 이해하는 것으로부터 학습할 수 있다.
또한, 자연어 합성기(170d)는 시각적 시맨틱 자연어 예측기(170b)와 액션 시퀀스 플래너(170c)로부터 입력을 받는다. 자연어 합성기(170d)는 유사한 자연어 변형들을 모으고, 해당 자연어 변형들은 시각적 시맨틱 자연어 예측기(170b)에 의해 결정된다. 또한, 자연어 합성기(170)는 유사한 자연어 변형들에 대해 동적 의도를 할당하고, 해당 동적 의도를 식별된 액션과 식별된 액션 시퀀스와 연관시키며, 이 식별된 액션과 식별된 액션 시퀀스는 액션 시퀀스 플래너(170c)에 의해 결정된다. 표 12는 자연어 합성기(170d)에서의 유사한 자연어 변형들 및 동적 의도와 액션 시퀀스의 예를 나타낸다.
Dynamic intent ID-2
NL variations Click on the like icon
I like the photo
Click on the love button
Action sequence AS2
동적 언어 생성기(170e)는 자연어 합성기(170d)로부터 입력을 수신하고, 모아진 자연어 변형들, 동적 의도, 및 동작 루틴들에 기초하여 동적으로 자연어 모델을 생성시킨다. 또한, 동적 언어 생성기(170e)는 동적으로 생성된 자연어 모델을 데이터베이스에 저장한다. 동적 언어 생성기(170e)는 음성 입력을 수신한다(예: 사진을 좋아합니다). 동적 언어 생성기(170e)는 입력 받은 음성 입력의 발화가 식별된 적어도 하나의 UI 요소의 예측된 자연어 발화들과 매칭되는지 판단한다. 입력 받은 음성 입력의 발화가 식별된 적어도 하나의 UI 요소의 예측된 자연어 발화들과 매칭되면, 동적 언어 생성기(170e)는 전자 장치(100)의 화면(140)에 표시된 소셜 미디어 애플리케이션의 UI 요소(예: 하트 모양 아이콘)에 자동적으로 액세스한다. 결과적으로, 사용자는 식별된 UI 요소(들)에 액세스하기 위해 자연어를 활용할 수 있고 이는 사용자의 경험을 향상시킨다.
도 6은 일 실시 예에 따른, 전자 장치(100)와의 음성 인터렉션에 기초하여 전자 장치(100)의 화면(140)에 표시된 UI 요소에 자동 액세스하기 위한 스코어 메커니즘을 나타낸다.
텍스트 표현 스코어(601)는 전자 장치(100)의 화면(140)에 표시된 화면 정보를 읽음으로써 결정되며, 화면 정보는 텍스트 표현/텍스트 UI 요소의 형태이다. 또한, 컨텍스트 오케스트레이터(170a)가 텍스트 표현 스코어(601)를 포함한다. 텍스트 표현/텍스트 UI 요소(들)로부터 동사와 명사의 유의어들을 추출하는 동안, 유의어 스코어(602)가 할당된다. 유의어들과 주요 표현(텍스트 표현) 사이의 거리가 멀어질수록 유의어 스코어(602)는 낮아진다. 시각적 시맨틱 자연어 예측기 170b)는 유의어 스코어(602)를 포함하고, 텍스트 표현 스코어(601)로부터 입력을 받는다. 변형 스코어(603)는 가중치 학습을 수행하는데 사용될 수 있는 생성된 자연어 변형들을 동적 언어 생성기(170e)와 연관시킴으로써 결정된다. 관련성 스코어(604)는 근접한 요소 정보를 입력 받은 음성 입력의 발화에서 언급된 참조 오브젝트들과 비교함으로써 결정된다. 매칭 스코어(605)는 입력 받은 음성 입력의 발화를 동적 언어 생성기(170e)와 매칭하고, 이를 관련성 스코어(604)와 결합한 최종 스코어이다.
일 실시 예에서, 인터렉션 엔진(170)은 화면 정보로부터 가장 잘 매칭되는 컨텐츠를 추출한다. 복수의 매칭이 존재하는 경우, 명확한 조율을 위해 해당 스코어를 사용한다.
도 7은 일 실시 예에 따른, 전자 장치(100)가 화면(140)에 표시된 소셜 미디어 애플리케이션의 UI 요소의 자연어 발화들을 예측하고, 표시된 UI 요소과 연관된 액션 시뮬레이션에 대한 모델들을 동적으로 구축하기 위해 스코어 메커니즘을 사용하는 예시적 시나리오이다.
701에서, 전자 장치(100)의 사용자가 소셜 미디어 애플리케이션(예: F-share)을 탐색하고 있고 화면(140)에 표시된 사진을 좋아한다는 매우 자연스러운 방식을 표현하고 있는 시나리오를 가정하도록 한다. 이 시나리오에서는 인터렉션 엔진(170)에 의해 서로 다른 스코어들이 검색되며, 인터렉션 엔진(170)은 발견된 화면 매칭들 중 최고의 매칭을 선별한다. 화면(140)에는 요소 1과 요소 2로 이름 지어진 두 개의 하트 모양 아이콘들이 존재한다. 이 시나리오에서는 사용자에게 어느 것이 가장 좋을지 논의될 수 있다.
컨텍스트 오케스트레이터(170a)는 관련성 측정기(170aa), 텍스트 표현기(170ab), UI 요소 기능 판단기(170ac), 및 화면 시퀀스 탐지기(170ad)의 기능들을 사용하여 지식 그래프를 생성시킨다. 표 13은 생성된 지식 그래프의 알림(UI 요소)에 대한 예를 나타낸다.
UI element Knowledge graph information
Notification Loc: (700, 10)
Name: Like
Content shape: Heart (098) “textual
representation score (601)”
Content-type: icon
Type: Button
Capability: Press, Focus
또한, 시각적 시맨틱 자연어 예측기(170b)는 컨텍스트 오케스트레이터(170a)로부터 생성된 지식 그래프를 입력받는다. 또한, 시각적 시맨틱 자연어 예측기 (170b)는 입력받은 지식 그래프의 각 UI 요소를 도메인, 동사, 유의어, 슬롯, 슬롯 타입, 텍스트 표현된 슬롯, 기능, 및 전자 장치(100)의 화면에서의 상대적 위치(140)로 분류한다. 또한, 시각적 시맨틱 자연어 예측기(170b)는 해당 분류에 기초하여 자연어 변형들을 생성시킨다. 표 14는 시각적 시맨틱 자연어 예측기(170b)의 알림(UI 요소)에 대한 자연어 분류 및 자연어 변형의 예를 나타낸다.
도메인 이미지
애플리케이션 F-share
관련성: {사진 아래, Android 위}
자연어
분류
(알림)
동사: 터치(0.7), 탭 (0.9), 클릭 (1.0)
"유의어 스코어 (602)"
슬롯: {하트(1.0), 좋아요 (0.8), 아주 좋아요 (0.8)}
"유의어 스코어 (602)"
타입: {버튼, 아이콘, 이미지}
자연어 변형 하트 모양 아이콘 클릭 (0.98) "변형 스코어 (603)"
사진을 좋아합니다 (0.8) "변형 스코어 (603)"
또한, 액션 시퀀스 플래너(170c)는 컨텍스트 오케스트레이터(170a)로부터 생성된 지식 그래프를 입력 받는다. 또한, 액션 시퀀스 플래너(170c)는 각 UI 요소의 기능에 기초하여 싱글 스텝 및 멀티 스텝 명령어/의도에 대한 액션 루틴/액션 시퀀스 그래프를 결정한다. 또한, 액션 시퀀스 플래너(170c)는 사용자 인터페이스에서 발견된 기능 리스트와 연관된 기설정된 액션 루틴/시퀀스 세트를 결정한다. 액션 루틴/시퀀스는 정적 또는 동적일 수 있다. 정적 액션 시퀀스는 시퀀스가 변화되지 않으므로 표로 생성된다. 동적 액션 시퀀스는 지식 그래프의 화면 시퀀스에 기초하여 온 플라이(on fly) 형태로 구성된다.
또한, 자연어 합성기(170d)는 시각적 시맨틱 자연어 예측기(170b)와 액션 시퀀스 플래너(170c)로부터 입력을 받는다. 자연어 합성기(170d)는 유사한 자연어 변형들을 클러스터링하고, 해당 자연어 변형들은 시각적 시맨틱 자연어 예측기 (170b)에 의해 결정된다. 또한, 자연어 합성기(170)는 유사한 자연어 변형들에 대해 동적 의도를 할당하고, 해당 동적 의도를 식별된 액션과 식별된 액션 시퀀스를 연관시키며, 이 식별된 액션과 식별된 액션 시퀀스는 액션 시퀀스 플래너 (170c)에 의해 결정된다. 표 15는 자연어 합성기(170d)에서의 유사한 자연어 변형들 및 동적 의도와 액션 시퀀스의 예를 나타낸다.
Dynamic intent ID-2
NL variations Click on the like icon
I like the photo
Click on the love button
Action sequence AS2
또한, 동적 언어 생성기(170e)는 자연어 합성기(170d)로부터 입력을 수신하고, 클러스터링된 자연어 변형들, 동적 의도, 및 동작 루틴들에 기초하여 동적으로 자연어 모델을 생성한다. 또한, 동적 언어 생성기(170e)는 동적으로 생성된 자연어 모델을 데이터베이스에 저장한다. 동적 언어 생성기(170e)는 음성 입력(I like the photo)을 수신하고, 동적 언어 생성기(170e)는 수신된 음성 입력의 발화가 식별된 적어도 하나의 UI 요소의 예측된 자연어 발화들과 매칭되는지 판단한다. 표 16은 동적 언어 생성기(170e)에서의 후보 추정의 예를 나타낸다.
Candidate estimation
Element-1 Heart Loc (700, 10) (08)
Element-2 Heart Loc (980, 1200) (08)
또한, 동적 언어 생성기(170e)는 근접한 요소 정보를 입력 받은 음성 입력의 발화에서 언급된 참조 오브젝트들과 비교함으로써 관련성 스코어(604)를 결정한다. (즉, I like the photo(0.9)).
또한, 동적 언어 생성기(170e)는 매칭 스코어(605)를 최종 스코어로 결정한다. 표-17은 동적 언어 생성기(170e)에서의 매칭 스코어(605)의 예를 나타낸다.
Final output
Element-1 Heart Loc (700, 10) (09) (winner)
Element-2 Heart Loc (980, 1200) (08)
수신된 음성 입력의 발화가 식별된 UI 요소의 예측된 자연어 발화들과 매칭되면, 동적 언어 생성기(170e)는 전자 장치(100)의 화면(140)에 표시된 소셜 미디어 애플리케이션의 UI 요소(예: 하트 아이콘(요소-1))에 자동적으로 액세스한다. 이 시나리오에서, 사용자는 "좋아요"와 "사진"을 언급하고, 인터렉션 엔진(170)은 표 17에 기초하여 요소-1 하트 아이콘을 동작하기로 되어 있었다.
702에서, 동적 언어 생성기(170e)가 음성 입력(예: 하트 아이콘 클릭)을 수신하는 시나리오를 가정하자. 동적 언어 생성기(170e)는 수신된 음성 입력의 발화가 식별 UI 요소의 예측된 자연어 발화들과 매칭되는지 판단한다. 표 18은 동적 언어 생성기(170e)에서의 후보 추정의 예를 나타낸다.
Candidate estimation
Element-1 Heart Loc (700, 10) (08)
Element-2 Heart Loc (980, 1200) (08)
또한, 동적 언어 생성기(170e)는 근접한 요소 정보를 입력 받은 음성 입력의 발화에서 언급된 참조 오브젝트들과 비교함으로써 관련성 스코어(604)를 결정한다. (즉, 하트 아이콘 클릭(0)). 또한, 동적 언어 생성기(170e)는 매칭 스코어(605)를 최종 스코어로 결정한다. 표 19는 동적 언어 생성기(170e)에서의 매칭 스코어(605)의 예를 나타낸다.
Final output
Element-1 Heart Loc (700, 10) (08)
Element-2 Heart Loc (980, 1200) (08)
이 시나리오의 동일한 스코어를 가진 복수의 매칭들에 대해, 사용자가 그들 중 하나를 선택할 수 있게 하기 위해 명확화 과정(disambiguation flow)을 시작할 필요가 있다. 발화는 어떤 지지(supportive) 정보 없이 대상 요소에 대한 인디케이션을 가지므로, 관련성 스코어(604)는 0이다. 그러므로, 이러한 과정은 사용자 인터페이스에 불명확성을 제공할 것이다.
도 8은 본 개시의 일 실시예에 따른, 제한된 제어 및 탐색 명령어의 세트를 가지고 있는 기존의 방법들과, 멀티 스텝 의도를 위한 UI 요소의 자연어 발화들을 예측하는 제안된 방법의 비교를 나타낸다.
801 내지 803은 기존의 방법들을 나타내며, 여기에서 사용자가 기존의 전자 장치(10)의 화면에 표시된 탐색 애플리케이션의 페이지를 저장/북마크하기를 원하는 시나리오를 가정하도록 한다.
해당 시나리오에서, 기존의 방법은 이 탐색 애플리케이션의 전자 장치(10)의 화면에 표시되지 않은 부 기능 혹은 부 페이지에 액세스하지 않으므로, 사용자는 수동으로 단계 별 과정을 수행해야 한다. 기존의 방법들을 사용하여, 사용자는 단지 전자 장치(10)의 화면에 표시된 UI 요소에만 액세스할 수 있다.
804 내지 806은 본 개시에서 제언된 방법을 나타내며, 여기에서 사용자는 자연어를 활용함으로써(즉, 북마크를 전자 장치(100)에 대한 음성 입력으로 저장함으로써) 표시된 애플리케이션/UI 요소의 전자 장치의 화면에 표시되지 않은 부 기능 혹은 부 페이지에 액세스할 수 있으며, 이는 사용자의 경험을 향상시킬 수 있게 된다.
도 9a 내지 도 9c는 일 실시 예에 따른, 화면(140)에 표시된 UI 요소에 자동적으로 액세스하기 위한 전자 장치(100)의 자연어 합성기(170d)와 관련된 기능들을 나타낸다.
자연어 합성기(170d)는 자연어 생성 태스크(NL generation task)(901), 동적 의도 라벨(dynamic intent label)(902), 동적 언어 모델(dynamic language model )(903), 및 동적 의사 캡슐(dynamic pseudo capsule)(904)과 같은 다양한 기능들을 수행한다. 자연어 생성 태스크(901)는 다음과 같은 모듈들을 포함하며, 시맨택 피쳐 빌더(Semantic feature builder)가 모든 화면 정보 및 대응되는 문법 태그들을 축적한다. 커맨드 인코더(command encoder)가 문법 태그들을 사용하여 슬롯 플레이스 홀더(slot place holders)와 함께 변형들을 획득한다. 커맨드 디코더(command decoder)는 실시간 화면 정보, 즉 태그 값들과 그 대용들을 명령 암호기의 출력된 변형들에 사용한다. 커맨트 디코더는 최종 발화 변형들을 획득한다. 동적 의도 라벨(902)은 다음과 같은 모듈들을 포함하며, 무감독 유사성 분류기(unsupervised similarity classifier)는 유사한 발화들을 판단하고 버킷들(buckets)로 분류하는 모듈이다. 동적 라벨 생성기는 동적 ID를 하나의 버킷 안에 있는 유사한 발화 그룹에 할당한다. 동적 언어 모델(903)은 다음과 같은 모듈들을 포함하며, 슬롯 확장 모듈은 완전한 발화를 획득하기 위해 변형들을 실제 슬롯 값들로 대체한다. 언어 모델 형성기가 획득된 변형들을 사용하여 실시간으로 언어 모델을 형성한다. 동적 의사 캡슐(904)에서는, 의도 및 동작 결정 모듈이 동적 의도 라벨(902)과 액션 시퀀스 플래너(170c)로부터의 입력을 수신하고, 수신된 입력들에 기초한 예측을 메모리(110)(예: Bixby pseudo dynamic capsule)에 저장한다.
일 실시 예에서, 인터렉션 엔진(170)은 싱글 스텝 혹은 멀티 스텝에 기초한 단일/복수 의도 발화의 생성을 보조한다. 인터렉션 엔진(170)은 화면-텍스트로부터의 도메인 및 분류 정보와 함께 명명된 개체들을 결정하고, 이러한 정보를 오픈 도메인 자연어 발화들을 생성하는데 사용한다. 획득된 자연어 발화들은 동적 언어 모델로 분류 학습되며, VA(Voice Assistance) (예: 이 경우에는 빅스비)의 ASR(Audio Speech Recognition) 및 NLEPD(Natural Language based End Point Detection) 정확성을 향상시키는 데 더욱 도움을 줄 것이다. 또한, 인터렉션 엔진(170)은 동적으로 의도 예측, 액션 플래닝 및 실행을 위해 자연어 의도와 액션 페어들을 음성 보조 VA NLU 시스템에 대입한다. 자연어(NL), 자연어 분류 의도(NL Categorical Intent), 및 동적 언어 모델(Dynamic LM)과 같은 구조에서 획득되는 문맥 정보는 화면(140)상의 모든 변화 마다 새로 고침될 수 있다. 음성을 통해 화면 상 컨텐츠의 선택을 명확화하고, 서로 다른 애플리케이션들 상에서 유사한 제어 타입에 대한 명칭들을 연관시키고 구분하기 위해 다중 모달 정보(Multi-modal information)가 융합된다.
인터렉션 엔진(170)은 자연어 이해(NL)를 의도들로 분류하고, 획득된 자연어 이해를 동작 루틴들과 연관시키며, 어떠한 애플리케이션에 대해서도 사용자의 음성 인터렉션을 명시적으로 학습해야 할 필요성을 제거한다. 또한, 화면 액션 시퀀스를 연관시키는 인터렉션 엔진(170)은 싱글 액션 혹은 멀티 액션 동작에 대한 단일/복수 의도 자연어를 확립하는 것을 돕는다. 획득된 분류된 자연어를 사용하여, 보다 적합한 음성-텍스트 (Speech to Text, STT) 인식에서의 ASR을 보조하고, 학습되지 않은 발화들에 대한 EPD(End Point Detection)를 결정하는 데 있어서 NLEPD(Natural Language based End Point Detection)를 보조하기 위한 동적 언어 모델이 획득된다.
또한, 인터렉션 엔진(170)은 음성 인식 모듈, 예를 들어 Bixby ASR 모듈에서 보다 향상된 명명된 개체 인식을 사용하고, 동적으로 획득된 언어 모델을 사용하여 문맥적으로 EPD를 정확화한다. 또한, 인터렉션 엔진(170)은 화면 문맥 정보로부터의 dynamic NL Capsule development을 사용하므로, 명시적인 자연어 학습이 필요하지 않다. 또한, 인터렉션 엔진(170)은 화면 문맥 정보와 함께 다중 모달 융합 및, 화면 전이 시퀀스를 사용한 동적 액션 시퀀스를 사용하여 화면 제어 컨텐츠들을 명확화할 수 있다.
본 개시의 실시 예들은 적어도 하나의 하드웨어 기기를 사용하고 네트워크 관리 기능들을 수행하여 구성 요소들을 제어함으로써 수행될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서

Claims (20)

  1. 전자 장치(100)의 제어 방법에 있어서,
    전자 장치(100)의 화면(140)에 포함된 적어도 하나의 UI(User Interface) 요소를 식별하는 단계;
    상기 식별된 UI 요소의 적어도 하나의 특성을 식별하는 단계;
    상기 식별된 UI 요소의 적어도 하나의 특성에 기초하여 획득된 자연어(Natural Language) 발화를 포함하는 데이터베이스를 획득하는 단계;
    음성 입력이 수신되면, 상기 수신된 음성 입력의 발화가 상기 획득된 데이터 베이스에 포함된 상기 자연어 발화와 매칭되는지 여부를 식별하는 단계; 및
    상기 음성 입력의 발화가 상기 자연어 발화와 매칭되는 것으로 식별되면, 상기 적어도 하나의 UI 요소를 자동으로 액세스하는 단계;를 포함하며,
    상기 식별된 UI 요소의 적어도 하나의 특성은,
    각 UI 요소의 위치, 다른 UI 요소에 대한 각 UI 요소의 상대적인 위치, 각 UI 요소의 기능(function), 각 UI 요소의 성능(capability), 각 UI 요소의 타입(type), 또는 각 UI 요소의 형상(appearance) 중 적어도 하나를 포함하는, 제어 방법.
  2. 제1항에 있어서,
    상기 적어도 하나의 UI 요소는,
    실행 가능한 UI 요소, 실행 불가능한 UI 요소, 텍스트 UI 요소, 또는 비-텍스트 UI 요소 중 적어도 하나를 포함하는, 제어 방법.
  3. 제1항에 있어서,
    상기 자연어 발화와 매칭되는지 여부를 식별하는 단계는,
    상기 음성 입력의 발화를 상기 데이터베이스에 포함된 텍스트 UI 요소에 대응되는 자연어 발화와 제1 비교하는 단계;
    상기 제1 비교 결과에 따라 상기 음성 입력의 발화를 상기 데이터베이스에 포함된 텍스트 UI 요소의 유의어(Synonym)에 대응되는 자연어 발화와 제2 비교하는 단계;
    상기 제2 비교 결과에 따라 상기 음성 입력의 발화를 상기 데이터베이스에 포함된 비 텍스트 UI 요소의 형상에 대응되는 자연어 발화와 제3 비교하는 단계;를 포함하며,
    상기 제1 비교 결과, 상기 제2 비교 결과 또는 상기 제3 비교 결과 중 적어도 하나에 기초하여 상기 매칭 여부를 식별하는 단계;를 포함하는, 제어 방법.
  4. 제1항에 있어서,
    상기 자연어 발화와 매칭되는지 여부를 식별하는 단계는,
    상기 데이터베이스에 저장된 신경망 모델의 학습 결과를 획득하는 단계; 및
    상기 제1 비교 결과, 상기 제2 비교 결과 또는 상기 제3 비교 결과 중 적어도 하나와 상기 학습 결과에 기초하여 상기 매칭 여부를 식별하는 단계;를 포함하는, 제어 방법.
  5. 제1항에 있어서,
    상기 자연어 발화와 매칭되는지 여부를 식별하는 단계는,
    상기 화면에 포함된 적어도 하나의 UI 요소에 대한 매칭 스코어를 획득하는 단계;를 포함하고,
    상기 적어도 하나의 UI 요소를 자동으로 액세스하는 단계는,
    상기 화면에 포함된 적어도 하나의 UI 요소에 대한 매칭 스코어를 획득하는 단계;
    복수의 UI 요소 각각의 매칭 스코어가 제1 임계 수치 이상이고, 상기 복수의 UI 요소 각각의 매칭 스코어 차이가 제2 임계 수치 내인 경우 상기 복수의 UI 요소 중 어느 하나를 선택하기 위한 가이드 UI를 제공하는 단계; 및
    하나의 UI 요소의 매칭 스코어가 제1 임계 수치 이상이고, 나머지 UI 요소보다 상기 제2 임계 수치보다 큰 경우 상기 하나의 UI 요소를 실행하거나, 상기 하나의 UI 요소에 대한 사용자의 실행 확인을 요청하는 가이드 UI를 제공하는 단계;를 포함하는, 제어 방법.
  6. 제5항에 있어서,
    상기 적어도 하나의 UI 요소를 자동으로 액세스하는 단계는,
    상기 화면에 포함된 모든 UI 요소의 매칭 스코어가 상기 제1 임계 수치 미만인 경우 해당 정보를 알리는 가이드 GUI 또는 적어도 하나의 추천 UI 요소를 포함하는 가이드 UI 중 적어도 하나를 제공하는, 제어 방법.
  7. 제1항에 있어서,
    상기 데이터베이스를 획득하는 단계는,
    각 UI 요소의 위치에 기초한 각 UI 요소 간의 유사도, 각 UI 요소의 상대적 위치, 각 UI 요소의 기능, 각 UI 요소의 성능 및 각 UI 요소의 형상 중 적어도 하나 간 유사도를 식별하는 단계;
    상기 식별된 유사도에 기초하여 각 UI 요소를 클러스터링하여 지식 그래프를 획득하는 단계; 및
    상기 획득된 지식 그래프를 상기 데이터베이스에 저장하는 단계;를 포함하는 방법.
  8. 제1항에 있어서,
    상기 데이터베이스를 획득하는 단계는,
    각 UI 요소의 가시적 특성 및 상대적 위치로부터 비-텍스트 UI 요소의 텍스트 표현(textual representation)을 결정하는 단계;를 포함하는, 제어 방법.
  9. 제1항에 있어서,
    상기 데이터베이스를 획득하는 단계는,
    각 UI 요소 및 각 UI 요소의 성능에 대응되는 기 정의된 정보를 매핑하여 지식 그래프를 획득하는 단계; 및
    상기 획득된 지식 그래프를 상기 데이터베이스에 저장하는 단계;를 포함하는, 제어 방법.
  10. 제1항에 있어서,
    상기 데이터베이스를 획득하는 단계는,
    상기 화면에서 동작 가능한 UI 요소를 통해 전이된 기 정의된 화면 시퀀스를 결정하여 지식 그래프를 획득하는 단계; 및
    상기 획득된 지식 그래프를 상기 데이터베이스에 저장하는 단계;를 포함하는, 제어 방법.
  11. 제1항에 있어서,
    싱글 스텝 의도 및 멀티 스텝 의도 중 적어도 하나에 대한 자연어 변형(variations)을 획득하기 위해 지식 그래프에 대한 시맨틱 번역 (semantic translation)을 수행하는 단계;
    상기 획득된 지식 그래프를 사용하여 상기 싱글 스텝 의도 및 멀티 스텝 의도 중 적어도 하나에 대한 적어도 하나의 액션 및 적어도 하나의 액션 시퀀스를 식별하는 단계; 및
    상기 획득된 자연어 변형을 상기 식별된 액션 및 상기 식별된 액션 시퀀스와 맵핑함으로써 상기 식별된 UI 요소의 자연어 발화를 예측하기 위한 자연어 모델을 동적으로 생성하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 시맨틱 번역을 수행하는 단계는,
    상기 지식 그래프의 각 UI 요소를 상기 화면(140) 상의 도메인, 동사, 동의어, 슬롯, 슬롯 타입, 텍스처로 표현된 슬롯, 성능 및 상대 위치 중 적어도 하나로 카테고리화하는 단계; 및
    상기 카테고리화에 기초하여 상기 자연어 변형을 획득하는 단계;를 포함하는, 제어 방법.
  13. 제11항에 있어서,
    상기 액션 및 상기 액션 시퀀스를 식별하는 단계는,
    상기 화면(140) 상에 포함된 UI 요소 타입에 관한 정보 및 이에 대응되는 성능, 성능과 관련된 동사, 액션 정보에 대한 성능, 상기 화면에서 동작 가능한 요소 시퀀스 그래프 및 대응되는 액션 시퀀스, 기 정의된 액션 및 액션 시퀀스를 포함하는 기 정의된 테이블 세트를 결정하는 단계; 및
    각 UI 요소의 성능에 기초하여 액션 루틴을 결정하는 단계;를 포함하며,
    상기 기 정의된 액션 및 액션 시퀀스에는 고유한 아이덴티티가 할당되는, 제어 방법.
  14. 제11항에 있어서,
    상기 자연어 모델을 동적으로 생성하는 단계는,
    상기 유사한 자연어 변형들을 클러스터링하는 단계;
    상기 유사한 자연어 변형들에 대한 동적 의도를 할당하는 단계;
    상기 적어도 하나의 식별된 액션 및 상기 적어도 하나의 식별된 액션 시퀀스를 상기 동적 의도와 연관시키는 단계;
    상기 클러스터링된 자연어 변형, 상기 동적 의도, 및 상기 액션 루틴들에 기초하여 상기 자연어 모델을 동적으로 생성하는 단계; 및
    상기 동적으로 생성된 자연어 모델을 상기 데이터베이스에 저장하는 단계;를 포함하는, 제어 방법.
  15. 제1항에 있어서,
    상기 자연어 발화들과 매칭되는지 여부를 식별하는 단계는,
    상기 화면(140) 상에 포함된 화면 정보를 판독함으로써 텍스트 표현 스코어를 결정하는 단계;
    상기 화면 정보에 포함된 텍스트 표현 및 텍스트 UI 요소로부터 동사 및 명사에 대한 동의어를 추출하고 동의어 스코어를 할당하는 단계;
    동적 언어 생성기(170E)에 대한 가중 학습에 이용되는 상기 자연어 변형들을 연관시키는 분산 스코어를 결정하는 단계;
    상기 수신된 음성 입력의 발화에 포함된 참조 오브젝트들과 근접 요소 정보를 비교함으로써 관련성 스코어를 결정하는 단계; 및
    상기 동적 언어 생성기(170E)에 대해 상기 수신된 음성 입력의 발화와 매칭되는 최종 스코어로서 매칭 스코어를 결정하고, 상기 결정된 매칭 스코어를 상기 관련성 스코어와 결합하는 단계;를 포함하는, 제어 방법.
  16. 제1항에 있어서,
    상기 적어도 하나의 특성은,
    각 UI 요소의 상대적인 위치, 각 UI 요소의 기능, 각 UI 요소의 성능, 각 요소의 타입, 및 각 UI 요소의 형상 중 적어도 하나를 포함하는, 제어 방법.
  17. 제1항에 있어서,
    상기 데이터베이스는,
    상기 전자 장치(100)의 현재 화면(140)에 기초하여 실시간으로 생성되는, 제어 방법.
  18. 전자 장치(100)에 있어서,
    메모리(110); 및
    상기 메모리(110)와 연결되어 전자 장치(100)를 제어하는 프로세서(120);를 포함하며,
    상기 프로세서(120)는,
    전자 장치(100)의 화면(140)에 포함된 적어도 하나의 UI(User Interface) 요소를 식별하고,
    상기 식별된 UI 요소의 적어도 하나의 특성을 식별하고,
    상기 식별된 UI 요소의 상기 적어도 하나의 특성에 기초하여 획득된 자연어(Natural Language) 발화를 포함하는 데이터베이스를 획득하고,
    음성 입력이 수신되면, 상기 수신된 음성 입력의 발화가 상기 획득된 데이터 베이스에 포함된 상기 자연어 발화와 매칭되는지 여부를 식별하고,
    상기 음성 입력의 발화가 상기 자연어 발화와 매칭되는 것으로 식별되면, 상기 적어도 하나의 UI 요소를 자동으로 액세스하며,
    상기 식별된 UI 요소의 적어도 하나의 특성은,
    각 UI 요소의 위치, 다른 UI 요소에 대한 각 UI 요소의 상대적인 위치, 각 UI 요소의 기능(function), 각 UI 요소의 성능(capability), 각 UI 요소의 타입, 또는 각 UI 요소의 형상(appearance) 중 적어도 하나를 포함하는, 전자 장치.
  19. 제18항에 있어서,
    상기 프로세서는,
    상기 음성 입력의 발화를 상기 데이터베이스에 포함된 텍스트 UI 요소에 대응되는 자연어 발화와 제1 비교하고,
    상기 제1 비교 결과에 따라 상기 음성 입력의 발화를 상기 데이터베이스에 포함된 텍스트 UI 요소의 유의어(Synonym)에 대응되는 자연어 발화와 비교하고,
    상기 제2 비교 결과에 따라 상기 음성 입력의 발화를 상기 데이터베이스에 포함된 비 텍스트 UI 요소의 형상에 대응되는 자연어 발화와 제3 비교하고,
    상기 데이터베이스에 저장된 신경망 모델의 학습 결과를 획득하고,
    상기 제1 비교 결과, 상기 제2 비교 결과 또는 상기 제3 비교 결과 중 적어도 하나와 상기 학습 결과에 기초하여 상기 매칭 여부를 식별하는, 제어 방법.
  20. 제18항에 있어서,
    상기 프로세서는,
    상기 화면에 포함된 적어도 하나의 UI 요소에 대한 매칭 스코어를 획득하고,
    복수의 UI 요소 각각의 매칭 스코어가 제1 임계 수치 이상이고, 상기 복수의 UI 요소 각각의 매칭 스코어 차이가 제2 임계 수치 내인 경우 상기 복수의 UI 요소 중 어느 하나를 선택하기 위한 가이드 UI를 제공하고,
    하나의 UI 요소의 매칭 스코어가 제1 임계 수치 이상이고, 나머지 UI 요소보다 상기 제2 임계 수치보다 큰 경우 상기 하나의 UI 요소를 실행하거나, 상기 하나의 UI 요소에 대한 사용자의 실행 확인을 요청하는 가이드 UI를 제공하는, 전자 장치.
KR1020210122742A 2020-09-23 2021-09-14 전자 장치 및 그 제어 방법 KR20220040997A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2021/012839 WO2022065837A1 (en) 2020-09-23 2021-09-17 Electronic apparatus and control method thereof
US17/452,510 US20220093098A1 (en) 2020-09-23 2021-10-27 Electronic apparatus and control method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202041041137 2020-09-23
IN202041041137 2021-08-13

Publications (1)

Publication Number Publication Date
KR20220040997A true KR20220040997A (ko) 2022-03-31

Family

ID=80935063

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210122742A KR20220040997A (ko) 2020-09-23 2021-09-14 전자 장치 및 그 제어 방법

Country Status (1)

Country Link
KR (1) KR20220040997A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024080485A1 (ko) * 2022-10-11 2024-04-18 삼성전자주식회사 사용자 음성에 대응되는 동작을 수행하기 위한 전자 장치 및 그 제어 방법
WO2024144019A1 (ko) * 2022-12-29 2024-07-04 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024080485A1 (ko) * 2022-10-11 2024-04-18 삼성전자주식회사 사용자 음성에 대응되는 동작을 수행하기 위한 전자 장치 및 그 제어 방법
WO2024144019A1 (ko) * 2022-12-29 2024-07-04 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법

Similar Documents

Publication Publication Date Title
US20220093098A1 (en) Electronic apparatus and control method thereof
US10977452B2 (en) Multi-lingual virtual personal assistant
US11367434B2 (en) Electronic device, method for determining utterance intention of user thereof, and non-transitory computer-readable recording medium
JP7022062B2 (ja) 統合化された物体認識および顔表情認識を伴うvpa
US10521723B2 (en) Electronic apparatus, method of providing guide and non-transitory computer readable recording medium
EP3513324B1 (en) Computerized natural language query intent dispatching
KR102309031B1 (ko) 지능형 에이전트 관리 방법 및 장치
US11194448B2 (en) Apparatus for vision and language-assisted smartphone task automation and method thereof
US20210012766A1 (en) Voice conversation analysis method and apparatus using artificial intelligence
US11721333B2 (en) Electronic apparatus and control method thereof
US11586689B2 (en) Electronic apparatus and controlling method thereof
US11443749B2 (en) Electronic device and control method thereof
CN112799747A (zh) 智能助理评价、推荐方法、系统、终端及可读存储介质
US20210217409A1 (en) Electronic device and control method therefor
US20220148576A1 (en) Electronic device and control method
KR102596841B1 (ko) 사용자의 발화에 응답하여 하나 이상의 아이템을 제공하기 위한 전자 장치 및 방법
US12020693B2 (en) System and method for out-of-vocabulary phrase support in automatic speech recognition
CN111108468A (zh) 基于滑动输入来确定输入字符的系统和方法
KR20190099153A (ko) 전자 장치
KR20220040997A (ko) 전자 장치 및 그 제어 방법
US20230290343A1 (en) Electronic device and control method therefor
KR20210079061A (ko) 정보 처리 방법 및 정보 처리 장치
US11748558B2 (en) Multi-persona social agent
US11403556B2 (en) Automated determination of expressions for an interactive social agent
US11854535B1 (en) Personalization for speech processing applications