-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpredict_item.py
103 lines (84 loc) · 7.61 KB
/
predict_item.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
from src.models import SpellBertArch3
from transformers import BertTokenizer
import torch
import numpy as np
tokenizer = BertTokenizer.from_pretrained('pretrained')
model = SpellBertArch3.from_pretrained('output_add_transformers')
######## 模型输入格式 ###########
#input_ids = batch['src_idx']
#attention_mask = batch['masks']
#loss_mask = batch['loss_masks']
#label_ids = batch['tgt_idx'] if 'tgt_idx' in batch else None
batch = {}
sentence = '如果把军国主义比作日本的伏地魔,靖国神社无疑是藏匿这个国家灵魂最黑暗部分的魂器。'
sentence = '孔子曰,三人行必有我师焉。' #孔 子 曰 , 三 人 行 必 有 我 师 焉
sentence = '不管做什么事情都莫要冲动。' #不 管 做 什 么 事 情 都 莫 要 冲 动 。
sentence = '你在干什么呢?' #你 在 干 什 么 呢 ?
sentence = '明天天气怎么阳?' #明 天 天 气 怎 么 样 ?
sentence = '如果把军国主义比作日本的伏地魔,靖国神社无疑是藏匿这个国家灵魂最黑暗部分的魂器。' #明 天 天 气 怎 么 样 ?
sentence = '外媒曝美为戴尔苹果产品装监视设备苹果否认。' #明 天 天 气 怎 么 样 ?
#sentence = '他们等着,说话二十分以后公车来了,他们走上,可是公车没有座位所以他们站着说话。他们等着,说话二十分以后公车来了,他们走上,可是公车没有座位所以他们站着说话。' #明 天 天 气 怎 么 样 ?
#sentence = '到电影院前面,他们一定先要买票在可以进去。到电影院前面,他们一定先要买票在可以进去。' #明 天 天 气 怎 么 样 ?
#sentence = '所以我在“义大利面方子”已经定位了。所以我在“义大利面方子”已经定位了。' #明 天 天 气 怎 么 样 ?
#sentence = '幸亏一个小姐会说德问,他说话说得很好,所以他告诉我学校地址。幸亏一个小姐会说德问,他说话说得很好,所以他告诉我学校地址。' #明 天 天 气 怎 么 样 ?
#sentence = '幸亏一个小姐会说德问,他说话说得很好,所以他告诉我学校地址。' #明 天 天 气 怎 么 样 ?
#sentence = '是啊!她是我的老师啊!' #明 天 天 气 怎 么 样 ?
#sentence = '你应该买三枝笔,两本书,还有一些新衣服。' #明 天 天 气 怎 么 样 ?
#sentence = '下星期是我的第第生日,他和我的父母想请他的两个朋友来。' #明 天 天 气 怎 么 样 ?
#sentence = '哪里有我家人,我在那里时候,我的心最平安。' #明 天 天 气 怎 么 样 ?
#sentence = '他们的吵翻很不错,再说他们做的咖哩鸡也好吃!' #明 天 天 气 怎 么 样 ?
#sentence = '你可以告诉我那家书店有中文数马?' #明 天 天 气 怎 么 样 ?
#sentence = '我以前想要高诉你,可是我忘了。我真户秃。' #明 天 天 气 怎 么 样 ?
#sentence = '到电影院前面,他们一定先要买票在可以进去。' #明 天 天 气 怎 么 样 ?
#sentence = '下星期是我的第第生日,他和我的父母想请他的两个朋友来。' #明 天 天 气 怎 么 样 ?
#sentence = '他想:“这样我一定会持刀的!怎么办?' #明 天 天 气 怎 么 样 ?
#sentence = '老师很生气,就跟他说:“别再持刀!如果你又这样,我就不让你进来教室,知道了吗?' #明 天 天 气 怎 么 样 ?
#sentence = '他想来想去明天告诉他们应该会多案情一点。' #明 天 天 气 怎 么 样 ?
#sentence = '有吗吗、弟弟、姊姊还有我。' #明 天 天 气 怎 么 样 ?
#sentence = '不好意思!我不可以去,因为我很忙这个月很少修息,下次我们一起持分号码?' #明 天 天 气 怎 么 样 ?
#sentence = '我的好朋友,你好!习惯你的生活都很好。' #明 天 天 气 怎 么 样 ?
#sentence = '她们之所以会有着重病是因为她们正天待在家陪小孩,而没有机会出去接触外面的世界。' #明 天 天 气 怎 么 样 ?
sentence = '你应该买三枝笔,两本书,还有一些新衣服。你应该买三枝笔,两本书,还有一些新衣服。' #明 天 天 气 怎 么 样 ?
sentence = '我也知道你喜欢米兰队,可是我想买国几米兰队的衣,请不要生我的气。我也知道你喜欢米兰队,可是我想买国几米兰队的衣,请不要生我的气。' #明 天 天 气 怎 么 样 ?
sentence = '下星期是我的第第生日,他和我的父母想请他的两个朋友来。下星期是我的第第生日,他和我的父母想请他的两个朋友来。' #明 天 天 气 怎 么 样 ?
sentence = '他们的吵翻很不错,再说他们做的咖哩鸡也好吃!他们的吵翻很不错,再说他们做的咖哩鸡也好吃!' #明 天 天 气 怎 么 样 ?
input_ids = tokenizer.encode(sentence)
batch['src_idx'] = torch.tensor(input_ids).unsqueeze(0)
attention_mask = [1]*len(input_ids)
batch['masks'] = torch.tensor(attention_mask).unsqueeze(0)
loss_mask =[0]+ [1]*(len(input_ids)-2) +[0]
batch['loss_masks'] = torch.tensor(loss_mask).unsqueeze(0)
token_size = [len(tokenizer.decode(token)) for token in input_ids]
with torch.no_grad():
outputs = model(batch)
logits = outputs[0]
preds = logits.detach().cpu().numpy()
preds = np.argmax(preds, axis=-1)
for i in range(len(preds[0])-2):
temp_probility = torch.topk(torch.softmax(logits[:,i+1, :], dim=-1),10,
dim=-1).values[0, :]
print(temp_probility)
temp_word = tokenizer.decode(
torch.topk(logits[:,i+1, :],10, dim=-1).indices[0, :].detach().cpu().numpy())
print(temp_word)
preds_word = tokenizer.decode(preds[0])
print(sentence)
print(preds_word)
'''
('宋', 491), ('痘', 492), ('但', 494), ('囚', 496), ('想', 500), ('疆', 511), ('睛', 512),
('住', 515), ('清', 515), ('袖', 517), ('起', 525), ('阳', 534), ('侍', 539), ('身', 539),
('晋', 541), ('寅', 543), ('明', 548), ('着', 549), ('耒', 551), ('记', 554), ('竟', 560),
('东', 562), ('间', 567), ('昆', 568), ('时', 573), ('余', 575), ('它', 592), ('涪', 614),
('荀', 615), ('成', 618), ('去', 619), ('大', 620), ('情', 624), ('闾', 625), ('子', 626),
('害', 632), ('冥', 633), ('部', 642), ('袁', 646), ('意', 652), ('墙', 653), ('旧', 653),
('唱', 659), ('宙', 666), ('做', 679), ('与', 687), ('万', 688), ('力', 695), ('栗', 695),
('泣', 718), ('经', 720), ('里', 735), ('为', 763), ('只', 778), ('生', 791), ('冒', 797),
('遐', 814), ('事', 825), ('贡', 831), ('晏', 863), ('看', 870), ('盱', 874), ('渠', 880),
('展', 912), ('像', 914), ('已', 925), ('犬', 928), ('区', 939), ('盲', 1003), ('在', 1006),
('胃', 1013), ('直', 1030), ('真', 1033), ('得', 1041), ('台', 1049), ('憎', 1050), ('友', 1051),
('熹', 1110), ('存', 1116), ('昕', 1131), ('市', 1143), ('以', 1162), ('有', 1188), ('莒', 1227),
('庄', 1232), ('旱', 1252), ('黄', 1275), ('找', 1283), ('天', 1304), ('亘', 1306), ('目', 1329),
('驭', 1372), ('涠', 1403), ('备', 1515), ('耍', 1551), ('己', 1616), ('罡', 1644), ('一', 1812),
('是', 1963), ('他', 1965), ('苜', 1987), ('逞', 2015), ('誓', 2103), ('柜', 2362), ('豪', 2374),
('顶', 2507), ('养', 2543), ('的', 2581), ('玫', 2601), ('墓', 2764), ('肘', 2829), ('撮', 3473),
('茌', 3694), ('菖', 4604), ('宫', 4933), ('末', 5142), ('干', 6151), ('莫', 6567), ('曰', 13954)]'''