项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自身的硬实力。
专栏订阅:项目大全提升自身的硬实力
[专栏详细介绍:项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域)
在工业界大多还是使用的规则模板的方法
这个项目提供了一种基于VOB模式的顺承事件抽取方法,讲的是一种顺承关系
基于规则的方法,升级版的话,就是Bootstrapping了,可以通过用户自定义种子模板,不断迭代,最终扩充模式,但置信度这个问题不是很好解决
这个在学术界用的比较多,从机器学习一直演变了到现在的各种深度学习模型,而在这种方法中,通常实体关系抽取问题转换成一个实体关系分类任务去做,主要可以分成一下几种.
但就针对全监督的实体关系抽取任务而言,在英文数据集上已经在刷各种state-of-art,但就中文而言,感觉还是一片贫瘠.在网上搜了很久,最终指搜到COAE2016的一个评测任务,但是,评测集不公开.因此,就抛出了本项目构建的几个初衷:
部分代码展示:
'''采集主函数'''
def spider_person(self, person):
#系统默认返回关于该实体的三度人物关系
data = self.get_html(person)
if not data:
return
nodes = data['nodes']
if not nodes:
return
else:
item = {}
item['nodes'] = nodes
item['links'] = data['links']
try:
self.conn['person_rel']['data2'].insert(item)
except Exception as e:
print(e)
'''收集人物名称'''
def collect_names_star(self):
f = open('korea_star_person_names.txt', 'w+')
for page in range(1,11):
# url = 'http://g.manmankan.com/dy2013/mingxing/fenlei/china/index_%s.shtml'%page
url = 'http://g.manmankan.com/dy2013/mingxing/fenlei/hanguo/index_%s.shtml'%page
req = request.Request(url)
page = request.urlopen(req).read().decode('gbk')
selector = etree.HTML(page)
names = selector.xpath('//li/a/@title')
f.write('\n'.join(list(names)) + '\n')
f.close()
'''收集历史人物'''
def collect_names_history(self):
f = open('history_person_names2.txt', 'w+')
content = open('history_names2.html').read()
selector = etree.HTML(content)
names = [i.replace(' ','') for i in selector.xpath('//li/a/text()')]
f.write('\n'.join(names) + '\n')
f.close()
'''采集函数'''
def spider_main(self):
history_names = [i.strip() for i in open('history_person_names.txt') if len(i.strip()) > 1]
star_names = [i.strip() for i in open('star_person_names.txt') if len(i.strip()) > 1]
name_dict = {
'star': star_names,
'history': history_names,
}
for label, names in name_dict.items():
for name in names:
data = self.spider_person(name)
'''读取人物名称'''
def update_data(self):
names_all_has = []
names_all_add = []
for item in self.conn['person_rel']['data'].find():
nodes =item['nodes']
links = item['links']
names = [node['name'] for node in nodes]
names_all_has += names
for item in self.conn['person_rel']['data2'].find():
nodes =item['nodes']
links = item['links']
names = [node['name'] for node in nodes]
names_all_add += names
for name in set(names_all_add).difference(set(names_all_has)):
self.spider_person(name)
return
'''统计有多少人物'''
def read_persons(self):
f = open('person.txt', 'w+')
names_all = []
links_all = []
for item in self.conn['person_rel']['data2'].find():
nodes = item['nodes']
links = item['links']
link_names = [link['name'] for link in links]
links_all += link_names
names = [node['name'] for node in nodes]
names_all += names
print(len(set(names_all)), len(names_all))
print(len(set(links_all)), len(links_all))
f.write('\n'.join(list(set(names_all))))
f.close()
'''整理人物数据'''
def modify_data(self):
f_rel = open('rel_data.txt', 'w+')
f_reltype = open('rel_type.txt', 'w+')
f_person = open('person2id.txt', 'w+')
person_dict = {}
rel_dict = {}
rel_list = set()
rel_types = []
for item in self.conn['person_rel']['data2'].find():
nodes = item['nodes']
for node in nodes:
id = node['id']
name = node['name']
person_dict[id] = name
for item in self.conn['person_rel']['data2'].find():
links = item['links']
for link in links:
from_person = person_dict.get(link['from'], '')
to_person = person_dict.get(link['to'], '')
if not from_person or not to_person:
continue
rel_name = link['name']
rel_type = link['type']
rel_dict[rel_name] = rel_type
data = [from_person, to_person, rel_name, str(rel_type)]
rel_list.add('###'.join(data))
rels_num = len(rel_list)
persons_num = len(person_dict.keys())
for rel in rel_list:
if len(rel.split('###')) != 4:
continue
rel_name = rel.split('###')[2]
rel_types.append(rel_name)
for id, name in person_dict.items():
f_person.write(str(id) + '\t' + name + '\n')
reltype_dict = Counter(rel_types).most_common()
sum = 0.0
for i in reltype_dict:
rel_name = i[0]
rel_freq = i[1]
rel_percent = rel_freq/rels_num
sum += rel_percent
f_reltype.write(rel_name + '\t' + str(rel_freq) + '\t' + str(rel_percent) + '\t' + str(sum) + '\n')
f_rel.write('\n'.join(list(rel_list)))
f_person.close()
f_rel.close()
f_reltype.close()
print('rels_num', rels_num)
print('persons_num', persons_num)
return
if __name__ == '__main__':
handler = PersonSpider()
handler.spider_main()
1,收集人名词典
2,基于人名词典,采集搜狗人物关系图谱数据库
3,人物关系数据库规模
项目 | 数量 |
---|---|
人物 | 11024 |
关系对 | 35995 |
关系类型 | 1144 |
4,人物关系60%
关系类型 | 频次 | 频率 | 累加频率 |
---|---|---|---|
搭档 | 4692 | 0.1303478164240471 | 0.1303478164240471 |
好友 | 3771 | 0.10476164018224247 | 0.23510945660628957 |
队友 | 1758 | 0.04883875986220691 | 0.2839482164684965 |
朋友 | 1681 | 0.04669963329258806 | 0.3306478497610846 |
丈夫 | 1431 | 0.03975441715746194 | 0.3704022669185465 |
妻子 | 1198 | 0.03328147571952439 | 0.4036837426380709 |
师傅 | 986 | 0.02739193243693744 | 0.4310756750750083 |
儿子 | 972 | 0.027003000333370376 | 0.4580786754083787 |
母亲 | 922 | 0.02561395710634515 | 0.4836926325147239 |
同学 | 698 | 0.01939104344927214 | 0.5030836759639961 |
弟弟 | 678 | 0.01883542615846205 | 0.5219191021224581 |
女儿 | 609 | 0.01691854650516724 | 0.5388376486276253 |
前女友 | 594 | 0.016501833537059675 | 0.555339482164685 |
哥哥 | 580 | 0.01611290143349261 | 0.5714523835981776 |
合作 | 573 | 0.01591843538170908 | 0.5873708189798867 |
前男友 | 573 | 0.01591843538170908 | 0.6032892543615959 |
目录地址:EventMonitor
运行方式:cd EventMonitor , scrapy crawl eventspider
回标语料举例:
<霍英东, 霍震宇, 三子> 据此间媒体11日报道,霍英东 长房三子霍震宇 再度入禀法院,要求法官颁令兄长霍震霆交出记录霍英东 所有资产及财务资料的记事本1.0
<朴宝英, 金秀贤, 绯闻> 【组图】最爱人妻全智贤“初恋”秀智一再插足 朴宝英 韩佳人T-ara恩静已成往事 金秀贤 绯闻女友大盘点1.0
<辰亦儒, 炎亚纶, 飞轮海组合> 飞轮海曾是火遍亚洲的偶像组合,飞轮海四名成员吴尊、汪东城、辰亦儒 和炎亚纶 四人也曾是不少人心目中的偶像,象征着我们的一代人的青春1.0
<唐贝欣, 唐贝诗, 姐姐> 唐贝欣 在伦敦大学毕业姐姐唐贝诗 当然捧场1.0
<刘琳, 刘孜, 同学> 刘孜 是徐静蕾、刘琳 的同学,最初是主持综艺节目,后投入影视剧的拍摄1.0
<高晓松, 沈欢, 第一任妻子> 高晓松 老婆沈欢 相识过程:关于高晓松 和第一任妻子沈欢 的相识,颇具戏剧性1.0
<高崚, 张军, 搭档> 高崚 是国羽历史上的又一位女子兼项英雄,2000年8月,高崚 搭档张军 参加悉尼奥运会羽毛球混双比赛中爆冷为中国队夺得了奥运会历史上第一枚混双金牌1.0
<李行亮, 黄雅莉, 好友> 陈俊彤自出道以来收获了不少圈内好友,李行亮 、黄雅莉 等也纷纷为陈俊彤新专辑的推出送上了祝福,他们对于音乐同样的执着和热爱令友谊长存,也令现场火速升温1.0
<谢坤达, 黄鸿升, 好友> 修杰楷和好友黄鸿升 、谢坤达 2017年上《小燕有约》,在小燕姐的追问下侃侃而谈,回忆两人相恋,感性说:“我一直说静雯比我勇敢,她其实要付出的事情,是比我更多1.0
<张君秋, 王婉华, 弟子> 演出结束后,董雪平、万晓慧拜京剧名家张君秋 先生弟子王婉华 、薛亚萍为师1.0
<霍英东, 霍启山, 孙子> 霍启山 ,1983年5月生,广州人,是霍英东 的孙子,父亲霍震霆为霍英东 长子,母亲是港姐冠军朱玲玲,哥哥是霍启刚,弟弟是霍启仁1.0
<苗侨伟, 苗彤, 女儿> 4.苗侨伟 女儿苗彤 1.0
<万方, 曹禺, 父亲> 知名作家、曹禺 三女儿万方 在会后接受专访时表示,自己曾因为父亲在话剧方面的成就而感到压力,直到五十岁才写出第一部话剧作品1.0
<姜文, 姜一郎, 女儿> 近日,姜文 女儿姜一郎 和外国朋友的合影在网络曝光,合影中姜一郎 长发红唇,很有大腕风范1.0
<陈建斌, 曹卫宇, 同学> 曹卫宇 在剧中饰演吴昆才,和大学同学也是多年好兄弟的陈建斌 有大量对手戏,两人在片场配合十分默契,曹卫宇 更是大呼和兄弟演戏很过瘾1.0
<曹敏莉, 曹蕙兰, 妹妹> 曹敏莉 的妹妹曹蕙兰 (前名曹敏宝)通过电话访问,激赞未来姐夫爱屋及乌,问她姐姐是否有喜,曹蕙兰 说:“一定不是,反而大姐姐七月就生了1.0
<付笛声, 付豪, 儿子> 1992年,任静和付笛声 的儿子付豪 出生了,让这个家庭更添了许多的欢乐1.0
<王洪礼, 王亮, 儿子> 而王洪礼 的儿子王亮 也从事了足球职业,并且取得了不错的成绩1.0
<韩庚, 银赫, sj成员> 出道当时的成员有利特、希澈、韩庚 、艺声、强仁、神童、晟敏、银赫 、东海、始源、厉旭和起范1.0
<刘少奇, 刘允斌, 儿子> 1955年,在俄罗斯已经扎根立足的刘允斌 接到了父亲的来信,刘少奇 希望儿子能回到祖国,加入到新中国第1.0
<丁俊晖, 蔡剑忠, 恩师> 他拥有出众的台球能力,而且很懂事,性格比较开朗,深得教练喜爱,丁俊晖 昔日恩师蔡剑忠 [微博]就曾公开表示,“如果袁思俊发展好,未来极有可能追上甚至超越丁俊晖 的成就1.0
<郁可唯, 黄英, 同是快女> 搜狐娱乐讯“快女”三强正式出炉!与传闻相符,最后一位离开的选手在同是成都赛区的黄英 和郁可唯 之间进行抉择,唱功备受肯定的郁可唯 最终止步三强,成为今年“快女”第四名1.0
<王皓, 闫博雅, 妻子> 腾讯体育9月29日讯近日,乒乓名将王皓 在综艺节目中因与妻子闫博雅 意见不合而愤然离场,这件事引起不小的轰动1.0
<蔡康永, 刘坤龙, 同志男友> 蔡康永 泣诉心酸路感动金星 蔡康永 男友刘坤龙 个人资料曝光(图)1.0
<张晨, 卢卫中, 教练> 多年来,江苏队先后为国家队培养和输送了袁伟民、邹志华、邸安和、曹平、薛永业、张友生、卢卫中 、陆飞、张晓东、施海荣、陈平、张晨 等一大批优秀国手和教练,为我国排球事业做出卓越的贡献1.0
<叶莉, 苗立杰, 好友> 陈楠与苗立杰 均为姚夫人叶莉 在女篮国家队中的好友,因此她们与姚明夫妇的关系极佳1.0
<于震, 辛月, 妻子> 演员于震 的妻子辛月 貌美如花【图】1.0
<马唯中, 周美青, 母亲> 马英九夫人周美青 几次出境,据了解,马唯中 趁同行机会,要蔡沛然向她母亲请安1.0
<康希, 何耀珊, 妻子> 新加坡康希 等牧者失信案二审 其妻子何耀珊 被指募资1.0
<卢燕, 李桂芬, 母亲> 卢燕 的母亲是京剧名伶李桂芬 ,曾拜梅兰芳为义父,而京剧大师梅兰芳正是第一位将京剧介绍到海外的文化使者,并使京剧跻身于世界戏剧之林1.0
<李健, 沈梦辰, 经纪人> 记者了解到包括沈梦辰 在内的《歌手3》(在线观看)芒果经纪人也将加盟《好好学吧》,至于沈梦辰 会否带着清华哥李健 一起上节目,备受期待1.0
<林志玲, 吴慈美, 母亲> 林志玲 母亲吴慈美 表示,“她每年都要缴很多税款,应该不会(漏税)吧1.0
<钱三强, 钱民协, 女儿> 钱三强 女儿钱民协 :三钱中两钱曾是邻居1.0
<杨元龙, 杨敏德, 女儿> 1978年由杨元龙 创立的香港溢达集团,早在20年前就交班到女儿杨敏德 的手中1.0
https://download.csdn.net/download/sinat_39620217/88000676