CN114996430B - 一种端到端之间的主动对话的方法 - Google Patents
一种端到端之间的主动对话的方法 Download PDFInfo
- Publication number
- CN114996430B CN114996430B CN202210838786.9A CN202210838786A CN114996430B CN 114996430 B CN114996430 B CN 114996430B CN 202210838786 A CN202210838786 A CN 202210838786A CN 114996430 B CN114996430 B CN 114996430B
- Authority
- CN
- China
- Prior art keywords
- state
- conversation
- dialogue
- language model
- user
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及一种端到端之间的主动对话的方法,包括如下步骤:S1:对机器端的对话数据中的句子进行划分;S2:采用滑动窗口的方式对划分之后的数据进行增强,并进行训练样本对的生成;S3:对生成的训练样本对进行语言模型的训练;S4:根据所训练的语言模型,得出状态预测器,并根据状态预测器预测对话状态。本发明提供的端到端之间的主动对话的方法,通过对对话数据进行划分,用增强后的数据微调语言模型,然后通过附加训练额外的状态预测器进行下一步的预测,从而使机器端能够在催收场景下完成主动对话、主动结束的功能。
Description
技术领域
本发明涉及自然语言处理技术领域,具体涉及一种端到端之间的主动对话的方法。
背景技术
智能人机对话一直是自然语言处理领域的热点问题之一,其主要的功能就是作出自然的、合理的回复给人类对话者,在智能客服、智能家居等场景下广泛应用。其中,检索式端到端对话系统由于训练方便、输出可控的特点更是成为了学术界和工业界的研究热点,它的主要特点是直接使用单个模型完成整个对话流程,而不需要分为多个模块配置训练。
而因为端到端训练的特点,这样的对话系统难以控制内部的行为,其对话逻辑难以保证一定正确。且在现有的研究与技术中,此类系统都是作为被动对话者的存在,即通常是用户发问、机器回答这样的流程,这种情况下对话流程的结束是由用户控制的,只要用户不再发问即可视为对话结束,且形式局限于一问一答。而在智能催收场景下,对话系统作为催收员不仅需要主动发起对话、在合适的状态下主动结束对话,而且在某些情况下可能需要回答用户的范围、然后重新提问这样的连续对话,或是在用户超时未回答的情况下重复提问。现有技术难以完成这些任务。
发明内容
针对现有技术的不足,本发明提供了一种端到端之间的主动对话的方法,通过对对话数据进行划分,用增强后的数据微调语言模型,然后通过附加训练额外的状态预测器进行下一步的预测,从而使机器端能够在催收场景下完成主动对话、主动结束的功能。
为了实现本发明的目的,本发明提供一种端到端之间的主动对话的方法,包括如下步骤:
S1:对机器端的对话数据中的句子进行划分;
S2:采用滑动窗口的方式对划分之后的数据进行增强,并进行训练样本对的生成;
S3:对生成的训练样本对进行语言模型的训练;
S4:根据所训练的语言模型,得出状态预测器,并根据状态预测器预测对话状态。
优选的,所述步骤S1中划分的具体步骤为:
将语义相同,字面表达方式不同的语句进行合并,合并成单个语句;
将复合长句进行划分为多个短句。
优选的,所述步骤S1之后还包括步骤S11,
S11:根据划分之后的对话数据来代替用户端或机器端的发言。
优选的,所述步骤S11的具体步骤为:
将对话数据为复合长句的划分为多个短句,并在多个短句中加入连续发言提示占位符用来代表假定用户端的发言;
将用户端在预设时间内未发言的空白语句,在空白语句中加入空白发言占位符,用来代表用户端发言;
结束对话型发言由机器端进行发言,并在结束对话型发言中加入结束对话标注,代表机器端和用户端之间的对话结束。
优选的,所述步骤S2的具体步骤为:
根据机器端和用户端之间的对话轮数以及对话数据中句子的长度来生成滑动窗口,根据机器端的发言次数进行对话数据的增强,且根据机器端和用户端之间的对话轮数进行训练样本对的生成。
优选的,所述步骤S3中的语言模型训练具体为:
将训练样本对输入所述语言模型中,通过所述语言模型中的CLS标志位并附加softmax进行二分类,并采用二分类的交叉熵进行损失函数训练。
优选的,所述得到状态预测器的具体步骤为:
对语言模型的参数进行固定,并在语言模型的CLS标志位上附加MLP神经网络来形成状态预测器。
优选的,所述步骤S4中预测对话状态具体包括:
正常状态、连续对话状态和对话结束状态,
当对话数据中存在EMPTY或CONT占位符时,状态预测器所预测的对话状态为连续对话状态;
当对话数据中存在结束对话标注时,状态预测器所预测的对话状态为对话结束状态。
优选的,所述步骤S4之后还包括步骤S5:
S5:机器端的对话系统接收状态预测器所预测的对话状态,机器端根据对话状态来进行回复。
优选的,所述步骤S5的具体步骤为:
当状态预测器预测的对话状态为正常状态时,机器端的对话系统等待用户端发言;
当对话状态为连续发言状态时,机器端的对话系统采用CONT占位符代替用户端发言;
当对话状态为用户在预设时间内未进行发言时,机器端的对话系统采用EMPTY占位符代替用户端发言;
当对话状态为对话结束时,机器端的对话系统进行结束对话。
本发明的有益效果为:本发明提供的端到端之间的主动对话的方法,通过对对话数据进行划分,用增强后的数据微调语言模型,然后通过附加训练额外的状态预测器进行下一步的预测,从而使机器端能够在催收场景下完成主动对话、主动结束的功能。
附图说明
通过附图中所示的本发明优选实施例更具体说明,本发明上述及其它目的、特征和优势将变得更加清晰。在全部附图中相同的附图标记指示相同的部分,且并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本的主旨。
图1为本发明实施例提供的端到端之间的主动对话的方法的具体流程图;
图2为本发明实施例提供数据增强、模型训练步骤的流程图。
具体实施方式
下面结合附图和具体实施例对本发明技术方案作进一步的详细描述,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
请参考图1-2,本发明实施例提供一种端到端之间的主动对话的方法,包括如下步骤:
S1:对机器端的对话数据中的句子进行划分;
S2:采用滑动窗口的方式对划分之后的数据进行增强,并进行训练样本对的生成;
S3:对生成的训练样本对进行语言模型的训练;
S4:根据所训练的语言模型,得出状态预测器,并根据状态预测器预测对话状态。
请参考图1-2,本发明提供的端到端之间的主动对话的方法,对机器端产生的对话数据(句子)按照句子的最小完整语义对现有数据中复合句子进行划分,而用户端的对话数据则不做处理,当划分完成时,采用滑动窗口的方式对数据进行增强,滑动窗口方式增强数据具体为:设其中AI方发言轮数为N+1轮,则用户方发言为N轮,总轮数为2N+1轮。设语言模型最大可接受输入长度为K,则按此规则做数据增强:从第i轮发言开始到第 i+k轮,使得其中连续 k轮文字总长度正好不超过K,且最后一轮为AI发言,其中i = 1, 2, …, 2N。这样从第i轮发言开始到第 i+k轮位置的连续文字作为一个滑动窗口。将每个窗口内的最后一轮AI发言作为目标发言,将剩余轮次用特殊标志符 [EOT] 拼接作为上下文,生成一个训练样本对,并对训练样本对进行语言模型的训练从而得出状态预测器,状态预测器预测用户端所发言的对话数据,机器端根据用户端所发言的对话数据进行相对应的回复。
本发明的有益效果为:通过将对话数据进行划分和增强,然后通过状态预测器预测用户端的发言数据,从而使机器端通过预测的用户端的发言数据进行相应的回复,从而使机器端能够进行主动结束对话、主动进行回复的功能。
请参考图1-2,在优选实施例中,步骤S1中划分的具体步骤为:
将语义相同,字面表达方式不同的语句进行合并,合并成单个语句;
将复合长句进行划分为多个短句。
检索式模型的检索候选池质量是模型表现得一个重要因素。为了合理缩小候选池、同时保留回复多样性得能力,对于AI方发言,按照句子的最小完整语义对现有数据中复合句子进行划分,用户方发言不做处理。需要数据标注员人工划分。对于相同语义、但字面表达不一样的句子,合并为单个句子;对于多个复合长句,划分为短句,从而使机器端的对话系统能够进一步识别并进行后续预测对话状态的步骤。
请参考图1-2,在优选实施例中,步骤S1之后还包括步骤S11,
S11:根据划分之后的对话数据来代替用户端或机器端的发言。
请参考图1-2,在进一步的优选实施例中,步骤S11的具体步骤为:
将对话数据为复合长句的划分为多个短句,并在多个短句中加入连续发言提示占位符用来代表假定用户端的发言;连续发言提示占位符采用CONT占位符。
将用户端在预设时间内未发言的空白语句,在空白语句中加入空白发言占位符,用来代表用户端发言;空白发言占位符采用EMPTY占位符,预设时间为1-10秒,当用户端在一定时间内未进行发言,机器端可直接在预设时间之后再次进行主动对话。
结束对话型发言由机器端进行发言,并在结束对话型发言中加入结束对话标注,代表机器端和用户端之间的对话结束。最终所有对话都应被整理为一问一答的形式。
请参考图1-2,在进一步的优选实施例中,步骤S2的具体步骤为:
根据机器端和用户端之间的对话轮数以及对话数据中句子的长度来生成滑动窗口,根据机器端的发言次数进行对话数据的增强,且根据机器端和用户端之间的对话轮数进行训练样本对的生成。
这一步需要将训练数据整理为语言模型的输入形式。考虑一通完整的对话,由AI方主动发言发起,并以AI方主动发言结束,设其中AI方发言轮数为N+1轮,则用户方发言为N轮,总轮数为2N+1轮。设语言模型最大可接受输入长度为K,则按此规则做数据增强:从第i轮发言开始到第 i+k轮,使得其中连续 k轮文字总长度正好不超过K,且最后一轮为AI发言,其中i = 1, 2, …, 2N。这样从第i轮发言开始到第 i+k轮位置的连续文字作为一个滑动窗口。将每个窗口内的最后一轮AI发言作为目标发言,将剩余轮次(除i到(i+k)以外的轮数)用特殊标志符 [EOT] 拼接作为上下文,生成一个训练样本对,形式为 (上下文,目标发言) 。将窗口向后滑动即可在一通对话产生多个正类训练样本。负类训练样本考虑AI发言错误的情况,即固定上下文不变时,目标发言从候选池中随机选择与正确发言不同的句子。
请参考图1-2,在优选实施例中,步骤S3中的语言模型训练具体为:
将训练样本对输入语言模型中,通过语言模型中的CLS标志位并附加softmax进行二分类,并采用二分类的交叉熵进行损失函数训练。
语言模型可以使用现有的transformer类预训练语言模型,例如BERT、RoBERTa等。将训练样本对输入语言模型中,在语言模型的 [CLS] 标志位输出上加上一层 softmax 层进行二分类,训练目标为判断训练样本中 (上下文,目标发言) 的目标发言是否能够作为上下文的合适回复。
请参考图2,在进一步的优选实施例中,得到状态预测器的具体步骤为:
对语言模型的参数进行固定,并在语言模型的CLS标志位上附加MLP神经网络来形成状态预测器。
在进行语言模型的训练完成后,再对语言模型的参数进行固定,MLP神经网络为一层、两层或多层。
请参考图1-2,在优选实施例中,步骤S4中预测对话状态具体包括:
正常状态、连续对话状态和对话结束状态,
当对话数据中存在EMPTY或CONT占位符时,状态预测器所预测的对话状态为连续对话状态;
当对话数据中存在结束对话标注时,状态预测器所预测的对话状态为对话结束状态。
采用步骤S2中整理好的数据,进行三分类目标的训练,从而使状态预测器判断当前对话状态为正常对话(等待用户发言)、连续对话 (立即进行下一句发言)、以及对话结束(不再需要用户发言)。训练数据使用步骤S2中整理好的数据,正确标签为判断是否存在[EMPTY] 或 [CONT] 占位符(如果存在,说明当前状态下需要连续对话)以及对话结束标签(如果存在,说明当前为结束状态)。然后在使用三分类交叉熵作为损失函数训练。
请参考图1-2,在优选实施例中,步骤S4之后还包括步骤S5:
S5:机器端的对话系统接收状态预测器所预测的对话状态,机器端根据对话状态来进行回复。
请参考图1-2,在优选实施例中,步骤S5的具体步骤为:
当状态预测器预测的对话状态为正常状态时,机器端的对话系统等待用户端发言;
当对话状态为连续发言状态时,机器端的对话系统采用CONT占位符代替用户端发言;
当对话状态为用户在预设时间内未进行发言时,机器端的对话系统采用EMPTY占位符代替用户端发言;
当对话状态为对话结束时,机器端的对话系统进行结束对话。
在三分类交叉熵作为损失函数训练进行训练完成后,机器端内的对话系统(对话模型)即能够根据状态预测器作出下一步回复。每当用户产生一轮新的发言,系统(对话模型)首先将这个发言和之前的对话历史拼接作为上下文,然后遍历候选池中的每一个候选AI回复构建句子对,送入语言模型中为候选句子预测分数,同时状态预测器为每个句子预测下个状态。选择语言模型得分最高的句子作为实际回复时,同时考虑状态预测器的输出。如果状态预测器预测为正常,则系统(对话模型)正常等待用户发言。如果用户超时未发言,系统将使用 [EMPTY] 占位符代替用户发言。如果状态预测器预测了连续发言的状态(对应用户反问的情况),系统将不等待用户,直接使用 [CONT] 代替用户发言,并使语言模型继续产生下一次发言。而如果状态预测器预测了对话结束,则系统可以结束对话流程,不再接收用户的输入。
本发明的有益效果为:本发明提供了一种端到端之间的主动对话的方法,通过对对话数据进行划分,用增强后的数据微调语言模型,然后通过附加训练额外的状态预测器进行下一步的预测,从而使机器端能够在催收场景下完成主动对话、主动结束的功能。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种端到端之间的主动对话的方法,其特征在于,包括如下步骤:
S1:对机器端的对话数据中的句子进行划分;
S11:将对话数据为复合长句的划分为多个短句,并在多个短句中加入连续发言提示占位符用来代表假定用户端的发言;
将用户端在预设时间内未发言的空白语句,在空白语句中加入空白发言占位符,用来代表用户端发言;
结束对话型发言由机器端进行发言,并在结束对话型发言中加入结束对话标注,代表机器端和用户端之间的对话结束;
S2:根据机器端和用户端之间的对话轮数以及对话数据中句子的长度来生成滑动窗口,根据机器端的发言次数进行对话数据的增强,且根据机器端和用户端之间的对话轮数进行训练样本对的生成;
S3:对生成的训练样本对进行语言模型的训练;
S4:根据所训练的语言模型,得出状态预测器,并根据状态预测器预测对话状态。
2.如权利要求1所述的端到端之间的主动对话的方法,其特征在于,所述步骤S1中划分的具体步骤为:
将语义相同,字面表达方式不同的语句进行合并,合并成单个语句;
将复合长句进行划分为多个短句。
3.如权利要求1所述的端到端之间的主动对话的方法,其特征在于,所述步骤S3中的语言模型训练具体为:
将训练样本对输入所述语言模型中,通过所述语言模型中的CLS标志位并附加softmax进行二分类,并采用二分类的交叉熵进行损失函数训练。
4.如权利要求1所述的端到端之间的主动对话的方法,其特征在于,所述得出 状态预测器的具体步骤为:
对语言模型的参数进行固定,并在语言模型的CLS标志位上附加MLP神经网络来形成状态预测器。
5.如权利要求1所述的端到端之间的主动对话的方法,其特征在于,所述步骤S4中预测对话状态具体包括:
正常状态、连续对话状态和对话结束状态,
当对话数据中存在EMPTY或CONT占位符时,状态预测器所预测的对话状态为连续对话状态;
当对话数据中存在结束对话标注时,状态预测器所预测的对话状态为对话结束状态。
6.如权利要求1所述的端到端之间的主动对话的方法,其特征在于,所述步骤S4之后还包括步骤S5:
S5:机器端的对话系统接收状态预测器所预测的对话状态,机器端根据对话状态来进行回复。
7.如权利要求6所述的端到端之间的主动对话的方法,其特征在于,所述步骤S5的具体步骤为:
当状态预测器预测的对话状态为正常状态时,机器端的对话系统等待用户端发言;
当对话状态为连续发言状态时,机器端的对话系统采用CONT占位符代替用户端发言;
当对话状态为用户在预设时间内未进行发言时,机器端的对话系统采用EMPTY占位符代替用户端发言;
当对话状态为对话结束时,机器端的对话系统进行结束对话。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210838786.9A CN114996430B (zh) | 2022-07-18 | 2022-07-18 | 一种端到端之间的主动对话的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210838786.9A CN114996430B (zh) | 2022-07-18 | 2022-07-18 | 一种端到端之间的主动对话的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114996430A CN114996430A (zh) | 2022-09-02 |
CN114996430B true CN114996430B (zh) | 2022-10-28 |
Family
ID=83022757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210838786.9A Active CN114996430B (zh) | 2022-07-18 | 2022-07-18 | 一种端到端之间的主动对话的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996430B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107053208B (zh) * | 2017-05-24 | 2018-06-01 | 北京无忧创新科技有限公司 | 一种主动交互式对话机器人系统及该系统主动对话的方法 |
CN110265009B (zh) * | 2019-05-27 | 2020-08-14 | 北京蓦然认知科技有限公司 | 一种基于用户身份的主动对话发起方法和装置 |
CN110297617B (zh) * | 2019-06-28 | 2021-05-14 | 北京蓦然认知科技有限公司 | 一种主动对话的发起方法和装置 |
CN114296547A (zh) * | 2021-12-03 | 2022-04-08 | 阿里巴巴(中国)有限公司 | 发起主动对话的方法、设备及存储介质 |
CN114490991A (zh) * | 2022-01-28 | 2022-05-13 | 福州大学 | 基于细粒度局部信息增强的对话结构感知对话方法及系统 |
-
2022
- 2022-07-18 CN CN202210838786.9A patent/CN114996430B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114996430A (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107665706B (zh) | 快速语音交互方法及系统 | |
CN110266899B (zh) | 客户意图的识别方法和客服系统 | |
US20180174585A1 (en) | Interaction assistant | |
CN106407178A (zh) | 一种会话摘要生成方法及装置 | |
CN110689878B (zh) | 一种基于XLNet的智能语音对话意图识别方法 | |
CN111145729B (zh) | 语音识别模型训练方法、系统、移动终端及存储介质 | |
CN110647621A (zh) | 机器人客服引导对话中选择话术的方法和装置 | |
CN112818109B (zh) | 邮件的智能回复方法、介质、装置和计算设备 | |
CN116049360A (zh) | 基于客户画像的智能语音对话场景话术干预方法及系统 | |
Hara et al. | Turn-Taking Prediction Based on Detection of Transition Relevance Place. | |
CN111858854A (zh) | 一种基于历史对话信息的问答匹配方法及相关装置 | |
CN116303949A (zh) | 一种对话处理方法、系统、存储介质及终端 | |
CN112199486A (zh) | 一种办公场景的任务型多轮对话方法及系统 | |
US20230274095A1 (en) | Autonomous conversational ai system without any configuration by a human | |
CN115269836A (zh) | 意图识别方法及装置 | |
CN114239607A (zh) | 一种对话答复方法及装置 | |
CN111400479B (zh) | 针对多轮对话的问题识别方法和装置 | |
CN114996430B (zh) | 一种端到端之间的主动对话的方法 | |
CN114490994B (zh) | 对话管理方法及装置 | |
CN109271637B (zh) | 一种语义理解方法及装置 | |
WO2020144636A1 (en) | Artificial intelligence system for business processes | |
CN114372476B (zh) | 语义截断检测方法、装置、设备和计算机可读存储介质 | |
CN116186259A (zh) | 一种会话线索评分方法、装置、设备及存储介质 | |
CN111091011B (zh) | 领域预测方法、领域预测装置及电子设备 | |
KR20230116143A (ko) | 상담 유형 분류 시스템 |
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 |