Примечание: эта информация устарела. Большая часть системы была переработана и улучшена.

Время идет вперед, как и прогресс в компонентах Lunyr. Сегодня мы подробнее рассмотрим рекламную систему Луныр.

В рекламной системе Lunyr используются такие мощные технологии, как IPFS и Deep Learning. Как и BitTorrent, IPFS использует Распределенную хеш-таблицу в качестве базовой технологии для децентрализованного хранения данных. Глубокое обучение - это ветвь машинного обучения, которая использует нейронные сети с несколькими слоями (например, ваш неокортекс) для изучения иерархических представлений данных. Вы можете делать много интересных вещей с помощью глубокого обучения, от распознавания изображений до имитации галлюцинаций и волшебного применения художественного стиля из картины на ваших фотографиях. См. Это видео для презентации некоторых наиболее философских аспектов нейронных сетей.

Итак, приступим к дизайну

Как выглядит участие рекламодателей за кадром?

Рекламодатели тратят LUN на покупку показов на страницах, релевантных релевантным объявлениям. Они представляют четверку (A, K, B, G), где

  • A - текстовое объявление
  • K - это список ключевых слов, с которыми они хотели бы быть связаны, но не отображаются в A.
  • B - максимальная ставка, которую они предлагают, в LUN за 1000 показов.
  • G - общий бюджет для рекламы в LUN.

Имейте в виду, что LUN делятся до 18 знаков после запятой, поэтому вы можете отправить 0,123456789123456789 LUN, если хотите. Рекламодатели вызывают контракт пула LUN в блокчейне, сообщая хэш объявления + ключевые слова, а также свою ставку, и переносят свой бюджет G LUN в пул LUN. (Рекламодатели должны приобрести LUN для размещения рекламы на платформе Lunyr). Рекламодатели также отправляют (A, K, B, G) в модуль аукциона рекламы, который перекрестно ссылается на блокчейн, а затем вычисляет рейтинг объявления.

Используя нашу модель встраивания слов, мы можем связать каждый документ (набор слов) с вектором, расстояние которого от других векторов документов представляет его семантическое сходство с этими документами, поэтому мы можем определить релевантность функции (doc1, doc2), которая возвращает число с указанием актуальности. Мы можем использовать эту функцию для A в сочетании с K (A | K) и каждой веб-страницей, чтобы получить оценку релевантности. Затем мы объединяем эту оценку релевантности с B, чтобы определить рейтинг объявления.

Цена за показ = сумма, которую платит ближайший к вам более низкий конкурент / ваш показатель качества) + небольшое число.

На содержательных страницах будет JavaScript, который извлекает самую свежую рекламу при каждом показе. JavaScript также обращается к рекламному слою, чтобы сообщить о кликах по объявлениям. На рекламном уровне будет выполняться аналитика, которую рекламодатели могут просматривать, чтобы понять эффективность своей рекламы. Когда бюджет рекламодателя на показы исчерпан, объявление больше не отображается. Рекламные рейтинги регулярно пересматриваются.

Как мы обновляем контент?

IPFS имеет службу имен IPNS, аналогичную DNS. По сути, он вставляет уровень косвенного обращения между DNS и IPFS, позволяя нам делать постоянную запись DNS, указывающую на идентификатор нашего узла IPFS,

app.lunyr.com - ›ipfs.lunyr.com/ipfs/QmdhR251bTBD6d9jNjneBtnVbd4aqbSStKsS336mbh9LMu

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

ipfs name publish ‹хэш нового контента›

Когда кто-либо запрашивает идентификатор нашего узла, IPFS автоматически выполняет поиск хэша содержимого, связанного с этим именем, которое имеет наибольший порядковый номер (т. Е. Последний).

Что такое встраивание слов и почему мы хотим его использовать?

Идея встраивания слов заключается в том, что слова, которые используются в схожих контекстах, вероятно, имеют схожее значение, поэтому, если мы обучим нейронную сеть распознавать, когда слова находятся в контексте и вне контекста, тогда эта сеть будет кодировать много семантической информации. . Причина, по которой это работает, заключается в том, что понятие контекста действительно гибкое и просто представляет, как геометрия медиа-векторного пространства * должна * выглядеть локально. Итак, если нам известны совпадения контекста (через экспертную оценку), и он включает изображения, относящиеся к тексту, то мы могли бы обучить другую нейронную сеть связывать векторы с изображениями, которые близки к векторам слов для слов, которые находятся в контексте и далеки от векторы слов, которые находятся вне контекста. Мы можем сделать это с любыми медиа. Мы можем сделать это даже с другими языками, взяв известные пары синонимических слов и рассматривая это как понятие контекстного.

Вкратце, эта техника современна и очень гибка. Он был разработан в Google как союз старых идей обработки естественного языка (NLP) с новыми идеями нейронных сетей. Было продемонстрировано, что метод встраивания слов doc2vec очень хорошо помогает выявлять повторяющиеся вопросы на форумах вопросов и ответов. По сути, это то, что мы хотим сделать: определить сходство между телами текста.

Как мы используем вложения слов?

У нас есть база данных каждого документа, его хэш IPFS, его последний хэш (документы редактируются), его последний вектор и версия модели, которая произвела вектор (модель может быть переобучена). Кроме того, у нас есть R-дерево (или что-то в этом роде), которое представляет собой способ хранения большого количества векторов в иерархии прямоугольников таким образом, чтобы быстро находить ближайших соседей к данный вектор. Мы вычисляем вектор, соответствующий текстовому объявлению, а затем используем R-дерево для поиска ближайших N соседей к этому вектору. Затем мы ищем хэши документов, соответствующие этим векторам в базе данных. Это дает нам список из N наиболее релевантных страниц для этого объявления, которые мы можем отсортировать по расстоянию от вектора объявления. Качество пары (объявление, документ), по сути, зависит от того, насколько близко друг к другу находятся их векторы в этом векторном пространстве. Затем это объединяется с суммой ставки для этого объявления и ставками для других ближайших объявлений, чтобы определить рейтинг объявления. Мы храним модель встраивания слов в IPFS, поэтому любой, кто хочет провести аудит процесса, может это сделать. Мы периодически пересчитываем векторы для документов, чтобы учесть изменение содержания.

Как показываются объявления?

На каждой контентной странице есть код JavaScript, который обращается к рекламному слою и сообщает ему, какие объявления показывать. JavaScript отправляет рекламному слою хэш IPFS обслуживаемого контента, и рекламный слой сопоставляет его с последними результатами из репозитория объявлений. Если на объявление нажимают, JavaScript сообщает об этом модулю эффективности рекламы. Он также сообщает, что страница была обслужена, поэтому модуль "Эффективность рекламы" может отслеживать количество кликов = клики / показы и представлять это рекламодателям.

Что такое рекламный репозиторий?

Когда определяется рейтинг объявления, создается несколько четверок (текст объявления, хэш документа, рейтинг объявления, временная метка). Они хранятся в базе данных, и когда документ обслуживается, его JavaScript извлекает последние N рекламных объявлений для этого документа и отображает их.

Что такое модуль "Эффективность рекламы"?

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

Что такое рекламный аукцион?

Это механизм, который определяет рейтинг объявления, поэтому он взаимодействует с IPFS и может просматривать объявления и ставки, которые отправляют рекламодатели.

Что такое пул LUN?

В пуле LUN ​​хранятся все LUN, которые платят рекламодатели, а также вновь созданные LUN. Эти токены распределяются в конце каждого платежного периода Lunyr и вкладчикам пропорционально заработанному CBN.

Общий дизайн системы будет раскрыт в ближайшее время. Следите за новостями, чтобы узнать подробности.

Смотрите также: