KR102349624B1 - System and Method for Crawling News - Google Patents

System and Method for Crawling News Download PDF

Info

Publication number
KR102349624B1
KR102349624B1 KR1020200123468A KR20200123468A KR102349624B1 KR 102349624 B1 KR102349624 B1 KR 102349624B1 KR 1020200123468 A KR1020200123468 A KR 1020200123468A KR 20200123468 A KR20200123468 A KR 20200123468A KR 102349624 B1 KR102349624 B1 KR 102349624B1
Authority
KR
South Korea
Prior art keywords
news
article
articles
titles
unit
Prior art date
Application number
KR1020200123468A
Other languages
Korean (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 KR1020200123468A priority Critical patent/KR102349624B1/en
Application granted granted Critical
Publication of KR102349624B1 publication Critical patent/KR102349624B1/en

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/951Indexing; Web crawling techniques
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/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/9538Presentation of query results
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to an aspect of the present invention, a news crawling system capable of exactly providing only news related to a search term included in a search query comprises: a URL collection unit for collecting URLs of news articles including a search term, when a search query including the search term is received from a user terminal; a news article collecting unit for collecting titles and texts of the news articles corresponding to the URLs for each news article; a first filtering unit for primary filtering of duplicate news among the news articles based on the collected titles of the news articles; and a second filtering unit for selecting related news articles by secondarily filtering the first filtered news articles based on the titles and texts of the firstly filtered news articles.

Description

뉴스 크롤링 시스템 및 뉴스 크롤링 방법{System and Method for Crawling News}News crawling system and news crawling method {System and Method for Crawling News}

본 발명은 검색 시스템에 관한 것으로서, 보다 구체적으로 뉴스 크롤링에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a search system, and more particularly to news crawling.

네이버 또는 구글 등과 같은 포털 서비스나 신문사 등을 통해 온라인 상에서 뉴스 기능이 제공되고 있다. 온라인 상에서 뉴스 제공을 위해, 뉴스기사의 크롤링(Crawling)이 수행되는데, 대부분의 뉴스기사 크롤링 시스템은 정확한 뉴스를 선별하기 위한 별도의 과정 없이 많은 뉴스를 수집하는 데에만 초점을 두고 있어서, 구현은 비교적 간단하지만 그 정확도가 상당히 떨어진다는 문제점이 있다.News functions are provided online through portal services such as Naver or Google, or through newspapers. In order to provide news online, news article crawling is performed. Most news article crawling systems focus only on collecting a lot of news without a separate process for selecting accurate news, so the implementation is relatively difficult. Although simple, there is a problem that the accuracy is considerably lowered.

이로 인해 중복된 뉴스가 다량으로 검출되거나, 고객이 원하는 기사가 아닌 다른 기사가 검출되는 경우가 자주 발생한다.As a result, a large amount of duplicate news or articles other than the ones desired by the customer are often detected.

예를 들어, 네이버에서 '포스코ICT'의 뉴스를 열람하기 위해 검색어로 '포스코ICT'를 입력하는 경우, 도 1에 도시된 바와 같이 검색결과에 포스코ICT가 아닌 포스코에 관련된 뉴스가 다수 포함되어 있거나, 동일한 내용의 중복된 뉴스들이 다량으로 검색된다는 것을 알 수 있다.For example, if you enter 'POSCO ICT' as a search word to read the news of 'POSCO ICT' on Naver, as shown in FIG. , it can be seen that duplicate news with the same content is searched in large quantities.

따라서, 사용자는 자신이 원하는 기업의 뉴스만을 열람하기 위해서는, 검색결과 내에서 수많은 중복뉴스 또는 관심 없는 기업의 뉴스를 육안으로 필터링하는 작업을 수행해야 하므로 불편함이 증가한다는 문제점이 있다.Accordingly, in order to read only the news of the company that the user wants, there is a problem in that inconvenience increases because the user has to visually filter numerous duplicate news or news of an uninterested company in the search results.

또한, 검색결과 내에서 중복뉴스를 제거할 수 있다 하더라도 대부분은 그 제목이 완전히 일치하는 동일한 뉴스만을 중복뉴스로 제거할 수 있을 뿐, 실질적으로 동일한 제목이지만 제목 내에서 단어들의 배치순서가 상이한 경우 이를 중복뉴스로 필터링 할 수 없다는 한계가 있다. Also, even if it is possible to remove duplicate news from within the search results, most of them can only remove the same news with the exact same title as duplicate news. There is a limitation in that it cannot be filtered as duplicate news.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 검색쿼리에 포함된 검색어에 관련된 뉴스만을 정확하게 제공할 수 있는 뉴스 크롤링 시스템 및 뉴스 크롤링 방법을 제공하는 것을 그 기술적 특징으로 한다.SUMMARY OF THE INVENTION The present invention is to solve the above problems, and has a technical feature to provide a news crawling system and a news crawling method that can accurately provide only news related to a search term included in a search query.

또한, 본 발명은 완전히 동일한 제목의 뉴스는 물론 제목이 완전히 일치하지는 않더라도 실질적으로 동일한 제목의 뉴스를 정확하게 필터링해 낼 수 있는 뉴스 크롤링 시스템 및 뉴스 크롤링 방법을 제공하는 것을 다른 기술적 특징으로 한다.Another technical feature of the present invention is to provide a news crawling system and a news crawling method that can accurately filter news of the same title as well as news of substantially the same title even if the titles do not completely match.

또한, 본 발명은 뉴스들의 URL을 기초로 포털 서비스를 통해 제공되는 뉴스를 선별하고, 선별된 뉴스를 대상으로 중복뉴스 필터링을 수행할 수 있는 뉴스 크롤링 시스템 및 뉴스 크롤링 방법을 제공하는 것을 또 다른 기술적 특징으로 한다.Another technical aspect of the present invention is to provide a news crawling system and a news crawling method capable of selecting news provided through a portal service based on the URLs of the news and performing duplicate news filtering on the selected news. characterized.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 뉴스 크롤링 시스템은, 사용자 단말기로부터 검색어가 포함된 검색쿼리가 수신되면, 해당 검색어가 포함되어 있는 뉴스기사들의 URL들을 수집하는 URL 수집부; 상기 URL들에 대응되는 뉴스기사들의 제목 및 본문을 뉴스기사 별로 수집하는 뉴스기사 수집부; 상기 수집된 뉴스기사들의 제목을 기초로 상기 뉴스기사들 중 중복뉴스를 1차 필터링하는 제1 필터링부; 및 상기 1차 필터링된 뉴스기사들의 제목 및 본문을 기초로 상기 1차 필터링된 뉴스기사들을 2차 필터링하여 관련 뉴스기사를 선별하는 제2 필터링부를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a news crawling system for achieving the above object, comprising: a URL collecting unit that collects URLs of news articles including a search term when a search query including a search term is received from a user terminal; a news article collecting unit that collects titles and texts of news articles corresponding to the URLs for each news article; a first filtering unit for primary filtering of duplicate news among the news articles based on the titles of the collected news articles; and a second filtering unit configured to select related news articles by secondarily filtering the firstly filtered news articles based on the titles and texts of the firstly filtered news articles.

상술한 목적을 달성하기 위한 본 발명의 일 측면에 따른 뉴스 크롤링 방법은, 사용자 단말기로부터 검색어가 포함된 검색쿼리가 수신되면, 해당 검색어가 포함되어 있는 뉴스들의 URL들을 수집하는 단계; 상기 수집된 URL들 중 미리 정해진 포털 서비스의 웹페이지에 대한 링크정보가 포함되어 있는 URL들을 선별하는 단계; 상기 선별된 URL들에 대응되는 뉴스기사들의 제목을 기초로 상기 뉴스기사들 중 중복뉴스를 1차 필터링하는 단계; 상기 1차 필터링된 뉴스기사들의 제목 및 본문을 기초로 상기 1차 필터링된 뉴스기사들을 2차 필터링하여 관련 뉴스기사를 선별하는 단계; 및 상기 선별된 관련 뉴스기사를 상기 검색쿼리에 대한 뉴스 검색결과로 상기 사용자 단말기로 제공하는 단계를 포함하는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a news crawling method for achieving the above object, comprising: when a search query including a search term is received from a user terminal, collecting URLs of news including the search term; selecting URLs including link information on a web page of a predetermined portal service from among the collected URLs; filtering duplicate news among the news articles based on the titles of the news articles corresponding to the selected URLs; selecting related news articles by secondarily filtering the firstly filtered news articles based on the titles and texts of the firstly filtered news articles; and providing the selected related news article as a news search result for the search query to the user terminal.

상술한 바와 같이 본 발명에 따르면, 뉴스기사의 제목을 기초로 중복뉴스를 1차적으로 필터링하고, 1차 필터링된 결과를 뉴스기사의 제목과 본문을 기초로 2차적으로 필터링하여 관련 뉴스기사를 선별함으로써, 검색쿼리에 포함된 검색어에 관련된 뉴스기사만을 중복뉴스 없이 정확하게 제공할 수 있다는 효과가 있다.As described above, according to the present invention, duplicate news is primarily filtered based on the title of the news article, and related news articles are selected by secondary filtering the primary filtered result based on the title and body of the news article. By doing so, there is an effect that only news articles related to the search terms included in the search query can be accurately provided without duplicate news.

또한, 본 발명에 따르면 뉴스기사의 제목에 포함되어 있는 음절이나 뉴스기사의 제목 및 본문에서 검색어에 연속하여 표현되는 문자들을 기초로 중복뉴스 필터링 및 관련 뉴스기사 선별작업을 수행하기 때문에, 완전히 동일한 제목의 뉴스기사는 물론 제목이 완전히 일치하지는 않더라도 실질적으로 동일한 제목의 뉴스기사도 정확하게 필터링할 수 있다는 효과가 있다.In addition, according to the present invention, duplicate news filtering and related news article selection are performed based on the syllables included in the title of the news article or the characters continuously expressed in the title and body of the news article in the text, so that the exact same title Of course, it has the effect of accurately filtering news articles with substantially the same title even if the titles do not completely match.

또한, 본 발명에 따르면 뉴스들의 URL을 기초로 포털 서비스를 통해 제공되는 뉴스만을 대상으로 중복뉴스 필터링을 수행할 수 있기 때문에, 중복뉴스 필터링에 소요되는 시간을 단축시킬 수 있음은 물론, 해당 뉴스를 작성한 신문사의 웹사이트 별로 중복뉴스 필터링을 위한 프로그램 코드를 별도로 작성할 필요가 없고, 각 신문사 웹사이트의 구조가 변경되더라도 프로그램 코드를 수정할 필요가 없어 신문사의 웹사이트 구조 변경으로 인해 발생될 수 있는 오류를 사전에 방지할 수 있다는 효과가 있다.In addition, according to the present invention, since duplicate news filtering can be performed for only news provided through the portal service based on the URL of the news, the time required for filtering duplicate news can be shortened, as well as the corresponding news. There is no need to write a separate program code for filtering duplicate news for each website of the newspaper you created, and there is no need to modify the program code even if the structure of each newspaper website is changed. It has the effect of being able to prevent it in advance.

또한, 본 발명에 따르면 중복뉴스 필터링을 수행하는 제2 필터링부를 AI모델로 구현하고, 뉴스를 열람하는 사용자로부터의 피드백을 기초로 검색어에 연속하여 표현되는 문자들을 추출하여 AI 모델을 트레이닝시킬 수 있어 중복뉴스 필터링의 정확도를 향상시킬 수 있다는 효과가 있다.In addition, according to the present invention, the second filtering unit that performs duplicate news filtering is implemented as an AI model, and the AI model can be trained by extracting characters continuously expressed in a search word based on feedback from a user who reads the news. It has the effect of improving the accuracy of filtering duplicate news.

도 1은 뉴스 검색결과에 중복뉴스나 특정기업과 관련없는 뉴스가 포함되어 있는 결과를 예시적으로 보여주는 도면이다.
도 2a는 본 발명의 일 실시예에 따른 뉴스 크롤링 시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 블록도이다.
도 2b는 본 발명의 일 실시예에 따른 뉴스 크롤링 시스템의 구성을 보여주는 블록도이다.
도 3은 웹 검색결과들 중 포털 사이트의 웹페이지에 대한 링크정보가 포함되어 있는 뉴스기사들을 보여주는 도면이다.
도 4는 뉴스기사들 중 제1 필터링부에 의해 중복뉴스가 제거된 예를 보여주는 도면이다.
도 5는 1차 필터링된 뉴스기사들 중 제2 필터링부에 의해 관련뉴스가 선별된 예를 보여주는 도면이다.
도 6은 관련 뉴스기사가 저장되는 저장부의 예를 보여주는 도면이다.
도 7은 본 발명의 일 실시예에 따른 뉴스 크롤링 방법을 보여주는 플로우차트이다.
1 is a diagram illustrating an example of a result in which duplicate news or news not related to a specific company is included in a news search result.
2A is a block diagram schematically showing a network configuration to which a news crawling system according to an embodiment of the present invention is applied.
2B is a block diagram showing the configuration of a news crawling system according to an embodiment of the present invention.
3 is a view showing news articles including link information on a web page of a portal site among web search results.
4 is a view showing an example in which duplicate news is removed by the first filtering unit among news articles.
5 is a view showing an example in which related news is selected by the second filtering unit from among the firstly filtered news articles.
6 is a diagram illustrating an example of a storage unit in which related news articles are stored.
7 is a flowchart illustrating a news crawling method according to an embodiment of the present invention.

명세서 전체에 걸쳐서 동일한 참조번호들은 실질적으로 동일한 구성요소들을 의미한다. 이하의 설명에서, 본 발명의 핵심 구성과 관련이 없는 경우 및 본 발명의 기술분야에 공지된 구성과 기능에 대한 상세한 설명은 생략될 수 있다. 본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Like reference numerals refer to substantially identical elements throughout. In the following description, a detailed description of configurations and functions known in the art and cases not related to the core configuration of the present invention may be omitted. The meaning of the terms described in this specification should be understood as follows.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in a variety of different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention belongs It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims.

본 발명의 실시예를 설명하기 위한 도면에 개시된 형상, 크기, 비율, 각도, 개수 등은 예시적인 것이므로 본 발명이 도시된 사항에 한정되는 것은 아니다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명은 생략한다.The shapes, sizes, proportions, angles, numbers, etc. disclosed in the drawings for explaining the embodiments of the present invention are illustrative and the present invention is not limited to the illustrated matters. Like reference numerals refer to like elements throughout. In addition, in describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

본 명세서에서 언급된 '포함한다', '갖는다', '이루어진다' 등이 사용되는 경우 '~만'이 사용되지 않는 이상 다른 부분이 추가될 수 있다. 구성 요소를 단수로 표현한 경우에 특별히 명시적인 기재 사항이 없는 한 복수를 포함하는 경우를 포함한다.When 'including', 'having', 'consisting', etc. mentioned in this specification are used, other parts may be added unless 'only' is used. When a component is expressed in the singular, cases including the plural are included unless otherwise explicitly stated.

구성 요소를 해석함에 있어서, 별도의 명시적 기재가 없더라도 오차 범위를 포함하는 것으로 해석한다.In interpreting the components, it is construed as including an error range even if there is no separate explicit description.

위치 관계에 대한 설명일 경우, 예를 들어, '~상에', '~상부에', '~하부에', '~옆에' 등으로 두 부분의 위치 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 두 부분 사이에 하나 이상의 다른 부분이 위치할 수도 있다.In the case of a description of the positional relationship, for example, when the positional relationship of two parts is described as 'on', 'on', 'on', 'beside', etc., 'right' Alternatively, one or more other parts may be positioned between two parts unless 'directly' is used.

시간 관계에 대한 설명일 경우, 예를 들어, '~후에', '~에 이어서', '~다음에', '~전에' 등으로 시간적 선후 관계가 설명되는 경우, '바로' 또는 '직접'이 사용되지 않는 이상 연속적이지 않은 경우도 포함할 수 있다.In the case of a description of a temporal relationship, for example, 'immediately' or 'directly' when a temporal relationship is described with 'after', 'following', 'after', 'before', etc. It may include cases that are not continuous unless this is used.

제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않는다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.Although the first, second, etc. are used to describe various elements, these elements are not limited by these terms. These terms are only used to distinguish one component from another. Accordingly, the first component mentioned below may be the second component within the spirit of the present invention.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3 항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미할 수 있다. The term “at least one” should be understood to include all possible combinations from one or more related items. For example, the meaning of “at least one of the first, second, and third items” means that each of the first, second, or third items as well as two of the first, second and third items are It may mean a combination of all items that can be presented from more than one.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하고, 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시할 수도 있다.Each feature of the various embodiments of the present invention may be partially or wholly combined or combined with each other, technically various interlocking and driving are possible, and each of the embodiments may be independently implemented with respect to each other or implemented together in a related relationship. may be

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 구체적으로 설명한다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 2a는 본 발명의 일 실시예에 따른 뉴스 크롤링 시스템이 적용되는 네트워크 구성을 개략적으로 보여주는 블록도이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 뉴스 크롤링 시스템(200)은 사용자 단말기(205)로부터 검색어가 포함된 검색쿼리가 수신되면, 해당 검색어와 관련된 관련 뉴스기사를 뉴스 검색결과로 제공한다. 일 실시예에 있어서, 검색어는 사용자가 검색하기 원하는 기업명일 수 있다. 하지만, 본 발명은 이에 한정되지 않고, 검색어는 사용자가 검색하기 원하는 인물명, 지명, 또는 사물의 명칭 등과 같이 다양한 종류를 포함할 수 있다.2A is a block diagram schematically showing a network configuration to which a news crawling system according to an embodiment of the present invention is applied. As shown in FIG. 2 , when a search query including a search term is received from the user terminal 205 , the news crawling system 200 according to an embodiment of the present invention displays related news articles related to the search term as a news search result. provided with In an embodiment, the search term may be a company name that the user wants to search for. However, the present invention is not limited thereto, and the search word may include various types such as the name of a person, a place name, or the name of a thing that the user wants to search.

본 발명의 일 실시예에 따른 뉴스 크롤링 시스템의 구성을 도 2b를 참조하여 구체적으로 설명한다. 도 2b는 본 발명의 일 실시예에 따른 뉴스 크롤링 시스템의 구성을 보여주는 블록도이다. 도 2b에 도시된 바와 같이, 뉴스 크롤링 시스템(200)은 URL 수집부(210), 뉴스기사 수집부(220), 제1 필터링부(230), 제2 필터링부(240), 및 검색결과 제공부(250)를 포함한다. 또한, 본 발명에 따른 뉴스 크롤링 시스템(200)은 관련 뉴스기사 정제부(260)를 추가로 포함할 수 있다.A configuration of a news crawling system according to an embodiment of the present invention will be described in detail with reference to FIG. 2B. 2B is a block diagram showing the configuration of a news crawling system according to an embodiment of the present invention. As shown in FIG. 2B , the news crawling system 200 includes a URL collecting unit 210 , a news article collecting unit 220 , a first filtering unit 230 , a second filtering unit 240 , and a search result list. study 250 . In addition, the news crawling system 200 according to the present invention may further include a related news article refiner 260 .

URL 수집부(210)는 사용자 단말기(205)로부터 검색어가 포함된 검색쿼리가 수신되면, 해당 검색어가 포함되어 있는 뉴스들의 URL(Uniform Resource Locator)들을 수집한다.When a search query including a search word is received from the user terminal 205 , the URL collection unit 210 collects Uniform Resource Locators (URLs) of news including the search word.

구체적으로, URL 수집부(210)는 사용자 단말기(205)로부터 검색쿼리가 수신되면, 검색쿼리에 포함된 검색어를 이용하여 웹(Web)으로서 해당 검색어가 포함되어 있는 웹 검색결과를 요청하고, 웹으로부터 웹 검색결과를 수신한다. 일 실시예에 있어서, URL 수집부(210)는 웹으로부터 HTML(Hyper Text Markup Language) 구조의 웹 검색결과를 수신할 수 있다.Specifically, when a search query is received from the user terminal 205 , the URL collection unit 210 requests a web search result including the corresponding search word as a web by using a search word included in the search query, Receive web search results from In an embodiment, the URL collection unit 210 may receive a web search result in a Hyper Text Markup Language (HTML) structure from the web.

이러한 실시예에 따르는 경우, URL 수집부(210)는 웹으로부터 수신된 HTML 구조의 웹 검색결과를 XML 포맷으로 변환한다. 본 발명에 따른 URL 수집부(210)가 HTML 구조의 웹 검색결과를 XML 포맷으로 변환하는 이유는 HTML 구조의 웹 검색결과는 가공이 어려울 뿐만 아니라, 각 검색결과 내에서 뉴스의 제목 위치와 본문 위치를 특정하기가 어렵기 때문이다.According to this embodiment, the URL collection unit 210 converts the HTML-structured web search result received from the web into an XML format. The reason that the URL collection unit 210 according to the present invention converts the HTML-structured web search result into XML format is that the HTML-structured web search result is difficult to process, and the title position and body position of news within each search result. because it is difficult to specify

따라서, 본 발명에 따른 URL 수집부(210)는 HTML 구조의 웹 검색결과를 XML 포맷으로 변환함으로써 각 검색결과로부터 뉴스기사의 제목 위치와 본문 위치를 용이하게 특정할 수 있게 된다.Accordingly, the URL collection unit 210 according to the present invention converts the HTML-structured web search result into XML format, so that the title position and body position of the news article can be easily specified from each search result.

일 실시예에 있어서, URL 수집부(210)는 XML 포맷으로 변환된 웹 검색결과들의 URL을 필터링하여, 각 웹 검색결과의 URL들 중 미리 정해진 포털 서비스의 웹페이지에 대한 링크정보가 포함되어 있는 URL들만을 선별할 수 있다.In one embodiment, the URL collection unit 210 filters the URLs of the web search results converted into XML format, and includes link information on a web page of a predetermined portal service among the URLs of each web search result. Only URLs can be selected.

본 발명에서 URL 수집부(210)가 XML 포맷으로 변환된 웹 검색결과들의 URL들 중 포털 서비스의 웹페이지에 대한 링크정보가 포함되어 있는 URL들만을 선별하는 이유는, 각 뉴스기사들을 제공하는 신문사마다 웹사이트의 구조가 상이하기 때문에 신문사에서 제공되는 뉴스 기사들을 그대로 이용하고자 하는 경우 각 신문사 별로 코드를 다르게 구성하여야 하기 때문에 작업이 번거로울 수 있기 때문이다. 또 다른 이유는, 신문사 웹사이트가 리뉴얼 될 때마다 코드를 직접 수정해야 하고, 신문사 웹사이트의 구조가 변경되는 경우 구조변경시점과 구조변경 내용을 미리 예측하기가 어려워 이러한 구조변경을 적절하게 변경하지 못하면 오류가 발생할 수 있기 때문이다.In the present invention, the reason that the URL collection unit 210 selects only URLs containing link information to a web page of a portal service from among the URLs of the web search results converted into XML format is that the newspaper company providing each news article This is because, since the structure of each website is different, if you want to use news articles provided by a newspaper as it is, you have to configure the code differently for each newspaper, which can be cumbersome. Another reason is that the code must be manually modified every time a newspaper website is renewed, and when the structure of a newspaper website is changed, it is difficult to predict the timing and contents of the structural change in advance. Failure to do so may result in errors.

반면, 포털 서비스를 통해 제공되는 뉴스기사들은 동일한 HTML 구조를 가지고 있는 포털 서비스의 웹사이트를 통해 제공되기 때문에, 상술한 바와 같은 신문사의 웹페이지를 그대로 이용하는 경우로 인해 발생되는 문제를 미연에 방지할 수 있게 된다.On the other hand, since news articles provided through the portal service are provided through the website of the portal service having the same HTML structure, it is possible to prevent problems caused by using the newspaper's web page as described above. be able to

일 예로, 본 발명에 따른 URL 수집부(210)는 도 3에 도시된 바와 같이, 각 웹 검색결과들 중 네이버 뉴스 홈에 대한 링크정보(300)가 포함되어 있는 뉴스기사들을 선별하고, 해당 뉴스기사들에 대한 URL 정보를 뉴스기사 수집부(220)로 제공한다.For example, as shown in FIG. 3 , the URL collection unit 210 according to the present invention selects news articles including link information 300 for Naver News Home from among the web search results, and selects the corresponding news. URL information on articles is provided to the news article collecting unit 220 .

뉴스기사 수집부(220)는 URL 수집부(210)로부터 전송된 각 뉴스기사들의 URL들에 대응되는 뉴스기사들의 제목 및 본문을 웹으로부터 수집한다.The news article collection unit 220 collects titles and texts of news articles corresponding to URLs of each news article transmitted from the URL collection unit 210 from the web.

일 실시예에 있어서, 뉴스기사 수집부(220)는 각 뉴스기사들의 URL들을 웹에 검색쿼리로 전송하고, 이에 대한 검색결과로 HTML 구조의 뉴스기사들을 수신할 수 있다. 이러한 실시예에 따르는 경우, 뉴스기사 수집부(220)는 URL 수집부(210)와 동일하게 웹으로부터 수신된 HTML 구조의 뉴스기사들을 XML 포맷으로 변환하고, XML 포맷의 뉴스기사들로부터 각 뉴스기사의 제목과 본문을 획득할 수 있다.In one embodiment, the news article collection unit 220 may transmit the URLs of each news article as a search query to the web, and receive the news articles in the HTML structure as a result of the search. According to this embodiment, the news article collecting unit 220 converts the HTML-structured news articles received from the web into an XML format in the same way as the URL collecting unit 210 , and receives each news article from the XML format news articles. You can obtain the title and body of

제1 필터링부(230)는 뉴스기사 수집부(220)에 의해 수집된 각 뉴스기사들의 제목을 기초로 뉴스기사들 중 중복뉴스를 1차 필터링한다.The first filtering unit 230 first filters duplicate news among news articles based on the titles of each news article collected by the news article collecting unit 220 .

이를 위해, 제1 필터링부(230)는 도 2b에 도시된 바와 같이 제목 분석부(232) 및 제1 필터(234)를 포함한다.To this end, the first filtering unit 230 includes a title analyzing unit 232 and a first filter 234 as shown in FIG. 2B .

제목 분석부(232)는 뉴스기사 수집부(220)에 의해 수집된 각 뉴스기사들의 제목을 명사, 형태소, 및 음절 중 적어도 하나의 단위로 분석한다. 제목 분석부(232)는 텍스트 마이닝 기법을 이용하여 각 뉴스기사들의 제목을 분석함으로써 각 뉴스기사들로부터 명사, 형태소, 및 음절 중 적어도 하나를 획득할 수 있다.The title analyzing unit 232 analyzes the titles of each news article collected by the news article collecting unit 220 in units of at least one of a noun, a morpheme, and a syllable. The title analyzer 232 may obtain at least one of a noun, a morpheme, and a syllable from each news article by analyzing the title of each news article using a text mining technique.

일 실시예에 있어서, 제목 분석부(232)는 오픈소스 한글 형태소 분석기인 Konlpy 라이브러리의 Hannanum을 사용하여 각 뉴스기사들의 제목을 명사, 형태소, 및 음절 중 적어도 하나의 집합으로 분류할 수 있다.In an embodiment, the title analyzer 232 may classify the title of each news article into at least one set of nouns, morphemes, and syllables using Hannanum of the Konlpy library, which is an open source Korean morpheme analyzer.

예컨대, 뉴스의 제목이 "우리는 다양한 기업의 재무/ 비재무 Data와 AI / BigData 분석기술을 활용하여 정확한 기업의 채무상환능력 제공을 통해 고객의 비즈니스에 기여합니다. 상거래 Risk 최소화를 통한 기업의 수익성 향상의 동반자가 되고자 합니다"라는 제목의 뉴스기사가 존재하는 경우, 제목 분석부(232)는 해당 뉴스기사의 제목을 분석함으로써 "우리", "다양한", "기업", "재무", "재무", "분석기술", "활용", "정확", "기업", "채무상환능력", "제공", "고객", "비즈니스", "상거래", "최소화", "기업", "수익성", "향상", 및 "동반자" 등과 같은 명사를 획득할 수 있다.For example, if the headline of the news is "We contribute to customers' business by providing accurate corporate debt repayment ability by utilizing various companies' financial/non-financial data and AI/Big Data analysis technology. Improving corporate profitability by minimizing commerce risk If there is a news article titled "I want to become a companion of , "Analytical Technology", "Utilization", "Accurate", "Company", "Debt Repayment Capacity", "Provide", "Customer", "Business", "Commerce", "Minimization", "Enterprise", "Profitability" Nouns such as ", "enhance", and "companion" can be obtained.

다른 예로, 제목 분석부(232)는 상술한 바와 같은 제목을 분석함으로써 "우리", "는", "다양한", "기업", "의", "재무", "/", "비", "재무", "Data", "와", "AI", "/", "BigData", "분석기술", "을", "활용", "하", "어", "정확", "하", "ㄴ", "기업", "의", "채무상환능력", "제공", "을", "통하", "어", "고객", "의", "비즈니스", "에", "기이", "어", "하", "ㅂ니다", ".", "상거래", "Risk", "최소화", "를", "통하", "ㄴ", "기업", "의", "수익성", "향상", "의", "동반자", "가", "되", "고자", "하", "ㅂ니다", 및 "." 등과 같은 형태소를 획득할 수 있다.As another example, the title analysis unit 232 analyzes the title as described above, such as "we", "is", "various", "corporate", "of", "financial", "/", "non", "Financial", "Data", "And", "AI", "/", "BigData", "Analytics", "A", "Utilization", "Ha", "Uh", "Accurate", " H", "b", "company", "of", "debt repayment capacity", "provided", "b", "through", "uh", "customer", "of", "business", " "on", "queer", "uh", "ha", "b", ".", "commerce", "risk", "minimize", "a", "through", "b", "enterprise" "," "of", "profitability", "improvement", "of", "companion", "to be", "to be", "to be", "to be", "to be", and "." It is possible to obtain morphemes such as

또 다른 예로, 제목 분석부(232)는 상술한 바와 같은 제목을 분석함으로써 "우", "리", "는", "다", "양", "한", "기", "업", "의", "재", "무", "/", "비", "재", "무", "D", "a", "t", "a", "와", "A", "I", "/", "B", "I", "g", "D", "a", "t", "a", "분", "석", "기", "술", "을", "활", "용", "하", "여", "정", "확", "한", "기", "업", "의", "채", "무", "상", "환", "능", "력", "제", "공", "을", "통", "해", "고", "객", "의", "비", "즈", "니", 스", "에", "기", "여", "합", "니", "다", ".", "상", "거", "래", "R", "I", "s", "k", "최", "소", "화", "를", "통", "한", "기", "업", "의", "수", "익", "성", "향", "상", "의", "동", "반", "자", "가", "되", "고", "자", "합", "니", "다", "." 등과 같은 음절을 획득할 수 있다.As another example, the title analysis unit 232 analyzes the titles as described above, such as "Wu", "Li", "A", "Da", "Yang", "Han", "Ki", "Up" , "of", "ash", "mu", "/", "b", "ash", "mu", "d", "a", "t", "a", "with", " A", "I", "/", "B", "I", "g", "D", "a", "t", "a", "Minute", "Seok", "Ki" , "Sake", "B", "Bow", "Dragon", "Ha", "W", "Jeong", "Hak", "Han", "Ki", "Up", "Of", " Chae", "Mu", "Sang", "Hwan", "Neung", "Power", "Je", "Gong", "B", "Tong", "Hae", "Go", "Gaek" , "of", "b", "z", "ni", "su", "e", "ki", "fe", "sum", "ni", "da", ".", "sang" ", "geo", "rae", "r", "i", "s", "k", "choi", "so", "wha", "a", "tong", "han", "Ki", "Up", "Ri", "Su", "Ri", "Sung", "Hyang", "Sang", "Ri", "Dong", "Ban", "Child", "Ga" It is possible to obtain syllables such as "," "do", "go", "ja", "hap", "ni", "da", ".", and the like.

제1 필터(234)는 제목 분석부(232)에 의해 분석된 명사, 형태소, 및 음절 중 적어도 하나를 기초로 뉴스기사들의 제목들 간의 유사도를 산출하고, 유사도가 임계치 이상인 제목에 대응되는 뉴스기사들을 중복뉴스로 판단하여 필터링한다.The first filter 234 calculates a degree of similarity between the titles of news articles based on at least one of nouns, morphemes, and syllables analyzed by the title analyzer 232 , and news articles corresponding to titles having a similarity greater than or equal to a threshold. They are judged as duplicate news and filtered.

일 실시예에 있어서, 제목 분석부(232)는 명사, 형태소, 및 음절 중 음절을 기초로 뉴스기사들의 제목들 간의 유사도를 산출하고, 유사도가 임계치 이상인 제목에 대응되는 뉴스기사들을 중복뉴스로 판단하여 필터링할 수 있다. 본 발명에 따른 제목 분석부(232)가 명사, 형태소, 및 음절 중 음절을 이용하여 각 제목들 간의 유사도를 판단하는 이유는 명사나 형태소를 이용하여 유사도를 판단하는 경우 동일한 제목임에도 동일한 제목으로 필터링하지 못하는 미검출 비율이 상대적으로 높을 수 있기 때문이다.In an embodiment, the title analysis unit 232 calculates the similarity between the titles of the news articles based on syllables among nouns, morphemes, and syllables, and determines news articles corresponding to titles having a similarity greater than or equal to a threshold as duplicate news. can be filtered. The reason that the title analyzer 232 according to the present invention determines the degree of similarity between titles using syllables among nouns, morphemes, and syllables is that when determining the degree of similarity using a noun or morpheme, the same title is filtered even though it is the same title. This is because the non-detection rate may be relatively high.

제1 필터(234)는 제목 분석부(232)에 의해 각 제목으로부터 획득된 명사, 형태소, 및 음절 중 적어도 하나를 기초로 각 뉴스의 제목들 간의 유사도 지수를 산출하고, 산출된 유사도 지수가 임계치 이상인 제목들의 뉴스기사들을 중복뉴스로 결정할 수 있다. 제1 필터(234)는 중복뉴스로 결정된 뉴스기사들 중 어느 하나의 뉴스기사만을 선택함으로써 뉴스기사들에 대한 1차 필터링을 수행할 수 있다.The first filter 234 calculates a similarity index between the titles of each news based on at least one of a noun, a morpheme, and a syllable obtained from each title by the title analysis unit 232 , and the calculated similarity index is a threshold value News articles with more than one title may be determined as duplicate news. The first filter 234 may perform primary filtering on the news articles by selecting only one news article from among the news articles determined as duplicate news.

일 실시예에 있어서, 제1 필터(234)는 제목 분석부(232)에 의해 제목으로부터 획득된 음절을 기초로 자카드 유사도(Jaccard Similarity) 지수를 산출하고, 산출된 자카드 유사도 지수가 임계치 이상인 제목들에 대응되는 뉴스기사를 중복뉴스로 결정할 수 있다. 자카드 유사도 지수는 0과 1 사이의 값을 가지고, 비교대상이 되는 2개의 집합이 동일하면 1의 값을 가지고, 2개의 집합에 공통된 원소가 하나도 없으면 0의 값을 가지게 된다.In an embodiment, the first filter 234 calculates a Jaccard Similarity index based on the syllables obtained from the title by the title analysis unit 232, and titles for which the calculated Jaccard Similarity index is greater than or equal to a threshold It is possible to determine the news article corresponding to the duplicate news. The Jacquard Similarity Index has a value between 0 and 1, has a value of 1 if two sets to be compared are identical, and has a value of 0 if there is no element in common between the two sets.

자카드 유사도 지수를 산출하는 방법을 수학식으로 표현하면 아래의 수학식 1로 표현할 수 있다.A method of calculating the jacquard similarity index can be expressed by Equation 1 below.

Figure 112020101558680-pat00001
Figure 112020101558680-pat00001

수학식 1에서 J(A,B)는 비교 대상이 되는 A 제목과 B 제목에 대한 자카드 유사도 지수를 나타내고,

Figure 112020101558680-pat00002
는 A제목과 B제목에 포함되어 있는 음절의 개수의 합을 나타내며,
Figure 112020101558680-pat00003
는 A제목과 B제목에 공통으로 포함되어 있는 음절의 개수를 나타내며,
Figure 112020101558680-pat00004
는 A제목에 포함되어 있는 음절의 개수를 나타내고,
Figure 112020101558680-pat00005
는 B제목에 포함되어 있는 음절의 개수를 나타낸다.In Equation 1, J(A,B) represents the jacquard similarity index for the A title and the B title, which are to be compared,
Figure 112020101558680-pat00002
represents the sum of the number of syllables in the A and B titles,
Figure 112020101558680-pat00003
represents the number of syllables commonly included in the A and B titles,
Figure 112020101558680-pat00004
represents the number of syllables included in the A title,
Figure 112020101558680-pat00005
indicates the number of syllables included in the B title.

상술한 실시예에 있어서, 제1 필터(234)는 각 제목의 음절을 기초로 획득된 자카드 유사도 지수가 0.3 보다 큰 제목들에 대응되는 뉴스 검색결과를 중복뉴스로 결정할 수 있다. In the above-described embodiment, the first filter 234 may determine a news search result corresponding to a title having a jacquard similarity index greater than 0.3 obtained based on the syllable of each title as duplicate news.

이하, 본 발명에 따른 제1 필터링부(230)가 3개의 뉴스기사들의 제목에 포함된 음절을 기초로 3개의 뉴스기사들의 중복여부를 판단하는 방법을 예를 들어 설명한다. 이때, A뉴스기사의 제목은 "포스코, 국내최초 AI활용한 약관 공정화 시스템 구축"이고, B뉴스기사의 제목은 "포스코, AI활용해 불공정 약관 걸러낸다. 국내최초"이며, C뉴스기사의 제목은 "포스코ICT, 지난해 영업익 481억 전년비 14.2% IP"라고 가정한다.Hereinafter, a method in which the first filtering unit 230 according to the present invention determines whether three news articles are duplicated based on syllables included in the titles of the three news articles will be described as an example. At this time, the title of news article A is “POSCO, Korea’s first establishment of a system for fairing terms and conditions using AI”, and the title of news article B is “POSCO filters unfair terms and conditions using AI. The first in Korea”, and the title of news article C Assume that "POSCO ICT last year's operating profit was 48.1 billion won, 14.2% IP from the previous year".

먼저, 제목 분석부(232)는 A뉴스기사로부터 "포", "스", "코", ",", "국", "내", "최", "초", "A", "I", "활", "용", "한", "약", "관", "공", "정", "화", "시", "스", "템", "구", 및 "축"이라는 음절을 획득한다. 또한, 제목 분석부(232)는 B뉴스기사로부터 "포", "스", "코", ",", "A", "I", "활", "용", "해", "불", "공", "정", "약", "관", "걸", "러", "낸", "다", "국", "내", "최", 및 "초"라는 음절을 획득한다. 또한, 제목 분석부(232)는 C뉴스기사로부터 "포", "스", "코", "I", "C", "T", "지", "난", "해", "영", "업", "익", "4", "8", "1", "억", "전", "년", "비", "1", "4", ".", "2", "%", "U", 및 "P"이라는 음절을 획득한다.First, the title analysis unit 232 receives from the news article A, "Po", "S", "Nose", ",", "Guk", "My", "Choi", "Second", "A", " I", "Bow", "Dragon", "Han", "Yak", "Kwan", "Gong", "Jeong", "Hwa", "Si", "Shu", "Temp", "Gu" , and the syllable "axis". In addition, the title analysis unit 232 receives from the news article B, "Po", "S", "Nose", ",", "A", "I", "Bow", "Dragon", "Sun", " Fire", "Gong", "Jeong", "Yak", "Kwan", "Girl", "Ru", "Nan", "Da", "Guk", "My", "Choi", and "Second" " gets the syllable. In addition, the title analysis unit 232 receives the C news article from "Po", "S", "Nose", "I", "C", "T", "G", "I", "Hae", " Zero", "Up", "Revenue", "4", "8", "1", "Billion", "Before", "Year", "Rain", "1", "4", "." , "2", "%", "U", and "P" are obtained.

제1 필터(234)는 A뉴스기사에서 획득된 음절과 B뉴스기사에서 획득된 음절을 기초로 수학식 1을 이용하여 제1 자카드 유사도 지수를 산출한다. 제1 필터(234)는 수학식 1에 A뉴스기사의 음절개수, B뉴스기사의 음절개수, A뉴스기사와 B뉴스기사에 공통으로 포함된 음절개수, 및 A뉴스기사와 B뉴스기사의 음절개수 합산값을 수학식 1에 대입하여 0.567이라는 제1 자카드 유사도 지수를 산출하게 된다.The first filter 234 calculates a first jacquard similarity index by using Equation 1 based on the syllables obtained from the news article A and the syllables obtained from the news article B. The first filter 234 is the number of syllables in the A news article, the number of syllables in the B news article, the number of syllables commonly included in the A news article and the B news article, and the syllables between the A news article and the B news article in Equation 1 The first jacquard similarity index of 0.567 is calculated by substituting the sum of the numbers into Equation 1.

또한, 제1 필터(234)는 A뉴스기사에서 획득된 음절과 C뉴스기사에서 획득된 음절을 기초로 수학식 1을 이용하여 제2 자카드 유사도 지수를 산출한다. 제1 필터(234)는 수학식 1에 A뉴스기사의 음절개수, C뉴스기사의 음절개수, A뉴스기사와 C뉴스기사에 공통으로 포함된 음절개수, 및 A뉴스기사와 C뉴스기사의 음절개수 합산값을 수학식 1에 대입하여 0.139라는 제2 자카드 유사도 지수를 산출하게 된다.Also, the first filter 234 calculates a second jacquard similarity index using Equation 1 based on the syllables obtained from the news article A and the syllables obtained from the news article C. The first filter 234 in Equation 1 shows the number of syllables in the news article A, the number of syllables in the news article C, the number of syllables commonly included in the news article A and the news article C, and the syllables between the news article A and the news article C. A second jacquard similarity index of 0.139 is calculated by substituting the sum of the numbers into Equation 1.

제1 필터(234)는 제1 자카드 유사도 지수는 0.3보다 크므로 A뉴스기사와 B뉴스기사는 중복뉴스인 것으로 판단하고, 제2 자카드 유사도 지수는 0.3보다 작으므로 A뉴스기사와 C뉴스기사는 중복뉴스가 아닌 것으로 판단한다. 이에 따라, 제1 필터(234)는 A뉴스기사와 B뉴스기사 중 어느 하나를 제거하여 2개의 뉴스기사 중 어느 하나의 뉴스기사만이 뉴스 검색결과에 포함되도록 할 수 있다.Since the first filter 234 has a first jacquard similarity index greater than 0.3, it is determined that news article A and news article B are duplicate news, and since the second jacquard similarity index is less than 0.3, news article A and news article C are It is judged not to be duplicate news. Accordingly, the first filter 234 may remove any one of the A news article and the B news article so that only one of the two news articles is included in the news search result.

상술한 바와 같이, 본 발명에 따른 뉴스기사 제목의 명사, 형태소, 및 음절을 기초로 자카드 유사도 지수를 산출하고, 자카드 유사도 지수가 임계치 이상인 뉴스기사들을 중복뉴스로 결정할 수 있기 때문에, 제목이 완전히 일치하는 뉴스는 물론, 제목이 완전히 일치하지 않더라도 실질적으로 동일한 뉴스기사를 중복뉴스로 제거할 수 있어 중복뉴스 제거율을 향상시킬 수 있게 된다.As described above, since the jacquard similarity index is calculated based on the noun, morpheme, and syllable of the news article title according to the present invention, and news articles having the jacquard similarity index greater than or equal to the threshold can be determined as duplicate news, the title is completely identical Of course, even if the titles do not completely match, substantially the same news article can be removed as duplicate news, thereby improving the duplicate news removal rate.

뉴스기사 수집부(220)에 의해 수집된 뉴스기사들 중 제1 필터링부(230)에 의해 중복뉴스가 제거된 예가 도 4에 도시되어 있다. 도 4a에서 17개의 뉴스기사들 주 10개의 중복뉴스가 존재하였지만, 도 4b에서 알 수 있듯이 제1 필터링부(230)에 의해 10개의 중복뉴스가 모두 제거됨으로써 뉴스기사들에서 중복뉴스가 존재하지 않게 된다는 것을 알 수 있다. An example in which duplicate news is removed by the first filtering unit 230 among the news articles collected by the news article collecting unit 220 is illustrated in FIG. 4 . Although there were 10 duplicate news of 17 news articles in FIG. 4A, as can be seen from FIG. 4B, all 10 duplicate news are removed by the first filtering unit 230 so that duplicate news does not exist in the news articles. it can be seen that

다시 도 2b를 참조하면, 제2 필터링부(240)는 제1 필터링부(230)에 의해 1차 필터링된 뉴스기사들의 제목 및 본문을 기초로 1차 필터링된 뉴스기사들을 2차 필터링하여 관련 뉴스기사를 결정한다. 본 발명에서 제1 필터링부(230)에 의한 제1 필터링 이후에 제2 필터링부(240)를 이용하여 제2 필터링 작업을 추가로 수행하는 이유는, 뉴스기사들 내에서 제1 필터링부(230)에 의해 중복뉴스는 제거되었지만, 검색쿼리에 포함된 검색어와 관련 없는 뉴스기사들이 여전히 포함되어 있을 수 있기 때문이다.Referring back to FIG. 2B , the second filtering unit 240 performs secondary filtering of the firstly filtered news articles on the basis of the titles and texts of the firstly filtered news articles by the first filtering unit 230 to obtain related news. decide the article. The reason for additionally performing the second filtering operation using the second filtering unit 240 after the first filtering by the first filtering unit 230 in the present invention is that the first filtering unit 230 in news articles ) has been removed, but news articles unrelated to the search term included in the search query may still be included.

예컨대, 도 4b에서 제1 필터링부(230)에 의해 중복뉴스는 제거되었지만 검색쿼리에 포함된 기업명 "포스코ICT"에 관련된 뉴스기사가 아닌 "포스코"에 관련된 뉴스기사들이 다수 포함되어 있음을 알 수 있다.For example, it can be seen that, although duplicate news is removed by the first filtering unit 230 in FIG. 4B, a number of news articles related to “POSCO” are included, not news articles related to the company name “POSCO ICT” included in the search query. have.

따라서, 본 발명은 제2 필터링부(240)를 이용하여 1차 필터링된 뉴스기사들을 추가로 필터링 함으로써 1차 필터링된 뉴스기사들 중에서 검색쿼리에 포함된 검색어와 관련없는 뉴스기사들을 제거하는 것이다.Accordingly, the present invention removes news articles irrelevant to the search word included in the search query from among the firstly filtered news articles by additionally filtering the firstly filtered news articles using the second filtering unit 240 .

이를 위해, 제2 필터링부(240)는 제2 필터(242), 제3 필터(244), 및 관련 뉴스기사 선별부(246)를 포함할 수 있다.To this end, the second filtering unit 240 may include a second filter 242 , a third filter 244 , and a related news article selection unit 246 .

제2 필터(242)는 1차 필터링된 뉴스기사들의 제목 내에서 검색어와 미리 정해진 문자가 연속하여 표시된 타겟문구의 제1 출현 빈도수를 카운트한다. 제2 필터(242)는 카운트된 제1 출현 빈도수가 제1 기준치 이상인 제목에 대응되는 뉴스기사를 제1 관련 뉴스기사로 선별한다.The second filter 242 counts the first frequency of appearance of the target phrase in which the search word and the predetermined character are continuously displayed in the firstly filtered titles of the news articles. The second filter 242 selects a news article corresponding to a title in which the counted first appearance frequency is equal to or greater than the first reference value as the first related news article.

