回顧·知識圖譜在貝殼找房的從0到1實踐

DataFunTalk發表於2019-03-04

回顧·知識圖譜在貝殼找房的從0到1實踐

本文根據貝殼找房王賀青老師在DataFun Talk人工智慧技術沙龍中分享的《知識圖譜在貝殼找房的從0到1實踐》編輯整理而成,在未改變原意的基礎上稍做整理。

回顧·知識圖譜在貝殼找房的從0到1實踐

今天分享的內容有四個方面,第一個介紹下知識圖譜,第二個講為什麼 “可以&要”在貝殼找房中落地知識圖譜。第三個就是貝殼找房中的知識圖譜落地應用,最後講一下存在挑戰和未來展望。

回顧·知識圖譜在貝殼找房的從0到1實踐

首先介紹下知識圖譜的簡史。1960年提出了語義網路,作為知識表示的一種方式,主要是幫助自然語言的理解,典型的就是WordNet,從不同維度表達詞與詞之間的語義關係。1980年提出了本體論,先定義一些本體再定義它們相關的關係,成熟的應用就是專家系統。1989年提出了全球資訊網,然後1998年從超文字連線到語義網路,就是將每一個網頁加一個語義含義。到了2006年提出了連結資料的概念,將網際網路上的資料建立一些聯絡,如姚明的頁面出現他妻子葉莉的資訊,會給“葉莉”加一個連結。在2012年Google提出了知識圖譜,目的是提升整個搜尋效果。

知識圖譜旨在描述真實世界中存在的各種實體或概念,以及他們之間的關聯關係。它的每一個實體用全域性唯一確定的ID來標識,就如每個人都有一個身份證號碼;第二個就是用屬性-值對來刻畫實體的內在特性,用關係來連線兩個實體,刻畫他們之間的關聯。如刻畫姚明:屬性-值<姚明+身+2.26米>,關係型<姚明+妻子+葉莉>。


回顧·知識圖譜在貝殼找房的從0到1實踐

從知識圖譜的一個發展史及其定義可以看出知識圖譜具有5個視角優勢,首先是Web視角,建⽴資料之間的語義連結、⽀持語義檢索,第二個就是NLP視角,對⽂本進⾏結構化語義抽取。然後就是KR視角(知識表示),利用計算機的符號表示和處理知識。再者就是AI視角,利用知識圖譜輔助理解人的語言,目前AI大部分是在垂直領域落地,會建立自己的知識庫,幫助垂直領域人工智慧的實施。DB視角,就是以圖的方式儲存知識。知識圖譜展開其實是一個很大的知識網路,儲存時會利用各種的圖資料庫儲存。

回顧·知識圖譜在貝殼找房的從0到1實踐

目前知識圖譜應用場景分為兩塊,一種是通用領域,一種是垂直領域。通用領域如Google的搜尋領域,國內的百度和搜狗也在搜尋領域應用;還有些聊天領域,如智慧機器人、智慧手錶。這種應用有一個特性就是依賴通用知識圖譜,構建依賴國外維基百科,國內有百度百科、搜狗百科,將頁面中結構化資料抽取出來構建知識圖譜來支撐通用領域的問答和搜尋。垂直領域應用越來越多,如金融、電商、公共安全、農業、電信等,如金融裡面的反欺詐,公共安全領域的追捕犯罪分子。不管是通用領域還是垂直領域落地有幾個共性條件,第一個必須有一個結構化的資料,這個資料還要高質量,儘可能的海量資料;第二在資料基礎上會抽象出一個本體庫,從本體層面去定義實體型別,以及表示他們的關係,第三就是有可以利用資料和本體庫的智慧應用場景,依據知識圖譜具有的優勢和現有條件來確定業務場景是否需要知識圖譜。目前知識圖譜支撐的領域有搜尋、問答、推薦、圖資料關係挖掘。

回顧·知識圖譜在貝殼找房的從0到1實踐

接下來講一下知識圖譜為什麼能在貝殼找房中落地。首先我們有豐富的資料可以利用,從兩個維度資料:結構化和非結構化。結構化有樓盤字典,資料億級實體,10億級的三元組。覆蓋型別有房源、客源、小區、學區、地鐵站、帶看、成交等資料。還有非結構化資料,經紀人與使用者對話資料,級別是億級,主要是使用者找房、諮詢經紀人、委託、帶看、成交過程中產生的對話資料。第三種是使用者問答及百科文章,量級是100萬+,非結構化資料主要是使用者關於房產領域的問答及百科知識資料。

結構化資料樓盤字典覆蓋型別有房源、客源、經紀人體系,還會涉及些客戶和業主,都會作為鏈家的參與人。

回顧·知識圖譜在貝殼找房的從0到1實踐

然後講一下為什麼要在貝殼找房中落地知識圖譜,因為貝殼找房有豐富的應用場景,如智慧搜尋&推薦:提升使用者的找房效率; 資料視覺化:分析使用者行為,挖掘資料之間關聯, 智慧問答:做經紀人的助手潛在客戶找房諮詢。右邊的圖是貝殼找房業務中的商業轉化漏斗,這個過程涉及使用者找房、到諮詢經紀人、委託經紀人帶看,最後成交幾個環節。我們的目標就是幫助獲得更多更優質的商機,以及提升他們的服務能力,幫助使用者快速找到合適的房子,瞭解購房知識,拓寬這個漏斗圖。

回顧·知識圖譜在貝殼找房的從0到1實踐

在智慧搜尋方面藉助知識圖譜AI+Web視角, 提升搜尋意圖理解;在智慧推薦方面利用知識圖譜的AI+DB視角;推薦相關的房子,在智慧問答方面利用知識圖譜NLP+AI視角,回答經紀人有關房子的問答。右圖我們可以看到,在搜尋一個學校時,我們可以看到與這個學校相關聯的房源和學區等實體資訊。

回顧·知識圖譜在貝殼找房的從0到1實踐

接下來講一下貝殼找房中的知識圖譜落地應用。一個知識圖譜系統構建流程通常有五個部分,第一個是定義具體的業務問題,第二個資料蒐集與處理,第三個是知識圖譜的設計,第四就是知識圖譜的儲存,最後是應用開發及系統評估。

我們的知識圖譜系統架構有五層,在資料層會有外網資料爬蟲平臺,大部分資料是內網資料,資料分為兩塊結構化資料和非結構化資料。處理層有預處理、歸一化、資料融合以及推理計算。預處理方面結構化資料轉換、半結構化資料抽取、文字關係抽取、資料標註,在處理完後會做一些實體名歸一、屬性歸一、屬性值歸一。資料融合中會做一個實體對齊,因為實體會來自於不同的源,但是表達的是一個實體,可能存在交集或並集,或者一個屬性有多個值,會做一個屬性值的決策。推理計算會基於現有的資料做一些規則推理補充、pagerank、排序欄位。整個生成後會形成一個知識圖譜,建立ES索引或者neo4j索引,然後也會在hdfs或者hive裡面進行備份,支援不同業務方呼叫資料。應用層有IM智慧助⼿、智慧客服、 智慧搜尋、圖譜視覺化。左邊是我們的模式層,從型別定義、屬性定義,最後構建本體庫。本體庫會支撐資料層、儲存層、應用層。

回顧·知識圖譜在貝殼找房的從0到1實踐

知識圖譜構建第一步工作就是本體構建,通過業務中涉及的問題抽象出相應的型別,我們抽象出四大型別交通、地點、人、組織機構,下面會再劃分小的型別,大概有三十多種型別。

構建本體庫使用構建工具protégé,主要有三塊,第一塊是class,第二部分是objects,這是個關係型的屬性,描述兩個實體關係的屬性。Data property是內在屬性,描述實體本身的屬性。正常本體庫構建是自下而上,從資料出發。但在我們的業務中會需要一些自自定義的屬性,加入一些特殊的約束,因此採用自下而上與自上而下相結合構建本體庫。在構建的過程中也加入了對屬性關係的自定義約束,如是否加密、顯示順序、是否歸一化等約束。

回顧·知識圖譜在貝殼找房的從0到1實踐

接下來介紹下知識圖譜在IM智慧助手中落地,應用場景是更快解決使用者問題,提升經紀人的作業效率。依據歷史經紀人與使用者聊天資料進行了一個分類,使用者主要問五種型別問題,75%是於房屋詳情問題、10%是約帶看、6%是貸款、3%是推薦。右圖是整體75%問題中top20的意圖佔比,問的最多的是學區房問題。從0到1做這個事情,我們優先解決了75%房屋詳情問題。

回顧·知識圖譜在貝殼找房的從0到1實踐

針對這些問題進行資料蒐集與處理流程,首先從樓盤字典中獲取所需的房源資料,然後進入知識圖譜構建流程,整個統計完成後會計算其覆蓋率,最後進入ES索引裡面,最後會判斷資料是否符合預期,符合後才會建立索引,也會對異常進行一些監控報警。

回顧·知識圖譜在貝殼找房的從0到1實踐

IM智慧助手房源詳情檢索架構,首先使用者問了一個問題,經過NLU模組中的分詞、然後通過NER模組,DA做實體解析,然後意圖識別。意圖識別後進入檢索模組,生成SQL,通過ES索引查詢欄位,查詢到的欄位進行結果的生成。結果生成階段有個話術設計,讓回答結果更人性化,還有個結果拼接。後期會針對不同經紀人自己定義話術模板。

回顧·知識圖譜在貝殼找房的從0到1實踐

IM中還有關於知識的問答,但是會存在有些問題答案不匹配,不是很精準,那麼如何解決呢。我們對使用者經常問的問題進行了分類,用知識圖譜方式將問答對錶示成三元組和事件三元組。遇到一個事情該怎麼辦和為什麼,得到how和why事件型三元組;還有實體三元組,分為實體是什麼和屬性是什麼,定義為what和ep型。第三種是區別性的,which型:實體A和實體B有什麼區別。通過歷史log隨機抽樣,符合三元組模式10%。

回顧·知識圖譜在貝殼找房的從0到1實踐

如何精準理解使用者搜尋意圖,找到精準答案。如“公積金貸款條件?”我們會把公積金作為一個實體,將條件作為一個屬性,這種就是EP型,還有“砌體結構牆是什麼?”這種就是what型。“籤錯定金型別了怎麼辦?”,將“籤錯定金”定義為event,“怎麼辦”定義為屬性,這種歸為how型。是一種基於語義的搜尋而不是傳統基於關鍵詞或者語義相似度做計算。

回顧·知識圖譜在貝殼找房的從0到1實踐

上圖是基於三元組的精準問答,分為online和offline。offline部分我們會離線的去從FAQ( Frequently Asked Questions,常見問答庫)裡面做三元組的抽取和挖掘工作,將歷史FAQ中符合三元組的問題抽取出相應的三元組。Online部分同樣一句使用者query去識別意圖,進入知識庫進行相應的檢索,最後返回一個唯一符合的三元組形成答案。當然挖掘得到的三元組需要進行人工標註,目的就是要確保回答的精度和知識庫的質量。

回顧·知識圖譜在貝殼找房的從0到1實踐

知識圖譜還可以在很多場景進行應用優化,我們建立知識圖譜後,可以通過檢索挖掘兩個實體間的關係,通過挖掘同一使用者不同搜尋間的關係,可以更好地做搜尋優化、搜尋召回優化。當我們搜某一個小區附近的房子,但是沒有相應房源,推薦小區附近小區的房子。

回顧·知識圖譜在貝殼找房的從0到1實踐

上圖是我們自己研發的圖資料視覺化平臺,將貝殼找房所有涉及的實體進行視覺化展示。目的是展示內部資料間關聯關係,後期讓C端使用者能夠更好的找房子而不是直白的搜尋列表,返回什麼就看什麼,可以主動的在知識圖譜知識網路中漫遊。

總結下今天分享的內容,首先是知識圖譜優勢五大視角:Web + NLP + KR + AI + DB。 知識圖譜落地充分必要條件三個方面:資料 + 本體庫 + 智慧應用場景。貝殼找房中知識圖譜落地,1.房產行業資料: 結構化樓盤字典資料 + 非結構化的使用者文字資料房產;2.行業本體庫:支援圖譜資料構建 + 智慧應用;3.智慧應用:智慧搜尋 + 智慧問答 + 智慧推薦 + 圖譜資料視覺化。

最後和大家分享下我們實踐過程遇到的問題:1.構建本體庫需要房產行業專家的加入及規範,2.房產行業實體詞型別、實體詞需要規範化及挖掘,大量非結構文字資料亟待結構化。未來的挑戰:打造出房產領域最權威的知識圖譜。提升B端智慧應用效果,逐步推向C端。 將知識圖譜深入結合貝殼找房業務場景深入結合,將圖譜與地圖找房、VR找房應用相結合。

作者介紹

王賀青,貝殼找房高階知識圖譜工程師,現負責貝殼找房房產知識圖譜的研發及落地應用。曾就職於搜狗,參與搜狗搜尋通用領域知識圖譜研發及應用。

團隊介紹

貝殼找房智慧搜尋團隊是貝殼找房基礎技術中心的核心團隊,負責貝殼找房搜尋平臺、智慧搜尋、智慧客服等多個專案,同時負責打造房產行業資料倉儲。在這裡,你有機會和演算法專家一起專研最新技術:包括知識圖譜、NLP、資料探勘,利用鏈家網數億級房源資訊、百科資料、UGC資料構建房產知識圖譜,讓房源、客戶、經紀人之間的資料互聯更加智慧;也有機會將技術應用在最前沿的業務領域:智慧問答、個性化推薦、智慧客服、語音質檢等。

——END——

首發公眾號ID:datafuntalk,關注看更多文章。 

回顧·知識圖譜在貝殼找房的從0到1實踐

喜歡我們就分享一下吧~~


相關文章