KR20210016739A - 전자 장치 및 전자 장치의 입력 방법 - Google Patents
전자 장치 및 전자 장치의 입력 방법 Download PDFInfo
- Publication number
- KR20210016739A KR20210016739A KR1020190094871A KR20190094871A KR20210016739A KR 20210016739 A KR20210016739 A KR 20210016739A KR 1020190094871 A KR1020190094871 A KR 1020190094871A KR 20190094871 A KR20190094871 A KR 20190094871A KR 20210016739 A KR20210016739 A KR 20210016739A
- Authority
- KR
- South Korea
- Prior art keywords
- input
- speech recognition
- recognition result
- text token
- electronic device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000004458 analytical method Methods 0.000 claims abstract description 21
- 238000010191 image analysis Methods 0.000 claims abstract description 14
- 230000014509 gene expression Effects 0.000 claims description 37
- 239000000284 extract Substances 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000003058 natural language processing Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012015 optical character recognition Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
- G06F3/0233—Character input methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/221—Announcement of recognition results
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
Abstract
전자 장치 및 전자 장치의 입력 방법이 개시된다. 개시된 전자 장치의 입력 방법은 표시된 화면에 대해 레이아웃 분석 및 이미지 분석을 수행하여 상기 화면에서 입력이 요구되는 입력 항목들을 식별하는 단계, 사용자의 음성 신호에 대한 음성 인식 결과로부터 추출된 텍스트 토큰을 상기 입력 항목들 중 어느 하나에 태깅하는 단계, 및 상기 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력하는 단계를 포함한다.
Description
아래 실시예들은 전자 장치 및 전자 장치의 입력 방법에 관한 것이다.
최근 스마트 폰에서 이용 가능한 서비스가 다양해지면서, 스마트 폰의 활용도가 급속도로 증대되고 있다. 이러한 스마트 폰의 활용도의 증대로 인해 스마트 폰에 입력해야 하는 정보가 점차 많아지고 다양해지고 있으나, 상대적으로 작은 사이즈를 가진 스마트 폰에 많은 정보를 입력하기 쉽지 않다.
일실시예에 따른 입력 방법은 표시된 화면에 대해 레이아웃 분석 및 이미지 분석을 수행하여 상기 화면에서 입력이 요구되는 입력 항목들을 식별하는 단계; 사용자의 음성 신호에 대한 음성 인식 결과로부터 추출된 텍스트 토큰을 상기 입력 항목들 중 어느 하나에 태깅(tagging)하는 단계; 및 상기 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력하는 단계를 포함한다.
일실시예에 따른 입력 방법에서 상기 레이아웃 분석은 상기 표시된 화면에 포함된 입력 항목들을 정의하는 UI 레이아웃 파일에 기초하여 수행될 수 있다.
일실시예에 따른 입력 방법에서 상기 UI 레이아웃 파일은 플랫폼 레벨에서 접근 가능한 파일로서, 상기 화면에 포함된 상기 입력 항목들의 위치, 순서, 값 타입 및 오브젝트 타입 중 적어도 하나를 코드 레벨에서 정의하는 파일일 수 있다.
일실시예에 따른 입력 방법에서 상기 이미지 분석은 상기 표시된 화면 내 상기 입력 항목들 간 상대적 위치에 대해 수행될 수 있다.
일실시예에 따른 입력 방법에서 상기 태깅하는 단계는 상기 입력 항목들 중 어느 하나가 상기 음성 인식 결과에서 언급되었는지 여부; 상기 사용자가 입력하고자 하는 입력 항목을 지시하는 표현이 상기 음성 인식 결과에 포함되어 있는지 여부; 및 상기 음성 인식 결과의 내용, 타입 및 순서 중 적어도 하나 중 적어도 하나에 기초하여, 상기 음성 인식 결과에서 상기 텍스트 토큰을 추출하여 상기 입력 항목들 중 어느 하나에 태깅할 수 있다.
일실시예에 따른 입력 방법에서 상기 태깅하는 단계는 상기 입력 항목들 중 어느 하나가 상기 음성 인식 결과에서 언급된 경우, 상기 음성 인식 결과에서 상기 언급된 입력 항목 다음으로 위치한 하나 이상의 단어들을 상기 텍스트 토큰으로 추출하고, 상기 추출된 텍스트 토큰을 상기 언급된 입력 항목에 태깅할 수 있다.
일실시예에 따른 입력 방법에서 상기 태깅하는 단계는 상기 사용자가 입력하고자 하는 입력 항목에 관한 표현이 상기 음성 인식 결과에 포함된 경우, 상기 음성 인식 결과에서 상기 표현 다음으로 위치한 하나 이상 단어들을 상기 텍스트 토큰으로 추출하고, 상기 추출된 텍스트 토큰을 상기 표현이 지시하는 입력 항목에 태깅할 수 있다.
일실시예에 따른 입력 방법에서 상기 입력 항목에 관한 표현은 상기 입력 항목을 지시하는 표현 및 상기 입력 항목에 기 입력된 정보를 언급하는 표현 중 적어도 하나를 포함할 수 있다.
일실시예에 따른 입력 방법에서 상기 태깅하는 단계는 상기 음성 인식 결과에 포함된 하나 이상의 단어들의 내용, 타입 및 순서 중 적어도 하나에 대응하는 입력 항목을 식별하고, 상기 식별된 입력 항목에 상기 하나 이상의 단어들을 포함하는 텍스트 토큰을 태깅할 수 있다.
일실시예에 따른 입력 방법에서 상기 태깅된 텍스트 토큰을 입력하는 단계는 상기 태깅된 텍스트 토큰의 형식이 상기 대응하는 입력 항목에 부합하지 않으면, 상기 태깅된 텍스트 토큰을 상기 대응하는 입력 항목에 미리 정해진 형식으로 변환하여 입력할 수 있다.
일실시예에 따른 입력 방법은 상기 사용자의 음성 신호에 대한 음성 인식 결과를 상기 화면에 표시하는 단계를 더 포함할 수 있다.
일실시예에 따른 입력 방법은 상기 음성 인식 결과에서 상기 텍스트 토큰으로 추출된 하나 이상의 단어들은 시각적으로 다르게 표시될 수 있다.
일실시예에 따른 입력 방법은 상기 사용자로부터 음성 인식을 호출하는 명령을 입력 받는 단계를 더 포함할 수 있다.
일실시예에 따른 전자 장치는 프로세서; 및 상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 표시된 화면에 대해 레이아웃 분석 및 이미지 분석을 수행하여 상기 화면에서 입력이 요구되는 입력 항목들을 식별하고, 사용자의 음성 신호에 대한 음성 인식 결과로부터 추출된 텍스트 토큰을 상기 입력 항목들 중 어느 하나에 태깅하며, 상기 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력한다.
도 1 및 도 2는 일실시예에 따라 음성으로 정보를 입력 항목들에 입력하는 과정을 설명하기 위한 도면이다.
도 3은 일실시예에 따라 전자 장치의 화면을 분석하는 과정을 설명하기 위한 도면이다.
도 4 내지 도 6은 일실시예에 따라 텍스트 토큰을 입력 항목에 태깅하는 과정을 설명하기 위한 도면이다.
도 7 및 도 8은 일실시예에 따라 전자 장치의 화면에 음성 인식 결과가 표시되는 예시들을 나타낸 도면이다.
도 9는 일실시예에 따른 전자 장치의 동작 방법을 나타낸 도면이다.
도 10은 일실시예에 따른 전자 장치를 나타낸 도면이다.
도 3은 일실시예에 따라 전자 장치의 화면을 분석하는 과정을 설명하기 위한 도면이다.
도 4 내지 도 6은 일실시예에 따라 텍스트 토큰을 입력 항목에 태깅하는 과정을 설명하기 위한 도면이다.
도 7 및 도 8은 일실시예에 따라 전자 장치의 화면에 음성 인식 결과가 표시되는 예시들을 나타낸 도면이다.
도 9는 일실시예에 따른 전자 장치의 동작 방법을 나타낸 도면이다.
도 10은 일실시예에 따른 전자 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
도 1 및 도 2는 일실시예에 따라 음성으로 정보를 입력 항목들에 입력하는 과정을 설명하기 위한 도면이다.
도 1을 참조하면, 일실시예에 따라 음성으로 정보를 입력 항목들에 입력하는 예시적인 상황이 도시된다.
일실시예에 따른 전자 장치(110)는 사용자(130)의 정보 입력이 요구되는 복수의 입력 항목들(120)을 화면에 표시할 수 있다. 사용자(130)는 전자 장치(110)에 표시되는 자판을 이용하여 복수의 입력 항목들(120)에 정보를 입력할 수도 있으나, 입력하고자 하는 입력 항목의 선택과 입력하고자 하는 정보의 타이핑을 일일이 수행해야만 한다. 이러한 일련의 작업은 사용자(130)에게 번거로울 수 있으며, 정보 입력에 상당한 시간이 소요될 수 있다. 대신, 사용자(130)는 음성으로 다양한 정보를 입력 항목들(120)에 입력함으로써, 타이핑의 번거로움을 피하고 입력 시간을 상당히 줄일 수 있다.
전자 장치(110)는 현재 표시된 화면을 분석하여 정보 입력이 필요한 복수의 입력 항목들(120)을 확인하고, 사용자(130)로부터 "이름은 ○○○이고, 연락처는 △△△이고, 주소는 □□□이야."의 음성 신호를 수신할 수 있다. 그리고, 전자 장치(110)는 "이름은 ○○○이고, 연락처는 △△△이고, 주소는 □□□이야."의 음성 신호를 음성 인식하여 "이름은 ○○○이고, 연락처는 △△△이고, 주소는 □□□이야."의 문장 데이터를 음성 인식 결과로 획득할 수 있다. 그리고, 전자 장치(110)는 음성 인식 결과에서 추출된 하나 이상의 텍스트 토큰을 복수의 입력 항목들(120)에 입력할 수 있다. 여기서, 텍스트 토큰은 음성 인식 결과에서 입력 항목에 입력될 필요가 있는 것으로 추출된 하나 이상의 단어일 수 있으며, 앞선 예시에서 "○○○", "△△△", "□□□" 각각이 텍스트 토큰으로 추출될 수 있다. 이처럼, 전자 장치(110)는 자연어 처리(NLP; Natural Language Processing)와 전경 어플리케이션 뷰(foreground application view) 분석에 기반하여 사용자(130)의 음성 신호로부터의 다양한 정보를 복수의 입력 항목들(120)에 손쉽게 한 번에 입력 가능한 직관적이고 실용적인 사용자 경험을 제공할 수 있다.
앞선 설명들은 사용자(130)가 소지하고 직접 제어하는 전자 장치(110)에서 모든 동작들이 수행되는 것을 기준으로 하였으나, 실시예에 따라서는 전자 장치(110)가 통신 네트워크로 연결된 별도의 서버로 사용자(130)의 음성 신호를 전달하고, 서버에서 처리된 결과를 수신하여 입력 항목에 정보 입력만 수행할 수도 있다. 아래에서는 설명의 편의를 위해 전자 장치(110)에서 모든 동작들이 수행되는 것을 기준으로 설명하겠으나, 이러한 설명이 별도의 서버가 존재하는 실시예를 배제하지 않으며 마찬가지로 적용될 수 있다.
도 2를 참조하면, 일실시예에 따라 음성으로 정보를 입력 항목들에 입력하는 동작들을 나타낸 플로우차트가 도시된다.
단계(210)에서, 전자 장치는 사용자로부터 입력된 명령에 기반하여 음성 인식을 호출할 수 있다. 예를 들어, 사용자는 미리 정해진 버튼을 선택하거나, "Hi bixby"와 같이 미리 정해진 키워드를 발화함으로써, 음성 인식 호출을 명령할 수 있다.
단계(220)에서, 전자 장치는 표시된 화면을 분석하고, 슬롯 값 태거(slot value tagger)를 초기화할 수 있다. 전자 장치는 표시된 화면에 대한 레이아웃 분석 및 이미지 분석을 수행하여 화면에서 입력이 필요한 입력 항목들을 식별한다. 보다 자세한 내용은 도 3을 통해 상세히 후술한다.
단계(230)에서, 전자 장치는 사용자의 음성 신호에 대해 음성 인식을 수행할 수 있다. 사용자가 발화한 음성 신호는 음성 인식을 통해 문장 데이터로 변환되어 음성 인식 결과로 획득될 수 있다.
단계(240)에서, 전자 장치는 음성 인식 결과로부터 추출된 텍스트 토큰을 입력 항목들 중 어느 하나에 태깅한다. 전자 장치는 음성 인식 결과에서 사용자가 입력하고자 하는 정보를 포함한 텍스트 토큰을 추출할 수 있고, 추출된 텍스트 토큰에 대응하는 입력 항목에 해당 텍스트 토큰을 태깅할 수 있다. 예를 들어, 도 1에서는 "○○○/이름", "△△△/연락처", "□□□/주소"로 텍스트 토큰들에 대한 태깅이 수행될 수 있다.
이처럼, 전자 장치는 자연어 처리에 기반하여, 음성 인식 결과로부터 추출된 텍스트 토큰을 입력 항목들 중 어느 하나에 태깅할 수 있다. 이 때, 전자 장치는 일반적인 자연어 처리에서 도메인(domain) 결정이나 의도(intent) 결정을 제외한 슬롯 값 결정을 이용할 수 있다. 다시 말해, 전자 장치는 기능적 목적이나 의도 구분 없이, 음성 인식 결과에서 의미 있는 단어를 텍스트 토큰으로 추출하여 태깅할 수 있다. 전자 장치는 자연어 처리 중에서 슬롯 값 결정을 화면에 표시된 입력 항목들에 정보를 입력하는 데 사용할 수 있다.
단계(250)에서, 전자 장치는 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력한다. 예를 들어, 전자 장치는 태깅 결과(예컨대, "○○○/이름", "△△△/연락처", "□□□/주소")에 기초하여, 입력 항목 "이름"에 "○○○"을 입력하고, 입력 항목 "연락처"에 "△△△"를 입력하고, 입력 항목 "주소"에 "□□□"를 입력할 수 있다.
도 3은 일실시예에 따라 전자 장치의 화면을 분석하는 과정을 설명하기 위한 도면이다.
도 3을 참조하면, 일실시예에 따라 화면에 포함된 복수의 입력 항목들(310~360)이 예시적으로 도시된다.
일실시예에 따른 전자 장치는 표시된 화면에 대해 레이아웃 분석을 수행한다. 화면은 미리 작성된 프로그램 코드에 따라 구성될 수 있으며, 프로그램 코드에서 입력 항목의 사이즈, 값 타입, 오브젝트 타입, 위치 등이 정의될 수 있다. 이처럼 표시되는 화면을 구성하는 파일을 UI 레이아웃 파일이라 하며, 레이아웃 분석은 표시된 화면에 포함된 입력 항목들을 정의하는 UI 레이아웃 파일에 기초하여 수행될 수 있다.
일실시예에 따른 UI 레이아웃 파일은 플랫폼(예컨대, 안드로이드 등) 레벨에서 접근 가능한 파일로서, 화면에 포함된 입력 항목들의 위치, 순서, 값 타입 및 오브젝트 타입 중 적어도 하나를 코드 레벨에서 정의하는 파일일 수 있다.
입력 항목들의 위치는 입력 항목들의 절대적 위치뿐만 아니라 입력 항목들 간의 상대적인 위치를 포함할 수 있다. 예를 들어, UI 레이아웃 파일은 입력 항목 "이름"(310)이 입력 항목 "연락처"(320)의 왼쪽에 위치하며, 입력 항목 "주소"(330)의 위쪽에 위치한다는 것을 정의할 수 있다.
입력 항목들의 순서는 입력 항목들에 정보를 입력할 때 일반적으로 입력되는 순서로서, 예를 들어, 좌에서 우로 향하는 순서 및/또는 위에서 아래로 향하는 순서를 포함할 수 있다. 예를 들어, UI 레이아웃 파일은 입력 항목 "이름"(310)이 입력 항목 "연락처"(320), 입력 항목 "주소"(330)보다 순서가 앞선다는 것을 정의할 수 있다.
입력 항목의 값은 전자 장치에 표시된 화면에 텍스트 형태로 존재하는 문자(예컨대, 한글, 영문 등), 숫자, 기호 등의 나열에 관한 것일 수 있다. 입력 항목들의 값 타입은 값의 형태(또는, 형식)에 대한 조건 정의일 수 있다. 예를 들어, 값 타입은 문자-숫자 조합, 입력 가능한 값의 최대 길이 등의 조건이 될 수 있다. 도 3에 도시된 예시에서, UI 레이아웃 파일은 입력 항목 "이름"(310)의 값 타입이 문자이고, 입력 항목 "연락처"(320)의 값 타입이 최대 n개 길이를 갖는 숫자이고, 입력 항목 "주소"(330)의 값 타입이 문자-숫자 조합이며, 입력 항목 "신용카드"(340)의 값 타입이 숫자인 것을 정의할 수 있다. 입력 항목의 값 타입은 해당 항목에 입력 가능한 정보의 제약 조건으로 적용될 수 있다.
입력 항목들의 오브젝트 타입은 전자 장치에 표시되는 화면 구성요소의 종류로서, 예를 들어, 텍스트를 출력하는 영역인 텍스트 필드, 정보 입력이 가능한 입력 필드, 미리 정해진 목록 중에서 어느 하나를 선택 받는 리스트박스, 미리 정해진 목록 중에서 하나 이상을 선택 받는 체크박스를 포함할 수 있다. 예를 들어, UI 레이아웃 파일은 입력 항목 "이름"(310)의 오브젝트 타입이 입력 필드이고, 입력 항목 "선택1"(350)의 오브젝트 타입이 리스트박스이며, 입력 항목 "선택2"(360)의 오브젝트 타입이 체크박스인 것을 정의할 수 있다.
추후 상세히 설명하겠으나, 입력 항목의 값 타입과 오브젝트 타입이 함께 고려되어 사용자가 입력하고자 하는 입력 항목이 식별될 수 있다. 예를 들어, 입력 항목 "선택1"(350)이 '언어 항목'에 관한 리스트박스로서, 1: 한국어, 2: English인 목록을 가지고 있는 경우에 사용자가 "언어 리스트에서 한글로 된 것을 선택해줘"라고 발화한다면, '리스트'에 대응하는 오브젝트 타입, '한글'에 대응하는 값 타입을 인식하여, 사용자가 입력하고자 하는 입력 항목이 식별될 수 있다. 또한, 전자 장치에 표시된 이미지, 버튼 등은 오브젝트 타입에 해당하며, 해당 이미지, 버튼에 표시된 텍스트가 있다면, 해당 텍스트는 값 타입으로 고려될 수 있다.
또한, 전자 장치는 표시된 화면에 대해 이미지 분석을 수행한다. 전자 장치는 표시된 화면을 캡쳐하고, 캡쳐된 화면에서 입력 항목들의 위치를 확인할 수 있다. 예를 들어, 전자 장치는 캡쳐된 화면에서 정보 입력이 가능한 입력란, 체크 가능한 체크박스 등을 식별하고, 그들 간의 상대적 위치도 확인할 수 있으며, 문자 판독 기술(예컨대, OCR(Optical Character Reader) 등)에 기반하여 각 입력란에 어떤 정보가 입력될 필요가 있는지도 확인할 수 있다.
이처럼, 전자 장치는 화면에 대한 레이아웃 분석 및 이미지 분석을 통해 화면에 포함된 입력 항목들의 위치, 순서, 값 타입, 오브젝트 타입 등을 확인할 수 있으므로, 음성 인식 결과에서 어떤 단어를 텍스트 토큰으로 추출해야 하는지를 결정할 수 있다.
도 4 내지 도 6은 일실시예에 따라 텍스트 토큰을 입력 항목에 태깅하는 과정을 설명하기 위한 도면이다.
도 4를 참조하면, 일실시예에 따른 음성 인식 결과에 입력 항목이 언급된 경우에 텍스트 토큰을 태깅하는 과정을 설명하기 위한 예시가 도시된다.
일실시예에 따라 도 3에서 설명한 화면 분석 후 "이름은 ○○○이고, 연락처는 △△△이고, 주소는 □□□이야."의 문장 데이터가 음성 인식 결과로 획득되는 것을 가정한다. 전자 장치는 앞서 설명한 화면 분석으로 입력 항목들에 이름, 연락처, 주소가 있다는 것을 확인하였고, 이러한 입력 항목들이 음성 인식 결과에 언급된 것을 확인할 수 있다. 이 경우, 전자 장치는 음성 인식 결과에서 언급된 입력 항목 다음으로 위치한 하나 이상의 단어들을 텍스트 토큰으로 추출하고, 추출된 텍스트 토큰을 언급된 입력 항목에 태깅할 수 있다.
예를 들어, 전자 장치는 음성 인식 결과에서 "이름"(410) 다음으로 위치한 하나 이상의 단어들 ○○○(420)을 텍스트 토큰으로 추출하여, 입력 항목 "이름"에 태킹할 수 있다. 전자 장치는 입력 항목에 대응하는 "이름"(410)과 "연락처"(430) 사이에 위치하는 ○○○(420)을 텍스트 토큰으로 추출할 수 있다. 또한, 전자 장치는 슬롯 값 태거 모델의 임계치를 이용하여 음성 인식 결과에서 입력 항목에 입력될 유의미한 하나 이상의 단어들 ○○○(420)을 추출할 수도 있다. 마찬가지로, 전자 장치는 음성 인식 결과에서 "연락처"(430) 다음으로 위치한 △△△(440)를 추출하여 입력 항목 "연락처"에 태깅하고, 음성 인식 결과에서 "주소"(450) 다음으로 위치한 □□□(460)를 추출하여 입력 항목 "주소"에 태깅할 수 있다.
도 5를 참조하면, 일실시예에 따라 음성 인식 결과에 사용자가 입력하고자 하는 입력 항목을 지시하는 표현이 포함된 경우에 텍스트 토큰을 태깅하는 과정을 설명하기 위한 예시가 도시된다.
일실시예에 따라 도 3에서 설명한 화면 분석 후 "첫 번째는 ○○○이고, 그 오른쪽에는 △△△이고, 아래에는 □□□이야."의 문장 데이터가 음성 인식 결과로 획득되는 것을 가정한다. 전자 장치는 앞서 설명한 화면 분석으로 입력 항목들에 이름, 연락처, 주소가 있다는 것과 입력 항목들의 위치 및/또는 순서를 확인하였고, 이러한 입력 항목들이 음성 인식 결과에 직접적으로 언급되지는 않았으나, 입력하고자 하는 입력 항목을 지시하는 표현이 포함된 것을 확인할 수 있다. 이 경우, 전자 장치는 음성 인식 결과에서 해당 표현 다음으로 위치한 하나 이상의 단어들을 텍스트 토큰으로 추출하고, 추출된 텍스트 토큰을 해당 표현이 지시하는 입력 항목에 태깅할 수 있다.
예를 들어, 전자 장치는 입력 항목을 지시하는 표현 "첫 번째"(510) 다음으로 위치한 하나 이상의 단어들 ○○○(520)을 텍스트 토큰으로 추출하여, 표현 "첫 번째"(510)가 지시하는 입력 항목 "이름"에 태깅할 수 있다. 이 때, 전자 장치는 입력 항목들의 위치 및/또는 순서에 기초하여, 화면에 포함된 입력 항목들 중에서 가장 좌측 위쪽에 위치한 입력 항목이 "이름"인 것으로 확인할 수 있으므로, 표현 "첫 번째"(510)가 어떤 입력 항목을 지시하는지 식별할 수 있다. 전자 장치는 입력 항목을 지시하는 표현 "첫 번째"(510), "그 오른쪽"(530) 사이에 위치하는 ○○○(520)을 텍스트 토큰으로 추출할 수 있다.
또한, 전자 장치는 입력 항목을 지시하는 표현 "그 오른쪽"(530) 다음으로 위치한 하나 이상의 단어들 △△△(540)를 추출하여, 표현 "그 오른쪽"(530)이 지시하는 입력 항목 "연락처"에 태깅할 수 있다. 이 때, 전자 장치는 입력 항목들의 위치 및/또는 순서에 기초하여, 입력 항목 "이름" 오른쪽에 입력 항목 "연락처"가 위치한 것을 확인할 수 있으므로, 표현 "그 오른쪽"(530)이 어떤 입력 항목을 지시하는지 식별할 수 있다. 마찬가지로, 전자 장치는 □□□(560)를 추출하여 표현 "아래"(550)가 지시하는 입력 항목 "주소"에 태깅할 수 있다. 이 때, 전자 장치는 입력 항목들의 위치 및/또는 순서에 기초하여, 입력 항목 "연락처" 아래에 입력 항목 "주소"가 위치한 것을 확인할 수 있으므로, 표현 "아래"(550)가 어떤 입력 항목을 지시하는지 식별할 수 있다.
도 6을 참조하면, 일실시예에 따라 음성 인식 결과에 포함된 하나 이상의 단어들의 내용, 타입 및 순서 중 적어도 하나에 대응하는 입력 항목을 식별한 경우에 텍스트 토큰을 태깅하는 과정을 설명하기 위한 예시가 도시된다.
일실시예에 따라 도 3에서 설명한 화면 분석 후 "○○○이고, △△△이고, □□□이야."의 문장 데이터가 음성 인식 결과로 획득되는 것을 가정한다. 전자 장치는 앞서 설명한 화면 분석으로 입력 항목들에 이름, 연락처, 주소가 있다는 것과 입력 항목들의 위치 및/또는 순서를 확인하였고, 이러한 입력 항목들이 음성 인식 결과에 직접적으로 언급되거나, 입력하고자 하는 입력 항목을 지시하는 표현이 음성 인식 결과에 포함되지 않았으나, 입력 항목에 입력 가능한 하나 이상의 단어가 포함된 것을 확인할 수 있다. 이 경우, 전자 장치는 음성 인식 결과에서 하나 이상의 단어를 포함하는 텍스트 토큰을 대응하는 입력 항목에 태깅할 수 있다.
예를 들어, 전자 장치는 하나 이상의 단어 ○○○(610)가 문자로 구성되어 있고, 사람 이름의 일반적인 형식을 가지고 있거나 및/또는 흔히 사용되는 사람 이름에 해당되는 경우, 음성 인식 결과에서 ○○○(610)를 텍스트 토큰으로 추출하여 입력 항목 "이름"에 태깅할 수 있다. 추가적으로, 전자 장치는 음성 인식 결과에서 ○○○(610)가 첫 번째로 언급된 점을 고려해서, 입력 항목들 중 가장 좌측 위쪽에 위치한 입력 항목 "이름"에 ○○○(610)를 태깅할 수도 있다.
또한, 전자 장치는 하나 이상의 단어 △△△(620)가 숫자로 구성되어 있고, 전화번호의 일반적인 형식을 가지고 있는 경우, 음성 인식 결과에서 △△△(620)를 텍스트 토큰으로 추출하여 입력 항목 "연락처"에 태깅할 수 있다. 추가적으로, 전자 장치는 음성 인식 결과에서 △△△(620)가 입력 항목 "이름"에 태깅된 ○○○(610) 다음으로 언급된 점을 고려해서, 입력 항목 "이름" 다음 순서에 해당하는 입력 항목 "연락처"에 △△△(620)를 태깅할 수도 있다.
또한, 전자 장치는 하나 이상의 단어 □□□(630)가 문자와 숫자 조합으로 구성되고, 주소의 일반적인 형식을 가지고 있는 경우, 음성 인식 결과에서 □□□(630)를 텍스트 토큰으로 추출하여 입력 항목 "주소"에 태깅할 수 있다. 추가적으로, 전자 장치는 음성 인식 결과에서 □□□(630)가 입력 항목 "연락처"에 태깅된 △△△(620) 다음으로 언급된 점을 고려해서, 입력 항목 "연락처" 다음 순서에 해당하는 입력 항목 "주소"에 □□□(630)를 태깅할 수도 있다.
다른 일례로, 도 4 내지 도 6에서 설명한 과정을 통하거나, 또는 사용자가 직접 타이핑을 통해 입력 항목에 정보가 기 입력된 경우를 가정한다. 사용자는 입력 항목에 기 입력된 정보를 다른 정보로 변경하기 원할 수 있다. 이 때, 사용자로부터 "○○○을 XXX로 바꿔줘"의 문장 데이터가 음성 인식 결과로 획득될 수 있다. 전자 장치는 앞서 설명한 화면 분석으로 입력 항목들에 이름, 연락처, 주소가 있다는 것을 확인하였고, 텍스트 토큰 태깅을 통해 각 입력 항목들에 어떤 정보가 입력되었는지를 확인할 수 있다. 실시예에 따라서 텍스트 토큰 태깅 결과는 메모리에 저장될 수 있고, 전자 장치는 메모리에 저장된 텍스트 토큰 태깅 결과를 참조하여, 각 입력 항목들에 어떤 정보가 입력되었는지를 확인할 수 있다.
전자 장치는 "○○○"을 사용자가 수정하고자 하는 입력 항목에 기 입력된 정보를 언급하는 표현으로 인식하여, "○○○"이 태깅된 입력 항목 "이름"을 식별할 수 있다. 그리고, 전자 장치는 "○○○" 다음으로 위치한 하나 이상의 단어들 "XXX"를 텍스트 토큰으로 추출하여, 식별된 입력 항목 "이름"에 태깅할 수 있다. 입력 항목 "이름"에 대한 텍스트 토큰 태깅은 "○○○"에서 "XXX"로 변경될 수 있다.
이처럼, 전자 장치는 음성 인식 결과에 포함된 하나 이상의 단어들의 내용, 타입 및 순서 중 적어도 하나를 복합적으로 고려해서 태깅을 적응적으로 수행할 수도 있다.
또한, 설명의 편의를 위해, 음성 인식 결과에 입력 항목이 언급된 경우, 음성 인식 결과에 입력 항목에 관한 표현(예컨대, 입력 항목을 지시하는 표현, 입력 항목에 기 입력된 정보를 언급하는 표현)이 포함된 경우, 음성 인식 결과에 포함된 하나 이상의 단어들의 내용, 타입 및 순서 중 적어도 하나에 대응하는 입력 항목이 식별된 경우를 나누어서 설명하였으나, 하나의 음성 인식 결과에 이러한 경우들이 복합적으로 나타나는 경우에도 상술된 설명들이 제한없이 적용될 수 있다.
도 7 및 도 8은 일실시예에 따라 전자 장치의 화면에 음성 인식 결과가 표시되는 예시들을 나타낸 도면이다.
도 7을 참조하면, 일실시예에 따라 전자 장치의 화면에 음성 인식 결과에 해당하는 문장 데이터 전체가 표시될 수 있으며, 이 때 입력 항목에 입력되는 텍스트 토큰은 다른 단어와 시각적으로 다르게 표시될 수 있다. 이를 테면, 텍스트 토큰에 시각적 효과(예컨대, 밑줄, 굵게 표시, 컬러 등)가 적용될 수 있다.
또한, 도 7은 신용카드 정보를 입력하는 예시를 도시하는데, 사용자가 신용카드 유효기간을 "20년 03월"로 발화하였더라도, 미리 정해진 형식에 맞게 변환되어 "03/20"가 입력 항목에 입력될 수 있다. 자세한 내용은 후술한다.
도 8을 참조하면, 일실시예에 따라 사용자가 여러 번에 나누어 발화하더라도, 전자 장치의 화면에 음성 인식 결과가 차례로 표시되며, 이 때도 입력 항목에 입력되는 텍스트 토큰은 시각적으로 다르게 표시될 수 있다.
도 9는 일실시예에 따른 전자 장치의 동작 방법을 나타낸 도면이다.
도 9를 참조하면, 일실시예에 따른 전자 장치에 구비된 프로세서에서 수행되는 전자 장치의 동작 방법이 도시된다.
단계(910)에서, 전자 장치는 표시된 화면에 대해 레이아웃 분석 및 이미지 분석을 수행하여 화면에서 입력이 요구되는 입력 항목들을 식별한다. 레이아웃 분석은 표시된 화면에 포함된 입력 항목들을 정의하는 UI 레이아웃 파일에 기초하여 수행될 수 있다. UI 레이아웃 파일은 플랫폼 레벨에서 접근 가능한 파일로서, 화면에 포함된 입력 항목들의 위치, 순서, 값 타입 및 오브젝트 타입 중 적어도 하나를 코드 레벨에서 정의하는 파일일 수 있다. 이미지 분석은 표시된 화면 내 입력 항목들 간 상대적 위치에 대해 수행될 수 있다.
단계(920)에서, 전자 장치는 사용자의 음성 신호에 대한 음성 인식 결과로부터 추출된 텍스트 토큰을 입력 항목들 중 어느 하나에 태깅한다. 전자 장치는 (1) 입력 항목들 중 어느 하나가 음성 인식 결과에서 언급되었는지 여부, (2) 사용자가 입력하고자 하는 입력 항목을 지시하는 표현이 음성 인식 결과에 포함되어 있는지 여부 및 (3) 음성 인식 결과의 내용, 타입 및 순서 중 적어도 하나 중 적어도 하나에 기초하여, 음성 인식 결과에서 텍스트 토큰을 추출하여 입력 항목들 중 어느 하나에 태깅할 수 있다.
단계(930)에서, 전자 장치는 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력한다. 전자 장치는 태깅된 텍스트 토큰의 형식이 대응하는 입력 항목에 부합하지 않으면, 태깅된 텍스트 토큰을 대응하는 입력 항목에 미리 정해진 형식으로 변환하여 입력할 수 있다.
일례로, 숫자 입력이 요구되는 입력 항목에 태깅된 텍스트 토큰이 한자어 수사(예컨대, 일, 이, 삼 등), 고유어 수사(예컨대, 하나, 둘, 셋 등) 또는 이들의 조합으로 구성된 경우, 전자 장치는 이를 아라비아 숫자로 변환하여 입력 항목에 입력할 수 있다. 다른 일례로, "월을 나타내는 2자리 숫자/년을 나타내는 2자리 숫자" 형식이 요구되는 입력 항목에 태깅된 텍스트 토큰이 "2020년 3월", "20년 03월" 등인 경우, 전자 장치는 이를 "03/20"으로 변환하여 입력 항목에 입력할 수 있다. 또 다른 일례로, 도 3의 입력 항목 "선택1"(350), "선택2"(360)처럼 미리 정해진 후보들 중에서 하나 이상이 선택되는 입력 항목에 대해서는, 태깅된 텍스트 토큰과 일치하거나, 미리 정해진 임계 유사도를 초과하는 하나 이상의 후보가 선택되는 입력이 수행될 수 있다. 이처럼, 사용자의 발화가 입력 항목에 적절한 형식으로 변환되어 입력 항목에 입력됨으로써, 보다 직관적이고 실용적인 보이스 어시스턴트를 제공할 수 있다.
도 9에 도시된 각 단계들에는 도 1 내지 도 8을 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
도 10은 일실시예에 따른 전자 장치를 나타낸 도면이다.
도 10을 참조하면, 일실시예에 따른 전자 장치(1000)는 메모리(1010) 및 프로세서(1020)를 포함한다. 메모리(1010) 및 프로세서(1020)는 버스(bus)(1030)를 통하여 서로 통신할 수 있다.
메모리(1010)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(1020)는 메모리(1010)에 저장된 명령어가 프로세서(1020)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1010)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(1020)는 명령어들, 혹은 프로그램들을 실행하거나, 전자 장치(1000)를 제어하는 장치로서, 예를 들어, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 다양한 컴퓨팅 장치의 일부로 구현될 수 있다. 프로세서(1020)는 표시된 화면에 대해 레이아웃 분석 및 이미지 분석을 수행하여 화면에서 입력이 요구되는 입력 항목들을 식별하고, 사용자의 음성 신호에 대한 음성 인식 결과로부터 추출된 텍스트 토큰을 입력 항목들 중 어느 하나에 태깅하며, 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력한다.
전자 장치(1000)는 상술된 동작들을 통해 번거로운 키보드 이용 없이 다양한 정보를 음성으로 간편하게 입력 가능한 사용자 경험을 제공할 수 있다.
그 밖에, 전자 장치(1000)에 관해서는 상술된 동작을 처리할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
Claims (21)
- 표시된 화면에 대해 레이아웃 분석 및 이미지 분석을 수행하여 상기 화면에서 입력이 요구되는 입력 항목들을 식별하는 단계;
사용자의 음성 신호에 대한 음성 인식 결과로부터 추출된 텍스트 토큰을 상기 입력 항목들 중 어느 하나에 태깅하는 단계; 및
상기 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력하는 단계
를 포함하는 입력 방법.
- 제1항에 있어서,
상기 레이아웃 분석은
상기 표시된 화면에 포함된 입력 항목들을 정의하는 UI 레이아웃 파일에 기초하여 수행되는, 입력 방법.
- 제2항에 있어서,
상기 UI 레이아웃 파일은
플랫폼 레벨에서 접근 가능한 파일로서, 상기 화면에 포함된 상기 입력 항목들의 위치, 순서, 값 타입 및 오브젝트 타입 중 적어도 하나를 코드 레벨에서 정의하는 파일인, 입력 방법.
- 제1항에 있어서,
상기 이미지 분석은
상기 표시된 화면 내 상기 입력 항목들 간 상대적 위치에 대해 수행되는, 입력 방법.
- 제1항에 있어서,
상기 태깅하는 단계는
상기 입력 항목들 중 어느 하나가 상기 음성 인식 결과에서 언급되었는지 여부;
상기 사용자가 입력하고자 하는 입력 항목을 지시하는 표현이 상기 음성 인식 결과에 포함되어 있는지 여부; 및
상기 음성 인식 결과의 내용, 타입 및 순서 중 적어도 하나
중 적어도 하나에 기초하여, 상기 음성 인식 결과에서 상기 텍스트 토큰을 추출하여 상기 입력 항목들 중 어느 하나에 태깅하는, 입력 방법.
- 제5항에 있어서,
상기 태깅하는 단계는
상기 입력 항목들 중 어느 하나가 상기 음성 인식 결과에서 언급된 경우, 상기 음성 인식 결과에서 상기 언급된 입력 항목 다음으로 위치한 하나 이상의 단어들을 상기 텍스트 토큰으로 추출하고, 상기 추출된 텍스트 토큰을 상기 언급된 입력 항목에 태깅하는, 입력 방법.
- 제5항에 있어서,
상기 태깅하는 단계는
상기 사용자가 입력하고자 하는 입력 항목에 관한 표현이 상기 음성 인식 결과에 포함된 경우, 상기 음성 인식 결과에서 상기 표현 다음으로 위치한 하나 이상 단어들을 상기 텍스트 토큰으로 추출하고, 상기 추출된 텍스트 토큰을 상기 표현이 지시하는 입력 항목에 태깅하는, 입력 방법.
- 제7항에 있어서,
상기 입력 항목에 관한 표현은
상기 입력 항목을 지시하는 표현 및 상기 입력 항목에 기 입력된 정보를 언급하는 표현 중 적어도 하나를 포함하는, 입력 방법.
- 제5항에 있어서,
상기 태깅하는 단계는
상기 음성 인식 결과에 포함된 하나 이상의 단어들의 내용, 타입 및 순서 중 적어도 하나에 대응하는 입력 항목을 식별하고, 상기 식별된 입력 항목에 상기 하나 이상의 단어들을 포함하는 텍스트 토큰을 태깅하는, 입력 방법.
- 제1항에 있어서,
상기 태깅된 텍스트 토큰을 입력하는 단계는
상기 태깅된 텍스트 토큰의 형식이 상기 대응하는 입력 항목에 부합하지 않으면, 상기 태깅된 텍스트 토큰을 상기 대응하는 입력 항목에 미리 정해진 형식으로 변환하여 입력하는, 입력 방법.
- 제1항에 있어서,
상기 사용자의 음성 신호에 대한 음성 인식 결과를 상기 화면에 표시하는 단계
를 더 포함하는 입력 방법.
- 제11항에 있어서,
상기 음성 인식 결과에서 상기 텍스트 토큰으로 추출된 하나 이상의 단어들은 시각적으로 다르게 표시되는, 입력 방법.
- 제1항에 있어서,
상기 사용자로부터 음성 인식을 호출하는 명령을 입력 받는 단계
를 더 포함하는 입력 방법.
- 제1항 내지 제13항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 저장 매체.
- 프로세서; 및
상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
를 포함하고,
상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 표시된 화면에 대해 레이아웃 분석 및 이미지 분석을 수행하여 상기 화면에서 입력이 요구되는 입력 항목들을 식별하고, 사용자의 음성 신호에 대한 음성 인식 결과로부터 추출된 텍스트 토큰을 상기 입력 항목들 중 어느 하나에 태깅하며, 상기 태깅된 텍스트 토큰을 대응하는 입력 항목에 입력하는,
전자 장치.
- 제15항에 있어서,
상기 프로세서는
상기 입력 항목들 중 어느 하나가 상기 음성 인식 결과에서 언급되었는지 여부;
상기 사용자가 입력하고자 하는 입력 항목을 지시하는 표현이 상기
음성 인식 결과에 포함되어 있는지 여부; 및
상기 음성 인식 결과의 내용, 타입 및 순서 중 적어도 하나
중 적어도 하나에 기초하여, 상기 음성 인식 결과에서 상기 텍스트 토큰을 추출하여 상기 입력 항목들 중 어느 하나에 태깅하는, 전자 장치.
- 제16항에 있어서,
상기 프로세서는
상기 입력 항목들 중 어느 하나가 상기 음성 인식 결과에서 언급된 경우, 상기 음성 인식 결과에서 상기 언급된 입력 항목 다음으로 위치한 하나 이상의 단어들을 상기 텍스트 토큰으로 추출하고, 상기 추출된 텍스트 토큰을 상기 언급된 입력 항목에 태깅하는, 전자 장치.
- 제16항에 있어서,
상기 프로세서는
상기 사용자가 입력하고자 하는 입력 항목에 관한 표현이 상기 음성 인식 결과에 포함된 경우, 상기 음성 인식 결과에서 상기 표현 다음으로 위치한 하나 이상 단어들을 상기 텍스트 토큰으로 추출하고, 상기 추출된 텍스트 토큰을 상기 표현이 지시하는 입력 항목에 태깅하는, 전자 장치.
- 제16항에 있어서,
상기 프로세서는
상기 음성 인식 결과에 포함된 하나 이상의 단어들의 내용, 타입 및 순서 중 적어도 하나에 대응하는 입력 항목을 식별하고, 상기 식별된 입력 항목에 상기 하나 이상의 단어들을 포함하는 텍스트 토큰을 태깅하는, 전자 장치.
- 제15항에 있어서,
상기 레이아웃 분석은
상기 표시된 화면에 포함된 입력 항목들을 정의하는 UI 레이아웃 파일에 기초하여 수행되는, 전자 장치.
- 제15항에 있어서,
상기 이미지 분석은
상기 표시된 화면 내 상기 입력 항목들 간 상대적 위치에 대해 수행되는, 전자 장치.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190094871A KR20210016739A (ko) | 2019-08-05 | 2019-08-05 | 전자 장치 및 전자 장치의 입력 방법 |
US16/715,089 US11367442B2 (en) | 2019-08-05 | 2019-12-16 | Device and method with input |
CN202010073939.6A CN112333328B (zh) | 2019-08-05 | 2020-01-22 | 电子装置输入方法和电子装置 |
EP20168189.7A EP3772685A1 (en) | 2019-08-05 | 2020-04-06 | Device and method with input |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190094871A KR20210016739A (ko) | 2019-08-05 | 2019-08-05 | 전자 장치 및 전자 장치의 입력 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210016739A true KR20210016739A (ko) | 2021-02-17 |
Family
ID=70189848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190094871A KR20210016739A (ko) | 2019-08-05 | 2019-08-05 | 전자 장치 및 전자 장치의 입력 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11367442B2 (ko) |
EP (1) | EP3772685A1 (ko) |
KR (1) | KR20210016739A (ko) |
CN (1) | CN112333328B (ko) |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003463B1 (en) * | 1998-10-02 | 2006-02-21 | International Business Machines Corporation | System and method for providing network coordinated conversational services |
US8275617B1 (en) | 1998-12-17 | 2012-09-25 | Nuance Communications, Inc. | Speech command input recognition system for interactive computer display with interpretation of ancillary relevant speech query terms into commands |
GB2390704A (en) * | 2002-07-09 | 2004-01-14 | Canon Kk | Automatic summary generation and display |
US7822699B2 (en) | 2005-11-30 | 2010-10-26 | Microsoft Corporation | Adaptive semantic reasoning engine |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
EP2339576B1 (en) | 2009-12-23 | 2019-08-07 | Google LLC | Multi-modal input on an electronic device |
US9257115B2 (en) * | 2012-03-08 | 2016-02-09 | Facebook, Inc. | Device for extracting information from a dialog |
US8909536B2 (en) * | 2012-04-20 | 2014-12-09 | Nuance Communications, Inc. | Methods and systems for speech-enabling a human-to-machine interface |
US9135571B2 (en) * | 2013-03-12 | 2015-09-15 | Nuance Communications, Inc. | Methods and apparatus for entity detection |
KR101427040B1 (ko) | 2013-03-22 | 2014-08-05 | 박동기 | 음성인식을 이용한 스마트기기용 거래정보 입력 시스템 및 이를 이용한 자산 관리를 위한 정보 입력방법 |
KR102199786B1 (ko) * | 2013-08-27 | 2021-01-07 | 삼성전자주식회사 | 콘텐트를 기반으로 하는 정보 제공 방법 및 장치 |
US9690854B2 (en) * | 2013-11-27 | 2017-06-27 | Nuance Communications, Inc. | Voice-enabled dialog interaction with web pages |
US20150234822A1 (en) | 2014-02-14 | 2015-08-20 | DAXTecnologia da informação Ltda | Query method to identify relevant interests using modified natural language |
US10210204B2 (en) * | 2014-06-16 | 2019-02-19 | Jeffrey E. Koziol | Voice actuated data retrieval and automated retrieved data display |
WO2016017978A1 (en) * | 2014-07-31 | 2016-02-04 | Samsung Electronics Co., Ltd. | Device and method for performing functions |
RU2646350C2 (ru) * | 2015-01-27 | 2018-03-02 | Общество С Ограниченной Ответственностью "Яндекс" | Способ ввода данных в электронное устройство, способ обработки голосового запроса, машиночитаемый носитель (варианты), электронное устройство, сервер и система |
DE102015221304A1 (de) * | 2015-10-30 | 2017-05-04 | Continental Automotive Gmbh | Verfahren und Vorrichtung zur Verbesserung der Erkennungsgenauigkeit bei der handschriftlichen Eingabe von alphanumerischen Zeichen und Gesten |
WO2017201041A1 (en) | 2016-05-17 | 2017-11-23 | Hassel Bruce | Interactive audio validation/assistance system and methodologies |
JP6712940B2 (ja) | 2016-10-27 | 2020-06-24 | トッパン・フォームズ株式会社 | 音声入力装置、音声入力方法 |
-
2019
- 2019-08-05 KR KR1020190094871A patent/KR20210016739A/ko not_active Application Discontinuation
- 2019-12-16 US US16/715,089 patent/US11367442B2/en active Active
-
2020
- 2020-01-22 CN CN202010073939.6A patent/CN112333328B/zh active Active
- 2020-04-06 EP EP20168189.7A patent/EP3772685A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US11367442B2 (en) | 2022-06-21 |
CN112333328A (zh) | 2021-02-05 |
CN112333328B (zh) | 2024-08-09 |
US20210043201A1 (en) | 2021-02-11 |
EP3772685A1 (en) | 2021-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110444198B (zh) | 检索方法、装置、计算机设备和存储介质 | |
TWI437449B (zh) | 多重模式輸入方法及輸入方法編輯器系統 | |
US10409820B2 (en) | Semantic mapping of form fields | |
US9342501B2 (en) | Preserving emotion of user input | |
CN111783471B (zh) | 自然语言的语义识别方法、装置、设备及存储介质 | |
CN105931644A (zh) | 一种语音识别方法及移动终端 | |
US20200285808A1 (en) | Synonym dictionary creation apparatus, non-transitory computer-readable recording medium storing synonym dictionary creation program, and synonym dictionary creation method | |
CN101286155A (zh) | 用于输入法编辑器集成的方法和系统 | |
CN110610180A (zh) | 错别字词识别集的生成方法、装置、设备及存储介质 | |
KR102188564B1 (ko) | 어체 변환이 가능한 기계 번역 방법 및 시스템 | |
CN111950279A (zh) | 实体关系的处理方法、装置、设备及计算机可读存储介质 | |
CN114860905A (zh) | 意图识别方法、装置及设备 | |
KR102166102B1 (ko) | 개인 정보 보호를 위한 장치 및 기록 매체 | |
US10360401B2 (en) | Privacy protection in network input methods | |
CN105353957A (zh) | 一种信息显示方法及终端 | |
CN106873798B (zh) | 用于输出信息的方法和装置 | |
CN107908792B (zh) | 信息推送方法和装置 | |
KR20210016739A (ko) | 전자 장치 및 전자 장치의 입력 방법 | |
CN114064010A (zh) | 前端代码生成方法、装置、系统及存储介质 | |
CN112965909B (zh) | 测试数据、测试用例生成方法及系统、存储介质 | |
US20160078013A1 (en) | Fault-tolerant input method editor | |
US9753915B2 (en) | Linguistic analysis and correction | |
KR20220111570A (ko) | 사용자의 질의를 처리하는 디바이스 및 그 동작 방법 | |
CN108682437B (zh) | 信息处理方法、装置、介质和计算设备 | |
KR101989960B1 (ko) | 복수 개의 기계학습 모델을 사용한 실시간 필기 인식 방법, 이를 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 실시간 필기 인식 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |