KR20210071501A - 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법 - Google Patents

상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법 Download PDF

Info

Publication number
KR20210071501A
KR20210071501A KR1020190161749A KR20190161749A KR20210071501A KR 20210071501 A KR20210071501 A KR 20210071501A KR 1020190161749 A KR1020190161749 A KR 1020190161749A KR 20190161749 A KR20190161749 A KR 20190161749A KR 20210071501 A KR20210071501 A KR 20210071501A
Authority
KR
South Korea
Prior art keywords
search
correlation
site
sorted
page
Prior art date
Application number
KR1020190161749A
Other languages
English (en)
Other versions
KR102280494B1 (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 KR1020190161749A priority Critical patent/KR102280494B1/ko
Publication of KR20210071501A publication Critical patent/KR20210071501A/ko
Application granted granted Critical
Publication of KR102280494B1 publication Critical patent/KR102280494B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing

Landscapes

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

Abstract

상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법이 제공되며, 사용자 단말로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집하는 단계, 수집된 적어도 하나의 검색 사이트 중 기 설정된 수 및 순서에 대응하는 적어도 하나의 검색 사이트를 추출하는 단계, 추출된 적어도 하나의 검색 사이트 내 포함된 검색 데이터와, 검색 키워드 간의 상호연관성을 산출하는 단계, 산출된 상호연관성이 기 설정된 기준값을 초과하는 단어를 이용하여 검색어 셋(Set)을 생성하는 단계, 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여하는 단계, 및 매칭점수로 정렬된 검색 페이지를 사용자 단말로 리턴하는 단계를 포함한다.

Description

상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법{METHOD FOR PROVIDING INTERNET SEARCH SERVICE SORTED BY CORRELATION BASED PRIORITY SPECIALIZED IN PROFESSIONAL AREAS}
본 발명은 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법에 관한 것으로, 질의자가 원하는 순서대로 전문분야의 검색결과가 정렬되어 표시될 수 있는 플랫폼을 제공한다.
최근 검색엔진과 포털사이트는 새롭고 방대한 지식의 누적으로 정보의 공유가 가능해졌으나, 오히려 정보의 범람에 의해 결국 사용자들은 정확하고 원하는 정보를 얻기가 어려워졌다. 키워드 기반에 의한 질의만 지원하기 때문에 사용자의 정보 요구를 만족시키지 못하며, 사용자의 요구가 아닌 검색엔진의 알고리즘이나 광고주의 니즈에 맞는 우선순위로 결과가 산출되고 있다. 기 설정된 선호도나 광고비에 따른 우선순위로 결과가 출력되면, 사용자는 이제부터 각 검색 페이지를 클릭해가면서 자신이 원하는 내용이 포함되었는지를 일일이 확인해야 한다. 더욱이, 전문분야의 영역을 검색하는 경우에는 자신이 원하는 내용을 검색하기 위한 키워드가 동음이의어인 경우 그 결과는 더욱 복잡방대해지기 때문에 사용자는 울며 겨자먹기로 모든 페이지를 확인해야 한다.
이때, 전문분야의 사용자에게 최적화된 검색 결과를 제공하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국공개특허 제2019-0015797호(2019년02월15일 공개)에는, 검색 키워드가 입력되면, 검색 키워드의 온톨로지 및 주변 단어와의 관계성을 파악하여 자질값을 형성하고, 딥러닝 데이터베이스와 사용기록 데이터베이스에 저장한 후, 딥러닝 훈련을 통하여 최적화된 벡터값을 산출하고, 랭킹 프레임워크 모듈을 통하여 벡터값의 순위를 결정함으로써 사용자에게 최적화된 전문분야의 검색결과를 제공하는 구성이 개시되어 있다.
다만, 상술한 방법을 이용한다고 할지라도 검색 키워드와 주변 단어의 관계성을 파악할 뿐, 사용자가 원하는 우선순위로 검색결과를 출력하는 것은 여전히 어렵다. 그 이유는, 의미 정보를 이용한 것이 아니라 단순히 동시 출현한 횟수를 고려한 결과이기 때문이다. 또, 사용자의 우선순위가 아니라, 검색엔진의 알고리즘에 이미 설정된 우선순위로 페이지 순서가 결정되기 때문에 다시 사용자가 일일이 검색결과 페이지를 클릭하면서 확인하는 단계로 회귀하게 된다. 그리고, 연결성 기반의 알고리즘이 적용된다고 할지라도 오랜동안 인기가 지속되어 온 문서에 유리한 구조이기 때문에 새롭게 생긴 문서나 인기가 없는 문서가 손해를 보게 된다. 이에, 사용자의 전문분야에 특화된 우선순위를 반영할 수 있는 검색 알고리즘의 연구 및 개발이 요구된다.
본 발명의 일 실시예는, 사용자 단말로부터 검색 키워드가 입력되는 경우, 검색 키워드로 검색한 결과인 검색 사이트를 정렬순서대로 수집하고, 기 설정된 정렬순서 및 개수에 대응하는 검색 사이트 내 데이터와 검색 키워드 간의 상호연관성을 기준으로 데이터를 추출한 후 검색어 셋을 생성하며, 검색어 셋으로 재검색을 한 후 상호연관성에 기반하여 매칭점수를 부여하고 재정렬하는, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 사용자 단말로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집하는 단계, 수집된 적어도 하나의 검색 사이트 중 기 설정된 수 및 순서에 대응하는 적어도 하나의 검색 사이트를 추출하는 단계, 추출된 적어도 하나의 검색 사이트 내 포함된 검색 데이터와, 검색 키워드 간의 상호연관성을 산출하는 단계, 산출된 상호연관성이 기 설정된 기준값을 초과하는 단어를 이용하여 검색어 셋(Set)을 생성하는 단계, 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여하는 단계, 및 매칭점수로 정렬된 검색 페이지를 사용자 단말로 리턴하는 단계를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자 단말로부터 검색 키워드가 입력되는 경우, 검색 키워드로 검색한 결과인 검색 사이트를 정렬순서대로 수집하고, 기 설정된 정렬순서 및 개수에 대응하는 검색 사이트 내 데이터와 검색 키워드 간의 상호연관성을 기준으로 데이터를 추출한 후 검색어 셋을 생성하며, 검색어 셋으로 재검색을 한 후 상호연관성에 기반하여 매칭점수를 부여하고 재정렬함으로써 사용자가 원하는 랭킹으로 정렬순서가 최적화될 수 있다.
도 1은 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 인터넷 검색 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1개의 유닛이 2개 이상의 하드웨어를 이용하여 실현되어도 되고, 2개 이상의 유닛이 1개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 인터넷 검색 서비스 제공 서버(300), 적어도 하나의 정보 제공 서버(400)를 포함할 수 있다. 다만, 이러한 도 1의 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 인터넷 검색 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 인터넷 검색 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 정보 제공 서버(400)와 연결될 수 있다. 또한, 적어도 하나의 정보 제공 서버(400)는, 네트워크(200)를 통하여 인터넷 검색 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 RF, 3GPP(3rd Generation Partnership Project) 네트워크, LTE(Long Term Evolution) 네트워크, 5GPP(5th Generation Partnership Project) 네트워크, WIMAX(World Interoperability for Microwave Access) 네트워크, 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 블루투스(Bluetooth) 네트워크, NFC 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 검색 키워드를 입력하고 검색 결과를 수신하는 단말일 수 있다. 그리고, 적어도 하나의 사용자 단말(100)은, 검색 결과를 상호연관도에 기반하여 우선순위에 따라 정렬된 결과로 수신하는 단말일 수 있다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(smartphone), 스마트 패드(smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
인터넷 검색 서비스 제공 서버(300)는, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 인터넷 검색 서비스 제공 서버(300)는, 검색 키워드를 입력으로 한 검색 사이트를 수신하고, 검색 사이트 중 기 설정된 순위 및 개수의 검색 사이트를 추출하는 서버일 수 있다. 또한, 인터넷 검색 서비스 제공 서버(300)는, 추출된 검색 사이트 내에 포함된 단어 또는 문장과 검색 키워드 간의 상호연관성을 계산하고, 상호연관성이 높은 단어 또는 문장을 이용하여 검색어 셋을 추출하는 서버일 수 있다. 그리고, 인터넷 검색 서비스 제공 서버(300)는, 검색어 셋을 이용하여 재검색을 실시하고, 검색어 셋과 재검색 결과인 검색 사이트 간의 매칭점수를 상호연관성에 기반하여 계산하고, 매칭점수로 우선순위를 정하여 리스트업한 후 사용자 단말(100)로 전송하는 서버일 수 있다.
여기서, 인터넷 검색 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 정보 제공 서버(400)는, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하거나 이용하지 않고 키워드를 수신하여 그 결과를 인터넷 검색 서비스 제공 서버(300)로 리턴하는 서버일 수 있다. 여기서, 적어도 하나의 정보 제공 서버(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 인터넷 검색 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 인터넷 검색 서비스 제공 서버(300)는, 수집부(310), 추출부(320), 산출부(330), 생성부(340), 부여부(350), 리턴부(360), 데이터베이스화부(370), 반복검색부(380), 재정렬부(390) 및 행렬생성부(391)를 포함할 수 있다.
본 발명의 일 실시예에 따른 인터넷 검색 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100), 및 적어도 하나의 정보 제공 서버(400)로 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100), 및 적어도 하나의 정보 제공 서버(400)는, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100), 및 적어도 하나의 정보 제공 서버(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: world wide web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(hyper text mark-up language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(app)을 포함한다.
도 2를 참조하면, 수집부(310)는, 사용자 단말(100)로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집할 수 있다. 예를 들어, A,B,C,D 검색 사이트가 존재한다고 가정하면, A,B,C,D 사이트에 검색 키워드를 입력하고, 그 결과로 적어도 하나의 검색 사이트를 수집할 수 있다. 이때, 검색 사이트를 단순히 수집만 하는 것이 아니라, 그 페이지와 우선순위, 즉 정렬된 순서를 함께 추출해야 이후 우선순위를 재정렬할 때 이용할 수 있다. 예를 들어, 40개의 검색결과인 검색 사이트를 이용한다고 가정하면, 첫 번째 정렬된 검색 사이트부터 40번째 정렬된 검색 사이트를 수집할 수 있다. 여기서, 수집부(310)는, 사용자 단말(100)로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집할 때, 사용자 단말(100)로부터 검색 키워드와, 적어도 하나의 전문분야 중 어느 하나를 선택받을 수 있다.
추출부(320)는, 수집된 적어도 하나의 검색 사이트 중 기 설정된 수 및 순서에 대응하는 적어도 하나의 검색 사이트를 추출할 수 있다. 수집부(310)에서 기 설정된 숫자의 검색 사이트를 수집하였으므로, 추출부(320)는, 순서에 맞게 정렬하고 추출할 수 있고, 이는 이후에 우선순위 재정렬 및 검색랭킹 알고리즘을 적용할 때 이용될 수 있다.
산출부(330)는, 추출된 적어도 하나의 검색 사이트 내 포함된 검색 데이터와, 검색 키워드 간의 상호연관성을 산출할 수 있다. 이때, 추출부(320)에서 추출한 것은 검색 사이트 자체이므로, 산출부(330)에서 검색 키워드와 검색 데이터 간의 상호연관성을 산출하기 위해서는, 검색 사이트 내 검색 데이터를 추출하는 과정이 선행되어야 한다. 이때, 산출부(330)는, 추출 요약 기법을 이용할 수 있는데, 이는 문서 내 문장들을 가지고 구, 절, 문장 등을 새롭게 분석하여 문서 내에 중요도를 판단 한 후 문서를 요약을하는 기법이다. 추출 요약 기법은 문장이 가지는 단어의 빈도수 및 가중치를 통해 문장과 단어 간의 관계를 분석하여 중요 문장을 추출하는 방식으로 이루어지고 있으며, 예를 들어, PLSA(Probavilistic Latent Semantic Analysis) 알고리즘을을 이용할 수 있다. 이는, 문서 내에 존재하는 단어들에 포함된 숨겨진 주제들 별로 클러스터들을 만들고 클러스터 된 단어와 문장과 관계를 유사도 측정을 수행하여 문장에 점수를 부여하는 방법이다. 또는, 문서의 주제에 대한 클러스터들을 만들고, 링크분석(Link-Anaysis)기법인 HITS(Hypertext Induced Random Walk) 기법을 통하여, 문장들과 문서의 주제 클러스터들 간의 연관성을 분석하여 문장에 점수를 부여하는 방식으로 검색 데이터를 추출할 수도 있다. 또는, 검색 사이트에서 문장을 효율적으로 추출하기 위하여, 질의에 대한 확장과 질의 분해 방법으로 문서를 추출할 수도 있다. 문서(검색 사이트 내의 콘텐츠)의 주요 정보를 검색하기 위해 사용하는 질의 확장 기법을 이용하는 것인데, 적합 문장을 이용하여 초기 질의를 확장할 때, 적합 문장 전부를 초기 질의에 한꺼번에 적용하기 않고, 적합 문장 각각의 개별적으로 질의 확장을 적용하여, 적합 문장 개수만큼 질의로 분해하는 방법이다. 또는, 단어의 출현 빈도나 문장의 문맥구조 등의 특성을 사용하여 문장 단락의 중요도를 계산하고, 계산된 가중치 값 중 특정 노드의 중요도를 노드간의 의미적 유사성을 반영할 수도 있다.
이때, 추출 요약 기법을 이용하는 경우, 각 검색 사이트에서 대표 키워드를 추출하는 단어 분석과, 각 단어의 연관성을 고려한 검색어 셋 추출의 단계를 거치게 된다. 단어 분석에서는, 텍스트 랭크를 측정하고, 텍스트 랭크를 통해 추출된 핵심 키워드인 대표 키워드를 추출하기 위해 상위 키워드와 하위 키워드로 나누는 단계를 거친다. 텍스트 랭크를 측정하기 위해서는, 먼저 키워드를 추출할 때, 토큰화, 불용어 제거, 어간추출, 품사 추출, 키워드 추출을 진행하고, 추출된 키워드를 기반으로 텍스트 랭크 측정 방법을 통해 대표 키워드를 측정하여 상위 키워드와 하위키워드로 나누게 된다. 추출된 대표 키워드를 이용하여 검색어 셋을 추출하게 되는데, 검색어 셋을 추출하기 위해 단어와 문장 사이의 연관성을 고려하여 각 문장별 가중치를 구할 수 있다.
전처리 과정을 통해 추출된 키워드들을 이용하여 텍스트랭크 알고리즘에 적용하기 위해서는 처리하고자 하는 문서의 문장을 간선 그래프 형태로 모델링해야 한다. 우선 그래프를 모델링하기 위해 그래프를 구성할 정점을 결정해야 한다. 정점은 전처리과정을 통해 모든 불용어를 제거한 문서의 단어들로 표현하며, 간선은 단어로 표현되는 정점들 간의 의미적 관계를 뜻한다. 간선 그래프를 기반으로 대표 키워드의 상위 키워드를 추출하는 경우 키워드 사이의 간선 형성의 기준이 될 수 있고, 간선의 가중치를 함께 등장하는 횟수로 결정할 수 있다. 하나의 문장에 각 정점과 간선으로 연결된 그래프에서 A라는 단어가 다음 문장에 존재한다면 A를 기점으로 두 번째 문장이 간선 그래프로 연결되어 모델링 된다. 구축된 간선 그래프를 기반으로 검색어 셋을 추출하기 위해서 문장에 존재하는 대표 키워드를 추출하기 위해 텍스트랭크 적용 과정을 거치게 된다. 모델링된 그래프에 텍스트 랭크 알고리즘을 적용해야 하며, 간선 그래프를 기반으로 텍스트의 중요도를 결정할 때, 가중치의 합을 기반으로 텍스트의 중요도 점수를 얻어 키워드의 랭킹을 산정할수 있고, 각 단어의 점수 테이블을 얻을 수 있다.
검색어 셋을 추출하기 위해, 어휘 체인을 이용할 수 있다. 어휘 체인은 텍스트에서 문법적인 장치를 제외한 어휘적 의미만을 이용하여 해당 텍스트를 분석하고 각 의미적 연관성이 있는 단어들끼리 그룹화 하는 시스템이다. 어휘 체인의 단어 그룹화를 하기 위해 워드넷이 제공하는 개념 간의 계층 관계는 두 단어의 의미가 서로 얼마나 밀접한가를 측정하는데 매우 중요한 척도로 사용될 수 있다. 단어 그룹화를 하기 위해 워드넷 상에서 의미가 정의된 단어의 상·하위어 관계, 동의어 관계를 이용할 수 있으나 데이터베이스는 워드넷으로 한정되지 않는다. 생성된 어휘 체인을 기반으로 중요 문장을 추출하기 위해 강한 문장 가중치 수식을 적용하여 각 문장별로 점수를 선정할 수 있다. 두 키워드 간의 단어 간 연관성이 성립되는 경우, 중요 문장 추출 과정에 있어 가중치 점수를 부여받고, 가중치 점수가 평균 이상인 문장이나 단어가 추출되어 검색어 셋에 포함될 수 있다.
생성부(340)는, 산출된 상호연관성이 기 설정된 기준값을 초과하는 단어를 이용하여 검색어 셋(Set)을 생성할 수 있다. 이때, 상호연관성의 계산방법은 이하에 후술되겠지만, 예를 들면, A 질의어로 검색된 결과가 B,C,D,E라면, A 질의어와 B, C, D, E 결과 사이의 상호연관성을 코사인 유사도와 유클리디안 거리를 이용하여 계산하는 경우, A-B, A-C, A-D, A-E 사이의 값이 산출될 수 있다. 이때, 기준값이 80인데, 상술한 각각의 값은 90, 70, 60, 50이라면, 90인 B가 기준값을 초과하는 단어이고, 검색어 셋에 포함될 수 있다. 물론, 이 과정은 단순화하였고 실제 과정은 보다 복잡하지만, 설명의 편의를 위하여 간략하게 설명하였다.
부여부(350)는, 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여할 수 있다.
리턴부(360)는, 매칭점수로 정렬된 검색 페이지를 사용자 단말(100)로 리턴할 수 있다. 이때, 정렬순서는 상호연관성에 기반하며 각 페이지 내에 정렬순서 뿐만 아니라, 각 페이지 간의 순서 또한 마찬가지로 적용가능하다. 이때, 리턴부(360)는, 정책경사(Policy Gradient) 강화학습을 더 이용할 수도 있다. 리턴을 받은 사용자 단말(100)에서는 이에 대한 반응을 어떠한 형태로든 보일 수 있는데, 이 반응에 따라 최상의 보상을 얻는 노출형태를 이용하여 탐험과 지식활용(Exploration and Exploitation) 방식으로 학습을 하기 때문에, 비슷한 쿼리의 성공적인 노출 형태를 이용하여 새로운 랭킹을 시도할 수도 있다. 이때, 강화 학습의 목표는, 주어진 상황에서 최선의 결정을 내릴 수 있는 모델을 만들어 내는 것이다. 이러한 순차적 행동을 결정하는 문제를 수학적으로 표현할 수 있도록 정의된 것이 MDP(Markov Decision Process)인데, 우선, 상태(State)는, 특정 시점에 사용자가 검색한 질의이고, 행동(Action)은 검색한 질의에 대하여 에이전트가 노출한 검색순위이고, 보상은, 에이전트가 학습할 때 지표로 삼는 값으로 주어진 상황과 행동에 영향을 받고, 감가비율(Discount Factor)은, 시간에 따라서 보상을 감가하는 비율이고, 정책은 입력된 상태에 따라 행동을 출력하는 에이전트의 함수이다.
보상함수는, 클릭확률값을 사용하며, 이 값은 환경모델이 추정할 수 있다. 상태에서 선택된 행동에 대해 받은 보상을 나누어 분류 및 수치화할 수 있으며, 이때 패널티인 벌점, 즉 노출이 되었는데 클릭을 받지 못한 경우에는 다시 노출하지 않는 방향으로 학습되도록 벌점이 고려될 수 있다. 추정값의 성격상 실제 클릭이 없어도 아주 작은 확률값을 가질 수 있는데, 이 경우는 노이즈로 간주하여 에러율을 낮출 수 있다. 또, 노출순위에 대한 가중치가 반영된 보상함수를 이용하는 경우, 노출순위를 고려하여 보상을 결정할 수 있다. 가치기반 강화학습(Value-based RL)과 정책기반 강화학습(Policy-based RL) 중 후자가 가치의 변화에 보다 보수적으로 정책을 수정한다. 따라서, 보다 안정적으로 최적값에 수렴할 수 있으므로 전자를 사용하지만, 후자를 사용하는 것을 배제하지는 않는다.
인공신경망의 가중치, 특정상태, 그 상태에서 할 수 있는 행동을 변수로 보았을 때, 정책과 목표는, 목표함수를 최대화할 수 있도록 목표함수를 미분하여 경사를 상승하는 방향으로 정책을 업데이트할 수 있다. 그리고, 목표함수는 모든 가능한 상태에서 했던 행동들에 받는 보상의 기대값인데, 모든 상태에 있을 확률과, 그 각각의 상태에서 현재 정책을 통해 행동할 확률로 얻게 되는 보상의 기대값이다. 기대값을 샘플링으로 대체하면 확률적 경사 상승법에 의한 인공신경망이 업데이트될 수 있다.
데이터베이스화부(370)는, 수집부(310)에서 사용자 단말(100)로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집하기 이전에, 적어도 하나의 키워드에 대한 결과인 적어도 하나의 검색 사이트를 웹크롤러(Web Crawler)를 이용하여 수집할 수 있다. 그리고, 데이터베이스화부(370)는, 수집된 적어도 하나의 검색 사이트 중 적어도 하나의 키워드에 기 매핑되어 저장된 적어도 하나의 전문분야를 포함하는 검색 사이트에 기 설정된 가중치를 부여할 수 있고, 적어도 하나의 전문분야와 연관도가 기 설정된 기준 연관도를 만족하는 검색 사이트를 필터링하여 저장하고, 저장된 적어도 하나의 검색 사이트 내에 포함된 적어도 하나의 단어를 이용하여 말뭉치(Corpus)를 구축할 수 있다. 또한, 데이터베이스화부(370)는, 구축된 말뭉치 내의 단어 간 상호연관성을 계산하고, 계산된 상호연관성을 이용하여 가중치 행렬을 생성할 수 있다.
또, 데이터베이스화부(370)는, 구축된 말뭉치 내의 단어 간 상호연관성을 계산하고, 계산된 상호연관성을 이용하여 가중치 행렬을 생성한 후, 필터링된 검색 사이트, 말뭉치, 및 가중치 행렬은, 상호연관성에 기반하여 객체 관계 데이터베이스(Object-Relational Database)에 저장할 수 있다. 여기서, 말뭉치 내에 포함된 적어도 하나의 단어와, 적어도 하나의 단어 간의 관계를 구조화한 계층 클래스는, 하나의 객체로 인식되도록 저장될 수 있다. 말뭉치(Corpus)는, 적어도 하나의 전문분야에 가중치가 부여된, 적어도 하나의 키워드에 대한 사전 형식의 데이터를 포함할 수 있다. 예를 들어, 구문분석된 생의학분야 영어문서내의 단어를 구문규칙을 이용하여 추출하는 경우, 전문용어의 많은 부분이 명사구 형태로 나타나기 때문에 명사구에 대한 구문규칙을 이용하여 단어를 추출할 수 있다. 명사구는 관형사와 명사의 나열로서 표현되며, 수식어와 중심어로 구성된다. 그런데, 수식어가 전문분야의 특징을 나타내지 못하는 일반적인 단어일 경우 말뭉치의 품질을 떨어뜨리는 요인이 되므로, 이를 불용어(Stopword) 처리해야 한다. 추출된 단어는, 전문용어와 비전문용어로 이진분류(binary classification)될 수 있는데, 이진분류는 기계학습을 통하여 이루어지며, 초기화를 거쳐 매개변수학습으로 진행된다.
초기화에서는, 시드정보(Seed Information)를 이용하여 초기매개변수를 추정하는데, 시드정보는 전문용어와 비전문용어가 표지된 단어의 집합일 수 있다. 각각의 단어가 사전에 등재되어 있는 경우 여부에 따라, 전문용어 또는 비전문용어로 분류하고, 분류정보를 이용하여 초기매개변수를 추정할 수 있다. 그 다음 매개변수학습에서는, 이진분류를 위한 매개변수를 학습하는데, 학습은 매개변수의 변화가 없을 때까지 루프를 돌면서 반복할 수 있다. 학습단계는, 전 단계에서 추정된 매개변수를 이용하여 용어를 이진분류하는데, 분류된 용어집합은 매개변수를 추정하는데 사용될 수 있다.
전문용어를 선택하기 위한 특징으로, 어휘(lexicon) 특징을 비롯하여, 구문(syntax), 철자(orthography), 사전(dictionary), 형태소(morpheme)의 특징을 이용할 수 있으나, 나열된 것들로 한정되지는 않는다. 어휘특징이란, 용어를 구성하는 어휘의 공통성을 나타낸다. 용어의 중심어와 그 수식어는 용어의 개념을 해석하는데 중요한 역할을 한다. 예를 들어, 용어들이 같은 중심어를 가진다면 그 용어들은 유사한 개념을 지칭하거나 개념적으로 상호 연관성을 가진다. 또한 용어에 수식어를 추가하여 용어를 구성하면 일반적으로 수식어가 부가된 용어가 세부적인 개념을 지칭할 수 있다. 이러한 특징은 분야 개념을 지칭하는 전문용어를 효과적으로 표현하는 특징이므로 본 논문에서는 용어를 구성하는 중심어와 중심어에 대한 수식어를 어휘 특징으로 정의하여 표기할 수 있다.
구문 특징에서 동사는 생의학분야 문서에서 분야 지식을 표현하는데 많이 사용된다. 분야 지식은 주로 전문용어간의 연관관계에 의해 표현되므로 이들 동사를 파악하는 것은 분야 지식을 표현하는 용어를 추출하는데 도움이 된다. 구문특징은 전문분야 문서에서 자주 사용되는 괄호표현으로 연결되는 관계를 포함한다. 예를 들어, 괄호 안과 괄호 밖의 전문용어들 간에는 약어나 의미적 상관관계가 존재한다. 따라서, 괄호로 표현되는 전문용어 간의 관계를 괄호관계로 정의하여 파악할 수 있다. 그리고, 구문특징인 주어-동사 구문관계, 목적어-동사 구문관계, 괄호관계는 전문용어 인식에 중요한 특징으로 사용할 수 있으므로, 이 또한 정의하여 사용할 수 있다.
철자특징은, 단백질이나 유전자를 나타내는 전문용어의 명명법(naming convention)으로 인하여 생의학 분야 전문용어는 비전문용어에 대비되는 철자적 특징을 나타낸다. 단백질을 나타내는 생의학분야 전문용어를 철자적 특징에 따라 세 가지로 분류하고 새로운 단백질을 나타내는 전문용어는 그 포맷이나 형태가 정해져 있으므로, 철자특징을 이용하여 생의학분야 용어를 추출하는 특징으로 사용할 수 있다. 사전적 특징에서, 새로운 개념의 전문용어를 만드는 가장 일반적인 방법은 기존의 전문용어에 수식어를 추가하는 방법이라는 점을 이용한다. 사전적 특징은 중심어와 수식어를 전문분야사전과 일반분야사전을 이용하여 파악할 수 있다. 형태소적 특징을 보면, 생의학분야 용어들은 그리스나 라틴 어원의 용어들이 많다. 이러한 용어들은 일반적으로 접두사, 어근, 접미사와 같은 형태소로 구성되며, 고유의 생의학분야 개념을 지칭하기 때문에 이러한 형태를 이용하여 일반용어와 전문용어를 구분할 수 있다.
상술한 특징으로 단어를 구분했으면, 그 다음 단계는 이진분류 기계학습을 통하여 전문분야의 단어가 각 검색 사이트에서 선택될 수 있도록 하기 위한 전단계를 실행해야 한다. 이때, 이진분류 기계학습은, 각각의 특징들이 전문용어와 비전문용어를 구분하는데 얼마나 효과적인지를 파악하기 위한 것인데, 예를 들어, 나이브 베이지안(Naive Bayesian) 분류기, 의사결정트리(Decision List), 서포트 벡터 머신(Support Vector machine), 최대엔트로피모델(Maximum Entropy Model)을 이용하여 말뭉치 내의 단어를 이진분류할 수 있다. 이진분류는 각 단어에 대하여 가장 적합한 단어 유형, 예를 들어, 전문용어인지 일반용어인지를 할당하는 것인데, 이를 위하여 상술한 5 가지의 특징들이 사용될 수 있다. 그리고, 나이브 베이지안 분류에 의해 주어진 단어가 전문용어일 확률을 최대한으로 하도록 단어를 파악할 수 있는데, 예를 들어, 연관규칙확률(a priori probability)을 이용할 수 있다.
또 다른 기계학습방법은, 의사결정트리를 이용하는 귀납적 규칙학습방법인데, 상술한 5 개의 특징 유형을 할당할 수 있으며, 학습을 통하여 할당된 특징의 신뢰도가 결정될 수 있다. 이 방법은, 의사결정트리에 존재하는 각 단어를 결정하기 위한 유형에 기여하는 신뢰도를 가지며, 신뢰도는 의사결정이 얼마나 효과적인지를 나타낼 수 있다. 이때, 신뢰도 이외에도, 지지도 등 연관규칙에 이용되는 다양한 파라미터가 이용될 수 있다. 또는, 서포트 벡터 머신을 이용하여 분류를 수행할 수도 있고, 최대 엔트로피 모델(maximum entropy model)을 이용할 수도 있으며, 나열된 것들로 한정되지는 않는다.
상호연관성은, 상관행렬(Correlation Matrix)로 산출될 수 있다. 상관행렬은, 복수의 영향인자 및 상관관계를 동시에 표현하기 위한 방법으로, 영향인자는 대각선으로 나열되고, 항목간은 시계방향으로 상호 연계한다. 예를 들어, 항목 A의 우측 그리고 항목B의 상부항은 항목 B에 대해 항목 A가 영향을 미치는 민감도를 의미하며, 이것은 수학적 편미분으로 나타낼 수 있다. 이렇듯 상관행렬의 표현방식은 매우 단순하지만 이러한 개념을 이용하여 단어 간 상호연관성을 파악할 수 있으므로, 단어 간 연계도가 행렬로 작성될 수 있다.
이때, 상호연관성을 상관행렬로 표현할 때, 인공신경망이 더 이용될 수 있다. 인공신경망은, 학습알고리즘, 은닉층과 출력층의 활성화 함수, 은닉층과 노드의 수 등이 인공신경망 분석을 위해 결정해야 할 주요 요소이다. 따라서 최적의 인공신경망 구조 및 변수를 결정하기 위해 상술한 요소를 다양하게 변화시켜 신경망 분석을 수행할 수 있다. 평균오차율 등의 결과를 통해 학습 알고리즘으로 RPROP(Resilient backpropagation), 활성화 함수로 선형함수를 이용할 수 있는데, 이때 학습의 효율성과 관련된 변수인 최소 및 최대 학습속도를 조절하여 설정할 수 있다. 이때, 인공신경망 분석을 하는 이유는, 인공신경망 분석에서 추론 후 산출되는 단어 간 상호간 민감도, 즉 편미분값에 의한 상관행렬을 구성하기 위해서이다. 따라서, 입력층과 출력층이 동일한 대칭형 구조를 이용할 수 있고, 은닉층의 경우 과소적합(under-fitting) 및 과대적합(over-fitting)의 문제가 최소화되는 cm으로 설정할 수 있다. 또한, 인공신경망 학습 시 반지도 학습으로 모니터링 결과를 반영함으로써 실제 결과와 목표 결과 간의 오차가 감소 후 증가되는 시점에 학습을 종료시키는 조기학습종료기법을 이용함으로써, 과대적합의 문제를 최소화할 수 있다.
인공신경망 모델을 통해 각 인자간의 편미분값을 산출하여 상관행렬의 각 항을 구성할 수 있는데, 이 과정으로 구성된 각 행렬항의 값은 완전 연계행렬(Fully-coupled interaction matrix)일 수 있고, 결정된 행렬항의 값은 인공신경망 학습에 사용된 학습자료에 따라 달라질 수 있다. 즉, 지속적인 학습자료의 보완을 통해 보다 현실적이고 신뢰도 높은 상관행렬을 구성할 수 있다. 행렬의 수평행은 대상 영향인자가 다른 영향인자들에 미치는 원인(cause)을 의미하며, 결과적으로 상관행렬의 각 수평행의 합은 각 영향인자가 전체 시스템에 미치는 원인을 나타낸다. 동일한 개념으로 행렬의 수직열은 다른 영향인자들이 대상 영향인자에 미치는 영향을 의미하므로 결과(effect)에 해당하며, 각 수직열의 합은 전체 시스템에 대한 결과를 의미한다. 물론, 상호연관성을 상관행렬이나 인공신경망 이외에 다양한 방법으로 구성할 수 있음은 물론이며, 상술한 구성에 한정되지는 않는다.
반복검색부(380)는, 부여부(350)에서 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여한 후, 수동 또는 자동으로 검색 사이트를 추출하고, 상호연관성을 산출하고, 검색어 셋을 생성하여 매칭점수를 부여하는 단계를 기 설정된 횟수 또는 기 설정된 매칭점수가 산출될 때까지 반복할 수 있다.
재정렬부(390)는, 부여부(350)에서 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여한 후, 매칭점수에 대응하도록 검색랭킹 알고리즘(Search Ranking Algorithm)을 이용하여 각 검색 페이지의 우선순위를 정렬할 수 있다. 여기서, 검색랭킹 알고리즘은, 우선 의미가 없는 단어(Non-content words)나 불용어(Stop word)를 제거하면서 시작된다. 각 검색 페이지의 핵심 단어들과 그렇지 않은 단어들을 구분하기 위해 포아송 확률 분포를 이용할 수 있다. 또, 예측된 문서의 빈도수인 EDF(Expected Document Frequency)와 실제 관측된 빈도수 RDF(Real Document Frequency)의 비율값(EDF/RDF)이 임계치 내 속하는 단어는 자질에서 제외할 수 있는데, 그 이유는 단어의 비율값이 1에 가까울수록 해당 단어가 말뭉치에서 원래 나타날 확률이므로, 의미가 없는 단어에 가깝기 때문이다. 또, 문서를 대표하는 단어 뿐만 아니라 공기어 추출하는데, 귀무가설검증을 통하여 공기어를 선별하여 자질로 추가할 수 있다. 공기어란 한 문서 내 동시 출현하는 단어 중에서 연관성이 있는 두 개의 단어를 의미하는데, 그 대상은 인접한 단어로 제한될 수 있다. 귀무가설검증을 위한 방법으로는 우도비 검정통계량(likelihood ratio test)을 이용할 수 있고, 이의 신뢰도 수준을 이용할 수 있다.
또, 검색랭킹 알고리즘은, 문서간 유사도를 구하는 척도로 상술한 코사인 유사도와 KL 다이버전스(Divergence)의 단점을 보완한 IRadius를 이용할 수 있다. 비교대상문서의 확률에서 동시에 출현하는 단어의 독립적인 확률을 제거하고, 문서 간 비유사도를 측정하기 위하여 개별문서가 가지는 확률에서 독립적인 단어를 제거하고 IRadius의 값을 적용하며, IRadius는 비유사도 척도이므로 이의 역수를 유사도 척도로 사용하면, 유사도, 즉 상호상관성에 기한 검색랭킹을 구할 수 있고 이 값을 기준으로 각 검색 페이지의 정렬순서를 정할 수 있다.
물론 이외에도, WINNOW 기법에 의한 카테고리별 가중치 벡터를 지도 학습하는 구성, 단어 가중치를 통계적으로 계산하는 구성, 코사인 유사도와 유클리드 거리에 기반한 KNN(K-Nearest Neighbor)을 이용하는 구성, KNN과 SNN(Shared Nearest Neighbor)을 결합하는 구성을 더 이용할 수도 있다. 이때, 코사인 유사도는 유클리드 공간을 가정하기 때문에, 각 자질이 갖는 가중치를 자질값으로 반영하기 어렵기 때문에, 상술한 바와 같이 자질의 가중치를 가중치 행렬로 적용할 수도 있다. 물론, 상술한 방법에 한정되는 것은 아니고 다양한 방법이 이용될 수 있음은 물론이라 할 것이다.
행렬생성부(393)는, 리턴부(360)에서 매칭점수로 정렬된 검색 페이지를 사용자 단말(100)로 리턴한 후, 검색 키워드, 검색어 셋, 검색 페이지, 및 매칭점수는 상호연관성을 이용하여 가중치 행렬을 생성할 수 있다. 이때, 가중치 행렬은 기 설정된 주기 또는 실시간으로 업데이트될 수 있다.
이하, 상술한 도 2의 인터넷 검색 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, (a) 인터넷 검색 서비스 제공 서버(300)는 적어도 하나의 전문분야의 적어도 하나의 키워드를 이용하여 검색을 수행한 결과인, 적어도 하나의 검색 사이트를 리턴으로 받는 웹크롤링을 진행한다. 이 과정에서 모든 결과를 저장하는 경우 그 크기나 데이터의 문제로 인하여 컴퓨팅 자원의 소모나 고갈이 심하게 되므로, 필터링을 수행하여 선택적으로 저장하도록 한다. 이를 위하여, 인터넷 검색 서비스 제공 서버(300)는, 리턴된 검색 사이트, 키워드, 및 전문분야 간의 관계를 파악함으로써 가중치를 부여하고, 부여된 점수와 유사도를 기준으로 리턴된 검색 사이트를 필터링한 후, 여과된 검색 사이트를 제외한 나머지를 저장하게 된다.
(b) 그리고 나서, 인터넷 검색 서비스 제공 서버(300)는, 사용자로부터 질의가 입력되는 경우, 적어도 하나의 정보 제공 서버(400)에 쿼리를 입력하여 그 결과를 수신하고, 검색 키워드와 검색 사이트 간의 상호연관성을 계산하고, 상호연관성이 높은 문장이나 단어를 검색어 셋에 포함시킨다. 또, 인터넷 검색 서비스 제공 서버(300)는, 검색어 셋으로 재검색을 실시하고, 그 결과를 검색어 셋과 결과에 포함된 검색 사이트 내의 문장 또는 단어와 상호연관성을 계산하여 매칭점수를 산출한다. 이때, 상호연관성과 매칭점수는 동일한 개념이나 그 단위만 다르게 표현될 수 있다. 또, 인터넷 검색 서비스 제공 서버(300)는, 매칭점수에 대응하는 정렬순위로 검색결과를 리스트업하여 사용자 단말(100)로 리턴하게 된다.
도 4를 참조하면, 상호연관성을 계산하거나 검색어 셋을 생성할 때, 그 비교대상이 되는 데이터베이스를 구축하기 위한 방법을 도시한다. 인터넷 검색 서비스 제공 서버(300)는 (a) 적어도 하나의 키워드에 대한 검색 결과를 수집한 후, 검색 사이트에 기재된 단어를 추출하여 말뭉치를 구축하고, 단어 간 상호연관성 뿐만 아니라, 단어와 키워드 간의 상호연관성을 계산한다. 또, 인터넷 검색 서비스 제공 서버(300)는 (b) 가중치 행렬을 생성한다. 이는, 학습을 거쳐 인공지능 신경망으로 모델링되는데, 학습이 완료된 후에는 사용자의 질의에 대한 리턴값인 검색 사이트를 재정렬 및 매칭 스코어를 부여하는데 이용된다.
이와 같은 도 2 내지 도 4의 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법을 설명하기 위한 동작 흐름도이다. 도 5를 참조하면, 인터넷 검색 서비스 제공 서버는, 사용자 단말로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집한다(S5100).
또한, 인터넷 검색 서비스 제공 서버는, 수집된 적어도 하나의 검색 사이트 중 기 설정된 수 및 순서에 대응하는 적어도 하나의 검색 사이트를 추출한다(S5200).
그리고, 인터넷 검색 서비스 제공 서버는, 추출된 적어도 하나의 검색 사이트 내 포함된 검색 데이터와, 검색 키워드 간의 상호연관성을 산출하는 단계, 산출된 상호연관성이 기 설정된 기준값을 초과하는 단어를 이용하여 검색어 셋(Set)을 생성한다(S5300).
여기서, 인터넷 검색 서비스 제공 서버는, 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여하고(S5400), 매칭점수로 정렬된 검색 페이지를 사용자 단말로 리턴한다(S5500).
이와 같은 도 5의 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 인터넷 검색 서비스 제공 서버에서 실행되는 인터넷 검색 서비스 제공 방법에 있어서,
    사용자 단말로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집하는 단계;
    상기 수집된 적어도 하나의 검색 사이트 중 기 설정된 수 및 순서에 대응하는 적어도 하나의 검색 사이트를 추출하는 단계;
    상기 추출된 적어도 하나의 검색 사이트 내 포함된 검색 데이터와, 상기 검색 키워드 간의 상호연관성을 산출하는 단계;
    상기 산출된 상호연관성이 기 설정된 기준값을 초과하는 단어를 이용하여 검색어 셋(Set)을 생성하는 단계;
    상기 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 상기 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여하는 단계; 및
    상기 매칭점수로 정렬된 검색 페이지를 상기 사용자 단말로 리턴하는 단계;
    를 포함하는 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  2. 제 1 항에 있어서,
    상기 사용자 단말로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집하는 단계 이전에,
    적어도 하나의 키워드에 대한 결과인 적어도 하나의 검색 사이트를 웹크롤러(Web Crawler)를 이용하여 수집하는 단계;
    상기 수집된 적어도 하나의 검색 사이트 중 상기 적어도 하나의 키워드에 기 매핑되어 저장된 적어도 하나의 전문분야를 포함하는 검색 사이트에 기 설정된 가중치를 부여하는 단계;
    상기 적어도 하나의 전문분야와 연관도가 기 설정된 기준 연관도를 만족하는 검색 사이트를 필터링하여 저장하고, 상기 저장된 적어도 하나의 검색 사이트 내에 포함된 적어도 하나의 단어를 이용하여 말뭉치(Corpus)를 구축하는 단계;
    상기 구축된 말뭉치 내의 단어 간 상호연관성을 계산하고, 상기 계산된 상호연관성을 이용하여 가중치 행렬을 생성하는 단계;
    를 더 포함하는 것인, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  3. 제 2 항에 있어서,
    상기 구축된 말뭉치 내의 단어 간 상호연관성을 계산하고, 상기 계산된 상호연관성을 이용하여 가중치 행렬을 생성하는 단계 이후에,
    상기 필터링된 검색 사이트, 말뭉치, 및 가중치 행렬은, 상기 상호연관성에 기반하여 객체 관계 데이터베이스(Object-Relational Database)에 저장하는 단계;
    를 더 포함하고,
    상기 말뭉치 내에 포함된 적어도 하나의 단어와, 상기 적어도 하나의 단어 간의 관계를 구조화한 계층 클래스는, 하나의 객체로 인식되도록 저장되는 것인, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  4. 제 1 항에 있어서,
    상기 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 상기 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여하는 단계 이후에,
    수동 또는 자동으로 상기 검색 사이트를 추출하고, 상호연관성을 산출하고, 검색어 셋을 생성하여 매칭점수를 부여하는 단계를 기 설정된 횟수 또는 기 설정된 매칭점수가 산출될 때까지 반복하는 단계;
    를 더 포함하는 것인, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  5. 제 1 항에 있어서,
    상기 사용자 단말로부터 입력된 검색 키워드에 대한 결과인 적어도 하나의 검색 사이트를 수집하는 단계에서,
    상기 사용자 단말로부터 상기 검색 키워드와, 적어도 하나의 전문분야 중 어느 하나를 선택받는 단계;
    를 포함하는 것인, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  6. 제 1 항에 있어서,
    상기 상호연관성은 상관행렬(Correlation Matrix)로 산출되는 것인, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  7. 제 1 항에 있어서,
    상기 생성된 검색어 셋을 이용하여 재검색을 실시하고, 재검색된 적어도 하나의 검색 페이지 내 포함된 검색 데이터와, 상기 검색어 셋 간의 상호연관성에 기반하여 각 검색 페이지에 매칭점수를 부여하는 단계 이후에,
    상기 매칭점수에 대응하도록 검색랭킹 알고리즘(Search Ranking Algorithm)을 이용하여 각 검색 페이지의 우선순위를 정렬하는 단계;
    를 더 포함하는 것인, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  8. 제 1 항에 있어서,
    상기 매칭점수로 정렬된 검색 페이지를 상기 사용자 단말로 리턴하는 단계 이후에,
    상기 검색 키워드, 검색어 셋, 검색 페이지, 및 매칭점수는 상기 상호연관성을 이용하여 가중치 행렬을 생성하는 단계;
    를 더 포함하고,
    상기 가중치 행렬은 기 설정된 주기 또는 실시간으로 업데이트되는 것인, 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.
  10. 제 1 항 내지 제 8 항 중 어느 한 항의 방법을 실행하기 위하여 매체에 저장된 애플리케이션.
KR1020190161749A 2019-12-06 2019-12-06 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법 KR102280494B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190161749A KR102280494B1 (ko) 2019-12-06 2019-12-06 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190161749A KR102280494B1 (ko) 2019-12-06 2019-12-06 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법

Publications (2)

Publication Number Publication Date
KR20210071501A true KR20210071501A (ko) 2021-06-16
KR102280494B1 KR102280494B1 (ko) 2021-07-26

Family

ID=76602883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190161749A KR102280494B1 (ko) 2019-12-06 2019-12-06 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR102280494B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102477606B1 (ko) * 2022-07-02 2022-12-14 주식회사 아이써치마케팅 Sns 빅데이터 분석 시스템
KR102477604B1 (ko) * 2022-07-02 2022-12-14 주식회사 아이써치마케팅 온라인 마케팅 빅데이터 분석 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170138333A (ko) * 2016-06-07 2017-12-15 바이두 유에스에이 엘엘씨 검색 쿼리에 응답하여 유사성 스코어에 기초하여 이미지와 콘텐츠에 대해 평가 및 랭킹을 진행하기 위한 방법 및 시스템
KR20190000061A (ko) * 2017-06-22 2019-01-02 네이버랩스 주식회사 키워드 속성을 기준으로 관련 있는 키워드를 제공하는 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170138333A (ko) * 2016-06-07 2017-12-15 바이두 유에스에이 엘엘씨 검색 쿼리에 응답하여 유사성 스코어에 기초하여 이미지와 콘텐츠에 대해 평가 및 랭킹을 진행하기 위한 방법 및 시스템
KR20190000061A (ko) * 2017-06-22 2019-01-02 네이버랩스 주식회사 키워드 속성을 기준으로 관련 있는 키워드를 제공하는 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102477606B1 (ko) * 2022-07-02 2022-12-14 주식회사 아이써치마케팅 Sns 빅데이터 분석 시스템
KR102477604B1 (ko) * 2022-07-02 2022-12-14 주식회사 아이써치마케팅 온라인 마케팅 빅데이터 분석 시스템

Also Published As

Publication number Publication date
KR102280494B1 (ko) 2021-07-26

Similar Documents

Publication Publication Date Title
US8332434B2 (en) Method and system for finding appropriate semantic web ontology terms from words
Kolda et al. Higher-order web link analysis using multilinear algebra
Craven et al. Learning to construct knowledge bases from the World Wide Web
WO2004013775A2 (en) Data search system and method using mutual subsethood measures
JP2004534324A (ja) 索引付きの拡張可能な対話的文書検索システム
WO2004013772A2 (en) System and method for indexing non-textual data
Shah et al. Sentimental Analysis Using Supervised Learning Algorithms
Du et al. An approach for selecting seed URLs of focused crawler based on user-interest ontology
Khademi et al. Persian automatic text summarization based on named entity recognition
KR100378240B1 (ko) 엔트로피와 사용자 프로파일을 적용한 문서순위 조정방법
Saleh et al. A web page distillation strategy for efficient focused crawling based on optimized Naïve bayes (ONB) classifier
KR20210143431A (ko) 과학기술 지식정보의 추천을 위한 운영컴퓨터, 과학기술 지식정보 추천 시스템 및 그 방법
Kanagarajan et al. Intelligent sentence retrieval using semantic word based answer generation algorithm with cuckoo search optimization
CN111325018A (zh) 一种基于web检索和新词发现的领域词典构建方法
KR102280494B1 (ko) 상호연관성 기반 우선순위로 정렬된 전문분야 인터넷 검색 서비스 제공 방법
Willis et al. A random walk on an ontology: Using thesaurus structure for automatic subject indexing
Nikas et al. Open domain question answering over knowledge graphs using keyword search, answer type prediction, SPARQL and pre-trained neural models
Azzam et al. A question routing technique using deep neural network for communities of question answering
Baker et al. A novel web ranking algorithm based on pages multi-attribute
KR102198780B1 (ko) 상호연관성 기반 전문분야에 특화된 인터넷 검색 서비스 제공 방법
Liao et al. A vlHMM approach to context-aware search
KR102454261B1 (ko) 사용자 정보 기반 협업 파트너 추천 시스템 및 그 방법
Li et al. Automatic content extraction and time-aware topic clustering for large-scale social network on cloud platform
Thambi et al. A novel technique using graph neural networks and relevance scoring to improve the performance of knowledge graph-based question answering systems
Xie et al. Personalized query recommendation using semantic factor model

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right