New Use Case: Handwriting Recognition to Structured Data

ChatGPT with Vision (GPT-4V) analyzes a handwritten WWII draft card, and not only reads handwriting correctly but also accurately identifies text fields (name, address, next of kin, date of birth, occupation, etc.). This draft card, from my maternal grandfather Dean Lawrence (1921-2003) was chosen for the average block print handwriting; testing will continue to determine how good GPT-4V is with recognizing cursive handwriting, but it appears to handle average print well. Again, though, the innovation is that the AI will correctly label the data; that is, earlier OCR can process simple block handwriting, but it couldn’t tell you whether the text was name, address, or occupation. ChatGPT with Vision (GPT-4V) correctly labels the data. Now, imagine a simple Python script that processes a folder of 20 or 200 or 2000 images like this for you; that will be a trivial task once OpenAI makes API access available for GPT-4V, which is expected (more simply, that is, with middle-school programming skills, tasks such as these will be quickly and easily automated).

PROMPT: You are a professional genealogist; your area of expertise is documents and records; you are adept at extracting every piece of information from a document or record. You are also a skilled writer and image analyst. Think now about a World War II Draft Registration Card, also called DDS Form 1: list every conceivable piece of information that might be found on a draft card (focus especially on names, relationships, dates, places, events, and facts).

Then, find attached a draft card. Extract every piece of information from the image of the draft card.

Finally, create a biographical narrative report from the text on the draft card; dry recitation, no editorializing.

A couple of points to highlight:

  • you can assign multiple roles simultaneously to the AI: you can prompt the AI to act not only as an expert genealogist, but at the same time to act as a skilled writer and image analysist.
  • you can ask for several tasks, essentially stepping ChatGPT through a process.
  • you can ask for a narrative summary of the text in the image, e.g., “create a biographical narrative report from the text on the draft card; dry recitation, no editorializing.”

Here was the response:

RESPONSE:

Information Extracted from the Attached Draft Card:
1. Serial Number: 234
2. Full name of the registrant: Warren Dean Lawrence
3. Place of residence: West Jefferson, Ashe, NC
4. Mailing address: Same as residence
5. Telephone number: Not provided on this card
6. Age in years: 20
7. Date of Birth: May 21, 1921
8. Place of Birth: West Jefferson, USA
9. Name and address of someone who will always know the registrant's address: Mrs. Warren Dean Lawrence, West Jefferson, NC
10. Employer's name and address: Partially illegible but appears to reference a mining company
11. Place of employment or business: West Jefferson, Ashe, NC
12. Signature of the registrant: Appears to be "Dean Lawrence" or a similar variant
13. Date of registration: Not clearly visible on this card

Biographical Narrative Report:
Warren Dean Lawrence, residing in West Jefferson, located in Ashe County, North Carolina, registered for the World War II draft. Born on May 21, 1921, in West Jefferson, USA, he was 20 years old at the time of registration. His mailing address was the same as his place of residence. The individual who would always be aware of Warren's address was Mrs. Warren Dean Lawrence, also of West Jefferson. Warren's employment details reference what appears to be a mining company located in West Jefferson, Ashe, North Carolina. The draft card carries what seems to be his signature, "Dean Lawrence" or a similar variant.

Prompt Chain to process data further

Once we have the “Information Extracted from the Attached Draft Card,” that information can be standardized, so that if you have many sources of this type (in this example, a draft card), the data can be collected, compiled, compared, and analyzed. For example, if you had 20 of these cards, you may wish to move that extracted data into a spreadsheet or database. Saving the data for each record as a CSV (Comma Separated File, a widely-used file format) file allows us to do this simple task. In the instance, I followed-up the first prompt with a second prompt; using the results of one task as the input for a subsequent task is called prompt chaining. Here was my second prompt:

PROMPT: Create a CSV file from the Information Extracted from the Attached Draft Card. Use the format: "FIELD NAME","VALUE", where FIELD NAME is the field label used in the original image and VALUE is the value extracted from the image, such as "NAME","Warren Dean Lawrence". Display the response in a code window for easy copy-and-paste.

