IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 《Word2vec》1 模型的引入介绍与相关概念 -> 正文阅读

[人工智能]《Word2vec》1 模型的引入介绍与相关概念

一 、Word2Vec模型的背景引入

1.1 One-hot模型

One-hot模型是是用N位的状态寄存器对N个状态进行编码
在这里插入图片描述
如下所示,是有4个样本,每个样本都有三个特征,特征1表示当前样本的性别。

我们喂给算法怎么样的数据,算法就会给我们一个怎么样的结果。

假设如果用1表示女性,2表示男性。那么将相当于还没有进行算法的计算的时候,已经有数据的倾向性,间接认为男性比女性重要。如果我们用这种带着偏见的数据,喂给模型,那么模型也会认为男性比女性重要。所以这样的数据会很大因素影响最后的预测结果。这是我们不希望看到的。

所以我们就需要对这样的数据进行改进,让每个一个数据的重要性都一致。就可以进行One-Hot的编码。

N个寄存器,表示当前数据的N个状态,不同的位置表示不同的状态, 这样就表示数据之间的重要性是一致的,如下所示。
在这里插入图片描述
优缺点分析:
在这里插入图片描述
通过One-Hot 模型确实会,解决数据过于离散的问题,并且会扩充特征,但是同时也会带来维度灾难的问题。
在这里插入图片描述

1.2 One-Hot编码的手动实现

import numpy as np

samples = ['我 毕业 于 北京理工大学','我 就职 于 中国 研究院']
#构建字典索引
token_index = {}
for sample in samples:
    for word in sample.split():
        if word not in token_index:
            token_index[word] = len(token_index) + 1
print(token_index)
#对每个词进行编号


results = np.zeros(shape = (len(samples),len(token)+1,max(token_index.values()) +1 )

for i, sample in enumerate(samples):
    for j, word in list(enumerate(sample.split())):
        index = token_index.get(word)
        print(j,index,word)
        results[i,j,index] = 1

print(result)

fi_results = np.zeros(shape=(len(samples), max(token_index.values())+1))
for i, sample in enumerate(samples):
    for _,word in list(enumerate(sample.split())):
        index = token_index.get(word)
        fi_results[i,index] = 1

print(fi_results)

array([[[0., 1., 0., 0., 0., 0., 0.],
[0., 0., 1., 0., 0., 0., 0.],
[0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.]],
[[0., 1., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 1., 0.],
[0., 0., 0., 1., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 1.],
[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0.]]])
array([[0., 1., 1., 1., 1., 0., 0.],
[0., 1., 0., 1., 0., 1., 1.]])

1.3 Keras中one-hot编码的实现

from keras.preprocessing.text import Tokenizer

samples = ['我 毕业 于 北京理工大学','我 就职 于 中科院']

#构建单词索引
tokenizer = Tokenizer()
tokenizer.fit_on_texts(samples)
word_index = tokenizer.word_index
print(word_index)
print(len(word_index))

sequences = tokenizer.texts_to_sequences(samples)
print(sequences)

#直接构建one-hot
one_hot_results = tokenizer.texts_to_matrix(samples)
print(one_hot_results)

[[ 0. 1. 1. 1. 1. 0. 0.]
[ 0. 1. 1. 0. 0. 1. 1.]]

2. Word2vec的相关概念与知识

2.1 Word2vec介绍

Word2Vec的作者的相关文章

在这里插入图片描述

我们希望引入一个模型,能后减小表示每个词的维度,并且可以将每个词的相互的关系也能表达出来。

就引入了词向量,把所以的词放在一个向量空间当中。
在这里插入图片描述
将每个词从一个非常稀疏的向量空间,嵌入到一个向量空间,这个过程就是词嵌入的过程。
在这里插入图片描述
Word2Vec的注意点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 Sigmoid函数与Softmax函数

Sigmoid函数

将取值范围映射到0,1区间的一个功能函数
在这里插入图片描述
定义域和值域
在这里插入图片描述

Softmax函数

实现将向量中所以的元素归一化为一个概率分布,向量中所有的元素取值范围在0,1,之间,且或有元素的和为1,相当与一个归一化。
在这里插入图片描述

2.3 二叉树相关概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
树1,按层次编号5结点没有左子树,有右子树,10结点缺失。树2由于3结点没有字数,是的6,7位置空挡了。树3中结点5没有子树。

在这里插入图片描述
在这里插入图片描述

2.4 哈夫曼树Huffman

路径长度就是,从根结点往下走的路径长值

结点的权,是指的是给结点赋予一个权重

带权路径长度是指的是从路径长度与节点的权的乘积之和。

哈夫曼树就是帯权路径长度最小的二叉树
在这里插入图片描述
哈夫曼树的构建过程,即为要选中权重最小的两个节点,将这两个节点进行合并,逐步重下向上何必,最终只剩下一棵树。
构建出来的哈夫曼二叉树,权重值越大的离根节点,越近,权重值越小,就离根节点越远。

2.5 哈夫曼编码

在信息通信领域哈夫曼编码的使用

等长编码,对于哪些不经常使用的字符,就会造成浪费,所以需要一个不等长的编码,进行优化整个流程。
在这里插入图片描述
将每个字符的出现频率作权重,将编码问题转为哈夫曼树问题。
在这里插入图片描述

文本领域的哈夫曼编码

在这里插入图片描述

三、语言模型

3.1 经典语言模型

什么是语言模型,简单是说语言模型就用来计算一个句子的概率模型,也就是用来判断是否是人话的概率。
在这里插入图片描述
句子S的概率,展开为其中词的出现条件概率的乘积
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 神经网络语言模型

在这里插入图片描述
由于文本库的有限性,N-gram不能解决文本中,词之间的相似性。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:10:15  更:2022-04-06 23:14:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 11:39:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码