Рассел С., Норвиг П. Искусственный интеллект. Современный подход (2-е изд., 2006) (1245267), страница 306
Текст из файла (страница 306)
регулярных выражений, которые определяют регулярную грамматику, заданную на одной строке текста. Регулярные выражения используются в командах (30)х, таких как дгер, в языках программирования, таких как Рег1, и в текстовых процессорах, таких как М)сгоьой 'тУог((. Подробные сведения о грамматике, применяемой в том или ином инструментальном средстве, в значительной степени различаются, поэтому их лучше всего узнать из соответствующего справочного руководства, но в 1122 Часть ЧП. Обшение, восприятие и осушествление действий табл.
23.3 показано, как сформировать регулярное выражение для выделения данных о ценах в долларах, и продемонстрировано применение обших подвыражений. Таблица 23.3. Примеры применения регулярных выражений Регулярное выражение Результат применения [0-9] [0-91+ .[0-9![0-9! Согласуется с любой цифрой от 0 до 9 Согласуется с одной или большим количсствоч цифр Согласуется с конструкцией, состояшсй из точки, за которой следу- ют две цифры Согласуется с конструкцией, состоящей из точки, за которой слсду- ют две цифры, или с пустой строкой Согласуется со строкой 9249.
99, или 91. 29, или 91000000, или ... (. [0-9) [0-9! ) 9 З[0-9! ь(. [ 0-9) [0-9! ) 9 е Е Уозпедепеилея л Рког(исе(е, "до11 с1иЬя") л Паее(е, "Рх1с)ау") л Лпезеу(е, "Вк1с)деясопе Брогся Со") л Дпгзгу(е, "а 1оса1 сопсекп") л епгйеу(е, "а Уарапеяе Спас)1пд Ьоияе") Системы извлечения информации на основе атрибутов могут быть созданы в виде ряда регулярных выражений, по одному для каждого атрибута. Если регулярное выражение согласуется с текстом один и только один раз, то сушествует возможность извлечь часть текста, определяющую значение соответствуюшего атрибута. Если соответствия не найдены, то больше ничего нельзя сделать, а если регулярное выражение согласуется с текстом в нескольких местах, то нужно применить процесс осуществления выбора между этими согласованиями.
Одна из возможных стратегий состоит в том, чтобы для каждого атрибута было предусмотрено несколько регулярных выражений, упорядоченных по приоритетам. Поэтому, например, регулярное выражение с наивысшим приоритетом для выделения цены может предусматривать применение строки "оиг ргфсе г ", за которой сразу же следует знак доллара "б"; если же эта строка не будет обнаружена, можно сразу же перейти к использованию менее надежного регулярного выражения. Еше одна стратегия состоит в том, чтобы найти все согласования и применить определенный способ выбора между ними. Например, можно взять самую низкую цену, которая находится в пределах 50% от самой высокой цены. Это позволить обрабатывать тексты, подобные следуюшему: "Е19( рисе $99.00, зрес)а1 за1е рпсе $78.00, зЬ!рр!пй $3.00". На более высоком этапе развития по сравнению с системами извлечения информации на основе атрибутов находятся системы извлечения информации на основе отношений, или реляционные системы, которые позволяют учитывать наличие в тексте информации о более чем одном обьекте и отношениях между ними.
Таким образом, при обнаружении такими системами текста "9249 . 99" они должны определить не только цену, но и объект, имеющий эту цену. Типичной системой извлечения информации на основе отношений является система ЕАВТ(3$, которая применяется для обработки новостных сообшений о корпоративных слияниях и приобретениях. Эта система способна прочитать следуюшее сообщение: Вг)ббсз(опс Кропя Со. за)г) Гпбау и Ьаз зе( ир а)о)п( чеп(иге го Та)зчап зч)(Ь а1оса) сопссгп апд а 1арапезс (гагйпй Ьоизе (о ргобисе Во1$ с)иЬз (о Ье зрйрреб (о 1арап. и сформировать примерно такую запись базы данных: Глава 23.
Вероятностная обработка лингвистической информации 1123 Реляционные системы извлечения информации часто создаются на основе 'в. каскадных преобразователей с конечными автоматами. Это означает, что они состоят из ряда конечных автоматов (Р)п)ге-5)аге Ацгогпагоп — Р5А), где каждый автомат принимает текст в качестве входных данных, преобразует этот текст в другой формат и передает его следующему автомату. Такой способ обработки является осушествимым, поскольку каждый конечный автомат действует достаточно эффективно, а при совместном использовании они приобретают способность извлекать необходимую информацию.
Типичной системой такого типа является РА5Т1)5, которая состоит из конечных автоматов, выполняюших описанные ниже пять этапов обработки. 1. Разбиение на лексемы. 2. Обработка сложных слов. 3. Обработка базовых групп. 4. Обработка сложных фраз. 5. Слияние структур. Первым этапом обработки системы РА5Т(35 является разбиение на лексемы, в котором поток символов сегментируется на лексемы (слова, числа и знаки препинания). Применительно к тексту на английском языке разбиение на лексемы может быть выполнено довольно просто; для этого достаточно лишь следить за разделяющими символы пробелами или знаками препинания. А применительно к тексту на японском языке для разбиения на лексемы требуется вначале выполнить сегментацию, используя нечто вроде алгоритма сегментации Витерби (см, листинг 23.1).
Некоторые средства разбиения на лексемы позволяют также обрабатывать такие языки разметки, как НТМ1., 5ОМ1. и ХМ1.. На втором этапе обрабатываются сложные слова, включая такие словосочетания, как "зег цр" (настройка) и ")ошг чепшге" (совместное предприятие), а также имена собственные, такие как "Рпгпе Мшвйег Топу В1а)г" и "Впг)йез)опе 5роПз Со.". Сложные слова распознаются с использованием сочетания лексических элементов и грамматических правил конечного автомата.
Например, название компании может быть распознано с помошью следующего правила: Сардеа11аед)Чегд;-( "Сотпрапу" ) "Со" ) "тпс" ) "Ьвд" ) Эти правила необходимо составлять с учетом всех предосторожностей и проверять на полноту и точность. Одна из коммерческих систем распознала словосочетание "1пге! С))а)гшап Апг)у Огоче" (Председатель правления 1п)е1 Энди Гроув) как обозначение местности, а не имя лица, применив правило в следуюшей форме: сар1 га11аедлгогд+ ('охаче" ) "готеее" ! "ч111аде" ) ...
) На третьем этапе выполняется обработка базовых групп; под этим подразумеваются именные и глагольные группы. Обшая идея состоит в том, чтобы объединить на этом этапе слова в такие элементы, которые можно будет легко обрабатывать на последующих этапах. Именная группа состоит из заглавного существительного, за которым следуют необязательные определители и другие модификаторы. Поскольку именная группа не включает всех сложных конструкций, предусмотренных для именного словосочетания )уР в грамматике Е,, не требуются рекурсивные правила контекстно-свободной грамматики — достаточно только использовать правила регу- 1124 Часть ч!1.
Общение, восприятие и осуществление действий лярной грамматики, допустимые для конечных автоматов. Глагольная группа состоит из глагола и присоединенных к нему вспомогательных частиц и наречий, но без прямого и косвенного объекта и пропозициональных предложений. Предложение. приведенное выше в качестве примера, может быть преобразовано на этом этапе в следующую конструкцию: 1. ГЧС: ВхгсГдеяеопе Яроппя Со. ! 10. ГЧЯ: а 1оса1 сопсетп 2. уй: ваьс1 ! 11. Сг: апсг 3. ГГО: ВгьсГау 12. ГГС: а Зарапеве Сгайьпд 'поияе 4.
ГГй; ьс 13, уб: Ео ртосГисе уо: ьасГ вес ир 14. ГГо: яо15 с1иЬв б. ГЧС: а зогпе чепеихе 15. УС: Ео Ье впьррес гл: ьп 15, Рв: Ео 8. гче: тагеап 12. Гчб: .тарап 9. ря; еъеъ где ггпу обозначает именную группу; ггпу — глагольную группу; рн — предлог, ~т — союз. На четвертом этапе базовые группы объединяются в сложные фразы. И в этом случае цель состоит в том, чтобы применяемые правила могли быть реализованы с помогцью конечного автомата и допускали быструю обработку, а полученный результат сводился к непротиворечивым !или почти непротиворечивым) выходным фразам.
В правиле комбинирования одного из типов учитываются события, типичные для рассматриваемой проблемной области. Например, следующее правило отражает один из способов описания процесса формирования совместного предприятия: Сотрапу+5еШр Гоупс'чепсияе1"чгьип" Сотрапу+)2 Этот этап является первым из каскада этапов, в которых полученные выходные данные помещаются в шаблон базы данных, а также выводятся в выходной поток.
На последнем этапе происходит слияние структур, которые были сформированы на предыдущем этапе. Если в следующем предложении сказано: "Тйе )о1п1 чепгцге чч1!! 51аП ргодцс11оп ш Уапцагу" (Это совместное предприятие начнет выпускать продукцию в январе), то на данном этапе будет отмечено, что в двух ссылках на совместное предприятие (")о)п! чепгцге") упоминается один и тот же объект, и они будут объединены в одну ссылку. Вообще говоря, средства извлечения информации действуют успешно применительно к ограниченной проблемной области, в которой возможно заранее определить, какие темы будут обсуждаться и в каких терминах будет проходить это обсуждение. Такие средства показали свою применимость для целого ряда проблемных областей, но они не способны заменить полномасштабную обработку текста на естественном языке.