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

Изобретение относится к области вычислительной техники, в частности, к системам формирования лингвистических данных для поиска и анализа текстовых документов.
Классическая задача информационного поиска, с которой и началось развитие этой области, - это поиск документов, удовлетворяющих запросу, в рамках некоторой статической (на момент выполнения поиска) коллекции документов. Например, эта задача решается в рамках большинства современных справочных систем, таких как справочная система по операционной системе Windows.
Однако за последние сорок лет исследований список актуальных задач информационного поиска значительно расширился и теперь включает вопросы моделирования, классификации и кластеризации документов, проектирования архитектур поисковых систем и пользовательских интерфейсов, языки запросов, и т.д.
Для эффективного решения этого широкого спектра задач информационного поиска традиционных подходов и методов оказывается недостаточно.
Особенность поставленной технической задачи заключается в формировании информационного обеспечения систем поиска текстовой информации, гарантирующего точный и воспроизводимый поиск и анализ текстов, содержательно и тематически соответствующих тексту образцу.
Для решения поставленной задачи должно выполняться формирование по тексту образцу лингвистических данных для их последующего преобразования в запросы, используемые при поиске и анализе текстовой информации, определение по найденным документам их лингвистических данных для их преобразования в полностью аналогичные поисковым запросам характеристики найденных документов и анализ соответствия образца и каждого найденного документа на основании сравнения вышеуказанных характеристик - запросов, соответствующих документу образцу и найденным документам.
Известны системы, которые могли бы быть использованы для решения поставленной задачи (1, 2).
Первая из известных систем содержит блоки приема и хранения запросов, соединенные с блоками управления и обработки данных, блоки поиска и селекции, подключенные к блокам хранения данных и отображения, синхронизирующие входы которых соединены с выходами блока управления, и использует принципы поиска по ключевым словам и метод human annotation (1). В основе работы системы лежит метод сопоставления текстов и ряд других механизмов.
Существенный недостаток данной системы состоит в ее невысоком быстродействии, обусловленном длительными циклами поиска и анализа данных.
Известна и другая система, содержащая блоки обработки данных, информационные входы которых соединены с блоками приема запросов и управления, а выходы подключены к первой группе блоков памяти, центральный процессор, входы которого соединены с выходами блоков памяти первой группы и блоков обработки данных, а выходы соединены с входами блоков памяти второй группы и блоков отображения данных (2).
Система классифицирует страницы базового множества и связанные с ними страницы по количеству ссылок на них. Страница, ссылку на которую посчитало нужным поместить на свой сайт значительное число Web-мастеров, получает название authority и считается ценным источником информации. Узел, имеющий ссылки на множество authority-страниц, называется хабом (hub) и рассматривается как ценный источник ссылок.
Последнее из перечисленных выше технических решений наиболее близко к описываемому.
Его недостатки заключаются в невысокой точности выполнения запросов текстовых образов, обусловленной тем, что выполнение процедуры анализа текстов реализуется лишь по кратким аннотациям образов текстовых документов по единственному запросу.
Цель изобретения - повышение точности систем поиска и анализа текстовой информации путем реализации процедур формирования по текстовым документам не единственного набора лингвистических данных, а множества наборов лингвистических данных, предназначенных для построения по ним множества запросов, соответствующих тексту образцу и полностью аналогичных поисковым запросам характеристик найденных документов. При этом наборы данных отличаются один от другого минимальными допустимыми значениями относительной частоты словоупотребления входящих в них слов.
Поставленная цель достигается тем, что модуль приема массива кодов слов текстов, первый и второй информационные входы которого являются первым и вторым информационными входами системы, а синхронизирующий вход модуля приема массива кодов слов текстов является первым синхронизирующим входом системы, при этом один информационный вход модуля приема массива кодов слов текстов предназначен для приема кодов слов, другой информационный вход модуля приема массива кодов слов текстов предназначен для приема величины размерности входного массива кодов слов, а синхронизирующий вход модуля приема массива кодов слов текстов предназначен для приема синхронизирующих сигналов занесения кодов слов текстов и величины размерности входного массива кодов слов текстов в модуль приема массива кодов слов текстов, модуль управления
выборкой исходных кодов, первый и второй информационные входы которого соединены с первым и вторым информационными выходами модуля приема массива кодов слов текстов соответственно, первый и второй синхронизирующие входы модуля управления выборкой исходных кодов подключены к первому и второму синхронизирующим выходам модуля приема массива кодов слов текстов соответственно, адресный выход является первым адресным выходом системы, предназначенным для выдачи адресов выборки массивов данных, синхронизирующий выход модуля управления выборкой исходных кодов является первым синхронизирующим выходом системы, предназначенным для управления выборкой массивов данных, а сигнальный выход модуля управления выборкой исходных кодов является сигнальным выходом системы, модуль построения частотного словаря корпуса текстов и отдельного текста, один информационный вход которого является третьим информационным входом системы, предназначенным для приема кодов слов корпуса текстов или отдельного текста, другой информационный вход модуля построения частотного словаря корпуса текстов и отдельного текста подключен к выходу модуля приема массива кодов слов текстов, а синхронизирующий вход модуля построения частотного словаря корпуса текстов и отдельного текста является вторым синхронизирующим входом системы, предназначенным приема синхронизирующих сигналов для занесения кодов слов текстов в модуль построения частотного словаря корпуса текстов и отдельного текста, при этом первый и второй синхронизирующие выходы модуля построения частотного словаря корпуса текстов и отдельного текста являются вторым и третьим синхронизирующими выходами системы
1
2
I
i
i+1
соответственно и подключены к третьему и четвертому синхронизирующим входам модуля управления выборкой исходных кодов соответственно, отличающаяся тем, что система содержит модуль формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления, управляющий вход которого является управляющим входом системы и предназначен для задания в форме набора I чисел N, N,..., N, где N<N, i=1,...,I-1, множества допустимых значений минимальной относительной частоты словоупотребления для определения анализируемых подмножеств словарного состава документов, первый информационный вход модуля формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления предназначен для приема частотного словаря корпуса текстов и подключен к первому информационному выходу модуля построения частотного словаря корпуса текстов и отдельного текста, второй информационный вход модуля формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления предназначен для приема частотного словаря отдельных текстов и подключен к второму информационному выходу модуля построения частотного словаря корпуса текстов и отдельного текста, синхронизирующий вход модуля формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления соединен с третьим синхронизирующим выходом модуля построения частотного
словаря корпуса текстов и отдельного текста, при этом информационные выходы модуля формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления являются группой информационных выходов системы, предназначенных для выдачи лингвистических данных отдельных документов в форме числа I наборов подмножеств словарного состава каждого документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления, для их последующего преобразования в характеристики документов, используемые при поиске и анализе текстовой информации, а синхронизирующие выходы модуля формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления являются группой синхронизирующих выходов системы.
Сущность изобретения поясняется чертежами, где на фиг.1 представлена структурная схема системы, на фиг.2 - структурная схема модуля приема массива кодов слов текстов, на фиг.3 - структурная схема модуля управления выборкой исходных кодов, на фиг.4 - структурная схема модуля построения частотного словаря корпуса текстов и отдельного текста, на фиг.5 - структурная схема модуля формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления, на фиг.6 - структурная схема узла идентификации массивов данных.
Система (фиг.1) содержит модуль 1 приема массива кодов слов текстов, модуль 2 управления выборкой исходных кодов,
модуль 3 построения частотного словаря корпуса текстов и отдельного текста и модуль 4 формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления.
На фиг.1 также показаны первый 11, второй 12 и третий 13 информационные входы системы, первый 20 и второй 21 синхронизирующие входы системы, и управляющий 22 вход системы, а также первый 25 и второй 26 адресные выходы системы, группа 30-32 информационных выходов системы, первый 35 синхронизирующий выход системы, сигнальный выход 36 системы, второй 37 и третий 38 синхронизирующие выходы системы, и группа 39-41 синхронизирующих выходов системы.
Модуль 1 (фиг.2) приема массива кодов слов текстов содержит регистры 50, 51, программируемое ПЗУ 52, триггер 53, элементы 54, 55 И, элементы 56-58 задержки. На чертеже показаны информационные 11, 12 входы и синхронизирующий 20 вход системы, а также информационные 61, 62, адресный 63 и синхронизирующие 64, 65 выходы.
Модуль 2 (фиг.3) управления выборкой исходных кодов содержит сумматор 70, счетчик 71, компаратор 72, элементы 73-74 ИЛИ, элемент 75 задержки. На чертеже показаны информационные 80, 81 и синхронизирующие 82-85 входы, а также адресный 25, синхронизирующий 35 и сигнальный 36 выходы.
Модуль 3 (фиг.4) построения частотного словаря корпуса текстов и отдельного текста содержит регистр 90, компаратор 91, счетчики 92, 93, элемент 94 ИЛИ и элементы 95-98 задержки. На чертеже показаны информационные 13 и 99, и синхронизирующий
21 входы, а также первый 17, второй 18 и третий 19 информационные выходы и первый 27, второй 28 и третий 29 синхронизирующие выходы.
Модуль 4 (фиг.5) формирования анализируемых подмножеств словарного состава документа, различающихся допустимыми значениями минимальной относительной частоты словоупотребления содержит регистры 101-103, сумматор 104, умножитель 105 и узел 106 идентификации анализируемых текстовых массивов. На чертеже показаны первый 14 и второй 15 информационные входы, управляющий 16 и синхронизирующий 23 входы, а также группа 30-32 информационных и группа 39 -41 синхронизирующих выходов.
Узел 106 (фиг.7) идентификации анализируемых текстовых массивов модуля 4 содержит регистры 120-122, компараторы 123-124, счетчики 126-128, элементы 126-128 задержки. На чертеже показаны информационный 112, синхронизирующий 113 и управляющий 114 входы, а также группа 30-32 информационных и группа 39-41 синхронизирующих выходов.
Все узлы и элементы системы выполнены на стандартных потенциально-импульсных элементах.
Рассматриваемая система предназначена для поиска и анализа текстов, содержательно похожих на предложенный пользователем образец. Образец может быть найден пользователем системы в доступных информационных ресурсах или сформулирован самостоятельно.
Подобно известным техническим решениям система выполняет преобразование текста-образца в запрос, используемый для поиска и анализа найденной информации, по найденным документам определяет их характеристики и анализирует
соответствие образца и каждого найденного документа на основании указанных характеристик.
Работа системы начинается с построения частотного словаря корпуса текста и отдельного текста.
Входные данные системы: массив чисел, где каждое слово из текста представлено его кодом, другими словами имеется массив чисел-кодов с последовательным выбором. Отличие массива корпуса текстов от массива отдельного текста отсутствует, это просто два разных массива чисел разделенных в пространстве.
Решение задачи построения частотного словаря корпуса текста и отдельного текста реализуется по следующему алгоритму:
- формируются адрес выборки (области памяти хранилища данных) для извлечения исходных кодов и адрес области памяти для размещения результата;
- первая выборка первого кода из массива источника, т.е. считывание кода из ячейки, где он хранится. Дальнейшее считывание будет происходить последовательно пока не будут считаны все элементы входного массива;
- в области памяти хранилища данных, где будут хранится коды слова со счетчиками, производится проверка на присутствие этого кода. Если код есть, то счетчик при этом слове (тоже ячейка памяти) увеличивается на единицу, если кода нет, то происходит запись кода в новую ячейку и значение счетчика устанавливается в единицу;
- указанная последовательность операций выполняется в цикле до тех пор, пока не будут считаны ВСЕ коды из массива источника.
Алгоритм запускается два раза: один раз для корпуса текстов, второй для отдельного текста. В результате получается два массива, один для корпуса текстов второй для отдельного документа.
Размер входного массива вводится в систему с входа 12, а код первого текстового слова массива 11 поступает в систему с входа 11. Размер массива и код первого текстового слова заносятся в регистр 50 модуля 1 синхронизирующим импульсом с входа 20.
До приема кода первого текстового слова триггер 53 модуля 1 находился в исходном состоянии, при котором высоким потенциалом с инверсного выхода триггера 53 элемент 55 И был открыт, а элемент 54 И низким потенциалом с прямого выхода триггера 53 был закрыт.
С приходом на вход 20 системы первого синхронизирующего импульса, он проходит элемент 55 И и поступает на вход фиксированной ячейки памяти программируемого ПЗУ 52, в которой хранится базовый адрес зоны памяти хранилища данных, в котором хранятся исходные коды.
Базовый адрес массива данных исходных кодов считывается из ПЗУ 52 на вход регистра 51, куда и заносится синхронизирующим импульсом, поступающим с выхода элемента задержки 57 на синхронизирующий вход регистра 51.
Таким образом, на выходе регистра 51 будет сформирован код начального адреса считывания массива исходных кодов, который с выхода 61 модуля 1 поступает через вход 80 модуля 2 поступает на один вход сумматора 70, на другой вход которого подаются показания счетчика 71, который к этому моменту времени находится в исходном состоянии.
Другими словами, на второй вход сумматора 70 поступает нулевой код со счетчика 71.
Параллельно с этим процессом, синхронизирующий импульс с выхода элемента 57 модуля 1, во-первых, поступает на прямой вход триггера 53 и устанавливает его в единичное состояние, при
котором выходными потенциалами триггера 53 элемент 55 И будет закрыт, а элемент 54 И - открыт, в результате чего, при поступлении очередного кода текстового слова синхронизирующий импульс с входа 20 пройдет по другой цепи на выход 65 модуля 1.
Во-вторых, синхронизирующий импульс с выхода элемента 57 задержки вновь задерживается элементом 58 на время занесения кода базового адреса в регистр 51 и с выхода 64 модуля 1 поступает на вход 82 модуля 2, где проходит элемент 73 ИЛИ и подается на синхронизирующий вход сумматора 70.
По этому синхронизирующему импульсу сумматор суммирует код базового адреса с входа 80 модуля 2 с нулевым кодом счетчика 71, в результате чего на выходе сумматора останется базовый адрес начала считывания массива исходных кодов. Этот код с выхода сумматора 70 поступает на адресный выход 25 системы, и далее выдается на адресный вход хранилища данных.
Параллельно с этим, синхронизирующий импульс с выхода элемента 73 ИЛИ поступает на вход элемента 75, где задерживается на время срабатывания сумматора 70 и далее через выход 35 системы выдается на вход первого канала прерывания сервера хранилища данных.
По этому сигналу сервер хранилища данных переходит на подпрограмму считывания содержимого ячейки памяти хранилища данных, адрес которой сформирован на выходе 25 системы, и передачи его на вход 13 модуля 3, откуда код первого считанного текстового кода записывается в регистр 90 синхронизирующим импульсом сервера, поступающим на вход 21 системы.
Структура считанного кода текстового слова имеет следующий вид:
КОД
КОД
Текстовое слово
Коэффициент, значение которого характеризует частоту словоупотребления данного текстового слова
С первого выхода регистра 90 код собственно текстового слова поступает на один вход компаратора 91, а со второго выхода полная кодограмма считанного текстового слова выдается на выход 28 системы.
На другой вход 99 компаратора 91 с выхода 63 модуля 1 к этому моменту времени подан код текстового слова из первой записи входного массива.
По синхронизирующему импульсу с входа 21, задержанному элементом 95 задержки, компаратор 91 сравнивает входные коды, и, если входные коды совпали, то на одном из них формируется сигнал «ДА», который, во-первых, через элемент 94 ИЛИ поступает на счетный вход младших разрядов регистра 90, работающих в режиме счетчика, и увеличивает значение коэффициента частоты словоупотребления на единицу.
Во-вторых, синхронизирующий импульс задерживается элементом 97 задержки на время срабатывания регистра 90 и поступает на счетный вход счетчика 93, который формирует адрес записи кода текстового слова.
И, в-третьих, синхронизирующий импульс с выхода элемента 97 задерживается элементом 98 на время формирования адреса записи и через выход 37 системы выдается на вход второго канала прерывания сервера хранилища данных. По этому сигналу сервер переходит на подпрограмму записи текстового слова с выхода 28 по адресу с выхода 26 и выдачи сигнала на считывание очередного входного кодового слова.
Если же входные коды не совпали, то сигнал формируется на другом выходе компаратора «НЕТ», который также через элемент 94 ИЛИ поступает на счетный вход младших разрядов регистра 90, работающих в режиме счетчика, и увеличивает значение коэффициента частоты словоупотребления на единицу.
Во-вторых, синхронизирующий импульс поступает на счетный вход счетчика 92, который формирует адрес записи кода текстового слова.
И, в-третьих, синхронизирующий импульс с указанного выхода компаратора задерживается элементом 96 на время формирования адреса записи и через выход 38 системы выдается на вход второго канала прерывания сервера хранилища данных. По этому сигналу сервер переходит на подпрограмму записи текстового слова с выхода 28 по адресу с выхода 37 и выдачи сигнала на считывание очередного входного кодового слова.
Кроме того, синхронизирующие импульсы с выходов 37 и 38 через входы 84 и 85 соответственно поступают через элемент 74 ИЛИ на счетный вход счетчика 71, подсчитывающего число слов текстов, прошедших описанную процедуру обработки.
Показания счетчика 71 также поступают на один вход компаратора 72, на другой вход которого с выхода 62 модуля 1 через вход 81 модуля 2 поступает код размерности массива входных данных.
С поступлением очередного кода текстового слова на вход 11 синхронизирующий сигнал с выхода 65 модуля 1 через вход 83 модуля 2 поступает на синхронизирующий вход компаратора 72, который по этому сигналу сравнивает текущие показания счетчика 71 с кодом размерности массива с входа 81.
До тех пор пока, показания счетчика 71 будут меньше кода размерности массива, сигнал с выхода «меньше» компаратора 72 через элемент 73 ИЛИ будет поступать на вход сумматора 70, формирующего очередной адрес считывания, и на выход 35, обеспечивая считывание исходных кодов.
Как только показания счетчика 71 станут равными значению размерности входного массива, компаратор 72 зафиксирует этот момент выдачей сигнала на выход 36 об окончании формирования частотных словарей (последовательные массивы с кодами слов и частотами их словоупотребления).
Таким образом, заранее определено количество результирующих массивов результатов (I штук) и известны пороги - некоторые табличные числа для каждого массива результата, задаваемые через управляющий вход системы.
Сигнал с выхода 36 системы поступает на вход четвертого канала прерывания сервера, по которому сервер хранилища данных начинает обработку сформированных массивов кодов слов текстов по следующему алгоритму.
Вначале выбирается первый код из массива частотного словаря текста, запоминается значение счетчика при этом коде (частота словоупотребления - счетчик).
Затем осуществляется поиск такого же кода в массиве корпуса текстов и так же запоминается значение счетчика.
Затем производится поиск такого же кода в массиве коэффициентов и запоминается значение коэффициента соответствующее этому коду.
1
2
I,
i
i+1
Найденные сервером коды через входы 14 и 15 модуля 4 заносятся в регистры 101-103 модуля 4 соответственно синхронизирующим импульсом, поступающим на вход 23, а на управляющий вход 22 поступают заданные значения в форме набора I чисел N, N,..., N где N<N, i=1,...,I-1, множества допустимых значений минимальной относительной частоты словоупотребления для определения анализируемых подмножеств словарного состава документов.
После этого сумматор 104 по синхронизирующему сигналу с входа 23, задержанному элементом 107 на время приема кодов суммирует показания регистров 101 и 102, т.е. суммирует две частоты (два числа - значения двух счетчиков).
Полученный результат поступает на вход умножителя 105, где по синхронизирующему импульсу с выхода элемента 108 задержки умножается на коэффициент найденный выше в соответствующем массиве, хранящийся в регистре 103.
Полученный результат с выхода 111 умножителя поступает на вход 112 узла 106, где полученный цифровой результат сравнивается с цифровым значением порога соответствующий массиву результата под номером 1, хранящемуся в регистре 120 (каждому массиву результату заранее поставлено в качестве порога для отбора туда элементов число - это элемент в отдельном массиве из I элементов).
Если значение больше или равно порогу, то сигнал с выхода первого выхода компаратора поступает на счетный вход счетчика 126 адреса и устанавливает очередной адрес записи. Кроме того, этот же импульс после задержки элементом 129 поступает на выход 39 системы в качестве сигнала управления записью кода из массива частотного словаря в массив результата.
После этого осуществляется переход к массиву результата номер 2, и этот пункт алгоритма повторяется всего I раз для всех массивов результата по очереди.
Затем выбирается второй код из частотного словаря документа и все операции алгоритма повторяются в цикле пока не будут считаны ВСЕ коды из массива частотного словаря текста.
i
В результате реализации данного алгоритма в хранилище данных формируется совокупность нумерованных массивов N1...N с кодами слов из текста (входного массива - частотного словаря документа).
Одному частотному словарю (массиву корпуса текстов или одного текста) соответствует I массивов результата, где в каждом массиве записаны коды слов и больше ничего. Каждый массив имеет имя - для определенности будем считать, что это его номер от 1 до I.
Количество элементов в каждом массиве результата в предельном случае может быть равно количеству элементов в частотном словаре ИСТОЧНИКА (на самом деле элементов будет меньше). Заранее нельзя сказать, сколько именно будет элементов в каждом массиве, но можно зарезервировать область памяти равную количеству кодов слов в массиве частотного словаря одиночного текста.
В результате работы системы для каждого документа будет сформировано I массивов словарного состава документа в виде массивов кодов слов, различающихся допустимыми значениями минимальной относительной частоты словоупотребления.
Таким образом, введение нового модуля и новых конструктивных связей позволило существенно повысить точность и воспроизводимость поиска и анализа документов путем реализации процедур использования множества наборов лингвистических данных в качестве основы построения характеристик текстовых документов.
Источники информации, принятые во внимание при составлении описания заявки:
1. Патент США №4992938 М.кл. G 06 F 15/16, 1992
2. Патент США №5396602 М.кл. G 06 F 12/00, 15/40, 1995 (прототип).