Функциональное программирование (практикум, Д.В. Михайлов)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Комментарии и дополнения к лабораторным работам)
Текущая версия (13:47, 24 октября 2024) (править) (отменить)
(Демо)
 
(41 промежуточная версия не показана)
Строка 1: Строка 1:
-
Приводятся общие сведения и рекомендации по решению задач нечислового характера с применением функциональных языков на примере muLISP'а как наиболее известной реализации языка
+
Приводятся общие сведения и рекомендации по решению задач нечислового характера с применением функциональных языков на примере известных реализаций языка
Лисп для персональных ЭВМ.
Лисп для персональных ЭВМ.
Содержатся типовые задания, позволяющие приобрести навыки написания и отладки функциональных программ при построении интеллектуальных систем различного назначения.
Содержатся типовые задания, позволяющие приобрести навыки написания и отладки функциональных программ при построении интеллектуальных систем различного назначения.
-
Практикум предназначен для студентов специальности 230105 “Программное обеспечение вычислительной техники и автоматизированных систем”, а также других, в учебных планах которых предусмотрены аналогичные дисциплины.
+
Практикум предназначен для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», а также других, в учебных планах которых предусмотрены аналогичные дисциплины.
-
Автор практикума — [[Участник:Dmitry.Mikhaylov|Дмитрий Владимирович Михайлов]], к.ф.-м.н.,
+
Автор практикума — [[Участник:Dmitry.Mikhaylov|Дмитрий Владимирович Михайлов]],
-
доцент кафедры Информационных технологий и систем [http://www.novsu.ru Новгородского государственного университета им. Ярослава Мудрого].
+
кафедра Информационных технологий и систем [http://www.novsu.ru Новгородского государственного университета им. Ярослава Мудрого (НовГУ)].
-
Научный консультант - д.т.н., профессор Емельянов Геннадий Мартинович
+
Научный консультант д.т.н., профессор Емельянов Геннадий Мартинович
-
Практикум является обязательным курсом для студентов спец. ПОВТ 2 курса, читается в 4-м семестре.
+
Представленный здесь вариант практикума в 2020 году лёг в основу учебного модуля «Функциональное и логическое программирование» по направлению подготовки «Информатика и вычислительная техника» (бакалавриат) в НовГУ. Актуальная редакция материалов учебного модуля представлена на портале [https://do.novsu.ru/ «Дистанционные образовательные технологии обучения в НовГУ»] (требуется регистрация). Смотри также [[:Логическое программирование (практикум, Д.В.Михайлов)|''Лабораторный практикум по логическому программированию'']].
[[Media:method_fp.pdf|Лабораторный практикум по функциональному программированию (PDF, 763КБ)]]
[[Media:method_fp.pdf|Лабораторный практикум по функциональному программированию (PDF, 763КБ)]]
Строка 64: Строка 64:
* [[Media:Lab6_lsp_2007.pdf|<!-- Лабораторная работа №6. --> Простейший пользовательский интерфейс. ]]
* [[Media:Lab6_lsp_2007.pdf|<!-- Лабораторная работа №6. --> Простейший пользовательский интерфейс. ]]
-
* [[Media:Lab7_lsp_2011.pdf|<!-- Лабораторная работа №7. --> Работа с динамическими базами данных. ]]
+
* [[Media:Lab7_lsp_2011_with_ref.pdf|<!-- Лабораторная работа №7. --> Работа с динамическими базами данных. ]]
* [[Media:Lab8_lsp_2007.pdf|<!-- Лабораторная работа №9. --> Интерфейс на Естественном Языке к динамической базе данных. ]]
* [[Media:Lab8_lsp_2007.pdf|<!-- Лабораторная работа №9. --> Интерфейс на Естественном Языке к динамической базе данных. ]]
Строка 77: Строка 77:
* [[Media:demo_interface_newlisp.zip|Организация пользовательского интерфейса (newLISP-tk) . ]]
* [[Media:demo_interface_newlisp.zip|Организация пользовательского интерфейса (newLISP-tk) . ]]
 +
 +
* [http://www.novsu.ru/file/1488122 Выделение составляющих образа исходной фразы в виде ключевых слов и их сочетаний совместным использованием синтаксического разбора фразы и разбиения её слов на классы по значению меры TF-IDF (Python 2.7)]<ref name="recognition2019">
 +
{{биб.статья
 +
|автор = Стрещук В. А., Кузнецов П. А., Михайлов Д. В.
 +
|заглавие = [https://elibrary.ru/item.asp?id=38050033 Составляющие смыслового эталона, синтаксический анализ и классификация слов по значению меры TF-IDF]
 +
|ссылка = http://www.swsu.ru/structura/up/fivt/kvt/recogn19.php
 +
|издание = Распознавание-2019: сборник материалов XV Международной научно-технической конференции
 +
|место = Курск
 +
|издательство = Юго-Западный государственный университет
 +
|год = 2019
 +
|страницы = 167–169
 +
}}
 +
</ref>.
 +
 +
* [http://www.novsu.ru/file/1493710 Отбор научных статей по степени близости смысловому эталону заголовка и фраз аннотации (Python 2.7)]<ref name="jphys2019">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://iopscience.iop.org/article/10.1088/1742-6596/1352/1/012034/pdf Selection of scientific articles according to the degree of proximity to the semantic pattern of the title and phrases of the abstract]
 +
|ссылка = https://iopscience.iop.org/journal/1742-6596
 +
|издание = Journal of Physics: Conference Series
 +
|год = 2019
 +
|том = 1352
 +
|страницы = 012034
 +
}}
 +
</ref>, в том числе:
 +
** [http://www.novsu.ru/file/1504831 вариант с сортировкой анализируемых фраз по степени близости эталону и выделением ключевых сочетаний слов на основе меры TF-IDF]<ref name="pria2019">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://link.springer.com/content/pdf/10.1134%2FS1054661819040114.pdf Estimation of the closeness to a semantic pattern of a topical text without construction of periphrases]
 +
|ссылка = https://www.pleiades.online/ru/journal/patrec/
 +
|издание = Pattern Recognition and Image Analysis
 +
|год = 2019
 +
|том = 29
 +
|номер = 4
 +
|страницы = 647–653
 +
}}
 +
</ref>, включая [http://www.novsu.ru/file/1580901 построение иерархии статей на основе оценок взаимной смысловой зависимости по аннотациям и заголовкам с учётом найденных ключевых сочетаний слов]<ref name="pria2020">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://link.springer.com/content/pdf/10.1134/S1054661820030207.pdf Hierarchization of topical texts based on the estimate of proximity to the semantic pattern without paraphrasing]
 +
|ссылка = https://www.pleiades.online/ru/journal/patrec/
 +
|издание = Pattern Recognition and Image Analysis
 +
|год = 2020
 +
|том = 30
 +
|номер = 3
 +
|страницы = 440–449
 +
}}
 +
</ref>;
 +
** [http://www.novsu.ru/file/1688839 вариант с построением иерархии статей на основе оценок их взаимной смысловой зависимости и последующим оцениванием взаимной близости документов тематического корпуса, относительно которых достигалась наибольшая близость фраз эталону]<ref name="pria2021">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://link.springer.com/content/pdf/10.1134/S1054661821030172.pdf Analysis of the Mutual Relevance of Topical Corpus Documents in the Problem of Assessing the Proximity of Text to the Semantic Standard]
 +
|ссылка = https://www.pleiades.online/ru/journal/patrec/
 +
|издание = Pattern Recognition and Image Analysis
 +
|год = 2021
 +
|том = 31
 +
|номер = 3
 +
|страницы = 588–594
 +
}}
 +
</ref>, а также [http://www.novsu.ru/file/1752845 численным оцениванием значимости каждого такого документа при подборе пары взаимно релевантных]<ref name="jphys2021">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://iopscience.iop.org/article/10.1088/1742-6596/2052/1/012027/pdf Ranking of documents of topical corpus according to their mutual relevance in the problem of estimating of affinity of a text to the sense standard]
 +
|ссылка = https://iopscience.iop.org/journal/1742-6596
 +
|издание = Journal of Physics: Conference Series
 +
|год = 2021
 +
|том = 2052
 +
|страницы = 012027
 +
}}
 +
</ref>.
 +
 +
* [http://www.novsu.ru/file/1859320 Анализ документов тематического корпуса на предмет включения в состав референтного на основе встречаемости слов из аннотаций статей по заданной предметной области (реализация на Python 2.7)]<ref name="pria2022">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://rdcu.be/c2iQS Reference-Corpus Formation for Estimating the Closeness of Topical Texts to the Semantic Standard]
 +
|ссылка = https://www.pleiades.online/ru/journal/patrec/
 +
|издание = Pattern Recognition and Image Analysis
 +
|год = 2022
 +
|том = 32
 +
|номер = 4
 +
|страницы = 755–762
 +
}}
 +
</ref>, а также [https://portal.novsu.ru/file/1953485 оценивание качества отбора документов в референтный корпус (реализация на Python 2.7 и (частично) на Python 3.10)]<ref name="pria2023">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://link.springer.com/article/10.1134/S1054661823030288 Estimating the Quality of a Selection of Scientific PapersUsing a Collection of Short Texts]
 +
|ссылка = https://www.pleiades.online/ru/journal/patrec/
 +
|издание = Pattern Recognition and Image Analysis
 +
|год = 2023
 +
|том = 33
 +
|номер = 3
 +
|страницы = 568–575
 +
}}
 +
</ref>.
 +
 +
* [https://portal.novsu.ru/file/1962982 Применение нейросетевых моделей BERT для оценки смысловой близости рефератов научных статей (реализация на Python 3.10 + блокнот Jupyter Notebook и результаты экспериментов)].
 +
 +
* [https://portal.novsu.ru/file/1986783 Применение нейросетевых моделей BERT для ранжирования коротких текстов по близости эталону на основе оценки взаимного сходства их смыслов (реализация на Python 3.10 + блокнот Jupyter Notebook и результаты экспериментов)], в том числе [https://portal.novsu.ru/file/2123223 вариант с дообучением моделей ruSciBERT и SciRus-tiny для задач анализа смысловой близости отдельных предложений (Sentence Similarity) и текстов (Textual Similarity)]<ref name="pria2024">
 +
{{биб.статья
 +
|автор = Mikhaylov D. V., Emelyanov G. M.
 +
|заглавие = [https://link.springer.com/article/10.1134/S1054661824700792?utm_source=rct_congratemailt&utm_medium=email&utm_campaign=nonoa_20241017&utm_content=10.1134%2FS1054661824700792 Neural Network Language Models, Mutual Sense Affinity, and Short Text Ranking According to Closeness to a Semantic Standard]
 +
|ссылка = https://www.pleiades.online/ru/journal/patrec/
 +
|издание = Pattern Recognition and Image Analysis
 +
|год = 2024
 +
|том = 34
 +
|номер = 3
 +
|страницы = 385–395
 +
}}
 +
</ref>.
 +
 +
* [https://portal.novsu.ru/file/2135027 Расширение аннотаций научных статей заданной коллекции предложениями их вводных и заключительных частей при взаимном ранжировании по близости смысловому эталону (реализация на Python 3.10 + блокноты Jupyter Notebook и результаты экспериментов)], в том числе [https://portal.novsu.ru/file/2171075 вариант с возможностью удаления предложений из аннотации с целью максимизации её смысловой связности].
 +
 +
* [https://portal.novsu.ru/file/2161333 Расширение аннотаций научных статей предложениями их вводных и заключительных частей с максимизацией смысловой связности коллекции в целом (реализация на Python 3.10 — блокноты Jupyter Notebook и результаты экспериментов)], в том числе:
 +
** [https://portal.novsu.ru/file/2166914 вариант без учёта и фиксации промежуточных шагов расширения исходной аннотации];
 +
** [https://portal.novsu.ru/file/2199162 разные варианты расширения, языковая модель ''sci-rus-tiny''].
 +
 +
== Полезные ссылки ==
 +
 +
* [http://clisp.cons.org/ CLISP — an ANSI Common Lisp Implementation].
 +
 +
* [http://newlisp.org newLISP — Home].
 +
 +
* [[:Python|Введение в Python]].
 +
 +
* [https://devpractice.ru/python-lessons/ Уроки по языку Python].
 +
 +
* [https://www.python.org Python.org].
== Для самоконтроля ==
== Для самоконтроля ==
Строка 83: Строка 210:
* [[Media:Exam_tasks_fp_mdv.pdf|Типовые экзаменационные задачи. ]]
* [[Media:Exam_tasks_fp_mdv.pdf|Типовые экзаменационные задачи. ]]
 +
 +
== Примечания ==
 +
 +
<references />
 +
 +
''К сожалению, незарегистрированные пользователи не видят литературных ссылок из раздела «Демо» (данный дефект системы находится в стадии проработки). Тем не менее, Вы можете найти цитируемый источник, используя вкладку «Просмотр» на данной странице''.
[[Категория:Учебные курсы]]
[[Категория:Учебные курсы]]
[[Категория:Функциональное программирование]]
[[Категория:Функциональное программирование]]

Текущая версия

Приводятся общие сведения и рекомендации по решению задач нечислового характера с применением функциональных языков на примере известных реализаций языка Лисп для персональных ЭВМ. Содержатся типовые задания, позволяющие приобрести навыки написания и отладки функциональных программ при построении интеллектуальных систем различного назначения.

Практикум предназначен для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», а также других, в учебных планах которых предусмотрены аналогичные дисциплины.

Автор практикума — Дмитрий Владимирович Михайлов, кафедра Информационных технологий и систем Новгородского государственного университета им. Ярослава Мудрого (НовГУ).

Научный консультант — д.т.н., профессор Емельянов Геннадий Мартинович

Представленный здесь вариант практикума в 2020 году лёг в основу учебного модуля «Функциональное и логическое программирование» по направлению подготовки «Информатика и вычислительная техника» (бакалавриат) в НовГУ. Актуальная редакция материалов учебного модуля представлена на портале «Дистанционные образовательные технологии обучения в НовГУ» (требуется регистрация). Смотри также Лабораторный практикум по логическому программированию.

Лабораторный практикум по функциональному программированию (PDF, 763КБ)

Содержание

Установочные лекции

Комментарии и дополнения к лабораторным работам

Расчетно-графическая работа

Демо

Полезные ссылки

Для самоконтроля

Примечания


К сожалению, незарегистрированные пользователи не видят литературных ссылок из раздела «Демо» (данный дефект системы находится в стадии проработки). Тем не менее, Вы можете найти цитируемый источник, используя вкладку «Просмотр» на данной странице.

Личные инструменты