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.");
}
})
现在不可能。您可以点击以下帖子: