APP下载

基于偏旁部首知识表示学习的汉字字形相似度计算方法

2022-01-20刘梦迪

中文信息学报 2021年12期
关键词:偏旁部首三元组部件

刘梦迪,梁 循

(中国人民大学 信息学院,北京 100872)

0 引言

中国汉字拥有较多的形似字,形似字的存在给人们识别和书写汉字造成一定困难。论其形成的原因,则在于汉字的基本构成单元——笔画。基本笔画有横、竖、撇、点、捺等几种,少有的几种笔画组合形成了数以万计的汉字,尽管字与字在形体上有所差异,但由于笔画有限,因而必然会造成一批外形相似的汉字[1]。差之毫厘,失之千里,汉字的细微差别可以造成意义上的千差万别。因此,汉字形似字的识别与推理,是解决中文信息处理领域许多其他问题的前提。汉字的形体结构可以分为整字、部件、笔画三个层次。部件既属于汉字的一部分,也有较强的特殊性,具有相同部件的汉字相似性较高。进一步地,部件可以拆分为笔画,这些笔画的排列组合是部件相似性的关键根源,进而为汉字的整体相似起到关键作用。所以,汉字的部件,部件的笔画,均为形似字研究的关键。

知识图谱由Google提出,是一种揭示实体之间关系的语义网络,可以对现实世界的事物及其相互关系进行形式化的描述[2]。(实体1,关系,实体2)的三元组形式是知识图谱的基本组成单位,实体之间通过关系建立联系,进而构成网状的知识结构。知识图谱具有十分广泛的应用价值,特别是如何利用已有的语义网络推断出未知知识(1)主要包括实体预测和关系预测。,是学术界长期以来的研究热点。

知识图谱的图结构很适合表示汉字及其组成部件的关系,因此本文构建了偏旁部首知识图谱,将汉字及其组成部件的关系以三元组的形式表示。随后提出了一种基于知识图谱表示学习的汉字相似度计算方法。具体来说,我们首先从汉字构成的角度分析汉字的组成,并根据制定的多项规则将组成部件的重要性加以归类,之后依据应用的实际情况对TransE[3]模型进行了改进,提出了2CTransE模型。最后将得到的实体向量进行距离计算以发现相似度高的汉字,并针对形似字候选集展开讨论。

1 相关工作

1.1 形似字的识别

针对形似字的识别,栗青生等[4]利用将汉字笔画抽象为有向图的方法,实现了对汉字字形结构的动态描述,建立了动态汉字字形描述库。胡浩等[5]结合了汉字的构词和拼音属性,将其表示为空间向量形式,之后使用卷积神经网络进行语义提取并进行相似性计算,取得了较好的效果。宋柔等[6]从字形结构描述的角度出发,将汉字分为独体字和复合字,并给出了一种基于结构描述的字形相似度计算算法。刘波等[7]将改进的图片匹配算法引入到汉字识别中,然而算法识别率不高且模板库汉字数量较小。

现有的形似字研究多从组合结构和笔画入手分析汉字部件,之后通过多种方法来计算汉字相似度。然而,目前没有较为完整的汉字部件库,使得判定形似字时存在一定困难。为了解决这一问题,本文制定汉字拆分规则及主次要部件划分规则,人工筛选汉字及其组成部件,构建了3 500个常用汉字的部件组成库。

1.2 知识表示学习

近年来,大规模知识库的构建取得了长足发展,如WordNet语言知识库[8]、Freebase世界知识库[9]以及开放域中文知识图谱《大词林》等。虽然前两者涵盖了数十亿个实体和关系,但它们仍然相当稀疏,这就为实体语义相关性评估带来了巨大的计算挑战。表示学习技术为解决该问题提供了新方法。其通过机器学习或其他方法将对象的语义信息表示为密集的低维实值向量,这些向量以灵活的方式表达了实体和关系的语义特征,并使得实体间的语义相关性变得可计算。

知识表示学习的代表模型包括距离模型[10]、单层神经网络模型[11]、神经张量模型[11]等。距离模型(Structured Embedding,SE)为每个关系学习头实体和尾实体的两个独立矩阵,因此协同性较差;为了缓解SE模型的问题,Richard等人提出了单层神经网络模型(Single Layer Model,SLM),但由于其非线性只能隐式地捕捉实体与关系之间的相互作用,甚至导致难以优化,因此在大规模知识图谱的应用中仍存在问题;神经张量模型(Neural Tensor Network,NTN)中的张量运算可以更加明确地描述实体与关系之间的综合语义关系,但其高度复杂性可能会限制其在大规模知识图谱中的应用。受到平移不变思想的启发,Bordes等[3]提出TransE模型,它是用于学习实体的低维嵌入的基于能量的模型。与传统的知识表示模型相比,TransE模型能够以较少的模型参数和较低的计算复杂度来描述实体间复杂的语义关系。由于该模型的简单性和有效性,不少学者对其进行了进一步的拓展与应用。

对于汉字的知识表示问题,研究人员利用中文内部的形态语义来增强单词嵌入。如Li等[12]使用部首来增强汉字嵌入。Chen等[13]提出了通过利用字符级信息来提高中文单词嵌入质量的CWE模型。另有学者提出基于像素的GWE模型[14],从字体图像中学习字符特征以增强单词的表示。Cao等[15]提出的Cw2Vec模型,则利用笔画级别的信息来进一步改善中文单词嵌入的学习。

近些年来,汉字在国内外研究中得到了愈发广泛的关注,如何将其更好地表示为计算机可以识别和计算的方式,也具有重要的研究意义。本文创新性地构建汉字拆分层面的知识图谱,并将知识图谱的表示学习方法应用到汉字嵌入中,为相似字的识别和推理提供新思路。该方法与计算机视觉和模式识别等传统方式相比,算法复杂度更低,计算速度更快。

本文的组织结构如下: 引言介绍形似字的研究背景,及知识图谱的相关知识;第1节介绍形似字和知识表示学习的研究现状和局限性,及本文提出的解决方案;第2节介绍汉字集合的相关定义和偏旁部首知识图谱的构建、表示学习的创新性应用和向量计算方法;第3节介绍汉字部件组成库构建规则,并将筛选后的汉字数据集映射到向量空间中,之后进行实体相似度的计算;最后一节总结全文并提出展望。

2 形似字推理方法

2.1 相关定义

2.1.1 汉字集合的基本定义

集合是数学中的一个基本概念,是指具有某种特定性质的具体或抽象的对象汇总而成的集体。

部件是现代汉字字形中具有独立组字能力的构字单位,它大于或等于笔画,小于或等于整字[16]。该级别作为汉字的重要组成部分,特殊性强,故本文选择部件作为汉字集合定义的最小细粒度。

为了深层次分析汉字内部结构与关系,从汉字组成部件的角度出发,构建汉字集合的表示方法。

(1) 集合的性质

数学集合按照元素的有限与否进行分类,而汉字集合的元素都是固定的,因此均为有限集。汉字集合遵循数学集合的两个基本特性: 首先,给定一个汉字,任意给定一个组成部件,该部件与汉字的关系只可能有两种——属于该汉字或不属于该汉字,并只居其一,称为确定性。其次,汉字的组成部件可能有重复,但在使用集合表示时,每个部件在集合中只出现一次,称为互异性。从其特殊性出发,本文又提出了汉字集合的一个特质: 汉字的组成部件按照书写的笔画顺序,在集合中是分先后的,即有序性特质。

(2) 集合的表示

集合主要通过列举法进行表示,即将部件一一列举出来。在表示时须根据有序性特质,如仁={亻,二},“亻”和“二”是“仁”的元素。

(3) 集合与元素的关系

每一个汉字集合的组成元素可以分为主要元素和次要元素,界定集合与元素的关系时将凸显这一关键属性,本文给出以下定义。

定义1: 元素a在集合A里,即该元素属于该集合,表示为“a∈A”,如“二∈仁”;元素a不在集合A里,即该元素不属于该集合,表示为“a∉A”,如“氵∉仁”。

(4) 元素与元素的关系

已有学者提出[17],汉字的组成部件之间存在渊源关系和形体关系。具体地说,就是部件之间存在变体关系和形似关系。如根据字源,将“爪、爫”归为一组;根据意义之间的关系,将“水、永、氵、冫”归为一组;根据形似关系,将“宀、冖”归为一组。本文只考虑元素间的形似关系,提出定义3。

定义3: 如果元素a和元素b字形相似,则这两个元素形似,记作a≡b。如“氵≡冫、宀≡冖、礻≡衤”等。

(5) 集合间的基本关系

由于所含元素之间的不同关系,数学集合之间存在着多样的复杂关系。根据汉字集合的特殊性,本文对集合间的基本关系提出如下定义。

定义4(子集): 如果汉字A的组成部件包含可继续拆分的汉字B,则B称为A的子集,记作B⊆A。如博={十,尃},“尃”为“博”的子集,即“尃”包含于“博”(“博”包含“尃”),记作“尃⊆博”。进一步地,“尃”为“博”的最大子集,而“甫”和“寸”不是“博”的最大子集。后文所提及的子集均默认是最大子集。

冷={冫,令}⟹冰∩冷={冫}。

定义8(并集): 如果将汉字A(或元素a)与汉字B(或元素b)合并在一起,能够构成新汉字,那么A(或a)与B(或b)存在并集,记作A(或a)∪B(或b)。如“春∪虫”为真命题,“春∪亻”为假命题。

定义9(差集、补集): 假设有集合A和B,所有属于B且不属于A的元素的集合被称为B与A的差集。即B-A={x|x∈B且x∉A}。如“法-没=去”、“候-侯={丨}”等。其中,由于“法”中不包含“没”,所以不存在补集,但“候”包含“侯”,所以“侯”关于“候”的补集为{丨}。

定义10(相似): 如果汉字A与汉字B存在交集,即A∩B≠∅,那么汉字A与汉字B相似,记作A∽B。

2.1.2 其他定义

汉字及其部件可以进一步地深入拆分为汉字字形的最小连笔单位,即笔画。由此,本文提出以下定义。

定义11(复杂度): 将汉字A(或元素a)的笔画数定义为它的复杂度。

本文中,复杂度表示为O(A)或O(a),如O(法)=8。

复杂度存在如下性质:

① 可比性汉字(或元素)之间的复杂度是可以比较大小的,如O(法)>O(没)。

② 算术性汉字(或元素)之间的复杂度可以相减,以表示两个汉字(或元素)之间的复杂度差异大小,差的大小与复杂度差异成正比,如O(法)-O(没)=1。

定义12(中介字): 汉字的子集可以进一步拆分,因此又称为中介字。特别地,当该汉字可以进一步拆分,但其并不是独立汉字,而是偏旁部首时,它不称为中介字。如春∈蠢,春={,日},因此春为中介字;彳∈行,彳={丿,亻},“彳”为常见的偏旁部首,不属于中介字。

2.2 基于知识图谱的形似字计算

2.2.1 汉字知识表示学习模型: 2CTransE

TransE模型的核心思想是基于实体和关系的分布式向量表示,将实体间关系r的向量r看作是头实体h的向量h和尾实体t的向量t之间的平移,即将实体间的关系视为两个实体之间的翻译,因此也称为翻译模型。当(h,r,t)成立时,TransE希望在向量空间中t是h+r的最近邻,同时h+r应远离除t之外的向量。该模型使用d(h+r,t)表示向量h+r与t之间的距离,使用L1范式或L2范式来计算距离。模型采用最大间隔方法以增强知识表示的区分能力,代价函数如式(1)所示。

(1)

其中,S是正确三元组集合,S′为错误三元组集合,γ为正误三元组得分之间的间隔距离,γ大于0,[x]+表示正值函数,即当x>0时,[x]+=x;当x≤0时,[x]+=0。

模型中所需要的错误三元组由式(2)构造。其中,E表示的是实体的集合。TransE将正确三元组集合S中的每个三元组的头实体或尾实体两者其一随机替换为其他实体,得到S′如式(2)所示。

(2)

实体和关系的向量表示是按照随机过程进行初始化的,训练的过程就是不断减小d(h+r,t)的过程,同时使其小于所对应的错误三元组的距离d(h′+r,t′)。

由式(2)可以发现,TransE在构造错误三元组时没有替换关系,这可能是因为传统知识库中的关系为关系类型,它的数量有限且彼此间差别显著,因此在构造错误三元组时替换关系的必要性不强。但是对于偏旁部首知识图谱而言,汉字组成的主次之分非常关键,汉字主要组成部分的相似与汉字次要组成部分的相似相比,前者对汉字整体的相似影响更大。因而在偏旁部首知识图谱的研究中,关系对于训练过程的影响不容忽视。

因此,本文修改了TransE模型构造错误三元组的方式,将正确三元组集合中的每个三元组的头实体或尾实体或关系三者其一随机替换为其他实体或关系。修改后的模型称为2CTransE(Chinese Character Translating Embedding,2CTransE)。构造S′的方式如式(3)所示。

S′(h,r,t)={(h′,r,t)|h′∈E}∪

{(h,r,t′)|t′∈E}∪{(h,r′,t)|r′∈R}

(3)

其中,E表示的是实体的集合,R代表关系的集合。

2.2.2 偏旁部首知识图谱的构建与嵌入

偏旁部首知识图谱是以偏旁部首为基础的、揭示汉字与汉字之间内在关系的语义网络。具体来说,该知识图谱的实体包括常用字、汉字拆分后的偏旁部首及其他组成部件,实体间的关系包括汉字(或汉字部件)与其组成部分的“主要组成”和“次要组成”关系,是一个综合型的复杂知识图谱。三元组是该知识图谱的主要组成部分。形似字的推理,主要从汉字集合之间的交集(特别是主交集)入手,从细粒度层次为汉字相似提供支持。

之后,本文使用2CTransE模型将汉字实体嵌入在向量空间中,得到的向量表示令汉字之间的距离变得可以计算。当给出某个具体的关键字时,与之相似度较高的汉字则会被判定为关键字的相似字。

综上,本文将主要实现偏旁部首知识图谱的关系预测任务,通过汉字集合组成部件(子集、元素)的共有性和相似性来推理出两个汉字之间的相似性。如图1所示,通过“循”和“偱”两字的部件关系,推理出两字隐含的“相似”关系。

图1 相似字推理示意图

2.2.3 实体相似度计算方法

基于TransE及其改进的2CTransE模型,我们得到了汉字实体和关系在n维空间的映射,为相似字的计算和推理提供了定量数据。

为了准确描述实体之间的相似性,本文选择了余弦相似度、皮尔逊相似度、欧氏距离、曼哈顿距离、切比雪夫距离等常用的相似性度量方法。其中,本文训练所得向量的各个维度的取值范围无明显差异,因此受闵可夫斯基距离(欧氏距离、曼哈顿距离、切比雪夫距离)的局限性限制较小。

3 实验与分析

3.1 实验数据

《现代汉语常用字表》内收录3 500字,分为2 500个常用字和1 000个次常用字两部分,这些汉字在多数语料库中的覆盖率可达到99.48%,这意味着掌握汉语常用字和次常用字就已经达到了使用中文的基本要求。因此,本文使用爬虫脚本从开放词典网中的拆字词典中获得了这些汉字的主要成分和部首信息,总计3 500条数据。此处形成的数据集称为初始数据集(Original Dataset,OD)。获取的多数汉字均存在多个拆分方式,部分实例如表1所示。

表1 汉字的多个拆分方式

3.1.1 汉字拆分规划

为了筛选出合理的汉字拆分方式,本文制定了5项规则。

(1)选取“部首”的拆分方式: 当多种拆分中存在“部首及剩余部分”的方式时,优先选取。例如,“冒”字存在以下拆分方式: {冃,目}、{冂,二,目}、{曰,目}、{日,目},根据该规则选取含有部首“冂”的方式{冂,二,目}。

(2)选取“含有最大子集”的拆分方式(含有部首): 为了实现具“有关系的实体相似度更高”而制定这一规则。例如,“博”字存在以下拆分方式: {十,尃}、{十,甫,寸},根据该规则选择{十,尃}。由此一来,“傅”与“博”通过“尃”建立联系,具有极高的相似性。

(3)选取“含有最大子集”的拆分方式(不含有部首): 例如“候”的部首为“亻”,拆分方式有: {亻,丨,乛,一,矢}、{侯,丨},根据该规则选择{侯,丨},即使该方式中不含“候”的偏旁部首,但最终会通过“侯”与“亻”间接建立联系。

(4)选取“部首字形”的拆分方式: 在获取的数据中,部分汉字的拆分方式使用了偏旁部首的通俗写法,而本文中将统一选取“部首字形”的书写方式。例如,从“杰”字的拆分方式{木,火}、{木,灬}中选取{木,灬}。

(5)“相同组成部件”单一化: 当汉字中有相同的组成部件时,只保留其一。例如,“咒”的“口、口、几”,单一化为{口,几}。

通过以上规则将OD进行人工过滤后,得到的数据集命名为过滤后的数据集(Filtered Dataset,FD)。

3.1.2 汉字可组成部件主次关系规则

为了区分汉字与组成部件(子集、元素)的主次要关系,本文制定了5项规则。

(2) “特殊部件”主要组成关系: 有些部件虽然复杂度不高,但是这类部件字形特别,并且作为汉字的组成部件多出现在同一结构位上,比其他部件异他性强、排他性高,称为特殊部件。这类部件的相同或相似将会为汉字相似带来更多的可能性,除这类部件之外的部件即为次要部件。这部分主要通过人工筛选和对比来确定。本文将特殊部件细分为两种类型。

表2 单一式特殊部件示例

表3 复合式特殊部件示例

(5)“重要性均等”主要组成关系: 对于不同组成部件对汉字重要性差别不大的汉字,不再对其关系进行区分,均划分为主要组成关系。该规则在以下情况中存在较多: 组成部件均为成字部件时,如尘={小,土},醇={酉,享};汉字结构简单、组成部件多且是成字部件的比例极低,如垂={丿,土,二,丨};结构简单,并多为中介字,如乎={丿,丷,一,亅},同={冂,一,口},仑={人,匕}。

根据以上规则将FD的汉字主次要关系进行鉴别后,得到选择后的数据集(Selected Dataset,SD)。

前文尽可能保留较为完整的汉字拆分方式,以期汉字间具有更高的相似度。事实上,不少部件之间也存在联系,但由于本文的数据集为常用字,这些部件可能并不在其中,如戉、酉、乑、豕等字。为了更深层次地在部件之间建立起联系,我们先对SD数据集中尾实体的拆分方式是否已经存在进行核对,如果不存在则将其进行再分解。为了保证进一步操作后的数据有效性,本文构建了最小拆分字表(见表4),设定了拆分的最小细粒度,包括常见的偏旁部首“丷”“癶”等,以及无法再进一步拆分“丶”“丿”等笔画。

表4 最小拆分字表

至此,数据集准备完毕,共包含三元组8 054组、实体3 755个、关系2组。

3.2 实验过程及分析

3.2.1 偏旁部首知识图谱构建

Neo4j是基于Java的NoSQL图形数据库,其能够完美地对知识图谱的实体和关系进行映射,且对于高连接关系的数据具有良好性能。Jouili等[18]认为,Neo4j在查询和存储等方面的性能均优于其他数据库,在业界得到广泛应用。因此,本文选用Neo4j作为存储偏旁部首知识图谱的数据库。节点(nodes)和边(edges)是Neo4j的两种基本数据类型,其中,节点表示的是知识图谱中的实体,边表示知识图谱中实体间的关系。

对于偏旁部首知识图谱而言,本文设置了三种类型的节点,分别是汉字(cha)、中介字(media_cha)和其他部件(sub_char);以及两种类型的边,分别为主要组成关系(main_consistof)和次要组成关系(sub_consistof)。

通过以上的方法,我们将实体和关系等一系列知识存储到Neo4j中。相关数量统计表如表5所示。

表5 实体及关系统计表

以“漠”字为例进行检索,所得知识图谱如图2所示(2)为了区分不同实体和关系,汉字、中介字、其他部件等实体以及主要组成等关系,分别用不同颜色表示(此处受印刷条件限制,仅展现单色)。。其中,“莫”为主要子集、“氵”为次要子集,与“莫”和“氵”相连的实体均为与“漠”存在交集的汉字。另外,“莫”作为中介字,可以进一步拆分为“艹”“日”“大”。统计显示,与“漠”直接或间接建立关系的字达116字,因为交集而建立关系的汉字实体有111个。

图2 局部知识图谱示例

3.2.2 基于知识图谱的汉字向量化表示

为了使模型在偏旁部首知识图谱中具有更好的表现,本文测试了不同参数下的模型性能。学习率r在{0.1,0.01,0.001}中选择,实体和关系的嵌入维度d在{50,100,200,500}中选择,间隔距离γ在{0.5,1,2,4}中选择,单批量数据大小B在{10,100,500,1000}中选择。在每种组合配置中做了多次试验,迭代次数均为3 000,之后将实验结果取平均值。

对于实验结果的评价,考虑到数据集的特殊性,本文没有采用翻译模型的传统评价指标(MeanRank和Hit@10),而是以目标导向的方式,计算目标汉字与所有汉字的相似度(本节取余弦相似度),并取排序前7名的汉字作为目标汉字的形似字候选集,之后通过人为认知对结果进行分析。结果优劣的判定标准主要包括: 所得候选集汉字与目标汉字结构是否相近、是否存在主交集或主子集形似度高低、余弦值相对大小等。

学习率r的比较如图3所示。“氯”是半包围结构,与其拥有主交集“气”的汉字相似度更高。当r为0.001时,排名前3汉字(氧、氨、氮)满足条件,且“氛”“氢”居于第5和第6,相较其他r而言表现得更好;对于上下结构的“寒”字,当汉字间的主交集为复合式特殊部件{宀,井,大}时,形似字的可能性更高。当r为0.001时,“塞”“赛”符合要求;同理,在该取值下,“缴”和“激”为“邀”最形似的汉字,数据集中含“敫”的汉字全部得到体现,显示了2CTransE算法在汉字知识图谱表示学习应用中的有效性。

图3 学习率比较

嵌入维度d的比较如图4所示。“拨”为左右结构,当d=100时,所得结果多为同结构,“拔”与其存在次交集且主子集仅一画之差,而“泼”与其存在主交集;对于“诗”字而言,当d为100时,存在主交集“寺”的汉字相较于其他维度的汉字更多,且余弦值更高;“摩”字是半包围结构,当d=100时,排名前2的汉字均含有单一式特殊部件“麻”。因此,本文认为d=100时,较好地表达了知识图谱的语义信息。

图4 嵌入维度比较

间隔距离的比较如图5所示。对于“疑”,当γ=1时,最相似汉字为“凝”,目标汉字与该汉字的差集元素“冫”组成简单,故其出现较为合理。而“肄”与其同结构且存在主交集。同时,以上两汉字的余弦值明显较高;对于上下结构的“豪”字,当与其存在的主交集为复杂式特殊部件{亠,口,冖}时,应具有较高的相似性。当γ为1时,该推断得以验证;对于“峦”而言,含有单一式特殊部件“亦”的汉字相似度应更高,当γ为1和2时,均有5个形似字排名靠前,且后者相似值表现更佳。但鉴于当γ=1时,其他形似字候选集结果更优,因此选定间隔距离为1。

