|
|
""" |
|
|
Usage examples for LAPEFT Financial Sentiment Analysis |
|
|
""" |
|
|
|
|
|
from transformers import pipeline, BertTokenizer, BertForSequenceClassification |
|
|
from peft import PeftModel |
|
|
import torch |
|
|
|
|
|
def simple_usage(): |
|
|
"""Simple pipeline usage - recommended for most users""" |
|
|
classifier = pipeline( |
|
|
"text-classification", |
|
|
model="Hananguyen12/LAPEFT-Financial-Sentiment-Analysis" |
|
|
) |
|
|
|
|
|
|
|
|
examples = [ |
|
|
"The company exceeded earnings expectations with strong revenue growth.", |
|
|
"Market volatility continues with mixed signals from investors.", |
|
|
"Bankruptcy filing has caused significant concern among stakeholders." |
|
|
] |
|
|
|
|
|
for text in examples: |
|
|
result = classifier(text)[0] |
|
|
print(f"Text: {text}") |
|
|
print(f"Sentiment: {result['label']} (Confidence: {result['score']:.3f})") |
|
|
print("-" * 50) |
|
|
|
|
|
def advanced_usage(): |
|
|
"""Advanced usage with direct model access""" |
|
|
|
|
|
base_model = BertForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=3) |
|
|
model = PeftModel.from_pretrained(base_model, "Hananguyen12/LAPEFT-Financial-Sentiment-Analysis") |
|
|
tokenizer = BertTokenizer.from_pretrained("Hananguyen12/LAPEFT-Financial-Sentiment-Analysis") |
|
|
|
|
|
def predict_detailed(text): |
|
|
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512) |
|
|
|
|
|
with torch.no_grad(): |
|
|
outputs = model(**inputs) |
|
|
probs = torch.nn.functional.softmax(outputs.logits, dim=-1) |
|
|
|
|
|
return { |
|
|
"negative": probs[0][0].item(), |
|
|
"neutral": probs[0][1].item(), |
|
|
"positive": probs[0][2].item() |
|
|
} |
|
|
|
|
|
|
|
|
text = "The quarterly report shows promising growth indicators." |
|
|
scores = predict_detailed(text) |
|
|
print(f"Text: {text}") |
|
|
print(f"Detailed scores: {scores}") |
|
|
|
|
|
if __name__ == "__main__": |
|
|
print("=== Simple Usage ===") |
|
|
simple_usage() |
|
|
|
|
|
print("\n=== Advanced Usage ===") |
|
|
advanced_usage() |
|
|
|