使用GraphAware NLP运行“ ga.nlp.annotate”时出现“ java.lang.OutOfMemoryError:Java堆空间”

时间:2018-11-10 17:13:15

标签: neo4j

Windows 10
32Gb RAM
3.4 GHz时的8核Xeon处理器

Neo4j 3.4.7
Neo4j Browser 3.2.13
apoc-3.4.0.3.jar
graphaware-nlp-3.4.7.52.13.jar
graphaware-server-community-all-3.4.7.52.jar
nlp-stanfordnlp-3.4.7.52.13.jar
stanford-english-corenlp-2018-10-05-models.jar

嗨。我正在尝试注释数据库中的所有文本字段。有25532个具有文本值的节点。

我正在使用以下查询来执行此操作:

CALL apoc.periodic.iterate(
"MATCH (n:FreeTextResponse) WHERE NOT (n)-[:HAS_ANNOTATED_TEXT]->() RETURN n",
"CALL ga.nlp.annotate({text: n.fullSentenceString, id: id(n), checkLanguage: false})
YIELD result MERGE (n)-[:HAS_ANNOTATED_TEXT]->(result)", {batchSize:1, iterateList:false})

...并出现以下错误:

java.lang.OutOfMemoryError: Java heap space

我确定这只是某个地方的设置更改,但是我不确定什么地方。抱歉,这是一个新手问题!

1 个答案:

答案 0 :(得分:6)

默认配置为512MB,对于Stanford NLP所使用的型号而言还不够。 如此处建议:

https://github.com/graphaware/neo4j-nlp

通过以下方式更改neo4j.conf文件:

dbms.memory.heap.initial_size=3000m
dbms.memory.heap.max_size=5000m

尽管考虑了RAM的可用性,但我建议两个值都建议使用5GB。