您可以在 Quanteda 中将自定义令牌添加到分词器(中文)吗?

Can you add custom tokens to tokenizer (Chinese language) in Quanteda?

有人知道在 Quanteda 中对文本进行标记后是否可以添加自定义标记吗?

我正在尝试对中文文本进行一些分析,但分词器无法将东盟“东盟”的缩写识别为单个单词(参见下面的示例)。

或者,是否有任何可与 Quanteda 配合使用的中文文本分词器。我一直在使用 Spacyr 包,但目前无法正常工作。

我做了一些函数来使用 'Feature co-occurrence matrix' 来计算其他单词在特定 term 的 5 个单词 window 中出现的次数,然后生成一个table 这些结果(见下文)。然而,这似乎不适用于“东盟”


##Function 1 

get_fcm <- function(data) {
  ch_stop <- stopwords("zh", source = "misc")
  corp = corpus(data)
  toks = tokens(corp, remove_punct = TRUE) %>% tokens_remove(ch_stop) 
  fcm = fcm(toks, context = "window")
  return(fcm)
}

##Function 2

convert2df <- function(matrix, term){
  mat_term = matrix[term,]
  df = convert((t(mat_term)), to = "data.frame")
  colnames(df)[1] = "CoTerm"
  colnames(df)[2] = "Freq"
  x = df[order(-df$Freq),]
  return(x)
}

%>% tokens_compound(phrase("东 盟"), concatenator = "") 添加到函数 1 的 toks = 行可以解决这个问题吗?

如果您有特定的列表,您可以post-处理拆分短语,例如“东盟”,以便在分词后重新加入它们。

> tokens("东盟") %>%
+     tokens_compound(phrase("东 盟"), concatenator = "")
Tokens consisting of 1 document.
text1 :
[1] "东盟"