All Projects → gooofy → Zamia Ai

gooofy / Zamia Ai

Licence: apache-2.0
Free and open source A.I. system based on Python, TensorFlow and Prolog.

Programming Languages

python
139335 projects - #7 most used programming language
prolog
421 projects

Projects that are alternatives of or similar to Zamia Ai

Get started with deep learning for text with allennlp
Getting started with AllenNLP and PyTorch by training a tweet classifier
Stars: ✭ 69 (-48.12%)
Mutual labels:  artificial-intelligence, natural-language-processing
Limes
Link Discovery Framework for Metric Spaces.
Stars: ✭ 94 (-29.32%)
Mutual labels:  artificial-intelligence, semantic-web
Simplednn
SimpleDNN is a machine learning lightweight open-source library written in Kotlin designed to support relevant neural network architectures in natural language processing tasks
Stars: ✭ 81 (-39.1%)
Mutual labels:  artificial-intelligence, natural-language-processing
Comet
A Neural Framework for MT Evaluation
Stars: ✭ 58 (-56.39%)
Mutual labels:  artificial-intelligence, natural-language-processing
Ios ml
List of Machine Learning, AI, NLP solutions for iOS. The most recent version of this article can be found on my blog.
Stars: ✭ 1,409 (+959.4%)
Mutual labels:  artificial-intelligence, natural-language-processing
Botsharp
The Open Source AI Chatbot Platform Builder in 100% C# Running in .NET Core with Machine Learning algorithm.
Stars: ✭ 1,103 (+729.32%)
Mutual labels:  artificial-intelligence, natural-language-processing
Virtual Assistant
A linux based Virtual assistant on Artificial Intelligence in C
Stars: ✭ 88 (-33.83%)
Mutual labels:  artificial-intelligence, natural-language-processing
Reading comprehension tf
Machine Reading Comprehension in Tensorflow
Stars: ✭ 37 (-72.18%)
Mutual labels:  artificial-intelligence, natural-language-processing
Neuronblocks
NLP DNN Toolkit - Building Your NLP DNN Models Like Playing Lego
Stars: ✭ 1,356 (+919.55%)
Mutual labels:  artificial-intelligence, natural-language-processing
Open Semantic Entity Search Api
Open Source REST API for named entity extraction, named entity linking, named entity disambiguation, recommendation & reconciliation of entities like persons, organizations and places for (semi)automatic semantic tagging & analysis of documents by linked data knowledge graph like SKOS thesaurus, RDF ontology, database(s) or list(s) of names
Stars: ✭ 98 (-26.32%)
Mutual labels:  knowledgebase, natural-language-processing
Thot
Thot toolkit for statistical machine translation
Stars: ✭ 53 (-60.15%)
Mutual labels:  artificial-intelligence, natural-language-processing
Nonautoreggenprogress
Tracking the progress in non-autoregressive generation (translation, transcription, etc.)
Stars: ✭ 118 (-11.28%)
Mutual labels:  artificial-intelligence, natural-language-processing
Coursera Natural Language Processing Specialization
Programming assignments from all courses in the Coursera Natural Language Processing Specialization offered by deeplearning.ai.
Stars: ✭ 39 (-70.68%)
Mutual labels:  artificial-intelligence, natural-language-processing
Hackerrank
This is the Repository where you can find all the solution of the Problems which you solve on competitive platforms mainly HackerRank and HackerEarth
Stars: ✭ 68 (-48.87%)
Mutual labels:  artificial-intelligence, natural-language-processing
Ml Classify Text Js
Machine learning based text classification in JavaScript using n-grams and cosine similarity
Stars: ✭ 38 (-71.43%)
Mutual labels:  artificial-intelligence, natural-language-processing
Ml
A high-level machine learning and deep learning library for the PHP language.
Stars: ✭ 1,270 (+854.89%)
Mutual labels:  artificial-intelligence, natural-language-processing
Ciff
Cornell Instruction Following Framework
Stars: ✭ 23 (-82.71%)
Mutual labels:  artificial-intelligence, natural-language-processing
Spago
Self-contained Machine Learning and Natural Language Processing library in Go
Stars: ✭ 854 (+542.11%)
Mutual labels:  artificial-intelligence, natural-language-processing
Jupyterlab Prodigy
🧬 A JupyterLab extension for annotating data with Prodigy
Stars: ✭ 97 (-27.07%)
Mutual labels:  artificial-intelligence, natural-language-processing
Xlnet extension tf
XLNet Extension in TensorFlow
Stars: ✭ 109 (-18.05%)
Mutual labels:  artificial-intelligence, natural-language-processing

ifndef::imagesdir[:imagesdir: doc] Zamia AI

The Zamia AI project is a framework that provides a set of components needed to build completely free, open source end-to-end speech and natural language processing A.I. systems.

For more information about the Zamia AI project check out our homepage at:

Getting Started

Installation


CentOS 7 (amd64)
^^^^^^^^^^^^^^^^

Setup yum repo and install packages:

```bash
# execute with root permissions (sudo -i):

cd /etc/yum.repos.d
wget http://goofy.zamia.org/zamia-speech/misc/zamia-ai-centos.repo
yum install zamia-ai kaldi-chain-zamia-speech-de kaldi-chain-zamia-speech-en python-kaldiasr python-nltools pulseaudio-utils pulseaudio fastText
```

alternatively you can download RPMs manually here:

* x86_64: http://goofy.zamia.org/repo-ai/centos/7/x86_64/
* SRPMS: http://goofy.zamia.org/repo-ai/centos/7/SRPMS/

Try Our Example Applications

The easiest way to see Zamia AI in action is to download one of our precompiled examples:

http://goofy.zamia.org/zamia-ai/

Chatbot ^^^^^^^

This is a simple text chat bot built on top of Zamia AI's knowledge base. You can chat with the model by running the command:

zaicli chat

Here is a sample session giving you some ideas to get your conversation started:

[[email protected] chatbot]$ zaicli chat
...
ai> okay computer
INFO:root:RESP: [   0.5] Greetings! | action: attention(on)
ai> what is your name
INFO:root:RESP: [   0.5] My name is "HAL 9000" 
ai> who was the predecessor of barack obama
INFO:root:RESP: [   0.2] The predecessor of "Barack Obama" as "President of the United States of America" was "George W. Bush". 
ai> what time is it
INFO:root:RESP: [   0.1] It is 6 minutes past 0 
ai> are you a computer
INFO:root:RESP: [   0.1] Yes, I am a Computer. Are you knowledgeable about Computers? 
ai> what is your favorite movie
INFO:root:RESP: [   1.0] 2001: A Space Odyssey by Stanley Kubrick 
ai> 

You can also run the chatbot application itself which shoud also give you a starting point on how to embed Zamia AI into you own applications:

./chatbot.py

Voice Assistant ^^^^^^^^^^^^^^^

This example show how Zamia AI can be combined with Zamia Speech Kaldi ASR Models and eSpeak NG to create a completely free, offline capable voice assistant.

Compiling Zamia AI Models


This tutorial uses the chatbot example that comes with Zamia AI. You can also find it online here:

https://github.com/gooofy/zamia-ai/tree/master/examples/chatbot

to try it, create a directory and put all the source files there. 

Now, the first step is to compile the skills that are used in this examples - i.e. Zamia AI will
will compute all sample utterances plus their corresponding responses from the skills our `toplevel.py`
skill depends on into an SQLite DB. To do this, we run the command

```
zaicli compile all
```

you can check out the number of utterances extracted from each skill using the command

```
zaicli stats
```

also, you can check the utterances extracted from all or specific skills using the command

```
zaicli utterances [-s skill]
```

Train word vectors using fastText:

```
wget 'http://goofy.zamia.org/zamia-speech/misc/sentences-en.txt.xz'
unxz sentences-en.txt.xz

zaicli utterances >utts.txt

cat utts.txt sentences-en.txt > corpus.txt
mkdir model
fasttext skipgram -input corpus.txt -output model/word_embeddings
```

Once we are satisfied it is time to train our NLP model which will allow Zamia AI to handle utterances
that have no exact match in our DB:

```
zaicli train
```

Utterance Classification
^^^^^^^^^^^^^^^^^^^^^^^^

Utterance classification is used to predict which of the existing skills a new utterance fits best. Can also be 
used on a text file containing one utterance per line.

Train the classifier:
```
zaicli utt_class_train
```

Run the prediction:
```
zaicli utt_class "Who is the current US President?"
```

Adapt the Kaldi Speech Recognition Model
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

NOTE: This is only needed for application that use voice input.

```
cat utts.txt utts.txt utts.txt utts.txt utts.txt sentences-en.txt >corpus5.txt

MODEL="/opt/kaldi/model/kaldi-generic-en-tdnn_sp"

cut -f 1 -d ' ' ${MODEL}/data/local/dict/lexicon.txt >vocab.txt
lmplz -o 4 --prune 0 1 2 3 --limit_vocab_file vocab.txt --interpolate_unigrams 0 <corpus5.txt >lm.arpa

rm -rf work
kaldi-adapt-lm ${MODEL} lm.arpa en-tdnn_sp
tar xfJ work/kaldi-en-tdnn_sp-adapt.tar.xz
```

Further Documentation
~~~~~~~~~~~~~~~~~~~~~

For other technical documentation, check out

* http://zamia-ai.org/architecture.html
* <<doc/guide#,Skill Author's Guide>>

License
-------

My own scripts as well as the data I create is Apache-2.0 licensed unless otherwise
noted in the script's copyright headers.

Some scripts and files are based on works of others, in those cases it is my
intention to keep the original license intact. Please make sure to check the
copyright headers inside for more information.

Author
------

Guenter Bartsch <[email protected]>

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].