一种从文本语料中提取持续性热点短语的方法、装置及存储介质

文档序号:25483159发布日期:2021-06-15 21:43阅读:138来源:国知局
一种从文本语料中提取持续性热点短语的方法、装置及存储介质

本发明实施例涉及信息挖掘技术领域,尤其涉及一种从文本语料中提取持续性热点短语的方法、装置及存储介质。



背景技术:

随着数据迅速膨胀的背景下,大量的知识库构建任务使得快速从海量文本语料中提取有效信息成为了一个重要研究方向。以短语形式挖掘文本中频繁出现的连续词序列成为用户获取关键信息、进行文本集探索的有效方式之一。

目前,在连续时间区间下对频繁词序列挖掘过程中,由于用户对于数据内容无法完全掌握,通常需要多次迭代修改查询条件(即交互式查询)才能够对数据进行全面的了解。然而,相关频繁词序列挖掘方案大多面向挖掘任务,具有较高的时间复杂度,无法用于频繁更换查询条件的探索性查询方案,也无法快速获得查询反馈的需求。



技术实现要素:

有鉴于此,本发明实施例期望提供一种从文本语料中提取持续性热点短语的方法、装置及存储介质;能够降低查询持续性热点短语的时间复杂度,快速寻找在连续时间区间下均作为热点存在的短语信息,满足探索性交互式查询的需求。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供了一种从文本语料中提取持续性热点短语的方法,所述方法包括:

将原始文本语料划分为多个与时间区间相对应的文本集合;

基于每个文本集合所包含的文本后缀及各文本后缀出现的频率构造每个文本集合对应的频率后缀树;

基于查询指令所指示的热点持续时间区间以及最小出现频率阈值遍历所述热点持续时间区间所对应的频率后缀树,查询获得在所述热点持续时间区间内出现频率不低于所述最小出现频率阈值的热点短语。

第二方面,本发明实施例提供了一种从文本语料中提取持续性热点短语的装置,所述装置包括:划分部分、构造部分和查询部分;其中,

所述划分部分,经配置为将原始文本语料划分为多个与时间区间相对应的文本集合;

所述构造部分,经配置为基于每个文本集合所包含的文本后缀及各文本后缀出现的频率构造每个文本集合对应的频率后缀树;

所述查询部分,经配置为基于查询指令所指示的热点持续时间区间以及最小出现频率阈值遍历所述热点持续时间区间所对应的频率后缀树,查询获得在所述热点持续时间区间内出现频率不低于所述最小出现频率阈值的热点短语。

第三方面,本发明实施例提供了一种计算设备,所述计算设备包括:通信接口,存储器和处理器;其中,

所述通信接口,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;

所述存储器,用于存储能够在所述处理器上运行的计算机程序;

所述处理器,用于在运行所述计算机程序时,执行第一方面所述从文本语料中提取持续性热点短语的方法的步骤。

第四方面,本发明实施例提供了一种计算机存储介质,所述计算机可读介质存储有从文本语料中提取持续性热点短语的程序,所述从文本语料中提取持续性热点短语的程序被至少一个处理器执行时实现第一方面所述的从文本语料中提取持续性热点短语的方法的步骤。

本发明实施例提供了一种从文本语料中提取持续性热点短语的方法、装置及存储介质;针对将原始文本语料按照时间区间划分所得到的多个文本集合,通过构造频率后缀树的方式避免在查询过程中进行文本频率统计,从而降低了查询持续性热点短于的时间复杂度,提高查询效率。

附图说明

图1为本发明实施例提供的一种从文本语料中提取持续性热点短语的方法流程示意图;

图2为本发明实施例提供的一种频率后缀树的示意图;

图3为本发明实施例提供的实验手段一的结果对比示意图;

图4为本发明实施例提供的实验手段二的结果对比示意图;

图5为本发明实施例提供的一种从文本语料中提取持续性热点短语的装置组成示意图;

图6为本发明实施例提供的另一种从文本语料中提取持续性热点短语的装置组成示意图;

图7为本发明实施例提供的一种计算设备的具体硬件结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

首先,对本发明实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。

短语:是由文本集合中依次出现的且由单词组成的连续词序列。举例来说,根据由有限个单词a组成的词典σ,文本集合可表示为d={a1,a2,…,an}。短语可表示为s(x,y)={ax,ax+1,…,ay},其中,1≤x<y≤n。

热点短语:是指在一段时间内高频出现的短语,并且该短语能够对其所在的文本所期望表达的内容进行体现。在本发明实施例中,优选地通过设置最小出现频率阈值对短语热度进行衡量,在查询中将出现频率高于该最小出现频率阈值的连续词序列视为热点短语。

热点持续时间:是指一段连续的时间区间,其可以由多个最小单位时间区间组成。在本发明实施例中,设定t(x,y)={tx,tx+1,…,ty},1≤x≤y≤m来表示热点持续时间区间,其中,t可以用来标识最小单位时间区间,ti为数据集的第i个时间区间。此外,还设定t(1,m)表示包含所有数据集的完整时间段,其中,m表示完整时间段所包含的全部最小单位时间区间的个数;可以理解地,t(x,y)为t(1,m)的子集。

基于上述相关概念的定义和解释阐述,参见图1,其示出了本发明实施例提供的一种从文本语料中提取持续性热点短语的方法,该方法可以包括:

s11:将原始文本语料划分为多个与时间区间相对应的文本集合;

s12:基于每个文本集合所包含的文本后缀及各文本后缀出现的频率构造每个文本集合对应的频率后缀树;

s13:基于查询指令所指示的热点持续时间区间以及最小出现频率阈值遍历所述热点持续时间区间所对应的频率后缀树,查询获得在所述热点持续时间区间内出现频率不低于所述最小出现频率阈值的热点短语。

通过图1所示的技术方案,针对将原始文本语料按照时间区间划分所得到的多个文本集合,通过构造频率后缀树的方式避免在查询过程中进行文本频率统计,从而降低了查询持续性热点短于的时间复杂度,提高查询效率。

对于图1所示的技术方案,步骤s11至s12可以在获取到原始文本语料之后,通过离线实施以进行频率后缀树的构建与存储;步骤s13则可以通过在线实施已完成持续性热点短语的查询。在一些可能的实现方式中,所述将原始文本语料划分为多个与时间区间相对应的文本集合,包括:

将形成所述原始文本语料的时间段按照时间顺序以及设定的最小单位时间区间划分获得多个顺序的时间区间;

根据所述原始文本语料中的文本出现时间以及所述时间区间,将所述原始文本语料中的文本存储于各时间区间对应的文本集合。

对于上述实现方式,举例来说,原始文本语料中的文本内容出现时间段设定为t(1,n),基于设定的最小单位时间区间可以将时间段按照时间顺序划分获得n个时间区间,分别为t(1,n)={t1,t2,…,tn};根据以上划分所得到的时间区间,可以将原始文本语料的文本内容对应存储于各时间区间ti,从而获得各时间区间对应的文本集合di,其中,1≤i≤n。

在一些示例中,对于各时间区间对应的文本集合di,可以在进行频率后缀树构造之前进行预处理,对于预处理过程可以包括:

针对每个文本集合,去除所述文本集合内文本数据中的设定符号与停用词,并在所述停用词与标点位置进行切分,获得多条纯文本数据串,以形成预处理后的文本集合;其中,每条纯文本数据串由多个顺序的单词组成。

沿用上例,对于每个文本集合,通过去除特殊符号与停用词,并在停用词与标点等位置进行切分,将文本集合中的文本内容划分为多条纯文本数据串的形式,比如对于di来说,预处理完成后的di={s1,s2,…,sm};每个纯文本数据串sj均是由多个单词组成的连续词序列,也可称之为短语,表示为sj={a1,a2,…,ay},其中,1≤j≤m,ax表示每个单词,1≤x≤y。

需要说明的是,为了加快后续在线查询的效率,可以利用整形数字对单词、短语以及文本进行表示,举例来说,可以设置一字典的数据格式,文本中的单词、短语可通过字典序号来表示。

完成预处理之后,可以针对每个预处理完成后的文本集合生成对应的频率后缀树,在一些示例中,所述基于每个文本集合所包含的文本后缀及各文本后缀出现的频率构造每个文本集合对应的频率后缀树,包括:

针对每个文本集合,将每个纯文本数据串的结尾添加终止标记;

创建每个文本集合的初始频率树;其中,所述初始频率树只包括根节点,所述根节点的频率和子节点的指针均为空;

针对每个文本集合,采用乌科宁ukkonen算法将每个纯文本数据串的文本后缀插入至所述初始频率树,获得每个文本集合对应的后缀树;

对所述后缀树进行深度递归遍历,当遍历到叶子节点时,将所述叶子节点的频率值置1,并且将所述后缀树中除叶子节点以外的每个其他节点的频率值确定为所述每个其他节点的直接孩子节点的频率值之和,以获得每个文本集合对应的频率后缀树。

沿用上例,对于一个包含m个纯文本数据串的文本集合di来说,频率后缀树是一个包含所有文本后缀和出现频率的后缀树。与传统后缀树不同的是,频率后缀树的每个节点由节点标号i与频次属性值freq组成,可被表示为node(i:freq),用freq来表示由根节点到当前节点i的路径拼接所的短语在文本集合中的出现频率。仍然以di为例,其对应频率后缀树的具体构造过程可以包括:

首先,对于每一条纯文本数据串sj={a1,a2,…,ay},在sj后填充唯一的终止标记符$i,记为sj={a1,a2,…,ay,$i}。

接着,创建一个只包含根节点的初始频率树,在该初始频率树中,根节点的频率以及子节点指针均为空。

然后,使用ukkonen算法将si的所有文本后缀插入到初始频率树中,获得di对应的后缀树。可以理解地,ukkonen算法是当前常用且高效的后缀树构造算法,算法时间复杂度为o(n)。

最后,对后缀树进行深度递归遍历,比如当遍历到叶子结点时,将叶子结点的频率值freq置1,并返回频率值到该叶子节点的上一层父节点。对于每一个非叶子节点的内部节点,记录每一个内部节点的所有直接孩子节点的遍历返回值即直接孩子节点的频率值,并且确定内部节点的频率值freq等于该内部节点的直接孩子节点的频率值之和,从而获得di对应的频率后缀树。

基于上述构造过程,构造所得到的频率后缀树的数据结构如图2所示,在图2中,方形框表示叶子节点,圆形框为非叶子节点,方形框或圆形框内采用前述节点表示方式node(i:freq)进行表示,节点之间的边表示从根节点至该节点形成的文本数据串中的连续词序列。

需要说明的是,上述构造过程采用di为例仅用于进行方案阐述,可以理解地,除了di以外,上述构造过程还适用于所有其他文本集合,本发明实施例对此不做赘述。根据上述示例获得每个文本集合对应的频率后缀树之后,为了便于在计算机以及存储设备中存储各频率后缀树,可以针对各频率后缀树生成对应的序列化文件,基于此,在一些示例中,所述方法还包括:

针对每个文本集合对应的频率后缀树,从根节点进行广度遍历,并将每个节点对应的节点标识、孩子节点数量、频率值以及与父节点连接边记录的文本数据串进行输出,以形成每个频率后缀树的序列化文件。

对于上述示例,沿用上例,对于每个频率后缀树来说,可以从根节点对频率后缀树进行广度遍历,将每个节点按照<节点编号,孩子节点数量,freq,与父节点连接边记录的文本串>的数据形式输出到文件一次您构成序列化文件进行存储。

通过上述实现方式及示例,完成了离线构建与存储频率后缀树的阶段,在该阶段,首先对文本集合进行预处理获取去除了停用词和标点的纯文本数据串;然后,按照单位时间区间的划分将文本数据串插入到后缀树中并进行频率统计,从而获得频率后缀树;最后,以层次遍历的方式将频率后缀树的每个节点和边信息存储到序列化文件中。完成该阶段之后,在进行查询时,就无须再对频率进行统计,从而降低查询的时间代价,提高了查询效率。基于此,在完成上述阶段后,可以通过接收查询指令来触发在线的持续性热点短语的查询阶段。在本发明实施例中,查询指令可以至少包括希望查询的热点持续时间区间以及设定的最小出现频率阈值,也就是说,在热点持续时间区间内,出现频率高于最小出现频率阈值的短语可被认为是持续热点短语。

基于此,在一些示例中,所述基于查询指令所指示的热点持续时间区间以及最小出现频率阈值遍历所述热点持续时间区间所对应的频率后缀树,查询获得在所述热点持续时间区间内出现频率不低于所述最小出现频率阈值的热点短语,包括:

针对所述热点持续时间区间中的首个时间区间,将所述首个时间区间对应的频率后缀树的序列化文件还原为所述首个时间区间对应的频率后缀树;

从根节点出发中序遍历所述首个时间区间对应的频率后缀树,判定当前遍历节点的频率值是否不小于所述最小出现频率阈值:若是,则继续遍历所述当前遍历节点的下一级节点,直至被遍历节点的频率值小于所述最小出现频率阈值;

若当前遍历节点的频率值不小于所述最小出现频率阈值且所述当前遍历节点的所有孩子节点的频率值均小于所述最小出现频率阈值,将由所述根节点至所述当前遍历节点的路径边所记录的单词序列确定为所述首个时间区间内的候选热点短语;

针对所述热点持续时间区间中除所述首个时间区间之外的每个其他时间区间,将所述每个其他时间区间对应的频率后缀树的序列化文件还原为所述每个其他时间区间对应的频率后缀树;

针对所述热点持续时间区间中除所述首个时间区间之外的每个其他时间区间对应的频率后缀树,利用所述其他时间区间的前一个时间区间或所述其他时间区间之前的所有时间区间所对应的候选热点短语集合中的每一个候选热点短语在所述其他时间区间按照所述最小出现频率阈值进行查询,获得所述其他时间区间内的候选热点短语;

将最后一个其他时间区间内的候选热点短语确定为在所述热点持续时间区间内的持续热点短语。

针对上述示例,沿用上例,设定查询指令中的热点持续时间区间为t(x,y)={tx,tx+1,…,ty},1≤x≤y≤m,最小出现频率阈值为θ。由于热点短语的维持时间较长,即热点短语并不会在突然出现并且突然消失;也就是说,在热点持续时间区间内,热点短语的出现频率均会较高;因此,本发明实施例对于热点短语的查询,可以利用对热点持续时间区间内的部分时间区间已查询获得的候选热点短语作为后续时间区间进行查询的基础,能够在对后续时间区间进行查询时进行剪枝操作,从而进一步降低查询所花费的时间代价,提升查询效率。基于此,上述示例的具体实施过程可以包括:

首先,读取时间区间tx对应的频率后缀树的序列化文件,从根结点开始还原频率后缀树。比如,根据freq和节点编号创建新节点并插入频率后缀树,并将边信息还原到对应边中,通过孩子节点数量判断频率后缀树中的内部节点具有几个孩子节点。

接着,从根结点出发中序遍历时间区间tx对应的频率后缀树,判断当前遍历节点的freq是否大于等于最小出现频率阈值θ(即满足阈值θ):若是,则按照边中的词序列并继续向下遍历;直到节点的freq不再满足(即小于)最小出现频率阈值θ,那么对应的文本后缀也不再满足阈值θ,此时向上回溯到父节点;若当前遍历节点满足阈值θ且它的所有孩子节点均不满足阈值θ,那么由根节点到该节点所记录的路径边的词序列即为满足要求的一个候选热点短语。如此就可以获取到时间区间tx对应的频率后缀树的所有候选热点短语,可以表示为集合sx={s1,s2,…,sn}

接着,按照时间顺序依次遍历时间范围t(x+1,y)中的时间区间ti,在遍历过程中执行以下步骤:

读取时间区间ti对应的频率后缀树的序列化文件,构建时间区间ti对应的频率后缀树;随后,对第i-1个时间区间ti-1下的候选热点词语集合si-1={s1,s2,…,sp}进行遍历,查找该集合si-1中的候选热点词语在时间区间ti对应的频率后缀树中是否仍然满足阈值θ。对于查找过程,举例来说,针对sa,(1≤a≤p)进行检查时,从根节点出发,检查当前节点的freq是否满足阈值θ,若不满足阈值则终止检查。在当前节点的孩子节点连接边中,查找是否有与sa前缀相同的边,若找到相同边,沿边的节点继续找到下个节点,继续与si剩余部分进行关于满足阈值θ的检查。若无相同的边,返回已满足阈值θ的部分为时间区间ti满足条件的热点短语。

最后,当对热点持续时间区间范围内的所有时间区间均完成上述遍历过程后,获得最终查询结果s即为热点持续时间区间内的持续性热点词语。

当然,在另一些示例中,为了能够更加充分地利用已经完成查询的候选热点词语,可以在遍历时间范围t(x+1,y)中的时间区间ti过程中,对时间区间ti之前的所有i-1个时间区间的候选热点词语集合s∑i-1进行遍历,查找该集合s∑i-1中的候选热点词语在时间区间ti对应的频率后缀树中是否仍然满足阈值θ。具体查找过程参见前述针对集合si-1中候选热点词语的查找过程,本发明实施例对此不再赘述。

为了阐述以上实施例所述技术方案的效果以及有效性。本发明实施例通过具体实验进行验证,用于进行技术方案验证的实验数据包括由通过twitterapi提取的2009年4月至6月的16万条推文所组成的数据集1,以及从blogger.com收集的2004年1月至12月的681288篇文章所组成的数据集2。可以理解地,上述两个数据集为两个原始文本语料。设定最小单位时间区间为周(即7天),那么数据集1就可以划分得到13个文本集合,数据集2就可以划分获得53个文本集合,设定最小出现频率阈值θ=50,通过自然语言工具包(nltk,naturallanguagetoolkit)实现对文本集合的预处理,即按照标点和停用词对各文本集合进行断句、词形还原等操作。

基于上述设定,以数据集2为例实施本发明实施例所阐述的技术方案,具体实施过程可以包括:

步骤1、获取2004年1月1日到2005年1月1日的所有文章,设置单位时间区间长度为一周(7天)。那么所有文本将以周为单位划分为53个单位时间区间内的文本集合。

步骤2、使用nltk自然语言处理包对获取的文本集合中的文本内容,执行去除特殊符号与停用词,并在停用词与标点等位置进行切分等操作,从而将每个文本集合中的文本内容划分为多条纯文本数据串的形式。

步骤3、将每个文本集合的文本内容通过整型数字进行表示,比如统计文本中出现单词并加入字典,并将文本中单词以字典序号表示。

步骤4、为每个时间区间对应的文本集合中的文本数据构造频率后缀树。比如逐条读取该时间区间内的文本串,并将文本串插入到频率树中。可以理解地,按照时间区间个数一共可以生成53个频率后缀树。

步骤5、将频率后缀树序列化存储到文件中。可以理解地,按照时间区间个数进行区分,共输出53个序列化文件,用于存储对应时间区间的频率后缀树。

步骤6、获取查询指令的所有参数。比如,热点持续时间区间为1-5周,最小出现频率阈值为50。即查询在第1-5周的所有时间区间中出现频率均大于50的所有热点短语的集合。

步骤7、基于查询指令,将第一周对应的频率后缀树的序列化文件从根结点开始还原第一周对应的频率后缀树。举例来说,可以根据freq和节点编号信息创建新节点并插入频率后缀树,并将边信息还原到对应边中。

步骤8、对于第一周对应的频率后缀树,从根结点出发对频率树进行中序遍历,判断节点freq是否大于等于50。若是,记录边中的词序列并继续向下遍历;直到节点freq不再满足阈值,那么对应的文本后缀也不再满足阈值,此时向上回溯到父节点;如果当前遍历的节点满足阈值且它的所有孩子节点均不满足阈值,那么由根节点到该当前遍历节点的所录的路径边的词序列即为满足要求的一个候选热点短语。

步骤9、遍历查询时间范围第2-5周中的时间区间,执行步骤9.1-9.2。

步骤9.1、还原获得第i个时间区间对应的频率后缀树。

步骤9.2、根据第i-1个时间区间下的候选热点词语集合si-1={s1,s2,…,sp}进行遍历,查找在第i个时间区间对应的频率后缀树中是否仍然满足阈值。查找过程可以为:对序列sa,(1≤a≤p)进行检查时,从根节点出发,检查当前节点的freq是否满足阈值,若不满足阈值则终止检查。在当前节点的孩子节点连接边中,查找是否有与sa前缀相同的边,若找到相同边,沿边界点继续找到下个节点,继续与sa剩余部分进行关于满足阈值θ的检查。若无相同的边,返回已满足阈值的部分为第i个时间区间对应的频率后缀树中满足阈值的热点短语。

步骤10、当对所有持续时间范围均按照步骤9进行遍历后,获得最终查询结果s所包括的热点词语为2004年第1周到第5周的持续性热点词语。

通过上述针对数据集2的具体实施过程阐述,印证了本发明实施例所阐述的技术方案的有效性。此外,为了验证本发明实施例所阐述的技术方案的查询效率,本发明实施例采用基于apriori实现的持续热点短语查询方法进行对比验证,需要说明的是,该方法可以记为apriori;而本发明实施例在前述技术方案所阐述的从文本语料中提取持续性热点短语的方法可以记为f-tree。具体的试验手段包括:首先,通过改变最小单位时间区间的长度来对比apriori与f-tree之间的运行时间;接着,通过改变最小出现频率阈值θ来比较apriori与f-tree之间的运行时间。从而验证本发明实施例所采用的技术方案的查询效率。

对于实验手段一、若原始文本语料为数据集1,设置查询的起始时间为2009年4月1日,改变最小单位时间区间的长度依次为[1,3,6,9,12]周;若原始文本语料为数据集2,设置查询的起始时间为2004年1月1日,改变最小单位时间区间的长度依次为[5,10,20,50]周。分别利用apriori与f-tree针对上述两个数据集进行查询,所耗费的时间如图3所示,从图3中可以看出,f-tree在两个数据集上都表现出相比于apriori更少的耗时,并且表征出查询范围越大,耗时差距越明显的特点。从整体情况看,f-tree的查询效率能够达到apriori的100倍以上。

对于实验手段二、对于数据集1和数据集2,设置最小出现频率阈值θ依次为[10,20,50,100,200],分别利用apriori与f-tree针对上述两个数据集进行查询,所耗费的时间如图4所示,从图4中可以看出,f-tree的效率稳定地高于apriori。

结合上述两个实验,可以获知:本发明实施例所阐述的技术方案能够较好的适应不同需求的查询问题,在不同阈值和查询范围的场景下均能保持更好的效率。

基于前述技术方案相同的发明构思,参见图5,其示出了本发明实施例提供的一种从文本语料中提取持续性热点短语的装置50,所述装置50包括:划分部分501、构造部分502和查询部分503;其中,

所述划分部分501,经配置为将原始文本语料划分为多个与时间区间相对应的文本集合;

所述构造部分502,经配置为基于每个文本集合所包含的文本后缀及各文本后缀出现的频率构造每个文本集合对应的频率后缀树;

所述查询部分503,经配置为基于查询指令所指示的热点持续时间区间以及最小出现频率阈值遍历所述热点持续时间区间所对应的频率后缀树,查询获得在所述热点持续时间区间内出现频率不低于所述最小出现频率阈值的热点短语。

在一些示例中,所述划分部分501,经配置为:

将形成所述原始文本语料的时间段按照时间顺序以及设定的最小单位时间区间划分获得多个顺序的时间区间;

根据所述原始文本语料中的文本出现时间以及所述时间区间,将所述原始文本语料中的文本存储于各时间区间对应的文本集合。

在一些示例中,参见图6,所述装置50还包括:预处理部分504,经配置为:

针对每个文本集合,去除所述文本集合内文本数据中的设定符号与停用词,并在所述停用词与标点位置进行切分,获得多条纯文本数据串,以形成预处理后的文本集合;其中,每条纯文本数据串由多个顺序的单词组成。

在一些示例中,所述构造部分502,经配置为:

针对每个文本集合,将每个纯文本数据串的结尾添加终止标记;

创建每个文本集合的初始频率树;其中,所述初始频率树只包括根节点,所述根节点的频率和子节点的指针均为空;

针对每个文本集合,采用乌科宁ukkonen算法将每个纯文本数据串的文本后缀插入至所述初始频率树,获得每个文本集合对应的后缀树;

对所述后缀树进行深度递归遍历,当遍历到叶子节点时,将所述叶子节点的频率值置1,并且将所述后缀树中除叶子节点以外的每个其他节点的频率值确定为所述每个其他节点的直接孩子节点的频率值之和,以获得每个文本集合对应的频率后缀树。

在一些示例中,参见图6,所述装置50还包括:序列化存储部分505,经配置为:针对每个文本集合对应的频率后缀树,从根节点进行广度遍历,并将每个节点对应的节点标识、孩子节点数量、频率值以及与父节点连接边记录的文本数据串进行输出,以形成每个频率后缀树的序列化文件。

在一些示例中,所述查询部分503,经配置为:

针对所述热点持续时间区间中的首个时间区间,将所述首个时间区间对应的频率后缀树的序列化文件还原为所述首个时间区间对应的频率后缀树;

从根节点出发中序遍历所述首个时间区间对应的频率后缀树,判定当前遍历节点的频率值是否不小于所述最小出现频率阈值:若是,则继续遍历所述当前遍历节点的下一级节点,直至被遍历节点的频率值小于所述最小出现频率阈值;

若当前遍历节点的频率值不小于所述最小出现频率阈值且所述当前遍历节点的所有孩子节点的频率值均小于所述最小出现频率阈值,将由所述根节点至所述当前遍历节点的路径边所记录的单词序列确定为所述首个时间区间内的候选热点短语;

针对所述热点持续时间区间中除所述首个时间区间之外的每个其他时间区间,将所述每个其他时间区间对应的频率后缀树的序列化文件还原为所述每个其他时间区间对应的频率后缀树;

针对所述热点持续时间区间中除所述首个时间区间之外的每个其他时间区间对应的频率后缀树,利用所述每个其他时间区间的前一个时间区间对应的候选热点短语集合中的每一个候选热点短语进行查询,

在一些示例中,参见图6,所述装置50还包括接收部分506,经配置为:接收查询指令;其中,所述查询指令至少包括希望查询的热点持续时间区间以及设定的最小出现频率阈值。

上述为本实施例提供的一种从文本语料中提取持续性热点短语的装置50的示意性方案。需要说明的是,该从文本语料中提取持续性热点短语的装置50的技术方案与上述的从文本语料中提取持续性热点短语的方法的技术方案属于同一构思,因此,上述从文本语料中提取持续性热点短语的装置50的技术方案未详细描述的细节内容,均可以参见前述从文本语料中提取持续性热点短语的方法的技术方案的描述。

可以理解地,在本实施例中,“部分”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是单元,还可以是模块也可以是非模块化的。

另外,在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

因此,本实施例提供了一种计算机存储介质,所述计算机存储介质存储有从文本语料中提取持续性热点短语的程序,所述从文本语料中提取持续性热点短语的程序被至少一个处理器执行时实现上述技术方案中所述从文本语料中提取持续性热点短语的方法步骤。

根据上述从文本语料中提取持续性热点短语装置50以及计算机存储介质,参见图7,其示出了本发明实施例提供的一种能够实施上述从文本语料中提取持续性热点短语装置50的计算设备70的具体硬件结构,该计算设备70可以为无线装置、移动或蜂窝电话(包含所谓的智能电话)、个人数字助理(pda)、视频游戏控制台(包含视频显示器、移动视频游戏装置、移动视频会议单元)、膝上型计算机、桌上型计算机、电视机顶盒、平板计算装置、电子书阅读器、固定或移动媒体播放器,等。计算设备70包括:通信接口701,存储器702和处理器703;各个组件通过总线系统704耦合在一起。可理解,总线系统704用于实现这些组件之间的连接通信。总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。其中,

所述通信接口701,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;

所述存储器702,用于存储能够在所述处理器703上运行的计算机程序;

所述处理器703,用于在运行所述计算机程序时,执行前述技术方案中所述从文本语料中提取持续性热点短语的方法的步骤,这里不再进行赘述。

可以理解,本发明实施例中的存储器702可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。本文描述的系统和方法的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。

而处理器703可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器703中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器703可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器703读取存储器702中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(applicationspecificintegratedcircuits,asic)、数字信号处理器(digitalsignalprocessing,dsp)、数字信号处理设备(dspdevice,dspd)、可编程逻辑设备(programmablelogicdevice,pld)、现场可编程门阵列(field-programmablegatearray,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1