Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Software systems and computational methods
Reference:

Development tools for the Internet portal of the national corpus of the Chuvash language

Zheltov Valerian Pavlovich

PhD in Technical Science

Professor, Department of Computer Technologies, Ulyanov Chuvash State University 

428025, Russia, respublika Chuvashskaya, g. Cheboksary, ul. Guzovskogo, 21, kv. 37

chnk@mail.ru
Zheltov Pavel Valerianovich

Associate Professor, Department of Computer Technologies, Ulyanov Chuvash State University

428025, Russia, respublika Chuvashskaya, g. Cheboksary, ul. Guzovskogo, 21, of. 37

tchouvachie@yandex.ru

DOI:

10.7256/2454-0714.2019.1.28131

Received:

25-11-2018


Published:

29-03-2019


Abstract: The subject of the research is the substantiation of the technical and operational characteristics and development means of the Internet portal of the national Chuvash language corpus. The research methodology is based on a combination of theoretical and practical approaches using the methods of analysis, comparison, synthesis, synthesis, programming.The relevance of the study is due to the importance of studying and preserving the diversity of languages and cultures in the modern world and, accordingly, the need to develop tools for storing and processing texts in natural languages (including Chuvash), including those based on computer technologies.The novelty of the development of the Internet portal of the national corpus of the Chuvash language is determined by some features of the language. Scientific novelty associated with the development of the Chuvash language Internet portal, including a search engine, morphological analyzer, syntax analyzer, semantic analyzer, thesaurus. The structure of the portal - the main page, tabs "Search", "Morphological Analyzer", "Syntax Analyzer", "Semantic Analyzer", "Thesaurus". Development Tools: Microsoft .NET Framework; ASP.NET MVC technology; C# language; Visual Studio development environment; SQL database; ADO.NET; Entity framework; Java script; jQuery library and Angular JS framework; HTML/CSS.The Chuvash Internet portal provides researchers with a new toolkit that was not available to the Chuvash language before. The Internet portal allows you to test hypothetical theories using both feedback and modern formalized and quantitative methods. Due to this, a transition to a new qualitative level in lexicology and lexicography is possible: the work on compiling dictionaries and thesauruses of the Chuvash language, during which it is necessary to take into account both practical and theoretical components, will be greatly facilitated.


Keywords:

national corpus, Russian language, Chuvash language, Internet portal, development tools, search engine, morphological analyzer, syntax analyzer, semantic analyzer, thesaurus


Введение

Стремительный рост объема электронных текстов в глобальных сетях и корпоративных базах данных является стимулом для разработки новых технологий компьютерной обработки текстов на естественных языках [1-4]. Образцом заслуженно можно считать Ruscorpora.ru - это корпус русского языка. По объему русский языковой корпус насчитывает более шестисот миллионов словоупотреблений [1]. Национальный корпус русского языка создавался большой группой исследователей Москвы, Санкт-Петербурга, Нижнего Новгорода, Казани, Воронежа, Саратова и других научных центров России. Программные средства корпуса включают программу метатекстовой разметки, грамматической разметки текстов (морфологической и семантической) и расстановки ударений. При грамматической разметке текстов (морфологической и семантической), а также при расстановке ударений использовались программы морфологического анализа Mystem и Dialing [1].

Британский национальный корпус (BNC – British National Corpus) – один из наиболее известных корпусов английского языка. Объем корпуса 100 млн слов. Корпус включает метатекстовую и морфологическую разметку [2].

Создание подобного корпуса также актуально и для чувашского языка. Чувашский язык относится к языкам агглютинативного типа. Особенности языка определяют сложность и новизну разработки программной системы компьютерной обработки текстов чувашского языка. В данной работе представлена структура и функции создаваемого интернет-портала для национального корпуса чувашского языка (НКЧЯ).

Структура портала НКЧЯ включает в себя cледующие компоненты, реализованные в виде вкладок: главная страница, с кратким описанием проекта; «Поисковик» – поисковик национального корпуса чувашского языка; «Морфологический анализатор» – морфологический анализатор национального корпуса чувашского языка; «Синтаксический анализатор» – синтаксический анализатор национального корпуса чувашского языка; «Семантический анализатор» – семантический анализатор национального корпуса чувашского языка; «Тезаурус» – тезаурус национального корпуса чувашского языка, на основе известного 17-ти томного словаря (тезауруса) Н.И. Ашмарина [3].

Средства разработки

Основой НКЧЯ являются интернет-портал и база текстов. При разработке интернет-портала использованы следующие средства разработки: платформа .NET Framework; технология ASP.NET MVC; язык C#; среда разработки Visual Studio; база данных SQL; ADO.NET; Entity framework; Java Script; библиотека jQuery и фреймворк Angular JS; HTML/CSS [4]. Microsoft.NET Framework является одной из самых стабильных платформ для разработки программного обеспечения и качественной установки его на ПК. Данная среда отлично взаимодействует с популярными языками программирования и может быть инсталлирована на все ОС. Основная задача платформы заключается в упрощении процесса написания различных интернет-приложений. Кроме того, с помощью этой среды можно легко создавать полезные консольные утилиты и Windows-сервисы. Интерфейс платформы интуитивно понятен, а это значит, что пользователю не нужно тратить много времени на его освоение. Microsoft.NET Framework распространяется совершенно бесплатно, поэтому установить ее на свой компьютер может любой желающий. Что же касается недостатков платформы, то к ним можно отнести невозможность установки новых версий на ОС старого поколения. Платформа отлично работает на всех последних версиях Windows и Linux.

ASP.NET MVC (сокращение от названия шаблона Model-view-controller, который реализован в данной версии языка ASP) и ASP.NET Web Forms – это невероятно похожие друг на друга технологии, связующим звеном которых является платформа ASP.NET. Впрочем ASP.NET MVC все же имеет некоторые преимущество перед своей «сестрой», а именно: разделение ответственности; более высокое качество тестируемости; соответствие HTTP (самый популярный протокол на сегодняшний день); повышенный уровень гибкости и возможность самоадаптации под собственные нужды.

Возможности платформы ASP.NET MVC заключаются также в разделении низкоуровневых и высокоуровневых задач приложения по приоритетам и широкие возможности поэтапного тестирования. Приложение можно включать в процесс модульного тестирования без необходимости запуска контроллеров ASP.NET. Кроме того, для испытаний можно использовать абсолютно любую платформу, совместимую с .NET Framework, т.е. платформу с возможностью расширения и дополнения. Компонентный состав платформы можно легко изменять по своему усмотрению, а это значит, что разработчику доступно подключение любых механизмов представлений, URL-адресов и т.п. Платформа ASP.NET MVC также отличается отличной поддержкой моделей DI и IoC, что расширяет возможности специалиста в процессе программирования. Использование DI (сокращение от Dependency Injection ‘внедрение зависимостей’) позволяет осуществлять интеграцию объектов в класс и избавиться от необходимости ожидания того момента, когда объект создастся самим классом. Использование IoC (cокращение от Inversion of Control ‘инверсии управления’) означает, что объекты не создают другие объекты, которые они используют для выполнения своих задач. Вместо этого они получают объекты, которые им необходимы из внешнего источника (например, файл конфигурации xml). Модель инверсии главного (или второстепенного) элемента управления – это своего рода инструмент, указывающий на взаимосвязь двух объектов. И DI и IoC являются неотъемлемой частью любого процесса тестирования.

Расширенная поддержка эффективного процесса маршрутизации ASP.NET. Считается основным компонентом сопоставления URL-адресов и активно используется в SEO-оптимизации. Отличная поддержка использования разметки, включенной в состав файлов страниц ASP.NET, а также главных страницы в качестве стабильных и безопасных шаблонов представлений. Возможность совместного использования платформы ASP.NET MVC и функций ASP.NET. Так, например, возможно интегрировать в рабочий процесс встроенные выражения, шаблоны и т.д. Такое преимущество выгодно отличает платформу от других сред и способствует привлечению максимального количества способов разработки и настройки программного обеспечения.

Поддержка большого количества функций ASP.NET. Разработчик может свободно использовать разнообразные способы проверки подлинности, осуществлять контроль за состоянием рабочего сеанса, заниматься настройкой системы конфигурации и т.п. Microsoft Visual Studio.NET – это высококачественная и стабильная среда разработки интегрированного типа, основным назначением которой является обеспечение оптимальных условий для разработки и запуска программного обеспечения написанного на языках .NET.

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

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

SQL позволяет: создавать самые разнообразные таблицы; получать, хранить и изменять полученные данные; изменять структуры таблиц на свое усмотрение; объединять полученную информацию в единые блоки; вычислять полученные данные; обеспечивать полную защиту информации.

HTML и CSS отвечают за внешний вид интернет-портала. CSS - это лучшая половина HTML. Но, в плане кодирования, их статус различается: HTML заботится об общем выводе информации (её структуре): в то время как CSS производит тонкую настройку внешнего вида (layout):

html, body {

position: absolute; top: 0; left: 0; padding: 0; margin: 0; height: auto; min-height: 100%; width: 100%; box-sizing: border-box; color: #333; font-size: 15px; line-height: 28px; text-rendering: optimizeLegibility;

background-color: #bee3ed;

background: -moz-linear-gradient(-45deg, rgba(189,226,236,0) 0%, rgba(189,226,236,1) 50%, rgba(189,226,236,0) 100%), #bee3ed url(/content/images/uzor.png) scroll repeat center top;

background: -webkit-linear-gradient(-45deg, rgba(189,226,236,0) 0%,rgba(189,226,236,1) 50%,rgba(189,226,236,0) 100%), #bee3ed url(/content/images/uzor.png) scroll repeat center top;

background: linear-gradient(135deg, rgba(189,226,236,0) 0%,rgba(189,226,236,1) 50%,rgba(189,226,236,0) 100%), #bee3ed url(/content/images/uzor.png) scroll repeat center top;

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00bde2ec', endColorstr='#00bde2ec',GradientType=1 ); }

В приведенном выше примера на HTML создаются 4 кнопочки для ввода чувашских дополнительных символов кириллиц, а в примере на CSS задаются стиль HTML страницы (также и внешний вид этих кнопочек и надписей на них).

Одной из главных особенностей CSS является возможность управлять внешним видом страниц централизованно. Вместо использования style в каждом тэге можно указать браузеру только один раз, как должен выглядеть текст на странице. Можно указывать правила CSS в отдельном документе. Стили будут применяться ко всем страницам.

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

Таблицы стилей бывают двух видов – внутренние и внешние – в зависимости от того, где они определены: непосредственно на самой странице или во внешнем файле, связанном с веб-страницей.

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

Java Script отвечает за динамическое изменение внешнего вида страницы, а также отправку данных с формы на сервер методом Post с помощью технологии AJAX.

function selectResult() {

var word = { str: $("#selectWords option:selected").text() };

$.post("/Morf/Index", word, getHtml, 'json');

$('#result').children().remove(); }

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

jQuery и Angular JS используются для упрощения управления объектами HTML. jQuery — это библиотека. AngularJS — это фреймворк. В случае с библиотекой, она помогает взаимодействовать с объектами более удобным для нас образом.

Вот пример добавления в текстовую строку символа с использованием данной библиотеки:

$('#selectWords').append($('', { text: newstr }));

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

Вот пример использования фреймворка для добавления события нажатия на html элемент:

ng-click="addAllBookToSave(searchResult.Id).

Entity Framework и ADO.Net используются для получения или отправки данных в базу данных, например, следующим образом:

DatabaseContext _context = new DatabaseContext();

string sqlQuery = "exec dbo.sp_LiteratoryWorks_list @keywords = N'" + key + "', @genre_Id=" + genreId + ",@criterion = " + criterion + ", @words_delta=" + wordDelta;

return _context.Database.SqlQuery(sqlQuery).ToList();

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

На этапе проектирования морфологического и синтаксического анализатора выявлены характерные особенности чувашского языка, обработку которых необходимо реализовать в программном обеспечении для корректности работы программного обеспечения(ПО).
Морфологический анализатор (МА) чувашского языка устанавливает морфемный состав слов, а также морфологические признаки, используемых в задачах синтаксического и семантического анализаторов.
База знаний морфологического анализа состоит из списка перечислимых типов (описывающих морфологические признаки), словарей (описывающих значение морфем), справочников (описывающих взаимосвязь морфем и признаков), структуры рабочей модели данных (для хранения текстов, слов и вариантов разбора слов) и метаправил (описывающих последовательность разбора слов разных частей речи).
Структура разработки представляет собой минимальный набор средств для работы приложения. Для использования библиотеки МА требуется платформа .NET Microsoft.
Структура чувашских слов представляется в виде суммы корней и аффиксов. Приставки и окончания, в отличие от русского языка, в чувашском языке отсутствуют, что упрощает разработку МА. Таким образом, для разработки требуется словарь основ (корней) и база аффиксов. Исходный словарь представляет собой текстовый файл, в котором слова представлены следующим образом: слово, часть речи, информация об источнике. В нем собрано более тридцати одной тысячи слов чувашского языка.
В чувашском языке около ста семидесяти аффиксов. Исходная база аффиксов (БА) имеет схожую структуру со словарем.
Морфологический анализатор национального корпуса чувашского языка включает в себя следующие компоненты:
1. dll-библиотеку, содержащую морфологический анализатор и реализованную на языке C# с использованием платформы .NET Microsoft.
2. Вкладку «Морфологический анализатор» на сайте национального корпуса чувашского языка (http://yuman21.ru/Morf).
Вкладка «Морфологический анализатор» содержит следующие элементы пользовательского интерфейса:
1) текстовое поле для ввода анализируемого слова на чувашском языке с кнопками для ввода специальных чувашских символов;
2) кнопку «Анализ», расположенную рядом c текстовым полем.
Морфологический анализатор, реализованный офлайн, содержит окно отображения результатов морфологического анализа как для отдельно введенного слова или фразы, так и возможность вставлять текст для анализа в специальном поле текствого ввода.
База данных морфологического анализатора состоит из словаря основ чувашского языка и базы аффиксов.
Словарь представляет собой текстовый файл, в котором слова представлены следующим образом: слово, часть речи, информация об источнике. В нем собрано более тридцати одной тысячи слов чувашского языка.
Процесс морфологического анализа разделен на два этапа. На первом этапе слово в исходной форме ищется в словаре основ. Грамматические характеристики в данном случае определяются по умолчанию в зависимости от части речи. На втором этапе производится непосредственный анализ слова, разбиение его на пары «корень-аффиксы» и извлечение характеристик. Оба этапа возвращают произвольное количество омонимов в зависимости от найденных совпадений. При отсутствии совпадений слово возвращается с «неопределенными» характеристиками.
Прямой поиск входного слова в словаре основ выполняет функция SearchInDictionaries.
Второй этап реализован в функции DetermineOnYourOwn. Исходное слово подвергается пошаговому разбиению на аффиксы и происходит исследование на основе выделения его компонент (основы и аффиксов) на предмет принадлежности к какой-либо части речи.
Основной задачей синтаксического блока лингвистического процессора (ЛП) является преобразование морфологической структуры (МорфС) предложения, поступающей с выхода морфологического блока, в синтаксическую структуру (СинтС).
Так как МорфС предложения состоит из МорфС отдельных словоформ, то переход от МорфС предложения к его СинтС осуществляется путем установления синтаксических связей между МорфС слов и между самими связями. При этом МорфС отдельных словоформ служат для установления этих связей или, как принято их называть в компьютерной лингвистике, отношений. Поэтому от того, какую модель данных для представления СинтС принято за основу, будет зависеть эффективность работы синтаксического блока ЛП. Структура синтаксического анализатора состоит из 10 классов
Основной класс – SyntParser.cs. Он содержит поля и методы для работы с библиотекой.

