Glossary
Some terms in the docs might be unknown to you; this section should help you achieve a better understanding of these words and how they relate to Leon.
#
ActionsActions represent the modules entry points.
Attachment: packages/calendar/todolist.py example of the
To-Do List
module including actions such ascreate_list
,complete_todo
, etc.
#
AnswersAnswers are Leon's responses. Each package has its own set of answers with different translations.
Attachment: packages/checker/data/answers/en.json example of the
Checker
package English answers.
#
APIAPI stands for Application Programming Interface and it allows the communication between different nodes of a project. These nodes can be a server, library, etc.
Examples of Leon APIs:
- The HTTP API allows him to exchange data between the server and the client.
- The WebSocket API allows him to open a bidirectional communication channel between the client and the server.
- The Python library API allows developers to pick up functions to work on Leon's modules.
#
ASRASR or Automatic Speech Recognition is the use of computer hardware and software-based techniques to identify and process human voice.
Leon uses it to make your voice understandable for him.
Attachments:
- app/src/js/main.js ASR web app.
- server/src/core/asr.js ASR server.
#
BrainLeon's brain is a major part of his core. This is where he executes his modules, talks, picks up sentences, etc.
Attachment: server/src/core/brain.js Leon's brain.
#
ClassifierA classifier is a type of model. Once trained, it outputs a result via an algorithm. This result is used to make decisions.
Leon uses it to store the outcomes of his expressions training phase.
#
ExpressionsExpressions are the dataset that Leon uses to train his understanding. Each package has its own dataset with different translations.
Attachment: packages/checker/data/expressions/en.json example of the
Checker
package English expressions.
#
ModulesModules are Leon's skills; thanks to them Leon can work his magic. Modules contain one or an infinity of actions.
Tip
The more modules Leon has, the more skillful he becomes. Do not hesitate to contribute ❤️
#
NLUNLU (Natural Language Understanding) helps computers understand human language.
Leon employs it to load the most appropriate classifier.
Attachment: server/src/core/nlu.js Leon's NLU.
#
PackagesLeon's packages contain one or an infinity of modules. You can consider packages as a category of modules. This is where the answers and expressions are stored.
Alternatively, packages are what we call "domains" in the NLP (Natural Language Processing) field. Domain classification is a way to structure/label data for a better scalability. It helps Leon to make decisions on what to understand and improve his accuracy.
Attachment: packages/leon example of the
Leon
package including modules related to Leon himself.
Tip
The full package list is available here.
#
STTSTT, or Speech-To-Text, transforms an audio stream (speech) to a string (text).
Leon has multiple STT parsers; you can choose one (or several) to configure.
Attachment: server/src/stt/stt.js Leon's STT.
#
SynchronizerThe synchronizer allows you to synchronize your content via different methods (Google Drive, on your current device, etc.) restricted by the requested module's offerings.
You can configure your favorite method for each module that supports this feature.
Attachment: server/src/core/synchronizer.js Leon's synchronizer.
#
TTSTTS or (Text-To-Speech) transforms a string (text) to an audio stream (speech).
Leon has multiple TTS synthesizers; you can choose one (or several) to configure.
Attachment: server/src/tts/tts.js Leon's TTS.