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

相关文章

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

使用Python实现文本转语音(TTS)并播放音频

《使用Python实现文本转语音(TTS)并播放音频》在开发涉及语音交互或需要语音提示的应用时,文本转语音(TTS)技术是一个非常实用的工具,下面我们来看看如何使用gTTS和playsound库将文本... 目录什么是 gTTS 和 playsound安装依赖库实现步骤 1. 导入库2. 定义文本和语言 3

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

Python实现常用文本内容提取

《Python实现常用文本内容提取》在日常工作和学习中,我们经常需要从PDF、Word文档中提取文本,本文将介绍如何使用Python编写一个文本内容提取工具,有需要的小伙伴可以参考下... 目录一、引言二、文本内容提取的原理三、文本内容提取的设计四、文本内容提取的实现五、完整代码示例一、引言在日常工作和学

C++字符串提取和分割的多种方法

《C++字符串提取和分割的多种方法》在C++编程中,字符串处理是一个常见的任务,尤其是在需要从字符串中提取特定数据时,本文将详细探讨如何使用C++标准库中的工具来提取和分割字符串,并分析不同方法的适用... 目录1. 字符串提取的基本方法1.1 使用 std::istringstream 和 >> 操作符示

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

Linux命名管道方式

《Linux命名管道方式》:本文主要介绍Linux命名管道方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、命名管道1、与匿名管道的关系2、工作原理3、系统调用接口4、实现两个进程间通信二、可变参数列表总结一、命名管道1、与匿名管道的关系命名管道由mkf

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并