На основе библиотеки МА была разработана SyntParsingLibrary.dll. Библиотека предоставляет набор методов для синтаксического анализа предложений на чувашском языке. Продукт может быть использован в системах машинного перевода, быть составной частью лингвистического процессора. Библиотека написана на языке C# в среде Visual Studio 2013.

Для работы необходимо подключить через References библиотеку, создать и проинициализировать объект класса SyntParser. В классе реализован открытый метод для приема входного предложения. Результат обработки возвращается
как массив объектов SyntParser, где каждый элемент массива является вариацией предложения, содержит в себе данные о главных членах, связях, границах. Присутствуют методы для форматированного вывода полученной метаинформации в виде текста или изображения по желанию разработчика. Инструменты визуализации связей должны находиться в директории Семантический анализатор содержит следующие элементы пользовательского интерфейса:
- текстовое поле для ввода искомого слова на чувашском языке с кнопками для ввода специальных чувашских символов;
- кнопку «Поиск», расположенную рядом;
- таблицу, где отображается искомое слово и результат семантического анализа слов.
Процедуру семантического анализа предложения можно условно разделить на четыре этапа:
- поиск предикатных слов и соответствующих им словарных статей,
- поиск потенциальных аргументов,
- установление аргументам семантических значений, выбранных из каждой словарной статьи,
- выбор наилучшей словарной статьи и семантических значений с помощью решения оптимизационной задачи о назначениях.
Важным этапом работы является проектирование, реализация и последующее внедрение программного обеспечения мультимедийного тезауруса чувашского языка.
Для реализации мультимедийного тезауруса решаются следующие задачи:
- анализ возможностей средств веб-технологий для разработки програмного обечпечения;
- разработка адаптивных веб-приложений;
- проектирование информационной системы;
- разработка программного обеспечения системы;
- внедрение реализованных частей системы.

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

Заключение

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

References
1. Natsional'nyi korpus russkogo yazyka. http://www.ruscorpora.ru/
2. Obrazovatel'nyi portal Natsional'nogo korpusa russkogo yazyka. https://studiorum-ruscorpora.ru/current/
3. Ashmarin, N.I. Slovar' chuvashskogo yazyka. : V 17 t. / N.I. Ashmarin. — Kazan', Cheboksary, 1928—1958.
4. Zheltov, P.V. Sozdanie natsional'nogo korpusa chuvashskogo yazyka: problemy i perspektivy / P.V. Zheltov // Sovremennye problemy nauki i obrazovaniya. – 2015. – № 1-1; URL: http://www.science-education.ru/ru/article/view?id=19046.