如何从DBpedia Spotlight Web Service获取完整结果

时间:2012-06-27 19:55:37

标签: java web-services semantic-web dbpedia

我正在尝试编写一个小程序,它将读取txt文件的上下文并将其发送到Spotlight Web服务以获取语义注释(以text \ html输出格式)。不幸的是,与Spotlight Demo相比,只有一部分实体被“识别”。例如,使用我的程序,对于像“Ridley Scott执导的一些电影,包括Alien,Terminator和Blade Runner”这样的文字,我得到的答案是“电影”和“外星人”没有在演示中注释。对于较大的文本也是如此。我遇到了与OpenCalais WebService类似的问题,但这是因为我试图使用命令对输入文本进行编码

     input = URLEncoder.encode(input, "UTF-8");

一旦我发表评论,问题就解决了。不幸的是,情况并非如此。

1 个答案:

答案 0 :(得分:2)

如果您发布了使用演示和程序获得的结果以及演示界面中使用的参数,这将有所帮助,以便我们可以尝试了解发生了什么。没有更多信息,我不确定我能提供帮助。

但是,让我们做一些猜测。我认为这是其中之一:

  1. 您没有设置参数置信度和支持,因此可能是您的Web服务调用的结果被过滤掉了比演示界面更高的值。尝试添加参数“& confidence = 0.0”和“& support = 0”。这应该显示一切(甚至一些明显不正确的注释)。您可以将这些参数设置得更高,以获得更高的精度(以较低的召回率为代价)。有关添加帖子参数的帮助,请参阅此其他答案:How to add parameters to HttpURLConnection using POST
  2. 您也没有明确设置要使用的查找器,因此Web服务可能使用与您的Web服务不同的识别器。有关在DBpedia Spotlight上发现的更多信息:https://github.com/dbpedia-spotlight/dbpedia-spotlight/wiki/Spotting(相同的参数适用于/注释)