CN106126545A - 分布式的裂变查询方法及装置 - Google Patents
分布式的裂变查询方法及装置 Download PDFInfo
- Publication number
- CN106126545A CN106126545A CN201610425275.9A CN201610425275A CN106126545A CN 106126545 A CN106126545 A CN 106126545A CN 201610425275 A CN201610425275 A CN 201610425275A CN 106126545 A CN106126545 A CN 106126545A
- Authority
- CN
- China
- Prior art keywords
- fission
- word
- pattern
- file
- new
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种分布式的裂变查询方法及装置,其中,所述方法包括在预设的分布式***开发框架中创建裂变词文件以及裂变模式文件,分别根据预设裂变词对所述裂变模式的第一支持信息以及词语的所属裂变模式对该词语的第二支持信息查找裂变词文件中的裂变词和裂变模式文件中的裂变模式,以根据所述裂变词文件以及所述裂变模式文件进行迭代裂变搜索,确定裂变词集合和裂变模集合,以对待查询语句进行裂变处理,并根据处理结果获取查询结果。本发明基于分布式***开发框架中创建裂变文件,并确定裂变集合,以对用户输入的待查询语句进行裂变处理并返回查询结果,缩短了数据挖掘时间,进而提高了查询准确度和查询效率,提升了用户体验。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种分布式的裂变查询方法及装置。
背景技术
网络、通讯及计算机技术的迅猛发展也极大程度地推动了人工智能技术的进步。而随着文本情感分析以及自然语言处理技术的日益成熟,通过计算机应用智能分析研究大数据已经成为互联网时代的一大需求和趋势。在此背景下,语音处理及数据挖掘也受到了越来越多的关注。语音处理可识别出说话人所说的内容,并将其转化为文本数据,进而可以将这些总量持续增长的数据持久保存下来,以为后续进行数据挖掘,进而进行数据查询提供基础。
目前,数据查询前所进行的离线数据挖掘多使用单线程、单进程处理数据,再加上数据的增长速度十分迅速,导致数据挖掘时间长,挖掘效率低,甚至容易导致***崩溃,进而影响后续用户查询数据的准确性。此外,现有技术中采用人工制定关键词及模式,通过模式匹配识别目标的数据挖掘方法扩展性低,难以大规模应用;而根据关键词和句型结构制定模式,通过与模式计算相似度识别目标的数据挖掘方法则需要大量标注数据,其效果很大程度上依赖样本的覆盖,前期投入过大。
发明内容
为消除现有数据查询中进行离线数据挖掘时存在的数据挖掘时间长、挖掘方法扩展性低、挖掘效率低以及依赖样本的覆盖程度高、前期投入过大、影响用户查询数据的准确性的弊端,本发明提出如下技术方案:
一种分布式的裂变查询方法,包括:
在预设的分布式***开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;
根据预设语料以及预设裂变词确定所述预设裂变词对应的裂变模式,并根据所述预设裂变词对所述裂变模式的第一支持信息将所述裂变模式加入所述裂变模式文件;
从所述预设语料中查找出匹配所述裂变模式文件中的裂变模式的句子,并提取所述句子中裂变词的位置所对应的词语,以根据所述词语的所属裂变模式对所述词语的第二支持信息将所述词语加入所述裂变词文件;
根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合;
根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,以获取查询结果。
可选地,所述根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合之前,所述方法还包括:
在所述分布式***开发框架中对预设数量的语料进行标注,以获取标注结果;
相应地,所述根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果,包括:
根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果。
可选地,所述分布式***开发框架包括但不限于分布式***基础框架hadoop。
可选地,所述在所述分布式***开发框架中对预设数量的语料进行标注,包括:
利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。
可选地,所述根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合,包括:
根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;
根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;
交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。
一种分布式的裂变查询装置,包括:
文件初始化单元,用于在预设的分布式***开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;
裂变模式文件确定单元,用于根据预设语料以及预设裂变词确定所述预设裂变词对应的裂变模式,并根据所述预设裂变词对所述裂变模式的第一支持信息将所述裂变模式加入所述裂变模式文件;
裂变词文件确定单元,用于从所述预设语料中查找出匹配所述裂变模式文件中的裂变模式的句子,并提取所述句子中裂变词的位置所对应的词语,以根据所述词语的所属裂变模式对所述词语的第二支持信息将所述词语加入所述裂变词文件;
集合确定单元,用于根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合;
裂变查询单元,用于根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,以获取查询结果。
可选地,所述装置还包括:
标注单元,用于在所述分布式***开发框架中对预设数量的语料进行标注,以获取标注结果;
相应地,所述裂变查询单元进一步用于根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果。
可选地,所述分布式***开发框架包括但不限于分布式***基础框架hadoop。
可选地,所述标注单元进一步用于利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。
可选地,所述集合确定单元进一步用于:
根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;
根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;
交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。
本发明的分布式的裂变查询方法及装置,基于分布式***开发框架以及支持信息计算方法确定裂变词集合和裂变模集合,以根据裂变词集合和裂变模集合对用户输入的待查询语句进行裂变处理模式匹配并返回查询结果,消除了现有数据查询中进行离线数据挖掘时存在的数据挖掘时间长、挖掘方法扩展性低、挖掘效率低以及依赖样本的覆盖程度高、前期投入过大、影响用户查询数据的准确性的弊端,提高了数据的离线挖掘效率,缩短了数据挖掘时间,进而提高了查询准确度和查询效率,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例提供的分布式的裂变查询方法的流程图;
图2为本发明一个实施例提供的确定裂变词集合和裂变模集合方法的流程图;
图3为本发明一个实施例提供的分布式的裂变查询装置的结构示意图;
图4为本发明另一个实施例提供的分布式的裂变查询装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一个实施例提供的分布式的裂变查询方法的流程图;如图1所示,该方法包括:
S1:在预设的分布式***开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;
其中,所述的裂变词为用于将语句划分成裂变模式的关键词,例如“为什么”、“是什么”、“是谁”、“刘德华”等[动词+代词]或[名词];所述的裂变模式为根据所述语句包含的所述关键词的词性以及包含的其他词语的词性将所述语句进行划分所得的模式,例如对于语句“刘德华是谁”而言,若其裂变词为“是谁”,则其裂变模式可确定为“[人名]+[裂变词]”。
需要说明的是,创建上述裂变词文件后即向其中加入预设数量的裂变词,作为初始语料;而上述创建的裂变模式文件后不需要向其中加入裂变模式,即使保留一个空的裂变模式文件用于存储后续通过迭代处理所获取的裂变模式。
此外,上述的分布式***开发框架可以为hadoop、spark以及storm等分布式架构中的任意一种或其他可实现分布式***开发的框架,本发明对此不进行限定。
S2:根据预设语料以及预设裂变词确定所述预设裂变词对应的裂变模式,并根据所述预设裂变词对所述裂变模式的第一支持信息将所述裂变模式加入所述裂变模式文件;
具体地,根据预设语料中每个句子所包含的词语的词性(如[人名]、[动词]、[代词]等)以及包含预设裂变词的句子确定所述包含预设裂变词的句子的裂变模式(如[人名]+[裂变词]等),并根据所述预设裂变词对所述裂变模式的第一支持信息(包括支持度、置信度、信息增益以及卡方等信息)将所述裂变模式加入到裂变模式文件中;
S3:从所述预设语料中查找出匹配所述裂变模式文件中的裂变模式的句子,并提取所述句子中裂变词的位置所对应的词语,以根据所述词语的所属裂变模式对所述词语的第二支持信息将所述词语加入所述裂变词文件;
具体地,从所述预设语料中提取包含所述裂变模集合中的任一裂变模式的句子,并获取该句子中裂变词的位置所对应的词语,并根据所述裂变词的位置所对应的词语的所属裂变模式对该词语的第二支持信息(包括支持度、置信度、信息增益以及卡方等信息)将该词语作为裂变词加入到裂变词文件中;
S4:根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式(例如,通过迭代裂变搜索,即重复步骤S2~S3,直至不再出现新的裂变词和裂变模式)确定裂变词集合和裂变模集合;
S5:根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果。
具体地,即根据最终得到的裂变词集合和最终得到的裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。
本实施例的分布式的裂变查询方法,基于分布式***开发框架以及支持信息计算方法确定裂变词集合和裂变模集合,以根据裂变词集合和裂变模集合对用户输入的待查询语句进行裂变处理并返回查询结果,消除了现有数据查询中进行离线数据挖掘时存在的数据挖掘时间长、挖掘方法扩展性低、挖掘效率低以及依赖样本的覆盖程度高、前期投入过大、影响用户查询数据的准确性的弊端,提高了数据的离线挖掘效率,缩短了数据挖掘时间,进而提高了查询准确度和查询效率,提升了用户体验。进一步地,作为本实施例的优选,上述步骤S2可以包括:
S21:根据预设语料中的每个句子所包含的词语的词性生成所述每个句子的分词模式,并提取所述预设语料中包含预设裂变词的句子,以根据所述预设裂变词将所述句子的分词模式转换为裂变模式;
其中,每个句子所包含的词语的词性包括名词、动词以及代词等等,在此基础上,根据每个句子所包含的词语的词性而生成的分词模式例如为[人名]、[动词][代词]、[人名][动词][代词]等等。
具体来说,可通过分词程序(如hadoop的map/reduce调用分词程序)对所述预设语料中的每个句子进行分词,并按照词性进行实体标注,以生成每个句子的分词模式,其中,裂变词为用于将语句划分成裂变模式的关键词,例如“为什么”、“是什么”、“是谁”、“刘德华”等[动词+代词]或[名词];所述的裂变模式为根据所述语句包含的所述关键词的词性以及包含的其他词语的词性将所述语句进行划分所得的模式,例如对于语句“刘德华是谁”而言,若其裂变词为“是谁”,则其裂变模式可确定为“[人名]+[裂变词]”。
具体地,例如在裂变词集合中加入的“是谁”,并扫描上述语料中的包含“是谁”的原句子,得到该原句子及其模式:
刘德华是谁[人名][动词][代词][动词][代词]=[裂变词],以将得到的模式“[人名][动词][代词]”加入裂变模集合中。
S22:计算所述裂变模式的第一置信度和所述预设裂变词到所述裂变模式的第一支持度,以根据所述第一置信度和所述第一支持度将所述裂变模式加入到裂变模式文件中。
具体地,即将裂变模式的第一置信度和所述预设裂变词到所述裂变模式的第一支持度分别与置信度阈值和支持度阈值进行比较,并在第一置信度与第一支持度均大于相应的阈值的情况下,将该裂变模式加入到裂变模式文件中。
进一步地,作为本实施例的优选,上述步骤S3还可以包括:
S31:从所述预设语料中提取包含所述裂变模式文件中的任一裂变模式的句子,并提取该句子中裂变词位置所对应的词语;
具体地,例如从预设语料中扫描出裂变模式文件中的裂变模式“[人名][动词][代词]”的句子:“梁朝伟在哪”,由前所述,[动词][代词]=[裂变词],因此可提取出裂变词位置上的新词“在哪”。
S32:计算所述裂变词的位置所对应的词语的第二置信度和该词语的所属裂变模式到该词语的第二支持度,以根据所述第二置信度和所述第二支持度将所述词语作为裂变词加入到裂变词文件中。
具体地,即将裂变词的位置所对应的词语的第二置信度和该词语的所属裂变模式到该词语的第二支持度分别与置信度阈值和支持度阈值进行比较,并在第二置信度与第二支持度均大于相应的阈值的情况下,将该词语作为新的裂变词加入到裂变词文件中。
作为本实施例的优选,上述步骤S4之前,还可以进一步包括:
S40:在所述分布式***开发框架中对预设数量的语料进行标注,以获取标注结果;
相应地,所述根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果,包括:
根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果。
作为本实施例的优选,上述在所述分布式***开发框架中对预设数量的语料进行标注,包括:
利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。具体地,根据预设的语料,使用hadoop的map/reduce调用分词程序对该语料中的句子进行分词并进行词性标注,并输出格式为原始句子+模式,如“刘德华是谁”[人名][动词][代词]。
图2为本发明一个实施例提供的确定裂变词集合和裂变模集合方法的流程图;如图2所示,在上一实施例的基础上,步骤S4中根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合,可进一步包括:
S41:根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;
具体地,在分布式***开发框架,例如hadoop中构建“词-模式”的hadoop任务;其中Hadoop的map和reduce细节为:
map:原始句子+模式和裂变词作为输入,输出以裂变词为键,设置以词为键进行分桶排序;
reduce:由于设置以词分桶,有相同裂变词的数据将分到一个处理程序,输出包含裂变集合词的句子,以及该模式。如“刘德华是谁”包含"是谁",输出结果为:
刘德华是谁[人名]+[裂变词]。
S42:根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;
具体地,在hadoop中构建“模式-词”的hadoop任务;其中,Hadoop的map和reduce细节为:
map:将步骤S21的结果和原始句子作为输入,输出以模式为键,设置以模式为键进行分桶排序。
reduce:由于设置以模式分桶,相同模式的数据将分到一个处理程序,输出包含模式的句子。如“刘德华在哪”包含"是谁",输出结果为:
刘德华在哪[人名]+“在哪”;
将该结果输出为原始句子+模式。
S43:交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。
具体地,在执行完步骤S42后将输出的结果,即原始句子+模式带回到步骤S41,并重复步骤S41至S42步骤,直到所得结果收敛,即不再有新的数据输出。
本实施例的分布式的裂变查询方法基于hadoop分布式***开发框架构以及支持信息计算方法确定裂变词集合和裂变模集合,可以实现多线程、多进程的数据查询,缩短了数据处理时间,提高了数据挖掘与数据查询的效率。
图3为本发明一个实施例提供的分布式的裂变查询装置的结构示意图;如图3所示,该装置包括:
文件初始化单元10,用于在预设的分布式***开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;
其中,所述的裂变词为用于将语句划分成裂变模式的关键词,例如“为什么”、“是什么”、“是谁”、“刘德华”等[动词+代词]或[名词];所述的裂变模式为根据所述语句包含的所述关键词的词性以及包含的其他词语的词性将所述语句进行划分所得的模式,例如对于语句“刘德华是谁”而言,若其裂变词为“是谁”,则其裂变模式可确定为“[人名]+[裂变词]”。
需要说明的是,创建上述裂变词文件后即向其中加入预设数量的裂变词,作为初始语料;而上述创建的裂变模式文件后不需要向其中加入裂变模式,即使保留一个空的裂变模式文件用于存储后续通过迭代处理所获取的裂变模式。
此外,上述的分布式***开发框架可以为hadoop、spark以及storm等分布式架构中的任意一种或其他可实现分布式***开发的框架,本发明对此不进行限定。
裂变模式文件确定单元20,用于根据预设语料以及预设裂变词确定所述预设裂变词对应的裂变模式,并根据所述预设裂变词对所述裂变模式的第一支持信息将所述裂变模式加入所述裂变模式文件;
具体地,根据预设语料中每个句子所包含的词语的词性(如[人名]、[动词]、[代词]等)以及包含预设裂变词的句子确定所述包含预设裂变词的句子的裂变模式(如[人名]+[裂变词]等),并根据所述预设裂变词对所述裂变模式的第一支持信息(包括支持度、置信度、信息增益以及卡方等信息)将所述裂变模式加入到裂变模式文件中;
裂变词文件确定单元30,用于从所述预设语料中查找出匹配所述裂变模式文件中的裂变模式的句子,并提取所述句子中裂变词的位置所对应的词语,以根据所述词语的所属裂变模式对所述词语的第二支持信息将所述词语加入所述裂变词文件;
具体地,从所述预设语料中提取包含所述裂变模集合中的任一裂变模式的句子,并获取该句子中裂变词的位置所对应的词语,并根据所述裂变词的位置所对应的词语的所属裂变模式对该词语的第二支持信息(包括支持度、置信度、信息增益以及卡方等信息)将该词语作为裂变词加入到裂变词文件中;
集合确定单元40,用于根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合;
裂变查询单元50,用于根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,以获取查询结果。
具体地,即根据最终得到的裂变词集合和最终得到的裂变模集合对待查询语句进行裂变处理,并根据处理结果获取并返回查询结果。
本实施例所述的分布式的裂变查询装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
图4为本发明另一个实施例提供的分布式的裂变查询装置的结构示意图;如图4所述,作为本实施的优选,该装置还可进一步包括:
标注单元60,用于在所述分布式***开发框架中对预设数量的语料进行标注,以获取标注结果;
相应地,所述裂变查询单元50可进一步用于根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果。
作为本实施例的优选,所述标注单元60可进一步用于利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。
作为本实施例的优选,集合确定单元40进一步用于:
根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;
根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;
交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。
本实施例基于hadoop分布式***开发框架构建裂变词文件和裂变模式文件,并确定裂变词集合和裂变模集合,可以实现多线程、多进程的数据查询,缩短了数据处理时间,提高了数据挖掘与数据查询的效率。
下面以一具体的实施例来说明本发明,但不限定本发明的保护范围。本实施例的分布式的裂变查询方法的步骤如下:
1、使用hadoop预处理语料,结果如下表一所示:
原句子 | 分词和标注后的句子 | 裂变模式 |
刘德华是谁 | 刘德华[人名]是[动词]谁[代词] | [人名][动词][代词] |
梁朝伟在哪 | 梁朝伟[人名]在[动词]哪[代词] | [人名][动词][代词] |
羊驼是什么 | 羊驼[动物]是[动词]什么[代词] | [动物][动词][代词] |
2、在hadoop文件***中新建裂变模式文件,为空;
3、在hadoop文件***中新建裂变词文件加入裂变词,例如为“是谁”;
4、创建“裂变词到裂变模式”的hadoop任务:
map:将第1步和第3步的数据作为输入,以词为键;
reduce:“刘德华是谁”命中“是谁”,输出为:
刘德华是谁 [人名][动词][代词] ([动词][代词]=[裂变词]);
而“梁朝伟在哪”、“羊驼是什么”没有命中裂变词,故无输出;
5、创建“裂变模式到裂变词”的hadoop任务:
map:将第4步的数据和第一步的数据作为输入,以模式为键;
reduce:根据模式进行匹配,最终输出为:
“刘德华是谁” “[人名][动词][代词]”;
“梁朝伟在哪” “[人名][动词][代词]”;
6、根据经验制定支持信息阈值,当支持度大于该阈值时,将该裂变词加入到裂变词集合中;
其中,支持信息包括支持度、置信度、信息增益、卡方等信息;以支持度和置信度为例:
设置置信度为0.3,支持度为0.3,创建hadoop任务:
map:将4、5步的数据作为输入,格式为:
“[人名][人名]“在哪” 梁朝伟在哪
[人名][人名][动词][代词] 梁朝伟在哪
[人名][人名]“是谁” 刘德华是谁
[人名][人名][动词][代词] 刘德华是谁
[动物][动物][动词][代词] 羊驼是什么”;
reduce接到的数据为:
“[人名][人名]“在哪” 梁朝伟在哪
[人名][人名]“是谁” 刘德华是谁
[人名][人名][动词][代词] 梁朝伟在哪
[人名][人名][动词][代词] 刘德华是谁
[动物][动物][动词][代词] 羊驼是什么”;
计算出:
[人名][动词][代词]的置信度为0.67,支持度为0.67;
[人名]和“在哪”的置信度为0.33,支持度为0.33;
最终的输出为:
[人名][人名][动词][代词] [人名]“在哪” 梁朝伟在哪;
[人名][人名][动词][代词] [人名]“是谁” 刘德华是谁;
7、结束
得到裂变词集合:是谁、在哪;
得到裂变模集合:[人名][动词][代词];
8、标注
[人名]+“是谁”的目标是“who(谁)”;
[人名]+“在哪”的目标是“where(哪)”;
9、线上使用时,符合[人名]+“是谁”模式的,问题目标为who,将返回该[人名]是谁的答案;
符合[人名]+“在哪”模式的,问题目标为where,将返回该[人名]在什么地方的答案。
本发明的分布式的裂变查询方法及装置,基于分布式***开发框架以及支持信息计算方法确定裂变词集合和裂变模集合,以根据裂变词集合和裂变模集合对用户输入的待查询语句进行裂变处理并返回查询结果,消除了现有查询方法因使用单线程、单进程处理数据而导致数据挖掘时间长、效率低进而影响查询准确度甚至容易导致***崩溃的弊端,提高了数据的离线挖掘效率,缩短了数据挖掘时间,可精确识别查询目标,具有很强的扩展性,并具有自动发现新词的功能,进而提高了查询准确度和查询效率,提升了用户体验。
以上实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种分布式的裂变查询方法,其特征在于,包括:
在预设的分布式***开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;
根据预设语料以及预设裂变词确定所述预设裂变词对应的裂变模式,并根据所述预设裂变词对所述裂变模式的第一支持信息将所述裂变模式加入所述裂变模式文件;
从所述预设语料中查找出匹配所述裂变模式文件中的裂变模式的句子,并提取所述句子中裂变词的位置所对应的词语,以根据所述词语的所属裂变模式对所述词语的第二支持信息将所述词语加入所述裂变词文件;
根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合;
根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,以获取查询结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合之前,所述方法还包括:
在所述分布式***开发框架中对预设数量的语料进行标注,以获取标注结果;
相应地,所述根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果,包括:
根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果。
3.根据权利要求2所述的方法,其特征在于,所述分布式***开发框架包括但不限于分布式***基础框架hadoop。
4.根据权利要求3所述的方法,其特征在于,所述在所述分布式***开发框架中对预设数量的语料进行标注,包括:
利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合,包括:
根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;
根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;
交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。
6.一种分布式的裂变查询装置,其特征在于,包括:
文件初始化单元,用于在预设的分布式***开发框架中创建用于放置裂变词的裂变词文件以及用于放置裂变模式的裂变模式文件;
裂变模式文件确定单元,用于根据预设语料以及预设裂变词确定所述预设裂变词对应的裂变模式,并根据所述预设裂变词对所述裂变模式的第一支持信息将所述裂变模式加入所述裂变模式文件;
裂变词文件确定单元,用于从所述预设语料中查找出匹配所述裂变模式文件中的裂变模式的句子,并提取所述句子中裂变词的位置所对应的词语,以根据所述词语的所属裂变模式对所述词语的第二支持信息将所述词语加入所述裂变词文件;
集合确定单元,用于根据所述裂变词文件中的裂变词以及所述裂变模式文件中的裂变模式确定裂变词集合和裂变模集合;
裂变查询单元,用于根据所述裂变词集合和裂变模集合对待查询语句进行裂变处理,以获取查询结果。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
标注单元,用于在所述分布式***开发框架中对预设数量的语料进行标注,以获取标注结果;
相应地,所述裂变查询单元进一步用于根据所述标注结果、所述裂变词集合和裂变模集合对待查询语句进行裂变处理,并根据处理结果获取查询结果。
8.根据权利要求7所述的装置,其特征在于,所述分布式***开发框架包括但不限于分布式***基础框架hadoop。
9.根据权利要求8所述的装置,其特征在于,所述标注单元进一步用于利用hadoop的map/reduce调用分词程序对所述语料中的语句进行分词并按照词性进行标注。
10.根据权利要求6-9中任一项所述的装置,其特征在于,所述集合确定单元进一步用于:
根据所述裂变词文件中的裂变词以及对预设数量的语料进行标注所获取的标注结果挖掘新的裂变模式,并将所述新的裂变模式放入所述裂变模式文件中;
根据所述裂变模式文件中的所述裂变模式以及所述语料,挖掘新的裂变词,并将所述新的裂变词放入所述裂变词文件中;
交替重复上述挖掘新的裂变模式以及挖掘新的裂变词的步骤,直至不再出现新的裂变模式或新的裂变词,并将最终所得的裂变词文件和裂变模式文件分别作为裂变词集合和裂变模集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425275.9A CN106126545A (zh) | 2016-06-15 | 2016-06-15 | 分布式的裂变查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610425275.9A CN106126545A (zh) | 2016-06-15 | 2016-06-15 | 分布式的裂变查询方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106126545A true CN106126545A (zh) | 2016-11-16 |
Family
ID=57469698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610425275.9A Pending CN106126545A (zh) | 2016-06-15 | 2016-06-15 | 分布式的裂变查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126545A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414310A (zh) * | 2008-10-17 | 2009-04-22 | 山西大学 | 一种自然语言搜索的方法和装置 |
US7962487B2 (en) * | 2008-12-29 | 2011-06-14 | Microsoft Corporation | Ranking oriented query clustering and applications |
CN102375853A (zh) * | 2010-08-24 | 2012-03-14 | ***通信集团公司 | 分布式数据库***、在其中建立索引的方法和查询方法 |
CN103034735A (zh) * | 2012-12-26 | 2013-04-10 | 北京讯鸟软件有限公司 | 一种大数据分布式文件导出方法 |
CN103092979A (zh) * | 2013-01-31 | 2013-05-08 | 中国科学院对地观测与数字地球科学中心 | 遥感数据检索自然语言的处理方法及装置 |
CN103177120A (zh) * | 2013-04-12 | 2013-06-26 | 同方知网(北京)技术有限公司 | 一种基于索引的XPath查询模式树匹配方法 |
CN103927358A (zh) * | 2014-04-15 | 2014-07-16 | 清华大学 | 文本检索方法及*** |
CN104252533A (zh) * | 2014-09-12 | 2014-12-31 | 百度在线网络技术(北京)有限公司 | 搜索方法和搜索装置 |
CN104899262A (zh) * | 2015-05-22 | 2015-09-09 | 华中师范大学 | 一种支持用户自定义归类规则的信息归类方法 |
CN105243052A (zh) * | 2015-09-15 | 2016-01-13 | 浪潮软件集团有限公司 | 一种语料标注方法、装置和*** |
-
2016
- 2016-06-15 CN CN201610425275.9A patent/CN106126545A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101414310A (zh) * | 2008-10-17 | 2009-04-22 | 山西大学 | 一种自然语言搜索的方法和装置 |
US7962487B2 (en) * | 2008-12-29 | 2011-06-14 | Microsoft Corporation | Ranking oriented query clustering and applications |
CN102375853A (zh) * | 2010-08-24 | 2012-03-14 | ***通信集团公司 | 分布式数据库***、在其中建立索引的方法和查询方法 |
CN103034735A (zh) * | 2012-12-26 | 2013-04-10 | 北京讯鸟软件有限公司 | 一种大数据分布式文件导出方法 |
CN103092979A (zh) * | 2013-01-31 | 2013-05-08 | 中国科学院对地观测与数字地球科学中心 | 遥感数据检索自然语言的处理方法及装置 |
CN103177120A (zh) * | 2013-04-12 | 2013-06-26 | 同方知网(北京)技术有限公司 | 一种基于索引的XPath查询模式树匹配方法 |
CN103927358A (zh) * | 2014-04-15 | 2014-07-16 | 清华大学 | 文本检索方法及*** |
CN104252533A (zh) * | 2014-09-12 | 2014-12-31 | 百度在线网络技术(北京)有限公司 | 搜索方法和搜索装置 |
CN104899262A (zh) * | 2015-05-22 | 2015-09-09 | 华中师范大学 | 一种支持用户自定义归类规则的信息归类方法 |
CN105243052A (zh) * | 2015-09-15 | 2016-01-13 | 浪潮软件集团有限公司 | 一种语料标注方法、装置和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345690B (zh) | 智能问答方法与*** | |
CN104866593B (zh) | 一种基于知识图谱的数据库搜索方法 | |
WO2020063092A1 (zh) | 知识图谱的处理方法及装置 | |
CN102646103B (zh) | 检索词的聚类方法和装置 | |
CN108154198B (zh) | 知识库实体归一方法、***、终端和计算机可读存储介质 | |
CN111159330B (zh) | 一种数据库查询语句的生成方法及装置 | |
CN106503231B (zh) | 基于人工智能的搜索方法和装置 | |
CN105183770A (zh) | 一种基于图模型的中文集成实体链接方法 | |
CN104615680B (zh) | 网页质量模型的建立方法及装置 | |
CN107644062A (zh) | 一种基于知识图谱的知识内容权重分析***及方法 | |
CN105808609A (zh) | 一种信息点数据冗余的判别方法和设备 | |
CN106844640A (zh) | 一种网页数据分析处理方法 | |
CN102737042A (zh) | 建立问句生成模型的方法和装置以及问句生成方法和装置 | |
CN103324700A (zh) | 一种基于Web信息的本体概念属性学习方法 | |
CN111831794A (zh) | 一种基于知识图谱的综合管廊行业知识问答***构建方法 | |
CN110188359B (zh) | 一种文本实体抽取方法 | |
CN105528432A (zh) | 一种数字资源热点生成方法及装置 | |
CN111553138B (zh) | 用于规范内容结构文档的辅助写作方法及装置 | |
CN108388556A (zh) | 同类实体的挖掘方法及*** | |
CN103207921A (zh) | 一种从中文电子文档中自动提取词语的方法 | |
CN106095956A (zh) | 支持信息裂变查询方法及装置 | |
CN110019768B (zh) | 生成文本摘要的方法及装置 | |
CN117171296A (zh) | 信息获取方法、装置和电子设备 | |
CN111680514B (zh) | 信息处理和模型训练方法、装置、设备及存储介质 | |
CN106126545A (zh) | 分布式的裂变查询方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161116 |