2010-08-21 76 views
2

此Web应用程序是关于向Web应用程序发布不同类型的帖子,用户可以通过基于文本的搜索来搜索这些帖子。基本上一个职位有以下属性。在Web应用程序中实现语义搜索

Title 
    Description 
    Category 
    Budget 
    Submit_date 
    End_date 

当前,发布内容存储在'Post'表下的sql server数据库中。我想要做的是,在应用程序中发布的帖子上实现语义搜索。例如,当用户在搜索字段中键入'Education'时,系统应该搜索该单词'Education'的含义而不是其文本值。我喜欢用Jena框架为此提供基于RDF/OWL的解决方案。但我真的不知道如何开始它,因为我是语义网的新手。帮助我建立这个搜索。 (它更好,如果你能提供一个示例应用程序/代码)。提前感谢。

回答

4

在开始进行一项非平凡的任务之前,我认为明智地使用语义网络技术,他们着手解决的问题等等。您可以先阅读/扫描例如,“Programming the Semantic Web”书。

随着对什么是什么的高层次的理解,你可以重申你的问题更具体,也许分成几个不太一般的问题。 OWL和Jena是实现细节,首先您需要一个清晰的总体思路,您的语义搜索将如何正确运行。您的文章描述是否会由人工作者或机器进行语义注释?你也会使用类别来帮助你的搜索吗?你会使用外部系统来查找“什么样的术语/概念/资源与”教育“相关的信息吗?”或者你的系统会自己维护这些信息吗?等等。

除非你认真对待语义,否则为了提高搜索效果,我建议从简单的事情开始,比如词干,所以搜索“教育”将返回提到“教育”,“未受教育”等等。添加一些这样的简单技巧,也许你会意识到这就是你真正需要的...... :-)

1
  • 实现一个语义网络搜索引擎将是没有任何意义的任务。一个 这样做的方法可能是根据一个 本体对帖子进行分类。现在很明显,本体需要随着时间的推移而发展,您可能希望保留几个这样的本体用于搜索。 我会这样做的方式是通过 分析帖子内部的文本生成标签。帖子通常只有作者自己定义的标签 ,如果你能以某种方式添加更多标签 ,它会使在搜索时发布更多可见,并且更有用 。一旦你有了标签,你就可以根据你所拥有的本体对它进行分类,然后利用这些本体建立关系。我可以建议使用“opencalais”(还有其他几种可供选择)web服务 生成更多的标签。使用几个标准本体,你可以在网上找到 ,根据你找到的新标签添加到他们。更多的帖子你会有更多的关系,因此你会有更好的结果。

希望它给你一个开始。

相关问题