Механизм поиска мемов
Описание проекта
Используемые технологии
- Обработка изображений
- Машинное обучение
- Обработка естественного языка
- Сценарии оболочки
Коллекция
Мемы собраны из популярных сабреддитов с помощью скрипта Scrape scrape/scraper.py
Стандартизация
- Собранные мемы помещаются в папку
raw
и запускается скрипт standard.py
- Каждое имя файла извлекается и сохраняется в текстовом файле рядом с новым шестнадцатеричным именем файла, созданным для изображения.
- Стандартизированные изображения сохраняются в
processed
папке.
Извлечение запроса
- Введенный запрос разбивается на слова и синонимы для каждого слова добавляются в список
related queries
с помощью библиотеки nltk. - Сканируем базу данных на соответствие слов словам в
related queries
- Это расширяет область поиска и сводит к минимуму сценарии с нулевым результатом.
Соответствие запросу
- Мемы расположены в порядке их релевантности поисковому запросу.
- Это делается путем присвоения оценки каждому мему, присутствующему в базе данных, а затем сортировки оценок в порядке убывания.
Оптическое распознавание символов
- OCR выполняется с использованием Tesseract для извлечения текста из мемов, что является важной частью проекта.
- Извлеченный текст не является абсолютно точным, поэтому выходные данные ocr передаются в программу проверки орфографии библиотеки
autocorrect
Python. - Проверка орфографии делает преобразование более точным.
Быстрое тестирование
Чтобы запустить графический интерфейс и протестировать функциональные возможности, просто введите
Собери и запусти
- Собрать мемы из сабреддитов
- Скрипт bash подготавливает базу данных, которая позволяет Meme Engine работать должным образом.
- Чтобы запустить механизм поиска мемов (Meme Finder), введите
- Введите запрос в текстовое поле и нажмите «
Go
- Мемы отсортированы по релевантности.
- Выбранные мемы можно просмотреть с помощью кнопок
Next
и Previous
.
Добавляйте новые субреддиты в список
Требования
- cv2 (ОпенКВ)
- питессеракт
- нлтк
- ПИЛ
- хэшлиб
- шатил
- автозамена
- пимонго
Будущие улучшения
- Добавление функциональности в индикатор выполнения
- Исправьте масштабирование размеров мемов для отображения на холсте.
- Добавление функции очистки сохраненных мемов
- Сохранение популярных шаблонов мемов, проверка изображений на сходство и связывание специальных ключевых слов.
Документация
Документация MemeFinder