English | 简体中文
An open source natural interaction system based on offline wake-up, natural language understanding and sentiment analysis
Demo Video(Chinese): BiliBili
Notice: A version under reconstruction is located at dev branch and named Aiicy. Aiicy is designed for IoT and User Terminal, and will support IoT devices on different platforms, allowing users to interact with it through browsers. Aiicy and documents are in active development stages, so stay tuned.
Features
- Offline Keyword Research
- Based on open source lightweight speech recognition engine PocketSphinx
- Offline language model training using the open source toolset CMUCLMTK
- Online speech recognition
- Using Baidu Online Speech Recognition API
- Online Text-to-Speech
- Using Baidu Online Text-to-Speech API
- Natural Language Understanding
- Based on open source natural language understanding framework Rasa NLU
- Using open source information extraction toolset MITIE to build models for entity recognition and intent recognition in Rasa NLU
- Using open source machine learning framework scikit-learn to do Intent recognition classification
- Using open source word segmentation component jieba to do Chinese word segmentation
- Text Sentiment Analysis
- Sentiment Analysis Using Support Vector Machine(SVM)
- Using open source topic modelling tool Gensim to build word2vec model
- (Optional)Sentiment Analysi based on Logistic Regression Classification
Contents
Get source code with git:
git clone https://github.com/countstarlight/homo.git
Download the dataset for Homo refer document(Chinese): https://homo.codist.me/docs/dataset/
Make sure Docker is installed then run(run.sh
needs root privileges if the current user is not in the docker
group):
cd homo
cp conf/example_app.ini conf/app.ini
./run.sh
This will download and launch the image from the docker hub by default, or use the image built by Alibaba Cloud:
./run.sh -a
run.sh
supported commands:
$ ./run.sh -h
Usage:
-p/--pull Get/Update image from docker hub by default, using '-p a' or '-p ali' to get from Alibaba Cloud
-a/--aliyun Launch Alibaba Cloud Docker image (launch docker hub image by default)
-d/--debug For debugging, use bash in Docker container, debug docker hub image by default, '-d a' or '-d ali' for debugging Alibaba Cloud image
-h/--help show help
-
Plug-in system
- Custom actions
-
Improve documentation
- Custom wake word
- Expanding Natural Language Understanding
- Custom actions
-
Support for English
- Offline Keyword Research
- Speech Recognition
- Text-to-Speech
- Documentation
Questions and suggestions are welcomed through issues, or changes submitted to the project through Pull Requests
Copyright (c) 2019-present Codist