ChatGPT responds with the data in the format of a CSV file, and places that information in a code window, which makes copying-and-pasting easy (just click the “📋 Copy code” icon). One beta mode of ChatGPT, called “Advanced Data Analysis” (formerly “Code Interpreter”), will create an actual CSV file and present you with a download link, but for now we can only use one beta feature at a time; expect that to get better in time.

Up Next: Clean, simple cursive handwriting on a draft card

There remain many document types to test. I’ve been testing more challenging samples to discover where the limit of ChatGPT’s handwriting recognition. Up next is a clean, simple cursive script on a form such as this draft card. Ultimately, however, we will test handwritten documents such as letters, diaries, journals, court orders, and probate files. Handwriting recognition is hard, so I expect the limit might be discovered sooner than anticipated, for the time being.


For the record, here is a screenshot of the beginning of this ChatGPT conversation:

New Use Case: Intelligent Image Analysis

ChatGPT Plus with Vision (GPT-4V) is going to be able to do some cool stuff.

New Use Case: Intelligent Image Analysis.

I attached an image of a headstone commemorating my maternal second great-grandparents, David S. Lawrence and Marget M. Lawrence. I thought about what I’d like to know about the image, and I wrote this prompt.

PROMPT: You are an expert genealogist, talented writer, and imaging expert. Your goal is to extract information from images. Find attached an image of headstone. Analyze the image. Transcribe any text on the headstone. Describe any notable features in on the headstone. Describe the whole image. Create a narrative report from the text on the headstone; dry recitation, no editorializing. 

This was a first-attempt, so I didn’t know what to expect.

I was impressed. This is going to be useful. (Imagine writing a simple Python script to process a folder of 20 or 200 or 2000 images like this for you.)

ChatGPT responded:

Transcription of the Headstone:
LAWRENCE
DAVID S.     MARGET M.
FEB. 8, 1845   FEB. 6, 1844
DEC. 26, 1916  AUG.15, 1896

Description of Notable Features:
The headstone appears to be made of a weathered gray stone, possibly granite.

The surname "LAWRENCE" is prominently inscribed at the top of the headstone.

To the left side, details of "DAVID S." are inscribed, and to the right are the details of "MARGET M."

Each individual's birth and death dates are inscribed below their names.

There are floral motifs carved on both the left and right top corners of the headstone, which appear to be blossoming flowers with leaves. These motifs are symmetrical to each other.

The headstone is set on a slightly raised rectangular stone base.
The surrounding area appears to be grassy and suggests the headstone is located in a cemetery.

Narrative Report:
David S. Lawrence was born on February 8, 1845, and passed away on December 26, 1916. Beside him, Marget M. Lawrence was born on February 6, 1844, and departed this life on August 15, 1896. Both are commemorated on a headstone bearing the surname "LAWRENCE," adorned with floral motifs, resting in a grassy location.

Earlier, I had looked at how ChatGPT with Vision handled a fan chart (imperfectly), a pedigree chart (impressively), and a death certificate (also impressively).

Beyond the genealogy community, this use will be very helpful. Having friends in the blind and low vision community, I was aware of the Be My Eyes app for years.

It was a good day at East Coast Genetic Genealogy Conference 2023.


UPDATE: Second success the next day

After leaving East Coast Genetic Genealogy Conference but before leaving Baltimore, my wife and I enjoyed the afternoon attending Poe Fest International, a part of which included a cool walk through cemetery where Poe is buried; I snapped a shot of Poe’s first burial location and the headstone now there, and I processed it with GPT-4V as I did with the Lawrence headstone yesterday.

Nailed it again.

Same prompt. More challenging image, with areas of dark and light, curved text, and more of it. I see no errors in the transcription. And it got the curved text correct, too, though I’m not sure the famous name and popular quotation might not have provided context that would have been useful during the image analysis.

