【人工智能資訊】
模型,是客觀事物的簡化表示!
歷史上,每一個偉大模型的提出,都極大地推動了科學和社會的發展,比如歷史上出現的3個非常有名的模型——萬有引力定律、大陸漂移假說、日心說。
在人工智能領域,也有很多模型用來解決現實生活中遇到的千千萬萬的問題。
我們在現實生活或業務場景中遇到的問題一般可以分為6個通用問題簇:權重問題、狀態問題、序列問題、表示問題、相似問題和分類問題。
那么,在遇到特定場景的特定問題時,選擇什么模型,或需要對現有模型做哪些方面的修正和改良,就成了大家最感興趣的話題。
我們只要將遇到的問題歸為其中某一類,就可以尋找相關的模型來解決了。
為了快速對問題進行分類,幫助大家更好地運用模型,本文就帶大家來看一下運用人工智能模型的基本步驟!
首先,我們需要參考知識圖譜的相關理念,對各問題簇進行描述。
熟悉人工智能的讀者一定聽說過知識圖譜,其被稱為彌補當前深度學習困局的最佳方向。
這里希望借助知識圖譜的許多術語來研究我們在現實生活中可能遇到的問題。
整體來說,知識圖譜是一個“知識”的網狀結構。
知識圖譜主要包含3個術語:實體(Entity)、屬性(Attribute)和關系(Relation)。
在知識圖譜中,我們將需要描述的事物稱為實體。實體可以是看得見、摸得著的事物,如汽車、房子、電視、風扇;也可以是虛擬的事物,如軟件、程序、算法、方案等。
屬性是實體的特征,一般來說一個實體有多個屬性。
在不同的應用場景中,對同一個實體,我們整理的屬性集合可能完全不同。例如,同樣是統計我國的14億個國民,實體集合是相同的,教育部門在做業績報表時可能更關注國民的學歷屬性,財政部門在做業績報表時可能更關注國民的稅收屬性,統計部門在做業績報表時可能更關注國民的收入屬性。
客觀世界的各個事物之間有千絲萬縷的聯系,在知識圖譜中,我們把這種聯系用實體之間的關系來抽象表述。
關系(Relation)在知識圖譜中一般用一個三元組(X,R,Y)表示,其中X和Y是兩個實體,R是關系。
在實際實現時,R可以是布爾型,例如夫妻關系可以用是和否的一個布爾型表示;也可以是枚舉型,例如用戶對書籍的喜愛程度可以用1星、2星、3星、4星、5星等5個枚舉值表示;還可以是實型,例如用戶A和用戶B的相似度;也可以是其他可能的類型。
對于一個實際的業務場景,如果要建立一個知識圖譜體系,一般會包括如下步驟。
確定實體的類型:分析業務場景的需求,判斷為滿足業務需求需要多少類實體。
確定實體的屬性:分析實際業務需求,判斷每一類實體應該有多少個屬性,分別是哪些屬性。
確定屬性的數據類型:這是一個純技術問題,布爾型、整型、實型、字符串等,這個比較簡單。
確定實體間的關系:根據業務需求分析實體之間有哪些聯系,用什么形式表示成關系。
為了對實際業務場景中可能遇到的問題進行分類,我們可以建立問題的知識圖譜。問題知識圖譜的建立過程,與上述過程類似,也要分析問題可以表示為多少類實體,每類實體有哪些屬性和關系。
使用知識圖譜的方法來研究實際業務場景中可能遇到的問題,每一個問題即為知識圖譜的一個實體。
對于每一個實體,我們一般關注的屬性有前提假設、已有數據、待求數據等。
這幾個屬性的含義分別如下。
前提假設:現實業務場景的問題一般都有特定的前提假設。在求解問題時,我們首先要知道問題有哪些前提假設,是否會影響問題的解決效果,不同的前提假設會導致問題需要使用不同的模型來求解。
已有數據:在求解問題時,肯定有一些已知數據,對于解決問題的模型,我們一般把這些已知的數據叫作模型的輸入。在分析問題時,首先要仔細分析這些已知數據。已知數據不同,或數據格式不同,可能會需要采用不同的模型來求解。
待求數據:所謂要解決某一個問題,其實就是有某個數據未知,需要想方設法求出來。對于模型,我們一般把這些待求數據叫作模型的輸出。在分析問題時,對這些待求數據更要認真分析,不同的待求數據需要不同的模型來求解。
前面已經提道:使用知識圖譜的方法來研究實際業務場景中可能遇到的問題,每一個問題即為知識圖譜的一個實體,對實體與實體之間的關系的研究也非常重要。
一般來說,實體的關系主要包括如下3種。
實體之間的關系:要分析實體之間的關系,尤其是實體之間的負相關關系。之所以要研究實體之間的關系,是為了讓問題解決得更徹底,避免出現解決一個問題導致其他問題又出來的情況。
已知數據之間的關系:一般來說,每個問題的已知數據不是一個,而是多個,我們要仔細分析這些已知數據之間的關系。對于同一個問題,不同的已知數據關系,會導致最終選擇不同的求解模型,從而有不同的結果。
已知數據與待求數據的關系:歸根到底,所謂解決問題,就是從已知數據求解未知數據的過程,即根據輸入找到輸出的過程。因此我們在分析問題、建立問題的知識圖譜時,要認真分析已知數據和待求數據之間的關系。
前面描述的構建問題知識圖譜的內容可能有點空洞,所以接下來就通過一些實例來理解一下。
例如,我們考慮如下實際業務場景:我們要處理海量的判決文書的數據,分析完成后,律師輸入一個案件的案由,希望系統返回與本案件最相似的案件,這就是同案同判的實際場景。同案同判對于辯護律師、法官、法律體系科研人員都有重要意義。
我們先探討一下前提假設的分析,用實際案例讓讀者體會一下前提假設分析對問題求解及模型選擇的影響。為了分析和處理海量的判決文書,第一個要解決的問題是對一篇文章中的各個單詞賦予權重。
讀者可能馬上會想到TF-IDF模型,這只是一個條件反射,因為大家在學習過程中了解最多的模型就是TF-IDF模型。對詞語權重賦值最完美,最經得住實踐檢驗,最有名氣的模型就是TF-IDF模型。TF-IDF模型的前提假設是:文章中比較重要的詞語在當前文檔會頻繁出現,在其他文檔中出現的頻次卻不那么高。
在同案同判場景中,我們并不關心上訴人和被上訴人是誰,只對案件的作案動機、作案手段、作案過程、作案結果等感興趣。而在實際的判決文書中,高頻出現的詞語一般是上訴人和被上訴人,“重要的詞語會在當前文檔高頻出現”這個假設不成立。TF-IDF的前提假設已經失效,如果我們還堅持使用傳統的TF-IDF模型求解問題,則效果勢必很差。
已有數據是什么?數據是什么格式的?有多大規模?數據是否已經清洗?
這些都會影響問題的求解,影響模型的選擇和運用。還是上述的同案同判的場景,如果我們從判決文書網下載了最高人民法院公布的幾千萬份判決文書語料,那么一般的技術路線是將這幾千萬份判決文書進行分類處理(也可能是聚類),用同一個類的質心來表示該類別。律師輸入某個案由后,我們實際要做的是將該案由分到某個或某些類中,因此這是一個分類模型。
如果沒有海量的判決文書語料,那么上述分類方法就不可行。
我們可能需要整理法律文書語料的知識圖譜。在建立好知識圖譜后,對于律師輸入的某個案由,系統要做的工作是將該案由與知識圖譜中的實體做相似度計算,返回相似度最大的實體信息。這需要使用相似模型。模型用到的特征可能包括作案性質、作案手段等內容,這些內容可能是文本形式,也可能是格式化好的數據庫形式。
待求數據的變化會影響產品的形式,也會對模型的選擇造成影響。還以上述同案同判的場景為例,如果已有數據已經確定,就是有幾千萬的判決文書數據,同案同判可能至少有兩種不同形式的待求數據(輸出數據)。
兩種待求數據完全不同,需要使用的模型集合也會完全不同。
對于第一種待求數據,一般會采用向量空間模型來表示文本;使用余弦相似度或加權余弦相似度模型來計算相似度;然后返回相似度最高的若干結果即可。
對于第二種待求數據,向量空間模型明顯失效。在向量空間模型中非常相似的兩個文書,對于律師來說可能差之毫厘,謬以千里。例如如下兩個判決結果,在向量空間模型中相似的可能接近或等于1,但是在律師眼里這兩個判決結果簡直是天壤之別。我們可能需要類似LSA等語義模型,需要知識圖譜等其他表示模型。
A.法院最終判決:被告人賠償受害者100萬元人民幣,判處有期徒刑6.0個月。
B.法院最終判決:被告人賠償受害者1000萬元人民幣,判處有期徒刑60個月。
在分析問題時,還需要分析已有數據與待求數據之間的關系。數據之間的關系不同,求解模型可能也會不同。
例如,《模型思維》一書在第2篇介紹了3種權重計算模型:TF-IDF模型、線性回歸模型和PageRank模型。
假設場景是分析中國的名人排名:一個是要排出中國的“Top 500 富豪榜”;一個是要排出中國的“Top 500權威專家榜”;一個是要排出中國的“Top 500 影響力人物榜”。
計算富豪榜時的已有數據是各人的收入、股票、基金、債券、房產等;計算權威專家榜時的已有數據是各人的畢業學校、學歷、論文、專利、業績等;計算影響力人物榜是各人的人脈關系。
但是,計算富豪榜時我們會使用TF-IDF模型來做適度調整;計算權威專家榜時我們會使用線性回歸模型來做適度調整;計算影響力人物榜時我們會使用PageRank模型來做適度調整。
計算富豪榜時需要考慮收入、股票、基金、債券、房產等多個維度,計算權威專家榜時需要考慮各人的畢業學校、學歷、論文、專利、業績等多個維度,為什么這些維度這么相似,卻會使用不同的模型呢?這就需要我們認真分析各維度之間的差異。
收入、股票、基金、債券、房產之間是可以有統一量綱的,即美元、歐元或人民幣;而畢業學校、學歷、論文、專利、業績等是沒有統一量綱的,必須使用回歸模型。
聲明:我們發布的部分文章和圖片來源于網絡,用于專業知識和市場資訊的交流與分享。任何個人或組織若對文章版權或其內容的真實性、準確性存有疑義,請第一時間聯系我們。我們將及時進行處理。
返回