Технология Graph Platform и практика применения

машинное обучение

Эта статья подготовлена ​​технической командой OPPO Internet.Если вам необходимо перепечатать, пожалуйста, укажите источник и автора. Добро пожаловать в наш публичный аккаунт "OPPO_tech"

Теория графов — одна из самых важных и интересных областей компьютерных наук.Для бизнес-сценариев с топологическими отношениями понимание и использование графов может очень помочь бизнесу. Эта статья в основном представляет собой всестороннее введение в технологию и сценарии применения теории графов при больших объемах данных.

1. Происхождение теории графов

В 18 веке город под названием Кенигсберг был разделен рекой на четыре части, а разделенные земли были соединены семью мостами.

В то время была проблема, связанная с мостами в Кенигсберге: как пересечь весь город, пересекая каждый мост только один раз.

Чтобы проанализировать и решить эту проблему, люди еще больше абстрагировали проблему: разделенная область абстрагируется в узел, мост, соединяющий две области, абстрагируется в ребро между двумя узлами, а проблема далее преобразуется в самое раннее проблема, связанная с теорией графов: проблема семи мостов Кенигсберга, также известная как проблема рисования одним мазком.

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

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

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

Для их соединения требуется до шести ассоциаций между любыми двумя людьми в этой социальной сети. Например, между вами и Биллом Гейтсом через шесть расширений посередине может быть установлена ​​связь между вами двумя. Подумайте о том, как вы взволнованы этой загадочной связью.

Позже Facebook провел исследование и анализ в своей собственной социальной сети и постепенно сократил предыдущие отношения шести степеней до отношений пятой степени в 2008 году и отношений четвертой степени в 2011 году.

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

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

  • Теоретическое исследование графов смещено в сторону анализа и исследования основных проблем с данными, и все еще есть некоторые пробелы в практических приложениях.Это не проблема, которую нам нужно рассматривать в настоящее время, поэтому сначала она будет классифицирована в одну категорию, и эта статья не будет его расширять;

  • Хранение и поиск графов сосредоточены на онлайн-анализе в реальном или квазиреальном времени, в основном для поиска сущностей, поиска отношений, расширения отношений, расчета пути и т. Д.

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

2. Модель определения графа

При наличии массивных данных для построения, извлечения и анализа общей картины необходима разумная структура данных. Существующие методы определения графа можно разделить на три типа: гиперграф-HyperGraph, граф свойств-PropertyGraph, тройной-RDF.

Гиперграф - Гиперграф

В гиперграфе объекты соединены гиперребрами. Суперребро соответствует типу связи Как показано на рисунке, все объекты в области одного цвета являются ребрами этого типа.

График свойств — PropertyGraph

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

Тройки - RDF

Тройка — это формальный термин для формата RDF. Потому что каждая запись в RDF состоит из трех частей: информации о ресурсах, атрибутов и значений атрибутов. Отсюда и название тройка.

Определение формата данных RDF взято из стандарта W3C и является самой ранней спецификацией данных, используемой для представления Semantic Web.

Область графов знаний началась в 1990-х годах.Самая ранняя форма заключалась в использовании стандарта W3C RDF для представления семантической сети.Позднее, с непрерывным развитием, различные отечественные и зарубежные производители продолжали предлагать свои собственные продукты графов знаний. Однако базовый механизм хранения для хранения семантических отношений не ограничивается режимом RDF, и существует множество способов использования графов свойств для хранения.

Хотя гиперграф, граф атрибутов и RDF представляют собой три разных парадигмы для определения топологических отношений графов, они могут правильно характеризовать топологические характеристики графов, и все три могут быть преобразованы друг в друга.

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

Режим хранения без схемы RDF постепенно необходимо использовать в сочетании с другими БД в практических приложениях для удовлетворения бизнес-требований. Следовательно, режим хранения графов атрибутов более популярен, и способ хранения графов, выбранный из баз данных графов, которые можно увидеть на рынке, также может подтвердить это.

3. Графическая база данных

С точки зрения взаимосвязи данных и сценариев извлечения хранение и извлечение данных можно разделить на четыре основные категории:

  • К-В Хранилище

  • столбчатое хранилище

  • хранилище объектов

  • хранение графических данных

База данных класса хранилища KV: в основном ищет и извлекает соответствующее значение для уникального значения ключа или числовое значение, строку или список, словарь и т. д.

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

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

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

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

Взяв этот ориентированный граф в качестве примера, мы используем матрицу смежности для представления узлов и ребер в графе.Матрица представляет собой квадратную матрицу масштаба | V | * | V |. Значения в матрице указывают, являются ли существует связь между двумя узлами. , установите 1, если есть, и установите 0, если нет.

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

Однако эту красивую, простую и удобную в использовании логику обработки можно использовать только при работе в классе.Для массивных данных в сценариях интернет-бизнеса я хочу построить матрицу смежности миллион раз миллион, 100 миллионов раз 100 миллионов для работы. в принципе невыполнимо.

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

В основных графовых базах данных существует два основных способа хранения графических данных:

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

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

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

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

В способе хранения топологических отношений и данных атрибутов отдельно, топологические отношения хранят только граничные данные, а данными атрибутов может управлять механизм хранения KV.

Таким образом, при извлечении операции дифференцируются в соответствии с различными сценариями запроса: например, при запросе только одного объекта и его атрибутивной информации его можно получить только через KV; при поиске топологических отношений необходимо комбинировать хранилище топологии и хранилище атрибутов взаимодействуют друг с другом.

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

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

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

В последние годы, с постепенным обогащением сценариев приложений и ростом популярности рынка графовых баз данных, разработка продуктов графовых баз данных также достигла больших успехов. Из последнего статистического анализа DB-Engine также видно, что тенденция графовых баз данных не имеет себе равных.

На рынке баз данных графов фактическая матрица продукта делится на три измерения:

  • Корпоративная версия службы

  • Версия с открытым исходным кодом

  • поставщик облачных услуг

Среди поставщиков корпоративных услуг графовых баз данных типичными представителями являются TigerGraph, DataStax, Neo4j и т. д.

Среди графических баз данных с открытым исходным кодом JanusGraph, DGraph, Neo4j и S2Graph пользуются большим вниманием и активными сообществами. (Продукт графовой базы данных в инкубации Apache, текущая функция относительно проста, а активность относительно низкая)

В то же время, с тенденцией к переходу все большего числа компаний в облако, крупные поставщики облачных услуг в стране и за рубежом также добавили базы данных графов в свою матрицу продуктов. Например: Neptune от AWS, CosmosDB от Azure, GraphDB от Alibaba Cloud, Star Map (TKGD) от Tencent Cloud, GES от Huawei Cloud и т. д.

С другой стороны, существуют также различные отношения между различными продуктами баз данных графов. Например, Neo4j имеет как платную корпоративную версию, так и автономную версию с открытым исходным кодом.

Однако у автономной версии Neo4j есть некоторые ограничения:

Например, одновременно может быть только один открытый граф, а также ограничено количество ядер, используемых процессом;

Например, графовая база данных корпоративной версии DataStax возникла в результате приобретения Titan, после чего сообщество открытого исходного кода образовало новую ветвь: JanusGraph. Baidu HugeGraph также разработан на основе Titan и JanusGraph.

С точки зрения парадигмы хранения графовых данных использование графов свойств является выбором большинства баз данных графов, и небольшое количество из них использует методы хранения RDF, такие как DGraph, Stardog и т. д.

Стоит отметить, что при использовании базы данных графа необходимо использовать язык запросов графа, а язык запросов графа также имеет множество различных форм языков. Типичными из них являются: TinkerPop Gremlin, Cypher of Neo4j, GSQL для TigerGraph, SparQL для запроса данных графа класса RDF и т. д.

Тем не менее, язык обхода графа Gremlin должен быть наиболее широко используемым в настоящее время.В языке запросов графа без единого стандарта он ощущается как полунеписаный стандарт.

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

Поиск объекта: то есть для фильтрации и поиска информации о конкретном объекте в соответствии с идентификатором объекта или некоторой атрибутивной информацией;

Расширение отношений: в основном для поиска соседей сущностей, поиска отношений с несколькими переходами и фильтрации запросов на основе различных условий на основе поиска отношений с несколькими переходами;

Анализ пути: по двум известным объектам найти кратчайший путь, полный путь и другую информацию между ними.

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

Например, сравните различия между реляционными базами данных и графовыми базами данных в одном и том же сценарии запроса:

В этом примере мы теперь хотим найти название отдела, в котором работает сотрудник Алиса.

В: Предположим, Алиса может работать в нескольких отделах одновременно.

В реляционной базе данных может быть три таблицы: таблица информации о сотрудниках, таблица отношений сотрудников и отделов и таблица информации об отделах.Мы пишем SQL для поиска, и требуются две операции JOIN для получения названия отдела, в котором находится Алиса.

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

Из сравнения видно, что как операционная сложность, так и требуемая вычислительная сложность значительно снижаются.

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

Граф знаний — один из первых сценариев, в которых ценны базы данных графов.

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

Текущий граф знаний расширит более широкие сценарии применения и добавит применение технологии НЛП.

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

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

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

4. Расчет графика

Графические вычисления: это еще одна важная позиция в практическом применении технологии теории графов.Развитие графовых вычислений также сопровождалось развитием вычислительной мощности, богатыми сценариями и непрерывным продвижением технологических исследований в области графовых вычислений.

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

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

PageRank

PageRank: Алгоритм, используемый Google для ранжирования веб-страниц в результатах поиска своей поисковой системы.

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

Он интерпретирует ссылку со страницы A на страницу B как «страница A голосует за страницу B» и определяет страницу, за которую проголосовали, на основе источника голосования (или даже источника источника, то есть страницы, которая ссылается на страницу A). ) и уровень объекта голосования. Проще говоря, страница высокого уровня может продвигать другие страницы низкого уровня.

Алгоритм назван в честь Ларри Пейджа, одного из основателей Google. Он используется поисковой системой Google для анализа релевантности и важности веб-страниц и часто используется в поисковой оптимизации как один из факторов эффективности для оценки оптимизации веб-страницы.

В настоящее время алгоритм ранжирования страниц больше не является единственным алгоритмом, который Google Inc. использует для ранжирования веб-страниц, но он является самым старым и самым известным.

Label Propagation

Алгоритм распространения меток: это алгоритм разделения местного сообщества, основанный на распространении меток.

Для каждого узла в сети на начальном этапе алгоритм распространения меток присваивает каждому узлу уникальную метку. В процессе каждой итерации каждый узел меняет свою метку в соответствии с меткой связанного с ним узла.

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

Самым большим преимуществом алгоритма распространения меток является то, что его процесс алгоритма относительно прост.

По сравнению с процессом оптимизации модульности алгоритм работает очень быстро. Алгоритм распространения меток использует структуру сети для управления процессом распространения меток, и в этом процессе не требуется оптимизировать никакие функции. Нам не нужно знать количество сообществ перед запуском алгоритма, по мере итерации алгоритма, в финальном процессе, алгоритм сам определит количество сообществ.

Random Walk

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

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

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

В основном это встраивание графов, сеть свертки графов, сеть внимания графов и т. Д .;

Среди них Graph Embedding и GCN в основном используются в реальных бизнес-сценариях.Здесь мы в основном даем краткое введение в эти два типа методов.

Graph Embedding

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

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

Когда длина пешеходной дорожки достигает walk_length, остановите прогулку.

Таким образом генерируется последовательность обходов, и каждая последовательность называется обходом. Каждая прогулка рассматривается как предложение в Word2Vec, а каждый узел — это слово в Word2Vec.

Со «словами» и «предложениями» в конкретном графике последующий алгоритм почти точно такой же, как в версии Word2Vec SkipGram. Используйте скользящее окно размера window_size в качестве контекста прогулки, используйте центральное слово в контексте, чтобы вывести другие слова во всех контекстах, и используйте ту же целевую функцию, что и Word2Vec.

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

Хотя DeepWalk преобразует графически структурированные данные в задачи обработки естественного языка посредством случайных блужданий.

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

Кроме того, в реальных данных размер графика часто настолько велик, что накладные расходы на сохранение всех обходов были бы непомерно высокими.

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

  • Сходство первого порядка: Сходство первого порядка состоит в том, чтобы обеспечить герметичность прямой связи между двумя узлами в низкоразмерном вложении, другими словами, сохранить вес ребра между узлами, Между ними нет ребра, тогда сходство первого порядка между ними равно 0. Например, два узла 6 и 7 на рисунке ниже имеют высокое сходство первого порядка;

  • Сходство второго порядка: Сходство второго порядка резюмируется в общем высказывании, что «друг моего друга может быть и моим другом», которое сравнивает сходство соседей двух узлов.

Два узла более похожи, если у них одни и те же соседи. Если соседи рассматриваются как контексты, то два узла с высоким сходством второго порядка имеют похожие контексты. Это соответствует целям DeepWalk. Например, точки 5 и 6 на рисунке ниже имеют высокое сходство второго порядка.

Node2Vec — это расширение, основанное на DeepWalk, которое улучшает стратегию случайного блуждания DeepWalk.

Node2Vec считает, что существующие методы не могут хорошо сохранить структурную информацию о сети.

Например, как показано на рисунке, некоторые точки очень тесно связаны (такие как u, s1, s2, s3, s4) и образуют сообщество. В сети могут быть различные сообщества, и некоторые узлы могут играть аналогичные роли в сообществе (например, u и s6).

Целями оптимизации Node2Vec являются следующие две:

  • Пусть представления узлов в одном и том же сообществе близки друг к другу;

  • Представления узлов, которые играют схожие роли в разных сообществах, также должны быть близки друг к другу.

С этой целью Node2Vec необходимо оптимизировать стратегию случайного обхода на основе существующего DeepWalk. Node2Vec предлагает две стратегии ходьбы:

1. Стратегия в ширину

2. Стратегия поиска в глубину

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

Напротив, стратегия обхода в ширину будет способствовать тому, чтобы обход продолжал возвращаться и посещать другие соседние узлы предыдущего узла.

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

Наоборот, при использовании стратегии «сначала в глубину» обходу сложно оставаться в одном сообществе, и достигается вторая цель оптимизации.

Итак, как достичь таких двух стратегий случайного блуждания? Здесь используются два гиперпараметра p и q для управления долей стратегии поиска в глубину и стратегии поиска в ширину. Путем корректировки p и q можно добиться отслеживания бизнеса. Я выбираю свой собственные характеристики, чтобы выбрать акцент на BFS и DFS.

GCN

Наиболее широко используемыми приложениями глубокого обучения являются CNN в области CV и RNN в области НЛП. Но из двух один подходит для обработки данных канонической сетки, а другой — для обработки сериализованных данных.

Для данных графа топологическая связь принадлежит неевклидовой структуре.Например, CNN не может поддерживать инвариантность перевода для данных неевклидовой структуры.

Простое понимание состоит в том, что данные соседнего узла каждого узла в графе различны, поэтому ядро ​​свертки одинакового размера не может использоваться для операции свертки.

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

Основной целью GCN является извлечение пространственных характеристик топологических графов.

Проще говоря, матрица Лапласа используется для расчета и построения ядра свертки, ввода сетевой структуры графа, а промежуточный процесс передачи поддерживает топологическую актуальность графа. GCN можно использовать для прогнозирования узлов, прогнозирования отношений и генерации векторов встраивания для других сценариев.

GraphEmbedding и GCN в настоящее время имеют большинство рекомендуемых сценариев приложений, вот основное решение, которое использует DeepWalk для улучшения эффекта.

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

  • В соответствии с порядком, в котором пользователь просматривает продукты, выстраивайте отношения последовательности продуктов;

  • Двудольный граф строится в соответствии с отношениями между продуктами, просматриваемыми пользователем. (Между пользователями и продуктами существует связь, а между пользователями и продуктами нет связи)

Для обоих типов графиков DeepWalk можно использовать для создания векторов встраивания и дальнейшего использования в качестве рекомендаций.

5. Резюме

Полный текст резюмирует технологию и применение графов из трех частей:

  • Происхождение, развитие и определение графов;

  • Технология и применение графовой базы данных;

  • Введение в графовые вычисления и графовые нейронные сети

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