[go: up one dir, main page]

KR100396826B1 - 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법 - Google Patents

정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법 Download PDF

Info

Publication number
KR100396826B1
KR100396826B1 KR10-2000-0029788A KR20000029788A KR100396826B1 KR 100396826 B1 KR100396826 B1 KR 100396826B1 KR 20000029788 A KR20000029788 A KR 20000029788A KR 100396826 B1 KR100396826 B1 KR 100396826B1
Authority
KR
South Korea
Prior art keywords
word
cluster
coefficient
words
noun
Prior art date
Application number
KR10-2000-0029788A
Other languages
English (en)
Other versions
KR20010108845A (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 KR10-2000-0029788A priority Critical patent/KR100396826B1/ko
Publication of KR20010108845A publication Critical patent/KR20010108845A/ko
Application granted granted Critical
Publication of KR100396826B1 publication Critical patent/KR100396826B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 정보검색 서비스를 위해, 수집 문서를 바탕으로 하나의 단어에 대해 연계되는 단어 클러스터링을 구축하고, 구축된 단어 클러스터링을 이용하여 검색어와 관련이 있는 관련단어를 제공하는 단어 클러스터 관리 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결방법의 요지
본 발명은, 정보검색에서 이용되는 단어에 대해 연계되는 관련단어를 제공할 수 있도록 단어 클러스터로 묶어 저장하기 위한 클러스터 저장수단; 정보검색에 이용할 수 있도록 관련단어를 추출하는 클러스트링을 행할 문서를 받아 의미있는 명사 단어를 추출하기 위한 추출수단; 및 추출된 단어를 참조하여 상기 문서에서 관련단어를 추출하여 클러스터 계수를 산출하고 단어 클러스터를 생성하여 상기 클러스터 저장수단을 갱신하기 위한 클러스터 관리수단을 포함함.
4. 발명의 중요한 용도
본 발명은 정보검색 서비스 등에 이용됨.

Description

정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치 및 그 방법{TERM-BASED CLUSTER MANAGEMENT SYSTEM AND METHOD FOR QUERY PROCESSING IN INFORMATION RETRIEVAL}
본 발명은 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치 및 그방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 정보검색 시스템에서 사용자의 질의어 선택을 도와주며, 질의어에 대한 위치 파악을 용이하게 하기 위한 단어 클러스터를 생성하고 표시하는 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
여기서, 단어 클러스터란 하나의 단어에 대한 관련단어의 묶음을 말한다.
인터넷을 통하여 제공되는 자료가 기하급수적으로 늘어감에 따라 디렉토리 서비스를 제공하거나, 불특정 다수의 사이트에 대한 자료를 인덱싱하여 검색엔진을 이용한 정보검색 서비스를 제공하는 등 여러 경로를 통하여 정보를 찾을 수 있는 서비스를 제공하고 있다.
그러나, 종래의 검색엔진들은 이용자의 검색어 선택이 단순하거나 일반적인 단어를 선정할 경우, 방대한 양의 검색결과를 제시함으로써 인식부담을 유발하고 있었다. 이러한 방대한 결과에서 원하는 자료를 찾기 위해서는 2차 질의어 확장을 통하여 재검색을 하여야 하거나, 일일이 자료를 확인하여야 하는 등의 인식부담을 유발하고 있는 문제점이 있었다.
또한, 같은 기능을 수행하는 연산자임에도 불구하고 검색 엔진마다 각자의 표기법을 사용함으로써 이용자는 검색엔진에서 사용되는 연산자를 알고 있어야 하는 문제점이 있었다.
도 1 및 도 2 는 종래의 검색엔진에서 사용되는 도움말에 대한 일예시도이다.
도 1 은 네이버(www.naver.com)의 검색에 사용되는 연산자에 대한 도움말이며, 도 2 는 야후(www.yahoo.co.kr)에서 제공하는 것들이다. 여기서 알 수 있듯이 기존의 검색엔진들이 "AND", "OR", "NOT" 등의 연산 검색을 비롯하여 절단검색, 유의어 검색, 위치검색, 구단위 검색 등 여러 방식을 제시하고 있어, 이용자는 모든 검색연산자를 숙지하고 있어야 한다.
이러한 검색엔진의 사용은 사용자가 정확한 검색어의 선정과 적절한 연산자의 사용을 전재로 하고 있으며, 연산자의 사용에 있어서도 "AND"연산의 경우 어느 곳에서는 "AND"를 사용하고 어느 곳에서는 "과"를 사용한다거나, "OR"연산의 경우 한곳은 "OR"를 다른 곳은 "이거나"를 사용하고 있다. 이와 같이 정보검색 연산자의 표준화가 이루어지지 않아서 사용자는 이용하고자 하는 검색엔진에서 제공하는 연산자를 알고 있어야 이용이 가능하므로, 사용이 불편한 문제점이 있었다.
근래에는 일상생활에서 사용하는 자연어를 그대로 검색어로 사용하는 경우가 등장하고 있다. 이미 몇몇 정보검색 사이트에서는 이러한 자연어 검색 기법을 도입하여 초보자들의 정보검색을 돕고 있으나, 이 방식도 이용자가 원하는 자료를 찾기 위해서는 정확한 질의어를 알고 있어야 하거나, 방대한 결과에 대하여 여러 번의 재검색을 시도하여야 하는 문제점이 있었다.
이러한 문제점은 인터넷의 급속한 확대와 더불어 더욱 크게 대두되고 있는데 인터넷의 이용 대상이 취학이전의 아동에서부터 고령의 노인에 이르기까지, 초보적인 지식을 원하는 사람부터 전문직종에 종사하며 고도의 전문기술을 요구하는 사람까지 그 대상층이 매우 다양해지고 있어 이러한 전망은 두드러질 것은 자명한 사실이다.
이와 같이 정보검색에 있어 질의어의 선택이 무엇보다도 중요한데 반해, 정보검색에 경험이 없거나, 해당 분야에 대하여 초보자인 경우는 물론 정보검색의 경험이 많은 전문가에게도 정확한 질의어의 선정은 매우 어려운 문제점이 있었다.
즉, 종래의 정보검색 시스템에서 효율적인 검색을 위하여 다양한 연산자와 여러 측면에서의 정보검색 방식을 제공하고 있으나, 모든 방식들이 정확한 키워드의 선정을 그 기본으로 하기 때문에 검색엔진을 많이 사용해본 이용자에게도 검색어 선정의 부담은 여전한 문제점이 있었다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 정보검색 서비스를 위해, 수집 문서를 바탕으로 하나의 단어에 대해 연계되는 단어 클러스터링을 구축하고, 구축된 단어 클러스터링을 이용하여 검색어와 관련이 있는 관련단어를 제공하는 단어 클러스터 관리 장치 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 및 도 2 는 종래의 검색엔진에서 사용되는 도움말에 대한 일예시도.
도 3 은 본 발명에 따른 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에 대한 일실시예 구성도.
도 4 는 본 발명에 따른 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에서의 명사추출기에 대한 일실시예 상세 구성도.
도 5 는 본 발명에 따른 명사추출기에 추출한 명사노드의 리스트를 나타내고 있는 일실시예 설명도.
도 6 은 본 발명에 따른 클러스터 관리기에 대한 일실시예 구성도.
도 7 은 본 발명에 따른 질의 처리기에 대한 일실시예 구성도.
도 8 은 본 발명에 따른 질의처리기에서의 처리 결과에 대한 일예시도.
도 9 는 본 발명에 따른 단어 클러스트링 관계표시를 나선형으로 표시한 일예시도.
도 10 은 본 발명에 따른 정보검색에서 질의어 처리를 위한 단어 클러스터관리 방법에 대한 일실시예 흐름도.
도 11 은 본 발명에 따른 형태소 분석을 통해 수집문서에서 명사를 추출하는 과정에 대한 일실시예 흐름도.
도 12 는 본 발명에 따른 추출된 명사의 리스트에서 단어 클러스터를 생성하고 단어 클러스터 사전을 갱신하는 과정에 대한 일실시예 흐름도.
도 13 은 본 발명에 따른 생성된 명사노드 리스트를 이용하여 관련단어를 추출하고 단어 클러스터를 생성하는 과정에 대한 일실시예 흐름도.
도 14 는 본 발명에 따른 생성된 단어 클러스터를 이용하여 단어 클러스터 사전을 갱신하는 과정에 대한 일실시예 흐름도.
*도면의 주요 부분에 대한 부호의 설명
301 : 명사추출기 302 : 클러스터 관리기
303 : 질의 처리기 304 : 검색엔진
305 : 단어 클러스터 사전 306 : 한글사전
307 : 영문사전
상기 목적을 달성하기 위한 본 발명의 장치는, 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에 있어서, 정보검색에서 이용되는 단어에 대해 연계되는 관련단어를 제공할 수 있도록 단어 클러스터로 묶어 저장하기 위한 클러스터 저장수단; 정보검색에 이용할 수 있도록 관련단어를 추출하는 클러스트링을 행할 문서를 받아, 문장분석을 통해 의미있는 명사 단어를 추출하기 위한 추출수단; 및 추출된 단어를 참조하여 상기 문서에서 연계단어를 추출한 후, 코사인계수 및 구문정보계수를 바탕으로 클러스터계수를 산출하여 클러스터를 생성하고, 기존의 클러스터와 비교하여 상기 클러스터 저장수단을 갱신하기 위한 클러스터 관리수단을 포함하는 것을 특징으로 한다.
또한, 본 발명의 방법은, 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에 적용되는 단어 클러스터 관리 방법에 있어서, 정보검색에 이용할 문서를 받아 문장분석을 통해 의미있는 명사 단어를 추출하는 제 1 단계; 추출된 단어를 참조하여 상기 문서에서 연계단어를 추출한 후, 코사인계수 및 구문정보계수를 바탕으로 클러스터계수를 산출하여 단어 클러스터를 생성하는 제 2 단계; 및 정보검색에서 이용되는 단어와 연계되는 관련단어를 제공할 수 있도록, 생성된 상기 단어 클러스터를 이용하여 기존의 클러스터와 비교해서 클러스터 저장수단을 갱신하는 제 3 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 프로세서를 구비한 정보검색 시스템에, 정보검색에 이용할 문서를 받아 문장분석을 통해 의미있는 명사 단어를 추출하는 제 1 기능; 추출된 단어를 참조하여 상기 문서에서 연계단어를 추출한 후, 코사인계수 및 구문정보계수를 바탕으로 클러스터계수를 산출하여 단어 클러스터를 생성하는 제 2 기능; 및 정보검색에서 이용되는 단어와 연계되는 관련단어를 제공할 수 있도록, 생성된 상기 단어 클러스터를 이용하여 기존의 클러스터와 비교해서 클러스터 저장수단을 갱신하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은, 방대한 양의 자료를 수록하고 정보검색 서비스를 제공하여야 하는 경우, 이용자가 입력하는 질의어가 전체 단어들 중 어디에 위치하며 연관된 단어들이 무엇인지를 제시하여 2차 질의를 확장할 수 있도록 하여, 잘못된 질의어 선정으로 발생하는 다량의 결과값에 의한 사용자의 인식부담 문제점과 방향상실 문제점을 해결하기 위한 것이다.
본 발명은, 정보의 바다라고 불리는 인터넷에서 단어 클러스터링을 구축하여, 이용자가 원하는 정보를 찾기 위하여 입력하는 질의어에 대해 이와 관련이 있는 상하좌우의 관련단어 및 내용상 의미가 있는 관련 단어들을 보여줌으로써 질의어에 대한 위치 파악이 용이하다. 또한, 검색된 문서를 참조하여 단어 클러스터링을 구축하여 단어관계를 시각적으로 보여줌으로써 기존의 검색엔진을 이용할 때 발생하는 질의어 선정문제, 방대한 검색결과에 대한 인식부담(cognitive) 문제, 이용자가 정보를 검색하는 과정에서 발생하는 방향상실(disorientation) 문제 등을 최소화하는데 그 특징이 있다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 3 은 본 발명에 따른 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에 대한 일실시예 구성도이다.
본 발명에 따른 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치는, 명사추출기(301), 클러스터 관리기(302), 질의 처리기(303), 검색엔진(304),단어 클러스터 사전(305), 한글사전(306) 및 영문사전(307)을 포함한다.
도 3 은 본 발명에 따른 일실시예 구성도로서, 키워드 및 관련단어를 분류하여 클러스터를 해야할 문서에서 불필요한 정보를 제거한 후, 텍스트(Text)를 추출하여, 추출된 텍스트(Text)를 토큰단위로 분리하여 복합명사를 포함한 명사리스트를 추출하고, 사전에 구축되지 않은 미등록 단어들을 임시저장소에 저장하는 기능과 미등록어로 분류된 단어중 출현 빈도가 높은 단어에 대하여 그 용도에 맞도록 시소러스사전, 명사사전, 불용어사전, 부사사전, 동사사전, 형용사사전 등의 종류를 가지는 한글사전(306) 및 영문사전(307)을 지속적으로 갱신하기 위한 사전관리기능을 포함하는 형태소분석을 통한 명사추출기(301), 명사추출기(301)로부터 전달된 단어리스트에서 순차적으로 단어를 인식하여 단어간 연관계수를 계산한 후, 해당문서에 대한 단어 클러스터를 생성하고, 해당문서에 대해 생성된 단어 클러스터가 신규인가를 체크하여, 신규인 경우 기존의 단어 클러스터 사전(305)을 갱신하며, 기존에 있는 단어 클러스터이면 동의어나 동음이의어를 확인한 후, 단어 클러스터 사전(305)을 갱신하는 클러스터 관리기(302), 이용자의 질의어를 입력받아 검색 히스토리를 저장하고 정보검색엔진(304)에 검색을 의뢰한 후 검색결과 제시와 함께 단어 클러스터 사전(306)을 참조하여 관련단어를 제시해 주는 질의 처리기(303)로 구성된다.
본 발명은 지속적으로 생성되는 문서에서 단어들을 추출하여 기존에 생성된 해당 단어의 클러스터와 비교하여 새로운 클러스터의 생성이나 지속적인 갱신을 통하여, 이용자의 질의어와 의미상, 내용상 관련이 있는 단어들을 보여줌으로써, 자신의 질의어에 대한 위치 파악은 물론 정확한 질의어의 선정을 통한 최적의 정보검색을 유도해주는 기술이다. 여기서, 클러스터는 관련단어 또는 관련단어들의 묶음을 의미한다.
도 4 는 본 발명에 따른 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에서의 명사추출기에 대한 일실시예 상세 구성도이다.
상기한 도 3 의 설명을 통해 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치를 도시하였다. 도 4 에서는 그 중에서도 명사추출기(301)에 대해 상세히 도시하고 설명한다. 본 발명의 실시예에서 명사추출기(301)는 형태소분석을 통해 명사를 추출하는 것이나, 이외에도 명사를 추출하는 여러 방식이 모두 가능하다.
도 4 는 도 3 에 도시된 형태소 분석을 통한 명사추출기(301)의 구성도로서, 명사추출기(301)는 원문에서 단어 클러스터링에 불필요한 태그(Tag) 정보를 분리시키는 태그(Tag) 필터(401), 태그(Tag) 정보를 분리한 원문에서 추출된 택스트(Text) 문자열을 토큰 단위로 분리하는 토큰추출기(402), 분리된 토큰이 한글일 경우 한글사전(306)을 참조하여 명사노드에 저장하는 한글명사 추출처리기(403), 분리된 토큰이 영문일 경우 영문사전(307)을 참조하여 명사노드에 저장하는 영문명사 추출처리기(404), 추출된 토큰이 사전에 등록되지 않은 경우에는 한글미등록어 저장부(405)와 영문미등록어 저장부(406)에 토큰과 출현횟수를 저장 후 출현횟수가 소정 횟수를 초과하는 단어를 참조하여 한글사전(306)과 영문사전(307)을 갱신하는 사전관리기(405)로 구성되어 있다.
토큰 추출기(402)는 태그 필터(401)로부터 입력되는 택스트(Text) 파일의 내용에서 문장단위로 입력을 받아 스패이스(Space), 콤마(Comma), 언더라인(Underline)의 구분자를 통하여 어절 단위로 토큰을 추출한다. 여기서 추출된 토큰이 한글인지 영문인지를 판단하여 해당하는 추출처리기(403, 404) 에 토큰을 전달하는 기능을 수행한다.
추출처리기에서는 추출된 토큰에 따라 한글명사 추출처리기(403)와 영문명사 추출처리기(404)에서 각각의 특성에 따라 다른 자료처리과정을 통해 명사를 추출한다.
한글명사 추출처리기(403)의 명사 추출 동작은 크게 4개의 과정으로 구분하여 볼 수 있다.
처음으로, 명사분석 배제 정보를 이용하여 명사일 가능성이 거의 없는 "같", "보였"으로 시작하는 어절이나 "다른", "렇"이 존재하는 어절내에서는 명사가 절대 나타나지 않으므로 명사분석에서 배제할 수 있다. 이런 정보들을 모아 놓은 사전을 참조하여 명사를 포함하지 않는 단어를 제외한다.
둘째로는 조사의 포함여부를 조사한다. 역조사 사전을 참조하여 어절의 오른쪽에서 왼쪽으로 비교해가면서 조사의 존재여부를 판단한다. 조사가 있는 경우 조사와 나머지 부분으로 분리한 후 복합명사 처리를 위하여 조사 플래그(Flag)를 온(On)한다. 즉, 복합명사를 처리함에 있어, 조사가 사이에 있어 "정보의 처리"와 같은 단어는 복합명사로 취급되지 않고, "정보처리"는 복합명사로 취급되므로 이를 구별한다.
셋째로는, 한글 명사사전을 이용하여 명사여부를 확인한다. 명사인 경우 일반적으로 나타나는 빈도수가 너무 높아서 사용되지 않는 불용어로 등록된 명사인 경우는 다음 토큰을 처리하도록 한다.
불용어로 등록된 단어가 아닌 경우에는, 바로 이전에 처리한 토큰이 명사일 경우 명사 플래그(Flag)가 온(On)되어 있게 되는데, 기존에 명사 플래그(Flag)가 온(On)인 경우 복합명사로 저장하고, 오프(Off)인 경우 단일명사로 저장한다. 조사 플래그(Flag)가 온(On)되어 있는 경우는 그 전에 명사를 처리하였어도 명사 플래그(Flag)가 온(On)되어 있지 않다.
명사가 아닌 경우 복합명사 처리를 위하여 세팅된 명사 플래그(Flag)를 오프(Off)한 후 부사, 동사, 형용사 사전을 참조하여 용언인 경우 명사가 아닌 것으로 판명하여 다음 토큰을 처리하도록 하며, 용언이 아닌 경우에는 새로운 명사일 수도 있으므로 한글 미등록어 저장부(406)에 저장한다.
넷째로는, 추출된 명사를 저장하는 것으로 아래의 도 5 에 예시한 것과 같이 단일명사뿐만 아니라 복합명사의 저장을 위하여 링크드 리스트(Linked List) 구조를 사용하여 토큰, 출현횟수, 복합명사의 경우 다음 토큰의 주소를 저장한다. 미등록어의 경우 단일단어로 취급하며 출현회수가 일정 수치를 초과하는 경우 사전관리기(407)에 통보된다.
영문명사 추출처리기(404)의 경우에는, 불용어를 제외하고 구성된 영문사전(307)을 참조하여 불용어가 아닌 명사인 경우 명사노드에 저장하고, 플래그(Flag)를 온(On)한다.
명사가 아닌 경우, 플래그(Flag)를 오프(Off)한 후, 불용어사전에 등록되어 있는지를 확인하여, 등록되어 있으면 다음 토큰을 처리하도록 한다.
불용어사전에 등록되어 있지 않은 경우 용언인지를 검증한다. 용언인 경우 다음 토큰처리를 수행하고, 용언이 아닌 경우, 플래그(Flag)를 온(On)한 후 영문 미등록어에 저장한 후 다음 토큰처리를 계속한다.
이러한 과정을 문서의 마지막까지 반복 수행하여 문서내에 있는 모든 명사를 추출하고, 미등록단어를 분리하여 영문 미등록어 임시저장부(406)에 저장한다.
다음단어 처리시 이전과정에서 플래그(Flag)가 온(On)되어 있는 경우는 복합명사로 처리한다.
형태소 분석을 통한 명사추출기(301)는 위와 같은 과정을 거쳐 단어 클러스터링에 필요한 문서내의 모든 명사를 추출하여 명사노드로 저장한다.
사전관리기(407)는 미등록어로 저장된 단어들 중에서 여러 문서에 걸쳐 빈번하게 나타나는 단어에 대해, 한글사전(308)과 영문사전(309)에 등록하여, 한글사전(308)과 영문사전(309)을 지속적으로 갱신한다. 미등록 단어의 등록은 관리자가 정한 소정의 조건에 만족하는 경우에 이루어진다.
상기한 실시예에서, 한글명사 추출처리기(403)에서의 동작과 영문명사 추출처리기(404)에서의 동작에 차이가 있는데, 이는 두 가지 경우를 표현하기 위한 것으로, 한글명사 추출처리기(403)에서는 한글사전(306)에 불용어이든, 아니든 명사를 저장하고 있어 명사를 확인하고, 명사로 판명된 경우, 불용어사전을 통해 불용어를 걸러내는 것이고, 영문명사 추출처리기(404)에서는 영문사전(307)에 명사 중에서도 불용어를 걸러내어 클러스터로 사용될 수 있는 명사만을 가지고 있는 경우로, 신조어를 찾아내기 위해 명사가 아닌 내용 중 불용어인지를 확인하게 된다. 상기한 두 가지 방식은 모두 사용이 가능하다.
도 5 는 본 발명에 따른 명사추출기에 추출한 명사노드의 리스트를 나타내고 있는 일실시예 설명도이다.
명사추출기(301)에서 추출된 명사에 대해, 토큰(501), 출현횟수(502) 및 추출된 명사가 복합명사에 해당하는 경우, 다음 토큰의 주소(503)을 저장한다.
도 6 은 본 발명에 따른 클러스터 관리기에 대한 일실시예 구성도이다.
도 6 은 도 3 에서 표시한 클러스터 관리기(302)의 세부기능을 도시한 것으로써, 명사추출기(301)를 통하여 생성된 명사노드를 입력받아 연계단어 추출기(601)를 통하여 해당 문서의 관련 단어를 추출한 후, 문서별 단어 클러스터(603)를 생성하는 과정과 생성된 문서별 단어 클러스터(603)와 기존의 단어 클러스터 사전(305)의 관계를 파악하여 클러스터 갱신 처리기(602)에서의 클러스터 갱신 과정을 통하여 지속적으로 단어 클러스터 사전(305)을 구축한다.
연계단어 추출기(601)는 링크드 리스트(Linked List) 형태로 저장된 명사노드에서 순차적으로 단어를 인식하여 단어간 연관계수를 계산하고, 해당문서에 대한 문서별 단어 클러스터(603)를 생성한다.
그 과정은 다음과 같은 다섯 과정으로 이루어져 있다.
처음에는, 명사추출기(301)를 통하여 만들어진 명사노드에서 첫번째 단어로 이동하여 첫번째 단어를 중심어로 하고, 중심어를 제외한 단어중 첫번째 단어로 이동한다.
두번째로는, 클러스터 대상 단어(Ti)와 리스트내 단어(Tj), 클러스터 대상 단어(Ti)의 빈도수(WTi), 리스트내 단어(Tj)의 빈도수(WTj)를 참조하여 아래 [수학식 1]을 이용하여 해당단어의 코사인(Cosine) 계수를 계산한다. 이는 단어간의 유사도를 구하는 것이다.
[수학식 1]
세번째로, 단어간의 구문정보계수를 계산하는 아래의 [수학식 2]로써, 단어 Tj가 Ti와 같은 구문에 등장하는 빈도수를 계산한다. 이는 문서에서의 집중도를 구하는 것이다.
[수학식 2]
여기서,는 단어 Tj가 단어 Ti와 같은 구문에서 나타나는 빈도수를 의미한다.
네번째로, 상기한 [수학식 1]과 [수학식 2]에서 계산된 코사인 계수와 구문정보 계수의 계산 결과를 참조하고, 아래의 [수학식 3]의 공식을 이용하여 클러스터 계수를 계산한다. 이는 구하여진 유사도와 집중도를 바탕으로 연관관계를 계산하는 것이다.
[수학식 3]
현재 처리하는 단어가 마지막 단어이면, 해당단어에 대한 클러스터를 생성하고, 아닐 경우에는 다음 비교단어에 대하여 클러스터 계수를 계산한 후 다음단어로 이동하여 마지막 단어까지 위와 같은 처리를 반복한다.
위의 과정을 반복하여 단어간의 연계단어 즉, 관련단어를 추출한 후, 이를 바탕으로 다음에서 기술하는 두 번째 과정인 추출된 단어의 클러스터링과 기존의 클러스터링 관계를 파악하여 신규생성 또는 갱신하는 클러스터 갱신(602) 과정을 수행한다.
제1 과정은, 해당문서에서 생성된 문서별 단어 클러스터(603)의 중심어가 기존의 단어 클러스터 사전(303)에 존재하는지 여부를 판단하여 존재할 경우 자카드(Jaccard) 계수를 계산하는 제2 과정으로, 신규인 경우 기존의 클러스터에추가하는 제6 과정으로 분기한다.
제2 과정은, 신규생성 클러스터 중심어(Ti), 기생성된 클러스터 중심어(Tj), Ti와 Tj의 클러스터 내 공동 단어수(N(GTi ∩GTj)), Ti와 Tj의 클러스터 내 연계단어 합(N(GTi ∪ GTj))을 참조하여 자카드(Jaccard) 계수를 계산한다. 그 식은 아래의 [수학식 4]와 같다.
[수학식 4]
여기서,는 단어 Ti를 중심으로 하는 클러스터이고,는 단어 Tj를 중심어로 하는 클러스터이다.
제3 과정에서는, 계산된 자카드(Jaccard) 계수값이 임계값 JT보다 크면 동의어로 처리하고, 작은 경우에는 동음이의어로 처리한다.
제4 과정에서는, 재계산 클러스터 계수(P(Ti))를 기존 클러스터계수(PTi), 신규 생성된 클러스터 계수(P'Ti), 클러스터 계산에 이용된 문서수(n)를 이용하여 다음의 [수학식 5]와 같은 식을 이용하여 생성한다.
[수학식 5]
제5 과정에서는, 얻어진 재계산 클러스터 계수(P(Ti))를 이용하여 기존의 클러스터 인덱스 값을 새로 변경한다.
제6 과정에서는, 해당문서에서 클러스터가 있는지를 판단하여 없으면 다음 문서 처리를 계속하고, 있는 경우에는 단어 클러스터 사전(305)의 생성과 변경 작업을 계속한다.
이러한 과정을 문서에서 추출된 단어 클러스터 사전(305)의 마지막까지 수행하여 기존의 클러스터링을 계속하여 갱신한다.
도 7 은 본 발명에 따른 질의 처리기에 대한 일실시예 구성도이다.
도 7 은 도 3 에서 표시한 질의처리기(303)의 세부 도면으로써, 이용자가 입력하는 질의어를 입력받아 검색엔진(304)에서 사용하는 연산자를 추가하여 조건 검색이 될 수 있도록 변경하는 질의생성기(701), 생성된 질의어를 기존에 개발되어 사용되고 있는 검색엔진(304)에 의뢰하여 검색결과를 추출하는 검색의뢰기(702), 질의어와 관련이 있는 단어를 단어 클러스터 사전(305)에서 검색하여 관련단어를 확장하는 질의어 연관 클러스터 확장기(703), 추출된 단어 클러스터를 이용자의 브라우저에 표시하는 2D/3D 클러스터 표시기(704), 개인의 정보검색 이력을 관리하는 개인 검색 이력관리기(705)로 구성되어 있다.
질의 처리기(303)는 질의어를 입력받아 질의생성기(701)에서 조건 검색이 될 수 있도록 질의어를 변경하고, 검색의뢰기(702)에서 질의어에 대해 검색엔진(304)에 의뢰하여 검색결과를 받는다.
또한, 질의어를 입력받아 개인 검색 이력관리기(705)에서 사용자의 검색 이력을 확인하고, 이를 개인별 검색 이력 저장부(706)에 저장한다.
질의어 연관 클러스터 확장기(703)에서는 검색의뢰기(702)로부터 검색 결과와 함께 처리된 질의어를 수신하고, 개인별 검색 이력 저장부(706)으로부터도 사용자로부터의 질의어를 확인하여, 단어 클러스터 사전(305)을 이용하여 질의어의 관련단어를 확장한다. 2D/3D 클러스터 표시기(704)가 검색 결과와 함께 단어 클러스터 사전(305)을 통해 확인한 관련단어를 사용자에게 제공한다.
도 8 은 본 발명에 따른 질의처리기에서의 처리 결과에 대한 일예시도이다.
도 8 은 본 발명의 질의처리기를 이용하여 구성한 예를 보여주는 도면으로써, 질의처리기(303)의 클러스터 표시기(704)는 이용자의 브라우저에 내포할 수 있는 플러그인 형태로 구성되어 있어 별도의 설치 작업을 거치지 않아도 사용할 수 있으며, 중심단어는 가운데 붉은색 점을 표시하고 주변에는 중심어와 관련이 있는 클러스터를 표현한 것이다. 원의 크기는 중심어와 관련도에 따라 크기를 다르게 표시하며, 단어 위에 마우스의 오른쪽버튼을 클릭하면 검색어추가 버튼과 단어확장 버튼이 나타난다. 검색어 추가버튼은 조합조건에서 선택한 "AND", "OR", "NOT" 등의 검색조건과 조합되어 기존의 검색어와 결합되도록 구성되어 있으며, 사용자가 단어확장버튼을 클릭하면 해당 단어를 중심어로 하여 새로운 클러스터를 표시하여준다.
화면하단의 히스토리(History)는 단어확장을 한 이력을 보여주며 단어를 클릭하면 해당단어를 중심어로 한 클러스터링을 다시 표시하여 준다. 확장범위는 0 ~ 100 % 중에서 20%단위로 확장이 가능하며 단어 확장 시 연관관계의 범위를 제한하는 역할을 한다.
검색식은 검색어 추가버튼을 이용하여 단어를 추가한 이력을 보여주는 것으로써, 단어위에 마우스 우측버튼을 누르면 검색식에서 삭제할 수 있다. 좌측의 연산기호는 "AND(*)", "OR(+)", "NOT(~)" 등의 연산 조건을 나타내며 가장 상위의 단어는 이용자가 선택한 초기의 질의어를 나타낸다.
분류사전은 중심어가 전체 분류 중에 어디에 위치하는지를 보여주는 것으로서 기존의 분류사전이나 시소러스(관련도)를 이용하여 그 위치를 파악할 수 있도록 한다.
도 9 는 본 발명에 따른 단어 클러스트링 관계표시를 나선형으로 표시한 일예시도이다.
도 9 는 단어의 클러스터 표시를 나선형태로 표시한 것으로써 가운데의 단어를 중심어로 하여 확장한 예를 보여주는 것이다. 여기서도 마찬가지로 화면에 표시된 단어의 위에 마우스 오른쪽버튼을 누르면 단어추가, 질의어 추가 버튼이 나타나며 세부 기능은 앞서 설명한 것과 같은 역할을 수행한다.
도 10 은 본 발명에 따른 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 방법에 대한 일실시예 흐름도이다.
이는 단어 클러스터 생성 및 표시 장치를 통해 이루어진다. 그 흐름은 아래와 같다.
우선, 명사추출기(301)가 형태소 분석을 통해 수집문서에서 명사를 추출한다(1001).
다음으로, 클러스터 관리기(302)가 추출된 명사의 리스트에서 단어의 연관관계에 따른 단어 클러스터를 생성하고 기존의 단어 클러스터 사전(305)을 갱신한다(1002).
마지막으로, 질의 처리기(303)가 사용자로부터 검색 질의어를 입력받아 검색 결과를 제시함과 아울러 단어 클러스터 사전(305)을 참조하여 관련단어를 제시한다(1003).
도 11 은 본 발명에 따른 형태소 분석을 통해 수집문서에서 명사를 추출하는 과정에 대한 일실시예 흐름도이다.
이는 명사추출기(301)에서 이루어진다.
태그 필터(401)가 수집된 문서 파일에서 태그(Tag) 정보를 분리시켜 택스트(Text)로 된 파일을 생성한다(1102).
토큰분리기(402)가 택스트(Text) 파일로부터 문장단위로 입력을 받아, 어절 단위로 토큰을 추출한다(1102).
토큰분리기(402)가 추출된 토큰이 한글인지를 확인한다(1103). 확인 결과, 추출된 토큰이 한글이면, 한글명사 추출처리기(403)가 토큰을 받아 한글사전(306)을 참조하여 명사를 추출하여 명사노드 리스트에 저장한다(1104).
토큰분리기(402)가 추출된 토큰이 한글인지를 확인한 결과, 추출된 토큰이 한글이 아니면, 영문으로 판단하여 영문명사 추출처리기(404)가 토큰을 받아 영문사전(307)을 참조하여 명사를 추출하여 명사노드 리스트에 저장한다(1105).
한글명사 추출처리기(403)와 영문명사 추출처리기(404)는 입력받은 토큰이 신조어로 추정될 때는 일단, 한글 미등록어 저장부(405)와 영문 미등록어 저장부(406)에 저장하고, 사전관리기(407)가 소정의 조건을 만족하는지를 비교하여 한글사전(306)과 영문사전(307)에 새로운 명사로 등록하여, 한글명사 추출처리기(403)와 영문명사 추출처리기(404)에서의 처리에 이용하도록 한다.
도 12 는 본 발명에 따른 추출된 명사의 리스트에서 단어 클러스터를 생성하고 단어 클러스터 사전을 갱신하는 과정에 대한 일실시예 흐름도이다.
이러한 과정은 다음과 같이 이루어진다.
명사추출기(301)를 통하여 생성된 명사노드 리스트를 이용하여 관련단어를 추출하고 단어클러스터를 생성한다(1201).
생성된 단어 클러스터를 이용하여 단어 클러스터 사전(305)을 갱신한다(1202).
도 13 은 본 발명에 따른 생성된 명사노드 리스트를 이용하여 관련단어를 추출하고 단어 클러스터를 생성하는 과정에 대한 일실시예 흐름도이다.
우선, 명사추출기를 통하여 생성된 명사노드 리스트의 첫번째 단어를 중심어로 하고(1301), 중심어 단어 단어를 비교단어를 한다(1302).
중심어와 비교단어에 대한 코사인 계수를 연산하여 유사도를 구하고(1303),중심어와 비교단어에 대한 구문정보 계수를 연산하여 집중도를 구한다(1304).
얻어진 유사도와 집중도를 이용하여 중심어와 비교단어에 대한 클러스터 계수를 구한다(1305).
사용된 비교단어가 명사노드 리스트의 마지막단어인지를 판단한다(1306). 판단 결과, 비교단어가 명사노드 리스트에 마지막으로 비교단어로 처리된 마지막 단어가 아니면, 기존의 비교단어의 다음 단어를 새로운 비교단어를 삼고(1307), 중심어와 비교단어에 대한 코사인 계수를 연산하여 유사도를 구하는 과정(1303)부터 반복 수행한다.
사용된 비교단어가 명사노드 리스트의 마지막단어인지를 판단한 결과, 비교단어가 명사노드 리스트에 마지막으로 비교단어로 처리된 마지막 단어이면, 기존의 중심어에 대한 단어 클러스터를 생성하고(1308), 중심어가 명사노드 리스트의 마지막에 위치하는 단어였는지를 확인한다(1309),
중심어가 명사노드 리스트의 마지막에 위치하는 단어였는지를 확인한 결과, 마지막 단어가 아니면 중심어의 다음 단어를 새로운 중심어로 하고(1310), 중심어 다음 단어를 비교단어로 삼는 과정(1302)부터 반복 수행한다.
중심어가 명사노드 리스트의 마지막에 위치하는 단어였는지를 확인한 결과, 마지막 단어이면, 생성된 명사노드 리스트를 이용하여 관련단어를 추출하고 단어 클러스터를 생성하는 과정(1201)을 종료한다.
도 14 는 본 발명에 따른 생성된 단어 클러스터를 이용하여 단어 클러스터 사전을 갱신하는 과정에 대한 일실시예 흐름도이다.
우선, 생성된 문서별 단어 클러스터를 수신하여(1401), 처리되지 않는 단어 클러스터를 획득한다(1402).
획득된 단어 클러스터의 중심어가 단어 클러스터 사전에 존재하는 않는 신규한 단어인지를 검사한다(1403).
획득된 단어 클러스터의 중심어가 단어 클러스터 사전에 존재하는 않는 신규한 단어인지를 검사한 결과, 신규한 단어이면 이 단어 클러스터를 바탕으로 단어 클러스터 사전을 갱신하는 과정(1409)부터 수행한다.
획득된 단어 클러스터의 중심어가 단어 클러스터 사전에 존재하는 않는 신규한 단어인지를 검사한 결과, 신규한 단어가 아니면, 동의어 판단을 위한 자카드 계수를 구하고(1404), 자카드 계수가 소정의 임계치보다 큰지를 판단한다(1405).
자카드 계수가 소정의 임계치보다 큰지를 판단한 결과, 자카드 계수가 소정의 임계치보다 크지 않으면 동음 이의어로 처리하고(1408). 단어 클러스터 사전을 갱신하는 과정(1409)부터 반복 수행한다.
자카드 계수가 소정의 임계치보다 큰지를 판단한 결과, 자카드 계수가 소정의 임계치보다 크면, 동의어로 처리하고(1406), 기존 클러스터 계수를 신규 생성된 클러스터 계수를 이용하여 새로이 구한다(1407). 그리고, 단어 클러스터 사전을 갱신하는 과정(1409)부터 수행한다.
획득된 단어 클러스터의 중심어가 단어 클러스터 사전에 존재하는 않는 신규한 단어인지를 검사한 결과, 신규한 단어이면, 단어 클러스터 사전을 갱신하는 과정(1409)부터 반복 수행한다.
그 다음으로, 문서별 단어 클러스터에서 처리되지 않은 중심어가 있는지를 확인한다(1410). 확인 결과, 처리되지 않은 중심어가 없으면 생성된 단어 클러스터를 이용하여 단어 클러스터 사전을 갱신하는 과정(1202)를 종료한다.
문서별 단어 클러스터에서 처리되지 않은 중심어가 있는지를 확인한 결과, 처리되지 않은 중심어가 있으면, 처리되지 않은 단어 클러스터를 획득하는 과정(1402)부터 반복 수행한다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 방대한 양의 자료를 수록하고 정보검색 서비스를 제공하여야 하는 경우, 이용자가 입력하는 질의어가 전체 단어들 중 어디에 위치하며 연관된 단어들이 무엇인지를 제시하여 2차 질의를 확장할 수 있도록 하여, 잘못된 질의어 선정으로 발생하는 다량의 결과값에 의한 사용자의 인식부담 문제점과 방향상실 문제점을 해결할 수 있는 효과가 있다.
또한, 본 발명은, 정보의 바다라고 불리는 인터넷에서 단어 클러스터링을 구축하여, 이용자가 원하는 정보를 찾기 위하여 입력하는 질의어에 대해 이와 관련이 있는 상하좌우의 관련단어 및 내용상 의미가 있는 관련 단어들을 보여줌으로써 질의어에 대한 위치 파악이 용이한 효과가 있다.
또한, 본 발명은, 검색된 문서를 참조하여 단어 클러스터링을 구축하여 단어관계를 시각적으로 보여줌으로써 기존의 검색엔진을 이용할 때 발생하는 질의어 선정문제, 방대한 검색결과에 대한 인식부담(cognitive) 문제, 이용자가 정보를 검색하는 과정에서 발생하는 방향상실(disorientation) 문제 등을 최소화할 수 있는 효과가 있다.
즉, 본 발명은, 단어간의 클러스터링을 제시하여 줌으로써 정확한 질의어의 선정이 가능하고 이를 통하여 검색결과의 방대한 양을 인식해야 하는 부담을 줄여줄 수 있으며, 검색어의 위치 정보를 파악함으로써 정보검색시에 발생하는 방향상실의 문제점을 줄일 수 있는 효과가 있다.

Claims (16)

  1. 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에 있어서,
    정보검색에서 이용되는 단어에 대해 연계되는 관련단어를 제공할 수 있도록 단어 클러스터로 묶어 저장하기 위한 클러스터 저장수단;
    정보검색에 이용할 수 있도록 관련단어를 추출하는 클러스트링을 행할 문서를 받아, 문장분석을 통해 의미있는 명사 단어를 추출하기 위한 추출수단; 및
    추출된 단어를 참조하여 상기 문서에서 연계단어를 추출한 후, 코사인계수 및 구문정보계수를 바탕으로 클러스터계수를 산출하여 클러스터를 생성하고, 기존의 클러스터와 비교하여 상기 클러스터 저장수단을 갱신하기 위한 클러스터 관리수단
    을 포함하는 단어 클러스터 관리 장치.
  2. 제 1 항에 있어서,
    사용자로부터 검색 질의어를 입력받아 상기 클러스터 저장수단을 참조하여 획득된 관련단어를 제공하기 위한 질의 처리수단
    을 더 포함하는 단어 클러스터 관리 장치.
  3. 제 2 항에 있어서,
    상기 질의 처리수단은,
    상기 클러스터 저장수단을 참조하여 획득된 관련단어를 상기 사용자로부터의 질의에 따른 검색 결과와 함께 제공하는 것을 특징으로 하는 단어 클러스터 관리 장치.
  4. 제 3 항에 있어서,
    상기 질의 처리수단은,
    상기 사용자로부터 질의어를 입력받아 검색엔진에서 사용하는 연산자를 추가하여 조건 검색이 될 수 있도록 변경하기 위한 질의생성수단;
    생성된 질의어를 기존에 개발되어 사용되고 있는 상기 검색엔진에 의뢰하여 검색결과를 추출하기 위한 검색의뢰수단;
    질의어와 관련이 있는 단어를 상기 클러스터 저장수단을 참조하여 확장하기 위한 관련 클러스터 확장수단; 및
    추출된 단어 클러스터 및 검색결과를 상기 사용자에게 제공하기 위한 출력수단
    을 포함하는 단어 클러스터 관리 장치.
  5. 제 4 항에 있어서,
    상기 질의처리 수단은,
    상기 사용자로부터 질의어를 받아 개인의 정보검색 이력을 관리하기 위한 이력관리수단; 및
    상기 이력관리수단의 제어에 따라 개인의 정보검색 이력을 저장하기 위한 이력 저장수단
    을 더 포함하는 단어 클러스터 관리 장치.
  6. 제 1 항에 있어서,
    상기 추출수단은,
    의미있는 명사단어를 판별할 수 있도록 시소러스 정보, 명사 정보, 불용어 정보, 부사 정보, 동사 정보 및 형용사 정보를 포함하는 사전정보를 저장하기 위한 사전정보 저장수단;
    정보검색에 이용할 수 있도록 관련단어를 추출하는 클러스트링을 행할 문서를 받아 단어 클러스트링에 불필요한 태그(Tag) 정보를 분리시키기 위한 태그 필터;
    상기 태그 필터에 의해 추출된 택스트(Text) 문자열을 토큰 단위로 분리하기 위한 토큰추출수단;
    상기 토큰추출수단에 의해 분리된 토큰을 확인하여 명사를 추출하여 명사노드 리스트에 저장하기 위한 명사추출수단;
    추출된 토큰이 상기 사전정보 저장수단에 등록되지 않은 경우에 미등록어로서 토큰과 출현횟수를 저장하기 위한 미등록어 저장수단; 및
    상기 미등록어 저장수단에 저장된 토큰의 출현횟수를 확인하여 상기 사전정보 저장수단을 갱신하기 위한 사전관리수단
    을 포함하는 단어 클러스터 관리 장치.
  7. 제 6 항에 있어서,
    상기 사전정보 저장수단, 상기 명사추출수단 및 상기 미등록어 저장수단은,
    정보검색에 사용되는 언어에 따라 언어별로 관리 및 처리하는 것을 특징으로 하는 단어 클러스터 관리 장치.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 클러스터 관리수단은,
    상기 추출수단으로부터 생성된 명사노드 리스트를 입력받아 해당 문서의 관련단어를 추출하고 문서별 단어 클러스터를 생성하여 저장하는 연계단어 추출수단; 및
    상기 연계단어 추출수단에서 생성된 문서별 단어 클러스터와 상기 클러스터 저장수단에 저장된 단어 클러스터와의 관계를 파악하여 상기 클러스터 저장수단의 단어 클러스터를 갱신하기 위한 클러스터 갱신 처리수단
    을 포함하는 단어 클러스터 관리 장치.
  9. 정보검색에서 질의어 처리를 위한 단어 클러스터 관리 장치에 적용되는 단어 클러스터 관리 방법에 있어서,
    정보검색에 이용할 문서를 받아 문장분석을 통해 의미있는 명사 단어를 추출하는 제 1 단계;
    추출된 단어를 참조하여 상기 문서에서 연계단어를 추출한 후, 코사인계수 및 구문정보계수를 바탕으로 클러스터계수를 산출하여 단어 클러스터를 생성하는 제 2 단계; 및
    정보검색에서 이용되는 단어와 연계되는 관련단어를 제공할 수 있도록, 생성된 상기 단어 클러스터를 이용하여 기존의 클러스터와 비교해서 클러스터 저장수단을 갱신하는 제 3 단계
    를 포함하는 단어 클러스터 관리 방법.
  10. 제 9 항에 있어서,
    사용자로부터 검색 질의어를 입력받아 상기 클러스터 저장수단을 참조하여 획득한 관련단어를 상기 사용자에게 제공하는 제 4 단계
    를 더 포함하는 단어 클러스터 관리 방법.
  11. 제 10 항에 있어서,
    상기 제 4 단계에서, 사용자로부터 검색 질의어를 입력받아 상기 클러스터 저장수단을 참조하여 확장한 관련단어를 상기 사용자로부터의 질의에 따른 검색 결과와 함께 상기 사용자에게 제공하는 것을 특징으로 하는 단어 클러스터 관리 방법.
  12. 제 9 항 내지 제 11 항 중 어느 한 항에 있어서,
    상기 제 1 단계는,
    수집된 문서 파일에서 태그(Tag) 정보를 분리시켜 택스트(Text) 파일을 생성하는 제 5 단계;
    택스트 파일을 문장 단위로 입력받아 어절단위로 토큰을 추출하는 제 6 단계; 및
    추출된 토큰이 어떠한 언어에 해당하는지에 따라 해당 언어의 명사추출수단이 토큰을 받아 사전정보 저장수단을 참조하여 명사를 추출하여 명사노드 리스트로 저장하는 제 7 단계
    를 포함하는 단어 클러스터 관리 방법.
  13. 프로세서를 구비한 정보검색 시스템에,
    정보검색에 이용할 문서를 받아 문장분석을 통해 의미있는 명사 단어를 추출하는 제 1 기능;
    추출된 단어를 참조하여 상기 문서에서 연계단어를 추출한 후 코사인계수 및 구문정보계수를 바탕으로 클러스터계수를 산출하여 단어 클러스터를 생성하는 제 2 기능; 및
    정보검색에서 이용되는 단어와 연계되는 관련단어를 제공할 수 있도록, 생성된 상기 단어 클러스터를 이용하여 기존의 클러스터와 비교해서 클러스터 저장수단을 갱신하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  14. 제 8 항에 있어서,
    상기 연계단어 추출수단은,
    상기 명사추출 수단을 통하여 만들어진 명사노드에서 첫번째 단어로 이동하여 첫번째 단어를 중심어로 하고, 중심어를 제외한 단어중 첫번째 단어로 이동하는 제 1 과정;
    클러스터 대상 단어(Ti)와 리스트내 단어(Tj), 클러스터 대상 단어(Ti)의 빈도수(WTi), 리스트내 단어(Tj)의 빈도수(WTj)를 참조하여 아래 [수학식 1]을 이용하여 해당단어의 코사인(Cosine) 계수를 계산함으로써, 단어간의 유사도를 구하는 제 2 과정;
    [수학식 1]
    단어간의 구문정보계수를 계산하는 아래 [수학식 2]에 따라, 리스트내 단어(Tj)가 클러스터 대상 단어(Ti)와 같은 구문에 등장하는 빈도수를 계산함으로써, 문서에서의 집중도를 구하는 제 3 과정;
    [수학식 2]
    (단,는 단어 Tj가 단어 Ti와 같은 구문에서 나타나는 빈도수임)
    상기 [수학식 1]과 [수학식 2]에 따라 계산된 코사인 계수와 구문정보 계수의 계산 결과를 참조하고, 아래의 [수학식 3]에 따라 클러스터 계수를 계산함으로써 상기 유사도와 집중도를 바탕으로 연관관계를 구하여, 해당 단어에 대한 클러스터를 생성하는 제 4 과정; 및;
    [수학식 3]
    다음 비교단어에 대하여 클러스터 계수를 계산한 후 순차적으로 이동하면서, 마지막 단어까지 상기 처리 과정들을 반복하는 제 5 과정을 수행하여,
    링크드 리스트(Linked List) 형태로 저장된 명사노드에서 순차적으로 단어를 인식하여 단어간 연관계수를 계산하고, 해당문서에 대한 문서별 단어 클러스터를 생성하는 것을 특징으로 하는 단어 클러스터 관리 장치.
  15. 제 8 항에 있어서,
    상기 클러스터 갱신 처리수단은,
    해당문서에서 생성된 문서별 단어 클러스터의 중심어가 기존의 단어 클러스터 사전에 존재하는지 여부를 판단하여, 존재할 경우에는 제 2 과정으로 분기하고, 신규인 경우에는 제 6 과정으로 분기하는 제 1 과정;
    신규생성 클러스터 중심어(Ti), 기생성된 클러스터 중심어(Tj), 상기 Ti와 상기 Tj의 클러스터 내 공동 단어수(N(GTi ∩GTj)), 상기 Ti와 상기 Tj의 클러스터 내 연계단어 합(N(GTi ∪ GTj))을 참조하여 아래의 [수학식 4]에 따라 자카드(Jaccard) 계수를 계산하는 제 2 과정;
    [수학식 4]
    (단,는 단어 Ti를 중심으로 하는 클러스터,는 단어 Tj를 중심어로 하는 클러스터임)
    상기 제 2 과정에서 계산된 자카드(Jaccard) 계수값이 임계값(JT)보다 크면 동의어로 처리하고, 작은 경우에는 동음이의어로 처리하는 제 3 과정;
    재계산 클러스터 계수(P(Ti))를 기존 클러스터계수(PTi), 신규 생성된 클러스터 계수(P'Ti), 클러스터 계산에 이용된 문서수(n)를 이용하여 다음의 [수학식 5]에 따라 생성하는 제 4 과정;
    [수학식 5]
    얻어진 재계산 클러스터 계수(P(Ti))를 이용하여 기존의 클러스터 인덱스 값을 새로 변경하는 제 5 과정; 및
    해당문서에서 클러스터가 있는지를 판단하여 없으면 다음 문서 처리를 계속하고, 있는 경우에는 단어 클러스터 사전의 생성과 변경 작업을 지속하는 제 6 과정을 통하여, 클러스터 갱신을 수행하는 것을 특징으로 하는 단어 클러스터 관리 장치.
  16. 제 9 항에 있어서,
    상기 제 2 단계는,
    상기 명사추출 수단을 통하여 만들어진 명사노드에서 첫번째 단어로 이동하여 첫번째 단어를 중심어로 하고, 중심어를 제외한 단어중 첫번째 단어로 이동하는 제 1 과정;
    클러스터 대상 단어(Ti)와 리스트내 단어(Tj), 클러스터 대상 단어(Ti)의 빈도수(WTi), 리스트내 단어(Tj)의 빈도수(WTj)를 참조하여 아래 [수학식 1]을 이용하여 해당단어의 코사인(Cosine) 계수를 계산함으로써, 단어간의 유사도를 구하는 제 2 과정;
    [수학식 1]
    단어간의 구문정보계수를 계산하는 아래 [수학식 2]에 따라, 리스트내 단어(Tj)가 클러스터 대상 단어(Ti)와 같은 구문에 등장하는 빈도수를 계산함으로써, 문서에서의 집중도를 구하는 제 3 과정;
    [수학식 2]
    (단,는 단어 Tj가 단어 Ti와 같은 구문에서 나타나는 빈도수임)
    상기 [수학식 1]과 [수학식 2]에 따라 계산된 코사인 계수와 구문정보 계수의 계산 결과를 참조하고, 아래의 [수학식 3]에 따라 클러스터 계수를 계산함으로써 상기 유사도와 집중도를 바탕으로 연관관계를 구하여, 해당 단어에 대한 클러스터를 생성하는 제 4 과정;
    [수학식 3]
    다음 비교단어에 대하여 클러스터 계수를 계산한 후 순차적으로 이동하면서, 마지막 단어까지 상기 처리 과정들을 반복하여, 해당문서에 대한 문서별 단어 클러스터를 생성하는 제 5 과정;
    해당문서에서 생성된 문서별 단어 클러스터의 중심어가 기존의 단어 클러스터 사전에 존재하는지 여부를 판단하여, 존재할 경우에는 제 7 과정으로 분기하고, 신규인 경우에는 제 11 과정으로 분기하는 제 6 과정;
    신규생성 클러스터 중심어(Ti), 기생성된 클러스터 중심어(Tj), 상기 Ti와 상기 Tj의 클러스터 내 공동 단어수(N(GTi ∩GTj)), 상기 Ti와 상기 Tj의 클러스터 내 연계단어 합(N(GTi ∪ GTj))을 참조하여 아래의 [수학식 4]에 따라 자카드(Jaccard) 계수를 계산하는 제 7 과정;
    [수학식 4]
    (단,는 단어 Ti를 중심으로 하는 클러스터,는 단어 Tj를 중심어로 하는 클러스터임)
    상기 제 7 과정에서 계산된 자카드(Jaccard) 계수값이 임계값(JT)보다 크면 동의어로 처리하고, 작은 경우에는 동음이의어로 처리하는 제 8 과정;
    재계산 클러스터 계수(P(Ti))를 기존 클러스터계수(PTi), 신규 생성된 클러스터 계수(P'Ti), 클러스터 계산에 이용된 문서수(n)를 이용하여 다음의 [수학식 5]에 따라 생성하는 제 9 과정;
    [수학식 5]
    얻어진 재계산 클러스터 계수(P(Ti))를 이용하여 기존의 클러스터 인덱스 값을 새로 변경하는 제 10 과정; 및
    해당문서에서 클러스터가 있는지를 판단하여 없으면 다음 문서 처리를 계속하고, 있는 경우에는 단어 클러스터 사전의 생성과 변경 작업을 지속하는 제 11 과정
    을 포함하는 단어 클러스터 관리 방법.
KR10-2000-0029788A 2000-05-31 2000-05-31 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법 KR100396826B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0029788A KR100396826B1 (ko) 2000-05-31 2000-05-31 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0029788A KR100396826B1 (ko) 2000-05-31 2000-05-31 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20010108845A KR20010108845A (ko) 2001-12-08
KR100396826B1 true KR100396826B1 (ko) 2003-09-02

Family

ID=41110845

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0029788A KR100396826B1 (ko) 2000-05-31 2000-05-31 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100396826B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223987B1 (ko) 2010-08-31 2013-01-24 대한민국 동적 온톨로지를 이용한 관련어 제공 방법 및 시스템
KR101238381B1 (ko) 2011-06-07 2013-02-28 엔에이치엔(주) 다중범위 스캔에서의 n 정렬 질의를 최적으로 처리하기 위한 방법 및 장치
KR20200065926A (ko) * 2018-11-30 2020-06-09 한국생산기술연구원 기술 정보의 구조화를 통한 유사 기술 제공 방법 및 장치

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000063310A (ko) * 2000-06-26 2000-11-06 민재기 통신망을 통한 명사의 순위 검색 시스템과 그 방법
KR20020049164A (ko) * 2000-12-19 2002-06-26 오길록 유전자 알고리즘을 이용한 카테고리 학습과 단어클러스터에 의한 문서 자동 분류 시스템 및 그 방법
KR20030069639A (ko) * 2002-02-22 2003-08-27 이의범 계층적 및 개념적 클러스터링에 의한 증권정보 검색시스템및 그 방법
KR100773066B1 (ko) * 2004-02-07 2007-11-02 주식회사 다음커뮤니케이션 인터넷 정보검색방법
KR100819846B1 (ko) * 2005-04-08 2008-04-07 김동암 인터넷 검색결과 정보를 언어고리로 구성하여 제공하는방법
KR100847376B1 (ko) * 2006-11-29 2008-07-21 김준홍 질의어 자동 추출을 이용한 검색 방법 및 장치
KR100892842B1 (ko) 2007-08-08 2009-04-10 엔에이치엔(주) 사용자 중심 정보탐색 방법 및 시스템
KR100903506B1 (ko) * 2007-10-24 2009-06-17 엔에이치엔(주) 정보 맵 관리 시스템 및 방법
KR100955186B1 (ko) * 2008-07-31 2010-04-29 엔에이치엔(주) 동의어 필터링을 이용한 검색 서비스 제공 방법 및 시스템
KR101048540B1 (ko) * 2009-03-24 2011-07-11 엔에이치엔(주) 연관 키워드에 따른 클러스터를 이용하여 검색 키워드를 분류하는 장치 및 방법
KR101122329B1 (ko) * 2010-05-03 2012-03-23 엔에이치엔(주) 문서 간의 유사도 계산 시스템 및 방법
CN103823814B (zh) * 2012-11-19 2017-12-01 腾讯科技(深圳)有限公司 一种信息处理方法及装置
KR101446154B1 (ko) * 2013-01-11 2014-10-01 한남대학교 산학협력단 사용자 질의 확장 기법을 이용한 시맨틱 콘텐츠 검색 시스템 및 방법
TWI639927B (zh) * 2016-05-27 2018-11-01 雲拓科技有限公司 將一申請專利範圍中的申請專利範圍元件名詞所屬元件名詞對應標號予以對應之對應方法
KR20200084260A (ko) 2019-01-02 2020-07-10 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN112148838B (zh) * 2020-09-23 2024-04-19 北京中电普华信息技术有限公司 一种业务源对象提取方法与装置
CN112256880B (zh) * 2020-11-11 2024-12-10 腾讯科技(深圳)有限公司 文本识别方法和装置、存储介质及电子设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223987B1 (ko) 2010-08-31 2013-01-24 대한민국 동적 온톨로지를 이용한 관련어 제공 방법 및 시스템
KR101238381B1 (ko) 2011-06-07 2013-02-28 엔에이치엔(주) 다중범위 스캔에서의 n 정렬 질의를 최적으로 처리하기 위한 방법 및 장치
KR20200065926A (ko) * 2018-11-30 2020-06-09 한국생산기술연구원 기술 정보의 구조화를 통한 유사 기술 제공 방법 및 장치
KR102124454B1 (ko) 2018-11-30 2020-06-19 한국생산기술연구원 기술 정보의 구조화를 통한 유사 기술 제공 방법 및 장치

Also Published As

Publication number Publication date
KR20010108845A (ko) 2001-12-08

Similar Documents

Publication Publication Date Title
KR100396826B1 (ko) 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법
JP4241934B2 (ja) テキスト処理及び検索システム及び方法
JP3928722B2 (ja) 1組のドキュメントの階層的記述の推測
KR100666064B1 (ko) 인터랙티브 검색 쿼리 개선 시스템 및 방법
Capstick et al. A system for supporting cross-lingual information retrieval
US20110295857A1 (en) System and method for aligning and indexing multilingual documents
JPH0424869A (ja) 文書処理システム
JPH11110416A (ja) データベースからドキュメントを検索するための方法および装置
CN102214189B (zh) 基于数据挖掘获取词用法知识的系统及方法
CN115186050B (zh) 基于自然语言处理的选题推荐方法、系统及相关设备
JPH03172966A (ja) 類似文書検索装置
CN105005556A (zh) 一种基于地质大数据的标引关键词提取方法和系统
JP2011118689A (ja) 検索方法及びシステム
JP3596210B2 (ja) 関連語辞書作成装置
JP4065346B2 (ja) 単語間の共起性を用いたキーワードの拡張方法およびその方法の各工程をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001184358A (ja) カテゴリ因子による情報検索装置,情報検索方法およびそのプログラム記録媒体
KR20020072092A (ko) 단락 단위의 실시간 응답 색인을 이용한 자연어 질의-응답검색시스템
JP5073349B2 (ja) 専門用語抽出装置、方法及びプログラム
Bessou et al. An accuracy-enhanced stemming algorithm for Arabic information retrieval
Torres-Parejo et al. MTCIR: A multi-term tag cloud information retrieval system
JPH11143902A (ja) n−gramを用いた類似文書検索方法
JP2006227823A (ja) 情報処理装置及びその制御方法
JP5094096B2 (ja) 有名人の別表現の自動抽出装置、方法
Thanadechteemapat et al. Thai word segmentation for visualization of thai web sites
JPH0232469A (ja) 情報検索方式

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20000531

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20020830

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20030612

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20030821

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20030822

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee