def updateScore(self, currentOccuranceTime, scoreToUpdate, **stream_settings): timeDifference = DateTimeAirthematic.getDifferenceInTimeUnits( currentOccuranceTime, self.latestOccuranceTime, stream_settings["time_unit_in_seconds"].seconds ) self.score = ( exponentialDecay(self.score, stream_settings["phrase_decay_coefficient"], timeDifference) + scoreToUpdate ) self.latestOccuranceTime = currentOccuranceTime
def exponentialDecay(stream, vector, decayCoefficient, timeDifference, **kwargs): for k in stream: stream[k] = exponentialDecay(stream[k], decayCoefficient, timeDifference) for k in vector: if k in stream: stream[k] += vector[k] else: stream[k] = vector[k]
def updateScore(self, currentOccuranceTime, scoreToUpdate, **stream_settings): timeDifference = DateTimeAirthematic.getDifferenceInTimeUnits( currentOccuranceTime, self.latestOccuranceTime, stream_settings['time_unit_in_seconds'].seconds) self.score = exponentialDecay( self.score, stream_settings['phrase_decay_coefficient'], timeDifference) + scoreToUpdate self.latestOccuranceTime = currentOccuranceTime