常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式。这一点在知识图谱、信息抽取、文本摘要这些任务中格外明显。不同的任务的差异在于目标的转化形式不一样,因而不同的任务难度、处理方式存在差异。

这个系列文章【文本信息抽取与结构化】,在自然语言处理中是非常有用和有难度的技术,是文本处理与知识提取不可或缺的技术。

本篇介绍如何从非结构的文档中,提取想要的信息,进而结构化文本。

作者&编辑 | 小Dream哥

前述

文本的结构化,是对文本的理解的过程,如果能够将这个过程交给AI去做,能够释放大量的人工成本。在【文本信息抽取与结构化】详聊文本的结构化【上】中,笔者介绍了文本结构化的意义,并开始介绍了如何进行文本的结构化,介绍了如何定义文本结构化的具体需求以及进行文本的预处理

这篇我们继续介绍,经过文本的预处理的之后,得到了一个层次丰富、信息准确的JSON字典。我们下一步要做的就是,按照需求,根据这个JSON字典,抽取出来我们想要的信息

还是简历筛选为例,讲述信息抽取的过程。经过文本预处理之后,得到如下所示的JSON文件:

{

"NoneTitle_1":{

"content":"德有五 求职意向:NLP算法工程师(AI方向)123-11123-1110 | yousanai@happy.com.cn | 深圳",

"postion":[0,[1,2,3]],

"Typeface":"宋体",

"size":"3"

}

"简介":{

"content":"对于机器学习和自然语言处理常见模型有一定理解和实践经验,解决实践过部分自然处理基本任务,包括实体识别、关系抽取、智能问答中语义相似度计算、文本分类等。",

"postion":[1,[4,5,6]],

"Typeface":"宋体",

"size":"2"

},

"教育经历":{

"content":"中国科学院|教育部快乐人生研究重点实验室 计算机应用技术|硕士

"2017.09-2020.06 绩点:3.62/4.0 (前20%)

" 华中科技大学 | 教育部幸福人生研究重点实验室 信息工程 |本科 2012.09 -2016.06 绩点 : 3.76/4.0 (前3%)",

"postion":[1,[7]],

"Typeface":"宋体",

"size":"2"

},

"编程能力"{

"content":"熟悉python、SQL,了解Java编程;熟悉TensorFlow框架,了解pytorch;熟悉Linux系统和Git版本控制;了解shell编程;",

"postion":[1,[7]],

"Typeface":"宋体",

"size":"2"

},

"算法能力":{

"content":" 掌握基本深度学习原理,包括CNN、LSTM、Seq2Seq、Attention、Transformer;理解常见文本分类算法和常见机器学习算法,包括LR、GBDT、XGBoost、TextCNN、LSTM等;",

"postion":[1,[7]],

"Typeface":"宋体",

"size":"2"

}

....

}

JSON中,每一个对象中包含了4个字段,包括

"content":表示这个对象的文本内容

"postion",表示这个对象在文本中的位置

"Typeface",表示文本的字体

"size":"2",表示文本的字体大小

通过这四个字段,描述了原本PDF或者word文件中某一个段落的内容以及排版信息。当然,实际的项目过程,根据具体的情况,包含的内容可能需要更多更丰富。

假如简历筛选需要明确如下的信息:

1.名字

2.出生年月

3.联系方式

4.毕业院校

5.最高学历

6.技能

7.编程语言

...

信息抽取的过程,从上面的JSON字典中抽取这些信息的过程。

信息抽取

面对不同的任务,从上面的JSON文件中抽取相应信息的策略可能会有所不同。

一个可行的策略是,先从相关的字段中抽取相关信息;如果没有抽取到,再从其他不明字段中抽取;例如,假如要抽取候选人的名字,会先尝试从“简介”字段中抽取;没有抽取到,再从“NoneTitle_1”字段中抽取。

确定了相应的抽取策略之后,就剩最后一个任务,设计模型,从各个字段中抽取信息。

信息抽取模型大概有一下几种

1.实体识别模型:

通过序列标注将需要的字段在语料中标出,训练模型后,可以抽取出文本中的字段及类别

2.关系抽取模型:

根据需求,定义实体之间的关系,在语料中标出,训练模型后,可以抽取出文本中的实体及关系

3.阅读理解模型:

根据需求,将需要抽取的字段,整理成问答的形式,在语料中标出,训练模型之后,可以抽取出文本中感兴趣的内容。

以上是文本结构化过程一个大致的步骤和需要用到的技术,是笔者在实际工作中总结出来的一些经验,限于眼界,未能尽述和完备,如有不足,敬请赐教。

下次文章,详细介绍关系及实体抽取技术和模型,以完善这个系列的内容。

总结

文本信息抽取与结构化是目前NLP中最为实际且效益最大的任务,熟悉这个任务是一个NLP算法工程师必需要做的事情。

读者们可以留言,或者加入我们的NLP群进行讨论。感兴趣的同学可以微信搜索jen104,备注"加入有三AI NLP群"

下期预告:详述关系识别模型

知识星球推荐

扫描上面的二维码,就可以加入我们的星球,助你成长为一名合格的自然语言处理算法工程师。

知识星球主要有以下内容:

(1) 聊天机器人;

(2) 知识图谱;

(3) NLP预训练模型。

转载文章请后台联系

侵权必究

往期精选

  • 【完结】 12篇文章带你完全进入NLP领域,掌握核心技术

  • 【年终总结】2019年有三AI NLP做了什么,明年要做什么?

  • 【NLP-词向量】词向量的由来及本质

  • 【NLP-词向量】从模型结构到损失函数详解word2vec

  • 【NLP-NER】什么是命名实体识别?

  • 【NLP-NER】命名实体识别中最常用的两种深度学习模型

  • 【NLP-NER】如何使用BERT来做命名实体识别

  • 【NLP-ChatBot】我们熟悉的聊天机器人都有哪几类?

  • 【NLP-ChatBot】搜索引擎的最终形态之问答系统(FAQ)详述

  • 【NLP-ChatBot】能干活的聊天机器人-对话系统概述

  • 【知识图谱】人工智能技术最重要基础设施之一,知识图谱你该学习的东西

  • 【知识图谱】知识表示:知识图谱如何表示结构化的知识?

  • 【知识图谱】如何构建知识体系:知识图谱搭建的第一步

  • 【知识图谱】获取到知识后,如何进行存储和便捷的检索?

  • 【知识图谱】知识推理,知识图谱里最“人工智能”的一段

  • 【NLP实战】tensorflow词向量训练实战

  • 【NLP实战系列】朴素贝叶斯文本分类实战

  • 【NLP实战系列】Tensorflow命名实体识别实战

  • 【NLP实战】如何基于Tensorflow搭建一个聊天机器人

  • 【NLP实战】基于ALBERT的文本相似度计算

  • 【每周NLP论文推荐】从预训练模型掌握NLP的基本发展脉络

  • 【每周NLP论文推荐】 NLP中命名实体识别从机器学习到深度学习的代表性研究

  • 【每周NLP论文推荐】 介绍语义匹配中的经典文章

  • 【每周NLP论文推荐】 对话管理中的标志性论文介绍

  • 【每周NLP论文推荐】 开发聊天机器人必读的重要论文

  • 【每周NLP论文推荐】 掌握实体关系抽取必读的文章

  • 【每周NLP论文推荐】 生成式聊天机器人论文介绍

  • 【每周NLP论文推荐】 知识图谱重要论文介绍

【文本信息抽取与结构化】详聊文本的结构化【下】相关推荐

  1. 「文本信息抽取与结构化」详聊文本的结构化「下」

    2020-02-19 08:20:08 常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识 ...

  2. 【文本信息抽取与结构化】详聊文本的结构化【上】

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  3. 【文本信息抽取与结构化】深入了解关系抽取你需要知道的东西

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  4. 【文本信息抽取与结构化】目前NLP领域最有应用价值的子任务之一

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  5. 「文本信息抽取与结构化」目前NLP领域最有应用价值的子任务之一

    常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式.这一点在知识图谱.信息抽取.文本摘要这些任务中格外明 ...

  6. 读《开放式文本信息抽取》赵军

    摘要 摘要中指出文章的写作目的:在回顾文本信息抽取研究历史基础上,重点介绍开放式实体抽取.实体消岐和关系抽取的任务.难点.方法.评测.技术水平,对文本信息抽取的发展方向以及在网络知识工程.问答系统中的 ...

  7. NLP专栏简介:数据增强、智能标注、意图识别算法|多分类算法、文本信息抽取、多模态信息抽取、可解释性分析、性能调优、模型压缩算法等

    NLP专栏简介:数据增强.智能标注.意图识别算法|多分类算法.文本信息抽取.多模态信息抽取.可解释性分析.性能调优.模型压缩算法等 专栏链接:NLP领域知识+项目+码源+方案设计 订阅本专栏你能获得什 ...

  8. 深度学习应用篇-自然语言处理[10]:N-Gram、SimCSE介绍,更多技术:数据增强、智能标注、多分类算法、文本信息抽取、多模态信息抽取、模型压缩算法等

    [深度学习入门到进阶]必看系列,含激活函数.优化策略.损失函数.模型调优.归一化算法.卷积模型.序列模型.预训练模型.对抗神经网络等 专栏详细介绍:[深度学习入门到进阶]必看系列,含激活函数.优化策略 ...

  9. 公开课|智能文本信息抽取算法的进阶与应用

    一.什么是文本挖掘? 讨论文本挖掘之前,我们要先说一下数据挖掘的概念,因为文本挖掘是数据挖掘的一个分支.数据挖掘(Data Mining)指从大量的数据中通过算法搜索隐藏在其中信息的过程.而文本挖掘就 ...

最新文章

  1. 开源团队协作 TMS 2.4.0 版本发布
  2. IDEA svn 更换项目,拉新项目的时候 提示 No appropriate protocol
  3. SAP MM 采购订单收货被取消了还是不能增加新的delivery cost!
  4. Java:对double值进行四舍五入,保留两位小数的几种方法
  5. 使用Camel在来自不同来源的Solr中索引数据
  6. debian搭建php mysql_Debian下MySQL安装经验分享
  7. mac 下 ~/.bash_profile无效
  8. canvas.clipPath canvas.clipRect() 无效的原因
  9. 无线传感网络定向扩散路由仿真matlab,确定性无线传感器网络定向扩散路由协议...
  10. php 轮播代码生成器,阿里巴巴国际站全屏轮播代码生成器 阿里国际站全屏轮播切换代码阿里巴巴全屏轮播怎么做? 一秒钟美工助手官方网站...
  11. 树莓派+超声波模块测距
  12. Spyglass之CDC检查(5)
  13. 数字电路实验(三)——加法器、运算器
  14. Python Pycharm 对代码进行TODO标记注释
  15. confluence插入目录
  16. DACAI串口屏使用
  17. 佐糖推出API服务,智能抠图去背景人像分割一键完成
  18. 项目笔记——简易RPC框架(待升级)
  19. MATLAB代码:基于雨流计数法的源-荷-储双层协同优化配置
  20. vscode你最后一个编辑器_这几个插件,让你的 vscode更牛逼

热门文章

  1. 如何在chrome中实时修改JS
  2. 传输控制协议---TCP协议【详解】
  3. 考虑用户侧柔性负荷的社区综合能源系统日前优化调度(完美复现)matlab-yalmip-cplex/gurobi
  4. printk 续行问题
  5. 关于IPv6自动配置地址 RA里的A、M、O标记位(纯理论无实验)
  6. python高端玩法_这7种Python的全新玩法,一般人都不知道!
  7. 海思Hi35系列术语记录
  8. 部分视图传viewbag_NET开发-MVC中如何使用ViewBag和操作方法参数向视图传递数据?...
  9. ntloader安装linux1
  10. 上海长途汽车站客运站点及时刻表