KR101959049B1 - Bci 시스템에 사용되는 스마트 키보드 및 이의 입력 방법 - Google Patents

Bci 시스템에 사용되는 스마트 키보드 및 이의 입력 방법 Download PDF

Info

Publication number
KR101959049B1
KR101959049B1 KR1020170081462A KR20170081462A KR101959049B1 KR 101959049 B1 KR101959049 B1 KR 101959049B1 KR 1020170081462 A KR1020170081462 A KR 1020170081462A KR 20170081462 A KR20170081462 A KR 20170081462A KR 101959049 B1 KR101959049 B1 KR 101959049B1
Authority
KR
South Korea
Prior art keywords
word
frequency
huffman tree
window
user
Prior art date
Application number
KR1020170081462A
Other languages
English (en)
Other versions
KR20190001454A (ko
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 KR1020170081462A priority Critical patent/KR101959049B1/ko
Publication of KR20190001454A publication Critical patent/KR20190001454A/ko
Application granted granted Critical
Publication of KR101959049B1 publication Critical patent/KR101959049B1/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/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/0489Interaction 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 dedicated keyboard keys or combinations thereof
    • A61B5/0476
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/369Electroencephalography [EEG]
    • 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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • 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/018Input/output arrangements for oriental characters
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72522

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Dermatology (AREA)
  • Neurology (AREA)
  • Neurosurgery (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • Psychology (AREA)
  • Signal Processing (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Psychiatry (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

실시예는 BCI 시스템과 연동되며 안드로이드를 기반으로 하는 스마트폰에서 실행되는 스마트 키보드로서, 초성의 빈도에 근거하여 생성된 허프만 트리에서 현재 노드의 좌측에 있는 모든 리프(leaf)의 값과 우측에 있는 모든 리프(leaf)의 값이 각각 제시되는 두개의 분할된 창과, 단어가 디스플레이되는 하나의 창으로 이루어진 모듈로 형성된다. 실시예의 스마트 키보드는 해시맵을 사용하여 초성과 매칭되는 단어와 그 빈도를 저장하고, 사용자에 의해 선택된 단어 또는 초성의 빈도를 계속적으로 증가시킴으로써, 사용자마다 단어의 출현 확률을 다르게 저장하여 개인화하기 때문에 사용할수록 사용자에게 더욱 빠른 단어입력을 수행할 수 있다.

Description

BCI 시스템에 사용되는 스마트 키보드 및 이의 입력 방법{Smart Keyboard Using in BCI System and Input Method for the Same}
본 발명은 BCI 시스템에 사용되는 스마트 키보드 및 이의 입력 방법에 관한 것으로서, 보다 상세하게는 한글에 적용할 수 있는 BCI 시스템용 스마트 키보드 및 BCI 시스템을 사용하는 사람의 의도를 최단 입력으로 표현할 수 있는 입력 방법에 관한 것이다.
일반적으로 인간의 뇌는 다수개의 신경세포(Neuron)의 상호결합 또는 활동에 의하여 다양한 움직임을 나타내며, 뇌의 활동에 따라 발생하는 미세한 뇌 표면의 신호인 두피뇌파(EEG: Electroencephalogram)를 통해 뇌의 활동을 외부에서 측정할 수 있다.
이러한 두뇌의 활동을 시공간적(spatio-temporal)으로 파악하는 뇌파를 이용하여 두뇌의 신경패턴을 인식할 수 있어, 임상 및 뇌기능 연구에 폭넓게 이용되고 있으며, 최근에는 언어나 신체의 동작을 거치지 않고 뇌파를 통해 인간과 기계와의 직접적인 인터페이스를 구축하기 위한 두뇌와 컴퓨터의 상호작용인 BCI(Brain Computer Interface) 분야로 뇌파의 응용분야가 넓어지고 있다.
상술한 BCI 시스템을 이용하여 단어를 입력하는 어플리케이션을 일명 BCI speller라고 하며, P300, SSVEP 등의 기술을 통해 연구되고 있다. 사용자에게 일정한 인지 자극을 주었을 때, 300밀리세컨드(msec) 후에 발생하는 유발전위를 P300 뇌-유발 전위라 하며, P300 뇌-유발 전위를 이용하여 문자(character)를 입력하는 뇌-컴퓨터 인터페이스의 방법은 1988년 Farwell과 Donchin (FD)이 고안 하였다.
이 방법에서는 P300 뇌-유발전위 발생을 위하여 문자(character)를 행과 열로 배치하고, 임의로 깜빡이는 행과 열을 사용자에게 제시하고, 사용자가 입력하고자 하는 문자의 열 혹은 행이 켜졌을 경우, 발생한 P300 뇌-유발 전위를 검출하여, 검출된 행과 열에 해당하는 문자를 검출하여 문자를 입력시키는 방법이다. FD 패러다임의 경우 입력기의 행과 열의 깜빡임의 시각 자극을 통하여 문자를 한 글자씩 입력하는 시스템이기 때문에 입력 속도가 느려, 실제 일상생활에서 사용하기에는 단점이 있다.
또한, 기존의 BCI 입력기는 여러 글자를 한 화면에 나타내어야 하기 때문에 모니터와 같은 큰 화면이 필요하였으며, 대부분의 어플리케이션이 알파벳을 기본으로 하는 영어로 구현되어 국내사용자가 사용하기에 어려움이 있었다. 이러한 문제점을 해결하기 위해, 커서 컨트롤을 통해 초성, 중성, 종성의 순서로 한글을 입력하는 키보드가 개발되었으나, 이러한 입력 방식은 사용자가 비교적 많은 입력을 수행해야 하며 특정한 단어가 자주 입력되는 경우에도 해당되는 단어의 초성, 중성 종성을 다시 입력해야 하므로 키보드 입력의 효율성이 떨어지는 문제가 있다.
본 발명의 실시예는 사용자가 휴대하기 편한 스마트 폰에 구현될 수 있으며, 직관적인 입력 방법을 통해 사용자가 보다 쉽게 BCI 시스템을 통해 의도를 표현할 수 있는 스마트 키보드를 제공하는데 그 목적이 있다.
본 발명의 실시예는 BCI 시스템과 연동되며 안드로이드를 기반으로 하는 스마트폰에서 실행되는 스마트 키보드로서, 초성의 빈도에 근거하여 생성된 허프만 트리에서 현재 노드의 좌측에 있는 모든 리프(leaf)의 값과 우측에 있는 모든 리프(leaf)의 값이 각각 제시되는 두개의 분할된 창과, 단어가 디스플레이되는 하나의 창으로 이루어진 모듈로 형성되며, 상기 두개의 분할된 창에는 초성의 빈도에 따라 복수개의 초성이 제시되고, 사용자가 설정한 입력 방식에 따라 두개의 창 중에서 하나를 선택하는 방식을 사용하며, 초성의 배열과 해당 초성으로 만들 수 있는 단어는 해시맵(hash map)으로 저장되며, 선택된 단어의 빈도수를 이용하여 이에 대한 허프만 트리를 생성함으로써 사용자의 의도에 부합되는 단어를 디스플레이하는 것을 특징으로 한다.
바람직하게, 사용자는 상기 허프만 트리의 루트로부터 따라 내려가는 방식으로 다음 단어를 입력하며, 좌측 창에는 현재 허프만 트리 노드의 왼쪽 서브트리의 모든 리프(leaf) 값을 보여주고, 우측 창에는 오른쪽 서브트리의 leaf 값들을 제시하는 것을 특징으로 한다.
그리고, 사용자가 좌측 창을 선택하면 왼쪽 child로 이동한 후에 각 창의 내용을 새로 고침하고, 우측 창을 선택하면 우측 서브트리로 이동하고 각 창의 내용을 새로 고침하는 것을 특징으로 한다.
그리고, 허프만 트리의 리프(leaf)에 도착하면 그 값을 입력창에 표시하고, 초성 트리에서 해당 노드로 이동하거나 단어입력을 시작하는 것을 특징으로 한다.
그리고, 스페이스 또는 마침표를 선택하게 되면 단어를 위한 초성의 배열이 모두 입력된 것이라 판단하고 단어 입력 모드로 전환하는 것을 특징으로 한다.
그리고, 이전에 입력한 초성의 배열을 key로 하는 상기 해시맵의 값(value)을 찾은 후에, 상기 해시맵의 값에 저장된 단어들과 빈도수를 불러온 후에 이를 적용하는 것을 특징으로 한다.
그리고, 사용자에 의해 선택된 초성의 빈도를 1만큼 증가시키는 것을 특징으로 한다.
본 발명에 따르면, 좌측과 우측을 구분하는 창과, 결과창만이 필수 구성요소이기 때문에 스마트폰과 같은 작은 화면에서 적합하게 사용할 수 있기 때문에 BCI 시스템을 사용하는 사람이 이동시에도 용이하게 키보드를 사용하여 의도를 표현할 수 있다.
본 발명에 따르면, 한글 입력에 적합한 알고리즘으로 제작되기 때문에 영어를 사용하기 어려웠던 국내사용자의 접근성이 더욱 향상될 수 있다.
본 발명에 따르면, 사용자에 의해 선택된 단어 또는 초성의 빈도를 계속적으로 증가시킴으로써, 사용자마다 단어의 출현 확률을 다르게 저장하여 개인화하기 때문에 사용할수록 사용자에게 더욱 짧아진 입력으로 의도한 단어를 표현할 수 있다.
도 1은 실시예의 스마트 키보드가 포함된 어플리케이션의 구성을 나타낸 도면
도 2는 실시예의 스마트 키보드에서 사용되는 초성 트리의 예시를 나타낸 도면
도 3은 실시예의 스마트 키보드를 사용한 입력 방법을 나타낸 흐름도
이하 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세하게 설명하지만, 본 발명의 실시예에 의해 제한되거나 한정되는 것은 아니다. 본 발명을 설명함에 있어서, 공지된 기능 혹은 구성에 대해 구체적인 설명은 본 발명의 요지를 명료하게 하기 위해 생략될 수 있다.
[어플리케이션의 구성]
실시예에 따른 BCI 시스템에 사용되는 스마트 키보드는 안드로이드 기반의 어플리케이션으로 구성될 수 있다. 도 1을 참조하여, 어플리케이션의 구성을 살펴보면 다음과 같다. 상기 어플리케이션은 INFONET BCI라 명명하였으며, BCI 통합 환경을 기반으로 데이터 베이스를 확보할 수 있다.
INFONET BCI의 어플리케이션을 실행시키면 3가지의 모듈이 나타나며, 이는 'Signal Source', 'Signal Process', 'Application'에 해당하는 모듈을 포함하여 구성될 수 있다.
Signal Source는 사용자에 따른 입력방식을 선택하기 위한 역할을 수행하는 모듈이다. 실시예의 스마트 키보드에서는 0/1 또는 좌/우 두가지의 입력만을 필요로 하기 때문에, 기존의 P300 또는 SSVEP와는 다르게 다양한 입력 신호를 적용하는 것이 가능하다.
예를 들어, 눈을 깜빡이는 횟수를 통해 좌/우 입력을 받는 방식을 선택할 수 있으며, Motor Imaginary 신호를 사용하여 입력을 받는 방식을 선택할 수 있고, 사용자가 사용하기 편한 방법을 입력 방식으로 선택할 수 있다.
Signal Process는 상기 Signal Source에서 선택된 입력 방식에 따라 0/1 또는 좌/우의 값을 판별하여 해당되는 값을 Application으로 전달하는 모듈이다.
새로운 입력 방식을 추가하는 경우에는 Signal Source 모듈과 Signal Process 모듈만을 개발하여 INFONET BCI 기반의 어플리케이션에 탑재하면 새로운 입력 방식을 적용할 수 있다.
Application은 본 발명에서 제안하고자 하는 스마트 키보드로서, 사용자가 선택한 입력방식에 따라 입력을 시작한 후 종료하는 과정을 수행하면 해당되는 단어를 제시하여 디스플레이해주는 모듈이다. Application 모듈을 선택하면, 사용자에게 초성을 제시하는 두개로 분할된 창과, 단어가 나타나는 하나의 결과창이 팝업된다.
이하에서는 주로, 스마트 키보드로서의 역할을 수행하는 Application 모듈의 작동 방법에 대해서 구체적으로 설명한다.
[스마트 키보드의 동작 방법]
실시예는 BCI 시스템을 사용한 한글 입력에 최적화된 스마트 키보드이다. 한글은 초성, 중성, 종성으로 이루어짐에 따라 기존의 키보드와는 다른 단어 생성의 알고리즘이 요구된다.
우선, 초기 데이터로서 최근 가장 사용성이 많은 카카오톡의 채팅 데이터를 일정량 수집하여 문자들의 조건부 확률을 구하여 이를 초기 데이터로 사용한다. 자료의 저장은 트리(tree) 구조인 초성 트리와, 단어들을 저장하는 해시 맵(hash map) 두가지를 사용한다.
각각의 트리에는 초성과 초성의 빈도가 저장될 수 있다. 이전에 입력된 초성들은 부모 노드가 되고, 현재 노드의 child 중에서 초성을 구한다. 상기 child 들은 각각의 빈도가 저장되어 있기 때문에 이 빈도를 사용하여 허프만 트리(Huffman tree)를 구성한다. 허프만 트리는 자주 쓰이는 정보에 더 짧은 코드를 할당하고, 드물게 나타나는 정보에 드는 코드를 늘림으로써 전체적으로 데이터의 크기를 줄이는 압축 알고리즘에 사용된다.
실시예에서 각 초성이 나타날 확률은 다르기 때문에 더 많이 나타나는 초성에 더 짧은 코드를 부여하는 허프만 코드를 적용한다. 표 1은 각 초성의 출현 확률을 표로 나타낸 것이다.
모음 확률
0.150189
0.005622
0.099615
0.04737
0.00622
0.019177
0.070785
0.049951
0.00601
0.076605
0.006834
0.227718
0.115049
0.004051
0.004051
0.013684
0.012129
0.015037
0.053061
상기와 같은 확률을 기반으로 허프만 코드를 생성하는 과정에서 허프만 트리를 생성할 수 있다. 허프만 트리의 리프 노드는 문자와 그 확률을 저장하고 있고, 중간 노드는 자식(child) 노드의 확률을 합한 값을 저장하고 있다.
허프만 트리를 생성하기 위해서 다음과 같은 과정이 수행될 수 있다. 1) 우선 각 초성별로 빈도수를 검출한 후에 빈도수의 내림 차순으로 정렬한 리스트를 생성한다. 2) 그리고 해당 리스트의 가장 마지막 원소 두개를 추출하여 해당 노드들을 각각 child로 가지는 트리 노드를 생성한다. 여기서 트리 노드의 빈도수는 각 child의 빈도수의 합이 된다. 2)에서 생성된 트리 노드를 1)에서 생성된 리스트에 삽입한다. 그리고 상기 리스트를 빈도수의 내림차순으로 정렬한다. 3) 상기 리스트에 하나의 원소가 남을 때까지 2~4회를 반복한다. 여기서, 하나만 남은 리스트는 트리의 root가 된다. 상술한 과정을 통해 허프만 트리가 완성되며, 가장 상단의 트리에서부터 빈도수가 큰 트리에는 0을 작은 트리에는 1을 부여한다.
해시 맵은 키(key)와 값(value)을 묶어서 하나의 데이터로 묶고 이를 매핑해 놓은 것으로서, string에 해당되는 key값을 가지고 해시값을 찾을 수 있다. 실시예에서 해시 맵에 키(key)는 초성에 해당되며, 값(value)은 그 초성에 해당되는 단어와 그 단어의 빈도수의 리스트를 나타낸다. 예를 들어, 키에 해당하는 초성이 ㄴ ㅂ 에 해당되는 경우, 값은 [(나비, 출현빈도), (나방, 출현빈도)….]와 같이 각 단어와 그 단어의 빈도수 리스트로 저장될 수 있다. 이러한 리스트를 저장하고 있으면, 단어 또한 허프만 트리 생성 알고리즘을 동일하게 적용하여 적은 횟수의 선택으로 사용자가 의도한 바의 단어를 결정할 수 있다.
실시예의 스마트 키보드는 초성 값에 따른 단어를 해시 테이블에 저장해 놓고 해시 함수를 이용해 해당되는 단어를 찾는 방법을 적용하였다. 실시예의 스마트 키보드는 초성의 빈도수를 통해 허프만 트리를 생성하고, 해시맵을 통해 해당되는 단어를 찾는 방법을 적용하기 때문에 초성의 최단 입력을 통해 해당되는 단어를 찾을 수 있는 방법이다.
도 2는 실시예의 스마트 키보드에서 사용되는 초성 트리의 예시를 나타낸 도면이다. 도 2를 참조하면, 트리 노드는 초성 트리의 루트(Root)를 나타낸다.
초성 트리는 각 초성의 빈도수를 저장하고 있으며, 각 초성 트리 노드의 부모는 해당 초성 이전에 입력된 초성을 나타낸다. 따라서, 모든 초성 트리 노드의 자식 노드들의 빈도는 초성 트리의 루트부터 현재 노드의 초성까지 입력된 이후의 초성들의 조건부 확률을 나타내는 것이다. 상기 조건부 확률을 사용하여 허프만 트리를 생성하며, 하나의 초성을 입력할 때 이를 사용한다.
실시예는 초성 트리의 루트로부터 따라 내려가는 방식으로 사용자가 다음 초성을 입력하게 한다. 스마트 키보드의 좌측의 창에는 생성된 현재 허프만 트리 노드의 왼쪽 서브트리의 모든 leaf의 초성 값들을 보여주고, 우측 창에는 오른쪽 서브트리의 leaf 의 초성 값들을 보여준다.
사용자가 좌측 창을 선택하면 왼쪽 child로 이동한 후에 각 창의 내용을 새로 고침한다. 우측 창을 선택하면 우측 child로 이동하고 각 창의 내용을 새로 고침한다.
허프만 트리의 leaf에 도착하여 허프만 트리를 이용한 입력이 완료되면 그 값을 입력창에 표시하고, 초성 트리에서 해당 노드로 이동한다. 그리고, 이동한 노드의 자식 노드들의 조건부 확률을 이용하여 다시 허프만 트리를 생성하는 과정을 반복하여 초성의 입력 과정을 수행한다.
그리고, 모든 초성의 입력 과정이 완료되어 스페이스 또는 마침표를 선택하게 되면 단어를 위한 초성의 배열이 모두 입력된 것이라 판단하고, 단어 입력 모드로 전환한다.
단어를 저장하는 해시맵(hash map)의 key는 초성의 배열을 나타내고, 나타내진 값은 그 초성으로 이루어진 단어들과, 상기 각 단어의 빈도수 리스트를 나타낸다. 이전에 입력한 초성의 배열을 key로 하는 값을 찾은 후에 그에 해당하는 단어들과 빈도수를 도출할 수 있다.
그리고, 이 빈도수를 이용하여 단어들의 허프만 트리를 생성하고, 초성을 선택할 때와 같은 방식으로 진행한다. 단어가 선택되면, 다시 초성을 입력하는 단계로 이동하는 과정을 통해 단어 입력을 수행하게 된다.
도 3은 실시예의 스마트 키보드를 사용한 입력 방법을 나타낸 흐름도이다. 도 2를 참조하여 스마트 키보드의 입력 방법을 더욱 구체적으로 설명한다.
우선, 어플리케이션을 실행하여 스마트 키보드에 해당되는 모듈을 선택하는 과정(S1)을 수행한다. 초성 트리와 초성 맵을 읽는 과정(S2)을 수행한 후에 노드의 child에 저장된 빈도를 사용하여 허프만 트리를 구성하는 과정(S3)을 수행한다.
S3에서 구성된 허프만 트리에 따라 두개로 분할된 창에는 초성이 허프만 트리에 따라 제시된다. 사용자가 두개의 창 중에서 하나의 창을 선택하면 해당되는 child로 이동하는 과정(S4)를 수행한다.
이어서, 선택된 값이 리프(leaf)인지를 판단하는 과정(S5)을 수행하고, 리프(leaf)가 아닌 경우에는 S4 이하의 과정을 다시 수행한다. 리프(leaf)라고 판단된 경우에는 초성인지의 여부를 판단하는 과정(S6)을 수행한다. 초성으로 판단된 경우에는 초성 트리의 노드로 이동하는 과정(S7)을 수행하고 S3 이하의 과정을 다시 수행한다. 초성이 아닌 경우로 판단된 경우에는 마침표 또는 스페이스가 입력되었는지에 대해 판단하는 과정(S8)을 수행한다.
마침표 또는 스페이스가 입력된 경우에는 Key로서 이전 초성 배열의 단어 리스트를 획득하는 과정(S9)을 수행한 후에, 상기 단어 리스트를 통해 허프만 트리를 구성하는 과정(S10)을 수행한 뒤에 S4 이하의 과정을 다시 수행한다.
마침표 또는 스페이스가 입력되지 않은 경우에는 초성 트리의 마지막 값인지에대한 여부를 판단하는 과정(S11)을 수행하고,초성트리의 마지막 값으로 판단되면 키보드의 입력을 종료한다. 초성 트리의 마지막 값이 아닌 경우에는 리턴된 스트링에 단어를 추가하는 과정(S12)을 수행한 뒤에, 초성 트리 노드로 이동하는 과정(S13)을 수행하고 S3 이하의 과정을 다시 수행한다.
실시예에 따른 BCI 시스템에 사용되는 스마트 키보드를 사용한 입력 방법은 상술한 바와 같이 출현 빈도수가 높은 문자(초성)와 단어에 대해서는 생성되는허프만 코드의 부호가 짧게 형성되기 때문에 사용자가 입력하고자하는 단어를 최단 입력을 통해 제시해 주는 장점이 있다.
또한, 사용자가 선택한 단어의 빈도수를 계속적으로 증가시키기 때문에 개별적인 사용자에 대해 INFONET BCI 서버에는 서로 다른 확률값이 업데이트되어 저장될 수 있다. 따라서, BCI 시스템을 사용하는 사용자에게 개인화되기 때문에 사용할수록 입력 횟수가 더욱 단축되는 키보드로의 역할을 수행할 수 있다.
그리고 실시예는, 한글 입력에 최적화된 알고리즘으로 제작되기 때문에 영어를 사용하기 어려웠던 국내사용자의 접근성이 더욱 향상될 수 있다.
이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. BCI 시스템과 연동되며 안드로이드를 기반으로 하는 스마트폰에서 실행되는 스마트 키보드로서,
    실제 사용 데이터에 나타난 초성의 사용 빈도에 근거하여 생성된 허프만 트리에서 현재 노드의 좌측에 있는 모든 리프(leaf)의 값과 우측에 있는 모든 리프(leaf)의 값이 각각 제시되는 두개의 분할된 창과, 단어가 디스플레이되는 하나의 창으로 이루어진 모듈로 형성되며,
    상기 두개의 분할된 창에는 상기 허프만 트리의 초성의 빈도에 따라 복수개의 초성이 제시되고, 사용자가 설정한 입력 방식에 따라 두개의 창 중에서 하나를 선택하는 방식을 사용하며,
    초성의 배열과 해당 초성으로 만들 수 있는 단어는 해시맵(hash map)으로 저장되며, 선택된 단어의 빈도수를 이용하여 이에 대한 허프만 트리를 재생성함으로써 사용자의 의도에 부합되는 단어를 디스플레이하는 BCI 시스템에 사용되는 스마트 키보드.
  2. 제 1항에 있어서,
    사용자는 상기 허프만 트리의 루트로부터 따라 내려가는 방식으로 다음 단어를 입력하며, 좌측 창에는 현재 허프만 트리 노드의 왼쪽 서브트리의 모든 리프(leaf) 값을 보여주고, 우측 창에는 오른쪽 서브트리의 leaf 값들을 제시하는 BCI 시스템에 사용되는 스마트 키보드.
  3. 제 1항에 있어서,
    사용자가 좌측 창을 선택하면 왼쪽 child로 이동한 후에 각 창의 내용을 새로 고침하고, 우측 창을 선택하면 우측 서브트리로 이동하고 각 창의 내용을 새로 고침하는 것을 특징으로 하는 BCI 시스템에 사용되는 스마트 키보드.
  4. 제 1항에 있어서,
    허프만 트리의 리프(leaf)에 도착하면 그 값을 입력창에 표시하고, 초성 트리에서 해당 노드로 이동하거나 단어입력을 시작하는 것을 특징으로 하는 BCI 시스템에 사용되는 스마트 키보드.
  5. 제 1항에 있어서,
    스페이스 또는 마침표를 선택하게 되면 단어를 위한 초성의 배열이 모두 입력된 것이라 판단하고 단어 입력 모드로 전환하는 것을 특징으로 하는 BCI 시스템에 사용되는 스마트 키보드.
  6. 제 1항에 있어서,
    이전에 입력한 초성의 배열을 key로 하는 상기 해시맵의 값(value)을 찾은 후에, 상기 해시맵의 값에 저장된 단어들과 빈도수를 불러온 후에 이를 적용하여 허프만 트리를 재생성하는 것을 특징으로 하는 BCI 시스템에 사용되는 스마트 키보드.
  7. 제 1항에 있어서,
    사용자에 의해 선택된 초성의 빈도를 1만큼 증가시켜 상기 허프만 트리의 초성 사용 빈도를 업데이트 하여 허프만 트리를 실제 사용 데이터를 반영하여 재구성 하는 것을 특징으로 하는
    BCI 시스템에 사용되는 스마트 키보드.
KR1020170081462A 2017-06-27 2017-06-27 Bci 시스템에 사용되는 스마트 키보드 및 이의 입력 방법 KR101959049B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170081462A KR101959049B1 (ko) 2017-06-27 2017-06-27 Bci 시스템에 사용되는 스마트 키보드 및 이의 입력 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170081462A KR101959049B1 (ko) 2017-06-27 2017-06-27 Bci 시스템에 사용되는 스마트 키보드 및 이의 입력 방법

Publications (2)

Publication Number Publication Date
KR20190001454A KR20190001454A (ko) 2019-01-04
KR101959049B1 true KR101959049B1 (ko) 2019-03-18

Family

ID=65017852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170081462A KR101959049B1 (ko) 2017-06-27 2017-06-27 Bci 시스템에 사용되는 스마트 키보드 및 이의 입력 방법

Country Status (1)

Country Link
KR (1) KR101959049B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075113A (ko) * 2006-01-12 2007-07-18 주식회사 케이티프리텔 이동통신단말에서의 초성자음을 이용한 문자 입력장치 및방법과 이를 위한 이동통신단말
EP2511834A1 (en) * 2011-04-11 2012-10-17 Alcatel Lucent Method of encoding a data identifier

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
최승윤 외 4명, 안드로이드 모바일 기기들을 위한 뇌-컴퓨터 인터페이스 문자 입력기 어플리케이션, 2016년도 동계종합학술발표회, 한국통신학회, 2016.01.20. pp647-648*

Also Published As

Publication number Publication date
KR20190001454A (ko) 2019-01-04

Similar Documents

Publication Publication Date Title
Taves et al. Experience as event: event cognition and the study of (religious) experiences
Ziemkiewicz et al. How locus of control influences compatibility with visualization style
Vernon et al. An evidence-based review of creative problem solving tools: A practitioner’s resource
Dunne et al. Information and uncertainty in remote perception research
Akram et al. A P300-based brain computer interface system for words typing
Muskens et al. Never too old to use a tablet: designing tablet applications for the cognitively and physically impaired elderly
Beer The problem of researching a recursive society: Algorithms, data coils and the looping of the social
Puerto Cuadros et al. Learning algorithm for the recursive pattern recognition model
KR101959049B1 (ko) Bci 시스템에 사용되는 스마트 키보드 및 이의 입력 방법
Stoycheva et al. Exploring laterality and memory effects in the haptic discrimination of verbal and non-verbal shapes
Loizidou et al. Extending brain-computer interface access with a multilingual language model in the P300 speller
Brier Peircean cosmogony's symbolic agapistic self-organization as an example of the influence of eastern philosophy on western thinking
Cha et al. Finding critical features for predicting quality of life in tablet-based serious games for dementia
KR101238985B1 (ko) 시나리오 유사관계 분석 시스템
Robertson et al. Graphing the Self: An application of graph theory to memetic self-mapping in psychotherapy
Kriz Cognitive and interactive patterning: Processes of creating meaning
Marks-Tarlow Fractal geometry as a bridge between realms
Ward Sell The war on terroir: biology as (unstable) space in Jeff VanderMeer's Southern Reach trilogy
Cernea User-Centered Collaborative Visualization
Leung et al. Text entry via character stroke disambiguation for an adolescent with severe motor impairment and cortical visual impairment
Zelchenko et al. A foolish consistency? Aligning interface objects hinders location recall and may induce collinear errors
Dinakar Lensing Machines: representing perspective in machine learning
Padilioni The Cybernetics of Hoodoo Divination: Analog-Digital Technologies of the Self and Conversions of the Soul
Tresch Cosmopragmatics and petabytes
Zamani et al. Interactive genetic algorithm-aided generation of carpet pattern

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
GRNT Written decision to grant