我有一个带有大量文本数据的lucene索引,每个项目都有描述,我想从描述中提取更常用的单词并生成标签,根据描述对每个项目进行分类,是否有lucene.net用于执行此操作的库或用于文本分类的任何其他库?
答案 0 :(得分:2)
不,lucene.net可以进行搜索,索引,文本规范化,“找到更像这样的”功能,但不是文本分类。
向您推荐的内容取决于您的要求。所以,可能需要更多描述。 但是,通常,最简单的方法是尝试使用外部服务。所有外部服务都有REST API,使用C#很容易与它进行交互。
来自外部服务:
还有像Mahout这样的优秀Java SDK。我记得与Mahout的互动也可以像服务那样进行,因此与它的整合根本不是问题。
我使用c#进行了类似的“自动标记”任务,我已经习惯了那个Open Calais。每天可以免费进行50,000笔交易。这对我来说已经足够了。 uClassify也有很好的定价,例如“Indie”许可证每年99美元。
但也许外部服务和Mahout不是你的方式。比看看DBpedia项目和RDF。 最后,你可以使用Naive Bayes算法的一些实现,至少。这很简单,一切都在你的掌控之中。
答案 1 :(得分:1)
这是一个非常难的问题但是如果你不想花时间在它上面,你可以在整个文档中记录频率在5%到10%之间的所有单词。或者,你只需要最常见的5个单词。
很好地进行标签提取非常困难。整个公司都很难接触到暴露这种API的网络服务。
您还可以删除禁用词(使用从互联网获取的固定停用词列表)。
你可以找到常用的N-gram(例如对),你可以用它来找到多字标签。