Разработка веб-приложения

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 30.06.2017
Размер файла 934,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

Определения

Введение

1. Обзор предметной области

1.1 Анализ формальных понятий

1.2 Решетка и диаграмма Хассе

1.3 Пример работы анализа формальных понятий

1.4 Лексическая типология

1.4.1 Изучение реакции на внеязыковые стимулы

1.4.2 NSM

1.4.3 Фреймовый подход в лексической типологии

1.5 Аналоги

1.5.1 FCA demo

1.5.2 LatViz

1.5.3 Web Attribute Exploration

1.5.4 ConExp и ConExp-NG

1.5.5 Concept Neighborhoods

2. Анализ формальных понятий

2.1 Анализ формальных понятий

2.1.1 Определения

2.1.2 Импликации на признаках

2.1.3 Импликации на объектах

2.1.4 Исследование признаков и объектов

2.1.5 АФП и фреймовый подход

2.2 Визуализация

2.3 Совместная работа

3. Реализация приложения

3.1 Архитектура

3.2 Политика совместной работы

3.3 Слияние

3.4 Выбор программных средств

3.4.1 Выбор языка разработки

3.4.2 Выбор средств веб-разработки

3.4.3 Выбор средств анализа формальных понятий и визуализации

3.5 Работа приложения

Заключение

Источники

Определения

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

Контекст (модель) - множество объектов, множество признаков и бинарное отношение над этими множествами, показывающее, какие объекты обладают какими признаками. Проще всего представить в виде бинарной таблицы (рис. 1)

Рисунок 1. Пример представления контекста в виде бинарной таблицы

Объект - сущность, для которой можно определить, какими признаками из множества признаков она обладает, а какими нет, элемент множества объектов.

Признак (атрибут) - элемент множества признаков

Импликация на признаках- утверждение вида «если объект обладает каждым признаком подмножества признаков A, то он также обладает каждым признаком подмножества B» (рис. 2).

Рисунок 2. Пример двух верных импликаций для признаков многоугольников

Импликация на объектах- утверждение вида «если признак есть у каждого объекта подмножества объектов A, то он также есть у каждого объекта подмножества B» (рис. 3)

Рисунок 3. Пример двух верных импликаций объектов для многоугольников

Назовем импликацию истинной, если не существует объекта или признака, известного эксперту, который противоречит утверждению импликации

Эксперт - пользователь программы. Обладает данными об объектах и их признаках в некоей предметной области (в данном случае признаки - это фреймы в рассматриваемых языках, а слова - объекты)

Диаграмма Хассе - способ визуализации контекста. Контекст представляется в виде частично упорядоченного множества понятий, отсортированного по вложенности (рис. 4)

Проект -программная сущность для исследования одного семантического поля. К нему относится несколько версий и зафиксирована текущая, которую может менять его создатель

Версия(форк) - отдельный вариант исследования. Может создаваться из проекта.

Введение

Предметная область

Анализ формальных понятий [1] - это математическая теория, отдел алгебраической теории решеток. Эта теория предназначена для работы с объектами и их признаками. Понятием называется пара множеств объектов и признаков (иными словами, объем и содержание понятия). Основная идея анализа формальных понятий - это построение решётки (то есть частично упорядоченного множества, обладающего определенными свойствами) понятий по бинарному отношению. Одно из преимуществ решёток заключается в том, что они легко визуализируются с помощью диаграммы Хассе [2], что позволяет увидеть иерархические отношения объектов и признаков (то есть, например, определенный признак может быть «более общим» по отношению к другому).

Одним из важнейших методов анализа формальных понятий для данной работы является исследование признаков [3]. Данный метод предназначен для последовательного построения структуры предметной области (в нашем случае - семантического поля). Под структурой понимается формализация иерархических области знаний. Суть метода заключается в итеративном анализе зависимостей между изучаемыми объектами и признаками и устранении возникающих ложных зависимостей с помощью эксперта. Результат метода - импликативная теория, то есть множество верных импликаций вида «если объект имеет все признаки из множества A, то он также имеет все признаки из множества B», и репрезентативная выборка, то есть множество объектов, не противоречащее импликативной теории и имеющее опровержение для каждой ложной импликации.

Вышеописанные методы в данной работе применяются к фреймовому подходу в лексической типологии, науке, изучающей разнообразие и общие закономерности семантики (значений) лексических единиц [4]. Она в том числе решает задачи формирования универсального набора лексических значений и описания стратегий их совмещения в языках. Фреймовый подход к решению таких задач заключается в том, что вводится определение фрейма как базовой семантической единицы, то есть минимального значения слова. Каждое исследуемое слово может иметь или не иметь данного значения (в терминологии фреймового подхода - закрывать или не закрывать данный фрейм). Это позволяет построить таблицу слова-фреймы, в который пересечение слово-фрейм будет единицей, если слово закрывает фрейм, и нулем в обратном случае. К такой таблице можно применить методы анализа формальных понятий, описанные выше [6]. Это позволяет выявить структуру семантического поля - множества близких фреймов и соответствующих им слов.

Цель и задачи

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

Для достижения данной цели необходимо решить следующие задачи:

Изучить теорию анализа формальных понятий и фреймового подхода к лексической типологии

Выбрать технологии для веб-приложения

Изучить выбранные технологии

Изучить и при необходимости доработать библиотеку fca[20] для анализа формальных понятий

Разработать и реализовать модель работы нескольких пользователей над одним проектом

Разработать веб-приложение с функциональностью:

Регистрации и входа в аккаунт

Управления проектами и их данными

Итеративного добавления объектов и признаков в выборку с помощью методов исследования признаков и объектов

Добавления объектов и признаков в выборку вручную

Визуализации структуры полученных семантических полей в виде диаграммы Хассе

Значимость

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

Существует несколько инструментов[10-17], реализующих построение диаграммы Хассе по таблице объект-признак. Среди них есть как и онлайн-решения, так и десктопные приложения. Но большинство не дают возможность итеративного исследования признаков. Таким образом, данное веб-приложение не имеет прямых аналогов, так как обладает уникальной функциональностью.

фреймовый лексический приложение пользователь

1. Обзор предметной области

1.1 Анализ формальных понятий

Анализ формальных понятий (АФП, Formal Concept Analysis, FCA) - прикладная ветвь алгебраической теории решеток[1]. Анализ формальных понятий работает с данными объектно-признаковой природы[2]. Данный метод в том числе позволяет визуализировать объектно-признаковые зависимости , для чего используется диаграмма решетки формальных понятий[1].

Анализ формальных понятий опирается на две основные идеи. Первая - формализация понятия как пары (объем, содержание), то есть двух множеств - объектов и признаков (атрибутов). Вторая - любое бинарное отношение позволяет построить полную решетку. Решетки же могут быть визуализированы в виде диаграммы Хассе[6].

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

В качестве входа обычно предоставляется бинарное отношение объект-признак, которое может быть представлено в виде бинарной таблицы

1.2 Решетка и диаграмма Хассе

Решетка (иногда называемая структурой) - математическое понятие, обозначающее конечное частично упорядоченное множество, в котором каждое двухэлементное подмножество имеет точную нижнюю и точную верхнюю грани (и, как следствие, эти же грани имеет каждое непустое подмножество)[7].

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

1.3 Пример работы анализа формальных понятий

На рис. 1.1 представлен пример входных данных для алгоритмов анализа формальных понятий. В данном случае объектами являются страны, а признаками - их свойства, которыми каждая из них обладает или не обладает. Если объект (страна) обладает признаком (политическое свойство), то соответствующее пересечение таблицы стоит отмечено.

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

Данная диаграмма читается следующим образом. Ее узлы соответствуют формальным понятиям. Каждое понятие имеет объем и содержание. Объем - это объекты, принадлежащие понятию, а содержание - признаки. Объекты записываются снизу от понятия, а признаки - сверху. Данная диаграмма (как и реализованная далее в приложении) является сокращенной. К объему каждого понятия относятся объекты, изображенные непосредственно под ним, а также те, к которым можно добраться, двигаясь вниз по ребрам. К содержанию же относятся признаки, записанные непосредственно над понятием, а также те, к которым можно добраться, двигаясь по графу вверх. К примеру, на рис 1.2. красным цветом выделено понятие. Его объемом будет множество объектов {Italy, Spain}, а содержанием - множество признаков {Eu, Euro, Shengen, Nato}

Второй вид результата - это множество импликаций, представленных на рисунке 1.3

1.4 Лексическая типология

Типологией называется раздел лингвистики, посвященный изучению общих закономерностей в языках мира, которые при этом могут быть не связаны между собой. [4] Типология обычно изучает представительную выборку языков, и если в ней наблюдается некоторое явление, делается вывод о том, что такое явление является общелингвистической закономерностью.

В типологии обычно выделяются следующие направления:

Фонетическая и фонологическая типологии (уровень звуков)

Морфологическая типология (уровень частей слов)

Лексическая типология (уровень отдельных слов) - именно этой типологии и посвящена данная работа

Синтаксическая (грамматическая) типология - уровень предложения

Типология надсинтаксических структур (текста и дискурса)

Лексическая типология - относительно новое и активно развивающееся направление типологических исследований. Она изучает семантику лексических единиц в языках мира. Семантикой называется раздел лингвистики, который изучает смысловое значение лексических единиц, под которыми обычно понимаются слова или устойчивые конструкции. Таким образом, лексическая типология изучает, какими способами лексические значения могут быть выражены в языках мира. Для этого изучаются модели полисемии, устройство семантических полей, семантические переходы, подели полисемии и др. Одной из задач лексической (как и любой другой) типологии является создание единого теоретического подхода, единой методики и единого плана описания. Именно это позволит решить главную задачу типологии - получить сопоставимые результаты для разных языков мира и, как следствие, сделать вывод об истинности идеи об универсальности закономерностей организации в лексике в языках человечества в целом. Рассмотрим два наиболее популярных на сегодняшний день подхода к лексической типологии.

1.4.1 Изучение реакции на внеязыковые стимулы

Это направление построено на экспериментальных методах, начало которым было положено работами Брента Берлина и Пола Кея по изучению цветообозначений[6]. Данная методика заключается в сборе лексических (языковых) реакций на внеязыковые стимулы (например, образцы вкусов или запахов, табличек разных цветов или видеоклипов, на которых совершаются определенные действия). Ученые исследуют, как именно носители различных языков называют те или иные действия, вкусы, запахи и цвета. Очевидный недостаток такого метода заключается в том, что он применим только к достаточно конкретным понятиям; достаточно сложно в рамках такого подхода исследовать отличия между, например, оттенками значений «ложь»/«обман»/«вранье»

1.4.2 NSM

NSM [7](Natural Semantic Metalanguage, естественный семантический метаязык) - это реализация идеи о небольшом по объему (около 60 лексических единиц) метаязыке, с помощью которого можно истолковать любое «настоящее» слово в существующем языке. В качестве таких метаслов выбираются такие, для выражения которых есть слово в каждом существующем языке.

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

В данной работе используется третий подход, называемый фреймовым.

1.4.3 Фреймовый подход в лексической типологии

Фреймовый подход основан на выделении в рассматриваемой выборке языков атомарных значений - фреймов. В данной работе используется определение фрейма как структурной основы прототипических ситуаций. Иными словами, фрейм - это некая ситуация, прототип предложения, в котором слово может быть использовано. Например, в английском языке можно выделить отдельные фреймы для пассивного плавания в статичной воде (“float”), пассивного плавания по течению(“drift ”), активного плавания(“swim”) и хождения под парусом(“sail”). В русском языке во всех этих значениях может быть использовано слово «плавать». В терминологии фреймового подхода говорится, что слово «плавать» закрывает эти фреймы.

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

1.5 Аналоги

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

1.5.1 FCA demo

Одно из немногих работающих в данный момент веб-приложений, которое удалось найти - это демонстрационное приложение на сайте www.upriss.org.uk[11] (рис 1.4, 1.5). Но оно действительно является демонстрационным и даже не позволяет менять количество объектов и признаков. Также в нем отсутствует возможность исследования признаков и объектов.

1.5.2 LatViz

Существует веб-приложение[12] со сходным, но немного расширенным функционалом (рис 1.6). Например, добавлена возможность изменения количества объектов и атрибутов, а также импорта контекста из файла и экспорта в файл. Но этому приложению свойственны недостатки предыдущего: оно не поддерживает исследование объектов и признаков и не предназначено для совместной работы.

Рисунок 1.6. LatViz

1.5.3 Web Attribute Exploration

Разработанное в 2013 году Робертом Йешке и Себастьяном Рудольфом[13] приложение web-attribute-exploration[14] является прототипом реализации их идеи о приложении для коллаборативных исследований в области анализа формальных понятий. В описании указано, что оно позволяет строить импликативные теории и поддерживает совместную работу. К сожалению, не удалось найти работающую версию этого приложения, чтобы проверить это. Кроме того, данное приложение не поддерживает исследование объектов.

1.5.4 ConExp и ConExp-NG

Из десктопных приложений можно выделить ConExp[15] (рис. 1.8). Оно обладает богатой функциональностью, в том числе предоставляет возможность построения импликативных теорий. Но оно, будучи десктопным, не позволяет совместно работать над одним проектом.

Также существует обновленная версия ConExp-NG[16] с более современным интерфейсом (рис. 1.9).

1.5.5 Concept Neighborhoods

Это приложение[17] (рис 1.10) строит решетки понятий не на основе данных, введенных пользователем, а пользуясь базами текстов Roget's Thesaurus и WordNet. Это приложение сближает с описанным в данной работе тот факт, что они оба используют сочетание анализа формальных понятий и фреймового подхода в лексической типологии. На основе словарей синонимов строится решетка понятий, соответствующая словам и фреймам, то есть значениям. Подробно взаимодействие анализа формальных понятий и фреймового подхода будет разобрано в следующей главе.

Данное приложение принимает на вход только одно слово и строит решетку из близких ему. Данные берутся из словарей и не могут быть модифицированы пользователем. Это можно рассматривать и как достоинство, и как недостаток. Приложение не подходит для серьезных исследований, но может служить хорошей иллюстрацией АФП и фреймового подхода.

Рисунок 1.10. Программа Concept Neighbourhoods

2. Анализ формальных понятий

2.1 Анализ формальных понятий

2.1.1 Определения

(Формальный) контекст - тройка K = (G, M, I), где G - множество объектов, M - множество признаков, а отношение I ? G Ч M задает, какие объекты обладают какими признаками [10][11]

Для подмножества объектов A ? G и подмножества признаков B ? M определены следующие операторы Галуа:

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

Оператор ' может быть применен двукратно. Такое двукратное применение этого оператора ('') является оператором замыкания, то есть обладает следующими свойствами:

Экстенсивность:

Идемпотентность:

Монотонность:

Замкнутые множества объектов/ признаков - это множества, обладающие свойством (и )

Формальное понятие - пара множеств (A,B), где:

При этом A и B всегда - замкнутые множества.

Множество объектов A называется (формальным) объемом понятия, а множество признаков B - его (формальным) содержанием.

называется менее общим понятием, чем , если (или, эквивалентно, ). Формально это можно записать следующим образом:

Таким образом на множестве понятий можно определить отношение частичного порядка.

Полная решетка - это частично упорядоченное множество, в котором каждое непустое подмножество A имеет точную верхнюю и нижнюю грань. Эти грани часто называются пересечением и объединением элементов подмножества A и обозначаются следующим образом:

Пересечение:

Объединение:

Полная решетка является решеткой относительно операций пересечения и объединения.

Решетка формальных понятий - множество всех понятий контекста (G, M, I), упорядоченное бинарным отношением, определенным выше. Она может быть визуализирована диаграммой Хассе.

Решетка формальных понятий является полной решеткой.

2.1.2 Импликации на признаках

Импликацией атрибутов для контекста K и его множества признаков M называется пара множеств (A, B), таких что . Если , то есть каждый объект, который обладает всеми признаками из A, обладает также всеми признаками из B, то импликация выполняется в контексте K:

A называется посылкой импликации, B - заключением.

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

2.1.3 Импликации на объектах

Помимо интуитивно понятных импликаций на признаках (если страна использует евро, то она состоит в Европейском союзе, Шенгенском договоре и НАТО), существуют импликации на объектах. Определяются такие импликации аналогично импликациям на признаках, но для подмножеств объектов. Иными словами, от контекста мы переходим к контексту . Значение таких импликаций на первый взгляд менее очевидно. Действительно, что может означать «Если (Польша, Италия), то (Испания)»? Говоря формально, это означает, что каждый признак, который есть одновременно у Польши и Италии, будет присутствовать у Испании. Но это можно истолковать по-другому. Если попытаться провести какую-то классификацию стран по данным признакам, то в любой группе, где есть Польша и Италия, будет присутствовать Испания.

