【问题标题】:Python NTL - Identifying text interest / topicPython NTL - 识别文本兴趣/主题
【发布时间】:2013-07-04 08:46:06
【问题描述】:

我正在尝试构建一个模型,该模型将尝试识别所提供文本的兴趣类别/主题。例如:

“很高兴早些时候踢了一场足球比赛。”

将解析为顶级类别,例如:

“运动”。

我不确定我在此处尝试实现的目标的正确术语是什么,因此 Google 没有提供任何可能提供帮助的库。考虑到这一点,我的方法是这样的:

  1. 从文本中提取特征。使用标记对每个特征进行分类/识别名称/地点。可能会为此使用 NTLK 或 Topia。
  2. 为每个兴趣类别(“体育”、“视频游戏”、“政治”等)运行朴素贝叶斯分类器,并获得每个类别的相关性百分比。
  3. 确定哪个类别的准确率最高,并对文本进行分类。

我的方法可能涉及为每个兴趣类别设置单独的语料库,我相信准确性会相当低 - 我知道它永远不会那么准确。

通常会就我想要完成的工作的可行性寻求一些建议,但我的问题的症结在于:a) 我的方法是否正确? b) 是否有任何图书馆/资源可以提供帮助?

【问题讨论】:

  • 在您的情况下,也许一个好主意是解析 Wikipedia 文章(定期提供其数据库的转储),并将它们定义的类别用作您自己的数据的模型。仅解析“类别:”页面(例如:en.wikipedia.org/wiki/Category:Sports_by_type)并仅保存文章标题可能就足够了。如果您需要更高的精度,您还可以检查定义每个类别的最具体的词。
  • Wikipedia 类别非常嘈杂,因为 Wikipedians 将包含不在类别中的内容,而只是相关或感兴趣的内容。如果您想使用 Wikipedia,我建议您使用 Freebase 类型/属性和 Wikipedia text。

标签: python machine-learning classification nltk


【解决方案1】:

您应该查看 Latent Dirichlet Allocation 它将为您提供类别没有标签,一如既往 ed chens bolg 是一个好的开始。

【讨论】:

    【解决方案2】:

    您似乎知道很多正确的术语。尝试搜索“文档分类”。这是您要解决的一般问题。在代表性语料库上训练的分类器将比您想象的更准确。

    • (a) 没有一种正确的方法。您概述的方法将 但是工作。
    • (b)Scikit Learn 是进行此类工作的绝佳图书馆。

    还有很多其他信息,包括关于这个主题的在线教程:

    • github 上的这个Naive Bayesian Classifier 可能已经完成了您想要完成的大部分工作。
    • NLTK tutorial 深入解释了该主题。
    • 如果您真的想深入研究,我相信 Google 学术搜索会找到数千篇关于此主题的计算机科学和语言学学术文章。

    【讨论】:

      猜你喜欢
      • 2022-06-12
      • 1970-01-01
      • 1970-01-01
      • 2021-02-03
      • 2013-03-03
      • 2017-04-29
      • 1970-01-01
      • 2011-01-07
      • 2015-11-12
      相关资源
      最近更新 更多