KR20240057666A - Method of extraction and summary of categorical sentences in document - Google Patents

Method of extraction and summary of categorical sentences in document Download PDF

Info

Publication number
KR20240057666A
KR20240057666A KR1020220138125A KR20220138125A KR20240057666A KR 20240057666 A KR20240057666 A KR 20240057666A KR 1020220138125 A KR1020220138125 A KR 1020220138125A KR 20220138125 A KR20220138125 A KR 20220138125A KR 20240057666 A KR20240057666 A KR 20240057666A
Authority
KR
South Korea
Prior art keywords
document
sentences
sentence
categorical
extracting
Prior art date
Application number
KR1020220138125A
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 KR1020220138125A priority Critical patent/KR20240057666A/en
Publication of KR20240057666A publication Critical patent/KR20240057666A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • G06F16/345Summarisation for human users
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • 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/951Indexing; Web crawling techniques
    • 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/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/109Font handling; Temporal or kinetic typography
    • 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 Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 기업이나 경제 관련 기사 혹은 문서 내에서 범주형 문장이 존재하는지 여부를 판단하고 그에 따른 문장을 추출하여 요약하는 시스템 및 방법에 관한 것으로, 본 발명의 일 실시예에 의한 문서 내의 범주형 문장을 추출 및 요약하는 방법은 시스템의 수집부가 텍스트를 포함하는 문서를 수집하여 시스템의 데이터베이스에 저장하는 단계와 시스템의 전처리부가 수집한 문서에서 비텍스트(Non-Text) 및 상용문구를 제거하는 전처리를 수행하는 단계와 시스템의 중복 제거부가 전처리가 수행된 둘 이상의 문서의 중복도를 계산하여 하나의 문서를 데이터베이스에서 제거하는 단계와 시스템의 학습부가 문서에서 하나 이상의 문장을 추출하는 단계와 시스템의 요약부가 추출된 문장을 요약 문장으로 변환하는 단계와 시스템의 리포트 생성부가 변환된 요약 문장에 리포트 포맷을 적용하여 리포트를 생성하는 단계를 포함한다. The present invention relates to a system and method for determining whether a categorical sentence exists in a company or economy-related article or document and extracting and summarizing the corresponding sentence. The categorical sentence in the document according to an embodiment of the present invention The method of extracting and summarizing includes the steps of the collection unit of the system collecting documents containing text and storing them in the system's database, and the preprocessing unit of the system performing preprocessing to remove non-text and common phrases from the collected documents. The following steps are performed: a duplicate removal unit of the system calculates the degree of redundancy of two or more pre-processed documents and removes one document from the database; a learning unit of the system extracts one or more sentences from the document; and a summary unit of the system. It includes a step of converting the extracted sentence into a summary sentence and a step of the report generation unit of the system applying a report format to the converted summary sentence to generate a report.

Figure P1020220138125
Figure P1020220138125

Description

문서 내의 범주형 문장을 추출 및 요약하는 방법 및 시스템{METHOD OF EXTRACTION AND SUMMARY OF CATEGORICAL SENTENCES IN DOCUMENT}Method and system for extracting and summarizing categorical sentences in a document {METHOD OF EXTRACTION AND SUMMARY OF CATEGORICAL SENTENCES IN DOCUMENT}

본 발명은 기업이나 경제 관련 기사 혹은 문서 내에서 범주형 문장이 존재하는지 여부를 판단하고 그에 따른 문장을 추출하여 요약하는 시스템 및 방법에 관한 내용이다. The present invention relates to a system and method for determining whether a categorical sentence exists in an article or document related to a company or economy and extracting and summarizing the corresponding sentence.

종래에 문장에 대한 추출 방식은 통계적 기법을 이용하거나 TextRank 알고리즘에 기반하고 있다. 통계적 기법은 문서의 타이틀, 문장의 위치, 중요한 단어, 연관된 문장 등의 정보를 통해 문장과 단어의 가중치를 결정하여 특정 임계치 이상의 문장을 추출한다. Conventionally, sentence extraction methods use statistical techniques or are based on the TextRank algorithm. Statistical techniques extract sentences above a certain threshold by determining the weight of sentences and words through information such as the document title, sentence location, important words, and related sentences.

TextRank 알고리즘은 PageRank에서의 사이트를 단어 혹은 문장으로 생각하여 문장 중요도를 구하는 데에 초점이 맞추어져 있다. 해당 방식은 중심 문장을 찾아 추출하기 때문에 원하는 범주의 문장을 추출하기 어렵다는 한계점을 가지고 있다. The TextRank algorithm focuses on calculating the sentence importance by considering the site as a word or sentence in PageRank. This method has the limitation that it is difficult to extract sentences of the desired category because it searches for and extracts the central sentence.

또한 문장 분류 모델과 임계치를 사용하여 문장을 추출하는 방식은 문장 분리 방식에 따라 분류 결과가 상이해지고 해당 범주에 속하는 문장을 정확하게 추출하기 어렵다는 한계를 가진다. 또한, 기존의 방식은 문장 분리, 문장 분류, 임계치 검증의 단계를 거쳐야 된다는 복잡성이 존재한다.In addition, the method of extracting sentences using a sentence classification model and a threshold has limitations in that the classification results vary depending on the sentence separation method and it is difficult to accurately extract sentences belonging to the corresponding category. In addition, the existing method has the complexity of having to go through the steps of sentence separation, sentence classification, and threshold verification.

이 같은 기존 문장 분류 및 추출 방식의 한계를 극복하기 위한 종래의 문장 추출에 관한 선행 연구 사례를 살펴보면 언어모델을 기반으로 각 문장과 제목의 임베딩 값을 구하여 비교하거나 문장의 위치에 따라 점수 가중치를 두어 중심 문장을 추출하는 방식을 제시한다. Looking at previous research cases on conventional sentence extraction to overcome the limitations of existing sentence classification and extraction methods, the embedding values of each sentence and title are obtained and compared based on a language model, or the score is weighted according to the position of the sentence. A method for extracting central sentences is presented.

그러나 이 방법도 임베딩 값 비교 및 문장 분리 및 위치 계산의 과정의 복잡성이 존재하고 문장을 분리하는 방식이므로 정확하게 필요한 문장만 추출하기 어려운 문제점이 있다. However, this method also has the complexity of the process of comparing embedding values, separating sentences, and calculating positions, and is a method of separating sentences, so it is difficult to extract only the exactly necessary sentences.

본 명세서는 기업이나 경제 관련 기사 혹은 문서 내에서 정보를 제공하는 문장을 추출하여 요약하는 방안을 제공하고자 한다. This specification seeks to provide a method of extracting and summarizing sentences providing information from corporate or economic-related articles or documents.

본 명세서는 문서의 출처의 신뢰성 및 문서 내의 주요 문장을 선별 추출하여 요약하는 방안을 제공하고자 한다. This specification seeks to provide a method to determine the reliability of the source of a document and to selectively extract and summarize key sentences within the document.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned here will be clearly understood by those skilled in the art from the description below.

본 발명의 일 실시예에 의한 문서 내의 범주형 문장을 추출 및 요약하는 방법은 시스템의 수집부가 텍스트를 포함하는 문서를 수집하여 시스템의 데이터베이스에 저장하는 단계와 시스템의 전처리부가 수집한 문서에서 비텍스트(Non-Text) 및 상용문구를 제거하는 전처리를 수행하는 단계와 시스템의 중복 제거부가 전처리가 수행된 둘 이상의 문서의 중복도를 계산하여 하나의 문서를 데이터베이스에서 제거하는 단계와 시스템의 학습부가 문서에서 하나 이상의 문장을 추출하는 단계와 시스템의 요약부가 추출된 문장을 요약 문장으로 변환하는 단계와 시스템의 리포트 생성부가 변환된 요약 문장에 리포트 포맷을 적용하여 리포트를 생성하는 단계를 포함한다. A method of extracting and summarizing categorical sentences in a document according to an embodiment of the present invention includes the steps of the collection unit of the system collecting documents containing text and storing them in the database of the system, and the preprocessing unit of the system collecting non-text sentences from the collected documents. A step of performing preprocessing to remove (Non-Text) and common phrases, a step of the duplicate removal unit of the system calculating the degree of redundancy of two or more preprocessed documents and removing one document from the database, and a step of the learning unit of the system removing the document. It includes extracting one or more sentences from the system, converting the extracted sentences into a summary sentence by the summary unit of the system, and generating a report by applying a report format to the converted summary sentence by the report generation unit of the system.

본 발명의 일 실시예에 의한 문서 내의 범주형 문장을 추출 및 요약하는 시스템은 텍스트를 포함하는 문서를 수집하여 시스템의 데이터베이스에 저장하는 수집부와 수집한 문서에서 비텍스트(Non-Text) 및 상용문구를 제거하는 전처리를 수행하는 전처리부와 전처리가 수행된 둘 이상의 문서의 중복도를 계산하여 하나의 문서를 데이터베이스에서 제거하는 중복 제거부와 문서에서 하나 이상의 문장을 추출하는 학습부와 추출된 문장을 요약 문장으로 변환하는 요약부와 변환된 요약 문장에 리포트 포맷을 적용하여 리포트를 생성하는 리포트 생성부를 포함한다. A system for extracting and summarizing categorical sentences in documents according to an embodiment of the present invention includes a collection unit that collects documents containing text and stores them in the system's database, and non-text and commercial information from the collected documents. A preprocessing unit that performs preprocessing to remove phrases, a duplicate removal unit that calculates the redundancy of two or more preprocessed documents and removes one document from the database, and a learning unit that extracts one or more sentences from the document and the extracted sentences. It includes a summary unit that converts a summary sentence into a summary sentence and a report generation unit that generates a report by applying a report format to the converted summary sentence.

본 발명의 실시예를 구현할 경우 기업이나 경제 관련 기사 혹은 문서 내에서 정보를 제공하는 문장을 추출하여 요약한 리포트를 제공할 수 있다. When implementing an embodiment of the present invention, it is possible to extract sentences providing information from corporate or economic-related articles or documents and provide a summary report.

본 발명의 실시예를 구현할 경우 문서의 출처의 신뢰성 및 문서 내의 주요 문장을 선별 추출하여 요약한 리포트를 제공하여 신뢰성 높은 문서를 생성할 수 있다. When implementing an embodiment of the present invention, a highly reliable document can be created by providing a summary report by selectively extracting the reliability of the source of the document and key sentences within the document.

본 발명이 제공하는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 여기서 언급되지 않은 또 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects provided by the present invention are not limited to the effects mentioned above, and other effects not mentioned herein will be clearly understood by those skilled in the art from the description below.

도 1은 본 발명의 일 실시 예에 따른 전체 시스템의 구성을 보여주는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 시스템의 동작 과정을 보여주는 도면이다.
도 3은 본 발명의 실시 예에 따른 기업 관련 기사 내 범주형 문장 존재 여부 판단 및 문장 추출 및 요약 시스템을 나타내는 흐름도이다.
도 4는 본 발명의 실시 예에 따른 신문기사 웹 크롤링 단계에 관한 상세 흐름도이다.
도 5는 본 발명의 실시 예에 따른 신문기사 전처리 단계에 관한 상세 흐름도이다.
도 6은 본 발명의 실시 예에 따른 제목 임베딩 기반 중복데이터 제거 단계에 관한 상세 흐름도이다.
도 7은 본 발명의 실시 예에 따른 범주형 문장 추출 모델 학습 및 이용 단계에 관한 상세 흐름도이다.
도 8은 본 발명의 실시 에에 따른 문장 요약 모듈에 관한 상세 흐름도이다.
도 9는 본 발명의 실시 예에 따른 리포트 자동 작성 모듈에 관한 상세 흐름도이다.
도 10은 본 발명의 실시 예에 따른 범주형 문장 추출 모델 학습 및 이용에 관한 도면이다.
도 11은 본 발명의 실시 예에 따른 리포트 자동 작성 모듈에 관한 도면이다.
도 12는 본 발명의 일 실시예에 의한 학습 데이터의 예시를 보여주는 도면이다.
도 13은 본 발명의 일 실시예에 의한 새로운 범주의 학습 데이터를 생성한 도면이다.
도 14는 본 발명에 기재된 발명의 주요 실시예를 포함하는 기업 관련 텍스트 내 범주형 문장 존재 여부 판단 및 문장 추출 요약 시스템의 전체적인 구성도이다.
1 is a diagram showing the configuration of the entire system according to an embodiment of the present invention.
Figure 2 is a diagram showing the operation process of the system according to an embodiment of the present invention.
Figure 3 is a flowchart showing a system for determining whether a categorical sentence exists in a company-related article and extracting and summarizing sentences in a company-related article according to an embodiment of the present invention.
Figure 4 is a detailed flowchart of the newspaper article web crawling step according to an embodiment of the present invention.
Figure 5 is a detailed flowchart of the newspaper article pre-processing step according to an embodiment of the present invention.
Figure 6 is a detailed flowchart of the title embedding-based duplicate data removal step according to an embodiment of the present invention.
Figure 7 is a detailed flowchart of the steps of learning and using a categorical sentence extraction model according to an embodiment of the present invention.
Figure 8 is a detailed flowchart of a sentence summary module according to an embodiment of the present invention.
Figure 9 is a detailed flowchart of the automatic report creation module according to an embodiment of the present invention.
Figure 10 is a diagram showing learning and use of a categorical sentence extraction model according to an embodiment of the present invention.
Figure 11 is a diagram of an automatic report creation module according to an embodiment of the present invention.
Figure 12 is a diagram showing an example of learning data according to an embodiment of the present invention.
Figure 13 is a diagram showing the creation of a new category of learning data according to an embodiment of the present invention.
Figure 14 is an overall configuration diagram of the sentence extraction and summary system for determining the presence of categorical sentences in company-related text and including the main embodiment of the invention described in the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성요소를 지칭한다.The advantages and features of the present invention and methods for achieving them will become clear by referring to the embodiments described in detail below along with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and will be implemented in various different forms. The present embodiments only serve to ensure that the disclosure of the present invention is complete and are within the scope of common knowledge in the technical field to which the present invention pertains. It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예롤 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. For a detailed description of the invention, reference is made to the accompanying drawings, which show by way of example specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be implemented in one embodiment or another without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention.

따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.Accordingly, the detailed description that follows is not intended to be taken in a limiting sense, and the scope of the invention is limited only by the appended claims, together with all equivalents to what those claims assert, if properly described. Similar reference numbers in the drawings refer to identical or similar functions across various aspects.

이하, 본 명세서는 기업의 주가 및 일반 현황/전망과 기업이 속한 산업의 현황/전망에 대해 서술되어 있는 문장을 온라인 신문 기사 텍스트나 기타 신뢰성 있는 자료, SNS 등에서 추출하는 방법 및 시스템에 관해 설명한다. Hereinafter, this specification explains the method and system for extracting sentences describing the company's stock price and general status/prospects and the status/prospects of the industry to which the company belongs from online newspaper article texts, other reliable data, SNS, etc. .

본 발명에서는 종래의 페이지랭크 중심성 기반의 중심 문장 추출 방식의 한계를 극복하고, 추가적으로 온라인 신문기사, 보고서 등 금융 텍스트 기반 범주형 문장 추출 시스템을 위해 기계 독해 모델 학습 방식을 도입한 방법론을 적용하여 입력 금융 텍스트를 심층 이해하고, 텍스트 추출 기술 및 요약 모델 적용한 인공지능 추출 요약 시스템을 구축한다. 이를 통해 기업 관련 온라인 텍스트에서 필요한 범주의 문장을 추출하여 리포트를 생성한다.The present invention overcomes the limitations of the conventional PageRank centrality-based core sentence extraction method and additionally applies a methodology that introduces a machine reading model learning method for a categorical sentence extraction system based on financial texts such as online newspaper articles and reports. Understand financial texts in depth and build an artificial intelligence extraction summary system that applies text extraction technology and summary models. Through this, sentences of the necessary categories are extracted from company-related online texts and a report is generated.

이하, 본 명세서에서는 기업과 관련되거나 또는 경제의 특정 분야와 관련된 문서 내에서 범주형 문장 존재 여부를 판단하여 문장을 추출하고 요약하는 방법 및 시스템을 제시한다. Hereinafter, this specification presents a method and system for extracting and summarizing sentences by determining whether a categorical sentence exists in a document related to a company or a specific field of the economy.

도 1은 본 발명의 일 실시예에 의한 기업에 관련된 정보에서 문장을 추출하여 요약하는 시스템의 구성을 보여주는 도면이다. Figure 1 is a diagram showing the configuration of a system for extracting and summarizing sentences from information related to a company according to an embodiment of the present invention.

시스템(1000)은 수집부(1100), 전처리부(1200), 중복제거부(1300), 학습부(1400), 요약부(1500), 리포트 생성부(1600), 데이터베이스(1700)을 포함한다. The system 1000 includes a collection unit 1100, a preprocessing unit 1200, a duplicate removal unit 1300, a learning unit 1400, a summary unit 1500, a report generation unit 1600, and a database 1700. .

수집부(1100)는 신문 기사, 기업 관련 논문이나 자료, 그 외 주요 인플루언서의 SNS(Social Network Service)나 블로그에서 문장을 포함하는 기사와 글 등을 수집한다. 이때, 수집부(1100)는 출처 정보를 이용하여 정보의 신뢰성에 대한 값을 수집한 정보에 부여할 수 있다. 수집부(1100)는 텍스트를 포함하는 문서를 수집하여 시스템의 데이터베이스(1700)에 저장한다. The collection unit 1100 collects articles and writings containing sentences from newspaper articles, company-related papers or materials, and other major influencers' SNS (Social Network Service) or blogs. At this time, the collection unit 1100 may use the source information to assign a value for the reliability of the information to the collected information. The collection unit 1100 collects documents including text and stores them in the system database 1700.

전처리부(1200)는 수집부(1100)가 수집한 문서에서 비텍스트(Non-Text) 및 상용문구를 제거하는 전처리를 수행한다. 전처리부(1200)는 이 과정에서 HTML 코드 등을 제거하는 전처리 작업을 수행하는 과정에서 HTML 코드의 특성을 이용하여 볼드체로 강조하거나 글자 크기를 조절하거나 이탤릭체로 설정된 단어가 포함된 문장을 주요한 문장으로 처리할 수 있도록 가중치를 설정할 수 있다. The preprocessing unit 1200 performs preprocessing to remove non-text and common phrases from the documents collected by the collection unit 1100. In this process, the preprocessing unit 1200 uses the characteristics of HTML code to convert sentences containing words that are emphasized in bold, adjust font size, or set in italics to main sentences while performing preprocessing work to remove HTML code, etc. Weights can be set for processing.

중복제거부(1300)는 전처리가 수행된 둘 이상의 문서의 중복도를 계산하여 하나의 문서를 데이터베이스에서 제거한다. 이때, 중복 제거 과정에서 각 문서의 신뢰성에 대한 값을 반영할 수 있다. 예를 들어 중복제거부(1300)는 수집부(1100)가 문서 수집 과정에서 추가한 출처 정보를 이용하여 중복된 문서 중에서 신뢰성이 높은 출처 정보를 가진 문서를 데이터베이스(1700)에 유지한다. The duplicate removal unit 1300 calculates the degree of duplication of two or more pre-processed documents and removes one document from the database. At this time, the reliability value of each document can be reflected in the duplicate removal process. For example, the duplicate removal unit 1300 uses the source information added by the collection unit 1100 during the document collection process to maintain documents with highly reliable source information among duplicate documents in the database 1700.

학습부(1400)는 중복 제거가 된 데이터베이스의 문서에서 하나 이상의 문장을 추출한다. 학습 데이터와 사전 언어 모델, 범주형 문장 추출 모델 등을 적용하여 문서에 대응하는 하나 이상의 문장을 추출할 수 있다. The learning unit 1400 extracts one or more sentences from documents in the database from which duplicates have been removed. One or more sentences corresponding to a document can be extracted by applying learning data, dictionary language model, and categorical sentence extraction model.

요약부(1500)는 학습부(1400)에서 추출된 문장을 요약 문장으로 변환할 수 있다. The summary unit 1500 may convert the sentences extracted from the learning unit 1400 into summary sentences.

리포트 생성부(1600)는 변환된 요약 문장에 리포트 포맷을 적용하여 리포트를 생성할 수 있다. 리포트 포맷은 리포트를 저장하는 파일 포맷(엑셀, 워드, 파워포인트, 아래한글 등) 뿐만 아니라, XML 포맷 등을 포함한다. 특정 기업명칭과 그에 대한 문장의 내용, 그리고 이 문장이 기업에 대한 긍정적인 내용인지, 혹은 부정적인 내용인지에 대한 정보, 출처 정보, 신뢰성 등이 리포트에 포함될 수 있다. The report generator 1600 may generate a report by applying a report format to the converted summary sentence. The report format includes not only the file format that stores the report (Excel, Word, PowerPoint, Hangul, etc.), but also XML format. The report may include the name of a specific company, the content of the sentence about it, information on whether the sentence is positive or negative about the company, source information, reliability, etc.

도 2는 본 발명의 일 실시예에 따른 문장을 추출하여 리포트를 생성하는 과정을 보여주는 도면이다. Figure 2 is a diagram showing the process of extracting sentences and generating a report according to an embodiment of the present invention.

전체 과정은 정보 수집 단계(S10), 수집 정보 전처리 단계(S20), 중복 데이터 제거 및 신뢰성 체크 단계(S30), 문장 추출을 위한 학습 단계(S40), 문장 요약 단계(S50), 리포트 자동 작성 단계(S60)로 이루어진다. The entire process includes the information collection step (S10), the collected information pre-processing step (S20), the duplicate data removal and reliability check step (S30), the learning step for sentence extraction (S40), the sentence summary step (S50), and the automatic report creation step. It consists of (S60).

정보 수집 단계(S10)에서 수집하는 문서는 신문기사, SNS(Social Network Service)의 글, 뉴스레터의 글 중 어느 하나 이상을 포함할 수 있다. 물론, 본 발명의 문서는 위의 예시에 한정되지 않으며, 인터넷 상에서 웹 크롤링을 수행할 수 있는 문서, 메일 등을 통해 전달되는 뉴스레터 등을 모두 포함한다. Documents collected in the information collection step (S10) may include one or more of newspaper articles, SNS (Social Network Service) articles, and newsletter articles. Of course, the document of the present invention is not limited to the above example, and includes all documents that can be web crawled on the Internet, newsletters delivered through email, etc.

수집부(1100)는 정보 수집을 위해 웹크롤링(Web Crawling)을 수행할 수 있다. 뿐만 아니라, 수집부(1100)는 기업이나 경제와 관련된 다양한 뉴스레터를 구독하여 메일 등으로 제공된 뉴스 레터를 수집할 수 있다. 즉, 수집부(1100)는 웹 크롤링을 수행하여 문서를 수집하거나 미리 등록된 메일 주소가 수신한 문서를 수집할 수 있다. The collection unit 1100 may perform web crawling to collect information. In addition, the collection unit 1100 can subscribe to various newsletters related to companies or the economy and collect newsletters provided by email, etc. That is, the collection unit 1100 may collect documents by performing web crawling or collect documents received by a pre-registered email address.

중복 데이터 제거 및 신뢰성 체크 단계(S30)는 유사한 기사나 내용이 다수 수집된 경우 중복제거부(1300)가 이들 중에서 신뢰성 높은 출처의 기사나 문서만을 선별하는 내용을 포함한다. 또한, 이를 위해 중복제거부(1300)는 출처 또는 문서의 신뢰성을 체크할 수 있다. The duplicate data removal and reliability check step (S30) includes when a large number of similar articles or contents are collected, the duplicate removal unit 1300 selects only articles or documents from highly reliable sources among them. Additionally, for this purpose, the duplicate removal unit 1300 can check the reliability of the source or document.

이후, 문장 추출을 위한 학습 과정에서 기존의 학습 데이터를 이용하거나 새로이 학습을 수행한 후, 문서에 대응하는 하나 이상의 문장을 추출한다. 그리고 요약부(1500)는 문장들을 요약한다. 이 과정에서 학습부(1400) 또는 요약부(1500)는 하나의 문장을 둘 이상의 문장으로 나누거나 둘 이상의 문장을 하나로 결합할 수 있다. Afterwards, in the learning process for sentence extraction, existing learning data is used or new learning is performed, and then one or more sentences corresponding to the document are extracted. And the summary unit 1500 summarizes the sentences. In this process, the learning unit 1400 or the summarizing unit 1500 may divide one sentence into two or more sentences or combine two or more sentences into one.

도 2에 도시된 바와 같이 시스템(1000)은 신문기사 웹 크롤링과 신문기사 전처리, 제목 임베딩 기반 중복데이터 제거 및 범주형 문장 추출 모델 학습 및 이용을 통해 문서에 대해 하나 혹은 다수의 문장으로 요약한 정보를 생성할 수 있다. 또한 문장 요약 과정을 통해 시스템(1000)은 리포트를 자동으로 작성하여 도 11과 같은 리포트를 생성할 수 있다. As shown in Figure 2, the system 1000 provides information summarized in one or multiple sentences about a document through web crawling of newspaper articles, pre-processing of newspaper articles, removal of duplicate data based on title embedding, and learning and use of a categorical sentence extraction model. can be created. Additionally, through the sentence summary process, the system 1000 can automatically create a report and generate a report as shown in FIG. 11.

이하, 첨부되는 도면을 참조하여 본 발명의 실시 형태에 따른 기업 또는 경제 관련 텍스트 내 범주형 문장 존재 여부 판단 및 문장 추출 요약 시스템을 설명한다.Hereinafter, with reference to the attached drawings, a summary system for determining the presence or absence of a categorical sentence in a corporate or economic-related text and extracting a sentence in a text according to an embodiment of the present invention will be described.

도 3은 본 발명의 일 실시예에 따른 신문 기사를 수집하여 문장을 추출하는 과정을 보여주는 도면이다. 도 3의 실시예는 신문기사 이외에도 SNS, 논문 등 기타 신뢰성이 검증된 문서(15)로부터 문장을 추출하는 방법에 적용할 수 있다. 즉, 도 3 내지 도 9의 실시예는 신문 기사 외에도 인터넷 상에서 접근 가능한 다양한 문서들에 대해 적용할 수 있다. Figure 3 is a diagram showing the process of collecting newspaper articles and extracting sentences according to an embodiment of the present invention. The embodiment of FIG. 3 can be applied to a method of extracting sentences from other documents 15 whose reliability has been verified, such as SNS and papers, in addition to newspaper articles. That is, the embodiments of FIGS. 3 to 9 can be applied to various documents accessible on the Internet in addition to newspaper articles.

도 3에 도시된 본 발명의 실시 형태에 따르면, 시스템(1000)은 신문기사 웹 크롤링 단계(S100), 신문기사 전처리 단계(S200), 제목 임베딩 기반 중복데이터 제거 단계(S300), 범주형 문장 추출 모델 학습 및 이용 단계(S400), 문장 요약 단계(S500), 및 리포트 자동 작성 단계(S600)를 수행한다.According to the embodiment of the present invention shown in Figure 3, the system 1000 includes a newspaper article web crawling step (S100), a newspaper article pre-processing step (S200), a title embedding-based duplicate data removal step (S300), and categorical sentence extraction. A model learning and use step (S400), a sentence summary step (S500), and an automatic report creation step (S600) are performed.

도 3을 참조하면, 시스템(1000)은 유사한 제목을 가진 중복 기사를 제거하기 위해 신문기사 제목 임베딩을 추출할 때와 범주형 문장 추출 모델을 전이학습할 때 사전언어 모델(35)의 임베딩을 사용할 수 있다. 전처리된 신문기사 텍스트도 해당 사전언어 모델을 통해 임베딩되고 학습된 범주형 문장 추출 모델에 입력 정보로 사용되어 범주형 문장(45)이 추출된다. Referring to FIG. 3, the system 1000 uses the embeddings of the dictionary language model 35 when extracting newspaper article title embeddings to remove duplicate articles with similar titles and when transfer learning a categorical sentence extraction model. You can. The preprocessed newspaper article text is also embedded through the corresponding dictionary language model and used as input information in the learned categorical sentence extraction model to extract categorical sentences (45).

시스템(1000)은 범주형 문장 추출 모델을 학습할 때는 범주형 문장의 첫 토큰과 끝 토큰의 위치를 학습시키는 기계독해 학습 방식을 활용할 수 있다. 추출된 범주형 문장은 길이에 따라 필터링되어 일정 길이 이상인 경우에는 문장 생성요약 모델을 통해 요약 과정을 거치게 되고 해당 결과를 통해 자동으로 리포트(65)를 생성한다. When learning a categorical sentence extraction model, the system 1000 can utilize a machine reading learning method that learns the positions of the first and last tokens of categorical sentences. The extracted categorical sentences are filtered according to length, and if they are longer than a certain length, they are summarized through a sentence generation summary model, and a report (65) is automatically generated based on the results.

리포트는 엑셀 파일의 형태로 생성되는 것을 일 실시예로 하지만, 본 발명이 이에 한정되는 것은 아니며, 시스템(1000)은 MS-워드, 아래한글 등의 문서 포맷, XML 포맷 등으로 리포트를 생성할 수 있다. In one embodiment, the report is generated in the form of an Excel file, but the present invention is not limited to this, and the system 1000 can generate a report in document formats such as MS-Word and Hangul, XML format, etc. there is.

도 4는 본 발명의 일 실시예에 따른 신문기사 웹 크롤링 단계의 구체적인 수행 방법에 관한 상세 흐름도이다. Figure 4 is a detailed flowchart of a specific method of performing the newspaper article web crawling step according to an embodiment of the present invention.

도 4의 실시예를 참조하면, 웹 크롤링 세부 단계(S100)는 기업 관련 기사 목록 크롤링 단계(S110), 날짜 기반 필터링 단계(S120), 기사 내용 크롤링 단계(S130)를 포함할 수 있다. Referring to the embodiment of FIG. 4, the detailed web crawling step (S100) may include a company-related article list crawling step (S110), a date-based filtering step (S120), and an article content crawling step (S130).

시스템(1000)의 수집부(1100)는 기사 내용을 제외한 해당 기업 관련한 기사 목록을 크롤링한다. 그리고 추출된 기사 목록에서 요청받은 날짜, 또는 특정 범위의 날짜 등 기간의 한정 조건을 충족하는 기사 목록들만 필터링하여 기사 내용까지 크롤링함으로써 보다 효율적으로 필요한 기간의 기사 데이터만 크롤링 할 수 있다.The collection unit 1100 of the system 1000 crawls a list of articles related to the company, excluding the article content. In addition, by filtering only the article list that meets the limited conditions of the period, such as the requested date or a specific range of dates from the extracted article list, and crawling the article contents, it is possible to crawl only the article data of the required period more efficiently.

수집부(1100)는 기업 명칭을 확인하기 위해 기업 종목 코드(17)을 참조할 수 있다. The collection unit 1100 may refer to the company item code 17 to confirm the company name.

또한, 문서를 수집하는 과정에서 수집부(1100)는 기사 목록 외에도 뉴스레터(Newsletter)를 제공하는 서비스의 뉴스레터 목록, 인플루언서의 SNS 또는 블로그, 홈페이지 등에 업로드된 글도 함께 수집할 수 있다. 수집부(1100)가 수집할 정보의 대상이 되는 언론사, 인플루언서, 뉴스레터 서비스 등에 대한 정보는 시스템(1000)에 미리 설정될 수 있다. In addition, in the process of collecting documents, the collection unit 1100 can also collect articles uploaded to the newsletter list of services that provide newsletters, influencers' SNS or blogs, and homepages, in addition to the article list. . Information about media companies, influencers, newsletter services, etc. that are the subject of information to be collected by the collection unit 1100 may be set in advance in the system 1000.

시스템(1000) 또는 수집부(1100)는 수집할 정보의 대상이 되는 언론사, 인플루언서, 뉴스레터 서비스에 대한 신뢰성 정보를 유지하거나 변경할 수 있다. 그리고 수집부(1100)는 특정 기간 동안 해당 기업에 대한 정보가 다수 중복하여 수집될 경우 신뢰성에 따라 특정 기사나 뉴스레터의 글들은 수집하지 않을 수 있다.The system 1000 or the collection unit 1100 may maintain or change reliability information about media outlets, influencers, and newsletter services that are the target of information to be collected. Additionally, the collection unit 1100 may not collect specific articles or newsletters depending on reliability if a lot of information about the company is collected repeatedly during a specific period.

일 실시예로, 수집부(1100)는 문서의 출처 정보를 이용하여 문서의 신뢰성에 대한 값을 문서의 신뢰성 필드에 추가하여 데이터베이스(1700)에 저장할 수 있다. 문서의 원본 링크 주소와 문서 내용을 데이터베이스(1700)에 저장하며, 별도의 필드를 생성하여 문서의 신뢰성에 대한 값을 추가할 수 있다.In one embodiment, the collection unit 1100 may add a value for the reliability of the document to the reliability field of the document using the source information of the document and store it in the database 1700. The original link address and document content of the document are stored in the database 1700, and a separate field can be created to add a value for the reliability of the document.

일 실시예로, 신뢰성에 대한 값이 0~9까지 설정하는 경우를 가정한다. 수집부(1100)는 일정 기간 내에 수집한 문서들 중에서 신문 기사의 경우 언론사에 따라 신뢰성의 값을 설정할 수 있다. 수집부(1100)는 주요 언론사의 기사에 대해서는 신뢰성을 8 또는 9로 설정할 수 있다. 신생 언론사의 기사이거나 다른 언론사의 기사를 받아서 업로드하는 유형의 기사에 대해서는 신뢰성을 3 또는 4 등으로 설정할 수 있다. 위의 숫자는 시스템(1000)에 따라 다양하게 설정될 수 있다. As an example, assume that the reliability value is set from 0 to 9. The collection unit 1100 may set a reliability value according to the media company in the case of newspaper articles among documents collected within a certain period of time. The collection unit 1100 can set the reliability to 8 or 9 for articles from major media companies. For articles from new media outlets or those that receive and upload articles from other media outlets, the reliability can be set to 3 or 4, etc. The above number can be set in various ways depending on the system (1000).

마찬가지로, 인플루언서의 경우 그가 제공하는 정보의 과거 또는 현재 신뢰도나 평판 등에 따라 수집부(1100)는 인플루언서의 SNS 글 또는 블로그 글에 대해 신뢰성을 5~7 등으로 설정할 수 있다. 뉴스레터의 경우에도 구독자가 많거나 업계에서 평판을 가지는 뉴스레터의 글에 대해서는 수집부(1100)는 신뢰성을 7~9로 설정할 수 있다. Likewise, in the case of an influencer, the collection unit 1100 may set the reliability of the influencer's SNS post or blog post to 5 to 7, etc., depending on the past or present reliability or reputation of the information provided by the influencer. Even in the case of newsletters, the collection unit 1100 can set the reliability to 7 to 9 for newsletter articles with many subscribers or reputation in the industry.

이러한 신뢰성 설정을 위해 수집부(1100)는 문서의 출처에 대해 별도의 신뢰성 등급을 부여할 수 있으며, 수집부(1100)는 출처의 신뢰성 등급에 따라 문서의 신뢰성을 결정할 수 있다. To establish such reliability, the collection unit 1100 can assign a separate reliability rating to the source of the document, and the collection unit 1100 can determine the reliability of the document according to the reliability level of the source.

도 5는 본 발명의 실시예에 따른 신문기사 전처리 단계의 구체적인 수행 방법에 대한 상세 흐름도이다.Figure 5 is a detailed flowchart of a specific method of performing the newspaper article pre-processing step according to an embodiment of the present invention.

도 5의 일 실시예에 따르면, 신문기사 전처리 단계(S200)는 HTML 엔티티코드 제거 단계(S210), 불필요 상용구 제거 단계(S220), 기사 제목 기반 중복 제거 단계(S230)를 포함할 수 있다.According to one embodiment of FIG. 5, the newspaper article pre-processing step (S200) may include an HTML entity code removal step (S210), an unnecessary boilerplate removal step (S220), and an article title-based duplicate removal step (S230).

예시적인 실시예에 따르면, 전처리부(1200)는 HTML 엔티티코드 제거 단계(S210)에서 크롤링된 신문기사 텍스트에 포함된 HTML 엔티티 코드 문자식 표현 전처리 과정을 수행한다. 엔티티 코드란 HTML 문서에서 특수 문자를 입력하기 위해 사용되는 코드이다. According to an exemplary embodiment, the pre-processing unit 1200 performs a pre-processing process for the HTML entity code literal expression included in the crawled newspaper article text in the HTML entity code removal step (S210). An entity code is a code used to input special characters in an HTML document.

불필요 상용구 제거 단계(S220)에서 전처리부(1200)는 기사 내용과는 연관이 없이 반복적으로 붙는 상용구를 제거한다. 불필요한 상용구로는 언론사, 기자명, 광고 부분 등이 있는데 이를 제거함으로써 범주형 문장 추출 모델의 입력이 정제되어 보다 추출 정확도를 향상시킬 수 있다. In the unnecessary boilerplate removal step (S220), the preprocessor 1200 removes boilerplate text that is repeatedly added and is not related to the article content. Unnecessary boilerplate includes media outlets, reporter names, and advertisement parts, and by removing them, the input of the categorical sentence extraction model can be refined and extraction accuracy can be improved.

상용구 제거 단계 이후에 전처리부(1200)는 기사 제목 중복 제거(S230)단계를 수행할 수 있으며, 제목 텍스트 기반으로 중복된 기사를 모두 제거한다. 즉, 동일한 기사 제목을 가진 문서를 제외시켜 정보 중복을 방지할 수 있다. After the boilerplate removal step, the preprocessor 1200 may perform the article title duplicate removal step (S230), and all duplicate articles are removed based on the title text. In other words, information duplication can be prevented by excluding documents with the same article title.

시스템(1000) 또는 전처리부(1200)는 중복된 정보들을 제거하는 과정에서 언론사, 인플루언서, 뉴스레터 서비스에 대한 신뢰성 정보를 반영하여 신뢰성이 낮은 문서를 제거할 수 있다. The system 1000 or the preprocessor 1200 may remove documents with low reliability by reflecting reliability information about media companies, influencers, and newsletter services in the process of removing duplicate information.

전처리부(1200)는 웹에서 수집하는 문자 정보와 비문자 정보를 구별하기 위해 HTML 엔티티 코드를 제거하는 과정에서 HTML의 코드 속성을 이용하여 주요 문장과 비주요 문장을 구분할 수 있다. 예를 들어, 전처리부(1200)는 문장 내에서 글자의 크기를 증가시키거나, 볼드체 문장인 경우, 해당 문장의 가중치를 높일 수 있다. 문장의 가중치는 S400에서 문장을 추출하는 과정 또는 S500에서 문장을 요약하는 과정에서 사용될 수 있다. The preprocessor 1200 can distinguish between main sentences and non-main sentences using HTML code attributes in the process of removing HTML entity codes to distinguish text information collected from the web from non-text information. For example, the preprocessor 1200 may increase the size of letters within a sentence or, in the case of a boldface sentence, may increase the weight of the sentence. The weight of the sentence can be used in the process of extracting the sentence in S400 or in the process of summarizing the sentence in S500.

전처리부(1200)는 수집한 문서(19), 예를 들어 웹크롤링되어 수집된 기업 기사 등에서 정보를 가지지 않는 비문자 정보나 광고 정보 등을 제거하기 위해 문서 내에서 HTML 코드를 식별하여 제거할 수 있다. 이때, 전처리부(1200)는 HTML 코드가 특정 문장이나 문단을 강조하는 이탤릭체 코드, 볼드체 코드, 폰트 크기 변경 코드 등인 경우, 이러한 코드의 시작 및 끝에 포함된 단어나 이러한 단어를 포함하는 문장을 식별할 수 있다. The pre-processing unit 1200 can identify and remove HTML code within the document in order to remove non-text information or advertising information that does not contain information from the collected document 19, for example, corporate articles collected through web crawling. there is. At this time, if the HTML code is an italic code, bold code, or font size change code that emphasizes a specific sentence or paragraph, the preprocessor 1200 can identify words included at the beginning and end of these codes or sentences containing these words. You can.

볼드체의 경우 <b>로 시작하고 </b>로 종료한다. 이탤릭체의 경우 <i>로 시작하고 </i>로 종료한다. 그 외에도 언더라인(<u> 시작, </u> 종료), 제목(<h1>, <h2> 등), 단락(<p>), 텍스트 기울임(<em>) 등의 코드 역시 문장의 가중치에 영향을 미친다. In the case of boldface, it starts with <b> and ends with </b>. For italics, it starts with <i> and ends with </i>. In addition, codes such as underline (<u> start, </u> end), title (<h1>, <h2>, etc.), paragraph (<p>), and text italics (<em>) also affect the weight of the sentence. affects.

따라서, 전처리부(1200)가 문서 내에서 HTML 코드를 식별하여 제거하는 단계(S210)는 HTML 코드 중에서 폰트를 제어하는 코드를 식별하여 코드의 시작 및 종료 지점이 포함하는 문장의 가중치를 설정하는 단계를 포함한다. Therefore, the step (S210) in which the preprocessor 1200 identifies and removes the HTML code within the document is a step of identifying the code that controls the font among the HTML codes and setting the weight of the sentence included in the start and end points of the code. Includes.

예를 들어, 문서의 5번째 문장이 HTML 코드의 볼드체 코드로 강조된 경우, 전처리부(1200)는 5번째 문장의 전후에 미리 약속된 기호(예를 들어 대괄호 등)을 삽입하거나, 해당 문서의 필드에 “5-볼드”, 또는 “5번째=중요” 등의 가중치와 관련된 정보를 입력하여 추후 문서에서 문장을 추출하거나 요약할 경우 해당 문장이 중요하게 처리될 수 있도록 한다. For example, if the 5th sentence of the document is highlighted with a bold code in the HTML code, the preprocessor 1200 inserts pre-arranged symbols (e.g., square brackets, etc.) before and after the 5th sentence or Enter weight-related information such as “5-bold” or “5th = important” so that the sentence can be treated as important when extracting or summarizing sentences from the document later.

그리고 전처리부(1200)는 문서 내에서 광고 링크 또는 상용구를 제거하고(S220), 문서 내에서 중복된 문장 또는 문구를 제거하는 단계(S230)를 수행한다. Then, the pre-processing unit 1200 removes advertising links or boilerplate text from the document (S220) and removes duplicate sentences or phrases from the document (S230).

보다 상세히, 전처리부(1200)는 문서 내에서 외부로 연결되는 광고 링크, 상용구에 대한 패턴 정보를 유지하며 이를 문서 내에서 제거하여 추후 문장 추출 과정에서 불필요한 정보가 포함되지 않도록 한다. More specifically, the pre-processing unit 1200 maintains pattern information about external advertising links and boilerplate text within the document and removes them from the document to prevent unnecessary information from being included in the subsequent sentence extraction process.

도 6은 본 발명의 일 실시예에 따른 제목 임베딩 기반 중복데이터 제거 단계의 구체적인 수행 방법에 관한 상세 흐름도이다.Figure 6 is a detailed flowchart of a specific method of performing the title embedding-based duplicate data removal step according to an embodiment of the present invention.

도 6의 실시예를 적용하면, 중복데이터 제거 단계(S300)는 기사 제목 임베딩 추출 단계(S310), 임베딩 코사인 유사도 비교 단계(S320), 유사 임베딩 기사 제거 단계(S330)를 포함할 수 있다.Applying the embodiment of FIG. 6, the duplicate data removal step (S300) may include an article title embedding extraction step (S310), an embedding cosine similarity comparison step (S320), and a similar embedding article removal step (S330).

예시적인 실시예에 따르면, 중복제거부(1300)는 기사 제목 임베딩 추출 단계(S310)에서 사전언어 모델을 기반으로 기사 제목에 대한 임베딩 정보를 추출한다. 이는 중복제거부(1300)가 사전언어 모델을 이용하여 기사 제목에 대한 임베딩 정보를 가져오는 것을 일 실시예로 한다. According to an exemplary embodiment, the duplicate removal unit 1300 extracts embedding information about the article title based on a dictionary language model in the article title embedding extraction step (S310). In this embodiment, the duplicate removal unit 1300 retrieves embedding information about the article title using a dictionary language model.

예시적인 실시예에 따르면, 중복제거부(1300)는 임베딩 코사인 유사도 비교 단계(S320)에서 추출된 임베딩 정보들 간의 코사인 유사도(cosine similarity)를 비교한다. 중복제거부(1300)는 유사 임베딩 기사 제거 단계(S330)에서 유사한 임베딩을 가지는 제목을 가진 기사를 중복된 기사로 판단하여 제거하게 된다.According to an exemplary embodiment, the duplicate removal unit 1300 compares cosine similarity between the embedding information extracted in the embedding cosine similarity comparison step (S320). In the similar embedding article removal step (S330), the duplicate removal unit 1300 determines that articles with titles with similar embeddings are duplicate articles and removes them.

예를 들어, 중복 제거부(1300)는 데이터베이스(1700)에 저장된 문서에서 제목에 대응하는 제목 문장을 추출하고, 추출한 제목 문장에 대해 사전언어 모델(35)을 적용하여 제목 임베딩을 추출한다(S310). 그리고 중복 제거부(1300)는 데이터베이스(1700)에 저장된 문서들의 제목 임베딩의 유사도를 비교하여(S320) 하나의 문서를 데이터베이스에서 제거할 수 있다(S330).For example, the duplicate removal unit 1300 extracts a title sentence corresponding to a title from a document stored in the database 1700 and extracts a title embedding by applying the dictionary language model 35 to the extracted title sentence (S310 ). Additionally, the duplicate removal unit 1300 may compare the similarity of title embeddings of documents stored in the database 1700 (S320) and remove one document from the database (S330).

일 실시예로, 중복제거부(1300)는 유사한 임베딩 제목을 가진 기사가 둘 이상인 경우, 이들 중에서 신뢰성이 높은 언론사의 기사를 유지하고 그렇지 않은 언론사의 기사를 데이터베이스(1700)에서 제거할 수 있다. 즉, 제1문서 및 제2문서의 제목 임베딩이 유사하며, 제1문서의 신뢰성이 제2문서의 신뢰성보다 높은 경우, 중복제거부(1300)는 제2문서를 데이터베이스(1700)에서 제거할 수 있다. In one embodiment, when there are two or more articles with similar embedding titles, the duplicate removal unit 1300 may maintain articles from highly reliable media outlets and remove articles from non-reliable media outlets from the database 1700. That is, if the title embeddings of the first document and the second document are similar, and the reliability of the first document is higher than the reliability of the second document, the duplicate removal unit 1300 may remove the second document from the database 1700. there is.

물론, 기사뿐만 아니라 뉴스레터의 글 또는 인플루언서가 작성한 글 등에 대해서도 중복제거부(1300)는 동일하게 중복 판단된 글을 제거할 수 있다. Of course, the duplicate removal unit 1300 can remove articles judged to be duplicates not only for articles but also for newsletter articles or articles written by influencers.

일 실시예로, 앞서 수집부(1100)가 문서의 출처 정보를 이용하여 문서의 신뢰성에 대한 값을 산출하여 문서의 신뢰성 필드에 신뢰성에 대한 값을 입력할 수 있다. 중복제거부(1300)는 이 값을 이용하여 중복된 문서들 중에서 신뢰성이 낮은 출처의 문서를 데이터베이스(1700)에서 삭제할 수 있다. 다만, 유사한 문서가 많은 경우, 하나의 문서만을 유지하며 동일한 내용이라는 기준에 따라 삭제된 문서의 수를 별도로 해당 문서에 관련된 필드에 기록할 수 있다. In one embodiment, the collection unit 1100 may calculate the reliability value of the document using the document source information and enter the reliability value into the document reliability field. The duplicate removal unit 1300 can use this value to delete documents from unreliable sources among duplicate documents from the database 1700. However, if there are many similar documents, only one document is maintained, and the number of documents deleted based on the standard of identical content can be separately recorded in the field related to the document.

예를 들어 “A 기업 무상 증자 진행” 이라는 제목으로 10개의 기사가 수집되었고, 이 중에서 가장 신뢰성이 높은 언론사의 기사만을 유지할 경우, 중복 제거부(1300)는 해당 문서에 대해 동일한(혹은 유사한) 내용의 다른 출처의 기사가 9개 있었다는 정보를 데이터베이스의 해당 문서에 관련된 필드에 저장할 수 있으며, 추후 유사한 내용의 다른 기사가 9개가 있었다는 정보는 리포트 생성 시 리포트에 포함될 수 있다. 즉, 중복제거부(1300)는 임베딩 간 코사인 유사도를 계산하여 의미적으로 유사한 제목을 가진 기사를 제거할 수 있다. For example, if 10 articles were collected under the title “Company A’s free capital increase,” and only the articles from the most reliable media outlets were kept, the duplicate removal unit 1300 would remove the same (or similar) content for the documents. The information that there were 9 articles from different sources can be stored in a field related to the document in the database, and the information that there were 9 other articles with similar content can be included in the report when generating the report later. That is, the duplicate remover 1300 can calculate the cosine similarity between embeddings and remove articles with semantically similar titles.

도 7은 본 발명의 실시예에 따른 범주형 문장 추출 모델 학습 및 이용 단계의 구체적인 수행 방법에 관한 상세 흐름도이다.Figure 7 is a detailed flowchart showing a specific method of performing the steps of learning and using a categorical sentence extraction model according to an embodiment of the present invention.

도 7을 참조하면, 범주형 문장 추출 모델 학습 및 이용 단계(S400)는 범주형 문장 미존재(답 미존재) 학습데이터 자동생성 단계(S410), 입력 임베딩 단계(S420), 기계독해 모델 학습 단계(S430), 범주형 문장 추출 단계(S440)를 포함할 수 있다. 보다 상세히, 학습부(1400)는 입력받은 학습데이터를 통해 범주형 문장이 존재하지 않는 경우에 대한 학습데이터를 자동으로 추가 생성한 후 학습 데이터를 임베딩하여 기계독해 모델에 학습하고, 새로운 신문 기사에서 범주형 문장을 검색하여 추출할 수 있다. 후술할 도 12 및 도 13의 예시를 참고한다. Referring to Figure 7, the step of learning and using the categorical sentence extraction model (S400) includes the step of automatically generating training data for non-existence of categorical sentences (no answer) (S410), the step of input embedding (S420), and the step of learning the machine reading model. (S430) and a categorical sentence extraction step (S440). In more detail, the learning unit 1400 automatically generates additional learning data for cases where categorical sentences do not exist through the input learning data, then embeds the learning data to learn the machine reading model, and learns from new newspaper articles. Categorical sentences can be searched and extracted. Please refer to the examples of Figures 12 and 13, which will be described later.

예시적인 실시예에 따르면 학습부(1400)는 범주형 문장 미존재 학습데이터 자동생성 단계(S410)에서 학습데이터(32)에 존재하는 본문과 해당 본문에 존재하는 범주형 문장의 범주, 그리고 문장의 위치를 확인하고 해당 본문에 없는 범주형 문장의 범주와 문장 위치를 0으로 한 학습 세트를 추가로 자동 생성한다. According to an exemplary embodiment, the learning unit 1400 determines the text existing in the learning data 32, the category of the categorical sentence existing in the text, and the sentence After checking the location, an additional learning set is automatically created with the category and sentence location of categorical sentences that are not in the text as 0.

이를 통해 학습부(1400)는 학습데이터(32) 생성 시에는 본문에 존재하는 범주형 문장만을 태깅하여 데이터를 만들면 추후에 해당 단계를 통해 해당 본문에 없는 범주가 없다는 것을 학습시킬 수 있는 학습세트가 자동 생성되어 효율적으로 학습세트를 만들 수 있다.Through this, when the learning unit 1400 creates data by tagging only categorical sentences that exist in the text when generating the learning data 32, a learning set is created that can learn that there are no categories that are not in the text through the corresponding step later. It is automatically generated, allowing you to create a learning set efficiently.

예시적인 실시예에 따르면, 학습부(1400)는 입력 임베딩 단계(S420)에서 학습 데이터(32)와 향후 예측 시에 입력되는 기사를 사전언어 모델(35) 기반으로 임베딩 값으로 변환을 수행한다. 이를 통해 기계독해 모델에서 사용되는 입력 정보를 생성할 수 있게 된다.According to an exemplary embodiment, the learning unit 1400 converts the training data 32 and the article input for future prediction into an embedding value based on the dictionary language model 35 in the input embedding step (S420). This makes it possible to generate input information used in the machine reading model.

예시적인 실시예에 따르면, 학습부(1400)는 기계독해 모델 학습 단계(S430)에서 임베딩 값(이전의 입력 임베딩 단계(S420)에서 생성됨)을 모델에 학습한다. 이때 학습되는 정보는 입력되는 범주와 본문 전체의 임베딩 값과 범주 문장의 시작과 끝 위치이다. According to an exemplary embodiment, the learning unit 1400 learns the embedding value (generated in the previous input embedding step (S420)) into the model in the machine reading model learning step (S430). The information learned at this time is the input category, the embedding value of the entire text, and the start and end positions of the category sentence.

예시적인 실시예에 따르면, 학습부(1400)는 범주형 문장 추출 단계(S440)에서 데이터베이스(1700)에 저장된 문서(예를 들어 신문 기사)를 입력받으면 각 범주와 함께 입력으로 임베딩하여 벡터를 만들 수 있다. 학습부(1400)는 기계독해 모델 학습 단계(S430)에서 구축된 모델을 통해 범주형 문장의 위치를 출력할 수 있다. 학습부(1400)는 S430에서 범주형 문장 추출 모델(41)을 적용하여 범주형 문장을 추출할 수 있다. According to an exemplary embodiment, the learning unit 1400 receives a document (e.g., a newspaper article) stored in the database 1700 in the categorical sentence extraction step (S440) and embeds it as an input along with each category to create a vector. You can. The learning unit 1400 may output the position of the categorical sentence through the model built in the machine reading model learning step (S430). The learning unit 1400 may extract a categorical sentence by applying the categorical sentence extraction model 41 in S430.

또한 학습부(1400)는 앞서 전처리부(1200)가 HTML 엔티티 코드를 제거하는 과정에서 HTML의 코드 속성을 이용하여 추가한 문장의 가중치를 이용하여 주요 문장을 추출할 수 있다. 즉, 학습부(1400)는 가중치 높은 문장을 우선적으로 추출한다. Additionally, the learning unit 1400 may extract key sentences using the weight of the sentence added by the preprocessor 1200 using HTML code attributes in the process of removing the HTML entity code. That is, the learning unit 1400 preferentially extracts sentences with high weight.

정리하면, 학습부(1400)는 사전언어 모델(35)을 적용하여 문서에 대응하는 하나 이상의 문장(45)을 추출한다. In summary, the learning unit 1400 applies the dictionary language model 35 to extract one or more sentences 45 corresponding to the document.

도 8은 본 발명의 실시예에 따른 문장 요약의 구체적인 수행 방법에 관한 상세 흐름도이다.Figure 8 is a detailed flowchart of a specific method of performing sentence summarization according to an embodiment of the present invention.

일 실시예에 따르면 문장 요약 단계(S500)는 추출 문장 길이 확인 단계(S510), 길이 임계치 이상 문장 필터링 단계(S520), 문장 요약 단계(S530)를 포함할 수 있다.According to one embodiment, the sentence summarizing step (S500) may include the extracted sentence length checking step (S510), the sentence filtering step above the length threshold (S520), and the sentence summarizing step (S530).

추출 문장 길이 확인 단계(S510)에서 요약부(1500)는 이전의 범주형 문장 추출 단계(S440)에서 추출된 문장(45)의 길이를 확인하는 과정을 수행한다.In the extracted sentence length confirmation step (S510), the summary unit 1500 performs a process of checking the length of the sentence 45 extracted in the previous categorical sentence extraction step (S440).

예시적인 실시예에 따르면, 길이 임계치 이상 문장 필터링 단계(S520)에서 요약부(1500)는 이전의 문장 길이 확인 단계(S510)에서 확인한 문장의 길이를 통해 특정 임계치 이상의 문장을 필터링하는 작업을 수행한다.According to an exemplary embodiment, in the step of filtering sentences above the length threshold (S520), the summary unit 1500 performs the task of filtering sentences above a certain threshold through the length of the sentence confirmed in the previous sentence length confirmation step (S510). .

이 과정에서 요약부(1500)는 하나의 문장을 구성하지만 복문 형태인 경우 이를 단문으로 분리할 수 있다. 예를 들어 “~지만”, “~했고,”, “~하였으나, “ 등의 단어 전후의 문장을 분리하여 두 개의 문장으로 나눌 수 있다. 요약부(1500)는 복문 형태의 문장을 둘 이상의 단문 형태의 문장으로 변환하여 각 문장들이 나타내는 의미를 명료하게 만들 수 있다. In this process, the summary unit 1500 forms one sentence, but if it is in the form of a complex sentence, it can be separated into simple sentences. For example, the sentences before and after words such as “~but”, “~ did,” and “~but,” can be separated into two sentences. The summary unit 1500 can convert a complex sentence into two or more simple sentences to make the meaning of each sentence clear.

예시적인 실시예에 따라 문장 요약 단계(S530)에서 요약부(1500)는 이전의 길이 임계치 이상 문장 필터링 단계(S520)에서 필터링된 문장에 대해 생성 요약 모델(52)을 적용하여 요약하는 작업을 수행한다.According to an exemplary embodiment, in the sentence summary step (S530), the summary unit 1500 performs the task of summarizing the sentences filtered in the previous length threshold or more sentence filtering step (S520) by applying the generation summary model 52. do.

또한 요약부(1500)는 앞서 전처리부(1200)가 HTML 엔티티 코드를 제거하는 과정에서 HTML의 코드 속성을 이용하여 추가한 문장의 가중치를 이용하여 문장을 요약할 수 있다. Additionally, the summarizing unit 1500 may summarize sentences using the weight of sentences added by the pre-processing unit 1200 using HTML code attributes during the process of removing HTML entity codes.

정리하면, 요약부(1500)는 학습부(1400)에서 추출된 둘 이상의 문장을 병합하여 하나 이상의 요약 문장(55)으로 변환한다. In summary, the summary unit 1500 merges two or more sentences extracted from the learning unit 1400 and converts them into one or more summary sentences 55.

요약부(1500)는 추출된 범주형 문장의 길이를 확인하고 특정 임계치 이상의 길이를 가진 문장을 필터링하여 생성 요약 모델을 통해 문장을 요약하여 출력한다. The summary unit 1500 checks the length of the extracted categorical sentences, filters sentences with a length exceeding a certain threshold, and outputs a summary of the sentences through a generative summary model.

도 9는 본 발명의 실시예에 따른 리포트 자동 작성 단계의 구체적인 수행 방법에 관한 상세 흐름도이다. 리포트 생성부(1600)는 도 8의 요약 문장(55)을 미리 설정된 리포트 포맷으로 변환하여 리포트를 생성한다. Figure 9 is a detailed flowchart of a specific method of performing the automatic report creation step according to an embodiment of the present invention. The report generator 1600 converts the summary sentence 55 of FIG. 8 into a preset report format and generates a report.

리포트 자동 작성 단계(S600)는 기본 정보 작성 단계(S610), 추출 요약 문장 작성 단계(S620), 리포트 스타일 적용 단계(S630)를 포함할 수 있다.The automatic report creation step (S600) may include a basic information creation step (S610), an extracted summary sentence creation step (S620), and a report style application step (S630).

예시적인 실시예에 따르면, 리포트 생성부(1600)는 기본 정보 작성 단계(S610)에서 현재 기준의 기업 시가총액, 시가총액 순위, 상장주식 수, PER, 동일업종 PER, 52주 최고가/최저가를 추출하여 작성하는 과정을 수행한다.According to an exemplary embodiment, the report generation unit 1600 extracts the current standard company market capitalization, market capitalization ranking, number of listed stocks, PER, same industry PER, and 52-week high/lowest price in the basic information creation step (S610). and carry out the writing process.

예시적인 실시예에 따르면, 리포트 생성부(1600)는 추출 요약 문장 작성 단계(S620)에서 문장 요약 모듈(S500)의 결과를 작성하는 과정을 수행한다.According to an exemplary embodiment, the report generator 1600 performs a process of creating the result of the sentence summary module (S500) in the extracted summary sentence creation step (S620).

예시적인 실시예에 따르면, 리포트 생성부(1600)는 리포트 스타일 적용 단계(S630)에서 앞서 작성된 내용을 리포트 형식으로 스타일을 적용해주는 과정을 수행한다.According to an exemplary embodiment, the report generation unit 1600 performs a process of applying a style to previously written content in a report format in the report style application step (S630).

리포트 포맷은 리포트를 저장하는 파일 포맷(엑셀, 워드, 파워포인트, 아래한글 등) 뿐만 아니라, XML 포맷 등을 포함한다. 특정 기업명칭과 그에 대한 문장의 내용, 그리고 이 문장이 기업에 대한 긍정적인 내용인지, 혹은 부정적인 내용인지에 대한 정보, 출처 정보, 신뢰성 등이 리포트에 포함될 수 있다. The report format includes not only the file format that stores the report (Excel, Word, PowerPoint, Hangul, etc.), but also XML format. The report may include the name of a specific company, the content of the sentence about it, information on whether the sentence is positive or negative about the company, source information, reliability, etc.

또한, 리포트 생성부(1600)는 중복된 문서들을 삭제한 경우, 동일한 혹은 유사한 내용이 제공된 기사들의 수에 대한 정보 역시 리포트에 포함시켜 해당 내용의 중요도를 확인할 수 있도록 한다. Additionally, when duplicate documents are deleted, the report generation unit 1600 also includes information on the number of articles providing the same or similar content in the report so that the importance of the content can be confirmed.

리포트 생성부(1600)는 기업의 기본 금융 관련 정보를 작성한 후 추출된 범주형 문장에 대해 작성하고 리포트 형태로 스타일을 적용할 수 있다. The report generation unit 1600 can create the basic financial information of the company, then write the extracted categorical sentences and apply the style in the form of a report.

본 발명은 기업 뿐만 아니라 특정 산업 분야 등에도 적용될 수 있다. The present invention can be applied not only to companies but also to specific industrial fields.

도 10은 본 발명의 일 실시예에 의한 기계독해 모델 학습 및 이용 과정에서 입출력을 보여주는 도면이다. Figure 10 is a diagram showing input and output in the process of learning and using a machine reading model according to an embodiment of the present invention.

S400 과정에서 실시 예에 따른 기계독해 모델 학습 시 사용하는 입력(401)과 출력(402)은 도 10에 도시된 바와 같다. 기계독해 모델의 출력 정보의 형태가 무엇인지 보여준다. 401 및 402에서 사각형으로 강조한 부분은 입력 및 출력 과정에서 각 문장에 대한 라벨링을 의미한다.The input 401 and output 402 used when learning the machine reading model according to the embodiment in the S400 process are as shown in FIG. 10. It shows the type of output information of the machine reading model. The parts highlighted in squares in 401 and 402 indicate labeling for each sentence during the input and output process.

각 라벨링은 다음과 같이 문장의 범주로 추가될 수 있다. Each labeling can be added as a category in a sentence as follows:

“기업 현황/전망”, “산업 현황/전망”, “주가 현황”, “주가 전망”, 매출 현황”, “매출 전망”은 문서 내의 각 문장들에 추가되는 범주를 지시한다. 도 10의 401 및 402는 모델의 아웃풋(출력 결과)의 일 실시예이며, 이를 살펴보면 문서 내에 해당 범주에 속하는 문장이 없을 경우 별도의 내용을 포함하지 않으나 해당 내용이 있을 경우, 해당 문장의 문서 내 위치에 대한 값과 범주에 대한 적합도를 포함한다. 예를 들어 401에서 다음 부분을 참고한다. “Corporate Status/Forecast”, “Industry Status/Forecast”, “Stock Status/Forecast”, “Stock Price Forecast”, “Sales Status”, and “Sales Forecast” indicate the categories added to each sentence in the document. 401 and 402 in Figure 10 are an example of the output (output result) of the model. Looking at this, if there is no sentence belonging to the corresponding category in the document, no separate content is included, but if there is corresponding content, the corresponding sentence is included in the document. It includes values for location and goodness of fit for categories. For example, see the following part of 401:

“'매출 현황': ('엔씨소프트가 지난 1분기 매출 7293억원과 영업이익 1857억원의 실적을 기록했을 것으로 분석했다.', '159~215', 49.480000000000004)”“'Sales status': ('It was analyzed that NCSoft recorded sales of 729.3 billion won and operating profit of 185.7 billion won in the first quarter.', '159~215', 49.480000000000004)”

매출 현황 범주에 속하며, 해당 문장의 시작 지점 및 끝 지점을 문서 내 위치(159~215)로 나타낸다. 마지막의 숫자는 해당 라벨링과 관련된 스코어(score)를 의미한다. It belongs to the sales status category, and the starting and ending points of the sentence are indicated by positions (159 to 215) in the document. The last number indicates the score associated with the labeling.

도 11은 본 발명의 일 실시예에 의해 생성된 리포트를 보여주는 도면이다. 앞서 리포트 자동 작성 단계(S600)에서 실시 예에 따라 자동 생성된 리포트를 보여준다. Figure 11 is a diagram showing a report generated by an embodiment of the present invention. Previously, in the automatic report creation step (S600), a report automatically generated according to the embodiment is shown.

