СОВМЕСТНОЕ ИСПОЛЬЗОВАНИЕ СЕКРЕТОВ С ДОВЕРЕННЫМ ИНИЦИАЛИЗАТОРОМ
SHARING OF SECRETS WITH TRUSTED INITIALISER

Уровень техники
[0001] В силу совершенствования технологии и анализа данных, множество онлайновых платформ собирают различные типы данных. Например, платформы кинопоставщиков собирают данные рейтингов от пользователей, в то время как платформы для средств социального общения собирают данные социальных сетей от пользователей. Эти собранные данные являются ценными и обычно хранятся в качестве конфиденциальной информации посредством соответствующих платформ. Различные платформы обращают все большее внимание на конфиденциальность данных и не обязательно хотят совместно использовать свои собранные данные, по меньшей мере, не в их исходной форме.
Сущность изобретения
[0002] Настоящее раскрытие описывает способы и системы для совместного использования секретов с доверенным инициализатором, например, между двумя платформами для предоставления социальных рекомендаций.
[0003] В реализации, машинореализуемый способ включает в себя: идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных рейтингов, включающих в себя соответствующие рейтинги числа изделий относительно числа пользователей; идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков, включающих в себя число пользовательских признаков, задействуемых в соответствующих рейтингах числа изделий относительно числа пользователей; прием, из социальной сетевой платформы посредством платформы рейтинга и рекомендаций по изделиям через схему совместного использования секретов с доверенным инициализатором, преобразованных данных социальных сетей, вычисленных на основе данных социальных сетей и первых входных данных из доверенного инициализатора, при этом данные социальных сетей указывают социальные отношения между любыми двумя из числа пользователей, при этом в схеме совместного использования секретов с доверенным инициализатором, социальная сетевая платформа совместно использует с платформой рейтинга и рекомендаций по изделиям преобразованные данные социальных сетей без раскрытия данных социальных сетей; и обновление, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков на основе данных рейтингов и преобразованных данных социальных сетей.
[0004] Вышеописанная реализация является реализуемой с использованием машинореализуемого способа; долговременного машиночитаемого носителя, хранящего машиночитаемые инструкции для того, чтобы осуществлять машинореализуемый способ; и машинореализованной системы, включающей в себя компьютерное запоминающее устройство, функционально соединенное с аппаратным процессором, выполненным с возможностью выполнять машинореализуемый способ/инструкции, сохраненные на долговременном машиночитаемом носителе.
[0005] Изобретение, описываемое в этом подробном описании, может реализовываться в конкретных реализациях таким образом, чтобы реализовывать одно или более следующих преимуществ. Во-первых, описанные технологии обеспечивают возможность различным платформам защищенно сотрудничать при совместном использовании секретов без раскрытия конфиденциальных или чувствительных данных, что стимулирует интеграцию и сотрудничество между платформами без компрометации конфиденциальности данных. Во-вторых, поскольку большая часть работы может осуществляться посредством различных платформ до применения схемы совместного использования секретов, описанные технологии обеспечивают более эффективные общие действия по разработке (к примеру, относительно времени, циклов процессора, использования запоминающего устройства и полосы пропускания/затора в сети) или действия, не поддерживаемые посредством текущих онлайновых платформ. В-третьих, описанные технологии могут предоставлять улучшенные модели рекомендаций платформ рейтинга и рекомендаций по изделиям и предоставлять более адресные рекомендации (к примеру, платформы рекомендаций по фильмам, предоставляющие более адресные релевантные рекомендации пользователям посредством использования полученных данных социальных сетей из платформы для средств социального общения). Другие преимущества должны становиться очевидными для специалистов в данной области техники.
[0006] В дальнейшем изложены подробности одной или более реализаций изобретения этого описания изобретения в подробном описании, в формуле изобретения и на прилагаемых чертежах и в формуле изобретения. Другие признаки, аспекты и преимущества изобретения должны становиться очевидными из подробного описания, формулы изобретения и прилагаемых чертежей.
Описание чертежей
[0007] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему для совместного использования секретов между платформой A и платформой B с доверенным инициализатором, согласно реализации настоящего раскрытия.
[0008] Фиг. 2 является блок-схемой последовательности операций, иллюстрирующей примерный способ совместного использования секретов между платформой A и платформой B с доверенным инициализатором для формирования рекомендаций посредством платформы A, согласно реализации настоящего раскрытия.
[0009] Фиг. 3 является блок-схемой последовательности операций, иллюстрирующей примерный способ совместного использования секретов между платформой A и платформой B для вычисления матричного произведения Z матрицы A и матрицы B с использованием схемы совместного использования секретов с доверительным инициализатором, согласно реализации настоящего раскрытия.
[0010] Фиг. 4 является блок-схемой последовательности операций, иллюстрирующей примерный способ для формирования рекомендации посредством платформы рейтинга и рекомендаций по изделиям с использованием схемы совместного использования секретов с доверенным инициализатором, согласно реализации настоящего раскрытия.
[0011] Фиг. 5 является блок-схемой, иллюстрирующей примерную компьютерную систему, используемую для того, чтобы предоставлять вычислительные функциональности, ассоциированные с описанными алгоритмами, способами, функциями, процессами, последовательностями операций и процедурами, как описано в настоящем раскрытии, согласно реализации настоящего раскрытия.
[0012] Аналогичные ссылки с номерами и обозначения в различных чертежах указывают аналогичные элементы.
Подробное описание изобретения
[0013] Нижеприведенное подробное описание описывает схему совместного использования секретов с доверенным инициализатором, например, между двумя платформами для предоставления рекомендаций пользователям на основе данных социальных сетей и представляется, чтобы обеспечивать возможность специалистам в данной области техники осуществлять и использовать раскрытое изобретение в контексте одной или более конкретных реализаций. Различные модификации, поправки и перестановки раскрытых реализаций могут вноситься и должны становиться очевидными для специалистов в данной области техники, и заданные общие принципы могут применяться к другим реализациям и вариантам применения, без отступления от объема раскрытия. В некоторых случаях, подробности, необязательные для того, чтобы получать понимание описанного изобретения, могут опускаться, с тем чтобы не затруднять понимание одной или более описанных реализаций необязательными подробностями, и поскольку такие подробности находятся в пределах квалификации специалистов в данной области техники. Настоящее раскрытие не имеет намерение быть ограниченным описанными или проиллюстрированными реализациями, а согласуется с самым широким объемом в соответствии с описанными принципами и признаками.
[0014] Из множества онлайновых платформ, различные платформы могут собирать различные типы данных. Например, платформа рейтинга и рекомендаций по изделиям, такая как Netflix или IMDB, собирает данные рейтингов от пользователей относительно фильмов и телесериалов. Платформа для средств социального общения или социальная сетевая платформа, такая как Facebook или Twitter, собирают данные социальных сетей от пользователей и их друзей. Социальная информация может повышать производительность системы выдачи рекомендаций, поскольку близкие друзья имеют тенденцию иметь аналогичные предпочтения. Существующие способы выдачи рекомендаций на основе социальных сетей предполагают, что данные пользовательских рейтингов изделия и данные социальных сетей между пользователями совместно используются. Тем не менее, вследствие конфиденциальности данных или других проблем, онлайновые платформы типично не используют совместно свои исходные данные с другими сторонами.
[0015] Описываются примерные технологии, которые обеспечивают возможность платформам защищенно сотрудничать при компоновке улучшенной системы выдачи рекомендаций на основе как данных рейтингов, так и на данных социальных сетей без раскрытия конфиденциальных данных каждой платформы другим. Например, социальная модель рекомендаций может обучаться на основе как данных рейтингов, так и данных социальных сетей через схему совместного использования секретов между платформой рейтинга и рекомендаций по изделиям и социальной сетевой платформой. Согласно схеме совместного использования секретов, данные, которыми обмениваются между платформами, находятся в преобразованной форме, а не в исходной форме. Данные для обмена преобразовываются таким образом, что нельзя восстанавливать или декодировать исходные данные из преобразованных данных.
[0016] Схема совместного использования секретов отличается от кодирования, шифрования или других схем для защищенной передачи данных, в которых источник данных (например, в качестве передатчика) кодирует или шифрует исходные данные в кодированную форму перед передачей, и намеченный получатель может декодировать или восстанавливать исходные данные из принимаемых кодированных данных, например, на основе известного ключа защиты или соответствующего алгоритма декодирования. Схема совместного использования секретов защищает исходные данные от становления известными для намеченного получателя. В связи с этим, источник данных может сохранять конфиденциальность исходных данных.
[0017] Схема совместного использования секретов в силу этого стимулирует сотрудничество между различными платформами и позволяет помогать достигать взаимных выгод без компрометации конфиденциальности данных. Например, при использовании раскрытой схемы совместного использования секретов, платформа рейтинга и рекомендаций по изделиям может использовать информацию социальных сетей из социальной сетевой платформы, чтобы лучше прогнозировать потребности пользователя и предоставлять адресные рекомендации для пользователей, приводя к улучшенным возможностям работы пользователей, и потенциальная прибыль возвращается в платформу рейтинга и рекомендаций по изделиям.
ij
[0018] Фиг. 1 является блок-схемой, иллюстрирующей примерную систему 100 для совместного использования секретов между платформой A 102 и платформой B 104, согласно реализации настоящего раскрытия. Платформа A 102 может включать в себя, но не только, платформу рейтинга и рекомендаций по изделиям в сфере развлечений, розничной торговли, обслуживания и в других отраслях или секторах, в которых пользователи могут присваивать рейтинги продуктам, услугам или другим изделиям. Примеры платформы рейтинга и рекомендаций по изделиям включают в себя, например, Amazon, Netflix или IMDB. Платформа A 102 может собирать данные R рейтингов от своих пользователей. Данные R рейтингов могут включать в себя один или более фактических рейтингов одного или более изделий (например, продуктов или услуг), представляемых пользователями, либо один или более увязанных рейтингов на основе щелчков пользователя, покупок, поиска или других статистических действий относительно изделий. Рейтинги могут отражать потребности, пристрастия или предпочтения пользователя изделий. Рейтинги могут иметь конкретный диапазон (например, [0, 1] или [1, 5]). В некоторых реализациях, данные R рейтингов могут представляться в матрице, имеющей размерность M* N, где M представляет число пользователей, и N представляет число изделий, при этом записи R представляют рейтинг изделия j пользователем i.
[0019] Платформа A 102 также может включать в себя пользовательские данные, которые могут включать в себя, например, имена, возрасты, пол, адреса пользователей или любую другую информацию счета или профиля, предыстории покупок, предыстории просмотров или предыстории поиска пользователей в платформе A 102. Платформа A 102 также может включать в себя данные изделий, которые могут включать в себя, например, названия, категории, цены, ключевые слова, инструкции и т.д., связанные с изделиями.
ij
i
j
[0020] В некоторых реализациях, собранные данные R рейтингов могут представлять собой разреженную матрицу, поскольку только небольшое число (по сравнению с M*N) записей R имеют фактический рейтинг или увязанный рейтинг на основе существующих пользовательских действий относительно изделий. В некоторых реализациях, платформа A 102 может прогнозировать известные рейтинги изделий таким образом, чтобы предоставлять адресные рекомендации по изделиям пользователям. В некоторых реализациях, платформа A 102 может прогнозировать известные рейтинги изделий, например, на основе пользовательских данных и данных изделий согласно алгоритмам машинного обучения или статистической обработки. В качестве примера, платформа A 102 может предоставлять рекомендации по изделиям на основе данных U пользовательских признаков (также называемых "пользовательскими факторными данными") и данных V признаков изделий (также называемых "факторными данными изделий") согласно способам матричной факторизации или другим технологиям. В частности, каждый пользователь (например, пользователь i) может характеризоваться посредством вектора (например, U) пользовательских признаков, таких как возраст, пол, геолокация, шаблон посещений и т.д. Каждое изделие (например, изделие j) может характеризоваться посредством вектора (например, V) признаков изделия, таких как категория, ключевые слова, темы, цены и т.д. Пользовательские признаки и признаки изделий могут представлять собой факторы, которые оказывают влияние на рейтинг, выбор или покупку данным пользователем данного изделия. В некоторых реализациях, рейтинг изделия, предоставленный пользователем, может аппроксимироваться посредством произведения с точкой вектора пользовательских признаков и вектора признаков изделий. Например:
, (1)
i
j
ij
где U представляет вектор данных пользовательских признаков, соответствующих пользователю i; V представляет вектор данных признаков изделия, соответствующих изделию j; и R представляет рейтинг изделия j пользователем i.
i
j
[0021] В некоторых реализациях, вектор пользовательских признаков (например, U) и вектор признаков изделий (например, V) представляют собой собственные векторы, которые могут распознаваться из обучающих данных (например, известных данных рейтингов).
[0022] Платформа B 104 может включать в себя, но не только, платформу для средств социального общения (к примеру, Facebook, Twitter или Instragram). Платформа B 104 может собирать данные S социальных сетей от своих пользователей. Данные социальных сетей могут включать в себя, например, имена, возрасты, пол, адреса, должности, родственные отношения, хобби, статусы, комментарии, блоги, предысторию просмотров или другие демографические данные, информацию занятости, информацию по предпочтениям в развлечениях пользователя на платформе B, а также соответствующую информацию друзей, семьи, коллег пользователя и т.д. Такие данные S социальных сетей могут быть информативными для платформы A для прогнозирования рейтинга пользователя изделия и предоставления рекомендаций.
[0023] Например, платформа A может прогнозировать рейтинги пользователя посредством решения задачи оптимизации, как показано в формуле (2):
(2)
ik
где Sпредставляет социальные отношения между пользователем i и пользователем k в данных S социальных сетей;  представляет предварительно заданный весовой коэффициент, ассоциированный с данными социальных сетей; и  представляет предварительно заданный весовой коэффициент для предотвращения переобучения (overfitting).
1
2
M
1
2
N
[0024] В этом примере, целевая функция в правой стороне формулы (2) включает в себя 3 члена. Первый член  представляет ошибку или расстояние между известными данными рейтингов и аппроксимированным рейтингом, вычисленным на основе данных пользовательских признаков (например, U=[U, U,...,U]) и данных признаков изделий (например, V=[V, V,...,V]). Второй член  представляет влияние данных S социальных сетей на векторы пользовательских признаков. Например, чем более близкими или более тесными являются социальные отношения двух пользователей, тем более похожими являются два вектора признаков пользователей. В некоторых реализациях, чем больше , тем более близкими или более тесными являются социальные отношения двух пользователей. Третий член  используется для предотвращения переобучения. Значения весовых коэффициентов  и  могут быть предварительно определены. Чем больше весовой коэффициент, тем больше влияние соответствующего члена на целевую функцию.
[0025] Вышеуказанная задача оптимизации для минимизации целевой функции может решаться, например, посредством градиентного спуска или другого алгоритма. Например, взятие производной собственных векторов U и V относительно формулы (2) и выражение результатов в матричной форме может приводить к нижеуказанным двум уравнениям:
(3)
(4)
[0026] Чтобы разрешать относительно U и V в вышеуказанных уравнениях (3) и (4), результаты матричных произведений  и  являются достаточными, без необходимости знать значения U и S отдельно. В связи с этим, схема совместного использования секретов может использоваться посредством платформ A и B для того, чтобы получать результаты матричных произведений  и . Согласно схеме совместного использования секретов, платформа A может раскрывать преобразованный U для платформы B без раскрытия исходного U для платформы B; и платформа B может раскрывать преобразованный S для платформы A без раскрытия исходного S для платформы A.
[0027] В некоторых реализациях, схема совместного использования секретов может реализовываться с/без доверительного инициализатора. С доверительным инициализатором, общая исходная точка может устанавливаться посредством доверительного инициализатора и отправляться в две платформы, чтобы помогать при их обмене данными. Без доверительного инициализатора, две платформы могут формировать случайные числа в качестве своих соответствующих исходных точек, чтобы помогать при их обмене данными. Платформы могут извлекать выгоду из сотрудничества без совместного использования чувствительной конфиденциальной информации.
t
[0028] Фиг. 2 является блок-схемой последовательности операций, иллюстрирующей примерный способ 200 совместного использования секретов между платформой A и платформой B с доверенным инициализатором для формирования рекомендаций посредством платформы A, согласно реализации настоящего раскрытия. Платформа A может представлять собой платформу A, описанную на фиг. 1, и платформа B может представлять собой платформу B, описанную на фиг. 1. В некоторых реализациях, примерный способ совместного использования секретов может реализовываться в итеративном алгоритме. Число T итераций, например, может быть предварительно определенным значением или определяться на основе определенных критериев (например, того, сходится либо нет алгоритм, либо того, находится или нет обновления или разности U или V после различных итераций ниже порогового значения). На 202, платформа A идентифицирует данные R пользовательских рейтингов и начальные данные U пользовательских признаков и данные V признаков изделий и число T итераций. На 204, платформа B идентифицирует данные S социальных сетей. Для -той итерации (t<T), на 208, платформа A и платформа B могут выполнять схему совместного использования секретов с доверенным инициализатором, чтобы получать матричные произведения  и . На 206, платформа A обновляет U или V на основе матричных произведений  и , например, согласно уравнениям (3) и (4). После T итераций, на 210, признак изделия для платформы A формирует рекомендации на основе обновленных данных U пользовательских признаков и данных V признаков изделий.
[0029] В некоторых реализациях, пусть матрица Z представляет собой произведение матрицы A и матрицы B. Таким образом, Z=B.  представляет запись/элемент Z в i-ой строке и j-ом столбце.  может вычисляться, например, согласно уравнению (5). Матричные произведения  и . Например,
, (5)
где  представляет i-ую строку матрицы A, и  представляет j-ый столбец матрицы B.
[0030] Фиг. 3 является блок-схемой последовательности операций способа, иллюстрирующей вычисление матричного произведения Z матриц A и B с использованием схемы совместного использования секретов между платформой A 302 и платформой B 322 с доверенным инициализатором 350, согласно реализации настоящего раскрытия. В схеме совместного использования секретов с доверенным инициализатором, доверительный инициализатор 350 отправляет начальные значения 352 (X1, Y1, W1) в платформу A 302 и отправляет начальные значения 354 (X2, Y2, W2) в платформу B 322. Начальные значения как для платформы A, так и для платформы B могут быть случайными значениями или предварительно определенными значениями. На 304 и 324, и платформа A 302 и платформа B 322 получают соответствующий ввод A и ввод B. Ввод A 304 включает в себя, но не только, рандомизированные входные данные или предварительно определенные входные данные (например, данные U пользовательских признаков), и ввод B 324 включает в себя, но не только, рандомизированные входные данные или предварительно определенные входные данные социальных сетей (например, данные  или S социальных сетей).
[0031] После того, как обе платформы получают входные данные, платформа A 302 формирует случайную матрицу A1 на 306, и платформа B 322 формирует случайную матрицу B1 на 326. На 308, полученный ввод A 304 и случайная матрица A1 306 используются для того, чтобы просчитывать A2 таким образом, что A2=A-A1. На 309, A2 отправляется в платформу B 322 для вычисления без раскрытия исходных данных A. A2 отправляется в платформу B 322. На 328, ввод B 324 и случайная матрица B1 326 используются для того, чтобы просчитывать B2 таким образом, что B2=B-B1. На 329, B2 отправляется в платформу A 302 для вычисления без раскрытия исходных данных B. На 310, платформа A 302 рассчитывает D1 с использованием A1 и X1 таким образом, что D1=A1-X1, и рассчитывает E1 с использованием B1 и Y1 таким образом, что E1=B1-Y1. С другой стороны, на 330, платформа B 322 рассчитывает D2 с использованием A2 и X2 таким образом, что D2=A2-X2, и рассчитывает E2 с использованием B2 и Y2 таким образом, что E2=B2-Y2. На 311, платформа A 302 отправляет D1 и E1 в платформу B 322. На 331, платформа B 322 отправляет D2 и E2 в платформу A 302. На 312, обе платформы A и B могут рассчитывать D с использованием D1 и D2 таким образом, что D=D1+D2, и рассчитывать E с использованием E1 и E2 таким образом, что E=E1+E2. Когда D и E вычислены, обе платформы A и B могут формировать выводы, которые могут использоваться для обновления данных пользовательских признаков и данных признаков изделий. Например, для формирования выводов, на 314, платформа A 302 рассчитывает Z1 посредством W1+E*X1+D*Y1+D*E, где * обозначает умножение. На 334, платформа B 322 рассчитывает Z2 посредством W2+E*X2+D*Y2+D*E, где * обозначает умножение.
[0032] На 315, платформа A может принимать Z2 из платформы B. В некоторых реализациях, Z2 представляют собой примерные преобразованные данные социальных сетей, вычисленные на основе данных социальных сетей (например, B) первых входных данных из доверенного инициализатора (например, X2, Y2, W2). На 335, платформа B может принимать Z1 из платформы A. В некоторых реализациях, Z1 представляют собой примерные преобразованные данные пользовательских признаков, вычисленные на основе данных пользовательских признаков (например, A) и вторых входных данных из доверенного инициализатора (например, X1, Y1, W1). Сумма Z1 и Z2 равна произведению матриц A и B. Таким образом, AB=Z1+Z2. В связи с этим, на 316, платформа A может вычислять произведение матриц A и B посредством вычисления суммы Z1 и Z2, которые представляют собой преобразованные данные, матрицы A и матрицы B. Аналогично, платформа B также может вычислять произведение матриц A и B посредством вычисления суммы Z1 и Z2.
[0033] Посредством замены матрицы U на A и замены d на B, может получаться матричное произведение . Аналогично, посредством подстановки замены U на A и замены S на B, может получаться матричное произведение . С использованием матричных произведений  и, платформа A может обновлять данные U пользовательских признаков и данные V признаков изделий, например, согласно уравнениям (3) и (4), как описано относительно 206 на фиг. 2.
[0034] Вычисления, описанные на фиг. 3, предоставляют примерный способ обновления данных пользовательских признаков и данных признаков изделий. На основе обновленных данных пользовательских признаков и данных признаков изделий, платформа A 302 может формировать прогнозированные данные рейтингов. В некоторых реализациях, платформа A 302 может, в числе прочего, формировать рекомендации для конкретного изделия для конкретного клиента на основе прогнозированных данных рейтингов.
[0035] Фиг. 4 является блок-схемой последовательности операций примерного способа 400 для формирования рекомендации пользователю посредством платформы рейтинга и рекомендаций по изделиям с использованием схемы совместного использования секретов с доверенным инициализатором, согласно реализации. Для ясности представления, нижеприведенное описание, в общем, описывает способ 400 в контексте других чертежей в этом описании. Например, платформа рейтинга и рекомендаций по изделиям может представлять собой платформу A, как описано относительно фиг 1-3. Тем не менее, следует понимать, что способ 400 может осуществляться, например, посредством любой подходящей системы, окружения, программного обеспечения и аппаратных средств либо комбинации систем, окружений, программного обеспечения и аппаратных средств, надлежащим образом. В некоторых реализациях, различные этапы способа 400 могут выполняться параллельно, в комбинации, циклически или в любом порядке.
[0036] На 402, данные рейтингов, включающие в себя, но не только, соответствующие рейтинги числа изделий относительно числа пользователей, идентифицируются посредством платформы рейтинга и рекомендаций по изделиям. Идентификация данных рейтингов включает в себя прием (например, из другого устройства), извлечение или загрузку из запоминающего устройства либо определение данных рейтингов на основе одного или более вводов в способ 400. Данные рейтингов могут включать в себя данные R рейтингов, описанные относительно фиг. 1-3. Например, данные рейтингов могут включать в себя фактические рейтинги или увязанные рейтинги на основе существующих пользовательских действий относительно изделий. От 402, способ 400 переходит к 404.
[0037] На 404, данные пользовательских признаков, включающие в себя число пользовательских признаков, задействуемых в соответствующих рейтингах числа изделий относительно числа пользователей, идентифицируются посредством платформы рейтинга и рекомендаций по изделиям. Идентификация данных пользовательских признаков включает в себя прием (например, из другого устройства), извлечение или загрузку из запоминающего устройства либо определение данных пользовательских признаков на основе одного или более вводов в способ 400. Данные рейтингов могут включать в себя данные U пользовательских признаков, описанные относительно фиг. 1-3. От 404, способ 400 переходит к 406.
[0038] На 406, данные признаков изделий, включающие в себя число признаков изделий, задействуемых в соответствующих рейтингах числа изделий относительно числа пользователей, идентифицируются посредством платформы рейтинга и рекомендаций по изделиям. Идентификация данных признаков изделий включает в себя прием (например, из другого устройства), извлечение или загрузку из запоминающего устройства или определение данных признаков изделий на основе одного или более вводов в способ 400. Данные рейтингов могут включать в себя данные V признаков изделий, описанные относительно фиг. 1-3. От 406, способ 400 переходит к 408.
[0039] На 408, платформа рейтинга и рекомендаций по изделиям принимает преобразованные данные социальных сетей из социальной сетевой платформы через схему совместного использования секретов с доверенным инициализатором из социальной сетевой платформы. В некоторых реализациях, преобразованные данные социальных сетей могут вычисляться на основе данных социальных сетей и первых входных данных из доверенного инициализатора. Данные социальных сетей указывают социальные отношения между любыми двумя из числа пользователей. В схеме совместного использования секретов с доверенным инициализатором, социальная сетевая платформа совместно использует с платформой рейтинга и рекомендаций по изделиям преобразованные данные социальных сетей без раскрытия данных социальных сетей. В некоторых реализациях, в схеме совместного использования секретов с доверенным инициализатором, платформа рейтинга и рекомендаций по изделиям совместно использует с социальной сетевой платформой преобразованные данные пользовательских признаков (например, Z2, как описано относительно фиг. 3) без раскрытия данных пользовательских признаков (например, A), при этом преобразованные данные пользовательских признаков вычисляются на основе данных пользовательских признаков и первых входных данных из доверенного инициализатора (например, X2, Y2, W2). В некоторых реализациях, преобразованные данные социальных сетей преобразованы таким образом, что нельзя восстановить исходные данные социальных сетей из преобразованных данных социальных сетей.
[0040] В некоторых реализациях, схема совместного использования секретов с доверенным инициализатором используется для решения задачи оптимизации, как описано относительно формулы (2), как описано относительно фиг. 3. Например, в схеме совместного использования секретов с доверенным инициализатором, платформа рейтинга и рекомендаций по изделиям получает вторые входные данные из доверенного инициализатора (например, X1, Y1, W1) и формирует первые преобразованные данные пользовательских признаков (например, A1) на основе данных пользовательских признаков (например, A) и вторых входных данных из доверенного инициализатора. Платформа рейтинга и рекомендаций по изделиям передает в социальную сетевую платформу первые преобразованные данные пользовательских признаков (например, A2) и принимает, из социальной сетевой платформы, первые преобразованные данные социальных сетей (например, B2), вычисленные на основе данных социальных сетей (например, A) и первых входных данных (например, X2, Y2, W2) из доверенного инициализатора. Платформа рейтинга и рекомендаций по изделиям может формировать число промежуточных данных (например, D1, E1) на основе двух или более из первых преобразованных данных пользовательских признаков (например, A2), первых преобразованных данных социальных сетей (например, B2) или вторых входных данных (например, X1, Y1, W1) из доверенного инициализатора. Платформа рейтинга и рекомендаций по изделиям может передавать в социальную сетевую платформу число промежуточных данных и принимать из социальной сетевой платформы число промежуточных данных социальных сетей (например, D2, E2), вычисленных на основе двух или более из первых преобразованных данных пользовательских признаков (например, A2), первых преобразованных данных социальных сетей (например, B2) или первых входных данных из доверенного инициализатора (например, X1, Y1, W1). Платформа рейтинга и рекомендаций по изделиям может формировать преобразованные данные пользовательских признаков (например, Z1) на основе двух или более из числа промежуточных данных (например, D1, E1), множества промежуточных данных социальных сетей (например, D2, E2) или вторых входных данных из доверенного инициализатора (например, X1, Y1, W1). Аналогично, социальная сетевая платформа может формировать преобразованные данные социальных сетей (например, Z2) на основе двух или более из числа промежуточных данных (например, D1, E1), множества промежуточных данных социальных сетей (например, D2, E2) или первых входных данных из доверенного инициализатора (например, X2, Y2, W2). От 408, способ 400 переходит к 410.
[0041] На 410, платформа рейтинга и рекомендаций по изделиям отправляет преобразованные данные пользовательских признаков в социальную сетевую платформу без раскрытия данных пользовательских признаков. В некоторых реализациях, преобразованные данные пользовательских признаков могут включать в себя, например, Z1, как описано относительно фиг. 3. От 410, способ 400 переходит к 412.
[0042] На 412, платформа рейтинга и рекомендаций по изделиям обновляет данные пользовательских признаков на основе данных рейтингов и преобразованных данных социальных сетей. В некоторых реализациях, обновление данных пользовательских признаков включает в себя вычисление произведения данных пользовательских признаков (например, U) и данных социальных сетей (например, S или d) посредством вычисления суммы преобразованных данных пользовательских признаков и преобразованных данных социальных сетей. В некоторых реализациях, данные пользовательских признаков включают в себя решение задачи оптимизации, чтобы минимизировать взвешенную сумму разности между прогнозированными данными рейтингов и данными рейтингов, данных пользовательских признаков, взвешенных посредством данных социальных сетей, и члена для предотвращения переобучения, например, как показано в формуле (2). В некоторых реализациях, обновление данных пользовательских признаков включает в себя обновление данных пользовательских признаков согласно примерным технологиям, описанным относительно фиг. 3. От 412, способ 400 переходит к 414.
[0043] На 414, платформа рейтинга и рекомендаций по изделиям обновляет данные признаков изделий на основе данных рейтингов и данных пользовательских признаков, например, согласно примерным технологиям, описанным относительно фиг. 3. Например, обновление данных пользовательских признаков может включать в себя вычисление произведения данных пользовательских признаков (например, A) и данных социальных сетей (например, A) посредством вычисления суммы преобразованных данных пользовательских признаков (например, Z1) и преобразованных данных социальных сетей (например, Z2). От 414, способ 400 переходит к 416.
[0044] На 416, формируются прогнозированные данные рейтингов числа изделий относительно числа пользователей на основе произведения данных пользовательских признаков и данных признаков изделий. В некоторых реализациях, прогнозированные данные рейтингов могут формироваться, например, на основе произведения данных пользовательских признаков и данных признаков изделий согласно уравнению (1). В некоторых реализациях, сформированный рейтинг может лучше совмещаться с потребностями или предпочтениями пользователей вследствие включения социальной сети. От 416, способ 400 переходит к 418.
[0045] На 418, формируется рекомендация по конкретному изделию для конкретного пользователя на основе прогнозированных данных рейтингов. В некоторых реализациях, одно или более изделий с лучшими прогнозными рейтингами относительно конкретного пользователя могут рекомендоваться конкретному пользователю. Рекомендация по конкретному изделию может представлять собой рекомендацию по фильму или покупаемому товару. Например, Netflix может лучше рекомендовать фильм, или Amazon может лучше рекомендовать изделие на основе данных социальных сетей. В некоторых реализациях, рекомендация по конкретному изделию для конкретного изделия может выводиться, например, через пользовательский интерфейс (UI). В некоторых реализациях, выбранные темы могут отображаться в окне чата, всплывающем окне и т.д. в графическом пользовательском интерфейсе (GUI) или в других UI для анализа и рассмотрения пользователем. После 418, способ 400 прекращается.
[0046] Фиг. 5 является блок-схемой примерной компьютерной системы 500, используемой для того, чтобы предоставлять вычислительные функциональности, ассоциированные с описанными алгоритмами, способами, функциями, процессами, последовательностями операций и процедурами, как описано в настоящем раскрытии, согласно реализации. Проиллюстрированный компьютер 502 имеет намерение охватывать любое вычислительное устройство, такое как сервер, настольный компьютер, переносной компьютер/ноутбук, порт беспроводной передачи данных, смартфон, персональное цифровое устройство (PDA), планшетное вычислительное устройство, один или более процессоров в этих устройствах либо любое другое подходящее обрабатывающее устройство, включающее в себя физические или виртуальные экземпляры (либо и то, и другое) вычислительного устройства. Дополнительно, компьютер 502 может включать в себя компьютер, который включает в себя устройство ввода, такое как клавишная панель, клавиатура, сенсорный экран или другое устройство, которое может подтверждать пользовательскую информацию, и устройство вывода, которое передает информацию, ассоциированную с работой компьютера 502, включающую в себя цифровые данные, визуальную или аудиоинформацию (либо комбинацию информации) или графический пользовательский интерфейс (UI) (или GUI).
[0047] Компьютер 502 может служить в роли клиента, сетевого компонента, сервера, базы данных или другого постоянного хранилища либо любого другого компонента (либо в комбинации ролей) компьютерной системы для выполнения изобретения, описанного в этом раскрытии. Проиллюстрированный компьютер 502 соединяется с возможностью связи с сетью 530. В некоторых реализациях, один или более компонентов компьютера 502 могут быть выполнены с возможностью работать в окружениях, включающих в себя основанные на облачных вычислениях, локальные, глобальные или другие окружения (либо комбинацию окружений).
[0048] На высоком уровне, компьютер 502 представляет собой электронное вычислительное устройство, выполненное с возможностью принимать, передавать, обрабатывать, сохранять или управлять данными и информацией, ассоциированной с описанным изобретением. Согласно некоторым реализациям, компьютер 502 также может включать в себя или соединяться с возможностью связи с сервером приложений, почтовым сервером, веб-сервером, сервером кэширования, сервером потоковых данных или другими серверами (либо с комбинацией серверов).
[0049] Компьютер 502 может принимать запросы по сети 530 из клиентского приложения (например, выполняющегося на другом компьютере 502) и отвечать на принимаемые запросы посредством обработки принимаемых запросов с использованием соответствующего приложения(й). Помимо этого, запросы также могут отправляться в компьютер 502 от внутренних пользователей (например, из командной консоли или посредством других соответствующих способов доступа), внешних или третьих сторон, других автоматизированных приложений, а также любых других соответствующих объектов, людей, систем или компьютеров.
[0050] Каждый из компонентов компьютера 502 может обмениваться данными с использованием системной шины 503. В некоторых реализациях, любые из компонентов компьютера 502, аппаратных средств или программного обеспечения (либо комбинации аппаратных средств и программных обеспечений), могут взаимодействовать между собой или с интерфейсом 504 (либо с комбинацией означенного) по системной шине 503 с использованием интерфейса 512 прикладного программирования (API) или уровня 513 предоставления услуг (либо комбинации API 512 и уровня 513 предоставления услуг). API 512 может включать в себя технические требования для процедур, структур данных и классов объектов. API 512 может быть независимым или зависимым от машинного языка и означать полный интерфейс, одну функцию или даже набор API. Уровень 513 предоставления услуг предоставляет программные услуги в компьютер 502 или другие компоненты (независимо от того, проиллюстрированы они или нет), которые соединяются с возможностью связи с компьютером 502. Функциональность компьютера 502 может быть доступной для всех потребителей услуги с использованием этого уровня предоставления услуг. Программные услуги, к примеру, услуги, предоставленные посредством уровня 513 предоставления услуг, предоставляют многократно используемые, заданные функциональности посредством заданного интерфейса. Например, интерфейс может представлять собой программное обеспечение, написанное на JAVA, C++ либо на других подходящих языках, предоставляющих данные в формате расширяемого языка разметки (XML) или в других подходящих форматах. Хотя проиллюстрированы в качестве интегрального компонента компьютера 502, альтернативные реализации могут иллюстрировать API 512 или уровень 513 предоставления услуг в качестве автономных компонентов относительно других компонентов компьютера 502 или других компонентов (независимо от того, проиллюстрированы они или нет), которые соединяются с возможностью связи с компьютером 502. Кроме того, любые части API 512 или уровня 513 предоставления услуг могут реализовываться как дочерний элемент или подмодули другого программного модуля, корпоративного приложения или аппаратного модуля без отступления от объема данного раскрытия.
[0051] Компьютер 502 включает в себя интерфейс 504. Хотя иллюстрируется в качестве одного интерфейса 504 на фиг. 5, два или более интерфейса 504 могут использоваться согласно конкретным потребностям, желаниям либо конкретным реализациям компьютера 502. Интерфейс 504 используется посредством компьютера 502 для обмена данными с другими системами, которые соединяются с сетью 530 (независимо от того, проиллюстрирована она или нет) в распределенном окружении. Обычно, интерфейс 504 включает в себя логику, кодированную в программном обеспечении или в аппаратных средствах (либо в комбинации программного обеспечения и аппаратных средств), и выполнен с возможностью обмениваться данными с сетью 530. Более конкретно, интерфейс 504 может включать в себя программное обеспечение, поддерживающее один или более протоколов связи, ассоциированных со связью таким образом, что сеть 530 или аппаратные средства интерфейса выполнены с возможностью обмениваться физическими сигналами в пределах/за пределами проиллюстрированного компьютера 502.
[0052] Компьютер 502 включает в себя процессор 505. Хотя иллюстрируется в качестве одного процессора 505 на фиг. 5, два или более процессоров могут использоваться согласно конкретным потребностям, желаниям либо конкретным реализациям компьютера 502. Обычно, процессор 505 выполняет инструкции и манипулирует данными, чтобы выполнять операции компьютера 502 и любые алгоритмы, способы, функции, процессы, последовательности операций и процедуры, как описано в настоящем раскрытии.
[0053] Компьютер 502 также включает в себя базу 506 данных, которая может хранить данные для компьютера 502 или других компонентов (либо для комбинации означенного), которые могут соединяться с сетью 530 (независимо от того, проиллюстрирована она или нет). Например, база 506 данных может представлять собой базу данных в запоминающем устройстве, традиционную базу данных либо другой тип базы данных, хранящей данные в соответствии с этим раскрытием. В некоторых реализациях, база 506 данных может представлять собой комбинацию двух или более различных типов баз данных (например, гибридной базы данных в оперативном запоминающем устройстве и традиционной базы данных в оперативном запоминающем устройстве) согласно конкретным потребностям, желаниям либо конкретным реализациям компьютера 502 и описанной функциональности. Хотя иллюстрируется в качестве одной базы 506 данных на фиг. 5, две или более баз данных (идентичного либо комбинации типов) могут использоваться согласно конкретным потребностям, желаниям либо конкретным реализациям компьютера 502 и описанной функциональности. Хотя база 506 данных проиллюстрирована в качестве неотъемлемого компонента компьютера 502, в альтернативных реализациях, база 506 данных может быть внешней для компьютера 502. Как проиллюстрировано, база 506 данных хранит вышеописанные данные 516 рейтингов, данные 518 пользовательских признаков, данные 526 признаков изделий и данные 528 социальных сетей.
[0054] Компьютер 502 также включает в себя запоминающее устройство 507, которое может хранить данные для компьютера 502 или других компонентов (либо для комбинации означенного) которые могут соединяться с сетью 530 (независимо от того, проиллюстрирована она или нет). Запоминающее устройство 507 может хранить любые данные в соответствии с этим раскрытием. В некоторых реализациях, запоминающее устройство 507 может представлять собой комбинацию двух или более различных типов запоминающего устройства (например, комбинацией полупроводникового и магнитного устройства хранения данных) согласно конкретным потребностям, желаниям либо конкретным реализациям компьютера 502 и описанной функциональности. Хотя иллюстрируется в качестве одного запоминающего устройства 507 на фиг. 5, два или более запоминающих устройств 507 (идентичного либо комбинации типов) могут использоваться согласно конкретным потребностям, желаниям либо конкретным реализациям компьютера 502 и описанной функциональности. Хотя запоминающее устройство 507 проиллюстрировано в качестве неотъемлемого компонента компьютера 502, в альтернативных реализациях, запоминающее устройство 507 может быть внешним для компьютера 502.
[0055] Приложение 508 представляет собой алгоритмический программный механизм, предоставляющий функциональность согласно конкретным потребностям, желаниям либо конкретным реализациям компьютера 502, в частности, относительно функциональности, описанной в этом раскрытии. Например, приложение 508 может служить в качестве одного или более компонентов, модулей или приложений. Дополнительно, хотя иллюстрируется в качестве одного приложения 508, приложение 508 может реализовываться как несколько приложений 508 на компьютере 502. Помимо этого, хотя иллюстрируется в качестве неотъемлемого в компьютере 502, в альтернативных реализациях, приложение 508 может быть внешним для компьютера 502.
[0056] Компьютер 502 также может включать в себя источник 514 мощности. Источник 514 мощности может включать в себя перезаряжаемый или неперезаряжаемый аккумулятор, который может быть выполнен с возможностью быть заменяемым или незаменяемым пользователем. В некоторых реализациях, источник 514 мощности может включать в себя схемы преобразования или управления мощностью (включающие в себя перезаряд, режим готовности или другую функциональность управления мощностью). В некоторых реализациях, источник 514 мощности может включать в себя силовой штепсель, чтобы обеспечивать возможность подключения компьютера 502 в настенное гнездо или другой источник мощности, например, что подавать мощность в компьютер 502 или перезаряжать перезаряжаемый аккумулятор.
[0057] Может быть предусмотрено любое число компьютеров 502, ассоциированных или внешних по отношению к компьютерной системе, содержащей компьютер 502, причем каждый компьютер 502 обменивается данными по сети 530. Дополнительно, термин "клиент", "пользователь" и другие соответствующие термины могут использоваться взаимозаменяемо, надлежащим образом, без отступления от объема данного раскрытия. Кроме того, это раскрытие предполагает то, что множество пользователей могут использовать один компьютер 502, или то, что один пользователь может использовать несколько компьютеров 502.
[0058] Описанные реализации изобретения могут включать в себя один или более признаков, отдельно или в комбинации.
[0059] Например, в первой реализации, машинореализуемый способ включает в себя: идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных рейтингов, включающих в себя соответствующие рейтинги числа изделий относительно числа пользователей; идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков, включающих в себя число пользовательских признаков, задействуемых в соответствующих рейтингах числа изделий относительно числа пользователей; прием, из социальной сетевой платформы посредством платформы рейтинга и рекомендаций по изделиям через схему совместного использования секретов с доверенным инициализатором, преобразованных данных социальных сетей, вычисленных на основе данных социальных сетей и первых входных данных из доверенного инициализатора, при этом данные социальных сетей указывают социальные отношения между любыми двумя из числа пользователей, при этом в схеме совместного использования секретов с доверенным инициализатором, социальная сетевая платформа совместно использует с платформой рейтинга и рекомендаций по изделиям преобразованные данные социальных сетей без раскрытия данных социальных сетей; и обновление, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков на основе данных рейтингов и преобразованных данных социальных сетей.
[0060] Во второй реализации, долговременный машиночитаемый носитель хранит одну или более инструкций, выполняемых посредством компьютерной системы, чтобы выполнять операции, включающие в себя: идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных рейтингов, включающих в себя соответствующие рейтинги числа изделий относительно числа пользователей; идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков, включающих в себя число пользовательских признаков, задействуемых в соответствующих рейтингах числа изделий относительно числа пользователей; прием, из социальной сетевой платформы посредством платформы рейтинга и рекомендаций по изделиям через схему совместного использования секретов с доверенным инициализатором, преобразованных данных социальных сетей, вычисленных на основе данных социальных сетей и первых входных данных из доверенного инициализатора, при этом данные социальных сетей указывают социальные отношения между любыми двумя из числа пользователей, при этом в схеме совместного использования секретов с доверенным инициализатором, социальная сетевая платформа совместно использует с платформой рейтинга и рекомендаций по изделиям преобразованные данные социальных сетей без раскрытия данных социальных сетей; и обновление, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков на основе данных рейтингов и преобразованных данных социальных сетей.
[0061] В третьей реализации, машинореализованная система включает в себя: один или более компьютеров; и одно или более компьютерных запоминающих устройств, функционально соединенных с одним или более компьютеров и имеющих материальные долговременные машиночитаемые носители, хранящие инструкции, которые, при их исполнении посредством одного или более компьютеров, выполняют операции, включающие в себя: идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных рейтингов, включающих в себя соответствующие рейтинги числа изделий относительно числа пользователей; идентификацию, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков, включающих в себя число пользовательских признаков, задействуемых в соответствующих рейтингах числа изделий относительно числа пользователей; прием, из социальной сетевой платформы посредством платформы рейтинга и рекомендаций по изделиям через схему совместного использования секретов с доверенным инициализатором, преобразованных данных социальных сетей, вычисленных на основе данных социальных сетей и первых входных данных из доверенного инициализатора, при этом данные социальных сетей указывают социальные отношения между любыми двумя из числа пользователей, при этом в схеме совместного использования секретов с доверенным инициализатором, социальная сетевая платформа совместно использует с платформой рейтинга и рекомендаций по изделиям преобразованные данные социальных сетей без раскрытия данных социальных сетей; и обновление, посредством платформы рейтинга и рекомендаций по изделиям, данных пользовательских признаков на основе данных рейтингов и преобразованных данных социальных сетей.
[0062] Вышеприведенные и другие описанные реализации, необязательно, могут включать в себя один или более следующих признаков:
[0063] Первый признак, комбинируемый с любым из следующих признаков, в котором в схеме совместного использования секретов с доверенным инициализатором, платформа рейтинга и рекомендаций по изделиям совместно использует с социальной сетевой платформой преобразованные данные пользовательских признаков без раскрытия данных пользовательских признаков, и при этом преобразованные данные пользовательских признаков вычисляются на основе данных пользовательских признаков и вторых входных данных из доверенного инициализатора.
[0064] Второй признак, комбинируемый с любым из предыдущих или последующих признаков, способом или операциями, дополнительно включает в себя: идентификацию данных признаков изделий, включающих в себя число признаков изделий, задействуемых в соответствующих рейтингах числа изделий относительно числа пользователей, при этом произведение данных пользовательских признаков и данных признаков изделий приводит к оценке данных рейтингов; и обновление данных признаков изделий на основе данных рейтингов и данных пользовательских признаков.
[0065] Третий признак, комбинируемый с любым из предыдущих или последующих признаков, способом или операциями, дополнительно включает в себя: формирование прогнозированных данных рейтингов числа изделий относительно числа пользователей на основе произведения данных пользовательских признаков и данных признаков изделий; и формирование рекомендации по конкретному изделию для конкретного пользователя на основе прогнозированных данных рейтингов.
[0066] Четвертый признак, комбинируемый с любым из предыдущих или последующих признаков, в котором обновление данных пользовательских признаков включает в себя решение задачи оптимизации, чтобы минимизировать взвешенную сумму разности между прогнозированными данными рейтингов и данными рейтингов, данных пользовательских признаков, взвешенных посредством данных социальных сетей, и члена для предотвращения переобучения.
[0067] Пятый признак, комбинируемый с любым из предыдущих или последующих признаков, в котором решение задачи оптимизации включает в себя решение следующего уравнения:
,
i
j
ij
ik
при этом: U представляет вектор данных пользовательских признаков, соответствующих пользователю i; V представляет вектор данных признаков изделия, соответствующих изделию j; R представляет рейтинг изделия j пользователем i; Sпредставляет социальные отношения между пользователем i и пользователем k;  представляет предварительно заданный весовой коэффициент, ассоциированный с данными социальных сетей; и  представляет предварительно заданный весовой коэффициент для предотвращения переобучения.
[0068] Шестой признак, комбинируемый с любым из предыдущих или последующих признаков, в котором обновление данных пользовательских признаков включает в себя вычисление произведения данных пользовательских признаков и данных социальных сетей посредством вычисления суммы преобразованных данных пользовательских признаков и преобразованных данных социальных сетей.
[0069] Седьмой признак, комбинируемый с любым из предыдущих или последующих признаков, способом или операциями, дополнительно включает в себя: дополнительно содержит, в схеме совместного использования секретов с доверенным инициализатором: получение, посредством платформы рейтинга и рекомендаций по изделиям, вторых входных данных из доверенного инициализатора; формирование, посредством платформы рейтинга и рекомендаций по изделиям, первых преобразованных данных пользовательских признаков на основе данных пользовательских признаков и вторых входных данных из доверенного инициализатора; передачу, посредством платформы рейтинга и рекомендаций по изделиям в социальную сетевую платформу, первых преобразованных данных пользовательских признаков; прием, посредством платформы рейтинга и рекомендаций по изделиям из социальной сетевой платформы, первых преобразованных данных социальных сетей, вычисленных на основе данных социальных сетей и первых входных данных из доверенного инициализатора; формирование, посредством платформы рейтинга и рекомендаций по изделиям, множества промежуточных данных на основе двух или более из первых преобразованных данных пользовательских признаков, первых преобразованных данных социальных сетей или вторых входных данных из доверенного инициализатора; передачу, посредством платформы рейтинга и рекомендаций по изделиям в социальную сетевую платформу, множества промежуточных данных; прием, посредством платформы рейтинга и рекомендаций по изделиям из социальной сетевой платформы, множества промежуточных данных социальных сетей, вычисленных на основе двух или более из первых преобразованных данных пользовательских признаков, первых преобразованных данных социальных сетей или первых входных данных из доверенного инициализатора; и формирование, посредством платформы рейтинга и рекомендаций по изделиям, преобразованных данных пользовательских признаков на основе двух или более из множества промежуточных данных, множества промежуточных данных социальных сетей или вторых входных данных из доверенного инициализатора.
[0070] Реализации изобретения и функциональных операций, описанных в этом подробном описании, могут реализовываться в цифровой электронной схеме, в материально осуществленном компьютерном программном обеспечении или микропрограммном обеспечении, в компьютерных аппаратных средствах, включающих в себя структуры, раскрытые в этом подробном описании, и их структурные эквиваленты, либо в комбинациях одного или более из означенного. Программные реализации описанного изобретения могут реализовываться как одна или более компьютерных программ, т.е. один или более модулей компьютерных программных инструкций, кодированных на материальном, долговременном, машиночитаемом компьютерном носителе данных для выполнения посредством или управления работой оборудования обработки данных. Альтернативно или дополнительно, программные инструкции могут кодироваться в/на искусственно сформированном распространяемом сигнале, например, машиносформированном электрическом, оптическом или электромагнитном сигнале, который формируется с возможностью кодировать информацию для передачи в подходящее приемное устройство для выполнения посредством оборудования обработки данных. Компьютерный носитель данных может представлять собой машиночитаемое устройство хранения данных, машиночитаемую плату хранения данных, запоминающее устройство с произвольным или последовательным доступом либо комбинацию компьютерных носителей хранения данных. Конфигурирование одного или более компьютеров означает то, что один или более компьютеров имеют установленные аппаратные средства, микропрограммное обеспечение или программное обеспечение (либо комбинации аппаратных средств, микропрограммного обеспечения и программного обеспечения) таким образом, что когда программное обеспечение выполняется посредством одного или более компьютеров, конкретные вычислительные операции выполняются.
[0071] Термин "реальное время (real-time)", "режим реального времени", "в реальном времени", "реальное (быстрое) время (RFT)", "практически реальное время (NRT)", "квазиреальное время" или подобные термины (как должны понимать специалисты в данной области техники) означает то, что действие и ответ являются близкими по времени таким образом, что человек воспринимает действие и ответ как возникающие практически одновременно. Например, разность времен для ответа на отображение (или для инициирования отображения) данных после действия человека, чтобы осуществлять доступ к данным, может составлять менее 1 мс, менее 1 с или менее 5 с. В то время, когда запрашиваемые данные не должны отображаться (или инициироваться для отображения) мгновенно, оно отображаются (или инициируются для отображения) без намеренной задержки, с учетом ограничений обработки описанной вычислительной системы и времени, требуемого, например, для того, чтобы собирать, точно измерять, анализировать, обрабатывать, сохранять или передавать данные.
[0072] Термины "оборудование обработки данных", "компьютер", или "устройство электронного компьютера" (либо эквиваленты, как должны понимать специалисты в данной области техники) означают аппаратные средства обработки данных и охватывают все виды оборудования, устройств и машин для обработки данных, включающие в себя, в качестве примера, программируемый процессор, компьютер либо несколько процессоров или компьютеров. Оборудование также может представлять собой или дополнительно включать в себя логическую схему специального назначения, например, центральный процессор (CPU), FPGA (программируемую пользователем вентильную матрицу) или ASIC (специализированную интегральную схему). В некоторых реализациях, оборудование обработки данных или логическая схема специального назначения (либо комбинация оборудования обработки данных или логической схемы специального назначения) могут быть на основе аппаратных средств или программного обеспечения (либо представлять собой комбинацию на основе аппаратных средств или программного обеспечения). Оборудование необязательно может включать в себя код, который создает окружение выполнения для компьютерных программ, например, код, который составляет микропрограммное обеспечение процессора, стек протоколов, систему управления базами данных, операционную систему либо комбинацию окружений выполнения. Настоящее раскрытие предполагает использование оборудования обработки данных с/без традиционных операционных систем, например, Linux, Unix, Windows, Android Mac OS, iOS или любой другой подходящей традиционной операционной системы.
[0073] Компьютерная программа, которая также может упоминаться или описываться в качестве программы, программного обеспечения, приложения, модуля, программного модуля, сценария или кода, может быть написана на любой форме языка программирования, включающей в себя компилируемые или интерпретируемые языки либо декларативные или процедурные языки, и она может развертываться в любой форме, в том числе в качестве автономной программы или в качестве модуля, компонента, вложенной процедуры или другого блока, подходящего для использования в вычислительном окружении. Компьютерная программа может, но обязательно, может соответствовать файлу в файловой системе. Программа может храниться в части файла, который хранит другие программы или данные, например, один или более сценариев, сохраненных в документе на языке разметки, в одном файле, выделенном для рассматриваемой программы, либо в нескольких координированных файлах, например, в файлах, которые хранят один или более модулей, подпрограмм или частей кода. Компьютерная программа может развертываться с возможностью выполняться на одном компьютере или на нескольких компьютерах, которые расположены на одном веб-узле или распределены по нескольким веб-узлам и взаимно соединяются посредством сети связи.
[0074] Хотя части программ, проиллюстрированных в различных чертежах, показаны как отдельные модули, которые реализуют различные признаки и функциональность через различные объекты, способы или другие процессы, вместо этого программы могут включать в себя определенное число подмодулей, сторонних услуг, компонентов, библиотек и т.п., надлежащим образом. С другой стороны, признаки и функциональность различных компонентов могут комбинироваться в один компонент, надлежащим образом. Пороговые значения, используемые для того, чтобы выполнять вычислительные определения, могут статически, динамически либо статически и динамически определяться.
[0075] Способы, процессы или логические последовательности операций, описанные в этом подробном описании, могут выполняться посредством одного или более программируемых компьютеров, выполняющих одну или более компьютерных программ, чтобы выполнять функции посредством обработки входных данных и формирования вывода. Способы, процессы или логические последовательности операций также могут выполняться посредством, а оборудование также может реализовываться как логическая схема специального назначения, например, CPU, FPGA или ASIC.
[0076] Компьютеры, подходящие для выполнения компьютерной программы, могут быть основаны на микропроцессорах общего или специального назначения, на том и на другом либо на любом другом виде CPU. Обычно, CPU должен принимать инструкции и данные и записывать из/в запоминающее устройство. Существенные элементы компьютера представляют собой CPU для выполнения или исполнения инструкций и одно или более запоминающих устройств для хранения инструкций и данных. Обычно, компьютер также должен включать в себя или функционально соединяться с возможностью принимать данные или передавать данные либо выполнять и то, и другое из/в одно или более устройств хранения данных большой емкости для хранения данных, например, магнитных, магнитооптических дисков или оптических дисков. Тем не менее, компьютер не должен обязательно иметь таких устройств. Кроме того, компьютер может встраиваться в другое устройство, например, в мобильный телефон, персональное цифровое устройство (PDA), мобильный аудио- или видеопроигрыватель, игровую приставку, приемное устройство на основе глобальной системы позиционирования (GPS) или портативное устройство хранения данных, например, флэш-накопитель по стандарту универсальной последовательной шины (USB), помимо прочего.
[0077] Машиночитаемые носители (энергозависимые или энергонезависимые, надлежащим образом), подходящие для хранения компьютерных программных инструкций и данных, включают в себя все формы долговременных/недолговременных либо энергозависимых/энергонезависимых запоминающих устройств, носителей и запоминающих накопительных устройств, включающих в себя, в качестве примера, полупроводниковые запоминающие устройства, например, оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), запоминающее устройство на фазовых переходах (PRAM), статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM), стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM) и устройства флэш-памяти; магнитные устройства, например, ленту, картриджи, кассеты, внутренние/съемные диски; магнитооптические диски; и оптические запоминающие устройства, например, цифровой видеодиск (DVD), CD-ROM, DVD+/-R, DVD-RAM, DVD-ROM, HD-DVD и Blu-ray и другие технологии на базе оптических запоминающих устройств. Запоминающее устройство может хранить различные объекты или данные, включающие в себя кэши, классы, инфраструктуры, приложения, модули, резервные данные, задания, веб-страницы, шаблоны веб-страниц, структуры данных, таблицы базы данных, репозитории, хранящие динамическую информацию и любую другую соответствующую информацию, включающую в себя любые параметры, переменные, алгоритмы, инструкции, правила, ограничения либо ссылки на них. Дополнительно, запоминающее устройство может включать любые другие соответствующие данные, такие как журналы регистрации, политики, данные по безопасности или по доступу, файлы с отчетами, а также другие данные. Процессор и запоминающее устройство могут дополняться посредством или включаться в логическую схему специального назначения.
[0078] Чтобы предоставлять взаимодействие с пользователем, реализации изобретения, описанного в этом подробном описании, могут реализовываться на компьютере, имеющем устройство отображения, например, монитор на CRT (электронно-лучевой трубке), ЖК-дисплей (жидкокристаллический дисплей), монитор на светодиодах (светоизлучающих диодах) или плазменный монитор, для отображения информации пользователю, а также клавиатуру и указательное устройство, например, мышь, шаровой манипулятор или сенсорную панель, посредством которых пользователь может предоставлять ввод в компьютер. Ввод также может предоставляться в компьютер с использованием сенсорного экрана, к примеру, поверхности планшетного компьютера с чувствительностью к давлению, мультисенсорного экрана с использованием емкостного или электрического опознавания либо другого типа сенсорного экрана. Другие виды устройств также могут использоваться для того, чтобы предоставлять взаимодействие с пользователем; например, обратная связь, предоставленная пользователю, может представлять собой любую форму сенсорной обратной связи, например, визуальную обратную связь, акустическую обратную связь или тактильную обратную связь; и ввод от пользователя может приниматься в любой форме, включающей в себя акустический, речевой или тактильный ввод. Помимо этого, компьютер может взаимодействовать с пользователем посредством отправки документов и приема документов из устройства, которое используется пользователем; например, посредством отправки веб-страниц в веб-браузер на клиентском устройстве пользователя в ответ на запросы, принимаемые из веб-браузера.
[0079] Термин "графический пользовательский интерфейс", или "GUI", может использоваться в единственном или множественном числе для того, чтобы описывать один или более графических пользовательских интерфейсов и каждый из экранов конкретного графического пользовательского интерфейса. Следовательно, GUI может представлять любой графический пользовательский интерфейс, в том числе, но не только, веб-браузер, сенсорный экран или интерфейс командной строки (CLI), который обрабатывает информацию и эффективно представляет информационные результаты пользователю. В общем, GUI может включать в себя определенное число элементов пользовательского интерфейса (UI), часть или все из которых ассоциированы с веб-браузером, к примеру, интерактивные поля, раскрывающиеся списки и кнопки. Эти и другие UI-элементы могут быть связаны или представлять функции веб-браузера.
[0080] Реализации изобретения, описанного в этом подробном описании, могут реализовываться в вычислительной системе, которая включает в себя внутренний интерфейсный компонент, например, в качестве сервера данных, либо которая включает в себя промежуточный программный компонент, например, сервер приложений, либо которая включает в себя внешний интерфейсный компонент, например, клиентский компьютер, имеющий графический пользовательский интерфейс или веб-браузер, через который пользователь может взаимодействовать с реализацией изобретения, описанного в этом подробном описании, либо любую комбинацию одного или более таких внутренних интерфейсных, промежуточных программных или внешних интерфейсных компонентов. Компоненты системы могут взаимно соединяться посредством любой формы или среды проводной или беспроводной цифровой передачи данных (либо комбинации передачи данных), например, посредством сети связи. Примеры сетей связи включают в себя локальную вычислительную сеть (LAN), сеть радиодоступа (RAN), общегородскую вычислительную сеть (MAN), глобальную вычислительную сеть (WAN), сеть по стандарту общемировой совместимости широкополосного беспроводного доступа (WiMax), беспроводную локальную вычислительную сеть (WLAN) с использованием, например, 802.11 a/b/g/n или 802.20 (либо комбинации 802.11x и 802.20 или других протоколов в соответствии с этим раскрытием), весь или часть Интернета или любой другой системы или систем связи в одном или более местоположений (либо комбинацию сетей связи). Сеть может передавать, например, с помощью пакетов по Интернет-протоколу (IP), кадров по протоколу ретрансляции кадров, ячеек по протоколу на основе режима асинхронной передачи (ATM), голос, видео, данные или другую подходящую информацию (либо комбинацию типов связи) между сетевыми адресами.
[0081] Вычислительная система может включать в себя клиенты и серверы. Клиент и сервер, в общем, являются удаленными друг от друга и типично взаимодействуют через сеть связи. Взаимосвязь клиента и сервера осуществляется на основе компьютерных программ, работающих на соответствующих компьютерах и имеющих клиент-серверную взаимосвязь друг с другом.
[0082] Хотя это описание изобретения содержит множество конкретных сведений по реализации, они не должны истолковываться в качестве ограничений на объем изобретения либо на объем того, что может заявляться в качестве формулы изобретения, а вместо этого должны истолковываться в качестве описаний признаков, которые могут быть конкретными для конкретных реализаций конкретных изобретений. Определенные признаки, которые описываются в этом подробном описании в контексте отдельных реализаций, также могут реализовываться, в комбинации, в одной реализации. С другой стороны, различные признаки, которые описываются в контексте одной реализации, также могут реализовываться в нескольких реализациях, отдельно или в любой подходящей субкомбинации. Кроме того, хотя вышеописанные признаки могут описываться как действие в определенных комбинациях и даже первоначально заявляться в формуле изобретения как действия, один или более признаков из заявленной комбинации, в некоторых случаях, могут исключаться из комбинации, и заявленная комбинация может быть направлена на субкомбинацию или варьирование субкомбинации.
[0083] Выше описываются конкретные реализации изобретения. Другие реализации, поправки и перестановки описанных реализаций находятся в пределах объема прилагаемой формулы изобретения, как должно быть очевидным для специалистов в данной области техники. Хотя операции проиллюстрированы на чертежах или в формуле изобретения в конкретном порядке, это не следует понимать как требующее того, что такие операции должны выполняться в конкретном показанном порядке или в последовательном порядке, либо того, что все проиллюстрированные операции должны выполняться (некоторые операции могут считаться необязательными) для того, чтобы достигать требуемых результатов. При определенных обстоятельствах, многозадачность или параллельная обработка (либо комбинация многозадачности и параллельной обработки) может быть преимущественной и выполняться по мере необходимости.
[0084] Кроме того, разделение или интеграция различных системных модулей и компонентов в вышеописанных реализациях не должны пониматься как требующее такого разделения или интеграции во всех реализациях, и следует понимать, что описанные программные компоненты и системы, в общем, могут интегрироваться вместе в одном программном элементе или пакетироваться в несколько программных элементов.
[0085] Соответственно, вышеописанные примерные реализации не задают или ограничивают это раскрытие. Другие изменения, замены и поправки также являются возможными без отступления от сущности и объема этого раскрытия.
[0086] Кроме того, любая заявленная реализация считается применимой, по меньшей мере, к машинореализуемому способу; долговременному машиночитаемому носителю, хранящему машиночитаемые инструкции для того, чтобы осуществлять машинореализуемый способ; и компьютерной системе, включающей в себя компьютерное запоминающее устройство, функционально соединенное с аппаратным процессором, выполненным с возможностью осуществлять машинореализуемый способ или инструкции, сохраненные на долговременном машиночитаемом носителе.