java - 如何从 DBpedia Spotlight Web 服务获取完整结果

标签 java web-services semantic-web dbpedia

我正在尝试编写一个小程序,它会读取 txt 文件的上下文并将其发送到 Spotlight Web 服务以获得语义注释(以 text\html 输出格式)。不幸的是,与 Spotlight Demo 相比,只有一小部分实体被“识别”。例如,使用我的程序,对于类似“Ridley Scott 执导了许多电影,包括《异形》、《终结者》和《银翼 killer 》这样的文本,我得到的响应是“电影”和“外星人”在演示中的位置没有注释。对于较大的文本也会发生同样的情况。我在 OpenCalais WebService 中遇到了类似的问题,但这是因为我尝试使用命令对输入文本进行编码

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

一旦我注释掉这个问题,问题就解决了。不幸的是,这里的情况并非如此。

最佳答案

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

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

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

关于java - 如何从 DBpedia Spotlight Web 服务获取完整结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11233944/

相关文章:

java - 尝试更新 JLabel 的内容

database - RDF/OWL 是表示还是数据库?

java - 在 Windows 7 上的 Tomcat 7 中放置 phantomjs.exe 的位置

web-services - Excel 2007 - 与 Web 服务对话

c# - 如何将asmx服务转换为rest以通过URL调用

web-services - 雅虎!金融 API DOW

nlp - 可增量训练的实体识别分类器

rdf - N3/Turtle本体语言创建类有没有捷径

java - 从 Java 类生成切面

java - 按钮新游戏无法运行 Java