用于在字符识别中实施约束的系统和方法与流程

未命名 09-28 阅读:69 评论:0

用于在字符识别中实施约束的系统和方法
1.相关申请的交叉引用
2.本技术要求2020年9月29日提交的题为“systems and methods for enforcing constraints to predictions(用于实施约束以进行预测的系统和方法)”的美国专利申请no.17/037,046的优先权,该专利申请的全部内容通过引用并入本文,并且本技术要求2020年9月29日提交的题为“systems and methods for enforcing constraints in character recognition(用于在字符识别中实施约束的系统和方法)”的美国专利申请no.17/037,101的优先权,该专利申请的全部内容通过引用并入本文。
技术领域
3.本技术涉及用于将约束施用至机器学习算法(mla)的系统和方法。具体地,本技术涉及用于使用一个或更多个mla生成对图像中的文本的预测的系统和方法,其中,该预测满足约束。


背景技术:

4.机器学习技术已经被证明可用于各种应用。机器学习算法(mla)可以被训练成基于标记的训练数据集来进行预测。mla被训练成基于先前记录的被标记的数据进行预测,而不是基于由程序员输入的指令集进行预测。
5.因为mla没有被赋予规则集,而是被训练,mla有时可能输出对人来说将会是显然错误的预测,或者输出彼此不兼容的预测集。这些错误的预测可能会导致用户对mla失去信任。


技术实现要素:

6.约束可以被限定和施用于mla,以将mla的预测限制为满足约束的预测。可以向mla提供输入。输入可以是任何格式,诸如图像、音频、数据等。还可以向mla提供初始mla状态。mla可以输出概率分布,该概率分布包含针对新的内部状态和类别集的每个类别的概率。然后对概率分布进行搜索,以确定用以输入到mla的附加mla状态。集束搜索(beam search)可以用于从用以输入到mla的概率分布中选择mla状态。在mla输出概率分布之后,不满足约束的mla状态及其相关的类别可以被过滤掉。处于结束状态的任何mla状态可以与相关联的数据一起被存储在输出状态集中。输出状态可以与每个输出状态的分数一起返回。该分数可以是输出状态的预测概率。
7.根据本技术的第一广泛方面,提供了一种使用一个或更多个约束对图像中的文本进行预测的方法。该方法包括:向机器学习算法(mla)输入图像和mla的第一状态,其中,mla被训练成对图像对应于下述对的概率分布进行预测:每个对包括类别集中的类别和mla的下一状态,以及其中,类别集中的每个类别包括一个或更多个字符;通过mla并且基于图像和第一状态来输出概率分布,其中,概率分布包括针对多个下述对中的每个对的预测概率:每个对包括类别集中的类别和mla的对应状态;将概率分布中的每个状态添加至待搜索的
状态集;向待搜索的状态集应用搜索,其中,应用搜索包括:将处于结束状态的任何状态从待搜索的状态集中去除,将不满足一个或更多个约束中的每一个约束的任何状态从待搜索的状态集中去除,对待搜索的状态集中的用以输入至mla的一个或更多个状态进行选择,将所选择的一个或更多个状态中的每个状态输入至mla,从而生成一个或更多个附加概率分布,将一个或更多个附加概率分布的一个或更多个状态添加至待搜索的状态集,从而生成更新的待搜索的状态集,以及利用更新的待搜索的状态集重复进行搜索;以及对通过搜索而选择的一个或更多个输出状态进行输出,其中,一个或更多个输出状态中的每个状态包含结束状态,以及其中,一个或更多个输出状态中的每个状态包括满足一个或更多个约束中的至少一个约束的字符序列。
8.在该方法的一些实施形式中,该方法还包括:在对用以输入至mla的状态进行选择之后,将所选择的状态从待搜索的状态集中去除。在该方法的一些实施形式中,概率分布是局部概率分布,该局部概率分布具有小于1的总概率质量。
9.在该方法的一些实施形式中,概率分布是局部概率分布,该局部概率分布具有小于1的总概率质量。
10.在该方法的一些实施形式中,局部概率分布包括表或图形模型。
11.在该方法的一些实施形式中,在重复进行搜索之前,将待搜索的状态的数量减少至小于或等于预定的集束大小。
12.在该方法的一些实施形式中,更新的待搜索的状态集包括待搜索的状态集中的排名最高的状态。
13.在该方法的一些实施形式中,该方法包括:对与一个或更多个待搜索的状态集中的第一状态相关联的第一状态密钥等同于与一个或更多个待搜索的状态集中的第二状态相关联的第二状态密钥进行确定;以及对第一状态和第二状态进行组合。
14.在该方法的一些实施形式中,对第一状态的预测概率进行确定;对第二状态的预测概率进行确定;对第一状态的预测概率和第二状态的预测概率进行相加;将经相加的预测概率分配至与第一状态和第二状态相对应的组合状态;以及将组合状态添加至一个或更多个待搜索的状态集。
15.在该方法的一些实施形式中,类别集包括字母表。
16.在该方法的一些实施形式中,概率分布中的每个状态与包含字符串的候选者相关联,以及其中,字符串包括类别序列,该类别序列是字母表的一部分。
17.在该方法的一些实施形式中,一个或更多个约束中的约束包括有限状态自动机。
18.在该方法的一些实施形式中,一个或更多个约束中的约束包括正则表达式,该正则表达式包括有线状态自动机。
19.在该方法的一些实施形式中,一个或更多个约束中的约束包括转换器。
20.在该方法的一些实施形式中,该方法还包括:通过转换器接收与第一字符相对应的第一类别;以及通过转换器输出与第二字符相对应的第二类别,该第二字符与第一字符不同。
21.在该方法的一些实施形式中,转换器是加权的有限状态转换器,并且该方法还包括通过该转换器输出分数
22.根据本技术的另一广泛方面,提供了一种包括至少一个处理器和存储器的系统。
存储器存储有多个可执行指令。多个可执行指令在由至少一个处理器执行时使系统进行以下操作:向机器学习算法(mla)输入图像和mla的第一状态,其中,mla被训练成对图像对应于下述对的概率分布进行预测:每个对包括类别集中的类别和mla的下一状态,以及其中,类别集中的每个类别包括一个或更多个字符;通过mla并且基于图像和第一状态来输出概率分布,其中,概率分布包括针对多个下述对中的每个对的预测概率:每个所述对包括类别集的类别和mla的对应状态;将概率分布中的每个状态添加至待搜索的状态集;向待搜索的状态集应用搜索,其中,应用搜索包括:将处于结束状态的任何状态从待搜索的状态集中去除,将不满足一个或更多个约束集的每一个约束的任何状态从待搜索的状态集中去除,对待搜索的状态集中的用以输入至mla的一个或更多个状态进行选择,将所选择的所述一个或更多个状态中的每个状态输入至mla,从而生成一个或更多个附加概率分布,将一个或更多个附加概率分布的一个或更多个状态添加至待搜索的状态集,从而生成更新的待搜索的状态集,以及利用更新的待搜索的状态集重复进行搜索;以及对通过搜索而选择的一个或更多个输出状态进行输出,其中,一个或更多个输出状态中的每个状态包含结束状态,以及其中,一个或更多个输出状态中的每个状态包括满足一个或更多个约束中的至少一个约束的字符序列。
23.在该系统的一些实施形式中,这些指令还使系统进行以下操作:对与一个或更多个待搜索的状态集中的第一状态相关联的第一状态等同于与一个或更多个待搜索的状态集中的第二状态相关联的第二状态进行确定;以及对第一状态和第二状态进行组合。
24.在该系统的一些实施形式中,这些指令还使系统进行以下操作:对第一状态的预测概率进行确定;对第二状态的预测概率进行确定;对第一状态的预测概率和第二状态的预测概率进行相加;将经相加的预测概率分配至与第一状态和第二状态相对应的组合状态;以及将组合状态添加至一个或更多个待搜索的状态集
25.本技术的各种实施形式提供非暂态计算机可读介质,该非暂态计算机可读介质存储有用于执行本文所述的一个或更多个方法的程序指令,该程序指令能够由基于计算机的系统的处理器执行。
26.本技术的各种实施形式提供基于计算机的系统,诸如,例如,但不限于电子装置,该电子装置包括至少一个处理器和存储器,该存储器存储有用于执行本文所述的一个或更多个方法的程序指令,该程序指令能够由该电子装置的至少一个处理器执行。
27.在本技术文件的上下文中,除非另有明确规定,否则计算机系统可以是指但不限于适于手边相关任务的“电子装置”、“计算装置”、“操作系统”、“系统”、“基于计算机的系统”、“计算机系统”、“网络系统”、“网络装置”、“控制器单元”、“监测装置”、“控制装置”、“服务器”以及/或者上述各者的任何组合。
28.在本技术文件的上下文中,除非另有明确规定,否则表述“计算机可读介质”和“存储器”旨在包括无论任何性质和种类的介质,该介质的非限制示例包括ram、rom、磁盘(例如,cd-rom、dvd、软盘、硬盘驱动器等)、usb密钥、闪存卡、固态驱动器和磁带驱动器。还是在本技术文件的上下文中,“一个”计算机可读介质和“该”计算机可读介质不应当被解释为同一计算机可读介质。相反地,并且在适当的时候,“一个”计算机可读介质和“该”计算机可读介质还可以被解释为第一计算机可读介质和第二计算机可读介质。
29.在本技术的上下文中,除非另有明确规定,否则用语“第一”、“第二”、“第三”等被
用作形容词,仅是为了允许对这些用语所修饰的名词之间彼此进行区分,而不是为了对这些名词之间的任何特定关系进行描述。
30.本技术的实施形式的附加和/或替代的特征、方面和优点将通过以下描述、附图和所附权利要求而变得明显。
附图说明
31.为了对本技术以及本技术的其他方面和另外的特征进行更好地理解,参考结合附图使用的以下描述,在附图中:
32.图1是根据本技术的各种实施方式的示例性计算环境的框图;
33.图2是示出了根据本技术的各种实施方式的用于将约束施用至机器学习算法(mla)的系统的视图;
34.图3是示出了根据本技术的各种实施方式的图2中所示的搜索的视图;
35.图4是根据本技术的各种实施方式的用于对满足约束的预测状态进行确定的方法的流程图;
36.图5是示出了根据本技术的各种实施方式的光学字符识别的概率分布的视图;
37.图6是根据本技术的各种实施方式的图5的概率分布的搜索的结果的视图;
38.图7是根据本技术的各种实施方式的图5的概率分布的具有约束的搜索的结果的视图。
具体实施方式
39.本文所列举的示例和条件性语言主要旨在帮助读者理解本技术的原理,而不是将本技术的范围限制于这些具体列举的示例和条件。可以理解的是,本领域技术人员可以设计出各种布置,这些布置尽管没有在本文中明确描述或示出,但体现了本技术的原理并且被包括在本技术的精神和范围内。
40.此外,为了帮助理解,以下描述可以对本技术的相对简化的实施形式进行描述。如本领域技术人员可以理解的是,本技术的各种实施形式可以具有更大的复杂性。
41.在一些情况下,还可以阐述被认为是对本技术进行修改的有益示例。这样做只是为了帮助理解,而且也不是为了对本技术的范围进行限定或者对本技术的界限进行阐述。这些修改并不是详尽的列表,并且本领域技术人员可以进行其他修改,而仍然保持在本技术的范围内。另外,在没有对修改的示例进行阐述的情况下,不应当被解释为不可能进行修改以及/或者所描述的内容是实现本技术的该要素的唯一方式。
42.此外,本文中对本技术的原理、方面和实施形式及其特定示例进行列举的所有陈述旨在涵盖本技术的原理、方面和实施形式及其特定示例的在结构和功能上的等同物,无论所述等同物是当前已知的还是将来开发的。因此,例如,本领域技术人员可以理解的是,本文中的任何框图都表示体现本技术的原理的说明性电路和/或说明性系统的概念图。类似地,可以理解的是,任何流程图、流图、状态转换图、伪代码等表示各种过程,所述过程基本上可以被表示在计算机可读介质中并且因此可以由计算机或处理器执行,而无论是否明确地示出了这种计算机或处理器。
43.图中所示的各种元素的功能、包括标记为“处理器”的任何功能块可以通过使用专
用硬件以及能够与适当的软件相关联地执行软件的硬件来提供。各个功能在由处理器提供时可以由单个专用处理器、单个共享处理器或多个单独的处理器提供,多个单独的处理器中的一些处理器可以共享。在本技术的一些实施方式中,处理器可以是诸如中央处理单元(cpu)等的通用处理器或者是诸如数字信号处理器(dsp)的专门用于特定目的的处理器。此外,明确地使用术语“处理器”不应当被解释为仅指能够执行软件的硬件,而是可以隐含地包括但不限于专用集成电路(asic)、现场可编程门阵列(fpga)、用于对软件进行存储的只读存储器(rom)、随机存取存储器(ram)和非易失性存储器。本文所述的功能中的一些功能或所有功能可以由基于云的系统执行。还可以包括常规的和/或定制的其他硬件。
44.软件模块或暗示为软件的简单模块在本文中可以表示为流程图元素或表示执行过程步骤和/或文本描述的其他元素的任何组合。这些模块可以由明确或隐含地示出的硬件执行。此外,应当理解的是,一个或更多个模块可以包括,例如,但不限于,计算机程序逻辑、计算机程序指令、软件、叠置件、固件、硬件电路或它们的组合。
45.图1示出了计算环境100,该计算环境100可以用于实现和/或执行本文所述的方法中的任何方法。在一些实施方式中,计算环境100可以由适于手边相关任务的传统个人计算机、网络装置和/或电子装置(诸如但不限于,移动装置、平板装置、服务器、控制器单元、控制装置等)中的任一者以及/或者上述各者的任何组合来实现。在一些实施方式中,计算环境100包括各种硬件部件,这些硬件部件包括总体上用处理器110表示的一个或更多个单核或多核处理器、固态驱动器120、随机存取存储器130以及输入/输出接口150。计算环境100可以是计算机,该计算机被专门设计成运行机器学习算法(mla)。计算环境100可以是通用计算机系统。
46.在一些实施方式中,计算环境100还可以是以上列出的系统中的一个系统的子系统。在一些其他实施方式中,计算环境100可以是“现成的”通用计算机系统。在一些实施方式中,计算环境100还可以被分布在多个系统之间。计算环境100还可以专门用于实现本技术。如本领域技术人员可以理解的是,在不脱离本技术的范围的情况下,可以设想关于如何实现计算环境100的多种变体。
47.本领域技术人员可以理解的是,处理器110通常表示处理能力。在一些实施方式中,代替一个或更多个传统的中央处理单元(cpu)或者除了一个或更多个传统的中央处理单元(cpu)之外,还可以提供一个或更多个专用处理核。例如,除了一个或更多个cpu之外或者代替一个或更多个cpu,还可以提供一个或更多个图形处理单元111(gpu)、张量处理单元(tpu)和/或其他的所谓加速处理器(或处理加速器)。
48.系统存储器将通常包括随机存取存储器130,但是更一般地旨在包含任何类型的非暂态系统存储器,诸如静态随机存取存储器(sram)、动态随机存取存储器(dram)、同步dram(sdram)、只读存储器(rom)或它们的组合。固态驱动器120被示出为大容量存储装置的示例,但是更一般地,这种大容量存储装置可以包括任何类型的非暂态存储装置,该非暂态存储装置被配置成对数据、程序和其他信息进行存储,并且使数据、程序和其他信息能够经由系统总线160访问。例如,大容量存储装置可以包括固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器中的一者或更多者。
49.计算环境100的各种部件之间的通信可以通过系统总线160来实现,该系统总线160包括一个或更多个内部和/或外部的总线(例如,pci总线、通用串行总线、ieee 1394“火
线”总线、scsi总线、串行ata总线、arinc总线等),各个硬件部件电耦接至该系统总线160。
50.输入/输出接口150可以允许能够实现联网能力,诸如有线或无线访问。作为示例,输入/输出接口150可以包括联网接口,诸如但不限于网络端口、网络插接件、网络接口控制器等。对于本技术领域的技术人员来说,可以如何实现联网接口的多个示例将变得明显。例如联网接口可以实现特定物理层和数据链路层标准,诸如以太网、光纤通道、wi-fi、令牌环或串行通信协议。特定物理层和数据链路层可以为完整的网络协议栈提供基础,从而允许同一局域网(lan)上的小型计算机群之间的通信以及通过诸如互联网协议(ip)等的可路由协议的大规模网络通信。
51.输入/输出接口150可以耦接至触摸屏190以及/或者一个或更多个内部和/外部总线160。触摸屏190可以是显示器的一部分。在一些实施方式中,触摸屏190是显示器。触摸屏190也可以称为屏幕190。在图1中所示的实施方式中,触摸屏190包括触摸硬件194(例如,嵌置在显示器的层中的压敏单元,该压敏单元允许对用户与显示器之间的物理交互进行检测)和触摸输入/输出控制器192,该触摸输入/输出控制器192允许与显示器接口140以及/或者一个或更多个内部和/或外部总线160进行通信。在一些实施方式中,除了触摸屏190之外或代替触摸屏190,输入/输出接口150可以连接至键盘(未示出)、鼠标(未示出)或轨迹板(未示出),从而允许用户与计算装置100进行交互。
52.根据本技术的一些实现形式,固态驱动器120存储有程序指令,这些程序指令适于被加载到随机存取存储器130中并且由处理器110执行,以用于执行本文所述的一个或更多个方法的动作。例如,程序指令中的至少一些程序指令可以是库或应用程序的一部分。
53.图2是示出根据本技术的各种实施方式的用于将约束施用至机器学习算法(mla)的系统200的视图。系统200可以接收输入以及基于接收到的输入来输出预测。
54.系统200可以接收输入数据205。输入数据205可以是适于mla 210的任何格式。输入数据205可以是与用于对mla 210进行训练的训练数据相同的格式。输入数据可以是音频、文本、视频、图像、输入集、输入序列和/或上述各者的组合。输入数据205可以包括任何数量的特征。
55.可以对输入数据205进行数据预处理。可以基于输入数据205生成附加特征,可以对输入数据205进行归一化,可以从输入数据205中去除异常值,可以对输入数据205进行变换,以及/或者可以对输入数据205进行任何其他类型的预处理。
56.输入数据205可以被输入到mla210。mla210的mla状态207可以与输入数据205一起被输入到mla 210。如果这是系统200的第一迭代,则mla状态207可以是初始状态。
57.mla210先前可能已经使用标记的训练数据进行了训练。mla 210可能已经被训练成接收输入数据205和/或mla状态207,以及然后输出预测,诸如以概率分布215的形式输出预测。mla 210可以用在没有约束220的系统。系统200(包括约束220)的输出可以比在没有约束220的情况下mla210单独的输出更准确。mla 210可能先前已经在没有约束220的系统中使用和/或训练。
58.mla210可以是诸如神经网络、基于树的mla等的任何类型的mla。尽管被示出为单个mla210,但是mla 210可以包括一个以上的mla以及/或者可以是不同类型的mla的组合。
59.在对输入数据205和/或mla状态207进行处理之后,mla 210可以输出概率分布215。概率分布215可以包括各种类别,并且对于每个类别,概率分布215包括输入数据205与
该类别相对应的预测概率。对于每个类别,概率分布215可以包括与该类别相对应的新mla状态。概率分布可以指示每个成对的mla状态和类别的分数。该分数可以是概率。例如,如果mla 210被训练成接收图像并且对该图像中的文本进行识别,则对于字母表中的每个字母,概率分布215可以包括该字母的概率和该字母的新mla状态。在下文进一步详细描述的图5示出了概率分布215的若干示例。
60.概率分布215可以是mla输出集,其中,mla输出中的每个mla输出包括mla状态、类别和分数。mla输出集可以形成概率分布215。概率分布215可以是任何合适的格式,诸如表或图形模型。概率分布215可以被存储为树或图形。概率分布215可以是局部分布,其中,分布的所有概率的总和(即,总概率质量)加起来不等于1。
61.约束220可以被施用至概率分布215中的每个类别。一个或更多个约束状态209可以被输入至具有每个类别的约束220。如果这是系统200的第一迭代,则约束状态209可以是约束220的初始状态。在随后的迭代中,约束220可以输出约束状态209。约束状态209可以表示将约束220的哪一部分施用至该类别。例如,如果约束220表示字符序列必须以字符

abc’开始,则初始约束状态209可以表示序列中的初始类别必须是字符

a’。如果已经观察到

a’并且满足约束220的该部分,则新约束状态209可以表示可以满足约束220的下一类别是字符

b’。
62.约束220可以是任何格式,诸如有限状态自动机、正则表达式(regex)、转换器、逻辑语句和/或用于约束的任何其他合适的格式。约束220可以由系统200的操作者限定。约束220中的每个约束可以被配置成接收概率分布215中的类别作为输入和/或约束状态220。约束220中的每个约束可以输出约束状态、类别和/或分数。约束状态可以表示输入类别是否满足约束。约束状态可以表示输入类别是否为无效输入。输出类别可以与输入类别相同或不同。
63.概率分布215中的一些类别或所有类别可以被输入至约束220。对于概率分布215中的被输入至约束220的每个类别,可以为该类别生成约束状态集。约束状态集可以包括针对约束220中的每个约束的一个约束状态。
64.约束220可以防止系统200输出不可能的输出状态230。例如,如果mla 210被训练成接收人的图片以及然后输出该人的年龄,则约束220可以将可以输出的可能年龄限制成小于一百三十岁,这是因为从来没有人的寿命超过该年龄。但是如果mla 210被训练成接收巨型乌龟的图片并且对该乌龟的年龄进行预测,则约束可以被设置为较高的年龄,这是因为巨型乌龟的寿命可能超过一百三十年。系统200可以被配置成产生输出状态230,每个输出状态230满足约束220中的至少一者。在一些情况中,系统200可以被配置成产生输出状态230,每个输出状态230满足约束220中的每一者。
65.结束状态检查225可以对概率分布215中的mla状态中的任何状态是否处于结束状态进行确定。被确定为结束状态的任何状态可以被存储在输出状态230集中。如果状态被置于输出状态230中,则可以从概率分布215中为该状态确定诸如概率等的分数,并且将该分数与该状态一起存储在输出状态230集中。如将在下文进一步详细讨论的,输出状态230中的每个输出状态可以包括mla状态、约束状态、候选者和/或分数。不是结束状态的状态被存储在待搜索状态235集中。
66.可以从概率分布215中生成待搜索的状态235集。待搜索的状态235集可以包含状
态数据集。每个状态数据可以包含mla状态、一个或更多个约束状态、一个或更多个候选者以及/或者一个或更多个分数。存储在待搜索的状态235集中的每个状态数据可以源于满足约束220中的至少一个约束的mla输出并且由结束状态检查225发现不是结束状态。
67.待搜索的状态235集可以由状态选择器240进行处理。在系统200的每个迭代中,状态选择器240可以对待搜索的状态235中的用以输入至mla 210的状态数据的全部或一部分进行选择。对于系统200的下一迭代,选择的状态数据中的每个状态数据可以被输入至mla 210。
68.状态选择器240可以与任何合适类型的搜索算法和/或搜索方法结合。状态选择器240可以基于诸如集束搜索或分支定界搜索等的启发式搜索算法来选择状态。在系统200中的每个迭代中由状态选择器240输入至mla 210的状态的数量可以是预定的集束大小。
69.在一些情况下,输入至mla 210的状态可以是待检索的状态235的子集。该子集中的每个状态数据可以被单独输入至mla 210,换言之,可以一次将单个状态数据输入至mla 210。可以对待搜索的状态235中的状态数据进行排名,诸如基于预测概率进行排名。与每个状态数据相关联的状态分数可以用于对待搜索的状态235中的状态数据进行排名。状态选择器240可以选择将多个排名较高的状态数据(诸如具有最高预测概率的十个状态数据)输入至mla 210。待搜索的状态235中的排名较低的状态数据可能不会被输入至mla 210。
70.在系统200的每个迭代中,可以将未被选择输入至mla 210的状态数据从待搜索的状态235中去除。待搜索的状态235可以通过将排名最低的状态数据去除而被减少至集束搜索的预定集束大小。
71.系统200可以继续将状态数据输入至mla 210并且生成概率分布215,直至该待搜索的状态235集为空以及/或者达到任何其他结束条件为止。结束条件可以包括超时、达到输出状态的预定数量以及/或者可以基于已经找到最佳解决方案的概率。然后可以将输出状态230中的全部或一部分输出。输出状态230中的每个输出状态可以具有相关联的分数,诸如预测概率。输出状态230中的状态数据中的每个状态数据可以满足约束220中的至少一个约束。输出状态230中的状态数据中的每个状态数据可以包含结束状态。
72.图3是示出了根据本技术的各种实施方式的图2中所示的搜索的迭代的视图。如图2中所示,输入数据205被输入至mla 210。输入数据205可以是图像、音频、视频和/或任何其他类型的数据。
73.mla状态207可以被输入mla 210。mla状态207可以与状态数据305相关联或者与状态数据305的一部分相关联。状态数据305可以包括状态密钥306和/或状态分数307。状态密钥306可以包括mla状态207、约束状态315、候选者316、约束状态320以及候选者321。尽管示出了两个约束状态315和320,但是状态数据305可以包含任何数量的约束状态。约束状态315和约束状态320可以各自由诸如约束340和345等的约束输出。约束状态的数量可以与待施用的约束的数量相匹配。mla状态207可以是先前由mla 210输出的状态。对于搜索的第一迭代,mla状态207、约束状态315和/或约束状态320可以为空状态和/或初始状态。
74.mla 210可以接收输入数据205和mla状态207并且生成mla输出325集,该mla输出325集包含一个或更多个mla输出326。在一些情况下,mla210可能不输出任何mla输出326。mla输出326可以包含mla状态330、类别335和/或分数337。类别335可以是与类别对应的索引。如就图2所讨论的,mla 210可以输出概率分布,该概率分布具有多个成对的mla状态和
类别。概率分布可以被包含在mla输出325集中。对于输入至mla 210的每个mla状态207,可以输出mla输出325集。在图3中所示的系统的每个迭代中,mla输出326可以由mla 210逐个输出以及/或者同时输出。mla输出325集中的每个mla输出326可以对应于被输入至mla 210的单个mla状态207。分数337可以是与mla状态330相关联的概率以及/或者是与mla状态330相关联的任何其他分数。
75.约束340和345可以对mla输出326的全部或一部分进行检查。尽管示出了两个约束340和345,但是可以使用任何数量的约束。约束340可以接收类别335和约束状态315。约束345可以接收类别335和约束状态320。约束340和约束345可以对类别335进行检查,以查看该类别335是否满足每个约束。约束340可以输出约束状态350、类别370和/或分数372。约束状态350可以表示在约束340已经使用约束状态315对类别335进行检查之后的约束340的新状态。在给定约束状态315的情况下,约束状态350可以表示类别335是否满足约束340。约束状态350可以表示在给定约束状态315的情况下类别335是否为无效输入。约束状态350可以表示约束340的下一预期输入。与约束340一样,约束345可以输出约束状态335、类别375和/或分数377。
76.类别370可以与类别335相同或不同。如果约束340是转换器,则类别335和类别370可能不同。例如,如果正在执行文本识别并且大小写无关紧要,则如果类别335表示大写

a’,那么约束340可以对类别335进行处理并且输出与小写

a’相对应的类别370。与类别370一样,类别375可以与类别335相同或不同。
77.候选者聚合器380可以接收类别370和候选者316,以及然后输出候选者351。类似的,对于约束345,候选者聚合器385可以接收类别375和候选者321以及输出候选者356。候选者聚合器380可以对类别370和候选者316进行聚合,以形成候选者351。例如,如果候选者聚合器380接收作为候选者316的字符串

anim’并且接收作为类别370的字符

a’,则候选者聚合器可以将字符串

anima’输出为候选者351。类似地,候选者聚合器385可以接收类别375和候选者321以及输出候选者356。
78.候选者聚合器380和385可以基于由mla 210输出的类别的类型进行配置。如上所述,如果类别是字符,则候选者聚合器380可以将字符附加至候选者316中的文本。
79.分数372可以由约束340来分配。分数372可以是概率、权重和/或任何其他类型的分数。例如,如果约束340是加权转换器,则分数372可以是权重。在该示例中,为了对与mla状态330相关联的概率进行确定,分数337可以乘以分数372。在一些情况下,可能有利的是增加或减少与mla状态330相关联的概率。例如,如果mla 210对文本序列进行预测,则系统可能通过以下方式而偏向于存在于字典中的用语:为存在于字典中的候选者351设置较高的分数372。类似地,如果候选者351很可能被给予从预训练机器学习算法或任何其他源获得的语言模型,则可能给予较高的分数372。通过将约束340和/或345向存在于字典中的用语和/或基于语言模型而被确定具有高预测可能性的用语进行加权,输出状态和/或预测的文本将更可能存在于字典或语言模型中。
80.分数372、分数337和/或分数317可以被输入至分数聚合器390。类似地,分数377、分数337和/或分数322可以被输入至分数聚合器395。分数聚合器390可以对分数372、分数337和/或分数317进行聚合,以生成分数352。分数聚合器395可以对分数377、分数337和/或分数322进行聚合,以生成分数357。分数聚合器390和分数聚合器395可以使用任何合适的
公式。例如,分数聚合器390可以对分数372、分数337和分数317进行相加。在另一示例中,分数聚合器390可以对分数372、分数337和分数317进行相乘。
81.可以形成与mla状态330相对应的状态数据360。状态数据360可以包含状态密钥361和/或状态分数362。状态密钥361可以包含mla状态330、约束状态350、候选者351、约束状态355和/或候选者356。如可以看出的,状态数据360包含与状态数据305中的数据类型相匹配的数据集。如果选择了状态数据360,则然后可以使用图3中所示的系统对状态数据360进行处理。换言之,如果选择了状态数据360,诸如通过状态选择器240选择了状态数据360,则状态数据305将由状态数据360替换,并且mla状态330将被输入至mla 210。
82.对于输入至图3中所示的系统的每个单独的状态数据305,可以输出任何数量的状态数据360。在一些情况下,可以不输出状态数据360。当输入多个状态数据305时,生成了待搜索的状态235集,其中,待搜索的状态235集包含多个状态数据360。可以将状态数据360中的一些状态数据从待搜索的状态235集中去除。如果约束状态351表示类别335未能满足约束340并且约束状态355表示类别335也未能满足约束345,则可以将状态数据360从待搜索的状态235中去除。如果约束状态350或约束状态355表示类别335是无效的,则可以将状态数据360从待搜索的状态235集中去除。
83.待搜索的状态235中的状态数据360可以被排名,诸如基于状态分数362进行排名。在搜索的每个迭代期间,可以从待搜索的状态235中选择预定数量的排名最高的状态数据360。可以将其他状态数据360从待搜索的状态235中去除。例如,如果将搜索的集束大小设置为十,则在每次迭代中可以选择十个排名最高的状态数据360。这十个排名最高的状态数据360中的每一者的mla状态330可以在下一迭代期间被单独输入至mla 210。
84.待搜索的状态235中的状态数据360中的两个或更多个状态数据可以被合并。例如,如果两个状态数据360具有相同的状态密钥361,则两个状态数据360可以被合并成合并状态。被合并的两个状态数据360可以被从待搜索的状态235中去除并且用单个合并的状态数据360替代。可以通过对被合并的两个状态的状态分数362进行相加以及/或者通过诸如确定两个状态的状态分数362的平均值等的任何其他合适的操作来确定合并的状态数据360的分数。任何数量的状态数据360都可以被合并。例如,如果待搜索的状态235集中的五个状态数据360具有相同的状态密钥361,则五个状态数据360可以被合并成单个合并的状态数据360。可以基于状态密钥361以及/或者基于任何其他合适的标准来将状态数据360合并。在一些情况下,状态数据360可以具有多个状态密钥361。
85.图4是根据本技术的各种实施方式的用于对满足约束的预测状态进行确定的方法400的流程图。在一个或更多个方面中,方法400或该方法400的一个或更多个步骤可以由诸如计算环境100等的计算系统来执行。方法400或该方法400的一个或更多个步骤可以被实施为计算机可执行指令,这些计算机可执行指令被存储在诸如非暂态存储装置等的计算机可读介质中,这些计算机可执行指令被加载到存储器中并且由cpu执行。流程图中的步骤中的一些步骤或一部分步骤可以被省略或按顺序改变。
86.在步骤405,可以接收用于mla的输入,诸如输入数据205。输入可以处于用于mla的任何合适的格式。输入可以处于与用于对mla进行训练的训练数据相同的格式。输入数据可以是图像、音频、视频、文本以及/或者任何其他类型的数据或各种类型的数据的组合。可以接收和/或生成mla的初始状态。mla的初始状态可以是空状态和/或默认状态。
87.在步骤410,诸如mla 210等的mla可以基于输入而生成mla输出集。该集中的每个mla输出可以包括mla状态、类别和/或分数。尽管被描述为单个mla,但是任何数量的mla都可以用于生成mla输出。一个或更多个mla可以是任何类型的mla和/或各种类型的mla的组合。例如,mla可以是神经网络。mla输出可以被存储在待搜索的状态集中。
88.在步骤420,每个mla输出可以由一个或更多个约束进行检查。如果mla输出满足约束中的至少一个约束,则该mla输出的状态数据可以被保持在待搜索的状态集中。否则,如果mla输出未能满足约束中的每一个约束,则可以将该mla输出的状态数据从待搜索的状态集中去除。为了对mla输出是否满足约束进行确定,该约束可以使用用于生成mla输出的输入状态数据中的约束状态来对mla中的类别进行检查(如图3中可见的)。在步骤420之后,待搜索状态集中的每个状态数据都可以满足约束中的至少一个约束。
89.在步骤425,可以将等同的状态数据进行组合。一个或更多个转换器可以用于对两个状态数据是否等同进行确定。预定的规则可以用于对状态数据是否等同进行确定。例如,如果状态数据中的候选者是文本序列,则可以从序列中的每个序列中去除空格,以及然后可以对候选者进行比较。如果在去除空格之后两个状态数据包含相同的候选者,则可以将这两个状态数据进行组合。在另一示例中,转换器可以被配置成忽略文本的大小写。在该示例中,包含作为候选者的字符串

aa’的第一状态数据可以与包含作为候选者的字符串

aa’的第二状态数据进行组合。可以对两个状态数据的状态密钥进行比较。如果两个状态数据的状态密钥相同,则两个状态数据可以被合并成单个状态数据。可以对状态数据中的每个状态数据的状态分数进行相加,以形成合并的状态数据的状态分数。可以将用于形成合并的状态数据的任何状态数据从待搜索的状态集中去除。
90.在步骤430,可以将包含结束状态的任何状态数据从待搜索的状态集中去除。可以调用诸如结束状态检查225等的结束状态检查模块来对状态数据是否包含结束状态进行确定。结束状态检查模块可以对状态数据中的mla状态和/或约束状态进行检查,以对状态数据是否包含结束状态进行确定。可以将包含结束状态的任何状态数据从待搜索的状态中集去除以及/或者存储在输出状态集中。
91.在步骤435,可以对在待搜索的状态集中是否剩余有任何状态数据进行确定。如果剩余有至少一个状态数据,则方法400可以从步骤435继续至步骤440。
92.在步骤440,可以选择一个或更多个状态数据进行搜索。待搜索的状态集中的状态数据可以通过任何排名方法进行排名,诸如基于每个状态数据中的分数进行排名。状态数据可以基于预测概率进行排名,该预测概率可以被存储在分数中。如果状态数据基于预测概率进行排名,则排名最高的状态数据将是具有最高预测概率的状态数据。可以选择预定数量的排名最高的状态数据,诸如十个排名最高的状态数据。如果所执行的搜索是集束搜索,则待选择的状态数据的数量可以被称为搜索的“集束大小”。可以将没有被选择的状态数据从待搜索的状态集中去除。
93.在步骤445,可以将所选择的状态各自单独地输入至mla。所选择的状态数据可以各自被分别输入。在步骤405中还可以将接收到的输入与每个状态数据一起输入。对于输入至mla的每个状态数据,mla可以在步骤410中输出mla输出。然后可以在步骤420至430中对mla输出进行过滤并且在步骤435至445中对mla输出进行搜索。
94.方法400可以继续对状态数据进行搜索,直至待搜索的状态集中不再有任何待搜
索的状态数据为止,诸如因为没有满足约束中的至少一个约束的剩余状态数据以及/或者没有不包含结束状态的剩余状态数据。在步骤435,如果确定了没有剩余的待搜索的状态数据,则方法400可以在步骤450终止。
95.在步骤450,可以将输出状态输出。每个输出状态可以包含状态数据。可以将输出状态的全部或一部分输出。例如,可以将输出状态中的状态数据的候选者和/或分数输出。输出状态可以被排名,诸如使用与在步骤440中所使用的排名方法相同的排名方法进行排名。在步骤450中可以将预定数量的排名最高的输出状态输出。在步骤450中可以将与输出状态中的每个输出状态相关联的预测概率输出。每个输出状态的预测概率可以基于输出状态中的状态分数来确定。
96.图5是示出了根据本技术的各种实施方式的用于光学字符识别的概率分布的视图。图像500是被接收用于光学字符识别的图像的示例。示例性的图像500包括文本

h2s’。图像500是加拿大邮政编码的前三位数字。所有的加拿大邮政编码的前三位数字包括:字母,然后是数字,然后是字母。
97.图像500可以被输入至诸如mla 210等的mla。mla可以首先输出概率分布510,该概率分布510表示每个成对的mla状态和类别的预测概率。概率分布可以是诸如mla输出325集等的mla输出集。预测概率可以被存储在与mla状态和类别相关联的分数(诸如分数337)中。
98.概率分布510是局部分布,因为预测概率的总和不等于1。概率分布510包括具有最高预测概率的四个类别,而不是包括类别中的每个类别的预测概率。局部分布可以包括预定数量的类别。局部分布可以包括满足阈值预测概率的所有类别。对于图像500,示例性的概率分布510表示具有最高预测概率的类别是

h’、

w’、

m’和

k’,其中,类别

h’具有最高的预测概率。
99.然后可以将概率分布510中的mla状态中的一个或更多个mla状态输入至mla。在图5中所示的示例中,与类别

h’相关联的mla状态被输入至mla。然后mla输出概率分布520。在概率分布520中,具有最高概率的类别是

z’和
‘2’
。然后可以将与字符

z’相对应的mla状态输入至mla,并且mla可以输出概率分布530。在概率分布530中,具有最高概率的类别是

s’、
‘5’


g’、
‘6’


$’。概率分布510、520和530中所示的每个mla状态可以与状态数据360相关联。所示的mla状态中的每个mla状态可以链接至与该mla状态相对应的整个序列,诸如通过包含在该状态数据中的候选者(诸如候选者351和候选者356)而链接至与该mla状态相对应的整个序列。例如,状态数据中的与概率分布530中的类别

s’相对应的候选者可以包含序列“hzs”。
100.为了对候选者(诸如与概率分布530中的类别

g’相关联的候选者)的预测概率进行确定,可以对与该类别和先前类别相对应的概率中的每个概率进行相乘。例如,在图5中,状态

hzg’的预测概率约为0.033。
101.图6是根据本技术的各种实施方式的图5的概率分布的搜索结果的视图610。视图610示出了集束大小为四的集束搜索的结果。在集束搜索的每个步骤或迭代中,对用以输入至mla四个状态数据进行选择。视图610中的结果是在没有对集束搜索施用任何约束的情况下获得的。
102.在搜索的第一步骤,选择了包含候选者

h’、

w’、

m’和

k’的状态数据。如在概率分布510中可以看出的,这些状态数据是具有最高预测概率的四个初始状态数据。然后可以
将这些状态数据中的每个状态数据中的mla状态输入至mla,并且可以生成四个附加的概率分布(或四个mla输出325集)。然后可以对第二待搜索的状态集进行搜索。
103.在搜索的第二步骤,将对初始mla状态的下一状态进行确定。对于下一状态中的每个下一状态,将通过对初始mla状态的预测概率和下一状态的预测概率进行相乘来确定预测概率。在搜索的第二步骤中具有最高预测概率的状态数据包含候选者

hz’、

wz’、

h2’和

mz’。因为搜索的集束大小是四,所以在搜索的步骤2选择了四个状态数据。然后可以将这些状态数据中的四个mla状态输入至mla,并且mla可以输出四个附加的概率分布。
104.在搜索的步骤2之后由mla输出的mla状态可能全部都是结束状态。或者可能发生搜索的进一步迭代(未示出)。包含结束状态的状态数据可以被排名,诸如基于预测概率进行排名。排名最高的状态数据可以被输出作为输出状态。具有最高预测概率的四个输出状态中的候选者是

hzs’、

hz5’、

wzs’和

hzg’。输出状态的数量可以大于搜索的集束大小,例如由搜索发现的所有结束状态都可以被输出。输出状态中的每个输出状态可以包括相关联的预测概率,该预测概率可以基于与输出状态相关联的状态分数来确定。
105.在步骤3中识别的四个状态数据全部都包含最终状态,因此集束搜索的输出将是在步骤3中识别的四个状态数据。因为没有对所有可能的mla状态进行搜索,所以如果对所有mla状态进行搜索,则这些状态数据可能会不包含四个最高概率的候选者。通过对被搜索的mla状态的数量进行限制,搜索所消耗的时间和/或资源的量被减少。
106.图6的示例中输出的候选者中没有一者正确地识别了图像500的文本,该文本为

h2s’。图6的示例中输出的候选者中没有一者可能是加拿大邮政编码的前三个字符,因为没有一者遵循字母-数字-字母的格式。
107.图7是根据本技术的各种实施方式的图5的概率分布的具有约束700的搜索结果的视图710。约束700对应于加拿大邮政编码的前三个字符。约束700表示输出的mla状态应该包括大写字母,然后是数字,然后是另一大写字母。视图710示出了与约束700结合的集束搜索的结果,其中,集束大小为四。
108.在搜索的第一步骤或第一迭代中,具有最高预测概率的四个状态数据与视图610中的四个状态数据相同。与在步骤1中选择的状态数据相关联的候选者中的每个候选者都以大写字母开始,这满足了约束700。
109.在搜索的第二步骤中,选择的状态数据与在图6中的步骤2中选择的状态数据不同。在步骤2中选择了包含候选者

h2’、

w2’、

m2’和

k2’的状态数据。这些状态数据中的每个状态数据都满足约束700。尽管这些状态数据不是在步骤1中选择的状态数据的具有最高预测概率的下一状态(图6中示出了这些状态),但是这些状态数据中的每个状态数据都满足约束700。在图6的步骤2中选择的状态数据中,状态数据中的仅一个状态数据会满足约束以及可能形成加拿大邮政编码的前两个字符。
110.图7中所示的输出状态都是最终状态,这些输出状态包括候选者

h2s’、

w2s’、

h2g’和

w2g’。具有最高预测概率的输出状态包含候选者

h2s’,该输出状态正确地预测了图像500中的文本。在没有实施约束的情况下,具有最高预测概率的输出状态会包含候选者

hzs’,如图6中所示。通过在集束搜索中使用约束,集束搜索能够正确地预测图像500中的文本。在没有约束的情况下,在集束搜索的输出状态中的任一者中都没有包括正确文本,如图6中所示。
111.虽然可能已经参考以特定顺序执行的特定动作对上述实现方式中的一些实现方式进行了描述和示出,但可以理解的是,在不脱离本技术的教导的情况下,这些动作可以被组合、细分或重新排名。这些动作中的至少一些动作可以被并行或串行地执行。因此,动作的顺序和分组不是对本技术的限制。
112.应当明确地理解的是,在本技术的每一个实施方式中不需要享有本文提到的所有技术效果。
113.如本文中所使用的,用语“和/或”旨在表示包括-或者;例如,“x和/或y”旨在意指x或者y、或者x和y两者。作为另外的示例,“x、y和/或z”旨在意指x或者y或者z、或者它们的任何组合。
114.上述描述旨在为示例性的而非限制性的。对于本领域技术人员来说,对本技术的上述实现方式进行修改和改进可能是明显的。

技术特征:
1.一种使用一个或更多个约束对图像中的文本进行预测的方法,所述方法包括:向机器学习算法(mla)输入所述图像和所述mla的第一状态,其中,所述mla被训练成对所述图像对应于下述对的概率分布进行预测:每个所述对包括类别集中的类别和所述mla的下一状态,以及其中,所述类别集中的每个类别包括一个或更多个字符;通过所述mla并且基于所述图像和所述第一状态来输出所述概率分布,其中,所述概率分布包括针对多个下述对中的每个对的预测概率:每个所述对包括所述类别集中的类别和所述mla的对应状态;将所述概率分布中的每个状态添加至待搜索的状态集;向所述待搜索的状态集应用搜索,其中,应用所述搜索包括:将处于结束状态的任何状态从所述待搜索的状态集中去除,将不满足所述一个或更多个约束中的每个约束的任何状态从所述待搜索的状态集中去除;对所述待搜索的状态集中的用以输入至所述mla的一个或更多个状态进行选择,将所选择的一个或更多个状态中的每个状态输入至所述mla,从而生成一个或更多个附加概率分布,将所述一个或更多个附加概率分布中的一个或更多个状态添加至所述待搜索的状态集,从而生成更新的待搜索的状态集,以及利用所述更新的待搜索的状态集重复进行所述搜索;以及对通过所述搜索而选择的一个或更多个输出状态进行输出,其中,所述一个或更多个输出状态中的每个输出状态包含结束状态,以及其中,所述一个或更多个输出状态中的每个输出状态包括满足所述一个或更多个约束中的至少一个约束的字符序列。2.根据权利要求1所述的方法,所述方法还包括:在对用以输入至所述mla的状态进行选择之后,将所选择的状态从所述待搜索的状态集中去除。3.根据权利要求1所述的方法,其中,所述概率分布是局部概率分布,所述局部概率分布具有小于1的总概率质量。4.根据权利要求3所述的方法,其中,所述局部概率分布包括表或图形模型。5.根据权利要求1所述的方法,其中,在重复进行所述搜索之前,将待搜索的状态的数量减少至小于或等于预定的集束大小。6.根据权利要求5所述的方法,其中,所述更新的待搜索的状态集包括所述待搜索的状态集中的排名最高的状态。7.根据权利要求1所述的方法,所述方法还包括:对与一个或更多个待搜索的状态集中的第一状态相关联的第一状态密钥等同于与所述一个或更多个待搜索的状态集中的第二状态相关联的第二状态密钥进行确定;以及对所述第一状态和所述第二状态进行组合。8.根据权利要求7所述的方法,其中,对所述第一状态和所述第二状态进行组合包括:对所述第一状态的预测概率进行确定;对所述第二状态的预测概率进行确定;对所述第一状态的所述预测概率和所述第二状态的所述预测概率进行相加;将经相加的预测概率分配至与所述第一状态和所述第二状态相对应的组合状态;以及将所述组合状态添加至所述一个或更多个待搜索的状态集。
9.根据权利要求1所述的方法,其中,所述类别集包括字母表。10.根据权利要求9所述的方法,其中,所述概率分布中的每个状态与候选者相关联,所述候选者包含字符串,以及其中,所述字符串包括类别序列,所述类别序列是所述字母表的一部分。11.根据权利要求1所述的方法,其中,所述一个或更多个约束中的约束包括有限状态自动机。12.根据权利要求11所述的方法,其中,所述一个或更多个约束中的所述约束包括正则表达式,所述正则表达式包括所述有限状态自动机。13.根据权利要求1所述的方法,其中,所述一个或更多个约束中的约束包括转换器。14.根据权利要求13所述的方法,所述方法还包括:通过所述转换器接收与第一字符相对应的第一类别;以及通过所述转换器输出与第二字符相对应的第二类别,所述第二字符与所述第一字符不同。15.根据权利要求13所述的方法,其中,所述转换器是加权的有限状态转换器,并且所述方法还包括通过所述转换器输出分数。16.一种系统,所述系统包括:至少一个处理器,以及存储器,所述存储器存储有多个可执行指令,所述多个可执行指令在由所述至少一个处理器执行时使所述系统进行以下操作:向机器学习算法(mla)输入图像和所述mla的第一状态,其中,所述mla被训练成对所述图像对应于下述对的概率分布进行预测:每个所述对包括类别集中的类别和所述mla的下一状态,以及其中,所述类别集中的每个类别包括一个或更多个字符;通过所述mla并且基于所述图像和所述第一状态来输出所述概率分布,其中,所述概率分布包括针对多个下述对中的每个对的预测概率:每个所述对包括所述类别集中的类别和所述mla的对应状态;将所述概率分布中的每个状态添加至待搜索的状态集;向所述待搜索的状态集应用搜索,其中,应用所述搜索包括:将处于结束状态的任何状态从所述待搜索状态集中去除,将不满足所述一个或更多个约束中的每个约束的任何状态从所述待搜索的状态集中去除;对所述待搜索的状态集中的用以输入至所述mla的一个或更多个状态进行选择,将所选择的一个或更多个状态中的每个状态输入至所述mla,从而生成一个或更多个附加概率分布,将所述一个或更多个附加概率分布中的一个或更多个状态添加至所述待搜索的状态集,从而生成更新的待搜索的状态集,以及利用所述更新的待搜索的状态集重复进行所述搜索;以及对通过所述搜索而选择的一个或更多个输出状态进行输出,其中,所述一个或更多个输出状态中的每个输出状态包含结束状态,以及其中,所述一个或更多个输出状态中的每个输出状态包括满足所述一个或更多个约束中的至少一个约束的字符序列。

技术总结
公开了一种使用一个或更多个约束对图像中的文本进行预测的方法和系统。将图像输入至机器学习算法(MLA)。MLA输出概率分布。概率分布包括多个对中的每个对的预测概率,其中,每个对包括类别和MLA的下一状态。概率分布的状态被添加至待搜索的状态集。将处于结束状态或未能满足约束中的至少一个约束的状态从待搜索的状态集中去除。将待搜索的状态集的状态输入至MLA。利用由MLA输出的新状态重复进行搜索。由MLA输出的结束状态被输出作为输出状态,每个输出状态包括字符序列。每个输出状态包括字符序列。每个输出状态包括字符序列。


技术研发人员:黑克托尔
受保护的技术使用者:瑟威斯劳加拿大有限公司
技术研发日:2021.09.29
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