对数据中的用户名进行匿名化的最佳做法是什么?

数据挖掘 机器学习 数据清理
2021-09-29 11:52:33

我正在开展一个项目,该项目要求同学们分享他们的原始文本数据,以便使用数据挖掘技术进行进一步分析,而且我认为在他们提交的内容中匿名化学生姓名是合适的。

撇开学生提交作品的 url 和插入匿名 ID 的后端脚本的更好解决方案不谈,我可以指导学生自己实施什么样的解决方案来匿名化他们自己的名字?

我仍然是这个领域的菜鸟。我不知道规范是什么。我在想解决方案可能是散列算法。这听起来比编一个假名更好,因为两个人可以选择相同的假名。可能的人可以选择相同的假名。我应该注意哪些问题?

2个回答

我怀疑您使用名称作为标识符。你不应该;他们不是独一无二的,他们提出了这个隐私问题。改用他们的学号,您可以从他们的 ID 中验证,以散列形式存储。使用学生的姓氏作为盐,以更好地衡量(通过连接 ID 号和姓氏来形成要散列的字符串)。

心理学的一个标准做法(您希望对参与者进行编码以便将不同的测量值联系在一起)是让参与者选择他们母亲的婚前姓氏首字母和生日,例如,格式为 XX-YYMMDD。

如果课程仍然可能会遇到冲突。再说一次,我不认为你的学生在不知道所有其他学生的情况下可以做任何万无一失的无冲突匿名化算法母亲的名字和生日可能相同,自己的生日可能相同,鞋码可能相同,最喜欢的超级英雄角色......我唯一能想到的就是(美国)社会安全号码,但你真的不想使用它们

底线:在后端匿名化。或者,正如@Emre 建议的那样,考虑一下您是否真的需要一个标识符。也许数据库生成的索引就足够了?