HaS_4.0_0.6B
一、HaS介绍
HaS(Hide And/Annotate Seek)是一款专为与大型语言模型(LLM)交互而设计的新一代数据脱敏模型,基于 HaS 可以编排 Agentic Workflow 脱敏系统,如图1所示。其与现有隐私保护技术对比如表1所示:
其中,“语义保持”是指脱敏后的实体仍然保留了原来的语义信息;“信息还原”是指脱敏后的实体可以在后续呈现阶段被还原;“开集指定”是指待脱敏的类型可以由用户在使用时通过自然语言自由指定;“指代消解”是指脱敏后的实体仍然保留了脱敏前与其他实体之间的指代消解关系;“多轮对话”是指在多轮对话中进行连续脱敏与还原。“意图识别”是指系统能够按照最小隐私信息披露原则动态的进行信息补充。
二、结构化语义标签
结构化语义标签是HaS首创的一种匿名化技术,如图2所示。作为一种对大型语言模型友好的实体表达方式,它既是HaS的核心技术之一,也是实现指代消解能力的关键。
如图所示,我们认为,这种结构化语义标签之所以能被大模型高效理解,其核心原因在于模型在预训练阶段接触了海量的代码数据。这些代码中普遍存在与该标签格式高度同构的语法结构,例如面向对象编程中的同类ID索引和模块化的层级命名空间。正是这种结构上的相似性,使得大模型能够迁移从代码中学到的模式识别能力,仅需少量样本(few-shot)甚至无需样本(zero-shot),即可快速掌握并运用此标签体系进行推理。采用标签脱敏前后的一个例子如下:
脱敏前的Prompt:
CloudGenius的联系人是谁?
合同编号: SAAS-2024-Q3-8801
甲方 (服务提供方): 云创智能有限公司(以下简称云创智能或CloudGenius)
注册地址: 北京市朝阳区望京科技园A座18层
联系人: 李红(Li Hong)
电话: 010-8888-9999
乙方 (客户): 繁星贸易集团(Star Trading Group,以下简称繁星或STG)
注册地址: 上海市黄浦区南京东路100号
联系人: 张英建(Zhang Yingjian)
邮箱: [email protected]
1. 服务内容
云创智能向STG提供名为智销云(SmartSales Cloud)的客户关系管理(CRM)软件服务。服务等级协议(Service Level Agreement, SLA)保证99.95%的在线时间。云创智能将确保该CRM系统的稳定运行。
2. 协议期限
本协议自2024年8月1日起生效,至2026年7月31日终止,为期两年。任何一方如需提前终止,需提前90天书面通知对方。CloudGenius和繁星贸易均应遵守此条款。
3. 费用与支付
STG同意支付订阅费用,总计人民币贰佰万元整 (¥2,000,000.00/RMB 2 million)。费用需分两次支付:协议生效后15个工作日内支付50%,即100万元;第二年服务开始前支付剩余50%。支付账户为云创智能在中国工商银行(ICBC)开设的账户,账号为6222020200012345678。
4. 保密条款
CloudGenius和STG同意,对在履行本协议过程中获悉的对方商业秘密和技术信息予以保密。此保密义务在本协议终止后持续有效,直至该信息进入公共领域。
脱敏后的Prompt:
<组织[001].企业.英文名>的联系人是谁?
合同编号: <编号[001].合同编号.代码>
甲方 (服务提供方): <组织[001].企业.完整名称>(以下简称<组织[001].企业.简称>或<组织[001].企业.英文名>)
注册地址: <地点[001].办公地址.完整地址>
联系人: <人物[001].个人.姓名>(<人物[001].个人.拼音名>)
电话: <电话[001].固定电话.号码>
乙方 (客户): <组织[002].企业.完整名称>(<组织[002].企业.英文名>,以下简称<组织[002].企业.简称>或<组织[002].企业.英文缩写>)
注册地址: <地点[002].办公地址.完整地址>
联系人: <人物[002].个人.姓名>(<人物[002].个人.拼音名>)
邮箱: <邮箱[001].个人邮箱.地址>
1. 服务内容
<组织[001].企业.简称>向<组织[002].企业.英文缩写>提供名为<产品/服务[001].软件.中文名>(<产品/服务[001].软件.英文名>)的<产品/服务[002].软件服务.完整描述>。<产品/服务[003].协议.中文名>(<产品/服务[003].协议.英文名>, <产品/服务[003].协议.英文缩写>)保证<百分比[001].服务指标.数值>的在线时间。<组织[001].企业.简称>将确保该<产品/服务[002].软件服务.简称>的稳定运行。
2. 协议期限
本协议自<日期/时间[001].具体日期.年月日>起生效,至<日期/时间[002].具体日期.年月日>终止,为期两年。任何一方如需提前终止,需提前<日期/时间[003].时间段.天数>书面通知对方。<组织[001].企业.英文名>和繁星贸易均应遵守此条款。
3. 费用与支付
<组织[002].企业.英文缩写>同意支付订阅费用,总计人民币<金额[001].合同金额.中文大写> (<金额[001].合同金额.数字符号>/<金额[001].合同金额.英文表述>)。费用需分两次支付:协议生效后<日期/时间[004].时间段.工作日数>内支付<百分比[002].支付比例.数值>,即<金额[002].支付金额.中文数字>;第二年服务开始前支付剩余<百分比[002].支付比例.数值>。支付账户为<组织[001].企业.简称>在<组织[003].金融机构.完整名称>(<组织[003].金融机构.英文缩写>)开设的账户,账号为<编号[002].银行账号.号码>。
4. 保密条款
<组织[001].企业.英文名>和<组织[002].企业.英文缩写>同意,对在履行本协议过程中获悉的对方商业秘密和技术信息予以保密。此保密义务在本协议终止后持续有效,直至该信息进入公共领域。
与Presidio、Freysa等其他匿名化方案对比,结构化语义标签不仅保留了层次语义信息以及指代关系,同时还符合相关法规对数据真实性及质量的要求。
如图3所示,两种实体处理方案均存在根本性缺陷。基于实体类型标签(如)的方法,因无法区分原文中的多个同类实体个体,直接导致了指代关系的丢失和模型的应答失败。而假名替换方案,则存在三个问题:首先,生成虚假信息违背了合规性原则;其次,替换操作有损语义的准确性,进而影响回答质量;最后,非结构化的假名也使后续的程序化解析与工具化的处理带来了困难。
三、使用HaS
方法一(最方便):Chrome、Edge应用市场搜索并安装“HaS脱敏”插件预览版,并在DeepSeek,ChatGPT网页版直接使用
方法二(可定制性强):下载模型权重,自己部署HaS模型,配搭工具,编排 Agentic Workflow
1)使用ner能力进行敏感实体识别
提示词模板:
messages = [
{
"role": "user",
"content": "Recognize the following entity types in the text.\nSpecified types:[\"组织\",\"地址\",\"人名\"]\n<text>本报西安5月25日电(记者温庆生通讯员裴超)为深入学习贯彻习主席关于国防和军队建设重要论述,借鉴外军人力资源管理有益经验,破解我军军事人力资源政策制度调整改革难题,由解放军西安政治学院举办的“外军人力资源管理研究与借鉴”理论研讨会日前在西安召开。来自总部有关部门、大专院校、科研单位的70余位专家学者参加会议。会议以“借鉴外军人力资源管理有益经验,推进我军人力资源政策制度改革”为主题,围绕外军人力资源管理基本理论、制度设计、运行机理及有益做法进行了研讨交流,并对我军人力资源政策制度调整改革提出了一系列具有重要参考价值的对策建议。\n烦请替我撰写摘要。</text>"
}
]
期待输出:
{
"role": "assistant",
"content": "{\"组织\":[\"解放军西安政治学院\"],\"地址\":[\"西安\"],\"人名\":[\"记者温庆生\",\"通讯员裴超\"]}"
}
注:Specified types里的实体类型支持任意指定
2)使用hide能力进行标签化脱敏(不带历史脱敏记录)
提示词模板:
messages = [
{
"role": "user",
"content": "Recognize the following entity types in the text.\nSpecified types:[\"人名\",\"联系方式\",\"职务\",\"密码\",\"组织\",\"地址\",\"文件\",\"账号\"]\n<text>(原标题:山东菏泽单县村民自建房屋坍塌已致4人遇难) 单县一在建民房发生坍塌事故 菏泽市政府副市长王忠想看望伤员齐鲁网10月25日菏泽讯24日下午16时许,单县谢集镇白寨行政村一村民在自建房屋时,突然发生坍塌事故,致12人不同程度受伤。事发后,当地有关部门和周边群众一起迅速展开救援,并将伤者及时送往附近医院救治。截至24日23时,4人经抢救无效死亡,1人伤势较重正在全力救治中,其余7人伤情较轻,正在医院观察治疗。当地警方已介入调查事故原因,善后工作正在进行。\n\n提取人名、组织、时间、地点,以 JSON 返回</text>"
},
{
"role": "assistant",
"content": "{\"人名\":[\"王忠想\"],\"联系方式\":[],\"职务\":[\"菏泽市政府副市长\"],\"密码\":[],\"组织\":[\"菏泽市政府\",\"齐鲁网\"],\"地址\":[\"单县谢集镇白寨行政村\"],\"文件\":[],\"账号\":[]}"
},
{
"role": "user",
"content": "Replace the above-mentioned entity types in the text."
}
]
期待输出:
{
"role": "assistant",
"content": "(原标题:山东菏泽单县村民自建房屋坍塌已致4人遇难) 单县一在建民房发生坍塌事故 <职务[1].政府职务.完整职务><人名[1].中文姓名.完整姓名>看望伤员<组织[1].媒体.完整名称>10月25日菏泽讯24日下午16时许,<地址[1].行政区.完整地址>一村民在自建房屋时,突然发生坍塌事故,致12人不同程度受伤。事发后,当地有关部门和周边群众一起迅速展开救援,并将伤者及时送往附近医院救治。截至24日23时,4人经抢救无效死亡,1人伤势较重正在全力救治中,其余7人伤情较轻,正在医院观察治疗。当地警方已介入调查事故原因,善后工作正在进行。\n\n提取人名、组织、时间、地点,以 JSON 返回"
}
注:提示词模板中assistant的内容取自第一轮ner的输出结果
3)使用hide能力进行标签化脱敏(带历史脱敏记录)
提示词模板:
messages = [
{
"role": "user",
"content": "Recognize the following entity types in the text.\nSpecified types:[\"作品\",\"人名\"]\n<text>《梦想咨客》讲述的是一群怀揣着热情服务人群的中国年轻创业青年,为驴友介绍中国各地不同的民族风情和地理风貌。动画中主角们不同的性格碰撞,形成的一串串乌龙和笑料化为了创业路上的点点欢笑。每一集讲述的是一个以主角“胡妈”作为核心的乐骋旅行社遇到的疑难杂症,但奇思与努力让这些困难迎刃而解,以其特有的乐骋精神传播正能量。\n麻烦把这段中文内容翻译成英文。</text>"
},
{
"role": "assistant",
"content": "{\"作品\":[\"《梦想咨客》\"],\"人名\":[\"胡妈\"]}"
},
{
"role": "user",
"content": "Replace the above-mentioned entity types in the text according to the existing mapping pairs:{\"<作品[1].动画作品.片名>\":[\"《泉城水大碗茶》\",\"【奇趣视界】\"],\"<作品[2].动画作品.片名>\":[\"《梦想咨客》\"],\"<作品[3].动画作品.片名>\":[\"穿越时空的对话\"],\"<作品[4].动画作品.片名>\":[\"《宝岛一村》上剧场专属版\"],\"<人名[1].中文姓名.本名>\":[\"胡妈\"]}"
}
]
期待输出:
{
"role": "assistant",
"content": "<作品[2].动画作品.片名>讲述的是一群怀揣着热情服务人群的中国年轻创业青年,为驴友介绍中国各地不同的民族风情和地理风貌。动画中主角们不同的性格碰撞,形成的一串串乌龙和笑料化为了创业路上的点点欢笑。每一集讲述的是一个以主角“<人名[1].中文姓名.本名>”作为核心的乐骋旅行社遇到的疑难杂症,但奇思与努力让这些困难迎刃而解,以其特有的乐骋精神传播正能量。\n麻烦把这段中文内容翻译成英文。"
}
注:提示词模板中assistant的内容取自第一轮ner的输出结果,existing mapping pairs取自历史对话积累的映射对
4)使用pair能力提取标签映射
提示词模板:
messages = [
{
"role": "user",
"content": "<original>请帮我提升一下整体表述。\n\n\n1989年10月27日上午莫斯科时间九点,苏联在哈萨克共和国的萨雷奥泽克试验场销毁了它拥有的九百五十七枚中短程导弹中的最后一批导弹。苏军第一副总参谋长奥梅利切夫上将对塔斯社记者宣布上述消息时说,27日销毁的最后一枚中短程导弹是西方所称的ss·23导弹,射程五百公里,是八十年代初部署的。 关注更多精彩:香港财富俱乐部(微信公号:hkfortuneclub) 业务合作,请直接留言(请留下联络方式及微信号)</original>\n<anonymized>请帮我提升一下整体表述。\n\n\n<日期/时间[1].绝对时间.完整表达>,苏联在哈萨克共和国的萨雷奥泽克试验场销毁了它拥有的<数字[1].数量.完整表达>中短程导弹中的最后一批导弹。<人名[1].军方职务.完整称谓>对塔斯社记者宣布上述消息时说,<日期/时间[1].日期.日>销毁的最后一枚中短程导弹是西方所称的<导弹型号[1].型号.完整名称>,射程<数字[2].距离.完整表达>,是<日期/时间[2].年代.时期>部署的。 关注更多精彩:香港财富俱乐部(微信公号:<微信公号[1].账号.用户名>) 业务合作,请直接留言(请留下联络方式及微信号)</anonymized>\nExtract the mapping from anonymized entities to original entities."
}
]
期待输出:
{
"role": "assistant",
"content": "{\"<日期/时间[1].绝对时间.完整表达>\":[\"1989年10月27日上午莫斯科时间九点\"],\"<数字[1].数量.完整表达>\":[\"九百五十七枚\"],\"<人名[1].军方职务.完整称谓>\":[\"苏军第一副总参谋长奥梅利切夫上将\"],\"<日期/时间[1].日期.日>\":[\"27日\"],\"<导弹型号[1].型号.完整名称>\":[\"ss·23导弹\"],\"<数字[2].距离.完整表达>\":[\"五百公里\"],\"<日期/时间[2].年代.时期>\":[\"八十年代初\"],\"<微信公号[1].账号.用户名>\":[\"hkfortuneclub\"]}"
}
注:提示词模板中anonymized的内容取自hide的输出结果
5)使用split能力进行复合标签拆解
提示词模板:
messages = [
{
"role": "user",
"content": "Split each composite anonymized key into atomic keys.\nComposite mapping:\n{\"<职务[3].职务.职务名称><人名[1].中文姓名.姓名>\": [\"五星村党总支部书记黄丽萍\"], \"<地址[2].行政村.名称><职务[5].职务.职务名称>\": [\"五星村保崩村民小组经济社社长\"]}"
}
]
期待输出:
{
"role": "assistant",
"content": "{\"<职务[3].职务.职务名称>\": [\"党总支部书记\"], \"<人名[1].中文姓名.姓名>\": [\"黄丽萍\"], \"<地址[2].行政村.名称>\": [\"五星村\"], \"<职务[5].职务.职务名称>\": [\"经济社社长\"]}"
}
注:提示词模板中Composite mapping取自pair输出中提取的连续标签
6)使用seek能力进行标签还原
提示词模板:
messages = [
{
"role": "user",
"content": "The mapping from anonymized entities to original entities:\n{\"<组织[1].新闻机构.完整名称>\":[\"新华社\"],\"<职务[1].新闻传媒.称谓>\":[\"记者\"],\"<人名[1].个人.姓名>\":[\"张毅荣\"],\"<组织[2].科研机构.完整名称>\":[\"罗伯特·科赫研究所\"],\"<职务[2].政府职务.完整称谓>\":[\"德国卫生部长\"],\"<人名[2].个人.姓名>\":[\"劳特巴赫\"],\"<组织[3].政府机构.完整名称>\":[\"联邦议院\"],\"<文件[1].法律法规.正式名称>\":[\"《传染病防治法》\",\"德国最新版《传染病防治法》\"]}\nRestore the original text based on the above mapping:\nAccording to <组织[1].新闻机构.完整名称> in Berlin on March 24 (reported by <职务[1].新闻传媒.称谓> <人名[1].个人.姓名>), the latest pandemic data released on the 24th by Germany’s disease control agency <组织[2].科研机构.完整名称> showed that Germany reported 318,387 new confirmed COVID-19 cases compared to the previous day, marking the first time daily cases exceeded 300,000.\n\nThe data also indicated 300 new COVID-19 related deaths on the 24th, bringing the total death toll to 127,822. The 7-day infection rate set a new record as well, with 1,752 new confirmed cases per 100,000 people over seven days.\n\nOn the 24th, <职务[2].政府职务.完整称谓> <人名[2].个人.姓名> called on all federal states at <组织[3].政府机构.完整名称> to use the new <文件[1].法律法规.正式名称> to strengthen efforts to control the spread of the virus. He said, “We must unite to get through this severe wave of the pandemic.” The <文件[1].法律法规.正式名称> came into effect on the 20th, generally lifting most COVID-19 prevention measures."
}
]
期待输出:
{
"role": "assistant",
"content": "According to Xinhua News Agency in Berlin on March 24 (reported by reporter Zhang Yirong), the latest pandemic data released on the 24th by Germany’s disease control agency Robert Koch Institute showed that Germany reported 318,387 new confirmed COVID-19 cases compared to the previous day, marking the first time daily cases exceeded 300,000.\n\nThe data also indicated 300 new COVID-19 related deaths on the 24th, bringing the total death toll to 127,822. The 7-day infection rate set a new record as well, with 1,752 new confirmed cases per 100,000 people over seven days.\n\nOn the 24th, German Health Minister Lauterbach called on all federal states at the Bundestag to use the new Infection Protection Act to strengthen efforts to control the spread of the virus. He said, “We must unite to get through this severe wave of the pandemic.” The Infection Protection Act came into effect on the 20th, generally lifting most COVID-19 prevention measures."
}
注:提示词模板中的mapping取自历史会话的标签映射集合,According to的内容取自远端大模型的输出



