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

无图谱不AI之三元组数据保存Neo4j

目录

  • 1. 代码学习
    • 1.1 源代码
    • 1.2 代码解读

没有图谱称为弱人工智能,有图谱的称为强人工智能。

图谱可以让机器学习和人工智能具备推理能力。

1. 代码学习

1.1 源代码

# -*- coding: utf-8 -*-
from py2neo import Node, Graph, Relationship# 可以先阅读下文档:https://py2neo.org/v4/index.htm
class DataToNeo4j(object):"""将excel中数据存入neo4j"""def __init__(self):"""建立连接"""link = Graph("http://localhost:7474/", username="neo4j", password="root")self.graph = link# self.graph = NodeMatcher(link)self.graph.delete_all()def create_spo(self, result):# 创建节点, 和关系start = Node('temp', name=result[0])end = Node('temp', name=result[2])self.graph.create(start)self.graph.create(end)r1 = Relationship(start, result[1], end)self.graph.create(r1)

from ltp import LTPltp = LTP()# 使用语义角色标注构建和抽取关系
def srl_AtoA(sent):# 句子进行分词操作seg, hidden = ltp.seg([sent])seg = seg[0]print(seg)srl = ltp.srl(hidden, keep_empty=False)[0]print(srl)results = []for s in srl:key = s[0]values = s[1]start, end = '', ''for value in values:print('value:', value)if value[0] == 'A0':start = ''.join(seg[value[1]:value[2] + 1])if value[0] == 'A1':end = ''.join(seg[value[1]:value[2] + 1])if start != '' and end != '':results.append([start, seg[key], end])return results
# 分句操作
sents = ltp.sent_split(["该僵尸网络包含至少35000个被破坏的Windows系统,攻击者和使用者正在秘密使用这些系统来开采Monero加密货币。该僵尸网络名为“ VictoryGate”,自2019年5月以来一直活跃。"])
spo = DataToNeo4j()
for sent in sents:print(sent)results = srl_AtoA(sent)print(results)for result in results:spo.create_spo(result)print('-' * 100)

1.2 代码解读

这段代码的主要目的是将文本信息中的实体和它们之间的关系抽取出来,并将这些信息存储到Neo4j数据库中。Neo4j是一个图形数据库,专门用于处理数据之间的关系。代码包括两个主要部分:与Neo4j交互的部分和文本处理部分。

  1. 与Neo4j交互

    • DataToNeo4j 用于连接Neo4j数据库并操作数据。
    • __init__ 方法中,通过Graph对象建立了与Neo4j数据库的连接。
    • create_spo 方法用于创建节点和关系。它接受一个包含三个元素的列表 result,分别代表起始节点、关系和终止节点。这个方法首先创建两个节点(起始和终止),然后在这两个节点之间创建一个关系。
  2. 文本处理

    • 使用了LTP(语言技术平台)库来处理文本。
    • srl_AtoA 函数接受一个句子,使用LTP库进行分词和语义角色标注。
    • 语义角色标注的结果用于识别句子中的主要实体(A0和A1标记的部分)以及这些实体之间的关系。
    • 这些识别出的实体和关系被组织成一个列表,并返回。

代码的工作流程如下:

  1. 首先,LTP库用于分句和分词,并对句子进行语义角色标注。
  2. 对于每个句子,srl_AtoA 函数被用来提取实体和它们之间的关系。
  3. 提取出的实体和关系被发送到 DataToNeo4j 对象。
  4. DataToNeo4j 对象使用这些数据在Neo4j数据库中创建相应的节点和关系。

这个过程有效地将自然语言文本中的实体和关系转换为图数据库中的节点和边,便于进行复杂的关系查询和分析。

相关文章:

无图谱不AI之三元组数据保存Neo4j

目录 1. 代码学习1.1 源代码1.2 代码解读 没有图谱称为弱人工智能,有图谱的称为强人工智能。 图谱可以让机器学习和人工智能具备推理能力。 1. 代码学习 1.1 源代码 # -*- coding: utf-8 -*- from py2neo import Node, Graph, Relationship# 可以先阅读下文档&a…...

Mybatisplus同时向两张表里插入数据[事务的一致性]

一、需求:把靶器官的数据,单独拿出来作为一个从表,以List的方式接收这段数据; 此时分析,是需要有两个实体的,一个是主表的实体,一个是从表的实体,并在主表实体新增一个List 字段来接…...

天眼销:精准的企业名录

企业名录的重要性,对于销售而言都是极其重要的。本期为家人们分享如何正确挑选出优质的企业名录渠道,避免走一些弯弯坑坑。 为了有效利用企业名录进行客户开发,您需要关注信息的准确性、可提供的资源数量以及信息的时效性。能否根据您的需求…...

TypeError: Cannot read properties of null (reading ‘shapeFlag‘)

vue3 开发过程遇到这样一个报错 TypeError: Cannot read properties of null (reading shapeFlag)最后发现是ref定义的变量,在访问时没有使用.valuereactive 变量初始化是数组,如果使用字符串赋值时也会报这个错。...

视频监控平台EasyCVR多场景应用,AI视频分析技术助力行业升级转型

传统的视频监控系统建设,经常存在各方面的因素制约,造成管理机制不健全、统筹规划不到位、联网共享不规范,形成“信息孤岛”、“数据烟囱”。在监控系统的建设中缺乏统一规划,标准不统一、视频图像信息利用率低等问题日益突出。随…...

如何搭建外网可访问的Serv-U FTP服务器,轻松远程共享文件!

目录 1. 前言 2. 本地FTP搭建 2.1 Serv-U下载和安装 2.2 Serv-U共享网页测试 2.3 Cpolar下载和安装 3. 本地FTP发布 3.1 Cpolar云端设置 3.2 Cpolar本地设置 4. 公网访问测试 5. 总结 1. 前言 科技日益发展的今天,移动电子设备似乎成了我们生活的主角&am…...

c++--类型的基础

1.常量对象,常量成员函数 (1).常量对象 常量对象的引用和指针不能调用类的普通的成员函数。只能调用常量成员函数。 (2).常量成员函数:把const放在类成员函数参数列表后。表示隐含的this是一个指向常量的指针 (3).当创建一个const对象时,直到…...

Python with提前退出:坑与解决方案

Python with提前退出:坑与解决方案 问题的起源 早些时候使用with实现了一版全局进程锁,希望实现以下效果: Python with提前退出:坑与解决方案 全局进程锁本身不用多说,大部分都依靠外部的缓存来实现的,r…...

Vue3-provide和inject

作用和场景:顶层组件向任意的底层组件传递数据和方法,实现跨层组件通信 跨层传递普通数据: 1.顶层组件通过provide函数提供数据 2.底层组件通过inject函数获取数据 既可以传递普通数据,也可以使用ref传递响应式数据&#xff08…...

Python与设计模式--适配器模式

23种计模式之 前言 (5)单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、(11)策略模式、责任链模式、命令模式、中介者模…...

大模型能否生成搜索引擎的未来?

文|郝 鑫 编|刘雨琦 ChatGPT火爆之前,水面下,也有中国公司也在朝着智能助手的方向努力。夸克便是其中之一。在GPT风靡科技圈后,国内就开始陆续冒出一些大模型厂商。对当时夸克而言,做大模型毋庸置疑&am…...

鸿蒙开发-ArkTS 语言-状态管理

[写在前面: 文章多处用到gif动图,如未自动播放,请点击图片] 衔接上一篇:鸿蒙开发-ArkTS 语言-基础语法 3. 状态管理 变量必须被装饰器装饰才能成为状态变量,状态变量的改变才能导致 UI 界面重新渲染 概念描述状态变量被状态装饰器装饰的变…...

一篇文章带你掌握MongoDB

文章目录 1. 前言2. MongoDB简介3. MongoDB与关系型数据库的对比4. MongoDB的安装5. Compass的使用6. MongoDB的常用语句7. 总结 1. 前言 本文旨在帮助大家快速了解MongoDB,快速了解和掌握MongoDB的干货内容. 2. MongoDB简介 MongoDB是一种NoSQL数据库,采用了文档…...

删除docker镜像

随着我们拉取的镜像越来越多,镜像的管理越来越难。这时候可能就需要删除镜像了。 本关的任务是学习如何删除容器,要求学习者参照示例,将busybox:latest镜像删除。 相关知识 删除镜像 如果要删除本地的镜像,可以使用 docker rm…...

力扣 --- 删除有序数组中的重复项 II

题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…...

Opencv图像处理(全)

文章目录 博主精品专栏导航备注:以下源码均可运行,不同项目涉及的函数均有详细分析说明。11、图像项目实战(一)银行卡号识别 —— sort_contours()、resize()(二)文档扫描OCR识别 —— cv2.getPerspectiveT…...

Flutter桌面应用开发之毛玻璃效果

目录 效果实现方案依赖库支持平台实现步骤注意事项话题扩展 毛玻璃效果:毛玻璃效果是一种模糊化的视觉效果,常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感,同…...

基于C#实现优先队列

一、堆结构 1.1性质 堆是一种很松散的序结构树,只保存了父节点和孩子节点的大小关系,并不规定左右孩子的大小,不像排序树那样严格,又因为堆是一种完全二叉树,设节点为 i,则 i/2 是 i 的父节点,2i 是 i 的…...

ssm+vue的仓库在线管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频: ssmvue的仓库在线管理系统的设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller)三…...

什么是木马

木马 1. 定义2. 木马的特征3. 木马攻击流程4. 常见木马类型5. 如何防御木马 1. 定义 木马一名来源于古希腊特洛伊战争中著名的“木马计”,指可以非法控制计算机,或在他人计算机中从事秘密活动的恶意软件。 木马通过伪装成正常软件被下载到用户主机&…...

intv_ai_mk11惊艳效果展示:输入‘设计一个碳中和主题PPT’→大纲+每页文案+视觉建议

intv_ai_mk11惊艳效果展示:输入设计一个碳中和主题PPT→大纲每页文案视觉建议 1. 效果预览:从简单指令到完整PPT方案 当我向intv_ai_mk11输入"设计一个碳中和主题PPT"这个简单指令时,它在30秒内就生成了一个专业级的完整方案。这…...

用Manim做中文数学微课?先搞定MathTex颜色分染和ctex包配置(保姆级教程)

Manim中文数学微课实战:从零实现公式染色与中文混排 当你在B站刷到那些将复杂数学公式演绎成动画的艺术品时,是否好奇过它们是如何制作的?作为教育视频创作者,我最初被Manim的数学可视化能力吸引,却在尝试制作中文微课…...

从数据到诊断:深度学习驱动下的多模态抑郁症识别技术全景

1. 抑郁症识别技术的现状与挑战 抑郁症被称为21世纪的"心灵感冒",全球约有3.5亿患者。传统诊断主要依赖医生问诊和量表评估,这种方式存在主观性强、耗时长的痛点。我在参与某三甲医院精神科数字化改造项目时,亲眼见证了一位资深医生…...

2025届必备的AI学术方案实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 在当下的学术写作情形里,免费的人工智能论文工具达成了从文献查找、大纲制作直至…...

2025届最火的AI写作平台实际效果

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当今,人工智能技术迅猛发展,在此情形下,AI论文网站已然成…...

滑动窗口-438. 找到字符串中所有字母异位词

文章目录1.题解核心解题思路(滑动窗口)2.机考代码3.知识点讲解1. map.getOrDefault(key, defaultValue)2. map.put(key, value)3. map.containsKey(key)4. s.toCharArray()5. s.charAt(index)6. Scanner 相关(机考必备)力扣地址&a…...

ROS小车导航总是一顿一顿的?试试用yocs_smoother_velocity给速度上个‘柔顺剂’

ROS导航卡顿难题:用yocs_smoother_velocity实现丝滑运动控制 当你看着辛苦搭建的ROS导航机器人像醉汉一样踉踉跄跄地移动,急停急转让人心惊肉跳时,是否怀疑过人生?这背后往往不是路径规划算法的问题,而是速度指令的&qu…...

HoRain云--RESTful API设计全指南

🎬 HoRain 云小助手:个人主页 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。 目录 ⛳️ 推荐 …...

3分钟搞定百度网盘提取码!这款免费神器让你告别繁琐搜索

3分钟搞定百度网盘提取码!这款免费神器让你告别繁琐搜索 【免费下载链接】baidupankey 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 还在为百度网盘资源提取码而烦恼吗?每次遇到需要密码的分享链接,你是不是都要在评论…...

Qwen3-14B镜像部署指南:单卡RTX 4090D上快速启用中文大模型推理

Qwen3-14B镜像部署指南:单卡RTX 4090D上快速启用中文大模型推理 1. 镜像概述与核心优势 Qwen3-14B私有部署镜像是专为RTX 4090D显卡优化的中文大模型推理解决方案。这个镜像最大的特点就是"开箱即用"——所有环境依赖、模型权重、优化组件都已预装配置好…...