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)

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

Выздоравливай! У меня как на углодрайв закачается, дам ссылку.

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

Я послал линк, пожалуйста, отпишись потом, что все ОК. Потому что у меня, оказывается, на ВПСке крошечный диск.

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

Видимо оно забило весь диск. Не докачало 2332 топика (примерно пару месяцев архива).

В принципе не критично, но, если можешь и хочешь докачать, то можно удалить из data/download все файлы, кроме: arch.pkl, topic.pkl, topic_num.pkl, и запустить снова, оно доделает работу.

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

Ммммм, вообще-то оно забило диск, я диск очистил и продолжил и оно еще качало 17000 топиков (всего 103 000 кажется хотело).

Нннадо переделывать или и так норм?

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

Скачало оно почти 99к.

Почему-то происходит редирект с meta refresh не срабатывает

на < www.linux.org.ru/forum/web-development/index.p... >

Дальше неразборчиво (не написано), а оттуда приходит 400 (bad request).

Думаю, что и так сойдет.

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

Апдейт 6 (22.06.2019)

Итак, благодаря @Shaman007 удалось намайнить 124930 топиков (более 3М сообщений).

За 2014-2019 гг. было удалено порядка 91к сообщений (у меня 91130, но это не точно, т.к. не смогли докачать 2332 топика).

Причин удаления порядка 1300.

Сегодня размечу причины. Завтра попробую обучить классификатор на новых данных.

shkolnick-kun ★★★★★
() автор топика

Апдейт 7 (23.06.2019)

Попробовал обучить классификатор при разных соотношениях количества положительных и «отрицательных» образцов в датсете.

Типичные метрики на кросс-валидации

По разным значениям соотношения TP/TN в датасете

Самая удачная модель - 0

1/1

Weghtted scores

  • Acc: 0.7625336927223719
  • Prec: 0.7691477885652643
  • Recall: 0.7589143161255987
  • F1: 0.7639967854272705
    
  • RocAuc: 0.8461987083662628

Scores

  • Acc: 0.7625336927223719
  • Prec: 0.7691477885652643
  • Recall: 0.7589143161255987
  • F1: 0.7639967854272705
    
  • RocAuc: 0.8461987083662628

1/2

Weghtted scores

  • Acc: 0.7564137186065353
  • Prec: 0.7738927738927739
  • Recall: 0.7209554831704669
  • F1: 0.746486790331647
    
  • RocAuc: 0.8419455933292144

Scores

  • Acc: 0.7681524083393242
  • Prec: 0.6311787072243346
  • Recall: 0.7209554831704669
  • F1: 0.6730866700456158
    
  • RocAuc: 0.8419455933292144

1/5

Weghtted scores

  • Acc: 0.7564957960401409
  • Prec: 0.7821229050278574
  • Recall: 0.7049808429118773
  • F1: 0.7415510392077499
    
  • RocAuc: 0.8337448134611863

Scores

  • Acc: 0.790329828345466
  • Prec: 0.417910447761194
  • Recall: 0.7049808429118773
  • F1: 0.5247504583418211
    
  • RocAuc: 0.8337448134611651

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

Улучшать буду пробовать дальше, есть подозрение, что помогут elmo вместо словарных имбеддингов…

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

Попробовал обучить классификатор

ЧИВО??? Статистика и вероятность вот на чем основаны эти недосети

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

Использование псевдо-нейро большая ошибка - логика работы всегда будет ущербна, все это уводит развитие технологий в сторону по ложному пути

anonymous
()
Ответ на: Нейроябеда от shkolnick-kun

Ты бы сам сначала почитал на что бот триггерится.

Deleted
()

А раздел учитывается?

В Talks, технических разделах и Job – то, что является флудом, например – очень разное.

Deleted
()

btw, давай постить нейромодератора в другой тред, иначе обсуждение затруднительно.

Deleted
()
Ответ на: Нейроябеда от shkolnick-kun

Реакция на «ебилд» — это эпиично.

А вообще, пока это работает ничуть не лучше 30-строчного скрипта со списком ругательств. Хрень какая-то.

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

Пока взял рандомную модель (результат одного из экспериментов, чисто для отладки бота).

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

Этим займусь чуть погодя.

shkolnick-kun ★★★★★
() автор топика

Какой смысл? Банят только после того, как кто-то наябедничает. Лучше грепните базу и выложите список ябид по нейроалгоритму — польза будет. Забанить их — и ЛОР заживёт новой жизнью. А то все мои гениальные мысли пропадают под молотком модеров, когда у какого-то школьника случается диссонанс, что он вовсе не самый лучший у мамки, а просто кретин.

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

Ты это, свои гениальные мысли никому не показывай, и тогда их не будут удалять. Я так делаю со значительной долей своих гениальных высказываний, и это работает! Нельзя удалить то, о чём никто не знает.

i-rinat ★★★★★
()
Ответ на: комментарий от Deleted

Что поделаешь! В танцпольных тредах постоянно обсуждают «наши разработки»...

shkolnick-kun ★★★★★
() автор топика

Ты можешь вывести что-нибудь выводить относительно того, на что именно оно триггериться в сообщении?

crutch_master ★★★★★
()

И не выплевывай по одной ссылке на сообщение, сделай сразу пачкой, если их там несколько есть за проход. Так легче читать будет.

crutch_master ★★★★★
()

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

Вам бы только повахтерствовать. Мамку свою забаньте!

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

Это можно, во всяком случае попробовать...

shkolnick-kun ★★★★★
() автор топика

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

anonymous
()
Ответ на: Нейроябеда от crutch_master

Вот именно. Я об этом.
По сути это будет завуалированная выдача модераторских полномочий разработчику, по крайней мере это обход «обсуждения модерации все спецраздела».

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