【问题标题】:Calculate overall sentiment with magnitude and score values用幅度和分数值计算整体情绪
【发布时间】:2017-05-08 21:30:58
【问题描述】:

我正在使用 Google 的 Natural Language API 从一段文本中生成情绪。

来自 Google 自己的文档:

情绪得分介于 -1.0(负面)和 1.0 之间 (积极的)并对应于整体的情绪倾向 文本。量级表示情绪的整体强度(两者 正负)在给定文本中,介于 0.0 和 +inf 之间。 与 score 不同,幅度没有归一化;每一种情绪的表达 在文本中(正面和负面)有助于文本的 幅度(因此较长的文本块可能具有更大的幅度)。

我的目标是获取 1 到 10 之间的“一般情绪”的单个数字。Google 的旧 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));

由于 Google 已使旧 API 贬值,我已跳到新 API,但为了恢复我的应用程序其余部分的功能,我需要将这两个数字映射回 1 到 10 之间。希望说得通!

【问题讨论】:

    标签: javascript node.js dictionary nlp google-cloud-platform


    【解决方案1】:

    看起来 Google 只是将他们的结果除以 100。所以,您也可以这样做。

    据我了解,这应该对你有用:

    Math.round(map_range(SENTIMENT, -1, 1, 0, 10));
    

    例如:之前,您将情绪 60 映射到 8,而在上面它将 0.6 映射到 8。

    【讨论】:

      猜你喜欢
      • 2018-12-15
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-02
      • 1970-01-01
      • 2020-09-12
      相关资源
      最近更新 更多