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 |
|