Aggiunto focus su materiali e metodi e modalità Re-Fill per PubMed
Browse files
.DS_Store
CHANGED
Binary files a/.DS_Store and b/.DS_Store differ
|
|
app.py
CHANGED
@@ -46,6 +46,18 @@ def extract_pdf_text(pdf_path):
|
|
46 |
print(f"Errore estrazione testo: {e}")
|
47 |
return clean_text(text)
|
48 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
# Preprocessing testo
|
50 |
def preprocess_text(text):
|
51 |
tokens = tokenizer.tokenize(text.lower())
|
@@ -72,13 +84,13 @@ def calculate_oui(similarity, token_overlap, alpha=0.7, beta=0.3):
|
|
72 |
|
73 |
# Validazione documento
|
74 |
def validate_document(pdf_path, comparison_sources, method="local", titles=None):
|
75 |
-
pdf_text =
|
76 |
pdf_tokens = preprocess_text(pdf_text)
|
77 |
results = []
|
78 |
all_keywords = []
|
79 |
|
80 |
for i, doc in enumerate(comparison_sources):
|
81 |
-
doc_text =
|
82 |
doc_tokens = preprocess_text(doc_text)
|
83 |
|
84 |
similarity = util.pytorch_cos_sim(
|
|
|
46 |
print(f"Errore estrazione testo: {e}")
|
47 |
return clean_text(text)
|
48 |
|
49 |
+
# Funzione per estrarre la sezione "Materiali e Metodi"
|
50 |
+
def extract_materials_and_methods(pdf_path):
|
51 |
+
text = extract_pdf_text(pdf_path)
|
52 |
+
# Supponiamo che la sezione 'Materiali e Metodi' sia identificabile da uno degli headers comuni
|
53 |
+
start = text.lower().find("materials and methods")
|
54 |
+
if start == -1:
|
55 |
+
return text # Restituisce tutto il testo se non trova la sezione
|
56 |
+
end = text.lower().find("results", start)
|
57 |
+
if end == -1:
|
58 |
+
end = len(text) # Fino alla fine del documento se non trova la fine della sezione
|
59 |
+
return text[start:end]
|
60 |
+
|
61 |
# Preprocessing testo
|
62 |
def preprocess_text(text):
|
63 |
tokens = tokenizer.tokenize(text.lower())
|
|
|
84 |
|
85 |
# Validazione documento
|
86 |
def validate_document(pdf_path, comparison_sources, method="local", titles=None):
|
87 |
+
pdf_text = extract_materials_and_methods(pdf_path)
|
88 |
pdf_tokens = preprocess_text(pdf_text)
|
89 |
results = []
|
90 |
all_keywords = []
|
91 |
|
92 |
for i, doc in enumerate(comparison_sources):
|
93 |
+
doc_text = extract_materials_and_methods(doc) if method == "local" else clean_text(doc)
|
94 |
doc_tokens = preprocess_text(doc_text)
|
95 |
|
96 |
similarity = util.pytorch_cos_sim(
|