Algorithm 从非结构化年鉴文本中提取人名

Algorithm 从非结构化年鉴文本中提取人名,algorithm,nlp,text-mining,opennlp,named-entity-recognition,Algorithm,Nlp,Text Mining,Opennlp,Named Entity Recognition,我有很多美国学校年鉴的扫描页,上面有人们的肖像和名字。页面中的所有文本均为OCR,每页收集多个版本: 非结构化文本文件 带有每个句子坐标的Xml 包含每个字母坐标的Xml 目标是确定哪些文本字符串表示人名,并将其与肖像相关联。问题是,每一本年鉴都是独一无二的,每一页也可能是独一无二的,因此无法应用任何通用模式(但可能有一些通用模式)。另一个问题是,这些页面除了名称之外还包含许多其他文本,而且收集量巨大 上面的例子中,名字是用大写字母写的,所以很容易识别,但这不是常见的情况 另一个例子: //

我有很多美国学校年鉴的扫描页,上面有人们的肖像和名字。页面中的所有文本均为OCR,每页收集多个版本:

  • 非结构化文本文件
  • 带有每个句子坐标的Xml
  • 包含每个字母坐标的Xml

    目标是确定哪些文本字符串表示人名,并将其与肖像相关联。问题是,每一本年鉴都是独一无二的,每一页也可能是独一无二的,因此无法应用任何通用模式(但可能有一些通用模式)。另一个问题是,这些页面除了名称之外还包含许多其他文本,而且收集量巨大

    上面的例子中,名字是用大写字母写的,所以很容易识别,但这不是常见的情况

    另一个例子:

    //

    这是

    我在考虑几个方向:

  • 使用美国地名词典建立索引并搜索每个 从该索引内的页面中选择单个单词以查找可能的名称
  • 使用名称实体识别。我尝试了
    opennlp
    Java库,但是 它只适用于以大写字母开头的名称。 也许其他图书馆也可以
  • 训练一些神经网络。这样做的结果会比现在更好吗 前两种选择

  • 你能建议哪些算法可以帮助解决这个问题吗?

    听起来可能很傻,但我的第一个想法是:FIRSTNAME LASTNAME似乎是大写的

    更重要的是:将Xxx-Yyy小姐或Xxx-Yyy先生作为正则表达式(单词,包括以大写字母开头的“woods”),或将所有单词列成一个不同的列表,过滤掉来自词典的单词(例如,R package tidytext中的情感),然后检查其余单词,结合定制的两种方法


    我认为,在使用nnet之前,以这种方式探索数据将产生许多您需要的见解。的确,使用现有软件是很有帮助的,但我建议,对于这样的子域(人名),使用可能的名字/姓氏列表作为特征和标准线索,实现一种特殊算法(例如大写字母、Miss/Mr.)

    将名字与使用男性/女性特征的肖像联系起来肯定是个好主意

    将两者分开实施(姓名识别/肖像匹配)作为模棱两可的过程会很好:它将允许在可能的假设中选择那些最大化其他标准的过程:姓名的nb与肖像的nb、将姓名与肖像关联的布局规则性等

    大部分是常识,但我希望它有一点帮助


    PS不要忘记不可能将姓名与肖像相关联的情况,例如使用可能性阈值(乍一看,上一张照片似乎就是这样?

    (1)这非常广泛!(2)在第一个示例中,您可以使用人脸检测,然后使用性别识别,这样可以更容易地推断出哪个名称映射到哪个图像(主要是行主顺序与列主顺序)。(3)在第二个示例中,我无法将这些名称映射到图像。在本例中,您的算法需要比我强大得多。编辑:第二眼看到,我可以。因此,我的推理再次完全基于(2)中提到的方法。(4)旁注:你可以发布这些吗?如果这些是真实的年鉴,我的国家可能会不允许在这里发布。现在的主要目标是从文本中提取姓名(名字和姓氏)与肖像的相关性似乎更容易。那么你如何在例2中映射这些?这几乎是50/50(或更糟)猜测。在这种情况下,可能是猜测,这种页面很少。但仍然需要提取姓名——这是一个主要目标。问题是姓名不总是用大写字母书写。此外,页面上更多的文本可以用与姓名相同的方式书写,也可以用大写字母书写。有时姓名可以用常规大小写,但学校团队或其他人可以用大写字母表示。而且有Mr Miss前缀并不常见。