Научная статья на тему 'Проблема контекстного поиска в информационно поисковой системе'

Проблема контекстного поиска в информационно поисковой системе Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
254
83
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Максакова Л.С.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Проблема контекстного поиска в информационно поисковой системе»

2. O'Neil E.J. An optimality proof of the LRU-K page replacement algorithm / E.J. O'Neil, P.E. O'Neil, G. Weikum // Journal of the ACM. - 1999. - Vol. 46, N l.

3. O'Neil E.J. The LRU-K Page Replacement Algorithm For Database Disk Buffering / E.J. O'Neil, P.E. O'Neil, G. Weikum // Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data. - Washington, D.C., 1993.

4. Sokolinsky L.B. LFU-K: An Effective Buffer Management Replacement Algorithm // Proceedings. Lecture Notes in Computer Science. - NY: Springer. -2004. - Vol. 2973. - Р. 670-681.

ПРОБЛЕМА КОНТЕКСТНОГО ПОИСКА В ИНФОРМАЦИОННО ПОИСКОВОЙ СИСТЕМЕ

© Максакова Л.С.*

Московский государственный университет леса, г. Мытищи

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

Существует теория, что каждые 5 лет объем цифровой информации увеличивается в десятикратном размере, что приводит к тому, что растет потребность в поиске и хранения этой информации. Так ритейловый гигант Wall-Mart обрабатывает более 1 млн. транзакций каждый час, наполняя базы данных, общий объем которых оценивается в 2,5 петабайта - это в 167 раз больше количества информации, содержащейся во всех книгах Библиотеки Конгресса США. Социальная сеть Facebook хранит около 40 млрд. фотографий. А расшифровка генома человека включает в себя 3 млрд. пар нуклео-тидов. Когда эта работа впервые была завершена (в 2003 году), она заняла 10 лет, сейчас же её можно выполнить за неделю.

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

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

* Магистрант кафедры Вычислительной техники.

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

Параметры поисковой системы

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

1. Скорость Индексации - этот параметр отвечает за то, как быстро поисковый сервер обрабатывает документы и заносит их в свой индекс, делая доступным поиск по ним.

2. Автоматическое обновление индекса - выполняется для поддержания индекса в согласованном состоянии.

3. Совместимость с PHP. Важный параметр который позволяет создавать динамически генерируемые страницы быстро и легко.

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

5. Морфологический поиск. Данный параметр нужен для того, чтобы поиск производился с учётом морфологии слова, т.е. видоизменений (словоформ) слова по родам, числам, падежам, спряжениям и т.д.

6. Документация. При возникшей затруднительной и непонятной ситуации можно обратится к документации для разрешения сложившейся ситуации.

Поисковые системы

Sphinx.

Sphinx (англ. SQL Phrase Index) - система полнотекстового поиска, разработанная Андреем Аксеновым и распространяемая по лицензии GNU GPL.

Sphinx в основном используется под linux, но так же её можно найти и для семейства Windows.

Xapian.

Xapian - это библиотека поискового движка в открытых исходных кодах, распространяемая по лицензии GPL, она написана на С++. Это библиотека в основном используется под Linux, но её так же можно и использовать под Windows, но для этого не обходимо будет установить Cygwin.

Cygwin (произносится / sigwin/) - UNIX-подобная среда и интерфейс командной строки для Microsoft Windows. Cygwin обеспечивает тесную интеграцию Windows приложений, данных и ресурсов с приложениями, данными и ресурсами UNIX-подобной среды.

Apache Lucene.

Solr - лучшее решение на базе Lucene, значительно расширяющее её возможности. Это самостоятельный сервер корпоративного уровня, предоставляющий широкие поисковые возможности в качестве веб-сервиса.

PostgreSQL.

PostgreSQL (произносится «Пост-Грес-Кью-Эль», в профессиональной среде коротко называется «постгрес») - свободная объектно-реляционная система управления базами данных (СУБД).

Существует в реализациях для множества UNIX-like платформ, включая AIX, различные BSD-системы, HP-UX, IRIX, Linux, Mac OS X, Solaris/Open Solaris, Tru64, QNX, а также для Microsoft Windows.

Вывод

Sphinx - достоинства данной поисковой системы заключается в том,что есть возможность активации морфологического поиска - то есть, как бы человек не искал «форум», «форума», «форумов» и в каком бы виде поисковое слово не было упомянуто, то поисковая система покажет его в результатах поиска, высокая скорость поиска и индексации, поддержка PHP, много различных источников и понятной документации. Но так же у данной поисковой системы и преобладают недостатки - это отложенная индексация, т.е содержимое только что написанного становится доступным в поиске не сразу, а только после запуска дельта-индексирования и нет автоматического обновления индекса.

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

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

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

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

Проблематика

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

Бд построена на postgresql.

Встроенный механизм поиска в бд postgresql не поддерживает морфологический поиск с учётом xml разметки документов.

Поэтому наша задача научиться искать по заданным xml полям.

Пути решения

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

- Sphinx.

- Xapian.

- Apache Lucene.

- PostgreSql.

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

Этот алгоритм был реализован в php и были проведены испытания на реальной бд содержащая 500 документов.

Метод поиска

В качестве механизма морфологического поиска был выбран алгоритм стеммера Портера.

Стеммер Портера - алгоритм стемминга, опубликованный Мартином Портером в 1980 году.

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

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

Из-за ограниченных возможностей базы PostgreSQL, был выбран следующий метод поиска: сначала получаются все xml-документы из базы, затем

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

Работа алгоритма основана на регулярных выражениях. В начале работы скрипта, фраза разбивается на отдельные слова (если в строке поиска было одно слово, то эта операция пропускается), каждое слово пропускается через фильтр, который с помощью базы окончаний формирует нужный шаблон для поиска с помощью регулярных выражений. После того, как каждое слово было отфильтровано, формируется поисковой запрос. Была собрана база почти (или всех) возможных окончаний слова в русском языке. Эта база нужна для построения шаблона поиска. Морфологический поиск по XML документам осуществляется для базы PostgreSQL c помощью языка программирования PHP.

Вывод

Для измерения производительности были проведены тесты по бд в которой хранились более 500 XML документов.

По результатам нескольких тестов среднее время поиска по слову составляет 33 мс, а среднее время поиска по фразе составляет 68 мс.

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

При создании поискового механизма учитывался тот факт, что поиск будет производиться не по 10 и даже не по 100 документам которые будут хранится в бд а более 500 и даже более 1000 документов, по этому такой параметр как скорость поиска был достаточно важен. Тесты показали достаточно хорошие результаты, при том, что в бд хранилось более 500 документов средняя скорость поиска была достаточно высока и так же была высокая степень релевантности, т.е. при вводе в поисковой запрос слово или фразу, на экран выводились только те документы в которых присутствовала искомая фраза или слово (с различными окончаниями). Документы в которых не встречалось слово или фраза которую мы искали, выведены не были. Передо мной ставилась задача нахождения слова с различными окончаниями. По результатам тестирования алгоритма, при вводе в поисковую строку например слово «Ленин» были выведены документы в которых встречается это

слово в её искомой виде, а так же слово с различными окончаниями. Например, Ленина, Ленинград, Ленинский, Ленинская, Ленинские и т.д.

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

Конфигурация тестового компьютера: Intel Core (TM)i5-3337U CPU 1,80 GHz, ОЗУ 8,00 ГБ.

Подведение промежуточных итогов

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

Список литературы:

1. Миндалёв И.В. Информационные системы [Электронный ресурс]. -Режим доступа: http://www.kgau.ru/istiki/is/ch13s02.html.

2. Рогова Н.А. Тезаурус как средство повышения эффективности современных информационно-поисковых систем [Электронный ресурс]. - Режим доступа: http://jurnal.amvd.ru/indviewst.php?stt=399&SID=.

3. http://xsieit.ru/download/design_of_information_systems/lectures/874.html.

4. Учебное пособие по курсу «Проектирование Систем электронного документооборота» [Электронный ресурс]. - Режим доступа: http://rudocs. exdat.com/docs/index-33249.html?page=17.

5. Дизайн студия HighSolutions [Электронный ресурс]. - Режим доступа: http://www.info-highsol.ru/seo_poisk.php.

6. Сайт Финансового университета [Электронный ресурс]. - Режим доступа: http://www.fa-kit.ru/users/admin/Lect-IPS-01.htm#_Toc177729396.

7. Захарченко В. Программы поиска информации в полнотекстовых базах данных [Электронный ресурс]. - Режим доступа: http://www.mbdsoft.ru/ articles_files/prrev.htm.

8. http://revolution.allbest.ru/programming/00004675_0.html.

9. Персональный сайт студентки РГУТиС Ошевой Ксении [Электронный ресурс]. - Режим доступа: http://oka2o1o.narod.ru/ips.htm.

10. Дроздецкий В. В. Особенности и недостатки современных поисковых систем [Электронный ресурс]. - Режим доступа: http://vfmgiu.ru/files/ Features-and-lacks-modern-search-systems.pdf.

11. Иванов В.К., Иванов К.В. Введение в информационно-поисковые системы: Методические указания по изучению дисциплины «Мировые ин-формационые ресурсы». Ч. 2 [Электронный ресурс]. - Режим доступа: http ://window. edu.ru/library/pdf2txt/535/58535/28416/page4.

12. http://knowledge.allbest.ru/programming/3c0a65625a3ac 306c36_0.html.

13. Википедия [Электронный ресурс]. - Режим доступа: ШрУ/ги.'ткре-dia.org.

14. Максимов Н.В., Голицына О.Л., Тихомиров Г.В., Храмцов П.Б. Информационные ресурсы и поисковые системы. - МИФИ, 2008.

15. Государственная Публичная Научно-Техническая Библиотека России [Электронный ресурс]. - Режим доступа: http://www.gpntb.ru.

16. Ф. Ланкастер. Информационно-поисковые системы: характеристики, испытание и оценка. - Мир, 1968.

17. Кристофер Д. Маннинг, Прабхакар Рагхаван, Хайнрих Шютце. Введение в информационный поиск. - Вильямс, 2011.

18. Ланкастер Ф.У Информационно-поисковые системы. - М.: Мир, 1972.

19. Васильев А.А., Избачков Ю.С., Телина И.С. Информационные системы: учебник для вузов. - СПб.: Питер, 2010.

20. Петров В.Н. Информационные системы. - СПб.: Питер, 2009.

21. Захаров В.П. Информационно-поисковые системы: учебно-метод. пособие. - СПб., 2005.

22. Информационные системы (документальный поиск): учебное пособие. - СПб.: Изд-во СПбГУ 2002.

23. Информационно-поисковые системы: учебно-методическое пособие. - СПб.: Издательство СПбГУ, 2005.

24. Маннинг К. Введение в информационный поиск / К. Маннинг. - М.: «Вильямс», 2011.

25. Информационно-поисковые системы и традиционный патентный поиск: учебное пособие. - М.: ВНИИПИ, 1987.

ПРИМЕНЕНИЕ МЕТОДА СИНГУЛЯРНО-СПЕКТРАЛЬНОГО АНАЛИЗА В ОБРАБОТКЕ ЭЛЕКТРОЭНЦЕФАЛОГРАММ ГОЛОВНОГО МОЗГА

© Соловьев А.Ю.*, Толоконников П.В.

Старооскольский технологический институт им. А.А. Угарова - филиал НИТУ «МИСиС», г. Старый Оскол

В работе рассматривается возможность обработки сигналов электрической активности головного мозга. В основу предлагаемого метода положена теория сингулярно-спектрального анализа, известного также как метод «Гусеница». Данный метод позволяет проводить более качественный анализ различных временных рядов, по сравнению с традиционными методами.

Ключевые слова: мозговые волны, сингулярно-спектральный анализ, электроэнцефалограммы.

* Старший преподаватель кафедры Автоматизированных и информационных систем управления, кандидат технических наук.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.