晶文摘自然語言處理NLP應用實作
作者: 夏肇毅
初稿: 20220822
自然語言處理(Natural language processing)
http://cubicpower.idv.tw/cubicnotes/notes-0000038.html
Google Tensorflow: Text
Sentiment analysis- IMDB large movie review dataset
Basic text classification
https://www.tensorflow.org/tutorials/keras/text_classification?hl=zh-tw
基本文本分類
情緒分析
下載並探索 IMDB 數據集
加載數據集
準備數據集進行訓練
配置數據集以提高性能
創建模型
損失函數和優化器
訓練模型
評估模型
創建隨時間變化的準確度和損失圖
導出模型
對新數據的推論
練習:關於 Stack Overflow 問題的多類分類
Word embeddings
https://www.tensorflow.org/text/guide/word_embeddings?hl=zh-tw
詞嵌入
將文本表示為數字
One-hot 編碼
用唯一的數字編碼每個單詞
詞嵌入
設置
下載 IMDb 數據集
使用嵌入層
文本預處理
創建分類模型
編譯和訓練模型
檢索經過訓練的詞嵌入並將它們保存到磁碟
可視化嵌入
Text classification with an RNN
https://www.tensorflow.org/text/tutorials/text_classification_rnn?hl=zh-tw
使用 RNN 進行文本分類
設置
設置輸入管道
創建文本編碼器
創建模型
訓練模型
堆疊兩個或多個 LSTM 層
Classify text with BERT
https://www.tensorflow.org/text/tutorials/classify_text_with_bert?hl=zh-tw
使用 BERT 對文本進行分類
關於 BERT
情緒分析
從 TensorFlow Hub 加載模型
選擇一個 BERT 模型進行微調
預處理模型
使用 BERT 模型
定義你的模型
模型訓練
損失函數
優化器
加載 BERT 模型並進行訓練
評估模型
繪製隨時間變化的準確性和損失
導出推理
Search: kaggle 登入
https://nancysw.medium.com › 兩種取用-kaggle-資料...
Search: 聊天機器人 python
在Python 中實作對話型聊天機器人 - WANcatServer
https://wancat.cc › post › python-chatbot-context
Search: chatbot python github
zake7749/Chatbot: 基於向量匹配的情境式聊天機器人 - GitHub
https://github.com › zake7749 › Chatbot
Mianbot
匹配示例
環境需求
使用方式
聊天機器人
計算匹配度
規則格式
問答測試用資料集
Building a Simple Chatbot from Scratch in Python (using NLTK)
https://github.com › parulnith › Building-...
Building a Simple Chatbot from Scratch in Python (using NLTK)
NLP
Import necessary libraries
Downloading and installing NLTK
Installing NLTK Packages
Reading in the corpus
Tokenisation
Preprocessing
Keyword matching
Generating Response
Bag of Words
TF-IDF Approach
Cosine Similarity
Day 13:快速完成一個『對話機器人』(ChatBot) -- 續
Search: 反洗錢 模型 python
https://www.ithome.com.tw › news
(Top 1% Solution)玉山人工智慧公開挑戰賽2020夏季賽 - Medium
https://medium.com › 玉山人工智慧公開挑戰賽2020夏...
爬蟲實作
資料清理
模型訓練流程
洗錢文章分類模型(AML Classifier)
CountVectorizer+樸素貝葉斯(Multinomial Naive Bayes)
TfidfVectorizer+樸素貝葉斯(Multinomial Naive Bayes)
BERT-Based Model
Bidirectional Encoder Representations from Transformers (BERT)
NLP開源套件 — Kashgari
套件安裝
BERT + BiLSTM + CRF
Conditional Random Fields (CRF)
輸入資料格式
資料驗證集
模型訓練(AML Classifier)
Rule-based Approach
AML Keyword List檢討與修正
AML焦點人物擷取模型(AML NER Model)
Name Entity Recognition
SOTA of Name Entity Recognition
BERT — 句子Level的NER模型
模型訓練(NER Model)
模型比較
Bi-directional LSTM/GRU
Bi-directional BiLSTM/GRU + CRF
CNN + LSTM
Bi-directional LSTM + CNN (Customized)
Search: 防詐欺模型 python
靠AI扮演壞人來練兵!SAS揭露用GAN設計金融防詐欺模型的新 ...
https://www.ithome.com.tw › news
步驟一、構建Amazon Fraud Detector 模型
https://pages.awscloud.com › Tech-blog_Amazon-Frau...
Search: 詐欺 python
https://www.796t.com › content
資料準備: 來源於Kaggle
準備並初步檢視資料集
時間序列下的交易發生頻率(分為詐騙和正常)
詐騙和正常交易交易金額的頻率分佈
各特徵和因變數的關係
用邏輯迴歸方法對信用卡資料進行建模分析
信用卡詐騙分析-不平衡資料分析與處理kernel翻譯-完整版
https://medium.com › 機器學習知識歷程 › 信用卡詐騙...
預處理
縮放和分配 Scaling and Distributing
拆分數據 Splitting the Data(從原始DataFrame)
隨機欠採樣和過採樣
分佈和相關性 Distributing and Correlating
異常檢測 Anomaly Detection
降維和分群 Dimensionality Reduction and Clustering (t-SNE)
分類器 Classifiers
更深入地了解邏輯回歸 A Deeper Look into Logistic Regression
使用SMOTE進行過採樣 Oversampling with SMOTE
測試
使用邏輯回歸進行測試 Test Data with Logistic Regression
神經網絡測試(欠採樣與過採樣)Neural Networks Testing (Undersampling vs Oversampling)
Part 5. Imbalanced Data 不平衡資料 - iT 邦幫忙
https://ithelp.ithome.com.tw › articles
評估指標
Confusion Matrix 混淆矩陣
Precision and Recall 精確率與召回率
F1 score
ROC(Receiver Operating Characteristic) 接收者操作特徵曲線
曲線下面積稱 Area Under Curve (AUC)
重組資料
Oversampling 過採樣
SMOTE (Synthetic Minority Oversampling Technique)
Border Line SMOTE
Undersampling 欠採樣
Tomek Link
Edited Nearest Neighbor
注意事項
先切分資料,再對訓練資料採樣。
常透過交叉驗證控制過擬合。
觀察少數樣本與多數樣本分布情形。
Search: Credit Fraud || Dealing with Imbalanced Datasets
Credit Fraud || Dealing with Imbalanced Datasets - Kaggle
https://www.kaggle.com › janiobachmann
Credit Fraud || Dealing with Imbalanced Datasets
https://www.kaggle.com/janiobachmann/credit-fraud-dealing-with-imbalanced-datasets
https://www.kaggle.com/code/janiobachmann/credit-fraud-dealing-with-imbalanced-datasets/notebook
信用欺詐探測器
了解我們的數據
收集我們的數據的感覺
預處理
縮放和分佈
拆分數據
隨機欠採樣和過採樣
分佈和關聯
異常檢測
降維和聚類(t-SNE)
分類器
更深入地研究邏輯回歸
使用 SMOTE 過採樣
測試
使用邏輯回歸進行測試
神經網絡測試(欠採樣與過採樣)
從不平衡的數據集中糾正以前的錯誤:
永遠不要對過採樣或欠採樣的數據集進行測試。
如果我們想實現交叉驗證,請記住在交叉驗證期間對訓練數據進行過採樣或欠採樣,而不是之前!
不要使用準確性分數作為數據集不平衡的指標(通常會很高且具有誤導性),而是使用 f1-score、precision/recall 分數或混淆矩陣
Search: NER Wiki
Named-entity recognition - Wikipedia
https://en.wikipedia.org › wiki › Named-...
翻譯這個網頁 https://en-m-wikipedia-org.translate.goog/wiki/Named-entity_recognition?_x_tr_sl=en&_x_tr_tl=zh-TW&_x_tr_hl=zh-TW&_x_tr_pto=sc
Search: 異常檢測 wiki
https://zh.wikipedia.org › zh-tw › 异常??
異常檢測[編輯] ... 在資料探勘中,異常檢測(英語:anomaly detection)對不符合預期模式或資料集中其他專案的專案、事件或觀測值的辨識。 ... 通常異常專案會轉變成銀行欺詐 ...
Search: SMOTE 過採樣 wiki
Oversampling and undersampling in data analysis - Wikipedia
https://en.wikipedia.org › wiki › Oversampling_and_unde…
Search: Confusion Matrix wiki
https://en.wikipedia.org › wiki › Confusi...
翻譯這個網頁 https://en-m-wikipedia-org.translate.goog/wiki/Confusion_matrix?_x_tr_sl=en&_x_tr_tl=zh-TW&_x_tr_hl=zh-TW&_x_tr_pto=sc
Search: 精確率 召回率 wiki
https://zh-yue.wikipedia.org › wiki › 精確率同召回率
Search: F1 score wiki
https://zh.m.wikipedia.org › zh-tw › F-score
Search: ROC AUC wiki
ROC曲線- 維基百科,自由的百科全書 - Wikipedia
https://zh.m.wikipedia.org › zh-tw › ROC曲?
Search: bin_goods bin_bads
... 用於評估特徵的預測能力,IV是在woe的基礎上計算的,在進行woe編碼前,需要對特徵做分箱處理(離散化),然後計算每個箱體內的好人數(bin_goods)和壞人數(bin_bads), ...