A Look at Upcoming Innovations in Electric and Autonomous Vehicles Диплом защищён на отлично. Задача оказалась сложнее

Диплом защищён на отлично. Задача оказалась сложнее

Диплом защищён на отлично. Задача оказалась сложнее

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

От прототипа к рабочему инструменту

Весной проект существовал в виде живого прототипа с довольно прямолинейной логикой: извлечь текст, найти список литературы, проверить DOI, вернуть статус. За несколько месяцев пайплайн вырос в полноценную систему с OCR, постоянным SQLite-кэшем, offline-режимом, корпусной оценкой и отдельными ML-модулями под разные задачи.

Система принимает PDF и DOCX, убирает колонтитулы, ищет библиографический блок, нормализует текст, разбирает каждую запись на поля и только после этого идёт во внешние каталоги - Crossref, OpenAlex, PubMed, Wikidata, ORCID и другие. Чтобы не перегружать сторонние сервисы повторными запросами, результаты сохраняются локально.

Почему один DOI ничего не решает

Логика «нашли DOI - проверили - готово» разбивается о реальные документы быстро. DOI может быть разорван переносом строки. OCR превращает нормальный идентификатор в почти валидную, но уже битую строку. У русскоязычных источников DOI нередко нет вовсе. Внешний сервис может просто не ответить.

Поэтому система собирает набор сигналов, а не опирается на один признак:

  • резолвится ли DOI
  • открывается ли URL
  • найден ли источник в каталогах по названию и авторам
  • совпадает ли год с канонической карточкой
  • нет ли конфликта по метаданным

Итоговый статус формируется по совокупности. Источник без DOI, но уверенно найденный по названию и авторам, получает likely_verified - а не красную метку за отсутствие идентификатора.

Что система говорит пользователю

Главное изменение - не количество проверяемых каталогов, а детализация вывода. Раньше система возвращала бинарный ответ. Теперь она объясняет, что именно пошло не так: ошибка в DOI, несовпадение авторов, подозрение на OCR-искажение, конфликт года или просто низкое качество разбора записи.

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

Что дальше

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

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