hermesagent清洗需结构化预处理:一、正则过滤噪声字符;二、规则模板提取字段;三、调用内置clean_text管道;四、语义分块清洗长文档;五、批量校验结果一致性。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您使用HermesAgent处理原始文本数据,但发现输出结果中存在重复、错位、乱码或非目标字段内容,则可能是由于输入文本未经过结构化清洗。以下是执行HermesAgent数据清洗脚本的多种具体操作方式:
一、使用正则表达式预过滤噪声字符
该方法通过定义匹配模式识别并移除常见干扰符号,如连续空白符、不可见控制字符、多余标点组合等,为后续字段提取提供干净的文本基底。
1、在Python脚本中导入re模块,并加载原始文本字符串。
2、执行re.sub(r'[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]+', '', text)清除ASCII控制字符。
3、执行re.sub(r'\s{2,}', ' ', text)将多空格替换为单空格。
4、执行re.sub(r'[^\w\s\u4e00-\u9fff.,!?;:()《》“”‘’\-]+', '', text)剔除非中文、英文、数字及常用标点的杂项符号。
二、基于规则模板提取结构化字段
该方法利用预设的字段锚点(如“姓名:”、“电话:”、“地址:”)定位关键信息位置,避免大模型泛化误判,确保字段边界准确对齐。
1、定义字段关键词字典,例如{"name": r"姓名[::]\s*([^\n\r]+)", "phone": r"电话[::]\s*([\d\-+\s]{7,})"}。
2、对每段文本依次调用re.search()匹配各字段正则,捕获组内容存入字典。
3、对未匹配字段填入null占位,不进行空值插补或猜测填充。
4、将结果字典写入JSONL格式文件,每行一个清洗后样本。
三、调用HermesAgent内置清洗管道
该方法直接启用HermesAgent封装的clean_text()函数,内部集成编码检测、换行归一、HTML标签剥离与敏感词屏蔽四层处理链。
1、确认已安装hermes-agent>=2.3.0版本,且配置文件中clean_pipeline.enabled设为true。
2、构造输入字典:{"raw": "原始文本", "encoding_hint": "utf-8", "strip_html": true}。
3、调用agent.clean_text(input_dict)获取返回字典,其中cleaned字段即为清洗后文本。
4、检查返回字典中的warnings列表,若含["truncated_by_max_length"],说明原文超长被截断,需调整max_input_length参数。
四、按段落语义分割后分块清洗
该方法针对长文档(如PDF OCR结果或会议纪要),先依据语义停顿切分为逻辑段落,再逐段应用轻量清洗策略,防止跨段信息错粘。
1、使用"\n\n"或正则r'\n\s*\n'进行初步段落切分,过滤长度小于5字符的碎片段。
2、对每个段落调用sentence-transformers模型计算与预设主题句的余弦相似度,低于0.35的段落标记为discard_candidate。
3、保留高相关段落,对其执行首尾空白strip()与内部"\n"→" "替换。
4、将筛选后段落用"\n\n"连接,作为最终清洗输出。
五、批量校验清洗结果一致性
该方法通过对比清洗前后字段分布偏移,识别脚本异常行为,例如某类字段清洗后全部消失或长度突变为固定值。
1、对原始文本集统计各字段出现频次及平均长度,保存为baseline.json。
2、运行清洗脚本后,对输出集执行相同统计,生成current.json。
3、执行diff命令比对两文件,重点检查phone字段count差异是否超过5%阈值。
4、若差异超标,回溯日志中最近10条含"phone"关键词的清洗记录,定位pattern失效位置。











