I build AI tools that make public information easier to explore, understand and verify.
I work on AI interfaces to official records and open government data. Every answer these systems give links back to its source. The work combines public data, information retrieval, knowledge graphs and language models.
Website 路 LinkedIn 路 ORCID 路 Publications
A research centre on the official records of the Italian Parliament, started at the University of Milano-Bicocca. Its research appears at ISWC 2026, in the In-Use Track and in Posters & Demos.
The Italian Chamber of Deputies publishes every plenary debate and every roll-call vote as open data. That record answers most questions about what parliament does, but finding who said what means reading hundreds of pages. ParliamentRAG turns the record into a knowledge graph and builds answers that keep three guarantees:
- Every parliamentary group. Majority and opposition both appear. When a group never spoke on the topic, the answer says so.
- Authoritative speakers. An authority model ranks deputies on the topic by their speeches, acts, committee seats and roles.
- Exact quotes with official links. Each quotation links to its passage in the stenographic record. A check drops any quote that does not match the source verbatim before you read it.
The data and the method that checks these guarantees are open. The applications built on top are separate products:
- Stenografo answers precise questions (how did a deputy vote, who chairs a committee) and links each sentence to its source.
- Fascicoli builds one dossier per topic: what each group says and how it votes.
- Scranno shows the Chamber in 3D, with every deputy in their real seat.
719 plenary sessions 路 177k+ speech chunks 路 36.7k parliamentary acts 路 17.5k roll-call votes 路 7M individual vote records
XIX Legislature, updated from official open data
Stack: RAG 路 knowledge graphs 路 RDF/SPARQL 路 hybrid retrieval 路 authority-aware retrieval 路 citation verification 路 MCP
Research centre 路 ISWC demo 路 Research code 路 Dataset
Who Speaks Matters: Authority-Aware Multi-View Retrieval-Augmented Generation over Italian Parliamentary Proceedings
Mirko Tritella, Riccardo Pozzi, Matteo Palmonari 路 ISWC 2026, In-Use Track 路 Springer, to appear
PDF 路 Dataset 路 ORKG
ParliamentRAG: An Authority-Aware Multi-View RAG System for Italian Parliamentary Proceedings
Mirko Tritella, Riccardo Pozzi, Matteo Palmonari 路 ISWC 2026, Posters & Demos 路 CEUR-WS, to appear
PDF 路 Live demo 路 Code
Public institutions publish more records than anyone can read. A language model can summarize them, but a summary without sources asks you to trust the model instead of the record. I build systems that show you what they retrieved, who said it, in which debate, and where to check it.
The questions I work on:
- How can an AI answer stay connected to its evidence?
- How should a system represent who is speaking, in which role and in which debate?
- How can knowledge graphs improve access to public records?
- How do you evaluate a system that summarizes public records, beyond answer accuracy?
Topics: retrieval-augmented generation 路 information retrieval 路 knowledge graphs 路 semantic web 路 LLM evaluation
Now exploring: semantic axes for mapping political positions, and how parliamentary stances change over time.
I started with local public data. In Roseto degli Abruzzi, my home town, election results existed only as PDFs on the municipal website, so I extracted them and republished them as machine-readable data (opendata-roseto). During the pandemic I built a site that tracked the town's COVID-19 figures day by day (roseto-covid). ParliamentRAG takes the same idea to the national parliament.
AI and retrieval: RAG 路 embeddings 路 LLMs 路 hybrid retrieval
Knowledge: knowledge graphs 路 Neo4j 路 RDF 路 SPARQL
Engineering: Python 路 FastAPI 路 Next.js 路 Docker 路 MCP
MSc Data Science, University of Milano-Bicocca 路 BSc Computer Science, University of Bologna
Rome / Milan / Roseto degli Abruzzi 路 mirko.tritella@parliamentrag.it
