CN113742461A - 对话***测试方法和装置、语句改写方法 - Google Patents
对话***测试方法和装置、语句改写方法 Download PDFInfo
- Publication number
- CN113742461A CN113742461A CN202010468610.XA CN202010468610A CN113742461A CN 113742461 A CN113742461 A CN 113742461A CN 202010468610 A CN202010468610 A CN 202010468610A CN 113742461 A CN113742461 A CN 113742461A
- Authority
- CN
- China
- Prior art keywords
- question
- preset
- sentence
- text
- model
- 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.)
- Pending
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/247—Thesauruses; Synonyms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
公开了一种对话***测试方法和装置、语句改写方法。将对话***对应于同一语义的预设问句集合中的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数。基于随机向量分布参数,从随机向量分布中进行采样,得到随机向量。将预设问句和随机向量输入序列到序列模型,得到对应于预设问句的改写问句。将改写问句输入对话***,得到应答输出。判断应答输出与对话***对应于预设问句的预设应答是否一致。由此,根据本公开的方案通过自动生成同义问法表达,使对话***的测试能够自动化进行,能够极大地减小人工工作量,大幅提升了测试效率。
Description
技术领域
本公开涉及对话***仿真测试和文本处理。
背景技术
对话***(或者也可以称为“问答***”)是指利用机器或者智能***自动回答用户所发出的咨询的***。
在客服场景中,对话***(或称为“问答***”)扮演着越来越重要的作用。对于一些简单场景,对话***能极大的节省人工客服的工作量。
客服场景下的对话***有很多是基于QA(Question Answering,问答)模型进行的。
简单来说,在数据库中配置{(q1,r1),(q2,r2),...,(qn,rn)}这样的q-r(问答,问句-应答/答案)对,n是数据库中q-r对的数量。
接收用户输入(query),并进行预处理。然后利用DeepQA模型或其它QA模型来做匹配,从数据库{(q1,r1),(q2,r2),...,(qn,rn)}中选出与query语义最为接近的qm以及对应的应答rm,1≤m≤n。对rm进行后处理后返回给用户。
为了保证QA匹配的准确率,对同一种语义往往配置多个问法。例如,如果用户想要咨询某款手机的防水性能,可能有以下问法:
·防不防水呀?
·这款手机的防水等级是多少?
·沾上水会不会坏掉?
·......
这样,一方面,期望对话***能够对于各种问句都能够给出正确的应答,另一方面,也希望测试人员能够在测试阶段尽可能将某个语义下用户可能问到的各种测试场景(测试问句)都输入到对话***中,从而检测***返回的答案是否能够较好地回答了用户的问题。
通过文本改写,将对话***中已有的问句改写为不同形式的问句,可以有助于解决上述问题。文本改写,即对文本进行词语、短语或者语义层面的改写,与原语句能保证语义层面的一致性。
现有一种解决方案是通过人工改写来扩充问句。对于具有同一语义(用相同下标a表示)的多个问句根据现有问法[q1 a,q2 a,…,qn a]人工改写一些问法,并将改写后的问法输入到对话***中去,判断对话***的输出是否能够返回数据库中为现有问法[q1 a,q2 a,…,qn a]配置的应答/答案。
然而,这种方案下,测试人员需要人为依据现有知识库问法形式构造新的问法,严重依赖人工,涉及的人工工作量非常大。
而且,人工改写也难以覆盖所有可能出现的问法形式,这也就意味着测试有遗漏情况,难以覆盖所有场景。
另一种可能的解决方案是基于规则进行改写,例如可以包括以下几种改写方式:
1.语序结构变换:
这个手机可以无理由退货么?-->手机可以退货吗?无理由
2.词语/短语级别变换:
为什么打不开包装盒?-->为啥不能打开包装盒?
然而,改写规则的编写仍然严重依赖于人工。而且,基于规则进行改写同样难以覆盖所有场景,缺乏多样性,难以反映真实场景下用户的问题。
因此,仍然期望一种测试方案或文本改写方法,其能够减少测试人员工作量,尽可能多地覆盖测试场景,提前检测出对话***存在的问题,从而保证上线后能更好地解答用户的问题。
发明内容
本公开要解决的一个技术问题是提供一种对话***测试方案和语句改写方案,其能够减少相关人工工作量。
根据本公开的第一个方面,提供了一种对话***测试方法,包括:将对话***对应于同一语义的预设问句集合中的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;基于随机向量分布参数,从随机向量分布中进行采样,得到随机向量;将预设问句和随机向量输入序列到序列模型,得到对应于预设问句的改写问句;将改写问句输入对话***,得到应答输出;以及判断应答输出与对话***对应于预设问句的预设应答是否一致。
可选地,将对话***对应于同一语义的多个预设问句的句式结构信息映射到随机向量分布的步骤包括:基于对话***对应于同一语义的多个预设问句,对句法嵌入模型和序列到序列模型进行训练,句法嵌入模型用于将对应于同一语义的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数。
可选地,基于对话***对应于同一语义的多个预设问句对句法嵌入模型和序列到序列模型进行训练的步骤包括:将多个预设问句输入句法嵌入模型,得到训练随机向量分布参数;以多个预设问句中至少一对不同问句作为训练数据,以训练数据中的一个问句为训练原问句,另一个问句为训练改写问句,将训练原问句输入序列到序列模型的编码器,得到训练上下文向量;基于训练随机向量分布参数,从相应的训练随机向量分布中进行采样,得到训练随机向量;将训练随机向量和训练上下文向量输入序列到序列模型的解码器中,结合训练改写问句,计算损失函数;以及优化句法嵌入模型和序列到序列模型的参数,使损失函数减小。
可选地,将预设问句和随机向量输入序列到序列模型得到对应于预设问句的改写问句的步骤可以包括:将预设问句输入序列到序列模型的编码器中,得到隐藏向量和上下文向量;以及将随机向量、隐藏向量和上下文向量输入序列到序列模型的解码器中,得到对应于预设问句的改写问句。
可选地,该方法还可以包括:分别以预设问句中的每个词的逆文档频率为权重,对预设问句的每个词的词向量表示进行加权求和,得到第一向量,分别以改写问句中的每个词的逆文档频率为权重,对改写问句的每个词的词向量表示进行加权求和,得到第二向量,基于第一向量和第二向量的相似度来确定改写准确度指标;以及/或者基于预设问句和改写问句之间的机器翻译评价指标确定改写多样性指标。
可选地,该方法还可以包括:基于改写准确度指标和/或改写多样性指标,对对应于同一语义的多个改写问句进行排序和/或筛选。
可选地,该方法还可以包括:将改写问句添加到预设问句集合中。
根据本公开的第二个方面,提供了一种对话***测试方法,包括:将对话***的预设问句输入语句改写模型中,得到对应于预设问句的改写问句,语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;将改写问句输入对话***,得到应答输出;以及判断应答输出与对话***对应于预设问句的预设应答是否一致。
根据本公开的第三个方面,提供了一种对话***预设问句扩充方法,包括:将对话***的预设问句输入语句改写模型中,得到对应于预设问句的改写问句,语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;以及将改写语句添加到对话***中对应于预设问句的同义问句集合中。
根据本公开的第四个方面,提供了一种试卷生成方法,包括:将题库中的已有试题输入语句改写模型中,得到对应于已有试题的改写试题,语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;以及将改写试题添加到试卷中。
根据本公开的第五个方面,提供了一种客服人员工作评测方法,其中,已经向客服人员提供了预设问句对应的正确应答,包括:将预设问句输入语句改写模型中,得到对应于预设问句的改写问句,语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;将改写问句提供给客服人员;接收客服人员响应于改写问句的应答;以及判断应答与正确应答是否一致。
根据本公开的第六个方面,提供了一种语句改写方法,包括:基于对应于同一语义的多个预设语句,对句法嵌入模型和序列到序列模型进行训练,句法嵌入模型用于将对应于同一语义的多个预设语句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;基于随机向量分布参数,从随机向量分布中进行采样,得到随机向量;将预设语句输入序列到序列模型的编码器中,得到隐藏向量和上下文向量;将随机向量、隐藏向量和上下文向量输入序列到序列模型的解码器中,得到对应于预设语句的改写语句。
根据本公开的第七个方面,提供了一种语句改写方法,包括:将对应于同一语义的多个预设语句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;基于随机向量分布参数,从随机向量分布中进行采样,得到随机向量;以及将预设语句和随机向量输入序列到序列模型,得到对应于预设语句的改写语句。
根据本公开的第八个方面,提供了一种文本改写方法,包括:接收第一语言风格的第一文本;将第一文本输入到风格转换模型,得到第二语言风格的第二文本,风格转换模型用于将第一语言风格的文本转换为第二语言风格的文本;以及输出第二文本。
根据本公开的第九个方面,提供了一种段落改写方法,包括:接收第一文本段落;分析第一文本段落的第一语言风格;将第一文本段落逐句输入风格转换模型,得到第二语言风格的语句,风格转换模型用于将第一语言风格的文本转换为第二语言风格的文本;拼接所得到的的第二语言风格的语句,得到第二文本段落;以及输出第二文本段落。
根据本公开的第十个方面,提供了一种将小说文本改变为剧本的方法,包括:逐句或逐段输入小说文本;分析所输入小说文本的内容类型;将如小说文本输入适用于内容类型的文本改写模型,得到对应的剧本文本,文本改写模型用于将该内容类型的小说文本改写为相应类型的剧本文本;以及拼接所得到的剧本文本,得到剧本。
根据本公开的第十一个方面,提供了一种根据影视内容撰写文本的方法,包括:将影视内容分为多个影视片段;将影视片段的背景音输入背景音分析模型,得到背景音描述文本;将影视片段中的语音输入语音分析模型,得到对话文本和/或旁白文本;将影视片段的视频图像输入场景分析模型,得到场景描述文本;从影视片段中截取人物图像区域的视频片段,将所截取的视频片段输入人物分析模型,得到人物描写文本;以及结合背景音描述文本、对话文本和/或旁白文本、场景描述文本、人物描写文本,得到影视改写文本。
根据本公开的第十二个方面,提供了一种作业生成方法,包括:输入学习材料;划分学习材料,得到多个知识点文本;将知识点文本输入习题生成模型,得到相应习题;以及组合多个习题,得到作业。
根据本公开的第十三个方面,提供了一种对话分析方法,包括:从对话记录中提取包含高频词和/或指定关键词的语句及其上下文;将语句及其上下文输入摘要生成模型,得到摘要文本;综合分析多个摘要文本,得到对话分析结果。
根据本公开的第十四个方面,提供了一种对话***测试装置,包括:映射装置,用于将对话***对应于同一语义的预设问句集合中的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;采样装置,用于基于随机向量分布参数,从随机向量分布中进行采样,得到随机向量;改写装置,用于将预设问句和随机向量输入序列到序列模型,得到对应于预设问句的改写问句;问答装置,用于将改写问句输入对话***,得到应答输出;以及判断装置,用于判断应答输出与对话***对应于预设问句的预设应答是否一致。
根据本公开的第十五个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一至十三方面所述的方法。
根据本公开的第十六个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一至十三方面所述的方法。
由此,根据本公开的方案通过自动生成同义问法表达,使基于QA的对话***的测试自动化进行,能够极大地减小测试人员人工工作量,大幅提升了测试效率。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是对话***的简要示意图。
图2示意性地示出了测试***对对话***进行测试的场景。
图3是根据本公开的模型训练阶段示意图。
图4是根据本公开的模型训练阶段的示意性流程图。
图5是根据本公开的模型推断阶段示意图。
图6是根据本公开的对话***测试方法的示意性流程图。
图7是根据本公开的对话***测试装置的示意性框图。
图8示出了可用于实现本公开的方法的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
根据本公开的对话***测试方案通过对知识库配置的问法(预设问句)进行同义改写,得到自动改写后的问法(改写问句)。用改写问句对对话***进行测试。依据返回的应答结果和原始知识库(数据库)配置的预设应答是否一致,来对对话***进行评测。
首先,参考图1简要描述一下基于QA的对话***。
预处理模块对所输入的用户查询(user query)做数据预处理,得到Q。
DeepQA模块将Q与数据库中的各种查询(query)做匹配,找出含义最接近的查询qa,输出对应的ra。
这里一个相同含义的问题,可以有多个问法(预设问句),对应于一个回答(预设应答)。例如,问题a的预设同义问句集合Qa={q1 a,···,qn a}对应于预设应答ra,同义问句集合Qb={q1 b,···}对应于预设应答rb。
后处理模块对ra做数据后处理后输出给用户,作为对用户查询的应答。
在本公开的技术方案中,对数据库中对应于一个预设应答的多个问法(预设问句),例如,问题a的预设问句集合Qa={q0 a,q1 a,···,qn a},问题b的预设问句集合Qb={q0 b,q1 b,···,qn b},进行同义改写。
图2示意性地示出了测试***对对话***进行测试的场景。
如图2所示,数据库中记载了对应于各个语义(问题)的多种问法,例如对于问题a,数据库中记录了预设答案ra和对应的多种预设问句:
Qa={q1 a,q2 a,···,qn a},
n是对应于问题a的预设问句的个数。
从数据库中取出这些不同的预设问句,输入到改写模块(语句改写模型)。改写模块(语句改写模型)用于将输入语句改写为与输入语句具有相同语义的输出语句。
利用改写模块对这些不同预设问句进行改写,得到改写后的改写问句集合:
m是改写问句的个数。
将改写问句输入到待测对话***中,得到***应答输出集合:
Rp a={r1p a,r2p a,···,rmp a},
p表示是测试过程中响应于改写问句的应答。
判断模块判断这些***应答输出rip a与对话***的数据库配置的对应于预设问句的预设应答ra是否一致,从而给出对待测对话***的评测结果。
图2中的改写模块可以有多种实现方式。这里给出适配于例如基于QA的对话***的改写方案。
首先,参考图3和图4描述本公开的模型训练过程。
图3是根据本公开的模型训练阶段示意图。
本公开使用的语句改写模型可以涉及句法嵌入模型(Syntax Embedding Model)和序列到序列模型(Seq2SeqModel)。
句法嵌入模型用于将对应于同一语义的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数。
序列到序列模型包括编码器和解码器,将一个语句(词序列)转换为另一个语句(词序列)。
本公开基于对话***对应于同一语义的多个预设问句,对句法嵌入模型和所述序列到序列模型进行训练。
图4是根据本公开的模型训练阶段的示意性流程图。
如图4所示,开始进行模型训练之后,在步骤S410,将多个预设问句输入句法嵌入模型,得到训练随机向量分布参数μ,σ。
这里,如图3所示,将同一语义下所有不同表达的句子:
Qa={q1 a,q2 a,···,qn a},
输入到句法嵌入模型中,从而将同一语义下不同的表达的句式结构信息映射到概率分布N(μ,σ)。
这里,句法嵌入模型的输入为同一语义对应所有的句子(预设问句)。
输出为μ,σ两个向量。其中μ,σ分别代表高维正态分布N(μ,σ)的均值和方差。
然后,在步骤S420,以多个预设问句中至少一对不同问句作为训练数据,以训练数据中的一个问句为训练原问句,另一个问句为训练改写问句,将训练原问句输入序列到序列模型的编码器,得到训练上下文向量(context vector)c。这里,在术语前添加“训练”,以表示该术语用于表示训练阶段所涉及的相应概念。
例如,以预设问句集合Qa中任一个问句qj a为目标问句(训练改写问句),集合Qa中除qj a之外的其它各预设问句均可以作为训练原问句。
在基于一个语义(问题)a进行训练时,可以以各种i,j组合的qi a,qj a(至少一对不同问句)作为训练数据,来进行多次训练。
在步骤S430,基于训练随机向量分布参数μ,σ,从相应的训练随机向量分布N(μ,σ)中进行随机采样,得到训练随机向量(也可以称为“训练随机采样变量”)z。
在步骤S440,将训练随机向量z和训练上下文向量c(例如,可以将c和z拼接起来)输入序列到序列模型的解码器中。解码器用于解码出最终的句子输出。在训练阶段,结合训练改写问句qj a,也即下面公式(1)中的qt,计算损失函数LOSS。
在步骤S450,判断损失函数LOSS是否小于预设阈值。
如果LOSS小于预设阈值,则表明模型参数已经充分优化,训练结束。
如果LOSS不小于预设阈值,则表明模型参数尚需要进一步优化,进入步骤S460,优化句法嵌入模型和序列到序列模型的参数,使损失函数减小。
这里,句法嵌入模型和序列到序列模型总的LOSS函数定义为:
其中,qφ(z|Q)代表句法嵌入模型,其中φ为句法嵌入模型的参数,在针对某一语义(问题)a进行训练时,其输入为该语义(问题)a的所有同义句子(预设问句)的集合Qa,输出为高维分布N(μ,σ)的参数μ,σ。从该分布中随机采样即可得到随机变量z。
pθ(qt|z,qs)代表编码器和解码器组成的Seq2Seq模型,其中θ代表编码器和解码器的参数。
p(z)是假设的一种先验分布,也即上述N(μ,σ)。这里采用了高斯分布。
下面,具体介绍损失函数LOSS每一项的含义:
KL(qφ(z|Q)||p(z))是KL距离(Kullback-Leibler Divergence),也叫做相对熵(Relative Entropy),是为了衡量后验分布qφ(z|Q)和先验分布p(z)的差异情况。
通过迭代训练,不断优化句法嵌入模型和Seq2Seq模型的参数,直到损失函数LOSS小于预设阈值。
在训练时,可以基于多种语义(问题)a,b,……各自对应的所有句子(预设问句),分别抽取训练原问句和训练改写问句,进行训练。
在时间、运算能力等条件允许的情况下,可以对数据库中涉及的所有语义(问题),都进行训练。对于每一个语义(问题),对其对应的所有同义句子(预设问句)的所有i,j组合,也都作为训练原问句和训练改写问句的训练数据对,进行训练。
下面,参考图5至图7,描述模型推断过程。
图5是根据本公开的模型推断阶段示意图。
图6是根据本公开的对话***测试方法的示意性流程图。
图7是根据本公开的对话***测试装置的示意性框图。
如图5所示,与模型训练阶段不同的是,推断阶段可以不再需要句法嵌入模型及其输入。
参见图6和图7,在步骤S610,例如通过映射装置710,将对话***对应于同一语义的预设问句集合中的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数。
在训练阶段,最终已经得到了模型训练优化之后的随机向量分布N(μ,σ)及其参数μ,σ。可以存储该语义所对应的随机向量分布参数μ,σ,以便在后期进行模型推断时使用。
另外,如果对于某些语义(问题),在模型训练阶段没有进行训练,或者在训练结束后没有存储所得到的相应随机向量分布参数μ,σ,也可以使用已经训练好的句法嵌入模型,基于该语义对应的多个预设问句(同义句子),得到相应的随机向量分布N(μ,σ)及其参数μ,σ。
在步骤S620,例如通过采样装置720,基于随机向量分布参数μ,σ,从随机向量分布N(μ,σ)(先验分布)中进行采样,得到随机向量(也可以称为“随机采样变量”)z。
在步骤S630,例如通过改写装置730,将预设问句qs和随机向量z输入序列到序列模型,得到对应于预设问句的改写问句qt。
这里,可以将预设问句qs输入序列到序列模型的编码器中,得到隐藏向量h和上下文向量c。
然后,将随机向量z、隐藏向量h和上下文向量c,例如拼接起来,输入序列到序列模型的解码器中,得到对应于预设问句qs的改写问句qt。
在步骤S640,例如通过问答装置740,将改写问句qt输入对话***,得到应答输出。
在步骤S650,例如通过判断装置750,判断来自对话***的应答输出与对话***对应于预设问句qs的预设应答是否一致。
另外,还可以将如上述得到的改写问句qt添加到对应于相应语义的预设问句集合Q中,以便扩充预设问句集合Q,进一步改善用户使用对话***时的体验。
由此,可以采用基于预设问句自动改写得到的改写问句,对对话***进行测试。
如上所述,针对同义语义进行改写后,可以得到多种形式的改写问句:
例如,还可以基于改写准确度指标和/或多样性指标等,对所生成的改写问句进行排序和/或筛选。
关于改写准确度指标,例如,可以计算预设问句和改写问句之间的相似度,作为改写准确度指标。例如,可以采用Cosine-IDF来表示。
这里,可以借助逆文档频率idfw来体现问句中各个词语的重要性:
其中,idfw表示一个句子中词语w的逆文档频率。N表示语料中一共有多少句话(预设问句的数量),Nw表示语料中有多少句话含有这个词语w。
逆文档频率idfw衡量了词语w的类别区分能力,idf越大,代表该词条越能代表一个文档。而一些通用词汇“了”,“是”的IDF的得分就很低。
分别以预设问句qs中的每个词w的逆文档频率idfw为权重,对预设问句qs的每个词w的词向量表示vw进行加权求和,得到第一向量vs。
然后,可以基于第一向量和第二向量的相似度来确定改写准确度指标。
例如,可以用第一向量和第二向量之间夹角的余弦来计算改写准确度指标,即Cosine-IDF得分:
Scoresim=cos(vs,vt)。
关于改写多样性指标(diversity),可以采用词语重叠度来确定多样性评估指标。改编后的语句(改写问句)与同义参考语句(预设问句)重叠的词语越多,则可以认为多样性越低。
这里,可以基于预设问句和改写问句之间的机器翻译评价指标BLEU确定改写多样性指标:
最终的排序和/或筛选指标可以是多种指标的综合。
例如,可以基于改写准确度指标,也可以基于改写多样性指标,或者,也可以基于改写准确度指标和改写多样性指标的结合,对对应于同一语义的多个改写问句进行排序和/或筛选。
上面,已经详细描述了根据本公开的对话***测试方案。
根据本公开的测试方案通过自动生成同义问法表达,使基于QA的对话***的测试自动化进行,能够极大地减小测试人员人工工作量,大幅提升了测试效率。
并且,根据本公开的测试方案能生成多种同义表述,覆盖到人工测试未覆盖的场景。
另外,对于一个预设问句,可以采样多个不同的随机向量(随机采样变量)z。基于不同的随机向量z,能够产生不同的同义改写问句。这样,在一定程度上上意味着能够覆盖所有场景。
利用同义改写模型,能够横向比较不同的对话***模型的表现性能优劣。
另一方面,根据本公开的一些实施例,还可以实现一种对话***预设问句扩充方法。
将对话***的预设问句输入语句改写模型中,得到对应于预设问句的改写问句。如上,语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句。
然后,可以将改写语句添加到对话***中对应于预设问句的同义问句集合中,从而扩充预设问句集合。
另一方面,根据本公开的一些实施例,还可以实现一种试卷生成方法。
将题库中的已有试题输入语句改写模型中,得到对应于已有试题的改写试题。如上所述,语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句。
然后,可以将改写试题添加到试卷中。
这样,可以丰富试题的表达形式。
另一方面,根据本公开的一些实施例,还可以实现一种客服人员工作评测方法。
事先已经例如通过培训等方式,向客服人员提供了预设问句对应的正确应答。在此,需要对客服人员的工作进行评测。
将预设问句输入语句改写模型中,得到对应于预设问句的改写问句。如上所述,语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句。
将改写问句提供给客服人员,接收客服人员响应于改写问句的应答。然后,可以判断应答与正确应答是否一致,从而对客服人员的工作进行评价。
另一方面,根据本公开的一些实施例,还可以实现一种语句改写方法。
基于对应于同一语义的多个预设语句,对句法嵌入模型和序列到序列模型进行训练。句法嵌入模型用于将对应于同一语义的多个预设语句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数。
基于随机向量分布参数,从随机向量分布中进行采样,得到随机向量。
将预设语句输入序列到序列模型的编码器中,得到隐藏向量和上下文向量。
将随机向量、隐藏向量和上下文向量输入序列到序列模型的解码器中,得到对应于预设语句的改写语句。
另一方面,根据本公开的一些实施例,还可以实现一种语句改写方法。
将对应于同一语义的多个预设语句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数。
基于随机向量分布参数,从随机向量分布中进行采样,得到随机向量。
将预设语句和随机向量输入序列到序列模型,得到对应于预设语句的改写语句。
另一方面,根据本公开的一些实施例,还可以实现一种文本改写方法,将一种语言风格的文本改写为另一种语言风格的文本。
这里的语言风格例如可以是幽默的、严肃的;男人风格、女人风格;儿童风格、成人风格;官方风格、民间风格、自媒体风格等等各种语言风格。
接收第一语言风格的第一文本。
将第一文本输入到风格转换模型,得到第二语言风格的第二文本。这里,风格转换模型用于将第一语言风格的文本转换为第二语言风格的文本。
输出第二文本。
另一方面,根据本公开的一些实施例,还可以实现一种段落改写方法。
接收第一文本段落。
分析第一文本段落的第一语言风格。
将第一文本段落逐句输入风格转换模型,得到第二语言风格的语句。这里,风格转换模型用于将第一语言风格的文本转换为第二语言风格的文本。
拼接所得到的的第二语言风格的语句,得到第二文本段落。
输出第二文本段落。
另一方面,根据本公开的一些实施例,还可以实现一种将小说文本改变为剧本的方法。
逐句或逐段输入小说文本。
分析所输入小说文本的内容类型。
例如小说文本的内容类型可以有环境描写、场景描写、人物形象描写、人物动作描写、对话等等。
将如小说文本输入适用于内容类型的文本改写模型,得到对应的剧本文本。这里,文本改写模型用于将该内容类型的小说文本改写为相应类型的剧本文本。
拼接所得到的剧本文本,得到剧本。
另一方面,根据本公开的一些实施例,还可以实现一种根据影视内容撰写文本的方法。
将影视内容分为多个影视片段。
将影视片段的背景音输入背景音分析模型,得到背景音描述文本。
将影视片段中的语音输入语音分析模型,得到对话文本和/或旁白文本。
将影视片段的视频图像输入场景分析模型,得到场景描述文本。
从影视片段中截取人物图像区域的视频片段,将所截取的视频片段输入人物分析模型,得到人物描写文本。
结合背景音描述文本、对话文本和/或旁白文本、场景描述文本、人物描写文本,得到影视改写文本。
例如,可以将背景音描述文本、对话文本和/或旁白文本、场景描述文本、人物描写文本输入文本综合模型,得到上述影视改写文本。
另一方面,根据本公开的一些实施例,还可以实现一种作业生成方法。
输入学习材料,例如课文、学习资料、例题、现有习题等等。
划分学习材料,得到多个知识点文本。
将知识点文本输入习题生成模型,得到相应习题。习题生成模型可以对知识点文本进行改写,得到习题文本。
例如,习题生成模型可以从习题文本中摘除关键词,得到填空题。
或者,习题生成模型还可以修改习题文本的个别字词,使其语义发生变化,从而得到判断题。
或者,习题生成模型还可以将多个习题文本组合,将其中0个或若干个习题文本的个别字词进行修改,使其语义发生变化,从而得到选择题。
组合多个习题,得到作业。
另一方面,根据本公开的一些实施例,还可以实现一种对话分析方法。
从对话记录中提取包含高频词和/或指定关键词的语句及其上下文。
对话记录例如可以是聊天软件中的对话记录。或者,对话记录也可以是人工记录或语音识别得到的对话记录。
将语句及其上下文输入摘要生成模型,得到摘要文本。
综合分析多个摘要文本,可以得到对话分析结果。
对话分析结果可以以简报的形式呈现。
图8示出了根据本发明一实施例可用于实现上述方法的计算设备的结构示意图。
参见图8,计算设备800包括存储器810和处理器820。
处理器820可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器820可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器820可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器810可以包括各种类型的存储单元,例如***内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器820或者计算机的其它模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。***内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。***内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器810可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器810可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器810上存储有可执行代码,当可执行代码被处理器820处理时,可以使处理器820执行上文述及的方法。
上文中已经参考附图详细描述了根据本发明的对话***测试方案和语句改写方案。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的***和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (22)
1.一种对话***测试方法,包括:
将对话***对应于同一语义的预设问句集合中的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;
基于所述随机向量分布参数,从所述随机向量分布中进行采样,得到随机向量;
将预设问句和所述随机向量输入序列到序列模型,得到对应于所述预设问句的改写问句;
将所述改写问句输入所述对话***,得到应答输出;以及
判断所述应答输出与所述对话***对应于所述预设问句的预设应答是否一致。
2.根据权利要求1所述的方法,其中,所述将对话***对应于同一语义的多个预设问句的句式结构信息映射到随机向量分布的步骤包括:
基于对话***对应于同一语义的多个预设问句,对句法嵌入模型和所述序列到序列模型进行训练,所述句法嵌入模型用于将对应于同一语义的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数。
3.根据权利要求2所述的方法,其中,基于对话***对应于同一语义的多个预设问句对句法嵌入模型和序列到序列模型进行训练的步骤包括:
将所述多个预设问句输入所述句法嵌入模型,得到训练随机向量分布参数;
以所述多个预设问句中至少一对不同问句作为训练数据,以训练数据中的一个问句为训练原问句,另一个问句为训练改写问句,将训练原问句输入序列到序列模型的编码器,得到训练上下文向量;
基于训练随机向量分布参数,从相应的训练随机向量分布中进行采样,得到训练随机向量;
将所述训练随机向量和所述训练上下文向量输入序列到序列模型的解码器中,结合所述训练改写问句,计算损失函数;以及
优化所述句法嵌入模型和所述序列到序列模型的参数,使所述损失函数减小。
4.根据权利要求1所述的方法,其中,所述将预设问句和所述随机向量输入序列到序列模型得到对应于所述预设问句的改写问句的步骤包括:
将预设问句输入序列到序列模型的编码器中,得到隐藏向量和上下文向量;以及
将所述随机向量、所述隐藏向量和所述上下文向量输入序列到序列模型的解码器中,得到对应于所述预设问句的改写问句。
5.根据权利要求1所述的方法,还包括:
分别以预设问句中的每个词的逆文档频率为权重,对预设问句的每个词的词向量表示进行加权求和,得到第一向量,分别以改写问句中的每个词的逆文档频率为权重,对改写问句的每个词的词向量表示进行加权求和,得到第二向量,基于第一向量和第二向量的相似度来确定改写准确度指标;以及/或者
基于预设问句和改写问句之间的机器翻译评价指标确定改写多样性指标。
6.根据权利要求5所述的方法,还包括:
基于所述改写准确度指标和/或所述改写多样性指标,对对应于同一语义的多个改写问句进行排序和/或筛选。
7.根据权利要求1所述的方法,还包括:
将所述改写问句添加到所述预设问句集合中。
8.一种对话***测试方法,包括:
将对话***的预设问句输入语句改写模型中,得到对应于所述预设问句的改写问句,所述语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;
将所述改写问句输入所述对话***,得到应答输出;以及
判断所述应答输出与所述对话***对应于所述预设问句的预设应答是否一致。
9.一种对话***预设问句扩充方法,包括:
将对话***的预设问句输入语句改写模型中,得到对应于所述预设问句的改写问句,所述语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;以及
将所述改写语句添加到所述对话***中对应于所述预设问句的同义问句集合中。
10.一种试卷生成方法,包括:
将题库中的已有试题输入语句改写模型中,得到对应于所述已有试题的改写试题,所述语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;以及
将所述改写试题添加到试卷中。
11.一种客服人员工作评测方法,其中,已经向客服人员提供了预设问句对应的正确应答,包括:
将预设问句输入语句改写模型中,得到对应于所述预设问句的改写问句,所述语句改写模型将输入语句改写为与输入语句具有相同语义的输出语句;
将所述改写问句提供给所述客服人员;
接收所述客服人员响应于所述改写问句的应答;以及
判断所述应答与所述正确应答是否一致。
12.一种语句改写方法,包括:
基于对应于同一语义的多个预设语句,对句法嵌入模型和序列到序列模型进行训练,所述句法嵌入模型用于将对应于同一语义的多个预设语句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;
基于所述随机向量分布参数,从所述随机向量分布中进行采样,得到随机向量;
将预设语句输入序列到序列模型的编码器中,得到隐藏向量和上下文向量;
将所述随机向量、所述隐藏向量和所述上下文向量输入序列到序列模型的解码器中,得到对应于所述预设语句的改写语句。
13.一种语句改写方法,包括:
将对应于同一语义的多个预设语句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;
基于所述随机向量分布参数,从所述随机向量分布中进行采样,得到随机向量;以及
将预设语句和所述随机向量输入序列到序列模型,得到对应于所述预设语句的改写语句。
14.一种文本改写方法,包括:
接收第一语言风格的第一文本;
将第一文本输入到风格转换模型,得到第二语言风格的第二文本,所述风格转换模型用于将第一语言风格的文本转换为第二语言风格的文本;以及
输出第二文本。
15.一种段落改写方法,包括:
接收第一文本段落;
分析第一文本段落的第一语言风格;
将第一文本段落逐句输入风格转换模型,得到第二语言风格的语句,所述风格转换模型用于将第一语言风格的文本转换为第二语言风格的文本;
拼接所得到的的第二语言风格的语句,得到第二文本段落;以及
输出第二文本段落。
16.一种将小说文本改变为剧本的方法,包括:
逐句或逐段输入小说文本;
分析所输入小说文本的内容类型;
将所述如小说文本输入适用于所述内容类型的文本改写模型,得到对应的剧本文本,所述文本改写模型用于将所述内容类型的小说文本改写为相应类型的剧本文本;以及
拼接所得到的剧本文本,得到剧本。
17.一种根据影视内容撰写文本的方法,包括:
将影视内容分为多个影视片段;
将影视片段的背景音输入背景音分析模型,得到背景音描述文本;
将影视片段中的语音输入语音分析模型,得到对话文本和/或旁白文本;
将影视片段的视频图像输入场景分析模型,得到场景描述文本;
从影视片段中截取人物图像区域的视频片段,将所截取的视频片段输入人物分析模型,得到人物描写文本;以及
结合所述背景音描述文本、对话文本和/或旁白文本、场景描述文本、人物描写文本,得到影视改写文本。
18.一种作业生成方法,包括:
输入学习材料;
划分学习材料,得到多个知识点文本;
将知识点文本输入习题生成模型,得到相应习题;以及
组合多个习题,得到作业。
19.一种对话分析方法,包括:
从对话记录中提取包含高频词和/或指定关键词的语句及其上下文;
将所述语句及其上下文输入摘要生成模型,得到摘要文本;
综合分析多个摘要文本,得到对话分析结果。
20.一种对话***测试装置,包括:
映射装置,用于将对话***对应于同一语义的预设问句集合中的多个预设问句的句式结构信息映射到随机向量分布,并得到相应的随机向量分布参数;
采样装置,用于基于所述随机向量分布参数,从所述随机向量分布中进行采样,得到随机向量;
改写装置,用于将预设问句和所述随机向量输入序列到序列模型,得到对应于所述预设问句的改写问句;
问答装置,用于将所述改写问句输入所述对话***,得到应答输出;以及
判断装置,用于判断所述应答输出与所述对话***对应于所述预设问句的预设应答是否一致。
21.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至19中任何一项所述的方法。
22.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至19中任何一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010468610.XA CN113742461A (zh) | 2020-05-28 | 2020-05-28 | 对话***测试方法和装置、语句改写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010468610.XA CN113742461A (zh) | 2020-05-28 | 2020-05-28 | 对话***测试方法和装置、语句改写方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113742461A true CN113742461A (zh) | 2021-12-03 |
Family
ID=78724208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010468610.XA Pending CN113742461A (zh) | 2020-05-28 | 2020-05-28 | 对话***测试方法和装置、语句改写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742461A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116050412A (zh) * | 2023-03-07 | 2023-05-02 | 江西风向标智能科技有限公司 | 基于数学语义逻辑关系的高中数学题目的分割方法和*** |
CN116108830A (zh) * | 2023-03-30 | 2023-05-12 | 山东大学 | 一种句法可控文本改写方法和装置 |
-
2020
- 2020-05-28 CN CN202010468610.XA patent/CN113742461A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116050412A (zh) * | 2023-03-07 | 2023-05-02 | 江西风向标智能科技有限公司 | 基于数学语义逻辑关系的高中数学题目的分割方法和*** |
CN116050412B (zh) * | 2023-03-07 | 2024-01-26 | 江西风向标智能科技有限公司 | 基于数学语义逻辑关系的高中数学题目的分割方法和*** |
CN116108830A (zh) * | 2023-03-30 | 2023-05-12 | 山东大学 | 一种句法可控文本改写方法和装置 |
CN116108830B (zh) * | 2023-03-30 | 2023-07-07 | 山东大学 | 一种句法可控文本改写方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210034817A1 (en) | Request paraphrasing system, request paraphrasing model and request determining model training method, and dialogue system | |
US10803850B2 (en) | Voice generation with predetermined emotion type | |
US10157619B2 (en) | Method and device for searching according to speech based on artificial intelligence | |
CN110442718A (zh) | 语句处理方法、装置及服务器和存储介质 | |
CN109360550A (zh) | 语音交互***的测试方法、装置、设备和存储介质 | |
CN109616096A (zh) | 多语种语音解码图的构建方法、装置、服务器和介质 | |
CN112487139A (zh) | 基于文本的自动出题方法、装置及计算机设备 | |
CN113742461A (zh) | 对话***测试方法和装置、语句改写方法 | |
CN113836894B (zh) | 多维度英语作文评分方法、装置及可读存储介质 | |
CN104700831B (zh) | 分析音频文件的语音特征的方法和装置 | |
CN106372231A (zh) | 一种搜索方法及装置 | |
CN111798871B (zh) | 会话环节识别方法、装置及设备、存储介质 | |
US20230244878A1 (en) | Extracting conversational relationships based on speaker prediction and trigger word prediction | |
CN112116181B (zh) | 课堂质量模型的训练方法、课堂质量评价方法及装置 | |
CN115512692B (zh) | 语音识别方法、装置、设备及存储介质 | |
CN109344221B (zh) | 录音文本生成方法、装置及设备 | |
CN114691907B (zh) | 一种跨模态检索的方法、设备及介质 | |
CN113704452B (zh) | 基于Bert模型的数据推荐方法、装置、设备及介质 | |
CN115116474A (zh) | 口语评分模型训练方法、评分方法、装置及电子设备 | |
US20230140480A1 (en) | Utterance generation apparatus, utterance generation method, and program | |
Liu | [Retracted] Automatic English Pronunciation Evaluation Algorithm Based on Sequence Matching and Feature Fusion | |
CN112687296A (zh) | 音频不流利的识别方法、装置、设备及可读存储介质 | |
CN112151018A (zh) | 语音评测及语音识别方法、装置、设备及存储介质 | |
KR102673867B1 (ko) | 맞장구 대화 말뭉치 제공 장치 및 방법 | |
CN111475708A (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 |