language: tr
土耳其语SQuAD模型:问答系统
我使用土耳其语版SQuAD(TQuAD)对土耳其语BERT模型进行了问答任务的微调
- BERT基础模型: https://huggingface.co/dbmdz/bert-base-turkish-uncased
- TQuAD数据集: https://github.com/TQuad/turkish-nlp-qa-dataset
引用规范
若在研究中使用本模型,请引用以下文献
@misc{yildirim2024finetuning,
title={针对土耳其语理解任务的Transformer编码器微调研究},
author={萨瓦斯·伊尔迪里姆},
year={2024},
eprint={2401.17396},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
@book{yildirim2021mastering,
title={精通Transformer:基于先进自然语言处理技术从零构建尖端模型},
author={伊尔迪里姆, 萨瓦斯 and 阿斯加里-切纳格鲁, 梅萨姆},
year={2021},
publisher={Packt出版社}
}
训练代码
!python3 run_squad.py \
--model_type bert \
--model_name_or_path dbmdz/bert-base-turkish-uncased\
--do_train \
--do_eval \
--train_file trainQ.json \
--predict_file dev1.json \
--per_gpu_train_batch_size 12 \
--learning_rate 3e-5 \
--num_train_epochs 5.0 \
--max_seq_length 384 \
--doc_stride 128 \
--output_dir "./model"
使用示例
加载模型
from transformers import AutoTokenizer, AutoModelForQuestionAnswering, pipeline
import torch
tokenizer = AutoTokenizer.from_pretrained("savasy/bert-base-turkish-squad")
model = AutoModelForQuestionAnswering.from_pretrained("savasy/bert-base-turkish-squad")
nlp = pipeline("question-answering", model=model, tokenizer=tokenizer)
应用模型
sait="萨义特·法克·阿巴西雅尼克,小说家(1906年11月23日生于阿达帕扎勒-1954年5月11日卒于伊斯坦布尔)。\
初等教育始于阿达帕扎勒的Rehber-i Terakki学校。后在阿达帕扎勒Idadisi中学就读两年。\
转入伊斯坦布尔男子高中后,最终在布尔萨高中完成中等教育(1928)。在伊斯坦布尔文学院\
就读两年后,应父亲要求赴瑞士攻读经济学。不久放弃经济学学业,从洛桑转至格勒诺布尔。\
经过三年散漫的文学研习后被父亲召回(1933)。曾在Halıcıoğlu亚美尼亚孤儿院担任\
土耳其语分组课程教师。尝试经商未果。在《Haber》报社担任过一个月司法记者(1942)。\
父亲去世后靠祖产收入开始闲散生活。终身未婚。\
夏季在布尔加兹岛的别墅,冬季在希什利的公寓与母亲共度的这种过度饮酒的波西米亚式生活,\
一直持续到他生命终结。"
print(nlp(question="他何时开始闲散生活?", context=sait))
print(nlp(question="萨义特·法克在哪个高中完成中等教育?", context=sait))
# 自定义问题
print(nlp(question="...?", context=sait))
查看我的其他模型
https://huggingface.co/savasy