NLP Python ClassicML Livecode

NLP, поиск и ранжирование

  • Чем BM25 отличается от TF-IDF и в каких случаях он лучше?
  • Как сопоставить пользовательский поисковый запрос с объектами в большой базе?
  • Как Softmax преобразует логиты в вероятности?
  • Какие метрики ранжирования вы знаете?
  • Какую более простую метрику можно использовать вместо NDCG?
  • В чём преимущества архитектуры Transformer?
  • Какие типы трансформеров существуют?
  • Что такое GPT с точки зрения архитектуры?
  • Как работают encoder-модели?
  • Какую модель выбрать для классификации большой товарной номенклатуры?
  • Как BERT может сопоставлять пользовательский запрос с товаром?
  • Какой токенизатор используется в BERT?
  • Когда TF-IDF может оказаться лучше BERT?
  • Как организовать поиск при наличии опечаток в запросе?

Python и ООП

  • Какие типы данных существуют в Python и какие из них изменяемые?
  • Как устроен dict и как работает хеш-функция?
  • Может ли кортеж или экземпляр класса быть ключом словаря?
  • Что такое инкапсуляция, сокрытие методов и property?
  • Что такое __slots__ и декораторы?
  • Как устроены GIL и сборка мусора в Python?
  • Как выбирать между корутинами, AsyncIO и multiprocessing?
  • Для каких задач лучше использовать multiprocessing?
  • Как работают фикстуры и параметризация в pytest?

Live coding

  • Напишите алгоритм поиска дубликатов в списке, включая изменяемые объекты.