ken11 commited on
Commit
f5e3a9a
1 Parent(s): b844f8d

add readme

Browse files

Files changed (1) hide show
  1. README.md +62 -0
README.md ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - ner
4
+ - token-classification
5
+ - japanese
6
+ - bert
7
+
8
+ language:
9
+ - ja
10
+
11
+ license: mit
12
+
13
+ ---
14
+ ## bert-japanese-ner
15
+ このモデルは日本語の固有表現抽出タスクを目的として、[京都大学 黒橋・褚・村脇研究室が公開しているBERT日本語Pretrainedモデル](https://nlp.ist.i.kyoto-u.ac.jp/?ku_bert_japanese)をベースに[ストックマーク株式会社が公開しているner-wikipedia-dataset](https://github.com/stockmarkteam/ner-wikipedia-dataset)でファインチューニングしたものです。
16
+
17
+ ## How to use
18
+ このモデルはTokenizerに上述の京都大学BERT日本語PretrainedモデルのTokenizerを利用します。
19
+ 当リポジトリにTokenizerは含まれていません。
20
+ 利用する際は別途ダウンロードしてご用意ください。
21
+
22
+ また、Tokenizerとは別に[Juman++](https://nlp.ist.i.kyoto-u.ac.jp/?JUMAN%2B%2B)と[pyknp](https://nlp.ist.i.kyoto-u.ac.jp/?PyKNP)を利用します。
23
+ 予めインストールしておいてください。
24
+ ```py
25
+ from transformers import (
26
+ BertForTokenClassification, BertTokenizer
27
+ )
28
+
29
+ from pyknp import Juman
30
+
31
+
32
+ jumanpp = Juman()
33
+ tokenizer = BertTokenizer.from_pretrained("ダウンロードした京都大学のTokenizerのファイルパス")
34
+
35
+ model = BertForTokenClassification.from_pretrained("ken11/bert-japanese-ner")
36
+
37
+ text = "なにか文章"
38
+ juman_result = jumanpp.analysis(text)
39
+ tokenized_text = [mrph.midasi for mrph in juman_result.mrph_list()]
40
+ inputs = tokenizer(tokenized_text, return_tensors="pt", padding='max_length', truncation=True, max_length=64, is_split_into_words=True)
41
+ pred = model(**inputs).logits[0]
42
+ pred = np.argmax(pred.detach().numpy(), axis=-1)
43
+ labels = []
44
+ for i, label in enumerate(pred):
45
+ if i + 1 > len(tokenized_text):
46
+ continue
47
+ labels.append(model.config.id2label[label])
48
+ print(f"{tokenized_text[i]}: {model.config.id2label[label]}")
49
+ print(tokenized_text)
50
+ print(labels)
51
+ ```
52
+
53
+ ## Training Data
54
+ 学習には[ストックマーク株式会社が公開しているner-wikipedia-dataset](https://github.com/stockmarkteam/ner-wikipedia-dataset)を利用しました。
55
+ 便利なデータセットを公開していただきありがとうございます。
56
+
57
+ ## Note
58
+ 固有表現抽出のラベルは学習データセットのものをBILUO形式に変換して使用しています。
59
+ ラベルの詳細については[ner-wikipedia-datasetの概要](https://github.com/stockmarkteam/ner-wikipedia-dataset#%E6%A6%82%E8%A6%81)をご確認ください。
60
+
61
+ ## Licenese
62
+ [The MIT license](https://opensource.org/licenses/MIT)