Qu'est-ce que la PNL en Python?

L'intelligence artificielle a énormément évolué au cours de la dernière décennie, tout comme l'un de ses sous-domaines - le traitement du langage naturel. Les progrès de l'IA sont le résultat de la capacité de calcul massive des systèmes modernes et des volumes importants de données non structurées qui sont générées à partir d'une pléthore de sources. Natural Language Processing ou NLP est l'étude de l'IA qui permet aux ordinateurs de traiter des données textuelles brutes non structurées et d'en extraire des informations cachées.

Définition

Contrairement aux humains, les ordinateurs ne sont pas assez intelligents pour traiter des données non structurées. Les êtres humains pouvaient tirer des significations de ces données tandis que les ordinateurs ne pouvaient le faire qu'avec les données structurées stockées dans les bases de données. Pour trouver des modèles et tirer un sens des données naturelles, les ordinateurs utilisent les outils et les techniques impliqués dans la PNL pour traiter ces données.

Comment fonctionne la PNL en Python?

Il est très complexe de lire et de comprendre l'anglais. La phrase ci-dessous est un exemple où il est vraiment difficile pour l'ordinateur de comprendre la pensée réelle derrière la phrase.

Dans Machine Learning, un pipeline est créé pour chaque problème où chaque partie d'un problème est résolue séparément à l'aide de ML. Le résultat final serait la combinaison de plusieurs modèles d'apprentissage automatique enchaînés. Le traitement du langage naturel fonctionne de la même manière, où la phrase en anglais est divisée en morceaux.

Il y a plusieurs faits présents dans ce paragraphe. Les choses auraient été faciles si les ordinateurs eux-mêmes pouvaient comprendre ce qu'est Londres, mais pour ce faire, les ordinateurs doivent être formés aux concepts de base du langage écrit.

1. Segmentation des phrases - Le corpus est divisé en plusieurs phrases comme ci-dessous.

Cela nous faciliterait la vie, car il vaut mieux traiter une seule phrase qu'un paragraphe dans son ensemble. Le fractionnement pourrait être effectué sur la base de ponctuations, ou de plusieurs autres techniques compliquées qui fonctionnent également sur des données non nettoyées.

2. Tokenisation des mots - Une phrase pourrait en outre être divisée en jeton de mots comme indiqué ci-dessous.

Après la tokenisation, la phrase ci-dessus est divisée en -

3. Parties de la prédiction de la parole - Ce processus consiste à générer les parties de la parole pour chaque jeton. Cela nous permettrait de comprendre le sens de la phrase et le sujet dont il est question dans la phrase.

4. Lemmatisation - Un mot dans une phrase peut apparaître sous différentes formes. La lemmatisation suit un mot jusqu'à sa racine, c'est-à-dire le lemme de chaque mot.

5. Stop identification des mots - Il y a beaucoup de mots de remplissage comme «le», «a» dans une phrase. Ces mots agissent comme du bruit dans un texte dont nous essayons d'extraire le sens. Il est donc nécessaire de filtrer ces mots vides pour construire un meilleur modèle.

Selon l'application, les mots vides peuvent varier. Cependant, il existe une liste prédéfinie d’arrêts auxquels on peut se référer.

6. Reconnaissance d'entité nommée - NER est le processus de recherche d'entités comme le nom, le lieu, la personne, l'organisation, etc., à partir d'une phrase.

Le contexte d'apparition d'un mot dans une phrase est utilisé ici. Pour extraire des données structurées d'un texte, les systèmes NER ont de nombreuses utilisations.

Exemple de PNL en Python

La plupart des entreprises sont désormais prêtes à traiter des données non structurées pour la croissance de leur entreprise. La PNL a un large éventail d'utilisations et l'un des cas d'utilisation les plus courants est la classification des textes.

La classification automatique du texte en différentes catégories est appelée classification de texte. La détection du spam ou du jambon dans un e-mail, la catégorisation des articles de presse, sont quelques-uns des exemples courants de classification de texte. Les données utilisées à cet effet doivent être étiquetées.

Les quelques étapes d'un pipeline de classification de texte qui doivent être suivies sont -

  • Le chargement et le prétraitement des données est la première étape, puis ils seraient divisés en train et ensemble de validation.
  • L'étape d'ingénierie des fonctionnalités consiste à extraire les fonctionnalités utiles ou à créer des fonctionnalités significatives supplémentaires qui aideraient à développer un meilleur modèle prédictif.
  • Pour construire le modèle, l'ensemble de données étiqueté est utilisé pour entraîner le modèle.

Pandas, Scikit-learn, XGBoost, TextBlog, Keras sont quelques-unes des bibliothèques nécessaires que nous devons installer. Ensuite, nous importions les bibliothèques pour la préparation des jeux de données, l'ingénierie des fonctionnalités, etc.

Les données sont énormes avec près de 3, 6 millions d'avis pourraient être téléchargés à partir d'ici. Une fraction des données est utilisée. Il est téléchargé et lu dans une trame de données Pandas.

La variable cible est codée et les données sont divisées en train et ensembles de test.

L'ingénierie des fonctionnalités est effectuée à l'aide des différentes méthodes ci-dessous.

1. Vecteurs de comptage - La représentation d'un document, d'un terme et de sa fréquence à partir d'un corpus est obtenue par les vecteurs de comptage.

2. Vecteurs TF-IDF - Dans un document, l'importance relative d'un terme est représentée par la fréquence du terme (TF) et le score de fréquence inverse du document (IDF). Le TF-IDF pourrait être calculé par -

Les vecteurs TF-IDF pourraient être générés par le niveau Word qui présente le score de chaque terme, et le niveau N-gramme qui est la combinaison de n-termes.

3. Incorporation de mots - La représentation de documents et de mots sous la forme d'un vecteur dense est connue sous le nom d'incorporation de mots. Il existe des intégrations pré-formées telles que Glove, Word2Vec qui pourraient être utilisées ou pourraient également être formées.

4. Modèles de sujet - C'est le groupe de mots d'un document qui contient le plus d'informations. L'allocation de Dirichlet latente est utilisée ici pour la modélisation de sujet.

Le mode est créé une fois l'ingénierie des fonctionnalités terminée et les fonctionnalités pertinentes ont été extraites.

5. Naïve Bayes - Il est basé sur le théorème de Bayes, et l'algorithme estime qu'il n'y a pas de relation entre les entités d'un ensemble de données.


6. Régression logistique - Il mesure la relation linéaire entre les caractéristiques et la variable cible est mesurée sur la base d'une fonction sigmoïde qui estime les probabilités.


7. Support Vector Machine - Un hyperplan sépare deux classes dans un SVM.


8. Modèle de forêt aléatoire - Un modèle d'ensemble où réduit la variance et rassemble plusieurs arbres de décision.


9. XG Boost - Le biais est réduit et les élèves faibles convertis en élèves forts.

Comment la PNL vous aiderait-elle dans votre carrière?

Le traitement automatique des langues est un domaine en plein essor sur le marché et presque toutes les organisations ont besoin d'un ingénieur PNL pour les aider à traiter les données brutes. Il est donc impératif de maîtriser les compétences requises car il n'y aurait pas de pénurie d'emplois sur le marché.

Conclusion: PNL en Python

Dans cet article, nous avons commencé par une introduction à NLP en Python, puis implémenté un cas d'utilisation en Python pour montrer comment travailler avec NLP en Python.

Articles recommandés

Cela a été un guide pour la PNL en Python. Ici, nous avons discuté de l'exemple, des cas d'utilisation et de la façon de travailler avec NLP en Python. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Utilisations de Python
  2. Qu'est-ce que WBS?
  3. Python vs Scala
  4. Qu'est-ce que Tableau?

Catégorie: