知识抽取通常指从非结构化文本中挖掘结构化信息,如语义信息丰富的标签、短语等。在业界被广泛使用的场景包括内容理解、商品理解,从用户生产的文本信息中挖掘有价值的标签打在内容或商品上。
知识抽取通常伴随着对所抽取标签或短语的分类,通常被建模为命名实体识别任务,通用的命名实体识别任务就是识别命名实体成分并将成分划分到地名、人名、机构名等类型上;领域相关的标签词抽取将标签词识别并划分到领域自定义的类别上,如系列(空军一号、音速 9)、品牌(Nike、李宁)、类型(鞋、服装、数码)、风格(ins 风、复古风、北欧风)等。
为描述方便,下文将信息量丰富的标签或短语统称为标签词。
图1 知识抽取方法分类
计算方法: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 出现在多少个文档中,用来表示一个词语的稀有度,假如一个词语只在一篇文档中出现,说明这个词语比较稀有,信息量更丰富。
特定业务场景下可以借助外部工具对候选词先进行一轮筛选,如采用词性标识筛选名词。
图2 BLING-KPE 模型结构
文中将高质量短语定义为具有完整语义的单词,同时满足以下四个条件:
AutoPhrase 标签挖掘流程如图 3 所示,首先通过词性标注筛选高频 N-gram 词作为候选,通过远监督方式对候选词作分类,再通过以上四个条件筛选高质量的短语(Phrase-Quality Re-Estimation)。
图3 AutoPhrase 标签挖掘流程
从外部知识库获取高质量的短语作为 Positive Pool,其他短语作为负例,按论文实验统计,负例池中存在 10% 的高质量短语因为没有在知识库中被分到了负例中,因此论文采用了如图 4 所示的随机森林集成分类器来降低噪声对分类的影响。在业界应用中,分类器的训练也可以采用基于预训练模型 BERT 的句间关系任务二分类方法[13]。
图4 AutoPhrase标签词分类方法
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 模型
采用 Tie or Break 的实体边界标识方案来替代 BIOE 的标注方式来缓解远监督带来的噪声问题,Tie 表示当前词和上一个词在同一个实体内,Break 表示当前词和上一个词不再同一个实体内。
在实体分类阶段,通过模糊 CRF(Fuzzy CRF)来应对一个实体有多种类型的情况。
图6 AutoNER 模型结构图
图片
图7 BOND训练流程图
【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. https://github.com/LIAAD/yake
【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,https://github.com/MaartenGr/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技术的探索与实践,https://zhuanlan.zhihu.com/p/163256192