NLTK(7)从文本提取信息(命名实体识别)

2024-04-14 23:32

本文主要是介绍NLTK(7)从文本提取信息(命名实体识别),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

理论参考 https://blog.csdn.net/kunpen8944/article/details/83149567
https://blog.csdn.net/LuoXianXion/article/details/88823009
其他
https://www.cnblogs.com/AsuraDong/p/7050859.html#树状图
https://www.cnblogs.com/AsuraDong/p/7050859.html#树状图

信息提取(information extraction)

信息抽取(IE)系统

找到并理解文本中的有限的相关性
从很多的文档之中收集信息
产生一个相关信息的结构化的表征

目的:

进行信息的组织使之对人有用
以相对精确的语义形式存放信息方便计算机算法后续的查找
信息抽取(IE)系统一般会抽取清晰的实际的信息(谁对谁做了什么在什么时候)

举例

机构名	位置名
Omnicom	纽约
DDB Needham	纽约
Kaplan Thaler Group	纽约
BBDO South	亚特兰大
Georgia-Pacific	亚特兰大
在亚特兰大运营的公司

问题:“哪些组织在亚特兰大经营?”

机构名
BBDO South
Georgia-Pacific

如果我们尝试从文本中获得相似的信息,事情就比较麻烦了。
文本(1):
The fourth Wells account moving to another agency is the packaged paper-products division of Georgia-Pacific Corp., which arrived at Wells only last fall. Like Hertz and the History Channel, it is also leaving for an Omnicom-owned agency, the BBDO South unit of BBDO Worldwide. BBDO South in Atlanta, which handles corporate advertising for Georgia-Pacific, will assume additional duties for brands like Angel Soft toilet tissue and Sparkle paper towels, said Ken Haldin, a spokesman for Georgia-Pacific in Atlanta.

如果你通读了全文,你将收集到回答例子问题所需的信息。但我们如何能让一台机器理解文本来返回答案呢?这显然是一个困难得多的任务。

这个问题的解决方法之一是对意义建立一个非常通用的表示。
另一个办法是事先确定我们将只查找文本中非常具体的各种信息,如组织和地点之间的关系。不是试图用文本(1)那样的文字直接回答这个问题,我们首先将自然语言句子的非结构化数据转换成表格这样的结构化数据。然后,利用强大的查询工具,如SQL。这种从文本获取意义的方法被称为信息提取

应用

信息提取有许多应用,包括商业智能、简历收获、媒体分析、情感检测、专利检索、电子邮件扫描。当前研究的一个特别重要的领域是提取出电子科学文献的结构化数据,特别是在生物学和医学领域。

命名实体识别(named entity recognition)

这是在信息抽取中十分重要的一个分支 :找到并识别文档中的名字
主要用途:

  • 命名实体的索引(index)和链接(link off)
  • 分析情感指向的公司或者产品
  • 很多信息抽取的关系都是和命名实体相关
  • 在问题回答(question answer)领域,答案往往是命名实体。

命名实体识别的评估

正确识别一个命名实体,需要包含两个方面,
一方面需要找到表示命名实体的词组,
另一方面对命名实体正确归类,

存在问题

对命名实体识别(NER)或者信息抽取(IE)而言,用之前介绍的recall和precision来进行评估会存在一个问题:没有办法定义边界错误(boundary error)。
举例子而言:
对于句子:First Bank of Chicago announced earnings…而言,机器识别Bank of Chicago作为实体,但实际First Bank of Chicago才是命名实体。对于这样的错误,我们在归类的时候即可以归到FN也可以归到FP。所以,基于这样的度量标准,实际上边界错误比无法识别(只会归类到FN)更严重。
其他度量,比如MUC得分会好一些

信息提取

首先,使用句子分割器将该文档的原始文本分割成,使用分词器将每个句子进一步细分为
接下来,对每个句子进行词性标注,在命名实体识别中将证明这是非常有益的。
下一步,我们寻找每个句子中提到的有潜在价值的实体
最后,使用关系识别搜索文本中不同实体间的可能关系。
在这里插入图片描述
信息提取系统的简单的流水线结构。该系统以一个文档的原始文本作为其输入,生成(entity, relation, entity)元组的一个列表作为输出。例如,假设一个文档表明Georgia-Pacific公司位于Atlanta,它可能产生元组([ORG: ‘Georgia-Pacific’] ‘in’ [LOC: ‘Atlanta’])。

词块划分

这篇关于NLTK(7)从文本提取信息(命名实体识别)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/904327

相关文章

Python中图片与PDF识别文本(OCR)的全面指南

《Python中图片与PDF识别文本(OCR)的全面指南》在数据爆炸时代,80%的企业数据以非结构化形式存在,其中PDF和图像是最主要的载体,本文将深入探索Python中OCR技术如何将这些数字纸张转... 目录一、OCR技术核心原理二、python图像识别四大工具库1. Pytesseract - 经典O

Python中提取文件名扩展名的多种方法实现

《Python中提取文件名扩展名的多种方法实现》在Python编程中,经常会遇到需要从文件名中提取扩展名的场景,Python提供了多种方法来实现这一功能,不同方法适用于不同的场景和需求,包括os.pa... 目录技术背景实现步骤方法一:使用os.path.splitext方法二:使用pathlib模块方法三

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法

《Linux查看系统盘和SSD盘的容量、型号及挂载信息的方法》在Linux系统中,管理磁盘设备和分区是日常运维工作的重要部分,而lsblk命令是一个强大的工具,它用于列出系统中的块设备(blockde... 目录1. 查看所有磁盘的物理信息方法 1:使用 lsblk(推荐)方法 2:使用 fdisk -l(

SpringBoot如何对密码等敏感信息进行脱敏处理

《SpringBoot如何对密码等敏感信息进行脱敏处理》这篇文章主要为大家详细介绍了SpringBoot对密码等敏感信息进行脱敏处理的几个常用方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录​1. 配置文件敏感信息脱敏​​2. 日志脱敏​​3. API响应脱敏​​4. 其他注意事项​​总结