知識抽取簡述|得物技術
來源:得物技術
目錄
一、簡介
二、知識抽取分類
三、標籤詞挖掘
1. 無監督方法
1.1 基於統計的方法
1.2 基於圖的方法 Graph-Based Model
1.3 基於表徵的方法 Embedding-Based Model
2. 有監督方法
3. 遠監督方法
3.1 AutoPhrase
四、標籤詞分類
1. 有監督方法
1.1 NER 序列標註模型
2. 遠監督方法
2.1 AutoNER
2.2 BOND
五、總結
一
簡介
知識抽取通常指從非結構化文字中挖掘結構化資訊,如語義資訊豐富的標籤、短語等。在業界被廣泛使用的場景包括內容理解、商品理解,從使用者生產的文字資訊中挖掘有價值的標籤打在內容或商品上。
知識抽取通常伴隨著對所抽取標籤或短語的分類,通常被建模為命名實體識別任務,通用的命名實體識別任務就是識別命名實體成分並將成分劃分到地名、人名、機構名等型別上;領域相關的標籤詞抽取將標籤詞識別並劃分到領域自定義的類別上,如系列(空軍一號、音速 9)、品牌(Nike、李寧)、型別(鞋、服裝、數碼)、風格(ins 風、復古風、北歐風)等。
為描述方便,下文將資訊量豐富的標籤或短語統稱為標籤詞。
二
知識抽取分類
本文從標籤詞挖掘和標籤詞分類兩個角度介紹知識抽取的經典方法。將標籤詞挖掘方法分為無監督方法、有監督方法及遠端監督方法,如圖 1 所示。標籤詞挖掘透過候選詞挖掘和短語打分兩個步驟篩選高打分的標籤詞,標籤詞分類通常將標籤詞抽取和分類聯合建模,轉化為命名實體識別的序列標註任務。
圖1 知識抽取方法分類
三
標籤詞挖掘
無監督方法
基於統計的方法
首先對文件進行分詞或者將分詞後的詞進行 N-gram 組合作為候選詞,再根據統計特徵來對候選詞打分。
TF-IDF(Term Frequency-Inverse Document Frequency) :統計每個詞的 TF-IDF 打分,分數越高說明包含的資訊量越大。
YAKE[1]:定義了五個特徵來捕捉關鍵詞特徵,這些特徵被啟發式地組合起來,為每個關鍵詞分配一個分數。分數越低,關鍵詞越重要。1)大寫詞:大寫字母的Term(除了每句話的開頭單詞)的重要程度比那些小寫字母的 Term 重要程度要大,對應到中文可能是粗體字次數;2)詞位置:每段文字越開頭的部分詞的重要程度比後面的詞重要程度更大;3)詞頻,統計詞出現的頻次;4)詞的上下文關係,用來衡量固定視窗大小下出現不同詞的個數,一個詞與越多不相同的詞共現,該詞的重要程度越低;5)詞在不同句子中出現的次數,一個詞在更多句子中出現,相對更重要。
計算方法:tfidf(t, d, D) = tf(t, d) * idf(t, D),其中tf(t, d) = log(1 + freq(t, d)), freq(t,d) 表示候選詞 t 在當前文件 d 中出現的次數,idf(t,D) = log(N/count(d∈D:t∈D)) 表示候選詞 t 出現在多少個文件中,用來表示一個詞語的稀有度,假如一個詞語只在一篇文件中出現,說明這個詞語比較稀有,資訊量更豐富。
特定業務場景下可以藉助外部工具對候選詞先進行一輪篩選,如採用詞性標識篩選名詞。
基於圖的方法 Graph-Based Model
TextRank[2]:首先對文字進行分詞和詞性標註,並過濾掉停用詞,只保留指定詞性的單詞來構造圖。每個節點都是一個單詞,邊表示單詞之間的關係,透過定義單詞在預定大小的移動視窗內的共現來構造邊。採用 PageRank 更新節點的權重直至收斂;對節點權重進行倒排序,從而得到最重要的 k 個詞語,作為候選關鍵詞;將候選詞在原始文字中進行標記,若形成相鄰片語,則組合成多片語的關鍵詞短語。
基於表徵的方法 Embedding-Based Model
基於表徵的方法透過計算候選詞和文件之間的向量相似度來對候選詞進行排序。
EmbedRank[3]:透過分詞和詞性標註選擇候選詞,採用預訓練好的 Doc2Vec 和 Sent2vec 作為候選詞和文件的向量表徵,計算餘弦相似度對候選詞進行排序。類似的,KeyBERT[4] 將 EmbedRank 的向量表徵替換為 BERT。
有監督方法
有監督方法透過訓練一個模型來計算候選詞是否屬於標籤詞。
先篩候選詞再採用標籤詞分類:經典的模型 KEA[5] 對四個設計的特徵採用 Naive Bayes 作為分類器對 N-gram 候選詞進行打分。
候選詞篩選和標籤詞識別聯合訓練:BLING-KPE[6] 將原始句子作為輸入,分別用 CNN、Transformer 對句子的 N-gram 短語進行編碼,計算該短語是標籤詞的機率,是否是標籤詞采用人工標註 Label。BERT-KPE[7] 在 BLING-KPE 的思想基礎上,將 ELMO 替換為 BERT 來更好地表示句子的向量。
圖2 BLING-KPE 模型結構
遠監督方法
AutoPhrase
遠監督方法的典型代表是 AutoPhrase[10],在業界標籤詞挖掘中被廣泛使用。AutoPhrase 藉助已有的高質量知識庫進行遠端監督訓練,避免人工標註。
文中將高質量短語定義為具有完整語義的單詞,同時滿足以下四個條件:
Popularit:文件中出現的頻次足夠高;
Concordance:Token 搭配出現的頻率遠高於替換後的其他搭配,即共現的頻次;
Informativeness:有資訊量、明確指示性,如 “this is” 就是沒有資訊量的負例;
Completeness:短語及其子短語都要具有完整性。
AutoPhrase 標籤挖掘流程如圖 3 所示,首先透過詞性標註篩選高頻 N-gram 詞作為候選,透過遠監督方式對候選詞作分類,再透過以上四個條件篩選高質量的短語(Phrase-Quality Re-Estimation)。
圖3 AutoPhrase 標籤挖掘流程
從外部知識庫獲取高質量的短語作為 Positive Pool,其他短語作為負例,按論文實驗統計,負例池中存在 10% 的高質量短語因為沒有在知識庫中被分到了負例中,因此論文采用瞭如圖 4 所示的隨機森林整合分類器來降低噪聲對分類的影響。在業界應用中,分類器的訓練也可以採用基於預訓練模型 BERT 的句間關係任務二分類方法[13]。
圖4 AutoPhrase標籤詞分類方法
四
標籤詞分類
有監督方法
NER 序列標註模型
命名實體識別(Named Entity Recognition,NER)也是一種候選詞篩選和標籤詞識別聯合訓練的標籤抽取方法,通常針對句子資訊量比較重複的場景,來識別句子中的實體成分,採用序列標註模型實現。將句子作為輸入,對句子中的每個 Token 預測屬於以下 Label 的機率:B(Begin)-LOC(地名),I(Inside)-LOC(地名),E(End)-LOC(地名),O(Others)等,其中 “-” 後面的是實體詞所屬的類別。在中文NER任務中,通常採用基於字元而不是基於詞彙的方法來進行序列標註建模來避免中文分詞帶來的錯誤傳遞問題,因此需要引入詞彙資訊來強化實體詞邊界。
Lattice LSTM[8] 是針對中文 NER 任務引入詞彙資訊的開篇之作,Lattice 是一個有向無環圖,詞彙的開始和結束字元決定了格子位置,透過詞彙資訊(詞典)匹配一個句子時,可以獲得一個類似 Lattice 的結構,如圖 5(a) 所示。Lattice LSTM 結構則融合了詞彙資訊到原生的 LSTM 中,如 5(b) 所示,對於當前的字元,融合以該字元結束的所有外部詞典資訊,如“店”融合了“人和藥店”和“藥店”的資訊。對於每一個字元,Lattice LSTM 採取注意力機制去融合個數可變的詞單元。雖然 Lattice-LSTM 有效提升了 NER 任務的效能,但 RNN 結構無法捕捉長距離依賴,同時引入詞彙資訊是有損的,同時動態的 Lattice 結構也不能充分進行 GPU 並行,Flat[9] 模型有效改善了這兩個問題。如圖 5(c),Flat 模型透過 Transformer 結構來捕捉長距離依賴,並設計了一種位置編碼 Position Encoding 來融合 Lattice 結構,將字元匹配到的詞彙拼接到句子後,對於每一個字元和詞彙都構建兩個 Head Position Encoding 和 Tail Position Encoding,將 Lattice 結構展平,從一個有向無環圖展平為一個平面的 Flat-Lattice Transformer 結構。
圖5 引入詞彙資訊的 NER 模型
遠監督方法
AutoNER
AutoNER[11] 採用外部詞典構造訓練資料進行遠監督實體識別,首先進行實體邊界識別(Entity Span Recognition),再進行實體分類(Entity Classification)。外部詞典的構造可以直接使用外部知識庫,也可以採用 AutoPhrase 的挖掘方式先進行離線標籤詞挖掘,再用 AutoNER 模型進行標籤詞增量更新。
採用 Tie or Break 的實體邊界標識方案來替代 BIOE 的標註方式來緩解遠監督帶來的噪聲問題,Tie 表示當前詞和上一個詞在同一個實體內,Break 表示當前詞和上一個詞不再同一個實體內。
在實體分類階段,透過模糊 CRF(Fuzzy CRF)來應對一個實體有多種型別的情況。
圖6 AutoNER 模型結構圖
BOND
BOND[12] 是一個兩階段的基於遠端監督學習的實體識別模型。在第一階段中,採用遠距離標籤使預訓練語言模型適應 NER 任務;在第二階段,首先用階段一中訓練的模型初始化 Student 模型和 Teacher 模型,然後使用 Teacher 模型生成的偽標籤對 Student 模型進行訓練,最小化遠監督帶來的噪聲問題的影響。
五
總結
本文從標籤詞挖掘和標籤詞分類兩個角度介紹了知識抽取的經典方法,包括不依賴人工標註資料的無監督和遠監督經典方法 TF-IDF、TextRank,業界被廣泛使用的 AutoPhrase、AutoNER 等,可以為業界內容理解、Query 理解的詞典構造、NER 等方向提供參考。
參考文獻
【1】Campos R, Mangaravite V, Pasquali A, et al. Yake! collection-independent automatic keyword extractor[C]//Advances in Information Retrieval: 40th European Conference on IR Research, ECIR 2018, Grenoble, France, March 26-29, 2018, Proceedings 40. Springer International Publishing, 2018: 806-810.
【2】Mihalcea R, Tarau P. Textrank: Bringing order into text[C]//Proceedings of the 2004 conference on empirical methods in natural language processing. 2004: 404-411.
【3】Bennani-Smires K, Musat C, Hossmann A, et al. Simple unsupervised keyphrase extraction using sentence embeddings[J]. arXiv preprint arXiv:1801.04470, 2018.
【4】KeyBERT,
【5】Witten I H, Paynter G W, Frank E, et al. KEA: Practical automatic keyphrase extraction[C]//Proceedings of the fourth ACM conference on Digital libraries. 1999: 254-255.
【6】Xiong L, Hu C, Xiong C, et al. Open domain web keyphrase extraction beyond language modeling[J]. arXiv preprint arXiv:1911.02671, 2019.
【7】Sun, S., Xiong, C., Liu, Z., Liu, Z., & Bao, J. (2020). Joint Keyphrase Chunking and Salience Ranking with BERT. arXiv preprint arXiv:2004.13639.
【8】Zhang Y, Yang J. Chinese NER using lattice LSTM[C]. ACL 2018.
【9】Li X, Yan H, Qiu X, et al. FLAT: Chinese NER using flat-lattice transformer[C]. ACL 2020.
【10】Shang J, Liu J, Jiang M, et al. Automated phrase mining from massive text corpora[J]. IEEE Transactions on Knowledge and Data Engineering, 2018, 30(10): 1825-1837.
【11】 Shang J, Liu L, Ren X, et al. Learning named entity tagger using domain-specific dictionary[C]. EMNLP, 2018.
【12】Liang C, Yu Y, Jiang H, et al. Bond: Bert-assisted open-domain named entity recognition with distant supervision[C]//Proceedings of the 26th ACM SIGKDD international conference on knowledge discovery & data mining. 2020: 1054-1064.
【13】美團搜尋中NER技術的探索與實踐,
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70027824/viewspace-2995115/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [NLP] 知識抽取技術
- 得物直播低延遲探索 | 得物技術
- Shell指令碼知識簡述指令碼
- 簡述Linux chmod命令的知識Linux
- 深入理解Sora技術原理|得物技術Sora
- 簡述Spring技術內幕Spring
- ELF 格式簡述 - eBPF 基礎知識eBPF
- DartVM GC 深度剖析|得物技術DartGC
- nmap攻擊技術原理簡述
- 雲託管知識分享季,技術共創得獎勵
- SpEL應用實戰|得物技術
- 下單穩定性治理 | 得物技術
- 得物技術登入元件重構元件
- 簡述知識付費平臺搭建過程
- 得物技術基於自注意機制的影像識別演算法演算法
- 精簡的言語講述技術人,必須掌握基礎性IT知識技能,第一篇
- 簡述網站建設技術難點網站
- 簡述大前端技術棧的渲染原理前端
- 【得物技術】深入理解synchronzied底層原理
- 得物技術多興趣召回模型實踐模型
- 得物Tech Leader對管理授權的思考是什麼?|得物技術管理集錦
- 遊戲技術美術之<技術&美術>知識構成遊戲
- Jedis連線池究竟是何物|得物技術
- 深入淺出解析JVM中的Safepoint | 得物技術JVM
- 存貨庫存模型升級始末|得物技術模型
- 如何從1到99做好產品 | 得物技術
- 全方位掌握OpenStack技術知識
- 【技術性】OO語言知識
- RPA技術原理與RPA產品形態簡述
- 虛擬執行緒原理及效能分析|得物技術執行緒
- 彩虹橋架構演進之路-效能篇|得物技術架構
- 商家下載中心設計演進之路|得物技術
- 得物技術時間切片的實踐與應用
- 王昊奮知識圖譜學習筆記--第三講知識抽取與知識挖掘(上)筆記
- IAST技術知識-Java環境Agent部署知識乾貨分享ASTJava
- 非常硬核的技術知識-CopyOnWrite思想
- 知識圖譜技術的新成果—KGB知識圖譜介紹
- 商家視覺化埋點探索和實踐|得物技術視覺化