gpt4 book ai didi

用于大型数据集分类的 NLP 软件

转载 作者:行者123 更新时间:2023-12-02 16:17:21 30 4
gpt4 key购买 nike

背景

多年来,我一直使用自己的类似贝叶斯方法,根据大型且不断更新的训练数据集对来自外部来源的新项目进行分类。

每个项目都有三种类型的分类:

  1. 30 个类别,其中每个项目必须属于一个类别,且最多属于两个类别。
  2. 10 个其他类别,其中每个项目仅在存在强匹配的情况下才与一个类别相关联,并且每个项目可以属于与匹配的类别一样多的类别。
  3. 4 个其他类别,其中每个项目必须仅属于一个类别,如果没有高度匹配,则该项目将分配到默认类别。

每项由约 2,000 个字符的英文文本组成。在我的训练数据集中,大约有 265,000 个项目,其中包含粗略估计的 10,000,000 个特征(独特的三词短语)。

我的自制方法相当成功,但肯定还有改进的空间。我读过 NLTK 书的“学习分类文本”一章,这章很棒,让我对 NLP 分类技术有一个很好的概述。我希望能够尝试不同的方法和参数,直到获得数据的最佳分类结果。

问题

有哪些现成的 NLP 工具可以有效地对如此大的数据集进行分类?

到目前为止我尝试过的:

  • NLTK
  • TIMBL

我尝试使用包含不到 1% 的可用训练数据的数据集来训练它们:1,700 个项目,375,000 个特征。对于 NLTK,我使用了稀疏二进制格式,对于 TIMBL 使用了类似的紧凑格式。

两者似乎都依赖于在内存中完成所有操作,并且很快耗尽了所有系统内存。我可以让他们处理很小的数据集,但不能处理很大的数据集。我怀疑如果我尝试增量添加训练数据,那么或者在进行实际分类时都会出现相同的问题。

我查看了 Google 的 Prediction API,它似乎可以完成我正在寻找的大部分功能,但并非全部。如果可能的话,我还想避免依赖外部服务。

关于功能的选择:在多年来我的自制方法的测试中,三个单词短语产生了迄今为止最好的结果。尽管我可以通过使用单词或两个单词短语来减少特征数量,但这很可能会产生较差的结果,并且仍然会产生大量特征。

最佳答案

this post之后根据个人经验,我推荐 Vowpal Wabbit 。据说它拥有最快的文本分类算法之一。

关于用于大型数据集分类的 NLP 软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7248372/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com