Поиск неестественных текстов Е.А.Гречников, Г.Г.Гусев, А.А.Кустарев, А.М. Райгородский Яндекс, Лаборатория комбинаторных и вероятностных методов RCDL’2009 Постановка задачи Определить, написан ли данный текст человеком или же является автоматически сгенерированным либо машинно модифицированным. Машинная модификация документа • текст является результатом работы синонимайзера или иной системы уникализации контента; • текст является результатом перевода с иностранного языка на русский. Пример работы синонимайзера Фраза Однако потом пришла перестройка, а за ней – капитализм. превращается в Однако далее пришла переделывание, а после ней – господин купон. Функция Cor Пусть A и B – пара слов русского языка. P( AB ) P( AB ) Cor( A , B ) P( A ) P( B ) P(AB) – частота пары слов AB в русском языке, P(A) и P(B) – частоты слов A и B соответственно. Рассматриваются лишь 2000 самых частых слов. Число Cor(A,B) измеряет характерность пары AB для языка. Распределение пар по Cor Четыре столбца чисел соответствуют исходному тексту и результатам его обработки тремя разными синонимайзерами. 1> Cor ≥ 0.1 115 92 87 76 0.1> Cor ≥ 0.01 502 350 317 309 0.01> Cor ≥ 0.001 341 291 219 290 0.001> Cor ≥ 0.0001 98 148 73 159 0.0001> Cor ≥ 0.00001 12 18 19 39 0.00001> Cor ≥ 0.000001 2 3 2 6 Cor = 0 0 0 0 2 Методы решения исходной задачи 1. Сравнение с данными из заведомо хороших текстов. 2. Машинное обучение с использованием гистограммы текста по Cor в качестве источника факторов. Сравнение с заведомо хорошими текстами Пусть N(T) – число редких пар в T. Для машинно сгенерированных или модифицированных текстов N(T) больше, чем для нормальных текстов примерно той же длины. Статистика P(T) P(T ) ( N (T ) M (T )) / D(T ) M(T) – среднее число редких пар в 10 ближайших к T по длине текстах T0, … , T9 из выборки хороших документов; D(T) – дисперсия, соответствующая выборке чисел N(T0), … , N(T9). Параметры длины 10 близких к T текстов выбираются в трехмерном пространстве параметров (L1, L2, L3) с евклидовой метрикой, где L1 – число всех пар слов в T, L2 – число пар слов из 10000 самых частых слов русского языка, L3 – число пар слов из 2000 самых частых слов русского языка. Результаты – 1 P(T) было вычислено для: • 41298 текстов из базы ruscorpora, • 165 неестественных текстов. Критерий: P(T) ≥ 3.0. Результаты: точность – 97.7%, полнота – 41.5%. Машинное обучение • Алгоритм: Gradient Boosting Machine (TreeNet); • Обучающая выборка: 2000 оригинальных и 250 неестественных текстов; • Тестовая выборка: 500 оригинальных и 245 неестественных текстов. Результаты – 2 • точность – 99.00% • полнота – 77.95% • точность – 95.00% • полнота – 90.61% Сравнение с известными подходами • Факторы для обучения: 10 признаков, описанных в статье A. Ntoulas, M. Najork, M. Manasse and D. Fetterly “Detecting spam web pages through content analysis” • точность – 99.00% • полнота – 90.61% • точность – 95.00% • полнота – 96.73% Совместные результаты • точность – 99.00% • полнота – 93.06% • точность – 95.00% • полнота – 97.95% При ошибке в 1% ловится около четверти оставшегося спама Спасибо!