买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】使用非对称度量学习的自动配对字体_奥多比公司_201810786075.5 

申请/专利权人:奥多比公司

申请日:2018-07-17

公开(公告)日:2024-04-09

公开(公告)号:CN109657204B

主分类号:G06F40/109

分类号:G06F40/109;G06F40/106

优先权:["20171011 US 15/729,855"]

专利状态码:有效-授权

法律状态:2024.04.09#授权;2020.10.30#实质审查的生效;2019.04.19#公开

摘要:本公开涉及高效地配对数字字体的非对称字体配对系统。例如,在一个或多个实施例中,非对称字体配对系统自动地标识并向用户提供用于电子文档的不同部分的视觉美学字体对。具体地,非对称字体配对系统使用联合对称和非对称兼容性度量学习来学习视觉美学字体对。另外,非对称字体配对系统向计算设备例如,客户端设备和服务器设备提供紧凑的兼容性空间例如,对称兼容性空间和非对称兼容性空间,这使计算设备能够快速且高效地向用户提供字体对。

主权项:1.一种用于标识视觉美学字体对的系统,包括:存储器,包括:训练字体集合,包括多种数字字体;以及所述训练字体集合内的字体对的指示;至少一个处理器;以及至少一个非暂态计算机可读存储介质,存储指令,所述指令在由所述至少一个处理器执行时使得所述系统:生成针对来自所述训练字体集合的所述多种数字字体的特征向量;基于所述特征向量和所述字体对的所述指示,来联合地学习对称兼容性空间和非对称兼容性空间,其中:对称兼容性空间定义第一空间,在所述第一空间中,特征向量之间的距离指示数字字体集合的对应数字字体之间的对称兼容性;以及非对称兼容性空间定义第二空间,在所述第二空间中,特征向量之间的距离指示所述数字字体集合的对应数字字体之间的非对称兼容性;以及使用所述对称兼容性空间和所述非对称兼容性空间来生成评分函数,所述评分函数输出针对一种或多种字体的、指示所述一种或多种字体如何与输入字体配对的字体配对评分。

