LLooM:大语言模型时代文本聚类新思路

发布于 2024-7-10 09:41
浏览
0收藏

缘起

非结构化文本中蕴藏了海量的数据和知识,但是想要解读这些知识却并非易事。前大语言模型时代,LDA、BertTopic等算法,是非结构化文本挖掘的利器。但是这些模型生成的主题都是基于关键词等基础文本信号的,产生的关键词、话题往往比较初级和宽泛,比如:早餐、打鼾等。这些低层次的文本分析,往往无法准确反映真实人类关心的话题。

为了解决传统分析方法的局限性,提出了一种基于大语言模型的新方法 LLooM,来从非结构化文本中提取更加高层次的概念。

LLooM方法利用了大语言模型,通过Few Shot进行泛化学习。通过抽样提取的文本,不断地迭代出更加抽象高级的概念。LLooM的核心能力——综合、分类和抽象——使其能够迭代地生成概念,将它们应用于数据,并提炼出更高层次的概念。

LLooM算法被集成到LLooM工作台(https://github.com/michelle123lam/lloom)的混合主动性文本分析工具中,它通过自动以可解释的高级概念呈现数据集,增强了分析师的工作。LLooM工作台还为分析师提供了一个可追溯和可塑的工作流程。每个提取的概念不仅是一个标签,还可以展开为一个可审计的下级子概念的路径。分析师可以使用LLooM工作台引导算法,使其关注特定的概念,从而更精准地进行数据分析。

什么是LLooM方法

LLooM:大语言模型时代文本聚类新思路-AI.x社区图片

上图展示了LLooM概念归纳算法的整个工作流程:

• 1)非结构化的文本数据

• 2)LLooM借助大型语言模型辅助生成

• 3)第2步生成的高级概念,这些概念由自然语言描述和以零样本LLM提示形式的明确标准构成

• 4) LLooM根据概念标准的提示进行(4)概念评分

• 5)LLooM工作台——一个混合主动性的文本分析工具——以概念维度对数据进行可视化展示。

LLooM算法通过运用大型语言模型(LLM)进行迭代的概念生成和评分轮次,执行概念归纳。在实际使用中,LLooM算法采用了GPT-3.5和GPT-4。

LLooM:大语言模型时代文本聚类新思路-AI.x社区图片

LLooM算法通过调用大语言模型(实际使用的是GPT3.5和GPT4)不断循环迭代的“概念生成”与“概念评分”步骤进行概念归纳。如上图所示,算法的核心目标在于执行一个关键的“合成(Synthesize)”步骤,将低层次的文本信号合成为高层次的概念。

在概念“合成”阶段,通过使用LLM从提供的示例中进行泛化,生成自然语言的概念描述和标准。直接调用GPT4的话,往往会产生比较宽泛、通用的概念,这些概念虽然有助于对数据进行宏观总计金额,但是实际分析时,往往需要更加具体、丰富的概念。另外一个问题是对于超出LLm上下文窗口的大型文本数据集,直接调用GPT4也是不太合理的。

为了解决上述问题,LLooM算法引入了两个操作以提升数据规模和概念质量:

• (1) Distill(蒸馏),它将数据细化并适配至上下文窗口,同时保留关键信息;

• (2) Cluster(聚类),它将这些数据碎片重新组合成具有足够共性的分组,以便从LLM中提炼出深层而非表面的概念。

在概念评分阶段,利用LLM的零样本推理能力,根据提示词中的概念标准来给数据进行评分。

概念合成 Synthesize

概念合成是指从一组文本中,利用LLM提取出一个或多个高级概念。大型语言模型(LLM)具备的能力非常适合辅助此类任务。例如,GPT-3.5 Turbo和GPT-4能够从少量实例中进行有效泛化,即识别出共通的概念,并将其应用于新实例。这种能力,也称为Few Shot Learning,常在用户已知底层规律并希望模型重复应用时使用(例如,将文本转换为不同格式,或转换写作风格)。然而,当用户尚不了解数据中存在哪些概念以辅助发现时,我们同样可以利用这种能力。

尽管LLM可能产生幻觉并输出不可靠的结果,但通过设计任务时,让模型不仅生成概念,同时生成评估这些概念的标准,这样就可以通过审查这些标准并重新评估原始数据来验证LLM的输出,检验概念是否有效。

基于这一洞察,LLooM实现了一个零样本提示的概念合成操作,它指导一个LLM(如gpt-4)从一组示例中识别出统一的高级概念。该指令要求模型生成一个描述概念的名称,提供最能代表该概念的示例编号,并创建一个能够评估新文本实例并判断概念是否适用的提示。这些组成部分对于理解概念的含义都非常有用,还采用了思维链(CoT)提示策略,指导模型提供其工作过程的详细说明,从而提高内部一致性的概率。

LLooM:大语言模型时代文本聚类新思路-AI.x社区图片

上图是概念合成的提示词模板。用户可以根据需要调整概念名称的长度、代表性示例的数量以及建议的概念数量;默认使用2到4个单词的概念名称,并请求1到2个代表性示例。

蒸馏 Distill

蒸馏这一步目的是使的输入的数据更为紧凑,但同时保留关键特征,这样既可以克服LLM的上下文窗口限制,有增强了对特定兴趣点的聚焦能力,从而提升概念生成的效率。在LLooM框架中,作者采用了分步策略来实现蒸馏操作。

首先,通过零样本摘要的方式进行过滤步骤,提供输入文本实例,并引导大型语言模型(如gpt-3.5-turbo)生成抽取式摘要,精准选取原始文本中的原文;如果文本长度适中,此步骤可选择跳过。用户可以根据需要调整所选引用的数量,通常我们会留空此参数,赋予模型自由提取任意数量引用的灵活性。下图是一个过滤提示的示例:

LLooM:大语言模型时代文本聚类新思路-AI.x社区图片

接下来进行摘要操作,通过大语言模型,对内容进行摘要,以要点列表的形式输出文本摘要。可以根据实际情况调整生成的要点数和每个要点的字数。默认设置一般是2-4个要点,每个要点包括5-8个词。下图是一个提示词示例。

LLooM:大语言模型时代文本聚类新思路-AI.x社区图片

聚类

聚类操作的输入是蒸馏操作提取出的一系列要点。LLooM算法利用特定的 Embedding模型,将要点转换为嵌入向量,然后根据指定的聚类算法进行聚类。在实际运用中,作者使用的是OpenAI的text-embedding-ada-002模型,原因是这个模型支持较长的上下文理解、且生成速度快。聚类算法采用的是HDBSCAN,一种基于密度的层次聚类算法,它的优势在于不需要复杂的参数调整,且不必将所有点强行分配到某个聚类中。

评分

在概念生成阶段,生成概念的同时,就为这些概念是生成了评分标准。所以评分环节,就使用这些评分标准,为每一个概念进行打分(0-1分),用来描述概念的契合程度。

此功能通过批量Zero Shot实现,提示中包含了一组JSON格式的实例、概念提示以及以多项选择形式生成答案的指令。已有研究指出,大型语言模型在零样本场景下并不提供经过校准的0-1置信度评分。但是,最新研究发现,对于经过指令调整的OpenAI模型如GPT-3.5,多项选择提示能够提供近似的答案概率。作者采用多项选择提示法,引导模型为每个给定的实例生成一个多项选择答案及相应的理由。这些答案经过解析,转换成了分段的数值评分,其中“强烈同意”对应1.0分,而“强烈反对”对应0.0分。随后,这些评分会被阈值化为二进制标签,用户可以调整这个阈值,以决定何时一个实例应被视为与概念相匹配。

LLooM为每个输入项赋予一个分数(如0到1的范围),用以描述其与特定概念的关联度。系统针对每一个高级概念,对所有示例(输入文本)运行“评分”操作符,生成一个概念评分,该评分评估每个实例与生成的概念提示的契合度。

在给定𝑛个示例和𝑐个高级概念的情况下,此阶段会生成一个𝑛×𝑐的矩阵,其中每个示例都会有一个二进制概念标签。

最终,依据概念评分的结果,LLooM可以借助循环操作进行多轮迭代。一旦评分阶段完成,循环操作符便会识别出两类离群点:

• 未被覆盖的示例,即那些与现有任何高级概念都不相符的案例;

•被通用概念所覆盖的示例,也就是那些只与“通用”概念相匹配的案例,这些概念至少与50%的示例相匹配。

所有这些示例将作为输入数据,流入算法的下一轮迭代,而后续运行中生成的概念也将整合进概念的全集之中。

算法的局限性

• 首先,LLooM算法提供了众多可调参数,比如在蒸馏阶段要抽取的引用数量和生成的项目符号数目。尽管这些参数对用户而言是可理解的,但用户提前设置这些参数并不直观,因此最佳做法是让系统在可能的情况下自动设定这些值。系统设有默认值和计算参数值的公式,但这些尚未进行广泛的适用性测试。

• 此外,当前版本的算法并未包含验证步骤,例如确保引用的精确匹配、项目符号与引用的准确性,以及概念分数和理由的正确性。尽管对于大型语言模型来说,可靠的验证始终是一个挑战,但LLooM未来的改进版或许能从程序化的检查和专为每个阶段输出验证而设计的LLM操作符中获益。我们对大型语言模型的应用也意味着,重新运行算法时结果会有变化。这种变化可以作为一个探索并行分析路径和模拟变化的有用特性,但在分析必须可复制或需要强大且一致的对齐时,这可能是不可取的。

Arxiv

通往 AGI 的神秘代码

if like_this_article():
    do_action('点赞')
    do_action('再看')
    add_wx_friend('iamxxn886')

if like_all_arxiv_articles():
    go_to_link('https://github.com/HuggingAGI/HuggingArxiv')    star_github_repo(''https://github.com/HuggingAGI/HuggingArxiv')

LLooM:大语言模型时代文本聚类新思路-AI.x社区

本文转载自​大语言模型论文跟踪​,作者:HuggingAGI 

收藏
回复
举报
回复
相关推荐