Ранние системы обработки естественного языка, возникшие в конце 1940-х годов, были ориентированы на решение задачи машинного перевода и использовали множество правил, составленных вручную. В конце 1960-х развитие компьютерной лингвистики серьезно замедлилось из-за пессимистичного отчета Наблюдательного комитета по автоматической обработке языка (Automatic Language Processing Advisory Committee, ALPAC), в котором заявлялось о низкой результативности исследований. Это привело к резкому снижению финансирования, но, несмотря на кризис завышенных ожиданий, исследования продолжались — для обработки естественного языка стали использовать статистические модели, построенные средствами машинного обучения на основе больших коллекций документов, или корпусов текстов.
С ростом популярности Всемирной паутины возникла необходимость в каталогизации и систематизации информации, представленной в Сети. Появились поисковые машины, сформировался рынок контекстной рекламы, что способствовало повышению требований к способности поисковой машины учитывать информационные запросы пользователя. Широкое проникновение информационных технологий в повседневную жизнь привело к возникновению вычислительных задач, для решения которых требуются знания об окружающем мире. Стали востребованы: информационный поиск, оценка семантической близости слов, разрешение лексической многозначности и т. д. Например, смысл предложения «Он видел их семью своими глазами» зависит от того, является ли слово «семью» именем существительным или числительным. Известно, что люди воспринимают окружающий мир как иерархию понятий, связанных отношениями общего и частного. Скажем, если человек знает, что канарейка — это птица, то он сможет предположить, что у нее есть крылья. Это привело к созданию специализированных языковых ресурсов — семантических сетей.
В литературе термины «семантическая сеть» и «онтология» встречаются в достаточно близких контекстах, связанных с инженерией знаний. Однако они означают два разных понятия. Онтология задает предмет описания, то есть формальную спецификацию концептуализации, в то время как семантическая сеть определяет способ представления знаний. Семантическая сеть — это размеченный ориентированный граф, вершины которого соответствуют некоторым сущностям (понятиям, событиям, характеристикам или значениям), а ребра выражают отношения между этими сущностями.
Семантические сети не накладывают ограничений на структуру знаний или конкретную предметную область до тех пор, пока эти знания можно представить в виде ориентированного графа. Среди известных онтологий следует отметить онтологию Cyc, включающую в том числе онтологии нескольких предметных областей, и онтологию SUMO, составленную из общих понятий. В задачах обработки естественного языка особенно популярна семантическая сеть WordNet, построенная на основе формализации человеческого восприятия окружающего мира: понятия (синсеты) представлены в виде вершин, а направленные ребра показывают отношение от частного к общему (гиперонимия), от части к целому (холонимия) и т. д. Такие ресурсы, как WordNet для английского языка и «РуТез» для русского языка, построены коллективами лексикографов-экспертов.
Основная сложность при построении семантических сетей связана с большим объемом работы, которую приходится выполнять для их создания. Применение автоматизированных подходов [1, 2] сокращает этот процесс, но повышает требования к контролю качества [3]. Немалую сложность вызывает также необходимость формирования и следования определенной концепции ресурса. Нужно учитывать: актуальность представленной лексики, наличие неологизмов и архаизмов; выявление синонимии и иных семантических отношений; степень внимания к уровням онтологии; наличие определений понятий и примеров их употребления; формат словарных статей; другие особенности целевого языка и используемые допущения о его строении.
Достаточно важной проблемой является техническая и лицензионная доступность семантических сетей. С одной стороны, не все ресурсы доступны для использования. Например, создатели тезауруса RussNet на сегодняшний день опубликовали только часть имеющихся данных. С другой стороны, существуют высококачественные семантические сети, распространяющиеся на условиях открытой лицензии. К ним относятся «РуТез» и BabelNet [3], но их коммерческое применение ограничивается. Другие ресурсы, такие как Russian WordNet, по всей видимости, утрачены безвозвратно. Все это затрудняет как решение прикладных задач, так и создание производных ресурсов.
Развитие методов машинного обучения и обработки Больших Данных привело к тому, что ряд задач, ранее решавшихся с помощью семантических сетей, стали решаться без них. Появление в 2013 году word2vec — семейства методов построения векторных представлений слов в пространстве низкой размерности (word embeddings) — позволило свести задачу оценки семантической близости слов к вычислению косинуса угла между векторами этих слов. Векторы, построенные на крупном неразмеченном корпусе текстов, дают лучшие результаты, чем классические методы на основе расстояний между словами в семантических сетях [4]. Сегодня подобные векторы широко используются как для автоматического построения и расширения семантических ресурсов, так и в качестве числовых признаков в системах машинного обучения при решении задач классификации, кластеризации и проч.
Появление на массовом рынке недорогих графических ускорителей вычислений позволило сократить время обучения нейронных сетей, что привело к созданию большого количества улучшенных методов решения классических задач обработки естественного языка с использованием глубинного обучения. К числу этих задач относятся синтаксический разбор предложения, автоматическое реферирование документа, анализ тональности текста и др. Задача машинного перевода, в которой ранее широко применялись онтологии предметной области в виде семантических сетей, уже достаточно успешно решается при помощи нейронных сетей (например, Google Translate).
Сегодня заметна тенденция разработки методов обучения без учителя для автоматического формирования понятий и связей между ними. С одной стороны, это вызвано высокой популярностью семантических ресурсов, построенных при помощи краудсорсинга («Википедия», «Викисловарь»). С другой, обусловлено ростом интереса к дистрибутивным тезаурусам — сетям семантически близких слов, близость которых оценивается при помощи векторов слов. В таких ресурсах имеется большое количество слабоструктурированных данных, которые легко поддаются фильтрации и кластеризации. Это позволяет автоматически определять связи между объектами окружающего мира. Результат работы таких методов обучения без учителя уступает по точности полноценным онтологиям, созданным экспертами-лексикографами, но простота их построения и полнота лексического покрытия за счет включения неологизмов и устойчивых выражений позволяют быстрее адаптироваться к изменениям в целевом языке. Интересен пример многоязычной семантической сети BabelNet, доступной на 271 языке, в том числе русском, построенной путем интеграции качественных исходных данных с материалами слабоструктурированных словарей.
Несмотря на успехи машинного обучения, высококачественные семантические сети по-прежнему остаются важным языковым ресурсом: они незаменимы тогда, когда требуется высокая точность, пусть даже достигаемая за счет сужения лексического покрытия. Основная задача, в которой семантические сети, построенные экспертами, до сих пор вне конкуренции, — разрешение лексической многозначности (word sense disambiguation), состоящей в определении конкретного значения каждого употребленного слова в заданном тексте. В этом случае в качестве инвентаря значений слов (sense inventory) используются семантические сети наподобие WordNet.
Критически важны семантические сети при оценке методов и систем автоматической обработки естественного языка и различных языковых ресурсов. Здесь эти сети используются в качестве «золотого стандарта», с которым осуществляется сопоставление по некоторой заданной системе измерений.
Еще одна задача, где пока нельзя обойтись без семантической сети, — создание производных лексико-семантических ресурсов, таких как BabelNet. В этом случае семантическая сеть WordNet, построенная коллективом лексикографов-экспертов, используется в качестве базового (pivot) ресурса для связывания с другими ресурсами.
Семантические сети по-прежнему незаменимы и в других задачах, не имеющих непосредственного отношения к обработке естественного языка, — например, при разметке объектов на изображениях. Так, в проекте ImageNet объекты на изображениях выделены рамкой, каждая из которых ссылается на соответствующее понятие в онтологии WordNet. Семантические сети с устоявшейся системой идентификаторов удобно использовать для связывания данных между собой. Кроме того, интересным применением семантических сетей является объектный или семантический поиск, когда на странице результатов поиска представляется фактографическая информация, имеющая отношение к поисковому запросу (например, Google Knowledge Graph).
***
Несмотря на то что методы машинного обучения вторглись в области, где до недавнего времени господствовали лишь семантические сети, последние остаются актуальными для решения таких задач, как оценка методов обработки естественного языка, построение инвентаря значений слов, связывание языковых ресурсов и семантический поиск.
Литература
- Дмитрий Ильвовский, Екатерина Черняк. Системы автоматической обработки текстов // Открытые системы.СУБД. — 2014. — № 1. — С. 51–53. URL: https://www.osp.ru/os/2014/01/13039687/ (дата обращения: 27.05.2017).
- Константин Селезнев, Александр Владимиров. Лингвистика и обработка текстов // Открытые системы.СУБД. — 2013. — № 4. — С. 46–49. URL: https://www.osp.ru/os/2013/04/13035562/ (дата обращения: 28.05.2017).
- R. Navigli, S. P. Ponzetto. BabelNet: The automatic construction, evaluation and application of a wide-coverage multilingual semantic network // Artificial Intelligence. — 2012. — Т. 193. — С. 217–250. DOI: 10.1016/j.artint.2012.07.001.
- Panchenko A. et al. Human and Machine Judgements for Russian Semantic Relatedness // Analysis of Images, Social Networks and Texts: 5th International Conference, AIST 2016, Yekaterinburg, Russia, April 7–9, 2016, Revised Selected Papers. — С. 221–235. DOI: 10.1007/978-3-319-52920-2_21.
Дмитрий Усталов (dau@imm.uran.ru) — младший научный сотрудник, Институт математики и механики им. Н.Н.Красовского (Екатеринбург). Работа выполнена при поддержке РФФИ (16-37-00354 мол_а) и РГНФ (16-04-12019).