当前位置: 首页 > 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/14334316/

相关文章:

  • 凉山建设机械网站企业官方网站需要备案吗
  • 建设局网站管理办法湘潭关键词优化报价
  • 制作网站教学宣传产品网站
  • 手机网站和电脑网站一样吗兴县做网站的公司
  • 绍兴手机网站制作郑州网站建设方案书
  • 定制东莞网站制作公司丽水网站建设
  • 网站后台多个管理员免费一键生成个人网站
  • 有没有接做网站私活的平台扁平化网站设计欣赏
  • 青岛网站设计制作百度举报网站
  • 房地产网站模版成都市城乡建设网站
  • 网站风格设计如何做网络营销推广方案
  • 评测网站做的那些条形图男做基视频网站
  • 电子产品网站建设硬件开发软件有哪些
  • 做网站的收获php网站开发需要学什么软件
  • 济南网站假设推广网络营销是一种什么专业
  • 烟台网站制作厂家电话网站建设需求原型
  • 怎么免费搭建自己的网站有没有做婚车的网站
  • iis7.5搭建网站邯郸市出租房屋信息网
  • 做网站数据存在哪里西安集团网站建设
  • 中国建设劳动学会是正规网站吗怎么在网站做推广和宣传
  • 西安推广网站wordpress teamtalk
  • 涪陵网站建设公司南京网站设计公司兴田德润优惠吗
  • 网站建设客户确认单儿童ppt模板 免费版 可爱
  • 做门用什么网站好wordpress模板标签
  • 成都网站建设成功案例单招网有偿做设计的网站
  • 网络营销教学网站品牌展柜设计制作
  • 网站排名下降了怎么办北京网站搭建开发
  • 不懂技术与产品怎样做网站网页源代码怎么看
  • 怎样用代码做网站中国建设部
  • 网站资质证书微信公众平台视频网站开发