美团搜索NER技术启示(下):模型、展望和个人评价

随着文本层面的搜索向语义向量召回迭代(可能不少新人都不知道文本搜索了吧?),NER任务在搜索中的地位好像有所下降,但是作为关键的理解和抽取技术,仍有重要的应用场景,因此好好掌握还是非常关键的。

这次给大家以美团的技术分享为依据和思路指导,给大家介绍一下业界处理NER问题的基本方案
原文链接:

美团搜索中NER技术的探索与实践

由于内容众多,一篇实在写不完,所以分两篇来整:
· 美团搜索NER技术启示(上):场景、选型和实体匹配技术。(点击查看)
· 美团搜索NER技术启示(下):模型、展望和个人评价。

图片

一、模型

上一期提到,模型的主要责任就是识别长尾、未登陆的结果,首先,我们学习一下美团的模型迭代历程,这个迭代成一方面伴随着技术的变迁,另一方面也记录业务逐渐拓展下模型的应对能力。

图片

2018年以前是比较经典的CRF模型,而后升级为lstm-crf,然后从整流开始逐步从蒸馏bert到bert完全体,再到后续对bert的魔改和场景、知识适配。而在技术上,也是逐步从离线预计算到蒸馏再到大模型,这里面所透露的信息都很多,一方面业务效果优先的情况下,大模型会是趋势,而大模型的短板主要在于性能,性能在逐步解决后大模型也就得以上线。围绕着NER任务,模型构建主要面临的是这几个问题:

· 性能。

· 领域强相关。

· 标注数据。

性能问题,从上述的迭代流程能看到其优化流程,领域相关的问题则是通过各种业务数据的引入,或增强或嵌入的方式优化NER方法,而针对标注数据的问题,则采用了一种弱监督的NER方法来进行优化。

目前美团主要使用的是BERT和BERT-LR级联模型。

BERT

相信BERT大家都不陌生了,但阻碍其应用的最大问题就是他的推理速度,美团的应对则是从蒸馏和加速两个方向去做。

模型压缩领域的主要操作就是剪枝和蒸馏,美团实验表明剪枝的损失不小,所以就剩下蒸馏这条路,这种方式并不新颖,2015年Hinton大神就已经提到过,通过Teacher模型对Student的学习,能让student逐步逼近teacher模型的结果,从而完成蒸馏。而在美团的实践经验和场景下,有如下明确的模型建议:

· 模型上更建议用推理速度快的网络进行蒸馏,保证在线运行速度。(IDCNN-CRF)

· 训练过程中使用标签近似(因为NER任务本身的特定)来指导学习。

而在加速上,文章提供了3种方法:

· 算子融合。提到了基于NV的Faster Transformer并进行了二次的开发,在稳定性和易用性上做了一定的改进,加速的核心主要在于降低Kernel Launch次数和提高小算子访存效率。

· Batching。在流量巨大的互联网场景,完全可以凑成batch再来进行计算以降低Kernel Launch次数、充分利用多个GPU SM。

· 混合精度。混合精度本质是可以减少显存开销,兼顾FP32的稳定和FP16的速度。


二、知识增强的NER

有关技术选型的思考,美团这篇文章的讲解非常细致,对于技术选型不熟悉的,可以研读一下这篇文章,思路有很多可以学习的地方。

语言模型目前已经能够很轻易地学习到语法信息,类似GPT等已经能够生成非常“人类”的语言,现在的技术瓶颈就落在了“知识”上,尽管模型生成的语言非常“人类”,但是因为少了知识的支撑,所以经常是“一本正经的胡说八道”,因此知识嵌入或者说增强则成为一个技术热点,在NER里面也有大量知识增强的技术手段

开始讲之前,分享一个技术点,就是有关词典和模型的融合,已经有人进行了完整的总结,此处给大家链接以备拓展阅读:

https://zhuanlan.zhihu.com/p/136277575

Lattice-LSTM的提出本质是一种能结合字和词的NER方法,从而完成知识的嵌入,而在搜索场景下,Query乃至物料中都会存在大量的诸如POI之类的信息,这些信息的嵌入能直接使效果提升。

图片

这里重点讲了两个技术细节,分别是短语挖掘计算与具体模型嵌入的方式。

短语挖掘计算上,是根据query和doc之间的匹配情况来进行抽取,然后通过多模型的方式生成多个候选结果,这个候选结果通过整数规划进行选择,使整体得分最大化。

模型嵌入上,采用结构其实和常规的实体词嵌入差不多,将词向量、实体短语向量、字向量之间进行组合,如下图所示,在计算过程通过LSTM的方式将或长或短的短语和词汇信息融合进来

图片

在此基础上,构造了领域词典知识和模型融合的方案,并分为了两个阶段,拆分为实体边界识别和标签识别,这个方式的优势是可以跨领域使用,同时也能充分使用实体数据等信息提升识别率。

· 一阶段,用bert关注实体边界。

· 二阶段,则将实体词典带来的信息融入到实体分类模型中。模型上采用的是IDCNN,内部一方面会对切分结果进行编码,然后把编码内容输入到标签识别模型中。值得强调的是,IDCNN的使用主要考虑的是性能问题,当然bert也能使。

图片

弱监督学习

图片

弱监督是一种基于少量已标注样本和大量无标注样本的学习方法,这种情况更加符合NER的使用场景,因此美团的NER也提到了这个方案。

整个训练和使用的流程也分两块:弱监督标注样本生成和弱监督模型训练。

第一步的弱监督标注样本生成:

· 首先用已标注数据训练一个初版本模型(有监督学习),这里用的初版模型。

· 用词典数据作为无监督样本,用上一步的bert预测得到实体识别结果。

· 对该结果进行修正,修正的方式就是根据词典和模型的差别进行综合选择。

图片

第二步是弱监督模型训练,在第一步生成的样本和标注样本进行混合不区分的方式进行训练,这种训练可以是有别于第一步的模型,也可以是在第一步模型的基础上进行微调,两者从最终的效果来看后者更好。


三、启示

整篇文章,美团进行对他们的NER方案进行了非常有效的方法,本质上是需要应对三大核心问题:

· 性能要求。

· 领域强相关。

· 标注数据。

这些核心问题,也是我们经常会遇到的核心问题,在参透这些本质的基础上,可以开始步步为营地综合解决。

· 性能问题,随着硬件、编译等技术,从小模型向大模型cache再向大模型迁移。

· 领域问题,结合领域挖掘的词典,并把词典信息输入进去,完成领域信息的构造和融入。

· 标注数据本就有限,人工一方面数量大了不显示,另一方面也不完全靠谱,弱监督的方式就非常合理了。

当然了,NER的终点并非在此,落地场景上搜索仍会在很长的一段时间内需要NER技术,还有很多类似实体链接等的任务离不开NER,而在技术和场景需求上,OOV问题、歧义、嵌套等问题仍有待解决,对于领域的问题,甚至是领域的通用性问题,都还有很大的空间,都需要我们持续学习和进步。

本文来自:公众号【CS的陋室】

作者:机智的叉烧

Illustrastion by Tatyana Krasutskaya from icons8
-The End-
图片

扫码观看

本周上新!

图片

“AI技术流”原创投稿计划


TechBeat是由将门创投建立的AI学习社区(www.techbeat.net社区上线330+期talk视频,900+篇技术干货文章,方向覆盖CV/NLP/ML/Robotis等;每月定期举办顶会及其他线上交流活动,不定期举办技术人线下聚会交流活动。我们正在努力成为AI人才喜爱的高质量、知识型交流平台,希望为AI人才打造更专业的服务和体验,加速并陪伴其成长。


投稿内容

// 最新技术解读/系统性知识分享 //

// 前沿资讯解说/心得经历讲述 //


投稿须知

稿件需要为原创文章,并标明作者信息。

我们会选择部分在深度技术解析及科研心得方向,

对用户启发更大的文章,做原创性内容奖励。


投稿方式

发送邮件到

chenhongyuan@thejiangmen.com

或添加工作人员微信(chemn493)投稿,沟通投稿详情;还可以关注“将门创投”公众号,后台回复“投稿”二字,获得投稿说明。


图片

>> 投稿请添加工作人员微信!


关于我“


将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务将门技术社群以及将门创投基金

将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”: 
bp@thejiangmen.com
图片    
点击右上角,把文章分享到朋友圈

点击“阅读原文”按钮,查看社区原文

⤵一键送你进入TechBeat快乐星球