在上将Tweet分类为多个类别(无监督数据/tweets)

2024-05-26 14:21:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把tweet分成预先定义的类别(比如:运动、健康和10个以上)。如果我有标记的数据,我可以通过训练朴素贝叶斯或支持向量机来进行分类。如http://cucis.ece.northwestern.edu/publications/pdf/LeePal11.pdf所述

但我无法找到一种方法来处理未标记的数据。一种可能的方法是使用期望最大化,生成集群并标记这些集群。但如前所述,我已经预先定义了一组类,所以集群不会那么好。在

有谁能指导我该学什么技巧吗。谢谢你的帮助。在


Tags: 数据方法标记http定义pdf分类集群
3条回答

实际上,这似乎是半监督学习的典型用例。这里有很多方法可以使用,包括带约束的聚类(强制模型将来自同一类的样本聚集在一起)、转化学习(尝试将模型从标记样本外推到未标记样本的分布上)。在

你也可以像@Shoaib建议的那样简单地对数据进行聚类,但是你必须想出一种启发式的方法来处理带有混合标记的聚类。此外,很明显,解决与任务无关的优化问题(标记)并不如实际使用这些知识。在

您可以将集群用于该任务。为此,您必须首先为每个类标记一些示例。然后使用这些带标签的示例,您可以轻松地识别每个集群的类。在

好吧,据我所知,我认为有多种方法来处理这个案子。 会有权衡,准确率可能会有所不同。因为众所周知的事实和观察

每一条微博都是不同的!

(除非您是基于标记和其他关键字从twitter流api中提取数据)。请定义数据源以及如何提取数据。我假设你只是得到了一些关于任何事情的普通推文

你能做的就是为你拥有的每个类生成一组字典 (即音乐=>;流行音乐、爵士乐、说唱乐、乐器……) 它将包含与该类相关的单词。对于python,可以使用NLTK,对于其他语言,可以使用Stanford NLP。在

你可以从提取开始

  • 同义词
  • 下义词
  • 上位词
  • 梅隆
  • 全称

去看看这些NLP Lexical semantics slides。它肯定会澄清一些概念。在

每个字典都有一次。将它们与你的tweet进行交叉比较。最相似的tweet(您可以根据这些字典中单词的出现情况对它们进行排序),您可以将其标记为该类。这将使你的tweet像其他人一样被贴上标签。 现在的问题是准确性!但这取决于类的数据和多功能性。这可能是一个“过度杀戮”,但它可能接近你想要的。在

此外,您可以用这种方式标记一些tweet,并使用余弦相似度来交叉标识其他tweet。这将有助于优化部分。但这又取决于你。你知道你能承受什么样的权衡

真正的斗争将是机器学习部分以及你如何管理它。在

相关问题 更多 >

    热门问题