代码之家  ›  专栏  ›  技术社区  ›  Max

文本分类/分类算法[关闭]

  •  15
  • Max  · 技术社区  · 14 年前

    我的目标是[半]自动分配文本到不同的类别。每个类别都有一组用户定义的类别和一组文本。理想的算法应该能够从人类定义的分类中学习,然后自动对新文本进行分类。 有人能提出这样一种算法吗?也许还有实现__礹的.NET库?

    7 回复  |  直到 8 年前
        1
  •  19
  •   Community Mofi    7 年前

    这样做并不容易。显然,您可以构建一个将某些关键字映射到类别的字典。只要找到一个关键字就可以推荐一个特定的类别。

    然而,在自然语言文本中,关键字通常不会以词干形式出现。你需要一些形态学工具来找到词干形式并在字典上使用它。

    但后来有人写了这样的话:“这篇文章不是关于……”。这将引入对语法和语义分析的需求。

    然后你会发现某些关键词可以用在几个类别中:“乐队”可以用在音乐、工艺甚至手工艺品中。因此,如果不确定的话,您将需要一个本体论和统计或其他方法来权衡要选择的类别的概率。

    有些关键词甚至不容易融入本体论:数学家是更接近程序员还是园丁?但是你在你的问题中说,分类是由人建立的,所以他们也可以帮助建立本体论。

    看一看 computational linguistics 在这里和在 Wikipedia 进一步研究。

    现在,你的文本所处的领域越窄,它们就越有条理,而且词汇表越小,问题就越容易出现。

    此外,还有一些进一步研究的关键词:形态学、语法分析、语义学、本体论、计算语言学、索引、关键词

        2
  •  7
  •   Gangadhar    14 年前

    自动文本分类有多种方法。朴素的贝叶斯分类器可能是其中最简单的。另一个是k-最近的邻居,你可以使用。这是谷歌的回答 categorization of text 也许会帮助你。

        3
  •  5
  •   Neil McGuigan    14 年前

    就这个话题看我的视频系列。

    http://vancouverdata.blogspot.com/2010/11/text-analytics-with-rapidminer-loading.html

    分类在视频5中,但其他视频可能会帮助您提高速度。

    这都是基于FOSS的RapidMiner项目。

        4
  •  2
  •   Tom Anderson    14 年前

    支持向量机。每个人都喜欢支持向量机。你需要读很多书,甚至买本书。但是你可以从阅读开始 a paper 看看你是否喜欢这个主意。

        5
  •  2
  •   rptwsthi    8 年前

    退房 this example from scikit learn . 在这个例子中应用了大量不同的算法,因此您可以比较结果。

        6
  •  1
  •   Grembo    14 年前

    这些方法的总称是“多变量方法”。通过搜索“文本分类”或“文本分类”,应该可以找到一些有用的线索。祝你好运!

        7
  •  1
  •   rew    10 年前

    我找这个问题的答案已经有一段时间了。今天我找到了答案。

    有一个名为“dbacl”的开源程序可以做到这一点。它可以根据您的喜好将文档分为多个类别(最多可以有一个特定的类别)。

    其他的答案说“不平凡”都是正确的,但是有一个易于使用的包来做一些困难的事情有助于使它易于管理。