Text mining: алгоритмы извлечения семантики из текста

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

Извлечение семантики из текстов: концепция и цели

Пожалуй, никто не станет спорить с тем фактом, что Интернет сегодня является наиболее масштабным хранилищем знаний. К сожалению или к счастью, знания эти далеко не всегда хранятся в удобной для понимания компьютером форме баз данных; чаще всего это, конечно же, тексты, предназначенные для чтения человеком. Автоматизацией извлечения знаний из таких неструктурированных наборов данных как текст занимается ответвление даталогии под названием text mining.

Извлечение семантики из текстов – один из методов и одновременно задач интеллектуального анализа текста, основанный на том общеизвестном факте, что данные, «хранящиеся» в форме текста на естественном языке, обладают неопределенностью – в самом деле, человек понимает значение того или иного слова, словосочетания, предложения исходя из контекста. Научить этому компьютер – главная цель семантического анализа. Семантика – тот самый «смысловой» багаж, который несет та или иная лексическая единица в данном конкретном контексте.

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

Алгоритмы

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

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

Шаги

Очевидно, что задача извлечения семантики из текстов получила в свое распоряжение все те же три вида алгоритмов. Правда, различия в них проявляются только на определенном шаге – предлагаем рассмотреть общую последовательность семантического анализа текста:

  1. Полученный на входе текст сегментируется (разделяется) на предложения. Каждое из предложений затем проходит процедуру синтаксического анализа – определяются члены предложения и части речи, после чего начинается извлечение семантики из каждого слова. Здесь алгоритм может сверяться с правилами, либо применять машинное обучение – а возможно, появятся признаки и того, и другого подхода; в общем и целом, результатом первого шага будет служить некий вывод синтаксического процессора по поводу того, какое значение каждое слово может принимать в данном случае. Например, для смешанного (и считающегося наиболее совершенным) подхода вывод будет сделан в форме так называемой семантической базы данных – со всеми возможными значениями слова и вероятностями его появления в данном контексте.
  2. По результатам предыдущего анализа семантика извлекается уже из всего предложения. При этом, если после первого шага семантика того или иного слова остается неопределенной (значение не ясно из контекста всего одного предложения), на данном шаге неопределенность исключается.
  3. На третьем этапе происходит представление результата и вывода – текст приобретает форму структурированного набора данных, с которым можно работать. Конечная цель семантического анализа достигнута.

Резюме

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

Автор: Елизавета Филиппова

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =