Entity extraction transforms unstructured social media text into structured, queryable data. But standard named entity recognition (NER) models trained on news wire data perform poorly on tweets, Reddit comments, and forum posts where entities are referenced informally, abbreviations are common, and context is minimal.
The Challenge
Social media entities differ from formal text in several ways:
- **Informal references** — "Elon" instead of "Elon Musk", "ETH" instead of "Ethereum"
- **Context-dependent** — "Apple" could mean the company, the fruit, or a record label
- **Evolving** — New products, people, and events appear daily
- **Platform-specific** — Reddit uses flair and hashtags, YouTube uses channel names, Mastodon uses @mentions
Our Multi-Layer Approach
We combine multiple techniques for high-recall extraction:
Layer 1: Pattern Matching
Regex patterns handle high-confidence cases:
- **Ticker symbols** — $AAPL, $TSLA, $BTC
- **Crypto addresses** — Bitcoin, Ethereum wallet patterns
- **Dates and times** — Relative and absolute references
- **Prices and amounts** — $100, 50%, 10K followers
Layer 2: Dictionary Lookup
We maintain curated dictionaries for:
- **People** — Public figures, politicians, celebrities, tech leaders (50K+ entries)
- **Organizations** — Companies, nonprofits, government agencies (100K+ entries)
- **Products** — Tech products, brands, services (200K+ entries)
- **Cryptocurrencies** — Tokens, protocols, DeFi platforms (5K+ entries)
Dictionaries are updated weekly from authoritative sources.
Layer 3: Context-Aware Disambiguation
When multiple entity candidates exist, we use surrounding context:
- **Co-occurrence signals** — "Apple" near "iPhone" or "MacBook" resolves to Apple Inc.
- **Platform context** — In r/wallstreetbets, "GME" is GameStop; in r/gaming, it could be something else
- **Temporal context** — Entity references shift with news cycles and events
Layer 4: ML Classification
For ambiguous cases that pattern matching and dictionaries cannot resolve, we use a lightweight classifier trained on social media text. This handles novel entities and context-dependent disambiguation.
Performance Metrics
On our validation set of 100K manually annotated posts:
- **Precision** — 94% across all entity types
- **Recall** — 89% (lower for rare or newly emerging entities)
- **Latency** — <5ms per post for full entity extraction
- **Coverage** — 15+ entity types including custom financial and crypto categories
Integration with Downstream Analysis
Extracted entities enable powerful downstream capabilities:
- **Topic tracking** — Monitor mentions of specific companies, products, or people over time
- **Competitive intelligence** — Compare brand mention volume and sentiment across platforms
- **Financial signals** — Detect entity-anchored market discussions and event-driven chatter
- **Knowledge graphs** — Build entity relationship maps from conversational data
— Heshan Sanjuka, Founder
