From 1ca6ec52fdb178cf296bbf47ff39d65badacc903 Mon Sep 17 00:00:00 2001 From: Ian Wood Date: Tue, 11 Apr 2017 11:12:02 +0100 Subject: [PATCH] fixed weighted average, no explicit treatment of 'neutral' --- senpy/plugins/conversion/centroids.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/senpy/plugins/conversion/centroids.py b/senpy/plugins/conversion/centroids.py index 2c0e735..ac3cb9e 100644 --- a/senpy/plugins/conversion/centroids.py +++ b/senpy/plugins/conversion/centroids.py @@ -42,18 +42,19 @@ class CentroidConversion(EmotionConversionPlugin): for e in original.onyx__hasEmotion: category = e.onyx__hasEmotionCategory intensity = e.get("onyx__hasEmotionIntensity",1) + if intensity == 0: + continue if category in self.centroids: - totalIntensities[category] += intensity for dim, value in self.centroids[category].items(): + totalIntensities[dim] += intensity try: res[dim] += value * intensity except Exception: res[dim] = value * intensity + for dim,intensity in totalIntensities.items(): if intensity != 0: res[dim] /= intensity - else: - res[dim] = self.centroids.get('neutral', {dim:0})[dim] return res def _backwards_conversion(self, original):