2017 年 AIDS 年會:應用實例-爬蟲資料

Pei Lee
6 min readNov 15, 2017

--

一、如何從輿情大數據探索企業間秘密關係 / 丘祐瑋 大數軟體有限公司 執行長

大數軟體的主要產品是 InfoMiner 即時輿情分析平台,這次介紹的應該是裡面的其中一個功能,主要是在接觸客戶時,聽到有三四個客戶表示有這項需求,所以才開發出來的東西。主要做法是從公開資料,像是財務報表、新聞以及社群平台等等,擷取公司與公司之間的關係,例如誰是誰的子公司、誰投資了誰等等,藉此做了一個公司網絡圖,這樣當中任一間公司出問題時,能夠立刻判讀有哪些公司可能會受影響。

首先先利用公開資訊觀測站上的公開財務報表,這邊主要的問題點在於:

1. 資料格式:PDF

解決方式:

  • 文字檔:pdfminer、pytestseract
  • 圖檔:Google Vision API

2. 資料儲存:圖資料

最後呈現方式希望是一個網路關係圖,而建立關係網路,要使用圖資料庫(Graph Database),所謂的圖資料庫是利用節點、關係與屬性儲存資料之間的關係,這邊他們實作時是用 twitter 的儲存圖資料的分散式資料庫 FlockDB。

接著再利用網路上的輿情建立企業之間的關係,這邊丘祐瑋抓了各社群平台輿情、公開觀測站即時最大訊息等等。這邊主要講到內容包括:

  1. RethinkDB:

因為輿情資料龐大且非結構化,RethinkDB 如同 MongoDB 可以使用 JSON 格式儲存非結構化資料並可透過分散式的架構,使用多台機器乘載大量資料。

2. elasticsearch:

利用搜尋引擎查找資料,elasticsearch 是一個以 Lucene 為基礎的搜尋引擎,以 JSON 做為儲存格式,針對每個欄位建立 Index,為分散式架構,可以在毫秒回應使用者需求。

下一步是要如何讓電腦讀懂文字?使用文字探勘的技術,從文字中挖掘關聯,這邊主要要做的是命名實體識別 NER(Named Entity Recognition),從文本中檢測命名實體,使用的概念為 Conditional Random Field、FP Growth Tree,不是很清楚這兩個東西,待研究。

最後利用視覺化圖表(D3.js)說明企業關聯,這邊利用了區域社群偵測(Community Detection)標記了不同社群出來的結果。最後丘祐瑋在 DEMO 成果時,可以看到樂陞以及其關聯的公司網路圖,但這邊只能知道他們有關係,並無法得知是什麼樣的關係,因此得進一步點兩者之間的線,這時才會出現新聞連結,點進去看才有辦法知道兩者之間發生什麼事。

在延伸應用上,丘祐瑋表示還可以做經營者之間的關係,以及加入關於海外投資的相關資料,讓網路圖的範圍更廣。

整個的系統架構:

二、ASAP 比價嗶嗶鳥爬蟲的秘辛與其他電商資料分析案例分享 / 崔殷豪 ASAP 省錢購物網 副技術長

這場最令人印象深刻的點在於,傳統爬蟲需要針對個別網頁的標籤來抓需要的資訊,而這邊則是利用機器學習的方式,讓爬蟲能夠自己學習要去哪裡抓到需要的資料。以 ASAP 比價嗶嗶鳥來說,他們希望能夠蒐集各個平台的價格,讓使用者能夠做到同款商品的即時跨平台比價,對於這樣的爬蟲崔殷豪稱之為通用爬蟲。

為什麼要大費周章地訓練機器抓標籤呢?第一點,因為要大量蒐集各種平台的價格,如果一一針對個別網站去找標籤,相當沒有效率。第二點,網站常常會有更新改版的問題,若每次網站改版就去修一次爬蟲也是相當耗工的事。

1. 自動找標籤:

要實踐這樣的通用爬蟲,背後的概念是先將 N 個網頁(HTML)變成 N 棵 DOM Tree,接著將 DOM Tree 重疊,計算每個節點與子樹的亂度產生差異樹。最後的成果是能將一個個網頁轉成一個 row 一個 row,得到一張大 table。雖然這樣說,但其實還是沒有很具體知道該怎麼做,不過目前個人的
intuition 是覺得這個概念很像決策樹(Decision Tree),根據亂度(Entropy)來看分類效果的感覺。

2. 網站改版後自動更新:

將亂度超過門檻值的節點或子樹視為可能有變動的資料,記下其路徑再按照標記路徑回推原本的資料欄位,之後就用這個標記來爬其他商品資料。

崔殷豪表示接下來的 to-do list 是希望能做到全自動化,並且讓爬蟲能夠自動辨識每個欄位的意義。

除了通用爬蟲之外,崔殷豪表示使用者在搜尋 bar 上搜尋的字詞對於電商而言也非常重要。去即時觀測使用者搜尋的關鍵字,能夠即時反應市場需求。例如在寶可夢推出後,暴增的「行動電源」搜尋字,在觀察到這個現象後,能夠即時推播行動電源的相關廣告。

另外,也可以透過自動建立相關字,讓使用者搜尋一關鍵字時,同時出現相關的結果,例如搜尋尿布時同時出現紙尿褲、幫寶適等產品頁面。以目前的搜尋結果而言,搜尋尿布常常會出現寵物尿布的頁面:

最後在搜尋 bar 上能做的還有自動補強建議字(Auto-Complete),根據使用者輸入的前幾個字猜測希望搜尋的產品,以下是兩種截然不同的結果:

以上,為兩場爬蟲相關的延伸應用。

--

--

Pei Lee
Pei Lee

Written by Pei Lee

Data Team Lead @ Retail & E-commerce Industry

Responses (1)