Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
Taoqiuyu 702391d009 | 3 years ago | |
---|---|---|
elmo | 3 years ago | |
scripts | 3 years ago | |
tests | 3 years ago | |
.gitignore | 3 years ago | |
ElmoTrainOne.py | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago | |
train.py | 3 years ago |
ELMo(Embeddings from Language Model)模型出自NAACL2018会议上的论文“Deep contextualized word representations”,论文中提出了一个新的词表征方法。常用的词嵌入方法如:Word2Vec、GloVe等忽略了词的上下文信息。ELMo同时对(1)单词在不同语境下的使用(如语法和语义);(2)这些用法如何在不同的语言环境中变化(例如,建模一词多义)。该模型是在大型文本语料库上进行预训练的。模型建立在biLMs(双向语言模型)基础上,可以很容易地添加到现有的模型中,并显著改善一系列具有挑战性的自然语言处理问题(包括问答、文本蕴涵和情感分析)的技术水平。
Elmo模型的训练和评估需要准备:
download_dataset.sh
进行下载。sh script/download_dataset.sh
<S>``</S>``<UNK>
,词汇表文件下载:vocab-2016-09-10.txt。# 运行以下脚本
bash script/convert_dataset.sh
train.py
脚本进行模型训练# for example
python train.py --epoch_num=10
暂不支持静态图模型及分布式训练
.
└─ELMo
├─README.md
├─elmo
├─data
├─__init__.py
├─dataset.py # 数据预处理
├─fields.py
├─instance.py
├─reader.py # 数据转换
├─token_indexer.py
├─tokenizer.py
├─vocabulary.py # 数据预处理
├─modules
├─__init__.py
├─embedding.py # char encoder实现脚本
├─highway.py # highway层实现脚本
├─loss.py # 损失层实现脚本
├─lstm.py # biLM层实现脚本
├─scalar_mix.py
├─time_distributed.py
├─nn
├─__init__.py
├─layers.py # 参数初始化脚本
├─rnn.py # GRU实现脚本
├─rnn_cell_warpper.py # GRU实现脚本
├─rnn_cells.py # GRU实现脚本
├─ops
├─sampled_softmax_loss.py # 损失函数实现
├─utils
├─config.py
├─model.py # 网络骨干编码
├─scripts
├─convert_dataset.sh # 数据集预处理shell脚本
├─download_dataset.sh # 下载数据集shell脚本
├─rank_table_2pcs.json # 多卡配置文件
├─rank_table_8pcs.json # 多卡配置文件
└─run_distribution.sh # Ascend上多机ELMo任务shell脚本
├─tests # 单元测试
├─test_char_encoder.py
├─test_data.py
├─test_elmo_lstm.py
├─test_highway.py
├─test_lm.py
├─test_rnn.py
├─test_rnn_cell.py
├─test_rnn_cell_warpper.py
├─test_sampled_softmax_loss.py
├─.gitignore
├─ElmoTrainOne.py # TrainOnestep脚本
└─train.py # ELMo模型的训练脚本
用法:reader.py [--vocab_path VOCAB_PATH]
[--options_path OPTIONS_PATH]
[--input_file INPUT_FILE]
[--output_file OUTPUT_FILE]
选项:
--vocab_path ELMo模型训练的词汇表
--options_path 配置文件的路径
--input_file 原始数据集路径
--output_file 保存生成mindRecord格式数据的路径
用法:train.py [--data_url DATA_URL]
[--train_url TRAIN_URL]
[--device_target DEVICE_TARGET]
[--lr, LR] [--epoch_num EPOCH_NUM]
选项:
--data_url 用于保存训练数据的mindRecord文件,如train.mindrecord
--train_url 保存生成微调检查点的路径
--device_target 代码实现设备,可选项为Ascend或CPU。默认为Ascend
--lr 学习率
--epoch_num 训练轮次总数
ELMo MindSpore version
Python Shell
MIT
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》