成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五個很少被提到但能提高NLP工作效率的Python庫

開發 后端
本篇文章將分享5個很棒但是卻不被常被提及的Python庫,這些庫可以幫你解決各種自然語言處理(NLP)工作。

 本篇文章將分享5個很棒但是卻不被常被提及的Python庫,這些庫可以幫你解決各種自然語言處理(NLP)工作。

[[442381]]

Contractions

Contractions它可以擴展常見的英語縮寫和俚語。 并且可以快速、高效的處理大多數邊緣情況,例如缺少撇號。

例如:以前需要編寫一長串正則表達式來擴展文本數據中的(即 don’t → do not;can’t → cannot;haven’t → have not)。Contractions就可以解決這個問題

 

  1. pip install contractions 

使用樣例

 

  1. import contractions 
  2. s = "ive gotta go! i'll see yall later." 
  3. text = contractions.fix(s, slang=True
  4. print(text) 

 

結果

 

  1. ORIGINAL: ive gotta go! i’ll see yall later. 
  2. OUTPUT: I have got to go! I will see you all later. 

 

文本預處理的一個重要部分是創建一致性并在不失去太多意義的情況下減少單詞列表。 詞袋模型和 TF-IDF 創建大型稀疏矩陣,其中每個變量都是語料庫中一個不同的詞匯詞。 將縮略語進行還原可以進一步降低維度,還可以有助于過濾停用詞。

Distilbert-Punctuator

將丟失的標點符號的文本進行斷句并添加標點符號……聽起來很容易,對吧? 對于計算機來說,做到這一點肯定要復雜得多。

Distilbert-punctuator 是我能找到的唯一可以執行此任務的 Python 庫。 而且還超級準! 這是因為它使用了 BERT 的精簡變體。在結合 20,000 多篇新聞文章和 4,000 份 TED Talk 抄本后,對模型進行了進一步微調,以檢測句子邊界。 在插入句尾標點符號(例如句號)時,模型還會適當地將下一個起始字母大寫。

安裝

 

  1. pip install distilbert-punctuator 

這個庫需要相當多的依賴項,如果只是想測試,可以在 Google Colab 上試用。

使用樣例

 

  1. from dbpunctuator.inference import Inference, InferenceArguments 
  2. from dbpunctuator.utils import DEFAULT_ENGLISH_TAG_PUNCTUATOR_MAP 
  3. args = InferenceArguments( 
  4.         model_name_or_path="Qishuai/distilbert_punctuator_en"
  5.         tokenizer_name="Qishuai/distilbert_punctuator_en"
  6.         tag2punctuator=DEFAULT_ENGLISH_TAG_PUNCTUATOR_MAP 
  7.     ) 
  8. punctuator_model = Inference(inference_args=args,  
  9.                              verbose=False
  10. text = [ 
  11. ""
  12. however when I am elected I vow to protect our American workforce 
  13. unlike my opponent I have faith in our perseverance our sense of trust and our democratic principles will you support me 
  14. ""
  15.  
  16. print(punctuator_model.punctuation(text)[0]) 

 

結果

 

  1. ORIGINAL:  
  2. however when I am elected I vow to protect our American workforce 
  3. unlike my opponent I have faith in our perseverance our sense of trust and our democratic principles will you support me 
  4.  
  5. OUTPUT
  6. However, when I am elected, I vow to protect our American workforce. Unlike my opponent, I have faith in our perseverance, our sense of trust and our democratic principles. Will you support me? 

 

如果你只是希望文本數據在語法上更加正確和易于展示。 無論任務是修復凌亂的 Twitter 帖子還是聊天機器人消息,這個庫都適合你。

Textstat

Textstat 是一個易于使用的輕量級庫,可提供有關文本數據的各種指標,例如閱讀水平、閱讀時間和字數。

 

  1. pip install textstat 

使用樣例

 

  1. import textstat 
  2. text = ""
  3. Love this dress! it's sooo pretty. i happened to find it in a store, and i'm glad i did bc i never would have ordered it online bc it's petite.  
  4. ""
  5. # Flesch reading ease score 
  6. print(textstat.flesch_reading_ease(text)) 
  7.   # 90-100 | Very Easy 
  8.   # 80-89  | Easy 
  9.   # 70-79  | Fairly Easy 
  10.   # 60-69  | Standard 
  11.   # 50-59  | Fairly Difficult 
  12.   # 30-49  | Difficult 
  13.   # <30    | Very Confusing 
  14.  
  15. # Reading time (output in seconds) 
  16. # Assuming 70 milliseconds/character 
  17.  
  18. print(textstat.reading_time(text, ms_per_char=70))# Word count  
  19. print(textstat.lexicon_count(text, removepunct=True)) 

 

結果

 

  1. ORIGINAL: 
  2. Love this dress! it's sooo pretty. i happened to find it in a store, and i'm glad i did bc i never would have ordered it online bc it's petite. 
  3.  
  4. OUTPUTS: 
  5. 74.87 # reading score is considered 'Fairly Easy' 
  6. 7.98  # 7.98 seconds to read 
  7. 30    # 30 words 

 

這個庫還為這些指標增加了一個額外的分析層。 例如,一個八卦雜志上的名人新聞文章的數據集。使用textstat,你會發現閱讀速度更快更容易閱讀的文章更受歡迎,留存率更高。

Gibberish-Detector

這個低代碼庫的主要目的是檢測難以理解的單詞(或胡言亂語)。 它在大量英語單詞上訓練的模型。

 

  1. pip install gibberish-detector 

安裝完成后還需要自己訓練模型,但這非常簡單,只需一分鐘。 訓練步驟如下:

  1. 從這里下載名為 big.txt 的訓練語料庫
  2. 打開你的 CLI 并 cd 到 big.txt 所在的目錄
  3. 運行以下命令:gibberish-detector train .\big.txt > gibberish-detector.model

這將在當前目錄中創建一個名為 gibberish-detector.model 的文件。

使用樣例

 

  1. from gibberish_detector import detector 
  2. load the gibberish detection model 
  3. Detector = detector.create_from_model('.\gibberish-detector.model'
  4.  
  5. text1 = "xdnfklskasqd" 
  6. print(Detector.is_gibberish(text1)) 
  7.  
  8. text2 = "apples" 
  9. print(Detector.is_gibberish(text2)) 

 

結果

 

  1. True  # xdnfklskasqd (this is gibberish) 
  2. False # apples (this is not

 

它可以幫助我從數據集中刪除不良觀察結果。還可以實現對用戶輸入的錯誤處理。 例如,如果用戶在您的 Web 應用程序上輸入無意義的胡言亂語文本,這時可以返回一條錯誤消息。

NLPAug

最好的要留到最后。

首先,什么是數據增強?它是通過添加現有數據的稍微修改的副本來擴展訓練集大小的任何技術。當現有數據的多樣性有限或不平衡時,通常使用數據增強。對于計算機視覺問題,增強用于通過裁剪、旋轉和改變圖像的亮度來創建新樣本。對于數值數據,可以使用聚類技術創建合成實例。

但是如果我們正在處理文本數據呢?這就是 NLPAug 的用武之地。該庫可以通過替換或插入語義關聯的單詞來擴充文本。通過使用像 BERT 這樣的預訓練語言模型來進行數據的增強,這是一種強大的方法,因為它考慮了單詞的上下文。根據設置的參數,可以使用前 n 個相似詞來修改文本。

預訓練的詞嵌入,如 Word2Vec 和 GloVe,也可用于用同義詞替換詞。

 

  1. pip install nlpaug 

使用樣例

 

  1. import nlpaug.augmenter.word as naw 
  2.  
  3. # main parameters to adjust 
  4. ACTION = 'substitute' # or use 'insert' 
  5. TOP_K = 15 # randomly draw from top 15 suggested words 
  6. AUG_P = 0.40 # augment 40% of words within text 
  7.  
  8. aug_bert = naw.ContextualWordEmbsAug( 
  9.     model_path='bert-base-uncased',  
  10.     action=ACTION,  
  11.     top_k=TOP_K, 
  12.     aug_p=AUG_P 
  13.     ) 
  14.  
  15. text = ""
  16. Come into town with me today to buy food! 
  17. ""
  18. augmented_text = aug_bert.augment(text, n=3) # n: num. of outputs 
  19. print(augmented_text) 

 

結果

 

  1. ORIGINAL: 
  2. Come into town with me today to buy food! 
  3.  
  4. OUTPUTS: 
  5. • drove into denver with me today to purchase groceries! 
  6. • head off town with dad today to buy coffee! 
  7. • come up shop with mom today to buy lunch! 

 

假設你正在使用一個具有 15k 條正面評論和僅 4k 條負面評論的數據集上訓練監督分類模型。 嚴重不平衡的數據集會在訓練期間產生對多數類(正面評價)的模型偏差。

簡單地復制少數類的示例(負面評論)不會向模型添加任何新信息。 相反,利用 NLPAug 的高級文本增強功能來增加多樣性的少數類。 該技術已被證明可以提高 AUC 和 F1-Score。

結論

作為數據科學家、Kaggle 參與者或一般程序員,重要的是我們需要找到更多的工具來簡化我們的工作流程。這樣可以利用這些庫來解決問題,增強我們的數據集,并花更多時間思考解決方案而不是編寫代碼。

責任編輯:華軒 來源: 今日頭條
相關推薦

2022-08-16 10:32:08

Python數據科學

2021-01-08 10:38:40

前端開發代碼

2021-01-12 15:17:40

命令Linux操作系統

2018-08-08 09:00:00

UNIXLinux命令

2015-11-16 10:03:10

效率

2023-10-13 12:56:23

工作效率VS Code技巧

2020-05-07 10:25:13

工作效率遠程辦公CIO

2021-09-30 16:25:20

物聯網人工智能IoT

2018-07-11 10:39:11

程序員效率工具

2018-08-10 10:22:19

編程語言Java高效工具

2020-11-26 10:29:01

Redis

2009-05-15 16:36:34

EclipseIDE效率

2021-07-19 05:53:32

程序員工作效率效率

2019-08-30 14:25:03

Vim命令Linux

2009-05-14 11:43:56

2023-05-15 06:55:27

ChatGPTPrompt

2023-06-12 10:51:43

開發工作效率技巧

2012-03-12 13:35:10

開發

2010-03-05 13:00:39

Ubuntu命令

2014-04-04 10:27:50

碼農工作效率
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一二三区精品 | 欧美极品视频在线观看 | 久热国产精品视频 | 中文字幕高清 | av黄色免费 | 免费看片在线播放 | 狠狠的操 | 国产精品高清一区二区三区 | 亚洲人在线 | 国产精品国产a | 国产精品久久久久永久免费观看 | 国产精品视频一区二区三区四区国 | 免费一级片| 午夜男人天堂 | 天天躁日日躁aaaa视频 | 欧美精品一区二区免费 | 国产精品99免费视频 | 免费一区二区在线观看 | 久久久久国产精品午夜一区 | 一级黄色毛片 | 国产99热精品 | 亚洲精品一区二区三区在线 | 日本字幕在线观看 | 中文字幕 国产 | 97高清国语自产拍 | 亚洲国产精品一区二区三区 | 国产黄色大片 | 精品福利在线 | 97av在线| 久久躁日日躁aaaaxxxx | 国产成人精品一区二区三区视频 | 精品三区| 成人性生交大片免费看中文带字幕 | 精品国产视频 | 久久99深爱久久99精品 | 一区二区精品 | 精品一区二区三区在线观看国产 | 国产高清视频 | 国产视频中文字幕在线观看 | 国产精品国产成人国产三级 | 成人精品在线观看 |