qq重命名(qq重命名设备)
导读:命名实体识别(Named Entity Recognition,简称NER)是自然语言处理中的热点研究方向之一,目的是识别文本中的命名实体,并将其归纳到相应的实体类型中。命名实体识别也是NLP最重要的底层任务之一,在学术界和工业界一直都是重点研究的问题。今天主要和大家分享音乐领域的命名实体识别技术,包括以下几方面内容:
背景介绍候选生成与训练数据构建用户Query NER模型音乐文本NER模型未来展望
01
背景介绍
1. NER的定义与应用
NER在早期的时候主要是基于规则和词典,还有统计机器学习的方法(HMM、CRF、SVM等),这类方法主要的优点是速度比较快,精确率比较高,但是召回率通常比较低。目前工业界主要是在搜索的场景下,采用这类方法来处理一些高频query,以实现线上大多数请求的快速响应。
2016~2018年之间随着深度学习的发展,相关从业者也在NER领域做了比较多的研究工作,提出了基于浅层神经网络的方法。它的基础结构是通过LSTM或者IDCN这样的浅层神经网络去抽取文本的特征,然后通过CRF进行解码,得到对应的实体序列,在这样的模型基础上,融入外部词典特征和领域内信息等外部知识进行模型优化。此外还有其他一些研究工作,考虑如何融入多粒度信息,比如LSTM CHAR-CNN增加一个字符级的CNN融入,LATTICE-LSTM通过对LSTM的结构进行修改实现词以及短语等不同粒度信息的融入。根据我们的调研,这类目前依然是工业界主流的解决方案,我们在用户query NER中就采用了这一类的方法。
2018年后,随着Bert的兴起,基于大规模预训练语言模型的方法成为了趋势,这类方法主要特点是,将浅层的文本抽取器、特征提取器,改成Bert这样的大规模训练语言模型,从而获取质量更高的embedding去优化下游的任务。此外在这类方法的基础上还会有一些相关的优化,比如说ACL2020的FLAT,基于transformer序列全连接的结构,实现外部词典信息的引入。目前这类方法是学术界的一个研究重点,我们是在音乐文本的命名实体识别上采用了这类的解决方案,并针对场景进行了一些优化。
3. 音乐领域NER的难点
NZN8N7d%2Ft%2FWQIO00fP8ie8%3D&index=2″ />
针对最大和最小匹配存在的问题,我们综合最大和最小匹配的优势,设计了一个适合我们应用场景的路径选择方法。首先针对原始的候选实体,我们抽取出所有可能的候选,然后构建出候选的有向图,比如对于上面这个例子:陈小春的歌乱世巨星。我们用一个有向图来表示所有可能的候选的路径,接下来去计算每一条路径的分数,然后根据路径的分数筛选出红色标红的路径就是分数最高的路径,根据这条路径选择最终的候选集合。这里的关键在于如何计算每条路径的分数,我们从三个角度来计算分数,首先是候选实体的置信度,它主要评估候选本身的置信度,或者说它的热度;然后是路径命中规则情况计算得到的分数,其实也就是实体级别的一个语言模型分数,主要评估路径的流畅性;最后我们引入了一个Root-Link考察候选被其它候选的覆盖情况,这是音乐领域的一个特性,如果一个候选是所有重叠候选中最长的实体部分,通常情况下,我们更倾向于认为它是一个正确的实体,最终将这三类分数综合加权得到了每一条路径的分数。
① 思路
V2版我们采用业界比较常见的思路,首先将NER转化为序列标注问题,将实体按照它所属的token以及位置来对实体的每一部分给出标注,比如说对于上图的Query,我们得到它对应的一个标注。
② 特征与模型
特征层面我们仍然采用了V1版中得到的特征,只不过加入特征的方式相比V1版有一些区别,我们将每一类特征对应到token本身,每一类特征都是一个特定的候选,把每一类特征加到其所属的图层中,最终每一个token会对应到多个类别的特征。
模型层面的话,我们采用了一个比较常用的解决方案,首先得到每个token对应的token embedding,然后经过上图橘黄色标注的Domain Fushion层,将每个token对应的多个特征拼接起来,得到token融合领域知识后的特征,最终经过BiLSTM CRF编码和解码得到实体序列。
② 效果与分析
我们V1版的优化其实是比较简单的,就是将我们Query NER中采用的最终模型中的Token Embedding层替换成了ROBERTA,将原本上下文无关的很弱的Embedding表示替换成由ROBERTA得到的上下文相关且质量非常高的Embedding表示,其余后续模型结构不做任何改动,经过优化效果相比直接采用Query NER模型有一些提升,F1 score由84%提高到88.4%,但是整体未达到可用效果的要求。
② 问题分析
① Lattice LSTM
第一类以Lattice LSTM为代表,它通过对LSTM或GRU模型的结构进行一些修改,实现词/短语级别信息的引入。
② CGN
第二类以CGN为代表,它不修改原本的文本编码方式,在编码层后叠加一些图神经网络,实现引入更多粒度的信息。
③ FLAT
最后一类以FLAT为代表,这也是我们在音乐文本NER任务中最终选用的知识融合框架。
我们主要的优化点在于Attention Score的计算方式。原始的FLAT直接通过元素间的位置关系来建模,一共计算了四种不同的位置信息,分别是lattice的开始减开始,开始减结束,结束减开始,结束减结束。我们通过分析发现,当我们的训练数据质量还有数量都不是很足的时候,这样的设计方式可能会导致模型对于距离本身的一个具体数值产生依赖,因此我们对这种位置关系的计算方式进行了修改。首先我们显示地引入token与候选实体之间关系,比如依赖、包含、相交等关系,然后针对原始的四个位置信息,把它变成了一个position,通过它表示两个token在序列中最短的位置信息,通过它去建模两个元素之间的位置关系。此外我们还引入了一个pair的信息,主要目的是将一些非位置信息,比如候选实体间的成对,包括一些其他的关系引入到模型中,通过这几点优化,模型的效果有了显著的提升。除此之外,我们基于异构图网络的思想,对不同类型的节点先进行节点级别的信息聚合,再对不同类型作语义级别聚合。
3. 提高训练数据利用效率
关于如何去提升训练数据的利用效率,业界比较常见的解决方案是从训练数据的角度出发,基于不确定性的方法去训练模型。整体思想是认为label本身存在漏标的可能,通过针对label来进行探索,把没有标注为实体部分改标为实体,然后进行模型的迭代训练。
在我们音乐文本NER的应用中,我们发现基于不确定性训练的方法主要有两个缺点,第一个是它需要进行多次的迭代训练,整体效率会比较低;第二点是因为音乐领域本身名称歧义非常大,这里可能会有一些不太合适的探索,会导致模型整体产生偏差,后面的修正也无法让它回到原来正确的方向上。因此在音乐文本NER任务中我们从模型的角度出发,通过领域和任务数据上post train来实现训练数据的利用效率。在得到预训练模型基础上,对领域和任务相关的一些数据进行一轮post train,得到一个领域内的预训练模型,再去做下游的NER任务,这个流程其实也是目前NLP任务整体的一个范式。
NcNyzsKFItJCMJKyJFSCNFF396pIczlYyExermYoXur2XFNN5GM4hdAKTF8nlm1D27AhNAzLpDqh5PeE1S6GFjJaU54mLuGCBTFVPqggLG5VMq0yxmnuwl-abmJoYNyqdgxEFJy64-FUeL1Yr2eU_EnK0Wc3GL5wOFrVpYS7oN2QX5z8vQ0KzoADzidUthaCTXtvY8pZyBYn6LgPkqsrTS1NXbvKk6rbOvWMMLof2MMbISHPH_wL7voDKCEvk9Df8KiSmyQXT3LQ9zuIDyKf7HBMeEiv8qXX8fgB-_-fZr3nDpaQV8-T-WMsIS9CdNTpH9V2Q_9j9Ac_z6fcCtlMfEN-zYkHm81XAAAA__94YlWI” >
在post train任务设计的探索中,我们首先采用的是标准的MLM,即对于每一个token,以15%的概率把它制成mask,以85%的概率保留原token。我们选取了库内的一些视频标题,然后采用标准的MLM作为post train任务,结果发现它提升很小,基本上没有解决什么长尾case。
因此我们对原始的MLM进行了一些改动,做了一个强化实体边界的MLM任务,它的思想是去优化MLM任务中的mask策略,迫使模型重点关注与实体识别相token。比如看上图中的例子,我们已知实体属性:冯提莫=歌手、单身情歌=歌曲,可以在已知的实体前后根据类型插入不同的模式,比如在单身情歌前后插入书名号,在冯提莫前面插入歌手或者网红这样的标记,然后在构造MLM数据时,以更大的概率将我们人为添加的标记作为mask,对于每个部分,首先来判断它是否是我们添加的标记,如果是就用一个较大的概率P1来执行mask,否则以一个比较小的概率P2来执行mask,通过这样使得被mask的大部分都是我们人为添加的标记,这样也迫使得模型更加关注于实体的边界信息。通过这种方式,可以扩招回一些中文长尾case,模型对于实体边界的感知能力也会更强,此外还可以用它来补充一些label。
NoGPO3IYh0fhdY%3D&index=22″ width=”640″ height=”360″ thumb_width=”120″ thumb_height=”68″ zip_src_path=”eJzs1c1uqkAUwPF3meS6EhgYPoSE3NzctmiNbV3UxjaNARzgtODgzCCkxndvtI1rNUY37GfxP-f8klkjxiGFBfLWqOK5QN4byqQshadpJVEEpAtVskpCyKBI1ZgVWh7ylGqSCSVeKKAsVx9GvjTdT6xFDokM1zIppYmZ6K7bw5GDQzcxnCS2YuvvDL58ovcMq5NwVvghlxDnVJ1TGULeaRTalMCp8HUHmzbRLUI6za4hlBWnflpbgfO_Pyyx7DcPLHh6JINphpNsPv1DblC3Lb94-XsXVRyQh04vRJsukllVREcY3L2_yj6S8bzKTXoX2ZPCBetlZIyKoBTOIDAPumRbfvbyvcHTC7cGaxqVsxZiW35NiOpW4V7j0X_zzyBCW2Gttk18lSUNh_8KGNfyGdhgsrLZkr5Ke3rv3sL4oPO2M1xkhj3Wc7T-st18BwAA__9S11dR” >
最终,在加入优化后的FLAT,以及加入领域内相关的post train之后,整体的F1 score可以达到比较可用的水平。
05
未来展望
我们在NER任务上主要考虑以下三个方面的优化:
首先,我们可能去学习实体的知识图谱表示,将它融入到模型的候选实体表征中,这样可以得到候选实体更深层次的语义表示。第二就是针对候选可能导致错误传导的问题,联合优化候选生成与最终结果预测。最后,考虑通过优化现有的模型范式来更好地支持嵌套NER以及不连续NER,以支持到更多的业务场景。
今天的分享就到这里,谢谢大家。
在文末分享、点赞、在看,给个3连击呗~
分享嘉宾:
NNNG-2aatB3F7z7oDJ5VRC-95_B_nucH2YGCs5jlwNsBydMKeC8gEaKsPE0rLaVica6KQgqGC5bFKikyLcU8ppooKoXkClM29cpMNxCtdc1GEIeIIOSEBBrQdnU4jEwX6U5EMLTptyXb-pbhmnb_jReZj7lgJKVqRAVmab9VaFsyTivfGOrQsQzbsvrtsQELyanfvI_xon6OJqicztw_s2y8-t20JuLE7VkTMOjK717-OgCSM-CB6wvBfgBEIrPwAoPH9w_ZR7QIpkz_nwRBLuZT2zHwv-2mCFsov591ya785uUng9cXHgw2NCyXHcSu_JEQ1YPCk8aL_-bPQSqt1rXGgfpDltQmv6w4TnvmaBb8deq8HP00nuYZ2cq1_HHWgbsp7jbFiewtar_w7j8CAAD__8BkUsA=” >
分享嘉宾:Kevin 腾讯音乐 算法工程师
编辑整理:韦国迎 天虹
出品平台:DataFunTalk
添加小助手链接:https://wpz.h5.xeknow.com/s/3udZfR
1.免费资料领取:点击上方链接添加小助手回复【大数据合集】免费领取《大数据典藏版合集》
回复【算法合集】免费领取《互联网核心算法合集》
2.添加交流群:点击点击上方链接添加小助手回复【大数据交流群】加入“大数据交流群”
回复【算法交流群】加入“算法交流群”
如发现本站有涉嫌抄袭侵权/违法违规等内容,请联系我们举报!一经查实,本站将立刻删除。