我正在尝试编写一个程序,将文本(文章)作为输入并输出该文本的极性,将其置于正面或负面的情绪中.我已经广泛阅读了不同的方法,但我仍然感到困惑.我读过许多技术,如分类器和机器学习.我想指导和明确指示从哪里开始.例如,我有一个需要数据集的分类器,但我如何将文本(文章)转换为分类器的数据集.如果有人能告诉我解决这个问题的逻辑顺序.提前致谢!PS:请提及任何相关算法或开源实现
问候,迈克
nlp artificial-intelligence classification machine-learning data-mining
假设您应该在线监控品牌"ONE".可以使用哪些算法将关于品牌ONE的页面与包含常用词ONE的页面分开?
我想也许贝叶斯可以工作,但还有其他方法吗?
有许多聚类算法可供使用.一种流行的算法是K-means,其中,基于给定数量的聚类,算法迭代以找到对象的最佳聚类.
您使用什么方法来确定k-means聚类中数据中的聚类数?
R中可用的任何包是否包含V-fold cross-validation确定正确簇数的方法?
另一种使用良好的方法是期望最大化(EM)算法,该算法为每个实例分配概率分布,该概率分布指示其属于每个聚类的概率.
这个算法是用R实现的吗?
如果是,是否可以通过交叉验证自动选择最佳簇数?
您更喜欢其他一些聚类方法吗?
我是一名研究生CS学生(数据挖掘和机器学习),并且对核心Java(> 4年)有很好的了解.我已经阅读了很多关于Hadoop和Map/Reduce的东西
我现在想做一个关于这个东西的项目(在我的科西嘉的空闲时间)以获得更好的理解.
任何好的项目想法都会非常感激.我只是想做这个来学习,所以我真的不介意重新发明轮子.此外,与数据挖掘/机器学习相关的任何事情都将是一个额外的奖励(符合我的研究),但绝对没有必要.
我感觉就像一个简单的问题,但我似乎无法找到答案.我对Weka很陌生,但我觉得我已经对此做了一些研究(至少阅读了谷歌搜索结果的前几页)并且干了.
我正在使用Weka来使用Simple K-Means运行聚类.在结果列表中,我可以直观地看到我的输出("可视化集群分配"),从我对K-Means算法的理解和Weka的输出中可以清楚地看出,我的每个实例最终都是一个成员.不同的簇(以特定的质心为中心,如果你愿意的话).
我可以从文本输出中看到一些集群组合.但是,Weka没有为我提供从实例编号到集群编号的明确"映射".我想要像:
instance 1 --> cluster 0
instance 2 --> cluster 0
instance 3 --> cluster 2
instance 4 --> cluster 1
... etc.
Run Code Online (Sandbox Code Playgroud)
如何在不计算每个项目到每个质心的距离的情况下获得这些结果?
我已经阅读过使用奇异值分解(SVD)在文本语料库中进行潜在语义分析(LSA).我已经明白了如何做到这一点,我也理解了SVD的数学概念.
但我不明白为什么它适用于文本语料库(我相信 - 必须有语言解释).有人能用语言学的观点来解释我吗?
谢谢
algorithm nlp data-mining text-mining latent-semantic-indexing
我正在编写一段代码来评估我的聚类算法,我发现每种评估方法都需要来自m*n矩阵的基本数据,例如A = {aij},aij作为类成员ci和集群元素的数据点的数量kj.
但在数据挖掘简介(Pang-Ning Tan et al.)中似乎有两种这样的矩阵,一种是混淆矩阵,另一种是应变表.我不完全理解两者之间的区别.哪个最能描述我想要使用的矩阵?
非常感谢您的回答!
我是LDA的新生,我想在我的工作中使用它.但是,出现了一些问题.
为了获得最佳性能,我想估算最佳主题编号.在阅读"查找科学主题"后,我知道我可以先计算logP(w | z),然后用一系列P(w | z)的调和平均值来估算P(w | T).
我的问题是"一系列"是什么意思?
我有一个N个顶点的图形,其中每个顶点代表一个地方.此外,我有一个向量,每个用户一个,N个系数中的每一个,其中系数的值是在相应位置花费的持续时间(秒),如果没有访问该位置,则为0.
例如图表:

向量:
v1 = {100, 50, 0 30, 0}
Run Code Online (Sandbox Code Playgroud)
意味着我们花了:
100secs at vertex 1
50secs at vertex 2 and
30secs at vertex 4
Run Code Online (Sandbox Code Playgroud)
(未访问的顶点3和5,因此为0).
我想运行k-means聚类,我选择cosine_distance = 1 - cosine_similarity了距离的度量,其公式为cosine_similarity:

作为描述在这里.
但我注意到以下情况.假设k=2其中一个向量是:
v1 = {90,0,0,0,0}
Run Code Online (Sandbox Code Playgroud)
在解决最小化候选质心总距离的优化问题的过程中,假设在某一点上,2个候选质心是:
c1 = {90,90,90,90,90}
c2 = {1000, 1000, 1000, 1000, 1000}
Run Code Online (Sandbox Code Playgroud)
运行cosine_distance(v1,c1)和(v1,c2)的公式,我们得到0.5527864045两者的距离完全相同.
我认为v1比c2更接近c1更接近(更接近).显然事实并非如此.
Q1.为什么这个假设错了?
Q2.在这种情况下,余弦距离是否是正确的距离函数?
Q3.考虑到问题的本质,什么会更好?
cluster-analysis distance data-mining k-means cosine-similarity
data-mining ×10
nlp ×3
algorithm ×2
k-means ×2
difference ×1
distance ×1
hadoop ×1
lda ×1
linguistics ×1
matrix ×1
r ×1
text ×1
text-mining ×1
weka ×1