模型:
alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000
这是一个在日本科学技术振兴机构(JST)收集的医学科学学术文章上进行预训练的日语RoBERTa基础模型。
该模型采用 Creative Commons 4.0 International License (CC BY-NC-SA 4.0)许可发布。
引用Ja:
@InProceedings{sugimoto_nlp2023_jmedroberta,
author = "杉本海人 and 壹岐太一 and 知田悠生 and 金沢輝一 and 相澤彰子",
title = "J{M}ed{R}o{BERT}a: 日本語の医学論文にもとづいた事前学習済み言語モデルの構築と評価",
booktitle = "言語処理学会第29回年次大会",
year = "2023",
url = "https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/P3-1.pdf"
}
En:
@InProceedings{sugimoto_nlp2023_jmedroberta,
author = "Sugimoto, Kaito and Iki, Taichi and Chida, Yuki and Kanazawa, Teruhito and Aizawa, Akiko",
title = "J{M}ed{R}o{BERT}a: a Japanese Pre-trained Language Model on Academic Articles in Medical Sciences (in Japanese)",
booktitle = "Proceedings of the 29th Annual Meeting of the Association for Natural Language Processing",
year = "2023",
url = "https://www.anlp.jp/proceedings/annual_meeting/2023/pdf_dir/P3-1.pdf"
}
在使用模型之前,请确保 Manbyo Dictionary 已经下载到/usr/local/lib/mecab/dic/userdic目录下。
# download Manbyo-Dictionary mkdir -p /usr/local/lib/mecab/dic/userdic wget https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic mv MANBYO_201907_Dic-utf8.dic /usr/local/lib/mecab/dic/userdic
注意:如果您没有root权限,或者发现难以将Manbyo词典下载到/usr/local/lib/mecab/dic/userdic目录下,您仍然可以通过覆盖tokenizer设置来加载我们的模型,方法如下:
# download Manbyo-Dictionary wherever you like wget https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic mv MANBYO_201907_Dic-utf8.dic /anywhere/you/like
from transformers import AutoModelForMaskedLM, AutoTokenizer
model = AutoModelForMaskedLM.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000")
tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000", **{
"mecab_kwargs": {
"mecab_option": "-u /anywhere/you/like/MANBYO_201907_Dic-utf8.dic"
}
})
输入文本必须提前转换为全角字符(全角)。
您可以按照以下方式使用此模型进行遮蔽语言建模:
from transformers import AutoModelForMaskedLM, AutoTokenizer
model = AutoModelForMaskedLM.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000")
model.eval()
tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000")
texts = ['この患者は[MASK]と診断された。']
inputs = tokenizer.batch_encode_plus(texts, return_tensors='pt')
outputs = model(**inputs)
tokenizer.convert_ids_to_tokens(outputs.logits[0][1:-1].argmax(axis=-1))
# ['この', '患者', 'は', 'SLE', 'と', '診断', 'さ', 'れ', 'た', '。']
或者,您可以使用 Fill-mask pipeline 。
from transformers import pipeline
fill = pipeline("fill-mask", model="alabnii/jmedroberta-base-manbyo-wordpiece-vocab50000", top_k=10)
fill("この患者は[MASK]と診断された。")
#[{'score': 0.035826072096824646,
# 'token': 10840,
# 'token_str': 'SLE',
# 'sequence': 'この 患者 は SLE と 診断 さ れ た 。'},
# {'score': 0.020926717668771744,
# 'token': 10777,
# 'token_str': '統合失調症',
# 'sequence': 'この 患者 は 統合失調症 と 診断 さ れ た 。'},
# {'score': 0.02092057280242443,
# 'token': 8338,
# 'token_str': '糖尿病',
# 'sequence': 'この 患者 は 糖尿病 と 診断 さ れ た 。'},
# ...
您可以在下游任务中对该模型进行微调。
还可参考示例Colab笔记本: https://colab.research.google.com/drive/1p2770dXs0lge1IkuSHYLO-G-KJ4gZtou?usp=sharing
预训练时使用了Mecab(搭配IPAdic和 Manbyo Dictionary )。每个词都通过 WordPiece 进行分词处理。
词汇表包含50000个标记,包括单词(IPAdic和 Manbyo Dictionary )以及由 WordPiece 生成的子词。
预训练时使用了以下超参数:
根据配置文件的建议,我们的模型基于HuggingFace的BertForMaskedLM类。然而,出于以下原因,我们将我们的模型视为RoBERTa:
这项工作得到了日本科学技术振兴机构(JST)AIP Trilateral AI Research(授权编号:JPMJCR20G9)和日本联合使用/研究信息基础设施(JHPCN)(项目ID:jh221004)的支持。在这项研究工作中,我们使用了“ mdx: a platform for the data-driven future ”。