Nlp 训练路易斯理解“与”之间的区别;“我感兴趣”;及;“我不感兴趣”;

Nlp 训练路易斯理解“与”之间的区别;“我感兴趣”;及;“我不感兴趣”;,nlp,botframework,azure-language-understanding,Nlp,Botframework,Azure Language Understanding,我有一个场景,我必须训练路易斯的模型来理解“我感兴趣”和“我不感兴趣”之间的区别。如何在不直接提及意图的情况下实现它。您可以尝试使用另一个认知服务端点来检测情绪。看一看:你在问什么。据我理解,如果不训练积极和消极的意图,就不可能训练路易斯模型来解读积极或消极的情绪。正如Pavel指出的,微软还提供了另一项服务,即 此API提供多个服务,但在本例中,将获取您提供的字符串,测量情绪,并将测量值(通过id)作为0到1之间的数字返回。接近0的数字比接近1的数字更负。数字越大,字符串越为正。为了包含文本分

我有一个场景,我必须训练路易斯的模型来理解“我感兴趣”和“我不感兴趣”之间的区别。如何在不直接提及意图的情况下实现它。

您可以尝试使用另一个认知服务端点来检测
情绪。看一看:

你在问什么。据我理解,如果不训练积极和消极的意图,就不可能训练路易斯模型来解读积极或消极的情绪。正如Pavel指出的,微软还提供了另一项服务,即

此API提供多个服务,但在本例中,将获取您提供的字符串,测量情绪,并将测量值(通过
id
)作为0到1之间的数字返回。接近0的数字比接近1的数字更负。数字越大,字符串越为正。为了包含文本分析,我对API调用使用了
Promise

let sentimentAnalysis = function (string) {
    let payload = {
        "documents": [{
            "id": "1",
            "text": string ? string : 'No string? This is sad...'
        }]
    }

    return new Promise(function(resolve, reject) {
        request.post(
        'https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment/', 
            {
                "headers": {
                    "Ocp-Apim-Subscription-Key": process.env.TEXT_ANALYTICS_KEY,
                    "Content-Type": "application/json",
                    "Accept": "application/json",
                },
                "body": JSON.stringify(payload)
            }, (err, res, body) => {
                if (err) {
                    return reject(err);
                } else {
                    return resolve(JSON.parse(res.body));
                }
            }
        )
    })
}
请注意,有效负载包含一个
“documents”
属性,该属性接受一个对象数组。你可以把整个段落都写下来,也可以把它缩小到一句一句地分开。但是,我会让你来决定(和设计):)

然而,官方声明确实表示,将字符串分解成句子将改善情绪分析()

在我的瀑布中,我将调用此
Promise
,并使用结果确定聊天机器人的响应

sentimentAnalysis(results.response).then(analyticsResponse => {
    session.send(`You said "${results.response}"!`);
    let score = Math.round(analyticsResponse["documents"][0]["score"] * 100) / 100;
    session.send(`The score of that utterance is ${score}`);
    if(score > 0.7) {
        session.endDialog("Wow that's positive!");
    } else if (score > 0.4) {
        session.endDialog("Wow that's neutral-ish...");
    } else {
        session.endDialog("Wow that is not positive.");
    }
})

现在不可能。您可以点击以下帖子: