Извлечение информации из кратких текстовых спецификаций с заданным списком атрибутов

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

Рубрика Программирование, компьютеры и кибернетика
Вид автореферат
Язык русский
Дата добавления 25.07.2018
Размер файла 223,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Автореферат диссертации

на соискание учёной степени кандидата физико-математических наук

Специальность 05.13.18 - Математическое моделирование, численные методы и комплексы программ

ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ ИЗ КРАТКИХ ТЕКСТОВЫХ СПЕЦИФИКАЦИЙ С ЗАДАННЫМ СПИСКОМ АТРИБУТОВ

Ашихмин Андрей Михайлович

Москва - 2008

Работа выполнена на кафедре интеллектуальных систем Московского физико-технического института (государственного университета).

Научный руководитель: доктор физико-математических наук,

профессор Цурков Владимир Иванович

Официальные оппоненты: доктор физико-математических наук,

профессор Язенин Александр Васильевич;

кандидат физико-математических наук,

старший научный сотрудник

Аверкин Алексей Николаевич

Ведущая организация: Институт Системного Анализа РАН

Защита состоится 16 октября 2008 года в 13.00 часов на заседании диссертационного совета Д 212.156.05 при Московском физико-техническом институте (государственном университете) по адресу: 141700, г. Долгопрудный Московской обл., Институтский пер. д.9, ауд. 903 КПМ.

С диссертацией можно ознакомиться в библиотеке МФТИ (ГУ).

Автореферат разослан 15 сентября 2008 г.

Ученый секретарь

диссертационного советаФедько О.С.

1. Общая характеристика работы

Актуальность темы

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

Рассмотрим существующий в настоящее время процесс поиска и возникающие при этом проблемы. В российском сегменте интернета (рунете) существует достаточно много систем, специализирующихся на поиске среди товарных предложений. Этим системам присущи два недостатка: они либо не обладают семантической информацией о товарных предложениях (за исключением информации о категориях), либо требуют от фирм-партнёров предоставления семантической информации в некотором специальном формате (Yandex Market Language и др.).

Пользователь может осуществлять поиск по ключевым словам, но отсутствие возможности поиска по семантическим значениям атрибутов существенно повышает долю нерелевантных результатов. Приведём в качестве примера несколько предложений из списка длиной около двух тысяч позиций, выдаваемого популярной в рунете системой поиска товаров по ключевым словам для запроса “Pentium 4 2.8”:

1.INTEL Pentium4 2.8GHz 512kb 533MHz mPGA-478 BOX

2.INTEL PENTIUM 4-2800 Prescott Socket-775 (1MB, 800MHz, BOX)

3.306504-B21 Hewlett-Packard X2.8/400-512 ML530G2 ALL 306504-B21

4.Intel P4 2800E/1024Kb/533Mhz/S478 Prescott OEM [RK80546PE0721M]

5.Intel Socket 478 0512k FSB 533 Pentium IV 2.8 GHz

6.Intel P4-2.8GHZ Процессор Pentium IV 2.8 ГГц/ 512KB, Northwood, 533MHz, Socket 478, OEM /

Как видно, система определяет, что «4» и «IV», «2.8» и «2800», «P4» и «Pentium 4» являются синонимами (скорее всего, это априорная информация, занесённая в систему экспертом). Но из-за отсутствия семантической информации о товарных предложениях совпадающие и различающиеся предложения идут вперемешку. Так, пятое и шестое предложения семантически эквивалентны, остальные - нет. Пользователь вынужден выполнять дополнительную обработку результатов поиска.

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

· CPU Intel Core 2 Duo E4300, 1,8GHz, 2Mb, 800MHz Socket-775 OEM

· Socket 775 2Mb L2 FSB 0800 Intel Core2 Duo 1.8 Ghz (E4300)

· Процессор Intel "Core 2 Duo E4300" (1.80ГГц, 2МБ, 800МГц, EM64T) Socket775

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

Актуальность темы исследования обусловлена тем, что большинство аналитиков предсказывают стабильный рост электронной коммерции в будущем; значимость электронной коммерции для рунета была отмечена на выступлении Президента Российской Федерации Д.А. Медведева на открытии 12-го Российского интернет-форума РИФ-2008. Увеличение огромного количества документов в интернете, помимо очевидных преимуществ, порождает проблемы поиска нужной (релевантной) информации, так называемые проблемы информационной перегруженности. Ещё большие трудности возникают перед компьютерными агентами (software agents), так как подавляющее большинство документов в интернете предназначено для чтения людьми.

Цель работы, задачи исследования

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

Подчеркнём специфику рассматриваемых описаний объектов. Разрабатываемая система рассчитана на строковые спецификации, фактически представляющие перечисления значений атрибутов. Типичным примером такового описания является «AMD Athlon XP 2400+, 256Kb, FSB266, Socket A (OEM)». Очень часто подобные спецификации мало напоминают связанный текст на естественном языке (например, спецификация «[BOX] Socket 775 06Mb L2 FSB 1333 Intel® Core™2 Quad 2.50 Ghz (Q9300)»). Система не предназначена для работы с описаниями типа «Переходник для установки процессора Socket 478 в материнскую плату Socket 423», где много связанного текста на естественном языке и требуется более глубокий уровень его обработки, включая грамматический разбор.

Методы исследования

В процессе научных исследований в работе использовались методы дискретной математики, методы теории алгоритмов, методы комбинаторной оптимизации, методы теории сопоставления записей (record linkage), а так же методы нечёткого текстового поиска.

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

Научная новизна

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

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

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

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

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

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

Разработанная математическая модель извлечения значений атрибутов из кратких текстовых спецификаций является новым вкладом в развитие теории сопоставления записей и систем извлечения информации.

Практическая значимость

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

Апробация и реализация результатов работы

По выполненным диссертационным исследованиям опубликовано 6 работ, в том числе три [1], [2], [4] - в ведущих научных журналах, рекомендованных ВАК РФ.

Результаты диссертационного исследования докладывались, обсуждались и получили одобрение специалистов на научных конференциях и семинарах: XLVII научной конференции МФТИ, Москва-Долгопрудный, 2004 г.; III Международном научно-практическом семинаре «Интегрированные модели и мягкие вычисления в искусственном интеллекте», Коломна, 2005 г.; Всероссийской научно-технической конференции «Информационные технологии», Воронеж, 2005 г.

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

Положения, выносимые на защиту

На защиту выносятся следующие основные положения:

1. Математическая модель процесса извлечения значений атрибутов из кратких текстовых спецификаций.

2. Алгоритм поиска известных системе фраз в текстовой спецификации.

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

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

Структура и объём диссертации

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

2. Содержание работы

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

В главе 1 предлагается математическая модель для задачи извлечения значений атрибутов из кратких текстовых спецификаций.

Вводится предположение, состоящее в том, что все рассматриваемые объекты принадлежат одной категории , например категории центральных процессоров для настольных персональных компьютеров. Предполагается известным множество атрибутов для категории , причём атрибуты разделены на обязательные и необязательные, т.е. , , где - обязательные атрибуты, а - необязательные. Атрибуты необязательны в том смысле, что для одних объектов категории они могут присутствовать, а для других - нет. Например, процессоры серии Core 2 Duo имеют модельный номер, а ранние процессоры серии Pentium 4 - нет.

Каждому атрибуту соответствует множество значений, которое не задаётся изначально, а строится динамически. Значениями атрибутов являются синсеты (synset). Синсет, или кольцо синонимов, - это множество из одного или нескольких синонимов, которые взаимозаменяемы в некотором контексте с сохранением истинностного значения высказываний, содержащих их. В данной работе принимается более специфичное определение: синсет - это множество фраз (определяется ниже), семантически соответствующих одному и тому же значению некоторого атрибута (т.е. контекстом в данном случае является атрибут). Далее в работе термины «синсет» и «значение атрибута» используются как взаимозаменяемые. Множество {“1,8GHz”, “1.8 Ghz”, “1.80ГГц”, “1,80 ГГц”} - это пример синсета, являющегося значением атрибута «Тактовая частота» для категории процессоров. В каждом синсете выделяется некоторая фраза , которая объявляется канонической, и которая используется для нормативного (желаемого экспертом) описания объекта. Скажем, для приведённого примера синсета канонической может быть фраза “1,80 ГГц”.

Для иллюстрации приведём значения атрибутов товарного предложения одного процессора (Intel Core 2 Duo E4300 в коробочной поставке).

Таблица 1. Значения атрибутов товарного предложения одного процессора

Русское название атрибута

Английское название атрибута

Значение (каноническая фраза)

Производитель

Vendor

Intel

Серия

Line

Core 2 Duo

Модельный номер

Model Number

E4300

Тактовая частота

Frequency

1,8 ГГц

Объём кэша 2-го уровня

L2 Cache

2 МБ

Частота системной шины

FSB

800 МГц

Разъём

Socket

LGA775

Тип поставки

Packaging

BOX

В описании может быть указание на категорию, например, «Процессор Intel "Core 2 Duo E4300" (1.80ГГц, 2МБ, 800МГц, EM64T) Socket775». Поэтому дополнительно вводится понятие необязательного атрибута принадлежности категории, состоящего из единственного синсета (т.к. категория зафиксирована).

В работе принимается следующее ограничение: одна и та же фраза не может принадлежать различным синсетам одного и того же атрибута. Это ограничение вызвано следующим соображением. Атрибут определяет контекст, а в рамках одного контекста фраза не должна иметь больше одного значения.

Краткую текстовую спецификацию (частично структурированное описание объекта), являющуюся последовательностью символов - строкой текста, после прохождения лексического анализа можно рассматривать как последовательность слов . Например, принимая пробелы и запятые за разделители, спецификацию “CPU Intel Core 2 Duo E4300, 1,8GHz, 2Mb, 800MHz Socket-775 OEM” можно рассматривать как последовательность слов (“CPU”, “Intel”, “Core”, “2”, “Duo”, “ E4300”, “1”, “8GHz”, “2Mb”, “800MHz”, “Socket-775”, “OEM”). Слово представляет собой некоторую подстроку спецификации , где - начальный символ слова , а - конечный. Фраза определяется как результат конкатенация (с сохранением промежуточных разделительных символов исходной строки) одного или нескольких подряд идущих слов . Т.е. имеет место равенство , где обозначает конкатенацию с сохранением разделительных символов из . Например, конкатенация слов “1” и “8GHz” из приведённого выше примера представляет собой фразу “1,8GHZ”. Под сегментацией спецификации будем понимать разбиение на фразы: .

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

Далее в работе показывается возможность построения функции релевантности фразы атрибуту . Большее значение функции релевантности означает большую степень достоверности того, что фраза принадлежит одному из синсетов атрибута. Например, можно утверждать, что для атрибута «Тактовая частота» центральных процессоров для персональных компьютеров справедливо < < (тактовая частота современных процессоров превышает 1 ГГц).

Интерес представляет функция совокупной релевантности сопоставления последовательности фраз соответствующим атрибутам. Используя естественное предположение о взаимной независимости по предпочтениям, функцию совокупной релевантности можно представить как аддитивную по атрибутам функцию релевантности, т.е. . Если нормировать функции релевантности отдельным атрибутам на отрезок (где 0 означает полную нерелевантность фразы атрибуту, а 1 - достоверную принадлежность фразы одному из синсетов атрибута), то функцию совокупной релевантности естественно записать как , где весовые коэффициенты зависят лишь от обязательности/необязательности атрибута (весовой коэффициент обязательных атрибутов больше).

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

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

,

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

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

Найденное соответствие фраз синсетам предъявляется эксперту для верификации. Человек проверяет предложенное соответствие и задаёт правильные сочетания фраза - синсет. Заданное человеком соответствие фраз синсетам сравнивается с предложенным системой; на основании сравнения определяется число ошибок. Возможные ошибки описаны в четвёртой главе. По заданному экспертом соответствию новые фразы (и синсеты) заносятся в базу знаний.

Вводится понятие функции подобиядвух текстовых строк и , принимающей диапазон значений от 0 до 1. Функцию подобия можно построить, используя строковые метрики (например, расстояние Левенштейна). Строковым метрикам посвящена третья глава.

Определив функцию подобия двух строк, можно определить функцию релевантности фразы синсету как максимальное значение функции подобия фразы фразам синсета : . А функцию релевантности фразы атрибуту можно определить как максимум функции релевантности фразы синсетам атрибута : .

В главе 2 разработаны алгоритмы нахождения соответствия фраз спецификации атрибутам, максимизирующего функцию совокупной релевантности.

Показан экспоненциальный характер роста числа возможных разбиений последовательности слов на фразы , равного обобщённому числу Фибоначчи . Чтобы уменьшить последствия этого комбинаторного взрыва, предлагается перед максимизацией совокупной функции релевантности по всем возможным разбиениям на фразы и по всем возможным сопоставлениям фраз атрибутам сначала сделать для спецификации (сразу после лексического анализа) поиск известных фраз из синсетов.

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

Рекурсивная функция Lookup_Known_Phrases принимает на вход ассоциативный массив (map) KB, ключами которого являются фразы из известных синсетов, а значениями - множество синсетов, в которые фраза входит; последовательность (массив) ещё не распознанных слов W спецификации x; множество атрибутов, которым ещё не найдено соответствие. Возвращает функция ассоциативный массив , ключами которого являются фразы спецификации x, а значениями - сопоставленные фразам синсеты. Внутренняя переменная описывает промежуточный результат и является ассоциативным массивом, ключами которого являются фразы спецификации, а значениями - множества синсетов - кандидатов на соответствие. Вспомогательная переменная представляет множество атрибутов, которым на данной итерации возможно сопоставить фразы. Переменная w представляет собой матрицу весов, индексами которой являются фразы и атрибуты. Переменная PA является ассоциативным массивом, соответствующим (частичной) биекции фраз на атрибуты, максимизирующей длину распознанных фраз.

Схема работы алгоритма на псевдокоде выглядит так:

Lookup_Known_Phrases(KB, W, FA)

1 OP <

2 for i < 1 to length[W]

3 do for j < i to length[W]

4 do if слова W[i],…,W[j] идут подряд в x

5 then Insert_Sorted(OP, W[i]…W[j])

6 <

7 while OP ?

8 do p < Dequeu(OP)

9 if Contains(KB, p) and Filter_By_Attributes(KB[p], FA) ?

10 then IR[p] < Filter_By_Attributes(KB[p], FA)

11 Remove_Overlaps(OP, p)

12 AL <

13 for (для) всех значений v ассоц. массива IR

14 do Insert_All(AL, Extract_Attributes(v))

15 w < 0

16 for (для) всех ключей p ассоц. массива IR

17 do for (для) всех s из IR[p]

18 do w[p][attribute[s]] < length[p]

19 PA < Hungarian_Algorithm(keys[IR], AL, w)

20 R <

21 for (для) всех ключей p ассоц. массива PA

22 do for (для) всех s из IR[p]

23 do if attribute[s] = PA[p]

24 then R[p] < s

25 Remove(FA, attribute[s])

26 Remove_Overlaps(W, p)

27 if R =

28 then return

29 Put_All(R, Lookup_Known_Phrases(KB, W, FA))

30 return R

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

Будем говорить, что последовательность получена расщеплением элемента последовательности , если длина последовательности ровно на единицу больше длины последовательности и . Обратное отношение будем называть слиянием двух соседних элементов.

В диссертации излагается и обосновывается алгоритм, генерирующий все сегментации, причём сгенерированные подряд сегментации получены либо расщеплением элемента, либо слиянием двух соседних элементов.

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

Рис. 1. Найденное соответствие фраз спецификации атрибутам (белый фон). Участки без соответствия и свободные атрибуты (чёрный фон).

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

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

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

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

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

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

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

Описанная выше оптимизация позволяет сократить общее время нахождения соответствия атрибутам для неизвестных фраз с до .

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

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

Построим следующий взвешенный граф. Множеством его вершин будут фразы и атрибуты. Любая пара фраза-атрибут соединена ребром, имеющим вес равный значению функции релевантности. Фразы, пересекающиеся в исходной спецификации, соединены рёбрами с нулевым весом. Рёбер, соединяющих два атрибута, нет. Также нет рёбер, соединяющих две непересекающиеся фразы. Пример такого графа приведён на рис. 2.

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

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

Рис. 2. Пример графа соответствия фраз атрибутам для двух атрибутов и трёх слов.

алгоритм граф атрибут математический

В главе 3 вводятся общие понятия о строковых метриках, упоминаются расстояние Левенштейна и метрика Нидельмана-Вунша, описываются аффинные модели; предлагается метрика, использующая специфику рассматриваемой предметной области, являющаяся аффинной модификацией метрики Нидельмана-Вунша.

Стоимость замены и удаления (добавления) различных символов можно назначить, руководствуясь несколькими простыми соображениями. Прежде всего, стоимость замены символов, отличающихся только регистром, должна быть очень незначительной, возможно нулевой, т.к. в товарных предложениях (и не только) использование регистра играет скорее роль оформления, как например название фирмы “ASUS” в описаниях материнских плат “MB ASUS P5Q Deluxe Socket 775 P45” и “MB Asus M3N-HT Deluxe/HDMI S AM2”, взятых из одного и того же интернет-магазина.

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

Стоимость замены точки на запятую должна быть небольшой, в частности потому, что в одних товарных предложениях рунета целая и дробная часть числа отделяются запятой, согласно правилам русского языка, но во многих других описаниях разделителем служит точка, как это принято в англоязычных странах. Реальные примеры: «3,16GHz» и «2.66 ГГц».

Вообще, данный пример показывает, что в случае товарных предложений компьютерных комплектующих часто смешиваются русские и английские обозначения; иногда используется транслитерация. Довольно естественно требовать того, чтобы стоимость русско-английской транслитерации букв была меньше стоимости произвольной замены букв. Подобная мера позволит системе находит соответствия между такими парами слов, как «CPU» и «ЦПУ».

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

Стоит также отметить, что в программной реализации алгоритма поиска соответствия фраз атрибутам функция релевантности фразы атрибуту, нормированная на отрезок [0,1], умножается на коэффициент , где - некоторый небольшой коэффициент, - длина фразы, с целью мягкого штрафа за оставшиеся без соответствия участки спецификации.

Численные значения параметров предложенной строковой метрики можно настроить, используя обучение на основе алгоритма Баума-Уэлша для скрытых моделей Маркова.

В главе 4 представлены программная реализация и полученные экспериментальные результаты.

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

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

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

В получаемых результатах работы системы возможны ошибки следующих видов:

1. Система выделяет в исходной спецификации некоторую фразу и ставит ей в соответствие синсет, но выделенная фраза не подтверждается человеком. Иными словами, имеет место выделение несуществующих фраз.

2. Система не выделяет в исходной спецификации некоторую фразу, в то время как человек выделяет её и сопоставляет ей некоторый синсет. Иными словами, осуществляется пропуск существующих фраз.

3. Система правильно выделяет фразу, но сопоставляет ей неправильное значение атрибута.

Заметим, что традиционное разделение ошибок на ошибки первого и второго типа не совсем подходит описываемой системе.

Графики количества ошибок приведены в диссертации.

Полученные экспериментальные данные позволяют утверждать о возможности применения результатов исследования на практике. Доля ошибочно распознанных фраз от общего числа фраз быстро опускается ниже 1%. С процентом спецификаций, при извлечении информации из которых были допущены ошибки, ситуация несколько хуже, но, тем не менее, в случае инкрементального обучения он опускается ниже 10% после обработки около 70 спецификаций.

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

Модификация оценок достоверности гипотез выполняется с использованием условных вероятностей (байесовский подход). Любому предположению может быть приписана некая ненулевая априорная вероятность того, что оно истинно, затем путём привлечения новых свидетельств получается апостериорная вероятность истинности этого предположения. Если выдвинутая гипотеза действительно верна, новые свидетельства должны способствовать увеличению этой вероятности, в противном случае - уменьшению.

Вероятность события А при условии, что произошло некоторое событие В, называется условной вероятностью и обозначается через . По правилу Байеса . Пусть - решение, в поддержке которого участвует гипотеза Н. При подтверждении решения мы повышаем оценку достоверности гипотезы Н по правилу , где - коэффициент инерции для повышения. Оценка достоверности действительно повышается, так как, если Н входит в Е (, ), то . При отклонении решения мы понижаем оценку достоверности гипотезы Н по правилу , где - коэффициент инерции для понижения. , поэтому оценка достоверности действительно понижается. Коэффициенты инерции позволяют сглаживать резкие скачки в оценке достоверности, кроме того, они не позволяют оценкам достоверности принимать краевые значения 0 и 1.

