从非结构化文本文档中检测敏感数据

数据挖掘 机器学习 深度学习 nlp 信息检索 自动总结
2021-10-12 19:09:07

我知道这个问题很广泛,但我需要一个建议来了解是否有可能实现我想做的事情。

问题是我有大约 2500 个文档,其中敏感数据被四个点替换。我没有原始文档,所以我想知道是否有一种方法可以构建一个模型,可以使用以前的文档从任何新文档(不删除敏感数据)中检测敏感数据?我想应用机器学习或深度学习方法。而我所知道的是,带有注释敏感数据的原始数据集应该用于训练,这是我无法获得的。

我是这个领域的新手,所以任何建议都会非常合适

1个回答

欢迎来到本站!假设我正确理解了您的问题,我认为您可以实现一个工作模型。

如果我处于你的位置,我会:

  1. 从文档中获取尽可能干净的数据。例如,您没有说明文档是否已经是简单文本,或者您是否需要执行 OCR 之类的操作。拥有尽可能干净的套装将是关键。
  2. 确保您对敏感数据有一个一致的标记。您提到了四个点-所有实例都是这种情况吗?如果没有,请立即清理该数据
  3. 您将需要执行标准的 NLP 清理工作,例如删除标点符号,但您可能希望也可能不希望保留停用词(这将是您模型测试的一部分)。此外,这是关键,100% 确定这四个点在您的标记化过程中被视为一个单独的工作 - 您应该能够在提交标记化文件之前验证这一点。
  4. 我会拿走我所有的文件并创建 3 个单词的 ngram。然后,我将分离出包含敏感数据和非敏感数据的 ngram。从本质上讲,这将成为您的标记数据集,您应该相应地标记它们。
  5. 我的基本模型将使用在 ngram 的第二个位置(三个单词的中间)包含敏感数据的所有条目。我会在此基础上训练一个神经网络,然后看看我能得到什么样的结果。请注意,您的四个点将不是输入,只有前后单词将是您的输入。你几乎可以把它当作一个二元分类模型——中间的词要么是敏感的,要么不是。
  6. 我的模型的未来迭代可能会使用多分类方法,例如(1)没有敏感数据(2)敏感数据在第一位置(3)敏感数据在第二位置和(3)敏感数据在第三位置等等等等。
  7. 从那里,你可以改变 ngram 的大小,因为直接的词可能会或可能不会对预测产生影响。你可以用这个疯狂到什么程度,直到你开始建模,你才会知道。

最后,当您使用新数据进入预测阶段时,您的整个项目会变得更加有趣。您将执行相同的操作并将文档分解为 ngram,并为每个 ngram 创建预测并输出结果。换句话说,你需要分解你的文档,然后转身重新构建它——这应该是一个有趣的脚本!祝你好运,让我们知道结果如何。