yasuokaの日記: bert-large-japanese-uposで読む「13かける17は?」
一昨昨日の日記で公開したbert-large-japanese-uposで、「13かける17は?」という文に品詞付与してみた。
!pip install transformers
import torch
from transformers import AutoTokenizer,AutoModelForTokenClassification
tokenizer=AutoTokenizer.from_pretrained("KoichiYasuoka/bert-large-japanese-upos")
model=AutoModelForTokenClassification.from_pretrained("KoichiYasuoka/bert-large-japanese-upos")
s="13かける17は?"
p=[model.config.id2label[q] for q in torch.argmax(model(tokenizer.encode(s,return_tensors="pt"))[0],dim=2)[0].tolist()[1:-1]]
print(list(zip(s,p)))
Google Colaboratoryで動かしてみたところ、私(安岡孝一)の手元では以下の結果になった。
[('1', 'B-NUM'), ('3', 'I-NUM'), ('か', 'B-VERB'), ('け', 'I-VERB'), ('る', 'I-VERB'), ('1', 'B-NUM'), ('7', 'I-NUM'), ('は', 'ADP'), ('?', 'PUNCT')]
「13」と「17」がNUM、「かける」がVERB、「は」がADP、「?」がPUNCTで、まあ妥当なセンだと思う。ただ、ここで「かける」がVERB(動詞)だとすると、係り受けはどうするべきだろう?
bert-large-japanese-uposで読む「13かける17は?」 More ログイン