How I Use Python to Extract Meeting Details from Plain Text Using "spaCy" and "dateparser"
Hello my fellow technomancies and code conjurers; it me, Fidel the Mad Scientist, as the reigning architect of controlled chaos, I've set forth on a noble mission: to harness the arcane power of Python and teach machines to decipher the madness of human meeting notes. My focus point is simple yet diabolically efficient:
To automate the extraction of meeting details—names, dates, platforms—from raw, messy, unpredictable text using the unholy trinity of spaCy, dateparser, and pure Python brilliance.
By the end of this experiment, you’ll wield the power to summon structured data from unstructured gibberish. You shall tame the wild chaos of calendars and build the foundation for smarter, AI-powered scheduling systems...
My Workable Python Script
import dateparser
from dateparser.search import search_dates
import spacy
# Load spaCy English model
nlp = spacy.load("en_core_web_sm")
# Input text
text = """
Fidel the Mad Scientist has one meeting on April 7th, 2025 at 5:00pm
and another meeting on 4/18/2025 at 3:00pm.
Both meetings will be held on Microsoft Teams.
"""
# Step 1: Extract dates using dateparser
date_results = search_dates(text)
# Step 2: Extract person names using spaCy (excluding known platforms)
doc = nlp(text)
known_platforms = {"Microsoft Teams", "Zoom", "Google Meet", "Teams", "Microsoft"}
host_names = [
ent.text for ent in doc.ents
if ent.label_ == "PERSON" and ent.text not in known_platforms
]
# Fallback: Assign based on contextual cues if no PERSON entity is found
if not host_names:
if "Fidel" in text:
host_names = ["Fidel"]
else:
host_names = ["Unknown"]
# Step 3: Extract platform mentions from the text
platform_mentions = [platform for platform in known_platforms if platform in text]
# Output host name(s)
print("Host Name(s):")
for name in set(host_names):
print(f"- {name}")
# Output extracted dates
print("\nMeeting Dates:")
if date_results:
for original, parsed in date_results:
print(f"- '{original}' → {parsed}")
else:
print("No dates found.")
# Output meeting platforms
print("\nMeeting Platform(s):")
if platform_mentions:
for platform in platform_mentions:
print(f"- {platform}")
else:
print("No platform found.")
------------------------------------------------------------------------------------------------------
Output:
Host Name(s):
- Fidel
Meeting Dates:
- 'April 7th, 2025 at 5:00pm' → 2025-04-07 17:00:00
- '4/18/2025 at 3:00pm' → 2025-04-18 15:00:00
Meeting Platform(s):
- Microsoft Teams
How I Use Python to Extract Meeting Info with spaCy and dateparser
Python is an incredibly powerful language for automating everyday tasks, especially when dealing with unstructured data like emails, meeting notes, or plain text. In this example, I used three powerful Python tools—spaCy, dateparser, and dateparser.search—to extract useful meeting information from natural language text.
What’s Used and Why?
spaCy – Natural Language Processing (NLP)
dateparser – Understand Natural Language Dates
search_dates – Scans Text for Multiple Date Mentions
Other Ways You Can Use These Libraries
1. Extract All Dates from Emails or Notes
Useful for scheduling, summarization, or setting up reminders.
Recommended by LinkedIn
2. Generate Meeting Summaries
3. Sync with Calendars
4. Create Structured JSON Records
Transform unstructured meeting notes into structured data:
{
"host": "Fidel",
"dates": ["2025-04-07T17:00:00", "2025-04-18T15:00:00"],
"platform": "Microsoft Teams"
}
5. Feed into Chatbots or Virtual Assistants
6. Data Analysis on Scheduling Habits
7. Build an AI-Powered Scheduling Tool
Tools for Further Enhancement
Task Tool Timezone conversion pytz, zoneinfo Frontend input Streamlit, Tkinter, or Flask Data storage SQLite, MongoDB, or CSV Export calendar ics, icalendar Python packages AI summary OpenAI, LangChain, or transformers
-----------------------------------------------------------------------------------------------------
With just a few lines of Python using spaCy and dateparser, you can automate the extraction of dates, hosts, and platforms from any human-written content. Whether you're automating your own scheduling, enhancing CRM systems, or building intelligent agents, these libraries offer a lightweight, powerful foundation.
Consultant,
Fidel V – The Mad Scientist
Architect. Innovator, Technology Analyst
Design | Implement | Integrate | AI | Automate | Future-proof Cybersecurity