feat(Sentiment): update sentiment service
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
# Finlytic Sentiment Service
|
||||
|
||||
Finlytic Sentiment is a C# microservice dedicated to real-time AI sentiment analysis of financial news. It consumes pending news articles, runs FinBERT neural model evaluations, and aggregates sentiment scores at the asset (ISIN) and sector level.
|
||||
|
||||
---
|
||||
|
||||
## Core Features & Architecture
|
||||
|
||||
1. **FinBERT AI Integration**:
|
||||
- Evaluates positive, negative, and neutral sentiment probabilities (`positiveProbability`, `negativeProbability`, `neutralProbability`, `compoundScore`).
|
||||
|
||||
2. **ISIN & Sector Sentiment Aggregation**:
|
||||
- Aggregates sentiment scores per financial asset (`IsinSentimentSummaryDto`) and sector (`SectorSentimentSummaryDto`).
|
||||
|
||||
3. **Background Worker Engine**:
|
||||
- Runs a 5-minute background loop (`SentimentBackgroundService`) polling pending articles, processing FinBERT evaluations, and publishing results over MQTT.
|
||||
|
||||
4. **MQTT Event Channels**:
|
||||
- Publishes updates to `finlytic/sentiment/result` and responds to RPC requests on `services/request/sentiment_GetArticle/#` and `services/request/sentiment_GetIsin/#`.
|
||||
|
||||
---
|
||||
|
||||
## Feature Status
|
||||
|
||||
### Implemented Features
|
||||
- [x] FinBERT AI Sentiment Evaluation Service (`IFinBertAnalyzerService`).
|
||||
- [x] Sentiment Storage & In-Memory Aggregation (`ISentimentStorageService`).
|
||||
- [x] 5-minute Background Worker loop (`SentimentBackgroundService`).
|
||||
- [x] Zero-Allocation MQTT serialization via `FinlyticJsonSerializerContext`.
|
||||
- [x] Pure Worker Service architecture (`Host.CreateApplicationBuilder`, no Kestrel HTTP server).
|
||||
|
||||
### Planned Features
|
||||
- [ ] Historical sentiment trend charting (multi-month sentiment drift per asset).
|
||||
- [ ] Financial entity sentiment impact correlation model.
|
||||
Reference in New Issue
Block a user