Press "Enter" to skip to content

使用语言模型自动总结文件的技术

总结是将大量信息压缩成紧凑而有意义的形式的技术,在我们信息丰富的时代中,它是高效沟通的基石。在一个充满数据的世界中,将长篇文字总结为简短的摘要可以节省时间,并帮助做出明智的决策。总结通过简明扼要地呈现信息,节省时间并提高清晰度。总结在决策和处理大量内容方面非常宝贵。

总结方法有广泛的应用,用于不同的目的,例如:

  • 新闻聚合新闻聚合 将新闻文章总结为媒体行业的通讯简报
  • 法律文件摘要法律文件摘要 帮助法律专业人员从长篇文件中提取关键的法律信息,如条款、条件和合同
  • 学术研究 – 总结可以从学术论文中注释、索引、压缩和简化重要信息
  • 博客和网站内容策划 – 您可以为读者创建引人入胜和原创的内容摘要,特别是在营销方面
  • 财务报告和市场分析 – 您可以从报告中提取财务洞察并为金融行业的投资者演示创建执行摘要

随着自然语言处理(NLP)、语言模型和生成型人工智能的进步,对不同长度的文本进行总结变得更加容易。像LangChain这样的工具结合了由Amazon BedrockAmazon SageMaker JumpStart支持的大型语言模型(LLM),简化了实现过程。

本文介绍了以下总结技术:

  • 使用BERT抽取式摘要生成器进行抽取式总结
  • 使用专用的总结模型和LLM进行生成式总结
  • 两种多级总结技术:
    • 使用抽取-生成式内容总结策略(EACSS)进行抽取-生成式总结
    • 使用Map Reduce和Map ReRank进行生成式-生成式总结
文本总结技术

完整的代码示例可以在GitHub存储库中找到。您可以在Amazon SageMaker Studio启动此解决方案

点击此处打开AWS控制台并跟随操作。

总结类型

有几种文本摘要的技术,大致分为两种主要方法:抽取式生成式摘要。此外,多级总结方法结合了一系列步骤,结合了抽取式和生成式技术。当处理超过LLM限制的标记长度的文本时,这些多级方法具有优势,可以理解复杂的叙述。

提取式摘要

提取式摘要是自然语言处理和文本分析中常用的一种技术,通过提取关键句子来创建摘要。与生成新的句子或内容的抽象式摘要不同,提取式摘要依赖于识别和提取原始文本中最相关和重要的部分,以创建一个简化的版本。

尽管提取式摘要在保留原始内容和保证高可读性方面具有优势,但也有一些局限性。它缺乏创造力,无法生成新的句子,并可能忽略微妙的细节,从而可能错过重要信息。此外,它可能产生过长的摘要,有时会用过多和不必要的信息使读者感到压倒性。有许多提取式摘要技术,如TextRank和LexRank。在本文中,我们将重点介绍BERT提取式摘要器。

BERT提取式摘要器

BERT提取式摘要器是一种使用BERT语言模型从文本中提取最重要句子的提取式摘要模型。BERT是一个预训练的语言模型,可以为各种任务进行微调,包括文本摘要。它的工作原理是首先使用BERT对文本中的句子进行嵌入,从而为每个句子生成捕捉其含义和上下文的向量表示。然后,该模型使用聚类算法将句子分组到簇中。选择距离每个簇中心最近的句子组成摘要。

与LLMs相比,BERT提取式摘要器的优势是相对容易训练和部署该模型,且可解释性更强。缺点是摘要不具有创造性,不生成新句子,只从原始文本中选择句子。这限制了它总结复杂或微妙文本的能力。

抽象式摘要

抽象式摘要是自然语言处理和文本分析中常用的一种技术,用于创建超出仅从源文本中提取句子或短语的摘要。抽象式摘要不仅选择和重新组织现有内容,还生成表达原始文本核心含义和主要观点的新句子或短语,以更简洁和连贯的形式表达。这种方法要求模型理解文本内容并以不一定存在于源材料中的方式表达它。

专用摘要模型

这些预训练的自然语言模型,如BARTPEGASUS,专门为文本摘要任务设计。它们采用编码器-解码器架构,参数较其它模型较小。这种减小的尺寸使得它们更容易进行微调和在较小的实例上部署。然而,需要注意的是,这些摘要模型还具有较小的输入和输出令牌大小。与其更通用的对应模型不同,这些模型专门设计用于摘要任务。因此,这些模型所需的输入仅限于需要进行摘要的文本。

大型语言模型

大型语言模型是指通过自我监督学习在大规模的广泛数据集上进行训练,并能够进行针对特定下游任务的微调的任何模型。这些模型的参数规模较大,任务表现较好。值得注意的是,它们具有更大的输入令牌大小,例如Anthropic的Claude等高达100,000。要使用这些模型之一,AWS提供了完全托管的服务Amazon Bedrock。如果您需要更多控制模型开发生命周期,可以通过SageMaker部署LLMs。

由于其多功能性,这些模型需要通过输入文本提供特定任务的指令,这被称为提示工程的实践。这个创造性过程根据模型类型和输入文本产生不同的结果。模型的性能和提示质量对最终输出的质量都有很大影响。以下是为摘要制定提示时的一些建议:

  • 包含需要总结的文本 – 输入需要总结的文本。这作为摘要的源材料。
  • 定义任务 – 明确表明目标是文本摘要。例如,“总结以下文本:[输入文本]。”
  • 提供背景 – 提供给定需要总结的文本的简要介绍或背景。这有助于模型理解内容和背景。例如,“您被提供了以下关于人工智能在医疗保健中的作用的文章:[输入文本]。”
  • 提示生成摘要 – 提示模型生成所提供文本的摘要。对于摘要的长度或格式要求要明确。例如,“请生成关于人工智能在医疗保健中的给定文章的简明摘要:[输入文本]。”
  • 设置约束或长度指南 – 可选地通过指定所需的字数、句子数或字符限制来指导摘要的长度。例如,“请生成不超过50个词的摘要:[输入文本]。”

有效的提示工程对确保生成的摘要准确、相关并与预期的摘要任务一致至关重要。通过实验和迭代来优化提示以获得最佳的摘要结果。在确认了提示的有效性后,您可以使用提示模板来复用它们。

多层次摘要

对于较短的文本,抽取式和生成式摘要都很有用。然而,当输入文本超过模型的最大令牌限制时,就需要使用多层次摘要。多层次摘要结合了各种摘要技术,如抽取式和生成式方法,通过多层摘要流程的应用,有效地压缩较长的文本。在本节中,我们讨论了两种多层次摘要技术:抽取-生成摘要和生成-生成摘要。

抽取-生成摘要

抽取-生成摘要首先生成文本的抽取摘要,然后使用生成式摘要系统对抽取摘要进行精炼,使其更简洁和有信息量。与仅使用抽取式方法相比,这提供了更多信息的摘要,增强了准确性。

抽取-生成内容摘要策略

抽取-生成内容摘要策略(EACSS)将两种强大技术的优点结合起来:使用BERT抽取式摘要器进行抽取阶段,使用LLMs进行生成阶段,如下图所示。

抽取-生成文本摘要

EACSS具有多种优势,包括保留关键信息、提高可读性和适应性。然而,实施EACSS是计算上昂贵和复杂的。可能存在潜在信息损失的风险,摘要的质量严重依赖于底层模型的性能,因此进行精细的模型选择和调整是实现最佳结果的关键。实施包括以下步骤:

  1. 首先要将大文档(如书籍)分解成较小的部分或块。这些块可以是句子、段落或甚至章节,具体取决于所需的摘要粒度。
  2. 对于抽取阶段,我们使用BERT抽取式摘要器。该组件通过将每个块中的句子嵌入,并使用聚类算法来识别最接近聚类中心的句子。这一抽取步骤有助于保留每个块中最重要和相关的内容。
  3. 在为每个块生成抽取式摘要之后,我们进入生成式摘要阶段。在这里,我们利用LLMs的能力来生成连贯和语境相关的摘要。这些模型以抽取式摘要为输入,产生概括原始文档要义的生成式摘要,并确保可读性和连贯性。

通过结合抽取式和生成式摘要技术,这种方法为总结长篇文档(如书籍)提供了一种高效且全面的方式。它确保提取重要信息的同时,生成简洁易读的摘要,使其成为文档摘要领域各种应用中的有价值工具。

生成式-生成式摘要

生成式-生成式摘要是一种使用生成式方法来提取和生成摘要的方法。它具有显著的优势,包括提升可读性、连贯性以及调整摘要长度和细节的灵活性。它在语言生成方面表现出色,允许改写和避免冗余。然而,它也存在一些缺点。例如,它计算成本高、资源密集,其质量严重依赖于底层模型的有效性,如果底层模型训练不充分或多样性不够,可能会影响生成摘要的质量。选择合适的模型对于缓解这些挑战、确保生成高质量生成式摘要至关重要。对于生成式-生成式摘要,我们讨论了两种策略:Map Reduce和Map ReRank。

Map Reduce使用LangChain

这个两步骤的过程包括一步骤映射和一步骤减少,如下图所示。这个技术使您能够总结超过模型输入标记限制的输入。

生成式文本摘要MapReduce

这个过程由三个主要步骤组成:

  1. 将语料库分割成适合LLM的标记限制的较小块。
  2. 我们使用一步骤映射,单独应用LLM链从每个段落中提取所有重要信息,其输出作为新的段落。根据语料库的大小和结构,这可以是总体主题或简短摘要的形式。
  3. 减少步骤组合了来自映射步骤的输出段落或减少步骤的输出,以适应标记限制,并将其输入到LLM中。此过程重复执行,直到最后输出成为单一段落。

使用这个技术的优势在于它具有高度的可伸缩性和可并行性。每个步骤中的所有处理彼此独立,利用分布式系统或无服务器服务和较低的计算时间。

Map ReRank使用LangChain

这个链在每个文档上运行一个初始提示,不仅试图完成一个任务,还为其答案的确定程度给出一个分数。返回最高得分的回答。

这个技术与Map Reduce非常相似,但具有需要更少的总体调用的优势,简化了摘要的过程。然而,它的局限性在于无法整合多个文档的信息。这个限制使它在期望从一个单一文档中获得单一直观答案的场景中最为有效,这使得它不太适用于涉及多个来源的更复杂或多方面的信息检索任务。对于特定摘要需求,需要仔细考虑上下文和数据的性质,以确定此方法的适当性。

Cohere ReRank使用基于语义的重新排名系统,在关键词相关性之外对用户查询的含义进行语境化处理。它与向量存储系统以及基于关键词的搜索引擎一起使用,具有灵活性。

摘要技术的比较

每种摘要技术都有其独特的优势和劣势:

  • 抽取式摘要保留原始内容,确保可读性高,但缺乏创造性,可能会产生冗长的摘要。
  • 生成式摘要在提供创造性和生成简洁、流畅摘要的同时,存在意外内容修改、语言准确性挑战和资源密集开发的风险。
  • 抽取式-生成式多层次摘要能够有效总结大型文档,并提供更好的灵活性来调整模型的抽取部分。然而,这种方法成本高、耗时长,缺乏并行化,使参数调整具有挑战性。
  • 生成式-生成式多层次摘要同样能够有效总结大型文档,并在提升可读性和连贯性方面表现出色。然而,它计算成本高、资源密集,严重依赖于底层模型的有效性。

仔细选择模型对于减轻挑战并确保高质量的抽象摘要至关重要。下表总结了每种摘要类型的能力。

方面 摘录式摘要 抽象式摘要 多层次摘要
生成富有创意和引人入胜的摘要
保留原始内容
平衡信息保留和创意
适用于短文本,客观内容(输入文本长度小于模型的最大标记数)
适用于长篇、复杂的文档,如书籍(输入文本长度大于模型的最大标记数)
结合摘录和内容生成

多层次摘要技术适用于长篇和复杂的文档,其中输入文本长度超过了模型的标记限制。下表对这些技术进行了比较。

技术 优点 缺点
EACSS(摘录式-抽象式) 保留关键信息,可对模型的抽取部分进行精细调整。 计算开销大,可能会丢失信息,缺乏并行化。
Map Reduce(抽象式-抽象式) 可扩展和可并行化,计算时间较短。生成富有创意和简洁的摘要的最佳技术。 占用内存较多。
Map ReRank(抽象式-抽象式) 基于语义的排名,简化的摘要过程。 信息合并有限。

文本摘要的技巧

在进行文本摘要时,请考虑以下最佳实践:

  • 注意总标记大小 – 如果超过模型的标记限制,需要准备好拆分文本或在使用LLM时采用多层次摘要。
  • 了解数据源的类型和数量 – 结合多个来源的信息可能需要进行转换,明确的组织和整合策略。”LangChain Stuff”(链接:LangChain Stuff)可以整合各种数据源和文档类型。它简化了从不同文档和数据源中组合文本的过程。
  • 了解模型的专业化 – 有些模型可能在某些类型的内容上表现出色,但在其他方面可能有困难。可能会有针对您文本领域更适合的经过精细调整的模型。
  • 针对大量文本使用多层次摘要 – 对于超过标记限制的文本,考虑使用多层次摘要方法。从一个高层次的摘要开始,捕捉主要观点,然后逐渐对子段落或章节进行摘要以获取更详细的见解。
  • 按主题进行文本摘要 – 这种方法有助于保持逻辑流畅,减少信息损失,并优先保留关键信息。如果使用LLMs,请制定清晰而具体的提示,引导模型对特定主题进行摘要,而不仅仅是整个文本的摘要。

结论

总结在我们这个信息丰富的时代是一种重要的工具,它能够将大量信息高效地提炼成简洁而有意义的形式。它在各个领域起着关键作用,提供了众多优势。总结可以通过迅速传达长篇文件中的重要内容来节省时间,通过提取关键信息来帮助决策,并在教育和内容整理方面提高理解能力。

本文全面介绍了各种总结技术,包括提取式总结、抽象式总结和多层级方法。借助像LangChain和语言模型这样的工具,您可以利用总结的力量简化沟通、改善决策并释放庞大信息库的全部潜力。本文中的比较表可以帮助您确定最适合您项目的总结技术。此外,本文中分享的提示是在使用LLMs进行文本总结实验时避免重复错误的宝贵指南。这些实用建议将帮助您运用所学知识,确保项目中的成功高效总结。

参考资料

Leave a Reply

Your email address will not be published. Required fields are marked *