KR102540665B1 - 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법 - Google Patents

한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법 Download PDF

Info

Publication number
KR102540665B1
KR102540665B1 KR1020210049428A KR20210049428A KR102540665B1 KR 102540665 B1 KR102540665 B1 KR 102540665B1 KR 1020210049428 A KR1020210049428 A KR 1020210049428A KR 20210049428 A KR20210049428 A KR 20210049428A KR 102540665 B1 KR102540665 B1 KR 102540665B1
Authority
KR
South Korea
Prior art keywords
sentence
content
vectors
key
text
Prior art date
Application number
KR1020210049428A
Other languages
English (en)
Other versions
KR20220143229A (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 KR1020210049428A priority Critical patent/KR102540665B1/ko
Publication of KR20220143229A publication Critical patent/KR20220143229A/ko
Application granted granted Critical
Publication of KR102540665B1 publication Critical patent/KR102540665B1/ko

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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/258Heading extraction; Automatic titling; Numbering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation

Abstract

본 발명은 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법에 관한 것으로서, 일실시예에 따른 핵심문장 추출장치는 제목 내용과 본문 내용을 포함하는 자연어 데이터에서 제목 내용과 본문 내용 각각을 전처리하는 전처리부와, 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출하는 문장벡터 추출부 및 복수의 제2 문장벡터간의 텍스트랭크 값을 산출하고, 제1 문장벡터와 복수의 제2 문장벡터간의 코사인 유사도 값을 산출하며, 산출된 텍스트랭크 값과 산출된 코사인 유사도 값에 기초하여 핵심문장을 추출하는 핵심문장 추출부를 포함한다.

Description

한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법{APPARATUS AND METHOD EXTRACTING CORE SENTENCE BASED ON KOREAN LANGUAGE MODEL}
본 발명은 핵심문장 추출장치 및 그 방법에 관한 것으로, 보다 상세하게는 언어 모델에 기반하여 한국어 문서를 요약하는 기술적 사상에 관한 것이다.
현재 웹 서비스 발달로 인해 생성되는 문서의 양이 기하급수적으로 증가하고 있으며, 이로 인해 사용자들은 자신이 원하는 정보를 얻기 위해 많은 시간과 노력을 할애하고 있다.
문서 요약 기법은 사용자에게 문서의 핵심 문장을 추출해주는 기술로, 기존의 문서 요약 기법에는 "실시간 뉴스 기반의 이슈 분석을 위한 점증적 군집화 및 다중 문서 요약"(2019, 유홍연), "실시간 검색어를 활용한 특징 기반 뉴스 기사 요약 기법"(2017, 윤상민) 등이 있으며, 기존의 기법들은 형태소 분석에 기반한 단어의 빈도를 바탕으로 문장 벡터를 구성하는 점에 특징이 있다.
그러나, 교착어에 속하는 한국어의 특성상 단어의 변형이 무수히 많아 같은 의미의 단어임에도 불구하고 독립적인 빈도로 연산되는 경우가 많고, 같은 형태의 단어가 다른 의미를 갖는 경우도 종종 있기 때문에 단어의 빈도를 고려해 핵심문장을 추출한 기존의 방법에서 문서의 문맥을 고려하기에는 한계가 있었다.
또한, 기존의 기법들은 제목을 고려하지 않고 문서를 요약했는데 이러한 방법으로는 문서에서 전달하려는 내용을 반영하여 문서 요약을 할 수 없었다.
언어 모델은 가장 자연스러운 문장을 구성하기 위해 단어에 확률을 할당하는 모델이다. 최근의 언어 모델은 인공 신경망을 이용해 학습되어 사람을 뛰어넘는 성과를 보여주었다.
언어 모델의 학습 방식은 이전에 주어진 단어들을 기반으로 다음에 등장할 단어를 예측하는 방식 또는 주어진 양쪽 단어들을 바탕으로 중간의 단어를 예측하는 방식으로 구분할 수 있다. 각각의 세부적인 방식은 다르지만 두 가지 방식 모두 문맥을 고려하여 문장의 토큰을 분석할 때마다 앞/뒤 문맥을 지속적으로 반영해줄 수 있다.
상술한 특징을 바탕으로 여러 언어 모델은 다양한 언어의 자연어 처리 작업에서 뛰어난 성능을 보이고 있으며, 한국어에서도 그 성능이 입증되었다.
인공 신경망을 활용하여 학습된 언어 모델로 인코딩 된 문장은 문맥을 고려해 벡터로 변환된다는 특징을 가지는데, 아직까지 이러한 문맥과 문서의 제목을 함께 고려하여 문서의 핵심문장을 추출하고자 한 방법은 존재하지 않는다. 수많은 문서 내에서 품질이 좋은 핵심 문장을 추출하기 위해서는 단어 빈도수를 바탕으로 핵심 문장을 추출하고, 문서의 본문 내용만 고려해서 핵심 문장을 추출했던 기존의 방법에서 벗어나 언어 모델을 기반으로 문맥과 문서의 제목을 함께 고려한 핵심 문장 추출 기법의 개발이 필요하다.
한국등록특허 제10-2168504호, "텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법"
정보과학회논문지, 2019, vol.46, no.4, pp. 355-362 (8 pages), "실시간 뉴스 기반의 이슈 분석을 위한 점증적 군집화 및 다중 문서 요약" 한국정보과학회, 2017.06, 한국컴퓨터종합학술대회 논문집, 236 - 238 (3 pages), "실시간 검색어를 활용한 특징 기반 뉴스 기사 요약 기법"
본 발명은 언어 모델의 문장 인코딩 방식을 통해 문서 내 핵심 문장을 자동 추출하여 문서를 요약할 수 있는 핵심문장 추출장치 및 그 방법을 제공하고자 한다.
또한, 본 발명은 현재 이용 가능한 한국어 언어 모델을 문서 요약에 활용할 수 있는 핵심문장 추출장치 및 그 방법을 제공하고자 한다.
또한, 본 발명은 한국어 문서 요약을 통해 웹 상의 수많은 문서에 대한 접근의 편의성을 보장할 수 있는 핵심문장 추출장치 및 그 방법을 제공하고자 한다.
또한, 본 발명은 언어 모델을 기반으로 문서의 문맥과 제목을 함께 고려하여 문서 내 핵심문장을 추출하여, 문서 요약의 정확성을 향상시킬 수 있는 핵심문장 추출장치 및 그 방법을 제공하고자 한다.
본 발명의 일실시예에 따른 핵심문장 추출장치는 제목 내용과 본문 내용을 포함하는 자연어 데이터에서 제목 내용과 본문 내용 각각을 전처리하는 전처리부와, 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출하는 문장벡터 추출부 및 복수의 제2 문장벡터간의 텍스트랭크 값을 산출하고, 제1 문장벡터와 복수의 제2 문장벡터간의 코사인 유사도 값을 산출하며, 산출된 텍스트랭크 값과 산출된 코사인 유사도 값에 기초하여 핵심문장을 추출하는 핵심문장 추출부를 포함할 수 있다.
일측에 따르면, 전처리부는 제목 내용에 포함된 한자 및 특수문자 중 적어도 하나를 한글로 변환하는 전처리를 수행할 수 있다.
일측에 따르면, 전처리부는 제목 내용 및 본문 내용 중 적어도 하나에 포함된 대괄호, 대괄호 내부 문자, 소괄호, 소괄호 내부 문자, 이메일 대응되는 문자 및 URL(uniform resource locator) 중 적어도 하나의 요소를 제거할 수 있다.
일측에 따르면, 문장벡터 추출부는 사전 학습된 언어 모델에 기초하여 제목 내용이 인코딩된 제1 문장벡터와, 본문 내용이 인코딩된 복수의 제2 문장벡터를 추출할 수 있다.
일측에 따르면, 언어 모델은 전처리된 제목 내용과 전처리된 본문 내용 각각을 적어도 하나의 문장으로 구분하고, 구분된 문장을 토큰화하여 입력 데이터를 구성하며, 토큰화된 입력 데이터 각각에 대응되는 벡터를 추출할 수 있다.
일측에 따르면, 언어 모델은 입력 데이터를 구성하는 경우에, 특별 분류 토큰(special classification token; CLS)을 추가할 수 있다.
일측에 따르면, 언어 모델은 구분된 문장을 복수의 토큰으로 구분하며, 복수의 토큰으로 구분된 문장으로부터 복수의 토큰 각각에 대응되는 벡터를 추출하며, 추출된 벡터의 평균값을 제1 문장벡터 및 복수의 제2 문장벡터로 사용할 수 있다.
일측에 따르면, 핵심문장 추출부는 복수의 제2 문장벡터 각각을 그래프 노드로 설정하고, 복수의 제2 문장벡터간의 코사인 유사도 값을 그래프 엣지로 설정하여 제2 문장벡터간의 텍스트랭크 값을 산출할 수 있다.
일측에 따르면, 산출된 텍스트랭크 값에 따른 텍스트랭크의 기준순위를 설정하고, 산출된 코사인 유사도 값에 따른 코사인 유사도의 기준순위를 설정하며, 설정된 텍스트랭크의 기준순위와 코사인 유사도의 기준순위에 기초하여 핵심문장을 추출할 수 있다.
본 발명의 일실시예에 따른 핵심문장의 추출방법은 전처리부에서 제목 내용과 본문 내용으로 구분된 자연어 데이터에서 제목 내용과 본문 내용 각각을 전처리하는 단계와, 문장벡터 추출부에서 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출하는 단계 및 핵심문장 추출부에서 복수의 제2 문장벡터간의 텍스트랭크 값을 산출하고, 제1 문장벡터와 복수의 제2 문장벡터간의 코사인 유사도 값을 산출하며, 산출된 텍스트랭크 값과 산출된 코사인 유사도 값에 기초하여 핵심문장을 추출하는 단계를 포함할 수 있다.
일실시예에 따르면, 본 발명은 언어 모델의 문장 인코딩 방식을 통해 문서 내 핵심 문장을 자동 추출하여 문서를 요약할 수 있다.
일실시예에 따르면, 본 발명은 현재 이용 가능한 한국어 언어 모델을 문서 요약에 활용할 수 있다.
일실시예에 따르면, 본 발명은 한국어 문서 요약을 통해 웹 상의 수많은 문서에 대한 접근의 편의성을 보장할 수 있다.
일실시예에 따르면, 본 발명은 언어 모델을 기반으로 문서의 문맥과 제목을 함께 고려하여 문서 내 핵심문장을 추출하여, 문서 요약의 정확성을 향상시킬 수 있다.
도 1은 일실시예에 따른 핵심문장 추출장치를 설명하기 위한 도면이다.
도 2a 내지 도 2b는 일실시예에 따른 핵심문장 추출장치에서 전처리 과정을 수행하는 예시를 설명하기 위한 도면이다.
도 3a 내지 도 3b는 일실시예에 따른 핵심문장 추출장치에서 사전 학습된 언어 모델을 이용하여 문장벡터를 추출하는 예시를 설명하기 위한 도면이다.
도 4a 내지 도 4b는 일실시예에 따른 핵심문장 추출장치에서 텍스트랭크 연산 및 코사인 유사도 연산을 수행하는 예시를 설명하기 위한 도면이다.
도 5는 일실시예에 따른 핵심문장 추출장치에서 텍스트랭크의 기준순위 및 코사인 유사도의 기준순위를 이용하여 핵심문장을 추출하는 예시를 설명하기 위한 도면이다.
도 6은 일실시예에 따른 핵심문장 추출방법을 설명하기 위한 도면이다.
도 7은 일실시예에 따른 핵심문장 추출방법을 보다 구체적으로 설명하기 위한 도면이다.
도 8은 일실시예에 따른 핵심문장 추출방법에서 전처리하는 방법을 보다 구체적으로 설명하기 위한 도면이다.
이하, 본 문서의 다양한 실시 예들이 첨부된 도면을 참조하여 기재된다.
실시 예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다.
하기에서 다양한 실시 예들을 설명에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
그리고 후술되는 용어들은 다양한 실시 예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
본 문서에서, "A 또는 B" 또는 "A 및/또는 B 중 적어도 하나" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다.
"제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 해당 구성요소들을, 순서 또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에 "(기능적으로 또는 통신적으로) 연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다.
본 명세서에서, "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, 하드웨어적 또는 소프트웨어적으로 "~에 적합한," "~하는 능력을 가지는," "~하도록 변경된," "~하도록 만들어진," "~를 할 수 있는," 또는 "~하도록 설계된"과 상호 호환적으로(interchangeably) 사용될 수 있다.
어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다.
예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(예: CPU 또는 application processor)를 의미할 수 있다.
또한, '또는' 이라는 용어는 배타적 논리합 'exclusive or' 이기보다는 포함적인 논리합 'inclusive or' 를 의미한다.
즉, 달리 언급되지 않는 한 또는 문맥으로부터 명확하지 않는 한, 'x가 a 또는 b를 이용한다' 라는 표현은 포함적인 자연 순열들(natural inclusive permutations) 중 어느 하나를 의미한다.
상술한 구체적인 실시 예들에서, 발명에 포함되는 구성 요소는 제시된 구체적인 실시 예에 따라 단수 또는 복수로 표현되었다.
그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 상술한 실시 예들이 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 다양한 실시 예들이 내포하는 기술적 사상의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다.
그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니되며 후술하는 청구범위뿐만 아니라 이 청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 일실시예에 따른 핵심문장 추출장치를 설명하기 위한 도면이다.
도 1을 참조하면, 일실시예에 따른 핵심문장 추출장치(100)는 언어 모델의 문장 인코딩 방식을 통해 문서 내 핵심 문장을 자동 추출하여 문서를 요약할 수 있다.
또한, 핵심문장 추출장치(100)는 현재 이용 가능한 한국어 언어 모델을 문서 요약에 활용할 수 있다.
또한, 핵심문장 추출장치(100)는 한국어 문서 요약을 통해 웹 상의 수많은 문서에 대한 접근의 편의성을 보장할 수 있다.
또한, 핵심문장 추출장치(100)는 언어 모델을 기반으로 문서의 문맥과 제목을 함께 고려하여 문서 내 핵심문장을 추출하여, 문서 요약의 정확성을 향상시킬 수 있다.
이를 위해, 핵심문장 추출장치(100)는 전처리부(110), 문장벡터 추출부(120) 및 핵심문장 추출부(130)를 포함할 수 있다.
일실시예에 따른 전처리부(110)는 제목 내용과 본문 내용을 포함하는 자연어 데이터에서 제목 내용과 본문 내용 각각을 전처리할 수 있다.
예를 들면, 자연어 데이터는 한국어를 포함하는 문서 데이터로, 바람직하게는 뉴스 데이터일 수 있다.
또한, 자연어 데이터는 제목과 본문 내용을 구별할 수 있는 식별자를 포함할 수도 있다.
일측에 따르면, 전처리부(110)는 제목 내용에 포함된 한자 및 특수문자 중 적어도 하나를 한글로 변환하는 전처리를 수행할 수 있다. 예를 들면, 전처리부(110)는 제목 내용에 포함된 특수문자를 기설정된 한글로 변환하거나, 특수문자를 제거하는 전처리를 수행할 수 있다.
또한, 전처리부(110)는 제목 내용 및 본문 내용 중 적어도 하나에 포함된 대괄호, 대괄호 내부 문자, 소괄호, 소괄호 내부 문자, 이메일 대응되는 문자 및 URL(uniform resource locator) 중 적어도 하나의 요소를 제거할 수 있다.
구체적으로, 언어 모델은 문장 내 단어 간의 관계를 반영하는 모델로, 전처리부(110)는 단어를 벡터로 인코딩 할 때, 단어 간의 관계를 더 명확하게 반영할 수 있도록 문맥적인 요소 없이 등장하는 부분은 제거하고, 한국어 언어 모델을 사용하는 것을 고려하여 한글이 아닌 문자나 기호를 한글로 바꾸는 전처리를 진행할 수 있다.
바람직하게는, 전처리부(110)는 제목 내용과 본문 내용에 대한 전처리를 개별적으로 수행하여 정제된(전처리된) 데이터를 획득할 수 있다.
즉, 전처리부(110)는 제목 내용에 대하여 한자 및 특수문자를 한글로 변환하고, 문맥적인 요소 없이 등장하는 대괄호 및 대괄호 내부 문자를 제거하는 전처리 과정을 수행할 수 있다.
또한, 전처리부(110)는 본문 내용에 대하여 문맥적인 요소 없이 등장하는 대괄호, 대괄호 내부 문자, 소괄호, 소괄호 내부 문자, 이메일 및 URL에 대응되는 요소들을 모두 제거하는 전처리 과정을 수행할 수 있다.
일실시예에 따른 문장벡터 추출부(120)는 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출할 수 있다.
다시 말해, 문장벡터 추출부(120)는 사전 학습된 언어 모델에 기초하여 제목 내용이 인코딩된 적어도 하나의 제1 문장벡터와, 본문 내용이 인코딩된 복수의 제2 문장벡터를 추출할 수 있다.
예를 들면, 문장벡터 추출부(120)는 전처리된 제목 내용과 전처리된 본문 내용을 문장 단위로 분할하고, 분할된 문장에 각각 대응되는 제1 문장벡터와 복수의 제2 문장벡터를 추출할 수 있다.
일측에 따르면, 언어 모델은 전처리된 제목 내용과 전처리된 본문 내용 각각을 적어도 하나의 문장으로 구분하고, 구분된 문장을 토큰화하여 입력 데이터를 구성하며, 토큰화된 입력 데이터 각각에 대응되는 벡터를 추출할 수 있다.
일측에 따르면, 언어 모델은 입력 데이터를 구성하는 경우에, 특별 분류 토큰(special classification token; CLS)을 추가하는 언어 모델일 수 있다.
다시 말해, 일실시예에 따른 문장벡터 추출부(120)는 다양한 작업에 의해 학습된 사전 학습된(Pre-trained) 언어 모델 중 가장 좋은 성능을 낸 BERT(bidirectional encoder representations from transformers) 모델의 특별 분류 토큰(CLS)을 이용할 수 있으며, 여기서 BERT는 사전학습 시 특별 분류 토큰인 CLS 토큰을 첫 토큰으로 추가하여 토큰화된 문장을 입력으로 받고 각 토큰에 대응하는 벡터를 출력할 수 있다.
BERT로 인코딩된 CLS 토큰은 BERT의 학습 방법으로 인해 문장 내의 단어 간의 관계를 반영하고, 동시에 문장의 의미 또한 지닐 수 있으며, 이러한 이유로 특별 분류 토큰을 포함하는 언어 모델에서는 인코딩된 CLS 벡터를 문장 벡터로 이용할 수 있다.
보다 구체적으로, 문장벡터 추출부(120)는 본문 내용에 대응되는 각 문장 앞에 특별 분류 토큰(CLS)을 추가할 수 있다.
여기서, 특별 분류 토큰(CLS)이란, 문장 단위의 내제된 정보를 이용하여 분류 작업에 사용할 때, 문장의 내제된 정보를 담고 있을 수 있도록 학습된 BERT 고유의 토큰으로, 특별 분류 토큰(CLS)을 이용하는 방식은 다음과 같다.
문장벡터 추출부(120)는 핵심 문장을 추출하고 싶은 자연어 데이터를 문장 단위로 나눈 뒤, 각 문장에 특별 분류 토큰(CLS)을 문장 앞에 추가할 수 있다. 특별 분류 토큰(CLS)은 '[CLS]'라는 단어를 문장 시작 부분에 추가하면 되기 때문에 다른 추가 제약조건 없이, 어떤 형태의 문장에도 추가할 수 있다.
이후, 모델에 의해 수치화된 특별 분류 토큰(CLS)의 벡터는 각 문장 사이의 유사도를 연산할 때 이용될 수 있다. 즉, 해당 특별 분류 토큰(CLS)은 BERT에서 문장 단위로 분류 작업을 실행할 때, 문장의 표현 벡터로 사용되는 토큰이며 특별 분류 토큰(CLS)의 표현 벡터를 문장 토큰의 임베딩 벡터(embedding vector)로 사용될 수 있다.
다음으로, 문장벡터 추출부(120)는 문장 벡터 변환 모델을 이용해 특별 분류 토큰(CLS)이 추가된 각 문장을 문장 벡터로 변환할 수 있다.
즉, 특별 분류 토큰(CLS)이 추가된 각 문장은 사전 학습된 BERT을 이용하여 벡터화될 수 있으며, 그에 따라 문장 벡터들을 기반으로 문장 사이의 유사도를 연산하여 유사도 매트릭스(matrix)를 구성할 수 있다.
예를 들면, 각 문장의 유사도는 문장 벡터 간의 내적 값을 이용할 수 있다. 이는 코사인 유사도와 동일한 유사도 연산 방식으로 기존 코사인 유사도 연산이 두 벡터의 내적 값을 두 벡터의 크기 곱으로 나누어주는 방식에서 분모에 해당하는 두 벡터의 크기가 BERT 내부 알고리즘을 통해 1에 맞춰져 있음을 이용하는 방식으로, 유사도를 내적 값으로 하는 방법은 BERT 내부 알고리즘에서 토큰 사이의 유사도를 연산하는 방법과 동일한 방법으로 다른 유사도 척도보다 BERT 알고리즘을 통해 추출된 토큰에 적합한 방식일 수 있다.
다음으로, 문장벡터 추출부(120)는 유사도 매트릭스를 텍스트랭크에 적용하여 각 문장 별로 중요도를 추출할 수 있다.
일측에 따르면, 언어 모델은 특별 분류 토큰을 추가하지 않는 언어 모델일 수도 있고, 특별 분류 토큰을 추가하지 않는 언어 모델은 구분된 문장을 복수의 토큰으로 구분하며, 복수의 토큰으로 구분된 문장으로부터 복수의 토큰 각각에 대응되는 벡터를 추출하고, 추출된 벡터의 평균값을 제1 문장벡터 및 복수의 제2 문장벡터로 사용할 수도 있다.
구체적으로, 특별 분류 토큰을 추가하지 않는 언어 모델은 문장을 토큰으로 나누고 특별한 토큰의 추가 없이 언어 모델의 입력값으로 구성할 수 있으며, 각 토큰은 언어 모델을 통해 단어 간의 관계를 반영하여 벡터로 변환되는데 이러한 경우에는 특별 분류 토큰을 따로 추가하지 않기 때문에 토큰들이 인코딩된 벡터들의 평균값을 문장 벡터로 사용할 수 있다.
즉, 문장벡터 추출부(120)는 특별 분류 토큰을 추가하는 언어 모델과 특별 분류 토큰을 추가하지 않는 언어 모델 모두에서 문장 벡터를 추출할 수 있다.
일실시예에 따른 핵심문장 추출부(130)는 복수의 제2 문장벡터간의 텍스트랭크 값을 산출하고, 제1 문장벡터와 복수의 제2 문장벡터간의 코사인 유사도 값을 산출하며, 산출된 텍스트랭크 값과 산출된 코사인 유사도 값에 기초하여 핵심문장을 추출할 수 있다.
여기서, 핵심문장 추출부(130)는 핵심문장으로 본문 내용에 포함된 복수의 문장 중 적어도 하나의 문장이 선별할 수 있다.
일측에 따르면, 핵심문장 추출부(130)는 복수의 제2 문장벡터 각각을 그래프 노드로 설정하고, 복수의 제2 문장벡터간의 코사인 유사도 값을 그래프 엣지로 설정하여 제2 문장벡터간의 텍스트랭크 값을 산출할 수 있다.
구체적으로, 텍스트랭크는 문서(자연어 데이터)를 그래프로 입력받아 문서 내의 문장 혹은 단어의 중요도를 연산하는 알고리즘으로, 문서의 본문 내용을 구성하는 여러 문장들의 문장벡터(즉, 복수의 제2 문장벡터)를 그래프 노드로 하고 노드 사이의 코사인 유사도 값을 그래프의 엣지로 하여 문서의 본문을 그래프 형태로 구성한 뒤 각 문자의 텍스트랭크 값을 하기 수학식1을 이용하여 연산할 수 있다.
[수학식1]
Figure 112021044266458-pat00001
여기서,
Figure 112021044266458-pat00002
는 i번째 노드 (즉, i번째 문장의 제2 문장벡터)(여기서 i는 양의 정수),
Figure 112021044266458-pat00003
는 i번째 노드의 텍스트랭크 값,
Figure 112021044266458-pat00004
는 i번째 노드와 연결된 노드 집합,
Figure 112021044266458-pat00005
는 i번째 노드와 j번째 노드(여기서 j는 i
Figure 112021044266458-pat00006
j인 양의 정수) 사이의 엣지(즉, i번째 문장과 j번째 문장 사이의 코사인 유사도),
Figure 112021044266458-pat00007
는 각 노드의 텍스트랭크 값이 다른 노드의 텍스트랭크 값에 영향을 받는 정도(즉, 0 내지 1 사이의 값으로 설정되는 하이퍼파라미터)를 의미할 수 있다.
일측에 따르면, 핵심문장 추출부(130)는 산출된 텍스트랭크 값에 따른 텍스트랭크의 기준순위를 설정하고, 산출된 코사인 유사도 값에 따른 코사인 유사도의 기준순위를 설정하며, 설정된 텍스트랭크의 기준순위와 코사인 유사도의 기준순위에 기초하여 핵심문장을 추출할 수 있다.
구체적으로, 핵심문장 추출부(130)는 상술한 수학식1을 통해 제2 문장벡터간의 텍스트랭크 값을 산출하여, 문서 본문 내용을 이루는 여러 문장들 사이의 관계를 고려해서 특정 문장의 특정 문장의 중요도 및 순위(즉, 텍스트랭크의 기준순위)를 연산할 수 있다.
여기서, 텍스트랭크의 기준순위는 제목 내용을 고려하지 않고, 본문 내용을 이루는 문장들 사이의 관계를 고려했을 때 어떤 문장이 중요한 문장인지를 판별하는 지표를 의미할 수 있다.
다음으로, 핵심문장 추출부(130)는 해당 문서 제목(즉, 제1 문장벡터)과 본문 문장들(제2 문장벡터) 사이의 코사인 유사도 값을 연산할 수 있다.
구체적으로, 문서에서 제목은 본문에서 전달 하고자 하는 바를 명확하고 간결하게 나타낸 문장이므로, 핵심 문장 추출 시 문서 본문에 해당하는 각 문장들이 문서의 제목과 의미적으로 얼마나 유사한지 고려해야 할 필요가 있다.
이에, 핵심문장 추출부(130)는 각 문장의 문장 벡터를 이용해 문서 제목과 여러 본문 문장들 사이의 코사인 유사도 값을 연산하고 본문 내용의 문장들이 제목과 의미적으로 얼마나 유사한지 순위(즉, 코사인 유사도의 기준순위)를 구할 수 있다.
여기서, 코사인 유사도의 기준순위는 제목 내용과의 의미적 유사성을 고려했을 때 본문 내용에 포함된 문장 중 어떤 문장이 중요한 문장인지를 판별하는 지표를 의미할 수 있다.
다음으로, 핵심문장 추출부(130)는 텍스트랭크의 기준순위 및 코사인 유사도의 기준순위의 합을 연산하고, 연산된 순위 합을 통해 적어도 하나의 핵심문장을 최종 선별하여 문서를 요약할 수 있다.
다시 말해, 핵심문장 추출부(130)는 제목을 고려하지 않았을 때와, 제목을 고려했을 때 모두 순위가 높은 문장을 핵심문장으로 추출하기 위해 두 가지 기준 순위의 합을 연산하고 그 값이 낮을수록 더 중요한 핵심문장으로 추출할 수 있다.
한편, 핵심문장 추출부(130)는 두 가지 순위의 합이 중복되는 경우에, 택스트랭크 순위를 보다 우선 순위로 하여, 더 중요한 문장(택스트랭크 순위가 보다 높은 문장)을 판별/추출할 수 있다.
도 2a 내지 도 2b는 일실시예에 따른 핵심문장 추출장치에서 전처리 과정을 수행하는 예시를 설명하기 위한 도면이다.
도 2a 내지 도 2b를 참조하면, 참조부호 210은 핵심문장 추출장치에서 수신하는 자연어 데이터(일례로, 뉴스 기사)의 예시를 도시하고, 참조부호 220은 핵심문장 추출장치를 통해 수행된 참조부호 210의 자연어 데이터에 대한 전처리 결과를 도시한다.
참조부호 210 내지 220을 참조하면, 핵심문장 추출장치는 제목 내용(즉, 뉴스 내용)과 본문 내용(즉, 본문 문장1 내지 본문 문장9) 각각을 전처리할 수 있다.
구체적으로, 핵심문장 추출장치는 제목 내용에 포함된 한자 및 특수문자를 한글로 변환하고, 문맥적인 요소 없이 등장하는 대괄호 및 대괄호 내부 문자를 제거하는 전처리 과정을 수행하고, 본문 내용에 포함된 대괄호, 대괄호 내부 문자, 소괄호, 소괄호 내부 문자, 이메일 및 URL에 대응되는 요소들을 모두 제거하는 전처리 과정을 수행하여, 전처리된 데이터(참조부호 220)를 획득할 수 있다.
도 3a 내지 도 3b는 일실시예에 따른 핵심문장 추출장치에서 사전 학습된 언어 모델을 이용하여 문장벡터를 추출하는 예시를 설명하기 위한 도면이다.
도 3a 내지 도 3b를 참조하면, 참조부호 310은 특별 분류 토큰을 추가하는 언어 모델을 이용하여 문장을 토큰화하는 예시를 도시하고, 참조부호 320은 특별 분류 토큰을 추가하지 않는 언어 모델을 이용하여 문장을 토큰화하는 예시를 도시한다.
참조부호 310 및 320에 따르면, 핵심문장 추출장치는 특별 분류 토큰을 추가하는 언어 모델 및/또는 특별 분류 토큰을 추가하지 않는 언어 모델을 이용하여 전처리된 제목 내용과 전처리된 본문 내용 각각을 적어도 하나의 문장으로 구분하고, 구분된 문장을 토큰화하여 입력 데이터를 구성하며, 토큰화된 입력 데이터 각각에 대응되는 벡터를 추출할 수 있다.
구체적으로, 핵심문장 추출장치는 특별 분류 토큰을 추가하는 언어 모델을 이용하는 경우, 특별 분류 토큰인 CLS 토큰을 첫 토큰으로 추가하여 토큰화된 문장을 입력으로 받고 각 토큰에 대응하는 CLS 벡터를 추출할 수 있으며, 최종적으로 추출된 CLS 벡터를 문장 벡터로 이용할 수 있다.
또한, 핵심문장 추출장치는 특별 분류 토큰을 추가하지 않는 언어 모델을 이용하는 경우, 구분된 문장을 복수의 토큰으로 구분하며, 복수의 토큰으로 구분된 문장으로부터 복수의 토큰 각각에 대응되는 벡터를 추출하고, 최종적으로 추출된 벡터의 평균값을 문장 벡터로 이용할 수 있다.
도 4a 내지 도 4b는 일실시예에 따른 핵심문장 추출장치에서 텍스트랭크 연산 및 코사인 유사도 연산을 수행하는 예시를 설명하기 위한 도면이다.
도 4a 내지 도 4b를 참조하면, 참조부호 410은 텍스트랭크 연산을 위한 입력 그래프의 예시를 도시하고, 참조부호 420은 제1 문장벡터(문서 제목)과 복수의 제2 문장벡터(본문문장1 내지 본문문장5)간의 코사인 유사도 연산을 수행하는 예시를 도시한다.
참조부호 410에 따르면, 핵심문장 추출장치는 복수의 제2 문장벡터에 대응되는 텍스트랭크 입력 그래프에 기초하는 텍스트랭크 알고리즘의 동작을 통해 복수의 제2 문장벡터 각각에 대한 텍스트랭크 값 및 텍스트랭크의 기준순위(일례로, 본문문장1: 3위, 본문문장2: 1위, 본문문장3: 5위, 본문문장4: 2위, 본문문장5: 4위)를 산출할 수 있다.
예를 들면, 텍스트랭크 알고리즘은 상술한 수학식1의 연산을 통해 복수의 제2 문장벡터 각각에 대한 텍스트랭크 값을 산출할 수 있다.
참조부호 420에 따르면, 핵심문장 추출장치는 제1 문장벡터와 복수의 제2 문장벡터간의 코사인 유사도 값 및 코사인 유사도의 기준순위(일례로, 본문문장1: 2위, 본문문장2: 1위, 본문문장3: 5위, 본문문장4: 3위, 본문문장5: 4위)를 산출할 수 있다.
도 5는 일실시예에 따른 핵심문장 추출장치에서 텍스트랭크의 기준순위 및 코사인 유사도의 기준순위를 이용하여 핵심문장을 추출하는 예시를 설명하기 위한 도면이다.
도 5를 참조하면, 참조부호 500은 핵심문장 추출장치에서 도 2a 내지 도 2b를 통해 설명한 자연어 데이터(뉴스 기사)에 대한 핵심문장 추출 결과를 도시한다.
참조부호 500에 따르면, 핵심문장 추출장치는 하기 표1과 같이, 복수의 제2 문장벡터(본문문장1 내지 본문문장9)간의 텍스트랭크 값과, 텍스트랭크 값의 기준 순위를 산출할 수 있다.
Figure 112021044266458-pat00008
다음으로, 핵심문장 추출장치는 하기 표2와 같이, 제1 문장벡터와 복수의 제2 문장벡터(본문문장1 내지 본문문장9)간의 코사인 유사도 값과, 코사인 유사도 값의 기준 순위를 산출할 수 있다.
Figure 112021044266458-pat00009
다음으로, 핵심문장 추출장치는 표1에 따른 텍스트랭크 연산결과와 표2에 따른 코사인 유사도 연산결과에 대하여 하기 표3과 같은 순위 합 연산을 수행하고, 가장 낮은 순위 합을 갖는 본문문장6(520)을 첫번째 핵심문장으로 도출하고, 다음으로 낮은 순위 합을 갖는 본문문장2(510)를 두번째 핵심문장으로 도출할 수 있다.
Figure 112021044266458-pat00010
도 6은 일실시예에 따른 핵심문장의 추출방법을 설명하기 위한 도면이다.
다시 말해, 도 6은 도 1 내지 도 5를 통해 설명한 일실시예에 따른 핵심문장 추출장치의 동작방법을 설명하기 위한 도면으로, 도 6을 통해 설명하는 내용 중 도 1 내지 도 5를 통해 설명한 내용과 중복되는 설명은 생략하기로 한다.
도 6을 참조하면, 610 단계에서 일실시예에 따른 핵심문장의 추출방법은 전처리부에서 제목 내용과 본문 내용으로 구분된 자연어 데이터에서 제목 내용과 본문 내용 각각을 전처리할 수 있다.
620 단계에서 일실시예에 따른 핵심문장의 추출방법은 문장벡터 추출부에서 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출할 수 있다.
630 단계에서 일실시예에 따른 핵심문장의 추출방법은 핵심문장 추출부에서 복수의 제2 문장벡터간의 텍스트랭크 값을 산출하고, 제1 문장벡터와 복수의 제2 문장벡터간의 코사인 유사도 값을 산출하며, 산출된 텍스트랭크 값과 산출된 코사인 유사도 값에 기초하여 핵심문장을 추출할 수 있다.
일실시예에 따른 핵심문장의 추출방법은 이후 실시예 도 7을 통해 보다 구체적으로 설명하기로 한다.
도 7은 일실시예에 따른 핵심문장의 추출방법을 보다 구체적으로 설명하기 위한 도면이다.
도 7을 참조하면, 710 단계에서 일실시예에 따른 핵심문장의 추출방법은 전처리부에서 제목 내용과 본문 내용을 포함하는 적어도 하나의 자연어 데이터를 수신할 수 있다.
예를 들면, 자연어 데이터는 한국어를 포함하는 문서 데이터로, 바람직하게는 뉴스 데이터일 수 있다. 또한, 자연어 데이터는 제목과 본문 내용을 구별할 수 있는 식별자를 포함할 수도 있다.
다음으로, 720 단계에서 일실시예에 따른 핵심문장의 추출방법은 전처리부에서 자연어 데이터에 포함된 제목 내용과 본문 내용 각각을 전처리할 수 있다.
다음으로, 730 단계에서 일실시예에 따른 핵심문장의 추출방법은 언어 모델을 이용하여 전처리된 제목 내용과 본문 내용으로부터 인코딩된 문장 벡터를 추출할 수 있다.
구체적으로, 730 단계에서 일실시예에 따른 핵심문장의 추출방법은 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출할 수 있다.
일측에 따르면, 언어 모델은 전처리된 제목 내용과 전처리된 본문 내용 각각을 적어도 하나의 문장으로 구분하고, 구분된 문장을 토큰화하여 입력 데이터를 구성하며, 토큰화된 입력 데이터 각각에 대응되는 벡터를 추출할 수 있다.
예를 들면, 언어 모델은 입력 데이터를 구성하는 경우에, 특별 분류 토큰(CLS)을 추가할 수 있다.
또한, 언어 모델은 구분된 문장을 복수의 토큰으로 구분하며, 복수의 토큰으로 구분된 문장으로부터 복수의 토큰 각각에 대응되는 벡터를 추출하며, 추출된 벡터의 평균값을 제1 문장벡터 및 복수의 문장벡터로 사용할 수도 있다.
다음으로, 740 단계에서 일실시예에 따른 핵심문장의 추출방법은 복수의 제2 문장벡터(즉, 본문 내용)간의 텍스트랭크 값을 산출하고, 산출된 텍스트랭크 값에 기초하여 텍스트랭크의 기준 순위를 산출할 수 있다.
일측에 따르면, 740 단계에서 일실시예에 따른 핵심문장의 추출방법은 복수의 제2 문장벡터 각각을 그래프 노드로 설정하고, 복수의 제2 문장벡터간의 코사인 유사도 값을 그래프 엣지로 설정하여 제2 문장벡터간의 텍스트랭크 값을 산출할 수 있다.
다음으로, 750 단계에서 일실시예에 따른 핵심문장의 추출방법은 제1 문장벡터(즉, 제목 내용)와 복수의 제2 문장벡터(즉, 본문 내용)간의 코사인 유사도 값을 산출하고, 산출된 코사인 유사도 값에 기초하여 코사인 유사도의 기준 순위를 산출할 수 있다.
다음으로, 760 단계에서 일실시예에 따른 핵심문장의 추출방법은 산출된 텍스트랭크의 기준순위와 산출된 코사인 유사도의 기준순위의 순위 합을 이용하여 적어도 하나의 핵심 문장을 추출할 수 있다.
도 8은 일실시예에 따른 핵심문장의 추출방법에서 전처리하는 방법을 보다 구체적으로 설명하기 위한 도면이다.
다시 말해, 도 8은 도 6의 610 단계 및 도 7의 720 단계에서 수행될 수 있다.
도 8을 참조하면, 810 내지 830 단계에서 일실시예에 따른 핵심문장의 추출방법은 전처리부에서 자연어 데이터로부터 제목 내용을 추출하고, 추출된 제목 내용에 포함된 대괄호 및 대괄호 내부 문자를 제거한 후, 한자 및 특수문자를 한글로 변환하여 전처리된 제목 내용을 획득할 수 있다.
다음으로, 840 단계 내지 870 단계에서 일실시예에 따른 핵심문장의 추출방법은 전처리부에서 자연어 데이터로부터 본문 내용을 추출하고, 추출된 본문 내용에 포함된 소괄호, 소괄호 내부 문자, 대괄호, 대괄호 내부 문자, 이메일 및 URL을 제거하여 전처리된 본문 내용을 획득할 수 있다.
결국, 본 발명을 이용하면, 언어 모델의 문장 인코딩 방식을 이용하여 문서 내 핵심 문장을 자동 추출하여 문서를 요약할 수 있다.
또한, 본 발명을 이용하면, 현재 이용 가능한 한국어 언어 모델을 문서 요약에 활용할 수 있다.
또한, 본 발명을 이용하면, 한국어 문서 요약을 통해 웹 상의 수많은 문서에 대한 접근의 편의성을 보장할 수 있다.
또한, 본 발명을 이용하면, 언어 모델을 기반으로 문맥과 문서의 제목을 함께 고려하여 문서 내 핵심문장을 추출하여, 문서 요약의 정확성을 향상시킬 수 있다.
한편, 본 발명은 기존의 텍스트 데이터를 이용한 요약문 추출, 핵심 키워드 추출 문제에 활용되어, 뉴스 데이터를 이용한 금융시장 분석, 리뷰 데이터를 이용한 고객 니즈, 상품 문제점 분석 등에 적용될 수 있으며, 국내외 산업에서 텍스트 데이터의 활용을 더욱 활성화시킬 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 핵심문장 추출장치 110: 전처리부
120: 문장벡터 추출부 130: 핵심문장 추출부

Claims (10)

  1. 제목 내용과 본문 내용을 포함하는 자연어 데이터에서 상기 제목 내용과 상기 본문 내용 각각을 전처리하는 전처리부;
    상기 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 상기 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출하는 문장벡터 추출부 및
    상기 복수의 제2 문장벡터간의 텍스트랭크 값을 산출하고, 상기 제1 문장벡터와 상기 복수의 제2 문장벡터간의 코사인 유사도 값을 산출하며, 상기 산출된 텍스트랭크 값과 상기 산출된 코사인 유사도 값에 기초하여 핵심문장을 추출하는 핵심문장 추출부
    를 포함하고,
    상기 전처리부는,
    상기 제목 내용에 포함된 한자 및 특수문자를 한글로 변환하고, 상기 제목 내용에 포함된 대괄호 및 대괄호 내부 문자를 삭제하며, 상기 본문 내용에 포함된 대괄호, 대괄호 내부 문자, 소괄호, 소괄호 내부 문자, 이메일 대응되는 문자 및 URL(uniform resource locator)을 삭제하는
    핵심문장 추출장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 문장벡터 추출부는,
    사전 학습된 언어 모델에 기초하여 상기 제목 내용이 인코딩된 상기 제1 문장벡터와, 상기 본문 내용이 인코딩된 상기 복수의 제2 문장벡터를 추출하는
    핵심문장 추출장치.
  5. 제4항에 있어서,
    상기 언어 모델은,
    상기 전처리된 제목 내용과 상기 전처리된 본문 내용 각각을 적어도 하나의 문장으로 구분하고, 상기 구분된 문장을 토큰화하여 입력 데이터를 구성하며, 상기 토큰화된 입력 데이터 각각에 대응되는 벡터를 추출하는
    핵심문장 추출장치.
  6. 제5항에 있어서,
    상기 언어 모델은,
    상기 입력 데이터를 구성하는 경우에, 특별 분류 토큰(special classification token; CLS)을 추가하는
    핵심문장 추출장치.
  7. 제5항에 있어서,
    상기 언어 모델은,
    상기 구분된 문장을 복수의 토큰으로 구분하며, 상기 복수의 토큰으로 구분된 문장으로부터 상기 복수의 토큰 각각에 대응되는 벡터를 추출하며, 상기 추출된 벡터의 평균값을 상기 제1 문장벡터 및 상기 복수의 제2 문장벡터로 사용하는
    핵심문장 추출장치.
  8. 제1항에 있어서,
    상기 핵심문장 추출부는,
    상기 복수의 제2 문장벡터 각각을 그래프 노드로 설정하고, 상기 복수의 제2 문장벡터간의 코사인 유사도 값을 그래프 엣지로 설정하여 상기 제2 문장벡터간의 텍스트랭크 값을 산출하는
    핵심문장 추출장치.
  9. 제1항에 있어서,
    상기 핵심문장 추출부는,
    상기 산출된 텍스트랭크 값에 따른 텍스트랭크의 기준순위를 설정하고, 상기 산출된 코사인 유사도 값에 따른 코사인 유사도의 기준순위를 설정하며, 상기 설정된 텍스트랭크의 기준순위와 상기 코사인 유사도의 기준순위에 기초하여 상기 핵심문장을 추출하는
    핵심문장 추출장치.
  10. 전처리부에서, 제목 내용과 본문 내용으로 구분된 자연어 데이터에서 상기 제목 내용과 상기 본문 내용 각각을 전처리하는 단계;
    문장벡터 추출부에서, 상기 전처리된 제목 내용으로부터 제1 문장벡터를 추출하고, 상기 전처리된 본문 내용으로부터 복수의 제2 문장벡터를 추출하는 단계 및
    핵심문장 추출부에서, 상기 복수의 제2 문장벡터간의 텍스트랭크 값을 산출하고, 상기 제1 문장벡터와 상기 복수의 제2 문장벡터간의 코사인 유사도 값을 산출하며, 상기 산출된 텍스트랭크 값과 상기 산출된 코사인 유사도 값에 기초하여 핵심문장을 추출하는 단계
    를 포함하고,
    상기 전처리하는 단계는,
    상기 전처리부에서, 상기 제목 내용에 포함된 한자 및 특수문자를 한글로 변환하고, 상기 제목 내용에 포함된 대괄호 및 대괄호 내부 문자를 삭제하며, 상기 본문 내용에 포함된 대괄호, 대괄호 내부 문자, 소괄호, 소괄호 내부 문자, 이메일 대응되는 문자 및 URL(uniform resource locator)을 삭제하는
    핵심문장의 추출방법.
KR1020210049428A 2021-04-15 2021-04-15 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법 KR102540665B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210049428A KR102540665B1 (ko) 2021-04-15 2021-04-15 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210049428A KR102540665B1 (ko) 2021-04-15 2021-04-15 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20220143229A KR20220143229A (ko) 2022-10-25
KR102540665B1 true KR102540665B1 (ko) 2023-06-13

Family

ID=83804222

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210049428A KR102540665B1 (ko) 2021-04-15 2021-04-15 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102540665B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102603298B1 (ko) * 2023-01-17 2023-11-17 주식회사 코딧 대상문서로부터 의미론적 키워드를 추출하는 방법, 컴퓨터-판독가능 기록매체 및 이를 수행하는 컴퓨팅시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102128659B1 (ko) * 2018-10-16 2020-06-30 주식회사 포스코아이씨티 키워드 추출 및 요약문 생성 시스템 및 방법
KR102168504B1 (ko) 2018-12-26 2020-10-21 주식회사 와이즈넛 텍스트 문서에서 각 문장 간의 일관성 분석 장치 및 그 방법
KR102217248B1 (ko) * 2019-02-21 2021-02-18 주식회사 와이즈넛 텍스트 문서 요약을 위한 자질 추출 및 학습 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
김은희 외 2인, ELMo 임베딩 기반 문장 중요도를 고려한 중심 문장 추출 방법, 2021년 3월 스마트미디어저널, Vol.10, No.1, pp. 39-46. 1부.*
정석원 외 2인, 문장 임베딩 기반 텍스트랭크를 이용한 문서 요약, 정보과학회논문지 제46권 제3호(2019. 3), pp. 285-289.*

Also Published As

Publication number Publication date
KR20220143229A (ko) 2022-10-25

Similar Documents

Publication Publication Date Title
US10891427B2 (en) Machine learning techniques for generating document summaries targeted to affective tone
WO2019080863A1 (zh) 文本情感分类方法、存储介质及计算机
KR102535852B1 (ko) Bert의 문장 임베딩 벡터를 이용한 텍스트랭크 기반 핵심 문장 추출 방법 및 장치
CN109844742B (zh) 分析系统
CN108538286A (zh) 一种语音识别的方法以及计算机
CN107402912B (zh) 解析语义的方法和装置
Banerjee et al. Comparison of pretrained embeddings to identify hate speech in Indian code-mixed text
CN110472043B (zh) 一种针对评论文本的聚类方法及装置
CN111444330A (zh) 提取短文本关键词的方法、装置、设备及存储介质
US20170308526A1 (en) Compcuter Implemented machine translation apparatus and machine translation method
CN111931500A (zh) 搜索信息的处理方法、装置
Djatmiko et al. A review of sentiment analysis for non-English language
JP4426894B2 (ja) 文書検索方法、文書検索プログラムおよびこれを実行する文書検索装置
Niam et al. Hate speech detection using latent semantic analysis (lsa) method based on image
CN112347339A (zh) 一种搜索结果处理方法及装置
CN115759071A (zh) 基于大数据的政务敏感信息识别系统和方法
CN115757743A (zh) 文档的检索词匹配方法及电子设备
EP1503295A1 (en) Text generation method and text generation device
KR102540665B1 (ko) 한국어 언어 모델에 기반한 핵심문장 추출장치 및 그 방법
CN114462392A (zh) 一种基于主题关联度与关键词联想的短文本特征扩展方法
CN109241272B (zh) 一种中文文本摘要生成方法、计算机可读储存介质及计算机设备
CN115269768A (zh) 要素文本处理方法、装置、电子设备和存储介质
CN110020024B (zh) 一种科技文献中链接资源的分类方法、系统、设备
CN111639189A (zh) 一种基于文本内容特征的文本图构建方法
Teng et al. Emotion recognition from text based on the rough set theory and the support vector machines

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right