我已经研究了wit.ai好几天了 . 我找到了wit.ai bot引擎的关键点:
-
基于故事 - 为问候创建故事,订购披萨,订购笔记本电脑,询问预测
-
基于角色的实体 - 位置:表单,位置:到 . 这里“从”和“到”是“位置”实体的角色
-
复合/嵌套实体 - car(model,color,modelYear) . 这里的模型,颜色,modelYear可以嵌套在汽车实体下
-
搜索策略:特征,自由文本,关键字
-
通过创建一些故事来了解机器人
-
比赛得分称为置信度
-
用户表达式长度256最大值
-
从预定义的关键字列表中搜索匹配的表达式
-
嵌套上下文
-
用户定义的实体,预定义实体
-
基于实体的动作:如果只有,如果总是有条件
-
对于给定的用户表达式,机密搜索关键字列表中的匹配,自由文本
-
对于给定的用户表达式,机智搜索实体下列出的表达式中的关键字位置
-
对给定用户表达式中缺少的信息进行分支
-
代词支持机智吗?没有故事#1用户:Widget X 2000多少钱? Bot:价格30美元 . 故事#2用户:我在哪里可以买到Widget X 2000? Bot:在您当地的百思买 . 故事#2用户:Widget X 2000多少钱? Bot:价格30美元 . 用户:我在哪里可以买到它? --error--使用上下文
-
尚未实现对话感知实体提取
-
是否有可能让wit.ai机器人记住/重用故事中的背景?检查context.key是否存在
-
是否可以在Wit.ai中设置默认意图?不,可以检查置信度值,设置置信度阈值,低于阈值特定响应
-
你能否在Wit.ai中按优先级对实体进行排名?没有
现在我想知道机智如何检测用户表达的意图,并使用在wit.ai中创建的机器人的故事对实体进行分类 .
如果有人了解wit.ai中使用的基础技术/ ML算法,请分享这个主题 . 我希望它会对像我这样的人有所帮助 .
提前致谢 .
1 回答
wit.ai的两个主要部分是:
意图分类
实体提取
对于实体提取,它使用最近开源的duckling库,您可以在那里找到有关算法的详细说明 .
对于意图分类,我猜他们使用基于单词包或更高级的单词嵌入方法(如word2vec)的文本分类方法 .
您还可以查看类似的完全开源项目,例如Rasa或spaCy,用于上述两项任务 .