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

Семантический анализ текстов. Основные проблемы и методы решения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2579
342
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИНТЕЛЛЕКТУАЛЬНЫЙ ПОИСК / СЕМАНТИЧЕСКИЙ АНАЛИЗ / МЕТОДЫ КЛАССИФИКАЦИИ / TEXT MINING / INTELLECTUAL SEARCH / SEMANTIC ANALYSIS / METODS OF CLASSIFICATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ивженко Сергей Петрович, Изофатов Константин Анатольевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The semantic analysis of texts. The basic problems and decision methods

The article is devoted to the overview of the semantic analysis of the text problem with the purpose intellectual search and choice. The leading directions of the research is comsidered, the basis of which is the semantic analysis of the text

Текст научной работы на тему «Семантический анализ текстов. Основные проблемы и методы решения»

МЕТОДЫ И СРЕДСТВА ЗАЩИТЫ ИНФОРМАЦИИ

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

© Ивженко Сергей Петрович

кандидат физико-математических наук, доцент кафедры «Информационные системы и технологии», Саратовский государственный техническоий университет.

В+7-927-100-13-80, И sarvizir@mail.ru

© Изофатов Константин Анатольевич

магистрант кафедры «Информационные системы и технологии» Международного факультета прикладных информационных технологий, Саратовский государственный технический университет.

В +7-927-100-1380, И kosmos@marinenet.jp

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

Ключевые слова: интеллектуальный поиск, семантический анализ, text mining, методы классификации.

Во

о

► опросы безопасности диктуют необходимость поиска интересующей информации среди огромного массива текстов на естественном языке.

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

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

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

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

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

Классификация и рубрикация документов, определение тематики документов. Несмотря на внешнюю простоту задачи рубрикации и определения тематики документов являются очень сложными в реализации. На основе только ключевых слов или синтаксической структуры простых словосочетаний удовлетворительно решить задачу нельзя. Фрагментарное использование общих семантических классов также принципиально ничего не меняет. Существующие системы обеспечивают точность классификации (а значит, и определения тематики), по сравнению с человеческой оценкой: без использования заранее заданных классов - порядка 10%, с использованием заранее заданных классов и настройкой на тематику текстов - до 60%. Другими словами, существующие системы не обеспечивают удовлетворительного решения этих задач.

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

Проверка корректности текстов. Связана с необходимостью полного разбора

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

Построение тезаурусов и онтологий [2]. Это крайне сложная и трудоёмкая работа. Степень автоматизации данного процесса очень низка. По сути дела, все определения создаются вручную. Автоматически может проверяться лишь согласованность накопленных определений. Альтернативой мог бы быть подход, когда определения понятий создаются по существующим текстам с такими описаниями (энциклопедии, учебники, справочники), а затем, при необходимости, корректируются в процессе диалога с экспертом. Для реализации такого подхода необходимо уметь проводить подробный анализ семантики текстов.

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

Методы семантического анализа текста и text mining [4]. Классификация и рубрикация документов, определение тематики документов и автоматическое реферирование и аннотирование относятся к так называемому text-mining (от англ. «добыча текста»). Это сравнительно молодая область, и большинство значительных результатов было получено в последние 10-15 лет. В первую очередь это связано с появлением очень большого количества доступной каждому текстовой информации и появлением соответствующих таким объёмам вычислительных мощностей. Системы text mining оперируют с набором документов, слова из которых можно считать свойствами. При этом размер таких документов может быть очень большим (несколько тысяч слов), а размер общего словаря по всем документам может достигать нескольких сотен тысяч слов. Здесь нужно отметить одно важное свойство набора документов: если представить его в виде матрицы документ-слово (где элемент a^ равен 1, если словом содержится в документе i и о в противном случае), то мы увидим, что она имеет сильно разреженную структуру, то есть большинство элементов равно 0. Это позволяет создавать эффективные (по памяти и скорости)

Научно-практический журнал. ISSN 1995-5731

алгоритмы обработки очень больших объёмов данных.

К text mining относятся следующие задачи [1, 4]:

Классификация (classification). Заключается в отнесении документа к одной из нескольких заранее определённых категорий, основываясь на содержании документа. Для построения классификаторов используется обучающая выборка из документов с присвоенными им категориями (классический пример: классификация писем по категориям спам/не спам). Самые простые классификаторы: метод k ближайших соседей и классификатор Байеса.

Кластеризация (clustering) отличается от классификации тем, что мы не знаем, какие существуют категории. У нас нет никакой обучающей выборки, есть только документы, которые надо попытаться определённым образом сгруппировать в кластеры (категории). Причём, как правило, неизвестно даже число возможных категорий (хотя его можно более менее точно оценить. Существует два типа алгоритмов кластеризации: одни работают с заранее определённым числом категорий (например, алгоритм k-средних), другие - с неизвестным (например, иерархическая кластеризация).

Извлечение фактов (fact/information extraction), название говорит за себя, задача заключается в извлечении из неструктурированного текста информации определённого вида, например, пресс-портрета или цитат.

В общем случае задача классификации и кластеризации текста распадается на две:

- техническая задача его преобразования в некоторую матричную, векторную или любую другу модель;

- математическая задача его классификации, например, на основе вероятностных классификаторов Байеса, метода опорных векторов или иных методов.

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

Пусть у нас есть n документов, которые все вместе состоят из m уникальных слов. Каждому документу можно поставить в соответствие вектор deRm, такой, что dt = 1, если слово i содержится в документе, и dt = 0 в противном случае. Мы получили самую простую двоичную векторную модель. Как уже было сказано, важным свойством такого представления является разреженность, действительно, m может быть очень большим числом (несколько сотен тысяч), в то время как число единиц в каждом векторе может не превышать нескольких десятков. Это

позволяет хранить в памяти не всю матрицу nxm (1 000 000x100 000 = 100 000 000 000 бит), а лишь очень малую её часть, обычно около 0,01-0,1%.

Недостатки двоичной модели очевидны: никак не учитывается важность слов для документа. К примеру, слова «новый» и «телефон» вносят совершенно разный вклад в определении тематики документа (если мы рассматриваем описания различных товаров). Очевидное развитие двоичной модели для решения этой проблемы: учитывать не только наличие или отсутствие слова, но и его встречаемость в документе. Таким образом, вместо единицы, в качестве элемента вектора, будет число раз, которое данное слово встречается в документе.

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

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

Описанная частотная модель, тем не менее, тоже не лишена недостатков. Некоторые слова могут встречаться в почти во всех документах и соответственно оказывать малое влияние на принадлежность документа к той или иной категории. Для понижения значимости таких слов используют модель TF-IDF. TF (term frequency) - это отношение числа раз, которое слово t встретилось в документе d, к длине документа. Нормализация длины документа нужна, чтобы уравнять в правах короткие и длинные (в которых абсолютная встречаемость слов может быть гораздо больше) документы. IDF (inverse document frequency) - это логарифм отношения числа всех документов к числу документов, содержащих слово t.

TF =

Е n

IDF = log

I D |

\(d, e t) |'

n

k

где nt - отношение числа раз, которое слово t встретилось в документе d, ^ nk - длина документа, D - число всех документов, d - число документов, содержащих слово t.

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

Методы классификации [3]. Очевидный способ классифицировать документ, известный под названием «алгоритм ближайшего соседа» (nearest neighbour, NN) — найти в обучающей выборке наиболее схожий с ним и предположить, что их категории совпадают. В качестве меры похожести обычно используют расстояние или косинус угла между векторами. Самый простой в реализации, этот алгоритм оказывается и самым медленным: он линейно зависит от числа документов в обучающей выборке. На практике обычно используется модификация «алгоритма ближайшего соседа» - «алгоритм k-ближайших соседей» (k-nearest neighbours, k-NN). Здесь ищутся k наиболее близких документов из обучающей выборки и в качестве искомой категории выбирается встречающаяся чаще других в найденных документах. Так поступают, чтобы снизить влияние шума в обучающей выборке на результат. Шумом могут быть как просто неправильно классифицированные документы, так и документы, которые содержат много слов, характерных для другой категории. Из-за невысоких показателей качества и, в первую очередь,

низкой скорости «алгоритм fc-ближайших соседей» редко применяется в промышленных разработках.

Следующий алгоритм применялся и применяется в повседневной жизни. Создавая правило «always trust e-mails sent from address name@company.com» в почтовом клиенте, мы неявно управляем деревом принятия решений (decision tree), с помощью которого работают многие спам-фильтры. В нелистовых узлах дерева решений содержатся своего рода «вопросы» к документу, в листьях - ответы в виде результирующей категории. «Вопросы» могут задаваться самим пользователем, как в примере выше, так и вычисляться на основе обучающей выборки, - в этом случае они обычно имеют вид: «присутствуют ли в документе такие слова?» Простота идеи компенсируется сложностью построения такого дерева вопросов из набора документов. Кроме классификации, построенное дерево решений можно использовать для анализа структуры документов и категорий, что может оказаться ценным само по себе. На практике деревья решений используют, в основном, с этой целью, потому что по качеству классификации они сильно проигрывают классификаторам Байеса и линейным моделям, о которых пойдет речь дальше.

Основная идея классификаторов Байеса заключается в том, что для каждого слова мы считаем вероятность его принадлежности к каждой категории, вероятность принадлежности документа к категории считается как произведение вероятностей входящих в него слов. Несмотря на кажущуюся сложность такой формулы, по своей структуре вероятность P всего лишь линейная комбинация определённого числа параметров:

p(c | х) = pm^ (px | с= p(x)

где x. = 1, если слово i присутствует в документе x, и о в противном случае, wt - веса, b - смещение для каждой категории C.

Таким образом, задача классификации сводится к вычислению весов wt и смещения b для каждой категории, и метод Байеса лишь один из многих способов их вычисления, причём не самый лучший. Заметим, что веса (w,b) образуют гиперплоскость в пространстве слов, по одну сторону от которой лежат документы, принадлежащие категории, по другую — не принадлежащие. Очевидно, что существует бесконечно много таких гиперплоскостей, разделяющих документы из обучающей выборки. Идея, лежащая в основе метода опорных векто-

(Е ln P(xp)x{ +ln P(C))

(E w X +b)

P(x)

-e

P(x)

e

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

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

1

1

Научно-практический журнал. ISSN 1995-5731

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

Библиографический список

1. Азанов Е. Text mining explained [Электронный ресурс]. - URL: http://krondix.blogspot.com/ search/label / text%20mining%2 0explained (дата обращения: 01.11.2010).

2. Сокирко А. Семантические словари в автоматической обработке текста : (по материалам системы ДИАЛИНГ) [Электронный ресурс]. -URL: http://www.aot.ru/docs/sokirko/sokirko-candid-1.html (дата обращения: 05.10.2010).

3. Тузов В. А. Основные направления исследований, основанные на семантическом анализе текстов [Электронный ресурс]. - URL: http:// www.apmath.spbu.ru/ru/info/tuzov/onapr.html (дата обращения: 10.10.2010).

4. Text mining [Электронный ресурс]. - URL: http://en.wikipedia.org/wiki/Text_mining (дата обращения: 01.11.2010).

разработка подсистемы аутентификации удалённых пользователей для предотвращения фишинг-атак

© Байкурин Вил Бариевич

доктор физико-математических наук, профессор, заведующий кафедрой «Программное обеспечение вычислительной техники и автоматизированных систем», руководитель учебно-научного центра по проблемам информационной безопасности Саратовского региона - СГТУ, Саратовский государственный техническийуниверситет.

В (845-2) 798-606, И baiburinvb@rambler.ru

© Гукенков Артём Александрович

кандидат физико-математических наук, доцент кафедры «Программное обеспечение вычислительной техники и автоматизированных систем», сотрудник учебно-научного центра по проблемам информационной безопасности Саратовского региона - СГТУ, Саратовский государственный технический университет.

Ш (845-2) 798-608, Ш agubenkov@mail.ru

Фишинг (англ. phishing) — вид интернет-мошенничества, целью

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.