中文人物关系知识图谱(含码源):中文人物关系图谱构建、数据回标、基于远程监督人物关系抽取、知识问答等应用.

news2024/10/8 14:29:00

在这里插入图片描述

项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户更好利用 CSDN 平台,自主完成项目设计升级,提升自身的硬实力。

在这里插入图片描述

  1. 专栏订阅:项目大全提升自身的硬实力

  2. [专栏详细介绍:项目设计集合(人工智能方向):助力新人快速实战掌握技能、自主完成项目设计升级,提升自身的硬实力(不仅限NLP、知识图谱、计算机视觉等领域)

中文人物关系知识图谱(含码源):中文人物关系图谱构建、数据回标、基于远程监督人物关系抽取、知识问答等应用.

  • 项目介绍
    知识抽取(实体关系抽取)是知识图谱构建中的核心环节,实体关系抽取作为一项基本技术在自然语言处理应用中扮演着重要作用.
    究其技术而言,主要分成两种三种主流方法:

1, 基于规则的方法

在工业界大多还是使用的规则模板的方法
这个项目提供了一种基于VOB模式的顺承事件抽取方法,讲的是一种顺承关系
基于规则的方法,升级版的话,就是Bootstrapping了,可以通过用户自定义种子模板,不断迭代,最终扩充模式,但置信度这个问题不是很好解决

2, 基于学习的方法

这个在学术界用的比较多,从机器学习一直演变了到现在的各种深度学习模型,而在这种方法中,通常实体关系抽取问题转换成一个实体关系分类任务去做,主要可以分成一下几种.

  1. 基于全监督的实体关系抽取
    这个全监督,也就是说,基于完全标注数据的一种学习方式,例如著名的实体关系评测Semeval系列,给出了19种关系分类任务,ACE给出了17类的实体关系分类任务.针对这些任务,模型经历了CNN,LSTM,ATTENTION等,这里就不再说明.
  2. 基于噪声数据的远程监督实体关系抽取
    全监督模型固然很好,但数据是一个很棘手的问题,因此就出现了远程监督的方法,所谓远程监督,个人理解就是已经存在的知识库进行数据回标,然后通过多实例学习进行一种容许噪声的监督方法.不过这种方法准确率不是很高,在NYT这个数据集上,PCNNS等工作都没有达到业业界可以使用的地步.当然,最新出现了联合训练的模型.
  3. 基于规则与学习模型融合的实体关系抽取
    这种方式,在业界或许是一种出路,例如,将实体关系抽取中的实体识别部分交给学习模型去做序列标注,最后针对实体之间的关系,结合依存句法等语义规则去做,这个在解决实体的多种关系问题,可以去尝试.

3, 项目难点

但就针对全监督的实体关系抽取任务而言,在英文数据集上已经在刷各种state-of-art,但就中文而言,感觉还是一片贫瘠.在网上搜了很久,最终指搜到COAE2016的一个评测任务,但是,评测集不公开.因此,就抛出了本项目构建的几个初衷:

  1. 中文实体关系抽取数据集很少,能不能构建一个准确率可接受的数据集?
  2. 能不能浅显易懂地把那些"高大上"的远程监督,bootstrapping经历一遍?
  3. 人物关系数据在百科等平台上都有放出,或许可以做为远程监督的先验知识库?
  4. 能否提供一个实时动态更新的人物关系图谱方法?

4,项目任务

  • 本项目将尝试完成以下几个任务:
    1. 完成一定规模的人物关系知识库, 作为公开数据集开放出去
    2. 走一遍实体关系回标,形成一个准确性相对允许的人物关系抽取数据集
    3. 走一遍基于学习方式实体关系抽取,查看一下效果,熟悉一下这个技术流程
    4. 走一便基于Bootstrapping的实体关系抽取,熟悉一下这个技术流程
    5. 基于构建起来的人物关系图谱,完成一个面向人物关系图谱的知识问答

5.项目架构图

部分代码展示:

 '''采集主函数'''
    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()

6.人物关系基础知识库

1,收集人名词典

2,基于人名词典,采集搜狗人物关系图谱数据库

  • 刘备人物关系网

  • 韩寒人物关系网

3,人物关系数据库规模

项目数量
人物11024
关系对35995
关系类型1144

4,人物关系60%

关系类型频次频率累加频率
搭档46920.13034781642404710.1303478164240471
好友37710.104761640182242470.23510945660628957
队友17580.048838759862206910.2839482164684965
朋友16810.046699633292588060.3306478497610846
丈夫14310.039754417157461940.3704022669185465
妻子11980.033281475719524390.4036837426380709
师傅9860.027391932436937440.4310756750750083
儿子9720.0270030003333703760.4580786754083787
母亲9220.025613957106345150.4836926325147239
同学6980.019391043449272140.5030836759639961
弟弟6780.018835426158462050.5219191021224581
女儿6090.016918546505167240.5388376486276253
前女友5940.0165018335370596750.555339482164685
哥哥5800.016112901433492610.5714523835981776
合作5730.015918435381709080.5873708189798867
前男友5730.015918435381709080.6032892543615959

7.回标语料构建

目录地址:EventMonitor
运行方式:cd EventMonitor , scrapy crawl eventspider
回标语料举例:

  <霍英东, 霍震宇, 三子>	据此间媒体11日报道,<e1>霍英东</e1>长房三子<e2>霍震宇</e2>再度入禀法院,要求法官颁令兄长霍震霆交出记录<e1>霍英东</e1>所有资产及财务资料的记事本1.0
  <朴宝英, 金秀贤, 绯闻>	【组图】最爱人妻全智贤“初恋”秀智一再插足 <e1>朴宝英</e1>韩佳人T-ara恩静已成往事 <e2>金秀贤</e2>绯闻女友大盘点1.0
  <辰亦儒, 炎亚纶, 飞轮海组合>	飞轮海曾是火遍亚洲的偶像组合,飞轮海四名成员吴尊、汪东城、<e1>辰亦儒</e1>和<e2>炎亚纶</e2>四人也曾是不少人心目中的偶像,象征着我们的一代人的青春1.0
  <唐贝欣, 唐贝诗, 姐姐>	<e1>唐贝欣</e1>在伦敦大学毕业姐姐<e2>唐贝诗</e2>当然捧场1.0
  <刘琳, 刘孜, 同学>	<e2>刘孜</e2>是徐静蕾、<e1>刘琳</e1>的同学,最初是主持综艺节目,后投入影视剧的拍摄1.0
  <高晓松, 沈欢, 第一任妻子>	<e1>高晓松</e1>老婆<e2>沈欢</e2>相识过程:关于<e1>高晓松</e1>和第一任妻子<e2>沈欢</e2>的相识,颇具戏剧性1.0
  <高崚, 张军, 搭档>	<e1>高崚</e1>是国羽历史上的又一位女子兼项英雄,2000年8月,<e1>高崚</e1>搭档<e2>张军</e2>参加悉尼奥运会羽毛球混双比赛中爆冷为中国队夺得了奥运会历史上第一枚混双金牌1.0
  <李行亮, 黄雅莉, 好友>	陈俊彤自出道以来收获了不少圈内好友,<e1>李行亮</e1>、<e2>黄雅莉</e2>等也纷纷为陈俊彤新专辑的推出送上了祝福,他们对于音乐同样的执着和热爱令友谊长存,也令现场火速升温1.0
  <谢坤达, 黄鸿升, 好友>	修杰楷和好友<e2>黄鸿升</e2>、<e1>谢坤达</e1>2017年上《小燕有约》,在小燕姐的追问下侃侃而谈,回忆两人相恋,感性说:“我一直说静雯比我勇敢,她其实要付出的事情,是比我更多1.0
  <张君秋, 王婉华, 弟子>	演出结束后,董雪平、万晓慧拜京剧名家<e1>张君秋</e1>先生弟子<e2>王婉华</e2>、薛亚萍为师1.0
  <霍英东, 霍启山, 孙子>	<e2>霍启山</e2>,1983年5月生,广州人,是<e1>霍英东</e1>的孙子,父亲霍震霆为<e1>霍英东</e1>长子,母亲是港姐冠军朱玲玲,哥哥是霍启刚,弟弟是霍启仁1.0
  <苗侨伟, 苗彤, 女儿>	4.<e1>苗侨伟</e1>女儿<e2>苗彤</e2>1.0
  <万方, 曹禺, 父亲>	知名作家、<e2>曹禺</e2>三女儿<e1>万方</e1>在会后接受专访时表示,自己曾因为父亲在话剧方面的成就而感到压力,直到五十岁才写出第一部话剧作品1.0
  <姜文, 姜一郎, 女儿>	近日,<e1>姜文</e1>女儿<e2>姜一郎</e2>和外国朋友的合影在网络曝光,合影中<e2>姜一郎</e2>长发红唇,很有大腕风范1.0
  <陈建斌, 曹卫宇, 同学>	<e2>曹卫宇</e2>在剧中饰演吴昆才,和大学同学也是多年好兄弟的<e1>陈建斌</e1>有大量对手戏,两人在片场配合十分默契,<e2>曹卫宇</e2>更是大呼和兄弟演戏很过瘾1.0
  <曹敏莉, 曹蕙兰, 妹妹>	<e1>曹敏莉</e1>的妹妹<e2>曹蕙兰</e2>(前名曹敏宝)通过电话访问,激赞未来姐夫爱屋及乌,问她姐姐是否有喜,<e2>曹蕙兰</e2>说:“一定不是,反而大姐姐七月就生了1.0
  <付笛声, 付豪, 儿子>	1992年,任静和<e1>付笛声</e1>的儿子<e2>付豪</e2>出生了,让这个家庭更添了许多的欢乐1.0
  <王洪礼, 王亮, 儿子>	而<e1>王洪礼</e1>的儿子<e2>王亮</e2>也从事了足球职业,并且取得了不错的成绩1.0
  <韩庚, 银赫, sj成员>	出道当时的成员有利特、希澈、<e1>韩庚</e1>、艺声、强仁、神童、晟敏、<e2>银赫</e2>、东海、始源、厉旭和起范1.0
  <刘少奇, 刘允斌, 儿子>	1955年,在俄罗斯已经扎根立足的<e2>刘允斌</e2>接到了父亲的来信,<e1>刘少奇</e1>希望儿子能回到祖国,加入到新中国第1.0
  <丁俊晖, 蔡剑忠, 恩师>	他拥有出众的台球能力,而且很懂事,性格比较开朗,深得教练喜爱,<e1>丁俊晖</e1>昔日恩师<e2>蔡剑忠</e2>[微博]就曾公开表示,“如果袁思俊发展好,未来极有可能追上甚至超越<e1>丁俊晖</e1>的成就1.0
  <郁可唯, 黄英, 同是快女>	搜狐娱乐讯“快女”三强正式出炉!与传闻相符,最后一位离开的选手在同是成都赛区的<e2>黄英</e2>和<e1>郁可唯</e1>之间进行抉择,唱功备受肯定的<e1>郁可唯</e1>最终止步三强,成为今年“快女”第四名1.0
  <王皓, 闫博雅, 妻子>	腾讯体育9月29日讯近日,乒乓名将<e1>王皓</e1>在综艺节目中因与妻子<e2>闫博雅</e2>意见不合而愤然离场,这件事引起不小的轰动1.0
  <蔡康永, 刘坤龙, 同志男友>	<e1>蔡康永</e1>泣诉心酸路感动金星 <e1>蔡康永</e1>男友<e2>刘坤龙</e2>个人资料曝光(图)1.0
  <张晨, 卢卫中, 教练>	多年来,江苏队先后为国家队培养和输送了袁伟民、邹志华、邸安和、曹平、薛永业、张友生、<e2>卢卫中</e2>、陆飞、张晓东、施海荣、陈平、<e1>张晨</e1>等一大批优秀国手和教练,为我国排球事业做出卓越的贡献1.0
  <叶莉, 苗立杰, 好友>	陈楠与<e2>苗立杰</e2>均为姚夫人<e1>叶莉</e1>在女篮国家队中的好友,因此她们与姚明夫妇的关系极佳1.0
  <于震, 辛月, 妻子>	演员<e1>于震</e1>的妻子<e2>辛月</e2>貌美如花【图】1.0
  <马唯中, 周美青, 母亲>	马英九夫人<e2>周美青</e2>几次出境,据了解,<e1>马唯中</e1>趁同行机会,要蔡沛然向她母亲请安1.0
  <康希, 何耀珊, 妻子>	新加坡<e1>康希</e1>等牧者失信案二审 其妻子<e2>何耀珊</e2>被指募资1.0
  <卢燕, 李桂芬, 母亲>	<e1>卢燕</e1>的母亲是京剧名伶<e2>李桂芬</e2>,曾拜梅兰芳为义父,而京剧大师梅兰芳正是第一位将京剧介绍到海外的文化使者,并使京剧跻身于世界戏剧之林1.0
  <李健, 沈梦辰, 经纪人>	记者了解到包括<e2>沈梦辰</e2>在内的《歌手3》(在线观看)芒果经纪人也将加盟《好好学吧》,至于<e2>沈梦辰</e2>会否带着清华哥<e1>李健</e1>一起上节目,备受期待1.0
  <林志玲, 吴慈美, 母亲>	<e1>林志玲</e1>母亲<e2>吴慈美</e2>表示,“她每年都要缴很多税款,应该不会(漏税)吧1.0
  <钱三强, 钱民协, 女儿>	<e1>钱三强</e1>女儿<e2>钱民协</e2>:三钱中两钱曾是邻居1.0
  <杨元龙, 杨敏德, 女儿>	1978年由<e1>杨元龙</e1>创立的香港溢达集团,早在20年前就交班到女儿<e2>杨敏德</e2>的手中1.0

码源链接见文章顶部or文末

https://download.csdn.net/download/sinat_39620217/88000676

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/791122.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

opencv hand openpose

使用opencv c 来调用caffemodel 使用opencv 得dnn 模块调用 caffemodel得程序&#xff0c;图片自己输入就行&#xff0c;不做过多得解释&#xff0c;看代码清单。 定义手指关节点 const int POSE_PAIRS[20][2] { {0,1}, {1,2}, {2,3}, {3,4}, // thumb {0,5}, {5,6}, {6,7}…

前端技术搭建(动态图片)拖拽拼图!!(内含实现原理)

文章目录 前端技术搭建&#xff08;动态图片&#xff09;拖拽拼图(内含实现原理)导言功能介绍效果演示链接&#xff08;觉得不错的&#xff0c;请一键三连嘤嘤嘤&#xff09;项目目录页面搭建css样式设置工具函数游戏实现逻辑 开源地址总结 前端技术搭建&#xff08;动态图片&a…

热门洗地机评测|追觅VS希亦VS米博洗地机,哪款更值得入手?

智能科技的发展越来越方便人们的生活&#xff0c;特别是现今人们生活水平不断提高&#xff0c;房子越住越大&#xff0c;需要顾及的房屋卫生打扫面积也越来越广。而单是通过人工去拖扫不仅很累还很浪费时间。于是洗地机的出现让很多深陷家务劳动的朋友得以解脱。因为很多洗地机…

人工智能-Dlib+Python实现人脸识别(人脸检测以及68点特征提取)

Dlib是一个现代的C ++工具包,包含机器学习算法和工具,用于在C ++中创建复杂的软件来解决实际问题。它广泛应用于工业界和学术界,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。Dlib的开源许可 允许您在任何应用程序中免费使用它 Dlib可以使用pip install来安装或…

基于开源IM即时通讯框架MobileIMSDK:RainbowChat v9.0版已发布

关于MobileIMSDK MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架&#xff0c;超轻量级、高度提炼&#xff0c;一套API优雅支持UDP 、TCP 、WebSocket 三种协议&#xff0c;支持iOS、Android、H5、标准Java平台&#xff0c;服务端基于Netty编写。 工程开源地址是&am…

OpenMLDB荣登ACM旗舰期刊

日前&#xff0c;最新一期的ACM&#xff08;国际计算机学会&#xff09;旗舰期刊《Communications of the ACM》(ACM 通讯) 刊登了开源机器学习数据库项目 OpenMLDB 的文章&#xff0c;获得了期刊编辑主席团的一致认可。 文章链接&#xff1a;https://cacm.acm.org/magazines/2…

opencv对相机进行畸变矫正,及矫正前后的坐标对应

文章目录 1.背景2.需求分析3.解决方案3.1.镜头畸变矫正3.2.知道矫正后的画面坐标&#xff08;x&#xff0c;y&#xff09;&#xff0c;求其在原画面的坐标&#xff08;x&#xff0c;y&#xff09;3.2.知道原画面坐标&#xff08;x1&#xff0c;y1&#xff09;&#xff0c;求其在…

【Linux】网络基础之TCP协议

目录 &#x1f308;前言&#x1f338;1、基本概念&#x1f33a;2、TCP协议报文结构&#x1f368;2.1、源端口号和目的端口号&#x1f369;2.2、4位首部长度&#x1f36a;2.3、32位序号和确认序号&#xff08;重点&#xff09;&#x1f36b;2.4、16位窗口大小&#x1f36c;2.5、…

解决rosdep网络问题

众所周知&#xff0c;想要使用rosdep&#xff0c;需要两个步骤&#xff1a; sudo rosdep init rosdep update其中&#xff0c;第一步就是下载了一个文件&#xff0c;第二步是从服务器下载一些数据。 但是因为国内的网络的原因&#xff0c;这两步都有一点困难。但是可以使用tun…

P3611 [USACO17JAN] Cow Dance Show S

思路&#xff1a;二分K&#xff0c;查看当前K能否满足总时间不超过最大时间 ACcode: #include<bits/stdc.h> using namespace std; #define int long long const int N1e410; int n,tmax,a[N]; bool check(int x) {priority_queue < int, vector < int >, gre…

ASCII码、UniCode码、字符转换、中文、英文、二进制、十进制、十六进制

文章目录 效果图htmlJavaScript 效果图 html <div class"w_680 p_t_20 p_b_20 p_l_6 p_r_6"><div class"w_100_ d_f jc_c"><textarea class"w_97_ h_86 fs_16 resize_none outline_none" oninput"oninputF(event)">…

OpenAI重磅官宣ChatGPT安卓版本周发布,现已开启下载预约,附详细预约教程

7月22号&#xff0c;OpenAI 突然宣布&#xff0c;安卓版 ChatGPT 将在下周发布&#xff01;换句话说&#xff0c;本周安卓版 ChatGPT正式上线&#xff01; 最早&#xff0c;ChatGPT仅有网页版。 今年5月&#xff0c;iOS版ChatGPT正式发布&#xff0c;当时OpenAI表示Android版将…

中缀表达式转后缀表达式,使用逆波兰计算。可以计算小数

1、使用方法 传递一个分开保存符号与数字的List即可&#xff1a;List SumNumber; 获取参数的构造方法如下&#xff1a; public ReversePolish(List<String> sumNumber) {SumNumber sumNumber;}要求的List保存数据的方式如下&#xff1a; 例如&#xff1a;123 然后使用…

【C++】详解多态的底层原理

文章目录 前言1. 虚函数表指针与虚函数表2. 子类的虚函数表&#xff08;单继承&#xff09;3. 多态的实现原理3.1 多态是如何实现的3.2 多态调用与非多态调用的区别3.3 为什么父类的对象不能实现多态 4. 其它多态相关问题的理解4.1 虚函数是存在哪里的&#xff1f;4.2 子类新增…

手机照片误删除?无需担忧,点击这里,即可轻松恢复

手机照片误删除&#xff1f;无需担忧&#xff0c;点击这里&#xff0c;即可轻松恢复 开头&#xff1a;在数字化时代&#xff0c;手机已成为我们生活中不可或缺的伙伴。随着手机摄影的普及&#xff0c;我们记录了许多珍贵的瞬间和回忆。然而&#xff0c;有时候我们不小心误删除…

项目经理必备的5种管理能力

作为中层管理者&#xff0c;需要同时完成上级的任务安排和照顾下属的情绪&#xff0c;这是职场中最具挑战性的管理能力。项目经理必备能力中&#xff0c;计划制定、有效授权、高效沟通、化解冲突、项目跟踪是至关重要的。 1、计划制定是项目管理的关键。 作为项目经理&#…

Tribon二次开发- tbbatchjob

在Tribon安装目录下C:\Tribon\M3\Bin里面有许多未知用途的exe,有的双击后时一个DOS终端,有的一闪而过,有的需要按照提示输入信息,有的需要提前在指定的目录配置文件,该如何使用呢? 这些exe大多可以在Tribon以外通过.NET来使用,有的可以通过添加.NET项目引用来使用,有的…

聊聊spring中bean的作用域

前言 今天分享一下spring bean的作用域&#xff0c;理解bean的作用域能够在使用过程中避免一些问题&#xff0c;bean的作用域也是spring bean创建过程中一个重要的点。 Spring bean的作用域类型 singleton&#xff08;单例模式&#xff09;&#xff1a;在整个应用程序的生命周…

成都爱尔蔡裕:泡在“糖”里的脆弱血管,暴露在眼睛深处

糖尿病是一组由多病因引起的以慢性高血糖为特征的终身性代谢性疾病。长期血糖增高&#xff0c;大血管、微血管受损并危及心、脑、肾、周围神经、眼睛、足等。医生临床数据显示&#xff0c;糖尿病发病后10年左右&#xff0c;将有30%&#xff5e;40%的患者至少会发生一种并发症&a…

【TypeScript】对函数类型的约束定义

导读 函数是JavaScript 中的 一等公民 概念&#xff1a;函数类型的概念是指给函数添加类型注解&#xff0c;本质上就是给函数的参数和返回值添加类型约束 文章目录 声明式函数:表达式函数&#xff1a;箭头函数可选参数和默认参数&#xff1a;参数默认值&#xff1a;过剩参数的处…