自然语言处理 - 将非结构化书目转换为结构化元数据

Som*_*dam 9 java nlp crf++

目前正致力于一个自然语言处理项目,我需要将非结构化的参考书目部分(在研究文章末尾)转换为结构化元数据,如"年","作者","期刊","卷ID","页面"数字","标题"等


例如:输入

McCallum, A.; Nigam, K.; and Ungar, L. H. (2000). Efficient clustering of high-dimensional data sets with application to reference matching. In Knowledge Discovery and Data Mining, 169–178
Run Code Online (Sandbox Code Playgroud)

预期产量:

<Author> McCallum, A.</Author> <Author>Nigam, K.</Author> <Author>Ungar, L. H.</Author>
<Year> 2000 </Year>
<Title>Efficient clustering of high-dimensional data sets with application to reference matching <Title> and so on
Run Code Online (Sandbox Code Playgroud)

使用的工具:CRFsuite


数据集:包含12000个引用

  1. 包含期刊标题,
  2. 包含文章标题的话,
  3. 包含位置名称,

给定行中的每个单词都被视为标记,并且对于每个标记,我得出以下特征

  1. BOR在行首,
  2. EOR结束
  3. digitFeature:如果令牌是数字
  4. 年份:如果令牌是年份格式,如19**和20**
  5. 在当前数据集中可用,

从上面的工具和数据集我只有63.7%的准确率."Title"的准确度非常低,"Year"和"Volume"的准确度也很低.

问题:

  1. 我可以绘制任何其他功能吗?
  2. 我可以使用任何其他工具吗?

Nik*_*sev 2

我建议以现有方法为基础的解决方案。看看这篇论文的例子

朴成熙、罗杰·W·埃里希和爱德华·A·福克斯。“一种混合两阶段方法,用于从参考文献中提取与学科无关的规范表示。” 第 12 届 ACM/IEEE-CS 数字图书馆联合会议论文集。美国CM,2012。

3.2 和 4.2 节提供了数十个功能的描述。

至于CRF的实现,还有其他类似的工具但我不认为它是低准确性的根源。