🚀 モデルカード: SSAF-FinBert
SSAF-FinBertモデルは、株式市場のニュース記事の感情分析を目的として、FinBertモデルをファインチューニングしたバージョンです。金融テキストデータに表現される感情を、ポジティブ、ネガティブ、ニュートラルの3つのカテゴリに分類するように最適化されています。
このモデルは、Kaggleから収集したデータセットを前処理し、GPUクラスター上でFinBertアーキテクチャを使って約5時間ファインチューニングされました。結果として得られたモデルは、トレーニングに使用したプラットフォームによって異なりますが、81%から82%の精度を達成しました。
推論APIのラベルマッピング:
Label_0 = ネガティブ
Label_1 = ニュートラル
Label_2 = ポジティブ
🚀 クイックスタート
モデルへのアクセス方法
感情分析のためにSSAF-FinBertモデルにアクセスするには、以下のPythonコードを使用できます。
from transformers import AutoModelForSequenceClassification, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained('yiyanghkust/finbert-pretrain')
model_path = "likith123/SSAF-FinBert"
model = AutoModelForSequenceClassification.from_pretrained(model_path)
def predict_sentiment(input_text):
inputs = tokenizer(input_text, return_tensors="pt", truncation=True, padding=True, max_length=512)
with torch.no_grad():
outputs = model(**inputs)
predicted_probs = torch.softmax(outputs.logits, dim=1).squeeze().tolist()
return predicted_probs
このコードは、事前学習済みのトークナイザーとファインチューニングされたSSAF-FinBertモデルをロードします。その後、predict_sentiment
関数を使用して、金融テキストデータの感情を分析することができます。
モデルの使用方法
感情分析のためにSSAF-FinBertモデルを使用するには、金融テキストデータを入力としてpredict_sentiment
関数を呼び出すことができます。この関数は、各感情クラス(ポジティブ、ネガティブ、ニュートラル)の予測確率を返します。
text_data = "This is a positive news article about the stock market."
predicted_sentiment = predict_sentiment(text_data)
print(predicted_sentiment)
predicted_sentiment
変数には、各感情クラスに対応する確率のリストが含まれ、入力テキストに表現される感情を分析することができます。
📚 ドキュメント
実際のファインチューニングプロセス
ファインチューニングのコードにアクセスするには、Kaggle Notebookを参照してください。
Webアプリにアクセスするには、StreamLit APPを参照してください。
パフォーマンスと制限事項
SSAF-FinBertモデルは、金融テキストデータに関する感情分析タスクで強力なパフォーマンスを示しています。ただし、入力テキストの性質と複雑さによって、モデルの精度は異なる場合があることに注意する必要があります。
このモデルは、金融ニュース記事の感情分類に優れていますが、他のドメインや高度に専門化された金融用語では最適なパフォーマンスを発揮しない可能性があります。
謝辞
SSAF-FinBertモデルの開発は、オープンソースコミュニティの貢献とHugging Faceが提供するリソースによって可能になりました。自然言語処理タスクのためのトランスフォーマーベースのモデルの開発と改善に貢献している開発者や研究者の皆様に感謝申し上げます。
SSAF-FinBertモデルの詳細情報と更新については、モデルカードを参照してください。
📄 ライセンス
このモデルはMITライセンスの下で提供されています。