添加图片

This commit is contained in:
liuhuanyong 2021-10-26 18:32:26 +08:00
parent 08b56a84c8
commit fbdf96e9bb
14 changed files with 68 additions and 28 deletions

BIN
.DS_Store vendored

Binary file not shown.

6
.idea/vcs.xml Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

View File

@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="fcffa5b3-0877-45e0-9def-70a8af11188a" name="Default Changelist" comment="" />
<list default="true" id="fcffa5b3-0877-45e0-9def-70a8af11188a" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/readme.md" beforeDir="false" afterPath="$PROJECT_DIR$/readme.md" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -67,6 +70,34 @@
</counts>
</usages-collector>
</session>
<session id="1184818442">
<usages-collector id="statistics.lifecycle.project">
<counts>
<entry key="project.open.time.1" value="1" />
<entry key="project.opened" value="1" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.edit">
<counts>
<entry key="md" value="50" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.edit">
<counts>
<entry key="Markdown" value="50" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.extensions.open">
<counts>
<entry key="md" value="1" />
</counts>
</usages-collector>
<usages-collector id="statistics.file.types.open">
<counts>
<entry key="Markdown" value="1" />
</counts>
</usages-collector>
</session>
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
@ -83,8 +114,8 @@
<entry file="file://$PROJECT_DIR$/readme.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="420">
<caret line="20" column="8" lean-forward="true" selection-start-line="20" selection-start-column="8" selection-end-line="20" selection-end-column="8" />
<first_editor relative-caret-position="568">
<caret line="85" column="37" selection-start-line="85" selection-start-column="37" selection-end-line="85" selection-end-column="37" />
</first_editor>
<second_editor />
</state>
@ -112,6 +143,9 @@
<find>小类</find>
</findStrings>
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="IdeDocumentHistory">
<option name="CHANGED_PATHS">
<list>
@ -126,8 +160,9 @@
</list>
</option>
</component>
<component name="ProjectFrameBounds">
<option name="y" value="25" />
<component name="ProjectFrameBounds" fullScreen="true">
<option name="x" value="113" />
<option name="y" value="35" />
<option name="width" value="1280" />
<option name="height" value="701" />
</component>
@ -136,7 +171,6 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="ProjectPane">
<subPane>
<expand>
@ -148,6 +182,7 @@
<select />
</subPane>
</pane>
<pane id="Scope" />
</panes>
</component>
<component name="PropertiesComponent">
@ -234,10 +269,10 @@
<servers />
</component>
<component name="ToolWindowManager">
<frame x="0" y="25" width="1280" height="701" extended-state="6" />
<frame x="0" y="0" width="1280" height="800" extended-state="0" />
<editor active="true" />
<layout>
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.03671875" />
<window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.1796875" />
<window_info id="Structure" order="1" side_tool="true" weight="0.25" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Message" order="0" />
@ -285,8 +320,8 @@
<entry file="file://$PROJECT_DIR$/readme.md">
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
<state split_layout="SPLIT">
<first_editor relative-caret-position="420">
<caret line="20" column="8" lean-forward="true" selection-start-line="20" selection-start-column="8" selection-end-line="20" selection-end-column="8" />
<first_editor relative-caret-position="568">
<caret line="85" column="37" selection-start-line="85" selection-start-column="37" selection-end-line="85" selection-end-column="37" />
</first_editor>
<second_editor />
</state>

BIN
img/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

BIN
img/10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

BIN
img/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

BIN
img/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

BIN
img/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

BIN
img/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

BIN
img/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

BIN
img/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

BIN
img/8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

BIN
img/9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

View File

@ -1,52 +1,52 @@
领域知识图谱的数据集,当前还比较缺失,而作为构建难度最大的产业链图谱领域更为空白。产业链作为产业经济学中的一个概念,是各个产业部门之间基于一定的技术经济关联,并依据特定的逻辑关系和时空布局关系客观形成的链条式关联关系形态。从本质上来说,产业链的本质是用于描述一个具有某种内在联系的企业群结构,产业链中大量存在着上下游关系和相互价值的交换,上游环节向下游环节输送产品或服务,下游环节向上游环节反馈信息。
作者已经先后发布两大领域的实体图谱数据:
作者已经先后发布两大领域的实体图谱数据:
1、情报领域【武器装备知识图谱】地址https://github.com/liuhuanyong/QAonMilitaryKG
2、医疗领域【医疗知识图谱】地址 https://github.com/liuhuanyong/QASystemOnMedicalKG
当前,为了进一步推动产业发展,本文围绕金融领域,推出面向上市公司的产业链图谱。
项目地址:
项目地址:
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/1.png)
# 一、项目构成
产业链知识图谱包括A股上市公司、行业和产品共3类实体包括上市公司所属行业关系、行业上级关系、产品上游原材料关系、产品下游产品关系、公司主营产品、产品小类共6大类。
产业链知识图谱包括A股上市公司、行业和产品共3类实体包括上市公司所属行业关系、行业上级关系、产品上游原材料关系、产品下游产品关系、公司主营产品、产品小类共6大类。
通过数据处理、抽取最终建成图谱规模数十万其中包括上市公司4,654家行业511个产品95,559条、上游材料56,824条上级行业480条下游产品390条产品小类52,937条所属行业3,946条。
通过数据处理、抽取最终建成图谱规模数十万其中包括上市公司4,654家行业511个产品95,559条、上游材料56,824条上级行业480条下游产品390条产品小类52,937条所属行业3,946条。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/2.png)
# 二、项目构建
1、实体构建
1上市公司
目前上市公司已经达到四千多家,是我国重要的公司代表与行业标杆,本图谱选取上市公司作为基础实体之一。通过交易所公开信息中,可以得到上市公司代码、全称、简称、注册地址、挂牌等多个信息。
目前上市公司已经达到四千多家,是我国重要的公司代表与行业标杆,本图谱选取上市公司作为基础实体之一。通过交易所公开信息中,可以得到上市公司代码、全称、简称、注册地址、挂牌等多个信息。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/3.png)
2行业分类
行业是产业链图谱中另一个核心内容,也是承载产业、公司及产品的一个媒介,通过这一领携作用,可以生产出大量的行业指数、热点行业等指标。
行业是产业链图谱中另一个核心内容,也是承载产业、公司及产品的一个媒介,通过这一领携作用,可以生产出大量的行业指数、热点行业等指标。
目前关于行业,已经陆续出现多个行业规范,代表性的有申万三级行业分类、国民经济行业分类等。中国上市公司所属行业的分类准则是依据营业收入等财务数据为主要分类标准和依据,所采用财务数据为经过会计事务所审计并已公开披露的合并报表数据。
2021年6月申万发布了2021版的行业分类规范将1级行业从28个调整至31个、2级行业从104个调整至134个、3级行业从227个调整至346个新增1级行业美容护理等新增2级行业并将上市公司进行了归属。本图谱选用申万行业作为基础数据。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/4.png)
3业务产品
业务产品主要指公司主营范围、经营的产品,用于对一个公司的定位。可以从公司的经营范围、年报等文本中进行提取得到。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/5.png)
2、关系构建
1公司所属行业
通过公开的上市公司行业分类表,可以得到上市公司所对应的行业分类数据。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/6.png)
2行业上级关系
通过公开的行业三级分类情况,可以通过组合的形式得到行业之间的上级关系数据。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/7.png)
3公司主营产品关系
上市公司的经营产品数据可以从两个方面来获得,一个是从公司简介中的经营范围中结合制定的规则进行提取,另一个是从公司每年发布的半年报、年报中进行提取。这些报告中会有按经营业务、经营产品、经营地域等几个角度对公司的营收占比进行统计,也可以通过制定规则的方式进行提取。第二种方法中,由于已经有统计数据,所以我们可以根据占比数据大小,对主营产品这一关系进行赋值。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/8.png)
4产品之间的上下游关系
产品之间的上下游关系,是展示产品之间传导逻辑关系的一个重要方法,包括上游原材料以及下游产品两大类。我们可以多种来获取:
一种是基于规则模式匹配的方式进行抽取,如抽取上游原材料这一关系可以由诸如"a是b的原料/原材料/主要构件/重要原材料/ 上游原料"的模式进行抽取",而下游产品,则同理可以通过"A是B的下游成品/产品"等模式进行提取。
另一种是基于序列标注的提取。还有一种是基于现有结构化知识图谱的提取,例如已经结构化好的百科知识三元组,可以通过设定谓词及其扩展进行过滤。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/9.png)
5产品之间的小类关系
对于一个产品而言其是有大小层级分类的在缺少大类产品名称的时候可以通过计算小类产品来得到相应指标。与产品之间的上下游数据类似可以通过启发式规则的方式进行提取如“A是一种B”也可以通过字符之间的组成成分进行匹配生成如“螺纹钢”是“精细螺纹钢”的一个大类。
![image](https://github.com/liuhuanyong/ChainKnowledgeGraph/blob/master/img/10.png)
# 三、项目运行
1、data文件夹下包括了本项目的数据信息
@ -80,11 +80,10 @@ python build_graph.py
If any question about the project or me ,see https://liuhuanyong.github.io/
如有自然语言处理、知识图谱、事理图谱、社会计算、语言资源建设等问题或合作,可联系我:
1、我的github项目介绍https://liuhuanyong.github.io
2、我的csdn博客https://blog.csdn.net/lhy2014
3、about me:刘焕勇lhy_in_blcu@126.com.
3、about me:刘焕勇lhy_in_blcu@126.com.
4、我的技术公众号:老刘说NLP,扫码一键关注:
![image](https://github.com/liuhuanyong/QABasedOnMedicalKnowledgeGraph/blob/master/img/wechat.jpg)