Рассмотрим этот простой пример
bogustib <- tibble(doc_id = c(1,2,3),
text = c('bug', 'one love', '838383838'))
# A tibble: 3 x 2
doc_id text
<dbl> <chr>
1 1 bug
2 2 one love
3 3 838383838
Этот tibble
называется bogustib
, потому что я знаю, spacyr
потерпит неудачу в строке 3.
> spacy_parse('838383838', lemma = FALSE, entity = TRUE, nounphrase = TRUE)
Error in `$<-.data.frame`(`*tmp*`, "doc_id", value = "text1") :
replacement has 1 row, data has 0
, поэтому, естественно,подача tibble
на spacyr
также не удастся
spacy_parse(bogustib, lemma = FALSE, entity = TRUE, nounphrase = TRUE)
Error in `$<-.data.frame`(`*tmp*`, "doc_id", value = "3") :
replacement has 1 row, data has 0
Мой вопрос: я думаю, что могу избежать этой проблемы, вызывая spacy_parse
строка за строкой.
Однако это выглядит неэффективно, и я хотел бы использовать аргумент multithread
для spacyr
, чтобы ускорить вычисления на моем большом tibble
.
Есть ли здесь какое-нибудь решение?Спасибо!