593. LLM - Detect AI Generated Text | llm-detect-ai-generated-text
我们非常高兴能分享我们的解决方案,并衷心感谢Kaggle社区每一位成员分享的想法、代码和数据集。
我们的最终解决方案工作流程如下:
数据清洗与拼写错误修正
受piotrkoz讨论的启发,我们深入进行了拼写错误修正。首先纠正大规模字符替换错误,然后识别并修正与拼写错误单词的Levenshtein距离为1的单词。该流程同时应用于训练集和测试集以确保一致性。
text = "Thii code handlei the tokenization of your text data uiing the tokenizer from Hugging Face's Transformers library."
text = correct_substitutions(text, 0.06)
text = correct_dist1(text)
# 修正后:"This code handles the tokenization of your text data using the tokenizer from Hugging Face's Transformers library."
这些修正使私有榜分数提升了约0.01。
用于集成的LLM模型
我们在DAIGT-v2数据集上使用LoRA微调了Mistral-7B,在公开榜获得0.884的分数。尽管该模型在私有榜表现不佳(比赛结束前无法预知)。我们也尝试微调DeBERTa-v3但未能超越公开模型。最终采用公开的DistilRoberta模型和我们微调的Mistral-7B进行预测。
我们仅对"困难样本"使用LLM预测,因为TF-IDF特征能稳健预测大多数样本,而LLM可能会逆转部分样本的预测结果。
半监督学习
我们深受aerdem4的笔记启发(仅用测试集和两个"魔法词"在公开榜达到0.91)。然而我们质疑该方法的鲁棒性——其性能严重依赖魔法词选择和每个提示词的样本分布,这也解释了其在私有榜表现不佳的原因。最终我们放弃魔法词方法,改用TF-IDF预测概率标记样本数据,在最后一天使私有榜分数提升了约0.02。
Gengyang Xiao @adrianxiao, Jiayang Zhao @superxiaotang, Junrui Wang @junruiwang, Zhiyang Zhang @zyzhang0109(按字母顺序排列)
欢迎通过Kaggle或LinkedIn与我们联系。
衷心感谢@thedrcat, @aerdem4, @mustafakeser4, @piotrkoz。从你们身上我们获益良多,非常感谢!