KR102462365B1 - 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 - Google Patents
사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 Download PDFInfo
- Publication number
- KR102462365B1 KR102462365B1 KR1020160024711A KR20160024711A KR102462365B1 KR 102462365 B1 KR102462365 B1 KR 102462365B1 KR 1020160024711 A KR1020160024711 A KR 1020160024711A KR 20160024711 A KR20160024711 A KR 20160024711A KR 102462365 B1 KR102462365 B1 KR 102462365B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- input
- language model
- word
- text
- Prior art date
Links
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/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
- 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/018—Input/output arrangements for oriental characters
-
- 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
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
- G06F40/129—Handling non-Latin characters, e.g. kana-to-kanji conversion
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)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명은 텍스트 입력을 예측하는 방법 및 그 장치에 대한 것으로, 보다 상세하게는, 사용자의 데모그래픽 정보 및 컨텍스트 정보에 기초하여 텍스트 입력을 예측하고, 사용자에게 입력될 텍스트를 추천하는 방법 및 장치에 관한 것이다.
본 발명의 일 실시예에 따른 디바이스가 가상 키보드를 통해 입력될 단어를 추천하는 방법은, 디바이스에 텍스트를 입력하기 위한 가상 키보드를 디스플레이하는 단계; 적어도 하나의 언어 모델(LM, Language Model)을 선택하는 단계; 및 가상 키보드를 통해 입력된 적어도 하나의 텍스트 및 선택된 적어도 하나의 언어 모델에 기초하여, 입력된 텍스트에 관련된 적어도 하나의 단어를 추천하는 단계;를 포함하고, 언어 모델은 디바이스 사용자의 데모그래픽(demographic) 속성에 기초한 데모그래픽 언어 모델, 디바이스 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 가상 키보드가 실행된 컨텍스트(context)에 기초한 컨텍스트 언어 모델 중 적어도 하나를 포함한다.
본 발명의 일 실시예에 따른 디바이스가 가상 키보드를 통해 입력될 단어를 추천하는 방법은, 디바이스에 텍스트를 입력하기 위한 가상 키보드를 디스플레이하는 단계; 적어도 하나의 언어 모델(LM, Language Model)을 선택하는 단계; 및 가상 키보드를 통해 입력된 적어도 하나의 텍스트 및 선택된 적어도 하나의 언어 모델에 기초하여, 입력된 텍스트에 관련된 적어도 하나의 단어를 추천하는 단계;를 포함하고, 언어 모델은 디바이스 사용자의 데모그래픽(demographic) 속성에 기초한 데모그래픽 언어 모델, 디바이스 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 가상 키보드가 실행된 컨텍스트(context)에 기초한 컨텍스트 언어 모델 중 적어도 하나를 포함한다.
Description
본 발명은 텍스트 입력을 예측하는 방법 및 그 장치에 대한 것으로, 보다 상세하게는, 사용자의 데모그래픽 정보 및 컨텍스트 정보에 기초하여 텍스트 입력을 예측하고, 사용자에게 입력될 텍스트를 추천하는 방법 및 장치에 관한 것이다.
모바일 디바이스의 소형화 추세에 따라, 하드웨어로 구현되는 인터페이스들을 제거하고 해당 기능을 소프트웨어로 구현하게 된다. 텍스트 입력은 모바일 디바이스의 사용에 있어 높은 비중을 차지하는 기능으로, 텍스트 입력을 위해 모바일 디바이스 사용자들이 소비하는 시간은 하루에 수시간에 달한다.
따라서, 하드웨어적인 텍스트 입력 도구를 포함하지 않는 모바일 디바이스에서, 보다 효율적인 텍스트 입력 방법이 요구된다.
상술한 바와 같이, 하드웨어적인 텍스트 입력 도구를 포함하지 않는 모바일 디바이스에서, 보다 효율적인 텍스트 입력 방법이 요구된다.
모바일 디바이스에서 효율적인 텍스트 입력을 구현하기 위해 사용자 입력 텍스트를 예측하는 기술이 개발되어 있으며 구체적으로 자동 완성, 교정, 예측, 공백 교정 및 에모지(emoji) 입력 등이 있다.
그러나 종래의 기술은 모든 사용자에게 동일한 언어 모델을 사용함으로써, 모든 사용자에게 동일한 추천 결과가 제공되거나, 텍스트 입력 상황에 대한 정보를 활용하지 않음으로써 텍스트 입력 상황과 무관하게 동일한 추천 결과가 제공된다. 이러한 경우 추천된 단어가 선택되는 확률은 낮아지게 되며 텍스트 입력 효율 개선 효과가 떨어지게 된다.
본 발명은 전술한 종래 기술의 문제점을 해결하며, 사용자 데모그래픽 속성에 특화된 언어 모델 및 컨텍스트 속성에 특화된 언어 모델을 사용함으로써 보다 효과적인 입력 텍스트 예측 및 추천을 수행하는 것을 그 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 디바이스가 가상 키보드를 통해 입력될 단어를 추천하는 방법은, 디바이스에 텍스트를 입력하기 위한 가상 키보드를 디스플레이하는 단계; 적어도 하나의 언어 모델(LM, Language Model)을 선택하는 단계; 및 가상 키보드를 통해 입력된 적어도 하나의 텍스트 및 선택된 적어도 하나의 언어 모델에 기초하여, 입력된 텍스트에 관련된 적어도 하나의 단어를 추천하는 단계;를 포함하고, 언어 모델은 디바이스 사용자의 데모그래픽(demographic) 속성에 기초한 데모그래픽 언어 모델, 디바이스 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 가상 키보드가 실행된 컨텍스트(context)에 기초한 컨텍스트 언어 모델 중 적어도 하나를 포함한다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성은, 디바이스 사용자의 성별, 연령, 지역, 직업, 고향, 종교 및 관심사 중 적어도 하나를 포함한다.
본 발명의 또 다른 실시예에 따르면, 가상 키보드가 실행된 컨텍스트는, 가상 키보드가 실행된 애플리케이션에 대한 정보, 가상 키보드가 실행된 시간에 대한 정보 및 가상 키보드가 실행된 장소에 대한 정보 중 적어도 하나를 포함한다.
본 발명의 또 다른 실시예에 따르면, 추천하는 단계는, 선택된 적어도 하나의 언어 모델 내에 포함된 단어들 중에서, 입력된 텍스트를 포함하고, 사용자에 의해 소정의 횟수 이상으로 입력된 이력이 있는 단어를 추천한다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성을 입력받는 단계;를 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성을 추정하는 단계;를 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성은, 디바이스 사용자의 텍스트 입력 이력에 기초하여 추정된다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성은, 사용자에 대한 부가 정보에 기초하여 추정된다.
본 발명의 또 다른 실시예에 따르면, 서버로, 언어 모델의 전송을 요청하는 단계; 및 서버로부터, 요청한 언어 모델을 수신하는 단계;를 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 사용자 정보를 서버로 전송하는 단계; 및 서버로부터, 전송된 사용자 정보에 기초하여 갱신된 언어 모델을 수신하는 단계;를 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 추천하는 단계는, 추천된 적어도 하나의 단어에 대한 우선 순위를 결정하는 단계를 더 포함한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 디바이스가 가상 키보드를 통해 입력될 단어를 추천하는 장치는, 디바이스에 텍스트를 입력하기 위한 가상 키보드가 디스플레이되는 디스플레이부; 및 적어도 하나의 언어 모델(LM, Language Model)을 선택하고, 가상 키보드를 통해 입력된 적어도 하나의 텍스트 및 선택된 적어도 하나의 언어 모델에 기초하여, 입력된 텍스트에 관련된 적어도 하나의 단어를 추천하는 단어 추천부;를 포함하고, 언어 모델은 디바이스 사용자의 데모그래픽(demographic) 속성에 기초한 데모그래픽 언어 모델, 디바이스 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 가상 키보드가 실행된 컨텍스트(context)에 기초한 컨텍스트 언어 모델 중 적어도 하나를 포함한다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성은, 디바이스 사용자의 성별, 연령, 지역, 직업, 고향, 종교 및 관심사 중 적어도 하나를 포함한다.
본 발명의 또 다른 실시예에 따르면, 가상 키보드가 실행된 컨텍스트는, 가상 키보드가 실행된 애플리케이션에 대한 정보, 가상 키보드가 실행된 시간에 대한 정보 및 가상 키보드가 실행된 장소에 대한 정보 중 적어도 하나를 포함한다.
본 발명의 또 다른 실시예에 따르면, 제어부는, 선택된 적어도 하나의 언어 모델 내에 포함된 단어들 중에서, 입력된 텍스트를 포함하고, 사용자에 의해 소정의 횟수 이상으로 입력된 이력이 있는 단어를 추천한다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성을 입력받는 입력부;를 더 포함한다.
본 발명의 또 다른 실시예에 따르면, 단어 추천부는, 디바이스 사용자의 데모그래픽 속성을 추정한다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성은, 디바이스 사용자의 텍스트 입력 이력에 기초하여 추정된다.
본 발명의 또 다른 실시예에 따르면, 디바이스 사용자의 데모그래픽 속성은, 사용자에 대한 부가 정보에 기초하여 추정된다.
본 발명의 또 다른 실시예에 따르면, 단어 추천부는, 서버로 언어 모델의 전송을 요청하고, 서버로부터 요청한 언어 모델을 수신한다.
본 발명의 또 다른 실시예에 따르면, 단어 추천부는, 서버로 사용자 정보를 전송하고, 서버로부터 전송된 사용자 정보에 기초하여 갱신된 언어 모델을 수신한다.
본 발명의 또 다른 실시예에 따르면, 단어 추천부는, 추천된 적어도 하나의 단어에 대한 우선 순위를 결정한다.
한편, 본 발명의 일 실시예에 따르면, 전술한 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 사용자의 성별이나 연령대 등의 데모그래픽 속성에 따라 자주 사용하는 단어 및 말투의 특징이 상이하므로, 사용자에 대한 데모그래픽 정보를 고려하여 작성된 언어모델 이용하는 경우 사용자가 입력하려고 했던 단어가 추천된 단어에 포함될 확률을 높일 수 있다.
또한, 텍스트가 입력된 애플리케이션이나 시간대 등의 컨텍스트 속성에 따라 자주 사용하는 단어 및 문장의 패턴 등이 상이하므로, 텍스트 입력에 대한 컨텍스트 정보를 고려하여 작성된 언어 모델을 이용하는 경우 사용자가 입력하려고 했던 단어가 추천된 단어에 포함될 확률을 높일 수 있다.
도 1 은 입력된 텍스트에 기초하여 입력될 단어를 추천하는 방법에 대한 일 실시예를 나타낸다.
도 2 는 사용자 데모그래픽 속성에 따라 자주 사용되는 단어 또는 언어의 일 실시예를 나타내는 도면이다.
도 3 는 본 발명의 일 실시예에 따른 사용자 데모그래픽 정보에 기초하여 단어를 추천한 결과를 나타내는 도면이다.
도 4 는 본 발명의 일 실시예에 따른 컨텍스트 정보에 기초하여 단어를 추천한 결과를 나타내는 도면이다.
도 5 는 본 발명의 일 실시예에 따른 컨텍스트 정보에 기초하여 입력될 텍스트를 추천한 결과를 나타내는 도면이다.
도 6 은 본 발명의 일 실시예에 따른 단어 추천 장치의 세부 구성도이다.
도 7 은 본 발명의 일 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 8 은 도 7 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 9 는 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 10 은 도 9 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 11 은 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 12 는 도 11에 개시된 본 발명의 일 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 13 은 도 11에 개시된 본 발명의 또 다른 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 14 는 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 15 는 도 14 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 16 은 도 14 에 개시된 본 발명의 또 다른 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 17 은 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 18 은 본 발명의 일 실시예에 따른 단어 추천 장치의 설정을 나타내는 도면이다.
도 19 는 본 발명의 일 실시예에 따른 단어 추천 시스템의 전체 동작 흐름도를 나타내는 도면이다.
도 20 은 본 발명의 일 실시예에 따른 단어 추천 장치의 동작 흐름도를 나타내는 도면이다.
도 2 는 사용자 데모그래픽 속성에 따라 자주 사용되는 단어 또는 언어의 일 실시예를 나타내는 도면이다.
도 3 는 본 발명의 일 실시예에 따른 사용자 데모그래픽 정보에 기초하여 단어를 추천한 결과를 나타내는 도면이다.
도 4 는 본 발명의 일 실시예에 따른 컨텍스트 정보에 기초하여 단어를 추천한 결과를 나타내는 도면이다.
도 5 는 본 발명의 일 실시예에 따른 컨텍스트 정보에 기초하여 입력될 텍스트를 추천한 결과를 나타내는 도면이다.
도 6 은 본 발명의 일 실시예에 따른 단어 추천 장치의 세부 구성도이다.
도 7 은 본 발명의 일 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 8 은 도 7 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 9 는 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 10 은 도 9 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 11 은 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 12 는 도 11에 개시된 본 발명의 일 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 13 은 도 11에 개시된 본 발명의 또 다른 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 14 는 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 15 는 도 14 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 16 은 도 14 에 개시된 본 발명의 또 다른 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 17 은 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 18 은 본 발명의 일 실시예에 따른 단어 추천 장치의 설정을 나타내는 도면이다.
도 19 는 본 발명의 일 실시예에 따른 단어 추천 시스템의 전체 동작 흐름도를 나타내는 도면이다.
도 20 은 본 발명의 일 실시예에 따른 단어 추천 장치의 동작 흐름도를 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다.
예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다.
도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1 은 입력된 텍스트에 기초하여 입력될 단어를 추천하는 방법에 대한 일 실시예를 나타낸다.
집적 회로 기술의 발달 및 관련 기술의 발달에 따라 모바일 디바이스의 크기는 점점 소형화되는 추세에 있으며, 종래 각각의 기기에서 동작하던 기능들이 모바일 디바이스에서 구현되는 경우가 늘고 있다. 이에 따라, 사용자는 이동 중 모바일 디바이스에 포함된 카메라로 사진을 찍어 편집하여 전송하거나, 모바일 디바이스로 문서를 작성하는 등 장소적 제약으로부터 자유로워졌다.
모바일 디바이스는 대표적으로 스마트폰을 들 수 있지만, 이외에도 태블릿pc, 스마트 워치 등 이동성이 보장되는 다양한 전자기기들을 포함할 수 있다.
모바일 디바이스에는 여러 가지 기능이 탑재되지만, 텍스트 입력은 모든 기능 및 애플리케이션과 관련하여 가장 많이 수행되는 동작 중 하나이다. 그러나 대부분의 모바일 디바이스는 텍스트 입력을 위한 물리적인 하드키를 구비하고 있지 않은 경우가 많으며, 이러한 경우 사용자가 텍스트 입력을 위한 동작(텍스트 입력창 선택 등)을 수행하면 가상 키보드가 화면에 표시된다.
집적 회로 기술 및 배터리 기술의 발전으로 모바일 디바이스의 소형화가 가능하지만 화면크기가 일정 크기 이하로 작아질 경우 사용자는 가상 키보드를 통한 텍스트 입력시 불편함을 느끼게 된다. 또한 모바일 디바이스의 사용자는 한손으로 디바이스를 잡고 있고 나머지 한 손으로만 입력하는 경우가 많기 때문에 보다 편리한 텍스트 입력을 위한 사용자 인터페이스의 제공이 필요하다.
따라서, 대부분의 모바일 디바이스는 사용자에게 보다 편리한 텍스트 입력 방법을 제공하기 위하여 입력될 단어를 추천하는 기능을 포함하고 있는 경우가 많다.
입력될 단어를 추천하는 기능은 다음과 같이 동작한다. 사용자가 텍스트 입력을 위한 동작을 수행하면 가상 키보드(120) 및 입력된 텍스트 표시창(110)이 화면에 표시된다. 사용자가 가상 키보드(120)를 통해 “Good to”를 입력(140)하면, 입력된 텍스트 “good to”에 기초하여 이후 입력 가능성이 높다고 판단된 “hear”, “see” 및 “be”등의 추천될 단어들이 표시(130)된다.
사용자가 이후 입력하려는 단어가 표시된 추천 단어(130)에 포함되어 있다면 사용자는 키보드를 누르는 대신 표시된 추천 단어(130) 중에서 선택할 수 있고, 텍스트 입력을 위한 화면 터치 횟수가 줄어들게 된다.
이와 같이 단어 또는 텍스트 입력을 추천하기 위해서 언어모델(LM, Language Model)을 이용한다. 언어 모델은 사람이 사용하는 언어를 모델링하여, 어떤 단어열이 실제 우리가 사용하는 언어와 어느 정도 일치하는지 계산하는 모델로 언어 생성 및 정보 검색 등에 사용된다.
언어 모델은 코퍼스(corpus)를 수집하여 생성되는데, 코퍼스는 언어 연구를 위해 텍스트를 컴퓨터가 읽을 수 있는 형태로 모아 놓은 언어 자료를 의미하며, 언어 현실을 총체적으로 드러내 보여줄 수 있는 자료의 집합체로 매체, 시간, 공간, 주석 단계 등의 기준에 따라 다양한 종류가 있으며, 한 덩어리로 볼 수 있는 말의 뭉치라는 뜻이다.
언어 모델 생성을 위해서는 대용량의 텍스트 데이터인 코퍼스를 지속적으로 수집하고, 이에 기초하여 텍스트 예측을 위한 언어 모델을 생성한다.
그러나, 종래의 단어 추천 방법에서는 언어 모델 생성시 사용자에 대한 데모그래픽(demographic) 속성 또는 텍스트 입력에 대한 컨텍스트 속성을 고려하지 않기 때문에, 사용자가 입력하려고 했던 단어가 추천될 확률이 상대적으로 낮아지게 된다. 사용자에 대한 데모그래픽 속성 및 텍스트 입력에 대한 컨텍스트 속성을 고려한 언어 모델을 이용하는 경우, 보다 정확한 입력 텍스트의 추천이 가능하다.
사용자의 데모그래픽 속성은 디바이스 사용자 즉 텍스트를 입력하는 주체에 대한 인구통계학적 속성으로, 사용자의 성별, 연령, 직업, 지역 또는 종교 등을 의미한다.
텍스트 입력에 대한 컨텍스트 속성은 텍스트가 입력된 상황이나 맥락에 대한 속성으로, 텍스트가 입력된 시간에 대한 정보, 텍스트가 입력된 장소에 대한 정보 또는 텍스트가 입력된 애플리케이션에 대한 정보 등을 의미한다.
또한, 텍스트 입력에 대한 컨텍스트 속성은, 각 사용자에 대한 컨텍스트 속성을 의미할 수 있다. 예를 들어, 특정 사용자의 시간대에 따른 텍스트 입력에 대한 패턴 정보, 특정 사용자의 장소에 따른 텍스트 입력에 대한 패턴 정보 또는 특정 사용자의 애플리케이션에 따른 텍스트 입력에 대한 패턴 정보 등을 의미할 수 있다.
도 2 는 사용자 데모그래픽 속성에 따라 자주 사용되는 단어 또는 언어의 일 실시예를 나타내는 도면이다.
도 2a 는 사용자 데모그래픽 속성 중 성별에 따라 자주 사용되는 단어의 일 실시예를 나타낸다.
남성들의 경우 축구, 야구 등 운동 경기와 관련된 단어를 자주 사용하며, 게임등과 관련된 단어 또는 배터리, 테더링 등 IT 기기 및 기술과 관련된 단어를 주로 사용한다. 따라서, 남성 사용자에게는 운동경기, 게임 또는 IT 관련 단어들을 추천하거나 해당 단어들의 우선순위를 높이는 경우 남성 사용자가 입력하려고 했던 단어가 추천된 단어에 포함될 확률을 높일 수 있다.
여성들의 경우, 언니, 오빠, 엄마 등 가족이나 주변 사람과 관련된 단어를 자주 사용하며, 덕질, 팬싸 등 좋아하는 연예인과 관련된 단어, 또는 케이스 등 화장용품이나 소품과 관련된 단어를 자주 사용한다. 따라서, 여성 사용자에게는 가족 또는 연예인 관련 단어들을 추천하거나 해당 단어들의 우선순위를 높이는 경우 여성 사용자가 입력하려고 했던 단어가 추천된 단어에 포함될 확률을 높일 수 있다.
이와 같이 성별에 따라 자주 사용하는 단어 및 말투의 특징이 상이하므로 사용자의 성별에 대한 데모그래픽 정보를 고려하여 작성된 언어모델 이용하는 경우 사용자가 입력하려고 했던 단어가 추천된 단어에 포함될 확률을 높일 수 있다.
도 2b 는 사용자 데모그래픽 속성 중 연령대에 따라 자주 사용되는 말투의 일 실시예를 나타낸다.
10대들이 자주 사용하는 말투의 특징은, 줄임말이나 비속어를 많이 사용하며 음슴체를 많이 사용한다는 것이다. 20대들이 자주 사용하는 말투의 특징은, 단순한 줄임말이 아닌 상황을 지칭하는 새로운 신조어를 만들어내거나 사용하는 경향이 강하다는 것이다. 30대들이 자주 사용하는 말투의 특징은, 집단의 유형에 다라 그 사용 패턴이 다양하며 가족들과 관련된 내용이 많이 포함된다는 것이다.
이와 같이 연령에 따라 자주 사용하는 단어 및 말투의 특징이 상이하므로 사용자의 연령에 대한 데모그래픽 정보를 고려하여 작성된 언어모델을 이용하는 경우 사용자가 입력하려고 했던 단어가 추천된 단어에 포함될 확률을 높일 수 있다.
도 3 는 본 발명의 일 실시예에 따른 사용자 데모그래픽 정보에 기초하여 단어를 추천한 결과를 나타내는 도면이다.
보다 구체적으로, 도 3 에서는 사용자 데모그래픽 정보를 고려하여 작성된 데모그래픽 언어모델을 이용하여 텍스트 입력을 예측하는 경우, 가상 키보드를 통해 사용자가 입력한 텍스트 및 각 사용자의 데모그래픽 속성에 따라 추천하는 단어가 어떻게 달라지는지를 나타낸다.
사용자가 10대 여성이며 가상 키보드를 통해 ‘ㅇ’를 입력한 경우(310), 연령 및 성별에 대한 데모그래픽 속성을 고려한 추천 단어(311)는 ‘엄마’, ‘오빠’, ‘언니’, ‘야자’ 및 ‘울 담임’이 될 수 있다.
사용자가 30대 남성이며 가상 키보드를 통해 ‘ㅇ’을 입력한 경우(320), 연령 및 성별에 대한 데모그래픽 속성을 고려한 추천 단어(321)는 ‘야구’, ‘와이프’, ‘오늘’ 및 ‘영화’가 될 수 있다.
사용자가 부산 남성이며 가상 키보드를 통해 ‘ㅁ’을 입력한 경우(330), 지역 및 성별에 대한 데모그래픽 속성을 고려한 추천 단어(331)는 ‘뭐라카노’, ‘마이무라’및 ‘뭐하노’가 될 수 있다.
이 때, 데모그래픽 속성을 고려한 단어 추천 방법은, 데모그래픽 속성에 기초하여 추천된 단어를 선택할 수 있으며, 또 다른 실시예에 따르면 데모그래픽 속성에 기초하여 추천된 단어들의 우선순위를 결정하거나 변경하도록 구현될 수 있다.
도 4 는 본 발명의 일 실시예에 따른 컨텍스트 정보에 기초하여 단어를 추천한 결과를 나타내는 도면이다.
보다 구체적으로, 도 4 에서는 컨텍스트 정보를 고려하여 작성된 컨텍스트 언어모델을 이용하여 텍스트 입력을 예측하는 경우, 가상 키보드를 통해 사용자가 입력한 텍스트 및 각 컨텍스트 속성에 따라 추천하는 단어가 어떻게 달라지는지를 나타낸다.
도 4a 는 텍스트에 대한 컨텍스트 속성 중 텍스트가 입력된 시간에 따라 자주 사용되는 단어의 일 실시예를 나타낸다.
모바일 디바이스의 사용자들은 SNS 등을 이용해 출퇴근 또는 등하교 상황을 타인에게 알려주거나 식사 메뉴를 결정하거나 점심 또는 저녁시간에 만날 약속을 잡는 경우가 빈번하다. 따라서, 사용자가 가상 키보드에‘ㅈ’을 입력한 경우 추천 단어는 ‘지하철’, ‘점심’및 ‘저녁’ 등의 단어가 추천될 수 있다.
그러나, 이러한 단어들의 사용 빈도는 텍스트가 입력된 시간대에 따라 달라질 수 있다.
도 4b 는 본 발명의 일 실시예에 따른 시간에 대한 컨텍스트 정보에 기초하여 단어를 추천한 결과를 나타내는 도면이다.
아침 시간대의 경우 사람들은 출근 또는 등교 상황을 알려주는 경우가 가장 많고 저녁보다는 점심메뉴를 결정하거나 점심 약속을 잡는 경우가 더 많을 것이다. 따라서, 아침 시간대에 가상키보드를 통해 ‘ㅈ’이 입력된 경우 ‘지하철’, ‘점심’, ‘저녁’의 순서로 단어가 많이 사용된다.
이와 유사하게, 점심 시간대의 경우 ‘점심’, ‘저녁’, ‘지하철’의 순서로 단어가 많이 사용되며, 저녁 시간대의 경우 ‘저녁’, ‘지하철’, ‘점심’의 순서로 단어가 많이 사용된다.
따라서 사용자가 가상 키보드에‘ㅈ’을 입력한 경우 추천 단어로 ‘지하철’, ‘점심’및 ‘저녁’이 선택된 경우, 텍스트가 입력된 시간에 따라 추천 단어의 추천 우선 순위를 변경한다.
예를 들어 아침 출근 시간대에‘ㅈ’이 입력된 경우(410), 시간에 대한 컨텍스트 속성을 고려한 추천 우선 순위(411)는 ‘지하철’, ‘점심’ 순일 수 있다.
점심 시간대에 ‘ㅈ’이 입력된 경우(420), 시간에 대한 컨텍스트 속성을 고려한 추천 우선 순위(421)는 ‘점심’, ‘저녁’순일 수 있으며, 저녁 시간대에 ‘ㅈ’이 입력된 경우(430), 시간에 대한 컨텍스트 속성을 고려한 추천 우선순위(431)는 ‘저녁’, ‘지하철’ 순일 수 있다.
이 때, 컨텍스트 속성을 고려한 단어 추천 방법에서, 컨텍스트 속성에 따라 추천된 단어가 서로 상이하다면, 해당 단어를 포함하여 추천 우선순위를 결정할 수 있다.
도 4 에 개시된 실시예에서는 시간에 대한 컨텍스트 정보가 시간대로 한정되었지만, 시간에 대한 컨텍스트 정보는 월, 계절, 요일, 공휴일 여부 및 기념일 여부 등을 포함할 수 있다.
도 5 는 본 발명의 일 실시예에 따른 컨텍스트 정보에 기초하여 입력될 텍스트를 추천한 결과를 나타내는 도면이다.
도 5a 는 컨텍스트 속성 중 텍스트가 입력된 애플리케이션에 기초하여 입력될 문장을 추천한 결과의 일 실시예를 나타낸다.
모바일 디바이스의 사용자들은 애플리케이션에 따라 디바이스의 이용 목적과 대화하는 상대가 서로 상이하다. 따라서, 사용자가 가상 키보드에 텍스트를 입력한 경우 각 애플리케이션에 따라 입력되는 단어 또는 문장은 서로 다른 특성을 가질 수 있다.
예를 들어 사용자가 게임 애플리케이션에서 가상 키보드에 텍스트를 입력한 경우, 게임의 상대방에게 게임과 관련된 내용 또는 게임과 관련된 자신의 상황을 전달하고자 하는 경우가 많다. 따라서, 게임 애플리케이션 실행 중 가상키보드를 통해 ‘ㄴ’이 입력된 경우(510)는 “나 오늘 바빠서 게임 많이 못해”와 같은 문장을 추천할 수 있다.
사용자가 메신저 애플리케이션에 가상 키보드에 텍스트를 입력한 경우, 메신저 상대방에게 현재 자신의 상황과 관련된 정보를 전달하고자 하는 경우가 많다. 따라서, 메신저 애플리케이션 실행 중 가상 키보드를 통해 ‘ㄴ’이 입력된 경우(520)는 “나 지금 출근 중. 지하철이야.”와 같은 문장을 추천할 수 있다.
사용자가 연락처 애플리케이션에서 가상 키보드에 텍스트를 입력한 경우, 연락처를 입력하거나 연락처를 검색하고자 하는 경우이다. 따라서, 연락처 애플리케이션 실행 중 가상 키보드를 통해 ‘ㄴ’이 입력된 경우(530)는 연락처에 저장되어 있는 이름 중 ‘나xx’를 검색하여 추천할 수 있다. 이와 같은 경우 추천되는 이름은 사용의 검색 기록에 기초하여 결정될 수 있다.
각 애플리케이션에서 추천되는 문장은 여러 디바이스의 사용자들이 해당 애플리케이션에서 입력한 텍스트에 대한 정보를 취합한 빅데이터를 활용하여 결정될 수 있다. 또한, 애플리케이션에 대한 컨텍스트 정보에 부가하여 시간에 대한 컨텍스트 정보나 사용자 데모그래픽 정보를 함께 고려하여 추천 문장을 결정할 수 있다.
도 5b 는 애플리케이션에 대한 컨텍스트 정보 및 사용자에 대한 데모그래픽 정보에 기초한 텍스트 입력 추천 결과를 나타낸다.
음악 애플리케이션 실행 중 텍스트 입력이 수행된 경우(540), 사용자가 10대 여성이라면 애플리케이션에 대한 컨텍스트 정보 및 사용자의 연령, 성별에 대한 데모그래픽 정보에 기초하여 추천 단어(541)로 ‘아이유’, ‘태연’, ‘XIA’, ‘빅뱅’을 결정한다. 이 때, 다른 10 대 여성 사용자들의 텍스트 입력 또는 선택에 대한 정보 및 해당 사용자의 입력 이력에 대한 정보를 추가로 이용할 수 있다.
쇼핑 애플리케이션 실행 중 텍스트 입력이 수행된 경우(550), 사용자가 30대 여성이라면 애플리케이션에 대한 컨텍스트 정보 및 사용자의 연령, 성별에 대한 데모그래픽 정보에 기초하여 추천 단어(551)로 ‘원피스’, ‘기저귀’, ‘스킨케어’를 결정한다. 이 때, 다른 30대 여성 사용자들의 텍스트 입력 또는 선택에 대한 정보 및 해당 사용자의 입력 이력에 대한 정보를 추가로 이용할 수 있다.
게임 애플리케이션 실행 중 텍스트 입력이 수행된 경우(560), 애플리케이션에 대한 컨텍스트 정보에 기초하여 추천 단어(561)로 ‘skullman’, ‘balloon’, ‘help’ 등 해당 게임 애플리케이션의 아이템과 관련된 단어 또는 채팅 중 자주 입력하는 단어를 추천 단어로 결정한다. 이 때 다른 사용자들의 텍스트 입력 또는 선택에 대한 정보 및 해당 사용자의 입력 이력에 대한 정보를 추가로 이용할 수 있다.
본 발명의 또 다른 실시예에 따르면, 특정 애플리케이션에서 입력 또는 선택된 텍스트에 대한 정보를 해당 애플리케이션과 같은 카테고리에 해당하는 애플리케이션에 대한 컨텍스트 정보로 활용할 수 있다.
예를 들어, 특정 쇼핑 애플리케이션에서 텍스트를 입력 또는 선택했던 이력을 로그로 저장하여 쇼핑 카테고리에 해당하는 다른 애플리케이션에 대한 컨텍스트 정보로 이용함으로써 보다 정확한 추천 단어의 선택이 가능해질 수 있다.
도 6 은 본 발명의 일 실시예에 따른 단어 추천 장치의 세부 구성도이다.
도 6 에 도시된 바와 같이, 본 발명의 일 실시예에 따른 단어 추천 장치(600)는 입력부(610), 디스플레이부(620), 단어 추천부(630), 제어부(640) 및 저장부(650)를 포함한다.
입력부(610)는, 디스플레이부(620)에 디스플레이 된 가상키보드를 통해 입력되는 텍스트를 입력받고, 단어 추천부(630)에서 추천된 단어에 대한 사용자의 선택을 입력받는다.
디스플레이부(620)는, 입력부가 실행된 경우 가상 키보드를 디스플레이하고, 단어 추천부(630)에서 추천 단어 및 추천 단어의 우선순위가 결정되면 그에 기초하여 추천 단어를 순서대로 디스플레이한다.
단어 추천부(630)는, 디스플레이부(620)에 표시된 가상 키보드를 통해 사용자가 입력한 텍스트 및 저장부(650)에 저장된 언어 모델 사전에 기초하여 사용자가 입력할 단어를 예측하고, 추천 단어 및 각각의 우선순위를 결정한다.
제어부(640)는, 단어 추천 장치(600) 전체의 동작을 제어하며 단어 추천 장치(600)가 입력부(610)를 통해 입력된 텍스트 및 저장부(650)에 저장된 언어 모델 사전에 기초하여 사용자가 입력할 텍스트를 예측하고 추천할 수 있도록, 입력부(610), 디스플레이부(620), 단어추천부(630) 및 저장부(650)의 동작을 제어한다.
저장부(650)는, 사용자 언어 모델, 데모그래픽 언어 모델, 일반 언어모델 등 언어 모델에 따른 각각의 언어 모델 사전을 저장하며, 단어 추천 장치(600)가 단어를 추천하기 위해 필요한 각종의 정보를 저장한다.
단어 추천 장치는 모바일 디바이스 내의 일부 구성에 의해 구현될 수 있으며, 텍스트 입력을 위한 외부 장치 또는 하드키를 포함하지 않는 모바일 디바이스에서 구현되는 경우 입력기는 가상 키보드인 경우가 일반적이다.
이하에서는 설명의 편의를 위해 단어 추천 장치는 ‘디바이스’로, 입력기는 ‘가상 키보드’로 지칭될 수 있으나, 본원 발명의 사상이 이에 한정되는 것은 아니다.
도 7 은 본 발명의 일 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
디바이스의 사용자가 텍스트를 입력하기 위한 명령을 전달하면, 디바이스는 텍스트를 입력하기 위한 가상 키보드를 디스플레이(710)한다. 디바이스는 텍스트가 입력되면 단어 추천을 위해 사용할 언어 모델을 선택(720)한다. 이 때, 언어 모델은 모든 사용자에게 동일하게 적용되는 일반 언어 모델을 포함하며, 사용자의 데모그래픽 속성을 고려한 데모그래픽 언어 모델, 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 텍스트 입력 상황에 대한 컨텍스트 속성을 고려한 컨텍스트 언어 모델 중 적어도 하나를 포함할 수 있다.
디바이스는 가상 키보드를 통해 입력된 텍스트 및 선택된 언어 모델에 기초하여 사용자가 입력할 단어를 예측하고, 단어를 추천(730)할 수 있다.
본 발명의 또 다른 실시예에 따르면, 가상 키보드를 통해 입력된 텍스트가 없거나 아직 텍스트가 입력되기 전인 경우에도 선택된 언어모델에 기초하여 가장 입력 가능성이 높은 단어를 추천할 수 있다.
예를 들어, 특정 애플리케이션의 경우 특정 단어가 처음으로 입력되는 확률이 일정 수준 이상이라면, 해당 애플리케이션에서 가상 키보드가 실행되면 아무런 텍스트가 입력되지 않더라도 특정 단어를 추천할 수 있다.
본 발명의 또 다른 실시예에 따르면, 디바이스는 입력된 텍스트 및 선택된 언어 모델에 기초하여 문장 또는 문장의 일부를 추천할 수도 있다.
도 8 은 도 7 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
디바이스 사용자(200)는 디바이스에서 실행되는 소정의 애플리케이션을 선택(210)하고 사용자의 선택에 대응하여 디바이스에서는 해당 애플리케이션이 실행(110)된다.
애플리케이션 실행 중 사용자가 텍스트 입력창을 선택(220)하면 디바이스는 입력기를 실행하고 사용자의 입력을 위해 가상키보드를 디스플레이(120)한다.
디바이스는 또한 사용자가 입력할 단어의 추천을 위해 필요한 언어 모델을 선택(130)한다. 이 때, 언어 모델은 모든 사용자에게 동일하게 적용되는 일반 언어 모델을 포함하며, 사용자의 데모그래픽 속성을 고려한 데모그래픽 언어 모델, 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 텍스트 입력 상황에 대한 컨텍스트 속성을 고려한 컨텍스트 언어 모델 중 적어도 하나를 포함할 수 있다.
사용자가 가상 키보드를 통해 텍스트를 입력(230)하면, 디바이스는 사용자가 입력한 텍스트 및 선택된 언어 모델에 기초하여 추천 단어를 결정(140)하고, 사용자에게 추천 단어를 제공(150)한다.
본 발명의 또 다른 실시예에 따르면, 가상 키보드를 통해 입력된 텍스트가 없거나 아직 텍스트가 입력되기 전인 경우에도 선택된 언어모델에 기초하여 가장 입력 가능성이 높은 단어를 추천할 수 있다.
예를 들어, 특정 애플리케이션의 경우 특정 단어가 처음으로 입력되는 확률이 일정 수준 이상이라면, 해당 애플리케이션에서 가상 키보드가 실행되면 아무런 텍스트가 입력되지 않더라도 특정 단어를 추천할 수 있다.
본 발명의 또 다른 실시예에 따르면, 디바이스는 입력된 텍스트 및 선택된 언어 모델에 기초하여 문장 또는 문장의 일부를 추천할 수도 있다.
도 9 는 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 9 에 개시된 실시예에서 단어 추천 장치의 동작은 도 8 에 개시된 단어 추천 장치의 동작과 유사하나 추천 단어를 결정한 후, 결정된 추천 단어들 사이의 우선순위를 결정(930)하는 동작이 추가된다.
이 때 우선순위는 선택된 언어 모델에 기초하여, 입력 확률이 높은 단어의 우선순위가 높게 결정된다. 예를 들어, 컨텍스트 언어 모델이 선택되고 ‘ㅈ’이 입력된 경우 아침 시간대에는 ‘지하철’의 우선순위를 높게 결정하고, 저녁 시간대에는 ‘저녁’의 우선순위를 높게 결정할 수 있다.
도 10 은 도 9 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 9 에 개시된 실시예에서 단어 추천 장치의 동작은 도 7 에 개시된 단어 추천 장치의 동작과 유사하며, 추천 단어를 결정한 후, 결정된 추천 단어들 사이의 우선순위를 결정(930)하는 동작이 추가된다.
따라서, 도 10 에 개시된 단어 추천방법은 도 8 에 개시된 단어 추천 방법에 비해 디바이스(200)가 추천단어를 결정한 후, 결정된 추천 단어들 사이의 우선순위를 결정(250)하는 단계가 추가된다.
이 때 우선순위는 선택된 언어 모델에 기초하여, 입력 확률이 높은 단어의 우선순위가 높게 결정된다. 예를 들어, 컨텍스트 언어 모델이 선택되고 ‘ㅈ’이 입력된 경우 아침 시간대에는 ‘지하철’의 우선순위를 높게 결정하고, 저녁 시간대에는 ‘저녁’의 우선순위를 높게 결정할 수 있다.
도 11 은 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 11 에 개시된 실시예에서 단어 추천 장치의 동작은 도 7 에 개시된 단어 추천 장치의 동작과 유사하나 데모그래픽 속성을 획득(1110)하는 동작이 추가된다.
상술한 바와 같이 데모그래픽 속성은 디바이스 사용자 즉 텍스트를 입력하는 주체에 대한 인구통계학적 속성으로, 사용자의 성별, 연령, 직업, 지역 또는 종교 등을 의미한다.
데모그래픽 속성을 획득(1110)하는 단계는, 디바이스의 초기 설정시 또는 데모그래픽 사용 사전 여부 설정시 수행되어 모든 애플리케이션에 대해 공통으로 적용될 수 있지만, 언어 모델을 선택하는 단계(1130)이전에 수행되어 데모그래픽 속성을 획득할 수 있으면 순서에 무관하다.
데모그래픽 속성은, 사용자가 직접 입력하거나 사용자의 텍스트 입력 이력등에 기초하여 디바이스가 추정할 수 있다.
도 12 는 도 11에 개시된 본 발명의 일 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
구체적으로, 도 12 는 도 11에 개시된 실시예에 따른 단어 추천 방법 중, 데모그래픽 속성을 사용자가 직접 입력하는 경우의 단어 추천 방법의 세부흐름도이다.
도 11 에 개시된 실시예에서 단어 추천 장치의 동작은 도 7 에 개시된 단어 추천 장치의 동작과 유사하나 데모그래픽 속성을 획득하는 동작이 추가된다.
따라서, 도 12에 개시된 단어 추천 방법은 도 8 에 개시된 단어 추천 방법에 비해 사용자(200)가 데모그래픽 속성을 입력(210)하면, 입력된 데모그래픽 속성이 디바이스(100)로 전달되고, 디바이스는 전달된 데모그래픽 속성을 저장(110)하는 단계가 추가된다.
도 10 에서 상술한 바와 같이 데모그래픽 속성은, 디바이스의 초기 설정시 또는 데모그래픽 사용 사전 여부 설정시 사용자로부터 획득되어 모든 애플리케이션에 대해 공통으로 적용될 수 있지만, 디바이스가 언어 모델을 선택(140)하기 이전에 수행되어 데모그래픽 속성을 획득할 수 있으면 순서에 무관하다.
도 13 은 도 11에 개시된 본 발명의 또 다른 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
구체적으로, 도 13 은 도 11에 개시된 실시예에 따른 단어 추천 방법 중, 데모그래픽 속성을 디바이스가 추정하는 경우의 단어 추천 방법의 세부흐름도이다.
도 11 에 개시된 실시예에서 단어 추천 장치의 동작은 도 7 에 개시된 단어 추천 장치의 동작과 유사하나 데모그래픽 속성을 획득하는 동작이 추가된다.
따라서, 도 12에 개시된 단어 추천 방법은 도 8 에 개시된 단어 추천 방법에 비해 사용자(200)가 텍스트를 입력(210)하면, 디바이스(100)는 사용자의 텍스트 입력 이력을 저장하고, 디바이스는 저장된 텍스트 입력 이력에 기초하여 사용자의 데모그래픽 속성을 추정(110)하고, 추정된 데모그래픽 속성을 저장(120)하는 단계가 추가된다.
도 10 에서 상술한 바와 같이 데모그래픽 속성은, 디바이스의 초기 설정시 또는 데모그래픽 사용 사전 여부 설정시 사용자로부터 획득되어 모든 애플리케이션에 대해 공통으로 적용될 수 있지만, 디바이스가 언어 모델을 선택(140)하기 이전에 수행되어 데모그래픽 속성을 획득할 수 있으면 순서에 무관하다.
도 14 는 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
언어 모델을 구축하는 것은 대용량의 텍스트 데이터인 코퍼스를 지속적으로 수집하고 판단하는 작업이 수행되어야 하므로 저장 용량 및 전력 소모 제한이 있는 디바이스에서 이를 처리하기는 어려운 경우가 많다. 따라서, 코퍼스를 수집하고 언어 모델을 구축하는 것은 서버에서 수행되는 것이 일반적이다.
이와 같은 경우 디바이스에 언어 모델이 저장되어 있지 않거나 디바이스에 저장된 언어 모델의 갱신이 필요한 경우, 디바이스는 서버로 언어 모델의 전송을 요청하여 수신할 수 있다.
도 14 에 개시된 실시예에서 디바이스의 사용자가 텍스트를 입력하기 위한 명령을 전달하면, 디바이스는 텍스트를 입력하기 위한 가상 키보드를 디스플레이(1410)하고, 단어 추천을 위해 필요한 언어 모델을 선택한다.
선택된 언어 모델에 해당하는 언어 모델 사전 파일이 디바이스에 저장되어 있지 않다면 디바이스는 사전 파일의 전송을 서버에 요청(1420)한다.
서버로부터 전송된 언어 모델 사전 파일을 수신(1430)하면, 디바이스는 수신된 언어 모델 사전 파일에 기초하여 사용자가 입력할 단어를 예측하고 단어를 추천(1440)한다.
도 15 는 도 14 에 개시된 본 발명의 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 15 에 개시된 단어 추천 방법은 도 8 에 개시된 단어 추천 방법과 비교하여, 언어 모델을 선택(130) 하는 단계까지는 동일하다. 디바이스(100)는 언어 모델을 선택하고 난 후, 선택된 언어 모델 사전이 디바이스에 저장되어 있지 않다면, 서버(300)로 언어 모델 사전 파일의 전송을 요청한다. 서버(300)는 디바이스로부터의 전송 요청에 대한 응답으로, 디바이스(100)로 언어 모델 사전 파일을 전송하고, 디바이스(100)는 서버로부터 전송된 언어 모델 사전 파일을 저장한다.
이후의 단계는 도 8 에 개시된 단어 추천 방법과 동일하다.
도 16 은 도 14 에 개시된 본 발명의 또 다른 실시예에 따른 단어 추천 방법의 세부 흐름도이다.
도 16 은 한명의 사용자가 복수 개의 디바이스를 사용하는 경우, 예를 들어 디바이스 A 및 디바이스 B 의 두개의 디바이스를 사용하는 경우의 동작 흐름도이다.
사용자의 텍스트 입력에 대한 각 디바이스와 서버의 동작은 도 15 에 개시된 단어 추천 방법의 세부 흐름도와 유사하다.
이와 같은 경우, 디바이스 A가 사용자가 주로 사용하는 스마트폰인 경우를 가정하자. 사용자는 주로 디바이스 A를 이용하여 텍스트를 입력하므로 사용자의 텍스트 입력 이력은 디바이스 A에 집중되어 있을 것이다. 이와 같은 경우 사용자가 가끔 사용하는 태블릿 pc인 디바이스 B를 이용해 텍스트 입력 예측을 수행할 경우 사용자의 입력 이력에 대한 정보가 부족하여 추천 단어가 잘못 선택될 가능성이 높아지게 된다.
따라서, 디바이스 A 및 디바이스 B 에서의 입력 이력을 서버로 전송하여 해당 사용자에 대한 입력 이력을 통합 관리하고 통합된 입력 이력에 기초한 언어 모델 사전을 디바이스 B로 전송함으로써 디바이스 B를 이용한 텍스트 입력 예측의 정확도를 향상시킬 수 있다.
도 17 은 본 발명의 또 다른 실시예에 따른 단어 추천 장치의 동작 흐름도이다.
도 17 에 개시된 단어 추천 장치의 동작은 도 14 에 개시된 단어 추천 장치의 동작과 유사하다.
디바이스의 사용자가 텍스트를 입력하기 위한 명령을 전달하면, 디바이스는 텍스트를 입력하기 위한 가상 키보드를 디스플레이(1710)하고, 단어 추천을 위해 필요한 언어 모델을 선택한다.
선택된 언어 모델에 해당하는 언어 모델 사전 파일이 디바이스에 저장되어 있지만, 갱신이 필요하다고 판단되면 디바이스는 최신 사전 파일의 전송을 서버에 요청(1720)한다.
서버로부터 전송된 언어 모델 사전 파일을 수신(1730)하면, 디바이스는 종래의 언어 모델 사전을 수신된 최신 언어 모델 사전으로 갱신(1740)하고, 갱신된 언어 모델 사전에 기초하여 사용자가 입력할 단어를 에측하고 단어를 추천(1750)한다.
디바이스에 저장된 언어 모델 사전의 버전 정보와 서버에 저장된 언어 모델 사전의 버전 정보를 비교하거나, 서버에 저장된 언어 모델 사전의 업데이트 여부를 확인함으로써 보다 효율적인 최신 언어 모델 사전의 관리가 가능하다.
도 18 은 본 발명의 일 실시예에 따른 단어 추천 장치의 설정을 나타내는 도면이다.
키보드 설정 화면(1810)에는 사용자 사전 설정(1811), 사용자 정보(1812) 및 사용자 정보 수집 동의여부(1813) 등이 포함될 수 있다.
사용자 정보(1812)에는 사용자의 나이, 성별 등이 포함되며 추가적으로 지역, 종교 등의 데모그래픽 속성에 대한 정보가 포함될 수 있다.
사용자 정보는 사용자가 설정하거나 사용자의 텍스트 입력 이력이나 사용자에 대한 부가정보 등에 의해 추정될 수 있다. 만일 추정된 사용자 정보가 부정확하다면 추후 사용자가 수정할 수 있고, 사용자에 의해 수정된 경우 수정된 정보가 추정된 정보에 비해 더 정확한 정보로 취급된다.
사용자 사전 설정(1811)에서는 사용자 사전의 사용여부(1815)를 선택할 수 있으며 사용자 단어 사전 중 사용하고자 하는 사전을 선택하는 사용자 단어 사전 선택 메뉴(1814)가 포함될 수 있다.
사용자 단어 사전 선택 메뉴(1814)로 들어가면, 사용자 사전 선택 화면(1820)이 나타난다.
사용자 사전 선택 화면(1820)에는 자주 사용하는 단어 사전 설정(1821) 메뉴 및 사용자 패턴 사전 설정(1822) 메뉴가 포함된다.
자주 사용하는 단어 사전 설정 (1821)메뉴에서 사용자는 사용자의 데모그래픽 속성에 기초한 각각의 어휘 사전의 사용 여부를 설정할 수 있다. 사용자가 20대 여자인 경우라면 20대 어휘사전(1823) 및 여자 어휘 사전(1824)의 사용 여부를 설정할 수 있으며, 추가적으로 일반 언어 모델에 기초한 최신 어휘 사전(1825)의 사용 여부를 설정할 수 있다.
사용자 패턴 사전 설정(1822) 메뉴에서 사용자는 컨텍스트 속성에 기초한 각각의 어휘 사전의 사용 여부를 선택할 수 있다. 예를 들어, 애플리케이션별 사전(1826) 사용 여부 및 시간대별 사전 사용 여부(1827)를 설정할 수 있다.
이 중 애플리케이션별 사전 사용 여부를 선택하면 애플리케이션 별 사전 사용 선택 화면(1830)이 표시된다. 애플리케이션별 사전 사용 선택 화면에는 텍스트 입력이 가능한 애플리케이션들이 표시되며 각 카테고리별로 소셜네트워크(채팅) 카테고리(1831), 소셜네트워크(게시판) 카테고리(1832) 및 검색 카테고리(1833)등이 포함될 수 있다. 사용자는 애플리케이션별 사전 사용 선택 화면에서 각 애플리케이션에 대한 사전 사용 여부를 설정할 수 있다.
도 19 는 본 발명의 일 실시예에 따른 단어 추천 시스템의 전체 동작 흐름도를 나타내는 도면이다.
도 19 는 사용자 입력 로그를 이용하여 데모그래픽 속성을 추정하고, 컨텍스트별 입력 패턴을 활용하는 구체적인 방법을 설명하기 위한 도면이다.
사용자가 입력기를 실행하면, 텍스트 입력 예측 엔진은 입력될 텍스트를 예상하여 추천(1910)한다. 사용자가 추천 결과 중 하나를 선택하거나, 특정 텍스트를 추가로 입력(1920)하면 사용자가 입력한 문자나 선택된 결과가 텍스트 입력 엔진으로 전달(1930)된다.
입력된 문자에 대해 자동완성, 교정, 공백 교정 등을 수행하고 다음 단어의 예측을 수행(1940)한다. 사용자 입력이 완성되면 입력에 대한 정보를 로그 저장기로 전달(1950)하여 사용자 로그데이터로 저장(1960)한다.
완성된 입력에 대한 정보는 사용자 언어 모델로 반영(1970)되며 새로운 단어가 입력된 경우는 해시트리(Trie)에 새로운 노드로 추가하고, 기존 단어들이 입력된 경우는 발생 확률값을 증가시킨다.
로그 분석기는 일정 시간 간격으로 로그 데이터 분석을 수행(1980)하여, 일정 크기 이상의 로그가 수집된 경우 로그데이터와 데모그래픽 언어 모델 사전의 유사도를 계산한다. 계산된 유사도가 일정 값 이상인 경우, 사용자의 데모그래픽 속성을 해당 데모그래픽 언어 모델 사전의 속성으로 유추(1990)할 수 있다. 따라서, 해당 사용자에 대해 해당 데모그래픽 속성을 가지는 언어 모델 사전을 사용하여 텍스트 입력을 예측하도록 설정할 수 있다.
언어 모델 동기화 모듈은 주기적으로 언어 모델 서버의 언어 모델 업데이트 여부를 확인한 후, 새로운 업데이트가 있는 경우 이를 디바이스와 동기화(1991)하여 디바이스의 언어 모델 사전이 갱신될 수 있도록 한다.
도 19 에 개시된 실시예에서 사용자 로그 데이터는 사용자가 입력된 텍스트들에 대한 애플리케이션, 시간 등에 대한 컨텍스트 정보를 포함하며 사용자 언어 모델을 구성하게 된다. 사용자 언어 모델은 일반 언어 모델과 마찬가지로 해시 트리(Trie), n-Gram 사전으로 구성될 수 있으며, 각 텍스트가 입력된 시간이나 애플리케이션 정보 등이 함께 저장되어 있다.
데모그래픽 언어 모델은 성별, 연령, 지역 등의 데모그래픽 속성에 특화된 언어 모델을 의미하며, 사용자 데모그래픽 속성이 획득된 경우 이를 바탕으로 단어를 예측하게 된다.
일반 언어 모델은 사용자 데모그래픽 속성이 획득되지 않은 경우 사용되며 자동 완성, 교정등을 위한 해시 트리 구조와 단어 예측을 위한 n-Gram 사전으로 구성될 수 있다.
도 20 은 본 발명의 일 실시예에 따른 단어 추천 장치의 동작 흐름도를 나타내는 도면이다.
사용자가 텍스트 입력기를 실행(2010)하면, 단어 추천 장치는 각 언어 모델에서 단어들을 선택하게 된다.
컨텍스트 속성에 기초한 사용자 언어 모델에서 입력이 시작된다면, 입력된 텍스트의 컨텍스트 속성에 기초하여 사용자 언어 모델에서 가장 많이 입력된 단어들을 탐색(2020)한다.
사용자에 대한 데모그래픽 속성이 획득되어 설정되어 있는 경우라면, 설정된 데모그래픽 속성에 기초하여 데모그래픽 언어 모델에서 가장 많이 입력된 단어들을 탐색(2030)한다.
사용자 언어 모델을 사용하지 않는 것으로 설정되어 있고, 사용자 데모그래픽 속성 정보가 설정되어 있지 않다면 일반 언어 모델에서 입력이 시작되며, 일반 언어 모델에서 가장 많이 입력된 단어들을 탐색(2040)한다.
각 언어 모델에서 선택된 단어들에 우선순위를 부여하고, 상위 n개의 단어를 입력 예측 단어로 선택한다(2050). 사용자가 추천된 단어를 선택하거나, 사용자가 직접 문자열을 입력(2060)한 경우 사용자 입력이 완성(2070)되며, 사용자가 입력한 문자열과 이전 입력문자열을 이용하여 사용자 언어 사전, 데모그래픽 언어 사전 및 일반 언어 사전을 새로 탐색한 후 예측 단어를 설정(2080)한다. 예측 단어가 새로 설정된 경우(2080), 사용자에게 새로운 추천 결과를 제공할 수 있으며, 사용자가 추천된 단어를 선택하면 사용자 입력이 완성된다.
사용자 입력이 완성되면 비로소 사용자 입력 로그를 기록(2090)하고, 단어 추천 장치의 동작은 종료되게 된다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
Claims (23)
- 디바이스가 가상 키보드를 통해 입력될 단어를 추천하는 방법에 있어서,
상기 디바이스에 텍스트를 입력하기 위한 가상 키보드를 디스플레이하는 단계;
적어도 하나의 언어 모델(LM, Language Model)을 선택하는 단계; 및
상기 가상 키보드를 통해 입력된 적어도 하나의 텍스트 및 상기 선택된 적어도 하나의 언어 모델에 기초하여, 상기 입력된 텍스트에 관련된 적어도 하나의 단어를 추천하는 단계를 포함하고,
상기 언어 모델은 상기 디바이스 사용자의 데모그래픽(demographic) 속성에 기초한 데모그래픽 언어 모델, 상기 디바이스 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 상기 가상 키보드가 실행된 컨텍스트(context)에 기초한 컨텍스트 언어 모델을 포함하고,
상기 방법은
제1 애플리케이션의 실행 중에 입력 또는 선택된 텍스트와 연관된 정보를 로그 데이터로 저장하는 단계; 및
상기 저장된 로그 데이터를 상기 제1 애플리케이션과 동일한 카테고리에 속하는 제2 애플리케이션에 대한 컨텍스트 정보로 사용하는 단계를 포함하며,
상기 입력 텍스트에 관련된 적어도 하나의 단어를 추천하는 단계는
상기 제2 애플리케이션에 대한 상기 컨텍스트 정보에 기초하여, 상기 제2 애플리케이션의 실행 중에 상기 가상 키보드에 입력 또는 선택된 적어도 하나의 문자 또는 텍스트와 연관된 적어도 하나의 단어를 추천하는 단계를 포함하는
단어 추천 방법. - 제 1 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성은,
상기 디바이스 사용자의 성별, 연령, 지역, 직업, 고향, 종교 및 관심사를 포함하는,
단어 추천 방법. - 제 1 항에 있어서,
상기 가상 키보드가 실행된 컨텍스트는,
상기 가상 키보드가 실행된 애플리케이션에 대한 정보, 상기 가상 키보드가 실행된 시간에 대한 정보 및 상기 가상 키보드가 실행된 장소에 대한 정보를 포함하는,
단어 추천 방법. - 제 1 항에 있어서,
상기 추천하는 단계는, 상기 선택된 적어도 하나의 언어 모델 내에 포함된 단어들 중에서, 상기 입력된 텍스트를 포함하고, 상기 디바이스 사용자에 의해 소정의 횟수 이상으로 입력된 이력이 있는 단어를 추천하는,
단어 추천 방법. - 제 1 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성을 입력받는 단계;를 더 포함하는,
단어 추천 방법. - 제 1 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성을 추정하는 단계;를 더 포함하는,
단어 추천 방법. - 제 6 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성은,
상기 디바이스 사용자의 텍스트 입력 이력에 기초하여 추정되는,
단어 추천 방법. - 제 6 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성은,
상기 디바이스 사용자에 대한 부가 정보에 기초하여 추정되는,
단어 추천 방법. - 제 1 항에 있어서,
서버로, 언어 모델의 전송을 요청하는 단계; 및
상기 서버로부터, 상기 요청한 언어 모델을 수신하는 단계;를 더 포함하는,
단어 추천 방법. - 제 9 항에 있어서,
사용자 정보를 상기 서버로 전송하는 단계; 및
상기 서버로부터, 상기 전송된 사용자 정보에 기초하여 갱신된 언어 모델을 수신하는 단계를 더 포함하는,
단어 추천 방법. - 제 1 항에 있어서,
상기 추천하는 단계는, 상기 추천된 적어도 하나의 단어에 대한 우선 순위를 결정하는 단계를 더 포함하는,
단어 추천 방법. - 디바이스가 가상 키보드를 통해 입력될 단어를 추천하는 장치에 있어서,
디스플레이부; 및
상기 디바이스에 텍스트를 입력하기 위한 가상 키보드를 상기 디스플레이부를 통해 전시하며,
적어도 하나의 언어 모델(LM, Language Model)을 선택하고,
상기 가상 키보드를 통해 입력된 적어도 하나의 텍스트 및 상기 선택된 적어도 하나의 언어 모델에 기초하여, 상기 입력된 텍스트에 관련된 적어도 하나의 단어를 추천하는 적어도 하나의 프로세서를 포함하며,
상기 언어 모델은 상기 디바이스 사용자의 데모그래픽(demographic) 속성에 기초한 데모그래픽 언어 모델, 상기 디바이스 사용자의 텍스트 입력 이력에 기초한 사용자 입력 언어 모델 및 상기 가상 키보드가 실행된 컨텍스트(context)에 기초한 컨텍스트 언어 모델을 포함하고,
상기 적어도 하나의 프로세서는
제1 애플리케이션의 실행 중에 입력 또는 선택된 텍스트와 연관된 정보를 로그 데이터로 저장하며,
상기 저장된 로그 데이터를 상기 제1 애플리케이션과 동일한 카테고리에 속하는 제2 애플리케이션에 대한 컨텍스트 정보로 사용하고,
상기 제2 애플리케이션에 대한 상기 컨텍스트 정보에 기초하여, 상기 제2 애플리케이션의 실행 중에 상기 가상 키보드에 입력 또는 선택된 적어도 하나의 문자 또는 텍스트와 연관된 적어도 하나의 단어를 추천하는
단어 추천 장치. - 제 12 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성은,
상기 디바이스 사용자의 성별, 연령, 지역, 직업, 고향, 종교 및 관심사를 포함하는,
단어 추천 장치. - 제 12 항에 있어서,
상기 가상 키보드가 실행된 컨텍스트는,
상기 가상 키보드가 실행된 애플리케이션에 대한 정보, 상기 가상 키보드가 실행된 시간에 대한 정보 및 상기 가상 키보드가 실행된 장소에 대한 정보를 포함하는,
단어 추천 장치. - 제 12 항에 있어서,
상기 적어도 하나의 프로세서는,
상기 선택된 적어도 하나의 언어 모델 내에 포함된 단어들 중에서, 상기 입력된 텍스트를 포함하고, 상기 디바이스 사용자에 의해 소정의 횟수 이상으로 입력된 이력이 있는 단어를 추천하는,
단어 추천 장치. - 제 12 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성을 입력받는 입력부;를 더 포함하는,
단어 추천 장치. - 제 12 항에 있어서,
상기 적어도 하나의 프로세서는,
상기 디바이스 사용자의 데모그래픽 속성을 추정하는,
단어 추천 장치. - 제 17 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성은,
상기 디바이스 사용자의 텍스트 입력 이력에 기초하여 추정되는,
단어 추천 장치. - 제 17 항에 있어서,
상기 디바이스 사용자의 데모그래픽 속성은,
상기 디바이스 사용자에 대한 부가 정보에 기초하여 추정되는,
단어 추천 장치. - ◈청구항 20은(는) 설정등록료 납부시 포기되었습니다.◈제 12 항에 있어서,
상기 적어도 하나의 프로세서는,
서버로 언어 모델의 전송을 요청하고, 상기 서버로부터 상기 요청한 언어 모델을 수신하는,
단어 추천 장치. - ◈청구항 21은(는) 설정등록료 납부시 포기되었습니다.◈제 20 항에 있어서,
상기 적어도 하나의 프로세서는,
상기 서버로 사용자 정보를 전송하고, 상기 서버로부터 상기 전송된 사용자 정보에 기초하여 갱신된 언어 모델을 수신하는,
단어 추천 장치. - ◈청구항 22은(는) 설정등록료 납부시 포기되었습니다.◈제 12 항에 있어서,
상기 적어도 하나의 프로세서는,
상기 추천된 적어도 하나의 단어에 대한 우선 순위를 결정하는,
단어 추천 장치. - 제 1 항 내지 제 11 항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160024711A KR102462365B1 (ko) | 2016-02-29 | 2016-02-29 | 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 |
CN201780013806.6A CN108700952A (zh) | 2016-02-29 | 2017-02-27 | 基于用户人口统计信息和情境信息预测文本输入 |
EP17760264.6A EP3356914A4 (en) | 2016-02-29 | 2017-02-27 | Predicting text input based on user demographic information and context information |
PCT/KR2017/002140 WO2017150860A1 (en) | 2016-02-29 | 2017-02-27 | Predicting text input based on user demographic information and context information |
US15/444,607 US10423240B2 (en) | 2016-02-29 | 2017-02-28 | Predicting text input based on user demographic information and context information |
US16/545,198 US10921903B2 (en) | 2016-02-29 | 2019-08-20 | Predicting text input based on user demographic information and context information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160024711A KR102462365B1 (ko) | 2016-02-29 | 2016-02-29 | 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170101730A KR20170101730A (ko) | 2017-09-06 |
KR102462365B1 true KR102462365B1 (ko) | 2022-11-04 |
Family
ID=59679500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160024711A KR102462365B1 (ko) | 2016-02-29 | 2016-02-29 | 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10423240B2 (ko) |
EP (1) | EP3356914A4 (ko) |
KR (1) | KR102462365B1 (ko) |
CN (1) | CN108700952A (ko) |
WO (1) | WO2017150860A1 (ko) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102462365B1 (ko) * | 2016-02-29 | 2022-11-04 | 삼성전자주식회사 | 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 |
US20180349348A1 (en) * | 2017-06-05 | 2018-12-06 | Blackberry Limited | Generating predictive texts on an electronic device |
US11263399B2 (en) * | 2017-07-31 | 2022-03-01 | Apple Inc. | Correcting input based on user context |
US20190050391A1 (en) * | 2017-08-09 | 2019-02-14 | Lenovo (Singapore) Pte. Ltd. | Text suggestion based on user context |
KR102519637B1 (ko) | 2018-04-20 | 2023-04-10 | 삼성전자주식회사 | 문자를 입력하기 위한 전자 장치 및 그의 동작 방법 |
US11256752B2 (en) | 2018-05-02 | 2022-02-22 | Samsung Electronics Co., Ltd. | Contextual recommendation |
KR102592907B1 (ko) | 2018-06-22 | 2023-10-23 | 삼성전자주식회사 | 텍스트 입력 디바이스 및 그 방법 |
US10467339B1 (en) * | 2018-06-28 | 2019-11-05 | Sap Se | Using machine learning and natural language processing to replace gender biased words within free-form text |
US11205045B2 (en) * | 2018-07-06 | 2021-12-21 | International Business Machines Corporation | Context-based autocompletion suggestion |
KR102560843B1 (ko) * | 2018-10-30 | 2023-07-27 | 삼성에스디에스 주식회사 | 사용자 입력의 패턴 분석을 이용한 후속 사용자 입력 추천 방법 |
KR102706928B1 (ko) * | 2019-02-11 | 2024-09-13 | 삼성전자주식회사 | 단어 추천 방법 및 그 전자 장치 |
US10904631B2 (en) * | 2019-04-19 | 2021-01-26 | Microsoft Technology Licensing, Llc | Auto-completion for content expressed in video data |
US11678031B2 (en) | 2019-04-19 | 2023-06-13 | Microsoft Technology Licensing, Llc | Authoring comments including typed hyperlinks that reference video content |
US11785194B2 (en) | 2019-04-19 | 2023-10-10 | Microsoft Technology Licensing, Llc | Contextually-aware control of a user interface displaying a video and related user text |
US10929596B2 (en) | 2019-05-15 | 2021-02-23 | International Business Machines Corporation | Pattern based electronic dictionary modification and presentation |
US11017157B2 (en) * | 2019-05-15 | 2021-05-25 | International Business Machines Corporation | Group pattern based electronic dictionary modification and presentation |
KR20190080834A (ko) * | 2019-06-18 | 2019-07-08 | 엘지전자 주식회사 | 사투리 음소 적응 학습 시스템 및 방법 |
KR20190080833A (ko) * | 2019-06-18 | 2019-07-08 | 엘지전자 주식회사 | 음성 정보 기반 언어 모델링 시스템 및 방법 |
AU2020326435B2 (en) | 2019-08-05 | 2023-09-28 | Ai21 Labs | Systems and methods of controllable natural language generation |
KR102128894B1 (ko) * | 2019-10-10 | 2020-07-01 | 주식회사 메디씽큐 | 스마트 안경의 시선 트래킹 시스템 및 그 방법 |
US11210737B2 (en) * | 2019-10-31 | 2021-12-28 | Optum Technology, Inc. | Data security in enrollment management systems |
WO2021232175A1 (en) * | 2020-05-16 | 2021-11-25 | Citrix Systems, Inc. | Input method language determination |
US20220214801A1 (en) * | 2021-01-06 | 2022-07-07 | Typewise Ltd. | Methods and systems for modifying user input processes |
US11816137B2 (en) | 2021-01-12 | 2023-11-14 | Samsung Electronics Co., Ltd | Method for providing search word and electronic device for supporting the same |
US20220229985A1 (en) * | 2021-01-21 | 2022-07-21 | Apple Inc. | Adversarial discriminative neural language model adaptation |
US11657216B2 (en) * | 2021-05-20 | 2023-05-23 | International Business Machines Corporation | Input text management |
US20230418464A1 (en) * | 2022-06-24 | 2023-12-28 | Zeerak Ahmed | Enhanced Shape-Based Keyboard |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100131900A1 (en) * | 2008-11-25 | 2010-05-27 | Spetalnick Jeffrey R | Methods and Systems for Improved Data Input, Compression, Recognition, Correction, and Translation through Frequency-Based Language Analysis |
US20140278349A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Language Model Dictionaries for Text Predictions |
US20140297267A1 (en) | 2009-03-30 | 2014-10-02 | Touchtype Limited | System and method for inputting text into electronic devices |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2424153B (en) * | 2003-09-11 | 2007-09-19 | Voice Signal Technologies Inc | Method and apparatus for back-up of customized application information |
US9606634B2 (en) * | 2005-05-18 | 2017-03-28 | Nokia Technologies Oy | Device incorporating improved text input mechanism |
CN1924858B (zh) * | 2006-08-09 | 2010-05-12 | 北京搜狗科技发展有限公司 | 一种获取新词的方法、装置以及一种输入法系统 |
US20080244446A1 (en) * | 2007-03-29 | 2008-10-02 | Lefevre John | Disambiguation of icons and other media in text-based applications |
US20090249198A1 (en) | 2008-04-01 | 2009-10-01 | Yahoo! Inc. | Techniques for input recogniton and completion |
US20100114887A1 (en) * | 2008-10-17 | 2010-05-06 | Google Inc. | Textual Disambiguation Using Social Connections |
GB201016385D0 (en) | 2010-09-29 | 2010-11-10 | Touchtype Ltd | System and method for inputting text into electronic devices |
US9189472B2 (en) | 2009-03-30 | 2015-11-17 | Touchtype Limited | System and method for inputting text into small screen devices |
US20110087961A1 (en) * | 2009-10-11 | 2011-04-14 | A.I Type Ltd. | Method and System for Assisting in Typing |
GB201003628D0 (en) | 2010-03-04 | 2010-04-21 | Touchtype Ltd | System and method for inputting text into electronic devices |
US10037319B2 (en) | 2010-09-29 | 2018-07-31 | Touchtype Limited | User input prediction |
US20130159919A1 (en) * | 2011-12-19 | 2013-06-20 | Gabriel Leydon | Systems and Methods for Identifying and Suggesting Emoticons |
US9235565B2 (en) * | 2012-02-14 | 2016-01-12 | Facebook, Inc. | Blending customized user dictionaries |
GB201208373D0 (en) | 2012-05-14 | 2012-06-27 | Touchtype Ltd | Mechanism for synchronising devices,system and method |
US8484573B1 (en) * | 2012-05-23 | 2013-07-09 | Google Inc. | Predictive virtual keyboard |
KR20140011073A (ko) | 2012-07-17 | 2014-01-28 | 삼성전자주식회사 | 텍스트 추천 방법 및 장치 |
GB201322037D0 (en) * | 2013-12-12 | 2014-01-29 | Touchtype Ltd | System and method for inputting images/labels into electronic devices |
CN103092826B (zh) * | 2012-12-31 | 2018-06-05 | 百度在线网络技术(北京)有限公司 | 一种根据用户的输入信息构建输入词条的方法与设备 |
US20140267045A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Adaptive Language Models for Text Predictions |
US9558743B2 (en) * | 2013-03-15 | 2017-01-31 | Google Inc. | Integration of semantic context information |
US20150051901A1 (en) | 2013-08-16 | 2015-02-19 | Blackberry Limited | Methods and devices for providing predicted words for textual input |
US9471944B2 (en) * | 2013-10-25 | 2016-10-18 | The Mitre Corporation | Decoders for predicting author age, gender, location from short texts |
US20170116174A1 (en) * | 2015-10-27 | 2017-04-27 | Lenovo (Singapore) Pte. Ltd. | Electronic word identification techniques based on input context |
KR102462365B1 (ko) * | 2016-02-29 | 2022-11-04 | 삼성전자주식회사 | 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 |
-
2016
- 2016-02-29 KR KR1020160024711A patent/KR102462365B1/ko active IP Right Grant
-
2017
- 2017-02-27 WO PCT/KR2017/002140 patent/WO2017150860A1/en active Application Filing
- 2017-02-27 CN CN201780013806.6A patent/CN108700952A/zh active Pending
- 2017-02-27 EP EP17760264.6A patent/EP3356914A4/en not_active Ceased
- 2017-02-28 US US15/444,607 patent/US10423240B2/en active Active
-
2019
- 2019-08-20 US US16/545,198 patent/US10921903B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100131900A1 (en) * | 2008-11-25 | 2010-05-27 | Spetalnick Jeffrey R | Methods and Systems for Improved Data Input, Compression, Recognition, Correction, and Translation through Frequency-Based Language Analysis |
US20140297267A1 (en) | 2009-03-30 | 2014-10-02 | Touchtype Limited | System and method for inputting text into electronic devices |
US20140278349A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Language Model Dictionaries for Text Predictions |
Also Published As
Publication number | Publication date |
---|---|
US10423240B2 (en) | 2019-09-24 |
EP3356914A4 (en) | 2018-10-24 |
KR20170101730A (ko) | 2017-09-06 |
EP3356914A1 (en) | 2018-08-08 |
US10921903B2 (en) | 2021-02-16 |
US20170249017A1 (en) | 2017-08-31 |
US20190377425A1 (en) | 2019-12-12 |
WO2017150860A1 (en) | 2017-09-08 |
CN108700952A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102462365B1 (ko) | 사용자 데모그래픽 정보 및 콘텍스트 정보에 기초한 텍스트 입력 예측 방법 및 장치 | |
JP7478304B2 (ja) | 関連コンテンツを先見的に特定し、タッチ感知デバイス上に表面化させるためのシステム及び方法 | |
CN108432190B (zh) | 应答消息推荐方法及其设备 | |
JP6594534B2 (ja) | テキスト情報処理方法およびデバイス | |
EP2972690B1 (en) | Text prediction based on multiple language models | |
KR102357685B1 (ko) | 병렬 처리용 하이브리드 클라이언트/서버 아키텍처 | |
KR102262453B1 (ko) | 텍스트 예측용 이모지 | |
US10169467B2 (en) | Query formulation via task continuum | |
US20140278349A1 (en) | Language Model Dictionaries for Text Predictions | |
US20160350658A1 (en) | Viewport-based implicit feedback | |
CN105653134A (zh) | 应用切换方法及其系统 | |
US10073828B2 (en) | Updating language databases using crowd-sourced input | |
CN110275962B (zh) | 用于输出信息的方法和装置 | |
KR101873339B1 (ko) | 관심사 및 콘텐츠를 제공하는 방법 및 시스템 | |
KR102691841B1 (ko) | 검색 서비스를 제공하는 시스템 및 방법 | |
US9311362B1 (en) | Personal knowledge panel interface | |
CN111310016B (zh) | 标签挖掘方法、装置、服务器和存储介质 | |
CN108897774B (zh) | 一种获取新闻热点的方法、设备及存储介质 | |
JP2020021455A (ja) | 特許評価判定方法、特許評価判定装置、および特許評価判定プログラム | |
US20230252036A1 (en) | Methods and systems for providing an enhanced response to a query in an iot environment | |
CN117556139A (zh) | 平台内容推荐方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |