相关疑难解决方法(0)

使用R TM包找到2和3个单词的短语

我试图找到一个实际上可以找到R文本挖掘包中最常用的两个和三个单词短语的代码(也许还有另一个我不知道的包).我一直在尝试使用标记器,但似乎没有运气.

如果您过去曾处理过类似情况,您是否可以发布经过测试且实际有效的代码?非常感谢!

r data-mining text-mining

24
推荐指数
3
解决办法
3万
查看次数

无监督的短语语义聚类

我有大约一千个潜在的调查项目作为字符串向量,我想减少到几百.通常,当我们谈论数据减少时,我们有实际数据.我将项目管理给参与者并使用因子分析,PCA或其他一些降维方法.

就我而言,我没有任何数据.只是项目(即文本字符串).我想通过消除具有相似含义的项目来减少集合.据推测,如果实际给予参与者,他们将是高度相关的.

我一直在阅读有关文本分析的聚类方法.这个SO问题展示了我在不同的例子中看到过的方法.OP指出,群集解决方案并不能完全回答他/她的问题.以下是在我的案例中如何应用(令人不满意):

# get data (2 columns, 152 rows)
Run Code Online (Sandbox Code Playgroud)

使用样本项的dput()链接到text.R文件

# clustering
library(tm)
library(Matrix)
x <- TermDocumentMatrix( Corpus( VectorSource(text$item) ) )
y <- sparseMatrix( i=x$i, j=x$j, x=x$v, dimnames = dimnames(x) )  
plot( hclust(dist(t(y))) )
Run Code Online (Sandbox Code Playgroud)

该图显示项目145和149是聚类的:

145"让你知道你不被通缉"

149"让你知道他爱你"

这些项目共享相同的词干,"让你知道",这可能是聚类的原因.从语义上讲,它们是对立的.

OP与他/她的例子有类似的挑战.一位意见提供者指出wordnet包装是一种可能的解决方案.

问题(根据反馈编辑)

我怎样才能阻止像145和149这样的项目进行聚类,因为它们共享干?

问题重点较少的次要问题:有人在这里看到更好的解决方案吗?我遇到的许多方法都涉及监督学习,测试/训练数据集和分类.我相信我正在寻找的是更多的语义相似性/聚类(例如,FAC pdf).

r cluster-analysis text-mining unsupervised-learning

6
推荐指数
1
解决办法
1753
查看次数

实施 n-gram 进行下一个单词预测

我正在尝试利用三元组来预测下一个单词。

我已经能够上传语料库并根据频率识别最常见的三元组。我在 R 中使用了“ngrams”、“RWeka”和“tm”包。我按照这个问题寻求指导:

我需要什么算法来查找 n 元语法?

text1<-readLines("MyText.txt", encoding = "UTF-8")
corpus <- Corpus(VectorSource(text1))

BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 3, max =       3))
tdm <- TermDocumentMatrix(corpus, control = list(tokenize =      BigramTokenizer)) 
Run Code Online (Sandbox Code Playgroud)

如果用户要输入一组单词,我将如何生成下一个单词?例如,如果用户输入“can of”,我将如何检索三个最可能的单词(例如啤酒、苏打水、油漆等)?

text nlp r n-gram

5
推荐指数
1
解决办法
7303
查看次数