Les meilleurs projets NLP sur Github que vous devriez mettre en pratique [2022]

Publié: 2021-01-01

L'intelligence artificielle a plusieurs branches, dont le traitement du langage naturel (TAL) est devenu un puissant outil de la nouvelle ère. La PNL remonte aux années 1950 lorsque Alan Turing a publié un article - " Computing Machinery and Intelligence " - qui proposait un test (maintenant connu sous le nom de test de Turing ) impliquant l'interprétation et la génération automatisées de langages humains naturels. Même ainsi, la PNL n'a que récemment acquis une reconnaissance et une popularité mondiales.

Table des matières

Qu'est-ce que le traitement automatique du langage naturel ?

Le traitement du langage naturel consiste à faciliter les communications entre l'homme et la machine. Il vise à former des ordinateurs à comprendre, interpréter et manipuler les langages humains naturels. La PNL s'inspire de plusieurs disciplines telles que l'intelligence artificielle, l'informatique et la linguistique computationnelle.

Les humains communiquent dans leur langue maternelle comme l'anglais, le japonais, l'espagnol, etc., tandis que les ordinateurs parlent dans leur langue maternelle, qui est un langage binaire. Alors que les ordinateurs ne peuvent pas comprendre nos langages humains naturels, le langage machine est pour la plupart incompréhensible pour la plupart des gens.

C'est là que la PNL entre pour combler le fossé entre la communication humaine et la compréhension informatique. Le traitement du langage naturel habilite et forme les ordinateurs à communiquer avec les humains dans leur langue maternelle en les aidant à lire des textes, à entendre des paroles, à interpréter des messages audio/texte, à mesurer des sentiments, et bien plus encore.

Avec l'explosion des données provoquée par les interactions et les transactions quotidiennes dans le monde numérique, le traitement du langage naturel est devenu plus crucial pour les entreprises. Grâce au NLP, les entreprises peuvent exploiter de vastes volumes de données commerciales brutes, de bavardages sur les réseaux sociaux, etc., pour donner un sens aux données et prendre des décisions axées sur les données.

Dans cet article, nous allons lister 12 projets NLP sur GitHub pour vous inspirer ! Travailler sur ces projets vous aidera à enrichir vos connaissances du domaine et à affiner vos compétences dans le monde réel.

Meilleurs projets GitHub NLP

1. Paraphraser l'identification

La détection de paraphrase est une application PNL qui détecte si oui ou non deux phrases différentes ont le même sens. Il est largement utilisé dans la traduction automatique, la réponse aux questions, l'extraction/récupération d'informations, la synthèse de texte et la génération de langage naturel.

Il s'agit d'un projet convivial pour les débutants dans lequel vous construirez un système d'identification de paraphrase qui peut identifier avec précision les similitudes et les différences entre deux entités textuelles (par exemple, des phrases) en leur appliquant des analyses syntaxiques et sémantiques.

2. Similitude des documents

Il s'agit d'un autre projet convivial pour les débutants qui vise à quantifier les similitudes entre deux documents en utilisant la méthode de similarité cosinus. En trouvant les similitudes entre les deux documents, ce projet mettra en évidence les sujets de discussion communs.

La similarité cosinus convertit deux documents en vecteurs pour calculer la similarité entre ces vecteurs. Il calcule les similitudes de documents en prenant l'espace de produit interne qui mesure l'angle cosinus entre eux.

3. Prédiction de texte

Dans ce projet, vous allez créer une application capable de prédire le mot suivant lorsque vous tapez des mots. Les outils utilisés pour créer ce projet de prédiction de texte incluent le traitement du langage naturel, l'exploration de texte et la suite d'outils de R.

Le projet utilise un estimateur du maximum de vraisemblance avec Kneser Ney Smoothing comme modèle de prédiction. La prédiction est conçue sur la collection de mots stockés dans la base de données utilisée pour la formation du modèle. Vous pouvez trouver l'ensemble complet des ressources pour ce projet sur GitHub.

4. La science du génie

Ce projet fait partie du projet Science of Success . L'objectif ici est de déterminer si des facteurs lexicaux spécifiques peuvent indiquer l'attention qu'un article a reçue, telle que mesurée par des indices de citation normalisés, à l'aide d'une multitude d'outils d'analyse de la science des données et de la PNL.

Dans les phases initiales, ce projet se concentre sur l'étude de la variance temporelle et disciplinaire dans la longueur et les caractéristiques syntaxiques des titres d'articles dans le Web of Science - un ensemble de données contenant plus de 50 millions d'articles publiés depuis 1900. L'image d'ensemble consiste à créer un modèle quantitatif qui peuvent estimer avec précision l'impact d'un article scientifique sur la communauté.

5. Extraire le sentiment boursier des gros titres

Comme le titre l'indique, vous utiliserez l'analyse des sentiments sur les titres de l'actualité financière de Finviz pour produire des informations sur l'investissement dans ce projet. La technique d'analyse des sentiments vous aidera à comprendre et à interpréter l'émotion derrière les gros titres et à prédire si la situation actuelle du marché est en faveur d'un titre particulier ou non.

6. Robot intelligent

Ce projet implique la création d'un robot intelligent capable d'analyser et de faire correspondre les résultats d'un référentiel spécifique pour répondre aux questions. Le bot utilise WordNet pour cette opération. Il pondère le contexte d'une question concernant les balises dans les documents structurés (comme les en-têtes, les titres en gras, etc.). Puisqu'il conserve le contexte, vous pouvez poser des questions connexes autour du même sujet.

Par exemple, si vous souhaitez interroger un article de Wikipédia, vous pouvez utiliser le modèle "Parlez-moi de XYZ" et continuer à poser des questions similaires une fois le contexte établi. Encore une fois, vous pouvez interroger une page Web en mentionnant l'URL de la page comme source, comme " https://www.microsoft.com/en-us/software-download/faq ". Cela fonctionne exceptionnellement bien avec les pages FAQ et Q&A.

7. CitesCyVerse

Le projet CitesCyVerse est conçu sur The Science Citation Knowledge Extractor . CitesCyVerse est un outil open source qui s'appuie sur l'apprentissage automatique et la PNL pour aider les chercheurs biomédicaux à comprendre comment les autres utilisent leur travail en analysant le contenu des articles qui les citent. En utilisant ML et NLP, CitesCyVerse extrait les principaux thèmes et concepts abordés dans les documents citant. Cela permet aux chercheurs de mieux comprendre comment leur travail influence les autres membres de la communauté scientifique.

CitesCyVerse inclut WordClouds qui génère de nouveaux nuages ​​à partir de mots similaires mentionnés dans les articles citant. En outre, il contient des sujets qui vous permettent d'explorer des sujets populaires pour des articles et des publications citant CyVerse.

8. Data Science Capstone – Scripts de traitement de données

Dans ce projet de synthèse Data Science, vous utiliserez des scripts de traitement de données pour démontrer l'ingénierie des données au lieu de créer un modèle n-gramme. Ces scripts peuvent traiter l'ensemble du corpus pour produire les n-grammes et leurs décomptes. Vous pouvez utiliser ces données pour développer des algorithmes de texte prédictifs.

Pour construire ce projet, vous aurez besoin d'un système double cœur (puisque la plupart des scripts sont à un seul thread) avec au moins 16 Go de RAM. En ce qui concerne la configuration logicielle requise, vous avez besoin de Linux (mieux s'il est testé sur Ubuntu 14.04), Python (version 2.7), NLTK (version 3.0) et NumPy.

Lire : Idées et sujets de projets de traitement du langage naturel

9. Générateur de scripts

Il s'agit d'un projet passionnant dans lequel vous allez créer des RNN pour générer des scripts télévisés pour la populaire émission Les Simpsons basés sur un ensemble de données de script de toutes les 27 saisons de l'émission. Les RNN généreront un nouveau script pour une scène spécifique tournée à Moe's Tavern.

Le projet de générateur de script fait partie du Deep Learning Nanodegree d'Udacity. L'implémentation du projet est contenue dans : dlnd_tv_script_generation.ipynb

10. Prédiction des actions Reddit

Ce projet cherche à comprendre l'impact des publications sur les réseaux sociaux sur les prix futurs des actions individuelles. Ici, nous étudierons l'impact des publications sur les réseaux sociaux sur Reddit, en particulier les subreddits/forums axés sur l'investissement, en utilisant des méthodes d'analyse de texte.

Vous pouvez utiliser les fichiers du référentiel GitHub pour nettoyer et appliquer l'analyse des sentiments aux publications/commentaires Reddit et utiliser ces données pour créer des modèles de régression. Le référentiel comprend également le code que vous pouvez utiliser pour l'application Web interactive utilisée pour visualiser le sentiment en temps réel pour des actions spécifiques et faire des prédictions pertinentes.

11. Moi_Bot

Il s'agit d'un projet PNL amusant dans lequel vous développerez un bot nommé Me_Bot qui tirera parti de vos conversations WhatsApp, en tirera des leçons et conversera avec vous comme vous le feriez avec une autre personne. Essentiellement, l'idée est de créer un bot qui parle comme vous.

Vous devez exporter vos chats WhatsApp depuis votre téléphone et former le bot sur ces données. Pour ce faire, vous devez accéder à WhatsApp sur votre téléphone, choisir n'importe quelle conversation et l'exporter à partir des paramètres de l'application. Ensuite, vous pouvez déplacer le fichier ".txt" généré vers le dossier Me_Bot.

12. Analyseur d'émotions vocales

Ce projet s'articule autour de la création d'un modèle ML capable de détecter les émotions des conversations que nous avons couramment dans notre vie quotidienne. Le modèle ML peut détecter jusqu'à cinq émotions différentes et proposer des recommandations personnalisées en fonction de votre humeur actuelle.

Ce moteur de recommandation basé sur les émotions est d'une immense valeur pour de nombreuses industries car ils peuvent l'utiliser pour vendre à un public très ciblé et à des acheteurs. Par exemple, les plateformes de streaming de contenu en ligne peuvent utiliser cet outil pour proposer des suggestions de contenu personnalisées aux individus en lisant leur humeur et leurs préférences actuelles.

A lire aussi : Deep Learning vs NLP

Conclusion

Avec cela, nous avons atteint la fin de notre liste. Ces 12 projets NLP sur GitHub sont excellents pour perfectionner vos compétences en matière de codage et de développement de projets. Plus important encore, la construction de projets vous aidera à maîtriser les nuances du traitement du langage naturel, renforçant ainsi vos connaissances du domaine.

Si vous souhaitez améliorer vos compétences en PNL, vous devez mettre la main sur ces projets PNL. Si vous souhaitez en savoir plus sur l'apprentissage automatique, consultez le diplôme PG en apprentissage automatique et IA de IIIT-B & upGrad, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et missions, IIIT- Statut B Alumni, plus de 5 projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Quels sont les principaux enjeux du traitement automatique du langage naturel ?

Le traitement automatique du langage naturel présente de nombreux défis. Le problème majeur est le manque de disponibilité de la puissance de calcul. Les algorithmes actuels sont créés pour fonctionner dans des systèmes hors ligne qui nécessitent une puissance de calcul énorme et peuvent prendre plus de temps pour terminer le traitement. L'autre problème, ce sont les ressources disponibles. Créer un algorithme qui peut fonctionner avec une petite quantité de données n'est pas facile et prend plus de temps. Un autre défi est la disponibilité d'énormes quantités de données que nous devons traiter.

Quel modèle NLP donne la meilleure précision ?

La meilleure précision pour les modèles NLP est obtenue en faisant passer le texte à travers une série de filtres de plus en plus sophistiqués. La première couche consiste à supprimer les mots vides, la ponctuation et les chiffres. Après cela, le texte entier doit être raciné à l'aide d'un stemmer Porter, puis tous les mots doivent être remplacés par leurs formes lemmatisées. Ensuite, la dernière étape consiste à supprimer tous les mots qui n'existent pas dans un vocabulaire de 200 000 mots.

Qu'est-ce que la tokenisation en NLP ?

La tokenisation est un processus de décomposition d'une phrase en ses éléments constitutifs, appelés jetons. Après avoir appliqué le processus, nous pouvons facilement extraire le sens ou l'intention d'une phrase. La tokenisation est effectuée après avoir fractionné la phrase. En PNL, les jetons sont utilisés pour un traitement ultérieur, la classification et la représentation de la phrase. Certaines des tâches NLP qui impliquent la tokenisation sont la détection de la langue, le balisage POS et l'analyse.