问题标签 [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 回答
327 浏览

r - R:与使用 tidytext::unnest_tokens 聚合相反。多变量和大写

跟进这个问题,我想执行与aggregate(或data.table下面的 MWE 中的等价物)相反的任务,以便我再次获得df1,从df2开始。

然后这里的任务是从df2复制df1。为此,我尝试了,但是当必须“分解”多个变量(模型国家年份)时,我无法弄清楚如何使其正常工作。tidytext::unnest_tokens

最好保留变量的原始大写字母。

任何与 不同的优雅解决方案tidytext::unnest_tokens都将被接受!谢谢!

这是MWE:

0 投票
2 回答
745 浏览

r - R unnest_tokens 并计算每个令牌的位置(开始和结束位置)

使用unnest_tokens后如何获取所有token的位置?这是一个简单的例子 -

使用 tidytext 按空格进行标记 -

如何获取所有代币的位置?

0 投票
0 回答
187 浏览

r - R正则表达式使用tidytext和tm搜索法律引用

我使用tidytext,tmquanteda进行文本挖掘。

我试着:

  1. tibble根据法律引文的存在,用经过处理的纯文本过滤 a
  2. 计算每个文本文档的相同引用次数

不幸的是,我不擅长使用特定的正则表达式。

这是一段显示典型的法律引用的段落:

4.1。Die selbstständige Tätigkeit als Arzt oder Ärztin bedarf einer Bewilligung des Kantons, auf dessen Gebiet sie ausgeübt wird (Art. 34 MedBG)。Die Bewilligung wird erteilt, wenn die gesuchstellende Person ein entsprechendes eidgenössisches Diplom besitzt (Art. 36 Abs. 1 lit. a MedBG) und vertrauenswürdig ist sowie physisch und psychisch Gewähr für eine einwandfreie Berufsausübung bietlitt (Art. 36 Abs. b 1 1 MedBG) )。Die Bewilligung wird entzogen, wenn ihre Voraussetzungen nicht mehr erfüllt sind oder nachträglich Tatsachen festgestellt werden, auf Grund derer sie hätte verweigert werden müssen (Art. 36 MedBG)。

瑞士法律的一般结构如下(https://www.admin.ch/opc/de/classified-compilation/20040265/index.html):

  1. 文章(Art. x,而 x 是一个数字)
  2. 段落(绝对 x,而 x 是一个数字)
  3. 字母(lit. x,而 xia 小写字母)
  4. 根据法典的不同,可能会出现更多子标题,例如“Satz 2”,
  5. 法典(混合大小写字母)

此外,2-4 不是强制性的,也可以组合,例如:

艺术 34. MedBG

艺术。42 腹肌。2 和 100 绝对值。1个医学BG

即使很难有一个正则表达式来指定给定条款和法典的每个子结构,(有数百个,其中许多在 2. - 4 中有微小差异)......如果你有知道如何自动执行此操作,请告诉我;D)我只对《法律条文》和《法典》感兴趣(在这种情况下为第 1-67 条和 MedBG)

我的方法

我通过删除高大的字母和标点符号来清理文本,并使用tolowerandtm::removePunctuation回到整洁的数据tidytext::tidy()

我想念的东西: 我想到了一个搜索 1(文章)并跳过表达式从 2-4 直到它达到 5(法典)的正则表达式。

艺术 1.(识别 2-4 中不必要项目的代码(例如 abs. 1 100){0,直到达到 medbg}medbg

如果无法在特定点停止它,它可以在跳过大约 8 个项目后停止(这是我在 1. 和 5 之间期望的最大值。)

grepl("REGEX",lawCitation)art. 1并且medbg应该返回TRUE FALSE TRUE FALSE FALSE FALSE

如果我有一个好的正则表达式,我会这样继续:

或者我会尝试编写一个函数来搜索我tibble的 medbg 的所有文章(第 1-67 条)并计算它们。

0 投票
0 回答
5830 浏览

r - 没有适用于“字符”类对象的“unnest_tokens_”方法(tidytext 错误)

我在将数据框转换为与tidytext函数一起使用时遇到了一些问题unnest_tokens

错误是:error in UseMethod("unnest_tokens_") : no applicable method for 'unnest_tokens_' applied to an object of class "character"

由此:

我不确定错误告诉我什么,因为当我检查输入的类型时text_df,我得到chr [1:6067]

但是,因为我正在查看文档的输入,所以我需要输入字符,所以如果它告诉不应输入字符,我不确定如何解决此错误。我应该将字符转换为其他字符吗?

谢谢,

* 更新 *

以下text_df是创建方式:data.frame(textData['notes'])

的内容text_df是:

str(text_df)

'data.frame': 6067 obs. of 1 variable: $ notes: chr "foo" "bar" "baz" ...

但是,当我现在使用使用数据框时,错误变为:

Input must be a character vector of any length or a list of character vectors, each of which has a length of 1.

0 投票
2 回答
515 浏览

r - 使用 tidytext 计算 R 中的词频时出错

我一直在尝试使用 tidytext 包计算词频。

但我一直收到此错误: UseMethod("as.quoted") 中的错误:没有适用于 'as.quoted' 的方法应用于类“函数”的对象

请帮忙!谢谢!

0 投票
1 回答
2819 浏览

r - 正则表达式//divxlc在R书代码中的文本分析

我目前正在研究SilgeRobinson的 R 书中的文本分析,鉴于我的新手身份,我无法理解这个正则表达式"^chapter [\\divxlc]"在整理文本时是如何计算出章节编号的。我已经检查了 regex101 引擎(我可能也忽略了如何让它满足我的需要)。有人可以帮我弄清楚吗?这是我指的代码:

我的看法是,这将识别也用罗马数字书写的章节编号(我认为,`\d 对小数来说就足够了)。是这样吗?无论章节编号如何,识别章节编号的通用公式是什么?如果是这样,它将如何识别某些罗马数字重复的第三章、第二十一章等?

我将不胜感激任何指示或参考以寻求澄清。

提前致谢。

0 投票
1 回答
578 浏览

r - R 文本挖掘 n 克(二元)没有返回结果。有人有同样的经历吗?

我正在使用 tidytext 包进行 n 克文本挖掘。我尝试了 2 列文本,n 克(bigrams)函数对其中一个运行良好,但另一个返回 0 obs。来自同一资源的 2 列,因此没有格式差异,只是内容差异。有谁知道为什么?

代码: result=unnest_tokens(table,bigrams,txt,token="ngrams",n=2)

0 投票
4 回答
2111 浏览

r - 使用 tidytext 和 broom 但找不到更整洁的 LDA_VEM

tidytext 书中有一些示例,主题模型更整洁:

复制在此处也可见但在此实例library(tidytext)中存在的错误。

下面是所有包的列表,它们对应的版本:

函数调用的输出sessionInfo()

0 投票
1 回答
2009 浏览

r - tidytext、quanteda 和 tm 返回不同的 tf-idf 分数

我正在尝试处理 tf-idf 加权语料库(我希望 tf 是按文档而不是简单计数的比例)。我希望所有经典文本挖掘库都返回相同的值,但我得到不同的值。我的代码中是否有错误(例如,我是否需要转置一个对象?)或者 tf-idf 计数的默认参数是否因包而异?

0 投票
2 回答
1523 浏览

r - 带有tidyverse包的R中的情感分析-找不到对象“情感”

我正在尝试重现这个情绪分析的例子:https ://www.kaggle.com/rtatman/tutorial-sentiment-analysis-in-r

我有一个“file.txt”,其中包含我要在“../input”文件夹中分析的文本。

library(tidyverse)
library(tidytext)
library(glue)
library(stringr)
library(dplyr)
require(plyr)

# get a list of the files in the input directory
files <- list.files("../input")
fileName <- glue("../input/", files[1], sep = "")
fileName <- trimws(fileName)
fileText <- glue(read_file(fileName))
fileText <- gsub("\\$", "", fileText)
tokens <- data_frame(text = fileText) %>% unnest_tokens(word, text)

但在这条线之后

我收到一条错误消息

计数错误(。,情绪):找不到对象“情绪”

昨天同样的代码运行良好,今天我得到了这个错误。看来问题是由plyr包装引起的。plyr之前加载时似乎工作正常dplyr,但现在即使按该顺序加载也会出错。