WiDS Taipei 2021|對話 AI 之趨勢與挑戰- 陳縕儂 Vivian Chen, Ph.D

講者介紹-陳縕儂 (Vivian Chen)📍於卡內基美隆大學 (CMU)——電腦科學院 (SCS)之 語言科技所 (LTI) 獲得博士學位。 陳博士同時也擁有CMU的碩士學位、 國立台灣大學 (NTU) 資訊工程學系 (CSIE) 的學士及碩士學位。 陳博士的研究領域主要為語言理解、機器智慧、口語對話系統、深度學習、及自然語言處理之相關領域。曾榮獲IEEE ASRU 2013、IEEE SLT 2010的最佳學生論文獎,以及ACLCLP傑出碩士論文獎。https://www.csie.ntu.edu.tw/~yvchen/about-ch.html 
https://www.csie.ntu.edu.tw/~yvchen/

▍Part1 大數據時代與 AI 之崛起

本身主要研究機器 Conversation AI 這部分,認為機器可以跟人直接對話,不只是要做聊天,應該透過對話來幫助進行各式各樣的任務,像是前面唐鳳政委舉例的疾管家就是個例子,透過對話方式傳達與疫情相關的各式資訊

非工程師背景,想直接做 AI 職務的朋友們,需要具備什麼思維?有些人會擔心自己工作未來可能會被 AI 取代,應該如何與 AI 共存、讓社會可以更進步?

資料來源:Vivian Chen, Ph.D

簡介:機器學習

程式設計師,寫程式是給予指令,程式只會完成交付的任務,不會自主判斷相關性延伸任務的解決方法

如何判斷使用者是正面評價、中立、負面評價呢?

要人為將所有可能性的條件列出,讓程式一一判斷,是比較難達到的;如果人不能教導機器有條件的推斷,可以透過機器學習做到嗎?

運用機器學習,讓機器蒐集很多正負面評價,告訴機器分別是正評或是負評,目標學 function,把 input 輸出為 output

X=1, F(x)=1 、X=2, F(x)=4、X=3, F(x)=9

假設 F(x) 是 X 的平方,給予機器大量的 input、output ,讓機器自己學習input 如何判斷成為 output 的方式;需給予機器大量的資料,機器就可以找出 function

資料來源:Vivian Chen, Ph.D

語音辨識(聲音資訊->文字)、手寫字辨識(影像資訊->文字)、判斷天氣(天氣資訊->明日天氣)、玩電腦遊戲(遊戲畫面資訊->判斷下一步動作)都可以想成是學習一個 function 的任務;只要收集足夠多的 x 對應 f(x),讓機器學習如何對應

資料來源:Vivian Chen, Ph.D

簡介:Deep Learning 深度學習

深度學習是機器學習的一種,概念是x->f1,f2,f3->f(x)

深度學習 end to end training 詞彙

給予資料 input, 以及對應的 output,中間所有的小 function (simple function)全部都會自然而然的學出來,組合成一個複雜的 function

Deep learning 是機器學習裡面對應應用類神經網絡的實作方式所達成的模型

類神經網絡顧名思義就是模擬人腦神經網絡,是由很多神經元所組成的,把每一個神經元變成一個節點,透過節點傳遞資訊,每一個節點就是一個小function

資料來源:Vivian Chen, Ph.D
資料來源:維基百科 S函數/邏輯函數

期望目標:讓機器可以學習將向量X乘上對應維度的 W+b(bias) 加總後獲得 Z 值,需做轉換壓縮成 0–1 的小數數值,輸出給下一個神經元

資料來源:Vivian Chen, Ph.D

每一個神經元做的是很基本的動作,將神經元組合在一起即可做比較複雜的情況,從左方 input->output 的過程,反思為什麼需要這麼多神經元?

單一神經元只能獲得 0–1 之間的小數,用 0.5 作為區分,大於 0.5 或小於 0.5,做二分類,若疊了很多神經元,可以看到 Y1->Ym Output

想判斷影像屬於哪一 digit,digit 總共10個,第一個 output 就 focus 在他是不是 digit1,深度學習就是將非常多層的神經元組合起來,簡單的 function 透過疊加成複雜 function 也可以有新應用

如何應用深度學習?

Data

big data:需要有很多 X 跟對應的 Y,才可以訓練機器

Hardware

GPU Computing:要做訓練的計算,是需要大量資源的
因資料量大,需透過硬體 GPU 協助,盡量在可接受的時間內計算完畢

Talent

設計 network:需要適合的人才將問題拆解,設計出能對應網路架構的;想建置這樣子的模型是非常不容易的,需要有經驗的人才思考『如何對應目標問題設計出適合的架構?』

▍Part2 智慧對話機器人(Chatbot) 技術簡介

資料來源:Vivian Chen, Ph.D

Q:為什麼想要用對話方式做互動?

A:2021年初,全球行動裝置的使用者已達到4.2B ,在行動裝置上最自然、方便的互動是語音,原因是使用者可能會受到螢幕的限制(如:智慧手錶),不容易直接在上面使用鍵盤模式

如何做 chatbot 技術?

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

透過語音辨識系統,將語音轉換成文字,理解文字背後代表的含義;使用者會希望客服人員協助解決問題

客服人員的挑戰:需要評估、根據現在理解的狀況以及資料庫收集呈現的資訊,要如何做回應?

Task-Oriented Dialogue Systems | Language UnderStanding

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

首先,理解自然語言需要先判斷哪一個資料庫是現在想要搜尋的?用機器學習的方式做分類

根據使用者意圖做二次判斷分類,了解使用者想要找餐廳的什麼資訊?

資料來源:Vivian Chen, Ph.D

餐廳類型、餐廳品質、餐廳種類,要告訴機器資料限制條件,才能找出使用者對應需求的餐廳,再判斷如何將資料查詢結果回應給使用者

資料來源:Vivian Chen, Ph.D

理解一個句子是不容易的,單點語句容易造成錯誤判讀,需要完整的對話資訊;困難點是對話過長,不確定哪些是相關的,會造成過多資訊干擾,導致更難預測,現今許多研究都想解決這樣的問題,希望能透過模型抓取高度相關的段落,藉由這樣的方式讓機器完整了解使用者需求

Task-Oriented Dialogue Systems | Dialogue Management

資料來源:Vivian Chen, Ph.D

目前市面上的產品客戶服務尚未導入機器學習模式,在研究面是有做機器學習的客戶服務嘗試,研究步驟如下:

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

理想的機器學習判斷步驟(上圖),看似簡單但是實際上會受到各種干擾(下圖)

資料來源:Vivian Chen, Ph.D

客服人員可以透過對話了解消費者需求,但是機器很難判斷,是很具挑戰性的,因為ㄧ句對話會含有各種可能性;機器需要正確、全面的資訊才能做追蹤,過程中是否運用機器學習的方式來做?最後才有辦法讓機器做出對應的推薦

資料來源:Vivian Chen, Ph.D

做追蹤的目的,是讓客戶服務人員知道後續可以如何跟消費者做應對,實作上不困難,但模型要做的好是很困難的,不是一件容易的事~

資料來源:Vivian Chen, Ph.D

永遠無法把所有的 SOP 列入,最後還是要讓客服人員自立自強,與顧客進行對話,再針對顧客反應做對話策略的微調;當你還是學生的時候,可以跟老師學習,當你出社會後,很多情況都需要嘗試,針對結果調整嘗試

資料來源:Vivian Chen, Ph.D

Reinforcement Learning framework,舉例:Alpha Go 圍棋

學習如何與使用者互動,理解語意,讓對話進行得更順利;在對話結束時,將滿意度當成 reward,判斷使用者最終是否順利完成需求,目標是讓機器學習正確回應,讓使用者給予最高的 reward(reward 標準可以自定義)

資料來源:Vivian Chen, Ph.D

上圖為2017年的研究情境:運用機器學習的模型,跟假 user 進行互動,學習如何幫助使用者完成任務;下圖右方是經過多次訓練所達到的效果

資料來源:Vivian Chen, Ph.D

Task-Oriented Dialogue Systems | Natural Language Generation

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

現今市面上的聊天機器人產品,是根據 SOP 進行對話的,透過讓 domain 專家告訴機器當發生A事情的時候就做這個動作;還是有很多情況無法做出回應,當對話超出原本設定的範圍,就無法進行處理,是目前的技術有缺點的地方,希望未來可以像真人客服一樣做互動

資料來源:Vivian Chen, Ph.D

為避免對話式技術不成熟導致使用者產生誤解、引發法律爭議,目前市場上的做法仍以專家提供的對話範例作為機器回覆時的參考

▍Part3 智慧對話機器人之趨勢及挑戰

AI 領域重要的趨勢與挑戰,三面向

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

透過語音辨識,呈現出來的文字,雖然拼音無誤,但人是透過文字理解語意的;目前的產品市場都是將語音、文字訊息拆開,其實這兩者需要一起處理,若文字有誤,後面的判斷也會失準;所有相關的聲音詞彙都須納入考量,找出真正正確的句子,得到最後的語意(如下圖)

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

domain 的限制與資料庫相關,在企業內通常只有20%的資料被妥善處理,80%的資料如 Word 文件檔是散落的,是否可以透過 AI 處理尚未結構化的資訊呢?(案例詳見下圖)

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

機器無法跟真人助理一樣做到階段式動作,機器缺少 common sense,沒有辦法將主任務拆解成小任務,目前的產品也都無法做到,是很大的挑戰

資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D
資料來源:Vivian Chen, Ph.D

人類同理心的部分要套用在機器上是有難度的,機器學習辨識使用者情緒,產生跟情緒相關的對應回答,讓對話式機器人透過文字判讀,協助改善焦慮、文明病的創新應用

▍Part4 AI 時代之工作者須具備的知識及技能

▍Slido Q&A -中文資料訓練

Q:中文的資料是比較少的,如何解決?替代方案?

A:目前美國研究員搜集的資料,最大量還是英文,已有技術可以把英文文字轉成向量做處理,可以找出中文轉到相同向量空間,發現同一個向量英文對中文的字是不同的,但是同一個向量,可以透過英文訓練,也可以用於中文情境,是非常新的趨勢,希望下降中文訓練的資料量

英文資料+中等量中文資料,輔助中文模型訓練得更好,透過不同字詞同樣語意對應同樣向量位置的方式

A:學術界也有在收集,不過量級可能很難跟英文開放資料一樣多。所以在中文的部分,多半還是會嘗試利用一些跨語言的模型,利用大量英文資料,可以較容易在少量中文資料上進行 transfer ,也可以達到較好之效果。

Q:由於公司內大量在運用情感分析技術,大部分都使用在社群媒體數據,例如 FB 的貼文底下的留言數據,常常會因為中文繁體可以使用的語料不足,因此很難做模型的訓練,想問問陳教授有沒有什麼建議~?謝謝!

A:比較常見的做法是用簡體中文的開放資料先進行測試 (可以先轉繁體做,或是將目標資料轉簡體放入簡體訓練的模型中)。也有一些人會考慮利用中英翻譯的能力,進行資料增加,或是直接將目標資料轉成英文進行處理。在研究上,比較多人會考慮 cross-lingual 的 embedding 來進行語言的 transfer learning。

▍Slido Q&A -正負評機器學習

Q:語言是很複雜的結構,直觀、正面、負面、反諷描述,可以用什麼方式解決?

A:反諷非常難做,因為聽的人或是看的人不一定會覺得是反諷;讓標記變得非常不明確;若現在做的這個模型,真的判斷出寫的人想表達的意思,標記就要請撰寫者做標註,若希望模型是想要由看的人做標註,標記就要由看的人標註;若是模糊資料,標註可能是AorB,對於模型來說無法做判斷也無法學到東西,以這樣的情況來說,建議把標記不明確的資料先剔除,僅留下很明確是正或是負;或是請寫這句話的人來做標記,就可以解決這個問題

期望做出的系統,想做到是『看的人』做標記 or 『寫的人』做標記,是不同的處理方式,目前都是看的人來做標記,建議找多人來協作,讓清理資料的可用性變高

Q:請問講師,關於正面,可以評估,如果是採用反諷的方式,機器要如何分辨出來呢?

A:如我回答所述,根據資料原本的標記方式,模型會傾向學習到對應的正負。另外,也需要考慮,如果不同 reader 對於同一個 sample 可能會有不同的認定 (有人認為是正面,有人認為是反諷),這樣的資料其實就不適合放入模型中做學習。

Q:想請問如果輸入的訓練資料裡,正面評價和評估評價的資料量比例差距很大,對訓練結果會有什麼影響嗎

A:這是 label imbalance 的問題,如果比例差距過大,直接訓練可能會讓模型有高機率直接預測比較常出現的那個 label (total accuracy 還是可以很高)。故有非常多處理 label imbalance 的作法 (down-sampling, up-sampling, weighted loss 等等),都是可以參考的解決方案。

Q:處理使用者評論常會遇到廣告評論 spam ,想請教老師有沒有處理經驗或建議?

A:我個人沒有此經驗,不過有聽過一些公司處理的方式。假如資料中會很常出現廣告評論等,首先就是要先做一個 spam detection 的模型,對資料進行 filter,才能將剩下的資料再做正負評模型之訓練。 Spam 由於重複性高,也有固定 pattern,所以相較之下還算好偵測。

▍Slido Q&A -智慧助理機器人

Q:智慧助理現在用在金融產業感覺還是使用大量的 rule based 方法,導致消費者使用率還是不大高,想問問講者在金融產業的智慧助理機器人的趨勢上有沒有什麼看法與期待?

A:認為金融產業的智慧助理應該先從,輔助真人客服的方向著手,再漸漸將較容易自動化 (做的比較好) 的部分分出來讓機器人處理,剩下依然用真人與機器輔助的形式去互動。這樣做比較容易有效推動金融業的智慧助理中的能力。

▍Slido Q&A -對話互動產品

Q:請問目前在市面上,教授最看好的對話互動系統產品是哪一種(或最看好哪個面向的應用)為什麼呢?

A:我認為在不同面向,不同產品各有其優勢。舉例來說,Google Assistant在許多知識型的回應或是推薦上,可能效果較佳 (因為 Google 本來就擅長資訊檢索等領域),而 Amazon 則是在美國市占率最高,應用面相最廣,很容易收集到許多資料進行快速更迭,所以在許多有 cover到的領域,Amazon算是最好的,不過它不支援其他語言是其缺點。在台灣,我個人會認為Google比較有其競爭力。

▍Slido Q&A -探討 NLP 產業

Q:對於只有NLP基本知識的上班族,若未來想跨足 NLP 相關產業,想請問教授有什麼推薦的學習方式和資源?謝謝!

A:網路上有很多相關的資源喔!比如 online course (我的youtube就有放相關的課程),可以跟著課程學習,並且一步步自己練習 (搜尋tutorial也可以找到很多step-by-step的一些範例程式),最後練習自己可以code from scratch,我相信就具備一定程度的NLP能力了。

Q:在真人客服的環境中往往問題是沒有邊界的, 相對於圍棋或遊戲的環境好像有點不一樣,圍棋隨著時間往後,局勢會越來越清楚,想請問在沒有邊界的問題上,NLP有表現好的案例或研究嗎?

A:如果是open-domain的情況,目前研究多半著重於chatting的情境。只要對於chatting有個好的定義,還是可以學在模型上的。若是針對任務型對話,通常還是可以限縮在固定的範圍中,也會像圍棋一樣局勢越來越清楚。所以不管是哪一個,在學術研究上的確都有一些不錯的成果(可以搜尋RL for dialogue之類的論文)。

Q:目前 NLP 來說語言的差異非常大,同時不同場景的語言也差異很大,在社群上的語意和在客服的語意一定在推論的時候效果會很不同,因此目前除了改變訓練資料集以外,有什麼實務上的方法適合解決這件事?

A:目前以實際應用來說,改變訓練資料集 & 加入目標領域之domain knowledge (e.g. 給定knowledge graph等)是最好的方式。

▍Slido Q&A -產學應用

Q:目前產業界有需求,也願意協助main domain的資料建立相關自然語言的應用,但缺乏資料工程師或是AI工程師 教授是否有建議之開源軟體,培訓方案,或是專業輔導團隊?

A:我認為產業若有需求,如果沒有辦法hire相關的工程師,比較簡單的方式是需要有顧問進行協助,包含提供相關軟體的資訊,或是提供課程進行培訓,透過專業的顧問來進行規劃應該比較實際,也比較能夠切合產業的需求。

▍Slido Q&A -Reinforce Learning

Q:Reinforce Learning 的 dialogue system 會比現有技術來的好?

A:RL可以像真人一樣學到該如何處理,不會有未定義到就失敗的問題。不過用RL的方式訓練,不太高很多,現在還沒辦法足夠成熟,引入到產品上。

▍更多 WiDS Taipei 2021 精彩演說紀錄,請查看下面索引文:

--

--

陳冠名|Michelle Chen Chen
Taiwanese in Data Science

Brave Together App 產品負責人,現職物聯網科技領域的 iOS Developer,歡迎交流~!