一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分词方法、装置、电子设备及可读存储介质与流程

2022-07-02 11:56:29 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体而言,涉及一种分词方法、装置、电子设备及可读存储介质。


背景技术:

2.分词在信息检索、文本挖掘等方向非常重要,目前常用的分词方法有基于模型的分词。基于模型分词具有拟合性好的优点,但它用于训练集未囊括的上下文场景时,往往不可靠,且语料标注要求高。


技术实现要素:

3.本技术实施例提供了一种分词方法、装置、电子设备及可读存储介质,其能够无需使用训练集训练分词模型,同时保证分词结果的准确性,具有效果好、成本低等特点。
4.本技术的实施例可以这样实现:
5.第一方面,本技术实施例提供一种分词方法,所述方法包括:
6.从待分词文本中,获得所述待分词文本中每个字符对应的候选分词集,其中,任意一个字符对应的所述候选分词集中包括以所述字符为起始字符的候选分词,在所述候选分词中包括多个字符时,所述多个字符为所述待分词文本中的连续字符;
7.根据每个字符对应的候选分词集,通过动态规划方式,以候选分词结果中包括的各候选分词的字符串长度乘积最大为目标,按照从后往前的顺序对所述待分词文本中的各字符进行遍历,获得所述候选分词结果,其中,任意一个所述候选分词结果中的所述候选分词总和构成所述待分词文本;
8.根据获得的所述候选分词结果,确定目标分词结果。
9.第二方面,本技术实施例提供一种分词装置,所述装置包括:
10.分词集获得模块,用于从待分词文本中,获得所述待分词文本中每个字符对应的候选分词集,其中,任意一个字符对应的所述候选分词集中包括以所述字符为起始字符的候选分词,在所述候选分词中包括多个字符时,所述多个字符为所述待分词文本中的连续字符;
11.处理模块,用于根据每个字符对应的候选分词集,通过动态规划方式,以候选分词结果中包括的各候选分词的字符串长度乘积最大为目标,按照从后往前的顺序对所述待分词文本中的各字符进行遍历,获得所述候选分词结果,其中,任意一个所述候选分词结果中的所述候选分词总和构成所述待分词文本;
12.结果确定模块,用于根据获得的所述候选分词结果,确定目标分词结果。
13.第三方面,本技术实施例提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现前述实施方式所述的分词方法。
14.第四方面,本技术实施例提供一种可读存储介质,其上存储有计算机程序,所述计
算机程序被处理器执行时实现如前述实施方式所述的分词方法。
15.本技术实施例提供的分词方法、装置、电子设备及可读存储介质,首先,可基于待分词文本,从该待分词文本中获得该待分词文本中各字符对应的候选分词集,其中,任意一个字符对应的所述候选分词集中包括以所述字符为起始字符的候选分词,在所述候选分词中包括多个字符时,所述多个字符为所述待分词文本中的连续字符;接着,根据获得的各字符对应的候选分词集,通过动态规划方式,以候选分词结果中包括的各候选分词的字符串长度乘积最大为目标,按照从后往前的顺序对待分词文本中的各字符进行遍历,从而获得候选分词结果,其中,任意一个候选分词结果中的所述候选分词总和构成上述待分词文本;最后,可根据得到的上述候选分词结果,得到目标分词结果。由此,无需使用训练集训练分词模型即可得到分词效果较佳的分词结果,当应用在垂直搜索场景下时依然可保证分词效果,该方式具有效果好、成本低等特点。
附图说明
16.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1为本技术实施例提供的电子设备的方框示意图;
18.图2为本技术实施例提供的分词方法的流程示意图;
19.图3为图2中步骤s120包括的子步骤的流程示意图;
20.图4为图2中步骤s130包括的一种子步骤的流程示意图;
21.图5为图2中步骤s130包括的另一种子步骤的流程示意图;
22.图6为本技术实施例提供的分词装置的方框示意图之一;
23.图7为本技术实施例提供的分词装置的方框示意图之二。
24.图标:100-电子设备;110-存储器;120-处理器;130-通信单元;200-分词装置;201-词库生成模块;210-分词集获得模块;220-处理模块;230-结果确定模块。
具体实施方式
25.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
26.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且
还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
28.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
29.除基于模型进行分词之外,还可基于统计进行分词。基于统计的分词需要一份词库,词库中包括分词及词频,先从文本中找出所有可能的分词组合,借助贪心思想、动态规划思想等通过计算统计值来得出全局最优词分割组合,比较适用于垂直业务下短句的分词。
30.jieba分词是一种基于统计的分词方式。jieba分词是现在比较通用的开源分词工具,它是以序列联合概率最大为目标的动态规划分词,假设无论怎么分割,任何token都是相互独立的,但这个假设显然不大合理。并且,这种方式需要一份带有精心配制词频的词表,由于词频的计算规则复杂特殊,因此该词表不容易扩展。在垂直搜索场景下,因为有大量领域词集(如专辑、声音、主播名)未被包括在词表内,因此jieba分词效果不理想。
31.为了缓解当前分词效果不理想、分词方式成本高等情况,本技术实施例提供了一种分词方法、装置、电子设备及可读存储介质,使用动态规划思想,在迭代公式上选择“最均匀分割”量化值作为优化目标,目标值最大的一组分割方案就是全局最优解。如此,无需要花费大量成本用于训练得到分词模型,同时在分词时可通过使用未带有词频的词表实现分词,从而使得词表的成本大大降低并可以按场景随时替换,解决了各大开源分词器场景不通用的传统弊病。该方式具有成本低、适用面广泛、效果好等特点。
32.本技术提供的分词方法整体上是一个以“最均匀分割”量化值作为优化目标的动态规划算法。“最均匀分割”,它的目标是最优token中每个分割组合(即分词)尽可能接近3,可以证明,将一个正整数拆分成若干个正整数,所有分割组合中各拆分数乘积最大的方案肯定不会拆分出1,进一步,在没有拆分出1的情况下,一定是尽可能拆出3来让乘积最大。事实上,根据汉语词的表意特点,长度为2和3的词语已经能够明确表意,而分词处理往往希望把每个表意的成分都拆出来(注意这里的分词不包括命名体识别任务),所以尽量将短句拆成2到4个字符长度的汉语词一定是不错的分割方案。
33.假如文本“郭德纲于谦相声精选”可以被分割成下面两种可能(空格代表分割),“郭德纲于谦相声精选”的各token长度乘积是20,而“郭德纲于谦相声精选”的乘积值是24,显然后者乘积值更大,分割方案也更好。这样的优化目标非常适用于搜索领域,因为搜索在构建索引时需要在保证token具备语义的前提下尽量将文本切细。当然可以理解的是,也可以应用到其他领域。
34.请参照图1,图1为本技术实施例提供的电子设备100的方框示意图。所述电子设备100可以是,但不限于,智能手机、电脑、服务器等。所述电子设备100可以包括存储器110、处理器120及通信单元130。所述存储器110、处理器120以及通信单元130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
35.其中,存储器110用于存储程序或者数据。所述存储器110可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程
只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
36.处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。比如,存储器110中存储有分词装置200,所述分词装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器120通过运行存储在存储器110内的软件程序以及模块,如本技术实施例中的分词装置200,从而执行各种功能应用以及数据处理,即实现本技术实施例中的分词方法。
37.通信单元130用于通过网络建立所述电子设备100与其它通信终端之间的通信连接,并用于通过所述网络收发数据。
38.应当理解的是,图1所示的结构仅为电子设备100的结构示意图,所述电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
39.请参照图2,图2为本技术实施例提供的分词方法的流程示意图。所述方法可以应用于上述电子设备100。所述方法可以应用于搜索领域,或者其他需要进行分词处理的领域。下面对分词方法的具体流程进行详细阐述。在本实施例中,所述方法可以包括步骤s110~步骤s130。
40.步骤s110,从待分词文本中,获得所述待分词文本中每个字符对应的候选分词集。
41.在本实施例中,所述待分词文本为需要进行分词处理的文本,具体可以结合实际需求确定。所述待分词文本可以为中文文本,也可以为其他语种的文本。所述待分词文本中包括多个字符,可针对各字符,从所述待分词文本中获得各字符对应的候选分词集。其中,任意一个所述字符对应的所述候选分词集中包括至少一个以该字符为起始字符的候选分词。也即,获得所述待分词文本中各位置对应的候选分词集,一个位置对应候选分词集中包括以该位置的字符为起始字符的候选分词。
42.一个所述候选分词中可以包括1个或多个字符,在所述候选分词中包括多个字符时,该多个字符在所述待分词文本中的位置连续,也即,该多个字符为所述待分词文本中的连续字符。
43.可选地,作为一种可能的实现方式,可以提前获得预设词库,所述预设词库中包括多个预设分词。预设词库的获取方式可以结合实际需求确定。比如,将其他分词器的词库作为所述预设词库。或者,可以仅将其他分词器的词库中所包括的分词组成所述预设词库;还可以从预设数据源中获得多个预设分词组成所述预设词库,该多个预设分词的获取方式可以是基于人工标注等。如此,词库可以不带有词频,便于扩展,词表的成本可大大降低,并可以按场景随时替换。
44.可根据所述预设词库,针对所述待分词文本中的各字符,从所述待分词文本中找出至少一个以该字符为起始字符且与一个所述预设分词相同的字符串,作为该字符对应的所述候选分词。针对所述待分词文本中的任意一个字符,从所述待分词文本中找出特定字符串作为该字符对应的候选分词,该特定字符串以该字符为起始字符、并且与一个所述预设分词相同。如此,便于根据所述预设词库,快速得到所述待分词文本中每个字符对应的候选分词集,并且候选分词集中的候选分词均可以成词。
45.可以理解的是,上述仅为一种候选分词集的获取方式的举例说明,也可以通过其他方式获得候选分词集。
46.步骤s120,根据每个字符对应的候选分词集,通过动态规划方式,以候选分词结果中包括的各候选分词的字符串长度乘积最大为目标,按照从后往前的顺序对所述待分词文本中的各字符进行遍历,获得所述候选分词结果。
47.可基于动态规划思想,以候选分词结果中包括的各候选分词的字符串长度乘积最大为目标,按照从后往前的顺序对所述待分词文本中的字符进行遍历。在遍历过程中,基于遍历到的字符对应的所述候选分词集,获得遍历到的字符在所述待分词文本中的位置对应的最优局部分词结果。当遍历完所有字符后,可将遍历到的最后一个位置(即遍历到的最后一个字符所在位置,也可以称为所述待分词文本中第一个字符所在位置)对应的最优局部分词结果作为所述候选分词结果。其中,任意一个所述候选分词结果中的所述候选分词总和构成所述待分词文本。
48.在本实施例中,可通过图3所示方式获得遍历到的一个位置对应的最优局部分词结果。请参照图3,图3为图2中步骤s120包括的子步骤的流程示意图。在本实施例中,步骤s120可以包括子步骤s121~子步骤s122。
49.子步骤s121,对遍历到的当前字符对应的所述候选分词集中的候选分词进行遍历,根据遍历到的所述当前字符对应的当前候选分词的字符串长度、以及目标位置对应的最优局部分词结果及最大局部乘积,获得该当前候选分词对应的当前候选局部分词结果及当前候选局部乘积。
50.可将当前遍历到的字符作为当前字符,针对该当前字符,可对该当前字符对应的所述候选分词集中所包括的候选分词进行遍历。可将当前遍历到的候选分词作为当前候选分词,可根据该当前候选分词的字符串长度、以及目标位置对应的最优局部分词结果及最大局部乘积,获得该当前候选分词对应的当前候选局部分词结果及当前候选局部乘积。
51.其中,所述目标位置为所述当前候选分词的最后一个字符在所述待分词文本中的位置之后的第一个位置。所述目标位置是遍历字符时已经遍历过的位置。假设所述当前字符在所述待分词文本中的位置为i,所述当前候选分词的字符串长度为length,则所述目标位置为i length。其中,i随着从后往前的字符遍历顺序减小。
52.所述目标位置对应的最大局部乘积为该最大局部乘积所对应的最优局部分词结果中所包括的候选分词的字符串长度的乘积。一个位置可以对应一个局部最优解,也可以对应多个局部最优解,局部最优解的数量由实际情况确定。一个局部最优解中可以包括一个最优局部分词结果及一个最大局部乘积,该最大局部乘积为该最优局部分词结果中所包括的候选分词的字符串长度的乘积。
53.其中,在i length大于所述待分词文本的最大位置数时,比如,在所述当前候选分词的最后一个字符在所述待分词文本中的位置为所述待分词文本的末尾位置时,可以将所述待分词文本的最后一个位置作为所述目标位置。在计算所述待分词文本中的最后一个位置对应的最优局部分词结果及最大局部乘积时,即在遍历字符的过程中,计算第一个字符对应的最优局部分词结果及最大局部乘积时,可将该字符作为自身对应的最优局部分词结果,并将一个初始值与该字符的字符串长度1的乘积作为该字符对应的最大局部乘积。
54.通过对所述当前字符对应的所述候选分词集中的候选分词的上述遍历处理,可获
得所述当前字符对应的所述候选分词集中各候选分词对应的当前候选局部分词结果及当前候选局部乘积。
55.子步骤s122,将最大的当前候选局部乘积作为所述当前字符所在位置对应的当前最大局部乘积,并将所述当前最大局部乘积所对应的当前候选局部分词结果作为所述当前字符所在位置对应的当前最优局部词结果。
56.在获得所述当前字符对应的所述候选分词集中各候选分词对应的当前候选局部分词结果及当前候选局部乘积的情况下,可通过比较,确定出其中最大的当前候选局部乘积。可将该最大的当前候选局部乘积作为所述当前字符所在位置对应的当前最大局部乘积,即作为当前遍历的字符位置对应的最优局部分词结果。并将所述当前最大局部乘积所对应的当前候选局部分词结果作为所述当前字符所在位置对应的当前最优局部词结果,其中,所述当前最大局部乘积所对应的当前候选局部分词结果中所包括的候选分词的字符串长度的乘积为该当前最大局部乘积。
57.可按照从后向前的顺序,对所述待分词文本中的各位置进行遍历,每遍历到一个位置时,则根据该位置对应的字符执行上述子步骤s121~子步骤s122,从而得到该位置对应的最优局部分词结果及最大局部乘积。当遍历完所述待分词文本中的最后一个字符时,可将此时得到的最优局部分词结果作为所述候选分词结果。即,所述待分词文本中第一个字符所在位置对应的最优局部分词结果为所述候选分词结果。
58.其中,上述动态规划过程可以采用如下迭代公式表示:
[0059][0060]
其中,dp[i]表示待分词文本中第i个位置对应的最大局部乘积,lengthk表示第i个位置的字符对应的候选分词集中的第k个候选分词的字符串长度。由于是从后往前进行字符遍历,因此i随着迭代减小。
[0061]
该公式表示:从大到小循环到i时,设以i位置的字符为起始字符共有m种分割候选(即i位置的字符对应的候选分词集中包括m个候选分词),每种候选字符串长度用lengthk表示,就是要把lengthk与这个分割之后位置的局部最优解dp[i lengthk]相乘,乘积最大的候选即为状态i的局部最优解dp[i]。
[0062]
步骤s130,根据获得的所述候选分词结果,确定目标分词结果。
[0063]
可选地,作为一种可能的实现方式,在获得所述候选分词结果的情况,可以直接将得到的所有候选分词结果作为所述目标分词结果。如此,可快速得到所述目标分词结果。
[0064]
可选地,作为另一种可能的实现方式,在所述候选分词结果为多个的情况下,可以通过图4所示方式获得所述目标分词结果。请参照图4,图4为图2中步骤s130包括的一种子步骤的流程示意图。在本实施例中,步骤s130可以包括子步骤s131~子步骤s132。
[0065]
子步骤s131,获得各所述候选分词结果的分词颗粒度。
[0066]
子步骤s132,选择最小分词颗粒度对应的所述候选分词结果,作为所述目标分词结果。
[0067]
在本实施例中,可针对各所述候选分词结果,根据该候选分词结果中包括的候选分词的数量和/或各候选分词的字符串长度等,确定出该候选分词结果的分词颗粒度。其中,所述分词颗粒度用于表示分词拆分的颗粒度粗细。也即,一个候选分词结果的分词颗粒
度,用于表示该候选分词结果所表示的分词拆分方式的颗粒度粗细情况。例如,根据所述候选分词结果包括的候选分词数量确定所述分词颗粒度,所述分词颗粒度与所述候选分词结果包括的候选分词数量反相关。
[0068]
然后,可通过比较,确定出最小分词颗粒度,并将该最小分词颗粒度对应的所述候选分词结果,作为所述目标分词结果。如此,可将分的更细的候选分词结果作为所述目标分词结果。
[0069]
比如,将所述候选分词结果包括的候选分词数量的倒数作为所述候选分词结果的分词颗粒度,如此可将候选分词数量最多的候选分词结果作为所述目标分词结果。
[0070]
可选地,作为再一种可能的实现方式,在所述候选分词结果为多个的情况下,可以通过图5所示方式获得所述目标分词结果。请参照图5,图5为图2中步骤s130包括的另一种子步骤的流程示意图。在本实施例中,步骤s130可以包括子步骤s135~子步骤s136。
[0071]
子步骤s135,根据预设词库中包括的预设分词及词频,获得各所述候选分词结果中所包括的分词的词频之和作为各所述候选分词结果对应的词频总数。
[0072]
子步骤s136,选出最大词频总数对应的所述候选分词结果,作为所述目标分词结果。
[0073]
在本实施例中,所述预设词库中包括多个预设分词及各预设分词对应的词频。所述预设词库可以是常规分词器的词库,也可以是通过其他方式获得的词库。可选地,在通过其他方式获得词库作为所述预设词库时,可以是所述电子设备100预先基于所述其他方式获得词库,也可以是其他设备预先通过所述其他方式获得该词库,并将词库发送给所述电子设备100作为所述预设词库。该预设词库也可以用于步骤s110中以获得候选分词集。
[0074]
作为一种可能的实现方式,可通过如下方式获得所述预设词库:从预设数据源中获得多个所述预设分词;统计各所述预设分词在所述预设数据源中的出现次数,并将各所述预设分词对应的出现次数作为该预设分词的词频。其中,多个所述预设分词,可以是从带有标注了分词的预设数据源中获得的,也可以是基于其他词库通过在预设数据源中进行匹配得到的。如此,可快速获得所述预设词库,无需基于特定的复杂规则来确定出词频,并且方便扩展词库。
[0075]
可针对各所述候选分词结果,从所述预设词库中查找与该候选分词结果中各候选分词相同的预设分词的词频,并将得到的词频进行累加,从而得到该候选分词结果对应的词频总数。在获得各所述候选分词结果对应的词频总数的情况下,可通过比较,确定出最大词频总数,并将所述最大词频总数对应的候选分词结果作为所述目标分词结果。如此,便于获得与常规分词习惯相同的目标分词结果,并且计算词频总数的计算量小,便于保证效率。
[0076]
下面对上述分词方法进行举例说明。
[0077]
用于实现动态规则的迭代公式为:
[0078][0079]
设i为文本下标,text[i:]代表待分词文本中以位置i处的字符为首字符的文本子串。假设待分词文本为“郭德纲于谦相声精选”。
[0080]
step1:找出text内所有可以成词的候选,并以i为首字符聚合。
[0081]
通过step1,可以得到如下候选分词集:
[0082]
i=0:郭德纲、郭德纲于谦、郭
[0083]
i=1:德纲、德
[0084]
i=2:纲
[0085]
i=3:于谦、于谦相声、于
[0086]
i=4:谦
[0087]
i=5:相声、相声精选、相
[0088]
i=6:声
[0089]
i=7:精选、精
[0090]
i=8:选
[0091]
step2:text从后向前遍历,即从大到小循环到i,由前面的迭代公式得到dp[i],这样循环结束就得到一个最优路径方案的明细route。
[0092]
step3:由这个route,找出全局最优分割方案,得到最终分词结果。
[0093]
设置dp[end]初始值。下面以dp[end]初始值为1进行说明。从i=8开始循环。则会获得各位置对应的最优局部分词结果及最大局部乘积:
[0094]
dp[8]=1*length(选)=1
[0095]
dp[7]=max(1*length(精选),dp[8]*length(精))=2
[0096]
dp[6]=max(dp[7]*length(声))=2
[0097]
dp[5]=max(1*length(相声精选),dp[7]*length(相声),dp[6]*length(相))=4
[0098]
dp[4]=max(dp[5]*length(谦))=4
[0099]
dp[3]=max(dp[7]*length(于谦相声),dp[5]*length(于谦),dp[4]*length(于))=8
[0100]
dp[2]=max(dp[3]*length(纲))=8
[0101]
dp[1]=max(dp[3]*length(德纲),dp[2]*length(德))=16
[0102]
dp[0]=max(dp[5]*length(郭德纲于谦),dp[3]*length(郭德纲),dp[1]*length(郭))=24
[0103]
比如,位置5对应的最优局部分词结果为:相声精选;精选相声,对应的最大局部乘积为4。
[0104]
在得到route之后,就可以确定dp最大值的分割组合有:
[0105]
郭德纲于谦相声精选——dp=24
[0106]
郭德纲于谦相声精选——dp=24
[0107]
郭德纲于谦相声精选——dp=24
[0108]
此时已淘汰了大量候选方案,得到了三个优化量化值相等的方案。在该情况下,可以比较哪个分割组合分得更细,从而选出“郭德纲于谦相声精选”为最优解,也即作为目标分词结果。也可以是综合每个分割组合中各token的词频,得到词频最大的一组方案,这样若“相声精选”的词频大于“相声”词频和“精选”词频的总和,则可以选择“郭德纲于谦相声精选”为最优解,也即作为目标分词结果。
[0109]
如此,可利用动态规划及自定义迭代公式来实现全局最优分词,具有效果好、效率高、成本低的优势。可应用在垂直搜索场景,包括索引分词、query理解分词等。
[0110]
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种分词装置
200的实现方式,可选地,该分词装置200可以采用上述图1所示的电子设备100的器件结构。进一步地,请参照图6,图6为本技术实施例提供的分词装置200的方框示意图之一。需要说明的是,本实施例所提供的分词装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。所述分词装置200可以包括:分词集获得模块210、处理模块220及结果确定模块230。
[0111]
所述分词集获得模块210,用于从待分词文本中,获得所述待分词文本中每个字符对应的候选分词集。其中,任意一个字符对应的所述候选分词集中包括以所述字符为起始字符的候选分词,在所述候选分词中包括多个字符时,所述多个字符为所述待分词文本中的连续字符。
[0112]
所述处理模块220,用于根据每个字符对应的候选分词集,通过动态规划方式,以候选分词结果中包括的各候选分词的字符串长度乘积最大为目标,按照从后往前的顺序对所述待分词文本中的各字符进行遍历,获得所述候选分词结果。其中,任意一个所述候选分词结果中的所述候选分词总和构成所述待分词文本。
[0113]
所述结果确定模块230,用于根据获得的所述候选分词结果,确定目标分词结果。
[0114]
可选地,在本实施例中,所述分词集获得模块210可以基于预设词库获得所述候选分词集合,和/或,所述结果确定模块230可以基于预设词库确定所述目标分词结果。
[0115]
请参照图7,图7为本技术实施例提供的分词装置200的方框示意图之二。在本实施例中,所述分词装置200还可以包括词库生成模块201。
[0116]
所述词库生成模块201,用于:从预设数据源中获得多个所述预设分词;统计各所述预设分词在所述预设数据源中的出现次数,并将各所述预设分词对应的出现次数作为该预设分词的词频。
[0117]
可选地,上述模块可以软件或固件(firmware)的形式存储于图1所示的存储器110中或固化于的电子设备100的操作系统(operating system,os)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。
[0118]
本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的分词方法。
[0119]
综上所述,本技术实施例提供一种分词方法、装置、电子设备及可读存储介质,首先,可基于待分词文本,从该待分词文本中获得该待分词文本中各字符对应的候选分词集,其中,任意一个字符对应的所述候选分词集中包括以所述字符为起始字符的候选分词,在所述候选分词中包括多个字符时,所述多个字符为所述待分词文本中的连续字符;接着,根据获得的各字符对应的候选分词集,通过动态规划方式,以候选分词结果中包括的各候选分词的字符串长度乘积最大为目标,按照从后往前的顺序对待分词文本中的各字符进行遍历,从而获得候选分词结果,其中,任意一个候选分词结果中的所述候选分词总和构成上述待分词文本;最后,可根据得到的上述候选分词结果,得到目标分词结果。由此,无需使用训练集训练分词模型即可得到分词效果较佳的分词结果,当应用在垂直搜索场景下时依然可保证分词效果,该方式具有效果好、成本低等特点。
[0120]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、
功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0121]
另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0122]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0123]
以上所述仅为本技术的可选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献