代码之家  ›  专栏  ›  技术社区  ›  bushed

如何以编程方式检测cvs中的易受攻击/个人信息(通过语法分析/解析等方式…)

  •  1
  • bushed  · 技术社区  · 15 年前

    更具体地说:

    1. 如何检测人名(似乎是命名实体提取的简单情况?)
    2. 如何检测地址:我的最佳猜测-找到邮政编码(regex);国家和城镇名称,并在它们周围写一些文本。
    3. 至于电话,电子邮件-它们可能被各种regex+预处理捕获
    4. 此时不关心教育/工作经验

    推理: 为了在简历上建立全文索引,所有易受攻击的信息都应该从简历中删除。

    P.S.任何第三方API/服务都不能作为解决方案。

    3 回复  |  直到 15 年前
        1
  •  2
  •   carlosdc    15 年前

    您感兴趣的问题是从半结构化源中提取信息。 http://en.wikipedia.org/wiki/Information_extraction

    我认为你应该下载一些这方面的研究论文,以了解可以做什么和不能做什么。

        2
  •  0
  •   user151323    15 年前

    我觉得机器做不到。

    每一份简历都会有不同的格式和布局。 你能做的最好的就是设计一个内部格式,并手动复制里面的每一个简历内容。或者请候选人填写你的表格(不会有太多麻烦)。

        3
  •  0
  •   monksy    15 年前

    我认为问题应该分成两个搜索域:

    1. 查找与专有名称相关的信息
    2. 查找公式化的信息

    首先,通过搜索语法上重要或重要的项目,可以找到与专有名称相关的信息。即英语只把句子的第一个词和专有名词大写。对于语法规则,您可以查找单词首字母大写的所有单词,并对照包含单词和类型的数据库(即Bob-名称,Elon-地点,England-地点)进行检查。

    第二:公式化的信息。这是关于电子邮件地址、电话号码和物理地址的更多信息。所有这些都有一个不改变的特定格式。使用regex并使用算法检测匹配的质量。

    当心: 语法规则根据语言而变化。德语把每个名词都大写。最好在应用规则之前检测文档的语言。另外,这个(有时还有我的简历)的另一个问题是它是如何设计的。如果简历不是用文本编辑器[设计器工具]设计的,则文本可能不对齐,或者是位图格式。

    TL;Dr版本:NLP技术可以帮助您很多。