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

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

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

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

作者&编辑 | 小Dream哥

1  文本结构化的意义

【文本信息抽取与结构化】详聊文本的结构化【上】_第1张图片

数字化、线上化在21世纪前15年是非常流行的概念,经过多年的发展,大部分企业都进入了无纸化、线上化的办公、生产和销售时代。

例如,我们大家熟悉的求职过程,很可能就是一个全程无纸化线上化的过程。过程可能如下所示:

1.你在某招聘网站填写线上简历;

2.某公司HR在线上看到你的简历,匹配到其公司的某个职位,打电话问你是否感兴趣;

3.你觉得职位、公司都挺满意,欣然答应,并约好了面试时间。细心的你最后还询问HR是否需要带纸质简历,HR告诉你不需要,简历已经在线发给了面试官。面试过程,面试官在该公司的面试系统记录了你的面试表现,表示你通过了该公司的面试。

4.随后,你收到了该公司的邮件,邮件不仅通知你通过了该公司的考核,发给你offer。邮件里还附带一个二维码,告诉你下载这个APP,后续的报道流程,都通过这个APP进行。

5.你非常开心的下载并打开这个APP,APP让你填了基础的信息,并请你提供二甲以上的医院的入职体检证明。

6.你的体检证明通过了该公司的审核,你们在线上签订了劳动合同,并确定了入职日期。

这是一个完全线上化和无纸化的过程,我们可以想一下,这各过程的这些步骤,哪些部分是最繁琐,也是目前最可能应用AI技术替代人处理的。在我看来,至少有加粗的两个部分是可以用AI技术来减轻HR工作的。以“匹配到其公司的某个职位”也就是筛选简历为例,我听过很多猎头和HR对海量筛选简历之抱怨。不过,用目前的NLP技术是完全可以实现大部分的简历分析和匹配的。因为不同候选人的简历格式不一,简历的分析和匹配势必就会涉及简历的结构化,以提取候选人的姓名、技能、学历以及工作经验等重要信息。

我们细想一下,其实人工处理大量文本的场景是很常见的。例如,大公司的签报流程处理人员和财务审计人员,招投标公司的标书筛选过程等等。随着线上化的普及,这些场景给了NLP技术展现其能力的大好时机,通过文本的结构化相关的技术,从线上化文本中,提取相应场景中感兴趣的信息,能够极大的减少人工的工作量,提高效率。

总的来说,文本的结构化通过快速实现文本的理解和信息提取,大量的减少人工负荷。在线上化、无纸化流程作业的今天,具有很广泛的应用空间。

2 文本如何结构化

文本的结构化是一个相当复杂的工程问题,通常情况下,办公或者生产过程中出现的文本为word、PDF等有一定段落结构和篇幅的文档。按照现在的NLP技术,端到端的实现文本的结构化,是不太可能的事情。

基于此,面对一个复杂的问题,通常需要步步分解,将一个大的看上去很艰难问题,分解成一些小的容易处理的问题。那我们来看看,笔者认为,通过哪些步骤能够完成这样一个任务。

2.1 定义需求

【文本信息抽取与结构化】详聊文本的结构化【上】_第2张图片

我这里提到的文本结构化,通常是基于某一个场景的某一些需求,例如,求职招聘场景中的简历筛选与匹配需求。所以,要对文本结构化,首先需要了解的是,要从源文本中获取哪些信息?也就是定义需求。通过需求定义,我们给问题划了一个范围,明确了目标。

例如,在求职招聘场景中,面对形形色色的候选人简历,HR感兴趣的是候选人的如下信息:

姓名:周公举

出生年月:1983年5月

毕业学校:中央音乐学院

学历:本科

专业:流行音乐

技能:演唱,作曲,导演

工作经验:曾发行数张音乐唱片,创作N首原创歌曲;参演5部电影,自导自演2部。

其实结构化简历,还有一个场景需要,就是目前很多招聘网站的收费服务:简历优化。将简历结构化的信息抽取之后,后续的简历筛选,简历优化以及岗位匹配运用NLP技术或者甚至一些简单的判断就能有不错的效果了。

这个过程,通常是跟业务强相关的,可以由业务专家、产品经理主导,算法工程师配合完成。

2.2 文本的预处理

【文本信息抽取与结构化】详聊文本的结构化【上】_第3张图片

前面提到,通常情况下,办公或者生产过程中出现的文本为word、PDF等有一定段落结构篇幅的文档。要用算法处理这些原始文档,通常会面临这些问题:

1.NLP模型无法直接处理PDF等类图像格式的文档;

2.文档有可能篇幅很长,不可能直接将文本内容输入模型进行处理;

3.比较难获取文档中的文档结构信息、篇章层次信息、字体格式信息等。

对于第一个问题,通常需要PDFReader,将类图像格式的文档转化为文本文档;对于第二个问题,通常会将文档进行分段落处理,舍弃无意义的段落,截取感兴趣的段落;对于第三个问题,是最复杂的问题,这往往已经不是单纯的自然语言处理的问题,通常需要结合计算机图像处理的技术以及OCR技术,才能比较好的解决第三个问题。

文本的预处理过程,是一个复杂且重要的步骤,预处理的效果直接影响后续信息抽取模型的效果。

通常,预处理步骤的输出应该是如下形式的json文件:

{

    {

        “基本信息”:“

                姓名:***

                出生年月:1***

               ”

    },

    {

        “个人介绍”:“擅长C,python,java等编程语言,熟悉NLP算法。。。”

    },

    {

        “教育经历”:{

            “本科”:“华中科技大学”,

            “硕士”:“中国科学院”

        }

    }

}

通过输出这种层次丰富、信息准确的JSON数据,后面的NLP信息抽取模型,就能够大展身手了。

出于篇幅,“文本的结构化【上】”部分就先讲到这里,后续的部分,在我们下集部分继续给大家介绍,感兴趣的同学敬请关注。

总结

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

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

下期预告:详聊文本的结构化【下】

知识星球推荐

_

_

【文本信息抽取与结构化】详聊文本的结构化【上】_第4张图片

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

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

(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论文推荐】 知识图谱重要论文介绍

你可能感兴趣的:(【文本信息抽取与结构化】详聊文本的结构化【上】)