// //
Дом arrow Статьи arrow Статьи arrow Использование механизма ключевых слов при поиске в документах
Использование механизма ключевых слов при поиске в документах

Использование механизма "ключевых слов"

 при поиске документов.

Ашихмин И. В.

 

            Аннотация: При поиске документов пользователь встречается с рядом проблем, связанных с большим объемом полученной информации и отсутствием гарантии того, что документ, который он ищет, будет находиться в результатах запроса. Помочь может система поиска, учитывающая встречаемость слов в документах. Кроме более качественного поиска система предоставляет механизмы уточняющего запроса и рубрикации. Уточняющий запрос – это поиск документов, похожих на заданный по тематике. Рубрикация – выбор среди некоторого набора рубрик (тем) той, которая наилучшим образом отражает содержание документа.

 

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

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

     "Ключевые слова" - это слова наиболее характерные для данного документа, отражающие его тематику. Например, для статьи о Центральном Банке РФ "ключевыми словами" будут "центральный", "бюджет", "Геращенко", "резерв" и т.п. Слово "банк" может попасть в "ключевые слова", если в остальных документах из базы оно встречается редко. Если же в базе находится большое количество документов финансовой направленности, то это слово может и не попасть в "ключевые слова", т.к. практически во всех документах содержание так или иначе касается банковской деятельности.

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

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

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

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

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

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

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

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

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

     С точностью до наоборот работает рубрикация. Во-первых, необходимо создать темы (рубрики). Пользователь складывает в одну папку некоторое множество документов одной тематики. Выбирает пункт меню «сервис\создать тему». На основании заданных документов создается список ключевых слов аналогично тому, как он создавался в уточняющем запросе. Этот список сохраняется в реквизите «ключевые слова» объекта темы. Таким образом создается некоторое количество тем. При рубрикации документа, его ключевые слова сравниваются поочередно с ключевыми словами всех тем. Сравнение происходит так же, как и в уточняющем запросе. В результате мы получаем список тем со степенью соответствия исходному документу. Наиболее вероятной темой для этого документа является тема с наибольшей степенью соответствия.

     Оба этих механизма используют "ключевые слова", но их можно было бы создать и на основе содержания реквизита "все слова". Это значительно замедлило бы их работу (примерно в десять раз) и не привело бы к повышению качества. В результатах могут оказаться документы, написанные одним автором по разным вопросам, но содержащие большое количество одинаковых слов ввиду авторской особенности изложения.

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

     Эксперименты проводились на 128 статьях в текстовом формате из «Независимой газеты» объемом более 2 Mb. Поиск по ключевым словам показал высокую степень полноты, при очень небольшом количестве лишних документов. В результатах уточняющего запроса в начале списка находились документы, из которых был сформирован запрос. Другое расположение этих документов говорило бы о неправильной работе метода. Далее следовали документы действительно похожие на документы из запроса. Рубрикация, в случаях, когда пользователь, просмотрев текст (не обращая внимания на заголовок) однозначно и не задумываясь определяет тему, также стабильно выдавала ту же тему. В случае отнесения документа к различным темам, точность рубрикации уменьшалась, но нужные темы находились среди первых. Как хорошо отражает тему документа первая тема в списке, полученном рубрикацией, можно понять по отрыву степени соответствия для первой темы от остальных (например: для первой темы – 5%, второй - 3%, третьей – 2.5%, и т.д.). В целом система показала хорошие результаты.

 

Контакты

115419, г. Москва, ул. Шаболовка, д. 34, стр. 3.



Просьба заранее предупредить о приезде, т.к. специалисты распределены по объектам




info@masterbetonov.ru




ООО «Стройсервис» работает на рынке строительного производства c 1992 года.
Основной ценностью для нашей компании являются клиенты, поскольку единственный реальный актив компании — это люди, удовлетворенные нашей работой, которые еще раз захотят воспользоваться нашими услугами. Мы стремимся сделать своих клиентов своими партнерами.