Petit système mnémonique en Python/SQLite [1/4]

Salut à tous,
Aujourd'hui, je vais vous exposer un projet en cours. Le but est d'imaginer un chatBot XMPP avec une base de donnée SQLite servant de système mnémonique
Cette base de donnée contiendra une table "dictionary" ainsi qu'une table "synapse".
Dictionary
Cette table est réservé au mots utilisés par le ChatBot.
Structure
CREATE TABLE `dictionary` (
`name` TEXT NOT NULL,
`type` TEXT NOT NULL DEFAULT '',
`genre` TEXT NOT NULL DEFAULT '',
`temps` TEXT NOT NULL DEFAULT '',
`desc` TEXT NOT NULL DEFAULT ''
);
Synapse
Cette table servira aux liaisons mnémoniques.
Structure
CREATE TABLE `synapse` (
`name` TEXT NOT NULL,
`attribute` TEXT NOT NULL DEFAULT '',
`operator` TEXT NOT NULL DEFAULT '',
`value` TEXT NOT NULL DEFAULT ''
);
Principe de base
Comme je vous l'ai dit plus haut, la table "dictionary" contiendra les mots utilisé. Quelques exemples:
NAME | TYPE | GENRE | TEMPS | DESC |
dormir | verbe | inf | ||
dors | dormir | je | ind-pre | |
dors | dormir | tu | ind-pre | |
je | PRO-per | |||
tu | PRO-per |
La table "synapse" va faire la liaison entre les différents mots et ce qu'elle a en déjà en mémoire. Exemple avec cette phrase:
Je dors.
NAME | ATTRIBUTE | OPERATOR | VALUE |
je dormir ind-pre | return | = | Repose toi bien. |
?tu dormir ind-pre | return | = | Je ne dors jamais, je ne suis qu'un vulgaire Bot. |
En premier lieu, on récupère chacun des mots de la phrase.
JE | DORS |
Ensuite on vérifie la disponibilité de ces mots dans la table "dictionary". On se rend compte alors que le Pronom personnel (PRO-per) JE est disponible dans la table ainsi que le verbe DORS. On vois aussi que dans le champs "TYPE" de DORS il y a DORMIR, qui est le verbe à l'infinitif. Dans cette même table on remarque que dans le champs "GENRE" du verbe DORS il y a notre pronom personnel JE et que sont "TEMPS" est à indicatif présent (ind-pre).
On va maintenant interroger notre table "synapse" de cette façon:
je dormir ind-pre
Si "OPERATOR" est "=" et que "ATTRIBUTE" est "return" le ChatBot répondra avec le champs "VALUE"
Repose toi bien.
Voilà, dans cette première partie je vous ai exposé le principe de base d'un petit système mnémonique SQlite. Dans la seconde partie, je vous partagerai un petit Bot XMPP en python, couplet à cette même base de donnée.
Télécharger Base de Donnée xee.db
à très bientôt.