Вот мой код: Пример 1:Действительно ли tm автоматически игнорирует очень короткие строки?
a <- c("ab cd de","ENERGIZER A23 12V ALKALINE BATTERi")
a1 <- VCorpus(VectorSource(a))
a2 <- TermDocumentMatrix(a1,control = list(stemming=T))
inspect(a2)
Результат:
Docs
Terms 1 2
12v 0 1
a23 0 1
alkalin 0 1
batteri 0 1
energ 0 1
Похоже первой строки в игнорируется.
пример 2
a <- c("abcd cde de","ENERGIZER A23 12V ALKALINE BATTERi")
a1 <- VCorpus(VectorSource(a))
a2 <- TermDocumentMatrix(a1,control = list(stemming=T))
inspect(a2)
Результат:
Docs
Terms 1 2
12v 0 1
a23 0 1
abcd 1 0
alkalin 0 1
batteri 0 1
cde 1 0
energ 0 1
Мы можем видеть две подстроки (ABCD, CDE) сохраняются в то время как shorest одна (де) до сих пор отсутствует. Ситуация такая же, если я не использую control = list (stemming = T). Итак, мне любопытно, если это какое-то определение в tm? Строки будут проигнорированы, если это меньше 3 букв? Я не думаю, что это хорошая идея. Очень возможно, что строка полезна, даже если она короткая, например аббревиатура.
Если да, есть ли параметр или что-то, что может это изменить? Большое спасибо.
вы можете попробовать другой пакет NLP, например 'quanteda' – HubertL