论文地址:https://anlp.jp/proceedings/annual_meeting/2018/pdf_dir/P10-5.pdf
代码地址:
Abstract
We prepare our own annotated resume datasets for both English and Japanese. There are token/phrase level labels and sentence/paragraph level labels.初步实验表明,有必要考虑文档的结构,而不是独立地处理每一行,以获得更好的结果。
1 Introduction
我们的目标是从简历文档resume document中自动提取技能或职业历史等信息。如果我们能够创建一个数据库来存储申请人的个人资料,那么基于这些信息,我们可以使招聘过程更加高效。
已有的工作将从résumé命名实体识别(NER)问题中提取信息形式化。例如,从文本中提取实体或位置的方法通常是从文本中提取实体或位置。近年来,使用长短时记忆(LSTM)或卷积神经网络(CNN)等神经网络方法来解决序列标记问题非常流行,并且已经证明在标准NER基准测试中取得了良好的结果[14]。在这项研究中,我们将我们的目标——从简历中提取信息——形式化为一项序列标记任务,并使用神经网络方法来解决它。
我们同时考虑了英语和日语两个方面。日语中有两种不同类型的简历,即Rirekisyo(履歴書) 和Syokumukeirekisyo(職務経歴書). 在前一种类型中,您编写一组固定的个人信息,并且通常具有预定义的布局。同时,后一种类型的目的是写你的自我介绍或工作描述,内容和布局对于每个应聘者都是不同的。因此,对于每种类型,我们可能需要不同的方法,而从后一种类型中提取信息更为复杂。在我们的实验中,我们现在只关注后一种类型。对于英文简历,您可以*决定文档的内容,因此它更类似于后一种类型。
我们希望收到PDF格式的简历。为了将其作为序列标签任务来解决,我们对PDF进行预处理以从文件中提取原始文本。我们还希望文件是数字生成的,因此需要光学字符识别(OCR)的手写或扫描文件目前不在我们的范围之内。
RESUME没有公开可用的数据集。因此,我们首先创建或收集简历并对其进行注释,然后使用这些数据集进行实验。
2 Related Work
如前一节所述,NER通常被形式化为序列标记任务。通常使用条件随机场(CRF)[7]作为模型来解决该问题。
在之前的研究中,如Yu等人[18]和Chen等人[1]的研究中,他们采取了多个步骤从resume中提取信息,即预处理、块检测和分类以及序列标记。preprocessing, block detection & classification, and sequence labelling
有一个以前的工作信息提取从日本rirekisyo(履歴書)[17]. 他们只是使用TF-IDF提取特征关键字作为方法。
Collobert等人[3]开始使用统一神经网络研究NER。按照这种结构,Chiu和Nichols[2]结合了CNN和LSTM,Huang等人[6]整合了CRF以解决NER。完成这些工作后,现在通常使用字符级嵌入character level embedding、预训练单词嵌入pre-training word embedding、双向LSTM(BiLSTM)层和顶部的CRF,如您在BiLSTM-LSTM-CRF[8]或BiLSTM-CNNs-CRF[9]中所见。这两种模型的区别在于使用LSTM或CNN进行字符级嵌入。在之前的工作[14]中还显示,这些模型结果之间的差异不一定具有统计显著性,在比较结果时应小心,因为它们是非确定性方法。
Misawa等人[11]使用这些神经网络方法研究了日本数据的NER。他们表示,CNN的子词信息sub-word information对日语数据无效,如果单词和实体具有不同的边界,也可能存在边界问题。鉴于这种情况,他们提出了一种基于字符character-based的NER模型。
3 Datasets
在我们的实验中,我们准备了英语resume和日语Syokumukeirekisyo的数据集(職務 経歴書) PDF格式。每个数据集的概述如表1所示。
为了进行序列标记,我们从resumes中提取PDF格式的原始文本。为了从PDF中提取原始文本,我们使用了一个名为PDFBox[https://pdfbox.apache.org/][推荐国人学习网址:https://iowiki.com/pdfbox/pdfbox_quick_guide.html]的工具.它按照我们在文档上看到的可视行提取文本,而不是按照句子。我们现在手动解决,并且希望将来自动完成此过程。
我们使用BRAT[16]进行手动注释。
我们定义了64个要从日文简历中提取的标签。有标记/短语tokens/phrase level级别的标签,如技能、证书或公司名称skill, certificate, or company name,还有句子/副词级别的标签sentence/parapraph level labels ,如自我介绍或工作描述self introduction or job description。对于英文resumes,我们定义了15个标签;它们都是标记/短语级别的标签。
对于日文数据,在日本的数据中,长度最长的前3个标签分别是文档中的职位描述(40.73%)job description with 40.73% of tokens in document、profile(22.31%)和career summary(8.03%)。我们希望将这些标签用于句子/段落级别的信息,我们可以看到文档中的大部分标记都是这种类型的。
4 Experiments
我们使用一个名为NeuroNER[4]的现有工具,使用神经网络方法进行NER。NeuroNER采用BiLSTM-LSTM-CRF,这意味着字符级嵌入是通过LSTM层完成的。您可以关闭字符级嵌入以使其成为BiLSTM CRF。NeuroNER接受BRAT格式的输入/输出,这使我们的注释和实验过程更加顺畅。
先前的工作[11]表明字符级信息对日语数据没有用处。为了检查字符级character level嵌入的有效性,我们尝试了有/无该层的版本。我们还尝试了使用和不使用预训练单词嵌入的实验,得到了以下四种设置。
• None: Without character level embedding, without pre-trained word embedding
• Char: With character level embedding, without pre-trained word embedding
• PreTrainedWord: Without character level embedding, with pre-trained word embedding
• Char+PreTrainedWord: With character level embedding, with pre-trained word embedding
对于英语,我们使用了Glove[13]嵌入,并与Wikipedia 2014 dump和英语Gigaword第五版进行了预训练[http://nlp.stanford.edu/data/glove.6B.zip]。对于日语预训练单词嵌入,我们使用nwjc2vec[5],它使用NWJC语料库[http://pj.ninjal.ac.jp/corpus center/nwjc/]和word2vec[10]模型进行学习。该嵌入基于UniDic[http://unidic.ninjal.ac.jp/]形态单位morphological unit,因此我们使用UniDic资源对我们的日本数据进行了形态分析。
5 Results & Discussion
我们在表2中展示了英语数据集的resume NER实验的准确性。结果按照标签微平均值计算per-label micro average。
初步实验的目的是观察大致趋势,我们没有进行交叉验证或其他更适当分析所需的程序。因此,数字上的微小差异没有意义。
一般来说,我们可以看到,字符嵌入和预训练单词嵌入都有助于提高准确率。
字符嵌入的有效性在英语中是有意义的,因为第一个字符的大写或前缀/后缀可以是很好的信息来源,以告诉它是什么类型的标记。
预训练的词嵌入预计是有用的,因为我们可以利用从大规模原始文本中学习的信息。当我们用更小的标记数据集训练模型时,模型已经给出了相当准确的结果。这可以归因于预先训练的词嵌入的显著影响。
接下来,我们将在表3中显示日语数据集的结果。
与英语成绩相比,我们可以看到不同的趋势。当我们比较每个结果时,Char(With character level embedding, without pre-trained word embedding)设置比其他设置具有更好的准确性。这是令人惊讶的,因为直观地使用从大规模数据集中学习的预训练单词嵌入将为网络提供更多信息。
从日语模型的学习曲线来看,有预训练单词嵌入的模型学习的收敛性似乎不是很好,而没有预训练单词嵌入的模型学习曲线更平滑。对于英语,所有设置的学习曲线都是平滑的。图1显示了日语学习模式的培训曲线。
我们在结果中观察到的一个常见情况是,模型只标记label了几个tokens,即使我们希望它标记lable 整个句子或段落。当使用预先训练好的单词嵌入时,我们有更多的例子。
我们注意到的另一个常见情况是,没有上下文信息的行是模糊的。我们将文档中的每一行独立地提供给模型。然而,除非您知道标签出现在文档的哪个部分,否则您通常无法确定正确的标签。例如,同一句话可以被理解为自我介绍或职业总结的一部分,这取决于它在文档中的哪个部分。
总之,我们可以看到,可能有两个原因使这个问题困难。
•句子/段落级标签 Sentence/Paragraph Level Labels
对于此类情况,标记级序列标签token level sequence labelling是无效的。更合适的做法是首先检测句子/段落块,然后将每个块分类为一个标签label。
•文档结构 Document Structure
相同的标记tokens或短语可以根据它们在文档中出现的位置进行不同的标记。该模型没有足够的信息来正确预测输入是否为单个句子。
6 Future Work
鉴于最后一部分的原因,为了提高准确性,我们首先考虑如何获得文档结构。
目前,我们正在进行节头检测section header detection和分类,并取得了良好的效果。给定此标题信息,我们可以将文档拆分为不同的块。从标题我们知道这是什么类型的块,并且根据类型,我们可以为整个块指定一个标签,或者在块内执行更精细的操作。我们可以将此块信息提供给NER模型,它可以利用此信息更好地预测标签。
我们的数据集PDF文件包含位置和其他视觉信息,如字体类型和大小。我们可以将这些线索用于标题检测和NER,因为它们提供了比原始文本更丰富的信息。
对于某些标签,如果我们使用字典(如公司或学校)或模式(如日期或电子邮件地址),则会更容易。我们可以与神经网络并行,也可以从字典或模式中提供这些线索作为网络的输入。
Sato等人[15]提出了段级神经CRF,考虑段级序列标记。使用这种方法更容易合并实体级功能,因为实体通常比令牌长,因此它可能适合我们的问题。
最后,我们可以使用相关的数据集(如工作公告)对单词嵌入进行预训练或进一步微调。如果我们可以从这些数据的大规模文本中学习,那么生成的嵌入可能更适合我们的问题。
[4] F. Dernoncourt, J. Y. Lee, P. Szolovits. Neuroner: an easy-to-use program for named-entity recognition based on neural networks. CoRR, abs/1705.05487, 2017.
[5] S. Hiroyuki et al. nwjc2vec: Word embedding data constructed from ninjal wed japanese corpus (in japanese) / nwjc2vec: 国語研日本語ウェ ブコーパスから構築した単語の分散表現データ. Journal of NLP, 24, 2017.
[11] S. Misawa et al. Character-based bidirectional lstm-crf with words and characters for japanese named entity recognition. EMNLP, 2017.
[15] M. Sato et al. Segment-level neural conditional random fields for named entity recognition. In IJCNLP, pages 97–102, 2017.
[16] P. Stenetorp et al. BRAT: a web-based tool for NLP-assisted text annotation. In EACL, pages 102–107, 2012.