Skip to main content
डॉक्यूमेंटेशन
लर्निंग सेंटर

विस्तृत गाइड, ट्यूटोरियल और API डॉक्यूमेंटेशन के साथ कंटेंट मॉडरेशन में महारत हासिल करें

क्विक लिंक

टेक्स्ट विश्लेषण: सेंटिमेंट, स्पैम और भाषा एक ही कॉल में

Discuse टेक्स्ट विश्लेषण एक ही POST https://api.discuse.com/api/v2/check अनुरोध में किसी संदेश को टॉक्सिसिटी, स्पैम और भाषा के लिए स्कोर करता है। अपना टेक्स्ट content.text में भेजें, X-API-Key हेडर से ऑथेंटिकेट करें, और हर चेक के परिणाम results के तहत पढ़ें।

टेक्स्ट एंडपॉइंट क्या जाँचता है?

एक /api/v2/check कॉल एक साथ तीन टेक्स्ट चेक चला सकती है:

  • सेंटिमेंट: टॉक्सिसिटी, अपशब्द, धमकी और अपमान की स्कोरिंग, साथ ही नेगेटिव/टॉक्सिक निर्णय।
  • स्पैम: प्रमोशनल स्पैम, स्कैम और बॉट द्वारा जनरेट किया गया टेक्स्ट, जिसे label और कॉन्फिडेंस स्कोर के रूप में लौटाया जाता है।
  • भाषा: पहचाना गया भाषा कोड, और वैकल्पिक रूप से किसी अपेक्षित भाषा के विरुद्ध लागू की जाने वाली जाँच।

हर चेक तभी चलता है जब वह सक्षम हो—या तो आपकी प्रोजेक्ट सेटिंग्स में, या हर अनुरोध के settings ऑब्जेक्ट के ज़रिए।

मैं टेक्स्ट एंडपॉइंट को कैसे कॉल करूँ?

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": "This is an example message to analyze"
    },
    "settings": {
      "check_sentiment": true,
      "check_spam": true,
      "check_language": true
    }
  }'

content.text 10,000 अक्षरों तक स्वीकार करता है। API की को X-API-Key हेडर में या अनुरोध बॉडी में api_key के रूप में भेजा जा सकता है।

प्रतिक्रिया

{
  "has_violations": false,
  "cached": false,
  "message": "Content appears safe",
  "results": {
    "hits": false,
    "sentiment": {
      "hit": false,
      "is_negative": false,
      "is_toxic": false,
      "score": 0.04,
      "toxicity": 0.02,
      "toxic": 0.02,
      "profanity": 0.01,
      "threat": 0.00,
      "insult": 0.03
    },
    "spamfinder": {
      "text": "This is an example message to analyze",
      "label": "ham",
      "confidence": 0.12,
      "is_spam": false,
      "hit": false
    },
    "language": {
      "language": "en",
      "confidence": 0.98,
      "hit": false
    }
  },
  "usage": {
    "api_requests_used": 41,
    "api_requests_limit": 5000,
    "api_requests_remaining": 4959
  }
}

has_violations, results.hits को ही दर्शाता है: जब किसी भी सक्षम चेक का hit फ्लैग सक्रिय होता है, तो यह true होता है। processing_time_ms केवल तब मौजूद होता है जब आपकी प्रोजेक्ट सेटिंग्स में टाइमिंग सक्षम हो।

सेंटिमेंट विश्लेषण

सेंटिमेंट चेक 0.0 से 1.0 तक का निर्णय और हर आयाम के अलग-अलग स्कोर, दोनों लौटाता है।

फ़ील्ड प्रकार अर्थ
is_negative bool संदेश नेगेटिव प्रतीत होता है
is_toxic bool संदेश टॉक्सिसिटी थ्रेशोल्ड को पार करता है
score number कुल सेंटिमेंट/गंभीरता स्कोर
toxicity number टॉक्सिसिटी कॉन्फिडेंस (0.0–1.0)
toxic number टॉक्सिसिटी कॉन्फिडेंस (toxicity का लेगेसी एलियस)
profanity number स्पष्ट/अपमानजनक भाषा का कॉन्फिडेंस
threat number नुकसान पहुँचाने की धमकी का कॉन्फिडेंस
insult number व्यक्तिगत हमले का कॉन्फिडेंस
hit bool जब संदेश सेंटिमेंट थ्रेशोल्ड का उल्लंघन करता है, तब True
message string वैकल्पिक स्पष्टीकरण

मैं सेंटिमेंट स्कोर को कैसे समझूँ?

स्कोर यह बताता है कि मॉडल को कितना विश्वास है कि वह आयाम लागू होता है:

  • 0.0 – 0.3: कम, आम तौर पर सुरक्षित।
  • 0.3 – 0.6: मध्यम, समीक्षा की आवश्यकता हो सकती है।
  • 0.6 – 0.8: अधिक, संभवतः समस्याजनक।
  • 0.8 – 1.0: बहुत अधिक, लगभग निश्चित रूप से उल्लंघनकारी।

उदाहरण: टॉक्सिक कंटेंट

अनुरोध:

{
  "content": {
    "text": "You're the worst person I've ever met. I hate everything about you."
  },
  "settings": { "check_sentiment": true }
}

प्रतिक्रिया:

{
  "has_violations": true,
  "results": {
    "hits": true,
    "sentiment": {
      "hit": true,
      "is_negative": true,
      "is_toxic": true,
      "score": 0.91,
      "toxicity": 0.89,
      "toxic": 0.89,
      "profanity": 0.15,
      "threat": 0.22,
      "insult": 0.95
    }
  }
}

स्पैम डिटेक्शन

स्पैम चेक टेक्स्ट को वर्गीकृत करता है और कॉन्फिडेंस स्कोर के साथ एक ही label लौटाता है। यह उन पैटर्न को पकड़ता है जो कीवर्ड ब्लॉकलिस्ट से बच निकलते हैं: प्रमोशनल स्पैम, स्कैम और फिशिंग, और बॉट द्वारा जनरेट किया गया टेक्स्ट।

उदाहरण: स्पैम कंटेंट

अनुरोध:

{
  "content": {
    "text": "CONGRATULATIONS! You've won $10,000! Click here to claim: www.fake-prize.com"
  },
  "settings": { "check_spam": true }
}

प्रतिक्रिया:

{
  "has_violations": true,
  "results": {
    "hits": true,
    "spamfinder": {
      "text": "CONGRATULATIONS! You've won $10,000! Click here to claim: www.fake-prize.com",
      "label": "spam",
      "confidence": 0.97,
      "is_spam": true,
      "hit": true
    }
  }
}

is_spam मॉडल का कच्चा निर्णय है (मॉडल ने टेक्स्ट को स्पैम के रूप में लेबल किया)। hit थ्रेशोल्ड को ध्यान में रखकर लिया गया निर्णय है: यह केवल तब true होता है जब is_spam true हो और confidence आपके प्रोजेक्ट के स्पैम थ्रेशोल्ड को पार कर जाए। मॉडरेशन के लिए is_spam नहीं, बल्कि hit पर भरोसा करें। विवरण के लिए स्पैम डिटेक्शन गाइड देखें।

भाषा पहचान

content.text का भाषा कोड पहचानने के लिए check_language सेट करें। परिणाम results.language.language में मिलता है (उदाहरण के लिए "en", "fr", "es")।

अनुरोध:

{
  "content": { "text": "Bonjour, comment allez-vous aujourd'hui?" },
  "settings": { "check_language": true }
}

प्रतिक्रिया:

{
  "results": {
    "language": {
      "language": "fr",
      "confidence": 0.99,
      "hit": false
    }
  }
}

ऐसे कंटेंट को फ्लैग करने के लिए जो आपकी अपेक्षित भाषा में नहीं है, expected_language सेट करें। जब पहचानी गई भाषा अलग होती है, तो language.hit true होता है और expected/detected भरे जाते हैं:

{
  "content": { "text": "Hola, cómo estás?" },
  "settings": { "check_language": true, "expected_language": "en" }
}
{
  "results": {
    "language": {
      "language": "es",
      "detected": "es",
      "expected": "en",
      "confidence": 0.95,
      "hit": true
    }
  }
}

पूरी भाषा सूची और एनफोर्समेंट पैटर्न के लिए भाषा पहचान देखें।

मैं कौन-से चेक टॉगल कर सकता हूँ?

वैकल्पिक settings ऑब्जेक्ट एक ही अनुरोध के लिए आपकी प्रोजेक्ट डिफ़ॉल्ट सेटिंग्स को ओवरराइड करता है। टेक्स्ट से संबंधित टॉगल ये हैं:

सेटिंग प्रकार प्रभाव
check_sentiment bool सेंटिमेंट विश्लेषण चलाएँ
check_spam bool स्पैम डिटेक्शन चलाएँ
check_language bool भाषा पहचान चलाएँ
check_badwords bool बैडवर्ड्स ब्लॉकलिस्ट चलाएँ
expected_language string लागू करने के लिए भाषा कोड (जैसे "en")
{
  "content": { "text": "Your message here" },
  "settings": {
    "check_sentiment": true,
    "check_spam": true,
    "check_language": true,
    "expected_language": "en"
  }
}

उपयोग सीमाएँ

सेंटिमेंट, स्पैम और भाषा पहचान प्रति-प्लान सेंटिमेंट-विश्लेषण कोटा से उपयोग होती हैं:

प्लान सेंटिमेंट विश्लेषण/माह
Basic 1,000
Gold 5,000
Platinum 15,000
Ultimate 30,000

कैश की गई प्रतिक्रियाएँ आपके कोटा में नहीं गिनी जातीं। हर प्रतिक्रिया में मौजूद usage ऑब्जेक्ट api_requests_used, api_requests_limit, और api_requests_remaining बताता है।

सर्वोत्तम अभ्यास

हर प्लेटफ़ॉर्म के लिए थ्रेशोल्ड सेट करें

अलग-अलग ऑडियंस के लिए अलग-अलग सेंटिमेंट कटऑफ लागू करें:

const THRESHOLDS = {
  kids:    { toxicity: 0.3, profanity: 0.2, threat: 0.2, insult: 0.3 },
  general: { toxicity: 0.5, profanity: 0.5, threat: 0.4, insult: 0.5 },
  adult:   { toxicity: 0.7, profanity: 0.8, threat: 0.5, insult: 0.7 }
};

संदर्भ का ध्यान रखें

क्लिनिकल, पत्रकारिता और काल्पनिक कंटेंट कभी-कभी वैध रूप से टॉक्सिसिटी और अपशब्द स्कोर ट्रिगर कर सकते हैं। सीमांत मामलों के लिए ऑटोमेटेड स्कोरिंग को मानव समीक्षा के साथ मिलाएँ:

const sentiment = result.results.sentiment;
if (sentiment.toxicity > 0.9) {
  await removeContent(contentId);       // high confidence: auto-remove
} else if (sentiment.toxicity > 0.5) {
  await queueForReview(contentId);      // borderline: human review
} else {
  await approveContent(contentId);
}

इंटीग्रेशन उदाहरण

JavaScript

async function analyzeText(text) {
  const response = await fetch('https://api.discuse.com/api/v2/check', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.DISCUSE_API_KEY
    },
    body: JSON.stringify({
      content: { text },
      settings: { check_sentiment: true, check_spam: true, check_language: true }
    })
  });

  return response.json();
}

const result = await analyzeText('Hello, how are you?');
console.log(result.has_violations); // false

Python

import os
import requests

def analyze_text(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_sentiment': True,
                'check_spam': True,
                'check_language': True
            }
        }
    )
    return response.json()

result = analyze_text('Hello, how are you?')
print(result['has_violations'])  # False

टेक्स्ट विश्लेषण लागू करने के लिए तैयार हैं? चरण-दर-चरण सेटअप के लिए क्विक स्टार्ट गाइड देखें।

Discuse टीम द्वारा लिखा गया · अंतिम अपडेट June 2026

संबंधित लेख

Image NSFW Detection

अनुपयुक्त images और adult content का अपने-आप पता लगाएँ और फ़िल्टर करें

Spam Detection

टेक्स्ट और messages के लिए AI-संचालित spam filtering

File Antivirus Scanning

अपने प्लेटफ़ॉर्म को malware, viruses, और malicious files से सुरक्षित रखें