KR102494917B1 - 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체 - Google Patents

자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR102494917B1
KR102494917B1 KR1020160029086A KR20160029086A KR102494917B1 KR 102494917 B1 KR102494917 B1 KR 102494917B1 KR 1020160029086 A KR1020160029086 A KR 1020160029086A KR 20160029086 A KR20160029086 A KR 20160029086A KR 102494917 B1 KR102494917 B1 KR 102494917B1
Authority
KR
South Korea
Prior art keywords
consonants
code system
keyword
neutral
code
Prior art date
Application number
KR1020160029086A
Other languages
English (en)
Other versions
KR20170105871A (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 KR1020160029086A priority Critical patent/KR102494917B1/ko
Publication of KR20170105871A publication Critical patent/KR20170105871A/ko
Application granted granted Critical
Publication of KR102494917B1 publication Critical patent/KR102494917B1/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding

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)
  • Document Processing Apparatus (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)

Abstract

자동 완성 키워드 제공 방법이 개시된다. 본 방법은 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하는 단계, 사용자의 단말 장치에서 문자가 입력되면, 저장된 복수의 키워드 중 입력된 문자를 포함하는 키워드를 검출하는 단계 및 검출된 키워드로 이루어진 키워드 리스트를 생성하는 단계;를 포함한다. 여기서, 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계이다.

Description

자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체{SERVER, METHOD, USER TERMINAL APPARATUS, PROGRAM, AND COMPUTER READABLE RECORDING MEDIUM FOR PROVIDING AUTOMATICALLY COMPLETED KEYWORD AND APPARATUS, METHOD, PROGRAM, AND COMPUTER READABLE RECORDING MEDIUM FOR CONVERTING CHARACTER CODE SYSTEM}
본 발명은 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
일반적으로 검색 서비스를 제공하는 검색 웹사이트는 사용자로부터 키워드가 입력되면 상기 키워드에 대응하는 검색 결과를 각 카테고리별로 검색(예컨대, 상기 키워드를 포함하는 뉴스, 상기 키워드를 포함하는 웹 사이트, 상기 키워드를 포함하는 블로그나 카페, 상기 키워드를 포함하는 쇼핑 정보 등)하여 사용자에게 제공한다.
현재 검색 서비스는 사용자의 편의를 극대화하는 방향으로 점차적으로 개선되어 가고 있으며, 이러한 개선 방향의 큰 줄기는 사용자가 적절한 키워드를 입력할 시에 만족할만한 검색 결과를 제공하는 것은 물론이거니와 사용자가 적절한 키워드를 입력할 수 있도록 지원해줄 수 있어야 한다. 특히, 검색 서비스의 이용자층이 확대되면서 적절한 키워드에 대한 충분한 배경 지식이 없는 사용자가 늘어남에 따라 사용자에게 적절한 키워드를 추천할 필요성이 제기된다.
따라서, 검색 서비스를 제공하는 대부분의 검색 웹사이트는 키워드의 자동 완성 기능을 제공한다. 자동 완성 기능이란 사용자들이 입력하는 키워드의 로그(log)를 다양한 기준에 따라 구분하고 사용자의 웹브라우저로부터 수신되는 사용자 입력 사항 등에 기초하여 사용자가 입력 중인 키워드를 자동으로 완성할 수 있는 기능을 의미한다.
일 예로서, 도 1에 도시된 종래 기술에 의해 구현된 예시적인 키워드 자동 완성 기능을 참조하면, 사용자로부터 "네이"가 입력되면, 상기 사용자 입력 사항을 포함하는 키워드들 중에서 사용자가 입력할 만한 적절한 키워드를 자동으로 완성하여, 예컨대 "네이트", "네이트온", "네이트닷컴" 등을 사용자에게 제공하고, 사용자는 키워드들 중 자신이 입력할 키워드를 클릭함으로써, 키워드를 전부 직접 입력하지 않아도 원하는 키워드를 검색할 수 있게 되었다.
한편, 최근에는 우수한 IT 기술을 바탕으로 한 최첨단 스마트폰이 개발 및 보급되어 1 인 1 스마트폰 시대로 진입하고 있다.
다만, 상술한 종래의 키워드 자동 완성 기능은, 컴퓨터 키보드 입력을 통하여 문자가 입력된 경우에만 적합한 자동 완성 키워드 리스트를 제공하였을 뿐, 스마트폰 키보드 입력을 통하여 문자가 입력된 경우에는 사용자의 의도와는 다른 자동 완성 키워드 리스트를 제공하여 사용자의 불편함을 초래하였다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 복수의 키워드 각각을 특정 코드 체계를 기초로 인코딩하여 저장하고, 저장된 복수의 키워드 중 사용자 단말 장치에서 입력된 문자를 포함하는 키워드를 검출하여 키워드 리스트를 생성하는 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
또한, 본 발명의 다른 목적은 기 정의된 코드 체계를 기초로 인코딩된 문자를 특정 코드 체계로 변환하는 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 자동 완성 키워드 제공 방법은, 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하는 단계, 사용자의 단말 장치에서 문자가 입력되면, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하는 단계 및 상기 검출된 키워드로 이루어진 키워드 리스트를 생성하는 단계를 포함하고, 상기 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다.
그리고, 상기 특정 코드 체계는, 상기 한글의 초성, 중성 및 종성 각각이 한 바이트 내에서 정의되도록 코드 값을 할당할 수 있다.
또한, 상기 저장하는 단계는, 기 정의된 코드 체계를 기초로 인코딩되어 저장된 복수의 키워드 각각을 상기 특정 코드 체계로 변환하는 단계 및 상기 변환에 따른 특정 코드 체계를 기초로 복수의 키워드 각각을 인코딩하여 저장하는 단계를 포함할 수 있다.
그리고, 상기 변환하는 단계는, 상기 기 정의된 코드 체계를 기초로 인코딩된 복수의 키워드 각각을 디코딩하여, 키워드를 음절 별로 분리하는 단계, 상기 분리된 음절 각각을 초성, 중성 및 종성으로 분리하는 단계 및 상기 분리된 초성, 중성 및 종성 각각에 상기 특정 코드 체계에 기초한 코드 값 테이블을 기초로 코드 값을 할당하는 단계를 포함할 수 있다.
또한, 상기 기 정의된 코드 체계는, 유니코드, 한글 조합형 코드 및 한글 완성형 코드 중 적어도 하나를 포함할 수 있다.
그리고, 상기 특정 코드 체계는, 상기 키워드 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당할 수 있다.
또한, 상기 특정 코드 체계는, 상기 키워드 음절의 종성이 겹자음으로 구성된 경우, 상기 겹자음을 구성하는 첫 번째 자음 및 두 번째 자음 순서로 각각에 기 설정된 코드 값을 할당할 수 있다.
그리고, 상기 사용자의 단말 장치에서 입력된 문자의 코드 체계가 상기 특정 코드 체계가 아닌 경우, 상기 입력된 문자의 코드 체계를 상기 특정 코드 체계로 변환하는 단계를 더 포함할 수 있다.
또한, 상기 검출하는 단계는, 상기 사용자의 단말 장치에서 입력된 문자에 오탈자인 공백이 포함되는 경우, 상기 입력된 문자에서 상기 공백을 제거하고, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 문자 코드 체계 변환 방법은, 기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여, 문자를 음절 별로 분리하는 단계, 상기 분리된 음절 각각을 초성, 중성 및 종성으로 분리하는 단계 및 상기 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당하는 단계를 포함하고, 상기 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다.
그리고, 상기 특정 코드 체계는, 상기 한글의 초성, 중성 및 종성 각각이 한 바이트 내에서 정의되도록 코드 값을 할당할 수 있다.
또한, 상기 기 정의된 코드 체계는, 유니코드, 한글 조합형 코드 및 한글 완성형 코드 중 적어도 하나를 포함할 수 있다.
그리고, 상기 할당하는 단계는, 상기 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당할 수 있다.
또한, 상기 할당하는 단계는, 상기 음절의 종성이 겹자음으로 구성된 경우, 상기 겹자음을 구성하는 첫 번째 자음 및 두 번째 자음 순서로 각각에 기 설정된 코드 값을 할당할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 자동 완성 키워드 제공 서버는, 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하는 저장부, 사용자의 단말 장치에서 문자가 입력되면, 입력된 문자에 대응되는 데이터를 수신하는 통신부 및 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하고, 상기 검출된 키워드로 이루어진 키워드 리스트를 생성하는 키워드 생성부를 포함하고, 상기 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 사용자 단말 장치는, 화면을 표시하는 디스플레이부, 사용자의 문자 입력을 수신하는 입력부, 상기 입력부를 통하여 문자가 입력되면, 입력된 문자에 대응되는 데이터를 자동 완성 키워드 제공 서버에 전송하는 통신부 및 상기 전송에 따라 상기 자동 완성 키워드 제공 서버로부터 키워드 리스트가 수신되면, 상기 수신된 키워드 리스트를 표시하도록 상기 디스플레이부를 제어하는 제어부를 포함하고, 상기 자동 완성 키워드 제공 서버는, 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하고, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하고, 상기 검출된 키워드로 이루어진 키워드 리스트를 생성하며, 상기 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 사용자 단말 장치는 화면을 표시하는 디스플레이부, 사용자의 문자 입력을 수신하는 입력부, 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하는 저장부, 상기 입력부를 통하여 문자가 입력되면, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하고, 상기 검출된 키워드로 이루어진 키워드 리스트를 생성하는 키워드 생성부 및 상기 생성된 키워드 리스트를 표시하도록 상기 디스플레이부를 제어하는 제어부를 포함하고, 상기 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 문자 코드 체계 변환 장치는 기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여, 문자를 음절 별로 분리하고, 상기 분리된 음절 각각을 초성, 중성 및 종성으로 분리하는 분리부 및 상기 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당하는 할당부를 포함하고, 상기 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 프로그램은 컴퓨터 판독 가능한 기록 매체에 저장되어 자동 완성 키워드 제공 방법을 실행시킬 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 프로그램은 컴퓨터 판독 가능한 기록 매체에 저장되어 문자 코드 체계 변환 방법을 실행시킬 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 컴퓨터 판독 가능한 기록 매체는 자동 완성 키워드 제공 방법을 실행시키기 위한 프로그램을 기록할 수 있다.
한편, 상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 컴퓨터 판독 가능한 기록 매체는 문자 코드 체계 변환 방법을 실행시키기 위한 프로그램을 기록할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 스마트폰의 문자 입력에 특화된 특정 코드 체계를 기초로 복수의 키워드를 인코딩하여 저장함으로써, 스마트폰을 통하여 검색어를 입력한 사용자들에게 좀 더 정확한 자동 완성 키워드 리스트를 제공할 수 있다. 이에 따라, 스마트폰을 통한 검색의 품질을 높일 수 있다.
일 예로, 현재 주요 포털(Naver, Daum) 등에서 지원하지 않는 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 검색을 지원함으로써 사용자에게 보다 적합한 자동완성 단어 리스트를 제공해줄 수 있다.
또한, 사용자 단말 장치로부터 기 정의된 코드 체계를 기초로 인코딩된 문자를 수신하는 경우, 스마트폰의 문자 입력에 특화된 특정 코드 체계로 변환하여 검색함으로써, 스마트폰 이외의 다른 장치를 통하여 검색어를 입력한 사용자들에게도 정확한 자동 완성 리스트를 제공할 수 있다.
또한, 스마트 폰을 통한 문자 입력시 오류가 발생한 경우에도, 자동 완성 키워드 리스트를 제공할 확률을 높임으로써 사용자에게 좀 더 나은 검색 서비스를 제공해줄 수 있다.
도 1은 종래 기술에 의해 구현된 예시적인 키워드 자동 완성 기능을 나타내는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 문자 코드 체계 변환 장치를 나타내는 블록도이다.
도 3은 유니 코드 체계의 한글 소리 마디에서 초성 값, 중성 값 및 종성 값을 나타내는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 특정 코드 체계의 코드 값 테이블을 나타내는 도면이다.
도 5는 본 발명의 일 실시 예에 따른 문자 코드 체계 변환 방법을 나타내는 흐름도이다.
도 6은 본 발명의 일 실시 예에 따른 자동 완성 키워드 제공 시스템을 나타내는 블록도이다.
도 7은 본 발명의 일 실시 예에 따른 자동 완성 키워드 제공 서버를 나타내는 블록도이다.
도 8은 종래의 방법에 따른 키워드 리스트 및 본 발명의 일 실시 예에 따른 키워드 리스트가 화면에 표시된 예를 나타내는 도면이다.
도 9는 도 6에 따른 시스템의 자동 완성 키워드 제공 방법을 나타내는 타이밍도이다.
도 10은 본 발명의 다른 실시 예에 따른 사용자 단말 장치를 나타내는 블록도이다.
도 11은 본 발명의 다른 실시 예에 따른 자동 완성 키워드 제공 방법을 나타내는 흐름도이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시 예들 뿐만 아니라 특정 실시 예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시 예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 문자 코드 체계 변환 장치를 나타내는 블록도 이다. 도 2를 참조하면, 문자 코드 체계 변환 장치(10)는 분리부(11), 할당부(12)를 포함할 수 있다.
분리부(11)는 기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여, 문자를 음절 별로 분리하고, 분리된 음절 각각을 초성, 중성 및 종성으로 분리할 수 있다. 여기서, 기 정의된 코드 체계는 유니코드, 한글 조합형 코드 및 한글 완성형 코드 중 적어도 하나를 포함할 수 있다.
유니코드는 전 세계적으로 사용하는 모든 문자 집합을 하나로 모은 것이다. 이러한 유니코드의 인코딩 방식으로는 코드 포인트를 코드화한 UCS-2와 UCS-4, 변환 인코딩 형식(UTF, UCS Transformation Format)인 UTF-7, UTF-8, UTF-16, UTF-32 인코딩 등이 있다. 이 중 ASCII와 호환이 가능하면서 유니코드를 표현할 수 있는 UTF-8 인코딩이 가장 많이 사용되고 있다.
또한, 한글 조합형 코드는 한글 창제의 원리인 초성, 중성, 종성에 코드값을 지정한 것으로, 이러한 한글 조합형 코드에서 영문 및 숫자는 한글자 당 1 바이트, 한글과 한자는 한글자 당 2바이트로 정의가 가능하다.
또한, 한글 완성형 코드는 자주 사용하는 문자를 만들어 놓고 코드 값을 지정하는 방식으로, 이러한 한글 완성형 코드에서 영문과 숫자는 한글자 당 1바이트, 한글과 한자는 한글자당 2바이트로 정의가 가능하다.
이러한, 분리부(11)의 일 예시에 대해서는 도 3을 참조하여 보다 구체적으로 설명하기로 한다.
도 3은 유니 코드 체계의 한글 소리 마디에서 초성 값, 중성 값 및 종성 값을 나타내는 도면이다. 이러한 유니코드에서 한글 음절의 코드 포인트 값은 시작 값인 U+AC00에 ((초성 값 x 21) + 중성 값) x 28 + 종성 값을 더하면 된다.
예를 들어, '한'이라는 글자는 'ㅎ', 'ㅏ', 'ㄴ'으로 구성되어 있으며, 도 3을 참조하면 각각 18, 0, 4 값을 가지고 있으므로, '한'의 코드 포인트 값은 U+AC00 + ((18 x 21) + 0) x 28 + 4 = U+AC00 + U+295C = U+D55C가 된다. 이를 역으로 생각해 보면, 한글 음절에 대해 초성, 중성, 종성의 분리가 가능하다. 즉, 한글 음절의 코드 포인트 값에서 U+AC00을 뺀 값을 ①이라 한다면, ①의 값을 (21 x 28)로 나눈 몫은 초성, ①의 값을 (21 x 28)로 나눈 나머지를 28로 나눈 몫은 중성, ①의 값을 28로 나눈 나머지는 종성일 수 있다.
이러한 예시와 같이, 분리부(11)는 기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여 문자를 음절 별로 분리하고, 분리된 음절 각각을 초성, 중성 및 종성으로 분리할 수 있다.
한편, 할당부(12)는 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당할 수 있다. 또한, 할당부(12)는 할당된 코드 값을 기초로 부호화를 수행하는 인코딩 처리를 수행할 수 있다. 이 경우, 할당부(12)는 도 4와 같은 코드값 테이블을 기초로 분리부(11)에서 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당할 수 있다.
여기서 특정 코드 체계는 스마트폰의 문자 입력에 특화된 코드 체계일 수 있다. 이러한 특정 코드 체계의 일 예에 대해서는 도 4를 참조하여 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 일 실시 예에 따른 특정 코드 체계의 코드 값 테이블을 나타내는 도면 이다. 도 4를 참조하면, 특정 코드 체계는 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당할 수 있다.
구체적으로, 특정 코드 체계는 한글의 초성 및 종성을 구성하는 자음, 쌍자음 및 겹자음들 각각에 서로 다른 코드 값을 할당할 수 있다.
또한, 특정 코드 체계는 중성을 천(ㆍ), 지(ㅡ) 및 인(ㅣ)만으로 정의하여, 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 서로 다른 코드 값을 할당할 수 있다. 이에 따라, 중성은 모음의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 할당된 적어도 하나 이상의 기 설정된 코드 값이 할당될 수 있다. 일 예로, 중성이 'ㅏ'인 경우, 'ㅏ'는 'ㅣ' 및 'ㆍ'로 구성되기 때문에, 순서대로 'ㅣ' 및 'ㆍ'의 코드 값 247, 249가 할당될 수 있다. 다른 예로, 중성이 'ㅝ'인 경우, 'ㅝ'는 'ㅜ' 및 'ㅓ'로 구성되고, 'ㅜ'는 'ㅡ' 및 'ㆍ'로 구성되고, 'ㅓ'는 'ㆍ' 및 'ㅣ'로 구성되기 때문에, 순서대로 'ㅡ', 'ㆍ', 'ㆍ', 및 'ㅣ'의 코드 값 248, 249, 249, 247이 할당될 수 있다.
이러한 특정 코드 체계의 코드 값은 초성, 중성 및 종성 각각이 한 바이트 내에서 정의되도록 하는 값이 할당될 수 있다. 일 예로, 특정 코드 체계의 코드 값은 0 ~ 255 범위 내에서 할당될 수 있다.
한편, 할당부(12)는 상술한 특정 코드 체계를 기초로 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당할 수 있다. 일 예로, '한'이라는 글자는 'ㅎ', 'ㅏ', 'ㄴ'으로 구성되고, 모음 'ㅏ'는 'ㅣ' 및 'ㆍ'로 구성되기 때문에, 할당부(12)는 순서대로 'ㅎ'에는 코드 값 232를 할당하고, 'ㅏ'에는 'ㅣ' 및 'ㆍ'의 코드 값 247, 249를 할당하며, 'ㄴ'에는 코드 값 234를 할당할 수 있다.
한편, 음절의 초성이 쌍자음으로 구성되는 경우, 할당부(12)는 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당할 수 있다. 일 예로, 음절의 초성이 'ㅆ'으로 구성되는 경우, 할당부(12)는 'ㅆ'을 구성하는 자음 'ㅅ' 의 코드 값 225를 할당하고, 이 후 'ㅆ'의 코드 값 253을 할당할 수 있다. 이 경우, 'ㅆ'에는 순서대로 225, 253의 코드 값이 할당될 수 있다.
또한, 음절의 종성이 겹자음으로 구성된 경우, 할당부(12)는 겹자음을 구성하는 첫 번째 자음 및 두 번째 자음 순서로 각각에 기 설정된 코드 값을 할당할 수 있다. 일 예로, 음절의 종성이 'ㄺ'으로 구성되는 경우, 할당부(12)는 'ㄺ'을 구성하는 자음 'ㄹ' 의 코드 값 236을 할당하고, 이 후 'ㄱ'의 코드 값 233을 할당할 수 있다. 이 경우, 'ㄺ'에는 순서대로 236, 233의 코드 값이 할당될 수 있다.
한편, 도 5는 본 발명의 일 실시 예에 따른 문자 코드 체계 변환 방법을 나타내는 흐름도 이다. 도 5를 참조하면, 먼저 문자 코드 체계 변환 장치(10)는 기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여, 문자를 음절 별로 분리할 수 있다(S101). 여기서, 기 정의된 코드 체계는 유니코드, 한글 조합형 코드 및 한글 완성형 코드 중 적어도 하나를 포함할 수 있다.
그리고, 문자 코드 체계 변환 장치(10)는 분리된 음절 각각을 초성, 중성 및 종성으로 분리할 수 있다(S102).
그리고, 문자 코드 체계 변환 장치(10)는 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당할 수 있다(S103). 여기서, 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 할당된 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다. 이 경우, 한글의 초성, 중성 및 종성 각각이 한 바이트 내에서 정의되도록 코드 값이 할당될 수 있다.
한편, 상술한 문자 코드 체계 변환 방법은, 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당할 수 있다.
또한, 상술한 문자 코드 체계 변환 방법은, 음절의 종성이 겹자음으로 구성된 경우, 겹자음을 구성하는 첫 번째 자음 및 두 번째 자음 순서로 각각에 기 설정된 코드 값을 할당할 수 있다.
한편, 이러한 문자 코드 체계 변환 장치(10)는 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 구현될 수 있다. 일 예로, 하드웨어적인 구현에 의하면, ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다.
그리고, 문자 코드 체계 변환 장치(10)는 이후에서 설명할 사용자 단말 장치(100), 자동 완성 키워드 제공 서버(200)에 일 모듈로 설치될 수 있다. 이 경우, 문자 코드 체계 변환 장치(10)는 사용자 단말 장치(100)에서 입력된 문자의 코드 체계를 기 정의된 코드 체계에서 상술한 특정 코드 체계로 변환하는 동작을 수행하거나, 사용자 단말 장치(100) 및/또는 자동 완성 키워드 제공 서버(200)에 저장된 기 정의된 코드 체계의 키워드를 상술한 특정 코드 체계의 키워드로 변환하는 동작을 수행할 수 있다.
이러한 사용자 단말 장치(100), 자동 완성 키워드 제공 서버(200)에 대해서는 이 후 도면을 참조하여 보다 구체적으로 설명하기로 한다.
도 6은 본 발명의 일 실시 예에 따른 자동 완성 키워드 제공 시스템을 나타내는 블록도이다. 도 6을 참조하면, 자동 완성 키워드 제공 시스템(1000)은 사용자 단말 장치(100), 자동 완성 키워드 제공 서버(200)를 포함할 수 있다. 사용자 단말 장치(100)와 자동 완성 키워드 제공 서버(200)는 유/무선 통신망(300)을 통하여 서로 연결될 수 있다.
사용자 단말 장치(100)는 사용자로부터 문자 입력을 수신할 수 있는 장치, 예를 들어, 스마트폰, 태블릿 컴퓨터, 노트북 컴퓨터, PDA(personal digital assistant), PMP(portable multimedia player), 내비게이션 장치(navigation device), 웨어러블 디바이스(wearable device) 등으로 구현될 수 있고, 웨어러블 디바이스는 사용자의 몸에 착용 가능한 스마트 글래스, 스마트 워치로 구현될 수 있다.
여기서, 사용자 단말 장치(100)를 통하여 입력된 문자의 코드 체계는 다양하게 구현될 수 있다. 일 예로, 사용자 단말 장치(100)를 통하여 입력된 문자의 코드 체계는 유니코드, 한글 조합형 코드, 한글 완성형 코드 등과 같은 기 정의된 코드 체계일 수 있다. 다른 예로, 사용자 단말 장치(100)를 통하여 입력된 문자의 코드 체계는 상술한 특정 코드 체계일 수 있다.
한편, 자동 완성 키워드 제공 서버(200)는 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장할 수 있다. 여기서, 특정 코드 체계는, 한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고, 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계일 수 있다.
그리고, 자동 완성 키워드 제공 서버(200)는, 사용자의 단말 장치(100)에서 문자가 입력되면, 저장된 복수의 키워드 중 입력된 문자를 포함하는 키워드를 검출할 수 있다. 그리고, 자동 완성 키워드 제공 서버(200)는 검출된 키워드로 이루어진 키워드 리스트를 생성하고, 생성된 키워드 리스트를 사용자 단말 장치(100)에 제공할 수 있다.
이에 따라, 사용자 단말 장치(100)는 입력된 문자에 대응되는 키워드 리스트를 화면에 표시할 수 있다.
이러한 자동 완성 키워드 제공 서버(200)에 대해서는 도 7을 참조하여 보다 구체적으로 설명하기로 한다.
도 7은 본 발명의 일 실시 예에 따른 자동 완성 키워드 제공 서버를 나타내는 블록도 이다. 도 7을 참조하면, 자동 완성 키워드 제공 서버(200)는 통신부(210), 저장부(220), 문자 코드 체계 변환부(230), 키워드 생성부(240), 제어부(250)의 전부 또는 일부를 포함할 수 있다.
통신부(210)는 자동 완성 키워드 제공 서버(200)의 통신 기능을 제공할 수 있다. 구체적으로 자동 완성 키워드 제공 서버(200)는 통신부(210)를 통하여 사용자 단말 장치(100)와 통신을 수행할 수 있다.
일 예로, 사용자 단말 장치(100)에서 사용자로부터 문자가 입력되면, 통신부(210)는 입력된 문자에 대응되는 데이터를 수신할 수 있다. 또한, 통신부(210)는 생성된 키워드 리스트를 사용자 단말 장치(100)에 전송할 수 있다.
여기서, 통신부(210)는 근거리 통신망(LAN : Local Area Network) 및 인터넷망을 통해 무선 또는 유선방식으로 접속되는 형태, USB(Universal Serial Bus)포트를 통하여 접속되는 형태, 3G, 4G와 같은 이동 통신망을 통해 접속되는 형태, NFC(Near Field Communication, RFID(Radio Frequency Identification), Wi-Fi등과 같은 근거리 무선 통신방식을 통해 접속되는 형태 등과 같이 다양한 통신 방식을 이용하여 구현될 수 있다.
저장부(220)는 자동 완성 키워드 제공 서버(200)의 동작에 필요한 다양한 데이터 및 어플리케이션을 저장하는 기능을 한다. 특히, 저장부(220)는 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장할 수 있다.
여기서 저장부(220)는 RAM(Random Access Memory), 플레시메모리, ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable and Programmable ROM), 레지스터, 하드디스크, 리무버블 디스크, 메모리 카드 등과 같은 내장된 형태의 저장소자는 물론, USB 메모리 등과 같은 착탈 가능한 형태의 저장소자로 구현될 수도 있다.
이러한 저장부(220)는 자동 완성 키워드 제공 서버(200) 내에 구현될 수 있고, 또는 자동 완성 키워드 제공 서버(200)와 연결된 외부 데이터 베이스(DB)형태로 구현될 수 있다.
문자 코드 체계 변환부(230)는 상술한 도 2에 기재된 문자 코드 체계 변환 장치(10)의 기능을 수행할 수 있다. 구체적으로, 문자 코드 체계 변환부(230)는 기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여 문자를 음절 별로 분리하고, 분리된 음절 각각을 초성, 중성 및 종성으로 분리하며, 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당할 수 있다. 그리고, 문자 코드 체계 변환부(230)는 초성, 중성 및 종성 각각에 할당된 코드 값을 기초로 부호화를 수행하는 인코딩 처리를 수행할 수 있다.
일 예로, 복수의 키워드들이 기 정의된 코드 체계를 기초로 인코딩되어 저장부(220)에 저장되어 있는 경우, 문자 코드 체계 변환부(230)는 저장부(220)에 저장된 복수의 키워드들 각각의 코드 체계를 기 정의된 코드 체계에서 특정 코드 체계로 변환하고, 특정 코드 체계를 기초로 인코딩하여 저장부(220)에 저장할 수 있다.
다른 예로, 사용자의 단말 장치(100)에서 입력된 문자의 코드 체계가 기 정의된 코드 체계인 경우, 문자 코드 체계 변환부(230)는 사용자 단말 장치(100)에서 입력된 문자의 코드 체계를 기 정의된 코드 체계에서 특정 코드 체계로 변환하고, 특정 코드 체계를 기초로 인코딩하여 저장부(220)에 저장할 수 있다.
한편, 키워드 생성부(240)는 사용자의 단말 장치(100)에서 문자가 입력되면, 저장부(220)에 저장된 복수의 키워드 중 입력된 문자를 포함하는 키워드를 검출할 수 있다. 구체적으로, 키워드 생성부(240)는 입력된 문자의 인코딩 데이터와 저장부(220)에 저장된 복수의 키워드 각각의 인코딩 데이터를 비교하여, 복수의 키워드 중 입력된 문자를 포함하는 키워드를 검출할 수 있다. 이 경우, 키워드 생성부(240)는 입력된 문자와 키워드 각각을 초성, 중성, 종성의 순서로 순차적으로 비교할 수 있다.
그리고, 키워드 생성부(240)는 검출된 키워드로 이루어진 키워드 리스트를 생성할 수 있다. 구체적으로, 키워드 생성부(240)는 검출된 키워드를 소정 규칙에 따라 나열하여 검출된 키워드로 이루어진 키워드 리스트를 생성할 수 있다.
이러한 본원 발명에 따르면, 스마트폰의 문자 입력에 특화된 특정 코드 체계를 기초로 복수의 키워드를 인코딩하여 저장함으로써, 스마트폰을 통하여 검색어를 입력한 사용자들에게 좀 더 정확한 자동 완성 키워드 리스트를 제공할 수 있다.
또한, 사용자 단말 장치로부터 기 정의된 코드 체계를 기초로 인코딩된 문자를 수신하는 경우, 스마트폰의 문자 입력에 특화된 특정 코드 체계로 변환하여 검색함으로써, 스마트폰 이외의 다른 장치를 통하여 검색어를 입력한 사용자들에게도 정확한 자동 완성 리스트를 제공할 수 있다.
보다 구체적으로, 종래의 키워드 자동 완성 기능에 따르면, 기 정의된 코드 체계에 대응되는 문자가 입력되는 경우에만 적합한 자동 완성 키워드 리스트를 제공하였다.
일 예로, 스마트폰의 천지인 키보드에 'ㅅ', 'ㆍ', 'ㅣ', 'ㅎ', 'ㆍ', 'ㆍ'까지만 입력되는 경우, 종래의 키워드 자동 완성 기능은, 도 8A와 같이, 사용자의 의도와는 다른 자동 완성 키워드 리스트(EX. 설현, 설리, 설악산, 설탕공장, 서랍장)를 제공하여 사용자의 불편함을 초래하였다.
다만, 본원 발명에 따르면, 특정 코드 체계를 기초로 복수의 키워드를 인코딩하여 저장함으로써, 스마트폰의 천지인 키보드에 'ㅅ', 'ㆍ', 'ㅣ', 'ㅎ', 'ㆍ', 'ㆍ'까지만 입력되는 경우에도, 도 8B와 같이, 사용자의 의도에 부합하는 자동 완성 키워드 리스트(EX. 서현, 서현중학교, 서현역, 서현진, 서현 CGV)를 제공할 수 있다. 즉, 스마트폰을 통하여 검색어를 입력한 사용자들에게 좀 더 정확한 자동 완성 키워드 리스트를 제공할 수 있다.
다른 예로, 종래의 기 정의된 코드 체계인 한글 조합형 코드 또는 한글 완성형 코드에서, 'l'와 'ㅐ'는 서로 다른 코드 값으로 따로 존재하기 때문에, 서로 매치될 수 없었다. 즉, 종래의 키워드 자동 완성 기능에 따르면, 'l'와 'ㅐ'가 매치될 수 없기 때문에, 'l'가 입력되는 경우 'ㅐ'를 포함하는 키워드가 제공될 수 없었고, 역으로 'ㅐ'가 입력되는 경우 'ㅣ'를 포함하는 키워드가 제공될 수 없었다.
다만, 본원 발명에 따르면, 중성을 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 3가지 만으로 정의하고, 데이터를 구성함으로써 부분 매치를 효율적으로 수행할 수 있다. 예를 들어, 'ㅐ'는 'ㅣ' , 'ㆍ', 'ㅣ'로 구성되고 'l'를 포함하기 때문에, 사용자 단말 장치(100)에서 중성의 첫 모음으로 'l'가 입력되는 경우 'ㅐ'가 매치될 수 있다. 즉, 아래 표 1의 예시와 같이, 사용자 단말 장치(100)에서 검색어로 '비'가 입력되는 경우, '비'를 구성하는 초성, 중성을 모두 포함하는 '배'가 키워드로 검색될 수 있다.
검색어 : 비 ==> 'ㅂ', 'l'
키워드 : 배 ==> 'ㅂ', 'l', 'ㆍ', 'ㅣ'
또 다른 예로, 종래의 기 정의된 코드 체계인 한글 조합형 코드 또는 한글 완성형 코드에서 초성이 쌍자음으로 구성되는 경우, 하나의 코드 값으로 정의하였기 때문에 매치 효율이 낮았다. 즉, 종래의 키워드 자동 완성 기능에 따르면, 'ㅅ'와 'ㅆ'가 매치될 수 없기 때문에, 초성으로 'ㅅ'이 입력되는 경우 초성으로 'ㅆ'을 포함하는 키워드가 제공될 수 없었고, 역으로 초성으로 'ㅆ'이 입력되는 경우 초성으로 'ㅅ'을 포함하는 키워드가 제공될 수 없었다.
다만, 본원 발명의 문자 코드 체계 변환부(230)는 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 각각에 기 설정된 코드 값을 할당하여 두 개의 코드 값으로 정의할 수 있다. 일 예로, 음절의 초성이 'ㅆ'으로 구성되는 경우, 문자 코드 체계 변환부(230)는 'ㅆ'을 구성하는 자음 'ㅅ'의 코드 값 225를 할당하고, 'ㅆ'의 코드 값 253을 할당함으로써, 초성의 쌍자음을 두 개의 코드 값으로 정의할 수 있다. 이 경우, 'ㅆ'는 'ㅅ' , 'ㅆ'로 구성되고 'ㅅ'을 포함하기 때문에, 사용자 단말 장치(100)에서 초성의 첫 자음으로 'ㅅ'가 입력되는 경우 'ㅆ'가 검색될 수 있다. 예를 들어, 아래의 표 2의 예시와 같이, 사용자 단말 장치(100)에서 검색어로 '사'가 입력되는 경우, 초성, 중성을 모두 포함하는 '싸'가 키워드로 검색될 수 있다.
검색어 : 사 ==> 'ㅅ', 'l', 'ㆍ'
키워드 : 싸 ==> 'ㅅ', 'ㅆ', 'l', 'ㆍ'
또한, 본원 발명의 문자 코드 체계 변환부(230)는 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당할 수 있다. 일 예로, 음절의 초성이 'ㅆ'으로 구성되는 경우, 문자 코드 체계 변환부(230)는 'ㅆ'을 구성하는 자음 'ㅅ'의 코드 값 225를 할당하고, 이 후 'ㅆ'의 코드 값 253을 할당함으로써, 초성의 쌍자음을 두 개의 코드 값으로 정의할 수 있다. 즉, 'ㅆ'에는 순서대로 225, 253의 코드 값이 할당될 수 있다.
여기서, 'ㅆ'을 'ㅅ' 및 'ㅅ'과 같은 코드 값의 조합으로 하지 않고, 'ㅆ'을 'ㅅ' 및 'ㅆ'과 같이 조합하는 이유는 오름차순 정렬과 관련이 있다. 여기서 오름차순 정렬은 앞 바이트부터 순차적으로 비교해서 값이 큰 것이 뒤로 가는 것을 의미한다.
예를 들어, 아래의 표 3의 예시와 같이, 'ㅆ'을 'ㅅ' 및 'ㅅ'과 같은 코드 값의 조합으로 하는 경우, 사용자 단말 장치(100)에서 '사'가 입력되고 오름차순 정렬시, '사' 보다 '싸'가 먼저 검색되는 문제가 발생할 수 있기 때문이다.
'사' = (225)(247)(249) > '싸' = (225)(225)(247)(249)
다만, 본 발명에 따르면, 아래의 표 4의 예시와 같이, 'ㅆ'을 'ㅅ' 및 'ㅆ'의 코드 값으로 조합함으로써, 오름차순 정렬시 쌍자음의 초성이 먼저 검색되는 것을 방지할 수 있다.
'사'= (225)(247)(249) < '싸'= (225)(253)(247)(249)
한편, 또 다른 예로, 종래의 기 정의된 코드 체계인 한글 조합형 코드 또는 한글 완성형 코드에서 종성이 겹자음으로 구성된 경우, 하나의 코드 값으로 정의하였기 때문에 매치 효율이 낮았다. 예를 들어 '닭'의 경우 기존 조합형은 'ㄺ'를 하나의 값으로 정의하여 '달'만 입력했을 경우에 '닭'으로 시작하는 자동완성 키워드 리스트를 제공할 수 없었다.
다만, 본원 발명의 문자 코드 체계 변환부(230)는 키워드 음절의 종성이 겹자음으로 구성된 경우, 겹자음을 구성하는 첫 번째 자음 및 두 번째 자음 순서로 각각에 기 설정된 코드 값을 할당하여 두 개의 코드 값으로 정의할 수 있다. 일 예로, 음절의 종성이 'ㄺ'으로 구성되는 경우, 문자 코드 체계 변환부(230)는 'ㄺ'을 구성하는 자음 'ㄹ' 의 코드 값 236을 할당하고, 이 후 'ㄱ'의 코드 값 233을 할당함으로써, 종성의 겹자음을 두 개의 코드 값으로 정의할 수 있다. 즉, 'ㄺ'에는 순서대로 236, 233의 코드 값이 할당될 수 있다. 예를 들어, 아래의 표 5의 예시와 같이, 사용자 단말 장치(100)에서 검색어로 '달'이 입력되는 경우, 초성, 중성, 종성을 모두 포함하는 '닭'이 키워드로 검색될 수 있다.
검색어 : 달 ==> 'ㄷ', 'l', 'ㆍ', 'ㄹ'
키워드 : 닭 ==> 'ㄷ', 'l', 'ㆍ', 'ㄹ', 'ㄱ'
한편, 종래의 키워드 자동 완성 기능에 따르면, 사용자의 단말 장치(100)에서 입력된 문자에 오탈자인 공백이 포함되는 경우, 적절한 키워드 리스트를 제공하지 못한다. 일 예로, 사용자가 '하나'를 입력하고자 하였으나, 사용자의 입력 실수로 중간에 스페이스가 입력되어 'ㅎㅏㄴㅏ'가 입력된 경우, 키 입력 순서로는 공백만 제외한다면 '하나'로 맞아 떨어진다. 다만, 스트링 자체로는 정상적인 글자가 아닌 초성과 중성으로 구성된 오타 스트링이다. 따라서, 종래의 키워드 자동 완성 기능에 따르면, 적절한 키워드 리스트를 제공하지 못한다.
다만, 본원 발명에 따르면, 사용자의 단말 장치(100)에서 입력된 문자에 오탈자인 공백이 포함되는 경우, 키워드 생성부(240)는 입력된 문자에서 공백을 제거하고, 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출할 수 있다. 이에 따라, 사용자의 단말 장치(100)에서 입력된 문자에 오탈자인 공백이 포함되는 경우, 적절한 키워드 리스트를 제공할 수 있다.
한편, 제어부(250)는 자동 완성 키워드 제공 서버(200)의 전반적인 동작을 제어한다. 구체적으로 제어부(250)는 통신부(210), 저장부(220), 문자 코드 체계 변환부(230), 키워드 생성부(240)의 전부 또는 일부를 제어할 수 있다.
특히, 통신부(210)를 통하여 사용자의 단말 장치에서 입력된 문자에 대응되는 데이터가 수신되면, 제어부(250)는 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하고, 검출된 키워드로 이루어진 키워드 리스트를 생성하도록 키워드 생성부(240)를 제어할 수 있다.
도 9는 도 6에 따른 시스템의 자동 완성 키워드 제공 방법을 나타내는 타이밍도 이다. 도 9를 참조하면, 자동 완성 키워드 제공 서버(200)는 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장할 수 있다(S201). 이 경우, 저장하는 단계(S201)는 기 정의된 코드 체계를 기초로 인코딩되어 저장된 복수의 키워드 각각을 상기 특정 코드 체계로 변환하고, 변환에 따른 특정 코드 체계를 기초로 복수의 키워드 각각을 인코딩하여 저장할 수 있다.
그리고, 사용자의 단말 장치(100)에서 문자가 입력되면(S202), 사용자의 단말 장치(100)는 입력된 문자에 대응되는 데이터를 자동 완성 키워드 제공 서버(200)에 전송할 수 있다(S203).
만약, 입력된 문자가 기 정의된 코드 체계를 기초로 인코딩된 문자인 경우, 사용자 단말 장치(100)는 입력된 문자의 코드 체계를 기 정의된 코드 체계에서 특정 코드 체계로 변환하고, 변환된 문자에 대응되는 데이터를 자동 완성 키워드 제공 서버(200)에 전송할 수 있다.
또는, 입력된 문자가 기 정의된 코드 체계를 기초로 인코딩된 문자인 경우, 사용자 단말 장치(100)는 입력된 문자에 대응되는 데이터를 자동 완성 키워드 제공 서버(200)에 전송하고, 자동 완성 키워드 제공 서버(200)는 수신된 문자의 코드 체계를 기 정의된 코드 체계에서 특정 코드 체계로 변환할 수 있다.
한편, 자동 완성 키워드 제공 서버(200)는 저장된 복수의 키워드 중 입력된 문자를 포함하는 키워드를 검출할 수 있다(S204).
그리고, 자동 완성 키워드 제공 서버(200)는 검출된 키워드로 이루어진 키워드 리스트를 생성할 수 있다(S205).
그리고, 자동 완성 키워드 제공 서버(200)는 생성된 키워드 리스트를 사용자의 단말 장치(100)에 전송할 수 있다(S206).
그리고, 사용자 단말 장치(100)는 수신된 키워드 리스트를 표시할 수 있다(S207).
한편, 상술한 예시와 다르게, 자동 완성 키워드 제공 시스템(1000)은 사용자 단말 장치(100) 만으로 구성될 수도 있다. 이에 대해서는 도 10 내지 11을 참조하여 보다 구체적으로 설명하기로 한다.
도 10은 본 발명의 다른 실시 예에 따른 사용자 단말 장치를 나타내는 블록도이다. 도 10을 참조하면, 사용자 단말 장치(100)는 저장부(110), 디스플레이부(120), 입력부(130), 문자 코드 체계 변환부(140), 키워드 생성부(150), 제어부(160)의 전부 또는 일부를 포함한다.
저장부(110)는 사용자 단말 장치(100)의 동작에 필요한 다양한 데이터 및 어플리케이션을 저장하는 기능을 한다. 특히 저장부(110)는 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장할 수 있다.
여기서 저장부(110)는 RAM(Random Access Memory), 플레시메모리, ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable and Programmable ROM), 레지스터, 하드디스크, 리무버블 디스크, 메모리 카드 등과 같은 내장된 형태의 저장소자는 물론, USB 메모리 등과 같은 착탈 가능한 형태의 저장소자로 구현될 수도 있다.
디스플레이부(120)는 화면을 표시하는 기능을 한다. 특히, 디스플레이부(120)는 키워드 생성부(150)에서 생성된 키워드 리스트를 표시할 수 있다.
여기서, 디스플레이부(120)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 투명 디스플레이, HUD(Head Up Display), HMD(Head Mounted Display), Prism Project Display 중에서 적어도 하나로 구현될 수 있다.
입력부(130)는 단말 장치(100)를 조작하는 사용자 입력을 수신한다. 특히, 입력부(130)는 사용자의 문자 입력을 수신할 수 있다.
여기서 입력부(130)는 다양한 버튼의 형태, 디스플레이부(120)에 대한 터치 입력을 수신하는 터치 센서, 디스플레이부(130) 표면에 직접 접속되지 않고 접근하는 모션을 수신하는 근접 센서, 사용자의 음성 입력을 수신하는 마이크로폰 중 적어도 하나를 이용하여 구현될 수 있다. 다만, 이에 한정되는 것은 아니고, 사용자 입력을 수신할 수 있는 어떠한 형태로 구현되어도 무방하다.
문자 코드 체계 변환부(140)는 상술한 도 7에 기재된 자동 완성 키워드 제공 서버(200)의 문자 코드 체계 변환부(230)의 기능을 수행할 수 있다. 구체적으로, 문자 코드 체계 변환부(140)는 기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여 문자를 음절 별로 분리하고, 분리된 음절 각각을 초성, 중성 및 종성으로 분리하며, 상기 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당할 수 있다.
이에 따라, 복수의 키워드들이 기 정의된 코드 체계를 기초로 인코딩되어 저장부(110)에 저장되어 있는 경우, 문자 코드 체계 변환부(140)는 저장부(110)에 저장된 복수의 키워드들 각각의 코드 체계를 기 정의된 코드 체계에서 특정 코드 체계로 변환하고, 특정 코드 체계를 기초로 인코딩하여 저장부(110)에 저장할 수 있다.
또한, 사용자의 단말 장치(100)에서 입력된 문자의 코드 체계가 기 정의된 코드 체계인 경우, 문자 코드 체계 변환부(140)는 사용자 단말 장치(100)에서 입력된 문자의 코드 체계를 기 정의된 코드 체계에서 특정 코드 체계로 변환하여 키워드 검색을 수행할 수 있다.
한편, 키워드 생성부(150)는 상술한 도 7에 기재된 자동 완성 키워드 제공 서버(200)의 키워드 생성부(240)의 기능을 수행할 수 있다. 구체적으로, 키워드 생성부(150)는 사용자의 단말 장치(100)에서 문자가 입력되면, 저장부(110)에 저장된 복수의 키워드 중 입력된 문자를 포함하는 키워드를 검출할 수 있다. 그리고, 키워드 생성부(150)는 검출된 키워드로 이루어진 키워드 리스트를 생성할 수 있다.
한편, 제어부(160)는 사용자 단말 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 제어부(160)는 저장부(110), 디스플레이부(120), 입력부(130), 문자 코드 체계 변환부(140), 키워드 생성부(150)의 전부 또는 일부를 제어할 수 있다. 이러한 제어부(160)의 제어 동작에 대해서는 도 11을 참조하여 설명하기로 한다.
도 11은 본 발명의 일 실시 예에 따른 사용자 단말 장치의 자동 완성 키워드 제공 방법을 나타내는 흐름도이다. 도 11을 참조하면, 사용자 단말 장치(100)는 특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장할 수 있다(S301). 여기서, 복수의 키워드는 사용자 단말 장치(100)의 저장부(110)에 저장될 수 있다. 이러한 저장부(110)는 펌웨어 업데이트 등에 따라 업데이트될 수 있다.
그리고, 사용자의 단말 장치(100)는 사용자의 문자 입력을 수신할 수 있다(S302).
그리고, 사용자 단말 장치(100)는 저장된 복수의 키워드 중 입력된 문자를 포함하는 키워드를 검출할 수 있다(S303).
그리고, 사용자 단말 장치(100)는 검출된 키워드로 이루어진 키워드 리스트를 생성할 수 있다(S304).
그리고, 사용자 단말 장치(100)는 생성된 키워드 리스트를 화면에 표시할 수 있다(S305).
한편, 상술한 본 발명의 다양한 실시 예에 따르면, 스마트폰의 문자 입력에 특화된 특정 코드 체계를 기초로 복수의 키워드를 인코딩하여 저장함으로써, 스마트폰을 통하여 검색어를 입력한 사용자들에게 좀 더 정확한 자동 완성 키워드 리스트를 제공할 수 있다. 이에 따라, 스마트폰을 통한 검색의 품질을 높일 수 있다.
일 예로, 현재 주요 포털(Naver, Daum) 등에서 지원하지 않는 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 검색을 지원함으로써 사용자에게 보다 적합한 자동완성 단어 리스트를 제공해줄 수 있다.
또한, 상술한 본 발명의 다양한 실시 예에 따르면, 사용자 단말 장치로부터 기 정의된 코드 체계를 기초로 인코딩된 문자를 수신하는 경우, 스마트폰의 문자 입력에 특화된 특정 코드 체계로 변환하여 검색함으로써, 스마트폰 이외의 다른 장치를 통하여 검색어를 입력한 사용자들에게도 정확한 자동 완성 리스트를 제공할 수 있다.
또한, 상술한 본 발명의 다양한 실시 예에 따르면, 스마트폰을 통한 문자 입력시 오류가 발생한 경우에도, 자동 완성 키워드 리스트를 제공할 확률을 높임으로써 사용자에게 좀 더 나은 검색 서비스를 제공해줄 수 있다.
한편, 상술한 본 발명의 다양한 실시 예들에 따른 자동 완성 키워드 제공 방법, 문자 코드 체계 변환 방법은 설치 데이터 형태로 구현되어 다양한 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 서버 또는 기기들에 제공될 수 있다. 이에 따라, 각 장치들은 설치 데이터가 저장된 서버 또는 기기에 접속하여, 상기 설치 데이터를 다운로드 할 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 사용자 단말 장치 200 : 자동 완성 키워드 제공 서버
110 : 저장부 120 : 디스플레이부
130 : 입력부 140 : 문자 코드 체계 변환부
150 : 키워드 생성부 160 : 제어부
210 : 통신부 220 : 저장부
230 : 문자 코드 체계 변환부 240 : 키워드 생성부
250 : 제어부

Claims (22)

  1. 자동 완성 키워드 제공 방법에 있어서,
    특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하는 단계;
    사용자로부터 문자가 입력되면, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하는 단계; 및
    상기 검출된 키워드로 이루어진 키워드 리스트를 생성하는 단계;를 포함하고,
    상기 특정 코드 체계는,
    한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고,
    상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계이며,
    상기 키워드 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  2. 제1항에 있어서,
    상기 특정 코드 체계는,
    상기 한글의 초성, 중성 및 종성 각각이 한 바이트 내에서 정의되도록 코드 값을 할당하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  3. 제1항에 있어서,
    상기 저장하는 단계는,
    기 정의된 코드 체계를 기초로 인코딩되어 저장된 복수의 키워드 각각을 상기 특정 코드 체계로 변환하는 단계; 및
    상기 변환에 따른 특정 코드 체계를 기초로 복수의 키워드 각각을 인코딩하여 저장하는 단계;를 포함하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  4. 제3항에 있어서,
    상기 변환하는 단계는,
    상기 기 정의된 코드 체계를 기초로 인코딩된 복수의 키워드 각각을 디코딩하여, 키워드를 음절 별로 분리하는 단계;
    상기 분리된 음절 각각을 초성, 중성 및 종성으로 분리하는 단계; 및
    상기 분리된 초성, 중성 및 종성 각각에 상기 특정 코드 체계에 기초한 코드 값 테이블을 기초로 코드 값을 할당하는 단계;를 포함하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  5. 제3항에 있어서,
    상기 기 정의된 코드 체계는,
    유니코드, 한글 조합형 코드 및 한글 완성형 코드 중 적어도 하나를 포함하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  6. 삭제
  7. 제1항에 있어서,
    상기 특정 코드 체계는,
    상기 키워드 음절의 종성이 겹자음으로 구성된 경우, 상기 겹자음을 구성하는 첫 번째 자음 및 두 번째 자음 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  8. 제1항에 있어서,
    상기 사용자의 단말 장치에서 입력된 문자의 코드 체계가 상기 특정 코드 체계가 아닌 경우, 상기 입력된 문자의 코드 체계를 상기 특정 코드 체계로 변환하는 단계;를 더 포함하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  9. 제1항에 있어서,
    상기 검출하는 단계는
    상기 사용자의 단말 장치에서 입력된 문자에 오탈자인 공백이 포함되는 경우, 상기 입력된 문자에서 상기 공백을 제거하고, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하는 것을 특징으로 하는 자동 완성 키워드 제공 방법.
  10. 문자 코드 체계 변환 방법에 있어서,
    기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여, 문자를 음절 별로 분리하는 단계;
    상기 분리된 음절 각각을 초성, 중성 및 종성으로 분리하는 단계; 및
    상기 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당하는 단계;를 포함하고,
    상기 특정 코드 체계는,
    한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고,
    상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계이며,
    상기 할당하는 단계는,
    상기 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 문자 코드 체계 변환 방법.
  11. 제10항에 있어서,
    상기 특정 코드 체계는,
    상기 한글의 초성, 중성 및 종성 각각이 한 바이트 내에서 정의되도록 코드 값을 할당하는 것을 특징으로 하는 문자 코드 체계 변환 방법.
  12. 제10항에 있어서,
    상기 기 정의된 코드 체계는,
    유니코드, 한글 조합형 코드 및 한글 완성형 코드 중 적어도 하나를 포함하는 것을 특징으로 하는 문자 코드 체계 변환 방법.
  13. 삭제
  14. 제10항에 있어서,
    상기 할당하는 단계는,
    상기 음절의 종성이 겹자음으로 구성된 경우, 상기 겹자음을 구성하는 첫 번째 자음 및 두 번째 자음 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 문자 코드 체계 변환 방법.
  15. 자동 완성 키워드 제공 서버에 있어서,
    특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하는 저장부;
    사용자로부터 문자가 입력되면, 입력된 문자에 대응되는 데이터를 수신하는 통신부; 및
    상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하고, 상기 검출된 키워드로 이루어진 키워드 리스트를 생성하는 키워드 생성부;를 포함하고,
    상기 특정 코드 체계는,
    한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고,
    상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계이며,
    상기 키워드 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 자동 완성 키워드 제공 서버.
  16. 사용자 단말 장치에 있어서,
    화면을 표시하는 디스플레이부;
    사용자의 문자 입력을 수신하는 입력부;
    상기 입력부를 통하여 문자가 입력되면, 입력된 문자에 대응되는 데이터를 자동 완성 키워드 제공 서버에 전송하는 통신부; 및
    상기 전송에 따라 상기 자동 완성 키워드 제공 서버로부터 키워드 리스트가 수신되면, 상기 수신된 키워드 리스트를 표시하도록 상기 디스플레이부를 제어하는 제어부;를 포함하고,
    상기 자동 완성 키워드 제공 서버는,
    특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하고, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하고, 상기 검출된 키워드로 이루어진 키워드 리스트를 생성하며,
    상기 특정 코드 체계는,
    한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고,
    상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계이며,
    상기 키워드 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 사용자 단말 장치.
  17. 사용자 단말 장치에 있어서,
    화면을 표시하는 디스플레이부;
    사용자의 문자 입력을 수신하는 입력부;
    특정 코드 체계를 기초로 인코딩된 복수의 키워드를 저장하는 저장부; 및
    상기 입력부를 통하여 문자가 입력되면, 상기 저장된 복수의 키워드 중 상기 입력된 문자를 포함하는 키워드를 검출하고, 상기 검출된 키워드로 이루어진 키워드 리스트를 생성하는 키워드 생성부; 및
    상기 생성된 키워드 리스트를 표시하도록 상기 디스플레이부를 제어하는 제어부;를 포함하고,
    상기 특정 코드 체계는,
    한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고,
    상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계이며,
    상기 키워드 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 사용자 단말 장치.
  18. 문자 코드 체계 변환 장치에 있어서,
    기 정의된 코드 체계를 기초로 인코딩된 문자를 디코딩하여, 문자를 음절 별로 분리하고, 상기 분리된 음절 각각을 초성, 중성 및 종성으로 분리하는 분리부; 및
    상기 분리된 초성, 중성 및 종성 각각에 특정 코드 체계에 기초한 코드 값을 할당하는 할당부;를 포함하고,
    상기 특정 코드 체계는,
    한글의 초성, 중성 및 종성 각각에 기 설정된 코드 값을 할당하고,
    상기 중성은 천(ㆍ), 지(ㅡ) 및 인(ㅣ)으로 정의하여, 상기 중성의 종류에 따라 천(ㆍ), 지(ㅡ) 및 인(ㅣ) 각각에 적어도 하나 이상의 기 설정된 코드 값을 할당하는 코드 체계이며,
    상기 할당부는,
    상기 음절의 초성이 쌍자음으로 구성되는 경우, 쌍자음을 구성하는 단자음 및 쌍자음의 순서로 각각에 기 설정된 코드 값을 할당하는 것을 특징으로 하는 문자 코드 체계 변환 장치.
  19. 컴퓨터 판독 가능한 기록 매체에 저장되어 제1항 내지 제5항 및 제7항 내지 제9항 중 어느 한 항에 기재된 자동 완성 키워드 제공 방법을 실행시키는 프로그램.
  20. 컴퓨터 판독 가능한 기록 매체에 저장되어 제10항 내지 제12항 및 제14항 중 어느 한 항에 기재된 문자 코드 체계 변환 방법을 실행시키는 프로그램.
  21. 제1항 내지 제5항 및 제7항 내지 제9항 중 어느 한 항에 기재된 자동 완성 키워드 제공 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  22. 제10항 내지 제12항 및 제14항 중 어느 한 항에 기재된 문자 코드 체계 변환 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
KR1020160029086A 2016-03-10 2016-03-10 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체 KR102494917B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160029086A KR102494917B1 (ko) 2016-03-10 2016-03-10 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160029086A KR102494917B1 (ko) 2016-03-10 2016-03-10 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체

Publications (2)

Publication Number Publication Date
KR20170105871A KR20170105871A (ko) 2017-09-20
KR102494917B1 true KR102494917B1 (ko) 2023-02-02

Family

ID=60034119

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160029086A KR102494917B1 (ko) 2016-03-10 2016-03-10 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR102494917B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335436B1 (ko) * 2012-11-06 2013-11-29 이담정보통신(주) 한글 입력 검색 단말기 및 이를 이용한 정보검색방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070064900A (ko) * 2005-12-19 2007-06-22 주식회사 팬택앤큐리텔 한글의 유니코드 변환장치
KR20100000041A (ko) * 2008-06-24 2010-01-06 주식회사 케이티테크 문자 입력 방법 및 장치
KR101088072B1 (ko) * 2009-06-26 2011-11-29 주식회사 아이젠반도체통신 한글 키패드, 한글 입력 장치 및 한글 문자 생성 방법
KR101495021B1 (ko) * 2010-10-04 2015-02-24 에스케이플래닛 주식회사 문자열 입력장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101335436B1 (ko) * 2012-11-06 2013-11-29 이담정보통신(주) 한글 입력 검색 단말기 및 이를 이용한 정보검색방법

Also Published As

Publication number Publication date
KR20170105871A (ko) 2017-09-20

Similar Documents

Publication Publication Date Title
US8914275B2 (en) Text prediction
US9489372B2 (en) Web-based spell checker
US20150160855A1 (en) Multiple character input with a single selection
US8782549B2 (en) Incremental feature-based gesture-keyboard decoding
US9047268B2 (en) Character and word level language models for out-of-vocabulary text input
US10824656B2 (en) Method and system for providing adaptive keyboard interface, and method for inputting reply using adaptive keyboard based on content of conversation
US9965569B2 (en) Truncated autosuggest on a touchscreen computing device
US20150293978A1 (en) Interactive searching and recommanding method and apparatus
CN103885608A (zh) 一种输入方法及***
US8930813B2 (en) Dynamic text entry/input system
US20190340233A1 (en) Input method, input device and apparatus for input
US10402474B2 (en) Keyboard input corresponding to multiple languages
US20170270092A1 (en) System and method for predictive text entry using n-gram language model
WO2016041428A1 (zh) 一种英文的输入方法和装置
JPWO2009028555A1 (ja) 電子機器、文字列の表示方法、複数文字列のソート方法、および文字列表示/ソートプログラム
KR101130206B1 (ko) 입력 순서와 무관한 문자 입력 메커니즘을 제공하는 방법, 기기 및 컴퓨터 프로그램 제품
CN101369209A (zh) 用于全混合输入的手写输入装置及其方法
CN104424166A (zh) 文本处理装置和文本显示***
KR102494917B1 (ko) 자동 완성 키워드를 제공하는 서버, 방법, 사용자 단말 장치, 프로그램 및 컴퓨터 판독 가능한 기록 매체 및 문자 코드 체계를 변환하는 장치, 방법, 프로그램 및 컴퓨터 판독 가능한 기록 매체
CN111176456B (zh) 用于输入地理位置名称的输入法编辑器
WO2012015021A1 (en) Stroke and structure input method and system
CN104657433A (zh) 一种基于通讯录联系人的智能推荐方法及***
KR101645674B1 (ko) 자동완성 후보 단어 제공 방법 및 장치
US10546061B2 (en) Predicting terms by using model chunks
JP5189884B2 (ja) 駅名入力装置および駅名入力プログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant