🚀 股票相关评论情感推理模型
本项目由新加坡国立大学信息系统学院的学生 Frank Cao、Gerong Zhang、Jiaqi Yao、Sikai Ni、Yunduo Zhang 共同完成,旨在构建一个用于分析股票相关评论情感的模型。该模型基于 RoBERTa-base 进行微调,能够有效判断评论中的情感倾向,为投资者提供有价值的参考。
🚀 快速开始
此模型是基于 RoBERTa-base 模型,在来自 Stocktwits 的 3200000 条评论上进行微调得到的。这些评论带有用户标注的 “Bullish”(看涨)或 “Bearish”(看跌)标签。你可以在推理 API 上尝试输入个人投资者在投资论坛上可能会说的内容,例如 “red”(跌)和 “green”(涨)。
查看 GitHub 代码
✨ 主要特性
- 精准情感分析:通过大量股票评论数据训练,能准确判断评论的看涨或看跌情感。
- 易于使用:提供简单的代码示例,方便开发者集成到自己的项目中。
📦 安装指南
文档未提及安装步骤,暂不提供。
💻 使用示例
基础用法
from transformers import RobertaForSequenceClassification, RobertaTokenizer
from transformers import pipeline
import pandas as pd
import emoji
def process_text(texts):
texts = re.sub(r'https?://\S+', "", texts)
texts = re.sub(r'www.\S+', "", texts)
texts = texts.replace(''', "'")
texts = re.sub(r'(\#)(\S+)', r'hashtag_\2', texts)
texts = re.sub(r'(\$)([A-Za-z]+)', r'cashtag_\2', texts)
texts = re.sub(r'(\@)(\S+)', r'mention_\2', texts)
texts = emoji.demojize(texts, delimiters=("", " "))
return texts.strip()
tokenizer_loaded = RobertaTokenizer.from_pretrained('zhayunduo/roberta-base-stocktwits-finetuned')
model_loaded = RobertaForSequenceClassification.from_pretrained('zhayunduo/roberta-base-stocktwits-finetuned')
nlp = pipeline("text-classification", model=model_loaded, tokenizer=tokenizer_loaded)
sentences = pd.Series(['just buy','just sell it',
'entity rocket to the sky!',
'go down','even though it is going up, I still think it will not keep this trend in the near future'])
sentences = list(sentences)
results = nlp(sentences)
print(results)
🔧 技术细节
训练信息
轮次 |
训练损失 |
验证损失 |
验证准确率 |
epoch1 |
0.3495 |
0.2956 |
0.8679 |
epoch2 |
0.2717 |
0.2235 |
0.9021 |
epoch3 |
0.2360 |
0.1875 |
0.9210 |
epoch4 |
0.2106 |
0.1603 |
0.9343 |
📄 许可证
本项目采用 Apache-2.0 许可证。
📚 详细文档
属性 |
详情 |
模型类型 |
文本分类 |
训练数据 |
来自 Stocktwits 的 3200000 条评论,带有 “Bullish” 或 “Bearish” 标签 |
评估指标 |
准确率 |
库名称 |
transformers |
标签 |
金融 |