This Python CLI tool downloads a transcript PDF from a URL, preprocesses the text, runs FinBERT sentiment, and creates topic summaries for key questions.
Central bank analysts can use the results from this tool to further supplement their analysis of Global Systemically Important (G-SIB) banks quarterly results.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtpython src/pipeline.pyYou will be prompted for:
- PDF URL
- Min sentence length
- Number of topics
- Drop phrases
- Sentiment summary (y/n)
- Keywords you want to find in the transcript (y/n)
- Suggest keywords (y/n)
- Generate report (y/n)
Outputs:
outputs/utterances.csvoutputs/topic_summaries.csvoutputs/metrics.jsonoutputs/keyword_hits.csv(if keywords used)outputs/suggested_keywords.txt(if suggest keywords enabled)outputs/analyst_report.md(if report enabled)
Prompt templates (these can be edited to your use-case):
prompts/keyword_suggestion.txtprompts/analyst_memo.txt
- Output folder:
outputs/ - Archive history of PDFs analysed:
data/raw/ - Ollama model (can be changed in ai_utils.py):
qwen2.5:3b-instruct
- FinBERT (
ProsusAI/finbert) for sentiment scoring - Ollama local model (
qwen2.5:3b-instruct) for keyword suggestions & report generation