УСТРОЙСТВО И СПОСОБ ДЛЯ АВТОМАТИЧЕСКОГО ФОРМИРОВАНИЯ РЕКОМЕНДАЦИИ
DEVICE AND METHOD FOR AUTOMATIC RECOMMENDATION FORMATION

Изобретение относится к устройству и способу для автоматического формирования рекомендации элемента.
Такие устройства обычно называют рекомендательными системами. Рекомендательные системы представляют собой машины, которые должны помогать пользователям уменьшать потенциальную информационную перегрузку.
Пользователям приходится иметь дело с проблемой так называемой «информационной перегрузки», заключающейся в подавляющем количестве (коммерческой) информации, с которой они не могут справиться, и это ограничивает их способность находить то, что им нравится, оставаться сосредоточенными и концентрироваться на вещах, которые являются полезными в соответствии с их интересами.
Рекомендательные системы становятся популярным инструментальным средством для решения проблемы информационной перегрузки. Они обеспечивают возможность отыскивать среди обширного количества элементов, например, архивов содержимого A/V (аудио/видеоинформации), каталогов продукции и т.п., только те элементы, которые нравятся пользователю (или группе пользователей). Эти рекомендательные устройства, как правило, предлагаются в качестве самостоятельной услуги (например, Movielens) или в качестве дополнения к уже существующей услуге (например, сайт Amazon, программа iTunes). Они все чаще появляются в пользовательских устройствах, таких как цифровой видеомагнитофон TiVo (система цифровой записи телевизионных программ) и продукция APRICO Solutions.
Многие видео интернет-сервисы, включая YouTube.com, Hulu.com и т.д., предлагают пользователям возможность «рекомендовать» видеоролик друзьям, либо обращаясь к ним с помощью уникального URL (унифицированного указателя ресурса), который может быть внедрен в сообщение, посланное по электронной почте, либо непосредственно подключившись к социальной сети пользователя, такой как Facebook. В дополнение к этому существуют также специализированные веб-сайты, которые предоставляют возможности делиться информацией и обсуждать ее, например, такие как Digg.com, Reddit.com и Delicious.com.
Чтобы обеспечить возможность машине формировать рекомендации, известен способ, при котором производится объединение пользовательских оценок элемента с профилем пользователя и отыскиваются подобные профили пользователей и формируется рекомендация пользователям, имеющим профиль пользователя, подобный профилю пользователя, который дал позитивную оценку элементу.
Хотя этот подход успешно реализован рекомендательными системами предшествующего уровня техники, все еще существует потребность в новых или альтернативных подходах. Цель изобретения состоит в том, чтобы удовлетворить эту потребность.
В соответствии с изобретением эта цель достигнута с помощью устройства для автоматического формирования рекомендации элемента p для пользователя u, причем упомянутое устройство содержит или по меньшей мере опосредованно соединено (и таким образом имеет доступ к) с:
- базой данных элементов, содержащей информацию о доступных элементах,
- базой данных профилей пользователей, содержащей, для пользователя ν системы, информацию о том, какие элементы пользователь видел или приобрел или оценил, и
- базой данных взаимосвязей пользователей, содержащей информацию о связях, существующих между пользователями u и ν, причем прямая связь задается, если пользователь ν принадлежит к контактам пользователя u.
Устройство содержит стандартную рекомендательную машину, которая выполнена с возможностью осуществления доступа к упомянутой базе данных элементов и упомянутой базе данных профилей пользователей и вычисления оценки s(p, u) в интервале [0, 1], указывающей уровень оценки «нравится» («like») элемента p для пользователя u на основании профиля пользователя для пользователя u. Устройство дополнительно содержит рекомендательное устройство обнаружения информационного наполнения, которое выполнено с возможностью осуществления доступа к упомянутой базе данных взаимосвязей пользователей и выявления по меньшей мере пользователей ν, которые имеют прямую связь с пользователем u, и дополнительно осуществления доступа к упомянутой базе данных профилей пользователей, чтобы определять долю пользователей ν, которые знают элемент p, и формировать рекомендацию, основанную на оценке s(p, u) элемента p и степени (которая является долей пользователей ν, знающих элемент p), до которой этот элемент известен среди пользователей ν, имеющих прямую связь с пользователем u.
Базой данных взаимосвязей пользователей может быть база данных социальных сетей.
Авторы настоящего изобретения учли, что люди, как правило, доверяют своим друзьям больше, чем они доверяют рекомендательной системе. Рекомендация, данная другом, обычно оценивается выше по важности и актуальности, чем рекомендация, данная машиной, независимо от того, насколько она является точной или соответствующей истинной рекомендации. Помимо этого, людям нравится делиться своими открытиями нового информационного наполнения или новых элементов с друзьями. Для человека может считаться весьма полезным, чтобы быть первым, представляя новый элемент (песню, кинофильм и т.д.) в своем сообществе друзей, особенно если этот элемент нравится многим в этом сообществе. Это может быть средством получить благодарность от друзей. Многие интернет-услуги и программные приложения поддерживают способы, позволяющие пользователям обмениваться со своими друзьями художественными или музыкальными произведениями, которые они находят и которые им нравятся.
Поскольку устройство также определяет долю пользователей ν, которые знают элемент p, эта доля может учитываться при формировании рекомендации элемента. Предпочтительно устройство выполнено с возможностью формирования рекомендации для элементов, если доля пользователей ν, которые знают элемент p, является относительно небольшой. В частности, устройство предпочтительно выполнено с возможностью формирования модифицированной оценки в зависимости от стандартной оценки s(p, u) и доли пользователей ν, которые знают элемент p. Хотя этот предпочтительный подход представляется не интуитивно-понятным, он основан на идее рекомендации пользователям элементов, которые наименее известны в их социальной сети, но имеют высокий уровень оценки «нравится», не только для самих пользователей, но также и для их друзей. Таким образом, пользователю рекомендуется исследовать новые элементы, которые потенциально интересны для всей его социальной сети, и затем быть первым претендентом на их «открытие».
Таким образом, автоматическое устройство обеспечивает возможность формирования рекомендаций относительно элементов, даже если эти элементы пока мало известны, что является более актуальным, чем рекомендация хорошо известных элементов.
В соответствии с предпочтительным вариантом осуществления устройство выполнено с возможностью определения оценки s(p, u) для элемента p в упомянутой базе данных элементов на основании профиля пользователя u в базе данных профилей пользователей, при этом упомянутое рекомендательное устройство обнаружения информационного наполнения содержит блок статистических данных сообщества и рекомендательный блок обнаружения информационного наполнения, которые выполнены с возможностью выполнения следующих этапов для формирования рекомендаций относительно N элементов для данного пользователя u:
(1)
- блок статистических данных сообщества извлекает из базы данных взаимосвязей пользователей сообщество C(u), которое содержит всех пользователей ν, непосредственно связанных с пользователем u, и
(1)
- рекомендательный блок обнаружения информационного наполнения находит подмножество из N элементов p, которое оптимизирует сочетание совокупной оценки для пользователя u и параметра, называемого k, который указывает, до какой степени элемент p известен в сообществе C(u), сформированном блоком статистических данных сообщества, при этом k определяется следующим образом:
(1)
где |C(u)| представляет собой количество пользователей ν, непосредственно связанных с пользователем u, как может быть определено с помощью блока статистических данных сообщества,
и seen(p, ν) (видел) является функцией, которая выдает 1, если конкретный пользователь ν видел элемент p, а в противном случае выдает 0, указывая, что пользователь ν не видел элемент p.
В соответствии с другим предпочтительным вариантом осуществления рекомендательный блок обнаружения информационного наполнения выполнен с возможностью вычисления модифицированной оценки s'(p, u), определяемой следующим образом:
где константа λ выбирается соответствующим образом в интервале [0, 1].
Предпочтительно рекомендательный блок обнаружения информационного наполнения дополнительно выполнен с возможностью выбора и вывода N элементов с самой высокой оценкой s'(p, u). Таким образом, эти элементы рекомендуются.
(1)
(1)
(1)
(2)
Предпочтительно, блок статистических данных сообщества выполнен с возможностью извлечения из базы данных взаимосвязей пользователей для каждого пользователя ν∈C(u) сообщество первого уровня C(ν), которое содержит по меньшей мере всех пользователей, непосредственно связанных с пользователем ν, при этом члены ν' сообщества первого уровня C(ν) опосредованно связаны с пользователем u, таким образом формируя сообщество второго уровня C(u) пользователей u:
(n)
В этом варианте осуществления рекомендательный блок обнаружения информационного наполнения находит подмножество из N элементов p, которое оптимизирует сочетание совокупной оценки для пользователя u и параметра, называемого k, который указывает, до какой степени элемент p известен в сообществе C(u), сформированном блоком статистических данных сообщества, при этом k определяется следующим образом:
В отношении всех вариантов осуществления предпочтительно, чтобы стандартная рекомендательная машина была выполнена с возможностью определения оценки s(p, u) на основании наивной байесовской классификации или совместного фильтрования.
Предпочтительно устройство содержит фильтр, отфильтровывающий элементы, которые, вероятно, не интересны для значительного подмножества пользователей, связанных с пользователем u. Особенно предпочтительно, если фильтр выполнен с возможностью отфильтровывать элементы с оценкой s(p, u) ниже предварительно определенной пороговой величины, например, элементы, имеющие оценку s(p, u)<0,6. В зависимости от заданной селективности подходящие пороговые значения находятся между 0,3 и 0,8.
(n)
Устройство также может быть выполнено с возможностью определения расширенной оценки s'(p, u) таким образом, чтобы также принимался во внимание уровень оценки «нравится» пользователей ν, принадлежащих к контактам пользователя u. Предпочтительно расширенная оценка s'(p, u) вычисляется путем умножения s(p, u), например, на максимальное значение (или среднее значение) уровней оценки «нравится» друзей в C(u). Целесообразная и таким образом предпочтительная формула для вычисления расширенной оценки s'(p, u) представляет собой:
В соответствии с изобретением вышеупомянутая цель также достигается с помощью способа автоматического формирования рекомендации элемента p для пользователя u, причем упомянутый способ содержит этапы:
вычисления оценки s(p, u) в интервале [0, 1], указывающей уровень оценки «нравится» элемента p для пользователя u на основании профиля пользователя для пользователя u, выявления по меньшей мере пользователей ν, которые имеют прямую связь с пользователем u,
определения доли пользователей ν, которые знают элемент p, и
формирования рекомендации на основании оценки s(p, u) элемента p и степени (доли пользователей ν, которые знают элемент p), до которой этот элемент известен среди пользователей ν, имеющих прямую связь с пользователем u.
(1)
(1)
В предпочтительном варианте осуществления способа этап выявления по меньшей мере пользователей ν, которые имеют прямую связь с пользователем u, включает в себя формирование сообщества C(u), которое содержит всех пользователей ν, непосредственно связанных с пользователем u, а этапы определения доли пользователей ν, которые знают элемент p, и формирования рекомендации содержат выявление подмножества из N элементов p, которое оптимизирует сочетание совокупной оценки s(p,u) для пользователя u и параметра, называемого k, который указывает, до какой степени элемент p известен в сообществе C(u), сформированном блоком статистических данных сообщества, при этом k определяется следующим образом:
(1)
где |C(u)| представляет собой количество пользователей ν, непосредственно связанных с пользователем u,
а seen(p, ν) является функцией, которая выдает 1, если конкретный пользователь ν видел элемент p, в противном случае выдает 0, указывая, что пользователь ν не видел элемент p.
В другом предпочтительном варианте осуществления способа этап формировании рекомендации содержит вычисление модифицированной оценки s'(p, u), определяемой следующим образом:
где константа λ выбирается соответствующим образом в интервале [0, 1].
(1)
(1)
(2)
(n)
Предпочтительно способ дополнительно содержит этап выявления по меньшей мере пользователей ν', которые имеют опосредованную связь с пользователем u, с помощью формирования другого сообщества первого уровня C(ν), которое содержит по меньшей мере всех пользователей, непосредственно связанных с пользователем ν, при этом члены ν' сообщества первого уровня C(ν) опосредованно связаны с пользователем u, таким образом образуя сообщество второго уровня C(u) пользователя u. В этом способе, этапы определения доли пользователей ν, которые знают элемент p, и формирования рекомендации содержат выявление подмножества из N элементов p, которое оптимизирует сочетание совокупной оценки s(p, u) для пользователя u и параметра, называемого k, который указывает, до какой степени элемент p известен в сообществе C(u), сформированном блоком статистических данных сообщества, при этом k определяется следующим образом:
(n)
где |C(u)| представляет собой количество пользователей, опосредованно связанных с пользователем u,
а seen(p, ν) является функцией, которая выдает 1, если конкретный пользователь ν видел элемент p, в противном случае выдает 0, указывая, что пользователь ν не видел элемент p.
Другие предпочтительные аспекты способа соответствуют предпочтительным вариантам осуществления устройства.
Вышеупомянутые и другие аспекты, признаки и преимущества настоящего изобретения будут более очевидны из нижеследующего более конкретного его описания, представленного в сочетании со следующим чертежом, на котором Фиг. 1 изображает принципиальную схему системы, реализующей изобретение.
В последующем описании представлен лучший вариант, как предполагается в настоящее время, для выполнения изобретения. Это описание не следует рассматривать в ограничительном смысле, оно сделано просто с целью описания общих принципов изобретения. Объем изобретения должен быть определен со ссылкой на формулу изобретения.
Фиг. 1 иллюстрирует пример устройства 10 для автоматического формирования рекомендации элемента. В соответствии с Фиг. 1 устройство содержит стандартную рекомендательную систему 12, рекомендательный блок 14 обнаружения информационного наполнения и блок 16 статистических данных сообщества. Рекомендательный блок 14 обнаружения информационного наполнения имеет вход, подсоединенный к стандартной рекомендательной системе 12, и дополнительный вход, подсоединенный к блоку 16 статистических данных сообщества.
Устройство 10 дополнительно соединено с или имеет доступ к базе 20 данных элементов, базе 22 данных профилей пользователей и базе 24 данных социальных сетей. База 24 данных социальных сетей представляет собой базу данных взаимосвязей пользователей, которая содержит информацию о социальных контактах между пользователями. Профили пользователей для таких пользователей хранятся в базе 22 данных профилей пользователей. База 20 данных элементов содержит информацию об элементах, которые потенциально могут быть рекомендованы пользователю.
Стандартная рекомендательная система 12 устройства 10 соединена с или может иметь доступ к базе 20 данных элементов и базе 22 данных профилей пользователей, чтобы генерировать стандартную оценку элемента p, основанную, например, на подходе оценивания пары характеристики-значения, как известно в данной области техники.
Блок 16 статистических данных сообщества устройства 10 соединен с или может иметь доступ к базе 24 данных социальных сетей, чтобы определять количество социальных контактов, которые имеет пользователь. Социальные контакты конкретного пользователя являются дополнительными пользователями, которые знают этого конкретного пользователя или которые иным образом связаны с этим конкретным пользователем, как "друзья" в известной социальной сети, такой как Facebook. Рекомендательный блок 14 обнаружения информационного наполнения устройства 10 может формировать рекомендацию элемента, который является относительно «новым» для конкретного социального сообщества, принимая во внимание стандартную оценку элемента, как определяется стандартной рекомендательной системой 12, и дополнительно принимая во внимание степень осведомленности о конкретном элементе в конкретном социальном сообществе.
База данных элементов содержит информацию об элементах, доступных в системе, в то время как база данных профилей пользователей содержит - для каждого пользователя системы - информацию о том, какие элементы пользователь видел, или приобрел, или оценил. База данных социальных сетей содержит информацию о социальных связях, существующих между пользователями, и, следовательно, в более общем смысле называется базой данных взаимосвязей пользователей. Связи в контексте этого раскрытия в более общем смысле упоминаются как «контакты». Примерами социальных связей являются взаимоотношения "друзей" или "коллег", явно указанные пользователями. Другие связи могут быть определены путем наблюдения за трафиком частых электронных писем или другими формами передачи сообщений и взаимодействия между пользователями. Также могут быть использованы внешние социальные сети.
Стандартная рекомендательная система представляет собой рекомендательную систему, которая вычисляет оценки элементов для пользователя, основываясь на профиле этого пользователя в базе данных профилей пользователей. Примерами рекомендательных систем, которые могут использоваться, являются рекомендательные системы, основанные на наивной байесовской классификации или совместном фильтровании.
Учитывая элемент p и пользователя u, стандартная рекомендательная система вычисляет оценку s(p, u) в интервале [0, 1], указывающую уровень оценки «нравится» элемента p для пользователя u.
Последующие этапы выполняются рекомендательным блоком обнаружения информационного наполнения и блоком статистических данных сообщества для получения некоторого количества N рекомендаций элементов для данного пользователя u:
(1)
(1)
1. Блок статистических данных сообщества извлекает из базы данных социальных сетей всех пользователей C(u), непосредственно связанных с пользователем u. C(u) называется сообществом первого уровня.
(1)
(1)
(1)
(1)
(1)
(2)
2. Блок статистических данных сообщества извлекает из базы данных социальных сетей для каждого пользователя ν∈C(u) всех пользователей C(ν), непосредственно связанных с пользователем ν. Объединение C(u) и всех C(ν) для каждого ν∈C(u) в этом контексте называется сообществом второго уровня C(u). Этот этап можно повторять для создания больших групп пользователей, называемых сообществом третьего уровня, сообществом четвертого уровня и так далее, до тех пор, пока количество пользователей в наборе сообществ не окажется достаточно большим.
3. Рекомендательный блок обнаружения информационного наполнения находит подмножество из N элементов, которое оптимизирует сочетание совокупной оценки для пользователя u и параметра, называемого k, который указывает, до какой степени этот элемент известен в сообществе, созданном на этапе 2. Более формально, рекомендательное устройство обнаружения информационного наполнения вычисляет оценку s'(p, u), определяемую следующим образом:
где
Константа λ соответствующим образом выбирается в интервале [0, 1]. Функция seen(p, u) имеет значение 1, если пользователь u видел элемент p, а в противном случае она имеет значение 0.
Далее рекомендательным блоком обнаружения информационного наполнения выбираются и выводятся N элементов с наивысшей оценкой в качестве рекомендуемых элементов или элементов, которые будут рекомендоваться.
В еще одном предпочтительном варианте осуществления, чтобы элемент был интересен для персональной рекомендации друзьям, этот элемент также должен быть интересен для достаточно большого подмножества из этого сообщества. Это может быть реализовано в виде фильтра, отфильтровывающего элементы, которые, вероятно, не интересны для значительного подмножества друзей. В качестве альтернативы, это может быть включено путем расширения члена s'(p, u) таким образом, что также может быть принят во внимание уровень оценки «нравится» сообщества первого уровня, сообщества второго уровня и т.д. Влияние уровня оценки «нравится» человека может быть оценено посредством отдаленности человека от данного пользователя.
(n)
В еще одном предпочтительном варианте осуществления, чтобы избежать рекомендации одних и тех же элементов пользователю и его/ее друзьям, функция seen(p, u) может быть расширена до ‘seen- by-or-recommended-to(p,u)’ (видел или рекомендовано для (p, u)). Это исключает ситуацию, когда вся группа друзей принимает одни и те же элементы. В качестве альтернативы, оценка, вычисленная рекомендательным устройством обнаружения информационного наполнения, может быть расширена за счет включения части уровня оценки «нравится», например, посредством ее умножения, например, на максимальное значение (или среднее значение) уровней оценки «нравится» друзей в C(u):
Конечно, возможны другие функции. Приведенные функции являются только предпочтительным вариантом осуществления.