今天一樣會從Google Colab上實作
這次內容是請LangChain架構幫忙識別句子情感為正面或負面,並給出一個分析分數。
由於內容實在很不專業,若有錯誤還望多多包涵🙏
步驟一:
安裝LangChain和transformers套件
!pip install langchain
!pip install openai
!pip install transformers
步驟二:
# 定義情感分析模型
sentiment_analyzer = pipeline("sentiment-analysis")
# 翻譯文本的函數,返回字典
def translate_text(inputs):
text = inputs["input"]
translated = translator(text)[0]['translation_text']
return {"input": translated}
# 分析情感的函數,返回字典
def analyze_sentiment(inputs):
translated_text = inputs["input"]
sentiment = sentiment_analyzer(translated_text)
return {"result": sentiment}
# 將翻譯函數包裝成 TransformChain
translation_chain = TransformChain(
input_variables=["input"], # 使用 'input' 作為鍵名
output_variables=["input"], # 翻譯後的文本也將使用 'input' 鍵名
transform=translate_text
)
# 將情感分析函數包裝成 TransformChain
sentiment_chain = TransformChain(
input_variables=["input"], # 接收翻譯後的文本
output_variables=["result"], # 輸出情感分析結果
transform=analyze_sentiment
)
# 創建 SimpleSequentialChain
sequential_chain = SimpleSequentialChain(
chains=[translation_chain, sentiment_chain]
)
# 輸入文本
text = "I love studying medical informatics."
# 執行整個流程
result = sequential_chain.run({"input": text}) # 使用 'input' 作為輸入鍵
# 輸出結果
print(result)
這是情感分析的結果,表示輸入文本被識別為“正面”(POSITIVE),且其信心分數為約 0.92(92%),這意味著模型對這一判斷的信心相當高。
還記得上次學習Trandsformers架構,因此利用CharGPT幫我統整LangChain架構與Transformers模型在使用上的比較~
以下是關於 LangChain 和 Transformers 在應用中的差異對比表: