参考https://github.com/chatopera/clause-py-demo

前提:安装完毕 Docker、Docker Compose 和 Python3.x

git clone https://github.com/chatopera/clause-py-demo.git
cd clause-py-demo
docker-compose pull

我使用了sudo

创新python环境,并使用

(env) xuehp@haomeiya002:~/git/clause-py-demo$
sudo pip3 install thrift
sudo pip3 install absl-py
sudo pip3 install clause
sudo pip3 install -r requirements.txt
export DOCKER_HOST=8056
sudo docker-compose up

等待,这样服务就运行起来了。

注意:

  1. bot.py 是一个示例程序
  2. 加载文件profile.json,这个文件定义了一个机器人,例如:点餐机器人
  3. 处理同义词,识别意图。这些在文件profile.json中已经定义。文件见后文
  4. 和服务端交互,继续完成以下操作:训练机器人、开始对话。如下图
  5. 运行bot.py失败,ConnectionResetError: [Errno 104] Connection reset by peer

profile.json文件,很重要。定义了一个机器人,意图、交互方式(说法)、槽位、槽值的抽取方式
{
"chatbotID": "bot007",
"dicts": [
{
"name": "food",
"type": "vocab",
"dictwords": [
{
"word": "汉堡",
"synonyms": "汉堡包;漢堡;漢堡包"
},
{
"word": "蕃茄酱"
}
]
},
{
"name": "phoneNumber",
"type": "regex",
"patterns": ["[1]([3-9])[0-9]{9}"]
}
],
"intents": [
{
"name": "take_out",
"description": "下外卖订单",
"slots": [
{
"name": "time",
"dictname": "@TIME",
"requires": true,
"question": "您想什么时候送到?"
},
{
"name": "loc",
"dictname": "@LOC",
"requires": true,
"question": "您希望该订单送到哪里?"
},
{
"name": "food",
"dictname": "food",
"requires": true,
"question": "您需要什么食物?"
},
{
"name": "phone",
"dictname": "phoneNumber",
"requires": true,
"question": "您的手机号是什么?"
}
],
"utters": [
{
"utterance": "我想订一份{food}"
},
{
"utterance": "我想点外卖"
},
{
"utterance": "我想点一份外卖,{time}用餐"
},
{
"utterance": "我想点一份{food},送到{loc}"
}
]
}
]
}

学习笔记(12)- chatopera的语义理解系统的更多相关文章

  1. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  2. springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定

    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...

  3. matlab学习笔记12单元数组和元胞数组 cell,celldisp,iscell,isa,deal,cellfun,num2cell,size

    一起来学matlab-matlab学习笔记12 12_1 单元数组和元胞数组 cell array --cell,celldisp,iscell,isa,deal,cellfun,num2cell,s ...

  4. Spring源码学习笔记12——总结篇,IOC,Bean的生命周期,三大扩展点

    Spring源码学习笔记12--总结篇,IOC,Bean的生命周期,三大扩展点 参考了Spring 官网文档 https://docs.spring.io/spring-framework/docs/ ...

  5. Ext.Net学习笔记12:Ext.Net GridPanel Filter用法

    Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...

  6. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

  7. Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...

  8. Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)'''from ...

  9. 并发编程学习笔记(12)----Fork/Join框架

    1. Fork/Join 的概念 Fork指的是将系统进程分成多个执行分支(线程),Join即是等待,当fork()方法创建了多个线程之后,需要等待这些分支执行完毕之后,才能得到最终的结果,因此joi ...

随机推荐

  1. 报bug mui分享微信 ,qq 分享失败

    1. iOS分享链接到微信,分享成功,但是分享的只有title,其他参数都没有 原因是mui分享进行了更新,msg新增了 msg.type 这个配置参数 qq : msg.type='text' 微信 ...

  2. SSHException: Error reading SSH protocol banner

    当我在使用ssh  远程connect 另一台机器的server 时出现了错误,错误如下,起初以为是自己代码写的有问题,后来本地了一下看了跑的没问题,我就开始根据报错去查寻原因, 起初在论坛博客看到这 ...

  3. Redis-消息

    Redis 发布订阅(实际开发不使用) Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下图 ...

  4. Python - 用python实现split函数

    # pattern支持字符或者字符串 def my_split(string, pattern): ret = [] len_pattern = len(pattern) while True: in ...

  5. template-组件封装

    HTML: //:ligit='ligit' 一致 <div id='app'> <template-swiper :ligit='ligit'></template-s ...

  6. 吴裕雄 python 机器学习——模型选择回归问题性能度量

    from sklearn.metrics import mean_absolute_error,mean_squared_error #模型选择回归问题性能度量mean_absolute_error模 ...

  7. python第四节【函数】

    函数 1. 函数 def greet_user(): """显示简单的问候语""" print("Hello") gre ...

  8. 2020年英特尔CPU供应短缺将持续

    导读 有着相当靠谱的爆料历史的台媒 DigiTimes 报道称,其预计英特尔的 CPU 供应短缺问题,将持续到 2020 年末.对于这样的预测,我们其实早已见怪不怪,毕竟该公司首席执行官 Bob Sw ...

  9. VS2017创建控制台应用后,编写完代码调试正常,使用exe文件直接执行出现闪退情况解决方法。

    这是因为代码中包含的相对路径的原因. 解决办法:把项目中包含的所有相对路径修改为绝对路径. (个人觉得因为直接执行exe文件,默认打开在C盘的用户目录下.) 例如: std::string DATA_ ...

  10. JS-判断null值

    单独判断 null var str = null; if(str === null){ alert("is null"); } 同时判断 null 和 undefined 虽然nu ...