晶文摘

[人工智慧] 自然語言處理NLP應用實作

給晶新聞一個讚



自然語言處理NLP應用實作


作者: 夏肇毅

初稿: 20220822




重點:

RNN:把現在的資料連同過去的資料一起來處理,然後調整參數來學習.

GPT微調任務: 標記,文句分類,文字蘊涵,文句相似度,多選題.

預訓練模型: 將類神經網路事先訓練好供人微調使用.

預訓練語言模型的例子: BERT,GPT

LSTM: 長短期記憶

長短期記憶模組: 遺忘門,輸入門,輸出門

斷詞: 將句子的詞切開

斷詞演算法:基於詞典的分詞法, 統計的機器學習算法, 深度學習的算法 

POS: 詞性標記, Part-of-Speech tagging

BOW: 詞袋, Bag-of-Words, 文章中各句子各用詞的數量.

詞向量: Word Vector, 將詞轉成向量,相同語意的詞會靠很近 

語言模型: 利用貝氏機率來計算一個句中字詞生成的機率

CBOW: Continuous Bag-of-Words,利用上下文來預測中間詞出現的機率

skip-gram: 用中間詞來訓練上下文出現詞的機率

人工智慧於金融應用之驅動力:大數據發展,硬體進步,機器學習技術,消費者期待,電腦安全進步

金融服務的主要AI技術:機器學習,自然語言處理(NLP),深度學習,機器人流程自動化(RPA),認知計算

AI於銀行業的應用:潛力客戶預測,精準行銷,機器人理財,信用評分,反詐欺,身分識別,自動報告

人工智慧於保險科技的應用: 行銷,核保定價,文件判讀,客服,基因檢測





 


自然語言處理(Natural language  processing)

科技> [人工智慧] CNN,影像分區塊與RNN

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 登入

 

兩種取用Kaggle 資料集的方法 - Nancy SW

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 12:快速完成一個『對話機器人』(ChatBot)

Day 13:快速完成一個『對話機器人』(ChatBot) -- 續




Search:  反洗錢 模型 python

 

【玉山AI實例3】自建反洗錢黑名單偵測模型,快速揪出問題

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

 

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

Confusion matrix - Wikipedia

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

F-score - 維基百科,自由的百科全書

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

風控建模系列之數據特徵篩選方法總結(上) - 壹讀

https://read01.com › 科技 › 科學

... 用於評估特徵的預測能力,IV是在woe的基礎上計算的,在進行woe編碼前,需要對特徵做分箱處理(離散化),然後計算每個箱體內的好人數(bin_goods)和壞人數(bin_bads), ...