引言

認識「概念」(concept)是人類認識世界的重要基石。對於自然語言理解,提取概念和對文本進行概念化(conceptualization)是至關重要的研究問題。例如,當看到本田思域(Honda Civic)或者現代伊蘭特(Hyundai Elantra)時,人們可以聯想到「油耗低的車」或者「經濟型車」這類的概念,並且能進而聯想到福特福克斯(Ford Focus)或者尼桑Versa(Nissan Versa)等車型。

圖1. 人類能對事物進行概念化併產生聯想

過去的研究工作,包括DBPedia, YAGO, Probase等等知識圖譜或者概念庫,從維基百科或者網頁文章中提取各種不同的概念。但是這樣提取的概念和用戶的認知視角並不一致。例如,與其認識到豐田4Runner是一款豐田SUV或者說是一種汽車,我們更感興趣是否能把它概念化為「底盤高的汽車」或者「越野型汽車」。類似地,如果一篇文章在討論《簡愛》,《呼嘯山莊》,《了不起的蓋斯比》等電影,如果我們能認識到它在討論「小說改編的電影」這個概念,那麼會幫助極大。然而,目前的知識圖譜等工作目的是建立一個關於這個世界的結構化知識表示,概念提取自語法嚴謹的文章。因此,它們不能從用戶的視角去對文本(例如query和document)進行概念化,從而理解用戶的意圖。另一方面,目前的工作也主要在於提取長期穩定的概念,難以提取短時間出現的熱門概念以(例如「賀歲大片」,「2019七月新番」)及它們之間的聯繫。

我們提出了ConcepT概念挖掘系統,用以提取符合用戶興趣和認知粒度的概念。與以往工作不同的是,ConcepT系統從大量的用戶query搜索點擊日誌中提取概念,並進一步將主題,概念,和實體聯繫在一起,構成一個分層級的認知系統。目前,ConcepT被部署在騰訊QQ瀏覽器中,用以挖掘不同的概念,增強對用戶query意圖的理解和對長文章的主題刻畫,並支持搜索推薦等業務。目前它已經提取了超過20萬高質量的基於用戶視角的概念,並以每天挖掘超過11000個新概念的速度在不斷成長。ConcepT系統的核心算法架構同樣適用於英語等其他語言。

我們的主要貢獻點包括:

  1. 我們基於兩種無監督模型,bootstrapping和query-title alignment,從大量搜索日誌中提取出以用戶為中心(user-centered)的概念;
  2. 基於以上策略提取的種子數據,我們進一步訓練有監督模型(條件隨機場CRF + 分類器)來從輸入query和文章title中進一步提取概念短語;
  3. 我們提出了兩種策略來對長文章打上概念標籤,豐富對文章主題的刻畫;
  4. 通過提取主題,概念,實體之間的 isA關係,我們構建了一個三層的分級系統,來保存它們之間的聯繫。

實驗證明,ConcepT系統能精確地從query中提取高質量的概念短語,以及將長文章打上相關的概念標籤。在線A/B test證明,ConcepT系統能相對提升6.01%的信息流曝光效率。

方法

ConcepT系統針對三個問題分別提出了不同的解決方案:概念挖掘(Concept Mining),概念標記(Concept Tagging),層級結構構建(Taxonomy Construction)。圖2 展示了ConcepT系統概念挖掘的原理。主要包括三種策略:

  1. Pattern-Concept Bootstrapping. 這種方法以一批種子模版為起點,匹配query得到一些候選概念。再基於得到的候選概念,去生成新的模版。新的模版應該既能匹配一定量的已有的概念,也能具有擴展性,匹配到一定量的新的概念,滿足此條件的模版會被保留。如此循環往複,從而不斷得到更多的候選概念以及匹配模版。
  2. Query-Title Alignment. 這種方法利用對其輸入的query和點擊的文章標題來抽取候選概念。其提取query和文章標題中共有的N-gram作為候選概念,並且假設query中的N-gram在文章標題中可以有更豐富的描述。
  3. Sequence Labeling. 這種方法將概念提取建模為序列標註問題,訓練條件隨機場序列標註模型來提取候選概念。

經過以上三種策略得到的候選概念,將統一由一個分類器過濾以便控制概念的質量,得到最終保留的概念集合。

圖2. ConceptT概念挖掘流程:從用戶搜索點擊日誌中挖掘概念

圖3 展示了ConcepT系統給文章打上概念標籤的原理。主要包含兩種策略:

  1. 基於匹配的標記算法。該算法從文章中提取關鍵實體,然後利用實體與概念間的上下位關係,得到相關的概念。因為每個概念文本很短,因此利用該概念的高點擊的文章標題對概念進行擴充表示。最後再比較擴充後的概念表示與文章之間的相似度,決定是否將該文章標記上給定的概念標籤。
  2. 基於概率推斷的標記算法。該算法從文章中提取關鍵實體,當實體與概念之間的上下位尚未建立時,利用實體詞的上下文中出現的單詞,找到候選的概念。最後,對於每一個候選概念,算法將根據文章到每一個實體詞的概率以及實體詞到概念的條件概率進行綜合,來衡量文章到候選概念的關聯程度。根據得到的分數,決定該文章可以打上哪些概念標籤。
圖3. ConcepT文章標記流程:將文章打上關聯的概念標籤

圖4 展示了ConcepT構建的「主題-概念-實體」三級層級關係庫。利用該層級關係,可以對長短文本有一個多層次的豐富的主題刻畫。其中,構建實體詞和概念之間的聯繫,與圖三種計算實體和概念之間的關聯程度算法一致,即基於實體上下文中的詞進行概率推斷。而概念到主題之間的關聯,則基於包含該概念的文章由多少比例屬於該主題而確定。此處的主題是預定義的31類主題,包括「科技」,「娛樂」,「時事」等等。文章的主題分類則是由一個基於詞向量的文本分類模型完成。

圖4. 主題-概念-實體 三級分層結構

實驗結果

我們對ConcepT系統的概念抽取,文章標記,層級建設等能力,利用離線評測和在線A/B test做了大量的評估。

表1. ConcepT系統從用戶搜索query中提取的概念展示
表2. ConcepT概念挖掘精度評測。

我們對比了不同的已有的關鍵字或者質量短語提取的算法和程序,以及我們的方法的變種。實驗證明我們的綜合策略達到了最高的準確度,並且對比其他算法有明顯提升。實驗所用的概念抽取數據集是從真實搜索日誌中抽取並人工標記構建的,該數據集已經開源。

表3. ConcepT構建的層級結構展示。

目前平均一個概念包含3.44個下級實體,最大的包含59個實體。人工評測層級關係的準確率為96.59%。

表4. 在線A/B test結果。

ConcepT系統對QQ瀏覽器信息流業務各項指標有明顯提升。其中最重要的指標曝光效率(IE)相對提升了6.01%。

圖5. ConcepT系統對文章打上概念標籤。

目前每天可處理96700篇文章,其中約35%可以打上概念標籤。我們創建了一個包含11547篇文章的概念標記數據用以評測標記的準確率。人工評測發現,目前系統的標記準確度達96%。

論文:A User-Centered Concept Mining System for Query and Document Understanding at Tencent

論文地址:

https://arxiv.org/abs/1905.08487

相關數據資源:

https://github.com/BangLiu/ConcepT

本文轉自公眾號 騰訊技術工程,原文地址