Разработка сервиса поиска нечетких высказываний в естественном языке (Fuzzy Logic) (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница, с помощью формы Новый_проект)
 
 
(не показано 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)
+
* Основам теории нечеткой логики (Fuzzy Logic)
- Современным подходам контекстного поиска и синтаксического разбора текста (библиот
+
* Основным подходам контекстного поиска и синтаксического разбора текста
- Писать надежный и понятный код
+
* Писать надежный и понятный код
- Работать с реляционными базами данных, проектировать модели хранения данных (физическую и логическую)
+
* Работать с реляционными базами данных, проектировать модели хранения данных (физическую и логическую)
  
 
=== Какие начальные требования? ===
 
=== Какие начальные требования? ===
- Программирование на C(C++)/Python/Java (в рамках прослушанного курса)
+
* Программирование на C(C++)/Python/Java (в рамках прослушанного курса)
- Знание SQL желательно
+
* Знание SQL желательно
  
 
=== Какие будут использоваться технологии? ===
 
=== Какие будут использоваться технологии? ===
- C++ / Python в рамках прослушанного курса
+
* C++ / Python в рамках прослушанного курса
- NLTK пакет библиотек и программ для символьной и статистической обработки естественного языка
+
* NLTK пакет библиотек и программ для символьной и статистической обработки естественного языка
- PostgresSQL (возможно Redis как NoSQL)
+
* PostgresSQL (возможно Redis как NoSQL)
- Microsoft Azure
+
* GIT(Bitbucket)
  
 
=== Темы вводных занятий ===
 
=== Темы вводных занятий ===
- Основы организации разработки продукта и управление проектами
+
* Основы организации разработки продукта и управление проектами
- Основы теории нечеткой логики (Нечеткие множества, Нечеткие и Лингвистические переменные, Контроллер на основе нечеткой логики)
+
* Основы теории нечеткой логики (Нечеткие множества, Нечеткие и Лингвистические переменные, Контроллер на основе нечеткой логики)
- Основы синтаксический разбора естественного текста. Работа с текстовыми данными
+
* Основы синтаксический разбора естественного текста. Работа с текстовыми данными
- Работа с реляционными базам данных (проектирование модели хранения данных, написание SQL запросов)
+
* Работа с реляционными базам данных (проектирование модели хранения данных, написание SQL запросов)
  
 
=== Направления развития ===
 
=== Направления развития ===
- Формирование базы знаний нечеткими правилами, нечеткими и лингвистическими переменными на основе информации из открытых источников (internet)
+
* Формирование базы знаний нечеткими правилами, нечеткими и лингвистическими переменными на основе информации из открытых источников (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