Code Monkey home page Code Monkey logo

sirius_yandex's Introduction

Уроки Настоящего цикл №6

Выполнил участник студии г. Оренбурга Гимназии №1 Пантелеев Михаил и при моральной поддержке сокомандников


Все решения написаны инвалидно и грязно, за что заранее прошу прощения.
Решения для каждого задания хранятся в соответствующих директориях, а сами задания в файлах TASK.md

Задание 1. Исправить опечатки

Решения

Решение первое (first_solution.py)

По расстоянию Левенштейна сравнивал каждую возможную пару слов, ничего особенного - 91.5 баллов (из 100)

Решение второе (second_solution.py)

В первом решении пришлось написать алгоритм для последовательного исправления ошибок в слове, чтобы получить нужное. Поэтому решил сравнивать каждую пару слов именно по этой функции вместо Левинштейна - итого 96.97.

Через неделю сделал второй словарь со словами в обратном порядке и прогнал там тоже, за что пару баллов получил сверху.

Комментарий

Больше по этой таске ничего не делал. Возможно, если немного улучшить функцию исправления, то больше баллов будет

Задание 2. Нормализация названий университетов

Решения

Решение первое (first_solution.py)

Банально по Левенштейну сравнивал и зашло на ура, а именно 94 балла

Решение второе (second_solution.py)

Тут жесть какую-то придумал:

  • создаем алфавит из всех уникальных слов в названиях университетов
  • преобразуем весь словарь в векторы (математические) на основе этого самого алфавита
  • идем по запросам (входные данные), разбиваем на слова и для каждого ищем ближайшее из алфавита
  • преобразуем на основе прошлого пункта в векторы каждый запрос
  • рассматриваем каждую возможную пару векторов запрос - верное название и по косинусу ищем самое близкое верное название

Казалось бы, гениально и вообще прекрасно, но 96.85 баллов(

Комментарий

Тут абсолютно хз, что можно улучшить. Чувство, будто все с нуля надо писать

Еще рассказываю всякие преколдесы

Помимо приведенных решений также пытался делать через косинусы и индексацией через слоги, буквы и слова (во втором). Но успешным ни одно из этих решений ни для одной задачи не оказались, поэтому даже не прикреплял эти файлы.

Также можно заметить, что странный формат выходных файлов — их я преобразовывал в нормальный небольшими скриптами, поэтому их также не добавил в репу.

sirius_yandex's People

Contributors

polinanime-copilot avatar polinanime avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.