gs-Logion

ERC Project: GreekSchools CNR-ILC Task Base Model

CNR-ILC/gs-Logion è un modello linguistico neurale basato su architettura Transformer per il Greco Antico, specializzato nel compito di Masked Language Modeling (MLM) e infilling di lacune testuali (integrazione di caratteri e parole mancanti in papiri ed iscrizioni).

Il modello è stato sviluppato nell'ambito del progetto ERC Advanced Grant GreekSchools (Grant Agreement No. 885222) presso l'Istituto di Linguistica Computazionale "A. Zampolli" del CNR (CNR-ILC) di Pisa.


Scopo del Modello e Casi d'Uso

Il modello è specificamente calibrato per supportare papirologi, epigrafisti e filologi classici nell'analisi e restauro dei testi frammentari dell'antichità greca, con particolare attenzione ai Papiri di Ercolano (es. testi filosofici epicurei di Filodemo di Gadara).

Caratteristiche chiave:

  • Lacuna Infilling Multicarattere: integrazione di sequenze mancanti di lunghezza variabile mediante token [MASK].
  • Adattamento di Dominio sul Corpus TLG: continual pre-training sul corpus letterario greco antico (CNR-ILC/gs-dataset-tlg-uncased).
  • Conformità Filologica: normalizzazione model-specific diacritica ed epigrafica.

Highlight dei Risultati

🚀 Exact Match @1: 27.30% (+1.80% vs Pre-FT 25.50%)

🚀 Exact Match @5: 38.40% (+1.50% vs Pre-FT 36.90%)

🚀 BERTScore F1 @1: 83.61% (+0.81% vs Pre-FT 82.80%)

🚀 Cluster Inclusion: 43.20% (+4.80% vs Pre-FT 38.40%)

📊 Risultati Comparativi sul Dataset di Test (TLG)

La valutazione è stata condotta confrontando la baseline pre-addestrata (Pre-FT: cabrooks/LOGION-50k_wordpiece) con il modello fine-tunato (Post-FT: CNR-ILC/gs-Logion) sui casi di test estratti dal corpus TLG (CNR-ILC/gs-dataset-tlg-uncased).

Policy 'Default' (Lacune casuali di 1-6 caratteri simulanti danni fisici ai papiri)

Metric Pre-FT (Baseline) Post-FT (Fine-Tuned) Delta (Δ) Trend
Exact Match @1 25.50% 27.30% +1.80% 🟢
Exact Match @5 36.90% 38.40% +1.50% 🟢
Exact Match @10 40.40% 41.70% +1.30% 🟢
Exact Match @20 42.10% 43.30% +1.20% 🟢
BERTScore F1 @1 82.80% 83.61% +0.81% 🟢
BERTScore F1 @5 87.45% 87.70% +0.24% 🟢
BERTScore F1 @10 88.85% 89.04% +0.19% 🟢
BERTScore F1 @20 89.89% 89.94% +0.05% ⚪
Cosine Similarity Max @1 61.59% 62.68% +1.09% 🟢
Cosine Similarity Max @5 73.21% 73.36% +0.15% 🟢
Cosine Similarity Max @10 76.40% 76.37% -0.04% ⚪
Cosine Similarity Max @20 79.11% 78.77% -0.34% 🔻
Cosine Similarity Mean @1 61.59% 62.68% +1.09% 🟢
Cosine Similarity Mean @5 54.15% 54.62% +0.47% 🟢
Cosine Similarity Mean @10 52.16% 52.63% +0.47% 🟢
Cosine Similarity Mean @20 50.81% 51.03% +0.22% 🟢
Cluster Inclusion Rate 38.40% 43.20% +4.80% 🟢
Mean Inclusion Margin -0.2146 -0.1438 +0.0708 🟢
Gold Centroid CosSim 63.62% 64.34% +0.71% 🟢

Policy 'Word' (Lacune a livello di parola intera)

Metric Pre-FT (Baseline) Post-FT (Fine-Tuned) Delta (Δ) Trend
Exact Match @1 58.40% 59.70% +1.30% 🟢
Exact Match @5 75.80% 78.30% +2.50% 🟢
Exact Match @10 79.70% 82.30% +2.60% 🟢
Exact Match @20 80.20% 83.60% +3.40% 🟢
BERTScore F1 @1 89.08% 89.50% +0.42% 🟢
BERTScore F1 @5 93.34% 93.75% +0.41% 🟢
BERTScore F1 @10 94.28% 94.75% +0.47% 🟢
BERTScore F1 @20 94.58% 95.14% +0.56% 🟢
Cosine Similarity Max @1 83.77% 85.01% +1.23% 🟢
Cosine Similarity Max @5 92.34% 93.38% +1.05% 🟢
Cosine Similarity Max @10 94.08% 94.89% +0.81% 🟢
Cosine Similarity Max @20 94.55% 95.48% +0.93% 🟢
Cosine Similarity Mean @1 83.77% 85.01% +1.23% 🟢
Cosine Similarity Mean @5 67.56% 69.66% +2.10% 🟢
Cosine Similarity Mean @10 64.05% 66.10% +2.05% 🟢
Cosine Similarity Mean @20 61.81% 64.00% +2.19% 🟢
Cluster Inclusion Rate 84.10% 85.80% +1.70% 🟢
Mean Inclusion Margin -1356016844.3703 -5015.6202 +1356011828.7501 🟢
Gold Centroid CosSim 76.31% 78.37% +2.06% 🟢

Policy 'Suffix' (Lacune sulle terminazioni flessive / suffissi grammaticali)

Metric Pre-FT (Baseline) Post-FT (Fine-Tuned) Delta (Δ) Trend
Exact Match @1 12.70% 11.90% -0.80% 🔻
Exact Match @5 27.70% 24.50% -3.20% 🔻
Exact Match @10 31.60% 28.10% -3.50% 🔻
Exact Match @20 32.30% 29.10% -3.20% 🔻
BERTScore F1 @1 81.23% 81.14% -0.09% 🔻
BERTScore F1 @5 86.18% 85.77% -0.42% 🔻
BERTScore F1 @10 87.52% 86.97% -0.56% 🔻
BERTScore F1 @20 88.42% 87.89% -0.53% 🔻
Cosine Similarity Max @1 57.55% 57.53% -0.02% ⚪
Cosine Similarity Max @5 70.71% 70.05% -0.67% 🔻
Cosine Similarity Max @10 74.17% 73.18% -1.00% 🔻
Cosine Similarity Max @20 76.05% 75.34% -0.71% 🔻
Cosine Similarity Mean @1 57.55% 57.53% -0.02% ⚪
Cosine Similarity Mean @5 53.53% 53.32% -0.21% 🔻
Cosine Similarity Mean @10 51.78% 51.46% -0.32% 🔻
Cosine Similarity Mean @20 50.43% 50.03% -0.40% 🔻
Cluster Inclusion Rate 26.30% 34.60% +8.30% 🟢
Mean Inclusion Margin -0.2406 -0.1547 +0.0859 🟢
Gold Centroid CosSim 62.99% 63.72% +0.74% 🟢

  • Exact Match (Top-K) misura l'accuratezza lessicale esatta della ricostruzione.
  • BERTScore F1 & CosSim valutano la plausibilità semantica contestuale anche quando il completamento differisce dalla congettura gold.
  • Cluster Inclusion Rate quantifica la densità e la coerenza dello spazio predittivo rispetto alla gold label.

🛠️ Procedura di Addestramento

Il modello è stato addestrato eseguendo un continual pre-training con obiettivo Masked Language Modeling (MLM) a partire dai pesi pre-addestrati di cabrooks/LOGION-50k_wordpiece.

⚙️ Iperparametri di Addestramento

Iperparametro Valore Configurato
epochs 4
batch_size 64
lr 3.34e-05
chunk_size 128
num_layers_to_freeze 4
weight_decay 0.01
warmup_ratio 0.1
mlm_probability 0.15
max_span_length 2
lr_scheduler_type linear

🔤 Pipeline di Preprocessing e Normalizzazione Filologica

Per allineare il modello alle caratteristiche dei papiri documentari e letterari (in cui mancano accenti, spiriti e punteggiatura moderna), il testo viene normalizzato con le seguenti impostazioni:

  • Case Folding: lower (conversione in minuscolo)
  • Rimozione Segni Diacritici: Abilitata (strip diacritics) (rimozione di accenti, spiriti e iota sottoscritta)
  • Rimozione Punteggiatura: Abilitata

💻 Come Utilizzare il Modello

1. Utilizzo ad alto livello con pipeline di Transformers

from transformers import pipeline

# Inizializzazione della pipeline fill-mask
unmasker = pipeline("fill-mask", model="CNR-ILC/gs-Logion")

# Frase in greco antico normalizzato con lacuna mascherata
text = "περι [MASK] λεγομενων"

# Estrazione dei migliori suggerimenti
suggestions = unmasker(text, top_k=5)
for s in suggestions:
    print(f"Token: {s['token_str']:<15} | Probabilità: {s['score']:.4f} | Testo completo: {s['sequence']}")

2. Inferenza con AutoModelForMaskedLM e AutoTokenizer

import torch
from transformers import AutoTokenizer, AutoModelForMaskedLM

checkpoint = "CNR-ILC/gs-Logion"
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForMaskedLM.from_pretrained(checkpoint)
model.eval()

text = "κατα την [MASK] των πραγματων"
inputs = tokenizer(text, return_tensors="pt")

with torch.no_grad():
    outputs = model(**inputs)
    logits = outputs.logits

# Identifica la posizione del token [MASK]
mask_token_index = torch.where(inputs.input_ids == tokenizer.mask_token_id)[1]
mask_logits = logits[0, mask_token_index, :]
top_5_tokens = torch.topk(mask_logits, 5, dim=1).indices[0].tolist()

print("Candidati suggeriti:")
for token_id in top_5_tokens:
    print("-", tokenizer.decode([token_id]).strip())

Downloads last month
60
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for CNR-ILC/gs-Logion

Finetuned
(1)
this model

Dataset used to train CNR-ILC/gs-Logion

Evaluation results