正则表达式的生成、数据提取方法、装置、设备及介质.pdf

上传人:狗** 文档编号:10146583 上传时间:2021-06-05 格式:PDF 页数:27 大小:915.83KB
收藏 版权申诉 举报 下载
正则表达式的生成、数据提取方法、装置、设备及介质.pdf_第1页
第1页 / 共27页
正则表达式的生成、数据提取方法、装置、设备及介质.pdf_第2页
第2页 / 共27页
正则表达式的生成、数据提取方法、装置、设备及介质.pdf_第3页
第3页 / 共27页
文档描述:

《正则表达式的生成、数据提取方法、装置、设备及介质.pdf》由会员分享,可在线阅读,更多相关《正则表达式的生成、数据提取方法、装置、设备及介质.pdf(27页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010935977.8 (22)申请日 2020.09.08 (71)申请人 北京百度网讯科技有限公司 地址 100085 北京市海淀区上地十街10号 百度大厦2层 (72)发明人 吕亮亮冯智宋传园 (74)专利代理机构 北京品源专利代理有限公司 11332 代理人 孟金喆 (51)Int.Cl. G06F 16/901(2019.01) G06F 16/903(2019.01) (54)发明名称 正则表达式的生成、 数据提取方法、 装置、 设 备及介质 (57)摘要 本申。

2、请公开了一种正则表达式的生成、 数据 提取方法、 装置、 设备及介质, 涉及数据处理技术 领域, 进一步涉及数据提取及分类技术, 其中, 正 则表达式的生成方法包括: 获取样本数据列表; 所述样本数据列表包括多个样本数据; 根据各所 述样本数据生成与所述样本数据列表对应的公 共数据树; 根据所述公共数据树生成数据类型列 表; 根据所述数据类型列表生成与所述样本数据 列表匹配的多个正则表达式。 本申请实施例能够 自动生成正则表达式, 从而提高正则表达式的生 成效率。 权利要求书5页 说明书17页 附图4页 CN 112115313 A 2020.12.22 CN 112115313 A 1.一种。

3、正则表达式的生成方法, 包括: 获取样本数据列表; 所述样本数据列表包括多个样本数据; 根据各所述样本数据生成与所述样本数据列表对应的公共数据树; 根据所述公共数据树生成数据类型列表; 根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。 2.根据权利要求1所述的方法, 其中, 所述根据各所述样本数据生成与所述样本数据列 表对应的公共数据树, 包括: 将所述样本数据列表作为当前数据列表; 通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序 列; 将所述当前目标公共连续子序列作为当前公共数据树的根节点, 并根据所述目标公共 连续子序列以及所述当前数据列表中各所述。

4、样本数据依次确定各所述样本数据的临时子 节点; 其中, 所述临时子节点包括第一临时子节点和第二临时子节点; 根据各所述临时子节点构建目标数据列表, 并根据所述目标数据列表更新所述当前数 据列表; 返回执行通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共 连续子序列的操作, 并根据所述目标数据列表的根节点更新所述当前公共数据树的子节 点, 直至所述当前目标公共连续子序列为空。 3.根据权利要求2所述的方法, 所述根据各所述当前子公共数据树的子节点构建目标 数据列表, 包括: 根据各所述第一临时子节点构建第一目标数据列表; 及 根据各所述第二临时子节点构建第二目标数据列表; 所述根。

5、据所述目标数据列表的根节点更新所述当前公共数据树的子节点, 包括: 将各所述第一目标数据列表的根节点作为所述当前公共数据树的第一子节点; 将各所述第二目标数据列表的根节点作为所述当前公共数据树的第二子节点。 4.根据权利要求1所述的方法, 其中, 所述根据所述公共数据树生成数据类型列表, 包 括: 根据所述公共数据树以及所述样本数据列表生成公共数据全列表; 根据所述公共数据全列表生成所述数据类型列表。 5.根据权利要求4所述的方法, 其中, 所述根据所述公共数据树以及所述样本数据列表 生成公共数据全列表, 包括: 对所述公共数据树进行遍历, 根据遍历结果构建公共数据中间列表; 根据所述样本数据。

6、列表包括的非公共数据形成对应的子数据列表; 根据各所述子数据列表对所述公共数据中间列表进行扩充, 得到所述公共数据全列 表。 6.根据权利要求4或5所述的方法, 其中, 所述根据所述公共数据全列表生成所述数据 类型列表, 包括: 将所述公共数据全列表的公共数据确定为第一数据类型; 计算所述公共数据全列表的各子数据列表的长度信息熵; 权利要求书 1/5 页 2 CN 112115313 A 2 根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子 数据列表的数据类型。 7.根据权利要求6所述的方法, 其中, 所述根据各所述子数据列表的长度信息熵与第一 设定阈值之间的数值关系确。

7、定各所述子数据列表的数据类型, 包括: 在所述子数据列表的长度信息熵大于所述第一设定阈值的情况下, 将所述子数据列表 的数据类型确定为第二数据类型; 在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下, 将所述子数 据列表的数据类型确定为所述第一数据类型。 8.根据权利要求1所述的方法, 其中, 所述根据所述数据类型列表生成与所述样本数据 列表匹配的多个正则表达式, 包括: 根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正 则表达式。 9.根据权利要求8所述的方法, 其中, 所述根据所述数据类型列表以及公共数据全列表 生成与所述样本数据列表匹配的多个正则表达。

8、式, 包括: 按照数据排序顺序获取所述公共数据全列表的当前待处理数据; 在确定所述当前待处理数据的数据类型为第一数据类型的情况下, 根据所述当前待处 理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式; 在确定所述当前待处理数据的数据类型为第二数据类型的情况下, 根据所述当前待处 理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式; 按照所述数据排序顺序获取下一个待处理数据, 并根据所述下一个待处理数据更新所 述当前待处理数据; 返回执行生成与所述当前待处理数据匹配的子正则表达式的操作, 直至所述公共数据 全列表的所有待处理数据处理完成; 根据各所述子正则表达式生成。

9、与所述样本数据列表匹配的多个正则表达式。 10.根据权利要求9所述的方法, 其中, 所述根据所述当前待处理数据包括的待处理数 据数量生成与所述当前待处理数据匹配的子正则表达式, 包括: 在确定所述待处理数据数量为第一数量时, 将所述当前待处理数据直接作为所述当前 待处理数据匹配的子正则表达式; 在确定所述待处理数据数量为非第一数量时, 将所述当前待处理数据的各个数据组合 作为所述当前待处理数据匹配的子正则表达式。 11.根据权利要求9所述的方法, 其中, 所述根据所述当前待处理数据的长度信息熵生 成与所述当前待处理数据匹配的子正则表达式, 包括: 在所述当前待处理数据的长度信息熵大于或等于第二。

10、设定阈值的情况下, 将预设字符 作为所述当前待处理数据匹配的子正则表达式; 在所述当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值的情况 下, 将所述当前待处理数据的各个数据的第一长度信息和第二长度信息作为所述当前待处 理数据匹配的子正则表达式; 在所述当前待处理数据的长度信息熵小于或等于所述第三设定阈值的情况下, 将所述 当前待处理数据的各个数据的第三长度信息作为所述当前待处理数据匹配的子正则表达 权利要求书 2/5 页 3 CN 112115313 A 3 式。 12.根据权利要求11所述的方法, 其中, 还包括: 获取各所述子正则表达式中的目标子正则表达式的表达式组成类型; 。

11、根据所述表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。 13.根据权利要求1所述的方法, 还包括: 利用亲密度函数计算各所述正则表达式的亲密度; 将目标亲密度对应的正则表达式确定为目标正则表达式。 14.一种数据提取方法, 包括: 获取待处理数据; 分析所述待处理数据, 生成与所述待处理数据匹配的正则表达式; 根据生成的所述正则表达式对所述待处理数据进行数据提取; 其中, 所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。 15.一种正则表达式的生成装置, 包括: 样本数据列表获取模块, 用于获取样本数据列表; 所述样本数据列表包括多个样本数 据; 公共数据。

12、树生成模块, 用于根据各所述样本数据生成与所述样本数据列表对应的公共 数据树; 数据类型列表生成模块, 用于根据所述公共数据树生成数据类型列表; 第一正则表达式生成模块, 用于根据所述数据类型列表生成与所述样本数据列表匹配 的多个正则表达式。 16.根据权利要求15所述的装置, 其中, 所述公共数据树生成模块具体用于: 将所述样本数据列表作为当前数据列表; 通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序 列; 将所述当前目标公共连续子序列作为当前公共数据树的根节点, 并根据所述目标公共 连续子序列以及所述当前数据列表中各所述样本数据依次确定各所述样本数据的临时子 节点。

13、; 其中, 所述临时子节点包括第一临时子节点和第二临时子节点; 根据各所述临时子节点构建目标数据列表, 并根据所述目标数据列表更新所述当前数 据列表; 返回执行通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共 连续子序列的操作, 并根据所述目标数据列表的根节点更新所述当前公共数据树的子节 点, 直至所述当前目标公共连续子序列为空。 17.根据权利要求16所述的装置, 其中, 所述公共数据树生成模块具体用于: 根据各所述第一临时子节点构建第一目标数据列表; 及 根据各所述第二临时子节点构建第二目标数据列表; 将各所述第一目标数据列表的根节点作为所述当前公共数据树的第一子节点; 将。

14、各所述第二目标数据列表的根节点作为所述当前公共数据树的第二子节点。 18.根据权利要求15所述的装置, 其中, 所述数据类型列表生成模块具体用于: 根据所述公共数据树以及所述样本数据列表生成公共数据全列表; 权利要求书 3/5 页 4 CN 112115313 A 4 根据所述公共数据全列表生成所述数据类型列表。 19.根据权利要求18所述的装置, 其中, 所述数据类型列表生成模块具体用于: 对所述公共数据树进行遍历, 根据遍历结果构建公共数据中间列表; 根据所述样本数据列表包括的非公共数据形成对应的子数据列表; 根据各所述子数据列表对所述公共数据中间列表进行扩充, 得到所述公共数据全列 表。。

15、 20.根据权利要求18或19所述的装置, 其中, 所述数据类型列表生成模块具体用于: 将所述公共数据全列表的公共数据确定为第一数据类型; 计算所述公共数据全列表的各子数据列表的长度信息熵; 根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子 数据列表的数据类型。 21.根据权利要求20所述的装置, 其中, 所述数据类型列表生成模块具体用于: 在所述子数据列表的长度信息熵大于所述第一设定阈值的情况下, 将所述子数据列表 的数据类型确定为第二数据类型; 在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下, 将所述子数 据列表的数据类型确定为所述第一数据类型。 2。

16、2.根据权利要求15所述的装置, 其中, 所述第一正则表达式生成模块具体用于: 根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正 则表达式。 23.根据权利要求22所述的装置, 其中, 所述第一正则表达式生成模块具体用于: 按照数据排序顺序获取所述公共数据全列表的当前待处理数据; 在确定所述当前待处理数据的数据类型为第一数据类型的情况下, 根据所述当前待处 理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式; 在确定所述当前待处理数据的数据类型为第二数据类型的情况下, 根据所述当前待处 理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式; 按。

17、照所述数据排序顺序获取下一个待处理数据, 并根据所述下一个待处理数据更新所 述当前待处理数据; 返回执行生成与所述当前待处理数据匹配的子正则表达式的操作, 直至所述公共数据 全列表的所有待处理数据处理完成; 根据各所述子正则表达式生成与所述样本数据列表匹配的多个正则表达式。 24.根据权利要求23所述的装置, 其中, 所述第一正则表达式生成模块具体用于: 在确定所述待处理数据数量为第一数量时, 将所述当前待处理数据直接作为所述当前 待处理数据匹配的子正则表达式; 在确定所述待处理数据数量为非第一数量时, 将所述当前待处理数据的各个数据组合 作为所述当前待处理数据匹配的子正则表达式。 25.根据。

18、权利要求23所述的装置, 其中, 所述第一正则表达式生成模块具体用于: 在所述当前待处理数据的长度信息熵大于或等于第二设定阈值的情况下, 将预设字符 作为所述当前待处理数据匹配的子正则表达式; 在所述当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值的情况 权利要求书 4/5 页 5 CN 112115313 A 5 下, 将所述当前待处理数据的各个数据的第一长度信息和第二长度信息作为所述当前待处 理数据匹配的子正则表达式; 在所述当前待处理数据的长度信息熵小于或等于所述第三设定阈值的情况下, 将所述 当前待处理数据的各个数据的第三长度信息作为所述当前待处理数据匹配的子正则表达 式。。

19、 26.根据权利要求25所述的装置, 其中, 所述第一正则表达式生成模块具体用于: 获取各所述子正则表达式中的目标子正则表达式的表达式组成类型; 根据所述表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。 27.根据权利要求15所述的装置, 还包括: 亲密度计算模块, 用于利用亲密度函数计算各所述正则表达式的亲密度; 目标正则表达式确定模块, 用于将目标亲密度对应的正则表达式确定为目标正则表达 式。 28.一种数据提取装置, 包括: 待处理数据获取模块, 用于获取待处理数据; 第二正则表达式生成模块, 用于分析所述待处理数据, 生成与所述待处理数据匹配的 正则表达式; 数据提取模块,。

20、 用于根据生成的所述正则表达式对所述待处理数据进行数据提取; 其中, 所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。 29.一种电子设备, 包括: 至少一个处理器; 以及 与所述至少一个处理器通信连接的存储器; 其中, 所述存储器存储有可被所述至少一个处理器执行的指令, 所述指令被所述至少一个处 理器执行, 以使所述至少一个处理器能够执行权利要求1-13中任一项所述的正则表达式的 生成方法, 或执行权利要求14所述的数据提取方法。 30.一种存储有计算机指令的非瞬时计算机可读存储介质, 所述计算机指令用于使所 述计算机执行权利要求1-13中任一项所述的正则表达式的生成。

21、方法, 或执行权利要求14所 述的数据提取方法。 权利要求书 5/5 页 6 CN 112115313 A 6 正则表达式的生成、 数据提取方法、 装置、 设备及介质 技术领域 0001 本申请涉及数据处理技术领域, 具体涉及数据提取及分类技术。 背景技术 0002 在数据标准的制定中, 通常需要对某一类的数据抽象出正则表达式。 正则表达式 可以抽象出类似数据的共同特征, 同时还可以自动化对数据进行提取分类。 由于数据存在 数据类型多样化及数量庞大的特点, 人工设计正则表达式非常浪费人力和时间, 因此自动 生成正则表达式是十分必要的。 发明内容 0003 本申请实施例提供了一种正则表达式的生成。

22、、 数据提取方法、 装置、 设备及介质, 以自动生成正则表达式, 从而提高正则表达式的生成效率。 0004 第一方面, 本申请实施例提供了一种正则表达式的生成方法, 包括: 0005 获取样本数据列表; 所述样本数据列表包括多个样本数据; 0006 根据各所述样本数据生成与所述样本数据列表对应的公共数据树; 0007 根据所述公共数据树生成数据类型列表; 0008 根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。 0009 第二方面, 本申请实施例提供了一种数据提取方法, 包括: 0010 获取待处理数据; 0011 分析所述待处理数据, 生成与所述待处理数据匹配的正则表达式;。

23、 0012 根据生成的所述正则表达式对所述待处理数据进行数据提取; 0013 其中, 所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生 成。 0014 第三方面, 本申请实施例提供了一种正则表达式的生成装置, 包括: 0015 样本数据列表获取模块, 用于获取样本数据列表; 所述样本数据列表包括多个样 本数据; 0016 公共数据树生成模块, 用于根据各所述样本数据生成与所述样本数据列表对应的 公共数据树; 0017 数据类型列表生成模块, 用于根据所述公共数据树生成数据类型列表; 0018 第一正则表达式生成模块, 用于根据所述数据类型列表生成与所述样本数据列表 匹配的多。

24、个正则表达式。 0019 第四方面, 本申请实施例提供了一种数据提取装置, 包括: 0020 待处理数据获取模块, 用于获取待处理数据; 0021 第二正则表达式生成模块, 用于分析所述待处理数据, 生成与所述待处理数据匹 配的正则表达式; 0022 数据提取模块, 用于根据生成的所述正则表达式对所述待处理数据进行数据提 说明书 1/17 页 7 CN 112115313 A 7 取; 0023 其中, 所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生 成。 0024 第五方面, 本申请实施例提供了一种电子设备, 包括: 0025 至少一个处理器; 以及 0026 与所述至。

25、少一个处理器通信连接的存储器; 其中, 0027 所述存储器存储有可被所述至少一个处理器执行的指令, 所述指令被所述至少一 个处理器执行, 以使所述至少一个处理器能够执行第一方面实施例所提供的正则表达式的 生成方法, 或执行第二方面实施例所提供的数据提取方法。 0028 第六方面, 本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存 储介质, 所述计算机指令用于使所述计算机执行第一方面实施例所提供的正则表达式的生 成方法, 或执行第二方面实施例所提供的数据提取方法。 0029 本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对 应的公共数据树, 以根据公共数据树生成。

26、数据类型列表, 从而根据数据类型列表生成与样 本数据列表匹配的多个正则表达式, 以利用生成的正则表达式对待处理数据快速进行数据 提取和分类, 实现了自动生成正则表达式, 提高了正则表达式的生成效率以及数据的提取 和分类效率。 0030 应当理解, 本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特 征, 也不用于限制本公开的范围。 本公开的其它特征将通过以下的说明书而变得容易理解。 附图说明 0031 附图用于更好地理解本方案, 不构成对本申请的限定。 其中: 0032 图1是本申请实施例提供的一种正则表达式的生成方法的流程图; 0033 图2是本申请实施例提供的一种正则表达式的生成方。

27、法的流程图; 0034 图3是本申请实施例提供的一种正则表达式的生成方法的流程图; 0035 图4是本申请实施例提供的一种数据提取方法的流程图; 0036 图5是本申请实施例提供的一种正则表达式的生成装置的结构图; 0037 图6是本申请实施例提供的一种数据提取装置的结构图; 0038 图7是用来实现本申请实施例的正则表达式的生成方法或数据提取方法的电子设 备的结构示意图。 具体实施方式 0039 以下结合附图对本申请的示范性实施例做出说明, 其中包括本申请实施例的各种 细节以助于理解, 应当将它们认为仅仅是示范性的。 因此, 本领域普通技术人员应当认识 到, 可以对这里描述的实施例做出各种改。

28、变和修改, 而不会背离本申请的范围和精神。 同 样, 为了清楚和简明, 以下的描述中省略了对公知功能和结构的描述。 0040 在一个示例中, 图1是本申请实施例提供的一种正则表达式的生成方法的流程图, 本实施例可适用于自动生成正则表达式的情况, 该方法可以由正则表达式的生成装置来执 行, 该装置可以由软件和/或硬件的方式来实现, 并一般可集成在电子设备中。 该电子设备 说明书 2/17 页 8 CN 112115313 A 8 可以是计算机设备等。 相应的, 如图1所示, 该方法包括如下操作: 0041 S110、 获取样本数据列表; 所述样本数据列表包括多个样本数据。 0042 其中, 样本。

29、数据列表可以是需要生成正则表达式的样本数据组成的列表。 可选的, 样本数据的数据类型可以是字符串类型或中文字符类型等, 本申请实施例并不对样本数据 的数据类型进行限定。 0043 在本发明实施例中, 在生成正则表达式之前, 可以首先获取用于生成正则表达式 的样本数据列表。 示例性的, 可以从批量数据中进行数据筛选, 将筛选得到的样本数据构建 形成样本数据列表。 例如, 从批量数据中筛选出多条网址数据构建样本数据列表。 或者, 也 还可以直接根据数据筛选需求自主构建样本数据, 并根据构建的样本数据构建形成样本数 据列表。 例如, 根据特殊网页链接字符串的筛选需求自主构建或获取相应的特殊网页链接 。

30、字符串样本作为样本数据构建样本数据列表。 本申请实施例并不对样本数据列表的具体获 取方式进行限定。 0044 S120、 根据各所述样本数据生成与所述样本数据列表对应的公共数据树。 0045 其中, 公共数据树可以记录各样本数据之间的公共数据序列。 所谓公共数据序列 也即各样本数据之间的相同数据。 0046 相应的, 在获取到样本数据列表后, 可以对样本数据列表的各样本数据进行分析, 以确定各样本数据的公共数据序列, 并根据各样本数据的公共数据序列生成与样本数据列 表对应的公共数据树。 0047 示例性的, 对于样本数据 “” 和 “” 来说, 其公共数据 序列为 “www.” 和 “.com。

31、” , 则可以根据公共数据序列 “www.” 和 “.com” 构建样本数据列表 “” , “” 的公共数据树。 其中, 公共数据树中的各个节点可以 是公共数据序列。 例如, 样本数据列表 “” , “” 的公共数据树 可以为: 根节点为 “www.” , 子节点为 “.com” 。 0048 S130、 根据所述公共数据树生成数据类型列表。 0049 其中, 数据类型列表可以用于记录样本数据列表中相关数据的数据类型, 该数据 类型可以用于评判各样本数据的相关数据的变量特性。 0050 相应的, 在生成与样本数据列表对应的公共数据树后, 即可根据生成的公共数据 树进一步生成数据类型列表, 与通。

32、过数据类型列表对样本数据的相关数据的变量特性进行 评判。 0051 S140、 根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。 0052 在本发明实施例中, 针对样本数据列表生成数据类型列表之后, 即可根据数据类 型列表生成与样本数据列表匹配的多个正则表达式。 可选的, 可以根据数据类型列表对样 本数据的相关数据的变量特性的评判结果, 以及各相关数据的具体数据内容, 生成各相关 数据对应正则表达式的组成部分, 进而自动生成与样本数据列表匹配的正则表达式。 0053 本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对 应的公共数据树, 以根据公共数据树生成数据。

33、类型列表, 从而根据数据类型列表生成与样 本数据列表匹配的多个正则表达式, 实现了自动生成正则表达式, 提高了正则表达式的生 成效率。 0054 在一个示例中, 图2是本申请实施例提供的一种正则表达式的生成方法的流程图, 说明书 3/17 页 9 CN 112115313 A 9 本申请实施例在上述各实施例的技术方案的基础上, 进行了优化改进, 给出了根据各所述 样本数据生成与所述样本数据列表对应的公共数据树以及根据所述公共数据树生成数据 类型列表的多种具体实现方式。 0055 如图2所示的一种正则表达式的生成方法, 包括: 0056 S210、 获取样本数据列表。 0057 S220、 根据。

34、各所述样本数据生成与所述样本数据列表对应的公共数据树。 0058 在本申请的一个可选实施例中, 所述根据各所述样本数据生成与所述样本数据列 表对应的公共数据树, 可以包括: 将所述样本数据列表作为当前数据列表; 通过后缀树数据 结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列; 将所述当前目标公 共连续子序列作为当前公共数据树的根节点, 并根据所述目标公共连续子序列以及所述当 前数据列表中各所述样本数据依次确定各所述样本数据的临时子节点; 其中, 所述临时子 节点包括第一临时子节点和第二临时子节点; 根据各所述临时子节点构建目标数据列表, 并根据所述目标数据列表更新所述当前数据列表。

35、; 返回执行通过后缀树数据结构生成所述 当前数据列表中各样本数据的当前目标公共连续子序列的操作, 并根据所述目标数据列表 的根节点更新所述当前公共数据树的子节点, 直至所述当前目标公共连续子序列为空。 0059 其中, 当前目标公共连续子序列可以是当前数据列表中各样本数据的最长公共连 续子序列。 临时子节点可以是利用根节点对样本数据进行拆分得到的数据, 该数据可以用 于构建新的数据列表。 第一临时子节点可以是左孩子节点, 第二临时子节点可以是右孩子 节点。 或者, 第一临时子节点可以是右孩子节点, 第二临时子节点可以是左孩子节点。 本申 请实施例并不对第一临时子节点和第二临时子节点的节点类型进。

36、行限定。 目标数据列表可 以是根据各子公共数据树的子节点构建的新的数据列表, 该数据列表中的样本数据为原始 的样本数据的部分数据。 0060 在本申请的一个可选实施例中, 所述根据各所述当前子公共数据树的子节点构建 目标数据列表, 可以包括: 根据各所述第一临时子节点构建第一目标数据列表; 及, 根据各 所述第二临时子节点构建第二目标数据列表; 所述根据所述目标数据列表的根节点更新所 述当前公共数据树的子节点, 可以包括: 将各所述第一目标数据列表的根节点作为所述当 前公共数据树的第一子节点; 将各所述第二目标数据列表的根节点作为所述当前公共数据 树的第二子节点。 0061 其中, 第一目标数。

37、据列表可以是根据第一临时子节点生成的新的数据列表, 第二 目标数据列表可以是根据第二临时子节点生成的新的数据列表。 当第一临时子节点是左孩 子节点, 第二临时子节点是右孩子节点时, 第一子节点可以为左孩子节点, 第二子节点可以 为右孩子节点。 当第一临时子节点是右孩子节点, 第二临时子节点是左孩子节点时, 第一子 节点可以为右孩子节点, 第二子节点可以为左孩子节点。 0062 本申请实施例通过循环递归的方式生成各子公共数据树。 具体的, 可以将样本数 据列表作为当前数据列表, 并通过后缀树数据结构生成当前数据列表中各样本数据的当前 目标公共连续子序列, 然后将生成的当前目标公共连续子序列作为当。

38、前公共数据树的根节 点, 并根据该目标公共连续子序列以及当前数据列表中各样本数据依次确定各样本数据的 临时子节点。 然后可以各临时子节点构建目标数据列表, 并根据目标数据列表更新当前数 据列表。 其中, 当前公共数据树的结构类型可以为: 一个根节点、 一个左孩子节点和一个右 说明书 4/17 页 10 CN 112115313 A 10 孩子节点。 相应的, 针对当前数据列表生成当前公共数据树之后, 可以根据当前公共数据树 的根节点以及各样本数据构建目标数据列表。 也即, 根据第一临时子节点构建第一目标数 据列表, 并根据第二临时子节点构建第二目标数据列表, 然后将第一目标数据列表和第二 目标。

39、数据列表更新为当前数据列表, 返回执行通过后缀树数据结构生成当前数据列表中各 样本数据的当前目标公共连续子序列的操作, 重新生成当前数据列表中各样本数据的当前 目标公共连续子序列, 直至当前目标公共连续子序列为空。 需要说明的是, 当第一目标数据 列表生成对应的当前目标公共连续子序列后, 可以将第一目标数据列表对应的当前目标公 共连续子序列作为当前公共数据树的第一子节点。 同理, 当第二目标数据列表生成对应的 当前目标公共连续子序列后, 可以将第二目标数据列表对应的当前目标公共连续子序列作 为当前公共数据树的第二子节点。 由此, 可以最终针对样本数据列表生成一个完整的子公 共数据树。 0063。

40、 在一个示例性的例子中, 假设样本数据列表为 “http:/” , “https:/” , “http:/” , 其中, 样本数据分别为 “http:/ ” 、“https:/” 及 “http:/” 。 将该样本数据类 别作为当前数据列表, 并通过后缀树数据结构生成当前数据列表中各样本数据的当前目标 公共连续子序列: /www.。 然后, 将 “/www.” 作为当前公共数据树的根节点, 并根据此根节 点将当前数据列表中的每个样本数据拆分成第一临时子节点+根节点+第二临时子节点三 部分。 其中, 在上述当前数据列表中,“http:/” 样本数据对应的第一临时子 节点为http; 根节点为:/。

41、www .; 第二临时子节点为cbidu .com。 同理,“https:/ ” 样本数据对应的第一临时子节点为https; 根节点为:/www.; 第二临时子节点 为。“http:/” 样本数据对应的第一临时子节点为http; 根节点 为:/www.; 第二临时子节点为。 然后, 将每个样本数据的第一临时子节点组成 第一目标数据列表, 也即将 “http” 、“https” 以及 “http” 组成第一目标数据列表; 将每个样 本数据的第二临时子节点组成第二目标数据列表, 也即将 “” 、“” 以及 “” 组成第二目标数据列表。 生成第一目标数据列表和第二目标数据列表后, 分 别将第一目标数。

42、据列表和第二目标数据列表更新为当前数据列表, 并调用通过后缀树数据 结构生成当前数据列表中各样本数据的当前目标公共连续子序列的步骤。 其中, 第一目标 数据列表的根节点, 也即当前目标公共连续子序列, 可以作为当前公共数据树的左孩子节 点, 第二目标数据列表的根节点, 也即当前目标公共连续子序列, 可以作为当前公共数据树 的右孩子节点。 也即, 将 “http”, “https”, “http” 作为第一目标数据列表, 将 “” , “” , “” 作为第二目标数据列表, 并分别将各目标数据列 表更新为当前数据列表以生成各目标数据列表的当前目标公共连续子序列。 上述目标数据 列表中, 第一目标。

43、数据列表的当前目标公共连续子序列为空, 第二目标数据列表的当前目 标公共连续子序列.com。 然后将第一目标数据列表的当前目标公共连续子序列作为当前公 共数据树的第一子节点, 将第二目标数据列表的当前目标公共连续子序列作为当前公共数 据树的第二子节点, 得到最终的公共数据树为: 根节点为 “:/www.” , 第一子节点为空, 第二 子节点为 “.com” 。 0064 上述技术通过, 通过采用循环递归的方式, 可以依次获取各样本数据的各个公共 数据, 并依据获取的各个公共数据构建公共数据树。 说明书 5/17 页 11 CN 112115313 A 11 0065 S230、 根据所述公共数。

44、据树以及所述样本数据列表生成公共数据全列表。 0066 S240、 根据所述公共数据全列表生成所述数据类型列表。 0067 其中, 公共数据全列表可以是针对样本数据列表的各样本数据生成的, 用于体现 各样本数据之间的相同特征数据和不同特征数据的列表。 0068 在本发明实施例中, 在根据公共数据树生成数据类型列表时, 可以首先根据公共 数据树以及所述样本数据列表生成公共数据全列表, 然后再根据公共数据全列表生成数据 类型列表。 0069 上述方案中, 公共数据全列表可以体现各样本数据之间的相同特征数据和不同特 征数据, 进而可以针对相同特征数据和不同特征数据, 分别确定相应的数据类型, 以生成。

45、最 终的数据类型列表。 0070 在本申请的一个可选实施例中, 所述根据所述公共数据树以及所述样本数据列表 生成公共数据全列表, 可以包括: 对所述公共数据树进行遍历, 根据遍历结果构建公共数据 中间列表; 根据所述样本数据列表包括的非公共数据形成对应的子数据列表; 根据各所述 子数据列表对所述公共数据中间列表进行扩充, 得到所述公共数据全列表。 0071 其中, 公共数据中间列表可以是包括相同特征数据的列表。 其中, 相同特征数据也 即公共数据。 相应的, 不同特征数据也即非公共数据。 子数据列表可以是根据非公共数据抽 象形成的数据列表。 0072 具体的, 可以对公共数据树进行遍历, 以根。

46、据遍历结果构建公共数据中间列表。 可 选的, 公共数据树的遍历方式可以为中序遍历方式。 得到公共数据中间列表后, 可以利用样 本数据列表包括的非公共数据形成对应的子数据列表, 再利用各子数据列表对所述公共数 据中间列表进行扩充, 进而得到最终的公共数据全列表。 0073 在一个示例性的例子中, 假设样本数据列表为list1, 具体样本数据为 “http:/ ” , “https:/” , “http:/” , 其对应的公共数 据树为: 根节点为 “:/www.” , 第一子节点为空, 第二子节点为 “.com” 。 首先对该公共数据树 进行中序遍历, 得到一个按照顺序排列的公共数据中间列表li。

47、st2: “:/www.” , “.com” 。 然后, 利用样本数据列表包括的非公共数据形成对应的子数据列表list4和list5。 其中, list4为 “http” , “https” , “http” , list5为 “cbidu” , “za” , “alucaaa” 。 最后, 利用各子 数据列表list4和list5对公共数据中间列表list2进行扩充, 得到最终的公共数据全列表 list3:list4, “:/www.” ,list5, “.com” 。 0074 上述方案中, 通过先构建公共数据中间列表, 在利用非公共数据形成的子数据列 表对公共数据中间列表进行扩充, 可以。

48、得到包括嵌套列表的公共数据全列表。 其中, 各子数 据列表也即嵌套列表。 公共数据全列表可以明显区别出公共数据和非公共数据, 从而有利 于对各数据的数据类型进行判定。 0075 在本申请的一个可选实施例中, 所述根据所述公共数据全列表生成所述数据类型 列表, 可以包括: 将所述公共数据全列表的公共数据确定为第一数据类型; 计算所述公共数 据全列表的各子数据列表的长度信息熵; 根据各所述子数据列表的长度信息熵与第一设定 阈值之间的数值关系确定各所述子数据列表的数据类型。 0076 在本申请的一个可选实施例中, 所述根据各所述子数据列表的长度信息熵与第一 设定阈值之间的数值关系确定各所述子数据列表。

49、的数据类型, 可以包括: 在所述子数据列 说明书 6/17 页 12 CN 112115313 A 12 表的长度信息熵大于所述第一设定阈值的情况下, 将所述子数据列表的数据类型确定为第 二数据类型; 在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下, 将 所述子数据列表的数据类型确定为所述第一数据类型。 0077 其中, 第一数据类型可以是常量类型。 第二数据类型可以为变量类型。 常量类型也 即固定常量, 变量类型也即非固定变量。 长度信息熵可以是针对各子数据列表计算的一种 用于体现数据为常量类型或变量类型的不确定性的信息熵。 第一设定阈值可以根据实际需 求设定, 也可以预先指。

50、定, 如取值为1.3或2.4等, 本申请实施例并不对第一设定阈值的具体 数值进行限定。 0078 在本发明实施例中, 根据公共数据全列表生成数据类型列表, 主要是需要对公共 数据全列表中的各部分数据确定对应的数据类型。 具体的, 由于公共数据全列表中的公共 数据为各样本数据的相同特征数据, 因此, 可以直接将公共数据的数据类型确定为第一数 据类型, 也即常量数据类型。 对于各子数据列表的非公共数据部分, 可以通过长度信息熵的 方式来确定各子数据列表的数据类型。 0079其中, 长度信息熵的具体定义可以为其中, pi为各数据长 度的个数除以数据的总个数。 示例性的, “cbidu” , “za”。

展开阅读全文
内容关键字: 正则 表达式 生成 数据 提取 方法 装置 设备 介质
关于本文
本文标题:正则表达式的生成、数据提取方法、装置、设备及介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10146583.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1