自然语言处理入门

您所在的位置:网站首页 安装pyhanlp 自然语言处理入门

自然语言处理入门

2023-03-27 07:54| 来源: 网络整理| 查看: 265

目录

一、自然与语言与编程语言

二、自然语言处理的层次

三、 自然语言处理的流派

五、语料库

六、开源工具

七 总结

自然语言处理(NLP)是一门融合了计算机科学、人工智能以及语言学的交叉学科。

自然语言处理入门——新手上路

一、自然与语言与编程语言

1.词向量

自然语言中的词汇量比编程语言中的关键词丰富。再自然语言中,我们可以使用的词汇量是无穷无尽的,几乎没有意义完全相同的词语。我们国家语言文字工作委员会发布的《现代汉语常用词表(草案)》一共收录56 008个词条。除此之外,我们还可以随时创造各种类型的新词,而不仅限于名词。

2.结构化

自然语言是非结构化的,而编程语言是结构化的。所谓的结构化,是指信息具有明确的结构关系,比如编程语言中的类于成员,数据库中的表于字段,都可以通过明确的机制来读写。人类语言是线性字符串,给定一句话"苹果的创始人是乔布斯,它的logo是苹果",计算机需要分信息如下结论:

这句汉语转换为单词序列后,应该是"苹果 的 创始人 是 乔布斯 , 它 的logo是 苹果"; 第一个"苹果"指的是苹果公司,而第二个"苹果"指的是带缺口的苹果logo; "乔布斯"是一个人名; "它"指的是苹果公司 苹果公司与乔布斯之间的关系是"的创始人",与带缺口的苹果logo之间的关系是"的logo是"

这些结论的得出分别涉及中文分词、命名实体识别、指代消除和关系抽取等自然语言处理任务。这些任务目前的准确率都达不到人类水平。可见,人类觉得很简单的一句话,要让计算机理解起来并不简单。

3.歧义性

自然语言含有大量歧义,这些歧义根据语境的不同而表现为特定的义项。比如汉语中的多义词,只有在特定的上下文中才能确定其含义,甚至存在故意利用无法定义的歧义营造幽默效果的用法。除了上文"苹果"有两种意思之外,"意思"这个词也有多种意义。

但在编程语言中,则不存在歧义性。如果程序员无意中写了有歧义的代码,比如两个函数的签名一样,则会触发编译错误。

4.容错性

书刊中的语言即使经过编辑的多次校对,也任然无法避免错误。而互联网上的文本更加随性,错别字或病句、不规范的标点符号等随处可见。但是人们还是能猜出他的意思。而在编译语言中,程序员必须保证拼写绝对正确、语法绝对规范、否则要么得到编译器无情的警告、要么造成潜在的bug。

5 易变性

任何语言都是不断发展变化的,不同的是,编程语言的变化要缓慢温和得多,而自然语言则相对迅速嘈杂一些。

6 简略性

由于说话速度和听话的速度、书写速度和阅读速度的限制,人类语言往往简洁、干练。我们常常省略大量的背景知识或常识,比如我们对朋友说"老地方见",而不必指出"老地方"在哪里。这些省略,是交流双方共有而计算机不一定拥有的,这也给自然语言处理带来了障碍。

二、自然语言处理的层次

按照处理对象的颗粒度,自然语言处理大致可以分为如图所示的几个层次。

自然语言处理入门——新手上路

1 语音、图像、文本

自然语言处理系统的输入源一共有3个,即语音、图像与文本。其中,语音和图像虽然正引起越来越大的关注,但受制于存储容量和传输速度,他们的信息总量还没有文本多。另外,这两种形式一般经过识别后转化为文本,再进行接下来的处理,分别称为 语音识别(Speech Recognition)和 光学字符识别(Optical Character Recognition)。一旦转化为文本,就可以进行后续的NLP任务。所以,文本处理是重中之重。

2 中文分词、词性标注和命名实体识别

这3个任务都是围绕词语进行的分析,所以统称 词法分析。词法分析的主要任务是将文本分隔为有意义的词语( 中文分词),确定每个词语的类别和浅层的歧义消除( 词性标注),并且识别出一些较长的专有名词( 命名实体识别)。对中文而言

3 信息抽取

词法分析之后,文本已经呈现出部分结构化的趋势。至少,计算机看到的不再是一个超长的字符串,而是有意义的单词列表,并且每个单词还附有自己的词性以及其他标签。

根据这些单词和标签,我们可以抽取去一部分有用的信息,从简单的高频词到高级算法提取出的关键词,从公司名称到专业术语,其中词语级别的信息已经可以抽取不少。我们还可以根据词语之间的统计学信息抽取关键短语乃至句子,更大颗粒度的文本对用户更加友好。

值得一提的是,这些信息提取算法用到的统计量可以复用到其他任务中,会在相应章节中详细介绍。

4 文本分类与文本聚类

将文本拆分为一系列词语之后,我们还可以在文章级别做一系列分析。

有时我们想知道一段话是褒义还是贬义的,判断一封邮件是否是垃圾邮件,想把许多文档分门别类地整理一下,此时的NLP任务作为 文本分类。

另一些时候,我们只想把相似的文本归档到一起,或者排除重复的文档,而不关心具体类别,此时进行的任务作为 文本聚类。

这两类任务看上去挺相似,其实上分属两种截然不同的算法流派。

5 句法分析

词法分析只能得到零散的词汇信息,计算机不知道词语之间的关系。在一些问答系统中需要得到句子的主谓宾结构。比如"查询刘医生主治的内科病人"这句话,用户真正想要查询的不是"刘医生",也不是"内科",而是"病人"。虽然这三个词语都是名词,甚至"刘医生"离表示意图的动词"查询"最近,但只有"病人"才是"查询"的宾语。通过句法分析,可以得到如图信息:

自然语言处理入门——新手上路

我们发现有根长长的箭头将"查询"与"病人"联系起来,并且注明了他们之间的关系。后续章节会详细介绍上面这种树形结构,以及据法分析器的实现方法。

不仅是问答系统和搜索引擎,句法分析还经常应用于基于短语的机器翻译,给译文的词语重新排列。两者词序不同,但是句法结构一致。

6 语义分析与篇章分析

想较与句法分析,语义分析侧重语义而非语法。它包括 词义消歧(确定一个词在语境中的含义,而不是简单的词性) 、 语义角色标注(标注句子中的谓语与其他成分的关系)仍至语义依存(分析句子中词语之间的语义关系)

随着任务的递进,它们的难度也逐步上升,属于较为高级的课题。即便是最前沿的研究,也尚未达到能够实用的精度程度。另外,相应的研究资源比较稀缺,大众难以获取,所以本书不会涉及。

7 其他高级任务

除了上述"工具类"的任务之外,还有许多综合性的任务,与终端应用级产品联系更密切。比如:

自动问答,根据知识库或文本中的信息直接回答一个问题,比如微软Cortana和苹果的Siri; 自动摘要,为一片长文档自动生成的摘要; 机器翻译,将一句话从一种语言翻译到另一种语言。

注意,一般认为 信息检索(Information Retrieve,IR)是区别于自然语言处理的独立学科。虽然两者有着密切的联系,但IR的目标是查询信息,而NLP的目标是理解语言。此外,IR检索的未必是语言,还可以是以图搜图,听曲搜曲,商品搜索乃至任何信息的搜索。现实中还存在大量不需要理解语言即可完成检索任务的场景,比如SQL中的LIKE。

三、 自然语言处理的流派

上一节比较了自然语言与人工语言的异同,展示了自然语言处理的困难所在,介绍了一些常见的NLP任务。这一节简要介绍进行自然语言处理的几种不同手法。

1 基于规则的专家系统

规则,是指由专家手工指定的确定性流程。小到程序日常使用的正则表达式,大到飞机的自动驾驶仪,都是固定的规则系统。

在自然语言处理的语境下,比较成功的案例有波特词干算法(Porter stemming algorithm),它有马丁—·波特在1980年提出,广泛用于英文词干提取。该算法由多条规则构成,每个规则都是一系列固定的if then条件分支。当词语满足条件则执行固定的工序,输出固定的结果。摘录其中一部分规则为例。

自然语言处理入门——新手上路

他的最大的缺点是难以拓展。

2 基于统计的学习方法

为了降低对专家的依赖,自适应灵活的语言问题,人们使用统计方法让计算机自动学习语言。所谓"统计",指的是在语料库上进行的统计。所谓语料库,指的是人工标注结构化文本。

统计学习方法其实就是机器学习的别称,而机器学习则是当代实现人工智能的主流途径。机器学习在自然语言处理中的重要性非常大,可以说自然语言处理只是机器学习的一种应用。此处我们仅仅用"举例学习"来简单理解,后续章节将浓墨重彩地系统学习。

3 历史

自然语言处理入门——新手上路

4 规则与统计

纯粹的规则系统已经日渐式微,除了一些简单的任务外,专家系统已经落伍了。本书尊重工程实践,以统计为主,规则为辅的方式介绍实用性NLP系统的搭建。

5 传统方法与深度学习

虽然深度学习在机器视觉领域取得了耀眼的成绩,但在自然语言处理领域中的基础任务上发力并不大。这个结论或许有点意外,作为数据数据科学从业者,用数据说明问题最合适。下表收录了《华尔街日报》语料库上的词性标注任务的前沿标准。

自然语言处理入门——新手上路

截止 2015年,除了Bi-LSTM-CRF以外,其他系统都是传统模型,最高准确率为97.36%,而

Bi-LSTM-CRF深度学习模型为97.55%,仅仅提高了0.19%。2016年,传统系统NLP4通过使用额外数据与动态特征提取算法,准确率可以达到97.64%。

类似的情形也在句法分析任务上重演,以斯坦福标准下宾州树库的准确率为例,如表:

自然语言处理入门——新手上路

深度学习涉及大量的矩阵运算,需要特殊硬件(GPU、TPU等)的加速。目前,一台入门级塔式服务器的价格在3000元左右,一台虚拟服务器每月仅需50元左右,但又一块入门级显卡就需5000元 。从性价比来看,反而传统的机器学习方法更适合中小型企业。

此外,从传统方法到深度学习的迁移不能一蹴而就。两者是基础和进阶的关系,许多基础知识和基本概念用传统方法讲解会更简单、易懂,它们也会在深度学习中反复用到(比如CRF与神经网络的结合)。无论是传统模型还是神经网络,它们都属于机器学习的范畴。掌握传统方法,不仅可以解决计算资源受限时的工程问题,还可以为将来挑战深度学习打下坚实的基础。

4 机器学习

前面的小节当中,我们邂逅了一些机器学习的术语。按照递归学习的思路,现在我们来递归了解一下机器学习的基本概念。

机器学习是自然语言处理的基石,一些基本概念依然需要预先掌握。熟练掌握这些术语,还方便我们与其他人流畅交流。

1 什么是机器学习

人工智能领域的先驱Arthur Samuel在1059年给出机器学习定义是:不直接编程却能赋予计算机提高能力的方法。

美国工程院士Tom Mitchel给过一个更明确的定义,机器学习指的是计算机通过某项任务的经验数据提高了在在该任务上的能力。

简而言之,机器学习是让机器学会算法的算法。这个说法有些绕口,不如拿我们熟悉的数据库做类比:数据库中的"元数据"指的是描述数据的数据(表名、字段等)、而其中的一行则是普通数据。类比过来,机器学习算法则可以称作"元算法",它指导机器学习自动学习出另一个算法,这个算法被用来解决实际问题。为了避免混淆,人们通常称被学习的算法为 模型。

2 模型

模型是对现实问题的数学抽象,由一个假设函数以及一系列参数构成。举个简单的例子,我们要预测中国人名对应的性别。假设中国人名由函数f(x)输出的符号确定,负表示女性,非负表示男性。

我们选取的的定义如下:

自然语言处理入门——新手上路

其中, w和b是函数的参数,而x是函数的自变量。那么,模型指的就是包括参数在内的整个函数。不过模型并不过包括具体的自变量x,因为自变量是由用户输入的。自变量x是一个特征向量,用来表示一个对象的特征。

3 特征

特征指的是事物的特点转化的数值,比如牛的特征是4条腿、0双翅膀,而鸟的特征是2条腿、1双翅膀。那么在性别识别问题当中,中国人名的特征是什么呢?

计算机不知道哪部分是性,哪部分是名。姓属于无用的特征,不应被提取。另外,有一些特殊的字(壮、健、强)是男女通用的,而另一些(丽、燕、雪)则是女性常用的,还有一些则是男女通用的。如果有人叫"沈雁冰"怎么办?"雁"听上去像男性,而"冰"听上去像女性,而这个名字是男性用的。看来,每个字与男女相关程度都是不一样的。这个可以通过"优先级"解决,不过这种机械的工作交给机器好了。在机器学习中,"优先级"可以看做权重或模型参数。我们只需要定义一系列特征,让算法根据数据自动决定他们的权重就行了。为了方便计算机处理,我们将他们表示为数值类型的特征,这个过程称为 特征提取。以"沈雁冰"的特征提取为例,如下表:

自然语言处理入门——新手上路

特征的数量是因问题而定的,2个特征显然不足以推断名字的性别,我们可以增加到4个。

自然语言处理入门——新手上路

模型参数的权重向量也是四维的。人名的常用的字数非常多,类似地,我们可以将特征拓展到所有常用汉字。

工程上,我们不需要逐个字地写特征,而是定义一套模板来提取特征。比如姓名为name的话,则定义特征模板为name[1] + name[2]之类,只要我们遍历一些姓名,则name[1] + name[2]可能组合而成的特征就基本覆盖了。这种自动提取特征模型称作 特征模板。

如何挑选特征,如何设计特征模板,这就称作 特征工程。特征越多,参数就越多;参数越多,模型就越复杂。模型的复杂程度应当与数据集匹配,按照递归学习的思路,数据集的概念将在下一节中介绍。

4 数据集

如何让机器自动学习,以得到模型参数呢?首先得有一本习题集。有许多问题无法直接编写算法(规则)解决(比如人名性别识别,我们说不清楚什么样的名字是男性),所以我们准备了大量例子(人名 x 及其对应的性别 y)作为习题集,希望机器自动从习题集中学习中国人名的规律。其中,"例子"一般称作样本。

这本习题集在机器学习领域称作数据集,在自然语言处理领域称作语料库,会在 1.5 节详细介绍。数据集的种类非常多,根据任务的不同而不同。表 1-6 收录了一些常用的数据集。

自然语言处理入门——新手上路 在使用数据集时,我们不光要考虑它的规模、标注质量,还必须考虑它的授权。大部分数据集都不可商用,许多冷门领域的数据集也比较匮乏,此时我们可以考虑自行标注。

5 监督学习

如果这本习题集附带标准答案 y ,则此时的学习算法称作监督学习。监督学习算法让机器先做一遍题,然后与标准答案作比较,最后根据误差纠正模型的错误。大多数情况下,学习一遍误差还不够小,需要反复学习、反复调整。此时的算法是一种迭代式的算法,每一遍学习都称作一次迭代。监督学习在日语中被称作"教師あり学習",意思是"有老师的学习"。通过提供标准答案,人类指出了模型的错误,充当了老师的角色。 自然语言处理入门——新手上路

这种在有标签的数据集上迭代学习的过程称为训练,训练用到的数据集称作训练集。训练的结果是一系列参数(特征权重)或模型。利用模型,我们可以为任意一个姓名计算一个值,如果非负则给出男性的结论,否则给出女性的结论。这个过程称为预测。

总结一下,监督学习的流程如图 :

自然语言处理入门——新手上路

在性别识别的例子中:

非结构化数据是许多个类似"沈雁冰""丁玲"的人名; 经过人工标注后得到含有许多个类似"沈雁冰=男""丁玲=女"样本的标注数据集; 然后通过训练算法得到一个模型; 最后利用这个模型,我们可以预测任何名字(如"陆雪琪")的性别。

待预测的名字不一定出现在数据集中,但只要样本数量充足且男女均衡、特征模板设计得当、算法实现正确,我们依然可以预期一个较高的准确率。

另外,图 1-5 中的标注数据其实也是结构化数据。但由于它含有人工标注的成本,有时被称作"黄金数据"(gold data),与模型预测的、有一定误差的结果还是有很大区别的。

本书将从第 3 章开始详细介绍一些 NLP 中实用的监督学习方法。

6 无监督学习

如果我们只给机器做题,却不告诉它参考答案,机器仍然可以学到知识吗?

可以,此时的学习称作 无监督学习,而不含标准答案的习题集被称作无标注(unlabeled)的数据集。无监督学习在日语中被称作"教師なし学習",意为"没有老师的学习"。没有老师的指导,机器只能说发现样本之间的联系,而无法学习样本与答案之间的关联。

无监督学习一般用于聚类和降维,两者都不需要标注数据。

聚类已经在 1.2 节中介绍过了,我们不再赘述。在性别识别的例子中,如果我们选择将一系列人名聚成 2 个簇的话,"周树人""周立人"很可能在一个簇里面,"陆雪琪"和"曹雪芹" 在另一个簇里面。这是由样本之间的相似性和簇的颗粒度决定的,但我们并不知道哪个簇代表男性哪个簇代表女性,它们也未必能通过肉眼区分。

降维指的是将样本点从高维空间变换到低维空间的过程。机器学习中的高维数据比比皆是,比如在性别识别的例子中,以常用汉字为特征的话,特征数量轻易就突破了 2000。如果样本具有 n 个特征,则样本对应着 n +1 维空间中的一个点,多出来的维度是给假设函数的因变量用的。如果我们想要让这些样本点可视化,则必须将其降维到二维或三维空间。有一些降维算法的中心思想是,降维后尽量不损失信息,或者说让样本在低维空间中每个维度上的方差都尽量大。试想一下这样的极端案例:平地上竖直地插着一些等长的钢管,将这些钢管的顶端降维到二维平面上,就是拔掉钢管后留下来的孔洞。垂直维度上钢管长度都是一样的,没有有用信息,于是被舍弃掉了。

有一些无监督方法也可以用来驱动中文分词、词性标注、句法分析等任务。由于互联网上存储了丰富的非结构化数据,所以无监督学习十分诱人。然而无监督学习时,模型与用户之间没有发生任何信息交换,这种缺乏监督信号的学习导致模型无法捕捉用户的标准,最终预测的结果往往与用户心目中的理想答案相去甚远。目前,无监督学习的 NLP 任务的准确率总比监督学习低十几个到几十个百分点,无法达到生产要求。

本书将在第 10 章详细介绍聚类算法的原理和实现。

7 其他机器学习类算法

如果我们训练多个模型,然后对同一个实例执行预测,会得到多个结果。如果这些结果多数一致,则可以将该实例和结果放到一起作为新的训练样本,用来扩充训练集。这样的算法被称为 半监督学习。由于半监督学习可以综合利用标注数据和丰富的未标注数据,所以正在成为热门的研究课题。

现实世界中的事物之间往往有很长的因果链:我们要正确地执行一系列彼此关联的决策,才能得到最终的成果。这类问题往往需要一边预测,一边根据环境的反馈规划下次决策。这类算法被称为强化学习。强化学习在一些涉及人机交互的问题上成果斐然,比如自动驾驶、电子竞技和问答系统。

本书作为入门读物,不会深入这些前沿课题。但了解这些分支的存在,有助于构建完整的知识体系。

五、语料库

语料库作为自然语言处理领域中的数据集,是我们教机器理解语言不可或缺的习题集。在这一节中,我们来了解一下中文处理中的常见语料库,以及语料库建设的话题。

1 中文分词语料库

中文分词语料库指的是,由人工正确切分后的句子集合。

以著名的 1998 年《人民日报》语料库为例,该语料库由北京大学计算语言学研究所联合富士通研究开发中心有限公司,在人民日报社新闻信息中心的许可下,从 1999 年 4 月起到 2002年 4 月底,共同标注完成。语料规模达到 2600 万汉字,市售为 1998 年上半年的语料部分(约1300 万字=约 730 万词)。

在 2005 年的第二届国际中文分词比赛中,曾经公开过约 1 个月份的语料。其中的一句样例为:

先有通货膨胀干扰,后有通货紧缩叫板。

从这句简单的标注语料中,无须语言学知识,我们也能发现一个问题:为何"通货膨胀"是一个词,而"通货 紧缩"却分为两个词呢?这涉及语料标注规范和标注员内部一致性的问题。我们将在后续章节中详细介绍这些话题,现在只需留个印象:语料规范很难制定,规范很难执行。

事实上,中文分词语料库虽然总量不多,但派别却不少。我们将在第 3 章中了解这些语料的授权、下载与使用。

2 词性标注语料库

它指的是切分并为每个词语指定一个词性的语料。总之,我们要教机器干什么,我们就得给机器示范什么。依然以《人民日报》语料库为例,1998 年的《人民日报》一共含有 43 种词性,这个集合称作词性标注集。这份语料库中的一句样例为:

迈向/v 充满/v 希望/n 的/u 新/a 世纪/n ——/w 一九九八年/t 新年/t 讲话/n (/w 附/v 图片/n 1/m 张/q )/w

这里每个单词后面用斜杠隔开的就是词性标签,关于每种词性的意思将会在第 7 章详细介绍。这句话中值得注意的是,"希望"的词性是"名词"(n)。在另一些句子中,"希望"还可以作为动词。

3 命名实体识别语料库

这种语料库人工标注了文本内部制作者关心的实体名词以及实体类别。比如《人民日报》语料库中一共含有人名、地名和机构名 3 种命名实体:

萨哈夫/nr 说/v ,/w 伊拉克/ns 将/d 同/p [联合国/nt 销毁/v 伊拉克/ns 大规模/b 杀伤性/n 武器/n 特别/a 委员会/n] /nt 继续/v 保持/v 合作/v 。/w

这个句子中的加粗词语分别是人名、地名和机构名。中括号括起来的是复合词,我们可以观察到:有时候机构名和地名复合起来会构成更长的机构名,这种构词法上的嵌套现象增加了命名实体识别的难度。

命名实体类型有什么取决于语料库制作者关心什么。在本书第 8 章中,我们将演示如何标注一份语料库用来实现对战斗机名称的识别。

4 句法分析语料库

汉语中常用的句法分析语料库有 CTB(Chinese Treebank,中文树库),这份语料库的建设工作始于 1998 年,历经宾夕法尼亚大学、科罗拉多大学和布兰迪斯大学的贡献,一直在发布多个改进版本。以 CTB 8.0 版为例,一共含有来自新闻、广播和互联网的 3007 篇文章,共计 71 369个句子、1 620 561 个单词和 2 589 848 个字符。每个句子都经过了分词、词性标注和句法标注。其中一个句子可视化后如图 1-6 所示。 自然语言处理入门——新手上路

图 1-6 中,中文单词上面的英文标签表示词性,而箭头表示有语法联系的两个单词,具体是何种联系由箭头上的标签表示。关于句法分析语料库的可视化和利用,将会在第 12 章中介绍。

5 文本分类语料库

它指的是人工标注了所属分类的文章构成的语料库。相较于上面介绍的 4 种语料库,文本分类语料库的数据量明显要大很多。以著名的搜狗文本分类语料库为例,一共包含汽车、财经、 IT、健康、体育、旅游、教育、招聘、文化、军事 10 个类别,每个类别下含有 8000 篇新闻,每篇新闻大约数百字。

另外,一些新闻网站上的栏目经过了编辑的手工整理,相互之间的区分度较高,也可作为文本分类语料库使用。情感分类语料库则是文本分类语料库的一个子集,无非是类别限定为 "正面""负面"等而已。

如果这些语料库中的类目、规模不满足实际需求,我们还可以按需自行标注。标注的过程实际上就是把许多文档整理后放到不同的文件夹中。

6 语料库建设

语料库建设指的是构建一份语料库的过程,分为规范制定、人员培训与人工标注这 3 个阶段。

规范制定指的是由语言学专家分析并制定一套标注规范,这份规范包括标注集定义、样例和实施方法。在中文分词和词性标注领域,比较著名的规范有北京大学计算语言学研究所发布的《现代汉语语料库加工规范——词语切分与词性标注》和中国国家标准化管理委员会发布的《信息处理用现代汉语词类标记规范》。

人员培训指的是对标注员的培训。由于人力资源的限制,制定规范与执行规范的未必是同一批人。大型语料库往往需要多人协同标注,这些标注员对规范的理解必须达到一致,否则会导致标注员内部冲突,影响语料库的质量。

针对不同类型的任务,人们开发出许多标注软件,其中比较成熟的一款是 brat(brat rapid annotation tool) ①,它支持词性标注、命名实体识别和句法分析等任务。brat 是典型的 B/S 架构,服务端用 Python 编写,客户端运行于浏览器。相较于其他标注软件,brat 最大的亮点是多人协同标注功能。此外,拖曳式的操作体验也为 brat 增色不少。

六、开源工具

目前开源界贡献了许多优秀的 NLP 工具,它们为我们提供了多种选择,比如教学常用的NLTK(Natural Language Toolkit)、斯坦福大学开发的 CoreNLP,以及国内哈工大开发的 LTP (Language Technology Platform)、我开发的 HanLP(Han Language Processing)

1 主流NLP工具比较

选择一个工具包,我们需要考虑的问题有:功能、精度、运行效率、内存效率、可拓展性、商业授权和社区活跃程度。表 比较了 4 款主流的开源 NLP 工具包。

自然语言处理入门——新手上路

关于这些开源工具的发展速度,根据 GitHub 上 Star 数量的趋势,HanLP 是发展最迅猛的,如图 所示。

自然语言处理入门——新手上路

① 关于 HanLP 与 LTP 的具体性能对比,请参考 @zongwu233 的第三方开源评测:https://github.com/zongwu233/ HanLPvsLTP。关于 HanLP 与包括结巴、IK、Stanford、Ansj、word 在内的其他 Java 开源分词器的性能对比,可参考阿里巴巴架构师杨尚川的第三方开源评测:https://github.com/ysc/cws_evaluation。我不保证第三方开源评测的准确与公正,更不采信任何闭源评测。本书将在相关章节中详细介绍如何规范地评估常见 NLP 任务的精度。

另外,我也研究过其他开源项目的原理,借鉴了其中优秀的设计。但毕竟还是自己写的代码讲得最清楚,所以综合以上各种考虑,最后选取了 HanLP 作为本书的实现。

2 python 接口

得益于 Python 简洁的设计,使用这门动态语言调用 HanLP 会省下不少时间。无论用户是否常用 Python,都推荐一试。

HanLP 的 Python 接口由 pyhanlp 包提供,其安装只需一句命令:

$ pip install pyhanlp

这个包依赖 Java 和 JPype。Windows 用户如果遇到如下错误:

building '_jpype' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://visualstudio.microsoft.com/visual-cpp-build-tools/

既可以按提示安装 Visual C++,也可以安装更轻量级的 Miniconda。Miniconda 是 Python 语言的开源发行版,提供更方便的包管理。安装时请勾选如图 所示的两个复选框。

自然语言处理入门——新手上路

然后执行如下命令:

$ conda install -c conda-forge jpype1 $ pip install pyhanlp

如果遇到 Java 相关的问题:

jpype._jvmfinder.JVMNotFoundException: No JVM shared library file (jvm.dll) found. Try setting up the JAVA_HOME environment variable properly. 七 总结

本章给出了人工智能、机器学习与自然语言处理的宏观缩略图与发展时间线。机器学习是人工智能的子集,而自然语言处理则是人工智能与语言学、计算机科学的交集。这个交集虽然小,它的难度却很大。为了实现理解自然语言这个宏伟目标,人们尝试了规则系统,并最终发展到基于大规模语料库的统计学习系统。

在接下来的章节中,就让我们按照这种由易到难的发展规律去解决第一个 NLP 问题——中文分词。我们将先从规则系统入手,介绍一些快而不准的算法,然后逐步进化到更加准确的统计模型。

来源:《自然语言处理入门》

Original: https://blog.csdn.net/qq_42794545/article/details/121243057 Author: 海伦• Title: 自然语言处理入门——新手上路

相关阅读1 Title: 垃圾慧分类微信小程序_基于图像识别、语音识别的垃圾分类小程序 垃圾分类小程序 了解垃圾分类

自然语言处理入门——新手上路

2019年7月1日起上海就要开始正式执行《上海市生活垃圾管理条例》,真的。。。不是开开玩笑随便执行

如果依旧混合投放垃圾,拒不整改个人最高可 罚款200元企业单位最高 罚款5万元。

所以魔都的朋友都开始努力复习垃圾分类

干的东西不一定就是干垃圾 湿的不一定就是湿垃圾 *你以为的可回收物未必就是可回收垃圾

不少人都表示:实在太难了!

自然语言处理入门——新手上路

垃圾分类可是要全国推行的 到2020年底, 先行先试的46个重点城市, 要基本建成垃圾分类处理系统。

除上海外,还有:

北京、天津、重庆、石家庄、邯郸、太原、呼和浩特、沈阳、大连、长春、哈尔滨、南京、苏州,杭州、宁波、合肥、铜陵、福州、厦门、南昌、宜春、郑州、济南、泰安、青岛、武汉、宜昌、长沙、广州、深圳、南宁、海口、成都、广元、德阳、贵阳、昆明、拉萨、日喀则、西安、咸阳、兰州、西宁、银川、乌鲁木齐市。

这简直比高考还难!

难到都不想点外卖喝奶茶了...

于是 这款基于图像识别、语音识别的垃圾分类小程序 就来了~

扔垃圾再也不怕不怕啦!

更多垃圾分类相关参考:https://www.sohu.com/a/325019787_100159440

; 一、垃圾分类问题 1.关于垃圾分类

自然语言处理入门——新手上路

垃圾分类是社会进步和生态文明的标志,是人人均可参与其中来保护环境和改善环境的方式。 我们追求进步,崇尚文明,希望有碧水蓝天净土,共建美好家园。 ; 2.垃圾分类的标准 由于全国垃圾暂时没有统一的标准,开放垃圾分类的城市以自己的规定为准。 像上海,生活垃圾分为 有害垃圾、可回收物、干垃圾、湿垃圾。 像北京,生活垃圾分为 有害垃圾、可回收物、其他垃圾、厨余垃圾。 注意:北京的厨余垃圾就是上海的湿垃圾,北京的其他垃圾是上海的干垃圾,名称不同,实际上的垃圾种类是相通的。 3.基本分类及其定义

上海为例

1、可回收垃圾:玻璃金属蓝桶入,循环利用变宝物。 可回收垃圾即废纸张、废塑料、废玻璃制品、废金属、废织物等适宜回收、可循环利用的生活废弃物。 2、有害垃圾:电池废药有害处,灯管油漆红桶入。 有害垃圾即废电池、废灯管、废药品、废油漆及其容器等对人体健康或者自然环境造成直接或者潜在的危险的生活废弃物。 3、湿垃圾:厨房剩饭瓜果皮,统统转入湿垃圾。 湿垃圾即易腐垃圾,是指食材废料、剩菜剩饭、过期食品、瓜皮果核、花卉绿植、中药药渣等生物质生活废弃物。 4、干垃圾:毛发尿片香烟蒂,无害无用灰桶里。 干垃圾即其他垃圾,是指可回收物、有害垃圾、湿垃圾以外的其他生活废弃物。 4.垃圾分类技巧

上海为例

关于上海垃圾分类流行这样一句话

猪能吃的——湿垃圾(厨余垃圾) 猪都不吃的是——干垃圾(其他垃圾) 猪吃会shi的是——有害垃圾 卖了可以买猪的是——可回收垃圾

需要注意的是

小骨头算湿垃圾,大个的猪骨头牛骨头算干垃圾; 鸡蛋壳算湿垃圾,而坚果壳算干垃圾; 陶瓷碗碟算干垃圾,塑料碗碟算可回收垃圾; 纸杯算干垃圾,纸杯的塑料盖子算可回收垃圾; 奶茶里的珍珠是湿垃圾,奶茶杯算干垃圾,奶茶塑料盖算可回收垃圾。 5.垃圾分类查询网站 功能网站查询:https://www.8684.cn/ljfl 上海市垃圾分类查询:http://www.lsnews.com.cn/py/qg/201907/t20190701_214222.shtml 二、小程序 1.需求

需要一款微信小程序,能够根据所在城市的垃圾分类准则,方便准确的为用户提供 关于垃圾投放 等相关问题。

涉及的功能模块

首页 搜索框直接搜索 图像识别搜索 语音识别搜索 专题 更多 2.开发环境 工具:微信开发者工具 环境:云函数、云数据库、云存储 api:百度Al接口 3.开发过程 3.1位置定位模块 使用微信小程序的qqmap-sdk工具包,创建 utils工具类封装方法 getLocation()获取当前位置。 定位失败、当前城市未开放垃圾分类的情况默认上海。 用户可以点击选择指定的城市,可以一键重新定位当前城市。 不同的城市对应不同的垃圾分类数据信息,数据存储在 云数据库 中。 3.2首页分类图片显示 显示当前定位城市的垃圾分类数据。 进入首页—》根据当前城市查询数据库—》获取 sx_name 即当前城市对应分类图片的缩写—》然后渲染为本地图片。(针对不同城市垃圾分类种类不相同,如上海的 干垃圾即为北京及其他地区的 其他垃圾) 点击分类图片进入该当前分类的详情页,具体展示 分类概述 、投放指南、代表垃圾。(图像识别、语音识别之后得到结果也是跳转这个分类图详情页面) 3.3图像、语音识别实现流程 图像识别:上传图片,获得 tempFilePath—》拿着tempFile获得base64编码—》拿着 base64等参数访问 api—》渲染结果—》拿着结果(多个)请求数据库获取分类信息—》渲染到页面该识别结果的后面显示。 语音识别:上传语音(配置好 recorderManager等录制参数,选在可选 PCM格式)获得 tempFilePath—》拿着tempFilePath获得base64编码—》拿着 base64等参数访问 api—》渲染结果到搜索框----》用户点击搜索框,进行类别匹配(丛云数据库中取数据) 3.3专题 专题是针对于那些常见但是不宜区分、一种物品拆分分类的垃圾。 专题的实现一般不需要频繁变动,因此可以使用静态数据,减轻云函数、云数据库的压力,提高响应速度。

注意

实现并没有直接调用其他的识别接口,那样太简单了,而且一般这种接口需要付费。 语音识别api因为是http,暂时只能pc端、体验版调试 使用,线上环境会出现 '网络错误~'的提示。(现已经解决) 问题

这里不再详细说明,开发中遇到的问题记录在博客( id:xiaosi、),参考

微信小程序云开发问题篇1_使用云数据库查询不出数据解决(字段类型对应、数据库读写权限) https://blog.csdn.net/qq_24654501/article/details/116738426 微信小程序云开发问题篇2_微信小程序调百度图像识别接口问题小计(报错:216101 not enough param 参数不足、上传到云存储图片名称后缀问题、图像base64编码识别) https://blog.csdn.net/qq_24654501/article/details/116765575 微信小程序云开发问题篇3_云数据库导入Excel数据(xls转为json导入之后报错:导入数据库失败, Error: Poll error, 导入数据任务(id:1431654)异常...) https://blog.csdn.net/qq_24654501/article/details/117024250 微信小程序云开发问题篇4_微信云数据库记录内嵌数组查询( 根据数组对象的key 查询一条记录中 符合条件的 {key :xxx, value: xxx}对象,然后将该对象返回) https://blog.csdn.net/qq_24654501/article/details/117037581 微信小程序云开发问题篇5_关于navigateTo()页面跳转的传参问题(中文字符通过eventChannel实现参数传递) https://blog.csdn.net/qq_24654501/article/details/117042626 微信小程序云开发问题篇6_微信小程序从云存储保存图片到本地(关于图片保存授权的问题和一些坑:只弹出一次图片权限确认框、getSetting获取所有权限的判定存在undefined的情况) https://blog.csdn.net/qq_24654501/article/details/117071561 微信小程序云开发问题篇7_微信小程序调百度语音识别接口问题小记(报错1: invalid audio length 、报错2:json param error 、关于json和row两种方式的请求) https://blog.csdn.net/qq_24654501/article/details/117129032 微信小程序云开发问题篇8_语音识别问题:忽略了https校验 https://blog.csdn.net/qq_24654501/article/details/117303342 源码

开发的源代码也上传至GitHub:

https://github.com/GitHubSi/rubbish_group(转发使用请著名作者,有帮助的话请star~谢谢) 4.效果

目前小程序1.0.0版已经发布,可以通过扫描二维码的方式体验

二维码

自然语言处理入门——新手上路

; 基本截图

这是1.0.0版本的截图,后续会改进优化~

自然语言处理入门——新手上路

自然语言处理入门——新手上路

自然语言处理入门——新手上路

自然语言处理入门——新手上路

自然语言处理入门——新手上路

自然语言处理入门——新手上路

自然语言处理入门——新手上路

自然语言处理入门——新手上路

Original: https://blog.csdn.net/qq_24654501/article/details/117262946 Author: scl、 Title: 垃圾慧分类微信小程序_基于图像识别、语音识别的垃圾分类小程序

相关阅读2 Title: CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》 CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》 1、Introduction and Motivating Work 2、Approach * 2.1自然语言监督 2.2.创建一个足够大的数据集 2.3选择一种有效的预训练方法 2.4 Choosing and Scaling a Model 2.5. Training 3. Experiments * 3.1. Zero-Shot Transfer - 3.1.2 USING CLIP FOR ZERO-SHOT TRANSFER 3.1.3. INITIAL COMPARISON TO VISUAL N-GRAMS 3.1.4. PROMPT ENGINEERING AND ENSEMBLING 3.1.5. ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE 3.1.5. ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE 3.2. Representation Learning 3.3. Robustness to Natural Distribution Shift 4. Data Overlap Analysis 5. Conclusion

参考链接: OpenAI CLIP 论文解读.

主题:多模态理解任务 任务:计算图片和文本的相似度 训练:有监督的对比学习

这是openAI今年(2021)的作品,CLIP将图片和文字联系在一起,目标是得到一个能非常好表达图片和文字的模型。

1、Introduction and Motivating Work

自然语言处理入门——新手上路 ①NLP近年来飞速发展。从网络上爬下一些文本形成数据集,一些NLP模型可以直接在这个数据集上预训练,再到其他数据集做任务时,这个模型可以不使用这个数据集的任何数据(zero-shot)进行参数微调而直接做任务。zero-shot transfer就是零样本迁移到下游任务的意思。GPT-3是更通用化的 NLP 模型,也是openAI的作品。 ②计算机视觉,在ImageNet等人工标记的数据集上预训练模型仍然是标准的做法。

"狭窄的视觉概念"是指模型在ImageNet等数据集上训练,只是为了学会区分像"猫"、"狗"这样的类,但不同的猫种类模型是不会区分的,比如"橘猫"和"奶牛猫",即其他的视觉信息没有被充分利用。

作者想:从网络文本中学习的预训练方法能否应用在计算机视觉方面。 ③Visual N-Grams促成CLIP的诞生的最重要的论文。 【Visual N-Grams:用自然语言监督信号来让促成一些现存的CV分类数据集(包含ImageNet数据集)实现zero-shot transfer。】

; 2、Approach

自然语言处理入门——新手上路

标准的图像模型训练一个图像特征提取器和一个线性分类器来预测某些标签,而CLIP联合训练一个图像编码器和一个文本编码器来预测一批(图像、文本)正确配对。

在测试时,把label填到"a photo of {object}"里形成一个句子,这个步骤叫Prompt工程,再把句子输入到文本编码器中。

2.1自然语言监督

①这不是一个新想法,然而用来描述这个领域工作的术语是多样的,并且动机是多样的。有很多人都引入了从有图像配对的文本中学习视觉表示的方法,但它们将其方法分别描述为无监督、自监督、弱监督和有监督。 ②与大多数无监督或自监督的学习方法相比,从自然语言中学习也有一个重要的优势,因为它不仅"只是"学习一种表示,而且还将该表示与语言联系起来,从而实现灵活的zero-shot transfer。

2.2.创建一个足够大的数据集

作者用4亿对来自网络的图文数据集,将文本作为图像标签,进行训练。这个数据集称为WebImageText(WIT)

2.3选择一种有效的预训练方法

自然语言处理入门——新手上路 这是一个简单的有监督的contrastive任务。它将图片分类任务转换为图文匹配任务。 CLIP的模型是比较简单的,它的贡献点在于采用了海量图文对数据和超大batch size进行预训练,并不在于其模型结构。

计算模态之间的cosine similarity,让N个匹配的图文对相似度最大,N2-N不匹配的图文对相似度最小

对角线上都是配对的正样本对,而矩阵的其他元素,则是由同个batch内的图片和不配对的文本(相反亦然)组成的负样本。这种策略可以形成N2-N个负样本。

CLIP的模型结构和正负样本组成策略并不复杂,也即是从batch内部去构成负样本。

还有一些CLIP预训练的小细节,如下图所示。 自然语言处理入门——新手上路 作者不使用表示空间和对比embedding空间之间的非线性投影,因为作者没有注意到这两个版本之间的训练效率的差异,并推测非线性投影只有在自监督表示学习方法中才可能与当前图像的细节共同适应。

; 2.4 Choosing and Scaling a Model

自然语言处理入门——新手上路 首先是模型的选择,见上图的右上角。

the antialiased rect-2 blur pooling的示意图在左下角。第一步为max pooling,这一步操作能够保留平移不变性,第二步为降采样subsampling,这一步操作会破坏平移不变性,然后在两者中间插入一个低通滤波器(二维图像就是卷积运算),这是为了尽最大努力保留平移不变性。

然后是模型的放缩。 自然语言处理入门——新手上路 Image Encoder:使用一个简单的baseline来平均分配额外的算力,以增加模型的宽度、深度和分辨率。 Text Encoder:只缩放模型的宽度,使其与计算出的ResNet宽度的增加成正比,而不缩放深度,因为作者发现CLIP的性能对文本编码器的容量不那么敏感。

2.5. Training

作者训练了5个ResNets和3个 Vision Transformers。

对于ResNets,训练一个ResNet-50,一个ResNet-101,然后再训练模型缩放,使用大约是ResNet-50计算量的4x、16x和64倍。分别记为RN50x4、RN50x16和RN50x64。 对于 Vision Transformers,训练了ViT-B/32(表示patch size为32的ViT-Base模型)、ViT-B/16和ViT-L/14(ViT-Large)。

更可怕的是,作者设置了超大的minibatch.(真是大力出奇迹

We use a very large minibatch size of 32,768.

下图是ViT-B和ViT-L的模型参数设置。 自然语言处理入门——新手上路

; 3. Experiments 3.1. Zero-Shot Transfer 3.1.2 USING CLIP FOR ZERO-SHOT TRANSFER

自然语言处理入门——新手上路

神经网络将图片转换为一个向量表示,向量表示会经过一个线性映射,转换为我们想要的类别数的维度,这个向量表示就变为3维,经过softmax后,转换为概率分布。 W,可以看成是,每个类别对应的向量表示。 线性映射,可以看成是,类别的向量表示与图像的向量表示做一个相似度计算。 将CLIP用在零样本的分类任务中,就是将这里的W,不再让W是可变的参数,而是将对应的列替换成我们需要的类别它对应的文本的向量表示。 CLIP本身就具有比较图像和文本相似度的能力,所以再计算图像的embedding和对应类别文本描述的embedding,它们相似度的时候,自然就把那张图片,对应到与它描述最相似的文本上去。

zero-shot具体操作如下: 自然语言处理入门——新手上路

输入:一张图片 + 所有类别转换的文本(100个类别就是100个文本描述)。 计算图像的特征嵌入和由它们各自的编码器对可能的文本集的特征嵌入。 计算这些嵌入的cosine similarity,用温度参数τ进行缩放,并通过softmax归一化为概率分布。

注意:该预测层是一个多项式logistic回归分类器,具有L2归一化输入、L2归一化权值、no bias和temperature scaling。

; 3.1.3. INITIAL COMPARISON TO VISUAL N-GRAMS

自然语言处理入门——新手上路 visual N-GRAMS是促成CLIP的诞生的最重要的论文。 visual N-GRAMS受n-gram模型的启发。n-gram模型中每一个字节片段称为gram,对所有gram的出现频度进行统计,进行过滤,形成关键gram列表,也就成了文本的向量特征空间 该模型基于这样一种假设:第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。

visual N-GRAMS使用差分版本的Jelinek-Mercer平滑来最大化给定图像的所有文本n-gram的概率。visual N-GRAMS为了进行zero-shot传输,他们首先将每个数据集的类名的文本转换为其n-gram表示,然后根据他们的模型计算其概率,预测得分最高的概率。

从结果可以看出,CLIP在aYahoo、ImageNet、SUN这三个数据集上表现比visual N-GRAMS好得多。

3.1.4. PROMPT ENGINEERING AND ENSEMBLING

自然语言处理入门——新手上路 左图横坐标是算力,纵坐标是平均分数。可以看出算力在75.3时,有prompt工程的分数会比不用prompt的高上近5个百分点。当分数在55%时,不用prompt的模型需要花上近4倍的算力,才能赶上用prompt的效果。

; 3.1.5. ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE

自然语言处理入门——新手上路 另:有人问Kinetics 700,UCF 101数据集是时间序列,怎么做这个分类任务的?老师回答说可能是做了平均处理。

Linear Probe on ResNet50的介绍: 自然语言处理入门——新手上路

3.1.5. ANALYSIS OF ZERO-SHOT CLIP PERFORMANCE

自然语言处理入门——新手上路 自然语言处理入门——新手上路

; 3.2. Representation Learning

可以看出linear probe CLIP很强。但可能是选的数据集有偏向。 自然语言处理入门——新手上路

3.3. Robustness to Natural Distribution Shift

作者比较了zero-shot transfer与现有ImageNet模型在自然分布偏移上的性能。所有的zero-shot CLIP模型都大大提高了有效的鲁棒性,并将ImageNet精度与分布偏移下的精度之间的差距缩小了75%。 自然语言处理入门——新手上路 图13的左图:横纵坐标是ImageNet的偏移。黑色虚线是理想的鲁棒模型,可以看到它经过(65,65)这一点,是线性的、正比例的。而普通的模型做不到这样,画出来的曲线只会在黑色虚线的下面。但可以看出zero-shot CLIP的鲁棒性是比ImageNet的标准训练的模型要好的。

下面是对图13的右图的解释: 自然语言处理入门——新手上路 自然语言处理入门——新手上路

; 4. Data Overlap Analysis

预训练的数据集是否和下游数据集有重叠?如果有重叠,就会导致数据泄露,下游实验的结果就不可信。结果确实是有重叠的,但作者经过分析得出结论:这样的重叠并不会带来明显的准确率提升。 自然语言处理入门——新手上路

5. Conclusion

基于双塔结构的CLIP模型,在数据量足够的情况下,可以在预训练阶段学习到很多通用的视觉语义概念,并且给下游任务提供非常大的帮助。

CLIP模型在预训练过程中学习执行各种各样的任务。 这个任务学习可以通过自然语言提示来利用,以实现零镜头转移到许多现有的数据集。在足够的规模下,这种方法的性能可以与特定于任务的监督模型竞争

Original: https://blog.csdn.net/weixin_44031582/article/details/120469669 Author: 栗子酱15551 Title: CLIP论文笔记--《Learning Transferable Visual Models From Natural Language Supervision》

相关阅读3 Title: 组织创新丨传统企业敏捷变革的组织基础

在传统组织管理中,平衡思维是一个很常见的理念。但当变革来临,组织要求变得更为敏捷时,对平衡的追求就成为最大的障碍。耗散理论与自组织理论告诉我们,系统应该保持开放、保持不平衡、并且持续地从外界输入物质与能量。只有这样,才能在打破旧的平衡基础,在无序中孕育着新的发展机会。

在传统组织管理中,平衡思维是一个很常见的理念。但当变革来临,组织要求变得更为敏捷添加链接描述时,对平衡的追求就成为最大的障碍。耗散理论与自组织理论告诉我们,系统应该保持开放、保持不平衡、并且持续地从外界输入物质与能量。只有这样,才能在打破旧的平衡基础,在无序中孕育着新的发展机会。

1 平衡是组织的核心特征之一,但正面临着挑战

人们对平衡的偏好,首先来自于人类对事物运作规律的一个基本认知。比如说,人们在日常行走中必须要平衡,不然就会摔跤。

对于组织而言,人们天然也会带有这种情结,认为组织必须是平衡的。这种平衡包含:对各组成部分设计的平衡,不会让某个部分过于突出或某个部分过于薄弱;系统的构成与机能运转必须平衡,各个部门会互相支撑且得到合理的制衡;在组织的运行中也会关注平衡,对突发事件保持高度关注和尽力避免不可控事件的发生;在流程的运转中关注平衡,不能出现断裂、跳跃、陌生的新增或丢失等异常现象。

当组织的复杂性不断上升时,管理的复杂程度通常是指数级扩大的,这也往往意味着不可控因素的相应增加。作为管理者来讲,更愿意看到的一定是企业得到稳健的经营,而非让企业去面临不可预知的风险。

不过我们需要关注的一个问题是,当组织高度关注平衡时,究竟会带来什么?

按照热力学第二定律,所有封闭系统的最终结果一定是平衡。想象一下,在一个现代的超级复杂的组织中,每一个组织中的格子都在对它身边的格子给出一个力,这个力在组织中以网络状传导,层层放大或减弱,但在错综复杂的相互作用力之下,最终会归寂为零,就是因为系统有一个自动趋稳的趋势。这就是当今讨论十分热闹的熵增概念,如果一个系统不施加外力,或无法从内部产生迭代和创新的力量,那么这个系统将走向死亡。没错,平衡的最终结果就是走向死亡。

2 平衡的组织能够从内部突破,实现 敏捷 与创新吗?

前不久经历的一个咨询项目,为我们提供了一个很好的分析传统企业在向创新型组织变革时所碰到的挑战的视角。

这家业务发展良好的行业头部公司正在大胆尝试创新业务,将其传统业务向线上模式进行转型,正好符合了现在的数字化变革的大趋势。这家公司从内部精心挑选了一批业绩优秀的年轻管理者作为创新业务的负责人。这部分人符合绝大多数人心目中做新业务的理想标准:

● 从一线业务中拼杀出来,业绩优秀、作风硬朗、团队服气、组织内部的威望度高;

● 企业自己培养出来的青年军,文化价值观一致,忠诚度无忧;

● 每个人都对老板表态了,保证完成任务!

一段时间后呢?结果并不理想,新业务几乎未见进展,董事长开始变得有些犹豫,他在考虑,是否需要引进外部人员才能推动创新业务的发展?

上述案例作为众多尝试创新业务的企业的一个相当具有普遍性的代表,值得做一个深度分析,看看为什么内部创新的失败率会如此之高?

第一个视角,一个典型的已臻于平衡的系统是如何本能排斥和扼杀创新的。

这家公司在行业内作为领军企业已经存在10多年,换句话说,公司已经早早地进入到一个"高度平衡和稳定的系统状态"。在这种系统状态下,各业务单元(主要是成熟业务)和各职能部门已经充分磨合,在一个充分设计和优化后的传动系统中顺畅地工作,每个部门都很清楚地知道自己的责任与权力,在什么样的流程环节中发挥什么样的作用。在这种系统环境下,一个创新业务进来,这是一个从未见过的新情况,系统会本能地排斥,因为这会影响系统的平衡性与稳定性。

当创新业务发出一个资源需求的诉求时,按平衡系统的反馈机制而言,它必然是拒绝的,因为一个未经定义的传导力进来,一定会打破现有系统的平衡。这不是简单地责备当前管理者是否愿意承担责任的问题,因为作为庞大组织系统的一份子,他需要考虑的是整个系统的正常运转(多年来他被训练要求这样),这被称为一名优秀管理者必备的基本素质之一。我们可以将此称为系统的排异机制,在一个管理优秀的企业中,这种排异机制往往是被大家赞赏的,可是,当系统进化为能够自动排异时,会将异常的所有新变化通通扼杀掉。这就是当系统过于趋向于平衡时所带来的代价。

第二个视角:在组织内部提拔年轻干部是否是一个错误的决定?是否空降外部高管来负责创新业务更合适?

本质上,这是一个关于什么样的能力素质才能够帮助一名管理者在传统业务体系中担任一名创新业务负责人的问题。换言之,传统管理环境中培养起来的管理者,能否胜任创新业务的带头人这一角色?

一般来讲,传统业务的绩效关键驱动因素可以划分为产品领先、客户满意和运营优良这三个关键价值领域,企业需要在这三个方向上的至少一个取得领先优势。管理者需要扮演的角色是实现企业在这三个方向上的超越,这就意味着战略规划能力、客户类型分析与客户画像的能力、强大的成本控制与运营能力等,会成为传统管理场景下至关重要的能力要求。

但我们需要注意到,如果切换到创新业务,因为新业务通常处于不确定性环境下,这些能力就会变得通通不适用。与此相对应的,新业务环境下所要求的新的组织能力可能正好是你以前所敌视或鄙弃的,比如灵活决策而非方法论导向、小步迭代而非严谨的计划与执行、无中心无边界的组织模式而非遵照标准化结构与流程等。

3 零和思维下的效率悖论

在世界范围来看,主导现代企业经营的最核心的东西,是效率思维。无论中外,包括股东、投资者、经济学家和学者、董事会高管层,都会同意衡量一个企业经营状况最重要的指标就是资产回报率和投资回报率,以及在此之下的各类变种指标诸如ROE(净资产回报率)、ROIC(投入资本回报率)、ROCE(使用资本回报率)、EBITDA(息税折旧摊销前利润)等。所有这些指标都是用来衡量企业经营效率的。

效率思维的核心内涵是在既定成本投入下的回报最大化,这就产生了经营者的两个核心管理动机,一个是做大规模以获得更大的营收基本盘并得以摊薄成本,二是持续优化和降低运营成本。这能够回答为什么几乎所有的企业都在追求进入世界五百强。

组织管理学家琳达·J·霍尔比奇曾经说过"规模越大的组织,必然带来越大的内耗"。这几乎是一个无可避免的规律,尤其是对于依照现代管理思想组建起来的大型企业来说更是如此。这在某种程度上可以回答关于组织内合力为零的疑问。

对于一个组织系统而言,维持稳定性是一种本能的追求。为了便于观察和判断系统是否稳定,人们引入了反馈回路来解决如何确认目标状态和结果状态一致性的问题。玛格丽特·惠特利提出了正、负反馈的组织调解机制的概念。当系统的运转偏离了预定轨道,但依然处于可预测范围之内时,比如说管理者对员工个人的绩效进行评估,这个机制会给出一个评价和提醒,督促管理者对偏离事物进行纠偏,以使之回到正确轨道上来。纠偏属于一种典型的负反馈。

客观地讲,纠偏所代表的负反馈对于保证组织的正常运作是非常有帮助的。问题在于,当下的组织把绝大部分注意力都放在了负反馈上,这会降低我们对新事物的敏感性。当突发事故来临时,系统将缺乏应对手段。

4 耗散理论与 自组织理论 带来的启发

诺贝尔化学奖获得者,耗散理论的提出人伊利亚·普利高津指出,不平衡是系统成长的必要条件。对这句话的解读有三层含义。

第一层含义,系统应是追求成长的。所有不再成长的系统,因为热力学第二定律,无序将不断增加,系统终将归于寂灭。

第二层含义,系统为了抵抗熵增,需要通过不断建立秩序来做减熵行为,随着秩序的完善,系统将逐渐趋向于平衡。

第三层含义,平衡的不断增加通常意味着零和局面的形成,如果系统不能引入新的力量,必然会重新面对熵增的发展规律。为了抵抗这一趋势,系统就需要打破原有的平衡。

以上是一个不断循环、重复发生的过程,系统的发展也是在不断重复这个循环——打破原来的平衡、重建、获得成长、再次打破平衡。事实上,以上也是对耗散理论的核心理解。

耗散理论解决了人们长期以来的一个困惑,也为组织的持续发展开拓了全新的视野,人们认识到无序可以成为新秩序的源头,成长往往源于不均衡,而非平衡。

在组织管理中,我们曾经无比担心并极力避免的诸多事情,比如突发纠纷、局部失常、重大职能的功能性失灵、大型的组织混乱等等,无需再将它们看做灾难性事件和完全的消极性因素。与此相反,这类事件有可能为企业带来新的机会,激发变化的契机和创造性。这是一种"变化催生秩序"的思维,它能够为组织带来持续的活力。

在耗散理论中,"变化"与"秩序"之间是一种很奇特的矛盾与因果关系的统一体。"变化"是引发无序的开始,在新秩序尚未建立之前,变化带来的是混乱,这也是为什么大多数情况下人们会抗拒变化的原因之所在,从这个角度看,"变化"与"秩序"之间是对立的矛盾关系。但同时,"变化"带来的无序意味着消除了旧秩序的束缚与障碍,为新秩序的建立起到了很好的推动作用。事实上,只有当系统能够不断地发起变化,才能防止自身被熵增定律绑架,完成系统自身的进化,不断进入到更高层级的新秩序中去。没有了"变化",也就没有了新的"秩序"的达成,它是一个因果关系。

只有将这两者紧密结合在一起来看,才能树立起一个正确的组织管理观念:不能单纯地追求组织的平衡性,一味地平衡,会将整个组织拖入一个死气沉沉的零和状态,最终消亡;组织长期习惯和依赖的平衡性会形成一种排异机制,主动扼杀掉绝大部分的变化和创新机会;重新认识"无序"的价值,在无序中孕育着新机会。

原文链接:组织创新丨传统企业敏捷变革的组织基础

延伸阅读: 今日创见|2022的企业内部创业者的必读书荐

渠道创新|如何以线下门店运营创新,解汽车经销行业之困

阿里业务中台到底是什么样子

创新战略丨大企业如何通过创新突破边界,创造第二增长曲线?

专家见解丨DTC品牌生存发展的3个关键

专家建议|创造价值增长的10条实证策略

麦肯锡:制造业数字化发展"三步走"战略

企业为什么难创新?5个常见的创新障碍

华为发布《智能世界2030》报告:多维探索未来十年趋势

HBR推荐|迎战未来必知的10大管理创新趋势

300+精品课程,为你的求职、学习持续赋能。

热门课程推荐: 【设计思维】 【精益创新】 【增长黑客】【设计冲刺】

更多精彩案例与方案可以访问Runwise创新社区。我们为你准备了4大精选内容: 1.前瞻方案研究 2. 最新实践案例 3. 科学思维方法 4. 创新技术工具

Original: https://www.cnblogs.com/runwisedigital/p/16683294.html Author: Runwise创新咨询 Title: 组织创新丨传统企业敏捷变革的组织基础



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3