mirror of
https://github.com/kevin-DL/services.git
synced 2026-01-19 14:05:23 +00:00
score individual words in sentiment analysisw
This commit is contained in:
@@ -20,5 +20,19 @@ func init() {
|
|||||||
|
|
||||||
func Analyze(text string) float64 {
|
func Analyze(text string) float64 {
|
||||||
an := model.SentimentAnalysis(text, sentiment.English)
|
an := model.SentimentAnalysis(text, sentiment.English)
|
||||||
return float64(an.Score)
|
|
||||||
|
// no words, just return whats scored
|
||||||
|
if len(an.Words) == 0 {
|
||||||
|
return float64(an.Score)
|
||||||
|
}
|
||||||
|
|
||||||
|
// take each word score then divide by num words
|
||||||
|
var total float64
|
||||||
|
|
||||||
|
for _, word := range an.Words {
|
||||||
|
total += float64(word.Score)
|
||||||
|
}
|
||||||
|
|
||||||
|
// get the overall score
|
||||||
|
return total / float64(len(an.Words))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ func EnrichPost(ctx context.Context, post *pb.Post) error {
|
|||||||
score := model.Analyze(post.Title)
|
score := model.Analyze(post.Title)
|
||||||
post.Metadata["sentiment"] = fmt.Sprintf("%.1f", score)
|
post.Metadata["sentiment"] = fmt.Sprintf("%.1f", score)
|
||||||
|
|
||||||
logger.Infof("Setting score %.1f for post %v", score, post.Title)
|
logger.Infof("Setting score %.1f for post '%v'", score, post.Title)
|
||||||
|
|
||||||
// now save the post
|
// now save the post
|
||||||
PostsClient.Save(ctx, &pb.SaveRequest{
|
PostsClient.Save(ctx, &pb.SaveRequest{
|
||||||
|
|||||||
Reference in New Issue
Block a user