Ich habe Textdateien in mehreren Sprachen. Wie man selektiv eine Sprache in NLTK löschen?
-
01-10-2019 - |
Frage
Vielleicht ist das einfach unmöglich, und ich habe alle Hoffnung aufgeben. Oder vielleicht ist es eine wirklich clevere Art und Weise, es zu tun, dass ich nicht gedacht haben.
Hier zwei Beispiele dafür, was ich habe:
??? - ???? (Yabisa, yaybasu) [y-b-e] [?-?-?] (trocken werden, steife, starre) 20:77 yabasan = trocken. ??? - ???? (yassara, yuyassiru) [y-s-r] [?-?-?] (To erleichtern, macht es leicht) 92: 7 nuyassiruhuu = Wir werden ihn erleichtern.
und
Zu Hülfe! zu Hülfe! Hilfe! Hilfe
Sonst bin ich verloren! Ansonsten bin ich hat verloren! Zu Hülfe! Zu Hülfe! Hilfe! Hilfe! Sonst bin ich verloren! Sonst bin ich verloren! der listigen Schlange zum Opfer erkoren, Ausgewählt als zu der List bietet Schlange, Barmherzigige Götter! Barmherzig Götter! Schon nahet sie sich, es sind bereits kommt näher, Schon nahet sie ich, schon wird es näher,
... es wäre wirklich ärgerlich sein zu gehen und eine Sprache, um weiteren Prozess löschen Sie diese Zeilen Text.
Ein Weg, ich nachdachte konnte in NLTK geschehen war, den Text in Token aufzuteilen, hat eine Möglichkeit, die Herkunft jedes Zeichen zu wissen, basierend auf einem kleinen Korpus, und dann fragt NLTK zu ‚rekonstituieren‘ nur die Zeichen der meine Wahl. Ist das nur eine wilde Fantasie?
Lösung
Sie können nltk.NaiveBayesClassifier verwenden Sie den Job genau das zu tun, wie Sie oben gesagt.
Das sollte folgende Link helfen: http://nltk.googlecode.com/svn/trunk/doc/ Buch / ch06.html
Es hat ein Beispiel nltk.NaiveBayesClassifier für Geschlechtsidentifikation verwendet wird. Sie verwenden das gleiche für die Spracherkennung.
Das erste Beispiel, das Sie mit nltk.NaiveBayesClassifier arbeitet gut zitiert wird, da der Unicode-Satz ist völlig anders.
Im zweiten Beispiel gibt es eine Möglichkeit, Wörter wie Eigennamen buchstabiert das gleiche in beiden Sprachen, die einige Fehler bei der Identifizierung der Sprache verursachen könnten.