当前位置 博文首页 > DAYceng:【NLP学习其一】什么是命名实体识别NER?

    DAYceng:【NLP学习其一】什么是命名实体识别NER?

    作者:DAYceng 时间:2021-06-23 18:23

    命名实体识别

    概念

    命名实体识别(Named Entity Recognition,简称NER) , 是指识别文本中具有特定意义的词(实体),主要包括人名、地名、机构名、专有名词等等,并把我们需要识别的词在文本序列中标注出来。

    例如有一段文本:天津市空港经济区
    我们要在上面文本中识别一些区域和地点,那么我们需要识别出来内容有:

    • 天津市(地点)
    • 空港经济区(地点)

    NER的识别靠的是标签,在长期使用过程中,有一些大家使用比较频繁的标签,这里有个网站可以参考

    https://spacy.io/api/data-formats?source=post_page---------------------------

    识别上述例子我们使用了以下几个标签:

    1. "B-ORG":组织或公司(organization)
    2. "I-ORG":组织或公司
    3. "B-PER":人名(person)
    4. "I-PER":人名.
    5. "O":其他非实体(other)
    6. "B-LOC":地名(location)
    7. “I-LOC":地名

    你肯定很关心“B”和“I”是什么意思?为什么一个实体会对应两个标签?(除O之外)下面会进行解释

    首先说明,在文本中我们是以字为单位进行标注的

    那么“B”和“I”是什么东西?

    “B”是Begin的缩写,“I”我不知道是什么的缩写(如果你知道可以在评论区留言)

    我们知道实体一般是一个词,因此用来表示它的文字应该有多个

    而“B”就是用来表示某个实体开头的第一个字的(英文实体则为单词)

    如:
    天津市可以表示为
    天(B-LOC)津(I-LOC)市(I-LOC) 
    #以B-LOC开头后面必须全为某某LOC,不能出现别的标签,比如B-PER后面跟个I-LOC就不行
    #在训练的时候,我们通常会再加一个概率图模型来减少上述错误的发生,如HMM等
    
    纽约New York可以表示为
    New(B-LOC) York(I-LOC)
    

    人名同理不再举例

    “O”则表示文本中不相关的字

    如:
    小红想去二空螺蛳粉嗦粉
    
    上述文本中,除了“小红”和“二空螺蛳粉”以外的字都是“O"(前提是你不关心这些字)
    

    注:除了上述标注方法外的标注均为非法标注

    那么?的HMM又是什么?

    隐马尔可夫模型,即HMM,是概率图模型的一种,属于生成模型。

    笼统的说,我们在上面谈论的"BIO"的实体标签,就属于一种不可观测的隐状态,而HMM模型就是描述由隐状态序列(实体标记)生成可观测结果(可读文本)的过程.
    在我们讨论NER的问题当中,隐状态序列是实体标记序列,而可观测序列是我们可读的原始语料文本序列.

    如:

    隐藏状态序列:(B-LOC)(I-LOC)(I-LOC)
    观测状态序列:   天       津      市
    

    这只是HMM用于NER标签时的情况

    我们还可以举个例子将HMM思想拓展一下

    假如我在打游戏,这时我突然想起一个人,然后我看通讯录找到他的名字给他打电话
    
    上述例子中,
    想起的这个人就是隐藏状态;
    他的名字就是观测结果;
    而我举例用的整段话就是HMM模型本身(因为它描述了一个过程)
    
    bk