返回模型
说明文档
🧠 推文表情符号预测器
本仓库托管了一个基于 vinai/bertweet-base 微调的模型版本,用于多标签表情符号预测。给定一段短文本或推文,该模型会预测一个或多个能反映情感、语境或所描述活动的表情符号。
🛠 安装
请确保已安装以下库:
pip install torch numpy scikit-learn transformers huggingface_hub
🚀 使用方法
第一步:加载模型和资源
import torch
import numpy as np
import joblib
from transformers import AutoTokenizer, AutoModelForSequenceClassification
from huggingface_hub import hf_hub_download
REPO_ID = "ashish-001/tweet-emoji-predictor"
# 加载标签编码器
mlb_path = hf_hub_download(repo_id=REPO_ID, filename="mlb_emoji_encoder.pkl")
with open(mlb_path, "rb") as f:
label_map = joblib.load(f)
# 加载表情符号阈值
threshold_path = hf_hub_download(repo_id=REPO_ID, filename="thresholds.npy")
thresholds = np.load(threshold_path)
# 加载模型和分词器
tokenizer = AutoTokenizer.from_pretrained(REPO_ID)
model = AutoModelForSequenceClassification.from_pretrained(REPO_ID)
model.eval()
第二步:定义预测函数
def predict_emojis(text, thresholds=thresholds, label_map=label_map):
inputs = tokenizer(
text,
return_tensors="pt",
truncation=True,
padding="max_length",
max_length=128,
)
with torch.no_grad():
outputs = model(**inputs)
probs = torch.sigmoid(outputs.logits).squeeze(0).numpy()
predictions = (probs >= thresholds).astype(int).reshape(1, -1)
return "".join(label_map.inverse_transform(predictions)[0])
第三步:运行示例
text = "It is gonna be fun today, will play games and do fun activities. Let's go!!!"
print(predict_emojis(text))
预期输出(示例):
💪🔥
⚙️ 模型详情
- 基础模型:
vinai/bertweet-base - 微调用途:多标签表情符号分类
- 任务类型:序列分类
- 输出:多热编码标签,解码为表情符号
- 激活函数:Sigmoid 配合各类别阈值
🧾 支持的表情符号
本模型支持从以下表情符号标签集中进行预测(多标签):
‼ ☺ ♀ ♂ ♥ ✔ ✨ ❤ ➡ 🌟 🎉 🏆 👀
👇 👉 👌 👍 👏 💀 💕 💖 💙 💛 💜 💥 💪
💯 🔥 🗣 😁 😂 😉 😊 😍 😎 😘 😢 😩 😭
😳 🙄 🙌 🙏 🚨 🤔 🤣 🤦 🤷
支持的表情符号总数:49
ashish-001/tweet-emoji-predictor
作者 ashish-001
text-classification
↓ 1
♥ 0
创建时间: 2025-06-14 07:55:15+00:00
更新时间: 2025-06-14 16:15:03+00:00
在 Hugging Face 上查看文件 (12)
.gitattributes
README.md
added_tokens.json
bpe.codes
config.json
mlb_emoji_encoder.pkl
model.safetensors
model_quantized.onnx
ONNX
special_tokens_map.json
thresholds.npy
tokenizer_config.json
vocab.txt