人机交互学习中的交互区段提取的制作方法

文档序号:17063227发布日期:2019-03-08 18:32阅读:232来源:国知局
人机交互学习中的交互区段提取的制作方法
实施例涉及人机交互学习中的交互区段提取。
背景技术
:非常大的数据的集合可能难以搜索和/或分析。例如,在网络的情况下,数据的一大部分是无结构的并且值被锁在数据本身中。存储服务提供商的网页是不够的。为了让该信息有用,该信息需要被理解。一个数字字符串取决于上下文可能是模型号码、银行账户、或者电话号码。例如,在滑雪板产品的上下文中,字符串“长度:170,175,180cm”指的是3种不同的滑雪板长度,而不是1700千米的滑雪板长度。不正确地解释数据可能得到没用的信息。作为示例,如果用户将两个词“mtor”和“stock(股票)”输入到因特网搜索引擎中,并且结果主要由与药物mTor相关的网页构成,搜索引擎未能将搜索认作为股票报价查询。作为另一示例,如果用户将两个词“seattle(西雅图)”和“sushi(寿司)”输入到因特网搜索引擎中,并且结果主要由与西雅图的酒店相关的网页构成,则搜索引擎未能将搜索认作为餐馆查询。虽然因特网搜索引擎经常针对标题查询和文档作出合理的工作,但是精确性快速地下降至很低,因为信息没有被搜索引擎自动理解。技术实现要素:如果查询和网页可以被自动分类到有用的类别中,例如股票报价或餐馆,以及如果这些分类得分被用作相关性特征,则搜索结果的相关性可以被显著提升。周密的方法可能需要构建大量分类器,与多种类型的信息、活动和产品相对应。分类器的数量可能进一步乘以语言的数量和上下文(查询、网页、广告片段、产品提要等等)的数量。所期望的是,将计算机在分类和图式化任务中的精确性带到人类层次,并且使普通人轻松地创建他们自己的计算机克隆以大量地执行这种任务。作为一种示例,提供被最优化用于允许在大数据集上在数小时内创建分类器和图式器的工具。当分类器和图式器被在数十亿条目上练习时,分类器和图式器可以通过添加可用的元数据来显露数据所固有的值。这种工具的一些应用包括搜索、广告、和商业。本文使用的术语图式化指的是识别并且填充图示的域的动作。例如,食谱的图示可以由四部分构成:标题、描述、成分和指导。食谱图式的网页的图式化是将页面分割成食谱图式的一个或多个实例并且相应地填充域的动作。在尝试理解查询、网页和广告中,因特网搜索引擎已构建数百个分类器和实体提取器。不幸的是,当前方法的效力受到机器学习专家的数量、程序员的数量和任务的复杂度的限制。人类在从数据中提取语义意义方面是杰出的。当数据为人类或由人类创作时这尤其是真实的。例如,人类可以容易地标注(或者分割)网页、查询或产品提要。不幸的是,人类在大规模地做这些事情方面是糟糕的。以每个页面十秒的速度,对于人来说一生时间将不够过滤一亿网页以识别所有与给定主题相关的页面。计算机具有恰好相反的能力。计算机在语义理解方面是令人尴尬地不佳的,而在大规模地做事情方面是杰出的。本文描述的方法之后的哲学是构建平衡人类和计算机的优点的高度交互式以及直观的系统。“高度交互式”意指由人类输入的标签或特征应当对计算具有直接的影响。在数秒之内,标签或特征应当影响犯了或避免了哪些错误,下一个应当标注哪个条目,用户应当注重哪个特征,以及应当添加或删除图式的哪个域。“直观”意指用户应当理解用户的动作的效果并且如果在不需要机器学习或编程专业知识的情况下如何实现用户的目的。该方法需要来自计算机和人类的循环。循环可以紧凑地通过快速机器学习“修正”来干预。人类在引导计算机并且反之亦然。效率的另一方面是以其他人的工作上为基础进行工作的能力。网络爆炸的重要贡献者是“查看源代码”和复制-粘贴能力。在机器学习中,复制-粘贴能力来自以下事实:所训练的分类器可以用作其他的分类器的特征。通过创建可搜索以及记录的分类器资源库,人们能够以彼此的工作为基础进行工作。这均适用于分类器和图式器。附图说明图1根据本发明的实施例描绘了示例性运行环境;图2根据本发明的实施例描绘了表示可搜索数据条目的语料库的示例性数据集;图3根据本发明的实施例描绘了示例性概率图;图4根据本发明的实施例描绘了示例性主动标注探索信息流;图5根据本发明的实施例描绘了示例性采样分布;图6根据本发明的实施例描绘了示例性主动标注探索缩放的概要;图7根据本发明的实施例描绘了示例性分类函数;图8根据本发明的实施例描绘了示例性界面;图9根据本发明的实施例描绘了街道地址的示例性分割;图10根据本发明的实施例描绘了分割器的示例性格图表示;图11根据本发明的实施例描绘了从网页提取的地址的示例性部分;图12根据本发明的实施例描绘了用于提取地址的示例性有限状态机;图13根据本发明的实施例描绘了用于计算路径概率的示例性有限状态机格图;图14根据本发明的实施例描绘了示例性格图边缘权重函数;图15根据本发明的实施例描绘了示例性有限状态机模块;图16根据本发明的实施例描绘了示例性有限状态机;图17根据本发明的实施例描绘了用于地址的二进制标注的系统的示例性屏幕截图;图18根据本发明的实施例描绘了用于地址的二进制标注的系统中的示例性搜索结果;图19根据本发明的实施例描绘了用于地址的二进制标注的系统的示例性屏幕截图;图20根据本发明的实施例描绘了用于地址的二进制标注的系统的示例性屏幕截图;图21根据本发明的实施例描绘了标注审阅面板的示例性屏幕截图;图22根据本发明的实施例描绘了用户标注文档中的模型预测的示例性屏幕截图;以及图23根据本发明的实施例描绘了标注工具的示例性屏幕截图。具体实施方式本文描述的方案产生若干工程和科学挑战,它们将在下文中进行论述。所述挑战包括:a)主动标注探索b)自动正则化和冷启动c)利用条目的数量和分类器的数量来缩放d)主动特征化e)分割和图式化在第一方面,实施计算机可用指令的计算机可读介质被提供用于实现由用户针对机器学习系统进行的区段提取的方法。存储数据条目集合,其中每个数据条目包括多个标记。提供区段提取器,所述区段提取器可训练用于将数据条目中的区段识别为概念示例,其中区段包括一组标记。在用户界面上,呈现表示概念的概念分级,其中概念分级包括是概念的构成部分的分级的子概念,并且其中子概念的一个或多个是用户可选择的,以用于将数据条目中的标记标注为选定子概念的示例。接收概念分级中的子概念的用户选择。区段提取器被用于从多个数据条目中选择第一数据条目,所述第一数据条目被预测为包括与概念分级相关联的概念的示例,其中所述示例由第一数据条目中的一个或多个标记来表示。显示第一数据条目,其中显示第一数据条目包括呈现一个或多个预标签的第一集合,所述一个或多个预标签的第一集合将一个或多个标记的第一集合识别为选定的子概念的预测的肯定示例。接收所显示的第二数据条目中的第一标记的用户选择,所述选择将第一标记标注为选定子概念的肯定或否定示例。一个或多个预标签的第一集合利用将一个或多个标记的第二集合识别为选定的子概念的预测的肯定示例的一个或多个预标签的第二集合来进行替换。至少基于将第一标记标注为选定子概念的示例来训练区段提取器。可以显示来自多个数据条目的第二数据条目,其中第二数据条目可以借助于用户提供的搜索查询来进行选择。可以接收所显示的第二数据条目中的第二标记的用户选择,所述选择将第二标记标注为选定的子概念的示例。可以至少基于将第二标记标注为选定的子概念的示例来训练区段提取器。区段提取器可训练用于将区段中的标记识别为与概念的组成部分相对应的子概念的示例。数据条目可以是文档,并且标记可以是词。所显示的第一数据条目或所显示的第二数据条目中的至少一个可以划分成部分,并且该部分可以被指明包括概念的示例。选定的第一标记或选定的第二标记中的至少一个可以在所指明的部分中,其中在所指明的部分之外的标记不用于训练区段提取器。所指明的部分可以由用户重新调整大小。当用户选择在所指明的部分之外的标记时,所指明的部分可以被调整大小以包括选定的标记。一个或多个预标签的第二集合可以基于约束来识别,所述约束从将一个或多个标记标注为选定的子概念的肯定或否定示例的用户输入中确定,并且将一个或多个预标签的第一集合替换为一个或多个预标签的第二集合可以在所述基于第二标记的标注来训练区段提取器之前发生。在第二方面,实施计算机可用指令的计算机可读介质被提供用于实现由用户针对机器学习系统进行的区段提取的方法。存储数据条目的集合,其中每个数据条目包括多个标记。可以提供可训练用于将数据条目中的区段识别为概念的示例的区段提取器,其中区段包括一组标记。在用户界面上,呈现与概念相关联的概念分级,其中概念分级包括是概念的构成部分的分级的子概念,并且其中子概念中的一个或多个是用户可选择的,以用于将数据条目中的标记标注为选定的子概念的示例。接收概念分级中的第一子概念的用户选择。显示来自多个数据条目的被预测为包括与概念分级相关联的概念的示例的数据条目,其中该数据条目借助区段提取器来进行选择,其中通过数据条目中的一个或多个标记来呈现示例,并且其中所显示的数据条目包括预标注,所述预标注将一个或多个标记的第一集合识别为选定子概念的预测的肯定示例。接收所显示的数据条目中的第一标记的用户选择,所述用户选择将第一标记标注为选定第一子概念的肯定或否定示例。预标记基于第一标记的用户选择来重新配置,其中所重新配置的预标记将标记的不同集合识别为选定的子概念的预测的肯定示例。接收概念分级中的第二子概念的用户选择。接收所显示的数据条目中的第二标记的用户选择,所述用户选择将第二标记标注为选定的第二子概念的肯定示例。至少基于对第一标记和第二标记的标注来训练区段提取器。区段提取器可训练用于将区段中的标记识别为是概念的组成部分的子概念的示例。可以接收将预标注的标记标注为选定的第一子概念的否定示例的预标注的标记的用户选择。可以至少基于将第一标记和第二标记标注为肯定示例以及将预标注的标记标注为否定示例来训练区段提取器。显示数据条目可以包括将所显示的数据条目划分成部分以及指示包括概念示例的部分,其中在该部分之外显示的标记不用于训练区段提取器。在训练区段提取器时,区段提取器可以被用于预测由用户先前标注的数据条目中的概念的示例。可以显示先前标注的数据条目,并且可以呈现用户提供的标签和所预测的示例的比较,其中呈现比较包括A)在数据条目中显示用户提供的标签,以及B)显示表明所预测的示例的预标签,其中预标签能够区分于用户提供的标签。在第三方面,实施计算机可用指令的计算机可读介质被提供用于实现由用户针对机器学习系统进行的区段提取的方法。可以存储数据条目的集合,其中每个数据条目包括多个标记。可以提供可训练用于计算数据条目中的区段是概念的示例的概率的区段提取器,其中区段包括一组相邻标记。呈现用户界面,所述用户界面被配置为接收A)识别概念的用户输入,B)指定概念分级的用户输入,所述概念分级包含概念和作为概念的组成部分的子概念之间的分级关系,以及C)识别子概念的用户输入。接收识别概念的用户输入。接收指定概念分级以及概念和子概念之间的分级关系的用户输入。接收识别子概念的用户输入。在用户界面上呈现概念分级,其中呈现概念分级包括呈现根据分级关系布置的子概念,其中子概念是用户能够选择的,以用于将数据条目中的标记标注为选定的子概念的示例。区段提取器被用于识别被预测为包括概念的示例的多个数据条目。接收概念分级中的子概念的用户选择。对于所识其它数据条目的一个或多个而言,A)显示数据条目,B)将一组一个或多个标记在所显示的数据条目中标注为选定的子概念的预测的肯定示例,C)接收数据条目中的标记的用户选择,所述用户选择将该标记标注为选定的子概念的肯定或否定示例,以及D)预标记被重新配置,使得不同组的一个或多个标记被预标注为选定的子概念的预测的肯定示例。至少基于由用户在所识其它数据条目的一个或多个中标注为选定的子概念的肯定或否定示例的一个或多个标记来训练区段提取器。将所显示的数据条目中的一组一个或多个标记预标注为选定的子概念的所预测的肯定示例可以包括将概念分级映射到分级状态机。将一组所显示的数据条目中的一个或多个标记标注为选定的子概念的所预测的肯定示例可以包括将分级状态机用于生成用于每个数据条目中的标记的过渡图以及确定过渡图内的边缘权重,所述权重指明通过过渡图的路径,所述路径具有与通过过渡图的其他的路径相比更高的概率成为概念的示例。重新配置预标注可以包括基于将标记标注为选定的子概念的肯定或否定示例的用户选择来约束通过过渡图的路径。显示数据条目可以包括将所显示的数据条目划分成部分,并且指明包括选定的子概念的所预测的肯定示例的部分,其中在该部分之外所显示的标记不用于训练区段提取器。已简要地描述了本发明的一些方面的概览后,下面描述适于在实现本发明的一些方面中使用的示例性运行环境。首先尤其参考图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”标注为地址的一部分。主动标注探索通过使用未标注的数据(在其上尚未执行标注过程的数据)的大的集合来执行,所述未标注的数据是从真实的分布中抽取的。在每个标签(或数个标签)后,分类器利用新标签来重新训练,并且大的未标注的数据集(例如,数千万或数亿未标注的模式)被重新计分。该系统于是根据模式的得分来选择下一个要标记哪些模式。为了让该方法起作用,需要解决冷启动问题(即,寻找肯定示例的“种子”)。一方面,集成的交互标记系统包括标记组件、训练组件、计分组件、采样组件、和搜索引擎组件。集成的交互标记系统也可以包括一个或多个其它特征,例如,其中搜索引擎基于关键字搜索;搜索引擎将特征得分用作过滤器;训练和计分自动进行而不由操作员触发;或者其中计分和采样可以异步地进行。另一方面,集成的交互标注系统包括标注组件、训练组件、计分组件、采样组件、和采样组件,其中标注可以作为服务卸下并且标注质量通过泛化增益来测量。集成的交互标注系统也可以包括其它特征,例如其中多类别标注包括多个二进制标注;或者其中多个样本通过使用系统生成的预标签而近似同时被标注,并且校验模块被包括在系统中以审阅根据置信而分类的近似标签。考虑构造用于网页的分类器的示例(所述方法将适用于查询、图像、或其它类型)。假设用户访问10亿网页,在本文中称为工作集合。这些网页可以通过重要性(例如,高的页面排名)而进行偏离,但是所述网页不是通过意图构造的分类器的本质而进行偏离。这些页面既没有被标注也没有被排序。假设存在肯定和否定示例的小的并且被偏差的集合,并且假设分类器可以利用具有合理泛化性能的这些示例来训练。(下面论述利用具有良好泛化性能的小的数据集合来训练分类器的“冷启动”挑战。)训练的结果被称为“计分器”。计分器具有反映所述计分器在其上训练的集合的版本号码。只要第一计分器是可用的,则工作集合的“计分”开始。该过程需要大量计算能力。作为计分的结果,条目可以根据这些条目是“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由用户提供并且将语义意义提供给由用户在训练期间识别出的标签。给定新训练数据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、倾向一方的数据和可达性主动学习经常被视为增加在具有固定数目特征的固定大小的集合上标注的效率的手段。在典型的机器学习设定中,目的是提高精确性。本文论述的重点是不同的,因为该重点涉及提供探索工具,该探索工具帮助用户添加标签和特征以产生有价值的分类器或图式提取器。利用具有倾向一方的类的大数据,仅仅一小部分数据将会被观察,并且肯定或否定示例的一些珍品可能永远不会被发现。当所述珍品被发现时,也可以假设分布已改变。当分布在运行中被发现时,机器学习所依赖的基本假设——针对训练和测试集合的IID采样——被违反。如果肯定示例的数量是T并且数据的大小是N,则在未标注与N/T成比例的数目的模式的情况下不能估计检索率。如果T<<N,则可能永远都不知道检索率。全体分布上的学习收敛性不能被证明。然而,整体分类器进展可以借助于称为可达性的量度来测量。如本文所定义的,可达性是被分类器分类为肯定的肯定示例的数量。令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))和科学挑战(探索量度、采样策略、修订训练,以及其他)。ALE算法处理这些挑战。Ⅱ.ARCS(自动正则化和冷启动)挑战为了良好地工作,ALE算法需要若干标签、若干特征、以及早期分类器的好的泛化属性。这需要解决两个问题。第一,需要肯定和否定示例,以及启动特征。这是冷启动问题。这是困难的,因为在倾向一方的分布中,肯定(或者否定)示例可能是极度稀少的。例如,如果肯定示例少于一百万分之一,则寻找足够的肯定示例以使分类器运行可能是耗时的(在使用随机采样的情况下)。在没有特征或工作的分类器的情况下,ALE算法是没有帮助的。第二个问题是自动正则化。在仅具有若干标签的情况下,分类器需要被大量地正则化以避免过度训练。正则化需要被自动调整使得该算法的复杂度与标签的增加的数目匹配。这可以称为“热启动”问题。A.冷启动可以如下总结该问题:假设相同类型T的通用示例的大的数据库已被输入到系统中,如何区分这些示例?为了能够训练,需要(将条目彼此区分的)特征,以及需要一种寻找肯定和否定示例的手段。该问题通过提供实现IScorer<T>接口的模块来解决。IScorer模块可以由系统提供或者由工程师输入(例如当收集数据时)。实现那个接口的模块可以计算函数T→ScoreType,其中ScoreType是由系统针对数据库中的所有条目所理解的类型(例如0和1之间的浮点数)。于是得分可以在一些或所有条目上进行计算,并且被查询和分类。这允许操作员寻找每个类的第一示例并且将所述第一示例标注为该类别。IScore模块也可以如分类器的第一特征那样使用。下一循环通过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个示例来计分方面比较差。当利用少到每个分类一个或两个示例来训练时,线性分类器产生非常合适的分类器和计分器。如果第一分类器和第二分类器都被训练并且利用交叉验证来测量,则自动决定要使用哪个分类器非常容易。在对于要被比较的两种分类器来说存在足够的示例的这一点上,操作员不能够容易地区分哪个分类器更好(两种分类器具有相同的泛化性能)。这表示利用适当的计时在具有不同正则化的分类器之间切换可以透明地、自动地完成,并且不用操作员知道。正则化本文解释为将可学习函数的家族限制为更可能泛化的函数的子集。这可以在输出层次、在架构层次、或在输入层次完成:a)输出(标签生成):通过生成或变更标签,可以控制什么函数是通过训练能够实现的。该约束可以被用于正则化。例如,替代于在具有标签的集合上训练,生成新集合,在该新集合上通过使用先验知识来提供标签。对于网页来说,这可以通过使用点击图以寻找相似的页面并且为这些页面分配相同的标签来扩展肯定(或否定)示例来完成。对于图像而言,这可以通过运用变换(例如,旋转或平移)并且假设得到的图像具有与这些图像起源于的图像相同的标签来完成。在两种情况下,集合的大小和扭曲的强度可以调整。每个正则化值定义分类器。获胜的分类器通过使用交叉验证来挑选。b)架构:可以通过改变学习算法(例如,SVM、神经网络、决策树)或者容量(capacity)参数(权重延迟、训练时间、隐藏单元的数量)来影响可学习函数的家族。c)输入:可以改变输入特征。通过改变输入特征的区别能力,可以实现不同层次的正则化。例如,可以具有计算网页的多种有用属性的系统特征的集合。通过控制这些输入特征何时可用,可以自动调整容量和正则化。对于由(多个)输入特征导致的容量的示例来说,考虑测量网页的大小的对数的特征(或特征的集合)。该特征可能具有有用的信息,但是太早使用该特征是错误的。当所标注的示例的数量低时,每个示例可以具有不同的长度,并且可以具有足够的容量来完美地在训练集合上对肯定和否定示例进行分类。于是得到的计分器将启发基于页面的长度来标注页面,这可能是浪费时间的。通过细心地选择输入特征,可以构造具有不同正则化属性的分类器家族。这可以被视为“反正则化”的示例。容量被有选择地增加。Ⅲ.缩放挑战ALE算法在两种不同的方向上缩放。一种是查询、计分、以及训练作为条目数量的函数的能力。第二种是利用由贡献者提供的分类器和图式器的数目来缩放的能力。这一点的示例性总结在图6中示出并且一般称为缩放600。A.利用条目的数量缩放图6中最左的列将多个特征描绘为表示利用条目数量来缩放的条目610(“ITEM1”…ITEMn”)。利用条目的数量来缩放是计算上的挑战。为了让ALE变得有效,需要三种类型的计算:训练、计分和查询。训练可以在单个机器完成——线性分类器可以在1M+个示例上在若干秒内训练——或者当同时训练多个分类器时在多个机器上完成。计分是可以分布在多个机器上的本质并行的任务。典型的“采样”最经常是按得分进行的过滤操作,例如,返回X的概率在0.70和0.80之间的条目。这种过滤可以利用映射-规约(map-reduce)来完成,但是它应当是响应性非常强的,因为系统的用户将等待要标注的下一个条目。这启示针对过滤操作优化的分布式的存储器中的列存储。B.利用分类器的数量缩放图6中的三个最右的列描绘了被用于对条目610中的每个进行计分的多个分类器612(“C1”…“C2”)。利用分类器或图式器的数量来缩放是一种人机交互(HCI)挑战。机器学习专家可以构建几十个分类器。招募和训练100个机器学习专家是困难以及昂贵的。构建10000个分类器在不改变策略的情况下是不切实际的。ALE允许公司快速地构建10000+个高度表现的分类器和/或图式器。为了大规模地构建分类器,使用三种事物:a)可访问性:减少需要用于构建分类器的专业知识。不需要机器学习背景。b)动机:使得构建分类器容易、有趣、以及有魔力。c)效率:在操作员的时间方面极大地提高构建分类器的效率。可访问性产生能够构建分类器的一个大的人池。动机增加在该池中的人构建分类器的动机。效率使生产力增加。在下面最后论述动机,因为动机从UX视角包括另外两个。1.可访问性一般人不理解机器学习。如果系统需要机器学习专业知识,则可用的机器学习专家的数量变为瓶颈。为了克服该瓶颈,界面可以被限制为不需要工程技能的仅仅若干动作。该界面具有阻止与提高泛化不兼容的行为的保护。操作员的动作应被限制为下列动作:a)创建新的分类器/图式器任务b)标注c)特征化o创建术语字典o寻找并且选择来自现有分类器的特征。注意“训练”、“计分”和“正则化”不是标准动作。这些计算隐式地以及透明地发生。作为这些活动的结果,操作员将观察到被呈现给该观察员的错误的类型的改变。这对提高准确性以及何事物将对下一次准确性提高有贡献有影响。类似地,将提取新的模式以用于标注。这对提高检索率(以及在一些情况下对准确性)和何事物将将对下一次检索率(或准确性)的提高有贡献有影响。将存在一些进展量度,类似由系统找到的肯定或否定示例的数量的准确性或估计量,或者在分类器的类别边界附近的改进率。量度将用误差显示以鼓励数据集中方法进行训练。自动特征的使用局限于鼓励操作员取而代之提供有价值的概念和标签。为了显式地阻止过度训练,测试集合不断地循环使得固定单个的误差没有好处,相反地通过固定误差的分类表明好处。操作员开始可以不具有机器学习背景,但是UX被最优化以训练操作员以提高泛化。2.效率效率可以在操作员花费多少能量以创建具有给定准确性和检索率的分类器方面来测量。该定义可能是有问题的,因为不知道检索率是多少(在具有少量肯定示例的大的数据集合上,可能很难知道存在多少肯定示例)。甚至类别定义不能够被良好地定义直到发现一些示例:讣告是主页吗?鸡尾酒混合是烹饪食谱吗?这些问题可能仅在构建分类器期间出现。做出两个假设:首先,假设比较两种分类器并且毫无疑义地确定一个好于另一个(更好的检索率,更好的准确性)是可能的。第二,假设改进分类器可以包括具有多个“修正循环”。修正循环被定义为操作员的输入,所述输入是计算的函数,随后是作为操作员的最新的输入的函数的计算。在每个循环中,问题以三种方式中的至少一种被修正:类别定义改变,要标注的示例的分布改变,或者输入空间改变。所述问题的这些快速并且有针对性的修正不同于传统的机器学习。在传统的机器学习中,分布通常是恒定的(在固定的训练集合上优化特征)。甚至在主动学习论文中,进展在固定的分布上测量:重点在于减少标签的数量以在固定的分布上实现给定误差率,而不是探索并且发现分布。真实的循环(或者修正)典型地花费数月。相反,在一天内具有数十个或数百个循环的能力完全地改变了构建分类器的效率。循环效应加剧。例如,当分类器作为循环的结果变得更好时,分类器在为下一个循环寻找肯定或错误肯定示例方便变得更好。本文论述的系统中,循环以三种风格出现:主动标注探索(ALE)、主动特征化、和字典细化。第一个、ALE已在先前部分中作出论述。主动特征是为了允许分类器在肯定(或否定)和错误肯定(或错误否定)之间区分的目的而创建特征的活动。类似于矫正分类器的“色盲”。主动特征化是下一部分的目标。循环的最新形式是特定于概念的定义。概念在本文中定义为一组词或者字典,所述一组词或字典在词被视为一个组(例如,车品牌的概念被以下词的列表定义:“Honda”、“Ford”、“Peugeot”等等)时定义概念。字典细化的循环从操作员给出肯定或否定示例得到,并且计算从这些示例中提供概念泛化候选。操作员于是可以纠正泛化(通过删除词或者添加新的词)等等。字典细化循环在稍后部分中论述。每个循环需要繁重的计算,跟着的是来自操作员的有针对性的语义输入。从计算的角度来看这可能是没有效率的,但是在操作员的角度来看这是有效的。操作员仅需要在系统不能适当地泛化时工作。组织总架构(主动标注和主动特征化)以使这些失败提早出现。3.动机可访问性开放了能够写分类器的人的数量。然而,这是不够的。需要某种“魔力”以生成病毒式采纳。当前的机器学习工具由工程师针对工程师来进行设计。这些工具是没有魔力的。该部分是关于通过细心地设计UX来增加构建分类器的动机。对于大部分人来说,机器学习是复杂的并且神秘的。构建以下用户界面是个挑战,该用户界面允许机器学习无知的操作员教导机器学习系统以执行识别和图式化任务。下面描述的是简单的UX原则,这些原则被设计以使系统能够被理解以及值得信赖:a)透明度:系统的状态是由操作员可访问的并且直接能够实施的(推论:没有隐藏状态/变量)。b)响应性:每个操作员动作产生及时以及可视的效果。c)进展:总是存在从当前状态更靠近地移动向所期望的状态的清楚动作。透明原则使得系统较少地神秘和危险。响应性原则允许用户具有及时的关于用户的动作的反馈并且学习用户的动作的“推演”。进展原则识别达到所期望的状态要遵从的方向。为了能够学习,需要来自操作员的标签和特征。如果标签和/或特征改变系统的状态,则第一原则暗示标签和特征应当是可访问的以及可编辑的。这具有若干暗示:a)由操作员输入的标签可以被查看并且编辑。撤销是微不足道的操作。b)由操作员输入的特征可以被查看和编辑。撤销是微不足道的操作。c)系统生成的标签和特征被高度阻止。这些标签和特征有损透明性。d)系统的性能应当与输入标签或特征的顺序无关。顺序依赖性不可能容易地可查看以及可实施。e)标签和特征的相同集合应当总是产生相同的结果。学习是半确定性函数。如果学习算法对特征的微小变化敏感,则第一原则略微被违反(操作员可能不能够区分输入变差。)f)数据应当被“浸洗”(pickle)。例如,对于网页中的链接来说当链接过期时具有能够改变系统的行为的悬空指针是不期望的。第一原则将偶尔被违反,但是希望这将不会影响操作员对系统的信任。例如,某些特征可能被自动提供作为系统服务,例如,同义词,误拼写,点击图等等。可以冻结这些功能,但是可能更好的是冻结这些服务的语义并且定期以及透明地(以可预测性作为小的代价)更新特征。如果分类器学会依赖特征的语义意义,则特征的定期更新将改进分类器。令人惊讶地,甚至可以在系统中引进人为噪声以驱动机器学习仅提供统计保证而不是单一的模式保证的概念。得到的非确定性不影响整体表现,但是阻止新手用户过度训练。响应性原则允许用户快速地学习如何操作所述系统(反馈)。响应性原则也通过将动作转化成进展来产生奖励。每个标签和每个特征应当创建可视化上更好的分类器。因为三个原因这是困难的:在每个动作之后重新训练分类器是昂贵的。利用每个新分类器来对所有条目进行重新计分甚至是更昂贵的。并且最后,很多操作员干预可能是必需的,以使分类器表现出可视的并且统计上有意义的改进。如果探索显著地改变分布,则全局量度可以以不可预测的方式被影响。这些挑战由于重新训练和重新计分应当是透明的事实而加剧。在没有无限的资源的情况下,设计原则的及时性和可视性方面将被折中(例如,通过不在每个操作员输入上重新训练)。这可以通过增加专用于训练和计分、以定期以及频繁的间隔(例如每50个标签)重新训练并且利用局部计分(在ALE算法中,查询/过滤在不用等待每个条目被计分的情况下返回)来缓解。不令人吃惊地,响应性原则最好通过增加资源(计算能力)的数量以及聪明的管理(局部计算)来解决。a.错误分类进展原则暗示操作员总是知道何时工作完成以及做什么以使系统变得更好。这两件事中没有简单的。何时应当停止改进分类器?如何知道怎么改进分类器?为了帮助回答该问题,系统产生的误差被分类成三个桶:·不定性误差:标注者不能同意标签是什么的误差。·色盲误差:系统不具有必要的输入信息以将模式与属于错误的类的其它模式进行区分的误差。·无知误差:系统具有输入信息以将模式与错误的类的模式进行区分,但是不具有足够的信息以能够学习输入和模式类别之间的关系。误差的这种分类假定系统具有学习问题的容量并且被适当地正则化。该假设不约束用户界面。如果系统不具有学习问题的容量,则将会有以下类型的误差:·低容量误差:系统具有必要输入以及必要标签以正确地分类但因为低容量而不能够这样做的误差。不需要关心这种情况,因为学习问题能够通过添加良好的特征而得以简化,并且对于大部分机器学习算法来说,添加特征会增加容量。因此,作为特征限制的结果仅遇到该误差,特征限制将使该误差为“色盲”误差。相反地,可能存在容量太高的情况。在该情况下,症状将会是,大量的“无知误差”甚至在添加大量标签之后也将会被观察到。机器学习算法的选择、特征的表达、以及自动正则化的质量影响花费多长时间来学习以及系统可以实现的最好的结果是什么。然而,这些可以在不必重新设计用户界面的情况下得以修正以及改进。错误分类有助于解决进展原则,例如,误差的第一类型(不定性)启示所期望的状态:如果大多数误差落到“不定性误差”类别,则操作员完成。系统几乎没有希望超越操作员。如果误差的大部分是由于色盲或无知引起的,操作员知道要做什么:色盲误差通过添加将肯定示例与错误肯定示例区分或者将否定示例与错误否定示例区分的特征来解决。可以设计一种界面以启用这一点(下一部分)。无知误差通过添加标签来解决。在任何时间点,系统可以启示误差的哪些类型应当针对最大效率被解决。如果学习算法的训练和测试误差曲线是接近的,则需要更多的特征。否则,更多的标签是更有效的。b.不变性为了从当前状态到所期望的状态的路径明白清晰,应当保证进展总是在前进。这应当获得操作员的信赖。需要一些注意事项。一旦训练分类器,分类器可以变为一种特征。一旦分类器变为特征,则分类器不被允许作为更大模型的一部分来重新训练。作为更大分类器的部分来重新训练特征可能具有若干负面的结果。首先,可能改变特征的语义意义。这可能引起操作员困惑以及其它特征的反向进展。第二,特征的容量在训练该特征时可能与更大的分类器上的可用标签的数量相比高很多。容量的不预期的注入会引起反向步骤。机器学习专家可以反对冻结参数从机器学习角度来看可能是次最优的。然而,如本文描述的,系统稳定性和可预测性胜过最优性。进展可以用量度来测量。例如,由分类器寻找到的肯定示例的数量乘以准确性可以产生对由系统到达的肯定示例的数量的估计。该量度与检索率成比例。每个标签的在边界上做出的准确性进展(例如,具有是X在0.25和0.75之间的概率的所有模式)是效力的一种有趣的度量。动机来自魔力。魔力来自生成三种事项的系统:a)同理心:操作员应当理解系统产生的误差。阻止系统生成的标签和特征(例如,“字袋”)使系统能够被理解。色盲误差应当引起操作员热衷于提供新特征。无知误差应当引起操作员热衷于提供更多的标签。系统误差应当作为有用的而受到欢迎。透明性、响应性和进展原则全部对使系统像有天赋的学习者那样表现做出贡献。b)惊讶:系统应当通过系统如何推进该系统已被教导的界限来使操作员印象深刻。系统的误差应当放大到所缺失的特征/概念。系统对于标签的请求应当挑战操作员以发现未预见的示例类型并且重新定义分类概念。惊讶的能力来自1)概念特征的合理化,以及2)对非常大的数据集合进行计分。c)效率:在系统针对每个操作员输入进行非凡的计算时,分类器应当非常迅速地取得进展。利用可访问性、效率和魔力,构造分类器将产生价值和惊叹。这将允许分类器和图式器被大规模地构造。Ⅳ.主动特征化A.特征化机器学习中的普通活动是搜索正确的特征。人们典型地以特定方式来做这件事:通过对数据进行编程或处理来添加特征,开始完全独立的过程以在所修改的数据上重新训练系统,然后查看误差等等。典型地,上述均不集成到在不退出应用的情况下可以浏览误差以及可以共享和搜索特征的系统中。如本文描述的,主动特征化实现交互式特征创建、编辑和细化。用于帮助用户选择特征以微调系统的性能的一些方法要么自动选择特征(例如,字袋)要么从多个预先存在的特征中选择(模型选择、特征选择等等)。主动特征化鼓励用户交互地创建有用的特征,并且机器学习算法的复杂度被保持为最小。构思是,通过添加特征和标签来交互地修正误差与通过在机器语言算法和特征选择中添加复杂度来避免误差相比更好。复杂的学习算法和大量的特征可能在初始阶段工作良好,但是可能很快留给实践者一个没有明显的决策能够改进的复杂系统;在该情况下移除误差是非常困难的。相反地,在依赖于简单学习算法的同时允许用户添加特征和标签的交互循环可以产生更可实施的系统。当用户已贡献每个标签以及每个特征时,误差可以变得更清晰以及更容易解决(要么通过创建/标记/细化特征或者添加标签)。如本文描述的,特征可以来自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可以提取频率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.色盲存在大量与特征的自动选择有关的文献。有时称为“特征选择”。特征的自动选择的隐含目的是在给定训练集的情况下改进泛化。本文描述的目的是不同的:向操作员提供将特征等效贡献于标签的手段。这是在遵从上面描述的原则:人类应当贡献语义理解并且计算机应当提供规模。在先前的部分中,区分了三种类别的误差:不定性、无知和色盲。不定性误差不能修正(这些误差来自操作员或问题的内部噪声)。无知误差通过添加标签来修正。色盲误差通过使用“颜色过滤器”来修正或者使用机器学习术语,通过添加允许系统“看见”一种分类的成员和不同分类的成员之间的差的特征来修正。用于特征化的界面可以是问题特定的。例如,特征可以是图像识别中的像素的函数、查询分类中的词的函数、或者语音识别中的倒谱系数的函数。操作员不需要理解像素、倒谱或字袋来构建分类器。但是需要确实建立该问题。两种用户因此被区分:a)工程师:该用户可以编程并且知道机器学习的基础知识。工程师负责做下列四件事情:o将数据上传到系统。o提供通用特征化器,所述通用特征化器将数据转换成训练训练算法可以使用的特征的集合。o提供可视化器,所述可视化器将数据转换成能够由系统显示的某物。o选择训练算法并且如果需要的话设定该训练算法的超参数。b)操作员:该用户没有工程或机器学习背景。操作员负责创建和训练分类器和图式器。一旦工程师建立所述问题,操作员可以构建多个分类器和图式器。开始,新分类器的输入是由工程师或系统提供的通用(多个)特征。一旦一些操作员已构建并且训练了一些分类器,则这些分类器可以被冻结到特征中。如在上面描述的,特征是不可变的。这些新特征于是可用于构建更高层次分类器的输入,因此创建生态系统。操作员可以通过选择若干特征以及于是求助ALE算法以添加标签来构建分类器。确实,机器学习中的很多系统在特征的固定集合上运行。然而,对于具有倾向一方的分布的大数据来说,不知道特征将需要哪些先验知识。对新特征的需求可能本身通过探索显现。例如,在构建烹饪食谱分类器期间,具有识别在非洲食谱中寻找到的成分的特征可能是有用的。操作员可以不已知非洲食谱的存在以及所述食谱的具体成分直到通过探索这些食谱被发现。在构建车辆探测器时,具有车轮(或圆形)探测器作为特征将会使分割问题容易很多。操作员可以不知道在没有该附加特征的情况下该问题太难直到操作员尝试构建分类器。为了解决该限制,操作员应当具有按需要添加特征的灵活性。在主动特征化中,操作员检查分类器所犯的错误,并且搜索以下特征,所述特征使分类器能够容易地将肯定示例的部分与错误的肯定示例进行区分,或者相反,将否定示例的一部分与错误否定示例进行区分。换言之,操作员在分类器的部分上寻找“色盲”。一旦色盲已被识别,则操作员可以注重于创建特征以提供“颜色过滤器”,以便治愈该盲症。主动特征化是一种循环,在该循环中操作员检查误差,创建特征和/或编辑/细化特征,重新训练系统,以及针对下一迭代的标注的示例重新计分。然而,创建新的特征经常需要新的标签。因此,主动特征化过程本身被嵌入到大的循环中,所述大的循环涉及主动特征化和ALE,本文称为RAFALE(重复主动特征化主动标注探索)循环。这总结在表2中:表2:RAFALE(重复主动特征化主动标注探索)循环为了创建特征,操作员具有3个选择:1)(使用搜索引擎)寻找系统特征或由另一操作员创建的特征,2)创建定制的分类器以实现所期望的特征,或者3)创建领域特定的特征。第一选择利用社区的能力。第二选择利用使用集成工具快速创建分类器的能力。该能力一般不可用,因为标注、训练、计分和特征化典型地利用不同工具并且一般不同的人来完成。第三选择取决于领域。下面描述一种用于输入包含词列表的条目的领域特定的特征的界面。C.词和字典在机器学习的很多应用中,基本特征是词,所述词可以包括单独的词,词的词干版本(例如,在所述词中表示复数、过去式等等的词形变化已经被移除)以及元语法(n-grams)(连续词或词干的序列)。通常,选择的表示是词袋。在该表示中,特征基于具有一定标准化(IDF:逆文档频率)的文档中每个词的频率(TF:项频率)。虽然可以通过这些特征来得到良好的结果,但是它们缺乏表达并且泛化到概念的能力。例如,虽然对文档中的Honda(本田)和Toyota(丰田)的频率进行计数是可能的,而优选的是具有泛化到所有车辆品牌的特征。下面描述的是用于交互地构建表示概念的字典的工具,为了用作分类或实体提取的特征的目的。交互地创建概念作为主动特征化循环的部分以解决由机器学习算法产生的误差。在该部分中,数据库中的条目假设是由词构成的文档。然而,本文描述的文档和字典的概念不限制于词的使用,并且可以包括其它类型的数据。同样作出以下假设:文档中的词没有相互关系(字袋模型),并且TF*IDF向量表示被用作基本特征向量。在引进字典的概念之前,需要显式地描述该表示。假设C是数据库中文档的集合,并且T是与要被构建的分类器相关的项的集合。例如,T可以是出现在语料库C中的所有词的集合。针对每个文档d和项t,可以计算项频率tf(t,d),项频率是词t在d中出现的数目除以文档的长度。直观地,项计数表示词的语义空间中的方向。项计数通过文档的长度来正则化以相对赘言不变。所有的项不带有相同的信息量。尤其,由陈述“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表示:词1词2词3词4...文档长度文档10201...100文档21000...147文档30001...1234.....................idf3.12.36.80.5...表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)”的分类器:a)肯定示例:个人主页、社交媒体页面、学术页面等等b)否定示例:搜索结果、目录、事件、讣告、公司、商业页面等等c)不定的:虚构的人,有名的已故的人,简历等等。字典可以以该顺序(直到工具被构建,否则难以猜测)来创建:a)主页:[“主页”,“传记(Bio)”,“简历”(Resume),“爱好(Hobbies)”,“脸书(Facebook)”,等等]b)联系信息:[“联系信息(Contacinformation)”,“地址(Address)”,“电话(Phone)”,“电子邮件(email)”等等]c)名:[“John”,“Steven”,等等]d)姓:[“Smith”,“Dupont”,等等]e)搜索/目录:[“搜索(Search)”,“登录(Login)”,“注册(Signup)”,等等]f)讣告:[“讣告(obituary)”,“离世(passedaway)”,“故去(died)”,“敬爱(beloved)”,等等]。前四个字典帮助寻找肯定示例(移除错误的否定示例)。随后两个字典减少错误肯定示例的数量。该过程是高度交互的。在不构建分类器的情况下难以知道哪个字典将会有用。用户可以决定在运行时针对讣告或事件创建分类器。该过程是递归的。在运行时创建的特征/分类器不需要是良好的。为了有用,特征/分类器仅需比偶然更好并且带来新的信息。1.问题·如果字典的数量是大的,则可以想象特征化类似于在“专家系统”和老式“AI(人工智能)”的传统下创建规则和异常。然而,存在可以考虑的三件事情:O首先,字典仅仅是特征或过滤器。如何组合字典完全留给机器学习算法。从用户的视角,没有复杂度爆炸。特征化任务仅仅是向系统提供将肯定示例与错误肯定示例进行区分或者将否定示例与错误否定示例进行区分的手段。添加第一个或第n个字典的复杂度是相同的。操作员提供传感器,而不是规则。O高效地和低效地构建分类器之间的不同之处可能来自相对语义意义而保持字典“清楚”。例如,在上面的主页示例中,将主页线索的字典与探测页面中是否存在地址的字典混合将会是坏的构思。这将减少复合性。将若干地址项添加到第一字典与不具有地址字典相比更好,而具有两种语义意义的两种字典更好。这允许系统不同地对地址项的影响进行加权,并且这使得特征字典的调试和重复使用更容易。“传感器”应当是尽量正交和纯粹的。维护清楚的字典也可以使得传感器更适于稍后的重复使用。纯粹的字典更容易被其它人类理解并且更可能有助于其它分类问题。O最优化是非参数的。这表示通过交叉验证,系统的容量被自动地调整以匹配可用数据的量。在利用相同量的数据的情况下,系统应当与基于字袋的任何当前在使用中的系统一样表现良好。如果附加的信息省下操作员输入数千标签,则由特征提供的附加的信息可以是非常有帮助的。·字典编辑对于使用字袋的任何系统来说是有用的。这可以对于以下数据工作良好,在所述数据中词之间的关系难以提取,例如,查询、广告文本、用户产品描述、或者自由流动文本。对于具有图式结构的文档(例如,食谱、工作描述、产品和论坛)来说,位置信息以及词间关系是重要的。这将是下一部分的目标。·输入字典可能是繁重的任务。例如,先前示例中的名和姓的字典将具有很多条目。从freebase提取的烹饪成分的字典在本文的撰写时具有1709个成分。幸运的是,输入字典的过程可以被自动化。这是下一子部分的目标。在一方面,集成系统包括具有引用显示训练模式的方式的组件、训练组件、计分组件和字典编辑组件。四种组件被用在主动特征化循环中。字典编辑组件包含交互循环以允许操作员编辑和细化由词列表或元语法组特征化的概念。在另一方面,提供字典特征,在所述字典特征中每个词或元语法在字典中具有词或元语法自己的权重。字典的权重可以由频率和字典大小的函数来重新缩放。重新缩放的权重由正则化约束绑定,所述正则化约束将具有更少训练数据的词的权重拉向由具有更多训练数据的词所确定的默认值。在另一方面,提供字典界面用于构建分类器或实体提取器的特征。界面通过提供肯定或否定词或元语法示例的小的列表来允许由词或元语法的大的列表定义的概念交互地被指定。在每个迭代中,概念列表通过使用算法的集合和通过凭借使用输入的编辑来自动扩展。在另一方面,提供字典界面以用于构建分类器或实体提取器的特征。每个特征由词或元语法的列表构成。界面允许操作员指定关于如何计算特征的选择。多种选择替代项的泛化效果在验证集合上计算并且被预览。2.字典创建字典可以被视为概念。作为一种概念,它可以被泛化。当操作员针对字典键入若干肯定示例时,系统可以提供可能的泛化的启示。如果泛化太激进,则操作员可以通过添加否定示例来提供反馈。这变为交互式过程,其中操作员提供肯定或否定示例以将系统引向所针对的概念的正确的泛化。这遵从了上面描述的哲学:操作员提供语义意义,并且系统提供大规模计算以细化意义。该部分被划分成两部分:用于主动概念化的用户界面,以及用于概念泛化的算法的集合。a.主动概念化界面(ACI)界面的目的是帮助操作员将概念传递到系统以便创建字典。字典创建和编辑可以在反馈循环中完成,在所述反馈循环中用户提供肯定示例的列表。图8示出了适于使用主动概念化和字典编辑的示例性界面800。当操作员在刷新按键822上点击时,系统生成启示集合810,使得每个启示集合810是词的新列表,所述词的新列表表示对由用户输入的词所暗示的概念进行泛化。每个启示集合810通过使用不同的算法来产生。用户于是可以通过键入词或者通过从所提议的列表中点击或拖拽所述词来添加更多词作为肯定示例816或否定示例818。来自启示集合810的词可以通过点击相应的添加按键814来添加到工作集合812。在启示集合810中所点击或选择的词被添加到肯定示例816。在工作集合812中选定的词被添加到否定集合818。用于添加肯定示例816和否定示例818的其它方法也可以使用,例如,在启示集合词810上点击以添加肯定示例,并且在启示集合词810上转向点击以添加否定示例。对于大的集合来说,操作员可以将全体启示集合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(1973年总统Ford走进办公室)”正在被评估。在没有字典平滑的情况下,字典将在“Ford”上失败。但是如果其它车辆品牌在那个句子中替换“Ford,例如“PresidentHonda”或者“PresidentToyota”,可以确定短语“PresidentHonda”和“PresidentToyota”在整个语料库中不出现或者很少出现,并且于是可以确定“PresidentX”的上下文非常不可能是关于车辆品牌。作为结果,字典在短语“PresidentFord”上不再成功,因为在那个上下文中,字典中的其它词不能替换“Ford”。这消除大量的失败。接着详细地论述字典平滑。定义上下文和字典的概念,并且然后论述作为上下文的函数估计词属于字典的概率。a.上下文给定文档α和位置p,词提取函数被定义为e:(a,p)→w所述函数返回文档α中的位置p处的词。给定p相对的位置的集合B=(b0,…,bl-1),上下文提取函数eB被定义为:eB:(a,p)→e(a,p+b0),...,e(a,p+bl-1)其中e(a,p+br)是文档α中相对于位置p在第r个偏移br处的词。例如,对于B=(-2,-1)来说,eB(a,p)返回恰好位置p之前的文档α中的两个词。如果文档α是“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在文档α中的位置p的上下文i中。该预测假设词w在上下文中的位置是不重要的。类似地,公式被定义为表示所观察的词w0,...,wl-1(恰好)是文档α中的位置p的上下文i。为了简化计算,作出两种假设:假设上下文中的位置是不重要的,以及每个词在上下文中的存在独立于其它词的存在。这些假设导出:b.字典字典D={d0,...,dk-1}被定义为k个词的集合。c.概率给定字典D和m个上下文函数ci的集合,期望计算:其是文档α中的位置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。结果是:计数可以被重新计算:注意:数量CountWordContexAll(j,i)独立于字典。这表示CountWordContexNot(j,i)实际上不要求该字典的表格(其可以在运行时根据CountWordContext(j,i)计算)。其然后允许系数计算:并且由此,可以计算:i)字典词层次的概率理想的是,计算在给定上下文的情况下词是字典的给定词的概率:其中wk是字典中的特定词。其中如果预测为真,则δ(predicate)=1,否则为0。计数可以被重新计算:其然后允许系数计算:p(e(a,p)=wk|co,...,cm-1)=KkP(co,...,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。计数可以被预先计算:CountWordContextDictMinusK(k,j,i)=CountWordContext(j,i)-CountWordContextK(k,j,i)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。应当注意,分类器确定如何组合初始特征和初始特征的补充副本。这表示,学习算法针对用户确定补充特征是否应当具有少量影响(因为初始特征已经具有高质量)或者更多影响(因为初始特征具有更差的质量)。在一方面,提供用于构造补充特征的系统和方法。每个补充特征根据初始特征和未标注数据的大的集合来构造。补充特征是以下函数,该函数接受初始特征不使用的原始表示的部分作为输入。通过尝试在未标注数据上根据该补充表示来预测初始特征的输出从而构造该函数。在另一方面,系统和方法可以包括一个或多个附加特征,例如,其中初始特征度量文本流中的每个位置处的词或元语法(词序列)析取的存在,而补充特征输入包含所考虑的位置附近的文本的窗口,在所述窗口中中央词已被移除;其中初始特征是运行在字符串上以预测文本中的匹配位置的正则表达式,而补充特征输入包括所考虑的位置附近的文本的窗口,在所述窗口中中央词已被移除;或者其中初始特征测量大的核苷酸序列(例如DNA)中的每个位置处的短的核苷酸序列的析取的存在,而补充特征输入包括在所考虑的位置附近的少量核苷酸的窗口,在所述窗口中中央核苷酸已被移除。下列论述描述特征补全的示例性算法。特征补全从初始特征和大的标注的数据集开始。补充特征根据这些输入构造。一旦被构造,该补充特征于是可以与初始特征结合地在监督学习设定中使用。a.定义a)数据集是条目的集合。例如,数据集可以是网页的集合,查询的集合,词文档的集合,分子的集合,基因的集合等等。每个条目由该条目的原始表示来表示。该表示是在该条目上作出的度量的集合。度量可以是固定长度的,例如,指向网页的链接的数量,或者是可变长度的,例如利用可能的注释(例如,粗体、斜体、表格位置、元数据等等)表示每个词的标记的列表。原始表示的目的是将与条目有关的所有信息捕获为计算机可读形式,而不先验地辨别哪种信息是相关的或不相关的。特征表示是原始表示的函数,该函数捕获与机器学习算法相关的信息以在条目上执行任务,例如,分类、提取、回归、排序等等。特征表示典型地从原始表示中丢弃大量信息,因为原始表示空间对于机器学习算法在充足地利用少量训练示例以及有限计算时间的情况下执行来说是极其巨大的。b)初始特征表示f是所开始的特征表示。它接受条目的原始表示的部分并且计算一个值或者值的向量。值的示例可以是条目的长度,特定子组件在条目中出现的次数的数量等等。向量值可以是在条目上滑动窗口并且在那个窗口上计算函数的结果。例如,对于文本窗口,初始特征可以是o一种二进制值,所述二进制值表示来自给定列表的任何词是否出现在窗口的中央,o一种二进制值,所述二进制值表示窗口中动词的出现或不出现,o一种二进制值,所述二进制值表示被形容词跟随的名词的出现或不出现,o一种整数特征,所述整数特征对窗口中的给定词的出现的数量进行计数等等。·补充特征g也是特征表示。补充特征接受条目的原始表示的不同部分并且预测值或值的向量。补充特征通过依赖在下一部分中定义的算法来构造。·该论述区分条目的原始表示中的两部分。表示A指的是初始特征使用的部分。表示B指的是补充特征使用的部分。注意两部分可以重叠或不能重叠。·监督学习算法接受输入/输出对的集合并且预测旨在给定输入的输出的函数。b.用于构造补充特征的算法i)通用算法构造补集该算法计算附加特征函数g。该算法使用数据集D和函数f以生成(输入,目标)对作为g的训练示例。该算法于是使用训练算法以训练g。结果是新的特征函数g,所述函数于是可以被用于补充f。·输入:初始特征f,数据集D·输出:补充特征g·算法o将补充特征训练集合P初始化为空集o对于D中的每个条目i■提取ai(i的表示A)并且■计算初始特征的输出f(ai)■提取bi(i的表示B)■将(bi,f(ai))添加到P。该(输入,目标)对是函数g的训练示例og=SupervisedLearningAlgorithm(P)o返回g如果特征在滑动窗口上计算,算法可以修改为:·输入:初始特征f,数据集D·输出:补充特征g·算法o将补充特征训练集合P初始化为空集o对于D中的每个条目i■对于条目中的每个位置p·提取ai,p(i在由p索引的初始窗口中的表示A)并且·计算初始特征的输出f(ai,p)·提取bi,p(i在由p索引的上下文窗口中的表示B)·将(bi,p,f(ai,p))添加到P。该(输入,目标)对是函数g的训练示例og=SupervisedLearningAlgorithm(P)o返回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·算法o对于j=1..n,α=0..1,β=0..1,将N(j,α,β)初始化为0o对于D中的每个条目i■提取ai(i的表示A)并且■预测初始特征的输出f(ai)■提取bi(i的表示B)■针对j=1..n,递增N(j,f(ai),bij)og=SupervisedLearningAlgorithm(P)o返回gc、用于分类的补充特征如本文使用的分类是在给定输入条目的情况下预测类别标签的任务。为了那个目的,使用监督学习算法,所述监督学习算法可以自动推断以下函数,该函数将输入特征表示映射到来自所标注的条目的集合的类别标签,即以下条目,对于所述条目来说,正确的类别已被人类标记者识别。表示标签条目(x,y),其中x表示该条目的原始表示x并且y表示该条目的标签。随后的算法取所标注的条目的集合、未标注的数据集合以及初始特征f1…fn的集合。该算法补全每个特征并且学习以下分类器,所述分类器依赖初始特征和初始特征的补充特征。·输入:初始特征的集合f1…fn、所标注的条目的集合L,未标注的数据集U·输出:补充特征的集合g1…gn、依赖f1…fn和g1…gn的分类器C。·算法o对于每个初始特征fi·根据未标注的数据来定义初始特征的补全gi=BuildComplementary(fi,U)o将对集合P初始化为空集o对于L中的每个标注的条目(x,y),·计算初始特征和初始特征的补全特征v(x)=f1(x),...,fn(x),g1(x)...gn(x)·将(v(x),y)添加到PoC=SupervisedLearningAlgorithm(P)o返回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)其中词w从评估g的位置p+1读取。在该情况下,将表示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”在字典中|随后的词是“18”)=1.0文档1:P(“May”在字典中|随后的词是“24”)=0.6666文档2:P(“February”在字典中|随后的词是“18”)=1.0文档3:P(“May”在字典中|随后的词是“Be”)=0.5文档4:P(“February”在字典中|随后的词是“24”)=0.6666文档5:P(“May”在字典中|随后的词是“I”)=1.0可以看到,该补充特征是更好的,因为如果补充特征使用0.6的阈值,其将检测到文档3中的May是动词而不是月份。但是该补全特征也不是完美的,因为该补全特征未能检测到文档5中的May也是动词而非月份。下面是一个示例,其中更复杂的上下文函数在文档的大语料库(500,000网页)上计算。初级函数查看一个词,并且如果词属于(“January”、“February”…,“December”)则为一,否则为零。补充特征查看先前的两个词和之后的两个词,并且使用朴素贝叶斯以计算位于字典中的概率。为此,使用上面的算法的一种变型,所述算法本文称为“省略一个(LeaveOneOut)”。在该版本中,在除了由那个词定义的实例之外的数据集的所有实例上训练在特定词上使用的函数g。这是有用的,因为当词具有双重意义时(例如,像May,可以是月份或动词),可以仅利用排除该词自己的双重意义的实例来训练。May的双重意义可以潜在地污染其它月份,但是通常不是问题,因为双重意义的上下文对于在其上f=1的不同情况来说经常不相关。例如,如果g(February,.)利用排除February的所有实例但是包括包含May的所有其它月份的集合来训练,类似“MayIhelpyou?”的糟糕的情况将几乎不产生对February模型的损害,因为上下文“I”对于February(“FebruaryIhelpyou?”)来说是非常不可能的。下面的表格5中的列举示出随机从数据集中提取的100个实例的示例,并且根据补充特征g的值来分类。该值在具有标题“Prob”的列中示出。随后4列是位置-2、-1、+1、+2(相对位置0处的May)处的“证据(evidence)”。每个证据可以计算为:随后的列标签是“概念”值或者特定的出现是否确实是月份。该值通过人工来计算,只为了评估的目的。图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个子图式构成:·街道地址o街道o城市o州o邮政编码o国家如本文定义的,模块化约束是独立于分类器可以在其中使用的上下文来构建分类器的能力。模块化的好处是一旦构造了分段器,该分段器可以以底部方式用作更高层次分段器的特征(类似于分类器的特征)。如早先描述的,特征被约束为不可变的。这暗示:一旦构造了分段器,该分段器将不在更高层次的分段器之内重新训练而利用上下文信息。这起初似乎是严重的限制。例如,街道提取器如果知道上下文的话将会完成更好的工作。“SmithLane,1234”是街道地址还是姓名?如果低层次分段器决定什么是街道以及什么不是,则更高层次的地址分段器不大可能表现良好。格图:为了克服该问题,强加以下约束:分段器不返回分割,但是返回格图。格图是每个标记的状态之间的过渡图。图10示出了分段器1024的格图表示1000。对于给定的实体提取器,每个标记1010具有三种状态:无用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)空间中的所有信息。为了计算来自格图的特定分割的概率,可以简单地确定每个标记处于三种状态中的哪一个状态,并且在跟随格图上的相应路径时将所有边缘进行加和。当格图被用作用于训练更高层次分段器的特征时,格图变为标记特征(每个边缘值与边缘值左边的标记相关联)。C.标注区段标注区段可能是极其繁重的。文档中的每个词需要标签。格图结构允许交互的区段标注。格图的主要特征是,该格图启用在满足状态约束的情况下最优路径的搜索。默认分割来自没有约束的最优格图路径。该分割可以将默认标签分配给每个可视标记。通过在标记要么处于开始状态要么处于继续状态时高亮相应标记的可视化表示(例如,词),可以使标签对于操作员可见。可视标记(例如,词)的边界框上的每次点击切换标记的状态。开始和继续之间的区别是非常微妙的;这允许长区段和两个相邻区段之间的区别。这是UX挑战。一旦可视标记被点击,该标记被约束。从没被点击过的标记是不受约束的。对于可视标记上的操作员的每次点击,约束已被添加/改变/移除。这触发了格图上的动态规划优化,以在O(n)步骤中找到新的所得到的最优路径。这将很可能改变其余不受约束的标记的缺省标签。换言之,系统在有操作员的情况下工作,给定操作员约束,总是显示最佳的解决方案。例如,在遗漏的地址上任意地方的一次点击很可能触发整个地址被正确地标注为区段。原因在于,如果任意的地址标记是地址区段的部分,则相邻标记是地址的部分的可能性大幅度提高。如果在每次点击时都计算最优格图路径,则标记趋于在逻辑组中翻转。这使得对区段进行标注不那么繁重并且要求更少的手眼协调。注意的是,每次点击是前进的进展,因为这会产生增加的约束。可以提供可视线索来表明哪些可视标记根据缺省而得到其值以及哪些通过标注来得到其值。置信度:类似于分类标签,可期望的是不强调标注精确性的重要性。期望的是操作员仅查看具有低置信度的区段或遗漏区段,并且首先对这些进行标注。有趣的UX挑战是:应如何显示置信度?给定具有几个识别出的区段的文档,低置信度区段应当可视地弹出,使得操作员可以在这些区段上缩放,做出决策,以及提交新的标签,而不必读整篇文档。这对于遗漏的区段来说甚至更可取。在给定的文档上,区段的最可能候选者应当可视地弹出,使得操作员能够对这些区段上缩放并且采取适当的措施。如果不存在低置信度候选者,则操作员应当能够忽略整篇文档,而不读该文档。显示区段置信度并不是无关紧要的。存在O(2n)个可能的分割。在标记层次上显示置信度将会产生误解,并且页面看起来杂乱。例如,词“主要(main)”的每个数字或实例可以是遗漏地址的候选。该问题是通过返回格图表示来解决的。缺省的路径提供了文档层次上的路径得分。该得分称为缺省最优路径得分或DOPS。该目标得分在标记层次上没有意义。如果标记被点击,则其标签改变,并且给出该约束的情况下新的最优路径提供不同的得分。对于约束的最优路径得分,称该新得分为COPS(token)。该新得分本身在标记层次上没有意义。然而,差别Conf(token)=DOPC-COPS(token)是翻转给定标记的标签的效果的系统估计。如果差别接近0,则系统不可信,因为其具有正确标签(翻转标记没有效果)。注意0≤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)占用标记,并且将其标注为不是地址的部分。实线边缘是不占用任何标记的ε过渡。给定一篇文档,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中的实线“水平”边缘的边缘权重函数。该函数可以查看过渡之前的标记的特征以及过渡之后的标记的特征:权重(特征)=θ1×IsNumber(之前的标记)+θ2×IsStreetType(之前的标记)+θ3×IsNumber(之后的标记)+θ4×IsStreetType(之后的标记)训练参数θ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,描绘了称为微文档(minidoc)2310的文档的高亮部分,由在中间的“明亮”矩形构成。微文档(minidoc)2310周围的上下文对于标注器而言可见,但是在一个实施例中,当用户提交标签时,仅微文档2310内文本的部分被提交给系统。用户能够通过点击-拖曳其边界来改变微文档2310的大小。可选地,如果用户对微文档2310外的文本的区段进行标注,则微文档2310可以被扩展而包含该文本。可以通过多种方式来初始化微文档。例如,给定现有的模型,能够识别感兴趣的可能的(或者可能为不确定的)地址,然后定义包含该标记区段的微文档。用于构建区段提取器的交互式系统可以将输入文档分割成较小的子文档。另外,可以基于预先存在的区段提取模型或者基于到特定标记或标记特征的接近度来自动初始化子文档。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1