Natural-language access to cultural heritage data

CultureBot

Exploring Cultural Heritage Collections with Large Language Models

CultureBot grounds natural-language questions in a cultural knowledge graph, combines structured and textual retrieval, and generates answers that stay linked to the original repository records — instead of replacing them.

Paper in preparation — code and the live demo are available now.

81,852cultural records indexed
12expert-defined personas
52expert-crafted queries
6domain experts
208expert answer evaluations
The problem

Three reasons cultural heritage search falls short

Digital collections encode relations between objects, places, periods, providers, and rights — formalized through models like the Europeana Data Model (EDM) and CIDOC CRM. Keyword search and faceted filters give access to this data, but not to the questions people actually ask about it.

01

Users don't think like a catalogue

Faceted search requires knowing the right terms, fields, and spelling before you can explore. Real questions are relational and interpretive — which objects relate to a place and period, how artefacts differ across providers — and rarely reduce to a keyword.

CultureBot

One pipeline turns a natural-language question into structured graph queries and textual search together, so users never need to know the schema.

02

Generated answers lose their sources

Cultural records carry provenance and evidential weight: dates are approximate, attributions uncertain. Even when citations exist, they often appear as a detached list rather than part of the answer — making claims hard to trace and risking misleading historical connections.

CultureBot

Every answer cites the records that support it inline. Source links are part of the answer, not an appendix — and the system abstains rather than guess when evidence is thin.

03

Flat text retrieval blurs structure

A place can be a findspot, a subject, a production location, or just a passing mention — distinctions that matter for interpretation. Text-only retrieval can find a passage, but it can't expand a region, group by museum, or enforce a period constraint.

CultureBot

A cultural knowledge graph preserves these roles, so structural constraints are handled as validated, read-only graph queries — not text matching.

Architecture

From a question to a grounded, sourced answer

Given a natural-language query, CultureBot grounds it against the knowledge graph, retrieves records through structured metadata relations and hybrid textual search, fuses the two, and generates a source-linked answer — the raw query is never sent straight to a language model.

  1. 1

    Query grounding

    User terms (e.g. “Thessaloniki area”) are fuzzy-matched against the graph and external vocabularies, surfacing candidate places, providers, and museums before any query is generated.

  2. 2

    Knowledge-graph retrieval

    An LLM translates the grounded query into read-only Cypher. Every query must start with MATCH/OPTIONAL MATCH, contain a RETURN clause, reject write or admin operations, and pass a Neo4j EXPLAIN check before it runs.

  3. 3

    Textual retrieval

    Hybrid lexical (BM25) and semantic (FAISS) search over record renderings are combined into a single relevance score:

    s(q, r) = α · slex(q, r) + (1 − α) · ssem(q, r)
  4. 4

    Retrieval fusion

    Graph and textual results are merged and deduplicated, with metadata relations and text snippets attached to each selected record.

  5. 5

    Answer generation

    The model answers only from the fused, retrieved records, citing sources inline and abstaining when the collection doesn't contain enough evidence to answer.

Instance

Running on SearchCulture

CultureBot is repository-independent by design, and is currently instantiated on SearchCulture data covering the movable monuments of the Directorate of Mobile Monuments, Hellenic Ministry of Culture.

Graph layer
Structured metadata projected into a Neo4j property graph — Object, Place, TimeSpan, Concept, Provider, Aggregation, Image, Rights, SourceURI — enriched with external vocabularies and place hierarchies.
Textual layer
A hybrid FAISS + BM25 index over record renderings, deduplicated and combined with reciprocal rank fusion. Embeddings: text-embedding-3-large.
Serving layer
Deployed as an OpenWebUI pipeline with configurable retrieval modes — kg, rag, and the default hybrid — and runtime valves for model, context size, and retrieval depth.
Evaluation design

Tested by the people who use these collections

Six domain experts — archaeologists and cultural heritage researchers — defined 12 realistic personas and authored 52 evaluation queries spanning factual lookup, spatial exploration, thematic comparison, object selection, image-oriented requests, and multi-step reasoning.

ChatGPT
Gemini
CultureBot no graph
CultureBot full, graph-guided

Per-query, per-system

Each of the 52 queries was answered by all four systems and rated by an expert against the originating persona — 208 expert answer evaluations in total. A parallel query-level assessment captured how hard each query would be to answer through manual SearchCulture search, and how long that would take.

Rubric dimensions

HallucinationQuery relevanceEvidence grounding Justification qualityClarityResult usefulness BiasDiversityCompletenessLogical steps Usefulness vs. manual searchNeed for further search

Quantitative results from this expert study are being finalized and will be reported alongside the full preprint.

Cite this work

Citation

The preprint is in preparation — a BibTeX entry will be published here once it is available.

@misc{culturebot,
  title  = {CultureBot: Exploring Cultural Heritage Collections
            with Large Language Models},
  author = {TBD},
  year   = {2026},
  note   = {Preprint in preparation}
}