2016-05-06 4 views
-2

Ich muss einen Text in Worte Tokenize. Aber ich kenne die Sprache des Textes nicht. Ich könnte jede Sprache sein. Also muss ich einen Tokenizer erstellen, der die Textsprache erkennt und in Tokens umwandelt. Wenn Tokenizer nicht in der Lage ist zu tokenisieren, dann werde ich ein Flag wie "nicht in der Lage Tokenize" zurückgeben.Was sind die Bibliotheken in R zu Tokenise beliebiger Sprache Text (z. B. Chinesisch, Japanisch, Arabisch, etc.)

Bitte helfen Sie mir, Nicht-Space-Sprachen zu tokenisieren, wenn es möglich ist.

+2

https://cran.r-project.org/web/views/NaturalLanguageProcessing.html –

+0

Hallo, Ihre Frage ist Off-Topic, das auf Stack Overflow gestellt werden soll, da es sich um eine Toolanforderung handelt. Allerdings können Sie darüber in einem Chatraum diskutieren, wie [this] (http://chat.stackoverflow.com/rooms/25312/r-public), wenn Sie interessiert sind. –

Antwort

1

Werfen Sie einen Blick auf das textcat Paket. Es kann verwendet werden, um die Sprache eines Textes oder eines Textfragments zu finden.

Es verwendet Heuristiken, um die Sprache zu bestimmen. Es macht eine fundierte Vermutung. Daher wird es oft falsch sein. Die Fehlerrate hängt natürlich von der Art Ihrer Daten ab. Sie können helfen, Textcat heraus durch ausgenommen die Sprachen, dass ein Text wahrscheinlich nicht geschrieben wird.

Sie können es so einstellen. Weitere Informationen finden Sie in der Dokumentation.

library(textcat) 
#%nin% from Hmisc 
my.profiles <- ECIMCI_profiles[names(ECIMCI_profiles) %nin% c("afrikaans", 
             "basque", 
             "frisian","middle_frisian", 
             "latin", 
             "rumantsch", 
             "spanish", 
             "welsh", 
             "catalan", 
             "hungarian", 
             "romanian", 
             "scots", 
             "swedish")] 

# ... process corpus as usual... 
# then try to assign a language to each document. 

myCorpusCopy <- tm_map(myCorpus, function(x){ 
     #lang <- textcat::textcat(content(x)) 
     lang <- textcat::textcat(content(x), p=my.profiles) 
     #warning(lang) 
     meta(x, tag="language") <- lang 
     x 
}) 

# continue processing.. 

aktualisieren:

sagte Sie: "Ich weiß nicht, die Sprache des Textes." Ich dachte, du musstest den Text unbedingt zuerst klassifizieren, um die Sprache, in der er geschrieben ist, vorherzusagen. Das obige Code-Snippet macht das automatisiert.

Tokenisierung wäre der nächste Schritt. http://stanfordnlp.github.io/CoreNLP/ bietet Sprachmodelle in Chinesisch, Englisch, Französisch, Deutsch, Spanisch. I R, können Sie diese mit

library(coreNLP) 
initCoreNLP() 
### lots of startup messages... 

Schreiben robust R Code mit den coreNLP + Addons Bibliotheken nennen, ist keine triviale Aufgabe, wo ich kann Ihnen nicht viel helfen. Es dauert einige Zeit, um es für eine einzige Sprache richtig zu machen. Lesen Sie meine Antwort hier ab Januar 2016 (als ich mit coreNLP gespielt), um loszulegen: https://stackoverflow.com/a/34852313/202553

+0

@jay_phate Ich habe meine Antwort aktualisiert – knb

Verwandte Themen