Chers lecteurs,
Dans ce blog, je discuterai de la fragmentation à la fois théorique et pratique en Python.
Alors, commençons…
REMARQUE: Pour l'implémentation, il est préférable d'utiliser Python IDLE car la sortie est un dessin d'un arbre qui apparaît dans une fenêtre séparée.
Agenda
- Qu'est-ce que le découpage ?
- Où le découpage est-il utilisé ?
- Types de découpage
- Implémentation du découpage en Python
- Résultats
Qu'est-ce que le découpage ?
Le découpage est défini comme le processus de traitement du langage naturel utilisé pour identifier les parties du discours et les phrases courtes présentes dans une phrase donnée.
En rappelant nos bons vieux cours de grammaire anglaise à l'école, notez qu'il y a huit parties du discours, à savoir le nom, le verbe, l'adjectif, l'adverbe, la préposition, la conjonction, le pronom et l'interjection. De plus, dans la définition ci-dessus du découpage, les phrases courtes font référence aux phrases formées en incluant l'une de ces parties du discours.
Par exemple, le découpage peut être effectué pour identifier et ainsi regrouper des phrases nominales ou des noms seuls, des adjectifs ou des phrases adjectives, etc. Considérez la phrase ci-dessous :
“J'ai eu des hamburgers et des pâtisseries pour le petit déjeuner.”
Dans ce cas, si nous souhaitons grouper ou fragmenter des phrases nominales, nous obtiendrons « burgers », « pâtisseries » et « déjeuner » qui sont les noms ou les groupes de noms de la phrase.
Où le découpage est-il utilisé ?
Pourquoi voudrions-nous apprendre quelque chose sans savoir où il est largement utilisé ?! Regarder les applications discutées dans cette section du blog vous aidera à rester curieux jusqu'à la fin !
Le fractionnement est utilisé pour obtenir les phrases requises à partir d'une phrase donnée. Cependant, le balisage POS ne peut être utilisé que pour repérer les parties du discours auxquelles chaque mot de la phrase appartient.
Lorsque nous avons des tas de descriptions ou de modifications autour d'un mot particulier ou de la phrase qui nous intéresse, nous utilisons le découpage pour saisir la phrase requise seule, en ignorant le reste qui l'entoure. Par conséquent, le découpage ouvre un moyen de regrouper les phrases requises et d'exclure tous les modificateurs qui les entourent et qui ne sont pas nécessaires pour notre analyse. En résumé, le découpage nous aide à extraire uniquement les mots importants de longues descriptions. Ainsi, le découpage est une étape dans l'extraction d'informations.
Fait intéressant, ce processus de découpage en NLP est étendu à diverses autres applications ; par exemple, pour regrouper les fruits d'une catégorie spécifique, disons, les fruits riches en protéines en tant que groupe, les fruits riches en vitamines en tant qu'autre groupe, et ainsi de suite. En outre, le découpage peut également être utilisé pour regrouper des voitures similaires, par exemple, les voitures prenant en charge la transmission automatique dans un groupe et les autres prenant en charge la transmission manuelle dans un autre segment, etc.
Types de découpage
Il existe en gros deux types de découpage :
- Découper
- Découper
Découper :
Ici, on ne plonge pas profondément ; au lieu de cela, nous nous contentons d'un simple aperçu des informations. Cela nous aide simplement à avoir une brève idée des données fournies.
Découpage :
Contrairement au type de fractionnement précédent, le fractionnement nous aide à obtenir des informations détaillées.
Donc, si vous voulez juste un aperçu, envisagez de « couper » sinon préférez « couper ».
Implémentation du découpage en Python
Imaginez une situation dans laquelle vous souhaitez extraire tous les verbes du texte donné pour votre analyse. Ainsi, dans ce cas, nous devons considérer le découpage des phrases verbales. C'est parce que notre objectif est d'extraire toutes les phrases verbales du morceau de texte donné. Le découpage se fait à l'aide d'expressions régulières.
Ne vous inquiétez pas si c'est la première fois que vous rencontrez le terme « expressions régulières ». Le tableau ci-dessous est ici, à votre secours :
|
|
|
|
|
|
|
|
|
|
|
|
Le tableau ci-dessus comprend les expressions régulières les plus couramment utilisées. Les expressions régulières sont très utiles dans la ligne de commande, en particulier lors de la suppression, de la localisation, du renommage ou du déplacement de fichiers.
Quoi qu'il en soit, pour cette implémentation, nous n'utiliserons que *. N'hésitez pas à consulter le tableau ci-dessus pour vous familiariser avec le symbole !
Nous effectuerons le fractionnement à l'aide de nltk, la bibliothèque NLP la plus populaire. Alors, commençons par l'importer.
importer nltk
Considérons l'exemple de texte ci-dessous que j'ai créé moi-même. N'hésitez pas à remplacer le texte ci-dessous par n'importe quel exemple de texte que vous souhaitez implémenter le fractionnement !
sample_text=""" Rama a tué Ravana pour sauver Sita de Lanka. La légende du Ramayan est l'épopée indienne la plus populaire. De nombreux films et séries ont déjà été tournés en plusieurs langues ici en Inde sur la base du Ramayana. """
De toute évidence, les données doivent être segmentées par phrase, puis segmentées par mot avant de continuer. La tokenisation n'est rien d'autre que le processus de décomposition d'un morceau de texte donné en unités plus petites telles que des phrases, dans le cas de la tokenisation des phrases et des mots, dans le cas de la tokenisation des mots.
Suivi de la tokenisation, le marquage POS (partie du discours) est effectué pour chaque mot, dans lequel la partie du discours de chaque mot sera identifiée. Maintenant, nous ne nous intéressons qu'à la partie du discours verbale et souhaitons l'extraire.
Par conséquent, spécifiez la partie du discours qui nous intéresse à l'aide de l'expression régulière requise comme suit :
VB : {}
tokenized=nltk.sent_tokenize(sample_text) pour i dans tokenized : words=nltk.word_tokenize(i) # print(words) tagged_words=nltk.pos_tag(words) # print(tagged_words) chunkGram=r"""VB: {}" "" chunkParser=nltk.RegexpParser(chunkGram) chunked=chunkParser.parse(tagged_words) chunked.draw()
L'expression régulière (RE) est entourée de crochets angulaires () qui à leur tour sont entourés d'accolades ({ et }).
REMARQUE: Spécifiez le RE selon le POS requis
VB signifie le verbe POS. Le point qui suit le VB signifie qu'il correspond à n'importe quel caractère qui suit VB. Le point d'interrogation après le point spécifie que tout caractère après B ne doit apparaître qu'une seule fois ou ne doit pas apparaître du tout. Or, d'après le tableau que nous avons vu précédemment, ce caractère est facultatif. Nous avons encadré l'expression régulière de cette manière car, en NLTK, les expressions verbales incluent les balises POS suivantes :
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ainsi, les phrases verbales peuvent appartenir à l'un des POS ci-dessus. C'est pourquoi l'expression régulière est encadrée comme VB.? qui comprend toutes les catégories ci-dessus. Le package RegexpParser est utilisé pour vérifier si un POS satisfait à notre modèle requis que nous avons mentionné précédemment en utilisant le RE.
Le code complet peut être vu comme suit :
import nltk nltk.download('averaged_perceptron_tagger') sample_text=""" Rama a tué Ravana pour sauver Sita de Lanka. La légende du Ramayan est l'épopée indienne la plus populaire. De nombreux films et séries ont déjà été tournés en plusieurs langues ici en Inde sur la base du Ramayana. """ tokenized=nltk.sent_tokenize(sample_text) for i in tokenized: words=nltk.word_tokenize(i) # print(words) tagged_words=nltk.pos_tag(words) # print(tagged_words) chunkGram =r"""VB: {}""" chunkParser=nltk.RegexpParser(chunkGram) chunked=chunkParser.parse(tagged_words) chunked.draw()
Résultats
Enfin, nous obtenons une forme arborescente du POS des mots avec les mots dont le POS correspond au RE donné. L'instantané de la sortie obtenue pour l'échantillon de texte que nous avons passé peut être vu dans les figures ci-dessus.
Observez que les mots qui satisfont notre RE pour les phrases verbales seules sont clairement mis en évidence dans la sortie. Par conséquent, le découpage des phrases verbales a été effectué avec succès.
J'espère que vous avez trouvé mon article utile.
Merci !
Bibliographie
1. Implémentation du découpage en Python
2. Théorie derrière le découpage
3. Liste complète des points de vente disponibles en PNL
A Propos
Je suis Nithyashree V, étudiante en dernière année de BTech en informatique et en ingénierie. J'aime apprendre des technologies aussi cool et les mettre en pratique, en particulier en observant comment elles nous aident à résoudre les problèmes difficiles de la société. Mes domaines d'intérêt incluent l'intelligence artificielle, la science des données et le traitement du langage naturel.
Voici mon profil LinkedIn : Mon LinkedIn
Vous pouvez lire mes autres articles sur Analytics Vidhya à partir de ici.
- "
- 7
- Tous
- selon une analyse de l’Université de Princeton
- analytique
- applications
- autour
- article
- sur notre blog
- intelligence artificielle
- Blog
- Petit Déjeuner
- voitures
- code
- Venir
- Commun
- Informatique
- données
- science des données
- ENGINEERING
- Anglais
- extraction
- Prénom
- première fois
- formulaire
- Test d'anglais
- équipement
- Bien
- saisir
- Grammaire
- Réservation de groupe
- ici
- Surbrillance
- Comment
- HTTPS
- idée
- identifier
- Y compris
- Inde
- d'information
- extraction d'informations
- Intelligence
- intérêt
- IT
- langue
- Langues
- APPRENTISSAGE
- apprentissage
- Bibliothèque
- Gamme
- Liste
- love
- marque
- Match
- Médias
- Le Plus Populaire
- Films
- à savoir
- Langage naturel
- Traitement du langage naturel
- nlp
- Autre
- Autres
- Patron de Couture
- les expressions clés
- Populaire
- PoS
- représentent
- Profil
- Python
- RE
- lecteurs
- REST
- L'école
- Sciences
- Shorts
- Instantané
- So
- RÉSOUDRE
- Spot
- rester
- Étudiant
- Support
- Les technologies
- fiable
- tokenization
- us
- Qu’est ce qu'
- dans les
- des mots
- an
- zéro