国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用 NLPAUG 進行文本數據的擴充增強

人工智能 機器學習
在機器學習中,訓練數據集的質量在很大程度上決定了模型的有效性。我們往往沒有足夠的多樣化數據,這影響了模型的準確性。這時數據增強技術就派上了用場。

在機器學習中,訓練數據集的質量在很大程度上決定了模型的有效性。我們往往沒有足夠的多樣化數據,這影響了模型的準確性。這時數據增強技術就派上了用場。

數據增強可以通過添加對現有數據進行略微修改的副本或從現有數據中新創建的合成數據來增加數據量。這種數據擴充的方式在CV中十分常見,因為對于圖像來說可以使用很多現成的技術,在保證圖像信息的情況下進行圖像的擴充。

但是對于文本數據,這種技術現在應用的還很少,所以在本文中我們將介紹如何使用Python的nlpag庫進行文本擴充。比如說在自然語言處理(NLP)中最常見的任務之一的文本分類中,需要大量的數據來訓練模型。我們也可以通過文本增強技術提高NLP模型的性能。

NLPAUG

nlpag是一個由Edward Ma開發的開源Python庫,該庫提供了一系列字符、單詞和句子的文本增強器,一般情況下只需3-5行代碼即可應用。

安裝也非常簡單:

pip install nlpaug
 conda install -c makecedward nlpaug

如果要是用同義詞或反義詞擴展,則需要安裝NLTK庫。

pip install nltk

如果要進行詞嵌入的增強,則需要下載一個預訓練的模型。比如說下載word2vec、glove或fasttext:

from nlpaug.util.file.download import DownloadUtil
 DownloadUtil.download_word2vec(dest_dir='.') # Download word2vec model
 DownloadUtil.download_glove(model_name='glove.6B', dest_dir='.') # Download GloVe model
 DownloadUtil.download_fasttext(model_name='wiki-news-300d-1M', dest_dir='.') # Download fasttext model
 
 pip install gensim

如果要對句子執行反向翻譯增強,則要安裝SacreMoses庫:

pip install sacremoses

以上就是使用NLPAUG 的一些基本的環境設置了,下面我們看看這個庫的功能:

字符級的增強

character augmenter 通過在字符級別應用指定的更改來生成文本數據的變體。它通過引入諸如字符替換、刪除、插入或其他調整之類的更改。

nlpag的nlpaug.augmenter.charmodule提供了三種字符增強技術:Keyboard augmenter, Optical character recognition augmenter, Random augmenter.

1、Keyboard augmenter

Keyboard augmenter是一種文本增強技術,它通過插入輸入錯誤來增強文本數據。在字符級別,它用鍵盤上近距離的字符替換單詞中的字符,模擬打字時出現鍵盤錯誤的可能性。該方法生成的增強文本數據類似于現實環境中通常遇到的排版錯誤,可以提高了訓練數據的泛化性。

nlpag的char.KeywordAug()函數對文本輸入應用打字錯誤模擬:

import nlpaug.augmenter.char as nac
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Keyboard
 aug = nac.KeyboardAug()
 augmented_text = aug.augment(text)
 print(augmented_text)

2、Optical Character Recognition Augmenter(OCR)

字符識別(OCR)是一種將圖像或文檔轉換為可由機器讀取的文本的技術。它通過分析圖像的視覺模式,識別單個字符或單詞,并將其轉換為文本來實現這一點。

OCR模型通常會犯錯誤,例如將“0”與“0”或“I”與“1”混淆。nlpaaug的char. ocaug()增數器通過替換字符在文本中引入字符級OCR錯誤:

import nlpaug.augmenter.char as nac
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # OCR
 aug = nac.OcrAug()
 augmented_text = aug.augment(text)
 print(augmented_text)

圖片

3、Random Augmenter

隨機增強器為文本數據引入隨機變量。它模擬了語言中自然發生的不同類型的錯誤。nlpag的RandomCharAug()函數可以用相似的字符替換字符,隨機交換相鄰字符,或者在文本中刪除或插入隨機字符。這些變化有助于更多樣化的訓練數據集,并在處理實際數據時提高模型的魯棒性。

可以使用操作參數選擇單一類型的操作:插入、替換、交換、刪除。

import nlpaug.augmenter.char as nac
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Random - Character level - insert
 aug = nac.RandomCharAug(actinotallow="insert")
 augmented_text = aug.augment(text)
 print(augmented_text)

單詞級的增強

單詞的擴充技術包括用同義詞替換單詞,插入或刪除單詞,甚至改變句子中單詞的順序。

單詞級增強可以用于訓練NLP任務的模型,例如文本分類和情感分析,其中多樣化的訓練數據集可以增強模型在真實文本上的性能。

nlpag的nlpag .augment .word模塊提供了十種單詞增強技術:同義詞增強、反義詞增強、拆分增強、拼寫增強、保留詞增強、詞嵌入增強、上下文詞嵌入增強、反翻譯增強、TF-IDF增強、隨機詞增強。這些方法的調用基本都類似,所以我們只使用1-2個來進行舉例。

1、同義詞

nlpaaug的SynonymAug()根據WordNet/PPDB同義詞替換相似的單詞。可以使用aug_src參數來選擇使用哪個模型:

import nlpaug.augmenter.word as naw
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Synonym
 aug = naw.SynonymAug(aug_src='wordnet')
 augmented_text = aug.augment(text)
 print(augmented_text)

圖片

2、保留詞

保留詞擴充技術對文本進行目標詞替換操作。這種技術允許可以選擇在增強過程中必須保持不變的單詞。當希望在保留文本的其他部分的同時對文本的特定部分應用增強時,此技術非常有用。

nlpag的ReservedAug()函數替換列表中未定義的單詞,該列表作為參數傳遞給reserved_token參數:

import nlpaug.augmenter.word as naw
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Reserved words
 reserved_tokens = ['lion', 'windows'] # Specify the reserved tokens here
 aug = naw.ReservedAug(reserved_tokens=reserved_tokens)
 augmented_text = aug.augment(text)
 print(augmented_text)

3、上下文詞嵌入

上下文詞嵌入可以理解句子中單詞的含義和上下文,并將其輸入周圍環境,或者用預訓練語言模型(如BERT、DistilBERT、RoBERTa或XLNet)中的前n個相似單詞替換它們。

nlpag的context_word_embs()函數利用上下文詞嵌入來查找前n個相似的詞進行增強。可以使用action 參數指定要應用的一種操作類型:插入或替換。

import nlpaug.augmenter.word as naw
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Contextual Word Embeddings - Word level
 aug = naw.ContextualWordEmbsAug()
 augmented_text = aug.augment(text)
 print(augmented_text)

圖片

4、反向翻譯

反向翻譯使用預訓練的機器學習模型將文本從一種語言翻譯成另一種語言,然后再翻譯回原始語言。通過這種往返翻譯為文本增加了多樣性。當需要增強訓練數據的大小時,這種文本增強技術非常有用。

nlpaaug的Back_TranslationAug()函數利用兩種翻譯模型進行增強:

import nlpaug.augmenter.word as naw
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Back translation
 aug = naw.BackTranslationAug()
 augmented_text = aug.augment(text)
 print(augmented_text)

圖片

5、TF-IDF

TF-IDF通過將Term Frequency (TF)乘以Inverse Document Frequency (IDF)來計算文本中單詞的TF-IDF分數。這些分數表明了一個詞在一篇文章中的重要性。

TF-IDF得分低的單詞被認為與文本的意思不太相關,更有可能被其他得分低的單詞所取代。這種技術創造了不改變原始文本含義的變體。

需要說明的是L:TF-IDF模型必須在數據集上進行訓練,之后可以使用nlpag的TfIdfAug()函數根據分數插入或替換單詞。

import sklearn.datasets
 import re
 import nlpaug.augmenter.word as naw
 import nlpaug.model.word_stats as nmw
 
 # Defining a tokenizer function to extract word tokens
 def _tokenizer(text, token_pattern=r"(?u)\b\w\w+\b"):
    token_pattern = re.compile(token_pattern)
    return token_pattern.findall(text)
 
 # Load sample data (Scikit Learn 20 News Groups)
 train_data = sklearn.datasets.fetch_20newsgroups(subset='train', remove=('headers', 'footers', 'quotes'))
 train_x = train_data.data
 
 # Tokenize input
 train_x_tokens = [_tokenizer(x) for x in train_x]
 
 # Train TF-IDF model
 tfidf_model = nmw.TfIdf()
 tfidf_model.train(train_x_tokens)
 tfidf_model.save('.')
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Augment the text with TFIDF augmenter
 aug = naw.TfIdfAug(model_path='.', tokenizer=_tokenizer)
 augmented_text = aug.augment(text)
 print(augmented_text)

圖片

段句級增強

文本擴充也可以在句子層面進行,這包括在保持文本的一般上下文和含義的同時,對句子進行變化或調整。增句技巧的例子包括根據上下文插入單詞或在保持語法準確性的情況下重新排列句子中的單詞順序。

nlpag的nlpag . augmester .sentence模塊提供了四個句子增強器:

1、抽象摘要

抽象摘要是對給定文本進行簡潔總結的任務,該摘要捕獲了原始內容的關鍵概念和含義。可以包括源文本中沒有出現的新短語和句子。

采用抽象摘要的文本增強可以帶來短語結構和內容的多樣性和差異性,這可能對訓練NLP模型有用的。

import nlpaug.augmenter.sentence as nas
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Abstractive Summarization
 aug = nas.AbstSummAug()
 augmented_text = aug.augment(text)
 print(augmented_text)

圖片

2、上下文詞嵌入

在句子級增強的上下文中,上下文詞嵌入從預訓練模型(如XLNet、GPT2或蒸餾GPT2)中添加具有前n個相似詞的新句子。

nlpag的ContextualWordEmbsForSentenceAug()函數利用上下文詞嵌入來插入新句子:

import nlpaug.augmenter.sentence as nas
 
 text = "It was a dark and stormy night. I was alone at home when I saw a lion's face followed by a scary thunderous roar at the windows."
 
 # Contextual Word Embeddings - Sentence level
 aug = nas.ContextualWordEmbsForSentenceAug()
 augmented_text = aug.augment(text)
 print(augmented_text)

圖片

3、LAMBADA

基于語言模型的數據增強(LAMBADA)使用預訓練的語言模型來預測句子中缺失的單詞并生成替代句子變體。

LAMBADA技術的靈感來自LAMBADA數據集,該數據集由書籍中的段落組成,其中最后一個單詞被刪除。目標是預測缺失的單詞,這需要對上下文有深刻的理解。LAMBADA文本增強利用語言模型,如GPT或BERT,通過預測給定上下文的缺失單詞來生成新句子。

使用LAMBADA增強器是在句子結構中引入多樣性和提高NLP模型訓練數據質量的極好方法。

LAMBADA模型必須在數據集上進行訓練,之后可以使用nlpag的LambadaAug()函數應用句子級增強。

4、隨機

對輸入文本應用隨機的句子級增強行為。nlpag的RandomSentAug()函數可以隨機交換、裁剪或刪除句子。這些變化有助于更多樣化的訓練數據集。

總結

nlpag庫提供了一組不同的文本增強技術,可以顯著提高NLP任務的文本數據的質量和多樣性。從同義詞替換等簡單操作到上下文詞嵌入等高級技術,nlpag為該學科的學者和從業者提供了廣泛的工具包。

這里是它的Github地址,更詳細的信息可以在這里找到:https://github.com/makcedward/nlpaug

責任編輯:華軒 來源: DeepHub IMBA
相關推薦

2018-03-27 13:33:48

百度

2021-08-30 07:57:26

OpenAttack文本對抗攻擊

2023-02-08 07:44:56

Pandas數據分析

2020-12-31 05:37:05

HiveUDFSQL

2016-11-16 15:05:42

情感分析

2023-07-05 07:36:36

SpringJava代碼

2021-03-28 08:57:57

Python 文本數據

2020-11-06 17:42:02

Python開發工具

2024-12-04 16:50:35

YOLO模型計算機視覺

2017-04-07 09:00:46

UbuntuVim文本選擇

2017-11-03 12:57:06

機器學習文本數據Python

2023-11-28 09:00:00

機器學習少樣本學習SetFit

2011-04-08 14:45:08

文本數據Oracle

2023-11-13 18:37:44

2016-12-14 09:32:49

FileChanne文件復制

2024-10-30 16:59:57

Python機器學習

2024-09-29 16:27:46

Python文件管理

2022-08-17 12:35:26

Linux sed編輯器

2024-01-19 12:11:31

大語言模型知識圖譜人工智能

2022-08-02 06:39:06

多行文本CSS
點贊
收藏

51CTO技術棧公眾號

久久久久网址| 中文字幕在线播放| 国产精品自产拍在线观看| 欧美一区二区三区色| 国产不卡视频一区| 视频一区免费在线观看| 欧美日韩性在线观看| 精品国产亚洲一区二区三区| 日本色护士高潮视频在线观看 | 久久男人av资源站| 老司机在线视频二区| 免费人成在线观看网站| 成人eeuss影院在线观看| 精品欧美一区免费观看α√| 麻豆av一区二区| 精品国产中文字幕| 国产在线视频不卡| 国产精品第1页| 国产国产精品人在线视| 欧美自拍视频在线| 欧美国产中文字幕| 97在线精品国自产拍中文| 欧美一区二区大胆人体摄影专业网站| 国产成人精品福利一区二区三区| 国产亚洲在线播放| 国产一区二区三区av电影| av手机在线观看| 国产成人在线免费看| 7777免费精品视频| 国产精品 欧美在线| 92看片淫黄大片欧美看国产片| 91九色在线免费视频| 欧美极品色图| 成年人看的毛片| 日韩 欧美 高清| 欧美极品欧美精品欧美图片| 污网站在线观看免费| 亚洲美女在线免费观看| www.久久热.com| 日本一级理论片在线大全| 色呦呦网站在线观看| 精品裸体bbb| 丁香综合av| 久久精品影视| 三级欧美韩日大片在线看| 久久9热精品视频| 国产精品欧美久久久久无广告| 亚洲欧洲日韩在线| 精品福利在线观看| 日韩精品在线观看视频| 亚洲国产精品字幕| 青青久久av北条麻妃黑人| 精品免费国产| 日韩在线一级片| 中文字幕在线视频网| 久草中文在线| 午夜视频在线观看精品中文| 亚洲有吗中文字幕| 91丝袜国产在线播放| 欧美午夜不卡视频| 欧美人与性动交a欧美精品| 国色天香2019中文字幕在线观看| 国产精品88a∨| 亚洲一区精彩视频| 免费看成一片| 四虎国产精品免费久久| 在线中文字幕亚洲| 国产亚洲一二三区| 一区二区视频在线| 日韩女优av电影在线观看| 欧美一区深夜视频| 亚洲一二三区精品| 日韩在线免费看| 老牛影视av一区二区在线观看| 亚洲天堂激情| 国产精品狼人久久影院观看方式| 91精品国产综合久久福利软件| xxxxx成人.com| 欧美大片免费播放| 日本动漫理论片在线观看网站| 日韩亚洲一区在线| 26uuu色噜噜精品一区二区| 日韩视频在线永久播放| 亚洲a在线观看| 无码少妇一区二区三区芒果| 日韩免费影院| 亚洲香蕉网站| 91福利国产精品| 91精品国产综合久久香蕉最新版| 成人免费在线观看视频网站| 免费在线中文字幕| 欧美96一区二区免费视频| 91高清在线观看| 国产精欧美一区二区三区| 国产精品久久久久9999爆乳| 成人直播在线| 欧美亚洲一区| 欧美成人video| 91系列在线播放| eeuss影院在线播放| 狠狠爱成人网| 91精品国产高清一区二区三区| 亚洲综合在线小说| 麻豆传媒在线免费| 日韩影院在线观看| 在线观看久久久久久| 亚洲午夜精品国产| 青青国产精品| 日韩理论片中文av| 日韩av片免费在线观看| 人成福利视频在线观看| 国产国产精品| 精品国偷自产国产一区| 中文字幕黄色大片| 国产韩日精品| 亚洲欧美一区二区三区孕妇| 热久久视久久精品18亚洲精品| 精品资源在线看| 久久久久网站| 久久天天躁日日躁| 18禁男女爽爽爽午夜网站免费| 九九免费精品视频在线观看| 欧美在线不卡视频| 玩弄中年熟妇正在播放| 91精品啪在线观看国产18| 色综合色狠狠综合色| 精品在线不卡| 日韩欧美精品一区二区综合视频| 亚洲一区中文在线| 激情一区二区三区| 成人国产精品久久| 黑人巨大精品欧美一区二区| 久久尤物电影视频在线观看| 91久久综合亚洲鲁鲁五月天| 第84页国产精品| 色综合天天综合在线视频| 欧美不卡在线播放| 国产一区美女| 91国产美女视频| 黄色在线观看www| 欧美国产1区2区| 欧美日韩精品综合| 国产调教一区二区三区| 亚洲欧美中文另类| 日本成人一区二区三区| 久久久精品免费网站| 日韩女优中文字幕| 国产乱码精品一区二区亚洲| 亚洲精品美女在线观看| 一个人看的免费视频色| 2021国产在线| 国产精品热久久久久夜色精品三区 | 日韩成人在线电影网| 一级在线观看| 中文字幕欧美国产| 日本丰满少妇xxxx| 国产婷婷精品| 91精品国产综合久久久久久久久| 日韩一本二本av| 巨骚激情综合| 亚洲制服丝袜av| 免费av一级电影| 26uuu欧美| 国产精品v日韩精品| 51xtv成人影院| 欧美在线啊v一区| 三级做a全过程在线观看| 亚洲已满18点击进入久久| 成人一级片网站| 国产在线精品一区二区不卡了| 视频一区不卡| 久久精品久久综合| 免费观看黄色的网站| 蜜臀久久久99精品久久久久久| 涩涩日韩在线| 国产精品亚洲第一| 欧美一级片免费播放| 91老师片黄在线观看| 任你操这里只有精品| 日韩啪啪电影网| 97碰在线观看| 性人久久久久| 88国产精品欧美一区二区三区| 精品亚洲成人| 久久精品国产网站| 久久久一二三四| 91丝袜美腿高跟国产极品老师| 国产www免费| 欧美国产1区2区| 97碰碰视频| 色综合综合色| 91pron在线| 国产一区二区三区四区在线观看| 18禁裸男晨勃露j毛免费观看| 91一区一区三区| 狠狠干夜夜操| 欧美老女人在线| 日本综合视频| 中文字幕日韩欧美| 国产精品毛片久久|