WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     ||
|

• Database host – адрес компьютера на который установлена энциклопедия, в данном случае (рис. 13) она установлена на том же компьютере, что и запущенная программа Synarcher, поэтому указано значение: localhost;

• Database name – указывается имя базы данных в MySQL и параметры подключения к базе. Здесь база данных названа ruwiki, параметры подключения представлены в нижней части экрана в окне Output (в круглых скобках);

• User, Password – имя пользователя и пароль под которыми программа подключается к базе данных. Значения определяются настройками MySQL и MediaWiki. Здесь указан пользователь javawiki, пароль отсутствует.

• Wiki url – URL-адрес, используемый веб браузером для поиска статьи Википедии. Необязательный параметр для работы алгоритмов поиска, нужен для отображения страниц во вкладке Article (рис. 12).

Значение определяется настройками Apache и MediaWiki.

При нажатии на кнопку «Get statistics» (рис. 13) в окне Output печатается статистика о подключенной базе данных энциклопедии (число статей, ссылок между статьями, категорий, ссылок между категориями, изображений, ссылок на изображения). Возможность получить эту информацию можно использовать для проверки успешного подключения к базе данных.

Во вкладке Synonyms (рис. 14) задаются параметры адаптированного HITS алгоритма (дополнительная вкладка Parameters), выводятся результаты в табличной и текстовой форме (вкладка Results). Слово для поиска задаётся в поле Word. Кнопка Load позволяет загрузить параметры предыдущего поиска, кнопка «Search Synonyms» запускает алгоритм поиска, а кнопка Draw отображает (в правой части экрана в виде сетевой структуры) страницы, на которые ссылается заданное слово.

- 102 В поле Log пользователь (с помощью кнопки «Browse...») указывает директорию в которой будут храниться результаты поиска.

Поля «Root set size», increment, «N synonyms», «Eps error» соответствуют параметрам адаптированного HITS алгоритма: t, d, N, (см. подраздел 2.1 на стр. 68).

Рис. 13. Вкладка Database - 103 Рис. 14. Задание параметров адаптированного HITS алгоритма В нижней части экрана (рис. 14) задаётся группа параметров, озаглавленных «Category blacklist parameters». Данные параметры определяют такие параметры эвристики1, как: глубина поиска (поле «Maximum search depth») и чёрный список категорий, разделённых вертикальной чертой (на рисунке в этом поле введены категории «Страны|Века|Календарь|География_Россия»).

После редактирования категорий для сохранения изменений достаточно нажать кнопку Set.

На рис. 15 показан пример результатов поиска семантически близких слов для слова Локализация. Итак, пользователь вводит слово и параметры алгоритма, нажимает кнопку «Synonym Search», после чего система выполняет поиск.

Экран программы разделён на две части вертикальной полосой, с левой стороны (вкладка: Synonyms, Results) представлены результаты поиска в виде таблицы и текста, с правой стороны – в виде графа. Вершины графа соответствуют названиям статей энциклопедии (статья – это гипертекстовая страница), рёбра указывают наличие гиперссылок между статьями.

Пользователь может пометить найденные слова как синонимы либо с 1 Cм. подраздел «Эвристика: фильтрация на основе категорий статей» во второй главе.

- 104 помощью галочки в таблице (графа «Rate it»), либо с помощью контекстного меню, нажав правую клавишу мышки на интересующей вершине и выбрав команду «Rate synonym». Другие команды контекстного меню позволяют:

• раскрыть вершину, то есть отобразить соседние вершины (команда «Expand Node», см. (рис. 15);

• спрятать соседей, которые связаны только с этой вершиной (команда «Collapse Node»);

• спрятать вершину и тех соседей, которые связаны только с этой вершиной (команда «Hide Node»);

• спрятать всех соседей, кроме данной вершины (команда «Hide All Except Node»).

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

1. Локализация – исходная вершина, заданная пользователем; с неё начинался поиск в адаптированном HITS алгоритме;

2. Русификация, L10N – вершины, помеченные пользователем, как синонимы исходного слова Локализация;

1 В программе разные группы вершин выделены разным цветом.

- 105 3. Глобализация – хаб-вершина, то есть вершина, ссылающаяся на многие авторитетные вершины (см. понятие авторитетных и хабстраниц в разделе «Алгоритм HITS» (стр. 27) и разделе «Вычисление весов authority и hub» стр. 80);

4. Авторитетные страницы (отсутствуют на данном рисунке);

5. Сортировка, Дата – все остальные вершины (в адаптированном HITS алгоритме они соответствуют вершинам из базового набора).

Аналогичный скриншот, но уже с интерфейсом на русском языке, с резуль­ татами поиска для слова «Интернационализация» представлен на рис. 16.

Рис. 16. Результаты поиска семантически близких слов для слова Интернационализация в виде таблицы, текста и графа. Пример контекстного меню справа-внизу Одним из результатов поиска является список категорий, см. вкладку «Категория C» на рис. 17. Таблица (слева в центре) содержит список категорий (столбец Категория), упорядоченных по числу слов (столбец Статей), статьи которых принадлежат этим категориям. При выборе какойлибо категории в таблице обновляется текст – список статей – в окне Output (слева внизу). На рис. 17 выделена категория «Воздушные суда» и перечислены названия однословных статей с такой категорией.

- 106 Рис. 17. Таблица со списком категорий (слева в центре), список статей для выделенной категории «Воздушные суда» (слева внизу) 3.2 Архитектура подсистемы GATE для удалённого доступа (на основе XML-RPC протокола) к программе морфологического анализа Lemmatizer Сформулируем задачу, исходя из доступных ресурсов. Система GATE1 на­ писана на языке Java, поэтому может работать в среде Linux и Windows. Мо­ дуль морфологического анализа Lemmatizer написан на языке C++ и может работать либо в среде Linux, либо в CygWin (эмуляция Linux в среде Windows).

Связать эти разнородные системы целесообразно с помощью протокола XML-RPC (рис. 18). Данный протокол позволяет взаимодействовать программным компонентам, (1) написанным на разных языках, (2) расположенным на разных компьютерах.

Таким образом, необходимо расширить модуль морфологического анализа Lemmatizer функциональностью XML-RPC сервера, написанного на С++, назовём его LemServer, для вызова функций которого нужно указать:

1 Проблема отсутствия доступного модуля морфологической обработки русского языка в системе GATE (наподобие модуля Lemmatizer [60]) и сама система описаны выше (стр. 42).

- 107 • имя компьютера (указывается, как параметр модуля GATE – hostLemServer, см. рис. 27);

• порт сервера (portLemServer);

• словарь – русский, английский или немецкий (dictLemServer).

Со стороны GATE необходим модуль, назовём его Russian POS Tagger, напи­ санный на языке Java, который с одной стороны обеспечивает стандартную функциональность модулей GATE (что даёт, в частности, возможность соби­ рать модули GATE в последовательные цепочки обработчиков, по англ. pipe).

С другой стороны Russian POS Tagger может вызывать функции Lemmatizer с помощью XML-RPC клиента, написанного на языке Java, назовём его aotClient (программные компоненты, разработанные автором диссертации, выделены чёрной линией на рис. 18).

Рис. 18. Архитектура интеграции системы GATE и модуля морфологического анализа Lemmatizer Таким образом, Russian POS Tagger взаимодействует с Lemmatizer, вызывая Java-функции aotClient, который выполняет XML-RPC запросы к LemServer, который, в свою очередь, вызывает C++ функции Lemmatizer. LemServer – это интерфейс на C++ для вызова функций модуля Lemmatizer.

Один их возможных списков модулей системы GATE, последовательно при­ меняемых к тексту или корпусу текстов на русском, английском или немецком языке, включает:

• Document Reset PR – инициализация параметров текстов;

• ANNIE English Tokenizer – выделение элементов текста (токенизация) - 108 • ANNIE Sentence Splitter – выделение предложений;

• Russian POS Tagger – морфологическая обработка слов.

Морфологическая обработка включает в себя (1) определение части речи, (2) приведение слова к начальной форме, (3) построение списка парадигм слова. Параметры модуля Russian POS Tagger, необходимые для подключе­ ния и вызова функций XML-RPC сервера LemServer включают: хост (portLemServer), порт (hostLemServer) сервера, который может быть запущен на другом компьютере. Поиск может выполняться для русского, английского или немецкого языков, для выбора языка нужно указать параметр dictLemServer модуля Russian POS Tagger.

3.3 Индексирование вики-текстов: архитектура системы и структура индексной базы данных Разработанный адаптированный HITS алгоритм (AHITS) [37], [126] выполняет поиск на основе анализа внутренних ссылок Википедии. Многие алгоритмы поиска семантически близких слов (СБС) в Википедии обходятся без полнотекстового поиска (см. табл. 4.6 на стр. 130). Однако экспериментальное сравнение алгоритмов в работах [103], [35] показало, что наилучшие результаты поиска семантически близких слов даёт алгоритм Explicit Semantic Analysis (ESA) [103], использующий именно полнотекстовый поиск.

Это подвигнуло к созданию общедоступной индексной базы данных Википедии (далее WikIDF1) и программных средств для генерации БД, что в целом обеспечит полнотекстовый поиск в энциклопедии и в вики-текстах вообще. Вики-текст — это упрощённый язык разметки HTML.2 Для индекси­ рования требуется преобразовать его в текст на естественном языке. Поиск по ключевым словам не будет использовать символы и теги HTML- и викиразметки, поэтому они будут удалены в ходе преобразования вики-текста в текст на естественном языке на предварительном этапе индексирования.

Разработанные программные ресурсы (база данных и система 1 WikIDF – аббревиатура, отражающая применение подхода TF-IDF [155], [52] к индексированию викитекстов.

2 См. http://en.wikipedia.org/wiki/Wikitext.

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

Архитектура системы построения индексной БД вики-текстов Итак, спроектирована архитектура программной системы индексирования вики-текстов.1 На рис. 19 показана организация взаимодействия программ GATE [92], Lemmatizer [60] и Synarcher [37], [126]. Полезным результатом работы системы будет индексная БД на уровне записей (англ. «record level inverted index»), содержащая список ссылок на документы для каждого слова (точнее — для каждой леммы).Программной системе требуется задать три группы входных параметров.

Во-первых, язык текстов Википедии (один из 254 на 16/01/2008) и один из трёх языков (русский, английский, немецкий) для лемматизации, что опреде­ ляется наличием трёх баз данных, доступных лемматизатору [60]. Указание языка Википедии необходимо для правильного преобразования текстов в вики-формате в тексты на ЕЯ (рис. 19, функция «Преобразование вики в текст» модуля «Обработчик Википедии»)3. Во-вторых, адрес вики и индекс­ ной баз данных, а именно обычные параметры для подключения к удалённой БД: IP-адрес, имя БД, имя и пароль пользователя. В-третьих, параметры индексирования, связанные с ограничениями, накладываемыми пользовате­ лем на размер индексной БД, предназначенной для последующего поиска по TF-IDF схеме.1 Фантазии по поводу применения данной архитектуры для (1) тематической вики-индексации и (2) фильтрации потоков текстов см. в работе [167].

2 Об инвертированном файле см. в [52], а также http://en.wikipedia.org/wiki/Inverted_index.

3 Более подробно о преобразование текста см. на стр. 138.

4 Например, ограничение числа связок слово-страница. В экспериментах ограничение 1000, см. табл. 4.12.

- 110 Рис. 19. Архитектура системы индексирования вики-текстов (POS — Part Of Speech) «Управляющее приложение» выполняет последовательно три шага для каждой статьи (вики-документ), извлекаемой из БД Википедии и преобразуемой в текст на ЕЯ, что и составляет первый шаг. На втором шаге привлекается такой мощный инструмент как GATE [92] вкупе с отечественной разработкой Lemmatizer [60] и объединяющей их программной «прослойкой» RussianPOSTagger1, конечная цель которых – получение списка лемм и их частоты встречаемости в данной статье.2 На третьем шаге полученные данные сохраняются в индексную БД3:

(1) полученные леммы, (2) частота их встречаемости в тексте, (3) указывается, что данные леммы принадлежат данному вики-тексту, (4) увеличивается значение частоты данных лемм в корпусе.

Следует отметить, что две функции модуля «Обработчик Википедии», указанные на рис. 19, а также API доступа к индексной БД («TF-IDF Index 1 Более подробно о программах Lemmatizer и Russian POS Tagger см.: http://rupostagger.sourceforge.net.

2 Точнее — суммарной частоты всех словоформ данной лексемы в заданной статье (и во всём корпусе) для каждой леммы. Лемма строится по словоформе с помощью программы Lemmatizer. Определение словоформы, леммы и лексемы см. в Русском Викисловаре.

3 Построенные таким способом индексные БД Русской Википедии и Simple Wikipedia доступны по адресу:

http://rupostagger.sourceforge.net, см., соответственно, пакеты idfruwiki и idfsimplewiki.

- 111 DB» из модуля «TF-IDF Приложение») реализованы в программе Synarcher1.

Указание входных параметров и запуск индексации осуществляются с помощью модуля Synarcher: WikIDF2.

Таблицы и отношения в индексной БД Принципы построения индексной БД:1. данные наполняются единожды и далее используются только для чтения (поэтому не рассматриваются такие вопросы, как: обновление индекса, добавление записи, поддержка целостности);

2. из викитекста удаляется вики- и HTML- разметка; выполняется лемматизация, леммы слов сохраняются в базу;

3. данные хранятся в несжатом виде.

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

1. term — таблица содержит леммы слов (поле lemma); число документов, содержащих словоформы данной лексемы (doc_freq);

суммарная частота словоформ данной лексемы по всему корпусу (corpus_freq);

Pages:     ||
|



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.