
- •Понятие «Язык». Классификация языков.
- •2. Кодирование текста. Таблица кодировки ascii и ее национальные варианты. Текстовые файлы.
- •4. Статистические закономерности текста. Частотный анализ, частоты встречаемости символов и биграмм в текстах.
- •6. Регулярные выражения. Стандарты и механизмы регулярных выражений. Использование регулярных выражений.
- •Классы символов
- •7. Контент-анализ как метод обработки текстовой информации. Качественный и количественный контент-анализ, процедура контент-анализа.
Классы символов
Используя квадратные скобки, можно указать группу символов (это называют классом символов) для поиска. Например, конструкция 'б[аи]ржа' соответствует словам «баржа» и «биржа», т.е. словам, начинающимся с «б», за которым следуют «а» или «и», и заканчивающимся на «ржа».
Возможно и обратное, то есть, можно указать символы, которых не должно содержаться в найденной подстроке. Так, '[^1-6]' находит все символы, кроме цифр от 1 до 6. Следует упомянуть, что внутри класса символов '\b' обозначает символ backspace (стирания).
7. Контент-анализ как метод обработки текстовой информации. Качественный и количественный контент-анализ, процедура контент-анализа.
Контент-анализ – метод исследования, который основывается на получении из текста статистических критериев упоминания слов.
Цель метода – выявить закономерности формальной (количественной) репрезентации единиц, характеризующих текст (или группу текстов), и позволяющие сделать выводы о содержательной стороне текста.
Существуют 2 вида контент-анализа:
Количественный КА – на основе кол-ва упоминаний
Качественный КА – выводы делаются на основе факта наличия или факта отсутствия упоминания.
Один из вариантов процедуры:
определяется цель исследования в виде постановки вопроса (что мы ищем)
выбор источника текстов для анализа
выделение исследуемых категорий
предварительный анализ (не на всей выборке, а на ярких экземплярах)
процедура подсчета (количественный анализ)
разнесение упоминаемых слов по категориям
выводы
При анализе президентских посланий контент-анализ:
выделение базовых понятий (на основе зипфа)
сравнительный подсчет упоминаний каждого ключевого понятия
выделение главного
Коллокации - выделение предложений с нужными словами и слова, употребляемые в этом предложении сравниваются с контекстными словами.
8.Фильтрация и классификация документов. Наивная байесовская фильтрация и ее применение. Классификация документов — одна из задач информационного поиска, заключающаяся в отнесении документа к одной из нескольких категорий на основании содержания документа. Классификация может осуществляться полностью вручную, либо автоматически с помощью созданного вручную набора правил, либо автоматически с применением методов машинного обучения. Подходы к классификации текстов Существует три подхода к задаче классификации текстов. 1 подход, классификация не всегда осуществляется с помощью компьютера. Например, в обычной библиотеке тематические рубрики присваиваются книгам вручную библиотекарем. Подобная ручная классификация дорога и неприменима в случаях, когда необходимо классифицировать большое количество документов с высокой скоростью.
2 подход заключается в написании правил, по которым можно отнести текст к той или иной категории.
3 подход основывается на машинном обучении. В этом подходе набор правил или, более обще, критерий принятия решения текстового классификатора, вычисляется автоматически из обучающих данных (другими словами, производится обучение классификатора). Обучающие данные — это некоторое количество хороших образцов документов из каждого класса. В машинном обучении сохраняется необходимость ручной разметки (термин разметка означает процесс приписывания класса документу). Но разметка является более простой задачей, чем написание правил. Кроме того, разметка может быть произведена в обычном режиме использования системы. Постановка задачи Имеется множество категорий (классов, меток) С={с1,…,с|с|}. Имеется множество документов . D={d1,…,d|d|} Неизвестная целевая функция . Ф:СхD—{0,1} Необходимо построить классификатор ф’ , максимально близкий к ф.. Классификатор может выдавать точный ответ ф': СхD—{0,1} или степень подобия ф: СхD—[0,1]. Этапы обработки
Индексация документов
Построение некоторой числовой модели текста, например в виде многомерного вектора слов и их веса в документе. Уменьшение размерности модели.
Построение и обучение классификатора
Могут использоваться различные методы машинного обучения: решающие деревья, наивный байесовский классификатор, нейронные сети, метод опорных векторов и др.
Оценка качества классификации
Формальное определение Байесовского классификатора Постановка задачи классификации документов Задача классификации документов состоит в том, чтобы найти приближенное отображение K´=DxC→{T,F} отображения K, такого что K(d, c)=T тогда и только тогда, когда документ d соответствует категории c и K(d,c)=F в обратном случае. Полученная аппроксимация K' называется классификатором. В случае если категории статистически независимы друг от друга (то есть K´(dj,c´) не зависит от K´(dj,c´´) для любых c´c´´ ), то можно без потери общности предположить, что множество категорий состоит только из двух непересекающихся категорий, к одной из которых обязательно принадлежит каждый из документов: . Это связано с тем, что случай с большим количеством категорий {c1,...cn} можно представить как n задач вида . Таким образом, задача классификации приводится к виду поиска приближенного отображения K´=DxC→{T,F}. Кроме того, вводится множество характеристик T, которые могут быть сопоставлены с документами. Тогда документ d представляется вектором коэффициентов (w1,...,w|T|), 0≤wi≤1. Коэффициенты wi, грубо говоря, определяют 'вклад' характеристики ti в семантику документа d.
В любом методе автоматической классификации сначала определяются характеристики документов и способ вычисления весов.
Наивный Байесовский классификатор Байесовский классификатор основан на использовании знаменитой теоремы Байеса. При постановке задачи в качестве характеристик обычно выбирается наличие или отсутствие каких либо слов в документе, то есть за множество характеристик T принимается множество всех слов в обрабатываемых документах. Таким образом, вес характеристики wi=1 в том случае, если слово ti было найдено, и wi=0 в обратном случае. В случае с фильтрами, которые используются для классификации спама,учитывается еще и область, в которой встретилось слово: заголовки, тема письма (subject), тело письма. То есть слово 'спам', встретившееся в теме письма, есть иной термин, чем слово 'спам' в теле письма. Кроме того, делается очень важное допущение: предполагается, что все характеристики документов, полученные таким образом (слова), статистически независимы; именно из-за этого допущения в названии классификатора присутствует слово 'наивный'. Это сильно упрощает применение теоремы Байеса для построения классификатора. Для вычисления вероятностей pi используется т.н. процесс обучения, во время которого анализируются заранее классифицированные документы. Тогда вероятности можно рассчитать, к примеру, следующим образом: pi=bi/(gi+bj) , где bi - количество 'плохих' документов, содержащих характеристику ti; gi - количество 'хороших' документов, содержащих характеристику ti. В реальных фильтрах, могут использоваться иные способы вычисления оценок вероятностей, учитывающие специальные случаи редких характеристик (встречающихся в малом количестве документов). К примеру, Гари Робинсон рекомендует заменить оценку pi на fi [7]: fi=(s·x+ni·pi)/(s+ni), где s и x - экспериментально подобранные параметры (рекомендуется 1 и 0.5), а n - количество документов с характеристикой ti.
Постановка задачи Имеется множество категории(классов, меток) С={с1,…,с|с|} имеется множество документов.d={d1,…,d|d|} Неизвестная целевая ф-я Ф:СхD—{0,1} Необходимо построить классифик. Ф’, максимально близким к Ф. Имеется некотороя начальная коллекция размеченных документов. КЛАСС. Обучающая модель.Наивный байесовский классификатор (метод)— простой вероятностный классификатор, основанный на применении Теоремы Байеса со строгими предположениями о независимости. Вводим понятие P(с\d)-вероятность того что документ d попадает в класс. Цель классификации- найти самый подходящий класс для данного документа. Cm= argmax P(c|d) Cm= argmax P(c|d)P(c)/P(d)* argmax P(c|d)P(c) Чтобы оценить вероятность P(d|c)=P(t1,t2,…,tn d|c), где tk- терм из документа d,nd-общее количество терминов в документе( включая повторение) Документы разбивают на значение единицы-теры Несмотря на наивный вид и, несомненно, очень упрощенные условия, наивные байесовские классификаторы часто работают намного лучше во многих сложных жизненных ситуациях.
Достоинством наивного байесовского классификатора является малое количество данных для обучения, необходимых для оценки параметров, требуемых для классификации.
Байсовская классификация не применяется в больших документах, применяется в выявлении спама. А так же есть методы: Опорных векторов, Универсальный метод, метод гиперплоскостью, метод выявления фиксированных текстов деревьев.
9.Классификация документов. Метод опорных векторов.
Классификация (лат. classik — разряд, группа) документов — это система их соподчинения, используемая как средство установления связей между классами документов, а также для ориентировки в их многообразии. Структура классификации обычно представляется в виде таблицы или схемы.
Классификация является одним из методов познания. Без нее невозможно изучить многообразие существующих видов документов, систематизировать их, установить различия между видами документов, выделяемых по различным признакам. Правильно составленная комплексная классификация отражает закономерности развития документов, раскрывает связи между ними, помогает сориентироваться в любом их множестве, служит основой для их упорядочения в документных системах. Она имеет важное значение для теории документоведения и практической документно-коммуникационной деятельности.
Метод опорных векторов
Опорными векторами называются объекты множества, лежащие на границах областей.
Данный метод изначально относится к бинарным классификаторам, хотя существуют способы заставить его работать и для задач мультиклассификации. Этот метод принадлежит к семейству линейных классификаторов.
Идея метода
Идею
метода удобно проиллюстрировать на
следующем простом примере: даны точки
на плоскости, разбитые на два класса
(рис. 1). Проведем линию, разделяющую эти
два класса (красная линия на рис. 1).
Далее, все новые точки (не из обучающей
выборки) автоматически классифицируются
следующим образом:
точка
выше прямой попадает в класс A,
точка
ниже прямой — в класс B.
Такую
прямую назовем разделяющей прямой.
Однако, в пространствах высоких
размерностей прямая уже не будет
разделять наши классы, так как понятие
«ниже прямой» или «выше прямой» теряет
всякий смысл. Поэтому вместо прямых
необходимо рассматривать гиперплоскости
— пространства, размерность которых
на единицу меньше, чем размерность
исходного пространства. В
,
например, гиперплоскость — это обычная
двумерная плоскость.
В
нашем примере существует несколько
прямых, разделяющих два класса (рис.
2):
С
точки зрения точности классификации
лучше всего выбрать прямую, расстояние
от которой до каждого класса максимально.
Другими словами, выберем ту прямую,
которая разделяет классы наилучшим
образом (красная прямая на рис.2). Такая
прямая, а в общем случае — гиперплоскость,
называется оптимальной разделяющей
гиперплоскостью.
Вектора,
лежащие ближе всех к разделяющей
гиперплоскости, называются опорными
векторами (support
vectors). На рисунке 2 они помечены красным.
Классификация считается хорошей, если область между границами пуста.
10.Морфология русского языка и ее использование при анализе текстовой информации.
Морфология - это раздел грамматики, изучающий существующие в языке формы и способы изменения слов, грамматические значения и грамматические классы слов.
Совокупность формы слова называется лексемой (общая система лексических значений) .
Система словоформ , относящаяся к одной лексеме, называется парадигмой. В словарях каждая лексема представлена одной из словоформ, которая называется исходной (нормальной) формой или леммой. Лемматизация - процесс сведения словоформы к лемме.
Методы лемматизации:
Стемминг- Стемматиза́ция (сте́мминг) — это процесс нахождения основы слова для заданного исходного слова. Основа слова необязательно совпадает с морфологическим корнем слова. Данный процесс применяется в поиcковых системах для обобщения поискового запроса пользователя.
Для стемматизации существует множество различных методов, по разному подходящих к разным языкам.
Стеммер Портера - алгоритм не использует баз основ слов, а лишь, применяя последовательно ряд правил, отсекает окончания и суффиксы, основываясь на особенностях языка, в связи с чем работает быстро, но не всегда безошибочно.
KSTEM
N-грамма
комбинирование.
На каких платформах выполняется лемматизация
Динамическая библиотека лемматизации lemmatizator.dll (lemmatizator.so) собирается для 32х и 64х битных платформ Windows и Linux, а также Mac OS X.
Для платформы .NET в состав SDK включена обертка lemmatizator_fx.dll и пример использования на C#.
Лемматизация для PHP выполняется с помощью модуля, который доступен в составе SDK Грамматического Словаря в виде исходного кода Lemmatizator.php. Текст этого модуля и база данных для него генерируются автоматически отдельной служебной утилитой на C#. Все файлы PHP лемматизатора находятся в подкаталоге ...\demo\ai\solarix\Grammar_Engine\Lemmatizator\PHP.
Лемматизатор не требует наличия других библиотек из состава SDK, так как содержит все необходимые алгоритмы, словарную базу и вероятностную модель морфологии в двух своих файлах.
Очень простой API и отсутствие какой-либо привязки к C++ позволяет легко создавать обертки для вызова лемматизатора из других языков программирования.