一、学习笔记

环境要求:

  • 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基础功能拓展-与互联网的集成相关推荐

  1. 智能对话机器人开发实战视频教程-张子良-专题视频课程

    智能对话机器人开发实战视频教程-308人已学习 课程介绍         机器人开发实战教程.该视频课程共涵盖四大方面: 1.案例驱动:三大智能对话机器人需求场景,三个完整案例: 2.源码操作:内含完 ...

  2. 智能对话机器人开发实战案例剖析(2)

    一.前言 本文是<智能对话机器人开发实战案例剖析>系列的第2篇:智能对话机器人分类标准,旨在对智能对话系统的进行一个系统性的介绍.相关内容已同步录制成视频课程,发布在网易云课堂. 二.正文 ...

  3. MySQL实战45讲学习笔记

    文章目录 MySQL实战45讲-学习笔记 01 基础架构:一条SQL查询语句是如何执行的? mysql逻辑架构 连接器 查询缓存 分析器 优化器 执行器 02 日志系统:一条SQL更新语句如何执行 r ...

  4. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(5):将爬虫爬取到的数据存储到TXT,Word,Excel,Json等文件中

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,此套教程共5章,加起来共有34节课,内容非常详细丰富!如果你也要这套视频教程的话,关注我公众号[小众技术] ...

  5. mysql 实战 45讲 学习笔记 基础知识 原理剖析

    MySQL 实战45讲 持续更新中~ 00讲 开篇 我们知道如何写出逻辑正确的SQL语句来实现业务目标,却不确定这个语句是不是最优的 我们听说了一些使用数据库的最佳实践,但是更想了解为什么这么做 我们 ...

  6. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(3):抓取猫眼电影榜单TOP100电影,并存入Excel表格

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...

  7. 丁奇的MySQL实战45讲 学习笔记[链接]

    收录一下, 方便自己查阅 <MySQL实战45讲>1~15讲 -丁奇,学习笔记 <MySQL实战45讲>16~30讲 -丁奇,学习笔记 <MySQL实战45讲>31 ...

  8. 《崔庆才Python3网络爬虫开发实战教程》学习笔记(4):解析库Xpath的使用方法总结

    本篇博文是自己在学习崔庆才的<Python3网络爬虫开发实战教程>的学习笔记系列,如果你也要这套视频教程的话,关注我公众号[小众技术],关注后回复[PYTHON],无套路免费送你一个学习大 ...

  9. MySQL实战45讲学习笔记----查询结果返回过程分析

    全表扫描时,客户端查询服务端数据库中大量数据,查询结果是如何返回给客户端的. 全表扫描对server层的影响 mysql -h$host -P$port -u$user -p$pwd -e " ...

最新文章

  1. python爬虫怎么爬同一个网站的多页数据-如何用Python爬数据?(一)网页抓取
  2. Linux文件系统上的特殊权限      SUID, SGID, Sticky(粘之位)
  3. IDEA出现import org.junit.Test飘红解决方案
  4. CV之FD之HOG:图像检测之基于HOG算法、简介、代码实现(计算图像相似度)之详细攻略
  5. 最长重复子串(Rabin-Karp算法)
  6. 前端性能优化 Web前端应该从哪些方面来优化网站?
  7. Google Guava MultiMaps
  8. 如何在用户区显示一张位图
  9. android中文朗读包,Android 通过手说tts中文语音包实现中文朗读
  10. 自考《离散数学》题型总结
  11. python字体描边_使用 python 将文泉驿字体导出为 fnt 格式的bitmap font
  12. linux快捷键停止抓包命令,【linux命令】Linux抓包命令tcpdump以及常见抓包使用方法...
  13. 成功爬虫下载抖音用户视频(无水印)
  14. python往word文档中写入表格、段落、标题、图片...(超级全)
  15. Invalid bound statement (not found)出现原因和解决方法
  16. python爬取 XKCD 中文站,包含多线程
  17. 中国建设银行数据治理实践的三高、四落、八行为
  18. 告别公共网盘,用闲置电脑或个人工作PC建立私有云超级网盘!
  19. 富芮坤FR801xH蓝牙协议栈启动流程和notify实现温度数据主动上传
  20. 举个栗子!Tableau 技巧(139):突出显示文本表的行或列

热门文章

  1. Chrome浏览器截取网页生成图片
  2. 无缝轮播图无缝轮播图
  3. 身份证核验、实名认证接口助力实名制
  4. 两台codesys设备之间通过modbus TCP通讯案例
  5. 基于Jquery实现登录功能的前端页面
  6. Android 点击屏幕空白处隐藏软键盘
  7. vim-python怎么用_如何在使用 Vim 时访问/查看 Python 帮助
  8. Python 与 SQL 这样超强结合,处理数据才是爆赞
  9. CF 1720 D1. Xor-Subsequence (easy version) dp 1800
  10. jQuery API .append()