FlexiNLP:ABBYY 自然语言分析技术

FlexiNLP:ABBYY 自然语言分析技术 

ABBYY 长期深耕自然语言处理 (NLP) 领域。这些技术是 ABBYY 诸多分析和提取数据解决方案的核心。我们利用这些技术帮助工业巨头 NPO 搜索百年来积累的文档资产,俄罗斯最大的银行之一也一直使用我们的技术来监控新闻订阅和管理风险。

在本文中,我们将解释 NLP 技术如何提取文本中的信息。这里不谈表格和结构清晰的表单中的文字,重点介绍的是多页非结构化文档,例如租赁协议、医疗记录等。

然后,我们将展示实际运用,例如,如何在 X 分钟内从 200 页的银行协议中提取 X 个实体;如何确保法律合同的准确性,或者如何从大量医学文章中快速获取关于罕见不良反应的信息。我们的经验表明,公司需要正确无误地快速获得这些数据,因为企业的正常运营和人们的福祉都建立在它们之上。

在本文结尾,我们将讨论开展此类项目时遇到的困难,以及我们所采用的解决方法。

那么,我们是怎么做的?


一般来说,自然语言处理和分析技术无处不在,可广泛用于过滤电子邮箱中的垃圾邮件,创建机器翻译系统,识别语音以及开发和训练聊天机器人。借助 ABBYY 的 NLP 技术,银行、工业和其他组织可快速从商业文档中提取并构建大量信息。大型公司早已实现常规操作的自动化,或至少试图减少这些常规操作,例如,在纸质文档中搜索日期、姓名、发票号码等,然后将搜索的数据录入企业信息系统并进行核实。

注意,最初我们能够根据几何特征,尤其是线条和字段的结构和排列,从文档中提取文本。处理结构化布局的信息仍然十分便利,例如表单、问卷、申请表、人口统计表等文档中的信息。

然而,重要的信息不仅储存在表单中,所以我们已经训练 NLP 解决方案从毫无结构或极其复杂的文档中提取数据。您可能记得ABBYY Compreno,它是为分析和理解自然语言而创建的。经历开发与改进后,这项技术如今成为我们诸多NLP 解决方案的基础。

我们下面将讨论另一个方面,即从合同、医疗记录和新闻订阅等非结构化文档中提取信息。FlexiNLP:ABBYY 自然语言分析技术

NLP 技术的运作原理

就概念上而言,一篇文档从数据输入到数据提取的处理过程如下:

FlexiNLP:ABBYY 自然语言分析技术

假设要从一份 50 页的合同中提取合同签署日期和地点,以及签订合同的公司的名称。如何查找客户要找的页面?借助这项技术,我们可以按以下阶段进行。
 

分段阶段

对文档进行分段,也就是说,我们会缩小搜索范围,不处理全部 50 页内容,而只处理部分内容,例如每个段落中可能包含我们要找的日期的 5 段内容。这让算法更加易于操作,也能更轻松地将所需日期与所有其他日期区分开来。

图中分段右侧的所有阶段构成了 NLP 算法的操作流程,也就是对文本的详细研究、阅读和理解。这些流程的耗时是分类和分段的10-20 倍,所以在整篇多页文档上运行这些流程根本不合理,它们比较适合处理轻量型文本。

NLP Parser 和 Bi-LSTM(双向长短期记忆)的运作原理

 借助 NLP 解析器和 Bi-LTSM,可以从文本的每个句子中提取属性(特征)。这是ABBYY Compreno 技术的功劳,它是 FlexiCapture 的一部分。该引擎可以详细地阅读文本,并从中提取大量的概括性特征。它不仅能理解句子中给出的事实,还能理解它的实际含义。

特征提取是一个漫长的步骤,因为存在一些高级属性。粗略地说,它们表明在这个片段中,看起来像名称的东西用看起来像语义类的对象做了一些看起来像动作的事情。接下来,在这些提取的高级特征中应用一种相当简单且传统的 ML-GBM(机器学习梯度提升机)方法。这是决策树合集,可提供一般的解决方案,并突出显示提取的字段。为了让 GBM 快速学习并提取高质量的信息,必须有足够的文档进行训练。使用的文档越少,数据提取的质量就越差:对于少数案例而言,机器的概括能力更弱(即从高频案例中区分出个别案例)。

FlexiNLP:ABBYY 自然语言分析技术

 

NLP的应用领域

以下是一些我们实践中的案例,即已实施项目、试点和概念案例。

用于金融组织的 NLP

FlexiNLP:ABBYY 自然语言分析技术

 

客户经常要求我们处理发票和采购订单。一些字段和文本块可以借助传统方法,通过关键词进行提取。但要查看文本块内部,就需要 NLP。也许您不需要整个地址块,而只需要其中一部分,例如街道、州、城市、邮政编码和国家。也许发票在某个日期之前支付可享受折扣,您需要解析这个特价适用的日期和折扣率。我们的技术可帮助将这样的变量考虑在内:如果提前支付或批量支付,一笔订单的费用是多少;如果延迟支付,费用又是多少。

我们还协助大型公司的法务部门从服务合同、进度报告和保密协议中提取重要数据。我们有一个项目涉及商业租赁协议,该协议包括多篇30 页的文档,法务团队以前需要手动处理全部这些文档。通常需要一个小时才能处理一篇。而使用FlexiCapture,只需不到两分钟就能完成,根据客户计算,我们每年为他们节省了 5000 工时。

另一个方面是处理贷款协议。贷款不仅面对个人,也面对大型公司,这意味着我们谈论的是1 亿美元的抵押贷款。  为了获得这笔贷款,企业会向银行提供一大批文档,然后银行需要从每篇 250 页的文档中提取50-70 个实体或条件。如果手动操作,每篇文档需要 2-3 个小时。而使用FlexiCapture,只需 9 分钟就能完成:虽然得到的不是即时结果(由于文字密度高),但还是快得多。

贷款申请(由银行发给客户的初步问卷)往往也需要处理。贷款金额越大,问卷调查的问题就越多。例如,关于您的工作单位,银行可能会询问单位的识别码和法定地址。银行经常要求说明婚姻状况、有无贷款、水电费债务、赡养费和其他可能干扰还贷的相关事宜。有时,贷款申请中的问题相当复杂,所以一些公司帮助客户将其从“法律术语”译成通俗的语言。

在处理这种文档时,主要的困难在于存在大量字段(我们的案例中有105 个字段)。银行员工可能很容易找不到内容或困惑不解,但这对技术来讲是小菜一碟。FlexiCapture 只要 5 分钟就能处理一篇文档,而人工则需要 2-3 小时。感受一下差异!


医疗保健


ABBYY 的许多项目都涉及提取医疗记录中的数据。

 FlexiNLP:ABBYY 自然语言分析技术

 

使用 NLP,您可以处理医学文章的摘要。药理学中有一个方向叫做药物警戒,它用于调查新药可能产生的副作用。医疗机构从患者处收集关于危重病例的信息,并起草详细的《个案病例安全报告》(ICSR)。如果一种新药对人体造成伤害,制造商必须迅速向监管机构报告,否则会面临巨额罚款。为了避免这种情况,制药公司会安排资历丰富的员工大量阅读ICSR。这是一项相当繁琐的工作。

通过技术处理,这项工作就要轻松得多。在药物警戒的其中一个试点,使用我们的技术从医学文章中提取数据,例如患者的性别和年龄、副作用和药物名称。所有内容都使用机器学习进行提取,但对于药物名称,我们采用了一种更简单的方法,那就是词典(这也是FlexiCapture NLP 的一部分)。客户要求从一份列有 80 个名称的清单中只提取某些药物。在这种情况下,词典匹配大显身手:词态学可用来查找药物的名称,而且该词的语域无影响(尤其是英语中并没有太多的语域)。

因为需要查阅很多信息,所以会自动处理病历,包括表格、收据和保险公司决定的描述。例如,美国的一家监管机构接受患者的保险投诉。保险公司有时会拒绝支付治疗费用。理由可能不尽相同,但患者有权调查这项决定,并向*机构提出上诉。而监管机构必须进行分析并作出裁决:保险公司拒付是否真的合理?

虽然可以通过 FlexiLayout 轻松处理表格,但带有保险决定的文本块却较难解析。为了提取决定本身和其背后的原因,我们使用了NLP。

当患者从一家医院转到另一家时,需要仔细分析病历。鉴于我们处于疫情期间,有时会有很多此类患者,医院工作人员很难应付过多的文书工作。我们参与的案例与新冠疫情无关,但我们的经验仍具有潜在价值。


房地产

我们的一位潜在客户租用很多土地用于建筑和办公。相应地,该公司签署了许多租赁协议,并需要自动处理,例如,提取日期来监控付款、合同续签和整体成本。

建筑公司还拥有称为投资组合分析师的专家。他们负责分析合同,评估特定房产的成本和盈利能力,类似于银行评分。不论有无NLP 的帮助,都能提取这些合同中的信息。表格数据可利用 FlexiLayout 提取,所有其他字段是由分割器提取的段落,或由提取模型提取的段落中的字段。

NLP 技术的优势在于,它是另一种机制,可以处理更多类型的字段和文档。

FlexiNLP:ABBYY 自然语言分析技术

 

我们有一家客户是业主委员会。当有新业主加入时,他们会收到9 种类型的文档,其中包括契约、销售和购买协议。这些文档的数据一旦填写,就必须进行处理、核实并录入信息系统。在9 种文档中,有 8 种是结构化文档,可使用FlexiLayout 处理。但第 9 种有些棘手。为了完成这个项目,我们公司还需要处理非结构化文档。

这正是 NLP 的用武之地。一方面,这些文档本身内容并不是太多,只有1-2 页;另一方面,它们内容各异,质量很差。尽管如此,我们的解决方案还是能够提取所需的信息。这个项目很有意思,需要NLP 处理的部分非常少,但同时也很关键,因为没有这部分内容,根本无法完成项目。

NLP 对于合同审批自动化也至关重要。公司经常签署主协议,也就是框架合同,为许多未来的业务运营设定一般条件,例如,时间框架、履行要求和对延误的制裁。

合同审批自动化流程是这样的:我们从文档中提取一定数量的字段和条件(条款)。一个字段是一个或多个词语,而一个条款是一个或多个段落,可能带有长篇描述。公司需要提取字段以进行索引、归档和未来的搜索。该技术可以将提取的条款与主协议中的条款进行比较。如果一切吻合,那么对公司来说就没有风险,您可以自动批准合同并将其归入数据库。这让律师的工作变得轻松,他们不必再处理同一类型的合同,而是转而处理更重要的任务。只有在系统发现与相关文档存在不一致的情况下,才需要审查合同。

NLP项目的关联之道


在结构化文档中,可迅速找到所需字段,而文档本身也只有一页或数页。在非结构化文档中,比较难以确定要提取的数据以及数据所在的位置,这可以使用 NLP 来完成。此外,文档本身可能长达 100-200 页。在开发需求的阶段,我们首先要求客户编制一份清单,列出需要检索的几十个字段。这类项目需要主题专家参与,即该领域的专家,回答需要从文档中提取哪些内容以及需要注意哪些细微差别的问题。

有时,客户要求一次从一篇文档中提取数百个字段。这种方法并不具备建设性,而且需要花很长时间讨论项目要求。因此,一般来说,我们不会从数百个字段开始,而是从10 个字段开始,这有助于我们明确要求并展示一切如何运作。这样,客户和我们都会了解项目的更多阶段及其里程碑。

另外,包括 NLP 在内的任何机器学习项目,都需要一份具有代表性的样本来训练系统。样本越大,效果越好。

总结


上述示例表明 NLP 技术如何帮助我们节约宝贵的时间。这是一场双赢的局面,机器人承担重复性的任务,员工从事更智能和有趣的项目。通过用机器代替专家从事日常工作,公司可以改进客户互动,避免处理过程中的错误,并且更加快速地提高盈利。

上一篇:甘超波:NLP理解层次


下一篇:甘超波:NLP抽离与结合