zoukankan      html  css  js  c++  java
  • 离线聊天机器人

    聊天机器人

    一、语音识别

    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编码字符串。

    正确执行的截图

  • 相关阅读:
    Rman-10038: Database Session For Channel D1 Terminated Unexpectedly
    MySQL从入门到项目实践 pdf下载
    Oracle_优化器使用(oracle11g)
    当sqlserver启用sa账户时,出现Microsoft SQL Server 错误代号: 15535 解决方法 (转)
    sqlserver 如何分析“死锁调度程序”转储?
    AtCoder Beginner Contest 213
    LOJ
    [学习笔记] 计算几何
    [COCI 2009-2010 #6] XOR
    BZOJ
  • 原文地址:https://www.cnblogs.com/jiexing/p/11390655.html
Copyright © 2011-2022 走看看