601은 기업의 전반적인 개요를 설명하는 요약부이다. 요약부는 “A_Company”라는 회사의 주가 등 요약 정보를 포함한다. 601 is a summary section that explains the overall outline of the company. The summary section contains summary information such as the stock price of the company called “A_Company”.

602는 기업에 관련된 다양한 기사들에서 각 범주에 해당하는 문장을 추출하여 나열한 부분이다. 하나의 기사에서 하나 이상의 범주에 해당하는 문장이 추출될 수 있다. 리포트는 각 문장이 포함된 기사의 출처를 병기하여 요약 문장의 내용을 확인하고자 하는 사용자들은 링크를 선택할 수 있다. 602 is a section that extracts and lists sentences corresponding to each category from various articles related to companies. Sentences corresponding to one or more categories can be extracted from one article. The report lists the source of the article containing each sentence, and users who want to check the contents of the summary sentence can select the link.

도 12는 본 발명의 일 실시예에 의한 학습 데이터의 예시를 보여주는 도면이다. 학습데이터를 구성하는 항목으로는 내용을 지시하는 "context" 항목, 제목을 지시하는 "title" 항목, 웹사이트 주소를 지시하는 "url" 항목, 웹 문서의 내용을 지시하는 "raw_html" 등이다. Figure 12 is a diagram showing an example of learning data according to an embodiment of the present invention. The items that make up the learning data include the "context" item indicating the content, the "title" item indicating the title, the "url" item indicating the website address, and the "raw_html" item indicating the content of the web document.

또한 "qas" 항목은 주요 문장을 포함하도록 구성될 수 있다. 또한, 해당 문장의 시작 지점을 나타내는 "answer_start" 및 "html_answer_start"는 추후 학습 과정에서 해당 문장을 식별하는데 사용될 수 있다. Additionally, the "qas" entry can be configured to include key sentences. Additionally, “answer_start” and “html_answer_start”, which indicate the starting point of the corresponding sentence, can be used to identify the corresponding sentence in the later learning process.

또한, "question"은 해당 문서에 대한 범주를 나타내는 것으로, “기업 현황/전망”, “산업 현황/전망”, “주가 현황”, “주가 전망”, 매출 현황”, “매출 전망” 등으로 구성될 수 있다. In addition, “question” indicates the category for the document, and consists of “corporate status/prospect”, “industry status/prospect”, “stock price status”, “stock price outlook”, sales status”, “sales outlook”, etc. It can be.

그리고 학습 데이터에서는 "기업 현황/전망"으로 범주가 되었으나, 시스템(1000)은 해당 범주 이외의 다른 범주에 대응하여 학습 데이터를 자동으로 생성할 수 있다. 도 13을 참조한다. And in the learning data, the category is “Corporate Status/Forecast,” but the system 1000 can automatically generate learning data in response to other categories other than the corresponding category. See Figure 13.

도 13은 본 발명의 일 실시예에 의한 새로운 범주의 학습 데이터를 생성한 도면이다. 앞서 도 12와 동일하며 "question" 항목만 새로운 범주가 설정되었다. 도 13은 "주가현황"이라는 범주가 설정될 수 있으며, 또는 "매출 현황"과 같은 범주가 설정될 수도 있다. 이는 학습 데이터로 도 12와 같이 기업 현황/전망이라는 범주가 설정된 경우 이에 대응하여 시스템(1000)이 새로운 범주를 추가한 실시예이다. Figure 13 is a diagram showing the creation of a new category of learning data according to an embodiment of the present invention. It is the same as in Figure 12 above, with only the "question" item being set as a new category. In Figure 13, a category such as “stock price status” may be set, or a category such as “sales status” may be set. This is an example in which the system 1000 adds a new category in response to a category called corporate status/forecast as shown in FIG. 12 as learning data.

도 13의 자동 생성된 학습 데이터는 입력 임베딩 단계를 거쳐 모델 학습을 수행할 수 있다. Model learning can be performed on the automatically generated training data shown in FIG. 13 through an input embedding step.

도 14는 본 발명의 주요 실시예에 따라 기업 관련 텍스트 내 범주형 문장 존재 여부 판단 및 문장 추출 요약 시스템의 전체적인 구성을 보여주는 도면이다. 도 1 및 2를 참고할 수 있다. Figure 14 is a diagram showing the overall configuration of a system for determining the presence of categorical sentences in company-related text and extracting and summarizing sentences according to a main embodiment of the present invention. Please refer to Figures 1 and 2.

본 발명의 시스템 및 방법을 적용할 경우, 종래의 문장 추출 연구의 한계를 보완할 수 있다. When the system and method of the present invention are applied, the limitations of conventional sentence extraction research can be complemented.

일 실시예로 본 발명의 실시예는 제목 임베딩 기반 중복데이터 제거 단계에 있어 일반적으로 유사한 내용의 기사가 비슷한 제목으로 많이 게재되는 신문기사의 특성을 반영하여 중복 기사를 제거하기 위하여 기사 제목의 임베딩의 유사도를 활용할 수 있다. 그 결과, 텍스트가 일치하지 않더라도 의미적으로 유사한 제목의 신문기사를 제거하여 중복을 방지할 수 있다.In an embodiment of the present invention, in the title embedding-based duplicate data removal step, the embedding of the article title is used to remove duplicate articles by reflecting the characteristics of newspaper articles in which articles with similar content are generally published with similar titles. Similarity can be used. As a result, even if the text does not match, newspaper articles with semantically similar titles can be removed to prevent duplication.

또한, 본 발명의 실시예는 지도학습 기반 기계독해 모델을 적용하여, 신문기사 내에 특정 범주에 대한 문장의 위치를 예측하는 모델을 구축하는 방안을 적용할 수 있다. 따라서, 특정 범주에 대한 문장이 존재하지 않는 경우에 대한 학습 절차를 도입하여 모델의 성능을 보다 향상시킬 수 있다. Additionally, embodiments of the present invention can apply a method of building a model that predicts the location of sentences for a specific category within a newspaper article by applying a supervised learning-based machine reading model. Therefore, the performance of the model can be further improved by introducing a learning procedure for cases where sentences for a specific category do not exist.

또한, 가독성을 향상시키기 위해 추출된 문장의 길이가 일정 길이 이상인 경우에 생성 요약 모델을 통해 문장을 요약하는 방식을 적용할 수 있다. 본 발명의 시스템 및 방법을 구현할 경우, 요약된 문장을 자동으로 엑셀, 워드, 아래한글, 파워포인트, PDF 등 다양한 파일 형태의 리포트로 제공할 수 있다. Additionally, in order to improve readability, if the length of the extracted sentence is longer than a certain length, a method of summarizing the sentence through a generative summary model can be applied. When implementing the system and method of the present invention, summarized sentences can be automatically provided as reports in various file formats such as Excel, Word, Hangul, PowerPoint, and PDF.

본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.Methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. Computer-readable media may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be those specifically designed and constructed for the present invention, or may be known and available to those skilled in the art of computer software.

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 전술된 실시예는 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해되어야 하며, 본 발명의 범위는 전술된 상세한 설명보다는 후술될 특허청구범위에 의해 나타내어질 것이다. 그리고 이 특허청구범위의 의미 및 범위는 물론, 그 등가개념으로부터 도출되는 모든 변경 및 변형 가능한 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As described above, although the present invention has been described using limited embodiments and drawings, the present invention is not limited to the above embodiments, and various modifications and variations can be made from these descriptions by those skilled in the art. This is possible. The above-described embodiments should be understood in all respects as illustrative and not restrictive, and the scope of the present invention will be indicated by the claims to be described later rather than the detailed description given above. In addition, the meaning and scope of this patent claim, as well as all changes and modifications derived from the equivalent concept, should be construed as being included in the scope of the present invention.

따라서, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위 및 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the claims described later and equivalents to these claims.

1000: 시스템 1100: 수집부
1200: 전처리부 1300: 중복제거부
1400: 학습부 1500: 요약부
1600: 리포트 생성부 1700: 데이터베이스
1000: System 1100: Collection unit
1200: Preprocessing unit 1300: Duplicate removal unit
1400: Study section 1500: Summary section
1600: Report generation unit 1700: Database

Claims (20)

시스템의 수집부가 텍스트를 포함하는 문서를 수집하여 상기 시스템의 데이터베이스에 저장하는 단계;
상기 시스템의 전처리부가 상기 수집한 문서에서 비텍스트(Non-Text) 및 상용문구를 제거하는 전처리를 수행하는 단계;
상기 시스템의 중복 제거부가 상기 전처리가 수행된 둘 이상의 문서의 중복도를 계산하여 하나의 문서를 상기 데이터베이스에서 제거하는 단계;
상기 시스템의 학습부가 상기 문서에서 하나 이상의 문장을 추출하는 단계;
상기 시스템의 요약부가 상기 추출된 문장을 요약 문장으로 변환하는 단계; 및
상기 시스템의 리포트 생성부가 상기 변환된 요약 문장에 리포트 포맷을 적용하여 리포트를 생성하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
A collection unit of the system collects documents containing text and stores them in the database of the system;
A preprocessing unit of the system performing preprocessing to remove non-text and common phrases from the collected documents;
a step of the duplicate removal unit of the system calculating the degree of duplication of two or more documents on which the preprocessing has been performed and removing one document from the database;
A learning unit of the system extracting one or more sentences from the document;
A summary unit of the system converting the extracted sentence into a summary sentence; and
A method of extracting and summarizing categorical sentences in a document, comprising the step of generating a report by applying a report format to the converted summary sentence by the report generating unit of the system.
제1항에 있어서,
상기 문서는 신문기사, SNS(Social Network Service)의 글, 뉴스레터의 글 중 어느 하나 이상을 포함하며,
상기 저장하는 단계는 상기 수집부가 웹 크롤링을 수행하여 상기 문서를 수집하거나 미리 등록된 메일 주소가 수신한 상기 문서를 수집하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to paragraph 1,
The above documents include one or more of newspaper articles, SNS (Social Network Service) articles, and newsletter articles,
The storing step includes the collection unit performing web crawling to collect the document or collecting the document received by a pre-registered email address.
제1항에 있어서,
상기 저장하는 단계는
상기 수집부가 상기 문서의 출처 정보를 이용하여 상기 문서의 신뢰성에 대한 값을 상기 문서의 신뢰성 필드에 추가하여 저장하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to paragraph 1,
The saving step is
A method of extracting and summarizing categorical sentences in a document, including the step of the collection unit adding a value for the reliability of the document to a reliability field of the document using source information of the document and storing it.
제1항에 있어서,
상기 전처리를 수행하는 단계는
상기 전처리부가 상기 문서 내에서 HTML 코드를 식별하여 제거하는 단계;
상기 전처리부가 상기 문서 내에서 광고 링크 또는 상용구를 제거하는 단계; 및
상기 전처리부가 상기 문서 내에서 중복된 문장 또는 문구를 제거하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to paragraph 1,
The step of performing the preprocessing is
The preprocessor identifying and removing HTML code from the document;
The preprocessor removing advertising links or boilerplate text from the document; and
A method of extracting and summarizing categorical sentences in a document, wherein the preprocessor includes removing duplicate sentences or phrases in the document.
제4항에 있어서,
상기 전처리부가 상기 문서 내에서 HTML 코드를 식별하여 제거하는 단계는
상기 전처리부가 상기 HTML 코드 중에서 폰트를 제어하는 코드를 식별하는 단계; 및
상기 코드의 시작 및 종료 지점이 포함하는 문장의 가중치를 설정하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to clause 4,
The step of the preprocessor identifying and removing HTML code within the document is
The preprocessor identifying a code that controls a font among the HTML codes; and
A method of extracting and summarizing categorical sentences in a document, comprising setting weights of sentences included in the start and end points of the code.
제1항에 있어서,
상기 제거하는 단계는
상기 중복 제거부는 상기 문서에서 제목에 대응하는 제목 문장을 추출하는 단계;
상기 중복 제거부는 상기 추출한 제목 문장에 대해 사전언어 모델을 적용하여 제목 임베딩을 추출하는 단계; 및
상기 중복 제거부는 상기 데이터베이스에 저장된 문서들의 제목 임베딩의 유사도를 비교하여 하나의 문서를 상기 데이터베이스에서 제거하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to paragraph 1,
The removal step is
The duplicate removal unit extracts a title sentence corresponding to a title from the document;
The duplicate removal unit extracts a title embedding by applying a dictionary language model to the extracted title sentence; and
The method of extracting and summarizing categorical sentences in a document, wherein the duplicate removal unit compares similarities between title embeddings of documents stored in the database and removes one document from the database.
제6항에 있어서,
상기 중복 제거부는 제1문서 및 제2문서의 제목 임베딩이 유사하며, 상기 제1문서의 신뢰성이 상기 제2문서의 신뢰성보다 높은 경우, 상기 제2문서를 상기 데이터베이스에서 제거하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to clause 6,
The duplicate removal unit includes the step of removing the second document from the database when the title embeddings of the first document and the second document are similar and the reliability of the first document is higher than the reliability of the second document, A method to extract and summarize categorical sentences in a document.
제1항에 있어서,
상기 추출하는 단계는
상기 학습부가 사전언어 모델을 적용하여 상기 문서에 대응하는 하나 이상의 문장을 추출하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to paragraph 1,
The extraction step is
A method of extracting and summarizing categorical sentences in a document, including the step of the learning unit extracting one or more sentences corresponding to the document by applying a dictionary language model.
제1항에 있어서,
상기 변환하는 단계는
상기 요약부가 상기 추출된 둘 이상의 문장을 병합하여 요약 문장으로 변환하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to paragraph 1,
The conversion step is
A method of extracting and summarizing categorical sentences in a document, wherein the summary unit merges the two or more extracted sentences and converts them into a summary sentence.
제1항에 있어서,
상기 리포트를 생성하는 단계는
상기 리포트 생성부가 상기 요약 문장을 미리 설정된 리포트 포맷으로 변환하여 리포트를 생성하는 단계를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 방법.
According to paragraph 1,
The steps for generating the report are
A method of extracting and summarizing categorical sentences in a document, including the step of the report generating unit converting the summary sentences into a preset report format to generate a report.
텍스트를 포함하는 문서를 수집하여 상기 시스템의 데이터베이스에 저장하는 수집부;
상기 수집한 문서에서 비텍스트(Non-Text) 및 상용문구를 제거하는 전처리를 수행하는 전처리부;
상기 전처리가 수행된 둘 이상의 문서의 중복도를 계산하여 하나의 문서를 상기 데이터베이스에서 제거하는 중복 제거부;
상기 문서에서 하나 이상의 문장을 추출하는 학습부;
상기 추출된 문장을 요약 문장으로 변환하는 요약부; 및
상기 변환된 요약 문장에 리포트 포맷을 적용하여 리포트를 생성하는 리포트 생성부를 포함하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
a collection unit that collects documents containing text and stores them in a database of the system;
a pre-processing unit that performs pre-processing to remove non-text and commercial phrases from the collected documents;
a duplicate removal unit that calculates the degree of duplication of two or more pre-processed documents and removes one document from the database;
a learning unit that extracts one or more sentences from the document;
a summary unit converting the extracted sentence into a summary sentence; and
A system for extracting and summarizing categorical sentences in a document, including a report generator that generates a report by applying a report format to the converted summary sentences.
제11항에 있어서,
상기 문서는 신문기사, SNS(Social Network Service)의 글, 뉴스레터의 글 중 어느 하나 이상을 포함하며,
상기 수집부가 웹 크롤링을 수행하여 상기 문서를 수집하거나 미리 등록된 메일 주소가 수신한 상기 문서를 수집하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 11,
The above documents include one or more of newspaper articles, SNS (Social Network Service) articles, and newsletter articles,
A system for extracting and summarizing categorical sentences in a document, wherein the collection unit performs web crawling to collect the document or collects the document received by a pre-registered email address.
제11항에 있어서,
상기 수집부가 상기 문서의 출처 정보를 이용하여 상기 문서의 신뢰성에 대한 값을 상기 문서의 신뢰성 필드에 추가하여 저장하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 11,
A system for extracting and summarizing categorical sentences in a document, wherein the collection unit uses the source information of the document to add and store a value for the reliability of the document in a reliability field of the document.
제11항에 있어서,
상기 전처리부가 상기 문서 내에서 HTML 코드를 식별하여 제거하고, 상기 문서 내에서 광고 링크 또는 상용구를 제거하며,
상기 전처리부가 상기 문서 내에서 중복된 문장 또는 문구를 제거하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 11,
The preprocessor identifies and removes HTML code within the document and removes advertising links or boilerplate text from the document,
A system for extracting and summarizing categorical sentences in a document, wherein the preprocessor removes duplicate sentences or phrases in the document.
제14항에 있어서,
상기 전처리부가 상기 문서 내에서 HTML 코드를 식별하여 제거하기 위해,
상기 전처리부가 상기 HTML 코드 중에서 폰트를 제어하는 코드를 식별하고, 상기 코드의 시작 및 종료 지점이 포함하는 문장의 가중치를 설정하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 14,
In order for the preprocessor to identify and remove HTML code within the document,
A system for extracting and summarizing categorical sentences in a document, wherein the preprocessor identifies the code that controls the font among the HTML codes and sets the weight of the sentence included in the start and end points of the code.
제11항에 있어서,
상기 중복 제거부는 상기 문서에서 제목에 대응하는 제목 문장을 추출하고, 상기 추출한 제목 문장에 대해 사전언어 모델을 적용하여 제목 임베딩을 추출한 후,
상기 중복 제거부는 상기 데이터베이스에 저장된 문서들의 제목 임베딩의 유사도를 비교하여 하나의 문서를 상기 데이터베이스에서 제거하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 11,
The duplicate removal unit extracts a title sentence corresponding to the title from the document, applies a dictionary language model to the extracted title sentence, and extracts a title embedding,
The duplicate removal unit compares the similarity of title embeddings of documents stored in the database and removes one document from the database. A system for extracting and summarizing categorical sentences in a document.
제16항에 있어서,
상기 중복 제거부는 제1문서 및 제2문서의 제목 임베딩이 유사하며, 상기 제1문서의 신뢰성이 상기 제2문서의 신뢰성보다 높은 경우, 상기 제2문서를 상기 데이터베이스에서 제거하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 16,
The duplicate removal unit removes the second document from the database when the title embeddings of the first document and the second document are similar and the reliability of the first document is higher than the reliability of the second document. A system for extracting and summarizing sentences.
제11항에 있어서,
상기 학습부가 사전언어 모델을 적용하여 상기 문서에 대응하는 하나 이상의 문장을 추출하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 11,
A system for extracting and summarizing categorical sentences in a document, wherein the learning unit extracts one or more sentences corresponding to the document by applying a dictionary language model.
제11항에 있어서,
상기 요약부가 상기 추출된 둘 이상의 문장을 병합하여 요약 문장으로 변환하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.
According to clause 11,
A system for extracting and summarizing categorical sentences in a document, wherein the summary unit merges the two or more extracted sentences and converts them into a summary sentence.
제11항에 있어서,
상기 리포트 생성부가 상기 요약 문장을 미리 설정된 리포트 포맷으로 변환하여 리포트를 생성하는, 문서 내의 범주형 문장을 추출 및 요약하는 시스템.

According to clause 11,
A system for extracting and summarizing categorical sentences in a document, wherein the report generator generates a report by converting the summary sentences into a preset report format.

KR1020220138125A 2022-10-25 2022-10-25 Method of extraction and summary of categorical sentences in document KR20240057666A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220138125A KR20240057666A (en) 2022-10-25 2022-10-25 Method of extraction and summary of categorical sentences in document

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220138125A KR20240057666A (en) 2022-10-25 2022-10-25 Method of extraction and summary of categorical sentences in document

Publications (1)

Publication Number Publication Date
KR20240057666A true KR20240057666A (en) 2024-05-07

Family

ID=91077980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220138125A KR20240057666A (en) 2022-10-25 2022-10-25 Method of extraction and summary of categorical sentences in document

Country Status (1)

Country Link
KR (1) KR20240057666A (en)

Similar Documents

Publication Publication Date Title
CN103544210B (en) System and method for identifying webpage types
CN107590219A (en) Webpage personage subject correlation message extracting method
CN111767716B (en) Method and device for determining enterprise multi-level industry information and computer equipment
CN103309862B (en) Webpage type recognition method and system
CN106446072B (en) The treating method and apparatus of web page contents
US8577887B2 (en) Content grouping systems and methods
CN110609998A (en) Data extraction method of electronic document information, electronic equipment and storage medium
CN111767725A (en) Data processing method and device based on emotion polarity analysis model
JP4911599B2 (en) Reputation information extraction device and reputation information extraction method
CN111241410B (en) Industry news recommendation method and terminal
CN110008473B (en) Medical text named entity identification and labeling method based on iteration method
Cardoso et al. An efficient language-independent method to extract content from news webpages
CN107145591B (en) Title-based webpage effective metadata content extraction method
CN116304023A (en) Method, system and storage medium for extracting bidding elements based on NLP technology
CN111754208A (en) Automatic screening method for recruitment resumes
Leonandya et al. A semi-supervised algorithm for Indonesian named entity recognition
JP5462546B2 (en) Content detection support apparatus, content detection support method, and content detection support program
CN117034948B (en) Paragraph identification method, system and storage medium based on multi-feature self-adaptive fusion
CN115438147A (en) Information retrieval method and system for rail transit field
JP6155409B1 (en) Financial analysis system and financial analysis program
KR20240057666A (en) Method of extraction and summary of categorical sentences in document
CN112613318B (en) Entity name normalization system, method thereof and computer readable medium
Hládek et al. Text mining and processing for corpora creation in Slovak language
Chanod et al. From legacy documents to xml: A conversion framework
US20150019208A1 (en) Method for identifying a set of sentences in a digital document, method for generating a digital document, and associated device