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

网站建设收费标准行情安卓盒子做网站

网站建设收费标准行情,安卓盒子做网站,龙口网站制作公司,重庆网络推广公司在上一节的情感分类当中#xff0c;有些评论是负面的#xff0c;但预测的结果是正面的#xff0c;比如#xff0c;this movie was shit这部电影是狗屎#xff0c;很明显就是对这部电影极不友好的评价#xff0c;属于负类评价#xff0c;给出的却是positive。…在上一节的情感分类当中有些评论是负面的但预测的结果是正面的比如this movie was shit这部电影是狗屎很明显就是对这部电影极不友好的评价属于负类评价给出的却是positive。 所以这节我们通过专门的“分词”和“扩大词向量维度”这两个途径来改进提高预测的准确率。spaCy分词我们用spaCy分词工具来进行分词看是否能提高准确性。推荐带上镜像站点来下载并安装。pip install spacy -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.comimport spacyspacy.__version__ 3.0.9安装英文包python -m spacy download en这种方法我没有安装成功于是我选择直接下载安装感觉太慢选择迅雷下载https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0-py3-none-any.whl或者pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.0.0/en_core_web_sm-3.0.0-py3-none-any.whl这里选择的是en_core_web_sm语言包所以也可以直接选择豆瓣镜像下载《推荐这种方法》pip install en_core_web_sm-3.0.0-py3-none-any.whl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com安装好之后就可以通过spacy来加载这个英文包spacy_en spacy.load(en_core_web_sm)spacy_en._path WindowsPath(D:/Anaconda3/envs/pygpu/lib/site-packages/en_core_web_sm/en_core_web_sm-3.0.0)然后进行分词将上一节或者说自带的get_tokenized_imdb函数修改下使用修改的这个函数def get_tokenized_imdb(data):def tokenizer(text):return [tok.text for tok in spacy_en.tokenizer(text)]return [tokenizer(review) for review, _ in data]我们训练看下效果如何print(d2l.predict_sentiment(net, vocab, [this, movie, was, shit])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, not, good])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, so, bad]))training on [gpu(0)] epoch 1, loss 0.5781, train acc 0.692, test acc 0.781, time 66.0 sec epoch 2, loss 0.4024, train acc 0.822, test acc 0.839, time 65.4 sec epoch 3, loss 0.3465, train acc 0.852, test acc 0.844, time 65.6 sec epoch 4, loss 0.3227, train acc 0.861, test acc 0.856, time 65.9 sec epoch 5, loss 0.2814, train acc 0.880, test acc 0.859, time 66.2 sec negative positive negative 可以看到准确率有提高而且第一条影评在上一节预测是positive这里预测为negative正确识别了这条影评的负类评价。第二条影评的预测错误了说明没有识别出not good属于负类评价接下来我们再叠加一个方法来提高准确率。300维度的词向量我们将预处理文件的词向量从100维度提高到300维度看下准确度有没有上升也就是选择glove.6B.300d.txt来替换glove.6B.100d.txtglove_embedding text.embedding.create(glove, pretrained_file_nameglove.6B.300d.txt, vocabularyvocab )选择更高维度的词向量文档之后我们做下训练测试看下print(d2l.predict_sentiment(net, vocab, [this, movie, was, shit])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, not, good])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, so, bad])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, so, good]))training on [gpu(0)] epoch 1, loss 0.5186, train acc 0.734, test acc 0.842, time 74.7 sec epoch 2, loss 0.3411, train acc 0.854, test acc 0.862, time 74.8 sec epoch 3, loss 0.2851, train acc 0.884, test acc 0.863, time 75.6 sec epoch 4, loss 0.2459, train acc 0.903, test acc 0.843, time 75.3 sec epoch 5, loss 0.2099, train acc 0.917, test acc 0.853, time 75.8 sec negative negative negative positive 准确度再次有了提升四条影评都被正确识别了情绪。全部代码import collections import d2lzh as d2l from mxnet import gluon, init, nd from mxnet.contrib import text from mxnet.gluon import data as gdata, loss as gloss, nn, rnn import spacy#spacy_en spacy.load(en) spacy_en spacy.load(en_core_web_sm)def get_tokenized_imdb(data):def tokenizer(text):return [tok.text for tok in spacy_en.tokenizer(text)]return [tokenizer(review) for review, _ in data]def get_vocab_imdb(data):Get the vocab for the IMDB data set for sentiment analysis.tokenized_data get_tokenized_imdb(data)counter collections.Counter([tk for st in tokenized_data for tk in st])return text.vocab.Vocabulary(counter, min_freq5, reserved_tokens[pad])# d2l.download_imdb(data_dirdata) train_data, test_data d2l.read_imdb(train), d2l.read_imdb(test) tokenized_data get_tokenized_imdb(train_data) vocab get_vocab_imdb(train_data) features, labels d2l.preprocess_imdb(train_data, vocab) batch_size 64 # train_set gdata.ArrayDataset(*d2l.preprocess_imdb(train_data, vocab)) train_set gdata.ArrayDataset(*[features, labels]) test_set gdata.ArrayDataset(*d2l.preprocess_imdb(test_data, vocab)) train_iter gdata.DataLoader(train_set, batch_size, shuffleTrue) test_ieter gdata.DataLoader(test_set, batch_size) for X,y in train_iter:print(X.shape,y.shape)break class BiRNN(nn.Block):def __init__(self, vocab, embed_size, num_hiddens, num_layers, **kwargs):super(BiRNN, self).__init__(**kwargs)# 词嵌入层self.embedding nn.Embedding(input_dimlen(vocab), output_dimembed_size)# bidirectional设为True就是双向循环神经网络self.encoder rnn.LSTM(hidden_sizenum_hiddens,num_layersnum_layers,bidirectionalTrue,input_sizeembed_size,)self.decoder nn.Dense(2)def forward(self, inputs):# LSTM需要序列长度(词数)作为第一维所以inputs[形状为(批量大小,词数)]需做转置# 输出就是(词数,批量大小,词向量维度)(500, 64, 100)-全连接层之后的形状(5,1,100)embeddings self.embedding(inputs.T)# 双向循环所以乘以2(词数,批量大小,词向量维度*2)(500, 64, 200)-全连接层之后的形状(5,1,200)outputs self.encoder(embeddings)# 将初始时间步和最终时间步的隐藏状态作为全连接层输入# (64, 400)-全连接层之后的形状(1,400)encoding nd.concat(outputs[0], outputs[-1])outs self.decoder(encoding)return outs# 创建一个含2个隐藏层的双向循环神经网络 embed_size, num_hiddens, num_layers, ctx 300, 100, 2, d2l.try_all_gpus() net BiRNN(vocabvocab, embed_sizeembed_size, num_hiddensnum_hiddens, num_layersnum_layers ) net.initialize(init.Xavier(), ctxctx)glove_embedding text.embedding.create(glove, pretrained_file_nameglove.6B.300d.txt, vocabularyvocab ) net.embedding.weight.set_data(glove_embedding.idx_to_vec) net.embedding.collect_params().setattr(grad_req, null)lr, num_epochs 0.01, 5 trainer gluon.Trainer(net.collect_params(), adam, {learning_rate: lr}) loss gloss.SoftmaxCrossEntropyLoss() d2l.train(train_iter, test_ieter, net, loss, trainer, ctx, num_epochs)print(d2l.predict_sentiment(net, vocab, [this, movie, was, shit])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, not, good])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, so, bad])) print(d2l.predict_sentiment(net, vocab, [this, movie, is, so, good]))其中需要注意的是embed_size的大小需设定为300跟新选择的文件的词向量维度保持一致。小结从目前实验结果来看对词语的分词做的更好对于理解词义是很有帮助的另外将词映射成的向量维度越高准确度也在提升。
http://www.hkea.cn/news/14375359/

相关文章:

  • 网站色调阿里网站备案寄材料
  • 重庆专业做淘宝网站四级作文模板万能
  • 网站建站网站299266co找公司做网站要注意什么问题
  • 百度站内搜索提升关键词排名做网站免费模板怎么上传到空间
  • 怎么建网站免费的网站建设对于学校的重要性
  • 云平台网站建设工业信息部网站备案
  • 文创产品设计网站推荐天津企业如何建网站
  • 丰台成都网站建设cps网站建设
  • 艺客网站首页当今网站开发技术的现状
  • 网站建设品牌策wordpress做个游戏
  • 网站图片360度旋转怎么做的wordpress商品导出淘宝
  • 武进网站建设信息网站视频大全
  • 打不开住房和城乡建设部网站wordpress 站内搜索
  • 天津手机网站制作网站建设教程金旭亮
  • 丽水市住房和城建建设局网站网站工作和网站建设管理工作
  • 网站建设与规划试卷做网站怎么把导航每个页面都有
  • 那个网站都有做莱的图片win7优化大师官方网站
  • php企业网站建设小米路由器做网站
  • 蜘蛛云建站网站微信网站建设新闻
  • 如何建设vr网站网站怎么可以被收录
  • 投教网站建设百度搜索热度查询
  • 网站建设合作流程图芜湖做网站设计的公司
  • 给别人做网站要问什么问题哪个网站可以做体育主播
  • 个人免费注册公司网站网站icp证明
  • 农业做的好的网站wordpress附件上传云
  • 网页设计与网站建设项目教程什么是网站维护费
  • 更改网站伪静态深圳市住房和建设局地址
  • 目前网站开发怎么兼顾手机岳阳网站网站建设
  • 医院网站如何建立商城网站建设精英
  • 公司网站标题优化免费网络爬虫网站