KR102255493B1 - 검색어를 필터링하는 장치 및 방법 - Google Patents

검색어를 필터링하는 장치 및 방법 Download PDF

Info

Publication number
KR102255493B1
KR102255493B1 KR1020170019511A KR20170019511A KR102255493B1 KR 102255493 B1 KR102255493 B1 KR 102255493B1 KR 1020170019511 A KR1020170019511 A KR 1020170019511A KR 20170019511 A KR20170019511 A KR 20170019511A KR 102255493 B1 KR102255493 B1 KR 102255493B1
Authority
KR
South Korea
Prior art keywords
search
filtering
pattern
rule
search word
Prior art date
Application number
KR1020170019511A
Other languages
English (en)
Other versions
KR20180093434A (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 KR1020170019511A priority Critical patent/KR102255493B1/ko
Publication of KR20180093434A publication Critical patent/KR20180093434A/ko
Application granted granted Critical
Publication of KR102255493B1 publication Critical patent/KR102255493B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

사용자의 입력 키워드를 패턴 변환 및 필터링 처리하여 필터링에 통과된 유효한 검색어에 대해서만 검색을 수행하는 장치 및 방법이 개시된다. 본 발명에 따른 검색어를 필터링하는 장치는, 검색이 요청된 검색어를 정규화된 패턴으로 변환하는 패턴 변환부; 변환된 검색어의 패턴이 규칙에 정의된 성공 또는 실패의 패턴과 일치하는지 비교하고, 일치되는 패턴이 성공 패턴이면 필터링의 통과를 성공으로 처리하는 필터링 처리부; 및 성공으로 처리된 유효한 검색어에 대해 검색을 요청하고, 검색 결과를 제공하는 검색 처리부를 포함한다.

Description

검색어를 필터링하는 장치 및 방법{Apparatus for filtering search keyword and method thereof}
본 발명은 검색 기술로서, 보다 구체적으로, 사용자의 입력 키워드에 대해 유효한 검색 결과가 제공될 수 있는 검색어인지 필터링하고, 필터링에 통과된 유효한 검색어만 검색을 수행하여 검색 결과를 제공하는 장치 및 방법에 관한 것이다.
검색 서비스는 사용자가 키워드에 대해 검색을 요청하면, 검색 서버가 요청된 키워드의 검색 결과를 제공한다. 사용자가 누르는 검색 버튼은 검색 요청의 이벤트를 발생시킨다.
사용자의 검색 요청이 생략된 자동 검색의 경우, 사용자가 검색창에서 입력 중인 키워드가 실시간으로 검색된다. 사용자가 스마트 단말에서 전화 번호를 검색하기 위해 전화 번호 또는 이름을 키워드로서 입력하면, 스마트 단말은 실시간 입력된 키워드에 대해 자동으로 로컬 검색을 수행하여 매칭되는 전화 번호를 화면에 출력한다. 사용자가 키워드를 입력하는 과정에서 복수 횟수의 검색이 처리되고, 검색 결과가 제공된다.
상기 로컬 검색은 네트워크 검색으로 확장될 수 있다. 네트워크 검색의 경우, 스마트 단말은 사용자에 의해 입력된 키워드를 검색어로서 검색 서버로 전송하고, 검색 서버로부터 거리순, 정확도순, 방문순 등의 다양한 정렬 기준에 따라 검색 결과를 제공받을 수 있다. 예를 들면, 사용자가 주소록 앱에서 '치킨'을 입력하면, 검색 서버를 통해 '치킨'이 들어간 상호명, 사업자명 등의 전화번호, 주소 등을 포함한 목록을 제공받을 수 있다.
여기서, 자동 검색은 사용자가 입력을 잠시 중단하거나 사용자의 입력 속도가 느린 경우, 검색 이벤트가 발생된다. 발생된 검색 이벤트에 의해, 검색 앱은 사용자의 현재 입력된 키워드를 검색어로 하여 자동으로 검색을 수행한다. 따라서, 사용자가 의도한 키워드를 입력하기도 전에 검색 이벤트가 발생될 때마다 검색 앱이 검색을 수행하고, 검색 결과를 출력한다.
이때, 검색 앱의 자동 검색은 스마트 단말의 배터리를 소모시키고, 통신 부하를 발생시키고, 검색 앱의 검색 요청에 따라 검색 결과를 제공하는 검색 서버는 처리 부하를 발생시킨다. 물론, 사용자가 제공받은 검색 결과도 미완성된 키워드의 검색 결과이므로, 사용자는 입력을 계속하여 키워드를 완성한다. 미완성 키워드에 의해 자동 검색이 발생되면, 불필요한 검색이 발생되므로 배터리, 네트워크, 프로세서 등의 자원이 낭비되고, 검색 결과는 사용자가 원한 것이 아니므로 검색 성능이 저하된다.
등록특허 10-0659542(2006.12.13)
본 발명은 상기와 같은 종래 기술의 인식하에 창출된 것으로서, 검색을 수행할 때, 사용자의 입력 키워드가 유효한 검색어인지 필터링 처리하고, 필터링에 통과된 유효한 검색어에 대해서만 검색 엔진을 통해 검색하는 장치 및 방법을 제공하는 것을 목적으로 한다.
일 측면에 따른, 검색어를 필터링하는 장치는, 검색이 요청된 검색어를 정규화된 패턴으로 변환하는 패턴 변환부; 변환된 검색어의 패턴이 규칙에 정의된 성공 또는 실패의 패턴과 일치하는지 비교하고, 일치되는 패턴이 성공 패턴이면 필터링의 통과를 성공으로 처리하는 필터링 처리부; 및 성공으로 처리된 유효한 검색어에 대해 검색을 요청하고, 검색 결과를 제공하는 검색 처리부를 포함한다.
상기 장치는, 자동 검색의 이벤트가 발생된 사용자의 입력 키워드를 상기 검색어로서 수집하는 검색어 수집부를 더 포함한다.
상기 검색어 수집부는, 입력창에서 설정된 시간 동안 사용자의 키 입력이 발생되지 않아 발생된 상기 자동 검색의 이벤트에 의해 검색어를 수집한다.
상기 장치는, 각 문자 정보가 변환되는 패턴 정보를 설정받아 관리하는 패턴 룰셋부를 더 포함하고, 상기 패턴 변환부는 설정된 패턴 정보를 참조하여 상기 검색어의 문자들을 패턴 정보로 변환한다.
상기 패턴 룰셋부는, 자음과 모음으로 완성된 한글 1글자, 한글 자음, 한글 모음, 알파벳, 숫자, 키 버튼에 매핑된 특수 문자 및 이들을 제외한 나머지 문자를 포함하는 상기 문자 정보에 대한 패턴 정보를 저장한다.
상기 장치는, 필터링 규칙들의 정보를 설정받아 관리하는 필터링 룰셋부를 더 포함하고, 상기 필터링 처리부는 검색어의 패턴과 매칭되는 상기 필터링 규칙을 조회하고, 조회된 규칙의 성공 여부에 따라 필터링의 통과를 성공 처리 또는 실패 처리한다.
상기 필터링 룰셋부는, 각각의 필터링 규칙마다 우선 순위, 규칙명, 패턴의 표현식 및 필터링 통과 처리의 성공 여부를 포함하는 규칙 정보를 저장한다.
상기 필터링 룰셋부는, 한글 자음으로만 3자 이하 연속된 패턴은 필터링 통과가 실패되어 비유효한 검색어로 결정하는 제 1규칙; 영어, 완성된 한글, 숫자 및 키 버튼에 매핑된 특수 문자 중에서 하나 이상이 조합된 패턴은 필터링 통과가 성공되어 유효한 검색어로 결정하는 제 2규칙; 한글 자음, 영어 및 숫자 중에서 하나 이상이 조합된 패턴은 필터링 통과가 성공되어 유효한 검색어로 결정하는 제 3규칙; 및 키 버튼에 매핑되지 않는 특수 문자 및 모음 중에서 하나 이상이 조합된 패턴은 필터링 통과가 실패되어 비유효한 검색어로 결정하는 제 4규칙 중에서 하나 이상을 상기 필터링 규칙으로 저장한다.
상기 필터링 처리부는, 상기 검색어의 패턴과 매칭되는 상기 표현식의 규칙을 조회하고, 조회된 규칙이 성공이면 필터링의 통과가 성공된 유효한 검색어로 성공 여부를 조회한다.
상기 장치가 검색 서버일 경우, 사용자 단말로부터 자동 검색의 이벤트가 발생된 사용자의 입력 키워드를 검색어로서 전송받고, 상기 검색 처리부는, 상기 유효한 검색어를 검색 엔진으로 전송하여 검색 요청하고, 검색 결과를 제공받아 사용자 단말로 응답하고, 비유효한 검색어는 필터링 처리의 실패 결과를 사용자 단말로 즉시 응답하고, 상기 사용자 단말은 로컬 검색 결과 및 네트워크 검색 결과를 검색 결과로서 화면에 출력한다.
다른 측면에 따르면, 상기 장치가 사용자 단말일 경우, 상기 검색 처리부는, 검색어를 사용자 단말에서 로컬 검색하고, 상기 유효한 검색어를 네트워크를 통해 검색 서버로 전송하여 검색 요청하여 검색 결과를 제공받고, 로컬 검색 결과 및 네트워크 검색 결과를 검색 결과로서 화면에 출력한다.
또 다른 측면에 따르면, 검색어를 필터링하는 장치가 실행하는 방법에 있어서, 검색이 요청된 검색어를 정규화된 패턴으로 변환하는 단계; 변환된 검색어의 패턴이 규칙에 정의된 성공 또는 실패의 패턴과 일치하는지 비교하고, 일치되는 패턴이 성공 패턴이면 필터링의 통과를 성공으로 처리하는 단계; 및 성공으로 처리된 유효한 검색어에 대해 검색을 요청하고, 검색 결과를 제공하여 검색 처리하는 단계를 포함한다.
본 발명의 일 측면에 따르면, 검색이 요청되는 사용자의 입력 키워드를 패턴 변환하여 필터링 처리하고, 필터링에 통과된 유효한 검색어에 대해서만 검색을 수행함으로써 자원을 절약할 수 있고, 검색 성능을 향상시킬 수 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술한 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되지 않아야 한다.
도 1은 본 발명의 일 실시예에 따른 시스템의 개략적인 구성도이다.
도 2는 도 1의 검색 서버의 필터링 엔진의 개략적 내부 구성도이다.
도 3은 도 2의 패턴 룰셋부가 저장하는 패턴 규칙의 예시도이다.
도 4는 도 2의 필터링 룰셋부가 저장하는 필터링 규칙의 예시도이다.
도 5는 도 2의 필터링 처리부가 필터링 처리의 실패로 처리하는 비유효한 검색어의 예시도이다.
도 6은 도 2의 필터링 처리부가 필터링 규칙을 적용하여 필터링 처리하는 예시도이다.
도 7은 도 1의 사용자 단말의 어플리케이션이 검색 결과를 화면에 출력하는 예시도이다.
도 8은 본 발명의 일 실시예에 따른 검색어를 필터링하는 방법의 개략적 순서도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상에 모두 대변하는 것은 아니므로, 본 출원 시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명의 일 실시예에 따른 시스템(100)의 개략적인 구성도이다.
본 발명의 일 실시예에 따른 시스템(100)은 사용자에 의해 입력된 키워드에 대해 자동 검색을 수행하는 사용자 단말(110) 및 상기 사용자 단말(110)로부터 자동 검색의 요청을 수신하고, 사용자의 키워드를 검색어로 하여 필터링에 통과된 유효 검색어일 경우에 한하여 검색 결과를 제공하는 검색 서버(130)를 포함하여 구성된다.
상기 사용자 단말(110)은 사용자에게 검색 서비스를 제공하는 어플리케이션(111)을 실행한다. 사용자 단말(110)은 컴퓨터 단말, 스마트 단말 등을 포함하며 어플리케이션(111)의 실행 기능과 네트워크의 통신 기능을 갖는 단말이면 특별한 제한을 두지 않는다.
상기 어플리케이션(111)은 입력창을 화면에 표시하고, 표시된 입력창에서 사용자로부터 입력된 키워드에 대해 자동 검색을 수행한다. 예를 들어, 스마트 폰에 설치된 폰 북 어플리케이션은 본 발명의 어플리케이션(111)에 해당된다. 폰 북 어플리케이션은 입력창에서 사용자에 의해 자소 단위로 입력되는 키워드를 검색어로 하여 자동 검색을 수행한다. 자동 검색의 수행에 의해, 폰 북 어플리케이션은 검색어를 키로 하여 로컬 저장된 폰 북 정보로부터 매칭되는 전화번호의 검색 결과를 화면으로 출력한다. 이하에서는, 설명의 편의상 어플리케이션(111)이 스마트 폰의 폰 북 어플리케이션이라 가정하여 설명한다.
상기 검색 서버(130)는 본 발명에 따라 검색어를 필터링하는 장치이다. 검색 서버(130)는 필터링 엔진(131) 및 검색 엔진(133)을 포함하여 구성된다.
상기 필터링 엔진(131)은 어플리케이션(111)으로부터 사용자가 입력창에 입력한 키워드의 검색 요청을 수신한다. 필터링 엔진(131)은 수신된 키워드를 검색어로 하여 검색이 수행될 수 있는 유효한 검색어인지 필터링 처리한다. 필터링 처리에 의해 유효한 검색어이면, 필터링 엔진(131)은 검색 엔진(133)을 통해 검색을 처리하고, 검색 결과를 어플리케이션(111)으로 전송한다.
여기서, 자동 검색은 사용자가 입력 중인 키워드를 후킹하여 검색어로 하기 때문에 자음, 모음 등이 포함되어 미완성된 키워드가 검색어가 될 수 있다. 또한, 오타 입력에 의해 자음, 모음 등이 포함된 키워드가 검색어가 될 수 있다. 이때, 필터링 엔진(131)은 미완성된 키워드는 필터링 처리에 의해 비유효한 검색어로 결정한다. 그리고 유효한 검색어로 필터링에 통과된 검색어만 검색이 수행될 수 있게 처리한다.
상기 검색 엔진(133)은 필터링 엔진(131)으로부터 유효한 검색어의 검색 요청을 수신하고, 유효한 검색어가 키가 되어 검색된 검색 결과를 필터링 엔진(131)으로 제공한다.
도 2는 도 1의 검색 서버(130)의 필터링 엔진(131)의 개략적 내부 구성도이다. 도 3 내지 도 7은 검색 서버(130)의 필터링 프로세싱을 예시한다. 이하에서는 도 2 내지 도 7을 참조하여 설명한다.
상기 필터링 엔진(131)은 패턴 룰셋부(200), 필터링 룰셋부(201), 검색어 수집부(210), 패턴 변환부(230), 필터링 처리부(250) 및 검색 처리부(270)를 포함하여 구성된다.
상기 패턴 룰셋부(200)는 관리자부터 검색어를 패턴 정보로 변환하기 위한 각 문자 정보의 패턴 규칙(pattern rule set)의 정보를 설정받아 관리한다. 패턴 룰셋부(200)는 DB 또는 데이터 테이블로 구현될 수 있다.
도 3을 참조하면, 패턴 룰셋부(200)는 자음과 모음으로 완성된 한글 1글자, 한글 자음, 한글 모음, 알파벳, 숫자 및 특수 문자 등을 포함하는 문자 정보에 대한 패턴 정보를 저장한다. 한글 1글자는 패턴 "H"에 대응된다.
상기 필터링 룰셋부(201)는 검색어의 패턴 분석에 따라 유효한 검색어인지를 판단하기 위해 관리자로부터 필터링 규칙(filtering rule set)들의 정보를 설정받아 관리한다. 필터링 룰셋부(200)는 DB 또는 데이터 테이블로 구현될 수 있다.
도 4를 참조하면, 필터링 룰셋부(201)는 각각의 필터링 규칙마다, "아이디, 우선 순위, 규칙명, 표현식 및 성공 여부"를 포함하는 규칙 정보를 저장한다. '우선 순위'는 검색어의 패턴에 우선 적용되는 순위이다. 예를 들어, 검색어의 패턴이 1순위 및 2순위의 필터링 규칙과 매칭될 경우, '우선 순위'에 따라 1순위 필터링 규칙에 매칭되는 것으로 결정된다. 검색어의 패턴은 '표현식'과 매칭될 경우, 성공 여부에 따라 필터링의 통과 처리가 성공(통과) 또는 실패(비통과)로 결정된다. 패턴 매칭을 위해, '표현식'은 한글, 한글 자음, 한글 모음, 알파벳, 숫자, 키 버튼에 매핑된 특수 문자 및 이들을 제외한 나머지 기타의 패턴 중에서 적어도 하나 이상의 패턴 조합으로 구성된다. 여기서, 키 버튼에 매핑된 특수 문자는 !, @, #, $ 등과 같이 키 입력되는 특수 문자를 말한다. 키 버튼에 매핑되지 않은 ≤, ☎, ®, ④, α 등과 같은 문자는 나머지 기타 문자의 패턴이다. 상기 '성공 여부'에서 성공으로 결정된 검색어는 유효한 검색어로서 검색이 허가되고, 실패로 결정된 검색어는 비유효한 검색어로서 검색이 불허된다.
여기서, 각 규칙 정보를 설명하면 다음과 같다. 제 1규칙은 검색어의 패턴이 한글 자음으로만 3개 이하의 연속되는 패턴 'ㄱ', 'ㄱㄴ' 등일 경우, 필터링 통과가 실패되는 비유효한 검색어로 결정한다. 제 2규칙은 영어, 완성된 한글, 숫자 및 특수 문자 중에서 하나 이상이 조합된 패턴 'a', '한', '1', '!', ' a한', GS25, @뱅이 등일 경우, 필터링을 통과하는 유효한 검색어로 결정한다. 제 3규칙은 하나 이상의 한글 자음, 영어, 숫자 중에서 하나 이상이 조합된 패턴 'ㄱㅇㅅㄹ', 'a', '1' 및 'ㄱㅇㅅㄹa' 등일 경우, 필터링을 통과하는 유효한 검색어로 결정한다. 제 4규칙은 키에 매핑되지 않은 특수 기호 또는 모음 중에서 하나 이상을 포함하는 패턴 '≤', 'ㅏ', '김ㅏ' 등일 경우, 필터링 통과가 실패되는 비유효한 검색어로 결정한다. 참고로, 제 1~4 규칙에 매칭되지 않는 검색어의 패턴 '홍ㄱ', '홍길ㄷ' 등은 기타 규칙으로서, 필터링 통과에 실패되는 비유효한 검색어로 결정된다. 이외에도 다양한 규칙들이 설정될 수 있음은 물론이다. 우선 순위에 의해, 한글 자음은 제 3규칙보다 제 1규칙이 우선적으로 적용됨은 물론이다.
상기 검색어 수집부(210)는 자동 검색의 이벤트가 발생된 사용자의 입력 키워드를 어플리케이션(111)으로부터 수신함으로써 키워드를 검색어로 수집한다.
여기서, 자동 검색의 이벤트는 어플리케이션(111)의 입력창에서 설정된 시간(예 : 0.3초) 동안 사용자의 키 입력이 발생되지 않는 경우에 발생된다. 만약, 사용자가 키워드를 입력하는 과정에서 설정된 시간의 조건이 만족되는 자동 검색의 이벤트가 발생될 때마다 자동 검색의 처리가 시도된다.
상기 패턴 변환부(230)는 검색어를 구성하는 각 문자들에 대해 패턴 룰셋부(200)를 통해 참조된 패턴 정보로 변환한다. "치킨"의 키워드를 사용자가 입력하는 경우로 가정한다. 입력 과정에서 'ㅊ, 치, 치ㅋ, 치키, 치킨'의 5개의 키워드가 입력된다. 경우에 따라 최대 5번의 자동 검색의 이벤트가 발생되어 검색이 시도될 수 있다. 그러면, 자동 검색이 시도될 경우, 패턴 변환부(230)는 저장된 패턴 정보를 참조하고, 5개의 검색어를 패턴 변환에 의해 C, H, HC, HH, HH의 5개의 패턴으로 변환할 수 있다.
상기 필터링 처리부(250)는 각각의 필터링 규칙을 필터링 룰셋부(201)로부터 조회하고, 조회된 필터링 규칙 중에서 검색어로부터 변환된 패턴과 우선 순위에 의해 매칭되는 규칙의 성공 여부에 따라 필터링 처리의 통과 여부를 결정한다.
예를 들어, 사용자가 "치킨"의 입력을 의도하는 과정에서 'ㅊ'의 키워드 입력시 자동 검색의 이벤트가 발생하면, 필터링 처리부(250)는 검색어의 패턴 'C'가 우선 순위 1에 해당되는 제 1규칙에 매칭되는 것으로 판단하고, 필터링의 통과가 실패되는 비유효한 검색어로 결정한다. 다른 예로서, '치킨'의 키워드에 대해 상기 이벤트가 발생하면, 필터링 처리부(250)는 검색어의 패턴 'HH' 가 제 2규칙에 의해 필터링의 통과가 성공되는 것을 확인하여 유효한 검색어로 결정한다.
도 5를 참조하면, 필터링 처리부(250)는 제 1규칙에 따라 'ㅎㅈㅎ', 'ㄱㅁ' 등과 같은 검색어는 연속된 한글 자음으로만 3자 이하일 경우로 판단하여 필터링 통과의 실패로 결정한다. 키에 매핑된 특수 기호가 아닌 특수 기호가 포함된 검색어는 제 4규칙과 매칭되어 필터링 통과의 실패로 결정된다. '홍ㅏ'와 같은 모음이 포함된 한글 검색어는 오타로 간주될 수 있는데, 제 4규칙과 매칭되어 필터링 통과의 실패로 결정된다. '김ㅂ식'과 같이 한글에서 자음이 포함된 검색어는 오타로 간주될 수 있는데, 제 1~4 규칙을 벗어난 기타 규칙에 의해 필터링 통과의 실패로 결정된다.
도 6을 참조하면, 검색어 수집부(210)에 의해 수집된 검색어, 패턴 변환부(230)에 의해 변환된 패턴, 필터링 룰셋부(201)에 저장된 필터링 규칙 및 필터링 처리부(250)에 의해 처리된 검색 결과가 도시된다. 검색어 "ㄱㅇㅅㄹ", "25ㅅ", "@뱅이"는 유효한 검색어로서 검색 결과가 사용자 단말(110)으로 제공된다.
도 7은 도 1의 사용자 단말(110)의 어플리케이션(111)이 검색 결과를 화면에 출력하는 예시도이다.
사용자는 전화번호를 검색하는 어플리케이션(111)의 입력창(700)에서 키워드를 입력한다. 입력창(700)에 포커스가 위치한 상태에서 설정된 시간 동안 사용자의 입력이 없으면, 자동 검색의 이벤트가 발생된다. 발생된 이벤트에 의해, 어플리케이션(111)은 입력창(700)의 키워드를 후킹하고, 후킹된 검색 서버(130)로 전송하여 네트워크 검색을 요청한다.
여기서, 발생된 이벤트에 의해, 어플리케이션(111)은 키워드에 매칭되는 전화번호 정보를 로컬 저장된 폰 북으로부터 검색하고, 검색 결과를 화면의 모든 연락처(710)를 통해 출력한다.
검색 서버(130)는 키워드를 검색어로 하여 패턴 변환 및 필터링 처리한다. 필터링 통과의 성공에 의해, 유효한 검색어로 결정되면, 검색 엔진(133)에 의해 검색된 검색 결과가 어플리케이션(111)으로 전송된다. 어플리케이션(111)은 검색 결과를 화면의 번호 안내(730)를 통해 출력한다. 만약, 필터링 통과에 실패된 비유효한 검색 결과일 경우, 번호 안내(730)에는 검색 결과가 출력되지 않는다. 사용자가 번호 안내(730)를 통해 출력된 검색 결과 중에서 어느 한 항목을 선택하면, 선택된 항목의 상세 정보가 웹 상세 검색 결과(750)의 창을 통해 화면에 표시된다.
한편, 본 발명의 다른 실시예로서, 필터링 엔진(131)은 사용자 단말(110)에서 실행되거나 어플리케이션(111)으로 통합될 수 있다. 그러면, 사용자 단말(110)에서 실행된 필터링 엔진(131)은 입력창(700)의 키워드에 대해 필터링 처리하고, 유효한 검색어일 경우, 검색 서버(130)로 전송하여 검색을 요청하고, 검색 서버(130)로부터 검색 결과를 제공받는 것이 가능하다.
도 8은 본 발명의 일 실시예에 따른 검색어를 필터링하는 방법의 개략적 순서도이다.
검색 서버(130)는 사용자의 검색어를 패턴 분석하기 위해 관리자로부터 패턴 정보를 설정받는다(S801). 패턴 정보의 설정에 의해, 검색 서버(130)는 도 3에 예시된 패턴 규칙을 저장한다. 또한, 검색 서버(130)는 검색어로부터 변환된 패턴을 필터링 처리하기 위해 관리자로부터 필터링 규칙을 설정받는다(S803). 필터링 규칙의 설정에 의해, 검색 서버(130)는 도 4에 예시된 필터링 규칙을 저장한다.
이후, 사용자는 사용자 단말(110)의 어플리케이션(111)을 실행하고, 실행된 어플리케이션(111)의 입력창(700)에서 키워드를 입력한다. 입력창(700)에서 설정된 시간 동안 사용자의 입력이 없으면, 자동 검색의 이벤트가 발생된다(S813). 자동 검색의 이벤트가 발생되면, 검색 서버(13)는 사용자 단말(110)로부터 사용자의 입력 키워드를 포함하는 검색 요청을 수신하고, 수신된 키워드를 검색어로서 수집한다(S813).
검색 서버(13)는 상기 단계(S801)를 통해 기 저장된 패턴 정보를 참조하여 검색어를 패턴 정보로 변환한다(S821). 검색 서버(13)는 상기 단계(S803)를 통해 기 저장된 필터링 규칙의 정보를 참조하고, 검색어 패턴에 매칭되는 필터링 규칙을 비교하고, 매칭된 필터링 규칙의 성공 여부에 따라 성공이면 필터링에 통과되는 유효한 검색어로 결정한다(S831).
유효한 검색어로 결정되면, 검색 서버(13)는 검색 엔진(133)을 통해 검색을 수행하고, 검색 결과를 생성한다(S871). 검색 결과가 생성되면, 검색 서버(13)는 생성된 검색 결과를 사용자 단말(110)로 제공한다(S873).
여기서, 사용자 단말(110)은 도 7에 예시된 바와 같이, 입력창의 키워드를 검색어로 하여 로컬 검색된 검색 결과를 화면에 출력하고, 검색 서버(130)로부터 네트워크 검색된 검색 결과를 화면에 출력한다.
한편, 본 발명의 다른 실시예로서, 필터링 엔진(131)은 사용자 단말(110)에 구축되어 실행될 수 있다. 상기 단계들(S801 내지 S851)은 사용자 단말(110)에서 실행된 필터링 엔진(131)에 의해 처리된다. 상기 단계(S871)에서는, 사용자 단말(110)이 유효한 검색어를 검색 서버(130)로 전송하여 검색을 요청하고, 검색 서버(130)는 유효한 검색어를 키로 하여 검색한다. 상기 단계(S873)에서는, 검색 서버(130)가 검색 결과를 사용자 단말(110)로 제공한다. 그리고 사용자 단말(110)은 도 7에 예시된 검색 결과를 화면에 출력한다.
본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
100 : 시스템 110 : 사용자 단말
111 : 어플리케이션 130 : 검색 서버
131 : 필터링 엔진 133 : 검색 엔진

Claims (22)

  1. 자동 검색의 이벤트가 발생된 사용자의 입력 키워드를 검색어로서 수집하는 검색어 수집부;
    상기 검색어를 정규화된 패턴으로 변환하는 패턴 변환부;
    변환된 검색어의 패턴이 규칙에 정의된 성공 또는 실패의 패턴과 일치하는지 비교하고, 일치되는 패턴이 성공 패턴이면 필터링의 통과를 성공으로 처리하는 필터링 처리부; 및
    성공으로 처리된 유효한 검색어에 대해 검색을 요청하고, 검색 결과를 제공하는 검색 처리부를 포함하고,
    상기 검색어 수집부는,
    입력창에서 설정된 시간 동안 사용자의 키 입력이 발생되지 않아 발생된 상기 자동 검색의 이벤트에 의해 검색어를 수집하는 장치.
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서,
    각 문자 정보가 변환되는 패턴 정보를 설정받아 관리하는 패턴 룰셋부를 더 포함하고,
    상기 패턴 변환부는 설정된 패턴 정보를 참조하여 상기 검색어의 문자들을 패턴 정보로 변환하는 것을 특징으로 하는 장치.
  5. 제 4항에 있어서,
    상기 패턴 룰셋부는,
    자음과 모음으로 완성된 한글 1글자, 한글 자음, 한글 모음, 알파벳, 숫자, 키 버튼에 매핑된 특수 문자 및 이들을 제외한 나머지 문자를 포함하는 상기 문자 정보의 패턴 정보를 저장하는 것을 특징으로 하는 장치.
  6. 제 1항에 있어서,
    필터링 규칙들의 정보를 설정받아 관리하는 필터링 룰셋부를 더 포함하고,
    상기 필터링 처리부는 검색어의 패턴과 매칭되는 상기 필터링 규칙을 조회하고, 조회된 규칙의 성공 여부에 따라 필터링의 통과를 성공 처리 또는 실패 처리하는 것을 특징으로 하는 장치.
  7. 제 6항에 있어서,
    상기 필터링 룰셋부는,
    각각의 필터링 규칙마다 우선 순위, 규칙명, 패턴의 표현식 및 필터링 통과 처리의 성공 여부를 포함하는 규칙 정보를 저장하는 것을 특징으로 하는 장치.
  8. 제 6항에 있어서,
    상기 필터링 룰셋부는,
    한글 자음으로만 3자 이하 연속된 패턴은 필터링 통과가 실패되어 비유효한 검색어로 결정하는 제 1규칙;
    영어, 완성된 한글, 숫자 및 키 버튼에 매핑된 특수 문자 중에서 하나 이상이 조합된 패턴은 필터링 통과가 성공되어 유효한 검색어로 결정하는 제 2규칙;
    한글 자음, 영어 및 숫자 중에서 하나 이상이 조합된 패턴은 필터링 통과가 성공되어 유효한 검색어로 결정하는 제 3규칙; 및
    키 버튼에 매핑되지 않는 특수 문자 및 모음 중에서 하나 이상이 조합된 패턴은 필터링 통과가 실패되어 비유효한 검색어로 결정하는 제 4규칙
    중에서 하나 이상을 상기 필터링 규칙으로 저장하는 것을 특징으로 하는 장치.
  9. 제 7항에 있어서,
    상기 필터링 처리부는,
    상기 검색어의 패턴과 매칭되는 상기 표현식의 규칙을 조회하고, 조회된 규칙이 성공이면 필터링의 통과가 성공된 유효한 검색어로 처리하고, 조회된 규칙이 실패이면 필터링의 통과가 실패된 비유효한 검색어로 처리하는 것을 특징으로 하는 장치.
  10. 제 1항에 있어서,
    상기 장치가 검색 서버일 경우,
    사용자 단말로부터 자동 검색의 이벤트가 발생된 사용자의 입력 키워드를 검색어로서 전송받고,
    상기 검색 처리부는, 상기 유효한 검색어를 검색 엔진으로 전송하여 검색 요청하고, 검색 결과를 제공받아 사용자 단말로 응답하고, 비유효한 검색어는 필터링 처리의 실패 결과를 사용자 단말로 즉시 응답하고,
    상기 사용자 단말은 로컬 검색 결과 및 네트워크 검색 결과를 검색 결과로서 화면에 출력하는 것을 특징으로 하는 장치.
  11. 제 1항에 있어서,
    상기 장치가 사용자 단말일 경우, 상기 검색 처리부는,
    검색어를 사용자 단말에서 로컬 검색하고, 상기 유효한 검색어를 네트워크를 통해 검색 서버로 전송하여 검색 요청하여 검색 결과를 제공받고, 로컬 검색 결과 및 네트워크 검색 결과를 검색 결과로서 화면에 출력하는 것을 특징으로 하는 장치.
  12. 검색어를 필터링하는 장치가 실행하는 방법에 있어서,
    자동 검색의 이벤트가 발생된 사용자의 입력 키워드를 검색어로서 수집하는 단계;
    상기 검색어를 정규화된 패턴으로 변환하는 단계;
    변환된 검색어의 패턴이 규칙에 정의된 성공 또는 실패의 패턴과 일치하는지 비교하고, 일치되는 패턴이 성공 패턴이면 필터링의 통과를 성공으로 처리하는 단계; 및
    성공으로 처리된 유효한 검색어에 대해 검색을 요청하고, 검색 결과를 제공하여 검색 처리하는 단계를 포함하고,
    상기 수집하는 단계는,
    입력창에서 설정된 시간 동안 사용자의 키 입력이 발생되지 않아 발생된 상기 자동 검색의 이벤트에 의해 검색어를 수집하는 방법.
  13. 삭제
  14. 삭제
  15. 제 12항에 있어서,
    상기 변환하는 단계 이전에, 각 문자 정보가 변환되는 패턴 정보를 설정받아 관리하는 단계를 더 포함하고,
    상기 변환하는 단계는 설정된 패턴 정보를 참조하여 상기 검색어의 문자들을 패턴 정보로 변환하는 단계인 것을 특징으로 하는 방법.
  16. 제 15항에 있어서,
    상기 관리하는 단계는,
    자음과 모음으로 완성된 한글 1글자, 한글 자음, 한글 모음, 알파벳, 숫자, 키 버튼에 매핑된 특수 문자 및 이들을 제외한 나머지 문자를 포함하는 상기 문자 정보의 패턴 정보를 저장하는 단계인 것을 특징으로 하는 방법.
  17. 제 12항에 있어서,
    상기 필터링의 통과를 성공으로 처리하는 단계 이전에,
    필터링 규칙들의 정보를 설정받아 관리하는 단계를 더 포함하고,
    상기 필터링의 통과를 성공으로 처리하는 단계는 검색어의 패턴과 매칭되는 상기 필터링 규칙을 조회하고, 조회된 규칙의 성공 여부에 따라 필터링의 통과를 성공 처리 또는 실패 처리하는 단계인 것을 특징으로 하는 방법.
  18. 제 17항에 있어서,
    상기 관리하는 단계는,
    각각의 필터링 규칙마다 우선 순위, 규칙명, 패턴의 표현식 및 필터링 통과 처리의 성공 여부를 포함하는 규칙 정보를 저장하는 단계인 것을 특징으로 하는 방법.
  19. 제 17항에 있어서,
    상기 관리하는 단계는,
    한글 자음으로만 3자 이하 연속된 패턴은 필터링 통과가 실패되어 비유효한 검색어로 결정하는 제 1규칙;
    영어, 완성된 한글, 숫자 및 키 버튼에 매핑된 특수 문자 중에서 하나 이상이 조합된 패턴은 필터링 통과가 성공되어 유효한 검색어로 결정하는 제 2규칙;
    한글 자음, 영어 및 숫자 중에서 하나 이상이 조합된 패턴은 필터링 통과가 성공되어 유효한 검색어로 결정하는 제 3규칙; 및
    키 버튼에 매핑되지 않는 특수 문자 및 모음 중에서 하나 이상이 조합된 패턴은 필터링 통과가 실패되어 비유효한 검색어로 결정하는 제 4규칙
    중에서 하나 이상을 상기 필터링 규칙으로 저장하는 단계인 것을 특징으로 하는 방법.
  20. 제 18항에 있어서,
    상기 필터링의 통과를 성공으로 처리하는 단계는,
    상기 검색어의 패턴과 매칭되는 상기 표현식의 규칙을 조회하고, 조회된 규칙이 성공이면 필터링의 통과가 성공된 유효한 검색어로 처리하고, 조회된 규칙이 실패이면 필터링의 통과가 실패된 비유효한 검색어로 처리하는 단계인 것을 특징으로 하는 방법.
  21. 제 12항에 있어서,
    상기 장치가 검색 서버일 경우,
    사용자 단말로부터 자동 검색의 이벤트가 발생된 사용자의 입력 키워드를 검색어로서 전송받고,
    상기 검색 처리하는 단계는, 상기 유효한 검색어를 검색 엔진으로 전송하여 검색 요청하고, 검색 결과를 제공받아 사용자 단말로 응답하고, 비유효한 검색어는 필터링 처리의 실패 결과를 사용자 단말로 즉시 응답하는 단계이고,
    상기 사용자 단말은 로컬 검색 결과 및 네트워크 검색 결과를 검색 결과로서 화면에 출력하는 것을 특징으로 하는 방법.
  22. 제 12항에 있어서,
    상기 장치가 사용자 단말일 경우, 상기 검색 처리하는 단계는,
    검색어를 사용자 단말에서 로컬 검색하고, 상기 유효한 검색어를 네트워크를 통해 검색 서버로 전송하여 검색 요청하여 검색 결과를 제공받고, 로컬 검색 결과 및 네트워크 검색 결과를 검색 결과로서 화면에 출력하는 단계인 것을 특징으로 하는 방법.
KR1020170019511A 2017-02-13 2017-02-13 검색어를 필터링하는 장치 및 방법 KR102255493B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170019511A KR102255493B1 (ko) 2017-02-13 2017-02-13 검색어를 필터링하는 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170019511A KR102255493B1 (ko) 2017-02-13 2017-02-13 검색어를 필터링하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20180093434A KR20180093434A (ko) 2018-08-22
KR102255493B1 true KR102255493B1 (ko) 2021-05-21

Family

ID=63453076

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170019511A KR102255493B1 (ko) 2017-02-13 2017-02-13 검색어를 필터링하는 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102255493B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170017635A1 (en) * 2015-07-17 2017-01-19 Fido Labs Inc. Natural language processing system and method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644308A (ja) * 1992-04-16 1994-02-18 Nec Corp キーワード自動選択方法
JPH0736917A (ja) * 1993-06-29 1995-02-07 Nec Corp キーワード自動抽出装置
KR100659542B1 (ko) 2006-03-13 2006-12-19 주식회사 퓨전소프트 한글 검색 방법과 그 시스템 및 컴퓨터로 읽을 수 있는 기록매체
US20080104070A1 (en) * 2006-10-25 2008-05-01 Iovation, Inc. Pattern-based filtering of query input
KR101662215B1 (ko) * 2016-02-23 2016-10-04 네이버 주식회사 확장정보 기능을 제공하는 검색 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170017635A1 (en) * 2015-07-17 2017-01-19 Fido Labs Inc. Natural language processing system and method

Also Published As

Publication number Publication date
KR20180093434A (ko) 2018-08-22

Similar Documents

Publication Publication Date Title
US9600570B2 (en) Method and system for text filtering
JP6714024B2 (ja) 言語入力データからnグラムおよび概念関係の自動生成
US20150234927A1 (en) Application search method, apparatus, and terminal
CN104850574B (zh) 一种面向文本信息的敏感词过滤方法
US9959340B2 (en) Semantic lexicon-based input method editor
CN109033403B (zh) 用于搜索区块链数据的方法、装置及存储介质
WO2013163804A1 (zh) 字词库调整方法及设备
CN110196927B (zh) 一种多轮人机对话方法、装置及设备
WO2014108559A1 (en) Analysis system
US11568133B2 (en) Method and apparatus for detecting anomalies in mission critical environments
US8706909B1 (en) Systems and methods for semantic URL handling
CN104932910A (zh) 应用程序接口扩展的方法及系统
US10303747B2 (en) Method, apparatus and system for controlling address input
CN113051389B (zh) 知识推送方法及装置
RU2631975C2 (ru) Способ и система для обработки входных команд пользователя
KR102255493B1 (ko) 검색어를 필터링하는 장치 및 방법
US9336317B2 (en) System and method for searching aliases associated with an entity
US10885568B2 (en) Interactive recommendation system and method
US11487768B2 (en) Generating search results utilizing access control
CN104268195A (zh) 终端中的本地资源的处理方法和装置
US11281682B1 (en) Combining data sources for type down search results
US20240233427A1 (en) Data categorization using topic modelling
US20240169161A1 (en) Automating large-scale data collection
US20230004989A1 (en) Customer recognition system
US20240070178A1 (en) Disambiguating unrecognized abbreviations in search queries using machine learning

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