基于网络表示学习的本体语义挖掘与功能语义检索方法

2021-11-16 03:37倪子健李文强
工程设计学报 2021年5期

倪子健,李文强,唐 忠

(1.四川大学机械工程学院,四川成都 610065;2.四川大学创新方法与创新设计四川省重点实验室,四川成都 610065)

产品设计的目标是使产品具备相应功能,即功能是产品存在意义的体现[1]。对产品功能进行定义并建立相应的功能模型是产品概念设计的重要组成部分[2]。Gero[3]提出了可用于描述产品概念设计过程的FBS(function-behavior-structure,功能-行为-结构)模型,即将概念设计过程看作由功能层到行为层再到结构层的求解过程;殷习等[4]基于FBS模型研究了功能变更再设计的相关理论;为实现对产品功能的规范化描述,Stone等[5]建立了描述产品功能的语言——功能基,功能基为“作用方式+作用对象”的词汇组合,如吸收能量、检测信号等。

在产品概念设计阶段,为实现产品的功能,设计人员须通过查阅大量已有的设计资料(如专利、书刊和网页等)来获取设计知识和设计灵感,其中跨领域的相关知识是激励产品创新设计的关键。在知识的检索与获取过程中,本体是语义扩展的常用知识库之一[6]。本体位于语义网的语义层,可描述客观世界概念以及概念之间的关系[7],在语义网中具有重要地位。本体所提供的概念和概念间关系的形式化描述可为语义检索提供有用的工具[8-11]。与关键词检索相比,基于本体的语义检索可提供语义关联的检索结果。因此,利用本体进行语义检索能够跨越语义鸿沟,检索到与检索词语义相关的资料。在产品设计领域,已有许多学者将本体用于语义检索,以辅助产品的创新设计。例如:Zhang等[12]利用语义网和本体理论,提出了基于语义相似度的产品设计知识检索聚类模型;Qin等[13]利用基于本体的语义检索方法,构建了特征模型本体并进行本体推理,以辅助异构CAD(computer aided design,计算机辅助设计)模型的设计;Fang等[14]构造了领域本体,并利用Lucene本体推理机制进行了关键词语义扩展,实现了工程文档的检索;Phan等[15]将本体运用于专利的检索,通过挖掘专利内容与其分类的语义关系来提高检索准确率;Mabkhot等[16]构建了基于本体的决策支持系统,通过自动推理和相似度检索来实现产品特征和制造工艺案例的选择。

目前,基于本体的语义检索方式大致分为2种:一种是根据本体中确定的语义关系,对输入的检索关键词直接进行语义延伸,获取与检索关键词语义相关的词汇后基于语义距离进行语义相似度计算,并根据相似度排序得到检索结果[6,12];另一种是根据本体中确定的语义关系,对输入的检索关键词进行语义推理,得到满足推理条件的检索结果[13-16]。然而,无论是哪种检索方式,检索结果均取决于本体中确定的语义关系,这是因为上述语义检索过程只能按照本体中确定的语义关系开展,而无法有效利用本体中隐含的语义关系。

在解决实际工程问题时,设计人员往往会运用具体的自然语言来描述产品的功能需求,这与高度抽象的功能基之间存在语义鸿沟。同时,各领域的设计知识与功能基之间也缺乏有效的对应关系。因此,如何从功能角度规范设计人员的自然描述语言并通过相应功能检索到跨领域的设计知识,是有效支持产品创新设计的关键问题。基于此,笔者通过挖掘本体概念之间隐含的语义关系来提高对跨领域设计资料的检索能力,旨在为设计人员提供更多的跨领域设计知识,以激发其设计灵感。

1 本体语义关系构建与挖掘

1.1 本体语义关系构建

为实现对本体隐含语义关系的挖掘,须针对产品功能建立合适的语义本体,其构建流程如图1所示。首先,对语义资源中的概念实体进行提取,本文选用WordNet、HowNet以及《现代汉语词典》语料库作为语料资源,对其中描述功能的词汇进行整合。然后,通过定义2种关系(基本关系和复杂关系)来构建语义本体,其中,基本关系初步决定了概念实体之间的语义亲疏,如“上位、下位”等,通过定义基本关系得到树状结构的语义关系;复杂关系用于概念实体之间的动态关联,如“作用对象”“用于”“作用领域”等,通过定义复杂关系得到网状结构的语义关系。基于这种方式构建的语义本体在逻辑上包含了一定范围内的功能语义,如机床-用于-制造、机床-作用对象-零件等。基于此所挖掘得到的本体隐含语义关系将会继承这种功能语义,保证了概念实体之间是基于功能语义的关系,同时保证了各概念的连通性,避免了孤立概念群的存在以及其给网络表示学习方法带来的干扰。

图1 语义本体构建流程Fig.1 Construction process of semantic ontology

1.2 本体语义关系挖掘

网络表示学习方法是将复杂网络结构的数据节点表示成低维空间中连续、稠密的向量,从而方便计算机更好地处理网络信息。目前,常用的网络表示学习方法有 DeepWalk[17]、LINE(large-scale information network embedding,大规模信息网络嵌入)[18]和struc2vec[19]。其中,DeepWalk 通过随机游走的方式来获取节点序列,该游走路径即为节点之间的关系,这使得参与训练的节点在逻辑上具有一定的关联。该方法的核心思想是利用节点序列中的已知节点预测缺失节点[20]。因此,本文选择DeepWalk对本体语义关系进行挖掘,以获得隐含的语义关系。

语义本体可被看作是一个复杂的网状结构数据集合,可表示为G=(V,E)。其中:V={v1,v2,…,vn},代表语义本体网络的节点;E={e1,e2,…,em},代表语义本体网络节点之间特定的语义关系。选取节点vi作为游走起点,沿着语义本体网络中的边随机游走,可得到关于节点vi的步长为s的随机游走序列。利用节点的随机游走可得到大量游走序列,这些序列反映了语义本体网络中的语义信息。

假设在语义本体网络中得到的随机游走序列为{v1,v2,…,v}i,则节点vi出现的概率可表示为P(vi|v1,v2,…,vi-1)。

引入映射关系φ(V)∈R(d维度为d)将节点映射到维度为d的向量空间中,则节点vi出现的概率可表示为P[vi|φ(v1),φ(v2),…,φ(vi-1)]。

随着语义本体网络复杂程度的提升以及随机游走序列的增加,节点出现概率的计算会变得逐渐复杂。为避免这种问题出现,采用skip-gram模型将基于已知序列预测缺失节点转变为基于序列中心节点预测周围节点,即用一个窗口截取游走序列的一部分来限定所需预测的周围节点的个数。若用一个长度为2w+1的窗口来截取游走序列,即用[vi-w,vi-w+1,…,vi-1,vi,vi+1,…,vi+w]来表示给定中心节点vi,则其左右两侧的2w个节点出现的概率为P[vi-w,…,vi-1,vi+1,…,vi+w|φ(vi)]。

根据网络表示学习方法的原理,最终得到的结果应使中心节点周围的2w个节点出现的概率最大,即min{- logP[vi-w,…,vi-1,vi+1,…,vi+w|φ(vi) ]}。

利用深度学习方法来训练语义本体网络,并采用随机梯度下降方法来求取目标概率的极值,以得到最终期望的映射关系φ(V)。φ(V)是上述训练网络的隐含参数,它是一个n×d维的矩阵。

图2所示为语义本体网络中的一个随机游走序列,虚线椭圆框为假设的一个窗口截取游走序列的一部分。以节点v3为中心节点,基于节点v3预测其周围节点(节点v1、v2、v4和v5)出现的概率并使概率最大,其本质上可以看作是以确定的语义关系为桥梁建立未连接节点之间隐含的语义关系,即对语义本体中确定的语义关系进行扩充。

图2 随机游走序列与隐含语义关系挖掘Fig.2 Random walk sequence and implicit semantic relationship mining

由此可知,在本文方法中,语义本体中的词向量是通过确定的语义关系训练而来的。与现有的基于大规模语料库的词向量训练方法相比,语义本体网络的节点之间具有更强的逻辑关系,而大规模语料库依赖于文本中特征词汇出现的频率[21-23],计算量庞大且容易受到噪声的干扰。因此,基于语义本体中确定的功能语义关系扩充得到的词向量间的相似度能够更好地量化与比较语义关系[24]。

2 功能语义检索方法

基于所构建的语义本体以及通过训练得到的语义关系,提出面向产品功能的语义检索方法。以功能基为纽带,通过功能语义匹配和设计资料检索两个过程,实现设计人员根据自然语言描述语句获取跨领域设计资料的目的。在利用语义本体中确定语义关系扩充后得到的语义向量空间中,用对应的词向量来表示功能的自然语言描述语句、跨领域知识和功能基,通过词向量之间的运算得到对应的功能语义向量,以实现功能语义检索任务。

2.1 功能表达及其隐含语义关系向量运算

与功能基的描述一致,采用“作用方式+作用对象”的词汇组合来表达功能,其中“作用方式”为动词,“作用对象”为名词。为了计算隐含的功能语义关系向量,运用基于语义类比的向量运算进行计算。例如:词语“King”和“Male”之间的关系与词语“Queen”和“Female”之间的关系是类似的,基于语义的向量运算可表示为:c(King)-c(Male)+c(Female)≈c(Queen),即c(King)-c(Male)≈c(Queen)-c(Female)。 其 中c(word)表示该词语所对应的词向量。从向量相减的几何意义可知,如果将词向量看作是语义向量空间中的点,那么词向量相减所得到的新向量即为连接这2个点的有向线段。而在语义向量空间中,连接2个点的有向线段为二者之间的语义关系。因此,隐含的功能语义关系向量c(F)可表示为:

基于语义类比的向量相减运算可迅速建立词汇之间潜在的功能语义关系,这种方式能够灵活地反映语义本体网络中没有连接的节点(尤其是距离很远的节点)之间的语义关系。通过动词和名词向量相减运算得到的隐含的功能语义关系向量,从功能角度量化了语义关系,从而建立了设计人员需求描述自然语言、功能基以及多领域设计资料之间的统一表达形式,并以功能为共同桥梁跨越语义检索过程中的语义鸿沟,可更好地实现有关功能语义的多领域知识检索。

2.2 功能语义匹配与设计资料检索实现

功能语义匹配与设计资料检索是功能语义检索的最终环节。产品功能语义匹配是将用户对产品功能的自然语言描述语句转换为规范化的功能基的过程,即完成从功能的自然语言描述语句到功能基的语义匹配,如图3所示。

图3 功能语义匹配流程Fig.3 Process of functional semantic match

由图3可知,从功能的自然语言描述语句到功能基的语义匹配过程是根据词汇之间的语义相似性来实现的。首先,将设计人员对产品功能的自然语言描述语句进行文本预处理,提取其中的检索关键词(包括关键动词和关键名词)。检索关键词提取过程的伪代码(算法1)如下:

然后,在语义向量空间中,找到所提取的关键动词和关键名词对应的检索关键词向量。若一个功能的自然语言描述语句中含有多个动词或名词,则在将其全部提取后按照“动词+名词”的方式进行组合,并根据就近原则以及相应的语料资源,选取其中使用频率较高的词汇组合,以剔除干扰并减少计算量。完成筛选后,由词汇组合中的词向量构成检索关键名词和关键动词矩阵,并通过向量运算得到对应的隐含语义关系向量,称为功能描述向量,由功能描述向量构成功能描述矩阵。同时,对用向量表示的功能基进行向量运算,得到相应的功能基向量,由功能基向量构成功能基矩阵。最后,通过计算功能描述矩阵与功能基矩阵中对应词向量之间的语义相似度,完成产品的功能语义匹配,将设计人员的设计需求匹配到相应的功能基。功能语义匹配过程的伪代码(算法2)如下:

设计资料检索流程如图4所示。同样地,先对跨领域的设计资料进行文本处理,得到设计关键词(关键动词和关键名词),将其映射到语义向量空间中并通过向量运算得到隐含语义关系向量,称为设计知识向量,由设计知识向量构成设计知识矩阵。由于与上文中处理自然语言描述语句的方式相同,采用算法1提取设计关键词。然后,以功能基为索引,计算功能基矩阵与设计知识矩阵中对应词向量之间的语义相似度,扩展得到对应功能的设计知识,完成相应功能语义的设计知识检索任务。

图4 设计资料检索流程Fig.4 Process of design material retrieval

3 基于本体语义关系挖掘与功能语义检索的产品创新设计示例

以“如何快速高效地采摘水果并且保护果实不受损伤”作为设计人员对产品功能需求的描述语句,利用本文方法进行多领域专利检索,以从不同领域的专利中获得灵感来辅助水果采摘装置的创新设计。

步骤1:语义本体构建。

建立小型的语义本体是语义关系挖掘的基础。运用本体构建工具Neo4j构建针对水果采摘装置的语义本体,其对应网络的具体参数如表1所示。

表1 语义本体网络参数Table 1 Semantic ontology network parameters

将构建完成的语义本体网络以邻接表或邻接矩阵的方式存储,该本体网络共有958个节点,则要构建一个958×958维的邻接矩阵,如图5所示。矩阵中的“1”表示对应行和对应列所在位置的节点相互连接,即存在确定语义关系;“0”表示没有节点连接,即未定义语义关系。

图5 语义本体网络对应的邻接矩阵Fig.5 Adjacency matrix corresponding to semantic ontology network

步骤2:隐含的语义关系挖掘。

运用DeepWalk对所构建的语义本体网络进行训练,训练参数如表2所示。利用训练得到的节点向量间接反映语义关系扩展后的语义本体,并基于此构建相应的语义向量空间。通过训练得到的语义本体网络的部分节点向量如图6所示。

表2 DeepWalk的训练参数Table 2 Training parameters of DeepWalk

图6 语义本体网络的部分节点向量Fig.6 Partial node vectors of semantic ontology network

通过训练得到的节点向量的元素都反映了隐含语义关系挖掘后的扩充语义。基于所构建的语义本体网络参数,共获得958×50个语义关系,这与原有稀疏的邻接矩阵所表示的1 493个确定的语义关系相比,本体概念之间的语义联系更为丰富。通过本体语义关系扩充所得到的语义本体网络节点向量能够在2个方面支持功能语义检索:1)概念之间可以通过基于语义类比的向量运算建立隐含的功能语义关系;2)可以通过向量的相似度计算来比较概念之间的语义接近程度。

步骤3:文本预处理与检索关键词提取。

语义本体中的概念实体是以作用方式(动词)和作用对象(名词)的形式呈现,因此须对自然语言描述语句文本进行预处理并提取其中与功能相关的检索关键词(动词和名词)。采用哈尔滨工业大学语言技术平台(language technology platform,LTP)对设计人员的功能需求自然语言描述语句以及多领域专利文本摘要进行分词和词性标注,以便提取检索关键词。

对于本例中输入的自然语言描述语句,根据分词和词性标注得到的结果为:如何(pronoun)、快速(adverb)、高效(noun-modifier)、地(auxiliary)、采摘(verb)、水果(noun)、并且(conjunction)、保护(verb)、果实(noun)、不(adverb)、受损伤(verb)。对其中的检索关键词进行提取后得到:采摘、保护、受损伤(关键动词);水果、果实(关键名词)。需要注意的是,关键动词“受损伤”的前面有否定副词“不”修饰,而在描述功能时应尽量避免由否定副词修饰的动词出现,根据算法1,在提取检索关键词时去掉否定副词后面的动词。根据就近原则以及汉语语言使用规律,得到出现频率最高的功能语义描述组合为“采摘水果”和“保护果实”。将得到的关键名词和动词按照相应的组合关系构成相应的检索关键词矩阵,例如[水果,果实]和[采摘,保护]。本次实验随机选取800个覆盖51个功能基的发明专利文本摘要作为检索样本库(部分专利包含多个功能),按照同样的处理方式对专利文本的摘要进行分词、词性标注、关键词提取以及筛选正确的功能语义描述组合,得到相应的设计知识矩阵。

