Распечатайте первую строку одного элемента Корпуса в R, используя пакет tm

Как распечатать небольшой образец или первую строку корпуса в R с помощью пакета tm? У меня очень большой корпус (> 1 ГБ), и я занимаюсь очисткой текста. Я хотел бы проверить, как я применяю процедуры очистки. Печатать только первую строку или первые несколько строк корпуса было бы идеально.

# Load Libraries
library(tm)

# Read in Corpus
corp <- SimpleCorpus( DirSource( 
    "C:/TextDocument"))

# Remove puncuation
corp <- removePunctuation(corp,
                      preserve_intra_word_contractions = TRUE,
                      preserve_intra_word_dashes = TRUE)

Я пытался получить доступ к корпусу несколькими способами:

# Print first line of first element of corpus
corp[[1]][[1]] 

# Print first line using 'content' element of corpus
corp[[1]]$content[[1]]

Оба они приводят к очень длительному времени работы без желаемого результата.

Необработанный корпус в пакете tm можно использовать в качестве примера.

data("crude")

person JHall651    schedule 21.04.2018    source источник
comment
Почему бы вам сначала не взять подмножество вашего корпуса, выполнить все тесты очистки текста на нем, а затем сделать это на всем корпусе? или переключиться на квантэду. что работает параллельно. Также самым быстрым способом получения информации из корпуса является corp[[1]]$content[[1]]. Вы можете сделать несколько тестов с помощью микробенчмарка, чтобы проверить.   -  person phiver    schedule 21.04.2018


Ответы (1)


strwrap отлично справляется с этой задачей, так как печатает абзацы formatted by breaking lines at word boundaries. (См. ?strwrap.) Затем вы можете использовать функцию head, чтобы увидеть первые 6 строк.

 head(strwrap(corp))
person hpesoj626    schedule 21.04.2018
comment
strwrap отлично работает с необработанными данными, но с моим корпусом это занимает много минут на быстрой машине. Мне повезло получить очень маленькую выборку каждого элемента, попробовав str(corp), но есть много нежелательных дополнительных результатов. Есть ли более быстрый способ? - person JHall651; 21.04.2018
comment
@ JHall651, вы когда-нибудь находили ответ на этот вопрос или находили способ, который занимает меньше времени? Здесь такая же проблема. Спасибо. - person Shawn; 24.11.2020