처음부터 텍스트 요약자를 작성하는 방법?

Unsplash에 Stanislav Kondratiev의 사진

우리는 삶의 여러 곳에서 요약을 사용합니다. 책에 대해 읽는 동안 뒷면의 광고 문구는 우리에게 책에 대한 일반적인 아이디어를 제공합니다. 뉴스 앱에는 종종 기사에 대해 설명하는 작은 캡션이 있으며 영화 리뷰는 요약이 매우 가치가 있음을 입증하는 또 다른 장소입니다.

자연어 처리 (NLP) 및 기계 학습과 같은 기술의 출현으로 사람의 개입없이 요약을 생성하는 데 사용하는 것이 어떻습니까?

다가오는 시험을 위해 교과서를 요약하기 전에 몇 가지 중요한 개념을 알아보십시오.

텍스트 요약은 추출 및 추상의 두 가지 유형이 될 수 있습니다.

추출 요약

중요한 문장을 직접 골라 그대로 요약에 추가하는 것으로 정의 할 수 있습니다.

  1. 텍스트를 읽고 문장으로 나눕니다.
  2. 각 문장을 구문 분석하고 특정 매개 변수를 기반으로 다른 문장보다 더 중요한 문장을 식별하고 점수를 할당합니다.
  3. 다른 것보다 순위가 높은 문장을 선택하십시오.
  4. 요약 및 TA DA에이 문장을 추가하십시오! 끝났습니다.

인간이 텍스트를 요약하고 기사를 이해하고 분석하는 것과 비슷합니다.

  1. 텍스트를 읽으십시오.
  2. 텍스트와 문장의 근본적인 의미를 분석합니다.
  3. 중요한 주제를 고르고 새로운 문장을 만드십시오 (기사에서 어휘를 사용할 수도 있고 사용하지 않을 수도 있습니다).
  4. 요약 및 짜잔에이 문장을 추가하십시오!

이 기사에서는 추출 요약에 대해 논의한 다음 처음부터 자체 텍스트 요약자를 작성합니다. 흥분한?

크레딧

용어 빈도-역 문서 빈도 (TF-IDF)

문장이 주어지면 우리는 그것이 무엇을 말하고 있고 무엇을 암시하려고하는지 쉽게 식별 할 수 있습니다. 그러나 컴퓨터는 그것을 할 수 없습니다. 그래서 우리는 무엇을합니까? 위에서 논의한 바와 같이, 우리는 문장의 순위를 매기고 가장 높은 순위의 문장을 선택합니다. 문장의 순위는 누가 결정합니까? TF-IDF.

용어 빈도-역 문서 빈도는 최종 요약에 도달 할 문장을 선택하기위한 기초로 사용할 것입니다. TF-IDF 값은 다음과 같이 계산됩니다.

TF-IDF = 용어 빈도 x 역 문서 빈도

기간 빈도 (TF)

이것은 우리 문서에 단어가 나타나는 횟수를 측정 한 것입니다. 용어 빈도 만 사용하면 짧은 문서에 비해 긴 문서가 단어 'w'에 대해 더 큰 TF를 가지므로 매우 부정확 한 결과를 제공합니다. 그러나 빈도를 총 단어 수로 나누면 정규화 될 수 있습니다. 이것은 TF를 우리에게 더 가치있는 수량으로 만듭니다.

TF (w, d) = 문서 'd'의 단어 'w'발생 / 문서 'd'의 총 단어 수

이것이 맞습니까? 왜 우리는 다른 것이 필요합니까? 글쎄, 생각해 보면“is, am, was”등과 같이 매우 일반적인 모든 단어는 매우 높은 TF 값을 가질 것입니다. TF라는 용어 자체가 다시 한 번 중복되는 것으로 입증 될 것이므로 우리의 구세주 인 IDF를 보라!

역 문서 빈도 (IDF)

IDF로 이동하기 전에 문서 빈도에 대해 살펴 보겠습니다. DF는 총 N 개 문서 중 'w'라는 단어가 포함 된 문서 수입니다. 'D'는 모든 문서의 집합입니다.

DF (w, D) = 단어 'w'를 포함하는 문서 수

그러나 DF는 우리에게 문제가되지 않습니다. 각 용어가 얼마나 많은 정보를 전달하는지 알려줍니다. 반전의 결과로 일반적인 단어는 낮은 IDF 값을 가지지 만 더 적은 발생을 가진 용어는 더 높은 우선 순위를 얻습니다. 큰 문서의 경우이 용어의 값이 급등하기 때문에이 값의 로그를 사용합니다.

IDF (w, D) = log (N / (DF (w, D) + 1))

0으로 나누는 것을 피하기 위해 (DF + 1)로 나누기를합니다. 어떤 경우에는 심각한 찌름이 될 수 있습니다.

TF-IDF (w, d) = TF (w, d) * log (N / (DF + 1))

이 모든 것이 계산되면 TF-IDF 점수와 임계 값을 기준으로 각 문서 (여기서는 문장)의 순위를 매기고 마침내 텍스트 요약을 얻습니다. 꽤 멋지죠? 이제 코딩을 시작합시다!

코드 세그먼트

라이브러리 가져 오기

텍스트 청소

텍스트 파일을 문서가 될 개별 문장으로 변환

각 문장의 단어 수

각 문장의 단어 수

모든 문서의 각 단어에 대한 빈도 목록 만들기

여기에서는 문서의 각 단어의 빈도를 저장하는 목록을 만듭니다.

TF 및 IDF 값 계산

첫 번째 함수는 각 문서 (여기서는 문장)에서 단어의 빈도를 계산합니다. 두 번째 함수는 문장의 각 단어에 대한 역 문서 빈도를 계산합니다.

TF-IDF 값 계산

각 학기에 대한 TF-IDF 점수 계산

모든 문서 순위 지정

문장의 각 단어에 대한 TF-IDF 값을 기반으로 각 문장의 점수를 계산합니다.

요약 생성

임계 값은 TF-IDF 점수 평균의 선형 함수로 계산됩니다.

(참고 : 평균 임계 값은 스칼라를 곱하여 요약 크기를 줄이거 나 늘림으로써 수정할 수 있습니다.)

그리고… 모든 기능을 호출 할 시간입니다!

함수 호출

(참고 : 텍스트 문제가 파일 (* .txt)에 있고 Python 스크립트와 동일한 디렉토리에 있는지 확인하십시오.)

테스트… 테스트… 1, 2, 3!

우, 라라!

결론-멋진 여정의 끝

글쎄요, 저와 함께 코딩하고 텍스트 요약에 대해 배우면서 즐거운 시간을 보내셨기를 바랍니다. 그러나 이것이 텍스트를 요약하는 유일한 방법은 아니며 작업을 수행하기 위해 구현할 수있는 더 많은 기술이 있습니다. 그들도 확인해보세요!

즐거운 시간 되시고 다음에 만나요

자세한 내용은 다음을 확인하십시오.

Suggested posts

애플의 큰 봄 이벤트는 제품의 화려 함이 될 수있다

태블릿, 노트북, M1, 오 마이

애플의 큰 봄 이벤트는 제품의 화려 함이 될 수있다

꾸준한 4 월 강우를 통해 피는 꽃처럼, Apple Spring Product Events는 열렬하지만 충분히 기대됩니다. 영리한 멀티 컬러 봄 디자인으로 자신을 발표하는 올해 봄 제품 이벤트 (미국 동부 표준시 기준 4 월 20 일 오후 1시)는 전적으로 온라인에서 제품 전략과 장치 번호면에서 Apple의 가장 풍부한 행사 중 하나가 될 것입니다.

기계 학습 워크 플로를 실행하여 데이터를 변환하고 txtai로 AI 기반 텍스트 인덱스를 구축합니다.

데이터 흐름에 NLP 변환 적용

기계 학습 워크 플로를 실행하여 데이터를 변환하고 txtai로 AI 기반 텍스트 인덱스를 구축합니다.

txtai는 기계 학습 워크 플로우를 실행하여 데이터를 변환하고 AI 기반 텍스트 인덱스를 구축하여 유사성 검색을 수행합니다. txtai는 텍스트 스 니펫, 문서, 오디오 및 이미지 인덱싱을 지원합니다.

Related posts

Spotify의 마법 성분 : 기계 학습

Spotify의 마법 성분 : 기계 학습

면책 조항 :이 기사는 Spotify와 관련이 없으며 Spotify 및 현재 관련이 없을 수있는 과거 구조에 대한 확인되지 않은 정보로 구성 될 수 있습니다. 음악은 표현의 한 형태, 예술의 형태, 전체적인 문화 활동입니다.

2021 년 2 월에 읽을 4 가지 딥 러닝 논문

2021 년 2 월에 읽을 4 가지 딥 러닝 논문

신경 과학에서 자동 분화, 신경망 이론 및 신경 과정의 과소 적합에 이르기까지 현재 추구되고있는 다양한 딥 러닝 연구 흐름에 대한 더 나은 개요를 얻고 싶으십니까? 합리적으로 통과하기에는 열려있는 arXiv 탭이 너무 많습니까? 전체 동영상을 볼 시간이 너무 적습니까? 논문의 핵심 아이디어와 개념에 대한 간략한 요약 만 있다면. 그런 다음 '머신-러닝-콜라주'시리즈를 소개하게되어 기쁩니다.

내부의 관심 네트워크 그래프

수학에서 NumPy까지 단계별 가이드

내부의 관심 네트워크 그래프

그래프 신경망 (GNN)은 그래프 데이터에서 학습 할 수있는 표준 도구 상자로 등장했습니다. GNN은 콘텐츠 추천 또는 신약 발견과 같은 다양한 분야에서 영향이 큰 문제를 개선 할 수 있습니다.

분할에 대한 고정 2 부 : Python으로 이미지 분할을 수행하는 방법

분할에 대한 고정 2 부 : Python으로 이미지 분할을 수행하는 방법

안녕하세요! 이미지 분할에 대한이 짧은 시리즈의 첫 번째 부분을 읽지 않았다면 여기에서 읽으십시오. 이전 이야기에서 임계 값 및 색상 분할에 대해 논의 했으므로 2 부에서는 색도 분할과 이미지 차이에 중점을 둘 것입니다.