分布式的级联裂变查询方法及装置与流程

文档序号:12837179阅读:136来源:国知局
分布式的级联裂变查询方法及装置与流程

本发明涉及计算机技术领域,具体涉及一种分布式的级联裂变查询方法及装置。



背景技术:

网络、通讯及计算机技术的迅猛发展也极大程度地推动了人工智能技术的进步。在此背景下,语音处理及数据挖掘也受到了越来越多的关注。

语音处理可识别出说话人所说的内容,并将其转化为文本数据,进而可以将这些总量持续增长的数据持久保存下来,以为后续进行数据挖掘,进而进行数据查询提供基础。

目前,数据查询前所进行的离线数据挖掘多使用单线程、单进程处理数据,再加上数据的增长速度十分迅速,导致数据挖掘时间长,挖掘效率低,甚至容易导致系统崩溃,进而影响后续用户查询数据的准确性。



技术实现要素:

为消除现有数据查询中进行离线数据挖掘时存在的数据挖掘时间长、挖掘效率低、甚至容易导致系统崩溃、影响用户查询数据的准确性的弊端,本发明一方面提出了一种分布式的级联裂变查询方法,所述方法包括:

在预设的分布式系统开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;

其中,所述裂变词为用于将语句划分成裂变模式的关键词,所述裂变模式为根据所述语句包含的所述关键词的词性以及包含的其他词语的词性将所述语句进行划分所得的模式;

根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索,以确定裂变词集合和裂变模集合;

根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

可选地,所述根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索,以确定裂变词集合和裂变模集合,包括:

根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;

根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;

交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。

可选地,所述根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索之前,所述方法还包括:

在所述分布式系统开发框架中对预设数量的语料进行标注,以获取标注结果;

相应地,所述根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果,包括:

根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

可选地,所述分布式系统开发框架包括但不限于分布式系统基础框架hadoop。

可选地,所述在所述分布式系统开发框架中对预设数量的语料进行标注,包括:

利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。

另一方面,本发明还提供了一种分布式的级联裂变查询装置,包括:

文件创建单元,用于在预设的分布式系统开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;

其中,所述裂变词为用于将语句划分成裂变模式的关键词,所述裂变模式为根据所述语句包含的所述关键词的词性以及包含的其他词语的词性将所述语句进行划分所得的模式;

集合确定单元,用于根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索,以确定裂变词集合和裂变模集合;

裂变查询单元,用于根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

可选地,所述集合确定单元进一步用于:

根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;

根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;

交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。

可选地,所述装置还包括:

标注单元,用于在所述分布式系统开发框架中对预设数量的语料进行标注,以获取标注结果;

相应地,所述裂变查询单元进一步用于根据所述标注结果、所述 裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

可选地,所述分布式系统开发框架包括但不限于分布式系统基础框架hadoop。

可选地,所述标注单元进一步用于利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。

本发明的分布式的级联裂变查询方法及装置,基于分布式系统开发框架中创建裂变词文件以及裂变模式文件,并确定裂变词集合和裂变模集合,以根据裂变词集合和裂变模集合对用户输入的待查询语句进行裂变处理模式匹配并返回查询结果,消除了现有查询方法因使用单线程、单进程处理数据而导致数据挖掘时间长、效率低进而影响查询准确度甚至容易导致系统崩溃的弊端,提高了数据的离线挖掘效率,缩短了数据挖掘时间,进而提高了查询准确度和查询效率,提升了用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一个实施例提供的分布式的级联裂变查询方法的流程图;

图2为本发明一个实施例提供的确定裂变词集合和裂变模集合方法的流程图;

图3为本发明一个实施例提供的分布式的级联裂变查询装置的结构示意图;

图4为本发明另一个实施例提供的分布式的级联裂变查询装置的 结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明一个实施例提供的分布式的级联裂变查询方法的流程图;如图1所示,该方法包括:

s1:在预设的分布式系统开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;

其中,所述的裂变词为用于将语句划分成裂变模式的关键词,例如“为什么”、“是什么”、“是谁”、“刘德华”等[动词+代词]或[名词];所述的裂变模式为根据所述语句包含的所述关键词的词性以及包含的其他词语的词性将所述语句进行划分所得的模式,例如对于语句“刘德华是谁”而言,若其裂变词为“是谁”,则其裂变模式可确定为“[人名]+[裂变词]”。

需要说明的是,创建上述裂变词文件后即向其中加入预设数量的裂变词,作为初始语料;而上述创建的裂变模式文件后不需要向其中加入裂变模式,即使保留一个空的裂变模式文件用于存储后续通过迭代处理所获取的裂变模式。

此外,上述的分布式系统开发框架可以为hadoop、spark以及storm等分布式架构中的任意一种或其他可实现分布式系统开发的框架,本发明对此不进行限定。

s2:根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索,以确定裂变词集合和裂变模集合;

s3:根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

本实施例的分布式的级联裂变查询方法,基于分布式系统开发框架中创建裂变词文件以及裂变模式文件,并确定裂变词集合和裂变模集合,以根据裂变词集合和裂变模集合对用户输入的待查询语句进行裂变处理并返回查询结果,消除了现有查询方法因使用单线程、单进程处理数据而导致数据挖掘时间长、效率低进而影响查询准确度甚至容易导致系统崩溃的弊端,提高了数据的离线挖掘效率,缩短了数据挖掘时间,进而提高了查询准确度和查询效率,提升了用户体验。

图2为本发明一个实施例提供的确定裂变词集合和裂变模集合方法的流程图;如图2所示,在上一实施例的基础上,步骤s2中根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索,以确定裂变词集合和裂变模集合,可进一步包括:

s21:根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;

具体地,在分布式系统开发框架,例如hadoop中构建“词-模式”的hadoop任务;其中hadoop的map和reduce细节为:

map:原始句子+模式和裂变词作为输入,输出以裂变词为键,设置以词为键进行分桶排序;

reduce:由于设置以词分桶,有相同裂变词的数据将分到一个处理程序,输出包含裂变集合词的句子,以及该模式。如“刘德华是谁”包含"是谁",输出结果为:

刘德华是谁[人名]+[裂变词]。

s22:根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;

具体地,在hadoop中构建“模式-词”的hadoop任务;其中,hadoop 的map和reduce细节为:

map:将步骤s21的结果和原始句子作为输入,输出以模式为键,设置以模式为键进行分桶排序。

reduce:由于设置以模式分桶,相同模式的数据将分到一个处理程序,输出包含模式的句子。如“刘德华在哪”包含"是谁",输出结果为:

刘德华在哪[人名]+“在哪”;

将该结果输出为原始句子+模式。

s23:交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。

具体地,在执行完步骤s22后将输出的结果,即原始句子+模式带回到步骤s21,并重复步骤s21至s22步骤,直到所得结果收敛,即不再有新的数据输出。

作为另一种可选的实施方式,上述步骤s2中根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索之前,还可以进一步包括:

s20:在所述分布式系统开发框架中对预设数量的语料进行标注,以获取标注结果;

相应地,所述根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果,包括:

根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

可选地,所述分布式系统开发框架包括但不限于分布式系统基础框架hadoop。

可选地,所述在所述分布式系统开发框架中对预设数量的语料进行标注,包括:

利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。

具体地,根据预设的语料,使用hadoop的map/reduce调用分词程序对该语料中的句子进行分词并进行词性标注,并输出格式为原始句子+模式,如“刘德华是谁”[人名][动词][代词]。

本实施例的分布式的级联裂变查询方法基于hadoop分布式系统开发框架构建裂变词文件和裂变模式文件,并确定裂变词集合和裂变模集合,可以实现多线程、多进程的数据查询,缩短了数据处理时间,提高了数据挖掘与数据查询的效率。

图3为本发明一个实施例提供的分布式的级联裂变查询装置的结构示意图;如图3所示,该装置包括文件创建单元10、集合确定单元20以及裂变查询单元30;

文件创建单元10用于在预设的分布式系统开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;

其中,所述裂变词为用于将语句划分成裂变模式的关键词,所述裂变模式为根据所述语句包含的所述关键词的词性以及包含的其他词语的词性将所述语句进行划分所得的模式;

集合确定单元20用于根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式进行迭代裂变搜索,以确定裂变词集合和裂变模集合;

裂变查询单元30用于根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

本实施例所述的分布式的级联裂变查询装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。

作为本实施例的优选,集合确定单元20进一步用于:

根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入 所述裂变模式文件中;

根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;

交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。

本实施例基于hadoop分布式系统开发框架构建裂变词文件和裂变模式文件,并确定裂变词集合和裂变模集合,可以实现多线程、多进程的数据查询,缩短了数据处理时间,提高了数据挖掘与数据查询的效率。

图4为本发明另一个实施例提供的分布式的级联裂变查询装置的结构示意图。如图4所示,该装置还可以包括标注单元40,其用于在所述分布式系统开发框架中对预设数量的语料进行标注,以获取标注结果;

相应地,裂变查询单元30可进一步用于根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。

作为上述所有实施例的优选,分布式系统开发框架可包括但不限于分布式系统基础框架hadoop。在此基础上,标注单元40进一步用于利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。

下面以一具体的实施例来说明本发明,但不限定本发明的保护范围。本实施例的分布式的级联裂变查询方法的步骤如下:

1、使用hadoop预处理语料,结果如下表一所示:

表一语料预处理结果

2、在hadoop文件系统中新建裂变模式文件,为空;

3、在hadoop文件系统中新建裂变词文件加入裂变词,例如为“是谁”;

4、创建“词-模式”的hadoop任务:

map:将第1步和第3步的数据作为输入,以词为键;

reduce:“刘德华是谁”命中“是谁”,输出为:

刘德华是谁[人名][动词][代词]([动词][代词]=[裂变词]);

而“梁朝伟在哪”没有命中裂变词,故无输出;

5、创建“模式-词”的hadoop任务:

map:将第4步的数据和第一步的数据作为输入,以模式为键;

reduce:根据模式进行匹配,最终输出为:

“刘德华是谁”“[人名][动词][代词]”;

“梁朝伟在哪”“[人名][动词][代词]”;

6、结束

得到裂变词集合:是谁、在哪;

得到裂变模集合:[人名][动词][代词];

7、标注

[人名]+“是谁”的目标是“who(谁)”;

[人名]+“在哪”的目标是“where(哪)”;

8、线上使用时,符合[人名]+“是谁”模式的,问题目标为who,将返回该[人名]是谁的答案;

符合[人名]+“在哪”模式的,问题目标为where,将返回该[人名]在什么地方的答案。

本发明的分布式的级联裂变查询方法及装置,基于分布式系统开发框架中创建裂变词文件以及裂变模式文件,并确定裂变词集合和裂变模集合,以根据裂变词集合和裂变模集合对用户输入的待查 询语句进行裂变处理并返回查询结果,消除了现有查询方法因使用单线程、单进程处理数据而导致数据挖掘时间长、效率低进而影响查询准确度甚至容易导致系统崩溃的弊端,提高了数据的离线挖掘效率,缩短了数据挖掘时间,进而提高了查询准确度和查询效率,提升了用户体验。

以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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