顯示具有 情緒分析 標籤的文章。 顯示所有文章
顯示具有 情緒分析 標籤的文章。 顯示所有文章

2018年1月26日 星期五

歡迎加入機器智能實驗室_FB社團

大家好,我是資料科學實驗室作者Jerry,由於個人工作歷程的發展,目前正在從「數據科學」轉移到「機器智能」上發展,所以建立了「機器智能實驗室」,在這裡不同以往的,我們可以有更多的互動與交流,也歡迎大家一起進入我們的研究行列。

未來所有智能化的來源都是資料,而研究多年「資料應用」的Jerry,希望能夠將資料與智能化整合,就像阿里巴巴馬雲說的「以前的電器是插上了電以後就聽你話。未來電器不僅要通電,更要通數據。機器收到數據之後,機器比人變得越來越聰明」。

另外也有牛津大學的學者提到「機器智能將會是我們人類最後一個發明」,讓我更決定開始投入機器智能(Machine Intelligence)的相關研究。

在接下來幾年,資料將會是企業最重要的資產,為了能夠掌握未來發展,企業應該要能夠掌握資料,並開始投入研究資料,進而將資料用在各種智能應用上面。但是因為機器智能(Machine Intelligence)技術越來越複雜,門檻越來越高,因此希望成立機器智能實驗室,希望大家一同共襄盛舉。




======================= [工商服務] =======================
目前JerryWu老師是Google機器學習開發專家,同時擔任機器智能(人工智慧)訓練講師,目前在廣宣學堂、T客邦、資策會、工研院、中國生產力中心、文化大學進修推廣部......等知名訓練機構擔任講師,也同時是亞太智能機器的創辦人兼技術長。
教授課程包含:
機器學習機器理解機器視覺、Python基礎課程、Python資料分析課程、預測分析與管理。

有需要的朋友歡迎來信 jerry@ap-mic.com



2017年5月8日 星期一

透過雲端工具快速實作情緒分析(Sentiment Analysis)

最近實在是太忙,終於有一點時間可以發文,情緒分析一直是筆者的研究之一。自從兩年前「情緒分析(Sentiment Analysis)的作法與商業價值」獲得高度迴響之後,就一直要找時間分享相關的研究。而剛好這兩年Google推出的自然語言技術越來越成熟,筆者就把使用心得給記錄在這邊。

因此本次實作主要使用Google自然語言API (Cloud Natural Language API)來進行情緒辨識,目前支援簡體中文、繁體中文、英文、法文、德文、義大利文、日文、韓文、葡萄牙文、西班牙文。


如果您只是是玩玩,想看一下Demo,Google提供兩個地方給大家玩,第一個到官網
可以自行輸入文字進行辨識情緒。

第二個
或是進到Google API進行API測試,網址請點這裡
透過上方的輸入之後,可以獲得情緒分數的回傳



第三個就是今天要說的,透過雲端工具來取得情緒分數,做之後的系統運用。

在基本教學前,我們自己的電腦必須準備的環境如下:

  1. Google Cloud Platform帳號
  2. Python 3以上的版本
  3. Virtualenv (pip install virtualenv)
  4. gcloud(依據自己的電腦做安裝,本次範例採用Mac OS X)
  5. 務必完成gcloud上面的登入設定
首先建立一個虛擬環境,筆者用gNLP為名稱,接著進入虛擬環境,指令如下圖所示:

接著我們要裝一下gcloud的Python套件,我們可以只裝Language的相關套件就行。
pip3 install --upgrade google-cloud-language


接著測試一下google cloud的套件是否正常,進入Python之後打以下指令:
from google.cloud import language

接著可以下載筆者從 範例加工過的程式碼,請點網址

這時候直接執行英文句子沒問題,但是輸入中文句子,就會出現問題,像是下面這張圖所示
大意是說他抓不到回傳的資訊,不過事實是目前中文正在測試,他不回傳您資料,但是有其他撇步可以使用。

接著我們要到套件本身做一下修改,從上面我們可以看到他是呼叫document這個函式,所以我們要到"/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/google/cloud/language/document.py" 去修改 「document.py」這一個檔案。

打開之後 搜尋「null」看到下面的畫面

將裡面的null改成en,讓google自動偵測語言的機制有了預設值,改完之後存檔案。

再回來執行程式,就大功告成。
範例如下


Score是指情緒分數,Magnitude是指情緒的強度。

記錄一下Google自然語言API (Cloud Natural Language API)的API在一定的呼叫次數下是免費的,計費方式是採用每月1,000個字來做單位,以情緒分析為例,大概超過5,000個字之後就是1元美金,但是文字量越多越便宜,實際的計價方式可參考官方網址

總結一下

優點:
  1. 透過Google CNL API來實作辨識情緒,方便又快速,可以讓大部分的工程師、分析師比較不會太忙(ㄅㄠˋ ㄍ ㄢ  )。
  2. 不用理基礎設施問題,過往透過辨識情緒要耗費的運算資源,這部分都不用考慮進去,直接以Serverless的概念運作。
  3. 可以在五分鐘之內,完成情緒辨識功能,並且在一小時之內上線相關的系統,不用再訓練模型、驗證模型。
缺點:
  1. 有些複雜的句子目前還不能有效地辨識,像是筆者輸入「這台車真好,可是我從來都不開」情緒辨識的結果居然是正面的,所以中文句子還是有辨識問題。
  2. 一些具有領域知識的名詞 或是特殊名詞 ,混雜在句子裡面的時候,辨識也不會太準,像是「這台車真的是瞎爆了」這樣的句子也無法正常辨識。
  3. 透過Google CNL API實作,超過一定的呼叫次數後,就要錢(廢話)。
所以結論還是要請資料科學家幫忙做調整跟修正囉:)








2015年4月20日 星期一

情緒分析(Sentiment Analysis)的作法與商業價值




情緒分析(Sentiment Analysis)是繼文字探勘(Text Mining)之後,近年被熱烈討論的議題。過去學者普遍探討的是如何把一句話非結構化轉結構化的方法,像是各式演算方法,包含監督式學習(Supervised learning)、半監督式學習(Semi-supervised learning)、非監督式學習(Unsupervised learning)方法都有大量討論,各種文字探勘工具也應運而生,現在透過R、Python也都能很快做到這些事情。

我們隨著學者的腳步,可以發現隨著時代演進,解析文字的科技發展,在20年間有很快速的變動。從最早的網頁資料探勘(Web Data Mining)、文字探勘(Text Mining),慢慢的演進到近10年討論的情緒探勘(Sentiment Analysis)與意見探勘(Opinion Mining),再到這2年的情緒分析系統(Sentiment Analysis System)這樣的議題,都是為了要解決我們大量文字的閱讀需求,因為人類每一天不斷產生文字與內容已經超乎我們想像。

要如何從大量文字裡面掏金,有幾個步驟非常重要,筆者整理如下:

  1. 選定目標
  2. 爬文解析
  3. 斷字斷句(非結構化轉結構化)
  4. 情緒分析
  5. 資料視覺化

粗略上面的步驟,都有個別的議題需要討論。從1、2、3、5步驟都有現成工具可以使用,最難的反而是第4的步驟「情緒分析」。

針對「情緒分析」筆者在有限的時間下,整理這10年大部分學者所做的幾個方法
,供有興趣的朋友參考:
  1. 基於文件為基礎的情緒分類(Document-based sentiment classification)
  2. 以主觀的概念做情緒分析(Subjectivity and sentiment classification)
  3. 以外觀(屬性)為基礎的情緒分析(Aspect‐based sentiment analysis)
  4. 建立情緒字彙的情緒分析(Lexicon‐based sentiment analysis)
還有其他關於情緒分析有趣的議題,包含從2005年開始有學者針對線上評論的評等預測(Review rating prediction)、2006年有學者開始研究意見比較(Comparative opinions)、以及2007年開始有學者研究意見垃圾偵測(Opinion spam detection)等。

這些方法的重點都是要嘗試從大量的文字中,辨識出正面與負面等情緒,好讓這些結果產生出商業價值,但事實上還是有許多問題需要被解決,包含像是特殊的嘲諷句子,如:「這手機很棒,我從來都無法開機。」以及像是中文文法、日文文法等等問題,因此做的精準做得好,還需要投入大量的資源與成本,更重要的是要跨領域,包含找中文系、英文系等熟稔語言的專家,加入一些修辭學的概念等等,甚至是筆者同事建議的語音、圖像辨識專家,因為在大數據的時代講究的是跨領域的整合,單從文字上解析的變數還不夠,還需要更多元的資料,才能做得更好。

綜觀來說,情緒分析的商業價值,除了可以提早了解顧客對於產品或公司的觀感,進而調整營運策略方向。在產品銷售的途中,也可以捕捉顧客對於產品的體驗。筆者也曾使用類似的方法協助某企業了解他們顧客對於產品的評價狀況。筆者同事也曾上述方法進行服貿事件的文字解析。不管在銷售前、銷售後,企業在了解市場的方法上,除了問卷,透過情緒分析我們有值得參考的新選擇。


參考資料: