深度学习——词嵌入层API应用

前言

"""
案例:
    演示词嵌入层API应用

RNN介绍:
    全称叫Recurrent neural network ,循环神经网络,主要处理 序列数据
    序列数据:后边数据对前边的数据有依赖,例如:天气预测,股市分析,文本生成...
    组成:
        词嵌入层
        循环网络层
        输出层
词嵌入层介绍(作用):
    把词(或者 词对应的索引)转成 词向量
"""

导包

import torch
import jieba
import torch.nn as nn

1. 定义函数,用于演示 词嵌入层的API,如何把 词(词的索引) ——> 词向量

def dm01():
    # 1. 定义一句话
    text = '北京冬奥的进度条已经过半,不少外国运动员在完成自己的比赛后踏上归途。'
    # 2. 使用jieba分词器
    words = jieba.lcut(text)
    print(words)

    # 3. 创建词嵌入层
    # 参1:词表大小(词的个数),参2:词向量的维度
    embed = nn.Embedding(len(words), 4)

    # 4. 获取每个词对象的下标索引.
    i = 0
    # for word in words:
    #     print(i,word)
    #     i += 1

    # 效果同上,enumerate():可以返回列表中每个值 及其对应的 索引
    for i,word in enumerate(words):
        print(i,word)
        # 5. 把词索引(张量形式) 转成 词向量
        word_vector = embed(torch.tensor(i))  # 随机的,每次都不一样,无所谓
        print(f'词:{word},词向量:{word_vector}')

测试

if __name__ == '__main__':
    dm01()
posted @ 2026-07-23 18:00  王新文  阅读(0)  评论(0)    收藏  举报