Easy Text Augmenter ist ein Python -Paket zum Augmenting von Textdaten direkt auf Ihrem Pandas -Datenfream mit verschiedenen NLP -Techniken. Es gibt vorerst nur 3 Techniken:
! 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 )Ergebnis :
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 )Ergebnis :
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 )Ergebnis :
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
Kontaktieren Sie mich unter:
Beschreibung:
Die Funktion augment_random_word erhöht einen bestimmten Prozentsatz der Stichproben in bestimmten Klassen eines Datenrahmens, indem eine von drei Augmentationstechniken (Swap, Löschen, Split) auf die Textspalte zufällig angewendet wird.
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): Der Eingabedatenrahmen, der die Textdaten und -bezeichnungen enthält.classes_to_augment (Liste): Eine Liste von Klassenbezeichnungen, die erweitert werden müssen.augmentation_percentage (Float): Der Prozentsatz der Proben, die von jeder angegebenen Klasse erweitert werden sollen.text_column (str): Der Name der Spalte im Datenrahmen, der die Textdaten enthält.random_state (int, optional): Ein zufälliger Saatgut, der verwendet wird, um anzugeben, welche Zeilen erweitert werden sollen. Standard ist 42.weights (Liste, optional): Eine Liste von Gewichten, um die Wahrscheinlichkeit der Auswahl jedes Augmentationstyps zu bestimmen. Die Standardeinstellung ist [0,5, 0,3, 0,2] für Swap, Löschen bzw. Split. weights :
Rückgaben:
Beschreibung:
Die Funktion augment_random_character führt zufällige charakterbasierte Augmentationen für bestimmte Klassen von Textdaten innerhalb eines Datenrahmens durch. Es verwendet mehrere Augmentationstechniken, um die Zeichen im Text zufällig zu verändern und die Vielfalt des Datensatzes zu erhöhen.
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): Der Eingabedatenrahmen, der Textdaten und deren entsprechende Beschriftungen enthält.classes_to_augment (Liste): Eine Liste von Klassenbezeichnungen, die angeben, welche Klassen erweitert werden sollen.augmentation_percentage (Float): Der Prozentsatz der Stichproben in jeder Klasse, die erweitert werden sollte.text_column (str): Der Spaltenname im Datenrahmen, der die zu erweiterten Textdaten enthält.random_state (int, optional): Ein zufälliger Saatgut, der verwendet wird, um anzugeben, welche Zeilen erweitert werden sollen. Standard ist 42.weights (Liste, optional): Eine Liste von Gewichten für jede Augmentationstechnik, mit der die Wahrscheinlichkeit für die Auswahl jeder Technik bestimmt wird. Die Standardeinstellung ist [0,2, 0,2, 0,2, 0,2, 0,2]. weights :
Rückgaben:
Beschreibung:
Die Funktion augment_word_bert erhöht die Textdaten in einem Datenrahmen mit einer BerT-basierten Word-Augmentationstechnik. Es wird Wörter in die angegebene Textspalte für einen bestimmten Prozentsatz der Proben in den angegebenen Klassen eingefügt oder ersetzt.
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): Der Datenrahmen, der die zu erweiterten Daten enthält.classes_to_augment (Liste): Eine Liste von Klassenbezeichnungen, die angeben, welche Klassen erweitert werden sollten.augmentation_percentage (Float): Der Prozentsatz der Stichproben innerhalb jeder Klasse (z. B. 0,2 für 20%).text_column (str): Der Name der Spalte im Datenrahmen, der den zu erweiterten Text enthält.model_path (STR): Der Pfad zum vorgeborenen Bert-Modell, das zur Augmentation verwendet wird.random_state (int, optional): Ein zufälliger Saatgut, der verwendet wird, um anzugeben, welche Zeilen erweitert werden sollen. Standard ist 42.weights (Liste, optional): Die Gewichte für die Auswahl zwischen Einfügen und Substitutionsvergrößerungstechniken (Standard ist [0,7, 0,3]).Rückgaben: