word2vec词向量实战

https://blog.csdn.net/qq_27586341/article/details/90025288

简单实战如代码所示

from gensim.models import Word2Vec
import jieba
#定义停用词、标点符号
punctuation = [",","。", ":", ";", ".", "‘", '“', "’", "?", "、", "-", "+", "&", "(", ")"]
sentences = [
"长江是中国第一大河,干流全长6397公里(以沱沱河为源),一般称6300公里。流域总面积一百八十余万平方公里,年平均入海水量约九千六百余亿立方米。以干流长度和入海水量论,长江均居世界第三位。",
"黄河,中国古代也称河,发源于中华人民共和国青海省巴颜喀拉山脉,流经青海、四川、甘肃、宁夏、内蒙古、陕西、山西、河南、山东9个省区,最后于山东省东营垦利县注入渤海。干流河道全长5464千米,仅次于长江,为中国第二长河。黄河还是世界第五长河。",
"黄河,是中华民族的母亲河。作为中华文明的发祥地,维系炎黄子孙的血脉.是中华民族民族精神与民族情感的象征。",
"黄河被称为中华文明的母亲河。公元前2000多年华夏族在黄河领域的中原地区形成、繁衍。",
"在兰州的“黄河第一桥”内蒙古托克托县河口镇以上的黄河河段为黄河上游。",
"黄河上游根据河道特性的不同,又可分为河源段、峡谷段和冲积平原三部分。 ",
"黄河,是中华民族的母亲河。"
]

sentences = [jieba.lcut(sen) for sen in sentences]
print(sentences)
tokenized = []
tokenized2 = []
for sentence in sentences:
    #words = []
    for word in sentence:
        if word not in punctuation:
            #words.append(word)
            tokenized.append(word)
tokenized2.append(tokenized)
#Word2Vec的第一个参数必须是两层list的结构
model = Word2Vec(tokenized2, sg=1, size=50,  window=5,  min_count=1,  negative=1, sample=0.001, hs=1, workers=4)
model.save('model')  # 保存模型
model = Word2Vec.load('model')  # 加载模型
#计算词语间的相似度
print(model.similarity('黄河', '黄河'))
print(model.similarity('黄河', '长江'))
#选出与黄河,母亲河最相似,与长江最不相似的词
print(model.most_similar(positive=['黄河', '母亲河'], negative=['长江']))
#参看为生成的vec矩阵
print(model["中国"])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值