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

网站做游戏活动动易 网站首页

网站做游戏活动,动易 网站首页,如何用免费个人网站制作,wordpress q8hpkpython-pytorch使用日志 1. optimizer.zero_grad()和model.zero_grad()的区别2. cbow和skip-gram的训练数据格式3. 获取cbow和skip-gram训练后的中文词向量4. 获取到词向量后可以做什么5. 余弦相似度结果的解释 1. optimizer.zero_grad()和model.zero_grad()的区别 都是清空模… python-pytorch使用日志 1. optimizer.zero_grad()和model.zero_grad()的区别2. cbow和skip-gram的训练数据格式3. 获取cbow和skip-gram训练后的中文词向量4. 获取到词向量后可以做什么5. 余弦相似度结果的解释 1. optimizer.zero_grad()和model.zero_grad()的区别 都是清空模型的梯度参数如果模型中有多个model训练时建议使用model.zero_grad()如果只有一个模型训练optimizer.zero_grad()和model.zero_grad()意义都一样 2. cbow和skip-gram的训练数据格式 cbow格式 data1 [] for i in range(2, len(raw_text) - 2):context [raw_text[i - 2], raw_text[i - 1],raw_text[i 1], raw_text[i 2]]target raw_text[i]data1.append((context, target))cbow最终格式 [([‘从零开始’, ‘Zookeeper’, ‘高’, ‘可靠’], ‘开源’), ([‘Zookeeper’, ‘开源’, ‘可靠’, ‘分布式’], ‘高’), ([‘开源’, ‘高’, ‘分布式’, ‘一致性’], ‘可靠’), ([‘高’, ‘可靠’, ‘一致性’, ‘协调’], ‘分布式’), ([‘可靠’, ‘分布式’, ‘协调’, ‘服务’], ‘一致性’)] skip-gram格式 data3 [] window_size12 for i,word in enumerate(raw_text):target raw_text[i]contextsraw_text[max(i - window_size1, 0): min(i window_size1 1, len(raw_text))]for context in contexts:if target!context:data3.append((context,target)) data3,len(data3)或者类似于def create_skipgram_dataset(sentences, window_size4):data [] # 初始化数据for sentence in sentences: # 遍历句子sentence sentence.split() # 将句子分割成单词列表for idx, word in enumerate(sentence): # 遍历单词及其索引# 获取相邻的单词将当前单词前后各 N 个单词作为相邻单词for neighbor in sentence[max(idx - window_size, 0): min(idx window_size 1, len(sentence))]:if neighbor ! word: # 排除当前单词本身# 将相邻单词与当前单词作为一组训练数据data.append((neighbor, word))return dataskip-gram最终格式 ([(‘Zookeeper’, ‘从零开始’), (‘开源’, ‘从零开始’), (‘从零开始’, ‘Zookeeper’), (‘开源’, ‘Zookeeper’), (‘高’, ‘Zookeeper’), (‘从零开始’, ‘开源’), (‘Zookeeper’, ‘开源’), (‘高’, ‘开源’), (‘可靠’, ‘开源’), (‘Zookeeper’, ‘高’), (‘开源’, ‘高’), (‘可靠’, ‘高’), (‘分布式’, ‘高’), (‘开源’, ‘可靠’)] 3. 获取cbow和skip-gram训练后的中文词向量 前提是需要使用中文去训练搭建的模型可以参考 https://blog.csdn.net/Metal1/article/details/132886936 https://blog.csdn.net/L_goodboy/article/details/136347947 如果使用pytorch的Embeding的模型获取的就是embeding层 class SkipGramModel(nn.Module):def __init__(self, vocab_size, embedding_dim):super(SkipGramModel, self).__init__()self.embedding nn.Embedding(vocab_size, embedding_dim)self.linear nn.Linear(embedding_dim, vocab_size)def forward(self, center_word):embedded self.embedding(center_word)output self.linear(embedded)输出每个词的嵌入向量 for word, idx in word_to_idx.items(): print(f{word}: {model.embedding.weight[:,idx].detach().numpy()})如果使用原生的写的模型获取的就是第一层的线性层 import torch.nn as nn # 导入 neural network class SkipGram(nn.Module):def __init__(self, voc_size, embedding_size):super(SkipGram, self).__init__()# 从词汇表大小到嵌入层大小维度的线性层权重矩阵self.input_to_hidden nn.Linear(voc_size, embedding_size, biasFalse) # 从嵌入层大小维度到词汇表大小的线性层权重矩阵self.hidden_to_output nn.Linear(embedding_size, voc_size, biasFalse) def forward(self, X): # 前向传播的方式X 形状为 (batch_size, voc_size) # 通过隐藏层hidden 形状为 (batch_size, embedding_size)hidden self.input_to_hidden(X) # 通过输出层output_layer 形状为 (batch_size, voc_size)output self.hidden_to_output(hidden) return output 输出每个词的嵌入向量 for word, idx in word_to_idx.items(): print(f{word}: {model.input_to_hidden .weight[:,idx].detach().numpy()})4. 获取到词向量后可以做什么 “具有相同上下文的词语包含相似的语义”使得语义相近的词在映射到欧式空间后中具有较高的余弦相似度。 语义相似性度量词向量能够将语义上相近的词映射到向量空间中相近的位置。因此可以通过计算两个词向量的余弦相似度或欧氏距离来度量它们之间的语义相似性。这在诸如词义消歧、同义词替换等任务中非常有用。 文本分类与情感分析在文本分类任务如新闻分类、电影评论情感分析中词向量可以作为特征输入到分类器中。通过将文本中的每个词表示为向量并聚合这些向量例如通过取平均值或求和可以得到整个文本的向量表示进而用于分类或情感分析。 命名实体识别在命名实体识别NER任务中词向量可以帮助模型识别文本中的特定类型实体如人名、地名、组织机构名等。通过将词向量与序列标注模型如BiLSTM-CRF结合使用可以提高NER的性能。 问答系统在问答系统中词向量可以用于表示问题和答案的语义信息。通过计算问题和答案的词向量之间的相似度可以找出与问题最匹配的答案。 机器翻译在机器翻译任务中词向量可以用于捕捉源语言和目标语言之间的语义对应关系。通过训练跨语言的词向量表示如跨语言词嵌入可以实现更准确的翻译结果。 文本生成在文本生成任务如文本摘要、对话生成等中词向量可以作为生成模型的输入或隐层表示。通过利用词向量中的语义信息模型可以生成更自然、更相关的文本内容。 知识图谱与实体链接在知识图谱构建和实体链接任务中词向量可以用于表示实体和概念之间的语义关系。通过将实体和概念映射到向量空间可以方便地进行实体识别和关系推理。 5. 余弦相似度结果的解释 余弦相似度的结果范围通常在-1到1之间这个范围可以用来解释两个向量之间的相似程度 值为1当余弦相似度为1时表示两个向量完全重合即它们指向的方向完全相同这意味着两个向量代表的文本或概念在语义上几乎完全相同。 值为-1当余弦相似度为-1时表示两个向量完全相反即它们指向的方向完全相反。在文本相似度的上下文中这通常意味着两个文本在语义上非常对立或相反。 值为0当余弦相似度为0时表示两个向量正交即它们之间的夹角为90度。在文本相似度的语境中这通常意味着两个文本在语义上没有直接的联系或相似性。 值在0到1之间当余弦相似度在0和1之间时表示两个向量之间的夹角小于90度但不完全重合。数值越接近1表示两个向量在方向上的相似性越高即两个文本在语义上的相似性越高。 值在-1到0之间当余弦相似度在-1和0之间时表示两个向量之间的夹角大于90度但小于180度。数值越接近-1表示两个向量在方向上的对立性越高即两个文本在语义上的对立性越高 如 其中trained_vector_dic是通过模型获取的词向量字典 余弦相似度 trained_vector_dic{} for word, idx in word_to_idx.items(): # 输出每个词的嵌入向量trained_vector_dic[word]model.embedding.weight[idx]import torch import torch.nn.functional as F cosine_similarity1 F.cosine_similarity(torch.tensor(trained_vector_dic[保持数据].unsqueeze(0)), torch.tensor(trained_vector_dic[打印信息]).unsqueeze(0)) print(cosine_similarity1)结果如下表名不相似 tensor([-0.0029])点积相似度 dot_product torch.dot(torch.tensor(trained_vector_dic[保持数据]), torch.tensor(trained_vector_dic[打印信息])) x_length torch.norm(torch.tensor(trained_vector_dic[保持数据])) y_length torch.norm(torch.tensor(trained_vector_dic[打印信息])) similarity dot_product / (x_length * y_length) print(similarity)结果如下表名不相似与余弦结果一致 tensor([-0.0029])
http://www.hkea.cn/news/14411514/

相关文章:

  • 网站备案 年审wordpress建企业门户
  • 网络运维和网站开发哪个好大理州城乡建设局官方网站
  • 机票网站手机版建设文字logo免费设计在线生成
  • 易班班级网站建设展示PPT企业信息化建设方案 网站
  • 新建网站注意事项广州推广网站
  • 雄县网站建设公司谷歌seo网站推广
  • 做课件可赚钱的网站中国房地产行情分析
  • 有免费的微网站制作吗专业做网站设计
  • 建一个大型网站多少钱未备案域名
  • 怎样用模板做网站孩子学编程最佳年龄
  • 网站这么做优化大连建设监察执法网站
  • php网站建设流程平面广告怎么做
  • 做脚本从网站引流静态做头像的网站
  • 石家庄网站建设登录网站公共模板是什么
  • 网站开发网络课程站长源码论坛
  • 贵阳市建设厅官方网站wordpress只能看主页
  • 国外网站兼职做效果图上海公司注册地址可以是住宅吗
  • 详细论述制作网站的步骤秦皇岛网站建设汉狮怎么样
  • 建设眼镜网站风格外贸网站图片素材
  • 大连免费网站制作团队建设思路和方案
  • 工程信息网站哪家做的较好深圳vi设计多少钱
  • 茂名公司网站设计团队网站的优化与网站建设有关吗
  • 网站建设首保服务免费查公司信息
  • 淘宝网站建设流程金水区网站建设
  • 制作网站公司网址谷歌外链工具
  • 深圳网站建制作有网站吗给一个
  • 建设投资公司网站百度竞价开户渠道
  • 免费网站备案怎么上网做网站
  • 网页制作和网站建设同城推广平台有哪些
  • 建设网站所需材料计算机网络专业主要学什么