0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

针对电商场景调优BERT的论文

深度学习自然语言处理 来源:深度学习自然语言处理 作者:深度学习自然语言 2020-09-25 16:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

最近跟几个做电商NLP的朋友们聊天,有不少收获。我之前从来没想过【搜索】在电商里的地位是如此重要,可能GMV的50%以上都是从搜索来的。巨大的经济价值也极大地推动了技术的发展,他们的工作做得很细致,毕竟一个百分点的点击率后购买率提升也许对应的就是几百亿的成交额。

其实之前做的汽车领域NLP工作跟电商有很多相似的地方,场景先验都非常重要。直接使用开放域语料预训练的语言模型效果并不好。我们也尝试过一些方法,例如用本领域语料训练语言模型,结合一些词库词典等等。今天介绍最近看到的一篇针对电商场景调优BERT的论文《E-BERT: Adapting BERT to E-commerce with Adaptive Hybrid Masking and Neighbor Product Reconstruction》[1],其中的一些方法应该对细分领域NLP有一些启发。

方法

论文的创新方法主要有两个:Adaptive Hybrid Masking(AHM,自适应混合掩码)和Neighbor Product Reconstruction(NPR,相似商品重构)。

E-BERT总览

AHM

第一个方法AHM其实是对已有掩码方式的改进。原始版本的BERT采用的是随机mask,这个大家应该都比较清楚。这种mask方式针对的是token,而众所周知token是由单词通过wordpiece tokenizer分割而来。所以这种方式遮盖住的可能是单词的一个部分,学习这种类似看三个字母猜剩下四个字母的任务不是很符合大家的直觉。随后就诞生了更加符合人类认知的Whole Word Masking,这个方法就是说要遮就遮整个词。这里用一个网上的例子帮大家理解

InputText:themanjumpedup,puthisbasketonphil##am##mon'shead OriginalMaskedInput:[MASK]man[MASK]up,puthis[MASK]onphil[MASK]##mon'shead WholeWordMaskedInput:theman[MASK]up,puthisbasketon[MASK][MASK][MASK]'shead

philammon是一个词,他会被tokenizer分解成三个token,这时就体现了普通mask和WWM的区别。

怎么继续改进遮盖方法呢,一个比较直观的方向是继续提高遮盖的整体性。前面是从token走到了word,可以继续往前走一步到phrase。这个方向其实之前有人做了,比如SpanBert[2]随机mask一小段,ERNIE[3]mask实体等等。这篇论文做了两个工作,一个是进一步提升遮盖phrase的质量,用了一种叫AutoPhrase[4]的方法来构建高质量的电商短语集合;第二个是设计了一套自适应机制,让模型训练在词语遮盖和短语遮盖间切换,两个方面合在一起就叫做AHM。

AHM总体的流程如下图所示。对于一句输入,首先用两种方式进行mask,左边是常规word mask,右边是phrase mask,然后输入到BERT,分别得到MLM的loss,Lw和Lp。然后用一个函数f,根据两个loss计算变量,跟预设的超参数进行比较,如果就用word masking,反之就用phrase masking。的计算其实可以有很多方法,论文也没有在这块做对比实验,我也就不展开,大家有兴趣可以去看原文。

AHM总体流程

NPR

NPR是个比较有意思的部分,直观的解释是希望能通过一个商品重建出另一个相似商品的隐空间表示。具体的做法是把两个商品a和b的文本内容送进Bert,得到各自的embedding矩阵;然后对这两个句子做交叉注意力,得到注意力矩阵,然后用注意力矩阵加权a的embedding得到重构后的b的embedding,反过来也从b重构a。得到重构后的embedding后再和原embedding计算距离作为loss,论文采用的是欧氏距离。只做相似商品重构还不够,论文还引入了不相似商品(随机采样)作为负样本,采用triplet loss来计算最终的重构损失。

NPR示意图

效果

论文的实验和结果比较部分做的比较全面。

先介绍一下对照实验涉及的模型。baseline是裸BERT(BERT Raw),用电商数据finetune过的Bert外加SpanBERT作为对照组,finetune有两种方法,分别是word masking的Bert和phrase masking的Bert-NP。实验组是各种配置的E-Bert,包括只使用phrase masking的E-Bert-DP,使用AHM的E-Bert-AHM和AHM+NPR的E-Bert。

评估效果使用了4个电商场景场景的下游任务,Review-based Question Answering(基于评论的问答),Review Aspect Extraction(评论方面抽取?),Review Aspect Sentiment Classification(评论情感分类)和Product Classification(商品类别分类)。

不同模型在不同任务上的结果如下图

模型结果比较

从结果可以看出E-BERT在各种任务上都大幅领先裸BERT,甚至也大幅领先基于领域语料预训练过的BERT。文章的方法其实可以在任何的垂直领域中使用,可以说相当的实用。

最近一个讨论比较多的问题是在BERT时代,NLP算法工程师的价值是什么?我想这个结果可以从一个侧面给答案,知道如何在模型中引入行业先验知识是可以大大提高模型在特定场景的表现的,即使如BERT这样自身很强的超级模型也不例外。

参考资料

[1]

E-BERT: Adapting BERT to E-commerce with Adaptive Hybrid Masking and Neighbor Product Reconstruction: https://arxiv.org/pdf/2009.02835

[2]

SpanBERT: Improving Pre-training by Representing and Predicting Spans: http://arxiv.org/abs/1907.10529

[3]

ERNIE: Enhanced Language Representation with Informative Entities: http://arxiv.org/abs/1905.07129

[4]

AutoPhrase: https://github.com/shangjingbo1226/AutoPhrase

责任编辑:xj

原文标题:E-BERT: 电商领域语言模型优化实践

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 语言模型
    +关注

    关注

    0

    文章

    570

    浏览量

    11257
  • AHM
    AHM
    +关注

    关注

    0

    文章

    2

    浏览量

    7594
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23197

原文标题:E-BERT: 电商领域语言模型优化实践

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    实战RK3568性能:如何利用迅为资料压榨NPU潜能-在Android系统中使用NPU

    《实战RK3568性能:如何利用迅为资料压榨NPU潜能-在Android系统中使用NPU》
    的头像 发表于 11-07 13:42 235次阅读
    实战RK3568性能<b class='flag-5'>调</b><b class='flag-5'>优</b>:如何利用迅为资料压榨NPU潜能-在Android系统中使用NPU

    破解工业商痛点:vipmro 商品详情接口技术方案与性能指南

    vipmro工业MRO商品详情接口针对参数嵌套、大文件加载、批量查询等痛点,构建多维参数解析、分级缓存、标准化错误三大引擎,实现高并发下毫秒级响应,助力商接口高效适配工业品复杂场景
    的头像 发表于 10-29 17:32 88次阅读

    天翼云基于开源欧拉的智能实践

    在数字经济加速渗透的当下,操作系统作为底层基础设施的核心,其稳定性与适配性直接关系到行业数字化进程。随着CentOS停止维护,国内企业面临操作系统迁移的紧迫需求,天翼云基于开源欧拉研发的CTyunOS,不仅成为这一迁移浪潮中的关键解决方案,更通过智能实践,为数字经济筑
    的头像 发表于 10-17 11:04 480次阅读

    HarmonyOSAI编程智慧

    DevEco Studio提供智慧能力,支持通过自然语言交互,分析并解释当前实例或项目中存在的性能问题,帮助开发者快速定位影响性能的具体原因。该功能从DevEco Studio 6.0.0
    发表于 09-01 15:15

    HarmonyOS AI辅助编程工具(CodeGenie)智慧

    DevEco Studio提供智慧能力,支持通过自然语言交互,分析并解释当前实例或项目中存在的性能问题,帮助开发者快速定位影响性能的具体原因。该功能从DevEco Studio 6.0.0
    发表于 08-14 11:12

    Linux网络性能方案

    在当今高并发、大流量的互联网环境下,网络性能往往成为系统的瓶颈。作为一名资深运维工程师,我在生产环境中遇到过无数次因为TCP/IP参数配置不当导致的性能问题。今天分享一套完整的Linux网络性能方案,帮助大家彻底解决网络性能瓶颈。
    的头像 发表于 08-06 18:01 973次阅读

    Linux内核参数方案

    在高并发微服务环境中,网络性能往往成为K8s集群的瓶颈。本文将深入探讨如何通过精细化的Linux内核参数,让你的K8s节点网络性能提升30%以上。
    的头像 发表于 08-06 17:50 725次阅读

    Linux系统性能方案

    关键要点预览:本文将深入解析Linux系统性能瓶颈的根本原因,提供可直接落地的方案,让你的系统性能提升30-50%!
    的头像 发表于 08-06 17:49 603次阅读

    MySQL配置技巧

    上个月,我们公司的核心业务系统突然出现大面积超时,用户投诉电话不断。经过紧急排查,发现是MySQL服务器CPU飙升到99%,大量慢查询堆积。通过一系列配置和SQL优化,最终在30分钟内恢复了服务。
    的头像 发表于 07-31 10:27 410次阅读

    Nginx在企业环境中的策略

    Nginx作为现代互联网架构中最重要的Web服务器和反向代理服务器,其性能对企业级应用的稳定性和效率至关重要。本指南将从运维实践角度出发,详细介绍Nginx在企业环境中的各种
    的头像 发表于 07-14 11:13 411次阅读

    手把手教你如何Linux网络参数

    在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃。本文基于真实案例分析,从参数解读、问题诊断到优化实践,手把手教你如何Linux网络参数,支撑百万级并发连接。
    的头像 发表于 05-29 09:21 658次阅读

    HJ55系列三相变频电源 电压可分可统

    的详细说明:1.分功能定义:分功能允许用户对三相电源的每一相电压和频率进行独立调节。应用场景:适用于需要精确控制每一相电压和频率的场景,例如三相不平衡负载测试、
    的头像 发表于 03-26 11:55 2041次阅读
    HJ55系列三相变频电源 电压可分<b class='flag-5'>调</b>可统<b class='flag-5'>调</b>

    HarmonyOS NEXT 原生应用/元服务-DevEco Profiler整体界面布局及概念

    DevEco Profiler工具的界面分为两大区域: ①会话区:负责会话的管理。会话区提供了性能实时监控工具Realtime Monitor来帮助开发者先明确问题场景,完成问题的发现和初步
    发表于 02-17 14:55

    xgboost超参数技巧 xgboost在图像分类中的应用

    一、XGBoost超参数技巧 XGBoost(eXtreme Gradient Boosting)是一种基于梯度提升决策树(GBDT)的高效梯度提升框架,在机器学习竞赛和实际业务应用中取得了卓越
    的头像 发表于 01-31 15:16 2172次阅读

    针对步进电机的专用驱动方案MD400系列

    MD400系列针对步进电机的专用驱动方案,自带磁编码器芯片,采用FOC方式驱动步进电机,支持欠压、过压、过流和堵转保护等功能,支持UART、RS-485、CAN通信控制和脉冲方式控制,支持标准
    的头像 发表于 01-23 14:13 826次阅读
    <b class='flag-5'>针对</b>步进电机的专用驱动方案MD400系列<b class='flag-5'>电</b><b class='flag-5'>调</b>