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之变量命名规则详解

《Python之变量命名规则详解》Python变量命名需遵守语法规范(字母开头、不使用关键字),遵循三要(自解释、明确功能)和三不要(避免缩写、语法错误、滥用下划线)原则,确保代码易读易维护... 目录1. 硬性规则2. “三要” 原则2.1. 要体现变量的 “实际作用”,拒绝 “无意义命名”2.2. 要让

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

如何正确识别一台POE交换机的好坏? 选购可靠的POE交换机注意事项

《如何正确识别一台POE交换机的好坏?选购可靠的POE交换机注意事项》POE技术已经历多年发展,广泛应用于安防监控和无线覆盖等领域,需求量大,但质量参差不齐,市场上POE交换机的品牌繁多,如何正确识... 目录生产标识1. 必须包含的信息2. 劣质设备的常见问题供电标准1. 正规的 POE 标准2. 劣质设

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

Python文本相似度计算的方法大全

《Python文本相似度计算的方法大全》文本相似度是指两个文本在内容、结构或语义上的相近程度,通常用0到1之间的数值表示,0表示完全不同,1表示完全相同,本文将深入解析多种文本相似度计算方法,帮助您选... 目录前言什么是文本相似度?1. Levenshtein 距离(编辑距离)核心公式实现示例2. Jac