Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Будни data science/NLP стартапа
1. Будни data science
NLP стартапа
Или реальность наносит ответный удар
Vsevolod Solovyov
CTO at Prophy Science
@murkt
2. Что мы делаем:
• Существует 100+ млн научных публикаций
• Население планеты растёт, количество
учёных - тоже
• С каждым годом учёные пишут всё больше
статей
4. Зачем мы читаем статьи?
Чтобы:
• Рекомендовать статью для прочтения
человеку
• Группировать статьи по тематикам
• Находить экспертов в заданной тематике
• ...
9. Статьи обновляются
• Выходят новые версии
• Исправляются ошибки в источнике
• У препринта появляется DOI
опубликованной статьи
• и так далее
• Записываем обновленные данные в базу
11. Откуда в данных хлам?
• Появилась статья в ArXiv
• Она же появилась в Inspire
• Обновили данные в ArXiv
• Трижды обновили данные в Inspire
• Вышла новая версия в ArXiv
12. Откуда в данных хлам?
• Появилась статья в ArXiv
• Она же появилась в Inspire
• Обновили данные в ArXiv
• Трижды обновили данные в Inspire
• Вышла новая версия в ArXiv
• Статья появилась в PMC и pubmed
14. Import pipeline
• Стандарты врут
• Схемы врут
• Статистика и конкретные примеры —
реальность
• Юнит-тесты на парсеры и мерж
• Перед сохранением в БД валидируем
данные, как внешнее API или формы
16. J Smith
• John Smith
• Jill Smith
• Jekyll E Smith
• Jekyll M Smith
• Jekyll EM Smith
17. J Smith
• John Smith
• Jill Smith
• Jekyll E Smith
• Jekyll M Smith
• Jekyll EM Smith
• J David Smith
• Jekyll Smith Sr.
• Jekyll Smith Jr.
• Jekyll Smith III
18. J Smith
• John Smith
• Jill Smith
• Jekyll E Smith
• Jekyll M Smith
• Jekyll EM Smith
• J David Smith
• Jekyll Smith Sr.
• Jekyll Smith Jr.
• Jekyll Smith III
• Jekill Smyth
19. JL Smith, MB Salamon
Кто из:
• James L. Smith, Myron B. Salamon
• Janet L. Smith, Theodora Hatziioannou
20. JL Smith, MB Salamon
Кто из:
• James L. Smith, Myron B. Salamon
• Janet L. Smith, Theodora Hatziioannou
• Jerald L. Smith, Miriam Salamon
21. J Smith
• Около 15-20 тысяч статей, подписанных
каким-нибудь J Smith (в нашей базе)
• Это больше тысячи реальных людей
• Кто-то написал сотни статей, кто-то - одну-
две
22. Jürg Fröhlich, Jurg Frohlich,
Juerg Froehlich
• Пишет про квантовую механику, темную
материю и влияние электромагнитных
полей на организм
• Это один человек? Два? Четыре?
• Он весь из ETHZ (политехнический
университет в Цюрихе)
24. Топ 30 имен
name | count
------------+-------
Wei Wang | 8693
Wei Zhang | 7452
Wei Li | 6828
Lei Zhang | 5679
Jing Wang | 5360
Yan Li | 5250
Lei Wang | 5129
Wei Chen | 5048
Yang Liu | 4877
Jun Wang | 4773
Jing Li | 4752
Yan Zhang | 4751
Jian Wang | 4705
Li Li | 4665
Li Zhang | 4631
name | count
------------+-------
Jun Li | 4609
Wei Liu | 4420
Yan Wang | 4386
J. Zhang | 4159
Jing Zhang | 4096
Y. Zhang | 4035
Li Wang | 4017
Yu Zhang | 3945
Ying Wang | 3943
Hui Li | 3875
Hui Wang | 3845
Xin Wang | 3839
Jun Zhang | 3822
Y. Wang | 3798
Yi Zhang | 3775
25. Еще исключительные
случаи
• Тысячи авторов в одной статье
• Группы авторов
• ATLAS collaboration
• Investigators of the European Huntington's
Disease Network
26. Идентификаторы
спешат на помощь
• Специальные идентификаторы для
научных авторов
• ORCID – 0000-0001-8073-3068
• ScopusID – 13204492100
• ResearcherID – E-3698-2015
• Email
29. Email
• Один емейл точно принадлежит одному
человеку
• У одного человека может быть несколько
• Gmail
• Hotmail
• Разные университеты
30.
31. Email принадлежит
одному человеку?
• isrn.molecular.biology@hindawi.com
• microbiologia.clinica@unt.edu.ar
• gyn-sekretariat@pius-hospital.de
• secretariat@grangettes.ch
32. Группируем статьи
• Вытаскиваем десятки гигабайт из БД
• Строим граф с правильными весами
между вершинами
• Кластеризуем граф
• Многократно повторяем иерархически
• Как мерять качество?
33. Улучшаем результаты
• Внимательно делаем code review
• Визуализируем
• Эксперт смотрит глазами
• Добываем больше хороших данных
• Убираем плохие данные (шум)
38. Что сделали удачно
• Импорт статей
• "Микросервисный" монолит
• Миграции для Postgres в raw SQL
• Тесты
• Code review
39. Планы
• Оптимизации: кластеризация 10 млн
статей съедает 100+ Гб RAM и идёт сутки
• Улучшать подход к авторам
• Мерять качество ML
• Куча других вещей
40. Планы
• Оптимизации: кластеризация 10 млн
статей съедает 100+ Гб RAM и идёт сутки
• Улучшать подход к авторам
• Мерять качество ML
• Куча других вещей
• Расширять команду ;)