我的目标是半自动地将文本分配到不同的类别。有一组用户定义的类别和每个类别的一组文本。理想的算法应该能够从人类定义的分类中学习,然后自动对新文本进行分类。有没有人能推荐这样的算法,或许还有实现ше的.NET库?
发布于 2010-08-27 21:28:40
要做到这一点并不是微不足道的。显然,您可以构建一个将某些关键字映射到类别的字典。只要找到一个关键词,就会提示一个特定的类别。
然而,在自然语言文本中,关键字通常不是其词干形式。你需要一些形态学工具来找到词干形式并在字典上使用它。
但是,有人可能会这样写:“这篇文章不是关于……”。这将引入对语法和语义分析的需求。
然后你会发现某些关键字可以用在几个类别中:“乐队”可以用在音乐,工艺,甚至手工作品中。因此,您需要一个本体和统计或其他方法来权衡类别选择的概率,如果不确定的话。
有些关键字甚至可能很难融入本体论:数学家更接近程序员还是园丁?但你在你的问题中说,类别是由人类建立的,所以它们也可以帮助建立本体。
请在这里和Wikipedia中查看computational linguistics以进行进一步的研究。
现在,你的文本的范围越窄,它们就越结构化,词汇量越小,问题就变得越容易。
还有一些需要进一步研究的关键词:形态学、语法分析、语义、本体论、计算语言学、索引、关键词
发布于 2010-08-27 21:29:37
自动文本分类有多种方法。朴素贝叶斯分类器可能是其中最简单的。另一个是你可以使用的K近邻。categorization of text上的这个谷歌答案可能会对你有所帮助。
发布于 2010-12-12 05:20:37
请观看我关于这个主题的系列视频。
http://vancouverdata.blogspot.com/2010/11/text-analytics-with-rapidminer-loading.html
分类在视频5中,但其他视频可能会帮助您提高速度。
这都是基于自由/开源软件程序RapidMiner的。
https://stackoverflow.com/questions/3584472
复制相似问题