Презентация к дипломной работе Разработка многопрофильной системы информационного поиска.

Презентация:



Advertisements
Похожие презентации
САОД кафедра ОСУ 1 Основные абстрактные типы данных Схема процесса создания программ для решения прикладных задач ВУ.
Advertisements

Методы классов. Методы класса [атрибуты][модификаторы] {void|тип_результата_функции} имя_метода ([список_формальных_аргументов]) { тело метода} Список.
Рекурсивная обработка списков1 Структуры и алгоритмы обработки данных, 1 Лекция 3 Рекурсивная обработка списков 1.Представление и реализация.
Ассоциативные списки Поиск данных происходит не по индексу или положению объекта, а по его ассоциативной связи: public interface Map { // Доступ к объектам.
Федеральное государственное бюджетное образование учреждение высшего профессионального образования «Саратовский государственный технический университет.
Обработка символов строки. Дано слово. Переставить первые три и последние три буквы, сохранив порядок их следования.
Абстрактный тип данных список. Операции над абстрактным списком Создать пустой список Уничтожить список Определить, пуст ли список Определить количество.
Занятие 4 def simple_iterator yield 2 # передача управления в блок итератора yield 7 yield 1 end simple_iterator {|i| puts i } 15. Итераторы изнутри.
Контейнеры Сортировка Метод sort() Интерфейс Comparable метод int compareTo(Object o) вызов: Arrays.sort(a) Интерфейс Comparator метод int compare(Object.
Реализация списков:динамические структуры ListList clasclas структура одного элемента type LIST = celltype; celltype = record element: eltype; next: LIST.
Алгоритмические структуры 1.Линейный 2.Ветвление 3.Цикл.
Множества. Множество- ограниченный, неупорядоченный набор различных элементов одного типа. Примеры множеств: Множество арабских цифр. Множество знаков.
Презентация по программированию Автор: учитель информатики МОУ Плесской СОШ Юдин А.Б год.
1 Программирование на языке Паскаль Тема 2. Ветвления.
Перегрузка операторов x = a + b результат 1-й операнд2-й операнд оператор По количеству операндов операторы делятся на: унарные (один операнд) бинарные.
1 Программирование на языке Паскаль Часть II Символьные строки.
1 Лекция 13 ОСНОВНЫЕ ПОНЯТИЯ ЯЗЫКА Visual Basic For Applications (VBA) План лекции Типы данных VBA Операции над данными VBA Описание типов данных VBA Имена.
ЕГЭ информатика Алгоритмизация и программирование Консультация 4.
Д.з. на 7 апреля Язык С++1. Задача 1: * и *= для rational class rational { int num, den; public: rational(int num_=0, int den_=1) : num(num_), den(den_)
Автор разработки: Камалова Нафиса Ахатовна, учитель информатики МАОУ «СОШ 5» МО «ЛМР» РТ 2012 – 2013 учебный год Автор разработки: Камалова Нафиса Ахатовна,
Транксрипт:

Презентация к дипломной работе Разработка многопрофильной системы информационного поиска

Основные компании Amazon Google Яндекс Amazon Twitter Microsoft

Характеристики сложноструктурированных данных 1.Внутренняя интерпретация. 2.Наличие внутренней структуры связей. 3.Шкалирование. 4.Погружение в пространство с семантической метрикой. 5.Наличие активности.

Используемые алгоритмы PageRank DBScan Rock Наивный байесовский классификатор Семантические сети

Области применения системы информационного поиска Поиск информации. Формирование рекомендаций. Установление авторства. Проверка на плагиат. Автоматическая генерация текстов для SEO (поисковой оптимизации). Лингвистический анализ литературных текстов. Корректировка текстов и исправление опечаток.

Алгоритм PageRank 1.Каждой странице присваиваем вес равной единице. 2.Подсчитываем количество исходящих связей для каждой страницы. 3. Вычисляем ранг каждой страницы с помощью формулы. Где A – страница, ранг которой необходимо найти, C(T1) – количество исходящих ссылок, d – коэффициент затухания.

Место для блок-схемы

Алгоритм ROCK Procedurecluster (S, k) Begin 1. link := compute-links (S)//Вычисляем связи в множестве точек S 2. for each s from S do 3. q[s] := build-local-heap (link,S)//Из каждой точки множества S на основе связей формируем кластер 4. Q:=build-global-heap (S,q) //Содержит список всех кластеров множества S 5. whilesize (Q) >kdo {//Формируем кластеры, точки, которых имеют максимальное число связей до тех пор, пока не получим желаемое число кластеров 6. u := extract-max (Q) 7. v := max (q[u]) 8. delete (Q,v) 9. w:= merge (u,v) 10. for each x from (q[u] or q[v]) do { 11. link [x,w] := link [x,u] + link [x,v] 12. delete (q[x],u); delete (q[x],v) 13. insert (q[x],w,g(x,w)); insert (q[w],x,g(x,w)); 14. update (Q,x,q[x]) 15. } 16. insert (Q,w,q[w])//Добавляем кластер в список всех кластеров 17. deallocate (q[u]); deallocate (q[v]); 18. } end.

Алгоритм DBSCAN public List cluster() { int clusterId = getNextClusterId(); for(DataPointp : points) { if(isUnclassified(p) ) {//Проверяем классифицировали ли мы данную точку. boolean isClusterCreated = createCluster(p, clusterId); //Создаемкластердлякаждойточки if( isClusterCreated ) { clusterId = getNextClusterId(); } List allClusters = new ArrayList (); for(Map.Entry > e : clusters.entrySet()) { String label = String.valueOf(e.getKey());//Создаем кластер и имя длянего Set points = e.getValue(); if( points != null && !points.isEmpty() ) { Cluster cluster = new Cluster(label, e.getValue()); allClusters.add(cluster); } returnallClusters;//Возвращаем список всех кластеров, которые были созданы }

Алгоритм DBSCAN private boolean createCluster(DataPoint p, Integer clusterId){ Set nPoints = findNeighbors(p, eps); if( nPoints.size() < minPoints ) { assignPointToCluster(p, CLUSTER_ID_NOISE);//Есликоличествоточекокружностименьше, чемminPoints, присваиваемточкезначение «Шум» isClusterCreated = false; } else { assignPointToCluster(nPoints, clusterId); //Иначедобавляемточкувкластер nPoints.remove(p);//Удаляем точку из рассмотрения while(nPoints.size() > 0 ) { //Просматриваем все точки, если нашли точку, которую уже рассматривали то ставим ей статус пограничной, добавляем в кластер и удаляем из рассмотрения DataPoint nPoint = nPoints.iterator().next(); Set nnPoints = findNeighbors(nPoint, eps); if( nnPoints.size() >= minPoints ) { for(DataPoint nnPoint : nnPoints ) { if( isNoise(nnPoint) ) { assignPointToCluster(nnPoint, clusterId); //Добавляемточкуккластеру } else if( isUnclassified(nnPoint) ){ nPoints.add(nnPoint); assignPointToCluster(nnPoint, clusterId);} } } nPoints.remove(nPoint); //Удаляемточкуизрассмотрения } isClusterCreated = true; } return isClusterCreated; }

Наивный байесовский классификатор Место для блок-схемы.