返回顶部
首页 > 资讯 > 后端开发 > Python >python机器学习创建基于规则聊天机器人过程是什么
  • 384
分享到

python机器学习创建基于规则聊天机器人过程是什么

2023-06-25 12:06:13 384人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要讲解了“python机器学习创建基于规则聊天机器人过程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python机器学习创建基于规则聊天机器人过程是什么”吧!while&n

这篇文章主要讲解了“python机器学习创建基于规则聊天机器人过程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python机器学习创建基于规则聊天机器人过程是什么”吧!

    while True:    ai = input('我:')    print(AI.replace("吗", " ").replace('?','!').replace('?','!'))

    以上这段代码就是我们今天的主题,基于规则的聊天机器人

    聊天机器人

    聊天机器人本身是一种机器或软件,它通过文本或句子模仿人类交互。 简而言之,可以使用类似于与人类对话的软件进行聊天。

    为什么要尝试创建聊天机器人? 也许你对一个新项目感兴趣,或者公司需要一个,或者想去拉投资。 无论动机是什么,本文都将尝试解释如何创建一个简单的基于规则的聊天机器人。

    基于规则的聊天机器人

    什么是基于规则的聊天机器人?它是一种基于特定规则来回答人类给出的文本的聊天机器人。由于它基于强加的规则所以这个聊天机器人生成的响应几乎是准确的;但是,如果我们收到与规则不匹配的查询,聊天机器人将不会回答。与它相对的另一个版本是基于模型的聊天机器人,它通过机器学习模型来回答给定的查询。(二者的区别就是基于规则的需要我们指定每一条规则,而且基于模型的会通过训练模型自动生成规则,还记得我们上一篇的”机器学习介绍“吗,“机器学习为系统提供无需明确编程就能根据经验自动学习和改进的能力。”)

    基于规则的聊天机器人可能基于人类给出的规则,但这并不意味着我们不使用数据集。聊天机器人的主要目标仍然是自动化人类提出的问题,所以我们还是需要数据来制定特定的规则。

    在本文中,我们将利用余弦相似距离作为基础开发基于规则的聊天机器人。余弦相似度是向量(特别是内积空间的非零向量)之间的相似度度量,常用于度量两个文本之间的相似度。

    我们将使用余弦相似度创建一个聊天机器人,通过对比查询与我们开发的语料库之间的相似性来回答查询提出的问题。这也是我们最初需要开发我们的语料库的原因。

    创建语料库

    对于这个聊天机器人示例,我想创建一个聊天机器人来回答有关猫的所有问题。 为了收集关于猫的数据,我会从网上抓取它。

    import bs4 as bsimport urllib.request#Open the cat WEB data pagecat_data = urllib.request.urlopen('https://simple.wikipedia.org/wiki/Cat').read()#Find all the paragraph html from the web pagecat_data_paragraphs  = bs.BeautifulSoup(cat_data,'lxml').find_all('p')#Creating the corpus of all the web page paragraphscat_text = ''#Creating lower text corpus of cat paragraphsfor p in cat_data_paragraphs:    cat_text += p.text.lower()print(cat_text)

    python机器学习创建基于规则聊天机器人过程是什么

    使用上面的代码,会得到来自wikipedia页面的段落集合。 接下来,需要清理文本以去除括号编号和空格等无用的文本。

    import recat_text = re.sub(r'\s+', ' ',re.sub(r'\[[0-9]*\]', ' ', cat_text))

    上述代码将从语料库中删除括号号。我特意没有去掉这些符号和标点符号,因为当与聊天机器人进行对话时,这样听起来会很自然。

    最后,我将根据之前创建的语料库创建一个句子列表。

    import nltkcat_sentences = nltk.sent_tokenize(cat_text)

    python机器学习创建基于规则聊天机器人过程是什么

    我们的规则很简单:将聊天机器人的查询文本与句子列表中的每一个文本之间的进行余弦相似性的度量,哪个结果产生的相似度最接近(最高余弦相似度)那么它就是我们的聊天机器人的答案。

    创建一个聊天机器人

    我们上面的语料库仍然是文本形式,余弦相似度不接受文本数据;所以需要将语料库转换成数字向量。通常的做法是将文本转换为词袋(单词计数)或使用TF-IDF方法(频率概率)。在我们的例子中,我们将使用TF-IDF。

    我将创建一个函数,它接收查询文本,并根据以下代码中的余弦相似性给出一个输出。

    让我们看一下代码。

    from sklearn.metrics.pairwise import cosine_similarityfrom sklearn.feature_extraction.text import TfidfVectorizerdef chatbot_answer(user_query):        #Append the query to the sentences list    cat_sentences.append(user_query)        #Create the sentences vector based on the list    vectorizer = TfidfVectorizer()    sentences_vectors = vectorizer.fit_transfORM(cat_sentences)        #Measure the cosine similarity and take the second closest index because the first index is the user query    vector_values = cosine_similarity(sentences_vectors[-1], sentences_vectors)    answer = cat_sentences[vector_values.argsort()[0][-2]]        #Final check to make sure there are result present. If all the result are 0, means the text input by us are not captured in the corpus    input_check = vector_values.flatten()    input_check.sort()        if input_check[-2] == 0:        return "Please Try again"    else:         return answer

    我们可以把上面的函数使用下面的流程图进行表示:

    python机器学习创建基于规则聊天机器人过程是什么

    最后,使用以下代码创建一个简单的回答交互。

    print("Hello, I am the Cat Chatbot. What is your meow questions?:")while(True):    query = input().lower()    if query not in ['bye', 'Good bye', 'take care']:        print("Cat Chatbot: ", end="")        print(chatbot_answer(query))        cat_sentences.remove(query)    else:        print("See You Again")        break

    上面的脚本将接收查询,并通过我们之前开发的聊天机器人处理它们。

    python机器学习创建基于规则聊天机器人过程是什么

    从上面的图片中看到的,结果还是可以接受的,但有也有些奇怪的回答。但是我们要想到,目前只从一个数据源中得到的结果,并且也没有做任何的优化。如果我们用额外的数据集和规则来改进它,它肯定会更好地回答问题。

    感谢各位的阅读,以上就是“python机器学习创建基于规则聊天机器人过程是什么”的内容了,经过本文的学习后,相信大家对python机器学习创建基于规则聊天机器人过程是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

    --结束END--

    本文标题: python机器学习创建基于规则聊天机器人过程是什么

    本文链接: https://lsjlt.com/news/304630.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • python机器学习创建基于规则聊天机器人过程是什么
      这篇文章主要讲解了“python机器学习创建基于规则聊天机器人过程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python机器学习创建基于规则聊天机器人过程是什么”吧!while&n...
      99+
      2023-06-25
    • python机器学习创建基于规则聊天机器人过程示例详解
      目录聊天机器人基于规则的聊天机器人创建语料库创建一个聊天机器人总结还记得这个价值一个亿的AI核心代码? while True: AI = input('我:') ...
      99+
      2024-04-02
    • 使用 Python 创建一个基于规则的聊天机器人
      目录1、聊天机器人2、基于规则的聊天机器人3、创建语料库4、创建一个聊天机器人5、总结前言: 还记得这个价值一个亿的AI核心代码? while True: AI...
      99+
      2024-04-02
    • 学习Python,开发智能聊天机器人
      学习 Python,开发智能聊天机器人,需要具体代码示例 随着人工智能技术的不断发展,智能聊天机器人已经成为了人们对未来生活的一种想象。而 Python 作为一种简单易学、功能强大的编程语言,也成为了众多开发者实现智能聊天机器人...
      99+
      2024-01-19
      聊天机器人 智能 Python
    • 基于Python如何使用AIML搭建聊天机器人
      借助 Python 的 AIML 包,我们很容易实现人工智能聊天机器人。AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言...
      99+
      2022-06-04
      如何使用 机器人 Python
    • 聊天机器人ChatGPT是什么
      chatgpt是美国OpenAI开发的全新聊天机器人模型,它能通过学习和理解人类的语言进行对话,并根据聊天的上下文进行互动,协助人类...
      99+
      2023-02-08
      ChatGPT
    • Python基于Google Bard实现交互式聊天机器人
      目录用Python基于Google Bard做一个交互式的聊天机器人获取Session IDPython代码运行与尝试代码用Python基于Google Bard做一个交互式的聊天机...
      99+
      2023-03-24
      Python Google Bard聊天机器人 Python Bard交互式聊天
    • 基于小程序制作一个ChatGPT聊天机器人
      在AI技术日新月异的浪潮中,将ChatGPT与实战开发相结合,制作一个随身携带的聊天机器人,紧贴前沿的同时稳固基础。 一、前言 1.1、什么是ChatGPT 1.2、什么是文本完成 ...
      99+
      2023-08-30
      chatgpt 机器人 微信小程序 原力计划
    • Python基于Google Bard怎么实现交互式聊天机器人
      这篇文章主要介绍“Python基于Google Bard怎么实现交互式聊天机器人”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python基于Google Bard怎么实现交互式...
      99+
      2023-07-05
    • 如何使用Python开发基于ChatGPT的聊天机器人
      如何使用Python开发基于ChatGPT的聊天机器人随着人工智能的不断进步,聊天机器人已经成为了许多网站和应用程序的常见功能。而ChatGPT(Generative Pre-trained Transformer)是OpenAI开发的一种...
      99+
      2023-10-24
      聊天机器人 ChatGPT Python
    • ChatGPT PHP技术解析:构建智能聊天机器人的机器学习算法
      ChatGPT PHP 技术解析:构建智能聊天机器人的机器学习算法,需要具体代码示例引言:随着人工智能的发展和应用,聊天机器人成为了一种普遍存在的工具,能够提供人机对话服务,满足用户的需求和解答疑问。ChatGPT 是一个基于机器学习算法的...
      99+
      2023-10-26
      ChatGPT PHP 机器学习算法
    • 什么是Python机器学习
      本篇内容介绍了“什么是Python机器学习”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是机器学习?亚瑟·塞缪尔(...
      99+
      2023-06-16
    • 快速实现基于Python的微信聊天机器人示例代码
      最近听说一个很好玩的图灵机器人api,正好可以用它做一个微信聊天机器人,下面是实现 # test.py import requests import itchat #这是一个用于微信回复的库 KE...
      99+
      2022-06-04
      示例 机器人 快速
    • 怎么使用Python人工智能构建简单聊天机器人
      今天小编给大家分享一下怎么使用Python人工智能构建简单聊天机器人的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。什么是聊天...
      99+
      2023-07-05
    • python人工智能human learn绘图创建机器学习模型
      目录什么是 human-learn安装 human-learn互动绘图创建模型并进行预测预测新数据解释结果预测和评估测试数据结论如今,数据科学家经常给带有标签的机器学习模型数据,以便...
      99+
      2024-04-02
    • 2019最新Python学习路线图:如何用Python创建微信机器人
      微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地。今天我们要讲的最新Python学习路线教程便是如何用Python来做一个微信聊天机器人,突然想起鲁迅先生曾经说过的一句话:因为是微信机器人系列的第一篇文...
      99+
      2023-06-02
    • Python中怎么创建线性回归机器学习模型
      Python中怎么创建线性回归机器学习模型,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。线性回归机器学习模型1.要使用的数据集由于线性回归是我们在本文中学习的第一个机器学习模型...
      99+
      2023-06-16
    • python机器学习Logistic回归原理是什么
      这篇“python机器学习Logistic回归原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python机器学习L...
      99+
      2023-07-02
    • Python机器学习应用之基于天气数据集的XGBoost分类篇解读
      目录一、XGBoost1 XGBoost的优点2 XGBoost的缺点二、实现过程1 数据集2 实现三、KeysXGBoost的重要参数一、XGBoost XGBoost并不是一种模...
      99+
      2024-04-02
    • python怎么使用Evidently创建机器学习模型仪表板
      这篇文章主要讲解了“python怎么使用Evidently创建机器学习模型仪表板”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么使用Evidently创建机器学习模型仪表板”吧...
      99+
      2023-06-25
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作