Textaugment هي مكتبة Python 3 لزيادة النص لتطبيقات معالجة اللغة الطبيعية. يقف Textaugment على أكتاف NLTK ، Gensim V3.x ، و TextBlob ويلعب معهم بشكل جيد.
استشهد بهذه الورقة عند استخدام هذه المكتبة. نسخة arxiv
@inproceedings{marivate2020improving,
title={Improving short text classification through global augmentation methods},
author={Marivate, Vukosi and Sefara, Tshephisho},
booktitle={International Cross-Domain Conference for Machine Learning and Knowledge Extraction},
pages={385--399},
year={2020},
organization={Springer}
}
تحسين تصنيف النص القصير من خلال أساليب التعزيز العالمية .
حزم البرامج التالية هي تبعيات وسيتم تثبيتها تلقائيًا.
$ pip install numpy nltk gensim==3.8.3 textblob googletrans
الكود التالي يقوم بتنزيل NLTK Corpus لـ WordNet.
nltk . download ( 'wordnet' )الكود التالي ينزيل NLTK Tokenizer. يقسم هذا الرمز نصًا نصًا إلى قائمة من الجمل باستخدام خوارزمية غير خاضعة للإشراف لإنشاء نموذج للكلمات والكلمات والكلمات التي تبدأ الجمل.
nltk . download ( 'punkt' )الكود التالي يقوم بتنزيل نموذج tagger جزء من الكلام. يعالج Tagger جزء من الكلام تسلسلًا من الكلمات ، ويعلق جزءًا من علامة الكلام على كل كلمة.
nltk . download ( 'averaged_perceptron_tagger' )استخدم Gensim لتحميل نموذج Word2VEC المدربين مسبقًا. مثل Google News من Google Drive.
import gensim
model = gensim . models . KeyedVectors . load_word2vec_format ( './GoogleNews-vectors-negative300.bin' , binary = True )يمكنك أيضًا استخدام Gensim لتنظيف النماذج الإنجليزية والمتعددة اللغات من Facebook
import gensim
model = gensim.models.fasttext.load_facebook_model('./cc.en.300.bin.gz')
أو تدريب واحد من نقطة الصفر باستخدام بياناتك أو مجموعة البيانات العامة التالية:
text8 ويكي
مجموعة البيانات من "معيار نمذجة لغة مليار كلمة"
تثبيت من PIP [الموصى به]
$ pip install textaugment
or install latest release
$ pip install [email protected]:dsfsi/textaugment.gitتثبيت من المصدر
$ git clone [email protected]:dsfsi/textaugment.git
$ cd textaugment
$ python setup.py installهناك ثلاثة أنواع من التعزيزات التي يمكن استخدامها:
from textaugment import Word2vec from textaugment import Fasttext from textaugment import Wordnet from textaugment import Translate شاهد دفتر الملاحظات للحصول على مثال
مثال أساسي
> >> from textaugment import Word2vec , Fasttext
> >> t = Word2vec ( model = 'path/to/gensim/model' or 'gensim model itself' )
> >> t . augment ( 'The stories are good' )
The films are good
> >> t = Fasttext ( model = 'path/to/gensim/model' or 'gensim model itself' )
> >> t . augment ( 'The stories are good' )
The films are goodمثال متقدم
> >> runs = 1 # By default.
> >> v = False # verbose mode to replace all the words. If enabled runs is not effective. Used in this paper (https://www.cs.cmu.edu/~diyiy/docs/emnlp_wang_2015.pdf)
> >> p = 0.5 # The probability of success of an individual trial. (0.1<p<1.0), default is 0.5. Used by Geometric distribution to selects words from a sentence.
> >> word = Word2vec ( model = 'path/to/gensim/model' or 'gensim model itself' , runs = 5 , v = False , p = 0.5 )
> >> word . augment ( 'The stories are good' , top_n = 10 )
The movies are excellent
> >> fast = Fasttext ( model = 'path/to/gensim/model' or 'gensim model itself' , runs = 5 , v = False , p = 0.5 )
> >> fast . augment ( 'The stories are good' , top_n = 10 )
The movies are excellent مثال أساسي
> >> import nltk
> >> nltk . download ( 'punkt' )
> >> nltk . download ( 'wordnet' )
> >> from textaugment import Wordnet
> >> t = Wordnet ()
> >> t . augment ( 'In the afternoon, John is going to town' )
In the afternoon , John is walking to townمثال متقدم
> >> v = True # enable verbs augmentation. By default is True.
> >> n = False # enable nouns augmentation. By default is False.
> >> runs = 1 # number of times to augment a sentence. By default is 1.
> >> p = 0.5 # The probability of success of an individual trial. (0.1<p<1.0), default is 0.5. Used by Geometric distribution to selects words from a sentence.
> >> t = Wordnet ( v = False , n = True , p = 0.5 )
> >> t . augment ( 'In the afternoon, John is going to town' , top_n = 10 )
In the afternoon , Joseph is going to town .مثال
> >> src = "en" # source language of the sentence
> >> to = "fr" # target language
> >> from textaugment import Translate
> >> t = Translate ( src = "en" , to = "fr" )
> >> t . augment ( 'In the afternoon, John is going to town' )
In the afternoon John goes to townhttps://www.aclweb.org/anthology/d19-1670.pdf
شاهد دفتر الملاحظات للحصول على مثال
اختر بشكل عشوائي كلمات n من الجملة التي لا تتوقف عن الكلمات. استبدل كل من هذه الكلمات بأحد مرادفاتها التي تم اختيارها عشوائيًا.
مثال أساسي
> >> from textaugment import EDA
> >> t = EDA ()
> >> t . synonym_replacement ( "John is going to town" , top_n = 10 )
John is give out to town قم بإزالة كل كلمة بشكل عشوائي في الجملة مع احتمال p .
مثال أساسي
> >> from textaugment import EDA
> >> t = EDA ()
> >> t . random_deletion ( "John is going to town" , p = 0.2 )
is going to town اختر بشكل عشوائي كلمتين في الجملة وتبادل مواقفهم. افعل هذه الأوقات.
مثال أساسي
> >> from textaugment import EDA
> >> t = EDA ()
> >> t . random_swap ( "John is going to town" )
John town going to is ابحث عن مرادف عشوائي لكلمة عشوائية في الجملة ليست كلمة توقف. أدخل هذا المرادف في موضع عشوائي في الجملة. افعل هذه الأوقات
مثال أساسي
> >> from textaugment import EDA
> >> t = EDA ()
> >> t . random_insertion ( "John is going to town" )
John is going to make up townهذا هو تنفيذ AEDA بواسطة Karimi et al ، وهو متغير من EDA. يعتمد على الإدراج العشوائي لعلامات الترقيم.
https://aclanthology.org/2021.findings-emnlp.234.pdf
شاهد دفتر الملاحظات للحصول على مثال
مثال أساسي
> >> from textaugment import AEDA
> >> t = AEDA ()
> >> t . punct_insertion ( "John is going to town" )
! John is going to townهذا هو تنفيذ تكبير الخلط من قبل هونغي تشانغ ، موستافا سيس ، يان دوفين ، ديفيد لوبيز باز مع NLP.
تستخدم في زيادة البيانات مع مزيج لتصنيف الجملة: دراسة تجريبية.
Mixup هو مبدأ تكبير البيانات العام والمباشر. في جوهرها ، يدرب Mixup شبكة عصبية على مجموعات محدبة من أزواج من الأمثلة وعلاماتها. من خلال القيام بذلك ، ينظم Mixup الشبكة العصبية لصالح السلوك الخطي البسيط بين أمثلة التدريب.
شاهد دفتر الملاحظات للحصول على مثال
استشهد بهذه الورقة عند استخدام هذه المكتبة. نسخة arxiv
@inproceedings{marivate2020improving,
title={Improving short text classification through global augmentation methods},
author={Marivate, Vukosi and Sefara, Tshephisho},
booktitle={International Cross-Domain Conference for Machine Learning and Knowledge Extraction},
pages={385--399},
year={2020},
organization={Springer}
}
معهد ماساتشوستس للتكنولوجيا مرخصة. راجع ملف الترخيص المجمعة لمزيد من التفاصيل.