ustbgaofan / homo

一个基于离线唤醒,自然语言理解和情感分析的开源自然交互系统

Home Page:https://homo.codist.me/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Homo

一个基于离线唤醒,自然语言理解和情感分析的开源自然交互系统

Build Status Docker Layers Docker Image Size Docker Pulls Go Report MIT License

演示视频(BiliBili): https://www.bilibili.com/video/av54654613

https://www.bilibili.com/video/av54654613

功能

  • 离线唤醒
    • 基于开源轻量级语音识别引擎PocketSphinx实现
    • 使用开源工具集CMUCLMTK进行离线语言模型训练
  • 在线语音识别
    • 调用百度在线语音识别API
  • 语音合成:
    • 调用百度在线语音合成API
  • 自然语言理解
    • 基于开源自然语言理解框架Rasa NLU实现
    • 采用开源信息提取工具集MITIE构建用于Rasa NLU进行实体识别和意图识别的模型
    • 意图识别分类采用开源机器学习框架scikit-learn
    • 中文分词采用开源分词组件jieba
  • 文本情感分析
    • 基于支持向量机(SVM)算法进行情感极性分析
    • word2vec模型构建采用开源主题建模工具Gensim
    • (可选)基于逻辑回归(Logistic Regression)算法的情感极性分类器实现

目录

快速开始(Linux)

获取Homo源码:

git clone https://github.com/countstarlight/homo.git

参照文档获取Homo运行所需数据:https://homo.codist.me/docs/dataset/

确保已经安装Docker,运行(如果当前用户不在 docker 组里,运行 run.sh 需要 root 权限):

cd homo
cp conf/example_app.ini conf/app.ini
./run.sh

这会默认从docker hub下载并启动镜像,也可以使用阿里云构建的镜像:

./run.sh -a

run.sh 支持的命令:

$ ./run.sh -h
 附加命令:
 -p/--pull      获取/更新 镜像,默认从docker hub获取,使用 '-p a''-p ali' 从阿里云获取
 -a/--aliyun    运行阿里云Docker镜像(默认运行docker hub镜像)
 -d/--debug     用于调试,会使用Docker容器内的bash,默认调试docker hub镜像,使用 '-d a''-d ali' 调试阿里云镜像
 -h/--help      显示此帮助信息

文档

https://homo.codist.me/docs/

第一步

  • 安装 - 安装Homo到你的平台

  • 获取数据 - 获取Homo运行所需的数据

  • 配置 - 详细了解Homo的配置项

  • 运行 - 使用不同模式启动Homo

使用指南

进阶

发展路线

  • 插件系统

    • 扩展行为
  • 多平台支持

    • Windows
    • Macos
  • 完善文档

    • 在多个平台上的编译配置
    • 自定义唤醒词
    • 扩展自然语言理解
    • 扩展行为
  • 完善单元测试

    • 离线唤醒模块
  • Python部分用Go或Rust或C++重写

    • 替代用到的机器学习库
    • 文本情感分析部分:SVM...
    • 自然语言理解部分:MITIE...
  • 添加对英文的支持

    • 离线唤醒
    • 语音识别
    • 语音合成
    • 文档

贡献

欢迎通过 issues 提出问题和建议,或通过 Pull Requests 向本项目提交修改

捐赠

如果你觉得这个项目对你有帮助,可以请作者喝一杯咖啡,支持作者持续开发

donate.png

协议

MIT

Copyright (c) 2019-present Codist

About

一个基于离线唤醒,自然语言理解和情感分析的开源自然交互系统

https://homo.codist.me/

License:MIT License


Languages

Language:Go 53.7%Language:Python 17.1%Language:JavaScript 13.2%Language:CSS 5.6%Language:Shell 4.5%Language:Dockerfile 2.6%Language:Makefile 2.2%Language:HTML 1.2%