Commit fc16ae28 by 20200203048

first commit

parents
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"对此project的想法:\n",
"\n",
"观察了此porject布置的时间点,是在“实体识别”、“句法分析”之后。应该适当温习算法原理的知识点。\n",
"\n",
"1、实体识别、依存句法等工具自己动手开发实现复杂度较高,挑选“句法结构分析”工具让学员开发,不是特别复杂,又温习了句法分析中的知识点,此处选择CYK算法让学员实现,同时又考察了动态规划的编写。(具体算法因为不知道课程内容,可以根据内容再做调整)\n",
"\n",
"2、经过挑选,选择“企业投资关系图谱”作为学员的任务,原因1:企业投资关系易于理解,模版比较好总结,适合没有训练样本的情景;原因2:企业的称谓较多而复杂,适合考察实体统一和消歧的知识点。\n",
"\n",
"3、对于实体识别和句法分析,我考虑使用stanfordnlp,但是python接口好像可配置性不强,主要就是让学员会调用,会利用调用结果。\n",
"对于实体消歧,我考虑使用上下文相似度进行衡量。\n",
"对于实体统一,我考虑考察一下学员在“企业多名称”派生上面的发散性思维。\n",
"由于不知道此project前几节课中涉及的相关知识点,所以先拍脑袋决定,老师如果对知识点有相关准备和资料可以给我看一下,或者听听老师的规划。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Project 1: 利用信息抽取技术搭建知识库"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"本项目的目的是结合命名实体识别、依存语法分析、实体消歧、实体统一对网站开放语料抓取的数据建立小型知识图谱。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part1:开发句法结构分析工具"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.1 开发工具\n",
"使用CYK算法,根据所提供的:非终结符集合、终结符集合、规则集,对10句句子计算句法结构。\n",
"\n",
"非终结符集合:N={S, NP, VP, PP, DT, VI, VT, NN, IN}\n",
"\n",
"终结符集合:{sleeps, saw, boy, girl, dog, telescope, the, with, in}\n",
"\n",
"规则集: R={\n",
"- (1) S-->NP VP 1.0\n",
"- (2) VP-->VI 0.3\n",
"- ......\n",
"\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# code"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 1.2 计算算法复杂度\n",
"计算上一节开发的算法所对应的时间复杂度和空间复杂度。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# code"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Part2:在百度百科辅助下,建立“投资关系”知识图谱"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.1 实体识别\n",
"data目录中“baike.txt”文件记录了15个实体对应百度百科的url。\n",
"\n",
"借助开源实体识别工具并根据百度百科建立的已知实体对进行识别,对句中实体进行识别。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# code\n",
"# 首先尝试利用开源工具分出实体\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# code\n",
"# 在此基础上,将百度百科作为已知实体加入词典,对实体进行识别"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.2 实体消歧\n",
"将句中识别的实体与知识库中实体进行匹配,解决实体歧义问题。\n",
"可利用上下文本相似度进行识别。"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# code\n",
"# 将识别出的实体与知识库中实体进行匹配,解决识别出一个实体对应知识库中多个实体的问题。"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.3 实体统一\n",
"对同一实体具有多个名称的情况进行统一,将多种称谓统一到一个实体上,并体现在实体的属性中(可以给实体建立“别称”属性)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# code"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### 2.4 关系抽取\n",
"借助句法分析工具,和实体识别的结果,以及正则表达式,设定模版抽取关系。从data目录中news.txt文件中的url对应的新闻提取关系并存储进图数据库。\n",
"\n",
"本次要求抽取投资关系,关系为有向边,由投资方指向被投资方。"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"# code\n",
"\n",
"# 最后提交文件为识别出的整个投资图谱,以及图谱中结点列表与属性。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
File added
北京
上海
广东省
深圳
天津
重庆
江苏省
浙江省
四川省
海南省
福建省
山东省
江西省
广西
安徽省
河北省
河南省
湖北省
湖南省
陕西省
山西省
黑龙江省
辽宁省
吉林省
云南省
贵州省
甘肃省
内蒙古
宁夏
西藏
新疆
青海省
香港
澳门
台湾
国外
北京省
上海省
广东
深圳省
天津省
重庆省
江苏
浙江
四川
海南
福建
山东
江西
广西省
安徽
河北
河南
湖北
湖南
陕西
山西
黑龙江
辽宁
吉林
云南
贵州
甘肃
内蒙古省
宁夏省
西藏省
新疆省
青海
香港省
澳门省
台湾省
国外省
仅对非常通用的后缀进行删除
ltd
Ltd
limited
.Ltd
Ltd.
LTD
LTD.
.LTD
Co.Ltd
CO.LTD
Co.LTD
CO.Ltd
co.ltd
co.Ltd
Co.
Co
CO.
CO
co.
co
下属
业务
公司
营业部
中心
总部
实验室
研究所
总公司
分公司
子公司
设计院
事务所
集团
控股
责任
附属
有限
股份
分厂
设计院有限公司
国际集团
控股集团
附属公司
集团公司
责任公司
股份公司
贸易公司
有限公司
This source diff could not be displayed because it is too large. You can view the blob instead.
,实体1,实体2
0,1001,1002
1,1005,1006
2,1007,1008
3,1011,1012
4,1017,1018
5,1019,1020
6,1021,1022
7,1027,1028
8,1001,1002
9,1031,1032
10,1036,1037
11,1038,1039
12,1052,1049
13,1055,1054
14,1026,1025
15,1056,1057
16,1060,1061
17,1064,1065
18,1067,1066
19,1067,1066
20,1092,1093
21,1140,1139
22,1152,1151
23,1060,1061
24,1195,1194
25,1229,1166
26,1236,1235
27,1255,1254
28,1283,1284
29,1302,1301
30,1324,1325
31,1346,1345
32,1348,1347
33,1352,1351
34,1386,1387
35,1390,1391
36,1428,1429
37,1439,1438
38,1457,1458
39,1476,1475
40,1251,1484
41,1496,1495
42,1527,1528
43,1010,1009
44,1536,1535
45,1538,1539
46,1562,1563
47,1476,1475
48,1579,1578
49,1601,1602
50,1644,1643
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment