От почти-дубликатов к импакту на всю индустрию. Часть 2
#career #projects #research_integrity
Я уже тогда заподозрил, что с этим EM будет сложно, и не прогадал. Это бодрый австралиец, привыкший командовать тихими забитыми прогерами. Так что убеждать его в чем-либо было довольно сложно, даже просто по части английского. Но вот он наконец взялся за нас. Тут, надо отдать должное, передача проекта в руки инженеров была организована грамотно (discovery track с передачей знаний, затем delivery track). Месяца через 2, когда я уже передал свой прототип и на его основе построили решение с куберами-кафками и т.д., мы уже готовы запускаться, прилетает EM и с выпученными глазами говорит, что решение надо делать на полных текстах статей, а просто названий и аннотаций недостаточно (полные тексты примерно на порядок длиннее аннотаций). В этом он тоже прав, вот только понял он это очень поздно, а я его еще за полгода до этого спрашивал типа как, достаточно просто на аннотациях или фул текст нужен. В-общем, надо пстра масштабировать решение ~в 10 раз. Вот тут были жаркие дискуссии, бросать дело на полпути я не хотел, так что можно сказать, что EM победил, и я поставил прочие проекты на паузу, чтоб добить этот.
Свой день рождения я провел размечая данные, и это оказалось очень полезно 🤓 Смотрел на похожие тексты статей, надо было настроить порог похожести, при котором срабатывало бы уведомление. Попутно обнаружилась куча веселых эффектов:
- тут чел заменил в статье пару терминов и опубликовал как новую статью
- вот пара почти одинаковых статей, опубликованных в разных журналах, вообще они должны быть отозваны по-хорошему
- видны еще пары вроде бы разных статей, но с почти одинаковыми аннотациями
- так же точно можно ловить salami slicing – когда берется длинная статья, нарезается на куски и эти куски публикуются как отдельные статьи.
И наконец, paper mills, про которые я писал в посте про Research Integrity. Оказывается, многие из них тоже можно ловить простым LSH. Есть шаблонные статьи, например, в химии или молекулярной биологии – вставил пару названий химических соединений, прогнал скрипт – на выходе новая статья. Недурно и продать такую статью остро нуждающемуся хирш-гроккеру.
И таким образом, начав с проекта, оптимизирующего затраты, я нашел еще россыпь других применений той же идеи и стал активно заниматься Research Integrity, то есть научным антифродом.
Попутно я стал ходить на митинги организации, собирающейакул представителей всех основных паблишеров. Тут свои политические приколы: данными делиться, конечно же, никто не хочет, но как-то вместе бороться с paper mills и simultaneous submission хочется, отсюда и 3rd party. И так постепенно мы с инженерами передали нашу технологию (хех, LSH, не больно-то know how) так, что теперь проверка simultaneous submissions раскатана на все основные журналы.
Закончим пост не на корпоративных играх, а на математике. Пытаясь ответить менеджерам на разумные вопросы “а как много дубликатов мы ожидаем во всей науке в целом?” и “имеет ли экономический смысл масштабировать решение?” я внезапно пришел к формулировке задачи в терминах теории графов. Есть статьи (вершины графа) и отношение “быть почти-дубликатом” (ребра). Поскольку издатели не обмениваются данными, граф – disjoint, т.е. ты можешь померять сходство статей (соединить две вершины ребром) в рамках только своей базы данных со статьями (то есть только внутри своего подграфа). В такой интерпретации уникальным, оригинальным статьям соответствуют изолированные вершины. Вопрос: по мере того как добавляются новые вершины (публикуются новые статьи) как будет меняться процент связных вершин (то есть процент статей, имеющих почти-дубликат)? Тут повешу cliff hanger: строгая постановка задачи и математические выкладки – в следующий раз (upd: вот). Да и это надо не в телеге делать, пожалею себя и вас, обойдемся без ASCII-формул.
#career #projects #research_integrity
Я уже тогда заподозрил, что с этим EM будет сложно, и не прогадал. Это бодрый австралиец, привыкший командовать тихими забитыми прогерами. Так что убеждать его в чем-либо было довольно сложно, даже просто по части английского. Но вот он наконец взялся за нас. Тут, надо отдать должное, передача проекта в руки инженеров была организована грамотно (discovery track с передачей знаний, затем delivery track). Месяца через 2, когда я уже передал свой прототип и на его основе построили решение с куберами-кафками и т.д., мы уже готовы запускаться, прилетает EM и с выпученными глазами говорит, что решение надо делать на полных текстах статей, а просто названий и аннотаций недостаточно (полные тексты примерно на порядок длиннее аннотаций). В этом он тоже прав, вот только понял он это очень поздно, а я его еще за полгода до этого спрашивал типа как, достаточно просто на аннотациях или фул текст нужен. В-общем, надо пстра масштабировать решение ~в 10 раз. Вот тут были жаркие дискуссии, бросать дело на полпути я не хотел, так что можно сказать, что EM победил, и я поставил прочие проекты на паузу, чтоб добить этот.
Свой день рождения я провел размечая данные, и это оказалось очень полезно 🤓 Смотрел на похожие тексты статей, надо было настроить порог похожести, при котором срабатывало бы уведомление. Попутно обнаружилась куча веселых эффектов:
- тут чел заменил в статье пару терминов и опубликовал как новую статью
- вот пара почти одинаковых статей, опубликованных в разных журналах, вообще они должны быть отозваны по-хорошему
- видны еще пары вроде бы разных статей, но с почти одинаковыми аннотациями
- так же точно можно ловить salami slicing – когда берется длинная статья, нарезается на куски и эти куски публикуются как отдельные статьи.
И наконец, paper mills, про которые я писал в посте про Research Integrity. Оказывается, многие из них тоже можно ловить простым LSH. Есть шаблонные статьи, например, в химии или молекулярной биологии – вставил пару названий химических соединений, прогнал скрипт – на выходе новая статья. Недурно и продать такую статью остро нуждающемуся хирш-гроккеру.
И таким образом, начав с проекта, оптимизирующего затраты, я нашел еще россыпь других применений той же идеи и стал активно заниматься Research Integrity, то есть научным антифродом.
Попутно я стал ходить на митинги организации, собирающей
Закончим пост не на корпоративных играх, а на математике. Пытаясь ответить менеджерам на разумные вопросы “а как много дубликатов мы ожидаем во всей науке в целом?” и “имеет ли экономический смысл масштабировать решение?” я внезапно пришел к формулировке задачи в терминах теории графов. Есть статьи (вершины графа) и отношение “быть почти-дубликатом” (ребра). Поскольку издатели не обмениваются данными, граф – disjoint, т.е. ты можешь померять сходство статей (соединить две вершины ребром) в рамках только своей базы данных со статьями (то есть только внутри своего подграфа). В такой интерпретации уникальным, оригинальным статьям соответствуют изолированные вершины. Вопрос: по мере того как добавляются новые вершины (публикуются новые статьи) как будет меняться процент связных вершин (то есть процент статей, имеющих почти-дубликат)? Тут повешу cliff hanger: строгая постановка задачи и математические выкладки – в следующий раз (upd: вот). Да и это надо не в телеге делать, пожалею себя и вас, обойдемся без ASCII-формул.