人机交互学习中的主动特征化的制作方法

文档序号:13383187阅读:179来源:国知局
人机交互学习中的主动特征化的制作方法
人机交互学习中的主动特征化

背景技术:
非常大的数据的集合可能难以搜索和/或分析。例如,在网络的情况下,数据的一大部分是无结构的并且价值被锁在数据本身中。存储服务提供商的网页是不够的。为了让该信息有用,该信息需要被理解。一个数字字符串取决于上下文可能是模型号码、银行账户、或者电话号码。例如,在滑雪板产品的上下文中,字符串“长度:170,175,180cm”指的是3种不同的滑雪板长度,而不是1700千米的滑雪板长度。不正确地解释数据可能得到没用的信息。作为一种示例,如果用户输入两个词“mtor”和“stock(股票)”到因特网搜索引擎中,结果主要由与药物mTor相关的网页构成,搜索引擎未能将搜索认作为股票报价查询。作为另一示例,如果用户输入两个词“seattle(西雅图)”和“sushi(寿司)”到因特网搜索引擎中,并且结果主要由与西雅图的酒店相关的网页构成,则搜索引擎未能将搜索认作为餐馆查询。虽然因特网搜索引擎经常针对标题查询和文档作出合理的工作,但是精确性快速地下降至很低,因为信息没有被搜索引擎自动理解。

技术实现要素:
如果查询和网页可以被自动分类到有用的类别中,例如股票报价或餐馆,以及如果这些分类得分被用作相关性特征,则搜索结果的相关性可以被显著提升。周密的方法可能需要构建大量分类器,与信息、活动和产品的各种类型相对应。分类器的数量可能进一步乘以语言的数量和上下文(查询、网页、广告片段、产品提要等等)的数量。所期望的是,将计算机在分类和概要化(schematization)任务中的精确性带到人类层次,并且使普通人轻松地创建他们自己的计算机克隆以大量地执行这种任务。作为一种示例,提供被最优化用于允许在大数据集上在数小时内创建分类器和概要器的工具。当分类器和概要器被在数亿条目上练习时,分类器和概要器可以通过添加能够使用的元数据来暴露数据内在的价值。这种工具的一些应用包括搜索、广告、和商业。在此使用的术语概要化指的是识别并且填充概要(schema)的域的动作。例如,食谱的概要可以由四个域构成:标题、描述、成分和指导。食谱概要的网页的概要化是将页面分割成一个或多个食谱概要实例并且相应地填充域的动作。因特网搜索引擎已构建数百个分类器和实体提取器,以尝试理解查询、网页和广告。不幸的是,当前方法的效力受到机器学习专家的数量、程序员的数量和任务的复杂度的限制。人类在从数据中提取语义意义方面是杰出的。当数据为人类或由人类创作时这尤其是真实的。例如,人类可以容易地标记(label)(或者分割)网页、查询或产品提要。不幸的是,人类在大规模地做这些事情方面是令人尴尬地糟糕的。以每个页面十秒的速度,对于人来说一生时间将不够筛选一亿网页以识别所有与给定主题相关的页面。计算机具有恰好相反的能力。计算机在语义理解方面是令人尴尬地不佳的,而它们在大规模地做事情方面是杰出的。在此描述的方法后面的哲学是构建利用人类和计算机的优点的高度交互式以及直观的系统。“高度交互式”意指由人类输入的标记或特征应当对计算具有直接的影响。在数秒之内,其应当影响:犯了或避免了哪些错误,下一个应当标记哪个条目,用户应当注重哪个特征,以及应当添加或删除概要的哪个域。“直观”意指用户应当理解用户的动作的效果以及如何实现用户的目的而不需要机器学习或编程专业知识。该方法需要来自计算机和人类的循环。循环可以紧凑地通过快速机器学习“修正”而交织。人类在引导计算机并且反之亦然。效率的另一方面是以其他人的工作为基础进行工作的能力。网络爆炸的重要贡献者是“查看源代码”和复制-粘贴能力。在机器学习中,复制-粘贴能力来自以下事实:所训练的分类器可以用作其他的分类器的特征。通过创建可搜索以及记录的分类器资源库,人们能够以彼此的工作为基础进行工作。这均适用于分类器和概要器。附图说明图1根据本发明的实施例描绘示范性运行环境;图2根据本发明的实施例描绘表示可搜索数据条目的语料库的示范性数据集;图3根据本发明的实施例描绘示范性概率图;图4根据本发明的实施例描绘示范性主动标记探索信息流;图5根据本发明的实施例描绘示范性抽样分布;图6根据本发明的实施例描绘示范性主动标记探索缩放的总结;图7根据本发明的实施例描绘示范性分类函数;图8根据本发明的实施例描绘示范性接口;图9根据本发明的实施例描绘街道地址的示范性分割;图10根据本发明的实施例描绘分割器的示范性格图表示;图11根据本发明的实施例描绘从网页提取的地址的示范性部分;图12根据本发明的实施例描绘用于提取地址的示范性有限状态机;图13根据本发明的实施例描绘用于计算路径概率的示范性有限状态机格图;图14根据本发明的实施例描绘示范性格图边缘权重函数;图15根据本发明的实施例描绘示范性有限状态机模块;图16根据本发明的实施例描绘示范性有限状态机;图17根据本发明的实施例描绘用于地址的二进制标记的系统的示范性屏幕截图;图18根据本发明的实施例描绘用于地址的二进制标记的系统中的示范性搜索结果;图19根据本发明的实施例描绘用于地址的二进制标记的系统的示范性屏幕截图;图20根据本发明的实施例描绘用于地址的二进制标记的系统的示范性屏幕截图;图21根据本发明的实施例描绘标记审阅面板的示范性屏幕截图;图22根据本发明的实施例描绘用户标记文档中的模型预测的示范性屏幕截图;以及图23根据本发明的实施例描绘标记工具的示范性屏幕截图。具体实施方式在此描述的方案产生将要被论述的若干工程和科学挑战。所述挑战包括:主动标记探索自动正则化和冷启动利用条目的数量和分类器的数量来缩放主动特征化分割和概要化在第一方面,实施计算机可用指令的计算机可读介质被提供用于实现用于机器学习的交互式特征选择的方法。提供数据条目的第一集合,其中一个或多个数据条目先前已经被标记为特定类的数据条目的示例。分类器用来确定一个或多个数据条目的预测标记。识别出在先前标记和预测标记之间有差异的一个或多个数据条目。经由用户接口,呈现在先前标记与预测标记之间具有差异的一个或多个数据条目的指示。用户接口包括特征选择接口,其配置为接收可用作输入特征来训练分类器的一个或多个特征的用户选择。经由用户接口,接收一个或多个特征的用户选择。利用一个或多个用户选定特征作为输入特征来训练分类器。可以存储用户可选择特征,并且可以将选项呈现给用户以选择一个或多个用户可选择特征,其中一个或多个用户选定特征包括从用户可选择特征中选出的一个或多个特征。用户可选择特征可以包括内置特征、用户生成特征、训练过的分类器、训练过的区段提取器、或字典中的一个或多个。用户可选择特征可以包括多个用户生成的特征。用户可选择特征可以存储在由多个用户共享的共同可访问的系统上。可以重复记分、识别、呈现、接收和训练,并且可以继续,直到接收到表明特征选择完成的用户输入。在接收到表明特征选择完成的用户输入时,分类器可被指定为可用作输入特征来训练分类器或概要器的特征,其中分类器被冻结而使得不允许重新训练分类器。在第二方面,提供了用于实现用于机器学习的交互式特征选择的方法的实施计算机可用指令的计算机可读介质。提供数据条目的第一集合,其中一个或多个数据条目包括之前已经标记为特定概要的部分的记号。对于一个或多个数据条目,概要器用来确定之前已经标记过的一个或多个记号的预测标记。识别在先前标记与预测标记之间具有差异的一个或多个记号。经由用户接口,呈现在先前标记与预测标记之间具有差异的一个或多个记号的指示。用户接口包括特征选择接口,其配置为接收可用作输入特征来训练概要器的一个或多个特征的用户选择。经由用户接口,接收一个或多个特征的用户选择。利用一个或多个用户选定特征作为输入特征来训练概要器。可以存储用户可选择特征,并且可以将选择一个或多个用户可选择特征的选项呈现给用户,其中一个或多个用户选择特征包括从用户可选择特征中选出的一个或多个特征。用户可选择特征可以包括内置特征、用户生成特征、训练过的分类器、训练过的区段提取器、或字典中的一个或多个。用户可选择特征可以包括多个用户生成的特征。用户可选择特征可以存储在由多个用户共享的共同可访问系统上。可以重复记分、识别、呈现、接收和训练。在接收到表明特征选择完成的用户输入时,概要器可被指定为可用作输入特征来训练分类器或概要器的特征,其中概要器被冻结而使得不允许重新训练概要器。在第三方面,提供了用于实现用于机器学习的交互式特征选择的方法的实施计算机可用指令的计算机可读介质。提供数据条目的第一集合,其中一个或多个数据条目之前被标记为数据条目的特定类的示例。分类器用来确定一个或多个数据条目的预测标记。识别出在先前标记与预测标记之间具有差异的一个或多个数据条目。经由用户接口,呈现在先前标记与预测标记之间具有差异的一个或多个数据条目的指示。用户接口包括特征选择接口,其配置为接收可用作输入特征来训练分类器的一个或多个特征的用户选择。经由搜索接口来接收搜索查询。在数据条目的第一集合上执行搜索查询,其中生成搜索结果。搜索结果呈现给用户。接收选择搜索查询作为训练分类器的第一特征的用户输入。经由用户接口,接收选择字典作为用来训练分类器的第二特征的用户输入,其中字典包括定义了对应于第二特征的概念的词。利用搜索查询和字典作为输入特征来训练分类器。分类器用来确定一个或多个数据条目的新的预测标记。识别在先前标记与新的预测标记之间具有差异的一个或多个数据条目。经由用户接口,呈现在先前标记与新的预测标记之间具有差异的一个或多个数据条目的指示。经由用户接口,接收一个或多个特征的用户选择。利用一个或多个用户选定特征作为输入特征来训练分类器。可以从用户生成的一个或多个字典中指定字典。接口可以包括用于从多个用户生成的一组字典中选择字典的接口。可以接收指定由另一用户生成的第二字典的用户输入,并且第二字典可以用作训练分类器的输入特征。确定预测标记和训练分类器可以在接收指定用于训练分类器的特征的用户输入的同时以规定的间隔在后台中透明地发生。已经简要地描述了本发明的一些方面的概览,下面描述适于在实现本发明的一些方面中使用的示范性运行环境。首先尤其参考图1,用于实现本发明的一些实施例的示范性运行环境被示出并且一般被指定为计算设备100。计算设备100仅仅是合适的计算环境的一种示例并且不意图表明关于发明实施例的使用或功能的范围的任何限制。计算环境100不应当被解释为具有关于所说明的组件的任何一个或组合的任何相关性或要求。本发明的一些实施例可以在计算机代码或机器可用指令的整体上下文中描述,包括由计算机或其他机器、例如个人数据助理或其他手持设备执行的计算机可执行指令,例如程序模块。一般地,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明的一些实施例可以在以下多种系统配置中实践,所述系统配置包括手持设备、消费电子产品、通用计算机、更多的专业计算设备等等。本发明的一些实施例也可以在分布式计算环境中实践,在所述分布式计算环境中任务由通过通信网络链接的远程处理设备执行。参照图1,计算设备100包括总线110,所述总线110直接或间接耦合下列设备:存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出端口118,输入/输出组件120,以及示例性的电源122。总线110表示一个或多个总线(例如地址总线、数据总线或它们的组合)。尽管图1的多种框为了清楚被用线示出,在实际中,描写各种组件不是如此清楚的,并且比喻地讲,线将会是更精确地为灰色以及模糊的。例如可以将呈现组件(例如显示设备)考虑为I/O组件。同样,处理器具有存储器。我们认识到这是技术的本质,并且重申图1的图表仅仅说明能够与本发明的一些实施例相关地使用的示范性计算设备。诸如“工作站”、“服务器”、“笔记本电脑”、“手持设备”等等的类别之间不作区分,因为全部被设想在图1的范围之内并且指的是“计算设备”。计算设备100典型地包括多种计算机可读介质。作为示例而非限制,计算机可读介质可以包括随机存取存储器(RAM);只读存储器(ROM);电可擦除可编程只读存储器(EEPROM);闪速存储器或其他存储器技术;CDROM,数字通用光盘(DVD)或其他光学或全息介质;磁卡带、磁带、磁盘储存器或其他磁性储存设备、载波或任何其他能够被用于编码所期望的信息并且被计算设备100访问的介质。存储器112包括易失性和/或非易失性存储器形式的计算机储存介质。存储器可以是可移除的、非可移除的、或者它们的组合。示范性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等等。计算设备100包括从多种实体(例如存储器112或I/O组件120)读取数据的一个或多个处理器。(多个)呈现组件116将数据指示呈现给用户或其他设备。示范性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。I/O端口118允许计算设备100被逻辑耦合到包括I/O组件120的其他设备,所述其他设备中的一些设备可以被内置。说明性的组件包括麦克风、操纵杆、游戏板、碟形卫星天线、扫描仪、打印机、无线设备等等。Ⅰ.ALE(主动标记探索)挑战在非常大的数据集合上构建分类器(或概要器)呈现了独特的挑战:应当从什么分布中抽取训练集合?在观察一百万样本之后,从真实分布中随机地选择条目可能得不出任何肯定示例。有偏差的采样可能得出更多肯定示例,但是其可能不表示真实分布的特性使得得到的分类器在被部署到现实世界中时不大可能表现良好。考虑一种虚构的场景,其中任务是构建分类器以在网络上寻找烹饪食谱页面。随机地选择页面不大可能返回任何食谱(即使在阅览一百万页面之后)。搜索术语“recipe(食谱)”将会返回有偏差的食谱样本(其将会找到“NumericalRecipe(数值方法)”并且错过“CookingAdventure(烹饪冒险)”)。四个阶段的传统发展:数据收集,标记,训练和特征化和调优,以及部署,是次优的并且能够导致灾难。例如,可能在部署中发现分类器错过民族食谱中的很多个并且返回水泥混合页面作为烹饪食谱。分类器没有错误。问题在于抽样和问题表述。利用均匀抽样训练的分类器将迅速地学习:恒定的答案“不是食谱”对于该分布来说是足够好的。聪明的操作员可以微调所述分布以构造更有用的分类器,但是这引入违背操作员的无知的偏差。操作员例如不了解非洲食谱直到系统被部署并且用户开始抱怨。从操作员的视角,世界看起来像图2中的图片。图2说明表示要被搜索的数据的语料库的示范性数据集合210(“大数据(BIGDATA)”)。区域212(在整个椭圆中)表示操作员知道的肯定示例。区域214(两个椭圆内的整个区域)表示语料库210内的所有肯定示例。区域216(在整个椭圆内)表示分类器标记为肯定示例的示例。区域218(区域214在区域216中的相对补集,即区域216的不包含在区域214中的部分)表示被分类器误标记为肯定的示例(错误的肯定示例)。问题是,如何能够部署将在不知道存在的数据上表现良好的系统?一种观察是,操作员可以不知道分布,只要他/她能够按需正确地分类条目。主动标记探索(ALE)算法是基于这种观察的。标记是将数据或数据的模式分类为属于特定分类的过程,例如将“321MarketStreet”标记为地址的一部分。使用未标记的数据(在其上尚未执行标记过程的数据)的大的集合来执行主动标记探索,所述未标记的数据从真实分布中抽取。在每个标记(或数个标记)后,利用新标记重新训练分类器,并且大的未标记的数据集(例如数千万或数亿未标记的模式)被重新记分。该系统于是根据其得分来选择下一个要标记哪些模式。为了让该方法起作用,需要解决冷启动问题(即,找到肯定示例的“种子”)。一方面,集成的交互标记系统包括标记组件、训练组件、记分组件、抽样组件、和搜索引擎组件。集成的交互标记系统也可以包括一个或多个其他特征,例如其中搜索引擎基于关键字搜索;搜索引擎将特征得分用作过滤器;训练和记分自动进行而不由操作员触发;或者其中记分和抽样可以异步地进行。另一方面,集成的交互标记系统包括标记组件、训练组件、记分组件和抽样组件,其中标记可以作为服务而被卸下,并且标记质量通过泛化增益而被测量。集成的交互标记系统也可以包括其他特征,例如其中多类别标记包括多个二进制标记;或者其中使用系统生成的预标记以近似同时地标记多个样本,以及核实模式被包括在系统中以审阅根据置信而分类的近似标记。考虑构造用于网页的分类器的示例(所述方法将适用于查询、图像、或其他类型)。假设用户可以访问1亿网页,在此称为工作集合。可以通过重要性(例如高的页面排名)来偏差这些网页,但是不是通过意图构造的分类器的本质来偏差所述网页。这些页面既没有被标记也没有被整理。假设存在肯定和否定示例的小的并且被偏差的集合,并且假设可以利用具有合理泛化性能的这些示例来训练分类器。(下面论述利用具有良好泛化性能的小的数据集合来训练分类器的“冷启动”挑战。)训练的结果被称为“记分器”。记分器具有反映所述记分器在其上训练的集合的版本号码。一旦第一记分器是可用的,工作集合的“记分”开始。该过程需要大量计算能力。作为记分的结果,条目可以根据这些条目是“X”的概率而被整理,其中“X”是要构造的分类器的类别,即其中“X”是特征的肯定示例,或标记。图3说明条目的数量310相对于条目是“X”的概率P312的示范性图示300。如在图3中描绘的,如果基于由给定记分器产生的得分来抽样工作集合,则可以作出下列观察:在P=0附近标记条目得出少量的值。存在很多这种条目并且已知这些条目不属于所期望的类别。在P=1附近标记条目得出稍多的值但是这些条目是非常稀少的。需要很长时间来寻找这些条目(可能需要对整个工作集合记分)并且必须仔细研究较低概率以找到要标记的条目。这假设与上面示出的分布相像的分布(如果分布倾向另一方向,则颠倒P=0和P=1)。在P=0.5附近标记有时可能是代价高的并且如果类别界限是内在地模糊的,则产生不了多少信息。在P=0.75附近标记在每4个条目中找到错误肯定示例。在该区域中标记提高精度。在P=0.25附近标记在每4个条目中找到错误否定示例。在该区域中标记提高检索率(recall)。图5说明分别在0.25和0.75的概率附近抽样分布的示例。为了在0.75附近抽样,例如,可以将所有示例根据它们的得分放入1000个桶中。第一个桶中将会具有所有带有0和0.001之间的得分的示例,下一个桶将会具有所有带有0.001和0.002之间的得分的示例,等等。于是可以给每个桶分配一种抽样概率,例如图5的右侧。具有该分布的示例将会导致25%的错误肯定示例比率。ALE(主动标记探索)的目标是由在数分钟或数秒内运行的交互循环来替换长的以及费力的“数据收集、标记、训练和调优、部署”循环。ALE具有三个同时运行的过程。这些是抽样+标记、训练、以及记分,如在表1中所说明的:表1:3种并行ALE过程(抽样、训练、以及记分)第一过程(抽样+标记)由用户驱动。用户的任务是通过标记由系统选择的条目来提高精度和检索率。用户察觉不到训练和记分过程。从用户的视角,所述系统简单地选择要标记的良好的模式并且分类器相对越来越多样的集合来增加分类器的泛化能力。用户可以选择对精度或检索率来标记,或者该选择可以由系统作出。在场景后发生的稍微更复杂。当已收集足够的新标记时,重新训练(不同复杂度的)分类器家族。该家族的最好的分类器变成最近的记分器。记分是密集的计算过程。如果来自先前记分器的记分未由记分过程完成,则中断进行中的记分并且新记分器首先以最旧的得分开始继续对条目进行记分。取决于任务和数据的大小,记分可能花费数分钟或数小时。然而,理想的是,操作员不应必须等待查询过程:在任何时间点,每个条目应当具有得分(得分可以来自具有不同版本的记分器),并且所有得分应当存在于存储器中。由于查询由独立的过程(分布在若干机器上)完成,所有的得分上的完整的线性扫描应当在亚秒时间内完成(假设十亿条目和100台机器)。训练和记分由独立的过程异步地运行,使得训练和记分不影响查询响应时间。如果从产生上一个记分器起已被重新记分的条目太少,则对于哪个条目应当被接着标记的选择的质量降低。ALE信息流总结在图4中。用户输入被表示为“点划线”箭头。系统参数被表示为点虚线箭头。数据416上载一次。标记418由用户提供并且标记418将语义意义提供给由用户在训练期间识别的记号。给定新训练数据420以及相应标记418,训练422产生新的记分器424。新记分器产生新的得分426,所述得分在过滤428之后产生新的训练数据420。过滤器432可以包括下面讨论的字典,并且也可以包括先前产生的分类器。该循环持续直到操作员决定记分器的性能改进不再比得上标记成本。结果是新的分类器430。下面在主动特征化的论述中论述在图4中描绘的“特征函数”输入410。在图4中描绘的“探索查询”输入412的目的是为了冷启动问题以及为了如下面相对于冷启动论述的探索(重复冷启动)。系统的“超-参数”输入414与自动正则化相关并且也在下面论述。回到图3,在一种实施例中,系统通过在P=0.75附近过滤数据以提高精度并且在P=0.25附近过滤数据以提高检索率来进行抽样。这些阈值是可调整的。如先前提到的,图5描绘作为得分520的函数的抽样分布510的示范性图示500。该替代的策略已经证明与例如针对0和1之间的所有得分来均匀采样相比更有用。A、交互问题定义细化分类的语义意义可以根据探索而改变。ALE提供在其被执行期间进化任务的灵活性。例如,可以以构造“主页”分类器的目的开始。但是由于系统发现候选,诸如社会媒体页面、讣告、事件、以及在探索期间集中在单个个人的其他页面,什么是主页的定义需要被细化。这可以在运行ALE循环期间简单交互地完成。当任务开始时构造在非已知的数据上表现良好的分类器似乎是难以理解的目的。然而,经验表明就标记而论人类是值得信赖的,即使就估记分布的形状而论人类是无知的。如果人类与聪明地经由探索来探索分布的系统结对,则可以构造非常稳健的系统。ALE算法利用计算机的缩放能力和人类通过标记来提供语义意义的能力。主动学习具有其挑战性。典型地在主动学习算法中遇到的潜在的问题包括不确定性抽样的脆弱性、模型选择(对可用数据的适应能力)、探索、主动特征化、分隔分类、以及冷启动。在此描述的ALE系统不具有不确定性抽样的脆弱性,因为所述系统不着重于决策界限。下面讨论自动正则化(模型选择)和冷启动。在稍后的部分中,论述主动特征化和主动特征化如何补充主动标记。1、倾向一方的数据和可达性主动学习经常被视为增加在具有固定数目特征的固定大小集合上进行标记的效率的手段。在典型的机器学习设定中,目的是提高精确性。在此论述的重点是不同的,因为该重点涉及提供探索工具,该探索工具帮助用户添加标记和特征以产生有价值的分类器或概要提取器。利用具有倾向一方的类别的大数据,仅仅一小部分数据将会被观察并且肯定或否定示例的一些珍品(nugget)可能永远不会被发现。当所述珍品被发现时,也可以假设分布已改变。当所述分布在运行中被发现时,机器学习所基于的基本假设——针对训练和测试集合的IID抽样——被违反。如果肯定示例的数量是T并且数据的大小是N,则在未标记与N/T成比例的数目的模式的情况下不能估计检索率。如果T<<N,则可能永远都不知道检索率。全体分布上的学习收敛性不能被证明。然而,可以借助于称为可达性的量度(measure)来测量全体分类器进展。如在此所定义的,可达性是被分类器分类为肯定的肯定示例的数量。让S为由分类器估计的肯定示例的集合(在图2中的椭圆216中描绘):S={d:分类器输出是肯定的}让T为总数据集合中的真实肯定示例的集合(在图2中的椭圆214中描绘):T={d:d是肯定的}于是可达性(R)是由分类器估计的肯定示例的集合中的真实肯定示例的数量(描绘为在图2中椭圆216和214的交集):R=|S∩T|可达性可以用检索率或精度来表示,因为ρ=r|T|=φ|S|,其中r为分类器的检索率并且φ是分类器的精度。然而,检索率在此情况下不能直接计算,因为集合T不已知。然而,因为T是固定的,可达性直接与检索率成比例。为了提高分类器的检索率,可以作为替代提高可达性。分类器构造任务的目的因此可以用可达性和精度来表述。例如,让为S中的精度,即S之内的真实肯定示例的数量(图2中的椭圆216和214的交集)除以S的大小:并且让r为S中的检索率,或者S之内的真实的肯定示例的数量除以数据集合中的真实的肯定示例的总数量:可以通过标记S中的示例的随机子集(或者全部)来计算的估计数量估计由系统寻找到的肯定示例的数量。不能计算检索率因为T不是已知的。然而,通过使用精度的估计和与检索率成比例的估计可以追踪系统的前向整体进展。在固定的(或者非减小的)精度的情况下,提高可达性会提高检索率。在固定的(或者非减小的)可达性的情况下,提高精度也提高恒定(或增加的)检索率的精度。存在还可以用于度量进展的其他标准。例如,如果由探索发现的大多数误分类的模式是模糊不清的,则分类器在精度上表现良好;如果大多数误分类的模式通过添加特征而被容易地处理,则分类器正在良好地探索。a、估计可达性可达性可以基于标记策略和未标记的示例的得分分布来估计。作为这的一种示例,让L为标记的集合以及U为全集,并且让S为具有得分≥τ(设定的阈值)的模式(图2中的椭圆216中的全部区域)。假设标记策略通过以下来定义:根据样本的得分的条件下的概率分布进行采样,即可以为每个文档w∈U计算抽样的概率ps=Pr[w∈L|score(w)=s]。让ns=|T∩{w:score(w)=s}|为具有得分s的肯定示例的数量并且让ms=|L∩T∩{w:score(w)=s}|为具有得分s的所标记的肯定示例的数量。所标记的肯定示例的数量的期望可以被写为:E[ms]=nsps于是,并且由于ρ=|T∩S|=∑s≥τns,可达性可以通过以下公式来估计:期望例如可以例如通过二次抽样标记集合来估计。注意:可以通过凭借不相交的间隔来覆盖间隔[τ…1]以很多不同方式来完成上面的估计。不是所有的分解是相等的,因为一些将在估计中具有更小的误差条。利用具有倾向一方的分布的大数据集合,在假设均匀抽样的固定的分布期间提高精确性迅速地到达收益递减的状态。一个更有意思的问题是将分布视为移动目标并且将操作员牵涉到追踪该移动目标中。从机器学习的理论观点看来,这两种问题是非常不同的。遇到了工程挑战(缩放、处理、用户体验(UX))和科学挑战(探索度量(metric)、抽样策略、修订训练,以及其他)。ALE算法处理这些挑战。Ⅱ.ARCS(自动正则化和冷启动)挑战为了良好地工作,ALE算法需要若干标记、若干特征、以及早期分类器的好的泛化属性。这需要解决两个问题。第一,需要的肯定和否定示例,以及启动特征。这是冷启动问题。这是困难的,因为在倾向一方的分布中,肯定(或者否定)示例可能是极度稀少的。例如,如果肯定示例少于一百万分之一,则寻找足够的肯定示例以使分类器运行可能是耗时的(使用随机抽样)。在没有特征或工作的分类器的情况下,ALE算法是没有帮助的。第二个问题是自动正则化。在仅具有几个标记的情况下,分类器需要被大量地正则化以避免过度训练。正则化需要被自动调整使得该算法的复杂度能够与标记的增加的数目匹配。这可以称为“热启动”问题。A.冷启动可以如下总结该问题:假设相同类型T的通用示例的大的数据库已被输入到系统中,如何区分这些示例?为了能够训练,需要(与彼此区分条目的)特征,以及需要一种寻找肯定和否定示例的手段。通过提供实现IScorer<T>接口的模块来解决该问题。可以由系统提供或者由工程师输入(例如当收集数据时)IScorer模块。实现那个接口的模块可以计算函数T→ScoreType,其中ScoreType是针对数据库中的所有条目的系统理解的类型(例如0和1之间的浮点数)。得分可于是在一些或所有条目上被计算,并且被查询和分类。这允许操作员寻找每个类别的第一示例并且将它们标记为如此。IScorer模块也可以被作为分类器的第一特征来使用。下一循环在ALE算法期间发生。如果数据类型是先验已知的,则可以提供特定于数据的一些标准系统特征。数据特定的特征甚至可以从操作员接收参数。这些特征能够于是被用于区分、过滤、标记或探索数据。例如,如果示例是网页,则系统IScorer<WebPageType>可以是计算网页相对于查询的相关性的模块。查询是特征的参数并且由操作员提供。一旦查询参数被固定,模块可以在ALE算法下运行,因而评估每个网页的相关性。这种实现与颠倒索引相比是非常没有效率的,但是它的优点是通用。不管数据类型T,操作员可以提供下列:●类型T的N个条目的集合。●支持IScorer<T>接口的模块(例如DLL)。系统不需要理解类型T。模块可以在系统之外被参数化(所提供的dll包含查询术语),或者系统可以给操作员提供在运行时设定参数(例如查询)的手段。给定对文本理解的普遍需要,可以支持通用API(其中操作员可以输入实现IScorer<T>的模块)和内置文本特征。特征的定义可能令人感到困惑。特征的严格定义是一种函数,该函数的输出被用作分类器(或概要器)的输入。由于查询是分类器的一种形式,特征可以用于查询。由于分类器的输出可以用作另一分类器的输入,所以分类器本身就是特征。特征来自三个地方:内置、操作员产生(在没有训练的情况下)、以及被训练的分类器。一些内置特征可以由操作员(混合体)参数化。一些内置特征仅可以对于某些数据类型可用。为了启用文本特征,在数据库中输入的条目的类型T必须支持IWordCollection接口。该接口允许自动构建颠倒的索引,并且启用有效的类似查询的、到数据库的接口。对于支持该接口的数据库来说,几乎解决了冷启动问题。当这不够时,以及对于不支持IWordCollection的数据库来说,操作员可以提供支持IScorer<T>接口的附加模块。一旦系统具有强大到足以有效地区分数据库的条目的IScorer<T>模块,则冷启动问题已得到解决。B.AR(自动正则化)在交互机器学习中,由于标记和特征被添加,标记和特征的数量随着时间改变。可以连续地用10、20、40、80、160的示例计数,随着标记的进入来重新训练分类器。对于每次训练会话来说,最优的正则化将是不同的。所期望的是,即使在非常少的示例的情况下系统也表现良好,因为寻找接下来要标记的良好的示例将帮助系统更快速地学习。由于这将又使系统能够选择接下来要标记哪些示例,对泛化的影响被合成(每次迭代增加随后的标记的值)。在存在少量标记的情况下表现良好的问题在此称为“热启动”问题。需要操作员人工地调整正则化引入复杂度并且是不必要的。对于不熟悉机器学习的操作员来说,正则化的概念是特别令人困惑的。幸运的是,给定标记和足够的计算能力,可以训练不同复杂度的分类器的一个小家族并且使用交叉验证以确定哪个最好地泛化。例如,如果任务是辨认手写数字,则可以具有两种分类器:一种线性分类器和最先进的、四层卷积神经网络(两者都以像素为输入并且输出每个类别的概率)。当利用每个类别1000个示例来训练时,第二分类器比第一分类器好得多,但是第二分类器在利用少于每个类别30个示例来记分方面比较差。当利用少到每个分类一个或两个示例来训练时,线性分类器产生非常合适的分类器和记分器。如果第一分类器和第二分类器都被训练并且利用交叉验证来测量,则自动决定要使用哪个分类器非常容易。在对于要被比较的两种分类器来说存在足够的示例的这一点上,操作员不能够容易地区分哪个分类器更好(两种分类器具有相同的泛化性能)。这意味着可以透明地、自动地完成利用适当的计时在具有不同正则化的分类器之间切换,并且不用操作员知道。正则化在此解释为将可学习函数的家族限制到更可能泛化的函数的子集。这可以在输出层次、在架构层次或在输入层次完成:●输出(标记生成):通过生成或变更标记,可以控制什么函数是通过训练能够实现的。该约束可以被用于正则化。例如,替代于在具有标记的集合上训练,生成新集合,在该新集合上通过使用先验知识来提供标记。对于网页来说,这可以通过使用点击图以寻找相似的页面并且给这些页面分配相同的标记来扩展肯定(分别地,否定)示例而完成。对于图像来说,这可以通过运用变换(例如旋转或平移)并且假设得到的图像具有与这些图像起源于的图像相同的标记而完成。在两种情况下,集合的大小和扭曲的强度可以调整。每个正则化值定义分类器。使用交叉验证来挑选获胜的分类器。●架构:可以通过改变学习算法(例如SVM、神经网络、决策树)或者容量(capacity)参数(权重衰退、训练时间、隐藏单元的数量)来影响可学习的函数的家族。●输入:可以改变输入特征。通过改变输入特征的区别能力,可以实现不同层次的正则化。例如,可以具有计算网页的各种有用属性的系统特征的集合。通过控制这些输入特征何时可用,可以自动调整容量和正则化。对于由(多个)输入特征诱导的容量的示例来说,考虑测量网页的大小的对数的特征(或特征的集合)。该特征可能具有有用的信息,但是太早使用该特征是错误的。当所标记的示例的数量低时,每个示例可以具有不同的长度并且可以具有足够的容量来完美地在训练集合上分类肯定和否定示例。得到的记分器于是将启发基于页面的长度来标记页面,这可能是浪费时间。通过细心地选择输入特征,可以构造具有不同正则化属性的分类器家族。这可以被视为“反正则化”的示例。容量被有选择地增加。Ⅲ.缩放挑战ALE算法在两种不同的方向上缩放。一种是查询、记分、以及根据条目数量来训练的能力。第二种是由贡献者提供的利用分类器和概要器的数目来缩放的能力。这一点的示范性总结在图6中说明并且一般称为缩放600。A.利用条目的数量来缩放图6中最左的列将多个特征描绘为表示利用条目数量来缩放的条目610(“条目1”…条目n”)。利用条目数量来缩放是计算上的挑战。为了让ALE变得有效,需要三种计算:训练、记分和查询。训练可以在单个机器上完成——线性分类器可以在1M+个示例上在一些秒中训练——或者当同时训练多个分类器时在多个机器上完成。记分是可以分布在多个机器上的内在地并行的任务。典型的“抽样”最经常是按得分进行的过滤操作,例如返回是X的概率在0.70和0.80之间的条目。这种过滤可以利用映射-缩小(map-reduce)来完成,但是它应当是响应性非常强的,因为系统的用户将在等待要标记的下一个条目。这启示针对过滤操作优化的分布式的内存中的列存储。B.利用分类器的数量来缩放图6中的三个最右的列描绘了被用于对每个条目610进行记分的多个分类器612(“C1”…“C2”)。利用分类器或概要器的数量来缩放是一种人机交互(HCI)挑战。机器学习专家可以构建几十个分类器。招募和保持100个机器学习专家是困难以及昂贵的。构建10000个分类器在不改变游戏的情况下是不切实际的。ALE允许公司快速地构建10000+个高度表现的分类器和/或概要器。为了大规模地构建分类器,使用三种东西:●可访问性:减少需要用于构建分类器的专业知识。不需要机器学习背景。●动机:使得构建分类器容易、有趣、以及有魔力。●效率:在操作员的时间方面极大地提高构建分类器的效率。可访问性产生能够构建分类器的人的一个大的池。动机增加在该池中的人构建分类器的动机。效率使生产力增加。在下面最后论述动机,因为动机从UX视角包括另外两个。1.可访问性一般人不理解机器学习。如果系统需要机器学习专业知识,则可用机器学习专家的数量变为瓶颈。为了绕开该瓶颈,接口可以被限制为不需要工程技能的仅仅几个动作。该接口具有阻止与提高泛化不兼容的行为的保护。操作员的动作应被限制到下列动作:●创建新的分类器/概要器任务●标记●特征化:○产生术语字典○寻找并且选择来自现有分类器的特征。注意“训练”、“记分”和“正则化”不是标准动作。这些计算隐式地以及透明地发生。作为这些活动的结果,操作员将观察到呈献给他或她的错误的类型的改变。这是提高精度以及将贡献于下一次精度提高的事物的影响。类似地,将提取新的模式以用于标记。这是提高检索率(以及在一些情况下,精度)以及将贡献于下一次检索率(分别地,精度)提高的事物的影响。将存在一些类似进展度量的精度或由系统找到的肯定或否定示例的数量的估计量,或者在分类器的类别边界附近的改进率。度量将显示为带有误差以鼓励训练的数据集中方法。自动特征的使用局限于鼓励操作员替代地提供有价值的概念和标记。为了明确地阻止过度训练,测试集合不断地循环使得固定单个的误差没有好处,相反地固定误差的分类有好处。操作员开始可以不具有机器学习背景,但是UX被最优化以训练他/她以提高泛化。2.效率可以在操作员创建具有给定精度和检索率的分类器花费多少能量方面来测量效率。该定义可能是有问题的,因为不知道检索率是多少(在具有少量肯定示例的大的数据集合上,可能很难知道存在多少肯定示例)。甚至类别定义不能够被良好地定义直到发现一些示例:讣告是主页吗?鸡尾酒混合是烹饪食谱吗?这些问题可能仅在构建分类器期间出现。做出两个假设:首先假设比较两种分类器并且毫无疑义地确定一个好于另一个(更好的检索率,更好的精度)是可能的。第二,假设改进分类器可以包括具有多个“修正循环”。修正循环被定义为作为计算的函数的操作员的输入,其后是作为操作员的最新的输入的函数的计算。在每个循环中,问题以三种方式中的至少一种被修正:类别定义改变,要标记的示例的分布改变,或者输入空间改变。所述问题的这些快速并且有针对性的修正不同于传统的机器学习。在传统的机器学习中,分布通常是恒定的(在固定的训练集合上优化特征)。甚至在主动学习论文中,在固定的分布上测量进展:重点在于减少标记的数量以在固定的分布上实现给定误差率,而不是探索并且发现分布。真实的循环(或者修正)典型地花费数月。相反,在一天内具有数十个或数百个循环的能力完全地改变了构建分类器的效率。循环效应被合成。例如,当分类器作为循环的结果变得更好时,分类器在为下一个循环寻找肯定或错误肯定示例方面变得更好。在此论述的系统中,循环以三种风格出现:主动标记探索(ALE)、主动特征化、以及字典细化。第一个,ALE已在先前部分中作出论述。主动特征化是为了允许分类器在肯定(分别地,否定)和错误肯定(分别地,错误否定)之间区分的目的而创建特征的活动。类似于矫正“色盲”的分类器。主动特征化是下一部分的目的。循环的最后形式是特定于概念的定义的。概念在此定义为一组词或者字典,在词被视为一个组(例如车品牌的概念被以下词的列表定义:“Honda”、“Ford”、“Peugeot”等等)时所述一组词或字典定义概念。从操作员给出肯定和否定示例得到字典细化的循环,并且计算提供来自这些示例中的概念泛化候选。操作员于是可以纠正泛化(通过删除词或者添加新的词)等等。字典细化循环在稍后部分中论述。每个循环需要繁重的计算,其后是来自操作员的有针对性的语义输入。从计算角度来看这可能是没有效率的,但是在操作员的角度来看这是有效的。操作员仅需要在系统不能适当地泛化时工作。组织总体架构(主动标记和主动特征化)以使这些失败提早出现。3.动机可访问性开放了能够写分类器的人的数量。然而,这是不够的。需要某种“魔力”以生成病毒收纳(viraladoption)。由工程师为工程师设计当前的机器学习工具。这些工具是没有魔力的。该部分是关于通过细心地设计UX来增加构建分类器的动机。对于大部分人来说,机器学习是复杂的并且神秘的。构建以下用户接口是个挑战,该用户接口允许机器学习盲的操作员教导机器学习系统以执行识别和概要化任务。下面描述的是简单的UX原则,这些原则被设计以使系统能够被理解以及值得信赖:●透明度:系统的状态是可访问的并且直接能够由操作员动作(推论:没有隐藏状态/变量)。●响应性:每个操作员动作产生立即以及可视的效果。●进展:总是存在从当前状态更靠近地移动向所期望的状态的清楚动作。透明原则使得系统较不神秘和危险。响应性原则允许用户具有立即的关于用户的动作的反馈并且学习用户的动作的“推演”。进展原则识别达到所期望的状态要遵从的方向。为了能够学习,需要来自操作员的标记和特征。如果标记和/或特征改变系统的状态,则第一原则暗示标记和特征应当是可访问的以及可编辑的。这具有若干暗示:●由操作员输入的标记可以被查看并且编辑。撤销是微不足道的(trivial)操作。●由操作员输入的特征可以被查看和编辑。撤销是微不足道的操作。●系统生成的标记和特征被高度阻止。这些标记和特征有损透明性。●系统的表现应当独立于输入标记或特征的顺序。顺序依赖性不太可能容易地为可查看以及可动作的(actionable)。●标记和特征的相同集合应当总是产生相同的结果。学习是半确定性函数。如果学习算法对特征的微小变化敏感,则第一原则略微被违反(操作员可能不能够区分输入变化。)●数据应当被“腌制(pickled)”。例如对于网页中的链接来说,当链接过期时具有能够改变系统的行为的悬空指针是不期望的。第一原则将时不时被违反,但是希望这将不会影响操作员对系统的信任。例如,某些特征可能被自动提供作为系统服务,例如同义词,误拼写,点击图等等。可以冻结这些功能,但是可能更好的是冻结它们的语义并且定期以及透明地(以对可预测性小的代价)让特征被更新。如果分类器学会依赖特征的语义意义,则特征的定期更新将改进分类器。令人惊讶地,甚至可以引入人工噪声到系统中以驱动机器学习仅提供统计保证这一概念,而不是单一模式保证。得到的非确定性不影响整体表现,但是阻止新手用户过度训练。响应性原则允许用户快速地学习如何操作所述系统(反馈)。响应性原则也通过将动作转化成进展来产生奖励。每个标记和每个特征应当产生可视化上更好的分类器。因为三个原因这是困难的:在每个动作之后重新训练分类器是昂贵的。利用每个新分类器来重新记分所有条目甚至是更昂贵的。并且最后,为使分类器表现出可视的并且统计上有意义的改进,很多操作员干预可能是必需的。如果探索显著改变分布,则全局度量可以以不可预测的方式被影响。这些挑战由于重新训练和重新记分应当是透明的这一事实而合成。在没有无限的资源的情况下,设计原则的立即性和可视性方面将被折中(例如,通过不在每个操作员输入上重新训练)。这可以通过增加致力于训练和记分的资源的数量、以定期以及频繁的间隔(例如每50个标记)重新训练、并且利用局部记分(在ALE算法中,查询/过滤在不用等待每个条目被记分的情况下返回)来缓和。不令人吃惊地,最好通过增加资源(计算能力)的数量以及聪明的管理(局部计算)来解决响应性原则。a.错误分类进展原则暗示操作员总是知道何时工作完成以及做什么以使系统变得更好。这两件事中没有简单的。何时应当停止改进分类器?如何知道怎么改进分类器?为了帮助回答该问题,系统产生的误差被分类成三个桶:●不定性误差:标记者不能赞同标记是什么的误差。●色盲误差:系统不具有必要的输入信息以将模式从属于错误的类别的其他模式中区分的误差。●无知误差:系统具有输入信息以将模式从错误的类别的模式中区分,但是不具有足够的标记信息以能够学习输入和模式类别之间的关系的误差。误差的这种分类假定系统具有学习问题的容量并且被适当地正则化。该假设不约束用户接口。如果系统不具有学习问题的容量,则将会有以下类型的误差:●低容量误差:系统具有必要输入以及必要标记以正确地分类但因为低容量而不能够这样做的误差。不需要关心这种情况,因为学习问题能够通过添加良好的特征而得以简化,以及对于大部分机器学习算法来说,添加特征会增加容量。因此,作为特征限制的结果,可能仅遇到该误差,其中特征限制将使该误差为“色盲”误差。相反地,可能存在容量太高的情况。在该情况下,症状将会是,大量的“无知误差”甚至在添加大量标记之后也将会被观察到。机器学习算法的选择、特征的表达、以及自动正则化的质量影响花费多长时间来学习以及系统可以实现的最好的结果是什么。然而,这些可以在不必重新设计用户接口的情况下得以修正以及改进。错误分类有助于解决进展原则,例如,误差的第一类型(不定性)启示所期望的状态:如果大多数误差落到“不定性误差”类别,则操作员完成。系统几乎没有希望超越操作员。如果误差的大部分是由于色盲或无知引起的,操作员知道要做什么:通过添加将肯定示例与错误肯定示例区分或者将否定示例与错误否定示例区分的特征来解决色盲误差。可以设计一种接口以启用这一点(下一部分)。通过添加标记来解决无知误差。在任何时间点,系统可以启示为了最大效率应当解决哪些类型的误差。如果学习算法的训练和测试误差曲线是接近的,则需要更多的特征。否则,更多的标记会是更有效的。b.不变性为了让从当前状态到所期望的状态的路径明白清晰,应当保证进展总是在前进。这应当获得操作员的信赖。需要一些注意事项。一旦训练分类器,分类器可以变为一种特征。一旦分类器变为特征,分类器不被允许作为更大模型的一部分而重新训练。作为更大分类器的部分来重新训练特征可以具有若干负面的结果:首先,可能改变特征的语义意义。这可能引起操作员困惑以及其他特征上的反向进展。第二,特征的容量(在训练它时)可能与更大的分类器上的可用标记的数量相比高很多。容量的不预期的注入会引起反向步骤。机器学习专家可以反驳:冻结参数从机器学习角度来看可能是次最优的。然而,如在此描述的,系统稳定性和可预测性胜过最优性。可以以度量来测量进展。例如,由分类器寻找到的肯定示例的数量乘以精度可以产生对由系统达到的肯定示例的数量的估计。该度量与检索率成比例。每个标记的在边界上作出的精度进展(例如,具有是X的概率为在0.25和0.75之间的所有模式)是效率的一种有趣的度量。动机来自魔力。魔力来自生成三种事项的系统:●同理心:操作员应当理解系统产生的误差。阻止系统生成的标记和特征(例如,“字袋”)使系统保持可翻译。色盲误差应当引起操作员渴望提供新特征。无知误差应当引起操作员渴望提供更多的标记。系统误差应当作为有用的而受到欢迎。透明性、响应性和进展原则全部对使系统像有天赋的学习者那样表现作出贡献。●惊讶:系统应当通过系统如何推进界限来使操作员印象深刻该系统已被教导了什么。系统的误差应当放大到所缺失的特征/概念。系统对于标记的请求应当挑战操作员以发现未预见的示例类型并且重新定义分类概念。惊讶的能力来自于1)概念特征的合理化,以及2)对非常大的数据集合进行记分。●效率:在系统针对每个操作员输入进行非凡的计算时,分类器应当非常迅速地取得进展。利用可访问性、效率和魔力,构造分类器将产生价值和惊奇。这将允许分类器和概要器被大规模地构造。Ⅳ.主动特征化A.特征化机器学习中的普通活动是搜索正确的特征。人们典型地以特定(adhoc)方式来做这件事:经由编程或处理数据来添加特征,开始完全独立的过程以在所修改的数据上重新训练系统,然后他们查看误差等等。典型地,其均不集成到可以浏览误差以及在不退出应用的情况下可以共享和搜索特征的系统中。如在此描述的,主动特征化实现交互式特征创建、编辑和细化。用于帮助用户选定特征以微调系统的性能的一些方法要么自动选择特征(例如字袋)要么从多个预先存在的特征中选择(模型选择、特征选择等等)。主动特征化鼓励用户交互地创建有用特征,机器学习算法的复杂度被保持到最小。构思是,通过添加特征和标记来交互地解决误差与通过在机器语言算法和特征选择中添加复杂度来避免误差相比更好。复杂的学习算法和大量的特征可能在初始阶段工作良好,但是可能很快留给从业者一个没有明显的决策能够改进的复杂系统;在该情况下移除误差是非常困难的。相反地,在依赖于简单学习算法的同时允许用户添加特征和标记的交互循环可以产生更可动作的系统。当用户已贡献每个标记以及每个特征时,误差可以变得更清晰以及容易解决(要么通过创建/编辑/细化特征或者添加标记)。如在此描述的,特征可以来自1)预先存在的系统特征,2)由其他用户在系统上创建的预先存在的特征,以及3)由用户在运行中创建的特征。对于3)来说,区分两种类别:3a)交互地使用主动标记来构造的本身是分类器以及实体提取器的特征,以及3b)通过输入词的列表(也称为字典)以捕获“概念”来创建的词特征。例如,月份(一月、二月…)的列表捕获“月份”的概念。字典中的词共同形成一种特征,可以通过计算文档和给定字典之间的统计来使用所述特征(字典中的多少词出现在文档中,字典的多少有区别的词出现在文档中等等)。在一方面,集成的主动学习系统包括浏览组件、训练组件、记分组件、以及用户操作的特征创建组件。集成的主动学习系统可以包括一个或多个其他方面,例如其中可搜索特征是在集成的主动学习系统中创建的分类器,标记和分类器得分引导对特征的搜索,并且操作员验证对特征的搜索,分类误差被整理并且显示以启示并且解决分类特征盲目性,或者特征由多个操作员创建和共享并且存储在共同可访问的系统上。在另一方面,集成系统包括浏览组件、训练组件、记分组件、以及基于用户提供的字典的特征创建组件。集成系统可以包括一个或多个其他方面,例如其中特征字典的参数的数量独立于字典中的词的数量,或者用户可以指定参数是共用于字典中的所有词还是分别针对字典中的每个词。通过设计,在此描述的接口不知道使用了哪个学习算法。在该部分中论述特征的创建。考虑输入空间D。对于每个数据条目d∈D,计算来自输出空间O的分类值y。为了完成这一点,使用分类函数g,所述分类函数将点d∈D和参数空间W的参数向量w映射到向量y∈O。这种函数的空间表示为G:G:D×W→Og:d,w→g(d,w)=y例如,数据空间可以是网页的空间,参数空间W可以是由机器学习算法计算的实际值的向量,并且输出空间O可以是表示是属于每个网页的所期望的类别的概率的0和1之间的数。这种形式体系的一个问题是空间D可能是特别复杂的并且将D×W映射到O的函数G的集合可能是太大的而不能被根据若干标记的示例训练。例如,如果d是被截短到最多100K词的网页,则给定最多10M词的字典的情况下,输入空间的维度仍可以是1012。为了简化该问题,空间D被投影到较低维空间I,所述空间在此称为“特征空间”。投影的集合表示为F。在参数的训练期间解决投影f∈F:D→I。现在可以限制从G到空间G'的可学习函数,所述空间G'核实其中h是将特征空间和参数向量映射到输出的函数。由学习算法确定函数H:I×W→O的空间。特征空间I由F导出并且可学习的函数空间H被选择以使参数w的学习更容易并且需要尽可能少的示例。例如,对于网页分类来说,特征函数f可以提取项(term)频率fi,所述项频率fi针对k个与分类任务最相关的项(例如k=1000)由逆文档频率(tf*idf)规范化。换言之,给定数据d的网页,特征化函数计算特征向量x=f(d)=(f0,f1,...,fk),其中fi是文档d中的项i的规范化的出现次数并且f0=1。分类器可以使用逻辑回归来计算分类函数:h(x,w)=logistic(wTx)一旦定义f和h,使用训练示例(xj,lj)的集合,传统的机器学习算法可以被用于估计参数w,其中xj=f(di)和lj分别是第j个特征化的示例以及训练集合中的该示例的标记。在此感兴趣的是以下场景,其中构建分类器的操作员被允许贡献标记l和特征函数f。图7说明示范性信息流700,所述信息流将分类函数710表示为特征化函数f(条目712)和可训练(条目716)的函数h(条目714)的复合。操作员可以输入特征718和标记720以便影响分类函数710。在先前的部分中,主动标记被论述为用于探索和改进分类空间的过程。下面讨论等效于主动标记的输入侧:“主动特征化”。B.色盲存在大量与特征的自动选择有关的文献。有时称为“特征选择”。自动特征选择的隐含目的是在给定训练集的情况下改进泛化。在此描述的目的是不同的:给操作员提供将特征等效贡献于标记的手段。这是在遵从上面描述的原则:人类应当贡献语义意义并且计算机应当提供规模。在先前的部分中,区分了误差的三种类别:不定性,无知和色盲。不定性误差不能解决(这些误差来自操作员或问题的本质噪声)。通过添加标记来解决无知误差。使用“颜色过滤器”来解决色盲误差,或者按照机器学习术语,通过添加允许系统“看见”一种类别的成员和不同类别的成员之间的差别的特征来解决色盲误差。用于特征化的接口可以是问题特定的。例如,特征可以是图像识别中的像素的函数,查询分类中的词的函数,或者语音识别中的倒谱系数的函数。操作员不需要理解像素、倒谱或字袋来构建分类器。但是需要有人确实确立该问题。两种用户因此被区分:●工程师:该用户可以编程并且知道机器学习的基础知识。工程师负责做下列四件事情:○上传数据到系统。○提供通用特征化器,所述通用特征化器将数据转换成训练算法可以消耗的特征的集合。○提供可视化器,所述可视化器将数据转换成能够由系统显示的某物。○选择训练算法并且如果需要的话设定该训练算法的超参数。●操作员:该用户没有工程或机器学习背景。操作员负责产生和训练分类器和概要器。一旦工程师确立所述问题,操作员可以构建多个分类器和概要器。开始,新分类器的输入是由工程师或系统提供的通用(多个)特征。一旦一些操作员已构建并且训练了一些分类器,则这些分类器可以被冻结到特征中。如在上面描述的,特征是不可变的。这些新特征于是可用于构建更高层次分类器的输入,因此创建了生态系统。操作员可以通过选择若干特征以及于是求助于ALE算法以添加标记来构建分类器。确实,机器学习中的很多系统从特征的固定集合运行。然而,对于具有倾向一方的分布的大数据来说,不知道将需要哪些特征的先验知识。对新特征的需求可能本身通过探索显现。例如,在构建烹饪食谱分类器期间,具有识别在非洲食谱中寻找到的成分的特征可能是有用的。操作员可以不已知非洲食谱的存在以及所述食谱的具体成分,直到这些食谱通过探索被发现。在构建车辆探测器时,具有车轮(或圆形)探测器作为特征将会使分割问题容易很多。操作员可以不知道在没有该附加特征的情况下该问题太难直到她尝试构建分类器。为了解决该限制,操作员应当具有按需添加特征的灵活性。在主动特征化中,操作员检查分类器所犯的错误,并且搜索以下特征,所述特征使分类器能够容易地将肯定示例的部分与错误肯定示例区分或者相反,将否定示例的一部分与错误否定示例区分。换言之,操作员在分类器的部分上寻找“色盲”。一旦色盲已被识别,操作员可以注重于创建特征以提供“颜色过滤器”以便治愈所述盲症。主动特征化过程是一种循环,在该循环中操作员检查误差,创建特征和/或编辑/细化特征,重新训练系统,以及为下一迭代对所标记的示例进行重新记分。然而,创建新的特征经常需要新的标记。因此,主动特征化过程本身嵌入到大的循环中,所述大的循环涉及主动特征化和ALE,在此称为RAFALE(重复主动特征化主动标记探索)循环。这总结在表2中:表2:RAFALE(重复主动特征化主动标记探索)循环为了创建特征,操作员具有3个选择:1)(使用搜索引擎)寻找系统特征或由另一操作员创建的特征,2)创建定制的分类器以实现所期望的特征,或者3)创建领域特定的特征。第一选择利用团体的能力。第二选择利用使用集成工具快速创建分类器的能力。该能力一般不可用,因为典型地利用不同工具并且一般不同的人来完成标记、训练、记分和特征化。第三选择取决于领域。下面描述一种用于输入包含词列表的条目的领域特定的特征的接口。C.词和字典在机器学习的很多应用中,基本特征是词,所述词可以包括单独的词,词的词干版本(例如,其中表示复数、过去式等等的词形变化已经被移除的词)以及n-gram(连续词或词干的序列)。通常,选择的表示是词袋。在该表示中,特征基于具有一定规范化(IDF:逆文档频率)的文档中每个词的频率(TF:项频率)。虽然可以通过这些特征来得到良好的结果,但是它们缺乏表达且泛化到概念的能力。例如,虽然对文档中的Honda和Toyota的频率进行计数是可能的,而优选的是具有泛化到所有车辆品牌的特征。下面描述的是用于交互地构建表示概念的字典的工具,为了用作分类或实体提取的特征的目的。交互地创建概念作为主动特征化循环的部分以解决由机器学习算法产生的误差。在该部分中,数据库中的条目被假设是由词构成的文档。然而,在此描述的文档和字典的概念不限于词的使用,并且可以包括其它类型的数据。同样作出以下假设:文档中的词没有相互关系(字袋模型),并且TF*IDF向量表示被用作基本特征向量。在引入字典的概念之前,需要显式地描述该表示。假设C是数据库中文档的集合,并且T是与要被构建的分类器相关的项的集合。例如,T可以是出现在语料库C中的所有词的集合。针对每个文档d和项t,可以计算项频率tf(t,d),项频率是词t在d中出现的数目除以文档的长度。直观地,项计数表示词的语义空间中的方向。项计数通过文档的长度来规范化,以相对赘言(verbosity)不变。所有的项不带有相同的信息量。尤其,由陈述“thetermtoccursindocumentd(项t出现在文档d中)”交流的比特的数目由以下公式给出:其中|C|是C的基数并且|{d∈C:t∈d}|是项t出现在其中的文档的数量。该量也称为逆文档频率。对于每个文档d来说,文档d的tf*idf特征向量表示被定义为x(d)=(tf(t,d)*idf(t,C))t∈T并且具有两种有用的属性:其相对于文档的长度不变并且每个词特征的差异与每个词特征的信息内容成比例。表3总结了如何计算tf*idf表示:表3:每个文档中的每个词的计数通过用文档长度(最后一列)除计数并且将结果乘以逆文档频率(最后一行)来计算tf*idf值。得到的行向量是每个文档的特征表示。如果逻辑回归被用于分类,所期望的是,正则化权重并且不重新缩放输入以调整其差异。这是因为在词空间中,问题是非常高维度的并且存在非常少的标记。对于逻辑回归来说,分类函数是:其中xp是模式p的特征表示,yp是分类器的输出并且i是T的项上的索引。目标函数是:其中lp是模式p的标记并且λ是正则化参数。应当认识到,|T|可以比标记的数量大若干数量级。正则化器可以是|w|2或|w|。如果不存在正则化器(即,λ=0),则idf规范化可以在训练中被吸收到w中。如果给定词典中的每个词被给定该词自己的权重,则系统变得与字袋更等效。构思是,操作员可以通过指定捕获语义意义的特征将无价的信息传送到分类器。允许操作员选出小组中的词并且单独的小组仍可以具有共享的权重,所述共享的权重对于附加的正则化约束来说可能是重要的。如果字典中的所有词共享相同的参数,则所述词的语义同样被共享。例如,当构建车辆的分类器时,特征可以是所有车辆品牌名称的字典,例如{“Toyota”、“Ford”、“Peugeot”…}。特征化的另一解释是,操作员在“捆绑”模型的参数。想象tf*idf表示仍在被使用,但是词典{“Toyota”、“Ford”、“Peugeot”…}中的项的参数被捆绑到共同的值。泛化值是立即的:如果字典包含稀少的车辆品牌(例如Maserati),则分类器可以在关于那个车辆品牌的文档上表现良好,即使在训练中没有标记的文档指向那个品牌的车辆。例如,如果词“Honda”和“Maserati”出现在车辆品牌字典中并且如果词“Honda”出现在很多训练示例中,系统将能够泛化到“Maserati”,即使没有“Maserati”的示例出现在训练集合中。具有以下系统是可能的,所述系统位于:字典中的每个词具有一个权重和对于整个字典具有单一的权重之间。这通过具有每个词一个权重,但是利用正则化约束来约束字典中的权重来完成。只要字典被输入,相应的权重具有共同的共享值(很多梯度下降学习算法容易地泛化到权重共享概念)。项频率贡献的idf缩放是所期望的,因为携带更少信息的项不应在共享权重值上具有相等的加权。在缩放后,所有的参数wj贡献是相当的。权重共享约束可以被松弛并且可以诱导权重组变得相似。作为一种示例,可以将权重组约束到接近其平均。在那种情况下,正则化器可用来将该组权重捆绑到其平均,使得字典中的词的权重被约束而不偏离其平均太多。示范性的正则化约束可以具有以下形式:其中E是字典的集合,Jc是字典c中的项的索引的集合。是由Jc索引的项的参数的平均,并且γ是正则化参数。在该设定中,与共同的字典相对应的权重由正则化约束捆绑。对于γ的大的值来说,上面的约束强烈地强制以下近乎相等性,所述相等性是等效权重共享,或者该相等性与每个字典具有一个权重等效。在所有可能性中,正则化器γ将比λ更大,因为由操作员交流的先验知识比大部分wi是小的这一先验知识强大很多。每个字典的权重可以被缩放为文档频率或在应用正则化约束之前的字典大小的函数,以便将每个权重保持在可比较的规模上。实际上,在先前的示例中,这允许词“Honda”将其知识通过正则化约束转移到词“Maserati”,但是仍然允许词“Maserati”具有不同的权重(如果存在足够的“Maserati”数据来将权重拉到不同方向上)。D.交互概念编辑(主动概念化)作为创建分类器的示例,假设目的是创建“主页(homepages)”的分类器:●肯定示例:个人主页,社交媒体页面,学术页面等等●否定示例:搜索结果,目录,时间,讣告,公司,商业页面等等●不定的:虚构的人,有名的已故的人,简历等等。字典可以以该顺序(直到工具被构建,否则难以猜测)来创建:●主页:[“主页”,“传记(Bio)”,“简历”(Resume),“爱好(Hobbies)”,“脸书(Facebook)”,等等]●联系信息:[“联系信息(Contacinformation)”,“地址(Address)”,“电话(Phone)”,“电子邮件(email)”等等]●名:[“John”,“Steven”,等等]●姓:[“Smith”,“Dupont”,等等]●搜索/目录:[“搜索(Search)”,“登录(Login)”,“注册(Signup)”,等等]●讣告:[“讣告(obituary)”,“离世(passedaway)”,“故去(died)”,“敬爱(beloved)”,等等]。前四个字典帮助寻找肯定示例(移除错误的否定示例)。随后两个字典减少错误肯定示例的数量。该过程是高度交互的。在不构建分类器的情况下难以知道哪个字典将会有用。用户可以决定在运行时创建讣告或事件的分类器。该过程是递归的。在运行时创建的特征/分类器不需要是良好的。为了有用,它们仅需比偶然更好并且带来新的信息。1.问题●如果字典的数量是大的,则可以想象特征化类似于在“专家系统”和老式“AI”的传统下创建规则和异常。然而,存在可以考虑的三件事情:○首先,字典仅仅是特征或过滤器。如何组合字典完全留给机器学习算法。从用户的视角,没有复杂度爆炸。特征化任务仅仅是给系统提供将肯定示例与错误肯定示例区分或者将否定示例与错误否定示例区分的手段。添加第一个或第n个字典的复杂度是相同的。操作员在提供传感器,而不是规则。○高效地和低效地构建分类器之间的不同可能来自保持字典在语义意义上的“清楚”。例如,在上面的主页示例中,将主页线索的字典与探测页面中是否存在地址的字典混合将会是坏的构思。这将减少复合性。添加若干地址项到第一字典与不具有地址字典相比更好,而具有两种语义意义的两个字典好更多。这允许系统不同地加权其影响并且这使得特征字典的调试和重复使用更容易。“传感器”应当是尽量正交和纯粹的。维护清楚的字典也可以使得传感器更适于稍后的重复使用。纯粹的字典更容易被其他人类理解并且更可能有助于其他分类问题。○最优化是非参数的。这意指通过交叉验证,系统的容量自动调整以匹配可用数据的量。在利用相同量的数据的情况下,系统应当与基于字袋的任何当前在使用中的系统表现得一样。如果附加信息省下操作员输入数千标记,则由特征提供的附加的信息可以是非常有帮助的。●字典编辑对于使用字袋的任何系统来说是有用的。这可以对于以下数据工作良好,在所述数据中词之间的关系难以提取,例如,查询、广告文本、用户产品描述、或者自由流动文本。对于具有概要结构(例如食谱、工作描述、产品和论坛)的文档来说,位置信息以及词间关系是重要的。这将是下一部分的目标。●输入词典可能是冗长的任务。例如,先前示例中的名和姓的字典将具有很多条目。从freebase提取的烹饪成分的字典在本文的撰写时具有1709个成分。幸运的是,输入字典的过程可以被自动化。这是下一子部分的目标。在一方面,集成系统包括具有显示训练模式的单元的组件、训练组件、记分组件、以及字典编辑组件。四种组件被用在主动特征化循环中。字典编辑组件包含交互循环以允许操作员编辑和细化由词列表或n-gram组特征化的概念。在另一方面,提供字典特征,在所述字典特征中每个词或n-gram在字典中具有它自己的权重。字典的权重可以由频率和字典大小的函数来重新缩放。重新缩放的权重由正则化约束捆绑,所述正则化约束将具有更少训练数据的词的权重拉向由具有更多训练数据的词所确定的默认值。在另一方面,提供字典接口用于构建分类器或实体提取器的特征。接口允许通过提供肯定或否定词或n-gram示例的小的列表来交互地指定词或n-gram的大的列表定义的概念。在每个迭代中,使用算法的集合和通过使用输入进行编辑,来自动扩展概念列表。在另一方面,提供字典接口用于构建分类器或实体提取器的特征。每个特征由词或n-gram的列表构成。接口允许操作员指定关于如何计算特征的选项。在验证集合上计算并且预览各种选项替代项的泛化效果。2.字典创建字典可以被视为概念。作为一种概念,它可以被泛化。当操作员针对字典键入若干肯定示例时,系统可以提供对可能的泛化的启示。如果泛化太激进,则操作员可以通过添加否定示例来提供反馈。这变为迭代过程,其中操作员提供肯定和否定示例以将系统引向所针对的概念的正确的泛化。这遵从了上面描述的哲学:操作员提供语义意义,并且系统提供大规模计算以细化意义。该部分被划分成两部分:用于主动概念化的用户接口以及用于概念泛化的算法的集合。a.主动概念化接口(ACI)接口的目的是帮助操作员将概念传送到系统以便创建字典。可以在反馈循环中完成字典创建和编辑,在所述反馈循环中用户提供肯定示例的列表。图8说明适于使用主动概念化和字典编辑的示范性接口800。当操作员在刷新按键822上点击时,系统生成启示集合810,使得每个启示集合810是词的新列表,所述词的新列表意图泛化由用户输入的词所暗示的概念。使用不同的算法来产生每个启示集合810。用户于是可以通过键入词或者通过从所提议的列表中点击或拖拽所述词来添加更多词作为肯定示例816或否定示例818。可以通过点击相应的添加按键814来将来自启示集合810的词添加到工作集合812。在启示集合810中所点击或选择的词被添加到肯定示例816。在工作集合812中所选择的词被添加到否定集合818。也可以使用用于添加肯定示例816和否定示例818的其他方法,例如在启示集合词810上点击以添加肯定示例,并且在启示集合词810上换挡点击(shift-clicking)以添加否定示例。对于大的集合来说,操作员可以复制全体启示集合810到工作集合812。启示集合810对于每次编辑被重新计算。在完成按键820上点击将肯定示例816和工作集合812的并集提交为新字典。替代地,在清除按键824上点击将从工作集合812中清除所述词。字典编辑接口可以呈现机器学习选项(例如复选框、阈值),所述机器学习选项约束这些选项如何被用作特征。例如,字典接口可以具有复选框或对话框,用于:●标志,所述标志指明每个词是否具有其自身的可训练的参数(与整个字典的一个参数相反),●标志或选项,用于使特征值成为数量的函数(字典特征可以具有值0或1(二进制)或者是字典项频率的预先确定的函数,●标志,所述标志表明项频率是否被规范化(例如乘以逆项频率IDF的函数),●正则化阈值,所述正则化阈值启示字典的权重之间的捆绑的程度,以及●标志或选项,用于证实多样性:在文档中出现不同的词比多次出现相同的词生成更高的特征值。字典选项接口可以通过利用或不利用选项来训练分类器或实体提取器以及通过度量选项在验证集合上的性能,来预览每个选项的泛化效果。当操作员完成时,肯定集合和工作集合的并集被保存为新的字典。在系统提供立即反馈给操作员关于其理解的概念的意义上,该接口是非常交互式的。操作员可以对系统的解释做出反应并且细化系统的解释。存在很多方式来生成由词列表捕获的有效概念。一些点是:●用户可以仅仅通过键入若干肯定以及可选择地若干否定示例来生成由词的长列表捕获的概念。●概念编辑是能够经受若干细化的交互过程。●启示集合可以具有多种本质。例如,一种可以来自预先存在的字典的集合(基于在网络或数据库(例如Freebase)上寻找的表)。另一种可以来自语义概念,所述语义概念是基于文档的大的数据库而自动从聚类词衍生的。第三个可以来自分析(查询,URL)对上的点击图(在相同的页面上生成点击的查询可能是相关的并且这些查询的词可能在相关的概念中)。即使启示集合具有非常不同的起源,所述启示集合可以共享共同的概念编辑接口。下面更全面地描述主动概念化的一些算法。b.主动概念化算法ACI可以被用于允许操作员与不同的主动概念化算法交互。例如:●知识基础:Freebase和Yago是包含很多人类输入的字典的知识数据库的示例。针对包括肯定示例和排除否定示例来测试每个人类输入的字典是可能的。匹配的字典是启示集合。●点击图:该图是查询和网页之间的二分图,其中边缘意味着由用户在提交相应查询之后点击特定网页。这诱导查询上的(并且通过扩展,在词上的)拓扑。例如,可以将词集作为查询来查看。这些查询上的点击历史通过跟随查询的图的边缘来诱导在相关联的网页上的点击的概率分布。于是可以诱导可能已生成这些页面上的点击的查询的概率。所诱导的分布的最高的(最高概率)查询可以被用作字典启示。●链接图:超链接图通过嵌入到文档的HTML代码中的超链接来将文档相互连接。这提供另一拓扑,所述拓扑可以以与所提议的点击图技术相似的方式被应用。●网络表格:在网络上找到的表格(或者表格的列或行)的分析可以提供语义上有意义的字典的列表。与Freebase相似的算法可以被用以启示字典。●语义表示:分类器的内部表示诱导英文词的拓扑。在那个拓扑中,与肯定集合接近的并且进一步远离否定集合的词是启示集合的候选。这些算法中的每一个提供不同形式的泛化。幸运的是,可以为操作员使用共同的接口以与所有的算法接合。ACI允许操作员在相对少量的干预的情况下输入由大的字典实现的概念。3.字典平滑使用字典定义分类器的一个问题是字典可能在出现于多个、不相关的上下文中的词上失败。例如,假设通过输入在网络上找到的电影的列表来构造电影的字典。然而,该列表包括一部叫做“It”的电影。叫做“It”的电影的问题是词“it”可以出现在数据库中的几乎每一个文档中。这会显著地影响字典测量所意图的概念的存在的能力。作为另一示例,假设字典被创建用于“months(月份)”。该字典在类似以下句子上失败:“MayIhelpyou(我可以帮助你吗)”和“IhaddinnerwithApril(我和April共进了晚餐)”。问题是,在错误的上下文中,所述词失败并且引进误差。可以借助于字典平滑来解决这种潜在的失败。字典平滑的构思是,特定词的上下文可以被用以尝试去预测字典是否应在那个词上成功。给定词的上下文包括一定数量的在该词紧前以及紧跟所述词的词。至于“months”字典,对于词“May(五月)”来说,可以考虑贯穿整个语料库的“may(可以)”的所有实例。对于“may”的每个实例来说,例如可以检查词“may”之前的两个词以及之后的两个词。基于这四个词,可以作出关于中间的词(“may”)是否是月份的预测。以使用给定词之前的两个词和之后的两个词的示例继续,假设查看语料库中的五个词的每个可能的组。假设语料库包含一亿个页面,并且每个页面具有平均2000词。对于每个组五个词来说,从另外的四个上下文词中可以预测是否中间词是月份。这可以通过计数大的语料库中词的出现来完成。对于每个词来说,可以计数该词在五个词的以下组中出现的次数,在所述组中中间词属于月份字典。类似地,可以计数词在五个词的以下组中出现的次数,在所述组中中间词不属于月份字典。利用这些计数,可以仅通过查看四个上下文词来估计五个词的组包含字典词的概率。例如,可以预测:“1998”是月份的良好的预测器。因此,短语“May1998”帮助确定字典应当在“May”的出现上成功。每个四位号码可以是月份的良好的预测器。然而,在句子“MayIhelpyou”中,词“I”可能是“may”(作为非月份)的良好的预测器,但是不是“February”的良好的预测器,即“FebruaryIhelpyou”如果真有的话也不是经常出现的短语。附加地,可以选择不在有问题的词上训练系统,例如不在词“May”上训练系统。在那种情况下,系统仅被训练以预测不具有“may”的所期望的概念,并且因此词“I”将对“MayIhelpyou”完全没贡献,但是“1998”将会贡献,因为存在于“1998”的上下文中出现的其他月份的很多示例。描述字典平滑的另一方式是查找词可替换性,即字典中的其他词可以被替换成给定的词。在文本窗口中(即,给定词的上下文中),可以判定中间词是否可以被一些字典词可替代地替换。为了那个目的,要么使用上面定义的计数技术,要么使用其他语言建模技术,可以对于每个被替换的词检查中间词属于字典的概率估计。例如,假设车辆品牌字典包括项Honda、Toyota和Ford,并且句子“PresidentFordcameintoOfficein1973”正在被评估。在没有字典平滑的情况下,字典将在“Ford”上失败。但是如果其他车辆品牌在那个句子中替换“Ford”,例如“PresidentHonda”或者“PresidentToyota”,可以确定短语“PresidentHonda”和“PresidentToyota”在整个语料库中不出现或者很少出现,并且于是可以确定“PresidentX”的上下文非常不可能是关于车辆品牌。作为结果,字典不再在短语“PresidentFord”上成功,因为在那个上下文中字典中的其他词不能替换“Ford”。这消除大量的失败。接着详细地论述字典平滑。定义上下文和字典的概念,并且然后论述根据上下文估计词属于字典的概率。a.上下文给定文档a和位置p,词提取函数被定义为e:(a,p)→w所述函数返回文档a中的位置p处的词。给定到p的相对位置的集合B=(b0,…,bl-1),上下文提取函数eB被定义为:eB:(a,p)→e(a,p+b0),...,e(a,p+bl-1)其中e(a,p+br)是文档a中相对于位置p在第r个偏移br处的词。例如,对于B=(-2,-1)来说,eB(a,p)返回恰好位置p之前的文档a中的两个词。如果文档a是“Thequickbrownfoxjumpsoverthelazydog”,那么e(-2,-1)(a,4)=(brown,fox),注意对于B=(0),eB=e。符号:B=(b0,…,bl-1)被用以表示整理的列表。整理的列表之间的相等性需要所有元素相等并且遵守顺序。然而,在b∈B中,B被当作集合(b∈{b0,...,bl-1})。符号ei被用作的简化形式。给定上下文提取函数ei,上下文预测ciw被定义为:这意味着:所观察的词w在文档a中的位置p的上下文i中。该预测假设词w在上下文中的位置是不重要的。类似地,公式被定义为意指所观察的词w0,...,wl-1(恰好)是文档a中的位置p的上下文i。为了简化计算,作出两种假设:假设上下文中的位置是不重要的,以及每个词在上下文中的存在独立于其他词的存在。这些假设导出:b.字典字典D={d0,...,dk-1}被定义为k个词的集合。c.概率给定字典D和m个上下文函数ci的集合,期望计算:其是文档a中的位置p处的词在字典D中的概率,给定词O0,...,Om-1在上下文0,…,m-1中被观察。为了简化符号,cr用作的简化形式。朴素贝叶斯:使用朴素贝叶斯假设:上下文是独立的并且上下文中的词是独立的,可以写出:P(e(a,p)∈D|c0,...,cm-1)=KP(c0,...,cm-1|e(a,p)∈D)P(e(a,p)∈D)其中:其中Or=w0,...,wl-1。结果是:其中如果预测为真,则δ(predicate)=1,否则为0。计数可以被预先计算:其然后允许系数计算:该计算是O(∑i|Bi|),其中|Bi|是上下文i的大小。为了计算K,也需要评估:再次,使用朴素贝叶斯:其中:其中Or=w0,...,wl-1。结果是:计数可以被重新计算:注意:数量CountWordContextAll(j,i)独立于字典。这意味着CountWordContextNot(j,i)实际上不要求该字典的表格(其可以在运行时从CountWordContext(j,i)计算)。其然后允许系数计算:并且由此,可以计算:i)字典词层次的概率期望的是,计算在给定上下文的情况下词是字典的给定词的概率:其中wk是字典中的特定词。其中如果预测为真,则δ(predicate)=1,否则为0。计数可以被重新计算:其然后允许系数计算:P(e(a,p)=wk|c0,...,cm-1)=KkP(c0,...,cm-1|e(a,p=wk)P(e(a,p)=wk)计算K也包括评估:P(e(a,p)≠wk|c0,...,cm-1)=KkP(c0,...,cm|e(a,p)≠wk)P(e(a,p)≠wk)同样,使用朴素贝叶斯:其中:其中or=w0,...,wl-1。结果是:为此,需要下面的量:注意量CountWordContextAll(j,i)独立于字典。这意味着CountWordContextKNot(k,j,i)实际上不需要该字典的表格(其可以在运行时从CountWordContextK(k,j,i)中计算)。于是可以高效地执行下面的计算:ii)遗漏的词的概率期望的是,在给定上下文的情况下计算词在减去词wk的字典中的概率:其中wk是字典中的特定词。注意,如果e(a,p)=wk,则上面的概率反映字典中的所有的其他词的概率。例如,在句子“PresidentFordwasthe38thpresidentofUnitedStates”,将已经利用字典中不同于“Ford”的所有词来训练上面的概率。如果字典是{“Honda”,“Ford”,“Toyota”},概率将会是非常低的,因为没有很多“PresidentHonda”或“PresidentToyota”实例。因此,概率将会正确地预测句子中的“Ford”不是车辆品牌。其中如果预测为真,则δ(predicate)=1,否则为0。计数可以被预先计算:CountDictMinusK(k)=CountDict-CountK(k)其于是允许系数计算:P(e(a,p)∈D-{wk}|c0,...,cm-1)=KkP(c0,...,cm-1|e(a,p)∈D-{wk})P(e(a,p)∈D-{wk})计算K也需要评估:同样,使用朴素贝叶斯:其中:其中or=w0,...,wl-1。结果是:为此,需要下面的量:CountWordContextDictMinusKNot(k,j,i)=CountWordContextAll(j,i)-CountWordContextDictMinusK(k,j,i)注意,量CountWordContextAll(j,i)独立于字典。这意味着CountWordContextDictMinusKNot(k,j,i)实际上不需要该字典的表格(其可以在运行时从CountWordContextK(k,j,i)计算)。于是可以高效地执行下面的计算:4.特征补全特征补全是一种更泛化的用于字典平滑的方法。用于自动分类文档的学习技术从标记的训练实例集推断分类器。所推断的分类器是一种函数,该函数接受输入特征的集合、即描述文档的测量,并且输出类别标记。可以主要改进分类器的精确性,遵从两种可替代的路径,要么通过获得更多的标记的训练实例,要么通过依赖更好的特征。特征补全涉及第二种方法并且旨在便于设计更好的特征。特征是一种函数,该函数将文档的原始表示(例如文本的字符序列,图像的像素地图)映射到分类器依赖的中间表示(例如给定词的出现数量或图像中的特定颜色的存在)。依据关于分类器可以依赖的测量的类型的简单人类直觉来构造大多数特征(例如,检测图像中人脸的分类器可以将皮肤颜色的存在用作特征)。然而,将直觉转换到映射文档表示的函数是复杂的、不完美的任务。特征补全利于该转换过程。特征补全接受由人类给出的初始特征作为输入并且提供补足第一个的补足特征,使得两种特征的组合更接近初始的直觉化的测量。为了那个目的,其依赖未标记的文档的大的数据集。未标记的文档的原始表示被划分成初始特征使用的部分(表示A)和其余的(表示B)。给定未标记集合的成对的表示的该集合,应用学习算法以推断以下函数,该函数接受表示B并且预测相同文档的部分A上的初始特征的输出。该函数是补足特征,因为该函数与初始特征相类似地表现,但是依赖原始表示的补足部分(即表示B)。初始特征和补足特征的组合可以更接近初始直觉,因为该组合使用文档的(初始特征实现未设法使用的)剩余部分。两种特征的组合相对于噪声也是更健壮的,因为讹误不大可能以相同的方式影响表示A和表示B。应当注意,分类器确定如何组合初始特征和初始特征的补足特征。这意味着,学习算法为用户确定补足特征是否应当具有少量影响(因为初始特征已经具有高质量)或者更多影响(因为初始特征质量较差)。在一方面,提供构造补足特征的系统和方法。依据初始特征和未标记数据的大的集合来构造每个补足特征。补足特征是以下函数,该函数接受初始特征不在使用的原始表示的部分作为输入。通过尝试在未标记数据上从该补足表示预测初始特征的输出来构造该函数。在另一方面,系统和方法可以包括一个或多个附加特征,例如其中初始特征度量文本流中的每个位置处的词或n-gram(词序列)析取(disjunction)的存在,而补足特征输入包含所考虑的位置附近的文本的窗口,在所述窗口中中央词已被移除;其中初始特征是运行在字符串上的正则表达式,用于预测文本中的匹配位置,而补足特征输入包括所考虑的位置附近的文本的窗口,在所述窗口中中央词已被移除;或者其中初始特征测量大的核苷酸序列(例如DNA)中的每个位置处的短的核苷酸序列的析取的存在,而补足特征输入包括在所考虑的位置附近的少量核苷酸的窗口,在所述窗口中中央核苷酸已被移除。下列论述描述特征补全的示范性算法。特征补全从初始特征和大的未标记的数据集开始。补足特征基于这些输入构造。一旦被构造,该补足特征于是可以与初始特征结合地在被监督的学习设定中使用。a.定义●数据集是条目的集合。例如,数据集可以是网页的集合,查询的集合,词文档的集合,分子的集合,基因的集合等等。每个条目由该条目的原始表示来表示。该表示是在该条目上作出的量度的集合。量度可以是固定长度的,例如指向网页的链接的数量,或者是可变长度的,例如利用可行的注释(例如,粗体、斜体、表格位置、元数据等等)表示每个词的记号的列表。原始表示的目的是捕获与条目有关的所有信息到计算机可读形式中,而不先验地辨别哪种信息是相关的或不相关的。特征表示是原始表示的函数,该函数捕获与机器学习算法相关的信息以在条目上执行任务,例如分类、提取、回归、排序等等。特征表示典型地丢弃来自原始表示的大量信息,因为原始表示空间对于机器学习算法来说是极其巨大的,以至于不能在少量训练示例以及有限计算时间的情况下来充分地执行。●初始特征表示f是开始的特征表示。它接受条目的原始表示的部分并且计算值或者值的向量。值的示例可以是条目的长度,特定子组件在条目中出现的次数等等。向量值可以是在条目上滑动窗口以及在那个窗口上计算函数的结果。例如,对于文本窗口,初始特征可以是○一种二进制值,所述二进制值表示来自给定列表的任何词是否出现在窗口的中央,○一种二进制值,所述二进制值表示窗口中动词的出现或不出现,○一种二进制值,所述二进制值表示被形容词跟随的名词的出现或不出现,○一种整数特征,所述整数特征对窗口中的给定词的出现的数量进行计数等等。●补足特征g也是特征表示。补足特征接受条目的原始表示的不同部分并且预测值或值的向量。依赖在下一部分中定义的算法来构造补足特征。●该论述区分条目的原始表示中的两部分。表示A指的是初始特征使用的部分。表示B指的是补足特征使用的部分。注意两种部分可以重叠或不能重叠。●被监督的学习算法接受输入/输出对的集合并且预测函数,其旨在在给定输入的情况下预测输出。b.用于构造补足特征的算法i)通用算法构造补足该算法计算附加特征函数g。该算法使用数据集D和函数f以生成(输入,目标)对,作为g的训练示例。该算法于是使用训练算法以训练g。结果是新的特征函数g,所述函数于是可以被用于补足f。●输入:初始特征f,数据集D●输出:补足特征g●算法○初始化补足特征训练集合P为空集○对于D中的每个条目i■提取ai(i的表示A)并且■计算初始特征的输出f(ai)■提取bi(i的表示B)■添加(bi,f(ai))到P。该(输入,目标)对是函数g的训练示例○g=SupervisedLearningAlgorithm(P)○返回g如果在滑动窗口上计算特征,算法可以修改如下:●输入:初始特征f,数据集D●输出:补足特征g●算法○初始化补足特征训练集合P为空集○对于D中的每个条目i■对于条目中的每个位置p●提取ai,p(i在由p索引的初始窗口中的表示A)并且●计算初始特征的输出f(ai,p)●提取bi,p(i在由p索引的上下文窗口中的表示B)●添加(bi,p,f(ai,p))到P。该(输入,目标)对是函数g的训练示例○g=SupervisedLearningAlgorithm(P)○返回gii)二进制情况的特定化假设f是二进制特征并且表示B是n个二进制度量的集合。这意味着,对于任何条目i来说,f(ai)要么是0要么是1,而bi可以表示为向量(bi1,...,bin),在该向量中每个bij是0或1。考虑一类被监督的学习算法,所述被监督的学习算法仅依赖随后的来自P的计数,N(j,α,β),其表示P中的对(bi,f(ai))的数量,使得f(ai)=α以及bij=β。在这种情况下,补足特征构造算法可以写为●输入:初始特征f,数据集D●输出:补足特征g●算法○对于j=1..n,α=0..1,β=0..1初始化N(j,α,β)为0○对于D中的每个条目i■提取ai(i的表示A)并且■预测初始特征的输出f(ai)■提取bi(i的表示B)■针对j=1..n增量N(j,f(ai),bij)○g=SupervisedLearningAlgorithm(P)○返回gc、用于分类的补足特征如在此使用的分类是在给定输入条目的情况下预测类别标记的任务。为了那个目的,使用被监督的学习算法,所述被监督的学习算法可以自动推断以下函数,该函数将输入特征表示映射到来自所标记的条目的集合的类别标记,即如下条目:对于所述条目来说正确的类别已被人类标记者识别。标记条目(x,y)被表示,其中x表示该条目的原始表示x并且y表示该条目的标记。随后的算法取所标记的条目的集合、未标记的数据集合以及初始特征f1…fn的集合。该算法补足每个特征并且学习以下分类器,所述分类器依赖初始特征和初始特征的补足特征。●输入:初始特征的集合f1…fn、所标记的条目的集合L,未标记的数据集U●输出:补足特征的集合g1…gn、依赖f1…fn和g1…gn的分类器C。●算法○对于每个初始特征fi■从未标记的数据定义初始特征的补足gi=BuildComplementary(fi,U)○初始化对集合P为空集○对于L中的每个标记的条目(x,y),■计算初始特征和初始特征的补足特征v(x)=f1(x),...,fn(x),g1(x)...gn(x)■添加(v(x),y)到P○C=SupervisedLearningAlgorithm(P)○返回g1…gn和C作为一种示例,考虑下面的表格4中的文档的集合:表4假设初始特征是:属于集合{“February”,“May”}的词。初始特征正在尝试捕获的概念是月份的概念。不幸的是,这将不能在文档3和6中良好地工作,因为即使“May”的那些2个特定的实例没有指代月份,特征也将成功。取决于初始特征的任何学习算法因此将由特征的“失败”妨碍。为了弥补该问题,可以构造简单的补足特征。请参照上面描述的、关于窗口的通用算法“BuildComplementary(构造补足)”。形式上,初始表示ai,p对于集中在位置p上的条目i来说是长度一(单个词)的固定长度的窗口。第二表示bi,p也是长度一的固定长度的窗口,但是集中在位置p+1处的词上。该窗口在此称为“上下文”窗口。在该示例中,补足特征g正在尝试更好地预测月份的概念。为了构造该特征,一种非常简单的贝叶斯算法被用作学习算法以计算g。函数g被定义为:g(w)≡P(f(wordatp)=1|wordat(p+1)isw)其中从评估g的位置p+1读取词w。在该情况下,将表示bi,p想象为在位置p附近是有帮助的。注意可以使用别的表示,而不是“在位置p+1处的词(wordatpositionp+1”作为g的输入,并且任何别的机器学习算法可以被用以训练g来模仿f的值。在该情况下,使用贝叶斯模型,因为可以给出g的闭集形式版本并且通过给出显式的机器学习算法来阐明所述过程。使用贝叶斯规则,可以写出:作为一种示例,对于位置3(w=“24”)处的第二文档,计算g。查看语料库,可以推断:因为在语料库中存在54个词并且这些词中的6个在字典中。对于May的第二实例(在文档1中)来说,因为存在在字典中以及在这些实例中的两个中的词的六个实例,随后的词是“24”。计算P(随后的词是X(followingwordisX))通过实现以下公式来完成:P(wordinDict|followingwordisX)+P(wordnotinDict|followingwordisX)=1这导致P(followingwordis“24”.)=P(followingwordis“24”.|wordinDict)P(wordinDict)+P(followingwordis“24”.|wordnotinDict)P(wordnotinDict)或者并且最后:如果对于所有实例完成这些,则结果是:文档0:P(“May”inDict(在字典中)|followingwordis(随后的词是)“18”)=1.0文档1:P(“May”inDict|followingwordis“24”)=0.6666文档2:P(“February”inDict|followingwordis“18”)=1.0文档3:P(“May”inDict|followingwordis“Be”)=0.5文档4:P(“February”inDict|followingwordis“24”)=0.6666文档5:P(“May”inDict|followingwordis“I”)=1.0可以看到,该补足特征是更好的,因为如果补足特征使用0.6的阈值,其将检测到文档3中的May是动词不是月份。但是该补全特征也不是完美的,因为该补全特征未能检测到文档5中的May也是动词而非月份。下面是一个示例,其中在文档的大语料库(500,000个网页)上计算更复杂的上下文函数。初级函数查看一个词并且如果词属于(“January”、“February”…,“December”)则为一,并且否则为零。补足特征查看先前的两个词和之后的两个词并且使用朴素贝叶斯以计算位于字典中的概率。为此,使用上面的算法的一种变型,所述算法在此称为“留一法(LeaveOneOut)”。在该版本中,在除了由那个词定义的实例之外的数据集的所有实例上训练在特定词上使用的函数g。这是有用的,因为当词具有双重意义时(例如像May,可以是月份或动词),可以仅利用排除该词自己的双重意义的实例来训练该词。May的双重意义可以潜在地污染别的月份,但是通常不是问题,因为双重意义的上下文对于f=1的不同情况来说经常不相关。例如,如果利用排除February的所有实例但是包括包含May的所有其他月份的集合来训练g(February,.),类似“MayIhelpyou?”的糟糕的情况将几乎不产生对February模型的损害,因为上下文“I”对于February(“FebruaryIhelpyou?”)来说是非常不可能的。下面的表格5中的列举示出随机从数据集中提取的100个实例的示例,并且根据补足特征g的值来分类。在具有标题“Prob”的列中示出该值。随后4列是位置-2、-1、+1、+2(相对于位置0处的May)处的“证据(evidence)”。每个证据可以计算为:随后的列标记是“概念(concept)”值或者特定的出现是否确实是月份。通过手工来计算该值只为了评估的目的。表5中的列表的检查表明,初始特征将会产生21%的误差率。相反,使用阈值p=0.0003的补足特征将仅具有2%的误差率。表5Ⅴ.分割和概要化A.区段通过构造,字袋表示忽视词之间的所有关系。这可以是限制,因为整理和分组信息可以是有价值的。例如,将论坛网页分解成一系列单独的贴文可以对于寻找比较两种产品的贴文是有用的。在字袋表示中,将会每次两个贴文提到两种产品出现在相同页面中时获得一次击中。将概要分解成单独的域允许针对域的搜索和数据挖掘。这对于寻找以下食谱可以是有用的:所述食谱具有每餐份低于500卡路里并且低于20分钟的烹饪时间。为了启用这些能力,假设每个条目包括一系列被整理的记号。该基于记号的表示比字袋更丰富。记号的位置诱导整理以及记号之间的邻近度量。两个记号之间的距离是两个记号的位置之间的绝对差。(在该部分中,为了简化,假设一维拓扑。二维拓扑是可行的,但是更复杂(区段被用矩形来代替))。区段被定义为文档中的位置的对(b,e)。第一位置b(开始)指向区段的第一记号。第二位置e(末尾)指向区段之外的第一记号。每个区段表征文档之内的相邻记号组的特征。文档分割是k个不相交的区段的集合(s0,…,sk-1)。更正式地,n个记号的文档的可能的分割的集合根据以下定义:特征fj(i,d)是文档d的向量函数,其在每个记号位置i上定义。文档的特征化定义为f(d)=(f0(.,d),...,fJ-1(.,d)),其中J是单独特征的数量。注意位置i处的特征值可以取决于整个文档。该特征定义足够普遍以包括全局特征(在所有记号上恒定)、记号特征(该特征的在位置i处的值仅取决于在那个位置的记号)、或者格图(稍后将在该部分中引进)。区段分类器h是计算概率的函数:h:d,s,w→h(f(d),s,w)其中d是原始数据,f(d)是记号数据的特征化,s是记号上的分割,并且w是可训练的参数向量。理想地,区段分类器应当核实:图9说明街道地址的示范性的分割900。图9的顶部是数据910(网页的一部分)的可视化。在此之下是相同数据的记号表示912,其下具有街道地址分割914:s=((4,15),(21,34),(40,53))。街道地址分割包含3个标记为“街道地址”的区段914(然而,由于页面上的空间约束,第三区段未示出)。餐馆名称分割将会返回((0,3),(17,20),(36,39))。理想地,街道地址区段分类器将会针对s=(4,15),(21,34),(40,53))返回h(f(d),s,w)=1并且对于s的任何其他值返回0。这将是目标信号或者区段标记。B、模块化和格图概要具有递归结构。概要的域可以本身是概要。例如,街道地址概要可以由5个子概要构成:●街道地址○街道○城市○州○邮政编码○国家如在此定义的,模块化约束是独立于分段器可以在其中使用的上下文来构建分段器的能力。模块化的好处是一旦构造了分段器,该分段器可以以底部方式用作更高层次分段器的特征(类似于分类器的特征)。如早先描述的,特征被约束为不可变的。这暗示:一旦构造了分段器,将不在更高层次的分段器之内重新训练该分段器以利用上下文信息。这起初似乎是严重的限制。例如,街道提取器如果知道上下文的话将会完成好很多的工作。“SmithLane,1234”是街道地址还是姓名?如果低层次分段器决定什么是街道什么不是,更高层次的地址分段器不大可能表现良好。格图:为了绕开该问题,强加以下约束:分段器不返回分割,但是返回格图。格图是每个记号的状态之间的过渡图。图10说明分段器1024的格图表示1000。对于给定的实体提取器,每个记号1010具有3种状态:无用1012(实体未探测到),开始1014(实体的第一个记号),以及继续1016(实体的后续记号1010)。边缘1018是从一个记号1010到下一个的过渡概率。分割是从文档的开始到文档的结尾的最可能的路径。过渡概率是记号特征的窗口的卷积函数。让表示记号i的状态s1和记号i+1的状态s2之间的过渡概率。于是其中g是固定的可训练的函数,f(d)i是集中在i上的记号特征化窗口,以及是每个过渡s1、s2的可训练参数的集合。如在此描述的,开始状态1014和继续状态1016是以下状态,在所述状态中区段已被检测到,并且状态过渡边缘1018是计算过渡概率的记号特征1020的函数。在不存在其他约束的情况下,分割是最优的过渡路径1022(粗实线)。格图表示的优点在于,格图表示允许低层次分段器将每个可能的分割的概率传送到更高层次的分段器。在不存在其他约束的情况下,默认分割是遍历格图的最优路径。这可以通过使用动态编程在O(n)步骤中计算。当低层次分割被更高层次分段器使用时,更高层次分段器可以输出其分割,并且然后通过寻找满足约束的最优过渡路径来寻找最优低层次分割。例如,对于地址分段器来说,子区段(街道、城市、邮政编码、州和国家)不能穿过地址界限(父约束)并且给定记号仅可以属于子区段中的一个(同级约束)。换言之,子分段器不为子分段器自己的区段做出最终决策。子分段器提供在其中做出决策的上面的层次的每个可能的分割的概率。计算高层次分割是自底向上的过程。接着是域填充传递(或后分割),其中使用当前格图和来自父和同级的约束来计算在每个层次的新分割。对于每个子分段器来说,可能的分割和分割的相应概率的总数量对于n个记号来说是O(2n)。幸运的是,格图表示携带O(n)空间中的所有该信息。为了计算来自格图的特定分割的概率,可以简单地确定每个记号处于3种状态中的哪一个状态,并且在跟随格图上的相应路径的同时加和所有边缘。当格图被用作用于训练更高层次分段器的特征时,格图变为记号特征(每个边缘值与边缘值左边的记号相关联)。C.标记区段标记区段可能是极其繁重的。文档中的每个词需要标记。格图结构允许交互的区段标记。格图的主要特征是,该格图启用对满足状态上的约束的最优路径的搜索。默认分割来自没有约束的最优格图路径。该分割可以将默认标记分配给每个可视记号。通过在记号要么处于开始状态要么处于继续状态时高亮相应记号的视觉表示(例如词),可以使标记对操作员可见。可视记号(例如词)的边界框上的每次点击切换记号的状态。开始和继续之间的区别是非常微妙的;这允许长区段和两个相邻区段之间的区别。这是UX挑战。一旦可视记号被点击,该记号被约束。从没被点击过的记号是不受约束的。对于可视记号上的每次操作员的点击,约束已被添加/改变/移除。这触发了格图上的动态编程优化,以在O(n)步中找到新的得出的最优路径。这将很可能改变其余不受约束记号的缺省标记。换言之,系统与操作员一起工作,给定操作员约束,总是显示最佳的解决方案。例如,在遗漏的地址上任意地方的一次点击很可能触发整个地址被正确地标记为区段。原因在于,如果任意的地址记号是地址区段的部分,则相邻记号是地址的部分的可能性大幅度提高。如果在每次点击时都计算最优格图路径,则记号趋于在逻辑组中翻转(flip)。这使得标记区段不那么繁重并且要求更少的手眼协调。注意的是,每次点击是前进的进展,因为这会使得增加约束。可以提供可视线索来表明哪些可视记号根据缺省而得到其值以及哪些通过标记来得到其值。置信度:类似于分类标记,可能期望的是不强调标记精确性的重要性。期望的是操作员仅查看具有低置信度的区段或遗漏区段且首先对这些做标记。有趣的UX挑战是:应如何显示置信度?给定具有几个识别的区段的文档,低置信度区段应当可视地弹出,使得操作员可以在这些区段上缩放,做出决策,以及提交新的标记,而不必读整篇文档。这对于遗漏的区段来说甚至是更期望的。在给定的文档上,区段的最可能候选者应当可视地弹出,使得操作员能够放大这些区段并且采取适当的措施。如果不存在低置信度候选者,则操作员应当能够忽略整篇文档,而不读该文档。显示区段置信度并不是无关紧要。存在O(2n)个可能的分割。在记号层次上显示置信度将会产生误解,页面将会看起来杂乱。例如,词“主要(main)”的每个数字或实例可以是遗漏地址的候选者。通过返回格图表示来解决该问题。缺省的路径提供了文档层次上的路径得分。该得分称为缺省最优路径得分或DOPS。该全局得分在记号层次上没有意义。如果记号被点击,则其标记改变,并且给出该约束的情况下的新的最优路径提供不同的得分。对于约束的最优路径得分,称该新得分为COPS(token)。该新得分本身在记号层次上没有意义。然而,差值Conf(token)=DOPC-COPS(token)是翻转给定记号的标记的效果的系统估计。如果差值接近0,则系统不可信,其具有正确标记(翻转记号没有效果)。注意O≤Conf(token)≤1由于路径得分是概率且DOPC是当状态不受约束时的最优路径。如果得分接近0,则系统在对应的记号是否属于一个区段方面不可信。从UX视角看,可以在记号层次上对置信度进行颜色编码,或者可以高亮突出低置信度的记号,该低置信度的记号核实Conf(token)≤K,其中K是置信度阈值。因为标记趋于成组地翻转,所以相邻的记号很可能具有相同的得分差,因为可以向操作员表明,当一个标记改变时,哪些记号将一起翻转。至少貌似合理的是,操作员可以通过仅查看低置信度区段(或低置信度非区段)来对文档做标记并且可以仅在这些区段上采取措施,而不必阅读整篇文档。这是区段标记成本的显著降低。给定约束情况下的最优路径是在O(n)中利用动态编程来计算的。如果对于每个记号都计算Conf(token),则朴素实现将耗费O(n2)个步骤。如果一篇文档具有100,000个记号,则这将成问题。幸运的是,可以在O(n)中计算全函数Conf(token)。窍门是做两遍动态编程,在每个方向上进行一次,以便根据到文档每个末尾的当前记号来计算在两个方向上的最优路径。这两遍在O(n)中进行。Conf(token)的量简单地是两个半路径得分之和。为了找到最可能具有区段的文档,区段分类器可以通过如下操作转变成常规的分类器:换言之,h'是包含至少一个区段的所有分割的概率之和。其返回在页面上存在至少一个区段的概率。VI.区段提取区段提取(AKA实体提取或EE)是识别对应于给定概念的文档中的记号区段的过程。作为示例,假设用户感兴趣于从网页自动提取地址及其构成部分(城市、州等),使得他或她能够在地图上快速将其找到。图11描绘了包含地址1112以及已经从网页提取出的地址的标记1114及对应的构成部分1116的网页1110的简化表示。用于区段提取的统计方法典型地使用训练数据来构建有限状态机(FSM),其能够用来对文档进行译码。在图12中示出了用于提取地址的示例的有限状态机。节点1210、1212和1214是FSM的状态,边缘1216、1218、1220、1222、1224和1226是状态间的过渡。每个短划线的过渡(1218和1216)“消耗”文档记号且将其标记作为地址的部分,而每个点划线边缘(1214和1224)消耗记号且将其标记为不是地址的部分。实线边缘是不消耗任何记号的极小(epsilon)过渡。给定一篇文档,FSM被“铺开”以创建能够用来计算文档的路径概率的对应的格图,如图13所示。图13包括格图1310、边缘1312、节点1314以及文档记号1316。为清晰原因,仅标记了一些边缘和节点。图13描绘了每个记号1316,其在用于该记号的可能的路径下面对齐。格图1310中的每个边缘1312具有权重,该权重是文档中的特征的函数。利用标准的译码算法(例如,Viterbi),能够识别经过格图1310的最高权重路径并且输出记号1316和过渡(边缘)1312的对应标记。还能够训练权重函数,使得能够提取任何给定路径的概率。边缘权重函数典型地是“靠近”关心的边缘的记号特征的函数,但是这不是必要条件。在下述的示例中,参考图14,假设存在两个记号特征,IsNumber和IsStreetType,它们被描绘为记号特征1410。如果记号1412对应于数字(“1401”和“第三”),则IsNumber为1,对于对应于街道类型的记号1412(“街道”、“ST”、“大街”、“AVE”),IsStreetType为1。于是,每个记号1412具有维度为2的对应的特征向量1414,如图14所示。再次参考图13,考虑格图1310中的实线“水平”边缘的边缘权重函数。该函数可以查看过渡之前的记号的特征以及过渡之后的记号的特征:Weight(Features)=θ1×IsNumber(tokenbefore)+θ2×IsStreetType(tokenbefore)+θ3×IsNumber(tokenafter)+θ4×IsStreetType(tokenafter).训练参数θi以最大化训练集上的某个损失函数。训练集典型地包含对应于沿着格图的路径的标记。直观地,训练算法试图学习加权函数,使得训练数据中的标记的路径具有比非标记路径高的总权重。训练数据还能够指定对经过格图的允许的路径集合的约束,而不唯一地标记单个路径。在上述的示例中,可以具有表明“1401”、“第三”和“大街”都是地址记号的标记;由于格图的结构,这不唯一地识别路径,而是将路径限制为中间三个记号上的短划线的消耗记号的边缘。A.分级状态机在大多数区段提取领域,关心的概念是分级的。在地址示例中,地址具有子概念,诸如街道,并且街道也可以具有子概念。该领域能够表示为“概念分级”,其中根节点表示关心的概念,子节点对应于相互排斥的子组件;相互排斥是指单个记号能够至多属于子组件中的一个(因此,“第三”可以是街道的部分或邮政编码的部分,但是不能是两者的部分)。能够以多种不同的方式分级指定有限状态机以简化表示。考虑其中利用模块来递归定义FSM的分级有限状态机(HFSM);模块内的过渡能够对应于“正常”状态过渡,或者它们可以是指过渡到子模块中。作为示例,图15示出了两个模块。左侧的模块“X”1510具有模块边缘1512,标记为“mY”,其过渡到模块“Y”1514,过渡边缘“tX”1516,其是消耗记号的正常过渡边缘。模块Y1514具有消耗记号的正常过渡边缘“tY”1518,以及不消耗任何记号的正常过渡边缘1520。通过递归地用子模块替代模块边缘1512,可以恢复标准的对应FSM,如图16所描绘的FSM1600所图示的。FSM1600包括过渡边缘“tY”1610、过渡边缘“tX”1612以及过渡边缘1614,其分别对应于图15的过渡边缘“tX”1516、过渡边缘“tY”1518以及过渡边缘1520。B.交互式构造区段提取模型为了构建用于一个领域的区段提取系统,典型地需要机器学习专家:(1)定义底层有限状态机的结构,(2)定义边缘的特征函数,这要求调整“窗口”的大小以考虑每个边缘以及使用哪些特征,以及(3)调整所得到的模型以使其满足应用的性能要求。而且,机器学习专家通常以固定标记训练集和测试集开始。下面描述的是允许领域专家在不需要机器学习专家的情况下构造实体提取模型的系统。用于构建区段提取器的交互式系统可以包括用于用户指定掌控记号是否属于或者不属于特定区段的约束的手段,以及用于存储这些约束作为标记的手段(标记能力);系统利用最新的用户输入、当前文档信息以及可训练函数(标记的交互传播,不重新训练)来交互式地重新计算以及显示貌似最合理的区段的手段;系统利用所有之前输入的标记(机器学习要求的,慢速非交互式训练)来训练可训练函数的手段;以及基于可训练函数计算的得分,系统自动选择接下来标记哪个示例的手段(主动标记)。C.概念分级通过本文所描述的技术,领域专家能够交互地提供对应于感兴趣领域的概念分级。在地址示例中,无需机器学习专家能够将地址分解成其构成部分。通过提供允许领域专家规定概念分级的用户接口,以及随后通过利用模块内的缺省结构将该分级转换成HFSM,和/或通过利用标记的数据来从候选结构中进行选择,能够在领域专家不知道或者关注状态机的情况下构建复杂的提取模型。此外,领域专家所使用的“语言”能够被延伸而允许他来提供机器内的附加约束。例如,领域专家可能想要陈述:地址可以至多包含一个邮政编码,或者任何地址必须具有街道部分存在。另外,领域专家能够对于一些概念构建提取器,然后“将其插入”作为另一任务的子概念。这对应于使HFSM中的模块对应于之前训练过的HFSM。在示例中,有的人可以在地址的上下文之外构建邮政编码提取器。然后,当指定地址的概念分级时,此人可以说,邮政编码子概念对应于之前的概念。当进行了这样的“插入”时,可以决定冻结子机器的权重,使得它们无需在新的领域中进行训练。用于构建区段提取器的交互式系统可以包括如下一个或多个:用户接口,其允许用户交互式地指定概念分级,并且用户可能不提供关于分级状态机的其他信息,并且系统使用缺省策略和/或模型选择策略来完成分级状态机的指定。用于构建区段提取器的交互式系统可以使得用户能够提供概念分级以及变换成分级状态机上的约束的关于领域的一个或多个附加约束,并且还可以使得附加约束是:子概念实例在其父概念的实例中至多出现一次(例如,地址可以至多包含一个邮政编码)。还可以有附加的约束,包括如下:子概念实例必须在其父概念的实例中出现至少一次(例如,地址必须包含州),在子概念上的局部顺序(例如,在地址中城市必须在州之前),以及两个同级子概念不能都出现在其父概念的实例中(地址不能包含美国邮政编码和加拿大邮政编码)。用于构建区段提取器的交互式系统还可以使得能够重新使用之前构建的概念模型(例如,某人构建了邮政编码提取器,你可以告诉系统,你想要使用同一提取器,但是在你的地址提取器的上下文中)。也可以是,对于包含在模块内的边缘,重新使用的提取器的参数被冻结(即,边缘权重函数被固定),但是其中,对于上下文,训练该模块的进出过渡边缘上的边缘权重函数。D.标记模块化/二进制标记当标记诸如地址的分级概念时,对于每个文档都标记地址的所有构成部分是繁重的。对于领域用户而言,更容易的是一次集中于分级上的一个节点(“地址”或“邮政编码”),快速标记多个文档。标记模块化,如本文针对标记所使用的,是指标记器聚焦,即一次标记/优化一个模块的能力。注意,因为所有的模块在HFSM中连接在一起,所以对于一个模块的改进和标记同时能够改进其他模块;标记模块化具体地用来表示用户聚焦的模块化。如本文所使用的,如果用户要引出的标记的特征在于模块上的“入”或“出”标记,则HFSM中的模块据称为二进制的。特别地,标记为“入”的记号是如下限制:“消耗”记号的边缘必须被给定模块或其后代之一所包含(例如,如果记号被标记为“地址”,则其可以是其子概念中的任一个或暗示“地址:其他”)。类似地,标记为“出”的记号是如下限制:“消耗”记号的边缘不能被给定模块或其任意后代所包含。非二进制HFSM将是其中附加标记为可用的非二进制HFSM。例如,假设“街道”模块消耗了两个不对应于子模块Street1和Street2的不同的标记。然后,标记工具可能能够从用户引出记号是哪种类型的街道。当然,这可以转换成等价的二进制标记IsStreet1和IsStreet2。当HFSM中的每个模块是二进制时,则二进制标记工具能够用来在每模块的基础上引出HFSM的标记。图17描绘了用于地址的二进制标记的系统的示范性的屏幕截图1700。在左侧显示出概念分级1710,具有根节点1712(“地址”)以及三个子节点1714(“街道”、“城市”和“邮政编码”)。如所描绘的,用户选择了根节点1712。在对应的HFSM中,存在未显式地示出给用户的子概念“地址:其他”,其允许机器接受不属于三个子节点的地址记号(例如,标点、填充文本等)。作为搜索结果返回的网页1716显示在右侧。要对页面1716上作为地址的部分的记号做标记,首先选定根节点1712,用户点击第一记号1718(“15710NE24THST.SUITEE”)并且拖曳到地址的最后一个记号1720(“98008”),从而选择整个地址部分。图18描绘了来自图17的搜索结果的部分,并且通常称为搜索结果1800。图18图示出整个地址部分1810的用户选择。注意,获知作为地址的部分的记号不提供关于哪个记号是街道、城市或邮政编码的显式标记。用户随后点击图17的提交按钮1722,向其显示新的文档。该显示的新文档可以基于用户提供的显式搜索项(例如,包含“98008”的页面),或者基于使用现有模型的主动学习算法(参见下面)。在标记多个文档之后,系统训练能够被用来“预标记”地址的模型。进而,预标记能够考虑约束以快速引出标记;如果所提议的标记不正确,则用户可以点击具有错误标记的单个记号,并且该约束能够“传播”到文档中的其他记号。用户能够通过点击概念分级中的对应节点来改变要标记哪个概念,诸如“街道”、“城市”或“邮政编码”。因此,如果用户接下来想要标记城市,则他可以点击城市节点并且继续标记文档上的地址内的城市,如图19所示。图19描绘了与图17可比较的用于地址的二进制标记的系统的示范性的屏幕截图1900,并且通称为屏幕截图1900。在左侧显示出概念分级1910,具有根节点1912(“地址”)以及三个子节点:子节点1914(“街道”)、子节点1916(“城市”)以及子节点1918(“邮政编码”)。如图所示,用户已选定“城市”节点1916。作为搜索结果返回的网页1920显示在右侧。如图所示,用户已选择记号1922(“BELLEVUE”)作为城市。参考图20,该图描绘了与屏幕截图1900的部分可比较的示范性的屏幕截图2000,注意,当用户将记号标记为“城市”时,这暗指它们是地址的部分。如果用户在提交标记之前从城市变成地址,则他将看到他的城市标记已经暗示了地址标记,如图20所示。现在已选根节点2010(“地址”),记号2012(“Bellevue”)仍被选定,表明其与标记“地址”相关联。用于构建区段提取器的交互式系统可以允许领域专家提供与概念分级中的节点相关联的二进制(入/出)标记。E.作为特征的区段提取模型以及分类模型一旦已经构造了实体提取模型,其能够作为输入被用于另一实体提取器的边缘权重函数。例如,对于文档中的每个记号,可以使用EE模型来预测该记号是地址的部分的概率。该概率或者该概率的某函数随后可连同其他“标准”特征值被用作记号特征值之一。实体提取模型还能够用来创建用于分类模型的文档级特征。例如,可以构建具有如下特征的餐馆页面分类器:概率>0.5,地址存在于页面上。实体提取模型还可以使用分类模型作为特征。用于构建区段提取器的交互式系统可以使用预先构建的区段提取模型和/或预先构建的分类模型来生成区段提取模型的输入特征。F.区段提取阅览面板当已经构建了区段提取模型时,查看该模型如何在用户已经标记的文档上进行预测是有用的。预测标记与实际标记之间的失配可以表明标记错误或者能够表明添加新特征。图21示出了利用识别日期的提取问题来完成该工作的阅览面板的示范性屏幕截图2100。图21包括文档文本2110、记号2112(“02/21/07”)、记号2114(“JANUARY”)以及记号2116(“BY”)。由记号2112下面的下划线2118来指示用户识别的标记。通过置于记号2112、2114和2116上的矩形的三个上侧指示模型预测2120。如图21所示,模型已经正确地识别“02/21/07”作为日期,但是错误地标记了“JANUARYBY”作为日期。虽然“JANUARY”是月份,但是在所示的上下文中,其不是实际日期的部分。图22示出了在用户已经标记的文档中的模型预测的示范性的屏幕截图,该图描绘了如下情形:模型正确地识别了记号2210(“JULY23”),但是将记号2212(“7-23-12”)错认为日期。用于构建区段提取器的交互式系统可以具有同时借助现有模型的预测来阅览标记的接口。G.迷你文档诸如网页或图书章节的文档可能非常长。结果,“标记一个文档”可能仅仅因为标记器需要扫描整个文档而繁重。为减轻该问题,文档可以分割成多个可管理的子文档,但是不会丢失正标记的区段的上下文。参考图23,该图示出了示范性的标记工具的屏幕截图2300,描绘了称为迷你文档2310的文档的高亮部分,其由在中间的“明亮”矩形构成。迷你文档2310周围的上下文对于标记器而言可见,但是在一个实施例中,当用户提交标记时,仅迷你文档2310内文本的部分被提交给系统。用户能够通过点击-拖曳其边界来改变迷你文档2310的大小。可选地,如果用户标记迷你文档2310外的文本的区段,则迷你文档2310可以扩展而包含该文本。可以通过多种方式来初始化迷你文档。例如,给定现有的模型,能够识别感兴趣的可能的(或者可能为不确定的)地址,然后定义包含该记号区段的迷你文档。用于构建区段提取器的交互式系统可以将输入文档分段成较小的子文档。另外,可以基于预先存在的区段提取模型或者基于到特定记号或记号特征的接近度来自动初始化子文档。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1