Show HN: I am building a map of people who lived in the Roman Empire

101 points - last Wednesday at 7:28 PM


Driving home from work one day, I wanted to know how many people we knew the names of who lived during the Roman era. Searching around, I found lists of Consuls and officials, but nothing that covered ordinary people or even most people like freedmen and slaves. So I ended up building a pipeline to process the more than 500k Latin inscriptions in the Epigraphic Database Clauss-Slaby https://edcs.hist.uzh.ch/en/ and extract the names of people (and attempt to cluster them, but this is a work in progress).

There are databases where Classicists have done this manually for specific regions, Trismegistos https://www.trismegistos.org/ and Latin Inscriptions of the Roman Empire (LIRE) https://pure.au.dk/portal/en/publications/latin-inscriptions... are two major efforts I found. But there doesn't seem to be a project that did what I set out to do, although I have read in some places that it was believed to be possible.

I am not a classicist or a web developer, but I have Claude and Gemini and I can sort of read basic Latin - so I set to work. I used LIRE and another database as ground truth and built a pipeline to extract and process the inscriptions to recover the names. The process I developed uses a high end LLM like Sonnet or Gemini Pro to supervise the extraction and tuning process on a regional basis until the obvious error rate is reasonable. For this, so far, reasonable to me means less than 1-2% in the smaller initial samples of 100-500 and no observed systemic issues. The different regions often need different prompts, so this basically became an exercise in letting the higher level AI tune the prompt for the lower level AI. The extraction when measured against LIRE produces an F1 score between 0.64 and 0.87, but take this with a grain of salt.

Once I had done a few regions, I wanted to see the work, so I threw together a pretty crude website but as I am not a web developer, it was crude in how it accessed its data. It does look cool and I also added summarization, and machine translation to each entry. I wanted to eventually get feedback from an actual team of classicists and make the website work better, so I am rewriting it as we speak but it is broadly functional now with a few extra bugs but substantially improved performance compared to the old one. All entries link back to the proper sources, and the old web app linked to several additional sources where the data was present, but I haven't gotten that working again just yet on the new one. (The old web interface is still available at https://roman-names.com, but I will warn you it is clunky and not mobile friendly at all)

Key findings so far:

AI supervised AI extraction saved me time. I was manually tuning things for a while and then the runbook became an idea that I feed my instructions in and let the big AI go with sparse oversight from me.

The extraction improved significantly (by about 10 F1 points) when I fed the model the raw text including the markers, vs a cleaned up version of the text.

I just thought it was a cool little project and wanted to share. If you happen to work in any adjacent space and there is something I could do better etc let me know.

Source

Comments

jnovek today at 2:55 PM
I guess before I roll out questions and criticisms, I just want to say that this is a really cool project. I love it.

Could you make the dots smaller in the updated UI? I didn’t realize at first that you were using an actual map of Roman provinces.

My eyesight isn’t great and it would help if you used a political map rather than terrain. I’m not sure what’s out there for ancient Roman map tiles, though.

I’m not so much of an antiquity scholar AND I’m an American so my European geography isn’t perfect. It would be neat to be able to flip to a modern map, too, so I can see where things are in terms of modern landmarks.

You’re not getting a ton of comments so far, but FWIW these are the kinds of projects I come to HN for. I’ve been getting into opera lately and suddenly classical antiquity is very relevant to my interests. I’m going to keep this in my bookmarks, I’m finding the tangential historical stuff related to opera is drawing me in nearly as much as the music.

I’m also going to pass it on to an academic friend of mine who is working in an unrelated field but might find similar techniques useful.

Finally, when I first opened the map, I recognized the basic shape of the peak Roman Empire in the dots! I love when data does that kind of thing.

Thank you again for sharing this very cool project.

cwnyth today at 4:18 PM
Hi, I'm an actual classicist (phd and all), if you wanted to throw any questions my way.
CodeByBryant today at 6:47 PM
Yo. This is tuff. Curious tho, is your database free or did you have to scrape it from somewhere?
trevoragilbert today at 3:03 PM
This is very cool! For the name extraction, how are you handling false positives across such a large dataset? I’m assuming there are mentions that could be a name but are actually just a noun. For example, Agricola being the word for farmer but also a name.
daviTeodoro today at 3:02 PM
Very cool! Do you plan to share the final dataset? I've been working with geographic data all my life and I'm building a Carto/Felt alternative. Do you want to have your data their? It is https://cartografo.io/ There is a price tag, but I can host this dataset for free for you. I would love to have this map there to show case. If you are interested send an email, davi@cartografo.io. If you just need some help improving your map I can help you as well.
metiscus last Thursday at 5:49 PM
I am hoping to push a few fixes to the new web interface later today, so if you looked at this and saw anything off, hopefully by COB today I will have the known issues fixed.
frereubu today at 3:57 PM
This is great. One little bit of UI feedback: the green map clusters when zoomed in quite a bit aren't very obvious on green backgrounds - they merge into the background features a bit (e.g. in the very west of Scotland).
aspenmartin today at 3:52 PM
This is really wonderful -- One thing that may be really cool if you have the data is to add a time-axis ability (unless I missed it) for a given location. This is such a delightful application of AI!
ingvay7 today at 3:33 PM
Love this. For people who aren’t familiar with Roman history, it would be great to have a short guided tour of how to explore the map. I filtered for 'pompeii' and it gave me 117 dots.
avyeed_desa today at 3:48 PM
Congrats to this great idea! Love it.

The ones around my place all use EDH, which also has a map feature, but not as intuitive as this! Reminds me of vici.org

yubblegum today at 4:01 PM
> I have Claude

And just now I am watching I, Claudius.

andai today at 2:50 PM
Could you elaborate on the multi level LLM workflow? Did you set up a benchmark, and you're having a LLM mutate prompts?
oezi today at 2:44 PM
Very nice. Are you using the roman roads which were also on HN a couple of weeks ago?
tonymet today at 5:56 PM
Great resource for baby names. And a great way to help students better understand historiography.
jdthedisciple today at 2:46 PM
Very nice idea but please, check the performance: I had to close the tab 3 seconds in because it got stuck and my CPU fan got noisy.

So I couldn't even check it out properly.

AzizBytes today at 4:55 PM
[dead]
misano today at 3:14 PM
[dead]