一、相关概念

1.1 赫芬达尔-赫希曼指数

**赫芬达尔-赫希曼指数(Herfindahl-Hirschman Index)**作为一种衡量市场集中度的经济指标,通常用于分析产业或市场中企业份额的分布情况。近年来有学者使用HHI算法测量专利的所涉领域的集中程度,反应专利的知识宽度。

知识宽度是指在特定领域或跨领域中,个人或组织掌握的知识的多样性和广度。


假设某行业有N家公司,每家公司的市场份额为MSi, 则该行业的HHI指数计算公式


1.2 、专利IPC号

IPC号是国际专利分类体系(International Patent Classification, IPC)的缩写,它是一个用于将专利归类到特定技术领域的全球性标准。IPC系统由世界知识产权组织(WIPO)维护,旨在标准化专利文献的分类,以便于检索和分析。

IPC号的结构如下:

1. 部(Section): 用大写字母A到H表示,共分8个部,每个部覆盖特定的技术领域。
2. 大类(Class): 用两位数字表示;每个部下面进一步细分为大类。
3. 小类(Subclass): 用大写字母表示, 大类下面再细分为小类,。
4. 大组(Main Group) 和 小组(Sub-Group):小类下面进一步细分,用斜杠(/)分隔的数字表示。
   - 大组:用两位数字表示。
   - 小组:大组后面跟着的两位数字。

1.3 专利与HHI

在创新领域,使用hhi计算专利质量,最小粒度是大组(Group)。举例说明

|专利序号|       IPC号         |
|  1   | A01B01/00;A01B01/01 |
|  2   | A01B01/00;A01C01/01 |

如果用HHI计算

#1种知识,份额1/1
patent1_HHI = (1/1)*(1/1)  = 1

#2种知识,份额各1/2
patent2_HHI = (1/2)*(1/2) + (1/2)*(1/2) = 1/2

从知识集中程度(HHI),专利1 知识更聚焦。

衡量一个人的知识有广度和深度两种不同的角度, 在创新创业领域, 习惯用专利的(1-hhi)来表示专利质量(广度)。



二、实验: 衡量专利质量

准备了三个专利,

"A01B01/00"
"A01B01/00;B01D01/01"
"A01B01/00;B01D01/01;C01B01/01"
"A01B01/00;B01D01/01;C01B01/01;D01B01/01"
"A01B01/00;B01D01/01;C01B01/01;D01B01/01;F01B01/01"

从上到下,知识宽度越来越大, 集中程度(HHI)越来越小。

import numpy as np

def ipc_hhi(ipc_text):
  	#ipc_text字符串,形如"A01B01/00;B01D01/01;F01B01/01"
    ipc_list = [group.split('/')[0] for group in ipc_text.split(';')]
    ipc_group_counts = list(Counter(ipc_list).values())
    ipc_props = np.array(ipc_group_counts)/sum(ipc_group_counts)
    hhi_value = sum(ipc_prop**2 for ipc_prop in ipc_props)
    return hhi_value
  
print(ipc_hhi("A01B01/00"))
print(ipc_hhi("A01B01/00;B01D01/01"))
print(ipc_hhi("A01B01/00;B01D01/01;C01B01/01"))
print(ipc_hhi("A01B01/00;B01D01/01;C01B01/01;D01B01/01"))
print(ipc_hhi("A01B01/00;B01D01/01;C01B01/01;D01B01/01;F01B01/01"))

Run

1.0
0.5
0.3333333333333333
0.25
0.20000000000000004

print(1-ipc_hhi("A01B01/00"))
print(1-ipc_hhi("A01B01/00;B01D01/01"))
print(1-ipc_hhi("A01B01/00;B01D01/01;C01B01/01"))
print(1-ipc_hhi("A01B01/00;B01D01/01;C01B01/01;D01B01/01"))
print(1-ipc_hhi("A01B01/00;B01D01/01;C01B01/01;D01B01/01;F01B01/01"))

Run

0.0
0.5
0.6666666666666667
0.75
0.7999999999999999

知识宽度(1-hhi)越来越大。



三、语言的HHI

3.1 联想

本节语言是使用的大模型,未查阅文献。通义千问,提问[赫芬达尔-赫希曼指数(Herfindahl-Hirschman Index)是否可以测量一个人用语(表达)的特质]

前人类比市场集中程度,用于测量专利质量(知识宽度)。 那放在文本语言中,我们是否可能利用HHI来量化某个语料库中不同词汇的使用频率分布,以此来分析个人、群体或时代的语言风格、词汇丰富度、或是语言标准化与变化的趋势。

  • 如果词汇分布非常均匀,表明语言使用中的词汇多样性高,HHI值就会较低;
  • 反之,如果少数词汇占据了大部分文本空间,表明词汇使用集中,HHI值则较高。

结合其他语言学指标一起使用,比如TTR(Type-Token Ratio,类型-标记比率)、Shannon entropy(香农熵)等,共同评估语言表达的复杂度和多样性。不过,这类研究的文献相对较少,因为语言学领域有自己一套成熟且专业的分析工具和方法,HHI更多地被视为跨学科应用的一个创新尝试。


3.2 词语的HHI

from collections import Counter
import numpy as np
import jieba

def word_hhi(text):
    """计算文本词汇使用的HHI"""
    word_counts = list(Counter(jieba.lcut(text)).values())
    word_props = np.array(word_counts)/sum(word_counts)
    hhi_value = sum(w_prop**2 for w_prop in word_props)
    return hhi_value
  
personA = '这场音乐会太嗨了'
personB = '这场音乐会说出来令你不敢相信,主办方策划有方,群众激情满满,我印象深刻,体验感拉满'

print('A-hhi', word_hhi(personA))
print('B-hhi', word_hhi(personB))

print('A词汇多样性', 1-word_hhi(personA))
print('B词汇多样性', 1-word_hhi(personB))

Run

A-hhi 0.20000000000000004
B-hhi 0.07024793388429751

A词汇多样性 0.7999999999999999
B词汇多样性 0.9297520661157025

该函数已内置到cntext2.1.3, 需要更新的找大邓领新版cntext

import cntext as ct

personA = '这场音乐会太嗨了'
personB = '这场音乐会说出来令你不敢相信,主办方策划有方,群众激情满满,我印象深刻,体验感拉满'


print('A-hhi', ct.word_hhi(personA))
print('B-hhi', ct.word_hhi(personB))

print('A词汇多样性', 1 - ct.word_hhi(personA))
print('B词汇多样性', 1 - ct.word_hhi(personB))

Run

A-hhi 0.20000000000000004
B-hhi 0.07024793388429751

A词汇多样性 0.7999999999999999
B词汇多样性 0.9297520661157025


精选内容