Neo4j &引用;java.lang.OutOfMemoryError:java堆空间;“运行时”;ga.nlp.注释;使用GraphAware NLP

Neo4j &引用;java.lang.OutOfMemoryError:java堆空间;“运行时”;ga.nlp.注释;使用GraphAware NLP,neo4j,Neo4j,Windows 10 32Gb内存 3.4GHz的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 嗨。我正在尝试注释

Windows 10
32Gb内存
3.4GHz的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

我肯定这只是某个地方的设置更改,但我不确定是什么或在哪里。抱歉,如果这是一个新手问题

默认配置为512MB,这对于斯坦福NLP使用的模型是不够的。 正如这里所建议的:

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

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

尽管考虑到您的RAM可用性,我还是建议两个值都使用5GB。

非常感谢。非常感谢。这似乎成功了。我目前正在处理已成功处理注释的co-sine相似性。注释在大约5小时内处理,创建约21000个带注释的文本节点。我将相似性设置为运行,17小时后仍在运行。它使用了100%的CPU容量。你觉得这正常吗?非常感谢!是的,这很正常。在企业版中,我们正在开发针对余弦相似性计算的优化。考虑到在“基本”版本中计算2100x21000的相似性。虽然我们改进了很多,但是计算量很大。谢谢,很高兴知道。我会交叉手指,希望它能顺利完成:)你知道我预计需要多长时间吗,或者这是一个“多长时间”的问题吗?顺便说一句,这是一个很棒的插件!谢谢。请在@Allessandro继续回答这个问题,因为我的UPS有问题,我不确定是终止查询还是让它继续运行。项目截止日期已经过去,已经运行了58个小时。有没有办法1)知道查询需要多长时间/完成多长时间,或者2)停止查询,重新启动计算机并在停止的地方继续?谢谢在neo4j日志中,应该有一些有用的东西来了解发生了什么