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

一种序列切分方法、设备及计算机可读存储介质与流程

2021-10-29 21:10:00 来源:中国专利 TAG:切分 自然语言 人工智能 序列 可读


1.本技术涉及人工智能领域中的自然语言处理技术,尤其涉及一种序列切分方法、设备及计算机可读存储介质。


背景技术:

2.序列切分,是指将待切分序列中的各个细粒度切分单元组合为粗粒度切分单元的过程,是自然语言处理中的基础任务;通过序列切分,能够提升信息处理的执行效率,还能够对信息处理起到辅助的作用。
3.一般来说,为了实现对待切分序列的序列切分,通常对待切分序列中的每个细粒度切分单元进行序列标注,进而基于每个细粒度切分单元的序列标注结果确定待切分序列的切分序列。然而,上述序列切分的过程中,由于待切分序列中的各个细粒度切分单元的序列标注结果组合存在无效的情况,比如,“o,i

tag,i

tag”,从而,序列切分的有效性较低。


技术实现要素:

4.本技术实施例提供一种序列切分方法、装置、设备及计算机可读存储介质,能够提升序列切分的有效性。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种序列切分方法,包括:
7.获取包括n个切分单元的待切分序列,其中,n为大于1的整数;
8.对所述n个切分单元进行序列切分,获得与所述待切分序列对应的候选切分序列得分集合;
9.其中,所述候选切分序列得分集合为每个候选切分序列对应的候选切分序列得分构成的集合,所述每个候选切分序列中的各个切片组成所述待切分序列,所述候选切分序列得分为所述各个切片对应的各个切片得分的组合;
10.获取所述候选切分序列得分集合中的最高候选切分序列得分;
11.将所述最高候选切分序列得分对应的候选切分序列,确定为所述待切分序列的序列切分结果。
12.本技术实施例提供一种序列切分装置,包括:
13.序列获取模块,用于获取包括n个切分单元的待切分序列,其中,n为大于1的整数;
14.序列切分模块,用于对所述n个切分单元进行序列切分,获得与所述待切分序列对应的候选切分序列得分集合;其中,所述候选切分序列得分集合为每个候选切分序列对应的候选切分序列得分构成的集合,所述每个候选切分序列中的各个切片组成所述待切分序列,所述候选切分序列得分为所述各个切片对应的各个切片得分的组合;
15.得分获取模块,用于获取所述候选切分序列得分集合中的最高候选切分序列得分;
16.结果获取模块,用于将所述最高候选切分序列得分对应的候选切分序列,确定为
所述待切分序列的序列切分结果。
17.在本技术实施例中,所述序列切分模块,还用于遍历所述n个切分单元,基于第1个切分序列得分集合至第i

1个切分序列得分集合,对遍历到的前i个切分单元进行序列切分,获得第i个切分序列得分集合,其中,i为大于1且小于等于n的整数,所述第i个切分序列得分集合为所述前i个切分单元对应的各个切分序列得分;基于所述第1个切分序列得分集合至所述第i个切分序列得分集合,继续对遍历到的前i 1个切分单元进行序列切分,直到遍历完所述n个切分单元时,获得第n个切分序列得分集合,其中,所述第n个切分序列得分集合为与所述待切分序列对应的所述候选切分序列得分集合。
18.在本技术实施例中,所述序列切分模块,还用于对遍历到的所述前i个切分单元再次进行遍历,针对遍历到的后j个切分单元,获取对应的第j个切分前缀和第j个最后切片,其中,j为大于0且小于i

1的整数,所述第j个切分前缀为前i

j个切分单元对应的切分序列,所述第j个最后切片为所述后j个切分单元组成的切片;基于所述第1个切分序列得分集合至所述第i

1个切分序列得分集合,确定所述第j个切分前缀和所述第j个最后切片共同对应的第i个切分序列得分;继续遍历后j 1个切分单元,直到遍历完所述前i个切分单元中的后i

1个切分单元时,获得与所述前i个切分单元对应的i

1个第i个切分序列得分,其中,所述第i个切分序列得分集合包括所述i

1个第i个切分序列得分。
19.在本技术实施例中,所述序列切分模块,还用于获取所述第j个最后切片对应的第j个最后切片得分;从所述第1个切分序列得分集合至所述第i

1个切分序列得分集合中,获取所述第j个切分前缀对应的第j个最高切分序列得分,其中,所述第j个最高切分序列得分为所述第j个切分前缀对应的最高的切分序列得分;组合所述第j个最高切分序列得分和所述第j个最后切片得分,获得所述第i个切分序列得分。
20.在本技术实施例中,所述序列切分模块,还用于获取所述第j个最后切片对应的第j个最后切片特征;基于所述第j个最后切片特征,预测所述第j个最后切片中的至少一个切分单元为一个切片的可行性,获得第j个切片合并得分;基于所述第j个切片合并得分,获得所述第j个最后切片得分。
21.在本技术实施例中,所述序列切分模块,还用于基于所述第j个最后切片特征,预测所述第j个最后切片对应于各个标签的各个第j个切片标签值;从所述各个第j个切片标签值中,获取第j个最高切片标签值。
22.在本技术实施例中,所述序列切分模块,还用于组合所述第j个切片合并得分和所述第j个最高切片标签值,获得所述第j个最后切片得分。
23.在本技术实施例中,所述序列切分模块,还用于获取所述n个切分单元对应的n个切分单元特征;从所述n个切分单元特征中,获取所述第j个最后切片对应的首切分单元特征和尾切分单元特征;结合所述首切分单元特征和所述尾切分单元特征,确定所述第j个最后切片特征。
24.在本技术实施例中,所述序列切分模块,还用于获取所述第j个最高切片标签值对应的目标切片标签,其中,所述第j个最后切片与所述目标切片标签为所述序列切分结果中的一个元素;获取所述各个标签分别与所述目标切片标签之间的标签依赖值;从所述第1个切分序列得分集合至所述第i

1个切分序列得分集合中,获取第i

j个最后切片对应于所述各个标签中的每个标签的最高切分序列得分,其中,所述第i

j个最后切片为所述前i

j个
切分单元对应的最后切片;将所述第i

j个最后切片对应于所述每个标签的最高切分序列得分,分别与所述标签依赖值组合,获得第i

j个切分序列得分集合;从所述第i

j个切分序列得分集合中,获得所述第j个最高切分序列得分。
25.在本技术实施例中,所述序列切分模块,还用于获取所述n个切分单元中的第1个切分单元对应的切分序列得分,得到第1个切分序列得分集合。
26.在本技术实施例中,所述序列切分模块,还用于采用序列切分模型,遍历所述n个切分单元,其中,所述序列切分模型用于获取所述n个切分单元对应的所述序列切分结果。
27.在本技术实施例中,所述序列切分模块,还用于获取序列样本,其中,所述序列样本包括待预测序列和序列标注信息;采用待训练序列切分模型,预测所述待预测序列,获得最高分预测切分序列,其中,所述待训练序列切分模型为待训练的用于获取所述n个切分单元对应的所述序列切分结果的模型;基于所述最高分预测切分序列与所述序列标注信息之间的差异,迭代训练所述待训练序列切分模型;直到满足训练结束条件时,结束训练,获得所述序列切分模型。
28.在本技术实施例中,所述序列切分模块,还用于获取新的序列样本,其中,所述新的序列样本为所述序列样本之后获得的样本;基于所述新的序列样本,优化所述序列切分模型。
29.在本技术实施例中,所述序列切分模块,还用于采用优化后的序列切分模型,遍历所述n个切分单元。
30.在本技术实施例中,所述序列获取模块,还用于响应于序列切分请求,获取待切分文本;遍历所述待切分文本中的每个待切分句子,将遍历到的待切分句子,确定为包括所述n个切分单元的所述待切分序列。
31.在本技术实施例中,所述结果获取模块,还用于当遍历完所述待切分文本时,获得所述每个待切分句子对应的所述序列切分结果构成的文本切分序列。
32.本技术实施例提供一种序列切分设备,包括:
33.存储器,用于存储可执行指令;
34.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的序列切分方法。
35.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的序列切分方法。
36.本技术实施例至少具有以下有益效果:通过获取n个切分单元对应的每个候选切分序列对应的候选切分序列得分,并将最高候选切分序列得分所对应的候选切分序列确定为序列切分结果;实现了以待切分序列为级别的整体化的序列切分,能够保证所获得的序列切分结果的有效性;从而,能够提升序列切分的有效性。
附图说明
37.图1是一种示例性的序列切分方法示意图;
38.图2是另一种示例性的序列切分方法示意图;
39.图3是本技术实施例提供的序列切分系统的一个可选的架构示意图;
40.图4是本技术实施例提供的一种图3中的服务器的组成结构示意图;
41.图5是本技术实施例提供的序列切分方法的一个可选的流程示意图;
42.图6是本技术实施例提供的序列切分方法的另一个可选的流程示意图;
43.图7是本技术实施例提供的序列切分方法的又一个可选的流程示意图;
44.图8是本技术实施例提供的一种示例性的序列切分方法的流程示意图;
45.图9是本技术实施例提供的另一种示例性的序列切分方法的流程示意图;
46.图10是本技术实施例提供的又一种示例性的序列切分方法的流程示意图;
47.图11是本技术实施例提供的一种示例性的序列切分的流程示意图。
具体实施方式
48.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
49.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
50.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
51.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
52.1)人工智能(artificial intelligence,ai),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
53.2)机器学习(machine learning,ml),是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能;重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习和归纳学习等技术。
54.3)自然语言处理(nature language processing,nlp),是计算机科学领域与人工智能领域中的一个重要方向,旨在研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法;自然语言处理是一门融语言学、计算机科学和数学于一体的科学,因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系;自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
55.4)神经网络(neural networks,nn),是一种模仿生物神经网络结构和功能的数学模型,本文中人工神经网络的示例性结构包括深度神经网络(deep neural networks,dnn)、卷积神经网络(convolutional neural network,cnn)和循环神经网络(recurrent neural network,rnn)等。
56.5)动态规划(dynamic programming,dp),是一种求解极值的优化方法,其核心思
想是将一个复杂的问题递归式的拆解成若干个简单的子问题,适用于多阶段决策问题中;这里,把一个问题看作是一个前后关联具有链状结构的多阶段过程就称为多阶段决策过程,这种问题称为多阶段决策问题。在多阶段决策问题中,各个阶段采取的决策,一般来说是与时间有关的,决策依赖于当前状态,又随即引起状态的转移,一个决策序列就是在变化的状态中产生出来的。动态规划时,用一个表来记录所有已解的子问题的答案,不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。
57.6)lua(lexical unit analysis,词法单元分析),一种本技术实施例针对序列切分任务提出的通用框架,用于实现本技术实施例提供的序列切分方法;在本技术实施例中,序列切分任务包括词性标注、句法分块、命名实体识别、分词和槽位抽取等。
58.7)命名实体识别(entity name recognition,ner),用于识别给定非结构文本中的实体短语,比如,ip(intellectual property,知识资源)类型(包括影视剧、小说、动漫、游戏、赛事、歌曲、app(application,应用程序)名等)、人名类型、地名类型、机构类型等;属于识别输入文本中的实体名的类型以及实体名所在位置的nlp任务。
59.8)词性标注(pos),是语料库语言学中将语料库内字符串的词性按其含义和上下文内容进行标记的文本数据处理技术。
60.9)句法分块,从字符串得到句法结构的过程。
61.10)分词(cws),是将连续的字符序列按照一定的规范重新组合成字符串序列的过程。
62.11)槽位抽取,是指在一定的领域中,对一句话进行词法分析和语法分析,并结合上下文判断指定的语句字符串某个片段是否是具有一定意义的符合上下文的槽位。
63.12)f1值(f1

measure),是精准率与召回率的调和平均数,通常f1值=精准率*召回率*2/(精准率 召回率)。f1的取值范围为0到1,f1值越大,表明效果越好。
64.13)lstm(long short term memory networks,长短期记忆网络),是一种改良版的循环神经网络。它通过门机制极大的提升了其建模长期依赖的能力。
65.14)crf(conditional random fields,条件随机场),是一种判别式概率模型,是随机场的一种,常用于分析序列资料;比如,自然语言和生物dna(deoxyribo nucleic acid,脱氧核糖核酸)。
66.15)数据集,又称为资料集、数据集合或资料集合,是一种由数据所组成的集合。在本技术实施例中,数据集用于评估网络模型。比如,ctb(chinese treebank,中文树库)数据集,是一个大型的标注了句法树的中文数据集,经常被用于评测中文分词,中文词性标注和句法分析等。
67.16)损失函数,又称代价函数,是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。
68.17)状态转移方程,是动态规划中,用函数表示前后阶段关系的方程。在动态规划中,本阶段的状态,通常是上一阶段状态和上一阶段决策的结果。
69.18)激活函数,一种为了增加神经网络模型的非线性的处理。由于数据的分布绝大多数是非线性的,而一般神经网络的计算是线性的,通过激活函数,能够实现在神经网络中引入非线性,强化网络的学习能力,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。比如,“tanh”激活函数,又称为双曲正切激活函数
(hyperbolic tangent activation function)。
70.需要说明的是,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
71.另外,人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
72.随着人工智能技术的研究和进步,人工智能技术在多个领域展开了研究和应用;例如,常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗和智能客服等;随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值;比如,还可以将人工智能应用在文本处理领域。本发明实施例中所涉及的人工智能在自然语言处理领域的应用将在后续进行说明。
73.一般来说,为了实现对待切分序列的序列切分,可以采用基于序列标注的模型实现;即对待切分序列中的每个细粒度切分单元进行序列标注,进而基于每个细粒度切分单元的序列标注结果确定待切分序列的切分序列。然而,上述序列切分的过程中,由于待切分序列中的各个细粒度切分单元的序列标注结果组合存在无效的情况,比如,“o,i

tag,i

tag”,为一个无起始位置的序列标注结果,而实际应用中不存在无起始位置标注结果的情况,故“o,i

tag,i

tag”为无效的序列标注结果;从而,序列切分的有效性较低。
74.参见图1,图1是一种示例性的序列切分方法示意图;如图1所示,针对待切分序列1

1:“word cup standings”,在序列标注模型1

2中,针对每个细粒度切分单元“word”、“cup”和“standings”分别进行序列标注,最后对序列标注模型1

2的输出进行过滤,获得序列标注结果1

3:“[word]o[cup]i[standings]i”。这里,每个细粒度切分单元的序列标注结果中:b

tag表示该单元在一个切分的起始位置;i

tag表示该单元在一个切片中但并非起始位置;o表示此切分单元不对应任何切片;“misc”表示杂类。从而,“[word]o[cup]i[standings]i”也是一个无效的切分序列。
[0075]
另外,为了实现对待切分序列的序列切分,还可以基于切片的模型实现;即对待切分序列中的所有候选切片分别进行预测;然而,上述基于切片的模型实现序列切分时,存在切片的边界冲突的情况,从而,获得的切分序列也存在无效的情况。
[0076]
参见图2,图2是另一种示例性的序列切分方法示意图;如图2所示,针对待切分序列2

1:“word cup standings”,在切片模型2

2中,针对所有候选切片(粗粒度切分单元)“word cup”、“cup standings”、“cup
”……“
standings”分别进行预测,最后基于规则对切片模型2

2的输出进行过滤,获得切分序列2

3:“[world cup]misc[cup]misc[standings]o”。该切分序列中,由于切片[world cup]与切片[cup]存在重叠,故该切分序列存在切片的边界冲突的问题。
[0077]
基于此,本技术实施例提供一种序列切分方法、装置、设备和计算机可读存储介质,能够提升序列切分的有效性。下面说明本技术实施例提供的序列切分设备的示例性应用,本技术实施例提供的序列切分设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式
游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时的示例性应用。
[0078]
参见图3,图3是本技术实施例提供的序列切分系统的一个可选的架构示意图;如图3所示,为支撑一个序列切分应用,在序列切分系统100中,终端200(示例性示出了终端200

1和终端200

2)通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合。另外,序列切分系统100中,还包括数据库500,用于在服务器400通过网络300向终端提供序列切分服务时,向服务器400提供数据支持。
[0079]
终端200,用于响应于作用在序列切分控件上的序列切分操作,通过网络300向服务器400发送序列切分请求。
[0080]
服务器400,用于响应于终端200通过网络300发送的序列切分请求,获取包括n个切分单元的待切分序列,其中,n为大于1的整数;对n个切分单元进行序列切分,获得与待切分序列对应的候选切分序列得分集合;其中,候选切分序列得分集合为每个候选切分序列对应的候选切分序列得分构成的集合,每个候选切分序列中的各个切片组成待切分序列,候选切分序列得分为各个切片对应的各个切片得分的组合;获取候选切分序列得分集合中的最高候选切分序列得分;将最高候选切分序列得分对应的候选切分序列,确定为待切分序列的序列切分结果。还用于通过网络300向终端200发送序列切分结果序列。
[0081]
在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。
[0082]
参见图4,图4是本技术实施例提供的一种图3中的服务器的组成结构示意图;图4所示的服务器400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。服务器400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统440。
[0083]
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0084]
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
[0085]
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
[0086]
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
[0087]
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0088]
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0089]
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wi

fi)、和通用串行总线(usb,universal serial bus)等;
[0090]
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
[0091]
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0092]
在一些实施例中,本技术实施例提供的序列切分装置可以采用软件方式实现,图4示出了存储在存储器450中的序列切分装置455,其可以是程序和插件等形式的软件,包括以下软件模块:序列获取模块4551、序列切分模块4552、得分获取模块4553和结果获取模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0093]
在另一些实施例中,本技术实施例提供的序列切分装置可以采用硬件方式实现,作为示例,本技术实施例提供的序列切分装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的序列切分方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件。
[0094]
下面,将结合本技术实施例提供的服务器的示例性应用和实施,说明本技术实施例提供的序列切分方法。
[0095]
参见图5,图5是本技术实施例提供的序列切分方法的一个可选的流程示意图,将结合图5示出的步骤进行说明。
[0096]
s501、获取包括n个切分单元的待切分序列。
[0097]
在本技术实施例中,当序列切分设备执行序列切分任务时,所对应的序列切分的对象即待切分序列,比如,文本中的一个句子,文章标题等。
[0098]
需要说明的是,待切分序列包括n个切分单元,每个切分单元为进行序列切分时的最小单位,是一种细粒度切分单元;比如,一个中文汉字,一个英文单词等;其中,n为大于1的整数。
[0099]
s502、对n个切分单元进行序列切分,获得与待切分序列对应的候选切分序列得分
集合。
[0100]
在本技术实施例中,序列切分设备获得了n个切分单元之后,在待切分序列级别上对n个切分单元进行序列切分,每次序列切分均能获得一个与n个切分单元对应的切分序列,这里,称为候选切分序列;并获取候选切分序列对应的得分。当完成对n个切分单元的多种序列切分时,也就获得了与待切分序列对应的候选切分序列得分集合。这里,序列切分的方式可以为枚举的方式,也可以是递归的方式,等等,本技术实施例对此不作具体限定。
[0101]
需要说明的是,候选切分序列得分集合为每个候选切分序列对应的候选切分序列得分构成的集合;每个候选切分序列中的各个切片组成待切分序列,即每个候选切分序列中的各个切片不重叠且刚好覆盖了待切分序列;候选切分序列得分为各个切片对应的各个切片得分的组合,而每个切片得分可以是基于切片自身的切分单元的组合情况确定的,还可以是基于与其他切片的关联确定的,等等,本技术实施例对此不作具体限定。另外,每个候选切分序列均为待切分序列的一个有效切分序列。
[0102]
还需要说明的是,每个候选切分序列中处理包括各个切片,还可以包括各个切片对应的各个预测信息,比如,实体类型、句法结构、词性等。
[0103]
s503、获取候选切分序列得分集合中的最高候选切分序列得分。
[0104]
在本技术实施例中,由于每个候选切分序列得分是综合各个切片对应的各个切片得分确定的,从而每个候选切分序列得分表征了每个候选切分序列的序列切分效果;易知,当候选切分序列得分较高时,对应的候选切分序列的切分效果较好,比如,精准率、召回率较高等;而当候选切分序列得分较低时,对应的候选切分序列的切分效果较差,比如,精准率、召回率较低等。这里,最高候选切分序列得分为候选切分序列得分集合中的最高得分。
[0105]
s504、将最高候选切分序列得分对应的候选切分序列,确定为待切分序列的序列切分结果。
[0106]
需要说明的是,最高候选切分序列得分对应的候选切分序列,即待切分序列的序列切分结果。
[0107]
在本技术实施例中,序列切分设备获取每个候选切分序列得分对应的候选切分序列,可被形式化为式(1),式(1)为:
[0108][0109]
其中,为最高候选切分序列得分对应的候选切分序列,f(y)为候选切分序列得分,y为所有候选切分序列,y为y中的任一候选切分序列,max
y∈y
f(y)为最高候选切分序列得分。
[0110]
可以理解的是,通过获取n个切分单元对应的每个候选切分序列对应的候选切分序列得分,并将最高候选切分序列得分所对应的候选切分序列确定为序列切分结果;实现了以待切分序列为级别的整体化的序列切分,能够保证所获得的序列切分结果的有效性;从而,能够提升序列切分的有效性。
[0111]
参见图6,图6是本技术实施例提供的序列切分方法的另一个可选的流程示意图;如图6所示,在本技术实施例中,s502可通过s5021和s5022实现;也就是说,序列切分设备对n个切分单元进行序列切分,获得与待切分序列对应的候选切分序列得分集合,包括s5021和s5022,下面对各步骤分别进行说明。
[0112]
s5021、遍历n个切分单元,基于第1个切分序列得分集合至第i

1个切分序列得分集合,对遍历到的前i个切分单元进行序列切分,获得第i个切分序列得分集合。
[0113]
在本技术实施例中,序列切分设备采用递归方式获取候选切分序列得分集合时,将对前i个切分单元进行序列切分的过程确定为每个序列切分阶段。这里,序列切分设备遍历n个切分单元,当遍历到前i切分单元时,已完成了对前i

1个切分单元的序列切分,从而,此时也就获得了对前1个切分单元(第1个切分单元)、前2个切分单元、

、前i

1个切分单元进行序列切分时对应的切分序列的得分集合,即第1个切分序列得分集合至第i

1个切分序列得分集合。进而,序列切分设备对前i个切分单元进行序列切分时,由于前i个切分单元的序列切分的得分计算过程中,可能会用到前1个切分单元至前i

1个切分单元对应的切分序列的得分,从而,序列切分设备基于第1个切分序列得分集合至第i

1个切分序列得分集合确定前i个切分单元对应的每个第i个切分序列的得分,该每个第i个切分序列的得分构成的集合即第i个切分序列得分集合。
[0114]
需要说明的是,第1个切分序列得分集合为对第1个切分单元对应的切分序列的得分;第i

1个切分序列得分集合为对前i

1个切分单元进行序列切分所获得的所有切分序列所对应的所有得分;第i个切分序列得分集合为前i个切分单元对应的各个切分序列对应的各个得分。另外,这里,i为大于1且小于等于n的整数。
[0115]
s5022、基于第1个切分序列得分集合至第i个切分序列得分集合,继续对遍历到的前i 1个切分单元进行序列切分,直到遍历完n个切分单元时,获得第n个切分序列得分集合,其中,第n个切分序列得分集合为与待切分序列对应的候选切分序列得分集合。
[0116]
在本技术实施例中,序列切分设备遍历完前i个切分单元,并获得了第i个切分序列得分集合之后,继续基于第1个切分序列得分集合至第i个切分序列得分集合对遍历到的前i 1个切分单元进行序列切分,对应的过程与s5021类似,本技术实施例在此不再赘述。如此,持续遍历n个切分单元,当遍历完n个切分单元时,也就获得了前n个切分单元对应的第n个切分序列得分集合。
[0117]
需要说明的是,第n个切分序列得分集合为前n个切分单元(即n个切分单元)对应的各个切分序列对应的各个得分;也就是说,第n个切分序列得分集合为与待切分序列对应的候选切分序列得分集合。
[0118]
可以理解的是,通过递归对n个切分单元中的前2个切分单元、前3个切分单元、

、前n个切分单元进行序列切分,以获得n个切分单元对应的各个候选切分序列的得分;提升了序列切分的可行性和效率。
[0119]
在本技术实施例中,s5021中序列切分单元基于第1个切分序列得分集合至第i

1个切分序列得分集合,对遍历到的前i个切分单元进行序列切分,获得第i个切分序列得分集合,包括s50211

s50213,下面对各步骤分别进行说明。
[0120]
s50211、对遍历到的前i个切分单元再次进行遍历,针对遍历到的后j个切分单元,获取对应的第j个切分前缀和第j个最后切片。
[0121]
需要说明的是,序列切分设备在确定前i个切分单元对应的第i个切分序列得分集合时,将前i个切分单元对应的切分序列作为前i个切分单元的最后切片和前i个切分单元的最后切片所对应的前缀的拼接;而最后切片包含的切分单元的数量是通过遍历前i个切分单元确定出的。在序列切分设备遍历到前i个切分单元中的后j个切分单元时,将前i个切
分单元中的后j个切分单元作为前i个切分单元的最后切片,这里称为第j个最后切片;而前i个切分单元的最后切片所对应的前缀为前i个切分单元中的前i

j个切分单元对应的切分序列,这里称为第j个切分前缀。其中,j为大于0且小于i

1的整数。也就是说,第j个切分前缀为前i

j个切分单元对应的切分序列,第j个最后切片为后j个切分单元组成的切片。
[0122]
s50212、基于第1个切分序列得分集合至第i

1个切分序列得分集合,确定第j个切分前缀和第j个最后切片共同对应的第i个切分序列得分。
[0123]
在本技术实施例中,序列切分设备获得的第i个切分序列得分集合中的每个第i个切分序列得分,均是基于第j个切分前缀和第j个最后切片共同计算出的。其中,针对第j个切分前缀,是序列切分设备基于第1个切分序列得分集合至第i

1个切分序列得分集合计算得出的;针对第j个最后切片,是序列切分设备基于切片的组合和/或切片的标签信息计算得出的。
[0124]
s50213、继续遍历后j 1个切分单元,直到遍历完前i个切分单元中的后i

1个切分单元时,获得与前i个切分单元对应的i

1个第i个切分序列得分。
[0125]
在本技术实施例中,序列切分设备完成了后j个切分单元的遍历,并获得了后j个切分单元对应的一个第i个切分序列得分时,再次将前i个切分单元中的后j 1个切分单元作为前i个切分单元的最后切片,以计算出另一个第i个切分序列得分;如此遍历前i个切分序列,直至计算出了前i个切分单元中的后i

1个切分单元组成的最后切片所对应的一个第i个切分序列得分时,组合后1个切分单元作为前i个切分单元的最后切片时获得的第i个切分序列得分、

、后j个切分单元作为前i个切分单元的最后切片时获得的第i个切分序列得分、后j 1个切分单元作为前i个切分单元的最后切片时获得的第i个切分序列得分、

、后i

1个切分单元作为前i个切分单元的最后切片时获得的第i个切分序列得分,也就获得了与前i个切分单元对应的i

1个第i个切分序列得分。这里,第i个切分序列得分集合包括i

1个第i个切分序列得分。
[0126]
需要说明的是,序列切分设备是通过采用动态规划实现递归地获取待切分序列对应的候选切分序列得分集合的。
[0127]
在本技术实施例中,s50212可通过s502121

s502123实现;也就是说,序列切分设备基于第1个切分序列得分集合至第i

1个切分序列得分集合,确定第j个切分前缀和第j个最后切片共同对应的第i个切分序列得分,包括s502121

s502123,下面对各步骤分别进行说明。
[0128]
s502121、获取第j个最后切片对应的第j个最后切片得分。
[0129]
需要说明的是,序列切分设备对前i个切分单元中的第j个最后切片进行打分,也就获得了第j个最后切片得分。这里,打分时,可以是基于后j个切分单元的组合情况和/或第j个最后切片的标签信息进行的,本技术实施例对此不作具体限定。
[0130]
s502122、从第1个切分序列得分集合至第i

1个切分序列得分集合中,获取第j个切分前缀对应的第j个最高切分序列得分。
[0131]
需要说明的是,由于第1个切分序列得分集合至第i

1个切分序列得分集合中,包含了第j个切分前缀对应的各个切分序列的得分;从而,序列切分设备能够从第1个切分序列得分集合至第i

1个切分序列得分集合中,获取到第j个切分前缀对应的第j个最高切分序列得分。
[0132]
这里,第j个最高切分序列得分为前i

j个切分单元对应的得分最高的切分序列,亦即第j个切分前缀对应的最高的切分序列得分。
[0133]
s502123、组合第j个最高切分序列得分和第j个最后切片得分,获得第i个切分序列得分。
[0134]
需要说明的是,第i个切分序列得分是第j个最高切分序列得分和第j个最后切片得分的组合结果;这里,组合结果可以是第j个最高切分序列得分和第j个最后切片得分的和,也可以是第j个最高切分序列得分和第j个最后切片得分的乘积,又可以是第j个最高切分序列得分和第j个最后切片得分的和的归一化结果,等等,本技术实施例对此不作具体限定。
[0135]
在本技术实施例中,s502121中序列切分设备获取第j个最后切片对应的第j个最后切片得分,包括s5021211

s5021213,下面对各步骤分别进行说明。
[0136]
s5021211、获取第j个最后切片对应的第j个最后切片特征。
[0137]
需要说明的是,序列切分设备提取第j个最后切片的特征,也就获得了第j个最后切片特征。
[0138]
s5021212、基于第j个最后切片特征,预测第j个最后切片中的至少一个切分单元为一个切片的可行性,获得第j个切片合并得分。
[0139]
需要说明的是,第j个最后切片中包括至少一个切分单元;第j个切片合并得分为基于第j个最后切片特征预测出来的,且第j个最后切片合并得分为基于第j个最后切片为一个切片的可能性,对第j个最后切片进行打分获得的。
[0140]
示例性地,第j个切片合并得分可通过式(2)实现,式(2)为:
[0141][0142]
其中,v
c
和w
c
为训练参数,为第j个最后切片特征,为第j个切片合并得分。
[0143]
s5021213、基于第j个切片合并得分,获得第j个最后切片得分。
[0144]
在本技术实施例中,序列切分设备可以将第j个切片合并得分确定为第j个最后切片得分,也可以结合第j个切片合并得分和第j个最后切片对应的标签信息,获得第j个最后切片得分,本技术实施例对此不作具体限定。
[0145]
需要说明的是,当序列切分设备将第j个切片合并得分确定为第j个最后切片得分时,应用在无标签的序列切分场景中,比如,中文分词;当结合第j个切片合并得分和第j个最后切片对应的标签信息,获得第j个最后切片得分时,应用在有标签的序列切分场景中,比如,ner或词性标注。
[0146]
在本技术实施例中,s5021211之后,以及s5021213之前,还包括s5021214和s5021215;也就是说,序列切分设备获取第j个最后切片对应的第j个最后切片特征之后,以及序列切分设备基于第j个切片合并得分,获得第j个最后切片得分之前,该序列切分方法还包括s5021214和s5021215,下面对各步骤分别进行说明。
[0147]
s5021214、基于第j个最后切片特征,预测第j个最后切片对应于各个标签的各个第j个切片标签值。
[0148]
需要说明的是,序列切分设备还可以基于第j个最后切片特征,预测后j个最后切分对应的标签为各个标签时的概率值,也就获得了各个第j个切片标签值。这里,第j个最后
切片对应于各个标签中的每个标签均对应一个后j个的切片标签值。
[0149]
示例性地,后j个的切片标签值可通过式(3)实现,式(3)为:
[0150][0151]
其中,和w
l
为训练参数,为后j个的切片标签值。
[0152]
s5021215、从各个第j个切片标签值中,获取第j个最高切片标签值。
[0153]
需要说明的是,第j个最高切片标签值为各个第j个切片标签值中概率值最高的一个。
[0154]
相应地,在本技术实施例中,s5021213可通过s50212131实现;也就是说,序列切分设备基于第j个切片合并得分,获得第j个最后切片得分,包括s50212131,下面对该步骤进行说明。
[0155]
s50212131、组合第j个切片合并得分和第j个最高切片标签值,获得第j个最后切片得分。
[0156]
需要说明的是,序列切分设备可以将第j个切片合并得分和第j个最高切片标签值的和作为第j个最后切片得分,也可以采用其他的方式组合第j个切片合并得分和第j个最高切片标签值,本技术实施例对此不作具体限定。
[0157]
在本技术实施例中,s5021211可通过s50212111

s50212113实现;也就是说,序列切分设备获取第j个最后切片对应的第j个最后切片特征,包括s50212111

s50212113,下面对各步骤分别进行说明。
[0158]
s50212111、获取n个切分单元对应的n个切分单元特征。
[0159]
在本技术实施例中,待切分序列中的每个切分单元的特征为一个切分单元特征,从而,待切分序列中的n个切分单元对应着n个切分单元特征。
[0160]
需要说明的是,n个切分单元特征可以是之前获取好的,也可以是实时获取的,又可以是获取一次后后续遍历过程中直接使用的,等等,本技术实施例对此不作具体限定。另外,每个切分单元特征的获取方式可以是网络模型,比如,bert模型。
[0161]
示例性地,n个切分单元特征可通过式(4)获得,式(4)为:
[0162][0163]
其中,x为待切分序列;为n个切分单元对应的n个切分单元特征;为第1个切分单元对应的切分单元特征,为第1个切分单元对应的切分单元特征,为第1个切分单元对应的切分单元特征。
[0164]
s50212112、从n个切分单元特征中,获取第j个最后切片对应的首切分单元特征和尾切分单元特征。
[0165]
在本技术实施例中,当第j个最后切片中包括一个切分单元时,第j个最后切片特征即n个切分单元特征中与第j个最后切片对应的切分单元特征;当第j个最后切片中包括多个切分单元时,序列切分设备从n个切分单元特征中,获取第j个最后切片中的第一个切分单元对应的切分单元特征,也就获得了首切分单元特征;序列切分设备从n个切分单元特征中,获取第j个最后切片中的最后一个切分单元对应的切分单元特征,也就获得了尾切分
单元特征。
[0166]
s50212113、结合首切分单元特征和尾切分单元特征,确定第j个最后切片特征。
[0167]
需要说明的是,序列切分设备融合首切分单元特征和尾切分单元特征,也就获得了第j个最后切片特征。
[0168]
示例性地,首切分单元特征和尾切分单元特征可通过式(5)实现结合,式(5)为:
[0169][0170]
其中,为首切分单元特征,为尾切分单元特征,为列向量拼接,

为元素级向量乘积。
[0171]
在本技术实施例中,s502122可通过s5021221

s5021225实现;也就是说,序列切分设备从第1个切分序列得分集合至第i

1个切分序列得分集合中,获取第j个切分前缀对应的第j个最高切分序列得分,包括s5021221

s5021225,下面对各步骤分别进行说明。
[0172]
s5021221、获取第j个最高切片标签值对应的目标切片标签。
[0173]
需要说明的是,序列切分设备获得了第j个最高切片标签值之后,该最高后j个切片标签值所对应的标签,即目标切片标签,也是预测出的第j个最后切片的标签。这里,第j个最后切片与目标切片标签为序列切分结果中的一个元素。
[0174]
s5021222、获取各个标签分别与目标切片标签之间的标签依赖值。
[0175]
需要说明的是,各个标签之间的依赖可以通过一个|v|*|v|的矩阵表示,从而,序列切分设备获得了目标切片标签之后,也就能够获得各个标签分别与目标切片标签之间的标签依赖值;此时,标签依赖值包括|v|个元素(依赖值)。
[0176]
在本技术实施例中,序列切分设备还可以采用连续q个切片之间的标签依赖,q大于等于2,这里以q为2时进行了示例性说明。
[0177]
s5021223、从第1个切分序列得分集合至第i

1个切分序列得分集合中,获取第i

j个最后切片对应于各个标签中的每个标签的最高切分序列得分。
[0178]
在本技术实施例中,针对第j个切分前缀,即前i

j个切分单元,所对应的最后切片,即第i

j个最后切片。也就是说,第i

j个最后切片为前i

j个切分单元对应的最后切片,也是第j个切分前缀对应的最后切片。
[0179]
s5021224、将第i

j个最后切片对应于每个标签的最高切分序列得分,分别与标签依赖值组合,获得第i

j个切分序列得分集合。
[0180]
需要说明的是,序列切分设备针对第i

j个最后切片对应于每个标签的最高切分序列得分,与标签依赖值中对应的依赖值组合,也就获得了第i

j个切分序列得分集合。这里,与标签依赖值中对应的依赖值是基于标签对应的。
[0181]
s5021225、从第i

j个切分序列得分集合中,获得第j个最高切分序列得分。
[0182]
需要说明的是,第j个最高切分序列得分为前i

j个切分序列得分中最高的得分。
[0183]
在本技术实施例中,s5021之前,还包括s5023;也就是说,序列切分设备遍历n个切分单元之前,该序列切分方法还包括s5023,下面对该步骤进行说明。
[0184]
s5023、获取n个切分单元中的第1个切分单元对应的切分序列得分,得到第1个切分序列得分集合。
[0185]
需要说明的是,针对n个切分单元中的前1个切分单元,是不能作为最后切片和对
应的前缀实现序列切分的;这里,序列切分设备对第1个切分单元对应的切分序列得分进行初始化,也就获得了第1个切分序列得分集合。
[0186]
在本技术实施例中,s5021中可通过s50214实现;也就是说,序列切分设备遍历n个切分单元,包括s50214,下面对该步骤进行说明。
[0187]
s50214、采用序列切分模型,遍历n个切分单元。
[0188]
需要说明的是,序列切分模型用于获取n个切分单元对应的序列切分结果,比如为lua。
[0189]
可以理解的是,通过采用网络模型实现n个切分单元的序列切分,能够提升序列切分的效率。
[0190]
在本技术实施例中,s50214之前还包括s50215

s50218;也就是说,序列切分设备采用序列切分模型,遍历n个切分单元之前,该序列切分方法还包括s50215

s50218,下面对各部分别进行说明。
[0191]
s50215、获取序列样本,其中,序列样本包括待预测序列和序列标注信息。
[0192]
需要说明的是,序列样本为用于训练网络模型的数据集,以获得序列切分模型;这里,待预测序列为待进行序列切分的样本序列,序列标注信息为待预测序列的切分序列。
[0193]
s50216、采用待训练序列切分模型,预测待预测序列,获得最高分预测切分序列。
[0194]
需要说明的是,序列切分设备利用搭建后的网络模型即待训练序列切分模型对待预测序列进行序列切分,所获得的切分序列即最高分预测切分序列;待训练序列切分模型为待训练的用于获取n个切分单元对应的序列切分结果的模型。
[0195]
s50217、基于最高分预测切分序列与序列标注信息之间的差异,迭代训练待训练序列切分模型。
[0196]
需要说明的是,最高分预测切分序列为待训练序列切分模型预测出的,序列标注信息为待预测序列的切分序列的标签;从而,为了确定待训练序列切分模型的预测效果,可以通过获取最高分预测切分序列与序列标注信息之间的差异来衡量。在获取到的差异高于差异阈值时,迭代训练待训练序列切分模型。
[0197]
在本技术实施例中,可通过损失函数来获取最高分预测切分序列与序列标注信息之间的差异;比如,通过合页损失函数获取最高分预测切分序列与序列标注信息之间的差异。
[0198]
示例性地,如式(6)所示:
[0199][0200]
其中,ζ为最高分预测切分序列与序列标注信息之间的差异;f(y
*
)为序列标注信息;最高分预测切分序列。
[0201]
s50218、直到满足训练结束条件时,结束训练,获得序列切分模型。
[0202]
需要说明的是,训练结束条件可以为获取到的差异低于差异阈值,还可以是达到了训练次数阈值,等等,本技术实施例对此不作具体限定。这里,序列切分模型为训练好的待训练序列切分模型。
[0203]
在本技术实施例中,s50218之后还包括s50219和s502110;也就是说,序列切分设备获得序列切分模型之后,该序列切分方法还包括s50219和s502110,下面对各步骤分别进
行说明。
[0204]
s50219、获取新的序列样本。
[0205]
需要说明的是,新的序列样本为序列样本之后获得的样本;新的序列样本为用于优化序列切分模型的数据集。
[0206]
s502110、基于新的序列样本,优化序列切分模型。
[0207]
在本技术实施例中,序列切分设备利用新的序列样本优化序列切分模型的过程,与利用序列样本训练待训练序列切分模型的过程类似,本技术实施例对此不作具体限定。
[0208]
相应地,在本技术实施例中,s50214中序列切分设备采用序列切分模型,遍历n个切分单元,包括:采用优化后的序列切分模型,遍历n个切分单元。
[0209]
可以理解的是,在获得了序列切分模型之后,再次获取新的序列样本对序列切分模型进行训练,达到了优化序列切分模型的效果,能够提升优化后的序列切分模型的泛化能力,进而能够提升所确定的切分序列结果的准确度。
[0210]
参见图7,图7是本技术实施例提供的序列切分方法的又一个可选的流程示意图;如图7所示,在本技术实施例中,s501可通过s5011和s5012实现;也就是说,序列切分设备获取包括n个切分单元的待切分序列,包括s5011和s5012,下面对各步骤分别进行说明。
[0211]
s5011、响应于序列切分请求,获取待切分文本。
[0212]
需要说明的是,序列切分请求为序列切分设备响应于接收到的针对待切分文本的序列切分操作而生成的。
[0213]
s5012、遍历待切分文本中的每个待切分句子,将遍历到的待切分句子,确定为包括n个切分单元的待切分序列。
[0214]
在本技术实施例中,序列切分设备对待切分文本进行遍历,对于遍历到的每个待切分句子,即本技术实施例中的包括n个切分单元的待切分序列。
[0215]
继续参见图7,相应地,在本技术实施例中,s504之后还包括s505;也就是说,序列切分设备将最高候选切分序列得分对应的候选切分序列,确定为待切分序列的序列切分结果之后,该序列切分方法还包括s505,下面对该步骤进行说明。
[0216]
s505、当遍历完待切分文本时,获得每个待切分句子对应的序列切分结果构成的文本切分序列。
[0217]
需要说明的是,序列切分设备针对遍历到的每个待切分句子,执行本技术实施例中的序列切分方法,获得对应的序列切分结果;从而,当完成对待切切分文本的遍历时,由于待切分文本包括至少一个待切分句子,从而能够获得与待切分文本对应的至少一个序列切分结果;这里,至少一个序列切分结果即文本切分序列。其中,文本切分序列还可以显示出来。
[0218]
在本技术实施例中,s502还可以通过s5024

s5026实现;也就是说,序列切分设备对n个切分单元进行序列切分,获得与待切分序列对应的候选切分序列得分集合,包括s5024

s5026,下面对各步骤分别进行说明。
[0219]
s5024、对n个切分单元进行各种序列切分,得到各种候选切分序列。
[0220]
需要说明的是,序列切分设备采用穷竭的方法对n个切分单元进行序列切分,也就获得了各种候选切分序列。
[0221]
s5025、针对各种候选切分序列集合中的每个候选切分序列,获取各个切片对应的
各个切片得分。
[0222]
需要说明的是,每个候选切分序列中包括各个切片,序列切分设备对每个切片进行打分,也就获得了与各个切片对应的各个切片得分。
[0223]
s5026、组合各个切片得分,获得每个候选切分序列对应的得分,从而获得候选切分序列得分集合。
[0224]
在本技术实施例中,序列切分设备计算每个候选切分序列的得分时,组合各个切片得分,比如,累加各个切片得分,也就获得了每个候选切分序列对应的得分,从而获得候选切分序列得分集合。
[0225]
需要说明的是,本技术实施例提供的序列切分方法,可作为一个可被调用的应用接口提供服务。
[0226]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0227]
参见图8,图8是本技术实施例提供的一种示例性的序列切分方法的流程示意图;如图8所示,该示例性的序列切分方法所对应的序列切分任务为中文分词,包括:
[0228]
s801、获取输入的细粒度词法单元序列(待切分序列)。
[0229]
这里,细粒度词法单元序列记为x=[x1,x2,

,x
n
](n个切分单元)。
[0230]
s802、获取细粒度词法单元序列的初始状态得分(前1个切分单元对应的切分序列得分)。
[0231]
这里,初始状态得分记为其中,为细粒度词法单元序列x中的第1个元素(前1个切分单元)作为一个切片的可能性。
[0232]
s803、依次获取细粒度词法单元序列中的前2个元素、

、前n个元素对应的最高中文分词得分。
[0233]
需要说明的是,通过依次对细粒度词法单元序列中的前i个元素(前i个切分单元)进行中文分词;当i为n时,所获得的最高中文分词得分即细粒度词法单元序列x的最高中文分词得分(最高候选切分序列得分)。另外,获取前i个元素对应的最高中文分词得分时,将前i个元素对应的切分序列作为前缀x
1,i

j
(第j个切分前缀)和最后一个切片(i

j 1,i)(第j个最后切片)拼接而成的,从而,前i个元素对应的最高中文分词得分可通过式(7)实现,式(7)为:
[0234][0235]
其中,g
i
为前i个元素对应的最高中文分词得分;g
i

j
为前i

j个元素对应的最高中文分词得分;为前i个元素中的后j个元素为一个切片的可能性(第j个切片合并得分)。
[0236]
这里,中文分词对应的一个中文分词序列的得分可通过式(8)实现,式(8)为:
[0237][0238]
其中,u为一个切片在细粒度词法单元序列x中的开始元素标号;v为一个切片在细粒度词法单元序列x中的结束元素标号;为细粒度词法单元序列x中的第u个元素至第v个元素所构成的切片的得分;y为输出的切分序列,称为粗粒度词法单元序列,记为y=[y1,y2,

,y
m
],其中,m是序列的长度,y中的每一项被表示为一个二元组(i
k
,j
k
),(i
k
,j
k
)是短语
的范围,k∈m。
[0239]
s804、基于前n个元素对应的最高中文分词得分,获取对应的中文分词序列(切分序列结果)。这里,可通过式(1)实现。
[0240]
参见图9,图9是本技术实施例提供的另一种示例性的序列切分方法的流程示意图;如图9所示,该示例性的序列切分方法所对应的序列切分任务为命名实体识别,包括:
[0241]
s901、获取输入的细粒度词法单元序列。
[0242]
这里,s901与s801的实现过程一致,本技术实施例在此不再赘述。
[0243]
s902、获取细粒度词法单元序列的初始状态得分(前1个切分单元对应的切分序列得分)。
[0244]
这里,初始状态得分记为其中,为细粒度词法单元序列x中的第1个元素作为一个切片时,对应的标签的最高得分。
[0245]
s903、依次获取细粒度词法单元序列中的前2个元素、

、前n个元素对应的最高命名实体识别得分。
[0246]
需要说明的是,通过依次对细粒度词法单元序列中的前i个元素(前i个切分单元)进行命名实体识别;当i为n时,所获得的最高命名实体识别得分即细粒度词法单元序列x的最高命名实体识别得分(最高候选切分序列得分)。另外,获取前i个元素对应的最高命名实体识别得分时,将前i个元素对应的切分序列作为前缀x
1,i

j
(第j个切分前缀)和最后一个切片(i

j 1,i,t)(第j个最后切片)拼接而成的,从而,前i个元素对应的最高中文分词得分可通过式(9)实现,式(9)为:
[0247][0248]
其中,g
i
为前i个元素对应的最高命名实体识别得分;g
i

j
为前i

j个元素对应的最高命名实体识别得分;为前i个元素中的后j个元素为一个切片的可能性(第j个切片合并得分)。为前i个元素中的后j个元素组成的切片对应的标签的最大概率值(第j个最高切片标签值),可通过式(10)实现,式(10)为:
[0249][0250]
其中,l为所有标签(各个标签);为短语(i

j 1,i)对应的标签为t时的可能性或概率值。
[0251]
需要说明的是,通过预先通过式(10)计算出能够降低式(9)的时间复杂度。
[0252]
此时,每个候选切分序列对应的得分可通过式(11)实现,式(11)为:
[0253][0254]
其中,f(y)为候选切分序列对应的得分;为细粒度词法单元序列x中的第u个元素至第v个元素所构成的切片对应的标签为t时的最高得分。
[0255]
s904、基于前n个元素对应的最高实体识别得分,获取对应的实体识别序列(切分序列结果)。
[0256]
这里,s901

s904可通过伪代码实现:
[0257]
输入:每个切片(u,v,t)的合并得分和标签得分
[0258]
输出:最高得分切分序列和切分序列的最高得分
[0259]
1、初始化
[0260]
2、遍历x中前i个元素(前i个切分单元),i∈[2,3,

,n]
[0261]
3、计算g
i
(可通过式(9)计算)
[0262]
4、获取g
i
对应的切分序列(可通过式(1)实现)
[0263]
5、当i为n时,所获得的g
n
为切分序列的最高得分从而获得最高得分切分序列
[0264]
需要说明的是,槽位抽取与命名实体识别的过程类似,本技术实施例在此不再赘述。
[0265]
参见图10,图10是本技术实施例提供的又一种示例性的序列切分方法的流程示意图;如图10所示,该示例性的序列切分方法所对应的序列切分为词性标注,包括:
[0266]
s1001、获取输入的细粒度词法单元序列。
[0267]
这里,s1001与s801的实现过程一致,本技术实施例在此不再赘述。
[0268]
s1002、获取细粒度词法单元序列的初始状态得分(前1个切分单元对应的切分序列得分)。
[0269]
这里,s1002与s902的实现过程一致,本技术实施例在此不再赘述。
[0270]
s1003、依次获取细粒度词法单元序列中的前2个元素、

、前n个元素对应的最高词性标注得分。
[0271]
需要说明的是,通过依次对细粒度词法单元序列中的前i个元素(前i个切分单元)进行词性标注;当i为n时,所获得的最高词性标注得分即细粒度词法单元序列x的最高词性标注得分(最高候选切分序列得分)。另外,获取前i个元素对应的最高词性标注得分时,同样也是将前i个元素对应的切分序列作为前缀x
1,i

j
(第j个切分前缀)和最后一个切片(i

j 1,i,t)(第j个最后切片)拼接而成的,从而,前i个元素对应的最高词性标注得分可通过式(12)实现,式(12)为:
[0272][0273]
其中,g
i,t
为前i个元素对应的最后切片的标签为t时的最高词性标注得分;g
i

j,t

为前i

j个元素对应的最后切片的标签为t

时的最高词性标注得分;为前i个元素中的后j个元素为一个切片的可能性(第j个切片合并得分);为标签t

与标签t之间的依赖值;为本技术实施例中的第i

j个切分序列得分集合,为本技术实施例中的第j个最高切分序列得分。
[0274]
这里,每个候选切分序列对应的得分可通过式(13)实现,式(13)为:
[0275]
[0276]
其中,为短语(u
k
,v
k
)作为一个切片的可能性;为切片的标签为t
k
时的概率值;为连续q个标签之间的标签依赖,是通过模型训练出的值。
[0277]
s1004、基于前n个元素对应的最高词性标注得分,获取对应的词性标注序列(切分序列结果)。
[0278]
需要说明的是,合并得分(和)和标签得分()和标签得分(和)可基于式(2)

(5)实现。
[0279]
下面继续说明采用本技术实施例提供的序列切分方法的示例性应用。参见图11,图11是本技术实施例提供的一种示例性的序列切分的流程示意图;如图11所示,针对待切分序列11

1:“word cup standings”,在lua模型11

2中,针对每个候选切分序列“[world cup]misc[standings]o”、“[world]o[cup standings]loc”、“[world cup]per[standings]o”、

、“[world]o[cup]musc[standings]o”分别进行打分,最后从lua模型11

2的输出选择得分最高的候选切分序列,获得序列切分结果11

3:“[word cup]misc[standings]o”。
[0280]
可以理解的是,本技术实施例提供的序列切分方法,直接从所有可能的切分序列中搜索最佳切分序列,实现了在待切分序列级别上的序列切分,提升了序列切分的有效性和效率。下面继续说明,采用本技术实施例提供的序列切分方法在数据集上执行各种序列切分任务时的评测结果。
[0281]
参见表1,示出了针对数据集1

1至数据集1

5,基线模型1

1至基线模型1

5、以及本技术实施例提供的序列切分方法对应lua模型在中文分词时的f1值:
[0282]
表1
[0283][0284][0285]
其中,数据集1

1至数据集1

5依次为“as”、“msr”、“cityu”、“pku”和“ctb 6”;基线模型1

1至基线模型1

5依次为“rich pretraining”、“bi

lstm”、“multi

criteria learning bert”、“bert”和“glyce bert”。由表1易知,lua模型在数据集1

1和数据集1

3至数据集1

4上,对应的f1值均是最高的,并且,在“as”上的提升是0.25%,在“cityu”上的提升是0.32%,在“pku”上的提升是0.19%,在“ctb6”上的提升0.54%;在数据集2上,对应的
f1值也是较高的。
[0286]
参见表2,示出了针对数据集2

1至数据集2

4,基线模型2

1至基线模型2

6、以及本技术实施例提供的序列切分方法对应lua模型2

7和lua模型2

8在中文分词时的f1值:
[0287]
表2
[0288] 数据集2

1数据集2

2数据集2

3数据集2

4基线模型2

194.0790.8191.8989.41基线模型2

294.38

92.3489.75基线模型2

395.1491.4392.1390.09基线模型2

495.6191.9292.3890.87基线模型2

596.0694.7792.2994.79基线模型2

696.6195.4193.1596.14lua模型2

796.7995.3993.2296.01lua模型2

897.9696.6393.9597.08
[0289]
其中,数据集2

1至数据集2

4依次为“ctb 5”、“ctb 6”、“ctb 9”和“ud 1”;基线模型2

1和基线模型2

2为不同的“bi

rnn crf”,基线模型2

3至基线模型2

6依次为“lattice

lstm”、“glyce lattice

lstm”、“bert”和“glyce bert”;lua模型2

7为未结合标签依赖的模型,lua模型2

8为结合了标签依赖的模型。由表2易知,lua模型2

8在“ctb 5”上的提升是1.35%,在“ctb 6”上是1.22%,在“ctb 9”上提升是0.8%,在“ud 1”上提升0.94%。此外,lua模型2

7在“ctb 5”和“ctb 9”上分别超过“glyce bert”的百分比是0.18%和0.07%。
[0290]
参见表3,示出了基线模型3

1至基线模型3

6、以及本技术实施例提供的序列切分方法对应lua模型3

7和lua模型3

8,针对数据集3

1分别执行句法分块时的f1值;还示出了基线模型3

1至基线模型3

6、以及本技术实施例提供的序列切分方法对应lua模型3

7和lua模型3

8,针对数据集3

2和数据3

3分别执行命名实体识别ner时的f1值。
[0291]
表3
[0292][0293]
其中,数据集3

1为“conll

2000”,包含11个句法块类型(“np”,“vp”,“pp”等);数据集3

2为“conll

2003”,包含22137个句子,其中训练集,开发集和测试集分别包含14987、3466和3684个句子,包含“per”,“loc”,“org”和“misc”四种实体类型;数据集3

3为“ontonotes 5.0”,包含76714个句子和18种实体类型;基线模型3

1至基线模型3

6依次为“bi

lstm crf”、“flair embeddings”、“gcdt w/bert”、“bert

mrc”、“hcr w/bert”和

bert

biaffine model”;lua模型3

7为未结合标签依赖的模型,lua模型3

8为结合了标签依赖的模型。由表3易知,lua模型3

7在“onto notes 5.0”上,lua超过“bert

biaffine model”的百分比为0.79%并达到了目前最好的效果。在句法分块任务中,lua模型3

7比“gcdt w/bert”效果好,lua模型3

8将效果差提高了0.42个百分点。
[0294]
参见表4,示出了针对数据集4

1至数据集4

3,基线模型4

1至基线模型4

4、以及本技术实施例提供的序列切分方法对应lua模型4

5和lua模型4

6在槽位抽取时的f1值:
[0295]
表4
[0296] 数据集4

1数据集4

2数据集4

3基线模型4

195.2088.3095.12基线模型4

295.4293.90

基线模型4

396.1097.0096.48基线模型4

496.2097.15

lua模型4

696.1597.1097.53lua模型4

796.2797.2097.55
[0297]
其中,数据集4

1至数据集4

3依次为“atis”、“snips”和“mtod”;其中,atis数据集包含了大量飞机票预定时记录的语音文本,训练集和测试集分别包含4478和893条数据;snips数据集由车载语音助手收集的语音数据构成,训练集和测试集分别包含13084和700条数据。“mtod”数据集包含3个领域,包含“alarm”、“reminder”和“weather”,采用的训练集有30521个样本,开发集有4181个样本,测试集有8621个样本。基线模型4

1至基线模型4

4依次为“slot

gated slu”、“bi

lstm emlo”、“joint bert”和“cm

net”;lua模型4

5为未结合意图识别的模型,lua模型4

6为结合了意图识别的模型(是一种基于多任务学习的lua)。由表4易知,lua模型4

6在“atis”上提升0.07%,在“snips”上提升0.05%,在“mtod”上提升1.11%。
[0298]
可以理解的是,本技术实施例提供的序列切分方法,通过从所有可能的切分候选搜索最佳划分,确保的切分序列的有效性。另外,通过使用dp搜索最佳划分,提升了确定最佳划分的效果和可行性。以及通过平行计算,优化了切分时间。此外,本技术的序列切分适用于无标签序列切分场景、有标签序列切分场景和强标签依赖的序列切分场景,适用范围较宽。
[0299]
下面继续说明本技术实施例提供的序列切分装置455的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在存储器450的序列切分装置455中的软件模块可以包括:
[0300]
序列获取模块4551,用于获取包括n个切分单元的待切分序列,其中,n为大于1的整数;
[0301]
序列切分模块4552,用于对所述n个切分单元进行序列切分,获得与所述待切分序列对应的候选切分序列得分集合;其中,所述候选切分序列得分集合为每个候选切分序列对应的候选切分序列得分构成的集合,所述每个候选切分序列中的各个切片组成所述待切分序列,所述候选切分序列得分为所述各个切片对应的各个切片得分的组合;
[0302]
得分获取模块4553,用于获取所述候选切分序列得分集合中的最高候选切分序列得分;
[0303]
结果获取模块4554,用于将所述最高候选切分序列得分对应的候选切分序列,确定为所述待切分序列的序列切分结果。
[0304]
在本技术实施例中,所述序列切分模块4552,还用于遍历所述n个切分单元,基于第1个切分序列得分集合至第i

1个切分序列得分集合,对遍历到的前i个切分单元进行序列切分,获得第i个切分序列得分集合,其中,i为大于1且小于等于n的整数,所述第i个切分序列得分集合为所述前i个切分单元对应的各个切分序列得分;基于所述第1个切分序列得分集合至所述第i个切分序列得分集合,继续对遍历到的前i 1个切分单元进行序列切分,直到遍历完所述n个切分单元时,获得第n个切分序列得分集合,其中,所述第n个切分序列得分集合为与所述待切分序列对应的所述候选切分序列得分集合。
[0305]
在本技术实施例中,所述序列切分模块4552,还用于对遍历到的所述前i个切分单元再次进行遍历,针对遍历到的后j个切分单元,获取对应的第j个切分前缀和第j个最后切片,其中,j为大于0且小于i

1的整数,所述第j个切分前缀为前i

j个切分单元对应的切分序列,所述第j个最后切片为所述后j个切分单元组成的切片;基于所述第1个切分序列得分集合至所述第i

1个切分序列得分集合,确定所述第j个切分前缀和所述第j个最后切片共同对应的第i个切分序列得分;继续遍历后j 1个切分单元,直到遍历完所述前i个切分单元中的后i

1个切分单元时,获得与所述前i个切分单元对应的i

1个第i个切分序列得分,其中,所述第i个切分序列得分集合包括所述i

1个第i个切分序列得分。
[0306]
在本技术实施例中,所述序列切分模块4552,还用于获取所述第j个最后切片对应的第j个最后切片得分;从所述第1个切分序列得分集合至所述第i

1个切分序列得分集合中,获取所述第j个切分前缀对应的第j个最高切分序列得分,其中,所述第j个最高切分序列得分为所述第j个切分前缀对应的最高的切分序列得分;组合所述第j个最高切分序列得分和所述第j个最后切片得分,获得所述第i个切分序列得分。
[0307]
在本技术实施例中,所述序列切分模块4552,还用于获取所述第j个最后切片对应的第j个最后切片特征;基于所述第j个最后切片特征,预测所述第j个最后切片中的至少一个切分单元为一个切片的可行性,获得第j个切片合并得分;基于所述第j个切片合并得分,获得所述第j个最后切片得分。
[0308]
在本技术实施例中,所述序列切分模块4552,还用于基于所述第j个最后切片特征,预测所述第j个最后切片对应于各个标签的各个第j个切片标签值;从所述各个第j个切片标签值中,获取第j个最高切片标签值。
[0309]
在本技术实施例中,所述序列切分模块4552,还用于组合所述第j个切片合并得分和所述第j个最高切片标签值,获得所述第j个最后切片得分。
[0310]
在本技术实施例中,所述序列切分模块4552,还用于获取所述n个切分单元对应的n个切分单元特征;从所述n个切分单元特征中,获取所述第j个最后切片对应的首切分单元特征和尾切分单元特征;结合所述首切分单元特征和所述尾切分单元特征,确定所述第j个最后切片特征。
[0311]
在本技术实施例中,所述序列切分模块4552,还用于获取所述第j个最高切片标签值对应的目标切片标签,其中,所述第j个最后切片与所述目标切片标签为所述序列切分结果中的一个元素;获取所述各个标签分别与所述目标切片标签之间的标签依赖值;从所述第1个切分序列得分集合至所述第i

1个切分序列得分集合中,获取第i

j个最后切片对应
于所述各个标签中的每个标签的最高切分序列得分,其中,所述第i

j个最后切片为所述前i

j个切分单元对应的最后切片;将所述第i

j个最后切片对应于所述每个标签的最高切分序列得分,分别与所述标签依赖值组合,获得第i

j个切分序列得分集合;从所述第i

j个切分序列得分集合中,获得所述第j个最高切分序列得分。
[0312]
在本技术实施例中,所述序列切分模块4552,还用于获取所述n个切分单元中的第1个切分单元对应的切分序列得分,得到第1个切分序列得分集合。
[0313]
在本技术实施例中,所述序列切分模块4552,还用于采用序列切分模型,遍历所述n个切分单元,其中,所述序列切分模型用于获取所述n个切分单元对应的所述序列切分结果。
[0314]
在本技术实施例中,所述序列切分模块4552,还用于获取序列样本,其中,所述序列样本包括待预测序列和序列标注信息;采用待训练序列切分模型,预测所述待预测序列,获得最高分预测切分序列,其中,所述待训练序列切分模型为待训练的用于获取所述n个切分单元对应的所述序列切分结果的模型;基于所述最高分预测切分序列与所述序列标注信息之间的差异,迭代训练所述待训练序列切分模型;直到满足训练结束条件时,结束训练,获得所述序列切分模型。
[0315]
在本技术实施例中,所述序列切分模块4552,还用于获取新的序列样本,其中,所述新的序列样本为所述序列样本之后获得的样本;基于所述新的序列样本,优化所述序列切分模型。
[0316]
在本技术实施例中,所述序列切分模块4552,还用于采用优化后的序列切分模型,遍历所述n个切分单元。
[0317]
在本技术实施例中,所述序列获取模块4551,还用于响应于序列切分请求,获取待切分文本;遍历所述待切分文本中的每个待切分句子,将遍历到的待切分句子,确定为包括所述n个切分单元的所述待切分序列。
[0318]
在本技术实施例中,所述结果获取模块4554,还用于当遍历完所述待切分文本时,获得所述每个待切分句子对应的所述序列切分结果构成的文本切分序列。
[0319]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的序列切分方法。
[0320]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的序列切分方法,例如,如图5示出的序列切分方法。
[0321]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0322]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0323]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0324]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0325]
综上所述,本技术实施例通过获取n个切分单元对应的每个候选切分序列对应的候选切分序列得分,并将最高候选切分序列得分所对应的候选切分序列确定为序列切分结果;实现了以待切分序列为级别的整体化的序列切分,能够保证所获得的序列切分结果的有效性;从而,能够提升序列切分的有效性。另外,还能够提升序列切分的准确性和效率;此外,本技术实施例提供的序列切分方法的适用范围广,泛化能力强。
[0326]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