botframework - Bot Framework:使用 LUIS 处理较长电子邮件的方法(超过 500 个字符)
问题描述
我正在创建一个机器人来提供简单的答案,并通过电子邮件渠道对常见问题执行一些轻量级的操作。
与其他渠道不同,电子邮件渠道倾向于将较长的消息提供给机器人(包括用户的电子邮件签名、一些介绍、线程历史......)。我正在尝试使用LUIS来猜测消息的意图,然后执行正确的操作。当消息非常短时,这可以正常工作,但是当消息变大时它会失败,因为 LUIS 限制为 500 个字符。
将电子邮件通道与机器人框架一起使用时,解决此问题的最佳做法是什么?有没有常用的方法来删除邮件正文的线程历史、电子邮件签名、介绍部分,以便只有真正的问题才能发送给 Luis?有没有办法将消息拆分为不同的短语,然后以某种方式关联 LUIS 意图?
我想看看其他人在这里做什么,因为电子邮件频道与所有其他面向“聊天”的频道有点不同。
非常感谢,
巴特
解决方案
几个月前(实际上是一年前)我做了同样的项目,但最后它没有使用 Bot Framework,因为我们只有电子邮件通道,并且可以通过直接调用 Office365 API 来处理更多规则。但我认为以下评论对您也有效:
我最初发现 500 个字符的限制真的很烦人,但后来我也明白 LUIS 不是检测多个意图的好工具,因此将内容限制在最低限度很重要。
有没有常用的方法来删除邮件正文的线程历史、电子邮件签名、介绍部分,以便只有真正的问题才能发送给 Luis?有没有办法将消息拆分为不同的短语,然后以某种方式关联 LUIS 意图?
当时我也遇到了同样的问题,发现并没有什么神奇的工具或解决方案,特别是做到以下几点:
- 消除称呼
- 消除转发/回复消息
我不得不传递大量消息来进行自己的处理,使用...正则表达式和其他规则。
此外,您不能将您的消息分成几部分发送给 LUIS,因为您无法理解应该优先考虑哪个句子......
我建议的另一件事是:不要相信电子邮件标题。
推荐阅读
- jenkins - 声明性管道中的文件参数
- ms-access - 更改 VBA 访问代码以合并 powerpoint 演示文稿而不是 word 文档
- javascript - 如何找出是否有 Javascript 代码正在监听键盘事件?
- sql - 从 Postgres 的外键约束中删除“匹配完整”的理想方法是什么?
- regex - 在正则表达式中添加新行
- angular - ASP.NET Core,Angular SPA 应用程序检查第一次页面是否加载
- reactjs - 将 Webpack 添加到已完成的项目(React.js)中是一种好习惯吗?
- sql - UPDATE FUNCTION 基于在 Access 2010 中使用 SQL 查询匹配其他列
- android - Firebase 存储:直接播放视频网址?
- python - Python mongoengine select_related(n) 没有达到我的预期