Text Control 控件教程:智能文档处理 (IDP)

news2024/12/25 9:04:41

TX Text Control 是一款功能类似于 MS Word 的文字处理控件,包括文档创建、编辑、打印、邮件合并、格式转换、拆分合并、导入导出、批量生成等功能。广泛应用于企业文档管理,网站内容发布,电子病历中病案模板创建、病历书写、修改历史、连续打印、病案归档等功能的实现。

TX Text Control 咨询下载  

在当今的数字时代,组织被各种格式的大量文档所淹没,包括 Adobe PDF、Office Open XML、DOCX 或 DOC 或 RTF 等旧格式。在较旧的旧应用程序中,这些文档中包含的信息可能未存储在数据库或其他易于访问的形式中。

提取这些信息的过程非常耗时且劳动密集。借助智能文档处理 (IDP),开发人员现在可以集成自动化并增强与文档相关的工作流程,以提高业务应用程序中的准确性、效率和决策能力。

什么是智能文档处理?

智能文档处理是一种使用人工智能 (AI) 和自然语言处理 (NLP) 自动从文档中提取数据的过程。所使用的 AI 模型可以理解文档的内容、上下文和结构,从而实现复杂的任务,例如文档分类、数据提取,甚至查询文档中的特定信息。IDP 可用于自动处理各种文档,包括发票、采购订单、合同等。

在 Text Control 中,我们专注于研究最佳可用模型和 AI 提供商,以将基于 AI 的文档处理集成到 .NET 应用程序中。我们为各种典型的 IDP 应用程序创建了几个示例,以展示如何结合 TX Text Control 技术的强大功能来从 PDF 文档中提取文本或使用基于 AI 模型的查询从 MS Word 文档访问内容。

文档分类

IDP 最重要的功能之一是文档分类。组织处理各种各样的文档 - 合同、发票、收据、表格、法律文件等。在现代应用程序中使用 TX Text Control 创建这些文档时,数据将存储在数据库中或以机器可读的形式存储,然后以 ISO 标准格式(例如 PDF/A-3b)附加到创建的 PDF 文档中。此数

据可用于根据文档的内容、结构或元数据对其进行分类。例如,可以根据特定关键字、模式或其他标准的存在将发票归类为发票。

但是,使用 TX Text Control 以外的其他较旧技术创建的文档缺少这一重要元数据,必须在单独的流程中提取。自动化流程可以帮助确定文档是发票、报价单还是合同,并将其路由到适当的工作流程。我们构建了一个原型,使用 TX Text Control 导入 PDF 文档的文本并使用 OpenAI 进行分析。

例如,使用 TX Text Control 加载和解析以下 PDF:

发票分析

输入文档名称后,文档将被导入并发送给OpenAI进行分析。结果将写入控制台。

Enter the path to the document to classify:
Documents\invoice.pdf
invoice:0.8, receipt:0.2, contract:0, quotation:0, agreement:0, other:0
Highest probability: invoice

应用程序已确定输入文档是发票,这是完全正确的。

数据提取

IDP 的另一个重要方面是数据提取。这些数据可用于填充数据库、触发工作流或执行任何其他操作。例如,发票可能包含发票号、日期、总金额和明细项目等信息。IDP 现在用于从发票中提取特定详细信息,以便与原始采购订单进行价值核对。

许多业务文档不遵循固定格式,这使得传统系统难以提取信息。使用 TX Text Control,有两种方法可以在 PDF 文档中查找特定值:

  • 使用内置径向文本搜索功能
  • 使用 AI 模型查询内容

通过结合这两种方法,我们可以从文档中提取特定值,并使用 AI 模型仔细检查结果。

查询文档

根据文档内容回答问题的能力是现代 IDP 系统最强大的功能之一。假设您拥有大量合同,您需要找出哪些合同包含特定条款或取消条款是什么。手动搜索,即使使用高级搜索,找到正确答案也会花很长时间。

使用 NLP 和 AI,用户可以询问有关文档或文档列表内容的自然问题。发票上的典型问题包括:

  • 总金额是多少?
  • 发票什么时候到期?
  • 付款条件是什么?

对于企业来说,这意味着决策速度更快,生产效率更高。员工无需花费数小时搜索信息,而是可以专注于更有价值的任务,因为他们知道他们手头有准确的数据。

我们开发了一个带有完整源代码的原型,名为 Chat PDF,它使用 TX Text Control 从 PDF 文档中提取文本,并使用 OpenAI 分析内容。该示例还展示了如何通过将内容分解为具有特定重叠的小块来准备内容,以获得准确的答案。

该应用程序是一个简单的 .NET 控制台应用程序,它使用 ASP.NET 的 TX Text Control .NET 服务器导入 PDF 文档并显示 OpenAI 生成的答案。

string question = "Is contracting with other partners an option?";
//string question = "How will disputes be dealt with?";
//string question = "Can the agreement be changed or modified?";

string pdfPath = "Sample PDFs/SampleContract-Shuttle.pdf";

// load the PDF file
byte[] pdfDocument = File.ReadAllBytes(pdfPath);

// split the PDF document into chunks
var chunks = DocumentProcessing.Chunk(pdfDocument, 2500, 50);

Console.WriteLine($"{chunks.Count.ToString()} chunks generated from: {pdfPath}");

// get the keywords
List<string> generatedKeywords = GPTHelper.GetKeywords(question, 20);

// find the matches
var matches = DocumentProcessing.FindMatches(chunks, generatedKeywords).ToList().First();

// print the matches
Console.WriteLine($"The question: \"{question}\" was found in chunk {matches.Key}.");

// print the answer
Console.WriteLine("\r\n********\r\n" + GPTHelper.GetAnswer(chunks[matches.Key], question));

以下控制台显示了示例输出:

14 chunks generated from: Sample PDFs/SampleContract-Shuttle.pdf
The question: "Is contracting with other partners an option?" was found in chunk 11.

********
No, contracting with other partners is not an option unless prior approval is obtained from the COMMISSION'S Contract Manager. The document specifies that subcontracting work under this Agreement is not allowed without prior written authorization, except for those identified in the approved Fee Schedule. Subcontracts over $25,000 must include the necessary provisions from the main Agreement and must be approved in writing by the COMMISSION'S Contract Manager.

应用程序在文档中找到了问题的答案并显示相关文本。这是一个非常强大的功能,可以集成到任何业务应用程序中,以根据文档内容提供问题的答案。

结论

智能文档处理是一个强大的工具,可以帮助组织自动化与文档相关的工作流程,提高准确性并做出更好的决策。通过将 TX Text Control 的强大功能与 AI 模型相结合,开发人员可以创建复杂的应用程序,这些应用程序可以根据文档内容对文档进行分类、提取数据并回答问题。这可以帮助组织节省时间、减少错误并提高生产力。

在 Text Control,我们致力于为开发人员提供所需的工具,以创建能够利用最新技术的强大应用程序。我们对智能文档处理的研究只是我们努力帮助开发人员创建能够改变组织工作方式的创新解决方案的一个例子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【云计算】什么是云计算服务|为什么出现了云计算|云计算的服务模式

文章目录 什么是云计算服务本地部署VS云计算SaaS PaaS IaaS公有云、私有云、混合云为什么优先发展云计算服务的厂商是亚马逊、阿里巴巴等公司 什么是云计算服务 根据不同的目标用户&#xff0c;云计算服务&#xff08;Cloud Computing Services&#xff09;分为两种&#xff1…

前端性能优化:提升网站加载速度的五个关键技巧

聚沙成塔每天进步一点点 本文回顾 ⭐ 专栏简介前端性能优化&#xff1a;提升网站加载速度的五个关键技巧1. 引言2. 前端性能优化的五个关键技巧2.1 减少HTTP请求技巧说明实现示例 2.2 启用浏览器缓存技巧说明实现示例 2.3 使用内容分发网络&#xff08;CDN&#xff09;技巧说明…

完美洗牌的秘密(五)——完美洗牌的性质和变体

‍ ‍早点关注我&#xff0c;精彩不错过&#xff01; 之前4篇文章&#xff0c;我们介绍清楚了完美洗牌的3对基本定理。今天&#xff0c;我们来看在这一般的描述基础上&#xff0c;还有哪些常见性质和变体值得探讨。 所谓操作的性质&#xff0c;在扑克牌数学魔术的语境下&#x…

公务员事业编【判断推理】 之“逻辑判断” 个人NOTE

目录 1、翻译推理 1.1 翻译规则之“前推后” 1.2 翻译规则之“逆否等价” 1.3 翻译规则之“后推前” 1.4 且和或 2、组合排列&#xff08;代入法/排除法&#xff09; 3、日常结论 4、逻辑论证 4.1 加强类 4.1.1 搭桥&#xff08;论证力度最强&#xff09; 4.1.2 补充…

系统架构设计师 - 软件架构设计(2)

软件架构设计 软件架构设计&#xff08;20多分&#xff09;最重要基于架构的软件开发 ★ ★ ★概念开发过程架构需求、设计过程架构文档化架构复审架构实现、演化过程 软件质量属性 ★ ★ ★ ★ ★软件架构评估 ★ ★ ★ ★ ★概念架构评估方法评估方式基于场景的评估方法 软件…

EmguCV学习笔记 VB.Net 9.1 VideoCapture类

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

人工智能开发实战MNIST数据集及神经网络完全解析

内容提要 MNIST数据集简介神经元常用函数深度神经网络卷积神经网络介绍循环神经网络 一、MNIST数据集简介 数据集&#xff08;Dataset&#xff09;是一类数据的集合。传统的数据集通常表现为表格或者文档形式&#xff0c;每个数值被称为数据资料。 MNIST数据集是一个含有手写…

ARM32开发——(二十四)电源管理单元

1. 重点 了解什么是电池管理单元PMU了解ARM32中的电源域了解几种省电模式 2. 主要内容 2.1 PMU PMU全称Power Management Unit&#xff0c;电源管理单元。 2.2 电源域 总共有三大电源域&#xff0c;包括VDD / VDDA域&#xff0c;1.2V域和备份域。 2.2.1 VDD/VDDA域 VDD/…

2024最新最全:网络安全软件大合集(非常详细)零基础入门到精通,收藏这一篇就够了

安全建议&#xff1a;渗透类软件&#xff0c;建议先在虚拟机试运行&#xff01; VMware虚拟机 https://pan.quark.cn/s/6e439e2c15c1 下载KALI&#xff08;安装版&#xff09; https://pan.quark.cn/s/2124bdf3c732 下载KALI&#xff08;免安装版&#xff09; https://pa…

解决警告【WARNING: Ignoring invalid distribution -xxx 】

1、问题发生 出现警告【WARNING: Ignoring invalid distribution -umpy (c:\programdata\anaconda3\lib\site-packages)】 2、解决方法 进入报错文件夹 &#xff0c;删除相关文件夹 3、解决效果

【C++标准模版库】模拟实现容器适配器:stack、queue、priority_queue(优先级队列)

stack和queue 一.容器适配器1.什么是适配器 二.模拟实现stack和queue三.STL标准库中stack和queue的底层结构四.deque&#xff08;双端队列&#xff09;的简单介绍五.deque作为stack和queue的默认容器的原因六.priority_queue&#xff08;优先级队列&#xff09;的介绍和使用七.…

前端性能优化--元素类型和dom层级

展示相同布局&#xff0c;使用控制变量法&#xff0c;对比性能差距 1. 结论&#xff1a;用块级元素模拟行内元素时&#xff0c;会有性能浪费&#xff0c;所以能用行内元素的&#xff0c;就不要使用块元素(能用span就不用div) 2. 结论&#xff1a;行内元素模拟块级元素时&…

rk3588_dp调试

配置流程&#xff1a; 开启usbusb需要绑定dpdp绑定vp 查看rk3588内部寄存器可知 需要在USB3.0控制器中打开DP0 在设备树中需要在usb3dp端口。 usbc0: fusb3024e { ......ports {port1 { reg <1>; …

SpringBoot配置MybatisPlus

文章目录 介绍特性工作流程图添加依赖Spring Boot2Spring Boot3 配置定义Mapper接口并继承BaseMapperServer 接口自定义 Service 接口继承 IServie 接口自定义 Service 实现类&#xff0c;实现自定义接口并继承 ServiceImpl 添加Config类 介绍 MyBatis-Plus 是一个 MyBatis 的…

uniapp钱包支付、与设置密码页面

设置密码页面 <template><view class="paymentCodeBox"><!-- 自定义键盘 -->

计算机毕业设计推荐-基于python的电子图书馆数据可视化分析

&#x1f496;&#x1f525;作者主页&#xff1a;毕设木哥 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; 实战项目 文章目录 实战项目 一、基于python的电子图书馆数据…

95.WEB渗透测试-信息收集-Google语法(9)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;94.WEB渗透测试-信息收集-Google语法&#xff08;8&#xff09; • site &#xff1a; x…

nacos集群部署和VIP部署

1. 准备工作 nacos版本2.2.1 nginx版本1.24.0 2. nacos集群部署 2.1 下载nacos版本后&#xff0c;解压&#xff0c;然后复制三份nacos 2.2 分别修改三个nacos文件下config目录下的application.properties文件&#xff0c;三个nacos的端口修改为8846,8848,8850。 2.3 修改c…

C++解决:【基础】高精度整数除法

描述 求a/b的结果。 已知a&#xff0c;b为10^8范围内的非负整数&#xff0c;求a/b保留前n位小数商的结果。 输入描述 a b n 输出描述 一行数字 用例输入 1 97 61 50 用例输出1 1.59016393442622950819672131147540983606557377049180来源 高精度算法 AC code 方案一…

IGCSE计算机 cs0478 内容介绍

作者&#xff1a; 大爽老师&#xff0c;国际教育编程老师&#xff0c;熟悉AP/IG/ALevel, 擅长Python和Java 剑桥IGCSE计算机课程&#xff08;IGCSE Computer Science&#xff09;课程代码为0478&#xff0c;是为对计算机科学基础感兴趣的学生设计的课程。该课程为学生提供了计算…