🚀 Trading Hero 金融感情分析
このモデルは、金融テキストで事前学習されたBERTモデルであるFinBERTのファインチューニング版です。ファインチューニングにより、特定の金融NLPタスクに適応させ、感情分析のドメイン固有のアプリケーションでのパフォーマンスを向上させています。
🚀 クイックスタート
このモデルは、金融分野における感情分析に特化しており、金融アナリストやNLP研究者、金融データを扱う開発者に役立ちます。
✨ 主な機能
- 金融テキストに特化した感情分析を行うことができます。
- 事前学習されたFinBERTモデルをベースにファインチューニングされており、金融ドメインでの高精度な分析が可能です。
📦 インストール
このモデルを使用するには、以下のPythonライブラリが必要です。
import torch
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
💻 使用例
基本的な使用法
tokenizer = AutoTokenizer.from_pretrained("fuchenru/Trading-Hero-LLM")
model = AutoModelForSequenceClassification.from_pretrained("fuchenru/Trading-Hero-LLM")
nlp = pipeline("text-classification", model=model, tokenizer=tokenizer)
def preprocess(text, tokenizer, max_length=128):
inputs = tokenizer(text, truncation=True, padding='max_length', max_length=max_length, return_tensors='pt')
return inputs
def predict_sentiment(input_text):
inputs = tokenizer(input_text, return_tensors="pt", truncation=True, padding=True)
with torch.no_grad():
outputs = model(**inputs)
predicted_label = torch.argmax(outputs.logits, dim=1).item()
label_map = {0: 'neutral', 1: 'positive', 2: 'negative'}
predicted_sentiment = label_map[predicted_label]
return predicted_sentiment
stock_news = [
"Market analysts predict a stable outlook for the coming weeks.",
"The market remained relatively flat today, with minimal movement in stock prices.",
"Investor sentiment improved following news of a potential trade deal.",
]
for i in stock_news:
predicted_sentiment = predict_sentiment(i)
print("Predicted Sentiment:", predicted_sentiment)
📚 ドキュメント
主な利用者
金融アナリスト、NLP研究者、金融データを扱う開発者。
学習データ
- 学習データセット:金融コミュニケーションテキストのカスタムデータセットでファインチューニングされました。データセットは以下のように学習セット、検証セット、テストセットに分割されています。
- 学習セット:10,918,272トークン
- 検証セット:1,213,184トークン
- テストセット:1,347,968トークン
- 事前学習データセット:FinBERTは合計49億トークンの大規模な金融コーパスで事前学習されており、以下のものが含まれています。
- 企業報告書 (10-K & 10-Q):25億トークン
- 決算説明会のトランスクリプト:13億トークン
- アナリストレポート:11億トークン
評価
- テスト精度 (Test Accuracy) = 0.908469
- テスト適合率 (Test Precision) = 0.927788
- テスト再現率 (Test Recall) = 0.908469
- テストF1値 (Test F1) = 0.913267
- ラベル:0 -> 中立; 1 -> 肯定的; 2 -> 否定的
🔧 技術詳細
このモデルは、金融テキストに特化した感情分析を行うために、事前学習されたFinBERTモデルをベースにファインチューニングされています。ファインチューニングには、金融コミュニケーションテキストのカスタムデータセットが使用されており、金融ドメインでの高精度な分析が可能です。
📄 ライセンス
このモデルはMITライセンスの下で公開されています。
📚 引用
@misc{yang2020finbert,
title={FinBERT: A Pretrained Language Model for Financial Communications},
author={Yi Yang and Mark Christopher Siy UY and Allen Huang},
year={2020},
eprint={2006.08097},
archivePrefix={arXiv},
}