Easy Text augmenter adalah paket python untuk menambah data teks langsung di pandaframe panda Anda menggunakan berbagai teknik NLP. Hanya ada 3 teknik untuk saat ini:
! pip install easy-nlp-augmentation
import easy_text_augmenter
easy_text_augmenter.info () import pandas as pd
from easy_text_augmenter import augment_random_word
df = pd . DataFrame ({
'text' : [ 'This is a test' , 'Another test data ' , 'Of course we need more data' , 'Newton does not like apple' , 'Hello world I am a human' ],
'label' : [ 'A' , 'A' , 'B' , 'B' , 'A' ]
})
classes_to_augment = [ 'A' , 'B' ]
augmented_df = augment_random_word ( df , classes_to_augment , augmentation_percentage = 0.8 , text_column = 'text' )
print ( augmented_df )Hasil :
text label
0 This is a test A
1 Another test data A
2 Of course we need more data B
3 Newton does not like apple B
4 Hello world I am a human A
5 Th is is a te st A
6 Another data A
7 Does not newton like apple B
from easy_text_augmenter import augment_random_word
classes_to_augment = [ 'A' , 'B' ]
augmented_df = augment_random_character ( df , classes_to_augment , augmentation_percentage = 0.8 , text_column = 'text' )
print ( augmented_df )Hasil :
text label
0 This is a test A
1 Another test data A
2 Of course we need more data B
3 Newton does not like apple B
4 Hello world I am a human A
5 This is a estt A
6 Another te8t data A
7 Newtun d0e8 not like apple B
from easy_text_augmenter import augment_word_bert
classes_to_augment = [ 'A' , 'B' ]
augmented_df = augment_word_bert ( df , classes_to_augment , augmentation_percentage = 0.8 , text_column = 'text' , model_path = 'bert-base-uncased' , random_state = 70 )
print ( augmented_df )Hasil :
text label
0 This is a test A
1 Another test data A
2 Of course we need more data B
3 Newton does not like apple B
4 Hello world I am a human A
5 another test of data A
6 this term is not a test A
7 newton does absolutely not like every apple B
Hubungi saya di:
Keterangan:
Fungsi augment_random_word menambah persentase sampel yang ditentukan dalam kelas -kelas yang diberikan dari dataframe dengan secara acak menerapkan salah satu dari tiga teknik augmentasi (swap, hapus, terpecah) ke kolom teks.
augment_random_word(df, classes_to_augment, augmentation_percentage, text_column, random_state=42, weights=[0.5, 0.3, 0.2])
Parameter:
df (PANDAS.DataFrame): Input DataFrame yang berisi data teks dan label.classes_to_augment (daftar): Daftar label kelas yang perlu ditambah.augmentation_percentage (float): Persentase sampel untuk menambah dari masing -masing kelas yang ditentukan.text_column (str): Nama kolom di DataFrame yang berisi data teks.random_state (int, opsional): Benih acak yang digunakan untuk menentukan baris mana yang akan ditambah. Default adalah 42.weights (daftar, opsional): Daftar bobot untuk menentukan probabilitas memilih setiap jenis augmentasi. Default adalah [0,5, 0,3, 0,2] untuk masing -masing swap, hapus, dan split. Teknik weights :
Kembali:
Keterangan:
Fungsi augment_random_character melakukan augmentasi berbasis karakter acak pada kelas data teks tertentu dalam dataframe. Ini menggunakan beberapa teknik augmentasi untuk mengubah karakter secara acak dalam teks, meningkatkan keragaman dataset.
augment_random_character(df, classes_to_augment, augmentation_percentage, text_column, random_state=42, weights=[0.2, 0.2, 0.2, 0.2, 0.2])
Parameter:
df (PD.DataFrame): Input DataFrame yang berisi data teks dan label yang sesuai.classes_to_augment (daftar): Daftar label kelas yang menunjukkan kelas mana yang harus ditambah.augmentation_percentage (float): Persentase sampel di setiap kelas yang harus ditambah.text_column (str): Nama kolom di DataFrame yang berisi data teks yang akan ditambah.random_state (int, opsional): Benih acak yang digunakan untuk menentukan baris mana yang akan ditambah. Default adalah 42.weights (daftar, opsional): Daftar bobot untuk setiap teknik augmentasi, digunakan untuk menentukan probabilitas memilih setiap teknik. Default adalah [0,2, 0,2, 0,2, 0,2, 0,2]. Teknik weights :
Kembali:
Keterangan:
Fungsi augment_word_bert Augments data teks dalam DataFrame menggunakan teknik augmentasi kata berbasis Bert. Ini memasukkan atau menggantikan kata dalam kolom teks yang ditentukan untuk persentase sampel yang diberikan di kelas yang ditentukan.
def augment_word_bert(df, classes_to_augment, augmentation_percentage, text_column, model_path, random_state=42, weights=[0.7, 0.3])
Parameter:
df (PANDAS.DataFrame): DataFrame yang berisi data yang akan ditambah.classes_to_augment (daftar): Daftar label kelas yang menunjukkan kelas mana yang harus ditambah.augmentation_percentage (float): Persentase sampel dalam setiap kelas untuk menambah (misalnya, 0,2 untuk 20%).text_column (str): Nama kolom di DataFrame yang berisi teks yang akan ditambah.model_path (str): Jalur ke model BERT pra-terlatih yang digunakan untuk augmentasi.random_state (int, opsional): Benih acak yang digunakan untuk menentukan baris mana yang akan ditambah. Default adalah 42.weights (daftar, opsional): Bobot untuk memilih antara teknik augmentasi penyisipan dan substitusi (default adalah [0,7, 0,3]).Kembali: