Вы можете использовать text2vec для создания документа term-matrix (dtm).Чтобы создать dtm, вы можете использовать http://text2vec.org/vectorization.html. Когда ваша матрица dtm готова, вы можете использовать их для классификации по нескольким меткам.Для классификации модель xgboost является одной из хороших моделей, которая обсуждается в https://rpubs.com/mharris/multiclass_xgboost.
library(xgboost)
# dtm_train is the training matrix obtained by text2vec
# dtm_test is the testing matrix obtained by text2vec
# label_train is labels for dtm_trian; should be factors
# label_train <- factor(label_train, labels = classes)
nclass <- 3 # how many classes you have
param <- list("objective" = "multi:softmax", # multi class classification
"num_class"= nclass , # Number of classes
"eval_metric" = "mlogloss", # evaluation metric
"nthread" = 8, # number of threads to be used
"max_depth" = 16, # maximum depth of tree
"eta" = 0.3, # step size shrinkage
"gamma" = 0, # minimum loss reduction
"subsample" = 0.7, # part of data instances
"colsample_bytree" = 1, # subsample ratio
"min_child_weight" = 12 # minimum sum of instance weight
)
bst = xgboost(
param=param,
data =as.matrix(dtm_train),
label = label_training,
nrounds=200)
# Make prediction on the testing data.
pred <- predict(bst, as.matrix(dtm_test))
Надеюсь, поможет.
Пожалуйста, дайте мне знать, если вам нужно дополнительное объяснение.