公开/公告号CN112667769A
专利类型发明专利
公开/公告日2021-04-16
原文格式PDF
申请/专利权人 广州慧睿思通科技股份有限公司;
申请/专利号CN201910944700.9
发明设计人 李斌;
申请日2019-09-30
分类号G06F16/33(20190101);G06N3/04(20060101);G06N3/08(20060101);G06N20/00(20190101);
代理机构44481 深圳智汇远见知识产权代理有限公司;
代理人王旭
地址 510000 广东省广州市番禺区南村镇北大街2号之八
入库时间 2023-06-19 10:38:35
技术领域
本发明涉及计算机算法领域,尤其涉及一种基于机器学习的文本断句方法、系统及计算机存储介质。
背景技术
近些年来,随着计算机技术的进步和科技的发展,人工智能技术进入了我们生活的方方面面,而作为其主要分支之一的自然语言处理技术更是极大地方便了我们的生活。
然而,在某些场合的文本信息往往不够规范,比如充满网络用语、滥用各种同音字、省略或滥用标点符号等等。这对于某些要求规范输入或者宽容度较低的自然语言处理方法将会造成很大的困扰。
因此,需要提供一种基于机器学习的文本断句方法、系统及计算机存储介质来解决现有技术的不足。
发明内容
为了解决现有技术中的问题,本发明提供了一种基于机器学习的文本断句方法、系统及计算机存储介质。
本申请提供了一种基于机器学习的文本断句方法,包括:
获取各种文本创建文本库;
将所述文本库中的所有连续文本作为训练样本,构建训练集;
将所述训练集输入到机器学习模型中构建训练集模型;
将预设文本输入到所述训练集模型中进行训练,得到断句文本。
进一步地,将所述文本库中的所有连续文本作为训练样本,构建训练集,包括:
按照预设规则为每一种标点符号对应一个非零数字;
在所述训练样本前添加一个填充字符;
将训练样本中的每个字符对应一个数字,构成训练集;非标点符号的字符对应的数字为0。
进一步地,在将预设文本输入到所述训练集模型中进行训练,得到断句文本之前,所述方法还包括:
将待断句的文本中的标点符号和空格移除,得到无标点符号文本,并将所述标点符号和空格存储在预设存储空间中;
在所述无标点符号文本的文本前添加一个填充字符,得到预设文本。
进一步地,将预设文本输入到所述训练集模型中进行训练,得到断句文本,包括:
将预设文本输入到所述训练集模型中进行训练,得到训练后的数字串;
提取所述数字串中的非零数字,得到非零数字串;
按照预设规则将所述非零数字串对应成各个标点符号;
将所述标点符号带入到预设文本中,得到断句文本。
进一步地,在将所述标点符号带入到预设文本中,得到断句文本之前,所述方法还包括:
通过存储在预设存储空间中的标点符号和空格校准所述各个标点符号。
进一步地,通过存储在预设存储空间中的标点符号和空格校准所述各个标点符号,包括:
将所述各个标点符号与存储在预设存储空间中的标点符号和空格进行比对;
挑选出经过比对后不同的标点符号;
根据所述预设文本的文本内容,选择出待定标点符号;
将相同的标点符号以及所述待定标点符号放入到预设文本中,得到断句文本。
本发明还提供了一种基于机器学习的文本断句系统,包括:
获取模块,用于获取各种文本创建文本库;
第一构建模块,用于将所述文本库中的所有连续文本作为训练样本,构建训练集;
第二构建模块,用于将所述训练集输入到机器学习模型中构建训练集模型;
确定模块,用于将预设文本输入到所述训练集模型中进行训练,得到断句文本。
进一步地,所述第一构建模块包括:
第一对应子模块,用于按照预设规则为每一种标点符号对应一个非零数字;
添加子模块,用于在所述训练样本前添加一个填充字符;
构建子模块,用于将训练样本中的每个字符对应一个数字,构成训练集;非标点符号的字符对应的数字为0。
进一步地,所述系统还包括:
移除模块,用于将待断句的文本中的标点符号和空格移除,得到无标点符号文本,并将所述标点符号和空格存储在预设存储空间中;
添加模块,用于在所述无标点符号文本的文本前添加一个填充字符,得到预设文本。
本发明还提供了一种计算机存储介质,所述计算机存储介质上存储有基于机器学习的文本断句方法程序,所述基于机器学习的文本断句方法程序被处理器执行时实现上述任一所述的基于机器学习的文本断句方法的步骤。
本发明的技术方案与最接近的现有技术相比具有如下优点:
本发明提供的技术方案首先获取各种文本创建文本库,然后将文本库中的所有连续文本作为训练样本,构建训练集,再将训练集输入到机器学习模型中构建训练集模型,最后将预设文本输入到上述训练集面模型中进行训练,得到断句文本。本发明提供的技术方案采用机器学习进行训练模型的构建,极大地提高了断句的处理效率和准确率,增大了业务的吞吐量。
附图说明
图1是本发明实施例中基于机器学习的文本断句方法流程图;
图2是本发明实施例中基于机器学习的文本断句系统示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所述,本申请提供了一种基于机器学习的文本断句方法。该基于机器学习的文本断句方法可以包括以下步骤:
获取各种文本创建文本库;
将所述文本库中的所有连续文本作为训练样本,构建训练集;
将所述训练集输入到机器学习模型中构建训练集模型;
将预设文本输入到所述训练集模型中进行训练,得到断句文本。
在本申请实施例中,首先获取各种文本创建文本库,然后将文本库中的所有连续文本作为训练样本,构建训练集,再将训练集输入到机器学习模型中构建训练集模型,最后将预设文本输入到上述训练集面模型中进行训练,得到断句文本。本发明提供的技术方案采用机器学习进行训练模型的构建,极大地提高了断句的处理效率和准确率,增大了业务的吞吐量。
在本申请的一个可能的实施方式中,将所述文本库中的所有连续文本作为训练样本,构建训练集,具体包括:
按照预设规则为每一种标点符号对应一个非零数字;
在所述训练样本前添加一个填充字符;
将训练样本中的每个字符对应一个数字,构成训练集;非标点符号的字符对应的数字为0。
具体地,首先按照预设规则为每一种标点符号对应一个非零数字,例如:“。”对应“1”、“,”对应“2”、“;”对应“3”等等。然后在训练样本前添加一个填充字符,最后将训练样本中的每个字符都对应一个数字,构成训练集,也就是,该训练集是一个纯数字的标签。
其中非标点符号的字符对应的数字为0,也就是,文字对应的数字为“0”。
在本申请的一个可能的实施方式中,在将预设文本输入到所述训练集模型中进行训练,得到断句文本之前,所述方法还包括:
将待断句的文本中的标点符号和空格移除,得到无标点符号文本,并将所述标点符号和空格存储在预设存储空间中;
在所述无标点符号文本的文本前添加一个填充字符,得到预设文本。
在本申请实施例中,首先将待断句的文本中的标点符号和空格等移除,移除到预设存储空间中,得到无标点符号文本,然后在该无标点符号文本的文本前添加一个填充字符,得到预设文本。将待断句文本做移除标点的处理,以便输入到训练集模型中进行断句处理,而移除的标点保存起来,可以做后续断句处理完成后的校准,使得断句更加准确。
在本申请的一个可能的实施方式中,价格预设文本输入到所述训练集模型中进行训练,得到断句文本,具体包括:
将预设文本输入到所述训练集模型中进行训练,得到训练后的数字串;
提取所述数字串中的非零数字,得到非零数字串;
按照预设规则将所述非零数字串对应成各个标点符号;
将所述标点符号带入到预设文本中,得到断句文本。
在本申请实施例中,首先将预设文本输入到上述得到的训练集模型中进行训练,得到训练后的数字串,然后将该数字串中的非零数组提取出来,得到非零数字串,按照预设规则将该非零数组串对应成各个标点符号,最后将标点符号带入到预设文本中,得到断句文本。本申请实施例,将预设文本进行训练得到数字串,然后再对应成相应的标点,带回到预设文本中,得到断句文本。
在本申请的一个可能的实施方式中,在将所述标点符号带入到预设文本中,得到断句文本之前,所述方法还包括:
通过存储在预设存储空间中的标点符号和空格校准所述各个标点符号。
也就是,通过上述存储的移除的标点符号和空格对训练得到的标点符号进行校准,使得断句更加准确。
在本申请的一个可能的实施方式中,通过存储在预设存储空间中的标点符号和空格校准所述各个标点符号,具体包括:
将所述各个标点符号与存储在预设存储空间中的标点符号和空格进行比对;
挑选出经过比对后不同的标点符号;
根据所述预设文本的文本内容,选择出待定标点符号;
将相同的标点符号以及所述待定标点符号放入到预设文本中,得到断句文本。
在本申请实施例中,将移除的标点符号与训练得到的标点符号进项比对,然后将其中的不同挑选出来,再根据原文的语义进行标点符号的确定,最后得到校准后的断句文本。通过该校准方式,使得断句更加准确,效率更高。
本申请的具体流程如下所示:
首先,获取各种文本创建文本库,也就是原始数据准备阶段。
具体地,获取的方式可以是通过网络或其他途径爬取包含完整汉语句子在内的文本,包括但不限于:中文维基百科内容、百度百科内容、历年的人民日报新闻文本、公开的中文小说、各大门户网站包含标准字符的各种文本。
然后,对获取的文本数据进行预处理。
也就是,将上述步骤中准备的大段的文本数据切分成各个短句以用于模型的训练。为了保证不发生数据泄露,在截取时使用固定长度来截取文本,使得标点符号(例如句号、问号等)不总是落在样本末尾。在截取剩余的文本不足固定长度时,亦可直接归入处理后的样本中。因为之后会进行填充,所以固定长度并非必要条件。
在本申请的一个具体实施例中,给所有的标点符号都对应一个非零数字,从1开始,每一种标点符号对应一个非零数字。
例如:“。”对应“1”、“,”对应“2”、“;”对应“3”等等。
然后在样本前加入一格填充字符,之后删除掉样本中的所有标点,此样本对应的标签是与样本字数长度等长的数字序列,其中,如果这一位所对应的字后面本来没有标点符号,标签的这一位则为0,否则等于对应的标点符号所对应的数字。
比如对于“我是XXX。”一句话,所对应的标签即为“000001”。原文本除了标点只有5个文字,而标签有6位是因为前面加了填充字符。增加填充字符的目的是为了让处于首位的字符有相应的位置。还可以采用双向的模型,则在文末也需要添加填充字符。
对于每一条文本进行此操作,就构造好了完整训练集。
模型构建的过程如下所示:
由于通过上述文本处理步骤,可以采用机器学习方法来进行建模以及训练。包括概率图模型在内的隐马尔科夫模型和随机向量场,简单的RNN(Recurrent NeuralNetwork,循环神经网络)、LSTM(Long Short-Term Memory,长短期记忆网络)、Attention(注意力模型)或者架构更为复杂的序列标注模型来进行建模以及训练。
在搭建出一个完整合理的序列标注模型之后,就可以使用上述步骤中建立的完整训练集进行训练以及验证了。特别的,为了保证模型在实际应用时的实际效果,不只是单单检测结果的准确率还要考虑到召回率作为模型训练结果优劣的评判标准。
将预设文本输入到所述训练集模型中进行训练的过程如下所示:
在系统的使用阶段,即预测阶段:系统会接收一段不包含标点或标点不完整的文本输入,并输出补全标点的文本。
具体工作步骤为:首先将输入的文本中已包含的标点或空格在样本中移除并以存储到预设存储空间中,然后将不包含任何标点的文本在前面添加一个填充字符,送到上述搭建并训练后的模型中,模型将会输出一串标签。其中的数字表示了对应的每一个字符后的位置是否有标点符号以及是什么标点符号。
将模型得到的标点符号序列与前面存储到预设存储空间的标点符号序列信息进行对比并融合,在两个序列不一样的位置根据上下文信息进行判断确定出最终的标点符号。
最后,通过上述方法就可以得到补全了标点信息的文本序列。
根据补全标点后的文本,以及标点符号的含义,就可以用很简单的方法对文本进行断句。
在本申请另一实施例中,还提供了一种基于机器学习的文本断句系统,如图2所示,该基于机器学习的文本断句系统可以包括以下模块:获取模块、第一构建模块、第二构建模块和确定模块。
该获取模块被配置为获取各种文本创建文本库;
该第一构建模块被配置为将所述文本库中的所有连续文本作为训练样本,构建训练集;
该第二构建模块被配置为将所述训练集输入到机器学习模型中构建训练集模型;
该确定模块被配置为将预设文本输入到所述训练集模型中进行训练,得到断句文本。
在本申请实施例中,首先通过获取模块获取各种文本创建文本库,然后通过第一构建模块将文本库中的所有连续文本作为训练样本,构建训练集,再通过第二构建模块将训练集输入到机器学习模型中构建训练集模型,最后通过确定模块将预设文本输入到上述训练集面模型中进行训练,得到断句文本。本发明提供的技术方案采用机器学习进行训练模型的构建,极大地提高了断句的处理效率和准确率,增大了业务的吞吐量。
进一步地,第一构建模块具体包括:第一对应子模块、添加子模块和构建子模块。
该第一对应子模块被配置为按照预设规则为每一种标点符号对应一个非零数字;
该添加子模块被配置为在所述训练样本前添加一个填充字符;
该构建子模块被配置为将训练样本中的每个字符对应一个数字,构成训练集;非标点符号的字符对应的数字为0。
进一步地,该基于机器学习的文本断句系统还可以包括:移除模块和添加模块。
该移除模块被配置为将待断句的文本中的标点符号和空格移除,得到无标点符号文本,并将所述标点符号和空格存储在预设存储空间中;
该添加模块被配置为在所述无标点符号文本的文本前添加一个填充字符,得到预设文本。
进一步地,该确定模块具体包括:输入子模块、提取子模块、第二对应子模块和第一确定子模块。
该输入子模块被配置为将预设文本输入到所述训练集模型中进行训练,得到训练后的数字串;
该提取子模块被配置为提取所述数字串中的非零数字,得到非零数字串;
该第二对应子模块被配置为按照预设规则将所述非零数字串对应成各个标点符号;
该第一确定子模块被配置为将所述标点符号带入到预设文本中,得到断句文本。
进一步地,该基于机器学习的文本断句系统,还可以包括:校准模块。
该校准模块被配置为通过存储在预设存储空间中的标点符号和空格校准所述各个标点符号。
进一步地,该校准模块具体包括:比对子模块、挑选子模块、选自子模块和第二确定子模块。
该比对子模块被配置为将所述各个标点符号与存储在预设存储空间中的标点符号和空格进行比对;
该挑选子模块被配置为挑选出经过比对后不同的标点符号;
该选择子模块被配置为根据所述预设文本的文本内容,选择出待定标点符号;
该第二确定子模块被配置为将相同的标点符号以及所述待定标点符号放入到预设文本中,得到断句文本。
在本公开另一实施例中,还提供了一种计算机存储介质,该计算机存储介质上存储有基于机器学习的文本断句方法程序,上述基于机器学习的文本断句方法程序被处理器执行时实现以下步骤:
获取各种文本创建文本库;
将所述文本库中的所有连续文本作为训练样本,构建训练集;
将所述训练集输入到机器学习模型中构建训练集模型;
将预设文本输入到所述训练集模型中进行训练,得到断句文本。
在本申请实施例中,首先获取各种文本创建文本库,然后将文本库中的所有连续文本作为训练样本,构建训练集,再将训练集输入到机器学习模型中构建训练集模型,最后将预设文本输入到上述训练集面模型中进行训练,得到断句文本。本发明提供的技术方案采用机器学习进行训练模型的构建,极大地提高了断句的处理效率和准确率,增大了业务的吞吐量。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
机译: - 设备方法系统和计算机可读存储介质,用于使用基于机器学习的模型以实时方式向语音服务提供文本
机译: 基于序列质子特征的基于机器学习的文本到语音合成的方法,设备和计算机可读存储介质
机译: 用于使用基于顺序韵律特征的机器学习进行文本与语音合成的方法和计算机可读存储介质