什么是命名实体识别?
**命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,**是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
命名实体识别是信息提取、问答系统、句法分析、机器翻译、面向Semantic Web的元数据标注等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要地位。
一般来说,命名实体识别的任务就是识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。
如何进行识别?
包括两个大步骤:
- 实体边界识别
- 确定实体类别
- 英文实体:相对简单,以大写字母为开头,或者单词之间有顿号,空格,逗号,点等隔开。
- 中文实体:中文没有空格,就需要分词。一句话里切分。
基于规则和词典的方法
例如:
一句话:“今天早上天气很好”
将这8个字放到词典里去查找,发现这不是一个词,去掉最后一个字
变成:“今天早上天气很”
继续将这个7个字去词典里找,不是一个词,继续去掉最后一个字
变成:“今天早上天气”
继续找……直到“今天”是一个词,分出来!再从“今天”之后的位置,查找词
“早上天气很好”
去字典里查找……
继续重复上述步骤,知道全部结束!
这样的方法需要大量的词典,大量的规则!非常的复杂,不可用!
基于统计方法(目前方法)
四个模型:
- 隐马尔可夫模型(HiddenMarkovMode,HMM)
- 较大熵(MaxmiumEntropy,ME)
- 支持向量机(Support VectorMachine,SVM)
- 条件随机场( ConditionalRandom Fields,CRF)