GitHub:如何构建一个股票市场知识图谱?(附代码&链接)

来源:专知
本文约
注:建议表头最好用相应的英文表示。
获取股票行业和概念的信息
对于这部分信息,我们可以利⽤工具Tushare来获取,官网为http://tushare.org/ ,使用pip命令进行安装即可。下载完之后,在python里即可调用股票行业和概念信息。
参考链接:
http://tushare.org/classifying.html#id2
通过以下的代码获得股票行业信息,并把返回的信息直接存储在stock_industry_prep.csv文件里。

类似的,可以通过以下代码即可获得股票概念信息,并把它们存储在stock_concept_prep.csv文件里。

设计知识图谱
设计一个这样的图谱:
创建“人”实体,这个人拥有姓名、性别、年龄
创建“公司”实体,除了股票代码,还有股票名称
创建“概念”实体,每个概念都有概念名
创建“行业”实体,每个行业都有⾏业名
给“公司”实体添加“ST”的标记,这个由LABEL来实现
创建“人”和“公司”的关系,这个关系有董事长、执行董事等等
创建“公司”和“概念”的关系
创建“公司”和“行业”的关系
把设计图存储为design.png文件。
注:实体名字和关系名字需要易懂,对于上述的要求,并不一定存在唯一的设计,只要能够覆盖上面这些要求即可。“ST”标记是用来刻画⼀个股票严重亏损的状态,这个可以从给定的股票名字前缀来判断,背景知识可参考百科ST股票,“ST”股票对应列表为['*ST', 'ST', 'S*ST', 'SST']。
创建可以导⼊Neo4j的csv文件
在前两个任务里,我们已经分别生成了 executive_prep.csv, stock_industry_prep.csv, stock_concept_prep.csv,但这些文件不能直接导入到Neo4j数据库。
所以需要做⼀些处理,并生成能够直接导入Neo4j的csv格式。我们需要生成这⼏个文件:
executive.csv, stock.csv, concept.csv, industry.csv, executive_stock.csv, stock_industry.csv, stock_concept.csv。
对于格式的要求,请参考:https://neo4j.com/docs/operations-manual/current/tutorial/import-tool/
利用上面的csv文件生成数据库

这个命令会把所有的数据导入到Neo4j中,数据默认存放在 graph.db 文件夹里。如果graph.db文件夹之前已经有数据存在,则可以选择先删除再执行命令。
把Neo4j服务重启之后,就可以通过localhost:7474观察到知识图谱了。
查询分析
基于构建好的知识图谱,通过编写Cypher语句回答如下问题:
有多少个公司目前是属于“ST”类型的?
“600519”公司的所有独立董事人员中,有多少人同时也担任别的公司的独立董事职位?
有多少公司既属于环保行业,又有外资背景?
对于有锂电池概念的所有公司,独⽴董事中女性⼈员⽐例是多少?
请提供对应的Cypher语句以及答案,并把结果写在result.txt。
实施问题
构建人的实体时,重名问题具体怎么解决?
把简单思路写在result.txt文件中。
工程目录

具体内容,请到Github库进行查看。
编辑:王菁
校对:洪舒越
原文地址:https://blog.csdn.net/eNohtZvQiJxo00aTz3y8/article/details/96055187
GitHub:如何构建一个股票市场知识图谱?(附代码&链接)的更多相关文章
- Apple的Core ML3简介——为iPhone构建深度学习模型(附代码)
概述 Apple的Core ML 3是一个为开发人员和程序员设计的工具,帮助程序员进入人工智能生态 你可以使用Core ML 3为iPhone构建机器学习和深度学习模型 在本文中,我们将为iPhone ...
- Java知识图谱(附:阿里Java学习计划)
摘要: 本文主要描绘了Java基础学习过程,给出Java知识结构图,以及阿里Java岗学习计划,对Java学习爱好者.准备及将要从事Java开发方面的同学大有裨益. 温馨提示: 由于C ...
- 【小白学PyTorch】6 模型的构建访问遍历存储(附代码)
文章转载自微信公众号:机器学习炼丹术.欢迎大家关注,这是我的学习分享公众号,100+原创干货. 文章目录: 目录 1 模型构建函数 1.1 add_module 1.2 ModuleList 1.3 ...
- 如何在github上发起一个pull request,如何贡献代码,参与开源项目
点击页面右上角的 “fork” ,把你关注的项目fork到你自己的账号下了. 把项目克隆到本地 修改并push 回到你的github界面,发起请求: 在自己fork的库处新建请求:New pull r ...
- 仿Neo4j里的知识图谱,利用d3+vue开发的一个网络拓扑图
项目需要画一个类似知识图谱的节点关系图. 一开始用的是echart画的. 根据https://gallery.echartsjs.com/editor.html?c=xH1Rkt3hkb,成功画出简单 ...
- 知识图谱+Recorder︱中文知识图谱API与工具、科研机构与算法框架
目录 分为两个部分,笔者看到的知识图谱在商业领域的应用,外加看到的一些算法框架与研究机构. 文章目录 @ 一.知识图谱商业应用 01 唯品金融大数据 02 PlantData知识图谱数据智能平台 03 ...
- 1. 通俗易懂解释知识图谱(Knowledge Graph)
1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 从一开始的Google搜索,到现在的聊天机器人.大数据风控 ...
- 存储配置关系&知识图谱
14年前注册的Blog还是能用的,撸一个S(storage)-CMDB Demo发一小博 什么是图库 图形数据库是NoSQL数据库的一种类型,它应用图形理论存储实体之间的关系信息.图形数据库是一种非关 ...
- 使用图数据库 Nebula Graph 数据导入快速体验知识图谱 OwnThink
前言 本文由 Nebula Graph 实习生@王杰贡献. 最近 @Yener 开源了史上最大规模的中文知识图谱--OwnThink(链接:https://github.com/ownthink/Kn ...
随机推荐
- 几个实用的js函数
在阅读JavaScript DOM编程艺术这本书时看到了一些比较实用的代码. //加载多个window.onload事件 function addLoadEvent(func) { var oldon ...
- C 常见字符串操作函数
头文件 <string.h> 1. char *strstr(const char *str1, const char *str2); 判断str2是否为str1的子串 //s ...
- BeanPostProcessor原理--使用讲解
<Spring源码解析>笔记 BeanPostProcessor原理学习 在学习BeanPostProcessor的原理学习完之后,对Spring如何使用充满好奇,尝试使用例子进行理解,以 ...
- C++如何判断某一文件是否存在
函数名: access 功 能: 确定文件的访问权限 用 法: int access(const char *filename, int amode); 程序例: #include <stdio ...
- SpringCloud及其五大常用组件之Feign、Ribbon和Hystrix
1.Feign 我们已经将Eureka和Zuul开发完毕,而且上面注册了两个微服务,现在我们实现两个微服务之间的调用. String baseUrl = "http://127.0.0.1: ...
- iOS UIWebView获取403/404
问题描述 与WindowsPhone不同,iOS UIWebView并不认为403/404这种情况下页面访问是失败的,这也情有可原,但有时候,我们需要对WebView所遇到的403/404进行处理. ...
- SGI STL rope
rope实现的接口可以参考这里. rope是可伸缩的string实现: 它们被设计为用于把string看作一个整体的高效操作 . 比如赋值.串联和子串的操作所花的时间差不多不依赖字符串的长度.与C的字 ...
- POJ-2255-Tree Recovery-求后序
Little Valentine liked playing with binary trees very much. Her favorite game was constructing rando ...
- Web开发-Servlet&HTTP&Request
<!doctype html>02 - JavaEE - Servlet&HTTP&Request figure:first-child { margin-top: -20 ...
- springcloud ribbon Finchley 版本,自定义算法
引用上一个项目,在原有的基础上进行更改,添加springcloud的内荣. eureka-server 和上一个springcloud eureka的一样,没有改动. 添加cloud-api pack ...