我正在使用Google的自然语言API从一段文字中生成情感。
来自谷歌自己的文档:
情绪得分介于-1.0 (负)和1.0 (正)之间,与文本的整体情感倾向相对应。震级表示给定文本中情感的整体强度(积极和消极),介于0.0和+inf之间。与分数不同的是,量值不是标准化的;文本中的每一种情感表达(积极和消极)都有助于文本的大小(因此较长的文本块可能有更大的幅度)。
我的目标是得到1到10之间的“一般情绪”的一个数字。的旧API过去使用一个在-100到+100之间的数字来返回情感,这很容易用类似于。
function map_range(value, low1, high1, low2, high2) {
return low2 + (high2 - low2) * (value - low1) / (high1 - low1);
}
Math.round(map_range(SENTIMENT, -100, 100, 0, 10));随着谷歌使旧的API贬值,我跳到了新的API,但为了恢复我的应用程序的其他功能,我需要将这两个数字映射回1到10之间。希望这是有意义的!
发布于 2017-05-08 13:30:58
看起来Google只是把他们的结果除以100。所以你也可以这么做。
据我所知,这对你来说很简单:
Math.round(map_range(SENTIMENT, -1, 1, 0, 10));例如:以前,您是将情感映射为60到8,上面的内容将.6映射到8。
https://stackoverflow.com/questions/43724396
复制相似问题