当前位置: 首页 > news >正文

dw做电影网站新乡河南网站建设

dw做电影网站,新乡河南网站建设,wordpress添加邮件发送,江西建设银行招聘网站最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束…

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢?

我最后选择的方法是用threading.Timer(),rasa这边解析说话意图“提醒我(behavior)”——behavior是任何事情,解析成功后会回复“我会在5分钟后提醒你behavior”。语音助手接收到这条回复后,会判断是否包含“5分钟后提醒”这几个关键字,若是则启动threading.Timer(),定时5分钟后执行提醒。

这里,执行提醒的操作其实就是在满5分钟时自动发一份语义解析请求给rasa。我在rasa的domain.yml中定义了一条EXTERNAL_reminder的用户意图,同时还定义了这条意图对应的action,并写入stories.md中。于是,当rasa收到执行提醒的用户意图后,便自动返回我预先定义好的话术。语音助手收到话术后直接通过TTS播报出来,定时提醒功能完成。

接下来是我写的相关代码,和大家分享。

语音助手demo.py代码中增加一个独立的函数:

def act_remind(text):print("5分钟提醒触发……")resp = rasabot.ask(text)print("提醒内容:"+resp)tts.text_to_speech(resp)

然后在call_back函数中,在if resp== “有需要再叫我”这个条件后,增加一个else指令:

else:index0 = resp.find('5分钟后提醒')if index0 != -1:text0 = '/EXTERNAL_reminder't = threading.Timer(300, act_remind, args=[text0])t.start()

这条指令就是判断是否要执行提醒计时线程。

关于demo.py的代码, 请参看之前的博文:

https://blog.csdn.net/hydekong/article/details/141354955

Rasa部分的actions.py,就增加两个actions:

class ActionSetReminder(Action):def name(self) -> Text:return "action_set_reminder"def run(self,dispatcher: CollectingDispatcher,tracker: Tracker,domain: Dict[Text, Any],) -> List[Dict[Text, Any]]:behavior = tracker.get_slot("behavior")msg1 = '我会在5分钟后提醒你' + behaviordispatcher.utter_message(text= msg1)return []class ActionReactToReminder(Action):def name(self) -> Text:return "action_react_to_reminder"def run(self,dispatcher: CollectingDispatcher,tracker: Tracker,domain: Dict[Text, Any],) -> List[Dict[Text, Any]]:behavior = tracker.get_slot("behavior")dispatcher.utter_message(f"主人,到时间 {behavior} 啦!")return []

domain.yml部分intents增加:

  - ask_remind_behavior

  - EXTERNAL_reminder

actions增加:

  - action_set_reminder

  - action_react_to_reminder

entities增加:

  - behavior

slots增加:

behavior:

    type: text

stories.md增加一个故事:

## set_reminder* ask_remind_behavior- action_set_reminder* EXTERNAL_reminder- action_react_to_reminder

nlu.md增加一个用户意图ask_remind_behavio

## intent: ask_remind_behavior
- 提醒我[接娃](behavior)
- 提醒我[健身](behavior)
- 提醒我[做饭](behavior)
- 提醒我[睡觉](behavior)
- 提醒我[回电](behavior)
- 提醒我[休息](behavior)
- 提醒我[洗澡](behavior)
- 提醒我[吃饭](behavior)
- 提醒我[开会](behavior)
- 提醒我[叫车](behavior)

最后rasa train把模型生成,rasa run actions把两个新增actions完成注册,再启动rasa run –enable-api,把rasa server跑起来。之后,进入语音助手的项目文件夹,输入python demo.py,就可以实际测试了。

http://www.yayakq.cn/news/914379/

相关文章:

  • 电子商务网站的分类网站被抄袭怎么办
  • 新乡网站关键词优化设计师互联网
  • 音乐网站开发思路做网站深圳
  • 三九手机网手机响应式网站模版做搜狗网站排名软件
  • 东莞企业模板建站嘉兴门户网站
  • 环保网站建设多少钱公司注册地址查询系统
  • wordpress怎么屏蔽国外IPseo公司怎样
  • 个人做排行网站个人网站注册步骤图解
  • 海南省建设设厅官方网站wordpress邮件发送功能无法开启
  • 注册企业邮箱号seo建站优化价格表
  • 南山做网站哪家好荆门市城乡建设管理局网站
  • 网站开发英语词汇上海建筑设计研究院
  • 网页网站设计公司排名网络服务商网站
  • 58同城网站建设改wordpress登陆图标
  • 网站栏目架构申请个人网站建设
  • 深圳建站哪家专业十大网站app软件
  • 手机建站cms建设工程质量管理条例2020
  • 网站公司未来计划ppt怎么做怎么做网站效果图
  • 北京比较好的网站建设公司个人可做网站需要什么材料
  • 怎么做网站的导航网络营销方式
  • 网站建设简介联系方式自己写的网站如何添加 cnzz统计
  • 一个人做电商网站难吗wordpress怎样安装
  • 昆明网站建设教学视频wordpress无法显示文章
  • 网站建设全包公司推荐手机网站制作方案
  • 网站建网站建设公司哈尔滨seo搜索排名优化
  • 如何做中介网站接单网站源码
  • 郑州网站制作汉狮网络广州网站建设策划书
  • 织梦网站织梦做英文版的奉化网站建设报价
  • 昆明网站制作定制公司掼蛋网站建设
  • 网站建设与发布的预算免费行情软件app网站mnu