查看原文
其他

MS | 使用网络算法识别创新的颠覆性与否

大邓 大邓和他的Python
2024-09-09


颠覆式创新是一个很火的概念,在创新创业、科学学等研究中,每个专利、论文的正文中都会引用关系,而引用关系会构成一个引用网络。

那么创新如何从网络形态进行区分,如何计算网络节点的创新程度,本文列举两篇与此相关的论文,分别是 Management science 和 Science 。


文献摘要

Funk, Russell J., and Jason Owen-Smith. "A dynamic network measure of technological change." Management science 63, no. 3 (2017): 791-817.

该文使用网络分析方法研究技术变革,论文认为 颠覆性的新发明,通过将发明者的注意力转移到或远离这些发明所依赖的知识,来重塑相互关联的技术网络。即更广的视野或更久远的视角,往往有利于颠覆性创新的产生基于该思路,本文开发了新发明的颠覆性与否的计算指标cdindex。我们将这些指标应用于大学研究商业化的分析,并发现 联邦研究资金推动校园产生颠覆性创新,而商业联系会有利于巩固现状的创新。通过量化新技术,我们提出的指数允许基于专利的创新研究捕捉概念上重要的现象, 这些现象无法通过既定措施检测到。该测量方法提供了支持创新、创业、技术战略、科学政策和社会网络理论研究的理论发展的经验见解。


Wu, Lingfei, Dashun Wang, and James A. Evans. "Large teams develop and small teams disrupt science and technology." Nature 566, no. 7744 (2019): 378-382.

当今科学和技术最普遍的趋势之一是各个领域的大型团队的增长,因为孤独的研究人员和小型团队的流行程度正在减少 。团队规模的增加归因于科学活动的专业化、通信技术的改进 或需要跨学科解决方案的现代问题的复杂性。团队规模的这种转变引发了一个问题,即大团队所产生的科技特征是否以及如何不同于小团队。分析了 1954-2014 年期间超过 6500 万篇论文、专利和软件产品,证明在此期间,较小的团队倾向于将拉长到更大的时间尺度,借鉴过去,用新的想法和机会来颠覆科学和技术;而较大的团队倾向于聚焦于当前流行的,完善当前现有的。不论团队大小,均对于蓬勃发展的科学技术生态至关重要,并表明,为实现这一目标,科学政策应旨在支持团队规模的多样性。


算法对比

我没阅读两篇论文,仅就颠覆性与否的计算方法和图例,感觉算法实现差不多。

第一幅图为2017年Management Science的插图


第二幅图为2019年Nature的插图


代码数据

下面分别为Management2017和Nature2019的主页,均含数据和代码。

  • http://russellfunk.org/cdindex/
  • https://lingfeiwu.github.io/smallTeams/

算法实现

按照时间优先原则,本文就只分享Management2017论文作者Funk, Russell开源了cdindex库 (开发语言C和Python) ,安装

pip3 install cdindex

将Management2017 cdindex算法图 标注为如下图, 下图中左右两个网络节点是相同的,只需构造一套节点,两套边数据即可完成实验。


我们就直接上代码

import cdindex
import datetime

#节点,理解为专利号或者论文doi号;同时节点有先后时间属性
vertices = [{"name": "x1", "time": datetime.datetime(1990, 1, 1)},
{"name": "x2", "time": datetime.datetime(1990, 1, 1)},
{"name": "x3", "time": datetime.datetime(1990, 1, 1)},
{"name": "x4", "time": datetime.datetime(1990, 1, 1)},

{"name": "y", "time": datetime.datetime(1991, 1, 1)},

{"name": "z1", "time": datetime.datetime(1995, 1, 1)},
{"name": "z2", "time": datetime.datetime(1995, 1, 1)},
{"name": "z3", "time": datetime.datetime(1995, 1, 1)},
{"name": "z4", "time": datetime.datetime(1995, 1, 1)},
{"name": "z5", "time": datetime.datetime(1995, 1, 1)},
{"name": "z6", "time": datetime.datetime(1995, 1, 1)}]


#edges_1边关系
#edges_1中的y为颠覆型
edges_1 = [{"source": "z1", "target": "y"},
{"source": "z2", "target": "y"},
{"source": "z3", "target": "y"},
{"source": "z4", "target": "y"},
{"source": "z5", "target": "y"},
{"source": "z6", "target": "y"},

{"source": "y", "target": "x1"},
{"source": "y", "target": "x2"},
{"source": "y", "target": "x3"},
{"source": "y", "target": "x4"}]


#edges_2边关系
#edges_2中的y为巩固型
edges_2 = [{"source": "z1", "target": "y"},
{"source": "z2", "target": "y"},
{"source": "z3", "target": "y"},
{"source": "z4", "target": "y"},
{"source": "z5", "target": "y"},
{"source": "z6", "target": "y"},

{"source": "y", "target": "x1"},
{"source": "y", "target": "x2"},
{"source": "y", "target": "x3"},
{"source": "y", "target": "x4"},

{"source": "z1", "target": "x1"},
{"source": "z2", "target": "x1"},
{"source": "z3", "target": "x2"},

{"source": "z4", "target": "x3"},
{"source": "z5", "target": "x3"},
{"source": "z5", "target": "x4"},
{"source": "z6", "target": "x4"}]



# 构建两个网络
graph1 = cdindex.Graph() #颠覆型
graph2 = cdindex.Graph() #发展型

# 添加节点
for vertex in vertices:
graph1.add_vertex(vertex["name"], cdindex.timestamp_from_datetime(vertex["time"]))
graph2.add_vertex(vertex["name"], cdindex.timestamp_from_datetime(vertex["time"]))

# 添加引用关系
for edge in edges_1:
graph1.add_edge(edge["source"], edge["target"])
for edge in edges_2:
graph2.add_edge(edge["source"], edge["target"])


#y研究发布后1825天内,引用y的论文(专利)列入网络。
t_delta = int(datetime.timedelta(days=1825).total_seconds())

#计算cdindex得分
score1 = graph1.cdindex("y", t_delta)
score2 = graph2.cdindex("y", t_delta)

print('左侧-网络中的y节点的cdinex得分: {}, 节点y 为颠覆型创新'.format(score1))
print('右侧-网络中的y节点的cdinex得分: {}, 节点y 为巩固型创新'.format(score2))

Run

左侧-网络中的y节点的cdinex得分: 1, 节点y 为颠覆型创新
右侧-网络中的y节点的cdinex得分: -1, 节点y 为巩固型创新

cdindex

对比Python的结果,与论文计算过程,完全一致。cdindex内部实现我不太熟悉,如果想了解cdindex内部实现,可前往  https://github.com/russellfunk/cdindex  阅读cdindex库的源码。




精选内容

93G数据集 | 中国裁判文书网(2010-2021)

96G数据集 | 2亿条中国大陆企业工商注册信息

数据集 | 3571万条专利申请数据集(1985-2022年)

CAR2023 | 文本分析在会计中的应用

管理世界 | 使用文本分析词构建并测量 短视主义

管理世界 | 使用 经营讨论与分析 测量 企业数字化指标

管理世界 | 用正则表达式、文本向量化、线性回归算法从md&a数据中计算 「企业融资约束指标

中国管理科学 | 使用业绩说明会文本数据测量上市公司前瞻性信息

管理科学学报 | 使用LDA算法计算政策扩散速度与扩散程度

心理科学进展 | 语义距离与创造性思维关系的元分析

JMR | 测量消费者的「语言确定性

文本分析 | 中国企业高管团队创新注意力(含代码)

金融研究 | 使用Python构建「关键审计事项信息含量」

案例代码 | 使用正则表达式判别微博用户mbti类型

可视化 | 99-21年地方政府报告关键词变化趋势

使用 Word2Vec 和 TF-IDF 计算五类企业文化

数据集 | 2006年-2022年企业社会责任报告

数据集 | 2001-2022年A股上市公司年报&管理层讨论与分析

数据集 | 07-21年上市公司「委托贷款公告」

数据集 | 200w政府采购合同公告明细数据(1996.6-2022.12)

数据集 | 84w条业绩说明会问答数据(2005-2023)

单个csv文件体积大于电脑内存,怎么办?

继续滑动看下一个
大邓和他的Python
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存