Bâtir des environnements d’intelligence artificielle éthiquement responsables

Peut-être avez-vous déjà remarqué les sollicitations pour la « démocratisation de l’intelligence artificielle (IA) ». De manière générale, la démocratie a une bonne réputation, mais que cela signifie-t-il dans le contexte de la technologie et de l’intelligence artificielle et quels sont les dangers de cette alternative? M. Andrew Ng, scientifique en chef de recherche chez Baidu, considère l’IA comme étant « la nouvelle électricité ». Pensez-y un peu, et vous comprendrez ce qu’il veut dire. En ce moment, les outils de l’IA (et de l’apprentissage automatique ainsi que l’apprentissage en profondeur [deep learning]) sont majoritairement utilisés par les chercheurs, les industries, les grandes entreprises, les institutions scolaires et les laboratoires. L’IA présente différents avantages distincts pour les entreprises qui ont accès à son incorporation dans leurs systèmes ou leurs produits. Cela améliore tout, de l’efficacité logistique à l’expérience utilisateur positive et tout ce qui se trouve à mi-chemin. Les personnes n’ayant pas accès ou étant incapables d’incorporer l’IA ou l’apprentissage automatique sont donc désavantagées. La démocratisation de l’IA signifie simplement de rendre accessible à tous les avantages de cette technologie. Cet aspect est donc crucial pour le développement éthique de la technologie.

Google.ai a reconnu l’importance de ce genre de démocratisation, ce qui explique pourquoi l’entreprise s’est donné pour mission « d’organiser l’information du monde et la rendre utile et accessible universellement. » De plus en plus, les entreprises travaillant dans ce domaine reconnaissent leur propre responsabilité dans le support d’un développement éthique de l’intelligence artificielle. C’est d’ailleurs pourquoi notre équipe participera au Forum sur le développement socialement responsable de l’intelligence artificielle organisé par l’Université de Montréal et Les Fonds de recherche du Québec au Palais des congrès de Montréal les 2 et 3 novembre 2017.

Concevoir des espaces éthiques pour l’IA

L’IA apporte tout un lot de nouvelles possibilités et de considérations dans la conception de l’expérience utilisateur. Grâce à l’intelligence artificielle, les interfaces utilisateur commencent à s’étendre au-delà des aspects traditionnels de design visuel et spatial. Les gens peuvent maintenant interagir avec leurs appareils sans aucun environnement d’interface utilisateur ou d’espace conversationnel. Et ces appareils incluent un lot de composantes connectées comme les accessoires portables, les appareils électroménagers, les voitures, les dispositifs domestiques, en plus de vos gadgets technologiques habituels et vos services et comptes en ligne. Également, l’IA peut utiliser les données collectées des habitudes des utilisateurs afin de peaufiner l’expérience utilisateur à un point jamais atteint auparavant.

Le croisement entre la conception et l’éthique est dû à l’étendue à laquelle l’interface utilisateur et les environnements sans interface utilisateur peuvent être utilisés pour influencer (ou pire encore, pour manipuler) les comportements. Alors que notre interaction avec la technologie s’accroît et prend de plus en plus de place au sein de nos vies, nous voulons d’une relation saine. Il faut donc avoir des interactions significatives et équilibrées et non pas des algorithmes créés pour nous rendre dépendants des interactions dans l’optique d’atteindre des buts unilatéraux à court terme. Y a-t-il une technologie quelconque dans votre vie pour laquelle vous avez une dépendance malsaine? Si c’est le cas, est-ce que cela a un impact sur vos sentiments envers cette marque? Qu’arrive-t-il lorsque les environnements sans interaction avec l’utilisateur deviennent tellement discrets que nous oublions qu’ils existent?

Il y a toutefois davantage de dangers potentiels que d’applications de jeux auxquelles vous êtes dépendants. Masha Krol, designer en chef de Element AI et auteure de AI-First Design affirme que « l’IA apportera des problèmes qui sont actuellement inimaginables pour notre modèle basé sur les solutions […] Nous ne voulons pas seulement résoudre des problèmes supplémentaires, mais plutôt nous attaquer au changement de paradigme, aux problèmes dérangeants. » La collaboration avec les utilisateurs, comme le fait de laisser ouverts les réseaux de communication et d’incorporer la rétroaction sera fondamentale pour maintenir des designs fondés sur des principes et centrés sur l’humain qui favorisent des environnements sains, responsables et éthiques.

Collecte de données responsable

Puisque l’intelligence artificielle est fondée sur les données, cela crée encore plus de motivation et d’opportunités pour les entreprises d’extraire, d’emmagasiner et d’exploiter les données, ce qui entraîne des préoccupations éthiques. Chez Arcbees, nous croyons fermement que la gestion responsable de l’information des utilisateurs est sacrée. Il est préférable d’établir un lien de confiance avec les utilisateurs plutôt que d’exploiter leurs informations dans le but de leur vendre un produit.

Il existe une implication en ventes et marketing. Par exemple, les gens sont très sensibles en ce qui a trait à la surveillance de leurs activités en ligne et de leurs conversations, ce qui explique pourquoi il est crucial d’être transparent à propos de la collecte de données. De plus, établir les attentes de l’utilisateur et être clair à propos de l’utilisation des données est tout aussi important. Faillir à cette tâche vous fera paraître comme intrusif et, conséquemment, cela mènera à un sentiment de méfiance vis-à-vis l’agent intelligent. Imaginez à quel point votre appareil Alexa (Amazon) serait biaisé s’il s’appuyait sur les campagnes AdWord pour faire des suggestions « personnalisées ». Comment vous sentiriez-vous si les équipes de vente et de marketing avaient accès à tout ce qui était dit dans votre maison? Et si vous faisiez la découverte qu’ils utilisent ces données pour vous rediriger vers d’autres réseaux en ligne comme Google, Facebook ou même Spotify? Ces problèmes doivent être réglés si nous voulons créer des expériences agréables qui respectent la confidentialité des gens malgré le fait qu’elles soient partie intégrante de notre intimité.

Assurer la sécurité des environnements d’IA

Évidemment, les préoccupations en matière de confidentialité sont étroitement liées à la cybersécurité ce qui est une des plus grandes préoccupations éthiques concernant l’IA et la collecte de données. Il s’agit de quelque chose de très explicite, spécialement dans la foulée des désastres entourant Equifax et Deloitte, les deux plus récents épisodes de violation de la sécurité des données à avoir été médiatisés. Les pratiques irresponsables et de piètre qualité d’Equifax ont été exposées récemment en audience devant le congrès et on pouvait pratiquement y voir l’histoire d’un manuel « Ce qu’il ne faut pas faire » en termes de bafouage des règles de sécurité. Il importe de répéter que la gestion de l’information des utilisateurs doit être respectée à titre de responsabilité sacrée. Oui, cela requiert beaucoup de travail supplémentaire et de vigilance, mais il s’agit d’un pilier fondamental de l’IA et de l’Internet du futur que nous voulons bâtir. Toutefois, est-ce suffisant de s’en remettre aux entreprises individuelles et aux développeurs pour prendre la bonne décision? Ou avons-nous plutôt besoin de surveiller ce domaine avec une réglementation gouvernementale?

Le caractère biaisé des données est une autre préoccupation majeure en matière d’éthique lors de la collecte des données et de plus en plus d’attention y est porté. On pourrait croire qu’il n’y a rien de plus objectif que les points de données dans une base de données, mais il s’agit d’une erreur. Sergey Brin et Larry Page ont écrit dans leur article « The Anatomy of a Large-Scale Hypertextual Web Search Engine » (avril 1988) : « tous ceux qui ont fait récemment l’usage d’un outil de recherche peuvent témoigner que l’exhaustivité de l’index n’est pas le seul facteur de qualité au sein des résultats de recherche. » En d’autres mots, une plus grande quantité de données ne signifie pas nécessairement une IA de meilleure qualité. En fait, trop d’information peut créer un modèle instable. Inversement, l’information incomplète peut entraîner des moments de « stupidité artificielle ». Il nous faut donc l’aide d’un humain subjectif qui peut utiliser son expérience et sa perspective pour sélectionner quelles variables sont nécessaires et pertinentes et laisser tomber le reste. De plus, cette perspicacité humaine est requise en premier lieu pour établir les directives des algorithmes. Comme le dit Maxime Dion de Arcbees : « La science des données est l’art de trouver et de choisir l’information cachée et sa relation et ses corrélations qui peuvent être trouvées entre des variables apparemment indépendantes ». Toutefois, chaque fois qu’un humain réalise un choix subjectif, celui-ci peut être biaisé. (Encore sceptique? Allez jeter un oeil à l’article Medium d’Angela Bassa à propos des pièges de la partialité dans la science des données.)

Aucun humain n’est complètement impartial, que faire alors? Voici le moment où la démocratisation de l’IA entre en jeu. Le concept de démocratie a lieu lorsque la prise de décision est renforcée et équilibrée par l’implication de plusieurs personnes dans le processus : une multitude d’intrants, de perspectives et de boucles de rétroactions surmonteront le biais de quiconque. Dans le contexte de l’IA et des données, la démocratie peut être encouragée par des mesures pour permettre et encourager le plus de transparence et de collaboration possible. Les IPA et les outils d’IA libres ou ouverts, les sources de données ouvertes, les forums de discussion et les outils d’éducation gratuits accessibles pour tous les niveaux de compétence pourraient y être inclus.

Quelles autres stratégies pourraient être mises en place pour aider la démocratisation de l’IA? Commençons notre boucle de rétroaction dès maintenant! Partagez-nous vos idées et commentaires ou envoyez-moi un Tweet! Et si vous avez apprécié cet article, n’hésitez pas à le partager avec vos collègues. Au plaisir de lire vos commentaires!

Comment les entreprises influentes comme Google utilisent l’intelligence artificielle et que pouvons-nous en retirer

L’intelligence artificielle (IA) est un terme très tendance actuellement et les entreprises de toutes tailles et formes essaient de trouver une façon d’exploiter cette technologie pour leurs propres besoins. Captivante et futuriste, l’intelligence artificielle est, en effet, un outil incontournable pour suralimenter une entreprise, rehausser ses processus d’affaires et améliorer la qualité de l’expérience utilisateur. L’adoption et la démocratisation de l’IA par les géants de l’industrie (Google, Microsoft, Amazon, IBM, etc.) est un facteur de changement important pour toute entreprise technologique. Heureusement, l’informatique en nuage (cloud computing) et les API d’apprentissage automatique à données libres comblent le fossé de l’écart technique que peuvent vivre les petites entreprises et leur permettent de tirer avantage des possibilités qu’offre l’IA. Plus que jamais, il est temps pour les petites entreprises de plonger et commencer leur expérimentation. Le vrai défi, toutefois, est de savoir comment bien utiliser ces nouvelles ressources. Une fois de plus, les entreprises peuvent s’inspirer des grandes entreprises comme Google pour développer leurs idées. Voici ce qui est pertinent de savoir.

Continue reading “Comment les entreprises influentes comme Google utilisent l’intelligence artificielle et que pouvons-nous en retirer”

Arcbees fait l’acquisition de Chalifour Solutions Numériques

COMMUNIQUÉ

Québec, le 3 octobre 2017–  Arcbees, entreprise technologique de premier plan en intelligence artificielle, annonce l’acquisition stratégique de Chalifour Solutions Numériques. Cette transaction permettra d’élargir les champs d’expertise de la société, de concentrer les efforts communs de développement et de renforcer son positionnement sur le marché des solutions d’affaires intelligentes.  Continue reading “Arcbees fait l’acquisition de Chalifour Solutions Numériques”

Dérapages de l’IA : trois exemples décortiqués

En un peu plus d’une décennie, l’intelligence artificielle (IA) a évolué de façon fulgurante. Chaque jour, de nouveaux progrès en matière d’IA défraient la chronique. En fait, cette évolution s’accélère :

  • 2004 La DARPA organise une course de voitures autonomes nommée Grand Challenge. La technologie mise au point par les participants permettra à Google de concevoir une voiture autonome et de modifier les lois existantes en matière de transport. 
  • 2005 Le robot humanoïde ASIMO de Honda marche aussi vite qu’un humain et est capable de servir les commandes des clients dans un restaurant. Aujourd’hui, des robots militaires fonctionnent selon la même technologie.
  • 2007 Des ordinateurs ont appris à jouer une partie parfaite d’échecs, ouvrant la porte à des algorithmes capables d’effectuer des recherches dans de vastes bases de données.
  • 2011 Le programme Watson d’IBM remporte la victoire à Jeopardy! contre des champions humains. Il apprend actuellement à prodiguer des conseils médicaux à des médecins et maîtrise n’importe quel domaine de connaissance.
  • 2012 Google lance Knowledge Graph, une base de connaissance fondée sur la recherche sémantique qui représente probablement le premier pas vers la véritable intelligence artificielle.
  • 2013 Facebook lance Graph Search, un moteur de recherche sémantique doté d’une connaissance intime des utilisateurs de Facebook, qui fait qu’il nous est pratiquement impossible de cacher quoi que ce soit aux algorithmes intelligents.
  • 2013 La Maison-Blanche accorde un financement de trois milliards de dollars US au projet BRAIN, axé sur la rétro-ingénierie du cerveau humain, dans la foulée d’un projet semblable mené en Europe au coût d’un milliard d’euros.
  • 2014 Un agent conversationnel convainc 33 % des juges qu’il est un être humain, passant avec succès une version réduite du test de Turing.
  • 2015 Un logiciel général apprend à surpasser des joueurs humains à des dizaines de jeux vidéo Atari.
  • 2016 Le champion mondial du jeu de Go est vaincu par AlphaGo, un programme informatique doté de réseaux de neurones profonds.

Source : Artificial Intelligence Safety and Cybersecurity: A Timeline of AI Failures, https://arxiv.org/pdf/1610.07997.pdf (article en anglais)

Toutefois, peu d’information est communiquée sur les dérapages de l’IA, et encore moins sur les raisons qui les expliquent.

L’échec est la clé du succès

L’échec est au cœur du progrès humain. Par exemple, le four à micro-ondes a été inventé par pur hasard lors d’essais visant à mettre au point un système de radar pour l’armée pendant la Seconde Guerre mondiale. Percy Spencer a trouvé une barre de chocolat fondue dans sa poche tandis qu’il menait des travaux sur les magnétrons pour la société Raytheon, important fournisseur du secteur de la défense aux États-Unis.

Continue reading “Dérapages de l’IA : trois exemples décortiqués”

L’IA et les données, des inséparables!

Dans cet article, j’aborderai l’importance des données et de leur analyse pour concevoir une intelligence artificielle (IA) efficace et performante. Mais, tout d’abord, mettons-nous en contexte.

Un problème typique à résoudre pour une entreprise consiste à anticiper les besoins de ses clients. Prenons par exemple un assureur qui veut savoir quelles couvertures d’assurance seraient les plus avantageuses pour son client, en fonction de ses besoins. Plusieurs facteurs peuvent influencer le client dans le choix d’une assurance (mais aussi dans le choix d’un assureur!) : son âge, ses études, sa santé, sa situation financière actuelle et future, ses dettes, ses objectifs à court et à long terme, et j’en passe! Considérant qu’un assureur peut avoir un large éventail de clients, il peut devenir difficile pour lui de garder en tête tous ces paramètres spécifiques à chaque client. Dans ce genre de situation, une IA pourrait être conçue. Assistant l’assureur, elle pourrait rapidement cibler le type des clients et suggérer l’assurance qui leur convient le mieux.

Continue reading “L’IA et les données, des inséparables!”

Guide de survie pour travailler à distance en équipe

Comment la moitié de notre équipe a su travailler à distance pendant deux semaines tout en restant productive.


Le travail à distance ne nous est pas étranger.

En octobre dernier, passionné de randonnées en montagne, j’ai eu la chance de travailler à partir de Banff, en Alberta. (Vive les montagnes!)

Notre designer et maitre ultime du branding, Manon, a travaillé à distance pendant quatre mois l’année dernière. Elle a résumé son aventure dans cet article.

Cette année, nous avons décidé de pousser le concept encore plus loin. Huit d’entre nous ont posé pied à Puerto Rico pendant deux semaines, tout en réussissant à rester productifs et efficaces malgré les distractions et la chaleur. Voici le résumé de notre processus et de nos apprentissages en cours de route.

Continue reading “Guide de survie pour travailler à distance en équipe”

Un guide non technique pour comprendre l’apprentissage automatique

 

Dans la publication de la semaine dernière, nous avons discuté de la pertinence de l’apprentissage automatique (Machine Learning) pour votre entreprise. Dans le cadre de mes recherches, j’ai compris plus en profondeur ce qu’est l’apprentissage automatique et j’ai réalisé que la plupart des informations sur le sujet est technique et destinée aux développeurs ou aux analystes de données.

Une explication non technique m’a donc paru nécessaire.

Qu’est-ce que l’apprentissage automatique?

La définition la plus simple que j’ai rencontrée se lit comme suit :

L’apprentissage automatique est « […] la branche de l’intelligence artificielle (IA) qui explore les moyens d’amener les ordinateurs à améliorer leurs performances en fonction de leur expérience ». Source : Berkeley

Décomposons cette définition pour asseoir certaines fondations de l’apprentissage automatique et pour en améliorer notre connaissance.

Continue reading “Un guide non technique pour comprendre l’apprentissage automatique”

L’apprentissage automatique est-il adapté à votre entreprise?

La plupart des entreprises reconnaissent que l’apprentissage automatique (Machine Learning) peut leur apporter une valeur exceptionnelle. Cependant, plusieurs d’entre elles se posent des questions quant à l’intégration de celui-ci dans leur stratégie de données : comment, dans quel domaine et surtout à quel moment?

Aujourd’hui, nous allons explorer les questions que vous devriez vous poser afin de savoir si l’apprentissage automatique est adapté à votre entreprise.
Continue reading “L’apprentissage automatique est-il adapté à votre entreprise?”

2016: quand la vie vous donne des citrons…

Nous avons une confession à vous faire : Chez Arcbees, nous avons aimé 2016.

Oui, oui, vous avez bien lu, contrairement à tout le monde, qui souhaite que 2016 aille vite s’évanouir dans les méandres de l’oubli.

Voici nos 3 raisons pourquoi nous l’avons aimé et pourquoi on va sûrement encore plus aimer 2017.

Raison 1 : 2016 nous a tissé serré.

Comme toute entreprise, la conquête du monde n’est pas de tout repos. Cette aventure loin d’être reposante comporte son lot, de hauts et aussi de bas. Et comment vous dire…2016 a commencé sur les chapeaux de roue en nous envoyant pas mal de citrons.

Et le miracle « Beyoncé » (son album le plus récent s’appel Lemonade), comme aime l’appeler Manon, est arrivé.

De tous ces citrons, on a fait une super limonade.

Ces épreuves nous ont rapprochés en tant qu’entreprise, qu’équipe, et en tant qu’être humain autour de la solidarité, du partage, de l’écoute et surtout de la résilience.

Se rassembler pour mieux se relever les manches, se rassembler autour de valeurs communes, se rassembler autour d’une direction porteuse de croissance, voici les ingrédients secrets de notre limonade cuvée 2016.

Raison 2 : 2016 nous a fait grandir… et ce n’est pas fini.

Quand on fait une limonade, on apprend, c’est indéniable. Sur nous, sur les autres, mais surtout ensemble. Notre culture est devenue plus riche de moments, de traditions, de souvenirs partagés, transmis, implantés. Cette culture chère à nos coeurs est devenue notre base solide pour attaquer la deuxième phase de 2016 : l’expansion.

Nous avons construit et construisons chaque jour l’avenir d’Arcbees sans sacrifier ce qui fait de nous ce que nous sommes. Notre défi dans cette phase très excitante, c’est de protéger notre culture d’entreprise comme notre bien le plus précieux tout en la partageant au plus grand nombre pour qu’elle inspire tous les bâtisseurs qui veulent changer le monde.

Notre limonade et ses ingrédients secrets nous ont permis, non seulement de nous relever, mais aussi de grandir. Et vous n’avez encore rien vu.

Raison 3 : 2016 nous a montré le chemin de la conquête.

Ce qui est bien avec la limonade, c’est qu’elle challenge vos idées reçues et que son pétillant vous fait découvrir de nouveaux horizons. Chez Arcbees, nous ne faisons pas les choses à moitié. Nous avons pris le contrôle de notre destin et pris part à une aventure humaine qui définit le monde de demain.

Nous avons choisi ensemble notre chemin : l’intelligence artificielle.

Nous avons décidé de devenir l’acteur indispensable qui lie les différents membres de l’intelligence artificielle pour développer des partenariats uniques avec les entreprises d’ici.

Embaucher des talents extraordinaires, grandir pour dépasser les standards de l’industrie afin de se concentrer sur un seul et même but : voir grand avec nos clients pour créer quelque chose d’unique ensemble.

Incarner cet acteur de collaboration est une passerelle d’exception pour assembler les membres de ce milieu et construire le Québec d’aujourd’hui et des années à venir.

source

Raison 4: 2016 nous a donné «le feu sacré» pour 2017*

*oui, on se donne le droit de rajouter une petite raison, comme ça. Le monde appartient aux rebelles.

