Современные технологии кардинально меняют сложившийся жизненный уклад. Технологические компании (Apple, Alphabet, Microsoft, Facebook) в десятке самых дорогих компаний в мире. И в основе их успеха – достижения науки.

Сегодня наука – массовая профессия, в которой заняты миллионы человек. Однако принятый в науке способ коммуникации остается достаточно архаичным, это научные статьи в журналах или на конференциях. Что такое научная статья? Это текст достаточно специфического жанра и стиля, обычно на 10-20 страниц, написанный с целью добавить какой-то факт, гипотезу, теорию, результат эксперимента и т.п. в общую копилку знаний. Существенное внимание уделяется тому, чтобы вписать то новое, о чем написана статья, в существующую картину мира. Делается это с помощью ссылок на опубликованные ранее работы других авторов, работающих том же или смежных направлениях. Таким образом, можно говорить об огромном графе, узлами которого являются статьи и их авторы, а ребрами отношения цитирования. Такой граф принято называть графом цитирования.

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

E-mail: yaroslav.nedumov@ispras.ru
Telegram: @nedumov
Образование:

  • специалитет ВМК МГУ, кафедра СП, 2002-2007
  • аспирантура ВМК МГУ, кафедра СП, 2007-2010

Научные интересы:

  • автоматизация и поддержка проведения исследований;
  • исследовательский поиск (exploratory search);
  • обработка слабоструктурированных данных: текстовых таблиц, таблиц БД и т.п.:
    • нормализация и дедупликация данных;
    • извлечение информации (information extraction);
  • графовые базы данных;
  • машинное обучение.

Темы для курсовых/выпускных работ 2017/2018

Большинство представленных ниже тем допускают несколько уровней сложности и могут быть адаптированы для любого курса, но не все. В таких случаях я дополнительно укажу ограничения.

Список тем не является исчерпывающим, в рамках направления вы можете предложить свою тему.

Загрузка больших графов в JanusGraph

JanusGraph (ранее Titan) один из наиболее развитых и функциональных движков графовых баз данных, однако загрузка графов из десятков миллионов вершин и сотен миллионов ребер может стать проблемой.

В рамках работы необходимо исследовать скорость загрузки существующих графов разных размеров в JanusGraph в зависимости от использованных настроек и систем хранения. Исследовать возможности ускорения загрузки и реализовать их.

Статьи для затравки:

  1. Armstrong, Timothy G., et al. “LinkBench: a database benchmark based on the Facebook social graph.” Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. ACM, 2013.
  2. Holzschuher, Florian, and René Peinl. “Performance of graph query languages: comparison of cypher, gremlin and native access in Neo4j.” Proceedings of the Joint EDBT/ICDT 2013 Workshops. ACM, 2013.

Object-Graph-Mapping для TinkerPop

TinkerPop это фреймворк для вычислений на графах. Так как его модель данных слабо типизирована, то при использовании API из статически типизированных объектно-ориентированных языков приходится вручную конвертировать модель данных приложения в графовую и обратно. Для решения аналогичной проблемы с реляционными базами данных были разработаны фреймворки Object-Relational-Mapping (ORM), такие как Hibernate. Однако для графовых баз такие работы только появляются, и для TinkerPop ничего подобного разработано не было.

Статьи для затравки:

  1. Störl, Uta, et al. “Schemaless NoSQL Data Stores-Object-NoSQL Mappers to the Rescue?.” BTW. 2015.
  2. Scherzinger, Stefanie, Meike Klettke, and Uta Störl. “Managing schema evolution in nosql data stores.” arXiv preprint arXiv:1308.0514 (2013).

Выделение секций future work и поиск их реализаций

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

Целью курсовой работы является поиск статей, результаты которых отражают задуманные авторами исходной работы направления развития. Для её достижения необходимо научиться автоматически извлекать из текста статьи основной вклад и предложенные направления будущей работы и сопоставлять их.

Статьи для затравки:

  1. Tkaczyk, Dominika, et al. “CERMINE–Automatic Extraction of Metadata and References from Scientific Literature.” Document Analysis Systems (DAS), 2014 11th IAPR International Workshop on. IEEE, 2014.
  2. Le, Quoc, and Tomas Mikolov. “Distributed representations of sentences and documents.” Proceedings of the 31st International Conference on Machine Learning (ICML-14). 2014.

Определение вклада статьи на основе обобщения контекстов, в которых она была процитирована

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

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

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

Статьи для затравки:

  1. Tkaczyk, Dominika, et al. “CERMINE–Automatic Extraction of Metadata and References from Scientific Literature.” Document Analysis Systems (DAS), 2014 11th IAPR International Workshop on. IEEE, 2014.
  2. Le, Quoc, and Tomas Mikolov. “Distributed representations of sentences and documents.” Proceedings of the 31st International Conference on Machine Learning (ICML-14). 2014.

Генерация меток для описания кластеров статей

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

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

Статьи для затравки:

  1. Chen, Chaomei. “CiteSpace II: Detecting and visualizing emerging trends and transient patterns in scientific literature.” Journal of the Association for Information Science and Technology 57.3 (2006): 359-377.
  2. Astrakhantsev, Nikita. “ATR4S: Toolkit with State-of-the-art Automatic Terms Recognition Methods in Scala.” arXiv preprint arXiv:1611.07804 (2016).

Дедупликация статей

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

Статьи для затравки:

  1. Köpcke, Hanna, and Erhard Rahm. “Frameworks for entity matching: A comparison.” Data & Knowledge Engineering 69.2 (2010): 197-210.
  2. Christen, Peter. “Febrl-: an open source data cleaning, deduplication and record linkage system with a graphical user interface.” Proceedings of the 14th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2008.

Выявление команд и центров компетенции

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

Статьи для затравки (строго говоря не совсем по теме, нужен более систематический поиск):

  1. Yang, Zi, et al. “Social community analysis via a factor graph model.” IEEE Intelligent Systems 26.3 (2011): 58-65.
  2. Mingers, John, and Loet Leydesdorff. “A review of theory and practice in scientometrics.” European Journal of Operational Research 246.1 (2015): 1-19.

Поиск по статьям с использованием JanusGraph и ElasticSearch/Solr

Базовая версия работы предполагает индексацию заголовков, аннотаций и полных текстов статей (если доступны) и обеспечение полнотекстового поиска.

Более интересная версия должна использовать векторные представления слов.

Статьи для затравки (строго говоря не совсем по теме):

  1. Lin, Wei, et al. “PacificA: Replication in log-based distributed storage systems.” (2008).
  2. Le, Quoc, and Tomas Mikolov. “Distributed representations of sentences and documents.” Proceedings of the 31st International Conference on Machine Learning (ICML-14). 2014.
  3. Mikolov, Tomas, et al. “Distributed representations of words and phrases and their compositionality.” Advances in neural information processing systems. 2013.