我一直在使用findAssoc()textmining(tm包),但意识到我的数据集似乎不对.
我的数据集是保存在csv文件的一列中的1500个开放式答案.所以我像这样调用数据集,并使用典型的数据集tm_map使其成为语料库.
library(tm)
Q29 <- read.csv("favoritegame2.csv")
corpus <- Corpus(VectorSource(Q29$Q29))
corpus <- tm_map(corpus, tolower)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, removeNumbers)
corpus<- tm_map(corpus, removeWords, stopwords("english"))
dtm<- DocumentTermMatrix(corpus)
findAssocs(dtm, "like", .2)
> cousin fill ....
0.28 0.20
Run Code Online (Sandbox Code Playgroud)
Q1.当我找到与之关联的术语时like,我没有看到输出like = 1作为输出的一部分.然而,
dtm.df <-as.data.frame(inspect(dtm))
Run Code Online (Sandbox Code Playgroud)
此数据框由1500个obs组成.1689变量..(或者是因为数据保存在一行csv文件中?)
Q2.尽管cousin和fill出现了一次当目标项like出现了一次,比分是这样的不同.他们不应该一样吗?
我想找到数学findAssoc()但却没有成功.任何建议都非常感谢!
我有许多大文本文件,其基本组成如下:
text<-"this is a speech text. FIRST PERSON: hi all, thank you for coming. SECOND PERSON: thank you for inviting us"
Run Code Online (Sandbox Code Playgroud)
如您所见,它由以下内容组成:1)随机文本,2)大写字母,3)语音.
我已设法使用以下列表将所有单词分开:
textw<-unlist(strsplit(text," "))
Run Code Online (Sandbox Code Playgroud)
然后我找到大写单词的所有位置:
grep(pattern = "^[[:upper:]]*$",x = textw)
Run Code Online (Sandbox Code Playgroud)
我把人的名字分成了一个载体;
upperv<-textw[grep(pattern = "^[[:upper:]]*$",x = textw)]
Run Code Online (Sandbox Code Playgroud)
期望的结果将是这样的数据框架或表格:
Result<-data.frame(person=c(" ","FIRST PERSON","SECOND PERSON"),
message=c("this is a speech test.","hi all, thank you for coming.","thank you for inviting us"))
Result
person message
1 this is a speech test.
2 FIRST PERSON hi all, thank you for coming.
3 SECOND PERSON thank you for …Run Code Online (Sandbox Code Playgroud) 我有一个很长的文本文件,使用R language我想用至少 10 到 20 行或小句子来总结文本。如何用 总结至少 10 行的文本R language?
我是文本挖掘和 NLP 相关内容的新手。我正在开发一个小项目,试图从一些文档中提取信息。我基本上是做一个 pos 标记,然后使用分块器找出基于的模式标记的单词。在进行词性标记之前我需要使用停用词吗?使用停用词会影响我的词性标记器的准确性吗?
我正在尝试训练从文档术语矩阵转换为数据帧的数据。正面和负面评论有单独的字段,因此我想在列名称中添加一个字符串作为“标签”,以区分来自不同字段的相同单词 - 例如,单词 hello 可以同时出现在正面和负面评论字段中(因此,在我的数据框中表示为一列),因此在我的模型中,我想通过将列名称设为 Positive_hello 和 Negative_hello 来区分它们。
我正在寻找一种重命名列的方法,以便将特定字符串附加到数据框中的所有列。比如说,对于mtcars,我想将所有列重命名为以“_sample”结尾,这样列名就会变成mpg_sample、cyl_sample、disp_sample等等,而原来是mpg、cyl、 和disp。
我正在考虑使用sapplyor lapply,但还没有任何进展。任何帮助将不胜感激。
我正在尝试使用 Gensim 中的短语获取句子中的二元组,如下所示。
from gensim.models import Phrases
from gensim.models.phrases import Phraser
documents = ["the mayor of new york was there", "machine learning can be useful sometimes","new york mayor was present"]
sentence_stream = [doc.split(" ") for doc in documents]
#print(sentence_stream)
bigram = Phrases(sentence_stream, min_count=1, threshold=2, delimiter=b' ')
bigram_phraser = Phraser(bigram)
for sent in sentence_stream:
tokens_ = bigram_phraser[sent]
print(tokens_)
Run Code Online (Sandbox Code Playgroud)
即使将“new”、“york”捕获为“new york”,它也不会捕获“machine”,将学习作为“机器学习”
但是,在Gensim 网站上显示的示例中,他们能够将“机器”、“学习”等词捕获为“机器学习”。
请让我知道如何在上面的示例中将“机器学习”作为二元组
我正在使用 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) 我试图从一堆 PDF 中挖掘文本,但是当我pdf_text从pdftools包中使用 R 将它们读入时,它产生的文本很奇怪,与 PDF 文件中的实际内容完全不同。Onedrive 链接:https ://1drv.ms/b/s!AlTtlgN0WIa3s2qeq4yrv9fUu-Z6 。这是我使用的示例代码:
library(pdftools)
pdf1 <- pdf_text("https://dl.dropboxusercontent.com/s/308gpdijvnw18mf/2018REQ118030709.pdf?dl=0")
pdf1
## c("(’-*)&&$(&’-’’’’)*,&’$)’&/.\r\n itiCHMON&\\ 4Q\\a WN BQKPUWVL
##FQZOQVQI )’(/ 7QZ[\\ 9ITN BMIT
##6[\\I\\M DI‘ 3QTT\r\n 5Q^Q[QWV WN 4WTTMK\\QWV[\r\n
##FE 8_h -10+0\r\n HYSX]_^T’ L7 -.-1,(10+0
##3QTT >]UJMZ (/’*’.’0\r\n IBKHHO F7L;HI ?D9
##@TMI[M ZMKWZL 3QTT >]UJMZ QV UMUW [MK\\QWV WN KPMKS\r\n ,0+, L7BB;O H:\r\n
##H?9>CED: L7 -.---(0/+1
##IVL QVKT]LM QV ITT WVTQVM JIVSQVO \\ZIV[IK\\QWV[\r\n
##@ZWXMZ\\a :VNWZUI\\QWV
##DI‘ :VNWZUI\\QWV\r\n JQh OUQb5
##-+,3 J_dQ\\ 7TZecdUT …Run Code Online (Sandbox Code Playgroud) 是否有算法或方法可以评估文本项目之间的共同趋势/主题?
例如,假设有四个数据点(文本条目):
基于这四个条目,第一个是异常值,与其余条目无关,但其他三个提到"物理测试"是如何容易的(更一般地,其他三个表达围绕"物理测试"的积极情绪).
有没有方法来提取相关句子之间的共同点?这些句子完全是开放式的,并不仅限于表达对某个对象的情绪 - 他们可能在谈论任何事情.
我知道这是一个相当广泛的问题,但我想我会问它,看看人们是否知道过去现有的解决方案或人们解决这个问题的方法.
text-mining ×10
r ×6
nlp ×4
python ×2
text ×2
data-mining ×1
dataframe ×1
gensim ×1
pdf ×1
pos-tagger ×1
tm ×1
uppercase ×1
word2vec ×1