Введение 3
Глава 1. Особенности физико-математических текстов и форматы их хранения 5
Формат хранения TeX 5
Формат хранения PDF 6
1.3 Формат хранения docx 7
Глава 2. «Формульная структура» физико-математического документа 9
2.1 Алгоритм определения формульной структуры на основе положения формул в тексте 9
2.2 Модификация алгоритма определения формульной структуры 10
2.3 Сравнение формул по математическим символам 12
2.4 Усовершенствование алгоритма 13
Глава 3. Сравнение по строкам 16
3.1 Алгоритм Бойера-Мура 16
3.1.1 Описание алгоритма 16
3.1.2 Таблица стоп-символов 18
3.1.3 Таблица суффиксов 19
3.2 Присвоение веса символам алфавита 20
3.3 Расстояние Левенштейна 21
3.4 Алгоритм Джаро-Винклера 24
3.4.1 Расстояние Джаро-Винклера 25
Глава 4. Методы трансформации научных документаций в строку 27
4.1 Методы преобразования математических нотаций в формате .tex 27
4.2 Методы преобразования математических нотаций в формате .pdf 29
4.2.1 Методы сегментации математических формул из формата .pdf. Эвристический метод
Фейтмана 30
4.2.2 Система сегментации на основе модифицированного алгоритма Фейтмана 32
4.2.3 Сегментация строк 35
4.2.4 Сегментация математических формул 36
4.2.5 Парсинг математических нотаций с помощью системы DRACULAE 37
Глава 5. Определение коэффициента подобия двух строк 39
5.1 Метрики оценки алгоритмов 39
5.2 Итоговый коэффициент подобия 41
Глава 6. Алгоритм выявления дубликатов 43
Глава 7. Тестирование алгоритма 46
Заключение 51
Библиографический список 52
В современном мире информационная безопасность становится одним из важнейших понятий этого века. Современное общество переходит на хранение информации в электронном виде, полностью отказываясь от бумажных носителей. Главными факторами данной миграции является интернет, лёгкий доступ к любой информации в обширной сети. Миллионы людей ежедневно выкладывают в сеть ту или иную информацию для общего обозрения, в том числе физики и математики. Некоторые из них делают это даже прежде, чем данную информацию опубликуют. В связи с вышесказанным вытекает одна из проблем современного общества - плагиат.
Благодаря безграничности всемирной паутины, найти оригинального автора той или иной статьи бывает очень затруднительно. Некоторые IT компании позаботились об этом, выпустив продукты и сервисы по поиску заимствованием в интернете, но и они не всегда могут помочь.
Ранее мной в курсовой работе было проведено исследование на тему сервисов по поиску заимствования и столкнулся с тем, что ни в одной из современных сервисов не присутствует поиск заимствований для публикаций, переведённых на различные языки [12]. Но ведь значимость некоторых статей многих русских исследователей выходят за масштабы нашей страны и могут быть переписаны другим языком, тогда как найти плагиат в мультиязычной коллекции документов?
Для решения данной проблемы, был придуман алгоритм выявления дубликатов в мультиязычных коллекциях, на основе сравнения строк, состоящих из придуманного алфавита для преобразования статьи. Для создания данного алгоритма было проанализировано и разобрано большинство методов по неточному сравнению строк.
Целью данной работы является создание алгоритма, выявляющего дубликаты статьи-запроса из мультиязычной коллекции документов.
В первой главе рассмотрены основные форматы хранения физико-математических статей, такие как .pdf, .tex, docx и их структура.
Во второй главе разработан алгоритм определения формульной структуры физико-математических документов. Показано как происходило модифицирование алфавита для осуществления трансформации физико-математической статьи в строку.
В третьей главе рассматриваются три основных алгоритма для сравнения строк: "алгоритм Бойера-Мура", "Расстояние Джаро-Винклера" и "Расстояние Левенштейна". Исследуемыме методы используется для анализа и сравнения ДНК в вычеслительной биологии, где геном записывается строкой, состоящей из повторяющихся символов [2]. Присвоен каждому символу предложенного алфавита определённый вес.
В четвёртой главе описываются методы трансформации физико-математических документов в формате .pdf и .tex в строку.
В пятой главе приводится частный и общий коэффициент подобия для сравнения двух строк.
В шестой главе Представлена архитектура алгоритма. Рассматривается полный алгоритм определения подобия физико-математических публикаций.
Глава седьмая посвящена тестированию предложенного алгоритма. Тестирование проводится на коллекции, взятой с архива Mathnet.ru. Предоставление результатов работы алгоритма.
Результатами данной работы являются:
1. Основная задача, поставленная в начале работы, была выполнена. Был создан Алгоритм выявления дубликатов.
2. Создана собственная формульная структура для физико-математических документов.
3. Создан собственный алфавит для трансформации документа в строку.
4. Рассмотрены основные методы сравнения строк и выбраны три наиболее подходящих для созданного алгоритма.
5. Рассмотрен и модифицирован существующий метод сегментации формул из формата .pdf.
6. Разработан метод получения LaTeX кода из .pdf файла.
7. Выявлены частные и общий коэффициенты подобия для оценки похожести физико-математических публикаций.
8. Создана реализация алгоритма на языке C#.
9. Проведено тестирование алгоритма.
В рамках данной работы были использованы средства из вычислительной биологии для сравнения генома ДНК [2]. Данные наработки в сфере биологии были применены для сравнения строк, полученных из физико-математических публикаций путём предложенного алгоритма.
1. Романовский И.В. Дискретный анализ / И.В. Романовский. - СПб. : Издательство «Невский Диалект», 2008. - 338p.
2. Gusfield D. Algorithms on String, Trees, and Sequences. Computer science and computational biology / D. Gusfield - New York : Cambridge University Press, 2003. - 653 p.
3. Crochemore M. Algorithms on strings / M. Crochemore, C. Hancart, T. Lecroq - New York : Cambridge University Press , 2007. - 383 p.
4. Boyer R.S. A fast string searching algorithm. Communications of the ACM /R.S. Boyer, J.S. Moore, 1977. - 820 p.
5. Левенштейн В. И. Двоичные коды с исправлением выпадений, вставок и замещений символов. / В.И. Левенштейн // Доклады Академий Наук СССР. - 1965. - 845-848 с.
6. Amir A. Faster algorithms for string matching with k mismatches. J. Algorithms / A. Amir, M. Lewenstein, E. Porat // Journal of algorithms. - 2004. - №50. - 257-275 p.
7. Charras C. Handbook of Exact String-Matching Algorithms / C. Charras, T. Lecroq, 2004. - 220 p.
8. Биряльцев Е.В. Подход к семантическому поиску математических выражений в научных текстах / E.B. Биряльцев, М.Р. Галимов, Н.Г. Жильцов, О. А. Невозорова // Open Semantic Technologies for Intelligent Systems - 2012. - 245-255 c.
9. Friedl J. Mastering Regular Expressions. Third Edition / J. Friedl ; пер. с англ. под ред. А. Галунова. - СПб.: Символ-Плюс, 2008. - 544 p.
10. Galil Z. On improving the worst case running time of the Boyer-Moore string searching algorithm. Communications of the ACM / Z.Galil, 1979 - 508 p.
11. Cormen T.H. Algorithms Unlocked / T.H. Cormen ; пер. с англ. под ред. И.В. Красикова. - М.: ООО «И.Д. Вильямс», 2014. - 208 c.
12. Мохов А.С. Сервисы проверки на заимствование - Курсовая работа. КФУ, 2015. - 19с.
13. Wagner R. A. The string-to-string correction problem. / R.A. Wagner, M.J. Fischer // J. ACM 21. -1974. - 168—173 p.
14. Cormen T. Introduction to Algorithms. / T. Cormen, E. Leiserson,
R. Rivest. - The MIT Press, 1990. - 801 p.
15. Souza A.P. Metadata extraction from Scientific Documents in PDF / A.P.Souza - Porto Alegre: PPGC da UFRGS, 2014. - 59p.
16. Cormen T.H. Introduction to algorithms / T.H. Cormen, C.E. Leiserson, R.L. Rivest ; пер. с англ. под ред. С.Н. Тригуб. - М. : ООО «И.Д. Вильямс»,
2013. - 1328 с.
17. Гойвертс Я. Регулярные выражения. Сборник рецептов. /Я. Гойвертс, Левитан С. ; пер. с англ. - СПб.: Символ-Плюс, 2010. - 608 с.
18. Фридл Д. Регулярные выражения / Д.Фридл ; пер. с англ. - СПБ.: Символ-Плюс, 2008. - 608с.
19. Коровкин П.П. Линейные операторы и теория приближений / П.П. Коровкин - гос. изд. физико-математической литературы, 1959. - 212 с.
20. Turbo BM algorithm. - URL :// http://www-igm.univ- mlv.fr/~lecroq/string/node 15 .html
21. Указатели, массивы и строки / Символы и строки в C++. - URL :// http://cppstudio.com/post/437/
22. Разработка. Сравнение строк в C# (по умолчанию). - URL :// https://habrahabr.ru/post/274491/
23. Adobe Glyph List 2.0. - URL :// http://partners.adobe.com/public/developer/en/opentype/glyphlist.txt
24. Y&Y TeX for Windows. - URL :// http://yytex.googlecode.com/svn/trunk/src/dvisourc/uni/
25. Fateman R.J., Tokuyasu T. Progress in recognizing typeset mathematics // Proceedings of SPIE - The International Society for Optical Engineering. - 1996. - Vol. 2660. - 37- 50p.
26. Yang M., Fateman R.J. Extracting mathematical expressions from postscript documents // In ISSAC ’04: Proceedings of the 2004 International Symposium on Symbolic and Algebraic Computation. - New York: ACM Press, 2004. - 305-311p.
27. Apache PDFBox - Apache PDFBox - Java PDF Library. - URL :// http: //pdfbox.apache. org/
28. Unicode Technical Report #25: Unicode Support for Mathematics. - URL :// http://www.unicode.org/reports/tr25/
29. Fateman R.J. How to find mathematics on a scanned page. In Daniel P. Lopresti and Jiangying Zhou, editors // Documents of Recognition and Retrieval VII. - 1999 - Vol. 3967. - 98-109p.
30. Nagy G., Seth, S., Viswanathan M. A prototype document image analysis system for technical journals. - Computer 7, 1992. - 10-22p.
31. DRACULAE. - URL:// http://research.cs.queensu.ca/drl/ffes/
32. Lee H.J., Wang J.S. Design of mathematical expression recognition system // In Proc. of ICDAR’95. - Canada, 1995. - 1084-1087p.
33. Toumit J.Y., Garcia-Salicetti S., Emptoz H. A hierarchical and recursive model of mathematical expressions for automatic reading of mathematical documents // In Proc. Of ICDAR’99. - India, 1999. - 116-122p.
34. Winkler W. Proceedings of the Section on Survey Research Methods. // American Statistical Association. - 1990. - 354-359p.
35. Avkhadiev F.G. Families of Domains with Best Possible Hardy Constant // Izvestiya Vysshikh Uchebnykh Zavedenii. - Russia, 2013. - 59-63p.
36. Sosov E.N. Main Metric Invariants of Finite Metric Spaces // Izvestiya Vysshikh Uchebnykh Zavedenii. - Russia, 2016. - 86-90p.
37. Мохов А.С. Метод определения подобия научных документов на основе анализа структуры формул - Выпускная квалификационная работа. КФУ, 2016. - 47с.
38. Adobe Glyph List 2.0 .- URL:// http://partners.adobe.com/public/developer/en/opentvpe/glvphlist.txt
39. Y&Y TeX for Windows. - URL:// http://yytex.googlecode.com/svn/trunk/src/dvisourc/uni/