業界 | 谷歌的Dataset Search開放至今,為什麼還搜不到我的數據集?
選自Google AI
作者:Matthew Burgess、Natasha Noy
機器之心編譯
參與:張倩、劉曉坤
本月早些時候,谷歌推出了數據集搜索專用引擎 Dataset Search,這是一個建立在元數據上的搜索引擎,可以對網路上數千個存儲庫中的數百萬個數據集進行搜索。谷歌團隊稱其為「Google Scholar for data」。本文將介紹構建 Dataset Search 的一些技術細節,概述有助於開發開放數據生態系統的內容。此外,谷歌還解決了自 Dataset Search 啟動以來反饋最多的問題——「為什麼我的數據集沒有出現在谷歌 Dataset Search 中?」
概述
谷歌 Dataset Search 高度依賴大大小小的數據集提供者,利用開放 schema.org/Dataset 標準在自己的站點上添加結構化的元數據。元數據指定了每個數據集的顯著屬性:名稱和描述、空間和時間覆蓋、出處信息等。Dataset Search 利用這一元信息,將其與谷歌上的其他可用資源連接,並為這個豐富的元數據語料庫建立索引。建好索引之後就可以開始響應用戶檢索,並找出最符合檢索的結果。
谷歌 Dataset Search 技術概覽
利用來自數據集提供者的結構化元數據
當谷歌的搜索引擎處理帶有 schema.org/Dataset 標記的網頁時,它知道那裡有數據集元數據,並處理那個結構化元數據以創建描述頁面上每個標註數據集的「記錄」。schema.org 的使用允許開發人員將這種結構化信息嵌入到 HTML 中,而不影響頁面的外觀,同時使信息的語義對所有搜索引擎可見。
然而,無論 schema.org 定義或指引有多麼精確,一些元數據將不可避免地不完整、錯誤或完全缺失。此外,某些欄位之間的區別可能很模糊:數據集存儲庫屬於數據集的發布者還是提供者?如何區分引用描述數據集創建的科學論文和描述數據集使用的論文?事實上,許多這樣的問題都會激發熱烈的學術討論。
儘管存在這些問題,Dataset Search 必須在前端提供統一、可預測的用戶體驗。因此,在某些情況下,我們用更通用的欄位名(如「provided by」)來顯示來自多個其他欄位(如「publisher」、「creator」等)的值。在其他情況下,我們根本無法使用某些欄位:如果數據集提供者在闡釋某個特定欄位時出現了各種各樣的錯誤,谷歌就暫時繞過該欄位,並與社區一起理清指引。每一項決策中都有一個特定的問題用於解決困難——「最有助於數據發現的因素是什麼?」這種對正在處理的任務的關注使得一些問題比最初看起來容易。
連接重複數據集
對於流行的數據集,在多個資源庫中重複出現是很常見的事情。谷歌使用了多種信號來確定兩個數據集是否重複。例如,schema.org 可以通過(schema.org/sameAs)中指出的某種方法明確兩個數據集之間的聯繫,即利用明確指示條目標識的參考網頁的 URL(例如,條目的維基百科頁面、維基數據條目或官方網站的 URL)。這是將不同重複數據集連接起來並指向規範數據集來源的最好方法。其它信號還包括兩個數據集的描述指向相同的規範頁面,具有相同 DOI,共享數據集下載鏈接,或者在其它元數據欄位中有大量重疊。這些信號都不是完全獨立的,因此谷歌將它們結合起來以得到數據集重複的最強可能標示。
用谷歌知識圖譜進行協調
谷歌的知識圖譜是一個很強大的平台,描述和連接了很多實體之間關係的信息,包括出現在數據集元數據中的信息:提供數據集的機構、數據集覆蓋範圍的位置 、贊助機構等等。因此,谷歌嘗試用知識圖譜中的條目來協調元數據欄位中提到的信息。基於兩個原因,谷歌能以很高的精度實現這種協調。首先,我們知道知識圖譜中的條目類型和元數據欄位中的大致期望實體類型。因此,我們可以限制知識圖譜中用於匹配特定元數據欄位值的實體類型。例如,一個數據集的提供者應該匹配知識圖譜中的一個機構實體,而不是匹配覆蓋範圍的位置。其次,網頁信息的語境可以幫助減少選擇的數量,這對於分辨擁有相同縮略詞的機構尤其有用。例如,縮略詞 CAMRA 可以代表「Chilbolton Advanced Meteorological Radar」,或者「Campaign for Real Ale」。如果我們使用了網頁上的條目,當在網頁上出現諸如「雲」、「蒸汽」和「水」等關鍵詞時,我們可以更容易地確定 CAMRA 實際上是 Chilbolton Radar(Chilbolton 雷達)。
這種協調提供了許多提升用戶搜索體驗的可能性。例如,Dataset Search 可以通過用與頁面其餘部分相同的語言顯示元數據的協調值來定位結果。此外,它可以使用同義詞,校正拼寫錯誤,擴展縮略詞,或使用知識圖譜中的其它關係進行查詢擴展。
連接到其它谷歌資源
谷歌擁有很多其它可增強數據集元數據的數據資源,例如 Google Scholar。知道哪個數據集被參考和引用可以實現兩個目的:
提供有關數據集重要性和顯著性的有價值信息;
為數據集作者提供查看引用和獲得榮譽的簡便方式。
實際上,谷歌希望的是,強調使用數據的出版物可以帶來更加健康的數據引用生態。目前,由於缺少描述人們如何引用數據的模型,從 Dataset Search 到 Google Scholar 的鏈接還是相當近似的。谷歌嘗試使用 DOI 以外的信息以提供更好的覆蓋範圍預測,但引用一個數據集的文章數量因而變得很不準確。谷歌希望在這個問題上取得更多進展,以得到更高的預測精度。
搜索和結果的排序
當用戶進行一次查詢時,谷歌進行數據集語料庫的搜索,其工作方式和 Google Search 搜索網頁的方式沒多大區別。對於任意一次搜索,我們需要確定一個文檔是否和查詢相關聯,然後對相關文檔進行排序。由於對用戶如何搜索數據集並沒有相應的大規模研究,作為首個近似方案,其利用了谷歌網頁排序方法。然而,數據集排序和網頁排序是不同的,因此谷歌添加了一些涉及元數據質量、引用等的額外信息。隨著 Dataset Search 被用戶更頻繁地使用,谷歌將能更好地理解用戶的數據集搜索行為,從而顯著提升排序質量。
更好的開放數據生態
谷歌構建 Dataset Search 的目的是為數據發現帶來積極的影響。該搜索引擎的標記決策依賴於開放的標準(schema.org、W3C DCAT、JSON-LD),因為 Dataset Search 僅能做到和其支持的開放數據生態一樣好的程度。因此,谷歌的 Dataset Search 希望支持一個強大的開放數據生態,通過鼓勵:
廣泛支持描述發布數據的開放元數據格式;
進一步發展描述更多數據類型和更多細節的開放元數據格式;
發展類似引用研究文獻的引用數據文化,為創建和發布數據的作者提供應有的榮譽;
發展利用該元數據的工具,以實現數據的更好發現和利用。
開放元數據標準的採用與數據集搜索的持續發展相結合,可促進更健康的開放數據生態系統。在這個生態系統中,數據是研究的「一等公民」。
那麼你的數據集為什麼搜不到呢?
現在大致理清了一個思路,即 Dataset Search 的質量與網頁上元數據的質量息息相關。對於「為什麼某些數據集沒有出現在谷歌的搜索結果中」這一問題,最常見的答案是:該數據集沒有任何標記。只要將該頁面彈出到結構化數據測試工具中,就可以看到標記是否存在。如果沒有看到任何標記,並且你有該頁面的修改許可權,那麼你可以添加標記,如果沒有頁面的修改許可權,你可以讓有許可權的人執行這一步驟,這將使他們的頁面更容易被每個人發現。
谷歌希望 Dataset Search 對社區有所幫助,幫助用戶有所發現從而節省時間,幫助科學研究人員節省數據檢索時間,從而讓他們有更多的時間去利用數據。
原文鏈接:https://ai.googleblog.com/2018/09/building-google-dataset-search-and.html
2018AIIA人工智慧開發者大會將於2018年10月15日到16日在蘇州國際博覽中心舉辦。點擊閱讀原文鏈接報名。
※使用Keras實現多輸出分類:用單個模型同時執行兩個獨立分類任務
※為卷積模型加入循環和遠程反饋,更完整地擬合生物視覺
TAG:機器之心 |