语句样本集的生成方法、电子装置及存储介质与流程

文档序号:20017209发布日期:2020-02-25 10:47阅读:138来源:国知局
语句样本集的生成方法、电子装置及存储介质与流程

本发明涉及数据处理领域,尤其涉及一种语句样本集的生成方法、电子装置及存储介质。



背景技术:

目前在自然语言的处理过程中,需要大量相似语句对和非相似语句对作为训练深度学习模型的训练数据集,句子对的集合需要人工来编写,耗费大量的人力和时间。采用sequencetosequence的方式获取句子对的结合,但此方式在学术科研界比较活跃,实际应用中生成的语句的语义并不合理,缺乏一定的实用性,且生成语句样本的效率较低。



技术实现要素:

鉴于以上内容,本发明提供一种语句样本集的生成方法、电子装置及存储介质,其目的在于解决现有技术中生成语句样本效率低且生成的语句的语义不合理的问题。

为实现上述目的,本发明提供一种语句样本集的生成方法,该方法包括:

聚类步骤:从预设语料库中读取预设数量的语句,基于二分k均值算法对所述语句执行聚类操作,得到包含多个语句类别的第一语句集,判断所述第一语句集中是否存在语句数量大于第一预设值的语句类,若存在,则利用k均值算法对该语句类的语句执行聚类操作,得到包含多个语句类别的第二语句集;

第一筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中相同语句类别的语句组合成多个语句对,从该语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集;

第二筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中不同类别的语句随机组合成多个语句对,从该语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集;及

生成步骤:接收用户发出的生成语句样本集的请求,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,并将所述正样本集及所述负样本集存储至预设存储路径。

优选的,所述筛选出满足第一条件的语句对包括:

识别出各个语句对中的两个语句的字数,分别计算各语句对中两个语句的字数的差值,筛选出所述差值小于第二预设值对应的语句对。

优选的,所述筛选出满足第二条件的语句对包括:

识别出满足第一条件的语句对中的两个语句的字数,基于预设计算规则分别计算出各语句对中两个语句的相似系数,筛选出所述相似系数大于第三预设值对应的语句对。

优选的,所述预设的计算规则包括:

其中,a表示语句对中的一个句子的单字集合,b表示语句对中的另一个句子的单字集合,j(a,b)表示单字集合a与单字集合b的相似系数。

优选的,所述筛选出满足第二条件的语句对还包括:

利用bert模型将满足第一条件的语句对中的两个语句转换为句向量,基于余弦相似度算法计算两个句向量的文本相似度,筛选出所述文本相似度大于第三预设值对应的语句对。

为实现上述目的,本发明还提供一种电子装置,该电子装置包括:存储器及处理器,其特征在于,所述存储器上存储语句样本集的生成程序,所述语句样本集的生成程序被所述处理器执行,实现如下步骤:

聚类步骤:从预设语料库中读取预设数量的语句,基于二分k均值算法对所述语句执行聚类操作,得到包含多个语句类别的第一语句集,判断所述第一语句集中是否存在语句数量大于第一预设值的语句类,若存在,则利用k均值算法对该语句类的语句执行聚类操作,得到包含多个语句类别的第二语句集;

第一筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中相同语句类别的语句组合成多个语句对,从该语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集;

第二筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中不同类别的语句随机组合成多个语句对,从该语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集;及

生成步骤:接收用户发出的生成语句样本集的请求,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,并将所述正样本集及所述负样本集存储至预设存储路径。

优选的,所述筛选出满足第一条件的语句对包括:

识别出各个语句对中的两个语句的字数,分别计算各语句对中两个语句的字数的差值,筛选出所述差值小于第二预设值对应的语句对。

优选的,所述筛选出满足第二条件的语句对包括:

识别出满足第一条件的语句对中的两个语句的字数,基于预设计算规则分别计算出各语句对中两个语句的相似系数,筛选出所述相似系数大于第三预设值对应的语句对。

优选的,所述预设的计算规则包括:

其中,a表示语句对中的一个句子的单字集合,b表示语句对中的另一个句子的单字集合,j(a,b)表示单字集合a与单字集合b的相似系数。

