УДК 004.047, 025.4.03
В. И. ЗАРАЙСКИЙ, Г. Ю.ГУСЬКОВ
РАЗРАБОТКА СИСТЕМЫ ИНТЕЛЛЕКТУАЛЬНОГО ПОИСКА ТОВАРОВ
ДЛЯ ИНТЕРНЕТ-МАГАЗИНА НА ПЛАТФОРМЕ CS-CART С ИСПОЛЬЗОВАНИЕМ
ОНТОЛОГИЧЕСКОГО ПРЕДСТАВЛЕНИЯ БАЗЫ ДАННЫХ
Представлена реализация системы интеллектуального поиска для интернет-магазина на платформе CS-Cart. Система основана на формировании онтологии товаров. Система предполагает обработку и расширение пользовательского запроса. В статье описывается структура онтологии в формате OWL, описывается алгоритм обработки пользовательских запросов, а также результаты экспериментов.
Ключевые слова: базы знаний, онтологии, интеллектуальный поиск, электронная коммерция.
Введение
Термин «информационный поиск» впервые введён в научный оборот американским математиком Кельвином Муэрсом в 1951 году. В ГОСТе 7.73-96 информационный поиск — это действия, методы и процедуры, позволяющие осуществлять отбор определённой информации из массива данных.
Проблема информационного поиска может быть выделена в работе интернет-магазина. Она заключается в том, что пользователи не могут быстро найти необходимый товар и покидают интернет-магазин.
В настоящее время платформа для интернет-магазина CS-Cart по умолчанию содержит поиск по совпадению в названии или описании товара с введённым запросом пользователя.
В данной работе будет рассмотрен процесс реализации системы интеллектуального поиска, являющейся частью интернет-магазина на платформе CS-Cart, которая позволяет расширить возможности стандартной функциональности поисковой системы.
Любой интернет-ресурс должен обладать поисковой строкой, так как её отсутствие вызывает у пользователей отторжение.
Большинство систем сегодня базируется на булевой модели поиска. Логические переменные получают значение «истина» или «ложь» в зависимости от вхождения или не вхождения терминов запроса в соответствующий документ.
Рост всемирной паутины выявил недостаточность существующих в настоящее время методов поиска и индексации данных. Информационный поиск может быть основан на семантической структуре. Семантическая сеть позволяет
© Зарайский В. И., Гуськов Г. Ю., 2021
создавать между терминами связи, придавая информации значение и помогая машине интегрировать новые скрытые знания.
Если с помощью онтологии можно формализовать любую область знаний, то есть возможность применения онтологии для электронной коммерции. Онтология играет ключевую роль в необходимости структурирования большого объёма информации. С её помощью клиенты могут находить нужные товары и принимать решения о покупке. Существует возможность применения в системе поиска, рекомендаций, взаимодействия с пользователем.
Пользователи, чаще всего, знают, что ищут, но не знают, как сформулировать поисковый запрос. Самый простой способ — описывать ключевые характеристики или метаданные искомого объекта. В связи с этим возникает потребность в создании интеллектуальной системы поиска. Если представить товары, категории, характеристики и связи между ними в виде семантической сети и использовать машину логического вывода для формирования результата поискового запроса, то качественные показатели поисковой системы изменятся.
1. Система интеллектуального поиска
Структура классов онтологии представлена на рисунке 1. Концепты характеристик и категорий хранятся в классах «features» и «categories» соответственно. Концепты продуктов хранятся в классе «products». Заполнение онтологии концептами происходит в автоматизированном режиме. Также существуют два хранилища для названий концептов в онтологии. Первое содержит названия характеристик, второе - названия категорий в том виде, в котором эти термы представлены в интернет-магазине.
В ф owlThing
й categories features
о f í^lfypffFIl
В ( products_all_categories
products_alLfeatures_and_all_categories products_any_features_and_all_categories В ( products_all_features
products_all_features_and_all_categories products_all_features_and_any_categories products_all_features_and_all_categ oríes products_all_features_and_any_categories В ( products_any_categories
products_all_features_and_any_categorles products_any_features_and_any_categories В < products_any_features
products_any_features_and_all_categories products_any_features_and_any_categ oríes < products_any_features_and_all_categories 4 products_any_features_and_any_categories В ( search_results
products_all_teatures_and_all_categories products_all_features_and_any_categoríes products_any_features_and_all_categories products_any_features_and_any_categoríes
Рис. 1. Структура классов онтологии
Алгоритм интеллектуального поиска можно разбить на 3 этапа:
Предобработка строки запроса;
Формирование логических условий и определения классов;
Синхронизация машины логического вывода и получение списка продуктов.
1.1. Предобработка строки запроса
Входная строка запроса разделяется на токе-ны и из полученного массива термов удаляются английские стоп-слова. Из полученных токенов формируются биграммы. Затем, с помощью приблизительного сравнения строк [4], термы для автозаполнения сравниваются со списком би-грамм. В основе алгоритма приблизительного сравнения строк лежит расчёт расстояния Ле-венштейна [4]. Сравнивая две строки между собой, функция сравнения выдаёт число от 0 до 100, которое означает степень схожести. С начало происходит частичное сравнение, которое во всём наборе термов для автозаполнения ищет совпадение с биграммой. Полученный набор совпадений повторно проверяется с биграммой с помощью пословного сравнения. Таким образом, выделяется список концептов, которые существуют в онтологии.
1.2. Формирование логических условий и определённости классов
На втором этапе формирования логических условий проверяется, к какому классу принадлежит элемент списка найденных концептов. Если это характеристика, то в общий набор условий по характеристикам добавляется новое сформированное условие формата «hasFeature
value currentFeature», где «hasFeature» это сущность типа «ObjectProperty», которое позволяет создать связь между концептом товара и концептов характеристики «currentFeature».
Набор условий по характеристикам и категориям формируют условия эквивалентности для четырёх классов: два по логическому условию «И» и два по логическому условию «ИЛИ».
Наборы условий также комбинируются с помощью логических операторов «И» и «ИЛИ», и формируют значение эквивалентности четырёх классов:
products_all_categories - продукты, принадлежащие всем категориям из набора условий;
products_all_features - продукты, имеющие все характеристики из набора условий;
products_any_categories - продукты, принадлежащие хотя бы одной категории из набора условий;
products_any_features - продукты, имеющие хотя бы одну характеристику из набора условий.
Эти классы имеют подклассы, которые ищут пересечения множеств найденных концептов:
products_all_features_and_all_categoreis - продукты имеют все характеристики и принадлежат всем категориям из набора условий;
products_all_features_and_any_categories -продукты имеют все характеристики и принадлежат хотя бы одной категории из набора условий;
products_any_features_and_all_categories -продукты имеют хотя бы одну характеристику и принадлежат всем категориям из набора условий;
products_any_features_and_any_categories -продукты имеют хотя бы одну характеристику и принадлежат хотя бы одной категории из набора условий.
1.3. Синхронизация машины логического вывода и получение списка продуктов
На третьем этапе запускается синхронизация машины логического вывода. Подклассы для выявления пересечений множеств найденных концептов содержат товары, подходящие под условия. Необходимо обойти все четыре класса в последовательности от более точного к более полному списку. Более точным считается класс, содержащий продукты, удовлетворяющие всем условиям, соединённые оператором «И». А менее точным, но более полным, через оператор «ИЛИ».
Для синхронизации классов использовалась машина логического вывода HermiT.
Результаты экспериментов
Эксперименты проводились на демонстрационных данных магазина, которые содержат 83 категории, 300 продуктов и 35 типов характеристик.
Время заполнения онтологии всеми концептами и связями между ними составило от 0,2 до 1 секунды в зависимости от количества данных.
Для проверки времени синхронизации машины логического вывода на одинаковом запросе пользователя товары были сформированы более крупные наборы данных на основе существующих. Библиотека по взаимодействию с онтологией позволяет в автоматизированном режиме запускать две машины логического вывода: HermiT и Pellet. Результаты времени выполнения запросов представлены в таблице 1.
Как видно из результатов экспериментов, HermiT быстрее справляется с логическим выводом почти вдвое быстрее, чем Pellet. Чем больше общее количество товаров, занесенных в онтологию, тем дольше происходит поиск.
Результаты выполнения запросов системой интеллектуального поиска (СП) и стандартным поисковым алгоритмом (СПА), основанным на совпадении слов, представлены в таблице 2.
Таблица 1 Время работы алгоритма с разными машинами логического вывода
Таблица 2 Сравнение результатов запросов
Как видно из результатов экспериментов, стандартный поисковой алгоритм не может найти ни один товар по запросам пользователей, состоящим из нескольких слов. При поиске по слову «huawei» встроенная система поиска нашла все релевантные товары, так как в названии товаров присутствовало это слово. При поиске по словосочетанию «huawei notebook» встроенная система поиска не нашла товары, как это было в предыдущем запросе, так как в названии или описании товаров отсутствует это словосочетание.
Интеллектуальная система поиска смогла найти по запросу «huawei» те же товары, что и стандартный поисковой алгоритм, так как в этом случае среди характеристик найденных товаров присутствовала характеристика бренда со значением «huawei». При выполнении запроса «huawei notebook» среди товаров, у которых есть бренд «huawei» и тип ноутбука «notebook», не нашлось сочетания таких характеристик. Однако существуют товары, у которых есть либо первая, либо вторая характеристика. Поэтому система стремиться предложить пользователю товары, которые, возможно, могут его заинтересовать, и не оставить с пустым результатом поиска.
Средняя точность работы системы интеллектуального поиска по результатам проведённых экспериментов из таблицы 2 составила 70%.
Заключение
В результате работы была разработана система интеллектуального поиска для интернет-магазина на платформе CS-Cart с использованием онтологии.
Проведённые эксперименты показывают, что разработанная система выдаёт товары с характеристиками и категориями, по которым пользователь осуществляет поиск, в отличие от стандартного поиска. Стандартный поисковой алгоритм не находит товары по запросу, по которому интеллектуальный поиск выдаёт товары. Время работы алгоритма с машиной логического вывода HermiT составляет менее 10 секунд для небольшого количества товаров, что можно использовать для интернет-магазинов со специфической предметной областью.
Для увеличения точности алгоритма можно добавить в онтологию дополнительную информации о товаре и модернизировать процесс предобработки запроса. HermiT написан на Java, а Pellet на C++. В первом случае создаётся окружение для HermiT через JVM. Библиотека вызывает HermiT через это окружение, тем самым время работы через несколько оболочек увеличивается. С Pellet такая же проблема.
Общее Количество
количество найденных
Запрос наиденных релевантных
товаров товаров
СИП СПА СИП СПА
blue medium 1 0 1 0
t-shirt
apple iphone 128gb 10 0 2 0
windows 7 9 0 8 0
premium
monitor ips 29 0 7 0
fullhd
huawei 18 0 16 0
notebook
huawei 3 3 3 3
Общее Количество
количество найденных HermiT Pellet
товаров товаров
300 10 4,5 сек 9 сек
600 20 15,8 сек 18,2 сек
1000 30 26,5 сек 46,3 сек
2000 60 72,1 сек 180 сек
5000 150 529 сек 1010 сек
Соответственно, необходимо работу ризонера перенести из сложной прослойки окружений на более высокий уровень, например, написать ри-зонер на python и вызывать python код, который будет обрабатывать xml структуру в owl файле.
Данные пункты будут реализованы в следующих исследованиях.
СПИСОК ЛИТЕРАТУРЫ
1. [Цуканова, 2015] Цуканова Н. И. Онтологическая модель представления и организации знаний: учебное пособие для вузов. — М.: Изд-во Горячая линия - Телеком, 2015.- С. 272.
2. [Басипов и др., 2012] Басипов А. А., Демич О. В. Семантический поиск: проблемы и технологии // Вестн. Астрах. гос. техн. ун-та. — 2012. — №1. — С. 8.
3. [Wikipedia, 2020] Approximate string matching [Электронный ресурс] //Wikipedia: [сайт].иКЬ: https://en.wikipedia.org/wiki/ Approx-imate_string_matching (дата обращения: 11.12.2020).
4. [Wikipedia, 2020] Расстояние Левенштейна [Электронный ресурс] //Wikipedia: [сайт].иКЬ: https://щ.wikipedia.org/wiki/Расстояние_Левен-штейна (дата обращения: 11.12.2020).
5. [Целых и др., 2006] Целых, А. Н., Котов Э. М. Оценка эффективности информационного поиска // Журнал «Известия ЮФУ. Технические науки». - 2006. - С. 2.
6. [Верещагин и др., 2012] Верещагин Н. К., Шень А. Начала теории множеств. — Москва : Издательство МЦНМО, 2012. - С. 128.
Зарайский Владимир Игоревич, магистрант кафедры «Информационные системы» УлГТУ. Гуськов Глеб Юрьевич, кандидат технических наук, доцент кафедры «Информационные системы» УлГТУ.
Поступила 15.09.2021 г.
УДК 004.8
В. В. ВОРОНИНА, С. А. ШИШИН
РАСПОЗНАВАНИЕ ГОЛОСОВ НЕСКОЛЬКИХ ПТИЦ НА ОДНОЙ ЗВУКОЗАПИСИ
Исследуется задача распознавания голосов нескольких птиц на одной звукозаписи. Решения задачи основано на применении сверочной нейронной из работы PANNs, и объединении её с слоем внимания из работы AttentionAugmentedConvolutionalNetworks. В результате разработана модель AACN-PANNsCNN14Att, которая дает повышение точности на тестовой выборке в среднем на 2,3%.
Ключевые слова: распознавание голосов птиц, сверточные сети, алгоритм внимания.
Введение
Мониторинг дикой природы является важной экологической задачей. Птицы играют важную роль в экосистеме: они занимают высокие позиции в пищевой цепочке и могут показать изменения, происходящие на более низких уровнях.
Таким образом, они являются отличным индикатором ухудшения качества среды обитания и загрязнения окружающей среды.
© Воронина В. В., Шишин С. А., 2021
Звук является наиболее привлекательным способом получения информации, так как птиц легче услышать, чем увидеть. При правильном обнаружении и классификации исследователи могут быстро определять факторы качества жизни в той или иной местности на основе меняющейся популяции.
На сегодняшний день наиболее перспективными решениями в распознавании голосов птиц считается применение методов машинного обучения, а именно свёрточных нейронных сетей (CNN) [8] или рекуррентных свёрточных