查看原文
其他

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

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

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

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



精选文章

从符号到嵌入:计算社会科学的两种文本表示

推荐 | 社科(经管)文本分析快速指南

使用cntext训练Glove词嵌入模型

认知的测量 | 向量距离vs语义投影

Wordify | 发现和区分消费者词汇的工具

karateclub库 | 计算社交网络中节点的向量

视频专栏课 | Python网络爬虫与文本分析

LIWC vs Python | 文本分析之词典统计法略讲(含代码)

工具分享 | 朋友圈转发截图生成工具

PNAS | 文本网络分析&文化桥梁Python代码实现

Wordify | 发现和区分消费者词汇的工具

BERTopic库 | 使用预训练模型做话题建模

tomotopy | 速度最快的LDA主题模型

文本分析方法在《管理世界》(2021.5)中的应用

使用WeasyPrint自动生成pdf报告文件

100min视频 | Python文本分析与会计

在jupyter内运行R代码

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

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

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