色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

PyTorch教程-16.1. 情緒分析和數據集

jf_pJlTbmA9 ? 來源:PyTorch ? 作者:PyTorch ? 2023-06-05 15:44 ? 次閱讀

隨著在線社交媒體和評論平臺的激增,大量的意見數據被記錄下來,具有支持決策過程的巨大潛力。情感分析研究人們在其生成的文本中的情感,例如產品評論、博客評論和論壇討論。它在政治(例如,公眾對政策的情緒分析)、金融(例如,市場情緒分析)和市場營銷(例如,產品研究和品牌管理)等領域有著廣泛的應用。

由于情緒可以被分類為離散的極性或尺度(例如,積極和消極),我們可以將情緒分析視為文本分類任務,它將可變長度的文本序列轉換為固定長度的文本類別。在本章中,我們將使用斯坦福的大型電影評論數據集進行情感分析。它由一個訓練集和一個測試集組成,其中包含從 IMDb 下載的 25000 條電影評論。在這兩個數據集中,“正面”和“負面”標簽的數量相等,表明不同的情緒極性。

import os
import torch
from torch import nn
from d2l import torch as d2l

import os
from mxnet import np, npx
from d2l import mxnet as d2l

npx.set_np()

16.1.1。讀取數據集

首先,在路徑中下載并解壓這個 IMDb 評論數據集 ../data/aclImdb。

#@save
d2l.DATA_HUB['aclImdb'] = (d2l.DATA_URL + 'aclImdb_v1.tar.gz',
             '01ada507287d82875905620988597833ad4e0903')

data_dir = d2l.download_extract('aclImdb', 'aclImdb')

Downloading ../data/aclImdb_v1.tar.gz from http://d2l-data.s3-accelerate.amazonaws.com/aclImdb_v1.tar.gz...

#@save
d2l.DATA_HUB['aclImdb'] = (d2l.DATA_URL + 'aclImdb_v1.tar.gz',
             '01ada507287d82875905620988597833ad4e0903')

data_dir = d2l.download_extract('aclImdb', 'aclImdb')

Downloading ../data/aclImdb_v1.tar.gz from http://d2l-data.s3-accelerate.amazonaws.com/aclImdb_v1.tar.gz...

接下來,閱讀訓練和測試數據集。每個示例都是評論及其標簽:1 表示“正面”,0 表示“負面”。

#@save
def read_imdb(data_dir, is_train):
  """Read the IMDb review dataset text sequences and labels."""
  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, labels

train_data = read_imdb(data_dir, is_train=True)
print('# trainings:', len(train_data[0]))
for x, y in zip(train_data[0][:3], train_data[1][:3]):
  print('label:', y, 'review:', x[:60])

# trainings: 25000
label: 1 review: Henry Hathaway was daring, as well as enthusiastic, for his
label: 1 review: An unassuming, subtle and lean film, "The Man in the White S
label: 1 review: Eddie Murphy really made me laugh my ass off on this HBO sta

#@save
def read_imdb(data_dir, is_train):
  """Read the IMDb review dataset text sequences and labels."""
  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, labels

train_data = read_imdb(data_dir, is_train=True)
print('# trainings:', len(train_data[0]))
for x, y in zip(train_data[0][:3], train_data[1][:3]):
  print('label:', y, 'review:', x[:60])

# trainings: 25000
label: 1 review: Henry Hathaway was daring, as well as enthusiastic, for his
label: 1 review: An unassuming, subtle and lean film, "The Man in the White S
label: 1 review: Eddie Murphy really made me laugh my ass off on this HBO sta

16.1.2。預處理數據集

將每個單詞視為一個標記并過濾掉出現次數少于 5 次的單詞,我們從訓練數據集中創建了一個詞匯表。

train_tokens = d2l.tokenize(train_data[0], token='word')
vocab = d2l.Vocab(train_tokens, min_freq=5, reserved_tokens=[''])

train_tokens = d2l.tokenize(train_data[0], token='word')
vocab = d2l.Vocab(train_tokens, min_freq=5, reserved_tokens=[''])

標記化后,讓我們繪制以標記為單位的評論長度直方圖。

d2l.set_figsize()
d2l.plt.xlabel('# tokens per review')
d2l.plt.ylabel('count')
d2l.plt.hist([len(line) for line in train_tokens], bins=range(0, 1000, 50));

pYYBAGR9PJGAVpMAAADxspcG71s604.svg

d2l.set_figsize()
d2l.plt.xlabel('# tokens per review')
d2l.plt.ylabel('count')
d2l.plt.hist([len(line) for line in train_tokens], bins=range(0, 1000, 50));

pYYBAGR9PJGAVpMAAADxspcG71s604.svg

正如我們所料,評論的長度各不相同。為了每次處理一小批此類評論,我們將每個評論的長度設置為 500,并進行截斷和填充,這類似于第 10.5 節中機器翻譯數據集的預處理 步驟。

num_steps = 500 # sequence length
train_features = torch.tensor([d2l.truncate_pad(
  vocab[line], num_steps, vocab['']) for line in train_tokens])
print(train_features.shape)

torch.Size([25000, 500])

num_steps = 500 # sequence length
train_features = np.array([d2l.truncate_pad(
  vocab[line], num_steps, vocab['']) for line in train_tokens])
print(train_features.shape)

(25000, 500)

16.1.3。創建數據迭代器

現在我們可以創建數據迭代器。在每次迭代中,返回一小批示例。

train_iter = d2l.load_array((train_features, torch.tensor(train_data[1])), 64)

for X, y in train_iter:
  print('X:', X.shape, ', y:', y.shape)
  break
print('# batches:', len(train_iter))

X: torch.Size([64, 500]) , y: torch.Size([64])
# batches: 391

train_iter = d2l.load_array((train_features, train_data[1]), 64)

for X, y in train_iter:
  print('X:', X.shape, ', y:', y.shape)
  break
print('# batches:', len(train_iter))

X: (64, 500) , y: (64,)
# batches: 391

16.1.4。把它們放在一起

最后,我們將上述步驟包裝到函數中load_data_imdb。它返回訓練和測試數據迭代器以及 IMDb 評論數據集的詞匯表。

#@save
def load_data_imdb(batch_size, num_steps=500):
  """Return data iterators and the vocabulary of the IMDb review dataset."""
  data_dir = d2l.download_extract('aclImdb', 'aclImdb')
  train_data = read_imdb(data_dir, True)
  test_data = read_imdb(data_dir, False)
  train_tokens = d2l.tokenize(train_data[0], token='word')
  test_tokens = d2l.tokenize(test_data[0], token='word')
  vocab = d2l.Vocab(train_tokens, min_freq=5)
  train_features = torch.tensor([d2l.truncate_pad(
    vocab[line], num_steps, vocab['']) for line in train_tokens])
  test_features = torch.tensor([d2l.truncate_pad(
    vocab[line], num_steps, vocab['']) for line in test_tokens])
  train_iter = d2l.load_array((train_features, torch.tensor(train_data[1])),
                batch_size)
  test_iter = d2l.load_array((test_features, torch.tensor(test_data[1])),
                batch_size,
                is_train=False)
  return train_iter, test_iter, vocab

#@save
def load_data_imdb(batch_size, num_steps=500):
  """Return data iterators and the vocabulary of the IMDb review dataset."""
  data_dir = d2l.download_extract('aclImdb', 'aclImdb')
  train_data = read_imdb(data_dir, True)
  test_data = read_imdb(data_dir, False)
  train_tokens = d2l.tokenize(train_data[0], token='word')
  test_tokens = d2l.tokenize(test_data[0], token='word')
  vocab = d2l.Vocab(train_tokens, min_freq=5)
  train_features = np.array([d2l.truncate_pad(
    vocab[line], num_steps, vocab['']) for line in train_tokens])
  test_features = np.array([d2l.truncate_pad(
    vocab[line], num_steps, vocab['']) for line in test_tokens])
  train_iter = d2l.load_array((train_features, train_data[1]), batch_size)
  test_iter = d2l.load_array((test_features, test_data[1]), batch_size,
                is_train=False)
  return train_iter, test_iter, vocab

16.1.5。概括

情感分析研究人們在其生成的文本中的情感,這被認為是將變長文本序列轉換為固定長度文本類別的文本分類問題。

預處理后,我們可以將斯坦福的大型電影評論數據集(IMDb 評論數據集)加載到帶有詞匯表的數據迭代器中。

16.1.6。練習

我們可以修改本節中的哪些超參數來加速訓練情緒分析模型?

你能實現一個函數來將亞馬遜評論的數據集加載到數據迭代器和標簽中以進行情感分析嗎?

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據集
    +關注

    關注

    4

    文章

    1208

    瀏覽量

    24740
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13252
收藏 人收藏

    評論

    相關推薦

    高階API構建模型和數據使用

    了TensorFlow2.0Beta版本,同pytorch一樣支持動態執行(TensorFlow2.0默認eager模式,無需啟動會話執行計算圖),同時刪除了雜亂低階API,使用高階API簡單地構建復雜神經網絡模型,本文主要分享用高階API構建模型和數據
    發表于 11-04 07:49

    在機智云上創建項目和數據

    一、基于STM32+ESP8266+機智云的物聯網demo1、在機智云上創建項目和數據2、WIFI模塊燒寫固件3、移植到MCU上①、在STM32上移植②、在IMX6ULL上移植1、在機智云上創建
    發表于 08-03 07:45

    Rough和數據挖掘應用于案件綜合分析

    在檢察機關中,對大量同類案件進行綜合分析并挖掘出有益知識,這對有效預防同類案件的發生具有重要的現實意義。簡要介紹了Rough 理論和數據挖掘的基本概念和相關技術;
    發表于 01-15 14:26 ?8次下載

    基于PLSA模型的群體情緒演進分析

    針對群體情緒演進分析中話題內容挖掘及其對應群體情緒分析兩個層面的難題,提出了一種基于概率潛在語義分析(PLSA)模型的群體
    發表于 12-30 17:16 ?0次下載
    基于PLSA模型的群體<b class='flag-5'>情緒</b>演進<b class='flag-5'>分析</b>

    利用Python和PyTorch處理面向對象的數據

    本篇是利用 Python 和 PyTorch 處理面向對象的數據系列博客的第 2 篇。 如需閱讀第 1 篇:原始數據和數據
    的頭像 發表于 08-25 15:30 ?3001次閱讀

    利用 Python 和 PyTorch 處理面向對象的數據(2)) :創建數據對象

    本篇是利用 Python 和 PyTorch 處理面向對象的數據系列博客的第 2 篇。我們在第 1 部分中已定義 MyDataset 類,現在,讓我們來例化 MyDataset 對象,此可迭代對象是與原始
    的頭像 發表于 08-02 17:35 ?942次閱讀
    利用 Python 和 <b class='flag-5'>PyTorch</b> 處理面向對象的<b class='flag-5'>數據</b><b class='flag-5'>集</b>(2)) :創建<b class='flag-5'>數據</b><b class='flag-5'>集</b>對象

    PyTorch教程4.2之圖像分類數據

    電子發燒友網站提供《PyTorch教程4.2之圖像分類數據.pdf》資料免費下載
    發表于 06-05 15:41 ?0次下載
    <b class='flag-5'>PyTorch</b>教程4.2之圖像分類<b class='flag-5'>數據</b><b class='flag-5'>集</b>

    PyTorch教程10.5之機器翻譯和數據

    電子發燒友網站提供《PyTorch教程10.5之機器翻譯和數據.pdf》資料免費下載
    發表于 06-05 15:14 ?0次下載
    <b class='flag-5'>PyTorch</b>教程10.5之機器翻譯<b class='flag-5'>和數據</b><b class='flag-5'>集</b>

    PyTorch教程14.6之對象檢測數據

    電子發燒友網站提供《PyTorch教程14.6之對象檢測數據.pdf》資料免費下載
    發表于 06-05 11:23 ?0次下載
    <b class='flag-5'>PyTorch</b>教程14.6之對象檢測<b class='flag-5'>數據</b><b class='flag-5'>集</b>

    PyTorch教程14.9之語義分割和數據

    電子發燒友網站提供《PyTorch教程14.9之語義分割和數據.pdf》資料免費下載
    發表于 06-05 11:10 ?0次下載
    <b class='flag-5'>PyTorch</b>教程14.9之語義分割<b class='flag-5'>和數據</b><b class='flag-5'>集</b>

    PyTorch教程15.9之預訓練BERT的數據

    電子發燒友網站提供《PyTorch教程15.9之預訓練BERT的數據.pdf》資料免費下載
    發表于 06-05 11:06 ?0次下載
    <b class='flag-5'>PyTorch</b>教程15.9之預訓練BERT的<b class='flag-5'>數據</b><b class='flag-5'>集</b>

    PyTorch教程16.1情緒分析和數據

    電子發燒友網站提供《PyTorch教程16.1情緒分析和數據.pdf》資料免費下載
    發表于 06-05 10:54 ?0次下載
    <b class='flag-5'>PyTorch</b>教程<b class='flag-5'>16.1</b>之<b class='flag-5'>情緒</b><b class='flag-5'>分析</b><b class='flag-5'>和數據</b><b class='flag-5'>集</b>

    PyTorch教程16.4之自然語言推理和數據

    電子發燒友網站提供《PyTorch教程16.4之自然語言推理和數據.pdf》資料免費下載
    發表于 06-05 10:57 ?0次下載
    <b class='flag-5'>PyTorch</b>教程16.4之自然語言推理<b class='flag-5'>和數據</b><b class='flag-5'>集</b>

    PyTorch教程-16.4。自然語言推理和數據

    16.4。自然語言推理和數據? Colab [火炬]在 Colab 中打開筆記本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的頭像 發表于 06-05 15:44 ?563次閱讀

    PyTorch如何訓練自己的數據

    PyTorch是一個廣泛使用的深度學習框架,它以其靈活性、易用性和強大的動態圖特性而聞名。在訓練深度學習模型時,數據是不可或缺的組成部分。然而,很多時候,我們可能需要使用自己的數據
    的頭像 發表于 07-02 14:09 ?1821次閱讀
    主站蜘蛛池模板: 国产精品99久久久精品无码| gogogo免费视频观看| 欧美九十老太另类| 久久内在线视频精品mp4| 国产性夜夜性夜夜爽91| 国产成人ae在线观看网站站 | 亚洲男人天堂2018av| 我解开了岳的乳第一个女人 | 长泽梓黑人初解禁bdd07| 亚洲在线中文无码首页| 亚洲成人欧美| 亚洲第一伊人| 亚洲精品久久国产高清| 亚洲精品无码不卡| 亚洲电影第1页| 亚洲国产精品第一影院在线观看| 校园女教师之禁区| 亚州免费一级毛片| 亚洲精品久久国产高清| 亚洲无遮挡无码A片在线| 一个人看的WWW高清电影| 野花日本高清在线观看免费吗| 一边吃奶一边啪啪真舒服| 一区精品在线| 777久久人妻少妇嫩草AV蜜桃| 99久久亚洲综合精品| 成人免费一区二区无码视频| 国产SUV精品一区二区883| 国产精品一国产AV麻豆 | 亚洲国产精品一区二区第一页| 亚洲国产精品无码中文字满 | 狠狠躁天天躁小说| 精品无码国产AV一区二区三区 | 97人人添人人澡人人澡人人澡 | 麻豆沈芯语| 欧美乱妇日本无乱码特黄大片| 日本无码人妻丰满熟妇5G影院 | jizzjizz丝袜| 国产爱豆剧果冻传媒在线| 国产人妻人伦精品59HHH| 九九热国产视频|