一种半自动化学习式的表单特征提取方法

文档序号:6552299阅读:125来源:国知局
一种半自动化学习式的表单特征提取方法
【专利摘要】本发明公开了一种半自动化学习式的表单特征提取方法,包括以下步骤:(1)启动学习装置;(2)输入标记语言文件的位置;(3)学习装置加载标记语言文件;(4)生成标记语言集合体;(5)学习模块插入标记语言文件中;(6)操作表单,完整记录,生成特征信息;(7)将表单结构信息存入数据库;(8)表单特征学习完成。本发明所述方法能够通过人工参与的方式,以半自动化机器学习标记语言表单结构,能够提取具有完整性、真实性、精确性的网页表单结构特征;提交表单由学习装置完成,表单特征提取不易失败;使<input>输入框被<form>标签所包裹,从而浏览器发出网页加载完毕通知后能够符合静态扫描的规则,可以进行顺利查询。
【专利说明】一种半自动化学习式的表单特征提取方法

【技术领域】
[0001] 本发明涉及机器学习、数据挖掘、上网体验领域,具体是指一种半自动化学习式的 表单特征提取方法。

【背景技术】
[0002] 随着互联网信息技术的普及和平民化,通过浏览器访问网站检索信息和交流已经 成为提高现代社会生产力的必备技能之一。
[0003] 在访问网站检索信息时,可能需要频繁的向网站输入信息,如:用户登录、发表评 论、参加投票等,有些信息是需要重复且频繁输入的,如:用户登录,在不同的网站,就要输 入不同的用户名或密码等信息;而网上购物,购买不同的商品,就要多次输入自己的地址、 邮编、收货人姓名等信息。
[0004] 因为这些信息可能需要频繁、大量的输入,且信息具有单一性,例如网上购物,自 己的地址通常不会经常改变,而姓名更是如此,所以几乎所有的现代标记语言处理装置外 壳,即标记语言处理装置的人机交互接口,如浏览器界面,提供了自动登录和表单自动代填 功能,减轻人类的重复劳动负担,提高生产效率。
[0005] 如果标记语言处理装置外壳需要将数据自动填写到标记语言处理装置中的表单 中,必须知道相关条目所对应的表单项目,如:收件人姓名对应第1个输入框,收件人地址 对应第2个输入框,收件人邮编对应第3个输入框。在如此规则下,就必须要知道表单的结 构特征,才能正确的将数据填写入对应的项目中。
[0006] 万维网联盟提出的HTML,即超文本标记语言,简称"标记语言",语言标准使互联网 可以通过统一、标准化的语言生成由标记构成的网页文件,简称"标记文件"。HTML语言以 树形结构的标签为基准,提供了一系列的标准基础部件,标记语言处理装置只要实现HTML 标准,就可以保持通用性。
[0007] 在使用标记语言处理装置加载网站的标记语言文件时,如果需要向网站提交数 据,如聊天、发表评论、买卖商品、保存个性化信息等,网站就必须提供采集浏览器数据采 集数据的途径,为此HTML语言标准提供了 "表单(form)"部件,一个表单通常包含以下元 素:〈form〉:声明这是一个表单,这之中的数据会被提交到服务器;〈input〉:〈form>标签的 子节点,声明这是一个单行文本输入框,根据type属性,会呈现出不同的样式,如:〈input type=text>,一个普通的输入框;〈input type=password>, -个隐藏了输入内容的密码输 入框;提交表单按钮:提交表单实为〈input〉标签的一个type属性,当〈input〉标签的type 属性被设置为submit时,会在标记语言处理装置中呈现出一个按钮,当按钮被激活时,会 将〈form〉标签中所有合法〈input〉用户输入的数据全部提交到服务器。
[0008] 现有特征分析方法,如图1所示,每当标记语言处理装置发出标记文件加载完毕 通知时,就假设页面会出现包含以上元素的内容,再通过标记语言处理装置提供的接口对 标记文件进行分析,取出表单的<from>〈input>特征,但此种方法在高速发展的动态标记 加载技术面前已经显得力不从心,因为动态标记加载技术会导致以下问题: 标记语言处理装置发出网页加载完毕通知后,标记文件中并没有登录框的内容,而 呈现表单所需要的标记语言实际上正在由标记文件中的JavaScript脚本继续加载,也就 是说,此时呈现表单所需要的标记语言集合并没有真正加载完成,所以表单特征提取会失 败; 提交按钮并不是〈input type=submit>,可能是任意一个加入了调用JavaScript脚本 代码的HTML标签,而提交表单是由JavaScript脚本来完成的,所以表单特征提取会失败; 甚至〈input〉输入框也并没有被〈form〉标签所包裹。这就导致浏览器发出网页加载 完毕通知后不能满足静态扫描的规则,导致查询失败。


【发明内容】

[0009] 本发明的目的在于通过人工参与的方式,提供一种能够进一步提取具有完整性、 真实性、精确性的网页表单结构特征的半自动化学习式的表单特征提取方法。
[0010] 本发明通过下述技术方案实现一种半自动化学习式的表单特征提取方法,包括以 下步骤: (1) 启动学习装置,学习装置内置标记语言处理装置; (2) 在地址栏输入标记语言文件的位置; (3) 学习装置通过内置浏览器加载标记语言文件; (4) 加载完成后,内置浏览器通知学习装置标记语言文件加载完成,并生成标记语言集 合体; (5) 学习装置将学习模块插入已加载的标记语言文件中; (6) 操作表单,通过学习装置完整记录,并生成相关的特征信息; (7) 收到提交按钮点击事件后,学习模块认为学习完成,将表单结构信息存入数据库; (8) 整个表单特征学习过程完成。
[0011] 上述方法通过制造一个内置处理标记语言装置的学习装置,确定标签语言,标记 语言处理装置选择呈现输入框的标签默认为〈input〉标签。
[0012] 在半自动化学习过程中,机器并不需要识别网页何时加载完成,而是人为进行判 断。
[0013] 当看到标记语言处理装置显示出需要填写内容的表单时,呈现表单结构的标签语 言集合一定已经完整存在于标记语言处理装置中了。
[0014] 告知标记语言处理装置,当任意〈input〉标签被激活时,通知学习装置被激活的 〈input〉标签的对象。
[0015] 学习装置通过已激活的〈input〉标签对象,读取此标签的属性。
[0016] 学习装置通过遍历标记语言处理装置中的标签语言集合,计算当前已激活 〈input〉标签在标签语言集合中的绝对位置。
[0017] 告知标记语言处理装置,在产生表单提交事件时,不要提交至服务器,而是通知学 习装置表单提交事件是由哪个对象产生的。
[0018] 在学习装置中,依次激活需要填写内容的输入框,此过程中,被激活过的输入框将 被记录,未被激活过、重复激活的将被忽略。点击提交按钮,产生表单提交事件,学习装置收 到事件后,将上步中记录的输入框信息和当前标记文件对应的URL存入表单特征数据库。
[0019] 至此,学习完成。
[0020] 学习装置可以通过此部件,与标记语言处理装置进行交互,学习网页表单特征,并 存入表单特征数据库。
[0021] 无论何种引擎,若要其发挥价值,最终都要集成到业务环境中,因此,引擎会对外 提供使第三方装置能够操作自己的操作接口。
[0022] 依据JavaScript语言标准,当使用控制器在标记语言处理装置中点击时,可以产 生一个onClick事件。
[0023] 依据JavaScript语言标准,当产生onClick事件时,可以调用一个函数,并将触发 onClick的对象通过参数传递给函数,使JavaScript语言可以根据此事件操作对象。
[0024] 编写一个JavaScript函数,此函数会一直遍历当前标记语言处理装置中的标签 对象,并以自己的onClick处理函数注册input标签、button标签、a标签、img标签的 onClick事件,以便处理之后动态加载的HTML控件。
[0025] 编写一个JavaScript函数,此函数负责收集onClick处理函数送出的信息。
[0026] 当标记语言处理装置确认标记语言文件被加载完毕时,学习装置通过处理标记语 言装置自身提供的接口将学习装置提供的私有JavaScript接口注册到标记语言处理装 置,此私有接口可以使标记语言处理装置中的JavaScript引擎与学习装置通信,通过此私 有接口当前标记文件中的JavaScript引擎可以将收集到的标签信息送交给学习装置。 [0027] 进一步地,所述学习装置内置实体的标记语言处理装置。
[0028] 进一步地,所述学习装置内置非实体的标记语言处理装置。
[0029] 进一步地,所述标记语言处理装置设有操作接口。
[0030] 进一步地,所述标记语言处理装置默认标签语言为HTML。
[0031] 进一步地,所述标记语言处理装置为Trident引擎,所述操作接口为WebControl 接口。目前已经有很多成熟的标记语言处理装置,这些装置包括微软公司的Trident引擎、 Google公司的Blink引擎、Mozilla基金会的Gecko引擎、苹果公司的WebKit引擎以及其 他相关行业公司的私有实体或虚拟引擎,且不同的标记语言处理装置设有相应的接口,种 类名称繁多,这里优选标记语言处理装置为Trident引擎,其接口为相应的WebControl接 □。
[0032] 进一步地,所述内置浏览器为IE浏览器。
[0033] 进一步地,所述标记语言集合体为JavaScript脚本内容。
[0034] 本发明与现有技术相比,具有以下优点及有益效果: (1) 本发明所述方法能够通过人工参与的方式,以半自动化机器学习标记语言表单结 构,能够提取具有完整性、真实性、精确性的网页表单结构特征; (2) 本发明所述方法所用的提交按钮为〈input type=submit>,提交表单由学习装置完 成,表单特征提取不易失败; (3) 本发明所述方法使〈input〉输入框也〈form〉标签所包裹,从而浏览器发出网页加 载完毕通知后能够符合静态扫描的规则,可以进行顺利查询。

