Разработка сервиса поиска нечетких высказываний в естественном языке (Fuzzy Logic) (проект) — различия между версиями
(Новая страница, с помощью формы Новый_проект) |
|||
(не показано 12 промежуточных версии этого же участника) | |||
Строка 10: | Строка 10: | ||
}} | }} | ||
− | |||
Проект заключается в развитии существующей программы формирования базы знаний правил нечеткой логики. На данный момент программа может создавать и редактировать правила нечеткой логики (Fuzzy Rules). Так же, есть возможность вычислять, по заданному входу, выходное значение на основе сохраненных правил нечеткой логики (Fuzzy Rules) посредством алгоритмов Mamdani и/или Tagaki-Sugeno. Программа имеет пользовательский интерфейс и сохранение информации в виде файлов. Следующий этап развития сервиса - это автоматический поиск возможных правил нечеткой логики в произвольном тексте (текстовая литература, новостные ленты информационных агенств, интернет итд). Найденные нечеткие правила, могут быть сопоставлены с уже ранее сохраненными в базе знаний и в случае необходимости могут быть уточнены экспертом. Так как количество нечетких правил данных будет существенно увеличиваться, необходимо настроить сохранение информации в базу данных. В результате проекта должен быть сформирован прототип сервиса поиска нечетких высказываний в произвольном тексте. | Проект заключается в развитии существующей программы формирования базы знаний правил нечеткой логики. На данный момент программа может создавать и редактировать правила нечеткой логики (Fuzzy Rules). Так же, есть возможность вычислять, по заданному входу, выходное значение на основе сохраненных правил нечеткой логики (Fuzzy Rules) посредством алгоритмов Mamdani и/или Tagaki-Sugeno. Программа имеет пользовательский интерфейс и сохранение информации в виде файлов. Следующий этап развития сервиса - это автоматический поиск возможных правил нечеткой логики в произвольном тексте (текстовая литература, новостные ленты информационных агенств, интернет итд). Найденные нечеткие правила, могут быть сопоставлены с уже ранее сохраненными в базе знаний и в случае необходимости могут быть уточнены экспертом. Так как количество нечетких правил данных будет существенно увеличиваться, необходимо настроить сохранение информации в базу данных. В результате проекта должен быть сформирован прототип сервиса поиска нечетких высказываний в произвольном тексте. | ||
Общий формат правила нечеткого высказывания: | Общий формат правила нечеткого высказывания: | ||
− | Если <ЛИНГВИСТИЧЕСКАЯ ПЕРЕМЕННАЯ 1> есть [не | + | Если <ЛИНГВИСТИЧЕСКАЯ ПЕРЕМЕННАЯ 1> есть [не|очень|слегка…] <ТЕРМ 1> [и, или,] <ЛИНГВИСТИЧЕСКАЯ ПЕРЕМЕННАЯ 2> есть [не|очень|слегка…] <ТЕРМ 2> ... тогда <ЛИНГВИСТИЧЕСКАЯ ПЕРЕМЕННАЯ 3> есть [не|очень|слегка…] <ТЕРМ 3> |
+ | |||
+ | Пример: | ||
+ | |||
+ | "....Если у ресторана очень низкие цены и качество еды высокое тогда количество посетителей большое...." | ||
+ | |||
+ | если Лингвистическая переменная(Цены) = [очень] низкие | ||
+ | и | ||
+ | Лингвистическая переменная(Качество) = высокое | ||
+ | тогда | ||
+ | Лингвистическая переменная(Количество посетителей) = большое | ||
=== Чему вы научитесь? === | === Чему вы научитесь? === | ||
− | + | * Формулировать постановку задачи | |
− | + | * Основам теории нечеткой логики (Fuzzy Logic) | |
− | + | * Основным подходам контекстного поиска и синтаксического разбора текста | |
− | + | * Писать надежный и понятный код | |
− | + | * Работать с реляционными базами данных, проектировать модели хранения данных (физическую и логическую) | |
=== Какие начальные требования? === | === Какие начальные требования? === | ||
− | + | * Программирование на C(C++)/Python/Java (в рамках прослушанного курса) | |
− | + | * Знание SQL желательно | |
=== Какие будут использоваться технологии? === | === Какие будут использоваться технологии? === | ||
− | + | * C++ / Python в рамках прослушанного курса | |
− | + | * NLTK пакет библиотек и программ для символьной и статистической обработки естественного языка | |
− | + | * PostgresSQL (возможно Redis как NoSQL) | |
− | + | * GIT(Bitbucket) | |
=== Темы вводных занятий === | === Темы вводных занятий === | ||
− | + | * Основы организации разработки продукта и управление проектами | |
− | + | * Основы теории нечеткой логики (Нечеткие множества, Нечеткие и Лингвистические переменные, Контроллер на основе нечеткой логики) | |
− | + | * Основы синтаксический разбора естественного текста. Работа с текстовыми данными | |
− | + | * Работа с реляционными базам данных (проектирование модели хранения данных, написание SQL запросов) | |
=== Направления развития === | === Направления развития === | ||
− | + | * Формирование базы знаний нечеткими правилами, нечеткими и лингвистическими переменными на основе информации из открытых источников (internet) | |
− | + | * Использование разработанной программы и сформированной базы знаний для поддержки принятия решений | |
− | + | * Аналитическая обработка сформированной базы знаний. Выстраивание новых нечетких правил (логических цепочек) на основе сформированной базы знаний | |
=== Критерии оценки === | === Критерии оценки === | ||
− | 4-5 : Программа переведена на работу с базой данных | + | 4-5 : Программа переведена на работу с базой данных <br /> |
− | 6-7 : В программе реализована возможность выявлять из произвольного текста: правила нечеткой логики, лингвистические переменные, термы, модифицированные термы, и сопоставлять с уже определенными в базе знаний. Поставлен эксперимент. | + | 6-7 : В программе реализована возможность выявлять из произвольного текста: правила нечеткой логики, лингвистические переменные, термы, модифицированные термы, и сопоставлять с уже определенными в базе знаний. Поставлен эксперимент.<br /> |
8-10 : Произведена экспериментальная проверка программы, функциональные возможности программы документированы. | 8-10 : Произведена экспериментальная проверка программы, функциональные возможности программы документированы. | ||
=== Ориентировочное расписание занятий === | === Ориентировочное расписание занятий === | ||
ПН 18.30-20.00, ПТ 17.30-19.30 | ПН 18.30-20.00, ПТ 17.30-19.30 | ||
+ | |||
+ | e-mail: ivan.lisenkov@gmail.com |
Текущая версия на 13:34, 14 ноября 2017
Ментор | Иван Лисенков |
Учебный семестр | Осень 2017 |
Учебный курс | 2-й курс |
Проект можно развивать на летней практике | |
Максимальное количество студентов, выбравших проект: 2 | |
Проект заключается в развитии существующей программы формирования базы знаний правил нечеткой логики. На данный момент программа может создавать и редактировать правила нечеткой логики (Fuzzy Rules). Так же, есть возможность вычислять, по заданному входу, выходное значение на основе сохраненных правил нечеткой логики (Fuzzy Rules) посредством алгоритмов Mamdani и/или Tagaki-Sugeno. Программа имеет пользовательский интерфейс и сохранение информации в виде файлов. Следующий этап развития сервиса - это автоматический поиск возможных правил нечеткой логики в произвольном тексте (текстовая литература, новостные ленты информационных агенств, интернет итд). Найденные нечеткие правила, могут быть сопоставлены с уже ранее сохраненными в базе знаний и в случае необходимости могут быть уточнены экспертом. Так как количество нечетких правил данных будет существенно увеличиваться, необходимо настроить сохранение информации в базу данных. В результате проекта должен быть сформирован прототип сервиса поиска нечетких высказываний в произвольном тексте.
Общий формат правила нечеткого высказывания:
Если <ЛИНГВИСТИЧЕСКАЯ ПЕРЕМЕННАЯ 1> есть [не|очень|слегка…] <ТЕРМ 1> [и, или,] <ЛИНГВИСТИЧЕСКАЯ ПЕРЕМЕННАЯ 2> есть [не|очень|слегка…] <ТЕРМ 2> ... тогда <ЛИНГВИСТИЧЕСКАЯ ПЕРЕМЕННАЯ 3> есть [не|очень|слегка…] <ТЕРМ 3>
Пример:
"....Если у ресторана очень низкие цены и качество еды высокое тогда количество посетителей большое...."
если Лингвистическая переменная(Цены) = [очень] низкие и Лингвистическая переменная(Качество) = высокое тогда Лингвистическая переменная(Количество посетителей) = большое
Чему вы научитесь?
- Формулировать постановку задачи
- Основам теории нечеткой логики (Fuzzy Logic)
- Основным подходам контекстного поиска и синтаксического разбора текста
- Писать надежный и понятный код
- Работать с реляционными базами данных, проектировать модели хранения данных (физическую и логическую)
Какие начальные требования?
- Программирование на C(C++)/Python/Java (в рамках прослушанного курса)
- Знание SQL желательно
Какие будут использоваться технологии?
- C++ / Python в рамках прослушанного курса
- NLTK пакет библиотек и программ для символьной и статистической обработки естественного языка
- PostgresSQL (возможно Redis как NoSQL)
- GIT(Bitbucket)
Темы вводных занятий
- Основы организации разработки продукта и управление проектами
- Основы теории нечеткой логики (Нечеткие множества, Нечеткие и Лингвистические переменные, Контроллер на основе нечеткой логики)
- Основы синтаксический разбора естественного текста. Работа с текстовыми данными
- Работа с реляционными базам данных (проектирование модели хранения данных, написание SQL запросов)
Направления развития
- Формирование базы знаний нечеткими правилами, нечеткими и лингвистическими переменными на основе информации из открытых источников (internet)
- Использование разработанной программы и сформированной базы знаний для поддержки принятия решений
- Аналитическая обработка сформированной базы знаний. Выстраивание новых нечетких правил (логических цепочек) на основе сформированной базы знаний
Критерии оценки
4-5 : Программа переведена на работу с базой данных
6-7 : В программе реализована возможность выявлять из произвольного текста: правила нечеткой логики, лингвистические переменные, термы, модифицированные термы, и сопоставлять с уже определенными в базе знаний. Поставлен эксперимент.
8-10 : Произведена экспериментальная проверка программы, функциональные возможности программы документированы.
Ориентировочное расписание занятий
ПН 18.30-20.00, ПТ 17.30-19.30
e-mail: ivan.lisenkov@gmail.com