48718 (Разработки интеллектуальной справочной системы по музыкальным произведениям), страница 9

2016-07-30СтудИзба

Описание файла

Документ из архива "Разработки интеллектуальной справочной системы по музыкальным произведениям", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "48718"

Текст 9 страницы из документа "48718"

• рецепторные операции(пользователь-память)

• системные эффекторные операции(память-память)

• пользовательские эффекторные операции (память-пользователь)

Примером рецепторной операции является функция обработки нажатия кнопки, она осуществляет генерацию множества выходных параметров:

void pluginView::OnBnClickedButton2()

{

CComboBox *combo = new CComboBox();

combo = (CComboBox*)GetDlgItem(IDC_COMBO1);

CString str;

int index = combo->GetCurSel();

combo->GetLBText(index, str);

m_pSheet->sendMyEv("323322222222222221", str);//получить композиции с таким рейтингом

}

Примером системных эффекторных операций является операция ui_io_exec_command, которая генерирует результирующую sc-конструкцию интерфейсной операции для последующей её обработки:

///////////////////////////////////////////////////////////////////////////////

//

//

#include "scp_keynodes.scsy"

#include "../seb/planimetry.scsy"

#include "im_keynodes.scsy"

procedure(exec_command,

[[

"main window"= "/etc/im_keynode/main window";

ch_comm = "/etc/im_keynode/child_command";

$errors_found = /"Неверно заданы аргументы."/;

sheet_type = "/proc/agents/shell/keynode/SCgSheet";

layout =c= /"logical"/;

p_sheet_title =c= /"Результаты верификации"/;

1_, 2_;

]],

[{

notfound,main_wnd,show_set,comm,p2,s,cmd,

arc,a,arc2,

resultall,

command,

segment,scg_el,wnd,sheet,set_scg_el

}],

{[

1_: in_: set_scg_el,

2_: in_: sheet,

3_: in_: cmd

]}

)

genEl([

1_: assign_: node_:const_:resultall

])

searchElStr3([1_: fixed_: "main window",

2_: assign_: a,

3_: assign_: main_wnd],,notfound)

sys_get_location([1_: fixed_: main_wnd, 2_: assign_: segment])

sys_set_default_segment([1_: fixed_: segment])

genEl([

1_: assign_: node_:const_:command

])

genElStr3([

1_: fixed_: ch_comm,

2_: assign_: arc_:const_: pos_: arc,

3_: fixed_: command

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_:const_: pos_: a,

3_: fixed_: ch_comm

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_:const_: pos_: a,

3_: fixed_: command

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_:const_: pos_: a,

3_: fixed_: arc

])

///////////////////////////////////////////////

// создание параметров команды

//

// первый параметр

genElStr5([1_: fixed_: command,

2_: assign_: const_: actual_: pos_: temporary_: arc,

3_: fixed_: sheet,

4_: assign_: const_: actual_: pos_: temporary_: arc2,

5_: fixed_: 1_

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_:const_: pos_: a,

3_: fixed_: sheet

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_:const_: pos_: a,

3_: fixed_: 1_

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_:const_: pos_: a,

3_: fixed_: arc

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_:const_: pos_: a,

3_: fixed_: arc2

])

// генерация узла связки второго параметра команды

genElStr5([1_: fixed_: command,

2_: assign_: const_: actual_: pos_: temporary_: arc,

3_: assign_: const_: node_: p2,

4_: assign_: const_: actual_: pos_: temporary_: arc2,

5_: fixed_: 2_

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: p2

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: 2_

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc2

])

// генерация второго параметра

genElStr5([1_: fixed_: p2,

2_: assign_: const_: actual_: pos_: temporary_: arc,

3_: assign_: const_: node_: s,

4_: assign_: const_: actual_: pos_: temporary_: arc2,

5_: fixed_: 1_

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: s

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc2

])

// формируем дочернюю команду

genElStr5([1_: fixed_: cmd,

2_: assign_: const_: actual_: pos_: temporary_: arc,

3_: assign_: const_: node_: comm,

4_: assign_: const_: actual_: pos_: temporary_: arc2,

5_: fixed_: s

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: comm

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc2

])

genElStr3([

1_: fixed_: s,

2_: assign_: arc_: const_: pos_: arc,

3_: fixed_: comm

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc

])

genElStr3([

1_: fixed_: s,

2_: assign_: arc_: const_: pos_: arc,

3_: fixed_: cmd

])

genElStr3([

1_: fixed_: resultall,

2_: assign_: arc_: const_: pos_: a,

3_: fixed_: arc

])

varAssign([1_:assign_:wnd,2_:fixed_:main_wnd],ok_msg,ok_msg)

// если произошла ошибочная ситуация

label(err_msg)

genElStr3([1_: fixed_:resultall,

2_: assign_: const_: temporary_: actual_: pos_: a,

3_: fixed_: $errors_found])

ui_sheet_create([ 1_: assign_: const_: node_: wnd,

2_: fixed_: sheet_type,

3_: fixed_: p_sheet_title,

4_: fixed_: layout])

printEl([1_: resultall])

// вывод результата

label(ok_msg)

ui_send([1_: fixed_: wnd, 2_: fixed_: resultall])

eraseEl([1_:fixed_: f_: resultall])

return()

end

Примером пользовательской эффекторной операции (память-пользователь) является функция setAlbumList, которая обрабатывает ключевой узел интерфейсной команды для отображения идентификаторов выходных параметров в элемент управления:

void pluginSheet::setAlbumList(sc_addr addr)

{

CArray albumList;

albumList.FreeExtra();

Shell* shell = Shell::getInstance();

sc_session* s = shell->getSession();

sc_iterator* it = s->create_iterator(sc_constraint_new(CONSTR_3_f_a_a, addr, 0, 0),true);

for(; !it->is_over(); it->next())

{

sc_addr album_addr = it->value(2);

sc_string str = s->get_idtf(album_addr);

albumList.Add(str);

}

m_pView->UpdateListBox2(albumList);

}

4.3 Верификация и отладка пользовательского интерфейса

Для реализации и тестирования базы данных использовался SRS Studio. Для написания кода операций использовал Notepad++, интерфейс реализован по средствам библиотек MFC на языке программирования С++, верификация и тестирование с помощью SRS Studio, Microsoft Visual Studio .NET 2003 и лога pm в командной строке.

4.4 Спецификация разработанного пользовательского интерфейса, сертификация разработанных ip-компонентов

5. Интеграция разработанной системы с другими системами

Интеллектуальная справочная система может быть интегрирована с другими система, работающими в данной предметной области.

Кроме этого могут быть заимствованы операции и ip-компоненты для качественного улучшения системы.

Интеграция позволит расширить как базу знаний, так и перечень реализуемых операций, что сделает систему еще более востребованной для конечного пользователя.

Но вместе с тем необходимо оценить затраты необходимые для интеграции (приведение базы знаний к одинаковым ключевым элементам, использование одинаковых конструкций, соответствующая реализация определенных операций), и на основе анализа выбрать наилучшую стратегию.

С целью облегчения процесса интеграции необходимо разрабатывать ip-компоненты всех подсистем интеллектуальной системы (базы знаний, машины обработки знания и пользовательского интерфейса), которые не зависят от реализации конкретной базы знаний.

6. Направления дальнейшего развития прототипа интеллектуальной справочной системы и пути промышленного изготовления спроектированной интеллектуальной системы

Для полноценного функционирования справочной системы и достижения главной цели – способность системы отвечать на самые нетривиальные вопросы и привлекать широкие массы пользователей, нужно:

Дальнейшие развитие базы знаний, добавление новых предметных узлов и ключевых элементов. Кроме этого база должна пополняться и расширяться новыми знаниями, которые будут генерироваться при работе операций.

Развитие машины обработки заключается в увеличении количества классов задач, которые будет решать данная интеллектуальная справочная система.

Пользовательский интерфейс прикладной системы должен давать возможность работать как с информацией, представленной на языках, являющихся подмножествами языка SC, так и на естественном языке.

В первую очередь необходимо уделить большое внимание естественно-языковому интерфейсу, так как SCg-конструкции, которые система генерирует на данный момент, являются слишком громоздкими и не удобными для восприятия. Ответ на формальном языке представляет собой дополнительный барьер для понимания информации и делает систему не пригодной для пользователей, не знакомых с теорией множеств и языком SC.

Пользовательский интерфейс должен давать возможность пользователю сосредоточиться на постановке задачи, а не на способе её достижения. Время и усилия, которые необходимы пользователю для достижения цели, должны сводиться к минимуму.

Следует уделить внимание «дружелюбности» интерфейса. Необходимо стремиться к тому, чтобы даже не опытному пользователю было понятно, как работать с системой. Время, которое необходимо для освоения навыков работы со средой интеллектуальной справочной системы должно сводиться к минимуму.

7. Вклад в развитие семантических технологий проектирования интеллектуальных систем

7.1 Список выявленных ошибок среды проектирования интеллектуальных систем

После закрытия всех окон SRS-Studio, в системе остаётся незавершенный процесс, который не даёт запуститься собранной системе или ещё одной копии SRS-Studio.

При загрузке sc-элементов в память не загружаются дуги.

7.2 Список предложений по совершенствованию среды проектирования интеллектуальных систем

Доработка руководства пользователя по операциям на языке SCP.

Разработка инструментария для написания scp-программ (минимум отладчика).

Написание новых scp-функций (например, переход по паре).

Исправление указанных ошибок.

Создание ip-компонентов базы знаний, машины обработки знаний, пользовательского интерфейса.

Отладка текущего инструментария для уменьшения используемых ресурсов.

7.3 Список предложений по совершенствованию семантических технологий проектирования интеллектуальных систем

Необходима разработка инструментария качественно нового уровня (предложения по развитию представлены в разделе 7.3.), так как работа с инструментарием на данном этапе затрудняет использование данной технологии.

Изучение в рамках учебного процесса студентами теоретических основ, необходимых для использования и внедрения данной технологии (теория множеств, модели представления знаний, язык программирования scp и др.)

Так же важным этапом в развитии технологии является создание ip-компонентов, задача которых упростить и ускорить процесс разработка за счёт повторного использования каких-либо элементов интеллектуальной системы. Важным является создание ip-компонентов всех подсистем: базы знаний, машины обработки знаний, пользовательского интерфейса.

7.4 Создание и использование ip-компонентов

Созданная БЗ, набор операций и отдельные элементы пользовательского интерфейса могут быть использованы в интеллектуальных справочных системах смежных областей, в качестве ip-компонентов. Что позволит ускорить их разработку, расширить функционал. Таким образом с бесконечным числом интеграций с другими интеллектуальными справочными системами, получится система, которая будет хранить бесконечное количество информации, отвечать на любые поставленные нетривиальные вопросы, а общение между пользователем и системой будет происходить посредством дружелюбного пользовательского интерфейса.

Библиографический указатель

  1. Режим доступа: http://www.skilfully.org/18.08.2008/1. - Дата доступа: 21.12.2008.

  2. Режим доступа: http://www.encyclopedia.ru/news/enc/detail/2321/. – Дата доступа: 21.12.2008.

  3. Справочно-информационный портал Википедия. - Режим доступа: http://ru.wikipedia.org/wiki/Семантическая_паутина. - Дата доступа: 20.12.2008.

  4. The Semantic Web. Scientific American, 17 мая 2001, русский перевод: Семантическая Сеть.

  5. Справочно-информационный портал Википедия. - Режим доступа: http://ru.wikipedia.org/wiki/Семантическая_сеть. - Дата доступа: 21.12.2008.

  6. http://www.trizland.ru/trizba.php?id=186. – Дата доступа: 21.12.2008.

  7. Руководство разработчика семантической справочной системы, Минск, 2008.

  8. Руководство по программированию на языке SCP, Минск, 2005.

124




Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Нашёл ошибку?
Или хочешь предложить что-то улучшить на этой странице? Напиши об этом и получи бонус!
Бонус рассчитывается индивидуально в каждом случае и может быть в виде баллов или бесплатной услуги от студизбы.
Предложить исправление
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5076
Авторов
на СтудИзбе
455
Средний доход
с одного платного файла
Обучение Подробнее