AI CAFÉ懂應用 :從Python到人工智慧的新手應用分享(#4/16會後報導)

Python是近年來快速成長且逐漸普及的程式語言。由於能應用的領域非常多,包括網站架設、網路爬蟲、資料分析,又或者像遊戲或資安領域都十分常見,更被認為是進入人工智慧領域最好的入門工具。雖然應用領域十分多元,但如何利用Python解決各類不同的需求,仍是許多初接觸Python領域學習者的罩門。

為了讓更多人進一步了解如何應用Python,4月份台北場的 AI CAFE與國際女性 Python 社群「PyLadies Taiwan 」合作,邀請PyLadies Taiwan主要負責人之一的Mars,以及財團法人人工智慧科技基金會AI工程師蕭雅方,與大家分享Python在金融數據與自然語言處理方面的應用。當天兩位工程師在Python應用時,又有哪些重要的心法跟大家分享呢?

學程式並非最難,「觀察」才是網站爬蟲重點

網站爬蟲是Python常見的應用,可以利用它來自動搜集網頁上的資訊。例如各公司的財報資訊、每日股市的成交價格與成交量,以及外幣價格等,只要利用程式就能每天抓取這些具有高度重複性的資訊,但是該怎麼做呢?

Mars以查詢當紅股票2330的每日股價與成交量為例,透過清楚的程式步驟説明爬蟲的用途,更大方分享網路爬蟲最重要的觀念:必須會觀察各個網站或網頁畫面的共同性,例如將網址後的參數換掉,是不是會得到不一樣的內容?Mars說,網站爬蟲可分為兩大階段,第一階段是找出需要的網址並正確爬梳資料,通常這也是最困難的部分;第二階段就是找出固定的資訊並決定資料的儲存方式,就能利用程式快速穩定的重複執行爬蟲過程,最後才是程式的優化。

「資料不是爬到就結束了,還要確認資料是否可信,」Mars說,如果有多個資料來源,可以多方比對以確保爬取的來源與資訊正確。就她的經驗,某些網頁的台灣股市成交量數字容易有出入,這時候就需要多比較同類型的網頁。此外,如果對方網站有阻擋行為,那就代表對方不希望爬蟲影響網站運作,就要尊重一下對方,不要太過頻繁動作。除了網站爬蟲,Mars也現場示範了如何利用Python串接Line notify做為訊息提醒系統,或其他生活應用。

如何從資料到資料分析?從商業問題開始

在爬梳了許多資料後,又該如何應用這些資料呢?Mars提醒,資料科學家或分析師並不是拿到資料就能分析世界上所有問題。大部分問題會從「需要解決的商業問題」開始,例如電商平台想解決的問題可能是:「為什麼網站訪客瀏覽商品卻不下單?」決定好問題後,才能判斷要使用哪些資料?並且依據所設立的問題決定要建立什麼模型,再利用資料驗證結果、解釋成果,最後上線。

如何用Python與電腦對話?

當天另一個讓人好奇的主題就是,如何利用Python做出語言翻譯、對話機器人等自然語言處理(Natural Language Processing)應用。雅方首先解釋了自然語言處理的概念,並說明了如何透過編碼與模型及框架,讓電腦可以理解人類的語言。

要讓電腦了解並處理自然語言,主要任務分為自然語言理解(Natural Language Understanding)以及自然語言生成(Natural Language Generation),先將語言進行編碼後再接著解碼,從而實現電腦能理解語言並且進行回應的行為。雅方使用簡單的概念快速帶領與會者們了解自然語言處理的流程、字詞編碼的重要性、以及電腦如何透過模型訓練來學習的語言特性。從RNN、Seq2seq到注意力機制、Transformer與BERT,與會者能快速掌握到自然語言處理相關的模型演變歷程與優缺點,並且了解Python在此類型任務上的優勢。

兩位工程師也分享了許多Python的實用工具,例如在資料清理階段可能會用到Nunpy或Pandas;又或者想要將顧客群分成VIP及一般客戶時,就會應用到分群,需要處理有時間連續的資料時,就很適合以迴歸方法處理。自然語言處理也有相對應的套件或現成模型進行使用,例如透過Pytorch或tensorflow兩個廣為大眾使用的套件,我們可以快速建立一個基本的模型將英文翻成法文。若手上的訓練樣本不夠,也可以使用他人已提前訓練好的模型(pre-train model)來加以改良成合適自己訓練樣本的模型。

人工智慧科技基金會(AIF)透過知勢內容平台與不定期的線下聚會活動,讓更多人認識人工智慧,並持續擴大AI科普影響力,以推動台灣產業AI化與轉型,我們透過客製化訓練、顧問及專案服務,協助企業建立自己的 AI 團隊。扮演產業與學術界的關鍵樞鈕,有效介接學術能量,讓台灣產業在這波AI浪潮中穩健轉型成長。若您對企業AI課程有興趣,歡迎至人工智慧科技基金會(https://aif.tw/ )了解更多,或直接寫信與我們聯絡 hi@aif.tw