Telegram Group & Telegram Channel
От почти-дубликатов к импакту на всю индустрию. Часть 1
#career #projects #research_integrity

Пора бы рассказать и про один из самых интересных проектов: с идеей, реализацией, конфликтами, импактом и, внезапно, теорией графов. У нас почти все проекты top-down, то есть менеджеры все разрулили и спустили нам задачу. Но иногда бывает и bottom-up – сам что-то придумал и пошел питчить, толкать в прод. Вот я пришел в компанию и поразмыслил: “Так, издательство. Прилетают 2.5 млн драфтов статей в год. А что если там дубликаты? Небось куча времени вхолостую”. Адаптировали на PySpark реализацию LSH для поиска почти-дубликатов (на тот момент в mllib спарка реализация была экспериментальной, мы в итоге свою со скалы переписали; А как это делать без спарка – рассказывал в этом посте), прогнали на ~5 млн. названий статей – и увидели, что около 25% всех названий имеют почти-дубликат. Глаза слегка на лоб полезли: “что, серьезно? Когда прилетает новая статья, шанс 1/4, что ее уже видели?“

Стали параллельно трубить о находке и делать EDA (вот тут лучше было подождать результатов анализа). Ну, конечно, большинство дубликатов – безобидные, это resubmission, когда статью отвергли, а она после переработки возвращается. Но ~ в 10% случаев это simultaneous submission – когда автор посылает статью в 2 или более журналов одновременно. Вот это не очень, и такое лучше бы ловить в самом начале, хотя бы чтоб сэкономить усилия издателей и ревьюеров.

Даже в такой простой задаче помогает понимание, что число пар – квадратично по числу объектов. То есть для 5 млн статей это ~12.5 трлн. пар, такое не надо втупую считать (вот это приходилось не раз объяснять менеджерам). Еще мы заметили, что куча навзаний – затычки типа “letter to the editor” или “response to reviewers”, и конечно, они дают квадратичное число таких тривиальных пар – такое надо отсеивать.

Пока суть да дело, я поупражнялся в систем дизайне – накидал приложение, где можно ввести название статьи и получить список похожих (там Datasketch LSH, Redis, докер, Fast API, streamlit). Отнес демку издателям, понял, что попал в точку. У них никаких тулов нет, чтоб ловить дубликаты статей, посланных в разные журналы (в Editorial Manager есть только SQL-решение из 60-ых годов, масштабирующееся только на один журнал). Так что поиск дубликатов сводился к чистому дежавю “Хм, знакомая статья” или “Джооон! Ты ж уже эту статью смотрел?”. И тут моя демка уже начала вовсю использоваться, даже несмотря на то, что в индексе был статический дамп статей и самые свежие статьи не показывались.

Прототип есть, валуе замаячило на горизонте (если накидать на салфетке, получалось ~250к/год сэкономленного времени издателей) и тут началось самое интересное (нет) – месяцев 7 пришлось гоняться за одним-единственным менеджером, поскольку у него именно та команда разработки, которая способна мое поделие вкорячить в прод. А там уже OKR, все дела, так просто в новый проект не впишешься, в-общем, пришлось ждать нового года и только заходом через топ-менеджера убеждать, что мы тут не с куском куска пришли, а поделие наше надо деплоить.

Продолжение ⬇️



group-telegram.com/new_yorko_times/183
Create:
Last Update:

От почти-дубликатов к импакту на всю индустрию. Часть 1
#career #projects #research_integrity

Пора бы рассказать и про один из самых интересных проектов: с идеей, реализацией, конфликтами, импактом и, внезапно, теорией графов. У нас почти все проекты top-down, то есть менеджеры все разрулили и спустили нам задачу. Но иногда бывает и bottom-up – сам что-то придумал и пошел питчить, толкать в прод. Вот я пришел в компанию и поразмыслил: “Так, издательство. Прилетают 2.5 млн драфтов статей в год. А что если там дубликаты? Небось куча времени вхолостую”. Адаптировали на PySpark реализацию LSH для поиска почти-дубликатов (на тот момент в mllib спарка реализация была экспериментальной, мы в итоге свою со скалы переписали; А как это делать без спарка – рассказывал в этом посте), прогнали на ~5 млн. названий статей – и увидели, что около 25% всех названий имеют почти-дубликат. Глаза слегка на лоб полезли: “что, серьезно? Когда прилетает новая статья, шанс 1/4, что ее уже видели?“

Стали параллельно трубить о находке и делать EDA (вот тут лучше было подождать результатов анализа). Ну, конечно, большинство дубликатов – безобидные, это resubmission, когда статью отвергли, а она после переработки возвращается. Но ~ в 10% случаев это simultaneous submission – когда автор посылает статью в 2 или более журналов одновременно. Вот это не очень, и такое лучше бы ловить в самом начале, хотя бы чтоб сэкономить усилия издателей и ревьюеров.

Даже в такой простой задаче помогает понимание, что число пар – квадратично по числу объектов. То есть для 5 млн статей это ~12.5 трлн. пар, такое не надо втупую считать (вот это приходилось не раз объяснять менеджерам). Еще мы заметили, что куча навзаний – затычки типа “letter to the editor” или “response to reviewers”, и конечно, они дают квадратичное число таких тривиальных пар – такое надо отсеивать.

Пока суть да дело, я поупражнялся в систем дизайне – накидал приложение, где можно ввести название статьи и получить список похожих (там Datasketch LSH, Redis, докер, Fast API, streamlit). Отнес демку издателям, понял, что попал в точку. У них никаких тулов нет, чтоб ловить дубликаты статей, посланных в разные журналы (в Editorial Manager есть только SQL-решение из 60-ых годов, масштабирующееся только на один журнал). Так что поиск дубликатов сводился к чистому дежавю “Хм, знакомая статья” или “Джооон! Ты ж уже эту статью смотрел?”. И тут моя демка уже начала вовсю использоваться, даже несмотря на то, что в индексе был статический дамп статей и самые свежие статьи не показывались.

Прототип есть, валуе замаячило на горизонте (если накидать на салфетке, получалось ~250к/год сэкономленного времени издателей) и тут началось самое интересное (нет) – месяцев 7 пришлось гоняться за одним-единственным менеджером, поскольку у него именно та команда разработки, которая способна мое поделие вкорячить в прод. А там уже OKR, все дела, так просто в новый проект не впишешься, в-общем, пришлось ждать нового года и только заходом через топ-менеджера убеждать, что мы тут не с куском куска пришли, а поделие наше надо деплоить.

Продолжение ⬇️

BY New Yorko Times


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/new_yorko_times/183

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

In 2018, Russia banned Telegram although it reversed the prohibition two years later. On Telegram’s website, it says that Pavel Durov “supports Telegram financially and ideologically while Nikolai (Duvov)’s input is technological.” Currently, the Telegram team is based in Dubai, having moved around from Berlin, London and Singapore after departing Russia. Meanwhile, the company which owns Telegram is registered in the British Virgin Islands. The message was not authentic, with the real Zelenskiy soon denying the claim on his official Telegram channel, but the incident highlighted a major problem: disinformation quickly spreads unchecked on the encrypted app. Telegram Messenger Blocks Navalny Bot During Russian Election Telegram has become more interventionist over time, and has steadily increased its efforts to shut down these accounts. But this has also meant that the company has also engaged with lawmakers more generally, although it maintains that it doesn’t do so willingly. For instance, in September 2021, Telegram reportedly blocked a chat bot in support of (Putin critic) Alexei Navalny during Russia’s most recent parliamentary elections. Pavel Durov was quoted at the time saying that the company was obliged to follow a “legitimate” law of the land. He added that as Apple and Google both follow the law, to violate it would give both platforms a reason to boot the messenger from its stores.
from in


Telegram New Yorko Times
FROM American