【问题标题】:Tweet classification into multiple categories on (Unsupervised data/tweets)将推文分类为多个类别(无监督数据/推文)
【发布时间】:2016-08-20 22:08:06
【问题描述】:

我想将推文分类为预定义的类别(例如:运动、健康等 10 个)。如果我有标记数据,我将能够通过训练朴素贝叶斯或 SVM 来进行分类。如http://cucis.ece.northwestern.edu/publications/pdf/LeePal11.pdf中所述

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

谁能指导我应该遵循哪些技术。感谢任何帮助。

【问题讨论】:

  • 您是否实施了任何建议的方法?哪个对你有好处?

标签: python twitter machine-learning nlp


【解决方案1】:

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

【讨论】:

  • 当您回答问题时,无需在帖子中添加“希望有帮助”或其他评论 - 您只需给出答案即可。感谢您回答问题!
  • @Shoaib,我有完全未标记的数据,如果我标记一些示例不会引入偏见?
【解决方案2】:

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

您也可以像@Shoaib 建议的那样简单地对数据进行聚类,但随后您将不得不提出如何处理具有混合标签的聚类的启发式方法。此外 - 显然解决与任务(标签)无关的优化问题不如实际使用这些知识。

【讨论】:

    【解决方案3】:

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

    每条推文都是不同的!

    (除非您基于标签和其他关键字从 twitter 流 api 中提取数据)。请定义数据来源以及如何提取数据。我假设您只是收到关于任何内容的一般推文

    您可以做的是为您拥有的每个类生成一组字典 (即音乐=>流行,爵士,说唱,乐器...) 这将包含与该类相关的单词。您可以将 NLTK 用于 python 或 Stanford NLP 用于其他语言。

    你可以从提取开始

    • 同义词
    • 下义词
    • 上位词
    • Meronyms
    • Holonyms

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

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

    此外,您可以通过这种方式标记一组推文,并使用 余弦相似度 来交叉识别其他推文。这将有助于优化部分。但话又说回来,由你决定。如您所知,您可以承受哪些权衡

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

    【讨论】:

    • 我确信这适用于字典单词。但是我怎样才能使这种技术适用于我们使用的一般词,比如技术可能包括(JQuery、IPhone、NODE、Apple、谷歌等)或咖啡可能包括(星巴克等)
    • 这类词是专有名词,我见过的词网都不包含。但是话又说回来,它的字典的美丽你可以把你认为相关的词放在每个类中,即使它们是专有名词。在这件事上对你有利的是你有预定义的类别。 @dvlper
    猜你喜欢
    • 2018-09-25
    • 2016-05-02
    • 2018-02-25
    • 2018-09-29
    • 2017-05-01
    • 2014-06-22
    • 2019-05-12
    • 2015-01-11
    • 2013-02-24
    相关资源
    最近更新 更多