Python NTL - 识别文本兴趣/主题

Posted

技术标签:

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

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

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

将解析为***类别,例如:

“运动”。

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

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

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

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

【问题讨论】:

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

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

【讨论】:

【参考方案2】:

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

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

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

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

【讨论】:

以上是关于Python NTL - 识别文本兴趣/主题的主要内容,如果未能解决你的问题,请参考以下文章

火炉炼AI机器学习042-NLP文本的主题建模

python 识别图像主题并切割

R语言对NASA元数据进行文本挖掘的主题建模分析

爬虫大作业

LDA主题模型原理解析与python实现

如何用Python从海量文本抽取主题?