下面是一个使用Python中的gensim库训练Word2Vec模型并计算句子相似度的示例代码:
from gensim.models import Word2Vec
from sklearn.metrics.pairwise import cosine_similarity
# 训练Word2Vec模型
sentences = [["I", "love", "coding"], ["Coding", "is", "fun"], ["Python", "is", "awesome"]]
model = Word2Vec(sentences, min_count=1) # 使用默认参数进行训练
# 计算句子相似度
sentence1 = ["I", "love", "programming"]
sentence2 = ["Python", "is", "great"]
# 将句子中的词向量求平均得到句向量
sentence1_vector = sum([model.wv[word] for word in sentence1]) / len(sentence1)
sentence2_vector = sum([model.wv[word] for word in sentence2]) / len(sentence2)
# 使用余弦相似度计算句子相似度
similarity_score = cosine_similarity([sentence1_vector], [sentence2_vector])[0][0]
print("Sentence similarity score:", similarity_score)
请确保已经安装了gensim
和scikit-learn
库。这个示例会先使用给定的句子列表训练Word2Vec模型,然后计算两个输入句子的相似度得分。
内容由零声教学AI助手提供,问题来源于学员提问