Resumen de texto usando PNL

1. Descripción

        El resumen de texto es el proceso de generar resúmenes breves, fluidos y, lo que es más importante, precisos de documentos de texto más extensos. La idea principal detrás del resumen automático de texto es poder encontrar un pequeño subconjunto de la información más importante de toda la colección y presentarla en un formato legible por humanos. Con el crecimiento de los datos de texto en línea, los métodos automáticos de resumen de texto pueden ser muy útiles porque se puede leer más información útil en poco tiempo.

2. ¿Por qué resumir automáticamente el texto?

  1. Los resúmenes reducen el tiempo de lectura.
  2. Al buscar documentos, los resúmenes facilitan mucho el proceso de selección.
  3. El resumen automático aumenta la eficacia del índice.
  4. Los algoritmos de resumen automático están menos sesgados que el resumen humano.
  5. Los resúmenes personalizados son muy útiles en los sistemas de respuesta a preguntas porque brindan información personalizada.
  6. El uso de sistemas de resúmenes automáticos o semiautomáticos permite que los servicios de resúmenes comerciales aumenten la cantidad de documentos de texto que pueden procesar.

3. La base para el resumen del texto 

        En la siguiente figura, hay al menos tres enlaces, 1) clasificación del documento, 2) clasificación del propósito del documento y 3) extracción de información del tema.

3.1 Según el tipo de entrada:

  1.  Documento  único con una longitud de entrada más corta. Muchos de los primeros sistemas de resumen trataban con el resumen de un solo documento.
  2. Múltiples documentos, la entrada puede ser arbitrariamente larga.

3.2 Clasificación según finalidad

  1. Genérico, el modelo no hace suposiciones sobre el dominio o el contenido del texto para resumir y trata todas las entradas como homogéneas. La mayor parte del trabajo que se ha realizado gira en torno a abstracciones genéricas.
  2. Específico del dominio, el modelo utiliza el conocimiento específico del dominio para formar resúmenes más precisos. Por ejemplo, resumir trabajos de investigación en un campo en particular, literatura biomédica, etc.
  3. Basado en una consulta, donde el resumen contiene solo información que responde preguntas de lenguaje natural sobre el texto de entrada.

3.3 Según el tipo de salida:

  1. Extracción, que selecciona oraciones importantes del texto de entrada para formar resúmenes. La mayoría de los métodos de resumen actuales son de naturaleza extractiva.
  2. Abstracción, donde el modelo forma sus propias frases y oraciones para proporcionar resúmenes más coherentes, tal como los generaría un humano. Este enfoque es ciertamente más atractivo, pero mucho más difícil que extraer el resumen.

4. Cómo realizar resúmenes de texto

  • limpieza de texto
  • tokenización de oraciones
  • tokenización de palabras
  • tabla de frecuencia de palabras
  • Resumir

4.1 Limpieza de texto:

# !pip instlla -U spacy
# !python -m spacy download en_core_web_sm
import spacy
from spacy.lang.en.stop_words import STOP_WORDS
from string import punctuation
stopwords = list(STOP_WORDS)
nlp = spacy.load(‘en_core_web_sm’)
doc = nlp(text)

4.2 Tokenización de palabras:

tokens = [token.text for token in doc]
print(tokens)
punctuation = punctuation + ‘\n’
punctuation
word_frequencies = {}
for word in doc:
if word.text.lower() not in stopwords:
if word.text.lower() not in punctuation:
if word.text not in word_frequencies.keys():
word_frequencies[word.text] = 1
else:
word_frequencies[word.text] += 1
print(word_frequencies)

4.3 Tokenización de sentencias:

max_frequency = max(word_frequencies.values())
max_frequency
for word in word_frequencies.keys():
word_frequencies[word] = word_frequencies[word]/max_frequency
print(word_frequencies)
sentence_tokens = [sent for sent in doc.sents]
print(sentence_tokens)

4.4 Crea una tabla de frecuencia de palabras:

sentence_scores = {}
for sent in sentence_tokens:
for word in sent:
if word.text.lower() in word_frequencies.keys():
if sent not in sentence_scores.keys():
sentence_scores[sent] = word_frequencies[word.text.lower()]
else:
sentence_scores[sent] += word_frequencies[word.text.lower()]
sentence_scores

4.5 Resumen de la información del tema:

from heapq import nlargest
select_length = int(len(sentence_tokens)*0.3)
select_length
summary = nlargest(select_length, sentence_scores, key = sentence_scores.get)
summary
final_summary = [word.text for word in summary]
summary = ‘ ‘.join(final_summary)

Introduzca el documento original:

text = “””
Maria Sharapova has basically no friends as tennis players on the WTA Tour. The Russian player has no problems in openly speaking about it and in a recent interview she said: ‘I don’t really hide any feelings too much.
I think everyone knows this is my job here. When I’m on the courts or when I’m on the court playing, I’m a competitor and I want to beat every single person whether they’re in the locker room or across the net.
So I’m not the one to strike up a conversation about the weather and know that in the next few minutes I have to go and try to win a tennis match.
I’m a pretty competitive girl. I say my hellos, but I’m not sending any players flowers as well. Uhm, I’m not really friendly or close to many players.
I have not a lot of friends away from the courts.’ When she said she is not really close to a lot of players, is that something strategic that she is doing? Is it different on the men’s tour than the women’s tour? ‘No, not at all.
I think just because you’re in the same sport doesn’t mean that you have to be friends with everyone just because you’re categorized, you’re a tennis player, so you’re going to get along with tennis players.
I think every person has different interests. I have friends that have completely different jobs and interests, and I’ve met them in very different parts of my life.
I think everyone just thinks because we’re tennis players we should be the greatest of friends. But ultimately tennis is just a very small part of what we do.
There are so many other things that we’re interested in, that we do.’
“””

4.6 Salida (Resumen final): Resumen

I think just because you’re in the same sport doesn’t mean that you have to be friends with everyone just because you’re categorized, you’re a tennis player, so you’re going to get along with tennis players. Maria Sharapova has basically no friends as tennis players on the WTA Tour. I have friends that have completely different jobs and interests, and I’ve met them in very different parts of my life. I think everyone just thinks because we’re tennis players So I’m not the one to strike up a conversation about the weather and know that in the next few minutes I have to go and try to win a tennis match. When she said she is not really close to a lot of players, is that something strategic that she is doing?

Para ver el código completo, echa un vistazo a mi repositorio:

conclusión V

        Este artículo le dice al menos brevemente qué enlaces clave se necesitan para el resumen automático de artículos.

        La creación de conjuntos de datos puede ser mucho trabajo y, a menudo, es una parte que se pasa por alto en el aprendizaje de la ciencia de datos, donde se presta atención al trabajo real. Sin embargo, esa es otra publicación de blog. anup singh

Supongo que te gusta

Origin blog.csdn.net/gongdiwudu/article/details/132258609
Recomendado
Clasificación