Строительный классификатор статей — NLTK/Scikit-learn/Другие реализации НЛП

Для моего текущего проекта мне нужно создать утилиту моделирования или классификации тем, которая будет обрабатывать тысячи статей, чтобы классифицировать их по различным темам (для начала может быть 40-50 тем). Например, он будет проходить по статьям о технологиях баз данных и классифицировать их, является ли статья статьей NOSQL / статьей о реляционной базе данных / статьей о базе данных Graph (просто пример).

У меня есть очень базовый опыт НЛП, и наша команда в основном имеет опыт написания внутренних сценариев на Python. Я начал изучать различные варианты, доступные для его реализации, и наткнулся на NLTK и Scikit-Learn, основанные на Python, а также на Weka и Mallet, основанные на JVM.
Насколько я понимаю, NLTK больше подходит для изучения и понимания различных методов НЛП. как Тематическая классификация.

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


person whosthr    schedule 10.04.2013    source источник
comment
У вас есть готовый набор статей для обучения? Если да, то насколько он велик? Кроме того, ваши примеры тем очень близки друг к другу, и поэтому алгоритму гораздо сложнее правильно их классифицировать, чем если бы это были рыбалка, астрономия и художники 16-го века. Эти детали во многом определяют, какой алгоритм подойдет для вашего случая.   -  person Björn Lindqvist    schedule 10.04.2013
comment
Предложения по лучшим наборам инструментов не по теме. См. часто задаваемые вопросы. Если вам нужна производительность, я бы избегал NLTK, который в основном является образовательным набором инструментов, хотя его можно использовать для прототипирования.   -  person Fred Foo    schedule 10.04.2013
comment
Да, у нас есть обучающий набор статей по некоторым темам (20-50 статей). У нас есть возможность начать с более разнообразных тем, а затем перейти к более изысканным темам.   -  person whosthr    schedule 11.04.2013
comment
Спасибо, что подтвердили мое понимание NLTK. Я хочу начать с фреймворка, который может помочь в более разнообразных темах на данный момент. Маллет ищет возможный вариант — есть ли какие-либо комментарии или опыт по этому поводу? Буду признателен и за другие варианты...   -  person whosthr    schedule 11.04.2013


Ответы (1)


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

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

Вы можете использовать пакет Gensim для реализации этого. Очень четкий, быстрый и простой в реализации (см. здесь)

person Gyan Ranjan    schedule 18.09.2017