Дмитрий Муромцев (ИТМО) — об онтологическом моделировании и формировании разговорного интеллекта

    Дмитрий Муромцев, руководитель международной лаборатории «Интеллектуальные методы обработки информации и семантические технологии» ИТМО и заведующий кафедрой ИПМ, рассказал о сущности онтологического моделирования, об использовании графов знаний в бизнес-процессах и о работе по созданию разговорного интеллекта.



    Интервьюер: Анна Ангелова (А.А.)
    Респондент: Дмитрий Муромцев (Д.М.)

    А.А.: В чем суть онтологического моделирования и как проходит составление графов знаний?

    Д.М.:
    Онтологическое моделирование — это составление информационных моделей в виде концептуальных описаний предметных областей, удовлетворяющих определенным стандартам. Есть специальные языки для онтологий, они стандартизованы и уже применяются в индустрии. Основная цель онтологий — описание схем данных и знаний, которые могут существовать в самых различных источниках. Проблема в том, что этих источников много, они сильно отличаются по типу хранения данных, по программной архитектуре и т. д. Чтобы связать их в единое информационное пространство, нужны специальные интеграционные механизмы — ими как раз и являются онтологии. Они применяются при интеграции баз данных, описании слабо структурированных данных в Интернете, при создании баз знаний на определенную тематику или нетематических, больших баз знаний — допустим, на основе сведений Википедии.

    Сам процесс создания подразумевает участие экспертов предметной области: всегда привлекаются специалисты по тем вопросам, данные для которых будет представлены в графе знаний. Например, это могут быть вопросы, связанные с культурным наследием, медициной, образованием, с каким-нибудь производством.

    Эти специалисты выделяют ключевые концепты — объекты, которые критически важны для данной предметной области. Например, культурное наследие — это объекты искусства, создатели этих объектов, процесс творчества, процессы реставрации или каких-то видоизменений (если это архитектурный объект, он мог перестраиваться), это вопросы экспонирования, хранения и пр. Все, что важно для полноценного описания предметной области, формулирует эксперт. Дальше обозначаются отношения, связи между этими объектами. Это формализованное описание позволяет впоследствии делать к графам знаний запросы.

    Технологически процедура трансформации может быть достаточно сложной и включать множество инструментов: средства обработки естественного языка, машинное обучение, распознавание образов и ряд других инструментов. В конечном итоге мы получаем сеть или граф взаимосвязанных объектов. Ключевая особенность такой системы, в отличие от баз данных, в том, что эта сеть является self-descriptive, самодокументируемой. К ней не нужны дополнительные пояснения от разработчика.

    А.А.: Какова область применения графов знаний?

    Д.М.:
    Практически любая. Сейчас существуют графы знаний универсального содержания (самый известный — Google), есть Wikidata, Dbpedia, которые больше напоминают Википедию по ширине охвата. Есть специализированные графы знаний: по медицине, по культурному наследию, по открытым государственным данным. Есть корпоративные графы знаний — они находятся в закрытом доступе.

    А.А.: Расскажите о проекте для DataFabric. Что им требовалось и каких результатов удалось достичь?

    Д.М.:
    Давайте несколько шире поставим вопрос. Проект для DataFabric — один из примеров, их у нас было несколько. Мы начали свою деятельность около 8 лет назад. Значительную часть времени мы тратим на популяризацию семантических технологий, на проведение различных мероприятий научного и обучающего характера, хакатоны и пр. Регулярно встречаемся с представителями индустрии. Таких встреч происходят десятки ежегодно, и некоторые представители индустрии заинтересовываются.

    В ситуации с DataFabric в основном работали их специалисты, которых мы консультировали в плане методологии и рекомендовали те или иные технологии, инструменты. Также мы осуществляли проверку их результатов — анализ того, насколько все сделано корректно. Сам по себе проект этой компании интересен тем, что это первый в России пример, когда бизнес вложил собственные средства в развитие графов знаний, в развитие технологии связанных данных и сумел доказать, что это может быть выгодно. Насколько я знаю, компания продолжает использовать созданный граф знаний и планирует его развивать. Из выступлений ее представителей можно сделать вывод, что благодаря графу знаний им удалось автоматизировать большое количество ручного труда. Но за более точными сведениями лучше обратиться непосредственно в компанию.

    Сергей Исаев,
    CEO DataFabric


    Мы хотели сделать умную систему проверки контрагентов и собирать информацию о компаниях. Мы были очень маленькой компанией и хотели получить конкурентное преимущество. Наши конкуренты — Spark Interfax, «Контур.Фокус» — очень большие, мощные, много лет на рынке, и просто так, «в лоб», с ними конкурировать невозможно.

    Мы собираем все те же сведения о компании, что и наши конкуренты: данные Федеральной налоговой службы, Росстата и других источников. Мы загружаем их в единую базу. Так как она у нас графовая, в ней появляются связи между всеми объектами. В системе применяется онтологическое моделирование: мы описываем для нее значение абсолютно всех данных, с которыми она работает. Поэтому она начинает понимать контекст, смысловую нагрузку тех или иных данных. Благодаря этому ей можно задавать даже открытые вопросы, например: «Покажи мне все компании, которые с большой вероятностью разорятся в следующем году». Так как она понимает значение каждого слова в этом вопросе, то выдаст список.

    Я не знаю, сколько на решение своих задач тратят времени, денег и энергоресурсов конкуренты. Но я знаю, что у них сотни разработчиков, а нас всего 12 человек, и свою систему мы сделали за полтора года. Сейчас она позволяет быстро прототипировать новые кейсы, новые сервисы, поскольку она более умная и гибкая.

    А.А.: На сайте лаборатории, которую вы возглавляете, указано множество партнеров. С кем из них идет сотрудничество по текущим проектам?

    Д.М.:
    Если брать сотрудничество в самом широком смысле слова, то по количеству выделяемого времени основным будет Совет по открытым данным РФ. Мы пытаемся проводить там методическую и исследовательскую работу, направленную на продвижение графов знаний в федеральные органы власти и другие структуры, обязанные публиковать открытые данные. Сейчас требование закона по публикации открытых данных выполняется достаточно формально и ограниченно. Мы пытаемся доказать, что это можно делать гораздо более эффективно, и это будет приносить гораздо большую выгоду экономике. Также мы активно сотрудничаем по образовательным технологиям электронного обучения с разными структурами, есть исследовательские проекты с несколькими университетами в Германии, Финляндии, Австрии.

    А.А.: За деятельностью каких компаний в отрасли стоит следить?

    Д.М.:
    За сообществом в целом. Понятно, что крупные компании выступают в некотором смысле индикатором того, насколько те или иные технологии являются зрелыми. Но на последней конференции ISWC в Австрии — а это крупнейшая в мире конференция по семантическим технологиям — доклад от компании Google вызвал много вопросов: те проблемы, которые они ставили для себя, часто уже решены компаниями более исследовательского направления.

    Характерно, что крупные игроки, как правило, не занимаются исследованиями с нуля. Они ставят определенную проблему, потом находят коллектив, который эту проблему может решить, и начинают с ним сотрудничать или покупают, если это какой-то стартап. То есть крупные игроки скорее играют системную роль.

    А если следить за сообществом в целом, то можно увидеть много разных интересных исследовательских групп, компаний, стартапов, которые предлагают самые инновационные решения. Например, сейчас наблюдается очень серьезный тренд в области развития чат-ботов, голосовых интерфейсов и других систем, которые через какое-то время будут фактически полноценными ассистентами, помощниками.

    А.А.: Ваша лаборатория также развивает проекты по обработке речи. На сайте их указано два: один завершился, другой продолжается. Расскажите о них.

    [прим.: «Разработка компьютерной морфологии для корпусных исследований вариативного текста», 2015–2016 гг.; «Разработка синтаксического анализатора русской спонтанной речи методами интеллектуального анализа данных с использованием семантических баз знаний», 2015–2018 гг.]

    Д.М.: Первый проект был инициирован Центром речевых технологий — создание интеллектуального диалогового менеджера. Те решения, которые существуют сейчас, достаточно примитивны. С ними сталкиваются, когда в организацию или банк звонит клиент и ему приходится долго переключаться с одной линии на другую. Более совершенные системы умеют анализировать текст, который получается в ходе распознавания — например, Siri, Amazon Alexa. Но содержание этого текста для машины остается неизвестным. У нас в России, кстати, недавно был запущен проект iPavlov, но пока что данных об их результатах немного.

    Дальше, как только мы распознали речевой сигнал, нужно понять, что за вопрос в нем содержится. Проблема в том, что при коммуникации людей речевой канал взаимодействия является лишь одним из множества. Информационно он не самый нагруженный. Есть каналы невербального общения, есть общие знания о мире, контекст, который человек понимает, и т. д. В отсутствие дополнительной информации почти невозможно понять, о чем речь. Если мы возьмем расшифровки текстов и попробуем их кому-то дать, полностью исключив контекст, скорее всего, даже человек не сможет их понять. Поэтому сейчас мы пытаемся создавать анализаторы, которые будут эффективно обрабатывать речь и выявлять объекты и взаимосвязи между ними — то есть создавать информационные модели сообщения, которое содержится в тексте. А дальше планируются работы по обогащению этих моделей информацией из других источников.

    А.А.: Можете конкретизировать? Чем отличаются направления исследований у завершенного проекта и проекта, который ведется сейчас?

    Д.М.:
    Это взаимосвязанные направления. Невозможно сделать качественный анализ без корпусных исследований, потому что надо научить алгоритм схемам распознавания закономерностей в тексте. Это мы делали в первом проекте. Второй изучает принципы формирования объектов. Текст содержит описание неких понятий. Сами эти понятия могут быть более информативными, чем та информация, которая присутствует о них в тексте. Соответственно, нужно связываться с другими базами и графами знаний и пытаться дополнить эту информацию из других источников.

    Предположим, клиент звонит в службу поддержки и говорит о какой-то проблеме. Он может не назвать правильно устройство или процесс использования системы. Пользователь не обязан обладать полнотой технической информации. Система при понимании контекста может дополнить данные от пользователя информацией из своих источников. Это значительно упрощает процесс идентификации проблемы.

    Первый проект был небольшим, выполнялся в сотрудничестве с Центром речевых технологий. Мы в нем доказали, что совместное применение онтологии, системы распознавания речи и синтаксического анализатора текста могут привести к формированию так называемого разговорного интеллекта. Мы достаточно успешно показали, как это работает. Следующий этап — более глубокие исследования по каждому из этих направлений. В области онтологического моделирования мы больше работали не с речью вообще, а с информацией из сети Интернет в области культурного наследия: как ее моделировать, обогащать, как можно сделать структурированный поиск по этой информации. В области синтаксического анализа работы продолжаются. Мы достигли неплохих результатов по качеству обработки текста.

    Следующий этап — совмещение этих направлений и создание системы обогащения данных из разных источников, в том числе нетекстовых модальностей.

    А.А.: Последний вопрос: над чем лаборатория планирует работать в следующем году?

    Д.М.:
    У нас выкристаллизовались два направления: Интернет вещей и разговорный интеллект. Второе направление станет доминирующим. Интернет вещей — поддерживающее направление: это создание голосовых и текстовых интерфейсов (чат-ботов) для взаимодействия с различными устройствами, роботами, информационными системами.

    Все это позволит сделать взаимодействие человека с информационными объектами более прозрачным и естественным.
    Smile-Expo 179,61
    Компания
    Поделиться публикацией
    Комментарии 14
    • +1
      Очень интересно!
      «Графы знаний» чем-то отличаются от «семантических сетей»? Или это как «LG — новое имя Голд Стар»? Или в сеть в общем случае можно запихать всё, что угодно, в «ГЗ» только то, что реально считается знанием, а не просто «рыба живёт в воде, Волга впадает в какое-то море, лошади кушают овёс и сено»…?
      • 0
        По структуре — семантическая сеть может быть одним из представлений графа знаний. С точки зрения логики информации, которая хранится в этом виде, семантическая сеть накладывает лишь одно ограничение — она описывает взаимосвязи между объектами. Для «графа знаний» этих ограничений больше, что именно имел в виду Дмитрий Ильич здесь, я не знаю.
        Могу предположить, что для того, чтобы назвать информацию «знаниями», необходимо ввести критерий полноты (насколько полно эта информация описывает предметную область) и самодостаточности (можно ли вывести/описать новое понятие, имея на руках лишь информацию из уже созданного графа). Наверняка есть какие-то дополнительные тонкости.

        В любом случае, это понятие явно производное и скорее нужно для идентификации проекта, чем для описания принципиально новой сущности. С точки зрения разработчика, наверное, система с «графом знаний» начинает требовать заметно меньше усилий на поддержку (если выполняется критерий самодостаточности).
        • 0
          … необходимо ввести критерий полноты… и самодостаточности ...
          Вот-вот, и я об этом же подумал.
        • 0
          Связались с Дмитрием Муромцевым — вот его ответ:

          Под семантическими сетями подразумевают множество методов графовой репрезентации знаний, а также базы знаний, построенные на этих методах. Например, это могут быть концептуальные графы Джона Совы (http://www.jfsowa.com/cg/cgexampw.htm), пропорциональные сети Стюарта Шапиро(https://www.cse.buffalo.edu/sneps/Downloads/) и др. Есть известные ресурсы в формате семантических сетей, которые существуют уже много лет. Например Cyc (http://www.cyc.com), который в наше время доступен в онтологическом формате. Одним из известных формализмов семантических сетей в 80-х был графический язык KL-ONE (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.545.601&rep=rep1&type=pdf) Рональда Брахмана. В последствии идеи, использованные в этом языке, были применены при разработке языка онтологий OWL. 

          Графы знаний — это термин, появившийся сравнительно недавно и предполагает, прежде всего, технологию создания баз знаний на основе связанных данных (linked data и RDF) и онтологий. Также под этим термином понимают и сами базы знаний, созданные с помощью данной технологии. Наиболее известные графы знаний: DBpedia (http://wiki.dbpedia.org), Wikidata (https://www.wikidata.org/wiki/Wikidata:Main_Page), Yago (https://www.mpi-inf.mpg.de/departments/databases-and-information-systems/research/yago-naga/yago/#c10444), musicbrainz (https://musicbrainz.org) и др.
          Примечательно, что в современном своем состоянии база знаний Cyc представлена в проекте http://www.opencyc.org, который тоже корректнее называть уже графом знаний знаний (http://delivery.acm.org/10.1145/220000/219745/p33-lenat.pdf?ip=77.234.203.218&id=219745&acc=ACTIVE%20SERVICE&key=24E52AF21FCA316E%2E4996C6BC452BB88B%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&CFID=840418762&CFTOKEN=53499921&__acm__=1513246391_9c96d3efb8b3a6d2f02bb2bd2b50856b)
          • 0
            За ссылки на DBpedi-ю и Yago — огромнейшее спасибо!
            • 0
              Так и в чем глубокий смысл подобных конструкций если они могут быть получены и поняты только специально разработанными паттернами. Причем паттерн нужно составлять для каждой конкретной, единичной задачи. Собственно так и работают сегодня все эти Сири, Алексы и прочие Алисы. Ручками прописывают паттерны, ибо самообучатся такое не может.
              Странно что кто то вкладывает деньги и время в такой тупик.
              • 0
                Глубокий смысл в том, что если эти самые «специально разработанные паттерны» делать по-уму (читай — по стандарту), должным образом описывать и делиться с другими, то возникнет сеть знаний следующего порядка.
                И, как ни странно, «Большие Парни» тоже умеют договариваться. Тогда возникает что-нить типа schema.org или foaf или… да много уже чего работает.
                • 0
                  Нет в описанном вами никакого смысла. :(
                  Паттернов многие миллиарды. И все без исключения они включают целиком или частично другие паттерны, те самые уровни абстракции. Создавать их вручную просто лишено смысла. Вы просто никогда не закончите этот процесс. И уследить возрастающие уровни абстракции это за пределами человеческого мозга.
                  На начальном этапе своего проекта, я делал визуализации происходящих изменений. После возникновения примерно первого десятка уровней, понимать происходящее уже не возможно.
                  • 0
                    Не лишено. Смысла, я имею ввиду. В прикладных задачах все, имеющие смысл в данной задаче паттерны «перибираемы» — множество счетное и конечное.
                    Десяток уровней — да Вы, батенька, гигант! Ноамального человека на 3-5 уровней хватает.
                    • 0
                      Не перебираемы к сожалению. Либо у вас какие то очень странные задачи. Дело в том что семантика не решает даже простых задач, а просто создает видимость таковых решений. Я предпочитаю работать в сторону алгоритма который сам формирует новые уровни абстракций по мере необходимости. Правда пока не удается решить задачу многопоточной обработки входящего потока, а в один поток все довольно медленно работает.
                      • 0
                        Я думаю, разница у нас в том, что я — простой пролетарий умственного труда, а Вы — мыслитель со своим проектом. Мое мышлении поплосче будет.

                        Я уважаю людей, по зову сердца бросающихся на слабо сформулированные задачи. Но по темам Speech Recognition and Ontology мне случилось «покопать отсюда и до обеда» и решать задачи в формулировках работодателя. Своими впечатлениями от этого опыта и делюсь.
                        Чем могу…

                        • 0
                          А вот Speech Recognition кстати довольно интересная задача. И пока то что вижу я на базе своего проекта, основная проблема в том что ее отделяют от задачи Voice Synthesis. А при реализации этих задач совместно получается довольно интересно. Собственный голос в подражании слышимым звукам в то же время является и основным паттерном для распознавания.
                          Основная проблема, что визуализация процесса создания паттернов лишена смысла. Просто трата времени.
                          Хотя результат обобщения одной детской книги выглядит вот так.

                          • 0
                            О! Здается мне, нужно переходить в личку…
          • 0

            Блин, только не голосовое управление. Максимум — чтобы брелок мигал и пищал при фразе "Где эти [censored] ключи?", произнесённой с достаточной экспрессией.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое