Easy Text Musmenter هي حزمة Python لزيادة البيانات النصية مباشرة على DataFrame 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 نسبة مئوية محددة من العينات في فئات معينة من بيانات البيانات عن طريق تطبيق واحدة من ثلاث تقنيات تكبير (مبادلة ، حذف ، تقسيم) إلى عمود النص.
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 (تعويم): النسبة المئوية للعينات لزيادة كل فئة محددة.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 (تعويم): النسبة المئوية للعينات في كل فئة يجب تعزيزها.text_column (STR): اسم العمود في نظام البيانات الذي يحتوي على بيانات النص المراد زيادة.random_state (int ، اختياري): بذرة عشوائية تستخدم لتحديد الصفوف التي يجب زيادة. الافتراضي هو 42.weights (قائمة ، اختيارية): قائمة الأوزان لكل تقنية تكبير ، تستخدم لتحديد احتمال اختيار كل تقنية. الافتراضي هو [0.2 ، 0.2 ، 0.2 ، 0.2 ، 0.2]. تقنيات weights :
عائدات:
وصف:
تعمل دالة augment_word_bert على زيادة بيانات النص في إطار بيانات باستخدام تقنية تكبير الكلمات المستندة إلى 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): نظام البيانات الذي يحتوي على البيانات المراد زيادة.classes_to_augment (قائمة): قائمة بملصقات الفئة التي تشير إلى الفصول التي يجب زيادة الفئات.augmentation_percentage (تعويم): النسبة المئوية للعينات داخل كل فئة إلى زيادة (على سبيل المثال ، 0.2 ل 20 ٪).text_column (str): اسم العمود في نظام البيانات الذي يحتوي على النص المراد تعزيزه.model_path (Str): المسار إلى نموذج BERT الذي تم تدريبه مسبقًا يستخدم لزيادة.random_state (int ، اختياري): بذرة عشوائية تستخدم لتحديد الصفوف التي يجب زيادة. الافتراضي هو 42.weights (قائمة ، اختيارية): أوزان الاختيار بين تقنيات زيادة الإدراج والاستبدال (الافتراضي هو [0.7 ، 0.3]).عائدات: