Труды КНЦ вып. 11 (ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ) вып. 8/2020 (11)
Результативность использования технологии во многом определяется качеством обученной модели, которое, в свою очередь, зависит от объема обучающей выборки, разнообразия представленных в ней образцов, а также корректности присвоенным им меткам. Рассмотрим ее формирование более подробно. На первом этапе производится формирование тематического набора текстов предметной области, который далее будет использован в качестве источника для получения обучающих примеров. Для решения этой задачи был разработан краулер [18], позволяющий в автоматическом режиме собрать набор документов (файлов в формате PDF, DOC, DOCX, TXT) заданной тематики и сформировать текстовый корпус. Для разработки краулера был взят Python- фреймворк Scrapy, ориентированный на поиск и анализ веб-страниц. Разработанный краулер позволяет автоматически в фоновом режиме загружать документы, ссылки на которые опубликованы на конкретных веб страницах, а также выполнять поиск с помощью поисковой системы и загружать документы с найденных веб-страниц. Последняя возможность обеспечивает постоянное фоновое пополнение текстового корпуса. В качестве источника для автоматического формирования поисковых запросов используется понятийная система пополняемой онтологии, что обеспечивает правильную тематическую ориентацию найденных текстов. Далее производится предобработка текстового корпуса, в ходе которой полученные тексты делятся на предложения и токенизируются. Для этого был разработан комплекс методов на основе Python-библиотеки NLTK, который позволяет получать структурированные данные из текстового корпуса [19]. После предобработки осуществляется непосредственное формирование набора в виде множества обучающих примеров виде кортежей элементов: (предложение, левая граница сущности, правая граница сущности, категория сущности). Например: ( “Отправляйтесь в Кировск к подножиюХибинских гор и путешествуйте на снегоходах по труднопроходимым горным районам и красивой тундре”, 16, 23, “CITY”). Для этого был разработан специализированный программный модуль [20]. Принцип работы модуля состоит в обнаружении лексем, соответствующих именам экземпляров классов онтологии, а также их границ. Основной проблемой в этом случае было обнаружение имен экземпляров, состоящих из нескольких лексем. В предложениях такой набор лексем мог быть представлен частично и/или лексемы могли не следовать друг за другом, как в исходном имени экземпляра, а перемежаться с другими лексемами предложения. После формирования обучающего набора производится обучение языковой модели. В качестве таковой используется языковая модель на основе сверточной нейросети из Python-библиотеки spaCy. В результате обученную модель можно использовать для обнаружения специфических понятий в текстах предметной области. Найденные таким образом понятия представляются эксперту в качестве кандидатов для пополнения ими онтологии. 3. Оценка эффективности технологии Эффективность предложенной технологии оценивалась в рамках эксперимента по обучению языковой модели и ее последующего использования 42
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz