Ключевые слова: птицы, определитель
Для определения видов животных и растений часто используют атласы и определители в печатном или электронном формате. Находясь на природе, носить с собой громоздкие книги не очень удобно, к тому же поиск информации в них целиком ложится на плечи пользователя, так как печатное издание предоставляет информацию лишь в виде списка видов с изображениями и текстовыми описаниями, чаще всего систематизированных по родам и семействам.
Наибольший интерес представляют интерактивные электронные справочники. Они используют возможности мобильной платформы, чтобы ускорить и облегчить пользователю процесс поиска. Интерактивный графический интерфейс позволяет просто ввести параметры поиска и передать их дальнейшую обработку специальному алгоритму. Набор параметров может включать в себя внешний вид животного, ареал обитания и другие. Важно подобрать оптимальный баланс количества параметров, чтобы не утомить пользователя перегруженным интерфейсом, и при этом сохранить точность поиска. В дальнейшем осуществляется поиск по заданным параметрам в базе данных и выдача результатов пользователю. Таким образом, в отличие от традиционных справочников, большая часть процесса поиска ложится на приложение, тогда как от пользователя требуется лишь определиться с начальными параметрами и просмотреть результат работы программы на наличие в списке искомого животного.
Орнитофауна нашей страны насчитывает около 790 видов, представляющих разнообразие форм и цветов [1]. Выбор и систематизация параметров внешнего описания являются важным этапом создания программы для определения. Их количество должно позволять отличить птиц с достаточной точностью.
Пытаясь распределить птиц по ограниченному количеству параметров, некоторые виды может быть сложно соотнести с каким-то определенным значением. Проводя поиск не только по внешнему описанию, но и по географическим координатам места, где была встречена птица, можно разрешить большинство коллизий, связанных со слишком похожими видами. Таким образом помимо внешнего вида при поиске учитывается положение пользователя относительно ареала обитания птицы.
Рис. 1. Видовое разнообразие птиц России
Также возможны случаи, когда пользователь видел птицу мельком и недостаточно запомнил точный вид птицы или ему не хватает времени, чтобы вводить большое количество данных. При малом количестве параметров поиска алгоритму скорее всего не удастся однозначно определить конкретный вид птицы, особенно если у нее нет каких-то черт, однозначно отличающих ее от остальных. Следует выводить пользователю результат в виде списка видов, которые наиболее вероятно подходят под предложенное им описание. Такие параметры как внешнее описание и местоположение будут определять сортировку возможных вариантов от наиболее подходящих.
Разделим внешнее представление птицы на четыре участка тела: туловище с головой, клюв, хвост и лапы. Для этих участков будут подобраны шаблоны формы и дополнительные уточняющие параметры. Рассмотрим этот процесс на примере клюва птицы.
Задача подбора шаблонов состоит в том, чтобы систематизировать все разнообразие форм (рис. 2) и выделить из них некоторое количество типов клювов, на которые можно разделить всех птиц.
Рис. 2. Разнообразие форм клювов
Получившиеся типы форм приведены на рис. 3. Каждому из них присвоен свой числовой индекс. Чем больше разница между индексами форм, тем более они не похожи друг на друга и тем сложнее их спутать пользователю. Такая градация позволит сравнивать между собой разные значения одного параметра при сортировке результатов поиска по релевантности путем нахождения разности между индексами.
Рис. 3. Типы клювов
Для прямого (индекс 2) и крючковатого (индекс 3) клюва введем также дополнительные параметры, уточняющие форму: длину и ширину. В таблице 1 приведен пример таких параметров для клювов прямой формы.
Таблица 1
Короткий (1) |
Средней толщины (2) |
Длинный (3) |
|
Тонкий (1) |
|
|
|
Толстый (2) |
|
|
|
Аналогичным образом выделяются типы для туловища, хвоста и лап. Помимо характеристик формы, для частей тела птицы задается цвет и возможные дополнительные элементы вроде хохолков. Так же есть параметр, не привязанный к конкретной части тела, задающий общий размер птицы.
После того как пользователь задаст параметры для поиска осуществляется выборка по ним из базы данных на основе фасетного поиска [3]. Найденные в базе виды птиц необходимо отсортировать по релевантности. Коэффициент релевантности определяет, насколько сильно похож элемент, выбранный из базы, на искомый по сумме коэффициентов для всех параметров, по которым ведется поиск, включая положение пользователя относительно ареала обитания птицы. Следует учесть, что некоторые виды птиц сложно отнести к какому-то определенному типу из параметров, поэтому разница в индексах параметров вычитается из некоторой максимально допустимой разницы для этого параметра.
В итоге получается формула:
Первое слагаемое является суммой по всем параметрам, задающим внешнее описание птицы, а второе определяется местоположением, где:
— числовое значение параметра i из элемента базы данных;
– числовое значение параметра i из заданных пользователем критериев отбора;
— максимально допустимая разница между значениями параметра i;
— расстояние от пользователя до ареала обитания птицы (равно 100, если пользователь внутри ареала);
, — коэффициенты важности данного параметра для расчета релевантности.
Элементы выборки из базы сортируются по рассчитанному коэффициенту релевантности, при этом последние элементы удаляются, если их общее количество больше максимально допустимого.
Данный метод поиска видов птиц достаточно точен, не перегружен параметрами, которые нужно задавать пользователю, и устойчив к небольшим отклонениям значений параметров от идеальных для какого-то вида, так как поиск ведется не по строгому соответствию, а с учетом возможных отклонений.
Литература:
- Е. А. Коблик, В. Ю. Архипов. Фауна птиц стран Северной Евразии в границах бывшего СССР. Списки видов. — М.: Товарищество научных изданий КМК, 2014. — 173 с.
- Питание птиц [электронный ресурс] // ecosystema.ru/08nature/birds/morf/morf2.htm (дата обращения 14.05.2017)
- Фасетная классификация [электронный ресурс] //ru.wikipedia.org/wiki/Фасетная_классификация (дата обращения 14.05.2017)