KR20230047849A - Method and system for summarizing document using hyperscale language model - Google Patents
Method and system for summarizing document using hyperscale language model Download PDFInfo
- Publication number
- KR20230047849A KR20230047849A KR1020210131209A KR20210131209A KR20230047849A KR 20230047849 A KR20230047849 A KR 20230047849A KR 1020210131209 A KR1020210131209 A KR 1020210131209A KR 20210131209 A KR20210131209 A KR 20210131209A KR 20230047849 A KR20230047849 A KR 20230047849A
- Authority
- KR
- South Korea
- Prior art keywords
- sentence
- category
- sentences
- document
- language model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 41
- 238000012552 review Methods 0.000 claims description 36
- 238000004891 communication Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 230000001172 regenerating effect Effects 0.000 claims description 4
- 230000010365 information processing Effects 0.000 description 37
- 239000000284 extract Substances 0.000 description 26
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 9
- 230000005291 magnetic effect Effects 0.000 description 7
- 238000001914 filtration Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 239000012780 transparent material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 239000013013 elastic material Substances 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007779 soft material Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/34—Browsing; Visualisation therefor
- G06F16/345—Summarisation for human users
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90348—Query processing by searching ordered data, e.g. alpha-numerically ordered data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
본 개시는 초대형 언어 모델을 이용한 문서 요약 방법 및 시스템에 관한 것으로, 구체적으로 다수의 문장으로 이루어진 문서에 대한 카테고리별 문서 요약 방법 및 시스템에 관한 것이다.The present disclosure relates to a method and system for summarizing documents using a very large language model, and more specifically, to a method and system for summarizing documents by category for documents consisting of multiple sentences.
최근, 모바일 또는 인터넷을 이용한 다양한 서비스가 사용자에게 제공되고 있다. 제공된 서비스에 대한 사용자의 리뷰는 서비스에 대한 객관적인 정보를 포함하는 경우가 많다. 그렇기 때문에, 사용자는 서비스의 이용을 결정하거나 서비스를 통해 제품을 구매하는 경우, 사용자 리뷰를 참조하여 결정하는 경우가 많다. 하지만, 다수의 사용자가 이용하는 서비스/제품의 경우, 사용자 리뷰의 양이 방대하여, 부적절하거나 무의미한 사용자 리뷰도 다수 포함되는 문제가 있고, 모든 사용자 리뷰를 확인하기 어렵다는 문제가 있다.Recently, various services using mobile or Internet are provided to users. A user's review of a provided service often contains objective information about the service. Therefore, when a user decides to use a service or purchases a product through the service, it is often determined by referring to user reviews. However, in the case of a service/product used by a large number of users, the amount of user reviews is so large that many inappropriate or meaningless user reviews are included, and it is difficult to check all user reviews.
이를 해결하기 위해, 다수의 사용자에 의해 작성된 리뷰 가운데 일부를 선별하여 제공하는 서비스가 제공되고 있다. 하지만, 이 경우, 다수의 리뷰 가운데 일부를 선택하여 제공하기 때문에, 맞춤법 또는 띄어쓰기에 맞지 않는 표현이 있더라도 수정되지 않고 제공되는 문제가 있다. 또한, 이러한 일부 리뷰는 한 명의 의견에 불과하여 사용자의 전체 의견을 반영할 수 없는 문제가 있다.In order to solve this problem, a service is being provided that selects and provides some of the reviews written by a plurality of users. However, in this case, since some of the reviews are selected and provided, there is a problem in that even if there are expressions that do not match spelling or spacing, they are provided without being corrected. In addition, there is a problem in that some of these reviews are only opinions of one person and cannot reflect all opinions of users.
상기와 같은 문제를 해결하기 위하여, 본 개시의 다양한 실시예들은 문서 요약 방법, 기록매체에 저장된 컴퓨터 프로그램 및 장치(시스템)를 제공한다.In order to solve the above problem, various embodiments of the present disclosure provide a document summary method, a computer program stored in a recording medium, and an apparatus (system).
본 개시는 방법, 장치(시스템) 또는 판독 가능 저장 매체에 저장된 컴퓨터 프로그램을 포함한 다양한 방식으로 구현될 수 있다.The present disclosure may be implemented in a variety of ways, including a method, apparatus (system) or computer program stored on a readable storage medium.
본 개시의 일 실시예에 따르면, 적어도 하나의 프로세서에 의해 수행되는, 문서 요약 방법이 제공된다. 문서 요약 방법은 제1 문장 세트가 포함된 문서를 수신하는 단계, 제1 문장 세트를 카테고리 분석기에 입력하여 제1 카테고리에 속하는 제2 문장 세트를 추출하는 단계, 제1 카테고리에 속하는 제2 문장 세트를 제1 클러스터 세트로 클러스터링 하는 단계, 제1 클러스터 세트로부터 제3 문장 세트를 추출하는 단계 및 제3 문장 세트를 언어 모델에 입력하여 문서의 제1 카테고리와 연관된 제1 요약 문장을 생성하는 단계를 포함하고, 여기서, 제2 문장 세트는 제1 문장 세트의 서브 세트이고, 제3 문장 세트는 제2 문장 세트의 서브 세트이다.According to an embodiment of the present disclosure, a method for summarizing a document, performed by at least one processor, is provided. The document summarization method includes the steps of receiving a document including a first sentence set, inputting the first sentence set to a category analyzer and extracting a second sentence set belonging to a first category, and a second sentence set belonging to the first category. clustering into a first cluster set, extracting a third sentence set from the first cluster set, and inputting the third sentence set into a language model to generate a first summary sentence associated with the first category of the document. and wherein the second sentence set is a subset of the first sentence set and the third sentence set is a subset of the second sentence set.
본 개시의 일 실시예에 따르면, 문서 요약 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램이 제공된다.According to one embodiment of the present disclosure, a computer program stored in a computer readable recording medium is provided to execute a document summary method on a computer.
본 개시의 일 실시예에 따르면, 문서 요약 시스템이 제공된다. 문서 요약 시스템은 통신 모듈, 메모리 및 메모리와 연결되고, 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서를 포함한다. 적어도 하나의 프로그램은, 제1 문장 세트가 포함된 문서를 수신하고, 제1 문장 세트를 카테고리 분석기에 입력하여 제1 카테고리에 속하는 제2 문장 세트를 추출하고, 제1 카테고리에 속하는 제2 문장 세트를 제1 클러스터 세트로 클러스터링 하고, 제1 클러스터 세트로부터 제3 문장 세트를 추출하고, 제3 문장 세트를 언어 모델에 입력하여 문서의 제1 카테고리와 연관된 제1 요약 문장을 생성하기 위한 명령어들을 포함한다. 여기서, 제2 문장 세트는 제1 문장 세트의 서브 세트이고, 제3 문장 세트는 제2 문장 세트의 서브 세트이다.According to one embodiment of the present disclosure, a document summarization system is provided. A document summarization system includes a communication module, a memory and at least one processor coupled with the memory and configured to execute at least one computer readable program contained in the memory. The at least one program receives a document including a first set of sentences, inputs the first set of sentences to a category analyzer, extracts a second set of sentences belonging to the first category, and extracts a second set of sentences belonging to the first category. into a first cluster set, extracting a third sentence set from the first cluster set, and inputting the third sentence set into a language model to generate a first summary sentence associated with the first category of the document. do. Here, the second sentence set is a subset of the first sentence set, and the third sentence set is a subset of the second sentence set.
본 개시의 다양한 실시예에 따르면, 다수의 문장을 포함한 문서를 한 줄로 요약하여 사용자에게 제공할 수 있다.According to various embodiments of the present disclosure, a document including a plurality of sentences may be summarized in one line and provided to the user.
본 개시의 다양한 실시예에 따르면, 사용자는 하나의 주제에 대해 작성된 문서에서 특정 카테고리와 연관된 자연스러운 요약 문장을 제공받을 수 있다.According to various embodiments of the present disclosure, a user may be provided with a natural summary sentence associated with a specific category in a document prepared for one subject.
본 개시의 다양한 실시예에 따르면, 사용자들은 쇼핑몰의 특정 상품과 관련된 사용자 리뷰를 모두 읽어보지 않고, 카테고리별 요약 리뷰만 확인함으로써, 해당 상품에 대한 사용자들의 평가를 쉽게 확인할 수 있다.According to various embodiments of the present disclosure, users can easily check users' evaluations of a corresponding product by checking only summary reviews for each category without reading all user reviews related to a specific product in a shopping mall.
본 개시의 다양한 실시예에 따르면, 요약 대상의 문서에 포함되지 않은 내용이 요약 문장에 포함되는 것을 방지하기 위해, 요약 문장의 진위 여부를 확인하여 요약 문장을 재생성 함으로써, 사용자는 신뢰도 높은 요약 문장을 제공받을 수 있다.According to various embodiments of the present disclosure, in order to prevent content not included in a document to be summarized from being included in the summary sentence, the authenticity of the summary sentence is checked and the summary sentence is regenerated, so that the user can obtain a highly reliable summary sentence. can be provided.
본 개시의 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급되지 않은 다른 효과들은 청구범위의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자("통상의 기술자"라 함)에게 명확하게 이해될 수 있을 것이다.The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned are clear to those skilled in the art (referred to as "ordinary technicians") from the description of the claims. will be understandable.
도 1은 본 개시의 일 실시예에 따라 사용자가 사용자 단말을 이용하여 문서 요약 서비스를 이용하는 예시를 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 문서 요약 서비스를 제공하기 위하여, 정보 처리 시스템이 복수의 사용자 단말과 통신 가능하도록 연결된 구성을 나타내는 개요도이다.
도 3은 본 개시의 일 실시예에 따른 사용자 단말 및 정보 처리 시스템의 내부 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시예에 따른 정보 처리 시스템의 프로세서의 내부 구성을 나타내는 기능적인 블록도이다.
도 5는 본 개시의 일 실시예에 따라, 문서에 대한 카테고리별 요약을 생성하는 예시를 나타내는 도면이다.
도 6은 본 개시의 일 실시예에 따라, 초대형 언어 모델이 요약 샘플과 요약 대상을 기초로 요약 문장을 생성하는 예시를 나타내는 도면이다.
도 7은 본 개시의 일 실시예에 따라, 요약 문장을 생성하기 위해 복수의 클러스터로부터 대표 문장을 추출하는 예시를 나타내는 도면이다.
도 8은 본 개시의 일 실시예에 따라, 요약 대상에 포함된 대표 문장들의 정렬에 따라 생성되는 요약 문장의 예시를 나타내는 도면이다.
도 9는 본 개시의 일 실시예에 따라, 요약 문장을 생성할 때 카테고리에 대한 정보를 힌트로서 초대형 언어 모델에 함께 제공하는 예시를 나타내는 도면이다.
도 10은 본 개시의 일 실시예에 따라, 요약 문장의 진위 여부를 검증하고 요약 문장을 재생성하는 예시를 나타내는 도면이다.
도 11은 본 개시의 일 실시예에 따라, 요약 문장을 생성하기 위한 방법을 나타내는 흐름도이다.
도 12는 본 개시의 일 실시예에 따라, 요약 대상이 포함된 요약 문장을 생성하기 위한 방법을 나타내는 흐름도이다.1 is a diagram illustrating an example of a user using a document summary service using a user terminal according to an embodiment of the present disclosure.
2 is a schematic diagram illustrating a configuration in which an information processing system is communicatively connected to a plurality of user terminals in order to provide a document summary service according to an embodiment of the present disclosure.
3 is a block diagram showing internal configurations of a user terminal and an information processing system according to an embodiment of the present disclosure.
4 is a functional block diagram showing an internal configuration of a processor of an information processing system according to an embodiment of the present disclosure.
5 is a diagram illustrating an example of generating a category-by-category summary for a document, according to an embodiment of the present disclosure.
6 is a diagram illustrating an example of generating a summary sentence based on a summary sample and a summary target by a super-large language model according to an embodiment of the present disclosure.
7 is a diagram illustrating an example of extracting a representative sentence from a plurality of clusters to generate a summary sentence according to an embodiment of the present disclosure.
8 is a diagram illustrating examples of summary sentences generated according to alignment of representative sentences included in a summary target according to an embodiment of the present disclosure.
9 is a diagram illustrating an example of providing category information as a hint to a very large language model when generating a summary sentence according to an embodiment of the present disclosure.
10 is a diagram illustrating an example of verifying authenticity of a summary sentence and regenerating the summary sentence according to an embodiment of the present disclosure.
11 is a flowchart illustrating a method for generating summary sentences, according to one embodiment of the present disclosure.
12 is a flowchart illustrating a method for generating a summary sentence including a subject to be summarized, according to an embodiment of the present disclosure.
이하, 본 개시의 실시를 위한 구체적인 내용을 첨부된 도면을 참조하여 상세히 설명한다. 다만, 이하의 설명에서는 본 개시의 요지를 불필요하게 흐릴 우려가 있는 경우, 널리 알려진 기능이나 구성에 관한 구체적 설명은 생략하기로 한다.Hereinafter, specific details for the implementation of the present disclosure will be described in detail with reference to the accompanying drawings. However, in the following description, if there is a risk of unnecessarily obscuring the gist of the present disclosure, detailed descriptions of well-known functions or configurations will be omitted.
첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응되는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.In the accompanying drawings, identical or corresponding elements are given the same reference numerals. In addition, in the description of the following embodiments, overlapping descriptions of the same or corresponding components may be omitted. However, omission of a description of a component does not intend that such a component is not included in an embodiment.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 통상의 기술자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.Advantages and features of the disclosed embodiments, and methods of achieving them, will become apparent with reference to the following embodiments in conjunction with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms, but only the present embodiments make the present disclosure complete, and the present disclosure does not extend the scope of the invention to those skilled in the art. It is provided only for complete information.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다. 본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서, 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.Terms used in this specification will be briefly described, and the disclosed embodiments will be described in detail. The terms used in this specification have been selected from general terms that are currently widely used as much as possible while considering the functions in the present disclosure, but they may vary according to the intention of a person skilled in the related field, a precedent, or the emergence of new technology. In addition, in a specific case, there is also a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the invention. Therefore, the terms used in the present disclosure should be defined based on the meaning of the terms and the general content of the present disclosure, not simply the names of the terms.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한, 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다. 명세서 전체에서 어떤 부분이 어떤 구성요소를 포함한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.Expressions in the singular number in this specification include plural expressions unless the context clearly dictates that they are singular. Also, plural expressions include singular expressions unless the context clearly specifies that they are plural. When it is said that a certain part includes a certain component in the entire specification, this means that it may further include other components without excluding other components unless otherwise stated.
또한, 명세서에서 사용되는 '모듈' 또는 '부'라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, '모듈' 또는 '부'는 어떤 역할들을 수행한다. 그렇지만, '모듈' 또는 '부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '모듈' 또는 '부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, '모듈' 또는 '부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 또는 변수들 중 적어도 하나를 포함할 수 있다. 구성요소들과 '모듈' 또는 '부'들은 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '모듈' 또는 '부'들로 결합되거나 추가적인 구성요소들과 '모듈' 또는 '부'들로 더 분리될 수 있다.Also, the term 'module' or 'unit' used in the specification means a software or hardware component, and the 'module' or 'unit' performs certain roles. However, 'module' or 'unit' is not meant to be limited to software or hardware. A 'module' or 'unit' may be configured to reside in an addressable storage medium and may be configured to reproduce one or more processors. Thus, as an example, a 'module' or 'unit' includes components such as software components, object-oriented software components, class components, and task components, processes, functions, and attributes. , procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, or variables. Functions provided within components and 'modules' or 'units' may be combined into a smaller number of components and 'modules' or 'units', or further components and 'modules' or 'units'. can be further separated.
본 개시의 일 실시예에 따르면, '모듈' 또는 '부'는 프로세서 및 메모리로 구현될 수 있다. '프로세서'는 범용 프로세서, 중앙 처리 장치(CPU), 마이크로프로세서, 디지털 신호 프로세서(DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서, '프로세서'는 주문형 반도체(ASIC), 프로그램가능 로직 디바이스(PLD), 필드 프로그램가능 게이트 어레이(FPGA) 등을 지칭할 수도 있다. '프로세서'는, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다. 또한, '메모리'는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. '메모리'는 임의 액세스 메모리(RAM), 판독-전용 메모리(ROM), 비-휘발성 임의 액세스 메모리(NVRAM), 프로그램가능 판독-전용 메모리(PROM), 소거-프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 PROM(EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.According to one embodiment of the present disclosure, a 'module' or 'unit' may be implemented with a processor and a memory. 'Processor' should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), controllers, microcontrollers, state machines, and the like. In some circumstances, 'processor' may refer to an application specific integrated circuit (ASIC), programmable logic device (PLD), field programmable gate array (FPGA), or the like. 'Processor' refers to a combination of processing devices, such as, for example, a combination of a DSP and a microprocessor, a combination of a plurality of microprocessors, a combination of one or more microprocessors in conjunction with a DSP core, or a combination of any other such configurations. You may. Also, 'memory' should be interpreted broadly to include any electronic component capable of storing electronic information. 'Memory' includes random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable-programmable read-only memory (EPROM), It may also refer to various types of processor-readable media, such as electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, and the like. A memory is said to be in electronic communication with the processor if the processor can read information from and/or write information to the memory. Memory integrated with the processor is in electronic communication with the processor.
본 개시에서, '초대형 언어 모델(hyperscale language model)'은 퓨샷 러닝(few-shot learning) 등과 같은 방식을 이용하여 파인 튜닝(fine-tuning) 없이 추론이 가능한 언어 모델을 지칭할 수 있으며, 기존의 일반 언어 모델에 비해 10배 이상 많은 매개 변수(예를 들어, 1000억 개 이상의 매개 변수 등)를 가질 수 있다. 예를 들어, 초대형 언어 모델은 하이퍼클로바(HyperCLOVA), GPT 3(Generative Pretrained Transformer 3)일 수 있다. 본 개시에서 초대형 언어 모델은 언어 모델로 지칭될 수 있다.In the present disclosure, a 'hyperscale language model' may refer to a language model capable of inference without fine-tuning using a method such as a few-shot learning, and It can have more than 10 times as many parameters as regular language models (e.g., more than 100 billion parameters, etc.). For example, the super large language model may be HyperCLOVA or Generative Pretrained Transformer 3 (GPT 3). In the present disclosure, a very large language model may be referred to as a language model.
본 개시에서, '요약 샘플'은 초대형 언어 모델에 입력되어 요약 문장을 생성하기 위해 작성된 요약 샘플 문장을 지칭할 수 있다. 일 실시예에 따르면, 요약 샘플은 문장 요약 서비스 제공자에 의해 미리 작성되어 초대형 언어 모델에 입력될 수 있다. 예를 들어, 요약 샘플은 제품명, 복수의 사용자 리뷰 문장 및 복수의 사용자 리뷰 문장을 한 문장으로 요약한 요약 문장 등을 포함할 수 있다.In the present disclosure, a 'summary sample' may refer to a summary sample sentence input to a very large language model to generate a summary sentence. According to an embodiment, the summary sample may be prepared in advance by a sentence summary service provider and input into the super large language model. For example, the summary sample may include a product name, a plurality of user review sentences, and a summary sentence in which the plurality of user review sentences are summarized into one sentence.
도 1은 본 개시의 일 실시예에 따라 사용자(110)가 사용자 단말을 이용하여 문서 요약 서비스를 이용하는 예시를 나타내는 도면이다. 도시된 바와 같이, 사용자(110)는 사용자 단말을 이용하여 구매자들이 남긴 다양한 리뷰들을 카테고리 별로 한 줄 요약한 결과(122, 124, 126)를 제공받을 수 있다. 기존에 다수의 사용자에 의해 작성된 리뷰 가운데 카테고리별로 한 문장씩 선별하여 제공하는 서비스가 제공되었으나, 다수의 리뷰 가운데 하나를 선택하여 제공하기 때문에, 맞춤법 또는 띄어쓰기에 맞지 않는 표현이 있더라도 수정되지 않고 제공되는 문제가 있다. 또한, 다수의 사용자에 의해 작성된 문장 가운데 하나를 선별한 문장은 한 명의 의견에 불과하여 리뷰 전체의 의견을 반영할 수 없는 문제가 있다. 이와 같은 문제를 해결하기 위해, 다수의 사용자가 작성한 리뷰들 중 내용이 없거나 도움이 되지 않는 문장은 제외할 필요가 있고, 다수의 의견을 반영한 카테고리별 리뷰 요약을 제공할 필요가 있다. 일 실시예에서, 문서 요약 서비스(예를 들어, 특정 상품의 카테고리별 리뷰 요약 서비스)는 초대형 언어 모델을 이용하여 제공될 수 있다. 즉, 스스로 추론하고 문장을 만들어낼 수 있는 초대형 언어 모델이 문서를 분석하여 자연스러운 요약문을 생성할 수 있다.1 is a diagram illustrating an example in which a
도시된 바와 같이, 사용자(110)는 사용자 단말의 사용자 인터페이스(120)를 통해 특정 상품과 관련하여 미리 정의된 카테고리별 리뷰 요약(122, 124, 126)을 제공받을 수 있다. 카테고리는 상품마다 다르게 설정될 수 있으며, 도시된 예에서 상품과 관련된 카테고리로 색상, 디자인 및 성능이 사용될 수 있다. 예를 들어, 사용자(110)는 특정 제품의 '색상'과 관련된 리뷰 요약(122), '디자인'과 관련된 리뷰 요약(124) 및 '성능'과 관련된 리뷰 요약(126)을 제공받을 수 있다.As shown, the
도 1에는 쇼핑몰의 특정 상품과 관련된 사용자들의 리뷰에 대한 요약을 제공하는 것으로 도시되었으나, 이에 한정되지 않는다. 예를 들어, 문장 요약은 다수의 문장으로 이루어진 문서(예를 들어, 소설, 뉴스 기사, 논문 등)에 대한 카테고리별 요약을 제공하기 위해 사용될 수 있다. 이와 같은 구성에 의해 사용자들은 쇼핑몰의 특정 상품과 관련된 사용자 리뷰를 모두 읽어보지 않고, 카테고리별 요약 리뷰만 확인함으로써, 해당 상품에 대한 사용자들의 평가를 쉽게 확인하는 것이 가능하다.Although FIG. 1 illustrates providing a summary of reviews of users related to a specific product in a shopping mall, the present invention is not limited thereto. For example, sentence summaries can be used to provide category-by-sentence summaries for multi-sentence documents (eg, novels, news articles, papers, etc.). With this configuration, it is possible for users to easily check the user's evaluation of the corresponding product by checking only summary reviews by category without reading all user reviews related to a specific product in the shopping mall.
도 2는 본 개시의 일 실시예에 따른 문서 요약 서비스를 제공하기 위하여, 정보 처리 시스템(230)이 복수의 사용자 단말(210_1, 210_2, 210_3)과 통신 가능하도록 연결된 구성을 나타내는 개요도이다. 정보 처리 시스템(230)은 문서 요약 서비스를 제공할 수 있는 시스템을 포함할 수 있다. 일 실시예에서, 정보 처리 시스템(230)은 문서 요약 서비스와 관련된 컴퓨터 실행 가능한 프로그램(예를 들어, 다운로드 가능한 애플리케이션) 및 데이터를 저장, 제공 및 실행할 수 있는 하나 이상의 서버 장치 및/또는 데이터베이스, 또는 클라우드 컴퓨팅 서비스 기반의 하나 이상의 분산 컴퓨팅 장치 및/또는 분산 데이터베이스를 포함할 수 있다. 예를 들어, 정보 처리 시스템(230)은 문서 요약 서비스를 위한 별도의 시스템(예를 들어, 서버)들을 포함할 수 있다. 정보 처리 시스템(230)에 의해 제공되는 문서 요약 서비스 등은, 복수의 사용자 단말(210_1, 210_2, 210_3)의 각각에 설치된 문서 요약 애플리케이션, 웹 브라우저 등을 통해 사용자에게 제공될 수 있다. 일 실시예에서, 정보 처리 시스템(230)은 초대형 언어 모델(240)을 이용하여 사용자 단말에 문서 요약 서비스를 제공할 수 있다.2 is a schematic diagram illustrating a configuration in which an
복수의 사용자 단말(210_1, 210_2, 210_3)은 네트워크(220)를 통해 정보 처리 시스템(230)과 통신할 수 있다. 네트워크(220)는 복수의 사용자 단말(210_1, 210_2, 210_3)과 정보 처리 시스템(230) 사이의 통신이 가능하도록 구성될 수 있다. 네트워크(220)는 설치 환경에 따라, 예를 들어, 이더넷(Ethernet), 유선 홈 네트워크(Power Line Communication), 전화선 통신 장치 및 RS-serial 통신 등의 유선 네트워크, 이동통신망, WLAN(Wireless LAN), Wi-Fi, Bluetooth 및 ZigBee 등과 같은 무선 네트워크 또는 그 조합으로 구성될 수 있다. 통신 방식은 제한되지 않으며, 네트워크(220)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망, 위성망 등)을 활용하는 통신 방식뿐 아니라 사용자 단말(210_1, 210_2, 210_3) 사이의 근거리 무선 통신 역시 포함될 수 있다.A plurality of user terminals 210_1 , 210_2 , and 210_3 may communicate with the
도 2에서 휴대폰 단말(210_1), 태블릿 단말(210_2) 및 PC 단말(210_3)이 사용자 단말의 예로서 도시되었으나, 이에 한정되지 않으며, 사용자 단말(210_1, 210_2, 210_3)은 유선 및/또는 무선 통신이 가능한 임의의 컴퓨팅 장치일 수 있다. 예를 들어, 사용자 단말은, 스마트폰, 휴대폰, 내비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC, 게임 콘솔(game console), 웨어러블 디바이스(wearable device), IoT(internet of things) 디바이스, VR(virtual reality) 디바이스, AR(augmented reality) 디바이스 등을 포함할 수 있다. 또한, 도 2에는 3개의 사용자 단말(210_1, 210_2, 210_3)이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하는 것으로 도시되어 있으나, 이에 한정되지 않으며, 상이한 수의 사용자 단말이 네트워크(220)를 통해 정보 처리 시스템(230)과 통신하도록 구성될 수도 있다.In FIG. 2, a mobile phone terminal 210_1, a tablet terminal 210_2, and a PC terminal 210_3 are illustrated as examples of user terminals, but are not limited thereto, and the user terminals 210_1, 210_2, and 210_3 may perform wired and/or wireless communication. It can be any computing device capable of this. For example, the user terminal includes a smartphone, a mobile phone, a navigation device, a computer, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a tablet PC, a game console, and a wearable device ( wearable device), internet of things (IoT) device, virtual reality (VR) device, augmented reality (AR) device, and the like. In addition, although three user terminals 210_1, 210_2, and 210_3 are shown in FIG. 2 to communicate with the
일 실시예에서, 정보 처리 시스템(230)은 사용자 단말(210_1, 210_2, 210_3)로부터 요약 대상 문서의 전부 또는 일부, 문서 요약 요청 등을 수신할 수 있다. 정보 처리 시스템(230)은 요약 대상 문서에 대해 카테고리별 요약 문장을 생성하고, 요약 결과를 사용자 단말(210_1, 210_2, 210_3)로 제공할 수 있다. 도 2에서 초대형 언어 모델(240)이 정보 처리 시스템(230) 외부에 존재하는 것으로 도시되었으나, 이에 한정되지 않으며, 정보 처리 시스템(230) 내부에 초대형 언어 모델(240)이 저장되어 사용될 수 있다. 또한, 도 2에서는 정보 처리 시스템(230)이 요약 대상 문서에 대해 카테고리별 요약 문장을 생성하여 사용자 단말에 제공하는 것으로 도시되었으나, 이에 한정되지 않으며, 문서 요약 서비스를 제공하기 위한 하드웨어/소프트웨어가 사용자 단말에 구비될 수 있다.In one embodiment, the
도 3은 본 개시의 일 실시예에 따른 사용자 단말(210) 및 정보 처리 시스템(230)의 내부 구성을 나타내는 블록도이다. 사용자 단말(210)은 문서 요약 애플리케이션, 웹 브라우저 등이 실행 가능하고 유/무선 통신이 가능한 임의의 컴퓨팅 장치를 지칭할 수 있으며, 예를 들어, 도 2의 휴대폰 단말(210_1), 태블릿 단말(210_2), PC 단말(210_3) 등을 포함할 수 있다. 도시된 바와 같이, 사용자 단말(210)은 메모리(312), 프로세서(314), 통신 모듈(316) 및 입출력 인터페이스(318)를 포함할 수 있다. 이와 유사하게, 정보 처리 시스템(230)은 메모리(332), 프로세서(334), 통신 모듈(336) 및 입출력 인터페이스(338)를 포함할 수 있다. 도 3에 도시된 바와 같이, 사용자 단말(210) 및 정보 처리 시스템(230)은 각각의 통신 모듈(316, 336)을 이용하여 네트워크(220)를 통해 정보 및/또는 데이터를 통신할 수 있도록 구성될 수 있다. 또한, 입출력 장치(320)는 입출력 인터페이스(318)를 통해 사용자 단말(210)에 정보 및/또는 데이터를 입력하거나 사용자 단말(210)로부터 생성된 정보 및/또는 데이터를 출력하도록 구성될 수 있다.Figure 3 is a block diagram showing the internal configuration of the
메모리(312, 332)는 비-일시적인 임의의 컴퓨터 판독 가능한 기록매체를 포함할 수 있다. 일 실시예에 따르면, 메모리(312, 332)는 RAM(random access memory), ROM(read only memory), 디스크 드라이브, SSD(solid state drive), 플래시 메모리(flash memory) 등과 같은 비소멸성 대용량 저장 장치(permanent mass storage device)를 포함할 수 있다. 다른 예로서, ROM, SSD, 플래시 메모리, 디스크 드라이브 등과 같은 비소멸성 대용량 저장 장치는 메모리와는 구분되는 별도의 영구 저장 장치로서 사용자 단말(210) 또는 정보 처리 시스템(230)에 포함될 수 있다. 또한, 메모리(312, 332)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다.The
이러한 소프트웨어 구성요소들은 메모리(312, 332)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독가능한 기록매체는 이러한 사용자 단말(210) 및 정보 처리 시스템(230)에 직접 연결가능한 기록 매체를 포함할 수 있는데, 예를 들어, 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 예로서, 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(316, 336)을 통해 메모리(312, 332)에 로딩될 수도 있다. 예를 들어, 적어도 하나의 프로그램은 개발자들 또는 애플리케이션의 설치 파일을 배포하는 파일 배포 시스템이 네트워크(220)를 통해 제공하는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 메모리(312, 332)에 로딩될 수 있다.These software components may be loaded from a computer readable recording medium separate from the
프로세서(314, 334)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(312, 332) 또는 통신 모듈(316, 336)에 의해 프로세서(314, 334)로 제공될 수 있다. 예를 들어, 프로세서(314, 334)는 메모리(312, 332)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The
통신 모듈(316, 336)은 네트워크(220)를 통해 사용자 단말(210)과 정보 처리 시스템(230)이 서로 통신하기 위한 구성 또는 기능을 제공할 수 있으며, 사용자 단말(210) 및/또는 정보 처리 시스템(230)이 다른 사용자 단말 또는 다른 시스템(일례로 별도의 클라우드 시스템 등)과 통신하기 위한 구성 또는 기능을 제공할 수 있다. 일례로, 사용자 단말(210)의 프로세서(314)가 메모리(312) 등과 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청 또는 데이터(예를 들어, 문서 요약 요청 등)는 통신 모듈(316)의 제어에 따라 네트워크(220)를 통해 정보 처리 시스템(230)으로 전달될 수 있다. 역으로, 정보 처리 시스템(230)의 프로세서(334)의 제어에 따라 제공되는 제어 신호나 명령이 통신 모듈(336)과 네트워크(220)를 거쳐 사용자 단말(210)의 통신 모듈(316)을 통해 사용자 단말(210)에 수신될 수 있다. 예를 들어, 사용자 단말(210)은 정보 처리 시스템(230)으로부터 문서의 카테고리별 요약 문장을 수신할 수 있다.The
입출력 인터페이스(318)는 입출력 장치(320)와의 인터페이스를 위한 수단일 수 있다. 일 예로서, 입력 장치는 오디오 센서 및/또는 이미지 센서를 포함한 카메라, 키보드, 마이크로폰, 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커, 햅틱 피드백 디바이스(haptic feedback device) 등과 같은 장치를 포함할 수 있다. 다른 예로, 입출력 인터페이스(318)는 터치스크린 등과 같이 입력과 출력을 수행하기 위한 구성 또는 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수 있다. 도 3에서는 입출력 장치(320)가 사용자 단말(210)에 포함되지 않도록 도시되어 있으나, 이에 한정되지 않으며, 사용자 단말(210)과 하나의 장치로 구성될 수 있다. 또한, 정보 처리 시스템(230)의 입출력 인터페이스(338)는 정보 처리 시스템(230)과 연결되거나 정보 처리 시스템(230)이 포함할 수 있는 입력 또는 출력을 위한 장치(미도시)와의 인터페이스를 위한 수단일 수 있다. 도 3에서는 입출력 인터페이스(318, 338)가 프로세서(314, 334)와 별도로 구성된 요소로서 도시되었으나, 이에 한정되지 않으며, 입출력 인터페이스(318, 338)가 프로세서(314, 334)에 포함되도록 구성될 수 있다.The input/
사용자 단말(210) 및 정보 처리 시스템(230)은 도 3의 구성요소들보다 더 많은 구성요소들을 포함할 수 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 일 실시예에서, 사용자 단말(210)은 상술된 입출력 장치(320) 중 적어도 일부를 포함하도록 구현될 수 있다. 또한, 사용자 단말(210)은 트랜시버(transceiver), GPS(Global Positioning system) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수 있다. 예를 들어, 사용자 단말(210)이 스마트폰인 경우, 일반적으로 스마트폰이 포함하고 있는 구성요소를 포함할 수 있으며, 예를 들어, 가속도 센서, 자이로 센서, 마이크 모듈, 카메라 모듈, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 사용자 단말(210)에 더 포함되도록 구현될 수 있다.The
도 4는 본 개시의 일 실시예에 따른 정보 처리 시스템의 프로세서(400)의 내부 구성을 나타내는 기능적인 블록도이다. 도시된 바와 같이, 프로세서(400)는 카테고리 분석부(410), 필터링부(420), 클러스터링부(430), 초대형 언어 모델(440), 팩트 체크부(450) 및 문장 보정부(460)를 포함할 수 있다. 도 4에서는 하나의 프로세서가 도시되었으나, 이에 한정되지 않으며, 정보 처리 시스템은 복수의 프로세서를 포함하여 프로세서(400)와 동일한 기능을 수행하도록 구성될 수 있다.4 is a functional block diagram showing an internal configuration of a
일 실시예에 따르면, 카테고리 분석부(410)는 복수의 문장이 포함된 문서를 수신하여, 문장 단위로 분리하고, 특정 카테고리와 연관된 리뷰들을 추출하도록 구성될 수 있다. 예를 들어, 카테고리 분석부(410)는 복수의 문장이 포함된 문서로부터 제1 카테고리에 속하는 문장들을 추출할 수 있다. 유사하게, 카테고리 분석부(410)는 복수의 문장이 포함된 문서로부터 제2 카테고리에 속하는 문장들을 추출할 수 있다. 카테고리 분석부(410)는 DNN(Deep Neural Network) 및 규칙 기반의 하이브리드 모델일 수 있다. 추가적으로, 카테고리 분석부(410)는 추출한 문장에 대하여 긍정 또는 부정 플래그를 부가할 수 있다. 예를 들어, 카테고리 분석부(410)는 '맛' 카테고리에 속하는 "맛있었어요."와 같은 문장에 긍정 플래그를 부가할 수 있다.According to an embodiment, the
일 실시예에 따르면, 필터링부(420)는 카테고리 분석부(410)에 의해 추출된 문장들의 스코어를 판정하여 짧거나 무의미한 문장을 필터링할 수 있다. 구체적으로, 필터링부(420)는 문장의 길이, 문장 내의 카테고리와 연관된 부분의 길이, 중복 형태소 존재 여부, 품사 또는 기호 포함 여부 중 적어도 하나에 기초하여 문장 각각의 스코어를 판정할 수 있다. 스코어는 문장에 담긴 정보가 얼마나 많은지 판단하는데 사용할 수 있고, 필터링부(420)는 스코어를 이용하여 문장을 필터링 및 정렬할 수 있다. 예를 들어, 짧은 문장, 카테고리와 연관된 부분이 적은 문장, 무의미한 표현이 반복되는 문장 등과 같은 경우, 필터링부(420)는 문장에 낮은 스코어를 부여할 수 있다. 이후, 필터링부(420)는 미리 결정된 임계치 이상의 스코어(예를 들어, 0.55 이상)를 가지는 문장을 클러스터링부(430)에 제공할 수 있다.According to an embodiment, the filtering unit 420 may filter short or meaningless sentences by determining scores of sentences extracted by the
일 실시예에 따르면, 클러스터링부(430)는 하나의 카테고리에 속하는 문장들을 복수의 클러스터로 클러스터링할 수 있다. 여기서, 클러스터링은 서로 관련이 있는 문장들(예를 들어, 서로 유사한 표현, 의미를 가지는 문장들)끼리 묶어주는 것을 의미한다. 예를 들어, 클러스터링부(430)는 각 문장을 벡터로 변환하고 완전 연계 클러스터링(complete linkage clustering) 기법을 이용하여 클러스터링을 수행할 수 있다. 쇼핑 리뷰 요약의 경우, 클러스터링으로 묶인 문장이 많을수록 해당 내용이 현재 상품의 주된 내용이라고 판단할 수 있다.According to an embodiment, the
이후, 클러스터링부(430)는 클러스터를 크기를 기준으로 정렬하고, 각 클러스터 별로 한 문장씩 추출하여 총 n개의 문장을 추출할 수 있다. n은 2 이상의 자연수이며, 속도와 성능을 고려하여 n=4일 수 있다. 대안적으로, 클러스터링부(430)는 각 클러스터에서 한 문장씩 추출할 수 있다. 클러스터링부(430)는 모든 카테고리에 대하여 상술한 동작을 반복할 수 있다.Thereafter, the
일 실시예에 따르면, 초대형 언어 모델(440)은 클러스터링부(430)에 의해 추출된 각 카테고리별 대표 문장들(예를 들어, 카테고리별로 4개의 문장)을 수신하여, 문서의 각 카테고리별 요약 문장을 생성할 수 있다. 예를 들어, 초대형 언어 모델(440)은 제1 카테고리와 연관된 4개의 대표 문장을 수신하여 하나의 문장으로 요약함으로써, 제1 카테고리와 연관된 요약 문장을 생성할 수 있다. 유사하게, 초대형 언어 모델(440)은 제2 카테고리와 연관된 4개의 대표 문장을 수신하여 하나의 문장으로 요약함으로써, 제2 카테고리와 연관된 요약 문장을 생성할 수 있다.According to an embodiment, the super
일 실시예에 따르면, 팩트 체크부(450)는 초대형 언어 모델(440)에 의해 생성된 요약 문장의 진위 여부를 검증하도록 구성될 수 있다. 초대형 언어 모델(440)의 경우, 직접 추론이 가능하며 방대한 데이터를 기반으로 학습되었기 때문에 자연스러운 문장을 생성할 수 있는 반면, 입력 문장에 포함되지 않은 내용을 새로 만들어내는 경우도 있다. 즉, 초대형 언어 모델(440)이 입력 문장에 포함되지 않은 거짓 문장을 만들어낼 수 있으며, 관련 연구에 따르면 초대형 언어 모델(440)은 약 30% 정도의 비율로 거짓 문장을 생성할 수 있다고 알려져 있다. 따라서, 초대형 언어 모델(440)이 생성한 문장(요약 문장)이 입력된 문장(카테고리와 연관된 대표 문장)의 내용과 일치하는 과정이 필요하다.According to an embodiment, the fact checker 450 may be configured to verify the authenticity of the summary sentence generated by the super
일 실시예에서, 팩트 체크부(450)는 자연어 추론(NLI: Natural Language Inference) 모델을 이용하여 입력된 문장(카테고리와 연관된 대표 문장)과 초대형 언어 모델(440)이 생성한 문장(요약 문장) 사이의 관계를 판정할 수 있다. 여기서, NLI 모델은 한 문장이 다른 문장과 논리적으로 관련이 있는지를 판정하기 위한 모델일 수 있으며, 입력된 문장과 생성된 문장 사이의 관계를 중립 관계(neutral), 함의 관계(entailment), 모순 관계(contradiction)로 분류하여 판정할 수 있다. 구체적으로, 입력된 문장과 생성된 문장이 함의 관계가 아닌 것으로 판정하는 경우, 팩트 체크부(450)는 생성된 요약 문장을 허위로 판정할 수 있다. 예를 들어, 팩트 체크부(450)는 4개의 대표 문장 중 임의의 2개의 문장과 생성된 요약 문장 사이의 관계를 판정하고, 한 번이라도 함의 관계로 판정되면, 초대형 언어 모델(440)에 의해 생성된 요약 문장이 진실인 것으로 판정할 수 있다. 대안적으로, 팩트 체크부(450)는 두 문장의 단어들 간 겹침 정도(overlap)를 표현하는 ROUGE 스코어를 판정하여 생성된 요약 문장의 진위 여부를 검증할 수 있다.In one embodiment, the fact checker 450 uses a natural language inference (NLI) model to input a sentence (a representative sentence associated with a category) and a sentence generated by the super large language model 440 (summary sentence). relationship between them can be determined. Here, the NLI model may be a model for determining whether one sentence is logically related to another sentence, and the relationship between an input sentence and a generated sentence is classified into a neutral relationship, an entailment relationship, and a contradictory relationship. (Contradiction) can be classified and determined. Specifically, when it is determined that the input sentence and the generated sentence do not have a connotational relationship, the fact checker 450 may determine the generated summary sentence to be false. For example, the fact checker 450 determines the relationship between any two sentences among the four representative sentences and the generated summary sentence. It can be determined that the generated summary sentence is true. Alternatively, the fact checker 450 may verify the authenticity of the generated summary sentence by determining a ROUGE score representing an overlap between words in the two sentences.
초대형 언어 모델(440)에 의해 생성된 요약 문장이 진실인 것으로 판정된 경우, 팩트 체크부(450)는 생성된 요약 문장을 문장 보정부(460)로 제공할 수 있다. 반면, 초대형 언어 모델(440)에 의해 생성된 요약 문장이 허위로 것으로 판정된 경우, 초대형 언어 모델(440)이 greedy 옵션을 사용하여 요약 문장을 재생성할 수 있다. 여기서, greedy 옵션은 초대형 언어 모델(440)이 출력 문장을 입력된 문장과 보다 유사하게 만들기 위한 옵션을 나타낼 수 있다. 이후, 팩트 체크부(450)는 재생성된 요약 문장의 진위 여부를 검증하고, 진실인 것으로 판정하는 경우, 재생성된 요약 문장을 문장 보정부(460)로 제공할 수 있다.When it is determined that the summary sentence generated by the super
일 실시예에 따르면, 문장 보정부(460)는 팩트 체크부(450)에 의해 진실인 것으로 판정된 요약 문장을 수신하여, 정상적인 문장인지 여부를 판정할 수 있다. 예를 들어, 요약 문장이 맞춤법에 어긋나거나, 욕설이 포함된 경우, 정상적이지 않은 문장으로 판정할 수 있다. 요약 문장이 정상적이지 않은 문장으로 판정된 경우, 문장 보정부(460)는 요약 문장을 초대형 언어 모델(440)에 입력하여 정상적인 문장으로 보정할 수 있다.According to an embodiment, the sentence corrector 460 may receive the summary sentence determined to be true by the fact checker 450 and determine whether it is a normal sentence. For example, if the summary sentence is out of spelling or includes profanity, it may be determined as an abnormal sentence. When the summary sentence is determined to be an abnormal sentence, the sentence correction unit 460 may input the summary sentence to the super
도 4에서 도시한 프로세서(400)의 내부 구성은 예시일 뿐이며, 일부 실시예에서는 도시한 내부 구성 외 다른 구성을 추가로 포함하거나, 일부 구성이 생략될 수 있으며, 일부 과정이 다른 구성 또는 외부 시스템에 의해 수행될 수 있다.The internal configuration of the
도 5는 본 개시의 일 실시예에 따라, 문서에 대한 카테고리별 요약을 생성하는 예시를 나타내는 도면이다. 도시된 바와 같이, 카테고리 분석부(410)는 복수의 문장이 포함된 문서(510)를 수신할 수 있다. 예를 들어, 문서(510)는 다수의 문장으로 이루어진 문서(예를 들어, 사용자 리뷰, 소설, 뉴스 기사, 논문 등)를 나타낼 수 있다. 이후, 카테고리 분석부(410)는 수신한 문서(510)를 문장 단위로 분리하고, 미리 정의된 카테고리와 연관된 문장들(520_1, 520_2)을 각각 추출할 수 있다. 예를 들어, 카테고리 분석부(410)는 문서(510)를 수신하여 제1 카테고리와 연관된 제1 문장 세트(520_1)와 제2 카테고리와 연관된 제2 문장 세트(520_2)를 각각 추출할 수 있다. 추출된 각 카테고리와 연관된 문장들(520_1, 520_2)은 각각 클러스터링부(430)에 따로 입력될 수 있다.5 is a diagram illustrating an example of generating a category-by-category summary for a document, according to an embodiment of the present disclosure. As shown, the
클러스터링부(430)는 카테고리와 연관된 문장들(520_1, 520_2)을 복수의 클러스터로 클러스터링하고, 각 클러스터 별로 한 문장씩 추출하여 총 n개의 문장을 추출할 수 있다. 클러스터는 크기를 기준으로 상위 n개(n은 2 이상 자연수)의 클러스터가 선정될 수 있다. n은 속도와 성능을 고려하여 n=4일 수 있다. 예를 들어, 도시된 바와 같이, 클러스터링부(430)는 제1 카테고리와 연관된 제1 문장 세트(520_1)를 복수의 클러스터로 클러스터링하고, 크기 상위 4개의 클러스터에서 각각 한 문장씩 추출하여 제1 문장 내지 제4 문장 (530_1, 530_2, 530_3, 530_4)을 추출할 수 있다. 유사하게, 클러스터링부(430)는 제2 카테고리와 연관된 제2 문장 세트(520_2)를 복수의 클러스터로 클러스터링하고, 크기 상위 4개의 클러스터로부터 제5 문장 내지 제8 문장(530_5, 530_6, 530_7, 530_8)을 추출할 수 있다.The
각 카테고리별 대표 문장(예, 530_1 내지 530_8)은 요약 샘플(예, 540, 550)과 함께 초대형 언어 모델(440)에 입력되어, 요약 문장이 생성될 수 있다. 예를 들어, 도시된 바와 같이, 초대형 언어 모델(440)은 제1 카테고리와 연관된 제1 문장 내지 제4 문장(530_1 내지 530_4) 및 제1 요약 샘플(540)을 수신하여, 제1 요약 문장(560)을 생성할 수 있다. 유사하게, 초대형 언어 모델(440)은 제2 카테고리와 연관된 제5 문장 내지 제8 문장(530_5 내지 530_8) 및 제2 요약 샘플(550)을 수신하여, 제2 요약 문장(570)을 생성할 수 있다. 제1 요약 문장(560)과 제2 요약 문장(570)은 각각 문서(510)에 대한 제1 카테고리의 요약 문장 및 제2 카테고리의 요약 문장으로 제공될 수 있다. 도 5에는 2개의 카테고리에 대하여 각각 하나의 요약 문장이 출력되는 것으로 도시되었으나, 이에 한정되지 않으며 3개 이상의 카테고리에 대하여 각각 하나의 요약 문장이 출력될 수 있다.Representative sentences (eg, 530_1 to 530_8) for each category are input to the super
도 6은 본 개시의 일 실시예에 따라, 초대형 언어 모델이 요약 샘플(610)과 요약 대상(620)을 기초로 요약 문장(630)을 생성하는 예시를 나타내는 도면이다. 요약 문장(630)은 요약 대상(620)과 요약 샘플(610)이 함께 초대형 언어 모델에 입력되어 생성될 수 있다. 요약 샘플(610)은 문장 요약 서비스 제공자에 의해 미리 작성되어 초대형 언어 모델에 입력될 수 있다. 요약 샘플(610)은 복수의 샘플(예, 612, 614)을 포함할 수 있고, 하나의 요약 샘플은 제품명, 복수의 사용자 리뷰 문장 및 요약 문장을 포함할 수 있다. 예를 들어, 도시된 바와 같이, 제1 요약 샘플(612) 및 제2 요약 샘플(614)은 제품명, 4개의 사용자 리뷰 문장 및 4개의 사용자 리뷰 문장을 한 문장으로 요약한 문장으로 구성될 수 있다. 일 실시예에서, 요약 샘플은 서비스 제공자에 의해 카테고리마다 미리 작성될 수 있다.6 is a diagram illustrating an example of generating a
요약 대상(620)은 제품명(622), 4개의 상위 클러스터로부터 각각 추출된 대표 문장(624)을 포함할 수 있다. 또한, 요약 대상(620)은 미작성된 요약 항목(626)을 더 포함할 수 있다. 요약 샘플(610)과 요약 대상(620)이 함께 초대형 언어 모델에 입력되어 요약 문장(630)이 생성될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 초대형 언어 모델은 요약 대상(620)에 포함된 대표 문장(624)의 요약 문장(630)으로 '커피를 좋아하는 사람이라면 누구나 좋아할 만한 맛과 향이에요.'를 생성하여 출력할 수 있다.The
도 7은 본 개시의 일 실시예에 따라, 요약 문장(750)을 생성하기 위해 복수의 클러스터(710, 720, 730, 740)로부터 대표 문장(712, 722, 732, 742)을 추출하는 예시를 나타내는 도면이다. 프로세서는 문서에 포함된 문장들 중 특정 카테고리로 분류된 문장들을 복수의 클러스터로 클러스터링할 수 있다. 예를 들어, 프로세서는 특정 제품에 대한 사용자 리뷰 가운데 '만족도' 카테고리와 연관된 문장들을 추출하고, 해당 문장들을 '사이즈 관련 만족도'(710), '견고한 품질에 대한 만족도'(720), '투명 재질에 대한 만족도'(730), '가격 관련 만족도'(740) 등과 같은 클러스터로 클러스터링할 수 있다.7 illustrates an example of extracting
그 후, 프로세서는 클러스터 크기 기준으로 상위 4개의 클러스터로부터 하나의 문장씩 추출할 수 있다. 이 때, 프로세서는 각 클러스터로부터 하나의 문장을 임의로 추출하거나 가장 높은 스코어를 가지는 문장을 추출할 수 있다. 예를 들어, '사이즈 관련 만족도' 클러스터(710)로부터 제1 문장(712)을 추출하고, '견고한 품질에 대한 만족도' 클러스터(720)으로부터 제2 문장(722)을 추출할 수 있다. 유사하게, '투명 재질에 대한 만족' 클러스터(730)으로부터 제3 문장(732)을 추출하고, '가격 관련 만족도' 클러스터(740)으로부터 제4 문장(742)을 추출할 수 있다. 이와 같이 추출된 문장은 해당 제품에 대한 사용자 리뷰를 대표하는 문장들이라고 볼 수 있다. 최종적으로, 프로세서는 제1 문장 내지 제4 문장(712, 722, 732, 742)을 초대형 언어 모델에 입력하여 요약 문장(750)을 생성할 수 있다.After that, the processor may extract one sentence from the top 4 clusters based on the cluster size. At this time, the processor may randomly extract one sentence from each cluster or extract the sentence having the highest score. For example, a
도 8은 본 개시의 일 실시예에 따라, 요약 대상(810, 820)에 포함된 대표 문장들의 정렬에 따라 생성되는 요약 문장(812, 822)의 예시를 나타내는 도면이다. 도시된 바와 같이, 요약 대상(810, 820)에 포함된 대표 문장들의 정렬 기준에 따라 상이한 요약 문장(812, 822)이 생성될 수 있다.8 is a diagram illustrating examples of
제1 요약 대상(810)은 복수의 클러스터로부터 추출된 대표 문장들이 문장 길이를 기준으로 내림 차순으로 정렬된 예시이다. 제1 요약 대상(810)이 초대형 언어 모델에 입력되어, 제1 요약 문장(812)이 생성될 수 있다. 제2 요약 대상(820)은 복수의 클러스터로부터 추출된 대표 문장들이 문장 길이를 기준으로 오름 차순으로 정렬된 예시이다. 제2 요약 대상(820)이 초대형 언어 모델에 입력되어, 제2 요약 문장(822)이 생성될 수 있다. 도시된 것과 같이, 대표 문장이 오름 차순으로 정렬된 제2 요약 대상(820)이 대표 문장이 내림 차순으로 정렬된 제1 요약 대상(810)과 비교할 때, 많은 정보가 포함된 요약 문장을 생성하는 것을 확인할 수 있다. 이는 초대형 언어 모델이 입력된 복수의 문장 가운데 마지막 문장에 높은 가중치를 부여하기 때문이다.The
도 9는 본 개시의 일 실시예에 따라, 요약 문장을 생성할 때 카테고리에 대한 정보를 힌트로서 초대형 언어 모델에 함께 제공하는 예시를 나타내는 도면이다. 도시된 바와 같이, 요약 대상(910)은 제품명, 대표 문장, 그리고 카테고리에 대한 정보(912)를 포함할 수 있다. 이 경우, 초대형 언어 모델은 요약하려는 카테고리와 보다 관련 있는 요약문을 생성할 수 있다. 예를 들어, 도시된 바와 같이, 의류 제품에 대해 카테고리에 대한 정보로서 '소재'를 제품명, 대표 문장과 함께 초대형 언어 모델에 입력하는 경우, '부드럽고 신축성있는 소재라 좋습니다.'과 같은 의류 제품의 '소재'와 연관된 요약 문장이 생성될 수 있다.9 is a diagram illustrating an example of providing category information as a hint to a very large language model when generating a summary sentence according to an embodiment of the present disclosure. As shown, the summary subject 910 may include
일 실시예에 따르면, 카테고리에 대한 정보(912)는, 요약문에 포함될 카테고리에 대한 정보뿐만 아니라, 요약문에 포함되지 않아야 할 카테고리에 대한 정보도 포함할 수 있다. 예를 들어, 카테고리에 대한 정보(912)로서 '소재, 가성비빼고'를 제품명, 대표 문장과 함께 초대형 언어 모델에 입력하는 경우, '소재'와 연관된, 하지만 '가성비'와는 연관되지 않은 요약 문장이 생성될 수 있다. 다른 실시예에서, 카테고리에 대한 정보(912)로서, '별점'을 초대형 언어 모델에 입력하여 요약 문장을 생성하는 경우, 대표 문장들에 대한 요약 문장으로서 '★★★★☆'과 같은 별점이 생성될 수 있다.According to an embodiment, the
도 10은 본 개시의 일 실시예에 따라, 요약 문장의 진위 여부를 검증하고 요약 문장을 재생성하는 예시를 나타내는 도면이다. 도시된 바와 같이, 요약 대상(1010)을 기초로 생성된 제1 요약 문장(1020)이 요약 대상(1010)에 기재되지 않은 내용이 포함된 허위로 판정되는 경우, 프로세서는 greedy 옵션을 사용하여 요약 대상(1030)을 기초로 제2 요약 문장(1034)을 재생성할 수 있다. 이 때, 프로세서는 NLI 모델을 이용하여 요약 문장(1020)의 진위 여부를 판정할 수 있다.10 is a diagram illustrating an example of verifying authenticity of a summary sentence and regenerating the summary sentence according to an embodiment of the present disclosure. As shown, when the
일 실시예에 따르면, 프로세서는 4개의 대표 문장(1012, 1014, 1016, 1018) 중 임의의 2개의 문장과 제1 요약 문장(1020) 사이의 관계를 판정하고, 한 번이라도 함의 관계로 판정되면, 제1 요약 문장(1020)이 진실인 것으로 판정할 수 있다. 구체적으로, 프로세서는 (ⅰ) 제1 문장(1012) 및 제2 문장(1014), 그리고 제1 요약 문장(1020) 사이의 관계, (ⅱ) 제2 문장(1014) 및 제3 문장(1016), 그리고 제1 요약 문장(1020) 사이의 관계, (ⅲ) 제3 문장(1016) 및 제4 문장(1018), 그리고 제1 요약 문장(1020) 사이의 관계, (ⅳ) 제4 문장(1018) 및 제1 문장(1012), 그리고 제1 요약 문장(1020) 사이의 관계, (ⅴ) 제1 문장(1012) 및 제3 문장(1016), 그리고 제1 요약 문장(1020) 사이의 관계, (ⅵ) 제2 문장(1014) 및 제4 문장(1018), 그리고 제1 요약 문장(1020) 사이의 관계를 판정할 수 있다. 위 6개의 케이스 중 하나라도 함의 관계로 판정되는 경우, 프로세서는 제1 요약 문장(1020)이 진실인 것으로 판정할 수 있다. 반대로, 위 6개의 케이스 모두 함의 관계가 아닌 것으로 판정되는 경우, 프로세서는 제1 요약 문장(1020)이 허위인 것으로 판정할 수 있다.According to one embodiment, the processor determines a relationship between any two sentences among the four
도시된 것과 같이, greedy 옵션을 사용하여 재생성한 제2 요약 문장(1034)은 제1 요약 문장(1020)과 비교하여 4개의 대표 문장(1012, 1014, 1016, 1018) 중 적어도 하나와 보다 유사하게 생성될 수 있다. 구체적으로, 제2 요약 문장(1034)은 제3 문장(1016)과 유사하게 생성될 수 있으며, 프로세서는 제2 요약 문장(1034)이 진실인 것으로 판정할 수 있다. 이 경우, 프로세서는 제2 요약 문장(1034)을 요약 대상(1030)의 요약으로서 출력할 수 있다. 반면, 제2 요약 문장(1034)이 허위로 판정되는 경우, 프로세서는 제2 요약 문장(1034)을 출력하지 않을 수 있다.As shown, the
아래의 표 1은 요약 대상에 포함된 대표 문장 하나와 요약 문장 사이의 관계를 NLI 모델을 이용하여 판정한 경우의 신뢰도를 나타낸다.Table 1 below shows the reliability when the relationship between one representative sentence included in the summary target and the summary sentence is determined using the NLI model.
아래의 표 2는 요약 대상에 포함된 대표 문장 중 임의의 2개의 문장과 요약 문장 사이의 관계를 NLI 모델을 이용하여 판정한 경우의 신뢰도를 나타낸다.Table 2 below shows the reliability when the relationship between any two of the representative sentences included in the summary target and the summary sentence is determined using the NLI model.
위 표를 통해 확인할 수 있는 것과 같이, 요약 대상에 포함된 대표 문장을 2개씩 묶어서 요약 문장과 비교하여 진위 여부를 판정하는 경우에 더 높은 신뢰도를 얻을 수 있다.As can be seen from the table above, higher reliability can be obtained when the representative sentence included in the summary subject is grouped into two and compared with the summary sentence to determine authenticity.
도 11은 본 개시의 일 실시예에 따라, 요약 문장을 생성하기 위한 방법(1100)을 나타내는 흐름도이다. 방법(1100)은 정보 처리 시스템의 적어도 하나의 프로세서(또는 사용자 단말의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 일 실시예에 따르면, 방법(1100)은 프로세서가 제1 문장 세트가 포함된 문서를 수신함으로써 개시될 수 있다(S1110). 일 실시예에서, 문서는 특정 제품과 연관된 복수의 사용자 리뷰를 포함할 수 있다. 다른 실시예에서, 문서는 다수의 문장으로 이루어진 문서(예를 들어, 소설, 뉴스 기사, 논문 등)를 포함할 수 있다.11 is a flow diagram illustrating a
일 실시예에 따르면, 프로세서는 제1 문장 세트를 카테고리 분석기에 입력하여 제1 카테고리에 속하는 제2 문장 세트를 추출할 수 있다(S1120). 여기서, 제2 문장 세트는 제1 문장 세트의 서브 세트일 수 있다.According to an embodiment, the processor may extract a second sentence set belonging to the first category by inputting the first sentence set to the category analyzer (S1120). Here, the second sentence set may be a subset of the first sentence set.
그 후, 프로세서는 제1 카테고리에 속하는 제2 문장 세트를 제1 클러스터 세트로 클러스터링할 수 있다(S1130). 일 실시예에서, 프로세서는 문장의 길이, 문장 내 제1 카테고리와 연관된 부분의 길이, 중복 형태소 존재 여부 또는 기호 포함 여부 중 적어도 하나에 기초하여 제2 문장 세트 각각의 스코어를 판정하고, 제2 문장 세트 중 미리 결정된 임계치 이상의 스코어를 가지는 문장을 제1 클러스터 세트로 클러스터링할 수 있다. 이와 같은 구성에 의해, 짧은 문장, 카테고리와 연관된 부분이 적은 문장, 무의미한 표현이 반복되는 문장을 필터링할 수 있다.Then, the processor may cluster the second sentence set belonging to the first category into the first cluster set (S1130). In one embodiment, the processor determines a score for each of the second set of sentences based on at least one of a length of the sentence, a length of a portion associated with the first category in the sentence, whether a redundant morpheme is present, or whether a symbol is included, and the second sentence Among the sets, sentences having scores higher than a predetermined threshold may be clustered into the first cluster set. With this configuration, it is possible to filter short sentences, sentences with few parts related to categories, and sentences in which meaningless expressions are repeated.
프로세서는 제1 클러스터 세트로부터 제3 문장 세트를 추출할 수 있다(S1140). 여기서, 제3 문장 세트는 제2 문장 세트의 서브 세트일 수 있다. 예를 들어, 프로세서는 제1 클러스터 세트 각각에서 한 문장씩 추출할 수 있다. 대안적으로, 프로세서는 클러스터 크기에 기초하여, 제1 클러스터 세트 중 상위 n개(n은 2 이상)의 클러스터를 선정하고, 선정된 상위 n개의 클러스터 각각에서 한 문장씩 추출할 수 있다. 속도와 성능을 고려하여 n은 4일 수 있다.The processor may extract a third sentence set from the first cluster set (S1140). Here, the third sentence set may be a subset of the second sentence set. For example, the processor may extract one sentence from each of the first cluster sets. Alternatively, the processor may select top n clusters (n is 2 or more) from the first cluster set based on the cluster size, and extract one sentence from each of the selected top n clusters. Considering speed and performance, n may be 4.
프로세서는 제3 문장 세트를 언어 모델에 입력하여 문서의 제1 카테고리와 연관된 제1 요약 문장을 생성할 수 있다(S1150). 여기서, 제3 문장 세트는 문장 길이를 기준으로 오름차순 정렬되어 언어 모델에 입력될 수 있다. 예를 들어, 프로세서는 언어 모델에 제3 문장 세트와 제1 카테고리와 연관된 요약 샘플을 함께 입력하여 제1 카테고리와 연관된 요약 문장을 생성할 수 있다. 다른 예에서, 프로세서는 언어 모델에 제1 카테고리에 대한 정보를 더 입력하여 제1 카테고리와 연관된 요약 문장을 생성할 수 있다.The processor may generate a first summary sentence associated with the first category of the document by inputting the third sentence set to the language model (S1150). Here, the third sentence set may be input to the language model after being sorted in ascending order based on sentence length. For example, the processor may generate a summary sentence associated with the first category by inputting the third sentence set and the summary sample associated with the first category together to the language model. In another example, the processor may generate a summary sentence related to the first category by further inputting information about the first category to the language model.
도 11에서 도시한 흐름도 및 상술한 설명은 하나의 예시일 뿐이며, 일부 실시예에서는 하나 이상의 단계가 동시에 수행되거나, 하나 이상의 단계가 여러 번 반복 수행될 수 있다. 예를 들어, 프로세서는 제1 문장 세트를 카테고리 분석기에 입력하여 복수의 카테고리 각각에 속하는 문장들을 추출할 수 있다. 구체적으로, 프로세서는 제1 문장 세트를 카테고리 분석기에 입력하여 제2 카테고리에 속하는 제4 문장 세트를 추출할 수 있다. 여기서, 제4 문장 세트는 제1 문장 세트의 서브 세트일 수 있다. 그 후, 프로세서는 제2 카테고리에 속하는 제4 문장 세트를 제2 클러스터 세트로 클러스터링 하고, 제2 클러스터 세트로부터 제5 문장 세트를 추출할 수 있다. 여기서, 제5 문장 세트는 제4 문장 세트의 서브 세트일 수 있다. 그리고, 프로세서는 제5 문장 세트를 언어 모델에 입력하여 문서의 제2 카테고리와 연관된 제2 요약 문장을 생성할 수 있다.The flowchart shown in FIG. 11 and the above description are only examples, and in some embodiments, one or more steps may be performed simultaneously or one or more steps may be repeatedly performed multiple times. For example, the processor may input the first sentence set to the category analyzer and extract sentences belonging to each of a plurality of categories. Specifically, the processor may input the first sentence set to the category analyzer and extract a fourth sentence set belonging to the second category. Here, the fourth sentence set may be a subset of the first sentence set. Then, the processor may cluster the fourth sentence set belonging to the second category into the second cluster set, and extract the fifth sentence set from the second cluster set. Here, the fifth sentence set may be a subset of the fourth sentence set. And, the processor may generate a second summary sentence associated with the second category of the document by inputting the fifth set of sentences to the language model.
도 12는 본 개시의 일 실시예에 따라, 요약 대상이 포함된 요약 문장을 재생성하기 위한 방법(1200)을 나타내는 흐름도이다. 방법(1200)은 정보 처리 시스템의 적어도 하나의 프로세서(또는 사용자 단말의 적어도 하나의 프로세서)에 의해 수행될 수 있다. 일 실시예에 따르면, 방법(1200)은 프로세서가 요약 문장을 생성함으로써 개시될 수 있다(S1210). 예를 들어, 요약 문장은 방법(1100)에 따라 생성된 제1 요약 문장일 수 있다.12 is a flow diagram illustrating a
프로세서는 제1 요약 문장과 제3 문장 세트를 팩트 체크부에 입력하여, 제1 요약 문장의 진위 여부를 검증할 수 있다(S1220). 이 때, 팩트 체크부는 NLI 모델을 이용하여 제3 문장 세트와 제1 요약 문장 사이의 관계를 판정할 수 있다. 구체적으로, 팩트 체크부는 제3 문장 세트 중 2개의 문장과 제1 요약 문장 사이의 관계를 판정할 수 있다. 여기서, 제3 문장 세트와 제1 요약 문장이 함의 관계가 아닌 것으로 판정하는 것에 응답하여, 프로세서는 제1 요약 문장을 허위로 판정할 수 있다.The processor may verify the authenticity of the first summary sentence by inputting the first summary sentence and the third sentence set to the fact check unit (S1220). In this case, the fact checker may determine a relationship between the third sentence set and the first summary sentence by using the NLI model. Specifically, the fact checker may determine a relationship between two sentences of the third sentence set and the first summary sentence. Here, in response to determining that the third set of sentences and the first summary sentence do not have a connotational relationship, the processor may determine the first summary sentence to be false.
제1 카테고리와 연관된 요약 문장이 허위로 판정된 경우, 프로세서는 제3 문장 세트를 언어 모델에 입력하여 제1 요약 문장을 재생성할 수 있다(S1260). 이 때, 재생성된 제1 요약 문장은 제1 요약 문장과 비교하여 제3 문장 세트 중 적어도 하나와 보다 유사하게 생성될 수 있다. 예를 들어, 프로세서는 언어 모델의 greedy 옵션을 사용하여 요약 문장을 재생성할 수 있다.If the summary sentence associated with the first category is determined to be false, the processor may regenerate the first summary sentence by inputting the third sentence set to the language model (S1260). In this case, the regenerated first summary sentence may be generated more similar to at least one of the third sentence set compared to the first summary sentence. For example, a processor can use the language model's greedy option to regenerate summary sentences.
그 후, 프로세서는 재생성된 제1 요약 문장과 제3 문장 세트를 팩트 체크부에 입력하여, 재생성된 제1 요약 문장의 진위 여부를 검증할 수 있다(S1270). 재생성된 제1 요약 문장이 허위로 판정된 경우, 프로세서는 재생성된 제1 요약 문장을 출력하지 않을 수 있다(S1280).After that, the processor may input the regenerated first summary sentence and the third sentence set to the fact check unit to verify the authenticity of the regenerated first summary sentence (S1270). If the regenerated first summary sentence is determined to be false, the processor may not output the regenerated first summary sentence (S1280).
S1210에서 최초로 생성된 제1 요약 문장 또는 S1260에서 재생성된 제1 요약 문장이 진실로 판정된 경우, 프로세서는 제1 요약 문장(또는 재생성된 제1 요약 문장)이 정상적인 문장인지 여부를 판정할 수 있다(S1230). 제1 요약 문장이 정상적이지 않은 문장으로 판정된 경우, 프로세서는 제1 요약 문장을 언어 모델에 입력하여 보정(S1240)하고, 보정된 제1 요약 문장을 출력할 수 있다(S1250). 반면, 제1 요약 문장이 정상적인 문장으로 판정된 경우, 프로세서는 최초로 생성된 제1 요약 문장(또는 재생성된 제1 요약 문장)을 출력할 수 있다(S1250).If the first summary sentence first generated in S1210 or the first summary sentence regenerated in S1260 is determined to be true, the processor may determine whether the first summary sentence (or the regenerated first summary sentence) is a normal sentence ( S1230). When the first summary sentence is determined to be an abnormal sentence, the processor may correct the first summary sentence by inputting it to the language model (S1240), and output the corrected first summary sentence (S1250). On the other hand, if the first summary sentence is determined to be a normal sentence, the processor may output the initially generated first summary sentence (or regenerated first summary sentence) (S1250).
도 12에서 도시한 흐름도 및 상술한 설명은 하나의 예시일 뿐이며, 일부 실시예에서는 하나 이상의 단계가 동시에 수행되거나, 하나 이상의 단계가 여러 번 반복 수행될 수 있다.The flowchart shown in FIG. 12 and the above description are only examples, and in some embodiments, one or more steps may be performed simultaneously or one or more steps may be repeatedly performed multiple times.
상술한 방법은 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램으로 제공될 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록 수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The above method may be provided as a computer program stored in a computer readable recording medium to be executed on a computer. The medium may continuously store programs executable by a computer or temporarily store them for execution or download. In addition, the medium may be various recording means or storage means in the form of a single or combined hardware, but is not limited to a medium directly connected to a certain computer system, and may be distributed on a network. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto optical media such as floptical disks, and Anything configured to store program instructions may include a ROM, RAM, flash memory, or the like. In addition, examples of other media include recording media or storage media managed by an app store that distributes applications, a site that supplies or distributes various other software, and a server.
본 개시의 방법, 동작 또는 기법들은 다양한 수단에 의해 구현될 수도 있다. 예를 들어, 이러한 기법들은 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 본원의 개시와 연계하여 설명된 다양한 예시적인 논리적 블록들, 모듈들, 회로들, 및 알고리즘 단계들은 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있음을 통상의 기술자들은 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 대체를 명확하게 설명하기 위해, 다양한 예시적인 구성요소들, 블록들, 모듈들, 회로들, 및 단계들이 그들의 기능적 관점에서 일반적으로 위에서 설명되었다. 그러한 기능이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는 지의 여부는, 특정 애플리케이션 및 전체 시스템에 부과되는 설계 요구사항들에 따라 달라진다. 통상의 기술자들은 각각의 특정 애플리케이션을 위해 다양한 방식들로 설명된 기능을 구현할 수도 있으나, 그러한 구현들은 본 개시의 범위로부터 벗어나게 하는 것으로 해석되어서는 안된다.The methods, acts or techniques of this disclosure may be implemented by various means. For example, these techniques may be implemented in hardware, firmware, software, or combinations thereof. Those skilled in the art will appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchange of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and the design requirements imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementations should not be interpreted as causing a departure from the scope of the present disclosure.
하드웨어 구현에서, 기법들을 수행하는 데 이용되는 프로세싱 유닛들은, 하나 이상의 ASIC들, DSP들, 디지털 신호 프로세싱 디바이스들(digital signal processing devices; DSPD들), 프로그램가능 논리 디바이스들(programmable logic devices; PLD들), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays; FPGA들), 프로세서들, 제어기들, 마이크로제어기들, 마이크로프로세서들, 전자 디바이스들, 본 개시에 설명된 기능들을 수행하도록 설계된 다른 전자 유닛들, 컴퓨터, 또는 이들의 조합 내에서 구현될 수도 있다.In a hardware implementation, the processing units used to perform the techniques may include one or more ASICs, DSPs, digital signal processing devices (DSPDs), programmable logic devices (PLDs) ), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, electronic devices, and other electronic units designed to perform the functions described in this disclosure. , a computer, or a combination thereof.
따라서, 본 개시와 연계하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 및 회로들은 범용 프로세서, DSP, ASIC, FPGA나 다른 프로그램 가능 논리 디바이스, 이산 게이트나 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본원에 설명된 기능들을 수행하도록 설계된 것들의 임의의 조합으로 구현되거나 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 프로세서는 또한, 컴퓨팅 디바이스들의 조합, 예를 들면, DSP와 마이크로프로세서, 복수의 마이크로프로세서들, DSP 코어와 연계한 하나 이상의 마이크로프로세서들, 또는 임의의 다른 구성의 조합으로서 구현될 수도 있다.Accordingly, the various illustrative logical blocks, modules, and circuits described in connection with this disclosure may be incorporated into a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or may be implemented or performed in any combination of those designed to perform the functions described in A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, eg, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other configuration.
펌웨어 및/또는 소프트웨어 구현에 있어서, 기법들은 랜덤 액세스 메모리(random access memory; RAM), 판독 전용 메모리(read-only memory; ROM), 비휘발성 RAM(non-volatile random access memory; NVRAM), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable PROM), 플래시 메모리, 컴팩트 디스크(compact disc; CD), 자기 또는 광학 데이터 스토리지 디바이스 등과 같은 컴퓨터 판독가능 매체 상에 저장된 명령들로서 구현될 수도 있다. 명령들은 하나 이상의 프로세서들에 의해 실행 가능할 수도 있고, 프로세서(들)로 하여금 본 개시에 설명된 기능의 특정 양태들을 수행하게 할 수도 있다.In firmware and/or software implementation, the techniques include random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), PROM ( on a computer readable medium, such as programmable read-only memory (EPROM), erasable programmable read-only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, compact disc (CD), magnetic or optical data storage device, or the like. It can also be implemented as stored instructions. Instructions may be executable by one or more processors and may cause the processor(s) to perform certain aspects of the functionality described in this disclosure.
소프트웨어로 구현되는 경우, 상기 기법들은 하나 이상의 명령들 또는 코드로서 컴퓨터 판독 가능한 매체 상에 저장되거나 또는 컴퓨터 판독 가능한 매체를 통해 전송될 수도 있다. 컴퓨터 판독가능 매체들은 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하여 컴퓨터 저장 매체들 및 통신 매체들 양자를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체들일 수도 있다. 비제한적인 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스들, 또는 소망의 프로그램 코드를 명령들 또는 데이터 구조들의 형태로 이송 또는 저장하기 위해 사용될 수 있으며 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속이 컴퓨터 판독가능 매체로 적절히 칭해진다.If implemented in software, the techniques may be stored on or transmitted over as one or more instructions or code on a computer readable medium. Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of non-limiting example, such computer readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or desired program code in the form of instructions or data structures. It can be used for transport or storage to and can include any other medium that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium.
예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선 (DSL), 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버, 또는 다른 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 연선, 디지털 가입자 회선, 또는 적외선, 무선, 및 마이크로파와 같은 무선 기술들은 매체의 정의 내에 포함된다. 본원에서 사용된 디스크(disk) 와 디스크(disc)는, CD, 레이저 디스크, 광 디스크, DVD(digital versatile disc), 플로피디스크, 및 블루레이 디스크를 포함하며, 여기서 디스크들(disks)은 보통 자기적으로 데이터를 재생하고, 반면 디스크들(discs) 은 레이저를 이용하여 광학적으로 데이터를 재생한다. 위의 조합들도 컴퓨터 판독가능 매체들의 범위 내에 포함되어야 한다.For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, the coaxial cable , fiber optic cable, twisted pair, digital subscriber line, or wireless technologies such as infrared, radio, and microwave are included within the definition of medium. Disk and disc as used herein include CD, laser disc, optical disc, digital versatile disc (DVD), floppy disk, and blu-ray disc, where disks are usually magnetic data is reproduced optically, whereas discs reproduce data optically using a laser. Combinations of the above should also be included within the scope of computer readable media.
소프트웨어 모듈은, RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드 디스크, 이동식 디스크, CD-ROM, 또는 공지된 임의의 다른 형태의 저장 매체 내에 상주할 수도 있다. 예시적인 저장 매체는, 프로세가 저장 매체로부터 정보를 판독하거나 저장 매체에 정보를 기록할 수 있도록, 프로세서에 연결될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 내에 존재할 수도 있다. ASIC은 유저 단말 내에 존재할 수도 있다. 대안으로, 프로세서와 저장 매체는 유저 단말에서 개별 구성요소들로서 존재할 수도 있다.A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium can be coupled to the processor such that the processor can read information from or write information to the storage medium. Alternatively, the storage medium may be integral to the processor. The processor and storage medium may reside within an ASIC. An ASIC may exist within a user terminal. Alternatively, the processor and storage medium may exist as separate components in a user terminal.
이상 설명된 실시예들이 하나 이상의 독립형 컴퓨터 시스템에서 현재 개시된 주제의 양태들을 활용하는 것으로 기술되었으나, 본 개시는 이에 한정되지 않고, 네트워크나 분산 컴퓨팅 환경과 같은 임의의 컴퓨팅 환경과 연계하여 구현될 수도 있다. 또 나아가, 본 개시에서 주제의 양상들은 복수의 프로세싱 칩들이나 장치들에서 구현될 수도 있고, 스토리지는 복수의 장치들에 걸쳐 유사하게 영향을 받게 될 수도 있다. 이러한 장치들은 PC들, 네트워크 서버들, 및 휴대용 장치들을 포함할 수도 있다.Although the embodiments described above have been described as utilizing aspects of the presently-disclosed subject matter in one or more stand-alone computer systems, the disclosure is not limited thereto and may be implemented in conjunction with any computing environment, such as a network or distributed computing environment. . Further, aspects of the subject matter in this disclosure may be implemented in a plurality of processing chips or devices, and storage may be similarly affected across multiple devices. These devices may include PCs, network servers, and portable devices.
본 명세서에서는 본 개시가 일부 실시예들과 관련하여 설명되었지만, 본 개시의 발명이 속하는 기술분야의 통상의 기술자가 이해할 수 있는 본 개시의 범위를 벗어나지 않는 범위에서 다양한 변형 및 변경이 이루어질 수 있다. 또한, 그러한 변형 및 변경은 본 명세서에 첨부된 특허청구의 범위 내에 속하는 것으로 생각되어야 한다.Although the present disclosure has been described in relation to some embodiments in this specification, various modifications and changes may be made without departing from the scope of the present disclosure that can be understood by those skilled in the art. Moreover, such modifications and variations are intended to fall within the scope of the claims appended hereto.
110: 사용자
120: 사용자 단말
210: 사용자 단말
220: 네트워크
230: 정보 처리 시스템
240: 초대형 언어 모델110: user 120: user terminal
210: user terminal 220: network
230: information processing system 240: very large language model
Claims (17)
제1 문장 세트가 포함된 문서를 수신하는 단계;
상기 제1 문장 세트를 카테고리 분석기에 입력하여 제1 카테고리에 속하는 제2 문장 세트를 추출하는 단계 - 상기 제2 문장 세트는 상기 제1 문장 세트의 서브 세트임 -;
상기 제1 카테고리에 속하는 상기 제2 문장 세트를 제1 클러스터 세트로 클러스터링 하는 단계;
상기 제1 클러스터 세트로부터 제3 문장 세트를 추출하는 단계 - 상기 제3 문장 세트는 상기 제2 문장 세트의 서브 세트임 -; 및
상기 제3 문장 세트를 언어 모델에 입력하여 상기 문서의 제1 카테고리와 연관된 제1 요약 문장을 생성하는 단계
를 포함하는, 문서 요약 방법.A document summarization method, performed by at least one processor, comprising:
receiving a document including a first set of sentences;
inputting the first sentence set to a category analyzer and extracting a second sentence set belonging to a first category, wherein the second sentence set is a subset of the first sentence set;
clustering the second sentence set belonging to the first category into a first cluster set;
extracting a third sentence set from the first cluster set, the third sentence set being a subset of the second sentence set; and
generating a first summary sentence associated with a first category of the document by inputting the third set of sentences into a language model;
Including, document summary method.
상기 제1 문장 세트를 카테고리 분석기에 입력하여 제2 카테고리에 속하는 제4 문장 세트를 추출하는 단계 - 상기 제4 문장 세트는 상기 제1 문장 세트의 서브 세트임 -;
상기 제2 카테고리에 속하는 상기 제4 문장 세트를 제2 클러스터 세트로 클러스터링 하는 단계;
상기 제2 클러스터 세트로부터 제5 문장 세트를 추출하는 단계 - 상기 제5 문장 세트는 상기 제4 문장 세트의 서브 세트임 -; 및
상기 제5 문장 세트를 상기 언어 모델에 입력하여 상기 문서의 제2 카테고리와 연관된 제2 요약 문장을 생성하는 단계
를 더 포함하는, 문서 요약 방법.According to claim 1,
inputting the first sentence set to a category analyzer and extracting a fourth sentence set belonging to a second category, wherein the fourth sentence set is a subset of the first sentence set;
clustering the fourth sentence set belonging to the second category into a second cluster set;
extracting a fifth sentence set from the second cluster set, the fifth sentence set being a subset of the fourth sentence set; and
generating a second summary sentence associated with a second category of the document by inputting the fifth set of sentences to the language model;
Further comprising a document summary method.
상기 제2 문장 세트를 제1 클러스터 세트로 클러스터링 하는 단계는,
문장의 길이, 문장 내 상기 제1 카테고리와 연관된 부분의 길이, 중복 형태소 존재 여부 또는 기호 포함 여부 중 적어도 하나에 기초하여 상기 제2 문장 세트 각각의 스코어를 판정하는 단계; 및
상기 제2 문장 세트 중 미리 결정된 임계치 이상의 스코어를 가지는 문장을 제1 클러스터 세트로 클러스터링 하는 단계
를 포함하는, 문서 요약 방법.According to claim 1,
The step of clustering the second sentence set into a first cluster set,
determining a score of each of the second sentence sets based on at least one of a sentence length, a length of a part associated with the first category in the sentence, whether a redundant morpheme exists, or whether a symbol is included; and
Clustering sentences having a score equal to or higher than a predetermined threshold among the second sentence set into a first cluster set.
Including, document summary method.
상기 제3 문장 세트를 추출하는 단계는,
상기 제1 클러스터 세트 각각에서 한 문장씩 추출하는 단계
를 포함하는, 문서 요약 방법.According to claim 1,
Extracting the third set of sentences,
extracting one sentence from each of the first cluster set;
Including, document summary method.
상기 제3 문장 세트를 추출하는 단계는,
클러스터 크기에 기초하여, 상기 제1 클러스터 세트 중 상위 n개(n은 2 이상)의 클러스터를 선정하는 단계; 및
상기 선정된 상위 n개의 클러스터 각각에서 한 문장씩 추출하는 단계
를 포함하는, 문서 요약 방법.According to claim 1,
Extracting the third set of sentences,
selecting top n clusters (n is 2 or more) from the first cluster set based on the cluster size; and
Extracting one sentence from each of the selected top n clusters
Including, document summary method.
상기 제3 문장 세트는 문장 길이를 기준으로 오름차순 정렬되어 상기 언어 모델에 입력되는, 문서 요약 방법.According to claim 1,
The third sentence set is sorted in ascending order based on sentence length and input to the language model.
상기 제1 카테고리와 연관된 요약 문장은 상기 언어 모델에 상기 제3 문장 세트와 상기 제1 카테고리와 연관된 요약 샘플을 함께 입력하여 생성되는, 문서 요약 방법.According to claim 1,
The summary sentence associated with the first category is generated by inputting the third sentence set and a summary sample associated with the first category together into the language model.
상기 제1 카테고리와 연관된 요약 문장은 상기 언어 모델에 상기 제3 문장 세트, 상기 제1 카테고리와 연관된 요약 샘플 및 상기 제1 카테고리에 대한 정보를 입력하여 생성되는, 문서 요약 방법.According to claim 1,
The summary sentence associated with the first category is generated by inputting the third sentence set, a summary sample associated with the first category, and information about the first category to the language model.
상기 제1 요약 문장과 상기 제3 문장 세트를 팩트 체크부에 입력하여, 상기 제1 요약 문장의 진위 여부를 검증하는 단계; 및
상기 제1 카테고리와 연관된 요약 문장이 허위로 판정되는 것에 응답하여, 상기 제3 문장 세트를 언어 모델에 입력하여 상기 제1 요약 문장을 재생성하는 단계
를 더 포함하는, 문서 요약 방법.According to claim 1,
verifying whether the first summary sentence is authentic by inputting the first summary sentence and the third set of sentences to a fact check unit; and
Regenerating the first summary sentence by inputting the third set of sentences to a language model in response to determining that the summary sentence associated with the first category is false.
Further comprising a document summary method.
상기 제1 카테고리와 연관된 요약 문장의 진위 여부를 검증하는 단계는,
자연어 추론(NLI: Natural Language Inference) 모델을 이용하여 상기 제3 문장 세트와 상기 제1 요약 문장 사이의 관계를 판정하는 단계; 및
상기 제3 문장 세트와 상기 제1 요약 문장이 함의 관계(entailment)가 아닌 것으로 판정하는 것에 응답하여, 상기 제1 요약 문장을 허위로 판정하는 단계
를 포함하는, 문서 요약 방법.According to claim 9,
The step of verifying whether the summary sentence associated with the first category is authentic,
determining a relationship between the third set of sentences and the first summary sentence using a natural language inference (NLI) model; and
In response to determining that the third set of sentences and the first summary sentence are not entailment, determining the first summary sentence to be false.
Including, document summary method.
상기 팩트 체크부는 상기 제3 문장 세트 중 2개의 문장과 상기 제1 요약 문장 사이의 관계를 판정하는, 문서 요약 방법.According to claim 10,
Wherein the fact checker determines a relationship between two sentences of the third set of sentences and the first summary sentence.
상기 재생성된 제1 요약 문장은 상기 제1 요약 문장과 비교하여 상기 제3 문장 세트 중 적어도 하나와 보다 유사하게 생성된, 문서 요약 방법.According to claim 9,
wherein the regenerated first summary sentence is generated more similar to at least one of the third set of sentences compared to the first summary sentence.
상기 재생성된 제1 요약 문장과 상기 제3 문장 세트를 상기 팩트 체크부에 입력하여, 상기 재생성된 제1 요약 문장의 진위 여부를 검증하는 단계; 및
상기 제1 요약 문장이 진실로 판정되는 것에 응답하여, 상기 재생성된 제1 요약 문장을 출력하는 단계
를 더 포함하는, 문서 요약 방법.According to claim 12,
verifying authenticity of the regenerated first summary sentence by inputting the regenerated first summary sentence and the third sentence set to the fact check unit; and
In response to determining that the first summary sentence is true, outputting the regenerated first summary sentence.
Further comprising a document summary method.
상기 제1 요약 문장이 정상적인 문장인지 여부를 판정하는 단계; 및
상기 제1 요약 문장이 정상적이지 않은 문장으로 판정하는 것에 응답하여, 상기 제1 요약 문장을 상기 언어 모델에 입력하여 보정하는 단계
를 더 포함하는, 문서 요약 방법.According to claim 1,
determining whether the first summary sentence is a normal sentence; and
Correcting the first summary sentence by inputting the first summary sentence to the language model in response to determining that the first summary sentence is an abnormal sentence.
Further comprising a document summary method.
상기 문서는 특정 제품과 연관된 복수의 사용자 리뷰를 포함하고,
상기 제1 요약 문장은 상기 언어 모델에 상기 제3 문장 세트, 상기 제1 카테고리와 연관된 요약 샘플, 상기 제1 카테고리에 대한 정보 및 상기 특정 제품의 명칭을 입력하여 생성되는, 문서 요약 방법.According to claim 1,
the document includes a plurality of user reviews associated with a particular product;
Wherein the first summary sentence is generated by inputting the third sentence set, a summary sample associated with the first category, information on the first category, and the name of the specific product to the language model.
통신 모듈;
메모리; 및
상기 메모리와 연결되고, 상기 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로그램은,
제1 문장 세트가 포함된 문서를 수신하고,
상기 제1 문장 세트를 카테고리 분석기에 입력하여 제1 카테고리에 속하는 제2 문장 세트를 추출하고 - 상기 제2 문장 세트는 상기 제1 문장 세트의 서브 세트임 -,
상기 제1 카테고리에 속하는 상기 제2 문장 세트를 제1 클러스터 세트로 클러스터링 하고,
상기 제1 클러스터 세트로부터 제3 문장 세트를 추출하고 - 상기 제3 문장 세트는 상기 제2 문장 세트의 서브 세트임 -,
상기 제3 문장 세트를 언어 모델에 입력하여 상기 문서의 제1 카테고리와 연관된 제1 요약 문장을 생성하기 위한 명령어들을 포함하는, 문서 요약 시스템.As a document summary system,
communication module;
Memory; and
at least one processor connected to the memory and configured to execute at least one computer readable program contained in the memory
including,
The at least one program,
Receive a document containing a first set of sentences;
inputting the first sentence set to a category analyzer to extract a second sentence set belonging to the first category, the second sentence set being a subset of the first sentence set;
clustering the second set of sentences belonging to the first category into a first cluster set;
extracting a third set of sentences from the first set of clusters, the third set of sentences being a subset of the second set of sentences;
and instructions for inputting the third set of sentences into a language model to generate a first summary sentence associated with the first category of the document.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210131209A KR20230047849A (en) | 2021-10-01 | 2021-10-01 | Method and system for summarizing document using hyperscale language model |
JP2021195146A JP7246458B1 (en) | 2021-10-01 | 2021-12-01 | Document summarization method and system using huge language model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210131209A KR20230047849A (en) | 2021-10-01 | 2021-10-01 | Method and system for summarizing document using hyperscale language model |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230047849A true KR20230047849A (en) | 2023-04-10 |
Family
ID=85716971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210131209A KR20230047849A (en) | 2021-10-01 | 2021-10-01 | Method and system for summarizing document using hyperscale language model |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7246458B1 (en) |
KR (1) | KR20230047849A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102661438B1 (en) | 2023-11-14 | 2024-04-29 | (주)미래융합정보기술 | Web crawler system that collect Internet articles and provides a summary service of issue article affecting the global value chain |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005196572A (en) * | 2004-01-08 | 2005-07-21 | Japan Science & Technology Agency | Summary making method of multiple documents |
US20200251192A1 (en) * | 2019-01-31 | 2020-08-06 | Canon Medical Systems Corporation | Medical display system and method |
WO2021191938A1 (en) * | 2020-03-23 | 2021-09-30 | 日本電信電話株式会社 | Abstract generation device, abstract generation method, and program |
CN113392641B (en) * | 2020-10-26 | 2024-07-12 | 腾讯科技(深圳)有限公司 | Text processing method, device, storage medium and equipment |
CN112632228A (en) * | 2020-12-30 | 2021-04-09 | 深圳供电局有限公司 | Text mining-based auxiliary bid evaluation method and system |
CN113220964B (en) * | 2021-04-01 | 2024-03-22 | 国家计算机网络与信息安全管理中心 | Viewpoint mining method based on short text in network message field |
-
2021
- 2021-10-01 KR KR1020210131209A patent/KR20230047849A/en not_active Application Discontinuation
- 2021-12-01 JP JP2021195146A patent/JP7246458B1/en active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102661438B1 (en) | 2023-11-14 | 2024-04-29 | (주)미래융합정보기술 | Web crawler system that collect Internet articles and provides a summary service of issue article affecting the global value chain |
Also Published As
Publication number | Publication date |
---|---|
JP7246458B1 (en) | 2023-03-27 |
JP2023053867A (en) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177569B (en) | Recommendation processing method, device and equipment based on artificial intelligence | |
US10606897B2 (en) | Aggregating personalized suggestions from multiple sources | |
WO2022057658A1 (en) | Method and apparatus for training recommendation model, and computer device and storage medium | |
US20180052824A1 (en) | Task identification and completion based on natural language query | |
KR102400995B1 (en) | Method and system for extracting product attribute for shopping search | |
EP3115907A1 (en) | Common data repository for improving transactional efficiencies of user interactions with a computing device | |
WO2022140900A1 (en) | Method and apparatus for constructing personal knowledge graph, and related device | |
US10318562B2 (en) | Triggering application information | |
CN105550217B (en) | Scene music searching method and scene music searching device | |
US8914398B2 (en) | Methods and apparatus for automated keyword refinement | |
KR20230047849A (en) | Method and system for summarizing document using hyperscale language model | |
US20220083579A1 (en) | Method and system for performing summarization of text | |
JP7108740B2 (en) | Product Category Extraction Method for Shopping Search | |
US20210319074A1 (en) | Method and system for providing trending search terms | |
CN111104572A (en) | Feature selection method and device for model training and electronic equipment | |
KR102315068B1 (en) | Method and system for determining document consistence to improve document search quality | |
US11853341B2 (en) | Systems and methods for generating interactable elements in text strings relating to media assets | |
KR102405896B1 (en) | Method and system for providing local search terms based on location | |
KR102426056B1 (en) | Method, system, and computer program for dedecting multimodal abusing pattern to select document | |
KR102611482B1 (en) | Method and system for providing marketing strategy model based on big data | |
KR102649675B1 (en) | Method and system for providing information using full-text index integrated graph data structure and vector data | |
WO2022053018A1 (en) | Text clustering system, method and apparatus, and device and medium | |
JP2023108590A (en) | Method, system, and computer program for personalized recommendation based on topic of interest | |
WO2022197522A1 (en) | Voice search refinement resolution | |
CN116992831A (en) | Statement processing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |