О смягчении нравов

Технический университет Дармштадта, середина семестра. На лекции по «системам обработки естественного языка» (краткий пересказ документации к библиотеке NLTK) рассматривается вот такой пример:

task64

В аудитории присутствует где-то десять будущих компьютерных филологов и полторы сотни будущих компьютерных программистов. С филологами ладно, в конце концов, вся эволюция вычислительной техники была направлена на то, чтобы даже филолог мог решать свои профессиональные задачи («Есть ли в русском языке слово, содержащее три е подряд?») с помощью компьютера — а вот программиста, который бы предложил вот так искать слова, соответствующие последовательности нажатий кнопок на клавиатуре мобильного телефона, 20 лет назад просто избили бы ногами в подворотне. Десять лет назад все обошлось бы косым взглядом с легким налетом «пассивной агрессии». Сейчас такое можно показывать студентам и никто, кажется, не считает этот подход зазорным.

О смягчении нравов: 15 комментариев

  1. А как было бы правильно? Я так понимаю вам не понравилось что это тупой перебор? Я довольно далек от этого просто

    1. Если нам достаточно поискать слова, соответствующие регекспу, только один раз — то сойдет, хотя можно было написать так:

      print([ w for w in nltk.corpus.words.words(«en») if re.search(regexp, w.lower()) ])

      Если же речь заходит о Т9 и относительно частом поиске слов — то желательно построить префиксное дерево (возможно, с какими-то дополнениями — например, в настоящем Т9 должна учитываться частота встречаемости слов). Это вполне нормальный сюжет для курса типа «Алгоритмы и структуры данных».

      1. Спасибо я многое не понял, но про частоту использования тоже сразу подумал. А тупо нельзя потому что ресурсы жрутся, медленно ищет или менее точно подбирает? Скорее всего все вместе взятое ))

  2. Зато понятно как под другие кнопки код менять, гуманитарии осилят.

    Вообще отличный пример как правильно делать примеры для обучения и как не надо делать в продакшене ;)

    1. Ты недооцениваешь гуманитариев (нормальных). Они в большинстве своем не тупые, а, так сказать, «педагогически запущенные».

      Пример для обучения, негодный для продакшена — очевидно плохой и неправильный.

      1. А вам не кажется, что это пример не на разбор Т9, а на поиск регулярными выражениями?
        delay(1000) тоже не самый лучший пример из best practices, поэтому надо сразу рассказывать про таймеры, ожидания событий/прерываний и т.д.?

          1. Дерзайте!
            А пока вы будете писать самый лучший курс по информатике, ознакомьтесь с учебниками геометрии для 7-11 классов под редакцией Атанасяна и под редакцией Колмогорова. Насладитесь насколько четко и последовательно структурирован материал у Колмогорова, а потом сходите с ним в обычную среднюю школу и ахренейте на всю голову, насколько тяжело по нему учить среднестатистического долбоклюя среднего возраста.

            1. Учебник Колмогорова, если рассматривать его в качестве учебника для средней школы, а не памятника педагогической мысли третьей четверти XX века, — говно в сравнении даже с дореволюционным Киселевым.

              1. Я ошибся, не Колмогорова, а Погорелова.

                ps.
                Киселев, говорите… т.е. построение прямого угла по линейке это, по-вашему, збсь?

                  1. «Для отображения данной страницы необходим компонент Adobe Flash Player версии 9.0.0 и выше.»
                    Фтопку такие сайты.

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

            2. учился я по этому учебнику. более-менее в геометрию я начал въезжать только в процессе курса аналитической геометрии в универе.

Добавить комментарий для Виктор Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *