Le robot Telegram utilise IBM Watson pour identifier les chats

Salut

Dans cet article, je vais vous expliquer comment j'ai réussi à écrire un bot qui utilise toute la puissance des réseaux de neurones IBM Watson pour déterminer la présence de chats dans l'image.

image


En avril, en découvrant le concours BotPrize, j'ai décidé d'essayer d'écrire quelques bots.
J'ai choisi C # et une merveilleuse bibliothèque de MrRoundRobin
comme langage de programmation. J'ai utilisé PostgreSql comme base de données.

Mon premier bot était sur le thème du téléchargement de fichiers sur le célèbre site d'hébergement de fichiers mega.nz.

Mais comme sujet suivant, j'ai choisi des chats. En utilisant le bot, vous pouvez mettre des goûts / aversions sur les sceaux déjà dans la base de données et envoyer vos photos des sceaux pour modération. Toujours en mode Inline, vous pouvez envoyer à vos amis les chats les plus fidèles.

Et maintenant, après avoir implémenté la modération manuellement, je pensais que c'était ennuyeux, et vous pouvez utiliser un réseau de neurones, qui déterminera lui-même s'il y a un chat dans l'image ou non.

Après une courte recherche, j'ai découvert qu'IBM Watson et son API de reconnaissance visuelle peuvent le faire.

image

Il s'est avéré assez simple - envoyez l'image pour traitement et en réponse, vous obtenez un tableau JSON de ce qu'IBM Watson a trouvé dans cette image.

Exemple Json
[
{
«classes»: [
{
«class»: «animal»,
«score»: 0.997762,
«type_hierarchy»: "/animals"
},
{
«class»: «mammal»,
«score»: 0.995504,
«type_hierarchy»: "/animals/mammal"
},
{
«class»: «cat»,
«score»: 0.990987,
«type_hierarchy»: "/animals/pets/cat"
},
{
«class»: «kitten»,
«score»: 0.668188,
«type_hierarchy»: "/animals/pets/kitten"
}
],
«classifier_id»: «default»,
«name»: «default»
}
]

Par conséquent, s'il existe un chat dans JSON avec une probabilité supérieure à 0,75, cette image est automatiquement modérée. Sinon, il est envoyé au four pour une modération manuelle. J'ai fait le remplissage initial de la base de données en utilisant le site Web de thecatapi et le traitement d'environ 400 sceaux n'a pas pris plus de 5 minutes.

Vous pouvez essayer d'envoyer différentes images à IBM Watson ici.

La seule difficulté que j'ai eu à m'inscrire dans la console Bluemix était qu'elle se bloquait tout le temps.

J'ai réussi à m'inscrire via le site developerworks en cochant la case «Je veux utiliser IBM Bluemix».

Ensuite, j'ai obtenu la clé de l'API Visual Recognition et formé pour faire des demandes dans l'API Explorer

Le mois d'utilisation de l'API Visual Recognition est gratuit, puis la limite quotidienne de 250 images par jour est incluse. Cependant, le prix du paiement de 2 $ pour 1000 photos inspire un grand optimisme.

J'ai vraiment aimé l'idée de faire en sorte que le supercalculateur Watson identifie les chats sur la photo à ma place.

IBM possède un grand nombre d' autres API et services et il existe une énorme possibilité d'intégration avec Telegram.

Source: https://habr.com/ru/post/fr397157/


All Articles