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

advertisement
На правах рукописи
Ашихмин Андрей Михайлович
ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ ИЗ КРАТКИХ
ТЕКСТОВЫХ СПЕЦИФИКАЦИЙ С ЗАДАННЫМ
СПИСКОМ АТРИБУТОВ
Специальность 05.13.18 - Математическое моделирование, численные методы и
комплексы программ
Автореферат диссертации
на соискание учёной степени кандидата физико-математических наук
Москва – 2008
Работа выполнена на кафедре интеллектуальных систем Московского
физико-технического института (государственного университета).
Научный руководитель:
доктор физико-математических наук,
профессор Цурков Владимир Иванович
Официальные оппоненты: доктор физико-математических наук,
профессор Язенин Александр Васильевич;
кандидат физико-математических наук,
старший научный сотрудник
Аверкин Алексей Николаевич
Ведущая организация:
Институт Системного Анализа РАН
Защита состоится 16 октября 2008 года в 13.00 часов на заседании
диссертационного совета Д 212.156.05 при Московском физико-техническом
институте (государственном университете) по адресу: 141700, г. Долгопрудный
Московской обл., Институтский пер. д.9, ауд. 903 КПМ.
С диссертацией можно ознакомиться в библиотеке МФТИ (ГУ).
Автореферат разослан 15 сентября 2008 г.
Ученый секретарь
диссертационного совета
Федько О.С.
2
Общая характеристика работы
Актуальность темы
Настоящая работа посвящена извлечению информации из текстов в
специфическом подмножестве естественного языка, а именно частично
структурированных кратких описаний объектов (товарных предложений
компьютерных комплектующих и т.п.). Изначальной проблематикой,
мотивировавшей написание данной работы, послужили некоторые вопросы
поиска по товарным предложениям в сети интернет.
Рассмотрим существующий в настоящее время процесс поиска и
возникающие при этом проблемы. В российском сегменте интернета (рунете)
существует достаточно много систем, специализирующихся на поиске среди
товарных предложений. Этим системам присущи два недостатка: они либо не
обладают семантической информацией о товарных предложениях (за
исключением информации о категориях), либо требуют от фирм-партнёров
предоставления семантической информации в некотором специальном формате
(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» являются синонимами (скорее всего, это априорная информация,
занесённая в систему экспертом). Но из-за отсутствия семантической
информации о товарных предложениях совпадающие и различающиеся
предложения идут вперемешку. Так, пятое и шестое предложения семантически
3
эквивалентны, остальные – нет. Пользователь
дополнительную обработку результатов поиска.
вынужден
выполнять
Вариации в написаниях товарных предложений могут быть связаны с
принятым стилем, опечатками, использованием сокращений, употреблением
терминов без перевода с английского языка, выбором синонимов. В качестве
иллюстрации приведём описание в нескольких популярных в рунете
электронных магазинах одного и того же процессора для настольных
компьютеров:
 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), так как
подавляющее большинство документов в интернете предназначено для чтения
людьми.
Цель работы, задачи исследования
Целью данного исследования является разработка математических
моделей для теоретического построения и практической реализации
интеллектуальной системы, способной извлекать из кратких текстовых
спецификаций (в частности, товарных предложений) значения атрибутов,
4
предлагать их эксперту (человеку) для верификации и пополнять базу знаний,
исходя из ответов, данных человеком. В настоящей работе не ставится задача
функционирования системы в полностью автоматическом режиме. Априорно в
базу знаний экспертом закладывается лишь информация о списке атрибутов,
фиксированном для рассматриваемой категории объектов (классификация или
кластеризация лежат за пределами данного исследования), плюс информация
об очень небольшом количестве значений атрибутов. Далее в процессе работы
системы наращивается база знаний, содержащая значения атрибутов и их
синонимы. Стоит также отметить, что в данной работе исследуется именно
извлечение значений атрибутов из исходного текстового описания, в то время
как конструирование требуемых экспертом (канонических) текстовых описаний
значений атрибутов не рассматривается.
Подчеркнём
специфику
рассматриваемых
описаний
объектов.
Разрабатываемая система рассчитана на строковые спецификации, фактически
представляющие перечисления значений атрибутов. Типичным примером
такового описания является «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), а так же
методы нечёткого текстового поиска.
В работе широко использовались реальные товарные предложения,
доступные в российском сегменте интернета. Предложенная модель
реализована как часть программного комплекса. Проведён ряд экспериментов с
использованием программной реализации.
Научная новизна
Тематика семантического поиска товарных предложений в интернете
затрагивалась в проекте автоматизированного извлечения семантической
5
информации для нужд электронной коммерции CROSSMARC1. Отличительная
черта настоящего исследования состоит в том, что в проекте CROSSMARC
информация извлекается из полнотекстовых HTML-документов, в то время как
в настоящей работе внимание концентрируется на как можно более полном
извлечении
атрибутов
из
относительно
небольших
частично
структурированных описаний.
Предлагаемая в работе математическая модель для задачи извлечения
значений атрибутов из кратких текстовых спецификаций отличается от широко
используемой в области информационного поиска модели представления
текстов как мультимножеств из ключевых слов (модель векторного
пространства). Ключевое отличие состоит в аннотировании фраз (состоящих из
одного или нескольких соседних слов) значениями атрибутов.
Разрабатываемая на основе предложенной математической модели
интеллектуальная система занимает промежуточное положение между
следующими двумя большими классами систем.
а) Системами сопоставления записей (обнаружения дубликатов), в
большинстве работ использующих некоторую строковую метрику с
настраиваемыми (обучаемыми) параметрами.
б) Системами извлечения информации (information extraction), обычно
требующими большого объёма составляемых человеком правил и
привязанными к конкретной узкой предметной области.
Настоящее исследование можно считать связанным с рекурсивным
алгоритмом соответствия полей Монге и Элкана. Однако, в отличие от
подходов Монге и Элкана, в данной работе предлагаются более сложные
алгоритмы, использующие венгерский алгоритм решения задачи о
назначениях2, и позволяющие установить взаимно однозначное соответствие
между фразами и атрибутами.
1
Pazienza, M.T. Combining ontological knowledge and wrapper induction techniques into an eretail system / Maria Teresa Pazienza, O. Stellato, Michele Vindigni // Workshop on Adaptive Text
Extraction and Mining (ATEM03) held with ECML/PKDD – Cavtat, 2003.
Пападимитриу Х. Комбинаторная оптимизация: Алгоритмы и сложность / Пападимитриу
Х., Стайглиц К.; пер. с англ. В. Б. Алексеева. – М. : Мир, 1985.
2
6
Разработанная математическая модель извлечения значений атрибутов из
кратких текстовых спецификаций является новым вкладом в развитие теории
сопоставления записей и систем извлечения информации.
Практическая значимость
Результаты исследования могут быть использованы на практике в
системах электронной коммерции как компонент интеллектуального,
ориентированного на конечного потребителя поиска среди товарных
предложений различных фирм, так и для внутренней агрегации и
инвентаризации товаров, поступающих на склад торговой организации от
оптовых поставщиков.
Апробация и реализация результатов работы
По выполненным диссертационным исследованиям опубликовано 6
работ, в том числе три [1], [2], [4] – в ведущих научных журналах,
рекомендованных ВАК РФ.
Результаты диссертационного исследования докладывались, обсуждались
и получили одобрение специалистов на научных конференциях и семинарах:
XLVII научной конференции МФТИ, Москва-Долгопрудный, 2004 г.; III
Международном научно-практическом семинаре «Интегрированные модели и
мягкие вычисления в искусственном интеллекте», Коломна, 2005 г.;
Всероссийской
научно-технической
конференции
«Информационные
технологии», Воронеж, 2005 г.
Теоретические результаты исследования реализованы в виде комплекса
программ. Результаты, полученные на тестовых данных, подтверждают
возможность практического применения алгоритмов, разработанных в данном
исследовании.
Положения, выносимые на защиту
На защиту выносятся следующие основные положения:
1.
Математическая модель процесса
атрибутов из кратких текстовых спецификаций.
извлечения
значений
2.
Алгоритм поиска известных системе фраз в текстовой
спецификации.
3.
Алгоритм поиска соответствия атрибутам для неизвестных
фраз, использующий серию поисков оптимального паросочетания в
двудольном графе с учётом результатов предыдущего нахождения
оптимального паросочетания. Полиномиальный алгоритм для решения
7
этой задачи, использующий поиск оптимального паросочетания в
произвольном графе.
4.
Строковая метрика, учитывающая особенности предметной
области, такие как возможная транслитерация русских букв латинскими.
Структура и объём диссертации
Диссертация состоит из введения, пяти глав, заключения, списка
использованных источников и одного приложения. Работа изложена на 143
страницах, список использованных источников содержит 87 наименований.
Содержание работы
Во введении обосновывается актуальность темы, даётся обзор
исследований, посвящённых решаемым в диссертации задачам, формулируются
цели исследования и основные положения, выносимые на защиту,
обосновывается научная и практическая значимость выполненного
исследования.
В главе 1 предлагается математическая модель для задачи извлечения
значений атрибутов из кратких текстовых спецификаций.
Вводится предположение, состоящее в том, что все рассматриваемые
объекты принадлежат одной категории c , например категории центральных
процессоров для настольных персональных компьютеров. Предполагается
известным множество атрибутов A для категории c , причём атрибуты
разделены на обязательные и необязательные, т.е. A  Am  Ao , Am  Ao   ,
где Am - обязательные атрибуты, а Ao - необязательные. Атрибуты
необязательны в том смысле, что для одних объектов категории они могут
присутствовать, а для других - нет. Например, процессоры серии Core 2 Duo
имеют модельный номер, а ранние процессоры серии Pentium 4 – нет.
Каждому атрибуту соответствует множество значений, которое не
задаётся изначально, а строится динамически. Значениями атрибутов являются
синсеты (synset). Синсет, или кольцо синонимов, – это множество S из одного
или нескольких синонимов, которые взаимозаменяемы в некотором контексте с
сохранением истинностного значения высказываний, содержащих их. В данной
работе принимается более специфичное определение: синсет – это множество
S фраз (определяется ниже), семантически соответствующих одному и тому
же значению некоторого атрибута (т.е. контекстом в данном случае является
атрибут). Далее в работе термины «синсет» и «значение атрибута»
используются как взаимозаменяемые. Множество {“1,8GHz”, “1.8 Ghz”,
“1.80ГГц”, “1,80 ГГц”} – это пример синсета, являющегося значением атрибута
8
«Тактовая частота» для категории процессоров. В каждом синсете выделяется
некоторая фраза c  S , которая объявляется канонической, и которая
используется для нормативного (желаемого экспертом) описания объекта.
Скажем, для приведённого примера синсета канонической может быть фраза
“1,80 ГГц”.
Для иллюстрации приведём значения атрибутов товарного предложения
одного процессора (Intel Core 2 Duo E4300 в коробочной поставке).
Русское название
атрибута
Английское
название атрибута
Значение
фраза)
Производитель
Vendor
Intel
Серия
Line
Core 2 Duo
Модельный номер
Model Number
E4300
Тактовая частота
Frequency
1,8 ГГц
Объём кэша 2-го уровня
L2 Cache
2 МБ
Частота системной шины
FSB
800 МГц
Разъём
Socket
LGA775
Тип поставки
Packaging
BOX
(каноническая
Таблица 1. Значения атрибутов товарного предложения одного процессора
В описании может быть указание на категорию, например «Процессор
Intel "Core 2 Duo E4300" (1.80ГГц, 2МБ, 800МГц, EM64T) Socket775». Поэтому
дополнительно вводится понятие необязательного атрибута принадлежности
категории, состоящего из единственного синсета (т.к. категория
зафиксирована).
В работе принимается следующее ограничение: одна и та же фраза не
может принадлежать различным синсетам одного и того же атрибута. Это
ограничение вызвано следующим соображением. Атрибут определяет контекст,
а в рамках одного контекста фраза не должна иметь больше одного значения.
Краткую текстовую спецификацию x (частично структурированное
описание объекта), являющуюся последовательностью символов – строкой
текста, после прохождения лексического анализа можно рассматривать как
последовательность слов wi , 1  i  n . Например, принимая пробелы и запятые
за разделители, спецификацию “CPU Intel Core 2 Duo E4300, 1,8GHz, 2Mb,
800MHz Socket-775 OEM” можно рассматривать как последовательность слов
9
(“CPU”, “Intel”, “Core”, “2”, “Duo”, “ E4300”, “1”, “8GHz”, “2Mb”, “800MHz”,
“Socket-775”, “OEM”). Слово w представляет собой некоторую подстроку
x[begin[ w]...end[ w]] спецификации x , где begin[w] – начальный символ слова
w , а end[w] - конечный. Фраза p определяется как результат конкатенация (с
сохранением промежуточных разделительных символов исходной строки)
одного или нескольких подряд идущих слов wi , ..., wi k 1 ; k  1, i  k  1  n . Т.е.
имеет место равенство p  wi  ...  wi k 1  x[begin[ wi ]...end [ wi k 1 ]] , где 
обозначает конкатенацию с сохранением разделительных символов из x .
Например, конкатенация слов “1” и “8GHz” из приведённого выше примера
представляет собой фразу “1,8GHZ”. Под сегментацией P  ( p1 ,.., pn )
спецификации x будем понимать разбиение x на фразы: x  p1  ...  pn .
В исследовании делается предположение о том, что краткие текстовые
спецификации в основном представляют собой последовательность фраз,
соответствующих значениям атрибутов описываемого объекта. Под
соответствием (сопоставлением) фраз атрибутам понимается частично
определённая биекция (взаимно-однозначное соответствие) M : P  A .
Далее в работе показывается возможность построения функции
релевантности ra ( p) фразы p атрибуту a . Большее значение функции
релевантности означает большую степень достоверности того, что фраза
принадлежит одному из синсетов атрибута. Например, можно утверждать, что
для атрибута a «Тактовая частота» центральных процессоров для
персональных компьютеров справедливо ra (" Intel") < ra ("800MHz" ) <
ra ("1,8GHz" ) (тактовая частота современных процессоров превышает 1 ГГц).
Интерес
представляет
функция
совокупной
релевантности
r (( p1 , a1 ),...( pm , am )) сопоставления последовательности фраз соответствующим
атрибутам. Используя естественное предположение о взаимной независимости
по предпочтениям, функцию совокупной релевантности можно представить как
аддитивную
по
атрибутам
функцию
релевантности,
т.е.
r (( p1 , a1 ),...( pm , am ))   f ( pi , ai ) . Если нормировать функции релевантности
i
отдельным атрибутам на отрезок [0,1] (где 0 означает полную нерелевантность
фразы атрибуту, а 1 – достоверную принадлежность фразы одному из синсетов
атрибута), то функцию совокупной релевантности естественно записать как
r (( p1 , a1 ),...( pm , am ))   wi rai ( pi ) , где весовые коэффициенты wi зависят лишь
i
от обязательности/необязательности
обязательных атрибутов больше).
10
атрибута
(весовой
коэффициент
После введения основных определений предлагается общая схема
решения задачи извлечения значений атрибутов из краткой текстовой
спецификации x в два этапа.
На первом этапе максимизируется функция совокупной релевантности по
всем возможным разбиениям x на последовательность фраз и по всем
возможным сопоставлениям фраз атрибутам. Аргумент максимизации,
представляющий оптимальное разбиение x на фразы с соответствующими
атрибутами, передаётся на второй этап. Описанию алгоритма максимизации
посвящена вторая глава. Сказанное можно записать в виде формулы:
arg max max r ( M ) ,
M
P
где P - сегментация x на фразы, M - сопоставление фраз атрибутам, r функция совокупной релевантности.
На втором этапе для каждой фразы p находится соответствие
некоторому синсету атрибута a , к которому она отнесена. Этот поиск
осуществляется следующим образом. Сначала ищется синсет из известных
синсетов атрибута, доставляющий максимум функции релевантности фразы
синсету (описана ниже). Обозначим этот максимум как m  max r ( p, S ) ; синсет,
Sa
доставляющий максимум, пусть будет S  arg max r ( p, S ) . Если максимум m
*
Sa
больше или равен некоторому пороговому значению 1 , то в качестве синсета,
соответствующего фразе p , системой предлагается S * . Если m меньше порога
1 , но больше или равен некоторому порогу  2 , 0   2  1 , то в качестве
синсета, соответствующего фразе p , предлагается новый (не известный ранее)
синсет S  атрибута a . S  полагается равным { p} , т.е. содержащим единственно
фразу p , которая полагается канонической. Задача автоматического
построения канонической фразы в данном исследовании не рассматривается.
Если же m   2 , то фраза p полагается неотносящейся к атрибуту a и
игнорируется.
Найденное соответствие фраз синсетам предъявляется эксперту для
верификации. Человек проверяет предложенное соответствие и задаёт
правильные сочетания фраза – синсет. Заданное человеком соответствие фраз
синсетам сравнивается с предложенным системой; на основании сравнения
определяется число ошибок. Возможные ошибки описаны в четвёртой главе.
По заданному экспертом соответствию новые фразы (и синсеты) заносятся в
базу знаний.
11
Вводится понятие функции подобия f (t1 , t 2 ) двух текстовых строк t1 и t 2 ,
принимающей диапазон значений от 0 до 1. Функцию подобия можно
построить, используя строковые метрики (например, расстояние Левенштейна).
Строковым метрикам посвящена третья глава.
Определив функцию подобия двух строк, можно определить функцию
релевантности r ( p, S ) фразы p синсету S как максимальное значение
функции подобия фразы p фразам синсета S : r ( p, S )  max f ( p, q) . А функцию
qS
релевантности r ( p, a) фразы p атрибуту a можно определить как максимум
функции релевантности фразы p синсетам атрибута a : r ( p, a)  max r ( p, S ) .
Sa
В главе 2 разработаны алгоритмы нахождения соответствия фраз
спецификации атрибутам, максимизирующего функцию совокупной
релевантности.
Показан экспоненциальный характер роста числа возможных разбиений
последовательности слов на фразы s(n, k ) , равного обобщённому числу
Фибоначчи f n(k1) . Чтобы уменьшить последствия этого комбинаторного взрыва,
предлагается перед максимизацией совокупной функции релевантности по всем
возможным разбиениям на фразы и по всем возможным сопоставлениям фраз
атрибутам сначала сделать для спецификации (сразу после лексического
анализа) поиск известных фраз из синсетов.
Для устранения возможной неоднозначности предлагается применить
следующую эвристику: более длинным фразам из синсетов отдаётся
предпочтение. Пусть OP – множество известных фраз из синсетов, в котором
фразы упорядочены следующим образом: более длинные (по количеству
символов) фразы располагаются выше более коротких фраз, а фразы с
одинаковым числом символов упорядочиваются в лексикографическом
порядке. Тогда можно использовать следующий алгоритм.
Рекурсивная функция Lookup_Known_Phrases принимает на вход
ассоциативный массив (map) KB, ключами которого являются фразы из
известных синсетов, а значениями – множество синсетов, в которые фраза
входит; последовательность (массив) ещё не распознанных слов W
спецификации x; множество FA атрибутов, которым ещё не найдено
соответствие. Возвращает функция ассоциативный массив R , ключами
которого являются фразы спецификации x, а значениями – сопоставленные
фразам синсеты. Внутренняя переменная IR описывает промежуточный
результат и является ассоциативным массивом, ключами которого являются
фразы спецификации, а значениями – множества синсетов – кандидатов на
12
соответствие. Вспомогательная переменная AL представляет множество
атрибутов, которым на данной итерации возможно сопоставить фразы.
Переменная w представляет собой матрицу весов, индексами которой являются
фразы и атрибуты. Переменная PA является ассоциативным массивом,
соответствующим (частичной) биекции фраз на атрибуты, максимизирующей
длину распознанных фраз.
Схема работы алгоритма на псевдокоде3 выглядит так:
Lookup_Known_Phrases(KB, W, FA)
1 OP ← 
2 for i ← 1 to length[W]
3
do for j ← i to length[W]
do if слова W[i],…,W[j] идут подряд в x
4
then Insert_Sorted(OP, W[i]  …  W[j])
5
6
IR ← 
7 while OP ≠ 
8
do p ← Dequeu(OP)
if Contains(KB, p) and Filter_By_Attributes(KB[p], FA) ≠ 
9
then IR[p] ← Filter_By_Attributes(KB[p], FA)
10
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
Алгоритмы: построение и анализ. / Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л.
Ривест, Клиффорд Штайн. – 2-ое изд. – М. : Издательский дом «Вильямс», 2007.
3
13
17
do for (для) всех s из IR[p]
do w[p][attribute[s]] ← length[p]
18
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]
then R[p] ← s
24
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
В диссертации даются пояснения к работе алгоритма, и обосновывается
оценка общего время работы – O(n 2 [log( m)  n 2 ]) , где m – количество фраз из
известных синсетов, n – количество слов в спецификации.
Будем говорить, что последовательность mi получена расщеплением
элемента последовательности li , если длина последовательности mi ровно на
li
единицу
больше
длины
последовательности
и
Обратное
p[ (i  p  li  mi ) & (l p  m p  m p1 ) & (i  p  l p  m p1 )] .
отношение будем называть слиянием двух соседних элементов.
В диссертации излагается и обосновывается алгоритм, генерирующий все
сегментации, причём сгенерированные подряд сегментации получены либо
расщеплением элемента, либо слиянием двух соседних элементов.
После поиска фраз из известных синсетов в обрабатываемой
спецификации x мы получаем разбиение атрибутов на два класса: атрибуты
Am , поставленные в соответствие фразам x , и атрибуты A f , оставшиеся без
соответствия ( A f  A \ Am ) – свободные атрибуты. Слова wi также
14
разбиваются на поставленные в соответствие (фразам из известных синсетов) и
оставшиеся без соответствия. Таким образом, мы получаем несколько участков
без соответствия – максимальных по длине отрезков последовательности
слов, включающих слова без соответствия. Пример изображён на рис. 1.
Получаем следующую задачу: найти оптимальное соответствие между
некоторым разбиением на фразы участков без соответствия атрибутам из A f .
Рис. 1. Найденное соответствие фраз спецификации атрибутам (белый фон). Участки
без соответствия и свободные атрибуты (чёрный фон).
Пусть имеется всего l участков без соответствия, имеющих длины ni ,
1  i  l . При ограничении в максимум k слов в фразе число разбиений
l
l
1
1
составляет    s (ni , k )  f n(ik)1 . Теоретически в худшем случае  растёт
экспоненциально с ростом n , но в лучшем случае без соответствия известным
фразам из синсетов остаётся небольшое число слов.
Чтобы найти наилучшее соответствие оставшимся атрибутам, можно
просто использовать венгерский алгоритм решения задачи о назначениях  раз
для каждого варианта разбиения на фразы с целью найти соответствие фраз
атрибутам, максимизирующее совокупную функцию релевантности, после чего
выбрать наилучшее разбиение на фразы. Трудоёмкость такого подхода
составляет O(  n 3 ) при использовании обычного венгерского алгоритма 
раз.
Далее описывается подход, позволяющий использовать результаты
работы венгерского алгоритма для предыдущего разбиения и уменьшить тем
самым общее время работы.
В диссертации излагается и обосновывается алгоритм, позволяющий
генерировать сегментации для нескольких участков, отличающиеся друг от
друга лишь одним слиянием или расщеплением.
15
Рассмотрим теперь, как результаты работы венгерского алгоритма для
одной сегментации могут быть использованы в венгерском алгоритме для
другой сегментации, полученной в результате расщепления или слияния
элементов. Расщепление или слияние фраз в сегментации эквивалентно
изменению весов рёбер, инцидентных двум вершинам.
Теорема 1. Если для некоторого двудольного графа G с помощью
венгерского алгоритма было найдено оптимальное паросочетание, то для графа
G  , полученного из G изменением весов рёбер, инцидентных некоторой
вершине v , оптимальное паросочетание можно найти за время O(| V |2 ) ,
используя результаты венгерского алгоритма для графа G .
Схема доказательства теоремы. Разметка, допустимая для G , останется
допустимой в G  , если мы обновим только значение для вершины v . Поэтому
паросочетание в подграфе равенства El графа G будет паросочетанием в
подграфе равенства E l графа G  , если из него удалить ребро, инцидентное v .
Поэтому, для нахождения оптимального паросочетания в G  требуется
выполнение только одной фазы венгерского алгоритма, что требует O(| V |2 )
операций.
Описанная выше оптимизация позволяет сократить общее время
нахождения соответствия атрибутам для неизвестных фраз с O (  n 3 ) до
O(n 3    n 2 ) .
Изложенный выше подход всё же является экспоненциальным в худшем
случае, хотя может достаточно быстро работать во многих реальных ситуациях.
Далее описывается полиномиальный алгоритм поиска соответствия фраз
атрибутам, использующий поиск оптимального паросочетания в произвольном
(не обязательно двудольном графе).
Пусть имеется q возможных фраз спецификации, оставшихся без
соответствия, и h свободных (оставшихся без соответствия) атрибутов, для
каждой пары фраза-атрибут известно значение функции релевантности
r ( p, a)  0 , требуется найти частично определённое взаимно-однозначное
соответствие фраз атрибутам {( pi , ai )} , максимизирующее сумму  r ( pi , ai ) , и
i
удовлетворяющее следующему условию: входящие в соответствие фразы не
должны иметь пересечения в исходной спецификации.
Построим следующий взвешенный граф. Множеством его вершин будут
фразы и атрибуты. Любая пара фраза-атрибут соединена ребром, имеющим вес
равный значению функции релевантности. Фразы, пересекающиеся в исходной
16
спецификации, соединены рёбрами с нулевым весом. Рёбер, соединяющих два
атрибута, нет. Также нет рёбер, соединяющих две непересекающиеся фразы.
Пример такого графа приведён на рис. 2.
Теорема 2. Паросочетание наибольшего веса в таким образом
построенном графе, за вычетом фраз, соединённых в паросочетании ребром, и
является искомым соответствием между фразами и атрибутами.
Существует алгоритм нахождения паросочетания максимального веса в
произвольном графе, родственный венгерскому. Время его работы составляет
O(| V |4 ) , что в нашем случае есть O (( q  h) 4 ) .
Рис. 2. Пример графа соответствия фраз атрибутам для двух атрибутов и трёх слов.
В главе 3 вводятся общие понятия о строковых метриках, упоминаются
расстояние Левенштейна и метрика Нидельмана-Вунша, описываются
аффинные модели; предлагается метрика, использующая специфику
рассматриваемой предметной области, являющаяся аффинной модификацией
метрики Нидельмана-Вунша.
17
Стоимость замены и удаления (добавления) различных символов можно
назначить, руководствуясь несколькими простыми соображениями. Прежде
всего, стоимость замены символов, отличающихся только регистром, должна
быть очень незначительной, возможно нулевой, т.к. в товарных предложениях
(и не только) использование регистра играет скорее роль оформления, как
например название фирмы “ASUS” в описаниях материнских плат “MB ASUS
P5Q Deluxe Socket 775 P45” и “MB Asus M3N-HT Deluxe/HDMI S AM2”, взятых
из одного и того же интернет-магазина.
Далее, стоимость замены одной буквы на другую букву должна быть
меньше стоимости замены буквы, скажем, на цифру, более общо замены
символа одной категории на символ другой категории. В качестве отправной
точки классификации символов можно взять категории Unicode.
Стоимость замены точки на запятую должна быть небольшой, в
частности потому, что в одних товарных предложениях рунета целая и дробная
часть числа отделяются запятой, согласно правилам русском языка, но во
многих других описаниях разделителем служит точка, как это принято в
англоязычных странах. Реальные примеры: «3,16GHz» и «2.66 ГГц».
Вообще, данный пример показывает, что в случае товарных предложений
компьютерных комплектующих часто смешиваются русские и английские
обозначения; иногда используется транслитерация. Довольно естественно
требовать того, чтобы стоимость русско-английской транслитерации букв была
меньше стоимости произвольной замены букв. Подобная мера позволит
системе находит соответствия между такими парами слов, как «CPU» и «ЦПУ».
Ещё одной особенностью является замена цифр. При определении того,
принадлежит ли фраза синсету, замена одной цифры на другую должно быть
дорогостоящей операцией, т.к., например, номера моделей могут различаться
всего одной цифрой. В то же время, замена одной цифры на другую может
считаться не очень дорогостоящей операцией при определении релевантности
фразы атрибуту.
Стоит также отметить, что в программной реализации алгоритма поиска
соответствия фраз атрибутам функция релевантности фразы атрибуту,
нормированная на отрезок [0,1], умножается на коэффициент 1   | p | , где  некоторый небольшой коэффициент, | p | - длина фразы, с целью мягкого
штрафа за оставшиеся без соответствия участки спецификации.
Численные значения параметров предложенной строковой метрики
можно настроить, используя обучение на основе алгоритма Баума-Уэлша для
скрытых моделей Маркова.
18
В главе 4 представлены программная реализация и полученные
экспериментальные результаты.
Программа извлекает значения атрибутов из описаний товарных
предложений и предлагает человеку для верификации. Тестирование
проводится на примере процессоров для настольных компьютеров. Априори в
систему закладывается только информация об атрибутах и пара значений для
каждого атрибута.
В качестве проверочных данных послужили 200 описаний процессоров,
взятых из 5 российских интернет-магазинов. Спецификации были
предварительно аннотированы вручную и перетасованы случайным образом.
Тестирование программы осуществлялось автоматически на базе
аннотированных спецификаций. Описания прогонялись через систему,
предложенные системой варианты сравнивались с заданными экспертом,
подсчитывалось число ошибок. Тестирование проводилось в двух режимах:
предварительного обучения на части тестовых данных с последующей
проверкой на оставшейся (экзаменационной) части; и инкрементального
(«онлайн») обучения без разделения тестового множества.
В получаемых
следующих видов:
результатах
работы
системы
возможны
ошибки
1. Система выделяет в исходной спецификации некоторую фразу и
ставит ей в соответствие синсет, но выделенная фраза не
подтверждается человеком. Иными словами, имеет место
выделение несуществующих фраз.
2. Система не выделяет в исходной спецификации некоторую фразу, в
то время как человек выделяет её и сопоставляет ей некоторый
синсет. Иными словами, осуществляется пропуск существующих
фраз.
3. Система правильно выделяет
неправильное значение атрибута.
фразу,
но
сопоставляет
ей
Заметим, что традиционное разделение ошибок на ошибки первого и
второго типа не совсем подходит описываемой системе.
Графики количества ошибок приведены в диссертации.
Полученные экспериментальные данные позволяют утверждать о
возможности применения результатов исследования на практике. Доля
ошибочно распознанных фраз от общего числа фраз быстро опускается ниже
19
1%. С процентом спецификаций, при извлечении информации из которых были
допущены ошибки, ситуация несколько хуже, но, тем не менее, в случае
инкрементального обучения он опускается ниже 10% после обработки около 70
спецификаций.
В главе 5 рассматривается вопрос унификации спецификаций в случае,
если список атрибутов не задан. Разрабатывается система, выдвигающая
гипотезы синонимии фраз и их необязательности.
Модификация оценок
достоверности гипотез выполняется с
использованием условных вероятностей (байесовский подход). Любому
предположению может быть приписана некая ненулевая априорная вероятность
того, что оно истинно, затем путём привлечения новых свидетельств
получается апостериорная вероятность истинности этого предположения. Если
выдвинутая гипотеза действительно верна, новые свидетельства должны
способствовать увеличению этой вероятности, в противном случае –
уменьшению.
Вероятность события А при условии, что произошло некоторое событие
В, называется условной вероятностью и обозначается через P( A | B) . По
P( A & B) P( B | A)
правилу Байеса P( A | B) 

P( A) . Пусть E – решение, в
P( B)
P( B)
поддержке которого участвует гипотеза Н. При подтверждении решения мы
повышаем
оценку
достоверности
гипотезы
Н
по
правилу
P ( H | E )  P ( H )
, где  - коэффициент инерции для повышения.
P ( H ) 
1 
Оценка достоверности действительно повышается, так как, если Н входит в Е
( E  [ H11 & ... & H n11 ]  ...  [ H1m & ... & H nmm ] , H  H ij ), то P( E | H )  P( E ) . При
отклонении решения мы понижаем оценку достоверности гипотезы Н по
P( H | E )  P( H )
правилу P( H ) 
, где  - коэффициент инерции для
1 
P( A & B ) P( B | A)
1  P( B | A)

P( A) 
P( A) , поэтому
понижения. P( A | B ) 
P( B )
P( B )
1  P( B)
оценка достоверности действительно понижается. Коэффициенты инерции
позволяют сглаживать резкие скачки в оценке достоверности, кроме того, они
не позволяют оценкам достоверности принимать краевые значения 0 и 1.
Если достоверность вывода вычисляется, считая различные вхождения
одной и той же гипотезы независимыми, то надо соответствующим образом
учесть это при использовании правила Байеса. Пусть при оценке достоверности
вывода
имеется
n
вхождений
гипотезы
H,
тогда
имеем
20
P( H1 & H 2 & ... & H n | E ) 
P( E | H1 & H 2 & ... & H n ) P( H1 & H 2 & ... & H n )
=
P( E )
P( E | H ) P n ( H )
, отсюда, повышенная оценка достоверности гипотезы H (без
P( E )
инерции)
вычисляется
как
P( H )  n P( H1 & H 2 & ... & H ) =
n
P( H1 & H 2 & ... & H n | E) = n
P( E | H )
* P( H ) .
P( E )
достоверности имеем P ( H )  n
Для
пониженной
оценки
1  P( E | H )
* P( H ) .
1  P( E )
В заключении приведены основные результаты исследования и
намечены направления дальнейшей работы.
В приложении приведены основные компоненты реализованного
программного комплекса.
Основные результаты и выводы диссертации
1. Разработана математическая модель для задачи извлечения
значений атрибутов из кратких текстовых спецификаций.
2. Предложен алгоритм поиска известных фраз в спецификации.
3. Разработан алгоритм поиска соответствия неизвестных системе
фраз атрибутам, использующий серию поисков оптимального
паросочетания в двудольном графе с учётом результатов
предыдущего нахождения оптимального паросочетания. Также
предложен полиномиальный алгоритм для решения этой задачи,
использующий поиск оптимального паросочетания в произвольном
графе.
4. Предложена строковая метрика, учитывающая специфику ряда
предметных областей (краткие спецификации объектов, описания
со смешанным использованием русских и английских терминов,
товарные предложения в электронных магазинах).
5. Разработанные модели реализованы в виде комплекса программ.
Проведён ряд экспериментов на данных, взятых из реальных
источников. Результаты экспериментов подтвердили возможность
практического
применения
предложенных
математических
моделей.
21
Список публикаций по теме диссертации
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.
В работах, выполненных с соавторами, соискателю принадлежат
следующие основные результаты:
[2] – алгоритм приближённой оценки вероятности;
[4] – правила переоценки достоверности гипотез;
[5], [6] – математическая модель унификации товарных предложений.
22
Ашихмин Андрей Михайлович
ИЗВЛЕЧЕНИЕ ИНФОРМАЦИИ ИЗ КРАТКИХ
ТЕКСТОВЫХ СПЕЦИФИКАЦИЙ С ЗАДАННЫМ
СПИСКОМ АТРИБУТОВ
Автореферат
Подписано в печать
2008. Формат 60х90 1/16.
Усл. печ. л. 1,0. Тираж 80 экз. Заказ №
Московский физико-технический институт
(государственный университет)
Печать на аппарате Rex-Rotary Copy Printer 1280. НИЧ МФТИ.
141700, г Долгопрудный Московской обл., Институтский пер., 9
тел.: (495) 4088430, факс (495) 5766582
23
Download