Функциональное программирование (практикум, Д.В. Михайлов)
Материал из MachineLearning.
Приводятся общие сведения и рекомендации по решению задач нечислового характера с применением функциональных языков на примере известных реализаций языка Лисп для персональных ЭВМ. Содержатся типовые задания, позволяющие приобрести навыки написания и отладки функциональных программ при построении интеллектуальных систем различного назначения.
Практикум предназначен для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», а также других, в учебных планах которых предусмотрены аналогичные дисциплины.
Автор практикума — Дмитрий Владимирович Михайлов, кафедра Информационных технологий и систем Новгородского государственного университета им. Ярослава Мудрого (НовГУ).
Научный консультант — д.т.н., профессор Емельянов Геннадий Мартинович
Представленный здесь вариант практикума в 2020 году лёг в основу учебного модуля «Функциональное и логическое программирование» по направлению подготовки «Информатика и вычислительная техника» (бакалавриат) в НовГУ. Актуальная редакция материалов учебного модуля представлена на портале «Дистанционные образовательные технологии обучения в НовГУ» (требуется регистрация). Смотри также Лабораторный практикум по логическому программированию.
Лабораторный практикум по функциональному программированию (PDF, 763КБ)
Содержание |
Установочные лекции
Комментарии и дополнения к лабораторным работам
Расчетно-графическая работа
Демо
- Выделение составляющих образа исходной фразы в виде ключевых слов и их сочетаний совместным использованием синтаксического разбора фразы и разбиения её слов на классы по значению меры TF-IDF (Python 2.7)[1].
- Отбор научных статей по степени близости смысловому эталону заголовка и фраз аннотации (Python 2.7)[1], в том числе:
- вариант с сортировкой анализируемых фраз по степени близости эталону и выделением ключевых сочетаний слов на основе меры TF-IDF[1], включая построение иерархии статей на основе оценок взаимной смысловой зависимости по аннотациям и заголовкам с учётом найденных ключевых сочетаний слов[1];
- вариант с построением иерархии статей на основе оценок их взаимной смысловой зависимости и последующим оцениванием взаимной близости документов тематического корпуса, относительно которых достигалась наибольшая близость фраз эталону[1], а также численным оцениванием значимости каждого такого документа при подборе пары взаимно релевантных[1].
- Анализ документов тематического корпуса на предмет включения в состав референтного на основе встречаемости слов из аннотаций статей по заданной предметной области (реализация на Python 2.7)[1], а также оценивание качества отбора документов в референтный корпус (реализация на Python 2.7 и (частично) на Python 3.10)[1].
- Применение нейросетевых моделей BERT для ранжирования коротких текстов по близости эталону на основе оценки взаимного сходства их смыслов (реализация на Python 3.10 + блокнот Jupyter Notebook и результаты экспериментов), в том числе вариант с дообучением моделей ruSciBERT и SciRus-tiny для задач анализа смысловой близости отдельных предложений (Sentence Similarity) и текстов (Textual Similarity).
- Расширение аннотаций научных статей заданной коллекции предложениями их вводных и заключительных частей при взаимном ранжировании по близости смысловому эталону (реализация на Python 3.10 + блокноты Jupyter Notebook и результаты экспериментов), в том числе вариант с возможностью удаления предложений из аннотации с целью максимизации её смысловой связности.
Полезные ссылки
Для самоконтроля
Примечания
К сожалению, незарегистрированные пользователи не видят литературных ссылок из раздела «Демо» (данный дефект системы находится в стадии проработки). Тем не менее, Вы можете найти цитируемый источник, используя вкладку «Просмотр» на данной странице.