标签: tm

文本挖掘中的getText函数是什么?它从何而来?[r]

我正在跟踪Nathan Dannerman和Richard Heimann撰写的来自R的Social Media Mining中的文本挖掘示例:The Book。使用拉鸣叫后searchTwitter的功能,笔者采用sapplylist提取这样的文字部分:

rstats <- searchTwitter("#rstats", n = 1000)

rstats_list <- sapply(rstats, function (x) x$getText())

整齐地制作一个字符矢量,其中仅包含来自推文的文本部分。什么是getText()?我在任何地方都找不到任何东西-作者没有充分解释。我看了看tm包装文件-什么都没有!我在SO上寻找与此相关的问题- 从推文中获取文本回答者在问与我相同的问题。在Inside-R中,我发现了这一点:http : //www.inside-r.org/r-doc/base / gettext,但与getText。有人可以解释我所缺少的吗?

twitter r text-mining tm

3
推荐指数
1
解决办法
2310
查看次数

包tm:removeWords如果指定,如何避免删除CERTIAN(具体否定)"英语"停用词?

我想通过以下方式使用removeWords(stopwords("english"))函数:corpus <- tm_map(corpus,removeWords, stopwords("english"))但是有些像"不"这样的词,以及其他我想保留的否定.

是否可以使用该removeWords, stopwords("english")功能但如果指定,则排除该列表中的某些单词?

我怎么能阻止删除"不"例如?

(二级)是否可以将此类控制列表设置为所有"否定"?

我宁愿不使用我感兴趣的停止列表中的单词来创建我自己的自定义列表.

r corpus stop-words tm

3
推荐指数
1
解决办法
2532
查看次数

根据文本文件的内容对语料库进行子集化

我正在使用 R 和 tm 包进行一些文本分析。我试图根据是否在各个文本文件的内容中找到某个表达式来构建语料库的子集。

我创建了一个包含 20 个文本文件的语料库(感谢 lukeA 提供的这个示例):

reut21578 <- system.file("texts", "crude", package = "tm")
corp <- VCorpus(DirSource(reut21578), list(reader = readReut21578XMLasPlain))
Run Code Online (Sandbox Code Playgroud)

我现在只想选择那些包含字符串“priceduction”的文本文件来创建子集语料库。

检查文档的第一个文本文件,我知道至少有一个文本文件包含该字符串:

writeLines(as.character(corp[1]))
Run Code Online (Sandbox Code Playgroud)

我最好怎样做呢?

r corpus tm

3
推荐指数
1
解决办法
1752
查看次数

从 R 语料库中删除无意义的单词

我正在使用tmwordcloud在 R 中执行一些基本的文本挖掘。正在处理的文本包含许多无意义的单词,如 asfdg、aawptkr,我需要过滤这些单词。我找到的最接近的解决方案是使用library(qdapDictionaries)和构建自定义函数来检查单词的有效性。

library(qdapDictionaries)
is.word  <- function(x) x %in% GradyAugmented

# example
> is.word("aapg")
[1] FALSE
Run Code Online (Sandbox Code Playgroud)

使用的其余文本挖掘是:

curDir <- "E:/folder1/"  # folder1 contains a.txt, b.txt
myCorpus <- VCorpus(DirSource(curDir))
myCorpus <- tm_map(myCorpus, removePunctuation)
myCorpus <- tm_map(myCorpus, removeNumbers)

myCorpus <- tm_map(myCorpus,foo) # foo clears meaningless words from corpus
Run Code Online (Sandbox Code Playgroud)

该问题is.word()适用于处理数据帧,但如何将其用于语料库处理?

谢谢

r tm

3
推荐指数
1
解决办法
3520
查看次数

tm 包中的 DocumentTermMatrix 不返回所有单词

我正在使用 R 中的 tm-package 创建一个文档术语矩阵,但是我的语料库中的一些单词在这个过程中丢失了。

我将用一个例子来解释。假设我有这个小语料库

library(tm)
crps <- " more hours to my next class bout to go home and go night night"
crps <- VCorpus(VectorSource(crps))
Run Code Online (Sandbox Code Playgroud)

当我DocumentTermMatrix()从 tm-package 使用时,它将返回以下结果:

dm <- DocumentTermMatrix(crps)
dm_matrix <- as.matrix(dm)
dm_matrix
# Terms
# Docs and bout class home hours more next night
# 1   1    1     1    1     1    1    1     2
Run Code Online (Sandbox Code Playgroud)

然而,我想要的(和期望的)是:

# Docs and bout class home hours more next night my  go to
#  1   1    1     1 …
Run Code Online (Sandbox Code Playgroud)

r text-mining tm

3
推荐指数
1
解决办法
1310
查看次数

从 R 中的数字和停用词中过滤文本(不适用于 tdm)

我有文本语料库。

mytextdata = read.csv(path to texts.csv)
Mystopwords=read.csv(path to mystopwords.txt)
Run Code Online (Sandbox Code Playgroud)

如何过滤此文本?我必须删除:

1) all numbers

2) pass through the stop words

3) remove the brackets
Run Code Online (Sandbox Code Playgroud)

我不会使用dtm,我只需要从数字和停用词中清除此文本数据

样本数据:

112773-Tablet for cleaning the hydraulic system Jura (6 pcs.) 62715
Run Code Online (Sandbox Code Playgroud)

Jura,the 是停用词。

在我期望的输出中

  Tablet for cleaning hydraulic system 
Run Code Online (Sandbox Code Playgroud)

r tm tidytext

3
推荐指数
1
解决办法
5085
查看次数

用字符串中的单个数字替换数字范围

有没有办法用字符串中的单个数字替换数字范围?数字的范围可以从nn,最可能在1-15左右,也可能是4-10.

范围可以用a)表示 -

a <- "I would like to buy 1-3 cats"
Run Code Online (Sandbox Code Playgroud)

或者用词b)例如:to,bis,jusqu'à

b <- "I would like to buy 1 jusqu'à 3 cats"
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的

"I would like to buy 1,2,3 cats"
Run Code Online (Sandbox Code Playgroud)

我发现这个:用一定数量替换数字范围,但在R中无法真正使用它.

text replace r tm tidytext

3
推荐指数
1
解决办法
182
查看次数

将 DocumentTermMatrix 转换为 dgTMatrix

我正在尝试tm通过text2vecLDA 实现从-package运行 AssociatedPress 数据集。

我面临的问题是数据类型的不兼容:AssociatedPressis atm::DocumentTermMatrix又是slam::simple_triplet_matrix. text2vec然而期望输入xtext2vec::lda$fit_transform(x = ...)Matrix::dgTMatrix

因此,我的问题是:有没有办法强制DocumentTermMatrix接受text2vec?

最小(失败)示例:

library('tm')
library('text2vec')

data("AssociatedPress", package="topicmodels")

dtm <- AssociatedPress[1:10, ]

lda_model = LDA$new(
  n_topics = 10,
  doc_topic_prior = 0.1,
  topic_word_prior = 0.01
)

doc_topic_distr =
  lda_model$fit_transform(
    x = dtm,
    n_iter = 1000,
    convergence_tol = 0.001,
    n_check_convergence = 25,
    progressbar = FALSE
  )
Run Code Online (Sandbox Code Playgroud)

...这使:

base::rowSums(x, na.rm = na.rm, dims = dims, …

r tm text2vec

3
推荐指数
1
解决办法
761
查看次数

从数据框中分割行名

对于文本挖掘项目,我必须调查单词列表随着时间的推移的发展。为此,我需要拆分行名称,以便有一列包含公司名称,一列包含年份。这是我的数据框中的摘录:

                    abs  access   allow     analysis application approach base big business challenge company 
Adidas_2010.txt     13    25       26          11       41        132   1      266        13     115       1
Adidas_2011.txt      1     3        1           0        0         8   0       11         2      10       0
Adidas_2012.txt     29    35       37          22      110        181   7      384        31     136       3
Adidas_2013.txt     28    47       38          32      180        184   4      451        30     129       3
Adidas_2014.txt     12    42       38          27      159        207   6      921        32     128       6
Adidas_2016.txt     30    47       50          47      162        251   9 …
Run Code Online (Sandbox Code Playgroud)

split r dataframe tm

3
推荐指数
1
解决办法
1422
查看次数

在R语料库中搜索以"esque"结尾的所有单词

我正在使用R的tm包来使用字典方法获取字频.我想找到所有以"esque"结尾的单词,无论它们拼写为"abcd-esque","abcdesque"还是"abcd esque"(因为我的语料库中存在所有不同的拼写).如何为此创建正则表达式?这就是我到目前为止所拥有的.任何帮助/提示将不胜感激.

text <- Corpus(DirSource("txt/"))
text <- tm_map(text,tolower) 
text <- tm_map(text,stripWhitespace) 
dtm.text <- DocumentTermMatrix(text)
list<-inspect(
    DocumentTermMatrix(text,list(dictionary = c("rose", "green", "esque")))
)
Run Code Online (Sandbox Code Playgroud)

regex dictionary r text-mining tm

2
推荐指数
1
解决办法
1911
查看次数

标签 统计

r ×10

tm ×10

text-mining ×3

corpus ×2

tidytext ×2

dataframe ×1

dictionary ×1

regex ×1

replace ×1

split ×1

stop-words ×1

text ×1

text2vec ×1

twitter ×1