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

酒业公司网站模板抚州网站制作

酒业公司网站模板,抚州网站制作,零基础编程学python,南宁设计公司排行文章目录 介绍IMDB影评情感分析项目数据集项目实现1. 导包2. 加载IMDB数据3. 查看部分数据4. 分词5. 加载数据整合6. 构建模型7. 词嵌入8. 初始化模型和权重9. glove词向量10. 训练和评估11. 预测 个人主页#xff1a;道友老李 欢迎加入社区#xff1a;道友老李的学习社区 介… 文章目录 介绍IMDB影评情感分析项目数据集项目实现1. 导包2. 加载IMDB数据3. 查看部分数据4. 分词5. 加载数据整合6. 构建模型7. 词嵌入8. 初始化模型和权重9. glove词向量10. 训练和评估11. 预测 个人主页道友老李 欢迎加入社区道友老李的学习社区 介绍 **自然语言处理Natural Language ProcessingNLP**是计算机科学领域与人工智能领域中的一个重要方向。它研究的是人类自然语言与计算机之间的交互。NLP的目标是让计算机能够理解、解析、生成人类语言并且能够以有意义的方式回应和操作这些信息。 NLP的任务可以分为多个层次包括但不限于 词法分析将文本分解成单词或标记token并识别它们的词性如名词、动词等。句法分析分析句子结构理解句子中词语的关系比如主语、谓语、宾语等。语义分析试图理解句子的实际含义超越字面意义捕捉隐含的信息。语用分析考虑上下文和对话背景理解话语在特定情境下的使用目的。情感分析检测文本中表达的情感倾向例如正面、负面或中立。机器翻译将一种自然语言转换为另一种自然语言。问答系统构建可以回答用户问题的系统。文本摘要从大量文本中提取关键信息生成简短的摘要。命名实体识别NER识别文本中提到的特定实体如人名、地名、组织名等。语音识别将人类的语音转换为计算机可读的文字格式。 NLP技术的发展依赖于算法的进步、计算能力的提升以及大规模标注数据集的可用性。近年来深度学习方法特别是基于神经网络的语言模型如BERT、GPT系列等在许多NLP任务上取得了显著的成功。随着技术的进步NLP正在被应用到越来越多的领域包括客户服务、智能搜索、内容推荐、医疗健康等。 IMDB影评情感分析 项目数据集 imdb数据集下载地址: http://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz 项目实现 1. 导包 import os import torch from torch import nn import dltools2. 加载IMDB数据 def read_imdb(data_dir, is_train):data, labels [], []for label in (pos, neg):folder_name os.path.join(data_dir, train if is_train else test, label)for file in os.listdir(folder_name):with open(os.path.join(folder_name, file), rb) as f:review f.read().decode(utf-8).replace(\n, )data.append(review)labels.append(1 if label pos else 0)return data, labelsdata_dir rD:\Projects\课程资料\自然语言处理(NLP)\学习\data\aclImdb train_data read_imdb(data_dir, is_trainTrue) print(训练集数目: , len(train_data[0]))训练集数目: 250003. 查看部分数据 for x, y in zip(train_data[0][:3], train_data[1][:3]):print(标签: , y,review: , x[0:60])4. 分词 train_tokens dltools.tokenize(train_data[0], tokenword) vocab dltools.Vocab(train_tokens, min_freq5, reserved_tokens[pad])dltools.set_figsize() dltools.plt.xlabel(# tokens per review) dltools.plt.ylabel(count) dltools.plt.hist([len(line) for line in train_tokens], binsrange(0, 1000, 50))5. 加载数据整合 def load_data_imdb(data_dir, batch_size, num_steps500):train_data read_imdb(data_dir, True)test_data read_imdb(data_dir, False)train_tokens dltools.tokenize(train_data[0], tokenword)test_tokens dltools.tokenize(test_data[0], tokenword)vocab dltools.Vocab(train_tokens, min_freq5, reserved_tokens[pad])train_features torch.tensor([dltools.truncate_pad(vocab[line], num_steps, vocab[pad]) for line in train_tokens])test_features torch.tensor([dltools.truncate_pad(vocab[line], num_steps, vocab[pad]) for line in test_tokens])train_iter dltools.load_array((train_features, torch.tensor(train_data[1])), 64)test_iter dltools.load_array((test_features, torch.tensor(train_data[1])), 64)return train_iter, test_iter, vocabdata_dir rD:\Projects\课程资料\自然语言处理(NLP)\学习\data\aclImdb train_iter, test_iter, vocab load_data_imdb(data_dir, 64, num_steps500)6. 构建模型 前向传播 inputs (batch_size, num_steps) 循环神经网络输入的第一个维度是时间维所以要对inputs做一个转置, 转置之后的形状(num_steps, batch_size)再经过embedding层, 就变成(num_steps, batch_size, embed_size)为了提供内存利用率和效率, 调用flatten_parameters让parameters的数据存放在内存中连续的块中. contiguous返回两个东西: 输出, 上一个隐藏层在不同时间步的隐状态outputs :(num_steps, batch_size, 2 * num_hiddens)连接初始和最终时间步的隐藏状态, 做为全连接的输入. class BiRNN(nn.Module):def __init__(self, vocab_size, embed_size, num_hiddens, num_layers, **kwargs):super().__init__(**kwargs)self.embedding nn.Embedding(vocab_size, embed_size)self.encoder nn.LSTM(embed_size, num_hiddens, num_layersnum_layers, bidirectionalTrue)self.decoder nn.Linear(4 * num_hiddens, 2)def forward(self, inputs):embedding self.embedding(inputs.T)self.encoder.flatten_parameters()outputs, _ self.encoder(embedding)# (batch, 4 * num_hiddens)encoding torch.cat((outputs[0], outputs[-1]), dim1)outs self.decoder(encoding)return outs7. 词嵌入 class TokenEmbedding:def __init__(self, file_path):self.idx_to_token, self.idx_to_vec self._load_embedding(file_path)self.unknown_idx 0self.token_to_idx {token: idx for idx, token in enumerate(self.idx_to_token)}# 加载预训练词向量def _load_embedding(self, file_path):# bos eos unk...idx_to_token, idx_to_vec [unk], []with open(file_path, r, encodingutf-8) as f:for line in f:elems line.rstrip().split( )token, elems elems[0], [float(elem) for elem in elems[1:]]# 跳过fasttext的第一行if len(elems) 1:idx_to_token.append(token)idx_to_vec.append(elems)idx_to_vec [[0] * len(idx_to_vec[0])] idx_to_vecreturn idx_to_token, torch.tensor(idx_to_vec)def __getitem__(self, tokens):indices [self.token_to_idx.get(token, self.unknown_idx) for token in tokens]vecs self.idx_to_vec[torch.tensor(indices)]return vecsdef __len__(self):return len(self.idx_to_token)8. 初始化模型和权重 embed_size, num_hiddens, num_layers 100, 100, 2 devices dltools.try_all_gpus() net BiRNN(len(vocab), embed_size, num_hiddens, num_layers)def init_weights(m):if type(m) nn.Linear:nn.init.xavier_uniform_(m.weight)if type(m) nn.LSTM:for param in m._flat_weights_names:if weight in param:nn.init.xavier_uniform_(m._parameters[param])net.apply(init_weights)BiRNN((embedding): Embedding(49347, 100)(encoder): LSTM(100, 100, num_layers2, bidirectionalTrue)(decoder): Linear(in_features400, out_features2, biasTrue) )9. glove词向量 glove_embedding TokenEmbedding(rD:\Projects\课程资料\自然语言处理(NLP)\学习\data\glove.6B.100d.txt) embeds glove_embedding[vocab.idx_to_token] 10. 训练和评估 net.embedding.weight.data.copy_(embeds) net.embedding.weight.requires_grad False# 训练和评估 lr, num_epochs 0.01, 100 trainer torch.optim.Adam(net.parameters(), lrlr) loss nn.CrossEntropyLoss(reductionnone) dltools.train_ch13(net, train_iter, test_iter, loss, trainer, num_epochs, devices)后面的省略… 11. 预测 def predict_sentiment(net, vocab, sequence):sequence torch.tensor(vocab[sequence.split()], devicedltools.try_gpu())label torch.argmax(net(sequence.reshape(1, -1)), dim1)return positive if label 1 else negativepredict_sentiment(net, vocab, this moive is great) predict_sentiment(net, vocab, this moive is so bad)positive negative
http://www.hkea.cn/news/14343013/

