KR100835289B1 - 키 배열 정보를 이용한 단어 추천 방법 및 그 시스템 - Google Patents

키 배열 정보를 이용한 단어 추천 방법 및 그 시스템 Download PDF

Info

Publication number
KR100835289B1
KR100835289B1 KR1020060114748A KR20060114748A KR100835289B1 KR 100835289 B1 KR100835289 B1 KR 100835289B1 KR 1020060114748 A KR1020060114748 A KR 1020060114748A KR 20060114748 A KR20060114748 A KR 20060114748A KR 100835289 B1 KR100835289 B1 KR 100835289B1
Authority
KR
South Korea
Prior art keywords
string
character
value
word
characters
Prior art date
Application number
KR1020060114748A
Other languages
English (en)
Other versions
KR20080045530A (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 KR1020060114748A priority Critical patent/KR100835289B1/ko
Publication of KR20080045530A publication Critical patent/KR20080045530A/ko
Application granted granted Critical
Publication of KR100835289B1 publication Critical patent/KR100835289B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 제1 문자열의 문자와 제2 문자열의 문자를 순차적으로 비교하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는 경우, 상기 비교 결과 값을 제1 값으로 설정하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하지 않은 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인지 여부를 판단하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인 경우, 상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 경우, 상기 비교 결과 값을 제3 값으로 설정하는 단계와, 상기 설정된 비교 결과 값에 따라 상기 제1 문자열과 상기 제2 문자열의 유사도를 계산하는 단계와, 사용자로부터 단어를 입력 받고 상기 계산된 유사도에 따라 상기 입력된 단어와 유사한 단어를 추천하는 단계를 포함하는 것을 특징으로 하는 단어 추천 방법을 제공한다.
추천, 단어, 자판, 배열

Description

키 배열 정보를 이용한 단어 추천 방법 및 그 시스템{METHOD FOR RECOMMENDING WORDS USING KEY ARRANGEMENT INFORMATION AND SYSTEM THEREOF}
도 1은 종래 LD 알고리즘을 나타내는 도면이다.
도 2는 종래 LD 알고리즘에 따라 제1 단계 및 제2 단계를 수행한 결과를 나타내는 도면이다.
도 3은 종래 LD 알고리즘에 따라 i가 1인 경우의 수행 결과를 나타내는 도면이다.
도 4는 종래 LD 알고리즘에 따라 i가 4인 경우의 수행 결과를 나타내는 도면이다.
도 5는 종래 LD 알고리즘에 따라 i가 5인 경우의 수행 결과를 나타내는 도면이다.
도 6은 본 발명에 따른 단어 추천 시스템과 사용자 단말기간의 연동 관계를 나타내는 도면이다.
도 7은 본 발명의 일실시예에 따른 단어 추천 시스템의 구성을 나타내는 도면이다.
도 8은 키 배열의 일례를 나타내는 도면이다.
도 9는 2차원 float형 배열이 포함된 프로그램 헤더의 일례를 나타내는 도면 이다.
도 10은 eval-cost 함수를 float형 26*26 테이블로 구현한 일례를 나타내는 도면이다.
도 11은 본 발명의 다른 실시예에 따른 단어 추천 방법의 흐름을 나타내는 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
600: 단어 추천 시스템
710: 데이터베이스
720: 비교부
730: 설정부
740: 계산부
750: 입력부
760: 추천부
본 발명은 사용자의 입력과 유사한 단어를 추천하는 방법 및 그 시스템에 관한 것으로, 더욱 상세하게는 키 배열 정보를 반영하여 사용자의 입력한 유사한 단어를 추천하는 방법 및 그 시스템에 관한 것이다.
종래 단어 추천 방법으로서, bigram 기반의 2-poisson 검색 모델은 길이가 긴 다른 단어를 중요 bigram의 단어내 tf가 높은 단어, 질의어를 포함하는 단어, 기타 bigram 집합은 같지만 철자 순서가 다른 단어가 검색됨에 따라 유사하지 않은 단어가 검색되는 문제점이 있다. 또한, 종래 단어 추천 방법은 'information'을 'information'으로 바꿔쓰기를 하거나 'n' 및 'm'과 같이 인접 철자 오류로 인한 빈번한 키보드 관련 철자 오류 등이 적용되지 않는 문제점이 있다.
종래 bigram 모델로 선택된 후보 단어들의 만족도 문제를 보완하기 위해 Edit Distance(Levenstein distance: 이하 LD라고 함)라는 개념을 도입하여 실제로 유사한 단어들을 추천하도록 한다.
상기 LD는 두 단어간의 차이를 나타내는 측도(measure)로서 'A'라는 단어를 'B'라는 단어로 변형시키는데 드는 비용과 같은 개념으로 설명될 수 있다. 예를 들어, 'hollow'와 'hello'의 LD를 계산하면, 상기 LD는 'hollow'의 'o'를 'e'로 바꾸는 비용(cost) 1과 마지막 'hollow'의 'w'를 추가하는 비용 1을 합산하여 2가 된다. 즉, 'hollow'와 'hello'의 LD가 2라는 것은 'hollow'와 'hello'가 2글자 차이라는 것을 의미한다. 따라서, 상기 LD는 글자 단위 차이라고 할 수 있다.
종래 LD 알고리즘은 도 1에 도시된 것과 같다.
'GUMBO'와 'GAMBOL'을 예로 들어 상기 LD 알고리즘에 따라 상기 LD를 계산하는 과정은 다음과 같다.
먼저 제 1단계는 제1 문자열인 'GUMBO'의 글자 개수가 5개이고, 제2 문자열인 'GAMBOL'의 글자 개수가 6개이므로 도 2에 도시된 것과 같이 우선 글자 수대로 6열 7행의 매트릭스(matrix)를 생성한다.
다음으로 제2 단계는 도 2에 도시된 것과 같이 상기 생성된 매트릭스의 첫 번째 행과 열을 각각 0~5, 0~6로 초기화한다.
제3 단계는 상기 제1 문자열의 문자와 상기 제2 문자열의 문자를 순차적으로 검사한다.
제4 단계는 하기 수학식 1과 같이 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일한 경우 비용을 '0'으로 설정하고, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일하지 않은 경우 상기 비용을 '1'로 설정한다.
Figure 112006084898647-pat00001
제5 단계는 상기 매트릭스의 값(d[i,j])을 'd[i-1,j]+1', 'd[i,j-1]+1', 'd[i-1,j-1]+방금 정한 비용' 중 최소값으로 결정한다.
제6 단계는 상기 제3 단계 내지 상기 제5 단계를 반복하여 수행한다.
도 3 내지 도 5를 참조하면, i가 1, 4, 5인 경우 종래 LD 알고리즘을 수행한 결과를 나타낸다. i가 4일 때 'U'와 'A'가 다른 지점에서 비용이 '1'이 되고, i가 5일 때 'L'과 'O'가 다르기 때문에 이전 비용까지 누적되어 상기 LD 알고리즘에 따라 'GUMBO'와 'GAMBOL'의 LD는 '2'임을 알 수 있다.
이와 같이, 종래 LD 알고리즘은 상기 제1 문자열의 문자와 상기 제2 문자열의 문자를 순차적으로 비교하여 상기 제1 문자열과 상기 제2 문자열의 차이에 따른 LD을 계산한다.
사용자가 예를 들어 'naver'를 'naber'라는 단어로 잘못 입력하였다고 가정할 때 종래 bigram 모델로 추출된 단어들 중 LD가 '1' 단어들을 유사도에 따라 'nabe, nber, saber, caber, naver'로 나열할 수 있다.
그러나, 'b'와 'v'가 키보드 배열상 인접해 있기 때문에 상기 나열된 단어 중 'saber'나 'caber'인 경우 보다 'naver'가 사용자가 원하는 단어일 가능성이 높다고 볼 수 있다.
하지만, 종래 bigram 모델에 따른 유사도로 정렬하면 사용자가 원하는 'naver'가 5위권으로 밀려나게 되므로 2진 측도(binary measure)인 종래 LD 알고리즘을 이용한 단어 추천 방법은 사용자 원하는 단어를 제대로 추천할 수 없는 문제점이 있다.
본 발명은 상기와 같은 종래기술을 개선하기 위해 안출된 것으로서, 키 배열 정보를 반영하여 사용자 입력과 가급적 유사한 단어를 추천하는 방법 및 그 시스템을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 키 배열 정보를 반영하여 사용 빈도가 높은 단어를 추천하는 방법 및 그 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 키 배열의 인접도에 따라 종래 LD 알고리즘을 수정하여 유사한 단어를 추천하는 방법 및 그 시스템을 제공하는 것이다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 제1 문자열의 문자와 제2 문자열의 문자를 순차적으로 비교하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는 경우, 상기 비교 결과 값을 제1 값으로 설정하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하지 않은 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인지 여부를 판단하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인 경우, 상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정하는 단계와, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 경우, 상기 비교 결과 값을 제3 값으로 설정하는 단계와, 상기 설정된 비교 결과 값에 따라 상기 제1 문자열과 상기 제2 문자열의 유사도를 계산하는 단계와, 사용자로부터 단어를 입력 받고 상기 계산된 유사도에 따라 상기 입력된 단어와 유사한 단어를 추천하는 단계를 포함하는 것을 특징으로 하는 단어 추천 방법을 제공한다.
본 발명의 다른 일측에 따르는 단어 추천 시스템은, 복수 개의 단어를 기록하고 유지하는 데이터베이스와, 상기 복수 개의 단어 중 제1 문자열의 문자와 제2 문자열의 문자를 순차적으로 비교하는 비교부와, 상기 비교 결과에 따라 상기 제1 문자열의 문자와 상기 제2 문자열의 문자에 대한 키 배열의 인접도를 반영하여 상기 제1 문자열과 상기 제2 문자열의 비교 결과 값을 설정하는 설정부와, 상기 설정된 비교 결과 값에 따라 상기 제1 문자열과 상기 제2 문자열의 유사도를 계산하는 계산부와, 사용자로부터 단어를 입력 받는 입력부 및 상기 데이터베이스에 기록된 복수 개의 단어 중 상기 계산된 유사도에 따라 상기 입력된 단어와 유사한 단어를 추천하는 추천부를 포함한다.
이하에서는 첨부된 도면들을 참조하여 본 발명의 실시예에 따른 단어 추천 방법 및 그 시스템을 상세히 설명한다.
도 6은 본 발명에 따른 단어 추천 시스템과 사용자 단말기간의 연동 관계를 나타내는 도면이다.
도 6을 참조하면, 단어 추천 시스템(600)은 사용자의 입력과 유사한 단어를 추천하기 위해 복수 개의 단어를 데이터베이스에 기록하고 유지한다. 단어 추천 시스템(600)은 상기 복수 개의 단어에 포함된 문자의 키 배열 정보를 반영하여 상기 복수 개의 단어간 유사도를 계산하고, 상기 계산된 유사도에 따라 상기 사용자에 입력된 단어와 유사한 단어를 추천한다. 즉, 단어 추천 시스템(600)은 통신망(605)을 통해 사용자 단말기(610a, 610b)로부터 전송되는 상기 사용자에 의해 입력된 단어 데이터를 수신하고, 상기 계산된 유사도에 따라 상기 수신된 단어 데이터와 유사한 단어 데이터를 통신망(605)을 통해 사용자 단말기(610a, 610b)로 제공한다.
사용자 단말기(610a, 610b)는 통신망(605)을 통해 단어 추천 시스템(600)과 접속하고, 상기 사용자로부터 입력된 단어 데이터를 단어 추천 시스템(600)으로 전송하고, 단어 추천 시스템(600)으로부터 상기 입력된 단어 데이터와 유사한 단어 데이터를 제공 받는다.
이와 같이, 본 발명에 따른 단어 추천 시스템(600)은 단어에 포함된 문자에 대한 키 배열 정보를 이용하여 단어간의 유사도를 계산함으로써 사용자가 인접한 키를 잘못 눌러서 입력된 단어의 오류가 발생하는 경우를 고려하여 사용자의 입력과 유사한 단어를 추천할 수 있다.
도 7은 본 발명의 일실시예에 따른 단어 추천 시스템의 구성을 나타내는 도면이다.
도 7을 참조하면, 단어 추천 시스템(600)은 데이터베이스(710), 비교부(720), 설정부(730), 계산부(740), 입력부(750) 및 추천부(760)를 포함한다.
데이터베이스(710)는 복수 개의 단어를 기록하고 유지한다. 즉, 데이터베이스(710)는 사용자의 입력과 유사한 단어를 추천하기 위해 각종 단어 데이터를 기록하고 유지한다.
비교부(720)는 상기 복수 개의 단어 중 제1 문자열의 문자와 제2 문자열의 문자를 순차적으로 비교한다. 예를 들어, 상기 제1 문자열이 i개의 문자로 구성되고, 상기 제2 문자열이 j개의 문자로 구성된 경우, 비교부(720)는 상기 제1 문자열의 첫 번째 문자와 상기 제2 문자열의 첫 번째 문자를 비교한 후 상기 제1 문자열의 두 번째 문자와 상기 제2 문자열의 두 번째 문자를 비교하는 방식으로 상기 제1 문자열의 i 번째 문자와 상기 제2 문자열의 j 번째 문자까지 순차적으로 비교한다.
설정부(730)는 상기 비교 결과에 따라 상기 제1 문자열의 문자와 상기 제2 문자열의 문자에 대한 키 배열의 인접도를 반영하여 상기 제1 문자열과 상기 제2 문자열의 비교 결과 값을 설정한다. 상기 키 배열의 인접도는 도 8을 참조하여 하기에서 보다 상세하게 설명하기로 한다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는 경우, 설정 부(730)는 상기 비교 결과 값을 제1 값으로 설정한다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하지 않고, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인 경우, 설정부(730)는 상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정한다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 경우, 설정부(730)는 상기 비교 결과 값을 제3 값으로 설정한다.
즉, 설정부(730)는 상기 비교 결과에 따라 상기 제1 문자열의 문자와 상기 제2 문자열의 문자에 대한 키 배열의 인접도를 반영하여 하기 수학식 2와 같이 상기 제1 문자열과 상기 제2 문자열의 비교 결과 값을 다음과 같이 각 경우에 따라 설정한다.
상기 비교 결과에 따라 하기 수학식 2와 같이 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일한 경우, 설정부(730)는 상기 비교 결과 값을 '0'으로 설정한다.
상기 비교 결과에 따라 하기 수학식 2와 같이 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일하지 않고, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자에 대한 키 배열이 인접한 경우, 설정부(730)는 하기 수학식 2와 같이 상기 비교 결과 값을 'evalcost'에 의해 결정된 값으로 설정한다. 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일하지 않으나 상기 키 배열이 인접한 경우, 설정부(730)는 상기 키 배열의 인접도에 따라 상기 비교 결과 값을 각기 다르 게 설정할 수 있다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일하지 않고, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자에 대한 키 배열이 인접하지 않은 경우, 설정부(730)는 하기 수학식 2와 같이 상기 비교 결과 값을 '1'로 설정한다.
Figure 112006084898647-pat00002
계산부(740)는 상기 설정된 비교 결과 값에 따라 상기 제1 문자열과 상기 제2 문자열의 유사도를 계산한다. 즉, 계산부(740)는 상기 설정된 비교 결과 값(LD)에 따라 하기 수학식 3을 이용하여 최종 유사도(Final Similarity)를 계산한다.
Figure 112006084898647-pat00003
입력부(750)는 사용자로부터 단어를 입력 받는다.
추천부(760)는 데이터베이스(710)에 기록된 복수 개의 단어 중 상기 계산된 유사도에 따라 상기 입력된 단어와 유사한 단어를 추천한다. 추천부(760)는 상기 비교 결과 값 및 상기 계산된 유사도에 따라 추천 단어 개수를 결정하고, 상기 결정된 추천 단어 개수에 따라 상기 데이터베이스에 기록된 복수 개의 단어 중 상기 입력된 단어와 유사한 단어를 추천한다. 추천부(760)는 상기 계산된 최종 유사도 에 따라 상기 복수 개의 단어를 정렬하고, 상기 비교 결과 값과 상기 최종 계산된 유사도의 분포에 따라 추천 단어를 결정한다.
추천부(760)는 후보 단어들의 비교 결과 값(LD)과 상기 계산된 유사도(Final Similarity) 분포로부터 각각 표준편차(σLD, σFinalSim)를 구하고, 가장 유사도가 높은 단어의 비교 결과 값과 상기 최종 유사도와 표준편차의 차이를 따져서 추천 단어의 수를 1~3개로 제한한다. 1위 후보 단어와 2위 후보 단어의 최종 유사도 차이가 σFinalSim/2인 경우, 추천부(760)는 상기 최종 유사도에 의한 추천 단어를 1개로 한다. 상기 1위 후보 단어와 상기 2위 후보 단어의 최종 유사도 차이가 σFinalSim/2가 아닌 경우, 추천부(760)는 상기 2위 후보 단어와 3위 후보 단어에 대해서도 최종 유사도 차이를 검사하여 그 차이가 σFinalSim/2이면, 상기 추천 단어를 2개로 하고, 그렇지 않은 경우 상기 추천 단어를 3개로 한다.
또한, 추천부(760)는 상기 비교 결과 값에 대해서도 상기 유사도에 대한 추천 단어의 개수를 결정하는 방식과 동일하게 σLD/2와 비교하여 후보 단어 개수를 구한 후 두 후보 단어 개수 중 작은 값을 추천 단어 개수로 결정한다. 단, σLD는 분포 수치가 크기 때문에 상기 비교 결과 값에 대한 기준(LDthreshold)값 이상의 비교 결과 값을 제외하고, 표준 편차를 구한다. 상기 비교 결과 값에 대한 기준(LDthreshold)값은 하기 수학식 4와 같다.
Figure 112006084898647-pat00004
이와 같이, 본 발명에 따른 단어 추천 시스템(600)은 키 배열 정보를 반영하여 사용자 입력과 최대한 유사한 단어를 후보 단어로 추천할 수 있다.
도 8은 키 배열의 일례를 나타내는 도면이다.
도 8을 참조하면, 참조부호(810)는 'K'키가 'U, I, J, L, N, M'와 같이 여섯 개의 키로 둘러 싸여져 있는 키 배열 상태를 나타낸다. 상기 키 배열은 정확히 격자형으로 이루어진 것이 아니라 약간 비틀린 상태로 인접해 있다. 일반적으로 키보드에서 'K'키뿐만 아니라 다른 키들도 이와 동일한 방식으로 하나의 키를 중심으로 여섯 개의 키로 둘러 싸여져 있다.
참조부호(820)는 'K'키의 중심으로부터 각 키의 중심까지의 거리를 나타낸다. 참조부호(821)는 'K'키의 중심으로부터 'U'키의 중심까지의 거리를 나타내고, 참조부호(822)는 'K'키의 중심으로부터 'I'키의 중심까지의 거리를 나타내고, 참조부호(823)는 'K'키의 중심으로부터 'L'키의 중심까지의 거리를 나타내고, 참조부호(824)는 'K'키의 중심으로부터 'M'키의 중심까지의 거리를 나타내고, 참조부호(825)는 'K'키의 중심으로부터 'N'키의 중심까지의 거리를 나타내고, 참조부호(826)는 'K'키의 중심으로부터 'J'키의 중심까지의 거리를 나타낸다.
상기 각 키의 중심간의 거리에 대한 대소 관계는 다음과 같다.
(821) = (823) = (826) < (824) = (825) < (822)
일반적으로 인접한 키들 중에서 가까운 거리의 키를 잘못 누를 확률이 높다. 따라서, 본 발명에 따른 단어 추천 시스템은 잘못 누를 확률이 높은 문자 즉, 'naber' 및 'naver'와 같이 'b'와 'v'가 서로 인접한 키 배열인 문자에 대해 비교 결과 값을 낮추어 상대적으로 인접하지 않은 키 배열인 문자인 'saber, caber'보다 유사도를 높일 수 있도록 한다. 예를 들어, 사용자가 키보드 입력의 잘못으로 인해 두 문자를 바꾸어 쓴 경우, 종래 LD의 경우는 최소 비용이 '2'인데 반해 본 발명에 따른 단어 추천 시스템은 가장 가까이 인접한 키로 인해 바꿔 쓰기에 대한 가능성이 있는 단어에 대해서 문자를 비교한 결과 일치하지 않더라도 가장 가까이 인접한 키인 경우 종래 LD 방식에 의한 '1' 대신에 '0.5'이하로 그 비교 결과 값을 낮춤으로써 최소 비용을 '1'이하로 떨어지도록 할 수 있다.
단어 추천 시스템(600)은 예를 들어, 비교하는 문자간의 키 배열이 좌우 인접한 경우 또는 좌상 인접한 경우 eval-cost를 '0.4'로 결정하고, 상기 비교하는 문자간의 키 배열이 좌하 인접한 경우 또는 우하 인접한 경우 상기 eval-cost를 '0.7'로 결정하고, 상기 비교하는 문자간의 키 배열이 우상 인접한 경우 상기 eval-cost를 '0.95'로 결정할 수 있다. 단어 추천 시스템(600)은 상기 eval-cost를 키보드의 키 배열 및 상기 키 배열에 따른 각 키간의 인접도에 따라 그 값을 각기 다르게 결정할 수 있다.
도 9는 2차원 float형 배열이 포함된 프로그램 헤더의 일례를 나타내는 도면이다.
도 9를 참조하면, 단어 추천 시스템(600)은 좌우 인접, 좌상 인접, 좌하 인 접, 우상 인접, 또는 우하 인접 등과 같이 비교하는 문자간의 키 배열 정보에 따라 eval-cost 함수를 결정한다. 상기 비교하는 문자가 'n'과 'm'인 경우, 단어 추천 시스템(600)은 서로 좌우 인접한 키 배열이므로 eval-cost 함수를 'DR'로 결정한다. 상기 비교하는 문자가 'w'와 's'인 경우, 단어 추천 시스템(600)은 단어 추천 시스템(600)은 's'를 기준으로 'w'가 왼쪽 상단에 위치한 좌상 인접한 키 배열이므로 상기 eval-cost 함수를 'DU'로 결정한다. 상기 비교하는 문자가 's'와 'z'인 경우, 단어 추천 시스템(600)은 's'를 기준으로 'z'가 왼쪽 하단에 위치한 좌하 인접 키 배열이므로 상기 eval-cost 함수를 'DD'로 결정한다. 상기 비교하는 문자가 'w'와 'a'인 경우, 단어 추천 시스템(600)은 'a'를 기준으로 'w'가 오른쪽 상단에 위치한 우상 인접 키 배열이므로 상기 eval-cost 함수를 'DUL'로 결정한다.
도 10은 eval-cost 함수를 float형 27*27 매트릭스로 구현한 일례를 나타내는 도면이다.
도 10을 참조하면, 키보드의 문자 키에 대해 각 키들 상호간의 배열 위치에 따른 배열 인접도가 반영된 매트릭스이다. 여기서, 'DO'는 비교되는 문자의 키간 서로 전혀 인접하지 않은 경우로서 그 값이 '1'이다. 'DUL'는 상기 비교되는 문자의 키가 우상 인접한 경우로서 인접한 키 중 상호 거리가 가장 긴 경우로서 그 값이 '0.95'이다. 'DR'은 상기 비교되는 문자의 키가 좌우 인접한 경우로서 상기 인접한 키 중 상호 거리가 가장 짧은 경우로서 그 값이 '0.4'이다. 'DU'는 상기 비교되는 문자의 키가 좌상 인접한 경우로서 상기 인접한 키 중 상호 거리가 두 번째로 짧은 경우로서 그 값이 '0.5'이다. 'DD'는 상기 비교되는 문자의 키가 우좌하 인접한 경우로서 상기 인접한 키 중 상호 거리가 세 번째로 짧은 경우로서 그 값이 '0.7'이다.
이와 같이, 본 발명에 따른 단어 추천 시스템은 단어간의 유사도를 계산할 때 단어에 포함된 문자의 키 배열 정보를 고려함으로써 사용자의 키 입력 오류로 인한 경우 사용자가 원하는 단어를 보다 정확하게 추천할 수 있다.
도 11은 본 발명의 다른 실시예에 따른 단어 추천 방법의 흐름을 나타내는 도면이다.
도 11을 참조하면, 단계(S1110)에서 단어 추천 시스템은 제1 문자열의 문자와 제2 문자열의 문자를 순차적으로 비교한다. 상기 단어 추천 시스템은 추천 단어로 사용하기 위해 복수 개의 단어를 데이터베이스에 기록하고 유지한다. 상기 제1 문자열과 상기 제2 문자열은 상기 복수 개의 단어 중 유사도를 비교하기 위해서 선택된 단어들이다.
상기 제1 문자열이 i개의 문자로 구성되고, 상기 제2 문자열이 j개의 문자로 구성된 경우, 단계(S1110)에서 상기 단어 추천 시스템은 상기 제1 문자열의 첫 번째 문자와 상기 제2 문자열의 첫 번째 문자를 비교한 후 상기 제1 문자열의 두 번째 문자와 상기 제2 문자열의 두 번째 문자를 비교하는 방식으로 상기 제1 문자열의 i 번째 문자와 상기 제2 문자열의 j 번째 문자까지 순차적으로 비교한다.
단계(S1120)에서 상기 단어 추천 시스템은 상기 비교 결과 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는지 여부를 판단한다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는 경우, 단 계(S1130)에서 상기 단어 추천 시스템은 상기 비교 결과 값을 제1 값으로 설정한다. 상기 단어 추천 시스템은 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는 경우, 예를 들어 상기 제1 값을 '0'으로 설정할 수 있다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하지 않은 경우, 단계(S1140)에서 상기 단어 추천 시스템은 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인지 여부를 판단한다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인 경우, 단계(S1150)에서 상기 단어 추천 시스템은 상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정한다.
단계(S1150)에서 상기 단어 추천 시스템은 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 서로 좌우 인접한 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 좌상 인접한 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 우좌하 인접한 경우 또는 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 우상 인접한 경우에 따라 각기 다르게 부여된 제2 값으로 설정한다.
상기 키 배열의 인접도가 상기 좌우 인접한 경우 또는 상기 좌상 인접한 경우, 단계(S1150)에서 상기 단어 추천 시스템은 상기 비교 결과 값을 제2-1 값으로 설정한다. 상기 제2-1 값은 예를 들어 '0.4'로 설정될 수 있다.
상기 키 배열의 인접도가 상기 우좌하 인접한 경우, 단계(S1150)에서 상기 단어 추천 시스템은 상기 비교 결과 값을 제2-2 값으로 설정한다. 상기 제2-2 값은 예를 들어 '0.7'로 설정될 수 있다.
상기 키 배열의 인접도가 상기 우상 인접한 경우, 단계(S1150)에서 상기 단어 추천 시스템은 상기 비교 결과 값을 제2-3 값으로 설정한다. 상기 제2-3 값은 예를 들어 '0.95'로 설정될 수 있다.
이와 같이, 단계(S1150)에서 상기 추천 시스템은 상기 키 배열의 인접도에 따라 상기 비교 결과 값을 각기 다르게 설정할 때 상기 제2-1 값을 상기 제2-2 값보다 작게 설정하고, 상기 제2-2 값을 상기 제2-3 값보다 작게 설정할 수 있다.
상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 경우, 단계(S1160)에서 상기 단어 추천 시스템은 상기 비교 결과 값을 제3 값으로 설정한다.
단계(S1170)에서 상기 단어 추천 시스템은 상기 설정된 비교 결과 값에 따라 상기 제1 문자열과 상기 제2 문자열의 유사도를 계산한다.
단계(S1180)에서 상기 단어 추천 시스템은 사용자로부터 단어를 입력 받는다.
단계(S1190)에서 상기 단어 추천 시스템은 상기 계산된 유사도에 따라 상기 입력된 단어와 유사한 단어를 추천한다. 즉, 단계(S1190)에서 상기 단어 추천 시스템은 상기 비교 결과 값 및 상기 계산된 유사도에 따라 추천 단어 개수를 결정하고, 상기 결정된 추천 단어 개수에 따라 상기 입력된 단어와 유사한 단어를 추천한다.
단계(S1190)에서 상기 단어 추천 시스템은 제1 후보 단어와 제2 후보 단어의 유사도 차이를 비교하여 상기 추천 단어 개수를 결정하고, 상기 결정된 추천 단어 개수에 따라 상기 입력된 단어와 유사한 단어를 추천한다.
상기 단어 추천 시스템은 후보 단어들의 비교 결과 값(LD)과 상기 계산된 유사도(Final Similarity) 분포로부터 각각 표준편차(σLD, σFinalSim)를 구하고, 가장 유사도가 높은 단어의 비교 결과 값과 상기 최종 유사도와 표준편차의 차이를 따져서 추천 단어의 수를 1~3개로 제한할 수 있다. 1위 후보 단어와 2위 후보 단어의 최종 유사도 차이가 σFinalSim/2인 경우, 상기 단어 추천 시스템은 상기 최종 유사도에 의한 추천 단어를 1개로 한다. 상기 1위 후보 단어와 상기 2위 후보 단어의 최종 유사도 차이가 σFinalSim/2가 아닌 경우, 상기 단어 추천 시스템은 상기 2위 후보 단어와 3위 후보 단어에 대해서도 최종 유사도 차이를 검사하여 그 차이가 σF inalS im/2이면, 상기 추천 단어를 2개로 하고, 그렇지 않은 경우 상기 추천 단어를 3개로 한다.
또한, 단어 추천 시스템은 상기 비교 결과 값에 대해서도 상기 유사도에 대한 추천 단어의 개수를 결정하는 방식과 동일하게 σLD/2와 비교하여 후보 단어 개수를 구한 후 두 후보 단어 개수 중 작은 값을 추천 단어 개수로 결정한다. 단, σLD는 분포 수치가 크기 때문에 상기 비교 결과 값에 대한 기준(LDthreshold)값 이상의 비교 결과 값을 제외하고, 표준 편차를 구한다.
이와 같이, 본 발명에 따른 단어 추천 방법은 키 배열 정보를 반영하여 사용자 입력과 최대한 유사한 단어를 후보 단어로 추천할 수 있다.
또한 본 발명에 따른 단어 추천 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명 사상의 범주에 속한다고 할 것이다.
본 발명에 따르면, 키 배열 정보를 반영하여 사용자 입력과 가급적 유사한 단어를 추천하는 방법 및 그 시스템을 제공할 수 있다.
또한 본 발명에 따르면, 키 배열 정보를 반영하여 사용 빈도가 높은 단어를 추천하는 방법 및 그 시스템을 제공할 수 있다.
또한 본 발명에 따르면, 키 배열의 인접도에 따라 종래 LD 알고리즘을 수정하여 유사한 단어를 추천하는 방법 및 그 시스템을 제공할 수 있다.

Claims (11)

  1. 제1 문자열의 문자와 제2 문자열의 문자를 순차적으로 비교하는 단계;
    상기 비교 결과 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자를 순차적으로 비교한 결과 값을 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일한 상태를 나타내는 제1 값으로 설정하는 단계;
    상기 비교 결과 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하지 않은 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인지 여부를 판단하는 단계;
    상기 판단 결과 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인 경우, 상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정하는 단계;
    상기 판단 결과 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자를 순차적으로 비교한 결과 값을 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 상태를 나타내는 제3 값으로 설정하는 단계;
    상기 설정된 비교 결과 값에 따라 상기 제1 문자열과 상기 제2 문자열의 유사도를 계산하는 단계; 및
    사용자로부터 단어를 입력 받고, 상기 계산된 유사도에 따라 상기 입력된 단어와 유사한 단어를 상기 사용자에게 추천하는 단계
    를 포함하는 것을 특징으로 하는 단어 추천 방법.
  2. 제1항에 있어서,
    상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정하는 상기 단계는,
    상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 서로 좌우 인접한 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 좌상 인접한 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 우좌하 인접한 경우 또는 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 우상 인접한 경우에 따라 각기 다르게 부여된 제2 값으로 설정하는 것을 특징으로 하는 단어 추천 방법.
  3. 제2항에 있어서,
    상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정하는 상기 단계는,
    상기 키 배열의 인접도가 상기 좌우 인접한 경우 또는 상기 좌상 인접한 경우, 상기 비교 결과 값을 상기 키 배열의 인접도가 상기 좌우 인접한 경우 또는 상기 좌상 인접한 상태인 것을 나타내는 제2-1 값으로 설정하고,
    상기 키 배열의 인접도가 상기 우좌하 인접한 경우, 상기 비교 결과 값을 상기 키 배열의 인접도가 상기 우좌하 인접한 상태인 것을 나타내는 제2-2 값으로 설정하고,
    상기 키 배열의 인접도가 상기 우상 인접한 경우, 상기 비교 결과 값을 상기 키 배열의 인접도가 상기 우상 인접한 상태인 것을 나타내는 제2-3 값으로 설정하는 것을 특징으로 하는 단어 추천 방법.
  4. 제3항에 있어서,
    상기 제2-1 값은 상기 제2-2 값보다 작고, 상기 제2-2 값은 상기 제2-3 값보 다 작은 것을 특징으로 하는 단어 추천 방법.
  5. 제1항에 있어서,
    상기 계산된 유사도에 따라 상기 입력된 단어와 유사한 단어를 추천하는 상기 단계는,
    상기 설정된 비교 결과 값 및 상기 계산된 유사도를 기준으로 하여 추천 단어 개수를 결정하는 단계; 및
    상기 결정된 추천 단어 개수에 따라 상기 입력된 단어와 유사한 단어를 추천하는 단계
    를 포함하는 것을 특징으로 하는 단어 추천 방법.
  6. 제5항에 있어서,
    상기 설정된 비교 결과 값 및 상기 계산된 유사도를 기준으로 하여 추천 단어 개수를 결정하는 상기 단계는,
    제1 후보 단어와 제2 후보 단어의 유사도 차이를 비교하여 상기 추천 단어 개수를 결정하는 것을 특징으로 하는 단어 추천 방법.
  7. 제5항에 있어서,
    상기 설정된 비교 결과 값 및 상기 계산된 유사도를 기준으로 하여 추천 단어 개수를 결정하는 상기 단계는,
    제1 후보 단어와 제2 후보 단어에 대한 비교 결과 값의 표준 편차와 비교하여 상기 후보 단어의 개수를 구하는 단계; 및
    상기 후보 단어 개수 중 작은 값을 상기 추천 단어 개수로 결정하는 단계
    를 포함하는 것을 특징으로 하는 단어 추천 방법.
  8. 제1항 내지 제7항 중 어느 한 항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록매체.
  9. 복수 개의 단어를 기록하고 유지하는 데이터베이스;
    상기 복수 개의 단어 중 제1 문자열의 문자와 제2 문자열의 문자를 순차적으로 비교하는 비교부;
    상기 비교 결과에 따라 상기 제1 문자열의 문자와 상기 제2 문자열의 문자에 대한 키 배열의 인접도를 반영하여 상기 제1 문자열과 상기 제2 문자열의 비교 결과 값을 설정하는 설정부;
    상기 설정된 비교 결과 값을 기준으로 하여 상기 제1 문자열과 상기 제2 문자열의 유사도를 계산하는 계산부;
    사용자로부터 단어를 입력 받는 입력부; 및
    상기 데이터베이스에 기록된 복수 개의 단어 중 상기 계산된 유사도를 기준으로 하여 상기 입력된 단어와 유사한 단어를 상기 사용자에게 추천하는 추천부
    를 포함하는 것을 특징으로 하는 단어 추천 시스템.
  10. 제9항에 있어서,
    상기 설정부는,
    상기 비교 결과에 따라 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하는 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자를 순차적으로 비교한 결과 값을 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 동일한 상태를 나타내는 제1 값으로 설정하고,
    상기 비교 결과에 따라 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 일치하지 않고, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열인 경우, 상기 비교 결과 값을 상기 키 배열의 인접도에 따라 부여된 제2 값으로 설정하고,
    상기 비교 결과에 따라 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 경우, 상기 제1 문자열의 문자와 상기 제2 문자열의 문자를 순차적으로 비교한 결과 값을 상기 제1 문자열의 문자와 상기 제2 문자열의 문자가 인접한 키 배열이 아닌 상태를 나타내는 제3 값으로 설정하는 것을 특징으로 하는 단어 추천 시스템.
  11. 제9항에 있어서,
    상기 추천부는,
    상기 비교 결과 값 및 상기 계산된 유사도를 기준으로 하여 추천 단어 개수를 결정하고, 상기 결정된 추천 단어 개수에 따라 상기 데이터베이스에 기록된 복수 개의 단어 중 상기 입력된 단어와 유사한 단어를 추천하는 것을 특징으로 하는 단어 추천 시스템.
KR1020060114748A 2006-11-20 2006-11-20 키 배열 정보를 이용한 단어 추천 방법 및 그 시스템 KR100835289B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060114748A KR100835289B1 (ko) 2006-11-20 2006-11-20 키 배열 정보를 이용한 단어 추천 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060114748A KR100835289B1 (ko) 2006-11-20 2006-11-20 키 배열 정보를 이용한 단어 추천 방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20080045530A KR20080045530A (ko) 2008-05-23
KR100835289B1 true KR100835289B1 (ko) 2008-06-05

Family

ID=39662921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060114748A KR100835289B1 (ko) 2006-11-20 2006-11-20 키 배열 정보를 이용한 단어 추천 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR100835289B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170026808A (ko) 2015-08-28 2017-03-09 전자부품연구원 문자열의 유사도 비교 장치 및 방법
KR20200077814A (ko) 2018-12-21 2020-07-01 전자부품연구원 음소기반 유해단어 비교 장치 및 그 동작방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104462322B (zh) * 2014-12-01 2018-02-02 北京国双科技有限公司 字符串比对方法和装置
GB2535439A (en) * 2015-01-06 2016-08-24 What3Words Ltd A method for suggesting candidate words as replacements for an input string received at an electronic device
CN112540756B (zh) * 2020-12-01 2024-05-31 杭州讯酷科技有限公司 一种基于光标位置推荐字段的ui界面构建方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010073506A (ko) * 2000-01-17 2001-08-01 정명식 한국어 문자열간의 전역 유사도 측정 방법
KR20010095304A (ko) * 2000-04-04 2001-11-03 니시무로 타이죠 단어열 대조장치, 단어열 대조방법 및 주소 인식장치
KR20050115474A (ko) * 2004-06-03 2005-12-08 엘지전자 주식회사 이동통신 단말기에서 글자/숫자 자동 완성 방법 및 그단말기

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010073506A (ko) * 2000-01-17 2001-08-01 정명식 한국어 문자열간의 전역 유사도 측정 방법
KR20010095304A (ko) * 2000-04-04 2001-11-03 니시무로 타이죠 단어열 대조장치, 단어열 대조방법 및 주소 인식장치
KR20050115474A (ko) * 2004-06-03 2005-12-08 엘지전자 주식회사 이동통신 단말기에서 글자/숫자 자동 완성 방법 및 그단말기

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170026808A (ko) 2015-08-28 2017-03-09 전자부품연구원 문자열의 유사도 비교 장치 및 방법
KR20200077814A (ko) 2018-12-21 2020-07-01 전자부품연구원 음소기반 유해단어 비교 장치 및 그 동작방법

Also Published As

Publication number Publication date
KR20080045530A (ko) 2008-05-23

Similar Documents

Publication Publication Date Title
US8201087B2 (en) Spell-check for a keyboard system with automatic correction
US8892996B2 (en) Spell-check for a keyboard system with automatic correction
US9305264B2 (en) Method and system for improved pattern matching
Harmanci et al. Efficient pairwise RNA structure prediction using probabilistic alignment constraints in Dynalign
US9052748B2 (en) System and method for inputting text into electronic devices
US7657506B2 (en) Methods and apparatus for automated matching and classification of data
CN107704102B (zh) 一种文本输入方法及装置
US7689638B2 (en) Method and device for determining and outputting the similarity between two data strings
KR100835289B1 (ko) 키 배열 정보를 이용한 단어 추천 방법 및 그 시스템
CN101647021A (zh) 语音数据检索装置、语音数据检索方法、语音数据检索程序和包含有语音数据检索程序的计算机可用介质
US8532988B2 (en) Searching for symbol string
US8060494B2 (en) Indexing and searching audio using text indexers
CN107688488B (zh) 一种基于元数据的任务调度的优化方法及装置
EP2636149A1 (en) Spell-check for a keyboard system with automatic correction
CN116562297B (zh) 基于HTrie树的中文敏感词变形体识别方法及系统
US8112430B2 (en) System for modifying a rule base for use in processing data
US20050216265A1 (en) Representation of a deleted interpolation N-gram language model in ARPA standard format
KR101615164B1 (ko) 엔-그램 기반의 질의 처리 장치 및 그 방법
CN108304467B (zh) 用于文本间匹配的方法
CN115577147A (zh) 可视化情报图谱检索方法、装置、电子设备及存储介质
KR101452638B1 (ko) 유사 문자열 검색 방법 및 장치
CN113190644A (zh) 热更新搜索引擎分词字典的方法及装置
US20050160055A1 (en) Method and device for dividing a population of individuals in order to predict modalities of a given target attribute
CN112001168B (zh) 词语纠错方法、装置、电子设备及存储介质
Badr et al. On optimizing syntactic pattern recognition using tries and AI-based heuristic-search strategies

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
FPAY Annual fee payment

Payment date: 20110414

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130329

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160329

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 12