天天看點

機器具備認知能力的“神”操作!

背景

概念是人類認知從具體進入抽象的第一步,也是人類認知世界的基石。有學者認為,概念是人腦對客觀事物的本質反映,是思維活動的結果和産物,是思維活動借以開展的基本單元。例如“昆蟲”概念讓人們了解形形色色的昆蟲,把握其共性本質,而不用糾纏不同昆蟲的微小差異。建立概念的分類體系,為數以億計的事物建構認知概念圖譜,是人類在讓機器具備認知能力的征程中所邁出的非常重要的一步。

具體地說,在搜尋業務中,對搜尋query和文檔進行概念化,是了解使用者需求和意圖的基石。當使用者在搜尋框中輸入查詢詞後,将查詢詞中的關鍵成分進行解析并打上概念标簽,可以有效指導搜尋引擎進行有效的意圖識别和召回。舉個例子,在一個搜尋場景,我們在搜尋框中輸入:

腸胃感冒可以吃榴蓮嗎?

一般可以使用文本比對技術對query與文檔進行相似度計算,基于海量的文檔資料庫進行召回。通常的檢索步驟是先對query進行分詞 ,也就是:

腸胃感冒/可以/吃榴蓮/嗎?

去除停用詞,并根據詞性等特征資訊調整term相應的權重。而對于資料庫裡的文章等内容,需要先做反向索引,再根據 BM25等相關性算法對分詞的詞做文檔的召回 ,并基于各種LTR算法進行排序。大多數檢索系統都是基于關鍵詞或文本特征做的,也就是說文章的内容中一定要出現“腸胃感冒” 、“吃榴蓮”等詞。同時,query的語義也會随着停用詞的去除而缺失,“腸胃感冒”和“吃榴蓮”變成統計獨立的概念。然而我們通常是這樣了解上述query的:

腸胃感冒–> 患腸胃疾病

吃榴蓮–>吃熱帶的水果

整句話了解起來的意思就是“患腸胃疾病的人可以吃熱帶水果榴蓮嗎”,而且我們可以很自然地進行相應的推理,這個query比較合适的結果是召回 “患腸胃疾病的飲食禁忌” 等相關文章。在自然語言處理領域,基于海量語料學習的技術可以從大量文本進行模組化,工程實作也相對容易,且在頭部場景中取得較好的效果,但是也存在出諸多問題,比如學習出的模型缺乏足夠的長尾場景泛化能力;缺乏體系化的組織;缺乏可解釋性等;為了應對這些挑戰,并更好的了解文本,我們引入了結構化的知識。不同于純文字,概念知識易于組織和結構化,對文本了解非常有幫助。

什麼是認知概念

從亞裡士多德時代開始,人類就通過分類結構(Taxonomy)來組織和表示概念。随後的幾千年來,人類一直在不斷完善概念的分類體系,并出現了諸如Cyc,WordNet,Hownet等專家手工建構的知識庫。這些概知識庫品質雖然相對較高,但是建構代價非常高昂,且規模有限。在搜尋場景中,認知概念指的是使用者提及的短語或實體所代表的抽象描述。

面臨的挑戰

建構認知概念圖譜具有以下幾個挑戰:

  • 同一個執行個體具有成百上千的概念,其中存在大量備援的概念标簽,如“歌曲”和“歌”,因而需要進行概念融合。
  • 同一個執行個體不同的概念标簽具有不同的置信度,如阿裡巴巴的概念"公司"和"角色", 因而需要進行先驗置信度計算。
  • 對于大量長尾的專業領域詞彙和實體,概念挖掘相當困難。
  • 對于一些非實體短語如“肚子疼”(概念為症狀),需要專門的自動化挖掘算法。
  • 對于挖掘出的海量概念和執行個體如何建構上下位層次結構是一個嚴峻挑戰。
  • 存在非主義的執行個體如“希望”、“理想”等幹擾項,因而需要概念校驗。

體系介紹

曆時多月的研發,基于神馬搜尋知識圖譜、神馬搜尋知識圖譜實體庫,我們建設了一個認知概念圖譜,從搜尋使用者需求出發,連結外部常識和領域知識的語義網絡,為搜尋領域的使用者認知、知識認知、内容認知提供統一的資料,助力搜尋推薦從基于行為資料的方式邁向知識驅動的認知智能時代。

概念圖譜中包含豐富的概念執行個體(包括實體如“劉德華”和非實體如“我們”)、各種粒度的概念(比如“演員”、“圈中粉紅系男孩”),實體與概念之間的類屬關系(比如 “劉德華 isA 演員”),概念與概念之間的 subclass of 關系(比如 “電影演員”是“演員”的子類)。通常這些關系統稱為 isA 關系。我們的認知概念圖譜大圖如下:

機器具備認知能力的“神”操作!
  • level1: 領域認知節點,表達底層節點所屬的領域。
  • level2: 具體的認知概念,表達底層節點所屬抽象概念。
  • level3:細粒度使用者認知概念,表達使用者需求的最重要的語義節點。
  • 執行個體層:概念的執行個體,如概念的mention短語。

特點和優勢

  • 動态化:每一個概念執行個體的每一層都包含了豐富的概念候選,每一個候選都包含動态的分布權重,例如:周傑倫 level2概念:藝人 :0.58 歌手:0.26 演員:0.13 ,每個分數均根據搜尋使用者query分布生成。
  • 自動化:除高層概念挂載和效果評估,認知概念圖譜建構高度自動化, 概念天級更新。
  • 粒度細:大多數執行個體包含細粒度的使用者認知的概念,如周傑倫level3概念: 圈中粉紅系男孩 娛樂圈港台明星。
  • 覆寫廣:認知概念圖譜包含了通用域的絕大多數領域如人物、醫療、曆史、汽車、音樂等。
  1. 算法架構

算法架構主要包含資料建構和算法服務兩大塊。整體算法架構如下:

機器具備認知能力的“神”操作!

資料建構流程

認知概念圖譜的資料建構流程分為概念挖掘與融合、概念置信度計算、層次建構和概念驗證等幾個步驟。在資料導入認知概念圖譜後,可以基于認知概念圖譜進行推理挖掘出新的上下位關系,進而實作增量可持續建構流程,還可以基于消歧回流入知識圖譜,豐富知識圖譜的資料資訊,進而形成資料閉環。下面将對流程中的每一個子產品進行詳細的講解。

機器具備認知能力的“神”操作!

領域概念挖掘

對于正常的實體資料,我們可以通過實體屬性、實體百科标簽以及基于規則從實體描述中抽取實體的概念标簽,然而對于領域實體資料,由于其存在長尾的特點,大多數專業名詞或術語存在屬性缺失、實體缺失等挑戰,是以需要設計專門的領域概念挖掘流程。

我們首先基于領域專業文本資料基于skipgram訓練詞向量模型。然後人工選擇一批種子詞,并将詞典排除掉單字詞後進行聚類。具體地說,基于詞與詞之間相似的傳遞性,即 A 和 B 相似,B 和 C也相似,那麼 A、B、C 就聚為一類。聚類過程中需要對相似性進行限制,比如 A 是種子詞,B、C 都不是種子詞,A、B 的相似度為 0.7 就定義它為相似,B、C 的相似度要大于 0.9 才能認為它們相似。由于純無監督算法的不可控和噪音等問題,我們對産生的領域詞基于規則進行過濾。我們基于無監督聚類挖掘,對長尾領域挖掘出約1w+領域詞彙。

短語概念挖掘

搜尋query中存在大量短語,其中不少短語缺乏知識圖譜中對應的實體,然而這類短語對于query了解起着至關重要的作用,是以我們對query中短語進行了無監督挖掘,并訓練分類模型對短語進行概念打标。

首先我們對query進行分類後去停用詞,然後會發現一些靠譜的詞彙比方說“肚子疼,月經不準,制冷的原理,吃榴蓮,一直發燒”等,然而通過資料分析發現存在兩個問題:

  • 很難挖掘出低頻短語;
  • 人工給定門檻值無法過濾掉資料中的噪音。

我們基于頻繁模式挖掘和統計的短語挖掘方法TopMine對無監督的對語料進行段與挖掘。整個挖掘主要分為兩個步驟,第一步根據Phrase Mining抽取的結果對文本進行分割,第二步根據分割後的文本限制Topic模型。在短語挖掘中,根據上下文資訊衡量合并後的score,來判斷是否對token進行合并。基于挖掘出的短語,我們對特定概念訓練概念二分類模型,并基于模型從新query短語中挖掘概念執行個體。訓練的正樣本由認知概念圖譜原有的概念執行個體join短語組成,訓練負樣本由短語随機采樣組成。

概念融合

由于同一執行個體的概念标簽來自不同的資料源,會存在備援的情況。是以需要對概念進行融合。對于level2層概念,我們基于同義詞表進行概念融合。對于level3層概念,我們基于字粒度和詞粒度的詞向量計算概念之間相似度,收集門檻值小于1e-3的概念,人工稽核後進行概念融合。

概念置信度

首先對于來自知識圖譜的概念執行個體,我們基于實體本身的熱度進行了先驗置信度計算,計算公式如下:

機器具備認知能力的“神”操作!

經過歸一化後得到實體粒度的置信度。

其次,我們基于query的分類和推薦标簽對實體/短語進行聚類操作,選擇一個月的query-tag pair對相同tag的query次數進行求和(也就是計算一個概念出現的query次數有多少),經過歸一化後得到基于query粒度的概念置信度。

最後我們對兩個不同粒度的置信度進行融合。在概念分布融合過程中,會去掉去"停用詞”、"日常用語"等概念,以免引入不必要的噪聲,同時對領域詞和特定類型的概念進行重權重,主要目的是這類執行個體的概念不存在歧義性,如“泡利不相容” isA "化學術語" ,"劉德華" isA "人物"。

層次建設

得到概念執行個體和概念候選之後,我們基于兩種方式對概念進行層次挂載。首先,對于level2和level1的概念,我們基于神馬資訊流主題、騰訊概念圖譜主題和人工規則構造了兩層概念之間的映射表,基于此映射表對概念進行層次挂載。其次,對于level3概念,我們基于query分類和少量規則進行挂載。給定一個level3概念和level2概念,存在 個執行個體屬其中有個執行個體屬于通過計算以下公式:

機器具備認知能力的“神”操作!

我們取

機器具備認知能力的“神”操作!

大于0.3的概念進行挂載。

概念校驗

在概念圖譜建構的過程中,不可避免會引入一定的噪音,導緻引入被錯誤标注的概念,我們使用融合規則和樹模型的概念校驗算法,基于規則和gbdt對不是概念的執行個體進行過濾。簡單規則如:過濾掉同時有"文字詞彙"、"詞彙"等概念且置信度最高而不包含任何其他概念的執行個體 ,gbdt特征包括執行個體長度、概念置信度、是否包含文字詞彙概念、是否為動詞(不考慮歧義)、是否為形容詞, 最終過濾掉約50w非主義概念。由于query的複雜性,實體的歧義性和圖譜的異構性,仍有少量非主義概念執行個體較難被挖掘,概念校驗是一個長期的工作。

服務算法

基于詞典比對和ner邊界校驗的序列tagging算法

基于認知概念圖譜執行個體和level3、level2層概念建構詞典,重要領域的詞經過了規則清洗和人工稽核。根據學界研究,中文90%以上的句子使用正向或逆向最大比對算法完全重合且正确,是以在字典比對正确的情況下,能解決大部分頭部問題。目前采用Trie樹+雙向最大比對算法,比對結果經過ner序列識别服務做邊界檢測,去除比對錯誤的少數case。

基于Bert的entity typing消歧算法

此算法主要針對少數概念存在歧義的情況(由于概念萬級别,無法對所有類型概念進行消歧),如”歌手李娜“、“演員李娜”。輸入為執行個體和包含執行個體的query上下文,輸出消歧後的概念分布。

基于大搜約一億語料訓練的bert模型,在預訓練過程中去掉預測下一句的loss,同時使用ner粒度切詞,并基于sampled_softmax_loss采樣加速訓練。然後fix bert參數,抽取query中實體mention的bert embdding訓練基于mlp的二分類模型。在預測階段,對于oov詞,采用上下文預測的embedding 作為mention 的embedding。

平台介紹

資料展示視窗:

https://concept.proxy.taobao.org

目前, 提供以下幾種方式通路:

  • 頁面直接通路。
  • API接口通路。
  • odps表通路。
  • Pangu資料dump。

目前資料還在不斷完善中,如遇到問題歡迎回報給我們。

應用

意圖識别

使用者搜尋“宋江”,我們通過它的概念“不招人喜歡的梁山好漢”、“虛拟人物”可以了解使用者是在搜尋小說名著中的角色。對于使用者搜尋意圖的精準了解可以進一步幫助改進檢索、排序與推薦。

機器具備認知能力的“神”操作!

基于概念和模版比對的意圖識别和問答觸發

對query進行抽取概念,基于互資訊挖掘概念意圖模版,應用于問答觸發和意圖識别。問答觸發業務已上線。

基于概念融合的短文本分類模型(STCKA)

輸入搜尋query,和query中包含的概念,通過query與概念間的attention和概念内部的self-attention對概念做選擇,生成概念向量表示,再結合query的向量表示建構判别模型。

實體推薦

當使用者先後搜尋複旦大學、上海交通大學,上海理工大學時,我們人類可以自然地推斷使用者是在搜尋上海高校。機器通過檢索認知概念圖譜,發現這三個實體共同擁有上海市高等院校這個概念,進而也可以準确識别使用者的搜尋意圖,進一步推薦上海外國語大學,同濟大學等高校,并給出使用者是在搜尋上海高校這一解釋。

機器具備認知能力的“神”操作!

規劃和感想

目前認知概念圖譜的建構還在不斷完善中,未來計劃:

  • 知識賦能: 應用認知概念圖譜到更多業務場景。
  • 了解使用者:從搜尋query中挖掘更細粒度的使用者需求的概念。
  • 内容了解:挖掘内容和概念的關聯,更好的了解文本。
  • 知識了解:大規模增加認知概念知識的豐富。
  • 智能推理: 大規模增加認知概念關系的豐富,自動化建構層次關系。
機器具備認知能力的“神”操作!

原文連結:

https://mp.weixin.qq.com/s/9jJAsH6lzOd3zWCT8OcIug

參考文獻

[1]認知智能基礎

https://www.atatech.org/articles/136437

[2]A User-Centered Concept Mining System for Query and Document Understanding at Tencent KDD201

[3]Concept-based Short Text Classification and Ranking Categories and Subject Descriptors CIKM2014

[4]Query understanding through knowledge-based conceptualization IJCAI2015

[5]Deep Short Text Classification with Knowledge Powered Attention AAAI2019

[6]Inferring Concept Hierarchies from Text Corpora via Hyperbolic Embeddings ACL2019

[7]Combining Knowledge with Deep Convolutional Neural Networks for Short Text Classification IJCAI2017

[8]COMET: Commonsense Transformers for Automatic Knowledge Graph Construction ACL2019

[9]Entity suggestion with conceptual explanation IJCAI2017

[10]Matching Article Pairs with Graphical Decomposition and Convolutions ACL2019

繼續閱讀