ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ

Извлечением информации называется процесс создания записей базы данных путем просмотра текста и выявления экземпляров конкретного класса объектов или событий, а также связей между этими объектами и событиями. Может быть предпринята попытка применить такой процесс для извлечения данных об адресах из Web-страниц и внесения в базу данных информации об улице, городе, штате и почтовом коде или извлечения сведений о происходящих штормах из сообщений о погоде и внесения в базу данных информации о температуре, скорости ветра и количестве осадков. Системы извлечения информации занимают промежуточное положение между системами информационного поиска и полными синтаксическими анализаторами текста, поскольку к ним предъявляются более высокие требования, чем просто преобразование документа в мультимножество слов, но меньшие требования по сравнению с полным анализом каждого предложения.
Простейшим типом системы извлечения информации является система, основанная на атрибутах, поскольку в ней предполагается, что весь текст относится к одному объекту и задача состоит в извлечении атрибутов этого объекта. Например, в разделе 10.5 упоминалась задача извлечения из текста "17in SXGA Monitor for only $249.99" отношений базы данных, определяемых следующим выражением:
Зт т е ComputerMonitors л Size{m, Inches(17) ) л Price[m, $(249.99)) л Resolutionim, 1280x1024)
Определенная часть этой информации может обрабатываться с помощью регулярных выражений, которые определяют регулярную грамматику, заданную на одной строке текста. Регулярные выражения используются в командах Unix, таких как grep, в языках программирования, таких как Perl, и в текстовых процессорах, таких как Microsoft Word. Подробные сведения о грамматике, применяемой в том или ином инструментальном средстве, в значительной степени различаются, поэтому их лучше всего узнать из соответствующего справочного руководства, но в
Системы извлечения информации на основе атрибутов могут быть созданы в виде ряда регулярных выражений, по одному для каждого атрибута. Если регулярное выражение согласуется с текстом один и только один раз, то существует возможность извлечь часть текста, определяющую значение соответствующего атрибута. Если соответствия не найдены, то больше ничего нельзя сделать, а если регулярное выражение согласуется с текстом в нескольких местах, то нужно применить процесс осуществления выбора между этими согласованиями. Одна из возможных стратегий состоит в том, чтобы для каждого атрибута было предусмотрено несколько регулярных выражений, упорядоченных по приоритетам. Поэтому, например, регулярное выражение с наивысшим приоритетом для выделения цены может предусматривать применение строки "our price: ", за которой сразу же следует знак доллара "$"; если же эта строка не будет обнаружена, можно сразу же перейти к использованию менее надежного регулярного выражения. Еще одна стратегия состоит в том, чтобы найти все согласования и применить определенный способ выбора между ними. Например, можно взять самую низкую цену, которая находится в пределах 50% от самой высокой цены. Это позволить обрабатывать тексты, подобные следующему: "List price $99.00, special sale price $78.00, shipping $3.00".
На более высоком этапе развития по сравнению с системами извлечения информации на основе атрибутов находятся системы извлечения информации на основе отношений, или реляционные системы, которые позволяют учитывать наличие в тексте информации о более чем одном объекте и отношениях между ними. Таким образом, при обнаружении такими системами текста "$249.99" они должны определить не только цену, но и объект, имеющий эту цену. Типичной системой извлечения информации на основе отношений является система FASTUS, которая применяется для обработки новостных сообщений о корпоративных слияниях и приобретениях. Эта система способна прочитать следующее сообщение:
Bridgestone Sports Co. said Friday it has set up a joint venture in Taiwan with a local concern and a Japanese trading house to produce golf clubs to be shipped to Japan.
и сформировать примерно такую запись базы данных:
е е JointVentures л Product(е, "golf clubs") л Date{e, "Friday")
л Entity{е, "Bridgestone Sports Co") л Entity(e, "a local concern") л Entityie, "a Japanese trading house")
Реляционные системы извлечения информации часто создаются на основе каскадных преобразователей с конечными автоматами. Это означает, что они состоят из ряда конечных автоматов (Finite-State Automaton — FSA), где каждый автомат принимает текст в качестве входных данных, преобразует этот текст в другой формат и передает его следующему автомату. Такой способ обработки является осуществимым, поскольку каждый конечный автомат действует достаточно эффективно, а при совместном использовании они приобретают способность извлекать необходимую информацию. Типичной системой такого типа является FASTUS, которая состоит из конечных автоматов, выполняющих описанные ниже пять этапов обработки.
1. Разбиение на лексемы.
2. Обработка сложных слов.
3. Обработка базовых групп.
4. Обработка сложных фраз.
5. Слияние структур.
Первым этапом обработки системы FASTUS является разбиение на лексемы, в котором поток символов сегментируется на лексемы (слова, числа и знаки препинания). Применительно к тексту на английском языке разбиение на лексемы может быть выполнено довольно просто; для этого достаточно лишь следить за разделяющими символы пробелами или знаками препинания. А применительно к тексту на японском языке для разбиения на лексемы требуется вначале выполнить сегментацию, используя нечто вроде алгоритма сегментации Витерби (см. листинг 23.1). Некоторые средства разбиения на лексемы позволяют также обрабатывать такие языки разметки, как HTML, SGML и XML.
На втором этапе обрабатываются сложные слова, включая такие словосочетания, как "set up" (настройка) и "joint venture" (совместное предприятие), а также имена собственные, такие как "Prime Minister Tony Blair" и "Bridgestone Sports Co.". Сложные слова распознаются с использованием сочетания лексических элементов и грамматических правил конечного автомата. Например, название компании может быть распознано с помощью следующего правила:
CapitalizedWord+("Company"|"Со"|"Inc"|"Ltd")
Эти правила необходимо составлять с учетом всех предосторожностей и проверять на полноту и точность. Одна из коммерческих систем распознала словосочетание "Intel Chairman Andy Grove" (Председатель правления Intel Энди Гроув) как обозначение местности, а не имя лица, применив правило в следующей форме:
Capi tali zedWord+ ("Grove" | "Forest" | "Village" |...)
На третьем этапе выполняется обработка базовых групп; под этим подразумеваются именные и глагольные группы. Общая идея состоит в том, чтобы объединить на этом этапе слова в такие элементы, которые можно будет легко обрабатывать на последующих этапах. Именная группа состоит из заглавного существительного, за которым следуют необязательные определители и другие модификаторы. Поскольку именная группа не включает всех сложных конструкций, предусмотренных для именного словосочетания NP в грамматике Јl5 не требуются рекурсивные правила контекстно-свободной грамматики — достаточно только использовать правила регулярной грамматики, допустимые для конечных автоматов. Глагольная группа состоит из глагола и присоединенных к нему вспомогательных частиц и наречий, но без прямого и косвенного объекта и пропозициональных предложений. Предложение, приведенное выше в качестве примера, может быть преобразовано на этом этапе в следующую конструкцию:
где NG обозначает именную группу; VG — глагольную группу; PR — предлог, CJ — союз.
На четвертом этапе базовые группы объединяются в сложные фразы. И в этом случае цель состоит в том, чтобы применяемые правила могли быть реализованы с помощью конечного автомата и допускали быструю обработку, а полученный результат сводился к непротиворечивым (или почти непротиворечивым) выходным фразам. В правиле комбинирования одного из типов учитываются события, типичные дня рассматриваемой проблемной области. Например, следующее правило отражает один из способов описания процесса формирования совместного предприятия:
Сотрапу+ Set Up Joint Ven t ur e (" wi th11 Company+) ?
Этот этап является первым из каскада этапов, в которых полученные выходные данные помещаются в шаблон базы данных, а также выводятся в выходной поток.
На последнем этапе происходит слияние структур, которые были сформированы на предыдущем этапе. Если в следующем предложении сказано: "The joint venture will start production in January" (Это совместное предприятие начнет выпускать продукцию в январе), то на данном этапе будет отмечено, что в двух ссылках на совместное предприятие ("joint venture") упоминается один и тот же объект, и они будут объединены в одну ссылку.
Вообще говоря, средства извлечения информации действуют успешно применительно к ограниченной проблемной области, в которой возможно заранее определить, какие темы будут обсуждаться и в каких терминах будет проходить это обсуждение. Такие средства показали свою применимость для целого ряда проблемных областей, но они не способны заменить полномасштабную обработку текста на естественном языке.







Материалы

Яндекс.Метрика