ccks2019-ckbqa-4th-codes icon indicating copy to clipboard operation
ccks2019-ckbqa-4th-codes copied to clipboard

关于在entity_extractor等代码中因为调用kb.py访问neo4j数据库过慢的解决方法

Open ConnollyLeon opened this issue 4 years ago • 11 comments

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。

可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。

6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。

kb_http.zip

ConnollyLeon avatar Jun 03 '20 02:06 ConnollyLeon

点赞点赞~

duterscmy avatar Jun 03 '20 02:06 duterscmy

点赞!

JS-WangZhu avatar Jun 08 '20 09:06 JS-WangZhu

舒服了 感谢!从300s变成平均0.几秒

xqx1568 avatar Jun 18 '20 13:06 xqx1568

搜索结果里面有乱码,怎么处理呀

liupenggg avatar Nov 07 '20 04:11 liupenggg

搜索结果里面有乱码,怎么处理呀

这个问题应该是因为PKUBASE的数据库有脏数据。有乱码的话,建议把这个去掉

ConnollyLeon avatar Nov 10 '20 01:11 ConnollyLeon

感谢!

callmeivy avatar Dec 01 '20 01:12 callmeivy

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。

可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。

6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。

kb_http.zip

你好,想问一下,如果用你这个代码的话,tuple_extractor.py文件是直接运行吗, 还是说需要注释掉什么内容或者放开哪部分备注掉的内容,我运行完之后,没有生成candidate_tuples_valid.pkl文件,导致后面的tuple_filter.py:文件无法运行,谢谢~

DeqianBai avatar Jul 13 '21 01:07 DeqianBai

使用gstore搜索数据的时候如果有entity中有空格、英文双引号、单书名号等符号时,会导致搜索出错,gstore服务器重启,那么在这些时候是啥也搜索不到的吧。出错的命令如下类: select distinct ?x ?y where {<电影"导演之王":黑泽明> ?x ?b. ?b ?y ?z} select distinct ?x ?y where {<电影导演之王 :黑泽明> ?x ?b. ?b ?y ?z}

1744084814 avatar Oct 20 '21 07:10 1744084814

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。

可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。

6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。

kb_http.zip

你好,连接数据库时报错:{'StatusCode': 903, 'StatusMsg': 'username not find.'} 具体的账号和密码怎么获取呢?

cdg1921 avatar Jun 09 '22 06:06 cdg1921

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。 可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。 6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。 kb_http.zip

你好,连接数据库时报错:{'StatusCode': 903, 'StatusMsg': 'username not find.'} 具体的账号和密码怎么获取呢?

2年前的东西突然被翻出来了0.0,我已经不维护这个代码啦,可能数据库不让访问了,我记得我当时是不需要账号和密码的...

ConnollyLeon avatar Jun 09 '22 06:06 ConnollyLeon

修改kb.py代码,使其能通过http api直接访问PKUBASE的数据库。还省去了搭建本地neo4j的步骤。在我自己的机器上,效率从300秒处理完一个数据变成了3秒一个数据。 可能存在的问题:因为将Cypher语句转化成了 sparql语句,可能存在查询不全的问题(原代码中cypher语句基本上是无向查询,而sparql本身就是有向的查询)。如果后期发现有问题再进行修改。 6月9号更新 try要在json.loads之后,不然会报错。现在只有在断网的时候才会报错。 kb_http主要在entity_extractor和tuple_extractor里面使用,这里附上我的修改后的版本。 仅供参考,因为还没有完全调试好,结构写的也不够清晰!! 在修改里参考了原作者的思路,加上了几个本地缓存来避免断网之后要重新查找的问题,毕竟对整个数据集完整查询一次还挺慢的。这样查询完之后再训练,如果以后报错了可以省几个小时。 kb_http.zip

你好,连接数据库时报错:{'StatusCode': 903, 'StatusMsg': 'username not find.'} 具体的账号和密码怎么获取呢?

现在账号密码好像是root:123456,详情见https://github.com/pkumod/gStore/blob/0.8/docs/API.md

Pap-Fish avatar Oct 18 '22 08:10 Pap-Fish