mabil commited on
Commit
65b3168
·
1 Parent(s): 8e70593

Aggiunto focus su materiali e metodi e modalità Re-Fill per PubMed

Browse files
Files changed (2) hide show
  1. .DS_Store +0 -0
  2. app.py +14 -2
.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 = extract_pdf_text(pdf_path)
76
  pdf_tokens = preprocess_text(pdf_text)
77
  results = []
78
  all_keywords = []
79
 
80
  for i, doc in enumerate(comparison_sources):
81
- doc_text = extract_pdf_text(doc) if method == "local" else clean_text(doc)
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(