码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 《基于Tensorflow的知识图谱实战》 --- 有趣的词嵌入--word embedding(二)| fastText和预训练词向量


    🎨开发平台:jupyter lab

    🎄运行环境:python3、TensorFlow2.x

    第6章 tensorflow和keras快速入门 | 有趣的词嵌入--word embedding(二)| 更多的word embedding方法---fastText和预训练词向量

    • 1. fastText的原理和基础算法
      • 1.1 N-gram算法
      • 1.2 Hierarchical Softmax算法
    • 2. fastText训练以及与tensorflow2.x的协同使用(待完善)
      • 2.1 fastText函数介绍
    • 3. 使用其他预训练参数做Tensorflow词嵌入矩阵(中文)

    word embedding(词嵌入),常用来进行情感分析、同义词聚类、文章分类和打标签。
    (1)该部分内容介绍:通过多种计算word embedding的方法循序渐进的了解如何获取对应的word embedding,之后通过实战使用word embedding进行文本分类。
    (2)该章节将分为四个部分,分别为:

    • 1.文本数据处理
    • 2.更多的word embedding方法—fastText和预训练词向量
    • 3.针对文本的卷积神经网络模型 — 字符卷积
    • 4.针对文本的卷积神经网络模型 — 词卷积
    • 5.使用卷积对文本分类的补充内容

    1. fastText的原理和基础算法

    优点:相对于传统的word2vec计算方法,fastText计算更快速和更新的一种word embedding方法
    (1)fastText在保持高精度的情况下加快了训练速度和测试速度。
    (2)fastText对word embedding的训练更加精准。
    (3)fastText采用两个重要的算法:N-gram、Hierarchical Softmax。

    1.1 N-gram算法

    常用的方式:1-gram、2-gram、3-gram
    (1)相对于word2vec中采用的CBOW架构,fastText采用的是N-gram架构。
    (2)N理论上可以设置任意值,n为滑动窗口数,逐字向后移动。

    1.2 Hierarchical Softmax算法

    (1)当预料类别较多时,使用Hierarchical Softmax(hs)减轻计算量。
    (2)fastText中的Hierarchical Softmax利用Huffman树实现,将词向量作为叶子结点,之后根据词向量构建Huffman树。

    2. fastText训练以及与tensorflow2.x的协同使用(待完善)

    2.1 fastText函数介绍

    from gensim.models import fastText
    model = fastText(min_count = 5,size = 300,window = 7,workers = 10,iter = 50,seed = 17,sg = 1,hs = 1)
    
    ** 参数介绍
    (1)size(int,optional):word向量的维度
    (2)window(int,optional):一个句子中当前单词和被预测单词的最大距离。
    (3)min_count(int,optional):忽略词频小于此值的单词。
    (4)workers(int,optional):训练模型时使用的线程数。
    (5)sg({0,1},optional):模型的训练算法,1代表skip-gram,0代表CBOW。
    (6)hs({0,1},optional):1采用hierarchical Softmax训练模型,0代表负采样。
    (7)iter:模型迭代的次数。
    (8)seed(int,optional):随机数发生器种子。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    3. 使用其他预训练参数做Tensorflow词嵌入矩阵(中文)

    对于个人用户或者规模不大的公司来说,做一个庞大的预训练项目是一个费时费力的工程。因此,我们可以借助一些其他工具。
    -在中文部分,腾讯的词向量是一款较为常用并且免费的词嵌入预训练数据。
    链接地址: https://ai.tencet.com/ailab/nlp/embedding/.html

    from gensim.modelsword2vec import KetedVectors
    wv_from_text = KetedVectors.load_word2vec_format(file,binary=False)
    
    • 1
    • 2
  • 相关阅读:
    SHA-256 简介及 C# 和 js 实现【加密知多少系列】
    python 根据两个向量,求的之间的旋转矩阵:
    双一流高校全球通邮经验:Coremail安全海外中继提升科研效率
    跨平台安装Flex、Bison(Windows、Linux、MacOS环境下安装)
    wangEditor小插件快捷开发
    EF Core学习笔记:基本的流程
    天玑科技PBData信创数据库私有云平台荣获“专题展优秀成果奖”
    Spring框架(八):基于xml方式Bean的配置
    Linux华硕笔记本安装ROG Asusctl
    基于Springboot的社区志愿者服务管理系统
  • 原文地址:https://blog.csdn.net/d_eng_/article/details/125392881
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号