Threads Comment Risk BERT

這是一個以 ckiplab/bert-base-chinese 為基礎模型微調的繁體中文留言四分類模型。

模型用於分析 Threads 討論串中的留言,並結合原始貼文、祖先留言與直接父留言, 判斷目標留言所屬的風險類別。

分類標籤

模型輸出以下四種類別:

Label ID 標籤 說明
0 general 一般、中性或無明顯風險的留言
1 friendly 友善、支持、安慰或正向互動留言
2 harassment 可能含有侮辱、嘲諷、敵意、貶抑或騷擾內容
3 cyberbullying 可能涉及持續性、群體性或針對性的網路霸凌內容

Model Details

  • Model type: BERT sequence classification
  • Task: Context-aware text classification
  • Language: Traditional Chinese
  • Number of labels: 4
  • Base model: ckiplab/bert-base-chinese
  • Maximum sequence length: 512 tokens
  • Model format: SafeTensors
  • License: GPL-3.0

Intended Uses

本模型適合用於:

  • Threads 留言的初步風險分類
  • 網路騷擾與網路霸凌研究
  • 社群輿情分析
  • 協助人工審查人員排列留言檢查順序
  • 教育、研究及競賽展示
  • 作為留言分析系統中的其中一個輔助模組

Out-of-Scope Uses

本模型不應直接用於:

  • 自動刪除留言
  • 自動封鎖或停權使用者
  • 對學生、員工或其他人員進行自動懲處
  • 判定某人是否違法或構成犯罪
  • 取代教師、社工、心理師或平台審查人員
  • 對個人進行人格或心理狀態推論
  • 未經人工確認的大規模監控

模型輸出的 harassment 或 cyberbullying 僅代表模型預測結果, 不等同於法律、校規或平台規範上的正式認定。

Input Format

本模型是具有上下文資訊的留言分類器,不建議只輸入單一留言。

第一段輸入是討論串上下文:

[ROOT] 原始貼文
[ANC] 上層祖先留言
[ANC] 另一則祖先留言
[PARENT] 目標留言的直接父留言

第二段輸入是需要分類的目標留言:

目標留言內容

實際 Token 結構為:

[CLS] context [SEP] target [SEP]

特殊標記的意義:

  • [ROOT]:原始貼文
  • [ANC]:較上層的祖先留言
  • [PARENT]:目標留言的直接父留言 如果目標留言直接回覆原始貼文,可以只提供 [ROOT],不需要重複加入 [PARENT]。

Installation

pip install torch transformers safetensors

Usage

請將 Repository ID 替換成實際的模型名稱。

import torch
from transformers import (
    BertForSequenceClassification,
    BertTokenizerFast,
)

repo_id = "jgigjvjy/threads-comment-risk-bert"

tokenizer = BertTokenizerFast.from_pretrained(
    repo_id
)

model = BertForSequenceClassification.from_pretrained(
    repo_id
)

model.eval()

使用完整上下文進行分類

import torch

root_text = "原始貼文內容"

ancestor_texts = [
    "較上層的留言內容",
]

parent_text = "目標留言的直接父留言"

target_text = "這是需要進行分類的目標留言"

context_sections = [
    f"[ROOT] {root_text}",
]

for ancestor in ancestor_texts:
    if ancestor.strip():
        context_sections.append(
            f"[ANC] {ancestor}"
        )

if parent_text.strip():
    context_sections.append(
        f"[PARENT] {parent_text}"
    )

context_text = "\n".join(context_sections)

inputs = tokenizer(
    context_text,
    target_text,
    max_length=512,
    truncation="only_first",
    return_tensors="pt",
)

with torch.inference_mode():
    outputs = model(**inputs)

probabilities = torch.softmax(
    outputs.logits,
    dim=-1,
)[0]

predicted_id = int(
    probabilities.argmax().item()
)

predicted_label = model.config.id2label[
    predicted_id
]

print("預測分類:", predicted_label)
print("分類機率:")

for label_id, probability in enumerate(probabilities):
    label = model.config.id2label[label_id]

    print(
        f"{label}: "
        f"{float(probability):.4f}"
    )

輸出範例:

預測分類: harassment
分類機率:
general: 0.1023
friendly: 0.0148
harassment: 0.8012
cyberbullying: 0.0817

Limitations

本模型具有以下限制:

  1. 模型可能錯誤分類反諷、玩笑、雙關語或朋友之間的互動。
  2. 模型主要針對繁體中文與 Threads 類型的討論情境。
  3. 模型無法直接理解圖片、影片、語音與迷因。
  4. 缺少完整父子留言脈絡時,分類結果可能不準確。
  5. 已刪除、非公開或未成功擷取的留言不會出現在模型上下文中。
  6. 模型可能對少見用語、新興網路用語或特定社群文化產生誤判。
  7. 類別機率不等同於客觀事實,也不代表法律上的確定程度。
  8. 模型可能產生漏判或誤判,高風險結果必須經過人工確認。
Downloads last month
29
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for jgigivjry/threads-comment-risk-bert

Finetuned
(18)
this model