KR100378642B1 - 정보 검색 시스템과 그 방법 - Google Patents

정보 검색 시스템과 그 방법 Download PDF

Info

Publication number
KR100378642B1
KR100378642B1 KR10-2000-0038709A KR20000038709A KR100378642B1 KR 100378642 B1 KR100378642 B1 KR 100378642B1 KR 20000038709 A KR20000038709 A KR 20000038709A KR 100378642 B1 KR100378642 B1 KR 100378642B1
Authority
KR
South Korea
Prior art keywords
word
code
information
search
role
Prior art date
Application number
KR10-2000-0038709A
Other languages
English (en)
Other versions
KR20020004639A (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-0038709A priority Critical patent/KR100378642B1/ko
Priority to AU2001264363A priority patent/AU2001264363A1/en
Priority to PCT/KR2001/001000 priority patent/WO2002010977A1/en
Priority to CNB018090613A priority patent/CN100495391C/zh
Priority to US10/312,518 priority patent/US20030225751A1/en
Priority to CNB2005100521442A priority patent/CN100437574C/zh
Publication of KR20020004639A publication Critical patent/KR20020004639A/ko
Application granted granted Critical
Publication of KR100378642B1 publication Critical patent/KR100378642B1/ko
Priority to US11/397,964 priority patent/US20060195433A1/en

Links

Landscapes

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

Abstract

본 발명은 정보 검색 시스템과 그 방법을 개시한다.
정보가 다수의 단어로 이루어지는 문장들로 이루어지고, 각 문장을 구성하는 단어들은 문장내에서의 기능에 따라 역할 코드가 부여되면서 설정된 규칙에 따라 단어 코드로 코드화되어 있는 데이터 베이스를 포함하는 시스템의 정보 검색 방법에서, 검색어가 입력되면 상기 검색어가 다수의 단어로 이루어지는 문장인지를 판단하는 단계; 상기 검색어의 각 단어가 문장에서 수행하는 역할에 따라 역할 코드를 부여하여 설정된 규칙에 따라 코드화하는 단계; 상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 검색어의 각 단어들의 역할 코드와 단어 코드가 동일한 정보를 찾는 단계를 포함한다.
이러한 본 발명에 따르면 찾고자 하는 정보의 개념을 이용하여 원하는 정보를 신속하고 정확하게 찾아낼 수 있다.

Description

정보 검색 시스템과 그 방법{INFORMATION SEARCHING SYSTEM AND METHOD THEREOF}
본 발명은 정보 검색 시스템과 그 방법에 관한 것으로 더욱 상세하게 말하자면, 개념을 이용하여 정보를 검색하는 검색 시스템 및 그 방법에 관한 것이다.
최근에는 인터넷을 통한 정보 교환이 급격히 증가되고 있으며, 이에 따라 인터넷 상에서 원하는 정보를 신속하고 정확하게 찾아낼 수 있는 다양한 검색 엔진 들이 개발되고 있다.
그러나 현재의 검색 엔진들은 입력되는 단어와 일치되는 정보만을 검색하기 때문에, 인터넷 이용자들이 찾고자 하는 정보와 일치되는 단어를 모르는 경우에는 원하는 정보를 용이하게 찾을 수 없는 경우가 발생하며, 이에 따라 원하는 정보를 신속하고 정확하게 찾아낼 수 없게 된다.
그러므로, 본 발명의 목적은 원하는 정보를 신속하고 정확하게 찾아낼 수 있도록 하기 위한 것이다.
또한, 본 발명의 다른 목적은 원하는 정보를 설명하는 적어도 2개 이상의 단어로 이루어진 검색어를 이용하여 해당 정보를 용이하고 정확하게 검색하고자 하는데 있다.
도 1은 본 발명의 실시예에 따른 정보 검색 시스템의 블록도이다.
도 2a 내지 도 2d는 본 발명의 제1 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
도 3은 본 발명의 제2 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
도 4는 본 발명의 제3 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
도 5는 본 발명의 제4 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
도 6은 본 발명의 제5 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
이러한 기술적 과제를 달성하기 위한, 본 발명의 특징에 따른 정보 검색 시스템은, 정보를 나타내는 모든 단어들이 기본 단어와 복합 단어로 분류되는 시스템으로, 정보를 나타내는 단어를 입력하는 입력부; 정보가 설정된 규칙에 따라 코드화되어 저장되어 있는 데이터 베이스; 상기 입력부를 통하여 입력되는 검색어가 2개 이상의 단어로 이루어진 문장인 경우에는 상기 검색어의 각 단어가 문장에서 수행하는 역할에 따라 역할 코드를 부여하여 설정된 규칙에 따라 코드화하고, 상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 역할 코드와 단어 코드가 동일한 정보를 찾는 처리 장치를 포함하고, 상기 데이터 베이스에 저장되어 있는 정보를 나타내는 단어들은 역할에 따라 역할 코드가 부여되어 코드화되어 있다.
상기 처리 장치는 상기 문장으로 이루어지는 검색어를 코드화하는 경우에, 상기 문장을 이루는 단어중에서 의미를 가지는 단어만을 선정하여 역할 코드를 부여하여 코드화하며, 또한 문장으로 이루어지는 검색어에 구가 있는 경우에는, 각 단어에게 해당 단어가 문장내에서 수행하는 기능과 구내에서의 수행하는 기능이 서로 구별되도록 역할 코드를 부여한다. 이외에도 상기 검색어가 두 개 이상의 문장으로 이루어지는 경우에는 상기 문장이 서로 구별되도록 각 문장을 이루는 단어들에게 역할 코드를 부여한다.
한편, 처리 장치는 상기 검색어의 역할 코드와 단어 코드가 동일한 정보가 없는 경우에는, 상기 역할 코드가 동일하면서 단어 코드가 가장 많이 일치하는 정보를 찾는다.
또한, 본원 발명의 다른 특징에 따른 정보 검색 방법은,
정보가 다수의 단어로 이루어지는 문장들로 이루어지고, 각 문장을 구성하는 단어들은 문장내에서의 기능에 따라 역할 코드가 부여되면서 설정된 규칙에 따라 단어 코드로 코드화되어 있는 데이터 베이스를 포함하는 시스템의 정보 검색 방법으로,
검색어가 입력되면 상기 검색어가 다수의 단어로 이루어지는 문장인지를 판단하는 단계; 상기 검색어의 각 단어가 문장에서 수행하는 역할에 따라 역할 코드를 부여하여 설정된 규칙에 따라 코드화하는 단계; 상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 검색어의 각 단어들의 역할 코드와 단어 코드가 동일한 정보를 찾는 단계를 포함한다.
이외에도 검색어의 역할 코드와 단어 코드가 모두 동일한 정보가 없는 경우에, 상기 검색어의 문장을 이루는 단어들을 주구성 단어 코드와 구성 단어 코드로 나누고, 주구성 단어 코드가 동일한 정보 중에서 구성 단어 코드가 가장 많이 일치하는 정보를 찾는 단계를 더 포함한다.
또한, 상기에서 검색어의 역할 코드와 단어 코드가 모두 동일한 정보가 없는 경우에, 상기 검색어의 단어 중에서 주제어 또는 주어를 제외한 단어의 역할 코드와 단어 코드가 가장 많이 일치하는 정보를 선택하는 단계; 및 검색된 정보가 수식하는 단어 코드가 검색어의 주제어 혹은 주어와 동일하거나, 선택된 단어가 검색어의 주제어 혹은 주어와 가장 많이 일치하는 정보를 검색하는 단계를 더 포함한다.
이외에도 상기 검색어를 구성하는 단어 중에서 역할 코드가 동일한 단어가 있는 경우에는, 역할 코드가 동일한 단어를 서로 묶어서 상기 검색어의 역할 코드와 같으면서 해당 단어들의 구성 단어 코드가 가장 많이 일치하는 정보를 검색한다.
한편, 본원 발명의 특징에 따른 정보 검색 방법은, 검색어의 주어와 역할 코드 및 단어 코드가 모두 동일하면서 나머지 단어와 가장 많이 일치하는 정보를 찾는 단계 또는, 검색어의 주어의 주구성 단어 코드를 주어나 주제어에서 가지고 있는 정보를 선택하는 단계 또는, 검색어의 주어의 역할 코드가 K1이고, 그 밖에 역할 코드가 K2, K3, K4, …Kn이라고 할 때, 각각의 역할 코드를 가진 단어와 가장 많이 일치하는 정보를 선택하는 단계를 더 포함할 수 있다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 가장 바람직한 실시예를 상세히 설명한다.
본 발명은 단어의 의미를 이용한 개념 검색을 제공하는 것이다.
일반적으로 단어를 설명하는 것은 단어를 의미로 나타내는 것이며, 이 때 설명되는 단어의 의미를 통일된 규칙에 의하여 코드화 할 수 있다. 이 때, 대부분의 단어들은 세분화되지 않아도 그 자체만으로 그것이 의미하는 바를 용이하게 알 수 있는 단어 즉, 기본 단어로 설명할 수 있으며, 이러한 기본 단어를 일정한 자릿수를 가지는 코드로 코드화하여 해당 단어의 단어 코드를 생성할 수 있다. 그러므로 단어 코드란 단어의 의미를 기본 단어 코드로 나열한 것이 된다.
"세상"을 설명할 수 있는 기본 개념을 설정하고 이들 기본 개면의 조합으로 "세상"을 설명한다고 하였을 때, 여기서의 기본 개념이 본 발명의 기본 단어가 된다. 따라서 기본 단어의 코드의 조합으로 단어를 나타낸 것이 단어코드가 되며, 그리고 각각의 기본 단어 코드는 하나의 의미에 대응된다.
본 발명의 실시예에서는 기본적으로 정보를 나타내는 모든 단어들을 골격이 되는 단어 즉, 그 자체만으로도 의미를 용이하게 알 수 있는 기본 단어와 그 자체만으로는 의미를 용이하게 알 수 없는 복합 단어로 나누어서 구분하고, 각 단어들의 기본 단어로 코드화하여 해당하는 단어 코드를 생성한다.
이러한 코드화 규칙에 따라 모든 정보들을 코드화하여 저장한 다음에, 단어 코드를 가지고 정보를 검색하면 의미를 가지고 정보를 검색하는 결과를 얻을 수 있는 것이며, 의미를 가지고 정보를 검색하므로 개념 검색이라고 할 수 있다.
하지만 자연어 검색을 지원하기 위해서는 문장에 적용을 할 수 있어야 하며, 문장 검색에 활용되기 위해서는 각 문장 내에서의 각 단어의 역할을 고려하여 정보를 검색하여야 한다.
따라서 본 발명에서는 문장내의 역할을 나타내는 역할 코드를 각 단어별로 부여하여 문장 검색에 활용하여, 문장 검색이 가능하도록 하며 긍극적으로는 자연어 검색에 부응할 수 있도록 한다. 문장 내에서 단어들의 역할에 대한 분석은 조사 분석, 단어의 형태소 분석 및 각 단어간의 연결에 의한 의미 분석, 혹은 단어의 위치 분석 등을 통해서 알 수 있으며, 이러한 방법은 언어학에서 만들어진 통상의 이론에 의한다.
또한 프로그램에 의한 자동적인 분석은, 이 이론에 의해 만들어진 종래의 각종 단어 처리기 프로그램을 활용할 수가 있다. 실제로 문장 내의 각 단어의 역할 분석에 관한 이론은 번역 프로그램 등에 이용되고 있다.
또한 문장 검색에 있어서 문장에 있는 모든 단어를 전부 단어 코드로 바꾸어 줄 필요는 없다. 즉 문장 내에 명사, 형용사, 동사 등 일부 중요한 단어만을 단어코드로 바꾸어 주면 된다. 왜냐하면, 정보를 검색할 때는 개념적으로 검색하는 것이 훨씬 효율적이고, 문장 내에서 중요단어만을 기본으로 검색해도, 개념 검색에는충분히 부응할 수 있기 때문이다.
문장을 개념으로 검색한다는 것도 단어 코드를 만드는 원리(단어를 설명하는 단어들 중에서 중요 단어만을 사용하여 단어 코드를 만드는 원리)와 비슷하다고 할 수 있다. 즉, 문장 내에 중요 단어만을 각 중요 단어의 역할에 맞게 검색을 하면 된다.
통상 하나의 문장에는 대응 논리가 있게 마련이다. 그리고 하나의 논리를 완성하기 위해서는 주어(혹은 주제어), 수식어, 서술어, 부사어 등이 있어야 한다. 그렇기 때문에 정보를 검색하기 위하여 단어를 입력할 때, 입력된 단어가 문장 내에서 어떠한 역할을 하는 것인가는 중요하다. 즉 입력 단어 "k"가 주제어 내지는 주어의 역할을 한다면 검색된 자료에도 주제어나 주어의 역할을 해야하며, 입력 단어와 동일한 단어 "k"가 검색되었더라도 수식어의 역할을 하는 단어에서 검색되었다면, 찾고자 하는 정보가 아닐 가능성이 있으므로, 역할이 동일한 정보를 찾아야 한다.
이와 같이 본 발명에서는 문장을 이루는 하나의 논리를 근거로 정보를 찾을 수 있는 검색 방법을 제공하는 것이며, 이를 위해서 각 문장에서 각각의 단어가 하는 역할에 따라 역할 코드를 부여하고, 역할 코드에 따라 정보를 검색하도록 한다.
만일 역할 코드가 각각 "S(주제어)", "V(서술어)", "A(수식어)", "P(부사구)" 라고 한다면, 이들 4가지 구성으로 하나의 논리가 만들어진다고 할 수 있으며, 따라서 정보를 검색할 때도 하나의 논리를 이루는 각 구성 요소들의 역할을 고려하여 코드화한 다음에 정보를 찾는 것이다.
이렇게 단어 코드를 통하여 정보를 검색할 때, 단어 코드를 이루는 구성 단어 코드의 자리수를 일정하게 하여, 프로그램 상에서의 검색 비교가 용이하게 할 수 있다. 예를 들어 단어 코드가 "nmamkpo-fstelolor" 라고 할 때, 명사라는 품사를 나타내는 최초 자리에 있는 "n" 코드를 제외하면, 나머지 기본 단어 코드는 "ma, mk, po, -f, st, el, ol, or" 와 같이 모두 2자리로 구성하여, 단어 코드 사이의 상호 비교가 용이하도록 한다.
또한 단어 코드내에 각 구성 단어 코드의 위치를 정해서 가장 많이 일치하는 정보를 좀 더 용이하게 찾을 수 있도록 한다. 즉, 수식어적 기능을 하는 수식어의 기본 단어 코드는 수식을 받는 주제어의 주 구성 단어 코드 바로 뒤에 위치하고, 부사적 기능을 하는 기본 단어 코드는 "-"의 뒤에 위치하도록 하였다.
예를 들어, “판막(valve)”이라는 단어에 대하여 "심장(ha, heart)에서(-i, in) 피(bl, blood)의 흐름(fl)을 조절(co, cdntrol)하는 기관(or, organ)”이라는 의미를 부여하여 “menor=coblfl-ha"라는 단어 코드를 생성할 수 있으며, 이 단어 코드에서처럼 동사나 서술어적 기능을 하는 단어 코드 앞에는 "="의 코드를 부여하여 , 서술어적 기능을 하는 단어 코드를 구별 할 수 있도록 한다. 이에 따라 단어코드 비교시에 두자리씩 단순히 비교하게 되어 서술어적 기능을 하는 단어 코드의 구별이 어렵게 되는 점을 방지하였다.
도 1에 본 발명의 실시예에 따른 정보 검색 시스템의 구조가 도시되어 있다.
첨부한 도 1에 도시되어 있듯이 본 발명의 실시예에 따른 정보 검색 시스템(10)(이하, 설명의 편의를 위하여 정보 검색 서버로 명명한다)은 찾고자 하는 정보에 해당하는 단어나 문장들을 입력하는 입력부(11), 입력부(11)를 통하여 입력되는 단어나 문장들(이하 검색어라고 명명함)을 기본 단어로 세분화한 다음에 코드화 하고, 코드화된 검색어를 토대로 해당하는 정보를 검색하는 중앙 처리 장치(12), 기본 단어로 세분화되어 코드화되어 있는 다수의 정보들이 저장되어 있는 데이터 베이스(13), 입력부(11)를 통하여 입력되는 검색어를 표시하고, 중앙 처리 장치(12)에 의하여 검색된 결과를 표시하는 디스플레이부(14)를 포함한다.
정보 검색 서버(10)는 도 1에서와 같이, 네트워크(유무선 네트워크, 퓨쳐 네트워크 등) 예를 들어 인터넷(20)과 연결될 수 있으며, 인터넷(20)을 통하여 정보 입력 장치(30)와 연결된다. 이에 따라 중앙 처리 장치(12)의 제어에 따라 정보 입력 장치(30)와 데이터를 송수신하는 인터페이스부(15)를 더 포함한다.
정보 검색 서버(10)는 다수의 정보를 설정된 규칙에 따라 세분화 및 코드화 하여 데이터 베이스(23)를 구축하며, 데이터 베이스(23)를 토대로 하여 인터페이스부(15)를 통하여 정보 입력 장치(30)로부터 입력되는 검색어 또는 입력부(11)를 통하여 입력되는 검색어에 해당하는 정보를 검색하여 그 결과를 이용자의 정보 입력 장치(30)로 제공하거나 디스플레이부(14)에 표시한다.
이에 따라 정보 검색 서버(10)의 데이터 베이스(13)는 인터넷 싸이트 운영 및 시스템 운영에 필요한 데이터를 저장하는 운영 데이터 베이스(131)와, 다수의 정보가 기본 단어로 세분화 및 코드화 되어 저장되어 있는 단어 데이터 베이스(132)로 이루어진다.
그리고, 중앙 처리 장치(12)는 운영 데이타 베이스(131)에 저장된 데이터를토대로 하여 싸이트 및 시스템을 운영하는 싸이트 운영부(121)와, 입력부(11)를 통하여 입력되는 다수의 정보를 기본 단어로 세분화하고 코드화 하여 단어 데이터 베이스(132)에 저장하고, 입력부(11) 또는 인터페이스부(15)를 통하여 입력되는 데이터 즉, 검색어를 기본 단어로 세분화 및 코드화 하는 데이터 처리부(122), 데이터 처리부(122)에서 처리된 검색어를 토대로 단어 데이터 베이스(132)를 검색하여 검색 데이터에 해당하는 정보를 찾는 데이터 검색부(123)를 포함한다.
본 발명의 실시예에 따른 정보 검색 서버(10)에 접속할 수 있는 정보 입력 장치(30)로는 컴퓨터가 이용되며, 이외에도 인터넷(20)과 연결될 수 있는 다른 통신 장치가 이용될 수도 있다.
먼저, 이러한 구조로 이루어지는 정보 검색 시스템에서 정보를 구성하는 단어나 문장들이 코드화되는 것에 대하여 설명한다.
본 발명에서는 검색어를 기본 단어로 세분화하고 각 기본 단어를 알파벳이나 아라비아 숫자 등으로 이루어지는 코드로 코드화한다. 여기서 검색어는 하나의 단어일 수도 있으며 2개 이상의 단어로 이루어지는 절이나 구 또는 문장일 수 있다. 코드화된 검색어를 단어코드라고 하며, 단어 코드를 구성하는 2자리의 코드를 구성 단어 코드라고 한다. 본 발명에서는 검색어를 구성하는 각 단어가 수행하는 역할에 따라 역할 코드를 부여하여 해당 단어가 어떠한 기능을 수행하는지를 용이하게 알 수 있도록 한다.
예를 들어 “2000년대에는 엔진 기술이 나날이 전자화 되고 있다.”라는 문장에서, 일부만을 코드화하면, “2000 년대에는 엔진(nmamkpo-fstelolor)기술(nkn-iscinan)이 나날이 전자(nel)화 되고(vbc) 있다.”로 코드화시킬 수 있다. 이 문장의 주어는 "기술”이고, "엔진"은 수식어이며, 서술하는 역할을 하는 단어는 "전자화"이다. 이 때, 주어의 역할 코드를 "S", 수식어의 역할 코드를 "A", 서술어의 역할 코드를 "V", 시간이나 시대를 나타내는 부사구 코드를 "T"라고 하면, 이러한 문장에서의 역할을 나타내는 코드를 해당 단어에 부여할 수 있다.
여기서, “엔진”은 “ 스팀(st, steam), 전기(el, electric) 혹은(or) 기름(ol, oil) 등으로부터(-f, from) 동력(po, power)을 만드는(mk, make) 기계(ma, machine)”라는 기본 단어로 설명할 수 있으며, 그리고 중요 단어만을 선택하여 코드화하면 엔진의 단어 코드는 "nmamkpo-fstelolor"로 나타낼 수 있다. 여기서 맨 앞의 코드 "n"은 "엔진"이라는 단어가 명사임을 나타내며, 품사를 나타내는 코드 뒤에 수식을 받은 주 구성 단어인 "기계"의 코드 "ma"가 위치되고, 이어서 수식하는 구성 단어인 "만드는"의 코드인 "mk"가 위치되고 다음에 목적어인 "동력"의 코드인 "po"가 위치된다. 그리고 부사적 기능을 하는 기본 단어 코드 "fstelolor"이 "-"에 이어서 뒤에 위치된다. 각 단어들은 2자리로 코드로서 표시되며, 이 단어 코드에서 맨 뒤에 위치된 "or"은 "stelol"들이 서로 논리합 연결 관계를 가지는 것을 나타낸다.
그리고, “기술”을 "과학(sc, science)과(a, and) 공업(in, industry)에서의 지식(kn, know)"이라는 기본 단어로 나타낼 수 있으며, 위에 기술한 바와 같은 코드화 규칙에 따라 "nkn-iscinan"라는 단어 코드로 나타낼 수 있다. 여기서도 단어 코드의 맨 앞에 위치된 "n"은 "기술"의 품사가 명사임을 나타내며, 단어 코드맨 뒤의 "an"은 "scin"이 서로 논리곱 연결 관계를 가지는 것을 나타낸다.
이와 같이 표현되는 단어 코드에 각 단어가 해당 문장에서 수행하는 역할을 나타내는 역할 코드를 부여하면, “2000년(nyrT)대에는 엔진(nmamkpo-fstelolorA) 기술(nkn-iscinanS)이 나날이 전자(nelV)화 되고(vbcV) 있다.”로 나타낼 수 있다. 여기서 역할 코드는 원래의 단어 코드와 구별하기 위하여 대문자를 사용하였다.
또한 정보를 나타내는 문장이 “미국에 있는 클린턴 대통령(npr)은 백악관(nhoofpr-ius)에서 눈코뜰새 없이 바쁘게 살고(vli) 있다.”라고 하자. 이때,“클린턴”은 고유 명사(C)이며, 대통령”이 주어(S)이고,“백악관에서”는 장소를 나타내는 부사구(P)이며, “살고”는 서술(V)을 나타내는 단어이고, “미국에”도 장소를 나타내는 부사구(P)이다. 이러한 문장에 역할 코드를 부여하여 코드화하면 “usP 클린턴(C) nprS nhoofpr-iusP vliV.”의 단어 코드로 나타낼 수 있다.
이와 같이 본 발명에서는 문장의 코드화는 문장내에서 의미를 가지는 중요 단어만을 선정하여 역할 코드를 부여하고 단어 코드로 바꾸는 것이다. 이 경우에는 문장에서 사용하는 맞침표 같은 것을 그대로 사용하여 문장과 문장 사이를 구별 할 수 있도록 한다.
참고적으로 위에서, 클린턴은 고유 명사이므로 고유 명사를 나타내는 코드 "C"를 부여하였고, 따라서 고유명사는 단어 코드로 변환되지 않고 직접 원래의 단어가 사용될 수 있도록 하였다. 이와는 달리 클린턴이라는 단어에 “미국의 00대 대통령”이 이라는 의미를 가진 단어 코드를 부여할 수도 있으며, 클린턴 자체에 코드를 부여할 수도 있다.
한편, 문장내에서 단어들의 역할에 대한 분석은 조사 분석, 단어의 형태소 분석 및 각 단어간의 연결에 의한 의미 분석, 혹은 단어의 위치 분석 등을 통해서 알 수 있으며, 이러한 방법은 언어학에서 만들어진 통상의 이론에 의한다.
또한 프로그램에 의한 자동적인 분석은, 이 이론에 의해 만들어진 종래의 각종 단어 처리기 프로그램을 활용할 수가 있다. 실제로 문장 내의 각 단어의 역할 분석에 관한 이론은 번역 프로그램 등에 이용되고 있다.
그리고 장소를 나타내는 부사구나 시간을 나타내는 부사구 등은 해당 단어와 단어 뒤의 조사를 분석하여 알 수가 있다. 예를 들어 미국, 백악관 등의 명사는 장소를 나타내는 명사이고, 이들 명사가 “∼에서”등과 같은 조사를 사용하게 되면, 장소를 나타내는 부사구가 된다. 그리고 2000년, 2시 등과 같이 시간을 나타내는 명사에 있어서도, “∼에”와 같은 조사가 붙으면 시간을 나타내는 부사구가 된다. 이러한 단어의 종류와 단어와 함께 사용된 조사의 종류에 따라 장소나 시간 등을 나타내는 부사구의 구별이 가능하게 된다. 물론 영어에는 “in" 등과 같은 전치사의 사용여부로 장소나 시간을 나타내는 부사구를 구별할 수가 있게 된다.
한편, 시간이나 장소를 나타내는 단어들이 형용사적 변화형을 가지고 사용하게 되더라도 문장내에서 시간과 장소를 나타내는 경우가 많게 된다. 예를 들어 “미국에서 사는 백인”에 대한 정보가 있을 때, “미국의 백인”도 동일한 의미의 정보를 나타낸다. 즉, “미국”이라는 단어가 장소를 나타내는 조사와 같이 쓰이지 않고 형용사적 변화형을 나타내는 “∼의” 와 같은 단어와 같이 사용되어도 장소를 의미한다. 이러한 경우에 대비해서 본 발명의 실시예에서는 정보를 검색하기 위한 다양한 방법(추후기술)을 제공한다.
그리고, 실제로 문장 내에는 구나 절이 있고, 또한 문장이 한개가 아니라 두개 일 수도 있다. 이러한 경우에는 각각의 구별이 필요하다.
다시 말해서, 형용사적 역할을 하는 단어가 있을 때, 그 단어가 전체 문장의 주어를 수식하는 단어인가 아니면, 문장 내의 구에서 주어적 역할을 하는 단어를 수식하는 단어인가를 구별할 필요가 있다.
예를 들어보면, “1 차 대전(nwawofi) 기간(nti-obeenan) 미국(nus)에서 자동차(nca) 엔진(nmamkpo-fstelolor) 기술(nkn-iscinan)이 시작(st) 되었다.”의 문장에서 각 단어마다 문장내의 역할을 나타내는 코드를 부여해 볼 수 있다. 여기서“기술”의 단어 코드의 구성을 보면 주구성 단어 코드는 "kn"이며, 구성 단어 코드는 "sc, in"이고, 구성 요소 단어 코드는 주구성 단어 코드와 구성 단어 코드를 모두 포함하여 "kn, sc,in"이 해당된다.
또한 1 차(The first, fi) 세계(world, wo) 대전(war, wa)의 단어 코드는 "nwawofi" 이고, 기간의 단어 코드는 기간을 설명하는 단어인 “time(ti) of(-o) a beginning(be) and(an) a end(en)”로 나타내어 "nti-obeenan"이 된다. 물론 맨 마즈막의 "an"은 "and"를 의미하고, 맨 앞의 한자리 코드는 단어의 품사를 나타낸다.
위의 문장에서, "미국"은 장소를 나타내는 부사구이며, “ 1차 대전 기간의”는 형용사적 역할을 하는 수식어이지만, 전체 문장의 주어인“기술”을 수식하는 단어가 아니라 장소를 나타내는 부사구 내의 주 단어인 “미국”을 수식하는 단어이다. 따라서 이 경우에는 문장의 주어를 수식하는 단어와는 구별하여 역할 코드를부여해야 한다.
이와 같이 구별되는 역할 코드를 고려하여 상기 예문의 단어 코드에 역할 코드를 부여하면 다음과 같다. "1차 대전(nwawofiPA) 기간(nti-obeenanPA)의 미국(nusP)에서 자동차(ncaA) 엔진(nmamkpo-fstelolorA) 기술(nkn-iscinanS)이 시작(stV) 되었다.”
위의 예에서 역할 코드는 모두 대문자로 표기되었으며, “미국”을 수식하는 단어의 역할 코드는 "PA" 로 나타내었다. 즉 장소를 나타내는 부사구의 주 단어인“미국”을 수식하는 단어라는 의미이다. 물론 “미국”이라는 단어는 장소를 나타내는 부사구 내에서 사실상 주어의 역할은 하지만 전체 문장에서 볼 때는 장소를 나타내는 부사구 역할을 한다는 것이다. 따라서 상기 문장 전체를 단어 코드로 표현하면 다음과 같다. “nwawofiPA nti-obeenanPA nusP ncaA nmamkpo-fstelolorA nkn-iscinanS stV.” 즉, 중요 단어만을 선택하여 역할 코드를 부여하고 단어 코드를 나열한 것이 문장 전체를 코드화 한 것이 된다.
또한 다른 예로서, 만일 위의 예문에서 서술어인 "시작”을 수식하는 단어의 역할 코드는 “VA"가 된다고 할 수 있다. 즉, “기술이 처음 시작되었다.”의 문장에서 “처음(nfi)”의 단어 코드(역할 코드까지 부여된 단어 코드)는 "nfiVA"가 된다. 왜냐하면, “처음”이라는 단어는 서술어(V)인 “시작”을 수식(A)하기 때문이다.
한편, 문장이 두개가 연결된 경우도 있다. 예를 들면, “클린턴 대통령(npr)은 백악관(nhoofpr-ius)에서 눈코 뜰새 없이 바쁘게(dbu) 살고(vli) 있고, 그의 부인 힐러리는 뉴욕에서 바쁘다(abu).”라는 문장은 두개의 문장으로 되어 있다. 여기서“바쁘다”의 단어 코드 앞에 표시된, "a"는 형용사를 나타내는 코드이며, “바쁘게”의 단어 코드 앞에 표시된 "d"는 부사를 나타내는 코드이다.
위의 두 개의 문장으로 이루어지는 복문에서 단어 코드에 역할 코드를 표시할 경우, 각각의 역할 코드가 어느 문장에 해당되는가를 나타낼 필요가 있다. 이를 고려하여 상기 문장에서 단어 코드에 역할 코드를 부여하면, 다음과 같이 나타낼 수 있다. “클린터(CA) 대통령(nprS)은 백악관(nhoofpr-iusP)에서 눈코 뜰새 없이 바쁘게(dbuVA) 살고(vliV) 있고, 그의 부인 힐러리(CA1)는 뉴욕(CP1)에서 바쁘다(abuV1).”그리고, 이 문장 전체를 단어 코드로 바꾸어 나타내면 “클린턴(CA) nprS nhoofpr-iusP dbuVA vliV, 힐러리(CA1) 뉴욕(CP1) abuV1.”가 된다. 여기에서는 하나의 문장 이내에 두개의 문장이 있으므로, 쉼표(,)를 사용하였고, 맞침표(.)도 사용하였다.
첫 번째 문장에서“대통령”은 주어의 역할을 하므로 역할 코드 "S"를 부여하였고, “살고”는 수식어의 역할을 하므로 역할 코드 "V"를 부여하였다. 그러나 두번째 문장의 단어 “힐러리”도 주어 역할을 하지만 역할 코드로 "A1"을 부여하였으며, "바쁘다" 는 수식어의 역할을 하여 역할 코드로 "V1"을 부여하였다. 즉, 두번째 문장에서는 역할 코드에 아라비아 숫자 "1"을 부여하여 처음 문장과 구별하였다. 마찬가지로 문장이 2개 혹은 3 개일 경우에는 역할 코드에 아라비아 숫자 “2”혹은 “3”을 부여하여, 여러개의 문장을 서로 구별할 수 있도록 한다.
이와 같이 문장 내에서 다른 문장과의 구별 및 구나 절 등의 구별이 가능하도록 역할 코드를 부여함으로써, 각각 수식을 나타내는 단어나 서술을 나타내는 단어가 어떠한 단어와 연결되어 있는 가를 구별할 수 있다. 따라서 문장 전체가 나타내는 개념으로서 정보를 검색할 수 있으므로, 단어의 개념만으로 정보를 검색하여 검색하고자 하는 정보와 상관없는 정보가 검색될 수 있는 가능성을 감소시킬 수 있다.
다음에는 이와 같이 다수의 정보들이 코드화되어 있는 데이터 베이스를 토대로 하여 정보를 검색하는 방법에 대하여 설명한다.
도 2a 및 도 2b에 본 발명의 제1 실시예에 따른 정보 검색 방법의 흐름이 도시되어 있다.
첨부한 도 2a에 도시되어 있듯이, 입력부(11)나 인터페이스부(15)를 통하여 검색하고자 하는 검색어가 입력되면, 중앙 처리 장치(12)의 데이터 처리부(122)는 먼저, 입력되는 검색어가 2개 이상의 단어인가를 판단한다(S100∼S110).
데이터 처리부(122)는 입력된 검색어가 1개의 단어인 경우에는 검색어를 해당하는 단어 코드로 변경한 다음에, 데이터 검색부(123)가 단어 코드를 토대로 단어 데이터 베이스(132)를 검색하여 해당하는 정보를 검색한다.
이 때, 검색어의 의미가 여러개일 경우에는 대화창을 통하여 입력자에게 여러개의 의미 중에서 하나를 선택하게 할 수 있도록 한다. 또한 검색어가 기본 단어로서 적어도 두 개 이상의 단어 코드로 표현될 수 있는 경우에는 단어 코드들을 논리합(or)의 방법으로 정보를 검색한다. 예를 들어 검색어가 “차가운(cold)”이라면, 기본 단어이므로 그 자체를 나타내는 "cl" 의 단어 코드로 나타낼 수도 있지만, “차가운”의 단어 의미를 "보통(us, uaual)보다(t, than) 낮은(lo, low) 온도(te, temperature) 상태의" 와 같은 의미를 가지는 다른 기본 단어들로 표현하여 단어 코드 "atelo-tus" 로 나타낼 수 있다. 이와 같은 경우에는 검색어 "차가운"에 해당하는 두개의 단어 코드 "cl"과 "atelo-tus"을 모두 사용하여 해당하는 정보를 검색한다(S120∼S130).
한편, 입력된 검색어가 2개 이상의 단어로 이루어지는 경우에는 검색어가 문장을 이루는가를 판단하고(S140), 입력된 검색어가 문장을 이루지 않는 경우에는 검색어내의 단어들이 서로 주제어와 수식어로서 구별될 수 있는지를 판단한다(S150). 여기서 주제어는 수식을 받는 주 단어를 의미하고, 수식어는 주제어를 수식하는 역할을 하는 단어를 나타낸다.
예를 들어 검색어가 “엔진(nmamkpo-fstelolorA) 기술(nkn-iscinanS)”이라고 했을 때, 두개의 단어를 논리합의 관계로 분석할 수 있지만 통상 논리곱의 관계로 분석한다. 따라서 “엔진”은 주제어인 "기술"을 수식하는 수식어로 판단될 수 있다.
한편, 검색어의 주제어와 수식어의 구별이 모호한 경우가 있다. 예를 들어 검색어가 “스포츠카, 중형차, 소형차, 디젤 자동차”라고 한다면, 검색어를 구성하는 각 단어들이 서로 병렬적으로 나열된 것이지 서로 수식어와 주제어의 관계를 가지지는 않는다.
여기서 알 수 있듯이 검색어를 구성하는 단어들이 같은 종류 (예를 들어 품사)라면 각 단어들이 서로 병렬적인 나열 관계를 가지는 것을 알 수 있다. 따라서,본 발명의 실시예에서는 검색어를 구성하는 단어들의 종류를 판단하여 단어들이 주제어와 수식어로서 구별될 수 있는지를 판단한다.
입력된 검색어를 구성하는 단어들이 주제어와 수식어로 구별되지 않는 경우에는 검색어를 위에 기술된 규칙에 따라 검색어를 해당하는 단어 코드로 변환한 다음에, 이 단어 코드를 토대로 단어 데이터 베이스(132)를 검색하여 동일하거나 가장 많이 일치하는 단어 코드를 가지는 정보를 찾는다(S160∼S170).
단계(S150)에서, 주제어와 수식어를 구별할 수 있는 경우에 데이터 처리부(122)는 수식어 즉, "엔진"에 역할 코드 "A"를 부여하고, 주제어 즉, “기술”에는 역할 코드인 "S"를 부여하여 코드화하며, 데이터 검색부(123)가 코드화된 단어를 토대로 단어 데이터 베이스(132)를 검색하여 해당하는 정보를 찾는다(S180∼S190).
먼저, 첨부한 도 2b에 도시되어 있듯이, 검색어의 역할 코드 및 단어 코드와 모두 동일한 코드를 가지는 정보가 있는가를 판단한다.
예를 들어 검색어가 “1차 대전(nwawofiA) 기간(nti-obeenanA)의 미국(nusS)”인 경우에 역할 코드를 부여하여 코드화하면, "nwawofiA nti-obeenanA nusS"의 단어 코드로 나타낼 수 있다.
이 때 역할 코드 및 단어 코드가 모두 동일한 코드를 가지는 정보라는 것은, "A"의 역할 코드를 가지면서 "nwawofi"의 단어 코드를 가진 단어와, "A"의 역할 코드를 가지면서 "nti-obeenan"의 단어 코드를 가진 단어와, "S"의 역할 코드를 가지면서 "nus"의 단어 코드를 가지는 단어를 모두 한 문장이나 구내에서 포함하고있다는 것을 의미한다. 다시 말해서 "nwawofiA" 와 같은 역할 코드 및 단어 코드를 가진 단어가 어떠한 문장에 있고, "nusS" 와 같은 역할 코드 및 단어 코드를 가진 단어가 다른 문장에 있다면, 검색어와 동일하지 않은 정보가 된다. 이와 같이 하나의 문장 내에 "nwawofiA nti-obeenanA nusS"의 역할 코드 및 단어 코드를 모두 포함하는 정보이거나, 해당 문장을 포함하는 정보 등(이하, 동일 정보라고 명명함)을 검색하고, 검색된 정보들을 디스플레이부(14)를 통하여 표시한다 (S200∼S210).
여기서, 저장된 정보에서 동일 문장의 판단은 문법적으로 마침표로 판단하거나 주어 동사 서술어 등의 형식이 갖추어져 있는가로 판단한다. 이러한 동일 문장을 판단하는 방법이나 알고리즘은 통상의 방법에 의하기 때문에, 동일 문장을 판단하는 알고리즘은 본 발명의 순서도에서는 생략하였다.
한편 단계(S200)에서 동일한 정보가 없을 때는, 검색어의 주제어와 역할 코드 및 단어 코드가 모두 동일한 단어를 포함하는 정보를 선택한다(S210). 검색어의 단어 코드가 "nwawofiA nti-obeenanA nusS" 라면, 저장 정보에서 주제어인 "nusS"의 단어 코드를 가진 문장을 선택한다는 의미이다.
그리고 선택된 정보에서, 검색어의 수식어의 단어 코드와 가장 많이 일치하는 정보를 선택한다(S230). 즉, 검색어의 단어 코드가 "nwawofiA nti-obeenanA nusS" 라면, 수식어의 단어 코드인 "nwawofiA nti-obeenanA"와 가장 많이 일치하는 단어 코드를 가진 정보를 선택하는 것이다. 여기서 가장 많이 일치하는 정보는 한 문장이나 구내에서, "nus"의 단어 코드와 "S"의 역할 코드를 가진 단어를 포함하면서, "nwawofi" 혹은 "nti-obeenan" 의 단어 코드와 가장 많이 일치하는 단어로서 수식어의 기능을 가지는 정보를 의미한다.
그리고, 단계(S220)에서 검색어의 주제어와 역할 코드 및 단어 코드가 동일한 단어를 포함하는 정보가 없으면, 검색어의 주제어와 주 구성 단어 코드가 동일하면서 주제어의 역할 코드를 가지는 정보를 찾는다(S230). 주제어는 문장에서는 주어의 역할을 하는 것이고, 구에서는 주제어적 역할을 하는 것을 의미한다.
해당 정보를 찾으면, 하나의 문장에서 주제어와 수식어를 선택한다. 그리고 선택된 단어의 구성 요소 단어 코드를 검색어의 구성요소 단어 코드와 비교하여 가장 많이 일치하는 정보를 찾는다(S240). 예를 들어 검색어의 단어 코드가 “엔진(nmamkpo-fstelolorA) 기술(nkn-iscinanS)" 이라고 하자. 그러면, 주제어의 주구성 단어 코드가 "kn(know)"이다. 그러므로 검색어의 구성요소 단어 코드(검색어에서 주 구성 단어 코드를 제외하는 단어 코드임.) "mamkpo-fstelolor, scinan"와 가장 많이 일치하는 구성요소 단어 코드를 가지는 정보를 찾는다. 이렇게 하여 검색어의 주구성 단어 코드를 포함하고 구성요소 단어 코드가 가장 많이 일치하는 단어를 포함하는 구나 문장을 포함하는 정보가 선택되게 된다(S260).
또 다른 예로서, 검색어의 단어 코드가 "nwawofiA nti-obeenanA nusS"인 경우에, 주제어의 단어 코드는 주구성 단어 코드 하나로 되어 있으므로, 주제어를 제외한 나머지 단어 코드 "nwawofiA nti-obeenanA"에서 구성 단어 코드가 가장 많이 일치하는 단어를 포함하는 구나 문장을 선택하게 된다.
그리고 데이터 검색부(123)는 검색어의 주제어와 주 구성 단어 코드가 동일하면서 주제어의 역할 코드를 가지는 정보가 없는 경우에는 디스플레이부(14)를 통하여 새로운 검색어 입력을 요청한다(S270).
한편, 단계(S130)에서 입력된 검색어가 2개 이상이면서 문장을 이루는 경우에는 첨부한 도 2c에 도시된 루틴으로 분기한다.
먼저, 데이터 처리부(122)는 문장내에 다른 문장이나 구가 있는지를 판단하여(S280), 다른 구나 절이 없이 하나의 문장으로만 되어 있다면, 문장 내에서 형용사, 동사, 명사 등 중요 단어만을 선택하여 역할 코드를 부여하고 단어 코드로 코드화한다(S290).
문장 내에서 단어들의 역할에 대한 분석은 조사 분석, 단어의 형태소 분석 및 각 단어간의 연결에 의한 의미 분석, 혹은 단어의 위치 분석 등을 통해서 알 수 있으며, 이러한 방법은 언어학에서 만들어진 통상의 이론에 의한다. 이러한 이론을 근거로 하여 자동 번역 프로그램 등이 만들어져 사용되기도 한다. 또한 프로그램에 의한 자동적인 분석은, 이 이론에 의해 만들어진 종래의 각종 단어 처리기 프로그램을 활용할 수가 있다. 이러한 단어의 역할 분석의 알고리즘은 종래의 방법을 사용하므로, 본 발명의 순서도에서는 생략하였다.
그리고 한 문장 내에서 검색어와 역할 코드 및 단어 코드가 모두 동일한 문장을 검색한다(S300). 예를 들어 검색어가“미국(nus)에서 자동차(nca) 엔진(nmamkpo-fstelolor) 기술(nkn-iscinan)이 시작(st) 되었다.”라고 하자. 그러면, 이중에서 중요 단어 만을 선정하여 단어 코드로 바꾸어 역할 코드를 부여하여 나열한다면, “nusP ncaA nmamkpo-fstelolorA nkn-iscinanS stV”와 같이 코드화할수 있다.
이와 같이 검색어를 코드화한 다음에 단어 데이터 베이스(132)를 검색하여 한 문장 내에서 위와 같은 단어 코드를 모두 소유하고 각 단어 코드의 역할 코드까지 동일한 정보 즉, 역할 코드 및 단어 코드가 동일한 코드를 가지는 정보를 찾아서 디스플레이부(14)를 통하여 표시한다(S310).
단계(S300)에서 동일한 문장이 없으면, 검색어의 주어와 단어 코드 및 역할 코드가 동일한 단어를 포함하는 정보를 찾는다(S320). 즉 검색어의 주어인 "nkn-iscinanS"와 단어 코드 및 역할 코드가 동일한 단어를 포함하는 문장을 선택한다.
문장이 선택되면, 검색어에서 주어의 단어 코드를 제외한 다른 단어 코드인“nusP ncaA nmamkpo-fstelolorA stV”와 가장 많이 일치하는 정보를 선택한다(S330).
한편, 단계(S320)에서 검색어의 주어와 동일한 단어 코드 및 역할 코드를 가진 단어를 포함하는 정보가 없다면, 검색어의 주어의 주구성 단어 코드를 주어에서 가지고 있는 구나 문장을 찾는다(S340).
만일 이러한 정보가 없다면 디스플레이부(14)를 통하여 새로운 검색어 입력을 요청한다(S350). 검색어의 주어의 주 구성 단어 코드를 주어나 주제어에서 가지고 있다고 하는 것은, 위의 예에서 본다면, 검색어의 주어인 주 구성 단어 코드 "kn"를 주어나 주제어에서 가지고 있는 문장이나 구를 선택하는 것이다.
검색어의 주어의 주 구성 단어 코드를 주어나 주제어에서 가지고 있는 문장을 포함하는 정보를 선택한 다음에, 검색어의 주어와 가장 많이 일치하는 단어 코드를 주제어나 주어로 가진 정보를 선택한다(S360). 즉 검색어의 주어인 "nkn-iscinanS"와 가장 많이 일치하는 단어 코드를 가진 정보를 찾는 것이다. 여기서 가장 많이 일치하는 단어는 검색어의 해당 단어 코드를 포함하거나 해당 단어 코드의 구성 요소 단어 코드를 가장 많이 가지고 있는 정보를 의미한다.
구성 요소 단어 코드가 가장 많이 일치하는 단어 코드를 비교함에 있어서도, 기본 단어 코드가 단순히 같은 경우 보다 역할까지 가장 많이 일치하는 단어 코드에게 우선 순위를 부여함은 당연하다. 즉 "nkn-iscinanS"이 단어 코드 내에서 "sc"의 기본 단어 코드를 단순히 가지고 있는 단어 보다는, "sc"의 기본 단어 코드를 부사구(-i)에서 가지고 있는 단어가 우선 순위에서 위에 있다는 것이다. 그리고 단어 코드 내에 논리합이나 논리곱이 있으면 이들도 고려되어야 함은 당연하다.
그리고 이렇게 정보가 선택되면, 선택된 문장에서 검색어와 가장 많이 일치하는 정보를 찾는다(S370). 즉 검색어의 “nusP ncaA nmamkpo-fstelolorA stV”와 가장 많이 일치하는 단어를 찾아서, 검색 결과를 표시한다.
한편 가장 많이 일치하는 정보를 찾을 때, 검색어의 주제어의 구성 단어 코드를 별도로 분류하여 정보를 찾을 수가 있다. 예를 들어 검색어가 “엔진(nmamkpo-fstelolorA) 기술(nkn-iscinanS)” 이라고 할 때, “기술”의 단어 코드에서 주구성 단어 코드 "kn"을 제외한 ,구성 단어 코드 "scinan"(an은 구성 단어 코드에 포함되지는 않지만 논리곱이므로 전체 단어 코드에는 포함하는 것이 타당하다.)에 수식어의 역할 코드 "A" 를 부여하여 정보를 찾을 수도 있다. 이렇게 되면 검색어 코드 "nmamkpo-fstelolorA nkn-iscinanS" 가 "nmamkpo-fstelolorAscinanA nknS" 로 변경되어 자료를 찾게 되는 것이다. 이러한 경우는 검색어의 주어의 주 구성단어 코드를 주어나 주제어에서 가지고 있는 문장이나 구가 있을 경우 해당 정보를 찾는 방법중에 하나가 된다. 어떠한 단어를 구성하는 구성요소를 생각해 볼때, 다른 구성 요소가 주구성요소를 수식하는 기능을 하기 때문이다.
또 한편으로 검색어의 주어나 주제어의 단어 코드만 역할 코드를 고려하여 정보를 검색하고, 다른 역할 코드를 가진 단어에 있어서는 역할 코드를 고려하지 않고 구성요소 단어 코드만을 고려하여, 구성 요소 단어 코드가 가장 많이 일치하는 정보를 찾을 수도 있다. 예를 들어 검색어가 “미국(nus)에서 자동차(nca) 엔진(nmamkpo-fstelolor) 기술(nkn-iscinan)이 시작(st) 되었다.”라고 하자. 그러면, 이들을 단어 코드로 바꾸고 역할 코드를 부여하여 나열하면,“nusP ncaA nmamkpo-fstelolorA nkn-iscinanS stV”이 된다. 여기에서 주어인 “nkn-iscinanS”의 단어 코드만 역할 코드를 고려하여 정보를 찾고, 나머지 다른 단어 코드“nusP ncaA nmamkpo-fstelolorA stV”에 있어서는 역할 코드를 고려하지 않고 구성요소 단어 코드만을 고려하여 정보를 찾는 것이다.
이러한 경우는 검색어의 역할 코드 및 단어 코드가 동일한 정보가 없을 경우 그 다음의 우선 순위에 의해 정보를 찾는 방법이 된다. 물론 주어의 단어 코드에서 "nkn" 만 "S"의 역할 코드를 부여하면, 주어의 구성 단어 코드 "scinan"도 역할 코드를 고려하지 않고 구성요소 단어 코드만을 고려하여, 가장 많이 일치하는 정보를 찾는 단어들에 포함시킬 수도 있는 것이다.
한편, 단계(S280)에서 검색어가 문장을 이루면서, 문장 내에 다른 구나 문장이 있는 경우에는 도 2d에 도시된 루틴으로 분기한다.
먼저, 데이터 처리부(122)는 명사, 형용사, 동사 등 중요 단어에 역할 코드를 부여하고 단어 코드로 변경한다(S380). 이 경우에는 문장 내에 다른 문장이나 구가 있으므로, 동일한 기능을 하는 역할 코드라 하더라도 다른 문장이나 구에 있다면 서로 간에 구별을 해 주어야 한다.
예를 들어 검색어가, “1 차 대전(nwawofiPA) 기간(nti-obeenanPA)의 미국(nusP)에서 자동차(ncaA) 엔진(nmamkpo-fstelolorA) 기술(nkn-iscinanS)이 시작(stV) 되었다.”라고 하자. 그러면 이들 검색어에 서로 다른 구나 문장을 구별하여 역할 코드를 부여하고, 단어 코드로 바꾸어야 하며, 그 결과는 다음과 같다. “nwawofiPA nti-obeenanPA nusP ncaA nmamkpo-fstelolorA nkn-iscinanS stV” 즉 “1차 세계 대전”과 “기간”의 단어는 미국을 수식하므로, 전체 문장의 주어인 기술을 수식하는 단어의 역할 코드와는 구별된다.
그리고 데이터 처리부(122)는 문장내에서 검색어와 역할 코드 및 단어 코드가 모두 동일한 정보를 찾은 다음에, 찾은 정보에서 해당 문장이나 해당 문장을 포함하는 정보를 선택하여 검색한다(S390∼S400).
만일 동일한 문장이 없으면, 한 문장 내에서 검색어의 주절과 역할 코드 및 단어 코드가 동일한 정보를 찾는다(S410). 상기 예문에서 보면, “자동차(ncaA) 엔진(nmamkpo-fstelolorA) 기술(nkn-iscinanS)이 시작(stV) 되었다.”가 검색어의 주절이라고 할 수 있으며, 이 주절과 역할 코드 및 단어 코드가 동일한 정보를 찾는다. 동일한 정보를 찾으면, 검색어의 주절을 제외한 나머지 단어 코드에서 가장 많이 일치하는 정보를 찾는다(S420).
그리고 검색어의 주절과 동일한 정보가 없으면, 검색어의 주절, 종속절, 구 등과 역할 코드 및 단어 코드가 가장 많이 일치하는 정보를 찾는다(S430). 이때 각 절이나 구 등에서 가장 많이 일치하는 정보를 찾는 방법은 도 2c의 순서도의 예에 준한다.
다음에는 검색어가 한 개의 구나 문장으로 되어 있을 때, 가장 많이 일치하는 정보를 찾는 제2 실시예에 대하여 설명한다.
도 3에 본 발명의 제2 실시예에 따른 정보 검색 방법이 순차적으로 도시되어 있다.
입력부(11)나 인터페이스부(15)를 통하여 한 개의 구나 절로 이루어진 검색어가 입력되면, 데이터 처리부(122)가 검색어를 구성하는 단어가 구나 절에서 수행하는 기능에 따라 역할 코드를 부여하고 해당하는 단어 코드로 코드화한 다음에, 데이터 베이스(132)를 검색하여 검색어의 역할 코드와 단어 코드가 모두 동일한 구나 절을 가지는 정보를 찾아서 디스플레이부(14)를 통하여 표시한다(S500∼S520).
그러나 동일한 역할 코드나 단어 코드를 가지는 정보가 없는 경우에는 가장 많이 일치하는 정보를 선택한다.
주어의 역할 코드가 k1이고, 그밖에 역할 코드가 k2, k3... kn 이라고 할 때, 각각의 역할 코드를 가진 단어와 가장 많이 일치하는 단어를 선택하는 방법으로 가장 많이 일치하는 정보를 찾는 것이다.
예를 들어 주어의 역할 코드를 가진 검색어가 “기술(nkn-iscinanS)”이라고했을 때, A를 검색어의 주어와 가장 많이 일치하는 단어라고 한다면, A는“기술”이라는 단어의 단어 코드와 가장 많이 일치하는 단어 코드를 가진 단어가 된다.
이 때, 가장 많이 일치하는 단어의 우선 순위를 생각해 볼 수 있다. 제1 단어는 동일한 단어 코드를 가진 단어 즉 동일한 단어이며, 제2 단어는 단어 코드를 포함하는 단어이다. 예를 들어 “기술”이라는 단어 코드가 "nkn-iscinan" 이므로, 단어 코드에 기술이라는 단어의 구성 요소 단어 코드를 모두 포함하고 있는 단어가 기술의 단어 코드를 포함하고 있는 단어이다. 그리고 제3 단어는 주구성 단어 코드가 동일하면서 구성 단어 코드가 가장 많이 일치하는 단어이다. 물론 동일한 구성 요소 단어 코드를 가졌다고 하더라도, 단어 코드 내에서 기본 단어 코드의 역할(단어 코드내에서 기본 단어 코드가 수식어, 서술어, 부사구 등의 역할이 같은 것을 의미함)이 같을 수록, 구성 단어 코드가 가장 많이 일치하는 판단을 하는 기준에서 우선 순위가 높은 것이다. 그리고 제4 단어는 구성 요소 단어 코드가 가장 많이 일치하는 단어이다. 구성 요소 단어 코드가 가장 많이 일치하는 단어 코드는, 단어 코드 내에 기본 단어 코드의 역할을 고려하지 않고, 구성 요소 단어 코드만으로 단어 코드를 비교하는 것이다.
마찬가지로 다른 역할 코드를 가진 단어와 가장 많이 일치하는 단어를 각각 B,C...N이라고 했을 때, 제일 먼저 A를 포함하고 B,C... N을 모두 포함하고 있는 정보를 선택한다. 그리고 A를 포함하고 B,C... N을 모두 포함하고 있는 정보가 없는 경우에는, 다음 우선 순위로 A를 포함하고 B,C... N을 가장 많이 포함하고 있는 정보를 선택한다(S530∼S550).
A를 포함하고 B,C... N을 모두 포함하고 있는 정보가 있는 경우에는 해당 구나 문장을 가진 정보를 선택한다(S560).
다음에는 본 발명의 제3 실시예에 따른 정보 검색 방법에 대하여 설명한다.
도 4에 제3 실시예에 따른 정보 검색 방법이 순차적으로 도시되어 있다. 제3 실시예에 따른 정보 검색 방법은 문장 내에 다른 문장이나 구가 있는 경우의 검색어에 대한 정보를 검색하는 경우에 가장 많이 일치하는 정보를 찾는 방법에 대한 것이다.
입력되는 검색어가 문장을 이루면서 문장내에 절이나 구가 있으면, 위에 기술된 바와 같이, 명사, 형용사, 동사 등 중요 단어에 주절, 종속절, 구 등을 구별할 수 있는 역할 코드를 부여하고 코드화한다(S600∼S610). 그리고 검색어의 역할 코드와 단어 코드가 모두 일치하는 코드를 가지는 정보를 찾는다(S620∼S630).
만일 동일한 정보가 없으면 검색어와 가장 많이 일치하는 정보를 찾는다. 이를 위해, 검색어 내에 각 구나 절들과 가장 많이 일치하는 정보를 선택하게 된다. 즉, α를 검색어의 주절과 가장 많이 일치하는 정보이라 하고, β...γ 등은 검색어의 다른 절이나 구와 가장 많이 일치하는 정보라고 했을 때, α, β...γ를 모두 포함하고 있는 정보를 찾는다(S640∼S660). 그러나 모두 포함하는 정보가 없는 경우에는 α, β...γ를 가장 많이 포함하고 있는 정보를 검색한다(S670).
다음에는 본 발명의 제4 실시예에 따른 정보 검색 방법에 대하여 설명한다.
제4 실시예에 따른 정보 검색 방법은 하나의 논리로서 검색하는 것이다.
하나의 논리는 주어, 수식어, 서술어, 부사구 등의 일부 혹은 전체가 갖추어져서 하나의 개념이 만들어진 것이다. 따라서 검색어가 하나의 논리를 이루었을 때, 이 논리를 검색하고자 하는 논리라고 할 수 있다.
따라서 검색하고자 하는 논리가, 검색 대상의 정보에서 주어로서 존재하던가, 부사구로서 존재하던가, 혹은 수식어의 기능으로서 존재하는 가는 중요하지 않을 수 있다. 즉 문장의 어느 곳에 위치하더라도, 검색하고자 하는 논리를 가지고 있으면, 검색하고자 하는 정보가 되는 것이다.
예를 들어 검색어가 “1 차 대전(nwawofi) 기간(nti-obeenan)의 미국(nus)”이라고 한다면, "1차 대전 기간의 미국"은 불완전하지만 하나의 논리가 된다. 주제어와 수식어가 있기 때문이다. 이때 이 논리가 정보를 검색하고자 하는 대상에서, 주절의 주어에 존재할 수 있으며, 부사구에도 존재할 수 있으며, 수식어의 기능에도 존재할 수가 있다.
예를 들어 “자동차 기술이 발전된 시기는 1차 대전 기간의 미국이다.”, “1차 대전 기간의 미국의 자동차 기술” 혹은 “자동차 엔진은 발전되었으나, 이때 1차 대전 기간의 미국은 불안하였다.”등과 같이 “1차 대전 기간의 미국”이라는 논리는 문장의 여러곳에서 사용이 가능하다. 따라서 이러한 경우에도 정보를 검색 할 수 있는 방법은 매우 중요하다.
도 5에 제 4 실시예에 따라 하나의 논리로서 정보를 검색하는 방법이 순차적으로 도시되어 있다.
검색어가 입력되면 데이터 처리부(122)는 역할 코드 및 단어 코드를 부여하여 검색어를 단어 코드로 변경한다(S700). 그리고 검색어와 단어 코드 및 역할 코드가 동일한 정보를 찾는다(S710∼S720).
만일 동일한 정보가 없으면, 검색어의 주어나 주제어를 제외한 나머지 단어를 선택한다(S730). 그리고 선택된 단어와 동일한 정보가 있는가를 검색한 다음 선택된 정보에서 수식하는 단어를 선택한다(S740∼S750).
한편, 검색어에서 주제어나 주어의 역할을 가진 단어를 제외한 단어와 동일한 정보가 없으면, 선택된 단어의 단어 코드와 가장 많이 일치하는 정보를 찾는다(S760). 즉 검색어에서 주제어를 제외한 다른 단어들과 가장 많이 일치하는 정보를 선택하는 것이다.
그리고 위의 단계(S750 또는 S770)에서 선택된 단어가 수식하는 단어를 검색어의 주제어 혹은 주어와 비교한다(S780).
따라서 선택된 단어가 수식하는 단어가 검색어의 주제어 혹은 주어와 동일하거나(S790), 선택된 단어가 검색어의 주제어 혹은 주어와 가장 많이 일치하는 정보가(S800), 검색어가 검색하고자 하는 최종 정보가 된다(S810).
본 실시예어서 사용된 가장 많이 일치하는 단어나 정보를 검색하는 방법은, 본 발명의 앞의 실시 예와 개념상 동일함은 당연하다.
이러한 정보 검색의 예를 들어 보겠다. 검색어가 “1 차 대전(nwawofi) 기간(nti-obeenan)의 미국(nus)”인 경우, 이를 “nwawofiA nti-obeenanA nusS”와 같이 단어 코드로 변경할 수 있다. 이때 검색 대상의 정보에서 상기와 같은 단어 코드 및 역할 코드를 가지거나, 가장 많이 일치하는 정보를 검색하는 것이 정보 검색의 목적이다. 그러나 상기와 같은 단어 코드가 문장의 여러 위치에 있을 수가 있으므로, 우선은 검색어에서 주어나 주제어를 제외한 나어지 단어 코드인 “nwawofiA nti-obeenanA”로 역할 코드 및 단어 코드가 가장 많이 일치하는 정보를 검색하고, 그 다음에 “nus”의 단어 코드를 가지는 정보를 검색하는 것이다, 즉“nus”의 단어의 역할 코드는 고려하지 않고 정보를 찾는 것이다.
따라서 검색어 코드가“nwawofiA nti-obeenanA nusS”라고할 때, 도 7의 알고리즘에 의하여 정보를 검색하면, “nwawofiA nti-obeenanA nusP”, “nwawofiA nti-obeenanA nusA”, “nwawofiA nti-obeenanA nusV”등의 정보도 검색이 된다. 즉 검색된 정보가 검색어의 수식어와는 역할 코드는 같더라도, 검색어의 주제어와는 역할 코드가 다를 수가 있는 것이다.
다음에는 본 발명의 제5 실시예에 따른 정보 검색 방법에 대하여 설명한다.
제5 실시예에 따른 정보 검색 방법은, 검색어가 2개 이상이고 각각의 단어에 역할 코드를 부여할 수 있는 경우에 정보를 검색하는 방법에 대한 것이다.
도 6에 본 발명의 제5 실시예에 따른 정보 검색 방법이 순차적으로 도시되어 있다.
검색어가 입력되면 위에 기술된 바와 같이 역할 코드를 부여하고 단어 코드로 코드화한다(S900). 검색어와 동일한 정보를 검색하고(S910∼S920), 동일한 정보가 없으면 검색어 내에 역할 코드가 동일한 단어가 2 개 이상 있는가를 판단한다(S930).
검색어 내에 역할 코드가 동일한 단어가 2개 이상 없는 경우에는, 역할 코드가 같으면서 단어 코드가 가장 많이 일치하는 정보를 검색한다(S940). 여기서 가장많이 일치하는 정보를 검색하는 방법은 도 3의 순서도에 준한다.
검색어 내에 역할 코드가 동일한 단어가 2 개 이상 있으면 이들 단어를 하나로 묶는다(S950). 여기서 하나로 묶는 것은 두개의 단어 코드를 하나의 단어 코드로 만든다는 의미는 아니다.
즉, 정보를 검색할 때, 역할 코드가 같으면, 이를 하나의 단어 처럼 검색을 한다는 의미이다. 예를 들어 검색어 코드가 “nwawofiA nti-obeenanA nusS”와 같다면, "A"의 역할 코드를 가진 단어가“nwawofiA nti-obeenanA”로 두개 이므로 이들을 논리합의 개념으로 묶어서 정보를 검색한다는 의미이다. 즉 검색 대상의 정보에서 "A"의 역할 코드를 가지면서, “nwawofiA nti-obeenanA”의 단어 코드와 동일하거나 포함하는 정보 이거나,“nwawofiA nti-obeenanA”의 단어 코드와 가장 많이 일치하는 정보를 검색하는 것이다. 가장 많이 일치하는 정보는 구성 요소 단어 코드가 가장 많이 일치하면서, 구성 요소 단어 코드의 역할 코드도 가장 많이 일치하는 정보를 의미한다.
이와 같이 역할 코드가 같은 단어를 하나로 묶어서 정보를 검색하면, 검색어에서는 “nwawofi, nti-obeenan”의 단어에 포함된 구성 요소 단어 코드가 "A"의 역할 코드를 가진 2 개의 단어로 나뉘어져 있지만, 정보 검색의 대상에서는 "A"의 역할 코드만을 가진다면, 2 개 이상의 단어로 나뉘어져 있어도 정보는 검색이 된다(S960).
이러한 경우는 검색어가 문장을 이루었을 때도 마찬가지이다. 즉 검색어가 “nusP ncaA nmamkpo-fstelolorA nkn-iscinanS stV”와 같을 때에도, 각각의 역할코드별로 단어를 분류하여, 동일한 역할 코드를 가지면서, 동일한 단어 코드를 가지거나, 구성요소 단어 코드가 가장 많이 일치하는 정보를 검색한다.
이외에도 본 발명의 실시예에서 정보 검색 서버(10)가 도 1에서와 같이 인터넷(20)에 연결되는 경우에, 정보 검색 서비스를 제공하는 싸이트를 운영할 수 있으며, 이 경우에 이용자가 정보 입력 장치(30)를 이용하여 인터넷(20)을 통하여 싸이트로 접속하면, 정보 검색 서버(10)는 위에 기술된 바와 같이 정보 검색 동작을 수행하고, 검색된 정보들을 인터넷(20)을 통하여 이용자의 정보 입력 장치(30)로 제공한다.
또한, 본 발명에서 사용되는 단어 코드를 상품 코드에 적용하여 상품 정보 검색 등이 용이하게 이루어지도록 할 수 있다. 예를 들어 인터넷 전자 상거래 분야에서나 상품 및 부품의 관리에서 표준 의미 코드로서의 활용하도록 한다.
다음에는 화학 공업에서 사용되는 상품 혹은 부품의 단어를 위에 기술된 바와 같이 코드화하는 경우를 예로 들어서 설명한다.
화학 공업은 거대한 장치 산업이다. 따라서 하나의 장치를 대표적으로 일컫는 단어도 있고, 하나의 장치를 구성하기 위한 구성 부품을 나타내는 단어도 있다. 즉 이들 각각의 단어에 대해서 각각의 단어가 의미하는 단어를 단어 코드로 바꾸어서 코드화 하여 의미 코드를 만들 수가 있다.
예를 들어,“증류탑”은“액체(liquid, lq)를 가스(gas, gs)로 만들(make, mk)거나 가스를 액체로 만드는 탑(tower, tw)”으로서 이를 기본으로 단어 코드를 만든다면, "ntwmk(gs-flq)(lq-fgs)or" 가 된다. 물론“증류탑”이 사용되는 화학공업 분야에서 “증류탑”은 기본 공정이 되므로, 화학 공업 분야에서“증류”는 기본 단어가 된다. 따라서 화학 공업 분야의 기본 단어“증류(distillation, ds)”의 단어 코드를 사용하여 “증류탑”의 단어 코드를 만들 수 있다. 이 경우 "증류탑"의 단어 코드는 "cindstw" 이 된다. 단어 앞에 "ci"는 화학 공업(chemical Industry)를 나타내는 영역 코드이며, "n"은 명사 코드이다.
따라서 증류탑의 단어 코드는 단어 의미를 가지고 만든 단어 코드 "ntwmk(gs-flq)(lq-fgs)or"와 화학 공업 영역 분야의 단어로서 만든 단어 코드 "cindstw" 2가지가 있게 된다.
한편 “펌프”의 단어 의미는 액체(liquid, lq)나 기체(gas, gs)를 힘(power)으로 움직(move, mv)이는 기계(machine, ma)이므로, 이를 가지고 단어 코드를 만들면, "nma=pomvlqgsor" 가 된다. 이 단어 코드에서 "po"의 기본 단어 코드가 "mv"의 기본 단어 코드 앞에 위치한 이유는 "po"가 "mv"를 수식하는 역할을 하기 때문이다. 즉 "po" 단어와 "mv" 단어가 합쳐져서 "ma" 단어를 수식하는 역할을 한다는 의미이다.
또한 “모터”의 단어 의미는“전기(electricity, el) 등의 힘(power, po)으로 움직(movement, mv)임을 만드는(make, mk) 기계(machine, ma)”이다. 따라서,“모터”의 단어 코드는 “nmamkmv-fpo"가 된다. 상기 단어에서 "mk" 단어 뒤에 "mv" 단어가 위치하는 이유는 "mv" 단어가 "mk"단어의 목적어 역할을 하고 수식어 역할을 하지 않기 때문이다." 한편 단어 코드 앞에 부여된 "n"은 명사를 나타내는 단어 코드이다.
상기와 같이 장치나 부품과 같은 상품에 대한 의미 코드로서 활용하여, 이들 상품의 인터넷 전자 상거래 등에서의 상품 검색 및 부품의 표준화와 관리 등에 사용이 가능하게 된다.
즉, 구매를 하고자 하는 상품이나 부품 혹은 관리를 하고자 하는 상품이나 부품의 표준화된 의미 코드로서 활용할 수가 있다. 또한 이 경우에는 사용자가 원하는 부품의 이름을 정확히 몰라도, 부품의 의미에 해당되는 단어를 입력하면, 검색어가 단어 코드로 바뀌고, 이들 단어 코드에 의하여 원하는 부품의 검색이 이루워지도록 할 수가 있다.
본 발명은 다음의 기술되는 청구 범위를 벗어나지 않는 범위내에서 다양한 변경 및 실시가 가능하다.
이상에서와 같이 본 발명의 실시예에 따라, 정보를 기본 단어로 세분화 한 후에 통일된 코드화 규칙에 따라 코드화 함에 따라, 원하는 정보를 보다 용이하게 검색할 수 있는 효과를 제공한다.
또한, 정보를 나타내는 개념 등을 이용하여도 해당 정보를 용이하게 검색할 수 있으며, 보다 정확하게 해당 정보를 검색할 수 있다.

Claims (12)

  1. 정보를 나타내는 모든 단어들이 기본 단어와 복합 단어로 분류되는 시스템에서,
    정보를 나타내는 단어를 입력하는 입력부;
    정보가 설정된 규칙에 따라 코드화되어 저장되어 있는 데이터 베이스;
    상기 입력부를 통하여 입력되는 검색어가 2개 이상의 단어로 이루어진 문장인 경우에는 상기 검색어의 각 단어가 문장에서 수행하는 역할에 따라 역할 코드를 부여하여 설정된 규칙에 따라 코드화하고, 상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 역할 코드와 단어 코드가 동일한 정보를 찾는 처리 장치
    를 포함하고,
    상기 데이터 베이스에 저장되어 있는 정보를 나타내는 단어들은 역할에 따라 역할 코드가 부여되어 코드화되어 있는 정보 검색 시스템.
  2. 제1항에 있어서,
    상기 처리 장치는 상기 문장으로 이루어지는 검색어를 코드화하는 경우에, 상기 문장을 이루는 단어중에서 의미를 가지는 단어만을 선정하여 역할 코드를 부여하여 코드화하는 것을 특징으로 하는 정보 검색 시스템.
  3. 제1항에 있어서,
    상기 처리 장치는 상기 문장으로 이루어지는 검색어에 구가 있는 경우에는, 각 단어에게 해당 단어가 문장내에서 수행하는 기능과 구내에서의 수행하는 기능이 서로 구별되도록 역할 코드를 부여하는 것을 특징으로 하는 정보 검색 시스템.
  4. 제1항에 있어서,
    상기 처리 장치는 상기 검색어가 두 개 이상의 문장으로 이루어지는 경우에, 상기 문장이 서로 구별되도록 각 문장을 이루는 단어들에게 역할 코드를 부여하는 것을 특징으로 하는 정보 검색 시스템.
  5. 제1항에 있어서,
    상기 처리 장치는 상기 검색어의 역할 코드와 단어 코드가 동일한 정보가 없는 경우에, 상기 역할 코드가 동일하면서 단어 코드가 가장 많이 일치하는 정보를 찾는 것을 특징으로 하는 정보 검색 시스템.
  6. 정보가 다수의 단어로 이루어지는 문장들로 이루어지고, 각 문장을 구성하는 단어들은 문장내에서의 기능에 따라 역할 코드가 부여되면서 설정된 규칙에 따라 단어 코드로 코드화되어 있는 데이터 베이스를 포함하는 시스템의 정보 검색 방법에서,
    검색어가 입력되면 상기 검색어가 다수의 단어로 이루어지는 문장인지를 판단하는 단계;
    상기 검색어의 각 단어가 문장에서 수행하는 역할에 따라 역할 코드를 부여하여 설정된 규칙에 따라 코드화하는 단계;
    상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 검색어의 각 단어들의 역할 코드와 단어 코드가 동일한 정보를 찾는 단계
    를 포함하는 정보 검색 방법.
  7. 제6항에 있어서,
    상기에서 검색어의 역할 코드와 단어 코드가 모두 동일한 정보가 없는 경우에, 상기 검색어의 문장을 이루는 단어들을 주구성 단어 코드와 구성 단어 코드로 나누고, 주구성 단어 코드가 동일한 정보 중에서 구성 단어 코드가 가장 많이 일치하는 정보를 찾는 단계
    를 더 포함하는 정보 검색 방법.
  8. 제6항에 있어서,
    상기에서 검색어의 역할 코드와 단어 코드가 모두 동일한 정보가 없는 경우에, 상기 검색어의 단어 중에서 주제어 또는 주어를 제외한 단어의 역할 코드와 단어 코드가 가장 많이 일치하는 정보를 선택하는 단계;
    검색된 정보가 수식하는 단어 코드가 검색어의 주제어 혹은 주어와 동일하거나, 선택된 단어가 수식하는 단어 코드가 검색어의 주제어 혹은 주어와 가장 많이일치하는 정보를 검색하는 단계
    를 더 포함하는 정보 검색 방법.
  9. 제6항에 있어서,
    상기 검색어를 구성하는 단어 중에서 역할 코드가 동일한 단어가 있는 경우에는, 역할 코드가 동일한 단어를 서로 묶어서 상기 검색어의 역할 코드와 같으면서 구성 단어 코드가 가장 많이 일치하는 정보를 검색하는 것을 특징으로 하는 정보 검색 방법.
  10. 제6항에 있어서,
    검색어의 주어와 역할 코드 및 단어 코드가 모두 동일하면서 나머지 단어와 가장 많이 일치하는 정보를 찾는 단계를 포함하는 정보 검색 방법.
  11. 제6항에 있어서,
    검색어의 주어의 주구성 단어 코드를 주어나 주제어에서 가지고 있는 정보를 선택하는 단계를 더 포함하는 정보 검색 방법.
  12. 제6항에 있어서,
    검색어의 주어의 역할 코드가 K1이고, 그 밖에 역할 코드가 K2, K3, K4, …Kn이라고 할 때, 각각의 역할 코드를 가진 단어와 가장 많이 일치하는 정보를 선택하는 단계를 더 포함하는 정보 검색 방법.
KR10-2000-0038709A 2000-07-06 2000-07-06 정보 검색 시스템과 그 방법 KR100378642B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR10-2000-0038709A KR100378642B1 (ko) 2000-07-06 2000-07-06 정보 검색 시스템과 그 방법
AU2001264363A AU2001264363A1 (en) 2000-07-06 2001-06-12 Information searching system and method thereof
PCT/KR2001/001000 WO2002010977A1 (en) 2000-07-06 2001-06-12 Information searching system and method thereof
CNB018090613A CN100495391C (zh) 2000-07-06 2001-06-12 信息查询系统及其方法
US10/312,518 US20030225751A1 (en) 2000-07-06 2001-06-12 Information searching system and method thereof
CNB2005100521442A CN100437574C (zh) 2000-07-06 2001-06-12 信息查询系统及其方法
US11/397,964 US20060195433A1 (en) 2000-07-06 2006-04-03 Information searching system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0038709A KR100378642B1 (ko) 2000-07-06 2000-07-06 정보 검색 시스템과 그 방법

Publications (2)

Publication Number Publication Date
KR20020004639A KR20020004639A (ko) 2002-01-16
KR100378642B1 true KR100378642B1 (ko) 2003-03-31

Family

ID=19676684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0038709A KR100378642B1 (ko) 2000-07-06 2000-07-06 정보 검색 시스템과 그 방법

Country Status (1)

Country Link
KR (1) KR100378642B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100972479B1 (ko) * 2008-07-25 2010-07-26 에스케이커뮤니케이션즈 주식회사 기계학습을 통한 데이터베이스 생성 방법, 이를 이용한콘텐츠 추천 방법 및 콘텐츠 추천 시스템
CN104504110B (zh) 2014-12-30 2019-05-03 百度在线网络技术(北京)有限公司 搜索方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980701598A (ko) * 1995-01-23 1998-05-15 에버세드 마이클 정보 액세스 방법 및 시스템(methods and/or systems for acessing informatiom)
JPH11120193A (ja) * 1997-10-15 1999-04-30 Nippon Telegr & Teleph Corp <Ntt> 自然文検索方法および装置と自然文検索プログラムを記録した記録媒体
KR20000033464A (ko) * 1998-11-24 2000-06-15 정선종 한국어 개념분류체계 구축방법과, 수정방법 및 구축장치
KR20000036501A (ko) * 2000-03-17 2000-07-05 김충호 인터넷 검색 프로그램
KR20010107113A (ko) * 2000-05-25 2001-12-07 서정연 자연어 정보 검색 시스템에서 구문 트리를 이용한 자연어질의의 불린 질의 및 벡터 질의 변환 방법
KR100312591B1 (ko) * 1998-05-25 2001-12-12 오길록 정보 검색에서의 질의 형식화 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980701598A (ko) * 1995-01-23 1998-05-15 에버세드 마이클 정보 액세스 방법 및 시스템(methods and/or systems for acessing informatiom)
JPH11120193A (ja) * 1997-10-15 1999-04-30 Nippon Telegr & Teleph Corp <Ntt> 自然文検索方法および装置と自然文検索プログラムを記録した記録媒体
KR100312591B1 (ko) * 1998-05-25 2001-12-12 오길록 정보 검색에서의 질의 형식화 방법
KR20000033464A (ko) * 1998-11-24 2000-06-15 정선종 한국어 개념분류체계 구축방법과, 수정방법 및 구축장치
KR20000036501A (ko) * 2000-03-17 2000-07-05 김충호 인터넷 검색 프로그램
KR20010107113A (ko) * 2000-05-25 2001-12-07 서정연 자연어 정보 검색 시스템에서 구문 트리를 이용한 자연어질의의 불린 질의 및 벡터 질의 변환 방법

Also Published As

Publication number Publication date
KR20020004639A (ko) 2002-01-16

Similar Documents

Publication Publication Date Title
US6662152B2 (en) Information retrieval apparatus and information retrieval method
JP5481615B2 (ja) 使用者の意図に基づく情報検索方法及び情報提供方法
JPH0869470A (ja) 自然言語処理装置及びその方法
JP2008527509A (ja) マルチリンガル情報検索のためのシステム、方法、ソフトウエア、およびインタフェース
WO2005041068A1 (ja) 質問応答型文書検索のためのシステム及び方法
WO2013134871A1 (en) System and method for conversation-based information search
JP2015511746A5 (ko)
KR100396826B1 (ko) 정보검색에서 질의어 처리를 위한 단어 클러스터 관리장치 및 그 방법
EP2306333A1 (en) Offline software library
JP4967037B2 (ja) 情報検索装置、情報検索方法、端末装置、およびプログラム
JP4768882B2 (ja) 情報検索装置、情報検索方法、情報検索プログラム、および、情報検索プログラムを記録した記録媒体
JP4116599B2 (ja) 質問応答システム、方法及びプログラム
JP4162223B2 (ja) 自然文検索装置、その方法及びプログラム
JP4499179B1 (ja) 端末装置
KR100378642B1 (ko) 정보 검색 시스템과 그 방법
JP2008077252A (ja) 文書ランキング方法、文書検索方法、文書ランキング装置、文書検索装置、及び記録媒体
JPH08129554A (ja) 関係表現抽出装置および関係表現検索装置
JP5439028B2 (ja) 情報検索装置、情報検索方法、およびプログラム
KR20100068964A (ko) 연관 질의어 추천 장치 및 방법
JP4153843B2 (ja) 自然文検索装置、自然文検索方法、自然文検索プログラム及び自然文検索プログラム記憶媒体
KR100494113B1 (ko) 웹 브라우저를 이용한 정보 검색 시스템
JP2006139484A (ja) 情報検索方法及びそのシステム並びにコンピュータプログラム
JP2519121B2 (ja) 情報検索装置
KR100372299B1 (ko) 정보 저장 및 검색 시스템과 그 방법
KR100421530B1 (ko) 정보 검색 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120321

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee