精华内容
下载资源
问答
  • Python智能对话机器人实现

    千次阅读 热门讨论 2019-07-20 15:49:08
    前言:看了许多大佬的博客,感觉做一个人工智能对话机器人其实不难。当然,从底层开始自己做是不可能的,那得自己研究语音识别算法,神经网络建立模型等等,要掌握一大堆超级高深的数学知识底蕴。今天,我做的只是...

    前言:看了许多大佬的博客,感觉做一个人工智能对话机器人其实不难。当然,从底层开始自己做是不可能的,那得自己研究语音识别算法,神经网络建立模型等等,要掌握一大堆超级高深的数学知识底蕴。今天,我做的只是裁缝,将调用各种API,各种第三库,将这一件衣服给缝的漂漂亮亮的。好了,请看我的!

    需求说明

    	用Pyhton做一个机器人,就像小爱同学,天猫精灵一样智能。可以对话,算术,百科,聊天,当然不能像小爱同学一样语音控制操作硬件,咱们只是从纯软件角度进行实现。
    

    思路分析

    Created with Raphaël 2.2.0开始1、说话2、音频3、文字4、回复5、音频6、语音 结束

    前期准备

    准备好 python 编译器 ,第三方库有 speech_recognition,baidu-aip,requests、json,pyttsx3 . 其中baidu-aip 需要去 https://ai.baidu.com/ 获取secret key,key,appID 三者才能使用baidu-aip 。百度的技术确实牛。

    1-2:录音,使用 speech_recognition 包
    2-3:百度API 导入模块:pip install baidu_aip
    3-4:图灵API 导入requests、json模块
    4-5:STT 模块pyttsx3,S它会将文字转为语音
    5-6:播放

    具体实现

    第一步:

    将我们的声音转换成音频文件,要求请看百度API文档,如下图:
    在这里插入图片描述
    使用speech_recognition包进行录音:

     import speech_recognition as sr
    # Use SpeechRecognition to record 使用语音识别包录制音频
    def my_record():
        rate = 16000   #录音参数必须满足 16k 采样率
        r = sr.Recognizer()  #实例化一个识别器r
        with sr.Microphone(sample_rate=rate) as source:   # 打开麦克风  句柄 source
            print("please say something")
            audio = r.listen(source)    #通过麦克风进行录音
    
        with open("voices/myvoices.wav", "wb") as f:  #设置文件名,类型
            f.write(audio.get_wav_data())             #将录音数据转换成wav格式写入文件
        print("录音完成!")
    my_record()
    

    如果有看不懂speech_recognition 的用法或注释或者代码的,请移步官方教程学习speech_recognition 官方文档

    第二步:

    我们已经在上面获取到了音频文件,那要怎么把音频文件转化为文字呢?在这里,我们就需要调用百度的语音识别API接口,同时我们需要安装这个接口包,导入模块:pip install baidu_aip。导入我们需要的模块名,然后将音频文件发送给出去,返回文字。https://ai.baidu.com/docs#/ASR-Online-Python-SDK/b3e9a8da 详细请看技术文档!
    懒得看,看下面截图也行:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    # 音频文件转文字:采用百度的语音识别python-SDK
    # 百度语音识别API配置参数
    from aip import AipSpeech
    
    APP_ID = '16847874'
    API_KEY = '6XATdS1rGo2NV27jHGemaada'
    SECRET_KEY = '0SINmEBfvotQXl1itzrMcwedaxuBaw4h'
    client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)
    path = 'voices/myvoices.wav'
    
    # 将语音转文本STT
    def listen():
        # 读取录音文件
        with open(path, 'rb') as fp:
            voices = fp.read()
        try:
            # 参数dev_pid:1536普通话(支持简单的英文识别)、1537普通话(纯中文识别)、1737英语、1637粤语、1837四川话、1936普通话远场
            result = client.asr(voices, 'wav', 16000, {'dev_pid': 1537, })
            result_text = result["result"][0]
            print("you said: " + result_text)
            return result_text
        except KeyError:
            print("KeyError")
    

    第三部

    上一步我们已经成功将我们的声音转化为文字了,然后我们再调用图灵机器人的API接口,做自动应答。图灵机器人对中文的识别准确率高达90%,是目前中文语境下智能度最高的机器人。有很多在Python中使用图灵机器人API的博客,但都是1.0版本,本博客介绍的是在Python中使用图灵机器人API v2.0的方法,1.0版本的调用方式已失效。接口文档如下:
    https://www.kancloud.cn/turing/www-tuling123-com/718227
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    # 与机器人对话:调用的是图灵机器人
    import requests
    import json
    
    # 图灵机器人的API_KEY、API_URL
    turing_api_key = "75854c5f9e6d4be"
    api_url = "http://openapi.tuling123.com/openapi/api/v2"  # 图灵机器人api网址
    headers = {'Content-Type': 'application/json;charset=UTF-8'}
    
    # 图灵机器人回复
    def Turing(text_words=""):
        #请求
        req = {
            "reqType": 0,       # 输入类型 为文本
            "perception": {
                "inputText": {
                    "text": text_words    # 输入文本信息
                },
    
                "selfInfo": {             # 客户端属性
                    "location": {
                        "city": "新干县",
                        "province": "江西省",
                        "street": "善政二路"
                    }
                }
            },
            #用户参数
            "userInfo": {
                "apiKey": turing_api_key,  # 你的图灵机器人apiKey
                "userId": "cheney007"  # 用户唯一标识(随便填, 非密钥)
            }
        }
    
        req["perception"]["inputText"]["text"] = text_words  #给json串赋值
        response = requests.request("post", api_url, json=req, headers=headers) #向接口网站发送请求
        response_dict = json.loads(response.text)
    
        result = response_dict["results"][0]["values"]["text"]  #得到接口的回复进行解析
        print("AI Robot said: " + result)
        return result
     
    

    第四步

    们得到了图灵机器人的回复之后,就需要把结果转化为语音输出,从而实现语音交互。在python中我们如何将文字转为语音并输出呢?这里就需要用到另一个模块pyttsx3,它会将文字转为语音。

    import pyttsx3
    def speak(workText):
        # 初始化语音
        engine = pyttsx3.init()  # 初始化语音库
        # 设置语速
        rate = engine.getProperty('rate')
        engine.setProperty('rate', rate - 50)
        # 输出语音
        engine.say(workText)  # 合成语音
        engine.runAndWait()
    
    

    测试项目

    import recognizer #录音
    import baidu      #录音转文字
    import turing     #文字得到回复
    import speak      #回复的文字转语音
    
    while(True):
        recognizer.my_record()
        text=baidu.listen()
        respondText=turing.Turing(text)
        print(respondText)
        speak.Speak(respondText)
    

    评价反思

    通过该博客使我学到了不少东西,虽然代码不是自己一行一行写出来的,但是确实跟着作者一步步去实现,去弄懂每一行代码,去查官方文档等等。最重要的不是记住这些代码,而是学会如何解决问题,如何去实现,如何去查找资料文档,如何借助第三方API,等等。这些经验对我个人来说应该是非常宝贵的,终生受益!再次感谢原作者。下面是原作者博客,如作者不希望我二次翻译原文,侵删!
    感谢原创作者:
    作者:夜空骑士
    来源:CSDN
    原文:https://blog.csdn.net/NIeson2012/article/details/96476878
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 一个Python 的 AI Chatbot框架... 平滑的UI使得轻松创建和训练机器人对话,并且随着从与人们的对话中学习而不断变得更聪明。 IKY可以通过将API与该平台集成在您所选择的任何渠道(如Messenger,Slack等)上。您不...

    一个Python 的 AI Chatbot框架

    建立一个聊天室可以听起来很棒,但它是完全可行的。 IKY是一个内置于Python中的AI动力对话对话界面。 使用IKY,很容易创建自然语言会话场景,无需编码工作。 平滑的UI使得轻松创建和训练机器人的对话,并且随着从与人们的对话中学习而不断变得更聪明。 IKY可以通过将API与该平台集成在您所选择的任何渠道(如Messenger,Slack等)上。

    您不需要成为人工智能的专家来创建具有人工智能的真棒聊天机。 有了这个基本的项目,你可以随时创建一个人工智能动力聊天机。可能有几十个错误。 所以随时可以通过拉请求作出贡献。

    An AI Chatbot framework built in Python

    Building a chatbot can sound daunting, but it’s totally doable. IKY is an AI powered conversational dialog interface built in Python. With IKY it’s easy to create Natural Language conversational scenarios with no coding efforts whatsoever. The smooth UI makes it effortless to create and train conversations to the bot and it continuously gets smarter as it learns from conversations it has with people. IKY can live on any channel of your choice (such as Messenger, Slack etc.) by integrating it’s API with that platform.

    You don’t need to be an expert at artificial intelligence to create an awesome chatbot that has artificial intelligence. With this basic project you can create an artificial intelligence powered chatting machine in no time.There may be scores of bugs. So feel free to contribute via pull requests.

    展开全文
  • 周末这两天在做一个很Cool的案例,就是智能对话机器人,我说一句话,然后机器人回复我一句话,大体的功能已经可以实现了,在这个案例里应用了百度ASR(语音识别声音转文字)服务和TTS(语音合成文字转声音)服务,图灵...

    周末这两天在做一个很Cool的案例,就是智能对话机器人,我说一句话,然后机器人回复我一句话,大体的功能已经可以实现了,在这个案例里应用了百度ASR(语音识别声音转文字)服务和TTS(语音合成文字转声音)服务,图灵聊天机器人服务,这些技术组合起来就成为了一个智能对话机器人案例。

    运行我写的Python程序调用图灵机器人服务的案例:

    这个案例的Python程序的源代码已经上传到github,需要的可以直接点击下载(下载前请点个赞,加个星star):

    https://github.com/hanshiqiang365/tuling_demo

    聊天机器人的技术核心在于自然语言识别中的语义识别,而这种技术是基于机器学习的,需要大量训练数据和时间,才能满足真正的业务需要。

    要做一个支持英语的简单的聊天机器人可以使用微软提供的QnAMaker API,那个我此前也用过的,做QnA还可以,但要真正AI对话就不行了。

    除了用这些各个平台和机构提供的AI服务外,我也在研究自开发的基于tenserflow的机器学习自然语言处理——语义解析的技术实现,是的,就是聊天机器人的核心技术实现。研究一下图灵机器人,或者微软的QnAMaker其实都是拿来学习研究做参考的。

    而智能语音对话,最根本的一个目的是改变目前人机交互的方式,做到像是漫威电影里钢铁侠和人工智能贾维斯或者星期五的语言交互,这才是一个智能语音助手需要具有的功能实现。

    故有此文,与君分享。

    韩思先生,韩世强,在外企工作,英文名或者说德文名是HANS,因此笔名韩思先生。职业IT经理人,半个文化人。好读书,好写作,好爬山,现定居大连。从事IT行业近二十年,积累了丰富的IT软件项目实施和管理经验,做过程序猿,产品狗和运营猫,知识面较广,并且喜欢总结和分享。

    展开全文
  • ,现在几乎30%的任务都是通过聊天机器人完成的。公司使用聊天机器人来提供诸如客户支持、生成信息等服务。以Siri、Alexa等为例,聊天机器人如何在我们的日常生活中发挥作用就变得,现在几乎30%的任务都是通过聊天...

    ,现在几乎30%的任务都是通过聊天机器人完成的。公司使用聊天机器人来提供诸如客户支持、生成信息等服务。以Siri、Alexa等为例,聊天机器人如何在我们的日常生活中发挥作用就变得

    ,现在几乎30%的任务都是通过聊天机器人完成的。公司使用聊天机器人来提供诸如客户支持、生成信息等服务。以Siri、Alexa等为例,聊天机器人如何在我们的日常生活中发挥作用就变得很清楚了。在本文中,我们将学习如何使用ChatterBot库在python中创建ChatterBot,ChatterBot库实现各种机器学习算法以生成响应。以下是本文讨论的主题:

    什么是聊天机器人?聊天机器人的发展限制与聊天机器人它是如何工作的?Python中的Chatterbot库它是如何工作的?Chatbot用例培训师-Flask Chatbot什么是Chatbot?”

    是一种聊天机器人,又称聊天机器人、机器人、人工智能体等,基本上是由人工智能驱动的软件程序,其目的是通过文本或语音与用户进行对话。著名的例子包括Siri、Alexa等。

    这些聊天机器人倾向于为用户执行特定的任务。聊天机器人通常执行诸如交易、预订酒店、提交表格等任务。随着人工智能领域的技术进步,使用聊天机器人的可能性是无穷的。

    几乎30%的任务都是由任何公司的聊天机器人执行的。公司使用这些聊天机器人来提供客户支持、传递信息等服务。尽管聊天机器人已经走到了最后面,但这段旅程是从一个非常基本的性能开始的。让我们来看看聊天机器人在过去几十年里的演变。

    聊天机器人的演变

    始于1966年,当时Joseph Weizenbaum制作了一个自然语言会话程序,其特点是用户和计算机程序之间的对话。随着这一重大突破的到来,新时代的聊天机器人技术在过去几十年里有了巨大的飞跃。

    传统机器人当前机器人未来机器人系统由多个层次的来回通信驱动基于自动化的机器人系统在任务级自动化在服务级自动化程度最低功能维护系统上下文维护任务的能力,系统和人员上下文维护只有系统上下文维护任务上下文以及主bot和最终bot操作系统的介绍。”

    的限制与聊天机器人

    随着进步,也出现了一个点,它变得相当困难的工作与聊天机器人。以下是我们面对聊天机器人的一些限制。

    领域知识-因为真正的人工智能仍然遥不可及,当聊天机器人与人交谈时,很难完全弄清对话的界限。

    的个性-不能正确地回应和相当差的理解能力已经超过了任何聊天机器人的常见错误,给聊天机器人添加个性仍然是一个基准,似乎远远的。但我们对现有的创新和进步驱动的方法充满希望。

    它是如何工作的

    “我们可以将聊天机器人定义为两类,以下是两类聊天机器人:

    基于规则的方法-在这种方法中,机器人是根据规则进行训练的。基于此,bot可以回答简单的查询,但有时无法回答复杂的查询。

    自学习方法-这些bot遵循机器学习方法,这种方法效率更高,并进一步分为两类。

    基于检索的模型-在这种方法中,bot检索最好的根据用户输入从响应列表中响应。

    生成模型-这些模型通常会给出答案,而不是从一组答案中搜索,这也使它们成为智能机器人。

    让我们尝试使用python中的chatterbot库从头开始创建chatterbotPython

    ChatterBot是天秤座pip安装chatterbot从聊天室导入聊天机器人来自chatterbot.trainers导入列表trainer#创建新聊天机器人chatbot=chatbot('Edureka')trainer=ListTrainer(聊天机器人)教练.训练(['嗨,我能帮你找一门课吗','我当然想给你找一门课','你的课程已经选好了')#从聊天机器人那里得到回应response=chatbot.get_response(“我想要一门课”)打印(响应)从烧瓶导入烧瓶,渲染模板,请求从聊天室导入聊天机器人app=烧瓶(名称)english_bot=聊天机器人(“Chatterbot”,storage_adapter=“Chatterbot.storage.SQLStorageAdapter”)trainer.train(“chatterbot.corpus.english”)@应用程序路由(“/”)返回呈现模板(“index.html”)@app.route(“/get”)def get_bot_response():返回str(english_bot.get_response(userText))如果uu name_uuuu==“uuu main_uuu”:

    index.html

    烧瓶抖音示例 嗨!我是喋喋不休的人。

    var rawText=$(“35; textInput”).val();$(“#textInput”).val(“”);$(“\chatbox”).append(用户HTML);$.get(“/get”,{msg:rawText}).done(函数(数据){$(“聊天框”).append(botHtml);});$(“文本输入”)。按键(功能(e){getBotResponse();}});getBotResponse(); /script 身体{字体系列:Garamond;背景色:黑色;h1颜色:黑色;上边距:0;文本对齐:居中;}三颜色:黑色;上边距:3倍;}#聊天室背景色:黑色;右边距:自动;宽度:40%;上边距:60px;#用户输入{右边距:自动;上边距:60px;}#文本输入{边界:无;字体系列:单空间;字号:17px;#按钮输入{衬垫:3px;字号:17px;}.用户文本{字体系列:单空间;文本对齐:右;}背景色:#009688;衬垫:10px;边界半径:2倍;.bottex文本{颜色:白色;字号:17px;线高:30px;.botText跨距{衬垫:10px;边界半径:2倍;}#小道消息{底部:0;右:0;}

    展开全文
  • 在人工智能进展的如火如荼的今天,我们如果不尝试去接触新鲜事物,马上就要被世界淘汰啦~本文拟使用Python开发语言实现类似于WIndows平台的“小娜”,或者是IOS下的“Siri”。最终达到人机对话的效果。【实现功能】...
  • 智能对话机器人

    2019-10-25 09:55:36
    参考地址:... 安装环境: 1、python >=3,我安装的 python3.6.5 其他库版本: tensorflow=1.8.0 nltk=3.4.5 tflearn=0.3.2 django pygubu=0.9.8.4 scipy=1.3.1 numpy=1.16.0 ...
  • 58同城帮帮智能问答机器人提供了... 在自动问答机器人上,帮帮具备QABot单轮问答(参考 QABot问答机器人算法实践 )、TaskBot任务多轮对话、ChatBot闲聊三种能力,本文主要介绍TaskBot任务对话机器人的算法实践。TaskB...
  • 借助 Python 的 AIML 包,我们很容易实现人工智能聊天机器人。AIML,全名为Artificial Intelligence Markup Language(人工智能标记语言),是一种创建自然语言软件代理的XML语言,是由Richard Wallace和世界各地的...
  • 其实咱们用Python也可以实现一个类似siri的对话机器人。基本环境配置版本:Python3系统:Windows原理许多现代语音识别系统会在HMM识别之前使用神经网络,通过特征变换和降维技术来简化语音信号,也可以使用语音活动...
  • 【潜水】胖子哥-对话机器人开发(1106110976) 2018/3/21 13:20:21 http://blog.csdn.net/hadoopdevelop/article/details/79455758 【冒泡】S(1289040439) 2018/3/21 13:21:58 请问下这是python2还是3 【潜水】...
  • 本文内容主要介绍了使用Python AIML搭建聊天机器人的方法示例,我觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随我过来看看吧AIML全名为Artificial Intelligence Markup Language(人工智能标记语言),...
  • 百度语音识别+图灵机器人+python实现智能对话 1、展示效果 对于简单的对话需要普通话比较标准,当然可以设置成四川话,不过对于名字也可能出错,因为近音词太多了。 2、实现过程 2.1、首先获取语音 通俗点讲就是你...
  • 2.建议的安装环境一定要遵循(python3 ,tensorflow1.15以上且不支持tensorflow2) 3.内网的服务器防火墙一定要关闭,不然访问不到 2.1导入bert-as-service 项目地址是:https://github.com/hanxiao/bert-as-service pip ...
  • AIML是智能对话机器人具有里程碑意义的开源项目,曾斩获多项国际大奖,是基于检索技术的闲聊式智能对话机器人的基石。在此把过往学习AIML的内容做了专题整理,发布出来。同时相关内容发布了对应的视频课程《Python...
  • Python因为其简单易学的特征而受到越来越多人的喜爱,特别是这两年国内人工智能的快速发展,让Python被更多的人所熟知。很多想学习Python的朋友都会疑问,除了人工智能,学完Python后还能做什么?Python能爬取哪些...
  • 一个Python 的 AI Chatbot框架... 平滑的UI使得轻松创建和训练机器人对话,并且随着从与人们的对话中学习而不断变得更聪明。 IKY可以通过将API与该平台集成在您所选择的任何渠道(如Messenger,Slack等)上。您不...
  • 一、前言这是系列博文《知识图谱实战开发案例剖析》第4部分...二、正文2.1 pyAiml开发环境安装部署下载:版本选择:安装:python setup.py install验证:2.2 第一个智能对话机器人2.2.1 创建工程2.2.2 创建启动配置...
  • 环境和工具公众号一个云服务器一台Python 环境Flask(Python 第三方库)图灵机器人账号以上就是我们实现公众号后台智能对话机器人需要的环境和工具,前两个就不多说了。我们代码使用 Python 开发,所以需要配置好 ...
  • wukong-robot 是一个简单、灵活、优雅的中文语音对话机器人/智能音箱项目,目的是让中国的 Maker 和 Haker 们也能快速打造个性化的智能音箱。
  • 此项目只不过是之前大三刚学python就想做点好玩的项目试试看(因此技术含量不高),...-------------------*********---------********项目简介:运用百度语音进行声音转中文的识别与合成,智能对话使用图灵机器人...
  • 原标题:精选:语音对话机器人,百行Python代码就能轻松实现 前言:Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了收藏已久的视频教程分享给大家!希望能带给大伙儿...
  • 叮当是一款可以工作在 Raspberry Pi 上的开源中文语音对话机器人/智能音箱项目,目的是让中国的Hacker们也能快速打造个性化的智能音箱
  • 一个Python 的 AI Chatbot框架... 平滑的UI使得轻松创建和训练机器人对话,并且随着从与人们的对话中学习而不断变得更聪明。 IKY可以通过将API与该平台集成在您所选择的任何渠道(如Messenger,Slack等)上。您不...
  • 其实咱们用Python也可以实现一个类似siri的对话机器人。基本环境配置版本:Python3系统:Windows原理许多现代语音识别系统会在HMM识别之前使用神经网络,通过特征变换和降维技术来简化语音信号,也可以使用语音活动...
  • 一个Python 的 AI Chatbot框架... 平滑的UI使得轻松创建和训练机器人对话,并且随着从与人们的对话中学习而不断变得更聪明。 IKY可以通过将API与该平台集成在您所选择的任何渠道(如Messenger,Slack等)上。您不需

空空如也

空空如也

1 2 3 4 5 6
收藏数 119
精华内容 47
关键字:

python智能对话机器人

python 订阅