VISmart, семантические технологии и Ontodia
Компания VISmart является резидентом Технопарка Университета ИТМО и занимается разработкой программного обеспечения в области семантического веба, в том числе разработкой практических приложений для семантических технологий. Одним из таких приложений является Ontodia. Изначально сервис служил для визуализации семантических данных в виде диаграмм. Семантические данные представляют собой связанную между собой информацию, которая записывается в форме так называемого триплета «подлежащее-сказуемое-дополнение». Подлежащее – это объект, дополнение – это другой объект, который связывается с первым при помощи какого-либо семантического отношения (сказуемое). Например, фраза «студенты обучаются в университете» имеет два объекта, которые связаны между собой определенной семантической связью. Сейчас Ontodia служит также для отображения графов, с помощью которых можно легко визуализировать любые данные.
«Семантические технологии, технологии семантического веба – это новые разработки, которые выходят из научного мира в практическую сферу. Сотрудничая с Университетом ИТМО, мы заметили, что в профессиональной среде не хватало инструментария, который бы позволил разработчикам и простым людям использовать семантические технологии для практических нужд. Например, в области управления традиционным базами данных уже есть много ресурсов, чтобы люди, которые не разбираются в программировании, могли наглядно увидеть, что же хранится в той или иной базе данных. Точно так же программист может легко преобразовать концептуальную схему данных в структуру таблиц базы данных. Поэтому мы решили создать инструмент, который позволит визуально представлять семантические данные в виде интерактивных графов», – прокомментировал коммерческий директор VISmart Дмитрий Павлов.
На практике это значит, что пользователь или программист может загрузить в Ontodia семантические данные, визуализировать их и понять их структуру, а затем поделиться получившимися диаграммами с другими пользователя или сохранить их в виде файлов широко распространенных форматов. На выходе пользователь получит граф. Граф представляет собой «вершины», обозначающие какой-либо объект, и «отходящие» от этих вершин семантические связи, которые ведут к другим объектам. Эти объекты, в свою очередь, могут становиться «вершинами» другого графа и образовывать вокруг себя новые связи.
Как это можно использовать? В Северо-Западном медицинском исследовательском центре им. В.А. Алмазова огромное количество медицинских данных хранится в неструктурированном и разрозненном виде. И если доктору необходимо реконструировать процесс лечения пациента, ему нужно поднимать архивы. Такая система не позволяет легко и быстро сравнивать ход лечения одной и той же болезни у разных пациентов, потому что для этого нужно снова рыться в электронных копиях документах, а это трудоемкий процесс. С помощью семантических технологий медицинские данные можно связать между собой в виде графов. Например, первой «вершиной» может быть болезнь – острый коронарный синдром. Отходящие связи – это личности пациентов, которые, в свою очередь, могут быть связаны с лекарствами, которые они принимали. Между пациентами тоже могут быть те или иные виды семантических отношений.
Ассистент-профессор Венского экономического университета Герхард Вольгенаннт приехал в Университет ИТМО по программе ITMO Fellowship на два года, чтобы проводить новые фундаментальные исследования в области семантического веба в международной лаборатории «Интеллектуальные методы обработки информации и семантические технологии», а также преподавать студентам вуза новейшие курсы по Data Science на кафедре информатики и прикладной математики. В сотрудничестве с VISmart Герхард и другие сотрудники лаборатории занимаются разработкой и улучшением практических инструментов семантического веба за счет использования лингвистических сервисов, в том числе сервиса Ontodia. Приглашенный профессор примет участие в разработке сервиса, который позволит более гибко обрабатывать текстовые поисковые запросы в Ontodia. Также VISmart планирует разрабатывать совместно с учеными лаборатории семантические технологии голосового управления устройствами.
Как обрабатываются текстовые запросы с помощью семантических технологий
«Возьмем систему с записями о том, кто на ком женат, например, в маленьком городе, в форме “Иван является супругом Маши”. Таких записей очень много, и вы вводите в поиск вопрос “на ком женат Иван”. Система распознает слово “женат”, но этого слова нет в ее базе данных, там есть слово “супруг”. Поэтому вы не получите ответ на ваш запрос. Семантические же технологии вкупе с инструментами обработки естественного языка позволяют системе распознать, что слова “женат” и “супруг” обозначают, в принципе, одно и то же, поэтому результат поиска будет более точным и полным», – объяснил проблему и привел пример ее решения доктор Герхард Вольгенаннт.
Семантические связи строятся с помощью онтологий. Это документ или файл, формально задающий отношения между терминами (концептами), то есть объектами семантических связей. При этом некоторые связи системы способны создавать автоматически на основе предоставленных определений. Например, если имеется запись о том, что «Иван является супругом Маши», то, исходя из определения связи «быть супругом», система способна сделать вывод о том, что оба, Маша и Иван, являются людьми, и что они не состоят в браке с кем-то еще. Таким образом, машина может понимать смысл и достраивать логические связи из предоставленных данных. Другой классический пример привел Дмитрий Павлов. Так, есть два триплета: «Сократ – это человек» и «Все люди смертные». Из этих двух выражений машина может справедливо заключить, что «Сократ смертен».
На первый взгляд, можно подумать, а что же в этом необычного? И такая мысль простительна людям, которые способны формировать семантические связи. Но компьютеры работают не так, как человеческий мозг. Современные технологии поиска и анализа информации базируются в основном на запросах по ключевым словам. В случае же с семантическими технологиями программа может искать информацию не только по ключевым словам, но и по связанным с ними значениям, создавать логические связи между этими значениями и визуализировать их в понятном для человека формате. Таким образом, система может выдавать более точные результаты поиска. Например, если бы кто-то впервые ввел в Google слова «арена» и «Зенит», то, возможно, получил бы тексты и картинки о футбольном клубе и множество исторических справок и данных об аренах, цирковых или гладиаторских. А вот поиск, основанный на семантических технологиях, наверняка догадался бы, что «арена» значит «стадион».
Как происходит настройка такой системы? Можно ли полностью автоматизировать работу по созданию систем семантических сетей и онтологий, то есть заставлять программы самостоятельно делать графы и выстраивать онтологии по одной заданной предметной области (например, возьмем в качестве предметной области мебель), используя предоставленные ей текстовые данные или данные из Интернета.
«Да, можно использовать много разных документов о том, какие бывают столы, какие стулья к ним подходят, где можно использовать эти столы и так далее. Затем эти документы можно обработать с использованием семантических сетей и лингвистических методов для автоматического получения онтологии, или, иными словами, модели предметной области. Но результат не будет идеальным. Поэтому в каждом случае нужна “ручная” очистка и настройка. Ведь так же и у людей. Если два человека прочитают один и тот же текст, они немного по-разному поймут и интерпретируют его», – ответил иностранный ученый.
Будущее: семантический Web
Создатель «всемирной паутины» Тим Бернерс-Ли считает, что семантические технологии анализа и обработки информации станут важнейшим дополнением систем поиска данных и не только. Сейчас, чтобы найти какие-либо данные в сети, пользователю часто приходится пересмотреть множество сайтов. Например, кому-то нужно отыскать всех теннисистов-правшей, рожденных после 1980 года в России, привел пример доктор Герхард Вольгенаннт. Для этого придется, скорее всего, перечитать множество сайтов и собрать на их основе нужные сведения. Семантический веб предоставит данные и поисковый механизм, которые сделают это за пользователя. Кроме того, семантические технологии позволят интегрировать, связать между собой и анализировать не только текстовую информацию, но и видео, аудио, графики и диаграммы – почти так, как это делает человеческий мозг, когда кому-то, например, журналистам, необходимо переворошить много разнородной информации и сделать из нее сюжет или историю.
Семантические технологии могут пригодиться и на бытовом уровне. Представьте, что вам нужно подать документы на налоговый вычет по форме 3-НДФЛ. Для этого нужно собрать не менее пяти видов документов, свести цифры из справок и описать все данные в декларации. Это займет много времени! Технологии семантической паутины, обладая всеми эти данными, смогут самостоятельно свести их воедино, избавляя человека от нудной работы. Таким образом, может происходить объединение баз данных в единую систему знаний.
Это, в свою очередь, может привести (правда, наверное, пока в далеком будущем) к возникновению агентов семантического веба. Такие агенты будут представлять собой компьютерные программы, которые смогут выполнять различные поручения, данные человеком. Например, записать родственника на прием к врачу-вестибулологу в клинику, которая находится близко к рабочему офису, и чтобы время согласовывалось с графиком родственника, и чтобы рейтинг врача был высокий, и чтобы в клинике было необходимое оборудование и так далее. Приложения, основанные на семантических технологиях, могут существенно упростить нашу жизнь.