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

相关文章

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

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

使用Python提取PDF大纲(书签)的完整指南

《使用Python提取PDF大纲(书签)的完整指南》PDF大纲(Outline)​​是PDF文档中的导航结构,通常显示在阅读器的侧边栏中,方便用户快速跳转到文档的不同部分,大纲通常以层级结构组织,包含... 目录一、PDF大纲简介二、准备工作所需工具常见安装问题三、代码实现完整代码核心功能解析四、使用效果控

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略