New Use Case with GPT-4 Vision: From Image of Pedigree Chart to Ahnentafel List

Months of waiting came to an end on Tuesday 3 October when I finally got to test ChatGPT with Vision (GPT-4V). This version of ChatGPT can now “See, Hear, and Speak.” I spent a few hours getting acquainted with GPT-4V. This report provides a brief overview of my experience, though there’s much more to explore.

Introduction to GPT-4 with Vision and OCR

ChatGPT with Vision isn’t just your average virtual assistant. It can hold conversations, process vast amounts of information, and even boasts a robust Optical Character Recognition (OCR) feature. With these capabilities, I decided to explore the possibilities of extracting genealogical data from visual charts.

The initial test was to attempt to extract data from an image, specifically, to extract biographical data from a photo of a genealogical chart and to save that data (names, dates, places, relationships) in a format that would be useful to a genealogist, in this attempt, an Ahnentafel list (a simple list to track ancestors).

Initial Fan Chart (partial) Failure

My first trial was with an image of fan chart. As beautiful as these circular wonders are, the curved text became a challenge for our OCR endeavor. Though GPT-4V got much correct, the curved nature of the fan chart’s text near the center made it difficult for it to capture the names accurately.

The results showed promise, but were not immediately useful. And that is typical. I NEVER get a prompt perfect on my first attempt, and it often requires several iterations of prompt refinements to get the quality of result desired. You can see from the results below that the AI did fine with the text that wasn’t curved, but it had trouble with the curved text near the center of the fan chart.

I strongly suspect this failure could be fixed, but my interest last night was to quickly find a successful use case that worked on a first attempt. So I moved onto a more simple challenge: a screenshot of a pedigree chart.

Success: Pedigree Charts and the Ahnentafel System

Recognizing the limitations, I shifted focus to pedigree charts, which present data in a more linear fashion. I first had ChatGPT note the value of the Ahnentafel system, a numerical method to track ancestors; this review has the effect of giving the AI a reminder of how an Ahnentafel list might be composed. Using this system, we set out to capture data from a pedigree chart and format it in an Ahnentafel list.

Here is the prompt I used; with GPT-4V an image can also be uploaded with the prompt. The screenshot above was included with this prompt:

PROMPT: Okay, I've got a simpler chart. First, tell me what you know about the Ahnentafel naming system. Think, then, too, about how the data in an image of a pedigree chart could be extracted via OCR and placed and stored in an Ahnentafel list. Find the attached image of a pedigree chart, extract the names, dates, places, and relationships, and place and store them in a Ahnentafel list (plain text is fine).

I was very pleased with the response. No, that’s an understatement–I was blown away by the response, on a first attempt:

The good news: ChatGPT (GPT-4V) OCR can effectively interpret an image of a pedigree chart, extracting the data and storing it accurately in an Ahnentafel file while preserving the relationship information inherent in the pedigree chart. All details accurate; no hallucinations.

This is significant. Because it is a relatively trivial task to then convert an Ahnentafel file to a GEDCOM, database, spreadsheet, or text file, the information in the image is now almost ready for import into your genealogy program (RootsMagic, Family Tree Maker, Gramps, etc..), Excel or Google Sheets, GDAT, Word, or simple text editor.

Data Extraction On-the-Go, with Your Phone

What’s more, you can do this on your phone! Here, with my smartphone, I took a picture of my laptop screen while a pedigree chart was displayed; GPT-4V correctly extracted the names, dates, and relationships from the photo, and then quickly presented it in a loose narrative report. The AI even picked-up on (correctly) and commented about the possibility of pedigree collapse and/or multiple relationships. All details accurate; no hallucinations. (You can see the full-size image here.)

Next Steps: More Tests; Implications; Possibilities

Next on my list: images of charts on paper, and neatly handwritten pedigree charts, etc.

Last night’s demo or proof-of-concept of extracting and saving biographical data in a genealogy-friendly format which preserves relationship information (the Ahnentafel file) from a picture or screenshot also suggests both clear implications and coming possibilities. A clear implication is that it is now much easier to get information off a printed page and onto the computer in a way that is genealogically meaningful because of the preservation of relationship information (inherently, the pedigree chart depicts who are the parents of whom, and this is captured and saved). A coming possibility suggests itself when we remember that API access to GPT-4V is coming, which means that we will be able to build apps and tools that process folders of our saved images and photos, or perhaps ask an AI assistant to do that for us.

Setting aside future possibilities, there are exciting days coming up now as we test other image use cases and work out the solutions to limits such as encountered with the fan chart. And folks will immediately find helpful this use case of converting an image of of pedigree chart to an Ahnentafel file.


Update:

If you are a ChatGPT Plus user, here is how you will know that GPT-4V has been rolled-out to your account (a process that OpenAI has said will take a couple of weeks). On your computer, tablet, or smartphone, look for a new image/picture icon near your prompt window. Here is what it looks like on a computer:

And on your phone, it looks like this:

ChatGPT Browse with Bing is Back, Albeit a Tad Lobotomized

  • Reintroduction with Restrictions: ChatGPT Browse with Bing returns with enhanced guardrails after initial misuse concerns.
  • Performance Trade-offs: The updated ChatGPT Browse with Bing has more limited capabilities, affecting its speed and efficiency.
  • AI Interaction Tips: Engaging with AI as if it were sentient might yield better results, though it’s symbolic speech.

It’s been a busy week in AI developments: the long-awaited ChatGPT model that can see, hear, and talk began to be rolled out this week (I’m still waiting); Amazon invested $4 billion in Anthropic, the company behind Claude, ChatGPT’s strongest rival; Meta/Facebook is launching AI assistants in its messaging apps WhatsApp, Messenger, and Instagram. And much more.

Lost for a bit in the wave of news was the return of full internet access for ChatGPT. Called ChatGPT Browse with Bing, we had full internet access for a few weeks earlier in the year, but that Beta feature was discontinued when too many folks started using the tool to scrape (copy) websites and access content behind paywalls. So OpenAI pulled the plug to reinforce their guardrails. And, boy, did they tighten things down.

For folks who had ChatGPT Browse with Bing access in the spring for those weeks, there is a noticeable drop in performance in the re-release of the Beta mode. In the spring, ChatGPT Browse with Bing allowed users to apply the full power of GPT-4 to access and process web pages. And it was very useful.

For one thing, live internet access for the chatbot means an earlier limit was overcome. With live internet access, a model can have access to information more current than its training data. That is, without internet access for most of this year, ChatGPT had no knowledge of events after September 2021 when its training ended.

That advantage and benefit is restored.

But at a cost.

ChatGPT Browse with Bing appears to have been somewhat lobotomized; it might now be operating on a fine-tuned GPT-4 model, which could explain some of its altered behavior.

First, it appears that summaries of webpages are limited to a few hundred words, about 500 tokens, probably an attempt at fair use. You can still quiz ChatGPT Browse with Bing about a webpage and eventually get the results you desire. But the process takes much longer now than it did in the spring.

Second, look at the conversation I had with ChatGPT Browse with Bing earlier today. I was able to have ChatGPT Browse with Bing successfully create a list of genealogical education events between October 2023 and through summer 2024. It got all the details correct. But it took 26 prompt refinements. Admittedly, that means it only took about five minutes to build the calendar of events. But in the spring, it would have taken much less time and effort. I suspect this extra work is related to the guardrails that were installed. (This is the only mode of ChatGPT that appears to be effected; that is, other flavors of GPT-4 remain as robust as ever.)

Third, Reddit user ry4ny speculates that OpenAI has adjusted the presence penalty and temperature settings. As ry4ny notes, these changes might occur once the browser feature is engaged, transitioning the model from a ‘normal’ chat mode to a more restricted browsing mode. They also conjecture that the model might be using specific restart texts, which could explain the consistently repetitive endings in its completions.

So, enjoy ChatGPT Browse with Bing, but know that you will need to keep working to get the results you need.

Having just said that, now is probably a good time for a couple of reminders:

  1. just as writing means rewriting, so prompting means re-prompting (I NEVER get anything perfect on the first attempt);
  2. the AI does not have feelings, so it won’t get frustrated if you ask it 26 times to try again–sometimes that’s what it takes; that is, don’t worry about exasperating the AI, reiterate as much as you need to get the results you want; and
  3. weirdly, for reasons that may not be yet fully understood, although the AI is not alive, you get better results when you talk to the AI as if it were a person (they’re called chatbots for a reason).

So it’s okay to use anthropomorphic language with and about the AI. We just occasionally remind ourselves these are figures of speech.

[LANGUAGE NOTE: Anthropomorphism is a figure of speech. AIs are not sentient. They are not alive. They do not "see," they analyze images; they do not "hear," they process audio signals; they do not "think," they evaluate. But it is okay if we speak as if AIs did see, hear, and think. We use figures of speech to communicate better.]

ChatGPT Can Now See, Hear, and Speak

In March, the company behind ChatGPT, OpenAI, teased that new ways to interact with the AI would be coming, in addition to typing and copy-paste; that is, they previewed that we would be able to use images and voice with ChatGPT. Well, it took longer than I had hoped, but those abilities are being rolled out now and over the next two weeks for Plus and Enterprise users. As a Plus subscriber, I don’t have access yet, but we should in the next few days.

Today’s OpenAI announcement is here: https://openai.com/blog/chatgpt-can-now-see-hear-and-speak. But, in a nutshell, OpenAI has introduced voice and image interaction capabilities to ChatGPT, allowing users to have voice conversations and visually show the AI content for enhanced interactions.

Since OpenAI teased these abilities back in March, there has been a lot of daydreaming about new use cases that might be possible with these new abilities. Back then, we were abuzz with speculation on the unfolding potential of GPT-4’s capabilities. The promise of visual input suggested we might soon be feeding the AI everything from portraits to crucial historical documents. A standout notion was the possibility of GPT-4 recognizing and extracting text or even deciphering handwriting from genealogical records such as birth, marriage, or death certificates. The dream? To seamlessly drop a trove of such images into the system and watch as it meticulously extracts every piece of data, repackaging it into various formats like narratives, tables, CSVs, GEDCOMs, or JSONs. The vision was a genealogist’s dream: imagine an AI script sifting through a digital folder bursting with historical records, only to generate a detailed, sourced GEDCOM file, suggesting ties and connections between all mentioned parties. It truly felt like we were on the cusp of revolutionizing our field.

Our expectations have tempered quite a bit in the past six months, but the genealogical exploration coming to ChatGPT Plus in the next weeks and months is exciting.

In their March tease of these abilities, OpenAI released this example of what might be done with visual input (this image is from page 9 of the full report):

Summer is over; time to get busy. I look forward to hearing about your discoveries and I’m excited about sharing mine in the weeks and months to come.

Empowering Genealogists with AI: Presentation to National Genealogical Society (NGS)

First-time visitors: If the topic of AI-assisted genealogy is of interest to you, you can subscribe to the right to receive notice of new posts at AI Genealogy Insights. And Welcome! - Steve

I gave a presentation titled “Empowering Genealogists with AI” to the National Genealogical Society on September 6, 2023. The talk covered emerging beneficial use cases of AI-assisted genealogy while addressing current limits, privacy issues, and ethical concerns, and includes a homework assignment you can complete to create an AI-generated handout as practice (jump to 1:04:00 for instructions). You can view the talk here: https://youtu.be/npQaRJbzE1s.

I had a great time with the presentation. I hope you enjoy it. And I am grateful to NGS for the opportunity.

Crafting a Genealogy Prompt for ChatGPT: Five Valuable Components

The post was prepared as part of my upcoming talk: The National Genealogical Society is hosting a MemberConnects! event on Empowering Genealogists with Artificial Intelligence. Join us Wed. 6 Sept 2023, at 8 p.m. ET. Register here: https://bit.ly/NGSMemberConnects6Sept2023

As we venture deeper into the digital age, the intersection of genealogy and artificial intelligence (AI) is becoming increasingly more exciting. Today, I’m diving into a key skill that will empower your genealogical research with AI: how to craft effective prompts for large language models (LLMs) like ChatGPT.

If you’ve been following the ongoing conversation about genealogy and AI, you’ll recall that while LLMs have an arsenal of abilities, they also come with some quirks. To guide them effectively, we need to be thoughtful in our approach.

So, without further ado, let’s discuss the five components that make for a great genealogy prompt!

1. A Role: Begin by imagining you’re recruiting an expert for a specific task. What’s their profession? What expertise should they possess? By defining a role, you’re setting the stage and giving the LLM a context to operate within.

2. A Goal: What do you want to achieve? This is your endgame. Being explicit here ensures that the AI has a clear understanding of your expectations.

3. A Text: Since genealogy is grounded in factual research, provide the text you’d like the AI to process. By supplying the exact text, you mitigate the risk of the AI generating fictitious information (a phenomenon known as “hallucinating”).

4. A Task: Simplify your request. Break it down into manageable steps, just as you’d explain a process to a bright but inexperienced intern. This ensures the LLM knows the sequence of operations it should perform.

5. A Flask: While the term “flask” is playfully chosen for the rhyme, it represents the container or format you’d like your response in. This could range from a narrative report to a structured database table.

For instance, consider this prompt:

PROMPT: You are an expert genealogist and a seasoned data scientist. Your goal is to extract structured relationship data from a provided obituary. Find below an obituary for John Smith from the July 20, 1923, New York Times, page 18. Extract any explicitly stated relationship information; include a quote that supports that determination. Format your response as a CSV file and display that in a code window for easy copy-and-paste.

By following this structure, you provide the LLM with a roadmap to navigate your request. The result? You get precisely the information you’re looking for, formatted just the way you want it.

In conclusion, the digital world of genealogy is at our fingertips, and with tools like ChatGPT, the possibilities are endless. But remember, like any tool, its effectiveness lies in how we use it. With a role, goal, text, task, and flask in hand, you’re all set to harness the full power of LLMs for your genealogical pursuits. Happy researching! 🌳🔍🖥️

First Blush: ChatGPT’s Code Interpreter a Giant Leap Forward

New model eliminates hallucinations, shatters input limits, and much more

Key Points:

  1. OpenAI’s Code Interpreter is an advanced AI model for ChatGPT, offering the ability to execute code, analyze data, generate charts, and handle files. It can also interact with genealogical data and databases, serving as a potential tool for genealogists.
  2. The Code Interpreter helps address two significant challenges of earlier AI models: hallucinations and input limits. It operates solely on user-provided data, reducing chances of generating false information, and can handle large input files up to 100MB.
  3. The tool demonstrates proficiency in analyzing and visualizing genealogical data, as demonstrated through the GEDCOM file analysis and creation of a timeline for family migration.
  4. Code Interpreter can interact with personal genealogical databases such as RootsMagic, directly engaging with raw data and creating visual representations like network graphs to reveal community interconnectedness.
  5. Despite promising results, the Code Interpreter is in its early days of assessment, and user data security remains paramount. The feature is currently available only for paid ChatGPT Plus subscribers, with further refinements and exploration of its capabilities anticipated.

Introduction

Imagine stumbling upon a powerful tool that has the potential to revolutionize your genealogical exploration, a tool that could seamlessly dive into the intricate knots of your lineage, swim through the waves of complex data, and emerge with valuable insights. Your quest to understand your roots just became a lot more intriguing with OpenAI’s introduction of the “Code Interpreter” for ChatGPT on July 6, 2023.