Если достоверность вывода вычисляется, считая различные вхождения одной и той же гипотезы независимыми, то надо соответствующим образом учесть это при использовании правила Байеса. Пусть при оценке достоверности вывода имеется n вхождений гипотезы H, тогда имеем = , отсюда, повышенная оценка достоверности гипотезы H (без инерции) вычисляется как = =. Для пониженной оценки достоверности имеем .

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

В приложении приведены основные компоненты реализованного программного комплекса.

Основные результаты и выводы диссертации

1. Разработана математическая модель для задачи извлечения значений атрибутов из кратких текстовых спецификаций.

2. Предложен алгоритм поиска известных фраз в спецификации.

3. Разработан алгоритм поиска соответствия неизвестных системе фраз атрибутам, использующий серию поисков оптимального паросочетания в двудольном графе с учётом результатов предыдущего нахождения оптимального паросочетания. Также предложен полиномиальный алгоритм для решения этой задачи, использующий поиск оптимального паросочетания в произвольном графе.

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

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

Список публикаций по теме диссертации

1. Ашихмин А. М. На пути к семантической паутине: поиск среди товарных предложений / А.М. Ашихмин // Труды Института системного анализа Российской академии наук. Динамика неоднородных систем. - Москва, 2007. - с. 184-189.

2. Ашихмин А. М. Оценка вероятности несовместных и условно независимых логических комбинаций булевых случайных переменных / А.М. Ашихмин, И.В. Севастьянов // Труды Института системного анализа Российской академии наук. Динамика неоднородных систем. - Москва, 2006. - с. 110-115.

3. Ашихмин А. М. Приведение кратких спецификаций к типовому виду в задаче автоматизированной обработки прейскурантов / Ашихмин А. М. // Труды XLVII научной конференции МФТИ. Часть VII. Управление и прикладная математика. - Москва - Долгопрудный, 2004. - c. 174.

4. Ашихмин А. М. Применение вероятностной логики для семантического поиска товаров в Интернете / Ашихмин А. М., Севастьянов И. В. // Известия АН. Теория и системы управления. - Москва, 2005. - № 5 - c. 130-136.

5. Ашихмин А. М. Семантический поиск в автоматизированной системе электронной торговли / Ашихмин А. М., Захаров В. Н., Севастьянов И. В. // Интегрированные модели и мягкие вычисления в искусственном интеллекте. Сборник научных трудов III-ого Международного научно-практического семинара - Москва-Коломна, 2005. - с. 330-334.

6. Ашихмин А. М. Семантический поиск среди товарных предложений в Интернете / А.М. Ашихмин, В.Н. Захаров, И.В. Севастьянов // Информационные технологии: Материалы Всерос. научно-техн. конф. - Воронеж, 2005. - с. 114-116.

Размещено на Allbest.ru

...

Подобные документы

  • Разработка модифицированных алгоритмов поиска оптимального маршрута в графе. Задание дополнительных условий и ограничений. Реализация модели для внутреннего представления транспортной сети. Создание программного комплекса в среде Visual Studio 2010.

    курсовая работа [1,1 M], добавлен 16.04.2015

  • Применения языка логического программирования Пролог и языка программирования Haskell для реализации алгоритма поиска оптимального каркаса графа. Алгоритм Прима, преимущество перед другими алгоритмами нахождения оптимального каркаса, близких к полным.

    курсовая работа [230,2 K], добавлен 13.06.2012

  • Разработка алгоритма реализации на ЭВМ процесса поиска кратчайшего пути в графе методом Дейкстры. Программная реализация алгоритма поиска кратчайшего пути между двумя любыми вершинами графа. Проверка работоспособности программы на тестовых примерах.

    реферат [929,8 K], добавлен 23.09.2013

  • Методы определения оптимального плана производства (приобретения) продукции с учетом ограниченного обеспечения ресурсами различного вида. Технология поиска оптимального решения задач линейного программирования (ЗЛП) с помощью итоговой симплекс-таблицы.

    лабораторная работа [42,8 K], добавлен 11.03.2011

  • Основные типы электронных путеводителей, предназначение их мультимедийной разновидности. Применение электронного путеводителя для ГОУ ВПО "МГТУ им. Г.И. Носова". Выбор алгоритма поиска оптимального маршрута. Функциональные схемы работы программы.

    дипломная работа [3,7 M], добавлен 13.04.2014

  • Анализ алгоритмов нахождения кратчайших маршрутов в графе без отрицательных циклов: Дейкстры, Беллмана-Форда и Флойда-Уоршалла. Разработка интерфейса программы на языке C++. Доказательство "правильности" работы алгоритма с помощью математической индукции.

    курсовая работа [1,5 M], добавлен 26.07.2013

  • Разработка программного продукта для поиска максимально удалённых вершин в графе. Характеристика ориентированного, смешанного и изоморфного графов. Обзор способов представления графа в информатике. Алгоритм поиска пути. Графический интерфейс программы.

    курсовая работа [384,0 K], добавлен 10.01.2015

  • Двоичные деревья в теории информации. Двоичные кодовые деревья допускают интерпретацию в рамках теории поиска. Обоснование выбора, описание алгоритма и структур данных. Обоснование набора тестов. Построение оптимального кода. Сущность алгоритма Хаффмана.

    курсовая работа [241,6 K], добавлен 17.10.2008

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

    лабораторная работа [301,5 K], добавлен 08.06.2009

  • Обзор электронного документа, его информационное содержание и виды. Разработка программы автоматической обработки текстовых материалов: выбор сред разработки, извлечение понятийной области, получение стека суждений. Стандарты кодирования информации.

    дипломная работа [3,9 M], добавлен 10.05.2014

  • Определение оптимального плана перевозок однородного груза из k-пунктов отправления в m-пункты назначения. Описание алгоритма нахождения потока минимальной стоимости. Решение транспортной задачи вручную и в среде MathCad, сравнение полученных результатов.

    курсовая работа [773,6 K], добавлен 09.12.2010

  • Простота поиска информации в системе "Google.ru", его технологии и функции. История термина и его применение. Выбор условий поиска, автоматическое исключение общих слов. Калькулятор и конвертирование валют. Похожие страницы и проверка правописания.

    реферат [19,2 K], добавлен 21.02.2011

  • Особенности и преимущества языка C#. Алгоритмы поиска маршрутов в графе. Разработка вычислительной системы транспортной логистики на языке C#. Выбор среды разработки, визуализация транспортной сети. Задание условий поиска и пример работы алгоритма.

    дипломная работа [457,1 K], добавлен 24.06.2015

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

    курсовая работа [468,3 K], добавлен 11.12.2012

  • Математическая модель алгоритма с модификацией муравьиной колонии. Выбор аппаратных и программных средств для разработки программы. Особенность построения оптимального маршрута обхода пациентов. Характеристика тестирования и отладки данного проекта.

    дипломная работа [1,9 M], добавлен 17.11.2017

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

    контрольная работа [14,7 K], добавлен 11.11.2010

  • Графы: определения, примеры, способы изображения. Смежные вершины и рёбра. Путь в ориентированном и взвешенном графе. Матрица смежности и иерархический список. Алгоритм Дейкстры - алгоритм поиска кратчайших путей в графе. Работа в программе "ProGraph".

    презентация [383,8 K], добавлен 27.03.2011

  • Программные продукты для решения задачи построения оптимального маршрута. Выбор аппаратных и программных средств для построения маршрута обхода пациентов. Математическая модель муравьиного алгоритма: состав, структура, тестирование, отладка, реализация.

    дипломная работа [1,9 M], добавлен 03.12.2017

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

    автореферат [296,5 K], добавлен 31.01.2012

  • Алгоритм поиска по первому наилучшему совпадению на графе. Основные классы для поиска пути в лабиринте. Тестирование нахождения кратчайшего пути в лабиринте. Порядок обхода вершин. Тестирование поведения программы при отсутствии пути в лабиринте.

    курсовая работа [888,7 K], добавлен 19.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.