一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

改进用于基于相似性的工业组件模型请求系统的无监督嵌入方法与流程

2022-04-24 17:33:32 来源:中国专利 TAG:


1.本发明涉及一种用于比较用于基于相似性的工业组件模型请求系统的无监督嵌入方法的计算机实现的方法。


背景技术:

2.在进行设计工作时,无论是针对机械物体还是针对电子电路,通常优选使用具有可替换性的部件。可替换性是指在设计中,在不改变最终产品所需的规格的情况下,一个给定部件可以被另一部件替换。
3.在这一点上,为了简化采购并且重用性能众所周知的部件从而提高设计的可靠性,识别可用于相互替换的部件是具有挑战性的任务,但也是至关重要的任务。
4.在电子部件的情况下,这通常是由制造商自己通过定义与部件的匹配、形式和功能相关的标准化数据来完成的。在机械部件的情况下,这通常是通过针对每个部件创建签名来完成的,这是基于对组件形状的拓扑分析的。kazdhan等人在siggraph sketches and applications(siggraph草图和应用)(2002)的文章“harmonic 3d shape matching(谐波3d形状匹配)”示出一种此类方法的示例。
5.这些方法各有利弊,但是它们大多不是为了考虑到用户反馈而建立或设置的。换句话说,这些方法是基于理论模型的并且它们是不可变的,除非人们改变模型本身。
6.实现这些推荐方法的另一解决方案是执行描述所考虑的工业组件模型的词的嵌入,并比较嵌入以执行搜索请求。在这种情况下,可以使用自动编码器或无监督嵌入方法。
7.后者的优点是比自动编码器更快地付诸行动,训练时间比自动编码器更快,并且存在大量现有方法可供选择。
8.然而,除了机器学习正在优化的参数之外,这些方法还涉及超参数的使用,超参数影响机器学习过程被执行的方式。对超参数的选择和随后的微调很难执行,因为很难比较方法提供所得到的嵌入的显著相似性的能力。


技术实现要素:

9.本发明旨在改善这种情况。为此,申请人提出用于比较用于基于相似性的工业组件模型请求系统的无监督嵌入方法的计算机实现的方法,该计算机实现的方法包括:
10.a)提供与工业组件模型相关的文本语料库和测试词列表,
11.b)通过改变所述测试词列表中每个测试词的出现中的一些出现来修改所述文本语料库,对于每个测试词,所述经修改的文本语料库因此包含每个测试词的第一版本的出现、以及每个测试词的第二版本的出现,
12.c)在经修改的文本语料库上运行无监督嵌入方法,并获得经修改的文本语料库的词的向量表示;
13.d)针对所述测试词中的至少一些测试词,通过比较这些测试词的所述第一版本的
所述向量表示和这些测试词的所述第二版本的所述向量表示,确定与所述无监督嵌入方法相关的评分值;
14.e)在利用另一种无监督嵌入方法的情况下,使用步骤a)的所述文本语料库和所述测试词列表运行步骤b)到d),并返回相应的评分值。
15.这种方法是有利的,因为它允许比较它们之间的无监督嵌入方法,然后以高效和可靠的方式对超参数进行微调。
16.在各种实施例中,该方法可以呈现以下特征中的一个或多个特征:
[0017]-通过改变每个测试词的出现中的至少一半的出现来修改所述文本语料库的步骤b)包括:将所述测试词的所述出现的基本上一半的出现修改为所述文本语料库中不存在的选定别名,并保留其它出现不变。
[0018]-通过改变每个测试词的出现中的至少一半的出现来修改所述文本语料库的步骤b)包括:将所述测试词的所述出现的基本上一半的出现修改为所述文本语料库中不存在的选定别名,并将其他出现修改为所述文本语料库中不存在的另一个选定别名。
[0019]-所述测试词列表是预先确定的。
[0020]-通过确定所述文本语料库内的所述词的对数频率分布,并通过选择在所述对数频率分布中均匀间隔的词,来获得所述测试词列表。
[0021]-步骤d)包括:基于所述测试词的所述第一版本的嵌入与所述测试词的所述第二版本的嵌入之间的相似性距离,来确定测试词的评分值。
[0022]-步骤d)包括:通过确定所述测试词的所述第一版本的嵌入与所有其它词的嵌入之间的相似性距离、所述测试词的所述第二版本的嵌入与所有其它词的嵌入之间的相似性距离来确定测试词的评分值,并返回以下各项中的一项:
[0023]-与所述测试词的所述第二版本的嵌入相比,嵌入更接近所述测试词的所述第一版本的嵌入的词的数量,
[0024]-与所述测试词的所述第一版本的嵌入相比,嵌入更接近所述测试词的所述第二版本的嵌入的词的数量,以及
[0025]-以下数量之和:与所述测试词的所述第二版本的嵌入相比,嵌入更接近所述测试词的所述第一版本的嵌入的词的数量;与所述测试词的所述第一版本的嵌入相比,嵌入更接近所述测试词的所述第二版本的嵌入的词的数量。
[0026]-步骤d)包括:通过对所述测试词中的至少一些测试词的评分值进行平均,来确定评分值分数。
[0027]-步骤d)包括:通过返回所述测试词和对应测试词的分数值中的至少一些的评分值,来确定评分值分数。
[0028]
本发明还涉及包括用于执行根据本发明的方法的指令的计算机程序、在其上记录这样的计算机程序的数据存储介质、以及包括耦合到存储器的处理器的计算机系统,所述存储器具有记录在其上的这样的计算机程序。
附图说明
[0029]
本发明的其它特征和优点将容易地出现在以下附图的描述中,附图示出本发明的示例性实施例,并且其中:
[0030]-图1显示根据本发明的系统的总图视图,
[0031]-图2显示由图1的系统执行的函数的示例性实施例,
[0032]-图3和图4示出在根据本发明的系统中使用的工业组件模型数据的实施例,以及
[0033]-图5示出根据图2的操作确定的相似性距离。
具体实施方式
[0034]
附图和以下描述包括大部分积极和明确定义的特征。因此,它们不仅有助于理解本发明,而且在需要时它们还可以用于促进其定义。
[0035]
本说明书可能引用或使用受版权保护或可保护的元素。申请人不反对复制这些元素,因为它限于必要的合法出版物,然而这不应被解释为放弃权利或任何形式的许可。
[0036]
图1示出根据本发明的系统的总图视图。系统2包括存储器4、语料库修改单元6和评分单元8。
[0037]
存储器4存储工业组件模型数据。工业组件模型数据包括允许定义机械或电子部件的任何数据、以及允许向设计者描述工业组件模型并搜索该工业组件模型的属性。
[0038]
在基于相似性的工业组件模型请求引擎中使用工业组件模型数据,该引擎使用无监督嵌入方法来嵌入工业组件模型,并基于嵌入的比较执行工业组件模型请求。
[0039]
在本文所描述的示例中,可以以任何适当的方式来实现存储器4,即通过硬盘驱动器、固态驱动器、闪存、嵌入在处理器中的存储器、可在云中访问的远程存储等等方式。
[0040]
在本文所描述的例子中,语料库修改单元6和评分单元8是在一个或多个处理器上执行的计算机程序。这种处理器包括用于执行自动演算的任何已知装置,例如cpu、gpu、cpu和/或gpu网格、远程演算网格、专门配置的fpga、专门配置的asic、专用芯片(例如,soc或noc)、ai专用芯片等等。
[0041]
语料库修改单元6基于存储器4中的工业组件模型数据来计算经修改的语料库数据12,并且评分单元8允许用户输入无监督嵌入方法10并且接收返回数据14,其中返回数据14对输入监督方法10产生嵌入的能力进行量化,所述嵌入正确反映工业组件模型数据的成员之间的相似性。返回数据14使用户能够在无监督方法系列之间进行选择,并且微调给定无监督方法的超参数。
[0042]
图2表示由系统2执行的函数的示例性实施例。该示例性实施例表示系统2可以执行以便执行本发明的操作。
[0043]
该函数开始于操作200,其中执行函数inp()。函数inp()是输入函数,其中输入一组无监督嵌入方法em[]和文本语料库txtc作为参数,所述参数将在其它步骤中用作全局变量。
[0044]
这可以通过人机界面(hmi)来完成。可以使用任何类型的hmi,只要它提供用户通过其指定或者以其它方式上传包含无监督嵌入方法em[]和文本语料库txtc的文件、或者指定存储器4中的条目的界面。无监督嵌入方法可以通过指向特定资源的标识符来描述,或者可以提供无监督嵌入方法的完整的细节(包括超参数)。在本文所描述的例子中,将无监督嵌入方法em[]存储在列表中,在该列表中的每个条目包含不同的无监督嵌入方法。通过不同的无监督嵌入方法,应当理解,仅在其超参数集上不同的两种方法才被认为是不同的。在一实施例中,可以通过针对输入无监督嵌入方法生成不同的超参数集合来自动丰富列表
em[]。
[0045]
图3和图4显示包含与工业组件模型相关联的属性的表格的示例。图3的表格包含机械部件工业组件模型,而图4的表格包含电子部件工业组件模型。
[0046]
如在图3和图4中出现的,每一行包含单个部件的属性,并且属性是跨越3种类型的列而分布的:
[0047]-以附图标记30引用的单个部件id列,其是针对每个部件的唯一标识符;
[0048]-以附图标记32引用的一组特征列,其描述每个部件的预先确定的特征;
[0049]-以附图标记34引用的单个相似性数据列。
[0050]
例如,在机械部件(图3)的情况下,这些列可以包括部件的描述、详述该部件中使用的材料的一列或多列、用于存储部件的形状签名的一列或多列、用于存储该部件的尺寸的一列或多列、用于存储该部件的相关测量(例如,硬度等)的一列或多列等等。类似地,在电子部件(图4)的情况下,这些列可以包括部件类型(用于描述实现哪种类型的电子功能)、用于描述标称值和操作值以及限制值的测量列等等。所有这些列都可以被视为“客观特征”,因为它们描述了表征部件的物理性质的常用测量或特征。
[0051]
相似性数据列可以为空。当它被填充时,它包含允许将部件关联在一起的哈希码列表。换句话说,当认为两个或更多部件相似时,会生成唯一的哈希码来关联表示这些部件之间的关联性,并将该哈希码添加到这些部件中的每个部件的“相似性数据”列中。例如,转到图3,部件hf059210和gj154003两者都是收到了哈希码99089de4的被认为相似的一组部件中的部件。部件hf059210被进一步认为在分别由哈希码f74f0310和d45c714e指定的另外两个集合中是相似的。
[0052]
操作200之后是操作210,其中函数requ()接收文本语料库txtc作为参数,并且返回表twl[]作为结果。函数requ()用于建立一组词,该组词将用于评估无监督嵌入方法生成正确地反映相似性的嵌入的能力。表twl[]包含语料库txtc的令牌(token),这些令牌将用于创建同义词以对无监督嵌入方法进行评分。通过令牌,其应该被理解为是针对单个词或者被分组在短语中的一组词,即多词表达(通常1到4个词),对于这种情况,它们被认为应当作为一个词来处理。在这种情况下,通常可以对语料库txtc进行处理,以通过去除它们之间的空格或通过以诸如“_”(下划线)之类的令牌符号替换空格来将短语中的词合并,使得短语作为单个词来出现。
[0053]
在一实施例中,表twl[]由用户输入,或者由用户选择。在另一实施例中,函数requ()例如基于词频来执行系统分析。有利地,该分析可以根据对数频率对词进行分类,并且在该对数频率标度上,输入表twl[]中的词可以在它们之间均匀地间隔。虽然对数频率标度是优选的(因为它特别适合基于文本的文档),但是其它标度也可能是适合的,比如线性标度、或者适合被分析的文档的任何其它标度。
[0054]
例如,这可以通过计算所有对数频率、取两个极值并将这些值之间的差除以表twl[]中的目标词数以定义对数步长来完成。
[0055]
之后,可以基于其相应的对数频率来选择词,例如,通过选择具有与添加到极值中的一个极值的对数步长的倍数最接近的对数频率的词,或者通过添加其对数频率接近于这样的值的词。如后面将要解释的,在后一种情况下,当针对给定的对数频率保留一些词时,可以对评分值进行平均。
[0056]
使用对数频率允许确保:无监督嵌入方法是在在整个语料库范围上测试的,不仅是针对最常见的词。此外,使用给定的对数频率附近的多个单词允许加深这种效果,从而限制在评分方面的假阳性或假阴性。
[0057]
在确定表twl[]之后,语料库修改单元6在操作220中执行函数swap()。函数swap()接收语料库txtc和表twl[]作为参数,并返回语料库txtc的修改版本作为结果。函数swap()有以下作用:通过改变表twl[]中的词的出现的部分或全部出现,在语料库txtc中创建“已知同义词”。为此,可以针对表twl[]中的每个词创建别名,并且该别名可以用于替换在语料库txtc中的词的出现中的某些出现。这种替换可以是系统性的(每两次出现发生一次替换),也可以是伪随机的(例如,确保对于表twl[]中的每个词,在返回的语料库txtc中,存在大约一半的原始词以及一半的别名)。通过替换这些词,函数swap()有效地生成已知的同义词,这是因为它们从一开始就是同一词。或者,函数swap()可以针对表twl[]中的每个词创建两个别名,并在解析语料库txtc时交替地使用这两个别名,使得所得到语料库将包含大约一半的第一别名和一半的第二别名,并且表twl[]中没有原始的词。当然,当针对给定对数频率,在表twl[]中输入几个词时,必需在函数swap()中对其进行跟踪,以便稍后对评分值进行平均。将容易出现的是,别名必然是语料库txtc中不存在的词。可以将别名与它们对应的词一起存储在表twl[]中,或者存储在其它地方。重要的是,在表twl[]的词与它们相应的别名或多个别名之间保持对应关系。
[0058]
在操作220之后,语料库修改单元6已经完成了用于系统2的语料库txtc的准备,并且启动循环来比较它们之间的无监督嵌入方法。在替代的实施例中,可以通过对被比较的无监督嵌入方法的训练和评分进行并行化来替代该循环。所有以下操作均由评分单元8来执行。
[0059]
该循环以结束条件测试开始,该结束条件测试在操作230中测试列表em[]。如果列表em[]为空,则所有方法都已经被测试,并且该函数可以在操作240中结束。否则,em[]被放入操作250中,并且结果是需要进行评分的无监督嵌入方法em1。
[0060]
此后,在操作260中执行函数train()。函数train()接收无监督嵌入方法em1和由语料库修改单元6在操作220中修改的语料库txtc作为参数,对语料库txtc执行嵌入方法em1的训练,并且在表emb[]中返回表twl[]中的词及其别名的所得到的嵌入。
[0061]
在循环的最终操作270中,执行函数score()。函数score()接收表emb[]作为参数,并且返回评分值或评分向量。为了计算所述评分值或评分向量,函数score()对表emb[]的嵌入执行各种演算,并且可以根据寻求哪种类型的同义性评估以不同方式继续。
[0062]
例如,在一个实施例中,函数score()可以使用用于识别同义词的相似性度量(例如,余弦相似性度量或另一种相似性度量),来计算表twl[]的已知同义词之间的相似性。余弦相似性是对表twl[]中每个词和其对应别名或多个别名的相应嵌入来执行的。
[0063]
在另一实施例中,可以计算在表twl[]的每个词与由训练操作260产生的所有嵌入之间的相似性度量。在这种情况下,执行操作260可以被执行为使得表emb[]存储针对语料库txtc的所有词的嵌入。此后,函数score()可以确定与一个已知同义词的相似度比另一个已知同义词更相似的词的数量。
[0064]
因此,对于给定的已知同义词对,分数可以是基于以下各项的计数的:
[0065]-与第二已知同义词相比,更接近第一已知同义词的词的数量。在图5中,其中第一
版本是词“设计(design)”,以及第二版本是词“大写设计(design)”,与第二版本相比,有4个词(包括“绘图(drawing)”和“想法(idea)”)更接近第一版本。其它“ ”号指示经修改的语料库中的其它词;
[0066]-与第一已知同义词相比,更接近第二已知同义词的词的数量。在图5中,有三个这样的词,包括“绘图”;
[0067]-与第二已知同义词相比更接近第一已知同义词并且与第一已知同义词相比更接近第二已知同义词的词的数量。在图5中,存在两个这样的词,包括“绘图”。
[0068]
第一选项(已知同义词之间的直接相似性测量)比第二选项更简单、更快速。其在评估无监督嵌入方法提供绝对语义相似性度量的能力时是要选的。在评估无监督嵌入方法产生相对相似性度量的能力时,第二选项是更优选的,即相似性值仅被认为在嵌入空间中是局部一致的。当操作210包括针对一个或多个对数频率在表twl[]中引入若干词时,则函数score()应当返回对相应分数加权的值。
[0069]
因此,函数score()可以返回针对表twl[]中词的所有分数的表格,或者对在它们之间的这些分数进行加权的通用分数。在后一种情况下,本发明的系统可以用于通过比较相同方法的具有不同超参数的许多不同版本,并比较它们的分数,来优化给定无监督嵌入方法的超参数。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献