Home

Awesome

xuesebot

这是一个可以回答游戏《三国志11》著名mod《血色衣冠》中人物、城池、势力等情况的对话机器人。其基于Rasa,并辅以paddlespeech。实现可语音与机器人沟通。 目前,这个机器人刚刚出生,其很多功能不全,且有些问题回答不了,一步步完善。

简述:

这是一个暂未充分训练,但却相对完整的对话机器人:

  1. 其主本基于Rasa 3.0,Rasa可实现任务型(Task Oriented)对话。

  2. 此对话机器人可以实现基KG的KBQA形式的对话系系统。即血色衣冠中的人物、城池、势力等属性与关系信息,经处理存储于图数据库neo4j中。

  3. 闲聊实现基于CDial-GPT。

  4. 对话机器人,需要听、说,即机器人可与人交流, 此处主要基于paddlespeech 实现, paddlespeecq负责语音识别(Automatic Speech Recognition, ASR) 与语音生成(Text To Speech,TTS),另外也基于pyaudio与auditok实现语音端点检测(Voice Activity Detection, VAD)。

必备

  1. rasa 3.0
  2. transformers
  3. paddlespeech (最好源码安装或hard模式)
  4. 其他requirements.txt要求模块

使用

训练 Rasa 模型

尝试与此机器人交流,首先需要训练rasa模型,数据已经做处理, 可以直接训练。

rasa train

启动知识库

模型训练结束后,需要将数据放进neo4j当中(此步不依赖于上步训练,故可以提前执行)。

sudo neo4j start #如果启动不了,加sudo试下
python process_raw_data/process_forces.py # 将处理好的数插入neo4j中

启动Rasa服务器和客户端

rasa run --enable-api --debug #--debug 表调试模型

启动rasa 动作服务

用于处理定制的机器人动作。

rasa run actions

启动paddlespeech 的ASR, TTS 与文本断句服务。


paddlespeech_server start --config_file ./conf/tts_online_application.yaml
paddlespeech_server start --config_file conf/ws_conformer_application.yaml
paddlespeech_server start --config_file conf/punc_application.yaml

开始交流

python interact.py

注: 以上最好者分别在当前目录下启动新的terminal 窗口。

功能

以下功能基本上实现了图谱查询功能,bot可回答一些简单的问题,但暂不能回答关系性问题如“比较”,“双条件查询”等。