金融与交易
金融文本情绪分析:需要判断正负面并打分时,用…
当需要对金融/新闻文本判断情绪极性(positive/negative/neutral)并输出 -1.0 到 1.0 分数时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
金融文本情绪分析:需要判断正负面并打分时特定
解决思路
- 使用 `scripts/sentiment_tools.py` 进行高速、本地的 FinBERT 金融文本情绪分析。
- 调用 `analyze_sentiment(text)`:用本地 FinBERT 模型获取情绪分数和标签;返回 `{'score': float, 'label': str, 'reason': str}`;分数范围从 -1.0(Negative)到 1.0(Positive)。
- 调用 `batch_update_news_sentiment(source, limit)`:对数据库中未分析的新闻进行批量处理(仅 FinBERT)。
- 当本地工具不足以处理复杂推理或需要更高准确率时,由 Agent 直接调用 LLM 执行分析,必要时再更新数据库。
- 使用指定情绪分析 Prompt 分析金融文本:返回严格 JSON 格式 `{"score": <float: -1.0到1.0>, "label": "<positive/negative/neutral>", "reason": "<简短理由>"}`,输入文本为 `{text}`。
- 按评分指南判定:Positive(0.1 到 1.0)对应乐观新闻、利润增长、政策支持等;Negative(-1.0 到 -0.1)对应亏损、制裁、价格下跌、悲观情绪;Neutral(-0.1 到 0.1)对应事实报道、横盘、影响不明确。
- 使用辅助方法 `update_single_news_sentiment(id, score, reason)` 将手动分析结果保存到数据库。
- 依赖:`torch`(用于 FinBERT)、`transformers`(用于 FinBERT)、`sqlite3`(内置)。
- 确保 `DatabaseManager` 已正确初始化。
适用边界 · 注意事项
- 本地 FinBERT 工具不足以处理复杂推理或需要更高准确率时,不适用仅用 FinBERT,应改用 LLM/Agentic 分析。
- 非金融/新闻文本,或不需要正负面标签与 -1.0 到 1.0 分数时,不适用。
- 未安装 `torch`/`transformers`、未提供 `DatabaseManager` 或未初始化数据库时,本地分析与数据库更新不适用。