node.js - 新闻文章分类(通过 NLP 进行主题/实体分析?);最好在 Node.js 中

标签 node.js nlp

目标:一个 node.js 函数,可以传递新闻文章(标题、文本、标签等)并将返回该文章的类别(“技术”、“时尚”、“食品”等。 )

我对返回的类别并不挑剔,只要可能的结果列表是有限且合理的 (10-50)。

有 Web API 可以执行此操作(例如,alchemy),但如果可能,我不希望承担额外费用(包括外部 HTTP 请求和 $$)。

我看过 Node 模块“natural”。我对 NLP 有点陌生,但似乎我可以通过在合理的单词列表上训练 BayesClassifier 来实现这一点。这看起来像是一个好的/合乎逻辑的方法吗?你能想到更好的办法吗?

最佳答案

我不知道您是否仍在寻找答案,但让我为碰巧回到这个问题的任何人献上我的两分钱。

在 NLP 工作过后,我建议您研究以下方法来解决问题。 不要寻找单一的软件包解决方案。那里有很棒的包裹,毫无疑问有很多东西。但是,当涉及到 NLP、ML 和优化等活跃的研究领域时,这些工具往往比学术界至少落后 3 或 4 次迭代。

来到核心问题。你想要实现的是文本分类。 实现这一目标的最简单方法是 SVM 多类分类器。 最简单的是,但也非常非常(见双重压力)合理的分类准确性、运行时性能和易用性。

您需要处理的是用于表示您的新闻文章/文本/标签的功能集。你可以使用一袋词模型。添加命名实体作为附加功能。您可以使用文章位置/时间作为特征。 (尽管对于简单的类别分类,这可能不会给您带来太大的改进)。 底线是。支持向量机效果很好。他们有多种实现。在运行时,你真的不需要太多机器学习机器。 另一方面,特征工程是非常特定于任务的。但是给定一些基本的特征集和良好的标记数据,你可以训练一个非常好的分类器。

这里有一些资源供您使用。 http://svmlight.joachims.org/ 您会感兴趣的是 SVM 多类。

这是 SVM zen 自己的教程! http://www.cs.cornell.edu/People/tj/publications/joachims_98a.pdf

我不知道它的稳定性,但从代码来看它是一个二元分类器 SVM。这意味着如果你有一组已知的大小为 N 的标签,你想将文本分类到其中,你将不得不训练 N 个二元 SVM 分类器。 N 个类别标签各一个。

希望这对您有所帮助。

关于node.js - 新闻文章分类(通过 NLP 进行主题/实体分析?);最好在 Node.js 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14574462/

相关文章:

python - 俄语单词列表的 SnowballStemmer

python - 如何使用 spaCy 进行文本预处理?

javascript - 十六进制字符串到 INT32 - Little Endian(DCBA 格式)Javascript

node.js - 删除后仍然找到Elasticsearch文件?

javascript - NodeJS函数被socketio事件中断

node.js - 如何获取上传文件的文件路径以创建ReadStream

javascript - 本地范围内同名的控制台全局范围变量

python - N gram NLP 到 Excel 文件

c# - 如何在C#中搜索类中的字符串