NLP專案實戰02:英文文字識別

陶陶Name發表於2023-12-16

簡介:

歡迎來到本篇文章!今天我們將討論一個新的自然語言處理任務——英文短文識別。具體而言,即透過分析輸入的英文文字來判斷其是比較消極的還是比較積極的。

展示:

1、專案介面
如下所示是專案啟動後使用者使用使用介面
image

2、佈局介紹
首先可以看到使用者使用介面上存在這麼幾個部分:
2.1、最左邊的功能欄
2.2、最上面的新增識別文字的輸入框
2.3、一個start model按鈕
2.3、Test & Result
2.4、Wordcloud
2.5、WordFrequency

image

3、功能介紹
image
3.1、最左邊的功能欄
這部分暫時沒有功能接入,可以根據個人需求進行功能接入

3.2、最上面的新增識別文字的輸入框
在這裡輸入需要模型進行識別的文字,這裡需要注意,由於本專案是關於英文文字識別的,所以這裡輸入的文字需要是英文才可以。如果輸入的是其他語言的文字,可能模型沒有辦法進行識別,或者說會出現識別出錯的情況。此外由於是英文文字識別,所以使用者使用介面,我也全用英文寫的

3.3、一個start model按鈕
當我們輸入好了文字以後,我們就可以點選這個Start model進行文字的識別了

3.3、Test & Result
當模型識別以後,使用者介面會將識別結果進行展示,Test & Result的結果TaoTao這裡使用的圖表的形式展示的,圖表有兩個屬性,一個是Positive還有一個是Negative,其中Positive表示輸入的識別文字是積極的一類,而Negative則表示消極

3.4、Wordcloud
這裡屬於詞雲的範疇了,也就是說這裡會給我們輸入的文字進行統計,並給資料以詞雲的方式展示出來。單個詞在文字中出現的次數多,則詞雲的字型就越大。相反當單個單詞在文字中出現的次數越少,則詞雲的字型就越小

3.5、WordFrequency
這裡統計的是輸入文字中每一個單詞出現的單詞頻率。
詳細的介面效果如下所示
image

4、專案設計思路
本專案的實現思路如下流程圖所示:
image
這裡的model採用的是深度學習中比較基礎的全連線網路實現的。
資料使用的是開源資料資料集IMDB,然後使用者介面採用的是Flask結合著echarts實現的。可以看到資料和模型演算法都是比較容易實現的。所以我建議大家還是需要多多練習實踐,只有實踐,才可以對程式碼有更加深刻的理解。
5、執行環境介紹
環境:windows+anaconda
主要的python庫如下:
Flask 3.0.0
torch 1.8.2+cu102
torchaudio 0.8.2
torchdata 0.7.1
torchtext 0.9.2
torchvision 0.9.2+cu102
說明:執行本專案cpu版本的torch也是可以執行的,但是建議使用GPU進行

6、執行專案:
首先在專案目錄下開啟cmd,然後輸入:python model.py
當然了,你也可以在pycharm中直接run
等待專案啟動就可以了。專案啟動可能會慢一點,這是由於程式碼需要載入資料集和模型,但是之後的使用還是比較快的,包括模型的識別速度。
image
之後,在terminal中會有一個url,如下所示:
http://127.0.0.1:5000/
我們給這個url輸入到網頁中回車,就可以訪問了
image

之後正常使用就可以了

最後說明:
由於筆者能力有限,所以在描述的過程中難免會有不準確的地方,還請多多包含!
更多NLP和CV文章以及完整程式碼請到"陶陶name"獲取。

相關文章