用词嵌入矢量喂入分类器

时间:2019-07-16 13:11:06

标签: python machine-learning text-classification

我正在尝试建立模型,以使用词嵌入将评论分为3个不同类别。 我在我拥有的数据集(yelp评论)上构建了word2vec模型,然后在每个评论上运行以从其词嵌入中创建平均向量。 我的问题是我找不到以向量为特征的分类器(NB / LR /其他)的方法。

我使用以下代码创建了向量:

for k in range(0,len(word2vec_df)):
    word2vec_df.iloc[k]['review_text']=np.mean([model.wv.get_vector(word) 
    for word in word2vec_df.iloc[k]['review_text'] if word in 
    set(model.wv.vocab.keys())],axis=0)

其中word2vec_df是经过预处理的令牌化数据库,而model.wv是我在数据集上训练的word2vec模型

我得到的是一个数据帧,其中第一个特征是一个形状为(100,)的numpy数组。 当我尝试在此向量上训练分类器时,出现错误: “ ValueError:设置具有序列的数组元素。”

我也尝试了doc2vec,但仍然没有设法对我得到的向量进行分类。

我正在寻找以下问题的答案: 1.为什么我收到此错误消息/如何在此向量上训练分类器 2.我通过使用平均单词向量做对了吗 3.是否有用于向量嵌入的首选分类器?

0 个答案:

没有答案