笔者最近在学习elmo中文的词向量训练及使用,由于网上相关资料比较缺乏,也比较零碎,没有完整的从中文词向量的训练到使用的介绍,学起来困难较多。经过漫长的尝试,笔者终于将整套流程走通,相信应该是目前最完整的流程。现将相关学习过程记录如下,希望后来者可以少走些弯路。(免责声明:笔者也处于初学阶段,不能保证本文的过程及结果正确,若发现错误,敬请指正)
关于elmo的解读可参看网上众多博客,也可参考本人上篇博客:
https://blog.csdn.net/weixin_44081621/article/details/86649821
elmo中文词向量训练及使用可分为三个阶段:
一、中文elmo模型预训练。
二、下游任务的词向量计算。
三、elmo词向量嵌入到下游任务。
下面将按这三个阶段展开:
一、中文elmo模型预训练
本文elmo词向量的训练主要参考:
https://github.com/searobbersduck/ELMo_Chin
先用data_preprocessing.py处理原始语料库(4篇小说),再用train_elmo.py训练模型。
但该代码有些问题,训练过程中陷入了死循环,笔者一直找不到问题出在哪,后来直接用elmo的training源码(代码地址: