Nlp 如何简化弓?

Nlp 如何简化弓?,nlp,Nlp,我正在尝试应用一些二进制文本分类,但我觉得拥有数百万个长度大于1k的向量不是一个好主意。那么,基本BOW模型有哪些替代方案呢?我认为有很多不同的方法,具体取决于您在预测任务中的目标(处理速度超过准确性、文本数据分布的差异等)。 在没有关于您当前实施的任何进一步信息的情况下,我认为以下途径为您提供了改进方法的途径: 使用稀疏数据表示法。这可能是非常明显的一点,但选择正确的数据结构来表示输入向量已经可以为您节省大量的痛苦。Sklearn提供了多种选项,并在其应用程序中详细介绍了这些选项。具体来说,

我正在尝试应用一些二进制文本分类,但我觉得拥有数百万个长度大于1k的向量不是一个好主意。那么,基本BOW模型有哪些替代方案呢?

我认为有很多不同的方法,具体取决于您在预测任务中的目标(处理速度超过准确性、文本数据分布的差异等)。 在没有关于您当前实施的任何进一步信息的情况下,我认为以下途径为您提供了改进方法的途径:

  • 使用稀疏数据表示法。这可能是非常明显的一点,但选择正确的数据结构来表示输入向量已经可以为您节省大量的痛苦。Sklearn提供了多种选项,并在其应用程序中详细介绍了这些选项。具体来说,我要指出的是,您可以使用
    scipy.sparse
    矩阵,也可以使用sklearn来表示某些内容
  • 限制你的词汇量。在构建弓表示时,可能有一些词很容易被忽略。我再次假设您正在使用类似于sklearn的实现,它已经提供了大量的可能性。最明显的选择是stopwords,它可以完全从你的词汇表中删除,但当然你也可以通过使用预处理步骤进一步限制它,比如lemmatization/词干、小写、,等等。
    CountVectorizer
    还特别允许您控制文档频率的最小值和最大值(不要将其与语料库频率混淆),这同样会限制词汇表的大小