2.1.4 Исследование признаков и объектов

Исследование признаков является методом определения множества всех истинных импликаций контекста K при заданном множестве признаков M. Работа метода заключается в последовательной генерации импликаций, выполняющихся в контексте K, и при этом не следующая из импликаций, уже помеченных как истинные. Каждая из сгенерированных импликаций может быть либо помечена экспертом как верная, либо опровергается с обязательным приведением контрпримера, то есть объекта, множество признаков которого противоречит данной импликации.

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

Исследование объектов проводится аналогично исследованию признаков. При этом принимаются или отвергаются импликации на объектах. При отрицании импликации приводится контрпример - признак, опровергающий эту импликацию.

2.1.5 АФП и фреймовый подход

Основная идея данной работы заключается в применении методов анализа формальных понятий (в частности, исследования признаков и объектов) к фреймовому подходу к лексической типологии, описанному в главе 1. Анализ формальных понятий применим во многих областях. Для такого применения нужно соотнести некоторые сущности в исследуемой области с объектами и признаками АФП. В данном случае объектами назначаются слова, а признаками - фреймы. Таким образом, «объект a обладает признаком b» будет означать «слово a может употребляться в ситуации b».

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

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

Импликация слов, то есть объектов, выглядит как «если (долговязый), то (высокий)». Это означает, что если в каком-то контексте можно использовать слово «долговязый», то в этом же контексте можно использовать и слово «высокий». Это тоже верная импликация для русского языка.

2.2 Визуализация

Диаграмма Хассе - способ визуализации частично упорядоченного множества. Каждый элемент представляется вершиной. Элемент a является соседом снизу для элемента b, если

Рисунок 2.1. Диаграмма Хассе для множества натуральных чисел от 1 до 10 и их признаков (полная)

На рис. 2.1. представлена диаграмма Хассе, на которой для каждого понятия его объем и содержание выписаны полностью. Объекты здесь - числа от 1 до 10, а признаки {c, e, o, p, s} соответствуют признакам {составное, четное, нечетное, простое, полный квадрат}. На этой решетке несложно заметить, что содержание (набор признаков) каждого понятия (узла графа) является подмножеством содержаний понятий-соседей сверху, а объем (набор объектов) - надмножеством объемов понятий-соседей снизу.

В данной работе будет использоваться сокращенная форма записи решетки (рис 2.2). Каждый признак и объект будет упомянут лишь раз. При чтении такой диаграммы надо помнить, что к объему каждого понятия относятся объекты, изображенные непосредственно под ним, а также те, к которым можно добраться, двигаясь вниз по ребрам. К содержанию же относятся признаки, записанные непосредственно над понятием, а также те, к которым можно добраться, двигаясь по графу вверх.

2.3 Совместная работа

Приложение должно подходить для совместной работы нескольких экспертов над одним семантическим полем. Необходимо реализовать приложение, которое позволит экспертам одновременно работать над одним проектом.

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

3. Реализация приложения

3.1 Архитектура

Приложение (в терминологии Django - проект) состоит из двух «приложений», то есть модулей: semexp и projects. Projects отвечает за управление проектами, а semexp - за исследование внутри проектов.

В приложении используется традиционная для приложений Django архитектура MVC. Модель описана в файлах models.py, находящихся в корневой папке каждого приложения. Преставления (html-шаблоны) находятся в папке templates. Контроллерами являются классы views.py, которые тоже находятся в корневых папках приложений.

Url-адресацией управляет файл semexp/urls.py. Когда пользователь переходит по какому-то адресу, в данном файле находится первое регулярное выражение, соответствующая строке адреса, и вызывается метод из views.py. Внутри этих методов создаются данные и вызывается шаблон, в который эти данные передаются. Это обеспечивает загрузку страницы.

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

Ключевые классы для взаимодействия с fca:

DBContext - наследуется от fca.context, предоставляет методы для хранения и работы с контекстами

WebExploration - наследуется от fca.exploration.AttributeExploration, предоставляет методы для исследования объектов и признаков

ExplorationWrapper - методы-обертки для методов исследования, вызываемые из контроллера

Другие важные файлы:

Misc_fca_classes.py - небольшие дополнительные классы для взаимодействия с библиотекой

Dbwrappers.py - вспомогательные методы для взаимодействия с базой данных

Сущности

На рисунке 3.1. представлена модель приложений projects, отвечающего за взаимодействие проектов и пользователей, и exploration, отвечающего за непосредственно исследование признаков.

Все сущности, относящиеся к одной версии исследования, связаны не с проектом, а с Fork - сущностью, соответствующей одной версии исследования. Каждому проект имеет некоторое количество различных версий, одна из которых выделена как основная.

Основные сущности и их поля:

Fork - сущность, хранящая данные об одном исследовании

Parent - проект, к которому относится версия

Contributor - пользователь, работающий над версией

Created_date - дата создания версии

Modified_date - дата изменения версии

Project - сущность для управления проектом

Name - имя проекта

Creator - создатель проекта

Current_fork - текущая версия

Created_date - дата создания проекта

Modified_date - дата изменения проекта

FcaAttribute - признак анализа формальных понятий

Name - название признака (фрейма)

Fork - версия, к которой он относится

FcaObject - объект анализа формальных понятий

Name - название объекта (слово)

Fork - версия, к которой он относится

Attributes - список признаков объекта

AttributeImplication - импликация на признаках (фреймах)

Premise - посылка импликации (список признаков)

Conclusion - заключение импликации (список признаков)

Fork - версия, к которой относится импликация

ObjectImplication - импликация на объектах (словах)

Premise - посылка импликации (список объектов)

Conclusion - заключение импликации (список объектов)

Fork - версия, к которой относится импликация

3.2 Политика совместной работы

Любой зарегистрированный пользователь может начать новую версию проекта или стать создателем нового проекта. Создателю проекта доступны для просмотра все версии данного проекта. Он может выбрать любую версию как основную или совершить слияние (merge) любой версии данного проекта с основной.

3.3 Слияние

Слиянием называется процесс объединения двух версий (назовем их «старая» и «новая»). Политика слияния строится на приоритете «старой» версии, то есть той, которая является основной в проекте в данный момент. При слиянии допускается появлении в новой версии новых:

Объектов (слов)

Атрибутов (фреймов)

Импликаций слов

Импликаций атрибутов

При таком добавлении новые сущности и соответствующие связи между ними будут добавлены в старую версию. При удалении этих сущностей в новой версии при слиянии они не будут удалены из старой.

Во избежание избыточности множества импликаций была реализована замена импликаций на «более конкретные».

Назовем импликацию более сильной, чем , если и . Для каждой импликации из новой версии при слиянии проверяется, не существует ли в старой версии импликации, которая является менее конкретной по отношению к данной. Если такая импликация находится, то при добавлении новой менее конкретная импликация удаляется. Это верно как для импликаций признаков, так и для импликаций объектов.

3.4 Выбор программных средств

3.4.1 Выбор языка разработки

Выбор языка проекта был очевиден, так как научный руководитель данной работы предоставил библиотеку fca [20], написанную на языке python (версии 2.7). Помимо этого, python удобен в использовании и подходит и для работы с алгоритмами, и для разработки веб-приложения.

3.4.2 Выбор средств веб-разработки

Для разработки веб-приложений на языке python существует два основных фреймворка - Django и flask. Выбор был сделан в пользу Django из-за его большей популярности и, как следствие, лучшей документированности и большего количества информации о нем.

Помимо этого, был использован фреймворк Bootstrap для оформления приложения.

3.4.3 Выбор средств анализа формальных понятий и визуализации

Методы анализа формальных понятий содержатся в библиотеке fca, написанной студентами ПМИ и предоставленной научным руководителем. Для визуализации используется библиотека graphviz, так как она свободно распространяется и работает с DOT-файлами (стандартным языком описания графов).

3.5 Работа приложения

Для примера исследуем семантическое поле, соответствующее квазисинонимам слова «длинный».

Добавим три слова: «длинный», «долгий» и «высокий». Перейдем на вкладку «Word exploration». Вначале будет предложена единственная импликация IF (), ELSE(«длинный», «высокий», «долгий»):

Это эквивалентно вопросу: правда ли, что все эти слова могут употребляться в любой ситуации в рассматриваемом поле? Это не так. Например, путь может быть длинным или долгим, но не может быть высоким относится только ко времени. Отвергаем эту импликацию, приведя контрпример:

