proKBD commited on
Commit
3cb6902
·
verified ·
1 Parent(s): 71f0750

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +20 -1
utils.py CHANGED
@@ -44,10 +44,29 @@ def analyze_company_data(company_name: str) -> Dict[str, Any]:
44
  summary = text_summarizer.summarize(article['content'])
45
  article['summary'] = summary
46
 
47
- # Analyze sentiment
48
  sentiment = sentiment_analyzer.analyze(article['content'])
49
  article['sentiment'] = sentiment
50
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
  # Track sentiment by source
52
  source = article['source']
53
  if source not in sentiment_scores:
 
44
  summary = text_summarizer.summarize(article['content'])
45
  article['summary'] = summary
46
 
47
+ # Analyze overall sentiment
48
  sentiment = sentiment_analyzer.analyze(article['content'])
49
  article['sentiment'] = sentiment
50
 
51
+ # Analyze fine-grained sentiment
52
+ try:
53
+ # Financial sentiment
54
+ if 'financial' in sentiment_analyzer.fine_grained_models:
55
+ financial_sentiment = sentiment_analyzer.fine_grained_models['financial'](article['content'])[0]
56
+ article['financial_sentiment'] = financial_sentiment['label']
57
+
58
+ # Emotional sentiment
59
+ if 'emotion' in sentiment_analyzer.fine_grained_models:
60
+ emotional_sentiment = sentiment_analyzer.fine_grained_models['emotion'](article['content'])[0]
61
+ article['emotional_sentiment'] = emotional_sentiment['label']
62
+
63
+ # ESG sentiment
64
+ if 'esg' in sentiment_analyzer.fine_grained_models:
65
+ esg_sentiment = sentiment_analyzer.fine_grained_models['esg'](article['content'])[0]
66
+ article['esg_sentiment'] = esg_sentiment['label']
67
+ except Exception as e:
68
+ print(f"Error in fine-grained sentiment analysis: {str(e)}")
69
+
70
  # Track sentiment by source
71
  source = article['source']
72
  if source not in sentiment_scores: