All Projects → countstarlight → Homo

countstarlight / Homo

Licence: mit
An open source natural interaction system based on offline wake-up, natural language understanding and sentiment analysis

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Homo

Istio Micro
istio 微服务示例代码 grpc+protobuf+echo+websocket+mysql+redis+kafka+docker-compose
Stars: ✭ 194 (-16.74%)
Mutual labels:  grpc
Trunk
Make bazel an out of box solution for C++/Java developers
Stars: ✭ 203 (-12.88%)
Mutual labels:  grpc
Clay
Proto-first minimal server platform for gRPС+REST+Swagger APIs
Stars: ✭ 212 (-9.01%)
Mutual labels:  grpc
Awesome Pretrained Chinese Nlp Models
Awesome Pretrained Chinese NLP Models,高质量中文预训练模型集合
Stars: ✭ 195 (-16.31%)
Mutual labels:  nlu
Indonlu
The first-ever vast natural language processing benchmark for Indonesian Language. We provide multiple downstream tasks, pre-trained IndoBERT models, and a starter code! (AACL-IJCNLP 2020)
Stars: ✭ 198 (-15.02%)
Mutual labels:  nlu
Chatette
A powerful dataset generator for Rasa NLU, inspired by Chatito
Stars: ✭ 205 (-12.02%)
Mutual labels:  nlu
Grpc Kotlin
gRPC with Kotlin Coroutines
Stars: ✭ 190 (-18.45%)
Mutual labels:  grpc
Pike
Generate CRUD gRPC backends from single YAML description.
Stars: ✭ 222 (-4.72%)
Mutual labels:  grpc
Hivemq Mqtt Tensorflow Kafka Realtime Iot Machine Learning Training Inference
Real Time Big Data / IoT Machine Learning (Model Training and Inference) with HiveMQ (MQTT), TensorFlow IO and Apache Kafka - no additional data store like S3, HDFS or Spark required
Stars: ✭ 204 (-12.45%)
Mutual labels:  grpc
Core Grpc
C# Grpc驱动封装,基于Consul实现服务注册服务发现,支持dotnetcore / framework,可快速实现基于Grpc的微服务,内部有完整案例,包含服务端Server 客户端 Client,core+grpc, netcore+grpc, dotnetcore+grpc
Stars: ✭ 209 (-10.3%)
Mutual labels:  grpc
Yorkie
Yorkie is a document store for collaborative applications.
Stars: ✭ 196 (-15.88%)
Mutual labels:  grpc
Terraform Plugin Sdk
Terraform Plugin SDK enables building plugins (providers) to manage any service providers or custom in-house solutions
Stars: ✭ 201 (-13.73%)
Mutual labels:  grpc
Rules protobuf
Bazel rules for building protocol buffers and gRPC services (java, c++, go, ...)
Stars: ✭ 206 (-11.59%)
Mutual labels:  grpc
Sembert
Semantics-aware BERT for Language Understanding (AAAI 2020)
Stars: ✭ 194 (-16.74%)
Mutual labels:  nlu
Mu Haskell
Mu (μ) is a purely functional framework for building micro services.
Stars: ✭ 215 (-7.73%)
Mutual labels:  grpc
Liiklus
Reactive (RSocket/gRPC) Gateway for the event-based systems
Stars: ✭ 192 (-17.6%)
Mutual labels:  grpc
Grpc Go
The Go language implementation of gRPC. HTTP/2 based RPC
Stars: ✭ 15,042 (+6355.79%)
Mutual labels:  grpc
Anycable Go
Anycable Go WebSocket Server
Stars: ✭ 234 (+0.43%)
Mutual labels:  grpc
Grpc Over Webrtc
gRPC over WebRTC
Stars: ✭ 220 (-5.58%)
Mutual labels:  grpc
Hello Auth Grpc
two grpc microservices with mutual TLS and token authentication in Go
Stars: ✭ 208 (-10.73%)
Mutual labels:  grpc

Homo

English | 简体中文

An open source natural interaction system based on offline wake-up, natural language understanding and sentiment analysis

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

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

Quick start(Linux)

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

Road map

  • [ ] Plug-in system

    • [ ] Custom actions
  • [ ] Improve documentation

    • [x] Custom wake word
    • [x] Expanding Natural Language Understanding
    • [ ] Custom actions
  • [ ] Support for English

    • [x] Offline Keyword Research
    • [ ] Speech Recognition
    • [x] Text-to-Speech
    • [ ] Documentation

Contributing

Questions and suggestions are welcomed through issues, or changes submitted to the project through Pull Requests

License

MIT

Copyright (c) 2019-present Codist

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].