管理世界(更新) | 使用「经营讨论与分析」测量「企业数字化」
使用 经营讨论与分析 数据,计算企业数字化指标, 相关论文:
吴非, 胡慧芷, 林慧妍, and 任晓怡. "企业数字化转型与资本市场表现——来自股票流动性的经验证据." 管理世界 (2021). 宋德勇, 朱文博, and 丁海. "企业数字化能否促进绿色技术创新?." 财经研究 48, no. 4 (2022).
数字化指标数分析结果以xlsx存储,如下图
一、读取数据
完整md&a数据集 841 M,覆盖 55856 条md&a记录。查看数据集详情可点击
import pandas as pd
df = pd.read_csv('mda01-22.csv.gz', compression='gzip')
print(len(df))
df.head()
Run
55856
二、构建词典
下图是吴非等(2021)数字化指标的截图
后期,如果想自己扩展词典,可以初步筛选种子词(该篇论文的词表), 使用md&a语料文件(txt格式), 结合cntext库的so-pmi或词向量方法,对数字化词典进行扩充。
这里我已将吴非等(2021)的词表内置到 cntext库(2.1.1版本)的 zh_common_Digitalization.yaml 中。
2.1 安装cntext
我使用的自己 未公开 的cntext 2.1.1 版本, Bug频出,等调整好了再公开。
将 cntext-2.1.1-py3-none-any.whl 放置于桌面,打开 cmd (苹果电脑打开terminal), 输入cd desktop
cd desktop
之后在 cmd (苹果电脑打开terminal) 中使用 pip3 安装
pip3 install distinctiveness
pip3 install cntext-2.1.1-py3-none-any.whl
文末有 cntext-2.1.1-py3-none-any.whl 获取方式
2.2 导入词典
查看内置词典
import cntext as ct
ct.get_dict_list()
Run
['zh_common_NTUSD.yaml',
'zh_common_DUTIR.yaml',
'enzh_common_StopWords.yaml',
'en_valence_Concreteness.yaml',
'en_common_LoughranMcDonald.yaml',
'zh_common_FinanceSenti.yaml',
'zh_common_TsinghuaPraiseDegrade.yaml',
'en_common_ANEW.yaml',
'en_common_NRC.yaml',
'zh_valence_ChineseEmoBank.yaml',
'zh_valence_SixSemanticDimensionDatabase.yaml',
'zh_common_FinacialFormalUnformal.yaml',
'zh_common_LoughranMcDonald.yaml',
'enzh_common_AdvConj.yaml',
'en_common_SentiWS.yaml',
'zh_common_Digitalization.yaml',
'en_common_LSD2015.yaml',
'zh_common_HowNet.yaml']
导入数字化词典
Digitalization_Infos = ct.read_yaml_dict('zh_common_Digitalization.yaml')
print(Digitalization_Infos)
Run
{'Name': '中文数字化词典',
'Desc': '基于这篇论文,构建了中文数字化词典,含人工智能技术、大数据技术、云计算技术、区块链技术、数字技术应用等关键词列表。 ',
'Refer': '吴非,胡慧芷,林慧妍,任晓怡. 企业数字化转型与资本市场表现——来自股票流动性的经验证据[J]. 管理世界,2021,37(07):130-144+10.',
'Category': ['Artificial_Intelligence', 'Big_Data', 'Cloud_Computing', 'Block_Chains', 'Usage_of_Digitalization'],
'Dictionary': {
'Artificial_Intelligence': ['人工智能', '商业智能', '图像理解', '投资决策辅助系统', '智能数据分析', '智能机器人', '机器学习', '深度学习', '语义搜索', '生物识别技术', '人脸识别', '语音识别', '身份验证', '自动驾驶', '自然语言处理'],
'Big_Data': ['大数据', '数据挖掘', '文本挖掘', '数据可视化', '异构数据', '征信', '增强现实', '混合现实', '虚拟现实'],
'Cloud_Computing': ['云计算', '流计算', '图计算', '内存计算', '多方安全计算', '类脑计算', '绿色计算', '认知计算', '融合架构', '亿级并发', 'EB级存储', '物联网', '信息物理系统'],
'Block_Chains': ['区块链', '数字货币', '分布式计算', '差分隐私技术', '智能金融合约'],
'Usage_of_Digitalization': ['移动互联网', '工业互联网', '移动互联', '互联网医疗', '电子商务', '移动支付', '第三方支付', 'NFC支付', '智能能源', 'B2B', 'B2C', 'C2B', 'C2C', 'O2O', '网联', '智能穿戴', '智慧农业', '智能交通', '智能医疗', '智能客服', '智能家居', '智能投顾', '智能文旅', '智能环保', '智能电网', '智能营销', '数字营销', '无人零售', '互联网金融', '数字金融', 'Fintech', '金融科技', '量化金融', '开放银行']
}
}
三、定义数字化函数
目前,对于企业数字化水平的度量是相关研究的难点,现有文献主要有三种度量方法。
第一,祁怀锦等(2020)使用企业年末无形资产明细项中与数字经济相关部分的金额占无形资产总额的比例度量企业数字化程度。 第二,大量研究运用数字化相关关键词在年报中的词频数量或占比度量企业的数字化转型或数字化水平(赵宸宇,2021;袁淳等,2021)。 第三,相关研究采取问卷调查的方式获取企业的数字化水平数据(刘政等,2020)。
使用第二种方法,通过Python定义数字化函数,统计文本中数字化词语个数得到相应指标。
吴非等(2021管理世界)数字化指标的计算更复杂一些,在此基础上,剔除关键词前存在“没” “无” “不”等否定词语的表述,同时也剔除非本公司(包括公司的股东、客户、供应商、公司高管简介介绍在内)的“数 字化转型”关键词。
import pandas as pd
#函数内导入jieba是为了适配并行运算pandarallel
def digtal_function(text):
import cntext as ct
#统计text中每类词的个数
digtal_diction = ct.read_yaml_dict('zh_common_Digitalization.yaml')['Dictionary']
res = ct.sentiment(text=text, diction=digtal_diction)
return pd.Series(res)
test_text = '经过技术人员不懈努力, 该企业在人工智能、大数据、云计算、工业互联网等领域有了一定的市场地位....'
digtal_function(text=test_text)
Run
Artificial_Intelligence_num 1
Big_Data_num 1
Cloud_Computing_num 1
Block_Chains_num 0
Usage_of_Digitalization_num 1
stopword_num 11
word_num 24
sentence_num 1
dtype: int64
四、批量计算
使用 apply 方法,对 text 列,进行 digtal_function 运算, 得到 res_df
from pandarallel import pandarallel
pandarallel.initialize()
#结果返回为dataframe,数字代表的是每类词出现次数
res_df = df['text'].parallel_apply(digtal_function)
res_df.head()
Run
INFO: Pandarallel will run on 12 workers.
INFO: Pandarallel will use standard multiprocessing data transfer (pipe) to transfer data between the main process and workers.
参数解读
Artificial_Intelligence_num 人工智能技术词出现在md&a中的次数 Big_Data_num 大数据技术词出现在md&a中的次数 Cloud_Computing_num 云计算技术词出现在md&a中的次数 Block_Chains_num 区块链技术词出现在md&a中的次数 Usage_of_Digitalization_num 数字化应用技术词出现在md&a中的次数 stopword_num 停用词出现在md&a中的次数 word_num md&a中的总词数(md&a的长度) sentence_num md&a的句子数
五、结果整理
上一环节,将各种技术词出现次数加总,构建企业数字化词语出现个数, 并将其转为数字化指标(词频)。
由于这类数据具有典型的“右偏性”特征,后续在其他计量分析软件中需要将其进行对数化处理,从而得到刻画企业数字化转型的整体指标。
res_df['Digital_word_num'] = res_df[['Artificial_Intelligence_num',
'Big_Data_num',
'Cloud_Computing_num',
'Block_Chains_num',
'Usage_of_Digitalization_num']].sum(axis=1)
# [数字化相关技术词] 在 [文本总词数] 中的占比
res_df['Digital_Index'] = np.log(res_df['Digital_word_num']+1)
res_df.head()
六、保存结果
合并 df 和 res_df, 查看 Digital_Index 的最大、最小、均值
df2 = pd.concat([df, res_df], axis=1)
print('Digital_Index最小值: ', df2.Digital_Index.min())
print('Digital_Index平均值: ', df2.Digital_Index.mean())
print('Digital_Index最大值: ', df2.Digital_Index.max())
Run
Digital_Index最小值: 0.0
Digital_Index平均值: 0.836223935643458
Digital_Index最大值: 5.963579343618446
选中需要的字段,保存到 corporate_digitalization.xlsx 内
df2[['code',
'year',
'Digital_word_num',
'word_num',
'Digital_Index']].to_excel('corporate_digitalization.xlsx', index=False)
查看结果 corporate_digitalization.xlsx
## 查看结果
pd.read_excel('corporate_digitalization.xlsx')
获取资料
- 100元 管理层讨论与分析数据mda01-22.csv.gz
- 100元 cntext-2.1.1-py3-none-any.whl
- 200元
- 管理层讨论与分析数据mda01-22.csv.gz
- cntext-2.1.1-py3-none-any.whl
- 数字化代码.ipynb
- corporate_digitalization.xlsx
加微信 372335839, 备注「姓名-学校-专业」。