R语言quanteda中如何查看字典POSITIVE列表的词汇?
查看Lexicoder法语字典正面词汇的解决方法
1. 检查原字典文件格式
直接打开frlsd/frlsd.cat文件,确认[POSITIVE]区块的格式。Lexicoder的.cat文件规范是用[类别名]标记区块,每行一个词汇。如果[POSITIVE]区块内存在格式错误(比如多余的VÉRITÉ* (1))这类无效行、括号不匹配),会导致quanteda解析失败,只生成空条目。
2. 修复文件后重新加载
删除[POSITIVE]区块内的错误行(比如那个空条目对应的无效行),重新执行加载命令:
dict_lg <- quanteda::dictionary(file = "frlsd/frlsd.cat", encoding = "UTF-8")
之后调用dict_lg$POSITIVE即可正常查看正面词汇列表。
3. 手动提取正面词汇(无需修改原文件)
如果不想改动原文件,用基础R代码直接读取并提取:
# 读取字典文件所有行 dict_lines <- readLines("frlsd/frlsd.cat", encoding = "UTF-8") # 定位POSITIVE区块的起始与结束位置 pos_start <- which(grepl("\\[POSITIVE\\]", dict_lines)) + 1 # 判断区块结束位置(下一个类别标记或文件末尾) next_block <- which(grepl("\\[.*\\]", dict_lines[pos_start:length(dict_lines)])) pos_end <- if (length(next_block) > 0) { pos_start + next_block[1] - 2 } else { length(dict_lines) } # 提取词汇并过滤空行、注释 positive_words <- dict_lines[pos_start:pos_end] positive_words <- positive_words[positive_words != "" & !grepl("^//", positive_words)]
执行后positive_words即为所有正面词汇的向量。
内容的提问来源于stack exchange,提问作者MG Fern
相关产品推荐
相关产品推荐

