一种基于图形处理器gpu的分词方法和装置的制造方法

文档序号:9887621阅读:352来源:国知局
一种基于图形处理器gpu的分词方法和装置的制造方法
【技术领域】
[0001]本申请涉及分词技术领域,特别是涉及一种基于图形处理器GPU的分词方法和一种基于图形处理器GHJ的分词装置。
【背景技术】
[0002]分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,在词这一层上,中文比之英文要复杂的多、困难的多。目前所有的分词系统,无论采用什么分词算法,都是运行在基于CPU(CentralProcessing Unit,中央处理器)的计算系统之上的。
[0003]虽然现有的分词算法一般计算过程都相对简单,但是由于分词过程中数据操作量大,使得分词耗时过长,而主要的耗时操作主要集中在对内存内数据读取的延时上。

【发明内容】

[0004]鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于图形处理器GPU的分词方法和相应的一种基于图形处理器GPU的分词装置。
[0005]为了解决上述问题,本申请实施例公开了一种基于图形处理器GPU的分词方法,其中,所述的图形处理器GPU包括:内存、多个线程集合;所述的方法包括:
[0006]将预设的分词词典以及预先获取的待分词文本加载到图形处理器GPU的内存中;
[0007]确定当前GPU中的可用的线程集合;
[0008]将所述分词词典,分配到一个或多个可用的线程集合中;
[0009]采用所述一个或多个可用的线程集合对所述待分词文本进行分词。
[0010]优选的,所述线程集合包括:多个线程单元;所述采用所述一个或多个可用的线程集合对所述待分词文本进行分词的步骤包括:
[0011]在所述一个或多个可用的线程集合中加载所述待分词文本;
[0012]确定所述一个或多个线程集合中可用的线程单元;
[0013]将所述一个或多个线程集合中加载的待分词文本拆分为多个子段落;
[0014]在所述一个或多个线程集合中,将对应的分词文本拆分得到的子段落分配到线程集合内的各个可用的线程单元中进行分词。
[0015]优选的,所述将所述分词词典分配到一个或多个可用的线程集合中的步骤包括:
[0016]将所述分词词典拆分为多个子词典;
[0017]将各个子词典分配到多个可用的线程集合。
[0018]优选的,所述将各个子词典分配到多个可用的线程集合的步骤包括:
[0019]按照可用线程集合的数目,将分词词典平均拆分为多个子词典;
[0020]或,按照分词词典内各个词条预设的权重,将分词词典拆分为多个子词典。
[0021]优选的,还包括:
[0022]当采用多个线程集合进行分词时,将线程集合内各个线程单元分词后得到已分词段落进行合并,得到单集合分词文本;
[0023]从所述一个或多个线程集合的单集合分词文本中,选取分词得到的词条进行合并,得到多集合分词文本。
[0024]优选的,所述确定当前GPU中的可用的线程集合的步骤包括:
[0025]通过GPU预设的API接口,确定当前GPU中的可用的线程集合。
[0026]优选的,所述确定所述一个或多个可用的线程集合中可用的线程单元的步骤包括:
[0027]通过GHJ预设的API接口,确定所述一个或多个可用的线程集合中可用的线程单
J L ο
[0028]同时,本申请还公开了一种基于图形处理器GPU的分词装置,其中,所述的图形处理器GPU包括:内存、多个线程集合;所述的装置包括:
[0029]GPU加载模块,用于将预设的分词词典以及预先获取的待分词文本加载到图形处理器GPU的内存中;
[0030]线程集合确定模块,用于确定当前GPU中的可用的线程集合;
[0031]词典分配模块,用于将所述分词词典,分配到一个或多个可用的线程集合中;
[0032]线程集合分词模块,用于采用所述一个或多个可用的线程集合对所述待分词文本进行分词。
[0033]优选的,所述线程集合包括:多个线程单元;所述线程集合分词模块进一步包括:
[0034]分词文本加载子模块,用于在所述一个或多个可用的线程集合中加载所述待分词文本;
[0035]线程单元确定子模块,用于确定所述一个或多个线程集合中可用的线程单元;
[0036]文本拆分子模块,用于将所述一个或多个线程集合中加载的待分词文本拆分为多个子段落;
[0037]子段落分配子模块,用于在所述一个或多个线程集合中,将对应的分词文本拆分得到的子段落分配到线程集合内的各个可用的线程单元中进行分词。
[0038]优选的,所述将所述分词词典分配到一个或多个可用的线程集合中的步骤包括:
[0039]词典拆分子模块,用于将所述分词词典拆分为多个子词典;
[0040]子词典分配子模块,用于将各个子词典分配到多个可用的线程集合。
[0041 ]优选的,所述子词典分配子模块进一步包括:
[0042]平均分配子模块,用于按照可用线程集合的数目,将分词词典平均拆分为多个子词典;
[0043]或,
[0044]权重分配子模块,用于按照分词词典内各个词条预设的权重,将分词词典拆分为多个子词典。
[0045]优选的,还包括:
[0046]段落合并模块,用于当采用多个线程集合进行分词时,将线程集合内各个线程单元分词后得到已分词段落进行合并,得到单集合分词文本;
[0047]选取合并模块,用于从所述一个或多个线程集合的单集合分词文本中,选取分词得到的词条进行合并,得到多集合分词文本。
[0048]优选的,所述线程集合确定模块进一步包括:
[0049]第一API确定子模块,用于通过GPU预设的API接口,确定当前GPU中的可用的线程
口 O
[0050]优选的,所述线程单元确定子模块进一步包括:
[0051 ]第二API确定子模块,用于通过GPU预设的API接口,确定所述一个或多个可用的线程集合中可用的线程单元。
[0052]本申请实施例包括以下优点:
[0053]本申请实施例通过将分词词典加载到GPU中的多个线程集合中,采用多个线程集合对待分词文本进行分词;在每一个线程集合中通过多个可用的线程单元对待分词文本的一部分进行分词;有效利用GPU内存的高带宽以及并行计算能力,提高分词速度。
【附图说明】
[0054]图1是本申请的一种基于图形处理器GPU的分词方法实施例的步骤流程图;
[0055]图2是本申请实施例中一种基于图形处理器GPU的分词方法实施例1的示意图;
[0056]图3是本申请实施例中一种基于图形处理器GPU的分词方法实施例2的示意图;
[0057]图4是本申请的一种基于图形处理器GPU的分词装置实施例的结构框图。
【具体实施方式】
[0058]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[°°59] GPU(Graphics Processing Unit,图形处理器),最早被用来处理图像数据,因此目前的GHJ计算也主要被运用于图形处理、视频转码或者语音分析等领域,而目前数据量最多的文本类分析和运算主要还是采用CPU。
[0060] GPU相对于CPU在硬件架构上具有两个优势。其一是计算单元的优势,GPU有大量的并行计算单元,适合做大量的单指令流多数据流(Single Instruct1n Multiple Data,SB?)计算;其二是内存带宽的优势,GPU内存带宽远远高于CPU的内存带宽。
[0061 ]本申请实施例的核心构思之一在于,将分词算法移植到GPU执行,有效的利用GPU内存的高带宽,以及并行计算的能力,提高所有分词算法分词的速度。
[0062]参照图1,示出了本申请的一种基于图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1