KR20180123223A - 문장 예측입력시스템 - Google Patents

문장 예측입력시스템 Download PDF

Info

Publication number
KR20180123223A
KR20180123223A KR1020170057135A KR20170057135A KR20180123223A KR 20180123223 A KR20180123223 A KR 20180123223A KR 1020170057135 A KR1020170057135 A KR 1020170057135A KR 20170057135 A KR20170057135 A KR 20170057135A KR 20180123223 A KR20180123223 A KR 20180123223A
Authority
KR
South Korea
Prior art keywords
input
key
sentence
word
sym
Prior art date
Application number
KR1020170057135A
Other languages
English (en)
Inventor
박태운
심상정
Original Assignee
심상정
박태운
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 심상정, 박태운 filed Critical 심상정
Priority to KR1020170057135A priority Critical patent/KR20180123223A/ko
Publication of KR20180123223A publication Critical patent/KR20180123223A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements 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/0238Programmable keyboards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Abstract

본 발명은 일반적으로 영어권 문화에서 문자입력방법으로 사용되는 단어예측입력방법을 문자뿐만 아니라 기호와 공백문자(space)에도 적용하여 비문자 구문 및 문장의 입력을 용이하게 구현하였다.

Description

문장 예측입력시스템{sentence-wise disambiguation input system}
예측입력방법
핸드폰이 사용되기 시작하면서 문자통화가 보편화되기 시작했고, 스마트폰으로 변화되면서 문자통화가 음성통화보다 많아지는 상황으로까지 변하게 되었다. 더 나아가서 스마트폰은 단순히 메시지 전달이 아니라 멀티미디어 통신수단으로서의 기능으로 인해 웹주소, 이메일 등 비단어 입력이 많아지게 되었다. 이러한 비단어 입력은 일반적인 문자입력의 경우와 달리 문자와 기호의 입력을 번갈아서 입력해야 되는 경우가 발생하여 입력이 불편하다. 그럼에도 컴퓨터의 full keyboard를 사용하는 경우 문자와 기호의 입력이 수월하게 이루어지지만 두 손가락만을 사용하여 입력해야 하는 모바일기기에서는 문자만을 입력하는 경우보다 훨씬 어려워진다. 특히 0 ~ 9의 숫자와 *, #을 기본으로 하는 12개의 키로 구성된 키패드를 이용하여 문자와 기호를 입력하는 것은 여간 어려운 것이 아니다. 알파벳 문자만을 위한 입력을 위해서는 영어 문화권에서는 12개 키패드를 이용한 단어예측입력방법(Disambiguity Input Method)을 이용해 오고 있으나 위에 언급된 알파벳과 기호가 혼합된 구절의 입력은 문자와 기호가 별도로 입력되야 하는 불편함이 여전히 있다. 이러한 배경에서 본 발명은 기존의 12개의 키로 구성된 키패드를 위해 개발되어 영어권에서 널리 사용되는 단어예측입력방법(Disambiguation Input Method)을 단어뿐만 아니라 기호와 공백문자(space)를 포함하는 구절 혹은 문장의 입력이 가능하도록 하는 방법을 제공하고자 한다.
사람이 사용하는 언어는 단어가 그 중심으로 이루어져 있다. 소통을 위한 언어는 단어의 나열로 완성되므로 기호는 말의 의미를 글로 나열함에 있어서 단어와는 별개의 요소로 구분되어 왔다. 하지만 인터넷이 보편화되어 컴퓨터 용어가 인간의 언어와 공용되는 시대에 접어들면서 기호는 단순히 단어와 단어의 의미를 이어주는 기능으로부터 단어의 본질적인 의미를 갖는 요소로 발전하게 되었다. 이를테면 미국 식약청의 주소를 나타내는 www.fda.gov에서 '.'은 단순히 문장의 끝을 나타내는 요소가 아니라 엄연히 주소의 의미를 나타내며 문자들과 동일한 구성요소로서의 기능을 제공하는 것이다.
모든 문자와 기호가 각각의 키에 지정되어 있는 qwerty 키보드의 경우에는 문자와 기호가 혼용되는 웹주소나 password는 용이하게 입력될 수 있지만 웨어러블 기기인 스마트워치와 같이 키보드 입력공간이 한정되는 경우에는 제한된 갯수를 갖는 키보드를 고려해야 한다. 따라서 일찍이 영어문화권에서는 제한된 키의 숫자를 갖는 키패드를 가지고도 편리하고 신속한 입력을 위한 단어예측입력방법(Disambiguation Input Method)을 적용해 볼 수 있지만 단어예측입력방법을 적용한다고 하여도 문자와 기호가 혼용되는 웹주소나 password의 입력을 위해서는 문자모드에서 기호모드로의 변경이 수반되어 입력의 불편함은 여전하다. 이런 이유에서 스마트워치는 입력이 필요없는 단순히 메시지를 받아보는 기능에 머무르게 되는 것이다. 더욱이 문자 메시지를 입력하려고 하여도 한 손만을 사용하여야 하고 키의 크기도 작아서 입력속도와 편리성에서 기존의 qwerty keyboard에 비해 못 미치게 된다. 이상의 배경에서 본 발명은 입력공간이 제한된 스마트워치와 같은 기기에서의 쉽고 빠른 입력을 위해 단어예측입력방법을 문장(문구)예측입력방법으로 발전시켜 문장 및 웹주소 등의 입력을 획기적으로 높이는 방법을 제공하고자 한다.
핸드폰이 사용되면서 음성중심의 통신이 점차 메시지 중심의 통화로 발달되었고 그 따라 컴퓨터에 사용되는 qwerty keyboard가 핸드폰의 제한된 공간으로 인해 12개 키패드로 변형되어 그에 맞는 입력시스템이 개발되었다. 특히 영어권(중국과 일본 포함)에서는 핸드폰의 키패드에 각각의 키에 여러개의 문자가 지정되어 이들 문자를 입력하기 위해서는 여러번 키를 눌러주어야 되었다. 이렇게 키를 여러번 눌러주어 문자를 입력해야하는 불편함을 해소하기 위해 단어예측입력방법(Disambiguity Input Method)이 고안되어 널리 사용되었다. 단어예측입력방법은 여러개의 문자가 지정된 키를 한 번만 눌러주어도 원하는 단어를 입력할 수 있게하여 누름 숫자를 줄여주는 방법이다. 도 1에 보여지는 자판을 예를 들어 설명하면 'boy'라는 단어를 입력하고자 할 때에 여러번 키를 눌러주는 방법(multi-tapping method)의 경우 'b'를 입력하기 위해 'abc'키를 두 번 눌러주고, 'o'를 입력하기 위해 'mno'키를 세 번 누르고 마지막으로 'y'를 입력하기 위해 'wxyz'키를 세번 눌러주어 'boy'를 입력한다. 이에 반해 단어예측입력방법은 'boy'를 입력하기 위해 'boy'를 이루는 'b', 'o', 'y'가 지정된 키 즉 'abc', 'mno', 'wxyz'키를 각각 순서대로 한 번씩 눌러주면 이들 키에 지정된 문자들의 조합으로 만들어질 수 있는 단어를(예를 들면 'any', 'amy', 'boy', 'box', 'cow', 'bow', 'cox', 'coy' 등) 사전적 데이터베이스로부터 추출하여 도 2에 보이는 바와 같이 예측단어로서 표시(키 내에 이탤릭체로 표시)되어 이들 단어 중에서 입력하고자 하는 단어 'boy'를 선택하면 입력이 이루어지는 것이다. 단어예측입력방법을 위해서는 위의 예에서 보는 바와 같이 'boy'를 포함한 단어가 등록되어 있는 사전적인 단어 데이터베이스가 준비되어 있어야 하고 이를 이용하게 된다. 본 발명에서는 이러한 사전적 데이터베이스에 단어뿐만 아니라 'www.fda.gov'와 같은 웹주소도 포함시킨다. 그리고 단어검색에 사용되는 키 중에 문자가 지정된 키 외에 '.'를 포함한 기호들이 지정된 'Sym'키가 있어서 'www.fda.gov'를 입력하기 위해서 다음의 식 (1)과 같은 순서의 키입력이 이루어지면 도 1(c)에 보여지는 바와 같이 예측 목록으로 'www.fda.gov'가 표시되어(자판내에 이탤릭체로 표시됨) 선택하면 입력되도록 하는 것이다. 즉 기호 '.'를 입력하기 위해 문자모드에서 기호모드로 변경할 필요도 없이 식 (1)에 해당하는 키입력으로 'www.fda.gov'를 입력할 수 있게 되는 것이다.
'wxyz'-'wxyz'-'wxyz'-'Sym'-'def'-'def'-'abc'-'Sym'-'ghi'-'mno'-'tuv' ...... (1)
즉 문자모드에서 기호모드로의 변환없이 단지 열한 번의 키 입력으로 'www.fda.gov'를입력할 수 있게 되는 것이다. 그리고 도 1에 보여지는 자판은 도 9에 보여지는 9개의 키로 이루어진 자판으로 대체할 수 있어서 결과적으로 9개의 키로도 웹주소와 password와 같은 문자-기호의 혼합 구절을 qwerty keyboar에서와 같이 손쉽게 입력할 수 있는 방법을 제공하고자 한다.
그리고 이하에서 사용할 용어에 대한 정의을 통해 본 발명의 상세한 내용을 기술하고자 한다.
용어 실예
ambiguous key 'abc', 'def', 'ghi'
ambiguous key sequence 'ghi'-'tuv'-'wxyz'
numeric code '0', '1', '2'
numeric code sequence '99902210368'
ambiguous key는 하나의 키에 여러 개의 문자가 지정되어서 그 키를 눌렀을 때 지정된 문자 중에 하나를 선택하지 않고 지정된 문자 전부를 의미하도록 설정되어 예측입력방법의 키입력을 나타내는 것이다. 즉 표 0의 두 번째 열에 보여주는 바와 같이 키에 지정된 문자를 전부를 단일 따옴표('...')내에 표시한다. 이러한 ambiguous key의 입력 순서를 나타내는 것을 'ambiguous key sequence'라고 하며 이를 숫자의 형태로 전환하기 위해 ambiguous key를 숫자로 전환한 것을 'numeric code'라고 명명한다. 표 1의 ambiguous key와 그에 해당하는 'numeric code'의 관계는 도 1a에 보여지는 자판의 키배열을 근거로 설정되어 있으며 자판의 키배열이 바뀌면 표 1의 관계도 바뀌게 된다. 따라서 ambiguous key로 표현되는 'ambiguous key sequence'는 'numeric code'를 이용하여 'numeric code sequence'로 변환된다. 따라서 식 (1)의 'ambiguous key sequence'는 아래의 식 (2)의 numeric code sequence로 변환된다.
'99902210368' ..... (2)
< ambiguous key와 number code의 변환 관계>
ambiguous key
'abc'

'def'

'ghi'

'jkl'

'mno'

'pqrs'

'tuv'

'wxyz'
numeric code
1

2

3

4

6

7

8

9
ambiguous key
'Num'

'Sym'
numeric code
5

0
본 발명의 구성은 예측입력방법을 단순한 단어의 입력을 위한 것으로부터 기호를 포함하는 문구와 심지어 문장전체를 입력할 수 있도록 하는 것이다. 이를테면 "Arnold J. Toynbee"라는 이름을 입력하기 위해서 일반적인 예측단어입력방법에서는 'Arnold', 'J.', 'Toynbee'를 각각 순서대로 사전적인 데이터베이스에서 예측하여 입력한 후에 공백문자인 'space'를 단어 사이에 입력해 주어 이름의 입력을 완성하게된다. 하지만 본 발명의 구성은 아래의 식 (3)[식 (3-1)~식(3-6)]에 보여지는 ambiguous key sequence'의 키입력이 이루어지면 도 5에 보이는 바와 같이 'Arnold J. Toynbee'라는 이름이 예측문구(이탤릭체로 표시)로 자판영역에 표시되어 선택/입력할 수 있게 된다.
'abc'-'pqrs'-'mno'-'jkl'-'def'- ...(3-1)
'Sym'('공백'문자 포함 기호들을 대표하는 ambiguous 키)- ...(3-2)
'jkl'- ...(3-3)
'Sym'- ...(3-4)
'Sym'- ...(3-5)
'tuv'-'mno'-'wxyz'-'mno'-'abc'-'def'-'def' ...(3-6)
즉 단어예측입력방법에서는 'Arnold', 'J.', 'Toynbee'를 각각 단어로서 예측한 후에 선택하는 3번의 과정으로 이루어짐에 반해 본 발명에서는 한 번의 과정으로 축약되어 입력의 편리함과 신속함을 더하게 되는 것이다. 각각의 단어 첫 글자에 해당하는 ambiguous key와 기호를 대표하는 'Sym'키(도 1a의 L11에 해당)를 혼용한 식 (4)의 ambiguous key sequence만을 입력해도 'Arnold J. Toynbee'가 사전적 데이터베이스에 등록되어 있다면 예측문구로서 추출되어 'Arnold J. Toynbee'라는 문구(문장)의 입력이 가능한 것이다.
*'abc'-'Sym'-'jkl'-'Sym'-'Sym'-'tuv' ...(4)
이러한 맥락에서 'Sym'키를 문자키와 동일하게 이용한 본 발명의 문구예측입력방법은 단어예측입력을 간편하게 하는 효과를 가져오게 되는 것이다. 더 나아가서 'Arnold Toynbee'을 예측문구로 예측하기 위해서 입력되는 과정이 식 (5)와 같이 간략해질 수도 있다.
'abc'-'Sym'-'tuv'-'mno'- ...(5)
즉 'Arnold'을 위해서는 첫 글자인 'abc'만을 입력한 후 'space'에 해당하는 'Sym'키를 입력하고 성에 해당하는 'Toynbee'의 철자를 순서대로 입력하면 'Arnold Toynbee'가 예측문구로 추출될 수 있는 방법을 제공되는 것이다. 이에 대해서는 실시예 5과 실시예 6에서 좀더 자세히 설명하도록 한다.
본 발명의 구성은 이상에서 살펴 본 문구뿐만 아니라 다음과 같이 문장에도 적용된다. 즉 'Where are you going?'를 입력하기 위해서 식 (6)에 해당하는 키입력이 이루어지면 'Where are you going?'을 포함하여 문장을 구성하는 첫 번째 단어의 첫 글자가 'w, x, y, z' 중의 하나이고 두 번째 단어의 첫 글자가 'a, b, c' 중의 하나, 세 번째 단어의 첫 글자가 'w, x, y, z' 중의 하나, 네 번째 단어의 첫 글자가 'g, h, i' 중의 하나인 문장들을 나열하여 이들 문장 중에서 'Where are you going?'을 선택/입력하면 되는 극도의 편리성을 제공한다.
'wxyz'-'Sym'-'abc'-'Sym'-'wxyz'-'Sym'-'ghi' ...(6)
이는 단어예측입력방법이 'boy'를 입력하기 위해 ambiguous key sequence 'abc'-'mno'-'wxyz'에 해당하는 키입력이 이루어지면 'boy'를 포함한 예측단어로서 'any', 'amy', 'cox', 'box', 'cow', 'bow', 'cmx', 'coy', 'coz' 등을 나열하여 선택/입력되도록 하고 더 나아가서 'important'을 입력하기 위해 ambiguous key sequence 'ghi'-'mno'-'pqrs'-'mno'-'pqrs'-'tuv'에 해당하는 키입력이 이루어져도 'import'뿐만 아니라 'important'까지도 예측하여 입력될 수 있도록 하는 것과 같은 이치이다.
이상의 구성은 스마트폰 이후 모바일 기기를 대표하는 웨어러블기기인 스마트워치에 도 9a에 보이는 것처럼 적용할 경우 그 효율성이 두드러진다. 스마트워치의 경우 사각형이 아닌 원형의 형태를 갖게 되는데 이에 맞춰 도 9b에 보이는 형태의 자판도 제공하여 스마트폰에서의 이루어진 문자입력의 편리성과 빠른 입력 속도를 웨어러블 기기에도 구현할 수 있도록 하였다.
도 1 - 'www.fda.gov'를 입력하기 위한 키 입력 순서 및 'www.fda.gov'가 데이터베이스에 등록되었을 때 키 입력으로 예측되어 화면에 표시된 상태
도 2 - 'boy'를 입력하기 위해 키 입력을 마친 후 예측단어들이 화면에 보여지는 상황
도 3, 도 4 - 본 발명의 구성에 따라 '123@ivy.net'를 입력하는 과정
도 5, 도 6 - 본 발명의 구성에 따라 'Arnold J. Toynbee'를 입력하는 과정
도 7 - 'Where are you going?'을 문장예측입력방법으로 입력하는 과정
도 8 - 'www.fda.gov'를 문구예측입력방법으로 검색창에 입력하는 과정
도 9 - 문장예측입력을 위한 9키 자판을 스마트워치에 적용한 모습
<단어예측입력 방법에 의한 'boy' 입력>
도 2는 'boy'를 단어예측입력방법으로 입력하기 위해 ambiguous key sequence ['abc'-'mno'-'wxyz']에 따라 키를 순서대로 눌러 주었을 때 터치스크린 화면에 'boy'를 포함한 예측단어가 표시된 상태를 보여주고 있다. 이들 예측단어들은 각 단어의 첫 번째 문자가 'a, b, c'중의 하나이고, 두 번째 문자는 'm, n, o' 중의 하나이며 세 번째 문자는 'w, x, y, z' 중에 하나로서 구성된 단어로서 사전적인 데이터베이스에 수록되어 있는 것을 사용빈도에 따라 추출하여 표시되는 것이다.
도 2(a)와 (b)는 예측단어가 키패드 내부에 표시된 경우이고, 도 2(c)는 예측단어가 키패드 위쪽에 별도 영역에 보여지고 있는 경우이다. 도 2(c)의 경우 예측단어를 입력하기 위해서는 키패드 위쪽에 표시되어 있는 예측단어 목록 중에서 입력하고자 하는 단어가 표시된 영역을 터치하면 입력된다. 도 2(a)와 (b)의 경우는 예측단어가 키패드 내부에 표시되어 있으므로 예측단어가 표시된 영역을 터치하는 경우는 각 키를 눌러주는 동작에 해당되므로 이 경우에 예측단어를 입력하기 위한 방법은 키패드 중앙의 검은색 키에서 드래그 동작으로 예측단어가 표시된 키로 이동한 후 손가락을 떼면 그 키에 표시된 예측단어가 입력된다. 도 2(a), 도 2(b)의 경우 예측단어가 표시된 키를 터치한 상태에서 방향에 관계없이 일정한 거리를 이동한 후 손가락이 이격해도 입력될 수 있다. 위의 두 가지 방법 중 하나에 의해 예측단어가 입력되는 경우 도 2의 'Sym'키(L21) 대신에 중앙의 검은색 키(L22)가 대신 사용될 수 있다. 도 2a와 도 2b에 보여지는 단어예측입력방법은 도 2c에 보여지는 방법에 비해 예측단어 표시를 위한 별도의 영역이 필요하지 않아서 키보드 입력 영역을 줄일 수 있는 장점이 있다. 이러한 장점을 활용한 예가 도 9에 보여지는 스마트워치에서의 자판이다.
[실시예 1]
< 문구예측입력방법에 의한 이메일주소 '123@ivy.net'의 입력 >
도 2(c)는 일반적인 단어예측입력방법의 자판 구성을 보여주고 있는데 이러한 일반적인 단어예측입력방법에서 이메일 주소 '123@ivy.net'를 입력하기 위해서는 다음과 같은 과정을 거친다.
(i) 숫자모드에서 '123'을 입력
(ii) 기호모드로 전환하여 '@'를 입력
(iii) '영어모드로 전환하여 'ivy'를 단어예측입력으로 입력
(iv) '기호모드로 전환하여 '.' 입력
[ 도 2(c)의 자판 가장 좌측 열에 위치한 키 중의 하나에
'.'가 지정될 경우 기호모드 전환은 생략 가능하며
* 이 경우 (v)의 과정에서 영어모드로의 전환 불필요 ]
(v) 영어모드로 전환하여 'net'를 단어예측입력으로 입력
'123@ivy.net'의 입력이 단어예측입력으로 이루어진다고 하여도 그 과정이 모드변경을 거쳐야 하므로 입력이 불편하게 된다. 이에 반하여 도 1에 보여지는 자판구성으로 문구예측입력방법을 이용하면 모드변경 없이 '123@ivy.net'가 입력된다. 그 과정은 아래의 식 (7)에 해당하는 ambiguous key sequence에 따르는 키입력이 이루어지면 예측문구 '123@ivy.net'가 도 3(a)에 보이는 것처럼 자판영역 내에 표시되어 '123@ivy.net'를 선택/입력 하는 것이다. '123@ivy.net'를 선택하는 방법은 도 2에서 예측단어 'boy'를 선택하는 방법과 동일하다. 즉 키패드 중앙의 검은색 키에서 드래그 동작으로 '123@ivy.net'가 표시된 키로 이동한 후 손가락을 떼거나 '123@ivy.net'가 표시된 키를 터치한 상태에서 방향에 관계없이 일정한 거리를 이동한 후 손가락을 이격하여 '123@ivy.net'를 입력하는 방법이다.
'Num'-'Num'-'Num'-'Sym'-'ghi'-'tuv'-'wxyz'-'Sym'-'mno'-'def'-'tuv' ..... (7)
여기서 'Num'키는 도 3의 L31을 가리키며 숫자 1부터 0까지 10개의 숫자가 지정된 ambiguous key이다.
[실시예 2]
< 사전적 데이터베이스에 문구를 등록하는 방법>
실시예 1에서 보여주는 바와 같이 본 발명의 문구예측입력방법은 멀티탭핑방식에 비해 모드변환("문자모드 <-> 기호모드")없이 빠르게 입력할 수 있는 방법을 제공한다. 이러한 장점에도 불구하고 예측입력방법의 한 가지 단점은 입력하고자 하는 단어(문구)가 사전적 데이터베이스에 등록되어 있지 않은 경우이다. 그리고 실제로 키입력이 완료되기 전까지는 입력하고자 하는 단어(혹은 문구)가 등록되었는지의 여부를 알 수 없다는데 있다. 이를 극복하기 위한 방안으로 ambiguous key 입력이 완료되었을 때 입력하고자 하는 문구가 데이터베이스에 등록되어 있지 않더라더 그 상태에서 데이터베이스에 문구를 등록하여 입력을 완성하는 방법을 설명하고자 한다.
도 4는 '123@ivy.net'가 데이터베이스에 등록되어 있지 않은 경우에 '123@ivy.net'를 데이터베이스에 등록하는 과정을 보여주고 있다. 실제로 도 4의 등록 과정이 시작되는 것은 도 3(b)에 보이는 상황이다. 즉 '123@ivy.net'를 입력하기 위해 식 (7)에 해당하는 키입력을 진행하였는데 '123@ivy.net'를 비롯하여 어떠한 문구도 사전적 데이터베이스에 등록되어 있지 않은 경우이다. 그래서 도 3(b)에 보이는 바와 같이 예측단어 대신에 numeric code sequence '55503890629'가 자판 영역 내에 표시되고 이와 더불어 'Reg'문구가 예측단어처럼 함께 표시된다. 'Reg'문구는 도 4에 보여지는 등록과정을 수행하는 기능을 담당하게 되며 예측단어가 추출된 상태에서도 자판 내에 항상 표시되어 등록과정 준비를 하게된다. 그 이유는 입력된 ambiguous key sequence에 해당하는 문구가 사전적 데이터베이스에 이미 등록되지 않은 경우를 대비하기 위함이다. 그리고 등록과정을 실행하기 위한 'Reg'문구의 선택하는 방법은 도 2a와 도 2b에서 예측단어를 선택하는 방법과 동일하다. 따라서 'Reg'문구가 선택되면 도 4에 보여지는 바와 같이 등록과정이 실행된다. 이 등록과정을 '123@ivy.net'의 경우로 설명하면 numeric code sequence '55503890629'를 구성하는 numeric code에 따라 해당 확장자판이 순서대로 활성화되어 입력이 진행된다. 참고로 표 2는 numeric code에 대응되는 확장자판의 구성을 보여준다.
< numeric code에 대응되는 확장자판 구성내용>
numeric code 대응 확장자판 내용
1 'a', 'b', 'c', 'A', 'B', 'C'키로 구성
2 'd', 'e', 'f', 'D', 'E', 'F'키로 구성
3 'g', 'h', 'i', 'G', 'H', 'I'키로 구성
4 'j', 'k', 'l', 'J', 'K', 'L'키로 구성
5 '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' 키로 구성
6 'm', 'n', 'o', 'M', 'N', 'O'키로 구성
7 'p', 'q', 'r', 's', 'P', 'Q', 'R', 'S'키로 구성
8 't', 'u', 'v', 'T', 'U', 'V'키로 구성
9 'w', 'x', 'y', 'z', 'W', 'X', 'Y', 'Z'키로 구성
0 qwerty keyboard에 지정된 기호 32개와 '공백'문자(space)
` ~ ! @ # $ % ^ & * ( ) - _ = + [ ] { } ; : ' " , . ? < > / | \
이러한 배경에서 '123@ivy.net'의 등록과정 첫 단계는 도 4a에 보여지는 바와 같이 '123@ivy.net'의 numeric code sequence '55503890629'의 첫 번째 numeric code '5'에 해당하는 확장자판으로서 숫자자판이 활성화 되어 '123@ivy.net'의 첫 글자 '1'을 입력하는 과정이다. [ 도 4에서 점선 원은 누름 동작을 의미한다. ] 이어서 도 4b와 도 4c는 numeric code sequence '55503890629'의 두 번째와 세 번째 numeric code는 '5'이므로 도 4a에서와 마찬가지로 숫자 자판이 활성화 되어 '123@ivy.net'의 두 번째, 세 번째 문자인 '2'와 '3'을 입력하는 과정이다. 도 4d는 '@'를 입력하기 위한 과정으로 numeric code sequence '55503890629'의 네 번째 ambiguous key code '0'에 해당하는 기호자판이 활성화된 상태이며 기호자판의 '@'가 포함된 '$@~'키를 터치하는 과정이다. 이하는 도 4(a)~도4(d)와 같은 맥락으로 등록하는 과정이다.
도 4e는 '$@~'키를 터치하면 '$', '@', '~'가 좌우로 확장 배치되어 원래의 키 위치에서 손가락을 떼어 '@'가 입력됨을 보여준다. 도 4f은 'i'를 입력하기 위해 'ghi'키의 구성 알파벳인 'g', 'h', 'i', 'G', 'H', 'I'로 구성된 자판이 활성화 되어 'i'가 지정된 키를 터치하여 'i'의 입력이 완료된다. 'i'가 입력되면 자동으로 다음 알파벳인 'v'를 입력할 수 있도록 't', 'u', 'v', 'T', 'U', 'V'로 구성된 자판이 활성화되어 'v'가 지정된 키를 터치하여 'v'가 입력된다. 도 4h로부터 도 4m까지는 'y', '.', 'n', 'e', 't'를 차례대로 입력하는 과정이다.
이러한 등록과정이 마무리되면 도 4(m)에 보이는 바와 같이 기기 내부적으로 사전적 데이이터베이스에 등록됨과 동시에 '123@ivy.net'가 입력창에 입력되어(L41) 사용자는 입력하고자 하는 문구가 데이터베이스에 등록되었는지의 여부를 염려할 필요가 없게 된다. 이와 같은 '123@ivy.net'의 등록 이후에는 numeric code sequence '55503890629'에 해당하는 키입력[식 (7)에 해당]이 이루어지면 도 4(n)에 보여지는 바와 같이 자판영역에 '123@ivy.net'가 예측문구로서 표시되어 선택/입력이 이루어질 수 있게 되며 재차 등록할 필요가 없어진다.
[실시예 3]
< 예측입력방법으로 공백문자(space)를 포함하는 문구를 입력하는 과정 >
본 발명의 구성에 따라 공백문자(space)를 포함하는 'Arnold J. Toynbee'라는 인명을 한 번에 입력하는 과정이 도 5에 보여지고 있다. 이미 실시예 2에서 '123@ivy.net'의 입력과정을 설명한 바와 같이 도 1에 보여지는 자판을 이용하여 'Arnold J. Toynbee'를 입력하기 위한 ambiguous key sequence는 식 (3)과 같다. 여기서 'Arnold J. Toynbee'와 '123@ivy.net'의 차이점은 공백문자(space)가 기호처럼 취급되어 공백문자에 대한 ambiguous key 입력이 'Sym'키로 이루어지는 점이다.
식 (3)에 따른 키입력 과정이 완료되면 자판영역에 예측문구로서 'Arnold J. Toynbee'가 표시되어 실시예 2에서와 같이 선택/입력된다. 만약에 예측입력방법을 위한 사전적 데이터베이스에 식 (3)에 해당하는 문구가 없다면 도 5b와 같이 식 (3)의 numeric code sequence '17664204008696122'가 자판영역에 예측단어처럼 표시되어 사전적 데이터베이스에 이 numeric code sequence '17664204008696122'에 해당하는 문구가 등록되어 있지 않음을 나타내고 있다. 이럴 경우 자판영역에 보여지는 'Reg' 문구를 선택하면 사전적 데이터베이스에 이 문구를 등록하는 과정이 실행된다. 여기서 'Reg' 문구를 선택하는 방법은 이미 설명한 예측단어 선택방법과 동일하며 이미 사전적 데이터베이스에 'Arnold J. Toynbee'가 등록되어 있다고 하여도 'Reg' 문구는 자판영역에 보여지도록 하여 항상 등록과정을 수행할 준비를 하는 것이다. 그 이유는 사전적 데이터베이스가 주로 사용되는 문구만을 등록하여 데이터베이스가 기기의 메모리에서의 비중을 작게 할 수 있고 더 나아가서 데이터베이스의 크기를 작게 함으로서 문구의 예측과정을 신속히 처리하게 하는 것이 모든 문구를 미리 등록하여 추가적인 등록이 필요없게 하는 것보다 바람직하기 때문이다.
도 6은 'Arnold J. Toynbee'를 사전적 데이터베이스에 등록하는 과정을 보여주고 있다. 이 등록과정은 'Arnold J. Toynbee'의 numeric code sequence '17664204008696122'를 이루는 각각의 numeric code에 대응되는 확장자판이 표 2의 규칙에 따라 순서대로 활성화되어 'Arnold J. Toynbee'를 구성하는 문자와 기호(공백문자를 포함)를 순서대로 입력하게 된다. 구체적으로 설명하면 도 5a의 상태에서 중앙의 검은 키로부터 터치 드래그 동작으로 'Reg'키로 이동하여 손가락을 자판으로부터 떼면 도 6a에 보여지는 등록과정의 첫 화면으로 'a', 'b', 'c', 'A', 'B', 'C'를 포함하는 확장자판이 표시된다. 첫 글자인 'A'키를 터치하면 화면에 'A'가 입력되면서 동시에 데이터베이스에 등록되는 과정이 시작되는 것이다. 도 6b부터 도 6t까지 등록이 완료되면 입력창에 'Arnold J. Toynbee'가 입력됨과 동시에 데이터베이스에 등록되는 것이다. 그리고 이와 같이 'Arnold J. Toynbee'가 데이터베이스에 등록된 후에는 식 (3)의 키순서로 키 입력이 완료되면 도 5a에 보이는 바와 같이 예측문구로서 'Arnold J. Toynbee'가 화면에 표시되어 선택/입력될 수 있게 된다.
그리고 'Arnold J. Toynbee'문구 등록과정 중에 'Arnold J. Toynbee'문구에 포함된 '공백'문자(space)를 입력하기 위해서는 도 6g에 보여지는 기호자판이 활성화되어 중앙의 검은색 키를 터치하면[도 6의 등록과정 중에서 점선 원은 활성화된 확장자판에서 손가락으로 터치하는 위치를 표시한다.] 도 6h에 보이는 바와 같이 '공백'키를 포함한 총 9개의 기호가 배열된 상태가 되어 '공백'문자는 중앙의 검은색 키에 지정되므로 주변키로 움직이지 않고 손가락을 떼면 입력된다.
이렇게 공백문자도 문자나 기호처럼 취급되어 공백문자를 포함하는 문구와 심지어 문장까지 예측입력방법으로 손쉽게 입력가능하게 되는 것이다.
[실시예 4]
< 예측입력방법에 의한 문장입력>
실시예 1과 실시예 3에서 보여주는 바와 같이 숫자와 기호 및 공백문자도 예측입력방법으로 입력가능하게 되어 문장도 예측입력방법을 통해 손쉽게 입력될 수 있다. 일 예로 'Where are you going?'을 일반적인 단어예측입력방법으로 입력할 경우 문장을 구성하는 각각의 단어 'Where', 'are', 'you', 'going'를 사전적 데이터베이스에 추출하여 입력하고 각 단어 사이에 '공백'문자(space)를 입력해 주어야 하는데 반해 본 발명의 기호를 문자와 동일하게 취급하는 예측입력방법으로는 식 (8)[식 (8-1) ~ 식 (8-7)]에 해당하는 ambiguous key 입력이 이루어지면 도 7(a)에 보여지는 바와 같이 'Where are you going?'이 예측단어처럼 자판영역에 표시되어 단어처럼 선택하여 입력하는 것이다.
'wxyz'-'ghi'-'def'-'pqrs'-'def' ... (8-1)
-'Sym' ... (8-2)
-abc'-'pqrs'-'def' ... (8-3)
-'Sym' ... (8-4)
-'wxyz'-'mno'-'tuv' ... (8-5)
-'Sym' ... (8-6)
-'ghi'-'mno'-'ghi'-'mno'-'ghi' ... (8-7)
-'Sym' ... (8-8)
[실시예 5]
< 문장을 사전적 데이터베이스에 간편하게 등록하는 과정 >
도 4와 도 6에 보여지는 바와 같이 예측입력방법에 있어서 입력하고자 하는 문구(단어)가 사전적 데이터베이스에 없을 경우 이를 데이터베이스에 등록하는 방법은 numeric code sequence의 각 숫자에 해당하는 확장자판이 순서대로 활성화되어 문구를 구성하는 문자, 숫자, 기호를 순서대로 하나씩 입력하였다. 이러한 문구 등록방법은 문구가 짧을 경우에는 문제가 없지만 실시예 4에서와 같이 입력하고자 하는 문장이 사전적 데이터베이스에 등록되어 있지 않고 그 문장이 길다면 문장을 구성하는 문자를 하나씩 등록하는 것은 여간 불편한 것이 아니다. 이를 극복하는 방안으로 단어예측입력방법을 문장등록과정에 이용하는 것이다. 즉 만약 식 8에 해당하는 ambiguous key 입력을 수행한 후에 문장 "Where are you going?"이 문장 데이터베이스에 등록되어 있지 않은 경우 도 7(b)에 보이는 바와 같이 "Where are you going?"이 표시되지 않고 대신에 numeric code sequence '93272017209680363630'가 예측단어처럼 자판영역에 보여진다. 이 경우 도 7(b)에서 보이는 'Reg'키를 선택하여 'Where are you going?'의 등록 과정에 진입한다. 본 실시예에서 보여주는 등록과정이 실시예 2에서의 등록과정과 다른 점은 다음과 같다. 실시예 2에서는 'Reg'키를 선택하면 numeric code squence를 구성하는 numeric code에 해당하는 확장자판을 표 2에 근거하여 순서대로 활성화하여 문자을 구성하는 문자를 하나씩 등록하였다. 이에 반해 본 실시예의 등록과정에서는 문장을 구성하는 단어나 숫자 등이 단어예측방법으로 입력이 가능하면 이들 단어를 제외한 부분만을 실시예 2와 같이 문자를 하나씩 등록하는 것이다. 따라서 본 실시예의 등록과정의 첫 단계는 문장의 numeric code sequence를 기호와 기호가 아닌 부분으로 구분하는 과정이다. 즉 numeric code sequence '93272017209680363630'를 기호와 기호가 아닌 그룹으로 세분하기 위해 기호를 나타내는 ambiguous key code '0'을 경계로 다음과 같이 세분화 하는 것이다.
[ '93272', '0', '172', '0', '968', '0', '36363', '0' ] ...(9)
이렇게 세분화된 segmented numeric code sequence 중에서 '0'이 아닌 부분에 대해서는 단어예측입력방법으로 문장등록과정을 수행하는 것이다. 식 (9) segmented ambiguous numeric code sequence의 첫 번째 numeric code sequence '93272'는 문자에 해당되는 숫자열이므로 도 7(c)에 보이는 바와 같이 numeric code sequence '93272'에 해당하는 예측단어 'where'가 표시되어 있어서 이를 예측단어 선택하는 방법으로 선택하면 'where'가 문장의 첫 구절로서 등록됨과 동시에 입력창에 입력된다.(L71)
[ 도 7(c)에는 'Where'의 첫 글자인 'w'가 대문자로 표시되어 있는데 이는 'where'가 예측단어로 자판에 표시된 상태에서 'shift'키(L72)를 눌러주어 'Where'로 변경된 상태이다. 도 7(c)에서 shift키(L73)는 이탤릭체로 표시되어 있는데 이는 'shift'키(L73)가 눌려졌음을 의미한다.]
만약에 'where'가 사전적 데이터베이스에 등록되어 있지 않으면 도 7(d)와 같이 숫자열 '93272'가 예측단어처럼 자판내 영역에 표시되고 이 상태에서 'where'의 등록과정을 실행시키기 위해 'Reg'문구를 선택하면 표 1의 구성에 따라 숫자열 코드 '93272'에 해당하는 확장자판이 순서대로 활성화되어 실시예 2와 실시예 4에서 보여준 방식과 동일하게 'where'의 문자 하나씩 입력하는 방법으로 사전적 데이터베이스에 'where'가 등록되고 입력창에 'Where'기 입력되는 것이다.(L74) 이렇게 '93272'에 해당하는 단계가 완료되면 자동으로 'Where'의 다음 단계인 '공백'문자(space)를 등록하는 단계로 넘어가서 도 7(e)에 보여지는 바와 같이 기호자판이 활성화된다. 이 상테애서 가운데 검은색 키를 터치한 후 손가락을 떼면 공백문자(space)가 입력되고 그 다음 단계인 식 (9)의 두 번째 숫자열 '172'에 해당하는 단어예측입력 단계가 실행되어 도 7(f)에 보여지는 바와 같이 'are'가 예측단어로 자판영역 내에 표시되어 선택/입력될 수 있게 되는 것이다. 이하 'you', 'going'에 해당하는 등록과정도 마찬가지로 진행되어 문장등록과정이 종료되고 동시에 입력창에 'Where are you going?'이 입력되는 것이다.
[ 참고로 위의 'Where'를 사전적 데이터베이스에 등록하는 과정은 문장 등록과정의 일부로서 수행하게 되므로 'Where'의 'W'를 대문자로 등록하게 되지만 사전적 데이터베이스에 'Where'가 등록되어 있지 않을 경우 소문자인 'where'로서 사전적 데이터베이스에 등록되도록 하는 것이 바람직하다. 왜냐하면 나중에 'where'를 소문자로 입력해야 할 경우 생기더라도 문제가 없지만 만약 문장의 일부가 아닌 하나의 단어로서 'where'가 'Where'로 등록되어 있다면 키입력 numeric code sequence '93272'에 해당하는 단어로서 'Where'가 예측단어로 표시되므로 이경우 'Where'의 'W'를 소문자로 변경하는 방법이 없으므로 'where'를 'Where'와 구별하여 사전적 데이터베이스에 새로운 단어로서 등록해야 하는 상황이 벌어지기 때문이다. ]
위에서 본 바와 같이 문장등록과정의 일부분으로 단어등록이 이루어지면 이는 사전적 데이터베이스에 단어의 등록이 문장등록과 동시에 이루어지는 효과를 가져온다. 따라서 본 실시예의 문장등록과정을 실시예 3의 'Arnold J. Toynbee'의 등록과정에 적용할 경우 'Arnold', 'Toynbee'가 사전적 데이터베이스에 등록되어 있다면 도 6(a) ~ 도 6(f)까지의 과정과 도 6(m) ~ 도 6(s)의 과정이 사전적 데이터베이스에서 'Arnold'와 'Toynbee'를 예측/선택/입력하는 각각 하나의 단계로 줄어들어 사전적 등록과 입력과정이 간소화되는 장점을 가져온다. 만약 'Arnold'와 'Toynbee'가 사전적 데이터베이스에 등록되어 있지 않다면 도 6의 과정을 그대로 진행하면 된다.
[실시예 6]
< 문구 및 문장예측 키입력방법의 간략화 개요>
실시예 1, 3, 4에서 기호뿐만 아니라 공백문자(space)를 포함하는 문구 및 문장을 예측입력방법으로 입력하는 방법을 예시하였다. 이러한 문구 및 문장의 예측입력방법을 위한 키입력을 더 간편하게 하는 방법을 기술하고자 한다.
문장예측입력으로 'Who is he?'를 입력하기 위한 ambigous key sequence는 실시예 3의 방법을 따르면 식 (10-2)이다. 그리고 식 (10-3)은 식 (10-2)와 달리 (10-1)의 'Who is he?'를 구성하는 단어들의 경우 첫 글자인 'w', 'i', 'h'에 해당되는 ambiguous key만을 키입력한 ambiguous key sequence로서 단어의 첫글자에 해당하는 ambiguous key만 입력이 이루어져도 문장이 예측되는 것이다. 이는 단어예측입력방법에서 'important'를 예측하기 위해 'import'에 해당하는 ambiguous key 입력이 이루어져도 'important'뿐만 아니라 앞부분이 일치하는 'importance', 'important' 등이 사전적 데이터베이스에서 예측되도록 하는 방법과 같은 맥락이다. 식 (10-3)과 같은 간편 키입력의 핵심은 입력하고자 하는 문장을 구성하는 요소 중에서 기호와 공백문자를 제외하고 그 나머지 부분의 경우 그것들의 일부만을 입력하여도 문장이 예측되도록 하는 것이다.
Who is he? ...(10-1)
'wxyz'-'ghi'-mno'-'Sym'-'ghi'-'pqrs'-Sym-'ghi'-'def'-'Sym' ...(10-2)
'wxyz' -'Sym'-'ghi' -'Sym'-'ghi'- 'Sym'...(10-3)
따라서 위와 같이 문장을 이루는 단어의 일부분만을 키입력하여도 문장이 예측되도록 하는 예측문장 추출 기준이 표 5에 명시되어 있고 이 기준을 표 3의 문장과 표 4의 ambiguous key 입력에 적용하여 데이터베이스에 등록된 표 3의 문장이 표 4의 ambiguous key 입력에 따른 예측문장으로 추출되는 과정을 설명하고자 한다.
< 6-I. 예측문장 추출 변수 numeric code sequence를 데이터베이스에 등록된 문장으로부터 산출>
표 3에 보이는 바와 같이 데이터베이스에 등록된 문장은 그에 해당하는 ambiguous key sequence로 표현되며 이렇게 표현된 ambiguous key sequence는 'Sym'키를 경계로 세분되는데 이렇게 세분된 것을 segment라고 하고 이들 segment를 표 3의 첫 번째 열 위에서부터 차례로 배열한다. 그런 다음 각 segment의 ambiguous key sequence를 표 1에 따라 numeric code sequence가 산출되는데 이 numeric code sequence를 표 3의 두 번째 열의 해당 segment에 기입한다.
< 6-II. 예측문장 추출 변수 numeric code sequence를 키입력으로부터 산출>
위 문단 <6-I>에서와 마찬가지로 문장예측을 위한 키입력의 ambiguous key sequence로부터 표 1에 근거하여 numeric code sequence를 산출한 다음 해당 segment에 기입한다.
문단 < 6-I >에서 산출된 numeric code sequence(데이터베이스의 문장의 numeric code sequence에 해당)와 문단 < 6-II >에서 산출된 numeric code sequence(키입력의 numeric code sequence에 해당)를 표 6의 기준에 따라 비교하여 기준 1과 2를 모두 만족하면 문장예측을 위한 키입력이 데이터베이스의 문장과 부합된다고 판단하여 데이터베이스의 문장이 예측문장으로 추출되는 것이다. 위의 내용으로 표 3의 데이터베이스에 등록된 문장인 'Where are you going?'의 numeric code sequence와 표 4의 ambiguous key 입력의 numeric code sequence를 비교하여 표 4의 키입력이 표 3의 데이터베이스의 문장을 추출할 수 있는지의 여부를 결정하는 과정을 표 5의 기준을 들어 설명하고자 한다.
즉, 표 4의 key sequence 1(이하 'A'라 지칭)의 numeric code sequence과 표 3의 문장(데이터베이스에 등록된 문장 - 이하 'B'라 지칭)을 표 5의 기준에 따라 비교하면 다음과 같다.
기준 1에 의거하여 각 segment 별로 A와 B의 numeric code sequence의 자릿수를 비교할 때 첫 번째 segment의 경우 B의 numeric code sequence는 '93272'이므로 자릿수가 5이고 A의 numeric code sequence가 '932'로서 자릿수가 3이 되어 B의 numeric code sequence 자릿수보다 작아서 기준 만족한다. 이하 2번째 segment에서 7번째 segment까지 모두 A의 numeric code sequence 자릿수가 B의 numeric code sequence의 자릿수보다 작거나 같아서 기준 만족한다. 마지막으로 8번째 segment는 키입력의 numeric code sequence가 없으므로 자릿수가 0 에 해당하고 데이터베이스 문장의 numeric code sequence가 '0'이여서 자릿수가 1에 해당하여 기준 1이 충족된다.
기준 2에 의거하여 각 segment 별로 A와 B의 numeric code sequence가 앞에서부터 일치하는지 비교할 때 첫 번째 segment의 경우 B의 numeric code sequence는 '93272'이고 A의 numeric code sequence는 '932'이므로 앞에서부터 일치하므로 기준 만족한다. 이어서 두 번째 segment부터 7번째 segment까지 비교할 때 A의 numeric code sequence가 B의 numeric code sequence와 모두 앞에서부터 일치하므로 기준을 만족한다. 그리고 8번째 segment의 경우 키입력의 number code sequence가 없으므로 기준을 만족하므로 기준 2도 충족한다. 따라서 표 4의 키입력에 해당하는 key sequence 1은 표 5의 기준을 만족하여 데이터베이스로부터 'Where are you going?'을 예측문장으로 추출하여 선택/입력이 가능하게 되는 것이다.
위에서 표 4의 key sequence 1을 데이터베이스의 문장과 비교한 것처럼 표 4의 key sequence 2를 표 3의 문장 'Where are you going?'와 비교할 때 표 3의 문장은 8번째 segment까지만 있는데 반해 key sequence 2는 9번째 segment도 있으므로 기준 2의 조건이 충족되지 않으므로 'Where are you going?'을 예측문장으로 추출할 수 없게 된다.
Where are you going?
ambiguous key sequence number code sequence Segment
'wxyz'-'ghi'-'def'-'pqrs'-'def'- 93272 1st
'Sym'- 0 2nd
'abc'-'pqrs'-'def' 172 3rd
'Sym' 0 4th
'wxyz'-'mno'-'tuv' 968 5th
'Sym' 0 6th
'ghi'-'mno'-'ghi'-'mno'-'ghi' 36363 7th
'Sym' 0 8th
key sequence 1 key sequence 2
ambiguous key sequence number code sequence Segment ambiguous key sequence number code sequence
'wxyz'-'ghi'-'def' 932 1st 'wxyz'- 9
'Sym'- 0 2nd Sym'- 0
'abc'-'pqrs'-'def' 172 3rd 'abc'- 1
'Sym' 0 4th Sym' 0
'wxyz'-'mno'-'tuv' 968 5th 'wxyz'-'mno'-'tuv' 968
'Sym' 0 6th Sym'- 0
'ghi'-'mno'-'ghi' 363 7th 'ghi'-' 3
8th 'Sym'- 0
9th 'abc'- 1

기준 1

각 segment에서 number code sequence의 자릿수를 비교할 때
키입력의 number code sequence의 자릿수가
데이터베이스 문장의 number code sequence의 자릿수가 작거나 같아야 한다.
(단 segment에 number code sequence가 없는 경우 자릿수를 0(zero)으로 취급하여 비교한다.)

기준 2

기준 1을 충족할 때,
각 segment에서
키입력의 number code sequence가
데이터베이스 문장의 number code sequence와 앞에서부터 비교하여 일치해야 한다.
(단 키입력의 number code sequence가 없는 경우 기준 2를 충족한다.)
key sequence 3 key sequence 4
ambiguous key sequence number code sequence Segment ambiguous key sequence number code sequence
'wxyz'- 932 1st 'wxyz'- 9
'Sym'- 0 2nd Sym'- 0
'abc'-' 172 3rd 'abc'- 1
'Sym'- 0 4th Sym' 0
'wxyz'-' 968 5th 'wxyz'-'mno'-'tuv' 968
'Sym'- 0 6th
'ghi'- 3 7th
이상에서 살 펴본 표 5의 기준을 적용하여 표 6에 보여지는 key sequence 3과 key sequence 4는 표 3의 문장(데이터베이스의 문장으로 가정)과 비교하였을 때 표 5의 기준을 만족하므로 key sequence 3과 key sequence 4는 모두 'Where are you going?'을 데이터베이스에서 예측문장으로 추출하여 선택/입력될 수 있게 하는 것이다. 즉 'Where are you going?'의 각 단어의 첫 글자만을 입력하여도 예측문장으로 추출될 수 있고(key sequence 3의 경우) 심지어는 문장의 중간 'you'에 해당하는 ambiguous key 입력이 이루어진 상태에서도(key sequence 4의 경우) 'Where are you going?'이 예측문장으로 추측되어 선택/입력되는 것이다. 이러한 편리성을 위한 간략 키입력을 구현하기 위해서는 데이터베이스에서 예측문장을 추출하는 과정에 표 5의 기준을 적용하면 문장의 일부만의 입력으로도 예측문장의 추출이 가능해지므로 간략 키입력의 구현이 이루어지는 것이다.
[실시예 7]
< 간단한 웹주소 입력>
실시예 6에 설명된 문장예측입력방법을 웹주소 입력에도 적용할 수 있다. 일례로 "www.fda.gov"라는 웹주소 문구를 입력하기 위해는 일반적으로 식 (11)로 표시되는 키입력이 이루어져야 한다.
'wxyz'-'wxyz'-'wxyz'-'Sym'-
'def'-'def'-'abc'-'Sym'-'ghi'-'mno'-'tuv' ....(11)
하지만 실시예 6의 문장예측입력방법의 간략입력방식을 적용하면 식 (12)에 해당하는 키입력으로도 'www.fda.gov'가 사전적 데이터베이스로부터 추출되어 선택/입력 가능해지는 것이다.
'wxyz'-'Sym'-'def'-'def'-'abc'-'Sym'-'ghi'-'mno'-'tuv' ....(12)
웹주소는 일반적으로 'www.'로 시작하므로 식 (12)과 같이 키입력되어도 'www.fda.gov'가 사전적 데이터베이스에서 추출되어 입력될 수 있다.
*
[실시예 8]
< 예측입력방법에 의한 인터넷 검색 및 사전적 데이터베이스 활용 >
실시예 7까지 문구 혹은 문장예측입력방법이 사전적 데이터베이스로부터 문장을 추출하는 과정을 거쳐서 입력되었다. 그리고 단어예측입력방법은 키의 갯수가 한정된 모바일기기용 입력방법으로 사용되어 왔다. 이러한 모바일기기의 경우 대부분 인터넷에 연결되어 있으므로 단어예측입력방법을 위한 사전적 데이테베이스를 인터넷 서버에 저장된 것을 이용하면 모바일기기에 내장된 사전적 데이터베이스를 이용하는 것보다 효율적이다. 단어의 경우는 수 메가바이트 정도의 메모리로 사전적 데이트베이스를 구축할 수 있지만 문장의 경우는 이보다 훨씬 큰 메모리 용량이 필요하여 모바일기기에 데이터베이스를 저장하기 보다 인터넷 서버의 메모리를 이용하는 것이 유리하고 더욱이 데이터베이스에서 데이터를 추출하는 query 과정도 인터넷 서버의 고성능 프로세서를 이용하는 것이 모바일기기에서 query과정을 수행하는 것보다 입력과정을 신속하게 처리할 수 있게 된다. 이는 모바일 기기의 인터넷 전송속도가 초당 gigabyte에 이르게 되어 처리결과를 인터넷서버에서 모바일기기에 전달하는 과정에 실시간에 가깝게 되므로 굳이 데이터베이스를 모바일기기에 가지고 있을 필요가 없게 되는 것이다.
인터넷 검색엔진 google, yahoo, bing 등의 검색에 문장예측입력방법을 적용할 수 있게 되면 스마트워치와 같이 키의 갯수가 제한되어 일반적인 입력방법으로는 입력이 어려운 경우에도 쉽게 검색할 수 있는 방법을 제공하는 것이다. 다만 이를 위해서 각 검색엔진이 구축하고 있는 데이터베이스의 인덱스(index)를 표 7에 보이는 바와 같이 구축되어야 한다. 즉 단어(구절, 웹주소, 문장 등)에 해당하는 인덱스가 일반적인 string code뿐만 아니라 ambiguous key sequence로도 구축되어야 한다. 표 7의 numeric code sequence는 표 1에 근거하여 산출된 것이므로 표 1의 내용이 변경되면 그에 따라 변경되어야 한다.
string code ambiguous key sequence numeric code sequence
according to
표 1
"www.fda.gov" 'wxyz'-'wxyz'-'wxyz'-'Sym'-'def'-'def'-'abc'-'Sym'-'ghi'-'mno'-'tuv' '99902210368'
"www.efa.gov.in" 'wxyz'-'wxyz'-'wxyz'-'Sym'-'def'-'def'-'abc'-'Sym'-'ghi','mno','tuv'-'Sym'-'ghi','mno' '99902210368036'
"We will be back." 'wxyz'-'def'-'Sym'-'wxyz'-'ghi'-'jkl'-'jkl'-'Sym'-'abc'-'def'-'Sym'-'abc'-'abc'-'abc'-'jkl'] '920934401201114'
표 7와 같이 검색엔진의 데이터베이스가 구축되어 있을 경우 검색 프로그램의 입력창에 식 (13)에 해당하는 ambiguous 키입력이 이루어지고 실행되면 도 8에 보이는 바와 같이 미국 식약청 홈페이지 사이트가 연결될 수 있는 링크(link) 아이템 목록이 보여져서 자판영역에 표시되는 주소('www.fda.gov')를 선택하거나 아니면 화면상에 표시되는 목록 사이트(site) 중에서 'www.fda.gov'를 터치하여 선택하면 되는 것이다.
'wxyz'-'wxyz'-'wxyz'-'sym'-'def'-'def'-'abc'-'sym'-'ghi'-'mno'-'tuv'
... (13)
이와 같이 도 1에 보이는 자판으로도 인터넷 사이트를 쉽게 연결할 수 있으며 심지어 문장입력도 쉽게 이루어질 수 있는 것이다. 현재 스마트폰의 차세대 모바일 기기로 주목받고 있는 스마트워치에서도 인터넷 검색, 일상적으로 사용되는 문장의 입력, 심지어 비밀번호의 입력도 스마트폰과 차이 없이 쉽게 이루어지게 되는 것이다.
[실시예 9]
이상의 실시예에서 살펴 본 문장예측입력방법은 화면 터치방식의 키입력에 대해서 살펴 보았는데 누름방식의 키패드에 적용하여도 실행될 수 있다. 단지 차이점이라 하면 터치방식의 경우에는 드래그 동작에 예측단어를 선택하는 기능을 부여하여 키를 터치하는 것은 ambiguous key input이고 드래그 동작은 예측단어 혹은 예측문장 선택/입력 기능을 담당하여 구분이 된다. 하지만 키패드 누름입력 방식에서는 드래그 동작이 불가능하므로 대신에 길게 누르는 동작으로 드래그 동작을 대체하면 본 발명의 문장예측입력방법을 누룸키를 갖는 키패드에서도 적용할 수 있다.
[실시예 10]
본 발명의 문장예측입력방식을 위해서 기호나 공백문자를 문자처럼 ambiguous key에 지정하여 입력하도록 하였다. 하지만 공백문자의 경우 별도의 ambiquous key를 가지지 않고 키를 터치한 상태에서 드래그하여 그 키에 지정된 문자와 공백문자를 동시에 입력하는 기능을 담당하게 하여 키의 갯수를 줄일 수 있게 된다. 즉 'abc' ambiguous key를 터치한 상태에서 일정한 거리 이상을 움직일 경우 'abc'-'Sym'key를 입력하는 것과 같은 기능을 담당하게 하는 것이다. 이 경우 'abc'키를 터치한 후 드래그하는 동작으로 예측단어(문장)을 선택/입력하는 기능은 다른 방법으로 구현되어야 한다.
이상에서 살펴 본 바와 같이 본 발명의 문장예측입력방법은 적은 수의 키로도 입력의 편리성과 신속성을 향상시킬 수 있어서 스마트워치와 같은 모바일기기에서 그 효용성을 발휘할 수 있고 더 나아가서 리모컨과 같이 키의 개수가 제한되는 입력장치에 적용되어 지금까지 문자통신에 이용되지 못하던 상황을 극복하게 해주어 이들 기기의 활용성을 더욱 확대시키는 계기가 될 것이다.

Claims (4)

  1. 하나의 키에 다수의 문자가 지정되어 있고, 이들 키를 눌러주어 키 입력순서에 따라 이들 키에 지정된 문자의 조합으로 만들어지는 단어를 추출하여 입력하는 단어예측입력방법에 있어서 문자뿐만 아니라 기호도 문자처럼 하나의 키에 다수의 기호를 지정하여 이들 기호를 구분하지 않고 키를 한 번만 눌러주어 키에 지정된 기호가 포함된 단어뿐만 아니라 문구 및 문장까지 추출하도록 한 예측입력방법을 구현한 입력시스템.
  2. 청구항 1에 있어서, 문구예측입력방법으로 입력되는 기호 중에 공백문자(space)도 포함하는 문구예측입력방법을 구현한 입력시스템.
  3. 청구항 1에 있어서, 문장입력을 위한 ambiguous 키입력에 해당되는 문장이 없을 경우 입력된 ambiguous key sequence에 따라 문장을 등록하는 과정에서 기호 및 공백문자에 해당하는 ambiguous key 입력을 제외한 나머지 부분에 대해서는 단어예측입력을 적용하여 문장을 등록하는 방법을 구현한 입력시스템
  4. 청구항 1에서 문장입력을 위한 ambiguous 키입력이 입력하고자 하는 문장을 이루는 각 단어의 일부분만 입력되어도 데이터베이스에서 그 문장을 예측문장으로 추출하도록 하여 선택/입력이 되도록 하는 방법을 구현한 입력시스템
KR1020170057135A 2017-05-08 2017-05-08 문장 예측입력시스템 KR20180123223A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170057135A KR20180123223A (ko) 2017-05-08 2017-05-08 문장 예측입력시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170057135A KR20180123223A (ko) 2017-05-08 2017-05-08 문장 예측입력시스템

Publications (1)

Publication Number Publication Date
KR20180123223A true KR20180123223A (ko) 2018-11-16

Family

ID=64565246

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170057135A KR20180123223A (ko) 2017-05-08 2017-05-08 문장 예측입력시스템

Country Status (1)

Country Link
KR (1) KR20180123223A (ko)

Similar Documents

Publication Publication Date Title
US9798717B2 (en) Human-to-mobile interfaces
US5818437A (en) Reduced keyboard disambiguating computer
EP1861769B1 (en) Human-to-mobile interfaces
CA2561218C (en) Human-to-computer interfaces for reducing the key presses required to input a data string
JP2004534425A6 (ja) 迅速テキストタイピングをサポートするハンドヘルド装置
KR20020053784A (ko) 문자 입력 방법 및 이를 이용한 정보통신 서비스 방법
US20080300861A1 (en) Word formation method and system
US20170371424A1 (en) Predictive Text Typing Employing An Augmented Computer Keyboard
KR20190084865A (ko) 문장 예측입력시스템
CN101118465A (zh) 数字化输入和调用文字信息的新方案
KR20180123223A (ko) 문장 예측입력시스템
KR20180123618A (ko) 비확정키를 이용한 검색 입력시스템
KR20180123755A (ko) 비확정키 검색 입력시스템
KR20180123946A (ko) 검색을 위한 비확정키 입력시스템
KR20180126350A (ko) 검색을 위한 문장예측 입력시스템
KR20180126349A (ko) 검색을 위한 비확정키 입력시스템
Mittal et al. Improvised layout of keypad entry system for mobile phones
KR20220153983A (ko) 한글 문장예측 입력시스템
KR20230022675A (ko) 한글 문장예측 입력시스템
CN101228497A (zh) 输入文本的方法和设备
KR20240029703A (ko) 멀티 포인터를 활용한 문자 입력시스템
KR20080086070A (ko) 단어 검색 방법
KR20240050779A (ko) 조이스틱과 안구 마우스를 활용한 문자 입력시스템
KR20240053333A (ko) 문장예측시스템의 예측단어 선택과 기호입력방법
KR20230060649A (ko) 한글 문장예측 swipe 입력시스템