Интеграция PKG в предприятие
В своих прошлых блогах я писал о быстрорастущей теме графов персональных знаний (PKG) и управлении знаниями . Этот блог посвящен проблемам интеграции PKG в более крупные экосистемы знаний, такие как граф корпоративных знаний вашей компании (EKG) или система управления знаниями вашего колледжа и университета.
Целевой аудиторией этого поста является архитектор решений, которого попросили понять компромиссы между множеством изолированных хранилищ PKG и более интегрированными графами знаний компании, которые делятся знаниями и избегают дублирования и несогласованности знаний. Мы рассматриваем ограниченные варианты интеграции, доступные сегодня, и прогнозируем высокую окупаемость инвестиций, поскольку продукты PKG интегрируют последние рекомендации крупных моделей машинного обучения.
Если вы новичок в области PKG, мы настоятельно рекомендуем прочитать предыдущие статьи о PKG, ЭКГ и управлении знаниями, чтобы полностью понять эти концепции.
Личное и организационное напряжение повторного использования
Прежде чем углубиться в терминологию, давайте вспомним, что в организации всегда есть две противоборствующие силы, управляющие PKG. Первая сила заключается в том, что каждому человеку необходимо быстро делать заметки, соответствующие его личной базе знаний. По мере ввода списки автоподсказок позволяют быстро подключаться к вашим личным концепциям в вашем собственном PKG. При вводе «[[» в текстовом редакторе отображается список существующих понятий. По мере ввода список автоматически сужается, чтобы соответствовать префиксу, который вы уже начали.
Вторая сила — это желание многих компаний получить эти знания таким образом, чтобы их могли использовать другие сотрудники компании. Это означает, что крупные организации часто вводят дополнительные правила, препятствующие быстрому сбору информации. Хотите оформить тикет в системе справочной службы? Вы должны сообщить нам о своем компьютере, что вы пытаетесь сделать, какое приложение вы используете, а также некоторую информацию о том, как воспроизвести ошибку. Без заполнения этих обязательных полей кнопка Сохранить будет недоступна.
Мой опыт показывает, что мы всегда будем видеть компромиссы. Кто платит за программное обеспечение, как собираются знания и как пишутся MBO для обмена знаниями, часто вызывает беспокойство. Здесь нет универсального решения, и использование больших машинных инструментов обработки естественного языка (NLP) только усложняет решения. Мы обсудим эту тему позже в блоге.
Классификация текущих инструментов
Чтобы начать наше обсуждение, рассмотрим два настольных инструмента. Первый — это автономный инструмент редактирования, такой как Microsoft Notepad™, который поставляется с настольными приложениями Windows™. Думайте об этом как о добавлении нового листа знаний к маленькому новому деревцу. Этот инструмент позволяет вам вводить любой текст с клавиатуры и сохранять его в локальной файловой системе. Блокнот идеально подходит для записи новой информации, которая не связана с остальным миром. Вам даже не нужно быть подключенным к вашей корпоративной сети, чтобы использовать его.
Вики также позволяют вводить текст произвольной формы, но всегда на странице с уникальным именем. Ваш текст может содержать ссылки на другие именованные страницы. Некоторые вики-страницы могут содержать структурированные пары «ключ-значение», часто называемые информационными блоками. Основное различие между Блокнотом и Вики заключается в том, что страницы Вики хранятся на сервере и преобразуются в веб-страницы со ссылками.
Теперь давайте рассмотрим редактор PKG, такой как Roam или Obsidian. Они всегда подключены к существующей базе знаний, и основное внимание уделяется созданию быстрых ссылок на ваш внутренний личный график. Вот метафора, которую мы хотим ясно понять из рисунка 1. PKG полезны, когда мы также хотим получить новую информацию, которая является расширением существующей структуры знаний. Например, когда вы вводите простое имя понятия, система проверяет, является ли оно новым понятием, а не дубликатом существующего понятия или псевдонимом для существующего понятия.
В правом нижнем углу диаграммы находятся формальные инструменты редактирования онтологий, такие как Protege, и графовые базы данных, такие как Neo4j или TigerGraph. Эти базы данных графов имеют множество ограничений, таких как формальные типы для каждой вершины и ребра и строгие правила о том, какие типы вершин могут соединяться друг с другом. Ребра также должны иметь тип.
Последнее поле на рис. 3 — это PKG с поддержкой машинного обучения (ML-PKG), где инструменты NLP используются для автоматического предложения текста в редакторе PKG. Этих инструментов еще не существует, но мы ожидаем, что в связи с быстрым развитием моделей больших языков, таких как BERT и GPT-3, они скоро будут доступны.
Таким образом, в интегрированном Enterprise PKG будет много правил. Многие из этих правил могут быть полезны. Они могут ускорить вашу работу, добавляя знания с помощью интеллектуального контекстного автозаполнения. Некоторые из этих правил будут мешать и замедлять скорость усвоения знаний.
Основная терминология
Давайте начнем наше обсуждение с некоторых основных терминов и понятий. В PKG цель состоит в том, чтобы позволить типизированному потоку символов эффективно фиксировать концепции знаний и устанавливать связи с предыдущими концепциями. В PKG мы используем структуру данных, называемую графом знаний. Граф хранит не только плоский список понятий, но и взаимосвязь между этими понятиями. Технический термин, который мы используем для хранения понятий, — это вершина, а термин для отношений называется ребром.
Нетипизированные и типизированные системы
Многие из нас знакомы с концепцией Wiki. Слово «вики» — это гавайский термин, означающий «быстрый». Они были созданы для того, чтобы пользователь мог свести к минимуму количество нажатий клавиш, соединяющих «страницы» вики друг с другом. В модели данных вики все концепты хранятся на вики-странице, и цель разработки — следовать правилу «одна страница на концепт», чтобы концепты можно было легко связать друг с другом. Если вы поместите на страницу два или более концепта, ссылка на эту страницу не будет четко отображать шаблон «один концепт-к-одному концепту».
Вики были замечательным шагом вперед в ведении заметок, потому что концептуальные страницы или концептуальные карты были размещены на веб-сервере. Когда ваши коллеги добавляли новые концепции, вы могли создавать ссылки на эти концепции. Когда вы добавляли новые концепции, ваши коллеги также могли ссылаться на них. Это был огромный прорыв в управлении общими знаниями, и он лежит в основе таких систем, как Википедия.
Тем не менее, большинство людей не думают о Wiki как о настоящих «графах знаний», потому что на самом деле они представляют собой просто наборы связанных нетипизированных документов, как и всемирная паутина. Разработчики вики хотели расширить концепцию «гиперссылок» и сделать их более простыми для ввода, чем запоминать сложный синтаксис ссылок привязки HTML. Фундаментальное различие между вики и настоящим графом знаний заключается в том, что все вики-страницы относятся к одному и тому же «типу» (типу документа/карты/концепции), и все отношения также имеют один тип (относится к ).
Настоящие графы знаний позволяют каждой вершине и ребру иметь определенный тип . Список возможных типов часто настраивается централизованным отделом. Например, некоторые вершины могут представлять сотрудника, некоторые могут представлять продукты, которые вы продаете, а некоторые могут описывать деловые события, такие как звонок в службу поддержки вашей компании. Ключевым моментом в отношении типов является то, что мы можем связывать правила с типами, и эти правила обеспечивают согласованность, которая упрощает выполнение запросов к графам знаний, точно так же, как мы запрашиваем традиционную базу данных с помощью SQL.
Если вы добавляете новый город в PKG, вы можете сообщить системе, что вершина имеет тип «город», а также добавить отношение «находится в» к вершине «состояние». И вершины, и отношения имеют типы.
В области стратегии корпоративного графа знаний мы используем гипотезу Джима Хендлера: « Немного семантики имеет большое значение. «Добавление нескольких простых типов как к вершинам, так и к ребрам — это основной способ добавить смысл (семантику) к PKG, чтобы повысить их проверяемость и повторное использование.
Многие организации обнаружили, что общие вики — идеальная система для хранения и связывания знаний. Однако большинство организаций не обращаются к вики, потому что они отдают предпочтение редактированию в свободной форме, а не строгим правилам. Вы всегда можете попытаться наложить структуру на вики-страницу, но эти структуры часто необязательны, и лишь немногие вики-системы не позволяют сохранить вики-страницу, если отсутствуют обязательные поля. Инфобоксы Википедии являются примером того, как вики могут быть модифицированы для добавления структурированных данных, которые можно запрашивать.
Принудительная уникальность имени
Хотя большинство вики не позволяют назначать типы новым страницам во время создания, у них есть некоторые другие правила, которых нет у графов знаний. Когда вы создаете новую страницу, вам нужно дать ей имя. Это имя служит идентификатором страницы с вики. Теперь две страницы могут иметь одно и то же имя. В большинстве PKG у нас есть аналогичное правило. Если вы попытаетесь войти на новую страницу с тем же именем, программа сообщит вам, что страница уже существует. Если вы переименуете страницу так, чтобы она носила то же имя, что и у существующей концепции, система спросит вас, хотите ли вы объединить имена. Добавление псевдонимов (одной или нескольких меток для одного и того же понятия) — еще одна проблема, с которой многие PKG не справляются.
Применение типизированных систем к циклам событий ведения заметок
Теперь, когда у нас есть представление о критической разнице между вики и графами знаний, давайте зададимся вопросом, как мы можем ускорить способность устанавливать связи при вводе текста на страницу PKG? Мы начнем с нескольких простых примеров, а затем углубимся в более сложные темы.
Общий шаблон, который мы используем, состоит в том, чтобы визуализировать символы, набранные на клавиатуре. Когда пользователь вводит каждый новый символ, мы применяем набор правил, чтобы помочь пользователю принять решение, есть ли возможность добавить преимущество к существующей концепции. Если есть, пользователи будут использовать символ, например клавишу табуляции, для подтверждения отношений и автоматического заполнения оставшихся символов для края. Если они не хотят принимать предложение, они могут просто продолжать печатать.
Суть в том, что когда пользователь печатает, он часто хочет сигнализировать о том, что нужна ссылка на конкретное типизированное понятие. Возможно, вы уже знакомы с этим процессом, если вы используете социальные сети и хотите сослаться на человека или концепцию, используя «@» для ссылки на человека или учетную запись Twitter. Вы можете добавить хэштеги, используя символ «#» в конце вашего сообщения в блоге, чтобы позволить рекомендательным системам связать ваше сообщение в блоге с людьми, заинтересованными в определенной концепции.
Как только вы сообщаете авторской системе, что хотите сослаться на существующий узел с типом, она подтверждает это при вводе или предлагает список автозавершений.
Суть в том, что у организаций есть много типов данных, которые вы хотите включить в свою рекомендацию по периферии. Мы сосредоточены на поиске способов интеграции этих специфичных для организации типов в цикл ввода текста в текстовых редакторах для наших инструментов PKG. Если вы хотите сослаться на сотрудников вашей компании, «@» может получить список из вашего списка имен сотрудников компании. Нажав на ссылку для этого сотрудника, пользователь сможет перейти на страницу PKG для этого сотрудника.
Другой распространенной точкой интеграции является ссылка на стандартный глоссарий терминов и сокращений компании. Вместо использования специального символа на клавиатуре вы можете добавить префикс, разделенный двоеточием, к имени вершины. Например, если у вас есть глоссарий терминов компании, вы можете сделать так, чтобы ваши пользователи использовали «g:» в качестве префикса, и автозаполнение будет соответствовать этим терминам. Если вы используете отраслевой глоссарий, вы можете ссылаться на эти терминологические стандарты в префиксе. Например, в здравоохранении мы используем глоссарий «Just Plain Clear», так что префикс «jpc:» будет автоматически заполнять термины из этой системы.
Добавление пользовательских типов
Мое предложение, когда вы создаете стратегию интеграции PKG, начните с малого и опирайтесь на свои успехи, основываясь на ценности, которую каждая интеграция добавляет вашему сообществу пользователей. Начните с простых списков сотрудников и терминов глоссария компании, на которые обычно ссылаются. Попробуйте поэкспериментировать с такими вещами, как «g:» для глоссария компании или «w:» для термина Википедии, и посмотрите, как часто на них ссылаются. Если эти предложения мало принимаются, их следует удалить. Помните, что люди всегда могут добавить внешние ссылки в Википедию.
Мониторинг скорости приема
В настоящее время были проведены обширные исследования того, как широкоязычные модели НЛП, такие как BERT и GPT-3, могут использоваться для помощи разработчикам программного обеспечения, предлагая код. Когда система дает пользователю рекомендации по предложенному автозаполнению, если пользователь принимает предложение, это регистрируется в журнале событий. Родитель предложений, которые принимает пользователь, называемый уровнем принятия, имеет решающее значение для принятия им этих инструментов.
В общем, если ваши пользователи не принимают около 1/3 предложений автозаполнения, инструменты станут скорее раздражающими, чем полезными. Пользователи отключат инструменты, и вы не получите обратную связь, необходимую для успеха. Поэтому очень важно стремиться к уровню принятия 30% или выше, прежде чем запускать эти инструменты в производство.
Постоянные ссылки и PURL
Добавление полных URL-ссылок из ваших заметок на любые внутренние корпоративные ресурсы также требует осторожности. Многие внутренние системы управления документами, такие как Sharepoint™, зависят от ссылок на определенные файлы в иерархической файловой системе. При изменении прав доступа к этим папкам или перемещении документов эти ссылки больше не будут работать.
Лучший выбор — делать ссылки в ваших PKG только на местоположения, которые ваша организация взяла на себя обязательства никогда не менять. Мы называем эти ссылки постоянными ссылками или PURL. Этого можно добиться путем тщательного управления вашей внутренней системой доменных имен, чтобы ссылка наhttp://glossary.mycompany.com/#termбудет работать всегда, даже если серверы, на которых размещен глоссарий, меняются.
Следующим шагом является обеспечение вашей группы интеграции PKG инструментами, которые могут отслеживать неработающие ссылки и активно работать над предотвращением разрыва ссылок при перемещении контента по серверам вашей организации. Подумайте о том, чтобы создать «стоимость» в один доллар за рабочую ссылку и помогите людям с точки зрения ценности знаний, которая теряется по мере разрыва ссылок и времени, необходимого для обновления неработающих ссылок.
Большинство графов знаний поддерживают двунаправленные ссылки. Если вы измените название концептуальной страницы, все ссылки на эту страницу будут автоматически обновлены. Это ОГРОМНАЯ победа, которая сводится к сверхпоследовательному и низкозатратному управлению отношениями.
Как правило, 60 % значения графа знаний составляют узлы, а 40 % значения — отношения. Неработающие ссылки отбивают у авторов желание создавать ссылки в будущем, а пользователи с меньшей охотой доверяют системам с большим количеством неработающих ссылок.
Интеграция со структурами НЛП
Одним из ключевых достижений является появление недорогих инструментов, работающих в режиме реального времени, которые могут анализировать входящий текст и искать ключевые слова и фразы, имеющие отношение к организации. Эти процессы включают автоматическую классификацию, извлечение именованных сущностей и извлечение фактов. Например, если вы введете термин «вчера», система может определить текущую дату и вставить ссылку на вчерашнюю дату на вашу временную шкалу, чтобы вы могли видеть, какие заметки ссылаются на эту дату.
Когда интеграция NLP происходит в рабочий процесс редактирования, это также актуально. Выводы в реальном времени по большим моделям НЛП могут быть очень дорогими. Проверки по мере ввода должны выполняться быстро. Добавление ключевых слов в документ в конце дня требует гораздо меньших затрат. Обычно службы автоподсказки в реальном времени должны работать в диапазоне 1/10 секунды. Это время отклика составляет 100 миллисекунд, и организации, которые предоставляют соглашения об уровне обслуживания, могут иметь обременительные сборы за возврат средств, за которые ваш пользователь не хочет платить.
Другие точки интеграции
Интеграция с автоматическим предложением в чартерном потоке и интеграция с аналитикой NLP в реальном времени — это две области, которые будут доминировать в вашей интеграционной архитектуре PKG и определять точки принятия решений о продукте PKG. Тем не менее, есть несколько других областей, которые следует учитывать.
Преобразование расширений Markdown
Почти все PKG сегодня сосредоточены на расширении стандартных форматов Markdown. К сожалению, разные поставщики выбрали разные форматы для этих расширений. Когда вы импортируете или экспортируете Markdown между системами, вам может потребоваться добавить конвертеры между этими форматами. Например, преобразование из Obsidian в Roam или наоборот потребует от вас загрузки расширений преобразователя для выполнения этой работы. К счастью, сценарии преобразования представляют собой довольно простые изменения синтаксиса и хорошо документированы. Многие небольшие программы Python уже доступны для выполнения этих преобразований. Вещи, которые нужно проверить, включают внешние ссылки, ссылки на изображения, теги метаданных, выделение текста и псевдонимы.
Вывод
Всегда будет естественное противоречие между быстрым ведением заметок в свободной форме, не отягощенным правилами, и желанием организации повторно использовать знания и сделать их согласованными. PKG, вики и корпоративные графы знаний развиваются вместе с бурным ростом инструментов NLP и ростом моделей большого языка, которые предлагают текст в контексте текстового редактора.

![В любом случае, что такое связанный список? [Часть 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































