深度學習與大數據

深度學習與大數據


這幾年AI 深度學習的議題好像變成菜市場的話題,走在馬路上或在餐廳吃飯也會聽到。以前聽過一句話:如果菜市場的人都在討論股票,就表示該拋售了。如今在街上走路都可以聽到大數據,打開人力銀行有關軟體的徵人啟示,也看到很多徵聘AI深度學習或大數據分析人員。我不知道是缺人還是工作機會變多了?怎麼會如此熱門?只要看到深度學習,幾乎同步看到大數據分析。是不是深度學習就等同大數據分析?或是大數據分析要用到深度學習?另外也看到資策會的AIGO網站上有所謂的「競賽出題」。

自己是軟體人員,寫程式超過三十幾年,雖然不能說「寫過無數」軟體,但也確實有點經驗,至少在大數據或人工智慧方面都有實際推出產品上市。但是看著那些徵求AI深度學習或大數據分析的徵人啟事或競賽出題,怎麼覺得怪怪的?哪裡怪,很難一句話說清楚。

舉例來說,大數據,到底多少數量以上稱為大數據?我看到網路上有宣稱「大數據工具軟體」銷售,還宣稱可以跟市場上多數SQL 資料庫相容。但是「跟SQL資料庫相容」就讓我覺得怪怪的。為何?據我所知,目前市場上的所有SQL都無法只用一台主機處理大數據。因為SQL會隨著資料量變多,效率變差,這會導致所謂的大數據處理變得沒有效率。

用一個簡單例子來說,統計中文詞頻這件事,聽起來很簡單。只要把「詞」當成索引欄位丟到SQL建立資料庫,然後分析文章時,不斷的去更新(累加)詞的出現次數,最終就可以得到詞頻。這真的是很完美的應用SQL。但實際上會怎樣?

首先,要分析中文詞頻,先來瞭解一下,何謂「詞」?很簡單,就是中文字的排列組合。沒錯,這大家都知道。但中文有多少個詞?因為要做詞頻統計,基本上無法預設哪一些文字組合是合理的詞或不合理的詞,因為總是有些錯別字造成不存在的詞,而這些不存在的詞,在統計初期是無法排除的。因為我們必須統計詞頻以後,才能根據詞頻來決定哪一些詞是常用詞,哪一些是罕用詞,哪一些詞是錯誤詞。


基於無法預先排除中文字隨機組合,那就很容易計算出會「可能」出現多少個數量的詞。很簡單,乘一下就好了。網路說明 Unicode13.0中 編碼收錄的漢字大约93000字左右.

所以包含有效或無效但可能會出現的:

二字詞:93000 x 93000 個。

三字詞:93000 x 93000 x 93000 個。

四字詞:93000 x 93000 x 93000 x 93000 個。

這三種詞加起來已經是天文數字了,請問哪一個SQL可以處理這麼龐大的數字?這些是「可能會出現的最大數量」,雖然真實情況沒那麼多,但在演算法上,必須考慮最大數量才合理。

到底真實出現的正確詞+錯誤詞的數量有多少個?不多,只有幾百億個而已。這不是用猜的,是我實際做過。我以前開發奇易中文的得意輸入法,就曾經花了幾年時間,寫程式到網路上抓取文章來統計詞頻,跑了一年多年得到結果。所以對我來說,這不是聽來的,也不是猜測,而是實際做過,而且也推出產品,還風光了好幾年呢!


所以說,大數據分析?多少數量才叫做大數據?高興就好,不用太計較!


2022/06/21







分享此篇文章: