Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 10, 2018 12:39:50

pamperz666
Зарегистрирован: 2017-10-31
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Помощь с поиском мата и ругательств в списке слов))

PEHDOM
pamperz666 давайте для начала определимся с некоторыми вопросами..1. Вам это нужно для? - учеба; препод задал ДЗ/курсовая/дипломная/еtс и тогда нужно писать все самому - рабочий проект; антиматфильтр для чятика/форума/ХЗ еще чего.. тогда можно воспользоваться сторонней библиотекой.Например https://pymorphy2.readthedocs.io/en/latest/ или вот http://www.aot.ru/history.html . Конечно же они не идеальны но думаю более чем подойдут и сделают за нас процентов 80-90 работы.Или готовое решение уже допилить под себя. типа такого https://pypi.python.org/pypi/matcensor/1.0.3 Очень все просто и примитивненько, там даже re используется для только для замены, а так чистый пайтон, Хотя мне оно не нравиться, уж больно все реализовано “в лоб”, можно сделать лучше, но для “заготовки” вполне подойдет.- опять же если для дела, то к чему вы будете это прикручивать? Для многих фреймоврков уже есть готовые решения, или заготовки под них.2. насколько критично быстродействие?

1) В общем, это проект (словарь ошибок и неологизмов, входящий в более крупный проект “Пограничный русский язык”), а мне досталась некая малая часть этого проекта (поиск по корням: ругательства, мат), вот, иии получается мне надо просто из огроменного списка слов в 7/8 миллионов слов найти всякие ругательства.
2) Насчёт быстродействия - не думаю что они будут на это как-то обращать внимание)

Офлайн

#2 Фев. 10, 2018 16:40:38

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Помощь с поиском мата и ругательств в списке слов))

pamperz666
7/8 миллионов слов
Вы английские, французские и немецкие ругательства будете искать? В словарях русского языка порядка 150000 слов ну максимум порядок накинуть на разные формы. Откуда 8 миллионов? Это еще на порядок больше.

Ругательство это не обязательно одно слово, кроме того его нельзя вырвать из контекста. Попробуйте назвать свою девушку тощей козой например. Вроде как и не ругательство. :)

Вывод такой. Убираете повторы, после этого будет в 200 раз меньше слов.
Дальше из этих слов убираете те слова которые есть в Уголовно-процессуальном кодеке Российской Федерации или аналогичных документах. Оставшиеся крохи сортируете вручную. Синхрофазотрон предлагаю считать ругательством. Если вас так назовут вы ведь обидетесь?



Офлайн

#3 Фев. 12, 2018 13:19:39

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помощь с поиском мата и ругательств в списке слов))

pamperz666
1) В общем, это проект (словарь ошибок и неологизмов, входящий в более крупный проект “Пограничный русский язык”)
“ага сказали мужики” правильно ли я понимаю что вам не нужно искать любой мат, в том числе и завуалированый в любой строке?
Давайте еще уточним:
- все слова будут в единственном числе, именительного падежа исключительно на русском языке, исключительно кирилицей?
- никакой псевдографики, замены букв числами или схожими по звучанию другими буквами, кирилицы латиницы и прочего.
- проверка должна проходить исключительно по слову или также по фразе, предложению, произвольной строке?
- что должно быть в итоге? само матерное слово, корень или True\False

pamperz666
поиск по корням: ругательства, мат
Накидать простенькую процедуру которая будет принимать на вход слово и искать по корню с помощью re или банального in вообще не проблема. Проблема в том чтобы составить грамотный алгоритм. А чтобы это сделать нужно понимать все условия. У вас пока общие слова, котороые вызывают больше вопросов чем дают ответов.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#4 Фев. 13, 2018 16:17:12

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помощь с поиском мата и ругательств в списке слов))

собсна там работы больше для лингвиста чем для программиста…
смотрите в аттаче, у меня заняло больше времени чтобы продумать несколько шаблонов чем написать код самого модуля.
ну естественно оно ловит не все слова,потому как там мало шаблонов, вам нужно будет самому придумать и добавить шаблоны для поиска.
чутка теории https://habrahabr.ru/post/101232/
ЗЫ писалось “на коленке” потому многие вещи сырые и нету “защиты от дурака”



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 13, 2018 16:22:17)

Прикреплённый файлы:
attachment find_word.7z (15,7 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version