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

时间:2017-10-10 14:06:24

标签: algorithm nlp text-mining opennlp named-entity-recognition

我有许多美国学校年鉴的扫描页面,上面有人物肖像和名字。页面中的所有文本都是OCR,每页收集几个版本:

  1. 非结构化文本文件。 Example
  2. 每个句子坐标的Xml。 Example
  3. Xml,每个字母的坐标。 Example
  4. Sample yearbooks page

    目标是确定哪些文本字符串代表人名并将其与肖像相关联。问题是每一本年鉴都是独一无二的,每一页也都是独一无二的,所以不能应用任何共同的模式(但可能会有一些常见的模式)。另一个问题是页面除了名称和集合之外还包含许多其他文本。

    上面的示例使用大写字母书写,因此可以很容易地识别它们,但这不是常见的情况。

    另一个例子:

    Sample yearbooks page Text / XML1 / XML2

    这是few more examples

    我正在思考几个方向:

    1. 使用美国名字字典构建索引并搜索每个 来自此索引中页面的单个单词以查找可能的名称。
    2. 使用名称 - 完全识别。我试过opennlp Java库,但是 它只适用于以大写字母开头的名字。 也许其他图书馆也可以。
    3. 训练一些神经网络。结果可能比这更好 前两个选项?
    4. 您能否建议哪种算法有助于解决此问题?

2 个答案:

答案 0 :(得分:1)

确实NER会有所帮助,使用现有的软件是可以的,但我建议,对于这样的子域名(人名),使用可能的名字/姓氏列表作为特征和标准线索来实现ad-hoc算法(例如小写字母,小姐/先生。)

使用男性/女性特征将名字与肖像相关联肯定是个好主意。

单独实施(名称识别/肖像匹配)作为模糊过程将是很好的:它将允许在可能的假设中选择那些最大化其他标准的那些:名称的nb与肖像的nb,关联名称的布局的规则性与肖像等。

主要是常识,但我希望它有所帮助!

PS不要忘记无法将姓名与肖像联系起来的情况,例如使用可能性阈值(乍一看似乎是你最后一张照片的情况?)

答案 1 :(得分:0)

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

更严重的说明:Xxx Yyy小姐或Xxx Yyy先生作为正则表达(单词,包括' woods'从大写开始),或者列出所有单词的清单,过滤掉来自字典的那些(例如来自R package tidytext的情绪)并检查其余部分,结合定制的两种方法。

我认为以这种方式探索数据会在转向nnet之前获得您需要的许多见解