{"id":15066274,"url":"https://github.com/nsbarsukov/toxic-comments-detector","last_synced_at":"2025-04-10T17:37:07.553Z","repository":{"id":51708822,"uuid":"323015632","full_name":"nsbarsukov/toxic-comments-detector","owner":"nsbarsukov","description":"Репозиторий python-пакета \"toxicity\". Выявление токсичного контента в русскоязычных текстах c помощью глубокого обучения.","archived":false,"fork":false,"pushed_at":"2021-06-12T18:26:06.000Z","size":103218,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-08T11:01:41.967Z","etag":null,"topics":["deep-learning","hate-speech","toxic-comment-classification","toxic-comments-detector","toxicity"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nsbarsukov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-20T07:15:30.000Z","updated_at":"2024-06-04T21:04:43.000Z","dependencies_parsed_at":"2022-08-03T08:46:38.818Z","dependency_job_id":null,"html_url":"https://github.com/nsbarsukov/toxic-comments-detector","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsbarsukov%2Ftoxic-comments-detector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsbarsukov%2Ftoxic-comments-detector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsbarsukov%2Ftoxic-comments-detector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nsbarsukov%2Ftoxic-comments-detector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nsbarsukov","download_url":"https://codeload.github.com/nsbarsukov/toxic-comments-detector/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247829497,"owners_count":21002995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deep-learning","hate-speech","toxic-comment-classification","toxic-comments-detector","toxicity"],"created_at":"2024-09-25T01:04:54.536Z","updated_at":"2025-04-10T17:37:07.537Z","avatar_url":"https://github.com/nsbarsukov.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python package \"toxicity\"\n**Мой магистерский диплом \"Выявление токсичного контента в русскоязычных текстах\".**\n\nМагистерская программа \"Анализ больших данных в бизнесе, экономике и обществе\".\u003cbr\u003e\nНИУ \"Высшая Школа Экономики\" (СПб).\u003cbr\u003e\n\nТекст работы представлен [на сайте НИУ ВШЭ](https://www.hse.ru/edu/vkr/470708555). \u003cbr\u003e\nВ работе подробно объяснено, почему были выбраны данные алгоритмы машинного обучения, и расписаны все детали реализации полученных алгоритмов.\n\nВ данном репозитории собрана вся история разработки модели по классификации токсичного контента\nна русском языке. В конце лучшая модель (с наилучшим соотношением качества и размера)\nопубликована в форме python-пакета [**toxicity**](https://pypi.org/project/toxicity/).\n\nПоказатели метрик точности на тестовой выборке у модели (внутри пакета **toxicity**):\n\nAccuracy | Recall | Precision | F1\n-------- | ------ | --------- | ------ |\n90.6%    | 83.86% | 87.24%    | 85.52% |\n\n## Пример использования python-библиотеки\nУстанови пакет\n```shell\npip3 install toxicity\n```\nи сразу пробуй\n```python\nfrom toxicity import ToxicCommentsDetector\n\ntest_raw_texts = [\n    'ты чего берега попутал?',\n    'это правый берег реки, не путай с левым'\n]\n\ntoxicDetector = ToxicCommentsDetector()\nprint(toxicDetector.predict(test_raw_texts)) # [0.9521822  0.18336123]\n```\nВ данном примере показывается, что модель с 95% вероятностью уверена,\nчто текст\n\u003eты чего берега попутал?\n\nявляется токсичным,\nа уверенность модели, что текст\n\u003eэто правый берег реки, не путай с левым\n\nможет быть токсичным составляет лишь 18%.\n\n_Примечание:_ Выбор пограничного значения вероятности,\nпри котором причислять коммент к токсичному остается на усмотрение пользователя библиотеки.\nНо, если нет представления, какое значение использовать, то бери `0.5`.\n\n## Структура проекта\n```\n├── data # Используемые данные\n│\n├── dev # Набор констант и утилит для разработки\n│   ├── constants\n|   └── utils\n│\n├── models # различные модели для решения главной задачи классификации  \n│\n├── publishPackageUtils # инструменты для публикации пакета\n│    \n├── textPreprocessing # набор утилит для предобработки русскоязычных текстов\n│   ├── text_utils # набор маленьких утилит по очистке текста\n│   └── preprocess_text.py # собирает все утилиты из text_utils в одну функцию\n│\n└── wordEmbeddingsLayers # различные способы векторизации слов\n```\n\n## Навигация по проекту\n- [Используемые данные](/data)\n- [Предварительная очистка текстовых данных](/textPreprocessing)\u003cbr\u003e\nКак обрабатывались сырые текстовые данные перед их дальнейшим использованием в построении моделей машинного обучения.\n- [Какие способы векторизации слов применялись](/wordEmbeddingsLayers)\n- [Какие модели ML были опробованы для решения поставленной главной задачи классификации](/models)\n- [Как опубликовать новую версию python-пакета](/publishPackageUtils/how-publish-package-instruction.md)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnsbarsukov%2Ftoxic-comments-detector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnsbarsukov%2Ftoxic-comments-detector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnsbarsukov%2Ftoxic-comments-detector/lists"}