Easy Text Augmenter es un paquete de Python para aumentar los datos de texto directamente en su marco de datos Pandas utilizando varias técnicas de PNL. Solo hay 3 técnicas por ahora:
! 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 )Resultado :
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 )Resultado :
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 )Resultado :
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
Contáctame en:
Descripción:
La función augment_random_word aumenta un porcentaje especificado de muestras en clases dadas de un marco de datos aplicando aleatoriamente una de las tres técnicas de aumento (intercambiar, eliminar, dividir) a la columna de texto.
augment_random_word(df, classes_to_augment, augmentation_percentage, text_column, random_state=42, weights=[0.5, 0.3, 0.2])
Parámetros:
df (Pandas.DataFrame): la entrada de datos de entrada que contiene los datos y etiquetas de texto.classes_to_augment (lista): una lista de etiquetas de clase que deben aumentar.augmentation_percentage (Float): el porcentaje de muestras para aumentar de cada clase especificada.text_column (STR): el nombre de la columna en el cuadro de datos que contiene los datos de texto.random_state (int, opcional): una semilla aleatoria utilizada para especificar qué filas aumentar. El valor predeterminado es 42.weights (lista, opcional): una lista de pesos para determinar la probabilidad de seleccionar cada tipo de aumento. El valor predeterminado es [0.5, 0.3, 0.2] para intercambiar, eliminar y dividir, respectivamente. Técnicas weights :
Devoluciones:
Descripción:
La función augment_random_character realiza aumentos aleatorios basados en caracteres en clases específicas de datos de texto dentro de un marcado de datos. Utiliza varias técnicas de aumento para alterar aleatoriamente los caracteres del texto, aumentando la diversidad del conjunto de datos.
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])
Parámetros:
df (PD.DataFrame): la entrada de datos de entrada que contiene datos de texto y sus etiquetas correspondientes.classes_to_augment (lista): una lista de etiquetas de clase que indican qué clases deben aumentarse.augmentation_percentage (Float): el porcentaje de muestras en cada clase que se debe aumentar.text_column (STR): el nombre de la columna en el marco de datos que contiene los datos de texto a aumentar.random_state (int, opcional): una semilla aleatoria utilizada para especificar qué filas aumentar. El valor predeterminado es 42.weights (lista, opcional): una lista de pesos para cada técnica de aumento, utilizada para determinar la probabilidad de elegir cada técnica. El valor predeterminado es [0.2, 0.2, 0.2, 0.2, 0.2]. Técnicas weights :
Devoluciones:
Descripción:
La función augment_word_bert aumenta los datos de texto en un marco de datos utilizando una técnica de aumento de palabras basada en Bert. Inserta o sustituye las palabras en la columna de texto especificada para un porcentaje dado de muestras en las clases especificadas.
def augment_word_bert(df, classes_to_augment, augmentation_percentage, text_column, model_path, random_state=42, weights=[0.7, 0.3])
Parámetros:
df (pandas.dataframe): el marco de datos que contiene los datos a aumentar.classes_to_augment (lista): una lista de etiquetas de clase que indican qué clases deben aumentarse.augmentation_percentage (Float): el porcentaje de muestras dentro de cada clase para aumentar (por ejemplo, 0.2 para el 20%).text_column (STR): el nombre de la columna en el marco de datos que contiene el texto a aumentar.model_path (STR): la ruta al modelo Bert previamente entrenado utilizado para el aumento.random_state (int, opcional): una semilla aleatoria utilizada para especificar qué filas aumentar. El valor predeterminado es 42.weights (lista, opcional): los pesos para elegir entre las técnicas de aumento de inserción y sustitución (el valor predeterminado es [0.7, 0.3]).Devoluciones: