用于提取数据的三个开源NLP工具

news2024/11/18 7:40:09

开发人员和数据科学家使用生成式AI和大语言模型(LLM)来查询大量文档和非结构化数据。开源LLM包括Dolly 2.0、EleutherAI Pythia、Meta AI LLaMa和StabilityLM等,它们都是尝试人工智能的起点,可以接受自然语言提示,生成总结式响应。

Fluree首席执行官兼联合创始人Brian Platz说:“作为知识和信息的基本来源,文本很重要,但目前还没有任何端到端解决方案可以驾驭处理文本的复杂性。虽然大多数组织处理结构化或半结构化数据、放到集中式数据平台上,但非结构化数据仍然被遗忘,未充分利用起来。”

如果贵组织和团队没有试用自然语言处理(NLP)功能,可能落后于所在行业的竞争对手。2023年专家NLP调查报告发现,77%的组织表示计划增加NLP方面的支出,54%的组织声称部署到生产环境的时间是衡量成功NLP项目的投资回报率的首要指标。

NLP的用例

如果您有大量非结构化数据和文本,那么一些最常见的业务需求包括如下:

  • 通过识别名称、日期、地点和产品,提取实体;
  • 模式识别,以发现货币及其他数量;
  • 对业务术语、主题和分类分门别类;
  • 情绪分析,包括积极的、负面的和讽刺的情绪;
  • 总结文件要点;
  • 机器语言翻译成其他语言;
  • 将文本转换成机器可读的半结构化表示的依赖关系图。

有时候,将NLP功能捆绑到平台或应用程序中是可取的。比如说,LLM支持提问,AI搜索引擎支持搜索和推荐,聊天机器人支持交互。而其他时候,使用NLP工具提取信息以及丰富非结构化文档和文本是最佳选择。

不妨看看开发人员和数据科学家如今使用这三种流行的开源NLP工具,可用于针对非结构化文档执行发现操作,并开发生产就绪的NLP处理引擎。

1. 自然语言工具包

自然语言工具包(NLTK)于2001年发布,是较悠久且较流行的NLP Python库之一。NLTK在GitHub上拥有超过1.18万颗星,列有100多个经过训练的模型。

SPR的数据和分析主管Steven Devoe说:“我认为对于NLP来说,最重要的工具是自然语言工具包(NLTK),它采用了Apache 2.0许可证。在所有的数据科学项目中,处理和清理算法所使用的数据耗用了大量的时间和精力,这在自然语言处理中尤为如此。NLTK加快了这方面的许多工作,比如词干提取、词源化、标记、删除停止词以及跨多种书面语言嵌入词向量,从而使算法更容易解释文本。”

NLTK的优点源于其耐久性,它为刚接触NLP的开发人员提供了许多示例,比如这份初学者实践指南和这个更全面的概述。任何学习NLP技术的人都可能想先试一下这个库,因为它提供了简单的方法来尝试基本技术,比如标记化、词干提取和分块。

2.spaCy

spaCy是一个较新的库,2016年发布了版本1.0。spaCy支持72余种语言,已发布了其性能基准,它在GitHub上积累的星数超过了25000颗。

Domino数据实验室欧洲中东和非洲(EMEA)地区的数据科学主管Nikolay Manchev说:“spaCy是免费的开源Python库,提供了对大量文本进行高速自然语言处理的高级功能。使用spaCy,用户就可以构建模型和生产级应用程序,它们支持文档分析、聊天机器人功能和所有其他形式的文本分析。如今,spaCy框架是Python最流行的自然语言库之一,用于从文本中提取关键字、实体和知识等行业用例。”

spaCy教程显示了NLTK类似的功能,比如命名实体识别和词性标注。一个优点是,spaCy返回文档对象,并支持词向量,这可以为开发人员执行额外的NLP后数据处理和文本分析赋予更大的灵活性。

3.Spark NLP

如果您已经使用Apache Spark并配置了其基础设施,那么Spark NLP可能是开始尝试自然语言处理的更便捷途径之一。Spark NLP有几个安装选项,包括AWS、Azure Databricks和Docker。

John Snow Labs的首席技术官David Talby说:“Spark NLP是一个广泛使用的开源自然语言处理库,它使企业能够以最高的精度从自由文本文档中提取信息和答案。因此企业可以提取只存在于临床记录中的相关健康信息,识别社交媒体上的仇恨言论或虚假新闻,或概述法律协议和财经新闻。”

