共计 4869 个字符,预计需要花费 13 分钟才能阅读完成。
1 问题背景
精准中转的常识问答能力对营造小布“懂常识、更懂你”的形象十分重要。在语音助手场景,常常会呈现一词多义或者口语化表白等问题。例如: 李白出装,李白的诗,播放李白。第一李白是指游戏角色,第二个是指诗人李白,第三个是指歌曲李白。如何准确辨认用户所指、给出正确的答案是小布助手面临的挑战。
常识图谱是让机器了解主观世界的基石, 领有极强的表达能力和建模灵活性。目前 OPPO 自建常识图谱 OGraph 曾经积攒了数亿实体和数十亿关系。接下来让咱们看看小布和 Ograph 将如何碰撞,通过实体链接技术解决实体歧义问题,帮忙小布做能听、会说、更懂你的智能助手。
图:小布助手 KBQA 流程
2 工作介绍
实体链接是 NLP、常识图谱畛域的根底工作,即对于给定的一个中文文本,将其中的实体形容(mention)与给定知识库中对应的实体进行关联的工作。
2009 年在 TAC 会议上第一次提出实体链接工作,2014 年深度学习风行之前都是通过统计特色和基于图的办法进行实体链接。2017 年提出了 Deep Joint 计划,应用 Attention 构造进行语义匹配来实体消歧。前面该团队通过模型构造翻新,实现了同一个模型同时实体辨认和消歧,消歧仍旧应用 Attention。2018 年提出了 Deep Type 计划,将消歧问题转化为实体分类,失去实体类别后,通过 Link Count 确定要链接到的实体。2020 年预训练语言模型开始风行,Entity Knowledge 计划借助大量的语料和弱小的预训练模型,用序列标注的形式进行实体链接。
图:实体链接倒退历程
3 技术计划
实体链接通常会被拆分为三个子工作:实体辨认、候选实体召回、实体消歧。
图:实体链接流程示意
3.1 实体辨认
实体辨认的作用是辨认出 query 中的实体形容(即 mention),例如李白所在朝代皇帝是谁中的李白即为要辨认的 mention。在进行通用畛域实体辨认时,实体量级大、类型多、说法多样,因而计划要兼顾效率和泛化。
小布助手开发了基于词典的实体辨认应用自研匹配工具 Word Parser,该工具无论是在性能还是性能都较开源工具有劣势。
实体链接中并不关怀实体类型,因而实体辨认能够应用 B/I 标签或者指针标注的模式,同时为了晋升输出信息的丰盛水平,引入词汇信息作为特色补充,试验了 Lattice LSTM 和 FLAT 等构造,实体辨认成果晋升约 1%。
图:FLAT 示意
3.2 候选实体召回
候选实体召回的指标是用 mention 召回所有可能的候选实体,然而线上存在大量昵称、同音字、口语化表白,例如:卷福、抖森这类昵称别名,而且还会呈现表述谬误,例如饱满奥特曼、拖拉机奥特曼、倩雅集,如果不足别名到正确实体的映射,就无奈实现召回。在语音场景没有用户间接反馈,无奈像搜寻一样通过用户点击进行开掘,因而实体别名的开掘相当有挑战。
图:实体别名示意
依据问题的特点,咱们构建了两套计划,通用别名开掘采纳信息抽取为主模式生成为辅的开掘流程,充分利用 OGraph 中的形容信息、别名信息和关系信息,从中开掘别名。
图:通用别名开掘流程
针对用户输出谬误、同音字、近音字这类别名开掘,小布助手开创性的构建了基于特色聚类的别名发现流程。开掘步骤如下:
1)Query 筛选:采纳畛域关键词过滤、搜寻点击日志筛选的形式,从用户搜寻 query 和小布助手线上 query 中筛选出可能蕴含待开掘别名的 query。
图:谬误别名示意
2)实体辨认:应用实体辨认技术,从待开掘 query 中辨认实体。实体辨认模型采纳通用实体辨认模型 + 垂域 finetune 的形式失去。
3)畛域特色构建:因为实体辨认间接失去的实体别名准确率不高,而且没有和实体规范名关联起来,须要构建畛域特色,将开掘的实体别名与实体规范名关联。依据场景特点,咱们选取了部首偏旁特色和拼音特色。
4)特色聚类:应用聚类的形式来关联开掘的实体别名与实体规范名。通过应用这套开掘计划,失去数十万实体别名,准确率 95%+,解决了线上高频的别名问题。
图:基于特色聚类的别名发现流程
3.3 实体消歧
实体消歧是实体链接中最要害一步,消歧的实质是排序,通过对候选实体进行排序,失去每个候选实体的排序分数,选出最终的后果。实体消歧有上面次要问题:
1)在语音助手场景下多为短文本,因而上下文特色缺失,须要额定结构特色帮忙消歧。
2)消歧时不能仅仅通过语义特色来消歧,还要充分考虑全局消歧特色,例如“刘德华给学员讲课,把炸弹比喻成姑娘的手”中的刘德华,从语义上来讲清华大学传授刘德华更合乎,实际上是演员刘德华和《拆弹专家》的文章题目。
3)图谱中存在未对齐实体,导致模型消歧艰难,同时容易呈现语料标注谬误。例如中国和中华人民共和国在有些开源图谱中是两个实体,导致训练集里有些正确标签中国这个实体,有的正确标签为中华人民共和国这个实体。
针对下面提到的问题,咱们从数据筹备、模型选型、模型优化等方面着手,通过针对性的优化解决这些问题。
3.3.1 数据筹备
结构消歧样本时,咱们提供尽可能多的信息给模型,样本由三局部形成:query 样本、实体样本和统计特色。
query 样本结构:query 样本输出时要害时将 mention 的地位信息传入模型,让模型能判断 mention 在 query 中的具体位置。因而引入标识符 #将,在 mention 两边退出对立的标识符“#”,样本如下:
图:query 样本示意
实体形容样本结构:实体样本中须要蕴含待消歧实体的特色,咱们在第一版实体样本中设计了 mention 和规范名的拼接示意规范名和 mention 是否雷同这一特色;结构了“类型:实体类型”这种形容,提供实体类型信息;同时退出了实体形容和图谱的三元组信息。在第二版中,咱们将规范名和 mention 是否雷同的特色间接转化成文本形容“名称雷同 / 不同”, 同时退出了“非 / 是主义项”这一特色,通过优化特色表达方式,模型体现晋升约 2%。
图:实体样本示意
统计特色样本结构:为了防止消歧模型只关注语义特色,咱们统计了 query 和实体样本共现特色、风行度、丰盛度、mention 共现特色等统计特色,作为模型输出,辅助进行全局消歧。
图:统计特色示意
3.3.2 模型选型
排序学习中,有三种常见模式 pointwise,pairwise 和 listwise,对于实体消歧这种只须要 TOP1 的排序工作,并不需要思考候选实体之间的顺关系,只思考全局相关性,因而咱们选取了 pointwise 办法。
图:排序学习模型示意
总结前人的消歧模型,Deep Joint 从排序登程,Deep Type 从分类登程, 都获得了较好的成果,阐明分类和排序工作都对消歧有帮忙,因而咱们依据工作特点,设计了多任务模型框架,同时进行排序和分类,两个工作共享模型参数,一起训练,损失函数一起优化,通过共享排序工作和分类工作的信息,模型能够有更好的体现,多任务损失函数如下。
为了更好的融入统计特色,咱们间接将统计特色 embedding 拼接到特征向量前面进行排序。
图:实体消歧模型示意
最终咱们模型构造如下,将 query 样本和实体样本拼接,输出预训练语言模型,将 CLS 地位的向量和统计特色 embedding 拼接后作为特征向量。排序工作将特征向量输出全连贯层,而后通过 tanh 最终输入 [-1,1] 区间的分数,分数越高代表越有可能是指标实体。分类工作将特征向量输出全链接层,通过 softmax 层输入各个分类的得分。
通过试验基于多任务的实体链接模型成果整体上优于单任务模型,具体 F1 见下表。
3.3.3 模型优化
为了理解模型到底关注哪些输出特色,应用互信息的可视化办法对模型进行可视化,对各个词的重要水平进行了可视化,色彩越深重要水平越高。通过可视化发现,模型偏向于关注实体的类型和用来辨别实体的片段,例如示例 1 吃得慢、食物、吃法、火腿肠,示例 2 中的珊迪、海绵宝宝、开关电源品牌。示例 3 种的人物、种族、梦三国等,能够看到多任务模型关注的特色都是对消歧有帮忙的。
图:模型可视化
相信学习(Confident Learning,CL)是一种辨认标签谬误、表征标签噪声的算法框架。针对标注谬误的问题依据相信学习的思维,在原始数据上用 n -flod 形式训练了 5 个模型,用这些模型预测原始训练集的标签,而后交融 5 个模型输入的标签作为实在标签,再从原始训练集中清理实在标签与原标签不统一的样本,咱们清理的样本占比 3%,其中标签谬误的 80%+。
图:反抗训练流程示意
反抗训练是指在模型的训练过程中构建反抗样本,参加模型训练的办法。失常训练过程中,如果梯度方向平缓,那么很小的扰动都会产生很大的影响。为了避免这种扰动,反抗训练在模型训练的过程中应用带扰动的反抗样本进行攻打,从而晋升模型的鲁棒性。能够看到 FGM 和 PGD 两种生成反抗样本的形式成果晋升都比拟显著。
4. 技术利用
4.1 小布助手中的利用
图:小布助手 KBQA 流程示意
在小布助手场景中,用户对语音助手的智能水平抱有很大的冀望,会问各类乏味的问题,比方多跳问题、六度关系查问等。借助实体链接技术小布助手能够准确辨认用户所指,配合子图匹配技术能够解决实体问答、结构化问答、多跳问答、六度关系查问等,笼罩大部分结构化问题。
图:小布助手各类结构化问答示意
为了验证小布助手的实体链接能力,咱们在自建评测集和千言评测集上都测试了咱们的算法,能够获得良好的成果。
4.2 OGraph 中的利用
实体链接不仅能够利用到 KBQA,在信息抽取流程中也是至关重要的一环。Ograph 信息抽取流程应用了信息抽取模型 Casrel 和专门针对实体类问题训练的 MRC 模型,能够取得海量候选三元组。
失去三元组后须要利用实体链接技术,将三元组与知识库中的实体链接起来。为了保障实体链接的召回,咱们优化了候选实体召回能力,同时应用开掘的实体别名词表和 ES 检索系统进行召回,确保链接成果,通过整个流程生产三元组数百万。
图:OGraph 信息抽取流程
5 总结
通过在实体链接技术上的摸索,小布助手能够更好的解析各类实体口语化表白、别名和歧义,借助 KBQA 其余流程和 OGraph 丰盛的常识储备,曾经可能解答大部分用户提出的问题,自然语言了解道阻且长,小布助手的进化永远不会进行。
6 参考文献
1.Deep Joint Entity Disambiguation with Local Neural Attention. Octavian-Eugen Ganea, Thomas Hofmann.
2.Improving Entity Linking by Modeling Latent Entity Type Information,Shuang Chen, Jinpeng Wang, Feng Jiang, Chin-Yew Lin.
3.End-to-End Neural Entity Linking. Nikolaos Kolitsas, Octavian-Eugen Ganea, Thomas Hofmann.
4.Investigating Entity Knowledge in BERT with Simple Neural End-To-End Entity Linking, Samuel Broscheit.
5.Towards Deep Learning Models Resistant to Adversarial Attacks. A Madry, A Makelov, L Schmidt, D Tsipras.
6.Confident Learning: Estimating Uncertainty in Dataset Labels. Curtis G. Northcutt, Lu Jiang, Isaac L. Chuang.
7.Towards a Deep and Unified Understanding of Deep Neural Models in NLP. Chaoyu Guan, Xiting Wang, Quanshi Zhang, Runjin Chen, Di He, Xing Xie.
作者简介
FrankFan
OPPO 高级 NLP 算法工程师
次要从事对话和常识图谱相干工作,在实体开掘、序列标注、关系抽取、实体链接等方向具备丰盛的研发教训,积攒专利十余篇。