FFT-UniBa at Cruciverb-IT: Special Length Tokens and CSP for Italian Crossword Solving
Abstract
Cruciverb-IT, a shared task proposed at EVALITA 2026, aims to encourage research in automated crossword solving systems by providing a challenging testbed for developing and evaluating systems focused on crossword puzzle solving. The proposed sub-tasks are the following: answering clues extracted from Italian crosswords and autonomously solving Italian crossword grids. To succeed in crossword solving, models must acquire meta-linguistic abilities beyond pure semantic understanding, like counting individual characters or enforcing strict length and pattern constraints typical of crossword answers. In this paper, we present our approach to both sub-tasks, which involves fine-tuning an Italian T5 model with special tokens to represent answer lengths and employing a constraint satisfaction problem (CSP) solver for grid filling. The system demonstrates competitive performance on both tasks, showcasing the effectiveness of our methods in mitigating the challenges posed by crossword puzzles.
How it works
Answering clues. We fine-tuned it5-efficient-small-el32, an Italian T5 model, on about 410,000 clue-answer pairs and 313,000 dictionary definitions. Every example wraps the answer in tokens that state its length. The input indovinello: Capital of Italy [SL=4] has the target [SL=4] Rome [EL=4], so the model learns where a four-letter word ends, and nothing has to trim its output to length afterwards. Removing these tokens lowers MRR from 0.63 to 0.52.
Filling grids. Each empty slot is a variable. Its domain is the model's top candidates ranked by perplexity, plus a few dictionary words that the solver uses only after the model's candidates run out. The solver seeds the grid with high-confidence answers and runs a depth-first search with backtracking from each seed. Budgets grow with the grid: 100 seeds and 100 candidates for grids up to 6×6, and 2,000 seeds with 600 candidates above 10×10.
Results
| Answering clues | Acc@1 | Acc@10 | MRR |
|---|---|---|---|
| Ours | 0.58 | 0.75 | 0.63 |
| BM25 baseline | 0.40 | 0.62 | 0.46 |
| Filling grids | Letters | Words | Full grids |
|---|---|---|---|
| Ours | 92% | 85% | 34% |
| Max-SMT baseline | 73% | 58% | 8% |
BibTeX
@inproceedings{porcelli2026fftuniba,
title = {{FFT-UniBa} at {Cruciverb-IT}: Special Length Tokens
and {CSP} for {Italian} Crossword Solving},
author = {Porcelli, Andrea and Di Gravina, Filippo and
Fontana, Emanuele and Curri, Mattia and
Di Gregorio, Francesco Damiano},
booktitle = {Proceedings of the Ninth Evaluation Campaign of
Natural Language Processing and Speech Tools
for Italian (EVALITA 2026)},
series = {CEUR Workshop Proceedings},
volume = {4195},
year = {2026},
url = {https://ceur-ws.org/Vol-4195/45.pdf}
}
Watch the solver
A 5×5 grid with hand-written clues and candidate lists (not real model output), solved the way the paper describes: seed with the most confident answer, fill slots depth-first, and backtrack when crossing letters disagree.