第 1 部分:用戶端 AI 技術,對抗線上有害內容

Maud Nalpas
Maud Nalpas

發布日期:2024 年 11 月 13 日

仇恨言論、騷擾和網路霸凌已成為網路上普遍存在的問題。有害的評論會扼殺重要聲音導致使用者和客戶離開。有害內容偵測功能可保護使用者,並打造更安全的線上環境。

在這個兩部分系列中,我們將探討如何使用 AI 偵測並減輕有害內容的來源:使用者的鍵盤。

在第一部分,我們將討論這種做法的用途和優點。

在第二部分,我們將分享實作方式,包括程式碼範例和使用者體驗提示。

留言發布示範。
用戶端惡意內容偵測功能的範例:當使用者停止輸入留言時,瀏覽器會執行惡意內容分析,並即時顯示警告。請參閱示範影片

優點

用戶端有害內容偵測功能是第一道防禦機制,也是伺服器端檢查的絕佳補充。用戶端惡意指數偵測可提供多項優勢:

  • 及早偵測有害內容。透過用戶端檢查,您可以直接在來源處偵測到有害內容,而無須接觸伺服器。
  • 啟用即時檢查功能。使用用戶端速度建構低延遲應用程式,並即時向使用者提供意見回饋。
  • 減少或最佳化伺服器端工作負載。減少伺服器端的毒性偵測工作量和成本:首先,使用者面向的提示可能有助於減少毒性留言的數量,其次,在特定留言上傳至伺服器前,將其標記為可能含有毒性,有助於您在伺服器端檢查中將其列為優先。
  • 減輕人力負擔。減輕人工審核員的負擔。

用途

以下是建構用戶端有害內容偵測功能的幾個可能原因:

  • 即時偵測留言系統中的違規內容。針對草擬惡意留言的使用者,立即提供意見回饋,鼓勵他們在發布前重新表達訊息。使用用戶端 AI 時,您不必使用 API 金鑰,也不必支付執行階段伺服器分類費用,且延遲時間較短。這對聊天應用程式來說是理想的做法。
  • 即時管理聊天室。快速識別並標記使用者發布的有害訊息,讓管理員立即介入。

保留伺服器端檢查

雖然用戶端有毒內容偵測功能速度快,但惡意前端使用者可能會停用這項功能。此外,沒有任何毒性偵測系統可以達到 100% 準確率。

基於這些原因,我們強烈建議您仍實作或保留伺服器的額外審查機制,而非只依賴用戶端毒性偵測功能。舉例來說,您可以使用 Perspective API,為即時用戶端檢查作業加上非同步的伺服器端審查作業。如要採用全面性做法,可以結合人工審核。

注意事項

如要執行用戶端有害內容偵測,您必須將分類模型下載到網頁中,通常還需要用戶端 AI 程式庫。

請考量以下影響:

  • 模型代管和放送費用。模型可能會很大。
  • 效能和使用者體驗。程式庫和模型會增加套件大小。

請先考量優點,再決定是否適合您的用途。為用戶端 AI 套用效能最佳做法,並快取模型,讓下載作業成為一次性成本。

內容毒性分類的運作方式

在瞭解完整實作之前,請先瞭解有害內容偵測的要點。

惡意指數偵測模型會分析現有文字,而非產生新內容 (生成式 AI)。這是典型的自然語言處理 (NLP) 任務。

自然語言處理工作。來源:HuggingFace

惡意內容偵測功能會使用文字分類器,將文字分類為可能含有惡意內容或無害內容。惡意內容分類器會將文字做為輸入內容,並為其指派各種惡意內容標籤和分數。分數範圍為 0 到 1。分數越高,表示輸入內容越有可能含有有害內容。

惡意內容偵測功能會使用文字分類器,將文字分類為可能含有惡意內容或無害內容。

系統會將使用者輸入內容分類,並給予分數。

Xenova/toxic-bert 模型為例,這是 unitary/toxic-bert 的網頁相容版本。提供六個標籤:

  • toxic
  • severe_toxic
  • insult
  • obscene
  • identity_hate
  • threat

toxicsevere_toxic 等標籤代表整體毒性。

其他標籤則更精細。這些標記可識別特定類型的有害內容,例如 identity_hate (針對個人身分 (例如種族、宗教、性別認同等) 的霸凌或威脅) 或 threat (意圖造成傷害的聲明)。

不同的有害內容模型有不同的分類方式。以下列舉幾個代表性例子。

在這個範例中,以下輸入內容包含「hate」一詞,且是針對某人,因此 toxicity 分數偏高 (0.92)。系統未識別出特定的惡意類型,因此其他分數偏低。

Input: I hate you
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.16187334060668945 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

在下一個範例中,輸入內容整體上帶有仇恨意味,因此獲得高 toxicity 分數 (0.92)。由於明確提及損害,threat 分數也偏高 (0.81)。

Input: I hate your garden, and I will kill your plants
Output of the toxicity classifier:
[
{ label: 'toxic', score: 0.9243140482902527 },
{ label: 'insult', score: 0.16187334060668945 },
{ label: 'obscene', score: 0.03452680632472038 },
{ label: 'identity_hate', score: 0.0223250575363636 },
{ label: 'threat', score: 0.819197041168808937 },
{ label: 'severe_toxic', score: 0.005651099607348442 }
]

即將播放

瞭解背景資訊後,您就可以開始建構用戶端 AI 有害內容偵測系統

閱讀第二部分