智慧客服自然語言處理技術發展淺談


  • 前言/摘要

近年來,產業智慧化,數位轉型為產業主趨勢,而在各產業中客服尤顯重要,根據invesp客製化轉化率優化公司研究 [1, 2]指出,到2020年,沒有人工干預的客戶互動佔85%,並表示聊天機器人可以幫助企業節省高達30%的客戶服務成本,且回答多達80%的常規問題縮短回應時間,另外有95%的消費者認為“客戶服務”將成為聊天機器人的主要受益者,由此可見智慧客戶服務成為現今自然語言處理中重要的應用之一,在2020年底國內新光人壽提出利用BERT演算法學習 [3],提升客戶服務品質,故本篇將淺談近年來關於自然語言處理的演算法。

  • 定義

自然語言處理是近年來重要的發展支線之一,是一種透過將複雜的語言轉化成讓電腦容易理解的人工智慧技術,目前在自然語言處理的架構下可以分成自然語言理解和自然語言生成兩種發展面向,在實際應用層面可以用在偵測詐騙郵件、情緒分析、搜尋建議更正、詞類標示、機器翻譯、語音辨識、人名辨識擷取、摘要文本大綱和句法分析等 [4, 5]。

自然語言處理分析架構

自然語言處理分析架構

 

智慧客服的流程架構為根據自然語言處理演算法套用至聊天機器人情境進而延伸於產業應用,故下述將根據套用的自然語言處理技術進行簡介。

聊天機器人應用流程圖[6]

聊天機器人應用流程圖[6]

 


  • 現況發展


根據自然語言處理的演算法發展,現在主要研究的演算法有ELMO、GPT、BERT、RoBERTa等,下面將分別描述:

ELMO演算法架構

  ELMO為了解決之前舊有模型的缺點如Word2vec(2013),目前既有發展完善的自然語言處理模型,並沒有考慮文章上下中字詞的相關性的問題, [7]採取透過LSTM或者RNN的方式進行特徵選取,該特徵選取屬於自然語言處理近幾年中常見的方式,但到2017年google發表出Transformer的方式,該性能超越了上述的神經網絡,成為近期中研究的新秀,故ELMO的效能則稍顯較差,不過仍是在演算法演進中一個重要的里程碑,推進了文本探勘中針對上下文相關性的研究。 [8, 9]

GPT演算法架構

發展至今自然語言處理除了機器理解之外,更希望有朝一日能機器文章生成,自動產生劇本或者摘要,故開發出GPT,GPT至2020年已經發展到GPT3,其參數使用量是目前自然語言模型中最驚人的一個,據統計超過億個參數,該演算法最知名的應用是獨角獸文章,利用字詞預測演算法產生一篇描述獨角獸的類似於小說的文章,而它所使用的原理為自回歸,自回歸顧名思義,它利用既有文字進行自行學習,所以它能關注到的字詞是自己之前的字串,這樣的缺點就是沒有考慮到上下文文字相依性的問題,這也就是在後續發展出XLNet的原因;GPT它所使用的特徵選取方法就是2017年google發表出Transformer的方式,Transformer簡單來說它分為decoder和encoder兩個部分,先學習全部文字再解譯應該呈現的文字排序,而在GPT中主要就是解譯排序的部分,這也是它能夠文章生成的原因,只是這樣的結果還是有待提升的,例如像是參數過於龐大,導致模型所耗的空間也是十足龐大。 [8, 9, 10, 11, 12]

BERT演算法架構

 

BERT是這幾年內跟XLNet一樣熱門的演算法,它解決了ELMO和GPT的部分問題,例如文字相依性,上下文學習的問題,它所提出的學習方式分兩部分pre-trained model和 Fine-Tuning,就是以既有基礎訓量的模型(pre-trained model),再藉由針對特定目的進行微調訓練(Fine-Tuning)將模型的準確性提高,這也是近年模型的主要趨勢,BERT在pre-trained model的階段中會進行兩個任務訓練:

  • 針對特定位置的字詞進行遮罩,利用像克漏字填寫的方式訓練,應該填入什麼字詞
  • 預測下句,特定的標記以確認學習任務模式,目前標示的句字是否為應該接續的下一個句子

上述的兩個訓練任務為pre-trained的基礎學習,其中,它的特徵選取方式跟GPT一樣為Transformer,而BERT更專注於Transformer的encoder,它所關注的是整篇文章,透過學習整篇文章去判別與預測下個字詞,它的缺點有因特定遮罩而有失準確性外,且因為以字為單位,無法直接訓練出地名人名等特定詞彙,在中文中最容易出現這樣的問題,故百度後來延伸出ERINE以詞為單位進行訓練。 [8, 9, 13]

根據前面描述總結,BERT和GPT最大的差異,一個是屬於自回歸,一個是屬自編碼,這兩者所專注點會影響後續演算法Attention的部分,後來延伸的XLnet是屬於這兩種的結合意義,若屬於自回歸則無法瞭解訓練後續需要學習的向量,而自編碼則是了解了所有的向量才進行訓練,這種方式會變成預測能力會有某種程度上的下降,故在這種方式向則較不適用於文本生成,相反自回歸方式會比較常發展用於研究於文本生成,只是他的語句完整度來說就會有所下降,而XLnet是讓自回歸的輸入序列打亂,進而提升預測準度的能力。 [8, 9]

 

RoBERTa演算法架構

RoBERTa是BERT的延伸模型,它改善了BERT固定遮罩的問題,利用隨機選取位置,進行遮罩預測克漏字,且刪除掉了預測下句的預訓練部分,減輕了學習任務的壓力,的確大大的改善了準確度的性能,其缺點便是它比BERT相比,訓練資料相當龐大約比原本的多10倍。 [8, 9]

 

  • 結語

近年來,自然語言處理的演算法發展迅猛,不同演算法為了因應實務,能夠做到的延伸分析和應用越來越多元,演算法不斷優化,越來越精準,但仍有很多需要克服或者改善的痛點,值得我們持續關注。

 

  • 來源

[1] “Chatbots In Customer Service – Statistics and Trends [Infographic],” [線上]. Available: https://www.invespcro.com/blog/chatbots-customer-service/.

[2] “AI將成廣告界創意總監?自動生成的文案,點擊率卻提升68%,怎麼做到的?,” [線上]. Available: https://www.bnext.com.tw/article/58877/marketing-artificial-intelligence. [存取日期: 5 3 2021].

[3] “新光人壽智能客服小新 升級變聰明,” [線上]. Available: https://money.udn.com/money/story/5617/5182665. [存取日期: 18 1 2021].

[4] “斷開中文的鎖鍊!自然語言處理 (NLP),” [線上]. Available: https://research.sinica.edu.tw/nlp-natural-language-processing-chinese-knowledge-information/. [存取日期: 9 3 2021].

[5] “自然語言處理,” [線上]. Available: https://zh.wikipedia.org/wiki/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86.

[6] “聊天機器人入門:從0到1,” [線上]. Available: https://enginebai.com/2016/06/26/chatbot-tutorial/.

[7] “NLP model — ELMo,” [線上]. Available: https://medium.com/%E6%88%91%E5%B0%B1%E5%95%8F%E4%B8%80%E5%8F%A5-%E6%80%8E%E9%BA%BC%E5%AF%AB/nlp-model-elmo-6bd828a824a.

[8] “進擊的 BERT:NLP 界的巨人之力與遷移學習,” 10 7 2019. [線上]. Available: https://leemeng.tw/attack_on_bert_transfer_learning_in_nlp.html. [存取日期: 9 3 2021].

[9] “ELMO, BERT, GPT,” [線上]. Available: https://www.youtube.com/watch?v=UYPa347-DdE.

[10] “【NLP】OpenAI GPT算法理解,” [線上]. Available: https://zhuanlan.zhihu.com/p/59286975.

[11] “「NLP」GPT:第一個引入Transformer的預訓練模型,” [線上]. Available: https://kknews.cc/zh-tw/code/zp8em9l.html.

[12] “The Illustrated GPT-2 (Visualizing Transformer Language Models),” [線上]. Available: https://jalammar.github.io/illustrated-gpt2/.

[13] “自然语言处理中的语言模型预训练方法(ELMo、GPT和BERT),” [線上]. Available: https://www.cnblogs.com/robert-dlut/p/9824346.html.