莎士比亞風格語料的編碼器
現在你手上已經有前處理過的莎士比亞風格文本,接下來需要把它編碼成數值表示。在組合整個 pipeline 之前,你要先定義各個編碼步驟。為了更有效率地處理大量資料並進行編碼,你會使用 PyTorch 的 Dataset 與 DataLoader 來做分批(batching)與洗牌(shuffling)。
以下物件已為你載入:
torch、nltk、stopwords、PorterStemmer、get_tokenizer、CountVectorizer、Dataset、DataLoader,以及 preprocess_sentences。
另外,從莎士比亞語料產生的 processed_shakespeare 也可直接使用。
本練習屬於課程
Deep Learning for Text with PyTorch
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Define your Dataset class
class ____(Dataset):
def __init__(self, data):
self.data = ____
def __len__(self):
return len(self.data)
def __getitem__(self, idx):
return self.____[____]