Views
No views yet
1from transformers import (
2 BertForTokenClassification, BertTokenizer
3)
4
5from pyknp import Juman
6
7
8jumanpp = Juman()
9tokenizer = BertTokenizer.from_pretrained("ダウンロードした京都大学のTokenizerのファイルパス")
10
11model = BertForTokenClassification.from_pretrained("ken11/bert-japanese-ner")
12
13text = "なにか文章"
14juman_result = jumanpp.analysis(text)
15tokenized_text = [mrph.midasi for mrph in juman_result.mrph_list()]
16inputs = tokenizer(tokenized_text, return_tensors="pt", padding='max_length', truncation=True, max_length=64, is_split_into_words=True)
17pred = model(**inputs).logits[0]
18pred = np.argmax(pred.detach().numpy(), axis=-1)
19labels = []
20for i, label in enumerate(pred):
21 if i + 1 > len(tokenized_text):
22 continue
23 labels.append(model.config.id2label[label])
24 print(f"{tokenized_text[i]}: {model.config.id2label[label]}")
25print(tokenized_text)
26print(labels)