缺乏标注语料下如何实体识别

文章目录

    • 无监督实体识别
      • 如何识别出专有名词
      • 如何识别出其所属类别
      • 结果
    • 有监督学习
    • 论文资料

最近有知识图谱的任务,要做实体识别。才发现实体识别的坑在于公开数据集只标注了人名机构名地点,但是知识图谱的需求一般都是针对垂直领域。即需要识别出数据库字段对应特定的实体,然而有些领域的实体标注会很麻烦,一个是没有足够的语料,一个是非专家可能会标错。

无监督实体识别

https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3865922/
其核心架构图如下:
缺乏标注语料下如何实体识别_第1张图片

如何识别出专有名词

它是通过一个假设,专有名词都是名词短语,然后利用短语的idf去判断这样的名词组合是否合理和常见。
实际工程中,发现只要带n的词性都可以这样做,在足够多的语料中,确实能够识别专有名词,因为同一领域的语料专有名词会有集中趋势。

如何识别出其所属类别

它是通过一个分布假设WSD(word sense distribution )即同样类别的词在句子中前后词会出现一种集中的趋势,因此需要有一个语料库用来描述每一类本体的sense,然后通过统计这个语料库中所有描述本体的句子中词的tf-idf,构成向量聚类的思想,得到每个本体的向量。然后就用余弦去衡量相似性。
这是2013年的论文,当时词向量还没火,所以完全可以利用词向量去做这样的一个聚类,而不是单纯tf-idf去做这样的聚类,
同样当数据库有这样的字段,它的所有值对应词向量的聚类就可以用来表示这个本体的向量

结果

  • 人工的rule还是要上,数据的清洗也要上
  • 如果单纯依靠这个方法,准确率还会比较低,但是如果结合目前公开数据集能够识别的地点,人名,机构名之后,这样组合的一个方案还是有一定的可行性。

有监督学习

https://github.com/kyzhouhzau/CCKS-2018-NER/blob/master/Flyon/raw2bio.py
它是借助词典直接扫描去做自动标注
我觉得可以加上编辑距离和词向量相似度,以免有些文本里面不是一模一样的词

论文资料

http://ir.hit.edu.cn/~rjfu/publications/doctoral_thesis_furuiji.pdf

你可能感兴趣的:(NLP)