我最近开始使用LUIS和bot框架,也有一些API AI / Google home开发的经验。
在下面的示例中,我将使用一个示例(来自)来逐步演示与用户的交互。首先,它要求输入日期,然后是数字,然后是保留区的名称,依此类推。
var bot = new builder.UniversalBot(connector, [
function (session) {
session.send("Welcome to the dinner reservation.");
builder.Prompts.time(session, "Please provide
我试图在LUIS中创建一个模型,让我能够检测一个品牌(任何品牌)是否在一次演讲中被提及。我尝试过不同的方法,但我很难让它发挥作用。
首先,我有一个意图searchBrand和一些例子的话语:
'Help me find info about Channel'
'I want to know more about Adidas'
...
我想要的是,路易斯认识到,一个品牌已被提及的话语(作为一个实体)。我相信我有以下几种选择:
使用列表实体:不可能,因为我必须填写所有可能存在的品牌,而且,用户必须如实填写品牌,不允许输入(例如,罗尔夫·劳伦)
使用ML实体
我希望建立一个机器人,通常需要两个数字,不同的含义(角色)在相同的话语。让我们以一个StockMarket订单助手为例(虚构的)
一些典型的话语:
Buy 100 MSFT stock at limit of 340Get me 200 Apple at maximum 239.4Buy 40 AMZN at market price
在LUIS portal中,我定义了两个实体
StockSymbol一个列表实体(用于所有股票,将它们的符号和名称链接为同义词)。
number具有两个角色的预构建实体:Amount和Limit
当指定以示例形式显示的语句时,它表明实体已被识别。但我无法找到一种
我有一个用于识别{Organization Name } of {Location}的LUIS应用程序。
示例:
伊利诺伊州图书俱乐部图书俱乐部芝加哥图书俱乐部佛罗里达州奥兰多
我尝试创建一个复合实体,其中子实体是一个GeographyV2 (我添加了一个预构建实体)。一旦尝试这样做,训练就会中断。我不得不移除合成实体。
俱乐部部分将始终包含相同的文本,如“图书俱乐部的{location}”。
我在luis上创建了一个实体列表来收集坏词,然后我创建了一个名为Bad的意图。在那之后,我开始在我的bad Intent上添加一些不好的单词,我的问题是,我是否必须再次添加我已经在实体列表中创建的所有不好的单词,这次是作为Bad Intent下的一个单词,以便luis捕获用户可能使用的所有不好的单词?我是否正确地使用了实体列表?我的理解是,luis已经可以捕获所有已经添加到列表中的坏词,并将其标记为bad luis intent。
LUIS一直是一个很棒的工具。我们开始着手编写一个聊天机器人,我们想要使用LUIS服务。我们希望LUIS从给定的文本中识别各种Microsoft产品。
比方说,我希望LUIS将sharepoint 2010,sharepoint 2013,visual studio 2013,visual studio 2010等识别为技术产品。我们尝试添加了“产品”功能,并添加了如上所示的逗号分隔值。然而,该模型仅适用于sharepoint,visual -基本上是单个单词。它无法识别短语。
在使用一些数据进行训练后,它能够将sharepoint和visual识别为技术(实体),但是,所需的整个短语不起作用