編者按:作為一項雲搜尋服務,Azure 認知搜尋集成了強大的 API 和工具,幫助開發人員構建豐富的搜尋體驗。不止於現狀,微軟的研究員們為 Azure 認知搜尋“加持”了語義搜尋功能,可以讓搜尋引擎擁有語義排序、語義摘要、語義高亮、語義問答以及自動拼寫校正等能力。本文將揭曉這些神奇功能背後的核心技術,涉及關鍵詞包括預訓練、圖網路、多工等。本文編譯自微軟研究院部落格“The science behind semantic search: How AI from Bing is powering Azure Cognitive Search”。
Azure 認知搜尋是一項雲搜尋服務,它為開發人員提供了 API 和工具,以便他們基於 Web、移動端和企業應用程式中的專用異類內容,構建豐富的搜尋體驗。Azure 認知搜尋具有多個元件,包括用於檢索和查詢的 API、透過 Azure 資料獲取實現的無縫整合、與 Azure 認知服務的深度整合,以及使用者所擁有的檢索內容的持久儲存。Azure 認知搜尋預設使用的是資訊檢索常用的 BM25 演算法。
為了提升微軟必應(Bing)搜尋的相關性,微軟的研究和開發人員此前就透過基於 Transformer 的語言模型對必應搜尋進行了改進。這些改進讓搜尋引擎不僅可以用關鍵詞進行匹配,還可以透過使用單詞和內容背後的語義來進行搜尋,而這種轉換的能力就是語義搜尋。
將語義搜尋功能整合到 Azure 認知搜尋中所實現的效果
語義搜尋顯著提高了必應搜尋的搜尋結果質量。但是微軟的研究和開發團隊在這個過程中發現要想最大限度地發揮 AI 的威力,需要大量的專業人才來整合和部署 AI 規模化的相關技術和產品,比如,對大規模基於 Transformer 的語言模型進行預訓練、在不同的任務中進行多工微調、在保證質量損失最小的情況下將大模型蒸餾成可部署的模型,等等。而這樣的專業人才團隊並不是每個公司都可以承擔得起的。秉持著賦能每一人每一組織的公司理念,微軟透過將相關研究成果整合到 Azure 認知搜尋中,來降低人們使用 AI 規模化技術的門檻。
Azure 認知搜尋中的語義搜尋功能
下面,我們來詳細瞭解一下 Azure 認知搜尋中的語義搜尋功能。
語義排序:大幅提高相關性。傳統的搜尋方式都是基於關鍵詞對結果進行排序,而基於 Transformer 的語義排序引擎則能夠理解文字背後的含義。在 A/B 測試中,語義搜尋功能提高了對搜尋結果的點選率(2.0%),對包含三個以上單詞的搜尋結果,其點選率也提高了4.5%。
透過語義排序(右)來提高相關性的示例
語義摘要:提取關鍵資訊。相關性只是一方面,搜尋結果中的標題和摘要也非常重要。好的標題和摘要能夠讓使用者“一眼”看出結果是不是自己想要的。
語義高亮:機器閱讀理解。語義高亮的簡單理解是:給一段搜尋結果畫重點,並用文字加粗的形式進行展示。透過語義高亮,使用者可以直接獲得所需的答案,或者透過快速掃描結果頁面就可以查詢到所需的文件,甚至直接獲得一段摘要。使用機器閱讀理解能夠幫助找到一段話的重點,從而大幅度提升閱讀效率。
使用語義搜尋實現提取摘要、語義強調的示例
語義問答:快速答案。疑問句查詢是搜尋引擎經常遇到的搜尋方式,這背後使用者往往想要優先獲得一個簡短、確切的答案,而不是文件。語義搜尋可以透過機器學習閱讀語料庫中的所有文件,然後進行總結,並將答案置頂展示。
語義搜尋提取文件重點,展示快速答案
自動拼寫校正。根據資料統計,用於輸入的10%到15%的句子都存在拼寫錯誤,錯誤的拼寫會非常影響搜尋結果的質量,而整合語義搜尋的搜尋引擎則可以實現自動拼寫糾正。
背後的技術:預訓練、圖網路、多工....
以上功能的實現,離不開微軟研究院在 NLP 和語義搜尋方面取得的突破性進展。研究人員和微軟內部其他 AI 團隊合作開發了一系列神經網路模型,不僅在 SQuAD 、GLUE 以及 SuperGLUE 等多個業界基準上獲得了最好的結果,還積極佈局了應用的落地,實現了微軟相關產品效能的提升。
下面是微軟實現語義搜尋所用到的具體技術:
統一預訓練語言模型:UniLM & UniLM v2
統一預訓練語言模型架構
機器閱讀理解:多粒度閱讀理解框架
機器閱讀理解的任務(MRC)是從文件 中找到給定問題的簡短答案(如短語)或長答案(如段落)。由於最大長度的限制,所以大多數現有的 MRC 方法在答案提取的過程中將文件視為了單獨的段落,而沒有考慮它們之間的內在關係。
以上研究的論文為“Document Modeling with Graph Attention Networks for Multi-grained Machine Reading Comprehension” ,已被 ACL 2020 收錄,並且已經用於必應搜尋的大部分問題回答任務。
論文連結:
https://www.microsoft.com/en-us/research/publication/document-modeling-with-graph-attention-networks-for-multi-grained-machine-reading-comprehension/
多工深度神經網路:MT-DNN
微軟研究院和 Microsoft Dynamics 365 AI 團隊合作提出了一個新的多工深度神經網路模型——MT-DNN。此模型是第一個在 GLUE 排行榜上超過人類表現的 AI 模型,它集合了 BERT 的優點,並在10大自然語言理解任務上超越了 BERT,在多個流行的基準測試中創造了新的 SOTA 結果。
MT-DNN 結合了多工學習和語言模型預訓練,用於跨多個自然語言理解任務學習語言表示。MT-DNN 不僅利用了大量的跨任務資料,而且還受益於正則化效應(regularization effect ),這種正則化效應提高了模型的泛化能力,使其在面對新任務和領域時表現優異。語義搜尋中的模型就是利用了跨各種搜尋任務的多工學習來最大化其效能。
這項研究的論文 “Multi-Task Deep Neural Networks for Natural Language Understanding”,發表在了 ACL 2019 上。
論文連結:
https://www.microsoft.com/en-us/research/publication/multi-task-deep-neural-networks-for-natural-language-understanding-2/
深度自注意力知識蒸餾:MiniLM
MiniLM 在單語言和多語言模型上進行了壓縮實驗,均取得了不錯的效果。Azure 認知搜尋的語義搜尋解決方案使用了 MiniLM 技術,其效果是,只需原來大模型20%的成本,就可保持95%的準確率。
MiniLM:深度自注意力知識蒸餾(Deep Self-Attention Distillation)
語義搜尋背後的人工智慧模型非常強大,並且已經在基準測試和必應搜尋上得到了驗證。透過將語義搜尋整合到 Azure 認知搜尋中,微軟在普及高階機器學習技術,將 AI 普及化的道路上又邁出了重要一步。