feat: 垃圾信息分类标签功能
新增垃圾信息细分类标签,在朴素贝叶斯二分类基础上对spam进行细分: - 新增 spam_categorizer.py 分类模块(诈骗/骚扰/广告) - SpamPredictionLog 和 ContentPost 模型添加 category 字段 - content_routes 和 spam_routes 接口返回分类标签 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -79,6 +79,7 @@ class SpamPredictionLog(db.Model):
|
||||
user_id = db.Column(db.Integer, db.ForeignKey("users.id"), nullable=False, index=True)
|
||||
text = db.Column(db.Text, nullable=False)
|
||||
prediction = db.Column(db.String(16), nullable=False) # spam | ham
|
||||
category = db.Column(db.String(32), default="") # fraud | harassment | advertisement | spam | 空
|
||||
spam_probability = db.Column(db.Float, nullable=False)
|
||||
ham_probability = db.Column(db.Float, nullable=False)
|
||||
confidence = db.Column(db.Float, nullable=False)
|
||||
@@ -92,6 +93,7 @@ class SpamPredictionLog(db.Model):
|
||||
"user_id": self.user_id,
|
||||
"text": self.text,
|
||||
"prediction": self.prediction,
|
||||
"category": self.category or "",
|
||||
"spam_probability": round(float(self.spam_probability), 4),
|
||||
"ham_probability": round(float(self.ham_probability), 4),
|
||||
"confidence": round(float(self.confidence), 4),
|
||||
@@ -130,6 +132,7 @@ class ContentPost(db.Model):
|
||||
|
||||
status = db.Column(db.String(16), nullable=False, default="published") # published | blocked
|
||||
prediction = db.Column(db.String(16), nullable=False, default="ham")
|
||||
category = db.Column(db.String(32), default="") # fraud | harassment | advertisement | spam | 空
|
||||
spam_probability = db.Column(db.Float, nullable=False, default=0)
|
||||
ham_probability = db.Column(db.Float, nullable=False, default=0)
|
||||
confidence = db.Column(db.Float, nullable=False, default=0)
|
||||
@@ -163,6 +166,7 @@ class ContentPost(db.Model):
|
||||
"visibility": self.visibility,
|
||||
"status": self.status,
|
||||
"prediction": self.prediction,
|
||||
"category": self.category or "",
|
||||
"spam_probability": round(float(self.spam_probability), 4),
|
||||
"ham_probability": round(float(self.ham_probability), 4),
|
||||
"confidence": round(float(self.confidence), 4),
|
||||
|
||||
Reference in New Issue
Block a user