| 1234567891011121314151617181920212223242526272829303132333435 |
- Input cluster JSON:
- {cluster_json}
- You MUST extract a news signal from the headline AND summary. Do not leave entities empty when the text mentions obvious names.
- Task:
- 1) infer the best top-level topic
- 2) extract concise entities from the cluster
- 3) assign sentiment from the wording/context
- 4) provide short keywords that justify the classification
- Entity rules (strict):
- - Use short strings (1-5 words).
- - Include all obvious named entities mentioned in headline or summary:
- named people, , named locations, organizations, ministries, presidents, leaders, wars/conflicts if named.
- - Also include finance/crypto entities when present: BTC, ETH, Bitcoin, Ethereum, ETF, SEC, ECB, Fed, euro, inflation, rates.
- - Prefer canonical entity forms over aliases when obvious (for example, use full organization or place names where helpful).
- - Do NOT return empty entities if any such names/places appear.
- Keyword rules (strict):
- - Each keyword MUST be 1-2 words. Never 3+.
- - Keywords are thematic search tags, NOT headline restatements or verb phrases.
- - Good keywords: noun phrases or named concepts (e.g. "drone strikes", "energy infrastructure", "nuclear plant", "oil refinery").
- - Bad keywords: full headline fragments, verb-heavy phrases, or anything over 2 words.
- - Keywords should capture the *themes* of the story, not repeat entity names already in the entities list.
- - Return 2-4 keywords. Fewer is better than bad ones.
- Sentiment rules:
- - positive: clearly encouraging, improving, or supportive tone
- - negative: clearly alarming, worsening, severe, conflict, loss, risk, warning tone
- - neutral: factual, balanced, or mixed
- - sentimentScore must be a number from -1.0 to 1.0 and should reflect the sentiment label.
- Return STRICT JSON with EXACT keys only:
- { topic, entities, sentiment, sentimentScore, keywords }
- where topic is one of [crypto, macro, regulation, ai, other].
|