[上文]
A:今天开会的时候看你一直揉太阳穴,是不是昨晚又熬夜肝新番了
B:啊被发现了,其实不只是追番啦,最近项目deadline压得有点喘不过气
[当前]
B:话说回来你脸色也不太好的说,是不是胃又不舒服了,要不要去茶水间泡点热茶休息一下,身体才是革命的本钱啊
1import onnxruntime as ort
2from transformers import AutoTokenizer
3import numpy as np
4
5# 标签列表
6labels = ["开心", "难过", "生气", "惊讶", "害怕", "厌恶", "中性", "关心"]
7
8# 加载分词器和模型
9tokenizer = AutoTokenizer.from_pretrained("foxyanuo/chinese-chat-sentiment-8class")
10session = ort.InferenceSession("model.onnx")
11
12# 构造输入(必须包含上下文)
13text = """[上文]
14A:你听说了吗,小王要走了
15B:啊?真的假的
16[当前]
17A:嗯,听到这个消息我都快哭了..."""
18
19inputs = tokenizer(text, return_tensors="np", max_length=256, truncation=True, padding="max_length")
20logits = session.run(None, {k: v for k, v in inputs.items()})[0]
21
22# 获取预测结果
23probs = np.exp(logits) / np.exp(logits).sum(axis=-1, keepdims=True)
24pred = int(np.argmax(probs, axis=-1)[0])
25confidence = float(probs[0][pred])
26
27print(f"情感:{labels[pred]},置信度:{confidence:.2%}")
28# 情感:难过,置信度:99.91%