相关文章:

  • 用django做网站上海做网站建设公司
  • 八零云自助建站免费建站平台网页设计与制作前景如何
  • 12380网站建设意见自己做网站需要的技术
  • 中国和住房城乡建设部网站首页外包岗位
  • 青岛做网站哪个最好上海尤安建筑设计股份有限公司
  • 上海有色金属门户网站如何开淘宝店
  • 校园门户网站解决方案网站建立使用方法
  • 企业如何建设自己的网站贪玩传奇世界网页版
  • php 网站建设流程平面广告设计是什么
  • 江苏中兴建设有限公司网站免费的客户管理app
  • 高大上网站建设公司美妆网站设计
  • 建设ftp网站的安全性伊春市网站建设
  • 保健品网站源码wordpress本地手机无法访问
  • 电商网站开发怎么样客户关系管理理论
  • asp网站数据库连接制作手游需要学什么软件
  • 网站建设开标书哪个网站做自媒体比较好
  • 关于网站建设项目的投诉函秦皇岛网站搜索排名
  • 用vue做网站一般用什么组件库有个网站可以接单做设计的
  • 做博客的网站东营网站建设报价
  • 网站空间 虚拟主机php怎么创建网站
  • 湛江网站设计公司360seo优化
  • 网站托管运营天津建设信息网
  • 长春做网站推荐选吉网传媒好wordpress mysql 分表
  • windows优化大师怎么用南阳网站优化
  • 网站建设一条龙服务各类网站排名
  • 企业网站建设实训心得哈尔滨网站制作公司电话
  • 做图素材网站开通会员哪个好手机设计房子的软件
  • 济南地区做公司网站的公司网站建设嘉兴公司电话
  • 室内设计学校哪个好刷神马网站优化排名
  • 免费客户销售管理软件贵阳网站排名优化