Код документа: RU2589320C2
Область техники, к которой относится изобретение
Настоящее изобретение относится к способу работы персональной рекомендательной системы, выполненной с возможностью связи с реализованной на компьютерах социальной сетью. Настоящее изобретение дополнительно относится к соответствующей компьютерной программе и к устройству фильтра для фильтрации рекомендаций. В частности, настоящее изобретение относится к рекомендательной системе, выполненной с возможностью представления отфильтрованных рекомендаций пользователю, которые были отфильтрованы на основе их соответствующей релевантности.
Уровень техники
Рекомендательные системы используются для автоматического представления пользователю рекомендации, относящейся к элементу контента, такому как изделие, видео, журнал, телевизионная программа (ТВ-программа), песня и т.д., доступные в режиме онлайн. Так как пользователь сталкивается с большим количеством элементов контента, которые предлагаются в различных базах данных, он/она может иметь серьезные трудности при нахождении элементов контента, представляющих интерес. Рекомендательная система будет способствовать извлечению элементов контента, которые представляют интерес для пользователя, и исключать необходимость выполнения сложных поисков. Например, публикация международной заявки на патент WO 2010/122448 A1 описывает такую рекомендательную систему.
Существуют разные подходы к разработке рекомендательной системы. Один подход приводит к рекомендательной системе на основе контента, и другой подход - к рекомендательной системе на основе совместной фильтрации.
Рекомендательная система на основе контента рекомендует элемент контента, представляемый пользователю в виде многочисленных признаков, если это представление признаков соответствует предпочтениям пользователя, которые также выражаются в виде этих признаков.
Рекомендательная система на основе совместной фильтрации анализирует предысторию покупок/просмотров/прослушиваний сравнительно большого множества пользователей, чтобы идентифицировать сходство между элементами контента и сходство между пользователями. Например, новые элементы контента, предлагаемые в базе данных элементов контента, которые сходны элементам, которые нравятся пользователю, рекомендуются пользователю. Или новые элементы, которые нравятся некоторым пользователям, которые являются сходными некоторому пользователю, рекомендуются некоторому пользователю. Обычно, рекомендательной системе на основе совместной фильтрации не требуется конкретная информация о самих элементах контента, за исключением информации о покупках/просмотрах/прослушиваниях от пользователей.
Кроме рекомендаций, которые исключительно и автоматически генерируются рекомендательными системами, пользователь может представить персональную рекомендацию одному из его контактов. Например, представление элемента контента в интернете часто сопровождается так называемой кнопкой «расскажи другу», на которую пользователь может щелкнуть и, таким образом, представить ссылку, т.е. веб-адрес, для представления элемента контента и, в конечном счете, персональной записки одному или нескольким из его контактов.
Известны рекомендательные системы, которые выполнены с возможностью содействия таким персональным рекомендациям или полуперсональным рекомендациям. Например, известна рекомендательная система, которая рекомендует элемент пользователю, если один из контактов пользователя положительно оценил элемент. Также может генерироваться такая полуперсональная рекомендация, если контакт пользователя только неявно выразил, что ему/ей нравится элемент контента. Например, рекомендательная система пользователя опознает, что пользователю нравится или не нравится некоторый элемент контента и направляет это опознавание в виде рекомендации всем контактам пользователя, таким образом информируя все контакты пользователя, что пользователю нравится/не нравится некоторый элемент контента. Опознавание, нравится/не нравиться ли пользователю некоторый элемент контента, также может основываться на явном рейтинге, который пользователь представил в отношении этого некоторого элемента контента.
Другим возможным рекомендательным механизмом является то, что некоторый элемент контента рекомендуется пользователю всякий раз, когда достаточно большая доля контактов пользователя оценила достаточно высоко элемент контента. Снова, такая рекомендация элемента пользователю может основываться на явных рейтингах, которые даны элементу контента контактами пользователя, но она также может основываться на оцененных степенях симпатии, которые рекомендательная система определила для контактов пользователя.
Пользователь, участвующий в реализованной на компьютерах социальной сети, такой как Facebook, MySpace, LinkedIn, Xing и т.п., может иметь большое количество ассоциированных контактов. Таким образом, может быстро увеличиваться количество автоматически генерируемых полуперсональных рекомендаций, так что может представляться невысказанным вслух главное преимущество полуперсональных рекомендаций, а именно, что предполагается, что рекомендациям, проявляющим некоторый персональный характер, доверяют больше, чем рекомендациям, сделанным исключительно по алгоритму.
Сущность изобретения
Технической задачей настоящего изобретения является представление технического средства для автоматического уменьшения количества полуперсональных рекомендаций, представляемых пользователю реализованной на компьютерах социальной сети.
Согласно первому аспекту настоящего изобретения вышеопределенная техническая задача решается способом работы персональной рекомендательной системы, выполненной с возможностью подключения к реализованной на компьютерах социальной сети, который содержит следующие этапы:
a) обнаружение, что рекомендация кортежа «контакт-жанр» была занесена в учетную запись пользователя для пользователя A социальной сети, причем рекомендация кортежа «контакт-жанр» относится к элементу контента конкретного жанра и была инициирована посредством учетной записи контакта для контакта пользователя A,
b) контроль относящегося к рекомендации поведения отклика пользователя A в ответ на прием рекомендации,
c) повторение этапов a)-b) для множества рекомендаций этого же кортежа «контакт-жанр» и регистрации множества контролируемых поведений отклика для определения относящегося к пользователю A индекса «релевантность-вкус», ассоциированного с кортежем «контакт-жанр» в зависимости от множества контролируемых поведений отклика,
d) фильтрация текущей рекомендации этого же кортежа «контакт-жанр» посредством занесения текущей рекомендации только в учетную запись пользователя, если критерий фильтрации выполняется индексом «релевантность-вкус» текущей рекомендации, и блокировка текущей рекомендации, если не выполняется критерий фильтрации.
Способ предлагает преимущество в том, что он может выполняться машиной, как изображено в описании предпочтительных вариантов осуществления, где приводится пример того, как может вычисляться индекс «релевантность-вкус».
Настоящее изобретение включает в себя распознавание того, что контакт пользователя A и пользователь A могут иметь одну или несколько предметных областей, для которых они имеют общие заинтересованности, однако, в большинстве случаев, контакт и пользователь A не имеют одинакового мнения на другие предметные области, и, кроме того, могут быть предметные области, в которых они не имеют общего интереса. Другими словами, пара друзей в социальной сети может разделять сходный вкус, касающийся элементов контента одного жанра, но они могут иметь разные мнения об элементах контента другого жанра. Это обычно верно для оценки разных жанров видеоконтента. Например, обоим из пары друзей могут нравиться детективные фильмы; однако одному из пары могут нравиться фильмы о научной фантастике, и другому могут не нравиться фильмы о научной фантастике. Полуперсональные рекомендации должны предоставляться только пользователю A, если оба, пользователь A и контакт, имеют общую заинтересованность в жанре элемента контента.
Кроме того, если рекомендации автоматически генерируются от имени контакта и на основе явной или неявной обратной связи о некотором элементе контента контактом, рекомендательная система не должна явно спрашивать контакт, кому из его/ее контактов должна посылаться полуперсональная рекомендация. Учитывая большое количество контактов, которые может иметь пользователь социальной сети (часто более нескольких сотен), такой механизм был бы очень раздражающим и потребляющим очень много времени для контакта. Также, контакт пользователя A обычно не знает, что точно любят или не любят все его контакты.
Настоящее изобретение обеспечивает решение проблемы все возрастающего количества полуперсональных рекомендаций посредством занесения только релевантных рекомендаций в учетную запись пользователя для пользователя A, которые посылаются пользователю A его друзьями/контактами или от их имени.
Посредством выполнения этапов a)-c), т.е.: посредством наблюдения за явной или неявной обратной связью пользователя A по элементам контента, рекомендуемым его/ее контактами или от их имени, автоматически узнается, какие из контактов пользователя A является релевантными для каждого из жанров, в котором пользователь A имеет заинтересованность.
Для каждого кортежа «контакт-жанр» вычисляется индекс «релевантность-вкус» на основе поведения отклика пользователя A в ответ на прием рекомендаций. Для определения индекса «релевантность-вкус» может применяться обучающий алгоритм. Например, этап определения индекса «релевантность-вкус» включает в себя применение нейронной сети, наивного байесовского классификатора и/или метода опорных векторов.
Например, определенный индекс «релевантность-вкус» может выражаться положительным или отрицательным числом. В примере индекс «релевантность-вкус» выражается числовой частью интервала значений [-1, 1] (или любым другим числовым интервалом), причем значения близко к -1 указывают высокую релевантность, но противоположные вкусы, значения близко к 0 указывают низкую релевантность, и значения близкие к 1 указывают высокую релевантность со сходным вкусом. Например, пользователь A принимает рекомендацию от контакта CU1, относящуюся к элементу контента жанра «спорт». Если пользователь A ничего не предпринимает в ответ на прием таких рекомендаций, индекс «релевантность-вкус» будет вычисляться близким к 0. Если, в другом случае, пользователь A быстро оценивает большую часть рекомендованных элементов контента отрицательно, индекс «релевантность-вкус», касающийся контакта CU1 и жанра спорт, будет вычисляться близким к -1. Если, в другом случае, пользователь A быстро оценивает большую часть из рекомендуемых элементов контента положительно, индекс «релевантность-вкус» будет вычисляться близким к +1.
Индекс «релевантность-вкус» используется для оценки того, в какой степени элемент контента некоторого жанра ценится пользователем A, и фильтрации нерелевантных рекомендаций соответствующим образом. Только такие рекомендации заносятся в учетную запись пользователя для пользователя A, ассоциированный индекс «релевантность-вкус» которого успешно проходит критерий фильтрации. Другие рекомендации первоначально блокируются и не заносятся в учетную запись пользователя.
Посредством фильтрации текущей рекомендации пользователь A сталкивается с меньшим количеством рекомендаций и только с такими рекомендациями, которые фактически имеют релевантность для пользователя A. Поэтому, просмотр интернета с помощью учетной записи пользователя является более удобным для пользователя A. Кроме того, уменьшается полная сетевая нагрузка, так как меньшее количество рекомендаций заносится в учетную запись пользователя, и пользователю A, таким образом, приходиться иметь дело с меньшим количеством рекомендаций. Так как должно администрироваться меньшее количество рекомендаций, пространство для хранения уменьшается соответствующим образом. Каждое взаимодействие пользователя в отношение рекомендаций отнимает много времени на стороне пользователя и потребление энергии и ресурсов на стороне рекомендательной системы и/или на стороне сети. Если множество персональных рекомендательных систем работают в соответствии с предложенным способом работы, то будет, при глобальном рассмотрении, существенное снижение сетевой нагрузки и, поэтому, существенное снижение потребляемой мощности. Кроме того, облегчается управление всей социальной сетью, так как снижается сетевая нагрузка. Также, может быть существенно снижено распространение автоматически генерируемых полуперсональных рекомендаций.
Приводимой в действие персональной рекомендательной системой может быть рекомендательная система на основе контента, рекомендательная система на основе совместной фильтрации, объединенная рекомендательная система на основе контента и на основе совместной фильтрации или рекомендательная система, которая работает согласно другому рекомендательному механизму.
В пределах объема описания настоящего изобретения формулировка «пользователь» ссылается на человека, имеющего учетную запись пользователя в реализованной на компьютерах социальной сети. Такой пользователь обычно имеет множество так называемых контактов (также упоминаемых как «друзья»), причем эти контакты/друзья также являются пользователями, имеющими учетную запись пользователя (также упоминаемую как «учетная запись контакта») в этой же или в другой реализованной на компьютерах социальной сети.
В нижеследующем формулировка «рекомендация» ссылается на электронное сообщение, которое включает в себя или положительную рекомендацию элемента контента, например, предложение заказать элемент контента, или отрицательную, так называемое предупреждение, относящееся к элементу контента, например, комментарий контакта пользователя A, указывающий, что контакту не нравится элемент контента. Таким электронным сообщением может быть, например, электронная почта, сообщение службы коротких сообщений, электронный всплывающий элемент и их производные. Рекомендация может включать в себя идентификатор отправителя, например, имя и/или фотографию контакта и информацию, относящуюся к рекомендуемому элементу контента, например, ссылку, указывающую веб-сайт, где представлен рекомендуемый элемент контента, и/или описание, такое как фотография, рекомендуемого элемента контента. Кроме того, рекомендации, которые непосредственно представляются от пользователя другому пользователю/контакту пользователя, упоминаются как «персональные рекомендации». Рекомендации, которые автоматически, т.е. без явного взаимодействия отправителя, посылаются пользователю, но которые включают в себя подсказку на контакт принимающего пользователя, упоминаются как «полуперсональные рекомендации».
Необходимо понимать, что реализованная на компьютерах социальная сеть следует ее стандартному определению в области технологии информации и связи. Таким образом, реализованная на компьютерах социальная сеть представляет собой компьютерную сеть, которая делает возможным участие множества пользователей, причем каждый пользователь может устанавливать персональный список контактов, в котором каждый контакт такого списка также является участником этой же или другой социальной сети.
Инициирование рекомендации посредством учетной записи контакта означает, что контакт, ассоциированный с учетной записью контакта, или явно послал рекомендацию на некоторый элемент контента одному из своих контактов, например, пользователю A, или, соответственно, инициирование рекомендации может выполняться автоматически рекомендательной системой, связанной с учетной записью контакта, как объяснено в начале.
Отклики пользователя A в ответ на прием рекомендации, инициированной контактом, могут выполняться, как объяснено выше, прямо или косвенно, или, другими словами, явно или неявно. Контроль такого отклика выполняется соответствующим образом. Этап контроля поведения отклика может включать в себя сохранение временной задержки между занесением рекомендации и откликом, такое как принятие во внимание рекомендуемого элемента контента посредством следования по ссылке, представленной в рекомендации, и/или сохранение числового значения, указывающего, что отклик является положительным или отрицательным.
Например, критерий фильтрации выражается в качестве фиксированного порога, причем абсолютное значение индекса «релевантность-вкус» текущей рекомендации должен быть больше или равен фиксированному порогу, чтобы быть занесенным в учетную запись пользователя. Критерий фильтрации также может выражаться порогом, который динамически корректируется в зависимости от контролируемого отклика пользователя A в ответ на прием рекомендаций. Например, критерий фильтрации определяется так, что для каждого жанра g по меньшей мере рекомендации k контактов не фильтруются, причем k представляет собой выбираемое подходящим образом целочисленное значение. Критерий фильтрации также может вычисляться, так что k зависит от жанра g. В этом случае, пользователь A может иметь больше контактов, от которых передаются рекомендации для одного жанра, чем для другого жанра.
Критерий фильтрации, например, удовлетворяется индексом «релевантность-вкус» текущей рекомендации, если абсолютное значение индекса «релевантность-вкус» текущей рекомендации больше, чем фиксированное или динамически корректируемое пороговое значение.
Занесение текущей рекомендации в учетную запись пользователя означает, что пользователь A имеет возможность воспринимать текущую рекомендацию обычным образом. Блокирование текущей рекомендации означает, что пользователь A в начале не будет сталкиваться с блокированной текущей рекомендацией.
В предпочтительном варианте осуществления способа работы текущие рекомендации, которые были посланы учетной записи пользователя, но были блокированы и, поэтому, не были предоставлены пользователю A, буферизуются, и по меньшей мере одна из буферизованных рекомендаций заносится в учетную запись пользователя, если по меньшей мере одна рекомендация удовлетворяет скорректированному критерию фильтрации. Этот вариант осуществления имеет преимущество в том, что первая рекомендация, поступающая на учетную запись пользователя, может блокироваться, так как не удовлетворяется текущий критерий фильтрации. Однако, так как критерий фильтрации может динамически корректироваться, блокированные рекомендации могут, в более поздний момент времени, удовлетворять скорректированному критерию фильтрации. Если это так, буферизованная рекомендация, которая в начале была блокирована, теперь заносится в учетную запись пользователя, так что пользователь A может воспринимать рекомендацию. В любом случае, первоначально блокированные рекомендации не теряются, но буферизуются в течение некоторого периода времени и, таким образом, могут использоваться для дальнейших целей впоследствии.
В другом варианте осуществления способ содержит дополнительные этапы:
- группирования блокированных рекомендаций, относящихся к общему элементу y контента,
- определения накопленного индекса «релевантность-вкус» посредством суммирования индексов «релевантность-вкус», ассоциированных с каждой из сгруппированных рекомендаций,
- занесения сгруппированных рекомендаций в виде единственной объединенной рекомендации в учетную запись пользователя, если накопленный индекс «релевантность-вкус» удовлетворяет критерию фильтрации.
В данном варианте осуществления могут блокироваться первые рекомендации для данного элемента контента, которые посылаются пользователю A, но индексы «релевантность-вкус» поступающих рекомендаций сохраняются вместе с соответствующей информацией, касающейся контактов, элемента y контента и жанра элемента контента, так что в некоторый момент времени групповые рекомендации могут вместе удовлетворять критерию фильтрации, например, превышением порога.
В другом предпочтительном варианте осуществления способ дополнительно содержит этапы:
- идентификации отправителей F(A) сгруппированных рекомендаций, причем каждый из отправителей F(A) имеет ассоциированную учетную запись контакта, которая связана с учетной записью пользователя для пользователя A,
- для каждого из идентифицированных отправителей F(A), определения степени λ(B, y) симпатии для общего элемента y контента, причем степень λ(B, y) симпатии указывает заинтересованность или отсутствие заинтересованности соответствующего отправителя B в общем элементе y контента,
- вычисления нормализованного накопленного индекса «релевантность-вкус» в зависимости от определенных степеней симпатии и накопленного индекса «релевантность-вкус», причем нормализованный накопленный индекс «релевантность-вкус» соответствует предполагаемой степени λ(A, y) симпатии, указывающей заинтересованность или отсутствие заинтересованности пользователя A в общем элементе y контента и
- занесения рекомендации для общего элемента y контента в учетную запись пользователя, если нормализованный накопленный индекс «релевантность-вкус» удовлетворяет критерию фильтрации.
Данный вариант осуществления имеет преимущество в том, что только такие рекомендации заносятся в учетную запись пользователя для пользователя A, в которых пользователь A вероятно имеет положительную заинтересованность. Данный вариант осуществления включает в себя распознавание, что уменьшение распространения полуперсональных рекомендаций, которые были сгенерированы из-за того, что рекомендательные системы были основаны на совместной фильтрации, может достигаться посредством взвешивания степени симпатии, которая обычно определяется в механизмах совместной фильтрации с определенными индексами «релевантность-вкус». Например, нормализованный накопленный индекс «релевантность-вкус» вычисляется по формуле
где
Таким образом, высокая степень симпатии контакта в отношении общего элемента контента только способствует занесению рекомендации для общего элемента контента в учетную запись пользователя для пользователя A, если имеется дополнительно высокий индекс «релевантность-вкус», ассоциированный с контактом и жанром общего элемента контента.
Чтобы дать возможность пользователю A различать между отфильтрованными и неотфильтрованными рекомендациями, способ содержит в предпочтительном варианте осуществления этап
- представления отфильтрованных рекомендаций пользователю A посредством отображения пользовательского интерфейса, связанного с персональной рекомендательной системой, посредством применения цветового кодирования для кодирования соответствующей предполагаемой степени симпатии каждой из представленных рекомендаций.
В одном варианте осуществления цветовое наложение используется для отображения отфильтрованных рекомендаций, чтобы указывать соответствующую предполагаемую степень λ(A, x) симпатии, причем степень насыщенности цвета используется для наложения данного элемента контента в качестве функции λ(A, x). Таким образом, пользователю A нет необходимости сталкиваться с рекомендациями от индивидуальных контактов/друзей, но с едва различимыми цветовыми наложениями, которые указывают коллективную рекомендацию подмножества друзей. Например, когда некоторому количеству друзей нравится общий элемент, и они послали рекомендации пользователю A соответствующим образом, и когда это количество друзей превышает заданное число, такое как 5, 10 или 15, такой элемент подсвечивается в пользовательском интерфейсе пользователя A посредством использования цветового наложения.
Альтернативно или дополнительно, рекомендации, основанные на единственных друзьях, подсвечиваются цветовым наложением, если они оцениваются достаточно высоко. В одном варианте осуществления эти рекомендации дополняются малыми изображениями друга, который инициировал рекомендацию. В другом варианте осуществления цветовое наложение только отображается, если известна степень симпатии достаточно большого подмножества выбранного сообщества, и/или если выбранное сообщество является достаточно большим. Таким образом, могут соблюдаться конфиденциальные вопросы. Кроме того, пользователь A может устанавливать порог на минимальную степень симпатии сообщества, перед тем как оно станет видимым в наложении, так что становятся отображаемыми только очевидные предпочтения сообщества.
В предпочтительном варианте осуществления способа этап определения индекса «релевантность-вкус» включает в себя применение обучающего алгоритма, такого как применение нейронной сети, наивного байесовского классификатора и/или метода опорных векторов.
Кроме того, предпочтительно, что этап применения обучающего алгоритма включает в себя принятие во внимание предупреждения, относящегося к элементу контента, который был представлен учетной записи контакта, причем предупреждение указывает антипатию контакта в отношении элемента контакта. Предупреждение, например, может представлять собой сообщение от контакта пользователю A, указывающее, что контакту особенно не нравится некоторый элемент контента. Он также может использоваться в обучающем алгоритме, чтобы устанавливать сходство или несходство во вкусах между пользователем A и контактом в отношении некоторого жанра. Например, при помощи обучающего алгоритма может быть обнаружено, что элементы некоторого жанра, которые не нравятся контакту, часто высоко ценятся пользователем A, т.е.: может устанавливаться, что, для данного жанра, пользователь A и контакт имеют противоположные вкусы. В таком случае, способ может включать в себя преобразование предупреждения, представленного контактом пользователю A и относящегося к некоторому элементу контента, в рекомендацию, относящуюся к этому же элементу контента, и занесение преобразованного предупреждения в учетную запись пользователя. В этих случаях, кортеж «контакт-жанр» может все же иметь высокую релевантность для того, чтобы выполнять рекомендации пользователю A.
Кроме того, другие аспекты могут оказывать влияние на этап фильтрации, т.е.: принятие решения, заносить ли фактически текущую рекомендацию в учетную запись пользователя для пользователя A. Например, в другом варианте осуществления способа работы, если пользователь A недавно просматривал видео, будет блокироваться рекомендация, относящаяся к этому уже потребленному элементу контента. Такие блокированные рекомендации, как уже было описано, могут буферизоваться или удаляться.
Способ первого аспекта настоящей заявки особенно подходит для осуществления в персональной рекомендательной системе. Кроме того, способ работы может применяться в контексте реализованных на компьютерах социальных сетей, состоящих из персональных компьютеров, телевизионных приставок и т.д. Способ работы первого аспекта настоящего изобретения, кроме того, повышает используемость и удовлетворение пользователя от рекомендательных систем. Кроме того, способ работы может интегрироваться в понятие персонального канала. Ниже кратко объясняется такое понятие:
Персональный канал отдельного лица может сохраняться в памяти и содержит персональные данные, которые обеспечивают информацию о линейных и/или нелинейных элементах контента, которые нравятся или не нравятся отдельному лицу. Например, группа некоторых телевизионных (ТВ) программ объединяются в персональный канал. Вместо переключения между всеми доступными широковещательными программами/каналами, отдельное лицо может переключаться между его персональными каналами. Например, отдельное лицо установило персональный канал новостей, персональный канал мультфильмов и/или персональный канал фильмов. Вследствие того факта, что количество доступных элементов контента продолжает увеличиваться, такой персональный канал становится во всевозрастающей степени важным инструментальным средством, так как он предлагает возможность быстро находить представляющий интерес элемент контента. Персональный канал может имеет спецификацию, например, в виде количества вручную добавляемых элементов контента «начального значения» или булево выражение, состоящее из некоторого количества дизъюнктивных членов, которые могут определять, какие элементы контента могут автоматически добавляться к персональному каналу. Персональный канал дополнительно может иметь множество принятых или записанных (записываемых) элементов контента, которые принимаются/записываются в соответствии с элементами контента «начального значения» или, соответственно, в соответствии с булевым выражением. Пользователь может переключаться между принятыми/записанными элементами контента, причем записанный элемент обычно сохраняется на жестком диске, функционально соединенным с персональным каналом. В частности, понятие персональных каналов позволяет одному или нескольким пользователям устройства записи, например, применять технологию жесткого диска, независимо определять множество каналов, которые подобны существующим широковещательным каналам, но которые обычно заполняются записанным широковещательным контентом, загруженным контентом интернета или ссылками на загружаемый или потоковый контент интернета.
Такой персональный канал персонализируется, не только вследствие того факта, что отдельное лицо/пользователь создает свой собственный персональный канал, но также того факта, что такой персональный канал может оснащаться рекомендательной системой, в частности, рекомендательной системой, которая работает согласно настоящему изобретению. Такая рекомендательная система может узнать вкус пользователя канала посредством обратной связи с пользователем, или явно или неявно, как описано, и может служить для точной настройки контента канала.
Создание персонального канала, например, выполняется пользователем простым выбором программы из электронного путеводителя по программам (EPG) и указанием, что он/она хочет создать новый персональный канал с данной программой. Эта начальная программа служит в качестве начального значения, и, более того, подобные программы будут выбираться и/или рекомендоваться в соответствии с предложенным способом работы для добавления персонального канала. Существует, таким образом, несколько возможностей того, как персональный канал может расти: Пользователь может добавить вручную новый элемент контента, пользователь может добавить новый элемент контента по рекомендации рекомендательной системы, или менеджер персонального канала автоматически добавляет новый элемент контента к персональному каналу, т.е. некоторым образом, подобным элементам контента уже существующим в персональном канале, например, которые совпадают с вручную добавленными элементами контента. Так как релевантность рекомендаций, обеспечиваемых рекомендательной системой, которая работает в соответствии с предлагаемым способом работы, сильно увеличивается, персонализация персонального канала, таким образом, также может повышаться, или из-за автоматического добавления рекомендуемых элементов контента, или из-за вручную добавляемых элементов контента при приеме соответствующих рекомендаций.
Вместо рекомендаций между пользователями социальной сети способ работы, согласно вышеупомянутому, также может использоваться в контексте рекомендаций между персональными каналами пользователей в социальной сети. Например, персональные каналы обычно ограничиваются несколькими жанрами, и релевантность может определяться в пределах контекста этих нескольких жанров.
Согласно второму аспекту настоящего изобретения вышеопределенная техническая задача решается посредством компьютерной программы для работы рекомендательной системы, которая содержит средство программного кода, вызывающее выполнение рекомендательной системой этапов способа первого аспекта настоящего изобретения, когда компьютерная программа выполняется на компьютере, управляющем рекомендательной системой.
Согласно третьему аспекту настоящего изобретения вышеопределенная техническая задача решается посредством устройства фильтра, выполненного с возможностью связи с рекомендательной системой для пользователя A реализованной на компьютерах социальной сети, который содержит следующие компоненты:
- детектор, выполненный с возможностью обнаружения, что рекомендация кортежа «контакт-жанр» была занесена в учетную запись пользователя для пользователя A социальной сети, причем рекомендация кортежа «контакт-жанр» относится к элементу x контента конкретного жанра и была инициирована посредством учетной записи контакта для контакта CU1 пользователя A,
- блок контроля, выполненный с возможностью контроля связанного с рекомендацией поведения отклика пользователя A в ответ на прием рекомендации,
- регистратор данных, выполненный с возможностью регистрации множества контролируемых поведений отклика, относящихся к множеству рекомендаций одного и того же кортежа «контакт-жанр»,
- анализатор, выполненный с возможностью определения относящегося к пользователю A индекса «релевантность-вкус», ассоциированного с кортежем «контакт-жанр» в зависимости от множества контролируемых поведений отклика,
- фильтр рекомендаций, выполненный с возможностью фильтрации текущей рекомендации этого же кортежа «контакт-жанр» посредством занесения текущей рекомендации только в учетную запись пользователя, если удовлетворяется критерий фильтрации индексом «релевантность-вкус» текущей рекомендации и посредством блокирования текущей рекомендации, если не удовлетворяется критерий фильтрации.
В основном, устройство фильтрации третьего аспекта настоящего изобретения совместно использует преимущества способа работы первого аспекта настоящего изобретения. В частности, устройство фильтрации имеет предпочтительные варианты осуществления, которые соответствуют дополнительным этапам предпочтительных вариантов осуществления вышеописанного способа работы.
Согласно четвертому аспекту настоящего изобретения вышеопределенная техническая задача решается рекомендательной системой, которая содержит устройство фильтрации по третьему аспекту изобретения.
В предпочтительном варианте осуществления рекомендательная система дополнительно содержит пользовательский интерфейс для представления отфильтрованной рекомендации пользователю A. Отфильтрованные рекомендации могут кодироваться цветовым наложением, чтобы дать возможность пользователю различать между отфильтрованными рекомендациями и неотфильтрованными рекомендациями. В другом предпочтительном варианте осуществления рекомендательная система дополнительно содержит персональный рекомендательный механизм, соединенный с пользовательским интерфейсом и выполненный с возможностью обеспечения основанных на механизме рекомендаций. В предпочтительном варианте осуществления часть пользовательского интерфейса архитектуры интегрирует рекомендации, выполненные контактами/друзьями, и рекомендации, которые персональный рекомендательный механизм выполняет для пользователя A.
Персональный рекомендательный механизм может представлять собой рекомендательный механизм на основе контента или рекомендательный механизм на основе совместной фильтрации, или их комбинацию или рекомендательный механизм, который придерживается другого подхода работы.
Пользовательским интерфейсом может быть ТВ-экран, монитор компьютера, дисплей мобильного устройства или любой другой подходящий интерфейс для представления рекомендаций пользователю A.
В особенно предпочтительном варианте осуществления рекомендательная система дополнительно содержит память, выполненную с возможностью хранения блокированных рекомендаций. Такие блокированные рекомендации могут представляться пользователю A в более поздний момент времени, например, или могут группировать некоторые блокированные рекомендации и определять накопленный индекс «релевантность-вкус».
Все аспекты изобретения могут применяться в контексте понятия персонального канала. Например, если человек или семья используют многочисленные персональные каналы для взаимодействия с ТВ-рекомендатором, аспект изобретения, описанный выше, может быть внедрен в контекст персональных каналов. Следовательно, релевантность между персональными каналами людей в социальной сети может использоваться для выполнения эффективных рекомендаций от персонального канала контакта пользователя A персональному каналу пользователя A.
Все аспекты изобретения дополнительно могут применяться в контексте социальной сети, состоящей из персональных компьютеров (PC), телевизионных приставок и т.д. На такие устройства может быть установлена рекомендательная технология. Применение аспекта изобретения повышает используемость и удовлетворение пользователя такими рекомендаторами. Более конкретно, они могут быть интегрированы в понятие персонального канала, которое, как считается, предлагает легкость использования, к которой привыкли пользователи. Вместо рекомендаций между друзьями в социальной сети, аспекты изобретения также могут использоваться в контексте рекомендаций между персональными каналами друзей в социальной сети. В данном случае, персональные канала обычно ограничиваются несколькими жанрами, и релевантность может определяться в контексте этих нескольких жанров.
Необходимо понять, что способ работы первого аспекта изобретения, компьютерная программа второго аспекта изобретения, устройство фильтрации третьего аспекта изобретения и рекомендательная система четвертого аспекта изобретения имеют подобные и/или идентичные предпочтительные варианты осуществления, в частности, как определено в зависимых пунктах формулы изобретения.
Необходимо понять, что предпочтительный вариант осуществления изобретения также может представлять собой любую комбинацию зависимых пунктов формулы изобретения с соответствующим независимым пунктом формулы изобретения.
Эти и другие аспекты изобретения очевидны и объясняются с ссылкой на варианты осуществления, описанные ниже в данном документе.
Краткое описание чертежей
На нижеследующих чертежах:
фиг. 1 изображает блок-схему последовательности операций, иллюстрирующую вариант осуществления способа работы для работы персональной рекомендательной системы согласно первому аспекту изобретения, и
фиг. 2 изображает схематическую блок-схему, которая в качестве примера иллюстрирует вариант осуществления устройства фильтрации, внедренного в рекомендательную систему, согласно четвертому аспекту изобретения.
Описание вариантов осуществления
Фиг. 1 изображает блок-схему последовательности операций, иллюстрирующую способ 100 работы для работы персональной рекомендательной системы, которая выполнена с возможностью связи с реализованной на компьютерах социальной сетью. Способ 100 служит цели уменьшения количества нерелевантных рекомендаций, представляемых пользователю A и происходящих от одного или нескольких контактов пользователя A. Пользователь A участвует в социальной сети и имеет один или несколько контактов, которые также участвуют в качестве пользователей в социальной сети. Уменьшение количества рекомендаций, которые предоставляются пользователю A, в частности достигается посредством этапа 150 фильтрации, на котором проверяется, удовлетворяет ли или нет текущая рекомендация некоторому критерию фильтрации. Только если удовлетворяется критерий фильтрации, текущая рекомендация будет представлена пользователю A.
На первом этапе 110 обнаруживается, что рекомендация кортежа (CU1, g) «контакт-жанр» была занесена в учетную запись пользователя для пользователя A социальной сети. Рекомендация кортежа (CU1, g) «контакт-жанр» относится к элементу x контента определенного жанра (g=g(x)) и была инициирована посредством учетной записи контакта CU1 пользователя A. На следующем этапе 120 контролируется, как пользователь A реагирует в ответ на прием рекомендации, инициированной контактом CU1. Такой отклик может происходить непосредственно или косвенно, или, соответственно, неявно или явно. Например, возможно, что пользователь A оценивает рекомендуемый элемент x контента, и что этот рейтинг контролируется на этапе 120. Также возможно, что пользователь A потребляет элемент x контента, например, если элементом x контента является видео. Также, может контролироваться такое поведение отклика. Если, в другом примере, пользователь A не предпринимает никаких действий, такое отсутствие действия также контролируется на этапе 120. Пользователь A может, кроме того, заказать элемент x контента, если элемент x контента доступен в режиме онлайн.
Этап 110 обнаружения и этап 120 контроля повторяются для множества рекомендаций одного и того же кортежа «контакт-жанр», и множество контролируемых поведений отклика регистрируются для определения связанного с пользователем A индекса r=r((CU1, g)) «релевантность-вкус», ассоциированного с кортежем (CU1, g) «контакт-жанр» в зависимости от множества контролируемых поведений отклика на этапе 130. Такое повторение приводит к процессу обучения, причем могут быть определены точные индексы «релевантность-вкус» для множества кортежей «контакт-жанр». Такой процесс обучения может включать в себя применение новой сети, наивного байесовского классификатора и/или метода опорных векторов.
Индекс «релевантность-вкус» указывает как релевантность рекомендаций конкретного кортежа «контакт-жанр», так и предполагаемый вкус пользователя A, относящийся к жанру элемента x контента. Например, индекс r «релевантность-вкус» представляет собой число между -1 и +1 (или любая другая числовая область). Индекс r «релевантность-вкус» может определяться, так что отрицательное значение указывает высокую релевантность и антипатию пользователя A в жанре. Например, индекс r «релевантность-вкус» определяется близким к -1, если пользователь A реагирует быстро в ответ на прием таких рекомендаций и выражает антипатию в отношении элемента x контента, например, отрицательным рейтингом элемента x контента. Индекс r «релевантность-вкус» определяется близким к 0, если, например, пользователь A совсем не реагирует в ответ на прием таких рекомендаций. Если пользователь A реагирует положительно в ответ на прием таких рекомендаций, например, полным просмотром рекомендуемого видео, или положительным рейтингом элемента x контента, или посредством заказа элемента x контента, индекс r «релевантность-вкус» определяется близким к +1.
Согласно предпочтительному варианту осуществления индекс «релевантность-вкус» может определяться следующим образом:
Сначала изобретатели рассматривают кортежи «контакт-жанр», поступающие к пользователю A социальной сети (см. пункт 1 формулы изобретения, этап a). Эти кортежи сохраняются в структуре данных, похожей на следующую таблицу, где (ui, gi) представляют кортеж, принятый от пользователя ui, имеющий жанр gi контента. Изобретатели также рассматривают (без отсутствия общности) n разных жанров: g1, …, gn.
Каждая рекомендация, принятая пользователем A, имеет ассоциированный кортеж, зависимый от пользователя, посылающего его, и жанра контента. Для каждой рекомендации отклик A контролируется (согласно этапу b в пункте 1 формулы изобретения). Если отклик является положительным (например, A просматривает рекомендуемый элемент), тогда число положительных откликов, соответствующих кортежу рекомендации, увеличивается на единицу (второй столбец предыдущей таблицы). Если отклик является отрицательным, число отрицательных откликов увеличивается на единицу (третий столбец предыдущей таблицы). В дополнение к таблице выше, поддерживаются два дополнительных числа: N(+) и N(-), которые представляют собой соответственно сумму всех положительных и всех отрицательных откликов для всех принятых рекомендаций, для которых контролировался отклик (сумма всех значений столбцов 2 и 3 предыдущей таблицы).
При заданной новой рекомендации (ux, gy) контактом ux для контента жанра gy, индекс r((ux, gy)) «релевантность-вкус» вычисляется следующим образом (ссылка на этап c в пункте 1 формулы изобретения).
Сначала изобретатели вычисляют:
и
В случае N((ux, gy), +) или N((ux, gy), -) равны 0, изобретатели заменяют их малыми произвольными значениями (коррекция Лапласа).
Затем вычисляют коэффициент скоса s((ux, gy)) (в диапазоне от 0 до ∞), который вычисляется следующим образом:
Наконец, индекс r((ux, gy)) «релевантность-вкус» определяется как:
Индекс «релевантность-вкус» находится в диапазоне от 0 до 1.
В зависимости от значения индекса «релевантность-вкус» рекомендация с кортежем (ux, gy) будет блокироваться (значение меньше заданного порога) или доставляться пользователю A (значение больше заданного порога) (в соответствии с критерием FC фильтра на этапе d пункта 1 формулы изобретения на способ).
Предпочтительно, что рекомендации, которые были блокированы, буферизуются, и их индексы «релевантность-вкус» накапливаются до тех пор, пока их сумма не превысит порога. Когда это происходит, одна объединенная групповая рекомендация посылается A.
Критерий FC фильтрации, например, может выражаться фиксированным порогом, таким образом, например, значением 0,5. Для примера: если индекс r «релевантность-вкус» представляет собой значение между -1 и +1, критерий фильтрации может формулироваться следующим образом:
FC: (r<-0,5)v(r>0,5)
В этом случае, только такая дополнительная рекомендация будет проходить этап 150 фильтрации, если текущая рекомендация 112 имеет соответственно высокий или низкий индекс «релевантность-вкус». Другими словами, на этапе 150 текущая рекомендация 112 заносится (этап 152) в учетную запись пользователя для пользователя A только, если критерий фильтрации удовлетворяется индексом «релевантность-вкус» текущей рекомендации, и текущая рекомендация блокируется (этап 154), если критерий фильтрации не удовлетворяется.
После того как отфильтрованная рекомендация будет занесена (этап 152) в учетную запись пользователя для пользователя A, она может быть представлена пользователю A (этап 190).
Блокированные рекомендации по желанию могут буферизоваться (этап 160), и на этапе 180 может определяться в более поздний момент времени, удовлетворяет ли или нет тогда буферизованная рекомендация критерию фильтрации. Например, критерий фильтрации может меняться во времени, и буферизованная рекомендация в момент поступления не имеет достаточно высокий или, соответственно, достаточно низкий индекс «релевантность-вкус».
Первоначально блокированные рекомендации, которые относятся к общему элементу контента, могут группироваться на этапе 170. Для таких сгруппированных рекомендаций накопленный индекс «релевантность-вкус» определяется на этапе 180 посредством суммирования индексов «релевантность-вкус», ассоциированных с каждой из сгруппированных рекомендаций. Например, возможно, что некоторые из контактов пользователя A оценивают один и тот же элемент контента положительно. Если эти контакты оснащены рекомендательным механизмом, который автоматически генерирует рекомендации контактам этих контактов (т.е., например, пользователю A), рекомендация для этого общего элемента контента будет посылаться пользователю A от каждого из его/ее контактов. Индекс «релевантность-вкус» единственной рекомендации может быть недостаточно высоким или недостаточно низким для прохождения этапа фильтрации. Поэтому, такие рекомендации блокируются на этапе 154. Если определенный накопленный индекс «релевантность-вкус» удовлетворяет критерию фильтрации на этапе 150, сгруппированные рекомендации заносятся в виде единственной объединенной рекомендации в учетную запись пользователя для пользователя A на этапе 152. Поэтому, вместо того, чтобы сталкиваться с множеством рекомендаций, которые пользователь A мог бы классифицировать как нерелевантные, пользователь A сталкивается с объединенной рекомендацией, которую пользователь A, возможно, будет классифицировать как релевантную.
В результате, способ 100 включает в себя автоматическое обучение, какие контакты пользователя A являются релевантными для каждого жанра, в котором пользователь A проявляет интерес. Посредством наблюдения во времени обратной связи пользователя A, которая может быть явной или неявной обратной связью, в ответ на прием рекомендаций, касающихся элементов, от некоторого контакта, например, контакта CU1, узнается, для каких жанров рекомендации, инициированные контактом CU1, действительно высоко оцениваются пользователем A. Таким образом, может быть узнано, что рекомендации от контакта CU1, относящиеся, например, к жанру «научная фантастика», как правило высоко оцениваются пользователем A, но рекомендации контакта CU1, относящиеся, например, к «детективам», обычно не оцениваются высоко пользователем A. Это отсутствие высокой оценки пользователя A необязательно подразумевает, что пользователю A не нравятся потреблять рекомендованные элементы контента, например, не нравится просматривать детективные фильмы, это только подразумевает, что пользователю A не нравятся те, которые были рекомендованы контактом CU1. В частности, на этапе 120 контроля и этапе 130 определения обучающий алгоритм может использоваться для интерпретации обратной связи от пользователя A по рекомендациям других. Таким образом, для каждого кортежа «контакт-жанр» (CU1, g), (CU2, g) …, определяется соответствующий индекс «релевантность-вкус», чтобы заносить только рекомендации таких кортежей «контакт-жанр», которые являются релевантными для выполнения значимых рекомендаций для пользователя A.
Рекомендация, инициированная контактом CU1, также может выражать антипатию контакта CU1 в отношении элемента контакта. В таком случае, «рекомендация» называется «предупреждением». Предупреждение, таким образом, представляет собой сообщение, инициированное контактом CU1 и посылаемое пользователю A, указывающее, что контакту CU1 особенно не нравится элемент контента. Такое предупреждение также может использоваться в обучающем алгоритме, т.е.: на этапах 110, 120 и 130, чтобы установить сходство или несходство во вкусе между контактом CU1 и пользователем B для некоторого жанра. Может быть обнаружено, что элементы некоторого жанра, которые не нравятся контакту CU1, часто высоко ценятся пользователем A; что контакт CU1 и пользователь A имеют «противоположные вкусы». В этом случае, предупреждение, посылаемое от контакта CU1 для некоторого элемента контента, может фактически представлять собой рекомендацию для некоторого элемента контента, представленного пользователю A. Если значения индекса «релевантность-вкус» могут принимать значения, разработанные выше, индекс «релевантность-вкус» будет принимать значение близкое к -1 в случае таких «противоположных вкусов».
Способ 100 работы особенно подходит для реализации в персональной рекомендательной системе, например, персональной рекомендательной системе, изображенной на фиг. 2.
Фиг. 2 изображает блок-схему рекомендательной системы 200 согласно четвертому аспекту изобретения.
Пользователь A является членом социальной сети 300 и имеет множество контактов, которые также являются членами социальной сети 300. Рекомендательная система 200 содержит устройство 260 фильтра для фильтрации рекомендаций, инициированных контактами пользователя A. Отфильтрованные рекомендации могут быть представлены пользователю A посредством пользовательского интерфейса 270, который связан с устройством 260 фильтра. Кроме того, рекомендательный механизм 280 может быть связан с пользовательским интерфейсом 270, так что обычные рекомендации на основе рекомендательного механизма также могут быть представлены пользователю A.
Устройство 260 фильтра содержит детектор 210, связанный с пользовательским интерфейсом 270, который обнаруживает, что рекомендация 212 кортежа (CU1, g) «контакт-жанр» была занесена в учетную запись пользователя для пользователя A. Рекомендация 212 кортежа (CU1, g) «контакт-жанр» относится к элементу x контента конкретного жанра g=g(x) и была инициирована посредством учетной записи контакта для контакта CU1 пользователя A. Блок 220 контроля соединен с детектором 210 и контролирует относящееся к рекомендации поведение 222 отклика пользователя A в ответ на прием рекомендации 212. Например, блок 220 контроля содержит таймер, который определяет временную задержку между занесением рекомендации 212 и откликом пользователя A.
Устройство 260 фильтра дополнительно содержит регистратор 240 данных, который регистрирует множество контролируемых поведений отклика, имеющих отношение к множеству рекомендаций одного и того же кортежа (CU1, g) «контакт-жанр». Для регистрации регистратор 240 данных может содержать средство хранения для хранения контролируемых относящихся к рекомендации поведений 214 отклика, например, в виде числовых значений, которые указывают степень симпатии пользователя A в отношении рекомендуемого элемента контента. Такие числовые значения могут сохраняться ассоциированными с соответствующей временной задержкой, причем такая временная задержка может быть указывающей на релевантность типа рекомендации, например, указывающей рекомендации кортежа (CU1, g).
Зарегистрированные данные 242, представляющие поведение отклика, анализируются анализатором 230, соединенным с регистратором 240 данных. Анализатор 230 определяет относящийся к пользователю A индекс r=r((CU1, g)) «релевантность-вкус», ассоциированный с кортежем «контакт-жанр» в зависимости от множества контролируемых поведений 242 отклика. Анализатор 230 может реализовывать обучающий алгоритм, чтобы определять подходящий индекс «релевантность-вкус».
Устройство 260 фильтра рекомендательной системы 200 содержит фильтр 250 рекомендаций, который соединен с анализатором 230 и принимает определенный индекс «релевантность-вкус» для одного или нескольких кортежей «контакт-жанр».
Фильтр 250 рекомендаций фильтрует текущую рекомендацию 302 посредством занесения текущей рекомендации в учетную запись пользователя для пользователя A только, если критерий фильтрации удовлетворяется индексом «релевантность-вкус» текущей рекомендации, и блокировки текущей рекомендации, если критерий фильтрации не удовлетворяется. Блокированные рекомендации могут сохраняться в памяти 290 рекомендательной системы 200 для представления их в конце концов пользователю A в более поздний момент времени. Такие сохраненные или, соответственно, буферизованные рекомендации могут объединяться с другими рекомендациями для одного и того же элемента контента, которые позже выполняются другими контактами пользователя A.
Необходимо понять, что расположение элементов соответствующей фигуры преимущественно служит цели ясного описания; оно не относится к любому фактическому геометрическому расположению деталей производимого устройства/прибора согласно изобретению.
В формуле изобретения слово «содержащий» не исключает другие элементы или этапы, и единственное число не исключает множество.
Единственный блок или устройство может выполнять функции нескольких элементов, изложенных в формуле изобретения. Простой факт, что некоторые меры излагаются во взаимно разных зависимых пунктах формулы изобретения, не означает, что объединение этих мер не может использоваться для получения преимущества. Любые условные обозначения в формуле изобретения не должны толковаться как ограничивающие объем.
Компьютерная программа второго аспекта изобретения может храниться/распределяться на подходящем носителе, таком как оптический носитель данных или твердотельный носитель, поставляемый вместе с или как часть других аппаратных средств, но также может распределяться в других видах, таких как по интернету или по другим проводным или беспроводным системам связи.
Настоящее изобретение относится к способу работы для работы рекомендательной системы, устройству фильтрации для рекомендательной системы, рекомендательной системе и соответствующей компьютерной программе.
Идеей изобретения является автоматическое обучение для пользователя A в социальной сети, какие рекомендации контактов пользователя A, которые также являются членами социальной сети, являются релевантными в отношении жанра, в котором заинтересован пользователь A. Обучающий алгоритм используется для интерпретирования обратной связи от пользователя A в ответ на прием рекомендаций от его/ее контактов. Таким образом, для каждой комбинации контакта и жанра может определяться индекс «релевантность-вкус». Определенный индекс «релевантность-вкус» подвергается фильтрации. Только такие рекомендации предоставляются пользователю A, ассоциированные индексы «релевантность-вкус» которых удовлетворяют критерию фильтрации. Таким образом, может быть существенно уменьшено количество нерелевантных рекомендаций, представляемых пользователю A.
Изобретение относится к способу работы рекомендательной системы. Технический результат заключается в уменьшении количества нерелевантных рекомендаций, представляемых пользователю. Идеей изобретения является автоматическое обучение для пользователя в социальной сети, какие рекомендации контактов пользователя, которые также являются членами социальной сети, являются релевантными в отношении жанра, в котором заинтересован пользователь. Обучающий алгоритм используется для интерпретации обратной связи от пользователя в ответ на прием рекомендаций от его/ее контактов. Таким образом, для каждой комбинации контакта и жанра может определяться индекс «релевантность-вкус». Определенный индекс «релевантность-вкус» подвергается действию фильтра. Только такие рекомендации предоставляются пользователю, ассоциированные индексы «релевантность-вкус» которых удовлетворяют критерию фильтрации. Таким образом, может быть существенно уменьшено количество нерелевантных рекомендаций, представляемых пользователю. 4 н. и 10 з.п. ф-лы, 2 ил., 1 табл.