Spaces:
Sleeping
Sleeping
Update modules/extractive.py
Browse files- modules/extractive.py +2 -32
modules/extractive.py
CHANGED
|
@@ -138,39 +138,9 @@ class CombinedSummarizer:
|
|
| 138 |
|
| 139 |
|
| 140 |
class BERTSummarizer:
|
| 141 |
-
"""Genera resúmenes usando un modelo BERT extractivo preentrenado."""
|
| 142 |
-
|
| 143 |
def __init__(self):
|
| 144 |
-
"""
|
| 145 |
-
Inicializa el modelo BERT extractivo a través de la clase Summarizer.
|
| 146 |
-
Asegúrate de instalar e importar correctamente la librería 'bert-extractive-summarizer'.
|
| 147 |
-
"""
|
| 148 |
self.model = Summarizer()
|
| 149 |
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
"""
|
| 153 |
-
Genera un resumen extractivo usando un modelo BERT preentrenado basado en oraciones.
|
| 154 |
-
|
| 155 |
-
:param sentences: Lista de oraciones originales (sin procesar).
|
| 156 |
-
:param preprocessed_sentences: Lista de oraciones preprocesadas.
|
| 157 |
-
:param num_sentences: Número de oraciones a devolver en el resumen.
|
| 158 |
-
:return: Un string que contiene el resumen formado por las oraciones más relevantes.
|
| 159 |
-
"""
|
| 160 |
-
# Unimos las oraciones preprocesadas en un texto completo para resumir
|
| 161 |
-
text = ' '.join(preprocessed_sentences)
|
| 162 |
-
summarizer = Summarizer()
|
| 163 |
-
|
| 164 |
-
# Usamos el modelo para generar un resumen con el número de oraciones solicitado
|
| 165 |
-
summarized_text = summarizer(text, num_sentences=num_sentences)
|
| 166 |
-
|
| 167 |
-
# Dividimos el resumen generado para seleccionar las oraciones originales correspondientes
|
| 168 |
-
summarized_sentences = summarized_text.split('. ')
|
| 169 |
-
selected = []
|
| 170 |
-
for summarized_sentence in summarized_sentences:
|
| 171 |
-
for sentence in sentences:
|
| 172 |
-
if summarized_sentence.strip() in sentence:
|
| 173 |
-
selected.append(sentence)
|
| 174 |
-
break
|
| 175 |
-
return ' '.join(selected[:num_sentences])
|
| 176 |
|
|
|
|
| 138 |
|
| 139 |
|
| 140 |
class BERTSummarizer:
|
|
|
|
|
|
|
| 141 |
def __init__(self):
|
|
|
|
|
|
|
|
|
|
|
|
|
| 142 |
self.model = Summarizer()
|
| 143 |
|
| 144 |
+
def summarize(self, text, num_sentences):
|
| 145 |
+
return self.model(text, num_sentences=num_sentences)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 146 |
|