**科学技术大学-微软亚洲研究院创新实践项目 医学文献翻译组
自己收集所得的数据:
要求python>=3.6,torch>=1.6.0。主要依赖有
transformers
datadets
sentencepiece
nltk
sacrebleu
pdfplumber
PyPDF2
在命令行输入
pip install -r requirements.txt
即可快速配置好环境。
训练方法:
首先基于数据集训练分词器:
cd typical_transformer
python mytokenize.py
分词器训练完毕后,再训练整个模型:
python main.py
可根据需求修改config.py
中的模型参数。
训练方法:
cd pretrained_transformers
python train.py
使用该模型翻译文献:
python main.py --pdf --field abstract --filename FILENAME_WITH_PATH
训练方法:
cd pretrained_transformers
python train_mbart.py
使用该模型翻译文献:
python main_mbart.py --pdf --field abstract --filename FILENAME_WITH_PATH
无预训练transformer | 预训练transformer | 预训练mBART | |
---|---|---|---|
BLEU | 20.93 | 25.33 | 28.96 |
翻译单句示例:
模型 | 结果 |
---|---|
原文 | However, the within-host evolutionary dynamics of influenza viruses remain incompletely understood, in part because most studies have focused on within-host virus diversity of infections in otherwise healthy adults based on single timepoint data. |
无预训练transformer | 流感嗜血杆菌在变迁1区, 在病毒感染过程中起重要作用, 主要从单面资料提炼, 在病毒感染成人基础上,由基因四季度图象数据控制。 |
预训练transformer | 但是, 对流感病毒宿主内演化动力仍不完全认识, 部分是由于多数研究都以单时点数据为基础, 着重讨论了原代健康成人感染宿主内病毒多样性。 |
预训练mBART | 流感病毒在宿主体内的演变动力学至今尚未完全阐明, 主要是基于单个时间点资料对健康成人体内流感病毒感染者感染的多样性进行研究。 |
主要用于获取数据。
cut_sentences.py
实现中英文分句get_abs_data.py
爬取https://www.chinapubmed.net上的中英文摘要数据get_art_pdf.py
爬取All Articles | bioRxiv上的论文get_pdf_content.py
抽取pdf论文中的标题、摘要和简介
基于pytorch
实现transformer的基本架构。
beam_decoder.py
实现束搜索解码config.py
模型参数配置data_loader.py
装载数据model.py
模型基本架构的实现main.py
主函数mytokenize.py
训练分词器train.py
训练模型utils.py
某些功能函数的实现
基于transformers
库及其所提供的预训练模型进行训练。
main_mbart.py
使用mBART模型的主函数main.py
使用transformer模型的主函数metric.py
用于计算模型BLEU分数train_mbart.py
训练mBART模型train.py
训练transformer模型