当前位置: 首页 > article >正文

neo4j节点多重关系时语义重复

示例“由”与“由_研发”重复考虑到LLM查重每一次都要调用新的LLM采用向量库查重prompt优化新增规则4. 同一语义只能用一个词不能出现训练于和在...中训练这种重复第一阶段纯向量去重失败最直觉的方案是用 embedding 模型计算相似度超过阈值就跳过scores cosine_similarity([new_vec], exist_vecs)[0] if scores.max() 0.9: continue # 跳过重复问题mxbai-embed-large对中文短句效果差由vs由_研发这种短词相似度计算不稳定阈值难以调整0.9太严0.7又会误杀第二阶段动态Schema约束核心思路不在存入时去重而是在提取时就输出标准化的词。每次提取时把已有图谱的实体名和关系词表传给LLM强制复用图谱越用越标准从源头消灭歧义。第三阶段向量召回 LLM标准化兜底仅靠Prompt约束还不够需要一道兜底机制。但直接把整个图谱塞给LLM判断图谱大了会超出context window。方案向量先缩小范围LLM只看候选项def normalize_by_llm(new_data): 向量召回候选后LLM做最终标准化节点关系一起处理 # 为每个新节点找候选 node_candidates {} for node in new_data.get(nodes, []): similar get_top_k_similar(node, _node_cache, top_k5) if similar: node_candidates[node] [name for name, _ in similar] # 为每个新关系找候选 rel_candidates {} for edge in new_data.get(edges, []): if isinstance(edge, list) and len(edge) 3: rel edge[1] similar get_top_k_similar(rel, _rel_cache, top_k5) if similar: rel_candidates[rel] [name for name, _ in similar] # 没有候选说明是全新图谱直接返回 if not node_candidates and not rel_candidates: return new_data prompt f 你是知识图谱专家对新数据进行标准化处理。 新数据{json.dumps(new_data, ensure_asciiFalse)} 节点候选映射如果新节点与候选是同一实体用候选名替换 {json.dumps(node_candidates, ensure_asciiFalse)} 关系候选映射如果新关系与候选语义相同用候选名替换 {json.dumps(rel_candidates, ensure_asciiFalse)} 规则 1. 只有确定是同一实体/语义才替换不确定保留原名 2. 关系名不超过4个字 3. 只输出JSON无任何解释 格式 {{ nodes: [实体A, 实体B], edges: [[实体A, 关系, 实体B]] }} response llm.invoke(prompt) try: match re.search(r\{.*\}, response, re.DOTALL) if not match: return new_data return json.loads(match.group()) except: return new_datadef get_top_k_similar(query, candidates_cache, top_k5): if not candidates_cache: return [] query_vec embed_model.embed_query(query) names list(candidates_cache.keys()) vecs list(candidates_cache.values()) scores cosine_similarity([query_vec], vecs)[0] top_indices np.argsort(scores)[::-1][:top_k] # 只返回相似度0.5的过滤掉不相关的候选 return [(names[i], scores[i]) for i in top_indices if scores[i] 0.5]第四阶段内存缓存加速每次请求都从Neo4j加载所有节点计算向量太慢用内存缓存解决# 内存缓存 _node_cache {} # {name: vector} _rel_cache {} # {rel: vector} def load_cache_from_neo4j(session): 首次运行时从neo4j加载已有数据到缓存 if not _node_cache: existing_nodes [r[name] for r in session.run(MATCH (e:Entity) RETURN e.name AS name)] if existing_nodes: print(f[缓存] 加载 {len(existing_nodes)} 个节点向量...) vecs embed_model.embed_documents(existing_nodes) _node_cache.update(dict(zip(existing_nodes, vecs))) if not _rel_cache: existing_rels list(set( r[rel] for r in session.run(MATCH ()-[r]-() RETURN type(r) AS rel) )) if existing_rels: print(f[缓存] 加载 {len(existing_rels)} 个关系向量...) vecs embed_model.embed_documents(existing_rels) _rel_cache.update(dict(zip(existing_rels, vecs)))新节点/关系存入后立即更新缓存保持同步。

相关文章:

neo4j节点多重关系时语义重复

示例:“由”与“由_研发”重复考虑到LLM查重每一次都要调用新的LLM,采用向量库查重prompt优化新增规则:4. 同一语义只能用一个词,不能出现"训练于"和"在...中训练"这种重复第一阶段:纯向量去重&am…...

使用C#代码在 Word 文档中插入数学公式

Word 文档中的数学公式是表达数学概念和关系的重要工具。无论您是在撰写学术论文、科学报告,还是其他涉及数学内容的文档,插入数学公式都可以大大提升您对复杂数学概念的表达能力,并增强文档的视觉效果与专业性。本文将介绍如何使用 Spire.Do…...

运维系列【仅供参考】:Centos7 后台执行(nohup命令)

Centos7 后台执行(nohup命令) Centos7 后台执行(nohup命令) nohup命令详解 nohup和&的区别 nohup 命令 & 2>&1的问题 Centos7 后台执行(nohup命令) nohup命令详解 nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)…...

优化师资与课程体系,提升备考效率

一、行业痛点分析当前法考培训领域面临严峻挑战。教学质量层面,部分机构师资力量薄弱、课程内容陈旧、教学方法同质化,学员难以突破知识瓶颈,通关率持续低位。服务体验层面,督学形同虚设、答疑延迟严重、缺乏数据化学情追踪&#…...

闲鱼自动回复软件工具闪电鱼助手如何下载?

做闲鱼的人都知道,真正消耗精力的,往往不是上架商品,而是每天重复不断的咨询、议价、催发货和售后回复。这款软件支持在win系统上可以直接使用的软件工具,针对的是闲鱼卖家的“自动客服自动交付”效率工具。 闪电鱼软件 地址&…...

SpringCloud进阶--Seata与分布式事务方

起因是我想在搞一些操作windows进程的事情时,老是需要右键以管理员身份运行,感觉很麻烦。就研究了一下怎么提权,顺手瞄了一眼Windows下用户态权限分配,然后也是感谢《深入解析Windows操作系统》这本书给我偷令牌的灵感吧&#xff…...

别让AI代码,变成明天的技术债甭

如果有多个供应商,你也可以使用 [[CC-Switch]] 来可视化管理这些API key,以及claude code 的skills。 # 多平台安装指令 curl -fsSL https://claude.ai/install.sh | bash ## Claude Code 配置 GLM Coding Plan curl -O "https://cdn.bigmodel.cn/i…...

AI原生研发岗缺口高达47.6万!:2026年前必须掌握的5项硬核能力清单(附企业真实JD对标表)

第一章:SITS2026圆桌:AI原生研发的人才缺口 2026奇点智能技术大会(https://ml-summit.org) 现实图景:从模型调用者到AI系统构建者的断层 当前大量工程师仍停留在“API调用层”——熟练使用LangChain、LlamaIndex封装工具链,却难…...

AI开发-python-langchain框架(--AI 直接生成并执行 Python 代码 )哦

指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c #includ…...

Unity 物联网通信实战:从零集成 MQTTnet 到发布订阅

1. 为什么选择MQTTnet做Unity物联网通信 如果你正在开发一个需要实时数据交互的Unity应用,比如智慧城市大屏或者设备监控面板,MQTT协议绝对是你的首选。而MQTTnet作为.NET平台最成熟的MQTT客户端库,在Unity中的表现尤为出色。我去年做过一个工…...

Selenium+图鉴平台实战:5分钟搞定欧模网滑动验证码自动登录(附完整代码)

Selenium与图鉴平台实战:破解滑动验证码自动登录的技术解析 滑动验证码已经成为现代网站防护爬虫的标配方案之一。作为前端工程师或自动化测试开发者,我们经常需要处理这类验证码的自动识别问题。本文将深入探讨如何利用Selenium结合第三方图鉴平台&…...

C# 面试高频题:装箱和拆箱是如何影响性能的?菩

OCP原则 ocp指开闭原则,对扩展开放,对修改关闭。是七大原则中最基本的一个原则。 依赖倒置原则(DIP) 什么是依赖倒置原则 核心是面向接口编程、面向抽象编程, 不是面向具体编程。 依赖倒置原则的目的 降低耦合度&#…...

从锁模到电光调制:光学频率梳技术全解析与五大主流品牌竞品对比

一.引言在精密计量与量子技术飞速发展的今天,光学频率梳(Optical Frequency Comb,OFC)作为一种革命性的光学测量工具,正在重新定义时间、频率和距离的测量精度。自2005年诺贝尔物理学奖授予光梳技术以来,这…...

Calico IPIP 使用指南妹

本课概览 Microsoft Agent Framework (MAF) 提供了一套强大的 Workflow(工作流) 框架,用于编排和协调多个智能体(Agent)或处理组件的执行流程。 本课将以通俗易懂的方式,帮助你理解 MAF Workflow 的核心概念…...

值类型与引用类型:别再只背“栈和堆”了,看这 个实际影响我

基础示例:单工作表 Excel 转 TXT 以下是将一个 Excel 文件中的第一个工作表转换为 TXT 的完整步骤: 1. 加载并读取Excel文件 from spire.xls import * from spire.xls.common import * workbook Workbook() workbook.LoadFromFile("示例.xlsx"…...

Harness层接口限流:防止恶意调用

一、 标题 Harness 层接口限流实战:从恶意调用防护到 DevOps 平台稳定性的铜墙铁壁二、 摘要/引言 2.1 开门见山(Hook) 假设你是一家拥有 500 开发者、日均 1000 CI/CD 流水线运行、每月发布 200 新特性的中型 SaaS 公司 DevOps 负责人。周一…...

Lumafly:让空洞骑士模组管理变得像呼吸一样简单

Lumafly:让空洞骑士模组管理变得像呼吸一样简单 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 还在为空洞骑士模组安装的繁琐流程而烦恼吗&#xf…...

打字不如说话,说话不如截图——AI 代码助手的多模态输入实践兑

整体排查思路 我们的目标是验证以下三个环节是否正常: 登录成功时:服务器是否正确生成了Session并返回了包含正确 JSESSIONID的Cookie给浏览器。 浏览器端:浏览器是否成功接收并存储了该Cookie。 后续请求:浏览器在执行查询等操作…...

HY-Motion 1.0避坑指南:写好Prompt指令,轻松生成高质量3D动画

HY-Motion 1.0避坑指南:写好Prompt指令,轻松生成高质量3D动画 你是不是也遇到过这种情况:兴冲冲地打开HY-Motion 1.0,输入一段文字,结果生成的3D动画要么动作僵硬,要么干脆跑偏,完全不是你想要…...

老马失前蹄,竟然在数据库外键上翻车了,重温外键级联淌

AI Agent 时代的沙箱需求 从 Copilot 到 Agent:执行能力的质变 在生成式 AI 的早期阶段,应用主要以“Copilot”形式存在,AI 仅作为辅助生成建议。然而,随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter(现为 Advan…...

Umi-CUT:三步批量处理图片黑边,解放你的生产力

Umi-CUT:三步批量处理图片黑边,解放你的生产力 【免费下载链接】Umi-CUT 项目地址: https://gitcode.com/gh_mirrors/um/Umi-CUT 还在为海量图片的黑边烦恼吗?Umi-CUT批量图片处理工具就是你的终极解决方案。这款开源软件专为图片批量…...

【仅限SITS2026参会者解密】:基于真实金融/医疗场景的AI-DevSecOps成熟度自评表(含17项动态权重指标)

第一章:SITS2026演讲:AI原生DevSecOps实践 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026主会场,来自CNCF安全工作组与GitHub Advanced Security联合团队的演讲首次系统性展示了AI原生DevSecOps落地范式——将大语言模型&#x…...

终极英雄联盟智能助手:5分钟快速提升你的游戏体验 [特殊字符]

终极英雄联盟智能助手:5分钟快速提升你的游戏体验 🎮 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 想要在英雄联盟中…...

新手必看!立知lychee-rerank-mm部署教程:从安装到调用全流程

新手必看!立知lychee-rerank-mm部署教程:从安装到调用全流程 1. 什么是lychee-rerank-mm? lychee-rerank-mm是一个轻量级多模态重排序工具,它能帮你解决一个常见但棘手的问题:当系统返回一堆搜索结果后,如…...

网易云音乐自动升级神器:3天轻松冲上LV10的完整指南

网易云音乐自动升级神器:3天轻松冲上LV10的完整指南 【免费下载链接】neteasy_music_sign 网易云自动听歌打卡签到300首升级,直冲LV10 项目地址: https://gitcode.com/gh_mirrors/ne/neteasy_music_sign 还在为网易云音乐升级而苦恼吗&#xff1f…...

stock-sdk-mcp 的实践整理栈

一、什么是urllib3? urllib3 是一个用于处理 HTTP 请求和连接池的强大、用户友好的 Python 库。 它可以帮助你: 发送各种 HTTP 请求(GET, POST, PUT, DELETE等)。 管理连接池,提高网络请求效率。 处理重试和重定向。 支…...

AI时代新型的项目管理应该是什么样的?奔

AI训练存储选型的演进路线 第一阶段:单机直连时代 早期的深度学习数据集较小,模型训练通常在单台服务器或单张GPU卡上完成。此时直接将数据存储在训练机器的本地NVMe SSD/HDD上。 其优势在于IO延迟最低,吞吐量极高,也就是“数据离…...

Umi-OCR终极指南:三步实现免费离线OCR,高效处理海量文档

Umi-OCR终极指南:三步实现免费离线OCR,高效处理海量文档 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码…...

2026奇点智能技术大会核心成果发布(AI原生搜索系统白皮书首曝)

第一章:2026奇点智能技术大会:AI原生搜索系统 2026奇点智能技术大会(https://ml-summit.org) AI原生搜索系统是本届大会的核心发布成果,它不再将大语言模型作为后置重排模块,而是从索引构建、查询理解、向量-符号协同推理到结果生…...

从微观到介观:MCE SIG突破算力瓶颈的DPD算子已开源

从微观到介观:MCE SIG突破算力瓶颈的DPD算子已开源,化工行业深入介观尺度,持续完善AI科学计算能力 作者:张强豪(zhangqianghao) 指导:黄剑兴(huangjianxing) 1、为什么…...