0

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でそれを達成するにはどうすればよいですか? 埋め込みをノードに設定するより良い方法はありますか?

4

1 に答える 1

0

次のコードを使用して埋め込みを追加できました

embedding = list(np.round(model_st.encode(name, show_progress_bar=False).astype(np.float64),3))

私はまだそれが奇妙だと思いますneo4jには埋め込みを作成するネイティブな方法がありません(apoc / gdsを使用)

于 2022-01-06T07:56:53.360 に答える