Реализовать семантический поиск в веб-приложении - PullRequest
2 голосов
/ 21 августа 2010

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

   Title
   Description
   Category
   Budget 
   Submit_date
   End_date

В настоящее время контент Post хранится в базе данных sql server под таблицей 'Post'. Что я хочу сделать, это реализовать семантический поиск по этим сообщениям, которые публикуются в приложении. Например, когда пользователь вводит «Образование» в поле поиска, система должна выполнять поиск по значению этого слова «Образование», а не по его текстовому значению. Для этого мне нравится использовать решение на основе RDF / OWL с инфраструктурой Jena. Но я действительно не знаю, с чего начать, так как я новичок в Semantic Web. Помогите мне построить этот поиск. (Лучше, если вы можете предоставить образец приложения / коды). Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 27 августа 2010

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

Обладая высоким уровнем понимания того, что к чему, вы можете затем сформулировать свой вопрос более конкретно, возможно, разделив его на несколько менее общих вопросов. OWL и Jena - это детали реализации, во-первых, вам необходимо получить общее представление о том, как будет работать ваш семантический поиск. Будут ли ваши описания постов семантически аннотированы человеческими авторами или машинами? Будете ли вы использовать категории, чтобы помочь вашему поиску? Будете ли вы использовать внешние системы для поиска информации типа «какие термины / концепции / ресурсы связаны с« образованием »» или ваша система будет поддерживать эту информацию сама по себе? И так далее.

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

1 голос
/ 31 июля 2011
  • Внедрение семантического веб-поискового движка будет непростой задачей.Одним из способов сделать это может быть классификация поста на основе онтологии. Очевидно, что онтология должна со временем развиваться, и вы можете захотеть оставить несколько таких онтологий для поиска.Я бы сделал так, чтобы генерировать теги для поста путем анализа текста внутри поста. У постов обычно есть только теги, определенные самими авторами. Если бы вы могли как-то добавить больше тегов, это сделало бы пост более заметным, когдапоиск и многое другое полезное.Когда у вас есть теги, вы можете классифицировать их на основе имеющихся у него онтологий, а затем строить отношения на основе этих онтологий. Я могу предложить использовать « opencalais » (доступно еще несколько, не стесняйтесь выбирать) веб-сервисдля генерации дополнительных тегов. Используйте несколько стандартных онтологий, которые вы можете найти в Интернете, добавляйте к ним новые найденные теги. Чем больше сообщений, тем больше у вас отношений и, следовательно, лучшие результаты.

Надеюсь, это даст вам начало.

...