- •Титульный лист
- •Оглавление
- •Введение
- •1. Постановка задачи
- •2. Анализ задачи
- •2.1. Анализ предметной области
- •2.2. Методы автоматической классификации текстов
- •2.3. Метрики оценки качества рубрицирования
- •2.4. Существующие решения
- •2.5. Предлагаемые алгоритмы для работы классификатора
- •2.6. Анализ архитектуры модуля
- •2.7. Средства реализации
- •3. Аппаратные и программные требования
- •Серверная часть
- •Клиентская часть
- •4. Реализация
- •4.1. Структура базы данных
- •4.2. Реализация классов
- •4.3. Пример использования
- •5. Оценка качества рубрицирования
- •Заключение
- •Список литературы
- •Приложение 1. Класс-action ShowRubricProbability
- •Приложение 6. Результаты автоматической классификации объявлений
2.5. Предлагаемые алгоритмы для работы классификатора
Для корректного функционирования реализуемой платформы предлагаются собственные алгоритмы, которые описаны ниже. Выбор данных алгоритмов обусловлен тем, что набор действий в них достаточен для корректной работы реализуемой платформы и модуля по рубрицированию объявлений.
Алгоритм для обучения классификатора:
Для каждой рубрики выбираются все объявления, входящие в эту рубрику.
Текст каждого из объявлений разбивается на слова.
Для улучшения качества рубрицирования и уменьшения размерности таблицы с данными о количестве вхождений слов в объявления отбрасываются все слова, длина которых меньше трех символов, а также слова, состоящие из одних цифр. Кроме того, все слова приводятся к своим первым формам.
Рассчитывается количество вхождений каждого из слов в документы из обучающей выборки для каждой рубрики.
Результаты записываются в базу данных.
Алгоритм, по которому будут проводиться эксперименты:
Получение тестового множества объявлений.
Каждое из объявлений разбивается на слова.
Отбрасываются все слова, длина которых меньше трех символов, а также слова, состоящие из одних цифр. Кроме того, все слова приводятся к своим первым формам.
Для каждого слова рассчитывается частота его вхождения в каждую рубрику.
Расчет вероятностей отнесения объявления к каждой из рубрик (с учетом априорной вероятности и без ее учета) и выбор рубрики с максимальной вероятностью.
После расчета вероятностей для всех объявлений вычисляются полнота, точность и F-мера классификатора.
Вывод полученных данных.
Алгоритм для классификации отдельного объявления:
Получение текста объявления из веб-формы.
Разбиение объявления на слова. Отбрасываются те слова, длина которых меньше трех символов и слова, которые полностью состоят из цифр.
Приведение оставшихся слов к первым формам.
Для каждого слова рассчитывается количество его вхождений в каждую из рубрик.
Подсчет частоты каждого слова для всех рубрик.
Подсчет вероятности отношения введенного объявления к каждой из рубрик с учетом и без учета априорной вероятности.
Выбор пяти рубрик с максимальными вероятностями.
2.6. Анализ архитектуры модуля
Разрабатываемый модуль будет являться частью системы контекстной рекламы «Камелот.Контекст». Поэтому без описания архитектуры всей системы трудно понять место модуля в ней.
Всю систему контекстной рекламы можно разделить на три части:
front-офис;
back-офис;
реализация модели данных.
Front-офис — это набор интерфейсов, с которыми будет работать Интернет-пользователь системы. Примеры интерфейсов, которые будут реализованы в данной части:
интерфейс создания и редактирования рекламной кампании;
интерфейс регистрации и редактирования заказов;
интерфейс создания и редактирования объявлений;
интерфейс генерации и отправки счетов;
интерфейс отображения объявлений.
Back-офис — это набор интерфейсов, с которыми будут работать сотрудники компании «Камелот». В основном на эти интерфейсы будут возложены функции модерации:
проверка рекламных объявлений;
проверка достоверности предоставленных данных;
законодательный контроль.
Под реализацией модели данных понимается создание структуры таблиц базы данных и написания компонентов, через которые будет проходить взаимодействие front-офиса и back-офиса с базой данных.
Реализуемый модуль будет интегрирован в интерфейс создания и редактирования объявлений. Точнее, на web-странице для добавления и редактирования объявлений будет ссылка «Показать ключевые слова», по нажатию на которую будет начинаться работа модуля по подбору ключевых слов и фраз, который будет включать в себя две логические части:
автоматическое определение рубрики, к которой относится объявление;
подбор ключевых слов и фраз, который основан на различной статистике, на определенной на предыдущем шаге рубрике объявления, а также на некоторых других входных данных.
Графически архитектура модулей представлена на рисунке 2.6.1.
Рис.2.6.1. Архитектура разрабатываемых модулей