عندك بيان صحفي طويل؟
أداة تقرأ مقالًا أو بيانًا صحفيًا وتسحب منه كل جملة تحمل ادعاءً أو تصريحًا واقعيًا قابلًا للتحقق — رقمًا، حدثًا، أو نسبة مذكورة — وتفصلها عن الرأي والتعليق العام في قائمة واحدة. تفيد من يراجع محتوى قبل نشره أو يتحقق من دقة تصريح منشور.
شغّلها أونلاين
شغّل هذه المهمة على خوادمنا باستخدام حسابك. الأدوات المجانية تعمل داخل متصفحك، أما هذه فتُخصم من رصيدك في KIT حسب السعر الموضّح أعلاه.
الفرق بين الادعاء والرأي
جملة مثل «ارتفعت المبيعات 30% الربع الماضي» ادعاء واقعي قابل للتحقق برقم محدد، بينما جملة «كان الربع استثنائيًا» رأي عام لا رقم فيه. تفصل الأداة النوع الأول عن الثاني، وتترك التعليقات والانطباعات العامة خارج القائمة لأنها ليست موضع تحقق أصلًا. هذا التمييز يمنع فريق التحرير من إضاعة وقت التحقق على جمل انطباعية لا تحتاج تدقيقًا من الأساس، فالتحقق من الرأي مضيعة جهد، بينما تجاهل ادعاء رقمي خاطئ قد يكلّف المؤسسة مصداقيتها.
مرحلة الأداة الحالية
لا تزال هذه القدرة تجريبية: تلتقط أغلب الادعاءات الصريحة بثقة، لكن الجمل المركّبة التي تخلط رأيًا بادعاء ضمني قد تحتاج مراجعة بشرية إضافية. يُنصح باعتبار القائمة نقطة بداية للتحقق لا حكمًا نهائيًا على دقة كل جملة. مراجعة سريعة من محرر بشري بعد استلام القائمة تكفي لتصفية أي التقاط غير دقيق قبل الاعتماد النهائي على النتيجة، وهذا يقلل الاعتماد الأعمى على الأداة في قرارات نشر حساسة.
من نص إلى قائمة تحقق جاهزة
محرر يستلم بيانًا صحفيًا من جهة حكومية أو شركة قبل نشره، ويحتاج معرفة كل رقم أو تصريح يستوجب التأكد منه قبل النشر. تُخرج الأداة القائمة مرتبة حسب ورود كل ادعاء في النص، فيتفرغ المحرر للتحقق بدل البحث عن الادعاءات أولًا. هذا الفرز الأولي يختصر ساعة كاملة من القراءة المتأنية إلى دقائق معدودة قبل البدء بالتحقق الفعلي من كل رقم، ويترك للمحرر مهمة الحكم النهائي على دقة كل مصدر.
السعر والتنفيذ
$0.003 لكل طلب زائد $0.0135 لكل ألف كلمة، من صفحة الأداة أو عبر الـAPI لمعالجة عدة مقالات أو بيانات ضمن مسار تحرير واحد. الحد الأقصى للنص نحو عشرين ألف رمز، وهذا يكفي لبيان صحفي طويل أو مقال تحليلي كامل في طلب واحد دون تجزئته؛ سعر ثابت لا يتغير بتعقيد المقال أو عدد الادعاءات المكتشفة فيه، فقط عدد الكلمات الإجمالي هو ما يحدد التكلفة النهائية.
حالات الاستخدام
محرر يراجع بيانًا صحفيًا قبل النشر
يستلم محرر في مؤسسة إعلامية بيانًا صحفيًا من جهة حكومية، ويستخرج منه كل رقم وتصريح يحتاج التأكد من مصدره قبل نشر الخبر.
باحثة تفحص مقالًا تحليليًا طويلًا
تستخدم سارة النعيمي الأداة لفصل الادعاءات الرقمية عن التحليل العام في تقرير سوق طويل، قبل أن تدقق كل رقم مع مصدره الأصلي.
فريق علاقات عامة يراجع تصريحات متحدث رسمي
يراجع فريق علاقات عامة في شركة الخليج الرقمية نص تصريح متحدث رسمي قبل توزيعه إعلاميًا، للتأكد أن كل رقم مذكور فيه موثّق ومطابق للسجلات الداخلية.
الأسئلة الشائعة
لماذا هذه القدرة لا تزال تجريبية؟
لأن التمييز بين الادعاء الواقعي والرأي المصاغ بلغة تشبه الادعاء يحتاج دقة عالية لا تزال قيد التحسين المستمر على نصوص عربية متنوعة.
هل تتحقق الأداة من صحة الادعاء أم تستخرجه فقط؟
تستخرج الادعاء وتحدده كجملة تحتاج تحققًا فقط؛ التأكد من صحته من مصدر خارجي يبقى خطوة بشرية منفصلة.
هل تعمل مع بيانات صحفية طويلة من عدة صفحات؟
نعم، تُعالَج حسب عدد الكلمات لا عدد الصفحات؛ بيان من ألفي كلمة يكلّف نحو $0.03.
هل يفرّق النظام بين ادعاء برقم دقيق وادعاء بتقدير عام؟
يميل لالتقاط الادعاءات المرتبطة برقم أو حدث محدد بثقة أعلى من التقديرات العامة الغامضة الصياغة.
هل يُحتفظ بنص المقال بعد استخراج الادعاءات؟
لا، يُستخدم النص لإنتاج القائمة فقط ثم يُستبعد بعد اكتمال الطلب.
هل يمكن معالجة عدة بيانات صحفية دفعة واحدة عبر API؟
نعم، كل نص يُعالج كطلب مستقل، فيمكن جدولة عدد كبير منها ضمن مسار عمل تحريري واحد.
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/text/extract-claims \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"…"}'const res = await fetch("https://api.kit.forhosting.com/text/extract-claims", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/extract-claims",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/extract-claims", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/extract-claims", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "…"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.extract_claims",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_tokens | 20000 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
422 | task_failed | لم تنجح معالجة المهمة، ولن تُحتسب عليك؛ أعد المحاولة أو راسلنا مباشرة. |