问题标签 [tidytext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
497 浏览

r - tidytext 示例过滤器错误与管道

当试图重现http://tidytextmining.com/twitter.html中的示例时,出现了问题。

基本上我想修改这部分代码

为了保留 stop_Word 包含的推文数据框。

所以我尝试了这个:

但这不起作用,因为我收到以下错误消息:

我试图通过两个输入的矢量版本来匹配,但无济于事。有没有人有更好的主意?

0 投票
0 回答
33 浏览

r - R 的 tm_map 正在创建不存在的单词

我正在使用tm包来查找文本中单词之间的关联。

这就是我所做的(我也在使用tidytext包)

当我检查我的决赛桌时,有一些词 likeinformationare但在文本中注意到文本中有 likeinformation are但很多information thisand information that

我怎样才能摆脱那种“魔术贴”?

此致

0 投票
1 回答
586 浏览

r - 如何在 H2O 中将数据从长格式转换为宽格式?

我有一个规范化、整洁的“长”数据结构中的数据,我想上传到H2O,如果可能的话,可以在单台机器上进行分析(或者有一个明确的发现,我需要比目前可用的更多的硬件和软件)。数据量大但并不庞大;可能有 7000 万行 3 列的有效归一化形式,当它被转换为稀疏矩阵(大部分单元格为零)时,可能是 30 万乘 8 万行。

H2O 中的分析工具需要采用后者的宽格式。整体动机的一部分是查看各种硬件设置的限制在分析此类数据时,但目前我正在努力将数据放入 H2O 集群(在 R 可以将其全部保存在 RAM 中的机器上)因此无法对分析的大小限制做出判断。

试用数据如下,其中三列分别为“documentID”、“wordID”和“count”: 1 61 2 1 76 1 1 89 1 1 211 1 1 296 1 1 335 1 1 404 1

没关系——因为这对我来说甚至不是一个真实的数据集,只是一个测试集——这个测试数据来自https://archive.ics.uci.edu/ml/machine-learning-databases/bag- of-words/docword.nytimes.txt.gz(注意,大下载)。

为了分析,我需要它在一个矩阵中,每个 documentID 有一行,每个 wordID 有一个列,单元格是计数(该文档中该单词的数量)。在 R(例如)中,这可以用tidyr::spreador 来完成(因为在这种特殊情况下,由创建的密集数据框spread会太大)tidytext::cast_sparse,只要我很高兴数据留在里面,它就可以很好地处理这种大小的数据R。

现在,最新版本的 H2O(可从 h2o.ai 获得,但尚未在 CRAN 上获得)具有as.h2o理解稀疏矩阵的 R 函数,这适用于较小但仍然不平凡的数据(例如,在 3500 行 x 的测试用例中) 7000 列它在密集版本需要 22 秒时在 3 秒内导入一个稀疏矩阵),但是当它获得我的 300,000 x 80,000 稀疏矩阵时,它会崩溃并显示以下错误消息:

asMethod(object) 中的错误:文件 ../Core/cholmod_dense.c 中的 Cholmod 错误“问题太大”,第 105 行

据我所知,有两种前进方式:

  1. 将长、整洁、高效的数据形式上传到 H2O 中,并在 H2O 中进行重塑“传播”操作。
  2. 用 R(或任何其他语言)进行数据整形,将生成的稀疏矩阵以稀疏格式保存到磁盘,然后从那里上传到 H2O

据我所知,H2O 不具备执行#1 的功能,即相当于 R 中的tidytext::cast_sparseortidyr::spread的功能。它的数据处理能力看起来非常有限。但也许我错过了什么?所以我的第一个(不是很乐观)问题是可以(以及如何)H2O“投射”或“传播”从长格式到宽格式的数据?.

选项 #2 与这个较旧的问题相同,接受的答案是以 SVMlight 格式保存数据。但是,我不清楚如何有效地做到这一点,也不清楚 SVMlight 格式对于不打算用支持向量机建模的数据是否有意义(例如,数据可能仅用于无监督学习问题)。如果我可以将稀疏矩阵保存为MatrixR 中的包支持的 MatrixMarket 格式,那会方便得多,但据我所知,它不是 H2O 支持的。MatrixMarket 格式看起来与我的原始长数据非常相似,它基本上是一个以空格分隔的文件,看起来像colno rowno cellvalue(带有两行标题)。

