В представлении знаний и рассуждениях граф знаний — это база знаний , которая использует графоструктурированную модель данных или топологию для представления и работы с данными . Графы знаний часто используются для хранения взаимосвязанных описаний сущностей — объектов, событий, ситуаций или абстрактных концепций — при этом кодируя свободную форму семантики или отношений, лежащих в основе этих сущностей. [1] [2]
С момента развития семантической паутины графы знаний часто ассоциировались с проектами связанных открытых данных , фокусируясь на связях между концепциями и сущностями. [3] [4] Они также исторически связаны и используются поисковыми системами , такими как Google , Bing , Yext и Yahoo ; системами знаний и службами ответов на вопросы, такими как WolframAlpha , Siri от Apple и Amazon Alexa ; и социальными сетями, такими как LinkedIn и Facebook .
Недавние разработки в области науки о данных и машинного обучения, особенно в области нейронных сетей графов и обучения представлений, а также в области машинного обучения, расширили сферу применения графов знаний за пределы их традиционного использования в поисковых системах и рекомендательных системах. Они все чаще используются в научных исследованиях, с заметными приложениями в таких областях, как геномика, протеомика и системная биология. [5]
Термин был придуман еще в 1972 году австрийским лингвистом Эдгаром В. Шнайдером в ходе обсуждения того, как строить модульные обучающие системы для курсов. [6] В конце 1980-х годов Университет Гронингена и Университет Твенте совместно начали проект под названием «Графы знаний», сосредоточившись на проектировании семантических сетей с ребрами, ограниченными ограниченным набором отношений, для упрощения алгебр на графе . В последующие десятилетия различие между семантическими сетями и графами знаний было размыто.
Некоторые ранние графы знаний были тематически-специфичными. В 1985 году был основан Wordnet , фиксирующий семантические связи между словами и значениями — приложение этой идеи к самому языку. В 2005 году Марк Вирк основал Geonames для фиксации связей между различными географическими названиями и локациями и связанными с ними сущностями. В 1998 году Эндрю Эдмондс из Science in Finance Ltd в Великобритании создал систему ThinkBase, которая предлагала рассуждения на основе нечеткой логики в графическом контексте. [7]
В 2007 году были основаны DBpedia и Freebase как графовые репозитории знаний для общих целей. DBpedia сосредоточилась исключительно на данных, извлеченных из Wikipedia, в то время как Freebase также включала ряд публичных наборов данных. Ни один из них не называл себя «графом знаний», но разрабатывал и описывал связанные концепции.
В 2012 году Google представил свой Knowledge Graph [8] , основанный на DBpedia и Freebase среди других источников. Позже они включили RDFa , Microdata , JSON-LD контент, извлеченный из индексированных веб-страниц, включая CIA World Factbook , Wikidata и Wikipedia . [8] [9] Типы сущностей и отношений, связанные с этим Knowledge graph, были дополнительно организованы с использованием терминов из словаря schema.org [10] . Google Knowledge Graph стал успешным дополнением к поиску на основе строк в Google, и его популярность в Интернете сделала этот термин более распространенным. [10]
С тех пор несколько крупных транснациональных корпораций рекламировали использование своих графов знаний, еще больше популяризируя этот термин. К ним относятся Facebook, LinkedIn, Airbnb , Microsoft , Amazon , Uber и eBay . [11]
В 2019 году IEEE объединил свои ежегодные международные конференции по «Большим знаниям» и «Интеллектуальному анализу данных и интеллектуальным вычислениям» в Международную конференцию по графу знаний. [12]
Не существует единого общепринятого определения графа знаний. Большинство определений рассматривают тему через призму семантической паутины и включают следующие особенности: [13]
Однако существует множество представлений графа знаний, для которых некоторые из этих функций не являются релевантными. Для таких графов знаний это более простое определение может быть более полезным:
В дополнение к приведенным выше примерам, этот термин использовался для описания проектов открытых знаний, таких как YAGO и Wikidata; федераций, таких как облако Linked Open Data; [19] ряда коммерческих инструментов поиска, включая семантический поисковый помощник Spark от Yahoo, Knowledge Graph от Google и Satori от Microsoft; а также графов сущностей LinkedIn и Facebook. [3]
Этот термин также используется в контексте программных приложений для создания заметок , которые позволяют пользователю создавать персональный график знаний . [20]
Популяризация графов знаний и сопутствующих им методов привела к разработке графовых баз данных, таких как Neo4j [21] и GraphDB. [22] Эти графовые базы данных позволяют пользователям легко хранить данные в виде сущностей и их взаимосвязей, а также облегчают такие операции, как обоснование данных, встраивание узлов и разработка онтологий в базах знаний.
Граф знаний формально представляет семантику, описывая сущности и их отношения. [23] Графы знаний могут использовать онтологии как слой схемы. Делая это, они допускают логический вывод для извлечения неявных знаний , а не только разрешают запросы, запрашивающие явные знания. [24]
Для того чтобы разрешить использование графов знаний в различных задачах машинного обучения, было разработано несколько методов получения скрытых представлений признаков сущностей и отношений. Эти вложения графов знаний позволяют подключать их к методам машинного обучения, которые требуют векторов признаков, таких как вложения слов . Это может дополнять другие оценки концептуального сходства. [25] [26]
Модели для генерации полезных вложений графов знаний обычно являются областью графовых нейронных сетей (GNN). [27] GNN представляют собой архитектуры глубокого обучения, которые включают ребра и узлы, которые хорошо соответствуют сущностям и отношениям графов знаний. Топология и структуры данных, предоставляемые GNN, обеспечивают удобную область для полуконтролируемого обучения, в котором сеть обучается предсказывать значение вложения узла (при условии группы смежных узлов и их ребер) или ребра (при условии пары узлов). Эти задачи служат фундаментальными абстракциями для более сложных задач, таких как рассуждения и выравнивание графов знаний. [28]
Поскольку новые графы знаний создаются в различных областях и контекстах, одна и та же сущность неизбежно будет представлена в нескольких графах. Однако, поскольку не существует единого стандарта для построения или представления графа знаний, решение того, какие сущности из разрозненных графов соответствуют одному и тому же предмету реального мира, является нетривиальной задачей. Эта задача известна как выравнивание сущностей графа знаний и является активной областью исследований. [29]
Стратегии выравнивания сущностей обычно стремятся идентифицировать схожие подструктуры, семантические отношения, общие атрибуты или комбинации всех трех между двумя различными графами знаний. Методы выравнивания сущностей используют эти структурные сходства между обычно неизоморфными графами для прогнозирования того, какие узлы соответствуют одной и той же сущности. [30]
Недавние успехи больших языковых моделей (LLM), в частности их эффективность в создании синтаксически значимых вложений, стимулировали использование LLM в задачах выравнивания сущностей. [31]
По мере роста объема данных, хранящихся в графах знаний, разработка надежных методов выравнивания сущностей графа знаний становится все более важным шагом в интеграции и согласовании данных графа знаний.
создает крупнейший в истории граф знаний, применяя распознавание изображений и обработку естественного языка к миллиардам веб-страниц.