Chinese BERT for Stance Analysis (立场分析)
这是一个基于BERT的中文立场分析模型,能够识别文本中表达的支持(SUPPORTIVE)或反对(OPPOSING)立场。
模型信息
- 模型基础: bert-base-chinese
- 任务类型: 二分类文本分类
- 语言: 中文 (Chinese)
- 训练数据: 包含6,668条立场标注数据
- 标签: OPPOSING (反对), SUPPORTIVE (支持)
性能指标
指标 | 数值 |
---|---|
验证集准确率 | N/A |
测试集准确率 | N/A |
训练轮数 | N/A |
使用方法
from transformers import BertTokenizer, BertForSequenceClassification
import torch
# 加载模型和tokenizer
model_name = "FutureMa/stance_ch"
tokenizer = BertTokenizer.from_pretrained(model_name)
model = BertForSequenceClassification.from_pretrained(model_name)
# 示例预测
def predict_stance(text):
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True, max_length=512)
with torch.no_grad():
outputs = model(**inputs)
predictions = torch.nn.functional.softmax(outputs.logits, dim=-1)
predicted_class = torch.argmax(predictions, dim=-1).item()
labels = {"0": "OPPOSING", "1": "SUPPORTIVE"}
confidence = predictions[0][predicted_class].item()
return {
"stance": labels[str(predicted_class)],
"confidence": confidence
}
# 使用示例
text = "我完全支持这个政策,它对社会发展有积极作用。"
result = predict_stance(text)
print(f"立场: {result['stance']}, 置信度: {result['confidence']:.4f}")
数据格式
训练数据采用以下格式:
topic: [话题内容]
answer: [回答内容]
模型基于回答内容判断其对话题的立场。
标签说明
OPPOSING
(0): 反对立场SUPPORTIVE
(1): 支持立场
训练详情
- 优化器: AdamW
- 学习率: 2e-5
- 批次大小: 16
- 最大序列长度: 512
- 早停策略: 验证集准确率连续3轮无提升
- 数据划分: 训练集 6,268 / 验证集 200 / 测试集 200
注意事项
- 模型主要针对中文文本训练
- 最佳输入长度为512个token以内
- 模型对政治、社会话题的立场分析效果较好
- 建议在使用前对特定领域数据进行微调
许可证
本模型遵循Apache-2.0许可证。
引用
如果使用本模型,请引用:
@misc{stance_ch_2025,
title={Chinese BERT for Stance Analysis},
author={FutureMa},
year={2025},
publisher={Hugging Face},
url={https://huggingface.co/FutureMa/stance_ch}
}
模型训练时间: 2025年09月07日
- Downloads last month
- 32
Evaluation results
- Test Accuracy on Chinese Stance Datasetself-reportedN/A
- Validation Accuracy on Chinese Stance Datasetself-reportedN/A