GMTC北京站9折购票倒计时,部分日程已上线,戳此查看 了解详情
写点什么

深度学习在商户挂牌语义理解的实践

  • 2020 年 3 月 04 日
  • 本文字数:1956 字

    阅读完需:约 6 分钟

深度学习在商户挂牌语义理解的实践

导读:高德地图拥有几千万的 POI 兴趣点,例如大厦、底商、学校等数据,而且每天不断有新的 POI 出现。为了维持 POI 数据的鲜度,高德会通过大量的数据采集来覆盖和更新。现实中 POI 名称复杂,多变,同时,名称制作工艺要求严格,通过人工来制作 POI 名称,需要花费大量的人力成本。


因此,POI 名称的自动生成就显得格外重要,而机器对商户挂牌的语义理解又是其中关键的一环。本文主要介绍相关技术方案在高德的实践和业务效果。


一、背景

现实世界中,商户的挂牌各式各样,千奇百怪,如何让机器正确的理解牌匾语义是一个难点。商户挂牌的文本种类有很多,如下图所示,我们可以看到一个商户牌匾的构成。



结合 POI 的名称制作工艺,我们目前将 POI 的牌匾的文本行分为 4 大类:主名称、经营性质(包括经营范围,具体的进行项目)、分店名、噪声(包括非 POI 文字,地址,联系方式),前面 3 个类别会参与到 POI 名称制作中。如上图所示的牌匾,它输出的规范名称应该是“世纪宏图不动产 (兴业路店)”。其中“世纪宏图”是主名称,“不动产”是经营范围,而“兴业路店”是分店名。


从牌匾中找出制作名称所需要的文字,不仅仅需要文本行自身的一些特征,还需要通过结合牌匾上下文,以及图像的信息进行分析。单纯的文本行识别会遇到下面的问题,如下图,在两个牌匾中都提到了“中国电信”,但是它们的意义是不一样的,这时必须结合上下文的理解。



二、技术方案

单纯从文本的语义理解的角度出发,那么这个应该是一个文本分类问题。但是直接的分类效果不佳。现实中在理解牌匾文本行语义的时候,需要结合图形,位置,内容,以及上下文关系综合来判断。为此,我们将商户挂牌理解的这个问题分解成两个子问题来解决,1.如何结合图像、文本、以及空间位置;2.如何结合上下文关系。因此,我们提出了 Two-Stages 级联模型。



2.1 Two-Stages 级联模型

Two-stages 级联模型分为两个主要的阶段:第一阶段提取单文本信息特征,包括文本位置和文本内容等,第二阶段提取牌匾中文本行上下文关系特征,消除只用单个文本识别容易造成的歧义,准确识别出该文本属性。


2.1.1 Stage One 单文本行特征提取

单文本行特征可以分为词性结构(token level)特征和句子语义(sentence level)特征。除此之外,位置信息(PV)也是比较重要的信息,需要进行特征提取和编码。将以上特征进行融合,得到了单文本行特征。



token level 层的特征提取方面,结合名称的构成以及名称工艺,我们定义了三种词性: 核心词©、通用词(U)、结尾词(T)。在这里我们使用 LSTM 网络来学习名称的词性序列。



sentence leve 层的特征提取方面,由于我们的标注量相对比较少,采用了具有大量先验知识的 BERT 模型。同时,为了更好的符合当前业务场景的需求,我们结合业务中 POI 的数据集合,在原来 Google 官方提供的预训练模型基础上继续 pre-training,得到新的模型 BERT-POI。


预训练的 POI 文本语料没有太多的上下文环境,在构造样本时,我们将两个 POI 名称串起来或是同一个 POI 随机切分,中间都用 SEP 隔开,进行多任务学习:缺字补全和预测两个文本行是否属于同一 POI。经过实验发现,在 POI 数据上预训练模型 BERT-POI 比 Google 发布模型 BERT-Google,缺字补全和同一 POI 判定两项任务上名,正确率高 20%左右。


此外,将预训练的模型用于下游属性识别任务上,BERT-POI 与 BERT-Google 相比,提升主名称,分店名,营业范围的召回 3%~6%。


下图展示了我们预训练的过程图:



随后,我们对预训练好的 BERT-POI 在进行了 finetune,提取出 sentence leve 层的特征。


2.1.2 Stage-Two 文本相互关系提取

Stage One 提取到了单文本行的特征,那如何去实现上下文的关联,我们加入了 Stage Two 的模块,模型结构如下:



Stage Two 最主要是用 BILSTM(Bidirectional LSTM)处理 stage one 输出特征,能够将当前文本特征和牌匾内其他文本特征进行学习,消除歧义。


三、业务效果

牌匾通过语义理解后,会根据具体的输出类型来制定名称生成的策略。例如:对于单主+噪声牌匾,我们直接将主名称作为 POI 名称,而对于单主+分店名+经营性质+噪声的牌匾,我们会分析主名称的结构,看是否需要拼接经营性质。


下图展示了当前我们牌匾语义理解和名称的部分拼接策略:



图 3.1 单主+噪声场景



图 3.2 单主+分店名场景



图 3.3 单主+经营性质场景(主名称中有经营性质)



图 3.4 单主+经营性质场景(主名称中无经营性质)


四、小结

目前商户牌匾语义理解模块的准确率在 95%以上,在 POI 的名称自动生成中起到的重要的作用。商户牌匾的语义理解模块只是 POI 名称自动化的一部分内容,在 POI 名称自动化中还会涉及到噪声牌匾过滤、牌匾是否依附建筑物、敏感类别、文本的缺失、名称生成、名称纠错等模块。我们会在图文多模态这块更深入的探索,更多地应用于我们现实场景中,生产更多、更高质量的数据。


2020 年 3 月 04 日 14:48411

评论

发布
暂无评论
发现更多内容

【并发编程系列1】Thread生命周期及interrupted()作用分析

爱好编程进阶

Java 面试 后端开发

【源码分析设计模式 10】SpringMVC中的建造者模式

爱好编程进阶

Java 面试 后端开发

“东数西算”超级工程利好云计算,多云管理背后却暗藏汹涌!

行云管家

云计算 多云 东数西算 云管

2022年提高远程工作效率的三大实用技巧汇总

行云管家

远程办公 居家办公 办公软件

【并发编程系列10】阻塞队列之SynchronousQueue

爱好编程进阶

Java 面试 后端开发

聚焦供应链布局,新能源汽车企业重塑产业核心竞争能力

数商云

数字化转型 供应链 新能源汽车

thinkphp5框架新建页面相关规范详解

CRMEB

Vue 学习笔记(3)路由的基本使用 结合 SpringBoot

爱好编程进阶

Java 面试

Tiger DAO VC:DAO组织风险投资时代来临

西柚子

“双碳”下的建筑业:未来10年必须重视这5大方向

WorkPlus Lite

WeTest平台产品&技术合作伙伴招募

WeTest

《零基础》MySQL 连接(四)

爱好编程进阶

Java 面试 后端开发

阿里云视频云人脸生成领域最新研究成果入选CVPR2022

阿里云视频云

计算机视觉 视频编码 CVPR 视频云

YonMaster开发者认证线上赋能培训班定档4月18日

APICloud

NFT卡牌竞猜游戏定制详情

NFT元宇宙平台开发

STM32+华为云IoTDA,带你设计一个属于自己的动态密码锁

华为云开发者社区

stm32 iotda 华为云IoT 密码锁 Qt框架

计算机存储层次简析

懒时小窝

计算机基础

RadonDB MySQL on K8s 2.1.4 发布!

RadonDB

MySQL 数据库 Kubernetes 高可用 RadonDB

macOS系统病毒常见的两种传播途径

火绒安全

macos 终端安全 勒索病毒 蠕虫

来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注

王吉伟频道

RPA 收购 机器人流程自动化 来也科技 Mindsay

云图说丨叮咚,您有一份短信通关攻略待查收

华为云开发者社区

短信 签名 消息 签名模板 MSGSMS

java高级用法之:JNA中的Function

程序那些事

Java Netty 程序那些事 4月月更

Spring(十)

爱好编程进阶

面试 后端开发Java

SSM 最简单最全面的整合Spring+SpringMVC+Mybatis三大框架 快速搭建

爱好编程进阶

Java 面试 后端开发

小程序能当成 App 吗?

FinClip

简单实用的redis分布式锁

Rubble

4月日更 4月月更

Tiger DAO VC:将你的风险投资变成DAO组织协同

小哈区块

jackson学习之十(终篇):springboot整合(配置类)

程序员欣宸

Java web 4月月更

深度学习在商户挂牌语义理解的实践_文化 & 方法_高德技术_InfoQ精选文章