Tous ces défis qui nous attendent nous donnent le feu, au coeur, aux tripes et nous allons encore une fois donner le meilleur de nous-mêmes. Nous allons expérimenter, réussir et parfois avoir des petits ratés. Et si le doute nous assaille, nous allons retourner à ce qu’il y a de plus précieux : notre famille … et refaire de la limonade!

Merci à vous, nos clients, nos partenaires, nos amis, nos familles de nous soutenir dans cette aventure passionnante et prenante. Nous vous souhaitons, ensemble, une année 2017 palpitante, belle, intelligente et bienveillante.

Toute l’équipe d’Arcbees.

P.S. Ne jamais, jamais, sous estimer, une simple limonade.

Introduction aux systèmes de recommandation

Many receive advice, only the wise profit from it.” – Harper Lee

Les systèmes de recommandation sont pour beaucoup d’entre nous des entités mystérieuses qui semblent deviner nos pensées. Pensons simplement à Netflixqui nous suggère des films, ou encore à Amazon, qui croit connaître les produits que nous devrions acheter. Depuis leurs débuts, les outils de recommandation ont été améliorés et raffinés et ils ne cessent d’enrichir l’expérience utilisateur. Bien que plusieurs d’entre eux soient des ensembles très complexes, leur fondement et leurs racines demeurent très simples. Je me suis penché sur la question afin de démystifier pour vous ces étranges systèmes.

Qu’est-ce qu’un système de recommandation?

Un système de recommandation est une forme spécifique de filtrage de l’information qui a pour but de présenter à un utilisateur des éléments qui sont susceptibles de l’intéresser, et ce, en se basant sur ses préférences et son comportement. On tente donc de prédire votre appréciation face à un élément pour ainsi vous suggérer ce que vous serez le plus en mesure d’apprécier.

Comment créer un système de recommandation?   

Bien qu’il existe de nombreuses techniques pour mettre en place un système de recommandation, j’ai choisi ici de vous présenter les trois techniques les plus simples et les plus utilisées. Tout d’abord, le filtrage collaboratif, puis les systèmes basés sur le contenu et finalement les systèmes basés sur la connaissance. Je vous présente également le principal problème des systèmes de recommandation ainsi qu’une solution à ce problème. À la toute fin, un exemple d’implémentation complète vous attend.  

Filtrage collaboratif

L’une des premières techniques utilisées et qui demeure encore aujourd’hui parmi les plus simples et les plus efficaces est le filtrage collaboratif. Ce procédé en trois étapes commence par la collecte d’information sur les utilisateurs. Puis, on forme une matrice afin de calculer des associations. Finalement, nous sommes en mesure de faire une recommandation avec un niveau de confiance assez élevé. Cette recommandation se divise en deux grandes catégories : l’une se base sur les utilisateurs et l’autre sur les items qui composent l’environnement.

Filtrage collaboratif utilisateur

L’idée derrière le filtrage collaboratif utilisateur consiste à trouver des utilisateurs qui ont des goûts similaires à l’utilisateur cible. Plus concrètement, si Jean-Pierre et Jason ont évalué plusieurs films d’une manière similaire dans le passé, nous pouvons considérer ceux-ci comme des utilisateurs semblables et ainsi utiliser les cotes de Jean-Pierre pour prédire les cotes de Jason. Par exemple, si Jean-Pierre a beaucoup apprécié les films Return Of The Jedi et The Empire Strikes Back et que Jason a également aimé le film Return Of The Jedi, alors il serait judicieux de suggérer à Jason The Empire Strikes Back. Généralement, un nombre restreint d’utilisateurs semblables à Jason est suffisant pour prédire les évaluations de celui-ci.

 

dev-recommandation-filtrage-userDans un tableau où chaque ligne est un utilisateur et où chaque colonne représente un film, il suffit de trouver les similarités entre les lignes de la matrice pour repérer les utilisateurs similaires.

dev-recommandation-matrice
Il existe cependant certains problèmes associés à ce type d’implémentation.

– Les préférences des utilisateurs changent avec le temps. Cela peut donc générer de nombreuses suggestions inappropriées.

– Plus le nombre d’utilisateurs augmente, plus il sera long de générer des recommandations.

– Le filtrage par utilisateur est sensible au Shilling Attack, qui est une façon pour certaines personnes mal intentionnées de détourner le système et de faire en sorte que certains produits soient plus recommandés que d’autres, et ce, à leur avantage.

Filtrage collaboratif objets

Le processus est simple. On calcule la ressemblance de deux éléments en se basant sur les notes données par les utilisateurs. Retrouvons Jean-Pierre et Jason qui ont tous les deux apprécié les films The Return Of The Jedi et The Empire Strikes Back. Nous pouvons donc déduire que la majorité des utilisateurs qui apprécie le premier film risque également d’apprécier le second. Ainsi, il serait pertinent de suggérer The Empire Strikes Back à Larry, qui a adoré The Return Of The Jedi.

dev-recommandation-filtrage-objets

Pertinemment, la ressemblance est calculée en fonction des colonnes plutôt que les lignes, et ce, sur la même matrice utilisateur/films vue précédemment.

Le filtrage collaboratif objets (ou items) est souvent favorisé puisque celui-ci ne comporte aucun des inconvénients du filtrage utilisateur. D’abord, les items du système (ici des films) ne changent pas, donc les suggestions seront plus pertinentes. De plus, il y a souvent moins d’éléments que d’utilisateurs, ce qui diminue le temps de traitement. Finalement, il est beaucoup plus complexe de tricher avec ces systèmes.

Système basé sur le contenu

Dans les systèmes de recommandation basés sur le contenu, ce sont les attributs descriptifs des éléments qui sont utilisés pour formuler des recommandations. Le terme « contenu » fait référence à ces descriptions. Par exemple, en regardant l’historique d’écoute de Sophie, le système remarque que celle-ci semble apprécier le genre country. Il sera donc en mesure d’ajouter plus de titres du même genre à ses recommandations. Des systèmes beaucoup plus complexes sont en mesure de détecter les cohérences entre certains attributs, et ainsi, d’augmenter la qualité des suggestions. Notamment, le Music Genome Project catégorise chacune des chansons en 450 attributs différents; c’est de ce projet qu’est né le site d’écoute musicale Pandora.

Système basé sur la connaissance

Les systèmes de recommandation fondés sur la connaissance sont particulièrement utiles dans le cas d’articles qui sont rarement achetés. On parle ici de maisons, d’automobiles, de services financiers et même d’objets de luxe. Dans de tels cas, le processus de recommandation souffre souvent d’un manque d’évaluation des produits. Il n’utilise alors pas les évaluations des utilisateurs, mais sera plutôt effectué sur la base des similitudes entre les exigences des clients et des descriptions d’articles ou grâce à l’utilisation de contraintes spécifiant les exigences des utilisateurs. Cela rend ce type de système unique puisqu’il permet aux utilisateurs de spécifier explicitement ce qu’ils veulent. En ce qui concerne les contraintes, si applicables, elles sont le plus souvent implémentées par les experts du domaine. Par exemple, lorsque l’utilisateur spécifie clairement que le prix de la maison recherchée ne doit pas dépasser X, le système doit prendre en considération cette spécification.

Le problème de démarrage à froid

L’un des problèmes majeurs des systèmes de recommandation est que le nombre d’évaluations initialement disponibles est relativement faible. Que faire lorsqu’un nouvel utilisateur n’a pas encore noté de films, ou lorsqu’un nouveau film est ajouté au système? Dans de tels cas, il devient plus difficile d’appliquer les modèles traditionnels de filtrage collaboratif. Bien que les méthodes qui s’appuient sur le contenu et sur les connaissances soient plus robustes que les modèles collaboratifs, lorsqu’il s’agit de démarrage à froid, ces contenus ou connaissances pourraient ne pas toujours être disponibles. Par conséquent, un certain nombre de procédés spécifiques comme les systèmes hybrides ont été conçus. Ils visent à remédier au problème du démarrage à froid dans le contexte des systèmes de recommandation.

Les systèmes hybrides

Notons que les différents types de systèmes présentés ont tous des forces et des faiblesses et se basent sur différentes données pour générer des suggestions. Certains systèmes de recommandation, comme ceux qui s’appuient sur la connaissance, sont plus efficaces dans les environnements de démarrage à froid, où la quantité de données est limitée. D’autres systèmes de recommandation, comme les méthodes collaboratives, sont plus efficaces lorsque plusieurs données sont disponibles. Dans de nombreux cas, alors que les données sont très variées, nous avons la flexibilité d’utiliser différentes méthodes pour la même tâche. Nous pouvons donc combiner plusieurs techniques afin d’améliorer la qualité du système dans son ensemble. De nombreuses techniques de combinaisons ont été explorées, parmi lesquelles :

  • Pondéré : un poids différent donné aux recommandations de chaque technique utilisée afin de favoriser certaines d’entre elles.
  • Mixte : un seul ensemble de recommandations, sans préférences.
  • Augmenté : les suggestions d’un système sont utilisées comme entrée pour le suivant, et ainsi de suite jusqu’au dernier.
  • Commutation : choix d’une méthode au hasard.

L’une des utilisations les plus célèbres d’un système hybride est celle du Netflix Prize, de 2006 à 2009. Le but poursuivi était d’améliorer les suggestions de l’algorithme Cinematch de Netflix d’au moins 10 %. L’équipe Bellkor’s Pragmatix Chaos a remporté le prix d’un million de dollars avec sa technique composée de 107 algorithmes différents et a réussi à améliorer de 10.06% les suggestions de Cinematch.

Et l’intelligence artificielle dans tout ça?

Les systèmes de recommandation sont couramment utilisés en lien avec l’intelligence artificielle. Leur capacité à fournir un aperçu global, à prédire les événements et à mettre en évidence des corrélations contribue à expliquer leur utilisation en IA. Par ailleurs, les techniques de Machine Learning sont fréquemment utilisées pour créer les algorithmes de recommandation. Par exemple, chez Arcbees, nous avons construit un système de prédiction des préférences de films qui utilise un réseau de neurones et les données de IMDb. Les réseaux de neurones peuvent effectuer rapidement des tâches complexes et manipuler facilement des données massives. En fournissant une liste de films comme entrées et en comparant la sortie avec la note de l’utilisateur, le réseau peut apprendre par lui-même la règle permettant de prédire les évaluations futures d’un utilisateur spécifique.

Les trucs de l’expert

Tout au long de mes lectures, j’ai remarqué deux grands conseils qui reviennent toujours parmi ceux prodigués par les experts du domaine. Le premier consiste à faire reposer les recommandations sur les items que les utilisateurs paient. Lorsqu’un utilisateur est prêt à payer, on peut être certain que l’évaluation qu’il fournira sera beaucoup plus juste et fidèle. Deuxièmement, il est toujours préférable d’avoir un plus grand nombre d’algorithmes que de raffiner un seul algorithme. Le système de Netflix en est un bon exemple.

Implémentation d’un algorithme de filtrage collaboratif objets

Le code qui suit montre à quel point il est facile et rapide de mettre en place un système de recommandation par filtrage collaboratif item. Le langage utilisé est Python et j’utilise les librairies Pandas et Numpy qui sont parmi les plus populaires dans le domaine. Les données utilisées sont des évaluations de films et l’ensemble est disponible sur le site MovieLens.

Étape 1 : Trouver des films semblables à un film

  1. Lire les données
  2. Créer la matrice utilisateur X films
  3. Choisir un film et générer la valeur de similitude (corrélation) de tous les autres films avec le film choisi
  4. Enlever les films peu populaires et qui peuvent générer des recommandations inadéquates
  5. Extraire les films populaires et semblables au film cible

Étape 2 : Faire des recommandations à un utilisateur en s’appuyant sur toutes ses évaluations

  1. Générer la valeur de similarité entre chaque paire de film et en gardant seulement les plus populaires
  2. Générer la liste des suggestions pour chacun des films contenus dans la liste des évaluations de l’utilisateur cible (ici l’utilisateur numéro zéro)
  3. Regrouper les films identiques en additionnant leur score
  4. Conserver seulement les films qui n’ont pas encore été visionnés par l’utilisateur

Comment aller plus loin ?

Dans le cas présenté plus haut, la librairie Panda et notre simple processeur suffisaient pour pouvoir travailler sur un ensemble de données de MovieLens. Cependant, il se peut que ce ne soit pas optimal pour des ensembles plus gros, et donc, vous chercherez probablement à vous tourner vers Spark ou MapReduce pour rendre l’exécution plus rapide.

J’espère bien avoir réussi à vous faire voir qu’il n’y a rien de compliqué dans le fait de mettre en place un système de recommandation simple et efficace. N’hésitez pas à commenter et à poser vos questions. Vous pouvez aussi me contacter directement par email.