NER全称Named-entity recognition(命名实体识别),是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
知识图谱中包含了许多实体的知识信息,能够辅助NER问题。与常规NER不同的是,使用知识图谱除了给出实体类型之外,还能够精确地链接到知识图谱的实体id上,是一个Entity Linking(实体链指)问题。
使用知识图谱进行NER可以分为两个步骤:1,选取候选实体集;2,链指到具体某个实体
1,选取候选实体集:这个步骤比较简单,可以将知识图谱所有数据建立一个从实体名称-->实体id的倒排表,通过查询到倒排表就能够完成选取候选实体集功能。这里可以解决别名&简写问题,例如奥尼尔=大鲨鱼,詹姆斯=小皇帝,将这种已知的别名信息也加入到倒排表中做为索引键。
2,链指到某个具体实体:通过第一步,在文本的每个实体会链接到1个或多个实体上,需要选择其中一个最合适的。之所以可能被链接到多个实体,是因为实体名称本身就存在歧义性。例如李娜可以是一个运动员,也是一个歌手;李白既是一个诗人,也是一首歌。
可以利用知识图谱中的以下信息来进行实体消歧:
a)实体热度:热度分表示一个实体被大家所了解的程度,进行消歧时优先选择高热度分的实体。热度分可以通过多种方式构建,例如在文本中出现的次数,百度百科中被浏览数,音乐/电影类实体的评论数等等。
b)实体上下文:将每个实体的上下文词做为语义向量,比如苹果(公司)的上下文词是ipad,iphone,股价等,苹果(水果)的上下文词是好吃,颜色等,在做实体消歧的时候根据文本上下文进行判断。
c)实体距离:知识图谱中的实体通过关系(边)进行连接,一般来说距离越近的实体点,其共现概率越大。如果已经判断出来文本中某个实体,可以计算其他候选实体与其距离。
后续对于NER这块内容可能还会深入了解,到时候再进行补充更新。