我的目標是訓練一個能夠使用加載的 SlovakBert 模型和 HuggingFace 庫以斯洛伐克語進行情感分析的分類器。代碼在 Google Colaboratory 上執行。
我的測驗資料集是從此 csv 檔案中讀取的: https ://raw.githubusercontent.com/kinit-sk/slovakbert-auxiliary/main/sentiment_reviews/kinit_golden_games.csv
并訓練資料集: https ://raw.githubusercontent.com/kinit-sk/slovakbert-auxiliary/main/sentiment_reviews/kinit_golden_accomodation.csv
資料有兩列:斯洛伐克陳述句子列和表示句子情感的第二列標簽。標簽的值為 -1、0 或 1。
Load_dataset() 函式拋出此錯誤:
ValueError: 無法施放 Vrtu?ník je ve?mi zranite?ny pri dobre mierenej stre?be zo zeme。Bráni? sa, unika?, alebo vedie? zne?kodni? nepriate?a je vecou sekúnd, ak nie stotín, kedy ide ?ivot。: string -1: int64 -- 模式元資料 -- pandas: '{"index_columns": [{"kind": "range", "name": null, "start": 0, "' 954 to {'Priestorovo a vybavenim OK.': Value(dtype='string', id=None), '1': Value(dtype='int64', id=None)} 因為列名不匹配
代碼:
!pip install transformers==4.10.0 -qqq
!pip install datasets -qqq
from re import M
import numpy as np
from datasets import load_metric, load_dataset, Dataset
from transformers import TrainingArguments, Trainer, AutoModelForSequenceClassification, AutoTokenizer, DataCollatorWithPadding
import pandas as pd
from textblob import TextBlob
from textblob.sentiments import NaiveBayesAnalyzer
#links to dataset
test = 'https://raw.githubusercontent.com/kinit-sk/slovakbert-auxiliary/main/sentiment_reviews/kinit_golden_games.csv'
train = 'https://raw.githubusercontent.com/kinit-sk/slovakbert-auxiliary/main/sentiment_reviews/kinit_golden_accomodation.csv'
model_name = 'gerulata/slovakbert'
#Load data
dataset = load_dataset('csv', data_files={'train': train, 'test': test})
加載資料集時做錯了什么?
uj5u.com熱心網友回復:
原因是由于分隔符多次在第一列中使用,代碼無法自動確定列數(某些時間段將句子分成多列,因為它無法自動確定,是分隔符還是句子的一部分。
但是,解決方案很簡單:(只需添加列名)
dataset = load_dataset('csv', data_files={'train': train,'test':test},column_names=['sentence','label'])
輸出:
DatasetDict({
train: Dataset({
features: ['sentence', 'label'],
num_rows: 89
})
test: Dataset({
features: ['sentence', 'label'],
num_rows: 91
})
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/480435.html
