当前位置: 首页 > article >正文

word2vec

# coding:utf-8
# 安装方法:1、pip install fasttext; 2 平替 pip install fasttext-wheel;
# 3 安装预编译文件(安装轮子) pip install fasttext-xxx.whl; 4 编译安装源代码文件,需要编译软件(最麻烦)
import fasttext


# 1 获取训练数据,已完成
# 2 词向量的训练保存加载
def dm_fasttext_train_save_load():
    # 01 训练模型,不设置任何参数
    my_model = fasttext.train_unsupervised('./data/fil9')
    print('训练词向量 OK')
    # 02 保存模型
    my_model.save_model('./data/fil9.bin')
    print('保存模型 OK')
    # 03 加载模型
    my_model = fasttext.load_model('./data/fil9.bin')
    print('加载模型 OK')


# 3 查看单词对应的词向量
# 通过get_word_vector方法来获得指定词汇的词向量, 默认词向量训练出来是1个单词100特征
def dm_fasttext_get_word_vector():
    # 01 加载模型
    my_model = fasttext.load_model("./data/fil9.bin")
    # 02 查询某个词汇的词向量
    result = my_model.get_word_vector("donkey")
    print(f'donkey的词向量是{result}')
    print(f'donkey的词向量类型是{type(result)}')
    print(f'donkey的词向量形状是{result.shape}')


# 4 检验模型效果
# 查找"运动"的邻近单词, 可以发现"体育网", "运动汽车", "运动服"等
def dm_fasttext_get_nearest_neighbors():
    # 01 加载模型
    my_model = fasttext.load_model("data/fil9.bin")
    # 02 查询sports的临近单词
    results1 = my_model.get_nearest_neighbors("sports")
    print(f'sports的邻居-->{results1}')
    # 查询music的临近单词
    results2 = my_model.get_nearest_neighbors("music")
    print(f'music的邻居-->{results2}')
    # 查询music的临近单词
    results3 = my_model.get_nearest_neighbors("dog")
    print(f'dog的邻居-->{results3}')


# 5 模型超参数设定
# 无监督训练模式 model 可选 'skipgram'(默认) or 'cbow'
# 词嵌入维度 dim 默认 100
# 循环轮次 epoch 默认 5
# 学习率 lr 默认 0.05,建议 [0.01,1]
def dm_fasttext_train_args():
    # 训练模型 设置超参数
    my_model = fasttext.train_unsupervised('./data/fil9',
                                           "cbow",
                                           epoch=1,
                                           lr=0.1,
                                           dim=300,
                                           thread=8)

    # # 保存模型
    # my_model.save_model('./data/fil9.bin')


if __name__ == '__main__':
    dm_fasttext_train_save_load()
    # dm_fasttext_get_word_vector()
    # dm_fasttext_get_nearest_neighbors()
    # dm_fasttext_train_args()

http://www.kler.cn/a/416517.html

相关文章:

  • 【人工智能-科普】深度森林:传统机器学习与深度学习的创新结合
  • redis机制详解
  • Opencv+ROS实现摄像头读取处理画面信息
  • helm部署golang服务
  • 110页PPT战略指南:剖析Cross SWOT分析、市场洞察与内部优化方案
  • springboot340“共享书角”图书借还管理系统(论文+源码)_kaic
  • 娱乐API:快速生成藏头诗、藏尾诗和藏中诗
  • 详解Ethereum交易当中的Input Data
  • 论文笔记:RAR: Retrieving And Ranking Augmented MLLMs for Visual Recognition
  • 算法思维初学者指南
  • XRD精修教程:CMPR软件介绍-测试狗
  • Spring Boot 开发环境搭建及示例应用
  • 数据分析-52-时间序列分解之变分模态分解VMD
  • 【论文笔记】Tool Learning with Foundation Models 论文笔记
  • 泷羽sec-蓝队基础之网络七层杀伤链(上) 学习笔记
  • 【Datawhale组队学习】模型减肥秘籍:模型压缩技术6——项目实践
  • 工业一体机在自动化产线的作用及核心优势有哪些
  • Docker for Everyone Plus——Unbreakable!
  • uni-app写的微信小程序每次换账号登录时出现缓存上一个账号数据的问题
  • (转)Uni-app 之IOS生成Universal Link(通用链接)
  • 【数据结构-队列】力扣641. 设计循环双端队列
  • 什么是堆?
  • Redis的基本使用命令(GET,SET,KEYS,EXISTS,DEL,EXPIRE,TTL,TYPE)
  • ubuntu20配置mysql注意事项
  • 【Linux】nvidia-smi输出参数详解
  • Mac配置和启动 Tomcat