《智能对话机器人开发实战20讲》--学习笔记--AIML基础功能拓展-与互联网的集成
一、学习笔记
环境要求:
- aiml
- bs4
语料库:
- tuling.aiml
search_web.aiml
<that>WHICH SEARCH ENGINE WOULD YOU LIKE TO USE *</that>上下文:Which search engine would you like to use? Baidu, Yahoo, Yahoo Auctions, or Ebay.,获取变量<set name="search">
<srai>SEARCH BAIDU FOR <get name="search"/></srai>跳转到<pattern>SEARCH BAIDU FOR *</pattern><?xml version="1.0" encoding="ISO-8859-1"?>
<aiml version="1.0">...<category>
<pattern>SEARCH FOR *</pattern>
<template>
<think><set name="search"><star/></set></think>
Which search engine would you like to use? Baidu, Yahoo, Yahoo Auctions, or Ebay.
</template>
</category>...<category>
<pattern>BAIDU</pattern>
<that>WHICH SEARCH ENGINE WOULD YOU LIKE TO USE *</that>
<template>
<srai>SEARCH BAIDU FOR <get name="search"/></srai>
</template>
</category>...<category>
<pattern>SEARCH BAIDU FOR *</pattern>
<template>
<system>python search_baidu.py <star /></system><srai>WEBDONE</srai>
</template>
</category>...</aiml>
std-startup.xml
<aiml version="1.0.1" encoding="UTF-8">
<category>
<pattern>LOAD AIML C</pattern>
<template>
<learn>search_web.aiml</learn>
<learn>tuling.aiml</learn>
</template>
</category>
</aiml>
search_baidu.py
# -*- coding: utf-8 -*-
import bs4
import sys
import urllibdef getFromBaidu(strKeyword, intNumPages=5):headers = {"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Encoding": "compress","Accept-Language": "en-us;q=0.5,en;q=0.3","Cache-Control": "max-age=0","Connection": "keep-alive","User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0"}strBaidu = "http://www.baidu.com"url = strBaidu + "/s?wd=" + urllib.parse.quote(strKeyword) + "&cl=3"req = urllib.request.Request(url=url, headers=headers)response = urllib.request.urlopen(req)html = response.read()html = html.decode("utf-8")lstResults = []soup = bs4.BeautifulSoup(html, "lxml")for tagH3 in soup.find_all("h3", attrs={"class": "t"}):lstResults.append(tagH3.a.get_text())for tagDiv in soup.find_all("div", attrs={"id": "page"}):lstUrls = [strBaidu + tagA["href"] for tagA in tagDiv.find_all("a", attrs={"href": True})]for idxPage in range(intNumPages):url = lstUrls[idxPage]req = urllib.request.Request(url=url, headers=headers)response = urllib.request.urlopen(req)html = response.read()html = html.decode("utf-8")soup = bs4.BeautifulSoup(html, "lxml")for tagH3 in soup.find_all("h3", attrs={"class": "t"}):lstResults.append(tagH3.a.get_text())return lstResultsif __name__ == "__main__":#读取参数:关键词strKeyword = "胖子哥"if len(sys.argv) == 2:strKeyword = sys.argv[1]else:print(sys.argv)#执行查询lstResults = getFromBaidu(strKeyword, 5)for strRes in lstResults:print(strRes + "\n")
['D:\\ProgramData\\Anaconda3\\envs\\chatbot\\lib\\site-packages\\ipykernel_launcher.py', '-f', 'C:\\Users\\zhaoyin\\AppData\\Roaming\\jupyter\\runtime\\kernel-1b571e0b-66ee-454f-8f0b-4207067fc3a9.json']
如何系统学习知识图谱-胖子哥的实践经验分享 - 阿尔法..._CSDN博客胖子哥视频直播全集_胖子哥资料大全-YY官方_yy直播新疆胖子哥的联系方式_百度知道胖子哥(一斤多)的主页-快手直播胖纸哥_视频大全_高清在线观看《胖子哥》的主页-快手直播我叫胖子哥吧-百度贴吧隔壁胖子哥【药娘吧】_百度贴吧胖子哥的个人空间 - 爱拍原创胖子哥的大数据之路(12)-三张图告诉你大数据安全方案设计..._博客园『胖子哥』的主页-快手直播胖子哥_作者专栏_太平洋电脑网山东~胖子哥的快手胖子哥(一斤多)的主页-快手直播胖纸哥你这午饭吃的,太馋了-凤凰网视频-最具媒体品质的综合视...新疆胖纸哥的全部相关视频_bilibili_哔哩哔哩弹幕视频网胖子哥,你不是说..._已解决 - 阿里巴巴生意经胖子哥 - 熊掌号胖子哥空间动态-胖子哥相关视频-爱奇艺山东~胖子哥的主页-快手直播【大数据 胖子哥】 - CSDN厉害了我的胖子哥,配音不可挑剔|配音|胖子_新浪网胖子哥135641直播间-龙珠直播胖子哥!!!_用户首页_六只脚胖子哥的大数据之路(一)最近这首歌火爆全网,胖子哥唱的真好听,忍不住多听了几遍!胖子胖子哥的微博_微博大胖子哥 | 人人都是产品经理我和胖子哥的五天五夜海南环岛旅行_搜狐旅游_搜狐网胖子哥资料照片_江苏南京征婚交友_珍爱网胖子哥对美女的热情多年不变,看的小伙生气,美女没办法!..._搜狐视频胖子哥吃美食_新疆胖子哥 - 百度云网盘 - 盘搜搜胖子哥资料照片_山东青岛征婚交友_珍爱网东北丶胖子哥_东北丶胖子哥直播间570520_英雄联盟直播_斗鱼 - ...妖娆胖子哥 对 光明勇士(测试服) 发表的评价 | TapTap 发现好游戏胖子哥的大数据之路9-数据仓库金融行业数据逻辑模型FS-LDM胖子哥-原创-高清正版视频在线观看–爱奇艺胖子哥, 大过年的你怎么在网吧睡觉呀!_腾讯视频胖胖子哥的个人空间 - 糗事百科胖子哥服饰好不好【猛戳查看】有谁用过啊好吗_国内新闻_中国海西网胖子哥的游记 - 马蜂窝胖子哥—自拍—视频高清在线观看-优酷胖子哥的大数据之路(14):数据价值链模型 - 张子良 - 博客园东北丶胖子哥直播_英雄联盟直播_斗鱼直播胖子哥这舞蹈也是没谁了 心疼小草十分钟_视频在线观看 - 56.com逃生的第三期胖子哥终于死了-游戏视频-搜狐视频胖子哥的大数据之路(一)-数据仓库也需要大数据-博客-云栖社区-...@胖子哥的一封信,收到请回信。首页-胖子哥零食小铺-淘宝网胖子哥的大数据之路(五)每个胖子都是潜力股 胖子哥变帅型男网络走红 _新浪湖北时尚_新浪...690斤胖子哥取了90斤美娇妻,婚后的生活处处不和谐?_手机网易网胖子哥很潮空间_胖子哥很潮论坛动态_房天下空间胖子哥的大数据之路(6)- NoSQL生态圈全景介绍 - CSDN博客胖子哥135641直播间-龙珠直播,游戏直播平台胖子哥的大数据之路(8)- 数据仓库命名规范 - 张子良 - 博客园隆力奇胖子哥张伟民个人12主页_上海隆力奇直销|上海隆力奇经销商|...胖子哥呀的微博_微博胖子哥每日经典 - 熊掌号
# -*- coding: utf-8 -*-
import aiml
import osmybot_path = './'
# 切换到语料库所在工作目录
os.chdir(mybot_path)
mybot = aiml.Kernel()
mybot.learn("std-startup.xml")
mybot.respond('load aiml c')
while True:input1 = input("Enter your message >> ");res = mybot.respond(input1);print(res)
Loading std-startup.xml...done (0.00 seconds)
Loading search-web.aiml...done (0.00 seconds)
Loading tuling.aiml...done (0.67 seconds)
Enter your message >> search baidu for printf
printf_百度百科 printf()_百度百科 printf - C++ Reference printf()终极详解 - jisuanji198509的博客 - CSDN博客 关于C语言printf();函数输出格式_百度经验 【C语言】printf()函数详解 - C/C++专题 - 博客园 实验吧-溢出-printf - leeham的博客 - CSDN博客 关于printf("%d,%d",i--,i++)的问题 - 问路的博客 - CSDN博客 C 库函数 – printf() | 菜鸟教程 printf语句怎样使用_百度经验 printf()详解之终极无惑 - Dablelv的博客专栏 - CSDN博客 printf语句怎样使用_百度经验 printf("%p\n",&A::m_a) 中%p的意思 - 2puT - CSDN博客 printf()用法总结 - me匆匆过客 - 博客园 printf详细用法 - xiaorange131的博客 - CSDN博客 c语言printf()输出格式大全_百度文库 STM32串口使用Printf()函数问题_百度文库 c语言之printf输出语句_百度文库 Printf printf(3): formatted output conversion - Linux man page printf()详解之终极无惑 - 莫水千流 - 博客园 printf()函数详解 - 改变从此发生 - CSDN博客 PHP printf() 函数 printf(3): formatted output conversion - Linux man page printf用法大全,C语言printf格式控制符一览表 printf 命令详解-金色之谜-51CTO博客 PHP: printf - Manual printf(3) - Linux manual page std::printf, std::fprintf, std::sprintf, std::snprintf - cpp... printf命令详解(从头说起~超详细~) std::printf, std::fprintf, std::sprintf, std::snprintf - cpp... printf - Wikipedia printf函数 - 电子工程世界网 printf专题:你可能不知道的printf用法 | C语言研究中心 - C语言网 【printf】什么意思_英语printf的翻译_音标_读音_用法_..._有道词典 printf命令详解(从头说起~超详细~) printf FatFs - f_printf Printflow The GNU Awk User’s Guide: Printf Slyar Home - 姜南的博客 - 记录个人生活和技术心得 Newest 'printf' Questions - Stack Overflow 3.5 printf printf("a=%#x\n",a)这个#什么意思-问答-云栖社区-阿里云 #%d#c语言中printf中各选项含义 - 简书 printf怎么用 _pc6资讯 printf和scanf什么意思 - 编程语言及工具 - 电子发烧友网 Linux shell中的printf的详细用法_linux shell_脚本之家 printf("\t - 西祠胡同 c-C语言printf函数不能输出%B——CSDN问答频道 c-C语言printf函数不能输出%B——CSDN问答频道 fprintf和printf有什么区别吗?_百度知道 printf-JavaScript中文网-JavaScript教程资源分享门户 golang printf中的%c,%d,%u.都分别代表输出的是什么类型的? - Go... printf format string - Wikipedia Printf | Unreal Engine 自己实现printf函数 | 易学教程 printf、_printf_l、wprintf、_wprintf_l 为什么printf里要加“%s\n”,为什么我去掉%s单独在前面或者后面加... 为什么需要printf两个/r/n才能换行?-STM32-F0/F1/F2专区-OpenEdv-... There you go.
Enter your message >> 哈WARNING: No match found for input: 哈Enter your message >> 哈哈
的牙呢???
二、学习作业
三、课程学习方式
《智能对话机器人开发实战20讲》
地址:https://edu.csdn.net/course/detail/8944
《智能对话机器人开发实战20讲》--学习笔记--AIML基础功能拓展-与互联网的集成相关推荐
- 智能对话机器人开发实战视频教程-张子良-专题视频课程
智能对话机器人开发实战视频教程-308人已学习 课程介绍 机器人开发实战教程.该视频课程共涵盖四大方面: 1.案例驱动:三大智能对话机器人需求场景,三个完整案例: 2.源码操作:内含完 ...
- 智能对话机器人开发实战案例剖析(2)
一.前言 本文是<智能对话机器人开发实战案例剖析>系列的第2篇:智能对话机器人分类标准,旨在对智能对话系统的进行一个系统性的介绍.相关内容已同步录制成视频课程,发布在网易云课堂. 二.正文 ...
- MySQL实战45讲学习笔记
文章目录 MySQL实战45讲-学习笔记 01 基础架构:一条SQL查询语句是如何执行的? mysql逻辑架构 连接器 查询缓存 分析器 优化器 执行器 02 日志系统:一条SQL更新语句如何执行 r ...
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中
本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...
- mysql 实战 45讲 学习笔记 基础知识 原理剖析
MySQL 实战45讲 持续更新中~ 00讲 开篇 我们知道如何写出逻辑正确的SQL语句来实现业务目标,却不确定这个语句是不是最优的 我们听说了一些使用数据库的最佳实践,但是更想了解为什么这么做 我们 ...
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(3):抓取猫眼电影榜单TOP100电影,并存入Excel表格
本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...
- 丁奇的MySQL实战45讲 学习笔记[链接]
收录一下, 方便自己查阅 <MySQL实战45讲>1~15讲 -丁奇,学习笔记 <MySQL实战45讲>16~30讲 -丁奇,学习笔记 <MySQL实战45讲>31 ...
- 《崔庆才Python3网络爬虫开发实战教程》学习笔记(4):解析库Xpath的使用方法总结
本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...
- MySQL实战45讲学习笔记----查询结果返回过程分析
全表扫描时,客户端查询服务端数据库中大量数据,查询结果是如何返回给客户端的. 全表扫描对server层的影响 mysql -h$host -P$port -u$user -p$pwd -e " ...
最新文章
- python爬虫怎么爬同一个网站的多页数据-如何用Python爬数据?(一)网页抓取
- Linux文件系统上的特殊权限 SUID, SGID, Sticky(粘之位)
- IDEA出现import org.junit.Test飘红解决方案
- CV之FD之HOG:图像检测之基于HOG算法、简介、代码实现(计算图像相似度)之详细攻略
- 最长重复子串(Rabin-Karp算法)
- 前端性能优化 Web前端应该从哪些方面来优化网站?
- Google Guava MultiMaps
- 如何在用户区显示一张位图
- android中文朗读包,Android 通过手说tts中文语音包实现中文朗读
- 自考《离散数学》题型总结
- python字体描边_使用 python 将文泉驿字体导出为 fnt 格式的bitmap font
- linux快捷键停止抓包命令,【linux命令】Linux抓包命令tcpdump以及常见抓包使用方法...
- 成功爬虫下载抖音用户视频(无水印)
- python往word文档中写入表格、段落、标题、图片...(超级全)
- Invalid bound statement (not found)出现原因和解决方法
- python爬取 XKCD 中文站,包含多线程
- 中国建设银行数据治理实践的三高、四落、八行为
- 告别公共网盘,用闲置电脑或个人工作PC建立私有云超级网盘!
- 富芮坤FR801xH蓝牙协议栈启动流程和notify实现温度数据主动上传
- 举个栗子!Tableau 技巧(139):突出显示文本表的行或列
热门文章
- Chrome浏览器截取网页生成图片
- 无缝轮播图无缝轮播图
- 身份证核验、实名认证接口助力实名制
- 两台codesys设备之间通过modbus TCP通讯案例
- 基于Jquery实现登录功能的前端页面
- Android 点击屏幕空白处隐藏软键盘
- vim-python怎么用_如何在使用 Vim 时访问/查看 Python 帮助
- Python 与 SQL 这样超强结合,处理数据才是爆赞
- CF 1720 D1. Xor-Subsequence (easy version) dp 1800
- jQuery API .append()