gpt4 book ai didi

python - 在 sklearn 中训练模型时如何使用预训练词嵌入?

转载 作者:太空宇宙 更新时间:2023-11-03 14:46:07 27 4
gpt4 key购买 nike

对于 keras 中的神经网络 (NN) 之类的东西,很清楚如何在 NN 的训练中使用词嵌入,您可以简单地做一些类似的事情

embeddings = ...
model = Sequential(Embedding(...),
layer1,
layer2,...)

但我不确定如何使用 sklearn 中的算法(例如 SVM、NB 和逻辑回归)来执行此操作。我知道有一个 Pipeline 方法,它的工作原理很简单 ( http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_data.html ) 就像

pip = Pipeline([(Countvectorizer()), (TfidfTransformer()), (Classifier())])
pip.fit(X_train, y_train)

但是我怎样才能在这个管道中包含加载的词嵌入呢?还是应该以某种方式将其包含在管道之外?我在网上找不到很多关于如何执行此操作的文档。

谢谢。

最佳答案

您可以使用 FunctionTransformer类(class)。如果您的目标是拥有一个采用索引矩阵并输出带有词向量的 3d 张量的转换器,那么这就足够了:

# this assumes you're using numpy ndarrays
word_vecs_matrix = get_wv_matrix() # pseudo-code
def transform(x):
return word_vecs_matrix[x]
transformer = FunctionTransformer(transform)

请注意,与 keras 不同,词向量不会使用某种梯度下降法进行微调

关于python - 在 sklearn 中训练模型时如何使用预训练词嵌入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49236166/

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