【发布时间】:2018-05-22 18:50:24
【问题描述】:
我正在尝试将 unnest_tokens 与西班牙语文本一起使用。它适用于 unigrams,但使用 bigrams 会破坏特殊字符。
代码在 Linux 上运行良好。我添加了一些关于语言环境的信息。
library(tidytext)
library(dplyr)
df <- data_frame(
text = "César Moreira Nuñez"
)
# works ok:
df %>%
unnest_tokens(word, text)
# # A tibble: 3 x 1
# word
# <chr>
# 1 césar
# 2 moreira
# 3 nuñez
# breaks é and ñ
df %>%
unnest_tokens(bigram, text, token = "ngrams", n = 2 )
# # A tibble: 2 x 1
# bigram
# <chr>
# 1 cã©sar moreira
# 2 moreira nuã±ez
> Sys.getlocale()
[1] "LC_COLLATE=English_United States.1252;LC_CTYPE=English_United
States.1252;LC_MONETARY=English_United
States.1252;LC_NUMERIC=C;LC_TIME=English_United States.1252"
【问题讨论】:
-
你也可以发布
Sys.getlocale()的输出吗?将有助于调试。 -
我无法重现此问题,但我强烈怀疑这是Unicode normalization 问题。 stringi 具有转换功能;见
?stringi::stri_trans_nfc。