roberta-fake-news-classification项目介绍
背景介绍
roberta-fake-news-classification项目是一个基于 roberta-base
预训练模型的项目,该模型经过在 假的和真实的新闻数据集 上的微调,具有识别新闻真实性的能力。在此数据集上的测试表现出模型具有100%的准确率。
功能概述
该模型主要用于分析新闻文章,并预测其内容是真实的还是虚假的。用户可以输入一篇新闻文章,模型将提供对于新闻真实性的预测结果。
输入格式
用户需要以特定的格式输入新闻内容才能使用模型进行预测,输入格式应为:
<title> 文章标题 <content> 文章内容 <end>
如何在代码中使用
以下是如何在代码中使用此模型的简单步骤:
-
首先,从 Hugging Face 网站下载模型:
from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("hamzab/roberta-fake-news-classification") model = AutoModelForSequenceClassification.from_pretrained("hamzab/roberta-fake-news-classification")
-
然后,按照以下方式进行预测:
import torch def predict_fake(title, text): input_str = "<title>" + title + "<content>" + text + "<end>" input_ids = tokenizer.encode_plus(input_str, max_length=512, padding="max_length", truncation=True, return_tensors="pt") device = 'cuda' if torch.cuda.is_available() else 'cpu' model.to(device) with torch.no_grad(): output = model(input_ids["input_ids"].to(device), attention_mask=input_ids["attention_mask"].to(device)) return dict(zip(["Fake", "Real"], [x.item() for x in list(torch.nn.Softmax()(output.logits)[0])])) print(predict_fake(<HEADLINE-HERE>, <CONTENT-HERE>))
使用Gradio进行实时测试
用户还可以采用 Gradio 进行实时测试,直观方便:
import gradio as gr
iface = gr.Interface(fn=predict_fake, inputs=[gr.inputs.Textbox(lines=1, label="headline"), gr.inputs.Textbox(lines=6, label="content")], outputs="label").launch(share=True)
总结
roberta-fake-news-classification项目是一个优秀的工具,能够帮助用户快速识别新闻的真实性。其高准确性和易于整合的代码支持,使得任何有相关需求的开发者都可以轻松将其应用于实际项目中。