请回答BERT:HR 聊天机器人强大聊天技能背后的秘密

首页 > 软件科技   发布机构: e成科技  2019-10-16 16:31

聊天机器人等智能应用的出现,无疑在人力资本领域掀起了一场声势浩大的革命,它的即时性、全天候、智能化回应,不仅提升了候选人/员工的体验,也大大地提升了HR效率,降低企业成本。


不难想象,未来这些智能化应用将会给我们带来更多惊喜。在这里,院长不禁要问,你知道这么好用的聊天机器人背后,是什么AI技术在支撑吗?很多人都说当然是NLP,没错,但NLP背后呢?还有一个利器就是:BERT!


2018年底到2019年,NLP领域从学术界到工业界最火热最强大的模型是什么?那就是BERT!BERT已然成为NLP技术历史上最重大转折点之一,是NLP技术向加速产业落地迈进的一大步e成科技作为HR+AI赛道领跑者,从BERT一经发布就敏锐察觉到了机遇,积极布局相关研究,不断跟进最近进展、探索相关应用,取得不错的积累和成果。在这篇文章里,院长将简单向大家阐述BERT的相关背景、原理、升级,以及e成科技在人力资本领域的一些应用、探索和思考。



背景:什么是BERT
WHAT'S BERT ? 
BERT (Bidirectional Encoder Representations from Transformers),是google于2018年底提出的一个预训练语言模型,它通过无监督的方法对大规模的自然语言的语料进行学习,从中提取出人类语言的内在基本规律,辅助后续的自然语言理解的相关任务。
例如,对于一段文本:e成科技是HR+AI赛道的领跑者,在NLP领域有很多的技术积累。


用通俗的语言理解,BERT在学习的是以下两方面的能力:
1.当输入了“e成科技是一家HR+AI__的领跑者”的时候,模型要学习到填入”赛道”是最佳答案,而不是其他的任何的无关词。
2.当输入了“e成科技是HR+AI赛道的领跑者”的时候,模型要学习到”在NLP领域有很多的技术积累”是最佳的下一句,而不是其他的任何句子。


以上两方面的能力,可以理解为是人类语言的基本规律,那么当模型学习到这种规律之后,有什么用呢?


BERT的强大能力

以BERT模型为基础,通过fine tune的方式,可以在BERT已经习得的语言知识的基础上,快速构建对其他自然语言任务的学习和理解,相比于普通的模型,其中的增益主要体现在两个方面:



1.理解更深入。由于已经在大量的自然语言中习得了基本的语言规律,当模型面临一个新的自然语言任务的时候,模型可以利用的知识就包含了已经习得的海量语言规律+新任务里的知识,使得模型能够更加深入新任务所表达的规律。
2.更少的样本依赖。在BERT以前,凡是涉及自然语言理解的任务,需要少则数万,多则数十万的训练样本,才能达到一个基本的效果,而训练样本不是自然就有的,大多需要人工标注。BERT出现之后,BERT可以基于已经习得的语言规律,更好的利用样本,使依赖的标注数量降低至少一个量级,极大加快模型的理解速度。



BERT原理和BERT升级
BERT自2018年底诞生后,在业界和学术界迅速激起一层研究热潮,不断的出现以BERT为基础的改良模型,这其中典型的中文模型代表包括来自哈工大的bert_wwm以及来自百度的 ernie模型。下面我们将简单介绍BERT-base\BERT_wwm\ernie模型的基本原理。
BERT-base
BERT综合考虑了以往语言模型(例如ELMo\GPT)的缺点,基本组件使用Transformer模块,并将单向的语言模型改进成双向模型,其结构如图1所示。


BERT所提出的双向预训练模型提出了两个预训练目标,分别是Masked Language Model(MLM)和Next Sentence Prediction(NSP)。MLM随机选取15%的词进行掩码,被选中的词中,80%的词用[MASK]标记替代,10%的情况用随机挑选的词替代,另外10%的情况维持不变。由于在使用预训练模型时,输入的文本不会有[MASK]标记,因此采用这种掩码机制可以有效避免模型误以为目标词预测是针对[MASK]标记的,从而在下游任务中也能有效预测目标词。因此,BERT相关的模型又被称为掩码语言模型(MLM)。下一句预测(NSP)任务在预训练过程中,按50%的概率选择实际输入中当前句子的下一个句子,并标为IsNext标签,另外50%的情况随机从语料中选择一个句子拼接在当前句子后,并标为NotNext标签。预训练模型同时优化[MASK]目标词预测及下一句预测的目标。



在下游任务的改造方面,类似于GPT,BERT也针对不同任务提出了不同构造输入的方式,包括句子关系分类、文本分类、阅读理解及序列标注,构造方法如图所示。对输入只有一个句子的情况,直接添加[CLS]字符,对有两个句子的情况,将句子通过分隔符拼接再添加[CLS]字符。每种任务的输入都由三个部分组成,每个单词的向量表示(Token Embedding),句子的向量表示(Segment Embedding,用于区分输入的不同句子)及位置向量表示(Position Embedding)。


BERT提供了基于字符mask机制的中文预训练模型BERT-Base, Chinese。而对于中文来说,一个词由不同的字符组成,而BERT提供的字符级的mask机制对中文来说会有一些限制,因此对中文的预训练模型的改进则体现在对整个单词进行mask(即全词mask,whole-word-mask)。


BERT_wwm
哈工大讯飞联合实验室开放的中文预训练模型BERT-wwm[17],与下文介绍的百度的ERNIE类似,是采用了全词mask策略(Whole Word Masking, wwm),对同属一个词的所有子词进行mask、保留或替换操作。数据预处理的分词过程采用了哈工大LTP分词工具。第一版本的BERT-wwm采用了中文维基百科数据进行预训练,第二版本BERT-wwm-ext提供了在更大通用语料(5.4B词数,包括维基百科和通用数据)上预训练的模型。


ERNIE
比于BERT的字符级mask,ERNIE提出了基于先验知识的mask策略。即每次mask连续的短语或实体。如对句子“哈尔滨是黑龙江的省会,国际冰雪文化名城”进行mask,依据BERT的字符级mask策略得到“哈 [mask] 滨是 [mask] 龙江的省会,[mask] 际冰 [mask] 文化名城”,而ERNIE的mask方式为“[mask][mask] [mask] 是黑龙江的省会,国际 [mask] [mask] 文化名城”。在训练数据方便,ERNIE使用了中文维基百科,百度百科,百度新闻及百度贴吧的论坛对话数据,并采用类似于BERT 下一句预测的对话语言模型(Dialogue Language Model, DLM)来建模对话句对结构。

人力资本领域应用
e成科技作为HR+AI赛道的领跑者,以先进的NLP能力不断引领HR领域内的AI升级。我们从BERT一经问世就密切关注其研究进展,在将近一年的时间内,我们积累了大量的探索和应用的经验,下文从BERT直接应用、专有BERT研发、合理性判定三个方面阐述了我们的一些探索。


BERT的直接应用
(1)基于BERT的情感分析模型
情感分析是语义理解里的核心模型之一,其解决的主要问题是一句具有主观情感的话语进行理解,识别出其中蕴含的正面、负面或者中性的情绪。


举例如下:1. 该面试者的沟通能力非常强2.该面试者沟通方面有一些不足,3.该同学来自上海。
模型对以上1 2 3句进行情感分析,1表达积极情绪,2表达消极情绪,3表达中性情绪。


在人力资本领域,情感分析模型的应用随处可见,在e成内部,我们使用情感分析模型进行公司新闻舆情、公司评价、面试官评价、绩效文本分析、对话情绪识别等基础的分析工作,助力人力资本领域内的洞见形成。


在BERT到来之前,e成就自研了基于lstm+softmax的情感分析模型,用于对公司的评价信息进行情感分析,取得相对不错的效果。但是仍然存在主要两点问题:


1.训练出一个有效模型需要的数据量庞大。我们使用了15w的训练数据,才训练出了一个准确率在90%的模型,15w的数据量不仅意味了更大的收集和标注数据难度,而且意味了更长的训练时常和资源消耗。
2.迁移能力差。我们尝试使用基于公司评价数据的模型直接对面试官评价数据进行分类,发现效果下降明显,大概降低了近15个百分点,自然语言处理有天然的领域属性,而一般的模型领域迁移能力有明显的局限。



2018年底,我们尝试了基于BERT的情感分析模型,新训练的模型准确率达到了93%,更重要的是,在以上两方面问题上,基于BERT的模型有质的提升:
1.训练模型需要的数据下降了至少一个量级。我们基于BERT尝试进行少量样本的学习,发现,训练到同样的效果,BERT需要的数据降低了一个量级。
2.强大的迁移能力。当我们把在公司评价数据集上训练的模型迁移到面试官评价数据集的时候,模型的效果几乎没有下降,这证明了BERT强大的领域迁移能力。


(2)基于BERT的实体识别模型
实体识别任务是指从一段文本中识别出特殊的名词,是NLP领域语言理解的核心任务之一。
在人力资本领域,我们需要识别的实体,主要包括(但不限于)公司、专业、职能、技能、学历、证书、学校等,从一段文本中识别出这些实体,是理解这段文本内容的基础,而基于识别结果并链接到知识图谱,更是下一步进行人岗匹配工作的核心要素。


举一个实体识别的例子如下:我毕业于北京大学,是一名算法工程师,现在在阿里巴巴就职。
从上面这句话,我们的识别结果是,学校-北京大学,职能-算法工程师,公司-阿里巴巴。
我们使用BERT进行实体识别模型的训练,取得很好的效果。整体识别的f1值达到了0.79,相比于传统的模型提升了5-10个百分点。


(3)基于BERT的名词短语识别模型
众所周知,对文本进行理解的第一步就是要进行分词,而人力资本领域充满了各种专有名词,在分词的时候确保一个名词短语不被错误的切分开,是正确的理解人力资本领域内的各种文本的重要前提。
为此,e成在很久以前就尝试了各种名词短语识别的算法,我们将名词短语识别直接建模成为序列标注任务,同时基于cv语料上的识别结果进行相关统计过滤,识别出了大量的名词短语列表。



例如下面的句子:
e成科技是是一家AI创新的公司,利用自然语言理解技术,提升人力资本领域内各个任务的智能化程度。
典型的切词会把上文中的自然语言理解技术切分为 自然/语言/理解/技术,这种切分方法会对理解文本和进行人岗匹配等过程产生很多不利的影响。
我们使用基于BERT的模型识别出上文中自然语言理解是一个名词短语,进而辅助在切词的时候保留其完整性。


人力资本领域的专有BERT
业界和学术界的经验表明,当基于某个领域内的大量自然语言的进行继续无监督训练之后,BERT的效果会得到进一步的提升,基于此,我们打造了人力资本领域内的专有BERT,使得领域内的各种模型可以继续提升



继续无监督训练需要两个关键因素,一是大量的数据,二是充足的算力。得益于e成在人力资本领域内多年的数据积累,以及公司作为AI公司充足的算力,我们的无监督训练得以实现。同时,我们选择近期效果更好的BERT的升级模型-ERNIE,作为我们继续训练的基础。以下,我们称这个模型为cv预训练模型。
数据方面,我们基于简历中的工作经历字段的数据进行全词mask预训练。考虑到通过10次随机mask之后的数据会大幅扩增,因此此处采用了大约5G的CV数据进行预训练。算力方面,我们使用8块v100GPU(目前业界算力最强GPU)进行训练,总共训练约一周的时间。


CV预训练方法
预训练过程包括预处理和预训练两个阶段。数据预处理旨在对原始数据进行掩码并进行句子拼接。在预处理之前,首先需要将原始数据分词,并将数据按行分句,按空行分段。这里我们加入由e成多年积累的各个实体的词典库作为分词的用户字典。预处理时,对属于一个词的字符之间添加“##”标识来区分词和单字。如“幼儿园”经过tokenizer之后会变成“幼##儿 ##园”,若mask策略随机选择了“幼”这个词替换成[MASK],也会同时将“儿”和“园”一起mask。构造下一句预测数据时,若当前文档只有一个句子,或者以50%的随机概率从其他文档随机抽取一个句子拼接到当前句子来作为下一句预测的负样本,另外50%的情况是选择当前文档的下一个句子拼接,作为下一句预测任务的正样本。处理完一组数据后,注意需要将中文连续词前面的‘##’符号去掉防止影响后续的预训练过程。


CV预训练模型评估
我们选择之前提及实体识别任务,验证我们的cv预训练模型的效果。我们分别对同一组数据进行了四组实验验证。包括:基于BERT模型直接fine-tune,基于CV数据预训练BERT之后的模型进行fine-tune,基于ERNIE模型直接fine-tune,和基于CV数据预训练ERNIE之后的模型进行fine-tune。


为评估实体识别的效果,分别从标签数量和实体范围角度进行了评估。例如 “拥有高中教师资格证”对应的标签为 “O O B-Certificate I-CertificateI-Certificate I-Certificate I-Certificate I-Certificate E-Certificate”,按标签数目评估即判断标签是否正确,而按实体范围评估则要求标签能正确区分实体的起始和终止边界,若预测标签为“O O B-CertificateI-Certificate I-Certificate I-Certificate E-Certificate O O”,则按标签数目评估时正确标签有6/9,但按实体范围评估准确率为0/1。


表3和表4展示了基于BERT原始模型及用CV数据预训练后的模型在实体识别任务上的对比,其中P、R、F分别代表准确率、召回率和F1-score。可以看出,根据标签数量评估时,CV数据预训练后的模型相比原始BERT在准确率、召回率和F1-score上分别提升了1.35%,1.35%和1.68%。按实体范围评估时,CV预训练后的模型比原始BERT在准确率和F1-score上分别提升了1.69%和2.03%.


基于ERNIE的CV数据预处理后相比于基于BERT的CV数据预处理后在标签数目上分别提升了10.29%,2.61%,5.71%,在实体范围评估上提升了3.12%,0.64%和1.13%。由此可以看出,采用领域数据对预训练模型进行进一步的预训练,有助于提升领域下游任务的表现效果。



 基于BERT的合理性判别
(1)对话中句子的合理性识别
为了识别Bot(聊天机器人)对话过程中,用户输入的一句话是否是一个合理的句子,我们应用了BERT对用户输入的query进行合理性的判定,对于识别出用户随意输入的句子,我们在Bot进行了特殊的回复设定,有效的增加了Bot对话过程对用户输入的理解能力。  
例如以下两句话:1.请问公司的地址是什么2.阿萨尔塔尔哇嘎时高时低
BERT模型会基于语言模型的预测结果,对1和2进行困惑度打分,过高的困惑度意味着这不是一个自然语句,进而触发特定的对话逻辑。


(2)公司名称的合理性判定
从自由文本中准确的识别公司名,是一项难度很大的任务,这其中一个很重要的点就是如何判定某一段文本在句子中是一个公司名,还是碰巧是其他词语,例如如下两句话:
我本科毕业后,一直在京东从事算法开发工作。我们公司位于北京东边的一个商业中心。
从这两句话中,我们都可以提取词语‘京东’,而且京东确实一个公司,但是很明显在语句2中,京东所表达的并不是一个公司。此时,我们就可以使用基于BERT的语言模型进行相关的判定,我们将两句话中的京东都替换成百度,发现对第二句话模型预测句子的合理性出现了大幅的降低,可以判定在第二句中提取的京东不是一个真正的公司。我们正在探索使用此类方法,来进一步提升我们实体识别的准确率。

总结

本文主要阐述了BERT的背景、原理、模型升级和人力资源领域的落地应用,作为一种预训练语言模型,BERT在NLP领域取得了极大的成功,e成作为HR+AI赛道的领跑者,紧跟业界最新的研究前沿,积极探索落地应用并取得了一定的成果。接下来,我们会从模型加速、蒸馏、小规模语言模型等方面,持续的进行相关的探索。

不管是在文本分类、文本相似度、情感分析、通用实体识别、语言模型、阅读理解等NLP能力方面,还是在语音分析、视频面试等音视频能力、人力资源知识图谱、简历解析、画像推理、BEI访谈等应用能力方面,e成科技将BERT技术应用其中,并基于具体场景做了很多技术优化,如样本优化、性能优化等,并基于人力资源场景语料专门训练了Bert模型。同时,我们把它平台化,把很多其他NLP工具集中在平台里,未来可以做到更强的模型,更加贴合业务。



基于以上领先的AI技术和深厚AI能力的积累,e成科技推出HR行业首个AI开放平台,并已实现AI能力中台化,即⽤即取,高效连接算法能力和业务诉求;同时对外开放AI能力,将多年AI能力积累开放给所有HR行业友商,助力人力资本智能化升级。

作者:e成科技AI算法团队

参考文献:
[1] ACL主席周明:一起拥抱 ACL 和 NLP 的光明未来, https://www.msra.cn/zh-cn/news/features/acl-2019-ming-zhou[2] 张俊林,从Word Embedding到Bert模型—自然语言处理中的预训练技术发展史, https://zhuanlan.zhihu.com/p/49271699[5] Vaswani A, ShazeerN, Parmar N, et al. Attention is all you need[C], Advances in neuralinformation processing systems. 2017: 5998-6008.[6] Devlin J, Chang MW, Lee K, et al. BERT: Pre-training of Deep Bidirectional Transformers forLanguage Understanding[C], NAACL, 2019: 4171-4186.[16] Sun Y, Wang S, LiY, et al. ERNIE: Enhanced Representation through Knowledge Integration[J].arXiv preprint arXiv:1904.09223, 2019.[17] Cui Y, Che W, LiuT, et al. Pre-Training with Whole Word Masking for Chinese BERT[J]. arXivpreprint arXiv:1906.08101, 2019.

  • 阅读 478
/// HRoot(包含移动应用、网页版)是一款基于大数据和人工智能的内容推荐引擎,内容全部来自内容账号在HRoot内容平台自行发布或授权自动抓取,HRoot不生产内容。以上的本文内容仅代表本文作者或发布机构/发布人、内容账号所属机构或所属人自身观点,不代表HRoot观点或立场。本文内容账号的发布机构/人信息请点击本文标题下方的发布机构/人名称以了解详情。【复制原文出处链接】
投诉
更多服务
Follow HRoot:

站点地图|使用条款|隐私政策|安全承诺|法律顾问|著作权声明

Copyright © 2002 - 2020 HRoot, Inc. All Rights Reserved, TEL:021-58215197 FAX:021-58218663沪ICP备05059246号

沪公网安备 31011502009045号