離線聊天機器人


聊天機器人

一、語音識別

1、libai3/masr

MASR是一個基於端到端的深度神經網絡開箱即用中文普通話語音識別工具。

1.1使用docker安裝

docker使用起來就像虛擬機一樣,同時有着原生的性能。使用docker來運行masr非常方便。

在虛擬機中docker部署時產生了一系列的問題,內存不足,failed language path,於是安裝在了服務器上。

已經pull了libai3/masr-env:latest,也上傳了masr文件夾,其中的lm(百度的語言模型),pretrained(預訓練模型),test.wav(測試音頻,內容是你好很高興認識你),均已經上傳(tips:weather.wav是另一個測試,內容是北京的天氣情況,在windows測試時安裝了依賴requirement.txt,運行需要torch,所以要在conda環境運行);

 

 

 

 

 

 

參考鏈接:

Github項目:https://github.com/libai3/masr

ctcdecode安裝:

https://blog.csdn.net/u011550545/article/details/87926995

其他語音識別的項目:(有很多項目,如果masr無法達到效果進行嘗試,masr在windows環境安裝后沒有導入語言模型可以運行,但是音同字不同比較多)

https://www.csdn.net/gather_2d/MtTaggxsMDIzNy1ibG9n.html

 

 

 

 

 

 

二、機器人聊天

1.chatterbot

一個未經訓練的ChatterBot機器人,並沒有與用戶交談所需的知識。每當用戶輸入一句話,機器人將存下它,同時也存下答復的句子。 隨着機器人接受的輸入的增加,它能夠回答的問題的數量和准確度都會相應提升.程序是如何響應用戶輸入的呢?首先從已知句子中匹配出與用戶輸入最相近的句子(如何衡量相近, 大家可以想想),之后找到最有可能的回復,那么如何得出最有可能的回復呢?由所有和機器交流過的人們,對這個輸入問題(匹配過的)的各個回答的頻率決定

2安裝

pip install chatterbot

pip install --index-url https://pypi.douban.com/simple chatterbot

使用豆瓣源進行加速

剛開始在虛擬機安裝,解決其他錯誤后用以上方法安裝最后killed,內存不夠。所以選擇安裝到服務器,在服務器10.0.180.255安裝成功,但是服務器環境為anaconda下的python3.7,pip查看安裝成功,conda下的python3.7仍然無法應用

參考鏈接:

https://blog.just4fun.site/create-a-smart-chat-bot.html

 

在windows環境安裝測,出現

ModuleNotFoundError: No module named 'chatterbot_corpus'

Pip install chatterbot corpus可以解決這個問題

當運行chatbot.set_trainer(ChatterBotCorpusTrainer)時

AttributeError: 'ChatBot' object has no attribute 'set_trainer'

沒有解決

之后發現是參考版本落后,現在是1.0版本,參考github的chatterbot項目例子:

https://github.com/gunthercox/ChatterBot

 

 

解決win10環境下python3無法下載nltk_data的問題

https://www.jianshu.com/p/bc8209efdce8

 

最后windows下可以運行,中英文都可以,linux環境應該也可以,pip的環境和conda的環境要區分,還沒想到方法,conda似乎無法下載chatterbot,pip下載后不在conda環境里

成功對話的截圖

 

 

 

 

三、語音合成

1.ekho

TTS技術,TTS是Text To Speech的縮寫,即“從文本到語音”。它將計算機自己產生的、或外部輸入的文字信息轉變為可以聽得懂的、流利的漢語口語(或者其他語言語音)輸出的技術,隸屬於語音合成(SpeechSynthesis)。

 Ekho(余音)是一個免費、開源的中文語音合成(TTS)軟件。它目前支持粵語、普通話(國語)、廣東台山話、詔安客語、藏語、雅言(中國古代通用語)和韓語(試驗中),英語則通過eSpeak或Festival(可以英文發音)間接實現。Ekho支持Linux、Window和Android平台。

2.ekho安裝

xz -d ekho-7.5.tar.xz (xz解壓縮)

tar -xvf ekho-7.5.tar(再用tar解壓縮)

apt-get install libespeak-dev

apt-get install pulseaudio

apt-get install libpulse-ocaml-dev(安裝依賴,我安裝后編譯仍有報錯)

./configure

Make

make install

測試默認普通話

 ekho "你好"

參考鏈接:

https://www.cnblogs.com/yoyotl/p/8145273.html

https://www.cnblogs.com/subo_peng/p/5195478.html

https://blog.csdn.net/u014470361/article/details/84771720

 

./ configure之前總是報錯,安裝了上述3個包還缺少依賴,直接安裝提示E:找不到包地址,最后解決辦法是第三個鏈接的安裝依賴:

sudo apt-get install libespeak-dev libsndfile1-dev libpulse-dev libncurses5-dev libestools-dev festival-dev libvorbis-dev libmp3lame-dev libdotconf-dev texinfo

 

之后便可以正常執行,經測試可以中文發音,語速較慢,在服務器部署無法發音可以選擇生成音頻文件,音頻還可以讀為二進制再轉化為base64編碼字符串。

正確執行的截圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM