Context
10-K filings are dense, 100+ page documents that analysts must manually review for due diligence and competitive intelligence. Identifying key themes, sentiment shifts, and semantic patterns across multiple filings is time-intensive and doesn't scale. An NLP pipeline can surface the signal from the noise - enabling faster, more systematic analysis.
Technical Approach
Multi-Method NLP Pipeline
I applied three complementary NLP techniques, each capturing different aspects of the text:
1. TF-IDF (Term Frequency–Inverse Document Frequency)
TF-IDF surfaces terms that are important to a specific filing but rare across the corpus. This reveals company-specific strategic language - e.g., one company emphasizing "direct-to-consumer" while competitors focus on "wholesale partnerships." The IDF weighting naturally filters out boilerplate legal language that appears in every filing.
2. Word2Vec Embeddings (Skip-gram, 100-dim)
Word2Vec captures semantic relationships that keyword methods miss. By training on the filing corpus, I built a domain-specific embedding space where:
- "revenue" and "sales" cluster together (synonyms)
- "risk" and "uncertainty" are neighbors (related concepts)
- Company names cluster by competitive positioning
This enables semantic search: "What terms are most similar to 'sustainability' in this company's filings?" - revealing strategic priorities that aren't captured by keyword frequency alone.
3. Sentiment Analysis
Applied lexicon-based sentiment scoring to Risk Factors and MD&A sections. Tracked sentiment polarity across filing years to detect shifts in management tone - a known leading indicator of future performance in financial NLP literature.
Key Finding
Companies with increasingly negative sentiment in Risk Factor sections (year-over-year decline > 0.1 in compound score) showed correlation with subsequent revenue deceleration in the following fiscal year. This is consistent with published research on 10-K sentiment as a predictive signal.
Design Decisions
-
Why TF-IDF + Word2Vec instead of BERT embeddings? For this corpus size (~20 filings), BERT is overkill. TF-IDF provides interpretable keyword extraction, and Word2Vec trained on the domain corpus captures sector-specific semantics. BERT would add complexity without proportional insight gain.
-
Sector focus (apparel & accessories): Narrowing to one sector makes cross-company comparison meaningful - the vocabulary, risk factors, and strategic themes are comparable. A cross-sector analysis would require sector-specific normalization.
Technologies
Python · Jupyter Notebook · NLTK · Gensim (Word2Vec) · Scikit-learn (TF-IDF) · Pandas · Matplotlib