Теперь список открытых импликаций на словах выглядит так:

Это тоже неверная импликация. Например, вертикальный объект может быть длинным или высоким, но не долгим. Импликацию IF () THEN (длинный) тоже отвергнем: человек может быть высоким, но не длинным или долгим.

Это верная импликация: если мы в какой-то ситуации можем употребить слово «долгий», то его всегда можно заменить словом «длинный». Поэтому мы принимаем данную импликацию:

Больше открытых импликаций на словах не генерируется. Это означает, что базис всех следующих из контекста импликаций на словах подтвержден. Но можно продолжить исследование фреймов. Переходим на вкладку «Frame exploration».

Эта открытая импликация равнозначна вопросу: правда ли, что если какое-то слово может означать высокого человека, то оно обязательно будет означать и высокий вертикальный объект?

Нет, как контрпример приведем слово «долговязый». Останется последняя импликация:

Это означает вопрос: если слово обозначает длинный путь и высокого человека, означает ли оно высокий вертикальный объект? Это является верной импликацией: нет ни одного слова в русском языке, которое бы это опровергало. Подтвердим эту импликацию. Теперь появилась возможность дальнейшего исследования слов:

Существует достаточно много синонимов слов «длинный» и «высокий», и выявление их потребует много шагов. Поэтому остановимся на данном этапе исследования. Решетка понятий исследуемого семантического поля выглядит так:

Это сокращенный вариант диаграммы. Например, понятие, выделенное на рисунке, имеет объем («высокий») и содержание («по вертикали», «человек»).

Заключение

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

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

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

Таким образом, в процессе выполнения ВКР были решены следующие задачи:

Были изучены основы и задачи лексической типологии и идеи фреймового подхода

Были изучены такие методы АФП, как исследование признаков и объектов

В качестве фреймворка был выбран и изучен Django 1.11

В библиотеку fca была добавлена необходимая функциональность для исследования объектов

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

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

В качестве направлений дальнейшей работы можно выделить следующее:

Поддержка частичных контекстов

Создание интерактивной диаграммы контекста

Дальнейшее усовершенствование модели совместной работы

Источники

1. Ganter, B. Formal concept analysis: Mathematical foundations / B. Ganter, R. Wille. - Berlin : Springer, 1997.

2. Частично упорядоченные множества. I [Электронный ресурс]// machinelearning.ru: Профессиональный информационно-аналитический ресурс, посвященный машинному обучению, распознаванию образов и интеллектуальному анализу данных.URL: http://www.machinelearning.ru/wiki/images/6/60/AA-Bac7s-2015-3(Posets-1).pdf (дата обращения: 15.02.2017).

3. Ganter, B. Conceptual Exploration / B. Ganter, S. Obiedkov. - Berlin : Springer, 2016. - 236 c.

4. Рахилина Е. В., Резникова Т. И. Фреймовый подход к лексической типологии // Вопросы языкознания. 2013. № 2. С. 3-31.

5. Obiedkov, S. Formal Concept Lattices as Semantic Maps / S. Obiedkov, D. Ryzhova.

6. Berlin, B. Basic Color Terms: Their Universality and Evolution/ B. Berlin, P. Kay - University of California Press, 1969

7. Goddard, C. The Natural Semantic Metalanguage Approach/ C. Goddard - The Oxford Handbook of Linguistic Analysis, 2010. - 459c.

8. Birkhoff, G. Lattice Theory / G. Birkhoff - American Mathematical Society, 1948.

9. Gratzer, G. Lattice Theory: First concepts and distributive lattices / G. Gratzer - W. H. Freeman, 1971.

10. Tools for Formal Concept Analysis [Электронный ресурс]// https://github.com URL: https://github.com/fcatools/ (дата обращения: 13.03.2017)

11. A Formal Concept Analysis Demo [Электронный ресурс]// http://www.upriss.org.uk URL: http://www.upriss.org.uk/fca/fcademo.html (дата обращения: 13.03.2017)

12. Lattice Visualization [Электронный ресурс]// http://latviz.loria.fr/ URL: http://latviz.loria.fr/

13. Attribute Exploration on the Web [Электронный ресурс]///www.math.tu-dresden.de / URL: http://www.math.tu-dresden.de/icfca13/wp-content/uploads/2013/07/talkJaeschke.pdf (дата обращения: 25.05.2017)

14. web-attribute-exploration [Электронный ресурс]// github.com/ URL: https://github.com/rjoberon/web-attribute-exploration (дата обращения: 25.05.2017)

15. The Concept Explorer [Электронный ресурс]// http://conexp.sourceforge.net/ URL: https http://conexp.sourceforge.net/ (дата обращения: 13.03.2017)

16. ConExp-NG [Электронный ресурс]//github.com URL: https://github.com/fcatools/conexp-ng (дата обращения: 25.05.2017)

17. Concept Neighbourhoods in Roget's Thesaurus [Электронный ресурс]// www.ketlab.org.uk /http://www.ketlab.org.uk/roget.html (дата обращения: 25.05.2017)

18. Анализ формальных понятий [Электронный ресурс]// http://www.machinelearning.ru URL: www.machinelearning.ru/wiki/index.php?title=Анализ_формальных_понятий (дата обращения: 20.04.2017)

19. Анализ формальных понятий [Электронный ресурс]// ru.wikipedia.org: свободная энциклопедия. URL: http://ru.wikipedia.org/wiki/Анализ_формальных_понятий) (дата обращения: 20.04.2017)

20. fca[Электронный ресурс]// github.com/ URL: https://github.com/ae-hse/fca (дата обращения: 07.01.2017)

Размещено на Allbest.ru


Подобные документы

  • Создание многоуровневого приложения с Web-интерфейсом выставления оценки фильму и просмотра оценок других пользователей. Клиентская часть приложения. Разработка многопользовательского веб-приложения на ASP.NET MVC 3 с разграничением доступа к данным.

    курсовая работа [949,7 K], добавлен 22.02.2015

  • Описание существующих технологий, поддерживающих концепцию распределенных объектных систем. Особенности технологии DCOM. Разработка параметров приложения. Выбор инструмента разработки и его обоснование. Схема взаимодействия для локального приложения.

    курсовая работа [769,8 K], добавлен 05.01.2013

  • Разработка приложения, позволяющего в игровой форме тренировать и улучшать навыки устного счета. Разработка системы управления учетными записями, для возможности использования одного приложения множеством пользователей. Разработка объектной модели.

    курсовая работа [2,4 M], добавлен 11.10.2008

  • Описание технологии asp.net. Страницы веб-приложения, тестирование системы. Описание функциональной, динамической модели системы. Диаграммы вариантов использования, последовательности, база данных приложения. Реализация программы, интерфейс, тестирование.

    курсовая работа [3,2 M], добавлен 30.01.2013

  • Изучение существующих подходов к использованию компьютерных игр в образовательном процессе. Разработка и реализация проекта игрового обучающего приложения на мобильной платформе. Выбор платформы и средств реализации игрового обучающего приложения.

    дипломная работа [3,4 M], добавлен 12.08.2017

  • Область применения и требования создаваемого Web-приложения. Требования к техническому и программному обеспечению. Разработка структуры Web-приложения и выбор средств программной реализации. Программная реализация Web-приложения. Структура базы данных.

    дипломная работа [1,4 M], добавлен 03.06.2014

  • Разработка и реализация демонстрационного многопоточного приложения. Выбор основных средств реализации. Описание логики работы приложения и разработка программного обеспечения. Описание пользовательского интерфейса. Реализация потоков в Delphi.

    курсовая работа [462,5 K], добавлен 10.08.2014

  • Характеристика объекта автоматизации. Создание многоуровневой архитектуры приложения, отладка метода безошибочной идентификации пользователей системы. Разработка нестандартного метода преобразования объектов базы данных в объекты классов приложения.

    курсовая работа [395,4 K], добавлен 28.04.2015

  • Проектирование удобного приложения для комфортной навигации по файлам облачного хранилища в одном файловом менеджере. Выбор интегрированной среды разработки. Выбор инструментов для визуализации приложения. Выбор средств отслеживания HTTPзапросов.

    курсовая работа [3,6 M], добавлен 16.07.2016

  • Описание приложения в виде пользовательского сценария. Проектирование обмена сообщениями между модулями. Разработка общей структуры приложения. Обзор структуры файлов. Разработка получения данных со страницы. Характеристика результата работы программы.

    дипломная работа [1,5 M], добавлен 22.03.2018

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.