当前位置:网站首页>中文招聘文档中专业技能词抽取的跨域迁移学习
中文招聘文档中专业技能词抽取的跨域迁移学习
2022-07-28 19:51:00 【米朵儿技术屋】
摘要
【目的】 利用在线招聘文档,准确分析用人单位需求,为解决劳动力供需失配提供技术支持。【方法】 提出一种基于跨域迁移学习的专业技能词识别方法(CDTL-PSE)。CDTL-PSE将专业技能词的识别任务当作序列标注任务,首先将SIGHAN语料库分解为三个源域,利用插入在Bi-LSTM层和CRF层之间的域自适应层来有效实现从各个源域到目标域的跨域迁移学习;然后采用参数迁移法训练每个子模型;最后通过多数投票获得标签序列的预测结果。【结果】 在自建在线招聘文档数据集上,相对于基线方法,使用交替训练的具有Bi-LSTM域自适应层的CDTL-PSE的F1值提高0.91%,能减少50%左右的标记样本。【局限】 模型的可解释性有待进一步改善。【结论】 CDTL-PSE能有效实现对技能词的自动抽取,还可有效缓解目标域标注样本的不足。
关键词: 专业技能词; 跨域迁移学习; 域自适应
1 引言
近年来,尽管就业岗位数量不断增加,但世界劳动力市场的技能供需失配问题仍未解决。《2019年中国大学生就业报告》指出本科毕业生就业率连续四年下降,其中近两届高职高专毕业生就业率高于同届本科[1]。技能供需失配会给经济社会发展带来严重影响:持续的高失业率和企业利润损失将严重阻碍经济增长,也将浪费高校教育资源。为解决技能供需失配问题,非常有必要快速、准确地分析雇主的需求,并利用分析结果优化劳动力的培训和再培训。
从在线招聘文档中可以提取专业技能词,以准确地检测雇主的需求。Phaphuangwittayakul等利用网络爬虫技术从泰国招聘网站收集最新职位,并使用自动关键词提取方法从职位描述中提取专业技能词[2]。Mauro等提出一种基于机器学习算法和专家判断相结合的半自动分析方法提取专业技能词,用技能词描述每个工作簇;所提取的专业技能词还可进一步用于招聘市场趋势分析、职位推荐、企业竞争力评估和高校课程设计[3]。
然而,从中文在线招聘文档中提取专业技能词很困难。一个中文在线招聘职位的任职要求的例子如图1所示,从中可观察到技能词提取所面临的困难。
图1

图1 中文在线招聘的任职要求举例(技能词用下划线标出)
Fig.1 Example of the Requirement of a Chinese Job Post Online(Professional Skill Words are Underlined)
(1)专业技能词高度依赖于词的语境。例如,在“熟悉自然语言处理常见算法与模型”中的“自然语言处理”是一个专业技能词,但在“使用自然语言处理交互问题”中的“自然语言处理”就不是一个专业技能词。
(2)专业技能词中有大量嵌套词。例如在“LINUX操作系统”中“LINUX”和“操作系统”都是技能词。
(3)专业技能词可能存在中英文混合以及数字与英文混合的情况。例如:“C++程序设计”和“Neo4j”。
(4)专业技能单词的长度有时不受限制。例如:“库/表结构索引设计”。
(5)招聘文档由不同公司的人力资源专员撰写,通常具有不同的写作风格,甚至还存在语法或拼写错误。
专业技能词的提取与命名实体识别(Named Entity Recognition,NER)或术语抽取非常类似,因此,本文将专业技能词命名为专业技能实体(Professional Skill Entity,PSE)。许多相关研究将NER或术语抽取视为一项序列标注任务,最新的研究成果主要基于深度神经网络,它们执行端到端训练以捕获上下文信息[4,5,6,7,8,9,10]。这些方法可将输入字符转换为输出标签,而无需显式的人工特征提取。然而,这些方法只能用于一个领域内的监督学习,且需要大量的标注样本。在线招聘的场景中,由于人工标注耗时长且成本高昂,专家只能标注少量句子。因此,很难获得足够的标注语句来训练深度神经网络。因此,更好的方法是利用领域外标注的数据,通过迁移学习[11,12,13]以改进目标域内的PSE识别。
现有用于NER的典型迁移学习方法主要基于深度神经网络,包括基于特征表示的迁移[14,15]和基于参数的迁移[16,17,18]。基于特征表示的迁移学习方法通常利用深度神经网络学习源域和目标域之间最接近的特征图,而基于参数的迁移学习方法通常利用参数共享或联合训练获得接近源域模型的目标域模型参数。然而,这些方法要求源域和目标域具有相同的标签集或相同的标签含义,即强域相似性。本文使用SIGHAN的中文NER语料库①(①http://www.aclweb.org/mirror/ijcnlp08/sinhan6/chinesebakeoff.htm.)作为源域[19,20]。SIGHAN的NER语料是关于新闻领域的,它包含三种类型实体(个人、组织和位置),有7个标签(B-person、I-person、B-location、I-location、B-organization、I-organization和Other)。然而,在本文中,在线招聘数据的文本仅使用三个标签(B-Skill、I-Skill、Other)进行标记,并且标签集的含义也与SIGHAN不同。因此,如何将从SIGHAN学到的知识迁移到目标领域又是一个挑战。
为应对上述挑战,本文提出一种跨领域迁移学习的专业技能词抽取方法(Cross-Domain Transfer Learning Recognize Professional Skill Entity,CDTL-PSE)。该方法从带标注的域外数据和带标注的招聘数据中学习知识以提升技能词抽取的准确率。本文的三个研究目标如下。
(1)提出用于技能词抽取的跨域迁移学习方法(CDTL-PSE)。首先将SIGHAN的NER语料库分解为三个源域,并利用域自适应层来帮助目标任务在每个源域上实施有效的迁移学习;然后使用参数迁移方法训练每个子模型;最后通过多数投票获得序列标签预测。
(2)从三个方面分析CDTL-PSE的合理性,即将SIGHAN语料库分解为三个源域,使用集成学习提高标签序列预测的准确性,使用域自适应层助力跨域迁移学习。
(3)评估CDTL-PSE是否可以缓解标注数据的稀缺性并有效识别技能词。
2 相关工作
2.1 命名实体识别
命名实体识别(NER)是一项旨在识别特殊实体并将其分类为预定类别的任务。大多数相关研究将NER视为序列标注任务,用于NER的技术可以简单地分为两类:传统的NER方法[21,22,23,24,25,26,27,28]和基于深度学习的NER方法[4-7,19-20,29]。
传统的NER方法大致可分为三类:基于规则、无监督学习和基于特征的监督学习方法[30]。基于规则的NER依赖于人工设定的规则[21,27]。这些规则基于特定领域的知识而得到。无监督学习方法基于上下文相似性从聚类簇中提取命名实体。Zhang等提出一种无监督的方法,该方法借助术语、语料库统计(例如,逆文档频率和上下文向量)和浅层句法知识(例如,名词短语)来推断命名实体[28]。基于特征的监督学习方法主要使用机器学习方法,包括隐马尔可夫模型[23]、支持向量机(Support Vector Machine,SVM)[24]和条件随机场(Conditional Random Field,CRF)[25,26]对人工特征进行学习,取得了良好效果。人工构建的特征包括从训练语料库中挖掘的特定词特征、上下文特征、词汇和词性特征、核心词特征等。然而,上述这些NER方法需要精致的人工特征,并且需要大量的领域知识。
基于深度学习的NER方法使用不同的神经网络如卷积神经网络(Convolutional Neural Networks,CNN)和长短时记忆(Long Short Term Memory,LSTM),用于提取不同类型的表示(字符级或单词级)。将学习到的特征表示输入顶部CRF层,以进行序列标签预测,从而实现NER。例如,Ronan等利用CNN-CRF架构得到了很好的识别准确率[6],利用CNN网络学习单词级特征表示,然后将学习到的特征表示输入CRF层。Ma等提出一种Bi-LSTM-CNN-CRF架构[29],在此架构中,CNN网络首先用于提取单词的字符级表示,表示向量与预先训练好的词嵌入向量相连接,然后送入LSTM网络提取单词的上下文特征,送入CRF层。Lample等使用Bi-LSTM架构提取单词的字符级表示,并使用CRF层进行标签解码[7]。Huang等提出一个与LSTM-CRF相似的模型[4],但使用了人工设计的拼写和上下文特征,首先通过Bi-LSTM网络提取字符级特征,然后将其与人工特征拼接输入CRF层。这些基于深度神经网络的方法不需要特定于任务的特征工程,还能获得良好的准确率。然而,这些方法只关注一个领域内的监督学习,因此受到标注数据稀缺的限制。
2.2 基于迁移学习的命名实体识别
迁移学习旨在利用从源领域学习到的知识提高目标任务的性能。迁移学习算法主要分为4类:实例迁移、特征表示迁移、关系知识迁移和参数迁移。在NER任务中,主要用到的迁移学习方法有参数迁移[16-18,31]和特征表示迁移[14-15,32]。这两种方法也可以组合起来实施NER[15]。
参数迁移方法通常利用参数共享或交替训练获得接近源域模型参数的目标域模型参数。Yang等首先研究了不同表示层的可迁移性[16],基于Bi-GRU-CRF模型提出三种不同的参数共享架构,用于处理序列标记任务中的跨应用、跨语言和跨域迁移。在训练过程的每次迭代中,对源任务或目标任务进行随机抽样,并从抽样的任务中再次抽样一批训练实例,然后执行梯度更新以更新任务特定参数和共享参数。考虑到参数迁移方法要求源域和目标域的输出空间相同,Lin等建议在预先训练的源域模型上加入三个神经适应层:单词适应层、句子适应层和输出适应层[17],在训练过程中使用预训练的源域模型参数来初始化目标任务模型的相应参数,然后调整各层参数。Lee等建议使用来自源域的标记数据来训练模型[18],然后使用学习到的参数初始化目标域模型,并通过来自目标域的标记数据微调参数。
特征表示迁移方法通常学习一种特征映射,该映射将源域和目标域同时投影到一个公共特征空间中。在这个公共特征空间中,源域和目标域的分布很接近。然后计算域共享特征和特定于域的特征表示。Peng等提出一个多任务领域自适应模型,包括共享的表示学习器、领域投影和任务特定模型[14],在该模型中,表示学习器层在所有领域和任务之间共享,领域投影层将不同领域学习到的表示转换至共享空间。该模型采用随机梯度下降法在每个数据集之间交替优化训练。Kulkarni等提出,除了全局语义外,还应捕获特定于领域的词语语义,并利用特定于领域的词嵌入学习不同领域的NER模型[33]。Xiao等提出一个对数双线性语言适应模型,通过学习可泛化和源域特定的词表示来模拟源分布,并通过学习域共享和目标域特定的词表示来模拟目标分布[32]。利用学习到的表示嵌入函数将原始数据映射到表示空间,然后将每个词的表示向量作为目标任务的增广特征。
3 基线模型
基线模型Bi-LSTM-CRF的结构[4,7]如图2所示,它主要由嵌入层、Bi-LSTM层和CRF层组成。在嵌入层中,将每个输入语句的各个字符转换为一系列嵌入向量,然后将其输入Bi-LSTM层,将上下文信息顺序编码为固定长度的隐藏向量,并最终由CRF层[34,35]给出最佳标签序列的预测结果。
图2

图2 Bi-LSTM框架
Fig.2 Framework of Bi-LSTM
第一层是嵌入层,由一个嵌入矩阵 M∈RD×VM∈RD×V将每个字符映射到一个密集矢量中,其中, DD是嵌入向量维度,而 VV是字符的数量。输入句子表示为 S=[w1,w2,…,wn]S=[w1,w2,…,wn],其中, nn是句子的长度, wi∈RVwi∈RV是第 ii个字符的One-Hot表示。经过嵌入层处理,句子中第 ii个字符的嵌入向量表示为 ci=Mi∈RDci=Mi∈RD。
第二层是Bi-LSTM网络,将 LSTM⃗LSTM⃗表示为LSTM网络从左到右扫描输入的文本,则 LSTM⃗LSTM⃗学习到的隐藏表示可以表示为 [h1⃗,h2⃗,…,hn⃗][h1⃗,h2⃗,…,hn⃗]。类似地, LSTM←LSTM⃖表示LSTM网络从右到左扫描输入的文本, [h1←,h2←,…,hn←][h1⃖,h2⃖,…,hn⃖]表示由 LSTM←LSTM⃖学习到的隐藏表示。第 ii个字符的隐藏表示是通过拼接 LSTM⃗LSTM⃗和 LSTM←LSTM⃖上下文表示得到的 hi=[hi⃗,hi←]hi=[hi⃗,hi⃖]。最终,Bi-LSTM层的输出为 h=[h1,h2,…,hn]h=[h1,h2,…,hn],其中 hi∈R2Khi∈R2K, KK是LSTM网络中隐藏状态的维数。
最后一层是CRF层。从Bi-LSTM层学习到的隐藏上下文表示向量可以直接用作特征输入CRF层,为每个输入字符输出最可能的标签。然而,在NER任务中,每个输入字符标签都涉及上下文语义,因为相邻字符的标签通常具有很强的依赖性。本文用BIO(开始、外部、内部)定义序列的标签集,B表示字符是PSE的开始,I表示字符位于PSE的中间位置,O表示字符不属于PSE,I标签通常位于B或I之后,但它不能跟在O后面。CRF层可以约束最终预测的标签,以确保它们有效。CRF层可以在训练过程中从训练数据中自动学习到这些约束。将 y=[y1,y2,...,yn]y=[y1,y2,...,yn]表示为句子 SS的标签序列,其中, yi∈RLyi∈RL是第 ii个字符标签的One-Hot表示。CRF层的输入是Bi-LSTM层的输出,CRF层的输出是标签序列 yy。给定输入 hh的标签序列 yy的条件概率计算如公式(1)所示[10]。
p(y|h,θ)=∏ni=1Ψ(hi,yi,yi−1)∑∈y'∏ni=1Ψ(hi,y'i,y'i−1)py|h,θ=∏i=1nΨ(hi,yi,yi-1)∑y'∈YS∏i=1nΨ(hi,yi',yi-1')
(1)
其中, Y(S)Y(S)是句子 SS的所有可能标签序列的集合, θθ是参数集,而 Ψ(hi,yi,yi−1)Ψ(hi,yi,yi-1)是势函数,如公式(2)所示。
Ψ(hi,yi,yi−1)=e(yTiEThi+yTi−1Fyi)Ψ(hi,yi,yi-1)=e(yiTEThi+yi-1TFyi)
(2)
其中, E∈R2K×LE∈R2K×L, F∈RL×LF∈RL×L是CRF层的参数,即 θ={ E,F}θ={E,F}。损失函数如公式(3)所示。
Loss=−∑S∈corpuslog(p(yS∣∣hS,θ))Loss=-∑S∈corpuslog(p(yS|hS,θ))
(3)
其中, corpuscorpus是训练数据集中的所有语句。
4 专业技能词抽取的跨领域迁移学习
4.1 CDTL-PSE框架
CDTL-PSE的框架如图3所示,其中包括4层,即:嵌入层(Char Emb)、Bi-LSTM层、域自适应层(Domain Adaptation)和CRF层。本文将SIGHAN的NER语料库根据其实体类别分解为三个源域,并将这三个任务的标签映射到相同标签集(B-Entity,I-Entity,Other)。目标任务则是从网络招聘文本中抽取技能词。嵌入层和Bi-LSTM层在源域和目标域之间共享,用于将学习到的知识从每个源域迁移到目标域,但针对不同任务还构建了特定于任务的域自适应层和CRF层。因此,CDTL-PSE的框架由三个子网组成。
图3

图3 CDTL-PSE框架
Fig.3 Framework of CDTL-PSE
在图3中,对于目标任务,从下到上,每个输入语句都被转换为一系列字符嵌入向量,输入到Bi-LSTM层中以将上下文信息顺序编码为固定长度的隐藏向量。然后,将由共享Bi-LSTM层生成的字符的隐藏表示形式输入到目标领域特定的域自适应层中,以学习领域特定的知识。域自适应层的输出直接输入到目标域特定的CRF层,以预测标记序列。最后,对这三个子网的结果进行多数投票获得标签序列预测。
4.2 源域分解
对于中文技能词识别,标注语料的稀缺不言而喻,并且很难在现有语料资源中找到与招聘数据相关或相似的、且标签丰富的源域。经过仔细选择,本文将标准SIGHAN Bakeoff 2006新闻语料库作为源域。Yang等指出参数迁移要求源任务和目标任务之间的相似性很强[16]。如果源任务和目标任务之间的潜在相似性不太突出,则可迁移性将降低,通过迁移学习获得的改进将很弱。通过分析招聘语料库,发现技能词在句子中的位置主要位于动词、形容词/形容词短语、以及“和”、“或”、“、”等之后。如:“了解自然语言处理”,“常用的机器学习算法”,“掌握文本挖掘、实体抽取、词性标注等技术”。
为分析SIGHAN与招聘语料之间的相似性,从SIGHAN语料库中随机抽取2 000个句子。经过统计,发现在这些随机选择的语句中有880个人名实体、963个机构名实体和1 822个地名实体。SIGHAN抽样语料和招聘语料中不同位置的实体出现频次的统计如表1所示。可以看出,出现在动词后或形容词/形容词短语之后位置的实体中,地名实体和机构名实体出现的情况比人名实体出现的情况与技能词更相似;而在“和”、“或”、“、”等之后,人名和机构名出现的情况比地名实体出现的情况与技能词更相似。可以得出结论,在人名、地名和机构名这三个源域之间存在差异。
表1 相应语料库中不同位置的实体出现情况统计
Table 1 Statistics of the Occurrences of Entities in Different Positions in the Corresponding Corpus
实体类型 | 实体数目 | 动词后 | 形容词/形容词短语后 | 名词/名词短语后 | “和”、“或”、“、”等并列形式 | 其他位置 |
技能词 | 3 930 | 1 309 | 764 | 2 | 1 512 | 343 |
人名 | 884 | 136 | 27 | 204 | 73 | 444 |
地名 | 1 951 | 649 | 106 | 57 | 87 | 1 052 |
机构名 | 984 | 278 | 54 | 36 | 128 | 488 |
如果将SIGHAN语料库直接用作源域,则同一句子中会出现多种类型的实体,这会削弱源域和目标域之间的相似性。因此,将SIGHAN语料库分解为三个源域,每个源域都使用相同的实体标签。
4.3 域自适应层
由于源域和目标域具有不同的语言样式,并且包含大量特定于领域的术语,这些术语在域之间没有相同的语义,因此仅分解SIGHAN语料库不够。例如,“机器学习”是目标域中的技能词。字符“机”应标记为“B-SKILL”。但是,“机器学习”不是这三个源域中的实体,将被标记为“Other”。此外,如果直接采用网络参数迁移,由于源域的数据量远大于目标域,很难学习到目标域中的特定领域知识。因此,需要引入一个域自适应层,以从目标域中重新学习上下文信息[36]。它将从共享的特征表示中学习目标域的领域知识。本文使用两种用于域自适应的方法:额外的Bi-LSTM层和特征扩充层[37]。域自适应层将先前共享的Bi-LSTM层中输出的隐藏状态作为其输入,并将从共享网络中捕获的上下文信息进行更改,为CRF层生成一系列新的隐藏状态。
(1)额外的Bi-LSTM层
在域自适应层使用额外的Bi-LSTM网络重新学习目标域中的特定领域知识。域自适应层中使用Bi-LSTM网络与基线模型中Bi-LSTM层的网络结构完全相同。Lin等使用Bi-LSTM网络作为输出适应层捕获上下文信息的变化,解决在目标域中使用上下文信息执行重新分类和重新识别的问题[17]。
(2)特征扩充层
使用特征扩充方法使模型既可以从源域中学习,又能保留目标域特定的知识。特征扩充方法主要思想是复制和扩充原始特征[37]。扩充后特征包括域共同特征和域特定特征。域共同的特征是从共享的Bi-LSTM网络中学到的特征表示,特定于域的特征是源/目标域使用它们自己独立的Bi-LSTM网络学习到的隐藏表示。
如果原始输入空间是 X∈RnX∈Rn,特征扩充后的输入空间则为 N∈R3nN∈R3n。 ΨsΨs: X→NX→N, ΨtΨt: X→NX→N分别表示源域和目标域的原始输入空间到特征扩充后的输入空间的映射函数,它们的定义为 Ψs(X)=(X,X,0)Ψs(X)=(X,X,0), Ψt(X)=(X,0,X)Ψt(X)=(X,0,X)。其中, 0=(0,0,…,0)0=(0,0,…,0)是零向量。映射后向量的第一项代表源域和目标域的共同特征,第二项代表源域的特定特征,第三项代表目标域的特定特征。
4.4 多数投票
由于不同源域任务之间存在差异,具有不同源域任务的实体识别可能会对目标任务的性能产生不同影响。在使用三个不同的源域迁移到目标域以获取三组不同的标记序列后,使用多数投票方法从这三组标记序列中获取最终的标记序列。
4.5 训练过程
CDTL-PSE的框架包括三个用于迁移学习的子网,三个不同的源域被并行迁移到目标域。CDTL-PSE框架中的每个子网都通过小批量自适应矩估计(Adam)优化算法[38]以端对端的方式交替训练或微调。在每个源域到目标域的迁移学习过程中,嵌入层和Bi-LSTM网络层是共享,而特定域自适应层和CRF层则用于每个特定任务。每个子网都经过100个周期的训练。
当使用微调策略时,首先在每个子网上训练源域任务的参数。然后,迁移其Bi-LSTM网络层参数,以初始化相应的目标任务模型中的Bi-LSTM网络层,并通过目标任务训练数据对相应的目标任务模型重新训练。当使用交替训练策略时,在每个周期,使用相应的源域数据训练源任务模型,然后使用目标域数据训练目标任务模型,如此循环交替。
在每个周期中,源域和目标域的训练数据都被分为若干批次用于批量训练,每批次的大小不超过20个句子。对于每批次,采用预训练的字符嵌入,而不是随机初始化的嵌入作为输入字符特征。为避免过度拟合,在将字符特征表示输入Bi-LSTM层之前使用以概率为0.5的Dropout训练。在CRF层中,使用动态编程来计算公式(1)并预测标签序列。
5 实验设置及结果分析
5.1 数据集
选择从智联招聘网站[39]中获取的IT行业类别的职位招聘数据作为目标域语料。将每条职位招聘数据中的“任职要求”视为一条语句。由于时间和标注成本的限制,仅标注1 006条“任职要求”作为研究语料。在标注语料时,尝试选择句法结构标准的句子作为研究语料,并将语句中的专业课程名称、专业知识点和相关专业工具标记为技能词,例如“C语言程序设计”“堆排序”“SpringMVC框架”等。因此,一条语句将被标记为:“熟/ O悉/ O机/ B-SKILL器/ I-SKILL学/ I-SKILL习/ I-SKILL与/ O自/ B-SKILL然/ I-SKILL语/ I-SKILL言/ I-SKILL处/ I-SKILL理/ I-SKILL。/O”。
由于没有将数据集划分为训练集/验证集/测试集的明确标准,本实验将数据集进行两轮交叉验证。将整个数据集划分为5份,选择其中的80%作为训练数据,将其余20%用作测试数据。再将训练数据划分为10份,选择其中的90%作为最终训练数据,其余10%用作验证数据。即将全部数据的72%作为训练数据,将8%作为验证数据,将20%作为测试数据。每次实验的训练周期为100,通过验证集找出训练集在这100个周期内的最佳网络模型参数后再使用测试集进行测试,以获得本次验证的结果。用于训练、验证和测试数据集的句子数、实体数量和实体类型如表2所示。值得注意的是,由于每个句子中包含的实体数量不同,训练/验证/测试数据集中的技能词数量会随着每次划分而动态变化,因此,实体数量的范围也在表中。
表2 目标域数据集的统计信息
Table 2 Statistics of the Target Domain Dataset
数据集 | 数据类型 | 实体类型 | 技能词数量 | 语句数量 |
目标域 | 训练集 | 技能词 | [5836, 6586] | 725 |
验证集 | 技能词 | [593, 817] | 80 | |
测试集 | 技能词 | [1577, 1903] | 201 |
以SIGHAN语料库作为源域数据,它的训练数据集中包含20 864个句子,测试数据集中包含4 636个句子。从训练集中随机选择10%,即2 318句作为验证集。源域中数据集的统计信息如表3所示。
表3 源域数据集的统计信息
Table 3 Statistics of the Source Domain Dataset
数据集 | 数据 | 实体类型 | 实体数量 | 语句 |
源域 | 训练集 | 人名/地名/机构名 | 8144/16571/9277 | 20 864 |
验证集 | 人名/地名/机构名 | 884/1951/984 | 2 318 | |
测试集 | 人名/地名/机构名 | 1864/3658/2185 | 4 636 |
实验采用机器学习中常用的准确率(Precision)、召回率(Recall)评价技能词抽取模型的性能,并采用F1值指标评价其综合性能。
5.2 参数设置
(1)预训练字符嵌入向量
本文使用预训练的字符嵌入,而不是随机初始化。在Word2Vec中使用CBOW模型对有大量未标记语料的20151201中文维基百科[20]预训练了维度为100的字符嵌入,源域和目标域任务都使用相同的字符嵌入。
(2)超参数设置和初始化
本文使用的超参数包括初始学习率、训练周期、批量训练样本大小、输入嵌入的Dropout率以及LSTM隐藏层向量的维数。这些超参数的范围根据文献[4,14,16]确定。例如,初始学习率选择为:0.005、0.001或0.002;训练周期设为100;批量训练样本大小设为20或50;用于输入嵌入的Dropout率设为0.2或0.5。最终,直接将训练周期、输入嵌入的Dropout率和LSTM隐藏层向量的尺寸分别设置为100、0.5和100,通过交叉将初始学习率和批量训练样本大小分别设置为0.001和20(最常见的最佳参数)。其他网络参数包括网络中每个层的初始权重、CRF层状态转换矩阵的元素在[-1,1]范围内随机地均匀初始化。
5.3 对比策略
为说明CDTL-PSE的合理性和有效性,使用几种主流的迁移学习方法与其进行对比[15,17,40-41]。
(1)方法A:Non-transfer(不使用迁移学习)
Huang等提出了多种基于LSTM的序列标注模型[4]。本文仅将Bi-LSTM-CRF模型应用于目标域数据集并用作基线方法。
(2)方法B:Joint-training(交替训练)
Yang等提出一种基于深度递归网络的迁移学习方法,该方法在源任务和目标任务之间共享隐藏的特征表示和部分模型参数[16]。在此研究中,仅使用具有不同标签集的跨域迁移模型。在此模型中,每个任务学习一个单独的CRF层,而每个任务共享隐藏的特征表示。本文将其训练过程简化为交替训练,如图4(a)所示。
图4

图4 各种对比方法的网络结构
Fig.4 Network Model for Each Method
(3)方法C:Fine Tuning(微调)
Lee等提出在源域数据集上训练模型的参数并迁移所有或部分参数以初始化目标域模型,以便在目标数据集上训练[18]。类似地,本文仅迁移Bi-LSTM层的参数,如图4(b)所示。
(4)方法D:Domain Projection(域投影)
该方法由Peng等[14]提出,是一种基于Bi-LSTM-CRF模型的迁移学习方法,旨在通过增加域投影层来产生不同域之间的共享特征表示。本文仅在多领域多任务情况下使用该方法,其中领域投影层和CRF层特定于任务,而Bi-LSTM层共享。源域任务和目标任务模型采用交替训练,如图4(c)所示。
(5)方法E:BERT-Bi-LSTM-CRF
BERT(Bidirectional Encoder Representations from Transformers)是一种以Transformers为主要框架的双向编码表征模型[42]。BERT-Bi-LSTM-CRF是在预训练的BERT模型顶部添加了用于序列标记的Bi-LSTM层和CRF层,并且通过招聘语料数据对预训练的BERT模型参数进行微调,如图4(d)所示。
基于上述方法,本文考虑了各种情况下技能词识别性能的比较。
(1)在将SIGHAN语料分解为三个不同源域之后,每个源域的标签集都映射到一个统一的标签集(B-Entity,I-Entity,Other)。使用方法B的迁移策略将三个源域各自迁移到目标域(分别标记为Per_Alter、Loc_Alter和Org_Alter)。
(2)带有原始标签集的整个SIGHAN语料都用作源域。使用方法B的迁移策略将源域迁移到目标域(标记为Diff_Alter)。
(3)整个SIGHAN语料库都用作源域,但是其标签集被映射到一个统一的标签集(B-Entity,I-Entity,Other)。使用方法B的迁移策略将源域迁移到目标域(标记为Same_Alter)。
(4)标签序列的预测通过对Per_Alter、Loc_Alter和Org_Alter的结果进行多数投票而获得(标记为Alter_Ensemble)。
(5)与(1)的情况类似,但是将迁移学习方法替换为方法C(分别标记为Per_Tune、Loc_Tune和Org_Tune)。
(6)与(2)的情况类似,但是将迁移学习方法替换为方法C(标记为Diff_Tune)。
(7)与(3)的情况类似,但是将迁移学习方法替换为方法C(标记为Same_Tune)。
(8)标签序列预测通过对Per_Tune、Loc_Tune和Org_Tune的结果进行多数投票而获得(标记为Tune_Ensemble)。
(9)与(1)的情况类似,但是将迁移学习方法替换为方法D(分别标记为Per_Domain、Loc_Domain和Org_Domain)。
(10)与(2)的情况类似,但是将迁移学习方法替换为方法D(标记为Diff_Domain)。
(11)与(3)的情况类似,但是将迁移学习方法替换为方法D(标记为Same_Domain)。
(12)标签序列预测通过对Per_Domain、Loc_Domain和Org_Domain的结果进行多数表决而获得(标记为Domain_Ensemble)。
(13)使用交替训练的CDTL-PSE,其中使用特征扩充或Bi-LSTM层进行域自适应,标记为CDTL-PSE:Alter(特征扩充)或CDTL-PSE:Alter(Bi-LSTM)。
(14)使用微调的CDTL-PSE,其中使用特征扩充或Bi-LSTM层进行域自适应,标记为CDTL-PSE:Tune(特征扩充)或CDTL-PSE:Tune(Bi-LSTM)。
(15)方法E用于目标域(标记为BERT-Bi-LSTM-CRF)。
以上实验结果可以组合成两个实验:实验一,为什么SIGHAN语料库应分解为三个源域,集成学习可以提高标签序列预测的准确性;实验二,域自适应层对于跨域迁移学习至关重要。
此外,本文还进行了两个实验:实验三,以不同的样本标记比率来训练CDTL-PSE方法,以评估该方法是否可以缓解可用标注数据的不足;实验四,CDTL-PSE是否可以有效地识别技能词。
5.4 实验结果与分析
(1)实验一
将不同源任务迁移到目标任务的结果如表4所示。可以看出,在不同的迁移技术(方法B、方法C和方法D)下:①在将SIGHAN语料分解为三个不同源域情况下的F1值比基准模型略好或略差。在仅包含地名类型实体的情况下,F1值始终比基准模型情况下的F1值差。②在使用带有原始标签集的整个SIGHAN语料作为源域情况下的F1值小于将SIGHAN语料库分解为三个不同源域情况下的F1值。③与带有原始标签集的整个SIGHAN语料的情况相比,仅将整个SIGHAN语料的标签集映射到一个统一的标签集(B-Entity,I-Entity,Other)不会带来识别精度的提升。④将SIGHAN语料分解为三个不同源域实施各自到目标域的迁移学习,再将结果集成可以显著提高识别性能。
表4 将不同源任务迁移到目标任务的结果(括号中为标准差)
Table 4 Results of Transferring Different Source Tasks to the Target Task
方法 | Precision/% | Recall/% | F1/% | 提升/ |
No-Transfer | 80.04(3.12) | 82.11(2.63) | 81.03(2.41) | - |
Per_Alter | 79.78(3.43) | 82.59(2.64) | 81.15(2.93) | +0.12 |
Loc_Alter | 79.76(2.84) | 82.00(2.76) | 80.84(2.50) | -0.19 |
Org_Alter | 80.07(3.33) | 82.28(2.26) | 81.13(2.50) | +0.10 |
Diff_Alter | 79.81(3.22) | 81.42(2.58) | 80.58(2.57) | -0.45 |
Same_Alter | 79.26(3.54) | 81.72(3.29) | 80.44(3.04) | -0.59 |
Alter_Ensemble | 80.67(2.77) | 82.38(2.70) | 81.51(2.61) | +0.48 |
Per_Tune | 80.13(2.37) | 82.09(2.42) | 81.09(2.18) | +0.06 |
Loc_Tune | 79.85(2.30) | 81.58(3.02) | 80.68(2.19) | -0.35 |
Org_Tune | 80.00(2.42) | 82.02(2.30) | 80.96(2.00) | -0.07 |
Diff_Tune | 79.27(3.43) | 81.79(1.77) | 80.49(2.44) | -0.54 |
Same_Tune | 79.38(2.24) | 81.73(2.12) | 80.52(1.96) | -0.51 |
Tune_Ensemble | 80.37(2.23) | 82.13(2.55) | 81.22(1.97) | +0.19 |
Per_Domain | 80.30(2.43) | 82.35(2.57) | 81.29(2.07) | +0.26 |
Loc_Domain | 79.71(2.88) | 82.35(2.33) | 80.99(2.26) | -0.04 |
Org_Domain | 80.25(2.73) | 82.26(2.06) | 81.22(2.14) | +0.19 |
Diff_Domain | 79.71(4.17) | 81.76(3.31) | 80.69(3.46) | -0.34 |
Same_Domain | 79.61(3.04) | 81.88(2.36) | 80.70(2.32) | -0.33 |
Domain_Ensemble | 80.82(3.34) | 82.41(3.19) | 81.58(2.96) | +0.55 |
为进一步说明源域分解和集成学习的必要性,再进行95%置信度水平的配对t检验,以检查比较方法之间的差异(就平均F1值而言)是否在统计学上显著。目标数据集上使用不同迁移学习方法的F1值如表5所示,目标数据集上使用不同迁移学习方法与集成学习的F1值如表6所示。表5表明,整个SIGHAN语料库不适合直接用作目标任务的源域;而表6则表明,集成学习方法确实可以提高识别性能。因此,应将SIGHAN语料库分解为三个不同的源域,实施从三个源域到目标域的迁移学习,再将预测结果集成。
表5 目标数据集上使用不同迁移学习方法的F1值
Table 5 The F1-Score of Different Transfer Learning Methods on the Target Dataset
迁移学习方法 | DiffLabel | SameLabel | Per | Loc | Org |
方法B | 80.58●■* | 80.44●■* | 81.15 | 80.84 | 81.13 |
方法C | 80.49●■* | 80.52●■* | 81.09 | 80.68 | 80.96 |
方法D | 80.69●■* | 80.70●■* | 81.29 | 80.99 | 81.22 |
(注:DiffLabel、SameLabel表示两种情况:直接使用原始源域而不更改标签集和更改标签集。Per、Loc和Org表示通过分解原始源域而获得的三个新源域。●、■和*分别表示使用Per、Loc和Org的源域比直接使用相应的源域要好得多。)
表6 目标数据集上使用不同迁移学习方法与集成学习的F1值
Table 6 The F1-Score of Different Transfer Learning Methods and an Ensemble Learning Method on the Target Dataset
迁移学习方法 | Per | Loc | Org | Ensemble |
方法B | 81.15● | 80.84● | 81.13● | 81.51 |
方法C | 81.09● | 80.68● | 80.96● | 81.22 |
方法D | 81.29● | 80.99● | 81.22● | 81.58 |
(注:●表示使用集成学习比仅使用单一类型的源域要好得多。)
(2)实验二
为说明域自适应层对于跨域迁移至关重要,本文将(4)、(8)、(12)、(13)和(14)情况下的结果与基线方法进行比较。(4)和(13)情况下的结果可用于分析使用迁移学习方法B,域自适应层是否必不可少;而(8)和(14)情况下的结果可用于分析使用迁移学习方法C,域自适应层是否必不可少。在(12)情况下,所使用的方法与CDTL-PSE方法非常相似,仅域自适应层有所不同,因此,结果(12)、(13)和(14)的情况可以用来分析哪种域自适应方法最适合目标域任务。不同迁移学习方法的结果如表7所示。
表7 不同迁移学习方法的结果(括号中为标准差)
Table 7 Results of Different Transfer Methods
方法 | Precision/% | Recall/% | F1/% | 提升/% |
No-Transfer | 80.04(3.12) | 82.11(2.63) | 81.03(2.41) | - |
Alter_Ensemble | 80.67(2.77) | 82.38(2.70) | 81.51(2.61) | +0.48 |
CDTL-PSE:Alter(特征扩充) | 80.71(2.73) | 82.51(2.45) | 81.59(2.41) | +0.56 |
CDTL- PSE:Alter(Bi-LSTM) | 81.39(3.61) | 82.58(2.29) | 81.94(2.49) | +0.91 |
Tune_Ensemble | 80.37(2.23) | 82.13(2.55) | 81.22(1.97) | +0.19 |
CDTL-PSE:Tune(特征扩充) | 80.26(2.42) | 82.41(2.64) | 81.30(2.09) | +0.27 |
CDTL-PSE:Tune(Bi-LSTM) | 81.06(2.53) | 82.19(1.88) | 81.61(1.93) | +0.58 |
Domain_Ensemble | 80.82(3.34) | 82.41(3.19) | 81.58(2.96) | +0.55 |
BERT-Bi-LSTM-CRF | 80.03(3.09) | 83.84(2.12) | 81.86(2.14) | +0.83 |
从表7可以看出,在不同的迁移学习方法B和C条件下,两种类型域自适应层的添加可以提高集成学习情况下的识别精度。在交替训练的情况下,与Alter_Ensemble的结果相比,CDTL-PSE:Alter(特征扩充)和CDTL-PSE:Alter(Bi-LSTM)的F1值分别提高0.08%和0.43%。同样,在参数微调的情况下,与Tune_Ensemble的结果相比,CDTL-PSE:Tune(特征扩充)和CDTL-PSE:Tune(Bi-LSTM)的F1值提高0.08%和0.39%。配对t检验在置信度为95%时结果如表8所示。可见,不同类型的域自适应层对识别精度的提升程度不同,最好采用新的Bi-LSTM层进行域自适应,因为Bi-LSTM层比其他类型的域自适应方法能更好地适应目标任务;CDTL-PSE训练时最好采用交替训练的迁移学习方法。
表8 同一数据集上不同方法的F1值
Table 8 The F-Score of Different Methods on the Same Dataset
迁移学习方法 | Only Ensemble | 特征扩充 | Add Bi-LSTM |
方法B | 81.51●■ | 81.59 | 81.94 |
方法C | 81.22●■ | 81.30 | 81.61 |
(注:●表示使用域自适应层(特征扩充)明显优于仅使用集成学习,■表示使用域自适应层(Bi-LSTM)显著优于仅使用集成学习。)
从表7可以看到,方法E的F1值为81.86%,与具有Bi-LSTM域自适应层的CDTL-PSE模型的F1值81.94%相似。考虑到BERT方法使用的训练语料库较大,而CDTL-PSE所使用的训练语料库较小,因此,可以得出结论,CDTL-PSE方法的确可以从域自适应策略中有效受益。
(3)实验三
为说明CDTL-PSE可以缓解可用标注数据的稀缺性,本文以不同的标记率运行CDTL-PSE。本节所有实验采用固定的超参数。对目标域数据集执行5折交叉验证,其中80%用作训练数据,20%用作测试数据,然后选择10%的训练数据集作为验证数据。从剩余的训练数据中,选择10%、25%、50%、75%和100%进行训练,并分别重复10、4、4、4和1次。结果的平均F1值如图5所示。
图5

图5 不同规模的目标域训练数据下,CDTL-PSE和基线方法的F1值
Fig.5 The F1-scores of CDTL-PSE and the Baseline Method Under Different Scales of the Target Domain Training Data
从图5可以看出:①在不同标记率的情况下,CDTL-PSE方法比基线方法F1值都得到提升,但是,随着标记率的提高,提升程度将降低。例如,标记率为10%时的提升为8.5%,而标记率为100%时的提升为0.91%。②CDTL-PSE方法确实减轻了可用标注数据的不足。例如,标记率为25%时基线方法的F1值为70.59%,而标记率为10%时CDTL-PSE的F1值为69.42%;标记率为50%时基线方法的F1值为75.82%,而标记率为25%时CDTL-PSE的F1值为74.66%;标记率为75%时基线方法的F1值为77.87%,而标记率为50%时CDTL-PSE的F1值为78.36%。
(4)实验四
为验证CDTL-PSE方法可以有效地抽取技能词,使用由带标注的IT行业语料库训练的CDTL-PSE模型从机械制造或服装设计行业的招聘文本中抽取技能词。分别使用机械制造行业的6 400个职位和服装设计行业的5 000个职位信息进行验证。在每个领域中CDTL-PSE模型识别出的频次最多的前50个专业技能实体如图6和图7所示。
图6

图6 CDTL-PSE识别机械制造行业前50个技能词
Fig.6 The Top 50 PSEs in Mechanical Manufacturing Field Recognized by CDTL-PSE
图7

图7 CDTL-PSE识别服装设计行业前50个技能词
Fig.7 The Top 50 PSEs in Fashion Design Field Recognized by CDTL-PSE
从机械制造行业的职位信息中识别出1 802个不同的技能词。笔者邀请机器制造行业的专家来判断CDTL-PSE算法识别出的前50个技能词是否正确。根据专家判断,前50个技能词中有5个不能完全算作技能词:“com”、“设计”、“www”、“IBM”和“机器”。这是由于“机器学习”是计算机行业中的技能词,而“机器”一词在机器制造业中也很常见,因此很容易被误认为是技能词。“设计”经常出现在“具有”、“熟悉”和“从事”的动词后面。“IBM”是制造商的品牌名称,并且在职位要求中经常出现,例如“学会使用IBM自主研发的产品”。此外,公司网站经常出现在岗位职责要求中,格式如下:“了解更多信息,请访问http://www.xxx.com/”。此格式类似于IT行业语料库中某些句子的结构,例如:“了解前端基础技术,如HTML/CSS/JavaScript等”。因此,“IBM”、“www”和“com”很容易被误认为是技能词。
在服装设计行业的5 000个职位中,共有603个不同的技能词被识别。笔者也邀请了服装设计行业的专家来确定CDTL-PSE算法识别出的前50个技能词是否正确。根据专家判断,识别出的前50个技能词中有8个不能完全算作技能词:“hr”、“huajiasilk”、“www”、“sense”、“生产流程”、“操作过程”、“com”和“ISO”。在服装设计行业的语料库中,有些句子与IT行业语料库中的句子相似,例如:“精通整个操作过程”、“热爱时装行业,具有审美,具有sense”、“具有以上条件可直接联系hr”、“熟悉ISO质量管理体系”、“通过访问www.huajiasilk.com了解更多”和“熟悉服装的生产流程”等。因此,“hr”、“huajiasilk”、“www”、“sense”、“生产流程”、“操作过程”、“com”和“ISO”容易被误认为是技能实体。
6 结语
本文提出了一种识别专业技能实体的跨领域迁移学习方法CDTL-PSE。在将SIGHAN的NER语料库分解为三个具有不同命名实体类型的源域后,CDTL-PSE方法并行地利用这三个源域对目标任务进行迁移学习,其结果通过多数投票给出最终的标签序列。CDTL-PSE方法在其Bi-LSTM层和CRF层之间插入一个域自适应层,用于帮助迁移学习。
实验分析表明,CDTL-PSE将SIGHAN的NER语料库分解为三个源域,集成学习可以提高标签序列预测的准确性,域自适应层是跨域迁移学习的关键。实验结果还表明:与基线模型相比,使用交替训练的具有Bi-LSTM域自适应层的CDTL-PSE模型获得的F1值要高0.91%;CDTL-PSE可以缓解现有数据标注的不足,并且可以有效识别PSE。未来工作包括如何利用大量未标记的语料库来减少对源域的依赖,如何利用动态词嵌入或者预训练大模型更好地提取PSE,以及提高模型的可解释性。
边栏推荐
- 【英雄哥七月集训】第 28天:动态规划
- The ref value ‘xxx‘ will likely have changed by the time this effect function runs.If this ref......
- 中国农业工程学会农业水土工程专业委员会-第十二届-笔记
- (PMIC) full and half bridge drive csd95481rwj PDF specification
- Maintenance of delta hot metal detector principle analysis of v5g-jc-r1 laser measurement sensor / detector
- The 35 required questions in MySQL interview are illustrated, which is too easy to understand
- 35 道 MySQL 面试必问题图解,这样也太好理解了吧
- Achieve waterfall effect
- Vimtutor编辑
- Leetcode interview question 02.07. Linked list intersection [knowledge points: Double pointers, stack]
猜你喜欢

Kubeadm搭建kubernetes集群

Another installation artifact

Maintenance of delta hot metal detector principle analysis of v5g-jc-r1 laser measurement sensor / detector

MATLAB从入门到精通 第1章 MATLAB入门

怎样巧用断言+异常处理类,使代码更简洁!(荣耀典藏版)

Bus, protocol, specification, interface, data acquisition and control system in industrial communication field

Ctfshow network lost track record (1)

Api 接口优化的几个技巧

(PMIC) full and half bridge drive csd95481rwj PDF specification

CVPR 2022 | in depth study of batch normalized estimation offset in network
随机推荐
作价11.5亿元,1206件设备注入合资公司!SK海力士抢食大陆晶圆代工市场!
八、QOS队列调度与报文丢弃
融合LSTM与逻辑回归的中文专利关键词抽取
百度搜索为什么只抓取,却不展现页面?
技术选型Rust——事后分析
CVPR 2022 | in depth study of batch normalized estimation offset in network
openEuler Embedded SIG | 分布式软总线
属性基加密仿真及代码实现(CP-ABE)论文:Ciphertext-Policy Attribute-Based Encryption
The ref value ‘xxx‘ will likely have changed by the time this effect function runs. If this ref......
SQL server中提示对象名无效
High salary in the workplace | "intermediate and advanced test" interview questions
ABB电磁流量计维修信号变送器维修41F/E4技术参数
Priced at 1.15 billion yuan, 1206 pieces of equipment were injected into the joint venture! Sk Hynix grabs the mainland wafer foundry market!
1162. Map analysis - non recursive method
编码用这16个命名规则能让你少写一半以上的注释!
Quii Cordova plugin telerik imagepicker plug-in multi image upload out of sequence
Cy3/Cy5/Cy5.5/Cy7荧光标记抗体/蛋白试剂盒(10~100mg标记量)
Icml2022 | timing self-monitoring video transformer
Layout the 6G track in advance! Ziguang zhanrui released the white paper "6G unbounded AI"
Leetcode 19. delete the penultimate node of the linked list [knowledge points: speed pointer, recursion, stack]