为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括语句样本集的生成程序,所述语句样本集的生成程序被处理器执行时,实现如上所述语句样本集的生成方法中的任意步骤。

本发明提出的语句样本集的生成方法、电子装置及存储介质,通过从语料库中读取预设数量的语句,基于二分k均值算法对语句执行聚类操作,若聚类后存在语句数量大于预设值的语句类,再利用k均值算法对该语句类执行聚类操作,得到语句集,将语句集中相同语句类别的语句组合成多个语句对,筛选出满足第一条件和第二条件的语句对,将该语句对的语句作为正样本集,将语句集中不同类别的语句随机组合成多个语句对,筛选出满足第三条件和第四条件的语句对,将该语句对的语句作为负样本集,将正负样本集反馈至用户,并存储至预设存储路径。本发明通过两次聚类,即可在极短时间内处理十几万或上百万的语料,并快速生成大量的正负语句样本,提升了语句处理的效率,并且生成的语句样本的语义合理性高。

附图说明

图1为本发明电子装置较佳实施例的示意图;

图2为图1中语句样本集的生成程序较佳实施例的模块示意图;

图3为本发明语句样本集的生成方法较佳实施例的流程图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图1所示,为本发明电子装置1较佳实施例的示意图。

该电子装置1包括但不限于:存储器11、处理器12、显示器13及网络接口14。所述电子装置1通过网络接口14连接网络,获取原始数据。其中,所述网络可以是企业内部网(intranet)、互联网(internet)、全球移动通讯系统(globalsystemofmobilecommunication,gsm)、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、4g网络、5g网络、蓝牙(bluetooth)、wi-fi、通话网络等无线或有线网络。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、随机访问存储器(ram)、静态随机访问存储器(sram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器11可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。在另一些实施例中,所述存储器11也可以是所述电子装置1的外部存储设备,例如该电子装置1配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。当然,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括其外部存储设备。本实施例中,存储器11通常用于存储安装于所述电子装置1的操作系统和各类应用软件,例如语句样本集的生成程序10的程序代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器12在一些实施例中可以是中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子装置1的总体操作,例如执行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行语句样本集的生成程序10的程序代码等。

显示器13可以称为显示屏或显示单元。在一些实施例中显示器13可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。显示器13用于显示在电子装置1中处理的信息以及用于显示可视化的工作界面,例如显示数据统计的结果。

网络接口14可选地可以包括标准的有线接口、无线接口(如wi-fi接口),该网络接口14通常用于在所述电子装置1与其它电子设备之间建立通信连接。

图2仅示出了具有组件11-14以及语句样本集的生成程序10的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

可选地,所述电子装置1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(organiclight-emittingdiode,oled)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。

该电子装置1还可以包括射频(radiofrequency,rf)电路、传感器和音频电路等等,在此不再赘述。

在上述实施例中,处理器12执行存储器11中存储的语句样本集的生成程序10时可以实现如下步骤:

聚类步骤:从预设语料库中读取预设数量的语句,基于二分k均值算法对所述语句执行聚类操作,得到包含多个语句类别的第一语句集,判断所述第一语句集中是否存在语句数量大于第一预设值的语句类,若存在,则利用k均值算法对该语句类的语句执行聚类操作,得到包含多个语句类别的第二语句集;

第一筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中相同语句类别的语句组合成多个语句对,从该语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集;

第二筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中不同类别的语句随机组合成多个语句对,从该语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集;及

生成步骤:接收用户发出的生成语句样本集的请求,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,并将所述正样本集及所述负样本集存储至预设存储路径。

所述存储设备可以为电子装置1的存储器11,也可以为与电子装置1通讯连接的其它存储设备。

关于上述步骤的详细介绍,请参照下述图2关于语句样本集的生成程序10实施例的程序模块图以及图3关于语句样本集的生成方法实施例的流程图的说明。

在其他实施例中,所述语句样本集的生成程序10可以被分割为多个模块,该多个模块被存储于存储器12中,并由处理器13执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。

参照图2所示,为图1中语句样本集的生成程序10一实施例的程序模块图。在本实施例中,所述语句样本集的生成程序10可以被分割为:聚类模块110、第一筛选模块120、第二筛选模块130及生成模块140。

聚类模块110,用于从预设语料库中读取预设数量的语句,基于二分k均值算法对所述语句执行聚类操作,得到包含多个语句类别的第一语句集,判断所述第一语句集中是否存在语句数量大于第一预设值的语句类,若存在,则利用k均值算法对该语句类的语句执行聚类操作,得到包含多个语句类别的第二语句集。

在本实施例中,从预设预料库可以是第三方语料数据库,以如下语句对本方案进行说明,语句包括:你好吗;您好吗;你好呀;吃了吗;吃饭了吗;app哪里绑定银行卡;app怎么绑定银行卡;app怎样绑定银行卡;app上怎么绑定银行卡;app里哪里绑定借记卡;我不知道在app哪里绑定银行卡。

基于二分k均值算法对获取的语句执行聚类操作包括:

将所有语句初始化为一个簇,将这个簇分为两个簇;

选取满足条件的可以分解的簇,该条件为一个簇的误差平方和(sumofsquarederror,sse)小于预先设置的β(取值为1);

使用k-means算法将可分解的簇分为两个簇;

重复上述步骤,直到满足迭代结束条件(一个簇的sse小于预先设置的β)。

对上述语句执行聚类操作后得到包含3个语句类的第一语句集:

1、你好吗;您好吗;你好呀;

2、吃了吗;吃饭了吗;

3、app哪里绑定银行卡;app怎么绑定银行卡;app怎样绑定银行卡;app上怎么绑定银行卡;app里哪里绑定借记卡;我不知道在app哪里绑定银行卡;

之后,判断第一语句集中是否存在语句数量大于第一预设值的语句类,在本实施例中,第一预设值取2,即第三个语句类中的语句数量大于第一预设值,需要利用k均值算法对该与聚类执行分类操作得到:

3、app怎么绑定银行卡;app怎样绑定银行卡;app上怎么绑定银行;

4、app哪里绑定银行卡;app里哪里绑定借记卡;我不知道在app哪里绑定银行卡;

簇的sse值可以衡量这个簇聚类后的效果,sse值越小表示数据点越接近于质心,聚类效果就越好。需要对误差平方和最大的簇进行再一次的划分,簇的误差平方和越大,表示该簇的聚类效果差,可能存在多个簇被当成一个簇的情况,因此需要对这个簇再进行聚类划分。

利用二分k均值聚类算法对语句进行聚类不需要输入类别的个数,利用k均值聚类则可预先设定类别个数,预设数量的语句经过两次聚类就可以收敛,并且收敛到每个类的句子数在几个内,只需两次聚类,即可在极短时间内处理十几万或者上百万的语料,提升处理语句的效率,从而提升了后续筛选出的句子相似度的效率。

第一筛选模块120,用于遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中相同语句类别的语句组合成多个语句对,从该语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集。

在本实施例中,上述聚类操作后,相同类别的语句会在同一类别的语句类中,遍历第一语句集及第二语句集,将第一语句集和第二语句集中相同类别的语句组合成多个语句对,再从组合成的多个语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集。

其中,筛选出满足第一条件的语句对可以为识别出各个语句对中的两个语句的字数,分别计算各语句对中两个语句的字数的差值,筛选出所述差值小于第二预设值对应的语句对。具体地,若第二预设值为2,则语句对:(app里哪里绑定借记卡,我不知道在app哪里绑定银行卡)、(app哪里绑定银行卡;我不知道在app哪里绑定银行卡),这两个语句对中语句的字数差值均大于2,不满足两个语句的字数差值小于2,可以将这两个语句对删除。

从满足第一条件的语句对中筛选出满足第二条件的语句对可以为识别出满足第一条件的语句对中的两个语句的字数,基于预设计算规则分别计算出各语句对中两个语句的相似系数,筛选出所述相似系数大于第三预设值对应的语句对。本实施例优选jaccard系数作为相似系数,将两个语句包含的单字作为集合a和b,jaccard系数定义为a与b交集的大小与a与b并集的大小的比值,则语句a与语句b的jaccard系数为:

其中,a表示语句对中的一个句子的单字集合,b表示语句对中的另一个句子的单字集合,j(a,b)表示单字集合a与单字集合b的相似系数。

若第三预设值为0.8,则语句对:(app哪里绑定银行卡;我不知道在app哪里绑定银行卡)的j相似系数为0.66,不满足两个语句的相似系数大于0.8,可以将这两个语句对删除。经过第二条件筛选得到的语句对的语句作为正样本集,正样本集为语义相同或相似的同义语句。将第一条件设置为语句的字数差值,第二条件设置为语句相似系数,筛选出同时满足两个条件的语句对,可以提高筛选的语句对为同义语句对的准确率。

在另一个实施例中,所述筛选出满足第二条件的语句对还可以利用bert模型将满足第一条件的语句对中的两个语句转换为句向量,基于余弦相似度算法计算两个句向量的文本相似度,筛选出所述文本相似度大于第三预设值对应的语句对。

其中,将语句对的两个语句转换成向量的模型包括但不限于bert、albert、zen、word2vec等模型。bert是一个通用的语义编码模型,中文的预训练模型bert可以把语句编码成语义向量,而语句的语义向量的相似度可以用来表示语句语义上的相似度。

第二筛选模块130,用于遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中不同类别的语句随机组合成多个语句对,从该语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集。

在本实施例中,上述聚类操作后,不同类别的语句会在不同类别的语句类中,遍历第一语句集及第二语句集,将第一语句集和第二语句集中不同类别的语句随机组合成多个语句对,从组合成的多个语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集。

其中,第三条件可以为:语句对中的两个语句的字数差值小于第四预设值,第四条件可以为:语句对中两个语句的相似系数小于第五预设值。具体地,若第四预设值为2,则语句对:(你好吗,我不知道在app哪里绑定银行卡),该语句对中语句的字数差值大于2,不满足第三条件,可以将这该语句对删除。再对满足第三条件的语句对中筛选出两个语句的相似系数小于第五预设值的语句对,本实施例优选jaccard系数作为相似系数,若第五预设值为0.4,则语句对:(app怎么绑定银行卡;app哪里绑定银行卡)的jaccard系数为0.66,不满足两个语句的相似系数小于0.4,可以将这两个语句对删除。满足条件的是语句对有(你好吗;吃了吗;),(你好吗;吃饭了吗)等,经过第四条件筛选得出的语句对的语句作为负样本集,负样本集为语义不同的非同义语句。通过将不同类别的语句随机组合成语句对,将第三条件设置为语句的字数差值,第四条件设置为语句相似系数,筛选出同时满足第三条件和第四条件的语句对,可以提高筛选的语句对为非同义语句的准确率。

生成模块140,用于接收用户发出的生成语句样本集的请求,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,并将所述正样本集及所述负样本集存储至预设存储路径。

在本实施例中,当接收到用户发出的生成语句样本集的请求,请求可以是需要大量语句样本集作为深度学习模型的训练数据,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,生成的语句正样本集和负样本集可以存储至预设的存储路径(例如,redis数据库),以供用户读取。

此外,本发明还提供一种语句样本集的生成方法。参照图3所示,为本发明语句样本集的生成方法的实施例的方法流程示意图。电子装置1的处理器12执行存储器11中存储的语句样本集的生成程序10时实现语句样本集的生成方法的如下步骤:

步骤s10:从预设语料库中读取预设数量的语句,基于二分k均值算法对所述语句执行聚类操作,得到包含多个语句类别的第一语句集,判断所述第一语句集中是否存在语句数量大于第一预设值的语句类,若存在,则利用k均值算法对该语句类的语句执行聚类操作,得到包含多个语句类别的第二语句集。

在本实施例中,从预设预料库可以是第三方语料数据库,以如下语句对本方案进行说明,语句包括:你好吗;您好吗;你好呀;吃了吗;吃饭了吗;app哪里绑定银行卡;app怎么绑定银行卡;app怎样绑定银行卡;app上怎么绑定银行卡;app里哪里绑定借记卡;我不知道在app哪里绑定银行卡。

基于二分k均值算法对获取的语句执行聚类操作包括:

将所有语句初始化为一个簇,将这个簇分为两个簇;

选取满足条件的可以分解的簇,该条件为一个簇的误差平方和(sumofsquarederror,sse)小于预先设置的β(取值为1);

使用k-means算法将可分解的簇分为两个簇;

重复上述步骤,直到满足迭代结束条件(一个簇的sse小于预先设置的β)。

对上述语句执行聚类操作后得到包含3个语句类的第一语句集:

1、你好吗;您好吗;你好呀;

2、吃了吗;吃饭了吗;

3、app哪里绑定银行卡;app怎么绑定银行卡;app怎样绑定银行卡;app上怎么绑定银行卡;app里哪里绑定借记卡;我不知道在app哪里绑定银行卡;

之后,判断第一语句集中是否存在语句数量大于第一预设值的语句类,在本实施例中,第一预设值取2,即第三个语句类中的语句数量大于第一预设值,需要利用k均值算法对该与聚类执行分类操作得到:

3、app怎么绑定银行卡;app怎样绑定银行卡;app上怎么绑定银行;

4、app哪里绑定银行卡;app里哪里绑定借记卡;我不知道在app哪里绑定银行卡;

簇的sse值可以衡量这个簇聚类后的效果,sse值越小表示数据点越接近于质心,聚类效果就越好。需要对误差平方和最大的簇进行再一次的划分,簇的误差平方和越大,表示该簇的聚类效果差,可能存在多个簇被当成一个簇的情况,因此需要对这个簇再进行聚类划分。

利用二分k均值聚类算法对语句进行聚类不需要输入类别的个数,利用k均值聚类则可预先设定类别个数,预设数量的语句经过两次聚类就可以收敛,并且收敛到每个类的句子数在几个内,只需两次聚类,即可在极短时间内处理十几万或者上百万的语料,提升处理语句的效率,从而提升了后续筛选出的句子相似度的效率

步骤s20:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中相同语句类别的语句组合成多个语句对,从该语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集。

在本实施例中,上述聚类操作后,相同类别的语句会在同一类别的语句类中,遍历第一语句集及第二语句集,将第一语句集和第二语句集中相同类别的语句组合成多个语句对,再从组合成的多个语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集。

其中,筛选出满足第一条件的语句对可以为识别出各个语句对中的两个语句的字数,分别计算各语句对中两个语句的字数的差值,筛选出所述差值小于第二预设值对应的语句对。具体地,若第二预设值为2,则语句对:(app里哪里绑定借记卡,我不知道在app哪里绑定银行卡)、(app哪里绑定银行卡;我不知道在app哪里绑定银行卡),这两个语句对中语句的字数差值均大于2,不满足两个语句的字数差值小于2,可以将这两个语句对删除。

从满足第一条件的语句对中筛选出满足第二条件的语句对可以为识别出满足第一条件的语句对中的两个语句的字数,基于预设计算规则分别计算出各语句对中两个语句的相似系数,筛选出所述相似系数大于第三预设值对应的语句对。本实施例优选jaccard系数作为相似系数,将两个语句包含的单字作为集合a和b,jaccard系数定义为a与b交集的大小与a与b并集的大小的比值,则语句a与语句b的jaccard系数为:

其中,a表示语句对中的一个句子的单字集合,b表示语句对中的另一个句子的单字集合,j(a,b)表示单字集合a与单字集合b的相似系数。

若第三预设值为0.8,则语句对:(app哪里绑定银行卡;我不知道在app哪里绑定银行卡)的j相似系数为0.66,不满足两个语句的相似系数大于0.8,可以将这两个语句对删除。经过第二条件筛选得到的语句对的语句作为正样本集,正样本集为语义相同或相似的同义语句。将第一条件设置为语句的字数差值,第二条件设置为语句相似系数,筛选出同时满足两个条件的语句对,可以提高筛选的语句对为同义语句对的准确率。

在另一个实施例中,所述筛选出满足第二条件的语句对还可以利用bert模型将满足第一条件的语句对中的两个语句转换为句向量,基于余弦相似度算法计算两个句向量的文本相似度,筛选出所述文本相似度大于第三预设值对应的语句对。

其中,将语句对的两个语句转换成向量的模型包括但不限于bert、albert、zen、word2vec等模型。bert是一个通用的语义编码模型,中文的预训练模型bert可以把语句编码成语义向量,而语句的语义向量的相似度可以用来表示语句语义上的相似度。

步骤s30:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中不同类别的语句随机组合成多个语句对,从该语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集。

在本实施例中,上述聚类操作后,不同类别的语句会在不同类别的语句类中,遍历第一语句集及第二语句集,将第一语句集和第二语句集中不同类别的语句随机组合成多个语句对,从组合成的多个语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集。

其中,第三条件可以为:语句对中的两个语句的字数差值小于第四预设值,第四条件可以为:语句对中两个语句的相似系数小于第五预设值。具体地,若第四预设值为2,则语句对:(你好吗,我不知道在app哪里绑定银行卡),该语句对中语句的字数差值大于2,不满足第三条件,可以将这该语句对删除。再对满足第三条件的语句对中筛选出两个语句的相似系数小于第五预设值的语句对,本实施例优选jaccard系数作为相似系数,若第五预设值为0.4,则语句对:(app怎么绑定银行卡;app哪里绑定银行卡)的jaccard系数为0.66,不满足两个语句的相似系数小于0.4,可以将这两个语句对删除。满足条件的是语句对有(你好吗;吃了吗;),(你好吗;吃饭了吗)等,经过第四条件筛选得出的语句对的语句作为负样本集,负样本集为语义不同的非同义语句。通过将不同类别的语句随机组合成语句对,将第三条件设置为语句的字数差值,第四条件设置为语句相似系数,筛选出同时满足第三条件和第四条件的语句对,可以提高筛选的语句对为非同义语句的准确率。

步骤s40:接收用户发出的生成语句样本集的请求,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,并将所述正样本集及所述负样本集存储至预设存储路径。

在本实施例中,当接收到用户发出的生成语句样本集的请求,请求可以是需要大量语句样本集作为深度学习模型的训练数据,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,生成的语句正样本集和负样本集可以存储至预设的存储路径(例如,redis数据库),以供用户读取。

此外,本发明实施例还提出一种计算机可读存储介质,该计算机可读存储介质可以是硬盘、多媒体卡、sd卡、闪存卡、smc、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器等等中的任意一种或者几种的任意组合。所述计算机可读存储介质中包括语句样本集的生成程序10,所述语句样本集的生成程序10被处理器执行时实现如下操作:

聚类步骤:从预设语料库中读取预设数量的语句,基于二分k均值算法对所述语句执行聚类操作,得到包含多个语句类别的第一语句集,判断所述第一语句集中是否存在语句数量大于第一预设值的语句类,若存在,则利用k均值算法对该语句类的语句执行聚类操作,得到包含多个语句类别的第二语句集;

第一筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中相同语句类别的语句组合成多个语句对,从该语句对中筛选出满足第一条件的语句对,再从满足第一条件的语句对中筛选出满足第二条件的语句对,将该语句对的语句作为正样本集;

第二筛选步骤:遍历所述第一语句集及所述第二语句集,将所述第一语句集及所述第二语句集中不同类别的语句随机组合成多个语句对,从该语句对中筛选出满足第三条件的语句对,再从满足第三条件的语句对中筛选出满足第四条件的语句对,将该语句对的语句作为负样本集;及

生成步骤:接收用户发出的生成语句样本集的请求,响应所述请求,将所述正样本集及所述负样本集反馈至所述用户,并将所述正样本集及所述负样本集存储至预设存储路径。

本发明之计算机可读存储介质的具体实施方式与上述语句样本集的生成方法的具体实施方式大致相同,在此不再赘述。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,电子装置,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1