标题在网上看了很多相关代码,不知道为什么特别难跑通,这段时间刚好自己做了个数据集测试一下。
三方库
用的库是kashgari,一个专业做文本分类和序列标注的库,其中内置了BertEmbedding,GPT2Embedding,WordEmbedding等特征提取类,可以利用与训练模型进行迁移学习。
以及内置了CNN_LSTM_Model
BiLSTM_Model
BiLSTM_CRF_Model
BiGRU_Model
BiGRU_CRF_Model
深度学习模型供选择。
对于我这种新手来说十分友好。
准备工作
- Python 3.6 环境
- BERT-Base, Chinese 中文模型
- tensorflow 1.14
- kashgari 1.1.5
读取数据
这里的语料需要处理成如下图所示格式,最小粒度字符级的格式。用BIO标注。这里不多赘述。
train_path = './train.txt'
test_path = './test.txt'
def read_file(file_path: str,
text_index: int = 0,
label_index: int =