在 Neo4j 中添加词嵌入
Add Word Embedding in Neo4j
正在尝试使用 Unwind 向我的节点添加词嵌入。
代码:
nodes = [x['m'] for x in result]
for dic in nodes:
dic['embedding'] = list(np.round(model_st.encode(dic['name'], show_progress_bar=False), 3))
query_update = f""" UNWIND $nodes as res_dict
MATCH (n:Word {{name: res_dict.name}})
SET n.embedding = res_dict.embedding
"""
self.conn.query(query=query_update, parameters={'nodes': nodes})
但是当我尝试 运行 它时,出现以下错误:
Parameters of type float32 are not supported
如何在 Python 中实现?
有没有更好的方法来设置一个节点的嵌入?
我能够使用以下代码添加嵌入
embedding = list(np.round(model_st.encode(name, show_progress_bar=False).astype(np.float64),3))
我仍然认为 neo4j 没有创建嵌入的本机方法(使用 apoc/gds)很奇怪
正在尝试使用 Unwind 向我的节点添加词嵌入。
代码:
nodes = [x['m'] for x in result]
for dic in nodes:
dic['embedding'] = list(np.round(model_st.encode(dic['name'], show_progress_bar=False), 3))
query_update = f""" UNWIND $nodes as res_dict
MATCH (n:Word {{name: res_dict.name}})
SET n.embedding = res_dict.embedding
"""
self.conn.query(query=query_update, parameters={'nodes': nodes})
但是当我尝试 运行 它时,出现以下错误:
Parameters of type float32 are not supported
如何在 Python 中实现? 有没有更好的方法来设置一个节点的嵌入?
我能够使用以下代码添加嵌入
embedding = list(np.round(model_st.encode(name, show_progress_bar=False).astype(np.float64),3))
我仍然认为 neo4j 没有创建嵌入的本机方法(使用 apoc/gds)很奇怪