Spark NLP的不同之处在于其是适用于医疗、金融和法律领域的语言模型。这些商业产品配备了预先训练的模型,用于识别医疗领域的药物名称和剂量、金融实体识别(比如股票行情信息)以及公司名称和高管的法律知识图谱。

Talby表示,Spark NLP可以帮助组织尽量减少开发模型所需的前期训练。他说:“这个免费开源库附带超过11000个预训练的模型,外加重用、训练、调优和轻松扩展模型的功能。”

 

试用NLP的最佳实践

我在职业生涯的早期有幸监督过开发几个使用NLP功能构建的SaaS产品。第一个NLP是一个搜索报纸分类广告的SaaS平台,包括搜索汽车、工作和房地产。然后,我领导开发了用于从商业建筑文件(包括建筑规格和蓝图)中提取信息的NLP。

在一个新领域开始入手NLP时,我的建议如下:

  • 从文档或文本的一个代表性的小例子入手。
  • 确定目标最终用户角色以及提取的信息如何改进他们的工作流程。
  • 指定所需的信息提取和目标准确性指标。
  • 测试几种方法,使用速度和准确性指标进行基准衡量。
  • 反复提高准确性,尤其是在增加文档的规模和广度时。
  • 准备交付用于处理数据质量和处理异常的数据管理工具。

您可能会发现用于发现和试用新型文档的NLP工具将有助于界定需求。然后,扩大NLP技术的比较范围,涵盖开源方案和商业方案,因为构建和支持生产就绪的NLP数据管道可能成本高昂。随着LLM日益备受关注,对NLP功能方面投入不足会导致落后于竞争对手。幸运的是,您可以从本文介绍的其中一款开源工具入手,构建NLP数据管道,以满足自己的预算和需求。

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

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

相关文章

3d动画用云渲染靠谱吗?有什么不同?

3d动画是一种利用计算机技术制作的动画形式,它可以模拟真实世界的物体和场景,创造出各种惊人的效果和视觉体验。3d动画广泛应用于影视、游戏、广告、教育等领域,成为当今最流行的艺术表现形式之一。据统计,2019年全球3d动画市场规…

[STL]list使用介绍

[STL]list使用 注:本文测试环境是visual studio2019。 文章目录 [STL]list使用1. list介绍2. 构造函数3. 迭代器相关函数begin函数和end函数rbegin函数和rend函数 4. 容量相关函数empty函数size函数 5. 数据修改函数push_back函数和pop_back函数push_front函数和pop…

软件兼容性测试的重要性以及一些常用的测试方法

随着软件应用的不断发展,不同操作系统、浏览器、设备和平台的广泛应用,软件兼容性变得越来越重要。在开发和发布软件之前进行兼容性测试是确保软件在多个环境下正常运行的关键步骤。本文将介绍软件兼容性测试的重要性以及一些常用的测试方法。 首先&…

JMeter常用内置对象:vars、ctx、prev

在前文 Beanshell Sampler 与 Beanshell 断言 中,初步阐述了JMeter beanshell的使用,接下来归集整理了JMeter beanshell 中常用的内置对象及其使用。 注:示例使用JMeter版本为5.1 1. vars 如 API 文档 所言,这是定义变量的类&a…

SpringBoot版本升级引起的FileNotFoundException——WebMvcConfigurerAdapter.class

缘起 最近公司项目要求JDK从8升到17,SpringBoot版本从2.x升级到3.x,期间遇到了一个诡异的FileNotFoundException异常,日志如下(敏感信息使用xxx脱敏) org.springframework.beans.factory.BeanDefinitionStoreExcepti…

安科瑞智能型BA系列电流传感器

安科瑞虞佳豪 壹捌柒陆壹伍玖玖零玖叁 选型

微信小程序——同一控件的点击与长按事件共存的解决方案

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

一份 GitHub star 过万的 1121 页图解算法让“他”成功杀进字节跳动

前两天收到读者喜报,说是进字节了,和他交流了一下他的学习心得,发现他看的资料也是我之前推荐过的算法进阶指南,这里推荐给大家,github star 可是过万哦!质量非常高! 这份算法笔记与其他的不同&…

使用andlua+写一个获取VSCode最新版本号的安卓软件

点击加号 选择Defalut模板 名称改为vscv 包名改为com.b.vscv 编辑main.lua require "import" import "android.app.*" import "android.os.*" import "android.widget.*" import "android.view.*" import "layout&qu…

微信小程序开发总结

架构分析 软件应用架构包括: 数据层、业务逻辑层、服务处、控制层、展示层、用户,小程序属于展示层,通常还需要其他层次提供支持 主体文件: app.js,app.json,app.wxss,前两者是必须存在再根目录下,app.wxs…

【网络云盘客户端】——上传文件的功能的实现

目录 上传文件功能的实现 uploadtask的设计 设置上传的槽函数 uploadFileAction接口 uploadFile接口 定时上传文件 进度条的设计 上传文件功能的实现 上传文件功能实现 1.双击 ”上传文件 “的 QListWidgetItem 或者 点击 “上传” 菜单项 都会弹出一个文件对话框 2.在文…

关于Java中的Lambda变量捕获

博主简介:想进大厂的打工人博主主页:xyk:所属专栏: JavaEE进阶 目录 一、Lambda表达式语法 二、Lambda中变量捕获 一、Lambda表达式语法 基本语法: (parameters) -> expression 或 (parameters) ->{ statements; } Lambda表达式由三部分组成&a…

嵌入式:QT Day4

一、手动完成服务器的实现&#xff0c;并注释具体步骤 源码&#xff1a; widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器类 #include <QTcpSocket> //客户端类 #include <…

vue-echarts配置项详解

起因 最近接手了一个vue3项目&#xff0c;echarts用的是"vue-echarts": “^6.0.0”&#xff0c;每次查看文档的时候痛苦不已&#xff0c;找一个配置要花费大量时间&#xff0c;所以这篇文章&#xff0c;主要就是为了记录比较常见的一些配置。 主要会写三种图的配置…

libcomposite: Unknown symbol config_group_init (err 0)

加载libcomposite.ko 失败 问题描述 如图&#xff0c;在做USB OTG 设备模式的时候需要用到libcomposite.ko驱动&#xff0c;加载失败了。 原因&解决方法 有一个依赖叫configfs.ko的驱动没有安装。可以从内核代码的fs/configfs/configfs.ko中找到这个驱动。先加载confi…

Linux学习之自定义函数

函数是把一些重复使用的命令封装成一个集合&#xff0c;之后可以使用函数名调用。 定义函数的格式如下&#xff1a; function 函数名() {指令集&#xff08;若干条语句&#xff09; return n }要是直接在Shell中直接定义函数&#xff0c;那么直接在Shell中直接使用函数名 参数…

建筑工地为什么要做人员定位?解读技术背后的安全与效益

建筑工地是一个复杂而危险的环境&#xff0c;人员安全一直是行业亟待解决的难题。为了确保工人的安全&#xff0c;并提高工地的管理效率&#xff0c;越来越多的建筑工地开始采用人员定位技术。 对此&#xff0c;华安联大便和各位朋友一起深入探讨人员定位技术的优势和功能&…

C++(14):重载运算与类型转换

当运算符被用于类类型的对象时&#xff0c;允许我们为其指定新的含义&#xff1b;同时&#xff0c;也能自定义类类型之间的转换规则。和内置类型的转换一样&#xff0c;类类型转换隐式地将一种类型的对象转换成另一种我们所需类型的对象。 当运算符作用于类类型的运算对象时&a…

一、创建自己的docker python容器环境;支持新增python包并更新容器;离线打包、加载image

1、创建自己的docker python容器环境 参考&#xff1a;https://blog.csdn.net/weixin_42357472/article/details/118991485 首先写Dockfile&#xff0c;注意不要有txt等后缀 Dockfile # 使用 Python 3.9 镜像作为基础 FROM python:3.9# 设置工作目录 WORKDIR /app# 复制当前…

了解网络层

网络层 1. 概述2. 网络层提供的两种服务2.1 面向连接的虚电路服务2.2 无连接的数据报服务2.3 虚电路服务 VS 数据报服务 3. IPv4地址及其应用3.1 分类编址的IPv4地址3.1.1 A类地址3.1.2 B类地址3.1.3 C类地址 3.2 划分子网的IPv4地址3.3 无分类编址的IPv4地址3.4 IPv4地址的应用…