Содержание


Поисковые механизмы с открытым исходным кодом для настольных систем

Comments

Преимущества поисковых машин с открытым исходным кодом для настольных систем

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

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

Terrier

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

imgSeek

Версия imgSeek для настольных систем представляет собой совокупность бесплатных проектов с открытым исходным кодом, осуществляющих поиск на основе визуального подобия. Пользователю достаточно сделать грубый набросок того, что он хочет найти, или предоставить другое изображение. Применяемый в imgSeek алгоритм осуществляет декомпозицию изображений (из запроса и из базы данных) на wavelet-образы с разными разрешениями. Серверную версию этого инструмента можно использовать, если вас интересует интеграция основанной на контенте базы данных изображения в Web-сайт, связанный с изображениями.

На рис. 1 показана начальная страница настольной версии после ее первой инициализации.

Рисунок 1. Начальная страница: Options>Viewing
Screenshot shows the options for viewing in imgSeek, inclduding a 'slideshow delay' and smoothing of thumbnails
Screenshot shows the options for viewing in imgSeek, inclduding a 'slideshow delay' and smoothing of thumbnails

Вид начальной страницы инструмента imgSeek, отображаемой при его запуске, можно изменить. Если вы хотите использовать в качестве начальной страницу поиск по контенту изображения (by Image content), нажмите на Search, а затем на Image. Выйдите из imgSeek, а затем перезапустите его. Результаты этого действия показаны на рис. 2.

Рисунок 2. Начальная страница imgSeek: поиск по контенту изображения
Screenshot shows the search by Image content, allowing you to import a sample image or draw a rough sketch
Screenshot shows the search by Image content, allowing you to import a sample image or draw a rough sketch

Опция by Image content

Пользователю доступны следующие опции поиска: by Image content (по контенту изображения), by Keyword (по ключевому слову) или by Group (по группе). Для поиска изображения по контенту пользователю необходимо сначала импортировать изображение или нарисовать набросок, который он сможете использовать для осуществления запроса и представления изображений из коллекции. Если у вас нет коллекции изображений, перейдите на вкладку Add и создайте коллекцию, а затем добавьте в нее изображения.

Закончив работу с коллекцией, вернитесь на вкладку by Image content для импорта изображения из своей коллекции или для создания наброска. Как показано на рис. 3, при рисовании эскиза пользователь может выбирать цвета из соответствующей панели.

Рисунок 3. Грубый набросок цветка
Screen shot shows the draw functionality with a rough red outline of a flower with a brush-size slider and color selector
Screen shot shows the draw functionality with a rough red outline of a flower with a brush-size slider and color selector

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

Теперь перейдите в блок Results и нажмите на кнопку Query (крайняя слева) для быстрого поиска подобных изображений в коллекции. На рис. 4 показаны извлеченные в соответствии с запросом изображения, похожие по форме и цвету наброску на рис. 3. Процентный показатель отражает степень подобия.

Рисунок 4. Найденные изображения цветков
Screenshot shows three image results that matched the sketch with the similarity represented as percentages

Теперь перейдем к наброску. Посмотрите на рис. 5, нарисованный с помощью кисти большего размера. Размер выбранного цветового блока больше, чем у блока, показанного на рис. 3.

Рисунок 5. Грубый набросок, нарисованный с помощью кисти большего размера
Screenshot shows the same flower sketch with the thicker lines
Screenshot shows the same flower sketch with the thicker lines

На рис. 6 получены иные результаты, чем на рис. 4.

Рисунок 6. Другой набор найденных изображений цветков
Screenshot shows another set of image results with similarity percentages
Screenshot shows another set of image results with similarity percentages

На рис. 4 и на рис. 6 первое изображение, извлеченное в соответствии с поисковым запросом, имеет самый большой процентный показатель. Процентный показатель первого изображения на рис. 6 несколько выше, чем у первого изображения на рис. 4. Это объясняется немного большим подобием по форме и по цвету между наброском и изображениями, извлеченными из коллекции.

Второе изображение на рис. 4 стало первым изображением на рис. 6. Это объясняется изменением степени подобия между наброском (нарисованным с помощью кисти большего размера) и изображением. Фотография цветка на рис. 6 отсутствует на рис. 4. Форма и толщина наброска на рис. 5 имеют большую степень подобия с этой фотографией. Тонкие линии наброска на рис. 3 не позволили включить фотографии в коллекцию, показанную на рис. 4.

Построение коллекции изображений

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

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

Если перед добавлением файлов вы хотите отредактировать элементы метаданных, например, имя автора, перейдите в меню Tools. Пользователь может редактировать метаданные изображений по одному или применить свои изменения к набору изображений в ранее сформированном пакете. Для редактирования пакета необходимо в меню Tools выбрать опцию Work batch editor (редактор пакетов). На рис. 7 показано местонахождение редактора пакетов.

Рисунок 7. Редактор Work batch editor
Screenshot shows the menu to select the Work batch editor

Для заполнения пакета нажмите правой кнопкой на изображении, которое вы хотите включить, а затем добавьте его в пакет. В можно добавлять пакет элементы системного каталога, группы ключевых слов и каталога базы данных. Вы можете найти дублирующиеся изображения и переименовать их. Для сохранения изменений в метаданных перейдите в меню Database и выберите опцию Export metadata (экспорт метаданных), как показано на рис. 8.

Рисунок 8. Экспорт метаданных
Screenshot shows menu to select Exort metadata

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

Запрос изображения по ключевым словам

Изображения можно искать по ключевому слову, а не по контенту. Нажмите правой кнопкой на свободном месте в столбце Field для вызова небольшого меню. Нажмите New, чтобы вставить Description в качестве первого параметра по умолчанию. В столбце Value введите с клавиатуры описание искомого изображения.

На следующем шаге необходимо выбрать логический оператор AND или OR, а также второй параметр. Оператор AND указывает продукту imgSeek, что для запроса изображения в коллекции он должен использовать первый и второй параметры. Оператор OR указывает продукту imgSeek, что он может использовать любой из двух параметров, если для вас не имеет значения, какой параметр будет использован для запроса к коллекции.

Создайте второй параметр. Нажмите правой кнопкой на свободном месте под параметром Description (первый параметр), а затем нажмите на New parameter. Нажмите на направленную вниз стрелку для отображения списка всех параметров, показанного ниже.

  • Description
  • Dimensions
  • Filename
  • File size
  • Format
  • Modify Date
  • Database Date
  • Mounted (только для Linux®)

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

Просмотр изображений по степени подобия

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

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

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

Текстовая поисковая машина для настольных систем Terrier

После того как вы получили удовлетворительные результаты при поиске изображений, следующий шаг состоит в использовании инструмента Terrier для отыскания XML-документов, содержащих эти изображения. В отличие от инструмента imgSeek, графический интерфейс Terrier необходимо запускать из командной строки. Убедитесь в том, что на вашем компьютере установлена корректная версия Java™.

В главном окне Terrier присутствуют всего две вкладки: Search и Index. При первом запуске Terrier он отображает вкладку Index и выводит диалоговое окно (рис. 9) с вопросом о том, какие документы Terrier должен индексировать — свои собственные или выбранные пользователем.

Рисунок 9. Диалоговое окно при первом запуске инструмента Terrier
Screenshot shows Yes/No choices to index its own documentation
Screenshot shows Yes/No choices to index its own documentation

Выберите для индексирования папку с XML-документами. После перезапуска инструмента Terrier он отобразит вкладку Search. Вы можете переключиться на вкладку Index для повторного индексирования своих документов перед поиском в них.

Индексирование файлов

На вкладке Index выберите папки для открытия окна, в котором будут указываться документы, подлежащие индексации инструментом Terrier. После этого нажмите OK для возврата на вкладку Index и запустите процесс создания индекса.

Инструмент Terrier не поддерживает инкрементную индексацию. При каждом создании индекса с помощью инструмента Terrier он удаляет старый индекс и заново индексирует все папки, указанные пользователем.

Ход индексации отображается в нижней части окна. После завершения индексации инструмент Terrier выводит вкладку Search.

Язык запросов инструмента Terry

Вкладка Search очень проста, – она содержит лишь одно поле для ввода запроса в инструмент Terrier. Вы можете использовать язык запросов для поиска отдельных слов или для поиска во фразе. Рассмотрим несколько примеров поиска документов, содержащих изображения, которые были ранее найдены с помощью инструмента imgSeek.

Пример 1. word1 word2 (слово1 слово2)

Такой запрос возвращает документы, содержащие одно или два слова (не обязательно оба). Предположим, что первое слово —boat, а второе слово —imgboat1.png. Результаты поиска могут оказаться следующими. Один из найденных документов содержит слово boat, но не содержит слова imgboat1.png. Второй документ содержит слово imgboat1.png, но не содержит слова boat. Третий документ содержит оба слова.

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

Пример 2. word1^2.3 word2 (слово1^2,3 слово2)

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

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

Для дальнейшего уточнения своего поиска введите в поле поиска третье слово, например, flower. Весовой коэффициент, присвоенный этому третьему слову, может быть больше или меньше весового коэффициента, присвоенного первому слову. Если весовой коэффициент первого слова (например, 7,2) больше весового коэффициента третьего слова (например, 2,5), это существенно повышает вероятность того, что в результатах поиска сначала будут показаны документы, содержащие первое слово.

Пример 3. +word1 +word2 (+слово1 +слово2)

Для получения документов, содержащих оба слова, введите знак + в качестве префикса слова. Два слова могут находиться в разных местах документа. Они не обязаны находиться рядом друг с другом, в частности, в одной фразе. Например, слова flower и imgflower1.png находятся в разных местах, но слово flower может не быть связано со словом imgflower1.png. Некоторое изображение может быть обозначено словом Flower в одном документе и словом Rose в другой версии этого же документа.

Пример 4. +word1 -word2 (+слово1 -слово2)

Используйте этот пример при поиске документов, каждый из которых содержит первое слово и не содержит второго слова. С этой целью поместите знак + в качестве префикса первого слова и знак — в качестве префикса второго слова. Если какой-либо документ содержит и первое слово, и второе слово, он не будет включен в результаты данного поиска.

Например, при поиске по трем словам +boat+imgboat1.png и –canoe поиска вы получите документы, содержащие слова boat и imgboat1.png, но не содержащие слова canoe.

Пример 5. "word1 word2" ("слово1 слово2")

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

Пример 6. phrase1 -word1 word2^3.5 (фраза1 -слово1 слово2^3,5)

Предположим, что вы указываете четыре слова с целью отыскания документов, в которых присутствует фраза, содержащая слово с весовым коэффициентом 3,5 и не содержащая второго слова. Например, вам нужны документы, содержащие фразу "Figure 7. This is the picture of a flower" и при этом не содержащие слова boat и содержащие слово stone с весовым коэффициентом 3,5.

Заключение

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


Ресурсы для скачивания


Похожие темы


Комментарии

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Open source
ArticleID=768065
ArticleTitle=Поисковые механизмы с открытым исходным кодом для настольных систем
publish-date=10272011