You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Google DLP的字典式转换:如何实现可统计的大学信息掩码?

实现大学名称掩码且保留统计能力的去标识化方法

你需要的是**静态别名映射(Static Alias Mapping)**这种去标识化方案,刚好能满足“掩码敏感信息+保留统计能力”的需求,我给你详细拆解下:

核心思路

把每个真实的大学名称,一对一映射到一个无意义的统一标识符(比如UNIVERSITY_1、UNIVERSITY_2),并且同一所大学始终对应同一个标识符。这样既隐藏了真实校名,又能通过标识符轻松统计某“组”的就读人数。

具体实现步骤

结合你给出的输入输出例子,操作流程如下:

  1. 生成专属映射字典
    先从原始数据里提取所有唯一的大学名称,给每个名称分配一个专属的掩码标识。比如你的例子里:

    • University of Pennsylvania → UNIVERSITY_1
    • Harvard University → UNIVERSITY_2
      这个字典要单独保存好,后续统计或者需要还原数据(若有授权)时会用到。
  2. 批量替换数据字段
    遍历所有学生条目,把每个学生的university字段值,替换成映射字典里对应的掩码标识。替换后,同一大学的学生都会拥有相同的标识符,直接统计该标识符的出现次数,就是对应的就读人数。

代码示例(Python)

用代码实现的话非常直观,帮你写了一段可运行的示例:

# 原始输入数据
original_data = {
    "students": [
        {"name": "John Smith", "university": "University of Pennsylvania"},
        {"formattedName": "Mike Miller", "university": "Harvard University"},
        {"formattedName": "Elon Musk", "university": "University of Pennsylvania"}
    ]
}

# 自动生成大学名称到掩码的映射字典
unique_universities = {stu["university"] for stu in original_data["students"]}
uni_mask_mapping = {uni: f"UNIVERSITY_{idx+1}" for idx, uni in enumerate(unique_universities)}

# 执行掩码替换
masked_data = {
    "students": [
        {key: uni_mask_mapping[value] if key == "university" else value for key, value in student.items()}
        for student in original_data["students"]
    ]
}

# 统计UNIVERSITY_1的就读人数
uni1_count = sum(1 for stu in masked_data["students"] if stu["university"] == "UNIVERSITY_1")

print("掩码后的数据:")
print(masked_data)
print("\nUNIVERSITY_1的就读人数:", uni1_count)

运行后就会得到你给出的输出结果,同时能统计出UNIVERSITY_1对应的人数是2。

方案优势

  • 完全隐藏了真实敏感信息,避免隐私泄露
  • 完美保留了数据的聚合统计能力,分组、计数操作不受影响
  • 实现成本低,不管用Python、SQL还是其他数据处理工具都能快速落地

注意:如果后续需要还原真实校名,一定要妥善保管映射字典,并且做好权限管控,防止映射关系泄露导致隐私信息被逆向还原。

内容的提问来源于stack exchange,提问作者Вадим По

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 07:42:23