全面分析:大数据开源舆情分析系统-数据采集技术架构浅析

优采云 发布时间: 2022-10-29 12:28

  全面分析:大数据开源舆情分析系统-数据采集技术架构浅析

  舆情系统中的数据采集是关键部分。虽然这部分核心技术是由爬虫技术框架构建的,但绝不是一两个爬虫程序就可以处理海量的互联网数据,尤其是在抓取大量网站的情况下,每天大量网站状态和样式变化后,爬虫可以快速响应和维护。

  一旦分布式爬虫规模大了,就会出现很多问题,都是技术上的挑战,会有很多门槛,比如:

  1.检测你是爬虫,屏蔽你的IP

  2个人返回脏数据给你,你是怎么识别的?

  3 对方被你杀了,你是怎么设计调度规则的?

  4. 一天需要爬取10000w的数据。您的机器带宽有限。如何以分布式方式提高效率?

  5数据爬回来,要清理吗?对方的脏数据会不会污染原创数据?

  6 对方部分数据未更新。您是否必须重新下载这些未更新的?如何识别?如何优化你的规则?

  7 数据太多,一个数据库放不下,要不要拆分数据库?

  8 对方的数据是用JavaScript渲染出来的,那么怎么抓拍呢?你想使用 PhantomJS 吗?

  9 对方返回的数据是加密的,怎么解密?

  

  10 对方有验证码,怎么破解?

  11 对方有APP,如何获取他们的数据接口?

  12 如何显示数据?你如何形象化它?你如何使用它?你如何发挥价值?

  13 等等……

  在*敏*感*词*的互联网数据采集中,需要构建完整的数据采集系统。否则你的项目开发效率和数据采集效率会很低。同时,也会出现很多意想不到的问题。

  开源舆情系统

  在线体验系统开源技术栈整体架构

  (这是最早的系统架构图)

  数据处理流程

  (这是最早的系统设计图)

  

  源头管理

  信息源,信息源的简称。

  我们需要管理采集类型、内容、平台、区域等各种属性,为此我们开发了三代源码管理平台。

  代产品形式

  二代产品形态

  三代产品形态

  现场肖像

  采用模拟浏览器请求技术实现深度和广度爬取算法。全站分为3个环节,1)全站扫描,2)数据存储,3)特征分析。

  数据抓取 数据暂存 低代码开发 分布式采集爬虫管理采集分类反爬虫策略采集日志数据分析

  行业解决方案:美团搜索中NER技术的探索与实践

  本文介绍了 NER 任务在 O2O 搜索场景下的特点和技术选择,并详细介绍了实体字典匹配和模型构建的探索和实践。

  背景

  Named Entity Recognition (NER),又称“专有名词识别”,是指识别文本中具有特定含义的实体,主要包括人名、地名、机构名、专有名词等。在美团搜索场景中, NER是深度查询理解(DQU)的底层基础信号,主要用于搜索召回、用户意图识别、实体链接等环节。搜索体验。

  下面将简要介绍实体识别在搜索召回中的应用。在O2O搜索中,商家POI的描述是多个相互不高度相关的文本域,如商家名称、地址、类别等。如果O2O搜索引擎也采用所有文本字段相交的方式,可能会出现大量的误召回。

  我们的解决方案,如下图1所示,允许特定查询只在特定文本域中进行反向搜索,我们称之为“结构化召回”,可以保证召回商家的强关联性。比如“海底捞”这样的请求,有些商家地址会被描述为“海底捞附近几百米”。如果用全文域检索这些业务,就会被召回,这显然不是用户想要的。结构化召回基于NER将“海底捞”识别为商家,然后只在商家名称相关的文本字段中进行搜索,从而只召回海底捞品牌商家,精准满足用户需求。

  图1 实体识别与召回策略

  与其他应用场景不同,美团搜索的NER任务具有以下特点:

  技术选型

  根据O2O领域NER任务的特点,我们整体的技术选型是“实体字典匹配+模型预测”的框架,如下图2所示。实体字典匹配和模型预测解决的问题各有侧重,现阶段缺一不可。以下对三个问题的回答解释了我们做出此选择的原因。

  为什么需要实体字典匹配?

  答:主要有四个原因:

  一是用户查询在搜索中的头部流量通常较短,表达形式简单,集中在商户、类别、地址等三类实体的搜索中。实体字典匹配虽然简单,但处理此类查询的准确率可以达到90%以上。.

  第二个与NER域有关。业务实体字典是通过挖掘业务数据资源得到的。在线词典匹配后,可以保证识别结果是领域适应的。

  第三,新服务的接入更加灵活,新业务场景下的实体识别只需提供业务相关的实体词汇即可完成。

  第四,NER的部分下游用户对响应时间、字典匹配速度要求极高,基本没有性能问题。

  为什么我们需要实体字典匹配的模型预测?

  答:有两个原因:

  首先,随着搜索量的不断增加,中长尾搜索流量的表达方式复杂,越来越多的OOV(Out Of Vocabulary)问题开始出现。实体词典已经无法满足日益多样化的用户需求。它可以作为字典匹配的有效补充。

  二是实体字典匹配不能解决歧义问题。比如实体词典里的“黄鹤楼”,“黄鹤楼”也是武汉的风景名胜,北京的生意,香烟的产品。字典匹配没有消除歧义的能力。这三种All type都会输出,模型预测可以结合上下文,不会输出“黄鹤楼”是香烟产品。

  实体字典匹配和模型预测的结果是如何组合输出的?

  A:目前我们使用训练好的CRF权重网络作为打分器,对实体字典匹配和模型预测两个输出的NER路径进行打分。当字典匹配没有结果或路径分数明显低于模型预测的结果时,使用模型识别的结果,其他情况仍使用字典匹配的结果。

  在介绍了我们的技术选型之后,我们将介绍我们在实体字典匹配和模型在线预测方面的工作,希望能为您在O2O NER领域的探索提供一些帮助。

  图2 实体识别整体架构

  实体字典匹配

  传统的 NER 技术只能处理一般领域中已建立和现有的实体,而不能处理特定于垂直领域的实体类型。在美团搜索场景下,POI结构化信息、商户点评数据、搜索日志等独特数据的离线挖掘,可以很好地解决领域实体识别问题。经过线下实体数据库的不断丰富和积累,线上使用轻量词库匹配实体识别简单、高效、可控,可以很好地覆盖头部和腰部流量。目前基于实体库的在线NER识别率可以达到92%。

  3.1 离线挖矿

  美团拥有丰富多样的结构化数据,通过现场处理结构化数据可以获得高精度的初始实体库。例如,从商户的基本信息中,可以获取商户名称、类别、地址、所售商品或服务等实体。从猫眼娱乐数据中可以获得电影、电视剧、艺人等实体类型。但是,用户搜索到的实体名称往往夹杂着很多非标准的表达方式,与业务定义的标准实体名称不同。如何从非标准表达式中挖掘领域实体变得尤为重要。

  现有的新词挖掘技术主要分为无监督学习、监督学习和远程监督学习。无监督学习通过频繁序列生成候选集,并通过计算接近度和自由度指标对其进行过滤。虽然这种方法可以生成足够多的候选集,但仅通过特征阈值进行过滤并不能有效平衡精度和召回率。现实 在应用程序中,通常选择更高的阈值以牺牲召回率来确保精度。最先进的新词挖掘算法是监督学习,通常涉及复杂的解析模型或深度网络模型,并依赖领域专家设计大量规则或大量人工标注的数据。远程监督学习通过开源知识库生成少量的标注数据,虽然在一定程度上缓解了人工标注成本高的问题。但是,小样本的标注数据只能学习简单的统计模型,无法训练出泛化能力高的复杂模型。

  我们的线下实体挖掘是多源多方法的,涉及的数据源包括结构化的商业信息库、百科词条、半结构化的搜索日志、非结构化的用户评论(UGC)。使用的挖掘方法也多种多样,包括规则、传统机器学习模型、深度学习模型等。作为非结构化文本,UGC收录大量非标准表达实体名称。下面我们将详细介绍一种针对UGC的垂直领域新词自动挖掘方法。该方法主要包括三个步骤,如下图3所示:

  图3 一种适用于垂直领域的自动生词挖掘方法

  Step1:候选序列挖掘。频繁连续的词序列是潜在新词的有效候选者,我们使用频繁序列来生成足够的候选集。

  Step2:基于远程监督的*敏*感*词*标注语料生成。频繁的序列随着给定的语料库变化,因此手动标记非常昂贵。我们使用该领域已有的累积实体字典作为远程监督词库,将候选序列与Step 1中实体字典的交集作为训练正样本。同时,通过对候选序列的分析发现,在数百万个频繁的 Ngram 中,只有大约 10% 的候选是真正高质量的新词。因此,对于负例,采用负采样的方法来产生训练负例集[1]。对于海量的 UGC 语料库,我们设计并定义了四个统计特征维度来衡量候选短语的可用性:

  在构建小样本标记数据并提取多维统计特征后,训练二元分类器来计算候选短语的估计质量。由于训练数据的负样本采用负采样的方法,这部分数据中夹杂着少量的优质词组。为了减少负噪声对词组估计质量得分的影响,可以通过集成多个弱分类器来降低。错误。对候选序列集进行模型预测后,得分超过一定阈值的集合为正例池,得分较低的集合为负例池。

  Step3:基于深度语义网络的短语质量评估。在存在大量标记数据的情况下,深度网络模型可以自动有效地学习语料库特征并产生具有泛化能力的高效模型。BERT 从海量自然语言文本和深度模型中学习文本语义表示,经过简单的微调后在多个自然语言理解任务上创下新记录,因此我们基于 BERT 训练了一个短语质量评分器。为了更好的提高训练数据的质量,我们使用搜索日志数据远程引导Step 2中生成的*敏*感*词*正反例池数据,将搜索记录较多的条目作为有意义的关键词。我们将正例池与搜索日志重叠的部分作为模型的正样本,将负例池​​减去搜索日志集的部分作为模型的负样本,从而提高可靠性和多样性的训练数据。此外,我们采用 Bootstrapping 方法。首次获得词组质量得分后,根据现有词组质量得分和远程语料搜索日志更新训练样本,迭代训练提高了词组质量得分器的效果,有效减少误报和假阴性。. 此外,我们采用 Bootstrapping 方法。首次获得词组质量得分后,根据现有词组质量得分和远程语料搜索日志更新训练样本,迭代训练提高了词组质量得分器的效果,有效减少误报和假阴性。. 此外,我们采用 Bootstrapping 方法。首次获得词组质量得分后,根据现有词组质量得分和远程语料搜索日志更新训练样本,迭代训练提高了词组质量得分器的效果,有效减少误报和假阴性。.

  从UGC语料库中提取大量新词或词组后,参考AutoNER[2]预测新挖掘词的类型,从而扩展离线实体库。

  3.2 在线匹配

  原有的在线NER字典匹配方法直接对Query进行双向最大匹配得到组件标识的候选集,然后根据词频过滤输出最终结果(这里指的是实体搜索量)。这种策略比较简单,对词库的准确率和覆盖率要求极高,因此存在以下问题:

  为解决上述问题,在实体词典匹配前引入CRF分词模型,制定垂直领域美团搜索的分词标准,人工标注训练语料,训练CRF分词模型. 同时针对模型分割错误的问题,设计了两阶段修复方法:

  

  结合模型分词Term和基于领域词典的匹配Term,根据动态规划得到Term序列权重和的最优解。

  基于模式正则表达式的强修复规则。最后输出基于实体库匹配的组件识别结果。

  图4 实体在线匹配

  模型在线预测

  对于长尾,未登录的查询,我们使用该模型进行在线识别。NER 模型的演变经历了如下图 5 所示的几个阶段。目前网上使用的主要模型是BERT[3]和BERT+LR级联模型。此外,一些模型在探索中的离线效果也被证明是有效的。,未来我们会综合考虑性能和效益逐步推出。NER在线模型在搜索中的构建主要面临三个问题:

  高性能要求:NER是基础模块,模型预测需要毫秒级完成。然而,目前基于深度学习的模型存在计算量大、预测时间长的问题。

  领域相关性强:搜索中的实体类型与业务供给高度相关,仅考虑通用语义难以保证模型识别的准确性。

  缺乏标注数据:NER标注任务比较困难,需要实体边界分割和实体类型信息。标注过程耗时耗力,*敏*感*词*标注数据难以获取。

  针对性能要求高的问题,我们的在线模型在升级到BERT后,进行了一系列的性能调优;针对NER领域的相关问题,我们提出了一种融合了搜索日志特征和实体字典信息的知识增强NER方法;针对训练数据难以获取的问题,我们提出了一种弱监督的NER方法。下面我们详细介绍这些技术要点。

  图5 NER模型演化

  4.1 BERT 模型

  BERT是谷歌于2018年10月公开的一种自然语言处理方法,该方法一经发布就引起了学术界和工业界的广泛关注。在效果方面,BERT 刷新了当前 11 个 NLP 任务的 state-of-the-art 结果,该方法还被评为 2018 年 NLP 的重大进展和 NAACL 2019 的最佳论文 [4,5]。BERT 的技术路线与 OpenAI 早前发布的 GPT 方法基本一致,只是在技术细节上略有不同。两部作品的主要贡献是利用预训练+微调的思想来解决自然语言处理问题。以BERT为例,模型应用包括2个步骤:

  将 BERT 应用于实体识别在线预测的一个挑战是预测速度慢。我们从模型蒸馏和预测加速两个方面进行探索,分阶段推出了BERT蒸馏模型、BERT+Softmax、BERT+CRF模型。

  4.1.1 模型蒸馏

  我们为 BERT 模型尝试了两种裁剪和蒸馏方法。结果表明,对于 NER 等复杂的 NLP 任务,裁剪会严重损失准确性,而模型蒸馏是可行的。模型蒸馏就是用一个简单的模型来逼近一个复杂模型的输出,以在保证预测效果的同时减少预测所需的计算量。Hinton 在他 2015 年的论文 [6] 中阐述了核心思想。复杂模型一般称为教师模型,蒸馏后的简单模型一般称为学生模型。Hinton 的蒸馏方法使用伪标记数据的概率分布来训练学生模型,而不使用伪标记数据的标签。作者' s的观点是概率分布可以提供比标签更多的信息和更强的约束,并且可以更好的保证Student Model和Teacher Model的预测效果是一致的。在 2018 年 NeurIPS 的研讨会上,[7] 提出了一种新的网络结构 BlendCNN 来近似 GPT 的预测效果,本质上是模型蒸馏。BlendCNN的预测速度比原创GPT快300倍,在特定任务上预测精度略有提升。关于模型蒸馏,基本上可以得出以下结论:[7]提出了一种新的网络结构BlendCNN来近似GPT的预测效果,本质上就是模型蒸馏。BlendCNN的预测速度比原创GPT快300倍,在特定任务上预测精度略有提升。关于模型蒸馏,基本上可以得出以下结论:[7]提出了一种新的网络结构BlendCNN来近似GPT的预测效果,本质上就是模型蒸馏。BlendCNN的预测速度比原创GPT快300倍,在特定任务上预测精度略有提升。关于模型蒸馏,基本上可以得出以下结论:

  有了上述结论,我们如何在搜索 NER 任务中应用模型蒸馏?我们先来分析一下任务。与文献中的相关任务相比,对于NER的搜索存在一个显着的区别:作为一个在线应用,搜索有大量未标记的数据。用户查询量可以达到每天千万量级,数据规模远超部分线下测评提供的数据。基于此,我们简化了蒸馏过程:不限制Student Model的形式,选择推理速度快的主流神经网络模型来逼近BERT;训练不使用值逼近和分布逼近作为学习目标,直接使用标签逼近作为目标。指导学生模型的研究。

  我们使用 IDCNN-CRF 来近似 BERT 实体识别模型。IDCNN(Iterated Dilated CNN)是一个多层的CNN网络,其中低层卷积使用普通的卷积操作,卷积结果是通过滑动窗口所描绘的位置的加权求和得到的,每个位置的距离间隔滑动窗口所描绘的距离等于1。高层卷积使用Atrous Convolution操作,滑动窗口所描绘的每个位置的距离间隔等于d(d>1)。通过在高层使用扩张卷积,可以减少卷积计算量,而不会丢失与序列相关的计算。在文本挖掘中,IDCNN 经常被用来代替 LSTM。实验结果表明,与原创 BERT 模型相比,

  4.1.2 预测加速

  BERT 中的大量小算子以及 Attention 计算量大的问题,使其在实际在线应用中的预测时间更高。我们主要使用以下三种方法来加速模型预测。同时,对于搜索日志中的高频查询,我们将预测结果以字典的形式上传到缓存中,进一步降低了模型在线预测的QPS压力。以下是加速模型预测的三种方法:

  1.算子融合:通过减少Kernel Launches的数量,提高小算子的内存访问效率,减少BERT中小算子的耗时开销。我们在这里研究 Faster Transformer 的实现。在平均延迟上,有1.4x~2x左右的加速比;在TP999上,有2.1x~3x左右的加速比。该方法符合标准的 BERT 模型。Faster Transformer开源版本工程质量低,易用性和稳定性问题较多,无法直接应用。我们基于 NV 开源 Faster Transformer 进行了二次开发,主要是提高稳定性和易用性。:

  2、Batching:Batching的原理是将多个请求合并为一个Batch进行推理,减少Kernel Launches的数量,充分利用多个GPU SM,从而提高整体吞吐量。当 max_batch_size 设置为 4 时,原生 BERT 模型可以将平均延迟控制在 6ms 以内,最大吞吐量可以达到 1300 QPS。这种方法非常适合美团搜索场景下的BERT模型优化,因为搜索有明显的高低峰期,可以提高模型在高峰期的吞吐量。

  3、混合精度:混合精度是指FP32和FP16混合的方式。使用混合精度可以加快 BERT 的训练和预测过程,减少内存开销,同时兼顾 FP32 的稳定性和 FP16 的速度。在模型计算过程中,FP16用于加速计算过程。在模型训练过程中,权重会以 FP32 格式存储,更新参数时会使用 FP32 类型。使用 FP32 Master-weights 更新 FP32 数据类型下的参数,可以有效避免溢出。在混合精度基本不影响效果的基础上,一定程度上提高了模型训练和预测速度。

  4.2 知识增强 NER

  如何将特定领域的外部知识作为辅助信息嵌入到语言模型中一直是近年来的研究热点。K-BERT[8]、ERNIE[9]等模型探索了知识图谱与BERT的结合,为我们提供了很好的参考。美团搜索中的NER是领域相关的,实体类型的确定与业务供给高度相关。因此,我们还探索了如何将 POI 信息、用户点击、领域实体词库等外部知识纳入 NER 模型。

  4.2.1 融合搜索日志特征的 Lattice-LSTM

  在O2O垂直搜索领域,大量实体由商家自定义(如商家名称、群组名称等),实体信息隐藏在POI提供的属性中,仅靠传统的语义方式就具有识别效果差。对于中文实体识别,Lattice-LSTM [10]通过增加词向量的输入来丰富语义信息。我们借鉴这个思路,结合搜索用户行为挖掘Query中潜在的短语​​,这些短语收录POI属性信息,然后将这些隐藏信息嵌入到模型中,在一定程度上解决了该领域的新词发现问题。与原来的 Lattice-LSTM 方法相比,每千人的识别准确率提高了 5 个百分点。

  图 8 融合搜索日志特征的 Lattice-LSTM 构建过程

  (1) 短语挖掘和特征计算

  该过程主要包括匹配位置计算和词组生成两个步骤,下面将详细介绍。

  图 9 短语挖掘和特征计算

  Step1:匹配位置计算。处理搜索日志,重点计算查询与文档字段的详细匹配,计算文档权重(如点击率)。如图9所示,用户输入的查询是“手工编织”。对于文档d1(搜索中的POI),“手”出现在“组列表”字段中,“编织”出现在“地址”字段中。对于文档2,“手工编织”出现在“商家名称”和“组列表”中。匹配开始位置和匹配结束位置分别对应匹配查询子串的开始位置和结束位置。

  Step2:短语生成。以 Step1 的结果为输入,使用模型推断候选词组。可以使用多个模型,产生满足多个假设的结果。我们将候选短语生成建模为整数线性规划 (ILP) 问题,并定义了一个优化框架,其中模型中的超参数可以根据业务需求进行定制,从而得到不满足任何假设的结果。

  对于一个具体的query Q,每个切分结果可以用一个整数变量xij来表示:xij=1表示query i到j的位置构成一个词组,即Qij是一个词组,xij=0表示该位置查询 i 到 j 是不同形式的短语。优化目标可以形式化为:在给定不同分割 xij 的情况下最大化采集的匹配分数。

  优化目标和约束函数如图10所示,其中p:文档,f:字段,w:文档p的权重,wf:字段f的权重。xijpf:查询子串Qij是否出现在文档p的f字段,最终切分方案会考虑观察证据,Score(xijpf):最终切分方案考虑的观察分数,w(xij):对应分割Qij权重,yijpf:观察到的匹配,其中查询子串Qij出现在文档p的f字段中。χmax:查询收录的最大短语数。这里,χmax、wp、wf 和 w(xij) 是超参数,需要在解决 ILP 问题之前设置。这些变量可以根据不同的假设进行设置:可以根据经验手动设置,也可以根据其他信号设置。参考图1中给出的方法。10. 最终短语的特征向量表征为 POI 的每个属性字段中的点击分布。

  图 10 短语生成问题抽象及参数设置方法

  (2) 模型结构

  

  图 11 融合搜索日志特征的 Lattice-LSTM 模型结构

  模型结构如图11所示。蓝色部分代表一个标准的LSTM网络(可以单独训练,也可以和其他模型结合训练),输入是一个词向量,橙色部分代表当前查询中的所有词向量,和红色部分表示当前查询中Step1计算的所有短语向量。对于LSTM的隐藏状态输入,主要由两层特征组成:当前文本语义特征,包括当前词向量输入和上一时刻词向量隐藏层输出;潜在实体知识特征,包括当前词特征的词组特征和词特征。下面介绍当前时刻潜在知识特征的计算和特征组合的方法。(在以下公式中,

  4.2.2 带有实体字典的两阶段NER

  我们考虑将领域字典知识纳入模型,并提出一种两阶段的 NER 识别方法。方法是将NER任务拆分为两个子任务,实体边界识别和实体标签识别。与传统的端到端NER方法相比,该方法的优势在于实体分割可以跨域重复使用。另外,实体标签识别阶段可以充分利用实体数据积累、实体链接等技术,提高标签识别准确率,但缺点是会出现错误传播的问题。

  第一阶段让BERT模型专注于实体边界的确定,而第二阶段将实体字典带来的信息增益纳入实体分类模型。第二阶段的实体分类可以单独预测每个实体,但是这种方法会丢失实体上下文信息。我们的做法是用实体字典作为训练数据训练一个IDCNN分类模型,对输出的分割结果进行编码,在第二阶段将编码信息加入到标签识别模型中,完成解码结合上下文词汇。基于 Benchmark 标注数据,该模型在 Query 粒度的准确率上相比 BERT-NER 实现了 1% 的提升。

  图 12 与实体字典融合的两阶段 NER

  4.3 弱监督NER

  针对获取标记数据的困难,我们提出了一种弱监督的解决方案,包括弱监督标记数据生成和模型训练两个过程。下面详细介绍这两个过程。

  图 13. 弱监督标注数据生成过程

  Step1:弱监督标记样本生成

  (1) 初始模型:使用标注的小批量数据集训练实体识别模型。这里使用最新的BERT模型得到初始模型ModelA。

  (2)字典数据预测:实体识别模块目前以字典的形式存放数百万条优质实体数据,数据格式为实体文本、实体类型、属性信息。使用上一步得到的ModelA预测,改变字典数据,输出实体识别结果。

  (3)预测结果校正:实体字典中的实体准确率高。理论上,模型预测结果给出的实体类型至少应该是实体字典中给出的实体类型,否则说明模型不适合这种类型的输入。识别效果不好,需要有针对性的补充样本。我们对此类输入的模型结果进行修正,得到标注文本。我们尝试了两种校正方法,即整体校正和局部校正。整体修正是指将整个输入对字典实体类型进行修正,部分修正是指对模型切分的单个Term进行类型修正。比如“兄弟烧烤个性DIY”词典中给出的实体类型是商家,模型预测结果为修饰符+菜品+类别。No Term 属于商户类型,模型预测结果与字典不同。这时候,我们的模型输出标签就需要修正了。修正候选项有“商户+菜品+品类”、“修饰符+商户+品类”、“修饰符+菜品+商户”三种类型。我们选择最接近模型预测的那个。这种选择的理论意义在于模型已经收敛到最接近真实分布的预测分布,我们只需要对预测分布进行微调,而不是大幅改变这个分布。那么如何从修正候选中选择最接近模型预测的那个呢?我们采用的方法是计算模型下修正候选的概率得分,然后计算与模型当前预测结果(当前模型考虑的最优结果)的概率比。它是最终的校正候选者,即最终的弱监督标注样本。在“兄弟烧烤个性DIY”的例子中,修正候选“商户+菜品+品类”与模型输出的“修饰符+菜品+品类”的概率比最高,会得到“兄弟/商户烧烤/菜品”个性 DIY/类别” “标签数据。然后计算与模型当前预测结果(当前模型考虑的最优结果)的概率比。它是最终的校正候选者,即最终的弱监督标注样本。在“兄弟烧烤个性DIY”的例子中,修正候选“商户+菜品+品类”与模型输出的“修饰符+菜品+品类”的概率比最高,会得到“兄弟/商户烧烤/菜品”个性 DIY/类别” “标签数据。然后计算与模型当前预测结果(当前模型考虑的最优结果)的概率比。它是最终的校正候选者,即最终的弱监督标注样本。在“兄弟烧烤个性DIY”的例子中,修正候选“商户+菜品+品类”与模型输出的“修饰符+菜品+品类”的概率比最高,会得到“兄弟/商户烧烤/菜品”个性 DIY/类别” “标签数据。

  图 14 标签校正

  公式 2 概率比计算

  Step2:弱监督模型训练

  弱监督模型训练方法有两种:一种是将生成的弱监督样本和标记样本混合,不加区别地重新训练模型;另一种是基于标记样本训练生成的ModelA,使用弱监督样本进行Fine-tuning训练。. 我们已经尝试了两种方式。从实验结果来看,Fine-tuning 效果更好。

  总结与展望

  本文介绍了 NER 任务在 O2O 搜索场景下的特点和技术选择,并详细介绍了实体字典匹配和模型构建的探索和实践。

  实体字典匹配针对线上头腰流量、POI结构化信息线下挖掘、商户点评数据、搜索日志等独特数据,可以解决领域实体识别问题。在这一部分中,我们介绍了一种适用于该领域垂直新词自动挖掘方法的方法。此外,我们还积累了其他可以处理多源数据的挖掘技术。如有需要,我们可以线下进行技术交流。

  在模型方面,我们探讨了在搜索中构建NER模型的三个核心问题(高性能要求、强领域相关性和缺乏标记数据)。针对高性能要求,采用模型蒸馏和预测加速的方法,使得NER online的主模型可以成功升级到BERT,效果更好。在解决领域相关问题方面,分别提出了整合搜索日志和实体词典领域知识的方法。实验结果表明,这两种方法都能在一定程度上提高预测精度。针对标记数据获取困难的问题,我们提出了弱监督方案,在一定程度上缓解了由于标记数据少而导致模型预测效果差的问题。

  未来,我们将继续对解决NER未注册识别、歧义和多义以及领域相关问题进行深入研究。欢迎业界同行相互交流。

  6. 参考文献

  [1] 海量文本语料库中的自动短语挖掘。2018 年。

  [2] 使用特定领域字典学习命名实体标注器。2018 年。

  [3] 来自 Transformers 的双向编码器表示。2018

  [4]

  [5]

  [6] 欣顿等人。在神经网络中提取知识。2015 年。

  [7] Yew Ken Chia 等人。Transformer to CNN:用于高效文本分类的标签稀缺蒸馏。2018 年。

  [8] K-BERT:使用知识图实现语言表示。2019 年。

  [9] 使用信息实体增强语言表示。2019 年。

  [10] 使用 Lattice LSTM 的中文 NER。2018 年。

  7. 关于作者

  李红、星驰、颜华、马璐、廖群、智安、刘良、李超、张工、云森、永超等,均来自美团搜索与NLP部。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线