Archives de
Category: Non classé

Stage chez Quadient : Une Plongée dans l’Ingénierie Logicielle et les Microservices

Stage chez Quadient : Une Plongée dans l’Ingénierie Logicielle et les Microservices

Durant ma première année en informatique, j’ai eu l’opportunité d’effectuer un stage au sein de Quadient, une entreprise internationale spécialisée dans la gestion de lockers. Cette expérience m’a permis d’intégrer l’équipe Packcity Management Dashboard (PMD) Core, chargée du développement du backend de l’entreprise. Mon objectif principal : mettre à jour la librairie SocketCluster utilisée pour la communication entre les machines de type GEN3 et les serveurs.

Quadient : Un acteur clé des solutions automatisées

Quadient, anciennement Neopost, est une entreprise mondiale avec plus de 6000 employés à travers le monde. Spécialisée dans les solutions de gestion de lockers et la gestion de courrier à grande échelle, Quadient est un leader dans ce domaine. L’équipe PMD Core, au sein de laquelle j’ai travaillé, est responsable de l’API backend, une infrastructure clé qui permet la gestion des casiers automatisés à grande échelle. Cette API est développée en NodeJS et repose sur une architecture de microservices hébergée dans un environnement Kubernetes.

Mission : Mise à jour de la librairie SocketCluster

Ma mission était de mettre à jour la librairie SocketCluster dans le contexte des machines GEN3. Ces machines utilisent des websockets pour transmettre des informations en temps réel, comme l’état des colis, entre les machines et le backend. L’enjeu principal était de mettre en œuvre cette mise à jour pour améliorer la sécurité et profiter des nouvelles fonctionnalités de la librairie.

Cette tâche représentait un défi technique important. J’ai dû d’abord me familiariser avec l’architecture de microservices, un paradigme très différent du modèle monolithique que je connaissais. Ensuite, il a fallu maîtriser les subtilités de la programmation asynchrone en NodeJS et intégrer cette mise à jour dans un environnement de production déjà existant.

Défis rencontrés et solutions mises en place

L’un des principaux obstacles a été la prise en main du code préexistant, écrit par d’autres développeurs, ainsi que l’intégration dans une équipe de professionnels déjà bien rodés. La complexité des microservices et des tests automatisés (réalisés via Cucumber) a également nécessité une phase d’adaptation.

Pour relever ces défis, j’ai bénéficié de l’aide précieuse d’un architecte de chez Quadient, avec qui j’ai pu travailler sur la réécriture du code lié à l’ancienne version de SocketCluster. Mon travail consistait à effectuer cette mise à jour sans altérer les fonctionnalités existantes, tout en assurant que les tests automatisés continuent de passer avec succès.

Résultats et impact

Grâce à cette mise à jour, l’équipe a pu renforcer la sécurité des communications entre les machines GEN3 et les serveurs, tout en améliorant la scalabilité du système. Cette réussite sera un modèle pour la mise à jour des autres générations de machines à l’avenir.

Bilan personnel : Une expérience formatrice

Ce stage chez Quadient m’a permis de développer de nombreuses compétences, tant professionnelles que techniques. J’ai appris à travailler dans un environnement agile avec des méthodologies comme Scrum, et à manipuler des technologies comme websockets et NodeJS. Malgré la difficulté de travailler à distance, j’ai pu m’adapter et m’immerger dans un environnement de développement de haut niveau.

Cette expérience m’a également permis de réaliser à quel point le travail en équipe et la communication sont essentiels dans un projet d’envergure. Bien que ce stage ait mis en lumière certaines lacunes dans ma formation initiale, il m’a aussi donné les outils pour continuer à progresser et à approfondir mes connaissances.

Ce stage chez Quadient a été une étape clé dans mon parcours, me donnant non seulement un aperçu du monde professionnel, mais aussi des compétences techniques concrètes qui me seront utiles pour la suite de ma carrière.

Automatisation et Simplification des Textes Scientifiques : Mon Expérience au LIA

Automatisation et Simplification des Textes Scientifiques : Mon Expérience au LIA

Dans le cadre de ma deuxième année de licence en informatique et de Cursus Master Ingénierie (CMI) à l’Université d’Avignon, j’ai eu l’opportunité de réaliser un stage au Laboratoire Informatique d’Avignon (LIA) sous la tutelle de M. Stéphane Huet. Ce stage m’a permis de m’immerger dans le monde de la recherche, un domaine qui m’intéresse particulièrement, et de découvrir le projet SimpleText, une initiative européenne dédiée à la simplification automatique de textes scientifiques.

Contexte du stage

Ayant un fort intérêt pour le traitement automatique du langage, j’étais très motivé à l’idée de rejoindre un laboratoire de recherche, malgré quelques appréhensions liées à mon niveau d’étude en début de stage. Bien que le LIA prenne généralement des étudiants de troisième année, j’ai pu trouver ma place dans l’équipe et me lancer dans ce projet innovant. SimpleText vise à rendre les articles scientifiques plus accessibles au grand public, son but est de résumé de manière très simple des articles scientifique de haut niveau. Mon stage, bien que court, s’inscrivait dans la tâche 1 de ce projet, à savoir la sélection des passages pertinents à inclure dans les résumés simplifiés.

Le Projet SimpleText : Une ambition européenne

Le projet SimpleText est un vaste projet qui regroupe plusieurs pays européens, dont la France, l’Italie, et les Pays-Bas. Bien que la tâche principale était de sélectionner les passages, une partie de mon travail impliquait aussi une évaluation manuelle de la complexité des textes, avec l’aide, entre autre, d’un algorithme mathématique connu sous le nom de Flesh-Kincaid Grade Level (FKGL).

Complexité de lecture et évaluation manuelle

L’évaluation des passages reposait principalement sur l’algorithme FKGL, qui calcule la complexité de lecture d’un texte. Cependant, cet algorithme ne prend pas en compte la difficulté de compréhension des termes techniques. J’ai donc été amené à effectuer une évaluation manuelle en attribuant une note de 0 à 2 à chaque passage, en fonction de sa complexité. Par la suite, j’ai comparé mes résultats avec ceux des étudiants d’autres universités européennes, afin de mesurer les écarts et d’ajuster les scores moyens par établissement.

Les défis du traitement automatique

Un des défis majeurs de ce stage résidait dans les limites de l’algorithme FKGL. En effet, FKGL évalue principalement la lisibilité du texte, sans tenir compte de la technicité des termes employés. Cela crée des incohérences, par exemple entre des termes simples et des termes très techniques qui comptent le même nombre de syllabes. Nous avons standardisé la tokenisation à l’aide de la librairie NLTK, couplée au dictionnaire de syllabisation Cmudict, ce qui nous a permis de comparer les textes de manière plus cohérente.

Conclusion : une expérience enrichissante

Ce stage m’a beaucoup appris, non seulement sur le plan technique, mais aussi sur la façon de travailler dans un laboratoire de recherche. Bien que la durée limitée du stage ait restreint l’ampleur des missions que j’aurais pu accomplir, l’expérience m’a permis de contribuer à un projet européen d’envergure tout en apprenant les méthodologies de simplification de texte. J’espère pouvoir poursuivre ce type de projets dans mes futures expériences académiques et professionnelles.

The risks and dangers of biometrics in modern security systems

The risks and dangers of biometrics in modern security systems

In the ever-changing security landscape, authentication plays a central role, and one of the most intriguing developments in recent years is the widespread adoption of biometrics. Initially reserved for federal applications, biometric technology has permeated everyday security systems. This article explores the definition of biometrics, its impacts, dangers and benefits, focusing on its growing importance in the field of cybersecurity.

First, what is biometrics?

Biometrics, in the context of security, refers to personally identifiable information (PII) that can be used to uniquely identify, contact, or locate an individual. Unlike traditional authentication methods such as passwords, biometrics rely on distinctive physical or behavioral characteristics inherent to each person, making it difficult for unauthorized individuals to imitate or duplicate.

Thus, biometric systems can be classified into two types: physical biometrics and behavioral biometrics. Physical biometrics uses characteristics such as facial features, fingerprints, iris patterns, retina scans and voice recognition. On the other hand, behavioral biometrics relies on activity patterns, including keyboarding and voice typing, for example.

The use of biometric authentication has grown considerably in recent years, providing an additional layer of security and ensuring the rigorous identification of individuals. This revolutionary adaptation has become a new standard, with a 90% increase in its use over the last five years.

Biometric data is commonly used to access information on devices such as smartphones, but its applications go beyond simple authentication. Law enforcement uses biometrics in criminal identification systems, while healthcare integrates it into national ID cards and health insurance programs for identification purposes.

The advantages of all this…

Biometrics offer several advantages, including that they are difficult to forge or steal, are easy and convenient to use, and eliminate the need to remember multiple passwords. Additionally, biometric authentication is non-transferable, reducing the risk of proxy use and unauthorized access.

and therefore, the inconveniences…

While biometrics improve security, they have notable drawbacks. Implementing a biometric system can be expensive, and failure to capture all necessary biometric data can result in identification failures. Biometric databases are susceptible to hacking, and errors such as false rejections and acceptances can still occur. User injuries can also render biometric systems ineffective, raising privacy concerns.

As biometrics become an integral part of modern security systems, it is crucial to understand the benefits and risks. Although it improves authentication and provides some convenience, the potential for breaches and privacy issues requires careful consideration during its implementation and continued development. As technology advances, balancing security and user privacy remains a crucial challenge for our society.

Je voudrais, sans la nommer, vous parler d’elle

Je voudrais, sans la nommer, vous parler d’elle

Les anciens égyptiens l’appelaient aha, Diophante d’Alexandrie la nommait arithmós (le nombre), Al-Khawarizmi la désignait par le mot shay’ (la chose que l’on cherche). Puis, elle a été latinisée en xay et René Descartes l’a abrégé en x.