全文数据:使用非对称度量学习的自动配对字体背景技术近年来,计算设备在创建和编辑电子文档中的使用迅速增长。事实上,现在,针对包括企业的个体,利用计算设备来创建数字营销材料、数字杂志、网页、电子邮件和其他电子文档是常见的。另外,计算设备可以辅助个体使用文本、图像和其他视听内容来生成电子文档,以通过电子文档将选择的消息传达给目标观众。尽管计算设备容易帮助个体创建电子文档,但传统的数字出版系统仍然存在使得个体能够制作视觉美学电子文档挑战。电子文档中的视觉美学有助于将电子文档的信息准确传送给目标观众。事实上,电子文档中美学的关键方面是文档中使用的字体以及电子文档不同部分例如标题和正文中使用的字体相互配对的程度。然而,传统的数字出版系统无法为个体提供电子文档不同部分之间的视觉美学字体对。传统的数字出版系统由于许多原因而努力提供视觉美学字体对。例如,视觉美学字体对通常是不同的样式。标题字体和正文字体之间或标题和子标题之间的细微区别可能非常重要。因此,仅向个体提供包括相似字体的字体对的传统数字出版系统经常不能在电子文档中实现期望的视觉美学结果。作为另一示例,专业设计人员已经建立了用于字体配对的规则列表;然而,这些列表很难形式化,并且可能因设计人员而异。另外,如上所述,字体配对不仅仅是相似性匹配的问题,专业设计人员通常会配对对比字体以及相似的字体。因此,不仅新手设计人员诸如创建电子文档的日常个体难以进行字体配对,而且这也是针对传统数字出版系统的挑战。作为另一示例,字体配对是一个非对称的问题,其中构成视觉美学字体对的两个字体不可互换。例如,将作为标题字体的字体A与作为正文字体的字体B进行配对,可以比与将作为标题字体的字体B和作为正文字体的字体A进行配对产生截然不同的视觉美学。再次,简单地向选定的字体提供相似的字体集合不足以向个体提供传递视觉美学电子文档的字体对。由于用于字体配对的挑战,许多传统数字出版系统不提供字体对推荐。一些传统的数字出版系统提供有限数量的预设模板字体对。结果,想要非标准化字体对的个体经常必须基于他们的个人偏好来手动选择他们希望在电子文档中使用的字体对。不是专业设计人员的个体通常很难选择视觉美学的字体对。此外,由于可用字体的数目增加,即使对于专业设计人员,字体配对也是耗时且困难的任务,这导致专业设计人员在各种电子文档中默认使用相同的字体对。更新的发展包括采用神经网络来执行一般的字体推荐。虽然基于神经网络的字体推荐提供了各种优点,但这样的系统通常需要大量的存储器和计算要求。结果,客户端设备,特别是移动设备通常不具备执行这些神经网络的能力。关于使用传统系统和方法来提供数字字体对存在这些和其他问题。发明内容本公开的实施例利用用于有效地配对数字字体或简称“字体”同时考虑字体配对的非对称性的系统、计算机介质和方法来提供益处和或解决前述或本领域中的其他问题中的一个或多个。例如,所公开的系统采用非对称相似性度量学习来高效地将输入字体与和输入字体配对的字体以协调和一致的方式进行匹配。更具体地说,给定输入字体的公开系统可以跨电子文档的不同部分提供视觉美学字体对,诸如提供与输入正文字体良好配对的各种标题字体的字体对。为了训练非对称字体配对系统,一个或多个实施例涉及为训练字体集合中的字体生成特征向量。在一个或多个实施例中,所公开的系统、计算机介质和方法采用诸如卷积神经网络的神经网络来确定训练字体集合中的字体的特征向量。使用特征向量,所公开的系统、计算机媒体和方法联合地学习针对字体的对称兼容性空间和非对称兼容性空间。在一些实施例中,对称兼容性空间定义第一空间,其中特征向量之间的距离指示数字字体集合的对应数字字体之间的对称兼容性。类似地,在这些实施例中,非对称兼容性空间定义第二空间,其中特征向量之间的距离指示数字字体集合的对应数字字体之间的非对称兼容性。另外,所公开的系统、计算机介质和方法使用对称兼容性空间和非对称兼容性空间来生成评分函数,评分函数确定与输入字体配对的一个或多个字体。另外,所公开的系统、计算机介质和方法可以向计算设备提供对称兼容性空间和非对称兼容性空间,其使得计算设备能够确定与输入字体良好配对的匹配候选字体。为此,所公开的系统、计算机介质和方法可以接收输入字体。作为响应,所公开的系统、计算机介质和方法确定输入字体与字体集合中的字体之间的字体配对评分。具体而言,所公开的系统、计算机介质和方法基于评分函数来确定字体配对评分,评分函数包括联合地学习的对称兼容性空间和非对称兼容性空间。使用输入字体和字体集合中的字体之间的字体配对评分,所公开的系统、计算机介质和方法可以向用户呈现字体对。以这种方式,所公开的系统、计算机介质和方法可以向计算设备提供紧凑的字体配对模型,这使得计算设备能够快速且高效地标识匹配的字体对。实际上,所公开的系统、计算机介质和方法使得计算设备能够基于存储在计算设备上的现有字体快速且高效地标识匹配的字体对,同时比传统系统需要显著更少的存储器和计算要求。以下描述阐述了所公开的系统、计算机介质和方法的一个或多个实施例的附加特征和优点。在一些情况下,这些特征和优点对于本领域技术人员从描述中是显而易见的,或者可以通过所公开的实施例的实施而了解。附图说明如以下简要描述的,具体实施方式通过附图的使用利用附加特性和细节来描述一个或多个实施例。图1A和图1B图示了根据一个或多个实施例的电子文档中的字体对的示例。图2图示了其中可以根据一个或多个实施例实现非对称字体配对系统的示例性环境的示意图。图3图示了根据一个或多个实施例的训练和采用非对称字体配对系统的序列图。图4图示了根据一个或多个实施例的字体对的示例。图5A-5D图示了根据一个或多个实施例的基于输入字体来提供候选字体对的用户界面。图6A-6B图示了根据一个或多个实施例的基于输入字体来提供候选字体对的附加用户界面。图7A图示了根据一个或多个实施例的在执行用于基于特征向量来联合地学习对称投影矩阵和非对称投影矩阵的步骤中的动作。图7B图示了根据一个或多个实施例的在执行用于基于对称投影矩阵和非对称投影矩阵来确定与输入字体配对的一个或多个输出字体的步骤的动作。图8图示了根据一个或多个实施例的非对称字体配对系统的示意图。图9图示了根据一个或多个实施例的用于创建训练字体集合的文档。图10A和10B图示了非对称字体配对系统和传统系统的一个或多个实施例之间的字体配对比较。图11图示了根据一个或多个实施例的用于联合地学习对称兼容性空间和非对称兼容性空间的一系列动作的流程图。图12图示了根据一个或多个实施例的用于基于对称和非对称兼容性空间来确定字体对的一系列动作的流程图。图13图示了用于实现本公开的一个或多个实施例的示例性计算设备的框图。具体实施方式本公开描述了高效地配对数字字体或简称“字体”的非对称字体配对系统的一个或多个实施例。例如,在一个或多个实施例中,非对称字体配对系统自动标识并向用户提供电子文档的不同部分之间的视觉美学字体对。具体地,非对称字体配对系统使用联合对称和非对称度量学习来确定视觉美学字体对。此外,非对称字体配对系统提供了紧凑的模型,其使计算设备能够快速和高效地为用户提供字体对。为了训练模型,非对称字体配对系统可以访问包括高质量字体对的文档的大型数据库,非对称字体配对系统使用该高质量字体对来生成训练字体集合并获取字体对。非对称字体配对系统然后针对训练字体集合中的字体生成特征向量。在各种实施例中,非对称字体配对采用诸如卷积神经网络CNN的神经网络来确定针对训练字体集合中的字体的特征向量。使用特征向量,非对称字体配对系统联合地学习对称兼容性空间和非对称兼容性空间。在一个或多个实施例中,对称兼容性空间定义第一空间,其中特征向量之间的距离指示字体集合的对应字体之间的对称兼容性。类似地,非对称兼容性空间定义第二空间,其中特征向量之间的距离指示字体集合的对应字体之间的非对称兼容性。非对称字体配对系统采用配对和非配对指示符函数来生成对称兼容性空间和非对称兼容性空间。例如,配对指示符函数指示在训练字体集合中被配对的字体。非配对指示符函数可以指示两个字体在训练字体集合中何时未被配对。在某些情况下,非对称字体配对系统生成非匹配字体对,以便与非配对指示符一起使用,其增强学习过程的健壮性。另外,非对称字体配对系统可以向诸如客户端设备的计算设备提供包括对称兼容性空间和非对称兼容性空间的评分函数。客户端设备采用评分函数来确定字体对。例如,在用户提供具有第一文档部分类型的输入字体时,客户端设备使用评分函数来对用于不同文档部分类型的、与输入字体配对的候选字体进行排名。在一些实施例中,非对称字体配对系统向客户端设备提供图形用户界面,其使得用户能够与字体对交互。例如,图形用户界面允许用户选择输入字体并用各种候选字体对来呈现。此外,图形用户界面使得用户能够指定输入字体所属的电子文档的部分以及电子文档中的用于确定字体对的哪个附加部分。例如,用户从标题部分提供输入字体,并从正文部分或子标题部分请求候选字体对。如前所述,非对称字体配对系统相对于传统系统和方法的提供了许多优点和益处。例如,非对称字体配对系统通过标识和评估字体对中字体之间的细微区别来克服细微问题。相反,传统系统在配对字体时避免字体之间的区别,并且因此标识与输入字体相似的字体。然而,视觉美学字体对主要由具有不同特征和属性的字体组成。作为另一示例,非对称字体配对系统使标识和选择电子文档不同部分的美学字体对的复杂过程自动化。如上所述,专业设计人员已经建立了针对字体配对的规则列表,这些规则很难正式形成,并且可能因设计人员而异。此外,由于许多用户很少或根本没有字体配对训练,用户通常选择减损电子文档消息的对比字体对。此外,选择字体对的过程由于可用字体数目的增加而进一步被复杂化。许多客户端设备包含数百种字体,用户可以轻松添加附加的字体。事实上,关于每一种附加字体,字体对的数目美学和非美学对就会增加。结果,用户默认相同的字体对,而不管所生成的电子文档的类型如何,这通常会减损电子文档的消息。非对称字体配对系统通过识别用户客户端设备或另一位置上的哪些字体与给定字体在视觉上配对以及在直观界面中向用户提供视觉美学字体对来克服该问题。此外,随着附加字体被添加到客户端设备,兼容性空间的大小不会改变,这不同于基于字体数目按指数规模缩放的传统系统。作为另一益处,非对称字体配对系统解决了不可互换的字体配对问题。如上所述,将作为标题字体的字体A与作为电子文档的正文字体的字体B配对不会创建与将作为标题字体的字体B和作为正文字体的字体A配对相同的视觉美学。事实上,针对作为标题字体的字体A的字体对也可以不同于作为子标题或正文字体的字体A的字体对。相应地,非对称字体配对系统联合地学习对称兼容性空间和非对称兼容性空间,其可以在多维空间中定位彼此接近配对很好的字体,并且同样分离在相同空间中不匹配的字体对。作为进一步的益处,非对称字体配对系统相对于传统系统显著地改进了存储器和计算要求。例如,许多传统系统需要维护每个潜在字体对之间的字体配对的数据库。随着字体被添加,这个数据库的大小呈指数增长。因此,数据库太大以至于无法存储在许多客户端设备上。相反,非对称字体配对系统产生尺寸较小且易于转移到任意客户端设备例如,通常小于1兆字节的总空间的两个紧凑的兼容性空间例如兼容性空间投影矩阵。兼容性空间用存储在客户端设备上的任意字体集合来工作。此外,如上所述,兼容性空间的大小不会随着字体被添加到客户端设备而改变。此外,由于非对称字体配对系统提供的两个兼容性空间的紧凑大小,客户端设备可以使用存储的现有字体来实时或接近实时地标识字体对。实际上,在为电子文档的一部分选择输入字体时,客户端设备可以使用结合两个兼容性空间的评分函数来快速标识和显示在电子文档的另一部分中使用的、与输入字体配对的排序的字体的列表。以这种方式,非对称字体配对系统使计算设备能够快速和高效地标识匹配的字体对,同时比传统系统使用显著更少的存储器和计算要求。现在参考附图,图1A和1B图示了电子文档100a、100b中的字体配对的对比示例。如上所述,电子文档中的字体配对是图形设计中的一项重要任务。如果用户选择不能补充该对中的字体中的每个字体的字体对,则字体对可能“冲突”或出现断开连接并且干扰试图在电子文档中被传送的消息。为了简要说明,图1A图示了包括用于标题和子标题的相同字体的第一字体对102。图1B图示了具有用于标题和子标题的不同但可兼容的字体的第二字体对112。如所示,第二字体对112通过采用更加视觉美学的字体对来传送与第一字体对102不同的、更引人注目的消息。更详细地,图1A示出了具有第一字体对102的电子文档100a,该第一字体对102具有均使用相同字体即,Corbel的标题字体104和子标题字体106。虽然标题字体104大于子标题字体106,但是第一字体对102采用相同的字体类别和特征。具体地,第一字体对102中的标题字体104和子标题字体106均具有用于所选字体的“规则的”或默认属性。相反,图1B图示了具有第二字体对112的电子文档100b,第二字体对112具有来自不同字体类别的不同字体的并且具有不同字体特性的标题字体114和子标题字体116。如图所示,标题字体114是Corbel,并且子标题字体116是BookAntiqua。标题字体114和子标题字体116属于不同的字体类别并且具有不同的字体特性。例如,标题字体114是具有均匀笔画权重的sanserif字体例如,在字母上没有尾巴,而子标题字体116是具有不同权重的笔划的serif字体。另外,标题字体114具有默认的规则的字体特性,而子标题字体116采用italic字体特性。如图所示,第二字体对112中的兼容但是对比的字体类别和字体属性创建比类似的第一字体对102更令人愉快的美学。然而,需要为电子文档的不同部分多于仅选择两个对比字体,以创建视觉美学字体对。此外,在一些情况下,与第一字体对102相似的类似字体对可能比对比字体对更视觉美学以传达电子文档的消息。因此,如下面结合其余附图所描述的,非对称字体配对系统自动标识并向用户提供经证明为视觉美学的字体对。提供以下术语供参考。如本文所使用的术语“电子文档”是指包括数字字体的电子文档。例如,电子文档可以包括以文字处理文档、便携式文档文件PDF、图像文件、电子邮件文件、文本文件、网页或任意其他电子文件形式的电子文件。电子文档可以包括电子广告、小册子、传单或其他数字营销材料。类似地,电子文档可以包括电子书、杂志、期刊或其他数字出版物。因此,如图1B所示,电子文档100a、100b包括数字广告。另外,电子文档可以包括多个文档部分例如,文档部分类型。如本文所使用的术语“文档部分”是指电子文档的结构化部分。电子文档的示例文档部分包括但不限于名称、标题、子标题、正文、表格、标题、注释、脚注、签名和附录。文档部分可以包括具有不同字体的数字字符和或具有包括不同特性的字体的数字字符。如本文所使用的术语“数字字体”或简称“字体”是指定义的数字字符集合。具体地,术语“字体”包括特定风格或字体的数字字符的集合。字体包括带有扩展名的数字文件,诸如但不限于:.ttf、.otf、.fnt、.abf、.ttc、.suit、.woff、.vnf、.t65、.sfp、.sad、.pmt、.pfm、.pfb、.pfa、.odtff、.mf、.gdr、.fon、.fnt、.etx、.eot、.compositefont、.acfm、.afm或.amfm。例如,术语数字字体包括标题为TimesNewRoman、Helvetica、Arial、AdobeCleanLight、PTSansRegular、Corbel或本文包括的其他字体标题的字体。字体可以包括字体分类即字体类和字体特性。如本文所使用的术语“字体分类”是指字体类别并且可以包括用于对数字字体进行分类的预定义类别。例如,字体分类包括字体类即Serif、SansSerif、SlabSerif、Script、Blackletter、Mono、Hand或Decorative。另外,本文使用的术语“字体特性”是指对应于字体的属性。具体地,术语“字体特性”描述了应用于字体的样式。例如,字体特性可以包括样式例如,规则、粗体、斜体、阴影、下划线、删除线、下标或上标、权重例如,轻量、规则和重权重、宽度例如浓缩、规则、和扩展宽度、大写样式例如,所有大写字母、小写字母、标题大小写和句子大小写、x高度例如,小的、规则和大的x高度、字体字形glyph数据,诸如字形曲率、间隔、大小、形状、宽度、高度、位置例如,相对于基线的位置、面积、方向、每个字形的曲线数量、弧长或对比度例如低、规则和高对比度。另外,非对称字体配对系统可以将字体减少为一个或多个数字度量,例如减少到特征向量中。如本文所使用的术语“字体特征向量”或简称为“特征向量”是指字体的特征。特征可以是潜在特征或可测量特征。具体地,术语“特征向量”包括与字体的属性和特性相对应的数字度量集合。在一个或多个实施例中,特征向量是表示字体的多维数据集合。在一个或多个实施例中,特征向量包括由机器学习算法学习的数值度量集合。在这种情况下,特征向量可以包括字体分类特征例如,用于对字体进行分类的字体特征、字体对称特征例如,用于标识相似字体的字体特片和或字体非对称特征例如用于标识不同字体的字体特征。因此,特征向量可以包括由诸如神经网络的机器学习算法确定的潜在表示。备选地,特征向量可以包括非潜在特征,诸如表示字体的样式、高度、重量、宽度和其他特征的低级数值度量。如本文所使用的术语“机器学习”是指用于构建和实现可以从数据学习并对对局进行预测的算法的过程。一般而言,机器学习可以通过构建来自示例输入例如训练的模型诸如训练字体集合来进行操作,以进行数据驱动的预测或决策。在一些示例实施例中,机器学习被用于数据挖掘和统计模式识别,诸如协作特征学习,或者来自训练字体集合的学习特征。另外,术语“机器学习算法”包括神经网络,诸如卷积神经网络CNN。术语“潜在表示”可以指不直接可测量的表示或特征。具体地,“潜在表示”可以包括通过使用其他特征通过建模来推断的表示或因素。类似地,术语“潜在表示”可以指通过特征学习通过对间接数据建模而生成的表示。特征学习可以包括两类:监督特征学习和无监督特征学习。在监督的特征学习中,基于标记的输入数据来学习特征。示例包括神经网络、多层感知器和监督字典学习。在无监督的特征学习中,用未标记的输入数据来学习特征。示例包括字典学习、独立分量分析、矩阵分解和各种形式的聚类。如本文所使用的术语“联合地学习”是指其中多个学习模型一起被解决的机器学习算法。具体而言,术语“联合地学习”包括在利用跨任务的角色和约束的同时解决多个学习任务。例如,非对称字体配对系统可以采用指示符函数作为联合地学习的一部分。如本文所使用的术语“指示符函数”是指指示特定子集中的字体的成员身份的函数。例如,指示符函数可以是配对、匹配或正指示符函数,其指示给定字体与训练字体集合中的另一给定字体进行配对。在另一实例中,指示符函数可以是非配对、不匹配或负指示符函数,其指示给定字体不与学习字体集合中的另一给定字体进行配对。在一个或多个实施例中,指示符函数是两个字体在给定文档部分组合中的训练字体集合中被配对的指示。另外,非对称字体配对系统采用联合地学习来基于字体特性向量来求解对称空间和非对称空间。如本文所使用的“对称空间”或“对称兼容性空间”是指基于字体的特征向量来标识字体集合中的字体对之间的对称兼容性的多维空间。术语“对称兼容性空间”是指空间在该空间中字体例如输入字体与其他字体之间的距离指示对称兼容性。在一个或多个实施例中,对称兼容性空间是潜在空间。例如,当特征向量包括潜在特征时,对称兼容性空间可以包括潜在空间。对称的对称空间表示在至少一个上下文中兼容的字体即,至少一个文档用例,例如标题子标题,如果文档用例被切换,则不考虑是否相同的字体对是兼容的。本文使用的对称投影矩阵是对称兼容性空间的数字表示。类似地,如本文所使用的术语“非对称空间”或“非对称兼容性空间”是指基于字体的特征来标识训练字体集合中的字体对之间的非对称兼容性的多维空间。例如,术语“非对称兼容性”是指其中在给定文档用例时字体例如,输入字体与其他字体之间的距离指示非对称兼容性的空间。在一个或多个实施例中,非对称兼容性空间是潜在空间。例如,当特征向量包括潜在特征时,非对称兼容性空间可以包括潜在空间。作为非对称的非对称兼容性空间中的特征向量之间的距离取决于被分配给输入字体的文档部分。事实上,作为标题的字母A和作为子标题的字体B之间的非对称兼容性如非对称兼容性空间中的距离所示的可以具有与字体B作为标题和字体A作为子标题不同的非对称兼容性如由相同非对称中的距离所表示的。如本文所使用的非对称投影矩阵是非对称兼容性空间的数字表示。如本文所使用的术语“联合评分函数”、“自适应评分函数”或简单地“评分函数”是指应用联合地学习模型以得出具有数值的结果的函数。例如,在联合地学习模型作为输入的情况下,评分函数提供准确的概率预测。例如,非对称字体配对系统采用评分函数来对输入字体和与输入字体配对的候选字体之间的字体对进行评分和排序。如本文所使用的术语“输入字体”是指基于评分函数来识别候选字体的字体。术语“候选字体”是指来自字体集合的字体例如,位于计算设备上的字体,其可能与输入字体配对。图2图示了根据一个或多个实施例的其中可以实现非对称字体配对系统204的环境200的示意图。在一个或多个实施例中,环境200包括各种计算设备,各种计算设备包括服务器设备202和一个或多个客户端设备206a、206b。另外,环境200包括网络212。网络212可以是计算设备可以在其上通信的任意合适的网络。下面将更详细地讨论示例网络。如图2所示,环境200包括服务器设备202。服务器设备202可以包括任意计算设备,诸如下面描述的一个或多个计算设备。另外,服务器设备202实现包括非对称字体配对系统204的电子文档系统203。电子文档系统203可以包括基于云或服务器的系统,该系统向电子文档提供字体的使用,诸如例如备选地,电子文档系统203可以包括字体管理系统,诸如非对称字体配对系统204可以结合电子文档系统来工作以建议在电子文档中使用的字体。服务器设备202可以向一个或多个客户端设备206a、206b发送数据。例如,非对称字体配对系统204向客户端设备206a发送对称兼容性空间和非对称兼容性空间。客户端设备206a、206b可以包括任意计算设备,诸如下面结合图13描述的计算设备中的一个或多个。如图所示,一个或多个客户端设备206a、206b包括非对称字体系统204a、204b的一个或多个组件。例如,非对称字体配对系统204a、204b包括对称兼容性空间208a、208b和非对称兼容性空间210a、210b。例如,一个或多个客户端设备206a、206b从服务器设备202上的非对称字体配对系统204接收对称兼容性空间208a、208b和非对称兼容性空间210a、210b。如下所述,一个或者更多客户端设备206a、206b可以采用对称兼容性空间208a、208b和非对称兼容性空间210a、210b来向对应的用户提供将候选字体与输入字体相匹配的字体对。如图所示,在一个或多个实施例中,服务器设备202可以包括非对称字体配对系统204的全部或一部分。具体地,非对称字体配对系统204可以包括运行于服务器设备202上的应用或者可以从服务器设备202被下载的软件应用的一部分。例如,非对称字体配对系统204可以包括允许客户端设备206a与被托管在服务器设备202上的内容进行交互的网络托管应用。为了说明,在环境200的一个或多个实施例中,客户端设备206a访问由服务器设备202支持的网页。具体地,客户端设备206a可以运行应用以允许用户访问、查看、选择和或交互托管在服务器设备202处的网页或网站内的字体对例如,网页使得用户能够选择输入字体和电子文档的部分。尽管图2图示了服务器设备202、客户端设备206a、206b和网络212的特定布置,但各种附加布置是可能的。例如,虽然图2图示了经由网络212与服务器设备202通信的一个或多个客户端设备206a、206b,但是在一个或多个实施例中,单个客户端设备可以绕过网络212而直接与服务器设备202通信。类似地,虽然图2的环境200被描绘为具有各种组件,但环境200可具有附加的或备选的组件。例如,非对称字体配对系统204可以在多个计算设备上被实现。具体地,非对称字体配对系统204可以全部由服务器设备202来实现,或者非对称字体配对系统204可以全部由客户端设备206a来实现。备选地,非对称字体配对系统204可以跨多个设备或组件例如,利用服务器设备202和一个或多个客户端设备206a、206b实现。图3提供了根据一个或多个实施例的训练和采用非对称字体配对系统的广泛概述。下面参照图7A-9提供关于非对称字体配对系统的训练和采用的更多细节。如图所示,图3包括托管非对称字体配对系统204的服务器设备202和客户端设备206其可以表示一个或多个客户端设备206a、206b的客户端设备,其实现了非对称字体配对系统204a的一个或多个组件。尽管在所示实施例中在服务器设备202或客户端设备206上显示了某些动作,但是在备选实施例中这些动作可以由不同的或多个计算设备来执行。此外,虽然这些动作被描述为由非对称字体配对系统204执行,但是可以理解,这对于计算机可读指令例如,非对称字体配对系统的一部分来说是短暂的,其在被执行时使服务器设备202和或客户端设备206执行如图3所指示的给定动作。为了简化说明,图3中描述的动作是针对标题字体、正文字体和标题正文字体配对来描述的。尽管描述了标题字体、正文字体和标题正文字体配对,但图3中描述的动作同样应用于电子文档的其他部分即,字体对应于不同的文档部分类型。例如,这些动作可以被描述为来自电子文档的第一部分的第一字体和来自电子文档的第二部分的第二字体。例如,图3中描述的动作对应于标题字体、子标题字体和标题子标题字体配对。如图3所示,非对称字体配对系统204标识302具有字体配对数据的训练字体集合。例如,非对称字体配对系统204获得、访问、生成和或收集训练字体集合,该训练字体集合至少包括标题字体,正文字体以及标题字体和正文字体之间的字体对例如标题正文字体对的指示。字体对的指示可以包括列表或可以从文档中提取。例如,非对称字体配对系统204可以标识在文档中使用哪些字体配对来确定字体对的指示。标题正文字体对指示具有训练字体集合中的标题文件部分类型的哪种字体与具有训练字体集合中的正文文件部分类型的哪种字体配对。在一个或多个实施例中,非对称字体配对系统204标识字体配对列表。例如,对于每个标题字体,训练字体集合包括与标题字体配对的正文字体的列表。另外,该列表可以包括重复的标题正文字体对,以捕获训练字体集合中哪些字体对更常见。在备选实施例中,非对称字体配对系统204通过为每个标题字体构造字体对的列表来生成训练字体集合,该列表包括与标题字体配对的每个正文字体。此外,非对称字体配对系统204可以为每个正文字体标识和或生成字体对列表,字体对列表包括对应的标题字体。如上所述,字体配对是一个非对称的问题,因为除了其他问题外,训练字体集合中的标题正文字体对不等同于来自相同训练字体集合的正文标题字体对。为了简单起见,描述了标题正文字体对;然而,相同的原理、技术和动作应用于电子文档其他部分之间的正文标题字体对或字体对。在一些实施例中,标题字体的数目不同于训练字体集合中的正文字体的数目。例如,训练字体集合包括比正文字体更少的标题字体。在各种实施例中,训练字体集合提供标题字体和正文字体的图像,使得非对称字体配对系统可以学习每种字体的字体特征,如下所述。在附加的实施例中,训练字体集合包括用于训练字体集合中的一种或多种字体的元数据,诸如字体特性。关于下面的图9提供了字体的训练集合的详细示例。非对称字体配对系统204针对训练字体集合中的每个字体确定304特征向量。例如,非对称字体配对系统204采用机器学习算法来学习训练字体集合中的字体的潜在特征。在一个或多个实施例中,非对称字体配对系统204通过采用机器学习算法模型例如,诸如美国专利9,501,724中所述的DeepFont模型,其全部内容通过引用并入本文来计算特征向量,该机器学习算法模型使用视觉字体识别VFR、卷积神经网络CNN分解方案、和基于堆叠卷积自动编码器SCAE的域自适应技术。例如,使用上述机器学习算法模型,非对称字体配对系统204获得字体i的特征向量作为其中D表示768维度。备选地,服务器设备202可以采用使用不同数目的维度的机器学习算法模型。在备选实施例中,非对称字体配对系统204分析每种字体并基于可测量即,非潜在特征诸如字体分类即,Serif、SansSerif、SlabSerif、Script、Blackletter、Mono、Hand或Decorative、重量例如轻重量、普通重量和重重量、宽度例如,压缩、普通和扩展宽度、x高度例如小、普通和大x高度、对比度例如,低对比度、普通对比度和高对比度、大写样式、数字样式或其他属性来构建特征向量。非对称字体配对系统204确定306字体对的配对指示符函数。如上所述,非对称字体配对系统204为每个标题字体标识和或生成字体对的列表。对于训练字体集合中的每个标题正文字体对例如,正字体对,非对称字体配对系统204将配对指示符函数设置为第一值例如,1。另外,非对称字体配对系统204针对字体对确定306非配对指示符函数。因为训练字体集合可能不指示标题字体和正文字体何时不配对例如,负字体对,所以在一个或多个实施例中,非对称字体配对系统204生成非配对字体对。例如,非对称字体配对系统204从排除正字体对的可能的字体对中随机生成负字体对的样本。对于每个负标题正文字体对,非对称字体配对系统204将非配对指示符函数设置为第二值例如0或-1。通常,为了鲁棒性,非对称字体配对系统204大致生成与正字体对相同数目的负字体对。因此,被设置为第一值例如,1的配对指示符函数的数量大致等于被设置为第二值例如0或-1的非配对指示符函数的数目。人们将认识到,非对称字体配对系统可以针对指示符函数采用不同的值。根据本文的公开内容,将理解,指示符函数是文档部分组合特定的。换句话说,对于给定的一对字体X和Y,当在标题部分中使用字体X并且在正文部分中使用字体Y时,指示符函数可以是正的,而当在标题部分中使用字体X并且在子标题部分中使用字体Y时,指示符函数可以是负的。基于指示符函数,非对称字体配对系统204联合地学习308对称兼容性空间和非对称兼容性空间。在一个或多个实施例中,非对称字体配对系统204采用度量学习ML,其为监督机器学习算法,来联合地学习两个兼容性空间。通常,传统的单一度量学习扩大了非兼容字体例如,非配对字体的特征向量之间的距离并缩小了兼容字体例如,配对字体的特征向量之间的距离。然而,传统的单一度量学习不能解决字体配对的非对称问题,如上所述,这是有问题的。为了解决这个问题,非对称字体配对系统204应用联合模型,联合模型桥接用于配对字体之间的距离度量的学习和用于配对字体的非对称兼容性判定规则,如以下关于图7A更详细描述的。例如,在一个或多个实施例中,非对称字体配对系统204基于联合地学习字体对之间的对称关系和非对称关系来联合地学习对称兼容性空间和非对称兼容性空间。例如,非对称字体配对系统204将字体X和字体Y以及字体X和字体Y是否形成对称对的指示以及字体X和字体Y是否形成非对称对的指示例如,上述的配对和非配对指示符函数提供给机器学习算法。基于输入即,字体X、字体Y、对称指示和非对称指示,非对称字体配对系统204联合地学习对称兼容性空间和非对称兼容性空间。例如,非对称字体配对系统204采用度量学习来:当两种字体是对称对时,在对称兼容性空间中将字体X和字体Y的特征向量映射靠近在一起,并且当两种字体是非对称对时,将字体X和字体Y的特征向量映射分开更远。类似地,当两种字体是非对称对时,非对称字体配对系统204将字体X和字体Y的特征向量在非对称兼容性空间中映射靠近在一起,并且当两种字体不是非对称对时,非对称字体配对系统204将字体X和字体Y的特征向量在非对称兼容性空间中映射分开更远。此外,非对称字体配对系统204可以为训练字体集合中的每个字体对重复该过程。总体而言,非对称字体配对系统204继续学习对称兼容性空间和非对称兼容性空间,直到目标函数最小化。注意,在某些情况下,使目标函数损失最小化可能导致次优对称误差损失或次优非对称误差损失。因此,在一些实施例中,非对称字体配对系统204利用目标函数作为联合地学习对称兼容性空间和非对称兼容性空间的一部分。作为利用目标函数的一部分,非对称字体配对系统204应用规则化来防止特征向量过度失真。例如,规则导致对称兼容性空间和非对称兼容性空间更好地类似于兼容性空间中的单位矩阵,其为兼容性空间提供了附加的稳定性和鲁棒性。此外,在各种实施例中,非对称字体配对系统204还采用折衷参数和或Frobenius范数,如下面结合图7A进一步描述的。在一个或多个实施例中,对称兼容性空间和非对称兼容性空间具有彼此相同的维度。因为对称兼容性空间和非对称兼容性空间具有相同的维度,所以非对称字体配对系统204可以生成并使用采用两个兼容性空间的评分函数来确定指示两个字体如何良好配对的数字测量。此外,基于评分函数的评分,非对称字体配对系统204可以推荐与输入字体配对的候选字体。类似地,非对称字体配对系统204可以将评分函数以及两个兼容性空间提供给计算设备,以使计算设备能够基于输入字体来标识和推荐候选字体。如上所述,非对称字体配对系统204可以针对每个文档部分组合联合地学习对称兼容性空间和非对称兼容性空间。为了说明,在电子文档的标题和子标题之间工作良好的相同字体对在电子文档的标题和正文之间不能很好地配对。因此,非对称字体配对系统204标识对称兼容性空间和非对称兼容性空间,以确定每种类型的文档部分配对之间的字体对。然而,值得注意的是,非对称字体配对系统204可以采用相同的兼容性空间集合例如,对称兼容性空间和非对称兼容性空间来确定相同文档部分组合的字体对,而不管哪个文档部件包括输入字体例如,标题正文字体对或正文标题字体组合。为了说明,图3图示了非对称字体配对系统204使用对称兼容性空间和非对称兼容性空间来生成309评分函数。通常,评分函数在兼容性空间中产生输入字体和的潜在候选字体之间距离。在一个或多个实施例中,非对称字体配对系统204生成自适应评分函数,自适应评分函数具有基于当前字体输入和潜在候选字体而改变的自适应阈值。因此,不同于使用恒定阈值的传统系统,非对称字体配对系统204在计算输入字体的字体配对评分时生成评分函数,该评分函数考虑对称兼容性空间和非对称兼容性空间两者。下面关于图7B提供自适应评分函数的示例。另外,非对称字体配对系统204将评分函数连同对称兼容性空间和非对称兼容性空间一起提供310给客户端设备206。例如,非对称字体配对系统204将自适应评分函数提供给客户端设备206,自适应评分函数合并对称投影矩阵和非对称投影矩阵。以这种方式,如下面进一步描述的,非对称字体配对系统204可以向客户端设备206提供标识输入字体的候选字体的评分函数,其中候选字体具有非对称的特征匹配,但也与输入字体形成视觉美学字体对。在一个或多个实施例中,除了为标题正文字体对提供评分函数和两个兼容性空间之外,非对称字体配对系统204还提供与不同文档部分的字体对例如,标题子标题和子标题正文字体对相对应的兼容性空间。在这些实施例中,客户端设备206可以采用相同的评分函数,但是具有与所选择的输入字体的文档部分类型和所选择的候选字体的文档部分类型相对应的两个兼容性空间。以这种方式,非对称字体配对系统204可以通过仅为每个组合提供附加的紧凑兼容性空间来使客户端设备206能够确定多个文档部分组合之间的字体对。注意,虽然非对称字体配对系统204从训练字体集合中确定对称兼容性空间和非对称兼容性空间,但不同于传统系统,非对称字体配对系统204不需要向客户端设备206提供训练字体集合。通常,训练字体集合庞大且太大以至于不能存储在许多客户端设备上,诸如具有有限存储器的移动设备。相反,对称兼容性空间和非对称兼容性空间的大小通常小于1兆字节,这可以由大多数客户端设备轻松存储。此外,因为兼容性空间的大小较小,所以非对称字体配对系统204可以向客户端设备提供多个兼容性空间集合来存储,如前所述。如图3所示,客户端设备206确定312针对本地存储的字体的特征向量。例如,非对称字体配对系统204向客户端设备206提供关于如何确定和存储针对本地存储的字体的特征向量的指令。客户端设备仅需要对现有字体并且当附加字体随后被添加到客户端设备206时执行一次该操作。因为本地存储在客户端设备上的字体的数目通常小于几百,所以用于生成和存储这些特征向量的计算和存储器资源是微不足道的。在备选实施例中,非对称字体配对系统204确定服务器设备处的特征向量并将它们发送到客户端设备206,以便能够利用服务器设备202的计算资源。另外,存储在客户端设备206上的字体不需要是来自训练字体集合的字体。为了解释,如上所述,非对称字体配对系统204采用机器学习算法,该机器学习算法将训练字体集合中的字体缩减为多维数字特征向量,其中维度表示字体的潜在特性和属性。类似地,非对称字体配对系统204使用相同或类似的机器学习算法来将客户端设备206上的字体缩减为相同的多维数字特征向量。如图所示,客户端设备206接收314在电子文档中选择输入字体的用户输入。例如,用户选择存储在客户端设备206上的标题字体作为电子文档中的输入字体,并请求与输入标题字体良好配对的一个或多个候选正文字体。在另外的实施例中,客户端设备206接收用户选择或指定输入字体对应的部分例如,标题部分和一个或多个候选字体对应的部分例如,正文部分的输入。下面结合图5A-5D描述接收针对输入字体、候选字体和电子文档的部分的用户输入的示例。基于接收输入字体,客户端设备206基于对称兼容性空间和非对称兼容性空间来从候选字体中确定316字体对。具体而言,客户端设备206采用评分函数,评分函数计算输入标题字体和客户端设备206上存储的字体之间的字体配对评分例如,标题正文字体配对评分。通常,计算时间是与存储在客户端设备206上的字体的数目成比例的,并且因为存储的字体的数目相对较小例如几百,所以客户端设备206可以实时或接近实时地对每种字体进行评分。如上所述,鉴于对称兼容性空间和非对称兼容性空间,评分函数针对客户端设备206上的每个存储的字体来分析输入标题字体。例如,使用输入标题字体的特征向量,非对称字体配对系统204在对称兼容性空间和非对称兼容性空间两者中确定哪些存储的字体具有最接近输入标题字体的特征向量。评分函数使得非对称字体配对系统204能够达到表示两种字体之间的距离的数值即字体配对评分。使用标题正文字体配对评分,非对称字体配对系统204可以确定一个或多个候选正文字体以与输入标题字体配对。例如,在一个或多个实施例中,客户端设备206将所存储的字体的子集标识为配对正文字体。在一些实施例中,该子集基于字体配对评分阈值,诸如前十个字体配对评分、标题正文字体配对评分的前10%、和或具有字体配对评分超过阈值量的字体。例如,非对称字体配对系统204选择前五个标题正文字体配对评分作为候选正文字体。如所示的,非对称字体配对系统204提供318字体对的列表。例如,客户端设备206向用户提供与输入标题字体配对的经标识的高评分正文字体中的每一个。在一些实施例中,客户端设备206在电子文档内提供字体对。在备选实施例中,客户端设备206在来自电子文档的分离图形用户界面中提供字体对。值得注意的是,非对称字体配对系统204可以采用相同的评分函数和兼容性空间来确定标题正文字体对,其中标题字体或正文字体是输入字体。实际上,与传统系统不同,非对称兼容性空间导致具有标题文档类型的字体A与具有正文文档类型的字体B之间的距离不同于具有标题文档类型的字体B与具有正文文档类型的字体A之间的距离。结果,非对称字体配对系统204可以使用相同的非对称兼容性空间来适当地确定非对称字体对。在各种实施例中,客户端设备206确定配对字体的数目低于可用字体对的最小数目。例如,客户端设备206标识少于三个与输入字体良好配对的字体。此外,在一些实施例中,客户端设备206可以提示用户经由非对称字体配对系统204来在线查看其他字体配对。在前述实施例中,客户端设备206可自动地或基于用户输入来请求来自非对称字体配对系统204的附加字体配对。例如,客户端设备206向非对称字体配对系统204提供具有输入标题字体的文本串,并且非对称字体配对系统204使用在线字体存储库来标识附加候选体字体。非对称字体配对系统204可以在显示电子文档的应用内或者经由web界面向用户显示附加字体对。另外,如果用户选择不位于客户端设备206上的候选字体,则非对称字体配对系统204可以辅助用户购买和或下载并安装所选字体。应当理解,关于图3描述的动作旨在说明根据本公开的动作,并且不旨在限制潜在的实施例。备选实施例可以包括比图3中表述的动作更多、更少或不同的动作。另外,本文描述的动作可以以不同的顺序执行,可以重复或者彼此并行地执行,或者可以与相同或类似动作的不同实例并行地执行。如上所述,非对称字体配对系统204标识视觉美学字体对以呈现给用户。为了说明,图4示出了根据一个或多个实施例的字体对400的示例。如图4所示,非对称字体配对系统204基于输入字体402标识候选字体404。为了简单起见,图4中仅有字体对400之一被标记。例如,用户在客户端设备上生成电子文档,该电子文档包括定位在默认子标题字体下方的输入标题字体例如,输入字体402。与许多电子文档一样,用户可以选择和修改电子文档的两个部分之间的空间关系。另外,客户端设备可检测来自用户的、用于标识候选子标题字体例如,候选字体404的请求。作为响应,如上所述,客户端设备可以标识并呈现来自本地存储的字体中的字体对400。如图所示,每个字体对包括位于不同候选字体404上方的相同输入字体402。空间关系可以基于用户输入例如,基于用户指定电子文档的两个部分之间的空间位置和或关系或根据默认层次结构例如,从顶部到底部呈现的标题子标题正文。另外,如图所示,每个字体对列出候选字体404的字体名称406。当呈现候选字体404时,非对称字体配对系统204可以可选地向用户显示字体名称406。图5A-5D图示了根据一个或多个实施例的基于输入字体提供候选字体对的图形用户界面。例如,客户端设备500显示向用户提供字体对的应用的多个图形用户界面502a-d。图形用户界面502a-d中的每一个包括字体配对工具栏504、字体对列表506、其他图形元素中的电子文档508。以下描述描述了执行各种动作的客户端设备500。将理解,这对于由客户端设备500执行的、用于使客户端设备500执行各种动作的非对称字体配对系统204的计算机可读指令来说是很简单的。如图5A中的图形用户界面502a所示,字体配对工具栏504包括各种可选元素例如,按钮、单选按钮和下拉菜单,各种可选元素例如,按钮、单选按钮和下拉菜单使得用户能够指定输入字体以及在电子文档508内的哪些部分用于提供字体对。例如,字体配对工具栏504包括部分配对选项512,其中用户可以指定电子文档508的标题子标题部分之间的字体配对。另外,字体配对工具栏504包括输入字体选项514,其中用户可以将标题字体或正文字体指定为输入字体例如,通过选择单选按钮或从对应的下拉菜单中选择字体。在一些实施例中,输入字体选项514基于对部分配对选项512的选择而被更新,如以下在图5D中所示。此外,字体配对工具栏504包括字体族选项518,其中用户可以指定是否将潜在的候选字体限制为与输入字体相同和或不同的族。在检测到用户选择部分配对选项512和输入字体选项514时,客户端设备500可以更新图形用户界面502a以填充字体对列表506。字体对列表506包括多个字体对,其中每个字体对包括输入字体520和候选字体522。此外,在客户端设备500检测到所选择的字体对524如粗体轮廓所指示的时,客户端设备500可以更新图形用户界面502a中的电子文档508以反映来自所选择的字体对524的输入字体和候选字体。另外,客户端设备500可更新输入字体选项514上的未选择的选项,以指示所选择的字体对524中的候选字体的名称。为了说明,图5A中的图形用户界面502a示出了标题正文部分配对例如,部分配对选项512的选择,其中选择标题字体即,MyriadProRegular作为输入字体例如,输入字体选项514。基于用户输入,非对称字体配对系统204如上所述标识候选字体,并且提供与字体对列表506中的输入标题字体配对的候选正文字体。在一些实施例中,客户端设备500如上所述根据字体配对评分来对字体对列表506中字体对进行排序。在备选实施例中,客户端设备500基于候选字体的流行度、逆向流行度、按字母顺序或通过一些其他顺序来对字体对列表506中的字体对进行排序。如进一步所示,候选字体列表包括对第一字体对的选择,第一字体对包括输入字体520即,MyriadProRegular和候选字体522即,LucidaSansRegular。作为响应,客户端设备500更新电子文档508以用字体MyriadProRegular来填充标题部分并用字体LucidaSansRegular来填充正文部分。另外,客户端设备500更新输入字体选项514中的正文字体的名称,以将所选择的候选字体显示为LucidaSansRegular。在一个或多个实施例中,在用户与电子文档508中的文本特性交互时,客户端设备自动地更新字体配对工具栏504中的选择。例如,在用户编辑正文部分时,客户端设备500更新输入字体选项514以选择正文字体作为输入字体。此外,响应于客户端设备500更新输入字体选项514,客户端设备500还可以更新字体对列表506以显示正文标题字体配对。因此,在这些实施例中,当用户与客户端设备500交互时,非对称字体配对系统204自动检测、标识并向用户呈现字体对。如图5B所示,客户端设备500基于检测到用户选择不同的所选字体对524来更新图形用户界面502b。如所示,用户在字体对列表506中选择第二字体对。作为响应,客户端设备500更新电子文档508的部分以匹配选择的字体对524中的字体。客户端设备500还更新字体配对工具栏504中的输入字体选项514以反映更新的选择的候选字体即,MistrelItalic。当用户选择不同的字体对时,客户端设备500可以继续更新电子文档508以匹配选择的字体对524。在一些实施例中,客户端设备500用所选字体对524中的候选字体来更新电子文档中的部分的多次出现。例如,客户端设备500将电子文档中的每个正文部分更新为MistrelItalic。在备选实施例中,500仅更新电子文档508的可见或选择的正文部分。如上所述,用户可以改变哪个部分包括字体配对工具栏504的输入字体选项514中的输入字体。如图5C的图形用户界面502c所示,客户端设备500检测到对正文字体作为输入字体的选择。如上所述,在一些实施例中,客户端设备500基于用户与电子文档508内的正文字体部分交互来自动更新输入字体选项514。在备选实施例中,用户使用单选按钮或通过从输入字体选项514的下拉菜单中选择正文字体来手动地选择正文字体作为输入字体。响应于检测到正文字体被选择为输入字体,客户端设备500修改图形用户界面502b以反映字体对506的更新列表。如字体对506的列表中所示,正文字体中的每一个是相同的例如,LucidaSansRegular,而标题字体在匹配字体对之间变化。以这种方式,在每个匹配对中,正文字体已经变成输入字体520,并且标题字体已经变为候选字体522。同样如图5C所示,客户端设备500检测对所选字体对524的选择。作为响应,客户端设备500更新电子文档508以合并来自所选字体对524的候选字体522例如,JavacomRegular。在一些实施例中,当用户改变输入字体选项514时,客户端设备500自动从字体对列表506中选择字体对并将所选字体对524应用于电子文档508。在其他实施例中,客户端设备500仅在用户手动选择字体对时更新电子文档508。此外,在一些实施例中,图形用户界面502c和或本文中描述的其他图形用户界面包括“后退”、“撤消”或“清除”选项,用于在用户选择字体对之前将电子文档508恢复到先前采用的字体。如上所述,电子文档的两个部分之间的字体配对是非对称的。然而,只要部分配对选项512保持相同,当用户改变输入字体选项514时例如,从作为输入字体的标题字体到作为输入字体的正文字体,客户端设备500可以采用相同的对称兼容性空间和非对称兼容性空间来确定字体对。此外,如果用户改变了部分配对选项512,则客户端设备500可以同样使用相应的兼容性空间来确定针对更新的从属权利要求部分配对的字体对。如上所述,因为兼容性空间需要很少的存储器来存储在客户端设备上,所以客户端设备可以容易地存储兼容性空间的多个集合。如图5D所示,客户端设备500可以检测部分配对选项512中的选择改变。例如,图形用户界面502d图示了部分配对选项512中到标题和子标题目“HeaderSub_header”选项的改变。作为响应,客户端设备500更新输入字体选项514以包括标题字体和子标题字体。以这种方式,基于用户输入,客户端设备500可以基于哪个部分包括输入字体来为电子文档的不同部分配对提供字体对以及不同的字体对。在各种实施例中,非对称字体配对系统204可以使客户端设备500能够在电子文档508内的相同部分或相同类型的部分之间提供字体对。例如,部分配对选项512包括“标题标题”或“正文正文”选项,其中客户端设备500类似地提供如上所述的字体对。在一个或多个实施例中,客户端设备500使得用户还能够结合各种字体对在电子文档内添加和预览图像。为了说明,图6A和6B示出了根据一个或多个实施例的基于输入字体提供候选字体对的附加图形用户界面。为了简单起见,图6A和6B使用以上关于图5A-5D描述的客户端设备500和图形元素。例如,图6A和6B中的客户端设备500包括字体配对工具栏504、字体对列表506和电子文档508。如图6A所示,客户端设备500显示图形用户界面602a,图形用户界面602a在字体配对工具栏504中包括导入图像选项630。在检测到用户选择导入图像选项630时,客户端设备500促进用户选择图形或图像632以添加到电子文档508。在客户端设备500将图像632添加到电子文档508之后,用户可以与字体配对工具栏504交互,如上所述,以结合图像632查看不同的视觉美学字体。在备选实施例中,客户端设备500使得用户能够查看覆盖默认或通用图像的字体对。为了说明,在图6A中,所选字体对524包括标题字体Javacom和LucidaSans的子标题字体。相应地,图形用户界面602a示出采用这些字体的电子文档508。在所选字体对524改变时,如图6B所示,客户端设备500更新图形用户界面602b以在电子文档508内显示更新的标题候选字体。同样如图6A和图6B所示,字体对列表506包括与电子文档508中的文本相匹配的文本。在一个或多个实施例中,客户端设备500从电子文档508的相应部分中拷贝文本或文本的一部分,以在字体对列表506中显示每个字体对的预览。另外,客户端设备500可以在字体对中显示默认文本。例如,如果电子文档508中的正文部分尚未包括文本或文本量不足例如,少于两个字或五个字符,则客户端设备500可以用默认或随机的正文文本来填充每个字体对的正文文本。现在转到图7A和7B,提供关于联合地学习对称兼容性空间和非对称兼容性空间以及使用兼容性空间来识别视觉上美学字体对的附加细节。具体地,图7A图示了与执行步骤700相结合的动作702-706b,用于基于特征向量来学习对称投影矩阵和非对称投影矩阵。图7B图示了结合执行步骤710的动作712-716,用于基于对称投影矩阵和非对称投影矩阵来确定与输入字体配对的一个或多个输出字体。与其他附图一样,虽然图7A和7B的描述对应于标题字体和正文字体之间的字体配对,但是相同的动作应用于其他文档部分组合。如图7A所示,非对称字体配对系统204获得702训练字体集合。例如,非对称字体配对系统204标识包括用作标题字体和正文字体的字体或电子文档中的其他部分中的字体之间的人类助理电子文档集合。训练字体集合中的标题字体和正文字体可以是相同的字体集合或不同的字体集合。在标识训练字体集合后,非对称字体配对系统204为训练字体集合中的字体生成704特征向量和配对列表。例如,在一个或多个实施例中,非对称字体配对系统204采用神经网络来为字体集合中的每个字体生成特征向量。例如,非对称字体配对系统204采用卷积神经网络和或DeepFont模型来获得训练集合中的字体的特征向量。如所示出的,非对称字体配对系统204确定具有特征向量{x1,...,xm}的m个训练标题字体和具有特征{y1,...,yn}的n个训练正文字体。在备选实施例中,非对称字体配对系统204在不使用神经网络的情况下为训练字体集合中的字体生成特征向量。例如,非对称字体配对系统204针对每种字体的不同字体特性来标识低级数字字体度量。例如,非对称字体配对系统204标识字体大小、宽度、重量和其他数字特性。此外,非对称字体配对系统204可以使用布尔度量来指示字体是否具有特定样式例如,粗体、斜体、下划线或普通、对比度、名称和或大小写样式。在一些实施例中,非对称字体配对系统204从与字体相关联的字体文件访问低级数字字体度量或元数据。以这种方式,非对称字体配对系统204可以为训练集合中的每个字体生成特征向量。在一些实施例中,非对称字体配对系统204从字体存储库获得针对字体的特征向量。例如,使用字体名称或另一种字体标识符,非对称字体配对系统204从本地或外部存储库访问针对该字体的特征向量。在一些情况下,非对称字体配对系统204托管字体的特征向量的字体存储库,并将特征向量提供给给请求设备例如,请求特定字体的特征向量的客户端设备。另外,结合生成或以其他方式获得特征向量,非对称字体配对系统204获得训练字体集合内的标题正文字体对的列表。如上所述,训练字体集合包括字体的标题正文对,字体的标题正文对基于电子文档中的实际使用来指示已经在一起的两种字体。在某些情况下,标题字体与在训练字体集合相同的正文字体多次配对。在其他情况下,标题字体与来自训练字体集合的多个正文字体配对。基于训练字体集合内的标题正文字体对,非对称字体配对系统204可以确定704每个标题字体的列表并且类似地,每个正文字体,该列表指示与在训练字体集合中的标题字体配对的每个正文字体。如果标题字体与在训练字体集合中的相同的正文字体多次配对,则可以在列表中重复正文字体以指示增加的使用率和使用频率。如图所示,对于每个标题字体x1,非对称字体配对系统204创建与其配对的正文字体的列表,如Pxi=[yi1,yi2,...]所示。如图7A所示,非对称字体配对系统204基于特征向量来联合地学习对称投影矩阵和非对称投影矩阵。例如,非对称字体配对系统204采用联合度量学习,如下所述,以执行确定对称投影矩阵和非对称投影矩阵的目标函数。此外,非对称字体配对系统204可以采用指示符函数来确定对称投影矩阵和非对称投影矩阵。例如,非对称字体配对系统204生成配对指示符函数,其指示第一字体何时在给定文档部分组合中与训练字体集合中的第二字体配对。在一些实施例中,非对称字体配对系统204基于上述的字体配对列表来产生配对指示符函数。例如,给定xi,yj的字体,当两个字体在训练字体集合中配对时,非对称字体配对系统204生成配对指示符函数Si,j=1。在一些实施例中,非对称字体配对系统204还生成非配对指示符函数。例如,虽然字体配对列表指示了正字体配对,其中正文字体与训练字体集合中的标题字体配对反之亦然,但训练字体集合并不指示负字体配对。因此,在一些实施例中,非对称字体配对系统204随机地对除了上述正对之外的所有其他可能对中的负对进行采样。通常,非对称字体配对系统204生成与正对的数目大致相同数目的负对。例如,给定xi,yj的字体,当字体是负对时,非对称字体配对系统204生成非配对指示符函数Di,j=1。如上所述,非对称字体配对系统204基于特征向量和配对指示符来联合地学习706对称投影矩阵和非对称投影矩阵。下面提供非对称字体配对系统204可以用来确定对称投影矩阵“M”和非对称投影矩阵“G”的目标函数。如图所示,目标函数基于每个配对和非配对字体对来解决对称投影矩阵M和非对称投影矩阵G两者的优化紧凑空间。在一个或多个实施例中,目标函数是采用经验性区分的铰链损失函数。此外,在一些实施例中,目标函数包括正则化项以防止太多的特征向量失真。同样如上所示,||·||F是Frobenius范数,γ是折衷参数例如0.01。另外,非对称字体配对系统204可以使用双重公式化来对目标函数求解。此外,为了对目标函数求解,在一个或多个实施例中,非对称字体配对系统204采用成对约束。具体地,非对称字体配对系统204采用P=S∪D来表示所有成对约束的索引集合,其中如果Si,j=1,则yi,j=1,如果Di,j=1,则yi,j=–1。如上所述,以这种方式,非对称字体配对系统204还采用指示符函数来确定对称投影矩阵708a和非对称投影矩阵708b,如上所述。如上所述,非对称投影矩阵G是非对称的。以这种方式,非对称投影矩阵G提供了两种字体的不同属性之间的测量。例如,不是测量字体A的特性A与字体B的特性A之间的距离,非对称投影矩阵G提供字体A的特性A与字体B的特性D之间的测量。此外,非对称投影矩阵G取决于哪种字体被指定为输入或查询字体,提供两种字体之间的不同距离。在确定对称投影矩阵708a和非对称投影矩阵708b之后,非对称字体配对系统204可以将两个投影矩阵提供给客户端设备。例如,客户端设备使用对称投影矩阵708a和非对称投影矩阵708b来基于给定字体来确定字体配对。在备选实施例中,非对称字体配对系统204使用两个投影矩阵来确定字体配对。如上所述,图7B图示了结合执行步骤710的动作712-716,用于基于对称投影矩阵和非对称投影矩阵来确定与输入字体配对的一个或多个输出字体。非对称字体配对系统204或客户端设备使用来自非对称字体配对系统204的指令可以执行步骤710。如图7B所示,客户端设备或非对称字体配对系统204接收712从字体集合中选择输入字体的用户输入。该字体集合可以包括被存储在客户端设备上的字体、远程存储的字体例如,在云中或前述的组合。例如,该字体集合可以包括由非对称字体配对系统204维护的字体存储库。如所指出的,该字体集合通常不是上述的训练字体集合,但可以包括相同的字体中的一种或多种。客户端设备可以接收指示与电子文档结合的输入字体的用户输入。例如,用户在电子文档中指定输入字体。结合检测到输入字体,客户端设备还可以确定输入字体对应的电子文档的哪个部分例如,文档部分类型以及用户期望字体对的部分。例如,客户端设备检测到输入字体是正文字体例如,对应于正文文档部分类型并且候选字体对应于电子文档的子标题部分。在接收到输入字体后,客户端设备确定714输入字体和该字体集合之间的字体对。如上所述,客户端设备可以采用由非对称字体配对系统204提供的、与对称投影矩阵和非对称投影矩阵相结合的评分函数来标识字体对。例如,非对称字体配对系统204向客户端设备提供以下自适应评分函数。fM,Gxi,yj=xTGy-x-yTMx-y2如图所示,评分函数标识对称投影矩阵M和非对称投影矩阵G两者中的两个字体之间的距离。具体而言,评分函数包括约束x7Gy,该约束测量字体对的兼容性例如,多维距离。另外,约束x7Gy是基于当前输入字体和潜在候选字体来自适应的的自适应性约束阈值。以这种方式,自适应评分函数基于具有输入文档部分类型的输入字体来标识目标文档部分类型的字体。通过使用由非对称字体配对系统204提供的自适应评分函数,客户端设备可以对在输入字体和该字体集合中的其他字体包括将输入字体与其自身配对之间的字体对进行评分。根据对称投影矩阵M和非对称投影矩阵G的结构,低评分或高评分可以指示字体对的视觉美学测量。基于字体配对评分,客户端设备对字体对进行排序并标识哪些对要被提供给用户。例如,客户端设备向用户呈现排名前十的评分字体对。在一些实施例中,当确定要呈现哪些字体对时,客户端设备应用评分阈值和或用户提供的过滤器。如图7B所示。客户端设备向用户呈现716字体对。具体而言,客户端设备呈现与输入字体配对的一个或多个输出字体。如图所示,字体对示出与输入字体相同的正文字体以及与候选字体不同的标题字体。如前所述,用户可以选择字体对,并且客户端设备可以将选择的字体应用于电子文档的适当部分。备选地,用户可以选择新的输入字体和或文档部分类型,并且客户端设备可以重复步骤710。现在参考图8,将提供关于根据一个或多个实施例的非对称字体配对系统204的能力和组件的附加细节。具体而言,图8示出了位于电子文档系统203内并托管在计算设备800上的示例性非对称字体配对系统204架构的示意图。非对称字体配对系统204可以表示先前描述的非对称字体配对系统的一个或多个实施例。如图所示,非对称字体配对系统204位于电子文档系统203内的计算设备800上。通常,计算设备800可以表示各种类型的客户端设备。例如,在一些实施例中,客户端是移动设备800,诸如移动电话、智能电话、PDA、平板计算机、膝上型计算机等。在其他实施例中,计算设备800是非移动设备,诸如桌面计算机或服务器,或其他类型的客户端设备。在一些实施例中,计算设备800的各部分对应于不同类型的计算设备例如,当充当服务器设备时某些组件在计算设备800上操作,并且在充当客户端设备时某些组件在计算设备800上操作。关于计算设备800的附加细节将在下面以及关于图13进行讨论。电子文档系统203通常促进数字文本、数字图像和或设计例如,电子文档的创建、修改、共享和或删除。在一个或多个实施例中,电子文档系统203是诸如或文字处理应用的文档处理应用。在其他实施例中,电子文档系统203是诸如的设计应用。在一些实施例中,电子文档系统203包括与具有不同部分类型的字体和文档有关的多个应用、功能和操作,诸如经由计算设备800访问的应用套件、在线论坛和或社交网络平台。另外,电子文档系统203和非对称字体配对系统204可以包括计算机可执行指令,其在由计算设备800执行时使得计算设备800执行多个动作,如下面更详细讨论的。如图8所示,非对称字体配对系统204包括各种组件。例如,非对称字体配对系统204包括数字字体管理器804、特征向量分析器806、联合兼容性空间学习器808、数字字体配对评分器810、数字字体用户界面812和数字字体数据库814,数字字体数据库814包括数字字体816、对称兼容性空间818和非对称兼容性空间820。下面依次描述这些组件中的每一个。数字字体管理器804可以在计算设备800内存储、接收、检测、安装、排序和或组织字体。例如,在一个或多个实施例中,数字字体管理器804将字体集合存储在计算设备800上。在一些实施例中,数字字体管理器804维护数字字体数据库814内的字体例如,数字字体816。例如,数字字体管理器804维护训练字体集合和或用户可以在电子文档中采用的字体集合。在各种实施例中,数字字体管理器804可以标识并访问未存储或位于计算设备800上的附加字体。特征向量分析器806可以为字体集合中的字体创建特征向量。例如,在一个或多个实施例中,如上所述,特征向量分析器806采用如上所述的机器学习算法和或卷积神经网络来确定训练字体集合以及存储在计算设备800上的其他字体集合例如,数字字体数据库814中的字体的潜在特征向量。在一些实施例中,如前所述,特征向量分析器806使用低级例如,非潜在度量来标识和或生成特征向量。联合兼容性空间学习器808可以基于特征向量来联合地学习潜在或非潜在空间。例如,联合兼容性空间学习器808采用机器学习算法针对电子文档的两个部分例如,文档部分类型之间的训练字体集合中的字体来联合地学习对称兼容性空间和非对称兼容性空间,如上所述。联合兼容性空间学习器808可以将兼容性空间存储在数字字体数据库814中作为对称兼容性空间818和非对称兼容性空间820。在各种实施例中,联合兼容性空间学习器808联合地学习对称投影矩阵和非对称投影矩阵,如上所述。数字字体配对评分器810可以确定字体集合中的哪些种字体与输入字体配对。在一个或多个实施例中,如上所述,数字字体配对评分器810基于两个兼容性空间和或投影矩阵来生成和或采用评分函数以确定给定输入字体的字体对。另外,数字字体配对评分器810可以在给定与输入字体相对应的第一文档部分类型例如,正文的情况下确定针对第二文档部分类型例如,标题的字体对。在各种实施例中,数字字体配对评分器810基于对应的字体评分来确定要向用户提供哪些字体对。数字字体用户界面812可以向电子文档内的用户提供字体对选项。例如,在一个或多个实施例中,数字字体用户界面812使用户能够选择输入字体和要为其提供字体对结果的文档部分例如,文档部分类型。在一些实施例中,如上所述,数字字体用户界面812还在用户选择字体对时在电子文档中应用和显示改变。在其他实施例中,如前所述,数字字体用户界面812向用户提供字体对的预览。非对称字体配对系统204的组件804-820中的每一个可以包括软件、硬件或两者。例如,组件804-820可以包括存储在计算机可读存储介质上并且可以由诸如客户端设备或服务器设备的一个或多个计算设备的处理器执行的一个或多个指令。当由一个或多个处理器执行时,非对称字体配对系统204的计算机可执行指令可以使计算设备执行本文描述的特征学习方法。备选地,组件804-820可以包括硬件,诸如专用处理设备,以执行某些函数或函数组。备选地,非对称字体配对系统204的组件804-820可以包括计算机可执行指令和硬件的组合。此外,非对称字体配对系统204的组件804-820例如可以实现为一个或多个操作系统、作为一个或多个独立应用、作为应用的一个或多个模块、作为一个或多个插件、作为可由其他应用调用的一个或多个库函数或函数、和或作为云计算模型。因此,组件804-820可以被实现为独立应用,诸如桌面或移动应用。此外,组件804-820可以被实现为托管在远程服务器上的一个或多个基于网络的应用。组件804-820也可以在一套移动设备应用或“应用”中实现。为了说明,组件806-816可以在应用中实现,包括但不限于ADOBEADOBECREATIVE软件。“ADOBE”、“ACROBAT”、“ILLUSTRATOR”、“PHOTOSHOP”和“CREATIVECLOUD”是在美国和或其他国家的奥多比公司“AdobeSystemsIncorporated”的注册商标或商标。现在转到图9,提供了关于生成训练字体集合的附加细节。具体地,图9图示了根据一个或多个实施例的基于电子文档来创建训练字体集合的非对称字体配对系统204。如图所示,图9包括多个电子文档900a-d,多个电子文档900a-d包括多个文档部分类型,其包括字体。例如,电子文档900a-d包括标题部分902a-d中的标题字体和正文字体部分904a-d中的正文字体。在一个或多个实施例中,为了创建包括标题字体和正文字体之间的先前字体对或者用于其他文档部分之间的字体的训练字体集合,非对称字体配对系统204收集数百万个电子文档例如,PDF文件页。一般来说,诸如PDF文档的电子文档提供各种布局、主题和字体样式,从而形成全面的训练字体集合。使用电子文档的集合,非对称字体配对系统204分析每个电子文档以识别标题和正文字体对以及其他字体对例如标题和子标题字体对。在备选实施例中,非对称字体配对系统204分析字体对的网页。然而,大多数网页要么使用少量的web字体来遵循简单的标准模板,要么将字体选择嵌入难以聚合的非常不同的布局中。作为另一种备选,不是创建训练字体集合,非对称字体配对系统204从现有训练字体集合中标识字体对。然而,与网页一样,许多现有的训练字体集合太小,并提供不平衡的字体配对列表。在获得PDF文档页面的集合之后,在一个或多个实施例中,非对称字体配对系统204初步过滤集合以标识易于访问的PDF文档页面,诸如标识包括布局信息的解析文档。另外,非对称字体配对系统204标识包括具有相同字体特性例如,字体样式和大小的文本的若干单词的文本框。在一个或多个实施例中,非对称字体配对系统204不理会dismiss包括少于两个文本框的PDF文档页面。此外,非对称字体配对系统204不理会不使用罗马字母的PDF文档页面。在一些实施例中,为了检测页面上的标题和子标题对,非对称字体配对系统204找到具有最大字体的文本框并将其分类为标题字体。非对称字体配对系统204然后标识具有在标题字体框的固定阈值内的下一个最大字体的文本框并将其分类为子标题字体。基于所识别的标题字体和子标题字体,非对称字体配对系统204形成标题子标题字体对,并从两个文本框中提取字体。另外,非对称字体配对系统204通过找到包含多于阈值数目的字符例如,至少100个字符或单词例如,至少25个单词的文本框来检测正文文本框。非对称字体配对系统204包括来自最接近标题的正文文本框的正文字体,作为训练字体集合中的标题正文字体对。图9图示了PDF文档页面即,电子文档900a-d中的标题文本框例如,标题部分902a-d和对应的正文文本框例如,正文字体部分904a-d之间的标题正文字体对。在各种实施例中,非对称字体配对系统204评估训练字体集合的准确性。例如,非对称字体配对系统204将来自手动标签标题正文和标题子标题对的小子集例如总共3,000页的20个PDF文档的标签与训练字体集合中使用的自动标签检测进行比较。如果比较结果高于验证阈值例如精确标签的80%或95%的精确度,则非对称字体配对系统204可以确定训练字体集合对于如上所述的联合学习或者其他类型的训练是可接受的。在一些实例中,研究人员可以执行附加的验证来评估训练字体集合。例如,对于本公开,研究人员进行了一项研究,以比较设计人员用户和普通用户是否更喜欢从PDF或随机备选中检测到的真实字体对。这项研究包括50名参与者-5名图形设计专家即设计人员和45名其他背景的非设计人员。具体而言,该研究包括配对比较集合。在每次比较中,参与者都会被示出具有字体对的相同布局的两个图像,但其中对中的字体之一变化。具体地,通过选择一个随机备选来替换标题或子标题字体。然后询问参与者他们更喜欢哪种设计。该研究包括附加变体。研究结果表明专家在75%的时间更喜欢在训练字体集合中使用的原始布局,而非专家在50-60%的时间更喜欢原始布局,这取决于变化。从这些结果中,研究人员确定了在训练字体集合中包括的字体对是精心挑选的。此外,研究人员确定,研究结果还表明,非专家对良好字体选择的敏感性要低于专家,并且需要自动为他们推荐良好的字体对,如上所述。沿着类似的路线,研究人员进行了附加的研究以评估上面公开的非对称字体配对系统204的结果。一些结果显示在图10A和10B中。具体地,图10B图示了非对称字体配对系统204的一个或多个实施例与传统系统之间的可视字体配对比较。图10A图示了与其他方法相比,由非对称字体配对系统204的一个或多个实施例对字体对进行排名的参与者的图。以下是由研究人员进行的一项研究的总结,其显示了非对称字体配对系统204标记为“ASML”相对于传统系统的优势。对于上下文,比较的其他方法是来自以下各项的字体对:PDF训练字体集合标记为“PDF”、基于流行度的字体对例如,基于训练字体集合中的出现频率来选择正文字体,其中不管输入的标题字体如何,始终推荐使用相同的正文字体标记为“流行度”、来自同族的字体对例如,标题字体和正文子标题字体来自相同的字体族,诸如将Arial-Bold与Arial-Italic配对标记为“同族”或“族”、和对比字体对例如,基于对称兼容性空间内的距离来随机选择具有最低视觉兼容性的正文字体作为输入标题字体标记为“对比度”。研究人员进行了评估各种方法的最先推荐的字体对的实验集合。像以前的研究一样,参与者被显示在非对称兼容性度量学习ASML和其他方法之间的字体对。每个比较使用非对称字体配对系统204和来自PDF、流行度、族或对比度的字体对,向参与者提供最高评分的字体对。实验包括500次比较,其中每次比较平均由来自150名参与者池的11名参与者评定。如图10A所示,研究人员提供了“NewBaskerville-BoldSC”的输入标题字体并且接收到推荐的子标题字体。图10A中的每一列显示了每种方法的三个结果字体对。每个子标题字体的PostScript名称显示在相应的字体对下方。另外,图10A在括号中示出了子标题字体在唯一字体对中出现的次数。例如,流行度在一半推荐配对中主要推荐相同的三种子标题字体。相比之下,ASML推荐的字体对既具有视觉美学,又不是最受欢迎经常使用的字体。如图10B所示,用户选择ASML字体对或其他字体对即“命中”的次数。如图所示,当将ASML与PDF、随机、流行度、族进行比较时,结果即ASLM其他是PDF220203、随机261144、流行度244191和族268178。如图所示,与其他选项相比较,参与者一直选择ASML字体配对。此外,研究人员应用统评分析来验证参与者的评分是一致的和显著的例如99.95%。图1A-10B,对相应的文本和示例提供了非对称字体配对系统的许多不同的方法、系统、设备和非暂态计算机可读介质。除了前述之外,还可以根据包括用于实现特定结果的动作的流程图来描述一个或多个实施例。例如,图11和图12可以用更多或更少的动作来执行。此外,这些动作可以以不同的顺序执行。此外,本文描述的动作可以被重复或者彼此并行地执行或者与相同或者相似动作的不同实例并行地执行。如所提及的,图11示出根据一个或多个实施例的联合地学习对称和非对称兼容性空间的一系列动作1100的流程图。虽然图11图示了根据一个实施例的动作,但是备选实施例可以省略、增加、重新排序和或修改图11中所示的动作中的任意一个。图11的动作可以作为方法的一部分来执行。备选地,非暂态计算机可读介质可以包括指令,所述指令在由一个或多个处理器执行时使得计算设备执行图11的动作。在一些实施例中,系统可以执行图11的动作。在一个或多个实施例中,一系列动作1100被实现在一个或多个计算设备上,诸如服务器设备202或计算设备800。另外,在一些实施例中,一系列动作1100是在用于创建或编辑电子文档的数字环境中实现。例如,一系列动作1100在具有存储器的计算设备上被实现,该存储器存储包括多个数字字体的训练字体集合和训练字体集合内的字体对的指示。该一系列动作1100包括针对字体生成特征向量的动作1110。具体地,动作1110可以涉及生成针对来自训练字体集合的多个数字字体的特征向量。在一些实施例中,动作1110包括使用卷积神经网络为多个数字字体生成特征向量。附加地或可选地,动作1110包括使用低级数字字体度量来生成针对多个数字字体的特征向量。如图所示,一系列动作1100还包括联合地学习对称兼容性空间和非对称兼容性空间的动作1120。具体地,动作1120可以涉及基于特征向量和字体配对的指示来联合地学习对称兼容性空间和非对称兼容性空间。在动作1120中,对称兼容性空间定义第一空间,其中特征向量之间的距离指示数字字体集合的对应数字字体之间的对称兼容性,并且非对称兼容性空间定义第二空间,其中特征向量之间的距离指示数字字体集合的对应数字字体之间的非对称兼容性。在一个或多个实施例中,动作1120包括:基于训练字体集合内的字体对的指示来生成配对指示符函数,配对指示符函数指示两个字体在训练字体集合中配对;生成负的字体对集合,每个负的字体对包括来自所述多个数字字体的、基于所述训练字体集合内的字体对的指示未配对的两个数字字体;和或基于所述负的字体对集合,生成非配对指示符函数,该非配对指示符函数指示所述训练字体集合中未被配对两个字体;其中,联合地学习对称兼容性空间和非对称兼容性空间可以进一步基于配对指示符函数和非配对指示符函数。如图11所示,一系列动作1100还包括使用对称兼容性空间和非对称兼容性空间来生成评分函数的动作1130,其中评分函数输出字体配对评分。具体地,动作1130可以涉及使用对称兼容性空间和非对称兼容性空间来生成评分函数,其输出一个或多个字体的、指示一个或多个字体如何与输入字体配对的字体配对评分。在一些实施例中,输入字体对应于第一文档部分类型,一个或多个字体对应于第二文档部分类型,并且第一文档部分类型不同于第二文档部分类型。例如,第一个文档部分类型是文档标题,第二个文档部分类型是文档子标题或文档正文。该一系列动作1100还可以包括多个附加动作。在一个或多个实施例中,一系列动作1100包括向客户端设备提供评分函数、对称兼容性空间和非对称兼容性空间的动作,使得客户端设备可以使用对称兼容性空间和非对称兼容性空间来执行评分函数,以标识字体对。在一些实施例中,对称兼容性空间是对称投影矩阵,非对称兼容性空间是非对称投影矩阵,并且对称投影矩阵和非对称投影矩阵具有相同的维度。如所提及的,图12图示了根据一个或多个实施例的基于对称兼容性空间和非对称兼容性空间确定字体对的一系列动作1200的流程图。尽管图12图示了根据一个实施例的动作,但是备选实施例可以省略、添加、重新排序和或修改图12中所示的动作中的任意一个。图12的动作可以作为方法的一部分来执行。备选地,非暂态计算机可读介质可以包括指令,指令当由一个或多个处理器执行时使得计算设备执行图12的动作。在一个或多个实施例中,系统可以执行图12的动作。在一些实施例中,一系列动作1200由诸如服务器设备202或计算设备800的一个或多个计算设备上的计算系统来实现。如所示,一系列动作1200包括接收输入字体的动作1210。在一个或多个实施例中,动作1210包括在与电子文档相关联的图形用户界面内接收输入字体。在一些实施例中,动作1210可以包括确定多个数字字体中的每一个的特征向量并且将这些特征向量存储在计算系统和或计算设备上。该一系列动作1200还包括基于学习的对称兼容性空间和学习的非对称兼容性空间两者来确定输入字体和多个数字字体之间的字体配对评分的动作1220。具体地,动作1220可以涉及通过在学习的对称兼容性空间和学习的非对称兼容性空间两者中比较输入字体与多个数字字体的每个数字字体之间的距离,确定输入字体和多个数字字体之间的字体配对评分。在动作1220中,学习的对称兼容性空间定义第一空间,其中特征向量之间的距离指示数字字体之间的对称兼容性,并且学习的非对称兼容性空间定义第二空间,其中特征向量之间的距离指示数字字体之间的非对称兼容性。在一些实施例中,动作1220包括基于与电子文档的第一文档部分类型相对应的输入字体和与电子文档的第二文档部分相对应的多个数字字体中的每一个来确定字体配对评分。例如,第一文档部分类型是文档正文,并且其中第二文档部分类型是文档标题或文档子标题。在一个或多个实施例中,动作1220包括使用包括自适应约束阈值的评分函数来确定字体配对评分。另外,一系列动作1200包括向用户呈现字体对的动作1230。具体地,动作1230可以涉及基于字体配对评分向用户呈现与输入字体配对的一个或多个输出字体。在一些实施例中,输入字体与多个数字字体中的每一个之间的字体配对评分基于针对多个数字字体中的每一个确定的特征向量。本文使用的术语“数字环境”通常是指例如作为独立应用例如,个人计算机或运行在计算设备上的移动应用、作为应用的元素、作为应用的插件、作为库函数或函数、作为计算设备、和或作为云计算系统来实现的环境。如本文所述,数字介质环境允许非对称字体配对系统联合地学习空间和或确定字体对。本公开的实施例可以包括或利用包括计算机硬件的专用或通用计算机,诸如例如一个或多个处理器和系统存储器,如下面更详细讨论的。本公开范围内的实施例还包括用于携带或存储计算机可执行指令和或数据结构的物理和其他计算机可读介质。具体而言,本文描述的过程中的一个或多个可以至少部分地实现为实施在非暂态计算机可读介质中并且可由一个或多个计算设备例如,本文所述的媒体内容访问设备中的任意一个执行的指令。通常,处理器例如,微处理器从非暂时性计算机可读介质例如,存储器接收指令,并且执行那些指令,从而执行一个或多个过程,包括本文所描述的过程中的一个或多个。计算机可读介质可以是由通用或专用计算机系统访问的任意可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质设备。携带计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种明显不同的计算机可读介质:非暂态计算机可读存储介质设备和传输介质。非暂时性计算机可读存储介质设备包括RAM、ROM、EEPROM、CD-ROM、固态驱动器“SSD”例如基于RAM、闪存、相变存储器“PCM“、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁存储设备、或可以用于存储计算机可执行指令或数据结构形式的期望的程序代码部件并且其可以通过通用或专用计算机访问的任意其他介质。“网络”被定义为能够实现在计算机系统和或模块和或其他电子设备之间电子数据的传输的一个或多个数据链路。当信息通过网络或其他通信连接硬连线、无线连接、或硬连线或无线连接的组合被传输或提供给计算机时,计算机可适当地将连接视为传输介质。传输介质可以包括网络和或数据链路,其可以用于携带计算机可执行指令或数据结构形式的期望的程序代码部件并且可以由通用或专用计算机访问。上述的组合也应当包括在计算机可读介质的范围内。此外,在到达各种计算机系统组件时,以计算机可执行指令或数据结构形式的程序代码部件从传输介质自动地传送到非暂态计算机可读存储介质设备或反之亦然。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以缓存在网络接口模块例如“NIC”内的RAM中,然后最终被传送到计算机系统RAM和或计算机系统中的较不易失性计算机存储介质设备。因此,应当理解,非暂态计算机可读存储介质设备可以被包括在也或者甚至主要利用传输介质的计算机系统组件中。计算机可执行指令包括指令和数据,指令和数据例如当由处理器执行时使通用计算机、专用计算机或专用处理设备执行特定功能或功能组。在一些实施例中,由通用计算机执行计算机可执行指令以将通用计算机变成实现本公开的元件的专用计算机。计算机可执行指令可以是例如二进制文件、诸如汇编语言的中间格式指令、或者甚至是源代码。尽管已经用对结构特征和或方法动作特定的语言描述了主题,但应当理解,在所附权利要求中限定的主题不一定限于上述描述的特征或动作。相反,所描述的特征和行为被公开为实现权利要求的示例形式。本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,所述计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。本公开还可以在分布式系统环境中实施,其中通过网络连接的通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可能位于本地和远程存储器存储设备中。本公开的实施例还可以在云计算环境中实现。如本文所使用的术语“云计算”是指用于能够实现对可配置计算资源的共享池的按需网络访问的模型。例如,可以在市场中使用云计算来提供对可配置计算资源的共享池的无处不在且方便的按需访问。共享的可配置计算资源池可以经由虚拟化被快速供应,并在低管理成本或服务提供商交互的情况下发布,然后进行相应的缩放。云计算模型可以由各种特性组成,例如按需自助服务、宽广网络访问、资源池化、快速弹性、测量的服务等等。云计算模型还可以公开各种服务模型,诸如例如软件即服务“SaaS”、平台即服务“PaaS”、和基础设施即服务“IaaS”。云计算模型也可以使用不同的部署模型进行部署,例如私有云、社区云、公共云、混合云等等。另外,如本文所使用的术语“云计算环境”是指采用云计算的环境。图13图示了可以被配置为执行上述过程中的一个或多个的示例性计算设备1300的框图。可以理解,诸如计算设备1300的一个或多个计算设备可以表示上述计算设备例如,服务器设备202、客户端设备206a-b、500和计算设备800。在一个或多个实施例中,计算设备1300可以是移动设备例如,移动电话、智能电话、PDA、平板计算机、膝上型计算机、相机、跟踪器、手表、可穿戴设备等。在一些实施例中,计算设备1300可以是非移动设备例如,台式计算机或另一类型的客户端设备。此外,计算设备1300可以是包括基于云的处理和存储能力的服务器设备。如图13所示,计算设备1300可以包括一个或多个处理器1302、存储器1304、存储设备1306、输入输出“IO”接口1308和通信接口1310,其可以通过通信基础设施例如,总线1312可通信地耦合。尽管在图13中图示了计算设备1300,但是图13中示出的组件并非旨在进行限制。在其他实施例中可以使用附加的或备选的部件。此外,在某些实施例中,计算设备1300包括比图13中示出的组件更少的组件。现在将更详细地描述图13中示出的计算设备1300的组件。在特定实施例中,处理器1302包括用于执行指令的硬件,诸如构成计算机程序的指令。作为示例而非限制,为了执行指令,处理器1302可以从内部寄存器、内部高速缓存、存储器1304或存储设备1306取回或取出指令,并解码并执行他们。计算设备1300包括耦合到处理器1302的存储器1304。存储器1304可以用于存储由处理器执行的数据、元数据和程序。存储器1304可以包括易失性和非易失性存储器中的一个或多个,诸如随机存取存储器“RAM”、只读存储器“ROM”、固态盘“SSD”、闪存、相变存储器“PCM”或其他类型的数据存储装置。存储器1304可以是内部或分布式存储器。计算设备1300包括存储设备1306,存储设备1306包括用于存储数据或指令的存储装置。作为示例而非限制,存储设备1306可以包括上述非暂态存储介质。存储设备1306可以包括硬盘驱动器HDD、闪存、通用串行总线USB驱动器或这些或其他存储设备的组合。如所示出的,计算设备1300包括一个或多个IO接口1308,其被提供以允许用户提供输入诸如用户笔画到计算设备1300,接收来自计算设备1300的输出,或以其他方式向计算设备1300并从计算设备1300传送数据。这些IO接口1308可以包括鼠标、小键盘或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的IO设备、或这些IO接口1308的组合。触摸屏可以用触控笔或手指启动。IO接口1308可以包括用于向用户呈现输出的一个或多个设备,包括但不限于图形引擎、显示器例如显示屏、一个或多个输出驱动器例如,显示器驱动器、一个或多个音频扬声器以及一个或多个音频驱动器。在某些实施例中,IO接口1308被配置为将图形数据提供给显示器以呈现给用户。图形数据可以代表一个或多个图形用户界面和或可以服务特定实现的任意其他图形内容。计算设备1300可以进一步包括通信接口1310。通信接口1310可以包括硬件、软件或两者。通信接口1310为计算设备与一个或多个其他计算设备或一个或多个网络之间的通信诸如例如基于分组的通信提供一个或多个接口。作为示例而非限制,通信接口1310可以包括:用于与以太网或其他基于有线网络进行通信的网络接口控制器NIC或网络适配器,或用于与诸如WI-FI的无线网络进行通信的无线NICWNIC或无线适配器。计算设备1300可以进一步包括总线1312。总线1312可以包括将计算设备1300的组件彼此连接的硬件、软件或者二者。在前面的说明书中,已经参考本发明的特定示例性实施例描述了本发明。参照本文讨论的细节描述本发明的各种实施例和方面,并且附图图示了各种实施例。以上描述和附图是对本发明的说明,而不应被解释为限制本发明。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。在不脱离本发明精神或基本特征的情况下,本发明可以以其他具体形式来实施。所描述的实施例在所有方面仅被认为是说明性的而非限制性的。例如,本文所述的方法可以用更少或更多的步骤动作来执行,或者所述步骤动作可以以不同的顺序来执行。另外,本文描述的步骤动作可以被重复或者彼此并行地执行或者与相同或类似的步骤动作的不同实例并行地执行。因此,本发明的范围由所附权利要求而不是由前面的描述来指示。在权利要求的等同物的含义和范围内的所有变化都将被涵盖在其范围内。

权利要求:1.一种用于标识视觉美学字体对的系统,包括:存储器,包括:训练字体集合,包括多种数字字体;以及所述训练字体集合内的字体对的指示;至少一个处理器;以及至少一个非暂态计算机可读存储介质,存储指令,所述指令在由所述至少一个处理器执行时使得所述系统:生成针对来自所述训练字体集合的所述多种数字字体的特征向量;基于所述特征向量和所述字体对的所述指示,来联合地学习对称兼容性空间和非对称兼容性空间,其中:对称兼容性空间定义第一空间,在所述第一空间中,特征向量之间的距离指示数字字体集合的对应数字字体之间的对称兼容性;以及非对称兼容性空间定义第二空间,在所述第二空间中,特征向量之间的距离指示所述数字字体集合的对应数字字体之间的非对称兼容性;以及使用所述对称兼容性空间和所述非对称兼容性空间来生成评分函数,所述评分函数输出针对一种或多种字体的、指示所述一种或多种字体如何与输入字体配对的字体配对评分。2.根据权利要求1所述的系统,还包括指令,所述指令在由所述至少一个处理器执行时使得所述系统:向客户端设备提供所述评分函数、所述对称兼容性空间和所述非对称兼容性空间,以使所述客户端设备可以使用所述对称兼容性空间和所述非对称兼容性空间来执行所述评分函数以标识字体配对。3.根据权利要求1所述的系统,其中:所述输入字体对应于第一文档部分类型;所述一种或多种字体对应于第二文档部分类型;以及所述第一文档部分类型不同于所述第二文档部分类型。4.根据权利要求3所述的系统,其中所述第一文档部分类型是文档标题,并且其中所述第二文档部分类型是文档子标题或文档正文。5.根据权利要求1所述的系统,还包括指令,所述指令在由所述至少一个处理器执行时使得所述系统:使用卷积神经网络来生成针对所述多种数字字体的特征向量。6.根据权利要求1所述的系统,还包括指令,所述指令在由所述至少一个处理器执行时使得所述系统:使用低级数值字体度量来生成针对所述多种数字字体的特征向量。7.根据权利要求1所述的系统,还包括指令,所述指令在由所述至少一个处理器执行时使得所述系统:基于所述训练字体集合内的字体对的所述指示来生成配对指示符函数,所述配对指示符函数指示所述训练字体集合中的两种字体被配对。8.根据权利要求7所述的系统,还包括指令,所述指令在由所述至少一个处理器执行时使所述系统:生成负的字体对集合,每个负的字体对包括来自所述多种数字字体的、基于所述训练字体集合内的字体对的所述指示而未被配对的两种数字字体;以及基于所述负的字体对集合来生成非配对指示符函数,所述非配对指示符函数指示所述训练字体集合中的两种字体未被配对。9.根据权利要求8所述的系统,其中所述指令在由所述至少一个处理器执行时使得所述系统:还基于所述配对指示符函数和所述非配对指示符函数来联合地学习所述对称兼容性空间和所述非对称兼容性空间。10.根据权利要求9所述的系统,其中:所述对称兼容性空间是对称投影矩阵;所述非对称兼容性空间是非对称投影矩阵;以及所述对称投影矩阵和所述非对称投影矩阵具有相同的维度。11.一种存储指令的非暂态计算机可读介质,所述指令在由至少一个处理器执行时使得计算机系统:接收输入字体;通过在学习的对称兼容性空间和学习的非对称兼容性空间两者中比较所述输入字体和多个数字字体中的每个数字字体之间的距离,来确定所述输入字体和所述多个数字字体之间的字体配对评分,其中:所述学习的对称兼容性空间定义第一空间,在所述第一空间中,特征向量之间的距离指示数字字体之间的对称兼容性;以及所述非对称兼容性空间定义第二空间,在所述第二空间中,特征向量之间的距离指示数字字体之间的非对称兼容性;以及基于所述字体配对评分向用户呈现与输入字体配对的一个或多个输出字体。12.根据权利要求11所述的非暂态计算机可读介质,其中用作所述输入字体的第一字体与第二字体之间的第一字体配对评分不同于用作所述输入字体的所述第二字体与所述第一字体之间的第二字体配对评分。13.根据权利要求11所述的非暂态计算机可读介质,其中所述指令在由所述至少一个处理器执行时使得所述计算机系统:使用包括自适应约束阈值的评分函数来确定所述字体配对评分。14.根据权利要求11所述的非暂态计算机可读介质,其中所述指令在由所述至少一个处理器执行时使所述计算机系统:在与电子文档相关联的图形用户界面内接收所述输入字体。15.根据权利要求11所述的非暂态计算机可读介质,其中所述指令在由所述至少一个处理器执行时使得所述计算机系统:基于与第一文档部分类型相对应的所述输入字体和与第二文档部分类型相对应的所述多种数字字体中的每种数字字体,来确定所述字体配对评分。16.根据权利要求15所述的非暂态计算机可读介质,其中所述第一文档部分类型是文档正文,并且其中所述第二文档部分类型是文档标题或文档子标题。17.根据权利要求11所述的非暂态计算机可读介质,还包括指令,所述指令在由所述至少一个处理器执行时使得所述计算机系统:确定针对所述多种数字字体中的每种数字字体的特征向量;将所述特征向量存储在所述计算系统上;以及其中所述指令在由所述至少一个处理器执行时使得所述计算机系统:基于针对所述多种数字字体中的每种数字字体确定的所述特征向量,来确定所述输入字体与所述多种数字字体中的每种数字字体之间的所述字体配对评分。18.一种在用于创建或编辑电子文档的数字媒体环境中配对和呈现电子字体的方法,包括:生成针对来自训练字体集合的多种数字字体的特征向量;执行用于基于所述特征向量来联合地学习对称投影矩阵和非对称投影矩阵的步骤;接收来自数字字体集合的输入字体;执行用于基于所述对称投影矩阵和所述非对称投影矩阵来确定与所述输入字体配对的一种或多种输出字体的步骤;以及呈现与所述输入字体配对的所述一种或多种输出字体。19.根据权利要求18所述的方法,还包括生成评分函数,所述评分函数包括基于所述输入字体、给定候选字体、和所述非对称投影矩阵而适配的自适应约束阈值。20.根据权利要求18所述的方法,其中:所述对称投影矩阵定义第一空间,在所述第一空间中,特征向量之间的距离指示所述多种数字字体的对应数字字体之间的对称兼容性;以及所述非对称投影矩阵定义第二空间,在所述第二空间中,特征向量之间的距离指示所述多个数字字体的对应数字字体之间的非对称兼容性。

百度查询: 奥多比公司 使用非对称度量学习的自动配对字体

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。