Документы интеллектуального анализа текста из файла 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 объект и получить матрицу документа термина, где каждая строка представляет обратную связь с клиентом.

Другие вопросы по тегам