2020年12月29日,星期二

Project Cortex-训练SharePoint Syntex像人类一样阅读文档-第2部分(实体提取器)

在上一篇文章中,我们研究了 如何开始使用SharePoint Syntex,尤其涵盖创建文档理解模型的初始步骤。在本文中,我们将探讨Syntex如何 提取 文档中的内容-允许您解锁“黄金”信息,因此人们不必打开10个文档即可找到所需内容。在开始讨论之前,请记住文档理解模型可以包含两个元素:

  • 分类器 -这使Syntex能够识别出它是哪种类型的文档(例如,我正在使用的示例中的“ C + C工作声明”)
  • 实体提取器 -毫不奇怪,这使Syntex一旦训练就可以提取信息

我们将专注于实体 今天的提取器,这是有趣的部分。如果您还记得上一篇文章中的场景,我正在提取 total value 从我在Office 365中拥有的每个工作声明文档中提取。这看起来像-这是第三个突出显示的矩形:

如果您还记得,同时创建分类器和提取器将使用以下过程:
在开发AI模型时,Syntex需要一些训练文件才能使用,但就我而言,我上次在最初创建模型并定义分类器时添加了这些文件。就像您想象的那样,这些是一些测试工作声明文档,其中还有一个或两个其他文档-“其他”文档用于对Syntex进行“负面”案例培训。这些文件进入资源中心内一个特殊的“培训文件”库,我将把这些文件用于提取程序。

在AI模型中实现实体提取器

第一步是回到资源中心,找到要添加提取器的模型:

进入模型后,选择“创建并训练提取器”操作:

接下来,命名提取器,并指定是否要将数据提取到SharePoint库的新列(如果需要,还提取数据类型)-通常是这样。由于我正在提取 总价值 来自每个工作陈述,因此我使用的名称是“参与价值”: 

然后,我们进入“标签”选项卡,这是定义分类器或提取器时第一步的三步。 

创建提取器-贴标签步骤

 
准确性需要标签和“说明”
在为提取程序标记文件时,您正在教Syntex 值在哪里 在您的示例文件中。但是,正如我们将看到的,仅仅显示Syntex在几个文件中的位置是不够的。我们也需要创建“解释”-AI引擎同时使用这两条信息。

在这里,我们正在处理标签步骤。

在标签工具(从文档中删除所有格式的标签)中,我找到了所有工作报表中都存在的费用表,并突出显示了总行中的值:

然后,我点击“下一个文件”按钮,并重复训练文件库中的下一个文档: 

标记了至少五个文件后,我将移至“培训”标签。

创建提取器-解释步骤

对于过程的培训部分,我们创建一个或多个 说明 以帮助进一步指导AI。当我们为分类器创建解释时,我们正在为Syntex提供模式以帮助识别和分类文档。对于提取器,我们做类似的事情,但是在这里 提供模式以将Syntex引导到我们尝试提取的内容.

可以从头开始或从模板创建说明:

系统中已经存在用于您可能希望从文档中提取常见信息的模板-例如,日期,数字,电话号码,地址等:

为了学习,我将从头开始创建我的解释,即使第一个实际上是货币值并且为此存在一个模板。我给它起个名字,选择 模式清单 键入并提供变体,以说明参与度值如何写入我的文档中(不同的数字格式):

然后,我保存此解释并创建另一个解释。这次,我正在帮助AI在SOW文档中找到可以在成本表中找到的整个部分-我只是在寻找该部分的标题“费用和付款”:




我再创建一个以查找短语“总计”。

现在,我已经拥有了所有这些内容,因此我将它们组合起来,这样我基本上可以说:“首先,请找到短语“费用和付款”,然后是“总计”,然后再看似GBP货币的值。创建一个新的类型“ Proximity”的解释-并指定每个元素之间的距离。Syntex使用了 代币 指定接近度,我得到的解释如下:   

更准确地说,我是说“首先找到'费用和付款'短语,然后找到距离总计超过20个代币但少于100个代币的'总计'。找到之后,找到看起来像英镑货币值的东西非常接近,实际上距离不到10个令牌。

可以想象,调整邻近解释中的令牌有助于提高AI的准确性,并减少Syntex无法找到您的内容的机会。我最后的一组解释是这样的-这是3个短语或模式的解释,以及结合了其他内容的接近性解释:

创建提取器-培训/测试步骤

我现在准备训练和测试。与为分类器执行此操作类似,我选择了一些标签中未使用的训练文件(包括一个不是工作说明书的文档):



然后,“预测”列告诉我Syntex预测的是每个文档的提取文本。成功!这看起来不错:


这几乎是100%的成功率-但您可能会注意到该模型未能从一个SOW文档中提取内容,实际上Syntex告诉我:


 
经过进一步检查,该特定文档的结构似乎与我所期望的不同-特别是,我发现作者对该文档的本部分使用了不同的标题!


所以至少我理解为什么会这样-如果这是预期的情况,我现在可以调整我的解释,或者礼貌地提醒项目经理他们应该遵循我们的标准结构!无论哪种方式,都有解决此问题的途径。 

现在,我通过单击“退出培训”按钮完成此过程:


查看结果-将模型应用于文档库

现在我们的工作完成了!我们拥有完整的AI模型,可以将其应用于Microsoft 365租户周围的文档库:

Syntex AI模型确实需要单独应用于库,但是在大多数情况下,某种类型的文档可能不会广泛分布。将来,我们可以期望API和配置机制能够大规模管理此问题。

一旦应用了模型,Syntex就会提取我训练过的内容-这意味着我不需要打开每个文档:

概要

现在,我们已经看到了在SharePoint Syntex中创建文档理解模型的过程-这将使我们能够识别文档并从中提取内容。我们也可以更进一步。当然,我们不仅可以提取一条信息(例如,工作声明中的值),还可以提取 同一提取器中的碎片。

总体而言,Syntex的这些功能在如何查找信息方面提供了巨大的飞跃。高价值信息不再需要隐藏在文档中,这意味着员工要么看不见它,要么被迫打开许多单独的文档来查找它。我们可以从以前被锁定的内容中创建微型数据库和工具-包括提供排序,过滤和强大搜索体验的功能。走向未来!

没意见: