System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及自然语言处理,尤其涉及一种文本切分方法和装置。
技术介绍
1、文档可以用于进行文字信息的呈现,其中,文档中的文字可以包括合写语言文字和分写语言文字。
2、对于分写语言文字而言,需要通过空格来将分写语言文字中的各字符串进行区分,才能够正确的表达和传递相应的文字信息。然而在一些场景下,例如文档格式转换、图片转文档等情景下,可能存在文档中的字符串并未进行较好的区分,导致无法正确理解和识别文档中的文字信息。
3、因此,亟需提供一种文本切分方案,以实现文档中的字符串的切分处理。
技术实现思路
1、本申请提供一种文本切分方法和装置,以实现文档中的字符串的切分处理。
2、第一方面,本申请提供一种文本切分方法,所述方法包括:
3、获取预设语料库对应的损失数据,所述预设语料库中包括多个字符单元,所述损失数据中包括各所述字符单元的损失值,其中,各所述字符单元的损失值与字符单元在所述预设语料库中的出现频次成负相关关系;
4、对第一文档进行解析处理,确定所述第一文档中的至少一个字符串,其中,任意字符串中包括多个连续排列的字符;
5、根据所述损失数据对所述至少一个字符串进行切分处理,得到各所述字符串对应的切分文本。
6、在一种可能的实施方式中,所述根据所述损失数据对所述至少一个字符串进行切分处理,得到各所述字符串对应的切分文本,包括:
7、根据所述损失数据,建立所述预设语料库对应的前缀树;
9、其中,所述前缀树中包括一个根节点和多个叶子节点,所述根节点、以及所述多个叶子节点对应的字符,构成所述预设语料库中的所述多个字符单元,所述前缀树中还包括所述多个字符单元的损失值;具有公共前缀的字符单元在所述前缀树中共享部分相同的查询路径。
10、在一种可能的实施方式中,所述根据所述前缀树,对所述至少一个字符串进行切分处理,得到各所述字符串对应的切分文本,包括:
11、针对所述至少一个字符串中的任意字符串,根据所述前缀树,确定所述字符串对应的目标数组,所述目标数组用于指示所述字符串中包括的字符的组成情况;
12、根据所述目标数组,在所述字符串中确定至少一个分词索引;
13、根据所述至少一个分词索引,对所述字符串进行切分处理,得到所述字符串对应的切分文本。
14、在一种可能的实施方式中,所述根据所述前缀树,确定所述字符串对应的目标数组,包括:
15、根据所述前缀树,以及所述字符串中的第1个字符,确定所述第1个字符对应的数组、以及所述第1个字符对应的数组的损失值,所述第1个字符对应的数组中包括所述第1个字符;
16、根据所述前缀树、前i-1个字符分别对应的数组和各数组的损失值,确定第i个字符对应的数组,所述第i个字符对应的数组中包括前i个字符对应的字符单元组合;所述i依次为2,3,...,n,所述n为所述字符串中包括的字符的数量,所述n为正整数;
17、将第n个字符对应的数组确定为所述目标数组;
18、其中,若所述前缀树中存在由所述第1个字符构成的字符单元,则将所述前缀树中所述第1个字符构成的字符单元的损失值确定为所述第1个字符对应的数组的损失值;若所述前缀树中不存在由所述第1个字符构成的字符单元,则确定所述第1个字符对应的数组的损失值为第一预设值。
19、在一种可能的实施方式中,所述根据所述前缀树、前i-1个字符分别对应的数组和各数组的损失值,确定第i个字符对应的数组,包括:
20、根据所述前i-1个字符分别对应的数组和前i个字符,确定对应的多个字符单元组合;
21、根据所述前缀树以及各数组的损失值,确定各所述字符单元组合对应的损失值;
22、根据所述多个字符单元组合以及各所述字符单元组合对应的损失值,确定所述第i个字符对应的数组。
23、在一种可能的实施方式中,所述根据所述前i-1个字符分别对应的数组和前i个字符,确定对应的多个字符单元组合,包括:
24、根据所述前i-1个字符分别对应的数组和前i个字符,确定第k个字符对应的数组和对应的剩余字符串构成的第一组合,以及前i个字符构成的第二组合,所述剩余字符串包括第k+1至第i个字符,所述多个字符单元组合包括所述第一组合和所述第二组合;
25、其中,若所述i小于或等于m,所述k为1,2,...,i-1,所述m为所述前缀树中字符单元包括的字符数量最大的值,所述m为大于1的整数;
26、若所述i大于所述m,则所述k为i-m+1,i-m+2,...,i-1。
27、在一种可能的实施方式中,所述根据所述前缀树以及各数组的损失值,确定各所述字符单元组合对应的损失值,包括:
28、针对所述第一组合,根据所述前缀树确定所述剩余字符串的损失值;根据所述第k个字符对应的数组的损失值和所述剩余字符串的损失值,确定所述第一组合对应的损失值;
29、针对所述第二组合,在所述前缀树中包括所述前i个字符构成的字符单元的情况下,将所述前i个字符构成的字符单元在所述前缀树中的损失值确定为所述第二组合的损失值,在所述前缀树中不包括所述前i个字符构成的字符单元的情况下,根据所述前缀树确定所述第二组合的损失值。
30、在一种可能的实施方式中,所述根据所述前缀树确定所述第二组合的损失值,包括:
31、若所述前缀树中不存在所述第二组合的关联字符单元,则确定所述第二组合的损失值为所述第一预设值;其中,所述关联字符单元为所述前缀树中与所述第二组合包括的不同字符的数量小于或等于预设阈值的字符单元;
32、若所述前缀树中存在所述第二组合的关联字符单元,则根据所述前缀树确定所述关联字符单元的损失值;根据所述关联字符单元的损失值和第二预设值,确定所述第二组合的损失值,其中,所述第二预设值小于或等于所述第一预设值。
33、在一种可能的实施方式中,所述根据所述目标数组,在所述字符串中确定至少一个分词索引,包括:
34、确定所述目标数组中包括的字符单元组合;
35、根据所述目标数组中包括的字符单元组合,在所述字符串中确定所述至少一个分词索引。
36、第二方面,本申请提供一种文本切分装置,包括:
37、获取模块,用于获取预设语料库对应的损失数据,所述预设语料库中包括多个字符单元,所述损失数据中包括各所述字符单元的损失值,其中,各所述字符单元的损失值与字符单元在所述预设语料库中的频次成负相关关系;
38、解析模块,用于对第一文档进行解析处理,确定所述第一文档中的至少一个字符串,其中,任意字符串中包括多个连续排列的字符;
39、处理模块,用于根据所述损失数据对所述至少一个字符串进行切分处理,得到各所述本文档来自技高网...
【技术保护点】
1.一种文本切分方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述损失数据对所述至少一个字符串进行切分处理,得到各所述字符串对应的切分文本,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述前缀树,对所述至少一个字符串进行切分处理,得到各所述字符串对应的切分文本,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述前缀树,确定所述字符串对应的目标数组,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述前缀树、前i-1个字符分别对应的数组和各数组的损失值,确定第i个字符对应的数组,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述前i-1个字符分别对应的数组和前i个字符,确定对应的多个字符单元组合,包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述前缀树以及各数组的损失值,确定各所述字符单元组合对应的损失值,包括:
8.根据权利要求7所述的方法,其特征在于,所述根据所述前缀树确定所述第二组合的损失值,包括:
>9.根据权利要求4-8任一项所述的方法,其特征在于,所述根据所述目标数组,在所述字符串中确定至少一个分词索引,包括:
10.一种文本切分装置,其特征在于,包括:
...【技术特征摘要】
1.一种文本切分方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述损失数据对所述至少一个字符串进行切分处理,得到各所述字符串对应的切分文本,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述前缀树,对所述至少一个字符串进行切分处理,得到各所述字符串对应的切分文本,包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述前缀树,确定所述字符串对应的目标数组,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述前缀树、前i-1个字符分别对应的数组和各数组的损失值,确定第i个字符对应...
【专利技术属性】
技术研发人员:罗志旺,
申请(专利权)人:珠海金山办公软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。