回顧·知識圖譜在貝殼找房的從0到1實踐
本文根據貝殼找房王賀青老師在DataFun Talk人工智慧技術沙龍中分享的《知識圖譜在貝殼找房的從0到1實踐》編輯整理而成,在未改變原意的基礎上稍做整理。
今天分享的內容有四個方面,第一個介紹下知識圖譜,第二個講為什麼 「可以&要」在貝殼找房中落地知識圖譜。第三個就是貝殼找房中的知識圖譜落地應用,最後講一下存在挑戰和未來展望。
首先介紹下知識圖譜的簡史。1960年提出了語義網路,作為知識表示的一種方式,主要是幫助自然語言的理解,典型的就是WordNet,從不同維度表達詞與詞之間的語義關係。1980年提出了本體論,先定義一些本體再定義它們相關的關係,成熟的應用就是專家系統。1989年提出了萬維網,然後1998年從超文本連接到語義網路,就是將每一個網頁加一個語義含義。到了2006年提出了鏈接數據的概念,將互聯網上的數據建立一些聯繫,如姚明的頁面出現他妻子葉莉的信息,會給「葉莉」加一個鏈接。在2012年Google提出了知識圖譜,目的是提升整個搜索效果。
知識圖譜旨在描述真實世界中存在的各種實體或概念,以及他們之間的關聯關係。它的每一個實體用全局唯一確定的ID來標識,就如每個人都有一個身份證號碼;第二個就是用屬性-值對來刻畫實體的內在特性,用關係來連接兩個實體,刻畫他們之間的關聯。如刻畫姚明:屬性-值<姚明+身+2.26米>,關係型<姚明+妻子+葉莉>。
從知識圖譜的一個發展史及其定義可以看出知識圖譜具有5個視角優勢,首先是Web視角,建?數據之間的語義鏈接、?持語義檢索,第二個就是NLP視角,對?本進?結構化語義抽取。然後就是KR視角(知識表示),利用計算機的符號表示和處理知識。再者就是AI視角,利用知識圖譜輔助理解人的語言,目前AI大部分是在垂直領域落地,會建立自己的知識庫,幫助垂直領域人工智慧的實施。DB視角,就是以圖的方式存儲知識。知識圖譜展開其實是一個很大的知識網路,存儲時會利用各種的圖資料庫存儲。
目前知識圖譜應用場景分為兩塊,一種是通用領域,一種是垂直領域。通用領域如Google的搜索領域,國內的百度和搜狗也在搜索領域應用;還有些聊天領域,如智能機器人、智能手錶。這種應用有一個特性就是依賴通用知識圖譜,構建依賴國外維基百科,國內有百度百科、搜狗百科,將頁面中結構化數據抽取出來構建知識圖譜來支撐通用領域的問答和搜索。垂直領域應用越來越多,如金融、電商、公共安全、農業、電信等,如金融裡面的反欺詐,公共安全領域的追捕犯罪分子。不管是通用領域還是垂直領域落地有幾個共性條件,第一個必須有一個結構化的數據,這個數據還要高質量,儘可能的海量數據;第二在數據基礎上會抽象出一個本體庫,從本體層面去定義實體類型,以及表示他們的關係,第三就是有可以利用數據和本體庫的智能應用場景,依據知識圖譜具有的優勢和現有條件來確定業務場景是否需要知識圖譜。目前知識圖譜支撐的領域有搜索、問答、推薦、圖數據關係挖掘。
接下來講一下知識圖譜為什麼能在貝殼找房中落地。首先我們有豐富的數據可以利用,從兩個維度數據:結構化和非結構化。結構化有樓盤字典,數據億級實體,10億級的三元組。覆蓋類型有房源、客源、小區、學區、地鐵站、帶看、成交等數據。還有非結構化數據,經紀人與用戶對話數據,級別是億級,主要是用戶找房、諮詢經紀人、委託、帶看、成交過程中產生的對話數據。第三種是用戶問答及百科文章,量級是100萬+,非結構化數據主要是用戶關於房產領域的問答及百科知識數據。
結構化數據樓盤字典覆蓋類型有房源、客源、經紀人體系,還會涉及些客戶和業主,都會作為鏈家的參與人。
然後講一下為什麼要在貝殼找房中落地知識圖譜,因為貝殼找房有豐富的應用場景,如智能搜索&推薦:提升用戶的找房效率; 數據可視化:分析用戶行為,挖掘數據之間關聯, 智能問答:做經紀人的助手潛在客戶找房諮詢。右邊的圖是貝殼找房業務中的商業轉化漏斗,這個過程涉及用戶找房、到諮詢經紀人、委託經紀人帶看,最後成交幾個環節。我們的目標就是幫助獲得更多更優質的商機,以及提升他們的服務能力,幫助用戶快速找到合適的房子,了解購房知識,拓寬這個漏斗圖。
在智能搜索方面藉助知識圖譜AI+Web視角, 提升搜索意圖理解;在智能推薦方面利用知識圖譜的AI+DB視角;推薦相關的房子,在智能問答方面利用知識圖譜NLP+AI視角,回答經紀人有關房子的問答。右圖我們可以看到,在搜索一個學校時,我們可以看到與這個學校相關聯的房源和學區等實體信息。
接下來講一下貝殼找房中的知識圖譜落地應用。一個知識圖譜系統構建流程通常有五個部分,第一個是定義具體的業務問題,第二個數據搜集與處理,第三個是知識圖譜的設計,第四就是知識圖譜的存儲,最後是應用開發及系統評估。
我們的知識圖譜系統架構有五層,在數據層會有外網數據爬蟲平台,大部分數據是內網數據,數據分為兩塊結構化數據和非結構化數據。處理層有預處理、歸一化、數據融合以及推理計算。預處理方面結構化數據轉換、半結構化數據抽取、文本關係抽取、數據標註,在處理完後會做一些實體名歸一、屬性歸一、屬性值歸一。數據融合中會做一個實體對齊,因為實體會來自於不同的源,但是表達的是一個實體,可能存在交集或並集,或者一個屬性有多個值,會做一個屬性值的決策。推理計算會基於現有的數據做一些規則推理補充、pagerank、排序欄位。整個生成後會形成一個知識圖譜,建立ES索引或者neo4j索引,然後也會在hdfs或者hive裡面進行備份,支持不同業務方調用數據。應用層有IM智能助?、智能客服、 智能搜索、圖譜可視化。左邊是我們的模式層,從類型定義、屬性定義,最後構建本體庫。本體庫會支撐數據層、存儲層、應用層。
知識圖譜構建第一步工作就是本體構建,通過業務中涉及的問題抽象出相應的類型,我們抽象出四大類型交通、地點、人、組織機構,下面會再劃分小的類型,大概有三十多種類型。
構建本體庫使用構建工具protégé,主要有三塊,第一塊是class,第二部分是objects,這是個關係型的屬性,描述兩個實體關係的屬性。Data property是內在屬性,描述實體本身的屬性。正常本體庫構建是自下而上,從數據出發。但在我們的業務中會需要一些自自定義的屬性,加入一些特殊的約束,因此採用自下而上與自上而下相結合構建本體庫。在構建的過程中也加入了對屬性關係的自定義約束,如是否加密、顯示順序、是否歸一化等約束。
接下來介紹下知識圖譜在IM智能助手中落地,應用場景是更快解決用戶問題,提升經紀人的作業效率。依據歷史經紀人與用戶聊天數據進行了一個分類,用戶主要問五種類型問題,75%是於房屋詳情問題、10%是約帶看、6%是貸款、3%是推薦。右圖是整體75%問題中top20的意圖佔比,問的最多的是學區房問題。從0到1做這個事情,我們優先解決了75%房屋詳情問題。
針對這些問題進行數據搜集與處理流程,首先從樓盤字典中獲取所需的房源數據,然後進入知識圖譜構建流程,整個統計完成後會計算其覆蓋率,最後進入ES索引裡面,最後會判斷數據是否符合預期,符合後才會建立索引,也會對異常進行一些監控報警。
IM智能助手房源詳情檢索架構,首先用戶問了一個問題,經過NLU模塊中的分詞、然後通過NER模塊,DA做實體解析,然後意圖識別。意圖識別後進入檢索模塊,生成SQL,通過ES索引查詢欄位,查詢到的欄位進行結果的生成。結果生成階段有個話術設計,讓回答結果更人性化,還有個結果拼接。後期會針對不同經紀人自己定義話術模板。
IM中還有關於知識的問答,但是會存在有些問題答案不匹配,不是很精準,那麼如何解決呢。我們對用戶經常問的問題進行了分類,用知識圖譜方式將問答對表示成三元組和事件三元組。遇到一個事情該怎麼辦和為什麼,得到how和why事件型三元組;還有實體三元組,分為實體是什麼和屬性是什麼,定義為what和ep型。第三種是區別性的,which型:實體A和實體B有什麼區別。通過歷史log隨機抽樣,符合三元組模式10%。
如何精準理解用戶搜索意圖,找到精準答案。如「公積金貸款條件?」我們會把公積金作為一個實體,將條件作為一個屬性,這種就是EP型,還有「砌體結構牆是什麼?」這種就是what型。「簽錯定金類型了怎麼辦?」,將「簽錯定金」定義為event,「怎麼辦」定義為屬性,這種歸為how型。是一種基於語義的搜索而不是傳統基於關鍵詞或者語義相似度做計算。
上圖是基於三元組的精準問答,分為online和offline。offline部分我們會離線的去從FAQ( Frequently Asked Questions,常見問答庫)裡面做三元組的抽取和挖掘工作,將歷史FAQ中符合三元組的問題抽取出相應的三元組。Online部分同樣一句用戶query去識別意圖,進入知識庫進行相應的檢索,最後返回一個唯一符合的三元組形成答案。當然挖掘得到的三元組需要進行人工標註,目的就是要確保回答的精度和知識庫的質量。
知識圖譜還可以在很多場景進行應用優化,我們建立知識圖譜後,可以通過檢索挖掘兩個實體間的關係,通過挖掘同一用戶不同搜索間的關係,可以更好地做搜索優化、搜索召回優化。當我們搜某一個小區附近的房子,但是沒有相應房源,推薦小區附近小區的房子。
上圖是我們自己研發的圖數據可視化平台,將貝殼找房所有涉及的實體進行可視化展示。目的是展示內部數據間關聯關係,後期讓C端用戶能夠更好的找房子而不是直白的搜索列表,返回什麼就看什麼,可以主動的在知識圖譜知識網路中漫遊。
總結下今天分享的內容,首先是知識圖譜優勢五大視角:Web + NLP + KR + AI + DB。 知識圖譜落地充分必要條件三個方面:數據 + 本體庫 + 智能應用場景。貝殼找房中知識圖譜落地,1.房產行業數據: 結構化樓盤字典數據 + 非結構化的用戶文本數據房產;2.行業本體庫:支持圖譜數據構建 + 智能應用;3.智能應用:智能搜索 + 智能問答 + 智能推薦 + 圖譜數據可視化。
最後和大家分享下我們實踐過程遇到的問題:1.構建本體庫需要房產行業專家的加入及規範,2.房產行業實體詞類型、實體詞需要規範化及挖掘,大量非結構文本數據亟待結構化。未來的挑戰:打造出房產領域最權威的知識圖譜。提升B端智能應用效果,逐步推向C端。 將知識圖譜深入結合貝殼找房業務場景深入結合,將圖譜與地圖找房、VR找房應用相結合。
作者介紹
王賀青,貝殼找房高級知識圖譜工程師,現負責貝殼找房房產知識圖譜的研發及落地應用。曾就職於搜狗,參與搜狗搜索通用領域知識圖譜研發及應用。
團隊介紹
貝殼找房智能搜索團隊是貝殼找房基礎技術中心的核心團隊,負責貝殼找房搜索平台、智能搜索、智能客服等多個項目,同時負責打造房產行業數據倉庫。在這裡,你有機會和演算法專家一起專研最新技術:包括知識圖譜、NLP、數據挖掘,利用鏈家網數億級房源信息、百科數據、UGC數據構建房產知識圖譜,讓房源、客戶、經紀人之間的數據互聯更加智能;也有機會將技術應用在最前沿的業務領域:智能問答、個性化推薦、智能客服、語音質檢等。
——END——
喜歡我們就分享一下吧~~
推薦閱讀:
※什麼是人工智慧?終於說明白了
※年書 | 走進機器人團隊,從技術到產品,憑什麼撬動千億級市場
※GAN用於材料設計:哈佛大學新研究登上Science
※前社交時代的電話——AI統治下的人性化詐騙和金融創新
※我國新一代人工智慧新在哪