Python智能对话机器人实现
前言:看了許多大佬的博客,感覺做一個人工智能對話機器人其實不難。當然,從底層開始自己做是不可能的,那得自己研究語音識別算法,神經網絡建立模型等等,要掌握一大堆超級高深的數學知識底蘊。今天,我做的只是裁縫,將調用各種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包進行錄音:
如果有看不懂speech_recognition 的用法或注釋或者代碼的,請移步官方教程學習speech_recognition 官方文檔
第二步:
我們已經在上面獲取到了音頻文件,那要怎么把音頻文件轉化為文字呢?在這里,我們就需要調用百度的語音識別API接口,同時我們需要安裝這個接口包,導入模塊:pip install baidu_aip。導入我們需要的模塊名,然后將音頻文件發送給出去,返回文字。https://ai.baidu.com/docs#/ASR-Online-Python-SDK/b3e9a8da 詳細請看技術文檔!
懶得看,看下面截圖也行:
第三部
上一步我們已經成功將我們的聲音轉化為文字了,然后我們再調用圖靈機器人的API接口,做自動應答。圖靈機器人對中文的識別準確率高達90%,是目前中文語境下智能度最高的機器人。有很多在Python中使用圖靈機器人API的博客,但都是1.0版本,本博客介紹的是在Python中使用圖靈機器人API v2.0的方法,1.0版本的調用方式已失效。接口文檔如下:
https://www.kancloud.cn/turing/www-tuling123-com/718227
第四步
們得到了圖靈機器人的回復之后,就需要把結果轉化為語音輸出,從而實現語音交互。在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智能对话机器人实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: x = x+1,x+=1,x++那个的执
- 下一篇: micropython web ws28