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

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

Info

Publication number
KR20020018326A
KR20020018326A KR1020000051598A KR20000051598A KR20020018326A KR 20020018326 A KR20020018326 A KR 20020018326A KR 1020000051598 A KR1020000051598 A KR 1020000051598A KR 20000051598 A KR20000051598 A KR 20000051598A KR 20020018326 A KR20020018326 A KR 20020018326A
Authority
KR
South Korea
Prior art keywords
word
code
information
words
role
Prior art date
Application number
KR1020000051598A
Other languages
English (en)
Inventor
김시환
Original Assignee
김시환
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김시환 filed Critical 김시환
Priority to KR1020000051598A priority Critical patent/KR20020018326A/ko
Publication of KR20020018326A publication Critical patent/KR20020018326A/ko

Links

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/35Clustering; Classification
    • G06F16/353Clustering; Classification into predefined classes

Abstract

본 발명은 정보 검색 시스템과 그 방법을 개시한다.
정보 혹은 단어에 대한 특성 설명이 다수의 단어로 이루어워지고, 다수의 단어들은 각각의 역할에 따라 역할 코드가 부여되면서 설정된 규칙에 따라 코드화되어, 코드화된 단어 코드가 꼬리표의 형태로 해당 정보 혹은 단어와 연결되어 저장되어 있는 데이터 베이스를 포함하는 시스템의 정보 검색 방법에서, 검색어가 입력되면 상기 검색어의 각 단어에, 각 단어가 수행하는 역할에 따라 역할 코드를 부여하고, 상기 검색어를 설정된 규칙에 따라 코드화하는 단계; 상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 검색어의 각 단어들의 역할 코드와 단어 코드가 동일하거나 가장 많이 일치하는 정보 혹은 단어를 찾는 단계를 포함한다.
이러한 본 발명에 따르면 찾고자 하는 정보의 개념을 이용하여 원하는 정보를 신속하고 정확하게 찾아낼 수 있다.

Description

정보 검색 시스템과 그 방법{INFORMATION STORING AND RETRIEVAL SYSTEM AND METHOD THEREOF}
본 발명은 정보 검색 시스템과 그 방법에 관한 것으로 더욱 상세하게 말하자면, 정보 혹은 단어의 특성 설명이 단어 코드화되어 꼬리표의 형태로 해당 정보 혹은 단어와 연결되어 저장되어 있는 특성 단어 데이터 베이스를 포함하는 검색 시스템 및 정보 검색 방법에서, 개념을 이용하여 정보를 검색하는 검색 시스템 및 그 방법에 관한 것이다.
최근에는 인터넷을 통한 정보 교환이 급격히 증가되고 있으며, 이에 따라 인터넷 상에서 원하는 정보를 신속하고 정확하게 찾아낼 수 있는 다양한 검색 엔진 들이 개발되고 있다.
그러나 현재의 검색 엔진들은 입력되는 단어와 일치되는 정보만을 검색하기 때문에, 인터넷 이용자들이 찾고자 하는 정보와 일치되는 단어를 모르는 경우에는 원하는 정보를 용이하게 찾을 수 없는 경우가 발생하며, 이에 따라 원하는 정보를 신속하고 정확하게 찾아낼 수 없게 된다.
그러므로, 본 발명의 목적은 원하는 정보를 신속하고 정확하게 찾아낼 수 있도록 하기 위한 것이다.
또한, 본 발명의 다른 목적은 정보 혹은 단어의 특성을 설명하는 적어도 2개 이상의 단어로 이루어진 각 단어들을 단어 코드로 바꾸어, 해당 정보 혹은 단어의 꼬리표 형태로 저장하며, 저장된 정보에서 해당 정보를 검색어를 이용하여 용이하고 정확하게 검색하고자 하는데 있다.
도 1은 본 발명의 실시예에 따른 정보 검색 시스템의 블록도이다.
도 2는 본 발명의 제1 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
도 3은 본 발명의 제2 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
도 4는 본 발명의 제3 실시예에 따른 정보 검색 방법을 나타내는 순서도이다.
이러한 기술적 과제를 달성하기 위한, 본 발명의 특징에 따른 정보 검색 시스템은, 정보를 나타내는 모든 단어들이 기본 단어와 복합 단어로 분류되는 시스템으로, 정보를 나타내는 단어를 입력하는 입력부; 정보 혹은 단어에 대한 특성을 설명하는 단어들이 설정된 규칙에 따라 코드화되어, 코드화된 단어 코드가 해당 정보 혹은 단어의 꼬리표 형태로 저장되어 있는 특성 단어 코드 데이터 베이스; 상기 입력부를 통하여 입력되는 검색어의 입력단어를 설정된 규칙에 따라 코드화하고 역할 코드를 부여하며, 상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 역할 코드와 단어 코드가 동일하거나 가장 많이 일치하는 정보를 찾는 처리 장치를 포함하고, 상기 특성 단어 코드 데이터 베이스에 저장되어 있는 정보 혹은 단어의 특성을 설명하는 단어들은 역할에 따라 역할 코드가 부여되어 코드화되어 있다.
상기 처리장치에서 정보 혹은 단어의 특성을 설명하는 단어들을 코드화하기 위해서는, 설명 단어들 중에서 의미를 가지는 단어들을 추출하여 단어 코드로 변경하고 역할 코드를 부여한다.
그리고, 상기 처리 장치에 의하여 검색어의 단어 코드와 동일하거나 가장 많이 일치하는, 꼬리표를 가지는 정보 혹은 단어가 선택되는 단계: 선택된 단어 혹은 정보를 근거로 2차 검색을 실시하는 단계를 포함한다.
이외에도 검색하고자 단어를 검색어로서 입력하는 단계; 검색어로 입력된 단어의 특성 단어 코드로 정보를 검색하는 단계를 더 포함한다.
한편, 검색어로서 입력된 단어의 특성 단어 코드로 정보를 검색할 때, 특성 단어 코드의 논리가 2 개 이상인 경우에는 각각의 논리를 논리합의 개념으로 검색한다.
또한, 본원 발명의 다른 특징에 따른 정보 검색 방법은,
정보 혹은 단어에 대한 특성을 설명하는 단어들이 설정된 규칙에 따라 코드화되어, 코드화된 단어 코드가 해당 정보 혹은 단어의 꼬리표 형태로 저장되어 있는 특성 단어 코드 데이터 베이스를 포함하는 시스템의 정보 검색 방법으로,
저장된 정보 혹은 단어의 종류에 따라 정보 혹은 단어의 특성을 설명하는 단어들의 역할 코드의 종류가 다르게 부여되어 저장되어 있는 특성 단어 코드 데이타 베이스; 검색어로 입력된 정보 혹은 단어의 종류에 따라서도 역할 코드의 종류가 다르게 부여되어 코드화되는 단계; 상기 입력부를 통하여 입력되는 검색어를 설정된 규칙에 따라 코드화하고 역할 코드를 부여하며, 상기 코드화된 검색어를 토대로 상기 데이터 베이스를 검색하여 상기 역할 코드 및 단어 코드와 동일하거나 가장 많일 일치하는 정보를 찾는 처리 장치를 포함한다.
그리고, 검색하고자 하는 정보 혹은 단어가 제품일 경우에는, 입력자가 원하는 제품의 제품명과 제품의 특성을 단어로 입력하는 단계; 검색어로 입력된 단어에서 제품명을 나타내는 단어를 선택하여 역할 코드를 부여하는 단계를 포함한다.
또한, 제품명이 선택되면, 해당 제품에 맞는 역할 코드를 설정하는 단계;검색어로 입력된 단어의 분석을 실시하여, 입력된 단어에서 각각의 단어의 역할을 분류하고, 입력된 단어를 단어 코드로 변경하고 각각의 단어 코드에 역할 코드를 부여하는 단계; 상품의 특성 단어 코드 데이타 베이스에서 입력된 단어의 역할 코드 및 단어 코드와 동일하거나 가장 많이 일치하는 상품을 선택하는 단계를 포함한다.
그리고, 데이타 베이스에는 정보 혹은 단어의 종류에 따라 역할 코드의 종류가 저장되어 있으며, 또한 데이타 베이스에는 각각의 역할 코드 마다, 각 역할 코드에 해당되는 단어가 저장되어 있다.
이외에도, 검색어의 입력 단어가 n개의 문장일 때, 제 1 문장의 단어 코드및 역할 코드와 가장 많이 일치하는 정보를 k1이라 하고, 제 2 문장의 단어 코드 및 역할 코드와 가장 많이 일치하는 정보를 k2라고 하고, 그 밖에 제 n 문장의 단어 코드 및 역할 코드와 가장 많이 일치하는 정보를 kn이라고 하면, 이들 k1, k2, ... kn을 각각 검색할때, k1, k2...kn 을 가장 많이 가지고 있는 특성 단어를 검색하는 단계를 포함한다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 가장 바람직한 실시예를 상세히 설명한다.
본 발명은 검색어로 입력된 단어의 의미나 논리를 이용한 개념 검색을 제공하는 것이다.
통상 대부분의 단어는 다른 단어로 나타낼 수가 있게 된다. 즉 A 라는 단어를 A와 다른 B,C,D... 의 단어로 설명할 수가 있다. 이때 설명을 하기 위해 사용되는 단어를 일정한 숫자의 단어로 한정할 수가 있다. 즉 정해진 일정 수의 단어를 가지고 다른 대부분의 단어를 설명할 수가 있는 것이다. 여기서 정해진 일정 수의 단어를 기본 단어라고 할 수 있다. 따라서 기본 단어에 각각의 코드를 부여하면, 기본 단어 코드가 완성된다.
그리고 기본 단어로 대부분의 단어를 나타낼 수 있으므로. 대 부분의 단어를 기본 단어 코드로 나타낼 수 있게 된다. 통상의 단어를 기본 단어 코드로 나타내므로서, 통상의 단어가 단어 코드로 표현되는 것과 같은 효과를 가지므로, 단어 코드가 완성이 되는 것이다.
이때 통상의 단어를 기본 단어 코드로 나타내는 방법을 합리적으로 고안하여표준화된 단어 코드 체계를 완성할 수 가 있다.
합리적인 코드 체계를 설명하기 위하여 단어 코드 제작의 예를 들어 볼 수 있다. 예를 들어 "판막"은 의학(medicine, me)분야의 단어로서 "심장(ha, heart)에서(-i, in) 피(bl, blood)의 흐름(fl, flow)을 조절(co, control)하는 기관(or, organ)"을 의미한다. 이때 "판막"을 단어 코드로 나타내기 위해서는 "판막"을 나타내는 기본 단어의 단어 코드로 나타내면 되는 것이다. 그러나 "심장에서 피의 흐름을 조절하는 기관"과 같이 단어의 설명을 위해서는 단어의 변화형도 존재하고, 조사 등도 존재하게 된다. 하지만 단어를 기본 단어 코드로 나타낼 때는 이러한 변화형이나 조사 등은 생략하고, 기본 단어 코드로만 단어를 나타낼 수가 있다.
즉 "판막"의 단어를 설명하는 단어 중에서, 의미를 가지는 단어 "심장, 피, 흐름, 조절, 기관"으로서 "판막"의 단어를 나타낼 수도 있는 것이다. 이러한 의미를 가지는 단어를 언어학에서는 그 단어의 속성(혹은 요인, Factor 혹은 Entity)이라고 한다. 즉 "판막"의 단어의 속성은 "심장, 피, 흐름, 조절, 기관"이 되며, 이들 속성 단어의 단어 코드를 그대로 사용하여 "판막"의 단어 코드를 만들 수가 있다. 물론 단어의 속성을 나타내는 단어들 사이에도 서로의 역할이 존재하며, 각각의 역할에 따라 위치를 달리하므로서, 좀더 효과적인 단어 코드가 만들어 지는 것이다.
또한 해당 단어가 속하는 분야 예를 들면 "의학 분야"와 같은 영역을 나타내는 코드도 단어 코드에 첨가한다면, 정보의 저장과 이용에 좀 더 효율적이 될 수가 있다.
위와 같은 원리에 의하여 "판막(valve)"의 단어 코드는 "menor=coblfl-ha"가 된다. 맨 앞의 단어 "me"는 의학 분야를 나타내는 단어이고, "n"은 명사라는 품사를 나타내며, "or"은 "기관(organ)”을 나타내고, "co"는 조절(control) 을 나타내고, "bl"은 피(blood)를, "fl"은 흐름(fl)을, "ha"는 심장(heart)을 각각 나타낸다.
그리고 "엔진"의 단어코드도 "엔진"을 설명하는 단어들 중에서 의미를 가지는 단어(속성 혹은 요인 단어)를 선택한다. 엔진을 설명하면,"스팀, 전기, 혹은 기름 등으로부터 동력을 만드는 기계"이며 이들 단어들 중에서 속성 단어(의미를 가지는 단어)를 추출하면, "동력(po, power), 만드는(mk, make), 기계(ma, machine), 스팀(st, steam), 전기(el, electric) 혹은(or) 기름(ol, oil) 부터(-f, from)" 이다. 따라서 이들 속성 단어의 단어 코드로 엔진의 단어코드를 나타내면,"nmamkpo-fstelolor" 이 된다. 다시말해서 "엔진"을 제대로 설명한다면, "스팀, 전기, 혹은 기름으로부터 동력을 만드는 기계"로 나타낼 수 있지만, 이들 단어 중에서 "엔진"이라는 단어의 속성 단어만을 추출하여, 이들 속성 단어의 단어 코드 만으로 "엔진"이라는 단어의 단어 코드를 나타내게 되는 것이다.
이렇게 단어 코드를 만드는 방법은 관련 선행 자료 특허인 출원 번호 2000-016986 등에 나타나 있다.
본 발명은 어떠한 단어의 속성 단어를 코드로 만들어, 어떠한 단어를 속성 단어의 코드로 표현하는 것이며, 이러한 속성 단어들도 기본 단어로 한정하는 것이다. 이때 어떠한 단어를 단어 코드로 나타내는 것은 단어가 나타내고자 하는 속성이나 특성을 코드화하여 나타내는 것이기 때문에, 단어 코드를 일종의 꼬리표(tag)와 같이 표현할 수도 있다.
예를 들어 가정용 "냉장고"를 단어 코드로 나타내 보자. 우선 이를 위하여 냉장고의 속성 단어를 추출하는 단계를 밟는다. 즉 "냉장고"는 "낮은(low, lo) 온도(Tempreature, te)에서(in, -i) 음식(food, fd)이나 음료(drink, dr) 등을 보관하는(store, sr)) 용기(box, bx)" 가 된다. 따라서 "냉장고"의 속성 단어를 추출하면, "낮은(lo), 온도(te), 음식(fd), 음료(dr), 보관(sr), 용기(bx)"가 되게 된다. 그러므로 이들 속성 단어의 단어 코드를 가지고 냉장고의 단어 코드를 나타내게 되면, "nbx=srfddror-ilote"가 된다.
그리고 이러한 속성 추출은 단어에서 뿐만 아니라, 문장에서도 추출이 가능하다. 즉 단어의 속성을 추출하여 단어 코드로 나타내었 듯이 문장의 속성을 추출하여 문장의 코드로 나타낼 수가 있다.
예를 들어 "사과를 대형 냉장고에 저장하였다." 라는 문장이 있을 때, 이 문장의 속성 단어는 "사과(apple, ap), 대형(large, lg), 냉장고(nbx=srfddror-ilote), 저장(store, sr)"이 된다. 또한 문장에는 각각의 역할이 있으므로, 문장 내에 각각의 속성 단어에 역할 코드를 부여하게 된다. 따라서 해당 문장을 속성 단어와 각 속성 단어의 역할 코드를 고려하여, 단어 코드로 나타낼 수 가 있다.
이와 같은 원리에 의하여 "사과를 대형 냉장고에 저장하였다."를 단어 코드로 나타내면, "napO algPA nbx=srfddror-iloteP vsrV"가 된다. 한편 각각의 문장에서는 각 단어 코드의 역할 코드가 존재하므로, 문장을 단어 코드로 나타낼 때는 각각의 단어 코드의 품사 표시를 나타내는 코드를 생략해도 된다. 이렇게 품사를 나타내는 단어 코드를 생략해서, 상기 문장을 단어 코드로 나타내면, "apO lgPA bx=srfddror-iloteP srV"이 된다.
상기와 같이 여러개의 단어 혹은 문장내에서 각각의 단어 사이에 상호간 기능이 있고, 이들 기능에 따라 역할 코드를 부여하게 되면, 하나의 논리를 만들기 위한 역할이라고도 할 수 있다. 따라서 본 발명에서 문장 혹은 여러개의 단어에 역할을 부여하여 전체를 단어 코드로 만들어 정보를 저장하고 검색하는 것은, 하나의 논리를 근거로 정보를 저장하고 검색하는 것이라고도 할 수 있다.
상기와 같이 통상의 단어를 기본 단어의 단어 코드로 나타내어 정보를 저장하고 검색을 하면, 개념으로 정보를 검색하고 저장하는 효과를 얻을 수가 있게 된다.
도 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)과 연결될 수 있는 다른 통신 장치가 이용될 수도 있다.
먼저, 이러한 구조로 이루어지는 정보 검색 시스템에서, 정보 혹은 단어의 특성을 설명하는 단어들이 코드화되는 것에 대하여 설명한다.
단어 코드를 이용한 정보의 저장과 검색은, 통상적인 정보의 저장과 검색이외에 다양한 형태의 응용이 가능하다. 즉 상품의 검색, 백과 사전 내용의 단어 코드화, 찾고자 하는 사람 검색, 특정 전문 분야에 대한 전문 용어의 지식 정보 시스템 등에 다양한 활용이 가능하다.
따라서 하나의 단어를 반드시 하나의 단어 코드로 나타낼 필요는 없다. 즉 단어 코드의 확장도 얼마든지 가능하다. 본 발명이나 본 발명의 선행 특허에서 나타내는 단어 코드는, 단어 코드로 나타내고자 대상 단어의 속성 단어의 단어 코드를 조합하여 단어 코드를 만드는 것이다. 이때 단어 코드로 나타내고자 하는 단어의 속성 뿐만 아니라, 단어의 특성도 단어 코드로 나타낼 필요가 있게 된다. 이러한 경우는 해당 단어의 특성을 코드화 하는 것이므로 꼬리표(tag)와 같은 효과를 가지게 된다.
본 발명의 선행 자료에서는 어떠한 단어를 단어 코드로 나타낼 때, 나타내고자 하는 단어의 속성을 기본 단어로 나타내고, 이들 기본 단어 코드로 단어 코드를 나타내는 방법을 사용하므로서, 통상 하나의 단어는 하나의 단어 코드에 대응되도록 하는 것을 원칙으로 하고 있다. 물론 단어 코드의 길이가 정해진 것은 아니기 때문에, 단어의 속성이 많으면 단어 코드도 길게 만들어 진다. 하지만 경우에 따라서는 하나의 단어를 설명할 때 상당히 긴 정보로 설명을 할 필요가 있으며, 이럴 경우에는 하나의 단어를 여러개의 단어 코드로 나타낼 필요가 있게 된다.
이렇게 하나의 단어를 여러개의 단어로 나타내는 경우를, 단어의 특성을 단어 코드로 변경하여 나타낸 것이라고 할 수 있다. 물론 이렇게 하나의 단어를 해당 단어의 특성으로 나타낼 때는, 해당 단어를 단어 코드로 나타내었다기 보다는 꼬리표(tag)로 나타내었다고 표현하는 것이 더 정확할 것이다.
실예를 들어, 물리나 화학에서 사용되는 단어인 "분자"를 단어 코드와 꼬리표로 각각 나타내 보겠다. "분자"를 설명하면 "물질을 형성하는 입자로서, 원자로 구성됨."이다 따라서 이들 단어 중에서 속성 단어를 추출하면, "물질(material, mt), 형성(form, fm), 입자(small(sl), basic(bs), material(mt)), 원자(atom, ao)”이다. 따라서 이들 속성 단어를 기본으로 해서 단어 코드를 나타내면, "nmtmtbssl=fm-fao" 가 된다. 여기서 "="의 코드는 동사가 오기 전에 부여된 코드이며, "-f"는 "∼로부터“를 의미하는 코드이다.
한편 "분자"의 특성을 나타내려면, 상당히 여러 가지의 설명이 가능하다. 그러므로 이러한 분자의 특성을 모두 단어 코드로 나타낼 경우, 이들 특성 단어를 모두 한 단어 코드로 나타내는 것은 무리가 있다. 따라서 이러한 경우에는 꼬리표(tag)로서 나타냄이 바람직하다. 물론 단어의 특성과 속성을 명확히 구별하기는 어렵다.
단지, 본 발명에서는 하나의 단어를 하나의 단어 코드로 나타내기 위해서, 하나의 단어를 설명하는 단어중에서 속성 단어를 추출하여 이들를 기본 단어로 나타내고, 다시 기본 단어 코드의 조합으로 해당 단어를 나타내고자 하는 과정에서 추출되는 단어를 속성 단어라고 표현하였다. 그리고 어떠한 단어에 대한 다양한 설명을 단어의 특성이라고 할 때, 단어의 특성을 전부 하나의 단어 코드로 나타낸다는 것은 무리가 있게 된다. 이 경우에는 하나의 단어라도 여러개의 단어 코드로 나타낼 수 있음은 당연하겠다. 따라서 이렇게 하나의 단어에 대한 다양한 설명을 여러개의 단어 코드로 나타내기 위하여, 다양한 설명(특성 설명) 중에서 의미를 가지는 단어를 추출할 필요가 있으며, 이와 같이 다양한 설명 중에서 의미를 가지는 단어를 특성 단어라고 표현하였다.
그러므로, 다시 한번 속성 단어와 특성 단어를 구별한다면, 속성 단어는 단어를 설명하기 위해 사용된 단어들 중에서, 구성 요소가 되며 의미를 가지고 있는 단어 들을 추출한 것이며, 특성 단어는 어떠한 정보 혹은 단어에 대한, 좀 더 자세하고 다양한 설명을 하기 위해 사용된 단어 들 중에서, 구성 요소가 되며 의미를 가지고 있는 단어들을 추출한 것이다.
"분자"를 특성 단어로 나타내보면, "물질을 구성하는 입자로서, 원자의 화학 결합에 의하여 만들어지고, 이탈리아의 화학자 아보가드로가 도입하였다. 그리고 물질의 특성을 나타내는 기본이 된다"처럼 나타낼 수가 있다.
여기서 "결합(Combination)"은 "join(jn) tigether(tt)"의 의미이므로, "결합"의 단어 코드는 "jntt" 이 되며, "화학자(chemist)"의 단어의미는 "person(pr) who work chemistry(ct)"이므로 단어 코드는 "prct"가 된다. 그리고 "도입(introduction)"의 뜻은 "make(mk) known(kn) first(fs)" 이므로 "도입"을 단어 코드로 나타내면, "mkknfs"이 된다.
또한 그 밖에 단어의 단어 코드는 각각 "물질(material, mt), 구성하다(compose=form, fm), 화학(chemistry, ct), 입자(material base small, mtbssl), 원자(atom, ao)" 이다.
따라서, "분자"를 꼬리표(tag)인 특성 단어 코드로 나타내 보면 다음과 같이 할 수 있다,
즉, 분자 "maO fmA mtbsslS, mkV aoAP ctAP inttP, 이탈리아(C)A prctA 아보가드로(C)S mkknfiV."의 형태가 된다. 이러한 꼬리표는 나타내고자 하는 단어의 설명 문장을 단어 코드로 나타낸 것이라고 할 수 있다.
여기서 꼬리표이기 때문에 설명하고자 하는 대상이되는 단어 "분자"를 먼저 표기하고 그다음에 " " 의 부호를 사용하여 분자의 특성 단어 코드를 나열하였다. 그리고 단어 코드 뒤에 나타낸 알파벳 대문자는 꼬리표 내에서 각각의 단어 코드의 역할 코드이다. 즉 "O"는 목적어를, "A"는 수식어를, "S"는 주어를, "V"는 서술어를, "P"는 부사어를 각각 나타내는 역할 코드이다. 그리고 "(C)"는 고유 명사를 나타내는 코드이다. 그리고 역할 코드가 두개인 경우에는 주어 이외의 다른 역할을 하는 단어 코드를 서술할 때 이에 대한 구별을 하기 위해서 나타낸 역할 코드이다. 즉 역할 코드가 "AP"이면 부사어를 수식하는 역할 코드를 의미한다.
그리고 꼬리표 내의 단어 코드에 쉼표와 마침표 등도 그대로 사용이 가능하다. 쉼표의 숫자에 의하여 문장의 숫자를 파악할 수 있다.
덧붙여 기본 단어의 설정과 단어 코드 제작 규칙을 이야기할 수 있겠다. 단어에서 "형성하다(form)"와 "구성하다(compose)"의 의미는 다르고, 각각 단어의 사용 용도도 차이가 있다. 하지만 개념은 서로 비슷하다고 할 수 있다. 다라서 "형성하다"와 "구성하다"를 비슷한 단어로 보고 단어 코드를 같게 해도, 개념을 통한 정보 검색의 목적을 달성하는 데에는 충분하다. 즉 본 발명의 기본 개념은 어떠한 단어나 문장의 개념을 추출하여 이 개념을 코드화한 다음에, 코드화된 데이터로서 정보를 검색하는 과정을 포함하는 것이다. 이때 개념을 일정 수의 기본 단어로 추출하는 것이고 이들 기본 단어 코드의 조합으로 단어나 문장을 나타낸 것이 단어 코드가 되는 것이다. 따라서 어떠한 단어의 용도나 뉘앙스 등은 달라도 개념이 같다면, 같은 단어 코드를 부여하므로서 개념 검색의 목적에 충실할 수 있다.
물론 "형성하다"의 단어 코드를 "fm1" 으로 나타내고, "구성하다"의 단어 코드를 "fm2"로 나타내어 같은 기본 단어 코드를 사용하지만 상호 간에 구별을 할 수는 있다. 하지만 이러한 구별은 "fm1"이나 "fm2"가 독자적으로 사용되었을 경우이며, "nmtmtbssl=fm-fao" 처럼 다른 기본 단어 코드 내에 사용될 때는 두 경우 모두"fm"으로 사용되는 것은 당연하다. 왜냐하면 기본 단어의 조합으로 단어 코드를 만들때, 각각의 기본 단어의 자리수를 두자리 정도로 통일하였기 때문이다.
즉 어느 두개의 단어 코드가 같다는 것은 해당되는 단어 코드를 만들기 위한 기본 단어들이 같다는 것이며, 즉 단어 코드의 구성이 되는 기본 단어가 같으면, 단어 코드가 같을 수 밖에 없게 된다. 그러나 이렇게 단어 코드가 같게 될 경우에는 아라비아 숫자 등을 단어 코드 뒤에 부여하여 구별을 할 수 있을 필요가 있을 때는 구별도 가능한 것이다. 하지만 개념을 추출하는 것이 본 발명의 목적이므로, 반드시 구별할 필요는 없을 수도 있다.
또 다른 단어의 예로 "원자핵"의 예를 들어 보겠다.
원자핵을 특성 단어로 나타내 보면, "원자의(aoAP) 중심부에(center, cnP) 있는(be, beV) 작은(samll, slA) 입자(mtbsslV)로서, 그 크기는(size, szS) 원자(aoAV) 전체의(all, alAV) 10만 분의 1 이지만(1/100000V), 원자의 대부분의(most, moAO) 질량을(mass, phmsO) 가지고 있다.(have, hvV)"가 된다. 따라서 이들 특성 단어를 단어 코드로 바꾸어 나타내면, "aoA cnP beV slA mtbsslV, szS aoAV alAV 1/100000V, aoAO moAO phmsO hvV." 이 된다.
여기서 질량(mass)는 기본 단어는 아니지만, 물리(phisics) 분야에서는 기본 단어가 되므로 단어 코드 앞에 물리 분야를 나타내는 영역 코드 "ph"를 부여하여, 질량의 단어 코드는 "phms"가된다.
그러므로 "원자핵"을 꼬리표의 형태로 나타내면 다음과 같다.
즉, 원자핵 "aoA cnP beV slA mtbsslV, szS aoAV alAV 1/100000V, aoAOmoAO phmsO hvV." 의 형태가 된다.
따라서 두개 이상의 단어를 꼬리표로 나타낼 경우에는 다음과 같이 리스트 형태의 나열 방법을 사용하게 된다.
원자핵 "aoA cnP beV slA mtbsslV, szS aoAV alAV 1/100000V, aoAO moAO phmsO hvV."
분자 "maO fmA mtbsslS, mkV aoAP ctAP inttP, 이탈리아(C)A prctA 아보가드로(C)S mkknfiV."
전자"000000 00000 00000 0000 000 "
0000 "000 000 000 00000 000"
상기의 나열 형태를 보면, 먼저 특성을 나타내고자 하는 단어를 표기하고, 그 뒤에 해당 단어의 특성을 나타내는 단어들을 단어 코드로 변환시켜, 꼬리표를 나타내는 부호(" ")와 함께, 꼬리표로서 나타내었다.
이렇게 어떠한 단어의 특성 단어 표기는 일종의 사전이나 백과 사전의 형태라고도 할 수 있다. 즉 여러 단어 들이 나열되고, 각 단어에 대한 특성 단어들이 단어 코드로 바뀐 상태에서 꼬리표(tag)의 형태로 해당 단어 뒤에 연결되어 표기 되는 것이다. 물론 해당 단어의 특성을 단어 코드 형태로만 나타내지 않고, 해당 단어의 특성을 단어로서도 동시에 표현함은 당연하다. 검색어 입력자에게 정보를 표시할 때는 단어 코드가 아니고 단어로서 표시할 필요가 있기 때문이다.
이러한 정보의 표기법은 정보를 저장하고 검색하는 데에 좀 더 상세한 자료를 찾을 수 있도록 해주는 역할을 한다. 즉 어떠한 정보의 내용 이를 테면, "원자핵의 중심부에 있고, 원자의 대부분의 질량을 가짐"이라는 단어를 입력했을 때, 입력 단어는 단어 코드로 변환되고, 변환된 단어코드와 가장 많이 일치하는 정보를 찾게 된다면, 찾아진 정보는 "원자핵"이 될 것이다. 그러면, 원자핵에 관한 좀 더 포괄적인 정보를 추가로 검색하는 것도 가능할 것이다.
여기서 꼬리표의 형태로 나타내는 것이 반드시 하나의 단어에 대해서만 해당되는 것은 아니다. 예를 들어 "2차 대전 당시 인명 피해" 라는 정보에 대한 설명 내용 중에서 특성 단어를 추출하여 특성 단어를 단어 코드로 변경하여 "2차 대전 당시 인명피해" 라는 정보에 대한 꼬리표로서 나타내는 것도 가능할 것이다.
다음에는 이와 같이 다수의 정보 혹은 단어에 대한 특성 단어 코드와 각종 단어에 대한 정보가 저장되어 있는 데이터 베이스를 토대로 하여 정보를 검색하는 방법에 대하여 설명한다.
도 2는 본 발명의 제1 실시예에 따른 정보 검색 방법의 흐름이 도시되어 있다.
즉 원하는 단어 혹은 정보에 대한 특성을 나타내는 단어를 검색어로서 입력하였을 때, 검색어로 입력된 단어에 의하여 원하는 단어 혹은 정보를 1차로 검색하고, 1차 검색된 결과 선택된 단어 혹은 정보를 근거로 2차 검색을 실시하는 순서도이다.
본 실시예를 설명하기 위하여, 단어에 대한 특성을 단어 코드로 변경하여 저장된 데이터를 특성 단어 코드 데이터 베이스라고 하자.
원하는 정보를 검색하기 위해서는 특성 단어 코드 단어 데이터 베이스가 저장된 컴퓨터와 연결한다(S100). 이때 이러한 연결은 특성 단어 코드 데이터 베이스가 저장된 서버와 인터넷을 통해서 하는 수단과, 통상의 컴퓨터와 연결하는 수단을 모두 포함한다.
원하는 정보 혹은 단어에 대한 특성 단어를 검색어로 입력한다(S110). 원하는 정보 혹은 단어의 특성이나 상세 정보 등이 특성 단어에 해당된다. 어떠한 임의의 단어나 정보에 대한 특성 단어로서, "원자의 중심부에 있는 작은 입자로서, 원자의 대부분의 질량을 가지고 있다." 를 입력하였다고 하자. 이러한 입력의 경우는 단어 입력자가 본인이 원하는 단어나 정보를 정확히 모르고, 단어나 정보가 가지고 있는 특징만을 알았을 때, 알고 있는 특징 만을 입력하여 원하는 정보나 단어를 찾는 방법을 제공하게 되는 것이다.
본 실시예의 예에서는 "원자핵" 이라는 단어를 모르고 "원자핵"의 특징(특성)만을 알았을 때, 특징을 검색어로서 입력한 경우의 실시예이다.
검색어로 입력된 단어를 단어 코드로 변경하고 역할 코드를 부여한다(S120). 입력된 단어가 상기와 같이 "원자의 중심부에 있는 작은 입자로서, 원자의 대부분의 질량을 가지고 있다."라고 한다면, 입력 단어에서 특성 단어를 추출하여 각각의 특성 단어에 역할 코드를 부여하고, 각각의 특성 단어를 단어 코드로 변경한다. 이때 변경된 단어 코드는 "aoAP cnP beV slA mtbsslV, aoAO moAO phmsO hvV"이 된다.
입력된 단어의 단어 코드 및 역할 코드와 가장 많이 일치하는 단어 혹은 정보를 특성 단어 코드 데이터 베이스에서 검색하여 선택한다(S130). 단어 코드 데이터 베이스에는 각각의 정보 혹은 단어에 대한 특성 단어가 단어 코드로 변경되어꼬리표(tag)의 형태로 저장되어 있게 된다. 따라서, 입력 단어의 단어 코드와 가장 많이 일치하는 꼬리표를 가지는 단어 혹은 정보를 선택하는 것이다. 본 실시예의 입력 단어 예에서는 "원자핵"이라는 단어가 선택되게 된다.
선택된 단어 혹은 정보를 단어 입력자가 확인하여 최종 선택한다(S140). 입력 단어의 특성에 해당되는 단어는 "원자핵" 이지만, 선택 단어는 "원자핵" 이에의 단어도 선택이 될 수도 있다. 이때 "원자핵" 이라는 단어를 단어 입력자가 최종 선택을 할 수 있도록, 단어 입력자의 화면에는 선택된 단어 혹은 정보가 표시되게 한다. 이때 표시의 방법은 다양할 수 있으나, 통상 선택된 정보 혹은 단어와 해당 단어의 특성이 단어로서 표기된 형태가 된다. 이렇게 하기 위해서는, 특성 단어 코드 데이터 베이스에서는, 어떠한 단어 혹은 정보의 특성을 단어 코드로 바꾸어 저장함은 물론, 단어 혹은 정보의 특성이 단어로서 나타낸 설명 내용도 같이 저장되어 있어야 한다. 따라서 검색 결과 선택된 단어 혹은 정보의 특성이 단어로도 표시될 수 있게 되는 것이다.
선택된 정보 혹은 단어를 근거로 2차 검색을 실시하거나, 선택된 정보 혹은 단어에 대한 상세 정보를 단어 입력자의 화면에 표시한다(S150).
본 발명의 실시예에서 선택된 단어가 "원자핵"이라면, 원자핵을 검색단어로 해서 새롭게 2차 검색을 한다. 그리고 원자핵에 관한 상세 정보를 화면에 표시하는 것이다.
도 2에 나타난 원리를 적용하여 다양한 검색을 할 수 있음은 당연하다. 예을 들면 원하는 식당이나 상품을 검색하는 데에 이용할 수도 있고, 찾고자 하는 사람을 찾을 때도 이용할 수가 있다.
정보를 검색할 때, 다양하고 풍부한 검색은 매우 중요하다. 예를 들어 어떠한 단어를 입력하였을 때, 입력된 단어가 가지고 있는 다양한 특성을 정보 검색의 근간으로 이용할 수가 있다. 예를 들어 검색어의 입력 단어가 "분자" 일 때, 분자의 특성을 단어로서 나타내면, "물질을 구성하는 입자로서, 원자의 화학 결합에 의하여 만들어지고, 이탈리아의 화학자 아보가드로가 도입하였다. 그리고 물질의 특성을 나타내는 기본이 된다." 처럼 나타낼 수가 있다.
이럴 경우 정보의 검색을 "분자"라는 단어로서 실시하지 않고, 좀 더 포괄적인 의미를 사용하여 정보를 검색할 수가 있는 것이다.
즉 분자의 특성인 "물질을 구성하는 입자, 원자의 화학 결합에 의하여 만들어 지는 것"의 개념으로 정보를 검색하는 것이다
이와 관련해서, 본 발명의 제 2 실시예에 따른 정보 검색 방법을 나타내는 순서도는 도 3에 나타내었다. 정보를 검색하고자하는 검색어 입력자는, 특성 단어 코드 데이터 베이스가 저장된 컴퓨터와 연결한다(S200). 이때 이러한 연결은 특성 단어 코드 데이터 베이스가 저장된 서버와 인터넷을 통해서 하는 수단과, 통상의 컴퓨터와 연결하는 수단을 모두 포함한다.
검색하고자 하는 단어를 검색어로 입력한다(S210). 예를 들어 검색하고자 하는 단어가 "분자" 이라면, 검색창에 "분자"를 입력하면 된다.
특성 단어 코드 데이터 베이스에서, 입력 단어의 의미가 2개 이상인가를 판단한다(S220). 입력 단어의 의미가 2개 이상이라는 것은, 검색어로 입력된 단어가2 개 이상의 의미를 가지고 있다는 뜻이다. 예를 들어 "분자"의 단어는 화학에서 사용하기도 하고 수학의 분수에서 사용하기도 한다. 당연히 사용 분야가 다르면, 의미가 다르게 된다.
만일 입력된 단어의 의미가 한개라면, 입력된 단어의 특성 단어 코드로 정보를 검색하고 검색된 정보를 화면에 표시한다(S230∼S240).
만일 입력된 단어의 의미가 2 개 이상이라면, 입력 단어가 가지는 의미를 나열하여 화면에 표시한다(S250). 예를 들어 입력 단어가 분자 라면, 화면에는 다음과 같이 입력된 단어의 의미를 화면에 표시한다.
1. 원자의 화학 결합에 의하여 만들어진다.
2. 수학의 분수 계산에서 사용된다.
3. 000 000 000 000
검색어 입력자가, 나열된 의미에서 검색어로 입력된 단어의 의미를 가지는 항목을 선택한다(S260). 단어 입력자는 원자의 화학결합에 의하여 만들어 진다는 의미로서 "분자" 라는 단어를 입력하였으므로 "1" 번 항목을 선택하게 된다.
이렇게 화면 표시가 가능하기 위해서는, 특성 단어 코드 데이터 베이스에 단어 혹은 정보에 붙여진 특성 단어 코드의 꼬리표 이외에, 단어의 특성을 단어로서 표현하여 저장하기도 하여야 한다. 그래서 해당 단어가 선택되거나 검색되면, 해당 단어의 특성이 단어로서 화면에 표시되는 것이 가능하도록 하는 것이다.
이렇게 선택이 되면, 선택된 의미를 가지는 단어의 특성 단어 코드로 정보를 검색한다(S270). 예를들어 입력 단어가 "분자"이라면, 입력 단어의 특성 단어 코드"maO fmA mtbsslS, mkV aoAP ctAP inttP, 이탈리아(C)A prctA 아보가드로(C)S mkknfiV." 로서 정보를 검색하게 된다. 이때 검색의 방법에서 논리합의 개념을 사용한다. 즉 특성 단어 코드 내에 쉼표가 2개 존재한다. 다시 말해서 특성 단어 코드에는 3개의 문장이 존재하는 것이고, 이것은 3개의 논리가 존재한다고 할 수 있다. 따라서 각각 3개의 논리를 논리합의 개념으로 검색하게 된다.
즉"분자"의 특성 단어 코드를 "maO fmA mtbsslS", "mkV aoAP ctAP inttP", "이탈리아(C)A prctA 아보가드로(C)S mkknfiV" 와 같이 3 개의 부분으로 나누어 각각을 한개의 논리로서 검색하는 것이다. 다시 말해서 "물질의 기본 입자"를 의미하는 특성 단어 코드인 "maO fmA mtbsslS" 만 포함하고 있으면 다른 특성 단어 코드를 포함하고 있지를 않아도 정보는 검색이 된다는 의미이다.
상기와 같은 방법으로 정보가 검색되면, 검색된 정보를 화면에 표시한다(S280).
실시예 1의 개념을 상품 검색에 이용할 수 있다.
예를 들어 모델(model) 명이 SR-AO504인 냉장고의 특성은 "가전 제품에서 냉장고로서 ,용량은 50 L 이고, 삼성전자 제품이며, 가격은 30 만원이고, 1996년 출시 제품“이라고 하자. 따라서 냉장고(SR-AO504)를 단어 코드로 나타내기 위해서는, 냉장고(SR-AO504)제품의 특성을 단어 코드로 나타내는 것이 타당하며, 이 경우에는 단어 코드라기 보다는 일종의 꼬리표(tag)라고 할 수 있다. 즉 냉장고(SR-AO504)의 특성을 단어 코드로 나타내면, 해당 냉장고의 특성을 의미하므로 일종의 꼬리표와 같은 역할을 하게 되는 것이다.
냉장고의 특성을 단어 코드로 나타내기 위해서는 가전 제품 영역을 설정해야한다. 그리고 냉장고 T.V., VTR 등의 기본 가전 제품을, 가전 제품 영역 내의 기본 단어로서 설정하여 단어 코드로 나타낼 수가 있다. 따라서 "가전 제품(electric home appliances)"의 영역 코드를 "eh" 로 할수 있고, 냉장고(refrigerator)의 단어 코드도 "rf"로 나타낼 수 있다. 또한 "가정에서 사용하는 전기 제품“이라는 단어에서, 속성 단어를 추출하여 "가전 제품" 의 단어 코드를 만들 수가 있으나, 여기서는 "가전 제품"의 영역을 나타내는 것이므로 "가전 제품" 자체가 기본 단어가 되며, 따라서 "가전 제품"의 단어 코드도 "eh" 가 되는 것이다. 마찬가지로 "냉장고" 의 단어 코드도 일반적으로는 "bx=srfddror-ilote" 이 되지만, 가전 제품의 영역에서는 "냉장고"가 기본 단어가 되므로, "냉장고"의 단어 코드가 "rf"가 된다.
이와 같은 기본 사항을 근거로 특성이 "가전 제품(electric home appliances, eh)에서 냉장고(refrigerator, rf)로서, 크기(size, sz)는 50 L 이고, 삼성전자 제품(product, npr)이며, 가격(cost, ct)은 30 만원이고, 1996년(year, yr) 제품"인 냉장고(SR-AO504)의 특성을 단어 코드 즉 꼬리표(tag)로 나타내면, "ehP, ehrfS, 50LSZ, 삼성전자(C)CO npr, 300000CT, 1996YR npr"이 된다.
상기 특성 단어 코드에서, "P"는 영역을 나타내는 역할 코드로서, 나타내고자 하는 단어의 영역이 가전 제품(eh)임을 알 수가 있다. 그리고 "S"는 주 속성 즉 주제어를 의미하는 역할 코드로서 나타내고자 하는 단어의 제품명을 나타내는 역할 코드이다. 따라서 제품명이 냉장고(ehrf, eh는 가전 제품 영역을 나타내는 영역 코드로 냉장고의 단어 코드 "rf"앞에 부여하였다.)임을 알 수 있게 된다. 그리고"SZ"는 크기나 용량을 나타내는 역할 코드이다. 또한 "삼성전자(C)CO"에서 "(C)"는 고유 명사를 나타내는 코드이며 "CO"는 회사명을 나타내는 역할 코드이다. "CT"는 가격을 나타내는 역할 코드이고, "YR"은 연도를 나타내는 역할 코드이다.
이와 같이 단어의 특성을 특성 단어 코드로 나타내어 정보의 저장과 검색에 이용하기 위한 방법으로서, 본 발명의 제 3 실시예에 따른 정보 검색 방법을 나타내는 순서도를 도 4 에 나타내었다. 원하는 상품의 특성을 검색어로서 입력하면, 검색어로 입력된 단어와 가장 많이 특성이 일치하는 상품이 선택되는 알고리즘을 나타낸다.
이를 위해서는 상품명과 해당 상품의 특성을 단어 코드로 변환하여 꼬리표(tag)로서 나타내어, 특성 단어 코드 데이터 베이스에 저장되어야 한다. 이 데이터 베이스를 편의상 상품의 특성 단어 코드 데이터 베이스라고 하자.
이러한 상품의 특성 단어 코드 데이터 베이스에서의 저장 형태의 예를 냉장고 제품으로 들어 보면 다음과 같다.
냉장고(SR-AO504) "ehP, ehrfS, 50LSZ, 삼성전자(C)CO npr, 300000CT, 1996YR npr"
냉장고(SR-AO1804) "ehP, ehrfS, 180LSZ, 삼성전자(C)CO npr, 650000CT, 1998YR npr"
냉장고(LR-LO200) "ehP, ehrfS, 200LSZ, LG전자(C)CO npr, 800000CT, 1997YR npr"
냉장고(SR-AO200) "ehP, ehrfS, 200LSZ, 삼성전자(C)CO npr, 800000CT,1997YR npr whCL"
냉장고(00-00000) "ehP, ehrfS, 250LSZ, Westing House(C)CO npr, 2200000CT, 1998YR npr, whCL"
냉장고(00-00000) "000000, 00000, 000000, 000000, 000000"
즉 상품명 혹은 모델명(model)과 함께 해당 상품의 특성을 단어 코드로 변환하여 특성 단어 코드 데이터 베이스에 저장을 한다. 맨 마즈막의 단어 코드 "whCL"에서 "CL"는 색(color)을 나타내는 역할 코드이며, "wh"는 흰색(white, wh)을 나타내는 단어 코드이다. 즉 냉장고의 색이 흰색임을 의미한다. 그리고 역할 코드는 단어 코드와 구별하기 위하여 대문자를 사용하였다.
인터넷을 통해 상품에 대한 정보를 알거나 상품을 구입하고자 하기 위하여 해당 인터넷에 접속을 한다(S300). 접속을 하면, 입력창에 원하는 제품과 원하는 제품의 특성을 검색어로서 입력한다(S310). 이때 음성 변환기(음성 인식 장치) 기능이 부과된 컴퓨터를 사용할 경우 음성 입력도 가능하다.
검색어로 입력된 단어에서 제품명을 나타내는 단어를 선택하여, 역할 코드를 부여하고 해당 단어를 단어 코드로 변경한다(S320). 예를 들어 입력된 단어에 냉장고, 텔레비젼, T.V, VTR 등이 있으면, 이들 단어를 제품명을 나타내는 단어로서 선택을 하는 것이다. 물론 냉장고와 T.V. 와 같이 서로 다른 제품명을 동시에 입력할 수는 없을 것이다. 예를 들어 "180 L 크기의 하얀색의 냉장고 텔레비젼"과 같이 두개 이상의 제품명을 입력하면 않될 것이다. 즉 반드시 하나의 제품명과 원하는 특성을 입력하는 것이다. 이때 비디오, 비데오, VTR 등은 의미가 같으나 표현 방법이 다르며 당연히 이러한 경우에는 제품명의 단어 코드가 동일하게 된다.
이와 같이 제품명을 나타내는 단어의 선택은 제품을 나타내는 단어 데이터 베이스에서 비교 하여 선택을 한다. 즉 입력된 단어 중에서 제품명을 나타내는 단어 인가를 판단하여, 제품명을 나타내는 단어를 선택한다.
제품명을 나타내는 단어를 선택하면, 해당 단어에 제품명을 나타내는 역할 코드를 부여하고 해당 단어를 단어 코드로 변환한다.
제품명이 선택되면, 해당 제품에 맞는 역할 코드를 설정한다(S330). 본 실시예에서 제품의 특성을 나타내는 역할 코드는 제품의 특성을 나타내는 역할 코드이므로 제품의 종류에 따라 역할 코드에서 차이가 있게 된다. 예를 들어 냉장고의 특성을 나타내기 위해서는 용량, 색, 가격 등이 필요 하겠으나, T.V.의 특성을 나타내기 위해서는 음성 다중, 문자 표시, 음량의 종류 등이 필요하다. 따라서 각각의 제품에 대한 특성을 설명하기 위해서는 각각의 제품의 종류마다 특성을 나타내는 역할 코드가 다를 수 밖에 없다. 즉 찾고자 하는 정보의 특징에 따라 역할 코드가 다를 수 밖에 없다. 본 발명의 실시예에 의하여 입력된 단어에서 제품명을 나타내는 단어가 냉장고 이라면, 이에 따르는 역할 코드는 "P, S, SZ, CT, YR, CO, CL" 등이 된다.
검색어로 입력된 단어의 단어 분석을 실시하여, 입력된 단어에서 각각의 단어의 역할을 분류한다. 그런 다음 분류에 따라 각각의 입력 단어를 단어 코드로 변경하고 각가의 단어 코드에 역할 코드를 부여한다(S340∼S350).
예를 들어 입력된 단어가 "삼성전자에서 만든 200 리터 짜리 80 만원대 냉장고이며, 하얀색임" 이라고 가정한다면, 입력 단어에서 제품명을 나타내는 단어를 선택하게 된다. 이러한 선택은 제품명을 나타내는 단어 들의 데이터 베이스에 근거하여 판단을 하게 된다.
입력된 단어의 제품명이 "냉장고" 이므로, 입력 단어중 "냉장고" 를 단어 코드 "ehrf"로 바꾸고 역할 코드 "S"를 부여하여, 입력 단어중에서 "냉장고이며"의 단어를 "ehrfS"로 바꾼다. 이때 냉장고는 가전 제품이므로 당연히 가전 제품을 나타내는 단어 코드와 역할 코드 "ehP"이 추가로 부여 됨은 당연하다.
그리고, 역할 코드 단어 데이터 베이스에는 각각의 역할 코드마다, 각 역할 코드에 해당되는 단어가 저장되어 있다. 예를 들어 회사명을 나타내는 역할 코드 "CO"와 연결되어서는, 냉장고를 제조하는 회사명이 단어 데이터 베이스에 저장되어 있게 된다. 그래서 역할 코드 단어 데이타 베이스를 통하여 입력 단어 중에서 회사명이 선택되면, 해당 단어에 회사명을 나타내는 역할 코드를 부여하게 된다. 그리고 통상 회사명은 고유 명사이므로 회사명은 단어 코드로 변환하지 않고 그대로 사용하게 된다. 상기 입력 단어에서 보면, 회사명은 삼성전자이므로 이 단어가, "삼성전자(C)CO"로 바뀌게 된다. 즉 고유 명사이며 회사명을 나타내는 단어임을 표시하는 것이다.
단어 데이터 베이스에서는 회사명 뿐 아니라, 색을 나타내는 역할 코드와 연결해서 색을 나타내는 단어가 저장되어 있어, 입력 단어 중에서 색을 나타내는 단어가 선택되면, 해당 단어를 선택하고, 해당 단어를 단어 코드로 변환하고 색을 나타내는 역할 코드를 부여한다. 이때 하얀색을 나타내는 단어가 "흰색, 흰, 하얀"등 다양한 형태로 표현이 가능하며, 이러한 경우에는 문법적으로 형태소 분석을 통하여 어원을 추출한 다음에 추출된 어원에 근거하여, 해당 색을 선택하게 된다. 이러한 형태소 분석은 종래에 나와 있는 형태소 분석 프로그램에 의한다.
마찬가지로 용량을 나타내는 단어, 단위에 관련된 단어, 혹은 년도에 관련된 단어 등을 선택하여 각각에 역할 코드를 부여하게 된다. 이때 용량이나 년도 등은 숫자 표기 이므로 해당 숫자를 그대로 표기하고, 용량이나 년도를 나타내는 역할 코드를 각각 부여한다.
이와 같은 원리에 의하여 상기 검색어의 입력 단어 "삼성전자에서 만든 200 리터 짜리 80 만원대 냉장고이며, 하얀색임" 은 단어 코드로 바뀌고 각각의 단어 코드에 역할 코드가 부여된다.
즉 입력 단어는 "ehP, ehrfS, 200LSZ, 삼성전자(C)CO npr, 800000CT, whCO"의 단어 코드 및 역할 코드로 변경되게 된다.
그 다음에는 상품 특성 단어 코드 데이터 베이스에서 입력 단어의 단어 코드와 단어 코드 및 역할 코드가 동일하거나 가장 많이 일치하는, 상품을 선택한다(S360).
여기서 상품 특성 단어 코드 데이터 베이스라 함은 앞의 예에서와 같이 상품명 혹은 모델명(model)과 함께, 해당 상품의 특성을 단어 코드 및 역할 코드로 변경하여 각각의 상품명(모델명)에 꼬리표(tag)의 형태로 나타낸 것이다.
상품 특성 단어 코드 데이터 베이스에서 입력 단어의 단어 코드 및 역할 코드와 동일하거나 가장 많이 일치하는 상품을 검색하여 선택하는 것이다. 이때 단어코드 및 역할 코드가 동시에 같아야 한다. 예를 들면 입력 단어의 "800000"이라는 숫자가 가격을 의미하는 것이라면, 가격을 나타내는 역할 코드를 가진 단어 코드 혹은 숫자와 비교를 해야 하는 것이다. 다시 말해서 "80000"이라는 숫자를 가지고 있지만 역할 코드가 다르다면 동일한 단어 코드로 분류되지가 않는 것이다.
검색어로 입력된 단어 코드 및 역할 코드와 동일하거나 가장 많이 일치하는 상품이 선택되면, 선택된 상품에 해당되는 정보나 사진 등이 화면에 표시되도록 한다(S370).
저장 자료 및 데이터 베이스에는 각각의 상품명이나 모델에 맞는 정보나 사진 등이 저장되어 있어, 입력 단어의 단어 코드 및 역할 코드의 검색 방법으로 선택된 상품명이나 모델에 해당되는 정보를 검색어 입력자에게 표시해주는 것이다.
화면에 표시된 상품을 검색어 입력자가 최종 선택을 하도록 하거나 구매 가능하도록 한다(S380). 입력자는 화면에 표시된 정보를 근거로 최종 선택을 하거나 구매 가능한 작업 공간으로의 이동이 가능하도록 해서 원하는 목적을 달성하도록 하는 것이다.
본 발명은 종래의 인터넷 등을 이용한 상품 구매 사이트에, 단어 코드 및 역할 코드를 활용하는 검색 방법을 적용하여, 검색어 입력자가 원하는 제품과 제품의 특성을 단어로서 입력하면, 해당 상품을 효율적으로 검색하여, 해당 상품에 대한 정보를 얻거나 구입이 가능하도록 하는 알고리즘을 제공하고 있는 것이다.
상기와 같이 특성 단어 코드를 이용한 정보의 검색은, 상기 실시예의 경우 이외에 전공 용어의 검색, 사람 찾기 등의 정보의 검색 등 다양한 활용이 가능하다.
사람 찾기의 예를 들어 보면, "홍 길동"이라는 사람을 찾고 싶다고 가정하고, 해당 사람의 특징이 "1973 년도에 이문동에서 살았고, 청량 초등학교를 1973년에 다녔고, 마을 옆에는 강이 있었다."와 같다라고 하자. 물론 특성의 입력 내용 은 다양한 형태가 됨은 당연하다.
그러면, 사람 찾기 사이트에 연결하여, 입력 창에 찾고자 하는 사람의 특성을 입력한다. 그리고 입력된 특성을 나타내는 단어는 특성 단어이므로, 단어 코드 및 역할 코드 형태로 변경된다. 그리고 사람의 특성 단어 코드 데이터 베이스에서 입력 단어와 동일하거나 가장 많이 일치하는 사람을 검색하게 된다.
즉 상기 예에서 처럼 입력 단어가 "1973 년도에 이문동에서 살았고, 청량 초등학교를 1973년에 다녔고, 마을 옆에는 강이 있었다." 라면, 이들 입력 단어는 다음과 같은 특성 단어 코드로 변경된다. 즉 "1973YR 이문동(C)LAP liV, 청량 초등학교(C)SC 1973YR, vlAP sdP rvS beV."가 된다.
상기에서 "YR"은 년도를 나타내는 역할 코드이며, "LA"는 지역을 나타내는 역할 코드이며, "SC"는 학교를 나타내는 역할 코드이다. 그리고 "P"는 부사, "AP"는 부사를 수식하는 수식어, "S"는 주어, "V"는 서술어를 나타내는 역할 코드이다.
또한 "li"는 "살다(live)"의 단어 코드이며, "vl"은 "마을(village)"의 단어 코드이고, "sd"는 "옆(side)" 의 단어 코드이고, 또한 "rv"는 "강(river)"의 단어 코드이다. 마찬가지로 "be"는 "있다(be)"의 단어 코드가 된다.
따라서 상기와 같이 사람을 나타내는 특성이 특성 단어 코드로 변경되면, 사람의 특성 단어 코드 데이터 베이스에서 입력 단어의 특성 단어 코드와 동일하거나 가장 많이 일치하는 사람을 검색하면 되는 것이다. 특성 단어의 검색은 각각 논리합의 개념으로 검색하는 것은 당연하다. 상기 검색어의 예인 "홍 길동"의 특성 단어에서는 세개의 논리가 있으며, 각각의 논리가 별개로 검색이 되는 것이다. 즉 하나의 논리를 하나의 문장이라고 했을 때, 한 문장을 별개의 개념 혹은 논리로 보고 검색하는 것이다.
즉 상기 예에서 보면, "마을 옆에 강이 있었다." 의 문장을 하나의 개념으로 본다면, "청량 초등학교"나 "1973"은 별개의 논리가 된다. 그러므로 동일 논리(문장) 내에서 역할 코드 및 단어 코드가 가장 많이 일치하는 자료를 검색하는 것이다.
물론 이러한 구별을 위해 각각의 문장에 순서를 부여하므로서, 논리(문장)의 구별을 명확히 할 수 있다. 상기 예는 3개의 문장이므로 각각 순서를 부여하면, 단어 코드는 다음과 같게 된다. "1973YR1 이문동(C)LAP1 liV1, 청량 초등학교(C)SC2 1973YR2, vlAP3 sdP3 rvS3 beV3." 즉 역할 코드 뒤에 1,2,3,의 순서를 부여하여 구별을 하였다.
이러한 예를 수식적으로 표현하면 다음과 같다.
입력 단어가 n개의 문장일 때, "제 1 문장의 단어 코드 및 역할 코드와 가장 많이 일치하는 정보를 k1이라 하고 , 제 2 문장의 단어 코드와 가장 많이 일치하는 정보를 k2라고 하고, 그 밖에 제 n 문장의 단어 코드 및 역할 코드와 가장 많이 일치하는 정보를 kn이라고 할 때, 이들 k1, k2, ... kn을 각각 검색한다."
그리고 k1, k2, ... kn 을 가장 많이 가지고 있는 정보가 입력된 단어와 가장 많이 일치하는 정보가 된다.
이와 같은 정보의 저장과 검색 방법에서 본인이 정보를 입력할 수 있음은 당연하다. 입력 창에 본인의 이름과 전자 우편 주소 및 본인의 특성을 입력하면, 입력된 특성 단어는 특성 단어 코드로 변경되어 본인의 꼬리표로서 저장되도록 할 수 있다.
즉 홍 길동 "1973YR 이문동(C)LAP liV, 청량 초등학교(C)SC 1973YR, vlAP sdP rvS beV." 와 같은 저장 형태가 된다. 다시말해서 "홍 길동"이라는 사람의 꼬리표로서 특성 단어 코드가 존재하는 것이다. 이와 같이 본인이 저장된 자료가 특성 단어 코드 데이터 베이스 형태로 저장되어 본인의 검색에 활용되도록 하는 것이다.
본 발명은 다음의 기술되는 청구 범위를 벗어나지 않는 범위내에서 다양한 변경 및 실시가 가능하다.
이상에서와 같이 본 발명의 실시예에 따라, 정보를 기본 단어로 세분화 한 후에 통일된 코드화 규칙에 따라 코드화 함에 따라, 원하는 정보를 보다 용이하게 검색할 수 있는 효과를 제공한다.
또한, 정보를 나타내는 개념 등을 이용하여도 해당 정보를 용이하게 검색할 수 있으며, 보다 정확하게 해당 정보를 검색할 수 있다.

Claims (9)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000051598A KR20020018326A (ko) 2000-09-01 2000-09-01 정보 검색 시스템과 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000051598A KR20020018326A (ko) 2000-09-01 2000-09-01 정보 검색 시스템과 그 방법

Publications (1)

Publication Number Publication Date
KR20020018326A true KR20020018326A (ko) 2002-03-08

Family

ID=19686788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000051598A KR20020018326A (ko) 2000-09-01 2000-09-01 정보 검색 시스템과 그 방법

Country Status (1)

Country Link
KR (1) KR20020018326A (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950004036A (ko) * 1993-07-19 1995-02-17 세끼자와 다다시 사전검색장치
KR19990052565A (ko) * 1997-12-22 1999-07-15 정선종 자연언어 정보 검색의 어의 모호성 해소 방법
JPH11203293A (ja) * 1998-01-08 1999-07-30 Ricoh Co Ltd 同義語辞書構造および該辞書構造による同義語検索装置並びに該検索装置が用いるプログラムを記録した記録媒体
JPH11224263A (ja) * 1998-02-09 1999-08-17 Fuji Xerox Co Ltd キーワード検索装置及びキーワード検索プログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950004036A (ko) * 1993-07-19 1995-02-17 세끼자와 다다시 사전검색장치
KR19990052565A (ko) * 1997-12-22 1999-07-15 정선종 자연언어 정보 검색의 어의 모호성 해소 방법
JPH11203293A (ja) * 1998-01-08 1999-07-30 Ricoh Co Ltd 同義語辞書構造および該辞書構造による同義語検索装置並びに該検索装置が用いるプログラムを記録した記録媒体
JPH11224263A (ja) * 1998-02-09 1999-08-17 Fuji Xerox Co Ltd キーワード検索装置及びキーワード検索プログラムを記録したコンピュータ読み取り可能な記録媒体

Similar Documents

Publication Publication Date Title
Galvagno et al. Mapping creative tourism research: Reviewing the field and outlining future directions
WO2022022002A1 (zh) 一种信息展示方法、信息搜索方法及装置
Lei et al. Content analysis of TripAdvisor reviews on restaurants: A case study of Macau.
US10956948B2 (en) System and method for hotel discovery and generating generalized reviews
WO1999046698A1 (fr) Processeur de documents et support d'enregistrement
Wang et al. Towards easy comparison of local businesses using online reviews
WO2018152362A1 (en) System and method for providing recommendations to a target user based upon review and ratings data
CN114706987B (zh) 文本类目预测方法、装置、设备、存储介质和程序产品
Georgiev et al. Methodology for creating new scenes through the use of thematic relations for innovative designs
Wissel et al. Telling the story of a collection with visualizations: A case study
JP2023015766A (ja) 検索装置、検索方法及び検索プログラム
Greenberg et al. Knowledge organization systems: A network for ai with helping interdisciplinary vocabulary engineering
JP2016134124A (ja) タグ付与方法、タグ付与装置、プログラム及び質問回答検索方法
CN111339214A (zh) 一种知识库自动构建方法与系统
KR20020018326A (ko) 정보 검색 시스템과 그 방법
Danone et al. Visualizing reviews summaries as a tool for restaurants recommendation
CN108228898A (zh) 海关数据的搜索方法、装置及服务器
KR101520357B1 (ko) 감성 qr 코드를 이용한 개인 맞춤형 컨텐츠 제공 시스템
Pappas et al. Multilingual visual sentiment concept clustering and analysis
Wang et al. Improving hosts’ pre-interaction capabilities for sustainability based on Airbnb host content emergence characteristics
Ackermann et al. Narrative visualization of open data
Kalra Book review: Sharmistha Saha, Theatre and National Identity in Colonial India: Formation of a Community Through Cultural Practice
Lee et al. A Personalized Restaurant Recommendation Based on Topic Modeling of Online Reviews
KR20110084809A (ko) 온톨로지 검색 및 별자리 형태의 사용자 인터페이스를 활용한 gis시스템 및 서비스 방법
KR20000054898A (ko) 컴퓨터를 이용한 멀티미디어 정보검색 방법 및 그 장치

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application