KR20120109951A - 한글혼합문자 검색 방법 및 한글혼합문자 검색이 가능한 휴대용 단말기 - Google Patents

한글혼합문자 검색 방법 및 한글혼합문자 검색이 가능한 휴대용 단말기 Download PDF

Info

Publication number
KR20120109951A
KR20120109951A KR1020110051826A KR20110051826A KR20120109951A KR 20120109951 A KR20120109951 A KR 20120109951A KR 1020110051826 A KR1020110051826 A KR 1020110051826A KR 20110051826 A KR20110051826 A KR 20110051826A KR 20120109951 A KR20120109951 A KR 20120109951A
Authority
KR
South Korea
Prior art keywords
hangul
bits
search
data
syllable
Prior art date
Application number
KR1020110051826A
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 이너비트 주식회사
Publication of KR20120109951A publication Critical patent/KR20120109951A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Document Processing Apparatus (AREA)

Abstract

한글혼합 문자 검색방법 및 한글혼합 문자 검색가능한 휴대용 단말기가 개시된다. 그 한글혼합 문자 검색방법은, 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자를 검색하는 방법에 있어서, 한글 검색어를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 그 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 단계; 검색대상 데이터 저장부에 저장된 레코드를 읽어 들여 레코드를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 그 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 단계; 및 변환된 숫자들을 비교하여 상기 음절/초성 식별정보를 제외한 숫자가 일치하면 검색된 데이터로 결정하는 단계를 포함한다.
본 발명에 의하면, 표준 유니코드를 기준으로 하여 계산에 의해 빠르고 쉽게 한글 혼합문자를 검색할 수 있고, 또한 종래 검색방법과 달리 별도의 데이터 공간을 필요로 하지 않는다.

Description

한글혼합문자 검색 방법 및 한글혼합문자 검색이 가능한 휴대용 단말기{Method for searching Hangul-mixed-letter and portable device capable of searching Hangul-mixed-letter}
본 발명은 한글혼합 문자 검색에 관한 것으로서, 특히 한글 혼합문자 검색 방법 및 그 방법을 이용하여 한글혼합문자 검색이 가능한 휴대용 단말기에 관한 것이다.
휴대폰이나 내비게이션 등 휴대 단말기에서 한글 데이터를 검색할 때, 완성된 한글만 검색하는 것이 아닌 초성과 완성된 글자들을 혼합해서 검색하는 경우가 많다. 이를 지원하기 위해서는 종래에는 한글 데이터를 저장할 때 초성을 추출하여 검색용 데이터를 별도로 저장하고 이 데이터를 이용하여 검색하였다.
그러나 이러한 방법은 검색용 데이터를 별도로 저장하기 때문에 상기 데이터를 저장하는 공간을 추가로 가져야 하고, 데이터를 입력할 때 초성을 추출하는 작업을 거쳐야 하므로 데이터 입력시간이 지연되는 문제점을 가지게 된다.
본 발명이 해결하고자 하는 과제는 표준 유니코드의 특성을 이용하여 별도의 데이터를 저장하지 않고 계산에 의해 빠르고 쉽게 한글 혼합 문자 검색을 할 수 있는 방법을 제공한다.
본 발명이 해결하고자 하는 다른 과제는 표준 유니코드의 특성을 이용하여 별도의 데이터를 저장하지 않고 계산에 의해 빠르고 쉽게 한글 혼합 문자 검색을 할 수 있는 휴대용 단말기를 제공한다.
본 발명이 이루고자 하는 다른 기술적 과제는 상기 한글혼합 문자 검색방법을 휴대용 단말기에서 실행시키기 위한 프로그램을 기록한 휴대용 단말기로 읽을 수 있는 기록 매체를 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 한글혼합 문자 검색방법은, 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자 검색방법에 있어서, 한글 검색어를 숫자로 변환하는 단계; 검색대상 데이터 저장부에 저장된 데이터를 읽어 들여 숫자로 변환하는 단계; 및 상기 변환된 숫자들을 비교하여 일치하는 데이터를 검색된 데이터로 결정하는 단계를 포함한다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 한글혼합 문자 검색방법은, 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자를 검색하는 방법에 있어서, 한글 검색어를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 단계; 검색대상 데이터 저장부에 저장된 레코드를 읽어 들여 레코드를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 단계; 및 상기 변환된 숫자들을 비교하여 상기 음절/초성 식별정보를 제외한 숫자가 일치하면 검색된 데이터로 결정하는 단계를 포함한다.
상기 다른 기술적 과제를 이루기 위한 본 발명에 의한 한글 혼합 문자 검색을 할 수 있는 휴대용 단말기는, 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자를 검색하는 휴대용 단말기에 있어서, 검색대상 데이터를 저장하고 있는 검색대상 데이터 저장부; 음절이나 초성이 입력되면 상기 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 데이터 변환부; 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자를 한글검색어로 받아들여 상기 한글 검색어를 상기 데이터 변환부로 전달하고, 상기 데이터 변환부에서 출력되는 상기 한글 검색어에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 검색요청 신호로 출력하는 전처리부; 및 상기 전처리부에서 검색요청신호를 수신하면, 상기 검색대상 데이터 저장부로부터 레코드를 읽어들여 상기 데이터 변환부로 전달하고, 상기 데이터 변환부로부터 상기 레코드에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 수신하면, 상기 전처리부로부터 수신한 복수의 비트로 이루어진 숫자와 상기 데이터 변환부로부터 수신한 복수의 비트로 이루어진 숫자를 이용하여 검색 데이터인지를 판별하여 검색데이터이면 출력하는 검색처리부를 포함한다.
그리고 상기 기재된 발명을 휴대용 단말기에서 실행시키기 위한 프로그램을 기록한 휴대용 단말기로 읽을 수 있는 기록매체를 제공한다.
본 발명에 의한 한글혼합 검색 방법 및 그를 이용한 휴대용 단말기에 의하면, 표준 유니코드를 기준으로 하여 계산에 의해 빠르고 쉽게 한글 혼합문자를 검색할 수 있고, 또한 종래 검색방법과 달리 별도의 데이터 공간을 필요로 하지 않는다.
도 1은 본 발명의 일실시예에 의한 한글혼합문자 검색이 가능한 휴대용 단말기의 구성을 블록도로 도시한 것이다.
도 2는 본 발명의 일실시예에 의한 한글혼합문자 검색방법을 흐름도로 도시한 것이다.
도 3은 입력데이터를 복수의 비트로 구성되는 숫자로 변환하는 과정을 보다 상세히 도시한 흐름도이다.
이하, 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명의 일실시예에 의한 한글혼합문자 검색이 가능한 휴대용 단말기의 구성을 블록도로 도시한 것으로서, 전처리부(110), 데이터 변환부(120), 검색처리부(130) 및 검색대상 데이터 저장부(140)를 포함하여 이루어진다.
본 발명에서 사용되는 검색어는 한글과 한글 초성으로만 이루어진 것 뿐만아니라 영문, 숫자 등과 혼합된 경우도 포함한다. 예를 들어 “tv 프로ㄱㄹ”, "E마ㅌ”, “7 eleven 편ㅇ점”와 같은 형태의 검색어도 포함된다.
상기 휴대용 단말기는 사용자로부터 검색어를 입력받는 사용자 인터페이스와 검색된 데이터를 출력하는 디스플레이 화면을 제공하는 것이 바람직하다.
상기 전처리부(110)는 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글혼합 문자를 포함하는 다양한 형태의 검색어를 받아들여 상기 검색어를 데이터 변환부(120)로 전달하고, 데이터 변환부(120)에서 출력되는 상기 검색어에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 검색요청 신호로 출력한다.
상기 데이터 변환부(120)는 음절이나 초성이 입력되면 상기 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하며, 입력데이터 판별부(122), 완성한글변환부(124), 한글호환자모 변환부(126), 한글자모 변환부(128) 및 기타글자변환부(129)를 포함하여 이루어진다.
상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함한다.
상기 입력데이터 판별부(122)는 입력 데이터가 완성한글인지, 한글호환자모인지, 한글자모인지를 판별한다.
상기 완성한글변환부(124)는 입력데이터 판별부(122)에서 입력데이터가 완성한글이라고 판별되면, 상기 완성한글을 복수의 비트로 변환하고, 상기 복수의 비트는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 완성한글의 초성이 19개의 초성 중 몇 번째인지를 나타내는 초성 순서 정보 및 상기 검색어의 유니코드 값으로 이루어진다.
상기 한글호환자모 변환부(126)는 입력데이터 판별부(122)에서 입력데이터가 한글호환 자모라고 판별되면, 상기 한글호환 자모를 복수의 비트로 변환하고, 상기 복수의 비트는 상기 음절/초성 식별정보 및 유니코드 상에서의 상기 한글호환 자모가 몇 번째 자모인지를 나타내는 한글호환자모 순서 정보를 포함한다.
상기 한글자모 변환부(128)는 상기 입력데이터 판별부(122)에서 입력데이터가 한글자모라고 판별되면, 상기 한글자모를 복수의 비트로 변환하되, 상기 복수의 비트는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 한글자모가 몇 번째 자모인지를 나타내는 한글자모 순서 정보를 포함한다.
상기 기타글자변환부(129)는 검색어가 완성한글, 한글자모, 한글호환자모 이외의 글자, 예를 들어, 영문 알파벳이나 아라비아 숫자 등이 검색어일 경우 상기 영문 알파벳이나 아라비아 숫자를 복수의 비트로 이루어지는 숫자데이터로 변환한다.
상기 검색처리부(130)는 상기 전처리부(110)에서 검색요청신호를 수신하면 검색대상 데이터 저장부(140)로부터 레코드를 읽어들여 데이터 변환부(120)로 전달하고, 데이터 변환부(120)로부터 상기 레코드에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 수신하면 전처리부(110)로부터 수신한 복수의 비트로 이루어진 숫자와 데이터 변환부(120)로부터 수신한 복수의 비트로 이루어진 숫자를 이용하여 검색 데이터인지를 판별하여 검색데이터이면 출력하며, 검색대상 데이터 독출부(134) 및 검색데이터 판별부(132)를 포함하여 이루어진다.
상기 검색대상 데이터 독출부(134)는 전처리부(110)에서 검색요청신호를 수신하면 검색대상 데이터 저장부(140)로부터 레코드를 읽어들여 데이터 변환부(120)로 전달한다.
상기 검색데이터 판별부(132)는 데이터 변환부(120)로부터 상기 레코드에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 수신하고, 전처리부(110)로부터 수신한 복수의 비트로 이루어지는 숫자 데이터와 데이터 변환부(120)로부터 수신한 복수의 비트로 이루어지는 숫자데이터를 이용하여 검색데이터인지를 판별하여 검색데이터이면 출력한다. 특히 상기 검색데이터 판별부(132)는 전처리부(110)로부터 수신된 복수의 비트로 이루어진 숫자와 데이터변환부(120)로부터 수신된 복수의 비트로 이루어진 숫자를 비교하여 상기 음절/초성 식별정보가 달라도 상기 초성순서 정보 또는 한글호환자모 순서정보 또는 상기 한글자모 순서정보가 서로 일치하면 검색 데이터로 결정하는 것이 바람직하다.
상기 검색대상 데이터 저장부(140)는 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자 검색을 위해 검색대상 데이터를 저장하고 있다.
도 2는 본 발명의 일실시예에 의한 한글혼합문자 검색방법을 흐름도로 도시한 것이다. 먼저 전처리부(110)로 한글을 포함하는 검색어가 입력되면(S200단계), 전처리부(110)는 상기 검색어를 데이터변환부로 전달한다. 데이터변환부(120)는 전처리부(110)로부터 검색어를 받아 상기 검색어를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하여(S210단계), 상기 숫자를 전처리부(110)로 전달한다. 여기서, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함한다.
전처리부(110)는 데이터변환부(120)로부터 한글 검색어에 대한 숫자를 받으면 검색처리부(130)로 전달하고 검색요청을 한다.(S220단계) 본 발명의 실시예에서는 검색패턴은 하나이고 검색대상 문자열이 매우 많을 경우에는 검색 패턴에 대해 전처리를 해 두는 것이 바람직하지만, 검색대상 문자열이 많지 않을 경우에는 검색패턴을 전처리 하지 않을 수도 있다.
검색처리부(130)는 전처리부(110)로부터 검색요청을 받으면, 검색데이터 독출부(134)는 검색 데이터 저장부(140)에 저장된 데이터를 읽어 들인다.(S230단계) 휴대폰인 경우 상기 데이터는 휴대폰의 데이터베이스(DB)로부터 읽어들인 레코드가 될 수 있다. 데이터변환부(120)는 검색처리부(130)으로부터 레코드를 받아 상기 레코드를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 복수의 비트로 된 숫자로 변환한다.(S240단계) 여기서, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함한다.
검색처리부(130)는 상기 전처리부(110)로부터 받은 한글검색어를 변환한 숫자와 상기 데이터변환부(120)으로부터 받은 레코더에 대한 숫자를 비교한다.(S250단계) 상기 비교는 상기 음절/초성 식별정보를 제외한 숫자가 일치하는지 체크함으로 이루어진다.(S260단계) 상기 비교결과 숫자가 일치하면 검색된 데이터로 결정하고(S270단계), 검색된 데이터를 휴대단말기의 디스플레이부(미도시)를 통해 디스플레이한다.
한편, 도 3은 상기 S210 단계 및 S240단계에서 입력데이터를 복수의 비트로 구성되는 숫자로 변환하는 과정을 보다 상세히 도시한 흐름도이다. 도 3을 참조하면, S210단계에서, 검색할 데이터로 전처리부(100)로부터 상기 검색어가 입력되면(S310단계), 데이터변환부(120)의 입력데이터 판별부(122)는 상기 검색어가 한글인지 아닌지 판별하고(S312단계), 한글이면 완성한글인지, 한글호환자모인지, 한글자모인지 판별한다.(S320단계)
상기 검색어가 완성한글이면, 완성한글 변환부(124)는 상기 완성한글을 복수의 비트로 이루어진 숫자로 변환한다.(S330단계) 여기서, 상기 복수의 비트로 이루어진 숫자는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 완성한글의 초성이 19개의 초성 중 몇 번째인지를 나타내는 초성순서 정보 및 상기 검색어의 유니코드 값으로 이루어지는 것이 바람직하다.
그리고 S310단계에서, 상기 검색어가 한글호환 자모이면, 한글호환 자모 변환부(126)는 상기 한글호환 자모를 복수의 비트로 이루어진 숫자로 변환한다.(S340단계) 여기서, 상기 복수의 비트로 이루어진 숫자는 상기 음절/초성 식별정보 및 유니코드 상에서의 상기 한글호환 자모가 몇 번째 자모인지를 나타내는 한글호환자모 순서 정보를 포함하는 것이 바람직하다.
또한 상기 검색어가 한글자모이면, 한글자모변환부(128)는 상기 한글자모를 복수의 비트로 이루어지는 숫자로 변환한다.(S350단계) 여기서 상기 복수의 비트로 이루어지는 숫자는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 한글자모가 몇 번째 자모인지를 나타내는 한글자모 순서 정보를 포함하는 것이 바람직하다.
또한 상기 검색어가 한글이 아니면, 예를 들어 검색어가 영문알파벳이나 아라비아 숫자 등이라면, 기타글자변환부(129)는 복수의 비트로 구성된 숫자로 변환한다(S360단계) 여기서 상기 복수의 비트로 구성되는 숫자는 상기 음절/초성 식별정보와, 상기 검색어 예를 들어 영문알파벳이나 아라비아 숫자의 유니코드 값을 포함하여 이루어질 수 있다.
한편, S240단계에서, 검색할 데이터가 레코드이면(S310단계), 데이터변환부(120)의 입력데이터 판별부(122)는 상기 검색어가 한글인지 아닌지 판별하고(S312단계), 한글이면 완성한글인지, 한글호환자모인지, 한글자모인지 판별한다.(S320단계)
상기 레코드가 완성한글이면, 완성한글 변환부(124)는 상기 완성한글을 복수의 비트로 이루어진 숫자로 변환한다.(S330단계) 여기서 상기 복수의 비트로 이루어진 숫자는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 완성한글의 초성이 19개의 초성 중 몇 번째인지를 나타내는 초성순서 정보 및 상기 검색어의 유니코드 값으로 이루어지는 것이 바람직하다.
그리고 S310단계에서, 상기 레코드가 한글호환 자모이면, 한글호환 자모 변환부(126)는 상기 한글호환 자모를 복수의 비트로 이루어진 숫자로 변환한다.(S340단계) 여기서, 상기 복수의 비트로 이루어진 숫자는 상기 음절/초성 식별정보 및 유니코드 상에서의 상기 한글호환 자모가 몇 번째 자모인지를 나타내는 한글호환자모 순서 정보를 포함하는 것이 바람직하다. 또한 상기 레코드가 한글자모이면, 한글자모변환부(128)는 상기 한글자모를 복수의 비트로 이루어지는 숫자로 변환한다.(S350단계) 여기서 상기 복수의 비트로 이루어지는 숫자는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 한글자모가 몇 번째 자모인지를 나타내는 한글자모 순서 정보를 포함하는 것이 바람직하다.
또한 상기 레코드가 한글이 아니면, 예를 들어 검색어가 영문알파벳이나 아라비아 숫자 등이라면, 기타글자 변환부(129)는 복수의 비트로 구성된 숫자로 변환한다(S360단계) 여기서 상기 복수의 비트로 구성되는 숫자는 상기 음절/초성 식별정보와, 상기 검색어 예를 들어 영문알파벳이나 아라비아 숫자의 유니코드 값을 포함하여 이루어질 수 있다.
한편, 상기 S250단계에서 검색처리부(130)가 변환된 숫자를 비교하는 것을 보다 상세히 설명하면, 상기 S250단계에서 검색처리부(130)의 검색데이터 판별부(132)는 상기 S210단계에서 생성된 복수의 비트로 이루어진 숫자와 상기 S240단계에서 생성된 복수의 비트로 이루어진 숫자를 비교한다. 검색데이터 판별부(132)는 S260단계에서 이렇게 복수의 비트로 이루어진 숫자를 비교하여 적어도 상기 초성 순서정보 또는 한글호환자모 순서정보 또는 상기 한글자모 순서정보가 서로 일치하는지 체크하고, S270단계에서 상기 순서정보가 서로 일치하면 검색된 데이터로 결정한다.
한편, 본 발명의 일실시예의 구현 예를 설명하기로 한다. 먼저, 본 발명에서 사용되는 유니코드에 대해 간략히 설명하기로 한다. 유니코드는 ISO/IEC JTC1에서 1995년 9월 국제표준으로 제정된 2바이트 계의 만국 공통의 국제 문자부호 체계(UCS: Universal Code System)를 말하며, 공식명칭은 ISO/IEC 10646-1(Universal Multiple-Octet Coded Character Set)이다.
데이터의 교환을 원활하게 하기 위하여 문자 1개에 부여되는 값을 16비트로 통일하였다. 코드의 1문자 당 영어는 7비트, 비영어는 8비트, 한글이나 일본어는 16비트의 값을 지니는데, 이를 모두 16비트로 통일한 것이다. ISO/IEC 10646-1의 문자판에는 전세계에서 사용하고 있는 26개 언어의 문자와 특수기호에 대해 일일이 코드값을 부여하고 있다. 최대로 수용할 수 있는 문자수는 65,536자이다. 이 가운데 38,885자는 주요 국가의 언어를 구현하는 용도로 이미 할당되어 있고 6,400자는 사용자 정의 영역으로, 나머지는 2만여 자는 새로 추가될 언어 영역으로 각각 비워두고 있다. 코드 할당비율을 보면 한자가 39.89%로 가장 많고, 한글 17.04%, 아스키 및 기호문자 10.39% 등의 순이다.
여기에 포함된 한글코드 체계는 옛 한글의 자모를 포함한 한글자모 240자(HANGUL JAMO, 11열)와 한국 표준인 KSC 5601의 조합형 한글자모 94자(HANGUL COMPATIBILITY, 31열), 한글에서 구현할 수 있는 최대 글자수 11,172자를 가나다순으로 배열해 놓은 완성형(HANGUL, AC열?D7열) 등 3종으로 되어 있다. 또한 각국의 문자를 2바이트로 수용하기 위해 우리나라와 중국?일본?타이완의 한자를 통합하였다.
따라서 유니코드(unicode)에서 완성 한글은 U+AC00부터 U+D7A3까지의 코드값과 대응하며, 한글로는 ‘가’ 부터
Figure pat00001
까지의 글자가 배정되어 있다. 또한 한글의 특징인 초성, 중성, 종성의 조합 형태에 대해 완벽하게 가나다 순으로 정렬되어 있는 특징이 있다.
유니코드 표에서 한글자모 영역은 두 군데, 즉 표 1에 나타낸 한글자모(Hangul Jamo)(U+1100 - U+11FF)와 표 2에 나타낸 한글호환자모(Hangul Compatibility Jamo) (U+3130 ~ U+318F)로 나뉘어져 있다.
Figure pat00002
Figure pat00003
표 1에서 현대 한글에서 초성으로 사용되는 것은 'ㄱ', 'ㄲ', 'ㄴ', … 'ㅍ', 'ㅎ'로 모두 19자이며, 이에 대한 유니코드 영역은 U+1100 ~ U+1112에 해당한다. 그리고 표 2에 나타낸 한글호환자모에서는 U+3131부터 U+314E 까지의 코드 값 중에서 현대 한글에서 초성으로 사용하는 19개의 초성문자를 얻을 수 있다.
한글코드영역(U+AC00~U+D7A3)은 완성한글을 나타내며, 초성 19자, 중성 21자, 종성 28자의 조합으로 이루어져 있다. 따라서 주어진 한글완성 문자로부터 초성에 해당하는 문자를 얻는 것은 단순한 계산으로 추출할 수 있다. 이를 통해 초성 19자의 순서 값과 완성한글로부터 얻을 수 있는 초성에 대한 순서 값을 이용해서 비교할 수 있다.
일반적으로 하나의 시스템에서는 초성으로만 이루어진 문자, 예를 들어, 'ㅇㄴㅂㅌ'를 나타낼 때 한글자모(Hangul Jamo, U+1100 ~ U+11FF) 또는 한글호환자모(Hangul Compatibility Jamo, U+3130 ~ U+318F) 중 특정한 하나를 선택해서 사용하거나 둘 다를 선택해서 사용할 수 있다.
먼저, 한글자모(Hangul Jamo)(U+1100 ~ U+11FF)를 기준으로 초성의 순서값, 즉 한글자모 순서정보를 얻는 방법은 다음과 같다.
한글자모의 순서정보 Jamo_idx는 자모코드값 jamo_code에서 “ㄱ"에 해당하는 코드값을 빼면 된다. 여기서, jamo_code는 표 2의 한글호환자모 영역의 코드값이며, 이는 각각 “ㄱ", "ㄴ", ... , “ㅎ” 에 대응하는 초성문자 코드값을 나타낸다.
Jamo_idx = jamo_code - 0x1100; jamo_code = Jamo_idx + 0x1100;
그리고 한글호환자모(Hangul Compatibility Jamo)(U+3130 ~ U+318F)를 기준으로 초성의 순서 값 즉 한글호환자모 순서정보를 얻는 방법은 다음과 같다. 한글호환자모 순서정보 Jamo_C_idx는 호환자모코드값 jamo_word_code에서 “ㄱ"에 해당하는 코드값(0x3131)을 빼서 별도의 보정을 한다. 여기서, jamo_word_code는 표 1의 한글호환자모 영역의 코드값이며, 이는 각각 “ㄱ", "ㄴ", ... , “ㅎ” 에 대응하는 초성문자 코드값을 나타낸다.
jamo_word_idx = jamo_word_code - 0x3131;
jamo_word_code = jamo_word_idx + 0x3131;
한글자모와 달리 한글호환자모는 표 2에 나타낸 바와 같이 초성의 순서 배정에서 있어서 현재 한글에서 사용하는 초성값을 고려할 때 한글자모처럼 연속적으로 존재하지 않는다. 따라서 jamo_word_idx 를 구한 후에 별도의 보정이 필요하다. 즉, 한글자모를 나타내는 표 1 은 ㄱ, ㄲ, ㄴ ... 순서로 되어 있지만, 한글호환자모를 나타내는 표 2는 ㄱ, ㄲ, ㄳ, ㄴ...순서로 되어 있어 ㄳ이 마치 없는 것처럼 순서 값을 얻어야 한다. 이를 위해, compatibility_jamo_idx[ ] = {0, 1, -1, 2, -1, -1, 3 ...} 과 같은 형태의 어레이(array)를 두고 한글호환자모 순서 값을 나타내는 jamo_C_idx = compatibility_jamo_idx[jamo_word_idx]로 얻을 수 있다.
여기서, 상기 compatibility_jamo_idx[ ]는 다음과 같이 나타낼 수 있다.
compatibility_jamo_idx[ ] = { /* ㄱ */ 0, /* ㄲ */ 1, /* ㄳ */ -1, /* ㄴ */ 2, /* ㄵ */ -1, /* ㄶ */ -1, /* ㄷ */ 3, /* ㄸ */ 4, /* ㄹ */ 5, /* ㄺ */ -1, /* ㄻ */ -1, /* ㄼ */ -1, /* ㄽ */ -1, /* ㄾ */ -1, /* ㄿ */ -1, /* ㅀ */ -1, /* ㅁ */ 6, /* ㅂ */ 7, /* ㅃ */ 8, /* ㅄ */ -1, /* ㅅ */ 9, /* ㅆ */ 10, /* ㅇ */ 11, /* ㅈ */ 12, /* ㅉ */ 13, /* ㅊ */ 14, /* ㅋ */ 15, /* ㅌ */ 16, /* ㅍ */ 17, /* ㅎ */ 18}
또한 완성한글에서 초성순서 값, 즉 완성한글 순서정보(H_idx)와 이에 해당하는 초성코드 값을 얻는 방법은 다음과 같다.
H_idx = (hangul_code - 0xAC00) / 588;
Chosung_code = ((hangul_code - 0xAC00) / 588) + 0x1100;
여기서 상기 ‘588’은 중성의 개수 21과 종성의 개수 28의 곱에 의해 계산된 값이다. 초성 순서값은 초성 문자의 사전 순 나열의 순서값으로 0, 1, 2, ... 형태가 된다. 완성한글 순서정보(H_idx)이 단순하게 나열되는 순서에 대한 개념인데 반해, 초성코드 값은 초성문자에 대한 코드값을 의미한다. 여기서는 한글자모를 기준으로 하기 때문에 “ㄱ"은 U+1100, "ㄴ”은 U+1101이 될 수 있다.
검색하고자 하는 검색 패턴은 전체가 초성으로 이루어질 수도 있고, 완성한글과 혼용된 형태가 있을 수 있다. 이 때 혼용된 형태라 함은 검색패턴 전체가 초성으로만 구성된 것이 아니라 완성한글과 초성문자가 섞여 있음을 의미한다. 예를 들어, “강ㄴ역”, “ㅇ마트” 등과 같다.
검색패턴을 P, 검색패턴 내 i번째 문자를 p[i]라고 하고, 대상 스트링을 S, 스트링 내 i번째 문자를 s[i]라고 하면, 한글로 이루어진 두 문자열에서 초성 검색을 위해 특정한 두 문자를 비교하는데, 상기 비교 과정은 다음과 같다.
먼저, P[i]가 초성인지 체크한다. 초성이면 s[j]가 초성인지 체크하여 초성이면 P[i]와 s[j]를 직접 비교한다. 만일 s[j]가 초성이 아니면, S[j]에서 초성 코드값을 구해 P[i]와 비교한다. 또한 상기 P[i]가 초성이 아니면, P[i]와 s[j]를 직접 비교한다. 이를 슈도(psudo) 코드로 나타내면 다음 표3과 같다.
If( P[i]가 초성인가?)
{
If( s[j] 가 초성인가?)
P[i]와 s[j]를 직접 비교한다.
Else
S[j]에서 초성 코드값을 구해 P[i]와 비교한다.
}
Else
P[i]와 s[j]를 직접 비교한다.
이 때 검색패턴이란 찾으려고 하는 키워드일 수 있다. 검색대상 스트림은 검색패턴으로 찾으려는 레코드 혹은 문서내용과 같은 스트링일 수 있다. 예를 들어, 100건의 문자열 중에서 “ㅅㅇ역”을 찾으려고 한다면, “ㅅㅇ역”이 검색패턴이고 100건의 문자열이 대상 스트링이 된다.
실제 데이터 상태에서는 한글 뿐 아니라 다양한 문자가 혼합되어 있을 수 있다. 그리고 검색패턴에 혼용되어 있을 수도 있고, 검색대상 문자열에 혼용되어 있을 수도 있다. 이런 경우에는 초성인지, 완성한글인지 확인하는 과정 자체가 비용이 되기 때문에 수행성능을 효율적이 되게 해야 한다. 이를 위해 주어진 유니코드 문자를 16bit로 표현하여 적절하게 가공한다.
이를 보다 상세히 설명하기로 한다. 일반적으로 도 1의 검색대상 데이터 저장부(140)와 같이 문자열 데이터를 대량으로 가지고 있는 상태에서 검색을 시도하게 된다. 이 때, 각각의 문자열 데이터와 검색패턴을 비교하여 일치 여부를 판정한다.
검색패턴 pattern와 문자열 데이터 str이 들어오면, 각 문자열에서 하나의 문자씩 뽑아서 해당 문자의 문자코드 값을 가공하여 4바이트로 이루어지는 숫자로 변환한다.
4바이트 숫자로의 변환은 다음과 같이 이루어질 수 있다. 입력문자가 완성한글인 경우에는, 완성한글 문자코드값을 4바이트의 숫자 중 하위 2 바이트에 위치하게 하고, 입력문자가 완성한글임을 나타내는 bit(예 : 0x01000000)와 상술한 완성한글 순서정보를 조합하여 4바이트의 숫자 중 상위 2 바이트로 하는 정수를 만든다. 즉, 입력문자가 완성한글인지 초성인지를 나타내는 정보(예 : 0x01000000)와 완성한글 순서정보(상위 4바이트인 0x00** 중 **에 위치) 및 완성한글 문자코드 값(4바이트의 숫자 중 하위 2바이트에 위치)으로 이루어지는 4바이트 정수로 된 하나의 숫자를 생성한다.
입력 문자가 한글호환 자모인 경우에는, 상술한 한글호환 순서정보(jamo_C_idx)를 4바이트로 이루어지는 숫자에서 상위 2 바이트에 위치하게 하여 4바이트 정수를 만든다. 이 때, 완성한글인지 초성인지를 나타내는 정보는 디폴트로 0x00000000로 표현된다.
입력 문자가 한글 자모인 경우에는, 상술한 한글자모 순서정보(jamo_idx)를 4바이트로 이루어지는 숫자에서 상위 2 바이트에 위치하게 하여 4바이트 정수를 만든다. 이 때, 완성한글인지 초성인지를 나타내는 정보는 디폴트로 0x00000000로 표현된다.
그리고 기타 문자인 경우에는, 0x10000000로 나타내는 4바이트의 숫자로 만만든다.
이렇게 검색패턴과 대상스트링을 4바이트의 숫자로 변환한 후에는 상기 검색패턴과 대상 스트림을 비교한다.
비교결과 결과값이 0x00000000이면 완전히 동일한 것이고, 비교결과 결과값의 상위 2바이트가 0x0100이면 검색패턴과 대상스트링이 서로 초성은 같으면서, 하나는 완성한글이고 다른 하나는 초성임을 의미한다. 예를 들어 검색패턴은 ‘ㄱ’ 이고 대상스트링은 ‘강’ 일 때 또는 그 반대 일 때, 비교결과 상위 2바이트가 0x0100으로 나타난다. 상기 비트간의 비교는 exclusive-OR 연산을 수행한 결과가 0이면 두 문자가 같고 다르면 1 이다.
이러한 과정을 더 이상 비교할 문자열이 남지 않았을 때까지 반복하여 초성 검색을 한다.
종래 방식의 문자열 비교에서는 같은 문자로 판단하려면 코드값을 직접 비교해야 하며, 초성 검색에서는 앞단의 비교에서 다르다고 나왔을 경우에도 초성에 대한 처리를 하면 같은 초성을 갖는지 다시 비교해야 한다.
본 발명은 문자코드를 가공해서 한번의 판단으로 다양한 경우를 포함하도록 할 수 있다.
표4 및 표5에서, 아래의 코드에서 get_h_idx( ) 함수는 4byte의 int 값에 이러한 정보를 담는 방식을 보여준다. 상위 2바이트에 순서정보 등의 부가적인 정보를 담고, 하위 2바이트에 본래의 문자 코드값을 담아 두는 개념이다.
wc는 입력되는 문자로서, 하나의 유니코드 문자에 대한 코드값을 나타낸다. 한글자모 영역과 달리 한글호환자모 영역은 초성의 순서 배정에서 있어서 현재 한글에서 사용하는 초성 값을 고려할 때 한글자모처럼 연속적으로 존재하지 않는 문제가 있어 이에 대한 보정이 필요하다. 아래와 같이 구성되어 있는 어레이를 사용할 수 있다.
short int compatibility_jamo_idx[ ] = {
/* ㄱ */ 0, /* ㄲ */ 1, /* ㄳ */ -1, /* ㄴ */ 2, /* ㄵ */ -1, /* ㄶ */ -1,
/* ㄷ */ 3, /* ㄸ */ 4, /* ㄹ */ 5, /* ㄺ */ -1, /* ㄻ */ -1, /* ㄼ */ -1,
/* ㄽ */ -1, /* ㄾ */ -1, /* ㄿ */ -1, /* ㅀ */ -1, /* ㅁ */ 6, /* ㅂ */ 7,
/* ㅃ */ 8, /* ㅄ */ -1, /* ㅅ */ 9, /* ㅆ */ 10, /* ㅇ */ 11, /* ㅈ */ 12,
/* ㅉ */ 13, /* ㅊ */ 14, /* ㅋ */ 15, /* ㅌ */ 16, /* ㅍ */ 17, /* ㅎ */ 18
};
그리고 Compare( ) 함수는 비교할 문자열 2개를 가지게 되는데 이 문자열이 각각 str과 pattern이다. get_h_idx는 바로 위의 함수를 통해서 얻을 수 있다.
물론, 통상적으로 패턴은 하나이고 검색 대상 문자열은 매우 많을 것이기 때문에 패턴에 대해 선행 처리를 해둘 수 있다.
int get_h_idx(UNICODE_CHAR wc)
{
if( wc >= 0xAC00 && wc <= 0xD7AF)
{
return (wc | ((((wc - 0xAC00) / 588) << 16) | 0x01000000)); }
else if( wc >= 0x3131 && wc <= 0x314e )
{ /* Hangul Compatibility Jamo 한글 호환 자모 */
return (compatibility_jamo_idx[wc - 0x3131]<<16); }
else if( wc >= 0x1100 && wc <= 0x1112 )
{ /* Hangul Jamo 한글 자모 */
return ((wc - 0x1100)<<16);
}
return (wc | 0x10000000) ;
}
Int compare (UNICODE_CHAR *str, UNICODE_CHAR *pattern)
{Int cmp idx1, idx2
while ( *str && *pattern )
idx1 = get_h_idx( *str );
idx2 = get_h_idx( *pattern );
cmp = (idx1 ^ idx2);
if( (cmp == 0) || ((cmp & 0xFFFF0000) == 0x01000000) )
{ str++ ;
pattern++;
}
else
{ return (*str - *pattern) ;
}
}
if (*str||*pattern)
{ return -1;
}
return 0 ;
}
상술한 바와 같이 본 발명은 글자 하나를 통째로 가져다가 하나의 숫자로 만들어 비교하므로 오퍼레이션을 비트연산을 사용하여 빨리하게 되어 오퍼레이션 숫자를 줄일 수 있게 된다.
또한 본 발명을 이용하여, 초성+중성+종성이 있을 때 초성+중성으로 된 것으로도 검색가능하다. 즉 ‘강’을 검색하고 할 때 ‘가’를 검색어로 사용하여 검색할 수도 있다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
110 : 전처리부 120 : 데이터변환부
122 : 입력데이터 판별부 124 : 완성한글 변환부
126 : 한글호환 변환부 128 : 한글자모 변환부
129 : 기타글자 변환부 130 : 검색처리부
132 : 검색데이터 판별부 134 : 검색데이터 독출부
140 : 검색대상 데이터 저장부

Claims (10)

  1. 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자 검색방법에 있어서,
    검색어를 숫자로 변환하는 단계;
    검색대상 데이터 저장부에 저장된 데이터를 읽어 들여 숫자로 변환하는 단계; 및
    상기 변환된 숫자들을 비교하여 일치하는 데이터를 검색된 데이터로 결정하는 단계를 포함하는 것을 특징으로 하는 한글 혼합 문자 검색방법.
  2. 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자를 검색하는 방법에 있어서,
    (a) 상기 검색어를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 단계;
    (b) 검색대상 데이터 저장부에 저장된 레코드를 읽어 들여 레코드를 구성하는 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 단계; 및
    (c) 상기 변환된 숫자들을 비교하여 상기 음절/초성 식별정보를 제외한 숫자가 일치하면 검색된 데이터로 결정하는 단계를 포함하는 것을 특징으로 하는 한글 혼합 문자 검색방법.
  3. 제2항에 있어서, 상기 (a) 단계는
    상기 검색어가 한글이면 완성한글인지, 한글호환자모인지, 한글자모인지 판별하는 단계;
    상기 검색어가 완성한글이면, 상기 완성한글을 복수의 비트로 이루어진 숫자로 변환하고, 상기 복수의 비트로 이루어진 숫자는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 완성한글의 초성이 19개의 초성 중 몇 번째인지를 나타내는 초성순서 정보 및 상기 검색어의 유니코드 값으로 이루어지는 단계;
    상기 검색어가 한글호환 자모이면, 상기 한글호환 자모를 복수의 비트로 이루어진 숫자로 변환하고, 상기 복수의 비트로 이루어진 숫자는 상기 음절/초성 식별정보 및 유니코드 상에서의 상기 한글호환 자모가 몇 번째 자모인지를 나타내는 한글호환자모 순서 정보를 포함하는 단계; 및
    상기 검색어가 한글자모이면, 상기 한글자모를 복수의 비트로 이루어지는 숫자로 변환하고, 상기 복수의 비트로 이루어지는 숫자는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 한글자모가 몇 번째 자모인지를 나타내는 한글자모 순서 정보를 포함하는 단계를 포함하는 것을 특징으로 하는 한글 혼합 문자 검색방법.
  4. 제3항에 있어서, 상기 (b)단계는
    상기 레코드가 완성한글이면, 상기 완성한글을 복수의 비트로 변환하고, 상기 복수의 비트는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 완성한글의 초성이 19개의 초성 중 몇 번째인지를 나타내는 초성 순서 정보와 상기 검색어의 유니코드 값으로 이루어지는 단계;
    상기 레코드가 한글호환 자모이면, 상기 한글호환 자모를 복수의 비트로 변환하고, 상기 복수의 비트는 상기 음절/초성 식별정보 및 유니코드 상에서의 상기 한글호환 자모가 몇 번째 자모인지를 나타내는 한글호환자모 순서 정보를 포함하는 단계; 및
    상기 레코드가 한글자모이면, 상기 한글자모를 복수의 비트로 변환하고, 상기 복수의 비트는 상기 음절/초성 식별정보 및 유니코드 상에서의 상기 한글자모가 몇 번째 자모인지를 나타내는 한글자모 순서 정보를 포함하는 단계를 포함하는 것을 특징으로 하는 한글 혼합 문자 검색방법.
  5. 제4항에 있어서, 상기 (c)단계는
    상기 (a)단계에서 생성된 복수의 비트로 이루어진 숫자와 상기 (b)단계에서 생성된 복수의 비트로 이루어진 숫자를 비교하는 단계; 및
    적어도 상기 초성 순서정보 또는 한글호환자모 순서정보 또는 상기 한글자모 순서정보가 서로 일치하면 검색된 데이터로 결정하는 것을 특징으로 하는 한글 혼합 문자 검색방법.
  6. 자음과 모음으로 이루어지는 음절과 상기 음절의 초성으로 구성되는 한글 혼합 문자를 검색하는 휴대용 단말기에 있어서,
    검색대상 데이터를 저장하고 있는 검색대상 데이터 저장부;
    음절이나 초성이 입력되면 상기 음절이나 초성을 복수의 비트로 이루어지는 숫자로 변환하고, 상기 숫자는 음절에 대한 값인지 초성에 대한 값인지를 식별하는 음절/초성 식별정보를 포함하는 데이터 변환부;
    자음과 모음으로 이루어지는 음절과 상기 음절의 초성을 포함하는 한글 혼합 문자를 검색어로 받아들여 상기 검색어를 상기 데이터 변환부로 전달하고, 상기 데이터 변환부에서 출력되는 상기 검색어에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 검색요청 신호로 출력하는 전처리부; 및
    상기 전처리부에서 검색요청신호를 수신하면, 상기 검색대상 데이터 저장부로부터 레코드를 읽어들여 상기 데이터 변환부로 전달하고, 상기 데이터 변환부로부터 상기 레코드에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 수신하면, 상기 전처리부로부터 수신한 복수의 비트로 이루어진 숫자와 상기 데이터 변환부로부터 수신한 복수의 비트로 이루어진 숫자를 이용하여 검색 데이터인지를 판별하여 검색데이터이면 출력하는 검색처리부를 포함하는 것을 특징으로 하는 한글 혼합 문자 검색이 가능한 휴대용 단말기.
  7. 제6항에 있어서, 상기 데이터 변환부는
    입력 데이터가 한글인지 아닌지와 한글일 경우 완성한글인지, 한글호환자모인지, 한글자모인지를 판별하는 입력데이터 판별부;
    상기 입력데이터 판별부에서 입력데이터가 완성한글이라고 판별되면, 상기 완성한글을 복수의 비트로 변환하고, 상기 복수의 비트는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 완성한글의 초성이 19개의 초성 중 몇 번째인지를 나타내는 초성 순서 정보 및 상기 검색어의 유니코드 값으로 이루어지는 완성한글 변환부;
    상기 입력데이터 판별부에서 입력데이터가 한글호환 자모라고 판별되면, 상기 한글호환 자모를 복수의 비트로 변환하고, 상기 복수의 비트는 상기 음절/초성 식별정보 및 유니코드 상에서의 상기 한글호환 자모가 몇 번째 자모인지를 나타내는 한글호환자모 순서 정보를 포함하는 한글호환자모 변환부;
    상기 입력데이터 판별부에서 입력데이터가 한글자모라고 판별되면, 상기 한글자모를 복수의 비트로 변환하되, 상기 복수의 비트는 상기 음절/초성 식별정보와, 유니코드 상에서의 상기 한글자모가 몇 번째 자모인지를 나타내는 한글자모 순서 정보를 포함하는 한글자모 변환부; 및
    상기 입력데이터 판별부에서 입력데이터가 한글이 아닌 기타글자라고 판별되면, 상기 한글아닌 기타글자를 복수의 비트로 변환하되, 상기 복수의 비트는 상기 음절/초성 식별정보와, 상기 기타글자에 상응하는 유니코드 값을 포함하는 기타글자변환부를 포함하는 것을 특징으로 하는 한글 혼합 문자 검색이 가능한 휴대용 단말기.
  8. 제7항에 있어서, 검색처리부는
    상기 전처리부에서 검색요청신호를 수신하면 상기 검색대상 데이터 저장부로부터 레코드를 읽어들여 상기 데이터 변환부로 전달하는 검색대상 데이터 독출부; 및
    상기 데이터 변환부로부터 상기 레코드에 상응하는 복수의 비트로 이루어지는 숫자 데이터를 수신하고, 상기 전처리부로부터 수신한 복수의 비트로 이루어지는 숫자 데이터와 상기 데이터 변환부로부터 수신한 복수의 비트로 이루어지는 숫자데이터를 이용하여 검색데이터인지를 판별하여 검색데이터이면 출력하는 검색데이터 판별부를 포함하는 것을 특징으로 하는 한글 혼합 문자 검색이 가능한 휴대용 단말기.
  9. 제8항에 있어서, 상기 검색데이터 판별부는
    상기 전처리부로부터 수신된 복수의 비트로 이루어진 숫자와 상기 데이터변환부로부터 수신된 복수의 비트로 이루어진 숫자를 비교하여 상기 음절/초성 식별정보가 달라도 상기 초성순서 정보 또는 한글호환자모 순서정보 또는 상기 한글자모 순서정보가 서로 일치하면 검색 데이터로 결정하는 것을 특징으로 하는 한글 혼합 문자 검색이 가능한 휴대용 단말기.
  10. 제1항 내지 제5항 중 어느 한 항에 기재된 발명을 휴대용 단말기에서 실행시키기 위한 프로그램을 기록한 휴대용 단말기로 읽을 수 있는 기록매체.

KR1020110051826A 2011-03-28 2011-05-31 한글혼합문자 검색 방법 및 한글혼합문자 검색이 가능한 휴대용 단말기 KR20120109951A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020110027817 2011-03-28
KR20110027817 2011-03-28

Publications (1)

Publication Number Publication Date
KR20120109951A true KR20120109951A (ko) 2012-10-09

Family

ID=47280993

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110051826A KR20120109951A (ko) 2011-03-28 2011-05-31 한글혼합문자 검색 방법 및 한글혼합문자 검색이 가능한 휴대용 단말기

Country Status (1)

Country Link
KR (1) KR20120109951A (ko)

Similar Documents

Publication Publication Date Title
CN102982021B (zh) 用于消除语言转换中的多个读法的歧义的方法
US20040210444A1 (en) System and method for translating languages using portable display device
US6877003B2 (en) Efficient collation element structure for handling large numbers of characters
US8073680B2 (en) Language detection service
US8107671B2 (en) Script detection service
US8670976B2 (en) System and methods for encoding and decoding multi-lingual text in a matrix code symbol
CN113158653B (zh) 预训练语言模型的训练方法、应用方法、装置及设备
US20060018545A1 (en) User interface and database structure for Chinese phrasal stroke and phonetic text input
US20120206477A1 (en) Information retrieval device and information retrieval method
US9396201B2 (en) Method of data sorting
CN1950819B (zh) 检索信息的系统和方法以及储存信息的系统和方法
JP5551660B2 (ja) テキストをマトリクスコードシンボルに符号化するコンピュータ実行方法、マトリクスコードシンボルを復号化するコンピュータ実行方法、テキストをマトリクスコードシンボルに符号化するためのエンコーダ、およびマトリクスコードシンボルを復号化するためのデコーダ
JP2010134922A (ja) 類似語決定方法およびシステム
CN108073591B (zh) 一种具有身份属性的多源数据的整合存储系统及方法
KR20120109951A (ko) 한글혼합문자 검색 방법 및 한글혼합문자 검색이 가능한 휴대용 단말기
JP2000148754A (ja) マルチリンガル・システム,マルチリンガル処理方法およびマルチリンガル処理のプログラムを記憶した媒体
KR20130122437A (ko) 영어의 한글 표기 방법 및 시스템
JP2007323317A (ja) 変換装置、変換方法及びプログラム
CN101539428A (zh) 导航系统中拼音加声调检索的方法及装置
JP2018147205A (ja) 情報処理装置及び情報処理プログラム
JP2018180808A (ja) 解析プログラム、解析方法および解析装置
JP2006092223A (ja) 携帯通信端末及び多言語表示制御方法
JP2006343932A (ja) 情報検索システム及び検索方法
CN1310371B (zh) 字符输入方法和装置
JPH08180064A (ja) 文書検索方法及び文書ファイリング装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application