# Processing with AI
## Partie 2: 👩⚖️ Ethics of AI
Nom - Prénom :
> GUILLAUMET
> Adèle
>
Sujet :
> Improve dating apps matching algorithms using NLP
>[TOC]
## Cahier des charges
### Biais
Si notre jeu de données n'est pas conçu avec suffisamment de rigueur, les biais suivant risquent d'apparaître :
>1. Un premier biais serait celui de classer les individus pour favoriser l'entre-soi social. S'ils ne sont pas assez performants, les algorithmes analysant les messages directs ou les textes dans les descriptions de profil peuvent trier les individus en fonction de leurs classes sociales, de leurs revenus, de leur niveau d'études. Ainsi, on pourrait imaginer que seuls les diplômés de Polytechnique matcheraient ensemble puisque dans les profils des individus, on y voit souvent l'école ou l'université dans laquelle ils étudient. Cela instaurerait une discrimination sociale et favoriserait l'entre-soi, dans le sens où l'on évite de se mélanger, on exclut ceux qui ne font pas partie du même milieu social. L'entre-soi ne correspond pas uniquement aux milieux sociaux aisés mais à tout individu appartenant à la même classe sociale, à la même origine, au même genre. Il y a des termes, des tournures de phrases qui peuvent rapidement indiquer cela et inciter des algorithmes peu rigoureux à classer selon ces critères. Ce biais social contribuerait à creuser les écarts entre les différents milieux sociaux, genres, origines, ce qui va à l'encontre du principe d'inclusivité promu dans notre société actuelle.
>2. Créer des inégalités de désirabilité entre les profils en fonction des mots prononcés. Imaginons que le NLP soit capable d'analyser des mots comme étant valorisés ou dévalorisés dans la société et ainsi mette moins en avant un profil ou au contraire le booste.
>
><i>Par exemple, une femme qui, dans une conversation privée, écrit "Je suis maman célibataire" ou "maman solo" pourrait être moins mise en avant sur l'application à cause du "maman solo" ou "maman célibataire", un statut peu valorisé dans notre société lorsqu'il s'agit de faire une rencontre amoureuse. </i>
>
Les termes "chômage", "dépression",... pourraient également mener à des sortes d'exclusions malheureuses du panel d'individus inscrits sur l'application. La personne se disant au chômage accèderait alors à moins de profils que celle bien insérée dans le monde du travail. Analyser des mots en fonction de leur désirabilité sociale, en leur attribuant une subjectivité, une valorisation ou non serait un biais facteur d'inégalités
<b>Nous allons donc nous assurer que notre modèle n'est pas biaisé en :</b>
>1. Classant intelligement. Il faudrait instaurer des classements pertinents et non discrimants socialement. Les classements peuvent se faire par âge, ce qui est généralement souhaitable pour éviter qu'un individu de 18 ans se retrouve à discuter avec un autre individu de 65 ans, ou bien encore par aire géographique, ce qui facilite les rencontres ou enfin par orientation sexuelle. Ces trois classements se basent, à mon avis, sur des principes logiques de proximité générationelle, de proximité géographique et de proximité amoureuse. Tout autre classement qui se ferait par association de mots ne serait pas forcément souhaitable puisque très vite discriminant.
>2. Imposant la neutralité. Il ne faut aucune subjectivité dans les algorithmes dans le sens où il ne faut pas valoriser un mot plus qu'un autre ainsi de rester dans un système d'égalité parfaite et ne favoriser aucune situation, aucun terme. Il ne faut pas dresser d'échelle de valeur, en somme.
### Overfitting
Nous allons nous assurer que notre modèle ne sera pas dans une situation de sur-apprentissage (overfit) en :
> Vérifiant la précision de notre modèle par la création de faux profils divers, voire même stéréotypés, pour analyser le taux de rencontre, le taux de match entre ces différents profils. Il faut que la dimension de l'âge, de la géographie et de l'orientation sexuelle fonctionnent mais qu'ensuite le hasard fasse pour beaucoup.
> Vérifier la précision d'analyse du modèle. Sur ces applications, la tendance peut être à l'écriture abrégée, au "franglais", ou mêmes aux fautes d'orthographe. Il faut que le modèle ne soit pas entrainé uniquement à des phrases dans un français parfait. Entrainons-le à des conversations de la vie réélle pour ne pas qu'il buggue lorsqu'il détecte un "T trop smart!" ou un "Qu'est-ce qui te drive dans la vie ?" Il faut vraisemblablement varier les modes de langage pour que l'algorithme diversifie sa reconnaissance.
### Usages détournés
>Nous devons nous rappeler que notre application, par le fait qu'elle peut faire des recommandations en fonction des mots utilisés par les utilisateurs, pourrait être utilisée de façon malveillante par des faux profils de grandes entreprises pour détecter des noms de marques, des habitudes de consommation dans les descriptions ou les conversations privées, et ainsi s'en servir comme base de données pour faire de la publicité à des cibles prédéfinies.
><i>Exemple:
>Imaginez un faux profil d'un homme sous lequel se cacherait une entreprise de jeux vidéos. Cet homme factice mettrait plein de mots relatifs aux jeux vidéos dans sa descrption. Grâce à l'algorithme, il pourrait entrer en contact avec des personnes ayant des mots similaires dans leurs descriptions et ainsi discuter avec eux, mieux connaitre leurs préférences à des fins uniquement commerciales. L'aspect "rencontre" serait totalement factice.</i>
### Fuite de données
> Dans un scénario catastrophe, au cours duquel l'entièreté de notre jeu de données d'entrainement serait volé ou récupéré à partir de notre modèle, le risque serait que les données personnelles des utilisateurs, voire leurs conversations personnelles et intimes soient dévoilées au grand jour. Sur les applications de rencontre, il est question de sexe, d'amour, d'infidélités d'orientation sexuelle, des sujets profondément intimes. Imaginez qu'une liste de toutes les personnes ayant comme orientation sexuelle l'homosexualité sorte fuite alors même qu'une grande partie ne l'est peut-être pas ouvertement. A partir du moment où l'algorithme analyse même les conversations privées, qui relèvent de l'intime, il faut que le système soit <b>"closed-source"</b>.
> On est ici sur un modèle "black box" pour des raisons évidentes de confidentialité.
### Piratage
> Si une personne trouvait un moyen de "tromper" notre modèle et modifier son comportement à volonté, le risque serait que le pirate fasse matcher des personnes qui n'ont rien à voir entre elle. Pire, imaginons qu'il pirate le système de reconnaissance des termes en associant le mot "homophobe" avec "homosexuel", "LGBT", "gay", "lesbienne" et qu'il permette ainsi à une personne homophobe d'accéder au profil, à matcher avec une personne homosexuelle. La même chose pourrait être faite avec les orientation politiques. Le pirate associerait des termes ensemble, de sorte à ce que des personnes d'extrême-droite et d'autres d'extrême-gauche se rencontrent quasi-systématiquement sur l'application. Les conséquences pourraient être désastreuses, conduire à du harcèlement en ligne. Il n'y aurait alors plus aucune crédibilité, plus aucune confiance accordée à ces applications.