L’inconnue, par définition, provoque des émotions contradictoires : du désir, de la peur, des fantasmes. Paradoxalement, elle est très familière dans notre langue, dans ses pronoms, ses articles indéterminés, ses anaphores. On la trouve dans nos jeux, dans nos polars. Plus elle semble inaccessible, plus on a envie de la connaitre, de la définir. Néanmoins, tout le plaisir réside dans l’exploration, dans ces petites découvertes qui dévoilent très lentement son identité. D’ailleurs, quand on y parvient, elle perd brutalement son attrait. A moins d’en trouver une qui nous résiste pour la vie, il nous en faut de nouvelles.

L’inconnue est notre carburant. C’est elle qui nous donne envie de faire des études et quand on en a la chance matérielle, de passer des inconnues de nous aux inconnues de tous.

Vous savez qu’il y a des équations très simples à formuler, mais qui ne trouvent pas de solution dans un ensemble donné. Ainsi, lorsque que l’on cherche un x² négatif, on n’a pas d’autre solution que de chercher pour x, un territoire plus complexe que celui des entiers relatifs. Ainsi, même si cela peut nous paraitre irrationnel, car nos terres sont loin d’être paradisiaques, chaque année, des milliers de personnes disparaissent en mer, en essayant de nous rejoindre.

Nos peurs de ces inconnues et de ces inconnus sont parfaitement absurdes et criminelles. Nous devons en urgence retrouver la raison. Ouvrir nos esprits et nos frontières. Combattre les discriminations, les discours et les lois xénophobes ou racistes. Et tout en espérant des victoires, sauver autant de vies que possible.

Sur l’application de l’Intelligence Artificielle Générative dans les différents domaines du Langage.

Sur l’application de l’Intelligence Artificielle Générative dans les différents domaines du Langage.

Depuis la récente démocratisation de l’intelligence artificielle générative, nous avons vu apparaître des modèles très performants en termes de langage. Des modèles comme ChatGPT ont de très bonnes performances en termes de compréhension et production du langage, et, plus généralement, les modèles nécessitant des promptes ont de bonnes compréhensions du langage et ce malgré une compréhension des consignes humaines plus faibles ayant conduit à l’apparition du prompt engineering. La compréhension du langage est donc devenue une clé qui a permis l’expansion et le développement des intelligence artificielles génératives (IAG). Dorénavant, les IAG sont utilisées comme outils et aides auxiliaires dans de nombreux domaines, facilitant voire améliorant les travaux de leurs utilisateurs. Du cancer au pliage des protéines, de la génération d’images au traitement de texte, de l’assistance aux programmeurs à la prise de notes lors de réunions, les domaines touchés sont nombreux et divers. Toutefois, une question se pose : si le langage est un des piliers des IAG, qu’en est-il des applications de ces dernières aux domaines du langage ? Car, en effet, si les différentes sciences du langage comme la syntaxe et la phonétique ont permis de développer les capacités langagières des différentes IAG, ces dernières peuvent à leur tour consolider leur propre base de différentes manières. Ainsi, dans cet article nous verront l’application des IAG sur trois domaines du langage, à savoir l’apprentissage des langues par nous autres humains, les sciences du langage (c’est-à-dire la linguistique) et l’idéolinguistique.

            L’application la plus évidente et celle qui touche le plus de monde est bien évidemment celle de l’apprentissage des langues. Des modèles de dialogue populaires et faciles d’accès comme ChatGPT, qui maîtrise quelques 95 langues, sont l’occasion parfaite pour apprendre des langues. De plus, certaines IAG sont volontairement adaptées pour l’apprentissage des langues (vous en trouverez pléthores avec une simple recherche google) et proposent des fonctionnalités spécifiques comme la correction de ce que l’utilisateur dit, la capacité de dialoguer vocalement, des capacités d’entretenir des dialogues sur des sujets très populaires en ayant un accès à internet, etc. Bien que par le passé une traduction simple et parfois bancale pouvait déjà être très utile pour l’apprentissage de langues, aujourd’hui les possibilités d’apprentissage sont démultipliées et révolutionnées par l’IAG. La complexification de l’IAG permet aussi aujourd’hui l’apprentissage et traduction de langues autrefois difficiles d’accès comme les langues des signes. Certaines IAG comme Signapse permettent maintenant de traduire du langage vocal au langage signé (dans le cas de Signapse c’est depuis l’anglais vers la langue des signes américaine) de la même manière que les nouveaux modèles de ChatGPT ou autres permettent une traduction de l’écrit vers le vocal et vice versa. Un dernier avantage de la sorte est la possibilité pour l’IAG de s’adapter à votre propre apprentissage, difficultés et besoins, et de vous proposer des tests personnalisés instantanés ainsi qu’une correction immédiate.

La démocratisation de l’informatique et de l’IAG permet aussi à des individus de prendre des initiatives pour rendre accessibles plus de langues à l’apprentissage. Par exemple, en Nouvelle-Zélande Jonnie Cain et Jason Lovell ont créé Reobot, un chatbot qui permet de discuter et d’apprendre te reo Māori, la langue indigène de Nouvelle-Zélande qui a par le passé subit une pression linguistique très forte de la part de l’anglais néozélandais. Ce projet rejoint un intérêt grandissant pour le Maori néozélandais (à ne pas confondre avec le Maori des îles Cook) de la part des Néozélandais, qui est lié à l’émergence d’une culture typiquement néozélandaise héritant plutôt fortement de la culture Maorie. Reobot est suivit de nombreuses initiatives similaires (FirstVoices, Opie, etc) à travers le monde qui répondent à l’intérêt croissant de nombreuses populations pour les langues d’héritage (heritage languages) et pour la préservation du patrimoine linguistique. Ces initiatives sont d’autant plus intéressantes qu’elles doivent faire face à un problème majeur, à savoir le manque de locuteurs et/ou de bases de données écrites, d’où l’intérêt d’avancées technologiques comme la possibilité de faire passer les IAG par la parole ou encore comme le Deep Learning qui pourrait, à terme, permettre des traduction et locutions performantes avec des langues peu dotées. Ainsi, il y a un espoir de meilleure conservation des langues vivantes en danger, quand 42% des langues du monde sont menacées de disparaître d’ici les 100 à 150 ans à venir (soit entre 2900 et 5500 langues, dépendamment de comment l’on compte).

Une utilisation tout aussi intéressante des IAG concernant l’apprentissage serait l’adaptation de ce dernier au niveau neurologiques. Notre compréhension du cerveau humain augmente tout en restant imparfaite, ainsi avoir des outils pour favoriser l’apprentissage quand celui-ci doit coexister avec des troubles cognitifs ou des troubles de l’apprentissage est un atout révolutionnaire. En particulier, adapter les supports d’apprentissage à des individus dyslexiques, étant dans le spectre autistique ou présentant tout autre trouble spécifique du langage et de l’apprentissage permet une avancée importante dans l’éducation et même dans notre propre compréhension de ces troubles.

Au niveau linguistique, l’arrivée et le développement de l’IAG a aussi des conséquences intéressantes à noter. La première d’entre elles fait écho à ce que nous avons dit précédemment. En effet, bien que les IAG de langage sont loin d’êtres parfaites et ne maîtrisent qu’un nombre faible de langues, elles offrent des perspectives présentes et futures intéressantes. Des chercheurs du MIT par exemple ont développé une IA qui peut comprendre les structures, règles et patterns des langues humaines. Elle est capable d’analyser et des comprendre ces patterns sur plusieurs niveaux de complexité et, surtout, est capable de le faire avec un nombre de mots très limité (par exemple avec une douzaine de mots). Ainsi, une telle IA combinée avec la possibilité de lui enseigner une langue complètement pourrait permettre à des linguistes ou individus isolés et/ou n’ayant pas une connaissance et aisance suffisante avec l’informatique de préserver des langues en danger ou difficiles d’accès, et ce en rendant accessible une traduction et une grammaire des langues concernées. Concernant l’enseignement de langues à l’IAG, plusieurs personnes ont annoncé avoir pu enseigner des langues à ChatGPT telles que le Toki Pona avec des modèles tournant en local, bien que ce soit contesté par le fait que le Toki Pona aurait déjà pu être ancré dans les bases de données de ChatGPT étant donné que c’est une langue accessible avec une communauté très active sur internet.

Une autre application possible dans le domaine linguistique serait d’améliorer notre compréhension des langues anciennes, parfois partiellement indéchiffrées, et surtout des mécanismes qui les ont fait évoluer dans des langues modernes. Des chercheurs du MIT (oui, encore) ont par exemple créé une IAG qui est capable de déchiffrer et traduire des langues anciennes. Elle a par exemple pu déchiffrer le Linéaire A avec succès et affiche globalement un succès de plus de 60% pour le moment, ce qui affiche de beaux espoirs pour d’autres langues et systèmes d’écritures comme le Linéaire B ou le mystérieux manuscrit de Voynich. Au niveau de la compréhension évolutive du langage, on pourrait se servir de la capacité des IAG à analyser et traiter des corpus énormes pour expliquer de manière plus claire et synthétique les évolutions en question. Dans un premier temps, un simple coup d’œil à l’index diachronique nous permet d’observer des mutations phonétiques obscures et males expliquées, parfois même qui contreviennent aux principes de la linguistique (exemples : « V → ∅ / _# “in nominals » en proto-Boreafrasian ou encore « V{j,w}V → aː / in some sequences » en arabe classique). Ainsi, l’IAG pourrait nous permettre de trouver des explications plus précises et moins aléatoires à ces mutations en élargissant les règles de mutation. Une telle analyse de corpus serait tout aussi pratique et bienvenue en grammaire, sémantique ou pragmatique. Une telle régularisation de ces domaines pourrait notamment permettre leur stabilisation, étant donné que la sémantique et la pragmatique sont des champs de batailles rangées entre linguistes qui n’arrivent jamais à trouver un consensus sur le pourquoi du comment de nombreuses caractéristiques du langage.

Dans le même modèle, l’utilisation de l’IAG pourrait nous permettre de mieux retracer les origines, le fonctionnement et l’évolution (inversée) du langage. En effet, si au XIXe l’avancée majeure en linguistique était la comparaison de nombreux corpus de langues qui a aboutit à la découverte de la supra famille des langues Indo-Européennes, aujourd’hui ce domaine est bloqué car dans la plupart des cas « un chaînon manque » pour pouvoir avoir des reconstructions d’ordre supérieures. Bien que de nombreuses théories existent, elles sont débattues étant donné que les arguments donnés s’appuient sur des hypothèses qui elles-mêmes s’appuient sur des hypothèses et cætera, donnant une instabilité exponentielle dans la reconstruction à mesure que l’on augmente l’ordre de reconstruction. Le défaut dans ces reconstructions est principalement humain : en étant humain on manque la vision nécessaire pour tout considérer, que ce soit des mécanismes culturels, grammaticaux ou des langues filles qui pourraient appuyer une reconstruction. Ainsi, l’analyse des corpus des langues filles par l’IAG pourrait nous permettre de générer des langues mères plus stables et moins hypothétiques qui à leur tout nous permettrait de faire des hypothèses beaucoup plus stable quant à l’origine de nombreuses familles de langues, et ce en considérant tous les facteurs d’évolution possible (par exemple : si les famille de langues Indo-Européenne et Ouralienne pourraient être très proche il est quasiment impossible avec nos simples capacités humaines de savoir si cette proximité est due à une ascendance commune ou à un contact prolongé à leurs débuts). Une autre utilisation plus complexe de l’IAG et plus lointaine dans le futur pourrait être l’analyse et la reproduction des mécanismes du cerveau humain afin d’apporter une réponses à certaines théories s’appuyant sur la biologie ou la mathématique qui ne peuvent apporter de preuves observées et concrètes comme la théorie de l’universalité du langage de Chomsky ou encore toutes les théories quant à l’origine du langage humain et animal qui ne peuvent être résolues en testant en condition réelles car pouvant faire appel à des notions eugénistes et non-éthiques.

Pour terminer nous verrons les applications de l’IAG dans le domaine de l’idéolinguistique. Tout d’abord, il convient de préciser la définition de ce terme : l’idéolinguistique c’est une discipline qui concerne la création de langues. On peut créer des langues par souci de communication (espéranto), pour tester des hypothèses linguistiques comme celle de Saphir-Whorf (Toki Pona) ou encore par simple passion et folie artistique. Enfin, précisons que cette discipline se situe sur la dorsale de l’art et de la science : il s’agit d’un art car sujet de création et d’imagination, toutefois elle nécessite également une connaissance approfondie du langage pour se réaliser.

Plusieurs outils d’IAG sont utilisés par les idéolinguistes, qui tous permettent de leur faciliter la vie et de mieux se représenter leurs travaux. En particulier, des outils pour se représenter et mieux comprendre leurs langues maternelles sont très utiles et bienvenue. En effet, une grande partie de l’idéolinguisme repose sur la traduction de corpus, traductions qui poussent à la création lexicale et à la réflexion sur la langue créée. Toutefois, pour cela il faut avant tout comprendre la langue de départ, souvent la langue maternelle de l’idéolinguiste ou une langue de travail, qui n’est pas toujours évidente dans son fonctionnement au locuteur natif. Ainsi, des IAs comme Parts-of-speech sont les bienvenues. Parts-of-speech est une IA qui permet d’entrer un texte et d’analyser les fonctions syntaxiques des mots au sein du texte. Comprendre les fonctions syntaxiques des langues de départ permet donc une meilleure traduction et construction de l’idéolangue créée.

Une utilisation toujours hors de portée mais qui donne de l’espoir aux idéolinguistes est l’utilisation de l’IAG comme assistant direct dans le processus de création. Jusqu’à présent de rares outils existent comme Vulgarlang dont l’utilisation est très limitée. En effet, Vulgarlang n’est qu’un algorithme qui donne des paramètres de langues toujours similaires, pas très innovants. Cet algorithme n’est pas capable d’apprentissage et répète toujours le même modèle. Dès lors, la communauté d’idéolinguistes a pour espoir un développement prochain d’IAGs qui pourraient les assister dans le processus de création. Cela pourrait varier de l’assistance dans la mise en place de la logique globale et la cohérence de la langue à donner des idées d’étymologies ou caractéristiques originales et naturelles (plutôt que de devoir chercher par soi-même dans l’ensemble des langues existantes), en passant par l’aide à la création de néo scriptes (i.e. de nouveaux systèmes d’écriture) lorsque l’utilisateur passe les caractéristiques du scripte, son histoire ou autre. De telles IA seraient ainsi très utiles à la fois pour les créateurs ne voulant ou ne pouvant pas s’attarder sur la logique inhérente de leurs créations mais également les créateurs manquant d’imagination et préférant travailler sur la cohérence du projet.

Pour conclure, si le langage est un pilier de l’Intelligence Artificielle Générative, ces dernières peuvent également s’appliquer dans les différents domaines du langage. Dans un premier temps, elle révolutionne l’apprentissage des langues, permets de rendre plus accessible certaines langues moins connues et est une aide à l’apprentissage pour les individus atteints de divers troubles de l’apprentissage et du langage. Ensuite, elle offre des espoirs d’analyse du langage afin de mieux le comprendre, entre autres pour documenter plus facilement des langues rares, des espoirs d’une aide au déchiffrage de langues anciennes ainsi qu’une aide à la reconstruction linguistique. Pour finir, elle offre en perspective pour les idéolinguistes d’une aide à la compréhension des langues naturelles et d’une aide à la création d’idéolangues. Ainsi, l’IAG est et sera très utile dans les différents domaines du langage, ses perspectives sont nombreuses et très attendues par les différentes communautés linguistiques.

Liens et documentation :

A.I. Helps Detect Breast Cancer That Doctors Might Overlook

A.I. Helps Detect Breast Cancer That Doctors Might Overlook

Breast cancer is one of the most life-threatening diseases that affects mostly women of all ages, ethnicities and social backgrounds. This is why medical professionals strive to detect these types of tumours in advance in order to treat them efficiently and save the patient’s life in the early stages of the disease. However, a major concern falls into place when we look at figures showing that more than 680,000 deaths were caused by breast cancer according to the WHO (World Health Organization) in 2020. Even with advancements in detection and diagnosis, some cases still get overlooked, resulting in late treatment and worse results.

Now, advancements in Artificial Intelligence are making it possible for A.I. to help doctors detect signs of tumours that the professionals may miss. So far, this tool is showing an impressive ability to spot cancer at least as well as human radiologists. In Hungary, where artificial intelligence is being tested in different hospitals, 22 cases of cancer have been detected by A.I. when these had gone unnoticed by radiologists.

These hospitals perform 35,000 screenings a year, which is a lot and, according to The National Cancer Institute, about 20 percent of breast cancers are missed during screening mammograms. Therefore, A.I. cut down on radiologists’ workloads by at least 30%, reducing the number of X-rays they needed to read.

This A.I. software for breast cancer detection will definitely improve public health.

However, even if this technology is showing serious advancements, it still needs to improve so it can be widely adopted. Firstly, additional clinical trials are needed. A.I. must show accurate results for women of all ages, ethnicities and body types, it has to cut down false positives that are not cancerous and most importantly, recognize more complex forms of breast cancer.

Also, people are still kind of sceptical about this new technology saying that it may replace human radiologists. Nevertheless, there’s nothing to be afraid of because patients will only trust this technology if it is used in cooperation with trained professionals. So A.I. will definitely not replace doctors, each mammogram is reviewed by 2 radiologists first, and then the A.I. agrees or flags areas that they need to check again.

In addition, more countries are willing to use the same technology in hospitals. The United States, Great Britain and the European Union, for example, are testing and providing data to develop the systems to detect breast cancers in their early stage.

In short, Artificial Intelligence will help detect signs of breast cancer that radiologists may miss. If it is used in partnership with trained doctors it will revolutionise detection and diagnosis of this disease. However, it has to improve its accuracy, show precision over diverse body types and ethnicities, limit false positives and, of course, detect complex shapes of breast cancer so it can be widely adopted. 

Using AI to interpret animal language

Using AI to interpret animal language

Can AI help human to get closer to nature ?

A scientific collaborative project on animal communication is under development and will potentially revolutionize bioacoustic domain.

This project named Earth Species Project whose goal is principally to be able to decode the language of animals has been launched in 2017. It is a non-profit organization headed by Katie Zacarian, Aza Raskin and Britt Selvitelle. Unfortunately, the human being having limits, it would be impossible for him alone to realize that task but artificial intelligence can.

To achieve this goal, the use of artificial intelligence is very helpful because of the automatic learning from this model that could be able to allow us to understand each animal’s signals and even them undetectable before by the human ear due to the too low frequencies.

A set of working tools is necessary for the development of this bioacoustic model such as voice recognition with the help of the encodeur AVES (Animal Vocalization Encoder based of Self Supervision) used with a database of audio recordings of animals sounds to be able to identify and to classify each sounds as well as a collect of data on the movements, of behavior and of the physiology of species to understand the signification of their sounds, or their language.

To give an exemple of the accuracy of their model, as part of their researches, they studied the voice signaling of beluga whales, a threatened species and as they give a cry to stay grouped, they realized measurements of these calls which allowed them to understand relationships between whales. Thanks to these tests, they were able to notice that the final analysis corresponded to the same did by experts in the domain.

A last important problem is to know if it exists a possible translation between animal and human language. Scientists has noticed that the human being language can be represented geometrically by a galaxy in multidimensional space where each point of that galaxy represents a word and its position in the space its link between other words. By that principe we can additionally notice that each galaxy corresponding to a human language has the same form. For a translation be possible, we should then have the two same forms.

Sources and additional informations:

https://en.wikipedia.org/wiki/Bioacoustics

https://www.youtube.com/watch?v=-4OFjxQQSaI – french short podcast that introduce the topic

https://www.actuia.com/actualite/comment-earth-species-project-utilise-lia-pour-decoder-la-communication-animale/ – french article

https://www.youtube.com/watch?v=oQFPL9JLQEY – documentary with explanations

https://www.youtube.com/watch?v=H9SvPs1cCds – longer video on the project development made by them

https://www.earthspecies.org/faq – their website

On the applications of Alphafold AI

On the applications of Alphafold AI

Alphafold is an AI designed to predict protein folding, therefore it can make predictions based on probabilities, according to the deep learning the program has been through, about the form/structure of proteins. Before briefly explaining the problem with protein folding and the role of Alphafold, we will see what uses this AI can have.

To make it simple, proteins go through four stages of folding : a primary structure of amino acids that forms a secondary helix/pleated sheet structure that itself folds (third stage), plus we have to take into account the possible folding occurring between multiple amino acids sequences, when a protein is made of multiple. The problem with all of this folding is that it requires a highly technical knowledge about thermodynamics and interatomic forces and possibly process thousands of folding points in a single protein. It is then extremely complicated for a human being to predict a protein structure. until 2018, the solution to predict those structures was to use expensive and long processes such as xray crystallography or nuclear magnetic resonance.

For that reason, Deepmind has been developing Alphafold, an AI that can predict protein structure when given the amino acid sequence. Alphafold has been trained on over 170,000 proteins whose structures are already identified. The newest version, Alphafold2 (2020) has a success rate of more than 90%. Roughly, Alphafold2 uses an attention mechanism rather than convolutions, which means some entry elements are given more computing power. With this mechanism, Alphafold computes step by step the relations between amino acids and takes isolated portions of the protein to compare them to similar already computed sequences. The prediction of Alphafold2 takes place in two steps : first makes graphs to compute the possible structure then it translates them in a 3d model.

As You can expect, Alphafold2 opens a new door to research. Indeed, easily and quickly computing protein structures allows researchers to study ANY protein. It can especially improve our understanding of proteins which need to have precise shapes to bind with the molecule they act on. To give a more appealing example, Alphafold2 was used to predict structures of proteins of SarsCov2 (the virus of Covid19) in early 2020, which leads researches on how the virus breaks out of host cells it replicates in. To give one more application of Alphafold2, researchers also use it in the genetic domain, as it can help them understand the genesis of proteins within the cell from mRNA, which means understanding with more detail how DNA regulates the internal machinery of a cell.

For nerds, here’s a good, albeit brain melting, video.

More sources :

https://en.wikipedia.org/wiki/AlphaFold

https://en.wikipedia.org/wiki/Protein_structure_prediction

This post was made by Johanny Titouan, 23/09/2023.

Exemple de plan pour la soutenance de stage de fin d’études de M2

Exemple de plan pour la soutenance de stage de fin d’études de M2

Au moment de préparer ma soutenance de stage, je ne savais pas par où commencer et j’aurais bien aimé avoir au moins un exemple auquel me référer pour éviter d’oublier des éléments attendus par le jury. Je ne pense pas être le seul étudiant à avoir été dans cette situation là.

Ayant eu un retour positif par le jury sur la construction de ma soutenance, je souhaite partager dans cet article l’esprit et le plan de cette dernière en espérant que cela pourra être utile à d’autres étudiants qui, comme moi, auraient besoin d’un coup de pouce pour commencer.

Cette soutenance a pour objectif de présenter le travail réalisé durant le stage ainsi que remettre ce dernier dans le contexte de l’entreprise. Cet objectif est bien défini sur l’espace de cours concernant les stages et alternances.

Avant d’aborder le contenu, il est important que la soutenance possède un fil conducteur clair afin que le jury puisse la suivre et la comprendre dans son entièreté. Il doit être capable de comprendre clairement l’environnement d’évolution de l’étudiant (l’entreprise et l’équipe par exemple) ainsi que la mission qui lui a été confié, ce qu’il a pu en réaliser et ce qu’elle a pu lui apporter.
Etant une soutenance de fin de master, le public est censé connaître les termes informatiques courants. Cependant je recommande vivement de définir les termes spécifiques au stage ou à la bonne compréhension de la soutenance lorsque cela est nécessaire.

Ma soutenance s’est déroulée en 4 parties :

  1. L’entreprise et l’équipe
  2. La mission
  3. Le travail réalisé
  4. La conclusion

Dans la première partie il s’agit de présenter brièvement mais clairement l’entreprise : ce qu’elle est, ce qu’elle fait et où je me situe dans celle-ci. Mon cas étant une grande entreprise, j’ai également présenté l’équipe qui m’a accueilli, notamment son activité et les enjeux auxquels elle répond. Cette partie permet au jury de bien comprendre l’environnement d’évolution de l’étudiant mais également de vérifier que ce dernier s’est intéressé à son environnement.

En ce qui concerne la mission, il est évident que le sujet doit être explicité. Il est cependant très important de la remettre dans son contexte : pourquoi cette mission existe ? A quoi sert-elle ? A qui ? Quels sont les enjeux pour l’équipe et/ou l’entreprise ? … En plus de comprendre l’objectif de la mission, le jury doit bien comprendre son utilité et son impact pour l’entreprise. En effet l’entreprise ne prend pas l’étudiant en stage par charité.
J’ai également ajouté dans cette partie l’environnement technique que j’ai utilisé et propre à ma mission ainsi que la méthodologie de travail suivie. Ceci permet au jury de comprendre avec quoi et comment l’étudiant a travaillé. Il n’est pas nécessaire de décrire spécifiquement les technologies mais plutôt décrire brièvement à quoi elles ont servies (gestion de projet, développement, hébergement, etc), ce n’est pas le point principal de la présentation et si le jury souhaite revenir dessus il le fera dans la partie des questions.

Le travail réalisé au cours du stage est la partie la plus importante de la soutenance mais c’est également la partie que je peux le moins généraliser car propre à chacun. Pour ma part j’ai essayé de suivre une certaine chronologie de la réalisation du stage.
J’ai commencé par parler rapidement de la prise en main du projet, des choix techniques et fonctionnels réalisés et de la planification initiale. Puis j’ai présenté la réalisation des différents aspects de ma mission avec leurs problématiques et les solutions que j’ai mis en place. Ensuite j’ai évoqué l’état du projet à la fin de mon stage, le reste à faire et la documentation que j’ai rédigé. J’ai finalement clos cette partie sur les réalisation autres que ma mission (formations, visites, etc).
Il s’agit donc de mettre en avant le travail réalisé par l’étudiant. Il doit être attentif à la clarté des explications, à utiliser un vocabulaire positif (mettre en avant la réalisation et éviter ce qui n’a pas été fait) et éviter les détails inutiles qui perturberaient la compréhension du jury.

La conclusion quant à elle doit faire un bilan du stage en termes de problématiques rencontrées (techniques ou non) et d’apports professionnels et personnels de celui-ci. Je conseille également de rappeler les objectifs de la mission et indiquer s’ils ont été atteints, ce qui permet de raccrocher le jury au fil conducteur de la soutenance. Attention cependant à éviter des phrases négatives dans la conclusion.
Une ouverture sur la vie professionnelle future peut être également la bienvenue.

Il est d’usage, à la fin de la présentation, de remercier l’université et l’entreprise et/ou l’équipe d’avoir permis la réalisation du stage.

Je mets à disposition mes diapositives de ma soutenance en guise d’exemple. Les diapos sont plutôt simples et n’ont pas d’effet « Waouh ! » mais elle sont fonctionnelles, claires et concises. Aussi certaines contiennent des informations que je n’ai pas énoncé à l’oral (celle sur les chiffres de l’entreprise par exemple). Cette façon d’utiliser les diapos peut être intéressantes pour donner des informations tout en gagnant du temps et en gardant l’intérêt du jury.

NB : J’ai particulièrement beaucoup de diapos pour une soutenance de 15-20min 🙂

La sœur est la mère de ses frères

La sœur est la mère de ses frères

Hier soir, je regardais très distraitement l’épisode de « Faites entrer l’accusé » sur Chantal Ternik, quand un avocat a retenu mon attention avec cet énoncé :

La fille ainée [de Chantal] était devenue un peu la mère de ses deux frères.

Je trouve vraiment magique qu’un cerveau humain inattentif soit capable à la fois de comprendre instantanément, sans effort et sans erreurs une phrase aussi complexe tout en ayant vaguement conscience des pièges qu’il a machinalement évités.

Dans « la fille ainée de Chantal », on comprend que Chantal est la mère de X et que X est une femme. Par défaut, on considère que la relation « mère de » fait référence à un grand nombre de sous-relations : hérédité génétique, rapports légaux (droits et devoirs), liens affectifs, éducatifs, etc.

Jusqu’ici, tout va bien.

La suite est plus déroutante car, au regard de la loi de la plupart des pays, comme au regard de l’évolution des espèces, on ne peut pas être « un peu » le parent de quelqu’un. Il y a bien une alternative, mais elle est binaire : on est parent ou on ne l’est pas. Enfin, il ne nous paraît pas possible qu’une personne puisse « devenir » la mère biologique d’enfants déjà nés, qui plus est d’une autre mère et qui se révèle, par-dessus le marché, être la sienne. Nos arbres généalogiques imploseraient dans cette stupéfiante mise en abîme.

Notre cerveau doit donc trouver très rapidement une issue à cette crise : il en déduit que la première référence à la maternité est biologique ou légale, mais que la deuxième évocation ne fait cette fois référence qu’aux seules éducatives, affectives et de protection. Et là, les pièces du puzzle s’agencent parfaitement : la fille ainée de Chantal est donc ce qu’on appelle une « mère de substitution » pour ses deux frères.

C’est magique.

Le revers de la médaille, c’est que si notre cerveau est si bien entraîné à faire ce genre de calculs, c’est parce qu’il discute en permanence avec d’autres cerveaux dotés des mêmes superpouvoirs. Donc, la plupart du temps, nous n’avons pas besoin d’être très précis et explicite pour nous faire comprendre de nos semblables. De nos semblables. Pas des machines que nous avons conçu.

En effet, si nous avons réussi à doter nos ordinateurs de superpouvoirs que nous ne possédions pas, nous peinons encore leur transmettre ceux que nous possédons.

C’est pourquoi tout au long de vos études en informatique, vous devrez déployer beaucoup d’attention, d’entraînement et de patience pour vous faire comprendre de vos machines. Bon courage et bonne rentrée 2023-2024 à toutes et tous !