Library
|
Your profile |
Software systems and computational methods
Reference:
Zheltov V.P., Zheltov P.V.
Development tools for the Internet portal of the national corpus of the Chuvash language
// Software systems and computational methods.
2019. № 1.
P. 42-50.
DOI: 10.7256/2454-0714.2019.1.28131 URL: https://en.nbpublish.com/library_read_article.php?id=28131
Development tools for the Internet portal of the national corpus of the Chuvash language
DOI: 10.7256/2454-0714.2019.1.28131Received: 25-11-2018Published: 29-03-2019Abstract: 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 дает возможность создавать и сопровождать приложения, ориентированные на данные, используя меньше кода, чем в традиционных приложениях. На этапе проектирования морфологического и синтаксического анализатора выявлены характерные особенности чувашского языка, обработку которых необходимо реализовать в программном обеспечении для корректности работы программного обеспечения(ПО). На основе библиотеки МА была разработана SyntParsingLibrary.dll. Библиотека предоставляет набор методов для синтаксического анализа предложений на чувашском языке. Продукт может быть использован в системах машинного перевода, быть составной частью лингвистического процессора. Библиотека написана на языке C# в среде Visual Studio 2013. Для работы необходимо подключить через References библиотеку, создать и проинициализировать объект класса SyntParser. В классе реализован открытый метод для приема входного предложения. Результат обработки возвращается Разработанная программа выполняет следующие задачи: Заключение Разработанный интернет-портал имеет удобный и простой пользовательский интерфейс, позволяющий легко освоить работу на сайте пользователю любой квалификации, а гибкость программного кода позволяет соответствовать растущим требованиям к программе и учитывает возможность дальнейшего ее развития.
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. |