Designed to elevate the prowess of the already sophisticated ChatGPT, the Code Interpreter is an advanced AI model imbued with capabilities beyond mere text generation and understanding. It facilitates an interactive workspace, allowing the execution of code, analysis of data, generation of charts, editing of files, and even complex calculations. But what sets it apart, especially for genealogists and heritage enthusiasts, is its potential to help decipher genealogical data like GEDCOM files and mine through genealogical databases.

With Code Interpreter, OpenAI offers an elegant solution to two primary challenges that earlier AI models faced – hallucinations and input limits. By ensuring that the AI operates solely on the data you provide, it significantly reduces the chances of ‘hallucination,’ where the AI might generate inauthentic information. Additionally, it can handle input files as large as 100MB, if not more, far exceeding its predecessors.

In this blog post, we take a first glimpse of Code Interpreter, as we begin unpacking the features of this powerful tool, provide a preliminary evaluation of its capabilities, and discuss potential precautions to keep in mind. We’ll also present a couple of genealogical tasks it can perform, shedding light on the immediate and exciting implications of this innovative technology. It will take weeks and months to chart the limits and benefits of this new ChatGPT model, so let’s get started.

More About Code Interpreter

OpenAI’s Code Interpreter is an innovative addition to its AI tool, ChatGPT. Imagine having a smart assistant that can not only understand your requests, but can also run complex analyses, manage files, and even generate charts. All of this is done within a safe and secure environment, providing peace of mind regarding your data’s integrity. The real charm of Code Interpreter lies in its ease of use – you don’t need any programming knowledge. It seamlessly writes and executes Python code based on your needs, working like an intelligent companion in a dynamic workspace. So, whether you want to crunch numbers or organize your files, Code Interpreter empowers ChatGPT to make your interactions more fruitful, efficient, and engaging, all without you having to write a single line of code.

Use Case 1: GEDCOM Analysis

Let’s start with GEDCOM files, a common data format for genealogy enthusiasts. Before Code Interpreter, handling these files with ChatGPT required a rather tedious process of copying and pasting data – a method only feasible for smaller files encompassing a few generations. Now, though, with the ability to upload files directly to Code Interpreter, we can analyze GEDCOM data on a much larger scale. As a test, I uploaded a GEDCOM file, weighing in at 1,741 KB, with information on roughly 3,500 individuals spanning more than ten generations. A diverse family tree of this size would have been a challenge previously, but Code Interpreter took it in stride.

In saying this, I should note that it wasn’t all smooth sailing. Engaging Code Interpreter with the GEDCOM file required persistence and some workarounds. GEDCOM is a unique format, needing to be read line-by-line as opposed to being treated as a structured data container. But once I got Code Interpreter on track, it proved capable of accurately answering various queries about the data.

Fascinated by Code Interpreter’s noted proficiency in data visualization, I attempted to coax it into charting the migration of my ‘Little’ ancestors. While I didn’t manage to extract a geographical map, Code Interpreter surprised me by producing a timeline of the places where the ‘Little’ family resided over centuries. Although this initial draft may not win any design awards, the potential it holds is thrilling. With a bit of tweaking and fine-tuning, this process could transform into a powerful tool for visualizing our ancestors’ journey through time. And, even if we cannot get Code Interpreter to create a map directly, the extracted place-date data can be exported to more sophisticated mapping tools.

Figure 1: Not a failure, yet no great success, but showing great potential, ChatGPT’s Code Interpreter generated a timeline of LITTLE family locations over 300 years by extracting information from a GEDCOM file. This proof of concept took less than a half-hour with the user having no previous experience with Code Interpreter. Next step would be to refine and have Code Interpreter generate migration trail on a map.

This engagement with GEDCOM data left me curious: could Code Interpreter directly engage with a genealogical database such as RootsMagic, Family Tree Maker, or GRAMPS? Exploring this question opened a whole new can of possibilities, as we’ll see in the next section.

Use Case 2: Personal Genealogical Databases

After the mixed success of navigating GEDCOM files, I decided to engage Code Interpreter with my genealogical database software, RootsMagic. Instead of treating genealogical data as a mere transportation medium between systems, I aimed to access the source – the MySQL database where information is stored. The idea was to bypass the constraints of the GEDCOM format and see how Code Interpreter would handle the raw data.

I must admit, the initial success was exhilarating. Unlike the multiple attempts required with GEDCOM, Code Interpreter connected to the MySQL database quickly and began parsing the structure with ease. The interaction felt natural, intuitive, and even conversational – an unexpected, pleasant surprise.

To maintain privacy, I didn’t upload my primary database. Instead, I utilized a smaller database I maintain, documenting the 500-odd residents of a local village cemetery, many of whom were interrelated through two centuries of intermarriage. I wanted to visualize these connections, and so I tasked Code Interpreter with creating a network graph of the graveyard’s community interrelations.

My initial request returned a promising yet somewhat chaotic result. It required some refinement to achieve a clear and meaningful visual representation. However, after a few iterations, Code Interpreter was able to produce an insightful graph. It divided the deceased into 16 distinct clusters, with one particularly large, sprawling group standing out.

Figure 2: Accessing the underlying MySQL database of a RootsMagic file, Code Interpreter generated a network graph of people buried in a cemetery.

To describe our back-and-forth, I first asked Code Interpreter to construct a network graph. We hit a couple of roadblocks early on due to overlooking some data structure intricacies and labeling issues, but Code Interpreter handled these issues remarkably well. Each misstep was met with patient re-evaluation, followed by refined attempts. As we iterated, my companion made changes according to my feedback: focusing on the largest family group, providing unique colors for each surname, ensuring that the complete data could be re-created if needed.

Despite the initial hiccup with labeling, we finally got a striking visualization. The final network graph, color-coded and clean, revealed the interconnectedness of the community in a way that tables or lists of names could never accomplish.

Figure 3: If you’ve ever wondered how people buried together in a cemetery were related to one another, ChatGPT’s Code Interpreter can quickly generate a network graph of their relationships by searching for patterns in your genealogical database, here RootsMagic.

To sum up, Code Interpreter turned a potentially tedious task into a conversational and interactive learning journey. It had its share of stumbles, but I found it surprisingly adaptable and willing to learn from its mistakes. Even though the network graph needed some fine-tuning, the process’s simplicity and potential were promising.

This successful experience with a personal genealogical database invigorated me. I am ready to push the boundaries further and explore Code Interpreter’s capability with other formats – specifically, scanned historical documents. The results, as we will see in my next post, are fascinating.

Conclusion

In our exploratory journey, we’ve found that OpenAI’s Code Interpreter for ChatGPT offers exciting new possibilities for genealogical work. We’ve witnessed it tackle GEDCOM files, interact with personal genealogical databases, and handle complex tasks such as generating visualizations, all while preserving user data security. A significant observation was that the AI did not hallucinate or make things up when only user data was provided, marking a crucial development. In addition, the input limit has been drastically increased, accommodating files as large as 100MB.

Nonetheless, these are still early days of assessment, and this evaluation is not meant to serve as a comprehensive guide. These proof-of-concept applications merely scratch the surface of what this tool can do. It’s also important to note that, at this stage, the Code Interpreter feature is only available for paid subscribers to ChatGPT Plus.

We should also remember that while ChatGPT Plus provides privacy controls, ensuring data security ultimately rests with us. We recommend turning off chat history and chat training to safeguard your genealogical data.

The future is bright, and the possibilities seem endless. We expect a flurry of new use-cases to emerge as genealogists and enthusiasts experiment with this technology. This early assessment merely hints at what’s to come. Code Interpreter is a powerful new ally in our quest to unravel the mysteries of our past, and we look forward to refining our techniques to unlock its full potential.