阅读分享:Enriching BERT with Knowledge Graph Embeddings for Document Classification
Enriching BERT with Knowledge Graph Embeddings for Document Classification
- https://github.com/malteos/pytorch-bert-document-classification
子任务A:对一本书进行八分类;
子任务B:第二层93个和第三层242个标签(总共343个标签)进行分类。
Arthitecture:
- Title
- Text:A short descriptive text (blurb) with an average length of 95 words.
- Metadata:
• Number of authors.
• Academic title (Dr. or Prof.), if found in author names (0 or 1).
• Number of words in title.
• Number of words in blurb.
• Length of longest word in blurb.
• Mean word length in blurb.
• Median word length in blurb.
• Age in years after publication date.
• Probability of first author being male or female based on the Gender-by-Name dataset4. Available for 87% of books in training set - Author embedding:pre-trained embeddings based on PyTorch BigGraph ( trained on the full Wikidata graph)
Results
- 性能最好是BERT-German+Metadata+Author。模型可以使用最多的数据,数据越多,分类性能就越好。每篇简介的平均字数是95字,只有0.25%的书的简介超过了300字。此外,书籍的分布是不平衡的,即对于许多类只有个位数的训练实例存在。因此,这个任务是一个低资源的情况下,包含了相关数据(如作者嵌入和作者身份特征,如性别和职称)或某些更明确的特征(标题和简介长度)。此外,应该注意的是,有些导语并没有提供类似于摘要的内容,而是说服读者购买这本书。
- transformer模型表示大大优于使用TF-IDF的逻辑回归baseline。然而,对于更简单的子任务A,baseline和BERT-Base-Multilingual-Cased模型之间的性能差异只有6个百分点。为德语训练的BERT模型BERT-German在子任务A和子任务B上的表现分别比BERT-Base-Multilingual-Cased模型好不到3分和6分以上,证实了BERT-German模型的研究结果。
- 对比子任务A,子任务B的准确度与召回之间存在较大差异。在所有模型中,精度比召回要高得多。或许可以归结为这样一个事实:在子任务B中的343个标签中,很少有实例。如果分类器预测了某个标签,那么它很可能是正确的。,但对于许多具有低频标签的情况,这种低频标签是永远无法预测的(即高精确度低召回)。
- 由于忽略了标签的层次结构,并将层次结构(三层)简化为一组343个标签,在子任务B上对性能产生负面影响,因为它允许这样一种情况:对于特定的书籍,我们从第一级预测到正确的标签,第二级预测到非匹配标签。考虑到模型在子任务B中趋向于更高的精度,作为一个后处理步骤,我们想要获得最详细的标签是正确的,并相应地手动调整更高层次的标签,留到以后的工作中,期望能提高性能。我们假设具有更多和更大层的MLP可以提高分类性能,但是,这将增加需要训练的参数的数量,因此需要更多的训练数据(例如书的内容或简介)。