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

基于共词分析的中国近代史实体关系图构建(毕业设计:图数据渲染)

结合数据处理部分获取的主题词,在实体-关系-实体三元组中,我们称第一个实体为触发者、第二个为受事者。只有触发者和受试者都为主题词时,才确定为图数据的三元组。

# triple
import pandas as pd
import numpy as np
try:
    tri=pd.read_csv("excel/三元组.csv")
    node=pd.read_excel("excel/node_centrality_pro.xlsx",sheet_name="topic").iloc[:,0].values
    l=len(node)
    f1= lambda a,b:[i in j for i,j in zip(a,b)]
    f2= lambda a,b:[i and j for i,j in zip(a,b)]
    lst=[]
    for i in tri.index.values:
        node1 = pd.Series([tri.loc[i].to_dict()['0']]*l).fillna('').values
        node2 = pd.Series([tri.loc[i].to_dict()['2']] * l).fillna('').values
        out=f2(f1(node,node1),f1(node,node2))
        if np.sum(out)!=0:
            lst.append(tri.loc[i].to_dict().values())
    df=pd.DataFrame(lst)
    df.to_excel("excel/图谱and三元组.xlsx")
except Exception as e:
    print(e)

尽管做了这样一个简单的筛选,最后留下的三元组质量不是很高。且三元组谓词几乎不能精确表达出三元组内容,用主题词虽然把实体分得更准确,但谓词的信息不足时,没有其他较长实体中包含的上下文信息很难人工补全三元组(注意问题的关键在谓词)。最后人工筛查以及补全过程非常依赖于对历史知识的熟悉程度。累得慌。
处理的工作见图谱三元组.xlsx
在这里插入图片描述

本文还借助了文章目录将内容组织得更有逻辑(一类关系),但这样仍旧增加了人工工作量。共词分析在虽然减少了很多无用的三元组,但要真正将选出的三元组构建知识图谱,它发挥的作用还不够显著。
在这里插入图片描述

Interactive Graph渲染

没想到我最初会觉得最难的部分,竟然是花时间最少最简单部分,这个就是直接套用现有的代码了
在这里插入图片描述白乔原创:图数据在线交互框架InteractiveGraph

附上本文的代码
链接:https://pan.baidu.com/s/1vgaiisZoHAUnaI_qMiLLag
提取码:huaf

相关文章:

  • 猿创征文|阿里云MaxCompute存取性能测试报告
  • Spring Cloud Sleuth在分布式中进行日志跟踪
  • Jmeter分布式部署执行和常见报错
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • Python Web开发 之 学生管理系统(2)[实现筛选,搜索,分页]
  • 程序员转型?不可能,绝对不可能
  • 基于SSM的二手书店推荐系统(商城)
  • 【JavaSE】认识异常(下篇)
  • 手把手教你深度学习和实战-----循环神经网络
  • 猿创征文 |【C++】动态内存的分配与回收
  • Day1_9 Java学习之DQL语言与完整性约束
  • 离线数仓搭架_01_数仓概念与项目框架说明
  • 注入Unity mono游戏过程详解
  • Spring源码问题
  • GO语言的错误处理
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • CSS中外联样式表代表的含义
  • Docker: 容器互访的三种方式
  • interface和setter,getter
  • Java教程_软件开发基础
  • js递归,无限分级树形折叠菜单
  • leetcode-27. Remove Element
  • linux学习笔记
  • MySQL的数据类型
  • scala基础语法(二)
  • spring-boot List转Page
  • vue-router 实现分析
  • Vue--数据传输
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 关于extract.autodesk.io的一些说明
  • 基于web的全景—— Pannellum小试
  • 前端js -- this指向总结。
  • 前端面试之闭包
  • 算法-图和图算法
  • 正则表达式小结
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (done) 两个矩阵 “相似” 是什么意思?
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (十)T检验-第一部分
  • (十三)Flask之特殊装饰器详解
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (转)jQuery 基础
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net Stream篇(六)
  • .Net 垃圾回收机制原理(二)
  • .net 受管制代码