Estuve investigando un poco sobre AI con JavaScript y encontré una librería llamada natural, la cual tiene una función para clasificar textos entrenando la AI y luego permitir que ese aprendizaje sea persistente.
Primero que todo instalamos la librería con npm i natural
Luego importamos la librería e inicializamos el classifier
const natural = require("natural");
const classifier = new natural.BayesClassifier();
Luego le pasamos un texto y en que categoría esta este
classifier.addDocument(
"Me gusta mucho pensar en viajar a varios lugares como París, Chile, Estados unidos, España, y toda Asia",
"Viaje"
);
classifier.addDocument(
"Mi novia se rompió el brazo, han tenido que operarla de urgencia",
"Salud"
);
classifier.train();
Para probar los resultados y saber si necesitamos entrenar mas la AI podemos usar
const result = classifier.getClassifications(
"He comprado unos pasajes para ir a conocer Paris con mi novia"
);
console.log(result)
Al estar satisfecho con la exactitud de la AI podemos guardar lo aprendido
classifier.save("data.json", (err, classifier) => {
//los datos los guardamos en data.json
});
Ya al haber guardado el avance podemos comentar o borrar el código anterior y simplemente cargar el data.json
natural.BayesClassifier.load("data.json", null, (err, classifier) => {
console.log(classifier.classify("Me gustaria ir a España")); // Al mismo tiempo probamos si funciona
console.log(classifier.classify("Necesito ir al medico, tengo mucha fiebre"));
});
Con ese poco código tendríamos un clasificador de textos. Ojo que mientras mas textos le pasemos durante el entrenamiento mas precisos serán los resultados
¿Alguno tiene conocimientos sobre otra librería como esta? Me gustaría realizar también un clasificador de imágenes o AI de chat 👀