Metamap运行本地引发“查询Prolog服务器时出错:连接被拒绝”

时间:2015-07-25 16:33:06

标签: java nlp

我按照this步骤在Linux平台上运行Metamap Java API 2014 (Main page from metamap

启动Metamap服务器之后,我在Metamap JavaAPI pakages中运行了一些主类,但它引发了Error when querying Prolog Server: Connection refused

然后我使用以下命令检查Metamap服务器是否在端口8066上运行:  sudo netstat -tulpn | grep 8066

但我一无所获。

之前有没有人遇到过同样的问题,并且知道解决方案吗?

4 个答案:

答案 0 :(得分:1)

运行skrmedpostctl(以及可选的单词感知diambiguation服务器wsdserverctl)后,您需要运行mmserver可执行文件才能使用Java API for Metamap。这可以通过运行命令

来运行
./bin/mmserver{two-digit-year}

另外,请确保在类路径中包含metamap和prolog-beans的两个jar文件(在IDE中,这可以通过向这些jar添加依赖项来完成)。

答案 1 :(得分:0)

问题可能在于超时:当没有为MetaMapImpl指定timeout参数时,它被设置为0,因此实例会将任何延迟解释为失败并报告错误。

将超时时间增加到合理的值(对我来说500毫秒就足够了)。

答案 2 :(得分:0)

我收到错误SPIO_E_TOO_MANY_OPEN_FILES并丢失了与mmserver的连接后收到此错误。我试图在一个循环中构造MetaMapApiImpl的实例并且调用processCitationsFromString数千次。因此,大约一百次重复后,我收到错误SPIO_E_TOO_MANY_OPEN_FILES。

我为修复此错误所做的是通过调用函数disconnect()来简单地断开循环结束时的api。

答案 3 :(得分:0)

您可以先运行" skrmedpostctl_start"来启动tagger服务器。那么你可以启动" metamap14.bat",现在你可以在命令行上运行metamap。但我找不到" mmserver"所以我无法使用metamap API。你是怎么解决的? PS。该网站对用户不友好。一些pycho主持人,你没有别的事可做吗?其他Q& A网站可以回答问题以及讨论。我使用这个网站只是因为我发现一个伙伴我遇到了同样的问题。该死的主持人应该闭嘴,做其他工作。