KR20100132829A - A character row searching apparatus and method - Google Patents

A character row searching apparatus and method Download PDF

Info

Publication number
KR20100132829A
KR20100132829A KR1020090051615A KR20090051615A KR20100132829A KR 20100132829 A KR20100132829 A KR 20100132829A KR 1020090051615 A KR1020090051615 A KR 1020090051615A KR 20090051615 A KR20090051615 A KR 20090051615A KR 20100132829 A KR20100132829 A KR 20100132829A
Authority
KR
South Korea
Prior art keywords
matching
result data
search
character
data
Prior art date
Application number
KR1020090051615A
Other languages
Korean (ko)
Other versions
KR101127012B1 (en
Inventor
진정우
Original Assignee
(주)엠앤소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)엠앤소프트 filed Critical (주)엠앤소프트
Priority to KR1020090051615A priority Critical patent/KR101127012B1/en
Publication of KR20100132829A publication Critical patent/KR20100132829A/en
Application granted granted Critical
Publication of KR101127012B1 publication Critical patent/KR101127012B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

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

PURPOSE: A character row searching apparatus and a method thereof are provided to improve the searching speed and accuracy by separating a character string from characters and performing a searching operation for each character. CONSTITUTION: A character string parser(110) parses a searching word based on a discriminator, and a matching buffer(130) stores the matching result data for the parsed character string. A matching unit(120) searches the matching result data corresponding to the character string by comparing the parsed character string with a database and stores the matching result data at the matching buffer. A filtering unit(140) extracts the overlapped data based on the comparison and generates search result data.

Description

문자열 검색 장치 및 방법{A CHARACTER ROW SEARCHING APPARATUS AND METHOD}A CHARACTER ROW SEARCHING APPARATUS AND METHOD}

본 발명은 문자열 검색에 관한 것으로, 더욱 상세하게는 결합 검색 시 검색 속도와 검색의 정확도를 높일 수 있는 문자열 검색 장치 및 방법에 관한 것이다.The present invention relates to a string search, and more particularly, to a string search apparatus and method that can increase the speed and accuracy of the search in a combined search.

네비게이션 시스템은 위성 항법 장치(GPS)와 연결되어 자동차에 설치되거나 혹은 사용자가 들고 다니면서 목적지의 위치 및 목적지에 도달하기 위한 길을 찾아주고 안내하는 프로그램을 탑재하는 시스템이다.A navigation system is a system installed in a vehicle connected to a satellite navigation system (GPS) or equipped with a program that locates and guides a user's location and a route to reach a destination while being carried by a user.

이와 같은 네비게이션 시스템에서 사용자가 알고자 하는 시설물의 위치를 검색하기 위해서 가장 많이 사용하는 기능은 명칭 검색이다. 이는 특정한 명칭을 입력해서 시설명과 위치 좌표로 이루어진 데이터베이스로부터 알고자 하는 시설물에 대한 위치 정보를 검색하는 기능으로, 일반적인 네비게이션에서 기본적으로 제공하고 있는 보편적인 기능이다.In such a navigation system, a name search is most often used to search for a location of a facility that a user wants to know. This is a function that searches for location information about a facility to be known from a database consisting of a facility name and location coordinates by inputting a specific name. It is a universal function basically provided in general navigation.

그러므로, 네비게이션 시스템에서 명칭 검색을 빠르고 간편하게 수행할 수 있도록 하기 위한 여러 방법들이 연구되고 있다. 현재까지 구현된 명칭 검색 방법은 시작어 검색 기능, 초성 검색 기능, 키워드 검색 기능 중간어 검색 기능, 키워드들간의 결합 검색 기능 등이 있다.Therefore, various methods for quickly and easily performing a name search in a navigation system have been studied. Name search methods implemented to date include a start word search function, a first search function, a keyword search function, a middle word search function, and a combined search function between keywords.

하기에서는 각각의 검색 기능에 대해 구체적으로 살펴보기로 한다. Hereinafter, each search function will be described in detail.

예를 들어, 검색하기 위한 명칭이 경기도 용인시 수지구 풍덕천2동에 위치한 "수지 삼성 래미안 아파트 6차"인 경우, 시작어 검색 기능은 "수지삼성"이라는 단어를 입력하여 해당 단어로 시작하는 모든 시설명 데이터베이스를 검색하여 원하는 결과를 얻는 기능이고, 초성 검색 기능은 "ㅅㅈㅅㅅㄹㅁㅇㅇㅍㅌ"와 같이 검색하고자 하는 단어의 초성만을 입력해서 원하는 결과를 얻는 기능이다.For example, if the name of the search is "Suji Samsung Raemian Apartment 6th" located in Pungdeokcheon 2-dong, Suji-gu, Yongin-si, Gyeonggi-do, the starting word search function is the name of all facilities that start with the word "Suji Samsung". Search the database to get the desired result, the initial search function is to get the desired result by entering only the initial of the word to search, such as "ㅅㅈ ㅅㅅㄹ ㅁㅇㅇ ㄷㅌ".

키워드 검색 기능은 검색하고자 하는 단어를 수지/삼성/래미안/아파트/6차와 같이 의미 있는 단어로 나누어 해당하는 하나의 단어 입력만으로 원하는 결과를 얻는 기능이며, 중간어 검색 기능은 단어가 가지는 의미와 상관없이 "지삼성" 또는 "삼성래미" 등의 검색하려고 하는 시설물 명칭이 포함하는 중간 단어의 입력만으로 원하는 결과를 얻는 기능이다.The keyword search function divides the word to be searched into meaningful words such as Suji / Samsung / Ramian / Apartment / Sixth order to get the desired result by inputting only one word. Regardless of the name of the facility you are searching for, such as "Geo-Samsung" or "Samsung Lamy", you can get the results you want by just entering the intermediate words.

마지막으로 키워드 and 검색 기능은 검색하고자 하는 단어를 수지/삼성/래미안/아파트/6차와 같이 의미 있는 단어로 나누어 "삼성+아파트"와 같은 두 단어를 조합하여 입력해서 원하는 결과를 얻는 기능이다.Lastly, the keyword and search function divides the word to be searched into meaningful words such as Suzy / Samsung / Ramian / Apartment / Sixth order and combines two words such as “Samsung + Apartment” to get the desired result.

하지만, 상기와 같은 검색 기능들 중 키워드 검색 기능의 경우는 사용자가 검색하고자 하는 시설물 명칭이 어떤 의미 있는 단어들로 나뉠 수 있는지를 알아야 한다는 점이다. 즉, 검색 명칭인 "수지 삼성 래미안 아파트 6차"가 데이터베이스 에 "수지/삼성/래미안/아파트/6차"라는 키워드로 나누어서 저장하고 있다면, 사용자는 꼭 이 다섯가지 단어를 입력해서만 검색이 가능하게 된다. 만약 "수지삼성" 또는 "삼성래미안"이라는 단어로 검색을 하고자 하면 원하는 결과를 얻을 수 없다.However, in the case of the keyword search function among the above search functions, it is necessary to know what meaningful words the facility name to be searched by the user can be divided into. That is, if the search name "Suji Samsung Raemian Apartment 6th" is stored in the database by the keyword "Suji / Samsung / Raemian / Apartment / 6th", the user can search only by entering these five words. Done. If you try to search by the words "resin Samsung" or "Samsung Raemian", you will not get the desired results.

이에 키워드 and 검색 기능을 이용하면, "수지 and 삼성" 또는 "삼성 and 래미안"이라는 검색을 통한 키워드 검색에서는 얻을 수 없었던 결과를 얻을 수 있다. 또한 "수지 and 래미안", " 삼성 and 아파트"라는 검색을 통해서 중간어 검색에서 얻을 수 없었던 검색 결과 역시 얻을 수 있다. 하지만, 이 방법 역시 기존의 키워드 검색 가지고 있었던 "사용자가 정확한 키워드를 알고 있어야"검색이 가능하다는 문제를 해결할 수는 없다. 즉, "수지삼성 and 아파트" 또는 "래미 and 6차"를 입력해서는 원하는 결과를 얻을 수 없게 된다.If you use the keyword and search function, you can get the results that could not be obtained in the keyword search by searching for "resin and Samsung" or "Samsung and Raemian". You can also search for "resin and lamian" and "samsung and apartment" to get search results that couldn't be obtained from the intermediate search. However, this method also does not solve the problem that the "user must know the exact keyword" that the existing keyword search can perform. In other words, entering "Resin Samsung and apartment" or "Rami and the 6th" will not achieve the desired result.

종래 기술에 의한 네비게이션 시스템에서의 명칭 검색에 있어서는, 결합 검색 시 모든 단어들이 포함된 경우를 한 번에 검색하기 때문에 검색 속도 및 검색의 정확도가 떨어지는 문제점이 있었다.In the name search in the navigation system according to the prior art, the search speed and the accuracy of the search are inferior because the case where all words are included in the combined search is searched at once.

본 발명은 문자열 전체가 아닌 문자열을 다수의 문자로 분리한 후 각 문자별로 검색을 수행함으로써, 검색 속도를 향상시킬 수 있을 뿐만 아니라 검색의 정확도를 향상시킬 수 있는 문자열 검색 장치 및 방법을 제공한다.The present invention provides a string search apparatus and method capable of improving the search speed as well as improving the search speed by performing a search for each character after separating a string rather than the entire string into a plurality of characters.

본 발명의 제 1 관점으로서 문자열 검색 장치는, 구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 문자열 파싱부와, 상기 파싱된 각 문자에 대한 매칭 결과 데이터가 저장되는 매칭 버퍼와, 상기 파싱된 각 문자와 데이터베이스간의 비교를 통해 상기 각 문자에 대응되는 매칭 결과 데이터를 상기 데이터베이스에서 각각 검색하여 상기 매칭 버퍼에 저장하는 매칭부와, 상기 매칭 버퍼에 저장된 상기 각 문자에 대한 각각의 상기 매칭 결과 데이터간의 비교를 통해 중복되는 데이터만을 추출하여 검색 결과 데이터를 생성하는 필터링부를 포함한다.In accordance with a first aspect of the present invention, a string search apparatus includes a string parsing unit configured to parse the search word into N characters based on the delimiter as a search word including a delimiter is input, and matching result data for each parsed character. A matching unit for retrieving matching result data corresponding to each character from the database and storing the matching buffer stored in the matching buffer through comparison between the parsed character and the database; And a filtering unit configured to extract only duplicate data through comparison between the matching result data with respect to a character and generate search result data.

본 발명의 제 2 관점으로서 문자열 검색 장치는, 구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 문자열 파싱부와, 상기 N개의 문자 중 특정 문자와 데이터베이스간의 비교를 통해 기준 매칭 결과 데이터를 생성한 후 이를 매칭 버퍼에 저장하고, 상기 특정 문자를 제외한 각 문자와 상기 데이터베이스간의 비교를 통해 순차적으로 매칭 결과 데이터를 생성한 후 이를 이용하여 상기 매칭 버퍼를 순차적으로 업데이트시키는 매칭부와, 상기 매칭 버퍼에 저장된 데이터를 이용하여 검색 결과 데이터를 생성하는 필터링부를 포함한다.According to a second aspect of the present invention, a string search apparatus includes a string parsing unit configured to parse the search word into N characters based on the delimiter as a search word including a delimiter is input, and a comparison between a specific character among the N characters and a database. After generating the reference matching result data through the stored in the matching buffer, and sequentially generating the matching result data through comparison between each character except the specific character and the database and using this to sequentially update the matching buffer And a filtering unit to generate search result data using data stored in the matching buffer.

본 발명의 제 3 관점으로서 문자열 검색 방법은, 구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 단계와, 상기 파싱된 N개의 문자와 데이터베이스간의 비교를 통해 상기 각 문자에 대응 되는 매칭 결과 데이터를 상기 데이터베이스에서 각각 검색하는 단계와, 상기 각 문자에 대한 각각의 상기 매칭 결과 데이터간의 비교를 통해 중복된 데이터를 추출한 후 이를 이용하여 검색 결과 데이터를 생성하는 단계를 포함한다.According to a third aspect of the present invention, a string search method includes parsing the search word into N characters based on the delimiter as a search word including a delimiter is input, and comparing the parsed N characters with a database. Retrieving matching result data corresponding to each character in the database, and extracting duplicate data through comparison between the matching result data for each character and generating search result data using the same. Include.

본 발명의 제 4 관점으로서 문자열 검색 방법은, 구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 단계와, 상기 N개의 문자 중 어느 특정 문자와 데이터베이스간의 비교를 통해 기준매칭 결과 데이터를 생성하여 매칭 버퍼에 저장하는 단계와, 상기 특정 문자를 제외한 나머지 문자와 데이터베이스간의 비교를 통해 나머지 각 문자에 대한 매칭 결과 데이터를 순차적으로 생성한 후 이를 이용하여 상기 매칭 버퍼를 순차적으로 업데이트시키는 단계와, 상기 N-1개의 문자에 대한 매칭 결과 데이터를 생성함과 더불어 상기 매칭 버퍼를 업데이트하면, 상기 매칭 버퍼에 저장된 데이터를 이용하여 검색 결과 데이터를 생성하는 단계를 포함한다.According to a fourth aspect of the present invention, a string search method includes parsing the search word into N characters based on the delimiter as a search word including a delimiter is input, and comparing a specific character of the N characters with a database. Generating reference matching result data in a matching buffer, and sequentially generating matching result data for each remaining character by comparing the remaining characters except the specific character with a database, and then using the matching buffer. Sequentially updating; generating matching result data for the N-1 characters; and updating the matching buffer, generating search result data using data stored in the matching buffer.

본 발명은 문자열 전체가 아닌 문자열을 다수의 문자로 분리한 후 각 문자별로 검색을 수행함으로써, 검색 속도를 향상시킬 수 있을 뿐만 아니라 검색의 정확도를 향상시킬 수 있다.According to the present invention, by separating a string rather than the entire string into a plurality of characters and performing a search for each character, not only can the search speed be improved but also the accuracy of the search can be improved.

이하, 본 발명의 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 아울 러 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, in describing the present invention, if it is determined that the detailed description of the related well-known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

본 발명의 실시 예에서는 문자열 전체가 아닌 문자열을 다수의 문자로 분리한 후 각 문자별로 검색을 수행함으로써, 검색 속도를 향상시킬 수 있을 뿐만 아니라 검색의 정확도를 향상시킬 수 있는 문자열 검색 장치 및 방법에 대해 설명한다.According to an embodiment of the present invention, a string search apparatus and method capable of not only improving a search speed but also improving the accuracy of a search by separating a string rather than the entire string into a plurality of characters and performing a search for each character. Explain.

도 1은 본 발명에 따라 네비게이션 시스템에서 문자열 검색 장치를 도시한 블록도이다.1 is a block diagram illustrating a string search apparatus in a navigation system according to the present invention.

도 1을 참조하면, 문자열 검색 장치는 검색어 입력부(100), 문자열 파싱부(110), 매칭부(120), 매칭 버퍼(130), 필터링부(140), 데이터베이스(150) 및 검색 결과 표시부(160)를 포함한다.Referring to FIG. 1, a string search apparatus includes a search word input unit 100, a string parser 110, a matching unit 120, a matching buffer 130, a filtering unit 140, a database 150, and a search result display unit ( 160).

검색어 입력부(100)는 사용자가 검색하고자 하는 검색어, 예컨대 명칭을 입력하는 것으로서, 키패드 또는 터치스트린 등으로부터 입력받는다. 입력된 신호는 문자열 파싱부(110)로 전달된다. 여기서, 검색어는 검색 방식에 따라 다양한 방식으로 입력되는데, 예컨대 시작어 검색, 중간어 검색, 결합(and 또는 +) 검색, 포함(or 또는 *) 검색 등이 있으며, 이와 같은 검색 방식들은 검색 시 복수 적용이 가능하다.The search word input unit 100 inputs a search word, for example, a name, to be searched by a user, and is input from a keypad or a touch screen. The input signal is transmitted to the string parser 110. Here, the search word is input in various ways according to a search method, for example, a start word search, a middle word search, a combined (and or +) search, an or (* or search) search, and the like. Application is possible.

본 발명은 결합 검색에 대한 것이기 때문에, 검색어 입력부(100)를 통해 구분자를 포함한 문자열이 검색어로 입력되는 경우에 대해 설명하기로 한다. 여기 서, 구분자는 예컨대, and, "+", 공백 등이 될 수 있다.Since the present invention relates to a combined search, a case in which a string including a separator is input as a search word through the search word input unit 100 will be described. Here, the separator may be, for example, and, "+", a space, and the like.

문자열 파싱부(110)는 구분자를 토대로 문자열을 N(N>2 자연수)개의 문자로 파싱한 후 이를 매칭부(120)에 제공한다. 즉, 문자열 파싱부(110)는 검색어 입력부(100)를 통해 입력된 문자열 내 문자 또는 숫자 사이에 구분자, 예컨대 and, +, 공백 등을 이용하여 각 문자를 분리한 후 분리된 각 문자를 순차적으로 매칭부(120)에 출력한다. 예를 들어, "용화 and 1단지", "용화 1단지" 또는 "용화+1단지"가 입력된 경우 문자열 파싱부(110)는 "용화"와 "1단지"로 분리하여 각 문자를 매칭부(120)에 출력한다.The string parsing unit 110 parses the string into N (N> 2 natural numbers) characters based on the delimiter and provides it to the matching unit 120. That is, the string parsing unit 110 separates each character by using a delimiter, for example, and, +, space, etc., between letters or numbers in the string input through the search word input unit 100, and sequentially divides each character. Output to the matching unit 120. For example, when "Yonghwa and 1st Dan", "Yonghwa 1st Dan" or "Yonghwa + 1Jeon" is input, the string parsing unit 110 separates each character into "Yonghwa" and "1st Dan" to match each character. Output to 120.

매칭부(120)는 문자열 파싱부(110)에서 입력받은 문자를 토대로 데이터베이스(150)를 검색하여 문자에 대응되는 매칭 결과 데이터를 생성한 후 이를 매칭 버퍼(130)에 저장한다. 이때, 매칭부(120)는 문자열 파싱부(110)에서 파싱된 문자의 수, 예컨대 N을 토대로 매칭 버퍼(130)의 영역을 N개로 나눈 후에 각 영역에 각 문자에 대한 매칭 결과 데이터를 저장할 수 있다. 여기서, 매칭 결과 데이터에는 적어도 하나 이상의 검색 데이터를 포함하고 있다.The matching unit 120 searches the database 150 based on the characters input from the character string parsing unit 110 to generate the matching result data corresponding to the characters and stores them in the matching buffer 130. At this time, the matching unit 120 divides the area of the matching buffer 130 into N based on the number of characters parsed by the string parsing unit 110, for example, N, and stores the matching result data for each character in each area. have. The matching result data includes at least one or more pieces of search data.

한편, 매칭부(120)는 파싱된 N개의 문자 중 첫 번째 문자에 대응되는 매칭 결과 데이터 내 각 검색 데이터에 인덱스를 부여한 후 매칭 버퍼(130)에 저장하고, 두 번째 문자부터 N번째 문자까지의 매칭 결과 데이터를 이용하여 매칭 버퍼(130)에 저장된 데이터, 즉 첫 번째 문자에 해당되는 매칭 결과 데이터를 업데이트시킨다. 즉, 매칭부(120)는 두 번째 문자에 대응되는 매칭 결과 데이터와 매칭 버퍼(130)에 저장된 각 검색 데이터간의 비교를 통해 중복되는 것만을 추출한 후 추 출된 데이터를 이용하여 매칭 버퍼(130)를 업데이트시키고, 세 번째 문자에 대응되는 매칭 결과 데이터와 매칭 버퍼(130)에 저장된 데이터간의 비교를 통해 매칭 버퍼(130)를 업데이트시킨다.Meanwhile, the matching unit 120 assigns an index to each search data in the matching result data corresponding to the first character of the N characters parsed, and stores the index in the matching buffer 130 and stores the second character to the Nth character. The matching result data is used to update the data stored in the matching buffer 130, that is, the matching result data corresponding to the first character. That is, the matching unit 120 extracts only the overlapping data by comparing the matching result data corresponding to the second character and each search data stored in the matching buffer 130 and then uses the extracted data to match the matching buffer 130. The matching buffer 130 is updated by comparing the matching result data corresponding to the third character with the data stored in the matching buffer 130.

필터링부(140)는 N번째 문자의 매칭 결과 데이터를 토대로 업데이트된 매칭 버퍼(130) 내 데이터를 이용하여 검색 결과 데이터를 생성하고, 생성된 검색 결과 데이터를 검색 결과 표시부(160)를 통해 출력한다.The filtering unit 140 generates search result data using the data in the matching buffer 130 updated based on the matching result data of the Nth character, and outputs the generated search result data through the search result display unit 160. .

한편, 필터링부(140)는 매칭 버퍼(130)에 저장된 매칭 결과 데이터를 토대로 검색 결과 데이터를 생성한 후 이를 검색 결과 표시부(160)를 통해 출력한다. 즉, 필터링부(140)는 매칭 버퍼(130)의 각 영역에 저장된 각 문자별 매칭 결과 데이터간의 비교를 통해 중복되는 것을 체크한 후 중복된 데이터들을 이용하여 검색 결과 데이터를 생성하고, 생성된 검색 결과 데이터를 검색 결과 표시부(160)에 출력한다.Meanwhile, the filtering unit 140 generates search result data based on the matching result data stored in the matching buffer 130 and then outputs the search result data through the search result display unit 160. That is, the filtering unit 140 checks the overlap by comparing the matching result data for each character stored in each area of the matching buffer 130 and then generates the search result data using the duplicated data and generates the search. The result data is output to the search result display unit 160.

검색 결과 표시부(160)는 필터링부(140)로부터 제공받은 검색 결과 데이터를 화면에 디스플레이하거나 또는 동시에 스피커를 통해 소리를 출력하도록 함으로써, 사용자가 검색된 결과를 인지할 수 있도록 한다.The search result display unit 160 displays the search result data provided from the filtering unit 140 on the screen or simultaneously outputs sound through the speaker, so that the user can recognize the search result.

본 발명에 따르면, 각 문자별로 검색을 수행한 후 각 문자별 검색된 매칭 결과 데이터들을 비교하여 검색 결과 데이터를 생성하거나 첫 번째 문자에 대응되는 매칭 결과 데이터를 매칭 버퍼(130)에 저장한 후 나머지 문자에 대한 매칭 결과 데이터를 이용하여 매칭 버퍼(130)를 업데이트시키는 방식으로 검색 결과 데이터를 생성할 수 있다.According to the present invention, after performing a search for each character, compare the matching result data searched for each character to generate search result data or store the matching result data corresponding to the first character in the matching buffer 130 and then rest the characters. The search result data may be generated by updating the matching buffer 130 using the matching result data for.

예를 들어, 사용자가 검색하려는 명칭이 "용화마을태영데시앙아파트 1단지"인 경우 사용자가 "용화 and, + 또는 공백 1단지"라는 글자를 검색창에 입력하면, 문자열 파싱부(110)는 문자열에 포함된 "용화"와 "1단지"로 분리한 후 "용화"와 "1단지"를 순차적으로 매칭부(120)에 출력한다.For example, if the user wants to search for a name of "Yonghwa Village Taeyoung Dessian Apartment 1 Complex", when the user inputs the words "Yonghwa and, + or space 1 complex" into the search box, the string parsing unit 110 generates a string. After separating the "Yonghwa" and "only one" contained in the "Yonghwa" and "only one" is sequentially output to the matching unit 120.

매칭부(120)는 첫 번째 문자인 "용화"를 포함한 매칭 결과 데이터를 데이터베이스(150)에서 검색한 후 이를 매칭 버퍼(130)의 소정 영역에 저장하고, 두 번째 문자인 "1단지"를 포함한 매칭 결과 데이터를 데이터베이스(150)에서 검색한 후 이를 매칭 버퍼(130)의 다른 영역에 저장한다.The matching unit 120 retrieves the matching result data including the first character, "Yonghua" from the database 150, and stores the matching result data in a predetermined area of the matching buffer 130, and includes the second character "only 1". The matching result data is retrieved from the database 150 and then stored in another area of the matching buffer 130.

필터링부(140)는 첫 번째 문자와 두 번째 문자에 대응되는 매칭 결과 데이터를 비교하여 중복되는 데이터를 추출한 후 이를 이용하여 검색 결과 데이터를 생성한다.The filtering unit 140 compares the matching result data corresponding to the first character and the second character, extracts duplicate data, and generates search result data using the extracted data.

한편, 매칭부(120)는 첫 번째 문자인 "용화"를 포함한 매칭 결과 데이터 내의 각 검색 데이터를 매칭 버퍼(130)에 저장한 후 두 번째 문자인 "1단지"를 포함한 매칭 결과 데이터와 각 검색 데이터간의 비교를 통해 중복되는 데이터를 추출하고, 추출된 데이터를 이용하여 매칭 버퍼(130)를 업데이트시킨다. 이에 따라, 필터링부(140)는 매칭 버퍼(130)에 저장된 데이터만을 이용하여 검색 결과 데이터를 생성할 수 있다.Meanwhile, the matching unit 120 stores each search data in the matching result data including the first character, "Yonghua", in the matching buffer 130, and then matches the matching result data including the second character "single" and each search. The overlapping data is extracted by comparing the data, and the matching buffer 130 is updated using the extracted data. Accordingly, the filtering unit 140 may generate search result data using only data stored in the matching buffer 130.

상기와 같은 구성을 갖는 문자열 검색 장치가 검색을 수행하는 과정에 대해 도 2를 참조하여 설명한다.A process of performing a search by the string search apparatus having the above configuration will be described with reference to FIG. 2.

도 2는 본 발명에 따른 문자열 검색 과정을 도시한 흐름도이다.2 is a flowchart illustrating a string search process according to the present invention.

도 2를 참조하면, S200에서 사용자가 검색어 입력부(100)를 이용하여 검색창에 글자 및 숫자 또는 의미 있는 명칭을 포함하며, 구분자를 포함한 문자열을 입력하면, 문자열 파싱부(110)는 구분자를 이용하여 문자열을 N개의 문자로 파싱, 즉 문자열을 N개의 문자로 분리하여 매칭부(120)에 순차적으로 출력한다(S202).Referring to FIG. 2, when the user inputs a string including a letter and a number or a meaningful name in a search box using a search term input unit 100 and a delimiter in S200, the string parser 110 uses a delimiter. By parsing the string into N characters, that is, separating the string into N characters and outputting them sequentially to the matching unit 120 (S202).

매칭부(120)는 데이터베이스(150)의 검색을 통해 문자열에서 분리된 각 문자에 대한 매칭 결과 데이터를 생성하는데(S204), 먼저 매칭 결과 데이터가 생성된 문자가 첫 번째 문자인지를 판단한다(S206).The matching unit 120 generates matching result data for each character separated from the character string through a search of the database 150 (S204). First, it is determined whether the character in which the matching result data is generated is the first character (S206). ).

S206의 판단 결과, 첫 번째 문자인 경우, 매칭부(120)는 매칭 버퍼(130)를 초기화시킨 후 첫 번째 문자에 대한 매칭 결과 데이터를 매칭 버퍼(130)에 저장(S208)하고, S204로 진행하여 다음 문자에 대한 매칭 결과 데이터를 생성한다. 여기서, 매칭 결과 데이터에는 첫 번째 문자를 포함하는 다수의 검색 데이터를 포함하고 있다.As a result of the determination in S206, in the case of the first character, the matching unit 120 initializes the matching buffer 130 and stores the matching result data for the first character in the matching buffer 130 (S208), and proceeds to S204. To generate matching result data for the next character. Here, the matching result data includes a plurality of search data including the first character.

한편, S206의 판단 결과, 첫 번째 문자가 아닌 경우, 매칭 버퍼(130)에 저장된 데이터, 즉 첫 번째 문자에 대한 매칭 결과 데이터의 각 검색 데이터와 다른 문자, 예컨대 두 번째 문자에 대한 매칭 결과 데이터간의 비교를 통해 중복된 데이터를 추출한 후 이를 이용하여 매칭 버퍼(130)를 업데이트(S210)한다. 즉, 첫 번째 문자의 매칭 결과 데이터 내 검색 데이터들과 두 번째 문자의 매칭 결과 데이터 내 검색 데이터들간의 비교를 통해 중복되는 것만을 추출한 후 이를 이용하여 매칭 버퍼(130)에 저장된 첫 번째 문자의 매칭 결과 데이터를 업데이트한다.On the other hand, when the determination result of S206, if it is not the first character, the data stored in the matching buffer 130, that is, between each search data of the matching result data for the first character and the matching result data for the other character, for example, the second character After extracting the duplicated data through the comparison, the matching buffer 130 is updated using the extracted data (S210). That is, only the duplicated data is extracted by comparing the search data in the matching result data of the first character with the search data in the matching result data of the second character, and then matching the first character stored in the matching buffer 130 using the extracted data. Update the result data.

그런 다음, 매칭부(120)는 N번째 마지막 문자인지를 판단(S212)한다.Then, the matching unit 120 determines whether it is the Nth last character (S212).

S212의 판단 결과 N번째 마지막 문자가 아닌 경우 S204로 진행하여 이후 단계를 수행하고, 그렇지 않을 경우 필터링부(140)는 매칭 버퍼(130)에 저장된 데이터를 이용하여 검색 결과 데이터를 생성(S214)한 후 이를 검색 결과 표시부(160)를 통해 출력한다. 즉, 검색 결과 표시부(160)는 검색 결과 데이터를 화면에 디스플레이하거나 또는 동시에 스피커를 통해 소리를 출력하도록 함으로써, 사용자가 검색된 결과를 인지할 수 있도록 한다.If it is determined in S212 that the N-th character is not the last character, the process proceeds to S204 and performs the subsequent steps. Otherwise, the filtering unit 140 generates the search result data using the data stored in the matching buffer 130 (S214). Then it is output through the search result display unit 160. That is, the search result display unit 160 displays the search result data on the screen or simultaneously outputs sound through the speaker, so that the user can recognize the search result.

본 발명에서는 첫 번째 문자의 매칭 결과 데이터를 기준 데이터로 하여 이후 문자의 매칭 결과 데이터와 첫 번째 문자의 매칭 결과 데이터간의 비교를 통해 매칭 버퍼(130)를 업데이트시켜 검색 결과 데이터를 생성하는 것으로 예를 들어 설명하였지만, 각 문자별 매칭 결과 데이터를 생성한 후 각 문자별 매칭 결과 데이터간의 비교를 통해 검색 결과 데이터를 생성할 수도 있다.In the present invention, the matching result data is generated by comparing the matching result data of the first character and the matching result data of the first character with the matching result data of the first character as reference data. Although described, the search result data may be generated by comparing the matching result data for each character after generating the matching result data for each character.

또한, 본 발명에서는 첫 번째 문자의 매칭 결과 데이터를 기준 데이터로 하여 설명하였지만, 다른 문자의 매칭 결과 데이터를 기준 데이터로 하여 검색 결과 데이터를 생성할 수 있다.In the present invention, the matching result data of the first character is described as reference data, but the search result data may be generated using the matching result data of other characters as reference data.

한편, 본 발명에서는 의미 있는 단어, 숫자 또는 문자들로 구성된 문자열을 예로 들어 설명하였지만, 초성 입력 방식(ㄱ and, + 또는 공백 ㄴ) 또는 초성 혼합 입력 방식(강ㄴ and, + 또는 공백 주ㅊ장)으로 입력된 검색어에도 적용 가능하다는 것은 당업자에 의해 자명한 사실이다.On the other hand, the present invention has been described using a string of meaningful words, numbers or letters as an example, but the initial input method (a and, + or space b) or the mixed input method (strong and, + or blank spaces) It is obvious to those skilled in the art that the present invention can be applied to a search word entered as).

이와 같이, 본 발명에 따르면, 문자열 전체가 아닌 문자열을 다수의 문자로 분리한 후 각 문자별로 검색을 수행함으로써, 검색 속도를 향상시킬 수 있을 뿐만 아니라 검색의 정확도를 향상시킬 수 있다.As described above, according to the present invention, by separating a string rather than the entire string into a plurality of characters and searching for each character, not only the search speed can be improved but also the accuracy of the search can be improved.

지금까지 본 발명의 실시 예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시 예들은 본 발명의 특허청구범위에 기재된 기술사상에 당연히 포함되는 것으로 해석되어야 할 것이다.The present invention has been limited to the embodiments of the present invention, but it is obvious that the technology of the present invention can be easily modified by those skilled in the art. Such modified embodiments should be construed as naturally included in the technical spirit described in the claims of the present invention.

도 1은 본 발명에 따른 문자열 검색 장치를 도시한 블록도,1 is a block diagram showing a string search apparatus according to the present invention;

도 2는 본 발명에 따른 문자열 검색 과정을 도시한 흐름도이다.2 is a flowchart illustrating a string search process according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100 : 검색어 입력부 110 : 문자열 파싱부100: search term input unit 110: string parsing unit

120 : 매칭부 130 : 매칭 버퍼120: matching unit 130: matching buffer

140 : 필터링부 150 : 데이터베이스140: filtering unit 150: database

160 : 검색 결과 표시부160: search result display unit

Claims (12)

구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 문자열 파싱부와,A string parsing unit for parsing the search word into N characters based on the delimiter as a search word including a delimiter is input; 상기 파싱된 각 문자에 대한 매칭 결과 데이터가 저장되는 매칭 버퍼와,A matching buffer for storing matching result data for each parsed character; 상기 파싱된 각 문자와 데이터베이스간의 비교를 통해 상기 각 문자에 대응되는 매칭 결과 데이터를 상기 데이터베이스에서 각각 검색하여 상기 매칭 버퍼에 저장하는 매칭부와,A matching unit for retrieving matching result data corresponding to each character from the database through comparison between each parsed character and a database, and storing the matching result data in the matching buffer; 상기 매칭 버퍼에 저장된 상기 각 문자에 대한 각각의 상기 매칭 결과 데이터간의 비교를 통해 중복되는 데이터만을 추출하여 검색 결과 데이터를 생성하는 필터링부A filtering unit configured to extract only duplicate data through comparison between the matching result data for each character stored in the matching buffer to generate search result data 를 포함하는 문자열 검색 장치.String search device comprising a. 제 1 항에 있어서,The method of claim 1, 상기 매칭부는, The matching unit, 상기 매칭 버퍼를 상기 N개의 영역으로 나눈 후 상기 각 문자에 대응되는 매칭 결과 데이터를 상기 데이터베이스에서 각각 검색하여 상기 N개의 영역에 각각 저장하는 것을 특징으로 하는 문자열 검색 장치.And dividing the matching buffer into the N regions, and then matching matching data corresponding to each character in the database and storing the matching result data in the N regions. 제 1 항에 있어서,The method of claim 1, 상기 구분자는, and, + 또는 공백인 것을 특징으로 하는 문자열 검색 장치.And the delimiter is and, + or blank. 구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 문자열 파싱부와,A string parsing unit for parsing the search word into N characters based on the delimiter as a search word including a delimiter is input; 상기 N개의 문자 중 특정 문자와 데이터베이스간의 비교를 통해 기준 매칭 결과 데이터를 생성한 후 이를 매칭 버퍼에 저장하고, 상기 특정 문자를 제외한 각 문자와 상기 데이터베이스간의 비교를 통해 순차적으로 매칭 결과 데이터를 생성한 후 이를 이용하여 상기 매칭 버퍼를 순차적으로 업데이트시키는 매칭부와,After generating reference matching result data by comparing a specific character among the N characters with a database, storing the result in a matching buffer, and sequentially generating matching result data by comparing each character except the specific character with the database. A matching unit sequentially updating the matching buffer using the matching buffer; 상기 매칭 버퍼에 저장된 데이터를 이용하여 검색 결과 데이터를 생성하는 필터링부Filtering unit for generating a search result data using the data stored in the matching buffer 를 포함하는 문자열 검색 장치.String search device comprising a. 제 4 항에 있어서,The method of claim 4, wherein 상기 매칭부는, 상기 기준 매칭 결과 데이터 내 검색 데이터에서 다른 문자에 대한 매칭 결과 데이터에 존재하는 데이터만을 추출한 후 이를 이용하여 상기 매칭 버퍼를 업데이트시키는 것을 특징으로 하는 문자열 검색 장치.And the matching unit extracts only data existing in matching result data for another character from search data in the reference matching result data and updates the matching buffer using the matching data. 제 4 항 또는 제 5 항에 있어서,The method according to claim 4 or 5, 상기 기준 매칭 결과 데이터는, 상기 N개의 문자 중 첫 번째 문자인 것을 특징으로 하는 문자열 검색 장치.And the reference matching result data is a first character of the N characters. 제 4 항에 있어서,The method of claim 4, wherein 상기 구분자는, and, + 또는 공백인 것을 특징으로 하는 문자열 검색 장치.And the delimiter is and, + or blank. 구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 단계와,Parsing the search word into N characters based on the delimiter as a search word including a delimiter is input, 상기 파싱된 N개의 문자와 데이터베이스간의 비교를 통해 상기 각 문자에 대응되는 매칭 결과 데이터를 상기 데이터베이스에서 각각 검색하는 단계와,Retrieving matching result data corresponding to each character from the database by comparing the parsed N characters with a database; 상기 각 문자에 대한 각각의 상기 매칭 결과 데이터간의 비교를 통해 중복된 데이터를 추출한 후 이를 이용하여 검색 결과 데이터를 생성하는 단계Extracting duplicate data by comparing the matching result data with respect to each character and generating search result data using the same; 를 포함하는 문자열 검색 방법.String search method comprising a. 제 8 항에 있어서,The method of claim 8, 상기 구분자는, and, + 또는 공백인 것을 특징으로 하는 문자열 검색 방법.And the delimiter is and, + or blank. 구분자가 포함된 검색어가 입력됨에 따라 상기 구분자를 토대로 상기 검색어를 N개의 문자로 파싱하는 단계와,Parsing the search word into N characters based on the delimiter as a search word including a delimiter is input, 상기 N개의 문자 중 어느 특정 문자와 데이터베이스간의 비교를 통해 기준매칭 결과 데이터를 생성하여 매칭 버퍼에 저장하는 단계와,Generating reference matching result data through comparison between a specific character of the N characters and a database, and storing the matched result data in a matching buffer; 상기 특정 문자를 제외한 나머지 문자와 데이터베이스간의 비교를 통해 나머 지 각 문자에 대한 매칭 결과 데이터를 순차적으로 생성한 후 이를 이용하여 상기 매칭 버퍼를 순차적으로 업데이트시키는 단계와,Sequentially generating matching result data for the remaining characters by comparing the remaining characters except the specific character with a database, and sequentially updating the matching buffer using the matching result data; 상기 N-1개의 문자에 대한 매칭 결과 데이터를 생성함과 더불어 상기 매칭 버퍼를 업데이트하면, 상기 매칭 버퍼에 저장된 데이터를 이용하여 검색 결과 데이터를 생성하는 단계Generating matching result data for the N-1 characters and generating matching result data using the data stored in the matching buffer when the matching buffer is updated. 를 포함하는 문자열 검색 방법.String search method comprising a. 제 10 항에 있어서,The method of claim 10, 상기 기준 매칭 결과 데이터는, 상기 N개의 문자 중 첫 번째 문자에 대응되는 매칭 결과 데이터인 것을 특징으로 하는 문자열 검색 방법.And the reference matching result data is matching result data corresponding to a first character of the N characters. 제 10 항에 있어서,The method of claim 10, 상기 구분자는, and, + 또는 공백인 것을 특징으로 하는 문자열 검색 방법.And the delimiter is and, + or blank.
KR1020090051615A 2009-06-10 2009-06-10 A character row searching apparatus and method KR101127012B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090051615A KR101127012B1 (en) 2009-06-10 2009-06-10 A character row searching apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090051615A KR101127012B1 (en) 2009-06-10 2009-06-10 A character row searching apparatus and method

Publications (2)

Publication Number Publication Date
KR20100132829A true KR20100132829A (en) 2010-12-20
KR101127012B1 KR101127012B1 (en) 2012-03-26

Family

ID=43508376

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090051615A KR101127012B1 (en) 2009-06-10 2009-06-10 A character row searching apparatus and method

Country Status (1)

Country Link
KR (1) KR101127012B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3051436A4 (en) * 2013-09-25 2016-08-03 Zte Corp Alarm filtering method and device in network element management system
CN111767451A (en) * 2020-01-15 2020-10-13 北京沃东天骏信息技术有限公司 Searching method, electronic equipment and computer readable storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3636941B2 (en) * 1999-07-19 2005-04-06 松下電器産業株式会社 Information retrieval method and information retrieval apparatus
KR101263403B1 (en) * 2005-11-16 2013-05-10 정태우 Apparatus and method for keyword searching according to priority of inputted word and computer readable medium having stored thereon computer executable instruction for performing the method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3051436A4 (en) * 2013-09-25 2016-08-03 Zte Corp Alarm filtering method and device in network element management system
CN111767451A (en) * 2020-01-15 2020-10-13 北京沃东天骏信息技术有限公司 Searching method, electronic equipment and computer readable storage medium
CN111767451B (en) * 2020-01-15 2024-04-16 北京沃东天骏信息技术有限公司 Searching method, electronic device and computer readable storage medium

Also Published As

Publication number Publication date
KR101127012B1 (en) 2012-03-26

Similar Documents

Publication Publication Date Title
JP5362095B2 (en) Input method editor
KR101255557B1 (en) System for string matching based on tokenization and method thereof
KR20120129906A (en) Compound splitting
KR20120123241A (en) Query parsing for map search
WO2007135845A1 (en) Search device
US20040267737A1 (en) Database search system
KR101127012B1 (en) A character row searching apparatus and method
US10319378B2 (en) Interaction apparatus and method
JP4935243B2 (en) Search program, information search device, and information search method
KR100895535B1 (en) Data search device and method thereof
CN103530380B (en) A kind of vertical search device and method
US9978368B2 (en) Information providing system
WO2011074429A1 (en) Input support device
WO2009136426A1 (en) Search query providing equipment
US10614065B2 (en) Controlling search execution time for voice input facility searching
KR20090108239A (en) System for searching korean word in mobile termianl and method thereof
KR20200046446A (en) Similar patent search method and apparatus using alignment of elements
JP2009271819A (en) Document search system, document search method and document search program
KR100961131B1 (en) Method of setting up destination in car navigation system
US9734818B2 (en) Information providing device and information providing method
JP6695538B1 (en) Similar sentence retrieval device and program
KR101544851B1 (en) Searching apparatus and method for in a navigation system
KR100989385B1 (en) Method of setting up destination in car navigation system
JPH0869474A (en) Similar character string retrieval device
KR101601425B1 (en) Destination search method of navigation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141222

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190103

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200303

Year of fee payment: 9