چگونه نظرات را باز کنیم و در اسپم غرق نشویم

چگونه نظرات را باز کنیم و در اسپم غرق نشویم

وقتی کار شما خلق چیزی زیباست، لازم نیست زیاد در مورد آن صحبت کنید، زیرا نتیجه آن جلوی چشم همه است. اما اگر کتیبه‌ها را از روی نرده‌ها پاک کنید، تا زمانی که نرده‌ها مناسب به نظر می‌رسند یا تا زمانی که چیزی اشتباه را پاک نکنید، هیچ‌کس متوجه کار شما نخواهد شد.

هر سرویسی که بتوانید در آن نظر بگذارید، بررسی کنید، پیام ارسال کنید یا عکس آپلود کنید دیر یا زود با مشکل هرزنامه، تقلب و فحاشی مواجه می شود. این را نمی توان اجتناب کرد، اما باید با آن برخورد کرد.

نام من میخائیل است، من در تیم Antispam کار می کنم که از کاربران خدمات Yandex در برابر چنین مشکلاتی محافظت می کند. کار ما به ندرت مورد توجه قرار می گیرد (و این چیز خوبی است!)، بنابراین امروز در مورد آن بیشتر به شما خواهم گفت. متوجه خواهید شد که چه زمانی اعتدال بی فایده است و چرا دقت تنها شاخص اثربخشی آن نیست. ما همچنین در مورد فحش دادن با استفاده از مثال گربه ها و سگ ها صحبت خواهیم کرد و اینکه چرا گاهی اوقات "مثل یک فحش دهنده فکر می کنیم" مفید است.

خدمات بیشتر و بیشتری در Yandex ظاهر می شود که در آن کاربران محتوای خود را منتشر می کنند. می‌توانید در Yandex.Q سؤالی بپرسید یا پاسخی بنویسید، درباره اخبار حیاط در Yandex.District بحث کنید، شرایط ترافیک را در مکالمات در Yandex.Maps به اشتراک بگذارید. اما زمانی که مخاطبین سرویس افزایش می‌یابد، برای کلاهبرداران و اسپمرها جذاب می‌شود. آنها می آیند و نظرات را پر می کنند: آنها پول آسان ارائه می دهند، درمان های معجزه آسا را ​​تبلیغ می کنند و وعده مزایای اجتماعی می دهند. به دلیل ارسال کننده های هرزنامه، برخی از کاربران پول خود را از دست می دهند، در حالی که برخی دیگر تمایل به صرف زمان در یک سرویس نامرتب و پر از هرزنامه را از دست می دهند.

و این تنها مشکل نیست. ما نه تنها تلاش می کنیم تا از کاربران در برابر کلاهبرداران محافظت کنیم، بلکه سعی می کنیم فضایی راحت برای ارتباط ایجاد کنیم. اگر مردم در کامنت ها با فحاشی و توهین مواجه شوند، احتمالاً آنجا را ترک می کنند و دیگر برنمی گردند. این بدان معناست که شما نیز باید بتوانید با این موضوع کنار بیایید.

وب پاک

همانطور که اغلب در مورد ما اتفاق می افتد، اولین پیشرفت ها در Search متولد شد، در بخشی که با هرزنامه ها در نتایج جستجو مبارزه می کند. حدود ده سال پیش، وظیفه فیلتر کردن محتوای بزرگسالان برای جستجوهای خانوادگی و سؤالاتی که نیازی به پاسخ از دسته 18+ نداشتند، در آنجا ظاهر شد. اینگونه بود که اولین لغت نامه های تایپ شده دستی پورن و فحش دادن ظاهر شد ، آنها توسط تحلیلگران تکمیل شدند. وظیفه اصلی طبقه‌بندی درخواست‌ها به مواردی بود که نشان دادن محتوای بزرگسالان قابل قبول است و جایی که اینگونه نیست. برای این کار، نشانه گذاری جمع آوری شد، اکتشافی ساخته شد، و مدل ها آموزش دیدند. اینگونه بود که اولین پیشرفت ها برای فیلتر کردن محتوای ناخواسته ظاهر شد.

با گذشت زمان، UGC (محتوای تولید شده توسط کاربر) در Yandex ظاهر شد - پیام هایی که توسط خود کاربران نوشته می شوند و Yandex فقط منتشر می کند. به دلایلی که در بالا توضیح داده شد، بسیاری از پیام ها را نمی توان بدون نگاه کردن منتشر کرد - نظارت لازم بود. سپس آنها تصمیم گرفتند سرویسی ایجاد کنند که از همه محصولات Yandex UGC در برابر هرزنامه ها و مهاجمان محافظت کند و از پیشرفت ها برای فیلتر کردن محتوای ناخواسته در جستجو استفاده کند. این سرویس "وب پاک" نام داشت.

وظایف جدید و کمک از طرف فشار دهندگان

در ابتدا، فقط اتوماسیون ساده برای ما کار می کرد: سرویس ها برای ما متن می فرستادند، و ما فرهنگ لغت های فحاشی، لغت نامه های پورنو و عبارات منظم را روی آنها اجرا می کردیم - تحلیلگران همه چیز را به صورت دستی جمع آوری کردند. اما با گذشت زمان، این سرویس در تعداد فزاینده ای از محصولات Yandex مورد استفاده قرار گرفت و ما باید یاد می گرفتیم که با مشکلات جدید کار کنیم.

اغلب کاربران به‌جای بررسی، مجموعه‌ای از نامه‌های بی‌معنا را منتشر می‌کنند و سعی می‌کنند دستاوردهای خود را افزایش دهند، گاهی شرکت خود را در بررسی‌های شرکت رقیب تبلیغ می‌کنند و گاهی اوقات سازمان‌ها را به سادگی گیج می‌کنند و در نقدی درباره فروشگاه حیوانات خانگی می‌نویسند: ماهی کاملا پخته شده!» شاید روزی هوش مصنوعی یاد بگیرد که معنای هر متنی را به خوبی درک کند، اما اکنون اتوماسیون گاهی اوقات بدتر از انسان ها کنار می آید.

مشخص شد که ما نمی‌توانیم بدون علامت‌گذاری دستی این کار را انجام دهیم و مرحله دوم را به مدار خود اضافه کردیم - ارسال آن برای بازرسی دستی توسط یک شخص. آن دسته از متون منتشر شده که طبقه بندی کننده برای آنها مشکلی ندید در آنجا گنجانده شد. شما به راحتی می توانید مقیاس چنین کاری را تصور کنید، بنابراین ما نه تنها به ارزیاب ها تکیه کردیم، بلکه از "عقل جمعیت" نیز استفاده کردیم، یعنی برای کمک به دستیاران مراجعه کردیم. آنها کسانی هستند که به ما کمک می کنند تشخیص دهیم که دستگاه چه چیزی را از دست داده است و از این طریق آن را آموزش می دهد.

کش هوشمند و هش LSH

مشکل دیگری که هنگام کار با کامنت ها با آن مواجه شدیم اسپم یا به عبارت دقیق تر حجم و سرعت انتشار آن بود. هنگامی که مخاطبان Yandex.Region به سرعت رشد کردند، هرزنامه‌ها به آنجا آمدند. آنها یاد گرفتند که عبارات منظم را با کمی تغییر متن دور بزنند. البته هرزنامه هنوز پیدا و حذف شد، اما در مقیاس Yandex، یک پیام غیرقابل قبول حتی برای 5 دقیقه ارسال شده توسط صدها نفر قابل مشاهده است.

چگونه نظرات را باز کنیم و در اسپم غرق نشویم

البته این برای ما مناسب نبود و ما ذخیره سازی هوشمند متن را بر اساس LSH (هش کردن حساس به محلی). این کار به این صورت است: ما متن را عادی کردیم، پیوندها را از آن حذف کردیم و آن را به n-گرم (توالی از n حرف) برش دادیم. سپس هش های n-gram محاسبه شد و بردار LSH سند از آنها ساخته شد. نکته این است که متون مشابه، حتی اگر اندکی تغییر کرده باشند، به بردارهای مشابه تبدیل شده اند.

این راه حل امکان استفاده مجدد از احکام طبقه بندی کننده ها و تولوکرها را برای متون مشابه فراهم کرد. در حین حمله هرزنامه، به محض اینکه اولین پیام از اسکن عبور کرد و با حکم «هرزنامه» وارد حافظه پنهان شد، همه پیام‌های مشابه جدید، حتی پیام‌های اصلاح‌شده، همان حکم را دریافت کردند و به‌طور خودکار حذف شدند. بعداً، نحوه آموزش و بازآموزی خودکار طبقه‌بندی‌کننده‌های هرزنامه را یاد گرفتیم، اما این «کش هوشمند» با ما باقی ماند و هنوز هم اغلب به ما کمک می‌کند.

طبقه بندی متن خوب

بدون اینکه وقت بگذاریم از مبارزه با هرزنامه ها فاصله بگیریم، متوجه شدیم که 95 درصد محتوای ما به صورت دستی تعدیل می شود: طبقه بندی کننده ها فقط به تخلفات واکنش نشان می دهند و بیشتر متن ها خوب هستند. ما پاک کننده هایی را بارگذاری می کنیم که در 95 مورد از 100 مورد، رتبه "همه چیز خوب است" را می دهند. من مجبور شدم کار غیرمعمولی انجام دهم - طبقه‌بندی‌کننده‌های محتوای خوب، خوشبختانه نشانه‌گذاری کافی در این مدت جمع شده بود.

طبقه‌بندی‌کننده اول به این شکل بود: ما متن را به صورت کلمه‌نویسی می‌کنیم (کلمات را به شکل اولیه خود کاهش می‌دهیم)، تمام بخش‌های کمکی گفتار را بیرون می‌اندازیم و از یک "فرهنگ لغت خوب" از پیش آماده شده استفاده می‌کنیم. اگر همه کلمات در متن "خوب" باشند، کل متن حاوی هیچ تخلفی نیست. در سرویس های مختلف، این رویکرد بلافاصله از 25 تا 35 درصد خودکارسازی نشانه گذاری دستی را به همراه داشت. البته، این رویکرد ایده‌آل نیست: ترکیب چندین کلمه بی‌گناه و به دست آوردن یک بیانیه بسیار توهین‌آمیز آسان است، اما به ما اجازه داد به سرعت به سطح خوبی از اتوماسیون برسیم و به ما زمان داد تا مدل‌های پیچیده‌تری را آموزش دهیم.

نسخه‌های بعدی طبقه‌بندی‌کننده‌های متن خوب قبلاً شامل مدل‌های خطی، درخت‌های تصمیم‌گیری و ترکیب‌های آنها بود. به عنوان مثال برای نشان دادن بی ادبی و توهین، شبکه عصبی BERT را امتحان می کنیم. درک معنای یک کلمه در متن و ارتباط بین کلمات جملات مختلف مهم است و BERT این کار را به خوبی انجام می دهد. (به هر حال، اخیراً همکارانی از نیوز گفت:، نحوه استفاده از فناوری برای یک کار غیر استاندارد - یافتن خطاها در هدرها.) در نتیجه، بسته به سرویس، می توان تا 90٪ جریان را خودکار کرد.

دقت، کامل بودن و سرعت

برای توسعه، باید بدانید که طبقه‌بندی‌کننده‌های خودکار چه مزایایی به همراه دارند، تغییراتی در آن‌ها ایجاد می‌کنند و اینکه آیا کیفیت بررسی‌های دستی تنزل‌بخش است یا خیر. برای این کار از معیارهای دقیق و فراخوانی استفاده می کنیم.

دقت، نسبت احکام صحیح در بین تمام احکام در مورد محتوای بد است. هرچه دقت بالاتر باشد، موارد مثبت کاذب کمتر است. اگر به دقت توجه نکنید، از نظر تئوری می توانید همه هرزنامه ها و فحاشی ها و همراه با آنها نیمی از پیام های خوب را حذف کنید. از سوی دیگر، اگر فقط به دقت تکیه کنید، بهترین فناوری آن است که اصلاً کسی را جذب نکند. بنابراین، یک شاخص کامل نیز وجود دارد: سهم محتوای بد شناسایی شده از کل حجم محتوای بد. این دو معیار یکدیگر را متعادل می کنند.

برای اندازه‌گیری، کل جریان ورودی را برای هر سرویس نمونه‌برداری می‌کنیم و نمونه‌هایی از محتوا را برای ارزیابی تخصصی و مقایسه با راه‌حل‌های ماشینی به ارزیابان می‌دهیم.

اما شاخص مهم دیگری نیز وجود دارد.

در بالا نوشتم که یک پیام غیرقابل قبول را صدها نفر حتی در 5 دقیقه می توانند ببینند. بنابراین ما شمارش می کنیم که چند بار قبل از اینکه آن را پنهان کنیم محتوای بد را به مردم نشان داده ایم. این مهم است زیرا برای کارآمد بودن کافی نیست - شما همچنین باید سریع کار کنید. و وقتی دفاعی در برابر فحش ایجاد کردیم، آن را کاملاً احساس کردیم.

آنتی ماتیسم با استفاده از مثال گربه و سگ

یک انحراف غزلی کوچک. برخی ممکن است بگویند که فحاشی و توهین به اندازه لینک های مخرب خطرناک نیستند و به اندازه هرزنامه ها آزاردهنده نیستند. اما ما تلاش می کنیم تا شرایط راحت برای ارتباط میلیون ها کاربر را حفظ کنیم و مردم دوست ندارند به مکان هایی که به آنها توهین می شود بازگردند. بیهوده نیست که ممنوعیت فحش دادن و توهین در قوانین بسیاری از جوامع از جمله در هابره بیان شده است. اما منحرف می شویم.

فرهنگ لغت سوگند نمی تواند با تمام غنای زبان روسی کنار بیاید. علیرغم این واقعیت که تنها چهار ریشه اصلی سوگند وجود دارد، از آنها می توانید تعداد بی شماری از کلمات را بسازید که توسط هیچ موتور معمولی قابل درک نیست. علاوه بر این، می‌توانید بخشی از یک کلمه را به صورت نویسه‌گردانی بنویسید، حروف را با ترکیب‌های مشابه جایگزین کنید، حروف را مجدداً مرتب کنید، ستاره‌ها را اضافه کنید، و غیره. گاهی اوقات، بدون متن، اساساً نمی‌توان تشخیص داد که منظور کاربر یک کلمه دشنام بوده است. ما به قوانین هابر احترام می گذاریم، بنابراین این را نه با مثال های زنده، بلکه با گربه ها و سگ ها نشان خواهیم داد.

چگونه نظرات را باز کنیم و در اسپم غرق نشویم

گربه گفت: قانون. اما می فهمیم که گربه حرف دیگری زد...

ما شروع به فکر کردن در مورد الگوریتم‌های «تطبیق فازی» برای فرهنگ لغت خود و در مورد پیش‌پردازش هوشمندتر کردیم: نویسه‌گردانی، فاصله‌ها و علائم نقطه‌گذاری را با هم فراهم کردیم، به دنبال الگوها گشتیم و عبارات منظم جداگانه‌ای را روی آنها نوشتیم. این رویکرد نتایجی را به همراه داشت، اما اغلب دقت را کاهش داد و کامل بودن مورد نظر را ارائه نکرد.

سپس تصمیم گرفتیم "مانند فحش دهندگان فکر کنیم." ما خودمان شروع به وارد کردن نویز به داده‌ها کردیم: حروف را دوباره مرتب کردیم، اشتباهات املایی ایجاد کردیم، حروف را با املای مشابه جایگزین کردیم و غیره. نشانه گذاری اولیه برای این کار با استفاده از دیکشنری های حصیری در مجموعه های بزرگی از متون انجام شد. اگر یک جمله را بگیرید و آن را به چند روش بچرخانید، در نهایت جملات زیادی خواهید داشت. به این ترتیب می توانید نمونه آموزشی را ده ها برابر افزایش دهید. تنها چیزی که باقی مانده بود این بود که در استخر حاصل از یک مدل کم و بیش هوشمند آموزش ببینیم که زمینه را در نظر می گرفت.

چگونه نظرات را باز کنیم و در اسپم غرق نشویم

هنوز زود است که درباره تصمیم نهایی صحبت کنیم. ما هنوز در حال آزمایش رویکردهایی برای این مشکل هستیم، اما از قبل می‌توانیم ببینیم که یک شبکه کانولوشن نمادین ساده از چندین لایه به طور قابل توجهی بهتر از دیکشنری‌ها و موتورهای معمولی عمل می‌کند: می‌توان هم دقت و هم یادآوری را افزایش داد.

البته، ما می دانیم که همیشه راه هایی برای دور زدن پیشرفته ترین اتوماسیون وجود خواهد داشت، به خصوص وقتی موضوع بسیار خطرناک است: طوری بنویسید که یک ماشین احمق متوجه نشود. در اینجا، مانند مبارزه با هرزنامه، هدف ما این نیست که احتمال نوشتن چیزی زشت را از بین ببریم؛ وظیفه ما این است که مطمئن شویم بازی ارزش شمع را ندارد.

باز کردن فرصت برای به اشتراک گذاشتن نظر، ارتباط و اظهار نظر دشوار نیست. دستیابی به شرایط امن، راحت و رفتار محترمانه با مردم بسیار دشوارتر است. و بدون این هیچ جامعه ای توسعه نخواهد یافت.

منبع: www.habr.com

اضافه کردن نظر