FinBERT情感分析实战教程:3行代码让金融新闻与报告自动输出正面、负面、中性

发布时间:2026/8/25 9:12:21
FinBERT情感分析实战教程:3行代码让金融新闻与报告自动输出正面、负面、中性 FinBERT情感分析实战教程3行代码让金融新闻与报告自动输出正面、负面、中性【免费下载链接】FinBERTA Pretrained BERT Model for Financial Communications. https://arxiv.org/abs/2006.08097项目地址: https://gitcode.com/gh_mirrors/finbe/FinBERTFinBERT 是一个在大规模金融语料49亿 tokens上预训练的 BERT 模型专用于金融文本的情感分析只需几行 Python 代码就能把金融新闻、财报、分析师报告自动分类为正面、负面或中性是金融 NLP 入门者的首选工具。为什么金融情感分析需要 FinBERT 专用模型通用语言模型如普通 BERT在金融文本上水土不服同样一个risk在日常语境和财报语境里的含义完全不同。FinBERT 的解决方案是用金融语料重新预训练预训练语料来源规模企业年报 10-K 10-Q25亿 tokens财报电话会纪要Earnings Call13亿 tokens分析师研究报告11亿 tokens合计49亿 tokens在如此规模的金融语料上预训练后FinBERT 在情感分析、ESG 分类等任务上的效果超过了传统机器学习模型和普通微调 BERT 模型因此被广泛认为是金融 NLP 领域的基线模型。 项目完整背景与模型说明见仓库根目录的 README早期基于pytorch_pretrained_bert的原始实现代码保留在archive/目录中如archive/train_bert.py、archive/bertModel.py、archive/datasets.py方便想深入研究训练细节的读者。FinBERT 情感分析快速上手一键安装步骤开始之前先克隆仓库并安装依赖git clone https://gitcode.com/gh_mirrors/finbe/FinBERT cd FinBERT pip install -r requirements.txtrequirements.txt锁定了经过验证的版本组合transformers4.18.0、torch1.7.1等新手直接按文件安装即可避免版本冲突。提示首次运行时模型会自动从 Hugging Face 下载到本地缓存大规模推理建议使用 GPU官方 notebook 中也有此说明。3行代码输出正面、负面、中性FinBERT 情感分类实战FinBERT 的情感分类模型FinBERT-Sentiment模型 IDyiyanghkust/finbert-tone是在1 万条人工标注的分析师报告句子上微调得到的输入一句金融文本输出 Positive / Neutral / Negative 三类结果。核心代码只有 3 行from transformers import pipeline nlp pipeline(text-classification, modelyiyanghkust/finbert-tone) results nlp([growth is strong and we have plenty of liquidity, there is a shortage of capital, and we need extra financing, profits are flat]) print(results)输出效果来自官方演示FinBERT-demo.ipynb的真实运行结果输入句子情感标签置信度growth is strong and we have plenty of liquidity✅ Positive1.000there is a shortage of capital, and we need extra financing❌ Negative0.995profits are flat➖ Neutral0.998可以看到模型不仅能区分资金短缺是负面信号还能理解利润持平属于中性表述——这正是金融场景下普通情感分析模型经常判断错误的地方。完整可运行的示例见仓库中的FinBERT-demo.ipynb直接打开即可逐格运行。不止情感分析FinBERT 的 ESG 与 FLS 分类能力除了情感分析FinBERT 家族还提供两个开箱即用的微调模型同样在FinBERT-demo.ipynb中演示FinBERT-ESG基于 2,000 条 ESG 报告标注句子微调判断文本属于 Environmental环境、Social社会、Governance治理还是无关None帮助投资者识别长期可持续性风险。FinBERT-FLS基于 3,500 条年报 MDA 章节标注句子微调识别前瞻性陈述Forward-Looking Statement区分 Specific-FLS、Non-specific FLS 与非 FLS辅助投资者理解管理层对未来业绩的预期。换模型只需把加载的模型 ID 换成对应的名称即可代码结构完全一致切换成本几乎为零。进阶玩法用 finetune.ipynb 微调你自己的 FinBERT如果你的数据领域比较特殊比如某个细分行业的研报、特定公司的公告可以在 FinBERT 预训练权重基础上继续微调。仓库自带的finetune.ipynb展示了完整流程加载标注好的数据集并划分训练集/测试集用BertTokenizer对文本做分词基于BertForSequenceClassification Hugging FaceTrainer启动训练用准确率等指标评估效果。对刚接触微调的读者建议直接按 notebook 的格子顺序运行一遍再替换成自己的数据是学习 FinBERT 微调最快的路径。常见问题 FAQQFinBERT 情感模型和通用情感分析模型如 TextBlob有什么区别AFinBERT 在 49 亿 tokens 金融语料上预训练、并在 1 万条金融标注句子上微调能理解liquidity流动性financing融资等金融术语的褒贬色彩在金融文本上准确率显著更高。Q中文金融文本可以直接用吗A该模型的词表与训练语料均为英文建议用于英文金融文本中文场景需要另行选择中文预训练模型。Q模型文件存放在哪里A所有微调模型托管在 Hugging Face代码中首次引用模型 ID如yiyanghkust/finbert-tone时会自动下载缓存。写在最后FinBERT 把读懂金融文本这件事变得非常轻量一条pip install、3 行 Python 代码就能让金融新闻与报告自动输出正面、负面、中性标签。无论你是做量化研究的分析师、写课程作业的初学者还是想给业务系统加一个情感标签接口的工程师都可以从这个仓库直接开始动手 【免费下载链接】FinBERTA Pretrained BERT Model for Financial Communications. https://arxiv.org/abs/2006.08097项目地址: https://gitcode.com/gh_mirrors/finbe/FinBERT创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考