O Easy Text Augmenter é um pacote Python para aumentar os dados de texto diretamente em seu quadro de dados do Pandas usando várias técnicas de PNL. Existem apenas 3 técnicas por enquanto:
! 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
Entre em contato comigo em:
Descrição:
A função augment_random_word aumenta uma porcentagem especificada de amostras em determinadas classes de um quadro de dados, aplicando aleatoriamente uma das três técnicas de aumento (troca, excluir, dividir) na coluna 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): o quadro de dados de entrada que contém os dados e etiquetas de texto.classes_to_augment (Lista): Uma lista de etiquetas de classe que precisam ser aumentadas.augmentation_percentage (Float): A porcentagem de amostras para aumentar de cada classe especificada.text_column (str): o nome da coluna no quadro de dados que contém os dados de texto.random_state (int, opcional): uma semente aleatória usada para especificar quais linhas para aumentar. O padrão é 42.weights (lista, opcional): Uma lista de pesos para determinar a probabilidade de selecionar cada tipo de aumento. O padrão é [0,5, 0,3, 0,2] para troca, exclusão e divisão, respectivamente. Técnicas weights :
Retornos:
Descrição:
A função augment_random_character executa aumentos aleatórios baseados em caracteres em classes específicas de dados de texto dentro de um quadro de dados. Ele usa várias técnicas de aumento para alterar aleatoriamente caracteres no texto, aumentando a diversidade do conjunto de dados.
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): o quadro de dados de entrada que contém dados de texto e seus rótulos correspondentes.classes_to_augment (Lista): Uma lista de etiquetas de classe indicando quais classes devem ser aumentadas.augmentation_percentage (Float): A porcentagem de amostras em cada classe que deve ser aumentada.text_column (str): o nome da coluna no quadro de dados que contém os dados de texto a serem aumentados.random_state (int, opcional): uma semente aleatória usada para especificar quais linhas para aumentar. O padrão é 42.weights (lista, opcional): uma lista de pesos para cada técnica de aumento, usada para determinar a probabilidade de escolher cada técnica. O padrão é [0,2, 0,2, 0,2, 0,2, 0,2]. Técnicas weights :
Retornos:
Descrição:
A função augment_word_bert aumenta os dados de texto em um quadro de dados usando uma técnica de aumento do Word baseada em BERT. Ele insere ou substitui as palavras na coluna de texto especificada por uma determinada porcentagem de amostras nas classes 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): o quadro de dados que contém os dados a serem aumentados.classes_to_augment (Lista): Uma lista de etiquetas de classe indicando quais classes devem ser aumentadas.augmentation_percentage (Float): A porcentagem de amostras em cada classe para aumentar (por exemplo, 0,2 por 20%).text_column (str): o nome da coluna no quadro de dados que contém o texto a ser aumentado.model_path (STR): O caminho para o modelo BERT pré-treinado usado para aumento.random_state (int, opcional): uma semente aleatória usada para especificar quais linhas para aumentar. O padrão é 42.weights (lista, opcional): os pesos para a escolha entre as técnicas de aumento de inserção e substituição (o padrão é [0,7, 0,3]).Retornos: