智能自动填充的制作方法

文档序号:6550496阅读:256来源:国知局

专利名称::智能自动填充的制作方法
技术领域
:本发明一般涉及学习用户信息,特别涉及将基于用户的输入映射到基于web的表格的一个或多个字段,以便于用户信息地自动输入。
背景技术
:因特网上的通信和交易业务对于工作职业人员(workingprofessional)以及购买人群(buyingpublic)来说已变得每天都要经历到。例如在购买产品时、请求信息时、或提交问题时,因特网用户通常被要求填写许多表格(其中的一些表格可能或可能不相类似)。用户必须在各种不同的表格上重复地输入相同的信息,包括它们的姓名、家庭住址、工作地址、电子邮件地址、和/或电话号码。不幸的是,试图解决这些问题的传统方法是有问题的。例如,在某些技术中,仅当表格与先前的表格相同时,先前的输入项才能被记忆出。考虑到因特网上范围巨大的网站和大量的网站所有者和操作者,这可能不是一种在因特网上用于降低对用户时间的浪费和提高用户效率的合理方法。其它传统的方法可提供某些数据的自动输入,然而,这些方法仍然是不完善的,因此,不能满足当今的因特网用户的众多需求。
发明内容下面给出了本发明的简要概述,以便提供对本发明的某些方面的基本理解。该概述并非本发明的大范围的概述。并不意图标识本发明的关键/决定性的元件,或描绘本发明的范围。其唯一目的是以简单的形式给出本发明的某些概念,作为后述的更为详细的描述的前序。本发明涉及一种改进的数据输入技术,由浏览器使用于各种不同的web表格中,使得用户的努力最小化。更为具体地来说,本发明提供了一种能够采用机器学习技术跨各种不同的web表格自动填充一个或多个字段的系统和/或方法。通过使用机器学习技术,浏览器或其它工具化工具能够学习哪些数据或哪些类型的数据与哪些字段或哪些类型的字段相关。也可学习其它类型的相关,例如,特定输入输入到某一特定web页面上的某些特定字段中。例如,与明确的编程相比,本发明的机器学习技术能够提高数据自动填充能力。根据一个方法,该系统和方法能够利用关于用户的信息的一个或多个数据库,学习哪些字段映射到哪些数据库输入项(或项目)。特别地,可部分地通过经工具化工具护工具栏来观察和收集用户输入来生成字段信息的数据库。也可学习确定什么表格字段(基于web的表格上的字段)应用哪些数据库字段(来自数据库的字段)填充。例如,可学习在标记为FIRST的表格字段中,用户可能从他们的数据库输入“firstname”(名)信息。当用户来到一新的web表格时,例如浏览器需要确定该表格是否包含浏览器能够填充的输入项,如果包含,则确定哪些输入项对应于数据库的哪些部分。此外,如果存在多个数据库输入项,则应该进行确定哪个数据库输入项用于给定的表格。获得训练数据来进行上述确定中的任一个是至关紧要的任务。幸运的是,训练无需是用户特定的。在本发明的一个方面中,可以某种方式收集包含输入和输出特征的训练数据。例如,工具栏可为某些用户收集和聚集他把哪些数据库输入项输入到哪些字段,以及那些字段的特征是什么。该信息然后可被送回中央储存库。中央储存库中的数据可用作训练算法的输入,来学习哪些数据库字段对应于哪些表格字段。例如,可学习到标记为“firstname”的数据库字段对应于标记为“FIRST”的表格字段。如果用户在标记为FIRST的表格字段中输入“Joshua”,并且该用户具有标记为“firstname”的数据库字段,则信息FIRST和“firstname”可被送回。从而,不需要将个人可识别信息包含在内来执行本发明的该方面。如上所述,数据库字段以及从中得出的各种特征可用于训练目的。例如,可利用表格字段的特性作为特征来区分不同类型的数据和不同类型的表格字段。特别地,每个表格字段具有诸如文本之类的输入类型,文本可指示出文本框。表格字段是文本类型的字段的事实可能是有用的信息,因为它可促进导出什么数据包含于该字段中。也就是说,如果存在除了文本字段之外的其它字段,例如组合框,则它将不包含姓名或地址。特征可基于表格字段名、表格字段的字符大小或宽度、表格字段周围的文本、和/或表格字段相对于可能或可能不已知或识别出的其它表格字段的位置。检查HTML表也能促进确定什么单词或数据位于某一表格字段的上面、下面、左面或右面。此外,使用附近的文本或可能或可能不与该附近文本等同的附近文本的子串,可提供额外的信息。在本发明的另一方面中,至少部分地根据一个或多个约束,可将数据库字段赋值到表格字段或值。约束可控制在许多情况下数据库字段/输入项到表格值的赋值。例如,当web表格明显具有相冲突的输出类型或者明显验证出数据库输入项能或不能在单个web表格内被重用时,可采用约束。在某些情况下,诸如当面对新的web表格时,可能希望数据库输入项到表格字段的最佳赋值。可部分地根据一个或多个约束的最大化联合概率来确定该最佳赋值。约束类型的例子可包括在没有另一表格字段(例如地址行#1)时不允许某一表格字段(例如地址行#2)、减少重复使用输入项的重复使用约束、处理相冲突的输出类型的合成约束、和/或顺序约束(例如区码位于交换局的前面)。在本发明的又一个方面中,可将从数据库字段到表格值的映射个人化。例如,可观察到在某一web页面上,用户拒绝了所建议的自动输入项,并手工地输入数据。此数据的某些可能匹配数据库中的输入项。此后,对于该特定用户,可学习到某些表格字段输入项对应于所观察到的数据库输入项,这与经学习的数据库输入项相反。因此,用户可以用某些其它数据来覆盖自动输入项,系统或方法可学习该其它数据。可选地或除此之外,用户的手工输入(对于该用户)可以是站点特定的——意味着这种输入仅用于该特定web页面或web站点。而且,可根据观察响应于自动填充操作的用户输入来修改自动输入项。在本发明的又一方面中,在存在多组字段时,例如家庭地址和公司地址、或账单地址和运输地址,可采用直观推断或学习。例如,在HTML表格中,这些地址通常出现在不同的表中。从而,可学习它们各自的位置或表,可以将它们分离成任何数量的子组。另一个方法可不使用数据库,而是涉及观察和/或跟踪用户的数据输入,以学习什么数据输入到哪些字段。特别地,可观察和存储用户对多个表格字段的数据输入,用于离线学习,或者可通过在线学习来跟踪和更新。在离线学习中,可存储对包括某些敏感信息的字段输入项的多个被观察到的实例,然后稍候用作机器学习系统的输入。在线系统采用在线学习算法,例如Bayes方法、梯度下降、簸选或感知器算法等等中之一,除了例如可包含某些个人可识别的信息的模型本身之外,不需要存储任何信息。上面所讨论的本发明的许多方面还可与该观察输入方法相组合。在某些情况下,并非所有的表格字段对于用于都是可见的;尽管如此,它们也可被填充。这仅仅对于用户可能没有意识到他所公开的信息这一事实造成许多安全性或私密性关注。响应于这种关注,本发明的另一方面提供用户界面上的显示,能够允许用户看到页面上的和/或自动填充的表格字段的列表。这对于自动填充的单选按钮或复选框来说尤其有效,因为它们对于用户来说可能不显著,或者用户可能没有预期到它们被自动填充。表格字段的列表也可链接到web页面上的实际表格字段。因此,对所列的表格字段的修改可能影响到实际的表格字段中的内容。可选地,自动填充特征的使用可能在用户计算机上的适当位置束缚于安全措施。也就是说,自动填充特征可仅在受信任的站点或满足用户的安全等级的站点上可用。为了完成上述和相关的结尾,这里连同下面的描述和附图给出了本发明的某些说明性的方面。然而,这些方面仅仅指示出可采用本发明的原理的各种方式的一小部分,本发明意图包括所有这些方面和它们的等价物。通过下面的描述,连同附图,本发明的其它优点和新颖特征将变得显而易见。图1是根据本发明的一方面的利用机器学习的智能填充系统的高级框图图2是根据本发明的另一方面的将收集的数据馈入数据库的智能填充系统的框图,收集的数据在数据库中可作为机器学习系统的输入,用于学习哪些数据对应于哪些字段。图3是根据本发明的又一方面的部分地通过观察用户输入来学习哪些数据对应于哪些字段的智能填充系统的框图。图4是根据本发明的一方面的智能填充系统可适用以部分地根据学习的数据有效地填充所希望的字段的web表格的示例性屏幕显示。图5是根据本发明的另一方面的说明相对于新的web表格采用智能填充系统的示意框图。图6是说明根据本发明的一方面的便于根据机器学习技术自通输入表格字段的示例性方法的流程图。图7是说明根据本发明的一方面的便于学习哪些数据对应于哪些字段的示例性方法的流程图。图8是根据本发明的一方面的可从图7中的方法扩展的、说明学习用户输入的示例性方法的流程图。图9是根据本发明的一方面的便于部分地根据任何数量的约束和条件将用户数据输入到新的web表格的示例性方法的流程图。图10是根据本发明的一方面的便于保存通过自动填充的输入输入用户输入的示例性方法的流程图。图11是说明用于实现本发明的各种方面的示例性环境。具体实施例方式现在参考附图来描述本发明,其中相同的参考标号用于表示相同的元件。在下面的描述中,出于解释的目的而提出了许多特殊的细节,以便给出对本发明的彻底理解。然而,显然不用上述特殊细节就能够实施本发明。在其它情况下,以框图形式示出已知的结构和设备,以便于本发明的描述。如本申请中所使用的,术语“组件”和“系统”意图指代计算机相关的实体,即硬件、软件和硬件的组合、软件或执行中的软件。例如,组件可以是但不限于运行于处理器上的进程、处理器、对象、可执行的、执行线程、程序以及计算机。作为例示,运行于服务器上的应用程序以及该服务器都可以是组件。一个或多个组件可驻留于进程和/或执行线程中,组件可位于一个计算机上和/或分布于两个或多个计算机之间。此外,术语数据库输入可指代发送到一个或多个数据库中的数据或其它基于用户的输入。数据库输入可位于数据库中的对应的数据库字段中。术语“表格字段”指的是可接受来自用户的输入并也可显示输出的字段;从而,可以存在不同的输入类型和不同的输出类型。不同的输出类型可对应于不同的字段类型。如这里所使用的术语“输入字段”也可指代用户向其中输入某些数据或信息的字段。根据上下文环境,输入字段也可指代表格字段。本发明可结合与产生训练数据用于机器学习的自动填充表格字段有关的推理方案和/或技术。如这里所使用的,术语“推理”一般指代从通过事件和/或数据捕获的一组观察资料中推理出或推断出系统、环境和/或用户的状态的过程。例如,推理可用于识别特定的上下文环境或动作,或可产生状态的概率分布。推理可以是概率性的,即根据对数据和事件的考虑进行所关心的状态的概率分布的计算。推理还可指代用于从一组事件和/或数据中合成更高级的事件的技术。这种推理导致从一组观察的事件和/或存储的事件数据中构造出新的事件或动作,而不论事件是否与时间密切相关,以及不论事件和数据是来自一个还是若干个事件和数据源。例如,本发明涉及学习基于web的表格中的每个字段,而不论它是否可从一个或多个数据库来填充。使用机器学习系统和技术,本发明的自动填充系统和方法能够学习哪些数据对应于哪些表格字段,并在用户请求时自动地填充表格字段。存在许多不同类型的HTMLweb表格,确切地说是表格字段,就像这里所使用的那样。它们的范围可以是从文本框到选择框到单选按钮。为了成功地自动填充表格字段,可能重要的是要确定哪个数据进入某一表格字段。一般地,编码可揭示出表格是什么、表格的起始点在哪里、表格的结尾在哪里。每个字段具有诸如文本之类的一个类型,可被命名用于识别。从而,存在与web表格相关联的若干特征,可学习这些特征来便于在无需用户努力的情况下来识别表格字段的类型以及哪个数据可以或应该被输入。例如,字段是文本字段的事实可以是一个特征。如果字段的名字是“姓”,则它指示出内容应该是某人的姓,这可以是一个特征。表格字段周围的文本也有关系,因为文本可能表示出有关什么处于该字段中的内容。从而可分别指示出用户的名、姓或姓名的“名”、“姓”或“姓名”被输入或应被输入到该字段中。单选按钮是一般排列在表单中并可通过点击它们来选取的小圆圈。一次只能选取一组按钮中的一个按钮。从而,选取一个按钮就清除了组中先前被选取的按钮。单选按钮具有“单选”(radio)类型,排列在一组中的那些单选按钮应具有相同的名字,从而它们可一起工作。然而,组内的每个按钮可具有不同的文本标签,以彼此相区分。对应于选取的按钮的文本标签可被学习和记忆。实践中,单选按钮可用于指示出用户的运输偏好。为了减轻用户的努力,例如,可在每次用户访问涉及检验的web网页时自动填充对应于基本运输的所希望的单选按钮。可用类似的方式来学习复选框,尽管它们与单选按钮的本质区别在于用户可选择一个以上的复选框。因为单选按钮和复选框的自动填充并非是常规的,这种自动填充可能是用户未预期的。为了解决这个问题,可能需要在学习和/或相关匹配方面更高的阈值来更大地确保自动填充的数据是正确的。选择框也能包含可被学习和自动填充的数据。在大多数的web表格上它们相对较为常见,例如用于提供一列国家名或简称。这种列表可被检测,并且也可学习选择的特定的列表或国家。除了选择框之外,在学习过程中也可使用提交按钮。特别是,它们可与上下文中键入的别的东西相关。例如,名为“购买”或“买”的提交按钮可与键入地址的上下文相关。从而,当自动填充新的或以前从未见过的web表格时,检测用户选择了名为“买”的提交按钮能够指示出地址和/或名字数据也被正确地输入。也可使用其它标志来促进检测哪些数据对应于哪些字段。例如,字段宽度可能是重要的。“名”字段可能短语“姓”字段。类似地,地址字段可能长于姓名字段。与表格字段的位置、排列、顺序等有关的其它细微差别可有助于学习和自动填充过程。而且,机器学习可能非常敏感于这些微妙的线索或提示。实际上,这些微妙之处可能是重要的,用于有效地和成功地学习哪些数据属于哪些字段,以及当存在字段的多个变型时学习数据对字段的赋值。可为许多不同种类的信息创建表格字段。除了诸如名、姓、姓名、地址、公司、城市、国家、邮政编码、电话号码、电子邮件地址、类似于保证书和否认书信息的文本段落、问题、选项、意见、个人信息、意见其它一般文本之类的标准类型的输入字段之外,可为输入文件名创建表格字段,一般来说,文件名由用户通过浏览文件来填充。通常,用户希望上传(例如通过输入到字段)的文件是他最近所使用的一个文件。因此,可使用用户的系统上最近被访问的文件来自动填充这些字段。特别地,某些操作系统可能包括“我最近的文档”文件夹,至少部分地通过使用最近所使用的文件来自动填充该字段。在确定是否使用来用于自动填充时,还可考虑自从用户访问这些文档以来经过的时间长度。这种最近程度可与输入到文件字段的其它文件的最近程度相比较,并且这些字段中最近使用的输入和最近被访问的文件的至少部分地基于最后访问的时期和最后输入的时期的某种组合可被输入。实践上,假设用户近来修改了一幅数字照片,并且现在希望通过将它上传到照片站点而与家人和朋友共享。可部分地通过检查最近被访问的文件来帮助确定输入哪个文件来自动填充文件表格字段。现在参考图1,示出了便于自动将数据输入到web网页上的表格字段中的智能自动填充系统100的高级框图。系统100包括能够学习什么输入对应于任一给定的web表格上的哪些字段的机器学习组件110,所述输入例如姓名(名和姓)、地址(电子邮件、家庭、公司、账单、或运输地址)、电话号码(家庭、公司、传真、或移动号码)、邮政编码、国家、文件名、和/或任何其它数据。给定一组输入,机器学习组件110能够学习预测输出值,所述一组输入也被称为训练数据。可以某种方式来收集由正确的输入和输出特征组成的训练数据。例如,一个专门增加的工具栏可以收集和聚集此信息。该数据可作为对训练算法的输入而给出。该算法可由无数种机器学习技术中的任何一种来提供,这些机器学习技术创建神经网络、数理逻辑回归、最大熵模型、决策树、Bayes模型、感知器、簸选、任何线性分离器、支持向量机等。给定特征值,大多数的模型类型输出每个可能的输出的分数或概率。从中产生经学习得到的模型,然后可利用选择性自动填充组件120将该模型运用于随后的web表格中。当用户调用时,选择性自动填充组件120可部分地根据所学的数据和字段之间的相关性来将最适当的输入项输入到字段中。可逐字段地或以字段组的方式调用选择性自动填充组件120,或者可一次全部调用来填充所有可填充的字段。可填充每个字段的下拉菜单,或者作为选择可直接将数据输入到表格字段中。可根据包括所观察的输入的经学习的相关性来选择下拉菜单中存在的项目。此外,机器学习组件110以及选择性自动填充组件120能够依附于或链接于诸如地址薄、联系人列表、账户登记、用户配置文件等之类的一个或多个数据库。系统可根据已输入的信息来自动确定要使用哪个数据库输入。特别地,可关于存储于一个或多个数据库中的数据来训练机器学习组件。在使用过程中,选择性自动填充组件120能够按需从各数据库中提取数据。例如,用户可能键入他母亲的名和姓,然后调用自动填充组件120。因为母亲的名和姓是由用户手工输入的,自动填充组件能够检测到,按照名和姓输入项搜索包含那些姓名的数据库输入项,然后使用来自数据库的关于母亲的信息自动填充表格的剩余部分。可能存在若干不同的方法使用机器学习来以自动化的方式进行web表格上的数据输入。图2和3描述了可与机器学习技术一起组合或分开使用的至少两种不同的方法。图2中,例示出根据本发明的一方面的面向数据库的自动填充训练方案200的框图。训练方案200包括基于用户的输入记录组件210,它能够观察和/或收集用户输入的数据。例如,用户能够在订购在线杂志时将其邮寄信息输入到基于web的表格中。特定的数据以及数据的类型(如文本、复选的框等)以及它们对应的表格字段(姓名、电子邮件地址、账单地址等)可被收集并发送到中央储存库220。可选地或除此之外,可要求用户预先填充一个或多个数据库,例如用于用户的个人简介、联系人列表、地址薄、产品注册、和/或账户登记。可把这些数据库聚集到中央储存库220或也可简单地馈入中央储存库220。中央储存库220中维护的数据或其至少一部分可用作机器学习算法的输入,来产生一组或多组训练数据。随后能够使用这些训练数据来训练自动填充系统,以学习哪些数据库输入项填充哪些表格字段。更为具体地,输入映射组件230能够通过将实际数据映射到适当的表格字段来利用中央储存库数据。例如,映射组件230能够将输入“98052”映射到ZIP(邮政编码)表格字段,并且数字数据“98052”对应于ZIP表格字段的事实可被学习。从而,当在web表格上再次看到ZIP表格字段时,自动填充系统就能够在该字段中输入或建议输入“98052”。在关心隐私的场合中,实际数据(例如“Fred”)不需要被发送到或存储于中央储存库220中。相反,可发送术语“名”(firstname)来表示FIRSTNAME字段中的用户的数据。实践上,假设用户正在使用浏览器,并停留于诸如Amazon.com之类的电子商务web网页上以购买书。该用户在标识为FIRST的表格字段中输入他的名,在标识为LAST的表格字段中输出他的姓。该信息,包括该web网页,可由一工具化的工具栏来收集,并存储于中央数据库中,随后被学习,从而当用户或任何其它用户重新访问Amazon.com来购买书时,自动填充系统能够识别出这是同一个页面,然后预测出应该相应地输入相同的信息(例如FIRST字段中的名和LAST字段中的姓)。一般地,一旦系统发现或识别出它训练所针对的东西时,就有相当的可能性它将在下一次作出正确的预测。然而,可能更容易实施的一个替代的方法是对一给定的用户仅仅学习他最可能输入什么到该字段中。该方法可能根本不使用数据库。这可被称为观察输入(observed-entry)方法。例如,观察输入方法可学习该用户通常在名为FIRST的字段中输入“Joshua”,而不是学习他通常在名为FIRST的字段中从他的数据库中输入“名”字段。机器学习系统仍可用于此。系统的可能输出是用户曾经输入的所有字段值。例如,如果他已输入过他的名、他的姓、若干电话号码、以及若干电子邮件地址,则所有这些都变为可能的输入项。系统的输入与下述的Boolean系统的输入是相同种类的特征。可选地,如果字段看上去包含或关于敏感信息(例如信用卡信息或口令),则不进行这种学习。图3例示出能够便于自动填充表格字段的观察输入训练方案300的框图。观察输入训练方案300包括能够监视和跟踪用户作出的数据输入项的输入项跟踪组件310。由于没有数据移动到长期存储存储库或数据库来用于学习目的,因此信息的输入项对于自动填充输出来说可能更为重要和/或更为有影响。一旦方案300检测到输入数据,学习组件320就能够学习关于数据和web表格的若干特征。在一个例子中,实际数据可与某个特定的表格字段相关联。例如,用户将他的名“Joshua”键入到FIRSTNAME字段中。这可以被特征化为要学习的特征字符或文本串J-o-s-h-u-a对应于FIRSTNAME字段。其它特征包括观察和学习表格字段位于某一web网页上;FIRSTNAME字段可能在LASTNAME字段的左侧,并且宽度比LASTNAME字段的宽度小;如果用户开始从左至右输入数据,则最左侧字段可能是名字段;超过五个数字的数字数据很可能是电话号码;以及关于表格字段甚至是web网页本身的各种其它特征。此外,观察输入方案300可通常利用顺序信息。例如,紧接着输入“Joshua”之后,该用户通常输入“Goodman”。紧接着输入他的区域码之后,该用户通常输入他的交换局。从而,可为下一个值之前的每个值创建特征。学习组件320可以进行在线或离线学习。在离线学习中,包括敏感信息的字段输入项的多个被观察到的实例可被存储,并稍候用作机器学习系统的输入。可采用任何机器学习系统;然而,离线学习趋向于比在线学习更为费时。此外,由于可存储敏感信息,离线学习可能趋向于比在线学习更为有效。在线学习采用诸如Bayes方法、梯度下降、簸选或感知器算法等等中之一的在线学习算法,除了可包含某些个人可识别的信息的模型本身之外,不需要存储任何信息。当观察到新的实例时,自动填充系统300可进行适应。本质上,(利用输入一字段映射组件330)可将用户输入的数据映射到表格字段,而不用使用数据库或中央储存库。然而,观察输入方法可连同数据库输入方法一起使用。例如,对于任一给定的字段,可以学习用来自数据库的输入项填充的概率乘以数据库字段是正确的输入项的概率。也可学习用不是来自数据库的输入项填充的概率乘以观察输入模型给出的概率。可根据该信息来排列或分级所产生的推测。不管采用哪种方法,都可实现训I练数据,训练数据对于许多类型的web网页(例如电子商务网站)来说可能是有用的,这些网页或网站可能有时略微地改变它们的页面或以不同的语言给出这些页面。训练数据仍然能够产生正确的响应,而不管这些改变,这增加了其关于基于web的表格的自动填充操作的多用性。现在转到图4,例示出来自Verizonwirelessweb网页的示例性HTMLweb表格400。下面是对应的HTML源代码的例子<!---====CustomerInformationtable/startshere======-----><TABLEWIDTH=″585″BORDER=″0″CELLSPACING=″0″CELLPADDING=″1″><TR><TDWIDTH=″5″BGCOLOR=″#990000″><!--SIPO<DPn="11">--><dpn="d11"/><IMGSRC=″https://www.verizonwireless.com/images/shared/pixel/trans.gif″WIDTH=″5″HEIGHT=″1″BORDER=″0″ALT=″″></TD><TDWIDTH=″583″CLASS=″smtext3″BGCOLOR=″#990000″COLSPAN=″5″><STRONG>UserInformation</STRONG></TD></TR><TR><TDWIDTH=″5″><IMGSRC=″https://www.verizonwireless.com/images/shared/pixel/trans.gif″WIDTH=″5″HEIGHT=″1″BORDER=″0″ALT=″″></TD></TR><TR><TDWIDTH=″5″><IMGSRC=″https://www.verizonwireless.com/images/shared/pixel/trans.gif″WIDTH=″5″HEIGHT=″1″BORDER=″0″ALT=″″></TD><TDwidth=″93″>Prefix</TD><TDwidth=″170″><STRONG><SPANCLASS=″text2″>*</SPAN></STRONG>First<br/>Name</TD><TDwidth=″30″>M.I.</TD><TDwidth=″195″><STRONG><SPANCLASS=″text2″>*</SPAN></STRONG>Last<br/>Name</TD><TDwidth=″186″>Suffix</TD></TR></TABLE><TABLEWIDTH=″585″BORDER=″0″CELLSPACING=″0″CELLPADDING=″1″><TR><TDWIDTH=″5″><IMGSRC=″https://www.verizonwireless.com/images/shared/pixel/trans.gif″WIDTH=″5″HEIGHT=″1″BORDER=″0″ALT=″″></TD><TDWIDTH=″93″><SELECTNAME=″p_prefix″><OPTIONVALUE></OPTION><OPTIONVALUE=″MR″>MR<OPTIONVALUE=″MS″>MS<OPTIONVALUE=″MRS″>MRS<OPTIONVALUE=″DR″>DR</SELECT></TD><TDWIDTH=″135″><INPUTTYPE=″text″CLASS=″input″NAME=″p_first_name″VALUE=″″SIZE=″15″MAXLENGTH=″15″></TD><TDWIDTH=″30″><INPUTTYPE=″text″CLASS=″input″NAME=″p_mid_init″VALUE=″″SIZE=″2″MAXLENGTH=″1″></TD><TDWIDTH=″160″><INPUTTYPE=″text″CLASS=″input″NAME=″p_last_name″VALUE=″″SIZE=″18″MAXLENGTH=″20″></TD><TDWIDTH=″184″><SELECTNAME=″p_suffix″><OPTION></OPTION><OPTIONVALUE=″JR″>JR<OPTIONVALUE=″SR″>SR<OPTIONVALUE=″2″>2<!--SIPO<DPn="12">--><dpn="d12"/><OPTIONVALUE=″3″>3<OPTIONVALUE=″4″>4</SELECT></TD></TR></TABLE>理解该HTML的关键在于找到标记为“input”(粗体)的区域。第一个input是用户的名,它由下述组成<TDWIDTH=″135″><INPUTTYPE=″text″CLASS=″input″NAME=″p_first_name″VALUE=″″SIZE=″15″MAXLENGTH=″15″></TD>这意味着此信息的全部都可能非常有助于机器学习系统预测这是名(firstname)输入项。例如,字段名包含“first”和“name”的事实是极其有用的。字段宽度和大小是15个字符的事实也是有帮助的(注意,例如姓字段输入项宽度为20)。此外,该字段输入项的形式为表。如果某人分析该表,该人可看到紧接着最上面的表输入项是<TDwidth=″170″><STRONG><SPANCLASS=″text2″>*</SPAN></STRONG>FirstName</TD>上面的表输入项不是输入字段且包含串“FirstName”的事实高度地指示出这是firstname字段。在某些情况下,紧接着左面的表输入项也是有用的,紧接着右面的表输入项也是有用的。例如,在该情况下,紧接着右面的字段也是输入字段并具有名称为“p_last_name”的事实同样高度地指示出这是firstname字段。使用不相同或不完全确切匹配的附近文本或附近文本的子串可能也是有用的。给定一组输入,机器学习系统通常试图学习来预测输出值。在该例子中,可能的输出值可能是“名”(firstname)、“姓”(lastname)、“城市”(city)、“国家”(state)、“地址行1”(addressline1)、“地址行2”(addressline2)、“电话号码”(phone#)等等,以及用于我们不知道如何自动填充的字段类型的“无”(none)。对系统的输入是诸如下述的值Maxlength=15Size=15Fieldname=″p_first_name″Fieldname-to-right=″p_last_name″Text-above=″<TDwidth=″170″><STRONG><SPANCLASS=″text2″>*</SPAN></STRONG>FirstName</TD>″等等。这些输入然后被转变成特征值,一般是Boolean(布尔逻辑值),但是有时是数字的、绝对的和/或相对的。在该情况下,布尔逻辑值可包括MaxLengthBetween15and19=trueSizeBetween15and19=trueSizeExactly15=trueFieldNameContains_First=trueFieldnameContains_Name=trueFieldNameEquals_p_First_Name=trueFieldNameRightcontains_Last=trueFieldNameRightContains_Name=trueFieldNameRightSizeBetween20and24=trueTextAboveContains_First=trueTextAboveContains_Name=true还存在许多其它的可能的特征值,在该情况中,大多数的值为“false”。可通过例如寻找有用的范围以及通过寻找常用的、有用的字符顺序来自动地确定布尔逻辑值。可选地,可通过例如编程者检查输入值并确定最有用的布尔逻辑值来人工地确定布尔逻辑值。现在转到图5,例示出根据本发明的一方面的已经过训练的智能自动填充系统500的示意框图。该图指示出一张新的web表格已呈现给或显示给用户(510),以及自动填充特征已由用户调用来填充一个或多个表格字段。特别地,选择性填充组件520可被触发来将信息自动输入到一个或多个表格字段中。当看到新的表格时,可以确定所有字段的特征值。这些值随后可被传送给经过学习的模型,该模型为每个字段的每个输出(字段类型)输出概率、分数或0-1值。例如,可以标出表格字段和它们的值一个字段对于成为first的可能性为90%,不成为first的可能性为10%(或成为last的可能性为10%),另一个字段对于成为last的可能性为90%,成为first的可能性为10%。从而,应该发现最佳的赋值,来促进以最大的精确性将数据填充到表格字段中。对数据输入项(数据库输入项)的赋值以形成值,这可至少部分地基于一个或多个约束530。约束530可设置用于限制或约束不作出某些类型的赋值。约束限制的一个例子与一给定表格中可使用数据库输入项的次数有关。一般地,数据库输入项每个表格仅应使用一次,虽然在某些情况下(例如电话号码),可能允许重复使用。如果阻止或禁止某些字段的重复使用(设置为约束),可发现符合重复使用约束的字段名对数据库名的最可能或最高分数的赋值。从而,数据输入项—表格字段分析组件540可为给定的web表格评估一个或多个可用的约束,然后确定(来自任选的数据库550的)数据输入项的赋值以形成字段。最终,自动填充系统的“建议的”输出可在各表格字段中显示出来。还可能存在相冲突的输出类型表示,例如“firstname”、“lastname”和“name”(firstname和lastname的组合)。从而,可设置合成约束,假设这些不同的变型都应存在于同一页面上。该约束能够指示出仅能存在“name”字段或“first”和“last”name字段。如果存在“name”字段,则例如通过从数据库连接firstname和lastname字段来构成数据。类似地,可能存在“区码”(areacode)、“交换局”(exchange)和“最后四位”(last4digits)字段,也可存在“电话号码”(phonenumber)字段(由来自数据库的所有三个字段组成)。在任何情况下,都可确定符合合成约束的字段名的最可能或最高分数的赋值(因为不允许同时具有name输入项和lastname输入项)。某些字段输入项在没有其它字段输入项的情况下永远不应被使用。例如,没有第1地址行(#1)输入项,将永远不会使用第2地址行(#2)输入项。没有用户的firstname,将永远不会使用用户的中间首字母(middleinitial)。类似地,middleinitial永远不会出现在firstname字段之前;地址行2永远不会出现在地址行1之前。而且,也可找到符合这些约束的最可能的或最高分数的字段名的赋值。此外,如果某人从左向右填写信息,系统可猜测初始的数据输入项对应于firstname,然后预测右面的字段是lastname字段。因此,考虑到约束作出观察来更好地确定数据输入字段到表格字段的赋值。也可将对于某些表格字段唯一的特征限制到约束。例如,可为某一数据库字段给出一特征,位于某一其它字段的上方、下方、左方、右方、紧接着上方、紧接着下方、紧接着左方、或紧接着右方。从而,在实践中,可预期“exchange”字段位于“areacode”字段的紧接着右方。当采用系统500时,可能不“知道”哪些输入字段是哪些,但是可尝试许多不同的赋值,并可作出尝试来挑选符合诸约束的一种赋值。可选地,可作出若干不同的赋值。随后,可确定输入字段到包括这些布局特征的表格字段的某些赋值的最大联合概率。这可部分地通过以下述为条件的方法来实现“该第一个是第一、在给定第一个的情况下第二个是第二、在给定第一个和第二个的情况下,第三个是第三、依此类推”的概率是什么。当进行复联运算时,获得了总的联合概率。从而,不用将该问题考虑成独立于其它字段而对每个字段赋值,可以按照使联合概率最大化的方法来确定字段的最佳赋值。约束530可以是硬或软约束。在硬约束中,必须满足约束。在软约束中,违反约束将有很大的惩罚。先前的大部分的讨论涉及构建为每个用户(非用户特定的)工作的自动填充系统。然而,还可根据用户来定制自动填充系统。特别地,可将从数据库字段到表格值的映射个人化。例如,可能观察到在某一页面上,用户拒绝我们建议的自动输入项,而是手工地输入数据。这些数据中的一些可能匹配数据库中的输入项。从而,可随后为该用户学习到这些输入字段输入项对应于所观察的数据库输入项。接着,可利用该信息来更新用户的自动填充器。信息也可以站点特定的方式来得到更新,从而学习到某一web页面上的输入项对应于某些特定的数据库输入项。而且,用户能够从一开始就定制自动填充系统,或者可把可由用户按需修改的默认设置呈现给用户。可以站点特定的方式或机器学习的一般方式来进行个人化。例如,系统可观察到当某一字段表示NOMBRE,用户输入“Jose”而不是可能为自动填充建议的Juan。如果是站点特定的,系统可能注意到用户在该特定页面上键入“Jose”。一般地,数据库输入项和/或任何个人化可任选地存储于与用户的计算机分离的计算机上(例如位于可通过因特网或LAN访问的服务器上)。某些表格,诸如上面给出的示例性页面,可能包含多组字段(例如家庭地址和公司地址)。可使用直观推断或学习来识别这些情况。例如,在Verizon页面(图4)上,不同的地址位于不同的表中。典型地,不同的地址可以与页面的实际文本空间上不相交和/或相对远离。从而,可以学习到将信息分割成各自的组(例如家庭地址和公司地址)。在某些情况下,自动填充系统可能不立即向用户建议用于某一表格的正确的输入项。随着用户手工地将数据输入到表格上,我们可观察到用户输入了什么,并试图确定是输入字段对数据库字段的其它映射符合他的输入项,还是数据库中的不同输入项。例如,系统可输入用户的家庭地址,但是然后观察到他输入符合其公司地址的数据。可选地,系统可观察到用户输入符合其联系人列表中的输入项的数据。在该情况下,可以作出根据最佳分级的一致输入项来作出新的自动字段输入项。可使用“一次全部”用户界面来作出输入项的建议,例如当前所做的那样,但是,也可以递增的方式(例如通过每个字段中的下拉列表)来作出,可以利用或不利用字段的数据库,且可以利用或不利用机器学习。随着用户开始输入数据到字段中,可存在具有部分地根据用户输入了什么的最佳建议的下拉框(例如,用户输入“J”,下拉框提供“Joshua”)。可选地,在用户输入一输入字段时(例如通过使用箭头键(arrowkey)、标志键(tabbing)或点击字段),可用最佳建议来填充字段。当用户在包含所选文本的字段中键入时,所选文本可被自动去除;但是如果用户不进行键入,则文本保留在那里。将通过一系列动作来描述根据本发明的各种方法,要理解到本发明不限于动作的顺序,因为根据本发明,某些动作可以与其它动作以不同的顺序发生和/或同时发生。例如,本领域的技术人员将理解到可把方法表示为一系列相互关联的状态或事件,例如状态图。而且,并非所有例示出的动作都是实现根据本发明的方法所必须的。参考图6,示出了根据本发明的一方面的便于将数据自动输入到web页面上的一个或多个表格字段中的示例性方法600的流程图。方法600涉及在610处提供或生成基于web的表格。基于web的表格可包括用户希望以自动化的方式进行填充的一个或多个表格字段。在620,可使用机器学习技术将输入数据映射到各数据输入项字段。结果,机器学习系统能够学习到哪些数据对应于哪些字段。参考图7,示出了与构建智能填充系统有关的、便于生成用于机器学习系统的训练数据的示例性方法700的流程图。方法700可起始于710处,用户将数据输入到web页面上的一个或多个表格字段。在720处,可由一个或多个工具化的工具栏观察和/或收集到下列的一个或多个输入到至少一个各自的表格字段的数据;哪个数据输入项正进入各表格字段;和/或各表格字段的特征。在730处,可采用一个或多个机器学习系统来学习数据输入项与正确的表格字段之间的相关性,从而当重新访问新的页面或先前的页面时,方法700能够以自动化的方式知道哪些数据输入到哪些字段。这种学习可包括离线学习和在线学习。任选地,在720处收集的数据可在图8所例示的810处发送回中央储存库或数据库。中央储存库中的数据可被映射到它们各自的字段,导致生成一组或多组训练数据。训练数据随后可用作机器学习系统的输入,来学习哪些数据库字段或输入项对应于哪些表格字段。作为这种学习的结果,可自动地填充用户的web页面上的表格字段,而不管该web页面是否以前被看到过。现在转到图9,示出了尤其当web表格从未被自动填充系统或方法看到过时,促进将数据库输入项赋值到表格字段的示例性方法900的流程图。在这些情况下,方法900可在910处一开始发现用于表格字段的特征值。特征值可以是概率或分数,这取决于它们是如何被计算出的。在920处,可设置一个或多个约束来管理或控制数据输入项(或数据库输入项)对表格字段的赋值。可采用若干种约束,例如但不限于合成约束(例如相冲突的输出类型)、重复使用约束(例如每个表格不止一次使用同一数据输入项),顺序约束(例如某些表格必须位于某一顺序、位置或离开其它表格字段),和/或伴随约束(例如某些表格不能独立于其它表格而被使用)。在930,可至少部分地基于一个或多个约束来确定数据输入项到表格字段的赋值。约束可包括硬约束和软约束。与硬约束相反,软约束不要求必须被满足。然而,不满足软约束会导致严重的惩罚。作为与其它表格字段(不管是相邻还是不相邻)无关地确定每个表格字段的赋值的替代,在940处可计算最大联合概率,以确定赋值的整体概率。可作出许多不同组的赋值,一组赋值内的每个赋值的各自的概率在给定该组中的其它赋值的情况下可复联在一起。可选择具有最高联合概率的一组赋值,并利用它来填充基于web的表格。现在参考图10,示出了说明如上所述的智能自动填充方法或系统的调用的示例性方法1000的流程图。在该特定场合下,可在1010处构建一个或多个数据库,可使其中存储的数据相关联来将输入库输入项与表格字段相匹配。在1020,假设用户已打开了具有要填充用户的数据的一个或多个字段的基于web的表格页面。在1030,用户逐字段或按字段组地、选择性地调用自动填充功能。例如,可一次调用全部自动填充特征来一次填充全部字段,逐字段地或按照字段组(诸如地址字段、城市字段和国家字段之类的相关字段)的方式进行填充,从而每个字段都按照用户所希望的那样被填充。假设至少一个字段已被自动填充,用户可通过简单地在它上面进行键入来覆盖它。该“新的”数据也可被学习,自动填充组件可被修改来识别何时该新的数据应被使用。在覆盖之后,自动填充特征可被再次调用,从而填充剩下的字段。然而,被覆盖的字段不受影响。此外,自动填充特征可观察用户手工输入的数据,然后使用与被覆盖的数据有关的数据来自动填充剩余的字段。例如,假设一开始自动填充了NAME字段。用户删除了他的姓名,并插入了他兄弟的姓名。他兄弟的信息可存储于自动填充组件可访问的一个数据库中。从而,当识别到该兄弟的姓名时,自动填充组件或方法可将兄弟的数据从数据库提取出,并填充到表格字段中。为了提供用于本发明的各方面的额外的上下文环境,图11以及下面的讨论给出了在其中可实施本发明的各方面的一种适用的操作环境1110的简要的总体说明。虽然以诸如程序模块之类的由一个或多个计算机或其它设备执行的计算机可执行指令的上下文描述了本发明,但是本领域的技术人员将认识到还可用其它程序模块的组合和/或软硬件的组合来实施本发明。然而,一般而言,程序模块包括例程、程序、对象、组件、数据结构等,它们执行特定的任务和实现特定的抽象数据类型。操作环境1110仅仅是适用的操作环境的一个例子,不意图对本发明的功能和使用范围作出任何限制。可适用于本发明的其它已知的计算机系统、环境和/或配置包括但不限于个人计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、可编程的消费电子产品、网络PC、小型机、大型机、包括上述系统或设备的分布式计算环境等等。参考图11,用于实施本发明的各方面的示例性环境1110包括计算机1112。计算机1112包括处理单元1114、系统存储器1116和系统总线(BUS)1118。系统总线1118将包括但不限于系统存储器1116的系统组件耦合到处理单元1114。处理单元1114可以是任何可用的处理器。双微处理器和其它多处理器架构也可用作处理单元1114。系统总线1118可以是若干总线结构中的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用的总线体系结构中的任一种的局部总线,包括但不限于11-bit总线、工业标准结构(ISA)、微通道架构(MSA)、扩展的ISA(EISA)、智能驱动电子设备(IDE)、VESA局部总线(VLB)、外部设备互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、以及小型计算机系统接口(SCSI)。系统存储器1116包括易失性存储器1120和非易失性存储器1122。包含诸如在起动期间在计算机1112内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)存储于非易失性存储器1122中。作为示例但非限制,非易失性存储器1122可包括只读存储器(ROM)、可编程ROM(PROM)、电气可编程ROM(EPROM)、电气可擦除ROM(EEPROM)、或闪存。易失性存储器1120包括随机存取存储器(RAM),它作为外部高速缓冲存储器。作为例示而非限制,RAM可采用各种形式,例如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强性SDRAM(ESDRAM)、SynchlinkDRAM(SLDRAM)以及直接RambusRAM(DRRAM)。计算机1112还包括可移动/不可移动、易失性/非易失性计算机存储媒介。例如,图11例示出盘存储器1124。盘存储器1124包括但不限于类似于磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或记忆棒之类的设备。此外,盘存储器1124可包括与包括但不限于光盘驱动器的其它存储媒介分离或组合的存储媒介,光盘驱动器例如紧致盘ROM(CD-ROM)、CD可录制驱动器(CD-RDrive)、CD可复写驱动器(CD-RWDrive)或数字通用盘ROM驱动器(DVD-ROM)。为了便于将盘存储设备1124连接到系统总线1118,通常使用诸如接口1126之类的可移动的或不可移动的接口。要理解到,图11描述了充当用户和适用的操作环境1110中描述的基本计算机资源之间的中介的软件。这种软件包括操作系统1128。操作系统1128可存储于盘存储器1124上,用于控制和分配计算机系统1112的资源。系统应用程序1130通过存储于系统存储器1116或盘存储器1124上的程序模块1132和程序数据1134来利用操作系统1128对资源的管理。还要理解到可用各种操作系统或操作系统的组合来实施本发明。用户通过输入设备1136将信息或命令输入到计算机1112。输入设备1136包括但不限于诸如鼠标之类的指点设备、轨迹球、触笔、触板、键盘、话筒、操纵杆、游戏盘、圆盘式卫星天线、扫描仪、TV调谐器卡、数字照相机、数字摄像机、web照相机等等。这些和其它输入设备通过接口端口1138,经系统总线1118连接到处理单元1114。接口端口1138包括例如串口、并口、游戏端口、通用串行总线(USB)。输出设备1140适用某些与输入设备相同类型的端口。从而,例如,USB端口可用于向计算机1112提供输入,以及从计算机1112将信息输出到输出设备1140。提供输出适配器1142来例示出存在某些输出设备1140,例如监视器、扬声器、打印机等,它们要求特殊的适配器。作为例示但非限制,输出适配器1142包括视频卡和声卡,它们提供了一种输出设备1140和系统总线1118之间的连接的手段。应注意到其它设备和/或设备的系统提供输入和输出能力,例如远程计算机1144。计算机1112可工作于适用对诸如远程计算机1144之类的一个或多个远程计算机的逻辑连接的连网环境中。远程计算机1144可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的设备、对等设备或其它公共网络节点等,一般包括关于计算机1112描述的许多或全部元件。处于简要的目的,远程计算机1144仅例示出存储器存储设备1146。远程计算机1144通过网络接口1148与计算机1112逻辑连接,然后通过通信连接1150而在物理上进行连接。网络接口1148包括通信网络,例如局域网(LAN)和广域网(WAN)。LAN技术包括光纤分布式数据接口(FDDI)、铜芯分布式数据接口(CDDI)、以太网/IEEE1102.3、令牌环/IEEE1102.5等等。WAN技术包括但不限于点对点链接、类似于综合业务数字网络(ISDN)的电路交换网络及其变型、分组交换网络、数字订户线路(DSL)。通信连接1150指的是用于将网络接口1148连接到总线1118的硬件/软件。虽然出于例示的目的示出通信连接位于计算机1112内,但是它也可在计算机1112的外部。出于示例性的目的,对于到网络接口1148的连接所必需的硬件/软件包括但不限于内部和外部技术,例如包括常规电话级调制解调器、电缆调制解调器、DSL调制解调器、ISDN适配器、以太网卡之类的调制解调器。上述的描述包括本发明的实例。当然,出于描述本发明的目的,不可能描述各种组件或方法的每一种组合,但是本领域的技术人员可认识到许多进一步的组合和变更都是可能的。因此,本发明意图包含所有这些改变、修改和变型,它们都落于本发明的要旨和范围之内。权利要求1.一种自动填充系统,其特征在于,包括经训练的机器学习组件,使用一组或多组输入以便于基于web的表格的自动填充;以及自动填充组件,至少部分地根据所述机器学习组件生成的信息,选择性地将适当的数据输入到一个或多个表格字段中。2.如权利要求1所述的系统,其特征在于,所述一组或多组输入存储并检索于一个或多个数据库中。3.如权利要求2所述的系统,其特征在于,所述机器学习组件学习从多个数据库字段映射到对应的表格字段。4.如权利要求2所述的系统,其特征在于,所述一个或多个数据库包括自动填充数据库、联系人列表数据库、账户登记数据库、以及产品注册数据库中的至少一个。5.如权利要求2所述的系统,其特征在于,所述机器学习组件至少部分地基于一个或多个约束来生成数据库输入项对表格字段的赋值。6.如权利要求5所述的系统,其特征在于,所述一个或多个约束包括限制每个基于web的表格使用任一数据库输入项的次数的重复使用约束。7.如权利要求5所述的系统,其特征在于,所述一个或多个约束包括控制允许哪些数据库输入项或输出类型呈现在当前的任一基于web的表格上的合成约束。8.如权利要求5所述的系统,其特征在于,所述一个或多个约束包括对一起出现的或以某一顺序出现的字段的约束。9.如权利要求2所述的系统,其特征在于,数据库的输入对应于一个或多个数据库或输入字段,数据库或输入字段具有一个或多个从中得出的特征。10.如权利要求9所述的系统,其特征在于,至少一个特征用于一特定数据字段,该数据字段是其他数据库字段的上面、下面、左面、右面、紧接着上面、紧接着下面、紧接着左面或紧接着右面中的至少一个的。11.如权利要求10所述的系统,其特征在于,还包括确定输入字段到表格字段的包括所述至少一个特征的一特定赋值的联合概率的组件。12.如权利要求2所述的系统,其特征在于,还包括通过为一特定用户学习某些输入字段输入项对应于所观察的数据库输入项来将从数据库字段到表格值的映射个人化,并利用这些信息来更新自动填充组件的组件。13.如权利要求12所述的系统,其特征在于,所述组件以站点特定的方式更新自动填充组件,这包括学习一特定web页面上的某些输入字段输入项对应于特定的数据库输入项。14.如权利要求2所述的系统,其特征在于,所述机器学习组件观察到用户正在将数据输入到与所述一个或多个数据库中找到的数据相符合的字段中,这触发所述自动填充组件部分地根据最佳分级的一致输入项来提供新的自动填充建议。15.如权利要求2所述的系统,其特征在于,所述一个或多个数据库维护在与用户的计算机分开的机器上。16.如权利要求1所述的系统,其特征在于,还包括从一个或多个源收集训练数据的数据收集组件。17.如权利要求16所述的系统,其特征在于,所述数据收集组件聚集输入,并将其发送到中央储存库用于进一步处理。18.如权利要求16所述的系统,其特征在于,所述数据收集组件包括至少一个工具化的工具栏。19.如权利要求1所述的系统,其特征在于,所述输入包括MAXLENGTH或SIZE输入项。20.如权利要求1所述的系统,其特征在于,所述输入包括字段名的子串。21.如权利要求1所述的系统,其特征在于,所述输入包括来自一个或多个相邻表格字段的信息。22.如权利要求1所述的系统,其特征在于,所述输入包括附近文本或附近文本的子串中的至少一个。23.如权利要求1所述的系统,其特征在于,所述机器学习组件将一个或多个输入转换成一个或多个特征值。24.如权利要求23所述的系统,其特征在于,所述特征值是布尔逻辑值或数字值中的一个。25.如权利要求24所述的系统,其特征在于,所述布尔逻辑值是通过进行下列的至少一个来自动确定的寻找游泳的范围;以及寻找公知的和有用的字符序列。26.如权利要求24所述的系统,其特征在于,所述布尔逻辑值是通过检查输入值并确定一个或多个最有用的布尔逻辑值来手工确定的。27.如权利要求1所述的系统,其特征在于,所述自动填充组件在用户开始将数据输入到字段中时以来自字段的下拉框提供自动填充建议。28.如权利要求1所述的系统,其特征在于,所述自动填充组件在用户输入字段时用建议的数据填充字段。29.如权利要求1所述的系统,其特征在于,还包括检测基于web的表格是否包括多种字段,并将它们分成至少两个字段子组的组件。30.如权利要求29所述的系统,其特征在于,所述组件采用直观推断来检测多个组,并将它们分成至少两个子组。31.如权利要求1所述的系统,其特征在于,所述机器学习组件包括监控组件,观察用户对表格字段的输入,以促进学习什么值最适合于一个或多个表格字段。32.如权利要求31所述的系统,其特征在于,所述机器学习组件学习用户先前作出的那个输入项是他最可能输入到一给定的输入字段中的。33.如权利要求32所述的系统,其特征在于,所述机器学习组件不学习对于那些看上去包含敏感信息的字段的用户输入。34.如权利要求31所述的系统,其特征在于,所述机器学习组件利用一个或多个数据库输入项和观察到的输入项来学习下列中的至少一个一字段用来自数据库的输入项填充的概率乘以该数据库字段是正确的输入项的概率;以及一字段不用来自数据库的输入项填充的概率乘以通过观察用户输入项而计算出的概率。35.如权利要求31所述的系统,其特征在于,所述机器学习组件部分地根据可能用于字段的值来生成一个或多个特征。36.如权利要求35所述的系统,其特征在于,所述一个或多个特征对于下一值之前的每个值来说是基于顺序的。37.如权利要求31所述的系统,其特征在于,使用离线算法来训练所述机器学习系统,所述离线算法包括收集字段输入项的多个观察到的实例,并存储它们。38.如权利要求31所述的系统,其特征在于,使用在线算法来训练所述机器学习系统,所述在线算法使用Bayes方法、梯度下降、簸选或感知器算法中的一个。39.如权利要求1所述的系统,其特征在于,表格字段包括文件输入字段,部分地基于最近访问的文件来显示文件。40.如权利要求39所述的系统,其特征在于,自动填充组件输入的文件是部分地基于该文件字段中最近使用的输入项和最近访问的文件的某种组合来确定的。41.如权利要求40所述的系统,其特征在于,所述组合至少部分地基于最近访问的时间和最近输入的时间。42.如权利要求1所述的系统,其特征在于,表格字段包括单选按钮和复选框,从而自动填充组件能够学习是否要复选或不复选复选框,或选择单选按钮。43.一种存储有权利要求1所述的系统的计算机可读媒介。44.一种自动填充系统,其特征在于,包括至少部分地根据观察用户对基于web的表格的一个或多个字段的输入来训练的机器学习组件;从一个或多个源收集训练数据的数据收集组件,训练数据用户训练机器学习组件;以及自动填充组件,至少部分地根据从机器学习组件作出的观察中学习到的信息,自动地将预期的数据输入到一个或多个表格字段。45.一种自动填充系统,其特征在于,包括产生数据输入项对基于web的表格的一个或多个字段的赋值的经训练的机器学习组件;以及自动填充组件,至少部分地根据机器学习组件观察到的经学习的用户偏好,自动地将数据输入项输入到一个或多个表格字段。全文摘要本发明提供一种独特的系统和方法,能够采用机器学习技术跨各种不同的Web表格自动填充一个或多个字段。特别地,一个或多个工具化工具可收集表格字段的输入或输入项。机器学习可用于学习什么数据对应于哪些字段或哪些类型的字段。输入可被发送回中央储存库,在中央储存库中,其它数据库也可聚集在一起。该输入可提供给机器学习系统,以学习如何预测所希望的输出。可选地或除此之外,可部分地通过观察输入项,然后相应地对自动填充组件进行适配来进行学习。此外,可采用数据库字段的若干特征以及约束来促进数据库输入项到表格值的赋值-特别是在Web表格从未被自动填充系统看到过时。文档编号G06F15/00GK1696937SQ200510070040公开日2005年11月16日申请日期2005年4月29日优先权日2004年5月12日发明者C·M·卡迪,D·A·格拉斯哥,D·M·奇克林,D·E·布拉德福德,J·T·古德曼申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1