Installation de NLTK dans Linux
Pour installer NLTK dans Ubuntu, exécutez la commande ci-dessous:
$ sudo apt installer python3-nltk
Les packages NLTK sont disponibles dans toutes les principales distributions Linux. Recherchez le mot-clé «NLTK» dans le gestionnaire de packages pour installer les packages. Si pour une raison quelconque, NLTK n'est pas disponible dans les référentiels de votre distribution, vous pouvez l'installer à partir du gestionnaire de package PIP en exécutant la commande ci-dessous:
$ pip install --User -u nltk
Notez que vous devrez d'abord installer PIP à partir de votre gestionnaire de packages pour que la commande ci-dessus fonctionne. Sur certaines distributions, il peut être appelé pip3. Vous pouvez également suivre les instructions d'installation détaillées disponibles sur le site officiel de NLTK.
Extraction de phrases d'un paragraphe utilisant NLTK
Pour les paragraphes sans ponctuations et espacés complexes, vous pouvez utiliser le tokenizer NLTK de phrase intégré, appelé «Tokenzer Punkt», qui est livré avec un modèle pré-formé. Vous pouvez également utiliser vos propres modèles de données formés pour tokeniser le texte en phrases. Les modèles de données formés sur mesure sont hors de portée de cet article, donc le code ci-dessous utilisera le tokenizer anglais Punkt intégré. Pour télécharger le fichier de ressources Punkt, exécutez les trois commandes suivantes successivement et attendez que le téléchargement se termine:
$ python3
$ importer nltk
$ nltk.Télécharger ('Punkt')
Un paragraphe de «Alice's Adventures in Wonderland» sera utilisé dans l'échantillon de code ci-dessous:
Importer NLTKL'exécution du code ci-dessus vous donnera la sortie suivante:
Le tokenizer de phrase Punkt intégré fonctionne bien si vous souhaitez tokensiner des paragraphes simples. Après l'importation du module NLTK, tout ce que vous avez à faire est d'utiliser la méthode «Send_Tokenize ()» sur un grand corpus de texte. Cependant, le jetons de phrase Punkt peut ne pas détecter correctement les phrases lorsqu'il y a un paragraphe complexe qui contient de nombreux marques de ponctuation, marques d'exclamation, abréviations ou symboles répétitifs. Il n'est pas possible de définir un moyen standard de surmonter ces problèmes. Vous devrez rédiger du code personnalisé pour résoudre ces problèmes à l'aide de regex, de manipulation de chaînes ou en formant votre propre modèle de données au lieu d'utiliser le modèle de données Punkt intégré.
Vous pouvez également essayer de modifier le modèle PUNKT existant pour réparer la tokenisation incorrecte en utilisant des paramètres supplémentaires. Pour ce faire, suivez la documentation officielle de la tokenisation Punkt disponible ici. Pour utiliser vos propres ajustements personnalisés, une légère modification du code est requise:
de NLTK.tokenize.Punkt Import PunktSendenTokesizer, PunktparametersLe code ci-dessus fait le même travail que la méthode «send_tokenize ()». Cependant, vous pouvez désormais définir vos propres règles en utilisant des méthodes intégrées et les transmettre comme arguments, comme décrit dans la documentation. Par exemple, certaines abréviations ont été ajoutées au code ci-dessus. Si ces abréviations sont suivies d'une ponctuation, elles ne seront pas divisées en une nouvelle phrase. Le comportement normal consiste à utiliser un point ou une période comme indication de la fin d'une phrase.
Conclusion
NLTK et ses méthodes de tokenisation sont assez efficaces pour les données de texte de tokenisation et de traitement. Cependant, les modèles pré-formés peuvent ne pas fonctionner à 100% avec différents types de textes. Vous devrez peut-être améliorer les modèles existants, former et fournir le vôtre, ou écrire votre propre code pour réparer les anomalies.