|
40 / 40 / 23
Регистрация: 26.01.2012
Сообщений: 317
|
|
Классификация текстов02.03.2019, 18:03. Показов 4007. Ответов 4
Привет всем!
Заинтересовался темой обработки текстов, а в частности классификацией/кластеризацией. В большинстве примеров решения подобных задач на вход классификатора (в реальном времени) подают какой-то стек текстов, обучают модель и затем подсовывают новый документ, чтобы предсказать к какой группе отнести текст/найти процент сходства. Перед постановкой вопроса попробую описать свою задачу: Есть набор текстов (допустим худ. литература), этих текстов достаточно много. По факту, этот материал можно использовать для модели "с учителем". Сама задача состоит в определении принадлежности новых документов к худ. литературе. (применять собираюсь sklearn) Как я понимаю, можно поступить как минимум двумя способами: Способ 1 Тупо кластеризовать какой-то значительный объем новых документов, чтобы (допустим с помощью k-means) выделить группы схожих текстов и потом уже в ручном режиме посмотреть эти кластеры, чтобы принять решение о группировке с уже имеющейся базой книг. Способ 2 Обучить модель на уже имеющихся книгах и на основе этого принимать решение для каждого нового документа/группы Как в таком случае обучить модель на большом объеме данных (более 1 млн. книг), сохранить конфигурацию этой модели и потом применять для новых документов? Что посоветуете? Может кто-то уже решал подобные задачи? Заранее спасибо!
0
|
|
| 02.03.2019, 18:03 | |
|
Ответы с готовыми решениями:
4
Классификация текстов Мультиклассовая классификация в xgboost Классификация элементов последовательности на N классов |
|
578 / 411 / 69
Регистрация: 09.01.2018
Сообщений: 1,363
|
|||||
| 02.03.2019, 22:07 | |||||
|
Кластеризация - помимо других прикладных задач - решает и задачу, "а что делать, если денег заплатить китайцам нет". Т.е. она в принципе может решить как-то задачу разметки. Понятно, что качество будет хуже, чем при ручной разметке, но зато дешевле и быстрее. Иногда этого достаточно. Ну и интерпретировать результат придется самому. Оба подхода имеют право на существование. Что применять - выбирать вам. Примеры в сети имеются, можно погуглить. Но разделение на "художественную" и прочую литературу задача, конечно, надуманная и мало кому интересная. Гораздо чаще задачу используют,например, информационные агенства, которые уже давно научились автоматически относить текст к той или иной рубрике. При кажущейся несерьезности задача позволяет им (информагенствам) экономить существенные деньги на выполнении работы, которые ранее выполнялись целыми отделами людей. Ищите в этом направлении.
0
|
|||||
|
|
|||||||||
| 02.03.2019, 23:41 | |||||||||
Сообщение было отмечено monahoff как решение
РешениеХороший датасет размеченных данных (для классификации) способен, конечно, сильно повысить точность. Но вручную размечать довольно непросто. Хотя, можно и нарыть какой-нить интернет ресурс с книгами и выпарсить его - при наличии уже готовой разметки\рубрикации на сайте получаем размеченный датасет... Ну или все-таки нанять гастарбайтеров :-) как предложили выше. Вот у меня обученная по размеченным данным модель K-NN (ближайших соседей) определяла новые документы вот так:
Но если начать моей модели скармливать реально большое кол-во текстов для предсказания - думаю будет все гораздо хуже, так как обучающий датасет был игрушечным. Это, кстати, самая важная задача в ML - подготовить данные. В случае текстов обработка это создание bag of words: токенизация (вариантов как именно - масса), нормализация(канонизация токенов до нормальной словарной формы), удаление стоп-слов и прочего мусора, и, наконец, векторизация списков слов в вектора чиселок. Для миллиона документов, где каждый это целая книга, это весьма долгоиграющий процесс. А ведь вектор еще и в ОЗУ должен поместиться, чтобы модель смогла с ним работать. Хотя, какие-то модели в sklearn вроде позволяют работать с батчами данных (кроме алгоритмов которым нужна матрица попарных расстояний между объектами) - не пробовал пока.
1
|
|||||||||
|
40 / 40 / 23
Регистрация: 26.01.2012
Сообщений: 317
|
|||
| 02.03.2019, 23:52 [ТС] | |||
|
Добавлено через 9 минут
0
|
|||
|
|
||
| 03.03.2019, 00:04 | ||
|
0
|
||
| 03.03.2019, 00:04 | |
|
Помогаю со студенческими работами здесь
5
Классификация текста к определенному классу SVM VGG16. Классификация изображений (Cats vs. Dogs) Классификация периодов после изменения уровня данных Семантический анализ текстов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|