实体命名识别详解(十)

 接下来程序进入到了train.py环节。

实体命名识别详解(十)_第1张图片
image.png

 先看一下程序体长什么样。。。

from model.data_utils import CoNLLDataset
from model.ner_model import NERModel
from model.config import Config


def main():
    # create instance of config
    config = Config()

    # build model
    model = NERModel(config)
    model.build()
    # model.restore_session("results/crf/model.weights/") # optional, restore weights
    # model.reinitialize_weights("proj")

    # create datasets
    dev   = CoNLLDataset(config.filename_dev, config.processing_word,
                         config.processing_tag, config.max_iter)
    train = CoNLLDataset(config.filename_train, config.processing_word,
                         config.processing_tag, config.max_iter)

    # train model
    model.train(train, dev)

if __name__ == "__main__":
    main()

 看介绍,大致流程是先创建配置实例(config = Config()),再实例化NER模型,再调用模型的build方法,之后创建训练集和开发集,最后将训练集和开发集作为参数传入实例化的model中进行训练。
 大体上就是这样的流程,核心就是

model = NERModel(config)
model.build()
model.train(train, dev)

下一小结我们开始讲解train.py

你可能感兴趣的:(实体命名识别详解(十))