python生成相似句子_需要帮助创建一个合适的模型来预测两个句子之间的语义相似性吗...

我是ML领域的新手,正在尝试创建一个可以预测两个句子之间语义相似性的模型。

我使用以下方法:

1.在gensim包中使用word2vec模型,对所讨论的句子中出现的每个单词进行矢量化

2.计算每个句子/文档中所有单词的平均向量import numpy as np

from scipy import spatial

index2word_set = set(model.wv.index2word)

def avg_feature_vector(sentence, model, num_features, index2word_set):

words = sentence.split()

feature_vec = np.zeros((num_features, ), dtype='float32')

n_words = 0

for word in words:

if word in index2word_set:

n_words += 1

feature_vec = np.add(feature_vec, model[word])

if (n_words > 0):

feature_vec = np.divide(feature_vec, n_words)

return feature_vec

3.接下来计算这两个平均向量之间的余弦相似性

^{pr2}$

以下挑战需要帮助:

由于我想建立一个模型来预测两个句子之间的语义相似性,我不太确定:

1.哪种模式最适合这个问题

2.接下来更重要的是如何训练这种模式?在

我是否应该创建一个矩阵,其中每行包含两个句子:

sen1和sen2和我将它们矢量化并计算余弦相似性(按照上述方法)

那么对于培训数据:

X_序列:sen1和sen2的平均向量及其余弦相似值

y_Train(预测):一组二进制值(如果余弦相似,则为1或类似值,否则为0.7和0)

我很困惑我的方法是否正确,以及如何以工作代码库的形式使用适当的方法。在

互联网和网上可用的材料是我学习ML的唯一老师;因此请您的指导帮助我消除理解上的差距,并帮助我为我的问题提出一个良好的工作模式。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值