0 投票
0 回答
359 浏览

r - R中的文本挖掘.docx采访转录

我有许多采访记录,希望对其进行文本挖掘分析。基本上试图自动化定性编码过程。

我一直在阅读tidytext文本挖掘,但它似乎只使用已经导入的数据集!如何实际将 .docx 文件导入 R 以开始使用 tidytext 函数?

我从 Github ( textreadr ) 中找到了一个包,它说它可以导入成绩单,但我不能完全按照用于加载数据的命令进行操作。

0 投票
1 回答
931 浏览

r - 将嵌套列表列方法和 Purrr 与 Tidytext::Unnest_Tokens 一起使用

我有一个数据框,其中包含调查回复,每行代表一个不同的人。一栏——“文本”——是一个开放式文本问题。我想使用 Tidytext::unnest_tokens 以便按每一行进行文本分析,包括情感分数、字数等。

这是此示例的简单数据框:

然后我把文本列变成了字符......

接下来我按 id 列分组并嵌套数据框。

走到这一步似乎还不错,但现在我如何使用 purrr::map 函数处理嵌套列表列“word”?例如,如果我想使用 dplyr::mutate 创建一个新列,并为每行提供字数?

此外,是否有更好的方法来嵌套数据框,以便只有“文本”列是嵌套列表?

0 投票
2 回答
132 浏览

r - 带有 tidytext 的简单部分标签,用于纯文本输入

我正在使用tidytext(和tidyverse)来分析一些文本数据(如在Tidy Text Mining with R中)。

我的输入文本文件myfile.txt,看起来像这样:

有60个左右的部分。

我想section_name用字符串"Category 1 Name""Category 2 Name"作为相应行的值生成一列。例如,我有

tidiedtext它为每行的相应部分编号添加一列。

是否可以在调用中添加一行以mutate()添加这样的列?还是我应该使用另一种方法?

0 投票
1 回答
956 浏览

r - R 代码在整洁的文本中突然停止工作

我正在尝试对 R 中的某些数据进行单词分析。我使用 read.csv 将来自调查的文本响应的一列数据导入到 R 中。我将其中一列命名为 "text" 。这段代码几天前工作正常,现在突然给我一个错误。这是我输入的代码:

我现在得到的错误是这样的:

check_input(x) 中的错误:输入必须是任意长度的字符向量或字符向量列表,每个字符向量的长度为 1。

我的数据没有改变,我使用的代码没有改变。:( 我真的不明白为什么会发生这种情况,而且对 R 来说还很新……我需要加载另一个包,也许我之前已经加载过但没有意识到吗?

这是我的数据的链接: https ://www.dropbox.com/s/amg12jp9qx98slz/A1.csv?dl=0

谢谢你的帮助

0 投票
1 回答
303 浏览

tidytext - 将 Loughran 金融情绪加载到 Tidytext

我是第一次使用 Tidytext 中的情感工具,并想使用 Loughran 词典。经过几次尝试,我得到的最接近的是这个错误:

get_sentiments("loughran") get_sentiments("loughran") 中的错误:找不到函数“%>%”

Loughran 是 Tidytext 产品还是必须从外部检索/加载?谢谢你。

0 投票
1 回答
3609 浏览

r - 整洁的文本格式中的单词替换

嗨,我正在使用 tidy_text 格式,我正在尝试将字符串“电子邮件”和“电子邮件”替换为“电子邮件”。

这很好用,但是当我使用时:

要替换单词并再次运行条形图,我收到以下错误消息:

UseMethod(“group_by_”)中的错误:没有适用于“group_by_”的方法应用于“字符”类的对象

有谁知道如何在不改变 tidy_text 的结构/类的情况下轻松替换整洁的文本格式中的单词?

0 投票
2 回答
14975 浏览

r - 使用 tidytext 删除停用词

使用 tidytext,我有以下代码:

我希望它使用包中内置的停用词将一个名为 tidy_documents 的数据框写入同名的数据框,但如果它们在 stop_words 中,则将其删除。

我收到此错误:

错误:没有公共变量。请指定by参数。追溯: