Это очень минимальный вопрос, поэтому мне придется угадать здесь, что вы намереваетесь, но я предполагаю, что вы хотите разбить ваши документы на строки, а не на предложения. Есть два способа сделать это: создать новый корпус, где каждое предложение является документом, или новый объект токенов, где каждый «токен» - это строка.
Получение обоих - это вопрос использования *_segment()
функции. Вот два способа, с помощью некоторого примера текста, который я создам, где каждая строка является «предложением».
library("quanteda")
## Package version: 2.0.0
txt <- c(
d1 = "Sentence one.\nSentence two is on this line.\nLine three",
d2 = "This is a single sentence."
)
cat(txt)
## Sentence one.
## Sentence two is on this line.
## Line three This is a single sentence.
Чтобы превратить это в токены, мы используем char_segment()
с новой строкой, являющейся шаблоном сегментации, а затем приведите это в список, а затем в токены:
# as tokens
char_segment(txt, pattern = "\n", remove_pattern = FALSE) %>%
as.list() %>%
as.tokens()
## Tokens consisting of 4 documents.
## d1.1 :
## [1] "Sentence one."
##
## d1.2 :
## [1] "Sentence two is on this line."
##
## d1.3 :
## [1] "Line three"
##
## d2.1 :
## [1] "This is a single sentence."
Если вы хотите превратить каждую из строк в «документ», который можно сегментировать дальше, используйте corpus_segment()
после построения корпуса из txt
объект:
# as documents
corpus(txt) %>%
corpus_segment(pattern = "\n", extract_pattern = FALSE)
## Corpus consisting of 4 documents.
## d1.1 :
## "Sentence one."
##
## d1.2 :
## "Sentence two is on this line."
##
## d1.3 :
## "Line three"
##
## d2.1 :
## "This is a single sentence."