KR101052631B1 - 동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치 - Google Patents

동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치 Download PDF

Info

Publication number
KR101052631B1
KR101052631B1 KR1020090007121A KR20090007121A KR101052631B1 KR 101052631 B1 KR101052631 B1 KR 101052631B1 KR 1020090007121 A KR1020090007121 A KR 1020090007121A KR 20090007121 A KR20090007121 A KR 20090007121A KR 101052631 B1 KR101052631 B1 KR 101052631B1
Authority
KR
South Korea
Prior art keywords
word
words
search
database
search word
Prior art date
Application number
KR1020090007121A
Other languages
English (en)
Other versions
KR20100088002A (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 KR1020090007121A priority Critical patent/KR101052631B1/ko
Priority to US12/392,070 priority patent/US8285714B2/en
Publication of KR20100088002A publication Critical patent/KR20100088002A/ko
Application granted granted Critical
Publication of KR101052631B1 publication Critical patent/KR101052631B1/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/332Query formulation
    • G06F16/3322Query formulation using system suggestions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 인터넷이나 로컬 컴퓨터 사용자, 또는 모바일 기기 사용자 등이 검색어를 입력하면 이에 대한 연관어를 추출하고 이를 분류하여 표시하는 시스템 및 그 방법에 관한 발명이다.
본 발명에 따른 연관검색어 제공방법은 클라이언트와 네트워크를 통해 연결된 서버로 이루어진 연관검색어 제공시스템에 있어서, 상기 서버가 소스데이터로부터 단어별로 동시발생빈도를 검색하는 단계; 상기 서버가 상기 검색된 결과를 데이터베이스에 저장하는 단계; 상기 서버가 상기 클라이언트로부터 검색어를 입력받는 단계; 및 상기 서버가 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스에서 추출하는 단계를 포함한다.
연관검색어, 검색시스템, 동시 발생빈도, 코퍼스, 말뭉치

Description

동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치{ Method for providing related words for query using word co-occurrence and device thereof }
본 발명은 인터넷이나 로컬 컴퓨터 사용자, 또는 모바일 기기 사용자 등이 검색어를 입력하면 이에 대한 연관어를 추출하고 이를 분류하여 표시하는 시스템 및 그 방법에 관한 발명이다.
사람은 컴퓨터와 달리 특정한 단어에 대하여 명확하고 확실하게 기억하기보다는 그 단어의 의미, 배경에 대해서는 확실한 인지와 기억을 하지만 그 의미와 배경이 표상되는 표면적인(surface) 단어에 대해서는 확실한 기억을 하지 못하는 경우가 있다. 예컨대 타겟이 되는 단어가 “그릇”인지 “용기”인지 “통”인지 확실하지는 않지만 그것이 무엇인지는 확실하게 인지하는 경우이다.
상기와 같이 인간의 불안정안 기억을 보완하기 위해서 기존의 포털사이트 (Portal Site) 및 검색사이트에서는 검색의 편의를 제공하기 위해 여러가지 방법이 시도되고 있다.
그 중 하나가 검색어자동완성이라는 검색어 제시기능이다.
도 1은 종래 사용되는 검색어자동완성의 일 예를 도시한 도면이다.
이 기능은 검색사용자가 검색어의 일부만을 입력해도 펼침메뉴를 통해 입력된 검색어를 포함하는 다수의 제시어들을 보여주는 기능이다. 관련된 검색어는 유사도 및 빈도수 순에 의해 제시한다. 이러한 기능은 검색사용자들이 검색어의 일부분만을 알고 있어도 검색장치에서 제시하는 다수의 검색어들 중에서 자신이 원하는 검색어를 선택할 수 있고, 검색어를 입력하는 시간을 줄일 수 있는 장점이 있어 사용자들에게 검색의 편의성을 제공한다.
즉 예를 들어 사용자가 "인터넷뱅킹"에 대해서 검색하고 싶을 때, 검색창에 "인터"라고만 작성해도, "인터"로 시작하는 검색어들 "인터넷","인터넷전화","인터넷뱅킹"등등과 같이 다수의 검색어가 나열되고, 사용자는 여기서 자기가 찾고 싶은 검색어를 선택할 수 있게 된다. 그러나 이러한 검색어 자동완성은 사용자가 찾고자 하는 검색어에 포함되어 있는 내용을 작성해야지만 찾을 수 있다는 문제점이 있다.
그 다음으로 사용되는 기능이 동의어 사전을 이용한 검색기능이다. 즉 사용자가 어떤 검색어를 입력할 경우 이에 대한 검색어들을 나열해주는 방법이다. 그러나 실제적으로 유사한 경우는 그 범위가 언어학적인 “단어의 의미”, “동의어”를 넘어선다. 예컨대 accommodation이라는 영어 단어와 rent라는 영어단어는 동의어는 아니지만 숙박과 집세로서 서로의 연관성을 지닌다.
이에 최근에는 사용자가 특정 검색어를 입력시 해당 검색어와 연관된 검색어 를 나열해주는 연관검색어 기능이 선보이고 있다. 그러나 현재 나와있는 이러한 연관검색어 기능은 사용자의 키워드 입력을 기초로 해서 만들어지고 있는 실정이다.
도 2는 종래 사용되는 방식을 이용하여 연관검색어를 보여주는 경우의 일 예를 도시한 도면이다.
구체적으로 예를 들어 현재 사용되는 검색엔진에서 사용자가 "이라크"라는 검색어를 입력한 경우, "이라크"에 대한 검색결과와 함께 연관검색어로 "이라크전쟁, 이스라엘,러시아,미국" 등이 나열된다. 이러한 연관검색어는 단지 기존에 "이라크"를 검색했던 사람들이 다음에 검색했던 단어들의 나열일 뿐이다.
만약 사용자가 특정 미국대통령을 검색하고 싶은데, 이름이나 기타 정보는 기억나지 않고 이라크전쟁시의 미국의 대통령이라는 것만 기억날때 상기와 같이 이라크를 검색어로 입력하고 연관검색어로 찾으려고 하나 상기와 같이 종래의 방법으로는 불가능하다. 종래의 연관검색어는 검색어들간에 실제적인 연관성을 가지고 구성한 것이 아니고, 사용자들이 어떤 단어를 검색한 후 이후에 다시 검색하는 어떠한 패턴을을 기초로 하기 때문이다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 사용자가 찾고자 하는 특정 단어에 대해서 명확하게 기억하지 못하더라도 생각나는 단어를 입력하면 이와 연관된 단어를 제공함으로써 사용자가 실제로 찾고자하는 단어를 선택하여 본격적인 검색을 할 수 있도록 함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 연관검색어 제공장치는 외부의 클라이언트로와 네트워크를 통해서 연결되고, 상기 클라이언트로부터 검색어를 입력받는 통신모듈; 적어도 1개 이상의 단어와, 상기 단어별로 각각 동시발생되는 적어도 1개 이상의 동시발생단어들 및 동시발생회수를 포함하는 데이터를 저장하는 연관데이터베이스; 및 소스테이터를 검색하여, 상기 소스데이터에 포함되는 단어들을 추출하고, 상기 추출된 단어별로 동시발생되는 동시발생단어들 및 동시발생회수를 추출하여 상기 연관데이터베이스에 저장하고, 상기 통신모듈을 통해서 입력받은 검색어와 연관된 연관검색어를 상기 연관데이터베이스로부터 추출하는 연관검색에 제어모듈을 포함한다.
또한 상기 연관검색어 제어모듈은 소스테이터를 검색하여, 상기 소스데이터에 포함되는 단어들을 추출하고, 상기 추출된 단어별로 동시발생되는 동시발생단어들 및 동시발생회수를 추출하여 상기 연관데이터베이스에 저장하는 발생빈도조사모 듈; 및 상기 연관데이터베이스에서 상기 입력받은 검색어와 연관된 연관검색어를 추출하는 추출모듈;을 포함하는 것이 바람직하다.
그리고 상기 연관검색어 제어모듈은 추출모듈에 의해서 추출된 연관검색어들에 대해서 각각의 연관검색어들간의 동시발생빈도를 기초로 하여 그룹화하는 그룹핑모듈;을 더 포함하는 것이 바람직하다.
또한 상기 발생빈도조사모듈은 상기 단어들에 대해서 기정의된 범위 이내에서만 동시발생단어 및 동시발생회수를 추출하는 것이 바람직하다.
그리고 상기 기정의된 범위는 문장단위 및 단락단위 중 어느 하나인 것이 바람직하다.
또한 상기 발생빈도조사모듈은 기정해진 주기마다 실행되는 것이 바람직하다.
그리고 상기 소스데이터는 웹문서 및 다수의 코퍼스(Corpus) 중 어느 하나인 것을 특징으로 하며, 상기 통신모듈은 상기 클라이언트로부터 검색이와 소스데이터의 종류를 입력받으며, 상기 연관데이터베이스는 소스데이타의 종류별로 단어와 1개 이상의 동시발생단어들의 그룹형태의 데이터를 저장하는 연관데이터베이스; 및 상기 연관검색에 제어모듈 소스데이타의 종류별로 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스로부터 추출하는 것이 바람직하다.
또한 상기 연관검색어 제어모듈은 상기 연관데이터베이스에서 각각의 단어별로 동시발생단어들을 읽어들인 후, 상기 동시발생단어들 중에서 상기 단어와 연관되는 연관단어를 추출하여 상기 연관데이터베이스에 저장하는 사전추출모듈을 더 포함하는 것이 바람직하다.
그리고 상기 사전추출모듈은 상기 연관데이터베이스에서 각각의 특정 단어별로 동시발생단어들을 읽어들인 후, 상기 특정 단어별로 동시발생회수 순서대로 상위 N개의 동시발생단어들을 추출하고, 상기 N개의 동시발생단어들에 대해서 다시 상기 동시발생단어가 발생시에 동시에 발생하는 제2동시발생단어들을 추출하고 상기 제2동시발생단어들 중에서 상기 특정단어가 동시발생회수순으로 기정해진 순위 이내인 경우에는 상기 특정단어에 대해서 상기 동시발생단어를 연관검색어로 판단하는 것이 바람직하다.
또한 검색자료를 저장하는 검색용데이터베이스 및 상기 검색어를 이용하여 상기 검색용데이터베이스에서 검색을 수행하는 검색엔진을 더 포함하는 것이 바람직하다.
한편 본 발명의 다른 일 실시예에 따른 연관검색어 제공시스템은 사용자로부터 검색어를 입력받고 네트워크를 통해서 검색어를 전송하는 클라이언트 및 상기 클라이언트로부터 검색어를 수신받고, 상기 검색어와 연관되는 연관검색어를 추출하여 상기 클라이언트에 전송하는 서버를 포함하며,
상기 서버는 외부의 클라이언트로와 네트워크를 통해서 연결되고, 상기 클라이언트로부터 검색어를 입력받는 통신모듈; 적어도 1개 이상의 단어와, 상기 단어별로 각각 동시발생되는 적어도 1개 이상의 동시발생단어들을 포함하는 데이터를 저장하는 연관데이터베이스; 및 소스테이터로부터 상기 특정단어별로 동시발생되는 단어들을 추출하여 상기 연관데이터베이스에 저장하고, 상기 통신모듈을 통해서 입 력받은 검색어와 연관된 연관검색어를 상기 데이터베이스로부터 추출하는 연관검색에 제어모듈을 포함한다.
그리고 상기 연관검색어 제어모듈은 소스데이타를 읽어들인 후, 상기 소스데이타에 포함된 다수의 단어에 대해서, 각각의 단어들에 대해서 동시에 출현하는 다수의 동시발생단어 및 동시발생회수를 상기 연관데이터베이스에 저장하는 발생빈도조사모듈; 및 상기 연관데이터베이스에서 상기 입력받은 검색어와 연관된 연관검색어를 추출하는 추출모듈;을 포함하는 것이 바람직하다.
한편 본 발명의 다른 일 실시예에 따른 연관검색어 제공 방법은 클라이언트와 네트워크를 통해 연결된 서버로 이루어진 연관검색어 제공시스템에 있어서, 상기 서버가 소스데이터로부터 단어별로 동시발생빈도를 검색하는 단계; 상기 서버가 상기 검색된 결과를 데이터베이스에 저장하는 단계; 상기 서버가 상기 클라이언트로부터 검색어를 입력받는 단계; 및 상기 서버가 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스에서 추출하는 단계를 포함한다.
그리고 상기 동시발생빈도를 검색하는 단계는 소스테이터를 검색하여, 상기 소스데이터에 포함되는 단어들을 추출하고, 상기 추출된 단어별로 동시발생되는 동시발생단어들 및 동시발생회수를 추출하여 상기 연관데이터베이스에 저장하는 것이 바람직하다.
또한 상기 추출된 연관검색어들에 대해서 각각의 연관검색어들간의 동시발생회수를 기초로 하여 그룹화하는 단계를 더 포함하는 것이 바람직하다.
그리고 상기 동시발생빈도를 검색하는 단계는 상기 추출된 단어들에 대해서 기정의된 범위 이내에서만 동시발생단어 및 동시발생회수를 추출하는 것이 바람직하다.
또한 상기 기정의된 범위는 문장단위 및 단락단위 중 어느 하나인 것이 바람직하다.
그리고 상기 동시발생빈도를 검색하는 단계는 기정해진 주기마다 실행되는 것이 바람직하다.
또한 상기 소스데이터는 웹문서 및 다수의 코퍼스(Corpus) 중 어느 하나인 것을 특징으로 하며, 상기 데이터베이스에 저장하는 단계는 소스데이타의 종류별로 데이터를 저장하는 것을 특징으로 하며,
상기 입력받는 단계는 검색어와 소스데이타의 종류를 입력받는 것을 특징으로 하며, 상기 추출하는 단계는 상기 소스데이타의 종류별로 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스로부터 추출하는 것이 바람직하다.
한편 본 발명의 또 다른 일 실시예에 따른 연관검색어 제공 방법은 클라이언트와 네트워크를 통해 연결된 서버로 이루어진 연관검색어 제공시스템에 있어서, 상기 서버가 소스데이터로부터 단어별로 동시발생빈도를 검색하여 데이터베이스에 저장하는 단계; 상기 서버가 상기 검색된 동시발생빈도를 기초로 단어별로 연관검색어를 추출하는 단계; 상기 서버가 상기 추출된 연관검색어를 데이터베이스에 저장하는 단계; 상기 서버가 상기 클라이언트로부터 검색어를 입력받는 단계; 및 상기 서버가 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스에서 추출하는 단계를 포함한다.
그리고 상기 연관데이터베이스에서 각각의 특정 단어별로 동시발생단어들을 읽어들인 후, 상기 특정 단어별로 동시발생회수 순서대로 상위 N개의 동시발생단어들을 추출하고, 상기 N개의 동시발생단어들에 대해서 다시 상기 동시발생단어가 발생시, 동시에 발생한 제2동시발생단어들을 추출하고 상기 제2동시발생단어들 중에서 상기 특정단어가 동시발생회수순으로 기정해진 순위 이내인 경우에는 상기 특정단어에 대해서 상기 동시발생단어를 연관검색어로 판단하는 것이 바람직하다.
한편 본 발명의 또 다른 일 실시예에 따른 컴퓨터로 읽을 수 있는 기록매체에는 클라이언트와 네트워크를 통해 연결된 서버로 이루어진 연관검색어 제공시스템에 있어서, 상기 서버가 소스데이터로부터 단어별로 동시발생빈도를 검색하는 단계; 상기 서버가 상기 검색된 결과를 데이터베이스에 저장하는 단계; 상기 서버가 상기 클라이언트로부터 검색어를 입력받는 단계; 및 상기 서버가 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스에서 추출하는 단계를 실행할 수 있는 프로그램을 기록된다.
이상 설명한 바와 같이, 본 발명에서 제공되는 방법을 이용하며 사용자가 정확하게 정보를 기억하지 못하더라도 이와 관련성이 있는 검색어를 입력하면 관련성이 있는 연관검색어를 나열함으로써 원하는 검색을 할 수 있도록 한다.
즉 사용자가 특정 단어를 찾고자 할 때 (1) 전혀 그 목표한 단어를 모르는 경우 (2) 그 단어를 알지만 검색 당시 생각이 나지 않는 경우 모두 관련 웹사이트 나 관련 게시판에 들어가서 정보를 검색해야 하는 수고를 크게 덜 수 있게 된다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 3은 본 발명의 일 실시예에 따른 연관검색어 시스템의 블록도이다.
도 3에서 도시한 바와 같이, 본 발명에 따른 연관검색어 시스템(120)은 클라이언트(110)와 네트워크를 통하여 연결어 검색을 위한 데이터를 주고받는 통신모듈(130), 검색자료를 저장하는 검색용DB(150), 검색어를 이용하여 검색용DB(150)에서 검색을 수행하는 검색엔진(140)과 본 발명에 따른 연관검색을 수행하기 위해서 데이터를 저장하고 있는 연관데이터베이스(170) 및 이를 통해서 연관검색어를 추출하는 연관검색어 제어모듈(160)을 포함한다.
또한 연관검색어 제어모듈(160)은 소스데이터로부터 단어별로 동시발생빈도를 검색하고 이 정보를 연관데이터베이스에 저장하는 발생빈도 조사모듈(162), 연관데이터베이스(170)에 저장된 정보를 이용해서 검색어와 연관된 연관검색어를 추출하는 추출모듈(164) 및 상기 추출모듈(164)에서 추출된 연관검색어들을 서로간의 관련성에 따라서 다시 그룹화하는 그룹핑모듈(166)을 포함한다.
여기서 통신모듈(130), 검색엔진(140) 및 검색용데이터베이스(150)는 일반적인 검색어에 대한 검색결과를 도출하기 위한 구성요소로서 당업자라면 용이하게 알 수 있는 바 이하 자세한 설명은 생략한다.
한편 연관검색어 제어모듈(160)을 통해서 검색어에 대한 연관검색어를 도출 하는 방법에 대해서는 이하 도4에 대한 설명에서 자세히 후술한다.
도 4는 본 발명의 일 실시예에 따른 검색시스템에서 연관검색어 제공 방법의 설명을 위한 흐름도이다.
우선 본 발명을 위한 연관검색어 시스템(120)은 우선 소스데이타들로부터 단어별로 동시 발생빈도(co-occurrence)를 조사한다(S210).
여기서 소스데이타들이란 웹문서들이나 또는 코퍼스(Corpus 이하 코퍼스)를 기초로 해서 구성한다. 즉 종래 발명에서는 연관검색어를 위한 기초데이터로서 사용자들이 검색엔진에 입력하는 검색어의 입력패턴을 대신에 문서들을 기초로 사용한다.
여기서 코퍼스란 '언어적인 연구를 위해 모아진 말뭉치'라는 의미인데, 일반적으로 신문이나 과학잡지 또는 논문들과 같은 것들이다.
웹문서를 선택할 경우 장점으로는 (1)방대한 용량을 데이터로 삼을 수 있으며 (2) 실시간으로 업데이트가 되는 실시간적인 데이터라는 점이다. 단점은 (1)시간과 비용이 많이 들며 (2) 불필요한 정보(Garbage) 즉 가비지 수준의 정제되지 않은 데이터가 소스로 선정될 수 있으며 (3) 특정 영역, 특정 카테고리의 문서가 불균등한 방식으로 데이터화됨으로써 전체적인 균형을 잃을 수 있다는 점이다.
이에 대한 대안으로 코퍼스(corpus)를 사용하면 (1) 여러 영역에 대한 균형있는 데이터를 처리하여 편향된 결과가 나오는 것을 방지할 수 있으며 (2) 매우 짧은 시기에 나타났다가 사라지는 불필요한 단어들에 대한 노이즈를 사전에 제거할 수 있는 장점을 지닌다.
이 두 가지는 배타적으로 사용될 수도 있고, 양자를 적절한 비율로 조합하여 사용할 수도 있다. 예컨대 코퍼스와 웹문서 전체의 양적 비율이 1대 100000 에 이른다 할지라도 코퍼스에 가중치를 두어 양 쪽의 데이터베이스를 1대1의 비율로 혼합하여 새로운 데이터베이스를 만들 수 있다.
예를 들어 예컨대 숙박(accommodate)라는 단어가 집세(rent), 호텔(hotel)이라는 동시발생하는 경우를 들어보자. 이 경우 코퍼스에서 숙박이라는 단어가 집세 및 호텔과 동시 나타나는 횟수가 각각 100회, 2회이고 웹문서에서 각각 1,000회 100,000 회라고 하자. 이 경우 양 소스를 단순합산하면 집세는 숙박와 1,100회 같이 나타나고 반면 호텔은 숙박과 100,002회 같이 나타나는 것으로 되어 호텔이 압도적으로 높게 나타난다.
반면 가중치로 10,000을 코퍼스에 준다면 가중치가 반영된 통합된 발생빈도의 경우 집세는 1,001,000회이고 호텔은 120,000 회가 되어 집세가 더 높게 된다.
한편 위와 같이 여러 개의 소스데이터들을 혼합하여 데이터베이스를 만들수도 있으나, 각각의 소스별로 데이터베이스를 구축하는 것 역시도 무방하다. 즉 웹문서용 데이터베이스, 신문용 데이터베이스 및 과학잡지용 데이터베이스로 각각 구별하여 데이터베이스를 구축하는 것이다.
한편 동시발생이라는 기준 역시 동일한 문서나 동일한 웹문서에 같이 나온 경우를 모두 카운트할 수도 있으며, 또는 동일한 문장에서 나온 경우에만 카운트하는 것도 가능하며, 또는 특정 문서에서 앞뒤로 기정해진 단어갯수 이내에 나타나는 경우에만 동시 발생으로 카운트할 수 있다.
이렇게 상기 소스데이터에서 각 단어별로 동시 발생빈도를 조사가 되면, 이러한 정보를 데이터베이스에 저장한다(S220).
상기 동시발생빈도 조사하는 S210단계 및 데이터베이스에 저장하는 S220단계는 일정 주기로 하는 방안이 적절한다.
한편 이렇게 동시 발생빈도 조사 결과가 데이터베이스에 저장되는 데이타의 일 예는 도 5에 도시되어 있따. 도 5는 본 발명의 일 실시예에 따른 연관데이터베이스에 적재되는 데이터의 일 예를 도시한 도면이다.
도 5와 같이 연관데이터베이스에는 특정단어, 해당 단어가 나온 총횟수와 상기 특정단어가 나올 때 동시에 나온 다수의 단어들과 동시에 나온 횟수의 형태로 저장된다.
예를 들어 이라크라는 단어가 총 4000번이 나왔는데, 상기 이라크라는 단어가 나올 때 동시에 이라크전쟁이라는 단어가 2000번, 국가라는 단어가 1900번이 나왔다. 또한 부시, 바그다드, 메소포타미야 및 중동이라는 단어도 각각 1400,1000,800번씩 나왔다.
여기서 이라크라는 단어에 대해서, 4000이라는 회수는 단어발생회수이고, 이라크전쟁, 국가, 부시, 바그다드 등등의 단어들은 동시발생단어들이고, 2000,1900,1700,1400는 각각 동시발생회수이다.
또한 소스데이타에서는 바그다드라는 단어가 총 2000번 나왔으며, 상기 바그다드라는 단어가 나올 때 이라크, 수도, 중동 및 사막이라는 단어가 각각 1700,1400,500 및 200번씩 동시 발생한 것을 알 수 있다. 여기서도 바그다드라는 단어데 대해서 2000번은 단어발생회수이고, 이라크, 수도, 중동, 사막이라는 단어는 동시발생단어들이고, 1700,1400,500,200는 각각 동시발생회수이다.
이 후 사용자로부터 검색어를 입력받는다(S230).
그러면 상기 검색어와 연관된 연관검색어를 추출한다(S240).
예를 들어 사용자가 이라크라는 단어를 검색어로 입력한 경우를 가정하자.
그러면 우선 데이타베이스에서 상기 검색어가 나올 때 동시에 가장 많이 동시 발생한 단어들을 우선 검색한다. 즉 이라크라는 검색어가 입력시 해당 검색어에 해당하는 단어에 대해서 동시발생단어들을 검색한다.
도 5와 같은 경우 동시발생회수순으로 동시발생단어들을 추출하면 이라크전쟁, 국가, 부시, 바그다드의 단어 등이 검색될 것이다.
이 후 동시발생단어 중 하나인 이라크전쟁에 대해서 다시 해당 단어가 발생시 동시발생한 단어들을 검색한다.이라크전쟁이라는 단어에 대해서 다시 동시발생단어들을 검색하면 이라크,부시,미국 등의 검색되며 최초 검색어에 해당하는 이라크라는 단어가 상위에 속한 것을 알 수 있다. 따라서 동시발생단어인 이라크전쟁이라는 단어는 이라크의 연관어로 판단한다.
두 번째 동시발생단어인 국가의 경우, 국가라는 단어가 발생시에 동시발생단어순을 검색하면 나라, 주권, 영토 등의 단어순이 된다. 최초 검색어인 이라크라는 단어가 상위에 속하지 않았으며 이에 따라 동시발생단어인 국가는 이라크의 연관어로 판단하지 않는다.
이러한 과정을 거치면, 이라크와 관련된 단어들은 이라크전쟁, 부시, 바그다 드, 메소포타미아 및 중동 등이 검색된다.
상기 단어가 사용자가 입력한 검색어인 이라크의 연관검색어가 된다.
물론 상술한 방식에 한정되는 것은 아니며, 상술한 방식 이외에도 상호정보(Mutual Information) 등의 방법을 사용하여 특정 조건(threshold)를 만족하는 단어들을 연관어로 검출할 수도 있다.
이후 상기 추출된 연관검색어들을 다시 그룹화를 한다(S250). 도 5를 볼 때, 이라크전쟁이라는 단어가 발생했을 때, 부시라는 단어도 많이 동시발생한 것을 알 수 있다. 마찬가지로 부시라는 단어가 발생했을 때 역시 이라크전쟁이라는 단어가 동시발생한 횟수가 적지않다. 따라서 이라크전쟁과 부시라는 단어는 서로 그룹화가 가능하다.
마찬가지로 바그다드, 메소포타미아 등의 단어들도 서로 그룹화가 가능하다.
이렇게 추출된 연관검색어를 표시한다(S260).
도 6은 본 발명의 일 실시예에 따라 검색을 실시한 경우에 연관검색어가 표시된 화면을 도시한 도면이다.
도 6과 같이, 사용자가 이라크라는 검색어를 입력한 경우, 검색결과 이외에 연관검색어가 표시되며, 이러한 연관검색어는 "이라크전쟁, 부시, 대량살상무기 ..."등과 같은 그룹과 "바그다드, 중동, 메소포타미아,사막.."등과 같은 그룹으로 표시된다.
즉 앞의 그룹의 연관검색어들은 전쟁과 관련된 신문기사등의 소스데이터에서 동시에 발생한 경우이고, 뒤의 그룹의 연관검색어들은 이라크의 지역정보나 지리서 에서 동시에 발생한 경우로서 서로 그룹화가 가능하게 된다.
이렇게 신문 등의 데이터에서 동시 발생한 빈도를 이용해서 연관검색어를 표시하는 바 이를 통해서 사용자는 연상되는 단어들을 입력함으로써 자신이 찾고자 하는 검색어를 찾을 수 있게 되는 것이다.
지금까지, 신문 등의 소스데이터를 이용해서 특정 단어들의 동시 발생빈도수를 기초로한 연관검색어를 추출하는 방법에 대해서 바람직한 실시예를 들어 상세히 설명하였다.
한편 본 실시예에서는 소스데이터에서 동시발생빈도수를 조사한 후 이에 따라 각 단어별로 다수의 동시발생단어, 동시발생회수쌍의 데이터를 데이터베이스에 저장하고, 이 후 검색어가 입력되면 상기 데이터베이스에서 입력된 검색어에 대한 연관검색어를 추출하는 방식으로 설명하였다.
그러나 데이터베이스에 저장되는 단계에서 미리 모든 단어에 대해서 연관검색어를 추출하여 놓고, 사용자가 검색어를 입력하면 해당 검색어에 해당하는 연관검색어를 바로 읽어들여 보여주더라도 무방하다.
즉 상술한 도4의 S240단계를 사용자가 검색어를 입력한 뒤에 하는 것이 아니고, 미리 모든 단어들에 대해서 미리 연관검색어를 추출하여 데이터베이스에 미리 기저장해놓는 것 역시도 가능하다. 즉 모든 단어들에 대해서 동시발생단어들 중에서 상술한 S240단계와 같은 방식으로 연관검색어를 추출해 놓은 뒤, 모든 단어별로 각각 다수의 연관검색어로 구성된 데이터를 저장해놓는 것 역시도 무방하다.
또한 본 실시예에서는 이라크등의 검색어를 예로 들어 설명하였으나, 이는 설명의 편의를 위한 일 실시예에 불과하며 따라서 어떤 단어라도 사용할 수 있음을 물론이다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
도 1은 종래 사용되는 검색어자동완성의 일 예를 도시한 도면,
도 2는 종래 사용되는 방식을 이용하여 연관검색어를 보여주는 경우의 일 예를 도시한 도면,
도 3은 본 발명의 일 실시예에 따른 연관검색어 시스템의 블록도,
도 4는 본 발명의 일 실시예에 따른 검색시스템에서 연관검색어 제공 방법의 설명을 위한 흐름도,
도 5는 본 발명의 일 실시예에 따른 연관데이터베이스에 적재되는 데이터의 일 예를 도시한 도면,
도 6은 본 발명의 일 실시예에 따라 검색을 실시한 경우에 연관검색어가 표시된 화면을 도시한 도면이다.
* 도면의 주요 부분에 대한 부호의 설명 *
110: 클라이언트 120: 연관검색어 시스템
130: 통신모듈 140: 검색엔진
150: 검색용 데이터베이스 160: 연관모델 제어모듈
162: 발생빈도 조사모듈 164: 추출모듈
166: 그룹핑 모듈 170: 연관 데이터베이스

Claims (24)

  1. 외부의 클라이언트로와 네트워크를 통해서 연결되고, 상기 클라이언트로부터 검색어를 입력받는 통신모듈;
    적어도 1개 이상의 단어와, 상기 단어별로 각각 동시발생되는 적어도 1개 이상의 동시발생단어들 및 동시발생회수를 포함하는 데이터를 저장하는 연관데이터베이스; 및
    소스테이터를 검색하여, 상기 소스데이터에 포함되는 단어들을 추출하고, 상기 추출된 단어별로 동시발생되는 동시발생단어들 및 동시발생회수를 추출하여 상기 연관데이터베이스에 저장하고, 상기 통신모듈을 통해서 입력받은 검색어와 연관된 연관검색어를 상기 연관데이터베이스로부터 추출하는 연관검색어 제어모듈을 포함하고,
    상기 연관검색어 제어모듈은
    상기 연관데이터베이스에서 각각의 단어별로 동시발생단어들을 읽어들인 후, 상기 동시발생단어들 중에서 상기 단어와 연관되는 연관단어를 추출하여 상기 연관데이터베이스에 저장하는 사전추출모듈을 더 포함하며,
    상기 사전추출모듈은
    상기 연관데이터베이스에서 각각의 특정 단어별로 동시발생단어들을 읽어들인 후,
    상기 특정 단어별로 동시발생회수 순서대로 상위 N개의 동시발생단어들을 추출하고,
    상기 N개의 동시발생단어들에 대해서 다시
    상기 동시발생단어가 발생시, 동시에 발생한 제2동시발생단어들을 추출하고 상기 제2동시발생단어들 중에서 상기 특정단어가 동시발생회수순으로 기정해진 순위 이내인 경우에는 상기 특정단어에 대해서 상기 동시발생단어를 연관검색어로 판단하는 것을 특징으로 하는 연관검색어 제공장치.
  2. 제1항에 있어서,
    상기 연관검색어 제어모듈은
    상기 소스데이터를 검색하여, 상기 소스데이터에 포함되는 단어들을 추출하고, 상기 추출된 단어별로 동시발생되는 동시발생단어들 및 동시발생회수를 추출하여 상기 연관데이터베이스에 저장하는 발생빈도조사모듈; 및
    상기 연관데이터베이스에서 상기 입력받은 검색어와 연관된 연관검색어를 추출하는 추출모듈;을 포함하는 것을 특징으로 하는 연관검색어 제공장치.
  3. 제2항에 있어서,
    상기 연관검색어 제어모듈은
    추출모듈에 의해서 추출된 연관검색어들에 대해서 각각의 연관검색어들간의 동시발생빈도를 기초로 하여 그룹화하는 그룹핑모듈;을 더 포함하는 것을 특징으로 하는 연관검색어 제공장치.
  4. 제2항에 있어서,
    상기 발생빈도조사모듈은
    상기 단어들에 대해서 기정의된 범위 이내에서만 동시발생단어 및 동시발생회수를 추출하는 것을 특징으로 하는 연관검색어 제공장치.
  5. 제4항에 있어서,
    상기 기정의된 범위는 문장단위 및 단락단위 중 어느 하나인 것을 특징으로 하는 연관검색어 제공장치.
  6. 제2항에 있어서,
    상기 발생빈도조사모듈은
    기정해진 주기마다 실행되는 것을 특징으로 하는 연관검색어 제공장치.
  7. 제1항에 있어서,
    상기 소스데이터는
    웹문서 및 다수의 코퍼스(Corpus) 중 어느 하나인 것을 특징으로 하며,
    상기 통신모듈은 상기 클라이언트로부터 검색어와 소스데이터의 종류를 입력받으며,
    상기 연관데이터베이스는 소스데이타의 종류별로 단어와 1개 이상의 동시발생단어들을 포함하는 데이터를 저장하는 연관데이터베이스; 및
    상기 연관검색어 제어모듈은 소스데이터의 종류별로 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스로부터 추출하는 것을 특징으로 하는 연관검색어 제공장치.
  8. 삭제
  9. 삭제
  10. 제1항에 있어서,
    검색자료를 저장하는 검색용데이터베이스 및
    상기 검색어를 이용하여 상기 검색용데이터베이스에서 검색을 수행하는 검색엔진을 더 포함하는 것을 특징으로 하는 연관검색어 제공장치.
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 클라이언트와 네트워크를 통해 연결된 서버로 이루어진 연관검색어 제공시스템의 연관검색어 제공 방법에 있어서,
    상기 서버가 소스데이터로부터 단어별로 동시발생빈도를 검색하여 데이터베이스에 저장하는 단계;
    상기 서버가 상기 검색된 동시발생빈도를 기초로 단어별로 연관검색어를 추출하는 단계;
    상기 서버가 상기 추출된 연관검색어를 데이터베이스에 저장하는 단계;
    상기 서버가 상기 클라이언트로부터 검색어를 입력받는 단계; 및
    상기 서버가 상기 입력받은 검색어와 연관된 연관검색어를 상기 데이터베이스에서 추출하는 단계를 포함하고,
    상기 연관검색어를 추출하는 단계는
    상기 데이터베이스에서 각각의 특정 단어별로 동시발생단어들을 읽어들인 후,
    상기 특정 단어별로 동시발생회수 순서대로 상위 N개의 동시발생단어들을 추출하고,
    상기 N개의 동시발생단어들에 대해서 다시 상기 동시발생단어가 발생시, 동시에 발생한 제2동시발생단어들을 추출하고 상기 제2동시발생단어들 중에서 상기 특정단어가 동시발생회수순으로 기정해진 순위 이내인 경우에는 상기 특정단어에 대해서 상기 동시발생단어를 연관검색어로 판단하는 것을 특징으로 하는 검색시스템을 이용한 연관검색어 제공 방법.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 제20항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020090007121A 2009-01-29 2009-01-29 동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치 KR101052631B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090007121A KR101052631B1 (ko) 2009-01-29 2009-01-29 동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치
US12/392,070 US8285714B2 (en) 2009-01-29 2009-02-24 Method and apparatus for providing related words for queries using word co-occurrence frequency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090007121A KR101052631B1 (ko) 2009-01-29 2009-01-29 동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치

Publications (2)

Publication Number Publication Date
KR20100088002A KR20100088002A (ko) 2010-08-06
KR101052631B1 true KR101052631B1 (ko) 2011-07-28

Family

ID=42354994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090007121A KR101052631B1 (ko) 2009-01-29 2009-01-29 동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치

Country Status (2)

Country Link
US (1) US8285714B2 (ko)
KR (1) KR101052631B1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063772A1 (ja) * 2010-11-10 2012-05-18 楽天株式会社 関連語登録装置、情報処理装置、関連語登録方法、関連語登録装置用プログラム、記録媒体、および、関連語登録システム
KR101565759B1 (ko) 2011-10-07 2015-11-06 한국전자통신연구원 토픽 템플릿과 연관어에 기반한 관련토픽 및 경쟁토픽 탐지 시스템, 탐지 방법 및 탐지 장치
US8799269B2 (en) * 2012-01-03 2014-08-05 International Business Machines Corporation Optimizing map/reduce searches by using synthetic events
JP5710519B2 (ja) * 2012-02-10 2015-04-30 日本電信電話株式会社 同義語抽出装置、方法、及びプログラム
JP5727415B2 (ja) * 2012-05-17 2015-06-03 日本電信電話株式会社 文書検索用関連語発見装置及び方法及びプログラム
US9460200B2 (en) 2012-07-02 2016-10-04 International Business Machines Corporation Activity recommendation based on a context-based electronic files search
US8903813B2 (en) 2012-07-02 2014-12-02 International Business Machines Corporation Context-based electronic document search using a synthetic event
US8898165B2 (en) 2012-07-02 2014-11-25 International Business Machines Corporation Identification of null sets in a context-based electronic document search
US9262499B2 (en) 2012-08-08 2016-02-16 International Business Machines Corporation Context-based graphical database
US8676857B1 (en) 2012-08-23 2014-03-18 International Business Machines Corporation Context-based search for a data store related to a graph node
US8959119B2 (en) 2012-08-27 2015-02-17 International Business Machines Corporation Context-based graph-relational intersect derived database
US9251237B2 (en) 2012-09-11 2016-02-02 International Business Machines Corporation User-specific synthetic context object matching
US8620958B1 (en) 2012-09-11 2013-12-31 International Business Machines Corporation Dimensionally constrained synthetic context objects database
US9619580B2 (en) 2012-09-11 2017-04-11 International Business Machines Corporation Generation of synthetic context objects
US9223846B2 (en) 2012-09-18 2015-12-29 International Business Machines Corporation Context-based navigation through a database
US8782777B2 (en) 2012-09-27 2014-07-15 International Business Machines Corporation Use of synthetic context-based objects to secure data stores
US9741138B2 (en) 2012-10-10 2017-08-22 International Business Machines Corporation Node cluster relationships in a graph database
US8931109B2 (en) 2012-11-19 2015-01-06 International Business Machines Corporation Context-based security screening for accessing data
US11232137B2 (en) * 2012-12-18 2022-01-25 RELX Inc. Methods for evaluating term support in patent-related documents
CA2895511C (en) 2012-12-18 2021-06-29 Brian Elias Systems and methods for patent-related document analysis and searching
US8914413B2 (en) 2013-01-02 2014-12-16 International Business Machines Corporation Context-based data gravity wells
US8983981B2 (en) 2013-01-02 2015-03-17 International Business Machines Corporation Conformed dimensional and context-based data gravity wells
US9229932B2 (en) 2013-01-02 2016-01-05 International Business Machines Corporation Conformed dimensional data gravity wells
US9053102B2 (en) 2013-01-31 2015-06-09 International Business Machines Corporation Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects
US8856946B2 (en) 2013-01-31 2014-10-07 International Business Machines Corporation Security filter for context-based data gravity wells
US9069752B2 (en) 2013-01-31 2015-06-30 International Business Machines Corporation Measuring and displaying facets in context-based conformed dimensional data gravity wells
US9110722B2 (en) 2013-02-28 2015-08-18 International Business Machines Corporation Data processing work allocation
US9292506B2 (en) 2013-02-28 2016-03-22 International Business Machines Corporation Dynamic generation of demonstrative aids for a meeting
US10152526B2 (en) 2013-04-11 2018-12-11 International Business Machines Corporation Generation of synthetic context objects using bounded context objects
CN103258025B (zh) * 2013-05-08 2016-08-31 百度在线网络技术(北京)有限公司 生成共现关键词的方法、提供关联搜索词的方法以及系统
US9348794B2 (en) 2013-05-17 2016-05-24 International Business Machines Corporation Population of context-based data gravity wells
US9195608B2 (en) 2013-05-17 2015-11-24 International Business Machines Corporation Stored data analysis
US9146980B1 (en) * 2013-06-24 2015-09-29 Google Inc. Temporal content selection
TW201619853A (zh) * 2014-11-21 2016-06-01 財團法人資訊工業策進會 檢索過濾方法及其處理裝置
CN105512226B (zh) * 2015-11-30 2019-03-08 北大方正集团有限公司 一种查询优化方法及装置
US20180089309A1 (en) * 2016-09-28 2018-03-29 Linkedln Corporation Term set expansion using textual segments
JP2019066979A (ja) * 2017-09-29 2019-04-25 キヤノンマーケティングジャパン株式会社 検索装置、その制御方法、及びプログラム、並びに、検索システム、その制御方法、及びプログラム
CN109885696A (zh) * 2019-02-01 2019-06-14 杭州晶一智能科技有限公司 一种基于自学习的外语联想词库构建方法
KR102585107B1 (ko) * 2023-03-21 2023-10-06 주식회사 중고나라 연관 검색어 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970076328A (ko) * 1996-05-29 1997-12-12 모리시따 요오이찌 문서 정보 검색 시스템
JPH11265399A (ja) * 1998-03-16 1999-09-28 Kdd Corp 言語間情報検索支援装置
JP2000242662A (ja) * 1999-02-23 2000-09-08 Mitsubishi Electric Corp データベース作成装置およびデータベース検索装置
JP2000331032A (ja) * 1996-10-31 2000-11-30 Fuji Xerox Co Ltd 文書処理装置、単語抽出装置及び単語抽出方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6564213B1 (en) * 2000-04-18 2003-05-13 Amazon.Com, Inc. Search query autocompletion

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970076328A (ko) * 1996-05-29 1997-12-12 모리시따 요오이찌 문서 정보 검색 시스템
JP2000331032A (ja) * 1996-10-31 2000-11-30 Fuji Xerox Co Ltd 文書処理装置、単語抽出装置及び単語抽出方法
JPH11265399A (ja) * 1998-03-16 1999-09-28 Kdd Corp 言語間情報検索支援装置
JP2000242662A (ja) * 1999-02-23 2000-09-08 Mitsubishi Electric Corp データベース作成装置およびデータベース検索装置

Also Published As

Publication number Publication date
US20100191747A1 (en) 2010-07-29
US8285714B2 (en) 2012-10-09
KR20100088002A (ko) 2010-08-06

Similar Documents

Publication Publication Date Title
KR101052631B1 (ko) 동시 발생빈도를 이용한 검색어에 대한 연관어 제공 방법 및 이를 이용한 장치
CN102725759B (zh) 用于搜索结果的语义目录
CA2638558C (en) Topic word generation method and system
CN109947952B (zh) 基于英语知识图谱的检索方法、装置、设备及存储介质
KR101339103B1 (ko) 의미적 자질을 이용한 문서 분류 시스템 및 그 방법
US20090271374A1 (en) Social network powered query refinement and recommendations
US20090077065A1 (en) Method and system for information searching based on user interest awareness
GB2575141A (en) Conversational query answering system
US9489370B2 (en) Synonym relation determination device, synonym relation determination method, and program thereof
Stokes et al. An empirical study of the effects of NLP components on Geographic IR performance
CN109977291B (zh) 基于物理知识图谱的检索方法、装置、设备及存储介质
Hienert et al. A novel combined term suggestion service for domain-specific digital libraries
JP2011103075A (ja) 抜粋文抽出方法
US20120323904A1 (en) Automatic generation of a search query
KR101505673B1 (ko) 단어의 의미를 기반으로 하는 다국어 검색 시스템, 다국어 검색 방법 및 이를 이용한 이미지 검색 시스템
CN106354721A (zh) 基于权限的检索方法和装置
KR20050078655A (ko) 동적 키워드 추출과 처리 시스템
CN104090875A (zh) 信息检索系统及方法
Gretzel et al. Intelligent search support: Building search term associations for tourism-specific search engines
JP5518665B2 (ja) 特許検索装置、特許検索方法、およびプログラム
KR101147508B1 (ko) 검색식 추천 장치 및 방법
CN111930911A (zh) 一种快速领域问答方法及其装置
KR100508416B1 (ko) 동적 키워드 추출과 처리 방법
Bhatia et al. A comparison study of question answering systems
KR101163209B1 (ko) 다자 참여 정보 제공 시스템 및 방법

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: 20140624

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee