用NLTK进行词性标注,我们得到一个元组列表,其中包含句子中的单个单词及其相关的词性。使用函数nltk.ne_chunk(),我们可以使用分类器识别命名实体,分类器添加类别标签(如PERSON,ORGANIZATION和GPE)。

NLTK命名实体识别效果如下图:Digital Farm(ORGANIZATION)识别成功

词标识符与块级别分割

 

然而,NER任务在中文语料上表现不佳,所以开源工具NLTK也一样。

为了能够满足我们的命名实体识别需求,我们可以引入正则表达式。

正则表达式限定分块

识别歌曲名(DT+NNP)

识别歌曲名(DT+NNP+RP)

识别歌曲All Falls Down需要用到正则表达式(NP: {<DT>*<NNP>*<RP>} # NP),识别歌曲That Girl需要用到正则表达式(NP: {<DT>*<NNP>} # NP)

匹配长度长的在前

 

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