Я пытаюсь добавить новый стеммер, который работает с использованием метода поиска в таблице. если h — это хэш, содержащий операцию формирования основы, он кодируется следующим образом: ключи — это слова до выделения основы, а значения — слова после выделения основы.
В идеале я хотел бы добавить собственный хеш, который позволяет мне делать следующее
мой корпус = tm_map (мой корпус, заменить слова, ч)
функция replaceWords применяется к каждому документу в myCorpus и использует хэш для определения содержимого документа.
Вот пример кода из моей функции replaceWords
$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=' '))
}
Хотя это работает, преобразованный корпус больше не содержит содержимое типа «TextDocument» или «PlainTextDocument», а содержит тип «character».
я пытался использовать
return(as.PlainTextDocument(paste(unlist(z),collapse=' ')))
но то, что выдает мне ошибку при попытке запустить.
В предыдущих версиях пакета R tm я видел функцию replaceWords, которая позволяла использовать синонимы и подстановки на основе WORDNET. Но я больше не вижу его в текущей версии пакета tm (особенно когда я вызываю функцию getTransformations())
Есть ли у кого-нибудь идеи о том, как я могу это сделать?
Любая помощь приветствуется.
Привет, Шивани
Спасибо, Шивани Рао.