我的任务是尝试创建一个自动系统,从文本文档中删除个人信息。
电子邮件,电话号码相对容易删除。名字不是。问题很难,因为文档中有名称需要保留(例如,引用,名人,人物等)。需要从内容中删除作者姓名(可能还有多个作者)。
我目前想到了以下内容:
有什么想法吗?任何人都解决了这个问题??
答案 0 :(得分:1)
使用当前的技术,以低错误率完全自动化地执行您所描述的内容是不可能的。
有可能提出一个近似的解决方案,但它仍会产生很多错误......误报或漏报或两者的某种组合。
如果您仍然真的有意尝试,我认为您最好的方法是Bayseian过滤(as used in spam filtering)。这样做的原因是它非常善于根据单词的相对位置和频率来分配概率,并且还可以了解哪些名称更有可能/更不可能成为名人等。
答案 1 :(得分:0)
您需要学习的机器学习领域是自然语言处理。可以使用一些不同的方法,贝叶斯网络(比天真的贝叶斯分类器更好的东西),支持向量机或神经网络将是研究的领域。无论你最终构建什么系统,都可能需要使用带注释的语料库(标记的数据集)来了解名称应该在哪里。即使使用大型语料库,无论您构建的内容都不是100%准确,因此您最好不要在名称上设置标记以进行删除,而不是仅删除可能是名称的所有单词。
答案 2 :(得分:0)
这是基础密码学课程(我的第一个编程工作)中的常见问题。
如果您生成了整个文档语料库的 单词直方图 (每个bin是x轴上的一个单词,其高度是由y上的高度表示的频率因为它们的y值(频率)很大,所以很容易识别像“this”,“the”,“and”等词。姓氏应位于直方图的最右侧 - 非常罕见;给左边的名字,但不是很多。
这种技术是否明确地识别每个文档中的名称?不,但通过消除频率大于X 的所有单词,它可以用来大大限制您的搜索。同样,应该存在限制搜索的其他属性,例如作者姓名仅在他们创作的文档上出现一次而不出现在任何其他文档上。