发明内容
本说明书一个或多个实施例提供了一种确定标准问题的方法及装置,能够在较为有效的避免产生语义相似的标准问题的基础上,降低人工干预程度。
第一方面,提供了一种确定标准问题的方法,所述方法包括:
获取多个文本类簇分别对应的代表文本,其中,所述多个文本类簇是对多个用户问题分别对应的文本进行聚类分析得到的;
获取各个代表文本的特征值,使得任意两个代表文本的特征值之间的差值与所述任意两个代表文本的语义相似程度负相关;
根据各个代表文本的特征值对各个代表文本排序,得到文本序列;
接收对所述文本序列的标注信息,所述标注信息指示了所述文本序列中的至少一个子序列,同一个子序列包含的多个代表文本语义相似;
针对每个子序列,确定用于代表该子序列的选定文本;
根据各个子序列对应的所述选定文本以及未包含于各个子序列的代表文本,确定多个标准问题。
在一种可能的实施方式中,在所述获取多个文本类簇分别对应的代表文本之前,还包括:
获取多个用户问题分别对应的文本的特征向量;
根据各个文本的特征向量,基于聚类算法对各个文本进行聚类分析,得到所述多个文本类簇;
所述聚类算法包括:DBSCAN、HDBSCAN、BIRCH及HAC中的任一项。
在一种可能的实施方式中,所述获取各个代表文本的特征值,包括:
获取各个代表文本的特征向量;
基于T-SNE算法对各个代表文本的特征向量进行降维,得到各个代表文本的特征值。
在一种可能的实施方式中,所述获取各个代表文本的特征值,包括:
获取第一语言模型,其中,所述第一语言模型包含两个分支,每个分支用于预测对应输入的文本的特征值,所述第一语言模型被训练为,两个分支预测的两个特征值之间的差值与对应输入的两个文本的语义相似程度负相关;
将各个代表文本分别输入所述第一语言模型的任意一个分支,通过所述任意一个分支得到各个代表文本的特征值。
在一种可能的实施方式中,所述第一语言模型基于多组训练样本训练得到,其中,每组训练样本包括两个训练文本,以及包括用于指示所述两个训练文本是否语义相似的标签。
在一种可能的实施方式中,所述第一语言模型的两个分支为第一分支和第二分支,每组所述训练样本包括第一训练文本和第二训练文本,所述第一语言模型通过以下方式训练得到:
将任一组训练样本包括的第一训练文本和第二训练文本,分别输入所述第一语言模型的第一分支和第二分支;
得到第一分支针对第一训练文本预测的第一特征值,以及第二分支针对第二训练文本预测的第二特征值;
根据第一特征值和第二特征值之间的差值,以及所述任一组训练样本包括的标签,更新所述第一语言模型。
在一种可能的实施方式中,所述第一语言模型是基于BERT的语言模型。
在一种可能的实施方式中,所述针对每个子序列,确定用于代表该子序列的选定文本,包括:针对每个子序列,从该子序列包含的多个代表文本中选择一个选定文本。
在一种可能的实施方式中,所述针对每个子序列,确定用于代表该子序列的选定文本,包括:
针对每个子序列,合并该子序列包含的多个代表文本分别对应的文本类簇中的文本,得到该子序列对应的文本集合;
从该子序列对应的文本集合中选择一个文本作为选定文本。
在一种可能的实施方式中,所述标注信息包括:与至少一个子序列一一对应的至少一条指示信息,所述指示信息指示了对应的子序列在文本序列中的起始位置及截止位置。
在一种可能的实施方式中,所述获取多个文本类簇分别对应的代表文本,包括:
针对多个文本类簇中的每个文本类簇,执行:根据该文本类簇中的各个文本的特征向量,确定该文本类簇的语义中心对应的中心向量;确定该文本类簇中的各个文本的特征向量与中心向量的距离;将该文本类簇中的各个文本分别输入预先训练的第二语言模型,得到该文本类簇中的各个文本分别对应的输出概率,输出概率用于指示对应的文本语义清晰的可能性;至少根据该文本类簇中的各个文本分别对应的输出概率及距离,从该文本类簇中选择一个文本作为该文本类簇对应的代表文本。
第二方面,提供了一种确定标准问题的装置,所述装置包括:
代表文本获取模块,配置为获取多个文本类簇分别对应的代表文本,其中,所述多个文本类簇是对多个用户问题分别对应的文本进行聚类分析得到的;
特征值获取模块,配置为获取各个代表文本的特征值,使得任意两个代表文本的特征值之间的差值与所述任意两个代表文本的语义相似程度负相关;
排序处理模块,配置为根据各个代表文本的特征值对各个代表文本排序,得到文本序列;
交互处理模块,配置为接收对所述文本序列的标注信息,所述标注信息指示了所述文本序列中的至少一个子序列,同一个子序列包含的多个代表文本语义相似;
相似文本处理模块,配置为针对每个子序列,确定用于代表该子序列的选定文本;
标准问题确定模块,配置为根据各个子序列对应的所述选定文本以及未包含于各个子序列的代表文本,确定多个标准问题。
在一种可能的实施方式中,所述装置还包括:
向量获取模块,配置为获取多个用户问题分别对应的文本的特征向量;
聚类分析模块,配置为根据各个文本的特征向量,基于聚类算法对各个文本进行聚类分析,得到所述多个文本类簇;
所述聚类算法包括:DBSCAN、HDBSCAN、BIRCH及HAC中的任一项。
在一种可能的实施方式中,所述特征值获取模块,包括:
向量获取单元,配置为获取各个代表文本的特征向量;
特征值获取单元,配置为基于T-SNE算法对各个代表文本的特征向量进行降维,得到各个代表文本的特征值。
在一种可能的实施方式中,所述特征值获取模块,包括:
模型获取单元,配置为获取第一语言模型,其中,所述第一语言模型包含两个分支,每个分支用于预测对应输入的文本的特征值,所述第一语言模型被训练为,两个分支预测的两个特征值之间的差值与对应输入的两个文本的语义相似程度负相关;
模型调用单元,配置为将各个代表文本分别输入所述第一语言模型的任意一个分支,通过所述任意一个分支得到各个代表文本的特征值。
在一种可能的实施方式中,所述第一语言模型基于多组训练样本训练得到,其中,每组训练样本包括两个训练文本,以及包括用于指示所述两个训练文本是否语义相似的标签。
在一种可能的实施方式中,所述第一语言模型的两个分支为第一分支和第二分支,每组所述训练样本包括第一训练文本和第二训练文本,所述第一语言模型通过模型获取单元进行训练,所述模型获取单元,具体用于执行:
将任一组训练样本包括的第一训练文本和第二训练文本,分别输入所述第一语言模型的第一分支和第二分支;
得到第一分支针对第一训练文本预测的第一特征值,以及第二分支针对第二训练文本预测的第二特征值;
根据第一特征值和第二特征值之间的差值,以及所述任一组训练样本包括的标签,更新所述第一语言模型。
在一种可能的实施方式中,所述第一语言模型是基于BERT的语言模型。
在一种可能的实施方式中,所述相似文本处理模块,具体配置为针对每个子序列,从该子序列包含的多个代表文本中选择一个选定文本。
在一种可能的实施方式中,所述相似文本处理模块,包括:
合并处理单元,具体配置为针对每个子序列,合并该子序列包含的多个代表文本分别对应的文本类簇中的文本,得到该子序列对应的文本集合;
文本选择单元,配置为从该子序列对应的文本集合中选择一个文本作为选定文本。
在一种可能的实施方式中,所述标注信息包括:与至少一个子序列一一对应的至少一条指示信息,所述指示信息指示了对应的子序列在文本序列中的起始位置及截止位置。
在一种可能的实施方式中,所述代表文本获取模块,具体配置为针对多个文本类簇中的每个文本类簇,执行:根据该文本类簇中的各个文本的特征向量,确定该文本类簇的语义中心对应的中心向量;确定该文本类簇中的各个文本的特征向量与中心向量的距离;将该文本类簇中的各个文本分别输入预先训练的第二语言模型,得到该文本类簇中的各个文本分别对应的输出概率,输出概率用于指示对应的文本语义清晰的可能性;至少根据该文本类簇中的各个文本分别对应的输出概率及距离,从该文本类簇中选择一个文本作为该文本类簇对应的代表文本
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行如第一方面中任一项所述的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如第一方面中任一项所述的方法。
通过本说明书一个或多个实施例提供的一种确定标准问题的方法及装置,可在获取到多个代表文本之后,首先获取各个代表文本的特征值,使得任意两个代表文本的特征值之间的差值与该任意两个代表文本的语义相似程度负相关;然后根据各个代表文本的特征值对各个代表文本进行排序以得到文本序列。当存在多个代表文本语义相似时,该多个代表文本则会在文本序列中连续排列,如此,工作人员即可通过判断文本序列中相邻两个代表文本的是否语义相似,快速发现由多个语义相似的代表文本连续排列而形成的子序列,并针对发现的各个子序列进行标注。后续可针对每个子序列,分别确定一个能够代表该子序列的选定文本,各个子序列对应的选定文本以及未包含于各个子序列的代表文本的语义则各不相似;相应的,根据各个子序列对应的选定文本以及未包含于各个子序列的代表文本确定多个标准问题,则不会发生多个标准问题语义相似的情况。
综上可见,本说明书一个或多个实施例的技术方案,工作人员无需判断每两个代表文本之间是否语义相似,也无需对每两个代表文本之间是否语义相似进行标注,仅通过少量的语义相似性判断即可快速发现语义相似的代表文本,并通过少量的标注指示出语义相似的代表文本,能够在较为有效的避免产生语义相似的标准问题的基础上,降低人工干预程度。
具体实施方式
下面结合附图,对本说明书所提供的各个非限制性实施例进行详细描述。
图1示出了一个或多个实施例适用的一种应用场景的示意图。
在如图1所示的应用场景中,标准问题的产生是智能客服机器人实现智能问答业务的必要条件,可通过在计算设备中部署本说明书任意一个或多个实施例提供的装置,通过计算设备实施本说明书一个或多个实施例提供的方法,得到多个标准问题。之后,工作人员可结合实际业务情况,针对计算设备得到的各个标准问题,分别配置其对应的标准答案,形成“标准问题+标准答案”的组合,并将得到的每个标准问题及其对应的标准答案存储到问答知识库。当用户向智能客服机器人提供“问题X”时,智能客服机器人可根据其获取的“问题X”查询问答知识库,得到与“问题X”最为匹配的标准问题,进而根据预先形成的“标准问题+标准答案”的组合,得到相对应的标准答案“答案Y”,并将得到的“答案Y”提供给用户,实现智能问答业务。
如果存在语义相似的标准问题,而针对语义相似的标准问题分别配置的标准答案不一致甚至存在逻辑上的冲突,那么智能客服机器人则可能就用户提供的语义相似的多个问题,分别向用户提供不同的、甚至存在逻辑冲突的多个标准答案,导致智能客服机器人无法较好的实现智能问答业务。
为了避免这种情况的出现,常规地,在确定出多个代表文本之后,交由工作人员进行相似性判断。工作人员对多个代表文本中每两个代表文本构成的文本对进行分析,判断其语义是否相似,并标注判断结果。如果存在N个代表文本,那么工作人员则需要进行N*(N-1)/2次判断和标注。当N数目较大时,标注工作量极大,需要消耗大量的人工和时间。
考虑到以上问题,为了确保智能机器人能够较好的实现智能问答业务,避免产生语义相似的标准问题,同时降低标准问题产生过程的人工干预程度,本说明书一个或多个实施例中,通过降低工作人员对不同代表文本进行语义相似性判断和标注的次数,来降低人工干预的工作量,提高处理效率。
为实现上述目的,本说明书一个或多个实施例的基本构思是,提供了一种确定标准问题的方法及装置,可在获取到多个代表文本之后,首先获取各个代表文本的特征值,使得任意两个代表文本的特征值之间的差值与该任意两个代表文本的语义相似程度负相关;然后根据各个代表文本的特征值对各个代表文本进行排序以得到文本序列。当存在多个代表文本语义相似时,该多个代表文本则会在文本序列中连续排列,如此,工作人员即可通过判断文本序列中相邻两个代表文本的是否语义相似,快速发现由多个语义相似的代表文本连续排列而形成的子序列,并针对发现的各个子序列进行标注。后续可针对每个子序列,分别确定一个能够代表该子序列的选定文本,各个子序列对应的选定文本以及未包含于各个子序列的代表文本的语义则各不相似;相应的,根据各个子序列对应的选定文本以及未包含于各个子序列的代表文本确定多个标准问题,则不会发生多个标准问题语义相似的情况。
图2示出了一种确定标准问题的方法的流程示意图。
实施如图2所示的一种确定标准问题的方法的执行主体,可以是如图1所示的应用场景中的计算设备,该计算设备包括但不限于服务器或一般计算机。如图2所示,确定代表文本的方法至少可以包括如下步骤21~步骤26:
步骤21,获取多个文本类簇分别对应的代表文本,其中,所述多个文本类簇是对多个用户问题分别对应的文本进行聚类分析得到的。
在一种可能的实施方式中,在步骤21之前,还包括如图3所示的聚类分析过程。如图3所示,聚类分析过程包括如下步骤31及步骤32:步骤31,获取多个用户问题分别对应的文本的特征向量;步骤32,根据各个文本的特征向量,基于聚类算法对各个文本进行聚类分析,得到所述多个文本类簇。
在步骤31中,对于每个用户问题分别对应的文本,可首先对该文本进行分词处理以得到组成该文本的若干个分词,然后基于Word2vec工具或其他方式得到每个分词分别对应的词向量,进而对各个分词分别对应的词向量进行综合,得到文本的句子向量。得到的句子向量可作为该文本的特征向量;或者,按照预设规则对句子向量的维度进行调整(比如,对维度较高的句子向量进行降维),将调整后的向量作为该文本的特征向量。
在步骤32中,聚类算法包括但不限于DBSCAN、HDBSCAN、BIRCH及HAC中的任一项,比如聚类算法还可以包括K-means。具体地,可结合实际业务需求选择相应的聚类算法对各个用户问题分别对应的文本进行聚类分析。比如,在需要保证同一个文本类簇中的多个文本语义高度相似的情况下,可基于聚类算法HDBSCAN对各个用户问题分别对应的文本进行聚类分析。
在一个较为具体的示例中,针对以上通过聚类分析得到的多个文本类簇中的每个文本类簇,可以根据该文本类簇中的各个文本的特征向量,确定该文本类簇的语义中心对应的中心向量;并确定该文本类簇中的各个文本的特征向量与中心向量的距离;进而将距离中心向量最近的特征向量对应的文本作为该文本类簇对应的代表文本。
在另一个较为具体的示例中,针对以上通过聚类分析得到的多个文本类簇中的每个文本类簇,在以上确定出中心向量以及距离的基础上,还将该文本类簇中的各个文本分别输入预先训练的第二语言模型,得到该文本类簇中的各个文本分别对应的输出概率,输出概率用于指示对应的文本语义清晰的可能性。然后,至少根据该文本类簇中的各个文本分别对应的输出概率及距离,从该文本类簇中选择一个文本作为该文本类簇对应的代表文本。如此,可更为有效的避免语义不清的文本被选择为代表文本,使得获取的代表文本语义清晰且能够表达其对应的文本类簇中包含的各个文本的核心语义。
需要说明的是,第二语言模型可以基于多个语义清晰的文本训练得到;第二语言模型具体可以是N-Gram语言模型或者Transformer语言模型。
以上确定各个文本类簇分别对应的代表文本的过程可以预先进行,在步骤21中直接读取预先确定的代表文本。或者,也可以在步骤21中确定上述各个代表文本。
接着,在步骤22,获取各个代表文本的特征值,使得任意两个代表文本的特征值之间的差值与所述任意两个代表文本的语义相似程度负相关。
在一种可能的实施方式中,所述获取各个代表文本的特征值,包括:获取各个代表文本的特征向量;基于T-SNE算法对各个代表文本的特征向量进行降维,得到各个代表文本的特征值。该实施方式中,对于每个代表文本的特征向量,该特征向量的维度相对较高,可具体通过对T-SNE算法中的一个或多个参数进行调整,使得进行参数调整后的T-SNE算法可对各个代表文本的特征向量进行非线性的转换,以将各个文本的特征向量分别转换至一维空间中,从而得到各个代表文本的特征值,而且,可使任意两个代表文本的特征值之间的差值与该任意两个代表文本的语义相似程度负相关。
在另一种可能的实施方式中,可以通过预先训练的语言模型获取各个代表文本的特征值。为了描述的简单,本说明书各个实施例中,将用于获取各个代表文本的特征值的语言模型称为第一语言模型。在一个示例中,所述第一语言模型包含两个分支,每个分支用于预测对应输入的文本的特征值,所述第一语言模型被训练为,两个分支预测的两个特征值之间的差值与对应输入的两个文本的语义相似程度负相关。
在一个较为具体的示例中,第一语言模型包括但不限于基于BERT的语言模型。
图4示出了一种基于BERT的语言模型所包含的一个分支的结构示意图。
请参考图4,对于基于BERT的语言模型的每个分支,该分支至少可以包括输入层、分类层以及多个堆叠的Transformer编码器层,每个Transformer编码器层可以包括多个Transformer编码器(即图4中所示的Trm)。向该分支输入一个文本之后,输入层会在该文本之前增加一个特殊符,并将该特殊符对应的表示向量CLS与该文本中各个分词对应的表示向量T1、…、Tn输入位于底层的Transformer编码器层,通过多个Transformer编码器层对输入的各个表示向量进行处理之后,位于顶层的Transformer编码器层可以输出对表示向量CLS进行处理之后得到的分类向量E-CLS,E-CLS能够较为完整且准确的表达输入该分支的文本的信息,分类层可对E-CLS进行降维,将E-CLS转换至一维空间后得到的数值作为该文本的特征值,实现通过该分支预测该文本的特征值。
在一个更为具体的示例中,所述第一语言模型基于多组训练样本训练得到,其中,每组训练样本包括两个训练文本,以及包括用于指示所述两个训练文本是否语义相似的标签。如此,在已知一组训练样本中所包括的两个训练文本是否语义相似的情况下,将该组训练样本所包括的两个训练文本分别输入第一语言模型的两个分支之后,即可至少根据用于指示该组训练样本所包含的标签,更新第一语言模型。
在一个示例中,所述第一语言模型包含的两个分支为第一分支和第二分支,每组所述训练样本包括第一训练文本和第二训练文本,所述第一语言模型通过以下方式训练得到:
将任一组训练样本包括的第一训练文本和第二训练文本,分别输入所述第一语言模型的第一分支和第二分支;
得到第一分支针对第一训练文本预测的第一特征值,以及第二分支针对第二训练文本预测的第二特征值;
根据第一特征值和第二特征值之间的差值,以及所述任一组训练样本包括的标签,更新所述第一语言模型。
在该示例中,第一分支及第二分支均可包括如图4所示的结构。对于每一组训练文本样本,以第一分支针对该组训练文本中的第一训练文本预测的特征值是y1,第二分支针对该组训练文本中的第二训练文本预测的特征值是y2为例,至少可以根据如下公式1所示的损失函数更新第一语言模型:
其中,loss表征相对于一组训练样本的损失,margin为常数,label=1表征该组训练样本中的标签指示了该组训练样本包括的第一训练文本与第二训练文本语义相似,label=-1表征该组训练样本中的标签指示了该组训练样本中的第一训练文本和第二训练文本语义不相似。
可以理解的是,训练第一语言模型时,终止继续更新第一语言模型的条件可以为,通过第一语言模型预测连续多组训练样本中包括的两个训练文本的特征值时,通过该损失函数计算得到的损失均满足一定条件,比如计算的损失均小于预设值。
可以理解的是,对于第一语言模型,其包含的两个分支的结构及使用的参数可完全相同;而且,第一语言模型包含的两个分支可能共用同一个功能模块,比如可能共用输入层及分类层。相应的,在训练得到上述具有两个分支的第一语言模型的基础上,在步骤22,可以将各个代表文本分别输入所述第一语言模型的任意一个分支,通过所述任意一个分支得到各个代表文本的特征值。
接着,在步骤23,根据各个代表文本的特征值对各个代表文本排序,得到文本序列。具体地,可按照特征值依次递增或特征值依次递减的方式,对各个代表文本进行排序,得到由各个代表文本连续排列所形成的文本序列。
可以理解的是,得到的文本序列可提供给工作人员,具体可以通过相应的终端设备对该文本序列进行显示,实现将得到的文本序列提供给工作人员。而且,终端设备可以配置相应的输入装置,以便工作人员能够通过输入装置对终端设备显示的文本序列中、语义相似的代表文本进行标注。
于是,在步骤24,可以接收工作人员输入的、对文本序列的标注信息,所述标注信息指示了文本序列的至少一个子序列,同一个子序列包含的多个代表文本语义相似。
这里,如果存在多个代表文本具有相似的语义,该多个代表文本则会在文本序列中连续排列,如此,工作人员即可通过判断文本序列中相邻两个代表文本是否语义相似,快速发现由多个语义相似的代表文本连续排列形成的子序列,并针对发现的各个子序列进行标注。在计算设备一侧,即可接收到工作人员针对发现的各个子序列进行标注所产生并输入的标注信息。
图5示出了针对示例性文本序列进行标注,确定出多个标准问题的过程示意图。如图5所示,对于示例性文本序列[S1、...Si-1、Si、Si+1、Si+2、Si+3、...],该示例性文本序列被提供给工作人员之后,工作人员通过依次判断在示例性文本序列中每两个相邻的代表文本之间是否语义相似,具体判断出Si与Si-1语义不相似、Si与Si+1语义相似、Si+1与Si+2语义相似、Si+2与Si+3语义不相似,那么即可对Si、Si+1、Si+2连续排列形成的子序列进行标记;可以理解,工作人员可能发现示例性文本序列中的多个子序列,这里仅以一个子序列进行举例描述。相应的,工作人员通过对前述子序列[Si、Si+1、Si+2]进行标注之后,则可对应产生并输入能够指示被标注的子序列Si、Si+1、Si+2的标注信息。
在一种可能的实施方式中,所述标注信息包括:与至少一个子序列一一对应的至少一条指示信息,所述指示信息指示了对应的子序列在文本序列中的起始位置及截止位置。这里,即工作人员每发现一个由多个语义相似的代表文本连续排列形成的子序列,即可对该子序列进行一次标注,对应的产生能够用于指示被标注的该子序列的指示信息,该指示信息能够指示被标注的该子序列在文本序列中的起始位置及截止位置。
在一个较为具体的示例中,子序列在文本序列中的起始位置,可以包括该子序列中、排列于首位的代表文本在文本序列中对应的顺序编号;相应的,子序列在文本中的截止位置,可以包括该子序列中、排列于末位的代表文本在文本序列中对应的顺序编号。如图5所示,示例性文本序列[S1、...Si-1、Si、Si+1、Si+2、Si+3、...]中,工作人员发现Si、Si+1、Si+2语义相似,对子序列[Si、Si+1、Si+2]进行标注时,即可对应的产生并输入对应该子序列[Si、Si+1、Si+2]的指示信息,该指示信息可以包括:Si对应在文本序列中的顺序编号i以及Si+2对应在文本序列中的顺序编号i+2,即对示例性文本序列[S1、...Si-1、Si、Si+1、Si+2、Si+3、...]的标注信息中,至少可以包括一条与子序列[Si、Si+1、Si+2]对应的指示信息(i,i+2)。可以理解,在计算设备一侧,至少可以针对该指示信息(i,i+2)指示的子序列[Si、Si+1、Si+2]进行相应的处理。
在另一个较为具体的示例中,子序列在文本中的起始位置,可以包括该子序列中排列于首位的代表文本;相应的,子序列在文本中的截止位置,可以包括该子序列中排列于末位的代表文本。
然后,在步骤25,针对每个子序列,确定用于代表该子序列的选定文本。
这里,选定文本应当能够较好的表达其对应的子序列所包含的多个代表文本的核心语义,使得各个子序列对应的选定文本与未包含于各个子序列的代表文本的语义各不相似。
不难理解的,在计算设备一侧,可以根据预先设置的逻辑规则,确定出标注信息指示的一个或多个子序列。如图5所示,当用户通过输入装置对示例性文本序列[S1、...Si-1、Si、Si+1、Si+2、Si+3、...]中的子序列[Si、Si+1、Si+2]进行标注,对应产生并输入的指示信息为(i,i+2),计算设备一侧即可确定出该指示信息实际指示的子序列为:对应在文本序列中的顺序位编号从i开始、到i+2截止的代表文本依次排列而成的子序列。
在一种可能的实施方式中,可以针对每个子序列,从该子序列包含的多个代表文本中选择一个选定文本。该实施方式中,同一个子序列包含的多个代表文本语义相似,该子序列中包含的任意一个代表文本,均能够较好的表达该子序列包含的各个代表文本的核心语义,因此,可从该子序列包括的各个代表文本中选择一个选定文本,作为后续确定标准问题的依据。
在另一种可能的实施方式中,可以针对每个子序列,合并该子序列包含的多个代表文本分别对应的文本类簇中的文本,得到该子序列对应的文本集合;从该子序列对应的文本集合中选择一个文本作为选定文本。该实施方式中,可采用与前述从文本类簇中获取代表文本相似的方法,从各个子序列对应的文本集合中分别一个选择选定文本,使得各个选定文本语义清晰且能够表达相应文本集合中大量文本的核心语义。
进一步的,在步骤26,根据各个所述选定文本以及未包含于各个子序列的代表文本,确定多个标准问题。
具体地,步骤26可将各个选定文本以及未包含于各个子序列的代表文本分别确定为一个标准问题。这里,语义相似的代表文本位于同一个子序列中,各个选定文本与各个子序列存在对应关系,且选定文本可表达与其对应的子序列所包含的各个代表文本的核心语义。因此,各个选定文本以及未包含于各个子序列的代表文本中,任意两个文本之间的语义均不相似,相应的,所确定的各个标准问题中则不会存在语义相似的标准问题。
下面仍然结合图5描述上述过程。假定通过上述步骤25的任一种可能的实施方式,得到用于代表子序列[Si、Si+1、Si+2]的选定文本X。在步骤26,如图5所示,在示例性文本序列[S1、...Si-1、Si、Si+1、Si+2、Si+3、...]中,可利用选定文本X替换其代表的子序列[Si、Si+1、Si+2],得到由选定文本以及未包含于子序列[Si、Si+1、Si+2]的代表文本组成的新的文本序列,然后将得到的新的文本序列中的各个文本分别确定为一个标准问题。
综上可见,本说明书实施例的技术方案,工作人员无需判断每两个代表文本之间是否语义相似,也无需对每两个代表文本之间是否语义相似进行标注,仅通过少量的语义相似性判断即可快速发现语义相似的代表文本,并通过少量的标注指示出语义相似的代表文本,能够在较为有效的避免产生语义相似的标准问题的基础上,降低人工干预程度。
图6示出了一种确定标准问题的装置的结构示意图。
基于与前述各个方法实施例相同的构思,本说明书实施例提供了一种确定标准问题的装置,该装置可以部署于计算设备中,以便该计算设备作为执行主体,具体实施前述各个实施例中所述的方法。如图6所示,确定标准问题的装置可以包括:
代表文本获取模块61,配置为获取多个文本类簇分别对应的代表文本,其中,所述多个文本类簇是对多个用户问题分别对应的文本进行聚类分析得到的;
特征值获取模块62,配置为获取各个代表文本的特征值,使得任意两个代表文本的特征值之间的差值与所述任意两个代表文本的语义相似程度负相关;
排序处理模块63,配置为根据各个代表文本的特征值对各个代表文本排序,得到文本序列;
交互处理模块64,配置为接收对文本序列的标注信息,所述标注信息指示了文本序列的至少一个子序列,同一个子序列包含的多个代表文本语义相似;
相似文本处理模块65,配置为针对每个子序列,确定用于代表该子序列的选定文本;
标准问题确定模块66,配置为根据各个子序列对应的所述选定文本以及未包含于各个子序列的代表文本,确定多个标准问题。
在一种可能的实施方式中,所述装置还包括:
向量获取模块,配置为获取多个用户问题分别对应的文本的特征向量;
聚类分析模块,配置为根据各个文本的特征向量,基于聚类算法对各个文本进行聚类分析,得到所述多个文本类簇;
所述聚类算法包括:DBSCAN、HDBSCAN、BIRCH及HAC中的任一项。
在一种可能的实施方式中,所述特征值获取模块62,包括:
向量获取单元,配置为获取各个代表文本的特征向量;
特征值获取单元,配置为基于T-SNE算法对各个代表文本的特征向量进行降维,得到各个代表文本的特征值。
在另一种可能的实施方式中,所述特征值获取模块62,包括:
模型获取单元,配置为获取第一语言模型,其中,所述第一语言模型包含两个分支,每个分支用于预测对应输入的文本的特征值,所述第一语言模型被训练为,两个分支预测的两个特征值之间的差值与对应输入的两个文本的语义相似程度负相关;
模型调用单元,配置为将各个代表文本分别输入所述第一语言模型的任意一个分支,通过所述任意一个分支得到各个代表文本的特征值。
在一个较为具体的示例中,所述第一语言模型基于多组训练样本训练得到,其中,每组训练样本包括两个训练文本,以及包括用于指示所述两个训练文本是否语义相似的标签。
在一个更为具体的示例中,所述第一语言模型的两个分支为第一分支和第二分支,每组所述训练样本包括第一训练文本和第二训练文本,所述第一语言模型通过模型获取单元进行训练,所述模型获取单元,具体用于执行:
将任一组训练样本包括的第一训练文本和第二训练文本,分别输入所述第一语言模型的第一分支和第二分支;
得到第一分支针对第一训练文本预测的第一特征值,以及第二分支针对第二训练文本预测的第二特征值;
根据第一特征值和第二特征值之间的差值,以及所述任一组训练样本包括的标签,更新所述第一语言模型。
在一种可能的实施方式中,所述第一语言模型是基于BERT的语言模型。
在一种可能的实施方式中,所述相似文本处理模块,具体配置为针对每个子序列,从该子序列包含的多个代表文本中选择一个选定文本。
在另一种可能的实施方式中,所述相似文本处理模块65,包括:
合并处理单元,配置为针对每个子序列,合并该子序列包含的多个代表文本分别对应的文本类簇中的文本,得到该子序列对应的文本集合;
文本选择单元,配置为从该子序列对应的文本集合中选择一个文本作为选定文本。
在一种可能的实施方式中,所述标注信息包括:与至少一个子序列一一对应的至少一条指示信息,所述指示信息指示了对应的子序列在文本序列中的起始位置及截止位置。
在一种可能的实施方式中,所述代表文本获取模块61,具体配置为针对多个文本类簇中的每个文本类簇,执行:根据该文本类簇中的各个文本的特征向量,确定该文本类簇的语义中心对应的中心向量;确定该文本类簇中的各个文本的特征向量与中心向量的距离;将该文本类簇中的各个文本分别输入预先训练的第二语言模型,得到该文本类簇中的各个文本分别对应的输出概率,输出概率用于指示对应的文本语义清晰的可能性;至少根据该文本类簇中的各个文本分别对应的输出概率及距离,从该文本类簇中选择一个文本作为该文本类簇对应的代表文本。
上述各个实施例中提供的确定代表文本的装置可以由任何具有计算、处理能力的软件、硬件或其组合来实现。一般的,上述装置集成/部署在服务器或一般计算机等计算设备中。
本说明书还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现说明中任意一个实施例描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能所对应的计算机程序存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令/代码进行传输,以便这些功能所对应的计算机程序被计算机执行时,通过计算机实现本发明任意一个实施例中所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同、相似的部分互相参见即可,每个实施例中重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。