Skip to main content
Dokümantasyon
ÖĞRENME MERKEZİ

Kapsamlı rehberler, eğitimler ve API dokümantasyonuyla içerik moderasyonunda uzmanlaşın

Hızlı Bağlantılar

Kötü Kelime Filtreleme

Kötü kelime filtreleme, metinlerde izin vermediğiniz kelimelerden oluşan kendi listenizi yakalar. Spam veya duygu analizi gibi eğitilmiş modeller kullanan kontrollerin aksine, bu kontrol projeniz için yapılandırdığınız özel kelime listesiyle eşleşme yapar; yani hangi terimlerin yasak olduğuna tam olarak siz karar verirsiniz. POST /api/v2/check üzerinde check_badwords ile etkinleştirin.

Özel kelime listesini ne zaman kullanmalıyım?

Modeller, toksiklik gibi belirsiz kategorilerde çok iyidir; ancak bazı terimler tamamen sizin vereceğiniz politika kararlarına bağlıdır: bir rakibin adı, yasaklı bir ürün, topluluğa özgü hakaretler, sızdırılmış kimlik bilgisi kalıpları veya hukuk ekibinizin engellemenizi istediği kelimeler. Özel liste, bu tür terimler için kesin ve öngörülebilir eşleşme sağlar.

Nasıl çalışır?

Kötü kelime filtreleme yalnızca iki koşul aynı anda sağlandığında çalışır: check_badwords etkin olmalı ve projenizde yapılandırılmış özel bir kelime listesi bulunmalıdır. Ardından listedeki her kelimeyi mesaj metni içinde büyük/küçük harfe duyarsız bir alt dize eşleşmesiyle arar ve bulduğu her kelimeyi döndürür.

curl -X POST https://api.discuse.com/api/v2/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "content": {
      "text": "Check out CompetitorBrand for a better deal"
    },
    "settings": {
      "check_badwords": true
    }
  }'

Yanıt

{
  "has_violations": true,
  "cached": false,
  "results": {
    "hits": true,
    "badwords": {
      "hit": true,
      "matched_words": ["CompetitorBrand"],
      "apply_penalty": true
    }
  }
}

results.badwords nesnesinde üç alan bulunur:

Alan Tür Açıklama
hit boolean Listelenen kelimelerden herhangi biri bulunduysa doğru olur
matched_words string[] Metinle eşleşen yapılandırılmış kelimeler
apply_penalty boolean Eşleşmenin yaptırımınızı tetikleyip tetiklememesi gerektiği (eşleşme varsa her zaman true)

Kelime listesini nasıl yapılandırırım?

Liste, isteğin değil proje ayarlarınızın bir parçasıdır; bir kez ayarlarsınız ve her check_badwords isteği bunu kullanır. Proje ayarlarınızdan yönetin (varsayılan kontrolleri ayarladığınız yerle aynı). İstek yalnızca check_badwords açma/kapama seçeneğini taşıdığı için kelime listenizi gizli tutabilir ve istemci koduna dokunmadan değiştirebilirsiniz.

check_badwords açık ancak projenizde yapılandırılmış kelime yoksa kontrol atlanır ve herhangi bir badwords sonucu döndürülmez.

Hangi eşleşme yöntemini kullanır?

Eşleşme, büyük/küçük harfe duyarsız bir alt dize aramasıdır: listelenen spam kelimesi spam, SPAM ve ayrıca spammer ile eşleşir. Liste girdilerini bunu göz önünde bulundurarak seçin; daha büyük kelimelerin içinde eşleşmeyi önlemek istediğinizde tam ifadeler ekleyin ve kısa girdilerin istemeden başka alt dizelerle eşleşebileceğini unutmayın.

Kullanım

Kötü kelime filtrelemenin kendine ait bir kotası yoktur; metin kontrolleri gibi bir /api/v2/check çağrısının parçası olarak çalışır ve her çağrı aylık API isteği hakkınızdan bir kez düşer. Kota ve hız limitlerinin nasıl çalıştığını öğrenmek için Kimlik Doğrulama ve API Anahtarları bölümüne bakın.

En iyi uygulamalar

Model tabanlı kontrollerle birlikte kullanın

Özel listeyi kesin, politika odaklı terimler için kullanın; belirsiz kategorileri ise check_spam, check_sentiment ve check_images kontrollerine bırakın. Tek bir /check çağrısı bunların hepsini birlikte çalıştırabilir — bkz. Metin Analizi.

Eşleşen kelimelere göre işlem yapın

matched_words, filtreyi tam olarak neyin tetiklediğini söyler; bu da moderatör bağlamı ve listenizi iyileştirmek için yararlıdır:

const result = await check({ text }, { check_badwords: true });
const bad = result.results?.badwords;

if (bad?.hit) {
  await blockAndLog(text, bad.matched_words);
}

Listeyi düzenli olarak gözden geçirin

Topluluklar ve dil değiştikçe statik bir liste güncelliğini yitirir. Hangi girdilerin gerçekten tetiklendiğini (loglarınızdaki matched_words üzerinden) düzenli olarak gözden geçirin ve yalnızca hatalı pozitiflere neden olanları ayıklayın.

Entegrasyon örneği

import os
import requests

def check_badwords(text):
    response = requests.post(
        'https://api.discuse.com/api/v2/check',
        headers={
            'Content-Type': 'application/json',
            'X-API-Key': os.environ['DISCUSE_API_KEY']
        },
        json={'content': {'text': text}, 'settings': {'check_badwords': True}}
    )
    return response.json()

Kendi kelime politikanızı uygulamaya hazır mısınız? Discuse ile başlayın.

Discuse Ekibi tarafından yazıldı · Son güncelleme June 2026

İlgili Makaleler

Metin Analizi ve Duygu Tespiti

Metin içeriğinde spam, toksisite, küfür tespit edin ve duygu analizi yapın

Görsel NSFW Tespiti

Uygunsuz görselleri ve yetişkin içerikleri otomatik olarak tespit edip filtreleyin

Spam Tespiti

Metin ve mesajlar için AI destekli spam filtreleme