Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программные продукты и системы, 2018, том 31, № 4

международный научно-практический журнал
Покупка
Основная коллекция
Артикул: 706094.0001.99
Программные продукты и системы : международный научно-практический журнал. - Тверь : НИИ Центрпрограммсистем, 2018. - Т. 31, № 4. - 836 с. - ISSN 0236-235X. - Текст : электронный. - URL: https://znanium.ru/catalog/product/1016285 (дата обращения: 07.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Научно-исследовательский институт

«Центрпрограммсистем»

Программные

продукты и системы

МЕЖДУНАРОДНЫЙ НАУЧНО-ПРАКТИЧЕСКИЙ ЖУРНАЛ

2018, том 31, № 4

(год издания тридцать первый)

Главный редактор

С.В. ЕМЕЛЬЯНОВ, академик РАН

Тверь

SOFTWARE & SYSTEMS

(PROGRAMMNYE PRODUKTY I SISTEMY)

International research and practice journal

2018, vol. 31, no. 4

Editor-in-Chief 

S.V. EMELYANOV, Academician of the Russian Academy of Sciences

Tver

Russian Federation

Research Institute CENTERPROGRAMSYSTEM

 ПРОГРАММНЫЕ ПРОДУКТЫ И СИСТЕМЫ

Международный научно-практический журнал 

2018. Т. 31. № 4
DOI: 10.15827/0236-235X.031

Главный редактор 

С.В. ЕМЕЛЬЯНОВ,
академик РАН (г. Москва, Россия)

Научные редакторы:

Д.Ш. СУЛЕЙМАНОВ, академик АН РТ, 
д.т.н., профессор КГТУ (г. Казань, Россия)

Б.В. ПАЛЮХ, д.т.н., профессор ТвГТУ
(г. Тверь, Россия)

Издатель НИИ «Центрпрограммсистем»

(г. Тверь, Россия)

Учредители: МНИИПУ (г. Москва, Россия),

Главная редакция международного журнала 

«Проблемы теории и практики управления» (г. Москва, Россия),

АОЗТ НИИ «Центрпрограммсистем» (г. Тверь, Россия)

Журнал зарегистрирован в Комитете Российской Федерации

по печати 26 июня 1995 г.

Регистрационное свидетельство № 013831

Подписной индекс в каталоге

Агентства «Роспечать» 70799

ISSN 0236-235X (печатн.)
ISSN 2311-2735 (онлайн)

МЕЖДУНАРОДНАЯ РЕДАКЦИОННАЯ КОЛЛЕГИЯ

Семенов Н.А. – д.т.н., профессор Тверского государственного технического университета, заместитель главного 
редактора (г. Тверь, Россия)
Решетников В.Н. – д.ф.-м.н., профессор Московского авиационного института 
(национального исследовательского университета), заместитель главного редактора (г. Москва, Россия)
Арефьев И.Б. – д.т.н., профессор Морской академии Польши (г. Щецин, Польша)
Афанасьев А.П. – д.ф.-м.н., профессор Московского физико-технического института (технического университета), 
заведующий Центром распределенных вычислений Института проблем передачи информации РАН (г. Москва, Россия)
Баламетов А.Б. – д.т.н., профессор Азербайджанского научно-исследовательского и проектно-изыскательского института 
энергетики (г. Баку, Азербайджан)
Батыршин И.З. – д.т.н., профессор Мексиканского института нефти (г. Мехико, Мексика)
Вагин В.Н. – д.т.н., профессор Национального исследовательского университета «МЭИ» (г. Москва, Россия)
Голенков В.В. – д.т.н., профессор Белорусского государственного университета информатики и радиоэлектроники 
(г. Минск, Беларусь)
Еремеев А.П. – д.т.н., профессор Национального исследовательского университета «МЭИ» (г. Москва, Россия)
Котов А.С. – кандидат наук, ассистент профессора университета Уэйна (штат Мичиган) (г. Детройт, США)
Кузнецов О.П. – д.т.н., профессор Института проблем управления РАН (г. Москва, Россия)
Курейчик В.М. – д.т.н., профессор Инженерно-технологической академии Южного федерального университета 
(г. Таганрог, Россия)
Лисецкий Ю.М. – к.т.н., генеральный директор «S&T Ukraine» (г. Киев, Украина)
Мамросенко К.А. – к.т.н., доцент Московского авиационного института 
(национального исследовательского университета), руководитель Центра визуализации и спутниковых 
информационных технологий НИИСИ РАН (г. Москва, Россия)
Мейер Б. – доктор наук, профессор, заведующий кафедрой Высшей политехнической школы – ETH (г. Цюрих, Швейцария)
Нгуен Тхань Нги – д.ф.-м.н., профессор, проректор Ханойского открытого университета (г. Ханой, Вьетнам)
Николов Р.В. – доктор наук, профессор Университета библиотековедения и информационных технологий Софии
(г. София, Болгария)
Осипов Г.С. – д.ф.-м.н., профессор, заместитель директора Института системного анализа РАН (г. Москва, Россия)
Палюх Б.В. – д.т.н., профессор Тверского государственного технического университета (г. Тверь, Россия)
Рахманов A.A. – д.т.н., профессор, заместитель генерального директора Концерна «РТИ Системы» (г. Москва, Россия)
Серов В.С. – д.ф.-м.н., профессор Университета прикладных наук Оулу (г. Оулу, Финляндия)
Сотников А.Н. – д.ф.-м.н., профессор, Межведомственный суперкомпьютерный центр РАН (г. Москва, Россия)
Сулейманов Д.Ш. – академик АН Республики Татарстан, д.т.н., профессор Казанского государственного 
технического университета (г. Казань, Россия)
Тарасов В.Б. – к.т.н., доцент Московского государственного технического университета им. Н.Э. Баумана (г. Москва, Россия)
Таратухин В.В. – доктор философии, управляющий директор Европейского исследовательского центра 
в области информационных систем (ERCIS) Вестфальского университета им. Вильгельма (г. Мюнстер, Германия)
Хорошевский В.Ф. – д.т.н., профессор Московского физико-технического института (технического университета) 
(г. Москва, Россия)
Язенин А.В. – д.ф.-м.н., профессор Тверского государственного университета (г. Тверь, Россия)

АССОЦИИРОВАННЫЕ ЧЛЕНЫ РЕДАКЦИИ

Национальный исследовательский университет «МЭИ», г. Москва, Россия
Технологический институт Южного федерального университета, г. Таганрог, Россия
Тверской государственный технический университет, г. Тверь, Россия
Научно-исследовательский институт «Центрпрограммсистем», г. Тверь, Россия

АДРЕС ИЗДАТЕЛЯ И РЕДАКЦИИ
Россия, 170024, г. Тверь, пр. 50 лет Октября, 3а
Телефон (482-2) 39-91-49
Факс (482-2) 39-91-00
E-mail: red@cps.tver.ru
Сайт: www.swsys.ru

Дата выхода в свет 20.11.2018 г.

Отпечатано ООО ИПП «Фактор и К»

Россия, 170028, г. Тверь, ул. Лукина, д. 4, стр. 1

Выпускается один раз в квартал.

Год издания тридцать первый. Формат 6084 1/8. Объем 188 стр.

Заказ № 32. Тираж 1000 экз. Цена 330,00 руб.

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

 SOFTWARE & SYSTEMS 
(PROGRAMMNYE PRODUKTY I SISTEMY)

International research and practice journal

2018, vol. 31, no. 4
DOI: 10.15827/0236-235X.031

Editor-in-chief 
S.V. Emelyanov, Academician of the Russian Academy of Sciences
(Mosсow, Russian Federation)

Science editors:
D.Sh. Suleimanov, Academician of TAS, Dr.Sc. (Engineering), Professor KSTU
(Kazan, Russian Federation)

B.V. Palyukh, Dr.Sc. (Engineering), Professor TvSTU
(Tver, Russian Federation)

Publisher Research Institute 
CENTERPROGRAMSYSTEM 

(Tver, Russian Federation)

The Founders: International Scientific 

and Research Institute for Management Issues 

(Moscow, Russian Federation),

the Chief Editorial Board 

of International Magazine Theoretical and practical 

issues of management (Moscow, Russian Federation),

Research Institute CENTERPROGRAMSYSTEM 

(Tver, Russian Federation)
The magazine is on record 

in Russian committee

on press 26th of June 1995

Registration certificate № 013831

ISSN 0236-235X (print)

ISSN 2311-2735 (online)

INTERNATIONAL EDITORIAL BOARD

Semenov N.A. – Dr.Sc. (Engineering), Professor of Tver State Technical University, Deputy Editor-in-Chief
(Tver, Russian Federation)
Reshetnikov V.N. – Dr.Sc. (Physics and Mathematics), Professor of Moscow Aviation Institute (National Research University), 
Deputy Editor-in-Chief (Mosсow, Russian Federation)
Arefev I.B. – Dr.Sc. (Engineering), Professor of Poland Szczecin Maritime Academy (Szczecin, Poland)
Afanasiev A.P. – Dr.Sc. (Physics and Mathematics), Professor of Moscow Institute of Physics and Technology, 
Head of Centre for Distributed Computing of Institute for Information Transmission Problems (Moscow, Russian Federation)
Balametov A.B. – Azerbaijan Scientific-Research & Design-Prospecting Power Engineering Institute (Baku, Azerbaijan)
Batyrshin I.Z. – Dr.Sc. (Engineering), Professor of Mexican Petroleum Institute (Mexico City, Mexico)
Vagin V.N. – Dr.Sc. (Engineering), Professor of National Research University “Moscow Power Engineering Institute”
(Mosсow, Russian Federation)
Golenkov V.V. – Dr.Sc. (Engineering), Professor of Belarusian State University of Informatics and Radioelectronics 
(Minsk, Republic of Belarus)
Eremeev A.P. – Dr.Sc. (Engineering), Professor of National Research University “Moscow Power Engineering Institute”
(Moscow, Russian Federation)
Kotov A.S. – Ph.D. (Computer Science), Assistant Professor, Wayne State University (Detroit, MI, USA)
Kuznetsov O.P. – Dr.Sc. (Engineering), Professor of the Institute of Control Sciences of the Russian Academy of Sciences
(Moscow, Russian Federation)
Kureichik V.M. – Dr.Sc. (Engineering), Professor of Academy of Engineering and Technology Southern Federal University 
(Taganrog, Russian Federation)
Lisetskiy Yu.M. – Ph.D.Tech.Sc., CEO of S&T Ukraine (Kiev, Ukraine)
Mamrosenko K.A. – Ph.D. (Engineering), Associate Professor of Moscow Aviation Institute (National Research University), 
Head of Center of Visualization and Satellite Information Technologies SRISA RAS (Moscow, Russian Federation)
Meyer B. – Dr.Sc., Professor, Head of Department in Swiss Federal Institute of Technology in Zurich, ETH 
(Zurich, Switzerland)
Nguyen Thanh Nghi – Dr.Sc. (Physics and Mathematics), Professor, Vice-Principal of Hanoi Open University (Hanoi, Vietnam)
Nikolov R.V. – Full Professor of the University of Library Studies and Information Technology (Sofia, Bulgaria)
Osipov G.S. – Dr.Sc. (Physics and Mathematics), Professor, Deputy of the Principal of Institute of Systems Analysis 
of the Russian Academy of Sciences (Mosсow, Russian Federation)
Palyukh B.V. – Dr.Sc. (Engineering), Professor of Tver State Technical University (Tver, Russian Federation)
Rakhmanov A.A. – Dr.Sc. (Engineering), Professor, Deputy of the CEO of Concern RTI Systems
(Mosсow, Russian Federation)
Serov V.S. – Dr.Sc. (Physics and Mathematics), Professor of the Oulu University of Applied Sciences (Oulu, Finland)
Sotnikov A.N. – Dr.Sc. (Physics and Mathematics), Professor, Joint Supercomputer Center of the Russian Academy 
of Sciences (Moscow, Russian Federation)
Suleimanov D.Sh. – Academician of TAS, Dr.Sc. (Engineering), Professor of Kazan State Technical University
(Kazan, Russian Federation)
Tarassov V.B. – Ph.D. (Engineering), Associate Professor of Bauman Moscow State Technical University
(Mosсow, Russian Federation)
Taratoukhine V.V. – Ph.D. (Engineering), Dr.Ph., Managing Director of the Competence Centre ERP and ERCIS Lab
Russia of the ERCIS (Muenster, Germany)
Khoroshevsky V.F. – Dr.Sc. (Engineering), Professor of Moscow Institute of Physics and Technology
(Moscow, Russian Federation)
Yazenin A.V. – Dr.Sc. (Physics and Mathematics), Professor of Tver State University (Tver, Russian Federation)

ASSOCIATED EDITORIAL BOARD MEMBERS

National Research University “Moscow Power Engineering Institute”, Moscow, Russian Federation
Technology Institute at Southern Federal University, Taganrog, Russian Federation
Tver State Technical University, Tver, Russian Federation
Research Institute CENTERPROGRAMSYSTEM, Tver, Russian Federation

EDITORIAL BOARD AND PUBLISHER OFFICE ADDRESS
50 let Oktyabrya Ave. 3а, Tver, 170024, Russian Federation
Phone: (482-2) 39-91-49  Fax: (482-2) 39-91-00
E-mail: red@cps.tver.ru
Website: www.swsys.ru

Release date 20.11.2018

Printed in printing-office “Faktor i K”

Lukina St. 4/1, Tver, 170028, Russian Federation

Published quarterly. 31th year of publication

Format 6084 1/8. Circulation 1000 copies

Prod. order № 32. Wordage 188 pages. Price 330,00 rub. 

Вниманию авторов

Международный журнал «Программные продукты и системы» публикует материалы научного и научно-практического 

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

Решением Президиума Высшей аттестационной комиссии (ВАК) Министерства образования и науки РФ международ
ный журнал «Программные продукты и системы» внесен в Перечень ведущих рецензируемых научных журналов и изданий, в которых должны быть опубликованы основные научные результаты диссертаций на соискание ученых степеней 
кандидата и доктора наук.

Информация об опубликованных статьях по установленной форме регулярно предоставляется в систему Российского 

индекса научного цитирования (РИНЦ), в CrossRef и в другие базы и электронные библиотеки.

Условия публикации

К рассмотрению принимаются ранее нигде не опубликованные материалы, соответствующие тематике журнала 

(специализация 05.13.ХХ – Информатика, вычислительная техника и управление) и отвечающие редакционным требованиям.

Работа представляется в электронном виде в формате Word. При обилии сложных формул обязательно наличие 

статьи и в формате PDF. Формулы должны быть набраны в редакторе формул Word (Microsoft Equation или MathType). 
Объем статьи вместе с иллюстрациями – не менее 10 000 знаков. Диаграммы, схемы, графики должны быть доступными 
для редактирования (Word, Visio, Excel). Все иллюстрации для полиграфического воспроизведения представляются в 
черно-белом варианте. Цветные, тонированные, отсканированные, не подлежащие редактированию средствами Word рисунки и экранные формы следует присылать в хорошем качестве для их дополнительного размещения на сайте журнала в 
макете статьи с доступом по ссылке. (Публикация материалов с использованием гипертекста, графики, аудио-, видео-, 
программных средств и др. возможна в электронном издании «Программные продукты, системы и алгоритмы», сайт 
www.swsys-web.ru.) Заголовок должен быть информативным; сокращения, а также терминологию узкой тематики желательно в нем не использовать. Количество авторов на одну статью – не более 4, количество статей одного автора в номере, 
включая соавторство, – не более 2. Список литературы, наличие которого обязательно, должен включать не менее 10 пунктов.

Необходимы также содержательная структурированная аннотация (не менее 250 слов), ключевые слова (7–10) и 

индекс УДК. Название статьи, аннотация и ключевые слова должны быть переведены на английский язык (машинный 
перевод недопустим), а фамилии авторов, названия и юридические адреса организаций (если нет официального перевода), 
пристатейные списки литературы – транслитерированы по стандарту BGN/PCGN. 

Вместе со статьей следует прислать сопроводительное письмо-рекомендацию в произвольной форме, экспертное 

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

Порядок рецензирования

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

В редакции есть устоявшийся коллектив рецензентов, среди которых члены международной редколлегии журнала, 

эксперты из числа крупных специалистов в области информатики и вычислительной техники ведущих вузов страны, а 
также ученые и специалисты НИИ «Центрпрограммсистем» (г. Тверь).

Рецензирование проводится конфиденциально. Автору статьи предоставляется возможность ознакомиться с тек
стом рецензии. При необходимости статья отправляется на доработку.

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

проводятся раз в месяц в НИИ «Центрпрограммсистем» (г. Тверь), где принимается решение о целесообразности публикации статьи.

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

Редакция международного журнала «Программные продукты и системы» в своей работе руководствуется сводом 

правил Кодекса этики научных публикаций, разработанным и утвержденным Комитетом по этике научных публикаций 
(Committee on Publication Ethics – COPE).

Программные продукты и системы / Software & Systems
4 (31) 2018

653

УДК 004.415.2
Дата подачи статьи: 21.09.18

DOI: 10.15827/0236-235X.031.4.653-658
2018. Т. 31. № 4. С. 653–658

Система корпус-менеджер: 

архитектура и модели корпусных данных

Д.Р. Мухамедшин 1, аспирант, damirmuh@gmail.com
Д.Ш. Сулейманов 1, 2, д.т.н., профессор, ipsanrt@mail.ru

1 Институт прикладной семиотики Академии наук Республики Татарстан, 
г. Казань, 420111, Россия
2 Казанский федеральный университет, г. Казань, 420008, Россия

Современные системы управления корпусными данными позволяют решать широкий спектр задач, связанных с 

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

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

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

Авторами были проведены эксперименты с целью выбора наиболее оптимального набора технологий хранения 

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

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

Ключевые слова: корпус-менеджер, корпусные данные, архитектура системы, модель данных, поисковая си
стема, СУБД.

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

Разработка системы управления татарским кор
пусом (http://tugantel.tatar) направлена на расширение поисковых возможностей для БД Татарского 
национального корпуса [1]. Исследования татарского языка в значительной степени зависят от использования корпус-менеджера татарского языка 
в гуманитарных и образовательных приложениях и
в сфере компьютерной лингвистики.

Для разработки национальных корпус-мене
джеров часто используются готовые решения, которые имеют свои плюсы и минусы. В частности, 
такие решения нередко являются проприетарными, 
соответственно, малодоступными для использования в качестве инструментария или части инструментария для работы с корпусными данными. Некоторые из них будут рассмотрены далее.

Обзор работ

Существует много работ, связанных с разработ
кой систем управления корпусами.

Многие поисковые системы, работающие с 

национальными языковыми корпусами, используют готовые технологии (движки). Например, поисковая система Яндекс.Сервер используется для 
Национального корпуса русского языка [2]. Подобные системы представляют собой комплекс различных подсистем, обеспечивающих быстрый и 
многофункциональный поиск. Яндекс.Сервер является проприетарной системой, а его полная версия распространяется на коммерческой основе. Поисковая система позволяет выполнять прямые и 
обратные поисковые запросы, использовать логические операции И, ИЛИ при поиске по морфологическим свойствам. Система не оптимизирована 
для выполнения поисковых запросов по морфологическим свойствам, так как изначально разработана для выполнения прямых поисковых запросов 
и поиска по леммам. Использование подобных систем требует тонкой настройки оборудования и 
программного окружения для достижения наилучших результатов.

Еще одной важной работой является Чешский 

национальный корпус [3]. Он разработан на основе 
системы Sketch Engine [4], которая обладает следующими возможностями: поддерживает произвольные метаданные документов, использует собственный язык запросов (CQL – Corpus Query Language), 
поддерживает обратный и фразовый поиск, позволяет просматривать статистику корпуса и произво
Программные продукты и системы / Software & Systems
4 (31) 2018

654

дить выборки списков словоформ и n-грамм по параметрам. Также система может работать с документами в различных форматах и использует 
NoSQL – БД для их хранения [5]. Вместе с тем 
Sketch Engine также имеет и ряд ограничений: в поисковой выдаче не показывается морфологическая 
разметка, использование обратного поиска затруднительно, выполнение некоторых поисковых запросов может занимать продолжительное время, 
система не оптимизирована для выполнения сложных поисковых запросов, что делает ее потенциально уязвимой для атак типа DDoS.

Архитектура системы

Для программной реализации корпус-мене
джера татарского языка используется концепция 
MVC (Model-View-Controller) [6], которая была несколько изменена для решения задач системы. Основная схема выполнения любой задачи, поставленной системе, показана на рисунке 1.

Более детализированная схема элементов си
стемы и связей между ними (архитектура системы) 
показана на карте на рисунке 2. Работа системы 
начинается с запроса (Request), который приходит 
в основной контроллер (MainControl). В первую 
очередь, основной контроллер обеспечивает безопасность при помощи компонента ShieldModel, 
который, в свою очередь, использует объект очереди (Queue). Если ShieldModel считает запрос безопасным, контроль передается специальному контроллеру в зависимости от типа запрашиваемой 
задачи. Всего в системе семь специальных контроллеров: SinglePageControl для вывода статичных страниц, SearchControl для обработки поиско
вых запросов, ContextControl для расширения контекстов, SinglePageEditControl
для управления 

статичными 
страницами, 
StatisticsControl
для 

просмотра 
статистики 
системы, 
DataManage
mentControl для управления корпусными данными, 
SecurityControl для управления настройками безопасности. Первые три используют абстрактный 
контроллер страницы PageControl и доступны любому пользователю. PageControl объединяет в себе 
основной функционал для страниц с публичным 
доступом. Остальные контроллеры применяются 
для управления и используют абстрактный контроллер страниц управления AdminControl. Эти 
контроллеры доступны только для пользователей с 
правами на управление (администраторы и редакторы). AdminControl объединяет в себе основной 
функционал для страниц управления и наследует 
функционал PageControl. PageControl и AdminControl используют вспомогательный контроллер RequestControl для быстрой проверки пользовательских запросов.

После проверки и фильтрации данных система 

передает контроль в модель, соответствующую 
запрошенному действию: SinglePageModel, SearchModel, QueryModel
(не вызывается непосред
ственно из контроллера, используется в SearchModel), ContextModel, SinglePageEditModel, StatisticsModel, DataManagementModel
(использует 

модели, которые не показаны на карте: DocumentModel, SentenceModel, WordModel), SecurityModel. 
Все модели наследуют абстрактную модель PageModel, которая объединяет функционал страниц. 
Последние четыре модели используют модель 
страницы управления AdminPageModel, объединяющую функционал страниц управления. Все мо
Рис. 1. Абстрактная схема выполнения задач в системе

Fig. 1. An abstract scheme for performing tasks in the system

View

Renders the data or an error, organizes the interface

Model

Computes output data
Interacts with utilities and database
Returns the computed data

Specific Controller

Checks on the correct input data
Interacts with utilities
Transfers the data to a model or 

generates an error

Main Controller

Checks the level of access and the availability of a specific 

controller
Passes control to a specific controller, or generates an error

Программные продукты и системы / Software & Systems
4 (31) 2018

655

дели используют модель БД DB, которая, в свою 
очередь, использует модель Cache для кэширования.

После выполнения моделью действия контроль 

возвращается к контроллеру, откуда данные передаются в Вид (View). Последний использует данные и соответствующие шаблоны страниц для генерации документа HTML или возвращает данные 
в формате JSON в зависимости от запрошенного 
формата выходных данных.

Выбор БД и хранилища данных

Поиск и анализ БД и хранилища данных. 

На первом этапе разработки системы важно выбрать СУБД и хранилище данных для использования в поисковой системе. Возможные для использования СУБД и хранилища данных должны обеспечивать быстрый и надежный доступ к большому 
объему данных в режиме реального времени и соответствовать следующим критериям:


производительность (скорость поиска по 

БД, включающей таблицу с 100 млн строк, не менее 
1 запроса в секунду);


масштабируемость (соответствие требова
ниям к функциональности системы с распределением процессов на несколько физических машин);


стоимость (анализ включает бесплатные и 

коммерческие СУБД и хранилища данных);


совместимость с ПО (поддержка возможно
сти работы с PHP и Unix-подобными операционными системами);


доступность документации (доступность 

полной документации на русском, английском или 
татарском языках);


перспективы развития (динамика разра
ботки проекта, существующее сообщество пользователей, планы разработчиков).

Были произведены поиск и анализ СУБД и хра
нилищ данных, соответствующих критериям, на 
основе информации из открытых источников. Выбраны одиннадцать возможных СУБД и хранилищ 
данных:


Memcached/MemcacheDB (http://memcached.

org/, http://memcachedb.org/);


Redis (http://redis.io/);


Tarantool (http://tarantool.org/);


Aerospike (http://www.aerospike.com/);


FoundationDB (https://foundationdb.com/);


Apache HBase (http://hbase.apache.org/);


Hypertable (http://hypertable.com/);


Cassandra (http://planetcassandra.org/);


MariaDB (https://mariadb.org/);


Sphinx (http://sphinxsearch.com/);


ElasticSearch (http://www.elasticsearch.org/).

Для каждой из перечисленных систем была раз
работана структура обратного индекса с учетом их 
особенностей.

Тестирование производительности БД и хра
нилищ данных. Каждая система была установлена 
на виртуальную машину для проведения тестирования производительности. Виртуальная машина 
имела следующие технические характеристики: 

Рис. 2. Архитектура системы

Fig. 2. System architecture

Программные продукты и системы / Software & Systems
4 (31) 2018

656

4 ядра CPU (2.7GHz на каждое), 4GB DDR3 RAM, 
HDD 20GB (5400RPM), SSD 1GB для swap и работала под управлением Debian 7.5. Скорость записи 
и чтения была замерена для каждой системы хранения данных. Записываемые данные (обратный 
индекс документов) были сгенерированы из словоформ, случайно выбранных из словаря, морфологические свойства сгенерированы случайно для каждой словоформы.

Авторы разработали специальное ПО для гене
рации, записи и чтения данных, а также для замера 
производительности для каждой системы хранения 
данных. Это ПО позволило автоматизировать тестирование и обеспечить необходимую нагрузку на 
каждую систему. В процессе тестирования производительности были получены результаты, показанные в таблице 1.

Таблица 1

Результаты тестирования производительности

Table 1

Performance test results

Система
Запись, 

словоформ/сек.

Чтение, 

словоформ/сек.

Memcached
3283
13,2

MemcacheDB
560,7
7,8

Redis
3792
14

FoundationDB
692,2
5,8

Hypertable
2655
15,8

MySQL (MariaDB)
1031,5
9,9

Redis+MySQL 
(MariaDB)

551,3
14,1

Sphinx
1368,7
0,2

ElasticSearch
3546,7
11,4

Наилучшую скорость чтения показала система 

Hypertable. Однако для дальнейшей работы была 
выбрана комбинация Redis + MySQL, так как при 
незначительной потере в скорости эта комбинация 
может существенно расширить поисковый функционал только за счет изменения запроса к БД.

Архитектура БД

Типы поисковых запросов. Архитектура си
стемы и БД разработана для того, чтобы отвечать 
на следующие типы запросов:


прямой поиск по словоформе или лемме;


обратный поиск по морфологическим свой
ствам, которые могут быть представлены как формула с использованием конъюнкции, дизъюнкции, 
отрицания, произвольного набора логических операций И, ИЛИ, НЕ;


гибридный поиск по морфологическим 

свойствам и словоформе или лемме.

Размеченный текст [7] разбирается на отдель
ные словоформы и их морфологическую разметку 
для записи в БД в виде обратного индекса [8], 
списка предложений (контекстов) и списка доку
ментов. Поиск производится по обратному индексу, что существенно увеличивает скорость выполнения запросов к БД.

Так как морфологические свойства записаны в 

БД в форме бинарных векторов, поисковые запросы с конъюнкцией могут быть представлены 
как наложение битовой маски вектора морфологических свойств из поискового запроса на вектор 
морфологических свойств из таблицы обратного 
индекса. Результат данной операции должен быть 
равен вектору морфологических свойств из поискового запроса. Запросы с дизъюнкцией формируются так же, но результат должен представлять собой непустой вектор (должен содержать хотя бы 
одну 1). При запросе с отрицанием наложение битовой маски должно вернуть пустой вектор (все 
нули). Наложение битовой маски является простой 
операцией, и, несмотря на то, что индексы из таблицы не могут быть применены для этой операции, 
запросы исполняются менее чем за 1 секунду.

Структура таблицы обратного индекса показана 

в таблице 2.

Таблица 2

Структура таблицы обратного индекса

Table 2

The structure of the reverse index table

Имя столбца
Тип
Описание

id
INT (AUTOINCREMENT)

Уникальный идентификатор морфологического анализа

word
MEDIUMINT 
UNSIGNED

Уникальный идентификатор словоформы. 
Связи между идентификаторами и словоформами хранятся в Redis

lemma
MEDIUMINT 
UNSIGNED

Уникальный идентификатор леммы. Связи 
между идентификаторами и леммами 
хранятся в Redis

doc
MEDIUMINT 
UNSIGNED

Уникальный идентификатор документа. Документы хранятся в отдельной таблице

pos
MEDIUMINT 
UNSIGNED

Позиция словоформы 
в документе

sentence
INT 
UNSIGNED

Уникальный идентификатор контекста. 
Контексты хранятся 
в отдельной таблице

sentence_pos
SMALLINT 
UNSIGNED

Позиция словоформы 
в контексте

morph1
BIGINT 
UNSIGNED

Первые 64 морфологических свойства

morph2
BIGINT 
UNSIGNED

Последующие 64 (до 64) 
морфологических 
свойства

Таблица обратного индекса также содержит не
сколько индексов для оптимизации запросов (табл. 3).

Программные продукты и системы / Software & Systems
4 (31) 2018

657

Таблица 3

Индексы в таблице обратного индекса

Table 3

Indeces in the reverse index table

Название
Тип и компо
ненты
Описание

PRIMARY

PRIMARY KEY 
(id, word, lemma, 
morph1)

Составной первичный 
ключ для быстрого поиска словоформы и для 
организации секционирования

docs
KEY (doc)

Индекс по идентификаторам документов для 
быстрого поиска в документе и для группировки по документам

sentences
KEY (sentence)

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

context
KEY (id, doc, 
sentence) 

Составной индекс для 
расширения контекстов

word
KEY (word)

Индекс по идентификаторам словоформ для 
быстрого прямого и гибридного поиска по 
словоформе

lemma
KEY (lemma)

Индекс по идентификаторам лемм для быстрого прямого и гибридного поиска по лемме

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

Секции p1–p14 определены на основе морфоло
гического свойства из первой части (класса); секция class_not_found включает все разборы, у которых не определено морфологическое свойство в 
первой части вектора; секция p0 включает словоформы без разбора; знаки препинания в конце 
предложений (точки, восклицательные знаки, вопросительные знаки) хранятся в секции end; секция 
syntax включает все остальные знаки препинания; 
слова, состоящие из одной буквы, хранятся в секции letter; в секции latin хранятся все словоформы, 
которые содержат латинские символы; все другие 
сущности, включая специальные символы, хранятся в секции sign.

Таким образом, таблица размером 12,5 ГБ была 

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

Заключение

Архитектура системы и БД, описанная в данной 

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

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

Тестирование согласованности и характера 

изменения во времени показало, что описанный 
синтаксис лексической и морфологической составляющих запроса был интерпретирован системой 
корректно, а время, необходимое для обработки и 
выполнения поискового запроса, не превышает 
0,05 секунды в 98,71 % случаев для прямого поиска 
по словоформам и в 98,08 % случаев для гибридного поиска по словоформам и морфологическим 
свойствам.

Использование описанной архитектуры для 

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

Представленный подход к решению проблем 

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

Литература

1.
Suleymanov D., Nevzorova O., Gatiatullin A., Gilmullin R., 

Khakimov B. National corpus of the Tatar language “Tugan Tel”: 
grammatical annotation and implementation. Procedia-Social and
Behavioral Sciences, 2013, vol. 95, pp. 68–74. DOI: 10.1016/j.
sbspro.2013.10.623.

2.
Аброскин А.А. Поиск по корпусу: проблемы и методы 

их решения. Национальный корпус русского языка: 2006–2008. 
Новые результаты и перспективы. СПб: Нестор-История, 2009. 
С. 277–282.

3. Křen M. Recent Developments in the Czech National Cor
pus. Proc. 3rd Workshop on CMLC-3. Mannheim, 2015, URL: 
https://ids-pub.bsz-bw.de/frontdoor/deliver/index/docId/3826/file/K
%c5%99en_Recent_developments_in_the_czech_national_corpus_
2015.pdf/ (дата обращения: 21.07.2018).