在這篇文章中,主要介紹如何將一個機器學習的模型嵌入到web系統中,這篇文章的主要內容包括:
1、利用flask構建一個簡單的web
2、將機器學習模型嵌入到web系統中
3、根據用戶的反饋來更新模型
主要包括三個頁面,評論提交頁面、分類結果頁面、感謝頁面。當用戶提交評論後跳轉到結果頁面,後臺根據已有的模型來預測用戶評論是屬於正面評論還是負面評論,返回屬於哪一種評論並且返回屬於該種類的概率為多少。提供兩個用戶反饋結果按鈕,如果用戶點擊正確按鈕,則說明預測正確,否則預測錯誤,並將結果保存到SQLlite數據庫中,然後再跳轉到感謝頁面。
一、項目結構
db:目錄中存放SQLite數據庫文件。
pkl:存放模型文件,stopwords.pk為停用詞文件,classifer.pkl為模型文件。
static:為靜態文件目錄,主要存放js和css文件。
templates:為模板文件目錄,用來存放html文件。
app.py:主要文件,包含界面跳轉和模型預測等功能。
updatePkl.py:為模型更新文件。
vectorizer.py:將評論轉換成為特徵向量便於預測。
二、界面說明
界面做的比較簡單,沒有過多的去調整的樣式,主要是實現功能。
1、用戶提交評論界面
用戶在這個界面可以輸入自己的評論,並提交。
2、分類結果頁面
用戶可以通過這個頁面查看自己評論的分類結果,並可以進行相應的反饋。如果,用戶沒有確認是否正確,SQLite數據庫中將不會保存這條評論所屬的類別。
3、感謝頁面
通過這個界面可以跳轉到,提交評論界面。利用SQLiteStudio可以查看數據庫保存評論
三、功能的實現
1、將評論轉成特徵向量
2、主要功能
3、模型更新
為什麼要將更新模型用另一個文件運行,而不是在用戶提交反饋之後就直接更新模型?
如果在同一時間評論的用戶多的話,直接在用戶提交反饋之後就更新模型,可能會造成在更新模型文件的時候會損壞模型文件。建議,在本地更新模型文件之後,再上傳到服務器。
閱讀更多 機器學習之路 的文章