Способы организации баз знаний

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

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

О том, как этого избежать, говорим сегодня с Дмитрием Плотниковым, консультантом по SharePoint и Office 365, Microsoft MVP, который создавал базы знаний для многих крупных компаний.

Какими вообще бывают базы знаний?

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

О чем нужно подумать, прежде чем начинать работу по созданию такой базы?

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

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

Какие ошибки часто допускают при создании таких продуктов?

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

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

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

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

Читайте также:  Способ изготовления лекарственных веществ каких нибудь смесей 9 букв

И как минимизировать возможные проблемы?

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

К примеру, ресурс MSDN от Microsoft — это, по сути, мощная база знаний, содержащая техническую документацию. Ее главная проблема: из-за огромных объемов хранимого контента найти что-то конкретное там почти невозможно. Этот факт стал одним из плюсов ресурса Stack Overflow: в свое время там были очень распространены треды, в которых люди делились ссылками на конкретные статьи с MSDN, — по сути, это был единственный способ найти там то, что нужно.

У Microsoft были и другие попытки создать базу знаний. Еще один проект получил название TechNet Wiki, и его идея состояла в том, чтобы привлечь к ведению базы сообщество пользователей. Предполагалось, что люди сами будут писать статьи, расставлять в них теги и так далее. Этот подход оказался куда более эффективным, чем полностью автоматизированная база MSDN.

Можешь рассказать о каком-то интересном проекте по созданию базы знаний, в котором удалось поучаствовать?

В одном из наших проектов мы разрабатывали базу знаний для крупного заказчика, которому нужно было оптимизировать работу службы поддержки. Вики-движок самой базы был интегрирован с корпоративной АТС. Для ускорения обслуживания клиентов в этой системе была реализована связка механизма распознавания речи и поиска информации в базе по ключевым словам. Если в ходе разговора оператора и пользователя произносились определенные «ключевики», база должна была автоматически выдавать релевантные статьи.

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

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

Да, конечно, вот мои советы:

  1. За базу знаний должен кто-то отвечать, иначе она быстро умрет.
  2. Для небольших проектов можно обойтись коробочными решениями, но нужно понимать, что на больших объемах это не будет работать.
  3. Самое главное в базе знаний — возможность поиска. В самом начале, может быть, она и не понадобится, но с течением времени работоспособность системы будет определяться именно качеством поиска.

Источник

Организация базы знаний

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

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

В настоящее время в исследованиях по искусственному интеллекту выделились шесть основных направлений.

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

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

Читайте также:  Способы защиты от вирусных атак

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

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

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

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

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

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

Базовая структура экспертной системы приведена на рис. 1.1.

Структурные элементы, составляющие систему, выполняют следующие функции.

База знаний – реализует функции представления знаний в конкретной предметной области и управление ими.

Механизм логических выводов – выполняет логические выводы на основании знаний, имеющихся в базе знаний.

Пользовательский интерфейс – необходим для правильной передачи ответов пользователю, иначе пользоваться системой крайне неудобно.

Модуль приобретения знаний – необходим для получения знаний от эксперта, поддержки базы знаний и дополнения ее при необходимости.


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

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

Основным отличительным признаком СИИ является работа со знаниями.

Если для обычных программ представление данных алгоритма определяется на уровне описания языка программирования, то для СИИ представление знаний выливается в проблему, связанную со многими вопросами: что такое знания, какие знания хранить в системе в виде базы знании. (БЗ), в каком виде и сколько, как их использовать, пополнять и т. д.

В отличие от данных знания обладают следующими свойствами:

· внутренней интерпретируемостью — вместе с информацией в БЗ представлены ин­формационные структуры, позволяющие не только хранить знания, но и использо­вать их;

· структурированностью — выполняется декомпозиция сложных объектов на более простые и установление связей между ними;

· связанностью — отражаются закономерности относительно процессов, яв­лений и причинно-следственные отношения между ними;

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

Все эти свойства знаний в конечном итоге должны обеспечить возможность СИИ мо­делировать рассуждения человека при решении прикладных задач – со знаниями тесно связано понятие процедуры получения решении задач (стратегии обработки знаний). В системах обработки знании такую процедуру называют механизмом вывода, логическим выводом или машиной вывода. Принципы построения механизма вывода в СИИ опреде­ляются способом представления знаний и видом моделируемых рассуждений. Для организации взаимодействия с СИИ в ней должны быть средства общения с пользователем, т. е. интерфейс. Интерфейс обеспечивает работу с БЗ и механизмом вы­вода на языке достаточно высокого уровня, приближенном к профессиональному языку специалистов в той прикладной области, к которой относится СИИ- Кроме того, в функ­ции интерфейса входит поддержка диалога пользователя с системой, что дает пользова­телю возможность получать объяснения действий системы, участвовать в поиске реше­ния задачи, пополнять и корректировать базу знаний. Таким образом, основными частя­ми систем, основанных на знаниях, являются:

Читайте также:  Элеутерококка настойка способы применения

2. Механизм вывода.

3. Интерфейс с пользователем

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

Это прежде всего:

· понятийные знания (набор понятий и их взаимосвязи);

· конструктивные знания (знания о структуре и взаимодействии частей различных объектов);

· процедурные здания (методы, алгоритмы и программы решения различных задач);

· фактографические знания (количественные и качественные характеристики объек­тов, явлений и их элементов).

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

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

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

Центральное место в СПЗ занимает язык представления знаний (ЯПЗ). В свою оче­редь, выразительные возможности ЯПЗ определяются лежащей в основе ЯПЗ моделью представления знаний (иногда эти понятия отождествляют).

Модель представления знаний является формализмом, призванным отобразить ста­тические и динамические свойства предметной области (ПО), т. е. отобразить объекты и отношения ПО, связи между ними, иерархию понятий ПО и изменение отношений меж­ду объектами.

Модель представления знаний может быть универсальной (применимой для боль­шинства ПО) или специализированной (разработанной для конкретной ПО). В СИИ ис­пользуются следующие основные универсальные модели представления знаний:

· логические модели и другие.

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

Контрольные вопросы:

1. Дайте определение знаниям и данным.

2. Дайте определение экспертной системе.

3. Перечислите структурные элементы, составляющие экспертную систему.

4. Какими свойствами обладают знания?

5. Назовите основные модели представления знаний.

Источник

Оцените статью
Разные способы