1 Анализ предметной области и постановка задачи
Особенности электронных библиотек и текстовой информации
Развитие компьютерной техники и доступность Интернета привели к широкому распространению электронных книг и библиотек. Под электронной книгой подразумевается электронная версия бумажного издания. Также электронной книгой принято называть и электронное устройство для чтения текстовой информации. Электронная библиотека – систематизированная подборка различных электронных документов, в основном книг, имеющая алгоритм поиска и определенную тематику.
Чаще всего, электронные библиотеки имеют специальное направление. При желании, легко найти хранилища с подбором книг, охватывающим все литературные жанры и научные разделы. Электронная библиотека представляет собой тематический каталог, облегчающий поиск необходимой информации и данных, учебников и книг. Многие из электронных библиотек включают в себя лишь несколько сотен оцифрованных книг. Но более востребованными являются крупные библиотеки, состоящие из десятков тысяч электронных книг [2].
Помимо сайтов в глобальной сети, где можно найти или купить любую книгу, каждая обычная библиотека создает электронные архивы своих фондов. Многие научные институты идут тем же путем. Электронные библиотеки возникли относительно недавно, и уже несут массу различных функций. Они удовлетворяют потребности в информации у различных групп населения. Электронные библиотеки служат точками просвещения, где каждому доступны труды, книги по истории и культуре. Научным сотрудникам, электронные версии книг помогают детально и глубоко изучить важные вопросы для их исследований. Одна из самых востребованных функций электронных библиотек – это образовательная. Желающий может получить доступ к книгам с целью самообразования.
Широкое распространение и большие темпы роста электронных библиотек привело к обострению проблемы быстрой и качественной классификации текстовой информации.
При большом темпе роста и огромной скорости распространения информации зачастую теряется изначальное название, имя автора, издательство, и восстановить потерянную информацию, весьма затратно по времени. Поэтому, в мировой практике существует тенденция к автоматизации и оптимизации проблемных моментов взаимодействия пользователя с информацией.
1.2 Понятие классификации
Классификация – один из разделов машинного обучения, посвященный решению задачи связанной с множеством объектов (ситуаций), разделённых некоторым образом на классы. Задано конечное множество объектов, для которых известно, к каким классам они относятся. Это множество называется обучающей выборкой. Классовая принадлежность остальных объектов не известна. Требуется построить алгоритм, способный классифицировать произвольный объект из исходного множества [3].
Таким образом под классификацией понимается система группировки множества объектов, составленная на основе учета общих признаков этих объектов и закономерных связей между ними.
Целью классификации является образование групп схожих между собой объектов, которые принято называть классами или кластерами. Слово кластер английского происхождения (cluster), переводится как сгусток, пучок, группа. Родственные понятия, используемые в литературе, – таксон, сгущение, сегмент.
При геометрическом подходе в основе применения методов классификации лежит так называемая гипотеза компактности. Согласно ей, близким в содержательном смысле объектам в геометрическом пространстве признаков соответствуют обособленные множества точек, обладающие свойствами хорошей отделимости. А именно:
базы данных временных рядов очень большие, и длинный многомерный временной ряд не может быть хорошо обработан человеком вручную;
множества разных образов соприкасаются в сравнительно небольшом числе точек, либо вообще не соприкасаются и разделены точками, не принадлежащими ни одному из классов;
границы классов имеют сравнительно плавную форму – не изрезаны, и у классов отсутствуют глубокие выступы в пределы других классов.
В результате различные классы при выполнении гипотезы компактности могут быть разделены достаточно простыми гиперповерхностями. Иллюстрация выполнения и невыполнения гипотезы компактности приведена на рисунке 1.1.
Рисунок 1.1 – Иллюстрация выполнения и невыполнения гипотезы компактности
Гипотеза компактности дает на практике хорошие результаты классификации, если есть достаточное соответствие между содержанием выделенных признаков и построенным геометрическим пространством.
Обобщением гипотезы компактности является гипотеза простой геометрической структуры. Она заключается в следующем: сходным в содержательном смысле объектам классификации соответствует простая структура в геометрическом пространстве признаков: расположенность вдоль прямой, на окружности, в сфере, по спирали, на решетке и т.п. Во многих случаях, когда условия решаемой задачи задают определенную структуру объектов, применение данной гипотезы и соответствующих алгоритмов классификации приводят к хорошим практическим результатам и хорошо согласуются с представлениями человека о получаемых классах образов [4].
На основе гипотезы компактности разработано множество алгоритмов классификации. В рамках многомерных статистических методов для этой цели развиваются методы кластерного анализа.
1.3 Понятие кластеризации
Кластеризация (или кластерный анализ) – это задача разбиения множества объектов на группы, называемые кластерами. Внутри каждой группы должны оказаться «похожие» объекты, а объекты разных группы должны быть как можно более отличны. Главное отличие кластеризации от классификации состоит в том, что перечень групп четко не задан и определяется в процессе работы алгоритма [5] [6].
Задача кластеризации сходна с задачей классификации, является ее логическим продолжением, но ее отличие в том, что классы изучаемого набора данных заранее не предопределены.
Синонимами термина «кластеризация» являются «автоматическая классификация», «обучение без учителя» и «таксономия».
Кластеризация предназначена для разбиения совокупности объектов на однородные группы (кластеры или классы). Если данные выборки представить как точки в признаковом пространстве, то задача кластеризации сводится к определению «сгущений точек».
Цель кластеризации поиск существующих структур характеристика которых изображена в таблице 1.1. Кластеризация является описательной процедурой, она не делает никаких статистических выводов, но дает возможность провести разведочный анализ и изучить «структуру данных». Само понятие «кластер» определено неоднозначно: в каждом исследовании свои «кластеры».
Таблица 1.1 – Сравнение классификации и кластеризации
Характеристика |
Классификация |
Кластеризация |
Контролируемость обучения |
Контролируемое обучение |
Неконтролируемое обучение |
Стратегия |
Обучение с учителем |
Обучение без учителя |
Наличие метки класса |
Обучающее множество сопровождается меткой, указывающей класс, к которому относится наблюдение |
Метки класса обучающего множества неизвестны |
Основание для классификации |
Новые данные классифицируются на основании обучающего множества |
Дано множество данных с целью установления существования классов или кластеров данных |
Кластер можно охарактеризовать как группу объектов, имеющих общие свойства. Характеристиками кластера можно назвать два признака:
внутренняя однородность; внешняя изолированность.
Вопрос, задаваемый аналитиками при решении многих задач, состоит в том, как организовать данные в наглядные структуры, т.е. развернуть таксономии.
Наибольшее применение кластеризация первоначально получила в таких науках как биология, антропология, психология. Для решения экономических задач кластеризация длительное время мало использовалась из-за специфики экономических данных и явлений.
Кластеры могут быть непересекающимися, или эксклюзивными (non-overlapping, exclusive), и пересекающимися (overlapping) [22]. Схематическое изображение непересекающихся и пересекающихся кластеров дано на рисунке. 1.2.
Рисунок 1.2 – Непересекающиеся и пересекающиеся кластеры
Следует отметить, что в результате применения различных методов кластерного анализа могут быть получены кластеры различной формы. Например, возможны кластеры «цепочного» типа, когда кластеры представлены длинными «цепочками», кластеры удлиненной формы и т.д., а некоторые методы могут создавать кластеры произвольной формы.
На рисунке 1.3 схематически представлены задачи классификации и кластеризации.
Рисунок. 1.3 – Сравнение задач классификации и кластеризации
Различные методы могут стремиться создавать кластеры определенных размеров (например, малых или крупных), либо предполагать в наборе данных наличие кластеров различного размера.
Некоторые методы кластерного анализа особенно чувствительны к шумам или выбросам, другие менее.
В результате применения различных методов кластеризации могут быть получены неодинаковые результаты, это нормально и является особенностью работы того или иного алгоритма.
Данные особенности следует учитывать при выборе метода кластеризации.
1.4 Понятие индексации
Индексация – это механизм для доступа к компоненте массива данных посредством ссылки на массив и посредством одного или более выражений, значения которых определяют позицию компоненты массива.
Индекс – элемент перечислимого множества, который указывает на конкретный элемент массива. Обычно является неотрицательным целым числом. В некоторых языках отрицательные индексы используются для отсчёта элементов в обратную сторону (начиная с конца массива).
Обоснованным выбором для задач индексации используется Индексная адресация. Для реализуемых на ЭВМ методов решения математических задач и обработки данных характерна цикличность вычислительных процессов, когда одни и те же процедуры выполняются над различными операндами, упорядоченно расположенными в памяти. Поскольку операнды, обрабатываемые при повторениях цикла, имеют разные адреса, без использования индексации требовалось бы для каждого повторения составлять свою последовательность команд, отличающихся адресными частями.
Есть три способа, как элементы массива могут быть проиндексированы целыми неотрицательными числами:
- индекс с началом с нуля;
- индекс с началом с единицы;
- индекс началом с n.
Базисный индекс массива может быть свободно выбран. Обычно языки программирования, позволяющие индекс началом с n, разрешают также в качестве индекса массива выбирать отрицательные значения, а также и другие скалярные типы данных, как перечисления или символы.
Массив может иметь несколько измерений, при этом обычной практикой является обращение к массиву с помощью нескольких индексов. Например, к двумерному массиву с тремя строками и четырьмя столбцами можно было бы обратиться к элементу в 2-м ряду и 4-й столбце с помощью выражения: (в языке, в котором приоритет у строки) или (в языке, в котором приоритет у столбца) в случае с индексом с началом с нуля. Таким образом, два индекса используются для двумерных массивов, три – для трехмерных массивов, и n – для n-мерных массивов.
Адресация – осуществление ссылки (обращение) к устройству или элементу данных по его адресу; установление соответствия между множеством однотипных объектов и множеством их адресов; метод идентификации местоположения объекта.
Программирование циклов существенно упрощается, если после каждого выполнения цикла обеспечено автоматическое изменение в соответствующих командах их адресных частей согласно расположению в памяти обрабатываемых операндов. Такой процесс называется модификацией команд, и основан на возможности выполнения над кодами команд арифметических и логических операций.
Однако относительно поисковых систем по текстовой информации контекстное значение термина индексация смещается в сторону группировки данных по лексическим фрагментам, и составляют поисковый индекс.
Поисковый индекс – структура данных, которая содержит информацию о документах и используется в поисковых системах. Индексирование, совершаемое поисковой машиной, – процесс сбора, сортировки и хранения данных с целью обеспечить быстрый и точный поиск информации. Создание индекса включает междисциплинарные понятия из лингвистики, когнитивной психологии, математики, информатики и физики. Веб-индексированием называют процесс индексирования в контексте поисковых машин, разработанных, чтобы искать веб-страницы в Интернете.
Популярные поисковые машины сосредотачиваются на полнотекстовой индексации документов, написанных на естественных языках. Мультимедийные документы, такие как видео и аудио и графика, также могут участвовать в поиске. Однако для этого требуется их транскрибация или извлечение субтитров для анализа.
Цель использования индекса – повышение скорости поиска релевантных документов по поисковому запросу. Без индекса поисковая машина должна была бы сканировать каждый документ в корпусе, что потребовало бы большого количества времени и вычислительной мощности. Например, в то время, как индекс 10 000 документов может быть опрошен в пределах миллисекунд, последовательный просмотр каждого слова в 10 000 больших документов мог бы занять часы. Дополнительная память, выделяемая для хранения индекса, и увеличение времени, требуемое для обновления индекса, компенсируется уменьшением времени на поиск информации.
При обработке и индексировании естественных языков возникают различные проблемы, основные из которых описаны ниже:
Неоднозначность границ слова. На первый взгляд может показаться, что токенизация является простой задачей, но это не так, особенно при разработке многоязычного индексатора. В цифровой форме тексты некоторых языков, таких, как китайский, японский или арабский, представляют сложную задачу, так как слова четко не разделены пробелом. Цель токенизации в том, чтобы распознать слова, которые будут искать пользователи. Специфичная для каждого языка логика используется, чтобы правильно распознать границы слов, что необходимо для разработки синтаксического анализатора для каждого поддерживаемого языка (или для групп языков с похожими границами и синтаксисом).
Неоднозначность языка. Для более точного ранжирования документов поисковые системы могут учитывать дополнительную информацию о слове, например, к какому языку или части речи оно относится. Эти методы зависят от языка, поскольку синтаксис между языками различается. При токенизации некоторые поисковые системы пытаются автоматически определить язык документа.
Различные форматы файлов. Для того, чтобы правильно определить, какие байты представляют символы документа, формат файла должен быть правильно обработан. Поисковые системы, которые поддерживают различные форматы файлов, должны правильно открывать документ, получать доступ к документу и токенизировать его символы.
Ошибки памяти. Качество данных естественного языка не всегда может быть совершенным. Уязвимость существует из-за неизвестного количества документов, в частности, в Интернете, которые не подчиняются соответствующему протоколу файла. Двоичные символы могут быть ошибочно закодированы в различных частях документа. Без распознавания этих символов и соответствующей обработки может ухудшиться качество индекса или индексирования.
1.5 Дескрипторы и стоп-слова
Дескриптор – лексическая единица (слово, словосочетание) информационно-поискового языка, служащая для описания основного смыслового содержания документа или формулировки запроса при поиске документа (информации) в информационно-поисковой системе. Дескриптор однозначно ставится в соответствие группе ключевых слов естественного языка, отобранных из текста, относящегося к определённой области знаний. Следовательно есть можно создать уникальные словари дескриптрово для учета их в классификаторе с целью повышения точности классификации.
Именно на декскрипторах, по причине значимости и удобству строятся так называемые фолксономии.
Фолксономия – народная классификация, практика совместной категоризации информации в целом и текстов в частности, посредством произвольно выбираемых меток, называемых тегами или дескрипторами.
Другими словами, это понятие относится к спонтанному сотрудничеству группы людей с целью организации информации, которое интересно тем, что оно полностью отличается от традиционных формальных методов фасетной классификации. Как правило, это явление возникает только в неиерархических сообществах, таких как общедоступные веб-сайты, а не в многоуровневых коллективах. Так как организаторы информации обычно являются её же основными пользователями, фолксономия производит результаты, более точно отражающие совокупную концептуальную модель информации всей группы.
В противовес дескрипторам, обладающим повышенной значимостью относительно окружающих слов, существует категория лексем, мешающих адекватной классификации данных. Их существование обусловленно практически в любом из существующих языков на планете.
Стоп-слова – обозначают слова, без которых невозможно построение полноценного смыслового текста и которые не несут смысловой нагрузки.
Иначе их называют также шумовые слова.К стоп словам относят:
союзы и союзные слова;
местоимения;
предлоги;
частицы;
указательные слова;
цифры;
знаки препинания;
отдельно стоящие буквыалфавита;
вводные слова.
К стоп-словам можно также отнести ряд некоторых существительных, глаголов, наречий (например, давать, всегда, однако и др.)
По причине постоянного развития и совершенствования алгоритмов поисковых систем списки стоп-слов периодически обновляются и изменяются. Каждый поисковик имеет свою собственную базу стоп-слов. При классификации текстов стоит обращать внимание на наличие стоп-слов из вышеперечисленных категорий и их соотношение с общей массой слов и дескрипторов.
Общие шумовые слова часто не учитываются классификатором, также они игнорируются при построении инвертированного индекса,в целях уменьшения баз данных поисковые системы, однако, они заменяются специальным маркером. Данное обстоятельство имеет практическое значение при составлении классификатора и оценки плотности ключевых слов разного рода, так как игнорирование стоп-слов влияет на некоторые показатели, которые в свою очередь влияют на точность классификации текстовой информации. Считается, что каждое из общих стоп-слов есть почти во всех документах коллекции.
Специфические для отрасли частовстречаемые слова для некоторых видов библиотек имеет смысл тоже фильтровать.
1.6 Стемминг
Стемминг – это процесс нахождения основы слова для заданного исходного слова. Основа слова необязательно совпадает с морфологическим корнем слова.
Задача нахождения основы слова представляет собой давнюю проблему в области компьютерных наук. Первая публикация по данному вопросу датируется 1968 годом. Стемминг применяется в поисковых системах для расширения поискового запроса пользователя, является частью процесса нормализации текста.
Конкретный способ решения задачи поиска основы слов называется алгоритм стемминга, а конкретная реализация – стеммер.
Существует несколько типов алгоритмов стемминга, которые различаются по отношению производительности, точности, а также как преодолеваются определенные проблемы стемминга.
Стемминг используется в качестве приближенного метода для группировки слов с похожими основными значениями. Например текст, в котором упоминается «daffodils», вероятно, тесно связан с текстом, упоминающим о «daffodil» (без «s»). Но в некоторых случаях, слова с одной и той же основой имеют идиоматические значения, которые почти не связаны: при поиске пользователем документов, содержащих «marketing», будут также выданы документы упоминающие «markets», но не содержащие «marketing» (что, скорее всего, не соответствует информационной потребности пользователя).
Стемминг достаточно распространён в поисковых системах. Однако сравнительно скоро эффективность стемминга в поисковых системах для английского языка была признана весьма ограниченной, и это привело начинающих исследователей в области информационного поиска к пониманию неприменимости стемминга в общем случае. В поисковых системах вместо стемминга может быть использован подход, основанный на поиске N-грамм, а не основ. Кроме того, последние исследования показали большие преимущества при поиске с помощью N-грамм для других языков, кроме английского.
1.7 Постановка задачи
Целью аттестационной работы является разработка программного модуля, позволяющего решить проблему кластеризации и индексации больших объемов любой текстовой информации по пользовательским категориям, учитывая возможность распределенного хранения массивов информации.
Задачей программного модуля, разрабатываемого в ходе аттестационной работы, является автоматический анализ данных из различных источников с применением алгоритмов машинного обучения для определения наиболее оптимальной структуры кластеров входной текстовой информации, и создание единого индекса текстовой библиотеки для эффективного поиска информации по ней и поддержания системы в условиях постоянной изменчивости среды в актуальном и исправном состоянии в используя как инструмент методы онлайн обучения, обучения без учителя, кластеризации и составления динамической структуры обработчика.
Для достижения цели работы необходимо решить следующие задачи:
анализ литературы из предметной области;
анализ существующих алгоритмов кластеризации и классификации;
проектирование алгоритма обработки и индексации данных;
программная реализация метода SOINN применительно к анализу и индексированию больших текстовых документов;
выбор максимально репрезентативной выборки текстов для анализа;
анализ модели созданной на обучающей выборке.
