Поиск в математических документах на сегодня является актуальным и динамично развивающимся направлением исследований (см. [1, 2, 15]). Как известно, смысл математических текстов в основном определяется их формульным содержанием: авторы многих работ отмечают (см., например, [15]), что около 80% содержательной информации математических научных статей располагается в представленных в них формулах.
Для того чтобы цифровые библиотеки служили своей цели в полной мере, пользователи должны иметь возможность легко и эффективно искать в них информацию, особенно уравнения, функции и другие виды конструкций. Данный поиск будет особенно полезен в исследовательских работах для осуществления быстрого поиска и установления сходств и связей.
Информационные системы общего назначения, осуществляющие поиск научных публикаций, довольно хорошо справляются с поиском текстового содержания статей. Примерами таких систем являются Google Scholar, Microsoft Academic Search, CiteseerX. Однако поиск математических формул, теорем, доказательств и уравнений является проблематичным. Данные системы оперируют символами и их порядком. Таким образом, любое математическое выражение будет рассматриваться лишь как набор символов без учёта самой структуры. А потому выражения ху и ху для них будут эквиваленты, что является абсолютно неверным с точки зрения математики. Конечно, поисковики порой выдают желаемый результат, но, как правило, это происходит благодаря удачно подобранным ключевым словосочетаниям.
Также существуют специализированные системы поиска математических выражений, например, (uni)quation [4] индексирует формулы из статей Википедии, научных форумов; The Digital Library of Mathematical Functions (DLMF) [5] представляет собой онлайн-проект для разработки основного ресурса математических справочных данных. Запрос в данных системах строится в синтаксисе языка разметки LaTeX.
Отличительной чертой данной работы является то, что представлен алгоритм поиска математических выражений по наименованиям входящих в них переменных.
Целью дипломной работы является реализация веб-приложения для поиска математических выражений в статьях интернет-энциклопедии Wikipedia по фрагменту формулы в TeX-нотации и по наименованиям переменных.
Для достижения данной цели решаются следующие задачи:
• Поиск и загрузка статей энциклопедии при помощи Wikipedia API;
• Определение стандартизированного вида для математических выражений и преобразование к нему формул;
• Лемматизация статей;
• Г енерирование регулярного выражения на основе запроса, учитывающее эквивалентность и частотность переменных;
• Аннотирование формул и переменных;
• Поиск и ранжирование результатов;
• Создание пользовательского интерфейса.
Результатом данной выпускной квалификационной работы является вебприложение, позволяющее производить поиск математических выражений по фрагменту формулы в нотации TeX и по текстовым наименованиям переменных, входящих в формулу. Данная работа размещена по следующему адресу: http: //gititis. kpfu.ru/EkaterinaMyF ormulaSearch.
Реализованные алгоритмы поиска обеспечили достаточную релевантность в сочетании с хорошей скоростью работы.
Алгоритм поиска формулы по фрагменту учитывает следующие особенности:
• Эквивалентность переменных;
• Множественное вхождение переменной.
Анализ полученных результатов в случае использования поиска по наименованиям переменных показал, что они практически всегда имеют непосредственное отношение к искомому запросу.
Однако можно указать на некоторые моменты, которые потребуют дальнейшего исследования. Так, присутствует проблема определения символьной переменной, если в окрестности определения величины располагается больше одного символа.
Второй выявленный аспект касается поиска формулы по её наименованию. Реализованный алгоритм не позволяет явно указать, что введённая строка является наименованием формулы, а не входящим в неё параметром. Реализация этой возможности не потребует значительного изменения поисковых алгоритмов. Будет достаточным указать, что поисковый запрос должен находиться в некотором диапазоне выражения.
1. Lfska, M. Building the Ultimate Math Search Engine. - Brno: Masaryk University, Faculty of Informatics, 2015. - 97p.
2. Guidi, F., Sacerdoti, C. Coen. A Survey on Retrieval of Mathematical Knowledge/ Math.Comput.Sci. - 2017. - № 10. - pp. 409-427.
3. The Springer LaTeX Search [Электронный ресурс]. - Режим доступа: http: //latexsearch. com/.
4. (uni)quation [Электронный ресурс]. - Режим доступа: http://uniquation.ru/.
5. NIST Digital Library of Mathematical Functions [Электронный ресурс]. - Режим доступа: http://dlmf.nist.gov/.
6. Miller, B., Youssef, A. Technical aspects of the digital library of mathematical functions // Annals of Mathematics and Artificial Intelligence. - 2003. - № 1-3. - pp. 121-136.
7. Libbrecht, P., Melis, E. Methods for access and retrieval of mathematical content in ActiveMath // International Congress on Mathematical Software. - 2006. - pp. 331-342.
8. EgoMath [Электронный ресурс]. - Режим доступа:
http: //www. swmath. org/software/9766.
9. LaTeXSearch [Электронный ресурс]. - Режим доступа: http: //latexsearch.com/
10. Hambasan, R., Kohlhase, M., Prodescu, C. MathWebSearch at NTCIR-11 // Proceedings of the 11th NTCIR Conference. Tokyo, Japan. - 2014. - pp. 114-119.
11. Manning, C.D, Raghavan, P., Schutze, H. Introduction to Information Retrieval. - England: Cambridge University Press. - 2009. - 504 p.
12. Retrofit [Электронный ресурс]. - Режим доступа:
https://square.github.io/retrofit/
13. GitHub - ReactiveX/RxJava: RxJava - Reactive Extensions for the JVM - a library for composing asynchronous and event-based programs using observable sequences for the Java VM [Электронный ресурс]. - Режим доступа: https://github.com/ReactiveX/RxJava
14. Russian Morphology for Lucene [Электронный ресурс]. - Режим доступа: https://devhub.io/repos/AKuznetsov-russianmorphology
15. Elizarov, A.M., Kirillovich, A.V., Lipachev, E.K., Nevzorova, O.A. Semantic Formula Search in Digital Mathematical Libraries // Proceedings of the 2nd Russia and Pacific Conference on Computer Technology and Applications (RPC 2017). IEEE, 2017. - pp. 39-43. DOI: 10.1109/RPC.2017.8168063.
16. Елизаров, А.М., Липачёв, Е.К., Малахальцев, М.А. Веб-технологии для математика // Основы MathML. - Москва: Физматлит, 2010. - 194 с.
17. Kohlhase, M. MathML presenting and capturing mathematics for the Web [Электронный ресурс]. - Режим доступа: http://www.w3.org/Math/Documents/ mathml-tutorial.pdf.
18. Вычегжанин, С.В., Котельников, Е.В. Анализ влияния моделей представления текстов на качество классификации отзывов по тональности // Фундаментальные исследования. - 2015. - № 11-2. - С. 247-251
19. Скороходов, И.С., Тихомирова, А.Н. Основные этапы обработки текста и генерации признаков в задачах текстовой классификации // Проблемы современной науки и образования. - 2016. - № 15. - С. 18-22
20. Buyya, R. Object-oriented Programming with Java: Essentials and Applications. — Tata McGraw-Hill Education, 2009. — 678 p.