【专利附图】

【附图说明】
[0035] 图1为标记语言处理装置工作流程; 图2为带有标记语言学习装置的学习装置工作流程; 图3为标记语言集合遍历函数流程; 图4为"点击"事件处理函数流程。

【具体实施方式】
[0036] 下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
[0037] 实施例: 现有特征分析方法,如图1所示,每当标记语言处理装置发出标记文件加载完毕通知 时,就假设页面会出现包含以上元素的内容,再通过标记语言处理装置提供的接口对标记 文件进行分析,取出表单的<from>〈input>特征,但此种方法在高速发展的动态标记加载 技术面前已经显得力不从心。
[0038] 本实施例公开了一种半自动化学习式的表单特征提取方法,本方法能通过能够通 过人工参与的方式,以半自动化机器学习标记语言表单结构,能够提取具有完整性、真实 性、精确性的网页表单结构特征。具体实施步骤为: (1) 启动学习装置,会看到一个类似IE浏览器的人机交互界面; (2) 在地址栏输入标记语言文件,定位标记语言文件位置; (3) 装置通过内置的IE浏览器加载标记语言文件; (4) 完成后,内置的IE浏览器通知学习装置标记语言文件加载完成,并已经生成标记 语目集合体; (5) 学习装置将学习模块插入已加载的标记语言文件中; (6) 操作表单,如填写内容、选中一个选项、点击提交按钮等,这些过程将被学习装置完 整记录,或者并生成标签名、属性、绝对位置等相关的特征信息; (7) 收到提交按钮点击事件后,学习模块认为学习完成,将表单结构的特征信息存入数 据库。整个表单特征学习过程完成。
[0039] 其中带有标记语言学习装置的学习装置工作流程,如图2所示,默认标签语言为 HTML,标记语言处理装置选择呈现输入框的标签默认为〈input〉标签。
[0040] 在半自动化学习过程中,机器并不需要识别网页何时加载完成,而是由人为进行 判断。
[0041] 看到标记语言处理装置显示出需要填写内容的表单时,呈现表单结构的标签语言 集合已经完整存在于标记语言处理装置中了。
[0042] 告知标记语言处理装置,当任意〈input〉标签被激活时,通知学习装置被激活的 〈input〉标签的对象,标记语言处理装置在解析标记语言时,为每一个标签生成唯一的对应 关系入口,学习装置通过已激活的〈input〉标签对象,读取此标签的属性,学习装置通过遍 历标记语言处理装置中的标签语言集合,计算当前已激活〈input〉标签在标签语言集合中 的绝对位置,告知标记语言处理装置,在产生表单提交事件时,不要提交至服务器,而是通 知学习装置表单提交事件是由哪个对象产生的,在学习装置中,依次激活需要填写内容的 输入框,此过程中,被激活过的输入框将被记录,未被激活过、重复激活的将被忽略,在学习 装置中,点击提交按钮,产生表单提交事件,学习装置收到事件后,将上步中记录的输入框 信息和当前标记文件对应的URL存入表单特征数据库。
[0043] 标记语言处理装置选择使用微软公司的Trident引擎,其相应接口为WebControl 接口。
[0044] 依据JavaScript语言标准,当使用控制器在标记语言处理装置中点击时,可以产 生一个onClick事件,当产生onClick事件时,可以调用一个函数,并将触发onClick的对 象通过参数传递给函数,使JavaScript语言可以根据此事件操作对象。
[0045] 其中编写一个JavaScript函数,此函数会一直遍历当前标记语言处理装置中的 标签对象,如图3所示,并以自己的onClick处理函数注册input标签、button标签、a标签、 img标签的onClick事件,以便处理之后动态加载的HTML控件,此函数负责收集onClick处 理函数送出的信息如图4所示。
[0046] 当标记语言处理装置确认标记语言文件被加载完毕时,Trident引擎提供的 WebControl接口,会在标记语言文件加载完毕时,放出DocumentCompleted事件,学习装置 通过处理标记语言装置自身提供的接口将读取控件信息的函数,放入当前标记文件的标记 集合中。
[0047] 当标记语言处理装置确认标记语言文件被加载完毕时,学习装置通过处理标记语 言装置自身提供的接口将学习装置提供的私有JavaScript接口注册到标记语言处理装 置,此私有接口可以使标记语言处理装置中的JavaScript引擎与学习装置通信,通过此私 有接口当前标记文件中的JavaScript引擎可以将收集到的标签信息送交给学习装置。 [0048] 学习装置收到最终的标签信息后,写入数据库。
[〇〇49] 以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依 据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护 范围之内。
【权利要求】
1. 一种半自动化学习式的表单特征提取方法,其特征在于:包括以下步骤: (1) 启动学习装置,学习装置内置标记语言处理装置; (2) 在地址栏输入标记语言文件的位置; (3) 学习装置通过内置浏览器加载标记语言文件; (4) 加载完成后,内置浏览器通知学习装置标记语言文件加载完成,并生成标记语言集 合体; (5) 学习装置将学习模块插入已加载的标记语言文件中; (6) 操作表单,通过学习装置完整记录,并生成相关的特征信息; (7) 收到提交按钮点击事件后,学习模块认为学习完成,将表单结构信息存入数据库; (8) 整个表单特征学习过程完成。
2. 根据权利要求1所述的一种半自动化学习式的表单特征提取方法,其特征在于:所 述学习装置内置实体的标记语言处理装置。
3. 根据权利要求1所述的一种半自动化学习式的表单特征提取方法,其特征在于:所 述学习装置内置非实体的标记语言处理装置。
4. 根据权利要求2或3所述的一种半自动化学习式的表单特征提取方法,其特征在于: 所述标记语言处理装置设有操作接口。
5. 根据权利要求2或3所述的一种半自动化学习式的表单特征提取方法,其特征在于: 所述标记语言处理装置默认标签语言为HTML。
6. 根据权利要求2或3所述的一种半自动化学习式的表单特征提取方法,其特征在于: 所述标记语言处理装置为Trident引擎,所述操作接口为WebControl接口。
7. 根据权利要求1所述的一种半自动化学习式的表单特征提取方法,其特征在于:所 述内置浏览器为IE浏览器。
8. 根据权利要求1所述的一种半自动化学习式的表单特征提取方法,其特征在于:所 述标记语言集合体为JavaScript脚本内容。
【文档编号】G06F17/30GK104063488SQ201410317562
【公开日】2014年9月24日 申请日期:2014年7月7日 优先权日:2014年7月7日
【发明者】陈超一, 范渊, 吴永越, 郑学新, 姜毅 申请人:成都安恒信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1