AI News HubLIVE
站内改写2 分钟阅读

使用Scikit-LLM构建端到端情感分析管道

学习如何使用Scikit-LLM和Groq API提供的开源大语言模型构建情感分析管道,包括设置、数据集准备、管道构建和评估,在IMDB数据集上达到95%的准确率。

来源Machine Learning Mastery作者: Iván Palomares Carrascosa

在本文中,您将学习如何使用Scikit-LLM和通过Groq API提供的开源大语言模型构建端到端情感分析管道。传统机器学习管道通常依赖于从原始文本中提取结构化数值特征(如TF-IDF频率或词嵌入),然后输入到逻辑回归、集成方法或支持向量机等经典模型中。然而,随着大语言模型(LLM)的兴起,现在可以利用预训练模型的零样本或少样本推理能力,将其作为机器学习框架的一部分。Scikit-LLM是一个Python库,它弥补了经典机器学习与现代LLM API调用之间的差距。本文我们将使用Scikit-LLM结合Groq后端模型,构建一个情感分析(一种特定形式的文本分类)的端到端管道,实现使用开源模型进行快速推理。从预处理到推理,我们将使用一个大规模、真实的数据集——IMDB电影评论数据集。

首先,您需要安装Scikit-LLM库:pip install scikit-llm。安装后,配置API凭证以连接Groq端点。注册Groq并生成API密钥后,设置URL和密钥:SKLLMConfig.set_gpt_url("https://api.groq.com/openai/v1")SKLLMConfig.set_openai_key("YOUR-API-KEY")。Scikit-LLM默认使用OpenAI兼容的端点,我们将其路由到Groq的自定义URL。接下来,导入IMDB电影评论数据集(约5万条实例),每条实例包含一条评论及其情感标签(正面或负面)。为演示方便,我们从公开的GitHub存储库中读取CSV格式的数据集,并随机采样500条记录(可根据需要调整样本量)。然后将数据分为训练集和测试集(80-20分割)。

构建管道的核心部分包括预处理和模型设置。使用scikit-learn的FunctionTransformer定义一个文本清洗函数,用于去除HTML标签和多余空格。然后将此预处理步骤与一个零样本分类器组合成管道。这里我们使用ZeroShotGPTClassifier,并指定模型为custom_url::llama-3.1-8b-instant(通过Groq提供的Llama 3.1 8B模型)。调用fit()方法时,实际上并不训练模型,而是注册训练数据中的标签(正面和负面)。之后使用管道进行预测。评估结果显示,在100条测试样本上,准确率达到95%,精确率、召回率和F1分数均为0.95左右。示例预测也显示了良好的性能。

本文介绍了如何使用Scikit-LLM和免费可用的预训练LLM(通过Groq等API端点)定义情感分类的端到端管道。这是一种在新型LLM驱动的机器学习应用中使用经典scikit-learn语法的通用方法。