使用 tm 函数时保留唯一标识符(例如,记录 ID) - 不适用于大量数据?

商人

我正在处理非结构化文本 (Facebook) 数据,并对其进行预处理(例如,去除标点符号、删除停用词、词干提取)。我需要在预处理时保留记录(即 Facebook 帖子)ID。我有一个适用于数据子集的解决方案,但所有数据都失败了(N = 127K 帖子)。我试过对数据进行分块,但这也不起作用。我认为这与我使用变通方法并依赖行名称有关。例如,它似乎适用于前 ~15K 的帖子,但是当我继续进行子集化时,它失败了。我意识到我的代码不够优雅,所以很高兴学习更好/完全不同的解决方案 - 我所关心的只是在我去 V Corpus 然后再回来时保留 ID。我是 tm 包的新手,尤其是 readTabular 函数。(注意:我在制作 VCorpus 之前运行了降低和删除 Words,因为我最初认为这是问题的一部分)。

工作代码如下:

样本数据

fb = data.frame(RecordContent = c("I'm dating a celebrity! Skip to 2:02 if you, like me, don't care about the game.",
                                "Photo fails of this morning. Really Joe?", 
                                "This piece has been almost two years in the making. Finally finished! I'm antsy for October to come around... >:)"),
                                FromRecordId = c(682245468452447, 737891849554475, 453178808037464),
                                stringsAsFactors = F)

删除标点符号并小写

fb$RC = tolower(gsub("[[:punct:]]", "", fb$RecordContent)) 
fb$RC2 = removeWords(fb$RC, stopwords("english"))

第 1 步:创建特殊的读取器函数以保留记录 ID

myReader = readTabular(mapping=list(content="RC2", id="FromRecordId"))

第 2 步:制作我的语料库。使用 DataframeSource 和自定义阅读器功能读入数据,其中每个 FB 帖子都是一个“文档”

corpus.test = VCorpus(DataframeSource(fb),      readerControl=list(reader=myReader))

第 3 步:清洁和茎

 corpus.test2 = corpus.test %>% 
tm_map(removeNumbers) %>% 
tm_map(stripWhitespace) %>% 
tm_map(stemDocument, language = "english") %>% 
as.VCorpus()

步骤 4:将语料库重新变成字符向量。行名称现在是 ID

fb2 = data.frame(unlist(sapply(corpus.test2, `[`, "content")), stringsAsFactors = F)

第 5 步:为以后的合并创建新的 ID 变量,命名变量,并准备合并回原始数据集

fb2$ID = row.names(fb2)
fb2$RC.ID = gsub(".content", "", fb2$ID)
colnames(fb2)[1] = "RC.stem"
fb3 = select(fb2, RC.ID, RC.stem)
row.names(fb3) = NULL
节拍器

我认为IDS存储,默认情况下保留,由tm模块。您可以使用

meta(corpus.test, "id")

$`682245468452447`
[1] "682245468452447"

$`737891849554475`
[1] "737891849554475"

$`453178808037464`
[1] "453178808037464"

我建议阅读该tm::meta()函数的文档,但它不是很好。

您还可以任意元数据(作为键值对)添加到语料库中的每个集合项,以及集合级别的元数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误:尝试返回insert_id时,该功能不适用于您正在使用的数据库

来自分类Dev

错误:尝试返回insert_id时,该功能不适用于您正在使用的数据库

来自分类Dev

用rJava导入的静态Java函数不适用于tm_map()

来自分类Dev

使用LIKE运算符:适用于SQL Server,但不适用于SQLite

来自分类Dev

Kafka模板-使用通配符时不适用于参数

来自分类Dev

使用MVVM时,绑定不适用于ListBox

来自分类Dev

使用远程数据源时,多个数据集不适用于Twitter Typeahead / Bloodound

来自分类Dev

jQuery函数.click()适用于一个ID,但不适用

来自分类Dev

在JSP中使用for循环,删除不适用于每个id

来自分类Dev

FiddlerCore:使用Session.id作为唯一标识符是否安全?

来自分类Dev

使用XSLT从XML的段落内容创建ID(唯一标识符)

来自分类Dev

tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

来自分类Dev

tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

来自分类Dev

使用Perl时出错-Proc :: ProcessTable。适用于cmd行,不适用于.pl文件

来自分类Dev

测试记录器和Xamarin表单-ID不适用于UITest

来自分类Dev

测试记录器和Xamarin表单-ID不适用于UITest

来自分类Dev

onclick事件仅适用于按钮,不适用于与按钮一起使用的glyphicon

来自分类Dev

d3.js函数不适用于div id

来自分类Dev

应用tm_map时tm丢失元数据

来自分类Dev

应用tm_map时tm丢失元数据

来自分类Dev

通过其data-id属性选择元素时,不适用于所有元素

来自分类Dev

jQuery事件不适用于id

来自分类Dev

Mongodb $ lookup不适用于_id

来自分类Dev

AppActivate不适用于进程ID

来自分类Dev

jQuery事件不适用于id

来自分类Dev

与ExecuteSqlCommand一起使用的原始SQL查询不适用于多个记录

来自分类Dev

C 中的快速排序递归函数 - 不适用于大量元素

来自分类Dev

使用感叹号运行bash命令不适用于python提示符

来自分类Dev

对象的描述符'__dict__'不适用于使用type()的对象

Related 相关文章

  1. 1

    错误:尝试返回insert_id时,该功能不适用于您正在使用的数据库

  2. 2

    错误:尝试返回insert_id时,该功能不适用于您正在使用的数据库

  3. 3

    用rJava导入的静态Java函数不适用于tm_map()

  4. 4

    使用LIKE运算符:适用于SQL Server,但不适用于SQLite

  5. 5

    Kafka模板-使用通配符时不适用于参数

  6. 6

    使用MVVM时,绑定不适用于ListBox

  7. 7

    使用远程数据源时,多个数据集不适用于Twitter Typeahead / Bloodound

  8. 8

    jQuery函数.click()适用于一个ID,但不适用

  9. 9

    在JSP中使用for循环,删除不适用于每个id

  10. 10

    FiddlerCore:使用Session.id作为唯一标识符是否安全?

  11. 11

    使用XSLT从XML的段落内容创建ID(唯一标识符)

  12. 12

    tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

  13. 13

    tm:读入数据框,保留文本ID,构造DTM并加入其他数据集

  14. 14

    使用Perl时出错-Proc :: ProcessTable。适用于cmd行,不适用于.pl文件

  15. 15

    测试记录器和Xamarin表单-ID不适用于UITest

  16. 16

    测试记录器和Xamarin表单-ID不适用于UITest

  17. 17

    onclick事件仅适用于按钮,不适用于与按钮一起使用的glyphicon

  18. 18

    d3.js函数不适用于div id

  19. 19

    应用tm_map时tm丢失元数据

  20. 20

    应用tm_map时tm丢失元数据

  21. 21

    通过其data-id属性选择元素时,不适用于所有元素

  22. 22

    jQuery事件不适用于id

  23. 23

    Mongodb $ lookup不适用于_id

  24. 24

    AppActivate不适用于进程ID

  25. 25

    jQuery事件不适用于id

  26. 26

    与ExecuteSqlCommand一起使用的原始SQL查询不适用于多个记录

  27. 27

    C 中的快速排序递归函数 - 不适用于大量元素

  28. 28

    使用感叹号运行bash命令不适用于python提示符

  29. 29

    对象的描述符'__dict__'不适用于使用type()的对象

热门标签

归档