问题标签 [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 投票
1 回答
621 浏览

r - R - 使用 tidytext 数据计数

我正在使用 Gutenberg 项目中的一些弗洛伊德书籍进行文本挖掘。当我尝试使用以下代码进行情绪分析时:

我得到错误:

mutate_impl(.data, dots) 中的错误:评估错误:二进制运算符的非数字参数。

我可以看到问题出在最后一个块中,在 count 函数中。有什么帮助吗?

0 投票
2 回答
4416 浏览

r - R中的情绪分析(AFINN)

我正在尝试使用 AFINN 字典(get_sentiments(“afinn”))对推文数据集的情绪。下面提供了数据集的示例:

我想要做的是: 1. 将推文分成单独的单词。2. 使用 AFINN 词典对这些单词进行评分。3. 将每条推文的所有单词的得分相加 4. 将这个和返回到新的第三列,这样我就可以看到每条推文的得分。

对于类似的词典,我发现了以下代码:

但是,我无法调整此代码以使其与 afinn 字典一起使用。

0 投票
1 回答
211 浏览

r - tidytext unnest_token 默认令牌参数是唯一有效的

tidytext 新手并遇到错误。

当我尝试将“单词”以外的任何内容传递给 unnest_tokens 函数的令牌参数时,我得到:

eval 中的错误(替代(expr)、envir、enclos):找不到对象“txt”

甚至无法运行文档示例...

当我在自己的代码(不是示例)上运行它时,我得到:

eval 中的错误(substitute(expr)、envir、enclos):无效的参数类型

我希望这是一个'facepalm'类型的错误:)。奇怪的是我什至无法运行帮助示例......

谢谢!

0 投票
1 回答
266 浏览

r - 从文件中自动提取章节(和章节标题)

我需要从 .Rmd 文件中提取所有小节(用于进一步的文本分析)及其标题(例如来自01-tidy-text.Rmdtidy-text-mining 书籍: https ://raw.githubusercontent.com/dgrtwo/tidy-text-mining/master /01-tidy-text.Rmd )

据我所知,一个部分从##sign 开始并一直运行到 next ###sign 或文件末尾。

整个文本已经被提取(使用dt <- readtext("01-tidy-text.Rmd"); strEntireText <-dt[1,1])并且位于变量strEntireText

我想用stringr这个。或者stringi,类似的东西:

请提出您的解决方案。谢谢

本练习的最终目标是能够从 .Rmd 文件自动创建一个 data.frame,其中每一行对应于每个部分(和小节),列包含:部分标题、部分标签、部分文本本身以及其他一些特定部分的详细信息,稍后将提取。

0 投票
2 回答
204 浏览

r - 用tidytext实现txt格式的tokenize

我正在尝试使用 .txt 文件来处理 tidytext,其texto_revision结构如下:

尝试使用unnest_tokens格式时,使用以下代码:

我收到以下错误:

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

为了尝试纠正错误并继续进行标记化,我尝试使用以下代码将文本转换为数据框:

但我仍然收到以下错误

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

0 投票
1 回答
1174 浏览

r - 将 `top_n` 和 `arrange` 传递给 ggplot (dplyr)

TidyText 挖掘第 3.3 节中有一段可爱的代码,我试图在我自己的数据集中复制。但是,在我的数据中,我无法让 ggplot “记住”我想要按降序排列的数据,并且我想要某个top_n.

我可以运行 TidyText Mining 中的代码,并得到与书中显示的相同的图表。但是,当我在自己的数据集上运行此程序时,构面包装不显示 top_n (它们似乎显示随机数量的类别),并且每个构面中的数据未按降序排序。

我可以用一些随机文本数据和完整代码来复制这个问题——但我也可以用它来复制这个问题mtcars——这真的让我很困惑。

我希望下面的图表按降序显示每个方面的 mpg,并且每个方面只给我前1 个类别。它不适合我。

但我真正想要的是有一个像 TidyText 书中那样排序的图表(仅数据示例)。

0 投票
2 回答
227 浏览

r - 带有有序条形和使用构面的图形

我正在尝试根据频率制作一个带有有序条形的图表,并且还使用一个变量,两个单独的两个变量使用构面。单词必须按“n”变量中给出的值排序。所以,我的图表应该看起来像这个出现在 tidytext 书中的图表:在此处输入图像描述

我的图表如下,单词不是按值排序的,我的错误是什么?: 在此处输入图像描述 我的数据看起来像示例中的数据:

按照书中提供的代码,根据我的数据进行修改,代码如下:

这是dputfor d

0 投票
0 回答
88 浏览

r - 在ggplot2中为调查评论绘制tf idf - 标签错误

我刚刚开始使用 R 进行文本挖掘并且遇到了一个问题。

我已经成功地为我的数据集中的单个单词绘制了 tf_idf 图表,其中包括 3 个不同的列(正面、负面和银行) - 列名为“Box”。

我正在尝试对二元组和三元组做同样的事情,并使用相同的代码:

我发现(我认为)'top_n' 函数返回排名最高的三元组,并且它自动使用 tibble 中的最后一个变量(在我的情况下这是 tf_idf,我选择了 n-10) . 但是,当为 bigrams 运行此程序时,我只能生成沿 y 轴似乎有数百(千??) bigrams 的图表。

tf-idf 按变量分组

在图片中,您可以看到负变量看起来不错(我已将其编辑以保护数据),但其他两个不是!

我最初从整洁的文本挖掘书中获取了这段代码。

编辑 - 添加数据样本

样本数据

我现在最好的猜测是'top_n' tf_idf 分数恰好有许多完全相同。在这种情况下,我现在不确定这是一个有用的计算,我想知道为什么它在整洁的教科书中运行得这么好,但不适用于我的数据。

编辑 2

我将 Trigram_tibble 减少到 50 个观察值,这是 dput(Trigram_tibble) 的输出(我已经模糊了调查响应文本三元组)

a<-Trigram_tibble [1:50, 1:8] dput(a) structure(list(Respondent = c(1294L, 2693L, 42L, 463L, 463L, 1481L, 1706L, 1891L, 1917L, 2442L, 2693L, 3590L, 3590L , 3916L, 4454L, 4682L, 5996L, 6283L, 6283L, 6568L, 9101L, 2L, 3L, 4L, 4L, 4L, 8L, 12L, 12L, 13L, 13L, 13L, 13L, 13L, 13L, 8L, 13, , 18L, 18L, 18L, 20L, 21L, 21L, 21L, 21L, 21L, 21L, 21L, 21L ), Box = c("正", "负", "负", "负", "负", “负”、“银行”、“正”、“负”、“负”、“负”、“银行”、“银行”、“负”、“正”、“负”、“负”、“负” ", "负", "负", "负", "负", "负",“负”、“负”、“负”、“负”、“银行”、“银行”、“负”、“负”、“负”、“负”、“负”、“正”、“正” "、"正"、"负"、"负"、"负"、"负"、"负"、"银行"、"银行"、"银行"、"负"、"负"、"负"、 "负", "负"), trigram = c("xxx xxx xxx", "xxx xxx xxx", "xxx xxx xxx", "xxx xxx xxx", "xxx xxx xxx", "xxx xxx xxx", " xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx” xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx” 、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“ xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx xxx”、“xxx xxx” xxx", "xxx xxx xxx”, “xxx xxx xxx”, “xxx xxx xxx”, “xxx xxx xxx”, “xxx xxx xxx”, “xxx xxx xxx”), n = c(4L, 3L, 2L, 2L, 2L, 2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,2L,1L,1L,1L,1L,1L,1L,1L,1L,1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L),总计 = c(1714L, 2899L, 2899L , 2899L, 2899L, 2899L, 836L, 1714L, 2899L, 2899L, 2899L, 836L, 836L, 2899L, 1714L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 2899L, 836L , 836L, 2899L, 2899L, 2899L, 2899L, 2899L, 1714L, 1714L, 1714L, 2899L, 2899L, 2899L, 2899L, 2899L, 836L, 836L, 836L, 2899L, 2899L, 2899L, 2899L, 2899L), tf = c( 0.00233372228704784, 0.00103483959986202, 0.000689893066574681, 0.000689893066574681, 0.000689893066574681, 0.000689893066576.00239234449760766, 0.00116686114352392, 0.000689893066574681, 0.000689893066574681, 0.000689893066574681, 0.00239234449760766, 0.00239234449760766, 0.000689893066574681, 0.00116686114352392, 0.000689893066574681, 0.000689893066574681, 0.000689893066574681, 0.000689893066574681, 0.000689893066574681, 0.000689893066574681, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00119617224880383, 0.00119617224880383, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00058343057176196, 0.00058343057176196, 0.00058343057176196, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00119617224880383, 0.00119617224880383, 0.00119617224880383, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734, 0.00034494653328734), idf = c(-2.07944154167984, 0.405465108108164, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 0, 1.09861228866811, 1.09861228866811, -2.07944154167984, 1.09861228866811, 0.405465108108164, 1.09861228866811, -0.693147180559945, 1.09861228866811, 1.09861228866811, 0, 1.09861228866811, 1.09861228866811, -1.29928298413026, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811 , 1.09861228866811, 1.09861228866811,1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811, 1.09861228866811), tf_idf = c(-0.00485283907043135, 0.000419591350232664, 0.000757925000805871, 0.000757925000805871, 0.000757925000805871, 0.000757925000805871, 0, 0.0012819279914447, 0.000757925000805871, -0.00143459230195228, 0.000757925000805871, 0.00097001222035446, 0.00262825906379931, -0.000478197433984095, 0.0012819279914447, 0.000757925000805871, 0, 0.000757925000805871, 0.000757925000805871, -0.000896366322269928, 0.000757925000805871, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.00131412953189965, 0.00131412953189965, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000640963995722351, 0.000640963995722351, 0.000640963995722351, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.00131412953189965, 0.00131412953189965, 0.00131412953189965, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935, 0.000378962500402935)), row.names = c(NA, -50L), class = c("tbl_df ", "tbl", "data.frame"))

0 投票
3 回答
26793 浏览

r - R:使用方法中的错误(“tbl_vars”)

所以我在 R Studio 中运行下面的代码并得到这个错误:

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

我不知道如何解决它,因为没有 tbl_vars 函数!有人可以帮忙吗?

ps: dplyr 已安装。还有其他已安装的软件包:pacman、feather、data.table、devtools、tidyr、tidytext、tokenizers、tibble

我正在使用它来处理 Yelp 数据集。

非常感谢你,卡梅姆

ps2:数据集示例(经过编辑和简化以适合此处):

0 投票
2 回答
10063 浏览

r - 参数的列数不匹配

我正在使用此示例对 R 中的 txt 文档集合进行情感分析。代码为:

.txt 文件存储在inputdir并具有名称AB-City.0000,其中 AB 是国家/地区的缩写,City 是城市名称,0000 是年份(范围从 2000 年到 2017 年)。

该函数按预期适用于单个文件,即GetNrcSentiment(files[1])给我一个带有适当计数的小标题。但是,当我尝试为整个集合运行它时,即

我收到以下错误消息:

完全相同的代码适用于较长的文档,但在处理较短的文本时会出错。似乎并非所有情绪都在小文档中找到,因此每个文档的列数不同,这可能导致此错误,但我不确定。我将不胜感激有关如何解决问题的任何建议。如果未找到情绪,我希望条目等于零(如果这是我的问题的原因)。

顺便说一句,bing 情绪函数会遍历大约两打文件并给出不同的错误,这似乎指向同一个问题(未找到负面情绪?):

编辑:根据 David Klotz 的建议,我将代码编辑为

结果,如果未找到来自某种情绪的单词,nrc 不会抛出错误,而是生成 NA,但是在 22 次加入后,我会得到一个不同的错误:

Error in mutate_impl(.data, dots) : Evaluation error: object 'negative' not found.

使用 dplyr 运行 bing 函数时会出现相同的错误。到函数到达第 22 个文档时,两个数据帧都包含所有情绪的列。什么可能导致错误以及如何诊断它?