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語法的通用方法。