竞赛冠军方法分享 | 基于多模态GCN和句子排序的POI生成方案
一、背景介绍
POI(Point of Interest)指的是兴趣点。针对于地图应用和地理信息系统中,POI可能是一家街边店铺、一个加油站、一所酒店、一个旅游景点等等。POI随处可见,且他的图像信息非常容易获取,但是如何依据图像信息生成正确的POI名称是至关重要的环节。人工作业的方式显然成本高且效率低,因此希望能探寻一种自动化的POI名称生成方式。具体地,一个例子如图1所示。
图1 POI名称生成示例
二、方法概况
1. 方法总览
POI名称生成中给定了图像、OCR等标注内容,以期自动生成挂牌名称。由于挂牌设计的多样性以及拍摄条件的不确定,该任务具有一定挑战。本文提出了单阶段和双阶段的解决方案,其中单阶段方案将该任务建模为graph中的节点分类和边预测问题,利用图卷积网络对多模态的节点特征进行建模;双阶段方案将该任务拆解为两个子任务:多模态文本分类任务和句子排序任务,并提出了优化的句子排序模型。我们对上述两种方案的结果进行融合,输出鲁棒的预测结果。最终在CCF和高德地图联合举办的POI名称生成竞赛(https://www.datafountain.cn/competitions/522/)中获得冠军。且入围2021 CCF BDCI总决赛,获得最佳算法能力奖。详见:
https://mp.weixin.qq.com/s/8kBHF1dCh1z_hgxhzuoSpA。
图2 单阶段方案流程图
单阶段方案将POI名称生成任务建模为graph中的节点分类和边预测的问题。具体地,可以将该方案拆解为三个模块:多模态特征提取模块、上下文关系建模模块以及输出解码模块。
根据标注信息,我们一共可以利用三个维度的特征:文本特征、位置特征和图像特征。这三种特征对于POI取名均有参考价值。例如:店名通常会是一些专有词,可能位于左上角和中间,常常有突出的文字颜色和字体等。因此,为了更好的提取POI名称,必须充分地利用上述三个维度的特征。
具体地,我们分别使用ResNet、BERT和Position Embedding提取样本的视觉、语义及位置特征,融合后得到多模态特征。值得注意的是,若样本中存在N个文本框,则输入为N+2个,即会额外补充[CLS]和[EOS]两个特殊文本框。其中[CLS]的视觉和位置特征为全图特征,[EOS]的视觉和版面特征为右下角的10*10小图像块特征。这样做的目的是将解码过程统一,即寻找以[CLS]为开始,[EOS]为终点的最高置信度的路径。
完成特征提取后,将会使用Self-Attention技术进行GCN建模,该模块可以学习到两两节点之间的关系特性,并根据该关系特性更新每个节点的特征。在训练过程中,首先是对于每个节点的二分类任务,即判断哪些节点属于店名名称。其次,还需要对每两个节点A和B预测其连接的有向边的类型,即判断是否应该将A->B(或A<-B)的内容链接起来构成更长的店名;
前向过程中,将会利用类似Beam Search的方法选取一条以[CLS]起始,至[EOS]结束的分数最高的路径。每条路径的最终分数为路径所经过的所有节点和边的置信度的乘积。将最高分数路径上的节点文本内容按照顺序拼接,则可得到最终的POI店铺名称。
三、双阶段方案
该任务的网络结构基本复用 One-Stage方案,不同的是去除了边的预测网络。在此对于网络细节不再赘述。
给定属于店名的文本内容(乱序),我们使用句子排序模型生成最终正确、通顺的店名。句子排序任务实际上是一个较为经典的NLP任务。因此我们选取了目前业内SOTA的Re-BART算法作为初始排序模型,具体算法细节请参考[1]。
由于上述Re-BART模型的输入和输出是等长的,即输入5个句子时,模型就会给出5个句子的顺序,但是在实际情况下,这5个句子中很可能存在由分类错误导致的非店名文本。一定程度上说,此阶段必然会累加文本分类阶段的误差。此外,上述Re-BART模型仅利用了语义信息,忽略了同样重要的版面信息。
针对上述问题,我们提出了改进版本的Re-BART方法。相较于原始方案主要存在两个改进点:
2)增加EOS:通过引入EOS判别当前时间步排序模型是否需要停止输出内容,使得模型拥有二次筛选的能力,即不再固定输出为n个,而是当输出EOS,则不再输出后续内容。
图4 改进版本的Re-BART方法示意图
四、模型融合
图5 POI名称生成任务中的歧义性示意图
五、实验效果
5.1验证集
最终我们的单阶段和双阶段方案在验证集上的性能指标如表1所示。
从最终实验结果中可以看到,双阶段的方案相较于单阶段方案而言性能更优,但运行速度较慢。认为性能的差异可能是由于以下原因导致的:以下原因导致的:
1)各阶段所需要的特征不同:对于文本分类/节点分类而言,视觉、语义和位置信息都能影响分类结果,但是对于顺序任务而言,语义信息更为重要,视觉信息反而可能是造成干扰的。
2)预训练语料库:句子排序任务中使用了BART预训练语言模型,而单阶段方案中使用的是BERT,在句子排序的任务上,由于两者预训练任务的不同,BART天然地在此任务上优于BERT,这也可能导致性能差异。
采用相同的方案和模型融合策略,在测试集榜单上最终性能为74.63,并在最终的答辩综合评分中获得冠军。
六、总结
七、相关资源
答辩视频:
https://www.bilibili.com/video/BV1yZ4y1Q7N7团队主页:
https://davar-lab.github.io/index.html
参考文献
原文作者: 张鹏、李灿、郭大山、黄鑫泽、乔梁、程战战
撰稿:李 灿
免责声明:(1)本文仅代表撰稿者观点,撰稿者不一定是原文作者,其个人理解及总结不一定准确及全面,论文完整思想及论点应以原论文为准。(2)本文观点不代表本公众号立场。
往期精彩内容回顾
论文推荐|[ICDAR 2021]基于局部和全局金字塔掩模对齐的复杂表格结构识别(有源码)
论文推荐|[NeurIPS2021] 一个大规模开放域视频文本数据集和基于transformer的端到端文本识别算法(有源码)
论文推荐|[ACM'MM 2021] MAYOR: 再思考基于Mask R-CNN的密集任意形状自然场景文本检测
论文推荐|[ICCV 2021] 面向表格结构识别的表格图重构网络(有源码)
论文推荐|[ICCV 2021] 联合视觉语义推理:文本识别的多级解码器
论文推荐|[ICCV 2021] 面向未见单词识别:基于错误蒸馏的迭代式文本识别器
论文推荐|[ACM MM 2021]结合文字识别结果的鲁棒和精确文本视觉问答
论文推荐|[TIP 2021] 基于互引导网络的半监督像素级场景文本分割
论文推荐|[ICCV 2021] Handwriting Transformer
论文推荐|[ACM MM2021]尝试理解交通标志
欢迎加入中国图象图形学学会!(附入会攻略)
扫描二维码,关注我们: