Type something to search...
语言模型的革命:Mercury Llm 如何比传统模型提升高达 10 倍的性能

语言模型的革命:Mercury Llm 如何比传统模型提升高达 10 倍的性能

理解为什么基于扩散的生成可能是语言模型的未来

昨天,Inception Labs发布了他们新的基于扩散的编码LLM的演示,这在互联网上引起了一阵轰动(一个小众领域)。他们的模型似乎比标准LLM快6倍,如下面的视频比较所示-

即使质量也很强,在编码基准测试中与其它小型模型持平或超越,这对于一个新范式来说是一个非常强大的表现(我们对扩散文本模型的了解不如对标准AR模型的了解)- “在标准编码基准测试中评估时,Mercury Coder在众多基准测试中实现了出色的质量,通常超越了速度优化的自回归模型(如GPT-4o Mini和Claude 3.5 Haiku)的性能,同时速度提高了10倍。

我一直看好用于语言模型的扩散模型。在过去的一年里,我写了两篇关于扩散模型更适合生成的专门文章:这篇关于不同AI领域的文章,以及这篇关于扩散引导语言建模(我称之为GPT-2级别的突破,在之后证明了我的预测)的文章。DGLM和使用扩散模型进行生成也是我在“定义2025年的6个AI趋势”中非常看重的内容之一- 这意味着我们在那篇文章中标记的三个想法已经掀起了波澜(扩散、基于复杂推理的推理(这与仅仅是思考模型不同,尽管它们是一个子类),以及量子计算中的AI)。

哇,我真的很擅长这个。让我们看看我最看好的选择是否会取得进展。总之,回到扩散大型语言模型。

监控类似这样的发展至关重要,因为它们可能完全改变范式。就像Transformer几乎完全消除了RNN在文本中的使用一样,你永远不知道新的现状何时到来。早期采用者往往会在经验、投资回报率和增强方面获得不成比例的收益。而这些结果值得关注-

在本文中,我想后退一步,通过研究Mercury和其他研究课题,来探讨为什么扩散模型可能是LLMs的下一个热门话题。更具体地说,我们将涵盖以下内容-

  1. 什么是扩散?
  2. 是什么让扩散模型值得关注?
  3. 它们的缺点是什么?
  4. 为什么基于扩散的生成效果很好(从概念上讲)。
  5. 扩散模型的未来。

如果这听起来很有趣,请继续阅读。

PS- 作为一个个人补充,我搬到纽约(这也是我在纽约的第一个公寓)后的第一个技术分析文章是“扩散模型如何改进AI”。现在,这篇关于扩散模型的文章很可能是我在这个公寓里(几乎肯定)的最后一篇技术文章,也可能是在纽约(我还没决定是否留在这里)。生活真是个圆圈。

执行摘要 (文章的 tl;dr)

什么是机器学习中的扩散模型: 扩散模型是生成模型(它们生成与训练数据相似的数据)。扩散模型遵循 2 个简单的步骤。首先,我们通过逐步添加高斯噪声来破坏训练数据。训练包括通过逆转这个加噪过程来恢复数据。一个训练有素的扩散模型可以从一堆随机噪声中创建我们想要的任何东西。用嵌入空间替换噪声,你可能就能明白我们在这里做什么了。

来源

**DMs 的优势:**扩散模型有 4 个主要优势,使得它们值得在未来进行基于文本的生成投资 -

  • **高质量生成:**扩散模型生成具有卓越质量和真实感的输出,在许多任务中超越了以前的生成模型。

Image

  • **多功能性:**它们适用于各种数据模式,包括图像、音频、分子等。

来源

  • **可控性:**扩散模型对生成过程提供了一定程度的控制,允许用户根据特定要求或条件来引导输出。它们也可以在中途停止生成,与传统设置相比,提供了更大的灵活性。
  • **更好的反馈信号:**这只是我个人的推测,但这是我相信扩散的最大原因。在我看来,对一个糟糕的输出进行评分比对一个不完整的输出更容易(给有错误/低效结构的糟糕代码提供反馈比给只有一半逻辑且缺少结束逻辑的代码提供反馈更容易)。这应该能够使扩散 LLM 在生成过程中进行“思考”,而不是像今天的结果中普遍存在的生成前(规划)或生成后(批评和迭代)的思考。

扩散的思想:扩散语言模型中的思维链推理

扩散模型的缺点 - 正如它们的设计所表明的那样,DMs 非常昂贵。有研究试图减轻它们的成本,但这仍然是 DMs 的一个痛点。

为什么扩散模型运行良好(我的推测)- 从本质上讲,扩散模型被训练成在每个推理步骤中整体地查看数据点。它们以这种方式结合了两个精英生成器的优点。

  1. 与 GAN 等生成器相比 - 扩散可以自由地分多个步骤创建输出,从而提供更精细的控制(想想一次完成任何复杂的事情有多难)。
  2. 与自回归(由像 ChatGPT 这样的 LLM 使用)相比 - DMs 具有更大的灵活性(我们可以在任何时候停止生成,并获得一个多少有些可用的结果)。

最后,加噪和去噪的过程与强大的数据增强起着类似的作用,在这种增强中,模型被迫为特征建立更深层次的关系,并确保更好的安全性

生成式学习以其有效的数据分布建模而闻名,在处理分布外实例方面具有固有的优势,尤其是在增强对对抗性攻击的鲁棒性方面。在这些方法中,利用强大扩散模型的扩散分类器已经展示了卓越的经验鲁棒性…实验结果表明,这些加噪扩散分类器 (NDCs) 具有卓越的认证鲁棒性。值得注意的是,我们使用单个现成的扩散模型,无需任何额外数据,在对抗性扰动下,CIFAR-10 上的认证鲁棒性超过 80% 和 70%,(\ell_2) 范数分别小于 0.25 和 0.5。

-来自论文 - “你的扩散模型秘密是一个经过认证的鲁棒分类器”。这篇论文几天前更新过,所以结果也更新了。

我们还可以很好地将扩散模型与其他模型链接起来,从而产生非常酷的应用(以及我们在这里所热爱的、备受推崇的 Agentic 架构)-

来源

还有一个有点明显但仍然很重要的事实是,扩散模型可以更好地并行化,因为它们可以并行运行去噪链,而不是 AR 模型,后者必须等待最后一个 token 完成(尽管 Spec Decoding 可能会在这里说些什么)。这为像 Mercury 这样的模型带来了巨大的速度提升 -

dLLMs 的与众不同之处在于它们的速度。即使是经过速度优化的自回归模型,每秒最多也只能运行 200 个 token,而我们可以在商品级 NVIDIA H100 上以每秒超过 1000 个 token 的速度为 Mercury Coder 提供服务,速度提高了 5 倍。与一些每秒运行速度不到 50 个 token 的前沿模型相比,我们提供了超过 20 倍的速度提升。

dLLMs 实现的吞吐量以前只能使用专用硬件实现,例如 Groq、Cerebras 和 SambaNova。我们的算法改进与硬件加速是正交的,并且速度提升会在更快的芯片上复合。

对于并排比较,请查看这个 -

一旦我们了解了背景(并且假设你接受我的基本前提,即 dLLM 值得更深入地研究),我们必须展望未来,思考我们希望扩散模型如何发挥作用。以下是一些深刻、深刻、非常深刻的想法,可能应该被裱在博物馆里,作为人类天才所能达到的高度的证明 -

近期:征服成本和证明价值

  • 扩散模型的计算成本很高。Mercury 所示的更少迭代和更高吞吐量作为效率的证明,并不是苹果对苹果的比较(因为扩散的每次推理成本要高得多,抵消了更少迭代带来的收益)。我们需要一些好的新成本指标来公平地比较 dLLM 和 AR 模型。
  • 开发更好的成本指标(FLOPs、并行性、延迟)并与 AR 模型进行基准测试。
  • 通过自适应步长减少、可学习的停止标准和高效的计划来优化去噪,以减少开销。
  • 改进全局一致性、约束对齐和推理质量的评估指标,以更好地评估模型性能。

中期:超越硬 token

作为潜在空间至上主义者,这是我最兴奋的空间。我一直在玩

Diffusion 语言模型的未来

我一直在思考潜在空间中的计算(以实现多模态等功能),这似乎非常强大。 你可以在这里注入能力/流程,其影响比你想象的要大得多。 对于 dLLM,我设想了两个特别重要的趋势。

  • 转向连续语言空间,消除分词约束,并基于概念实现对语言更“稳健”的理解,从而实现更自然的文本生成。
  • 启用生成中推理,允许 AI 在最终确定输出之前模拟和完善输出,从而提高逻辑一致性和连贯性。

长期:终身学习和自我演进的个性化 LLM

  • 我认为 dLLM 可以模糊训练和推理之间的界限,从而实现实时模型适应,以便模型可以持续改进。 这是基于它们进行生成中适应的能力,这也应该最终允许我们基于用户反馈和行为进行训练。
  • 为各个用户个性化扩散空间,动态演进 AI 行为以满足特定需求和偏好。

潜在空间中的个性化/修改比微调等技术便宜得多,这可以实现高度的个性化。 这是我们与 IQIDIS(我们的法律 AI 创业公司)一起推出的 beta 版,到目前为止,每个使用它的律师都对它印象深刻。 尽管仍处于早期阶段,但如果你能正确使用潜在空间,它将具有巨大的潜力。

然而,当涉及到这种个性化/自学习时,仍然存在两个主要问题:

  1. 遗忘旧信息。 考虑到潜在空间的相互关联性,你可能会有很多附带效应,因此根据我所知,精确的遗忘似乎是不可能的(但这很可能是我的想象力不足)。
  2. 注入新信息(尤其是在来源稀疏的情况下)的知识。

我没有看到为模型本身做到这一点的好方法(你必须使用 RAG 等外部设置)。 也许就是这样(完善模型交互方式并提取外部保存的上下文),但我很乐意听听你对此的看法。 你们是否有任何有趣的想法?

了解为什么值得深入研究扩散模型

如果您了解扩散模型(或向下滚动到相关小节),请跳过此部分

什么是扩散模型

正如我们所讨论的,扩散模型基于噪声化和去噪输入。虽然细节各不相同,但我们可以将基于扩散的生成归纳为两个步骤:

前向扩散: 我们获取一个数据样本,例如图像,并在每个步骤中迭代地添加少量高斯噪声。这会慢慢地破坏图像,直到它变得无法辨认的噪声。该模型学习每个步骤中添加的噪声模式。这对于逆向过程至关重要。

逆向扩散: 我们从步骤 1 中的纯噪声开始作为输入。该模型预测在前向过程中每一步添加的噪声并将其移除。这会逐步对输入进行去噪,逐渐将其转换为有意义的数据样本。

冒着过度简化的风险,我们将从这里开始。扩散有很多重要的数学细节隐藏在细节中,但我认为更重要的是讨论如何/为什么使用扩散来解决各种挑战。我也没有任何关于数学/推导的深刻评论可以补充。如果您对数学感兴趣,请参考 Lillian Weng 关于扩散的文章或Assembly AI 的这篇文章(我们获得了最后两张图片)。

现在,我们进入下一个小节。当存在其他技术(尤其考虑到成本)时,为什么要使用扩散模型?有两种方法可以回答这个问题。首先,我们将讨论 DM 的经验效益。然后,我将推测为什么生成效果更好。

Diffusion 模型的优势

从根本上来说,整个 Diffusion 过程为我们带来了 4 个优势:

为什么扩散模型如此优秀

以撰写本文这样复杂的生成任务为例。像 GAN 这样的传统生成器会一次性生成所有内容。随着复杂性的增加,这变得非常困难。想想在画布上一次性泼洒油漆来绘制一个详细的场景会有多难。这本质上就是 GAN 所做的事情。如果你读过 JJK(你绝对应该读),这与“不给某人瓶子就给他们水”的解释非常相似,用于解释宿傩的领域。

这就是为什么现代文本生成器基于自回归的原因。AR 的扩展性要好得多,允许我们的模型处理更复杂的任务。由于 AR 是逐步进行的,你也可以在中途停止生成或将其引向新的方向。这些是自回归相对于传统生成器的两个优势。然而,AR 模型可能会迷失方向(我相信我们都有过这方面的经历)。回到我们的文章示例——仅仅使用自动补全来写出好的文章真的很难,除非你对你想做什么有一个非常清晰的认识。纯 AR 也会很快退化,因为我们无法回过头来编辑之前生成的组件(如果我逐字逐句地写一篇文章,那么我就无法回到早先的段落进行重组)。

扩散具有与 AR 相同的逐步优势,但有一个转折。由于我们在每个时间步对整个输入进行去噪/输入,扩散允许我们更具上下文性。与传统的 LLM 不同,它不会继续在错误的基础上构建,因为去噪步骤是在每次迭代中完成的。

这与我的写作方式最接近。我通常对我想涵盖的内容有一个模糊的想法,随着我写得越多,这个想法就会被提炼出来。在任何给定的步骤中,我可能会回过头来修复一个很早之前的错误/“噪音”,这些错误/“噪音”被嵌入到文章中。这使得最终的结果更具凝聚力和条理性,而不是以单一方向编写的东西。

希望这让你相信了扩散模型的实用性。现在我们了解了基于扩散的大型语言模型为何要投资,下一个合乎逻辑的问题就变成了,我们应该投资什么?让我们开始吧。

Diffusion LLMs 的下一步是什么?

近期之战:成本、效率和证明实际价值

将扩散语言模型 (dLLM) 与自回归 (AR) 模型进行比较并不像看起来那么简单。Mercury 的发布强调了更高的吞吐量和更少的迭代次数是效率的标志,但这并没有讲述全部故事。扩散模型的每次推理成本仍然高得多,这抵消了许多明显的速度提升。为了向前发展,我们需要更好的衡量性能的方法——既要考虑原始计算能力,也要考虑实际可用性。

计算效率不仅仅是关于 FLOP。虽然 FLOPs 提供了工作量的基本概念,但它们并没有告诉我们模型如何很好地使用现代硬件。扩散模型具有巨大的并行化潜力——这是 AR 模型根本不具备的(有趣的是,这就是早期 LLM 击败 RNN 的原因,因为它们可以并行训练,而 RNN 则不能)。

由于 dLLM 一次对整个序列进行操作,它们理论上可以充分利用张量核心和高内存带宽。如果优化得当,扩散模型实际上可以在大规模部署中更有效地运行,其中批处理和并行推理是关键。但这只是一个很大的假设。研究界需要真实的基准来测试这种优势是否转化为有意义的吞吐量改进。

延迟是 dLLM 需要更好评估的另一个领域。目前,基准测试通常比较首个 token 的时间,这有利于 AR 模型,因为它们按顺序输出单词。但这并没有捕捉到全貌。如果扩散模型生成完整的、连贯的草稿比 AR 模型生成前几个单词的速度更快呢?这可能会实现全新的交互模式——用户可以获得他们可以立即评估的完整响应,而不是看着 AI 实时键入答案。质量与时间曲线将是衡量这种权衡的更好方法,而不是依赖于单点延迟比较。

近期最大的挑战是优化。自适应去噪调度可以通过根据内容复杂性调整细化步骤的数量来减少不必要的计算。这可以通过两种方式完成:

  1. 简单的输出需要更少的迭代,而复杂的推理任务将获得额外的处理。
  2. 建立可学习的停止标准,其中模型在达到高置信度阈值后立即停止生成,而不是遵循严格的步数。

这些技术可以显着降低成本,而不会牺牲质量

除了效率之外,我们需要更好的评估指标。目前,大多数基准测试都侧重于 token 级别的准确性,但扩散模型引入了全新的优势,这些优势没有得到适当的衡量。

  1. 全局连贯性——模型在长篇段落中保持逻辑一致性的能力——是 dLLM 可能具有真正优势的一个领域。 与在生成时提交每个 token 的 AR 模型不同,扩散模型可以在进行时细化较早的部分,从而可能产生更内部一致的输出
  2. 约束对齐——遵循特定指令、遵守严格的格式规则并保持事实准确性。扩散的迭代性质可以使其比 AR 模型更好地坚持复杂的约束,AR 模型通常会偏离轨道

这些近期优化不仅仅是为了让扩散模型运行得更快。它们为更大的事情奠定了基础。如果我们能够准确量化成本效益的权衡,dLLM 不仅仅是 AR 模型的一个有趣的替代方案——我们将能够更好地分析何时/如何应用一个模型而不是另一个模型,或者如何将它们链接在一起。

在此阶段取得的突破——无论是在硬件利用率、效率策略还是更好的评估指标方面——都将直接塑造下一代 AI 模型。

一旦我们奠定了基础,我们就可以开始变得雄心勃勃。

中期 - 拥抱连续潜在空间

这就是 dLLM 革命真正开始的地方。

讨论的技术概述

我们可以让我们的 dLLM 在流畅、连续的潜在空间中运行,而不是使用“硬令牌”。Meta 已经广泛讨论了这种方法的好处。这是他们的《大型概念模型》论文(它依赖于扩散,这并非巧合)-

LLM 彻底改变了人工智能领域,并已成为许多任务的实际工具。目前已建立的 LLM 技术是在令牌级别处理输入并生成输出。这与人类形成鲜明对比,人类在多个抽象级别上运行,远远超出了单个单词的范围,以分析信息和生成创意内容。 在本文中,我们尝试构建一种架构,该架构在显式的高级语义表示上运行,我们将其命名为“概念”。概念与语言和模态无关,代表流程中更高级别的想法或动作。因此,我们构建了一个“大型概念模型”。在本研究中,作为可行性证明,我们假设一个概念对应于一个句子,并使用现有的句子嵌入空间 SONAR,它支持多达 200 种语言的文本和语音模态。大型概念模型经过训练,可以在嵌入空间中执行自回归句子预测。我们探索了多种方法,即 MSE 回归、基于扩散的生成变体以及在量化 SONAR 空间中运行的模型。这些探索是使用 16 亿参数模型和约 1.3 万亿个令牌的训练数据进行的。然后,我们将一种架构扩展到 70 亿参数的模型大小和约 7.7 万亿个令牌的训练数据。我们对几个生成任务进行了实验评估,即摘要和一个新的摘要扩展任务。最后,我们表明我们的模型对许多语言表现出令人印象深刻的零样本泛化性能,优于相同大小的现有 LLM。 我们的模型的训练代码是免费提供的。

这不仅仅是一个技术细节,而是一场范式转变。我们正在从将语言表示为离散符号的序列,转变为将其编码为丰富、细致的含义景观。使用更柔和的决策边界可以提高稳定性,减少锐度——如果您的模型能够做到这一点,则可以提高性能——

虽然 Sparse MoE 层中的路由器(左)学习将各个输入令牌分配给每个可用槽,但在 Soft MoE 层(右)中,每个槽都是所有输入令牌的(不同的)加权平均的结果。学习进行离散分配会引入几个优化和实现问题,而 Soft MoE 则可以避免这些问题

在这个连续空间中,细微的变化代表了令牌简单地错过的细微差别。这可以使 dLLM 变得令人难以置信的强大——不易出错,更擅长理解释义,并且更容易适应不同的写作风格。这个潜在空间可能是解锁更好概念理解的关键。dLLM 不再将单词作为孤立的单元进行处理,而是可以操纵底层概念,在更深层次、更抽象的层面上掌握含义。就像在图像生成中一样,这种连续空间允许无缝插值——以 dog-walks 基于令牌的模型无法实现的方式混合想法、风格和概念。

但 imo 真正的变革者是生成中推理。我们已经多次提到这一点,所以这里不再赘述,但是一旦我们有了好的评估,我们就可以开始链接多个评分者、评估者和“探索者”,他们可以查看生成步骤中的特定步骤,并决定切换路径/即时重写计划。这应该解锁当前系统中不存在的新级别的灵活性——

一旦你开始在潜在空间中很好地表示概念,你就可以实现当前空间中不存在的疯狂程度的个性化(这很可能就是 Meta 如此大力推动基于潜在空间的推理的原因)-

潜在空间中的长期演进 AI

扩散语言模型的真正潜力超越了更好的文本生成或推理。随着它们的成熟,它们可能会从根本上改变 AI 的学习和适应方式。当前训练和推理之间的界限——当今模型的决定性限制——可能会消失,从而导致系统通过交互不断演进

扩散模型非常适合这一点,因为它们不仅仅是逐步生成文本——它们修改和完善文本。与按顺序提交每个 token 的自回归模型不同,扩散模型可以重新处理其输出的较早部分,并在进行时集成新信息(**对不起,您可能已经厌倦了我重复这句话了,但这很重要)。这为 AI 打开了一扇门,AI 可以在实时适应,而无需昂贵的再训练。

High-Resolution Image Synthesis with Latent Diffusion Models- 使用潜在空间做所有事情更好。登上炒作列车吧。

这种适应性的最直接影响是个性化。目前,定制 AI 行为需要提示工程(重复性)或微调(计算成本高昂且有过度拟合的风险)。扩散模型提供了一种更有效的替代方案——修改潜在空间表示,而不是重新训练整个模型。这将允许 AI 开发用户特定的风格、偏好和推理方法,而计算开销要小得多。

这可以使用 AR 模型完成(最简单的方法是提示,但扩散模型中的额外联系将允许更严格和更完整的实现)。

虽然我还没有测试过扩散和概念模型,但我们正在 IQIDIS 的潜在空间中进行代数运算,以获得 3 个属性 -

  1. MultiModality.
  2. 跨越非常长且不连贯的片段的长期上下文检索和链接想法(后者在合同审查和更好的案例策略中很重要)。
  3. 用户个性化 - 学习用户喜欢如何回答问题,他们更喜欢哪些来源等。

我们在这方面取得了不同程度的成功(2 是最难的,需要大量的设置,我们仍在尝试弄清楚如何扩展它,以便它自动执行,即使用户没有以正确的方式做事)。我不会说我们已经解决了这个问题,但我们很可能在未来 6-8 个月内做到这一点(至少是一个更基本但仍然有能力的版本)。届时我可能会做一个详细的分解(假设我的 CEO 不会因为我热爱开源而不断分享我们所有的发展而杀了我)。

但各位,这还不是全部(我说着,同时吃着胡萝卜,真实的故事)。

这也开启了持续学习。基于扩散的模型不会在部署时冻结,而是可以从持续的交互中学习,逐步改进其内部表示。这将允许 AI 完善从一般概念到特定用户术语的所有内容,使其随着时间的推移越来越适应其环境。

这将解决当今 AI 的静态性——大大减少了不断重新训练的需求(这让英伟达变得非常富有)-

有人想给我捐几股英伟达股票吗?将永远感激不尽

也就是说,有两个主要的挑战阻碍了这一发展:取消学习过时信息以及从有限的来源整合新知识。潜在空间的相互关联性使得精确的取消学习变得困难——一个区域的变化可能会以意想不到的方式波及整个模型。同样,在没有完全重新训练的情况下合并新信息仍然是一个开放的研究问题

隐私是另一个关键问题。如果模型不断适应,我们如何确保用户数据受到保护?一种有前景的方法是联邦学习,其中个性化发生在本地设备上,而不是集中式服务器上。

Source

现在这看起来我有点异想天开。而且说实话,我比看起来更异想天开。但是,如果其中一个奏效了,我们都会进入名人堂。即使没有,对一些伟大的事情产生错觉不是很有趣吗?

文本摘要:使用 Python 进行文本摘要

文本摘要是一种自然语言处理 (NLP) 技术,用于创建较长文本内容的简短、连贯的摘要。它涉及识别文本中的关键信息并以简洁的方式呈现出来。文本摘要对于处理大量信息非常有用,例如新闻文章、研究论文和文档。

文本摘要有两种主要类型:

  • 提取式摘要: 从原始文本中选择最重要的句子来创建摘要。
  • 抽象式摘要: 生成新的句子来表达摘要,这通常涉及理解文本的含义并用不同的词语和结构来表达。

在本文中,我们将探讨如何使用 Python 构建一个提取式文本摘要器。

1. 安装必要的库

我们需要安装以下 Python 库:

  • nltk: 用于自然语言处理任务的库,包括分词和停用词移除。
  • summa: 用于文本摘要的库。

您可以使用 pip 安装这些库:

pip install nltk summa

2. 导入库

首先,我们需要导入所需的库:

import nltk
from summa import summarizer
from summa import keywords

3. 准备文本

接下来,我们需要准备要摘要的文本。这包括加载文本、分句和分词。

## 示例文本
text = """
文本摘要是一种自然语言处理 (NLP) 技术,用于创建较长文本内容的简短、连贯的摘要。
它涉及识别文本中的关键信息并以简洁的方式呈现出来。文本摘要对于处理大量信息非常有用,例如新闻文章、研究论文和文档。
文本摘要有两种主要类型:提取式摘要和抽象式摘要。提取式摘要从原始文本中选择最重要的句子来创建摘要。
抽象式摘要生成新的句子来表达摘要,这通常涉及理解文本的含义并用不同的词语和结构来表达。
在本文中,我们将探讨如何使用 Python 构建一个提取式文本摘要器。
"""

## 下载 nltk 数据(如果尚未下载)
nltk.download('punkt')

4. 文本摘要

现在,我们可以使用 summa 库来创建文本摘要。

## 创建摘要
summary = summarizer.summarize(text)

## 打印摘要
print(summary)

summarizer.summarize() 函数将文本作为输入,并返回一个摘要。您可以通过调整 ratio 参数来控制摘要的长度。例如,summarizer.summarize(text, ratio=0.2) 将生成原始文本 20% 长度的摘要。

5. 关键词提取

除了文本摘要,我们还可以使用 summa 库来提取文本中的关键词。

## 提取关键词
keywords_text = keywords.keywords(text)

## 打印关键词
print(keywords_text)

keywords.keywords() 函数将文本作为输入,并返回文本中的关键词。您可以通过调整 scores 参数来控制关键词的排序。

6. 完整代码示例

以下是完整的代码示例:

import nltk
from summa import summarizer
from summa import keywords

## 示例文本
text = """
文本摘要是一种自然语言处理 (NLP) 技术,用于创建较长文本内容的简短、连贯的摘要。
它涉及识别文本中的关键信息并以简洁的方式呈现出来。文本摘要对于处理大量信息非常有用,例如新闻文章、研究论文和文档。
文本摘要有两种主要类型:提取式摘要和抽象式摘要。提取式摘要从原始文本中选择最重要的句子来创建摘要。
抽象式摘要生成新的句子来表达摘要,这通常涉及理解文本的含义并用不同的词语和结构来表达。
在本文中,我们将探讨如何使用 Python 构建一个提取式文本摘要器。
"""

## 下载 nltk 数据(如果尚未下载)
nltk.download('punkt')

## 创建摘要
summary = summarizer.summarize(text)

## 打印摘要
print("摘要:")
print(summary)

## 提取关键词
keywords_text = keywords.keywords(text)

## 打印关键词
print("\n关键词:")
print(keywords_text)

7. 结论

在本文中,我们学习了如何使用 Python 和 summa 库来执行文本摘要和关键词提取。这是一种强大的技术,可以帮助您快速理解和处理大量文本信息。

