当前位置 博文首页 > Yunlord的博客:到底如何理解文本?一文读懂命名实体识别(实体

    Yunlord的博客:到底如何理解文本?一文读懂命名实体识别(实体

    作者:[db:作者] 时间:2021-09-11 10:48

    前言

    自然语言处理中一个重要的任务就是命名实体识别,自1991年开始,命名实体识别逐渐开始走进人们的视野。

    随着深度学习的发展,命名实体识别技术也得到了极大地进步。从最初的基于规则和字典的方法,到现在热门的注意力机制、图神经网络等方法,命名实体识别已经在各大数据集上已经取得了很高的准确率,但从自然语言处理实际应用的角度来看,命名实体识别技术依旧面临着很大的挑战。

    一、命名实体识别概论

    1.什么是命名实体识别

    命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体指称的边界和类别。

    ?其中产品名、组织、公司、人物就是我们提取出的命名实体。

    2.命名实体识别的应用

    命名实体识别可以落地到多个应用场景,包括聊天机器人新闻关键信息提取等等。

    2.1 聊天机器人

    以上是基于任务式的对话系统的大致流程。这种对话系统也称之为基于填槽式的对话系统。简单来讲,为了能够为用户解决一个问题,AI机器需要获得相关的信息,所以整个对话过程实际上就是从用户那里获得这些信息。一旦获取完毕,就可以对数据库做进一步查询。

    2.2?简历分析

    一份简历中包含大量的信息,如果通过HR一份份过,无疑会耗费大量的时间和精力。所以我们如何通过命名实体识别来进行简历的关键信息提取呢?

    ?

    首先这是一个垂直领域内的问题,我们需要构建NER来提取信息,并且需要自己定义所需要的实体种类,并进行大量的数据标记

    ?

    当我们标记好大量数据后,实际上这就是一个分类问题,输入文本词语,输出对应的种类就可以了,那么我们需要构造一个类别数为实体种类的分类器。

    二、命名实体识别方法

    1.实体识别方法

    命名实体识别从早期基于词典和规则的方法,到传统机器学习的方法,后来采用基于深度学习的方法,一直到当下热门的注意力机制、图神经网络等研究方法,命名实体识别技术路线随着时间在不断发展。技术发展趋势如下图所示:

    1.1 基于规则和字典的方法

    基于规则和字典的方法是最初代的命名实体识别使用的方法,这些方法多采用由语言学家通过人工方式,依据数据集特征构建的特定规则模板或者特殊词典。规则包括关键词、位置词、方位词、中心词、指示词、统计信息、标点符号等。词典是由特征词构成的词典和外部词典共同组成,外部词典指已有的常识词典。制定好规则和词典后,通常使用匹配的方式对文本进行处理以实现命名实体识别。

    基于规则的实体识别方法虽然简单,实际上也比较实用,特别是对于一些垂直领域的应用,或者数据量比较少或者没有标签数据的时候。如果我们有一个足够丰富的词典库,那么仅仅根据词库也能做到不错的准确率。另外,基于规则的识别方法是一套非常有效的基准(baseline)。

    1.2?基于传统机器学习的方法

    在基于机器学习的方法中,命名实体识别被当作是序列标注问题。与分类问题相比,序列标注问题中当前的预测标签不仅与当前的输入特征相关,还与之前的预测标签相关,即预测标签序列之间是有强相互依赖关系的。采用的传统机器学习方法主要包括:隐马尔可夫模型、最大熵、最大熵马尔可夫模型、支持向量机、条件随机场 等。

    在这 5 种学习方法中,ME结构紧凑,具有较好的通用性,其主要缺点是训练时间复杂性非常高,甚至导致训练代价难以承受,另外由于需要明确的归一化计算,导致开销比较大。HMM对转移概率和表现概率直接建模,统计共现概率。ME和SVM在正确率上要 HMM高一些,但是HMM在训练和识别时的速度要快一些。MEMM对转移概率和表现概率建立联合概率,统计条件概率,但由于只在局部做归一化容易陷入局部最优。CRF模型统计全局概率,在归一化时考虑数据在全局的分布,而不是仅仅在局部进行归一化,因此解决了MEMM中标记偏置的问题。在传统机器学习中,CRF被看作是命名实体识别的主流模型,优点在于在对一个位置进行标注的过程中CRF可以利用内部及上下文特征信息。

    1.3?基于深度学习的方法

    随着深度学习的不断发展,命名实体识别的研究重点已转向深层神经网络,该技术几乎不需要特征工程和领域知识。Collobert等学者首次提出基于神经网络的命名实体识别方法,该方法中每个单词具有固定大小的窗口,但未能考虑长距离单词之间的有效信息。为了克服这一限制,Chiu和Nichols提出了一种双向LSTM-CNNs架构,该架构可自动检测单词和字符级别的特征。Ma和Hovy进一步将其扩展到BiLSTM-CNNs-CRF体系结构,其中添加了CRF模块以优化输出标签序列。Liu等提出了一种称为LM-LSTM-CRF的任务感知型神经语言模型,将字符感知型神经语言模型合并到一个多任务框架下,以提取字符级向量化表示。这些端到端模型具备从数据中自动学习的功能,可以很好地识别新实体。

    部分学者将辅助信息和深度学习方法混合使用进行命名实体识别。Liu 等在混合半马尔可夫条件随机场的体系结构的基础上加入了Gazetteers 地名词典,利用实体在地名词典的匹配结果作为命名实体识别的特征之一。一些研究尝试在标签级别跨数据集共享信息,Greenberg等提出了一个单一的CRF模型,使用异构标签集进行命名实体识别,此方法对平衡标签分布的领域数据集有实用性。Augenstein 等使用标签向量化表示在任务之间进一步播信息。Beryozkin等建议使用给定的标签层次结构共同学习一个在所有标签集中共享其标签层的神经网络,取得了非常优异的性能。

    近年来,在基于神经网络的结构上加入注意力机制、图神经网络、迁移学习、远监督学习等热门研究技术也是目前的主流研究方向。

    总体来讲,前两种方法只是作为基准,一般不会作为生产环境下的方法,最常用的方法莫过于基于CRF的识别。

    三、实体消歧

    1.实体消歧概念

    实体消歧的本质是在于一个词很有可能有多个意思,也就是在不同的上下文中所表示的含义不太一样。

    2.实体消歧解法

    2.1 基于聚类的实体消歧方法

    该方法主要是计算实体指称项之间的相似度,采用某种聚类算法对实体指称项聚类,使得聚类结果中每一个类别都对应于一个目标实体上。主要包括基于表层特征的实体指称项相似度计算、
    基于扩展特征的实体指称项相似度计算、基于社会化网络的实体指称项相似度计算。

    基于表层特征的实体指称项相似度计算:
    传统方法多利用表层特征计算相似度,这些方法通常是词袋模型(Bag of Words,BoW)模型的延伸,性能不好。?

    这类方法都是基于上下文表层特征的关联来计算它们之间的相似度,而没有考虑到上下文特征的内在关联,因此影响聚类效果。

    基于扩展特征的实体指称项相似度计算:
    利用知识资源提升实体消歧的性能。
    最直接的方法:使用知识资源来扩展实体指称项的特征表示。

    基于社会化网络的实体指称项相似度计算:
    基于社会化网络的实体指称项相似度通常使用基于图的算法,能够充分利用社会化关系的传递性,从而考虑隐藏的关系知识,在某些情况下(特别是结构化数据,eg:论文记录、电影记录等)能够更为准确的实体指称项相似度计算结果。

    缺点:只用到上下文中的实体信息,不能完全利用实体指称项的其他上下文信息,因此不能在文本消歧领域取得有竞争力的性能。

    2.2 基于实体链接的实体消歧方法

    基于实体链接的实体消歧方法:将实体指称项链接到知识库中特定的实体,也称实体链接(Entity Linking)。
    实体链接:将一个命名实体的文本指称项(Textual Mention)链接到知识库中对应实体的过程(若不存在对应实体,则将实体指称项链接到空实体NIL)

    实体链接的输入包括两部分:

    • 目标实体知识库:最常用Wikipedia,或特定领域知识库。
      • 知识库通常包括:实体表、实体的文本描述、实体的结构化信息(eg:属性/属性值对)、实体的辅助性信息(eg:实体类别);也经常提供额外的结构化语义信息,eg:实体之间的关联
    • 待消歧实体指称项及其上下文信息

    步骤:

    • 链接候选过滤(Blocking):根据规则或知识过滤大部分指称项不可能指向的实体,仅仅保留少量链接实体候选。
    • 实体链接(Linking):给定指称项及其链接候选,确定该实体指称项最终指向的目标实体。(重点研究)

    链接候选过滤方法:
    大部分是基于实体指称项词典:通过在字典中记录一个指称项所有可能指向的目标实体来进行链接候选过滤。

    传统实体链接方法:使用Wikipedia等知识资源构建指称项词典,包括Wikipedia Entity Name、Wikipedia Redirection Page等。

    为了匹配模糊或拼错的指称项,一些基于构词法的模糊匹配也在TAC评测中使用,eg:Metaphone算法和Soft TFIDF算法

    实体链接方法:
    实体链接方法选择与指称项具有最高一致性打分的实体作为其目标实体。现有方法可分为:向量空间模型、主题一致模型、协同实体链接模型、基于神经网络的模型。

    2.3 面向结构化文本的实体消歧方法

    列表型数据没有上下文描述信息,需要利用实体的类别信息,实体的流行度和列表中的其他信息进行消歧。

    四、实体统一

    1.实体统一概念

    同一个实体有不同的表达方式,有时候需要把不同的表达方式统一为同一种表达方式。

    例子:”中华人民共和国“,”中国“都表示同一个意思。如果把实体统一,可以减少一些NLP任务的难度。常见的应用场景是在构建知识图谱中,需要对地名,公司名,专业术语等进行统一。

    2.实体统一解法

    第一种方法计算相似度方法

    计算两个实体(字符串)之间的相似度,一般使用编辑距离即可,设定阈值,判断是否属于一个实体。

    第二种基于规则方法

    举个例子:

    1. 腾讯有限公司
    2. 腾讯科技有限公司

    我们通过人工的设计一些库,或者说是一些词典,这些库包含相同实体的特点:

    • 词典1:公司、有限公司、分公司…
    • 词典2:北京,天津,上海…
    • 词典3:科技,技术…

    如果实体中的词出现在库中将其删掉

    1. 腾讯有限公司——作为原型,删掉词库中的词后为:腾讯
    2. 腾讯科技有限公司 —删掉词库中的词后为:腾讯

    这时候判定为相同实体,但是以上两种方法精度不高,人力成本比较高。

    第三种基于有监督的学习方法

    还是上面的例子:

    1. 腾讯有限公司
    2. 腾讯科技有限公司

    我们可以将1和2利用特征工程将其转换为特征向量:比如考虑词性,前后单词,词位置等等。

    然后输入到一个训练好的分类模型去判断两个实体是否相似。

    利用余弦相似度技术衡量相似程度,然后再输入到逻辑回归模型做二分类的计算。

    第四种基于图的实体统一方法

    其实每个实体都不是独立的,他们与其他实体是包含一定的联系,如下图所以我们在做实体统一的时候我们考虑到了这种实体关系,也就是根据这种图来做:

    假如我们判断A和B是否是同一个人我们在做特征向量时不仅加入他的个人信息,还可以加入其他的关系。

    然后我们再计算A和B两者的相似度,设置阈值:判断大于阈值相似以及小于阈值不相似。

    总结

    评判一个命名实体是否被正确识别,包括两个方面:

    • 实体的边界是否正确
    • 实体的类型是否标注正确

    命名实体识别存在三个难点

    • 领域命名实体识别局限性
    • 命名实体表述多样性和歧义性
    • 命名实体的复杂性和开放性

    命名实体识别目前的两个热点:?

    • 匮乏资源命名实体识别
    • 细粒度命名实体识别

    本文是从零开始学NLP系列文章第十五篇,希望小伙伴们多多支持,互相交流。


    今天我们就到这里,明天继续努力!

    如果该文章对您有所帮助,麻烦点赞,关注,收藏三连支持下!

    创作不易,白嫖不好,各位的支持和认可,是我创作的最大动力!

    如果本篇博客有任何错误,请批评指教,不胜感激 !!!


    参考:

    贪心科技学院nlp

    一文了解命名实体识别

    知识图谱(五)——实体消歧

    实体消歧、实体统一和指代消歧

    cs