Как токенизировать дефисы, используя unnest_tokens в R - PullRequest
1 голос
/ 13 июня 2019

Я пытаюсь токенизировать фрейм данных, содержащий строки.Некоторые содержат дефисы, и я хотел бы разбить токены на дефисы с помощью unnest_tokens ()

. Я попытался обновить tidytext с 0.1.9 до 0.2.0. Я попробовал несколько вариантов регулярных выражений, чтобы захватитьдефис от:



df <- data.frame(words = c("Solutions for the public sector | IT for business", "Transform the IT experience - IT Transformation - ITSM")

df %>% 
unnest_tokens(query, words, 
                token = "regex",
                pattern = "(?:\\||\\:|[-]|,)")

Я ожидаю увидеть:

query
solutions for the public sector
it for business
transform the it experience
it transformation
itsm

Вместо этого я получаю токенизированные строки без дефисов:

query
solutions for the public sector
it for business

1 Ответ

1 голос
/ 14 июня 2019

Вы можете использовать

library(stringr)
df %>%  
  unnest_tokens(query, words, token = stringr::str_split, pattern = "[-:,|]")

Эта команда будет использовать stringr::str_split для разделения по шаблону [-:,|]: -, :, , или | символы. Обратите внимание, что их не нужно экранировать внутри выражения класса / скобки. Дефис не нужно экранировать, когда он является первым или последним символом, а остальные просто не являются специальными в классе символов.

...