УДК 004.5
В.В. Диковицкий
Институт информатики и математического моделирования технологических процессов Кольского НЦ РАН
СЕМАНТИЧЕСКИЙ АНАЛИЗ ТЕКСТА С ПРИМЕНЕНИЕМ НЕЙРОСЕТЕВОГО АНАЛИЗА МОРФОЛОГИИ И СИНТАКСИСА*
Аннотация
В статье представлен сервис семантического анализа текста на естественном языке с учетом морфологии и синтаксиса, реализующий автоматическое формирование семантической модели предметной области на основе коллекции документов. Применение подхода к анализу синтаксиса и морфологии без предзаданных словарей позволяет автоматизировать процесс обработки анализатором новых слов, например, неологизмов.
Ключевые слова:
семантический анализ, нейросетевой анализ морфологии и синтаксиса.
V.V. Dikovitskiy
IMPROVING QUALITY OF VISUALIZATION BY CHANGING THE CONVERGENCE ANGLE
Abstract
The article presents the service of semantic analysis of text in natural language, taking into account morphology and syntax, realizing the automatic formation of a semantic model of the domain based on a collection of documents. Application of the approach to the analysis of syntax and morphology without pre-specified dictionaries allows to automate the process of processing new words, for example, neologisms.
Keywords:
semantic analysis, morphology and syntax analysis by neural network. Введение
Современные информационные системы (ИС) отличаются большим объемом хранимой информации. По оценкам экспертов, совокупный объем данных, хранимый в сети Интернет, удваивается каждые два года. Рост объемов информации ИС, расширение их функциональных возможностей привели к широкому распространению крупных информационных систем, ориентированных на различные категории пользователей [1]. Развитие ИС требует создания эффективных методов обработки и представления информации. Совершенствуются методы и средства обработки текстов на естественном языке, системы автоматизированного анализа и поиска информации, на смену статистическим алгоритмам приходят алгоритмы семантического индексирования.
* Работа выполнена при финансовой поддержке Фонда содействия развитию малых форм предприятий в научно-технической сфере (Фонд содействия инновациям), конкурс Умник 15-10, договор 8042ГУ/2015.
Семантический анализ понимается разными исследователями по-разному. В сферу семантического анализа входит: построение семантической интерпретации слов и конструкций; установление "содержательных" семантических отношений между элементами текста, которые уже принципиально не ограничены размером одного слова (могут быть больше или меньше одного слова). Результирующее представление, в котором решены эти две задачи, является наиболее глубоким и законченным из тех, которые можно достичь только лингвистическими средствами, не прибегая к внешним экстенсиональным источникам, и этим объясняется актуальность семантического анализа [2].
Разработки в области семантического анализа текста связаны с областью искусственного интеллекта, делающей акцент на смысловом понимании текста. Несмотря на значимость данного направления, существует множество нерешенных проблем в области семантического анализа. В настоящее время успехи в этом направлении достаточно ограничены. Разработанные семантические анализаторы обладают высокой вычислительной сложностью и неоднозначностью выдаваемых результатов [3].
В данной работе представлен сервис семантического анализа текста на естественном языке, реализующий автоматическое формирование семантической модели предметной области на основе коллекции документов. Областью применения семантического анализа являются задачи информационного поиска, автоматического перевода, контент-анализа, поиска противоречий, реферирования, анализа интересов пользователя ИС, авторства текстов, и т.д.
Сервис семантического анализа текста
Анализ текста включает несколько этапов: графематический, морфологический, синтаксический и семантический анализ. Результаты работы каждого уровня используются следующим уровнем анализа в качестве входных данных (рис. 1).
Графематический анализ выделяет элементы структуры текста: параграфов, абзацев, предложений, отдельных слов и т. д. Целью морфологического анализа является определение морфологических характеристик слова и его основной словоформы. Целью синтаксического анализа является определение синтаксической зависимости слов в предложении. В связи с присутствием в русском языке большого количества синтаксически омонимичных конструкций, наличием тесной связи между семантикой и синтаксисом, процедура автоматизированного синтаксического анализа текста является трудоемкой. Сложность алгоритма увеличивается экспоненциально при увеличении количества слов в предложении и числа используемых правил. Семантический этап использует формальное представление смысла составляющих входной текст слов и конструкций.
Одной из актуальных проблем существующих систем автоматического получения формализованных знаний является определение ассоциированных объектов из текста. На учет и хранение контекстов предметной области, учет различных форм передачи синтаксиса, а также на решение проблемы равнозначности направлено формирование семантической модели предметной области (СМПО) в виде структуры взвешенных семантических отношений на основе коллекции документов. СМПО позволяет реализовать процедуры извле-
чения и хранения множественного контекста употребленных в документах понятий, решая проблему совместимости новой информации с уже накопленными знаниями, а также выявить противоречия в семантических образах документов, в случае, если новая информация противоречит накопленной.
Графематический анализ
N / отдельные слова 7
Морфологический анализ
S/ морфологические ^ характеристики слов
Синтаксический анализ
S / зависимости слов в 7 предложении
Семантический анализ
Рис. 1. Уровни лингвистического анализа
Для синтаксического анализа и определения морфологических характеристик слов применяются грамматический словарь русского языка А.А. Зализняка [4], русскоязычный тезаурус WordNet 3.0 [5] и основанная на TensorFlow [6] библиотека определения синтаксических связей, использующая для функционирования нейронную сеть SyntaxNet. Особенностью такого подхода является возможность производить анализ морфологии и синтаксиса без словарей. TensorFlow представляет собой библиотеку для машинного обучения и глубокого исследования нейронных сетей в рамках научно-исследовательской организации Machine Intelligence. Система масштабируема может быть использована на множестве устройств. Основу библиотеки составляют графы потоков данных, библиотека функционирует на уровне задания архитектуры нейронной сети и ее параметров. Данные в TensorFlow представлены в виде многомерных массивов данных с переменным размером -тензоров. Вычисления представляются в виде направленного графа, пути, по которым эти данные перемещаются — это ребра графа. Тензоры переходят от узла к узлу по ребрам графа [7]. Множество морфологических признаков, определяемых SyntaxNet (374), грамматических категорий (49), и типов зависимостей (37) заданы в нотации Universal Dependencies [8]. Пример синтаксического разбора предложения приведен на рис. 2.
Нейросетевой подход к определению лексической роли и морфологических атрибутов слов позволяет решить проблему наличия в тексте слов, отсутствующих в словарях и в СМПО, например, неологизмов. Для построения семантической модели предметной области проводится графематический, морфологический, синтаксический и статистический анализ документов коллекции.
Рис. 2. Пример синтаксического разбора предложения
СМПО формируется как результат интеграции семантических образов документов коллекции. Семантический образ документа — семантическая сеть, множество вершин которой составляют понятия СМПО, присутствующие в документе, множество ребер — множество двухместных отношений над понятиями. Для определения превалирующего контекста для пользователя ИС применяется модель предпочтений, построенная на основе анализа запросов. Запрос — множество понятий предметной области, представленных множеством ключевых слов. Модель предпочтений пользователя — семантическая сеть, множество вершин которой составляют понятия СМПО, которыми оперирует пользователь, множество ребер — множество взвешенных двухместных отношений над понятиями, вес которых характеризует значимость семантического отношения между понятиями для пользователя, определенную на основе статистики его взаимодействия с системой.
СМПО может быть представлена неоднородной п-арной семантической
сетью:
КВ = {С, Ь,Тр}.
Ь = {1}, I =< с, cj, гр, ^ >, с., с. е С, гр е Тр,
w =<м>1,...,,...,wr >
(1)
(2)
где С - множество концептов, Ь - множество отношений над концептами, ^ -вектор весовых коэффициентов, Тр - множество типов отношений (синонимии, гипонимии, ассоциации, субтрактивных отношений), г - количество категорий пользователей.
Процесс формирования семантической модели предметной области на основе коллекции документов информационной системы и расширяемого тезауруса состоит из следующих этапов:
1. Формирование семантического образа документа. Семантический образ задан семантической сетью, полученной статистическими и лексико-граммати-ческими методами обработки текста:
и = {Си, Ьи },Си ^ С, Ьи ^ Ь, (3)
где Си - множество концептов, выделенных в документе, Ь^ - множество отношений вида (2), выделенных в документе.
Для анализа синтаксической роли и морфологических характеристик слов используется нейронная сеть, реализованная библиотекой машинного обучения Tensorwlow. На вход нейронной сети подаются предложения, слова которого преобразованы в векторную форму библиотекой Word2Vec1. На этапе предварительного обучения в качестве входных данных Word2Vec принимает текстовый корпус и выдает словарные векторы в качестве вывода. В Word2Vec реализованы два основных алгоритма обучения: Continuous Bag of Words (CBOW) [10] и skip-gram[11]. CBOW определяет вероятность присутствия слова при данном контексте, а skip-gram определяет вероятность контекста при заданном слове. Оба алгоритма определяют вероятность совместного употребления слова и его контекста и реализованы на основе модели нейронной сети прямого распространения. Получаемые на выходе координатные представления векторов-слов позволяют вычислять семантическую близость между словами. Так как алгоритмы Word2Vec основаны на обучении нейронной сети, чтобы добиться эффективной работы, необходимо использовать большие корпусы для обучения. Доступны предварительно подготовленные векторы, полученные на части набора данных Google News2 (около 100 миллиардов слов). Модель содержит 300-мерные векторы для 3 миллионов слов и фраз. Фразы были получены с использованием подхода skip-gram, описанного в [11].
Далее предложения в векторном формате подаются на входной слой шестислойной нейросети, реализованной в TensorFlow и обученной на корпусе текстов Universal Dependencies. Русские корпуса в проекте представлены конвертированными СинТагРус3 и Google Russian Treebank4. Результатом является дерево зависимостей между словами предложения и морфологические характеристики слов.
2. Интеграция семантических образов в СМПО на основе модифицированной семантической метрики осуществляется следующим образом:
a) вычисление оценки сходства концептов документа и СМПО на основе функции оценки сходства имен концептов и множества грамматических признаков слова;
b) вычисление оценки сходства контекста и структурного положения концептов документа с контекстом СМПО как количества общих связанных концептов различных типов;
c) добавление концептов на основании результатов вычисления пороговой функции от среднего оценок.
Уточнение СМПО осуществляется заданием взвешенных ассоциативных отношений между понятиями. Данный процесс инициируется при совместном употреблении двух понятий в одном предложении. Предложенный подход предлагается использовать для автоматизированного формирования и обеспечения актуального состояния семантической модели предметной области динамичной коллекции документов, условиях динамики предметной области.
1 https://code.google.com/archive/p/word2vec/
2 https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit?usp=sharing
3 http://www.ruscorpora.ru/search-syntax.html
4 https://old.datahub.io/dataset/universal-dependencies-treebank-russian
Структура сервиса семантического индексирования для формирования СМПО представлена на рис. 3.
Рис. 3. Веб-сервис семантического индексирования
Схема данных для хранения семантической модели предметной области представлена на рис. 4.
Рис. 4. Схема данных для хранения семантической модели предметной области
Заключение
В статье представлен сервис семантического анализа текста на естественном языке, реализующий автоматическое формирование семантической модели предметной области на основе коллекции документов, реализующий нейросетевой подход к анализу синтаксиса и морфологии. На основе разрабатываемого веб-сервиса планируются решение задач систематизации информации, кластеризации документов, задач информационного поиска, поиска противоречий.
Литература
1. Шишаев, М.Г. Технология синтеза адаптивных пользовательских интерфейсов для мультипредметных информационных систем / М.Г. Шишаев, В.В. Диковицкий // Труды Кольского научного центра РАН. Информационные технологии. -Вып.5. -5/2014(24). -Апатиты: Изд-во КНЦ РАН. -С.101-108.
2. А. В. Сокирко. Семантические словари в автоматической обработке текста (по материалам системы ДИАЛИНГ)": дис. канд. техн. наук: 2001г. /Сикорко А.В. - Режим доступа: http://aot.ru/docs/sokirko/sokirko-candid-1.html
3. Калиниченко, А.В. Сущность проблемы анализа текста в полнотекстовых поисковых системах. Подходы и пути решения. - Режим доступа: http://www.jurnal.org/articles/2010/inf12.html
4. Зализняк А.А. Грамматический словарь русского языка. - Режим доступа: http://odict.ru/
5. Тезаурус русского языка WordNet. -Режим доступа: http://wordnet.ru/
6. Библиотека программного обеспечения с открытым исходным кодом Machine Intelligence TensorFlow. -Режим доступа: https://www.tensorflow.org/
7. Ueltschi, T.W. Third-Order Tensor Decompositions and Their Application in Quantum Chemistry. -Режим доступа:
http://buzzard.ups.edu/courses/2014spring/420projects/math420-UPS-spring-2014-ueltschi-tensors-in-chemistry.pdf
8. Фреймворк для кросс-лингвистически последовательной грамматической аннотации на 60 языках. - Режим доступа: http://universaldependencies.org.
9. Lyashevkaya, O. Universal Dependencies for Russian: A New Syntactic Dependencies Tagset / O. Lyashevkaya, K. Droganova, D. Zeman, M. Alexeeva, T. Gavrilova, N. Mustafina, E. Shakurova//Higher School of Economics Research Paper No. WP BRP 44/LNG/2016. Available at SSRN. - Режим доступа: https://ssrn.com/abstract=2859998
10. Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.
11. Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean. Distributed Representations of Words and Phrases and their Compositionality. In Proceedings of NIPS, 2013.
Сведения об авторе
Диковицкий Владимир Витальевич - к.т.н, старший научный сотрудник, е-mail: dikovitsky@gmail.com
Vladimir V. Dikovitsky - PhD (Tech. Sci.), senior researcher