图5 间隔距离比较

单批数据大小的比较如图6所示。“泰”为上下结构,各维度的表现相似;对于左右结构“瀑”而言,当B为500和1 000时,最相似汉字为“爆”,找到了数据集中唯一与其有主交集“暴”的汉字;对于“拨”字而言,当B为100和500时,最为相似的汉字(泼、拔)都得到了体现,同时相似值较高。综上所述,结合不同结构汉字的整体表现,B的最优选择为500。

图6 单批数据大小比较

经过对比和分析后,本文得到的最优参数配置为γ=1,d=100,r=0.001,B=500。

3.2.3 实体相似度计算

(1) 实验结果

本节首先通过两个实验验证模型改进前后的性能差异和所得到数据集的有效性。前者是验证TransE模型改进前后的效果差异;后者用于验证所制定的“汉字部件主次要划分规则”的有效性,将数据集中的所有关系替换为“主要组成”,生成测试数据集(Test Dataset,TD),在模型训练过程中部分关系可能会随机替换为“次要组成”;两个实验均在最优参数的设置下,随机抽取不同结构的汉字,使用余弦相似度计算不同模型(2CTransE、TransE、2CTransE-TD)输出的嵌入向量,得到的形似字候选集如表6所示。

表6 新旧模型及数据集变换对比

续表

对于左右结构“喻”的形似字候选集,改进前后的算法所得到的结果差异较小。对于同属左右结构的汉字“侯”,2CTransE明显表现较优,上下结构的“露”字及“亭”字与此相似,因此改进后的模型具有更广的适用性;对于半包围结构的汉字,改进后的模型在区分主次要部件的情况下,可以更为精准地找到具有同结构、相似部件的汉字,如“闲”的形似字候选集中80%以上的汉字均为包含“门”的半包围结构汉字,但TransE找到的形似字多为上下结构。“痘”与此相似,2CTransE找到的所有形似字均为半包围结构,且共有“疒”;对于全包围结构的汉字而言,本文选取以“园”和“团”为例,可以发现改进后模型所得到的形似字明显更符合人的认知。而2CTransE在不同数据集的实验结果表明,2CTransE-TD对上下结构和半包围结构汉字的识别明显较差。

综上所述,本文所制定的“主次要规则”具有较强的合理性和科学性,而2CTransE模型与传统模型相比更适用于结构多变的汉字的表示。

(2) 模型对比

本节将形似字结果与已有研究[19-20]进行比较,考察所提出方法在形似字应用中的准确性,结果如表7所示。从字形相似的角度而言,对于“恋”字,本算法更偏重于单一式特殊部件“亦”的优先级,并找到数据集中所有含有该部件的汉字;对于“椅”,介于本文数据集涵盖范围有限,没有列出其他文献找到的含“奇”的形似字,但数据集中所有与其具有主交集的汉字都有所体现。从程序执行时间的角度来看,本文所提出的方法计算相似汉字的平均时间为110.39ms,相较于文献[20-21]更短时间。综上,本文所提出的方法能够找到所有含目标汉字的主要部件的常用字并具有更可观的运行速度,在应用中更具有实用性。

表7 与现有文献的对比

续表

(3) 相似度算法比较

本文试图比较不同相似度算法之下,形似字候选集的差异。选取“赏”“羞”“截”等汉字作为关键字,之后分别使用余弦相似度、皮尔逊相似度、欧氏距离、曼哈顿距离和切比雪夫距离计算关键字与其他3 000余字的相似值,前两者以降序的方式排列,后三者以升序方式排列,得到的前7名结果如表8所示。

表8 不同相似度算法比较

对于“赏”字而言,无论是在查找结果的数量和质量上,余弦相似度和皮尔逊相似度均表现较优;而欧氏距离和曼哈顿距离得到的“羞”字形似字候选集更为理想,究其原因,可能在于2CTransE模型采用欧氏距离训练损失函数,故计算汉字相似度时采用欧氏距离及其类似算法将具有较好的表现,这一点在袁泉等[22]的研究中也得到了论证;对于“截”字来说,如果存在单一式特殊部件“”的主交集,则为其形似字的可能性更高。结果说明,除了切比雪夫距离之外,其他相似度计算方法的结果相差不大,其中,使用余弦相似度和皮尔逊相似度时,数据集中包含“”的所有汉字都得以体现并赋予了较高的相似度。综上所述,对于不同汉字而言,最优的相似度算法有所差别,其中余弦相似度和皮尔逊相似度、欧氏距离和曼哈顿距离的表现较为一致,而切比雪夫距离不适用于偏旁部首知识图谱的实体相似度计算。

(4) 结果可视化及量化评估

本文以“捕”字为例,选取了最适合其相似度计算的余弦相似度,将最相似的前100个汉字及其相似值进行处理,使用结构图的方式展示形似字候选集(图7),字体越大表明相似度最高。可以直观地看到,与目标字有主交集“甫”的汉字所占空间较大,其次是拥有次交集“扌”的汉字,即所得到的形似字与人的认知程度较为符合。

图7 “捕”的形似字结构图

为衡量算法的有效性,本文随机挑选200 个汉字,并保证所抽取的列表中覆盖不同结构的汉字,生成形似字符列表,每个列表包含1个目标汉字和7个候选汉字。之后通过用户调查的方式,邀请11个人分别在每组列表挑选出字形最相似的前两个汉字,并根据票数判定最终的两个候选汉字(不分先后)。算法结果与人工识别结果完全命中的比例达96%,说明本文算法所得到的结果是真实可靠的。

4 结束语

目前关于汉字该如何拆分、拆分到何种程度尚未达成统一共识,类似于汉字组成部件库这样的数据集也处于空白状态,为形似字的识别带来一定的困难。面对这一不足,本文制定了汉字拆分规则和主次要成分界定规则,并将其应用于3 500个常用汉字。之后将得到的汉字及其相应部件以三元组的形式表示,构建了偏旁部首知识图谱,横向拓展了知识图谱的应用领域——传统知识图谱多应用于知识库的表示,而目前鲜有研究将视角深入至字形层面。进一步地,为了获得实体的向量表示,根据汉字的实际特点对模型TransE进行了改进,使其更适应于汉字部件的表示学习。最后使用得到的向量计算汉字间相似度,推理得出目标汉字的形似字候选集。结果表明,本文所提出的方法对于不同结构汉字的形似字计算结果与人为认知高度相符,且执行效率相较于现有模型表现更好,证明了本文所构建的汉字部件组成库的科学性和合理性,在一定程度上解决了汉字拆分多样性和不一致性的问题,也说明了将知识图谱及其表示学习方法应用于中国汉字具备可行性,为研究日语等类汉语语言提供了可借鉴的思路和方法。

通过2CTransE模型,本文得到了基于汉字组成角度的字向量,这与传统的嵌入模型均存在较大差别。汉字作为象形字,每一个部件都与整体含义息息相关。因此,由部件出发形成的字向量,可以进一步应用于中文语义识别中,如通过卷积神经网络、长短时记忆神经网络等机器学习算法,计算结构复杂的中文语句的语义相似度或进行中文同义词判定等。

在后续的研究中,我们将考虑进一步拓展现有的简体字数据集,并构建繁体汉字组成部件库,从多个角度丰富形似字的相关研究。

猜你喜欢

偏旁部首三元组部件
特征标三元组的本原诱导子
关于余挠三元组的periodic-模
我的作文(外一首)
台字找偏旁部首
一个时态RDF存储系统的设计与实现
基于Siemens NX和Sinumerik的铣头部件再制造
移字谜
部件拆分与对外汉字部件教学
偏旁部首知多少
水轮机过流部件改造与节能增效