CN112487158B - 一种多轮对话的问题定位方法及装置 - Google Patents
一种多轮对话的问题定位方法及装置 Download PDFInfo
- Publication number
- CN112487158B CN112487158B CN202011233873.9A CN202011233873A CN112487158B CN 112487158 B CN112487158 B CN 112487158B CN 202011233873 A CN202011233873 A CN 202011233873A CN 112487158 B CN112487158 B CN 112487158B
- Authority
- CN
- China
- Prior art keywords
- dialogue
- round
- index
- content
- dialog
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/38—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供了一种多轮对话的问题定位方法及装置。所述方法包括:获取对话双方进行多轮对话时的对话信息;根据所述对话信息,确定所述对话双方每轮对话的对话内容;根据所述每轮对话的对话内容,生成每轮对话的对话指标;其中,所述对话指标至少包括用于指示所述对话内容的语义是否连续的第一指标;根据每轮对话的对话指标,定位出现问题的对话内容。本发明实施例通过每轮对话各自对应的对话指标,确定每轮对话的对话情况,进而根据每轮对话的对话情况,可以准确确定出多轮对话中问题对话的位置。
Description
技术领域
本发明涉及智能语音交互领域,尤其涉及一种多轮对话的问题定位方法及装置。
背景技术
智能语音交互机器人可以实现人机对话,通过识别用户意图执行预设操作。因此在很多领域,采用智能语音交互机器人代替真人开展业务,从而节省了大量人力成本。人机交互过程中,通常用户是带着明确的目的,来办理具体业务的。而这中间可能有很多限制条件,用户并不能一次将办理业务所需的关键信息一次性说完、说清楚,因此就要跟智能语音交互机器人进行多轮对话,将自己的意图清楚完整的告诉智能语音交互机器人;智能语音交互机器人根据多轮下来的所有对话内容开展业务。这就是大部分智能语音交互机器人采用的多轮对话技术。
目前,对多轮对话的评测集中在对多轮对话完成质量的评价。衡量多轮对话完成质量的指标通常为:任务完成率(成功到达节点比例)。由于多轮对话的目的在于进行一个任务,因此通常在任务结束处设置一节点。通过是否成功到达该节点,确定是否完成任务,进而衡量多轮对话的完成质量。
然而,任务完成率实质为任务完成情况的结论性描述。针对没有完成任务的情况或者一些虽然完成了任务但中间过程中存在错误对话的特殊情况,仅凭任务完成率无法及时确定具体是哪些对话出现了问题。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的前端请求的处理方法及装置。
第一方面,本发明实施例提供了一种多轮对话的问题定位方法,所述方法包括:
获取对话双方进行多轮对话时的对话信息;
根据所述对话信息,确定所述对话双方每轮对话的对话内容;
根据所述每轮对话的对话内容,生成每轮对话的对话指标;其中,所述对话指标至少包括用于指示所述对话内容的语义是否连续的第一指标;
根据每轮对话的对话指标,定位出现问题的对话内容。
可选的,在所述对话指标包括所述第一指标的情况下,所述根据所述每轮对话的对话内容,生成每轮对话的对话指标,包括:
将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息;其中,所述中间信息包括:用于指示对话内容的语义是否连续的指示值以及得到所述指示值的概率值;
分别将对应每轮对话的所述中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标。
可选的,所述将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息,包括:
分别对每轮对话的对话内容进行拼接,得到每轮对话的拼接语句;
分别根据每轮对话的拼接语句,得到每轮对话的输入向量;其中,所述输入向量包括:词向量、位置向量以及分割向量;
分别根据每轮对话的所述输入向量,生成每轮对话的输入向量组;
分别将每轮对话的所述输入向量组输入所述预先训练好的目标模型进行计算,得到对应每轮对话的所述中间信息。
可选的,所述分别将对应每轮对话的所述中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标,包括:
针对每轮对话,比较所述对话的中间信息中的概率值与所述分类模型中的分类阈值,在所述对话的中间信息中的概率值大于或者等于所述分类阈值时,将所述对话对应的指示值确定为所述对话的第一指标。
可选的,所述对话指标还包括用于指示是否进入兜底话术的第二指标。
可选的,根据所述每轮对话的对话内容,生成每轮对话的对话指标中的第二指标,包括:
将每轮对话的对话内容中回答方对应的对话内容与预设兜底话术进行比较,得到比较结果;
根据所述比较结果生成第二指标。
可选的,所述根据所述比较结果生成第二指标,包括:
在所述比较结果指示回答方对应的对话内容与预设兜底话术一致的情况下,生成指示进入兜底话术的第二指标;
在所述比较结果指示回答方对应的对话内容与预设兜底话术不一致的情况下,生成指示未进入兜底话术的第二指标。
第二方面,本发明实施例还提供了一种多轮对话的问题定位装置,所述装置包括:
获取模块,用于获取对话双方进行多轮对话时的对话信息;
确定模块,用于根据所述对话信息,确定所述对话双方每轮对话的对话内容;
生成模块,用于根据所述每轮对话的对话内容,生成每轮对话的对话指标;其中,所述对话指标至少包括用于指示所述对话内容的语义是否连续的第一指标;
定位模块,用于根据每轮对话的对话指标,定位出现问题的对话内容。
可选的,在所述对话指标包括所述第一指标的情况下,所述生成模块,包括:
第一计算单元,用于将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息;其中,所述中间信息包括:用于指示对话内容的语义是否连续的指示值以及得到所述指示值的概率值;
第二计算单元,用于分别将对应每轮对话的所述中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标。
可选的,所述第一计算单元,具体用于分别对每轮对话的对话内容进行拼接,得到每轮对话的拼接语句;分别根据每轮对话的拼接语句,得到每轮对话的输入向量;其中,所述输入向量包括:词向量、位置向量以及分割向量;分别根据每轮对话的所述输入向量,生成每轮对话的输入向量组;分别将每轮对话的所述输入向量组输入所述预先训练好的目标模型进行计算,得到对应每轮对话的所述中间信息。
第三方面,本发明实施例还提供一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的多轮对话的问题定位方法中的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的多轮对话的问题定位方法中的步骤。
在本发明实施例中,获取对话双方进行多轮对话时的对话信息,根据对话信息,确定对话双方每轮对话的对话内容。即确定多轮对话过程中,每轮对话的对话内容。根据每轮对话的对话内容,生成每轮对话的对话指标。分别针对每轮对话,生成每轮对话各自对应的对话指标。其中,对话指标至少包括用于指示对话内容的语义是否连续的第一指标。可以将语义是否连续作为对话是否出现问题的依据之一。进而根据每轮对话的对话指标,定位出现问题的对话内容。本发明实施例通过每轮对话各自对应的对话指标,确定每轮对话的对话情况,进而根据每轮对话的对话情况,可以准确确定出多轮对话中问题对话的位置。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的多轮对话的问题定位方法的步骤流程图;
图2为本发明实施例的训练BERT模型的步骤流程图;
图3为本发明实施例提供的多轮对话的问题定位方法的实际应用流程图;
图4为本发明实施例提供的多轮对话的问题定位装置的结构框图;
图5为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,本发明实施例提供了一种多轮对话的问题定位方法,该方法包括:
步骤101:获取对话双方进行多轮对话时的对话信息。
应当说明的是,对话双方可以为人与机器。例如对话双方分别为用户和智能语音交互机器人,但不限于此。这里的多轮对话是对话双方在一定时间内进行的多次交互。对话信息是对话双方在该时间内进行交互过程中各自的发言。即该对话信息为记录有对话双方各自发言的文字信息。
步骤102:根据对话信息,确定对话双方每轮对话的对话内容。
应当说明的是,对话信息中多轮对话的对话内容记录在一起。这里,每轮对话包括对话双方各自的一次发言。较佳的,对话信息中包括用于区分每轮对话的标记。这里的标记可以是生成对话信息时或者生成对话信息之后,在每轮对话内容结尾处添加的标记。具体的,预设标记可以为字母、数字或者特殊符号。当然也可以将对话信息中的每组对话作为一轮对话;其中,每组对话包括对话双方各自的一次发言。可以将对话信息分割为多份不同的信息,每份信息记录一轮对话的对话内容。从而方便针对每轮对话的对话内容分别进行处理。
步骤103:根据每轮对话的对话内容,生成每轮对话的对话指标。
应当说明的是,对话指标至少包括用于指示对话内容的语义是否连续的第一指标。每轮对话的第一指标用于指示各自对话内容的语义是否连续。这里,以每轮对话包括一次提问和一次回答为例。若每轮对话中的问题与答案相匹配则认为连续,否则认为不连续。第一指标可以是指示语义连续的第一标识或者指示语义不连续的第二标识。例如第一指标为1时,表示语义连续;第一指标为0时,表示语义不连续。
步骤104:根据每轮对话的对话指标,定位出现问题的对话内容。
应当说明的是,可以预先设定目标条件,将不符合目标条件的对话指标指示的那轮对话的对话内容作为出现问题的对话内容。这里的目标条件可以根据对话指标自行设定。例如对话指标仅包括第一指标时,目标条件为语义连续。即语义不连续的对话内容为出现问题的对话内容。
本发明实施例中,获取对话双方进行多轮对话时的对话信息,根据对话信息,确定对话双方每轮对话的对话内容。即确定多轮对话过程中,每轮对话的对话内容。根据每轮对话的对话内容,生成每轮对话的对话指标。分别针对每轮对话,生成每轮对话各自对应的对话指标。其中,对话指标至少包括用于指示对话内容的语义是否连续的第一指标。可以将语义是否连续作为对话是否出现问题的依据之一。进而根据每轮对话的对话指标,定位出现问题的对话内容。本发明实施例通过每轮对话各自对应的对话指标,确定每轮对话的对话情况,进而根据每轮对话的对话情况,可以准确确定出多轮对话中问题对话的位置。
可选的,在对话指标包括第一指标的情况下,根据每轮对话的对话内容,生成每轮对话的对话指标,包括:
将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息。
本步骤中,中间信息包括:用于指示对话内容的语义是否连续的指示值以及得到指示值的概率值。指示值可以为1或者0;其中,指示值为1表示对话内容的语义连续;指示值为0表示对话内容的语义不连续。概率值为大于等于零,并且小于等于1的数值。这里,可以预先获取第一训练数据,采用第一训练数据对初始目标模型进行训练,得到训练好的目标模型。通过该训练好的目标模型可以得到每轮对话的中间信息。第一训练数据包括大量正负样本;其中,正样本包括问题和与该问题相匹配的答案,标签为1;负样本包括:问题和与该问题不匹配的答案,标签为0。标签为1指示问题与答案匹配,或者对话内容的语义连续。标签为0指示问题与答案不匹配,或者对话内容的语义不连续。
分别将对应每轮对话的中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标;
本步骤中,与训练目标模型的过程类似,采用第二训练数据训练分类模型,得到训练好的分类模型。这里的第二训练数据可以为目标模型训练过程中的输出值。
本发明实施例中,通过训练好的目标模型得到每轮对话中间信息,从而得到每轮对话的对话内容是否连续的初步结论。利用预先训练好的分类模型对中间信息进行分类处理,得到最终结果即每轮对话的第一指标对进行分类。通过训练好的分类模型再次进行处理,可以进一步提升最终结果的准确性。
可选的,将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息,包括:
分别对每轮对话的对话内容进行拼接,得到每轮对话的拼接语句。
本步骤中,拼接语句为采用预设方式拼接对话双方的各自发言得到的语句。例如对话双方的发言分别为“你那怎么扣钱扣那么多啊”和“缴费金额话术”,则拼接语句为“[cls]你那怎么扣钱扣那么多啊[sep]缴费金额话术”。其中,[cls]字符表示当前任务是文本分类,[sep]表示分割符,用于分割对话双方各自的发言。
分别根据每轮对话的拼接语句,得到每轮对话的输入向量。
本步骤中,输入向量包括:词向量、位置向量以及分割向量。这里,输入向量指示的三个向量对应BERT(Bidirectional Encoder Representations from Transformers,BERT)模型中的三个嵌入层。
分别根据每轮对话的输入向量,生成每轮对话的输入向量组。
本步骤中,输入向量组中向量的数量等于拼接语句的长度。例如拼接语句为:[cls]你那怎么扣钱扣那么多啊[sep]缴费金额话术;则输入向量组中向量的数量为19。
分别将每轮对话的输入向量组输入预先训练好的目标模型进行计算,得到对应每轮对话的中间信息。
应当说明的是,目标模型为BERT模型,通过训练好的BERT模型得到输出的向量序列中的第一个向量T0。即若通过BERT模型得到输出的向量序列为[T0,T1,T2……T18],则获取T0。然后根据公式一计算得到用于指示对话内容的语义是否连续的指示值。
公式一:y_predict=output_layer×output_weights;其中,y_predict表示指示值,output_layer等于T0,output_weights表示训练好的BERT模型的权重参数。
然后根据公式二计算得到指示值的概率值。
公式二:prb=softmax(y_predict);其中,prb表示得到指示值的概率,y_predict表示指示值。
这里,在目标模型为BERT模型时,得到训练好的BERT模型的过程可采用图2所示流程。具体的,该流程包括:
步骤201:准备模型的训练样本集,即训练语料集。这里,使用真实的用户问题以及对应该问题的标准话术作为答案。生成正负样本,正样本包括问题和与该问题相匹配的答案,标签为1;负样本包括:问题和与该问题不匹配的答案,标签为0。标签为1指示问题与答案匹配,或者对话内容的语义连续。标签为0指示问题与答案不匹配,或者对话内容的语义不连续。较佳的,还可以同时准备模型的测试集和验证集,用于测试和验证训练好的模型的效果。
步骤202:输入层处理,模型输入向量化。这里,针对语料集中的每个元素分别进行处理,并分别输入模型。以针对一个元素进行处理为例进行说明。将语料中的问题与答案进行拼接,并将拼接后的结果sequence按字生成token_id,segment_id,position_id三组特征向量,封装到features对象,“0”,“1”作为label_id也封装到features对象;每组向量的长度为N=n,n=length(sequence)。将features对象中三组特征向量拼接,形成输入层的值input_embedding。
步骤203:定义BERT主体模型。
BERT模型的主体结构为transfomer模块。将input_embedding作为输入,输出层output_layer生成序列值T0,T1,...,Tn。
步骤204:训练模型。
T0值对应“0”,“1”的概率分布。计算output_layer=T0;y_predict=output_layer×output_weights;y_log=log_softmax(y_predict);其中,y_predict表示语料中的问题与答案是否语义连续的结果,该结果为0或者1;output_weights表示BERT模型的权重参数;y_log表示得到y_predict这样的结果的概率值。这里训练过程中,针对每次训练的结果进行迭代,调整模型中的output_weights。在loss的数值达到最小的情况下认为训练结束。其中loss=reduce_sum(y_label×y_log,axis=-1);loss表示交叉熵损失函数,y_label是训练样本集中的标签。较佳的,迭代过程中采用反向传播算法(Backpropagationalgorithm)进行迭代,但不限于此。
可选的,分别将对应每轮对话的中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标,包括:
针对每轮对话,比较对话的中间信息中的概率值与分类模型中的分类阈值,在对话的中间信息中的概率值大于或者等于分类阈值时,将对话对应的指示值确定为对话的第一指标。
应当说明的是,分类模型进行计算的过程可以理解为公式三的计算过程。
公式三:y_final=y_predict×(prb>=θ)+(1-y_predict)×(prb<θ);其中,y_final表示第一指标;y_predict表示中间信息中的指示值,其中该指示值可以为0或者1;prb表示中间信息中的概率值;θ表示分类模型的超参数,作为分类prb的阈值。训练分类模型是为了使分类模型的超参数为最优参数,使得使用公式三得到的结果准确率较高。较佳的,可以采用随机梯度下降原理确定分类模型的最优参数,避免随意设置超参数的数值造成分类准确率下降的问题。
为进一步确认最优参数,通过验证集对训练好的分类模型进行验证。根据公式四和公式五计算得到类别为0的f1值以及类别为1的f1值。
公式四:F1_0=2×precision_0×recall_0/(precision_0+recall_0);
公式五:F1_1=2×precision_1×recall_1/(precision_1+recall_1);
上述公式四和公式五中,F1_0表示类别0的f1值;F1_1表示类别1的f1值;precision_0表示类别0的精确率;precision_1表示类别1的精确率,recall_0表示类别0的召回率;recall_1表示类别1的召回率。在验证集上计算f1值,验证分类模型的训练效果和超参数的选取是否在样本集下达到最优。
可选的,对话指标还包括用于指示是否进入兜底话术的第二指标。
应当说明的是,多轮对话过程中智能语音交互机器人意图识别失败或词槽识别失败,会导致进入兜底话术。兜底话术是一种bad reply,例如可以为一段固定的语句。通过第二指标同样可以定位出现问题的对话内容。例如对话内容中智能语音交互机器人的回答为兜底话术,则认为该对话内容出现问题,但不限于此。较佳的,根据每轮对话的对话内容,生成每轮对话的对话指标中的第二指标,包括:将每轮对话的对话内容中回答方对应的对话内容与预设兜底话术进行比较,得到比较结果;根据比较结果生成第二指标。这里,每轮对话的对话双方分别为提问方和回答方;其中,回答方即为智能语音交互机器人。比较结果可以为回答方对应的对话内容与预设兜底话术一致或者不一致,从而生成用于指示不同内容的第二指标。具体的,根据比较结果生成第二指标,包括:
在比较结果指示回答方对应的对话内容与预设兜底话术一致的情况下,生成指示进入兜底话术的第二指标。在比较结果指示回答方对应的对话内容与预设兜底话术不一致的情况下,生成指示未进入兜底话术的第二指标。例如在比较结果指示回答方对应的对话内容与预设兜底话术一致的情况下,生成的第二指标为1;时指示。在比较结果指示回答方对应的对话内容与预设兜底话术不一致的情况下,生成的第二指标为0。
可选的,在生成每轮对话的对话指标的步骤之后,该方法还包括:
统计出现问题的对话数量占多轮对话过程中所有对话数量的比例和/或单个节点上出现问题的对话数量占该节点上的对话数的比例。
应当说明的是,多轮对话中某节点上的对话数是指正确流经该节点的对话、本该流经该节点但智能语音交互机器人答案错误而未流经该节点的对话数。
参见图3,为本发明实施例提供的多轮对话的问题定位方法的实际应用流程图。包括:
步骤301:待判定问答对输入。分别将多轮对话中的每轮对话的对话内容作为问答对进行拼接得到每轮对话的拼接语句。分别根据每轮对话的拼接语句,得到每轮对话的输入向量。其中,输入向量包括:词向量、位置向量以及分割向量。分别根据每轮对话的输入向量,生成每轮对话的输入向量组。
步骤302:模型计算。将每轮对话的输入向量组分别输入训练好的BERT模型,得到输出的向量序列中的第一个向量T0。然后根据上述实施例中的公式一和公式二计算得到用于指示对话内容的语义是否连续的指示值以及得到指示值的概率值。
步骤303:分类判定。将指示值和概率值输入预先训练好的分类模型,通过上述实施例中的公式三进行计算,得到用于指示对话内容的语义是否连续的最终结果。
步骤304:统计多轮对话性能指标。这里,将指示对话内容的语义是否连续的最终结果作为多轮对话性能指标中的第一指标;多轮对话性能指标还包括:用于指示是否进入兜底话术第二指标。
统计多轮对话性能指标具体包括:根据第一指标得到统计后的第一统计指标和第二统计指标;其中第一统计指标=多轮对话过程中非连续性对话数/多轮对话的对话数节点;第二统计指标=多轮对话某节点触发的非连续性对话数/多轮对话某节点上的对话数。这里,计算第一统计指标时的多轮对话的对话数节点也可以为多轮对话过程中的所有对话数。多轮对话中某节点上的对话数是指正确流经该节点的对话、本该流经该节点但机器人答案错误而未流经该节点的对话数。
根据第二指标得到统计后的第三统计指标和第四统计指标;其中第三统计指标=触发兜底话术的次数/多轮对话的对话数;第二统计指标=该节点触发兜底话术的次数/多轮对话中该节点对话数。这里,多轮对话中某一个节点对话数包括正确流经该节点的对话、本该流经该节点但因为意图和词槽识别错误而走兜底的话术。
本发明实施例中,可以通过多轮对话性能指标,衡量各种任务型多轮对话的质量。可以准确快速的定位出现问题的对话内容,减少问题定位的分析时间,快速优化话术、意图或多轮跳转逻辑。
以上介绍了本发明实施例提供的多轮对话的问题定位方法,下面将结合附图介绍本发明实施例提供的多轮对话的问题定位装置。
参见图4,本发明实施例还提供了一种多轮对话的问题定位装置,该装置包括:
获取模块41,用于获取对话双方进行多轮对话时的对话信息;
确定模块42,用于根据对话信息,确定对话双方每轮对话的对话内容;
生成模块43,用于根据每轮对话的对话内容,生成每轮对话的对话指标;其中,对话指标至少包括用于指示对话内容的语义是否连续的第一指标;
定位模块44,用于根据每轮对话的对话指标,定位出现问题的对话内容。
可选的,在对话指标包括第一指标的情况下,生成模块43,包括:
第一计算单元,用于将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息;其中,中间信息包括:用于指示对话内容的语义是否连续的指示值以及得到指示值的概率值;
第二计算单元,用于分别将对应每轮对话的中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标。
可选的,第一计算单元,具体用于分别对每轮对话的对话内容进行拼接,得到每轮对话的拼接语句;分别根据每轮对话的拼接语句,得到每轮对话的输入向量;其中,输入向量包括:词向量、位置向量以及分割向量;分别根据每轮对话的输入向量,生成每轮对话的输入向量组;分别将每轮对话的输入向量组输入预先训练好的目标模型进行计算,得到对应每轮对话的中间信息。
可选的,第二计算单元,具体用于针对每轮对话,比较对话的中间信息中的概率值与分类模型中的分类阈值,在对话的中间信息中的概率值大于或者等于分类阈值时,将对话对应的指示值确定为对话的第一指标。
可选的,对话指标还包括用于指示是否进入兜底话术的第二指标。
可选的,生成模块43,还用于将每轮对话的对话内容中回答方对应的对话内容与预设兜底话术进行比较,得到比较结果;根据比较结果生成第二指标。
可选的,生成模块43,具体用于在比较结果指示回答方对应的对话内容与预设兜底话术一致的情况下,生成指示进入兜底话术的第二指标;在比较结果指示回答方对应的对话内容与预设兜底话术不一致的情况下,生成指示未进入兜底话术的第二指标。
本发明实施例提供的多轮对话的问题定位装置能够实现图1至图3的方法实施例中多轮对话的问题定位方法实现的各个过程,为避免重复,这里不再赘述。
本发明的实施例中,获取模块,用于获取对话双方进行多轮对话时的对话信息;确定模块,用于根据对话信息,确定对话双方每轮对话的对话内容。即确定多轮对话过程中,每轮对话的对话内容。生成模块,用于根据每轮对话的对话内容,生成每轮对话的对话指标;其中,对话指标至少包括用于指示对话内容的语义是否连续的第一指标;可以将语义是否连续作为对话是否出现问题的依据之一。进而定位模块根据每轮对话的对话指标,定位出现问题的对话内容。本发明实施例通过每轮对话各自对应的对话指标,确定每轮对话的对话情况,进而根据每轮对话的对话情况,可以准确确定出多轮对话中问题对话的位置。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述多轮对话的问题定位方法中的步骤。
举个例子如下,图5示出了一种电子设备的实体结构示意图。
如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行如下方法:
获取对话双方进行多轮对话时的对话信息;
根据所述对话信息,确定所述对话双方每轮对话的对话内容;
根据所述每轮对话的对话内容,生成每轮对话的对话指标;其中,所述对话指标至少包括用于指示所述对话内容的语义是否连续的第一指标;
根据每轮对话的对话指标,定位出现问题的对话内容。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的多轮对话的问题定位方法,例如包括:
获取对话双方进行多轮对话时的对话信息;
根据所述对话信息,确定所述对话双方每轮对话的对话内容;
根据所述每轮对话的对话内容,生成每轮对话的对话指标;其中,所述对话指标至少包括用于指示所述对话内容的语义是否连续的第一指标;
根据每轮对话的对话指标,定位出现问题的对话内容。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种多轮对话的问题定位方法,其特征在于,所述方法包括:
获取对话双方进行多轮对话时的对话信息;
根据所述对话信息,确定所述对话双方每轮对话的对话内容;每轮对话包括对话双方各自的一次发言;
根据所述每轮对话的对话内容,生成每轮对话的对话指标;其中,所述对话指标至少包括用于指示所述对话内容的语义是否连续的第一指标;
根据每轮对话的对话指标,定位出现问题的对话内容;
在所述对话指标包括所述第一指标的情况下,所述根据所述每轮对话的对话内容,生成每轮对话的对话指标,包括:
将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息;其中,所述中间信息包括:用于指示对话内容的语义是否连续的指示值以及得到所述指示值的概率值;
分别将对应每轮对话的所述中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标;
所述分别将对应每轮对话的所述中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标,包括:
针对每轮对话,比较所述对话的中间信息中的概率值与所述分类模型中的分类阈值,在所述对话的中间信息中的概率值大于或者等于所述分类阈值时,将所述对话对应的指示值确定为所述对话的第一指标。
2.根据权利要求1所述的方法,其特征在于,所述将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息,包括:
分别对每轮对话的对话内容进行拼接,得到每轮对话的拼接语句;
分别根据每轮对话的拼接语句,得到每轮对话的输入向量;其中,所述输入向量包括:词向量、位置向量以及分割向量;
分别根据每轮对话的所述输入向量,生成每轮对话的输入向量组;
分别将每轮对话的所述输入向量组输入所述预先训练好的目标模型进行计算,得到对应每轮对话的所述中间信息。
3.根据权利要求1所述的方法,其特征在于,所述对话指标还包括用于指示是否进入兜底话术的第二指标。
4.根据权利要求3所述的方法,其特征在于,根据所述每轮对话的对话内容,生成每轮对话的对话指标中的第二指标,包括:
将每轮对话的对话内容中回答方对应的对话内容与预设兜底话术进行比较,得到比较结果;
根据所述比较结果生成第二指标。
5.根据权利要求4所述的方法,其特征在于,所述根据所述比较结果生成第二指标,包括:
在所述比较结果指示回答方对应的对话内容与预设兜底话术一致的情况下,生成指示进入兜底话术的第二指标;
在所述比较结果指示回答方对应的对话内容与预设兜底话术不一致的情况下,生成指示未进入兜底话术的第二指标。
6.一种多轮对话的问题定位装置,其特征在于,所述装置包括:
获取模块,用于获取对话双方进行多轮对话时的对话信息;
确定模块,用于根据所述对话信息,确定所述对话双方每轮对话的对话内容;
生成模块,用于根据所述每轮对话的对话内容,生成每轮对话的对话指标;其中,所述对话指标至少包括用于指示所述对话内容的语义是否连续的第一指标;
定位模块,用于根据每轮对话的对话指标,定位出现问题的对话内容;
在对话指标包括第一指标的情况下,所述生成模块,包括:
第一计算单元,用于将每轮对话的对话内容分别输入预先训练好的目标模型中进行计算,得到对应每轮对话的中间信息;其中,中间信息包括:用于指示对话内容的语义是否连续的指示值以及得到指示值的概率值;
第二计算单元,用于分别将对应每轮对话的中间信息输入预先训练好的分类模型中进行计算,得到每轮对话的第一指标;
所述第二计算单元,具体用于针对每轮对话,比较对话的中间信息中的概率值与分类模型中的分类阈值,在对话的中间信息中的概率值大于或者等于分类阈值时,将对话对应的指示值确定为对话的第一指标。
7.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的多轮对话的问题定位方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的多轮对话的问题定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233873.9A CN112487158B (zh) | 2020-11-06 | 2020-11-06 | 一种多轮对话的问题定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011233873.9A CN112487158B (zh) | 2020-11-06 | 2020-11-06 | 一种多轮对话的问题定位方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487158A CN112487158A (zh) | 2021-03-12 |
CN112487158B true CN112487158B (zh) | 2023-05-05 |
Family
ID=74928696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011233873.9A Active CN112487158B (zh) | 2020-11-06 | 2020-11-06 | 一种多轮对话的问题定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487158B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193978A (zh) * | 2017-05-26 | 2017-09-22 | 武汉泰迪智慧科技有限公司 | 一种基于深度学习的多轮自动聊天对话方法及系统 |
CN107480143A (zh) * | 2017-09-12 | 2017-12-15 | 山东师范大学 | 基于上下文相关性的对话话题分割方法和系统 |
CN108920644A (zh) * | 2018-06-29 | 2018-11-30 | 北京百度网讯科技有限公司 | 对话连贯性的判断方法、装置、设备及计算机可读介质 |
CN109472030A (zh) * | 2018-11-09 | 2019-03-15 | 科大讯飞股份有限公司 | 一种系统回复质量的评价方法及装置 |
CN109522545A (zh) * | 2018-10-11 | 2019-03-26 | 华东师范大学 | 一种对多轮对话连贯性质量的评估方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107369443B (zh) * | 2017-06-29 | 2020-09-25 | 北京百度网讯科技有限公司 | 基于人工智能的对话管理方法及装置 |
-
2020
- 2020-11-06 CN CN202011233873.9A patent/CN112487158B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193978A (zh) * | 2017-05-26 | 2017-09-22 | 武汉泰迪智慧科技有限公司 | 一种基于深度学习的多轮自动聊天对话方法及系统 |
CN107480143A (zh) * | 2017-09-12 | 2017-12-15 | 山东师范大学 | 基于上下文相关性的对话话题分割方法和系统 |
CN108920644A (zh) * | 2018-06-29 | 2018-11-30 | 北京百度网讯科技有限公司 | 对话连贯性的判断方法、装置、设备及计算机可读介质 |
CN109522545A (zh) * | 2018-10-11 | 2019-03-26 | 华东师范大学 | 一种对多轮对话连贯性质量的评估方法 |
CN109472030A (zh) * | 2018-11-09 | 2019-03-15 | 科大讯飞股份有限公司 | 一种系统回复质量的评价方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112487158A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111177359A (zh) | 多轮对话方法和装置 | |
CN112951240B (zh) | 模型训练、语音识别方法及装置、电子设备及存储介质 | |
CN112905772B (zh) | 语义相关性分析方法、装置及相关产品 | |
CN112084317A (zh) | 预训练语言模型的方法和装置 | |
US7363223B2 (en) | Policy analysis framework for conversational biometrics | |
US11615787B2 (en) | Dialogue system and method of controlling the same | |
CN114548119A (zh) | 测试集的生成方法、测试方法、装置、设备及介质 | |
CN111798871B (zh) | 会话环节识别方法、装置及设备、存储介质 | |
CN112487158B (zh) | 一种多轮对话的问题定位方法及装置 | |
Dinarelli et al. | The luna spoken dialogue system: Beyond utterance classification | |
CN115510192A (zh) | 一种新闻事件脉络关系检测方法及装置 | |
CN115510213A (zh) | 用于作业机械的问答方法及系统、作业机械 | |
CN115410560A (zh) | 一种语音识别方法、装置、存储介质及设备 | |
US20220277149A1 (en) | Statistical language models for simulating communication sessions | |
Jülg et al. | The CSU-K Rule-Based System for the 2nd Edition Spoken CALL Shared Task. | |
CN113449087A (zh) | 信息处理方法、装置、设备及计算机可读存储介质 | |
Luo et al. | DuetSim: Building User Simulator with Dual Large Language Models for Task-Oriented Dialogues | |
Callejas et al. | On the use of kappa coefficients to measure the reliability of the annotation of non-acted emotions | |
CN117407494A (zh) | 对话知识点生成方法及装置 | |
Kooragama et al. | Speech Master: Natural Language Processing and Deep Learning Approach for Automated Speech Evaluation | |
Wright | Modelling Prosodic and Dialogue Information for Automatic Speech Recognition | |
CN114997727A (zh) | 一种客服会话的评估方法及装置 | |
López et al. | Application of confidence measures for dialogue systems through the use of parallel speech recognizers. | |
CN113076408A (zh) | 一种会话信息的处理方法及装置 | |
CN112612878A (zh) | 一种客服信息提供方法、电子设备及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |