Документы интеллектуального анализа текста из файла CSV (одна строка на документ)
Я пытаюсь работать с пакетом tm в R, и у меня есть CSV-файл отзывов клиентов, где каждая строка представляет собой отдельный экземпляр обратной связи. Я хочу импортировать все содержимое этого отзыва в корпус, но я хочу, чтобы каждая строка была отдельным документом в корпусе, чтобы я мог сравнить отзывы в матрице DocTerms. В моем наборе данных более 10000 строк.
Первоначально я сделал следующее:
fdbk_corpus <-Corpus(VectorSource(fdbk), readerControl = list(language="eng"), sep="\t")
Это создает корпус с 1 документом и>10000 строк, и я хочу>10000 документов с 1 строкой каждый.
Я полагаю, что я мог бы просто иметь более 10000 отдельных документов CSV или TXT в папке и создать корпус из этого... но я думаю, что есть гораздо более простой ответ, чем читать каждую строку как отдельный документ.
2 ответа
Вот полный рабочий процесс, чтобы получить то, что вы хотите:
# change this file location to suit your machine
file_loc <- "C:\\Documents and Settings\\Administrator\\Desktop\\Book1.csv"
# change TRUE to FALSE if you have no column headings in the CSV
x <- read.csv(file_loc, header = TRUE)
require(tm)
corp <- Corpus(DataframeSource(x))
dtm <- DocumentTermMatrix(corp)
в dtm
Объект, каждая строка будет документом или строкой вашего исходного файла CSV. Каждый столбец будет словом.
Ты можешь использовать TermDocumentMatrix()
на ваше fdbk
объект и получить матрицу документа термина, где каждая строка представляет обратную связь с клиентом.