Реализовать семантический поиск в веб-приложении

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

   Title
   Description
   Category
   Budget 
   Submit_date
   End_date

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


person Lahiru Ruhunage    schedule 21.08.2010    source источник


Ответы (2)


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

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

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

person Pēteris Caune    schedule 27.08.2010

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

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

person ashutosh raina    schedule 31.07.2011