槽位背後 | AI專家系統的5個階段(上篇)

dicksonjyl560101發表於2019-04-24


本文筆者著重介紹專家系統的五個發展階段——基於規則、基於框架、基於案例、基於模型和基於網路的基本邏輯及側重點。

有許多AI產品朋友經過一定階段的學習和實踐能夠掌握槽位在機器人客服、搜尋、智慧音響等等產品的應用,但是如果能提升到懂槽位背後的邏輯會對AI產品經理深度發展有更大的支撐,而槽位背後對應的人工智慧主要是有專家系統構成。

專家系統又名ES(Expert System),ES一路是逐步由的5個階段發展而來。

本篇筆者對每個階段分析了對應的AI專家系統的知識點,給出實踐演算法,並透過若干實踐案例進行詳述。期望透過對專家系統知識點的學習結合實踐案例為未來更好上手AI產品做積累。

下文著重介紹每個階段的基本邏輯及側重點:

階段一:基於規則的專家系統

知識點:

基於規則的專家系統是目前最常用的方式,主要歸功於大量成功的例項,以及簡單靈活的開發工具。它直接模仿人類的心理過程,利用一系列規則來表示專家知識。

例如對動物的分類:

  1. IF(有毛髮or能產乳)and((有爪子and有利齒and前視)or吃肉)and黃褐色and黑色條紋,THEN老虎。
  2. IF(有羽毛or能飛and生蛋))and不會飛and游水and黑白色and ?,THEN企鵝

這裡,IF後面的語句稱為前項,THEN後面的語句稱為後項。前項一般是若干事實的“與或”結合,每一個事實採用物件-屬性-值(OAV)三元組表示。根據值的選擇不同,可將屬性分為3類。

  1. 是非屬性,例如“有爪子”,該屬性只能在{有、無}中二選一;
  2. 列舉屬性,例如:“吃肉”,該屬性只能在{吃草,吃肉,雜食}中選擇;
  3. 數字屬性,例如:“觸角長度3.5 cm”,“身高1.5 m”,“體重32 kg”等。

演算法:

上述演算法規則是透過專家集體討論得到的。這樣形成的規則存在以下3個缺點:

  1. 需要專家提出規則,而許多情況下沒有真正的專家存在;
  2. 前項限制條件較多,且規則庫過於複雜。比較好的解決方法是採用中間事實。例如:首先確定哺乳動物、爬行動物、鳥類動物,然後繼續進行劃分;
  3. 在某些情況下,只能選取超大空間的列舉屬性或者數字屬性,此時該屬性值的選取,需要大量樣本以及複雜的運算。

因此,更傾向於採用一套演算法體系,能自動從資料中獲得規則。

決策樹演算法基本能夠滿足知識工程師的需要,較好的決策樹演算法包括基於資訊增益的ID3、C4.5、C5演算法,基於Gini 索引的 CART 演算法。

階段二:基於框架的專家系統

知識點:

基於框架的專家系統可看作是基於規則的專家系統的一種自然推廣,是一種完全不同的程式設計風格。用“框架”來描述資料結構,框架包含:某個概念的名稱、知識、 槽(槽為的槽)

當遇到這個概念的特定例項時,就向框架中輸入這個例項的相關特定值。

程式語言中引入框架的概念後,就形成了物件導向的程式設計技術。可以認為,基於框架的專家系統等於物件導向的程式設計技術,對應關係如下圖:

演算法:

神經網路、特徵提取、NLP類演算法

實踐:

如下圖影像處理識別框架:

上圖圖顯示了一個典型的影像處理識別框架,這裡將整個系統分為4個大類:文件類、影像類、影像畫素類、影像識別類,每類賦予特定的物件和事件,最後組合成一個系統。

階段三:基於案例的專家系統

知識點:

基於案例推理的專家系統,是採用以前的案例求解當前問題的技術。

求解過程如下圖所示:

首先獲取當前問題資訊,接著尋找最相似的以往案例。如果找到了合理的匹配,就建議使用和過去所用相同的解;如果搜尋相似案例失敗,則將這個案例作為新案例。因此,基於案例的專家系統能夠不斷學習新的經驗,以增加系統求解問題的能力。

演算法:

最常用的匹配演算法是最近鄰法,k-近鄰法,徑向基函式網路,排序演算法等。

實踐:

佐治亞理工學院的一名電腦科學教授戈埃爾,創造的AI助教吉爾·華生,吉爾·華生是佐治亞理工學院的線上機器人助教。戈埃爾上傳了四個學期的資料,共四千多個問題與答案,並附上了其他Piazza上的閒談,用基於案例的專家系統開始訓練他的人工智慧助教。

有一次,一位學生問它“挑戰性問題是否會包括文字和圖片資料?”。

“挑戰性問題裡沒有文字資料,”吉爾的回答非常正確,“他們只會被當作形象化的問題來執行。但歡迎你自己寫下文字資料並試試執行它們!”(是的,吉爾用了一個感嘆號)。

新學期結束的時候,戈埃爾揭露了吉爾的身份。學生們不僅沒有感到不愉快,還像對待教師們一樣感到欣喜。一位學生稱它“無與倫比地酷”。另一位學生則想與它共進晚餐。

階段四:基於模型的專家系統

知識點:

傳統的專家系統一個主要缺點在於“缺乏知識的重用性和共享性”,而採用本體論講問題模型化來設計專家系統,可以解決該缺點。另外,它既能增加系統功能,提高效能指標;又可獨立深入研究各種模型及其相關,將結果用於系統設計。

演算法:

機器學習、深度學習等演算法。

實踐:

下圖是由6個模型搭建起來的一個小型控制系統,實現了利用神經網路逼近車間生產過程,繼而預測產量。

上圖可見由於模型元件、介面、通訊、限制等全部標準化,因此利用Simulink軟體,透過簡單的滑鼠連線,可在1分鐘內開發出這個系統。

階段五:基於網路的專家系統

知識點:

隨著第三波人工智慧高潮發展之前移動網際網路的發展,網路已成為使用者的互動介面,軟體也逐步走向網路化。

而專家系統的發展也順應該趨勢,將人機互動定位在網路層次:專家、工程師與使用者透過瀏覽器訪問專家系統伺服器,將問題傳遞給伺服器;伺服器則透過後臺的推理機,呼叫當地或遠端的資料庫、知識庫來推導結論,並將這些結論反饋給使用者。

演算法:

神經網路、機器學習、深度學習、決策樹、Logistic迴歸、判別分析等演算法。

實踐:

賽事預測系統、乳腺癌等醫療影像病症診斷系統。

例如:對環法腳踏車賽引入機器學習演算法,幫助人們預測比賽各種可能情況。透過收集車隊車手歷史資料,人工智慧將預測不同參賽人員的比賽程式。同時,觀眾也可以根據統計資料瞭解現場車速以及各個車手的具體位置、騎手之間的距離以及各車隊情況。

在每部腳踏車鞍座下安裝全球衛星定位系統,透過這些訊號轉發器收集資料,結合賽道坡度及天氣情況等外部資料,產出各種分析結果。例如:個別車手的實時速度與所在地點、各個車手之間的距離、參賽隊伍陣容等,建立各車手的歷史資料資料中心,在網路上(也雲端)進行管理。

小結

隨著人工智慧逐步成熟,對於人工智慧產品經理來說,僅僅會設計槽位還不夠,明白槽位背後的人工智慧深處的邏輯,能夠更好的將AI應用於垂直領域。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2642364/,如需轉載,請註明出處,否則將追究法律責任。

相關文章