百度LAC2.0试用

作者: 夕一啊 | 来源:发表于2020-07-21 19:33 被阅读0次

    最近看到推送,百度的开源词法LAC2.0发布了,可增量训练适应自己的数据, 赶紧来试验下。git

    模型是两层的BI-GRU+CRF,隐藏层维度256词向量维度128,优化器SGD,基础学习率1e-3,词向量层学习率5e-3,batchsize250。


    模型结构

    据说在各种数据集上表现效果都很棒,且速度很快,一个200字的句子大概10ms。

    增量训练

    因为最近在做ner,所以用ner数据集来测试下。
    首先得把数据处理成LAC所需的格式。

    日本/LOC 知/n 名/n 学/n 者/n 石川一成/PER 先/n 生/n 曾/n 撰/n 文/n 说/n :/n 面/n 对/n 宝顶大佛湾/LOC 造/n 像/n ,/n 看/n 中华/LOC 民/n 族/n 囊/n 括/n 外/n 来/n 文/n 化/n 的/n 能/n 力/n 和/n 创/n 造/n 能/n 力/n ,/n 不/n 禁/n 使/n 我/n 目/n 瞪/n 口/n 呆/n 。/n

    目前不支持自定义label,可以用已有的label来表示自己的数据。我是用“n“来代替”O“。

    训练代码

    from LAC import LAC
    
    # 选择使用默认的词法分析模型
    lac = LAC()
    
    # 训练和测试数据集,格式一致
    train_file = "lac_train_clue.txt"
    test_file = "lac_test_clue.txt"
    lac.train(model_save_dir='my_lac_model_clue_200/',train_data=train_file, test_data=test_file, iter_num=200)
    

    测试结果

    1. 人民日报
      bert+crf:94, LAC:91.18
      差别不是很大但是比bert快十倍


    2. clue
      bert+crf:78, LAC:68.98,
      与clue官网测试的lstm+crf F1:70类似,是因为细粒度分裂加上训练集只有1w所以效果比bert差很多吗

    相关文章

      网友评论

        本文标题:百度LAC2.0试用

        本文链接:https://www.haomeiwen.com/subject/mauwkktx.html