Corpora

NLP: список русских стоп-слов

Решил тут немного поконтрибьютить в питоновскую библиотеку summa. Кроме того, что там в функционале извлечения ключевых слов из русского текста происходит ненужный стемминг английских слов (послал pull-request), там еще полностью отсутствует список русских стоп-слов. Вообще, само понятие стоп-слов немного размытое у людей. Некоторые используют это для фильтрации наиболее частотных слов языка в задачах классификации документов, например, если ипользуют алгоритмы, учитывающие частоту появления встречающихся слов. Но почему тогда так и не называть это словарем самых частотых слов?

Программерский детектив

Итак, пока я тут доделал парсер-конвертер html-статей в набор предложений (с помощью BeautifulSoup4, различных регулярок и NLTK.tokenize - для подачи на вход нейросети на TensorFlow) и доволен чистотой результата, решил сделать паузу и, все-таки, написать эту забавную и поучительную историю. Программерский детектив Приятно наблюдать как недавно собранный компьютер “перемалывает” всеми 8(16) ядрами нужную мне задачу. Вот только я не ожидал, что придется перезапускать это так много раз. В последний раз так мозг закипал, наверное, только когда нужно было сделать динамический пересчет релокейшенов загруженного модуля win32.

Кластеризация методом k-средних

Фух. Наконец, дошли руки (и настрой) до того, чтобы разобраться с алгоритмом кластеризации похожих ключевых слов. Пока просто по точным вхождениям, без использования лемматизации. Давно оно меня пугало. Кластеризация методом k-средних, преобразование текстовых данных в векторный формат, “мешок слов”… Но, как оказалось, есть хорошая библиотека, которая позволяет не особо “лезть под капот”. Побаловался с туториалами, понял принцип и сразу же и сделал. https://radimrehurek.com/gensim/index.html