J'ai des fichiers texte en plusieurs langues. Comment supprimer sélectivement une langue NLTK?
-
01-10-2019 - |
Question
Peut-être que cela est tout simplement impossible et je devrais renoncer à tout espoir. Ou peut-être il y a un moyen très intelligent de le faire que je ne l'ai pas pensé.
Voici deux exemples de ce que j'ai:
??? - ???? (Yabisa, yaybasu) [y-b-s] [?-? ?-] (pour devenir sec, rigide, semi-rigide) 20:77 yabasan = sec. ??? - ???? (yassara, yuyassiru) [y-s-r] [?-? ?-] (To faciliter, le rendre facile) 92: 7 nuyassiruhuu = Nous l'aise.
et
Zu Hülfe! zu Hülfe! Aidez-moi! Aide!
Sonst bin ich verloren! Sinon, je suis perdu! Zu Hülfe! Zu Hülfe! Aidez-moi! Aidez-moi! Sonst bin ich verloren! Sinon, je suis perdu! der listigen Schlange zum Opfer erkoren, Sélectionné comme offrant à la ruse serpent, Barmherzigige Götter! Miséricordieux Dieux! Schon nahet sie sich, déjà il se rapproche, Schon nahet sie sich, déjà il se rapproche,
... il serait vraiment ennuyeux de passer et supprimer une langue afin de traiter davantage ces lignes de texte.
Une façon dont je pensais cela pourrait se faire dans NLTK était de diviser le texte en jetons, ont une certaine façon de connaître la provenance de chaque jeton en fonction d'un petit corpus, puis demander NLTK à « Reconstituer » que les jetons de mon choix. Est-ce juste un fantasme sauvage?
La solution
Vous pouvez utiliser nltk.NaiveBayesClassifier pour faire le travail exactement comme vous l'avez dit ci-dessus.
Le lien suivant devrait aider: http://nltk.googlecode.com/svn/trunk/doc/ livre / ch06.html
Il a un exemple d'utilisation nltk.NaiveBayesClassifier pour l'identification de genre. vous utilisez le même pour l'identification des langues.
Le premier exemple que vous avez cité fonctionnera bien avec nltk.NaiveBayesClassifier puisque l'ensemble unicode est complètement différent.
Dans le second exemple, il y a une possibilité de mots tels que les noms propres orthographié le même dans les deux langues qui pourraient provoquer une erreur dans l'identification de la langue.