赛题名称:Detect AI Generated Text 赛题类型:文本分类、自然语言处理 赛题任务:识别哪篇文章是由大型语言模型撰写的 赛题链接👇:
https://www.kaggle.com/competitions/llm-detect-ai-generated-text/
评估指标
提交的内容根据预测概率与观察目标之间的 ROC 曲线下面积进行评估。
对于测试集中的每个 id,您必须预测生成该文章的概率。该文件应包含标头并具有以下格式:
id,generated
0000aaaa,0.1
1111bbbb,0.9
2222cccc,0.4
...
数据集描述
这个竞赛数据集包含大约10,000篇文章,其中一部分由学生撰写,一部分由各种大型语言模型(LLMs)生成。竞赛的目标是确定一篇文章是否由LLM生成。
所有的文章都是作为对七个不同的作文题目之一的回应而写的。在每个题目中,学生被要求阅读一个或多个源文本,然后写出回应。这些信息可能会或者不会作为LLM生成文章的输入。
文件和字段信息:
{test/train}_essays.csv id
- 每篇文章的唯一标识符。prompt_id
- 识别文章是回应哪个作文题目写的。text
- 文章正文。generated
- 文章是由学生写的 (0
) 还是由LLM生成的 (1
)。这个字段是目标变量,在test_essays.csv
中不包括。train_prompts.csv 文章是根据这些字段中的信息编写的。 prompt_id
- 每个作文题目的唯一标识符。prompt_name
- 作文题目的标题。instructions
- 给学生的指示。source_text
- 文章或文章的文本,这些文章是学生在回应中编写的,采用Markdown格式。sample_submission.csv - 一个格式正确的提交文件。
高分思路
基础思路:利用预训练的BERT模型进行微调,以区分学生写的文章和由大型语言模型(LLM)生成的文章。 进阶思路:利用构建的额外数据集,使用TF-IDF向量化文章文本。使用随机梯度下降(SGD)等传统机器学习算法进行训练。
外部数据集样例:https://www.kaggle.com/datasets/alejopaullier/daigt-external-dataset
核心代码如下:
https://www.kaggle.com/code/yongsukprasertsuk/ai-generated-text-mod-weight-add-more-data-0-928/
sgd_model = SGDClassifier(max_iter=5000, tol=1e-3, loss="modified_huber")
sgd_model2 = SGDClassifier(max_iter=5000, tol=1e-3, loss="modified_huber", class_weight="balanced") # max_iter = 1000 -> 5000
sgd_model3 = SGDClassifier(max_iter=10000, tol=5e-4, loss="modified_huber", early_stopping=True)
ensemble = VotingClassifier(
estimators=[
('sgd', sgd_model),
('sgd2', sgd_model2),
('sgd3', sgd_model3)],
voting='soft')
ensemble.fit(X[:train.shape[0]], train.label)
preds_test = ensemble.predict_proba(X[train.shape[0]:])[:,1]
生成外数据注意事项:
调用ChatGPT生成多样样本:
利用ChatGPT生成的文本,确保样本具有一定的多样性,涵盖不同主题、风格和复杂度。 使用不同的温度值或prompt来调用ChatGPT,以获取更多变化的生成文本。 给出prompt并构造输入:
提供给ChatGPT的prompt应该具有多样性,覆盖不同的主题和语境,以确保生成的文本涵盖竞赛数据中可能的各种情况。 构造输入时,考虑使用不同长度的prompt,以模拟在实际应用中可能遇到的情况。 保持输入的一致性,以确保生成的文本具有可比性。 关注指示性信息:
在生成样本时,注意ChatGPT的instructions字段,以确保生成的文本与指示性信息一致。 保持生成的文本与指示性信息之间的逻辑一致性,以提高数据集的质量。 数据集的统一性:
给每个生成的文本分配唯一的ID,以确保数据集的唯一性和标识。 在构建数据集时,维护一致的字段结构,使得生成的文本、prompt和源文本之间的关系清晰可见。 考虑不同难度级别:
在prompt中使用不同难度级别的语言和问题,以模拟学生可能面对的各种情况。 确保生成的文本具有各种难度,使得模型在学习区分学生和AI生成文本时能够更全面地学到特征。 验证生成数据的质量:
在构建生成数据集后,对生成的文本进行一些质量验证,确保文本合理、语法正确,并且与指示信息一致。
# 竞赛交流群 邀请函 #

每天大模型、算法竞赛、干货资讯

文章转载自Coggle数据科学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




