我正在尝试将脚本从tm迁移到quanteda。阅读quanteda文档时,有一种将变更应用到“下游”以使原始语料库保持不变的哲学。好的。
我以前写过一个脚本来查找tm语料库中的拼写错误,并得到我们团队的支持来创建一个手动查找。因此,我有一个csv文件有2列,第一列是拼写错误的术语,第二列是该术语的正确版本。
在使用tm包之前,我这样做了:
# Write a custom function to pass to tm_map
# "Spellingdoc" is the 2 column csv
library(stringr)
library(stringi)
library
一个奇怪的问题是,是否有一种方法可以将使用tm中的语料库函数导入的语料库文档拆分成多个文档,然后在我的语料库中作为单独的文档重新阅读?例如,如果我使用inspect(documents[1])并拥有类似于
`<<VCorpus (documents: 1, metadata (corpus/indexed): 0/0)>>`
`[[1]]`
`<<PlainTextDocument (metadata: 7)>>`
The quick brown fox jumped over the lazy dog
I think cats are
我有150,000个“文件”格式的字幕文件(因为我在从.srt转换时忘记在每个文件的末尾添加.txt ),我想删除所有不是文本的字幕文件,以便执行情感分析。以下是其中一个字幕文件的示例:
1
00:00:14,542 --> 00:00:16,875
<i>Sarah Jane: For a long time,</i>
2
00:00:16,875 --> 00:00:20,542
<i>I'd walk into work
convinced they all knew,</i>
3
00:00:20,542 --&g
我有一个字符串矢量中的大型文本语料库(app。700.000个字符串)。我正在尝试替换语料库中的特定单词/短语。也就是说,我有一个app 40.000短语的向量和一个相应的替换向量。
我正在寻找一个有效的方法来解决这个问题
我可以在for循环中完成,循环遍历每个模式+替换。但它的伸缩性很差(3天左右!)
我也尝试过qdap::mgsub(),但它的伸缩性似乎也很差
txt <- c("this is a random sentence containing bca sk",
"another senctence with bc a but also with z
在阅读了我的语料库后,在使用不同的后续语句时,我得到了相同的错误:
UseMethod中的错误(“文本”):对于“c(语料库_帧,‘data.frame’)”类的对象,没有适用的“文本”方法。
例如,当使用这个简单的语句:texts(mycorpus)[2]时,我的实际目标是创建一个dfm (它提供了与上面相同的错误消息)。
我阅读语料库时有这样的代码:
`mycorpus < corpus_frame(readtext("C:/Users/renswilderom/Documents/Stuff Im
working on at the moment/Newspape
我有一个语料库,我需要计算整个语料库中的文档和标记的数量,以及它的子部分。
到目前为止,我开发的代码如下所示:
def gather_data(path):
words = 0
articles = 0
for root, dirs, files in os.walk(path):
for f in files:
if not f.endswith('_metadata.txt') and f.endswith('.txt'):
articles += 1
我正在尝试将以下数据列表:
输入
Big Fat Apple 3
Small Fat Apple 2
Little Small Pear 1
预期输出:
Big = 3
Fat = 3+2=5
Apple = 3+2=5
Small = 2+1=3
Little = 1
Pear = 1
我试图让文档术语矩阵将其作为语料库处理,但我找不到一种方法来使"Big Fat Apple“真正出现在语料库中:"Big Fat Apple Big Fat Apple Big Fat Apple”。
有没有什么方法可以做这样的列表呢?理想情况下,我希
使用tm(小写,删除点,删除数字,词干词)清洗语料库的方法是什么,如下面的示例所示?明确地说,我不想用dfm()创建文档特性矩阵,我只想要一个干净的语料库,可以用于特定的下游任务。
# This is what I want to do in quanteda
library("tm")
data("crude")
crude <- tm_map(crude, content_transformer(tolower))
crude <- tm_map(crude, removePunctuation)
crude <- tm_map(crude
如何从quanteda的记号中删除以数字开头的单词?样本词:21,80,8,5k,但它们可能完全不同,而且我事先不知道它们。
我有一个带有英语句子的数据框架。我用quanteda把它转换成语料库。接下来,我将语料库转换为标记,并进行了一些清理,如remove_punct、remove_symbols、remove_numbers等。然而,remove_numbers函数不删除以数字开头的单词。我想删除这些词,但我不知道它们的确切形式--可以是21,22,等等。
library("quanteda")
data = data.frame(
text = c("R i