Press "Enter" to skip to content

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

 

应杨同学留言,今天分享【高管团队创新注意力】计算的实现

 

Chen, Shouming, Miao Bu, Sibin Wu, and Xin Liang. “How does TMT attention to innovation of Chinese firms influence firm innovation activities? A study on the moderating role of corporate governance.”Journal of Business Research
68, no. 5 (2015): 1127-1135.

 

 

 

Title: 中国企业高管团队创新注意力 对 如何影响企业创新活动?公司治理的调节作用研究

 

摘要

 

本文借鉴高层梯队理论,探讨了高管团队创新注意力对中国企业创新活动的影响。本文预测高管团队创新注意力
对企业创新活动的影响受到公司治理特征的调节作用。进一步利用从2006年至2011年6年间394家中国制造企业收集的1747个公司年度观察数据,实证检验上述假设。

 

研究结果表明:企业高管团队创新注意力与企业专利申请之间存在正相关关系,且当企业为民营企业、董事会规模较大或独立董事较少时,该正相关关系更强。

 

TMTAI指标构建

 

高管团队创新注意力TMTAI( TMT attention to innovation):利用6个创新相关的关键词对该指标进行测量,可以使用词典词频法, 计算TMTAI词在年报中的词频。

 

innovations = ['知识产权', '自主创新', '专利保护', '专利侵权', '技术创新', '核心技术']

 

待分析的数据

 

原论文使用2006-2011年中国上市企业年报, 这里我自己随便找了点年报数据。

 

import pandas as pd
df = pd.read_csv('reports.csv')
df.head()

 

 

 

写代码,一定秉承先简单,再复杂,先局部后整体。只要在具体的局部成功了,就可以推而广之。

 

那幺我们拿出一条文本,对一条文本做高管团队创新注意力tmtai词语的计算

 

import cntext as ct
import jieba
tmtai_words = ['知识产权', '自主创新', '专利保护', '专利侵权', '技术创新', '核心技术']
tmtai_dict = {'tmtai': tmtai_words}
#加入自定义词典,放置文本被错分
for w in tmtai_words:
    jieba.add_word(w)
# 我瞎编的
test_text = '我们公司尊重知识产权,但也要避免专利侵权,在下一阶段会加强自主创新,培育核心技术'
pd.Series(ct.sentiment(text=test_text,
                       diction=tmtai_dict,
                       lang='chinese'))

 

Run

 

tmtai_num        4
stopword_num     9
word_num        19
sentence_num     1
dtype: int64

 

实验成功,接下来就可以推广到所有text
这一列

 

import cntext as ct
import jieba
tmtai_words = ['知识产权', '自主创新', '专利保护', '专利侵权', '技术创新', '核心技术']
tmtai_dict = {'tmtai': tmtai_words}
#加入自定义词典,放置文本被错分
for w in tmtai_words:
    jieba.add_word(w)
def tmtai_count(text):
return pd.Series(ct.sentiment(text=text,
                                  diction=tmtai_dict,
                                  lang='chinese'))
#选中text这列,统计其中每条文本中tmtai词出现次数
tdf = df['text'].apply(tmtai_count)
tdf.head()

 

 

 

#合并新旧两个dataframe
result_df = pd.concat([df, tdf], axis=1)
#tmtai指标是 词频,因此需要tmtai_num/word_num
result_df['tmtai_score'] = result_df['tmtai_num']/result_df['word_num']
result_df.head()

 

Run

 

 

 

查看结果,最后一列出现了我们感兴趣的 tmtai_score 指标

 

result_df.head()

 

Run

 

 

 

tmtai_score平均分

 

#500家公司tmtai指标平均值
result_df['tmtai_score'].mean()

 

Run

 

0.0004088675846679111

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注