Ich versuche, einen neuen Stemmer hinzuzufügen, der mit einer Tabellensuchmethode funktioniert. Wenn h der Hash ist, der die Stemming-Operation enthält, wird er wie folgt codiert: Schlüssel als Wörter vor dem Stemmen und Werte als Wörter nach dem Stemmen.Text Mining-Paket von R ... Hinzufügen einer neuen Funktion zu GetTransformation
würde Ich mag in idealer Weise einen benutzerdefinierten Hash hinzufügen, die mir die folgenden
tun könnenmyCorpus = tm_map (myCorpus, replaceWords, h)
die replaceWords Funktion zu jedem Dokument in myCorpus und Verwendungen angewendet wird der Hash des Inhalts des Dokuments
Hier einzudämmen ist der Beispielcode aus meinem replaceWords funktionieren
$hash_replace <- function(x,h) {
if (length(h[[x]])>0) {
return(h[[x]])
} else {
return(x)
}
}
replaceWords <- function(x,h) {
y = tolower(unlist(strsplit(x," ")))
y=y[which(as.logical(nchar(y)))]
z = unlist(lapply(y,hash_replace,h))
return(paste(unlist(z),collapse=' '))
}
Obwohl dies funktioniert, wird die transformierte Korpus enthält nicht mehr Inhalt des Typs „Textdocument“ oder „PlainTextDocument“, sondern vom Typ „Zeichen“
ich
versucht mitreturn(as.PlainTextDocument(paste(unlist(z),collapse=' ')))
aber das gibt mir einen Fehler beim versuchen zu rennen.
In den früheren Versionen des Rs tm-Pakets sah ich eine ReplaceWords-Funktion, die Synonym- und WORDNET-basierte Substitution ermöglichte. Aber ich sehe es nicht mehr in der aktuellen Version von tm-Paket (vor allem, wenn ich die Funktion getTransformations() aufrufen)
Hat jemand da draußen Ideen, wie ich das erreichen kann?
Jede Hilfe wird sehr geschätzt.
Cheers, Shivani
Danke, Shivani Rao