希望本文对您有所帮助!

联系我

使用下面的链接来查看我的其他内容,了解更多关于辅导的信息,联系我讨论项目,或者只是打个招呼。

AI Newsletter- https://artificialintelligencemadesimple.substack.com/

My grandma’s favorite Tech Newsletter- https://codinginterviewsmadesimple.substack.com/

My (imaginary) sister’s favorite MLOps Podcast- https://open.spotify.com/show/7wZygk3mUUqBaRbBGB1lgh?si=b93afa69de994c88&nd=1&dlsi=ac0f8d9ac35642d5

在Medium上查看我的其他文章。: https://rb.gy/zn1aiu

我的YouTube:https://rb.gy/88iwdd

在LinkedIn上联系我。让我们建立联系:https://rb.gy/m5ok2y

我的Instagram:https://rb.gy/gmvuy9

我的Twitter:https://twitter.com/Machine01776819

Related Posts

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

结合chatgpt-o3-mini与perplexity Deep Research的3步提示:提升论文写作质量的终极指南

AI 研究报告和论文写作 合并两个系统指令以获得两个模型的最佳效果 Perplexity AI 的 Deep Research 工具提供专家级的研究报告,而 OpenAI 的 ChatGPT-o3-mini-high 擅长推理。我发现你可以将它们结合起来生成令人难以置信的论文,这些论文比任何一个模型单独撰写的都要好。你只需要将这个一次性提示复制到 **

阅读更多
让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

让 Excel 过时的 10 种 Ai 工具:实现数据分析自动化,节省手工作业时间

Non members click here作为一名软件开发人员,多年来的一个发现总是让我感到惊讶,那就是人们还在 Excel

阅读更多
使用 ChatGPT 搜索网络功能的 10 种创意方法

使用 ChatGPT 搜索网络功能的 10 种创意方法

例如,提示和输出 你知道可以使用 ChatGPT 的“搜索网络”功能来完成许多任务,而不仅仅是基本的网络搜索吗? 对于那些不知道的人,ChatGPT 新的“搜索网络”功能提供实时信息。 截至撰写此帖时,该功能仅对使用 ChatGPT 4o 和 4o-mini 的付费会员开放。 ![](https://images.weserv.nl/?url=https://cdn-im

阅读更多
掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

掌握Ai代理:解密Google革命性白皮书的10个关键问题解答

10 个常见问题解答 本文是我推出的一个名为“10 个常见问题解答”的新系列的一部分。在本系列中,我旨在通过回答关于该主题的十个最常见问题来分解复杂的概念。我的目标是使用简单的语言和相关的类比,使这些想法易于理解。 图片来自 [Solen Feyissa](https://unsplash.com/@solenfeyissa?utm_source=medium&utm_medi

阅读更多
在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和技术领域保持领先地位的 10 项必学技能 📚

在人工智能和科技这样一个动态的行业中,保持领先意味着不断提升你的技能。无论你是希望深入了解人工智能模型性能、掌握数据分析,还是希望通过人工智能转变传统领域如法律,这些课程都是你成功的捷径。以下是一个精心策划的高价值课程列表,可以助力你的职业发展,并让你始终处于创新的前沿。 1. 生成性人工智能简介课程: [生成性人工智能简介](https://genai.works

阅读更多
揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

揭开真相!深度探悉DeepSeek AI的十大误区,您被误导了吗?

在AI军备竞赛中分辨事实与虚构 DeepSeek AI真的是它所宣传的游戏规则改变者,还是仅仅聪明的营销和战略炒作?👀 虽然一些人将其视为AI效率的革命性飞跃,但另一些人则认为它的成功建立在借用(甚至窃取的)创新和可疑的做法之上。传言称,DeepSeek的首席执行官在疫情期间像囤积卫生纸一样囤积Nvidia芯片——这只是冰山一角。 从其声称的550万美元培训预算到使用Open

阅读更多
Type something to search...