Quanteda语料库片段文档
我目前正在使用quanteda软件包,我想根据一行中至少有两个正则表达式空格字符的模式来分割我的语料库。但是,我不确定corpus_segment()函数到底是如何工作的。我构建了以下小示例来说明我的问题:Quanteda语料库片段文档,quanteda,Quanteda,我目前正在使用quanteda软件包,我想根据一行中至少有两个正则表达式空格字符的模式来分割我的语料库。但是,我不确定corpus_segment()函数到底是如何工作的。我构建了以下小示例来说明我的问题: test <- "start middle end" test <- corpus(test) test Corpus consisting of 1 document and 0 docvars. texts(test) text1 "st
test <- "start middle end"
test <- corpus(test)
test
Corpus consisting of 1 document and 0 docvars.
texts(test)
text1
"start middle end"
现在,第一个模式匹配前面的单词已被删除。看了文档之后,我看到remove_模式默认为TRUE。但是,我不明白为什么它还会删除第一个模式匹配前面的单词。我最初的猜测是,它与争论模式_位置有关,事实上,如果我将其设置为“之后”,则会发生以下情况:
texts(corpus_segment(test, pattern="\\s{2,}", valuetype = "regex", pattern_position="after"))
text1.1 text1.2
"start" "middle"
所以最后一个图案后面的单词被删掉了。我发现将remove_pattern设置为“FALSE”保留了所有三个单词,并实现了我的目标:
texts(corpus_segment(test, pattern="\\s{2,}", valuetype = "regex", extract_pattern=FALSE))
text1.1 text1.2 text1.3
"start" "middle" "end"
函数的文档说明如下:
“提取模式:从文本中提取匹配的模式,如果为真,则保存在docvars中”
模式位置:根据模式是在文本之前(如用户提供的标记,如下面示例中的##INTRO)还是在文本之后(如标点分隔符),选择“之前”或“之后”
我不明白这些文档是如何解释为什么“开始”或“结束”会根据模式位置参数而被删除的。这是一个好问题,我正在提交一份报告,看看这是否是我们想要的行为 请注意,
char\u segment()
的工作方式相同
库(“quanteda”)
##软件包版本:2.0.0
文本
texts(corpus_segment(test, pattern="\\s{2,}", valuetype = "regex", extract_pattern=FALSE))
text1.1 text1.2 text1.3
"start" "middle" "end"