Сравнительная характеристика методов поиска информации в базе знаний

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид статья
Язык русский
Дата добавления 19.01.2021
Размер файла 1,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА МЕТОДОВ ПОИСКА ИНФОРМАЦИИ В БАЗЕ ЗНАНИЙ

Михайловский В.О.1, Галиуллина Н.А.

2 1Михайловский Вадим Олегович - студент;

2Галиутина Наиля Альбертовна - студент, кафедра информатики и прикладной математики,

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

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

информация поиск обучение машинный

COMPARATIVE CHARACTERISTIC OF INFORMATION SEARCH METHODS ON THE KNOWLEDGE BASE

Mikhailovskiy V.O.1, Galiullina N.A.2 1Mikhailovskiy Vadim Olegovich - Student;

2Galiullina Nailia Albertovna - Student,

DEPARTMENT OF COMPUTER SCIENCE AND APPLIED MATHEMATICS, FEDERAL STATE BUDGETARY EDUCATIONAL INSTITUTION OF HIGHER PROFESSIONAL EDUCATION KAZAN NATIONAL RESEARCH TECHNOLOGICAL UNIVERSITY, KAZAN

Abstract: the article discusses the basic methods of optimizing the search for information on a knowledge base. A comparative analysis of the methods and the introduction of a more optimal search method to solve the problem of finding instructions on the knowledge base is carried out. In addition to the classical methods of searching for information on a knowledge base, which includes a full database scan and scanning by a full-text index, the article analyzes a version using machine learning that has significant advantages over other methods.

Keywords: information system, knowledge base, search optimization, index, full-text index, machine learning.

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

• точность поиска увеличилась;

• время поиска уменьшилось или не изменилось.

• в процессе исследования использовали следующие методы:

• полное сканирование базы - при поиске инструкций по разделами и ключевым словам;

• сканирование по полнотекстовому индексу - при поиске инструкций по заголовку;

• отбор при соответствии смысловых векторов - при усовершенствованном поиске инструкций по заголовку.

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

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

Некоторые общие принципы, связанные с созданием индексов:

• индексы необходимо создавать для столбцов, которые используются в джойнах, по которым часто производится поиск и операции сортировки. При этом необходимо учесть, что индексы всегда автоматически создаются для столбцов, на которые накладывается ограничение primary key. Чаще всего они создаются и для столбцов с foreign key (в Access - автоматически);

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

• лучше всего индексы создавать для тех полей, в которых - минимальное число повторяющихся значений и данные распределены равномерно. В Oracle есть специальные битовые индексы для столбцов с большим количеством повторяющихся значений, в SQL Server и Access такой разновидности индексов не предусмотрено;

• если поиск постоянно производится по определенному набору столбцов (одновременно), то в этом случае, возможно, есть смысл создать композитный индекс (только в SQL Server) - один индекс для группы столбцов;

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

• индексы можно создавать не только для таблиц, но и для представлений (только в SQL Server). Преимущества - возможность вычислять поля не в момент запроса, а в момент появления новых значений в таблицах.

Full text index - полнотекстовый специализированный индекс, для больших объемов текстовых данных, которые хранятся в столбцах строкового типа VARCHAR, TEXT. Для относительно небольших типов данных используется обычный индекс.

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

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

Следует рассмотреть положительные и отрицательные характеристики.

Плюсы:

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

• Нет необходимости устанавливать дополнительное программное обеспечение.

• Поиск по готовому индексу проходит достаточно быстро.

• Простота и точность.

Минусы:

• Необходимо содержать дополнительное поле.

• Потери производительности при вставке и обновлении записей будут довольно ощутимыми.

• Дополнительная нагрузка на сервер.

• Несколько дополнительных объектов в схеме.

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

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

На рисунке 1 показан пример поиска по разделу, здесь: 1 - номер шаблона для поиска, “Установка программных компонентов” - название раздела. В примере видно, что метод поиска напрямую чувствителен к регистру и совершенно не подходит для решения задачи поиска в базе знаний.

Рис. 1. Пример поиска инструкций по разделу

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

- регистр не имеет значения;

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

На рисунке 2 показаны эксперименты с поиском инструкций по заголовку, здесь: 3 - номер шаблона, “инструкция” - слово, встречающееся в заголовке.

Рис. 2. Поиск инструкций по заголовку

К сожалению, для того, чтобы получить результат нужно предположить, какое слово может быть в заголовке нужной инструкции, иногда пользователю тяжело сделать верное предположение, также не находятся инструкции, если слово использовано в другом падеже (Рисунок 3). Поэтому актуальной проблемой является поиск инструкций по смыслу заголовка

Рис. 3. Пример поиска по заголовку в другом падеже

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

Реализуем данный алгоритм следующим образом:

1. разделим запрос на слова;

2. найдем вектора каждого слова;

3. определим вектор выражения;

4. перебором по матрице заголовков инструкций найдем косинусное сходство между каждым из заголовков и входным запросом;

5. найдем самые близкие по смыслу к входному запросу заголовки;

6. сформулируем результат поиска.

Программная реализация алгоритма выполнена на языке программирования Python с использованием библиотеки для машинного обучения PyTorch. Работа выполнена в соответствии с алгоритмом, представленным выше.

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

На рисунке 4 изображен результат работы word2ve^ по запросу “установка программных компонентов” нашлись самые подходящие по смыслу инструкции. Среди достоинств можно отметить:

• независимость от регистра введенного запроса;

• поиск инструкций по смыслу;

• быстрота поиска.

Рис. 4. Результат поиска с использованием word2vec

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

Список литературы /References

1. Воройский Ф. Информатика. Новый систематизированный толковый словарь. Litres, 2018.

2. Лесковец Ю., Раджараман А., Ульман Д.Д. Анализ больших наборов данных // М.: ДМК Пресс, 2016. Т. 488.

3. Бабкин А.В. и др. Формирование цифровой информатики в России: сущность, особенности, техническая нормализация, проблемы развития // Научно-технические ведомости Санкт-Петербургского государственного политехнического университета, 2017. Т. 10. № 3.

4. Ярке Матиас, Кох Юрген. “Query Optimization in Database Systems”. Computing Surveys, Vol. 16. № 2. June, 1984.

5. Кузнецов С. “Методы оптимизации выполнения запросов в реляционных СУБД”. [Электронный ресурс]. Режим доступа: http://citforum.ru/database/artides/art_26.shtml, свободный/ (дата обращения: 14.07.2020).

6. Chaudhuri S., Shim K. Optimization of Queries with User-Defined Predicates. In Proc. of VLDB. Mumbai, 1996.

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [134,1 K], добавлен 21.02.2009

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

    курсовая работа [2,7 M], добавлен 18.09.2013

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

    реферат [18,7 K], добавлен 25.01.2009

  • Теоретические основы поиска, отказа - диагностирования, целью которого является определение места и при необходимости причины и вида отказа объекта. Особенности измерения диагностических признаков (проверки): время, масса оборудования, его стоимость.

    контрольная работа [63,8 K], добавлен 14.03.2010

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

    курсовая работа [81,8 K], добавлен 16.04.2009

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

    дипломная работа [1,9 M], добавлен 17.06.2017

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

    дипломная работа [2,2 M], добавлен 17.07.2016

  • Разработка словесного алгоритма поиска неисправности в электронной системе программного управления (ЭСПУ). Методика поиска неисправности в комплексе станок - ЭСПУ. Проведение эксплуатационных мероприятий по повышению надежности работы ЭСПУ со станком.

    курсовая работа [2,4 M], добавлен 27.06.2016

  • Назначение и конструкция электродинамического громкоговорителя, его основные параметры и классификация. Устройство и принцип действия импульсного источника питания. Типовые неисправности узла, алгоритм поиска неисправности, его настройка и регулировка.

    курсовая работа [646,7 K], добавлен 02.04.2012

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

    дипломная работа [479,2 K], добавлен 10.12.2013

  • Аналитическое исследование проблем сельской связи и разработки по их техническому решению. Сравнительная характеристика коммутационных систем и выбор оптимальной из них. Проект реконструкции оборудования сельской телефонной сети на базе ЦАТС МС-240.

    дипломная работа [3,2 M], добавлен 30.08.2010

  • Модернизация более ранней разработки устройства на базе микроконтроллера MCS-48, предназначенного для увлажнения дыхательной смеси. Проектная процедура ПЛИС типа SOPC, реализованная на базе микроконтроллера MCS-48. Проектирование структурной схемы.

    курсовая работа [523,2 K], добавлен 03.05.2015

  • Угрозы передаваемой информации в сетях сотовой связи. Анализ методов обеспечения безопасности речевой информации, передаваемой в сетях сотовой связи стандарта GSM. Классификация методов генерации псевдослучайных последовательностей, их характеристики.

    дипломная работа [2,0 M], добавлен 28.07.2013

  • Проектирование наземной импульсной радиолокационной станции (РЛС) с электронным сканированием по азимуту и углу места. Предназначение станции для поиска и сопровождения атакующих баллистических целей с измерением дальности, скорости, азимута и угла места.

    курсовая работа [80,8 K], добавлен 22.11.2012

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

    контрольная работа [853,8 K], добавлен 06.01.2013

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

    лабораторная работа [311,0 K], добавлен 19.02.2022

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

    реферат [89,7 K], добавлен 04.03.2009

  • Определение своего базового адреса, исходя из двух последних цифр шифра. Создание программы, обеспечивающей функционирование микропроцессорной системы ввода-вывода дискретной информации на базе БИС КР580 ВВ55 программируемого параллельного интерфейса.

    курсовая работа [328,7 K], добавлен 22.04.2014

  • Особенности развития микроэлектронной техники в области построения БИС для узлов и трактов телевизионных приемников. Анализ схемы блока питания телевизора "Горизонт 736". Характеристика сетевого (трансформаторного) источника питания. Сущность выпрямителя.

    контрольная работа [667,5 K], добавлен 28.04.2015

  • Комплексная классификация технологий и общая характеристика типов беспроводных сетей. Оценка факторов и анализ методов повышения производительности в Ad-Hoc сетях. Описание методов повышения производительности Ad-Hoc сетей на основе различных технологий.

    дипломная работа [1,8 M], добавлен 28.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.