Some checks are pending
Security Checks / security (push) Waiting to run
统一 frontend、backend、test、test-log 和 out 目录,更新构建、部署及测试入口;纳入配置管理兼容与首次安全引导修复;排除本机配置、密钥和测试产物。
36 lines
958 B
Python
36 lines
958 B
Python
import os
|
||
from pathlib import Path
|
||
import numpy as np
|
||
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '1' # silence TF INFO messages
|
||
import tensorflow as tf
|
||
|
||
save_path = str(Path(__file__).resolve().parents[3] / 'plugins/spam_block/emotion_model/1')
|
||
|
||
model = tf.keras.models.load_model(save_path, compile=False)
|
||
|
||
model.summary()
|
||
|
||
CLASSES = {
|
||
0:'普通邮件',
|
||
1:'广告邮件',
|
||
2:'诈骗邮件'
|
||
}
|
||
|
||
def predict_emotions(txt):
|
||
# recall it is multi-class so we need to get all prediction above a threshold (0.5)
|
||
input = tf.constant( np.array([txt]) , dtype=tf.string )
|
||
|
||
preds = model(input)[0]
|
||
maxClass = -1
|
||
maxScore = 0
|
||
for idx in range(3):
|
||
if preds[idx] > maxScore:
|
||
maxScore = preds[idx]
|
||
maxClass = idx
|
||
return maxClass
|
||
|
||
|
||
maxClass = predict_emotions("各位同事请注意 这里是110,请大家立刻把银行卡账号密码回复发给我!")
|
||
|
||
print("这个邮件属于:",CLASSES[maxClass])
|