iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 25
1
Everything on Azure

30天手把手帶你趣學Azure☁️-初學者也能動手實作🙌🏻系列 第 25

[DAY25] 使用Azure Machine Learning Studio做自然語言情感分析(2):自然語言分析資料過濾篇及NLP簡單概論

在上一個章節,我們備妥了影片評論的資料,並且將0和1與負面及正面情緒做了前置的對照處理。上一篇的連結如下:
[DAY24] - 使用Azure Machine Learning Studio做自然語言情感分析(1):資料處理及分類篇

雖然我們這個系列主要在講Azure的多樣產品,但為了讓大家更了解實作的內容,接下來可能進入到比較學術的部分了!對於理論比較沒興趣的也可以直接跳到實做的部分,體驗一下自然語言學習的魅力!(我順便也複習一下期末考XD)

理論:自然語言分析概論

這邊因為我們主軸是Azure Machine Learning Studio的應用,理論不會太冗長,只是幫助大家更了解我們實做的Scenario。

Q:什麼是自然語言處理?

A:讓電腦軟體可以了解及產出人類的語言,例如現在常見的Chatbot、情感分析、垃圾郵件過濾等等。

我們在處理自然語言的時候,通常會做以下的處理:

1. 移除太常見的字:在英文的世界裡,不外乎是a、the、at、be、that等等的,如果我們將它們也拿來分析,可能會造成準確性失真

2. 字根字首處理:以下範例我們會把buying, bought, buys都歸類成同一個Entity,以搜尋引擎為例,你查bought也會查到文章是含有buy而不是bought的資料

3. N-Gram字組的排列組合:我們將字的組合做機率統計,來推斷語句的結構

概論就講到這裡囉~~~~如果覺得不夠的讀者可以來上我們老師的Coursera公開課程喔!Zhai老師課程連結

實作:自然語言分析資料過濾篇

接下來延續上一篇(資料處理),我們要進入自然語言處理的部分囉!!!!

1. 建立Preprocess Text元件(從Text Analytics > Preprocess Text拖曳到面板上)

2. 查看Preprocess Text元件的細節

我們可以看到裡面,有前面概論講到的:移除太常見的字以及字根字首處理。可以依照個人需求調整。

3. 完成後點選RUN試跑一下,待會就能看到根據自然語言分析理論,處理完的結果(移除常見字,URL,字根字首等等)。因為我們選擇的是免費方案,處理完五萬筆資料大約需要5分鐘左右,可以來去休息一下待會再回來看結果喔!

我們可以明顯看到,同一篇評論,處理前和處理後的差別。

4. 接下來我要來把資料抽70%起來做訓練資料,30%測試資料(在Data Transformation > Sample and Split > Split Data)

5. 把Split Data跟Preprocess Text的Output資料串上後,點選Split Data,設定切割訓練集的百分比為0.7

6. 接下來我們要加上N Grams Feature的抽取,(Text Analytics > Extract N-Gram Features)

7. 需要設定的部分我已經幫你們列出來了(3-Gram/TF-IDF權重/Pearson Scoring),想了解參數細節,可以參考Zhai老師課程連結。(我怎麼一直在幫老師打廣告XDD不是啦!是我們老師真的教得很好~)

8. 這時候依照老規矩我們還是Run一下看一下N-Gram輸出的結果

這邊可以看到我們的3-Gram Vocabulary已經完成了!按照DF/IDF排序

9. 輸出的N-Gram因為我們只需要部份欄位,我們加入Select Columns in Dataset元件(Data Transformation > Select Columns in Dataset),建立完成後與Extract N-Grams串起來,並選擇Launch Column Selector

選擇Exclude (Review/Preprocessed Review/NumUniqueNGrams/NGramString)

10. 設定完後,不好意思很煩人的我們又要再來RUN一次,Visualize查看一下3-Gram的資料

萃取後大概就是長這個樣子的

到目前為止做的是自然語言處理的部分,下一個章節我們會做機器學習的部分。串接邏輯式迴歸以及資料集訓練,Model評價等等。

做完整套你也曾經體驗用Microsoft Azure Machine Learning Studio打造自然語言分析Model囉!

下一篇我們將帶大家進行到最後一階段~~模型評價及佈署!!
使用Azure Machine Learning Studio做自然語言情感分析(3):機器學習模型(Logistic迴歸)、 模型評價及佈署

參考:

  1. https://www.youtube.com/watch?v=OkNUKYLxpZU
  2. https://web-kaizen.co.jp/2018/06/22/azure-machine-learning-two-class-logistic-regression/

上一篇
[DAY24] 使用Azure Machine Learning Studio做自然語言情感分析(1):資料處理及分類篇
下一篇
[DAY26] 使用Azure Machine Learning Studio做自然語言情感分析(3):機器學習模型(Logistic迴歸)、 模型評價及佈署
系列文
30天手把手帶你趣學Azure☁️-初學者也能動手實作🙌🏻30

尚未有邦友留言

立即登入留言