Оптимизация работы с контекстной рекламой
Понятие контекстной рекламы, ее классификация и свойства. Принцип показа рекламных объявлений. Разработка интерфейсов кросс-минусовки. Алгоритм составления заголовков. Обзор конкурентов, сервисы Contextgen и Ppc-help. Выбор клиентского фреймворка.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 01.01.2018 |
Размер файла | 712,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Оптимизация работы с контекстной рекламой
Содержание
Введение
Глава 1. Изучение предметной области
Глава 2. Разработка приложения
Заключение
Список используемой литературы
Введение
В наши дни количество пользователей интернета стремительно растет. Интернет сейчас является основным источником информации, актуальность телевидения журналов и газет падает. Но вместе с пользователями в интернет переходят и рекламодатели. Вариантов привлечения клиентов много - это поисковая реклама, тематическая реклама, спам, баннерная реклама и т.д. Со временем реклама в интернете стала расширяться, появилось много разных настроек, способов аналитики и конкурентов. Чтобы создать по-настоящему качественную и эффективную рекламу, нужно учитывать много аспектов, включая особенности поисковых систем, конкурентность, психологию человека, понимать современный рынок.
Сегодня уже совершенно невозможно представить себе эффективно и успешно развивающийся вид бизнеса, в котором бы не использовались ресурсы Всемирной паутины. Более того, любому предпринимателю прекрасно известен тот факт, что без освоения просторов глобальной сети вряд ли удастся добиться хороших позиций в той или иной сфере деятельности. Поэтому те компании, которые серьезно относятся к своему бизнесу, прикладывают немало усилий и стараний к данным процессам. Одним из способов привлечения клиентов в интернете является контекстная реклама, рост популярности которой растет с каждым годом.
Цели дипломной работы:
· Изучить принцип работы контекстной рекламы
· Произвести опрос людей, работающих с контекстной рекламой
· Разработать веб-приложение, автоматизирующее процесс создания контекстной рекламы
Глава 1. Изучение предметной области
Определение контекстной рекламы
Контекстная реклама - это тип интернет-рекламы, особенность которого заключается в том, что рекламные объявления на сайтах показываются в соответствии с их содержанием (контекстом). Содержание контекстной рекламы соответствует содержанию поискового запроса, который пользователь ввел в поисковой строке и нажал кнопку «найти» или тематике сайта-партнера, на который перешел пользователь. Контекстная реклама показывается в результатах поиска по интернету и на площадках-партнерах поисковой системы.
Контекстное рекламное объявление состоит из заголовка, текста, ссылки (целевой страницы, на которую попадет пользователь, когда кликнет по объявлению) и дополнительных элементов, таких как контактная информация, график работы организации, место нахождения и т.д. На рисунке № 1 изображено объявление контекстной рекламы по запросу «купить квартиру»:
Рисунок № 1. Пример контекстной рекламы.
Актуальность контекстной рекламы
На данный момент контекстная реклама является одним из самых мощных источников привлечения клиентов. Рост спроса на контекстную рекламу обусловлен следующими факторами:
· Точное попадание в целевого посетителя. Пользователь сам ищет те товары и услуги, которые показываются в объявлениях (это выгодно как для рекламодателей, так и для посетителей поисковых систем).
· Быстрая отдача от рекламы. Возможность запустить рекламную кампанию и уже в течение нескольких часов получить первые заявки (продажи).
· Минимальный рекламный бюджет. Возможность начать рекламироваться с бюджетом от 300 рублей. Контекстную рекламу можно использовать как отдельно, увеличив количество средств на нее, так и в комплексе с другими инструментами (баннерами, seo-статьями, тизерной рекламой).
· Гибкость в настройке рекламной кампании. Большим преимуществом здесь является гибкость настройки объявлений с учетом бюджета, географии, времени суток и других параметров для достижения максимального эффекта.
· Мощная аналитика. После проведения рекламной кампании рекламодатель располагает всеми необходимыми данными по ее эффективности и сможет улучшить ее, чтобы в дальнейшем получать более высокие результаты.
· Удобный формат восприятия. Аккуратные, приятные для восприятия, краткие рекламные объявления, отсутствие всплывающих окон, раздражающих звуков и мигающих картинок, - все это делает такой тип рекламы одновременно эффективной и ненавязчивой.
· Информативность. Несмотря на свой компактный размер, контекстные
объявления обладают всеми необходимыми составляющими для донесения нужной информации: картинкой (пиктограммой), основным смысловым заголовком, пояснением и ссылкой, ведущей на сайт рекламодателя.
· Удобство настройки. Контекстной рекламой можно управлять в режиме реального времени без каких-либо временных задержек: приостановить рекламу, уменьшить или увеличить количество объявлений, регулировать стоимость перехода пользователя на сайт и многое другое.
Популярность использования поисковых систем и, соответственно, количество контекстной рекламы постоянно растет. Только за последние пять лет рост этого рынка происходит гигантскими темпами и составляет от 10% до 60% в год. Компании, которые раньше расходовали свои рекламные бюджеты на телевидение, переходят в интернет, а именно на контекстную рекламу. На рисунке № 2 изображен график аудитории поисковой системы «Яндекс» в период с 2008 по 2014 год. Как видно из графика, размер аудитории поисковой системы сопоставим с аудиторией крупнейших телеканалов России. фреймворк реклама минусовка интерфейс
Рисунок № 2. Аудитория поисковой системы «Яндекс».
Классификация контекстной рекламы
Существуют два вида контекстной рекламы - поисковая и тематическая.
Тематическая контекстная реклама показывается на площадках рекламной сети поисковой системы и внешних сетей, если тематика рекламной кампании соответствует интересам пользователя. Особенность такой рекламы в том, что половину от стоимости клика берет себе рекламная сеть, а вторую часть от стоимости клика получает веб-мастер - создатель сайта, на котором транслируются рекламные объявления. Тематическая реклама показывается как дополнительная информация к основному содержанию страницы, которую просматривает пользователь. На рисунке № 3 показан пример тематической контекстной рекламы. Рекламное объявление показано на сайте-партнере поисковой системы «Яндекс» и рекламирует услугу, которую я недавно искал в «Яндексе».
Рисунок № 3. Пример тематической контекстной рекламы.
Поисковая контекстная реклама появляется после того, как пользователь введет запрос в поисковую строку и нажмет кнопку «найти». Поисковая контекстная реклама соответствует запросу пользователя и показывается в определенных группах страницы в зависимости от того, какую из них выбрал рекламодатель.
На данный момент «Яндекс» использует четыре группы размещения поисковой контекстной рекламы (рисунок № 4):
Рисунок № 4. Группы размещения поисковой контекстной рекламы.
· Первое спецразмещение -первая позиция над результатом поиска
· Спецразмещение - позиция над результатом поиска, сразу после первого спецразмещения
· Первое место - первая позиция под результатом поиска
· Гарантированные показы - показы на одной из четырех позиций под результатами поиска, сразу после первого места.
Свойства контекстной рекламы
Контекстная реклама обладает следующими свойствами:
· CTR - (click through rate) или «кликабельность». Это процентное соотношение количества кликов к количеству показов рекламного объявления. Формула CTR выглядит следующим образом:
клики показы
CTR =
? 100%
Например рассчитаем CRT при 20 кликах и 500 показах.
20
? 100% = 4%
500
· Показатель качества - критерий, алгоритм определения которого поисковые системы скрывают, показывающий качество рекламного объявления. Хотя поисковые системы напрямую не рассказывают, как они выявляют этот показатель, многолетние эксперименты и анализы маркетологов говорят, что на него влияют следующие параметры:
o Качество заголовка и описания рекламного объявления - насколько заголовок и описание релевантны и соответствуют поисковому запросу пользователя.
o Релевантность рекламируемого ресурса - насколько сайт, на который ведет реклама, соответствует содержанию рекламного объявления.
· Ставка - цена перехода по рекламному объявлению. Цену перехода по рекламному объявлению каждый рекламодатель выставляет индивидуально, однако она должна превышать или быть равна ставкам других рекламодателей, чтобы конкурировать с ними, иначе поисковая система отдаст приоритет конкурентам.
· Конверсия - процентное соотношение общего числа посетителей ресурса к числу посетителей, совершивших конверсионное действие (покупка, звонок, подписка, регистрация, заполнение контактной формы). Формула расчета конверсии выглядит следующим образом:
конверсионное действие посетители
Конверсия =
? 100%
Например рассчитаем процент конверсии, имея семь заявок и 500 посетителей.
7
? 100% = 1,4%
500
· Ключевые запросы - это поисковый запрос, по которому будет показываться рекламное объявление. В некоторых случаях целесообразно добавить несколько поисковых запросов к рекламному объявлению, например «металлические конструкции» и «металлоконструкции» являются одинаковыми по смыслу запросами, поэтому для них можно сделать одно общее объявление.
· Минус-слова. Особый тип ключевого слова, позволяющий предотвратить показ рекламы по определенным запросам. Объявление не будет появляться при поиске по указанному минус-слову. Например использование минус-слова «бесплатно» на уровне кампании или группы объявлений запрещает поисковой системе показывать объявления по поисковым запросам, которые его содержат. В контекстно-медийной сети снижается вероятность показа рекламы на сайте, содержание которого соответствует минус-словам. Минус-слова - важнейший элемент любой кампании, поскольку они позволяют показывать рекламу лишь тем пользователям, которых интересуют предложения рекламодателя. Это обеспечивает дополнительный уровень контроля и помогает улучшить CTR, уменьшить среднюю цену за клик и повысить рентабельность инвестиций.
· Кросс-минусовка. Если в рекламной кампании встречаются объявления с пересекающимися запросами, например «ремонт квартир» и «ремонт квартир москва», то запросы к таким объявления лучше уточнить, используя кросс-минусовку и вычесть из запроса «ремонт квартир» слово «москва». Таким образом, на момент, когда поисковая система определяет, какое именно рекламное объявление показать, она не выберет его случайно, потому что после кросс-минусовки эти объявления более не конкурируют между собой.
Принцип показа рекламных объявлений
Так как на каждую группу объявлений приходится большое количество рекламодателей, поисковая система самостоятельно отбирает рекламные объявления. Объявления отбираются отдельно для каждого рекламного блока на странице, которую открывает пользователь. Объявления сортируются по комбинации цены клика, коэффициента качества и CTR. В блок попадают объявления с лучшим сочетанием показателей. Списываемая цена определяется по правилам VCG-аукциона. VCG-аукцион по определенному алгоритму рассчитывает списываемую цену за переход по рекламному объявлению.
Если четыре рекламодателя конкурируют за показ в спецразмещении, их ставки по ключевой фразе равны 10, 7, 5 и 2 руб., а коэффициенты качества и CTR объявлений совпадают, то в блок попадут три рекламодателя с наибольшими ставками. Количество кликов по объявлениям и средняя стоимость этих кликов будет зависеть от позиции рекламодателя в блоке:
· Каждый из трех победивших рекламодателей получает 75% (или больше) от максимально возможных кликов по своему объявлению. За этот трафик рекламодателям не нужно конкурировать. Цена этого минимального трафика определяется ставкой четвертого конкурента, который не вошел в блок (2 рубля за клик).
· 10% кликов, которые дает подъем с третьей позиции на вторую, это дополнительный трафик, который гарантированно получат два рекламодателя с наивысшими ставками. Реальную конкуренцию за этот трафик им обеспечивает третий рекламодатель. Ставка третьего рекламодателя (5 рублей) обуславливает цену этих 10% трафика.
· Стоимость 15% трафика, которые дает первая позиция относительно второй, обусловлена конкуренцией рекламодателя на второй позиции со ставкой в 7 рублей.
При взаиморасчетах с рекламодателем клики не делятся на дополнительные и базовые - «Яндекс» рассчитывает среднюю цену клика исходя из того, что основной трафик не должен дорожать при подъеме на более заметные позиции. В расчете списываемой цены «Яндекс» использует коэффициенты кликабельности позиций рекламных блоков. Эти коэффициенты не постоянны и изменяются с течением времени для разных запросов.
Если в рекламном блоке три позиции с коэффициентами кликабельности X1, X2, X3 и за позиции в блоке конкурируют четыре рекламодателя (ставки объявлений Bid1 ... Bid4, кликабельность объявлений -- CTR1 ... CTR4), то списываемая цена кликов будет рассчитываться по следующим формулам:
В расчете списываемой цены учитывается CTR объявлений блока. Если ставки и коэффициенты качества объявлений совпадают, выше будет поставлено объявление с наибольшим CTR.
В рекламном блоке три позиции с коэффициентами кликабельности (X1 = 1, X2 = 0,85, X3 = 0,75). В аукционе участвуют четыре объявления со ставками по ключевой фразе 10, 7, 5 и 2 руб. CTR объявлений составляет CTR1 = CTR3 = CTR4 = 10%, CTR2 = 12%, коэффициенты качества совпадают.
Лидеры рынка контекстной рекламы
На сегодняшний день лидерами рынка контекстной рекламы для русскоязычного сегмента интернета являются:
· Яндекс - система Яндекс.Директ
· Google - система Google Adword
· Rambler - система Begun
Google и «Яндекс» сейчас заметно опережают Begun по причине своей известности и более эффективному алгоритму поисковой выдачи.
Постановка задачи и определение цели работы
Чаще всего люди, желающие создать контекстную рекламу, не обладают достаточными знаниями и опытом ее составления. Для максимальной отдачи от своего рекламного бюджета они обращаются к так называемым директологам - специалистам по созданию и ведению контекстной рекламы. В этом термине за основу было взято название рекламной сети - Яндекс.Директ, так как большинство предпринимателей (рекламодателей) в Рунете запускают свои кампании именно через эту сеть.
Директологам, составляющим контекстную рекламу часто попадаются крупные клиенты, у которых количество ключевых запросов в рекламной кампании может достигать 10 000. При таком большом объеме исходных данных составлять рекламное объявление к каждому поисковому запросу становится проблематично.
В рамках дипломной работы будет проведено исследование составления одного из направлений контекстной рекламы - поисковой контекстной рекламы в системе Яндекс.Директ. Будет проведен опрос директологов, занимающихся составлением поисковой контекстной рекламы, выявлены этапы ее создания и разработано веб-приложение для оптимизации работы с поисковой контекстной рекламой.
Выявление этапов составления контекстной рекламы
Для выявления этапов и проблем, которые возникают при составлении контекстной рекламы, были опрошены несколько директологов, которые ежедневно создают и поддерживают поисковую контекстную рекламу на профессиональном уровне. В результате опроса были выявлены три основные этапа составления поисковой контекстной рекламы:
· Сортировка ключевых запросов
· Составление кросс-минусовки
· Написание заголовков к объявлениям
В среднем у директологов уходит примерно три часа на составление рекламной кампании на 1000 ключевых запросов. Ниже будут подробно описаны каждый из этапов составления поисковой контекстной рекламы, определены проблемные моменты, которые в дальнейшем будут оптимизированы в разрабатываемом сервисе.
Сортировка ключевых запросов
На первом этапе для составления поисковой контекстной рекламы нужно выгрузить все возможные запросы, которые пользователи интернета ищут в поисковой системе по товару или услуге, которую мы собрались рекламировать. Для этого поисковая система предоставляет свой сервис, из которого можно взять эти данные, а также возможность отсортировать их по геопозиции или показать только те запросы, которые вбивались с мобильных телефонов. Например мы хотим рекламировать ремонт квартир, статистика по этому запросу за прошедший месяц будет выглядеть так (рисунок № 5):
Рисунок № 5. Данные по запросу «ремонт квартир».
Из показателей видно, что запросов, связанных с нашей услугой, много, однако не все они нам подходят, например если даем рекламу по запросу «ремонт квартир», то запрос «книга по ремонту квартир» нам не подойдет. На стадии сортировки такие запросы нужно отсечь.
Кросс-минусовка
В момент, когда поисковая система выбирает, какое из объявлений рекламной кампании показать, может возникнуть коллизия, если рекламной кампании встречаются объявления с пересекающимися запросами. Чтобы быть более точным, практически для всех запросов нужно сделать кросс-минусовку. Например у нас имеется два объявления по запросам «ремонт квартир» и «ремонт квартир в москве». Объявление «ремонт квартир» может показываться как по первому, так и по второму запросу, поскольку первый запрос пересекается со вторым. Чтобы избежать этого, к запросу «ремонт квартир» в конец добавляются минус-слова «-!в» и «-москва». Теперь пересечения больше нет - каждое объявление показывается по своему запросу. Предлоги поисковые системы игнорируют, т.е. запросы «ремонт квартир в москве» и «ремонт квартир москва» являются одинаковыми. Если мы явно хотим убрать предлог из запроса, то между ним и знаком минуса нужно поставить восклицательный знак.
Составление заголовков к объявлениям
Самый сложный и долгий этап. На нем для каждого объявления должен составиться заголовок. Заголовок должен составляться качественно и отвечать определенным правилам поисковой системы, поскольку грамотное объявление будет влиять на показатель качества и позволит сэкономить бюджет.
Обзор конкурентов
Перед тем как приступить к реализации проекта, следует проанализировать уже существующие на данный момент сервисы подобного типа. С помощью этого мы можем сделать выводы о том, какие моменты следует учесть при разработке собственного приложения, основываясь на достоинствах и недостатках конкурентов. Директологи, участвующие в опросе, поделились сервисами, которые они используют и которые в какой-то степени автоматизируют их работу.
Сервис Contextgen
У сервиса Contextgen (рисунок № 6) есть весь функционал для автоматизации всех этапов, однако он обладает рядом существенных недостатков:
· Высокая цена. Минимальная цена этого сервиса, которая не включает в себя даже составление заголовков, составляет 1500руб.
· Долгая обработка данных
· Неудобный интерфейс, много всплывающих окон и отвлекающей информации
· Неудобная выгрузка данных
Рисунок № 6. Сервис Contextgen
Сервис Ppc-help
Сервис Ppc-help (рисунок № 7) обладает более удобным интрфейсом, большим количеством разных инструментов и к тому же полностью бесплатный. Однако тоже обладает несколькими недостатками:
· Очень долгая обработка данных
· Неудобная выгрузка данных
Рисунок № 7. Сервис Ppc-help
Выбор технологий
Выбор серверного языка программирования и фреймворка
В качестве серверного языка программирования был выбран язык PHP. PHP - скриптовый язык, в настоящие время широко используемый для создания веб-приложений. PHP на сегодняшний день является лидером на рынке разработки веб-приложений. Около 78% всех сайтов написаны на PHP. Этот язык также поддерживается большинством хостинг-провайдерами. В качестве фреймворка был выбран бесплатный фреймворк Laravel с открытым исходным кодом, написанный на этом языке.
Фреймворк - программная платформа, определяющая структуру, каркас, архитектуру программной системы, также имеющий множество вспомогательных функций. Laravel на данный момент является одним из лучших и обладает множеством функций для ускорения разработки веб- приложений.
Выбор дополнительных вспомогательных библиотек
В качестве дополнительной библиотеки для анализа поисковых запросов была выбрана библиотека PHPMorphy, которая использует бинарные словари, содержащие основы слов, правила изменения и грамматическую информацию русских и английских слов. Библиотека обладает большим функционалом и позволяет выполнять следующие действия со словами:
· Поиск леммы (базового значения слова)
· Поиск всех словоформ
· Выявление части речи
· Выявление грамматической основы слова
· Преобразование слова в заданную форму
Также в библиотеке реализована функция предсказания слов по суффиксам и окончаниям, если этого слова не оказалось в словаре.
Выбор базы данных
В качестве базы данных веб-приложения была выбрана свободная база данных MySQL. MySQL по умолчанию используется фреймворком Laravel и на данный момент является одной из самых популярных.
Выбор клиентского фреймворка
В качестве фреймворка на клиентской стороне был выбран AngularJS - фреймворк с открытым исходным кодом, предназначенный для разработки одностраничных веб-приложений. Angular обладает большим функционалом и позволяет ускорить процесс отладки, тестирования и разработки веб- приложения.
Глава 2. Разработка приложения Разработка интерфейсов
Разработка интефейса сортировки ключевых фраз
Для сортировки ключевых запросов был разработан интерфейс, состоящий из двух страничек (рисунок № 8) - загрузка и настройка изначального списка и сама сортировка. Страница загрузки состоит из следующих элементов:
· Поля для загрузки изначального списка ключевых запросов и минус-слов
· Флаг «Отфильтровать по словоформам», который позволяет объединить слова с одинаковой исходной формой в группы, что позволит ускорить процесс сортировки
· Кнопка «загрузить фразы», которая посылает на сервер данные для обработки, после чего перебрасывает на страницу с сортировкой.
Рисунок № 8. Интерфейс грузки ключевых запросов и минус-слов
Страница сортировки состоит из трех столбцов (рисунок № 9):
· Первый столбец - список каждого слова по отдельности с отображением частотности этого слова, т.е. сколько раз оно встречается во всех запросах. Для удобства навигации список можно пролистывать как колесом мыши, так и стрелками клавиатуры. При нажатии на клавишу Enter, слово минусуется и попадает в список минус-слов. Из изначального списка ключевых запросов убираются те запросы, в которых это слово встречалось.
· Второй столбец - список запросов, в которых встречается активное слово из первой колонки. Желтым цветом в запросе подсвечено активное слово, серым - слова, которые уже занесены в список минус-слов. Бывают тематики, где человек не знает, что значит конкретный запрос, для этого добавлена возможность быстро открыть этот запрос в «Яндексе», нажав на значок лупы.
· Третий столбец - список минус-слов, которые были добавлены в процессе сортировки. Минус слово можно убрать убрать из списка нажатием мыши на него.
Рисунок № 9. Интерфейс сортировки ключевых запросов.
Также для удобства создан фильтр слов по алфавиту и по частотности.
После сортировки результаты доступны во вкладке «Результаты».
Рисунок № 10. Интерфейс кросс-минусовки.
Разработка интерфейса кросс-минусовки
Для кросс-минусовки была разработана простая страничка (рисунок № 10) с полем для вставки ключевых запросов и кнопкой «Кросс- минусовать». Результаты кросс-минусовки также доступны во вкладке «Результаты».
Разработка интерфейса составления заголовков
Для странички составления заголовков был разработан интерфейс (рисунок № 11), состоящий из следующих элементов:
· Поле для вставки отсортированных ключевых запросов
· Поле для ввода ограничения длины заголовка
· Кнопка «Формировать заголовки», которая запускает процесс, результаты которого позже будут доступны во вкладке «Результаты»
Рисунок № 11. Интерфейс составления заголовков.
Проектирование базы данных
В базе данных были созданы следующие таблицы (рисунок № 12):
· Таблица пользователей (users) со значениями:
o id - уникальный идентификатор пользователя
o name - имя пользователя
o email - электронная почта пользователя
o password - пароль пользователя
· Таблица стоп-слов (stop_words) со словами, которые нужно удалить при фильтрации исходного списка запросов, состоящия из следующих значений:
o stop_word - стоп слово
· Таблица слов-действий (actions). В этой содержится информация о словах-действиях, а также в какую форму их нужно переделать при построении заголовка. Таблица содержит следующие значения:
o action - слово-действие
o gram - в какую грамматическую форму нужно поставить слово
Рисунок № 12. База данных.
· Таблица кампаний (companies). Таблица, содержащая информацию о кампаниях, созданных пользователями. Таблица содержит следующие значения:
o id - уникальный идентификатор кампании
o user_id - принадлежность кампании к пользователю
o name - имя кампании
o searchers - ключевые запросы кампании
o minus_words - минус-слова кампании
Разработка механизма авторизации и выбора кампании
Для начала, чтобы пользователь мог начать пользоваться сервисом, ему необходимо авторизоваться или создать аккаунт, если он еще не зарегистрирован (рисунок № 13). После успешной авторизации пользователь может выбрать одну из созданных им рекламных кампаний или сделать новую, чтобы активировать ее и начать работу (рисунок №14). При выборе кампании браузер запоминает ее id и в следующий раз, когда пользователь зайдет через какое-то время, его последняя выбранная кампания будет уже активна, а данные сохранены.
Рисунок № 13. Форма авторизации.
Рисунок № 14. Таблица выбора кампании.
Разработка приложения
Разработка алгоритма сортировки ключевых запросов
Шаг 1. Подготовка и обработка данных. На первом этапе нужно принять данные, которые пользователь ввел в форме загрузки фраз и минус-слов, привести все к нижнему регистру и удалить пробелы по краям. Далее создается переменная, в которую записываются все необходимые данные для дальнейшей работы. После обработки всех данных программа возвращает обратно в браузер всю информацию о фразах и каждого слова по отдельности.
Шаг 2. Разработка алгоритма сортировки. При клике мышкой на слово или группу слов в первом столбце программа проходит циклом по всем запросам и ищет все запросы, в которых встречаются выбранные пользователем слово или группа слов. При успешном нахождении запрос разбивается на отдельные слова и каждое из них помечается определенным статусом: желтым - активное слово, серым - минус-слова. Результат поиска отображается во второй колонке, чтобы пользователь смог просмотреть всю информацию по выбранному запросу. При нажатии на клавишу Enter слово становится минус- словом и перемещается из первого столбца в третий. При клике мышкой по слову в третьем столбце на минус-слово оно возвращается обратно в первый столбец.
Шаг 3. Реализация дополнительных возможностей.
· Сортировка слов по алфавиту.
· Сортировка слов по частотности.
· Кнопка поиска запроса. Если смысл запроса вызывает сомнения, его можно открыть в новой вкладке в поисковой системе «Яндекс».
Разработка алгоритма составления кросс-минусовки
При составлении кросс-минусовки были учтены особенности поисковых систем в распознании предлогов и союзов. Дело в том, что предлоги и союзы поисковые системы не распознают, т.е. запросы «ремонт квартир москва» и «ремонт квартир в москве» будут одинаковыми. Чтобы справиться с этой проблемой, была собрана уникальная база данных предлогов и союзов, которые поисковые системы игнорируют.
При загрузке пользователем ключевых запросов они все форматируются, как в случае с сортировкой, затем программа перебирает каждый запрос и сравнивает его с остальными, если встречается запрос, в котором есть точно такой же набор слов, то к этому запросу в минус-слова добавляются слова, которые отсутствуют в нем. В случае с предлогами перед предлогом ставится восклицательный знак. На выходе получается список ключевых запросов с проставленной кросс-минусовкой.
Разработка алгоритма составления заголовков
На этом этапе программа должна сформировать заголовок к рекламному объявлению. Для достижения этой цели был разработан синтаксический анализатор поисковых запросов.
Задачей синтаксического анализатора будет распознать структуру предложения, а именно синтаксические зависимости слов. В результате парсинга будет построено синтаксическое дерево и выявлены его составляющие. Для реализации синтаксического анализатора воспользуемся алгоритмом восходящего синтаксического анализатора.
Восходящий синтаксический анализатор начинает разбор с конкретных слов, связывая сначала пары слов, затем подсоединяет к этим парам новые слова или другие связанные пары. Постепенно процесс связывания доходит до начального нетерминала S - то есть все слова в предложении оказываются связаны в единую структуру. На рисунке № 15 продемонстрирован принцип работы восходящего синтаксического анализатора.
Рисунок №15. Восходящий синтаксический анализ
Первым делом нужно определить часть речи каждого слова по отдельности, используя библиотеку PHPMorphy.
Встречались случаи, когда одно слово могло относиться к нескольким частям речи одновременно, например слово «машина» может являться одновременно и существительным и притяжательным прилагательным в зависимости от его места расположения. Во избежание ошибок был проведен анализ всех таких возможных ситуаций и написаны условия для каждой части речи в зависимости от ее места положения в запросе и соседних слов.
После выявления частей речи слов, нужно было объединить их в группы, следуя правилам восходящего синтаксического анализа. Части речи в поисковых запросах были разделены на следующие группы:
· Слова-действия: слова, которые обозначают действие в поисковых запросах. К словам-действиям могут относиться не только глаголы, но и другие части речи, такие, например, как существительное «аренда», образованное от глагола «арендовать»
· Группа слов-дополнений: к этой группе относятся числа, слова, не найденные в словаре и не предугаданные анализатором, города, а также комбинации частей речи в формате «предлог-прилагательное(ые)- существительное или город»
· Группа основных слов - группа существительных, которые обычно являются товаром или услугой
· Группа слов-определений: в группу слов-определений входят прилагательные, причастия и деепричастия
· Группа предлогов: в группу предлогов входят союзы и предлоги
Также была создана база данных слов, которые автоматически должны относиться к определенной группе. При встрече таких слов парсером они сразу же заносились в соответствующую группу. Например существительное «аренда» обозначает действие и относится к группе слов-действий.
На этом этапе слова поискового запроса были сортированы по смысловым группам. На следующем этапе нужно составить заголовок к рекламным объявлениям, основываясь на этих смысловых группах. Для составления заголовка к рекламному объявлению нужно составить предложение из слов заголовка так, чтобы оно умещалось в лимит 33 символа (ограничение по символам поисковой системой Яндекс) и было грамматически правильным. Программа составляет различные комбинации заголовков из слов запроса по следующему алгоритму. Сначала массив основных слов сортируется по частотности, т.е. слово, которое встречается больше раз в исходном массиве запросов, встает на первое место и т.д. Затем каждое слово добавляется в массив, из которого в дальнейшем будет построен заголовок до тех пор, пока слова не закончатся либо пока сумма символов всех слов, учитывая пробелы, не превысит 33 символа. На следующем шаге к массиву заголовка присоединяются слова-определения точно по такому же принципу, как и основные слова. Когда основные слова и слова-определения соединены вместе, программа выбирает самую релевантную комбинацию, отдавая приоритет комбинациям по следующим критериям:
· Частотность. Заголовок, который чаще встречается в изначальном списке поисковых запросов, идет выше по приоритету.
· Категория слов. Заголовки, в которых основных слов больше, становятся выше по приоритету.
· Длина заголовка. Заголовки, у которых длина символов больше, идут выше по приоритету.
После построения основной части заголовка к нему начинают присоединяться группы отсортированных по частотности дополнений, опять же, если длина заголовка не превышает 33 символа.
После присоединения группы дополнений в начало запроса присоединяется слово-действие. Если в запросе было несколько слов-действий, то выбирается самое частотное. Затем слова в основной части заголовка встают в правильную грамматическую форму в зависимости от слова-действия, например заголовок «аренда квартиры москва» превращается в «аренда квартир в москве».
На последнем шаге первая буква заголовка становится заглавной и в конце заголовка становится точка, если для нее хватает места.
В результате работы синтаксического анализатора получается заголовок, который был сделан, основываясь на запросе и его частотности.
Альфа-тестирование приложения
После завершения разработки пробной версии приложения оно было дано на альфа-тестирование директологам, участвовавшим в опросе в начале. В среднем директолог тратит примерно три часа на 1000 ключевых запросов.
Пользуясь нашим приложением, им удалось сократить время, затрачиваемое на каждом этапе составления контекстной рекламы, перестать уделять внимание процессам, которые можно автоматизировать, и стать более продуктивными более чем в два раза. По подсчетам, удалось ускорить время на создание рекламной кампании от 50% до 63%. Также во время разработки приложения директологи пользовались другими сервисами-конкурентами и рассказали, на сколько они оптимизируют их работу по сравнению с нашим сервисом.
Итоговые результаты тестирования нашего сервиса и сервисов- конкурентов продемонстрированы на рисунке № 16:
Рисунок № 16. Итоговые результаты тестирования.
Заключение
В ходе выполнения дипломной работы было обследовано одно из направлений рекламы в интернете - поисковой контекстной рекламы, выявлены этапы ее создания и разработано веб-приложение, оптимизирующее работу с каждым из этих этапов по отдельности.
При разработке веб-приложения был создан синтаксический анализатор поисковых запросов, способный распознавать структуру запроса и составлять на ее основе заголовок к рекламному объявлению.
Разработанный сервис удовлетворяет всем требованиям, поставленным на этапе постановки задачи. С помощью сервиса удалось ускорить работу директологов более чем на 50%.
В качестве дальнейшего совершенствования веб-сервиса представляется возможным улучшение алгоритма синтаксического анализатора и доработка интерфейса с целью дальнейшего повышения его информативности, привлекательности и удобства.
Список используемой литературы
1. Официальная документация Яндекс.Директ [Электронный ресурс] -Режим доступа: [https://yandex.ru/support/direct/].
2. Как работает аукцион в Директе [Электронный ресурс] - Режим доступа: [https://yandex.ru/support/direct/impressions/vcg_auction.xml#calc- vcg?lang=ru].
3. Синтаксический анализатор грамматического словаря [Электронный ресурс] - Режим доступа: [http://www.solarix.ru/for_developers/docs/rules.shtml].
4. Общие принципы организации синтаксического разбора [Электронный ресурс] - Режим доступа: [http://www.softcraft.ru/translat/lect/t06-02.shtml].
5. Синтаксический анализ [Электронный ресурс] - Режим доступа: [https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D1%82% D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0
%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D 0%B8%D0%B7].
6. Официальный сайт Yandex Direct [Электронный ресурс] - Режим доступа: [ https://direct.yandex.ru/registered/main.pl?cmd=showCamps].
7. Контекстная реклама. Основы. [Электронный ресурс] - Режим доступа: [http://elama.ru/faq/new_part_1.php]
Размещено на Allbest.ru
Подобные документы
Обзор технологической платформы для разработки клиентского веб-интерфейса. Выбор платформы базы данных, языка разработки, фреймворка на стороне сервера и клиента. Создание схемы данных MySQL. Работа пользователя и оператора с программным продуктом.
курсовая работа [4,1 M], добавлен 17.07.2012Общее определение JavaScript-библиотеки, виды библиотек. Создание клиентского приложения с использованием одного из существующий JS-фреймворков. Значение, виды и выбор фреймворка. Выбор приложения и его тематики. Написание программного кода, итоги работы.
курсовая работа [545,8 K], добавлен 21.12.2013Случаи использования PHP фреймворка. Обзор современных фреймворков. Выбор фреймворка для разработки сайта. Поддержка баз данных и сообщества. Model View Controller архитектура. Скорость развития фреймворка. Наличие встроенных javascript-библиотек.
курсовая работа [1,8 M], добавлен 31.05.2012Разработка информационной системы, автоматизирующей основные процессы работы магазина спортивных товаров. Декомпозиция контекстной диаграммы. Определение основных требований к системе, ключевых абстракций и механизмов. Организация локальной сети.
курсовая работа [3,3 M], добавлен 04.01.2015Автоматизация процесса создания рекламных объявлений и билбордов. Шаблон визитной карточки. Требования к аппаратным и операционным ресурсам компьютера, на котором будет разрабатываться программное приложение. Инструменты разработки. Интерфейс программы.
курсовая работа [734,1 K], добавлен 15.06.2013Особенности процессов обслуживания заказчиков, исследования рынка недвижимости, формирования информации о финансовых манипуляциях. Описание модели агентства; последовательность создания контекстной диаграммы. Оптимизация разработанной модели "to be".
курсовая работа [1,7 M], добавлен 28.08.2012Автоматизация и визуализация рабочего места методиста факультета, работающего с личными делами студентов. Создание базы данных и ограничений. Интерфейс пользователя и порядок работы с программным обеспечением. Разработка справки и контекстной помощи.
курсовая работа [867,3 K], добавлен 22.02.2016Анализ возможностей платформы. Классификация грамматик по Хомскому. Способы задания языков. Разработка алгоритмов выполнения файловых операций на основе спроектированных интерфейсов. Криптосистема с открытым ключом. Свойства электронной цифровой подписи.
дипломная работа [3,6 M], добавлен 24.07.2014Классификация методов оптимизации. Обзор и выбор языка C#. Алгоритмический анализ задачи, описание алгоритма решения. Графические схемы разработанных алгоритмов. Разработка приложения и результаты тестовых испытаний. Интерфейс пользователя, тестирование.
курсовая работа [1,6 M], добавлен 08.03.2016Преимущества операционной системы Android. Проектирование интерфейса приложений. Визуальные редакторы и средства кроссплатформенной разработки. Оптимизация игрового процесса, выбор фреймворка и библиотек. Классификация и характеристика игр по жанрам.
дипломная работа [2,6 M], добавлен 10.07.2017