제3 필터(244)는 1차 필터링된 뉴스기사들의 본문 내에서 타겟문구의 제2 출현 빈도수를 카운트한다. 제3 필터(244)는 카운트된 제2 출현 빈도수가 제2 기준치 이상인 본문에 대응되는 뉴스기사들을 제2 관련 뉴스기사로 선별한다. 일 실시예에 있어서, 제2 기준치는 제1 기준치보다 큰 값을 갖도록 설정될 수 있다. 이는 동일한 타겟문구라 하더라도 타겟문구가 제목에 포함되어 있는 경우가 본문에 포함되어 있는 경우보다 그 중요도가 훨씬 높기 때문이다. 예컨대, 제1 기준치가 1로 설정되는 경우 제2 기준치는 5로 설정될 수 있다.The third filter 244 counts the second frequency of occurrence of the target phrase in the body of the firstly filtered news articles. The third filter 244 selects news articles corresponding to the main text having the counted second appearance frequency equal to or greater than the second reference value as second related news articles. In an embodiment, the second reference value may be set to have a larger value than the first reference value. This is because even if the target phrase is the same, the case where the target phrase is included in the title is much higher than the case where the target phrase is included in the body. For example, when the first reference value is set to 1, the second reference value may be set to 5.

상술한 실시예에 있어서, 타겟문구에 포함되는 미리 정해진 문자는 미리 정해진 텍스트들 내에서 해당 검색어에 연속하여 표시되고, 그 출현빈도가 기준치 이상인 핵심조사들, 핵심단어들, 및 특수문자 중 적어도 하나를 포함할 수 있다.In the above-described embodiment, the predetermined characters included in the target phrase are continuously displayed in the corresponding search word within the predetermined texts, and at least one of key searches, key words, and special characters whose frequency of appearance is equal to or greater than the reference value may include

예컨대, 핵심조사는 특정 텍스트들 내에서 해당 검색어에 연속하여 표시되는 조사들로써, "은", "는", "이", "가", "을", "를", "의", "에", "와", 및 "과" 중 적어도 하나를 포함할 수 있다. 또한, 핵심단어는 특정 텍스트들 내에서 해당 검색어에 연속하여 표시되거나 해당 검색어와 쌍(Pair)로 출현하는 단어들로써 "그룹", "家", 및 "도" 중 적어도 하나를 포함할 수 있다. 또한, 특수문자는 특정 텍스트들 내에서 해당 검색어에 연속하여 표시되는 기호로써 ",", """, "·", "(", "'", "]", "-", "..." 중 적어도 하나를 포함할 수 있다.For example, a key search is a search term that is continuously displayed within a specific text within a corresponding search term. It may include at least one of ", "and", and "and". In addition, the key word is a word that is continuously displayed on a corresponding search word in specific texts or appears as a pair with the corresponding search word, and may include at least one of "group", "family", and "do". In addition, special characters are symbols that are continuously displayed in the corresponding search word within specific texts, such as ",", """, "·", "(", "'", "]", "-", ".. ." may be included.

관련 뉴스기사 선별부(246)는 제1 필터(242)에 의해 선정된 제1 관련 뉴스기사 및 제2 필터(244)에 의해 선정된 제2 관련 뉴스기사를 관련 뉴스기사로 결정한다. 즉, 관련 뉴스기사 선별부(246)는 제1 필터(242) 또는 제2 필터(244) 중 어느 하나에 의해 관련 뉴스기사로 판단되면 해당 뉴스기사를 최종적으로 관련 뉴스기사로 결정한다.The related news article selection unit 246 determines the first related news article selected by the first filter 242 and the second related news article selected by the second filter 244 as related news articles. That is, when the related news article selection unit 246 is determined to be a related news article by either the first filter 242 or the second filter 244 , the related news article is finally determined as a related news article.

예컨대, 검색쿼리에 포함된 기업명이 "포스코ICT"일 때, 제1 필터링부(230)에 의해 1차 필터링된 뉴스기사들이 도 5a에 도시된 바와 같은 경우, 도 5a에 도시된 11개의 뉴스기사들 중에서 포스코ICT와 관련 있는 뉴스기사는 4개뿐임을 알 수 있다. 도 5a에 도시된 뉴스기사들을 제2 필터링부(240)를 이용하여 2차 필터링하면 도 5b에 도시된 바와 같이, 11개의 뉴스기사들 중 포스코ICT의 관련 뉴스기사 4개만이 표시됨을 알 수 있다.For example, when the company name included in the search query is “POSCO ICT”, the news articles first filtered by the first filtering unit 230 are as shown in FIG. 5A, 11 news articles shown in FIG. 5A Among them, it can be seen that there are only 4 news articles related to POSCO ICT. When the news articles shown in FIG. 5A are secondarily filtered using the second filtering unit 240, as shown in FIG. 5B, it can be seen that only 4 related news articles of POSCO ICT are displayed among 11 news articles. .

이와 같이, 본 발명에 따르면 제2 필터링부(240)가 1차 필터링된 뉴스기사들 중 해당 기업과 관련된 관련 뉴스기사만을 다시 선별할 수 있기 때문에 검색결과의 정확도를 향상시킬 수 있고, 이에 따라 검색결과를 열람하는 사용자는 뉴스 검색결과 중에서 자신이 열람하고자 하는 기업에 관련된 뉴스를 육안으로 선별해야 할 필요가 없어 사용자 편의성도 증대된다.As described above, according to the present invention, since the second filtering unit 240 can select only the news articles related to the company from among the firstly filtered news articles, the accuracy of the search results can be improved, and thus the search results can be searched accordingly. Users who read the results do not need to visually select news related to the company they want to read from among the news search results, so user convenience is also increased.

다시 도 2b를 참조하면, 검색결과 제공부(250)는 제2 필터링부(240)에 의해 결정된 관련 뉴스기사들로 구성된 뉴스 검색결과를 검색쿼리에 대한 검색결과로 사용자 단말기(205)로 제공한다.Referring back to FIG. 2B , the search result providing unit 250 provides a news search result composed of related news articles determined by the second filtering unit 240 to the user terminal 205 as a search result for the search query. .

이를 위해, 검색결과 제공부(250)는 저장부(252) 및 검색결과 생성부(254)를 포함한다.To this end, the search result providing unit 250 includes a storage 252 and a search result generating unit 254 .

저장부(252)는 제2 필터링부(240)에 의해 결정된 관련 뉴스기사를 저장한다. 일 실시예에 있어서, 저장부(252)는 도 6에 도시된 바와 같이 관련 뉴스기사 별로 해당 관련 뉴스기사를 저장하기 위한 복수개의 큐(600)를 포함하고, 제2 필터링부(240)에 의해 결정된 관련 뉴스기사들을 각 관련 뉴스기사의 제목, 날짜, 본문, 원문링크, 및 관련 뉴스기사를 생성한 신문사 정보로 분리하여 복수개의 큐(600)에 분리하여 저장할 수 있다.The storage unit 252 stores the related news articles determined by the second filtering unit 240 . In one embodiment, the storage unit 252 includes a plurality of queues 600 for storing the relevant news article for each relevant news article as shown in FIG. 6 , and is The determined related news articles may be separated into the title, date, text, original link, and newspaper company information that generated the related news article of each relevant news article, and stored separately in a plurality of queues 600 .

검색결과 생성부(254)는 미리 정해진 포맷에 따라 상기 저장부(252)에 저장된 관련 뉴스기사들을 이용하여 검색결과를 생성하고, 생성된 검색결과를 사용자 단말기로 제공한다. 일 실시예에 있어서, 검색결과 생성부(254)는 관련 뉴스기사의 제목, 날짜, 및 원문링크를 머지하여 검색결과를 생성하여 사용자 단말기(205)로 제공하고, 사용자 단말기(205)에 의해 해당 뉴스의 제목이 클릭되면 해당 뉴스기사의 원문링크를 이용하여 해당 뉴스기사의 원문을 제공할 수 있다.The search result generating unit 254 generates a search result using the related news articles stored in the storage unit 252 according to a predetermined format, and provides the generated search result to the user terminal. In one embodiment, the search result generating unit 254 merges the title, date, and original link of the related news article to generate a search result and provide it to the user terminal 205 , and the corresponding news article by the user terminal 205 When the title of the news is clicked, the original text of the news article can be provided by using the original link of the news article.

일 실시예에 있어서, 검색결과 생성부(254)는 관련 뉴스기사를 포함하는 검색결과를 미리 정해진 형식의 파일로 출력할 수 있다. 예컨대, 검색결과 생성부(254)는 관련 뉴스기사를 포함하는 검색결과를 엑셀(Excel) 파일, 텍스트(txt) 파일, 및 HTML 파일로 출력할 수 있다.In an embodiment, the search result generator 254 may output a search result including a related news article as a file in a predetermined format. For example, the search result generator 254 may output a search result including a related news article as an Excel file, a text file, and an HTML file.

상술한 실시예에 있어서, 제2 필터링부(240)는 AI(Artificial Intelligence)모델로 구현될 수 있고, 본 발명에 따른 뉴스 크롤링 시스템(200)은 제2 필터링부(240)를 트레이닝시키기 위한 트레이닝부(260)를 더 포함할 수 있다.In the above-described embodiment, the second filtering unit 240 may be implemented as an artificial intelligence (AI) model, and the news crawling system 200 according to the present invention provides training for training the second filtering unit 240 . A unit 260 may be further included.

트레이닝부(260)는 사용자 단말기(205)로부터 사용자 단말기(205)로 제공된 뉴스 검색결과들에 대한 만족도를 피드백받고, 피드백된 만족도가 높은 관련 뉴스기사 내에서 해당 검색어에 연속하여 표시되는 문자들 중 출현빈도가 기준치 이상인 문자들을 다시 추출하고, 추출된 문자들을 이용하여 제2 필터링부(240)를 트레이닝시킬 수 있다. 이때, 트레이닝부(260)는 제2 필터링부(240)의 트레이닝을 통해 새롭게 해당 검색어에 연속하여 표시되는 핵심조사, 핵심단어, 및 특수문자를 새롭게 추가하거나 제1 기준치 및 제2 기준치의 값을 조절할 수 있다. The training unit 260 receives feedback from the user terminal 205 on the satisfaction with the news search results provided to the user terminal 205, and among the characters continuously displayed for the search word in the related news article with high feedback satisfaction. Characters having an appearance frequency greater than or equal to the reference value may be extracted again, and the second filtering unit 240 may be trained using the extracted characters. At this time, the training unit 260 newly adds the key research, key words, and special characters continuously displayed to the corresponding search word through the training of the second filtering unit 240, or sets the values of the first and second reference values. can be adjusted

일 실시예에 있어서, 트레이닝부(260)는 뉴스 검색결과들 중 사용자 단말기(205)에 의해 "좋아요"가 선택된 관련 뉴스기사들 내에서 해당 검색어에 연속하여 표시되는 문자들 중 출현빈도가 기준치 이상인 문자들을 추출하고, 추출된 문자들을 이용하여 제2 필터링부(240)를 트레이닝 시킬 수 있다.In one embodiment, the training unit 260 may be configured to configure the training unit 260 to have a frequency of occurrence greater than or equal to a reference value among characters continuously displayed in a corresponding search word in related news articles for which “Like” is selected by the user terminal 205 from among the news search results. Characters may be extracted, and the second filtering unit 240 may be trained using the extracted characters.

또한, 본 발명에 따른 뉴스 크롤링 시스템(200)은 관련 뉴스기사가 생성된 시간정보를 미리 정해진 표준시간 형식으로 수정하기 위한 관련 뉴스기사 정제부(270)를 더 포함할 수 있다. 본 발명에서 관련 뉴스기사 정제부(270)를 통해 관련 뉴스기사가 생성된 시간정보를 미리 정해진 표준형식으로 수정하는 이유는, 관련 뉴스기사들은 해당 관련 뉴스기사가 생성된 시간정보가 날짜 및 시간으로 구성된 표준시간 형식으로 표시될 수도 있지만, 일부 관련 뉴스기사들은 관련 뉴스기사가 생성된 시간정보가 현재시간으로부터 몇 시간 전 또는 몇 분 전과 같은 형식으로 표시될 수도 있기 때문이다.In addition, the news crawling system 200 according to the present invention may further include a related news article refiner 270 for correcting time information at which a related news article is generated in a predetermined standard time format. In the present invention, the reason that the related news article generation time information is modified in a predetermined standard format through the related news article refining unit 270 is that the related news articles display the related news article creation time information as the date and time. This is because, although it may be displayed in the configured standard time format, some related news articles may be displayed in a format such as several hours or minutes before the current time when the related news article was created.

이와 같이, 본 발명에 따른 뉴스 크롤링 시스템(200)은 관련 뉴스기사 정제부(270)를 통해 관련 뉴스기사들의 시간정보를 모두 통일된 형식으로 표시할 수 있어 관련 뉴스기사를 열람하는 사용자가 각 관련 뉴스기사들의 생성시간을 용이하게 확인할 수 있게 된다.In this way, the news crawling system 200 according to the present invention can display all time information of the related news articles in a unified format through the related news article refiner 270, so that the user who reads the related news articles It is possible to easily check the creation time of news articles.

이하, 본 발명에 따른 뉴스 크롤링 방법에 대해 설명한다.Hereinafter, a news crawling method according to the present invention will be described.

도 7은 본 발명의 일 실시예에 따른 뉴스 크롤링 방법을 보여주는 플로우차트이다. 도 7에 도시된 뉴스 크롤링 방법은 도 2a 및 도 2b에 도시된 뉴스 크롤링 시스템에 의해 수행될 수 있다.7 is a flowchart illustrating a news crawling method according to an embodiment of the present invention. The news crawling method shown in FIG. 7 may be performed by the news crawling system shown in FIGS. 2A and 2B .

먼저, 뉴스 크롤링 시스템은 사용자 단말기로부터 검색어가 포함된 검색쿼리를 수신한다(S700). 뉴스 크롤링 시스템은 검색쿼리에 포함된 검색어를 이용하여 해당 검색어에 관련된 뉴스들의 URL들을 수집한다(S710). 이후, 뉴스 크롤링 시스템은 수집된 URL들 중 미리 정해진 포털 서비스의 웹페이지에 대한 링크정보가 포함되어 있는 URL들을 선별한다(S720).First, the news crawling system receives a search query including a search term from the user terminal (S700). The news crawling system collects URLs of news related to the search word by using the search word included in the search query (S710). Thereafter, the news crawling system selects URLs including link information on a web page of a predetermined portal service from among the collected URLs ( S720 ).

본 발명에서 뉴스 크롤링 시스템이 수집된 URL들 중 포털 서비스의 웹페이지에 대한 링크정보가 포함되어 있는 URL들만을 선별하는 이유는, 각 뉴스기사들을 제공하는 신문사마다 웹사이트의 구조가 상이하기 때문에 신문사에서 제공되는 뉴스 기사들을 그대로 이용하고자 하는 경우 각 신문사 별로 코드를 다르게 구성하여야 하기 때문에 작업이 번거로울 수 있기 때문이다. 또 다른 이유는, 신문사 웹사이트가 리뉴얼 될 때마다 코드를 직접 수정해야 하고, 신문사 웹사이트의 구조가 변경되는 경우 구조변경시점과 구조변경 내용을 미리 예측하기가 어려워 이러한 구조변경을 적절하게 변경하지 못하면 오류가 발생할 수 있기 때문이다.In the present invention, the reason that the news crawling system selects only URLs that contain link information on the web page of the portal service from among the collected URLs is that the structure of the website is different for each newspaper that provides each news article. This is because, if you want to use the news articles provided by the website as they are, you have to configure the code differently for each newspaper company, which can be cumbersome. Another reason is that the code must be manually modified every time a newspaper website is renewed, and when the structure of a newspaper website is changed, it is difficult to predict the timing and contents of the structural change in advance. Failure to do so may result in errors.

반면, 포털 서비스를 통해 제공되는 뉴스기사들은 동일한 HTML 구조를 가지고 있는 포털 서비스의 웹사이트를 통해 제공되기 때문에, 상술한 바와 같은 신문사의 웹페이지를 그대로 이용하는 경우로 인해 발생되는 문제를 미연에 방지할 수 있게 된다.On the other hand, since news articles provided through the portal service are provided through the website of the portal service having the same HTML structure, it is possible to prevent problems caused by using the newspaper's web page as described above. be able to

이후, 뉴스 크롤링 시스템은 S720에서 선별된 뉴스 URL들에 대응되는 뉴스기사를 수집한다(S730). 이때, 뉴스 크롤링 시스템은 뉴스기사의 제목과 본문을 수집할 수 있다.Thereafter, the news crawling system collects news articles corresponding to the news URLs selected in S720 (S730). In this case, the news crawling system may collect the title and body of the news article.

이후, 뉴스 크롤링 시스템은 뉴스기사들의 제목들을 기초로 뉴스기사들 중 중복뉴스를 1차 필터링한다(S820).Thereafter, the news crawling system first filters duplicate news among the news articles based on the titles of the news articles (S820).

구체적으로, 뉴스 크롤링 시스템은 먼저, 수집된 뉴스기사들의 제목을 명사, 형태소, 및 음절 중 적어도 하나의 단위로 분석함으로써, 각 뉴스의 제목으로부터 명사, 형태소, 및 음절 중 적어도 하나를 획득한다. 이하에서는 설명의 편의를 위해 뉴스 크롤링 시스템이 제목으로부터 음절을 획득하는 것으로 가정하여 설명하기로 한다.Specifically, the news crawling system acquires at least one of a noun, a morpheme, and a syllable from the title of each news by first analyzing the titles of the collected news articles in units of at least one of a noun, a morpheme, and a syllable. Hereinafter, for convenience of explanation, it is assumed that the news crawling system acquires syllables from the title.

뉴스 크롤링 시스템은 획득된 음절을 기초로 상기 수집된 뉴스기사들의 제목들 간의 유사도 지수를 산출하고, 산출된 유사도 지수가 임계치 이상인 뉴스기사들을 중복뉴스로 결정한다. 일 실시예에 있어서, 뉴스 크롤링 시스템은 각 뉴스기사 제목들의 음절을 기초로 자카드 유사도 지수를 산출하고, 자카드 유사도 지수가 임계치 이상인 제목에 대응되는 뉴스기사들을 중복뉴스로 판단할 수 있다. 뉴스 크롤링 시스템은 중복뉴스로 판단된 뉴스기사들 중 어느 하나의 뉴스기사를 선택함으로써 1차 필터링을 완료할 수 있다.The news crawling system calculates a similarity index between the titles of the collected news articles based on the acquired syllables, and determines news articles having the calculated similarity index greater than or equal to a threshold as duplicate news. In an embodiment, the news crawling system may calculate a jacquard similarity index based on the syllables of each news article title, and determine news articles corresponding to a title having a jacquard similarity index greater than or equal to a threshold as duplicate news. The news crawling system may complete the primary filtering by selecting any one news article from among the news articles determined to be duplicate news.

이후, 뉴스 크롤링 시스템은 1차 필터링된 뉴스기사들에 대해 뉴스기사의 제목 및 본문을 기초로 2차 필터링을 수행하여 관련 뉴스기사를 선별한다(S750).Thereafter, the news crawling system selects related news articles by performing secondary filtering on the primary filtered news articles based on the title and body of the news article (S750).

구체적으로, 뉴스 크롤링 시스템은 1차 필터링된 뉴스기사들의 제목 내에서 검색어에 미리 정해진 문자가 연속하여 표시된 타겟문구의 제1 출현 빈도수가 제1 기준치 이상인 제목에 대응되는 뉴스기사를 제1 관련 뉴스기사로 선별한다. 또한, 뉴스 크롤링 시스템은 1차 필터링된 뉴스기사들의 본문 내에서 타겟문구의 제2 출현 빈도수가 제1 기준치보다 큰 제2 기준치 이상인 본문에 대응되는 뉴스기사를 제2 관련 뉴스기사로 선별한다.Specifically, the news crawling system converts a first related news article to a news article corresponding to a title in which a first frequency of occurrence of a target phrase in which predetermined characters are continuously displayed in a search word within the titles of the firstly filtered news articles is equal to or greater than a first reference value select with In addition, the news crawling system selects, as the second related news article, a news article corresponding to a text having a second appearance frequency of the target phrase in the body of the first filtered news articles equal to or greater than a second reference value greater than the first reference value.

일 실시예에 있어서, 타겟문구에 포함된 미리 정해진 문자는 미리 정해진 텍스트들 내에서 검색어에 연속하여 표시되고, 출현빈도가 기준치 이상인 핵심조사, 핵심단어, 및 특수문자 중 적어도 하나를 포함할 수 있다. 핵심조사, 핵심단어, 및 특수문자는 상술한 제2 필터 및 제3 필터 부분에서 설명하였기 때문에 구체적인 설명은 생략하기로 한다.In an embodiment, the predetermined characters included in the target phrase are continuously displayed in the search word within the predetermined texts, and the frequency of appearance may include at least one of a key search term, a key word, and a special character whose frequency of occurrence is equal to or greater than a reference value. . Since key search terms, key words, and special characters have been described in the second and third filter sections, detailed descriptions will be omitted.

뉴스 크롤링 시스템은 제1 관련 뉴스기사 및 제2 관련 뉴스기사가 선별되면, 선별된 제1 관련 뉴스기사 및 제2 관련 뉴스기사를 뉴스 검색결과에 포함될 최종 관련 뉴스기사로 선별한다.When the first related news article and the second related news article are selected, the news crawling system selects the first related news article and the second related news article as final related news articles to be included in the news search result.

이후, 뉴스 크롤링 시스템은 S750에서 선별된 관련 뉴스기사들을 기초로 뉴스 검색결과를 생성하고(S760), 생성된 뉴스 검색결과를 사용자 단말기로 제공한다(S780).Thereafter, the news crawling system generates a news search result based on the related news articles selected in S750 (S760), and provides the generated news search result to the user terminal (S780).

한편, 도 7에 도시하지는 않았지만, 상술한 제2 필터링 과정은 AI모델에 의해 수행될 수 있고, 뉴스 크롤링 시스템은 사용자 단말기로부터 해당 관련 뉴스기사들에 대한 피드백을 받아, 피드백된 만족도가 높은 관련 뉴스기사 내에서 해당 검색어에 연속하여 표시되는 문자들 중 출현빈도가 기준치 이상인 문자들을 다시 추출하고, 추출된 문자들을 이용하여 AI모델을 트레이닝시킬 수 있다. 이때, 뉴스 크롤링 시스템은 AI모델의 트레이닝을 통해 새롭게 해당 검색어에 연속하여 표시되는 핵심조사, 핵심단어, 및 특수문자를 새롭게 추가하거나 제1 기준치 및 제2 기준치의 값을 조절할 수 있다. Meanwhile, although not shown in FIG. 7 , the above-described second filtering process may be performed by an AI model, and the news crawling system receives feedback on the relevant news articles from the user terminal, Among the characters continuously displayed in the corresponding search word within the article, the characters having the frequency of appearance greater than or equal to the reference value can be extracted again, and the AI model can be trained using the extracted characters. At this time, the news crawling system may newly add key research, key words, and special characters continuously displayed in the corresponding search word through training of the AI model, or adjust the values of the first and second reference values.

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will understand that the above-described present invention may be embodied in other specific forms without changing the technical spirit or essential characteristics thereof.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the above detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

200: 뉴스 크롤링 시스템 205: 사용자 단말기
210: URL 수집부 220: 뉴스기사 수집부
230: 제1 필터링부 240: 제2 필터링부
250: 검색결과 제공부 260: 트레이닝부
270: 관련 뉴스기사 정제부
200: news crawling system 205: user terminal
210: URL collection unit 220: news article collection unit
230: first filtering unit 240: second filtering unit
250: search result providing unit 260: training unit
270: Refining Department of Related News Articles

Claims (15)

사용자 단말기로부터 검색어가 포함된 검색쿼리가 수신되면, 해당 검색어가 포함되어 있는 뉴스기사들의 URL들을 수집하는 URL 수집부;
상기 URL들에 대응되는 뉴스기사들의 제목 및 본문을 뉴스기사 별로 수집하는 뉴스기사 수집부;
상기 수집된 뉴스기사들의 제목을 기초로 상기 뉴스기사들 중 중복뉴스를 1차 필터링하는 제1 필터링부; 및
상기 1차 필터링된 뉴스기사들의 제목 및 본문을 기초로 상기 1차 필터링된 뉴스기사들을 2차 필터링하여 관련 뉴스기사를 선별하는 제2 필터링부를 포함하고,
상기 제2 필터링부는,
상기 1차 필터링된 뉴스기사들의 제목 내에서 상기 검색어에 미리 정해진 문자가 연속하여 표시된 타겟문구의 제1 출현 빈도수를 카운트하고, 카운트된 상기 제1 출현 빈도수가 제1 기준치 이상인 제목에 대응되는 뉴스기사를 제1 관련 뉴스기사로 선별하는 제2 필터;
상기 1차 필터링된 뉴스기사들의 본문 내에서 상기 타겟문구의 제2 출현 빈도수를 카운트하고, 카운트된 상기 제2 출현 빈도수가 제2 기준치 이상인 본문에 대응되는 뉴스기사를 제2 관련 뉴스기사로 선별하는 제3 필터; 및
상기 1차 필터링된 뉴스기사들 중 상기 제1 관련 뉴스기사 및 상기 제2 관련 뉴스기사를 상기 관련 뉴스로 선별하는 관련 뉴스기사 선별부를 포함하는 것을 특징으로 하는 뉴스 크롤링 시스템.
When a search query including a search term is received from the user terminal, a URL collection unit for collecting URLs of news articles including the search term;
a news article collecting unit that collects titles and texts of news articles corresponding to the URLs for each news article;
a first filtering unit for primary filtering of duplicate news among the news articles based on the titles of the collected news articles; and
and a second filtering unit for selecting related news articles by secondarily filtering the first filtered news articles based on the titles and texts of the firstly filtered news articles,
The second filtering unit,
Count the first frequency of occurrence of the target phrase in which a predetermined character is continuously displayed in the search word within the titles of the first filtered news articles, and a news article corresponding to a title in which the counted first frequency of occurrence is equal to or greater than a first reference value a second filter for selecting a first related news article;
Counting the second frequency of occurrence of the target phrase in the body of the first filtered news articles, and selecting a news article corresponding to the main text having the counted second frequency of occurrence equal to or greater than a second reference value as a second related news article a third filter; and
and a related news article selection unit for selecting the first related news article and the second related news article from among the first filtered news articles as the related news.
제1항에 있어서,
상기 제1 필터링부는,
상기 수집된 뉴스기사들의 제목을 명사, 형태소, 및 음절 중 적어도 하나의 단위로 분석하는 제목 분석부; 및
상기 제목 분석부에 의해 분석된 명사, 형태소, 및 음절 중 적어도 하나를 기초로 상기 수집된 뉴스기사들의 제목들 간의 유사도를 산출하고, 유사도가 임계치 이상인 제목에 대응되는 뉴스기사들을 중복뉴스로 판단하여 필터링하는 제1 필터를 포함하는 것을 특징으로 하는 뉴스 크롤링 시스템.
According to claim 1,
The first filtering unit,
a title analysis unit that analyzes the titles of the collected news articles into at least one unit of a noun, a morpheme, and a syllable; and
The similarity between the titles of the collected news articles is calculated based on at least one of nouns, morphemes, and syllables analyzed by the title analysis unit, and news articles corresponding to titles having a similarity greater than or equal to a threshold are determined as duplicate news. News crawling system comprising a first filter for filtering.
제2항에 있어서,
상기 제1 필터는,
상기 수집된 뉴스기사들의 제목 별로 획득된 명사, 형태소, 및 음절 중 적어도 하나를 기초로 각 뉴스기사의 제목들 간의 자카드 유사도(Jaccard Similarity) 지수를 산출하고, 산출된 자카드 유사도 지수가 상기 임계치 이상인 제목들에 대응되는 뉴스기사들 중 어느 하나의 뉴스를 선택하는 것을 특징으로 하는 뉴스 크롤링 시스템.
3. The method of claim 2,
The first filter is
A Jaccard similarity index between the titles of each news article is calculated based on at least one of nouns, morphemes, and syllables obtained for each title of the collected news articles, and the calculated Jaccard similarity index is greater than or equal to the threshold. News crawling system, characterized in that for selecting any one of the news articles corresponding to the.
삭제delete 제1항에 있어서,
상기 타겟문구에 포함된 상기 미리 정해진 문자는 미리 정해진 텍스트들 내에서 상기 검색어에 연속하여 표시되고, 출현빈도가 기준치 이상인 핵심조사, 핵심단어, 및 특수문자 중 적어도 하나를 포함하는 것을 특징으로 하는 뉴스 크롤링 시스템.
The method of claim 1,
The predetermined character included in the target phrase is continuously displayed in the search word within predetermined texts, and the frequency of appearance includes at least one of a key word, a key word, and a special character. crawling system.
제5항에 있어서,
상기 핵심조사는 "은", "는", "이", "가", "을", "를", "의", "에", "와", "과" 중 적어도 하나를 포함하고, 상기 핵심단어는 "그룹", "家", 및 "도" 중 적어도 하나를 포함하며, 상기 특수문자는 ",", """, "·", "(", "'", "]", "-", "..." 중 적어도 하나를 포함하는 것을 특징으로 하는 뉴스 크롤링 시스템.
6. The method of claim 5,
The key research includes at least one of "is", "is", "this", "a", "a", "a", "of", "in", "and" The key word includes at least one of "group", "family", and "province", and the special character is ",", """, "·", "(", "'", "]" , "-", "..." News crawling system, characterized in that it includes at least one of.
제1항에 있어서,
상기 제1 기준치는 상기 제2 기준치보다 작은 값을 갖도록 설정되는 것을 특징으로 하는 뉴스 크롤링 시스템.
The method of claim 1,
The news crawling system, characterized in that the first reference value is set to have a smaller value than the second reference value.
제1항에 있어서,
상기 제2 필터링부는 AI(Artificial Intelligence)모델로 구형되고, 상기 사용자 단말기로부터 상기 관련 뉴스기사에 대한 만족도를 피드백받고, 피드백된 만족도에 따라 선택되는 관련 뉴스기사 내에서 상기 검색어에 연속하여 표시되는 문자들을 이용하여 상기 AI모델을 트레이닝 시키는 트레이닝부를 더 포함하는 것을 특징으로 하는 뉴스 크롤링 시스템.
According to claim 1,
The second filtering unit is spherical in an AI (Artificial Intelligence) model, receives feedback on satisfaction with the related news article from the user terminal, and texts continuously displayed in the search word in related news articles selected according to the feedback satisfaction News crawling system, characterized in that it further comprises a training unit for training the AI model using the.
제1항에 있어서,
상기 URL 수집부는, 상기 URL들 중 미리 정해진 포털 서비스의 웹페이지에 대한 링크정보가 포함되어 있는 URL들을 선별하고, 선별된 URL들을 상기 뉴스기사 수집부로 제공하는 것을 특징으로 하는 뉴스 크롤링 시스템.
According to claim 1,
The URL collection unit selects URLs including link information on a web page of a predetermined portal service from among the URLs, and provides the selected URLs to the news article collection unit.
제1항에 있어서,
상기 선별된 관련 뉴스기사를 상기 검색쿼리에 대한 뉴스 검색결과로 사용자에게 제공하는 검색결과 제공부를 더 포함하고,
상기 검색결과 제공부는,
복수개의 큐를 포함하고, 상기 관련 뉴스기사의 제목, 날짜, 본문, 원문링크, 및 관련 뉴스기사를 생성한 신문사 정보 중 적어도 하나를 상기 복수개의 큐에 분리하여 저장하는 저장부; 및
미리 정해진 포맷에 따라 상기 큐에 저장된 정보들을 머지하여 상기 뉴스 검색결과를 생성하고, 생성된 뉴스 검색결과를 상기 사용자 단말기로 제공하는 검색결과 생성부를 포함하는 것을 특징으로 하는 뉴스 크롤링 시스템.
According to claim 1,
Further comprising a search result providing unit for providing the selected related news article to the user as a news search result for the search query,
The search result providing unit,
a storage unit including a plurality of queues and separately storing at least one of a title, a date, a text, an original link of the related news article, and information on a newspaper company generating a related news article in the plurality of queues; and
and a search result generator for generating the news search result by merging information stored in the queue according to a predetermined format, and providing the generated news search result to the user terminal.
제1항에 있어서,
상기 관련 뉴스기사가 생성된 시간정보를 미리 정해진 표준시간 형식으로 수정하는 관련 뉴스기사 정제부를 더 포함하는 것을 특징으로 하는 뉴스 크롤링 시스템.
According to claim 1,
News crawling system, characterized in that it further comprises a related news article refiner for correcting the time information at which the related news article is generated in a predetermined standard time format.
사용자 단말기로부터 검색어가 포함된 검색쿼리가 수신되면, 해당 검색어가 포함되어 있는 뉴스들의 URL들을 수집하는 단계;
상기 수집된 URL들 중 미리 정해진 포털 서비스의 웹페이지에 대한 링크정보가 포함되어 있는 URL들을 선별하는 단계;
상기 선별된 URL들에 대응되는 뉴스기사들의 제목을 기초로 상기 뉴스기사들 중 중복뉴스를 1차 필터링하는 단계;
상기 1차 필터링된 뉴스기사들의 제목 및 본문을 기초로 상기 1차 필터링된 뉴스기사들을 2차 필터링하여 관련 뉴스기사를 선별하는 단계; 및
상기 선별된 관련 뉴스기사를 상기 검색쿼리에 대한 뉴스 검색결과로 상기 사용자 단말기로 제공하는 단계를 포함하고,
상기 2차 필터링하는 단계는,
상기 1차 필터링된 뉴스기사들의 제목 내에서 상기 검색어에 미리 정해진 문자가 연속하여 표시된 타겟문구의 제1 출현 빈도수가 제1 기준치 이상인 제목에 대응되는 뉴스기사를 제1 관련 뉴스기사로 선별하는 단계;
상기 1차 필터링된 뉴스들의 본문 내에서 상기 타겟문구의 제2 출현 빈도수가 상기 제1 기준치보다 큰 제2 기준치 이상인 본문에 대응되는 뉴스기사를 제2 관련 뉴스기사로 선별하는 단계; 및
상기 1차 필터링된 뉴스기사들 중 상기 제1 관련 뉴스기사 및 상기 제2 관련 뉴스기사를 상기 관련 뉴스기사로 선별하는 단계를 포함하는 것을 특징으로 하는 뉴스 크롤링 방법.
when a search query including a search term is received from the user terminal, collecting URLs of news including the search term;
selecting URLs including link information on a web page of a predetermined portal service from among the collected URLs;
filtering duplicate news among the news articles based on the titles of the news articles corresponding to the selected URLs;
selecting related news articles by secondarily filtering the firstly filtered news articles based on the titles and texts of the firstly filtered news articles; and
and providing the selected related news article to the user terminal as a news search result for the search query,
The secondary filtering step is
selecting, as a first related news article, a news article corresponding to a title in which a first frequency of occurrence of a target phrase in which predetermined characters are continuously displayed in the search word within the titles of the first filtered news articles is equal to or greater than a first reference value;
selecting, as a second related news article, a news article corresponding to a text in which a second frequency of occurrence of the target phrase is greater than or equal to a second reference value greater than the first reference value in the primary filtered news body; and
and selecting the first related news article and the second related news article from among the first filtered news articles as the related news article.
제12항에 있어서,
상기 1차 필터링하는 단계는,
상기 뉴스기사들의 제목을 명사, 형태소, 및 음절 중 적어도 하나의 단위로 분석하는 단계;
상기 분석된 명사, 형태소, 및 음절 중 적어도 하나를 기초로 상기 뉴스기사들의 제목들 간의 자카드 유사도 지수를 산출하는 단계; 및
상기 자카드 유사도 지수가 임계치 이상인 제목에 대응되는 뉴스기사들 중 어느 하나의 뉴스기사를 선택하는 단계를 포함하는 것을 특징으로 하는 뉴스 크롤링 방법.
13. The method of claim 12,
The first filtering step is,
analyzing the titles of the news articles into units of at least one of a noun, a morpheme, and a syllable;
calculating a jacquard similarity index between the titles of the news articles based on at least one of the analyzed nouns, morphemes, and syllables; and
and selecting any one news article from among the news articles corresponding to a title having the jacquard similarity index equal to or greater than a threshold.
삭제delete 제12항에 있어서,
상기 타겟문구에 포함된 상기 미리 정해진 문자는 미리 정해진 텍스트들 내에서 상기 검색어에 연속하여 표시되고, 출현빈도가 기준치 이상인 핵심조사, 핵심단어, 및 특수문자 중 적어도 하나를 포함하는 것을 특징으로 하는 뉴스 크롤링 방법.
13. The method of claim 12,
The predetermined character included in the target phrase is continuously displayed in the search word within predetermined texts, and the frequency of appearance includes at least one of a key word, a key word, and a special character. How to crawl.
KR1020200123468A 2020-09-24 2020-09-24 System and Method for Crawling News KR102349624B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200123468A KR102349624B1 (en) 2020-09-24 2020-09-24 System and Method for Crawling News

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200123468A KR102349624B1 (en) 2020-09-24 2020-09-24 System and Method for Crawling News

Publications (1)

Publication Number Publication Date
KR102349624B1 true KR102349624B1 (en) 2022-01-10

Family

ID=79347179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200123468A KR102349624B1 (en) 2020-09-24 2020-09-24 System and Method for Crawling News

Country Status (1)

Country Link
KR (1) KR102349624B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742042A (en) * 2022-03-22 2022-07-12 杭州未名信科科技有限公司 Text duplicate removal method and device, electronic equipment and storage medium
KR102595682B1 (en) * 2023-04-04 2023-10-30 주식회사 에프앤가이드 Method for providing emotion analysis of stock using corporate news article and device and system using the same
KR102648137B1 (en) * 2023-10-25 2024-03-15 임학래 Service provision apparatus, method, and program for providing customized articles via the internet

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101990A (en) * 1995-07-31 1997-04-15 Toshiba Corp Information filtering device
KR20190047939A (en) * 2017-10-30 2019-05-09 한림대학교 산학협력단 Method and apparatus for collecting and analyzing text data for crawling text data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09101990A (en) * 1995-07-31 1997-04-15 Toshiba Corp Information filtering device
KR20190047939A (en) * 2017-10-30 2019-05-09 한림대학교 산학협력단 Method and apparatus for collecting and analyzing text data for crawling text data

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114742042A (en) * 2022-03-22 2022-07-12 杭州未名信科科技有限公司 Text duplicate removal method and device, electronic equipment and storage medium
KR102595682B1 (en) * 2023-04-04 2023-10-30 주식회사 에프앤가이드 Method for providing emotion analysis of stock using corporate news article and device and system using the same
KR102648137B1 (en) * 2023-10-25 2024-03-15 임학래 Service provision apparatus, method, and program for providing customized articles via the internet

Similar Documents

Publication Publication Date Title
KR102349624B1 (en) System and Method for Crawling News
Van Aggelen et al. The debates of the European Parliament as linked open data
CN110597981B (en) Network news summary system for automatically generating summary by adopting multiple strategies
JP5092252B2 (en) Trend analysis server and trend analysis method
US8352455B2 (en) Processing a content item with regard to an event and a location
JP4129048B2 (en) Named entity extraction apparatus, method, and program
US20110087682A1 (en) Automated media analysis and document management system
US9665561B2 (en) System and method for performing analysis on information, such as social media
CN104050163A (en) Content recommendation system and method
JP6394388B2 (en) Synonym relation determination device, synonym relation determination method, and program thereof
JP2006331089A (en) Method and device for generating time series data from webpage
CN108090104B (en) Method and device for acquiring webpage information
JPWO2009096523A1 (en) Information analysis apparatus, search system, information analysis method, and information analysis program
CN105378730A (en) Social media content analysis and output
Chang et al. Improving recency ranking using twitter data
KR101476225B1 (en) Method for Indexing Natural Language And Mathematical Formula, Apparatus And Computer-Readable Recording Medium with Program Therefor
KR101105798B1 (en) Apparatus and method refining keyword and contents searching system and method
KR102025813B1 (en) Device and method for chronological big data curation system
JP2015028699A (en) Program, information processor, and method
JP4189387B2 (en) Knowledge search system, knowledge search method and program
Schatten et al. Big data analytics and the social web: A tutorial for the social scientist
KR101752257B1 (en) A system of linked open data cloud information service and a providing method thereof, and a recoding medium storing program for executing the same
JP5191204B2 (en) Associative search system
KR101614551B1 (en) System and method for extracting keyword using category matching
KR100862565B1 (en) Patent db construction system of specific needs

Legal Events

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