KR101429621B1 - 중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법 - Google Patents

중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법 Download PDF

Info

Publication number
KR101429621B1
KR101429621B1 KR1020120110197A KR20120110197A KR101429621B1 KR 101429621 B1 KR101429621 B1 KR 101429621B1 KR 1020120110197 A KR1020120110197 A KR 1020120110197A KR 20120110197 A KR20120110197 A KR 20120110197A KR 101429621 B1 KR101429621 B1 KR 101429621B1
Authority
KR
South Korea
Prior art keywords
news
duplicate
sentence
similarity
seed
Prior art date
Application number
KR1020120110197A
Other languages
English (en)
Other versions
KR20140044162A (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 KR1020120110197A priority Critical patent/KR101429621B1/ko
Publication of KR20140044162A publication Critical patent/KR20140044162A/ko
Application granted granted Critical
Publication of KR101429621B1 publication Critical patent/KR101429621B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Tourism & Hospitality (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법에 관한 것으로, 소정의 시드 뉴스의 각 문장과, 중복 뉴스의 문장 간의 유사도를 산출하고, 산출한 상기 유사도 중에서 최대값에 해당하는 최대 유사도를 산출하는 유사도 산출부; 및 산출된 상기 최대 유사도를 소정의 임계값과 비교하며, 상기 최대 유사도가 상기 임계값 미만이면 상기 중복 뉴스의 문장을 상기 시드 뉴스에 결합하여 결합 뉴스를 생성하는 결합 뉴스 생성부를 포함하는 중복 뉴스 결합 시스템을 제공한다.

Description

중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법{DUPLICATION NEWS DETECTION SYSTEM AND METHOD FOR DETECTING DUPLICATION NEWS}
본 발명은 중복 뉴스(DUPLICATION NEWS)를 결합하는 시스템 및 방법에 관한 것이다.
일반적으로, 인터넷 검색 엔진은 실시간 발생하는 사건에 관련된 정보를 여러 뉴스 사이트에서 수집하여 제공한다. 뉴스 사이트들은 매일 많은 양의 뉴스들을 제공하고 있으며, 구독자가 관심을 가질만한 이슈가 되는 사건의 경우 대부분의 뉴스 사이트에서 해당 사건에 관련된 유사한 뉴스 기사를 제공한다. 이에 따라, 검색 엔진에 의하여 검색된 리스트에는 여러 뉴스 사이트에서 수집된 다수의 중복 뉴스(duplication news)가 포함된다. 사용자가 인터넷 검색 엔진에 특정 검색어를 입력하여 뉴스를 검색하는 경우에 있어서도 유사한 내용의 뉴스 기사가 중복해서 나타난다. 이와 같이 검색 엔진은 여러 뉴스 사이트에서 동시에 발생하는 중복 뉴스를 처리하지 않고 있어, 수집된 데이터에 중복이 발생한다는 문제가 있다. 이러한 중복 뉴스로 인해 예를 들어 스마트폰과 같은 개인 단말기의 사용자는 이전에 습득하였던 정보와 유사한 뉴스 기사를 불필요하게 반복적으로 제공받게 되며, 원하는 새로운 뉴스를 찾는데 오랜 시간을 들이게 되는 불편을 겪는다. 한편, 이슈가 되는 많은 사건의 경우, 뉴스 사이트는 이전 뉴스의 사건에 관련된 최신 뉴스를 실시간으로 제공한다. 그런데, 이전 뉴스와 최신 뉴스가 관련되는 뉴스 기사라 하더라도 최신 뉴스에는 이전 뉴스와 다른 의미적인 내용이 새로이 추가되어 있기 때문에, 이러한 새로운 뉴스 정보를 중복 뉴스로 판단하여 제거하게 되면 정보의 유실이 발생하게 된다.
본 발명은 뉴스 정보의 유실을 최소화하는 중복 뉴스 결합 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명은 시드 뉴스와 중복 뉴스를 하나의 문서로 통합하여 결합 문서를 생성함으로써 사용자로 하여금 뉴스 정보를 보다 효율적으로 습득할 수 있도록 하는 중복 뉴스 결합 시스템을 제공하는 것을 목적으로 한다.
본 발명이 해결하고자 하는 과제는 이상에서 언급된 과제로 제한되지 않는다. 언급되지 않은 다른 기술적 과제들은 이하의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따른 중복 뉴스 결합 시스템은 소정의 시드 뉴스의 각 문장과, 중복 뉴스의 문장 간의 유사도를 산출하고, 산출한 상기 유사도 중에서 최대값에 해당하는 최대 유사도를 산출하는 유사도 산출부; 산출된 상기 최대 유사도를 소정의 임계값과 비교하며, 상기 최대 유사도가 상기 임계값 미만이면 상기 중복 뉴스의 문장을 상기 시드 뉴스에 결합하여 결합 뉴스를 생성하는 결합 뉴스 생성부를 포함한다.
상기 결합 뉴스 생성부는, 상기 중복 뉴스의 문장과의 유사도가 상기 최대값으로 나타나는 상기 시드 뉴스의 문장과, 이의 다음 문장의 사이에 상기 중복 뉴스의 문장을 추가한다.
상기 유사도 산출부는 상기 중복 뉴스의 문장마다 상기 최대 유사도를 산출하며, 상기 결합 뉴스 생성부는 상기 중복 뉴스의 문장들 중에서 상기 최대 유사도가 상기 임계값 미만에 해당하는 문장을 상기 시드 뉴스에 결합하여 결합 뉴스를 생성한다.
상기 중복 뉴스 결합 시스템은, 상기 시드 뉴스에 대한 중복 뉴스 그룹에 속하는 모든 중복 뉴스에 대하여, 상기 최대 유사도가 상기 임계값 미만인 상기 중복 뉴스의 문장을 상기 시드 뉴스에 결합하며, 상기 시드 뉴스와 상기 중복 뉴스 그룹에 속하는 상기 모든 중복 뉴스를 하나의 문서로 통합하여 상기 결합 뉴스를 생성한다.
상기 중복 뉴스 결합 시스템은, 상기 하나의 문서로 통합된 상기 결합 뉴스를 웹 페이지 형태로 제공하는 뉴스 추천부를 더 포함한다.
상기 뉴스 추천부는, 상기 결합 뉴스 중 상기 시드 뉴스에 상기 중복 뉴스의 문장이 추가된 부분에 상기 시드 뉴스의 문장과 구별되도록 식별 표시를 하여 상기 웹 페이지 형태로 제공한다.
상기 결합 뉴스 생성부는, 상기 최대 유사도가 상기 임계값 이상이면 상기 중복 뉴스의 문장을 상기 시드 뉴스에 결합하지 않는다.
상기 유사도 산출부는, 상기 시드 뉴스의 문장과, 상기 중복 뉴스의 문장으로부터 동사를 추출하며, 추출한 상기 시드 뉴스의 문장의 동사와, 상기 중복 뉴스의 문장의 동사 간의 유사도를 산출하여 상기 시드 뉴스의 문장과 상기 중복 뉴스의 문장 간의 유사도를 산출한다.
상기 유사도 산출부는, 상기 시드 뉴스의 문장과 상기 중복 뉴스의 문장에서 나타나는 동사를 공통으로 포함하는 워드넷 용어집 기반 계층에서의 최 하위 계층 상위 동사를 검출하고, 상기 시드 뉴스의 문장에서 나타나는 동사, 상기 중복 뉴스의 문장에서 나타나는 동사 및 상기 최 하위 계층 상위 동사의 동의어 어휘의 개수에 비례하는 연산을 수행하여 확률 값을 산출하며, 산출한 상기 확률 값을 이용하여 상기 유사도를 산출한다.
본 발명의 다른 일 측면에 따른 중복 뉴스 결합 시스템은 소정의 시드 뉴스를 저장하는 시드뉴스 데이터베이스; 상기 시드 뉴스의 제목에 나타나는 단어를 포함하는 검색어를 이용하여 대상 뉴스들을 검색하는 검색 엔진; 검색된 상기 대상 뉴스들을 저장하는 대상 뉴스 데이터베이스; 상기 시드 뉴스와 상기 대상 뉴스들 각각으로부터 제목을 추출하고, 추출한 상기 시드 뉴스의 제목과 상기 대상 뉴스의 제목 간의 유사도를 산출하며, 산출한 상기 제목 간의 유사도에 기초하여 상기 대상 뉴스들 중에서 중복 후보 뉴스를 탐지하는 중복 후보 뉴스 탐지부; 상기 시드 뉴스와 상기 중복 후보 뉴스로부터 컨텐츠를 추출하고, 추출한 상기 시드 뉴스의 컨텐츠에 포함된 문장과 상기 중복 후보 뉴스의 컨텐츠에 포함된 문장 간의 유사도를 산출하며, 산출한 상기 문장 간의 유사도에 기초하여 상기 중복 후보 뉴스 중에서 중복 뉴스를 탐지하는 중복 뉴스 탐지부; 탐지된 상기 중복 뉴스를 저장하는 중복 뉴스 데이터베이스; 상기 시드 뉴스와 상기 중복 뉴스를 하나의 문서로 통합하여 결합 뉴스를 생성하는 중복 뉴스 결합부; 및 상기 결합 뉴스를 웹 페이지 형태로 제공하는 뉴스 추천부를 포함하며, 상기 중복 뉴스 결합부는, 상기 시드 뉴스의 각 문장과, 상기 중복 뉴스의 문장 간의 유사도를 산출하고, 산출한 상기 유사도 중에서 최대값에 해당하는 최대 유사도를 산출하는 유사도 산출부; 및 산출된 상기 최대 유사도를 소정의 임계값과 비교하며, 상기 최대 유사도가 상기 임계값 미만이면 상기 중복 뉴스의 문장을 상기 시드 뉴스에 결합하여 결합 뉴스를 생성하는 결합 뉴스 생성부를 포함한다.
상기 결합 뉴스 생성부는, 상기 중복 뉴스의 문장과의 유사도가 상기 최대값으로 나타나는 상기 시드 뉴스의 문장과, 이의 다음 문장의 사이에 상기 중복 뉴스의 문장을 추가한다.
상기 뉴스 추천부는, 상기 결합 뉴스 중 상기 시드 뉴스에 상기 중복 뉴스의 문장이 추가된 부분에 상기 시드 뉴스의 문장과 구별되도록 식별 표시를 하여 상기 웹 페이지 형태로 제공한다.
본 발명의 실시예에 의하면 뉴스 정보의 유실을 최소화할 수 있다.
또한, 본 발명의 실시예에 의하면 최신의 뉴스와 과거의 뉴스를 혼용한 많은 정보를 사용자에게 제공할 수 있으며, 사용자는 시드 뉴스와 중복 뉴스로부터 하나의 문서로 통합된 결합 뉴스를 통해 뉴스 정보를 효율적으로 습득할 수 있다.
또한, 본 발명의 실시예에 의하면 효율적으로 중복 뉴스를 탐지하여 시드 뉴스에 결합함으로써, 결합 뉴스를 빠른 속도로 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템의 구성도이다.
도 2는 시드 뉴스와, 중복 뉴스에 해당하는 대상 뉴스의 일 예를 보여주는 도면이다.
도 3은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 후보 뉴스 탐지부의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 후보 뉴스 판단부의 구성도이다.
도 5는 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 뉴스 탐지부의 구성도이다.
도 6은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 뉴스 탐지 전처리부의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 뉴스 판단부의 구성도이다.
도 8은 본 발명의 일 실시예에 따른 중복 뉴스 결합 방법의 흐름도이다.
도 9는 도 8의 실시예에 도시된 단계 S82 및 단계 S84를 실행하는 프로그램을 보여주는 도면이다.
도 10은 도 8의 실시예에 도시된 단계 S85를 실행하는 프로그램을 보여주는 도면이다.
도 11은 본 발명의 일 실시예에 따른 중복 뉴스 결합 방법에 의해 결합 뉴스를 생성한 것을 예시적으로 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 중복 뉴스 결합 방법에 의해 생성된 결합 뉴스의 시드 뉴스 대비 문장의 증가 비율을 나타낸 그래프이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 갖는다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들은 언급된 구성요소, 단계 및/또는 동작 외의 하나 이상의 다른 구성요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부'의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부'가 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'에서 제공되는 기능은 더 작은 수의 구성요소 및 '~부'로 결합되거나 추가적인 구성요소와 '~부'로 더 분리될 수 있다.
본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템은 중복 뉴스의 문장과 가장 유사도가 높은 시드 뉴스의 문장을 탐지하며, 중복 뉴스의 문장과 시드 뉴스의 문장 간의 최대 유사도가 임계값 미만일 때 중복 뉴스의 문장을 시드 뉴스에 결합하여 하나의 문서로 통합된 결합 뉴스를 생성한다. 결합 뉴스는 시드 뉴스의 정보 외에 추가적으로 업데이트된 정보를 모두 포함하고 있으므로 정보의 유실이 방지되며, 뉴스 검색자는 하나의 문서로 통합된 결합 뉴스를 통해 필요한 뉴스 정보를 효과적으로 습득할 수 있다. 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템은 중복 뉴스의 문장을 중복 뉴스의 문장과의 유사도가 최대값으로 나타나는 시드 뉴스의 문장과, 이의 다음 문장의 사이에 추가하므로, 결합 뉴스의 문장들은 문맥적으로 자연스러운 구조로 배치된다. 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템은 결합 뉴스 중 시드 뉴스에 중복 뉴스의 문장이 추가된 부분에 식별 표시를 하여 제공하므로, 뉴스 검색자는 웹 페이지를 통해 시드 뉴스로부터 업데이트된 정보가 무엇인지를 쉽게 파악할 수 있다.
도 1은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템의 구성도이다. 도 1을 참조하면, 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템(100)은 시드 뉴스 데이터베이스(101), 검색 엔진(102), 대상 뉴스 데이터베이스(103), 중복 후보 뉴스 탐지부(110), 중복 뉴스 탐지부(120), 중복 뉴스 데이터베이스(130), 중복 뉴스 결합부(140) 및 뉴스 추천부(150)를 포함한다. 이하에서는 먼저 중복 뉴스를 탐지하기 위한 구성들에 대해 설명한 다음, 탐지된 중복 뉴스를 통합하여 결합 뉴스를 생성하는 구성들에 대해 설명한다.
시드 뉴스 데이터베이스(101)는 시드 뉴스(seed news)들을 저장한다. 시드 뉴스는 대상 뉴스(target news) 중에서 중복 뉴스를 탐지하기 위해 대상 뉴스와 비교되는 뉴스를 의미할 수 있다. 시드 뉴스는 예를 들어 뉴스 제공 서브시스템(104, 105, 106)에서 제공하는 헤드라인 뉴스(headline news)를 포함할 수 있다. 일 예로, 시드 뉴스 데이터베이스(101)는 어느 하나의 뉴스 제공 서브시스템에서 카테고리별로 제공하는 헤드라인 뉴스를 저장할 수 있다. 카테고리는 예를 들어, "정치", "경제", "사회", "문화", "연예" 또는 "스포츠" 등을 포함할 수 있다.
대상 뉴스 데이터베이스(103)는 대상 뉴스(target news)들을 저장한다. 중복 후보 뉴스 탐지부(110) 및 중복 뉴스 탐지부(120)에 의해 대상 뉴스들 중 시드 뉴스와 중복되는 내용을 포함하는 대상 뉴스가 중복 뉴스로 탐지된다. 대상 뉴스는 예를 들어 검색 엔진(102)이 시드 뉴스의 제목에 나타나는 단어를 포함하는 검색어를 이용하여 검색한 뉴스들을 포함할 수 있다. 대상 뉴스는 예를 들어 카테고리별로 수집된 헤드라인 뉴스의 제목에 나타나는 단어들을 검색어로 하여 검색 엔진(102)에 의해 검색된 뉴스일 수 있다.
도 2는 시드 뉴스와, 중복 뉴스에 해당하는 대상 뉴스의 일 예를 보여주는 도면이다. 도 2를 참조하면, 시드 뉴스와 대상 뉴스는 동일한 내용을 포함할 수 있으며, 이러한 경우 대상 뉴스를 중복 뉴스로 탐지할 필요가 있다. 예를 들어 도 2에서 좌측의 시드 뉴스는 인터뷰 내용을 생략하여 제공하며, 우측의 대상 뉴스는 인터뷰 내용(21)을 생략하지 않고 제공한 거의-중복 뉴스의 예에 해당한다. 시드 뉴스와 대상 뉴스가 설명하는 내용이 같더라도 표현하는 방법이 다를 경우 대상 뉴스를 중복 뉴스로 탐지하지 못하거나, 중복 뉴스로 탐지하는데 많은 시간이 소요될 수 있다.
본 발명의 실시예에 따른 중복 뉴스 결합 시스템은 대상 뉴스들 중에서 중복 뉴스를 빠르고 정확하게 탐지하기 위하여, 중복 후보 뉴스 탐지부(110)와 중복 뉴스 탐지부(120)를 포함한다. 예를 들어 시드 뉴스는 제목(title)과, 컨텐츠(contents)를 포함하며, 대상 뉴스는 텍스트 제목(text title)과, 컨텐츠(contents)를 포함한다. 검색 엔진에 의해 대상 뉴스가 검색될 때, 검색 엔진의 검색 리스트에는 대상 뉴스의 앵커 제목(anchor title)이 나타난다. 대상 뉴스의 제목은 텍스트 제목과 앵커 제목을 포함한다.
중복 후보 뉴스 탐지부(110)는 시드 뉴스와 대상 뉴스의 제목(앵커 제목, 텍스트 제목) 간의 유사도에 기초하여 1차적으로 대상 뉴스들 중에서 중복 후보 뉴스를 빠른 속도로 탐지하고, 중복 뉴스 탐지부(120)는 시드 뉴스와 대상 뉴스의 컨텐츠 간의 유사도에 기초하여 2차적으로 중복 후보 뉴스들 중에서 중복 뉴스를 정확하게 탐지할 수 있다.
중복 후보 뉴스 탐지부(110)는 시드 뉴스와 대상 뉴스들 각각으로부터 제목을 추출하고, 추출한 시드 뉴스의 제목과 각각의 대상 뉴스의 제목 간의 유사도를 산출하며, 산출한 제목 간의 유사도에 기초하여 대상 뉴스들 중에서 중복 후보 뉴스를 탐지한다. 도 3은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 후보 뉴스 탐지부의 구성도이다. 도 3을 참조하면, 중복 후보 뉴스 탐지부(110)는 전처리부(111)와 중복 후보 뉴스 판단부(112)를 포함한다. 전처리부(111)는 시드 뉴스와 대상 뉴스로부터 제목을 추출하고, 추출한 제목에 포함된 단어 중에서 불용어를 제거하고, 불용어를 제거한 단어를 어근의 형태로 변환한다. 본 발명의 일 실시예에 있어서, 중복 후보 뉴스 탐지부(110)는 대상 뉴스의 텍스트 제목과 앵커 제목 각각을 시드 뉴스의 제목과 비교하여 중복 후보 뉴스를 탐지할 수 있으며, 이러한 경우 전처리부(111)는 시드 뉴스의 제목과, 대상 뉴스의 텍스트 제목 및 앵커 제목에 대하여 전처리(preprocessing)를 수행할 수 있다.
일 실시예에 있어서, 전처리부(111)는 <title></title>과 같은 HTML 태그(Tag) 정보를 이용하여 시드 뉴스 및 대상 뉴스들로부터 제목을 추출할 수 있다. 전처리부(111)는 추출된 제목에 나타나는 단어에서 불용어(stop word)를 제거하고, 어근 처리(stemming)를 한다. 불용어는 예를 들어 관사 'the', 'a', 'an', 전치사 'to', 'of', 'in', 'into', 'for' 등과 같이 발생 빈도가 높지만 단일 단어로는 의미를 가지지 않는 것을 말한다. 어근 처리는 키워드의 어형론적 변형을 찾아내서 동일한 의미의 여러 단어를 하나의 단어로 변환하는 작업을 의미한다. 예를 들어 영문에서 단어들은 일정 의미를 갖는 어근(stem)과 단어의 형태 변화 타입인 어미(suffix)로 구성되는데, 전처리부(111)는 단어들을 의미를 갖는 어근의 형태로 변환한다. 예를 들어, 'description', 'descriptive', 'descriptor'를 어근 처리하면, 'descript'의 같은 단어로 변경된다.
중복 후보 뉴스 판단부(112)는 시드 뉴스의 제목과 각각의 대상 뉴스의 제목 간의 유사도를 산출하고, 산출한 제목 간의 유사도에 기초하여 각각의 대상 뉴스가 중복 후보 뉴스에 해당하는지 여부를 판단한다. 앞서 언급한 바와 같이, 대상 뉴스의 제목은 검색 엔진의 리스트에 나타나는 앵커 제목(anchor title)과 상세 페이지에 나타나는 텍스트 제목(text title)의 두 가지로 구성될 수 있으며, 중복 후보 뉴스 판단부(112)는 시드 뉴스의 제목과 대상 뉴스의 앵커 제목 간의 유사도 및 시드 뉴스의 제목과 대상 뉴스의 텍스트 제목 간의 유사도에 기초하여 대상 뉴스들 중에서 중복 후보 뉴스를 추출할 수 있다. 일 실시예에 있어서, 중복 후보 뉴스 판단부(112)는 후술될 벡터 모델(vector model)과 변형된 다이스 상관 계수(Dice's coefficient)를 이용하여 제목 간의 유사도를 구하고, 제목 간의 유사도가 미리 설정된 임계값 이상인 대상 뉴스를 중복 뉴스가 될 가능성이 있는 중복 후보 뉴스로 분류할 수 있다.
도 4는 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 후보 뉴스 판단부의 구성도이다. 도 4를 참조하면, 중복 후보 뉴스 판단부(112)는 제1 유사도 산출부(1121), 제2 유사도 산출부(1122), 유사도 결정부(1123) 및 임계값 비교부(1124)를 포함한다. 제1 유사도 산출부(1121)는 시드 뉴스의 제목과, 검색 엔진의 검색 리스트에 나타나는 대상 뉴스의 앵커 제목 간의 제1 유사도를 산출한다. 제2 유사도 산출부(1122)는 시드 뉴스의 제목과, 대상 뉴스의 컨텐츠에 나타나는 제목 간의 제2 유사도를 산출한다. 유사도 결정부(1123)는 제1 유사도 및 제2 유사도 중 보다 큰 유사도를 제목 간의 유사도로 결정한다. 임계값 비교부(1124)는 제목 간의 유사도를 소정의 임계값과 비교하여 중복 후보 뉴스를 탐지한다.
이를 보다 구체적으로 설명하면 다음과 같다. 전처리부(111)에 의해 시드 뉴스와 대상 뉴스로부터 추출되어 불용어가 제거되고 어근 처리된 단어들은 아래의 수식 1과 같은 집합들로 나타낼 수 있다.
[수식 1]
Figure 112012080508963-pat00001
이때, STi는 i번째 시드 뉴스의 제목에 나타나는 단어들의 집합을 나타내고, CTj는 수집된 j번째 대상 뉴스의 텍스트 제목에 나타나는 단어들의 집합을 나타내고, ATj는 수집된 j번째 대상 뉴스의 앵커 제목에 나타나는 단어들의 집합을 나타내고, sti ,k는 i번째 시드 뉴스의 제목에 나타나는 k번째 단어를 나타내고, ctj ,m는 수집된 j번째 대상 뉴스의 텍스트 제목에 나타나는 m번째 단어를 나타내고, atj ,n는 수집된 j번째 대상 뉴스의 앵커 제목에 나타나는 n번째 단어를 나타낸다.
중복 후보 뉴스 판단부(112)는 시드 뉴스의 제목에서 나타나는 단어의 빈도에 비례하고, 시드 뉴스와 대상 뉴스의 모든 제목에서 나타나는 단어의 빈도에 반비례하는 연산을 수행하여 시드 뉴스의 제목에 나타나는 단어의 가중치를 산출하고, 대상 뉴스의 제목에서 나타나는 단어의 빈도에 비례하고, 시드 뉴스와 대상 뉴스의 모든 제목에서 나타나는 단어의 빈도에 반비례하는 연산을 수행하여 대상 뉴스의 제목에 나타나는 단어의 가중치를 산출할 수 있다. 중복 후보 뉴스 판단부(112)는 예를 들어 아래의 수식 2와 같이 tf-itf(term frequency inverse title frequency)를 이용하여 단어의 가중치를 산출할 수 있다.
[수식 2]
Figure 112012080508963-pat00002
이때, ωt는 시드 뉴스 또는 대상 뉴스의 제목(앵커 제목 또는 컨텐츠 제목)에 나타나는 단어의 가중치를 나타내고,
Figure 112012080508963-pat00003
는 시드 뉴스와 대상 뉴스의 제목에서의 단어의 정규화 빈도를 나타내며,
Figure 112012080508963-pat00004
는 단어의 역제목 빈도수(itf; inverse title frequency)를 나타내며, │T│는 시드 뉴스와 대상 뉴스의 전체 제목의 개수를 나타내며,
Figure 112012080508963-pat00005
는 시드 뉴스와 대상 뉴스의 전체 제목에서 단어 ω가 나타나는 수를 나타낸다. 역제목 빈도수
Figure 112012080508963-pat00006
는 제목에서 흔하게 나오는 단어의 가중치를 낮추는 역할을 한다. 수식 2에서 제목 t에서의 단어 ω의 정규화 빈도
Figure 112012080508963-pat00007
는 아래의 수식 3과 같이 정의될 수 있다.
[수식 3]
Figure 112012080508963-pat00008
이때, freqω,T는 제목 t에서 나타나는 단어 ω의 빈도를 나타내고, maxlfreql,t는 제목 t에서 나타나는 단어들의 빈도들 중 최대값을 나타낸다.
제1 유사도 산출부(1121)는 시드 뉴스의 제목에 나타나는 단어의 가중치와, 대상 뉴스의 앵커 제목에 나타나는 단어의 가중치를 이용하여 시드 뉴스의 제목과 대상 뉴스의 앵커 제목 간의 제1 유사도를 산출한다. 일 실시예에 있어서, 제1 유사도 산출부(1121)는 시드 뉴스의 제목과, 대상 뉴스의 앵커 제목에 동시에 포함되는 단어의 가중치들을 합한 값에서 시드 뉴스의 제목에 포함되는 단어의 가중치들과 앵커 제목에 포함되는 단어의 가중치들을 합한 값으로 나눈 값을 제1 유사도로 산출할 수 있다. 제1 유사도 산출부(1121)는 시드 뉴스의 제목과 대상 뉴스의 앵커 제목에 나타나는 단어의 가중치를 변형된 다이스 상관계수의 수식에 적용함으로써, 단어의 중요도를 반영하여 제1 유사도를 산출할 수 있다. 예를 들어 제1 유사도 산출부(1121)는 아래의 수식 4와 같은 변형된 다이스 상관계수의 수식을 이용하여 시드 뉴스의 제목과 대상 뉴스의 앵커 제목에서 나타나는 단어의 가중치로부터 제1 유사도를 산출할 수 있다.
[수식 4]
Figure 112012080508963-pat00009
수식 4에서,
Figure 112012080508963-pat00010
는 i번째 시드 뉴스의 제목에 나타나는 단어들의 집합 STi과, 수집된 j번째 대상 뉴스의 앵커 제목에 나타나는 단어들의 집합 ATj 사이의 제1 유사도를 나타내고, p는 시드 뉴스의 제목과 대상 뉴스의 앵커 제목에서 동시에 나타나는 단어를 나타내며, c는 시드 뉴스의 제목과 대상 뉴스의 앵커 제목에서 동시에 나타나는 단어의 개수를 나타내며, sti ,p는 시드 뉴스의 제목에서 나타나는 단어의 가중치를 나타내며, atj ,p는 대상 뉴스의 앵커 제목에서 나타나는 단어의 가중치를 나타내며, a는 시드 뉴스의 제목에서 나타나는 단어의 개수를 나타내며, b는 대상 뉴스의 앵커 제목에서 나타나는 단어의 개수를 나타낸다.
제2 유사도 산출부(1121)는 시드 뉴스의 제목에 나타나는 단어의 가중치와, 대상 뉴스의 텍스트 제목에 나타나는 단어의 가중치를 이용하여 시드 뉴스의 제목과 대상 뉴스의 텍스트 제목 간의 제2 유사도를 산출한다. 일 실시예에 있어서, 제2 유사도 산출부(1122)는 시드 뉴스의 제목과, 대상 뉴스의 컨텐츠의 텍스트 제목에 동시에 포함되는 단어의 가중치들의 합한 값에서 시드 뉴스의 제목에 포함되는 단어의 가중치들과 대상 뉴스의 텍스트 제목에 포함되는 단어의 가중치들을 합한 값으로 나눈 값을 제2 유사도로 산출할 수 있다.
제2 유사도 산출부(1122)는 시드 뉴스의 제목과 대상 뉴스의 텍스트 제목에 나타나는 단어의 가중치를 변형된 다이스 상관계수의 수식에 적용함으로써 단어의 중요도를 반영하여 제2 유사도를 산출할 수 있다. 예를 들어 제2 유사도 산출부(1122)는 아래의 수식 5와 같은 변형된 다이스 상관계수의 수식을 이용하여 시드 뉴스의 제목과 대상 뉴스의 텍스트 제목에서 나타나는 단어의 가중치로부터 제2 유사도를 산출할 수 있다.
[수식 5]
Figure 112012080508963-pat00011
수식 5에서,
Figure 112012080508963-pat00012
는 i번째 시드 뉴스의 제목에 나타나는 단어들의 집합 STi과, 수집된 j번째 대상 뉴스의 텍스트 제목에 나타나는 단어들의 집합 CTj 사이의 제2 유사도를 나타내며, p는 시드 뉴스의 제목과 대상 뉴스의 텍스트 제목에서 동시에 나타나는 단어를 나타내며, c는 시드 뉴스의 제목과 대상 뉴스의 텍스트 제목에서 동시에 나타나는 단어의 개수를 나타내며, sti ,k는 시드 뉴스의 제목에서 나타나는 단어의 가중치를 나타내며, ctj ,m는 대상 뉴스의 텍스트 제목에서 나타나는 단어의 가중치를 나타내며, a는 시드 뉴스의 제목에서 나타나는 단어의 개수를 나타내며, b는 대상 뉴스의 텍스트 제목에서 나타나는 단어의 개수를 나타낸다.
유사도 결정부(1123)는 예를 들어 아래의 수식 6에 따라 제1 유사도
Figure 112012080508963-pat00013
와, 제2 유사도
Figure 112012080508963-pat00014
중에서 최대값을 판단하여 이로부터 시드 뉴스의 제목과 대상 뉴스의 제목 간의 유사도
Figure 112012080508963-pat00015
를 산출한다.
[수식 6]
Figure 112012080508963-pat00016
예를 들어, 시드 뉴스 A의 제목에 나타나는 단어가 a, b, c이고, 대상 뉴스 B의 앵커 제목에 나타나는 단어가 a, c, d이고, 대상 뉴스 B의 컨텐츠 제목에 나타나는 단어가 b, c, d인 경우, 앞서 언급된 수식 2를 사용하면 단어 a, b, c, d 각각에 대한 단어의 가중치는 0.1, 0.2, 0.3, 0.2로 산출된다. 시드 뉴스 A의 제목과 대상 뉴스 B의 앵커 제목에서 동시에 나타나는 단어는 a, c이므로, 수식 4에서 분자
Figure 112012080508963-pat00017
는 (0.1+0.3)+(0.1+0.3) = 0.8의 값을 가지며,
Figure 112012080508963-pat00018
는 0.1+0.2+0.3 = 0.6이고,
Figure 112012080508963-pat00019
는 0.1+0.3+0.2 = 0.6이 되어 분모
Figure 112012080508963-pat00020
+
Figure 112012080508963-pat00021
는 1.2의 값을 갖는다. 이에 따라, 제1 유사도
Figure 112012080508963-pat00022
는 0.8/1.2 = 0.67의 값을 갖게 된다.
시드 뉴스 A의 제목과 대상 뉴스 B의 컨텐츠 제목에 동시에 나오는 단어는 b, c이므로, 수학식 5에 의해 분자
Figure 112012080508963-pat00023
는 (0.2+0.3)+(0.2+0.3) = 1의 값을 가지며,
Figure 112012080508963-pat00024
는 0.1+0.2+0.3 = 0.6이 되고,
Figure 112012080508963-pat00025
은 0.2+0.3+0.2 = 0.7이 되어, 분모
Figure 112012080508963-pat00026
+
Figure 112012080508963-pat00027
는 1.3의 값을 갖는다. 이에 따라, 제2 유사도
Figure 112012080508963-pat00028
는 1/1.3 = 0.77의 값을 갖게 된다.
유사도 결정부(1123)는 앞서 언급된 수식 6에 따라 제1 유사도와 제2 유사도 중 큰 값인 0.77을 시드 뉴스의 제목과 대상 뉴스의 제목 간의 유사도
Figure 112012080508963-pat00029
로 결정할 수 있다. 임계값 비교부(1124)는 산출된 제목 간의 유사도를 미리 결정된 임계값 α과 비교하여, 임계값 α를 넘으면 대상 뉴스를 중복 후보 뉴스로 분류하고, 임계값 α를 넘지 않으면 중복 후보 뉴스에서 제외한다. 전술한 과정에 따라 중복 후보 뉴스 탐지부(110)에 의해 1차 클러스터링(Clustering)이 수행된다.
다시 도 1을 참조하면, 중복 뉴스 탐지부(120)는 시드 뉴스와 중복 후보 뉴스로부터 컨텐츠를 추출하고, 추출한 시드 뉴스의 컨텐츠에 포함된 문장과 중복 후보 뉴스의 컨텐츠에 포함된 문장 간의 유사도를 산출하며, 산출한 문장 간의 유사도에 기초하여 중복 후보 뉴스 중에서 중복 뉴스를 탐지한다. 중복 뉴스 탐지부(120)는 분류된 중복 후보 뉴스의 내용을 분석하여 시드 뉴스의 내용과 유사도 비교를 통해 최종적으로 중복 뉴스인지 아닌지를 판별한다.
일 실시예에 있어서, 중복 뉴스 탐지부(120)는 전체 내용이 아닌 문장 단위의 의미적 접근을 통해 시드 뉴스와 중복 후보 뉴스의 내용 간의 유사도를 산출할 수 있다. 일반적인 방식에 따라 문장 간의 유사도를 산출하는 경우, 전혀 다른 상반된 내용임에도 불구하고 유사도가 높게 산출되는 경우가 발생할 수 있다. 예를 들어 아래의 세 개의 문장들 중 첫 번째와 세 번째 문장은 전혀 다른 상반된 내용이나, 일반적인 문장 간의 유사도 산출 방식에 의하면 단어들의 유사성으로 인해 유사도가 높게 산출될 수 있다.
① I bought a computer from a computer shop in Yongsan.
② The computer was purchased from a computer shop in Yongsan.
③ The computer was sold to a computer shop in Yongsan..
이에 따라, 본 발명의 실시예는 문장이 가지는 단어의 색인어와 동사를 구분하여 문장의 유사도를 정확하게 산출한다.
도 5는 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 뉴스 탐지부의 구성도이다. 도 5를 참조하면, 중복 뉴스 탐지부(120)는 중복 뉴스 탐지 전처리부(121) 및 중복 뉴스 판단부(122)를 포함한다. 중복 뉴스 탐지 전처리부(121)는 시드 뉴스와 중복 후보 뉴스로부터 컨텐츠를 추출하고, 추출한 컨텐츠의 구문을 분석하며, 컨텐츠에서 문장을 검출한다.
도 6은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 뉴스 탐지 전처리부의 구성도이다. 도 6을 참조하면, 중복 뉴스 탐지 전처리부(121)는 태그 제거부(1211), 구문 분석부(1212), 문장 검출부(1213), 동사 추출부(1214) 및 불용어 제거 및 어근 처리부(1215)를 포함한다. 태그 제거부(1211)는 시드 뉴스와 중복 후보 뉴스의 태그를 제거하고, 시드 뉴스와 중복 후보 뉴스로부터 컨텐츠를 추출한다. 태그 제거부(1211)는 예를 들어 시드 뉴스와 중복 후보 뉴스에서 웹 페이지에 나타나는 HTML 태그(Tag)나, 불필요한 태그들을 제거한다. 구문 분석부(1212)는 컨텐츠의 구문을 분석한다. 구문 분석부(1212)는 예를 들어 스탠포드 파서와 같은 형태소 분석기를 이용하여 태그가 제거된 웹 페이지 뉴스를 구문 분석하여 명사와 동사를 인식할 수 있다. 형태소 분석기는 형태소들로 구성된 단어를 구성 성분별로 분석하여, 명사, 형용사, 동사 등 단어의 품사를 제공한다.
문장 검출부(1213)는 구문 분석부(1212)의 구문 분석 결과에 따라, 컨텐츠에서 문장을 검출한다. 문장 검출부(1213)는 예를 들어 형태소 분석기의 분석 결과에서 명사의 형태인 /NNP, /NN과 동사의 형태인 /VBZ, /VBN이 나타나면 문장으로 인식할 수 있다. 문장 검출부(1213)는 마침표의 위치를 이용하여 문장 간을 분리할 수 있으며, 뉴스에서 연속해서 문장의 형태를 가지는 위치를 찾아 뉴스의 내용으로 인지할 수 있다.
동사 추출부(1214)는 검출된 문장으로부터 동사를 추출한다. 동사 추출부(1214)는 예를 들어 분리된 문장 각각에서 형태소 분석기에 의한 태깅(tagging)이 /VBX 형태로 나타나는 동사를 추출할 수 있다. 추출된 동사는 해당 문장에서 의미를 가지는 동사의 후보가 된다. 예를 들어 스탠포드 파서에서 제공하는 단어 형태의 의존성을 이용하여 의미를 가지는 동사를 선택할 수 있다. 불용어 제거 및 어근 처리부(1215)는 분리된 문장의 단어 중에서 동사를 제거한 나머지 단어에서 단일 단어로는 의미를 갖지 않는 불용어를 제거하고, 불용어를 제거한 단어를 어근의 형태로 변환하는 어근 처리를 한다.
예를 들어, 시드 뉴스 또는 대상 뉴스의 컨텐츠의 문장 중에 "Steve Jobs has succeeded as a businessman."이라는 문장이 포함되어 있을 경우, 이 문장을 형태소 분석기로 POS 태깅(tagging)하면, "Steve/NNP Jobs/NNP has/VBZ succeeded/VBN as/IN a/DT businessman/NN ./."와 같이 나타난다. 여기서, /NNP는 동사와 관련 있는 명사를 나타내며, /VBZ, /VBN은 동사를, /IN은 전치사를, /DT는 관사를, /NN은 명사를 나타낸다.
동사 추출부(1214)는 예를 들어 태깅된 정보 중 동사를 나타내는 태그 (VP (VBZ has) (VP (VBN succeeded)))를 동사의 후보로 추출하며, 스탠포드 파서에서 제공하는 단어 형태의 의존성을 이용하여 후보로 선출된 동사 중 의미 있는 동사를 선택한다. 해당 문장에 나타나는 단어 형태의 의존성을 살펴보면 nn(Jobs-2, Steve-1), nsubj(succeeded-4, Jobs-2), aux(succeeded-4, has-3), det(businessman-7, a-6), prep_as(succeeded-4, businessman-7)로 표현된다. nn은 명사를 의미하고, nsubj는 명사가 하는 행위를 나타내며, aux는 본동사와 조동사를 나타내며, det는 명사와 관사를 나타내며, prep_as는 두 단어의 충돌 관계를 나타낸다. 단어 형태의 의존성 중 aux의 정보를 살펴보면 succeeded는 본동사이며, has는 조동사인 것을 알 수 있고, 후보로 선택된 두 개의 동사가 succeeded와 has 이기 때문에 해당 문장에서 의미 있는 동사로 succeeded가 선택된다.
다시 도 5를 참조하면, 중복 뉴스 판단부(122)는 시드 뉴스의 컨텐츠에 포함된 문장과 중복 후보 뉴스의 컨텐츠에 포함된 문장 간의 유사도를 산출하고, 산출한 문장 간의 유사도에 기초하여 중복 후보 뉴스가 중복 뉴스에 해당하는지 여부를 판단한다. 도 7은 본 발명의 일 실시예에 따른 중복 뉴스 결합 시스템을 구성하는 중복 뉴스 판단부의 구성도이다. 도 7을 참조하면, 중복 뉴스 판단부(122)는 단어 유사도 산출부(1221), 동사 유사도 산출부(1222), 문장 유사도 결정부(1223), 뉴스 관계 유사도 산출부(1224) 및 중복 뉴스 탐지 임계값 비교부(1225)를 포함한다.
단어 유사도 산출부(1221)는 시드 뉴스의 컨텐츠에 포함된 문장의 단어와, 중복 후보 뉴스의 컨텐츠에 포함된 문장의 단어 간의 유사도를 산출한다. 단어 유사도 산출부(1221)는 시드 뉴스와 중복 후보 뉴스의 문장에서 동사와 불용어를 제외한 어근 처리된 단어들을 이용하여 시드 뉴스와 중복 후보 뉴스의 단어 간의 유사도를 산출한다. 일 실시예에 있어서, 단어 유사도 산출부(1221)는 시드 뉴스의 컨텐츠의 문장에서 나타나는 동사를 제외한 단어들의 빈도에 비례하고, 시드 뉴스와 중복 후보 뉴스의 모든 컨텐츠의 문장에서 나타나는 동사를 제외한 단어들의 빈도에 반비례하는 연산을 수행하여 시드 뉴스의 단어의 가중치를 산출할 수 있다. 또한, 단어 유사도 산출부(1221)는 중복 후보 뉴스의 컨텐츠의 문장에서 나타나는 동사를 제외한 단어들의 빈도에 비례하고, 시드 뉴스와 중복 후보 뉴스의 모든 컨텐츠의 문장에서 나타나는 동사를 제외한 단어들의 빈도에 반비례하는 연산을 수행하여 중복 후보 뉴스의 단어의 가중치를 산출할 수 있다.
일 실시예에 있어서, 단어 유사도 산출부(1221)는 시드 뉴스의 문장과, 중복 후보 뉴스의 문장에 동시에 포함되는 동사를 제외한 단어의 가중치들을 합한 값에서 시드 뉴스의 문장에 포함되는 동사를 제외한 단어의 가중치들과 중복 후보 뉴스의 문장에 포함되는 동사를 제외한 단어의 가중치들을 합한 값으로 나눈 값을 단어 간의 유사도로 산출할 수 있다. 단어 유사도 산출부(1221)는 예를 들어 벡터 모델과 변형된 다이스 상관계수의 수식을 이용하여 단어 간의 유사도를 산출할 수 있다.
단어 유사도 산출부(1221)는 예를 들어 벡터 모델에서 tf-isf(term frequency inverse sentence frequency)를 이용하여 문장에 사용된 용어의 가중치를 할당할 수 있다. tf-isf는 단어가 문장에 나온 횟수에 비례하고, 그 단어를 포함하고 있는 모든 문장의 전체 개수에 반비례하는 가중치를 할당하여 해당 단어에 중요도를 부여한다. 시드 뉴스와 중복 후보 뉴스의 문장에 나타난 단어들의 집합은 예를 들어 수식 7과 같이 나타낼 수 있다.
[수식 7]
Figure 112012080508963-pat00030
이때, SCi는 i번째 시드 뉴스의 컨텐츠(본문)에 나타나는 문장들의 집합을 나타내고, TCj는 j번째 중복 후보 뉴스의 컨텐츠(본문)에 나타나는 문장들의 집합을 나타내고, sci ,k는 i번째 시드 뉴스의 컨텐츠 중 k번째 문장에 나타나는 단어들의 집합을 나타내고,tcj ,l은 j번째 중복 후보 뉴스 중 l번째 문장에 나타나는 단어들의 집합을 나타내고, ti ,k,n은 i번째 시드 뉴스의 컨텐츠 중 k번째 문장에 나타나는 n번째 단어를 나타내고, ttj ,l,m은 j번째 중복 후보 뉴스의 컨텐츠 중 l번째 문장에 나타나는 m번째 단어를 나타낸다. 만약, 시드 뉴스의 컨텐츠의 일 부분만을 차용한 중복 후보 뉴스의 경우 중복 뉴스로 검출되지 않을 수 있으므로, 시드 뉴스와 중복 후보 뉴스 중 문장의 수가 작은 문서를 대상으로 비교 문장의 수가 일치될 수 있다.
단어 유사도 산출부(1221)는 예를 들어 아래의 수식 8을 이용하여 시드 뉴스와 중복 후보 뉴스의 문장에 나타나는 단어의 가중치를 산출할 수 있다.
[수식 8]
Figure 112012080508963-pat00031
수식 8에서,
Figure 112012080508963-pat00032
는 문장에 나타나는 단어의 개수를 나타내고,
Figure 112012080508963-pat00033
는 문장의 역빈도수를 나타내며,
Figure 112012080508963-pat00034
는 해당 뉴스(시드 뉴스 또는 중복 후보 뉴스)의 본문 중 단어 ω를 포함하는 문장의 개수를 나타내고,
Figure 112012080508963-pat00035
는 해당 뉴스에 나타나는 전체 문장의 개수를 나타낸다.
단어 유사도 산출부(1221)는 시드 뉴스의 컨텐츠에 포함된 문장에 나타나는 단어의 가중치와, 중복 후보 뉴스의 컨텐츠에 포함된 문장에 나타나는 단어의 가중치를 이용하여, 시드 뉴스의 문장에 나타나는 단어와 중복 후보 뉴스의 문장에 나타나는 단어 간의 유사도를 산출할 수 있다. 단어 유사도 산출부(1221)는 예를 들어 아래의 수식 9와 같은 변형된 다이스 상관계수 수식에 따라 단어 간의 유사도를 산출할 수 있다.
[수식 9]
Figure 112012080508963-pat00036
수식 9에서,
Figure 112012080508963-pat00037
는 시드 뉴스의 문장과 중복 후보 뉴스의 문장 간 단어를 이용한 문장 유사도를 나타내며, p는 시드 뉴스의 문장과 중복 후보 뉴스의 문장에 동시에 나타나는 단어를 나타내며, c는 시드 뉴스의 문장과 중복 후보 뉴스의 문장에 동시에 나타나는 단어의 개수를 나타내며, ti ,k,n은 i번째 시드 뉴스의 본문 중 k번째 문장에 나타나는 n번째 단어의 가중치를 나타내고, ttj ,l,m은 j번째 중복 후보 뉴스 중 l번째 문장에 나타나는 m번째 단어의 가중치를 나타낸다.
예를 들어 i번째 시드 뉴스의 첫 문장에 나타나는 단어가 a, b, c이고, j번째 중복 후보 뉴스의 첫 문장에 나타나는 단어가 a, c, d이고, 두 번째 문장에 나타나는 단어가 b, c, d인 경우, 수식 8을 사용하여 계산된 a, b, c, d 각각의 단어 가중치는 각각 0.1, 0.2, 0.3, 0.2이다. i번째 시드 뉴스 중 처음 문장과 j번째 중복 후보 뉴스 중 처음 문장에 동시에 나오는 단어는 a, c이므로, 수식 9에서 분자
Figure 112012080508963-pat00038
는 (0.1+0.3)+(0.1+0.3) = 0.8의 값이 된다.
i번째 시드 뉴스 중 처음 문장에 나타나는 단어들은 a, b, c이고, j번째 중복 후보 뉴스의 처음 문장에 나타나는 단어들은 a, c, d이므로, 수식 9에서
Figure 112012080508963-pat00039
는 (0.1+0.2+0.3) = 0.6이고,
Figure 112012080508963-pat00040
은 (0.1+0.3+0.2) = 0.6이 되어 분모
Figure 112012080508963-pat00041
+
Figure 112012080508963-pat00042
는 1.2의 값을 갖는다. 이에 따라 i번째 시드 뉴스의 처음 문장과 j번째 중복 후보 뉴스의 처음 문장 사이의 단어 간의 유사도, 다시 말해 단어의 가중치를 반영한 문장의 유사도
Figure 112012080508963-pat00043
는 0.8/1.2 = 0.66의 값이 된다. 같은 방법으로 i번째 시드 뉴스의 처음 문장과 j번째 중복 후보 뉴스의 두 번째 문장에 대한 유사도를 계산하면 0.77의 값이 된다.
동사 유사도 산출부(1222)는 시드 뉴스의 컨텐츠에 포함된 문장의 동사와, 중복 후보 뉴스의 컨텐츠에 포함된 문장의 동사 간의 유사도를 산출한다. 동사 유사도 산출부(1222)는 시드 뉴스의 문장과 중복 후보 뉴스의 문장에서 나타나는 동사를 공통으로 포함하는 워드넷 용어집 기반 계층에서의 최 하위 계층 상위 동사를 검출하고, 시드 뉴스의 문장에서 나타나는 동사, 중복 후보 뉴스의 문장에서 나타나는 동사 및 최 하위 계층 상위 동사의 동의어 어휘의 개수에 비례하는 연산을 수행하여 확률 값을 산출하며, 산출한 확률 값을 이용하여 동사 간의 유사도를 산출한다. 동사 유사도 산출부(1222)는 예를 들어 워드넷의 동의어 집합과 계층 구조를 이용하여 동사 간의 유사도를 산출할 수 있다.
품사 동의어 집합 수 상위계층 계념 최대계층 수
동사 13,508개 14 4
형용사 18,563개 - -
부사 3,664개 - -
115,424개
표 1은 워드넷 2.0이 포함하고 있는 품사별 동의어 집합의 수와 구조를 나타낸다. 동사의 경우 13,508개의 동의어 집합을 포함하며, 최상위 노드에서 최하위 동의어 집합까지의 계층 수가 4개를 넘지 않는다. 형용사와 부사는 명사와 동사가 가지는 계층적 구조가 아니라 위성 구조를 가지며, 명사와 동사에서와 같은 계층 체계에 따른 분류가 없고 속성을 정의하는 개념만 있기 때문에, 단어의 의미 유사도 방법은 동사에 적용되고, 형용사나 부사에는 적용되지 않는다.
동사 유사도 산출부(1222)는 예를 들어 아래의 수식 10 내지 수식 13에 따라 i번째 시드 뉴스의 문장에 나타나는 동사
Figure 112012080508963-pat00044
와 j번째 중복 후보 뉴스의 문장에 나타나는 동사
Figure 112012080508963-pat00045
간의 유사도를 산출할 수 있다.
[수식 10]
Figure 112012080508963-pat00046
수식 10에서,
Figure 112012080508963-pat00047
는 k번째 문장에서 추출된 본 동사
Figure 112012080508963-pat00048
의 동의어 집합을 나타낸다. 동사 유사도 산출부(1222)는 동사의 동의어 집합에서 동사
Figure 112012080508963-pat00049
와 관련된 어휘의 개수를 카운트하여 본 동사의 빈도
Figure 112012080508963-pat00050
를 산출할 수 있다.
[수식 11]
Figure 112012080508963-pat00051
수식 11에서,
Figure 112012080508963-pat00052
는 본 동사
Figure 112012080508963-pat00053
에 대한 확률 값을 나타내며,
Figure 112012080508963-pat00054
는 최상위 노드에서 최하위 동의어 집합까지의 계층에 나타난 각 루트(root)의 빈도수를 나타낸다. 동사는 아래의 표 2에 나타낸 바와 같은 15개의 최상위 루트를 갖는다.
Bodily care and function Change Cognition Communication
Social interaction Cometition Consumption Contact
Weather verbs Creation Emotion Motion
State verbs Perception Possession -
[수식 12]
Figure 112012080508963-pat00055
수식 12에서 나타내는 IC는 정보 콘텐츠(Information Contents)의 약자이고,
Figure 112012080508963-pat00056
는 동사
Figure 112012080508963-pat00057
의 확률 값
Figure 112012080508963-pat00058
에 로그의 부정을 취하여 산출된다. 이는 워드넷 용어집 기반으로 계층에서
Figure 112012080508963-pat00059
가 가장 많이 포함할 수 있는 정보 콘텐츠를 추출하기 위해 사용한다.
[수식 13]
Figure 112012080508963-pat00060
수식 13에서
Figure 112014017287150-pat00061
는 i번째 시드 뉴스의 k번째 문장에 나타나는 본 동사
Figure 112014017287150-pat00062
와 j번째 중복 후보 뉴스 중
Figure 112014017287150-pat00063
번째 문장에 나타나는 본 동사
Figure 112014017287150-pat00064
의 유사도를 나타낸다. 두 동사 어휘를 공통으로 포함하는 최 하위 계층 상위 동사(Lowest Common Subsumer : LCS)
Figure 112014017287150-pat00065
가 가지는
Figure 112014017287150-pat00066
값과 각 어휘의
Figure 112014017287150-pat00067
,
Figure 112014017287150-pat00068
를 연산하여 동사 간의 유사도
Figure 112014017287150-pat00069
를 산출한다. 구해진
Figure 112014017287150-pat00070
는 연관성이 있는 동사 어휘 모음 내 얻어낸 의미 유사도 중 가장 높은 값을 갖는다.
문장 유사도 결정부(1223)는 예를 들어 아래의 수식 14에 나타낸 바와 같이, 단어 간의 유사도와 동사 간의 유사도를 곱셈 연산하며, 시드 뉴스의 각각의 문장과, 중복 후보 뉴스의 모든 문장 간의 곱셈 연산 값 중 가장 큰 값을 문장 간의 유사도로 결정한다.
[수식 14]
Figure 112012080508963-pat00071
수식 14에서
Figure 112012080508963-pat00072
는 시드 뉴스와 중복 후보 뉴스의 문장 간의 유사도 를 나타내고,
Figure 112012080508963-pat00073
는 시드 뉴스와 중복 후보 뉴스의 동사를 이용하여 산출한 문장의 유사도(동사 간의 유사도)를 나타내고,
Figure 112012080508963-pat00074
는 시드 뉴스와 중복 후보 뉴스의 동사를 제외한 단어를 이용하여 산출한 문장의 유사도(단어 간의 유사도)를 나타내며, L은 중복 후보 뉴스에 나타나는 모든 문장들의 집합을 나타낸다. 문장 유사도 결정부(1223)는 시드 뉴스의 문장과 유사도 쌍으로 산출된 중복 후보 뉴스의 문장에 대하여는 다음 시드 뉴스 문장과의 유사도를 산출할 때 연산에서 제외할 수 있다. 만약 i번째 시드 뉴스의 처음 문장에 나타나는 동사와 j번째 중복 후보 뉴스 중 처음 문장에 나타나는 동사의 유사도 값이 i번째 시드 뉴스 처음 문장에 나타나는 동사와 j번째 중복 후보 뉴스 중 두 번째 문장에 나타나는 동사의 유사도 값과 같다면, 유사도가 가장 높은 두 번째 문장과 유사도의 쌍을 이루고 다음 비교 문장에서 제외된다. 이러한 방법으로 문장의 쌍으로 유사도를 구할 수 있는 모든 뉴스 문장의 유사도를 산출한다.
뉴스 관계 유사도 산출부(1224)는 시드 뉴스의 모든 문장에 대하여 산출된 문장 간의 유사도들을 합한 값을 시드 뉴스의 문장 개수 및 중복 후보 뉴스의 문장 개수 중 작은 값으로 나누어 뉴스 관계 유사도를 산출한다. 뉴스 관계 유사도 산출부(1224)는 예를 들어 아래의 수식 15에 나타낸 바와 같이, 문장 간의 유사도를 모두 더한 값을 더해진 문장의 수로 나눔으로써 뉴스 관계 유사도를 산출할 수 있다.
[수식 15]
Figure 112012080508963-pat00075
수식 15에서
Figure 112012080508963-pat00076
는 i번째 시드 뉴스의 내용
Figure 112012080508963-pat00077
과 j번째 중복 후보 뉴스의 내용
Figure 112012080508963-pat00078
사이의 유사도를 나타내며, b는 시드 뉴스의 문장 개수, L은 중복 후보 뉴스의 문장 개수,
Figure 112012080508963-pat00079
는 시드 뉴스의 문장 개수와 중복 후보 뉴스의 문장 개수 중 작은 값을 나타낸다.
Figure 112012080508963-pat00080
는 수식 14에 의해 구해진 시드 뉴스의 문장들에 대한 문장 간의 유사도들을 모두 합한 값이다.
Figure 112012080508963-pat00081
는 시드 뉴스의 각각의 문장과 중복 후보 뉴스의 대응하는 문장 간의 유사도의 평균값을 의미하며, 시드 뉴스와 중복 후보 뉴스 간의 유사도를 나타낸다. 중복 뉴스 탐지 임계값 비교부(1225)는 뉴스 관계 유사도를 소정의 임계값과 비교하여 중복 뉴스를 탐지한다. 중복 뉴스 탐지 임계값 비교부(1225)는 산출된 뉴스 관계 유사도가 중복 뉴스 탐지 임계값을 넘으면 중복 후보 뉴스를 중복 뉴스로 분류하고, 임계값을 넘지 않으면 중복 뉴스에서 제외한다. 이에 따라 중복 뉴스 탐지부(120)에 의해 2차 클러스터링(Clustering)이 수행된다.
다시 도 1을 참조하면, 중복 뉴스 데이터베이스(130)는 중복 후보 뉴스 탐지부(110) 및 중복 뉴스 탐지부(120)에 의해 탐지된 중복 뉴스들을 카테고리별로 저장한다.
중복 뉴스 결합부(140)는 유사도 산출부(141)와, 결합 뉴스 생성부(142)를 포함한다. 유사도 산출부(141)는 시드 뉴스의 각 문장과, 중복 뉴스의 문장 간의 유사도를 산출하고, 산출한 유사도 중에서 최대값에 해당하는 최대 유사도를 산출한다. 결합 뉴스 생성부(142)는 산출된 최대 유사도를 미리 설정된 임계값과 비교하며, 최대 유사도가 임계값 미만이면 중복 뉴스의 문장을 시드 뉴스에 결합하여 결합 뉴스를 생성한다.
일 실시예에 있어서, 결합 뉴스 생성부(142)는 중복 뉴스의 문장과의 유사도가 최대값으로 나타나는 시드 뉴스의 문장과, 이의 다음 문장의 사이에 중복 뉴스의 문장을 추가한다.
일 실시예에 있어서, 유사도 산출부(141)는 중복 뉴스의 문장마다 최대 유사도를 산출할 수 있다. 일 실시예에 있어서, 유사도 산출부(141)는 시드 뉴스의 문장과, 중복 뉴스의 문장으로부터 동사를 추출하며, 추출한 시드 뉴스의 문장의 동사와, 중복 뉴스의 문장의 동사 간의 유사도를 산출하여 시드 뉴스의 문장과 중복 뉴스의 문장 간의 유사도를 산출할 수 있다. 유사도 산출부(141)는 예를 들어 시드 뉴스의 문장과 중복 뉴스의 문장에서 나타나는 동사를 공통으로 포함하는 워드넷 용어집 기반 계층에서의 최 하위 계층 상위 동사를 검출하고, 시드 뉴스의 문장에서 나타나는 동사, 중복 뉴스의 문장에서 나타나는 동사 및 최 하위 계층 상위 동사의 동의어 어휘의 개수에 비례하는 연산을 수행하여 확률 값을 산출하며, 산출한 확률 값을 이용하여 유사도를 산출할 수 있다.
결합 뉴스 생성부(142)는 중복 뉴스의 문장들 중에서 최대 유사도가 임계값 미만에 해당하는 문장을 시드 뉴스에 결합하여 결합 뉴스를 생성하고, 최대 유사도가 임계값 이상이면 중복 뉴스의 문장을 시드 뉴스에 결합하지 않고 삭제한다. 일 실시예에 있어서, 중복 뉴스 결합 시스템은 시드 뉴스에 대한 중복 뉴스 그룹에 속하는 모든 중복 뉴스에 대하여, 최대 유사도가 임계값 미만인 중복 뉴스의 문장을 시드 뉴스에 결합하며, 시드 뉴스와 중복 뉴스 그룹에 속하는 모든 중복 뉴스를 하나의 문서로 통합하여 결합 뉴스를 생성한다.
뉴스 추천부(150)는 하나의 문서로 통합된 결합 뉴스를 웹 페이지 형태로 제공할 수 있다. 일 실시예에 있어서, 뉴스 추천부(150)는 결합 뉴스 중 시드 뉴스에 중복 뉴스의 문장이 추가된 부분에 시드 뉴스의 문장과 구별되도록 식별 표시를 하여 웹 페이지 형태로 제공할 수 있다. 식별 표시는 예를 들어 추가된 부분을 진한 글씨체로 표시하거나, 글씨의 바탕을 음영으로 구분하거나, 글씨의 크기를 변경시키거나, 이탤릭체 등의 글씨체로 변화시키거나, 글씨체의 색상을 변경시키거나, "<", ">", "/", "「", "」"와 같은 기호를 삽입하는 등의 다양한 방식으로 수행될 수 있다.
도 8은 본 발명의 일 실시예에 따른 중복 뉴스 결합 방법의 흐름도이다. 도 8에 도시된 실시예를 구성하는 단계들은 도 1 내지 도 7에 도시된 실시예의 구성들에 의해 수행될 수 있다. 도 7에 도시된 단계 S81 내지 S82는 1차 클러스터링 단계에 해당하며, 단계 S83 내지 S84는 2차 클러스터링 단계에 해당한다. 먼저 단계 S81에서 중복 후보 뉴스 탐지부(110)의 전처리부(111)는 시드 뉴스와 대상 뉴스로부터 제목을 추출하고, 추출한 제목에 포함된 단어 중에서 단일 단어로는 의미를 갖지 않는 불용어를 제거하고, 불용어를 제거한 단어를 어근의 형태로 변환하는 전처리 단계를 수행한다. 다음으로 단계 S82에서 중복 후보 뉴스 탐지부(110)의 중복 후보 뉴스 판단부(112)는 시드 뉴스의 제목과 대상 뉴스들의 제목 간의 유사도를 산출하며, 산출한 제목 간의 유사도에 기초하여 대상 뉴스들 중에서 중복 후보 뉴스를 추출한다.
중복 후보 뉴스를 추출하는 단계 S82에 대해 보다 구체적으로 설명하면 다음과 같다. 먼저 단계 S821에서 제1 유사도 산출부(1121) 및 제2 유사도 산출부(1122)는 예를 들어 앞서 언급된 수식 2 내지 수식 5에 따라 제1 유사도 및 제2 유사도를 산출한다. 이때, 제1 유사도는 시드 뉴스의 제목과, 검색 엔진의 검색 리스트에 나타나는 대상 뉴스의 앵커 제목 간의 유사도이며, 제2 유사도는 시드 뉴스의 제목과, 대상 뉴스의 컨텐츠에 나타나는 제목 간의 유사도이다. 단계 S822에서 유사도 결정부(1123)는 예를 들어 앞서 언급된 수식 6에 따라서 제1 유사도 및 제2 유사도 중 보다 큰 유사도를 제목 간의 유사도로 결정한다. 다음으로 단계 S823에서 임계값 비교부(1124)는 제목 간의 유사도를 소정의 임계값과 비교하여 중복 후보 뉴스를 탐지한다.
다음으로 단계 S83에서 중복 뉴스 탐지부(120)의 전처리부(121)는 시드 뉴스와 중복 후보 뉴스로부터 컨텐츠를 추출하고, 추출한 컨텐츠의 구문을 분석하며, 컨텐츠에서 문장을 검출하는 전처리 작업을 수행한다. 다음으로 단계 S84에서 중복 뉴스 탐지부(120)의 중복 뉴스 판단부(122)는 시드 뉴스의 컨텐츠에 포함된 문장과 중복 후보 뉴스의 컨텐츠에 포함된 문장 간의 유사도를 산출하고, 산출한 문장 간의 유사도에 기초하여 중복 후보 뉴스가 중복 뉴스에 해당하는지 여부를 판단한다.
중복 뉴스를 판단하는 단계 S84에 대하여 보다 구체적으로 설명하면, 먼저 단계 S841에서 단어 유사도 산출부(1221)는 예를 들어 앞서 언급한 수식 8 내지 수식 9에 따라 시드 뉴스의 컨텐츠에 포함된 문장의 단어와, 중복 후보 뉴스의 컨텐츠에 포함된 문장의 단어 간의 유사도를 산출하고, 동사 유사도 산출부(1222)는 예를 들어 앞서 언급한 수식 10 내지 수식 13에 따라 시드 뉴스의 컨텐츠에 포함된 문장의 동사와, 중복 후보 뉴스의 컨텐츠에 포함된 문장의 동사 간의 유사도를 산출한다. 다음으로 단계 S842에서 문장 유사도 결정부(1223)는 예를 들어 앞서 언급한 수식 14에 따라 단어 간의 유사도와 동사 간의 유사도를 곱셈 연산하고, 시드 뉴스의 문장과, 중복 후보 뉴스의 각각의 문장 간의 곱셈 연산 값 중 가장 큰 값을 문장 간의 유사도로 결정한다. 다음으로 단계 S843에서 뉴스 관계 유사도 산출부(1224)는 예를 들어 앞서 언급한 수식 15에 따라 시드 뉴스의 모든 문장에 대하여 산출된 문장 간의 유사도들을 합한 값을 시드 뉴스의 문장 개수 및 중복 후보 뉴스의 문장 개수 중 작은 값으로 나누어 뉴스 관계 유사도를 산출한다. 다음으로 단계 S844에서 임계값 비교부(1225)는 뉴스 관계 유사도를 소정의 임계값과 비교하여 중복 뉴스를 탐지한다.
도 9는 도 8의 실시예에 도시된 단계 S82 및 단계 S84를 실행하는 프로그램을 보여주는 도면이다. 도 9를 참조하여 본 발명의 일 실시예에 따른 중복 뉴스 탐지 알고리즘에 대해 설명하면 다음과 같다. 먼저, 1번째 라인에서 R[]는 시드 뉴스의 집합을 의미하며, C[]는 수집된 대상 뉴스의 집합을 의미한다. 2번째 라인부터 6번째 라인까지는 값 설정 및 용어를 정의한다. 6번째 라인에서 γ는 1차 중복 후보 뉴스를 탐지하기 위한 임계값이고, β는 최종 중복 뉴스를 탐지하기 위한 임계값이다. 7번째 라인부터 37번째 라인까지는 중복 뉴스를 탐지하는 부분이다. 10번째 라인부터 12번째 라인까지는 1차 중복 후보 뉴스를 탐지하는 부분이다. 11번째 라인에서 Tsimilarity(r.title, c.title)는 시드 뉴스의 제목과 수집된 대상 뉴스의 제목의 유사도를 의미한다. 13번째 라인부터 34번째 라인까지는 1차 중복 후보 뉴스로 선출된 뉴스들 중 중복 뉴스를 탐지하는 부분이다. 18번째 라인에서 vsimilarity(rs.verb, cs.verb)는 시드 뉴스의 문장에 나타나는 의미 동사와 수집된 대상 뉴스의 문장에 나타나는 동사의 의미 유사도를 나타낸다. 19번째 라인의 wsimilarity(rs.words, cs,words)는 시드 뉴스의 문장에 나타나는 단어들과 수집된 대상 뉴스의 문장에 나타나는 단어들의 유사도를 나타낸다. 26번째 라인에서 cs.remove(sentence_location)는 문장의 유사도로 사용된 문장은 비교하는 뉴스의 문장에서 삭제하는 함수를 의미하며, 33번째 라인에서 remove(c)는 시드 뉴스와 유사도 검색을 완료한 수집된 대상 뉴스 중 비교 뉴스를 삭제하는 함수이다.
다시 도 8을 참조하면, 단계 S85에서 중복 뉴스 결합부(140)는 시드 뉴스와 중복 뉴스를 통합하여 결합 뉴스를 생성한다. 먼저 단계 S851에서 유사도 산출부(141)는 시드 뉴스의 각 문장과, 중복 뉴스의 문장 간의 유사도를 산출하고, 산출한 유사도 중에서 최대값에 해당하는 최대 유사도를 산출한다. 유사도 산출부(141)는 먼저 시드 뉴스와 중복 뉴스들 각각에 대하여 구문을 분석하여, 문장을 검출할 수 있다. 유사도 산출부(141)는 예를 들어 시드 뉴스와 중복 뉴스의 구문을 분석하여 명사와 동사가 검출되면 문장으로 인식하며, 불용어 제거 및 어근 처리와 같은 전처리를 수행할 수 있다. 유사도 산출부(141)는 시드 뉴스의 문장과 중복 뉴스의 문장의 동사를 이용하여 문장 간의 유사도를 산출할 수 있다.
일 실시예에 있어서, 유사도 산출부(141)는 시드 뉴스의 문장과 중복 뉴스의 문장에서 나타나는 동사를 공통으로 포함하는 워드넷 용어집 기반 계층에서의 최 하위 계층 상위 동사를 검출하고, 시드 뉴스의 문장에서 나타나는 동사, 중복 뉴스의 문장에서 나타나는 동사 및 최 하위 계층 상위 동사의 동의어 어휘의 개수에 비례하는 연산을 수행하여 확률 값을 산출하며, 산출한 확률 값을 이용하여 동사 간의 유사도를 산출할 수 있다. 유사도 산출부(141)는 예를 들어 전술한 수식 10 내지 수식 13에 따라 시드 뉴스의 문장에 나타나는 동사와 중복 뉴스의 문장에 나타나는 동사 간의 유사도를 산출할 수 있다. 다만, 수식 10 내지 수식 13에서는 시드 뉴스의 문장과 중복 후보 뉴스의 문장에 대하여 고려하였으나, 단계 S851에서는 중복 후보 뉴스 대신 중복 뉴스의 문장과의 유사도를 산출한다. 유사도 산출부(141)는 시드 뉴스의 문장들 중 중복 뉴스의 문장과의 유사도가 가장 큰 문장을 찾고, 해당 문장이 시드 뉴스의 몇 번째 문장에 해당하는지를 판단한다.
다음으로 단계 S861에서 결합 뉴스 생성부(142)는 산출된 최대 유사도를 임계값과 비교하며, 최대 유사도가 임계값 미만이면 중복 뉴스의 문장을 시드 뉴스에 결합하고, 최대 유사도가 임계값 미만이면 중복 뉴스의 문장을 시드 뉴스에 결합하지 않고 삭제하여, 시드 뉴스와 중복 뉴스를 하나의 문서로 통합하여 결합 뉴스를 생성한다. 일 실시예에 있어서, 결합 뉴스 생성부(142)는 중복 뉴스의 문장과의 유사도가 최대값으로 나타나는 시드 뉴스의 문장과, 이의 다음 문장의 사이에 중복 뉴스의 문장을 추가할 수 있다. 결합 뉴스 생성부(142)는 중복 뉴스들의 모든 문장들 중 시드 뉴스와의 최대 유사도가 임계값 미만인 문장들을 시드 뉴스에 결합할 수 있다.
다음으로 단계 S86에서 뉴스 추천부(150)는 하나의 문서로 통합된 결합 뉴스를 웹 페이지 형태로 제공한다. 일 실시예에 있어서, 뉴스 추천부(150)는 결합 뉴스 중 시드 뉴스에 상기 중복 뉴스의 문장이 추가된 부분에 시드 뉴스의 문장과 구별되도록 식별 표시를 하여 결합 뉴스를 웹 페이지 형태로 제공할 수 있다.
도 10은 도 8의 실시예에 도시된 단계 S85를 실행하는 프로그램을 보여주는 도면이다. 도 10에서 r은 감지된 중복뉴스 그룹에서 선택된 시드 뉴스이다. C[r]은 뉴스 r에서 중복을 감지한 뉴스들의 집합을 의미한다. n는 중복 뉴스로 감지된 뉴스 중 하나를 말하며, D[n]는 뉴스 n이 가지는 문장들의 집합을 의미한다. S[r]은 뉴스 r이 가지는 문장들의 집합을 의미하고, s는 n이 가지는 문장들 중 하나의 문장을 의미하며, m은 r이 가지는 문장들 중 하나의 문장을 의미한다. Similarity() 함수는 동사를 이용한 문장의 유사도를 의미한다. d_add(a, b, c)함수는 a문서에 나타나는 문장 중 b번째 위치에 c의 문장을 추가하는 함수이다.
도 10의 2번째 라인에서 중복문서 그룹에서 시드 뉴스가 선택된다. 3번째 라인에서 선택된 문서(시드 뉴스)와 비교할 문서(중복 뉴스)들의 집합 즉 중복문서 그룹이 정의되며, 4번째 라인에서 중복문서 그룹에 나타나는 각각의 문서(중복 뉴스)가 가지는 문장들의 집합이 정의된다. 5번째 라인부터 7번째 라인에서는 문장, 문장의 위치, 카운트 변수가 초기화된다. 8번째 라인부터 20번째 라인에서는 선택된 문서(시드 뉴스)의 문장들 중 중복문서(중복 뉴스) 중 선택된 하나의 문장과 가장 유사한 문장과, 이의 위치가 탐지된다. 21번째 라인부터 24번째 라인에서는 시드 뉴스의 문장들 중 가장 유사한 문장과의 유사도(최대 유사도)가 임계 값
Figure 112012080508963-pat00082
보다 작은 중복 뉴스의 문장이 선택된 문서(시드 뉴스)에 반영된다. 이때, 가장 유사한 문장과의 유사도(최대 유사도)가 임계 값
Figure 112012080508963-pat00083
보다 작지 않으면 중복 뉴스의 문장이 시드 뉴스에 반영되지 않는다. 이러한 일련의 과정은 감지된 중복 문서의 모든 문장들에 대하여 선택된 문서(시드 뉴스)의 문장들과의 유사도를 계산하여, 중복 뉴스의 모든 문장이 소거되거나 시드 뉴스에 반영될 때까지 라인 3부터 라인 26까지 반복하여 수행되며, 모든 문장에 대하여 알고리즘이 수행되면 갱신된 문서(결합 문서)를 반환한다.
뉴스 사이트의 6개의 분야(police, business, crime, education, health, web-exclusive)에서 각각 10개의 헤드라인 뉴스(headline news)를 추출하였다. 추출된 뉴스는 제목과 내용을 분류하고, 각각의 헤드라인 뉴스의 제목을 구글(google) 검색 엔진의 뉴스 분야에 질의하였다. 질의 결과 중 각 헤드라인 뉴스마다 상위 20개 또는 그 이하의 뉴스 기사를 수집하였다. 수집한 뉴스 기사는 검색된 리스트에 나타나는 제목(앵커 제목)과 상세 페이지에 나타나는 제목(텍스트 제목) 그리고 내용(컨텐츠)으로 분류하여 저장하였다.
시드 뉴스의 제목과 대상 뉴스(target news)의 앵커 제목 간의 유사도 및 시드 뉴스의 제목과 대상 뉴스의 텍스트 제목 간의 유사도를 전술한 수식 2 내지 수식 5에 따라 산출하였다. 두 개의 유사도 중 시드 뉴스와 대상 뉴스의 제목 간의 유사도 값을 전술한 수식 6에 따라 산출하였다. 이렇게 구해진 제목 간의 유사도 값을 임계값과 비교하여 큰 것을 중복 후보 뉴스로 추출하고 임계값보다 작은 것을 중복 뉴스의 후보에서 제외하였다. 선출된 중복 뉴스 후보들에 대하여 내용의 유사성에 기초하여 중복 뉴스 기사인지 여부를 판별하였다. 이때 사용되는 뉴스의 유사도 측정은 전술한 수식 8 내지 수식 15에 따라 산출하였다.
뉴스 사이트에서 선정된 6개의 분야에서 일요일을 제외한 6주 동안 수집된 헤드라인 뉴스(시드 뉴스)와 수집된 뉴스(대상 뉴스)의 수가 아래의 표 3에 나타난다. 표 3에서 헤드라인 뉴스는 헤드라인 뉴스는 각 분야별 중복 뉴스를 탐지해야 하는 그룹의 수이며, 중복 뉴스를 발견해야 하는 클러스터링의 수와 같다.
Police Business Crime Education Health Web - Exclusive
헤드라인 뉴스 340 274 215 47 25 38
대상 뉴스 6,800 5,480 4,300 940 500 760
평균 중복 수 16.4 13.5 2.8 2 3.8 2
예를 들어 "Police" 분야에서 수집된 헤드라인 뉴스(시드 뉴스), 즉 탐지해야 하는 그룹의 수는 340개이다. "Police" 분야의 경우 뉴스들의 약 82%가 중복 뉴스에 해당하는 점을 고려하여, 전체 수집된 6,800개의 뉴스(대상 뉴스) 중 5,576개의 뉴스 기사를 중복 뉴스로 탐지한다. 즉, 340개의 클러스터링 그룹 중 한 개의 클러스터링 그룹이 중복 뉴스에 해당하는 것으로 찾아야 하는 평균 뉴스의 수는 16.4개이다. "Business" 분야에서 탐지해야 하는 그룹의 수는 274개이고, 이 분야의 뉴스들 중 약 67%가 중복 뉴스에 해당하므로 전체 수집된 5,480개의 대상 뉴스 중 3,699개의 뉴스 기사를 중복 뉴스로 탐지해야 한다. 즉, 274개의 그룹 중 한 개의 그룹이 찾아야하는 평균 뉴스의 수는 13.5개이다. "Crime" 분야에서 탐지해야 하는 그룹의 수는 215개이고, 이 분야의 뉴스들 중 약 14%가 중복 뉴스에 해당하므로, 전체 수집된 4,300개의 뉴스 중 602개의 뉴스 기사를 탐지해야한다. 즉, 215개의 그룹 중 한 개의 그룹이 찾아야 하는 평균 뉴스의 수는 2.8개이다. "Education" 분야에서 탐지해야하는 그룹의 수는 47개이고, 이 분야의 뉴스들 중 약 11%가 중복 뉴스에 해당하므로, 전체 수집된 940개의 뉴스 중 94개의 뉴스 기사를 탐지해야한다. 즉, 47개의 그룹 중 한 개의 그룹이 찾아야 하는 평균 뉴스의 수는 2개이다. "Health" 분야에서 탐지해야 하는 그룹의 수는 25개이고, 이 분야의 뉴스들 중 약 20%가 중복 뉴스에 해당하므로, 전체 수집된 500개의 뉴스 중 95개의 뉴스 기사를 탐지해야한다. 즉, 25개의 그룹 중 한 개의 그룹이 찾아야 하는 평균 뉴스의 수는 3.8개이다. "Web-exclusive" 분야에서 탐지해야하는 그룹의 수는 38개이고, 이 분야의 뉴스들 중 약 10.5%가 중복 뉴스에 해당하므로, 전체 수집된 760개의 뉴스 중 76개의 뉴스 기사를 탐지해야한다. 즉, 38개의 그룹 중 한 개의 그룹이 찾아야 하는 평균 뉴스의 수는 2개이다.
6개 분야의 헤드라인 뉴스에서 수집된 뉴스의 수가 다른 것은 뉴스 데이터의 선호도와 연관이 있다. "Police" 분야의 뉴스 업데이트 비율을 보면 하루에 90% 이상의 뉴스 기사가 바뀌고, 수집된 중복의 뉴스 비율을 확인해 보면 약 82%로서 유사한 기사가 가장 많다. "Business" 분야 또한 업데이트 비율과 중복 비율이 76%와 67.5%로 유사한 기사가 많이 작성된다. 그에 비해 "Crime" 분야는 업데이트 비율은 높지만 중복 뉴스의 비율이 낮고, 나머지 "Education", "Health", "Web-exclusive"와 같은 분야는 업데이트 비율과 중복 비율이 약 10% 이다. 이러한 다양한 분야의 특성을 고려하여 1차 중복 후보 뉴스와 2차 중복 뉴스의 탐지 비율을 다르게 하여 실험하였다. 실험에서 2차 중복 뉴스의 내용 유사도 값이 임계값 0.7보다 큰 경우 중복 뉴스로 탐지하였다.
Police Business Crime Education Health Web - Exclusive
클러스터링 수 340 274 215 47 25 38
총 뉴스 수 6,800 5,480 4,300 940 500 760
중복 뉴스 수 5,576 3,699 602 94 95 76
비교 총 뉴스 수 2,312,000 1,501,520 924,500 44,180 12,500 28,880
검색된 뉴스 수 45,627 32,672 19,216 1,268 238 809
검색된 적합한 뉴스 수 5,513 3,616 573 89 91 71
검색된 적합한 뉴스 비율 98.9% 97.7% 95.1% 94.7% 95.8% 93.4%
줄어드는 연산양의 비율 98.0% 97.8% 97.9% 97.1% 98.1% 97.2%
표 4는 1차 클러스터링에서 임계값을 0.3보다 큰 값으로 설정했을 때의 결과를 나타낸다. 표 4의 1차 클러스터링 결과를 보면 "Police" 관련 뉴스는 10개의 헤드라인 뉴스 기사가 매일 새로운 뉴스 기사로 업데이트되기 때문에 클러스터링 개수가 가장 많고, "Business"나 "Crime" 관련 뉴스는 10개 중 7-8개 정도가 새로운 뉴스 기사로 업데이트되기 때문에 클러스터링의 수가 다음으로 많다. 하지만 "Business"와 다르게 "Crime"은 상대적으로 제공되는 뉴스기사가 적기 때문에 클러스터링의 수가 "Business"보다 작다. "Education", "Health", "Web-exclusive" 관련 뉴스는 10개 중 1개 정도가 새로운 뉴스 기사로 업데이트 된다. 이것은 "Police", "Business", "Crime" 과 같은 뉴스는 대중에게 많은 관심을 받고 있는 뉴스이기 때문에 새로운 뉴스가 매일 생성되는 것을 의미하고, "Education", "Health", "Web-exclusive" 관련 뉴스는 상대적으로 대중에게 관심 받지 못하고 제공되는 뉴스 기사가 적다는 것을 의미한다.
표 5는 1차 클러스터링 후 중복 뉴스의 후보 수를 나타내며, 각 클러스터링 1개당 수집된 뉴스의 수가 확연히 줄어드는 것을 확인할 수 있다. 대표적인 예로 "Police"를 보면 1차 클러스터링 전에는 1개의 클러스터링 중복 뉴스를 탐지하기 위해서는 수집된 6,800개의 뉴스 문서를 모두 비교해야 하지만 1차 클러스터링 후에는 1개의 클러스터링 중복 뉴스를 탐지하기 위해 134개의 뉴스 기사만을 비교하면 된다.
Police Business Crime Education Health Web - Exclusive
클러스터링 수 340 274 215 47 25 38
1개의 클러스터링 당 후보 뉴스 수 6,800 5,480 4,300 940 500 760
클러스터링 후 평균 후보 뉴스 수 134 119 89 27 10 21
표 6은 1차 클러스터링 후 중복 후보 뉴스에 대하여 유사도 값을 구하여 그 유사도 값이 0.7보다 큰 값으로 설정했을 때의 중복 뉴스를 탐지한 결과를 나타낸다.
Police Business Crime Education Health Web - Exclusive
클러스터링 수 340 274 215 47 25 38
평균 후보뉴스 수 134 119 89 27 10 21
검출해야 할 평균 중복 수 16.4 13.5 2.8 2 3.8 2
중복 데이터 총 수 5,576 3,699 602 94 95 76
검출된 평균 중복 수 16.1 13.5 3.0 2.1 3.8 2.1
검출된 데이터 총 수 5,479 3,687 646 98 96 79
검색된 적합한 평균 중복 수 15.8 12.7 2.6 1.8 3.6 1.8
검색된 적합한 데이터 총 수 5,373 3,480 561 86 91 70
결과적으로 1개의 클러스터가 가지는 평균 중복 뉴스의 수가 많고 수집된 뉴스가 많을수록 높은 성능을 보였으며, 평균 중복 뉴스의 수가 적고 수집된 뉴스 수도 적으면 낮은 성능을 보였다. 전체적으로는 6개의 분야에서 중복 뉴스 탐지 성능은 90% 이상으로 만족할 만한 성능을 보였다.
이어서, 도 10에 도시된 알고리즘을 이용하여 시드 뉴스와 중복 뉴스들을 하나의 문서로 결합하였다. 도 11은 본 발명의 일 실시예에 따른 중복 뉴스 결합 방법에 의해 결합 뉴스를 생성한 것을 예시적으로 나타낸 도면이다. 도 11에서 좌측 부분은 시드 뉴스의 내용을 나타내고, 우측 부분은 시드 뉴스에 중복 뉴스들을 결합한 결합 뉴스의 내용을 나타낸다. 시드 뉴스의 문장 수는 55개이었으며, 결합 뉴스의 문장 수는 60개로 나타났다. 시드 뉴스에 추가된 5개의 문장은 시드 뉴스에 나타나지 않은 문장으로서, 시드 뉴스의 문장들 사이에 삽입되어 결합 뉴스에 나타난다. 추가된 5개의 문장 중 3개의 문장(S1, S2, S3)이 도 11의 우측 부분에서 진한 글씨체로 나타나 있다.
Police Business Crime Education Health Web - Exclusive
클러스터링 수 340 274 215 47 25 38
결합된 평균 뉴스의 수 15.8 12.7 2.6 1.8 3.6 1.8
뉴스의 평균 문장의 수 25.6 10.6 9.6 9.1 15.6 5.7
결합된 뉴스의 평균 문장의 수 28.3 12.1 10.3 9.3 16.4 6.1
표 7은 중복 뉴스를 결합하였을 때 각 분야별 뉴스의 평균 문장이 얼마나 늘어났는지에 대한 결과이다. 알고리즘 실행 결과 결합 뉴스의 문장 수는 결합되기 전의 문장의 수보다 증가하였다. 표 7에 나타난 바와 같이, "Police" 분야는 평균 문장의 수가 25.6개에서 28.3개로 증가하였고, "Business"는 10.6 개에서 12.1개로, "Crime"은 9.6 개에서 10.3개로, "Education"은 9.1에서 9.3개로, "Health"는 15.6에서 16.4 개로, "Web-Exclusive"는 5.7에서 6.1개로 증가하였다.
도 12는 본 발명의 일 실시예에 따른 중복 뉴스 결합 방법에 의해 생성된 결합 뉴스의 시드 뉴스 대비 문장의 증가 비율을 나타낸 그래프이다. 전체적으로 시드 뉴스와 중복 뉴스로 탐지된 뉴스들의 문장 증가 비율을 확인해 보면 5%에서 14% 정도 증가하는 것을 확인할 수 있으며, 이는 탐지된 중복 뉴스의 문장의 변화량이 5%에서 14% 정도라는 것을 의미한다. 따라서, 본 발명의 실시예에 의하면, 약 5%에서 14% 정도의 뉴스 정보가 유실되는 것을 방지할 수 있음을 확인하였다.
이상의 실시예들은 본 발명의 이해를 돕기 위하여 제시된 것으로, 본 발명의 범위를 제한하지 않으며, 이로부터 다양한 변형 가능한 실시예들도 본 발명의 범위에 속할 수 있음을 이해하여야 한다. 예를 들어, 본 발명의 실시예에 도시된 각 구성 요소는 분산되어 실시될 수도 있으며, 반대로 여러 개로 분산된 구성 요소들은 결합되어 실시될 수 있다. 따라서, 본 발명의 기술적 보호범위는 특허청구범위의 기술적 사상에 의해 정해져야 할 것이며, 본 발명의 기술적 보호범위는 특허청구범위의 문언적 기재 그 자체로 한정되는 것이 아니라 실질적으로는 기술적 가치가 균등한 범주의 발명에 대하여까지 미치는 것임을 이해하여야 한다.
100: 중복 뉴스 결합 시스템 101: 시드 뉴스 데이터베이스
102: 검색 엔진 103: 대상 뉴스 데이터베이스
104~106: 뉴스 제공 서버시스템 110: 중복 후보 뉴스 탐지부
111: 전처리부 112: 중복 후보 뉴스 판단부
120: 중복 뉴스 탐지부 121: 중복 뉴스 탐지 전처리부
122: 중복 뉴스 판단부 130: 중복 뉴스 데이터베이스
140: 중복 뉴스 결합부 141: 유사도 산출부
142: 결합 뉴스 생성부 150: 뉴스 추천부

Claims (12)

  1. 소정의 시드 뉴스의 각 문장과, 중복 뉴스의 문장 간의 유사도를 산출하고, 산출한 상기 유사도 중에서 최대값에 해당하는 최대 유사도를 산출하는 유사도 산출부; 및
    산출된 상기 최대 유사도를 소정의 임계값과 비교하며, 상기 최대 유사도가 상기 임계값 미만이면 상기 중복 뉴스의 문장을 상기 중복 뉴스의 문장과의 유사도가 최대로 나타나는 시드 뉴스의 문장 바로 다음에 추가하여 결합 뉴스를 생성하는 결합 뉴스 생성부를 포함하는 중복 뉴스 결합 시스템.
  2. 제1항에 있어서,
    상기 결합 뉴스 생성부는,
    상기 중복 뉴스의 문장과의 유사도가 상기 최대값으로 나타나는 상기 시드 뉴스의 문장과, 이의 다음 문장의 사이에 상기 중복 뉴스의 문장을 추가하는 중복 뉴스 결합 시스템.
  3. 제1항에 있어서,
    상기 유사도 산출부는 상기 중복 뉴스의 문장마다 상기 최대 유사도를 산출하며,
    상기 결합 뉴스 생성부는 상기 중복 뉴스의 문장들 중에서 상기 최대 유사도가 상기 임계값 미만에 해당하는 문장을 상기 시드 뉴스에 결합하여 결합 뉴스를 생성하는 중복 뉴스 결합 시스템.
  4. 제1항에 있어서,
    상기 중복 뉴스 결합 시스템은,
    상기 시드 뉴스에 대한 중복 뉴스 그룹에 속하는 모든 중복 뉴스에 대하여, 상기 최대 유사도가 상기 임계값 미만인 상기 중복 뉴스의 문장을 상기 시드 뉴스에 결합하며, 상기 시드 뉴스와 상기 중복 뉴스 그룹에 속하는 상기 모든 중복 뉴스를 하나의 문서로 통합하여 상기 결합 뉴스를 생성하는 중복 뉴스 결합 시스템.
  5. 제4항에 있어서,
    상기 하나의 문서로 통합된 상기 결합 뉴스를 웹 페이지 형태로 제공하는 뉴스 추천부를 더 포함하는 중복 뉴스 결합 시스템.
  6. 제5항에 있어서,
    상기 뉴스 추천부는,
    상기 결합 뉴스 중 상기 시드 뉴스에 상기 중복 뉴스의 문장이 추가된 부분에 상기 시드 뉴스의 문장과 구별되도록 식별 표시를 하여 상기 웹 페이지 형태로 제공하는 중복 뉴스 결합 시스템.
  7. 제1항에 있어서,
    상기 결합 뉴스 생성부는,
    상기 최대 유사도가 상기 임계값 이상이면 상기 중복 뉴스의 문장을 상기 시드 뉴스에 결합하지 않는 중복 뉴스 결합 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 유사도 산출부는,
    상기 시드 뉴스의 문장과, 상기 중복 뉴스의 문장으로부터 동사를 추출하며, 추출한 상기 시드 뉴스의 문장의 동사와, 상기 중복 뉴스의 문장의 동사 간의 유사도를 산출하여 상기 시드 뉴스의 문장과 상기 중복 뉴스의 문장 간의 유사도를 산출하는 중복 뉴스 결합 시스템.
  9. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 유사도 산출부는,
    상기 시드 뉴스의 문장과 상기 중복 뉴스의 문장에서 나타나는 동사를 공통으로 포함하는 워드넷 용어집 기반 계층에서의 최 하위 계층 상위 동사를 검출하고, 상기 시드 뉴스의 문장에서 나타나는 동사, 상기 중복 뉴스의 문장에서 나타나는 동사 및 상기 최 하위 계층 상위 동사의 동의어 어휘의 개수에 비례하는 연산을 수행하여 확률 값을 산출하며, 산출한 상기 확률 값을 이용하여 상기 유사도를 산출하는 중복 뉴스 결합 시스템.
  10. 소정의 시드 뉴스를 저장하는 시드뉴스 데이터베이스;
    상기 시드 뉴스의 제목에 나타나는 단어를 포함하는 검색어를 이용하여 대상 뉴스들을 검색하는 검색 엔진;
    검색된 상기 대상 뉴스들을 저장하는 대상 뉴스 데이터베이스;
    상기 시드 뉴스와 상기 대상 뉴스들 각각으로부터 제목을 추출하고, 추출한 상기 시드 뉴스의 제목과 상기 대상 뉴스의 제목 간의 유사도를 산출하며, 산출한 상기 제목 간의 유사도에 기초하여 상기 대상 뉴스들 중에서 중복 후보 뉴스를 탐지하는 중복 후보 뉴스 탐지부;
    상기 시드 뉴스와 상기 중복 후보 뉴스로부터 컨텐츠를 추출하고, 추출한 상기 시드 뉴스의 컨텐츠에 포함된 문장과 상기 중복 후보 뉴스의 컨텐츠에 포함된 문장 간의 유사도를 산출하며, 산출한 상기 문장 간의 유사도에 기초하여 상기 중복 후보 뉴스 중에서 중복 뉴스를 탐지하는 중복 뉴스 탐지부;
    탐지된 상기 중복 뉴스를 저장하는 중복 뉴스 데이터베이스;
    상기 시드 뉴스와 상기 중복 뉴스를 하나의 문서로 통합하여 결합 뉴스를 생성하는 중복 뉴스 결합부; 및
    상기 결합 뉴스를 웹 페이지 형태로 제공하는 뉴스 추천부를 포함하며,
    상기 중복 뉴스 결합부는,
    상기 시드 뉴스의 각 문장과, 상기 중복 뉴스의 문장 간의 유사도를 산출하고, 산출한 상기 유사도 중에서 최대값에 해당하는 최대 유사도를 산출하는 유사도 산출부; 및
    산출된 상기 최대 유사도를 소정의 임계값과 비교하며, 상기 최대 유사도가 상기 임계값 미만이면 상기 중복 뉴스의 문장을 상기 중복 뉴스의 문장과의 유사도가 최대로 나타나는 시드 뉴스의 문장 바로 다음에 추가하여 결합 뉴스를 생성하는 결합 뉴스 생성부를 포함하는 중복 뉴스 결합 시스템.
  11. 제10항에 있어서,
    상기 결합 뉴스 생성부는,
    상기 중복 뉴스의 문장과의 유사도가 상기 최대값으로 나타나는 상기 시드 뉴스의 문장과, 이의 다음 문장의 사이에 상기 중복 뉴스의 문장을 추가하는 중복 뉴스 결합 시스템.
  12. 제10항 또는 제11항에 있어서,
    상기 뉴스 추천부는,
    상기 결합 뉴스 중 상기 시드 뉴스에 상기 중복 뉴스의 문장이 추가된 부분에 상기 시드 뉴스의 문장과 구별되도록 식별 표시를 하여 상기 웹 페이지 형태로 제공하는 중복 뉴스 결합 시스템.
KR1020120110197A 2012-10-04 2012-10-04 중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법 KR101429621B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120110197A KR101429621B1 (ko) 2012-10-04 2012-10-04 중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120110197A KR101429621B1 (ko) 2012-10-04 2012-10-04 중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법

Publications (2)

Publication Number Publication Date
KR20140044162A KR20140044162A (ko) 2014-04-14
KR101429621B1 true KR101429621B1 (ko) 2014-08-13

Family

ID=50652286

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120110197A KR101429621B1 (ko) 2012-10-04 2012-10-04 중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법

Country Status (1)

Country Link
KR (1) KR101429621B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102476812B1 (ko) * 2016-10-18 2022-12-09 삼성에스디에스 주식회사 유사도 분석 기반 이음 동의 항목 관리 방법 및 장치
CN112613296A (zh) * 2020-12-07 2021-04-06 深圳价值在线信息科技股份有限公司 新闻的重要程度获取方法、装置、终端设备及存储介质
KR102256903B1 (ko) * 2021-01-20 2021-05-27 주식회사 한컴로보틱스 중요 뉴스를 선별하여 화면 상에 표시할 수 있는 홈 로봇 장치 및 그 동작 방법
KR102538108B1 (ko) * 2023-03-24 2023-05-30 주식회사 올빅뎃 인공지능을 활용한 문서 구조 정보 추출 및 문서 병합 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110122789A (ko) * 2010-05-05 2011-11-11 팔로 알토 리서치 센터 인코포레이티드 구절 시퀀스들의 재사용을 통한 문서 전개를 추론함에 의한 문서 유사도 측정

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110122789A (ko) * 2010-05-05 2011-11-11 팔로 알토 리서치 센터 인코포레이티드 구절 시퀀스들의 재사용을 통한 문서 전개를 추론함에 의한 문서 유사도 측정

Also Published As

Publication number Publication date
KR20140044162A (ko) 2014-04-14

Similar Documents

Publication Publication Date Title
CN108763333B (zh) 一种基于社会媒体的事件图谱构建方法
CN106844658B (zh) 一种中文文本知识图谱自动构建方法及系统
Mitra et al. An automatic approach to identify word sense changes in text media across timescales
KR101377114B1 (ko) 뉴스 요약문 생성 시스템 및 방법
Alzahrani et al. Fuzzy semantic-based string similarity for extrinsic plagiarism detection
WO2013125286A1 (ja) ノン・ファクトイド型質問応答システム及びコンピュータプログラム
US20040049499A1 (en) Document retrieval system and question answering system
KR101429623B1 (ko) 중복 뉴스 탐지 시스템 및 중복 뉴스 탐지 방법
WO2005041063A1 (en) Information retrieval
EP2307951A1 (en) Method and apparatus for relating datasets by using semantic vectors and keyword analyses
CN111104488B (zh) 检索和相似度分析一体化的方法、装置和存储介质
US11893537B2 (en) Linguistic analysis of seed documents and peer groups
Lynn et al. An improved method of automatic text summarization for web contents using lexical chain with semantic-related terms
Bhaskar et al. A query focused multi document automatic summarization
WO2015035401A1 (en) Automated discovery using textual analysis
US20140089246A1 (en) Methods and systems for knowledge discovery
CN114706972A (zh) 一种基于多句压缩的无监督科技情报摘要自动生成方法
KR101429621B1 (ko) 중복 뉴스 결합 시스템 및 중복 뉴스 결합 방법
Lin et al. A simple but effective method for Indonesian automatic text summarisation
Widyantoro et al. Citation sentence identification and classification for related work summarization
Kanapala et al. Passage-based text summarization for legal information retrieval
CN114138979B (zh) 基于词拓展无监督文本分类的文物安全知识图谱创建方法
JP4873739B2 (ja) テキストの多重トピック抽出装置、テキストの多重トピック抽出方法、プログラム及び記録媒体
Gupta A survey of text summarizers for Indian Languages and comparison of their performance
Leveling et al. On metonymy recognition for geographic IR.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee