只要可能的结果列表是有限且合理的(10-50),我并不挑剔究竟返回哪些类别.
有一些Web API可以执行此操作(例如,alchemy),但如果可能的话,我不希望产生额外的成本(无论是外部HTTP请求还是$$).
我看过节点模块“natural”.我对NLP有点新鲜,但似乎我可以通过在合理的单词列表上训练BayesClassifier来实现这一点.这看起来像是一种好的/逻辑的方法吗?你能想到更好的东西吗?
我不知道你是否还在寻找答案,但是让我把两分钱给那些碰巧回到这个问题的人.在NLP工作后,我建议您研究以下方法来解决问题.
不要寻找单一的解决方案.那里有很棒的套餐,毫无疑问有很多东西.但是当谈到像NLP,ML和优化等活跃的研究领域时,这些工具往往至少落后于学术界的3或4次迭代.
来到核心问题.你想要实现的是文本分类.
实现这一目标的最简单方法是SVM多类分类器.
最简单的是,但也非常非常(见双重压力)合理的分类准确性,运行时性能和易用性.
您需要处理的事情是用于表示新闻文章/文本/标签的功能集.你可以使用一袋文字模型.添加命名实体作为附加功能.您可以使用文章位置/时间作为功能. (虽然对于简单的类别分类,这可能不会给你带来很大的改进).
底线是. SVM效果很好.他们有多个实现.在运行期间,你真的不需要太多的ML机器.
另一方面,特征工程是特定于任务的.但是,鉴于一些基本的功能和良好的标签数据,您可以训练一个非常体面的分类器.
这里有一些资源供你使用.
http://svmlight.joachims.org/
SVM多类是您感兴趣的.
这是SVM zen自己的教程!
http://www.cs.cornell.edu/People/tj/publications/joachims_98a.pdf
我不知道这个的稳定性,但从代码中它是一个二元分类器SVM.这意味着如果您有一组已知大小为N的标记,则需要对文本进行分类,您将需要训练N个二进制SVM分类器. N类标签各一个.
希望这可以帮助.