步骤4:功能语义匹配与设计资料检索。

在语义本体网络中找到功能描述矩阵、功能基矩阵和设计知识矩阵中的词汇,并将每个词汇替换为基于DeepWalk得到的节点向量。通过算法2的计算得到功能语义匹配结果,如表3所示。结果表明,与设计人员对水果采摘装置功能需求的自然语言描述语句最为接近的功能基为“分离物质”和“吸收能量”。

表3 基于语义相似度的水果采摘装置功能语义匹配结果(部分)Table 3 Functional semantic matching results of fruit picking device based on semantic similarity(partial)

设计资料检索过程与功能语义匹配过程类似。在检索时,设计人员以基于语义匹配得到的功能基为索引,通过检索获得具有相关功能语义的设计资料。在本例中,通过语义匹配得到的功能基为“分离物质”和“吸收能量”,其中基于“分离物质”检索得到的部分专利文本如表4所示。

表4 基于语义相似度的水果采摘装置设计资料检索结果(部分)Table 4 Design data retrieval results of fruit picking device based on semantic similarity(partial)

基于功能基“分离物质”,在预先准备的800个发明专利中检索得到22个与水果采摘装置高度关联的发明专利(语义相似度大于0.5),其中包含机械、建筑等多领域的专利。由此说明,通过功能语义检索,设计者人员能够以功能基为纽带,基于对功能需求的自然语言描述语句获取相应的跨领域设计资料。

步骤5:初步设计方案确定。

在本例中,根据设计人员对功能需求的自然语言描述语句中的“采摘水果”得到功能基“分离物质”,进而检索得到一系列关于“分离物质”的发明专利。根据功能语义相似度排序,选取前4个发明专利(对应装置的结构如图7所示)作为设计资料,对水果采摘装置的创新设计方案进行初步确定。

图7 4种物质分离装置的结构示意Fig.7 Schematic diagram of structure of four kinds of substance separation device

根据发明专利的文本描述和对应装置的结构示意图可知,图7(a)所示装置采用电机带动叶片旋转挤压棉花并利用离心力实现棉絮与棉壳的分离;图7(b)所示装置将多种拆装机构结合为一体,适用于多种场合的机械零部件拆装;图7(c)所示装置为常见的水果采摘装置,利用电机驱动剪枝刀实现水果采摘;图7(d)所示装置通过摇柄控制刀架移动,实现复杂曲线的瓷砖切割。

本文水果采摘装置的设计方案可以从图7(c)所示的采摘装置出发,进行相应的改进。图7(c)所示装置采用剪切的方式来分离水果和枝干,可能会存在因剪力不足而无法切断的情况。受到图7(d)所示瓷砖切割器的启发,利用旋转刀具来切割树枝,实现分离功能,旋转刀具的运动方式可参考图7(a)所示的棉花分离装置中电机带动刀具旋转的形式,并结合图7(b)所示多功能拆装器的组合思想,将旋转切割刀具与图7(c)所示水果采摘装置的其他结构组合,由此初步形成一个水果采摘装置的创新设计方案,其结构原理如图8所示。

图8 2种水果采摘装置的结构原理对比Fig.8 Comparison of structural principles of two kinds of fruit picking devices

水果采摘装置的新设计方案参考了4种专利的设计思想,体现了不同领域的设计资料对设计灵感的激励和设计过程的支持。

4 结论

本文针对现有的基于本体的语义检索对本体概念之间的隐含语义关系缺乏有效利用的问题,提出了一种基于网络表示学习的本体语义关系挖掘方法。在本体语义关系挖掘的基础上,建立了面向产品功能的跨领域设计知识检索方法:利用基于语义类比的向量运算建立了隐含的功能语义关系,并通过语义相似度计算实现了基于隐含语义关系的产品功能语义的匹配和跨领域设计资料的检索。水果采摘装置创新设计示例结果表明,设计人员可以利用本文提出的方法检索得到与产品功能需求有关的多领域设计资料,有助于激发设计灵感和产生创新设计方案。