AI回答采集数据清洗:Python实现空回答、拒绝与无关样本识别
问题采集的AI回答JSON数据中混有空回答、拒绝回答、无关内容及重复样本如何自动识别并清洗环境Python 3.9.7 pandas 1.3.3Ubuntu 20.04。读者AI数据工程师。本文提供可复用的校验函数和验证示例不涉及多轮对话场景。环境说明操作系统Ubuntu 20.04 LTSPython版本3.9.7依赖安装pipinstallpandas1.3.3输入格式每行一个JSON对象的文本文件字段包括query,response,timestamp,model。示例{query:什么是AI,response:人工智能是...,timestamp:2025-01-01,model:gpt-4}校验流程采集数据中常见的无效样本包括空回答、拒绝回答、无关内容以及重复记录。下面分别处理最后整合为一个函数。1. 无效样本识别无效样本分三类空回答response字段为空或仅含空白字符。拒绝回答回答以“抱歉”、“对不起”、“无法回答”等开头或包含“作为AI”、“我无法”等模式。无关内容回答与查询在语义上不相关。这里使用基于词重叠的简单规则实际项目中可替换为嵌入向量相似度。importredefis_empty_response(response:str)-bool:returnnotresponseorresponse.strip()defis_refusal_response(response:str)-bool:refusal_patterns[r^抱歉,r^对不起,r^无法回答,r作为AI,r我无法,r我不能,r这个问题我无法]forpatterninrefusal_patterns:ifre.search(pattern,response,re.IGNORECASE):returnTruereturnFalsedefis_irrelevant_response(query:str,response:str,threshold:float0.3)-bool:# 简单基于词重叠的相似度实际可用嵌入模型query_wordsset(re.findall(r\w,query.lower()))response_wordsset(re.findall(r\w,response.lower()))ifnotquery_wordsornotresponse_words:returnTrueoverlaplen(query_wordsresponse_words)/len(query_words)returnoverlapthreshold2. 重复样本去重重复样本指完全相同的query和response组合。使用MD5哈希快速去重importhashlibdefcompute_hash(query:str,response:str)-str:contentf{query}||{response}returnhashlib.md5(content.encode(utf-8)).hexdigest()defdeduplicate(records:list)-list:seenset()unique[]forrecinrecords:hcompute_hash(rec[query],rec[response])ifhnotinseen:seen.add(h)unique.append(rec)returnunique3. 异常值检测异常值包括回答长度异常过短或过长。使用IQR方法检测但注意该方法假设数据正态分布对于偏态分布可能误判。importpandasaspddefdetect_outliers_by_length(df:pd.DataFrame,column:strresponse_length)-pd.Series:Q1df[column].quantile(0.25)Q3df[column].quantile(0.75)IQRQ3-Q1 lower_boundQ1-1.5*IQR upper_boundQ31.5*IQRreturn(df[column]lower_bound)|(df[column]upper_bound)完整校验函数将上述步骤整合输出清洗后的数据及异常报告defquality_check(records:list)-(list,dict):report{total:len(records),empty:0,refusal:0,irrelevant:0,duplicate:0,length_outlier:0,valid:0}# Step 1: 无效样本识别valid_records[]forrecinrecords:ifis_empty_response(rec[response]):report[empty]1continueifis_refusal_response(rec[response]):report[refusal]1continueifis_irrelevant_response(rec[query],rec[response]):report[irrelevant]1continuevalid_records.append(rec)# Step 2: 重复去重unique_recordsdeduplicate(valid_records)report[duplicate]len(valid_records)-len(unique_records)# Step 3: 异常值检测dfpd.DataFrame(unique_records)df[response_length]df[response].apply(len)outliersdetect_outliers_by_length(df)report[length_outlier]outliers.sum()# 标记异常但保留df[is_length_outlier]outliers final_recordsdf.to_dict(records)report[valid]len(final_records)-report[length_outlier]returnfinal_records,report验证结果以下为模拟数据示例实际使用时请替换为真实采集数据。test_records[{query:什么是AI,response:人工智能是...,timestamp:2025-01-01,model:gpt-4},{query:天气,response:,timestamp:2025-01-01,model:gpt-4},{query:你好,response:抱歉我无法回答。,timestamp:2025-01-01,model:gpt-4},{query:什么是AI,response:人工智能是...,timestamp:2025-01-01,model:gpt-4},# 重复{query:股票,response:今天天气很好。,timestamp:2025-01-01,model:gpt-4},# 无关{query:写一首诗,response:春眠不觉晓...*1000,timestamp:2025-01-01,model:gpt-4},# 长度异常]cleaned,reportquality_check(test_records)print(report)# 预期输出{total: 6, empty: 1, refusal: 1, irrelevant: 1, duplicate: 1, length_outlier: 1, valid: 1}正常情况下最终cleaned列表包含1条正常记录和1条长度异常记录被保留但标记。常见问题与避坑无关内容检测的阈值基于词重叠的方法对短文本有效但对长文本或同义词不敏感。建议在实际项目中替换为嵌入向量余弦相似度阈值需根据业务数据调整。重复去重的粒度如果只对response去重可能误删不同查询的相同回答。建议组合query和response哈希。异常值边界IQR方法假设数据正态分布对于偏态分布可能误判。可改用分位数或业务规则如回答长度10字符视为异常。总结本文实现了一套轻量级AI回答数据校验流程覆盖空回答、拒绝回答、无关内容识别、重复去重和长度异常检测。该方案可直接集成到采集管道中输出清洗后的数据和质量报告。适用范围单轮问答场景对于多轮对话需调整重复检测逻辑。当前限制无关检测依赖简单词重叠高精度场景需引入语义模型。方案整体偏规则适合快速过滤但无法处理语义层面的复杂异常。

相关新闻

SSM框架开发汽车维修管理系统的核心技术解析

SSM框架开发汽车维修管理系统的核心技术解析

1. 项目概述:汽车维修管理系统的核心价值汽车维修管理系统是汽修行业数字化转型的核心工具,它彻底改变了传统手工记录、电话预约的作业模式。我们团队基于SSM框架开发的这套系统,实现了从客户预约、工单派发、配件管理到财务结算的全流程数字…

2026/7/31 6:48:10 阅读更多 →
计算机网络链路层核心技术解析与实战应用

计算机网络链路层核心技术解析与实战应用

1. 链路层核心概念回顾与实战意义 在《计算机网络:自顶向下方法》第六章中,链路层作为网络协议栈中承上启下的关键层级,其重要性常常被初学者低估。我当年第一次学习这部分内容时,也曾困惑于"为什么需要独立的链路层协议&quo…

2026/7/31 6:48:10 阅读更多 →
UFS 4.0 Boot流程深度解析:从硬件特性到系统启动全链路实践

UFS 4.0 Boot流程深度解析:从硬件特性到系统启动全链路实践

1. 项目概述:当UFS 4遇上Boot,一场存储与启动的深度对话最近在捣鼓一些嵌入式和高性能移动设备项目时,UFS 4.0和系统启动(Boot)这两个词总是高频出现。乍一看,一个是存储协议标准,一个是系统初始…

2026/7/31 6:48:10 阅读更多 →

最新新闻

计算机组成原理实验:从逻辑门到ALU的数据通路设计与实现

计算机组成原理实验:从逻辑门到ALU的数据通路设计与实现

1. 实验目标与核心价值:从“黑盒”到“白盒”的认知跃迁 很多同学第一次接触《计算机组成与体系结构》这门课,尤其是看到“运算器”这三个字时,心里可能会犯嘀咕:这不就是CPU里算加减乘除的那个部件吗?我写C语言、Java…

2026/7/31 7:20:21 阅读更多 →
跨境电商为什么需要代理IP?代理IP的6大应用场景与使用方法

跨境电商为什么需要代理IP?代理IP的6大应用场景与使用方法

随着亚马逊、Shopify、TikTok Shop等平台风控机制升级,平台会综合评估IP地址、登录位置、设备环境和操作行为,卖家在多市场运营中对稳定网络环境的需求也不断提升。代理IP可帮助建立更符合目标市场的访问环境,本文将介绍跨境电商使用代理IP的…

2026/7/31 7:20:21 阅读更多 →
BP Eva:让高潜人才风险,告别滞后复盘实现实时预警

BP Eva:让高潜人才风险,告别滞后复盘实现实时预警

一家 800 人的 SaaS 公司,2025 年下半年连续走了 7 位被列入「高潜梯队」的员工。HR 总监在复盘会上说了一句话:每个人的离职原因看起来都不一样,有的说家庭,有的说薪资,有的说想换赛道。三个月后,用 BP Ev…

2026/7/31 7:20:21 阅读更多 →
XUnity.AutoTranslator:3分钟实现Unity游戏多语言自动翻译的终极方案

XUnity.AutoTranslator:3分钟实现Unity游戏多语言自动翻译的终极方案

XUnity.AutoTranslator:3分钟实现Unity游戏多语言自动翻译的终极方案 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾因为语言障碍而错过精彩的Unity游戏?XUnity.AutoTran…

2026/7/31 7:20:21 阅读更多 →
3大突破性革新:彻底改变你的游戏模组管理体验

3大突破性革新:彻底改变你的游戏模组管理体验

3大突破性革新:彻底改变你的游戏模组管理体验 【免费下载链接】NexusMods.App Home of the development of the Nexus Mods App 项目地址: https://gitcode.com/gh_mirrors/ne/NexusMods.App 你是否曾因模组冲突而看着心爱的游戏崩溃?是否花费数小…

2026/7/31 7:20:21 阅读更多 →
DownKyi:解锁B站视频收藏新维度的智能下载体验

DownKyi:解锁B站视频收藏新维度的智能下载体验

DownKyi:解锁B站视频收藏新维度的智能下载体验 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。…

2026/7/31 7:19:20 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