Архив за 25 сентября 2013 - 6

Оценка контента одна из главных составляющих формулы релевантности. Знание текстовых признаков и вклад каждого из них в оценку сайта позволит приблизиться к более профессиональной работе с ресурсом. В данной статье будет рассмотрена модель, позволяющая восстановить формулу ранжирования по каждому конкретному запросу, указана значимость определение тематики сайта при продвижении по определенному запросу, а также проработан вопрос, связанного с определением неестественного текста.

Восстановление формулы ранжирования

Если переводить данную задачу в область математики, то входные данные можно представить набором векторов, где каждый вектор – множество характеристик каждого сайта, а координаты в векторе – параметр, по которым оценивается сайт. В описанном векторном пространстве обязательно должна быть задана функция, определяющая отношение порядка двух объектов между собой. Эта функция позволяет ранжировать объекты между собой по принципу «больше — меньше», однако при этом сказать, насколько именно одно больше или меньше другого – нельзя. Такого вида задачи относятся к задачам оценки порядковой регрессии.
Наши сотрудники разработали алгоритм на основе модели линейной регрессии с регулируемой селективностью, который позволил с определенной долей погрешности восстановить ранги сайтов и спрогнозировать изменение выдачи при соответствующих корректировках параметров сайта. Первым шагом алгоритма является обучение модели. В данном случае обучающая выборка представляет собой результаты ранжирования сайтов в рамках одного поискового запроса. Упорядоченность сайтов в рамках поискового запроса фактически означает, что в признаковом пространстве существует некоторое направление, на которое объекты обучающей выборки должны проектироваться в нужном порядке. Это направление и является искомым в задаче восстановления формулы ранжирования. Однако судя по рис.1, таких направлений может быть много.
image
Рис. 1. Выбор направляющего вектора

Для решения данного вопроса был рассмотрен подход, лежащий в основе метода опорных точек, а именно – выбор такого направления, которое будет обеспечивать максимальное удаление объектов друг от друга.
Следующая задача, которая была решена — выбор стратегии обучения. Рассматривалось два варианта – сокращенная стратегия обучения, при которой учитывается порядок двух соответствующих элементов, и полная стратегия, которая учитывает весь порядок объектов. В результате экспериментов была выбрана сокращенная стратегия, которая заключается в решении следующего уравнения:(1)
image, где image — решение стандартной задачи квадратичного программирования при линейных ограничениях: image, где
image — симметричная матрица
image — вектор коэффициента
image — разница векторов характеристик

Данный подход на различных выборках (100 признаков и 500 признаков на 20 различных множествах поисковых запросов) показал хорошие результаты (см. табл. 1).

Таблица 1. Результаты сокращенной модели

image
image
Рис. 2. Восстановленные коэффициенты регрессии при n=100
image
Рис. 3. Восстановленные коэффициенты регрессии при n=500
Если говорить о результатах на конкретных запросах, то проведенные эксперименты дают следующий показатель ошибка

Таблица 2. Ошибки вычислений

image

При работе над проектом данный подход использовался для прогнозирования позиций при конкретном изменении на сайте. Подобные эксперименты проводились на базе текстовых признаков. Первоначально были собраны данные по сайтам из ТОП20 по рассматриваемому запросу, затем данные подвергались стандартизации с помощью соответствующего алгоритма. После чего выполнялся алгоритм непосредственно по вычислению «релевантности» с помощью метода квадратичного программирования.
Полученные значения релевантности сайта сортируются и делается вывод о восстановленных позициях.

Таблица 3. Восстановление позиций

image
Читать полностью »

Азиатская международная выставка PT/Expo Comm China 2013, которая проходит с 24 по 28 сентября в Китае, является одним из крупнейших событий в области информационно-коммуникационных технологий и телекоммуникационного оборудования. В первый же день на выставке были замечены уже известный смартфон ZTE Geek (модификация с 2 ГБ оперативной памяти) и его улучшенная версия ZTE Grand Geek.

Новый рекорд КПД фотоэлемента: 44,7%

Группа специалистов из Института систем солнечной энергии общества Фраунгофера, компаний Soltec, CEA-Leti и Центра имени Гельмгольца (Берлин) создали фотоэлемент с рекордным коэффициентом полезного действия 44,7% (пресс-релиз). Таким образом, они побили июньский рекорд Sharp 44,4% и собственное майское достижение 43,6%.

Как и некоторые другие многослойные фотоэлементы, эта микросхема предназначена для работы с концентратором, который концентрирует поток солнечных лучей в 297,3 раза, то есть площадь линз концентратора примерно в 300 раз больше площади фотоэлемента. КПД 44,7% относится к широкому спектру солнечного излучения: от ультрафиолета до инфракрасного. Энергия волн длиной 200-1800 нм забирается четырьмя слоями ячейки.
Читать полностью »

В этой статье мы дадим рекомендации как за короткий срок освоить cms и написать для неё расширение, модуль или плагин, а также расскажем о результатах и нашем опыте интеграции сервиса Cackle в эти системы. Cтатья может стать руководством для тех, кто собирается делать интеграции сервисов с cms системами или просто создать модуль.

Перед тем как решить с какой cms делать интеграцию стоит собрать статистику по запросам на интеграцию своих пользователей, а также посмотреть на общую статистику по cms на сайтах зоны .RU (http://statonline.ru/metrics/webapp_cms?tld=ru) из которой видно, какие cms имеют самую большую популярность.
image

Исходя из этой статистики можно полагать, что эффект от встраивания своего модуля в эти cms статистически будет пропорционален их популярности. Так ли это для каждой cms мы узнаем дальше.

Интеграция позволяет удобным образом встраивать сервисы в cms и максимизировать выгоду от его использования. Идеальным решением является установка плагина в несколько кликов. Приемлемым решением может быть мод — инструкция по допиливанию cms, при котором изменяются скрипты cms. Для нашего проекта любая интеграция комментариев Cackle для cms обычно включает следующие пункты:

— Cинхронизация комментариев с сервиса Cackle в локальную БД каждые 5 минут
— Отображение html для SEO
— Экспорт существующих на сайте комментариев в Cackle
— Возможность ресинхронизации(повторное копирование комментариев в локальную БД)
— SSO (авторизация своих пользователей)
— Счётчик комментариев на главной странице
— Виджет последних комментариев

Все эти требования к модулю включают реализацию таймера, получение комментариев запросом через API, сохранение в БД, отображение js виджета в шаблонах cms на определенных страницах и админку для ввода ключей API, и других настроек.

Мы сделали интеграции нашего сервиса комментариев Cackle в следующие cms системы:
Wordpress, Drupal, DLE, InstantCms, Joomla, Bitrix.

Теперь хронологическом порядке опишем наш опыт по интеграции для каждой cms.
Читать полностью »

Russian Code Cup 2013: разбираем задачи финала

23 сентября 2012 года состоялся финал чемпионата по программированию Russian Code Cup 2013.

Первое место занял Петр Митричев (кстати, чемпион RCC 2011). Второй приз взял Геннадий Короткевич, третье — Дмитрий Джулгаков.

Сегодня мы публикуем подробный разбор шести задач, которые были предложены финалистам RCC (спойлер: одна из них так и осталась нерешенной). В программе — сортировка невиданной быстроты, борьба с капибарным гриппом, путешествия роботов и многое другое.

Читать полностью »

Одногруппник прислал C++-код с какой-то ошибкой и вывод компилятора по этому поводу. Но более всего меня удивила не его проблема, а то, что в коде создавался на стеке массив с неизвестной на этапе компиляции длиной. Помнится, в начале изучения языка столкнулся с этим и уяснил, что так делать нельзя. Странно, но других ошибок компилятор одногруппника не выдал…

Где-то читал, что следующий Стандарт C++14, возможно, позволит выполнять такой трюк. Но настоящий говорит, что размер массива должен быть constant expression. Это еще раз уменьшает совместимость с C99, где VLAs давно доступны.
Читать полностью »

Именно так заявил технический директор IBM Джон Дуимович (John Duimovich) в своем выступлении на конференции JavaOne 2013. Он отметил, что ускорители GPU обладают невероятной вычислительной мощью и их применение для вычислений в Java позволит ускорить сложные вычисления и обработку больших массивов данных. Использование GPU для вычислений в Java открывает множество новых перспектив как для Java-разработчиков, так и для производителей GPU.
Читать полностью »

Только что прочитал про биллинги в больших проектах и хочу поделиться опытом биллинга для крохотных проектов.

Основа — PayPal. Он довольно широко распространён + если нет у клиента учетной записи в PayPal, то можно обычной кредиткой оплатить. Поиск по хабру выявил уже один мануал, но он реально страшен. Мы пойдем простым путем!Читать полностью »

Возникла необходимость быстро и качественно настроить доступ из домашней обстановки в трудовую среду рабочего помещения. Поскольку дома компьютер находится за линией фронта натизации от провайдера, да и на работе локальная подсеть спрятана за забор NAT, то в качестве решения для организации безопасного доступа для вечернего досуга на работе был выбран замечательный продукт OpenVPN, который хорошо справляется с такими препонами. Помимо этого довольно прост (относительно) в настройках и имеет клиентские решения под известные операционные системы и популярные мобильные платформы (отговорка что ты не за компом может быть не актуальной).
Читать полностью »

Введение

Сегодня уже все, кто хоть немного интересуется дата майнингом, наверняка слышали про простую линейную регрессию. Про нее уже писали на хабре, а также подробно рассказывал Эндрю Нг в своем известном курсе машинного обучения. Линейная регрессия является одним из базовых и самых простых методов машинного обучения, однако очень редко упоминаются методы оценки качества построенной модели. В этой статье я постараюсь немного исправить это досадное упущение на примере разбора результатов функции summary.lm() в языке R. При этом я постараюсь предоставить необходимые формулы, таким образом все вычисления можно легко запрограммировать на любом другом языке. Эта статья предназначена для тех, кто слышал о том, что можно строить линейную регрессию, но не сталкивался со статистическими процедурами для оценки ее качества.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js