如何使用 unigram 和 bigram 作为 SVM 或逻辑回归的特征

数据挖掘 机器学习 nlp 逻辑回归 支持向量机 特征工程
2022-02-24 09:19:37

如何使用 unigram 和 bigram 作为特征在 SVM 或逻辑回归上构建自然语言推理模型?在我的数据集上,我有前提、假设和标签列。我计划使用 premis 或 hipotesis 的一元和二元或两者作为我训练的特征之一。例如 :

 premise                                      |hipotesis                         |hypothesis bigram
===============================================================================================
I am planning to use the unigram and bigram   |I am planning to use the unigram  |[(i, am), (am, planning), (planning, to), (to, use), (use, the), (the, unigram)]

假设二元组是二元组(单词)的列表,所以我不能将它用作我的支持向量机或逻辑的输入。我可以将假设二元组转换为向量吗?

1个回答

您需要创建 n-gram 的词汇表,即您将用作特征的二元组的编号清单。通常,这些是最常见的。创建特征向量时,您从零向量开始,如果具有相应索引的 n-gram 出现在您的句子中,则添加一个(或添加一个)。

机器学习库通常具有执行此操作的功能。例如,在 scikit-learn 中,您可以使用它CountVectorizer来完成这项工作。fit方法有一个ngram_range参数来控制特征向量中考虑的 n-gram 的长度。