KR20190024071A - 가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법 - Google Patents
가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법 Download PDFInfo
- Publication number
- KR20190024071A KR20190024071A KR1020170110661A KR20170110661A KR20190024071A KR 20190024071 A KR20190024071 A KR 20190024071A KR 1020170110661 A KR1020170110661 A KR 1020170110661A KR 20170110661 A KR20170110661 A KR 20170110661A KR 20190024071 A KR20190024071 A KR 20190024071A
- Authority
- KR
- South Korea
- Prior art keywords
- language model
- virtual keyboard
- application
- mobile device
- recommendation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000004044 response Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 9
- 235000020235 chia seed Nutrition 0.000 description 4
- 240000004160 Capsicum annuum Species 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
Images
Classifications
-
- 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/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- 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
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
애플리케이션의 종류에 기초하여 가상 키보드에 추천어를 제공하는 모바일 장치 및 방법을 개시한다.
Description
가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법에 관한 것이다.
스마트폰과 같은 모바일 장치는 다양한 애플리케이션들을 설치하고 실행시킬 수 있다. 사용자는 모바일 장치에서 원하는 애플리케이션을 실행시키고, 모바일 장치를 조작할 수 있다. 스마트폰과 같은 모바일 장치의 보급이 보편화되고, 다양한 애플리케이션들이 생겨남에 따라, 모바일 장치에서 사용자의 편의성을 증대시킬 수 있는 방법들에 대한 관심이 고조되고 있다.
애플리케이션의 종류에 기초하여 가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법을 제공하는 것이다.
제 1 측면에 따른 가상 키보드에서 추천어를 제공하는 방법은, 모바일 장치에 설치된 애플리케이션을 실행하는 단계; 상기 실행된 애플리케이션의 실행 화면에 사용자 입력을 위한 가상 키보드를 디스플레이하는 단계; 상기 실행된 애플리케이션의 종류에 대응되는 언어 모델을 결정하는 단계; 및 상기 가상 키보드를 통한 사용자 입력에 대한 응답으로, 상기 결정된 언어 모델을 적용한 추천어를 제공하는 단계;를 포함한다.
제 2 측면에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치는 사용자 인터페이스; 컴퓨터 실행가능 명령어(computer executable instruction)를 저장하는 메모리; 및 상기 컴퓨터 실행가능 명령어를 실행함으로써, 모바일 장치에 설치된 애플리케이션을 실행하고, 상기 사용자 인터페이스를 통해, 상기 실행된 애플리케이션의 실행 화면에 사용자 입력을 위한 가상 키보드를 디스플레이하며, 상기 실행된 애플리케이션의 종류에 대응되는 언어 모델을 결정하여, 상기 사용자 인터페이스를 통해, 상기 가상 키보드를 통한 사용자 입력에 대한 응답으로, 상기 결정된 언어 모델을 적용한 추천어를 제공하는 프로세서;를 포함한다.
도 1은 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치의 구성을 나타낸 블록도이다.
도 2는 일 실시예에 따라 가상 키보드에서 추천어를 제공하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따라 가상 키보드에서 추천어를 제공하는 모바일 장치와 애플리케이션 서비스를 제공하는 서버 간의 통신을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치가 사용자 입력에 대한 응답으로 애플리케이션의 종류에 대응되는 추천어를 제공하는 모습을 나타낸 도면이다.
도 5는 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치가 애플리케이션의 종류에 대응되는 추천어가 복수 개인 경우, 추천어를 적응적으로 제공하는 모습을 나타낸 도면이다.
도 6은 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 방법을 나타낸 흐름도이다.
도 2는 일 실시예에 따라 가상 키보드에서 추천어를 제공하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따라 가상 키보드에서 추천어를 제공하는 모바일 장치와 애플리케이션 서비스를 제공하는 서버 간의 통신을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치가 사용자 입력에 대한 응답으로 애플리케이션의 종류에 대응되는 추천어를 제공하는 모습을 나타낸 도면이다.
도 5는 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치가 애플리케이션의 종류에 대응되는 추천어가 복수 개인 경우, 추천어를 적응적으로 제공하는 모습을 나타낸 도면이다.
도 6은 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 방법을 나타낸 흐름도이다.
이하에서는 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 이하에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략한다.
한편, 본 명세서에서 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 '직접적으로 연결'되어 있는 경우뿐 아니라, '그 중간에 다른 구성을 사이에 두고 연결'되어 있는 경우도 포함한다. 또한, 어떤 구성이 다른 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들 더 포함할 수도 있다는 것을 의미한다.
본 실시예들은 가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
도 1은 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치(100)의 구성을 나타낸 블록도이다.
도 1을 참조하면, 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치(100)는, 메모리(110), 프로세서(120), 사용자 인터페이스(130)를 포함할 수 있다. 본 실시예와 관련된 기술분야에서 통상의 지식을 가진 자라면 도 1에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 알 수 있다.
모바일 장치(100)는 OS(Operating System)를 탑재하고, 모바일 장치(100)에 설치된 애플리케이션을 실행하여, 사용자 입력에 따른 처리 결과를 디스플레이할 수 있는 전자 장치로서, 스마트폰, 태블릿, 디지털 카메라 등이 될 수 있다. 애플리케이션은 애플리케이션 프로그램 또는 모바일 애플리케이션을 통칭하는 용어이다.
메모리(110)는 소프트웨어 및/또는 프로그램을 저장할 수 있다. 예를 들어, 메모리(110)는 애플리케이션, 애플리케이션 프로그래밍 인터페이스(API) 등과 같은 프로그램 및 다양한 종류의 데이터를 저장할 수 있다.
프로세서(120)는 메모리(110)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(110)에 저장할 수도 있다. 또한, 프로세서(120)는 메모리(110)에 설치된 프로그램을 실행할 수도 있다. 또한, 프로세서(120)는 외부로부터 수신한 애플리케이션을 메모리(110)에 설치할 수도 있다.
프로세서(120)는 적어도 하나의 프로세서를 포함할 수 있다. 프로세서(120)는 사용자 인터페이스(130)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 모바일 장치(100)에 포함된 다른 구성들을 제어할 수 있다. 프로세서(120)는 각 기능에 대응되는 특화된 프로세서를 적어도 하나 포함하거나, 하나로 통합된 형태의 프로세서일 수 있다. 예를 들어, 프로세서(120)는 메모리(110)에 저장된 프로그램을 실행시키거나, 메모리(110)에 저장된 데이터 또는 파일을 읽어오거나, 새로운 파일을 메모리(110)에 저장할 수도 있다.
사용자 인터페이스(130)는 사용자로부터 사용자 입력 등을 수신하거나, 모바일 장치(100)에서 애플리케이션 실행 결과, 사용자 입력에 대응되는 처리 결과, 모바일 장치(100)의 상태 등의 정보를 표시할 수 있다. 사용자 인터페이스(130)는 사용자로부터 입력을 수신하거나 모바일 장치(100)로부터 출력을 제공하기 위한 하드웨어 유닛들을 포함할 수 있으며, 이들을 구동하기 위한 전용 소프트웨어 모듈을 포함할 수도 있다. 예를 들어, 사용자 인터페이스(130)는 사용자 입력을 수신하는 터치 패널과 같은 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있고, 조작 패널과 디스플레이 패널이 결합된 형태인 터치 스크린이 될 수 있으나, 이에 한정되지 않는다.
메모리(110)는 컴퓨터 실행가능 명령어(computer executable instruction)를 저장할 수 있다. 프로세서(120)는 메모리(110)에 저장된 컴퓨터 실행가능 명령어를 실행할 수 있다. 프로세서(120)는 모바일 장치(100)에 설치된 애플리케이션을 실행하고, 사용자 인터페이스를 통해, 실행된 애플리케이션의 실행 화면에 사용자 입력을 위한 가상 키보드를 디스플레이할 수 있다. 프로세서(120)는 실행된 애플리케이션의 종류에 대응되는 언어 모델을 결정하여, 사용자 인터페이스를 통해, 가상 키보드를 통한 사용자 입력에 대한 응답으로, 결정된 언어 모델을 적용한 추천어를 제공할 수 있다. 이하에서, 가상 키보드에서 추천어를 제공하는 과정에 대해서 상세히 설명한다.
도 2는 일 실시예에 따라 가상 키보드에서 추천어를 제공하는 과정을 설명하기 위한 도면이다.
모바일 장치(100)는 모바일 장치(100)에 설치된 애플리케이션을 실행한다. 사용자는 모바일 장치(100)에 설치되어 있는 다양한 종류의 애플리케이션들 중에서 실행하고자 하는 애플리케이션을 선택하여 애플리케이션을 실행시킬 수 있다. 예를 들어, 사용자는 모바일 장치(100)의 화면에 표시된 각 애플리케이션에 대응되는 아이콘들 중 실행하고자 하는 애플리케이션에 대응되는 아이콘을 선택하여 애플리케이션을 시킬 수 있다.
모바일 장치(100)는 실행된 애플리케이션의 실행 화면에 사용자 입력을 위한 가상 키보드를 디스플레이한다. 모바일 장치(100)는 실행된 애플리케이션의 실행 화면을 모바일 장치(100)에 디스플레이하면서 디스플레이된 애플리케이션의 실행 화면에 중첩하여 가상 키보드를 디스플레이할 수 있다. 예를 들어, 사용자는 애플리케이션이 실행된 모바일 장치(100)에서 애플리케이션의 실행 화면에 대한 사용자의 접촉이나 사용자 입력이 있을 경우, 가상 키보드를 애플리케이션의 실행 화면 위에 중첩하여 디스플레이할 수 있다.
모바일 장치(100)는 사용자 입력에 대응되는 추천어를 생성하기 위해 언어 모델을 활용할 수 있는데, 모바일 장치(100)는 모바일 장치(100)에서 실행된 애플리케이션의 종류에 대응되는 언어 모델을 결정할 수 있다.
도 2를 참조하면, 모바일 장치(100)는 모바일 장치(100)에서 실행된 애플리케이션의 종류를 확인하고, 복수의 언어 모델들 중에서 실행된 애플리케이션의 종류에 대응되는 언어 모델을 선택할 수 있다. 이때, 실행된 애플리케이션의 종류에 대응되는 언어 모델은 실행된 애플리케이션의 종류와 관련된 데이터 및 실행된 애플리케이션에서 추천어에 대한 사용자의 피드백 결과를 이용하여 학습된 언어 모델일 수 있다. 또는, 실행된 애플리케이션의 종류에 대응되는 언어 모델은 애플리케이션 서비스를 제공하는 서버(200)에서 학습된 언어 모델을 서버(200)로부터 수신한 것일 수 있다. 이와 같은 언어 모델은 신경망(Neural Network)을 기반으로 하는 언어 모델일 수 있다.
도 2에 도시된 바와 같이, 모바일 장치(100)는 다양한 애플리케이션들 각각에 대응되는 언어 모델들을 데이터베이스화하여 저장할 수 있다. 예를 들어, 쇼핑몰 애플리케이션에 대응되는 쇼핑몰 언어 모델은 쇼핑몰과 관련된 데이터를 이용하여 생성될 수 있다. 쇼핑몰 언어 모델은 쇼핑몰과 관련된 데이터들이 업데이트되면, 업데이트된 데이터들을 이용하여 일정 주기로 학습될 수 있다. 다른 예를 들어, 여행 애플리케이션에 대응되는 여행 언어 모델은 여행과 관련된 데이터를 이용하여 생성될 수 있다. 여행 언어 모델은 여행과 관련된 데이터들이 업데이트되면, 업데이트된 데이터들을 이용하여 일정 주기로 학습될 수 있다. 또 다른 예를 들어, 뉴스 애플리케이션에 대응되는 뉴스 언어 모델은 뉴스와 관련된 데이터를 이용하여 생성될 수 있다. 뉴스 언어 모델은 뉴스와 관련된 데이터들이 업데이트되면, 업데이트된 데이터들을 이용하여 일정 주기로 학습될 수 있다.
한편, 특정 목적 또는 특정 서비스를 제공하는 애플리케이션이 아닌 일반적인 애플리케이션들의 경우, 공통 언어 모델을 이용할 수 있다. 공통 언어 모델은 모든 종류의 데이터들 이용하여 생성될 수 있고, 새로운 데이터들을 이용하여 일정 주기로 학습될 수 있다.
그 외, 기타 애플리케이션에 대응되는 기타 언어 모델은 기타 데이터들을 이용하여 생성될 수 있으며, 새로운 데이터들을 이용하여 일정 주기로 학습될 수 있다. 예를 들어, 사용자가 지정한 특정 애플리케이션은 사용자가 지정한 특정 언어 모델을 이용할 수 있으며, 특정 내용과 관련된 데이터들을 이용하여 생성되거나 일정 주기로 학습될 수 있다. 또한, 사용자가 자주 이용하는 애플리케이션은 사용자 전용 언어 모델을 이용할 수 있으며, 사용자와 관련된 데이터들을 이용하여 생성되거나 일정 주기로 학습될 수 있다.
모바일 장치(100)는 추천어들을 도출하기 위해, 특정 애플리케이션에서 사용된 특정 애플리케이션에 관련된 데이터들을 수집하고, 수집된 데이터들을 소정의 기준에 따라 데이터베이스화하여 분류해둘 수 있다. 모바일 장치(100)는 애플리케이션 종류별로 데이터베이스화된 데이터들을 이용하여 각 언어 모델들을 학습시킬 수 있다. 이를 위해 모바일 장치(100)에 탑재된 프로세서(120)는 인공 지능(AI; artificial intelligence)을 구현한 전용 하드웨어 칩이거나 추천어 제공 기능을 탑재한 프로세서일 수 있다. 모바일 장치(100)에서 추천어들을 도출하는 언어 모델들은 신경망(Neural Network)을 기반으로 하는 언어 모델들일 수 있다.
모바일 장치(100)는 가상 키보드를 통한 사용자 입력에 대한 응답으로, 언어 모델들 중에 애플리케이션의 종류에 대응되는 것으로 결정된 언어 모델을 적용한 추천어를 제공할 수 있다. 추천어는 단어이거나 일련의 문자 또는 단어들의 집합체인 문자열이 될 수 있으며, 숫자, 기호, 특수 문자 등이 포함된 형태일 수 있다.
모바일 장치(100)는 언어 모델을 적용한 추천어가 복수 개인 경우, 사용자의 설정에 기초한 우선순위에 따라 가상 키보드의 소정의 영역에 추천어를 제공할 수 있다. 모바일 장치(100)는 가상 키보드의 소정의 영역에 복수 개의 추천어들을 모두 제공하지 못하는 경우, 각 추천어의 사이즈 및 소정의 영역에 제공 가능한 문자열의 사이즈에 기초하여, 우선순위에 따라 복수 개의 추천어들을 적응적으로 제공할 수 있다.
도 3은 일 실시예에 따라 가상 키보드에서 추천어를 제공하는 모바일 장치(100)와 애플리케이션 서비스를 제공하는 서버(200) 간의 통신을 설명하기 위한 도면이다.
모바일 장치(100)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 모바일 장치(100)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 무선 통신은, 예를 들어, Wi-Fi(Wireless Fidelity), 블루투스(Bluetooth), LTE 등이 될 수 있다. 유선 통신은, 예를 들어, USB 또는 HDMI(High Definition Multimedia Interface) 등이 될 수 있다
모바일 장치(100)는 모바일 장치(100)의 외부에 위치한 외부 장치와 연결되어 신호 또는 데이터를 송수신할 수 있다. 모바일 장치(100)는 통신 모듈을 통해 서버(200)와 연결되어 신호 또는 데이터를 송수신할 수 있다. 예를 들어, 모바일 장치(100)는 애플리케이션 서비스를 제공하는 서버(200)에서 학습된 언어 모델을 서버(200)로부터 수신하여, 서버(200)로부터 수신한 언어 모델을 실행된 애플리케이션의 종류에 대응되는 언어 모델로 활용할 수 있다.
도 4는 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치(100)가 사용자 입력에 대한 응답으로 애플리케이션의 종류에 대응되는 추천어를 제공하는 모습을 나타낸 도면이다.
도 4를 참조하면, 모바일 장치(100)가 각각 쇼핑몰 애플리케이션을 실행한 경우와 여행 애플리케이션을 실행한 경우를 나타내고 있다.
도 4 좌측에서는 "F-MALL"이라는 쇼핑몰 애플리케이션을 실행한 모바일 장치(100)에서 가상 키보드를 통하여 "chi"라는 사용자 입력을 입력한 경우, "chips", "chip clips", "chilli"와 같은 추천어들이 가상 키보드의 자판 영역 위에 제공된 것을 볼 수 있다. 추천어들이 제공된 영역은 도 4와 달리 가상 키보드의 다른 영역일 수도 있고, 더 나아가 사용자 인터페이스 화면에서 미리 설정된 영역일 수도 있다. 도 4에서는 세 번째 문자까지 입력된 상황을 도시하고 있으나, 사용자가 입력한 문자의 개수는 이에 한정되지 않는다, 사용자 입력은 하나 이상의 문자로서, 자소, 음절, 단어 등일 될 수 있고, 숫자 또는 기호 등이 될 수도 있다. 모바일 장치(100)는 데이터베이스화된 언어 모델들 중 쇼핑몰 애플리케이션에 대응되는 쇼핑몰 언어 모델을 선택하고, 쇼핑몰 언어 모델에 "chi"라는 문자열을 적용하여, "chi"라는 문자열이 포함된 추천어들을 도출해낼 수 있다. 사용자가 추천어들을 제공하는 방식에 대해 미리 설정해 놓은 사용자의 설정이 있는 경우, 사용자의 설정에 기초한 우선순위에 따라 가상 키보드의 소정의 영역에 추천어를 제공할 수 있다. 예를 들어, 입력 빈도 수, 알파벳 순서 등과 같은 사용자의 설정이 있는 경우, 모바일 장치(100)는 추천어들이 종전에 입력되었던 입력 빈도 수나 추천어들의 알파벳 순서 등에 따라 순서대로 제공할 수 있다. 사용자 설정이 없는 경우, 디폴트 옵션에 따라 추천어들이 제공될 수 있다.
도 4 우측에서는 "M-TOUR"이라는 여행 애플리케이션을 실행한 모바일 장치(100)에서 가상 키보드를 통하여 "chi" 라는 사용자 입력을 입력한 경우, "china", "chicago", "chile" 와 같은 추천어들이 가상 키보드의 자판 영역 위에 제공된 것을 볼 수 있다. 모바일 장치(100)는 데이터베이스화된 언어 모델들 중 여행 애플리케이션에 대응되는 여행 언어 모델을 선택하고, 여행 언어 모델에 "chi"라는 문자열을 적용하여, "chi"라는 문자열이 포함된 추천어들을 도출해낼 수 있다.
도 4를 참조하면, "chi"라는 동일한 문자열이 입력되었음에도, 모바일 장치(100)는 현재 실행된 애플리케이션의 종류에 따라, 다른 언어 모델을 적용하여 추천어를 제공하므로, 제공된 추천어들이 서로 다른 것을 확인할 수 있다.
도 5는 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 모바일 장치(100)가 애플리케이션의 종류에 대응되는 추천어가 복수 개인 경우, 추천어를 적응적으로 제공하는 모습을 나타낸 도면이다.
도 5를 참조하면, 도 4에서 설명한 "F-MALL"이라는 쇼핑몰 애플리케이션을 실행한 모바일 장치(100)에서 가상 키보드를 통하여 "chi" 라는 사용자 입력을 입력한 경우를 나타내고 있으나, 추천어가 "Children books", "chia seeds"로 변경된 것을 확인할 수 있다. 모바일 장치가 "chi" 라는 사용자 입력에 대해, 쇼핑몰 언어 모델을 적용하여 "chips", "chip clips", "chilli", "Children books", "chia seeds" 총 5개의 추천어들을 도출하였으나, 각 추천어의 사이즈 및 소정의 영역에 제공 가능한 문자열의 사이즈에 기초하여, 우선순위에 따라, 한 번에 제공할 수 있는 추천어까지 제공하였다가, 그 후 "Children books", "chia seeds"를 제공한 것이다. 사용자는 추천어들 중 원하는 추천어를 선택하여 사용자 입력을 자동 완성할 수 있다. 사용자가 최초 제공되었던 추천어들에서 원하는 추천어를 찾지 못한 경우, 다음 추천어를 요청하는 사용자 입력이나 소정의 시간 경과 후, 다음 우선순위를 가지는 추천어들이 제공된 것이다. 최초 제공된 추천어는 문자열의 사이즈를 고려하여 "chips", "chip clips", "chilli" 총 3개였으나, 그 다음 제공된 추천어는 "Children books", "chia seeds" 총 2개임을 알 수 있다. 즉, 모바일 장치(100)는 가상 키보드의 소정의 영역에 언어모델을 적용하여 도출한 복수 개의 추천어들을 모두 제공하지 못하는 경우, 각 추천어의 사이즈 및 소정의 영역에 제공 가능한 문자열의 사이즈에 기초하여, 우선순위에 따라 복수 개의 추천어들을 적응적으로 제공할 수 있다.
도 6은 일 실시예에 따른 가상 키보드에서 추천어를 제공하는 방법을 나타낸 흐름도이다.
610 단계에서, 모바일 장치(100)는 모바일 장치(100)에 설치된 애플리케이션을 실행한다.
620 단계에서, 모바일 장치(100)는 실행된 애플리케이션의 실행 화면에 사용자 입력을 위한 가상 키보드를 디스플레이한다.
630 단계에서, 모바일 장치(100)는 모바일 장치(100)에서 실행된 애플리케이션의 종류에 대응되는 언어 모델을 결정한다.
모바일 장치(100)는 모바일 장치(100)에서 실행된 애플리케이션의 종류를 확인하고, 복수의 언어 모델들 중에서 실행된 애플리케이션의 종류에 대응되는 언어 모델을 선택할 수 있다. 이때, 실행된 애플리케이션의 종류에 대응되는 언어 모델은 실행된 애플리케이션의 종류와 관련된 데이터 및 실행된 애플리케이션에서 추천어에 대한 사용자의 피드백 결과를 이용하여 학습된 언어 모델일 수 있다. 또는, 실행된 애플리케이션의 종류에 대응되는 언어 모델은 애플리케이션 서비스를 제공하는 서버(200)에서 학습된 언어 모델을 서버(200)로부터 수신한 것일 수 있다.
640 단계에서, 모바일 장치(100)는 가상 키보드를 통한 사용자 입력에 대한 응답으로, 결정된 언어 모델을 적용한 추천어를 제공한다.
모바일 장치(100)는 결정된 언어 모델을 적용한 추천어가 복수 개인 경우, 사용자의 설정에 기초한 우선순위에 따라 가상 키보드의 소정의 영역에 추천어를 제공할 수 있다. 모바일 장치(100)는 가상 키보드의 소정의 영역에 복수 개의 추천어들을 모두 제공하지 못하는 경우, 각 추천어의 사이즈 및 소정의 영역에 제공 가능한 문자열의 사이즈에 기초하여, 우선순위에 따라 복수 개의 추천어들을 적응적으로 제공할 수 있다.
전술한 모바일 장치(100)의 구성요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 모바일 장치(100)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
한편, 상술한 실시예들은 컴퓨터에 의하여 실행 가능한 명령어 및 데이터를 저장하는 컴퓨터로 읽을 수 있는 기록매체의 형태로 구현될 수 있다. 상기 명령어 및 데이터 중 적어도 하나는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 이와 같은 컴퓨터로 읽을 수 있는 기록매체는 read-only memory (ROM), random-access memory (RAM), flash memory, CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs, DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, 마그네틱 테이프, 플로피 디스크, 광자기 데이터 저장 장치, 광학 데이터 저장 장치, 하드 디스크, 솔리드-스테이트 디스크(SSD), 그리고 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 저장할 수 있고, 프로세서나 컴퓨터가 명령어를 실행할 수 있도록 프로세서나 컴퓨터에 명령어 또는 소프트웨어, 관련 데이터, 데이터 파일, 및 데이터 구조들을 제공할 수 있는 어떠한 장치라도 될 수 있다.
이제까지 실시예들을 중심으로 살펴보았다. 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 개시된 실시예들이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 발명의 범위는 전술한 실시예들의 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 발명의 범위에 포함된 것으로 해석되어야 할 것이다.
Claims (12)
- 모바일 장치에 설치된 애플리케이션을 실행하는 단계;
상기 실행된 애플리케이션의 실행 화면에 사용자 입력을 위한 가상 키보드를 디스플레이하는 단계;
상기 실행된 애플리케이션의 종류에 대응되는 언어 모델을 결정하는 단계; 및
상기 가상 키보드를 통한 사용자 입력에 대한 응답으로, 상기 결정된 언어 모델을 적용한 추천어를 제공하는 단계;
를 포함하는 가상 키보드에서 추천어를 제공하는 방법. - 제 1 항에 있어서,
제 1 항에 있어서,
상기 언어 모델을 결정하는 단계는,
상기 실행된 애플리케이션의 종류를 확인하는 단계; 및
복수의 언어 모델들 중에서 상기 실행된 애플리케이션의 종류에 대응되는 언어 모델을 선택하는 단계;
를 포함하는, 가상 키보드에서 추천어를 제공하는 방법. - 제 1 항에 있어서,
상기 추천어를 제공하는 단계는,
상기 결정된 언어 모델을 적용한 추천어가 복수 개인 경우, 사용자의 설정에 기초한 우선순위에 따라 상기 가상 키보드의 소정의 영역에 상기 추천어를 제공하는, 가상 키보드에서 추천어를 제공하는 방법. - 제 3 항에 있어서,
상기 추천어를 제공하는 단계는,
상기 소정의 영역에 상기 복수 개의 추천어들을 모두 제공하지 못하는 경우, 각 추천어의 사이즈 및 상기 소정의 영역에 제공 가능한 문자열의 사이즈에 기초하여, 상기 우선순위에 따라 상기 복수 개의 추천어들을 적응적으로 제공하는, 가상 키보드에서 추천어를 제공하는 방법. - 제 1 항에 있어서,
상기 실행된 애플리케이션의 종류에 대응되는 언어 모델은,
상기 실행된 애플리케이션의 종류와 관련된 데이터 및 상기 실행된 애플리케이션에서 상기 추천어에 대한 사용자의 피드백 결과를 이용하여 학습된, 가상 키보드에서 추천어를 제공하는 방법. - 제 1 항에 있어서,
상기 실행된 애플리케이션의 종류에 대응되는 언어 모델은,
애플리케이션 서비스를 제공하는 서버에서 학습된 언어 모델을 상기 서버로부터 수신한 것인, 가상 키보드에서 추천어를 제공하는 방법. - 사용자 인터페이스;
컴퓨터 실행가능 명령어(computer executable instruction)를 저장하는 메모리; 및
상기 컴퓨터 실행가능 명령어를 실행함으로써, 모바일 장치에 설치된 애플리케이션을 실행하고, 상기 사용자 인터페이스를 통해, 상기 실행된 애플리케이션의 실행 화면에 사용자 입력을 위한 가상 키보드를 디스플레이하며, 상기 실행된 애플리케이션의 종류에 대응되는 언어 모델을 결정하여, 상기 사용자 인터페이스를 통해, 상기 가상 키보드를 통한 사용자 입력에 대한 응답으로, 상기 결정된 언어 모델을 적용한 추천어를 제공하는 프로세서;
를 포함하는 가상 키보드에서 추천어를 제공하는 모바일 장치. - 제 7 항에 있어서,
상기 프로세서는,
상기 실행된 애플리케이션의 종류를 확인하고, 복수의 언어 모델들 중에서 상기 실행된 애플리케이션의 종류에 대응되는 언어 모델을 선택하는, 모바일 장치. - 제 7 항에 있어서,
상기 프로세서는,
상기 결정된 언어 모델을 적용한 추천어가 복수 개인 경우, 사용자의 설정에 기초한 우선순위에 따라 상기 가상 키보드의 소정의 영역에 상기 추천어를 제공하는, 모바일 장치. - 제 9 항에 있어서,
상기 프로세서는,
상기 소정의 영역에 상기 복수 개의 추천어들을 모두 제공하지 못하는 경우, 각 추천어의 사이즈 및 상기 소정의 영역에 제공 가능한 문자열의 사이즈에 기초하여, 상기 우선순위에 따라 상기 복수 개의 추천어들을 적응적으로 제공하는, 모바일 장치. - 제 7 항에 있어서,
상기 실행된 애플리케이션의 종류에 대응되는 언어 모델은,
상기 실행된 애플리케이션의 종류와 관련된 데이터 및 상기 실행된 애플리케이션에서 상기 추천어에 대한 사용자의 피드백 결과를 이용하여 학습된, 모바일 장치. - 제 7 항에 있어서,
상기 실행된 애플리케이션의 종류에 대응되는 언어 모델은,
애플리케이션 서비스를 제공하는 서버에서 학습된 언어 모델을 상기 서버로부터 수신한 것인, 모바일 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170110661A KR20190024071A (ko) | 2017-08-31 | 2017-08-31 | 가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법 |
PCT/KR2017/014138 WO2019045186A1 (en) | 2017-08-31 | 2017-12-05 | MOBILE DEVICE AND METHOD FOR PROVIDING RECOMMENDED WORD ON A VIRTUAL KEYBOARD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170110661A KR20190024071A (ko) | 2017-08-31 | 2017-08-31 | 가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20190024071A true KR20190024071A (ko) | 2019-03-08 |
Family
ID=65525774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170110661A KR20190024071A (ko) | 2017-08-31 | 2017-08-31 | 가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20190024071A (ko) |
WO (1) | WO2019045186A1 (ko) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101137567B1 (ko) * | 2005-02-21 | 2012-04-19 | 주식회사 팬택 | 문자 자동 완성 기능을 제공하는 무선 휴대 단말기 및 그방법 |
US8484573B1 (en) * | 2012-05-23 | 2013-07-09 | Google Inc. | Predictive virtual keyboard |
US9195645B2 (en) * | 2012-07-30 | 2015-11-24 | Microsoft Technology Licensing, Llc | Generating string predictions using contexts |
US20140267045A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Adaptive Language Models for Text Predictions |
KR20160086582A (ko) * | 2015-01-12 | 2016-07-20 | 주식회사 디오텍 | 애플리케이션별 후보 데이터 제공 방법, 장치 및 시스템 |
-
2017
- 2017-08-31 KR KR1020170110661A patent/KR20190024071A/ko not_active Application Discontinuation
- 2017-12-05 WO PCT/KR2017/014138 patent/WO2019045186A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2019045186A1 (en) | 2019-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102455232B1 (ko) | 콘텍스트 기반 탭 관리를 위한 방법 및 전자 장치 | |
US20180081935A1 (en) | Data Visualization in a Dashboard Display Using Panel Templates | |
US9787798B2 (en) | Generating collapsed user interface interaction sequence controls in mobile applications | |
US9442832B2 (en) | User workflow replication for execution error analysis | |
US9952848B2 (en) | Dependency-aware transformation of multi-function applications for on-demand execution | |
EP3175373A2 (en) | Presenting dataset of spreadsheet in form based view | |
US11580294B2 (en) | Techniques for web framework detection | |
US11616860B2 (en) | Information display method, terminal, and server | |
US20160283846A1 (en) | Assistive technology (at) responsive to cognitive states | |
US20160283847A1 (en) | Assistive technology (at) responsive to cognitive states | |
US20170199912A1 (en) | Behavior topic grids | |
US20190108361A1 (en) | Secure access to multi-tenant relational data | |
US20170019490A1 (en) | Mirrored visualization of user activity in user interface | |
CN105739717B (zh) | 信息输入方法和装置 | |
CN109684207B (zh) | 操作序列封装的方法、装置、电子设备及存储介质 | |
CN111142990A (zh) | 一种微信小程序页面展示方法、装置、及存储介质 | |
KR20190024071A (ko) | 가상 키보드에서 추천어를 제공하는 모바일 장치 및 방법 | |
JPWO2016147219A1 (ja) | テキスト可視化システム、テキスト可視化方法、及び、プログラム | |
CN110740074B (zh) | 网络地址的检测方法、装置及电子设备 | |
CN114594945A (zh) | 高级弹窗选择框的生成方法、装置、系统、设备以及介质 | |
US20150229718A1 (en) | Protocol for exchanging data between two devices | |
US10713433B2 (en) | Documentation data file with detail levels | |
KR20190066471A (ko) | 가상 키보드에서 입력 액션에 따라 문자를 입력하는 모바일 장치 및 방법 | |
CN114594948A (zh) | 动态下拉框控件的生成方法、装置、系统、设备以及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E601 | Decision to refuse application |