Способы ускорения процесса поиска
Здесь же стоит упомянуть, что понимается под словосочетанием «одна поисковая сессия». Автор настоящей работы призывает считать одной законченной поисковой сессией ряд запросов, схожих по тематике и своей структуре, а также не имеющий внутри себя пауз более 15 минут, причём переход через сутки считается возможным. В случае если запросы наоборот заданы слишком часто (раз в одну-пять секунд… Читать ещё >
Способы ускорения процесса поиска (реферат, курсовая, диплом, контрольная)
Как уже было сказано в предыдущих частях, обычный поиск ускоряют с помощью распределения нагрузки по нескольким серверам и иногда нескольким базам данных, а также с помощью сохранения небольшого объёма запросов и данных по ним за последнее время. То же используется и в лингвистических системах поиска, однако, возможно, что формат хранения таких данных можно усовершенствовать. В связи с этим возникает следующая гипотеза:
А. Помимо сохранения пользовательских настроек корпуса (язык текстов, выбранный подкорпус, и прочие дополнительные характеристики текстов), стоит также сохранять результаты всей поисковой сессии на время сессии, чтобы можно было быстро вернуться к уже найденным только что результатам (Baroni, Kilgarriff 2006).
Действительно, часто в течение одной сессии пользователь последовательно ищет несколько типов конструкций, а затем возвращается к одному из первых для повторной проверки своих идей. Однако, несмотря на вероятную полезность этой гипотезы, её стоит проверить на материале настоящих логов из корпуса.
Здесь же стоит упомянуть, что понимается под словосочетанием «одна поисковая сессия». Автор настоящей работы призывает считать одной законченной поисковой сессией ряд запросов, схожих по тематике и своей структуре, а также не имеющий внутри себя пауз более 15 минут, причём переход через сутки считается возможным. В случае если запросы наоборот заданы слишком часто (раз в одну-пять секунд), считается, что в исследовании участвует несколько пользователей.
Следующая гипотеза больше ориентируется на морфологическую сторону поиска:
Б. Существительные в конкретном падеже ищут чаще, чем просто существительное, поэтому логичнее строить инвертированный индекс не отдельно для существительного и для какого-то падежа, а их пересечение. Это должно значительно ускорить поиск по корпусу (Аброскин 2009).
Другими словами, при обычном поиске пользователь чаще ищет какую-то общую информацию или конкретную, но не связанную с грамматической формой слов. Лингвист же ищет конкретные конструкции или конкретные формы слов. Эта гипотеза также требует статистического подтверждения на настоящих логах.
Итак, получается, что гипотетически рационально хранить, во-первых, самые частотные грамматические или морфологические структуры в отдельном инвертированном индексе и тем самым избавиться от траты времени на пересечение двух индексов. Возможно, стоит также хранить самые частотные лексические запросы отдельно, если таковые существуют для нескольких корпусов одновременно и их частотность статистически значима. Во-вторых, теоретически имеет смысл кэшировать последние запросы, однако, надо выяснить, стоит ли это делать только на время одной поисковой сессии или использовать принципы обычного поиска и хранить запросы всех пользователей.
2. Исследование логов лингвистических поисковых систем Как уже было упомянуто выше, один из этапов исследования в настоящей работе будет основываться на данных крупных русскоязычных корпусов. Учитывая то, что корпусная платформа, для усовершенствования которой и проводится настоящее исследование, разрабатывается под нужды, как правило, русскоязычных учёных-лингвистов, было решено использовать именно данные о поиске в корпусах русского языка и ориентироваться на запросы, более частотные именно для них. Понятно, что пользоваться корпусной платформой будут не только носители русского языка, однако, они представляют собой значительную составляющую будущей аудитории платформы и поиска, соответственно.
Итак, материалами для статистического исследования стали логи нескольких крупных корпусов, как полностью русскоязычных, так и корпусных платформ, ориентированных на несколько языков:
- 1. Корпус Leeds, позволяющий осуществлять поиск по нескольким русскоязычным корпусам (НКРЯ, интернет-корпус ruWAC и Газетный корпус),
- 2. Национальный Корпус Русского Языка (НКРЯ),
- 3. Генеральный Интернет-Корпус Русского языка (ГИКРЯ),
- 4. Корпусная платформа Webcorpora.net (корпуса албанского, бесермянского, бурятского, калмыцкого, осетинского и цыганского языков),
- 5. Корпус Русского Литературного Языка (КРЛЯ).
Данные из корпуса Leeds представлены примерно 100 000 запросов, распределённых по времени с июня 2015 года по май 2017 года. В число этих запросов входят, помимо русскоязычных, также запросы на индоевропейских и китайском языках. Последние в ходе исследования не обрабатывались из-за особенностей устройства иероглифической системы. Основной массив данных, использованных в исследовании, составляют около 9,5 тысяч запросов к русскоязычным корпусам.
Логи запросов из НКРЯ охватывают один месяц, с конца апреля по конец мая 2017 года, и содержат около 575 000 запросов. Стоит учитывать, что часть из этих запросов составляет автоматическая работа программ, скачивающих выдачу по определённым словам из списка. При этом такие случаи можно выявить и не рассматривать в дальнейшем при изучении логов. Несмотря на то, что отчасти картина запросов получается некорректной, всё же данные из Национального Корпуса представляют большой интерес для автора работы из-за большой популярности самого корпуса среди исследователей.
Данные Генерального Интернет-Корпуса Русского языка представлены за период с 23 по 24 апреля 2017 года и содержат более 800 запросов. Важно отметить одну особенность корпуса, отмеченную самими кураторами проекта: бомльшая часть запросов осуществляется студентами-лингвистами в рамках своих исследований, происходящих лишь в определённые периоды времени. В связи с этим велика вероятность проверки гипотезы, А о поведении пользователей в течение одной поисковой сессии, но маловероятна возможность проверить, являются ли определённые шаблоны частотными со статистической точки зрения из-за небольшого объёма предоставленных данных.
Корпусная платформа Webcorpora.net включает в себя несколько разноязычных корпусов, и логи оттуда представляют информацию о запросах в корпуса следующих языков: албанский (3 668 запросов), бесермянский (458 запросов), бурятский (1 564 запроса), калмыцкий (11 945 запросов), осетинский (2 870 запросов) и цыганский (563 запроса) — всего около 21 000 запросов. Все данные были запрошены пользователями в различные периоды времени с декабря 2011 года по май 2017 года.
Наконец, данные о запросах в Корпус Русского Литературного Языка представлены за 5 месяцев (с января по май 2017 года) и составляют около 700 запросов.
корпусная платформа лингвистическая поиск Вся статистика о материалах исследования представлена в таблице 1 для большей наглядности.
Таблица 1. Число запросов, представленных из разных корпусов.
Корпус. | Количество запросов. | Период. | Информация о запросах. | |
Leeds. | 9 671. | Июнь 2015 — май 2017. | Время запроса, лемма с морфологическими метками или шаблонная грамматическая структура. | |
НКРЯ. | 574 787. | Апрель — май 2017. | Время запроса, информация о подкорпусе (если есть), лемма или несколько лемм с морфологическими метками, либо точная словоформа, либо слово с шаблонными символами (*,?). | |
ГИКРЯ. | Апрель 2017. | Время запроса, лемма с морфологическими метками или слово с шаблонными символами (*,?). | ||
Албанский корпус. | 3 668. | Ноябрь 2016 — май 2017. | Логи всех корпусов на платформе webcorpora.net составлены одинаковым образом: Время запроса, информация о подкорпусе (если есть), лемма или несколько лемм с морфологическими метками, либо точная словоформа, либо слово с шаблонными символами (*,?). | |
Бесермянский корпус. | Февраль — май 2017. | |||
Бурятский корпус. | 1 564. | |||
Калмыцкий корпус. | 11 945. | Декабрь 2011 — май 2017. | ||
Осетинский корпус. | 2 870. | Октябрь 2016 — апрель 2017. | ||
Цыганский корпус. | Ноябрь 2016 — май 2017. | |||
КРЛЯ. | Январь — май 2017. | Время запроса, точная словоформа без морфологических меток. | ||