О чём пишут телеграм-каналы и морфологическая нормализация
В каждом авторском телеграм канале - своя тема, своя стилистика, свои обороты, свои слова. Посты в канале - лицо автора. Поэтому придумал концепцию портретов авторов из слов постов их каналов. По словам сразу понятно, о чем пишет автор.
О чём же пишут авторы?
Можно сразу перейти в комментарии и найти портреты в хайрезе:
1️⃣Павел Дуров и канал @durov_russia
2️⃣ Артемий Лебедев и канал @temalebedev
3️⃣ Максим Спиридонов и канал @mspiridonov
4️⃣ Мой портрет и канал @data_bar
Сделал скрипт, который формирует облако слов из всех постов канала. Вкратце:
1. Выгружается json из канала
2. Забирается только текст из постов
3. Из текста убираются стоп-слова (предлоги, наречия и т.п.)
4. Проводится морфологическая нормализация (об этом ниже)
5. Считается частотность каждого слова
6. Строится облако слов по маске. Маска - черно-белое изображение.
Чем больше размер шрифта, тем частотнее слово. Сразу видно наиболее употребляемые слова. Одна картинка 5120x5120 считается и формируется 10 минут.
Делал раньше такое, и написал статью как это работает. В новой версии хотел добавить морфологическую нормализацию LLM. Но, в итоге, использую библиотеку pymorphy2. Пробовал документ отдавать ChatGPT, но он не смог нормально сделать и сам предложил использовать pymorphy2. Эта библиотека справляется в 95%, но всё-таки есть проблемки.
Морфологическая нормализация - это приведение всех существительных к единственному числу в именительном падеже. Прилагательные - единственное число, мужской род. Давно хотел реализовать и думал применить LLM, но получил неплохой результат с pymorphy2. А вот глаголы в совершенной форме к несовершенной приводить получается только при помощи словаря (это другая морфологическая операция).
Маска - это портрет автора канала. Исходный портрет преобразуется в grayscale и сильно выкручивается яркость с контрастностью, потом изображение инвертируется. Cловами заполняются все тёмные участки. По-хорошему, надо допиливать портреты вручную в фотошопе, но я этого не делал.
Получилось прикольно: слова и портрет автора на одной картинке. Ведь в каком-то смысле, слова автора являются его лицом.
Post #93
1.19K

- 🔥 26
- ❤ 5
- 👍 2
- 👎 1