LINUX.ORG.RU

Проект Нейромодератор

 , ,


6

6

Точнее «нейрокрыса»: т.к. модераторских полномочий у меня нет, я лишь могу сделать скрипты, которые будут отписываться в специальный тред

Тема навеяна Бан без причины (комментарий)

Суть такова: буду пилить набор скриптов для «выявления подозрительных сообщений», обучать буду на текстах с LORа, которые были удалены модераторами.

Когда доделаю попрошу модераторов оценить качество работы сабжа.

На данный момент:

  • скачан архив тредов с января по май 2019;
  • идет первичный анализ данных;
  • идет подготовка к разметке данных.

Проблема: модераторы указывают причины вручную (или не указывают совсем), соответственно:

  • есть сомнения в качестве разметки,
  • текстовую разметку придется превращать в разметку для классификации;

Для решения проблемы сформированы:

Да, разделитель в файлах - точка с запятой.

Прошу модераторов поглядеть в файлы по ссылкам и внести свои пожелания по классам для разметки, корректировки таблицы соответствия.

cast @jollheef, @Shaman007, @maxcom

Апдейт 1 (13.06.2019)

По результатам обсуждения тут решил:

  • В качестве положительных примеров брать удаленные модераторам вручную сообщения, для которых указаны нормальные причины а не всякий треш.

  • В качестве отрицательных - оставленные модераторами собщения из тех же топиков, что и удаленные.

  • Если данных хватать не будет - добью неудаленными из других топиков.

Пришлось немного переформатировать датасет (датафрейм pandas), т.к. раннее там не было ссылок сообщение-топик.

В эти выходные сделаю обучающую выборку и попробую сделать бинарный классификатор.

Если получится, - на следующей неделе буду пилить нейромодератора нейроябеду.

Апдейт 2 (16.06.2019)

Апдейт 3 (16.06.2019)

Апдейт 4 (16.06.2019)

Апдейт 5 (17.06.2019)

Апдейт 6 (22.06.2019)

Апдейт 7 (22.06.2019)

Апдейт 8 (27.06.2019)

Апдейт 9 (30.06.2019)

Апдейт 10(05.07.2019)

Апдейт 11(14.09.2019)

Апдейт 12(08.12.2019)

Проект на GitHub

Тестовый тред

★★★★★

Последнее исправление: shkolnick-kun (всего исправлений: 18)
Ответ на: комментарий от crutch_master

Не надо бороться, надо понимать суть явления и думать, как можно сделать гешефт

Ну и как, разбогател уже на гешефтах?

И я таки знал, что они будут смешивать меня с говном, всё именно так и задумывалось.

Как это понимать? Уж не хочешь ли ты намекнуть, что ты тролль?

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Если «наглых удалениях» и «навалом», то почему их необходимо «лазить и выискивать»? Нелогично.

Deleted
()
Ответ на: комментарий от seiken

Как это понимать? Уж не хочешь ли ты намекнуть, что ты тролль?

Нет. Я же не набрасываю ради срача.

Ну и как, разбогател уже на гешефтах?

Я - нет, но вот Столяров, например, собрал миллион, а там тоже было - сказал «паскаль» и все начали говном кидаться.

crutch_master ★★★★★
()
Ответ на: комментарий от seiken

А тематическим разделам эти не к лицу, и думаю, что отпугивает адекватных пользователей.

Любая активность держит тред на плаву. Если туда никто не пишет, его могут просто не заметить те, кто смотрит трекер не дальше первой страницы. Да, ничего нет хорошего в скатывании в оффтоп или в неконструктивном «не нужно».

crutch_master ★★★★★
()
Ответ на: комментарий от anonymous

Это не Царь. Ыыы. Довёл форум то того, что мерещится в любом аноне.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от crutch_master

Царь априори победил.

Но как!? Его же не существует

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от devl547

Причём секретарша будет отыскивать -20 сообщения и заносить их в спец топик, а Саныч будет принимать решения удалять или нет, в случае спорных ситуаций секретарша будет поддакивать - «Я сама видала он редиска зуб даю».

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от WitcherGeralt

На форуме станет чисто без моего участия, хорошо же

Deleted
()

Информация для нечегоскрывателей: можно по подобной схеме обучить систему на переписке/шаблонах перемещения по мобильному/других данных осужденных по полит. причине. Ложные срабатывания будут, но что же поделаешь)

goingUp ★★★★★
()
Ответ на: комментарий от crutch_master

Ну Столяров-то не только сказал «паскаль», но и книжку написал.

все

Неправда. :)

hobbit ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Апдейт 2 (16.06.2019)

Разметил данные, нормализовал, взвесил (классы сильно разбалансированы).

Пробую обучать классификатор, получается не очень:

   Acc: 0.7411998016856718
  Prec: 0.039599967739333816
Recall: 0.833616298811545
    F1: 0.07560825377271327
RocAuc: 0.7868138260137809

Модеры упустили много сообщений с матом и местами танцпол…

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 3)
Ответ на: Апдейт 2 (16.06.2019) от shkolnick-kun

Фичреквестирую - сделать онлайн страничку где в режиме реального времени сетка будет транслировать свою выборку :D Можно ещё упороться и добавить к результатам выборки лайк/дизлайк таким образом массы могут рапортовать сетке что она ошиблась. Хотя может и мимо я не знаю как ты модель обучаешь.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Не, я в вебе ноль.

Так что только нейроябеду на keras и scrapy...

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от Harald

и чтоб писать в удалённые можно было

Так этот же бот будет рекурсивно удалять сразу ))) Ведь автоматом «ответ на некорректное сообщение» думаю для этого даже будет оправанно один из слоёв переучить так что бы он это правило просто запомнил, при этом сеть превратится в конечный автомат конечно ))))

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Апдейт 3 (16.06.2019)

Вот первые десять ложноположительных результатов:

1. Опёнок ня!

2. не видели вы бздуны установку генты, арча... 
   Но вы продолжайте, продолжайте.

3. А зачем? Что зачем? Зачем свалил? Гнутые клали на юзеров:   
   Грег прямо сказал, что будет ставить палки в колёса ; Стало 
   невозможно использовать ZFS ; Стало невозможно использовать 
   VMWare . И я не сомневаюсь, что это только начало. // Удачи 
   оставаться, терпилы!

4. // Удачи оставаться, терпилы! Ну ты наивный! Почти все, 
   кто когда-то пользовался из идейных соображений, давно 
   свалили. Остались «Нам нужно все как в вантузе, только НА 
   ХАЛЯВУУУ! Чтоб с рюшечками и автомагией и НА ХАЛЯВУ! И 
   пофиг как оно там внутри работает, о том что можно 
   пересобрать мы все равно только читали где-то в бложике, 
   нам даже компилятор по умолчанию в настольную систему не   
   ставят. Главное, ХАЛЯЯЯВААА от Платиновых Партнеров!»

5. Убунтушники как раз ца подобных балалаек.

6. Ну ойухеть теперь!

7. Зачем? Евреи не на столько суеверные.

8. Нацисты с обратной стороны Луны будут в шоке!

9. Поинтересуйся, как у них там насчёт общественного 
   транспорта по субботам, или пожениться без справки от 
   раввина. Мракобесы те ещё.  Но корабль построили - молодцы. 

10.Те нацисты все под землёй. По крайней мере в это должны 
   верить любители подобных ахтунгов

Тащемта, сдается мне, нужно раз в 10 больше данных скачать, чтобы снизить влияние лажи в разметке…

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Ответ на: комментарий от t184256

А ты, вообще, умеешь читать (что уже написано)?
Я уже односторенне обучил своего нейромодератора только на 5-звездных - ты выскочка.

anonymous
()

Идея супер, за дело взялся человек, который скорее всего доведет это до конца.

Но на лоре же есть недокументированные негласные правила. Я думаю, что обучить программу на основе действий всех модераторов вообще нереально: они все разные и критерии нарушений и виды репрессий у них разные. ИМХО, лучше попробовать заставить нейромодератора копировать поведение какого-то одного модератора.

ArkaDOSik ★★
()
Последнее исправление: ArkaDOSik (всего исправлений: 1)
Ответ на: комментарий от torvn77

Надеюсь, автор выложит под GPL и роскомпозор вообще не захочет с этим связываться. К тому же не нужно им это, начнется же очередное бурление говен, санкции еще введут...

ArkaDOSik ★★
()
Ответ на: комментарий от t184256

Защита от некромодерации будет?

Это как?

Потомков удаленных за кого считаешь?

Если размечены, как «ответ на некорректное сообщение» - выкидываю из датасета.

shkolnick-kun ★★★★★
() автор топика
Ответ на: Апдейт 3 (16.06.2019) от shkolnick-kun

Апдейт 4 (16.06.2019)

Поднял порог срабатывания классификатора с 0.5 до 0.8 (на выходе - сигмоида).

Прочитал 1200+ «ложноположительных» комментариев, примерно 55% вполне себе нацпол, мат, оскорбления.

По моим оценкам соотношение [не выявлено/выявлено модераторами] примерно 8/5.

На следующей неделе буду качать данные не за 5 месяцев, а за 5 лет.

Из этих данных отберу примерно 15к положительных и 15к «отрицательных» примеров.

При таком отборе погрешность разметки модераторами будет составлять порядка 3-5%.

Положительных данных хватит для классификации подозрительных сообщений по категориям/тегам.

@jollheef

Не баньте плиз, сбор займет 24/5.

Параллельно буду вечерами писать ябеду.

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 2)
Ответ на: Апдейт 4 (16.06.2019) от shkolnick-kun

Какая сейчас архитектура всего проекта?

Какая архитектура сети?

Можено где-нибудь весь код повтыкать?

anonymous
()
Ответ на: комментарий от anonymous

Архитектуры проекта особо нет. Есть набор скриптов для сбора и подготовки данных, обучения сети.

Сеть брал тут: https://www.kaggle.com/larryfreeman/toxic-comments-code-for-alexander-s-9872-...

Оригинальную архитектуру пришлось упростить, имбеддинги - фасттекст, ну и плюс пришлоь использовать не самые частые 20к слов, а все подряд - мат очень редко встречается.

Именно это одна из причин по которым надо больше положительных данных - там будет больше «редких в данный момент» слов.

На следующей неделе напишу скрипт, который смотрит трекер, классифицирует сообщения, формирует отчет, постит его сюда.

Посмотреть пока нельзя. Ибо броня недостаточно крепка. Сначала надо реализовать определенные тактические приемы.

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 1)

Пойду проект нейрофлудер пилить...

peregrine ★★★★★
()
Ответ на: комментарий от t184256

Поздравляю, ты знаешь настолько много, шибко вумный, что твой речевой аппарат не может подобрать слова к твоим буйным мыслям, что рожаешь никем непонимаемую критику.

anonymous
()
Ответ на: комментарий от anonymous

<приведено описание схемы обучения по полностью доступному датасету>

<набегает анон, и увидев слово «удаленные» запускает свой примитивный ассоциативный ряд, который считает мышлением>

<да не просто набегает, а еще и ссылку дает на статью, которую если бы читал, то заметил бы в первом же абзаце «разновидность систематической ошибки отбора, когда по одной группе («выжившим») есть много данных, а по другой («погибшим») — практически нет,»>

<встречается лицом к лицу с констатацией факта, что статью анон не читал>

<вместо признания начинает бурлить:>

твой речевой аппарат не может подобрать слова к твоим буйным мыслям, что рожаешь никем непонимаемую критику

«ты не понял» != «никем не понимаемая критика».

чтобы понять мою критику, большинству местной аудитории достаточно твоего первого комментария, мои даже и не нужны. тебе бы хватило одной строки из первого абзаца по твоей же ссылке, но неет. проблема явно в констататоре факта, не в тебе же.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

обучения по полностью доступному датасету

Обучение только по удаленным сообщениям - это совсем не «полный датасет».
Ты опоздал, не читал обсуждение, или читал в контексте уже измененной истории, влоть до изменения сообщений, что позволяет форум

anonymous
()
Ответ на: комментарий от anonymous

То есть ты серьезно считал, что он будет каким-то образом обучать бинарный классификатор только на сообщениях одной категории? И «данных практически нет» по неудаленным?

ОК, это сильно, я сливаюсь. Я не могу ни вспомнить, ни представить обучение классификатора, отличного от принадлежности, лишь по одной группе.

t184256 ★★★★★
()
Ответ на: комментарий от t184256

То есть ты серьезно считал, что он ..?

Задай этот вопрос автору, что он думал когда содавал эту тему. На этот мой комментарий был получен ответ:

Это одна из гипотез, которые я пробую проверить. shkolnick-kun ★★★ (09.06.19 17:28:55)

anonymous
()
Ответ на: комментарий от crutch_master

На самом деле нет. Я сознательно исключил из выборки такие штуки, как 4.2 и прочие субъективные темы.

Только то, что может вытащить простая нейронка, которая не может в NLU и прочее извлечение фактов.

Промодерируй сам всё как надо, а не как эти лентяи.

Мне организационно и технически проще накачать больше данных, тем более, что они все равно понадобятся.

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 3)
Ответ на: комментарий от anonymous

А ты понимаешь, что в данном случае «выжившие» - это удаленные модераторами посты?

По ним есть информация, её нет по «не удаленным».

Я уже оценил долю «подозрительных» сообщений в «не удаленных», соответственно, сейчас реализую меры по снижению погрешности разметки модераторами.

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 2)
Ответ на: Апдейт 4 (16.06.2019) от shkolnick-kun

Апдейт 5 (17.06.2019)

Начал собирать 2018 год.

По моим оценкам процесс займет до 35 часов.

Соответственно, пять лет - порядка семи суток, а не пяти, как думал раньше.

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от shkolnick-kun

Я сознательно исключил из выборки такие штуки, как 4.2 и прочие субъективные темы.

Пфф.

anonymous
()
Ответ на: комментарий от tazhate

Для этого нужна будет опция «Удалять с конца треда».

kravzo ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.