자연어 처리의 텍스트 요약: 알고리즘, 기술 및 과제
게시 됨: 2020-08-07주어진 콘텐츠에서 요약을 만드는 것은 모든 사람이 참여하는 매우 추상적인 프로세스입니다. 이러한 프로세스를 자동화하면 많은 데이터를 구문 분석하고 인간이 중요한 결정을 내리는 데 시간을 더 잘 사용할 수 있습니다. 엄청난 양의 미디어가 존재하기 때문에 가장 중요한 정보 주변의 보풀을 줄임으로써 매우 효율적일 수 있습니다. 우리는 이미 웹에서 자동으로 생성되는 텍스트 요약을 보기 시작했습니다.
Reddit을 자주 사용하는 경우 'Autotldr 봇'이 특정 게시물에서 링크된 기사를 요약하여 Redditors를 정기적으로 돕는 것을 보았을 것입니다. 2011년에 만들어졌으며 이미 수천 인시를 절약했습니다. Inshorts(60단어 이하로 뉴스 요약) 및 Blinkist(도서 요약)와 같이 정확하게 수행하는 응용 프로그램의 추세에서 알 수 있듯이 신뢰할 수 있는 텍스트 요약 시장이 있습니다.
따라서 자동 텍스트 요약 은 자연어 처리 (NLP) 및 기계 학습 (ML)에서 흥미롭지만 도전적인 영역입니다. 자동 텍스트 요약의 현재 발전은 Hans Peter Luhn의 "문학 초록의 자동 생성"이라는 제목의 논문이 출판된 1950년대부터 이 분야에 대한 연구 덕분입니다.
이 문서에서는 문서에서 필수 문장을 추출하기 위해 단어 빈도 및 구 빈도와 같은 기능의 사용을 설명했습니다. 그 뒤를 이어 1960년대 후반 Harold P Edmundson이 수행한 또 다른 비판적 연구가 있었는데, 이는 큐 단어의 존재, 텍스트에 나타나는 제목에 사용된 단어, 문서에서 중요한 문장을 추출하기 위한 문장의 위치를 강조했습니다.
이제 전 세계가 기계 학습과 이 분야의 새로운 연구를 발표하면서 디지털 시대에 정보와 상호 작용하는 유비쿼터스 도구가 되기 직전에 자동 텍스트 요약이 가능해졌습니다.
반드시 읽어야 합니다: 인도의 NLP 엔지니어 급여

NLP에서 텍스트 요약에는 주로 두 가지 주요 접근 방식이 있습니다.
목차
NLP의 텍스트 요약
1. 추출 기반 요약
이름에서 알 수 있듯이 이 기술은 문서에서 핵심 문구를 추출하거나 추출하는 것에 의존합니다. 그런 다음 이러한 핵심 문구를 결합하여 일관된 요약을 형성합니다.
2. 추상화 기반 요약
이 기술은 추출과 달리 문서의 일부를 다른 말로 바꾸어 표현하는 능력에 의존합니다. 이러한 추상화가 딥 러닝 문제에서 올바르게 수행되면 일관된 문법을 가질 수 있습니다. 그러나 이렇게 추가된 복잡성 계층은 추출보다 개발이 더 어렵다는 대가를 치르게 됩니다.
고품질 요약을 제공하는 또 다른 방법이 있습니다. 이 접근 방식을 보조 요약이라고 하며 여기에는 사람과 소프트웨어의 노력이 결합됩니다. 이것도 2가지 맛으로 나온다
- 기계 지원 인간 요약 : 추출 기술은 인간이 텍스트를 추가하거나 제거할 수 있는 포함할 후보 구절을 강조 표시합니다.
- 인간 보조 기계 요약 : 인간은 단순히 소프트웨어의 출력을 편집합니다.
텍스트를 요약하는 주요 접근 방식 외에도 텍스트 요약자가 분류되는 다른 기준이 있습니다. 다음은 해당 카테고리 헤드입니다.
3. 단일 및 다중 문서 요약
단일 문서는 응집력과 요약을 생성하기 위해 사실의 드문 반복에 의존합니다. 반면에 다중 문서 요약은 중복 정보와 반복 가능성을 높입니다.
4. 지시적 vs. 정보적
요약의 분류는 사용자의 최종 목표에 따라 다릅니다. 예를 들어, 표시 유형 요약에서는 기사의 높은 수준을 예상할 수 있습니다. 반면에 유익한 개요에서는 독자가 요약을 드릴다운할 수 있도록 더 많은 주제 필터링을 기대할 수 있습니다.
5. 문서 길이 및 유형
입력 텍스트의 길이는 일종의 요약 접근 방식에 큰 영향을 미칩니다.
Cornell의 뉴스룸과 같은 가장 큰 요약 데이터 세트는 평균 약 300-1000단어인 뉴스 기사에 중점을 두었습니다. 추출 요약자는 이러한 길이를 비교적 잘 처리합니다. 여러 페이지로 된 문서 또는 책의 챕터는 계층적 클러스터링 또는 담화 분석과 같은 고급 접근 방식을 통해서만 적절하게 요약될 수 있습니다.
또한 텍스트의 장르도 요약자에 영향을 줍니다. 기술 백서를 요약하는 방법은 재무제표를 요약하는 데 더 잘 갖춰진 기술과 근본적으로 다릅니다.
이 기사에서는 추출 요약 기술에 대해 자세히 설명합니다.
PageRank 알고리즘
이 알고리즘은 Google과 같은 검색 엔진이 웹 페이지 순위를 매길 수 있도록 도와줍니다. 예제를 통해 알고리즘을 이해합시다. 서로 다른 연결 수준을 가진 4개의 웹 페이지가 있다고 가정합니다. 하나는 다른 세 개에 대한 링크가 없을 수 있습니다. 하나는 다른 2개에 연결될 수 있고, 하나는 하나에만 상관될 수 있는 식입니다.
그런 다음 n개의 행과 열이 있는 행렬을 사용하여 한 페이지에서 다른 페이지로 이동할 확률을 모델링할 수 있습니다. 여기서 n은 웹 페이지 수입니다. 매트릭스 내의 각 요소는 한 웹페이지에서 다른 웹페이지로 전환될 확률을 나타냅니다. 올바른 확률을 할당함으로써 웹 페이지 순위에 오도록 그러한 행렬을 반복적으로 업데이트할 수 있습니다.
또한 읽기: NLP 프로젝트 및 주제
TextRank 알고리즘
PageRank 알고리즘을 탐구한 이유는 동일한 알고리즘을 사용하여 웹 페이지 대신 텍스트의 순위를 매기는 방법을 보여주기 위함입니다. 이는 페이지 간의 링크를 문장 간의 유사도로 바꾸고 PageRank 스타일 매트릭스를 유사도 점수로 사용하여 관점을 변경하여 수행할 수 있습니다.
TextRank 알고리즘 구현
필요한 라이브러리
- 마비
- 판다
- Ntlk
- 답장
다음은 추출 요약 기술 뒤에 있는 코드에 대한 설명입니다.
1 단계
원본 문서에 있는 모든 텍스트를 하나의 단색 텍스트 블록으로 연결합니다. 그렇게 하는 이유는 2단계를 더 쉽게 실행할 수 있는 조건을 제공하기 위해서입니다.
2 단계

마침표(.), 물음표(?), 느낌표(!)와 같은 문장 부호를 찾는 등 문장을 정의하는 조건을 제공합니다. 이 정의가 있으면 텍스트 문서를 문장으로 분할하기만 하면 됩니다.
3단계
이제 별도의 문장에 액세스할 수 있으므로 각 문장의 벡터 표현(단어 임베딩)을 찾습니다. 이제 벡터 표현이 무엇인지 이해해야 합니다. 단어 임베딩은 유사한 의미를 가진 단어에 대한 수학적 설명을 제공하는 단어 표현 유형입니다. 실제로 이것은 사전 정의된 벡터 공간에서 단어를 실수 값 벡터로 나타내는 전체 기술 클래스입니다.
각 단어는 여러 차원(때로는 100개 이상)을 갖는 실수 벡터로 표현됩니다. 분포 표현은 단어의 사용을 기반으로 하므로 유사한 방식으로 사용되는 단어가 유사한 설명을 가질 수 있습니다. 이를 통해 단어 자체가 벡터로 표현되는 다른 단어와의 근접성을 통해 단어의 의미를 자연스럽게 포착할 수 있습니다.
이 가이드에서는 GloVe(단어 표현의 전역 벡터)를 사용합니다. gloVe는 Stanford의 Pennington이 개발한 오픈 소스 분산 단어 표현 알고리즘입니다. 이는 2가지 모델 패밀리의 기능, 즉 전역 행렬 분해 및 로컬 컨텍스트 창 방법을 결합합니다.
4단계
단어에 대한 벡터 표현이 있으면 전체 문장을 벡터로 표현하도록 프로세스를 확장해야 합니다. 그렇게 하기 위해 문장에서 단어를 구성하는 용어의 벡터 표현을 가져온 다음 해당 벡터의 평균/평균을 가져와 문장에 대한 통합 벡터에 도달할 수 있습니다.
5단계
이 시점에서 각 개별 문장에 대한 벡터 표현이 있습니다. 이제 코사인 유사성 접근 방식을 사용하여 문장 간의 유사성을 수량화하는 것이 도움이 됩니다. 그런 다음 문장의 코사인 유사도로 빈 행렬을 채울 수 있습니다.
6단계
이제 문장 사이의 코사인 유사도로 채워진 행렬이 생겼습니다. 이 행렬을 노드가 문장을 나타내고 가장자리가 문장 간의 유사성을 나타내는 그래프로 변환할 수 있습니다. 이 그래프에서 편리한 PageRank 알고리즘을 사용하여 문장 순위에 도달합니다.
7단계
이제 기사의 모든 문장을 중요도 순으로 순위를 매겼습니다. 이제 상위 N(10개) 문장을 추출하여 요약을 만들 수 있습니다.
그러한 방법에 대한 코드를 찾기 위해 Github에 그러한 프로젝트가 많이 있습니다. 반면에 이 기사는 동일한 내용을 이해하는 데 도움이 됩니다.
확인하십시오: 현대 생활에서 언어 모델링의 진화
평가 기법
이러한 모델을 미세 조정하는 중요한 요소는 생성된 요약의 품질을 판단할 수 있는 신뢰할 수 있는 방법을 갖는 것입니다. 이를 위해서는 다음과 같이 광범위하게 분류할 수 있는 우수한 평가 기술이 필요합니다.
- 내적 및 외적 평가 :
본질적인: 이러한 평가는 요약 시스템 자체를 테스트합니다. 그들은 주로 요약의 일관성과 정보성을 평가합니다.
외부: 이러한 평가는 요약이 다른 작업에 미치는 영향에 따라 요약을 테스트합니다. 관련성 평가, 독해력 등과 같은 작업에 대한 요약의 영향을 테스트할 수 있습니다.
- 텍스트 간 및 텍스트 내 :
텍스트 간: 이러한 평가는 여러 요약 시스템의 대조 분석에 중점을 둡니다.
텍스트 내: 이러한 평가는 특정 요약 시스템의 출력을 평가합니다.
- 도메인별 및 도메인 독립적 :
도메인 독립: 이러한 기술은 일반적으로 정보가 풍부한 텍스트 세그먼트를 식별하는 데 집중할 수 있는 일련의 일반 기능을 적용합니다.
특정 도메인: 이 기술은 텍스트의 도메인에 특정한 가용 지식을 활용합니다. 예를 들어, 의학 문헌의 텍스트 요약은 의학 지식과 온톨로지의 출처를 필요로 합니다.
- 요약을 정성적으로 평가 :
다른 평가 기술의 주요 단점은 자동 요약의 출력을 모델과 비교할 수 있도록 참조 요약이 필요하다는 것입니다. 이로 인해 평가 작업이 어렵고 비용이 많이 듭니다. 이 문제를 해결하기 위해 기사/문서 및 해당 요약의 코퍼스를 구축하는 작업이 진행 중입니다.
텍스트 요약에 대한 도전
요약을 생성하고 평가하기 위해 고도로 개발된 도구에도 불구하고 텍스트 요약자가 중요하고 관련성이 있는 내용을 이해할 수 있는 신뢰할 수 있는 방법을 찾는 데는 여전히 과제가 남아 있습니다.
논의된 바와 같이, 벡터 표현 및 유사성 행렬은 단어 연관을 찾으려고 시도하지만 여전히 가장 중요한 문장을 식별하는 신뢰할 수 있는 방법이 없습니다.
텍스트 요약의 또 다른 문제는 인간 언어의 복잡성과 사람들이 특히 서면 텍스트에서 자신을 표현하는 방식입니다. 언어는 무언가를 설명하기 위한 형용사와 부사가 있는 긴 문장으로 구성될 뿐만 아니라 상대적인 문장, 부사 등으로 구성됩니다. 이러한 통찰력은 요약에 포함될 정보의 주요 요점을 설정하는 데 도움이 되지 않는 귀중한 정보를 추가할 수 있습니다.

"Anaphora 문제"는 텍스트 요약의 또 다른 장벽입니다. 언어에서 우리는 종종 대화의 주제를 동의어 또는 대명사로 대체합니다. 어떤 대명사가 어떤 용어를 "아나포라 문제"로 대체하는지에 대한 이해.
"카타포라 문제"는 아나포라 문제의 반대 문제입니다. 이러한 모호한 단어와 설명에서 특정 용어는 용어 자체를 도입하기 전에 텍스트에서 사용됩니다.
결론
텍스트 요약 분야는 급속한 성장을 경험하고 있으며 더 집중된 요약 작업을 처리하기 위해 전문 도구가 개발되고 있습니다. 오픈 소스 소프트웨어와 워드 임베딩 패키지가 널리 보급됨에 따라 사용자는 이 기술의 사용 사례를 확대하고 있습니다.
자동 텍스트 요약은 인간이 매일 상호 작용하는 엄청난 양의 정보를 단순화하여 생산성을 비약적으로 향상시키는 도구입니다. 이를 통해 사람들은 필요한 읽기를 줄일 수 있을 뿐만 아니라 간과된 글을 읽고 이해할 수 있는 시간을 확보할 수 있습니다. 그러한 요약자가 너무 잘 통합되어 인간이 작성한 요약과 구별할 수 없는 요약을 생성하는 것은 시간 문제일 뿐입니다.
NLP 기술을 향상시키려면 이러한 NLP 프로젝트에 손을 대야 합니다. 기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
NLP의 용도는 무엇입니까?
가장 정교하고 흥미로운 현대 기술 중 하나인 자연어 처리(NLP)는 다양한 방식으로 사용됩니다. 주요 응용 프로그램에는 자동 단어 수정, 자동 예측, 챗봇 및 음성 비서, 가상 비서의 음성 인식, 인간의 음성 감정 분석, 이메일 및 스팸 필터링, 번역, 소셜 미디어 분석, 대상 광고, 텍스트 요약 및 이력서 스캔이 포함됩니다. 채용 등이 있습니다. NLU(자연어 이해)와 같은 개념을 발생시키는 NLP의 추가 발전은 복잡한 작업에서 더 높은 정확도와 훨씬 우수한 결과를 달성하는 데 도움이 됩니다.
NLP를 배우려면 수학을 공부해야 하나요?
오프라인과 온라인 모두에서 사용할 수 있는 리소스가 풍부하여 이제 NLP 학습을 위해 설계된 학습 자료에 더 쉽게 액세스할 수 있습니다. 이 연구 자료는 더 큰 그림이 아니라 NLP라고 하는 이 광대한 분야의 특정 개념에 관한 것입니다. 그러나 수학이 NLP 개념의 일부인지 여부가 궁금하다면 수학이 NLP의 필수 부분이라는 것을 알아야 합니다. 수학, 특히 확률 이론, 통계, 선형 대수학 및 미적분학은 NLP를 구동하는 알고리즘의 기본 기둥입니다. 통계에 대한 기본적인 이해는 필요에 따라 통계를 구축하는 데 도움이 됩니다. 그래도 수학에 빠지지 않고 자연어 처리를 배울 수 있는 방법은 없습니다.
정보를 추출하는 데 사용되는 NLP 기술은 무엇입니까?
이 디지털 시대에 소셜 미디어 플랫폼, 고객 불만 및 설문 조사와 같은 다양한 채널에서 주로 오디오, 이미지, 비디오 및 텍스트 형태의 비정형 데이터 생성이 크게 급증했습니다. NLP는 대량의 비정형 데이터에서 유용한 정보를 추출하여 비즈니스에 도움이 됩니다. 통찰력 있는 데이터를 추출하는 데 사용되는 5가지 일반적인 NLP 기술, 즉 명명된 엔터티 인식, 텍스트 요약, 감정 분석, 측면 마이닝 및 주제 모델링이 있습니다. NLP에는 다른 많은 데이터 추출 방법이 있지만 이것이 가장 널리 사용됩니다.