Views
No views yet
@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"
}@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"
}/usr/local/lib/mecab/dic/userdic.1# download Manbyo-Dictionary
2
3mkdir -p /usr/local/lib/mecab/dic/userdic
4wget https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic
5mv MANBYO_201907_Dic-utf8.dic /usr/local/lib/mecab/dic/userdic/usr/local/lib/mecab/dic/userdic, you can still load our model by overriding tokenizer settings as follows:1# download Manbyo-Dictionary wherever you like
2
3wget https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic
4mv MANBYO_201907_Dic-utf8.dic /anywhere/you/like1from transformers import AutoModelForMaskedLM, AutoTokenizer
2
3model = AutoModelForMaskedLM.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece")
4tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece", **{
5 "mecab_kwargs": {
6 "mecab_option": "-u /anywhere/you/like/MANBYO_201907_Dic-utf8.dic"
7 }
8})1from transformers import AutoModelForMaskedLM, AutoTokenizer
2
3model = AutoModelForMaskedLM.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece")
4model.eval()
5tokenizer = AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece")
6
7texts = ['この患者は[MASK]と診断された。']
8inputs = tokenizer.batch_encode_plus(texts, return_tensors='pt')
9outputs = model(**inputs)
10tokenizer.convert_ids_to_tokens(outputs.logits[0][1:-1].argmax(axis=-1))
11# ['この', '患者', 'は', 'ALS', 'と', '診断', 'さ', 'れ', 'た', '。']1from transformers import pipeline
2
3fill = pipeline("fill-mask", model="alabnii/jmedroberta-base-manbyo-wordpiece", top_k=10)
4fill("この患者は[MASK]と診断された。")
5#[{'score': 0.020739275962114334,
6# 'token': 11474,
7# 'token_str': 'ALS',
8# 'sequence': 'この 患者 は ALS と 診断 さ れ た 。'},
9# {'score': 0.0193060003221035,
10# 'token': 10777,
11# 'token_str': '統合失調症',
12# 'sequence': 'この 患者 は 統合失調症 と 診断 さ れ た 。'},
13# {'score': 0.014001614414155483,
14# 'token': 27318,
15# 'token_str': 'Fabry病',
16# 'sequence': 'この 患者 は Fabry病 と 診断 さ れ た 。'},
17# ...BertForMaskedLM class. However, we consider our model as RoBERTa for the following reasons: