Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: mit
|
3 |
+
inference: False
|
4 |
+
---
|
5 |
+
|
6 |
+
# PS: 效果不怎么好,体验一下就行了。。。。。。wwm-MLM最终准确率55.5左右。
|
7 |
+
# cluner NER实验
|
8 |
+
```python
|
9 |
+
# globalpointer
|
10 |
+
04/08/2022 10:53:34 - INFO - __main__ - ADDRESS = Score(f1=0.607703, precision=0.64939, recall=0.571046, tp=213, pred=328, gold=373)
|
11 |
+
04/08/2022 10:53:34 - INFO - __main__ - BOOK = Score(f1=0.8125, precision=0.873134, recall=0.75974, tp=117, pred=134, gold=154)
|
12 |
+
04/08/2022 10:53:34 - INFO - __main__ - COMPANY = Score(f1=0.818304, precision=0.832877, recall=0.804233, tp=304, pred=365, gold=378)
|
13 |
+
04/08/2022 10:53:34 - INFO - __main__ - GAME = Score(f1=0.854305, precision=0.834951, recall=0.874576, tp=258, pred=309, gold=295)
|
14 |
+
04/08/2022 10:53:34 - INFO - __main__ - GOVERNMENT = Score(f1=0.823529, precision=0.775, recall=0.878543, tp=217, pred=280, gold=247)
|
15 |
+
04/08/2022 10:53:34 - INFO - __main__ - MOVIE = Score(f1=0.810997, precision=0.842857, recall=0.781457, tp=118, pred=140, gold=151)
|
16 |
+
04/08/2022 10:53:34 - INFO - __main__ - NAME = Score(f1=0.874042, precision=0.890625, recall=0.858065, tp=399, pred=448, gold=465)
|
17 |
+
04/08/2022 10:53:34 - INFO - __main__ - ORGANIZATION = Score(f1=0.813986, precision=0.836207, recall=0.792916, tp=291, pred=348, gold=367)
|
18 |
+
04/08/2022 10:53:34 - INFO - __main__ - POSITION = Score(f1=0.78478, precision=0.808824, recall=0.762125, tp=330, pred=408, gold=433)
|
19 |
+
04/08/2022 10:53:34 - INFO - __main__ - SCENE = Score(f1=0.683805, precision=0.738889, recall=0.636364, tp=133, pred=180, gold=209)
|
20 |
+
04/08/2022 10:53:34 - INFO - __main__ - micro_f1 = Score(f1=0.79175, precision=0.809524, recall=0.77474, tp=2380, pred=2940, gold=3072)
|
21 |
+
04/08/2022 10:53:34 - INFO - __main__ - macro_f1 = Score(f1=0.788395, precision=0.808275, recall=0.771906, tp=0, pred=0, gold=0)
|
22 |
+
04/08/2022 10:53:34 - INFO - __main__ - mean_f1 = 0.790072
|
23 |
+
|
24 |
+
# softmax
|
25 |
+
04/08/2022 11:10:44 - INFO - __main__ - ADDRESS = Score(f1=0.568987, precision=0.522422, recall=0.624665, tp=233, pred=446, gold=373)
|
26 |
+
04/08/2022 11:10:44 - INFO - __main__ - BOOK = Score(f1=0.750789, precision=0.730061, recall=0.772727, tp=119, pred=163, gold=154)
|
27 |
+
04/08/2022 11:10:44 - INFO - __main__ - COMPANY = Score(f1=0.75528, precision=0.711944, recall=0.804233, tp=304, pred=427, gold=378)
|
28 |
+
04/08/2022 11:10:44 - INFO - __main__ - GAME = Score(f1=0.811502, precision=0.767372, recall=0.861017, tp=254, pred=331, gold=295)
|
29 |
+
04/08/2022 11:10:44 - INFO - __main__ - GOVERNMENT = Score(f1=0.738636, precision=0.69395, recall=0.789474, tp=195, pred=281, gold=247)
|
30 |
+
04/08/2022 11:10:44 - INFO - __main__ - MOVIE = Score(f1=0.74359, precision=0.720497, recall=0.768212, tp=116, pred=161, gold=151)
|
31 |
+
04/08/2022 11:10:44 - INFO - __main__ - NAME = Score(f1=0.831967, precision=0.794521, recall=0.873118, tp=406, pred=511, gold=465)
|
32 |
+
04/08/2022 11:10:44 - INFO - __main__ - ORGANIZATION = Score(f1=0.754054, precision=0.747989, recall=0.760218, tp=279, pred=373, gold=367)
|
33 |
+
04/08/2022 11:10:44 - INFO - __main__ - POSITION = Score(f1=0.742729, precision=0.720174, recall=0.766744, tp=332, pred=461, gold=433)
|
34 |
+
04/08/2022 11:10:44 - INFO - __main__ - SCENE = Score(f1=0.628842, precision=0.621495, recall=0.636364, tp=133, pred=214, gold=209)
|
35 |
+
04/08/2022 11:10:44 - INFO - __main__ - micro_f1 = Score(f1=0.736335, precision=0.703979, recall=0.77181, tp=2371, pred=3368, gold=3072)
|
36 |
+
04/08/2022 11:10:44 - INFO - __main__ - macro_f1 = Score(f1=0.732638, precision=0.703043, recall=0.765677, tp=0, pred=0, gold=0)
|
37 |
+
04/08/2022 11:10:44 - INFO - __main__ - mean_f1 = 0.734486
|
38 |
+
```
|
39 |
+
|
40 |
+
# install
|
41 |
+
- https://github.com/JunnYu/FLASHQuad_pytorch
|
42 |
+
|
43 |
+
# usage
|
44 |
+
```python
|
45 |
+
import torch
|
46 |
+
from flash import FLASHForMaskedLM
|
47 |
+
from transformers import BertTokenizerFast
|
48 |
+
tokenizer = BertTokenizerFast.from_pretrained("junnyu/flash_base_wwm_cluecorpussmall")
|
49 |
+
model = FLASHForMaskedLM.from_pretrained("junnyu/flash_base_wwm_cluecorpussmall")
|
50 |
+
model.eval()
|
51 |
+
text = "天气预报说今天的天[MASK]很好,那么我[MASK]一起去公园玩吧!"
|
52 |
+
inputs = tokenizer(text, return_tensors="pt", padding="max_length", max_length=512, return_token_type_ids=False) #这里必须是512,不然结果可能不对。
|
53 |
+
with torch.no_grad():
|
54 |
+
pt_outputs = model(**inputs).logits[0]
|
55 |
+
|
56 |
+
pt_outputs_sentence = "pytorch: "
|
57 |
+
for i, id in enumerate(tokenizer.encode(text)):
|
58 |
+
if id == tokenizer.mask_token_id:
|
59 |
+
val,idx = pt_outputs[i].softmax(-1).topk(k=5)
|
60 |
+
tokens = tokenizer.convert_ids_to_tokens(idx)
|
61 |
+
new_tokens = []
|
62 |
+
for v,t in zip(val.cpu(),tokens):
|
63 |
+
new_tokens.append(f"{t}+{round(v.item(),4)}")
|
64 |
+
pt_outputs_sentence += "[" + "||".join(new_tokens) + "]"
|
65 |
+
else:
|
66 |
+
pt_outputs_sentence += "".join(
|
67 |
+
tokenizer.convert_ids_to_tokens([id], skip_special_tokens=True))
|
68 |
+
print(pt_outputs_sentence)
|
69 |
+
# pytorch: 天气预报说今天的天[气+0.994||天+0.0015||空+0.0014||晴+0.0005||阳+0.0003]很好,那么我[们+0.9563||就+0.0381||也+0.0032||俩+0.0004||来+0.0002]一起去公园玩吧!
|
70 |
+
```
|