D3交互式可视化Python自然语言工具包命名实体识别

命名实体识别 (NER) 可能是信息提取的第一步,旨在将文本中的命名实体定位和分类为预定义的类别,例如人名、组织、位置、时间表达、数量、货币价值、百分比 等。 NER 在自然语言处理 (NLP) 的许多领域都有使用,它可以帮助回答许多现实世界的问题。

本文介绍如何使用 NLTK 和 SpaCy 构建命名实体识别器,识别原始文本中的人、组织或位置等事物的名称。

自然语言工具包

import nltk
from nltk.tokenize import word_tokenize
from nltk.tag import pos_tag

信息提取

我们将词标记化和词性标记应用于句子。我们得到一个元组列表,其中包含句子中的各个单词及其相关的词性。

现在我们将实现名词短语分块,以使用正则表达式来识别命名实体,该正则表达式由指示句子应该如何分块的规则组成。

我们的组块模式包含一个规则,即当组块器找到一个可选的限定词 DT 时,应该形成一个名词短语 NP,然后是任意数量的形容词 JJ,然后是一个名词 NN。

块解析

使用这种模式,我们创建了一个块解析器并在我们的句子上测试它。

输出可以被读取为树或以 S 为第一级的层次结构,表示句子。我们也可以以图形方式显示它。

实体

import spacy
from spacy import displacy
from collections import Counter
import en_core_web_sm
nlp = en_core_web_sm.load()

Spacy 的优点之一是我们只需要应用一次 nlp,整个后台管道将返回对象。

从文章中提取命名实体

接下来,我们逐字逐句提取词性并对这句话进行词形还原。

[(x.orth_,x.pos_, x.lemma_) for x in [y 
                                      for y
                                      in nlp(str(sentences[20])) 
                                      if not y.is_stop and y.pos_ != 'PUNCT']]

最后,我们可视化整篇文章的实体。

源代码

项目:D3交互式可视化Python电子邮件数据集命名实体识别

源代码

详情参阅 - 亚图跨际

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值