Документы интеллектуального анализа текста R из файла CSV (одна строка на документ)

Я пытаюсь работать с пакетом tm в R и иметь CSV-файл с отзывами клиентов, где каждая строка представляет собой отдельный экземпляр отзыва. Я хочу импортировать все содержимое этого отзыва в корпус, но я хочу, чтобы каждая строка была отдельным документом в корпусе, чтобы я мог сравнивать отзывы в матрице DocTerms. В моем наборе данных более 10 000 строк.

Изначально я сделал следующее:

fdbk_corpus <-Corpus(VectorSource(fdbk), readerControl = list(language="eng"), sep="\t")

Это создает корпус с 1 документом и> 10 000 строк, и я хочу> 10 000 документов с 1 строкой в ​​каждом.

Я предполагаю, что я мог бы просто иметь более 10 000 отдельных документов CSV или TXT в папке и создать из них корпус ... но я думаю, что есть гораздо более простой ответ, чем этот, читать каждую строку как отдельный документ.


person user2407054    schedule 01.08.2013    source источник


Ответы (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-файла. Каждый столбец будет словом.

person Ben    schedule 01.08.2013

Вы можете использовать TermDocumentMatrix() для своего объекта fdbk и получить матрицу документов терминов, где каждая строка представляет отзыв клиента.

person Victorp    schedule 01.08.2013