干货 | 携程实体链接技术的探索及实践
作者简介
携程旅游AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中知识图谱组专注旅游领域知识图谱的构建及应用落地。
一、背景介绍
随着网络应用技术的飞速发展,多元化、低密度数据的急剧膨胀对人们获取正确信息带来巨大挑战,大量冗余信息出现的根源在于自然语言表达的多样性,即一词多义和多词同义。例如,“苹果”在不同语境下既可以表示蔷薇科苹果属植物又可以表示苹果产品公司,“申城”和“魔都”尽管字面完全不同,却都是上海市的别称。实现对海量Web数据的高效处理,理解用户意图,降低信息过载,是实体链接的目标。
在旅游领域,用户关注的实体通常是旅游目的地周边景点、酒店和玩乐方式等,这些对象在地理信息系统(Geographic Information Systems, GIS)中统称为兴趣点(Point of Interest,POI),主要包含四个核心维度:名称、地址、坐标和类别。随着互联网电子地图服务与基于位置的服务(Location Based Services,LBS)的普及,POI无论从概念范畴还是信息纵深上都有了长足发展,已成长为信息空间的参天大树,可以说目前如日中天的互联网各个风口都和POI有一定关系,如电商、O2O、社交、本地生活、互联网金融、共享经济等。
构建以POI知识库为基础的实体链接服务,提升旅游搜索、智能问答、知识挖掘和信息抽取等工作的效果,对改善用户体验有重要意义。
二、问题分析
实体链接,指将文本中的表述链接到知识库中相应实体来进行实体消歧、帮助计算机理解文本具体含义的任务,一般包含实体提及识别、候选实体生成和候选实体消歧三个步骤。
实体提及识别常被视作序列标注任务,经典方法有基于词典的方法和基于统计的方法。基于词典的方法可分为前向大匹配、后向大匹配和双向大匹配;基于统计学习的代表方法有HMM和CRF,其表现通常依赖大量人工构建和维护的特征模板。随着算力的提升和端到端的神经网络技术的发展,CNN、RNN等结构被广泛用于建模序列表示,其自动组合低阶特征获得高阶特征的功能摆脱了人工特征工程耗时费力的弊端,同时神经网络强大的表达能力显著提升了传统算法的效果。
Google在2018年提出的Transformer则将自注意力模型带入大众视野,为序列表征的高效并行计算提供了可行的方案。Self-attention机制的运用使得序列中每个位置的token都能充分学习到上下文语义,自适应地接收来自不同位置token的信息流入,成为近年大热的自监督学习任务的基本编码单元,启发了众多以此构型为基础的大型预训练语言模型,BERT便是代表之一。
使用Transformer Encoder结构的BERT从无标签语料中学到了大量先验知识,只需在特定下游任务上微调权重,便能获得出色的结果。BERT一度霸榜GLUE,刷新了各大自然语言理解任务的SOTA,其预训练加微调的学习范式也成为NLP界的重大里程碑。
三、旅游知识图谱
GIS本身是一种知识库,POI则是知识库中的实体,但仅有POI的集合,无法发挥其辅助实体消歧的潜能,为此我们需要构建以POI为基础,同时深度结合目的地、产品、标签、别名等其它数据的旅游行业知识图谱。
知识图谱(Knowledge Graph, KG)是一种大规模语义网络,由节点和节点之间相互连接的边构成,可以表征实体之间结构化的关系,被认为是通往认知智能的基石。其中,节点表示概念或对象,边表示概念与概念、概念与对象或对象与对象之间的关系。在知识图谱中,每条知识都可以表示成一个SPO(Subject-Predicate-Object)三元组,例如长宁区属于上海市,在旅游知识图谱中表示为(长宁区,upperClass,上海市)。正因为高度结构化的知识表示易于计算机理解,知识图谱在信息检索、智能推荐、金融风控上都有广阔应用场景。
我们团队打造的旅游知识图谱以Neo4j和Nebula图数据库作为储存方案,图谱Schema涉及18种实体类型和12种关系类型,目前已有约1千万实体、3千7百万条三元组,知识数量初具规模。同时在数据治理层面建立了完备的自动更新机制和监控体系,确保每日新增知识入库,过期知识移除,提升了知识图谱的可靠性。
图2 旅游知识图谱数据探索
四、技术方案
在实体链接系统的技术选型上,我们遵循三阶段流程,即实体提及识别、候选实体生成、候选实体消歧三个串行的子模块协同完成对自然语言的分析。
五、功能模块
5.1实体提及识别
这一步骤结合了神经网络模型和别名前缀树进行多路检测,以扩大候选实体召回范围。
5.1.1 实体别名前缀树
我们将知识库中所有实体别名字符串插入到一棵前缀树结构,该前缀树除根节点不包含字符、叶节点包含终止符外,每个中间节点都只包含一个字符。从根节点出发到某一节点,经过的字符连接起来表示该节点对应的字符串,因此树中每个节点的后继节点都拥有相同的前缀。
1)维护两个指针:前缀树指针和query指针,前缀树指针初始化时位于ROOT节点,query指针位于query文本首字符。
2)如果query指针指向的待匹配字符在前缀树指针对应节点的后继节点中,则移动前缀树指针至该子节点,同时query指针后移一位。
3)如果query指针指向的待匹配字符不在前缀树指针对应节点的后继节点中,若后继节点包含了end,则闭合实体提及字符串,前缀树指针回到ROOT;否则前缀树指针递归地回退至上级节点(query指针同步前移),直至上级节点的后继节点中包含end节点,然后闭合实体提及字符串,前缀树指针回到ROOT;若前缀树指针回退至ROOT的过程中没有闭合任何实体提及,则query指针后移一位。
5.2 候选实体生成
5.3 候选实体消歧
六、实践场景
6.1 携程旅游搜索
携程旅游搜索词义解析服务通过后端配置词典进行分词及词性标注,返回所有匹配到的POI词项,对重名POI不具备拒识或排序功能,常常会引入与query无关的搜索结果。
在接入实体链接系统后,能够结合上下文信息对重名POI消歧,即便遇到上下文缺失的情况,也可以利用出发站城市辅助候选实体排序。
Case1 搜索词为“武汉东湖”,接口原先返回“武汉市”和所有名为“东湖”的景点,调用实体链接服务,返回结果中只有位于“武汉市”的东湖景区(id:1xxx6)。
Case2 搜索词为“深圳迪士尼”,接口原先返回“深圳市”和所有迪士尼度假区。尽管深圳市下面确实没有迪士乐园,但常识会让人联想到用户实际意图可能是位于香港的迪士尼乐园(id:1xxx9),这正好是经实体链接后的返回结果。
Case3 搜索词为“白云山”,出发站设置为东莞市,接口原先返回所有名为“白云山”的景点,且不存在排序,无法推断用户对各POI感兴趣的程度。调用实体链接服务后,返回结果中广州市的白云山(id:7xxx4)被排在位置,说明实体消歧阶段系统捕获到了“广州白云山”与定位站“东莞市”之间的关联。
6.2 携程旅游智能客服
在人机对话系统中,语义槽填充通常与意图识别联合进行,以确定追问话术、歧义澄清话术,或完成对用户自然语言的理解,从知识库中搜索并返回答案。
例如,用户询问“从上海到成都的航班”,其意图为“查询航班”,但仅对用户意图分类还不足以给出准确回答,因为缺失了两个关键信息:航班的出发站和到达站,这便是与“查询航班”相关的语义槽,只有完成意图识别和语义槽填充,才具备搜索答案的条件。这里出发站和到达站分别指上海和成都,正好是旅游知识图谱中的两个POI,借助实体链接可以很方便地找到这两个POI的id信息。
携程旅游智能客服在引入实体链接服务后,词槽抽取F1 Score较原先提升了超过12个百分点,反映了实体链接在客服场景下的巨大潜能。
6.3 携程POI关键信息更新
门票相关部门需要保证一些POI关键信息频繁更新的准确性,如景区开闭园时间,这对于产品销售及用户体验有至关重要的意义。
开闭园信息更新的主要依据为每日从景区官方渠道获取的公告和资讯,通过解析这些文章内容提取POI名称及对应的开放或关闭时间。在疫情反复的当下,该信息面临更加频繁的变动,因此对准确性和时效性提出较高要求。
原始文本解析完成写入数据库时会挂靠到发布资讯的景点下,但这个信息不一定正确,实际中存在很多从文本抽取景点与发布资讯景点不一致的情况,比如某景区发文公告的是下级某个子景点闭园,这时需要通过实体链接将抽取的景点名映射到知识图谱中的实体从而获取真正的POI id,此功能可以提高信息的准确性,同时进行POI消歧。
景区开闭园抽取项目在引入实体链接后,准确率提升近六个百分点,极大改善了原抽取流程的效果。
6.4 携程重复POI和上下级POI关系识别
门票活动相关部门维护的POI数据来源十分复杂,包括内部和官方等多个平台。POI数据批量导入时未全部识别出重复的POI以及POI之间的上下级关系,会导致系统内存在较多重复的POI,产生分流;或者导致系统内存在游离在外的POI,导致展示不全,用户无法全面了解景区情况。因此需要及时获取这些信息并修复,以提升信息覆盖全面性,提升平台的信息可靠性。
POI的地址或介绍中可能隐含了该POI的父级节点。例如,地址为“xxx路xxx号xxx景区内”的POI,其上级节点可能是某个景区,如果使用实体链接技术能获取到该景区的id,并且这两个POI在当前图谱中不存在上下级关系,则可以作为一个重要特征加入关系识别系统中。该项目自上线起,上下级关系识别的平均正确率达到90%以上,已累计改善了近千条POI信息的准确性。
七、总结与展望
本文主要介绍了旅游AI知识图谱组在实体链接技术上的探索和实践,阐述了实体链接的基本定义、相关技术发展路线和应用价值,并结合各子模块详细说明了基于旅游知识图谱的实体链接系统的架构和流程,后介绍了实体链接系统的落地场景。
未来我们将紧跟前沿技术发展,促使知识图谱同实体召回、精排任务更紧密地结合,充分运用图的结构提升现有模型的效果和可解释性,探索更加高效、轻量化的模型,同时也会兼顾技术落地,今后赋能更多的旅游场景。
相关文章