Easy Text Augmenter est un package Python pour augmenter les données de texte directement sur votre Pandas DataFrame à l'aide de diverses techniques NLP. Il n'y a que 3 techniques pour l'instant:
! 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 )Résultat :
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 )Résultat :
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 )Résultat :
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
Contactez-moi à:
Description:
La fonction augment_random_word augmente un pourcentage spécifié d'échantillons dans les classes données d'une dataframe en appliquant au hasard l'une des trois techniques d'augmentation (swap, supprimer, diviser) à la colonne de texte.
augment_random_word(df, classes_to_augment, augmentation_percentage, text_column, random_state=42, weights=[0.5, 0.3, 0.2])
Paramètres:
df (pandas.dataframe): le dataframe d'entrée contenant les données et les étiquettes de texte.classes_to_augment (liste): une liste des étiquettes de classe qui doivent être augmentées.augmentation_percentage (float): le pourcentage d'échantillons pour augmenter de chaque classe spécifiée.text_column (STR): le nom de la colonne dans le dataframe qui contient les données texte.random_state (int, facultatif): une graine aléatoire utilisée pour spécifier les lignes à augmenter. La valeur par défaut est 42.weights (liste, facultatif): une liste de poids pour déterminer la probabilité de sélectionner chaque type d'augmentation. La valeur par défaut est [0,5, 0,3, 0,2] pour Swap, Supprimer et Split, respectivement. Techniques weights :
Renvoie:
Description:
La fonction augment_random_character effectue des augmentations basées sur des caractères aléatoires sur des classes spécifiques de données de texte dans un dataframe. Il utilise plusieurs techniques d'augmentation pour modifier au hasard les caractères du texte, augmentant la diversité de l'ensemble de données.
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])
Paramètres:
df (pd.dataframe): les données de données d'entrée contenant des données de texte et leurs étiquettes correspondantes.classes_to_augment (liste): une liste des étiquettes de classe indiquant quelles classes doivent être augmentées.augmentation_percentage (float): le pourcentage d'échantillons dans chaque classe qui doit être augmenté.text_column (STR): le nom de la colonne dans le DataFrame qui contient les données texte à augmenter.random_state (int, facultatif): une graine aléatoire utilisée pour spécifier les lignes à augmenter. La valeur par défaut est 42.weights (liste, facultatif): une liste de poids pour chaque technique d'augmentation, utilisé pour déterminer la probabilité de choisir chaque technique. La valeur par défaut est [0,2, 0,2, 0,2, 0,2, 0,2]. Techniques weights :
Renvoie:
Description:
La fonction augment_word_bert augmente les données de texte dans un dataframe à l'aide d'une technique d'augmentation de mots basée sur Bert. Il insère ou remplace les mots dans la colonne de texte spécifiée pour un pourcentage donné d'échantillons dans les classes spécifiées.
def augment_word_bert(df, classes_to_augment, augmentation_percentage, text_column, model_path, random_state=42, weights=[0.7, 0.3])
Paramètres:
df (pandas.dataframe): le dataframe contenant les données à augmenter.classes_to_augment (liste): une liste des étiquettes de classe indiquant quelles classes doivent être augmentées.augmentation_percentage (float): le pourcentage d'échantillons dans chaque classe pour augmenter (par exemple, 0,2 pour 20%).text_column (Str): le nom de la colonne dans le dataframe qui contient le texte à augmenter.model_path (STR): Le chemin du modèle Bert pré-formé utilisé pour l'augmentation.random_state (int, facultatif): une graine aléatoire utilisée pour spécifier les lignes à augmenter. La valeur par défaut est 42.weights (liste, facultatif): les poids à choisir entre les techniques d'insertion et d'augmentation de substitution (par défaut est [0,7, 0,3]).Renvoie: