深入了解中文标点预测算法(一)
目前查找到的算法大多基于bert模型,对于bert模型进行微调,由于BERT论文中提供了序列标注的思路,所以单纯使用原论文的bert模型跑一下就可以得到比较满意的结果,目前我查找到的几个思路:
1、使用原论文中的bert模型
论文:
BERT:Pre-training of Deep Bidirectional Transformer for Language Understanding
2、使用bert模型+微调
项目:入口
思想:
在预训练的BERT掩码语言模型(BertForMaskedLM)的顶部添加了一个额外的线性层。BertForMaskedLM为每个(掩码)令牌输出一个logit向量。logit向量的大小为30522,与BERT token词汇表相对应。额外的线性层映射到可能的标点符号(比如:逗号,句点,问号和无标点)。
3、BiGRU+Attention
论文:
Bidirectional Recurrent Neural Network with Attention Mechanism for Punctuation Restoration
github:
GitHub项目入口
模型思想
输入通过BiGRU得到Ht,在通过一个单向GRU得到St,St对Ht做了attention,然后进行Late fusion,公式如下:
然后通过sorftMax算t时刻的各种分类的概率:
模型的结构图如下:
参考资料:
https://www.zhihu.com/question/263726115/answer/455680235