@landscape/wordlab

1.0.7 • Public • Published

WordLab

Attention! WordLab est une approche totalement expérimentale de traitement d'indexes sur des jeux de textes. Je n'assure aucune maintenance du package bien que je l'utilise pour mes propres besoins

C'est quoi ?

Pour commencer ce README est en Français, étonant non ?

WordLab c'est un moyen de Classifier des données textuelles dans la langue de Molière...

Comment ça fonctionne ?

Tu envoies un gros JSON avec ton bordel en entrée Et WordLab te retourne un tout petit object en sortie avec l'ensemble de tes Textes classés par index sous forme de vecteurs 3D. C'est une sorte de mix entre Word2Vec et un KNN

Maintenant que tu as ton jeu de données spacial, tu peux demander à WordLab pas mal de trucs comme :

  • Donne moi les textes les plus proches d'une recherche par mots clés
  • Liste moi les textes par ordre de similitude
  • Et beaucoup d'autres trucs plutôt cool dont nous parlerons sur https://bige-start.web.app

Le principal UseCase de WordLab c'est d'orienter des contenus selon le contexte d'utillisateurs En somme ça permet de déplacer des vecteurs et de connaître leurs positionnement dans un espace 3D Donc on peu avec WordLab créer différents contexts de façon à toujours répondre de façon pertinente Et sans appels réseau surtout, WordLab ça sert à savoir quoi afficher à quel moment et pour qui...

Pour plus d'infos je suis en train d'écrire un article sur WordLab ici : LIRE L'ARTICLE

installation

Classique tu ajoute le package à ton projet

npm i @landscape/wordlab --save

Exemple

Ce qu'il te faut c'est un jeu de données en entrée pour donner à manger à WordLab donc admettons tu as des articles de blogs dans un json qui ressemble à ça :

const articles = [
    {
        "id": 1,
        "label": "Nom de ton premier article",
        "short_deescription": "description courte de ton permier article",
        "intro": "Long texte d'introduction de ton premier article",
        "categorie": "Ta catégorie 1"
    },
    {
        "id": 2,
        "label": "Nom de ton second article",
        "short_deescription": "description courte de ton second article",
        "intro": "Long texte d'introduction de ton second article",
        "categorie": "Ta catégorie 2"
    },
    ...
]

Avec ton jeu de données tu vas créer ton dataset (des vecteurs 3D relatifs)

const DB = new WordLab(
    articles,
    {
        scale: 100, // la taille de tes indexs
        keywords: ["label", "short_description", "intro"], // la liste des labels de type String à parser
        layers: { // les calques souhaités
            categories: "category"
        }, // words is setted by default
        index: "categories", // le nom de ton index (lorsqu'il n'y en a qu'un seul, oui oui on peu en avoir plusieurs...)
        clean: true // boolean that return only last position or each vectors evolutions
    },
    function(e, val) {
        console.log("WordLab Logger => ", e, val);
    }.bind(this)
);
this.wordLabDataset = this.DB.trainDataset();

Maintenant que le plus difficile est fait, imagine que tu cherche un article par mot clé

let order = DB.search("second");

le fait de rechercher le mot "second" va te retourner un objet comme suit :

{
    "2": {
        "distance":0,
        "weight":100
    },
    "1": {
        "distance":100,
        "weight":0
    }
}

C'est tout, WordLab te retourne tes articles classés par ID ordonancés par distance et poids de l'index Forcément ici on a que deux articles donc on a des poids marqués à l'extrême 0 ou 100...

WordLab offre le bon contenu au bon moment au bon utiliisateur

Lorsque WrodLab est monté sur un front-end, vous pouvez y ajouter différents vecteurs à la demande par exemple un utilisateur, considérons qu'un utilisateur entre sur votre site et commence à naviguer il va lire un article ou taper unue recherche ou encore effectuer tout autre type d'opérations vous pourriez essayer de traiter ça en envoyant des paquets de données sur sa navigation et orienter vos contenus en fonction, seulement ça sous entend de faire des traitements lourds côté serveur et comme (je vous le souhaite) votre serveur est déjà en bout de piste ça peut rapidiement devenir très couteux... WordLab va orienter vos utiliisateurs sans traitements serveur en le déplaçant de façon logique au travers de vos contenus.

WordLab travaille aussi sur des indexes multiples

Rechercher sur un index c'est cool mais sur une multitude c'est encore mieux ! C'est en cours de test mais imaginez la pertinence d'une liste d'articles sur un site e-commerce sans utiliser de puissance de calcul sur votre serveur ! C'est ce que Bige WordLab est en train de tester pour vous...

Author : Simon Delamarre

License : MIT

Package Sidebar

Install

npm i @landscape/wordlab

Weekly Downloads

5

Version

1.0.7

License

ISC

Unpacked Size

3.84 MB

Total Files

35

Last publish

Collaborators

  • landscape