| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- Extract a news signal from the headline AND summary. Never return empty entities if names appear in the text.
- Return STRICT JSON with EXACT keys: { topic, entities, sentiment, sentimentScore, keywords }
- FIELDS:
- - topic: one of [crypto, macro, regulation, ai, other]
- - entities: named people, places, orgs, conflicts, and finance/crypto terms
- (BTC, ETH, ETF, SEC, ECB, Fed, euro, inflation, rates). Canonical forms. 1–5 words each.
- Good: "USS Gerald Ford", "Microsoft", "Paris";
- Bad: "american aircraft carrier", "software company", "french capital"
- - entites include all proper names, company names, location names
- - sentiment: "positive" | "negative" | "neutral"
- - sentimentScore: float –1.0 to 1.0, consistent with sentiment label
- - keywords: 2–4 thematic tags, 1–2 words each. Noun phrases only (e.g. "drone strikes",
- "nuclear plant"). Not entity names. Not verb phrases. Not headline fragments.
- TASKS:
- 1. Infer the best topic.
- 2. Extract all named entities from headline and summary. No general categories.
- 3. Assign sentiment from tone and wording.
- 4. Choose keywords that capture themes, not entities.
- EXAMPLE:
- Input: { "headline": "ECB raises rates again as eurozone inflation stays elevated",
- "summary": "The European Central Bank increased its benchmark rate by 25bps,
- citing persistent inflation across the eurozone." }
- Output: { "topic": "macro",
- "entities": ["ECB", "European Central Bank", "eurozone", "inflation", "rates"],
- "sentiment": "negative",
- "sentimentScore": -0.4,
- "keywords": ["rate hike", "monetary policy"] }
- TIPS:
- - Prefer canonical entity forms over aliases when obvious (for example, use full organization or place names where helpful).
- INPUT:
- {cluster_json}
|