【文本信息抽取与结构化】目前NLP领域最有应用价值的子任务之一
常常在想,自然语言处理到底在做的是一件什么样的事情?到目前为止,我所接触到的NLP其实都是在做一件事情,即将自然语言转化为一种计算机能够理解的形式。这一点在知识图谱、信息抽取、文本摘要这些任务中格外明显。不同的任务的差异在于目标的转化形式不一样,因而不同的任务难度、处理方式存在差异。
这个系列文章【文本信息抽取与结构化】,在自然语言处理中是非常有用和有难度的技术,是文本处理与知识提取不可或缺的技术。
作者&编辑 | 小Dream哥
1 概述
之前笔者在公众号中介绍过实体识别、关系抽取等常用的信息抽取技术。在这个系列文章中,我们不再局限于某一个具体的技术,而是聚焦在如何将一些“自然”的文本转化为结构化的文本;如何从大规模的语料中提取出感兴趣的内容。我们定义类似的任务为文本信息抽取与结构化。
这样的任务是有非常广泛的应用场景的,任何你需要从文本中提取信息的场景或者像知识图谱这种需要大规模信息抽取的场景都需要这样的技术。
这次的系列文章,我们从两个方面来讲述这个话题,文本的结构化以及大规模语料的知识抽取。
2 文本的结构化
文本的结构化是比文本分类等任务要更细致化的一项任务,在实际应用中,对文本的结构化的需求是非常旺盛的。例如,在招投标的场景中,需要对招标书进行结构化,以完成投标书的自动化生成、投标任务提醒等功能;在一些智能审核的场景中,需要将申请文件结构化,才能进行后续的判定。
下面举一个文本结构化的例子,让读者感受一下,文本的结构化是一个什么样的任务?大概是一个什么样的过程?需要用到哪些技术?
例如,保险公司在接受客户报案之后,要进行理赔和赔付。在人工智能时代,保险公司都在推进智能理赔,即通过NLP技术,对报案材料进行审阅,结合保险条款,判定是否要赔付给客户。在大型保险公司里,客户数以亿计的小额赔付场景中,这种智能理赔的能力是可以提供非常大的效益的。
对报案材料进行审阅的过程,就需要将报案信息进行提取,也就是将材料进行结构化。
如下是一段报案材料:
我是深圳市天蓝电子科技有限公司的行政人员,我司一名员工,在上班时突发心脏病,送至深圳市第三人民医院医治无效后死亡。遂来报案,我们的保单号是12345678901234,我的联系电话是123456780。附件1是我们的医院治疗证明。
我们需要运用NLP技术对其进行结构化:
被保险人:深圳市天蓝电子科技有限公司
出险原因:突发心脏病
治疗医院:深圳市第三人民医院
出险时间:上班时
保单号:12345678901234
联系电话:123456780
医院治疗证明:附件1
通过对报案材料的结构化,我们得到了“被保险人”,“出险原因”以及“保单号”等信息,后续可以调用相关的系统核实信息,做出理赔决策。
由此可知,文本结构化用到的最关键的技术是信息抽取技术。此外,通常文本会是PDF或者word格式,很多时候,需要引入OCR技术,将PDF或者word转化成JSON格式,而没有丢失掉文档结构的信息。
这里先做一个概述,我们后续再详细的介绍文本结构化的技术。
3 大规模语料的知识抽取
知识图谱的搭建是大规模语料知识抽取技术应用的最主要场景之一。例如,某保险公司需要构建保险理赔过程的知识图谱。假设其采用自顶向下的方法,先人工构建了保险理赔过程的shcema,进一步需要找到实例,充实schema。这就需要基于其常年积累下来的理赔及报案材料,运用NLP技术,抽取到大量的实例及属性,丰富该知识图谱。
我们对比来看,相对于上一节介绍的文本的结构化的任务,知识抽取的任务在于从海量的语料中抽取信息。相对来讲,抽取的类别会更多,难度更大。需要一种无监督或者半监督的方式,来高效的完成这个任务。
自动化的知识抽取,是一个艰难但意义重大的任务,后续我们会介绍一些在这方面进行探索的工作。
总结
文本信息抽取与结构化是目前NLP中最为实际且效益最大的任务,熟悉这个任务是一个NLP算法工程师必需要做的事情。