当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于标识语料库中出现的N-GRAM的计数的方法和设备技术

技术编号:21554062 阅读:22 留言:0更新日期:2019-07-07 01:36
本文公开了用于标识语料库中出现的n‑gram计数的方法、设备、系统和制品。示例方法包括标识频繁开始语料库中找到的后缀的词条。第一后缀和第二后缀在语料库内被标识,第一后缀以词条开始,以及第二后缀不以词条开始。执行第一计数算法以标识第一后缀中出现的n‑gram的第一计数。执行第二计数算法以标识第二后缀中出现的n‑gram的第二计数。第二计数算法与第一计数算法不同。

Method and equipment for counting N-GRAM appearing in Corpus

【技术实现步骤摘要】
【国外来华专利技术】用于标识语料库中出现的N-GRAM的计数的方法和设备
本公开一般涉及文本处理,并且更具体地,涉及用于标识语料库中出现的n-gram(n元)的计数的方法和设备。背景近年来,文本处理系统已被用于处理文本(语料库)并导出关于文本的统计。此类统计可用于开发语言模型,创建分类模型、拼写检查、剽窃检测等。可以被计算的一个示例统计是文本中出现的n-gram的计数。附图说明图1是示出基于n-gram的第一词条(token)在文本中出现的n-gram的计数的图表。图2是标识语料库中出现的n-gram的计数的示例n-gram计数器的框图。图3是表示示例机器可读指令的流程图,当该指令被执行时,使得图2的n-gram计数器标识语料库中出现的n-gram的计数。图4是表示示例机器可读指令的流程图,当该指令被执行时,使得图2的集群在图2的示例集群的一个或多个节点处执行具有热词提取作业的后缀σ。图5是表示示例机器可读指令的流程图,当该指令被执行时,使得图2的集群在图2的示例集群的一个或多个节点处执行热词排序作业。图6是表示示例机器可读指令的流程图,当该指令被执行时,使得图2的集群在图2的示例集群的一个或多个节点处使用经排序的热词后缀来执行后缀σ词计数作业。图7是示例处理器平台的框图,该处理器平台能够执行图3、图4、图5和/或图6的指令以便实现图2的示例n-gram计数器。附图并非按比例绘制。在任何可能的情况下,相同的参考编号将贯穿附图和所附书面说明书被使用来指代相同或相似的部分。具体实施方式计算语言学系统利用关于文本的不同统计。重要的统计数据是文本中出现的n-gram的数量。gram(元)(例如,数据单元、词条)是一个或多个字符的序列。在一些示例中,通过一个或多个分隔符(例如,标点符号、空格等)将gram与另一个字符序列分开。在一些示例中,gram是固定长度(例如,单个字符、固定数量的字符等)。单个gram(例如,单个词条)有时被称为“一元(unigram)”,两个gram短语(例如,两个连续词条)有时被称为“二元(bigram)”,以及三个词gram(例如,三个连续词条)有时被称为“三元(trigram)”。n-gram是来自给定数据序列(例如,文本)的多个gram的连续序列。在一些示例中,n-gram有时也被称为短语。n-gram可以是任何长度。也就是说,n-gram可以由任意数量的gram形成。理解文本中出现的n-gram计数是计算语言学的重要统计量。存在一些用于计算出现在文本中的n-gram的(多个)计数的方法。例如,一种简单的方法读取文本并对n-gram的数量计数,记录在阅读文本时遇到的n-gram。虽然这种方法对小文本非常有效,但由于n-gram可以是任意长度,大型语料库(例如,包括千兆字节数据的语料库)通常需要很长时间来处理(例如,数天、数周等)。结果,对大型的文本语料库的简单处理通常限于最大长度的n-gram(例如,包括不超过5元gram的n-gram)。此类方法不能解释可能出现在文本中的更长的n-gram。计算出现在文本中的n-gram的(多个)计数的另一示例方法是后缀σ方法。后缀σ方法利用MapReduce(映射归约)来确定n-gram的计数。MapReduce是在HADOOP环境内操作的框架,并且实现在经集群的环境中(可能具有数百或数千个经集群的计算节点)处理大量数据(例如,多兆字节数据集)。MapReduce作业通常包括三种类型的任务:映射任务,由映射节点执行,该映射节点并行地对语料库的经分区的部分进行操作以产生(多个)键值对;混洗任务,将键值对分配给特定归约器节点;以及减少任务,对分配的键值对进行操作以形成最终结果。框架对映射的输出进行排序,然后将其输入到归约任务。可以并行执行映射任务和归约任务(例如,归约任务可以在完成所有映射任务之前开始)。通常,作业的输入和输出都被存储在文件系统(例如,Hadoop分布式文件系统(HDFS))中。该框架负责调度任务,监视它们并重新执行失败的任务。后缀σ方法标识一些n-gram可以基于它们的后缀(例如,n-gram的最后一个单词)被简化。例如,虽然对诸如“bax”的句子中的n-gram进行计数的简单方法的映射阶段会发出n-gram{bax}、{ba}、{ac}、{b}、{a}和{x},此类n-gram可以简化成三个可能后缀的表示:{bax}、{ba}和{b}。在后缀σMapReduce作业的映射任务中,映射任务仅针对包含在语料库中的n-gram的子集发出键值对,这些键值对表示以相同的gram开始的所有后缀(例如,相同的词条)。为了确保准确计数,对应于相同后缀的键值对必须由单个归约器任务处理(尽管不同的归约器任务可以对与其他后缀对应的其他键值对进行操作)。仅基于它们的第一gram对后缀进行划分,而不是包含在n-gram中的所有gram,确保单个归约器(reducer)接收以相同gram开始的所有后缀,这使得后缀σ方法能够产生准确的计数。后缀σ方法应用两个不变量来实现其目标。首先,所有以相同gram开始的n-gram必须在集群中的单个节点处组合在一起。其次,集群中的单个节点中的所有n-gram必须按反向词典编纂顺序排序。不幸的是,对于非常大型的语料库,第一不变量趋向于导致集群中节点之间的工作不均匀分布。考虑英文文本中有多少个n-gram可能以单词“dog”开始,相比于相同文本中有多少个n-gram可能以“the”开始。由于预期更多的句子包含单词“the”而不是那些包含“dog”的单词,因此相应地有更多的n-gram以“the”开始,而不是以“dog”开始。此外,因为几乎每一句英文文本将包含单词“the”,并且只有一些将包含单词“dog”,集群中的更多节点将以“the”开始提供n-gram。图1是示出基于n-gram的第一词条在文本中出现的n-gram的计数的图表100。图1的示例图表包括表示以特定词条开始的n-gram的水平轴105,以及表示以该词条开始的n-gram的数目的垂直轴110。在图1所示出的示例中,许多n-gram以词条“,”115、“the(那)”120,“of(……的)”125、“and(和)”130、“to(向……)”135、“a(一个)”140、和“by(通过)”145。词条“,”115、“the(该)”120,“of(……的)”125、“and(和)”130、“to(向……)”135、“a(一个)”140、和“by(通过)”145可以被认为是频繁开始后缀180的词条。当使用后缀σ方法时,以相同词条开始的n-gram各自都由相同的归约器(例如,集群中的单个节点)处理。如图1所示出的示例中所示,具有以相同词条开始的n-gram的不均匀分布同样导致集群中的节点之间的工作的不均匀分布。当输入语料库和集群大小很大时,这种不均匀分布可能成为MapReduce作业运行时的主导因素。在一些示例中,运行时间可能变得太长而不能使用(例如,几天、几周等),而一些集群利用率太低而不能证明大型集群的大小。例如,虽然许多节点将完成其开始仅几个n-gram的词条的减少任务,但是一些节点将继续处理长时间开始许多n-gram的词条的数据。本文公开的示例方法将工作分本文档来自技高网...

【技术保护点】
1.一种用于标识语料库中出现的n‑元n‑gram的计数的设备,所述设备包括:热词检测器,用于标识频繁开始所述语料库中找到的后缀的词条;后缀标识符,用于标识所述语料库内的第一后缀和第二后缀,所述后缀标识符用于检测所述第一后缀以所述词条开始以及所述第二后缀不以所述词条开始;以及n‑gram计数控制器,用于指导节点的集群执行第一计数算法,以标识所述第一后缀中出现的n‑gram的第一计数,所述n‑gram计数控制器用于指导所述节点的集群执行第二计数算法以标识所述第二后缀中出现的n‑gram的第二计数,所述第二计数算法不同于所述第一计数算法。

【技术特征摘要】
【国外来华专利技术】2016.12.21 US 15/387,0591.一种用于标识语料库中出现的n-元n-gram的计数的设备,所述设备包括:热词检测器,用于标识频繁开始所述语料库中找到的后缀的词条;后缀标识符,用于标识所述语料库内的第一后缀和第二后缀,所述后缀标识符用于检测所述第一后缀以所述词条开始以及所述第二后缀不以所述词条开始;以及n-gram计数控制器,用于指导节点的集群执行第一计数算法,以标识所述第一后缀中出现的n-gram的第一计数,所述n-gram计数控制器用于指导所述节点的集群执行第二计数算法以标识所述第二后缀中出现的n-gram的第二计数,所述第二计数算法不同于所述第一计数算法。2.如权利要求1所述的设备,其特征在于,所述节点的集群通过在所述集群中的第一数量的节点之间分发所述第二后缀来执行所述第二计数算法,所述节点的第一数量大于所述第二后缀中出现的后缀的第二数量。3.如权利要求1至2中任一项所述的设备,其特征在于,基于检测到的语料库的语言来标识频繁开始后缀的词条。4.如权利要求1至3中任一项所述的设备,其特征在于,所述第一计数算法是后缀σ计数。5.如权利要求1至4中任一项所述的设备,其特征在于,使用在经集群的计算环境内执行的MapReduce作业来执行所述第一计数算法。6.如权利要求1至5中任一项所述的设备,其特征在于,为了执行所述第二计数算法,所述集群中的每个节点包括:后缀排序器,用于将所述第二后缀按反向词典编纂顺序进行排序;计数器,用于将所述第二后缀精简为后缀列表以及所述第二后缀中的每个后缀的出现次数;n-gram构造器,用于构造n-gram,所述n-gram以所述后缀列表中每个后缀的前缀开始,所述计数器用于聚合所构造的n-gram的计数以标识所述第二后缀中出现的n-gram的所述第二计数。7.如权利要求6所述的设备,其特征在于,基于用于构造所述对应的n-gram的后缀的出现次数来聚合所述所构造的n-gram的所述计数。8.如权利要求1至7中任一项所述的设备,其特征在于,所述n-gram计数控制器进一步用于将所述第一计数与所述第二计数组合以形成所述语料库中出现的n-gram的总计数。9.一种标识语料库中出现的n-gram的计数的方法,所述方法包括:标识频繁开始所述语料库中找到的后缀的词条;标识所述语料库内的第一后缀和第二后缀;检测所述第一后缀以所述词条开始以及所述第二后缀不以所述词条开始;执行第一计数算法以标识所述第一后缀中出现的n-gram的第一计数;以及执行第二计数算法以标识所述第二后缀中出现的n-gram的第二计数,所述第二计数算法不同于所述第一计数算法。10.如权利要求9所述的方法,其特征在于,执行所述第二计数算法包括:在集群中的第一数量的节点之间分发所述第二后缀,节点的所述第一数量大于所述第二后缀中出现的后缀的第二数量。11.如权利要求9至10中任一项所述的方法,其特征在于,基于检测到的所述语料库的语言来标识频繁开始所述后缀的所述词条。12.如权利要求9至11中任一项所述的方法,其特征在于,所述第一计数算法是后缀σ计数。13.如权利要求9至12中任一项所述的方法,其特征在于,使用在经集群的计算环境内执行的MapReduce作业来执行所述...

【专利技术属性】
技术研发人员:S·瓦克宁
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1