Nothing Special   »   [go: up one dir, main page]

CN112115313A - 正则表达式的生成、数据提取方法、装置、设备及介质 - Google Patents

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

Info

Publication number
CN112115313A
CN112115313A CN202010935977.8A CN202010935977A CN112115313A CN 112115313 A CN112115313 A CN 112115313A CN 202010935977 A CN202010935977 A CN 202010935977A CN 112115313 A CN112115313 A CN 112115313A
Authority
CN
China
Prior art keywords
data
list
processed
regular expression
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010935977.8A
Other languages
English (en)
Other versions
CN112115313B (zh
Inventor
吕亮亮
冯智
宋传园
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010935977.8A priority Critical patent/CN112115313B/zh
Publication of CN112115313A publication Critical patent/CN112115313A/zh
Application granted granted Critical
Publication of CN112115313B publication Critical patent/CN112115313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种正则表达式的生成、数据提取方法、装置、设备及介质,涉及数据处理技术领域,进一步涉及数据提取及分类技术,其中,正则表达式的生成方法包括:获取样本数据列表;所述样本数据列表包括多个样本数据;根据各所述样本数据生成与所述样本数据列表对应的公共数据树;根据所述公共数据树生成数据类型列表;根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。本申请实施例能够自动生成正则表达式,从而提高正则表达式的生成效率。

Description

正则表达式的生成、数据提取方法、装置、设备及介质
技术领域
本申请涉及数据处理技术领域,具体涉及数据提取及分类技术。
背景技术
在数据标准的制定中,通常需要对某一类的数据抽象出正则表达式。正则表达式可以抽象出类似数据的共同特征,同时还可以自动化对数据进行提取分类。由于数据存在数据类型多样化及数量庞大的特点,人工设计正则表达式非常浪费人力和时间,因此自动生成正则表达式是十分必要的。
发明内容
本申请实施例提供了一种正则表达式的生成、数据提取方法、装置、设备及介质,以自动生成正则表达式,从而提高正则表达式的生成效率。
第一方面,本申请实施例提供了一种正则表达式的生成方法,包括:
获取样本数据列表;所述样本数据列表包括多个样本数据;
根据各所述样本数据生成与所述样本数据列表对应的公共数据树;
根据所述公共数据树生成数据类型列表;
根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。
第二方面,本申请实施例提供了一种数据提取方法,包括:
获取待处理数据;
分析所述待处理数据,生成与所述待处理数据匹配的正则表达式;
根据生成的所述正则表达式对所述待处理数据进行数据提取;
其中,所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。
第三方面,本申请实施例提供了一种正则表达式的生成装置,包括:
样本数据列表获取模块,用于获取样本数据列表;所述样本数据列表包括多个样本数据;
公共数据树生成模块,用于根据各所述样本数据生成与所述样本数据列表对应的公共数据树;
数据类型列表生成模块,用于根据所述公共数据树生成数据类型列表;
第一正则表达式生成模块,用于根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。
第四方面,本申请实施例提供了一种数据提取装置,包括:
待处理数据获取模块,用于获取待处理数据;
第二正则表达式生成模块,用于分析所述待处理数据,生成与所述待处理数据匹配的正则表达式;
数据提取模块,用于根据生成的所述正则表达式对所述待处理数据进行数据提取;
其中,所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。
第五方面,本申请实施例提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例所提供的正则表达式的生成方法,或执行第二方面实施例所提供的数据提取方法。
第六方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例所提供的正则表达式的生成方法,或执行第二方面实施例所提供的数据提取方法。
本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对应的公共数据树,以根据公共数据树生成数据类型列表,从而根据数据类型列表生成与样本数据列表匹配的多个正则表达式,以利用生成的正则表达式对待处理数据快速进行数据提取和分类,实现了自动生成正则表达式,提高了正则表达式的生成效率以及数据的提取和分类效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例提供的一种正则表达式的生成方法的流程图;
图2是本申请实施例提供的一种正则表达式的生成方法的流程图;
图3是本申请实施例提供的一种正则表达式的生成方法的流程图;
图4是本申请实施例提供的一种数据提取方法的流程图;
图5是本申请实施例提供的一种正则表达式的生成装置的结构图;
图6是本申请实施例提供的一种数据提取装置的结构图;
图7是用来实现本申请实施例的正则表达式的生成方法或数据提取方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在一个示例中,图1是本申请实施例提供的一种正则表达式的生成方法的流程图,本实施例可适用于自动生成正则表达式的情况,该方法可以由正则表达式的生成装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中。该电子设备可以是计算机设备等。相应的,如图1所示,该方法包括如下操作:
S110、获取样本数据列表;所述样本数据列表包括多个样本数据。
其中,样本数据列表可以是需要生成正则表达式的样本数据组成的列表。可选的,样本数据的数据类型可以是字符串类型或中文字符类型等,本申请实施例并不对样本数据的数据类型进行限定。
在本发明实施例中,在生成正则表达式之前,可以首先获取用于生成正则表达式的样本数据列表。示例性的,可以从批量数据中进行数据筛选,将筛选得到的样本数据构建形成样本数据列表。例如,从批量数据中筛选出多条网址数据构建样本数据列表。或者,也还可以直接根据数据筛选需求自主构建样本数据,并根据构建的样本数据构建形成样本数据列表。例如,根据特殊网页链接字符串的筛选需求自主构建或获取相应的特殊网页链接字符串样本作为样本数据构建样本数据列表。本申请实施例并不对样本数据列表的具体获取方式进行限定。
S120、根据各所述样本数据生成与所述样本数据列表对应的公共数据树。
其中,公共数据树可以记录各样本数据之间的公共数据序列。所谓公共数据序列也即各样本数据之间的相同数据。
相应的,在获取到样本数据列表后,可以对样本数据列表的各样本数据进行分析,以确定各样本数据的公共数据序列,并根据各样本数据的公共数据序列生成与样本数据列表对应的公共数据树。
示例性的,对于样本数据“www.cbidu.com.cn”和“www.za.com”来说,其公共数据序列为“www.”和“.com”,则可以根据公共数据序列“www.”和“.com”构建样本数据列表[“www.cbidu.com.cn”,“www.za.com”]的公共数据树。其中,公共数据树中的各个节点可以是公共数据序列。例如,样本数据列表[“www.cbidu.com.cn”,“www.za.com”]的公共数据树可以为:根节点为“www.”,子节点为“.com”。
S130、根据所述公共数据树生成数据类型列表。
其中,数据类型列表可以用于记录样本数据列表中相关数据的数据类型,该数据类型可以用于评判各样本数据的相关数据的变量特性。
相应的,在生成与样本数据列表对应的公共数据树后,即可根据生成的公共数据树进一步生成数据类型列表,与通过数据类型列表对样本数据的相关数据的变量特性进行评判。
S140、根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。
在本发明实施例中,针对样本数据列表生成数据类型列表之后,即可根据数据类型列表生成与样本数据列表匹配的多个正则表达式。可选的,可以根据数据类型列表对样本数据的相关数据的变量特性的评判结果,以及各相关数据的具体数据内容,生成各相关数据对应正则表达式的组成部分,进而自动生成与样本数据列表匹配的正则表达式。
本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对应的公共数据树,以根据公共数据树生成数据类型列表,从而根据数据类型列表生成与样本数据列表匹配的多个正则表达式,实现了自动生成正则表达式,提高了正则表达式的生成效率。
在一个示例中,图2是本申请实施例提供的一种正则表达式的生成方法的流程图,本申请实施例在上述各实施例的技术方案的基础上,进行了优化改进,给出了根据各所述样本数据生成与所述样本数据列表对应的公共数据树以及根据所述公共数据树生成数据类型列表的多种具体实现方式。
如图2所示的一种正则表达式的生成方法,包括:
S210、获取样本数据列表。
S220、根据各所述样本数据生成与所述样本数据列表对应的公共数据树。
在本申请的一个可选实施例中,所述根据各所述样本数据生成与所述样本数据列表对应的公共数据树,可以包括:将所述样本数据列表作为当前数据列表;通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列;将所述当前目标公共连续子序列作为当前公共数据树的根节点,并根据所述目标公共连续子序列以及所述当前数据列表中各所述样本数据依次确定各所述样本数据的临时子节点;其中,所述临时子节点包括第一临时子节点和第二临时子节点;根据各所述临时子节点构建目标数据列表,并根据所述目标数据列表更新所述当前数据列表;返回执行通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列的操作,并根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,直至所述当前目标公共连续子序列为空。
其中,当前目标公共连续子序列可以是当前数据列表中各样本数据的最长公共连续子序列。临时子节点可以是利用根节点对样本数据进行拆分得到的数据,该数据可以用于构建新的数据列表。第一临时子节点可以是左孩子节点,第二临时子节点可以是右孩子节点。或者,第一临时子节点可以是右孩子节点,第二临时子节点可以是左孩子节点。本申请实施例并不对第一临时子节点和第二临时子节点的节点类型进行限定。目标数据列表可以是根据各子公共数据树的子节点构建的新的数据列表,该数据列表中的样本数据为原始的样本数据的部分数据。
在本申请的一个可选实施例中,所述根据各所述当前子公共数据树的子节点构建目标数据列表,可以包括:根据各所述第一临时子节点构建第一目标数据列表;及,根据各所述第二临时子节点构建第二目标数据列表;所述根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,可以包括:将各所述第一目标数据列表的根节点作为所述当前公共数据树的第一子节点;将各所述第二目标数据列表的根节点作为所述当前公共数据树的第二子节点。
其中,第一目标数据列表可以是根据第一临时子节点生成的新的数据列表,第二目标数据列表可以是根据第二临时子节点生成的新的数据列表。当第一临时子节点是左孩子节点,第二临时子节点是右孩子节点时,第一子节点可以为左孩子节点,第二子节点可以为右孩子节点。当第一临时子节点是右孩子节点,第二临时子节点是左孩子节点时,第一子节点可以为右孩子节点,第二子节点可以为左孩子节点。
本申请实施例通过循环递归的方式生成各子公共数据树。具体的,可以将样本数据列表作为当前数据列表,并通过后缀树数据结构生成当前数据列表中各样本数据的当前目标公共连续子序列,然后将生成的当前目标公共连续子序列作为当前公共数据树的根节点,并根据该目标公共连续子序列以及当前数据列表中各样本数据依次确定各样本数据的临时子节点。然后可以各临时子节点构建目标数据列表,并根据目标数据列表更新当前数据列表。其中,当前公共数据树的结构类型可以为:一个根节点、一个左孩子节点和一个右孩子节点。相应的,针对当前数据列表生成当前公共数据树之后,可以根据当前公共数据树的根节点以及各样本数据构建目标数据列表。也即,根据第一临时子节点构建第一目标数据列表,并根据第二临时子节点构建第二目标数据列表,然后将第一目标数据列表和第二目标数据列表更新为当前数据列表,返回执行通过后缀树数据结构生成当前数据列表中各样本数据的当前目标公共连续子序列的操作,重新生成当前数据列表中各样本数据的当前目标公共连续子序列,直至当前目标公共连续子序列为空。需要说明的是,当第一目标数据列表生成对应的当前目标公共连续子序列后,可以将第一目标数据列表对应的当前目标公共连续子序列作为当前公共数据树的第一子节点。同理,当第二目标数据列表生成对应的当前目标公共连续子序列后,可以将第二目标数据列表对应的当前目标公共连续子序列作为当前公共数据树的第二子节点。由此,可以最终针对样本数据列表生成一个完整的子公共数据树。
在一个示例性的例子中,假设样本数据列表为[“http://www.cbidu.com”,“https://www.za.com”,“http://www.alucaaa.com”],其中,样本数据分别为“http://www.cbidu.com”、“https://www.za.com”及“http://www.alucaaa.com”。将该样本数据类别作为当前数据列表,并通过后缀树数据结构生成当前数据列表中各样本数据的当前目标公共连续子序列://www.。然后,将“//www.”作为当前公共数据树的根节点,并根据此根节点将当前数据列表中的每个样本数据拆分成第一临时子节点+根节点+第二临时子节点三部分。其中,在上述当前数据列表中,“http://www.cbidu.com”样本数据对应的第一临时子节点为http;根节点为://www.;第二临时子节点为cbidu.com。同理,“https://www.za.com”样本数据对应的第一临时子节点为https;根节点为://www.;第二临时子节点为za.com。“http://www.alucaaa.com”样本数据对应的第一临时子节点为http;根节点为://www.;第二临时子节点为alucaaa.com。然后,将每个样本数据的第一临时子节点组成第一目标数据列表,也即将“http”、“https”以及“http”组成第一目标数据列表;将每个样本数据的第二临时子节点组成第二目标数据列表,也即将“cbidu.com”、“za.com”以及“alucaaa.com”组成第二目标数据列表。生成第一目标数据列表和第二目标数据列表后,分别将第一目标数据列表和第二目标数据列表更新为当前数据列表,并调用通过后缀树数据结构生成当前数据列表中各样本数据的当前目标公共连续子序列的步骤。其中,第一目标数据列表的根节点,也即当前目标公共连续子序列,可以作为当前公共数据树的左孩子节点,第二目标数据列表的根节点,也即当前目标公共连续子序列,可以作为当前公共数据树的右孩子节点。也即,将[“http”,“https”,“http”]作为第一目标数据列表,将[“cbidu.com”,“za.com”,“alucaaa.com”]作为第二目标数据列表,并分别将各目标数据列表更新为当前数据列表以生成各目标数据列表的当前目标公共连续子序列。上述目标数据列表中,第一目标数据列表的当前目标公共连续子序列为空,第二目标数据列表的当前目标公共连续子序列.com。然后将第一目标数据列表的当前目标公共连续子序列作为当前公共数据树的第一子节点,将第二目标数据列表的当前目标公共连续子序列作为当前公共数据树的第二子节点,得到最终的公共数据树为:根节点为“://www.”,第一子节点为空,第二子节点为“.com”。
上述技术通过,通过采用循环递归的方式,可以依次获取各样本数据的各个公共数据,并依据获取的各个公共数据构建公共数据树。
S230、根据所述公共数据树以及所述样本数据列表生成公共数据全列表。
S240、根据所述公共数据全列表生成所述数据类型列表。
其中,公共数据全列表可以是针对样本数据列表的各样本数据生成的,用于体现各样本数据之间的相同特征数据和不同特征数据的列表。
在本发明实施例中,在根据公共数据树生成数据类型列表时,可以首先根据公共数据树以及所述样本数据列表生成公共数据全列表,然后再根据公共数据全列表生成数据类型列表。
上述方案中,公共数据全列表可以体现各样本数据之间的相同特征数据和不同特征数据,进而可以针对相同特征数据和不同特征数据,分别确定相应的数据类型,以生成最终的数据类型列表。
在本申请的一个可选实施例中,所述根据所述公共数据树以及所述样本数据列表生成公共数据全列表,可以包括:对所述公共数据树进行遍历,根据遍历结果构建公共数据中间列表;根据所述样本数据列表包括的非公共数据形成对应的子数据列表;根据各所述子数据列表对所述公共数据中间列表进行扩充,得到所述公共数据全列表。
其中,公共数据中间列表可以是包括相同特征数据的列表。其中,相同特征数据也即公共数据。相应的,不同特征数据也即非公共数据。子数据列表可以是根据非公共数据抽象形成的数据列表。
具体的,可以对公共数据树进行遍历,以根据遍历结果构建公共数据中间列表。可选的,公共数据树的遍历方式可以为中序遍历方式。得到公共数据中间列表后,可以利用样本数据列表包括的非公共数据形成对应的子数据列表,再利用各子数据列表对所述公共数据中间列表进行扩充,进而得到最终的公共数据全列表。
在一个示例性的例子中,假设样本数据列表为list1,具体样本数据为[“http://www.cbidu.com”,“https://www.za.com”,“http://www.alucaaa.com”],其对应的公共数据树为:根节点为“://www.”,第一子节点为空,第二子节点为“.com”。首先对该公共数据树进行中序遍历,得到一个按照顺序排列的公共数据中间列表list2:[“://www.”,“.com”]。然后,利用样本数据列表包括的非公共数据形成对应的子数据列表list4和list5。其中,list4为[“http”,“https”,“http”],list5为[“cbidu”,“za”,“alucaaa”]。最后,利用各子数据列表list4和list5对公共数据中间列表list2进行扩充,得到最终的公共数据全列表list3:[list4,“://www.”,list5,“.com”]。
上述方案中,通过先构建公共数据中间列表,在利用非公共数据形成的子数据列表对公共数据中间列表进行扩充,可以得到包括嵌套列表的公共数据全列表。其中,各子数据列表也即嵌套列表。公共数据全列表可以明显区别出公共数据和非公共数据,从而有利于对各数据的数据类型进行判定。
在本申请的一个可选实施例中,所述根据所述公共数据全列表生成所述数据类型列表,可以包括:将所述公共数据全列表的公共数据确定为第一数据类型;计算所述公共数据全列表的各子数据列表的长度信息熵;根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型。
在本申请的一个可选实施例中,所述根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型,可以包括:在所述子数据列表的长度信息熵大于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为第二数据类型;在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为所述第一数据类型。
其中,第一数据类型可以是常量类型。第二数据类型可以为变量类型。常量类型也即固定常量,变量类型也即非固定变量。长度信息熵可以是针对各子数据列表计算的一种用于体现数据为常量类型或变量类型的不确定性的信息熵。第一设定阈值可以根据实际需求设定,也可以预先指定,如取值为1.3或2.4等,本申请实施例并不对第一设定阈值的具体数值进行限定。
在本发明实施例中,根据公共数据全列表生成数据类型列表,主要是需要对公共数据全列表中的各部分数据确定对应的数据类型。具体的,由于公共数据全列表中的公共数据为各样本数据的相同特征数据,因此,可以直接将公共数据的数据类型确定为第一数据类型,也即常量数据类型。对于各子数据列表的非公共数据部分,可以通过长度信息熵的方式来确定各子数据列表的数据类型。
其中,长度信息熵的具体定义可以为
Figure BDA0002671932500000091
其中,pi为各数据长度的个数除以数据的总个数。示例性的,[“cbidu”,“za”,“alucaaa”]列表的各数据对应的数据长度列表为[5,2,7],所以该列表对应的pi为[1/3,1/3,1/3]。长度信息熵可以定了数据之间的不确定性。
具体的,通过长度信息熵的方式来确定各子数据列表的数据类型时,可以计算各子数据列表的长度信息熵,并将长度信息熵与第一设定阈值的大小进行对比。如果子数据列表的长度信息熵大于第一设定阈值,则表明该子数据列表的不确定性大于预设值,可以将该子数据列表的数据类型确定为第二数据类型,也即确定为变量类型。如果子数据列表的长度信息熵小于或等于第一设定阈值,则表明该子数据列表的不确定性小于或等于预设值,可以将该子数据列表的数据类型确定为第一数据类型,也即确定为常量类型。
需要说明的是,还可以无需依据长度信息熵来确定子数据列表的数据类型,也即将子数据列表的数据类型定义为第一数据类型和第二数据类型两种类型,后续针对每个数据类型可以分别根据长度信息熵确定其对应的正则表达式结果。
上述技术方案,通过利用长度信息熵的方式针对各样本数据的非公共数据确定具体的数据类型,可以实现根据实际的数据抽象需求确定各样本数据对应的正则表达式。当用于确定非公共数据的第一设定阈值取值不同时,其非公共数据对应的数据类型的确定结果也不同,从而实现根据实际数据抽象需求自动生成所需的正则表达式。
S250、根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。
上述技术方案,通过根据各样本数据生成与样本数据列表对应的公共数据树,可以依次抽取各样本数据中的公共数据内容,使得各公共数据可以以公共数据树的方式体现,进而利用公共数据树以及样本数据生成公共数据全列表,并根据公共数据全列表结合长度信息熵的方式生成数据类型列表,不仅能够提高正则表达式的生成效率,而且还能丰富正则表达式的生成方式。
在一个示例中,图3是本申请实施例提供的一种正则表达式的生成方法的流程图,本申请实施例在上述各实施例的技术方案的基础上,进行了优化改进,给出了根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式的多种具体实现方式。
如图3所示的一种正则表达式的生成方法,包括:
S310、获取样本数据列表。
S320、根据各所述样本数据生成与所述样本数据列表对应的公共数据树。
S330、根据所述公共数据树生成数据类型列表。
S340、根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正则表达式。
在本申请实施例中,可以根据数据类型列表结合公共数据全列表生成与样本数据列表匹配的多个正则表达式。
相应的,S340具体可以包括下述操作:
S341、按照数据排序顺序获取所述公共数据全列表的当前待处理数据。
其中,数据排序顺序可以是公共数据全列表中各数据的排序顺序。当前待处理数据也即公共数据全列表中当前需要生成正则表达式内容的数据。
以上述示例中公共数据全列表list3:[list4,“://www.”,list5,“.com”]为例说明,在开始对list3进行处理时,按照数据排序顺序获取list3的数据“list4”作为当前待处理数据,当当前待处理数据“list4”处理完成后,可以按照数据排序顺序获取list3的数据“://www.”作为当前待处理数据,直至全部数据处理完毕。
S342、判断当前待处理数据的数据类型是否为第一数据类型,若是,执行S343;否则,执行S344。
S343、根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式。
其中,待处理数据数量也即待处理数据的个数。子正则表达式可以是每个数据对应生成的正则表达式的部分表达式内容。
在本申请实施例中,如果当前待处理数据的数据类型为第一数据类型,也即常量类型,需要根据当前待处理数据包括的待处理数据数量生成与当前待处理数据匹配的子正则表达式。
在本申请的一个可选实施例中,所述根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式,可以包括:在确定所述待处理数据数量为第一数量时,将所述当前待处理数据直接作为所述当前待处理数据匹配的子正则表达式;在确定所述待处理数据数量为非第一数量时,将所述当前待处理数据的各个数据组合作为所述当前待处理数据匹配的子正则表达式。
其中,第一数量可以为1。相应的非第一数量也即为大于1的正整数。
可选的,如果待处理数据数量为第一数量,则可以将当前待处理数据直接作为当前待处理数据匹配的子正则表达式;否则,将当前待处理数据的各个数据组合作为当前待处理数据匹配的子正则表达式。
以上述示例中公共数据全列表list3:[list4,“://www.”,list5,“.com”]为例说明,其中,list4为[“http”,“https”,“http”],list5为[“cbidu”,“za”,“alucaaa”]。假设“://www.”为当前待处理数据,且数据类型为第一数据类型。由于该当前待处理数据的数据数量为1。因此,“://www.”对应的子正则表达式为“://www.”本身。假设list4为当前待处理数据,且数据类型为第一数据类型。由于该当前待处理数据的包括的待处理数据为“http”和“https”,其数据数量为2,也即数据数量大于1。因此,list4对应的子正则表达式可以为“http|https”。其中,符号“|”代表或的含义。
上述方案中,对第一数据类型的当前待处理数据根据其包括的待处理数据数量生成匹配的子正则表达式,可以最大程度保留公共数据,也即提取出数据的共同特征。
S344、根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式。
相应的,如果当前待处理数据的数据类型为第二数据类型,则可以根据当前待处理数据的长度信息熵生成与当前待处理数据匹配的子正则表达式。
在本申请的一个可选实施例中,所述根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式,可以包括:在所述当前待处理数据的长度信息熵大于或等于第二设定阈值的情况下,将预设字符作为所述当前待处理数据匹配的子正则表达式;在所述当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值的情况下,将所述当前待处理数据的各个数据的第一长度信息和第二长度信息作为所述当前待处理数据匹配的子正则表达式;在所述当前待处理数据的长度信息熵小于或等于所述第三设定阈值的情况下,将所述当前待处理数据的各个数据的第三长度信息作为所述当前待处理数据匹配的子正则表达式。
其中,第二设定阈值可以根据实际需求设定,也可以预先指定,如取值为1、2或2.5等,本申请实施例并不对第二设定阈值的具体数值进行限定。第三设定阈值可以为0。预设字符可以根据实际需求设定,如“+”、“-”或“.”等,本申请实施例并不对预设字符的具体字符内容进行限定。第一长度信息可以是各数据中最小的数据长度,第二长度信息可以是各数据中最大的数据长度,第三长度信息可以是数据长度相同的数据的数据长度。
在本申请实施例中,如果当前待处理数据的数据类型为第二数据类型,也即变量类型,需要根据当前待处理数据的长度信息熵生成与当前待处理数据匹配的子正则表达式。可选的,如果当前待处理数据的长度信息熵大于或第二设定阈值,则可以将预设字符作为当前待处理数据匹配的子正则表达式。如果当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值,则可以将当前待处理数据的各个数据的第一长度信息和第二长度信息作为当前待处理数据匹配的子正则表达式,以抽象出当前待处理数据在数据长度上的特征,也即体现当前待处理数据的数据长度的范围区间。如果当前待处理数据的长度信息熵小于或等于第三设定阈值,则可以将当前待处理数据的各个数据的第三长度信息作当前待处理数据匹配的子正则表达式,以抽象出当前待处理数据在数据长度上的特征,也即体现当前待处理数据中各数据长度的具体数值。
以上述示例中公共数据全列表list3:[list4,“://www.”,list5,“.com”]为例说明,其中,list4为[“http”,“https”,“http”],list5为[“cbidu”,“za”,“alucaaa”]。假设list5为当前待处理数据,且数据类型为第二数据类型。利用公式
Figure BDA0002671932500000131
计算list5的长度信息熵。同时将list5的长度信息熵与第二设定阈值和零值进行对比。如果list5的长度信息熵大于或等于第二设定阈值,则表明list5的不确定性比较大,可以将list5划分为MAX类。如果list5的长度信息熵小于第二设定阈值且大于零,则表明list5的不确定性相对较小,可以将list5划分为MID类。如果list5的长度信息熵小于或等于0,则表明list5中各数据的数据长度一致,可以将list5划分为MIN类。
由于第二设定阈值可以根据实际需求设定,但list5的长度信息熵是固定的。因此,当第二设定阈值取值不同时,list5最终划分的类型也可能不同。相应的,如果list5最终的类型为MAX类,可以将list5翻译为预设字符“+”,也即将“+”作为list5匹配的子正则表达式。如果list5最终的类型为MID类,可以将list5翻译为{minlen,maxlen}。其中,minlen为第一长度信息,也即最小长度,maxlen为第二长度信息,也即最大长度。也即将{2,7}作为list5匹配的子正则表达式。如果list5最终的类型为MIN类,可以将list5翻译为{len}。其中,len为list5中各数据的数据长度。例如,假设list5为[“cbidu”,“zauca”,“aluca”],也即list5中各数据的数据长度均为5,则可以将{4}作为list5匹配的子正则表达式。
上述方案中,通过设定第二设定阈值和第三设定阈值对第二数据类型的当前待处理数据进行确定性判定,以根据判定结果生成当前待处理数据对应的子正则表达式,可以实现根据实际数据抽象需求自动生成所需的正则表达式。
需要说明的是,本申请实施例中的第一设定阈值和第二设定阈值均可以根据实际需求设定,也即针对不同类型的样本数据,可以设置不同的数值,相应可以得到不同类型的正则表达式。
S345、判断是否所有待处理数据处理完成,若是,执行S347;否则,执行S346。
S346、按照所述数据排序顺序获取下一个待处理数据,并根据所述下一个待处理数据更新所述当前待处理数据后,返回执行S342。
相应的,当前待处理数据生成对应的子正则表达式后,可以按照数据排序顺序获取下一个待处理数据,并将下一个待处理数据作为当前待处理数据,返回执行生成与当前待处理数据匹配的子正则表达式的操作,直至公共数据全列表的所有待处理数据处理完成,也即,公共数据全列表的所有待处理数据均对应生成子正则表达式。
S347、根据各所述子正则表达式生成与所述样本数据列表匹配的多个正则表达式。
相应的,在公共数据全列表的所有待处理数据均对应生成子正则表达式后,即可将各子正则表达式按照数据排序顺序进行拼接,以生成与样本数据列表匹配的多个正则表达式。
以上述示例中公共数据全列表list3:[list4,“://www.”,list5,“.com”]为例说明,其中,list4为[“http”,“https”,“http”],list5为[“cbidu”,“za”,“alucaaa”]。通过第一设定阈值和第二设定阈值的设定,list3中的各个数据均可以生成对应的子正则表达式。相应的,对各子正则表达式按照数据排序顺序进行拼接,则list1匹配的正则表达式可能为:(https|http)(://www.)+(.com)、(https|http)(://www.){2,7}(.com)或{4,5})(://www.){2,7}(.com)等形式。
上述技术方案,通过根据公共数据全列表的每个数据的数据类型确定各数据对应的子正则表达式,不仅可以有效保留各样本数据之间的共同特征,还可以实现针对不同特征部分,按照实际数据抽象需求自动生成所需的正则表达式。
S348、获取各所述正则表达式中的目标子正则表达式的表达式组成类型。
S349、根据所述表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。
其中,目标子正则表达式可以是各子正则表达式中需要进行额外标识的子正则表达式。预设标识可以根据实际需求设定,示例性的,预设标识可以为“\w”或“\D”等,本申请实施例并不对预设标识的具体标识类型进行限定。
在本申请实施例中,当针对公共数据全列表生成各数据的子正则表达式后,还可以对其中某些子正则表达式作为目标子正则表达式以进一步对其进行标识。可选的,可以首先确定目标子正则表达式的表达式组成类型,然后根据确定的表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。其中,目标子正则表达式的表达式组成类型例如可以是:数据全部为字母组成,或,数据不是全部为字母组成等。
以上述示例中公共数据全列表list3:[list4,“://www.”,list5,“.com”]为例说明,如果list3对应list1匹配的正则表达式为:(https|http)(://www.)+(.com)、(https|http)(://www.){2,7}(.com)或{4,5})(://www.){2,7}(.com)三种形式,则可以对第二数据类型的数据生成的子正则表达式利用预设标识进行标识,例如,利用“\W”标识数据里的各个字符全部为字母,利用“\D”标识数据里的各个字符不全部为字母。相应的,list1最终匹配的正则表达式可以为:(https|http)(://www.)\w+(.com)、(https|http)(://www.)\w{2,7}(.com)以及\w{4,5})(://www.)\w{2,7}(.com)。
通过根据表达式组成类型利用预设标识对各目标子正则表达式进行标识,可以进一步对第二数据类型的数据抽取相近似的特征,使得最终生成的正则表达式能够最大程度反映样本数据的特征。
S350、利用亲密度函数计算各所述正则表达式的亲密度。
其中,亲密度函数可以用于计算各正则表达式的亲密度。
S360、将目标亲密度对应的正则表达式确定为目标正则表达式。
其中,目标亲密度可以是数值最大的亲密度。
在本申请实施例中,当针对样本数据列表生成匹配的多个正则表达式后,为了进一步筛选出现满足需求的正则表达式,还可以利用亲密度函数计算各正则表达式的亲密度,以筛选出数值最大的亲密度对应的正则表达式确定为目标正则表达式。筛选出的目标正则表达式能够最大程度满足样本数据的抽象需求。
例如,亲密度函数可以是:
Figure BDA0002671932500000161
其中,regex表示生成的正则表达式,intimacy表示亲密度函数,LIST[i]表示样本数据列表中的样本数据。i可以表示样本数据的顺序,例如,LIST[1]表示第一个样本数据。通过f(regex)和样本数据列表中的每一个样本数据计算亲密度(也即intimacy),数值最大的就是最优的。intimacy可以根据实际需求定义,例如用余弦相似性计算样本数据与正则表达式之间的相似度作为亲密度。
上述技术方案,通过数据类型列表以及公共数据全列表,结合长度信息熵的方式生成与样本数据列表匹配的多个正则表达式,不仅能够提高正则表达式的生成效率,而且还能丰富正则表达式的生成方式。
在一个示例中,图4是本申请实施例提供的一种数据提取方法的流程图,本实施例可适用于根据自动生成的正则表达式进行数据提取和分类的情况,该方法可以由数据提取装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中。该电子设备可以是计算机设备等。相应的,如图4所示,该方法包括如下操作:
S410、获取待处理数据。
S420、分析所述待处理数据,生成与所述待处理数据匹配的正则表达式。
其中,待处理数据也即需与利用正则表达式进行数据提取和分类的原始数据。
在本申请实施例中,获取到待处理数据后,可以对待处理数据进行分析,如从待处理数据中选取几个样本数据,然后利用上述任一实施例所述的正则表达式的生成方法根据选取的样本数据生成用于对待处理数据进行数据提取的正则表达式。
示例性的,可以提供一个操作界面,用户可以在该操作界面提供待处理数据,并在操作节点的指定位置下输入用于生成正则表达式的样例作为样本数据。当后台服务器接收到操作界面用户发出的生成正则表达式的指令之后,按照上述任一实施例中的正则表达式的生成方法对应的处理逻辑,直接生成与样本数据样例对应的正则表达式,并在该操作界面的另外指定位置下显示。
S430、根据生成的所述正则表达式对所述待处理数据进行数据提取。
相应的,在生成用于对待处理数据进行数据提取的正则表达式之后,即可根据生成的正则表达式对待处理数据进行数据提取,以得到符合需求的数据。
上述数据提取方法,可以应用于多种数据提取和分类的应用场景中,例如,从日志数据中筛选出网页链接数据,或从训练语料中筛选出比喻句或排比句等,本申请实施例并不对具体的应用场景类型进行限定。
本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对应的公共数据树,以根据公共数据树生成数据类型列表,从而根据数据类型列表生成与样本数据列表匹配的多个正则表达式,以利用生成的正则表达式对待处理数据快速进行数据提取和分类,实现了自动生成正则表达式,提高了正则表达式的生成效率以及数据的提取和分类效率。
在一个示例中,图5是本申请实施例提供的一种正则表达式的生成装置的结构图,本申请实施例可适用于自动生成正则表达式的情况,该装置通过软件和/或硬件实现,并具体配置于电子设备中。该电子设备可以是计算机设备等。
如图5所示的一种正则表达式的生成装置500,包括:样本数据列表获取模块510、公共数据树生成模块520、数据类型列表生成模块530和第一正则表达式生成模块540。其中,
样本数据列表获取模块510,用于获取样本数据列表;所述样本数据列表包括多个样本数据;
公共数据树生成模块520,用于根据各所述样本数据生成与所述样本数据列表对应的公共数据树;
数据类型列表生成模块530,用于根据所述公共数据树生成数据类型列表;
第一正则表达式生成模块540,用于根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。
本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对应的公共数据树,以根据公共数据树生成数据类型列表,从而根据数据类型列表生成与样本数据列表匹配的多个正则表达式,实现了自动生成正则表达式,提高了正则表达式的生成效率。
可选的,公共数据树生成模块520具体用于:将所述样本数据列表作为当前数据列表;通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列;将所述当前目标公共连续子序列作为当前公共数据树的根节点,并根据所述目标公共连续子序列以及所述当前数据列表中各所述样本数据依次确定各所述样本数据的临时子节点;其中,所述临时子节点包括第一临时子节点和第二临时子节点;根据各所述临时子节点构建目标数据列表,并根据所述目标数据列表更新所述当前数据列表;返回执行通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列的操作,并根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,直至所述当前目标公共连续子序列为空。
可选的,公共数据树生成模块520具体用于:根据各所述第一临时子节点构建第一目标数据列表;及,根据各所述第二临时子节点构建第二目标数据列表;将各所述第一目标数据列表的根节点作为所述当前公共数据树的第一子节点;将各所述第二目标数据列表的根节点作为所述当前公共数据树的第二子节点。
可选的,数据类型列表生成模块530具体用于:根据所述公共数据树以及所述样本数据列表生成公共数据全列表;根据所述公共数据全列表生成所述数据类型列表。
可选的,数据类型列表生成模块530具体用于:对所述公共数据树进行遍历,根据遍历结果构建公共数据中间列表;根据所述样本数据列表包括的非公共数据形成对应的子数据列表;根据各所述子数据列表对所述公共数据中间列表进行扩充,得到所述公共数据全列表。
可选的,数据类型列表生成模块530具体用于:将所述公共数据全列表的公共数据确定为第一数据类型;计算所述公共数据全列表的各子数据列表的长度信息熵;根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型。
可选的,数据类型列表生成模块530具体用于:在所述子数据列表的长度信息熵大于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为第二数据类型;在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为所述第一数据类型。
可选的,第一正则表达式生成模块540具体用于:根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正则表达式。
可选的,第一正则表达式生成模块540具体用于:按照数据排序顺序获取所述公共数据全列表的当前待处理数据;在确定所述当前待处理数据的数据类型为第一数据类型的情况下,根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式;在确定所述当前待处理数据的数据类型为第二数据类型的情况下,根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式;按照所述数据排序顺序获取下一个待处理数据,并根据所述下一个待处理数据更新所述当前待处理数据;返回执行生成与所述当前待处理数据匹配的子正则表达式的操作,直至所述公共数据全列表的所有待处理数据处理完成;根据各所述子正则表达式生成与所述样本数据列表匹配的多个正则表达式。
可选的,第一正则表达式生成模块540具体用于:在确定所述待处理数据数量为第一数量时,将所述当前待处理数据直接作为所述当前待处理数据匹配的子正则表达式;在确定所述待处理数据数量为非第一数量时,将所述当前待处理数据的各个数据组合作为所述当前待处理数据匹配的子正则表达式。
可选的,第一正则表达式生成模块540具体用于:在所述当前待处理数据的长度信息熵大于或等于第二设定阈值的情况下,将预设字符作为所述当前待处理数据匹配的子正则表达式;在所述当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值的情况下,将所述当前待处理数据的各个数据的第一长度信息和第二长度信息作为所述当前待处理数据匹配的子正则表达式;在所述当前待处理数据的长度信息熵小于或等于所述第三设定阈值的情况下,将所述当前待处理数据的各个数据的第三长度信息作为所述当前待处理数据匹配的子正则表达式。
可选的,第一正则表达式生成模块540具体用于:获取各所述子正则表达式中的目标子正则表达式的表达式组成类型;根据所述表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。
可选的,正则表达式的生成装置还包括:亲密度计算模块,用于利用亲密度函数计算各所述正则表达式的亲密度;目标正则表达式确定模块,用于将目标亲密度对应的正则表达式确定为目标正则表达式。
上述正则表达式的生成装置可执行本申请任意实施例所提供的正则表达式的生成方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请任意实施例提供的正则表达式的生成方法。
由于上述所介绍的正则表达式的生成装置为可以执行本申请实施例中的正则表达式的生成方法的装置,故而基于本申请实施例中所介绍的正则表达式的生成方法,本领域所属技术人员能够了解本实施例的正则表达式的生成装置的具体实施方式以及其各种变化形式,所以在此对于该正则表达式的生成装置如何实现本申请实施例中的正则表达式的生成方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中正则表达式的生成方法所采用的装置,都属于本申请所欲保护的范围。
在一个示例中,图6是本申请实施例提供的一种数据提取装置的结构图,本申请实施例可适用于根据自动生成的正则表达式进行数据提取和分类的情况,该装置通过软件和/或硬件实现,并具体配置于电子设备中。该电子设备可以是计算机设备等。
如图6所示的一种数据提取装置600,包括:待处理数据获取模块610、第二正则表达式生成模块620及数据提取模块630。其中,
待处理数据获取模块610,用于获取待处理数据;
第二正则表达式生成模块620,用于分析所述待处理数据,生成与所述待处理数据匹配的正则表达式;
数据提取模块630,用于根据生成的所述正则表达式对所述待处理数据进行数据提取;
其中,所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。
本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对应的公共数据树,以根据公共数据树生成数据类型列表,从而根据数据类型列表生成与样本数据列表匹配的多个正则表达式,以利用生成的正则表达式对待处理数据快速进行数据提取和分类,实现了自动生成正则表达式,提高了正则表达式的生成效率以及数据的提取和分类效率。
上述数据提取装置可执行本申请任意实施例所提供的数据提取方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请任意实施例提供的数据提取方法。
由于上述所介绍的数据提取装置为可以执行本申请实施例中的数据提取方法的装置,故而基于本申请实施例中所介绍的数据提取方法,本领域所属技术人员能够了解本实施例的数据提取装置的具体实施方式以及其各种变化形式,所以在此对于该数据提取装置如何实现本申请实施例中的数据提取方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中数据提取方法所采用的装置,都属于本申请所欲保护的范围。
在一个示例中,本申请还提供了一种电子设备和一种可读存储介质。
图7是用来实现本申请实施例的正则表达式的生成方法或数据提取方法的电子设备的结构示意图。如图7所示,是根据本申请实施例的正则表达式的生成方法或数据提取方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的正则表达式的生成方法或数据提取方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的正则表达式的生成方法或数据提取方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的正则表达式的生成方法或数据提取方法对应的程序指令/模块(例如,附图5所示的样本数据列表获取模块510、公共数据树生成模块520、数据类型列表生成模块530和第一正则表达式生成模块540,或,附图6所示的待处理数据获取模块610、第二正则表达式生成模块620及数据提取模块630)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的正则表达式的生成方法或数据提取方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储实现正则表达式的生成方法或数据提取方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至实现正则表达式的生成方法或数据提取方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现正则表达式的生成方法或数据提取方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与实现正则表达式的生成方法或数据提取方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端可以是智能手机、笔记本电脑、台式计算机、平板电脑、智能音箱等,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算、云服务、云数据库、云存储等基础云计算服务的云服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
本申请实施例通过根据获取样本数据列表中的样本数据生成与样本数据列表对应的公共数据树,以根据公共数据树生成数据类型列表,从而根据数据类型列表生成与样本数据列表匹配的多个正则表达式,以利用生成的正则表达式对待处理数据快速进行数据提取和分类,实现了自动生成正则表达式,提高了正则表达式的生成效率以及数据的提取和分类效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (30)

1.一种正则表达式的生成方法,包括:
获取样本数据列表;所述样本数据列表包括多个样本数据;
根据各所述样本数据生成与所述样本数据列表对应的公共数据树;
根据所述公共数据树生成数据类型列表;
根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。
2.根据权利要求1所述的方法,其中,所述根据各所述样本数据生成与所述样本数据列表对应的公共数据树,包括:
将所述样本数据列表作为当前数据列表;
通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列;
将所述当前目标公共连续子序列作为当前公共数据树的根节点,并根据所述目标公共连续子序列以及所述当前数据列表中各所述样本数据依次确定各所述样本数据的临时子节点;其中,所述临时子节点包括第一临时子节点和第二临时子节点;
根据各所述临时子节点构建目标数据列表,并根据所述目标数据列表更新所述当前数据列表;
返回执行通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列的操作,并根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,直至所述当前目标公共连续子序列为空。
3.根据权利要求2所述的方法,所述根据各所述当前子公共数据树的子节点构建目标数据列表,包括:
根据各所述第一临时子节点构建第一目标数据列表;及
根据各所述第二临时子节点构建第二目标数据列表;
所述根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,包括:
将各所述第一目标数据列表的根节点作为所述当前公共数据树的第一子节点;
将各所述第二目标数据列表的根节点作为所述当前公共数据树的第二子节点。
4.根据权利要求1所述的方法,其中,所述根据所述公共数据树生成数据类型列表,包括:
根据所述公共数据树以及所述样本数据列表生成公共数据全列表;
根据所述公共数据全列表生成所述数据类型列表。
5.根据权利要求4所述的方法,其中,所述根据所述公共数据树以及所述样本数据列表生成公共数据全列表,包括:
对所述公共数据树进行遍历,根据遍历结果构建公共数据中间列表;
根据所述样本数据列表包括的非公共数据形成对应的子数据列表;
根据各所述子数据列表对所述公共数据中间列表进行扩充,得到所述公共数据全列表。
6.根据权利要求4或5所述的方法,其中,所述根据所述公共数据全列表生成所述数据类型列表,包括:
将所述公共数据全列表的公共数据确定为第一数据类型;
计算所述公共数据全列表的各子数据列表的长度信息熵;
根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型。
7.根据权利要求6所述的方法,其中,所述根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型,包括:
在所述子数据列表的长度信息熵大于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为第二数据类型;
在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为所述第一数据类型。
8.根据权利要求1所述的方法,其中,所述根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式,包括:
根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正则表达式。
9.根据权利要求8所述的方法,其中,所述根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正则表达式,包括:
按照数据排序顺序获取所述公共数据全列表的当前待处理数据;
在确定所述当前待处理数据的数据类型为第一数据类型的情况下,根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式;
在确定所述当前待处理数据的数据类型为第二数据类型的情况下,根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式;
按照所述数据排序顺序获取下一个待处理数据,并根据所述下一个待处理数据更新所述当前待处理数据;
返回执行生成与所述当前待处理数据匹配的子正则表达式的操作,直至所述公共数据全列表的所有待处理数据处理完成;
根据各所述子正则表达式生成与所述样本数据列表匹配的多个正则表达式。
10.根据权利要求9所述的方法,其中,所述根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式,包括:
在确定所述待处理数据数量为第一数量时,将所述当前待处理数据直接作为所述当前待处理数据匹配的子正则表达式;
在确定所述待处理数据数量为非第一数量时,将所述当前待处理数据的各个数据组合作为所述当前待处理数据匹配的子正则表达式。
11.根据权利要求9所述的方法,其中,所述根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式,包括:
在所述当前待处理数据的长度信息熵大于或等于第二设定阈值的情况下,将预设字符作为所述当前待处理数据匹配的子正则表达式;
在所述当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值的情况下,将所述当前待处理数据的各个数据的第一长度信息和第二长度信息作为所述当前待处理数据匹配的子正则表达式;
在所述当前待处理数据的长度信息熵小于或等于所述第三设定阈值的情况下,将所述当前待处理数据的各个数据的第三长度信息作为所述当前待处理数据匹配的子正则表达式。
12.根据权利要求11所述的方法,其中,还包括:
获取各所述子正则表达式中的目标子正则表达式的表达式组成类型;
根据所述表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。
13.根据权利要求1所述的方法,还包括:
利用亲密度函数计算各所述正则表达式的亲密度;
将目标亲密度对应的正则表达式确定为目标正则表达式。
14.一种数据提取方法,包括:
获取待处理数据;
分析所述待处理数据,生成与所述待处理数据匹配的正则表达式;
根据生成的所述正则表达式对所述待处理数据进行数据提取;
其中,所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。
15.一种正则表达式的生成装置,包括:
样本数据列表获取模块,用于获取样本数据列表;所述样本数据列表包括多个样本数据;
公共数据树生成模块,用于根据各所述样本数据生成与所述样本数据列表对应的公共数据树;
数据类型列表生成模块,用于根据所述公共数据树生成数据类型列表;
第一正则表达式生成模块,用于根据所述数据类型列表生成与所述样本数据列表匹配的多个正则表达式。
16.根据权利要求15所述的装置,其中,所述公共数据树生成模块具体用于:
将所述样本数据列表作为当前数据列表;
通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列;
将所述当前目标公共连续子序列作为当前公共数据树的根节点,并根据所述目标公共连续子序列以及所述当前数据列表中各所述样本数据依次确定各所述样本数据的临时子节点;其中,所述临时子节点包括第一临时子节点和第二临时子节点;
根据各所述临时子节点构建目标数据列表,并根据所述目标数据列表更新所述当前数据列表;
返回执行通过后缀树数据结构生成所述当前数据列表中各样本数据的当前目标公共连续子序列的操作,并根据所述目标数据列表的根节点更新所述当前公共数据树的子节点,直至所述当前目标公共连续子序列为空。
17.根据权利要求16所述的装置,其中,所述公共数据树生成模块具体用于:
根据各所述第一临时子节点构建第一目标数据列表;及
根据各所述第二临时子节点构建第二目标数据列表;
将各所述第一目标数据列表的根节点作为所述当前公共数据树的第一子节点;
将各所述第二目标数据列表的根节点作为所述当前公共数据树的第二子节点。
18.根据权利要求15所述的装置,其中,所述数据类型列表生成模块具体用于:
根据所述公共数据树以及所述样本数据列表生成公共数据全列表;
根据所述公共数据全列表生成所述数据类型列表。
19.根据权利要求18所述的装置,其中,所述数据类型列表生成模块具体用于:
对所述公共数据树进行遍历,根据遍历结果构建公共数据中间列表;
根据所述样本数据列表包括的非公共数据形成对应的子数据列表;
根据各所述子数据列表对所述公共数据中间列表进行扩充,得到所述公共数据全列表。
20.根据权利要求18或19所述的装置,其中,所述数据类型列表生成模块具体用于:
将所述公共数据全列表的公共数据确定为第一数据类型;
计算所述公共数据全列表的各子数据列表的长度信息熵;
根据各所述子数据列表的长度信息熵与第一设定阈值之间的数值关系确定各所述子数据列表的数据类型。
21.根据权利要求20所述的装置,其中,所述数据类型列表生成模块具体用于:
在所述子数据列表的长度信息熵大于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为第二数据类型;
在所述子数据列表的长度信息熵小于或等于所述第一设定阈值的情况下,将所述子数据列表的数据类型确定为所述第一数据类型。
22.根据权利要求15所述的装置,其中,所述第一正则表达式生成模块具体用于:
根据所述数据类型列表以及公共数据全列表生成与所述样本数据列表匹配的多个正则表达式。
23.根据权利要求22所述的装置,其中,所述第一正则表达式生成模块具体用于:
按照数据排序顺序获取所述公共数据全列表的当前待处理数据;
在确定所述当前待处理数据的数据类型为第一数据类型的情况下,根据所述当前待处理数据包括的待处理数据数量生成与所述当前待处理数据匹配的子正则表达式;
在确定所述当前待处理数据的数据类型为第二数据类型的情况下,根据所述当前待处理数据的长度信息熵生成与所述当前待处理数据匹配的子正则表达式;
按照所述数据排序顺序获取下一个待处理数据,并根据所述下一个待处理数据更新所述当前待处理数据;
返回执行生成与所述当前待处理数据匹配的子正则表达式的操作,直至所述公共数据全列表的所有待处理数据处理完成;
根据各所述子正则表达式生成与所述样本数据列表匹配的多个正则表达式。
24.根据权利要求23所述的装置,其中,所述第一正则表达式生成模块具体用于:
在确定所述待处理数据数量为第一数量时,将所述当前待处理数据直接作为所述当前待处理数据匹配的子正则表达式;
在确定所述待处理数据数量为非第一数量时,将所述当前待处理数据的各个数据组合作为所述当前待处理数据匹配的子正则表达式。
25.根据权利要求23所述的装置,其中,所述第一正则表达式生成模块具体用于:
在所述当前待处理数据的长度信息熵大于或等于第二设定阈值的情况下,将预设字符作为所述当前待处理数据匹配的子正则表达式;
在所述当前待处理数据的长度信息熵小于第二设定阈值且大于第三设定阈值的情况下,将所述当前待处理数据的各个数据的第一长度信息和第二长度信息作为所述当前待处理数据匹配的子正则表达式;
在所述当前待处理数据的长度信息熵小于或等于所述第三设定阈值的情况下,将所述当前待处理数据的各个数据的第三长度信息作为所述当前待处理数据匹配的子正则表达式。
26.根据权利要求25所述的装置,其中,所述第一正则表达式生成模块具体用于:
获取各所述子正则表达式中的目标子正则表达式的表达式组成类型;
根据所述表达式组成类型利用预设标识对各所述目标子正则表达式进行标识。
27.根据权利要求15所述的装置,还包括:
亲密度计算模块,用于利用亲密度函数计算各所述正则表达式的亲密度;
目标正则表达式确定模块,用于将目标亲密度对应的正则表达式确定为目标正则表达式。
28.一种数据提取装置,包括:
待处理数据获取模块,用于获取待处理数据;
第二正则表达式生成模块,用于分析所述待处理数据,生成与所述待处理数据匹配的正则表达式;
数据提取模块,用于根据生成的所述正则表达式对所述待处理数据进行数据提取;
其中,所述正则表达式通过权利要求1-13任一项所述的正则表达式的生成方法生成。
29.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的正则表达式的生成方法,或执行权利要求14所述的数据提取方法。
30.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-13中任一项所述的正则表达式的生成方法,或执行权利要求14所述的数据提取方法。
CN202010935977.8A 2020-09-08 2020-09-08 正则表达式的生成、数据提取方法、装置、设备及介质 Active CN112115313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010935977.8A CN112115313B (zh) 2020-09-08 2020-09-08 正则表达式的生成、数据提取方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010935977.8A CN112115313B (zh) 2020-09-08 2020-09-08 正则表达式的生成、数据提取方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN112115313A true CN112115313A (zh) 2020-12-22
CN112115313B CN112115313B (zh) 2023-07-28

Family

ID=73802612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010935977.8A Active CN112115313B (zh) 2020-09-08 2020-09-08 正则表达式的生成、数据提取方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN112115313B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343715A (zh) * 2021-06-29 2021-09-03 深圳前海微众银行股份有限公司 自动生成正则表达式的方法、装置、设备及存储介质
CN114741469A (zh) * 2022-04-11 2022-07-12 上海弘玑信息技术有限公司 正则表达式的生成方法及电子设备
CN115269939A (zh) * 2022-09-28 2022-11-01 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 正则表达式生成方法、装置、智能终端及计算机存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609459A (zh) * 2012-01-12 2012-07-25 神州数码网络(北京)有限公司 基于正则表达式的字符串匹配方法和装置
CN105512105A (zh) * 2015-12-07 2016-04-20 百度在线网络技术(北京)有限公司 语义解析方法和装置
CN105868166A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 一种正则表达式的生成方法及系统
CN107992481A (zh) * 2017-12-25 2018-05-04 中科鼎富(北京)科技发展有限公司 一种基于多叉树的正则表达式匹配方法、装置及系统
US20180268081A1 (en) * 2015-01-28 2018-09-20 British Telecommunications Public Limited Company Data extraction
CN109783819A (zh) * 2019-01-18 2019-05-21 广东小天才科技有限公司 一种正则表达式的生成方法及系统
CN111222022A (zh) * 2020-01-15 2020-06-02 奇安信科技集团股份有限公司 一种基于正则表达式的匹配方法及装置
US20200210467A1 (en) * 2018-12-26 2020-07-02 Oath Inc. Template generation using directed acyclic word graphs

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609459A (zh) * 2012-01-12 2012-07-25 神州数码网络(北京)有限公司 基于正则表达式的字符串匹配方法和装置
CN105868166A (zh) * 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 一种正则表达式的生成方法及系统
US20180268081A1 (en) * 2015-01-28 2018-09-20 British Telecommunications Public Limited Company Data extraction
CN105512105A (zh) * 2015-12-07 2016-04-20 百度在线网络技术(北京)有限公司 语义解析方法和装置
CN107992481A (zh) * 2017-12-25 2018-05-04 中科鼎富(北京)科技发展有限公司 一种基于多叉树的正则表达式匹配方法、装置及系统
US20200210467A1 (en) * 2018-12-26 2020-07-02 Oath Inc. Template generation using directed acyclic word graphs
CN109783819A (zh) * 2019-01-18 2019-05-21 广东小天才科技有限公司 一种正则表达式的生成方法及系统
CN111222022A (zh) * 2020-01-15 2020-06-02 奇安信科技集团股份有限公司 一种基于正则表达式的匹配方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113343715A (zh) * 2021-06-29 2021-09-03 深圳前海微众银行股份有限公司 自动生成正则表达式的方法、装置、设备及存储介质
CN114741469A (zh) * 2022-04-11 2022-07-12 上海弘玑信息技术有限公司 正则表达式的生成方法及电子设备
CN115269939A (zh) * 2022-09-28 2022-11-01 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 正则表达式生成方法、装置、智能终端及计算机存储介质
CN115269939B (zh) * 2022-09-28 2023-02-17 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 正则表达式生成方法、装置、智能终端及计算机存储介质

Also Published As

Publication number Publication date
CN112115313B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN111460083B (zh) 文档标题树的构建方法、装置、电子设备及存储介质
CN111967262B (zh) 实体标签的确定方法和装置
CN111522994B (zh) 用于生成信息的方法和装置
CN111522967B (zh) 知识图谱构建方法、装置、设备以及存储介质
KR20210038467A (ko) 이벤트 테마 생성 방법, 장치, 기기 및 저장 매체
CN110457672B (zh) 关键词确定方法、装置、电子设备及存储介质
CN111709247A (zh) 数据集处理方法、装置、电子设备和存储介质
CN111563385B (zh) 语义处理方法、装置、电子设备和介质
CN112115313B (zh) 正则表达式的生成、数据提取方法、装置、设备及介质
JP2016508264A (ja) 入力文字列に対応する入力候補アイテムを提供する方法及び装置
CN112148881B (zh) 用于输出信息的方法和装置
CN113760891B (zh) 一种数据表的生成方法、装置、设备和存储介质
CN111460289B (zh) 新闻资讯的推送方法和装置
CN111488740A (zh) 一种因果关系的判别方法、装置、电子设备及存储介质
CN112380847B (zh) 兴趣点处理方法、装置、电子设备及存储介质
CN111523001A (zh) 用于存储数据的方法、装置、设备以及存储介质
CN111708805A (zh) 数据查询方法、装置、电子设备及存储介质
CN112183052B (zh) 一种文档重复度检测方法、装置、设备和介质
JP7197542B2 (ja) テキストワードセグメンテーションの方法、装置、デバイスおよび媒体
CN111737966B (zh) 文档重复度检测方法、装置、设备和可读存储介质
CN111400456B (zh) 资讯推荐方法及装置
CN110968802B (zh) 一种用户特征的分析方法、分析装置及可读存储介质
CN113742332B (zh) 数据存储方法、装置、设备及存储介质
CN111460257B (zh) 专题生成方法、装置、电子设备和存储介质
CN112699314A (zh) 热点事件确定方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant