Easy Text Augmenter - это пакет Python для непосредственно дополнения текстовых данных на вашем рамке Pandas с использованием различных методов NLP. На данный момент есть только 3 метода:
! 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 )Результат :
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 )Результат :
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 )Результат :
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
Свяжитесь со мной по адресу:
Описание:
Функция augment_random_word увеличивает указанный процент образцов в данных классах DataFrame, случайным образом применяя один из трех методов увеличения (SWAP, Delete, Split) к текстовому столбцу.
augment_random_word(df, classes_to_augment, augmentation_percentage, text_column, random_state=42, weights=[0.5, 0.3, 0.2])
Параметры:
df (pandas.dataframe): входной данных, содержащий текстовые данные и этикетки.classes_to_augment (список): список меток классов, которые необходимо дополнить.augmentation_percentage (float): процент образцов для увеличения из каждого указанного класса.text_column (str): имя столбца в DataFrame, который содержит текстовые данные.random_state (int, необязательно): случайное семя, используемое для указания, какие строки дополняют. По умолчанию 42.weights (список, необязательно): список весов, чтобы определить вероятность выбора каждого типа увеличения. По умолчанию [0,5, 0,3, 0,2] для обмена, удаления и разделения соответственно. техники weights :
Возвращает:
Описание:
Функция augment_random_character выполняет случайные увеличения на основе символов на конкретных классах текстовых данных в рамке данных. Он использует несколько методов увеличения, чтобы случайным образом изменять символы в тексте, увеличивая разнообразие набора данных.
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])
Параметры:
df (Pd.DataFrame): входной данных, содержащий текстовые данные, и соответствующие этикетки.classes_to_augment (список): список меток классов, указывающих, какие классы должны быть дополнены.augmentation_percentage (float): процент образцов в каждом классе, которые должны быть дополнены.text_column (str): имя столбца в DataFrame, который содержит текстовые данные, которые должны быть дополнены.random_state (int, необязательно): случайное семя, используемое для указания, какие строки дополняют. По умолчанию 42.weights (список, необязательно): список весов для каждой методики увеличения, используемый для определения вероятности выбора каждой техники. По умолчанию составляет [0,2, 0,2, 0,2, 0,2, 0,2]. техники weights :
Возвращает:
Описание:
Функция augment_word_bert увеличивает текстовые данные в данных DATA с использованием метода увеличения слов на основе BERT. Он вводит или заменяет слова в указанный текстовый столбец для заданного процента образцов в указанных классах.
def augment_word_bert(df, classes_to_augment, augmentation_percentage, text_column, model_path, random_state=42, weights=[0.7, 0.3])
Параметры:
df (pandas.dataframe): DataFrame, содержащий данные, которые должны быть дополнены.classes_to_augment (список): список меток классов, указывающих, какие классы должны быть дополнены.augmentation_percentage (Float): процент образцов в каждом классе, чтобы увеличить (например, 0,2 на 20%).text_column (str): имя столбца в DataFrame, который содержит текст, который должен быть дополнен.model_path (str): путь к предварительно обученной модели BERT, используемой для увеличения.random_state (int, необязательно): случайное семя, используемое для указания, какие строки дополняют. По умолчанию 42.weights (список, необязательно): веса для выбора между методами вставки и увеличения замены (по умолчанию составляет [0,7, 0,3]).Возвращает: