一种文本标点预测方法、装置、计算机设备及存储介质与流程

文档序号:17372874发布日期:2019-04-12 22:59阅读:158来源:国知局
一种文本标点预测方法、装置、计算机设备及存储介质与流程
本发明涉及深度学习
技术领域
,尤其涉及一种文本标点预测方法、装置、计算机设备及存储介质。
背景技术
:随着社会和高科技技术的飞速发展,智能家居控制、自动问答、语音助手等自然语言处理得到越来越多的关注。但是,由于口语对话没有标点符号,不能区分语句边界和规范语言结构,因此标点预测是极其重要的自然语言处理任务。在智能电话客服场景中,对于用户的讲话,通过语音识别得到的是无标点无断句的原始话术文本,没有办法直接使用,故而在进一步利用用户的话术之前,需要先对原始话术文本进行标点预测,以便对无标点的文本添加标点。因此,寻找一种能够准确地对话术文本进行标点预测的方法成为本领域技术人员亟需解决的问题。技术实现要素:本发明实施例提供一种文本标点预测方法、装置、计算机设备及存储介质,以解决语音识别得到的话术文本无标点的问题。一种文本标点预测方法,包括:获取无标点的目标文本;对所述目标文本进行分词处理,得到所述目标文本中的各个目标字词;对所述各个目标字词分别进行向量化处理,得到所述各个目标字词对应的各个目标向量;按照所述各个目标字词在所述目标文本中的次序,将所述各个目标向量依次输入至预先训练好的循环神经网络,得到所述循环神经网络依次输出的结果序列,所述结果序列中的各个数值分别表征了所述各个目标字词对应的标点;根据预设的数值标点对应关系分别确定出各个数值对应的各个标点,所述数值标点对应关系记录了数值与标点的一一对应关系;针对所述各个标点中的每个标点,将所述每个标点插入至所述目标文本中与所述每个标点对应目标字词的后面位置,得到标点预测后的话术文本,所述后面位置是指所述目标文本中位于所述目标字词后面、且紧靠所述目标字词的位置。一种文本标点预测装置,包括:目标文本获取模块,用于获取无标点的目标文本;分词处理模块,用于对所述目标文本进行分词处理,得到所述目标文本中的各个目标字词;字词向量化模块,用于对所述各个目标字词分别进行向量化处理,得到所述各个目标字词对应的各个目标向量;向量输入模块,用于按照所述各个目标字词在所述目标文本中的次序,将所述各个目标向量依次输入至预先训练好的循环神经网络,得到所述循环神经网络依次输出的结果序列,所述结果序列中的各个数值分别表征了所述各个目标字词对应的标点;标点确定模块,用于根据预设的数值标点对应关系分别确定出各个数值对应的各个标点,所述数值标点对应关系记录了数值与标点的一一对应关系;标点插入模块,用于针对所述各个标点中的每个标点,将所述每个标点插入至所述目标文本中与所述每个标点对应目标字词的后面位置,得到标点预测后的话术文本,所述后面位置是指所述目标文本中位于所述目标字词后面、且紧靠所述目标字词的位置。一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文本标点预测方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文本标点预测方法的步骤。上述文本标点预测方法、装置、计算机设备及存储介质,首先,获取待标点预测的目标文本;然后,对所述目标文本进行分词处理,得到所述目标文本中的各个目标字词;接着,对所述各个目标字词分别进行向量化处理,得到所述各个目标字词对应的各个目标向量;按照所述各个目标字词在所述目标文本中的次序,将所述各个目标向量依次输入至预先训练好的循环神经网络,得到所述循环神经网络依次输出的结果序列,所述结果序列中的各个数值分别表征了所述各个目标字词对应的标点;再之,根据预设的数值标点对应关系分别确定出各个数值对应的各个标点,所述数值标点对应关系记录了数值与标点的一一对应关系;最后,针对所述各个标点中的每个标点,将所述每个标点插入至所述目标文本中与所述每个标点对应目标字词的后面位置,得到标点预测后的话术文本,所述后面位置是指所述目标文本中位于所述目标字词后面、且紧靠所述目标字词的位置。可见,本发明可以通过预先训练好的循环神经网络准确地对目标文本进行标点预测,完成对无标点文本的标点添加,提升了文本标点预测的效率,以便于后续自然语言处理对文本的直接使用。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明一实施例中文本标点预测方法的一应用环境示意图;图2是本发明一实施例中文本标点预测方法的一流程图;图3是本发明一实施例中文本标点预测方法步骤103在一个应用场景下的流示意程图;图4是本发明一实施例中文本标点预测方法在一个应用场景下训练循环神经网络的流示意程图;图5是本发明一实施例中文本标点预测方法步骤106在一个应用场景下的流示意程图;图6是本发明一实施例中文本标点预测装置在一个应用场景下的结构示意图;图7是本发明一实施例中字词向量化模块的结构示意图;图8是本发明一实施例中文本标点预测装置在另一个应用场景下的结构示意图;图9是本发明一实施例中计算机设备的一示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本申请提供的文本标点预测方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务器进行通信。其中,该客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一实施例中,如图2所示,提供一种文本标点预测方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:101、获取无标点的目标文本;本实施例中,服务器可以根据实际使用的需要或者应用场景的需要获取无标点的目标文本。例如,服务器可以与客户端通信连接,该客户端提供给某场所内的用户咨询问题,用户通过客户端的麦克风输入语音问题,客户端将该语音问题上传给服务器,服务器将该语音问题音转字后得到文本,一般该文本为无标点的目标文本。或者,服务器也可以执行对大批量的话术文本进行标点识别的任务,某数据库预先收集大量的话术文本,然后通过网络将多个话术文本传输给服务器,服务器需要对这些话术文本分别进行标点预测,从而这些话术文本分别为各个待标点预测的、无标点的目标文本。可以理解的是,服务器还可以通过多种方式获取到这些待标点预测的目标文本,对此不再过多赘述。需要说明的是,本实施例所说的文本一般是指话术文本,即由人所说的话通过音转字得到的文本内容。102、对所述目标文本进行分词处理,得到所述目标文本中的各个目标字词;可以理解的是,在进行标点预测时,需要准确把握标点可能出现的位置,而标点的位置又与目标文本中各个字词密切相关,这就需要服务器对所述目标文本进行分词处理,得到所述目标文本中的各个目标字词。举例说明,目标文本为“你好我明天回复你”,经过分词后,可以得到“你好”、“我”、“明天”、“回复”、“你”共5个字词,这5个字词即为所述各个目标字词。特别地,在对目标文本进行分词处理时,可以采用结巴分词等第三方软件实现分词处理,得到各个目标字词。为了减少目标文本中的干扰信息,保证后续分词和投入循环神经网络进行识别的准确性,进一步地,在步骤102之前,本方法还包括:删除所述目标文本中的指定文本,所述指定文本至少包括停用词。可以理解的是,这里所说的停用词可以是指使用频率特别高的单汉字,比如“的”、“了”等无实际语言意义的汉字。执行步骤102之前,服务器可以将目标文本中的指定文本删除,举例说明,假设该指定文本包括停用词,该目标文本中包括文本“我今天来上班了”,服务器可以先将其中的“了”等无实际意义的停用词删除,从而得到删除后的文本“我今天来上班”。103、对所述各个目标字词分别进行向量化处理,得到所述各个目标字词对应的各个目标向量;在得到各个目标字词后,为了便于后续循环神经网络的识别和学习,服务器需要对所述各个目标字词分别进行向量化处理,即将字词转化为向量的方式表示,从而得到所述各个目标字词对应的各个目标向量。具体地,服务器可以将每个目标字词以一维矩阵(一维向量)的形式记载。为便于理解的,在一个具体应用场景下,如图3所示,进一步地,所述步骤103具体可以包括:201、针对所述各个目标字词中的每个目标字词,检索预设的字典中是否记录有所述每个目标字词,若是,则执行步骤202,若否,则执行步骤203,所述字典记录了字词与一维向量之间的对应关系;202、获取与所述每个目标字词对应的一维向量;203、通过加载第一第三方平台的词向量,将所述每个目标字词转化为第一向量;204、通过加载第二第三方平台的词向量,将所述每个目标字词转化为第二向量;205、拼接所述第一向量和第二向量,得到一个一维向量作为所述每个目标字词对应的一维向量;206、将拼接得到的所述一维向量和与之对应的目标字词记录至所述字典。对于上述步骤201,服务器在将各个目标字词转化为向量时,可以逐个对这些目标字词进行转化,也可以采用多线程的方式同时对多个目标字词进行转化,每个线程同一时间对一个目标字词进行向量转化。具体地,针对每个目标字词进行向量转化过程中,首先,服务器可以检索预设的字典中是否记录有该目标字词。这里需要说明的是,为了便于实现对字词到向量的转化,服务器可以预先设有字典,该字典记录了字词与一维向量之间的一一对应关系。例如,可以设置“你好”与“1号向量”对应,“我”与“2号向量”对应,“明天”与“3号向量”对应,“回复”与“4号向量”对应,“你”与“5号向量”对应……,通过尽可能穷尽所有字词来完善该字典,从而当需要转化该目标文本中的各个目标字词时,服务器可以采用预设的字典将所述目标文本中各个目标字词转化为各个一维向量。因此,若服务器检测到字典中记录有该目标字词,说明该字典中也记录有该目标字词对应的一维向量,反之,则不记录有与该目标字词对应的一维向量。对于上述步骤202,可以理解的是,若检测发现预设的字典中记录有所述每个目标字词,则说明该字典中记录有所述每个目标字词对应的一维向量,因此,服务器可以从字典中获取到与所述每个目标字词对应的一维向量。对于上述步骤203,可以理解的是,若检测发现预设的字典中没有记录有所述每个目标字词,则说明该字典中没有记录所述每个目标字词对应的一维向量。这是因为,服务器预设字典时往往难以穷尽所有字词,即便花费大量成本穷尽所有字词记录到字典中,由于当前社会信息量每日剧增,几乎每天均会产生新的字词,比如网络用语,因此预设的字典也存在没有收录某些字词的情况。面对这种情况,本实施例中可以在使用时一边实现对目标字词的向量转化,一边补充新增字词到字典中以完善字典。具体地,服务器先通过加载第一第三方平台的词向量,将所述每个目标字词转化为第一向量。可知,由于第三方平台往往更新及时,因此在其上加载的词向量一般会涵盖了所有当前可能出现的字词,因此可以实现将该目标字词转化为第一向量。对于上述步骤204,为了增加向量转化的准确性,降低误差率,本实施例还通过加载第二第三方平台的词向量,将所述每个目标字词转化为第二向量。可知,第二第三方平台与第一第三方平台为两个不同的平台,在各自上加载的词向量也不相同。对于上述步骤205,服务器在得到第一向量和第二向量后,可以所述第一向量和第二向量,得到一个一维向量作为所述每个目标字词对应的一维向量。具体地,可以将同一个字词对应的第一向量和第二向量一前一后拼接起来,即第一向量的尾部紧接上第二向量的头部,从而得到一个新的一维向量。可知,由于第一向量和第二向量来自不同平台的两个词向量,因此两者存在不同,本实施例将两个平台的转化规则整合到一起,从整体上可以减少向量转化的误差,通知也保证了每个一维向量均具有足够的长度,提高后续使用的准确性。需要说明的是,由于每个字词对应的一维向量需要作为输入投入到循环神经网络中,因此,这些字词的一维向量应当长度一致。在步骤203-205中,第一向量、第二向量和拼接后的向量的向量长度预先设定,一般来说,第一向量、第二向量的长度为拼接后的向量的长度的一半。比如,假设在本实施例中每个目标字词对应的一维向量的长度为40,则第一向量的向量长度为20,第二向量的向量长度为20。当然,长度20应当比第一第三方平台和第二第三方平台对词向量的长度预设值要大,这样,在步骤203或步骤204中,当加载第三方平台的词向量得到该目标字词对应的一维向量后,加载得到的一维向量不足20,可以在其后补零,填充至长度20,从而转化得到该第一向量。举例说明,假设执行步骤203,某目标字词加载第一第三方平台的词向量,得到一维向量[1,2,3,……18],共18个元素,补零后得到第一向量为[1,2,3,……18,0,0]。同理,假设执行步骤204,最终得到的第二向量为[18,17,16,……,2,1,0,0],则执行步骤205,将两者拼接,得到该目标字词对应的一维向量[1,2,3,……18,0,0,18,17,16,……,2,1,0,0]。另一方面,容易理解的是,本实施例中预设的字典中的各个字词对应的一维向量的向量长度也应当一致,且与步骤205得到的目标字词对应的一维向量的向量长度也一致。对于上述步骤206,可以理解的是,拼接得到的该一维向量相对该预设的字典来说是新的一维向量,因此,为便于完善该字典,便于后续使用该字典时能提高字词的检索成功率,服务器可以将拼接得到的所述一维向量和与之对应的目标字词记录至所述字典。104、按照所述各个目标字词在所述目标文本中的次序,将所述各个目标向量依次输入至预先训练好的循环神经网络,得到所述循环神经网络依次输出的结果序列,所述结果序列中的各个数值分别表征了所述各个目标字词对应的标点;在得到各个目标字词对应的各个目标向量之后,服务器可以按照所述各个目标字词在所述目标文本中的次序,将所述各个目标向量依次输入至预先训练好的循环神经网络,得到所述循环神经网络依次输出的结果序列,其中,所述结果序列中的各个数值分别表征了所述各个目标字词对应的标点。例如,假设该目标文本对应的目标向量共5个,分别为1-5号向量,则在执行步骤104时,先将1号向量输入至该循环神经网络,然后将2号向量输入至该循环神经网络,随后是3号向量、4号向量和5号向量;同时,可知在1号向量输入至该循环神经网络没多久,该循环神经网络会输出与该1号向量对应的数值,随后会输出与该2号向量对应的数值,以及输出与该3号向量对应的数值、4号向量对应的数值、5号向量对应的数值。因此,该循环神经网络依次输出的5个数值组成了该结果序列。需要说明的是,服务器预先设置好每个数值与标点之间的对应关系,具体可以根据实际情况需要设定。例如,在一个应用场景下,可以将数值与标点的对应关系设置如下表一所示:表一标点空格句号逗号问号数值0123可知,上述标点的种类可以根据实际情况的需要增多或减少,并且,哪一数值与哪一标点对应可以根据需要设定,只需保证该循环神经网络训练时和使用时均采用同一套对应关系即可。为便于理解,下面将对循环神经网络的训练过程进行详细描述。如图4所示,进一步地,所述循环神经网络可以通过以下步骤预先训练好:301、收集多个带标点的话术文本;302、将收集到的各个话术文本中的标点与文本分离,得到各个样本文本和与所述各个样本文本对应的各个标点集合;303、针对每个标点集合,根据预设的数值标点对应关系分别确定出所述每个标点集合中各个标点对应的第一数值,并以各个所述第一数值组成与所述每个标点集合对应的标准序列,所述数值标点对应关系记录了数值与标点的一一对应关系;304、对所述样本文本分别进行分词处理,得到各个所述样本文本中的各个样本字词;305、对各个所述样本文本中的各个样本字词分别进行向量化处理,得到与所述各个样本字词对应的各个样本向量;306、针对各个所述样本文本中每个样本文本,按照各个样本字词在每个样本文本中的次序,将各个样本向量依次输入至循环神经网络进行训练,得到所述循环神经网络依次输出的样本序列,所述样本序列中的各个数值分别表征了所述各个样本字词对应的标点;307、以输出的所述样本序列作为调整目标,调整所述循环神经网络的参数,以最小化得到的所述样本序列与所述每个样本文本对应的标准序列之间的误差;308、若所述样本序列与所述每个样本文本对应的标准序列之间的误差满足预设的训练终止条件,则确定所述循环神经网络已训练好。对于上述步骤301,本实施例中,工作人员可以在不同应用场景下收集大量的话术文本,比如,可以收集用户咨询问题时的话术文本、收集用户投诉时的话术文本、收集用户闲聊时的话术文本、等等。在收集话术文本时,服务器可以通过专业知识库、网络数据库等渠道收集大量的、原始的话术文本。需要说明的是,这些话术文本需要带有标点,收集的原始话术文本若不带有标点,可以人工为其添加上标点。对于上述步骤302,在训练时,输入的是不带有标点的话术文本,因此服务器可以将收集到的各个话术文本中的标点与文本分离,得到各个样本文本和与所述各个样本文本对应的各个标点集合。例如,某个收集到的话术文本为“你们有什么产品?”,将这个话术文本分离后可以得到样本文本“你们有什么产品”以及标点集合“?”(问号前面有四个空格)。对于上述步骤303,可以理解的是,为了便于后续步骤的处理,在步骤302从话术文本中分离出标点集合后,服务器还可以将这些标点集合转化成以由数值组成的序列,即标准序列。具体地,根据上面所说的数值标点对应关系将每个标点集合中的各个标点转换为第一数值,然后将这些第一数值排列得到标准序列。举例说明,例如上述标点集合“?”,参照上述表一所示的对应关系可以得到标准序列为“00003”。对于上述步骤304,与上述步骤102同理,在进行循环神经网络训练之前,同样需要对这些样本文本进行分词处理。因此,服务器可以对所述样本文本分别进行分词处理,得到各个所述样本文本中的各个样本字词。举例说明,样本文本为“你们有什么产品”,经过分词后,可以得到“你们”、“有”、“什么”、“产品”共4个样本字词。特别地,在对样本文本进行分词处理时,可以采用结巴分词等第三方软件实现分词处理,得到各个样本字词。为了减少样本文本中的干扰信息,保证后续分词和投入循环神经网络进行训练的准确性,进一步地,在步骤304之前,本方法还包括:删除所述样本文本中的指定文本,所述指定文本至少包括停用词。可以理解的是,这里所说的停用词可以是指使用频率特别高的单汉字,比如“的”、“了”等无实际语言意义的汉字。执行步骤304之前,服务器可以将样本文本中的指定文本删除,举例说明,假设该指定文本包括停用词,该样本文本中包括文本“我今天来上班了”,服务器可以先将其中的“了”等无实际意义的停用词删除,从而得到删除后的文本“我今天来上班”。对于上述步骤305,与上述步骤103同理,在得到各个样本字词后,为了便于后续循环神经网络的识别和学习,服务器需要对所述各个样本字词分别进行向量化处理,即将字词转化为向量的方式表示,从而得到所述各个样本字词对应的各个目标向量。具体地,服务器可以将每个样本字词以一维矩阵(一维向量)的形式记载。对于上述步骤306,可以理解的是,在训练循环神经网络时,针对各个所述样本文本中每个样本文本进行分别训练。服务器可以按照各个样本字词在每个样本文本中的次序,将各个样本向量依次输入至循环神经网络进行训练,得到所述循环神经网络依次输出的样本序列,其中,所述样本序列中的各个数值分别表征了所述各个样本字词对应的标点。例如,假设某个样本文本的样本向量共4个,分别为1-4号向量,则在执行步骤306时,先将1号向量输入至该循环神经网络,然后将2号向量输入至该循环神经网络,随后是3号向量、4号向量;同时,可知在1号向量输入至该循环神经网络没多久,该循环神经网络会输出与该1号向量对应的数值,随后会输出与该2号向量对应的数值,以及输出与该3号向量对应的数值、4号向量对应的数值。因此,该循环神经网络依次输出的4个数值组成了该样本序列。需要说明的是,所述样本序列中的各个数值分别表征了所述各个样本字词对应的标点,数字和标点之间的对应关系由服务器预先设置好,与上述步骤104所述的内容相同,此处不再赘述。特别地,本实施例中,该循环神经网络具体可以选用双向lstm(longshorttermmemory),lstm可以克服传统的rnn(recurrentneuralnetwork)无法处理远距离依赖的缺点。lstm有三个门,分别为忘记门、输入门和输出门。其中,首先忘记门代表从上一个细胞状态丢弃的信息,取值为从0到1,取值越小表明要丢弃的信息越多。紧接着的输入门代表了让多少新的信息加入到细胞状态去。最后的输出门会根据当前细胞状态和新的信息得到对应的输出,并更新细胞状态。对于上述步骤307,可以理解的是,在训练循环神经网络的过程中,需要调整该循环神经网络的参数。比如,循环神经网络的网络结构主要包括循环层、池化层、随机失活层、正则化层和softmax层,每层中均设有若干个参数,在一个样本训练过程中,通过调整这些参数可以影响循环神经网络的输出结果。举例说明,假设针对某个样本文本“你们有什么产品”,将该样本文本中4个样本字词对应的样本向量依次输入该循环神经网络后,该循环神经网络输出的样本序列为[00104],而该样本文本对应的标准序列为[00003],服务器可以检测得知两者存在误差,为此,服务器可以通过调整该循环神经网络的参数,尽量使得循环神经网络输出的结果接近[00003]。在执行步骤307调整循环神经网络的参数时,也可以通过现有的反向传播算法进行调整,对此不再展开描述。对于上述步骤308,服务器可以判断所述样本序列与所述每个样本文本对应的标准序列之间的误差是否满足预设的训练终止条件,若满足,则说明该循环神经网络中的各个参数已经调整到位,可以确定该循环神经网络已训练完成;反之,若不满足,则说明该循环神经网络还需要继续训练。其中,该训练终止条件可以根据实际使用情况预先设定,具体地,可以将该训练终止条件设定为:若所述样本序列与所述每个样本文本对应的标准序列之间的误差均小于指定误差值,则认为其满足该预设的训练终止条件。或者,也可以将其设为:使用验证集中的话术文本执行上述步骤306-307,若循环神经网络输出的样本序列与标准序列之间的误差在一定范围内,则认为其满足该预设的训练终止条件。其中,该验证集中的话术文本的收集与上述步骤301类似,具体地,可以执行上述步骤301收集得到大量话术文本后,将收集得到的话术文本中的一定比例划分为训练集,剩余的话术文本划分为验证集。比如,可以将收集得到的话术文本中随机划分80%作为后续训练循环神经网络的训练集的样本,将其它的20%划分为后续验证循环神经网络是否训练完成,也即是否满足预设训练终止条件的验证集的样本。105、根据预设的数值标点对应关系分别确定出各个数值对应的各个标点,所述数值标点对应关系记录了数值与标点的一一对应关系;在得到该循环神经网络输出的结果序列后,服务器可以根据预设的数值标点对应关系分别确定出各个数值对应的各个标点。例如,假设将“你好我明天回复你”对应的各个目标向量输入该循环神经网络后,得到结果序列为[20001],则根据上述表一的对应关系可以得到该结果序列对应的5个标点分别为“,”、空格、空格、空格、“。”。106、针对所述各个标点中的每个标点,将所述每个标点插入至所述目标文本中与所述每个标点对应目标字词的后面位置,得到标点预测后的话术文本,所述后面位置是指所述目标文本中位于所述目标字词后面、且紧靠所述目标字词的位置。可以理解的是,在确定出各个标点后,服务器将这些标点插入到目标文本的相应位置,即可得到标点预测后的话术文本,完成对目标文本的标点添加。承接上述举例,在得到“,。”这5个标点后,将其添加至目标文本“你好我明天回复你”中,得到话术文本“你好,我明天回复你。”为便于理解,如图5所示,进一步地,上述步骤106具体可以包括:401、将所述结果序列中的第一个标点确定为当前标点;402、将所述目标文本中的第一个目标字词确定为当前字词;403、将所述当前标点插入至所述目标文本中当前字词与下一字词之前的位置,所述下一字词是指所述目标文本中所述当前字词的下一个字词;404、若所述当前标点不是所述结果序列的最后一个标点,则将所述结果序列中当前标点的下一个标点确定为新的当前标点,且将所述目标文本中当前字词的下一个字词确定为新的当前字词,再返回执行步骤403;405、若所述当前标点是所述结果序列的最后一个标点,则确定所述目标文本为标点预测后的话术文本。对于上述步骤401,承接上述举例,该结果序列为[20001],其第一个标点为“,”,将“,”确定为当前标点。对于上述步骤402,该目标文本为“你好我明天回复你”,其第一个目标字词为“你好”,从而将“你好”确定为当前字词。对于上述步骤403,将“,”插入到“你好”后面,从而该目标文本更新为“你好,我明天回复你”。此时,下一字词是“你好”后面的“我”。对于上述步骤404,服务器判断得知“,”并非结果序列的最后一个标点,因此可以将“”(空格)确定为新的当前标点,将“我”确定为新的当前字词,并返回执行步骤403。可知,在执行步骤403时,将“”插入到“我”后面,从而该目标文本更新为“你好,我明天回复你”。然后,服务器继续判断得知“”也不是结果序列的最后一个节点,因此可以将“”(第2个空格)确定为新的当前标点,将“明天”确定为新的当前字词,以此类推。直到当前标点为“。”时,服务器判断得知“。”为该结果序列的最后一个标点,因此执行步骤405。对于上述步骤405,当当前标点为“。”时,说明该结果序列中的全部标点均已添加至该目标文本中,此时目标文本更新为“你好,我明天回复你。”,可见,该目标文本已经完成了标点预测和添加,从而服务器可以确定所述目标文本为标点预测后的话术文本。本发明实施例中,首先,获取待标点预测的目标文本;然后,对所述目标文本进行分词处理,得到所述目标文本中的各个目标字词;接着,对所述各个目标字词分别进行向量化处理,得到所述各个目标字词对应的各个目标向量;按照所述各个目标字词在所述目标文本中的次序,将所述各个目标向量依次输入至预先训练好的循环神经网络,得到所述循环神经网络依次输出的结果序列,所述结果序列中的各个数值分别表征了所述各个目标字词对应的标点;再之,根据预设的数值标点对应关系分别确定出各个数值对应的各个标点,所述数值标点对应关系记录了数值与标点的一一对应关系;最后,针对所述各个标点中的每个标点,将所述每个标点插入至所述目标文本中与所述每个标点对应目标字词的后面位置,得到标点预测后的话术文本,所述后面位置是指所述目标文本中位于所述目标字词后面、且紧靠所述目标字词的位置。可见,本发明可以通过预先训练好的循环神经网络准确地对目标文本进行标点预测,完成对无标点文本的标点添加,提升了文本标点预测的效率,以便于后续自然语言处理对文本的直接使用。应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。在一实施例中,提供一种文本标点预测装置,该文本标点预测装置与上述实施例中文本标点预测方法一一对应。如图6所示,该文本标点预测装置包括目标文本获取模块501、分词处理模块502、字词向量化模块503、向量输入模块504、标点确定模块505和标点插入模块506。各功能模块详细说明如下:目标文本获取模块501,用于获取无标点的目标文本;分词处理模块502,用于对所述目标文本进行分词处理,得到所述目标文本中的各个目标字词;字词向量化模块503,用于对所述各个目标字词分别进行向量化处理,得到所述各个目标字词对应的各个目标向量;向量输入模块504,用于按照所述各个目标字词在所述目标文本中的次序,将所述各个目标向量依次输入至预先训练好的循环神经网络,得到所述循环神经网络依次输出的结果序列,所述结果序列中的各个数值分别表征了所述各个目标字词对应的标点;标点确定模块505,用于根据预设的数值标点对应关系分别确定出各个数值对应的各个标点,所述数值标点对应关系记录了数值与标点的一一对应关系;标点插入模块506,用于针对所述各个标点中的每个标点,将所述每个标点插入至所述目标文本中与所述每个标点对应目标字词的后面位置,得到标点预测后的话术文本,所述后面位置是指所述目标文本中位于所述目标字词后面、且紧靠所述目标字词的位置。如图7所示,进一步地,所述字词向量化模块503可以包括:字词检索单元5031,用于针对所述各个目标字词中的每个目标字词,检索预设的字典中是否记录有所述每个目标字词,所述字典记录了字词与一维向量之间的对应关系;一维向量获取单元5032,用于若预设的字典中记录有所述每个目标字词,则获取与所述每个目标字词对应的一维向量;第一向量转化单元5033,用于若预设的字典中没有记录有所述每个目标字词,则通过加载第一第三方平台的词向量,将所述每个目标字词转化为第一向量;第二向量转化单元5034,用于通过加载第二第三方平台的词向量,将所述每个目标字词转化为第二向量;向量拼接单元5035,用于拼接所述第一向量和第二向量,得到一个一维向量作为所述每个目标字词对应的一维向量;字典记录单元5036,用于将拼接得到的所述一维向量和与之对应的目标字词记录至所述字典。如图8所示,进一步地,所述循环神经网络可以通过以下模块预先训练好:文本收集模块507,用于收集多个带标点的话术文本;标点文本分离模块508,用于将收集到的各个话术文本中的标点与文本分离,得到各个样本文本和与所述各个样本文本对应的各个标点集合;第一数值确定模块509,用于针对每个标点集合,根据预设的数值标点对应关系分别确定出所述每个标点集合中各个标点对应的第一数值,并以各个所述第一数值组成与所述每个标点集合对应的标准序列,所述数值标点对应关系记录了数值与标点的一一对应关系;样本分词模块510,用于对所述样本文本分别进行分词处理,得到各个所述样本文本中的各个样本字词;样本向量化模块511,用于对各个所述样本文本中的各个样本字词分别进行向量化处理,得到与所述各个样本字词对应的各个样本向量;样本输入模块512,用于针对各个所述样本文本中每个样本文本,按照各个样本字词在每个样本文本中的次序,将各个样本向量依次输入至循环神经网络进行训练,得到所述循环神经网络依次输出的样本序列,所述样本序列中的各个数值分别表征了所述各个样本字词对应的标点;网络参数调整模块513,用于以输出的所述样本序列作为调整目标,调整所述循环神经网络的参数,以最小化得到的所述样本序列与所述每个样本文本对应的标准序列之间的误差;训练完成模块514,用于若所述样本序列与所述每个样本文本对应的标准序列之间的误差满足预设的训练终止条件,则确定所述循环神经网络已训练好。进一步地,所述文本标点预测装置还可以包括:指定文本删除模块,用于删除所述样本文本中的指定文本,所述指定文本至少包括停用词。进一步地,所述标点插入模块可以包括:第一确定单元,用于将所述结果序列中的第一个标点确定为当前标点;第二确定单元,用于将所述目标文本中的第一个目标字词确定为当前字词;插入标点单元,用于将所述当前标点插入至所述目标文本中当前字词与下一字词之前的位置,所述下一字词是指所述目标文本中所述当前字词的下一个字词;标点循环处理单元,用于若所述当前标点不是所述结果序列的最后一个标点,则将所述结果序列中当前标点的下一个标点确定为新的当前标点,且将所述目标文本中当前字词的下一个字词确定为新的当前字词,再次触发所述插入标点单元;插入完成单元,用于若所述当前标点是所述结果序列的最后一个标点,则确定所述目标文本为标点预测后的话术文本。关于文本标点预测装置的具体限定可以参见上文中对于文本标点预测方法的限定,在此不再赘述。上述文本标点预测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储文本标点预测方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文本标点预测方法。在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中文本标点预测方法的步骤,例如图2所示的步骤101至步骤106。或者,处理器执行计算机程序时实现上述实施例中文本标点预测装置的各模块/单元的功能,例如图6所示模块501至模块506的功能。为避免重复,这里不再赘述。在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中文本标点预测方法的步骤,例如图2所示的步骤101至步骤106。或者,计算机程序被处理器执行时实现上述实施例中文本标点预测装置的各模块/单元的功能,例如图6所示模块501至模块506的功能。为避免重复,这里不再赘述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1