Я создал матрицу терминов документа, которая ищет числа из 100000 to 600000
для некоторых проблем интеллектуального анализа данных, но я упомянул, что она не принимает в качестве результатов нужные числа, она объединяет все числа с пробелами или десятичными знаками в 6-значную комбинацию и возвращает ее как одну количество
это мой код
library(text2vec)
docs = c(doc1 = " letter ltetter (-è) 323.456 1 789 ",
dc2 = "letters 123.45 1letters 100000 98 76 54 ",
dc3 = "123456789 454321 letters 124 258 ")
#delete every thing but numbers
docs = gsub("[^0-9 ]", "", docs, perl = T)
#creating the dtm
itoken = itoken(docs, tokenizer = word_tokenizer, ids = names(docs))
vector = create_vocabulary(itoken)
vectorizer = vocab_vectorizer(vector)
dtm = create_dtm(itoken, vectorizer)
(dtm[, colnames(dtm) %in% 100000:600000])
3 x 4 sparse Matrix of class "dgCMatrix"
100000 454321 323456
doc1 . . 1
dc2 1 . .
dc3 . 1 .
извлеченный 100000
правильный= он находится в нужном поле (100000 and 600000)
454321
правильный= он находится в нужном поле (100000 and 600000)
323456
является ложным= число в документе 323.456 оно не на полях, но извлечено, как я могу адаптировать его, чтобы вернуть только номер от 100000 to 600000
?
create_dtm(it, vectorizer)
наcreate_dtm(itoken, vectorizer)
. - person 000andy8484   schedule 20.08.2018100000
до600000
, но код возвращает каждую комбинацию из 6 терминов, даже если между ними есть запятая. он возвращает это123.456
как 6-значное число, но это не так. - person stephan   schedule 20.08.2018