我們都知道資料有兩類:“結構化資料”和“非結構化資料”,如果有“結構化資料”,我們只要對結構化資料做增刪查改就可以,進一步需要解決伸縮性的問題,但是更多的資料是非結構化資料,所謂非結構化資料并不是說資料內部毫無結構,而是資料的結構并沒有被使用者定義、抽取、索引和查詢,
從這個角度來說,如果資料是結構化的,資料庫能解決的,就不必要再使用其他更復雜的做法,但是如果資料沒有被很好的結構化,資料的有價值的資訊并不能很好的地被索引和查詢,用來支撐產品的進一步改進、創新進而創造商業價值,那么,我們就應該對資料的結構進行定義、抽取、索引并提供介面,
資料獨特的結構可以建立并支撐起一個領域的獨有的產品和商業, 例子:地理資料是一種獨特的關于位置和拓撲的資料結構,支撐了諸如Google Maps 這樣的產品,以及打車相關的產品,關于 Google Maps 產品的構建程序, 余晟 在他的公眾號“ 余晟以為”上寫過一些系列,可以閱讀《Google Maps 的故事》,從其創建程序中還是能獲得一些啟發,
回過頭來,文本資料是一種半結構化資料,有標題,與段落,有正文,正文里有不同型別的內容,搜索和推薦是挖掘文本內容的兩個出口,搜索是用戶主動使用關鍵字文本查詢,對用戶來說是一種主動明確的行為;推薦是平臺根據資料(用戶創作的文本和用戶的行為畫像)“猜”用戶可能需要什么,對用戶來說是一種被動模糊的行為,
所有的資料都一致的看待,無論是搜索還是推薦,都需要在所有的資料上處理,單次資料處理的空間比較大,如果對資料做分類,在搜索和推薦的時候,可以對資料空間做裁剪,裁剪到一個資料的子集里搜索和推薦,期望這樣做之后,可以獲得搜索上更好的性能,更精確的結果;獲得推薦上更好的個性化猜測結果,
對資料的分類,也會使得對資料的索引更精細,從知識的角度來說,能在分類的基礎上構建知識圖譜,本質上也是對資料的結構資訊提取后建立索引的程序,
對文本資料的結構化,第一個維度是“多標簽分類”, 首先,建立統一標簽體系(參考:CSDN 統一標簽設計 征求反饋 ),逐步推薦所有資料標簽的統一(參考:CSDN 統一標簽開放倉庫),建立漸進統一的版本,其次,針對統一標簽訓練文本標簽多分類器,提供智能標簽建議服務,并在不同業務上使用,在資料的入口處對資料進行初步的標簽結構化,
為什么要統一標簽? 因為不同系統產生資料的標簽如果不是一個系統,那么A系統的資料在標簽系統 S1下,B系統的資料在標簽系統S2下,S1和S2之間的資料不在一個空間下,從理論上來說就難以根據標簽來做合適的匹配,所以一致的標簽系統,和一致的機器識別模型,至少在基礎面上讓文本資料的標簽在一個統一的空間下,那么這些資料之間的匹配才有合理的基礎,在這個基礎上,需要持續解決的是標簽系統的完備性和標簽識別模型的精確度,
簡單來說,希望統一標簽建立起文本資料的笛卡爾坐標軸,文本資料在這些坐標構成的空間中,能有合適的嵌入表示,原則定下來,實作這個目標需要不斷付出努力,
對文本資料的結構化,第2個緯度是“技能樹”, 對知識進行結構化的一個核心做法就是建立樹,例如生物學科上有門綱目科屬種,維基百科有知識的層次結構,書籍有目錄結構等,使用樹來做資料的結構化雖然不是徹底的,畢竟資料庫的發展表明關系型代數比樹更徹底和成熟,但是那是對已經結構化的資料而言的,對于半結構化資料,非結構化資料,我們希望對每一個有明顯層次結構的細分領域建立一棵“技能樹”,并使用匹配演算法把資料匹配到技能樹對應的節點上,那么,我們就完成了對領域資料的層次化劃分,這與文本資料的標簽化是正交的關系:技能樹上的一個節點的資料可能含有多個標簽,但是這些標簽應該盡可能是地屬于這個技能樹領域的,
有了技能樹,我們能做什么? 基于標簽的資料,我們能做的是在一個“點”上對資料做搜索和匹配,基于技能樹,我們則可以在一條“線”上對資料做搜索和匹配:來到某個節點后,節點是可以前進、后退,
進一步,一棵樹,多少是按入門、進階、中階、高階的布局展開的,因此當資料落到領域技能樹里,我們就有了對資料的難度的大致劃分,我們知道學習的規律上,你總是應該在 “比當前水平高一些的范圍內展開學習”,也就是所謂的“在學習區里學習”,當我們對資料做了劃分,就有了匹配真正的“學習區”資料的基礎,
實踐上,首先對一個領域構建一棵技能樹,一棵技能樹下有初/中/高三個一級節點,每個節點下通過書籍目錄、領域可靠權威站點、以及相關的知識圖譜(CSDN知識圖譜)通過演算法和人工編輯結合的方式合成技能樹,在程序中要解決許多技能樹優化問題 ,分階段地,我們優先發布 Python/Java/云原生的技能樹,放在CSDN技能樹開放倉庫 上,同時展示一些初步的資料覆寫統計,
知識圖譜是一個聽上去挺高大上的名詞,但要在實際的系統中構建起有用的知識圖譜系統,基于知識圖譜構建有價值的產品,還是需要付出努力的,回到開篇,原理上來說,如果關系型資料已經能很好的解決問題,創造足夠優秀甚至創新的產品,就不必下一步,反之,如果有海量的半結構化非結構化資料,經過深度結構化后能發掘出原來資料庫增刪查所不能提供的資料的維度,支撐產品上上進一步的迭代甚至創新,那么我們就說:使用機器學習、深度學習的方式對資料的深度結構化,是一個獨特和有價值的事情,事實上,從結構化和非結構化資料的角度,也能看清機器學習和傳統關系型資料處理之間的差異,再復雜的SQL查詢它還是資料庫查詢,不是機器學習,但是對資料結構化后,提供的查詢可以是SQL查詢也可以是其他非SQL查詢,
基于標簽和技能樹,長期來看,會是一個以解決應用需求為目標的構建知識圖譜的程序,這里面有很多工程和迭代問題需要逐步解決,
通過這些分析,厘清標簽、技能樹和知識圖譜之間的關系,目的是在實踐中保持清晰的目標,同時建立起團隊和專案的長期主義:區分重要和緊急的目標,
–end–
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/292622.html
標籤:AI
上一篇:機器學習入門之聚類演算法
