CN111414462B - 一种对话语句确定方法、装置、计算机设备和介质 - Google Patents
一种对话语句确定方法、装置、计算机设备和介质 Download PDFInfo
- Publication number
- CN111414462B CN111414462B CN202010108459.9A CN202010108459A CN111414462B CN 111414462 B CN111414462 B CN 111414462B CN 202010108459 A CN202010108459 A CN 202010108459A CN 111414462 B CN111414462 B CN 111414462B
- Authority
- CN
- China
- Prior art keywords
- dialogue
- topic
- sentence
- target
- conversation
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/3331—Query processing
- G06F16/3349—Reuse of stored results of previous queries
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本申请提供了一种对话语句确定方法、装置、计算机设备和介质,该方法涉及人机智能交互领域,该方法在实现时先获取了目标用户所参与的对话的历史对话记录;而后,根据历史对话记录确定历史对话话题;并根据历史对话话题和目标对话话题,确定第一当前对话话题;最后根据第一当前对话话题,确定用于向目标用户发送的第一对话语句。由于在确定第一当前对话话题时,同时考虑到了其与历史对话话题的词义相似度,和与目标对话话题的词义相似度,确定出的第一当前对话话题更为合适,提高了第一当前对话话题确定的准确度,同时提高了利用第一当前对话话题确定第一对话语句的准确度。
Description
技术领域
本申请涉及人机智能交互领域,尤其涉及一种对话语句确定方法、装置、计算机设备和介质。
背景技术
随着电子信息技术的发展和人们对沟通交流需求的增加,出现了大量的对话***。这些对话***大致可以分成两种类型,一种是不干预用户进行交流的对话***,一种是干预用户交流的对话***。
不干预用户进行交流的对话***通常是指进行对话的双方或多方在交流信息的时候,没有***进行干预,一方所传递给另一方的对话内容完全是由自己的想法所决定的。
干预用户交流的对话***通常是指进行对话的双方或多方中的至少一方是由对话***担任的,或者是进行对话的双方或多方中的至少一方在输入对话内容(发送给其他方的信息)时,是受到对话***所影响的。
常见的由***参与主导的对话***如人机智能交互***,该***工作时,用户可以与向人机智能交互***发出聊天语句,该***也会适应性的制定回复语句,以与用户进行聊天交流。由***参与主导的对话***又如某些辅助聊天***,该***工作时,可以帮助用户根据对方的输入内容制定相应的回复内容(如回复语句、短语或关键词),用户可以直接在该回复内容上进行修改,并将修改后的回复内容发送给对方,以降低用户的输入量,并提高输入的准确程度。
发明内容
有鉴于此,本申请的目的在于提供了一种对话语句确定方法、装置、计算机设备和介质。
第一方面,本申请实施例提供了一种对话语句确定方法,所述方法包括:
获取目标用户所参与的对话的历史对话记录;
根据历史对话记录确定历史对话话题;根据历史对话话题和目标对话话题,确定第一当前对话话题;第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度;且第一当前对话话题与历史对话话题的词义相似度大于预设数值;
根据第一当前对话话题,确定用于向目标用户发送的第一对话语句。
在一些实施例中,所述词义相似度是最短路径相似度或余弦相似度。
在一些实施例中,根据历史对话话题和目标对话话题,确定第一当前对话话题,包括:
根据历史对话话题和每个候选对话话题的词义相似度、每个候选对话话题的第一参考值和目标用户的对每个候选对话话题的感兴趣程度,从候选对话话题中选择出第一当前对话话题;候选对话话题的第一参考值是根据该候选对话话题与目标对话话题的词义相似度和历史对话话题与目标对话话题的词义相似度的差值确定的。
在一些实施例中,根据第一当前对话话题,确定用于向目标用户发送的第一对话语句,包括:
将历史对话记录和第一当前对话话题输入到预先训练完成的对话语句生成模型,以获取对话语句生成模型所输出的第一候选语句;
根据第一当前对话话题,从对话语句库中的多个备选回复语句中选择第二候选语句;
将历史对话记录、第一候选语句和第二候选语句分别输入到预先训练完成的语句评价模型,以确定第一候选语句的评分和第二候选语句的评分;
根据第一候选语句的评分和第二候选语句的评分,从第一候选语句和第二候选语句中选择用于向目标用户发送的第一对话语句。
在一些实施例中,根据第一当前对话话题,从对话语句库中的多个备选回复语句中选择第二候选语句,包括:
针对对话语句库中每个备选回复语句,根据该备选回复语句与第一当前对话话题的相似度和以下任意一个或多个相似度计算备选回复语句的第二参考值:该备选回复语句与历史对话话题的相似度、该备选回复语句所对应的提问语句与第一当前对话话题的相似度、该备选回复语句所对应的提问语句与历史对话话题的相似度;
根据每个备选回复语句的第二参考值,从对话语句库中的多个备选回复语句中选择第二候选语句。
在一些实施例中,根据历史对话话题和目标对话话题,确定第一当前对话话题,包括:
判断历史对话话题与目标对话话题的相似度是否大于预设数值;
若历史对话话题与目标对话话题的相似度不大于预设数值,则根据历史对话话题和目标对话话题,确定第一当前对话话题。
在一些实施例中,所述方法还包括:
若历史对话话题与目标对话话题的相似度大于预设数值,则向所述历史对话记录所对应的目标对象推送与目标对话话题相对应的信息。
在一些实施例中,目标对话话题是根据以下任意一个或多个信息确定的:
训练对话语句生成模型所使用的每个对话领域的训练样本的数量、历史对话记录所对应的目标对象的历史行为习惯、历史对话记录所对应的目标对象的当前状态信息。
在一些实施例中,在步骤获取目标用户所参与的对话的历史对话记录后,还包括:
根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
若对话异常程度高于预定数值,则根据历史对话记录确定目标对象不感兴趣的对话领域;
根据目标对象不感兴趣的对话领域和目标对话话题,确定第二当前对话话题;
根据第二当前对话话题,确定用于向目标用户发送的第二对话语句。
在一些实施例中,在步骤获取目标用户所参与的对话的历史对话记录后,还包括:
根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
若对话异常程度高于预定数值,则根据历史对话记录确定目标对象不感兴趣的对话领域;
根据目标对象不感兴趣的对话领域和当前的目标对话话题,重新确定目标对话话题;
根据历史对话话题和重新确定的目标对话话题,确定第三当前对话话题;
根据第三当前对话话题,确定用于向目标用户发送的第三对话语句。
在一些实施例中,目标对象所发出的对话语句的状态信息包括以下的任意一种或多种:
指定时间段内目标对象所发出的对话语句的数量信息、长度信息和延迟信息。
在一些实施例中,一种对话语句确定装置,包括:
获取目标用户所参与的对话的历史对话记录;
根据历史对话记录确定历史对话话题;根据历史对话话题和目标对话话题,确定第一当前对话话题;第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度;且第一当前对话话题与历史对话话题的词义相似度大于预设数值;
根据第一当前对话话题,确定用于向目标用户发送的第一对话语句。
在一些实施例中,一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的对话语句的确定方法的步骤。
在一些实施例中,一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上所述的对话语句的确定方法的步骤。
本申请所提供的方法,在实现时先获取了目标用户所参与的对话的历史对话记录;而后,根据历史对话记录确定历史对话话题;并进一步根据历史对话话题和目标对话话题,确定第一当前对话话题;其中,第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度;且第一当前对话话题与历史对话话题的词义相似度大于预设数值;最后根据第一当前对话话题,确定用于向目标用户发送的第一对话语句。由于在确定第一当前对话话题时,同时考虑到了其与历史对话话题的词义相似度,和与目标对话话题的词义相似度,确定出的第一当前对话话题更为合适,提高了第一当前对话话题确定的准确度,同时提高了利用第一当前对话话题确定第一对话语句的准确度。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种对话语句确定方法的基本流程示意图;
图2示出了本申请实施例所提供的一种最短路径相似度的词网示意图;
图3示出了本申请实施例所提供的一种第一对话语句确定方法的基本流程示意图;
图4示出了本申请实施例所提供的一种详细的对话语句确定方法的基本流程示意图;
图5示出了本申请实施例所提供的一种对话语句确定装置的基本结构示意图;
图6为本申请实施例提供的一种电子设备600的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着电子信息技术的发展,出现了越来越多的干预用户交流的对话***,这些对话***在各行业中都有应用。如在某些智能设备中,对话***可以担任应答方,以通过与用户进行自然语言的交流来确定用户期望获取的信息,并向用户进行反馈。具体如,用户可以采用自然语言的方式向对话***询问某些事情,而后,对话***会针对性的生成应答语句,来回应用户的询问。担任应答方的对话***在完成了对用户的应答后就会终止流程,但还有某些对话***只是单纯的以将聊天进行下去为目的,以抓住用户,这种对话***通常不会有明确的聊天终止时刻。
除了上述这种直接在对话中担任应答方的对话***,还有辅助聊天***,这种辅助聊天***常见于聊天软件和语言学习软件。在聊天软件中,为了提高聊天的效率,对话***会依据A终端(收用户A控制)所发送的聊天内容直接为B终端(受用户B控制)生成应答内容(如回复语句、短语或关键词等),并在B终端的显示界面上展示出来(也可以是通过语音等方式输出给B终端的用户),以给用户B进行参考。用户B在使用时可以直接将生成的应答内容作为回复内容发送给A终端,以使用户A能够看到,也可以是在生成的应答内容的基础上用户B主动进行一些修改(如将回复语句的某些字词进行调整,或者是将短语、关键词编排成语句),而后再发送给A终端。
在语言学习软件中,对话***会根据A终端的输入来生成关键词(通常是较为复杂的词汇,或者是某些能够影响对话走向的词汇),并将生成的关键词在B终端上展示出来,B终端的用户可以依据生成的关键词来输入回复内容,并将该回复内容发送给A终端。
在上述几种对话***的基础上,有技术人员研发出了对话引导***(通常是对话***担任应答方的情况),也就是通过对话***的干预,来将对话引到至某个特定的话题上,以开发出用户的潜在需求。具体来说,如果引导到的该特定的话题是用户感兴趣的话题,则在引到至某个特定的话题上之后,则聊天话题就可以不再改变,以持久的进行下去,以达到抓住用户的目的。又如可以在将聊天的话题引导到特定话题后,可以向用户推送与该话题相对应的信息。
传统方案中,对话引导***在与用户进行对话(或者是辅助与用户进行对话)时,需要先确定出目标聊天话题(聊天的目的是将与用户的对话引导到目标聊天话题上),进而,在接收到用户A发送给用户B的聊天内容后,会依据聊天内容和目标聊天话题来生成应答内容,而后***可以自动的将应答内容发送给用户A,或者是将应答内容展示给用户B之后,由用户B对应答内容进行编辑后再发送给用户A。
通常来说,应答内容中应当包含有对用户A所发送的聊天内容的回复,也会包含有目标聊天话题的关键词。但是这种生成应答内容的方式并不理想,主要是聊天内容和目标聊天话题可能会跨度很大,如果强行将二者结合到应答内容中,则应答内容会变得十分奇怪,这可能会导致用户A难以理解应答内容,并且会主动的停止对话。针对上述应答内容制定不准确的问题,本申请发明人认为可以采用如下的对话语句确定方法来解决,如图1所示,对话语句确定方法包括如下步骤:
S101,获取目标用户所参与的对话的历史对话记录;
S102,根据历史对话记录确定历史对话话题;
S103,根据历史对话话题和目标对话话题,确定第一当前对话话题;第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度;且第一当前对话话题与历史对话话题的词义相似度大于预设数值;
S104,根据第一当前对话话题,确定用于向目标用户发送的第一对话语句。
步骤S101中,历史对话记录指的是目标用户所参与的对话的历史交流情况。具体来说,历史对话记录可以认为是目标用户所参与的某个对话的对话记录(聊天记录)。具体实现时,历史对话记录可以分为两种,下面分别进行说明。
第一种,目标用户所参与的对话是由两个对象来完成的。即目标用户为其中一个对象、自动回复***(能够自动生成对话内容,并向目标用户进行反馈的***,即本申请所提供的方法的执行主体)为另一个对象。那么历史对话记录中应当有目标用户的发言,否则后续步骤中确定出的历史对话话题难以准确的表征目标用户的想法。
第二种,目标用户所参与的对话是由多个对象共同进行的。此时,历史对话记录就是在一个有目标用户所参与的对话群组中所发生的对话,那么,历史对话记录中最好有目标用户的发言(目标用户的发言越多,确定出的历史对话话题就越与目标用户的实际想法越接近),但如果没有目标用户的发言,也是可以执行后续流程的。具体如,在某个有目标用户参与的对话群组(该对话群组中除了目标用户外还有其他用户)中,目标用户没有在该群组中发过言,该对话群组的对话记录中只有其他用户发言的记录,那么将其他用户发言的记录作为历史对话记录也是可以的(这主要是考虑到同一个对话群组中不同对象的对话思路都应当是大致统一的,因此可以通过其他对象的发言情况来确定目标用户的实际想法)。
历史对话记录反映了目标用户所参与的对话的具体内容,通过对该内容进行分析可以确定出历史对话话题,也就是目标用户所参与的对话中聊到了什么主题。具体来说,历史对话话题可以如牛奶、面包等名词,话题也可以是动词、形容词。一般情况下,可以使用的历史对话话题是相对固定的,也就是在步骤S102中,确定某个历史对话记录的历史对话话题时,通常是从一个预先生成的话题词库中选择某个词作为历史对话话题。这样,生成的历史对话话题相对可控,不会出现词语偏差过大,导致后续流程无法实现的情况。
步骤S102在具体实现时,确定的历史对话话题通常是最近一次交流所提及的话题。具体来说,如果历史对话记录中记录了大量的发言,那么不同发言所对应的话题可能是有一定差异的。比如,目标用户与对话引导***进行了多次交流,交流的话题开始是股票,而后变化为体育,最后又变化为军事,也就是历史对话记录反映最近一次对话的话题是军事,那么为了保证下次发送给目标用户的第一对话语句的话题不会与目前已经谈及到的话题改变太大,应当主要以最近一次对话的话题作为历史交流话题,即将军事作为历史交流话题。
具体实现时,可以是先确定一个话题词库,该话题词库中存储有大量的话题词,而后采用词义对比的方式,从话题词库中选择与历史对话记录的词义最相近的话题词作为历史对话话题。
需要说明的是,本申请所提供的方案中,话题词库中预先生成的话题均可以是来源于网络上的社交平台,如微博、豆瓣、知乎等。
但需要说明的是,在具体实现时,并不是只直接使用历史对话记录中最近一次对话的内容来确定历史对话话题就是最优的,主要是只是用最近一次对话的内容来确定历史对话话题计算量相对较小,但计算准确度可能不够高。如果在确定最近一次对话的话题时,考虑到前几次对话的内容与本次对话的内容的差异,那么确定出的最近一次对话的话题会更加准确。
进而,步骤S102可以有如下三种具体实现方式,第一种实现方式,步骤S102可以按照如下方式实现:
步骤1021,从历史对话记录中提取最近一段时间内所发生的对话内容;
步骤1022,根据最近一段时间内所发生的对话内容确定历史对话话题。
第二种实现方式,步骤S102可以按照如下方式实现:
步骤1023,从历史对话记录中提取最近预设次数的对话内容;
步骤1024,根据最近预设次数的对话内容确定历史对话话题。
第三种实现方式,步骤S102可以按照如下方式实现:
步骤1025,根据历史对话记录,从第一话题词库中选择出每个时间段的第一历史交流话题;
步骤1026,根据每个时间段的第一历史交流话题,判断距离当前时间最近的多个第一历史交流话题是否未发生变化;
步骤1027,若距离当前时间最近的多个第一历史交流话题未发生变化,则根据历史对话记录,从第二话题词库中选择出每个时间段的第二历史交流话题,并根据第二历史交流话题确定历史对话话题;第二话题词库中的话题词比第一话题词库中的话题词更具体;
步骤1028,若距离当前时间最近的多个第一历史交流话题发生变化,则根据第一历史交流话题确定历史对话话题。
上述三种方式中,前两种方式比较好理解,分别是使用最近一段时间或最近预定次数的对话内容来确定历史对话话题,这样计算量比较小。
第三种方式在实现时,要先从第一话题词库中查找出每个时间段所对应的第一历史交流话题。如,按照时间顺序查找出的第一历史交流话题是:军事-军事-体育-体育-体育-体育,如果不考虑话题变化情况的话,可以直接将体育作为最后一次对话所对应的话题了,但如果直接将体育作为历史对话话题可能是不够准确的,因为前面也多次将体育作为了话题,但实际交流的时候的话题难免不会发生微调,因此,如果同一个话题连续出现的话,就应当从更具体的话题词库(第二话题词库)中查找历史对话话题了。如上述例子中最后连续出现了4次体育(最近预设次数的历史交流话题未发生变化),那么在确定历史对话话题时就需要将这连续出现的话题(体育)具体化,也就是要从第二话题词库中选择第二历史交流话题。其中,第二话题词库中的话题词比第一话题词库中的话题词更具体,也就是,第二话题词库中至少部分话题词(可以选择成为第二历史交流话题的话题词)比第一话题词库中对应的话题词(可以选择成为第一历史交流话题的话题词)更加具体;换句话说,对于指定类型的第二话题词库中的话题词和第一话题词库中的话题词,第二话题词库中的话题词的具体程度应当至少与第一话题词库中的话题词是相同的,或者是第二话题词库中的话题词比第一话题词库中的话题词更具体。具体来说,如对于体育类的话题词,第一话题词库中所保存的话题词可以是体育,第二话题词库中所保存的话题词可以是赛跑、足球、篮球等。又如对于体育类的话题词,第一话题词库中所保存的话题词可以是赛跑,第二话题词库中所保存的话题词可以是马拉松、接力跑、100米比赛等。也就是具体实现时,第二话题词库中的话题词可以是第一话题词库中对应话题词的更具体分类。还可以是,第二话题词库中的话题词包括了第一话题词库中对应话题词的具体分类和第一话题词库中对应话题词。
进而,采用上述设置第一话题词库和第二话题词库的方式,在第二话题词库中寻找话题词的时候就可以找到更为具体的话题词了,而在第一话题词确定模板中寻找话题词的时候就只能找到更为概括的话题词了。
承接上一示例,按照上述方式可以确定第二历史交流话题如下:军事-军事-足球-足球-篮球-乒乓球。进而,在具体化之后,就应当将乒乓球作为历史对话话题。也就是,当连续的几个第一历史交流话题都是相同的时候(如连续4个话题都是体育),就应当重新确定每个时间段所对应的话题(第二历史交流话题),并使用重新确定的最近一次的话题作为历史对话话题。
对应的,如果最近预设次数的历史交流话题发生了变化,则说明使用第一话题词确定模板确定出的第一候选历史交流话就已经足够准确了,此时可以直接根据第一历史交流话题确定历史对话话题。
采用上述第三种步骤S102的实现方式,可以在计算效率和准确度之间进行平衡,也就是由于第一话题词库中的话题词更为概括,第二话题词库中的话题词更为具体,因此,第一话题词库中的话题词的数量要少于第二话题词库中的话题词的数量,这使得在第一话题词库和第二话题词库中进行检索所占用的***资源是有差别的,进而使用这种方式可以在需要的时候,可以确定出更为具体的话题词作为历史对话话题,在不需要只使用较为概括的话题词作为历史对话话题。
在确定了历史对话话题后,步骤S103中,就可以根据历史对话话题和目标对话话题,确定第一当前对话话题。为了保证用户阅读对话语句不会感觉很突兀(对话语句与历史对话话题的差异越大,用户通常就会感觉越突兀),应当保证确定出的第一当前对话话题与历史对话话题的改变程度是较小的,同时确定出的第一当前对话话题应当与目标对话话题更为相似(第一当前对话话题与历史对话话题相比,第一当前对话话题更接近目标对话话题)。也就是第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度(对话在朝向目标对话话题引导);且第一当前对话话题与历史对话话题的词义相似度大于预设数值(对话话题的改变不会过于突兀)。
步骤S103具体实现时,可以先预存一个话题词库,而后,在计算话题词库中的每个话题词与目标对话话题的词义相似度,以及每个话题词与目标对话话题的词义相似度之后,就可以依据话题词的这两个词义相似度,从全部的话题词中选择出第一当前对话话题了。如果没有预存话题词库,那就只能临时生成话题词,并确定该话题词能否作为第一当前对话话题,比如,可以直接从网络文章中爬取关键词作为候选的话题词,而后采用上述计算两个词义相似度的方式,计算每个爬取出来的话题词的两个词义相似度,并依据计算结果从爬取到的话题词中选择第一当前对话话题。具体实现时,可以是依据历史对话话题和目标对话话题在网络文库中查找相关的语句(查找到的语句中的关键词应当与历史对话话题,或目标对话话题的词义相似度是较高的),并依据查找到的语句来确定候选话题(如从查找到的语句中直接提取出某个词汇候选话题词),最后根据候选话题是否满足与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度,以及与历史对话话题的词义相似度大于预设数值来确定候选话题可否作为第一当前对话话题。
最后,步骤S104中,可以直接依据第一当前对话话题来生成对话语句了。生成的方式可以是将第一当前对话话题输出到某个训练好的对话语句生成模型直接生成第一对话语句,也可以是依据第一当前对话话题从某个对话语句库中选择某个预先录入的句子作为第一对话语句。
步骤S103中,词义相似度有两种具体形式,第一种形式是余弦相似度,第二种形式是最短路径相似度。下面分别对这两种形式进行介绍。
首先对余弦相似度进行介绍。余弦相似度是用向量空间中两个向量夹角的余弦值作为衡量两个个体(词语)间差异的大小的参数。因此,在确定余弦相似度之前,首先需要将被计算的两个词语向量化,而后,通过计算这两个词语所对应向量的夹角的余弦值就可以确定余弦相似度了。一般来说,余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,对应的这两个词语就越相似。
其次对最短路径相似度进行介绍。余弦相似度只用到了两个词自身的词向量信息,而没有考虑到不同词之间的关联,而最短路径相似度则是考虑到了不同词之间的关联。假设有一张全局词的词语网络(由大量词汇所形成的网络,每个词都是该网络中的节点),存在关系的词和词之间(或者说词义相近的词与词之间)通过线段进行连接,那么计算两个词的距离时就可以是通过计算这个网络上这两个词所在节点的最短路径距离来完成(先确定最短的路径,再将最短的路径中经过的每个线段的距离进行累加来得到最短路径距离),这个最短路径距离就用来表征最短路径相似度。下面对该词语网络的构建过程为:每个词都作为一个网络节点,针对每个词,都计算该词与其他词的余弦相似度,并将余弦相似度大于一定阈值的其他词和该词连一条线作为网络的边。经过这样的操作,就可以得到一张词的网络,并且相似度较高的词之间通过边连接着,此时计算两个词的路径时就不在只用两个节点词的余弦距离作为衡量标准,而是在整张词网络上进行路径搜索,通过最短路径算法得到两个词之间经过的最短路径,并把这最短路径所包含的边的距离相加作为两个词之间的距离(最短路径距离)。这种方法因为用到了全局的词网络信息,并且是多维空间的度量,相对于余弦距离而言,这种考虑全局词网络情况来计算距离的方式比只用自身两个词的词向量信息更有客观性,更符合实际情况。
特举如下例子来说明最短路径相似度的确定过程:如图2所示,假设要衡量“牛肉”分别与“面包”和“鸡蛋”的距离,如果直接计算两个词词向量的余弦距离(余弦相似度)得到的为distance(牛肉,鸡蛋)=0.5,distance(牛肉,面包)=0.4,此时“牛肉”与“面包”更近。而如果通过在全局词网络上进行路径搜索(计算最短路径)分别得到(牛肉-西红柿-鸡蛋),(牛肉-意面-面包)两条路径。此时distance(牛肉-西红柿-鸡蛋)=distance(牛肉,西红柿)+distance(西红柿,鸡蛋)=0.35+0.25=0.6,而第二个路径的distance(牛肉-意面-面包)=distance(牛肉,意面)+distance(意面,面包)=0.3+0.35=0.65,此时面包和鸡蛋相比,“牛肉”与“鸡蛋”更近,而明显从常识来看,“鸡蛋”是比“面包”更主观的觉得离“牛肉”近的(都属于家禽相关的类型)。也就是,在从“面包”和“鸡蛋”中选择出与牛肉词义更相似的词语时,使用余弦相似度和使用最短路径来完成计算,所计算出的结果可能是有差异的,并且采用最短路径的方式来计算的话,结果通常更为准确。
也就是,使用最短路径相似度来实现步骤S103要比使用余弦相似度来实现步骤S103通常更为准确。但使用最短路径相似度来实现方案的时候,涉及到全局计算,计算量较大,因此,在具体实现时,可以根据自动回复***的当前负载情况和生成对话语句的紧急情况(可以根据历史对话记录中目标用户最后一次发送对话语句的时间和目标用户的级别来确定紧急情况)来确定使用最短路径相似度来实现步骤S103,还是使用余弦相似度来实现步骤S103。
步骤S103在具体实现的时候,除了依据词义相似度来判断,还可以依据目标用户对每个候选对话话题的感兴趣程度来确定。具体来说,步骤S103,可以按照如下方式实现:
步骤1031,根据历史对话话题和每个候选对话话题的词义相似度、每个候选对话话题的第一参考值和目标用户的对每个候选对话话题的感兴趣程度,从候选对话话题中选择出第一当前对话话题;候选对话话题的第一参考值是根据该候选对话话题与目标对话话题的词义相似度和历史对话话题与目标对话话题的词义相似度的差值确定的。
在步骤1031中,候选对话话题是话题词库中预存的对话话题。感兴趣程度可以是根据用户的历史行为习惯预先设置好的(如用户的历史浏览记录中大多是关于体育类的,那么体育类的感兴趣程度就可以设置为较高)。针对每个对话话题,可以对该对话话题设置一个分数或等级,该对话话题所对应的分数或等级用于表征用户对该对话话题的感兴趣程度。当然每个对话话题的感兴趣程度还可以根据用户即时发生的历史对话内容进行更新。
候选对话话题的感兴趣程度更新过程可以包括以下步骤:
步骤10311,针对每个候选对话话题,获取用户关于该候选对话话题的历史行为信息;其中,历史行为信息可以包括以下信息:指定时间段内目标对象所发出的关于该历史对话话题的对话语句的数量信息、长度信息和延迟信息。
步骤10312,针对每个候选对话话题,根据该候选对话话题所对应的历史行为信息,更新用户对该候选对话话题的感兴趣程度。
在上述步骤10311中,根据历史行为信息可以反映出用户对候选对话话题是否感兴趣。用户对该候选对话话题在指定时间段内所发出的对话语句的数量信息越多,可以说明用户对该候选对话话题越感兴趣,用户对该候选对话话题在指定时间段内所发出的对话语句的数量信息越少,可以说明用户对该候选对话话题越不感兴趣;用户对该候选对话话题在指定时间段内所发出的对话语句的长度信息越长,可以说明用户对该候选对话话题越感兴趣,用户对该候选对话话题在指定时间段内所发出的对话语句的长度信息越短,可以说明用户对该候选对话话题越不感兴趣;用户对该候选对话话题在指定时间段内所发出的对话语句的延迟信息越长,可以说明用户对该候选对话话题越不感兴趣,用户对该候选对话话题在指定时间段内所发出的对话语句的延迟信息越短,可以说明用户对该候选对话话题越感兴趣。
在上述步骤10312中,如果历史行为信息表征用户对某个候选对话话题有着感兴趣的行为,则可以将该候选对话话题的感兴趣程度提高。通常,用户对某个候选对话话题不感兴趣不容易识别出来,因此,在具体实现时,可以是当用户的行为中出现了关于某个候选对话话题的行为时,就将用户对该候选对话话题的感兴趣程度提高,从而完成更新用户对该候选对话话题的感兴趣程度的行为。
具体的,在上述描述中,历史对话话题与候选对话话题的词义相似度的值越大,说明该候选对话话题与历史对话话题的差异越小,历史对话话题与候选对话话题的词义相似度的值越小,说明该候选对话话题与历史对话话题的差异越大,但是只有当历史对话话题与候选对话话题的词义相似度的值大于预设数值的情况下该候选对话话题才有可能成为第一当前对话话题,这主要是为了保证第一当前对话话题与历史对话话题的变化不会过大。候选对话话题的第一参考值是根据该候选对话话题与目标对话话题的词义相似度和历史对话话题与目标对话话题的词义相似度的差值确定的,第一参考值越大,说明该候选对话语句越与目标对话语句接近,则该候选对话语句成为第一当前对话话题的可能性越大,第一参考值越小,说明该候选对话语句越与目标对话语句相差较远,则该候选对话语句成为第一当前对话话题的可能性越小。目标用户对每个候选对话话题的感兴趣程度越大,则该候选对话话题成为第一当前对话话题的可能性越大,目标用户的对每个候选对话话题的感兴趣程度越小,则该候选对话话题成为第一当前对话话题的可能性越小。
步骤S104中确定对话语句的时候,除了单独使用对话语句生成模型或者是单独使用从对话语句库中的多个备选回复语句中选择的方式以外,还可以是将二者进行结合,也就是,如图3所示,步骤S104可以按照如下方式实现:
S1041,将历史对话记录和第一当前对话话题输入到预先训练完成的对话语句生成模型,以获取对话语句生成模型所输出的第一候选语句;
S1042,根据第一当前对话话题,从对话语句库中的多个备选回复语句中选择第二候选语句;
S1043,将历史对话记录、第一候选语句和第二候选语句分别输入到预先训练完成的语句评价模型,以确定第一候选语句的评分和第二候选语句的评分;
S1044,根据第一候选语句的评分和第二候选语句的评分,从第一候选语句和第二候选语句中选择用于向目标用户发送的第一对话语句。
也就是,在步骤S1041中,先由对话语句生成模型输出第一候选语句。以及在步骤S1042中,从对话语句库中的多个备选回复语句中选择第二候选语句(步骤S1041和步骤S1042并无绝对的逻辑先后关系,这两个步骤可以同时执行,也可以是先后执行)。而后,在步骤S1043中使用评价模型来对步骤S1041和步骤S1042的输出结果进行评价,最后,步骤S1044中,根据评价结果来确定将第一候选语句和第二候选语句中的一个作为向目标用户发送的第一对话语句。
此处,需要对步骤S1043中所使用的语句评价模型进行简要介绍。训练该语句评价模型时,首先要收集训练样本(至少包括一个参考回复语句和该参考回复语句所对应的前置语句),以形成语句库。该语句库中的训练样本一般是从网络上爬取到的,语句库中的每个训练样本都可以由参考回复语句和对应的前置语句(或者是该参考回复语句所对应的提问语句,或者是前置的对话语句)组成。而后,使用训练样本训练语句评价模型即可,语句评价模型就可以知晓历史对话集合和对应的回复语句的对应关系了。进而,在步骤S1043中,语句评价模型就可以确定第一候选语句和第二候选语句中哪个更与历史对话记录相匹配。
具体来说,确定第二候选语句的时候,还可以考虑更多的信息,步骤S1042,包括:
步骤10421,针对对话语句库中每个备选回复语句,根据该备选回复语句与第一当前对话话题的相似度和以下任意一个或多个相似度计算备选回复语句的第二参考值:该备选回复语句与历史对话话题的相似度、该备选回复语句所对应的提问语句与第一当前对话话题的相似度、该备选回复语句所对应的提问语句与历史对话话题的相似度;
步骤10422,根据每个备选回复语句的第二参考值,从对话语句库中的多个备选回复语句中选择第二候选语句。
在上述步骤10421中,提问语句可以是备选回复语句所对应的提问语句。例如,备选回复语句是“今天中午吃的牛排”,其对应的提问语句就可以是“今天中午吃的什么?”,备选回复语句和对应的提问语句通常是存在于同一篇网文中的,例如,在贴吧中存在有两个用户(A用户和B用户)之间的对话,在确定了A用户所说的某一句话可以作为备选回复语句后,那么B用户在该备选回复语句前所说的最后一句话就可以作为该备选回复语句所对应的提问语句。
具体的,备选回复语句与第一当前对话话题的相似度可以通过备选回复语句的关键词与第一当前对话话题的词义相似度来表征,该相似度可以说明备选回复语句与第一当前对话话题的关系紧密程度。该备选回复语句所对应的提问语句与第一当前对话话题的相似度也同样可以起到类似的表征作用,并且,通过提问语句与第一当前对话话题的相似度的判定,能够起到一定的过滤作用,以过滤掉某些网络文本中相关性较差的内容。
与对第一当前对话话题的判定原则类似的,可以参照此种判定方式对备选回复语句和历史对话话题的关系紧密程度进行判断。也就是,在评价备选回复语句的第二参考值的时候,还可以考虑该备选回复语句所对应的提问语句与历史对话话题的相似度,以及该备选回复语句与历史对话话题的相似度。
在上述步骤10422中,通过预先设置好第二参考值的阈值,可以筛选出更符合要求的第二候选语句。
在与用户进行对话的过程中,目标对话话题的选择可以是受限的,这可以提高自动回复***回复的精准程度,也就是在步骤S102所提到的目标对话话题可以是根据根据以下任意一个或多个信息确定的:
训练对话语句生成模型所使用的每个对话领域的训练样本的数量、历史对话记录所对应的目标对象的历史行为习惯、历史对话记录所对应的目标对象的当前状态信息。
其中,对话领域可以是当前对话内容所涉及到的领域(如美食领域、汽车领域等),训练对话语句生成模型所使用的对话领域的训练样本的数量越多,则该对话领域(或该对话领域所对应的词)的越应当成为目标对话话题,这样,自动回复***所生成的第一对话语句的质量就会越高,否则如果是在自动回复***比较陌生的领域进行与用户的对话的话,则回复的精准程度就会降低,进而会造成答非所问的情况。历史对话记录所对应的目标对象的历史行为习惯反映了用户的感兴趣领域,用户对哪个领域越感兴趣,则在该领域进行的对话就会越顺畅。
历史对话记录所对应的目标对象的当前状态信息指的是用户当前的一些状态,比如时间、位置等。比如,在当前时间是中午,则确定的目标对话话题可以更多的与午休、午饭相关。用户的位置处在饭店附近,则目标对话话题可以与午饭相关,用户的位置靠近商场,则可以与购物相关。
具体实现时,在与用户的对话达到了目标对话话题后,可以更换一个新的目标对话话题继续进行对话,也可以是在达到了目标对话话题后做出某个既定的动作。而在没有达到目标对话话题时就需要继续确定第一当前对话话题,并进行后续的对话。也就是,步骤S103,包括:
步骤105,判断历史对话话题与目标对话话题的相似度是否大于预设数值;
步骤106,若历史对话话题与目标对话话题的相似度不大于预设数值,则根据历史对话话题和目标对话话题,确定第一当前对话话题。
在上述步骤105中,通过计算历史对话话题与目标对话话题之间的相似度,来判断历史对话话题与目标对话话题是否接近。确定历史对话话题与目标对话话题是否接近需要设置一个预设数值,如果历史对话话题与目标对话话题的相似度不大于预设数值,说明历史对话话题还没有接近目标对话话题,就可以执行步骤S106。
步骤107,若历史对话话题与目标对话话题的相似度大于预设数值,则向历史对话记录所对应的目标对象推送与目标对话话题相对应的信息。
在上述步骤107中,如果历史对话话题与目标对话话题的相似度大于预设数值,说明历史对话话题与目标对话话题之间很接近,不需要再将用户向目标对话话题进行引导了,就可以向用户推送与目标对话话题相对应的信息。与目标对话话题相对应的信息可以是广告、链接等。
当然除了向用户推送与目标对话话题相对应的信息之外,还可以设置一个新的目标对话话题,并按照该新的目标对话话题继续与用户进行对话,提高了用户的对话兴趣,也减少了对话陷入僵局的情况。
在与用户对话的过程中,还可以根据用户的反应情况来确定用户对于当前对话的感兴趣情况,并根据用户的感兴趣情况对当前对话话题进行调整。在对当前对话话题进行调整时,包括两种调整方式,第一种,不对目标对话话题进行调整,仅调整当前对话话题;第二种,对目标对话话题进行调整,并根据目标对话话题对当前对话话题进行调整。
针对第一种调整方式,在步骤S101之后,还包括:
步骤1011,根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
步骤1012,若对话异常程度高于预定数值,则根据历史对话记录确定目标对象不感兴趣的对话领域;
步骤1013,根据目标对象不感兴趣的对话领域和目标对话话题,确定第二当前对话话题;
步骤1014,根据第二当前对话话题,确定用于向目标用户发送的第二对话语句。
在上述步骤S1011中,对话异常程度可以反映出用户对对话话题的感兴趣情况,对话异常程度可以用数值或者等级所表征,一般来说用户对对话话题的感兴趣程度越高,则异常程度就越低。状态信息可以是指定时间段内目标对象所发出的对话语句的数量信息、长度信息和延迟信息。
具体的,对话异常程度是由根据历史对话记录中目标对象所发出的对话语句的状态信息确定的,可以将目标对象所发出的对话语句输入至对话异常程度确定模型,以使该模型输出目标对象所发出的对话语句的对话异常程度。当目标对象所发出的指定时间段内目标对象所发出的对话语句的数量信息较多时,说明目标对象的异常程度较小,当指定时间段内目标对象所发出的对话语句的数量信息较少时,说明目标对象的异常程度较大;当指定时间段内目标对象所发出的对话语句的长度信息较长时,说明目标对象的异常程度较小,当指定时间段内目标对象所发出的对话语句的长度信息较短时,说明目标对象的异常程度较大;当指定时间段内目标对象所发出的对话语句的延迟信息较长时,说明目标对象的异常程度较大,当指定时间段内目标对象所发出的对话语句的延迟信息较短时,说明目标对象的异常程度较小。
在上述步骤S1012中,预定数值是预先设置好的,可以根据实际情况来设置。也可以是根据该用户历史上进行对话的异常程度平均值来确定。
具体的,可以获取最近一段时间内的历史对话记录,而后可以根据获取到的历史对话记录中出现的关键词所在的领域,确定出当前的对话领域。
上述步骤步骤1013,在具体实施时,可以在话题词库中删除目标对象不感兴趣的对话领域所对应的对话话题,或者是说根据目标对象不感兴趣的对话领域重新形成一个话题词库,并且在该话题词库中选择符合要求的话题词作为第二当前对话话题。第二当前对话话题与目标对话话题的词义相似度应当大于历史对话话题与目标对话话题的词义相似度;且第二当前对话话题与历史对话话题的词义相似度大于预设数值。关于第二当前对话话题的确定机制可以参照第一当前对话话题,此处不重复说明。第一当前对话话题和第二当前对话话题的主要区别在于第二当前对话话题不会是目标对象不感兴趣的对话领域中的话题词。
在上述步骤1014中,确定第二对话语句的过程与上文中所描述的步骤S104相似,步骤1014中,直接根据第二当前对话话题,确定用于向目标用户发送的第二对话语句即可。利用第一当前对话话题确定第二对话语句的过程可以参照利用第二当前对话话题确定第一当前对话话题的过程,此处不重复说明。
为了方便理解,本申请提供了如下确定第二当前对话语句的示例:
存在一组历史对话记录:机器人:“今天的天气不错。”,在10秒之后用户回答:“是的”。根据历史对话记录可以确定当前的对话领域为天气。在预先存储好的话题词库中存储有雾霾、衣服、路况等对话话题。异常程度可以根据用户回复的延迟信息确定,预设数值设置为5秒。目标对话话题为电影。根据历史对话记录和用户在历史对话记录中回复时的状态信息,可以确定用户的回复延迟信息超过了预设数值,说明用户对当前的对话领域感兴趣程度较低,在话题词库中雾霾与天气的词义相似度为0.8,衣服与天气的词义相似度为0.6,路况与天气的词义相似度为0.4,而雾霾与电影的词义相似度为0.2,衣服与电影的词义相似度为0.3,路况与电影的词义相似度为0.5。根据用户不感兴趣的对话领域将话题词库中用户不感兴趣对话话题进行删除,即在话题词库中保留衣服、路况等对话话题,根据话题词库中每个对话话题与天气、电影的词义相似度,将于天气相似度较小且与电影相似度较大的对话话题作为第二当前对话话题,即第二当前对话话题为路况。根据当前第二当前对话话题在对话语句库中确定出的对话语句为“天气很好,出去兜风吧”,将当前第二当前对话话题输入至对话语句生成模型中输出对话语句为“去往电影院的路况拥堵”,将上述两个对话语句输入至语句评价模型后,可以确定出对话语句为“天气很好,出去兜风吧”的评分为76%,对话语句为“去往电影院的路况拥堵”的评分为48%,因为语句评价模型输出结果为当前对话语句与历史对话记录的相关性,为了减少用户对第二对话语句的反感,因此,将“去往电影院的路况拥堵”作为第二对话语句。
针对第二种调整方式,在步骤S101之后,还包括:
步骤1015,根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
步骤1016,若对话异常程度高于预定数值,则根据历史对话记录确定目标对象不感兴趣的对话领域;
步骤1017,根据目标对象不感兴趣的对话领域和当前的目标对话话题,重新确定目标对话话题;
步骤1018,根据历史对话话题和重新确定的目标对话话题,确定第三当前对话话题;
步骤1019,根据第三当前对话话题,确定用于向目标用户发送的第三对话语句。
步骤1015和步骤1016的具体内容可以参照前文中的步骤1011和步骤1012,此处不再进行重复说明。
在上述步骤1017中,通过训练对话语句生成模型所使用的每个对话领域的训练样本的数量、历史对话记录所对应的目标对象的历史行为习惯、历史对话记录所对应的目标对象的当前状态信息等信息确定目标对话话题时,应当排除目标对象不感兴趣的对话领域的对话话题。具体实现时在从话题词库中搜索话题词作为目标对话话题前,可以先将目标对象不感兴趣的对话领域的话题词从话题词库中删除,而后在进行搜索。也可以是在不删除话题词库中的话题词的情况下,先按照既定的策略从话题词库中选择出多个待选对话话题,多个待选对话话题可以根据根据目标对象不感兴趣的对话领域进行筛选,以从多个待选对话话题中选择出。
在上述步骤1018中,根据历史对话话题和重新确定的目标对话话题,确定第三当前对话话题的方式可以参照步骤S103中,根据历史对话话题和目标对话话题,确定第一当前对话话题的方式来进行,此处不重复说明。
在上述步骤1019中,根据第三当前对话话题,确定用于向目标用户发送的第三对话语句的过程与上文中所描述的步骤S104相似,步骤1019的实现过程可以参照步骤S104的实现过程,此处不再重复说明。
为了方便理解,本申请提供了如下确定第二当前对话语句的示例:
存在一组历史对话记录:机器人:“今天的天气不错。”,在10秒之后用户回答:“是的”。根据历史对话记录可以确定当前的对话领域为天气。在预先存储好的话题词库中存储有雾霾、衣服、路况等对话话题。异常程度可以根据用户回复的延迟信息确定,预设数值设置为5秒。目标对话话题为雨天。根据历史对话记录和用户在历史对话记录中回复时的状态信息,可以确定用户的回复延迟信息超过了预设数值,说明用户对当前的对话领域不感兴趣。通过计算得到天气与雨天的词义相似度为0.9,可以确定出目标对话话题属于用户不感兴趣的对话领域,需要更换目标对话话题。而在根据训练对话语句生成模型所使用的每个对话领域的训练样本的数量、历史对话记录所对应的用户的历史行为习惯、历史对话记录所对应的用户的当前状态信息等信息可知,目标对话话题可以更换为与天气相似度较小的电影。在话题词库中雾霾与天气的词义相似度为0.8,衣服与天气的词义相似度为0.6,路况与天气的词义相似度为0.4,而雾霾与电影的词义相似度为0.2,衣服与电影的词义相似度为0.3,路况与电影的词义相似度为0.5。根据用户不感兴趣的对话领域将话题词库中用户不感兴趣对话话题进行删除,即在话题词库中保留衣服、路况等对话话题,根据话题词库中每个对话话题与天气、电影的词义相似度,将于天气相似度较小且与电影相似度较大的对话话题作为第三当前对话话题,即第三当前对话话题为路况。根据当前第三当前对话话题在对话语句库中确定出的对话语句为“天气很好,出去兜风吧”,将当前第三当前对话话题输入至对话语句生成模型中输出对话语句为“去往电影院的路况拥堵”,将上述两个对话语句输入至语句评价模型后,可以确定出对话语句为“天气很好,出去兜风吧”的评分为76%,对话语句为“去往电影院的路况拥堵”的评分为48%,因为语句评价模型输出结果为当前对话语句与历史对话记录的相关性,为了减少用户对第三对话语句的反感,因此,将“去往电影院的路况拥堵”作为第三对话语句。
上述两种调整方式都需要根据目标对象的对话异常程度来确定目标对象不感兴趣的对话领域,两种调整方式的区别在于重新确定目标对话话题还是调整当前对话话题的确定策略。下面提供一个将这两个方案进行整合后的优化方案,如图4所示,在步骤S101之后,还包括:
S2000,根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
S2005,判断目标对象的对话异常程度是否高于预定数值;
S2001,若对话异常程度高于预定数值,则根据历史对话记录确定目标对象不感兴趣的对话领域;
S2002,判断目标对话话题是否属于目标对象不感兴趣的对话领域;
S2003,如果目标对话话题不属于目标对象不感兴趣的对话领域,则保持当前的目标对话话题不变,并执行步骤S20031;
S2004,如果目标对话话题属于目标对象不感兴趣的对话领域,则根据目标对象不感兴趣的对话领域和当前的目标对话话题,重新确定目标对话话题,并执行步骤S20041。
在上述步骤S2005中,如果判断出目标对象的对话异常程度高于预定数值,则可以从步骤S2001开始执行;如果判断出目标对象的对话异常程度不高于预定数值,则可以执行上文中所提到的步骤S102至S104。
S20031,根据目标对象不感兴趣的对话领域和目标对话话题,确定第二当前对话话题;
S20032,根据第二当前对话话题,确定用于向目标用户发送的第二对话语句。
S20041,根据历史对话话题和重新确定的目标对话话题,确定第三当前对话话题;
S20042,根据第三当前对话话题,确定用于向目标用户发送的第三对话语句。
本申请所提供的方法,由于在确定第一当前对话话题时,同时考虑到了其与历史对话话题的词义相似度,和与目标对话话题的词义相似度,确定出的第一当前对话话题更为合适,提高了第一当前对话话题确定的准确度,同时提高了利用第一当前对话话题确定第一对话语句的准确度。在确定第一当前对话话题的过程中还考虑到了目标用户对每个候选对话话题的感兴趣程度,是的确定出来的第一当前对话话题能更满足用户的需求,提高了第一当前对话话题的准确度。在确定第一对话语句时,通过对话语句库和语句生成模型两种方式分别得到对应的候选语句,并利用语句评价模型在两个候选语句中筛选出一个最能满足用户当前需求的对话语句,使得第一对话语句的确定更准确。为了减少无休止的与用户进行对话或者减少用户的反感度,可以利用历史对话话题与目标对话话题的相似度来确定是都还要继续提供第一当前对话话题,在相似度不高的情况下可以继续向用户提供第一当前对话话题,而在相似度很高的情况下,就可以结束对于当前目标对话话题的讨论,并向用户推送相应的信息,这种消息推送的方式可以提高推送消息的影响力,也使得用户在不断交流的过程中逐步的了解了待推送消息相关信息,降低了用户因突然的接收到待推送消息而带来的反感度。为了降低用户对推送的对话语句的反感度,需要实时的变换对话语句的确定策略,即可以通过改变当前的对话话题来改变对话语句的确定策略,或者是可以通过改变当前的目标对话话题来改变对话语句的确定策略,上述两种改变对话语句的确定策略都会使得确定出来的对话语句更准确。
为说明本申请的技术方案,特例举如下实例进行说明:
实例1,对话***查询到用户的历史行为习惯是习惯午餐的时候吃牛排,并且当前进行对话的时间是中午,因此,对话***确定的目标对话话题是牛排;
方案在实现的时候,按照如下方式执行:
步骤30001,对话***获取目标用户所发送的交流语句“你在干嘛呀”;
步骤30002,对话***查询目标用户所对应的全部历史对话记录,并确定历史对话话题为“饮食”;
步骤30003,对话***根据历史对话话题“饮食”和目标话题“牛排”确定话题词的概率分布,并按照相似度条件,确定第一当前对话话题为“餐厅”;
步骤30004,对话***根据“餐厅”的对话话题和用户发送的交流语句“你在干嘛呀”确定出第一对话回复语句“我在餐厅吃饭呢”,并向用户推送“我在餐厅吃饭呢”;
步骤30005,对话***根据包含有第一对话语句“我在餐厅吃饭呢”及其用户的再次返回的交流语句“今天为什么在外面吃饭啊”确定出历史对话话题为“餐厅吃饭”,并根据历史对话话题“餐厅吃饭”和目标话题“牛排”预测话题词的概率分布,以及按照相似度条件,确定出第一当前对话话题为“午餐”;
步骤30006,对话***根据“午餐”的对话话题以及用户发送的交流语句“今天为什么在外面吃饭啊”,确定出第一对话语句“约了朋友吃午餐”,并向用户推送“约了朋友吃午餐”;
步骤30007,对话***根据包含有第一对话语句“约了朋友吃午餐”及其用户的再次返回的交流语句“吃的是牛排吗”;
步骤30008,对话***根据再次返回的交流语句“吃的是牛排吗”以及用户发送的交流语句“吃的什么呀”,确定出历史对话话题为“牛排”。
步骤30009,此时,历史对话话题和目标对话话题均为“牛排”,对话***可向目标用户推送与牛排相关的广告,即家用牛排广告。
通过上述案例,可以实现通过对话***提高向用户推送信息的准确度。
如图5所示,本申请中还提供了一种对话语句确定装置,包括:
获取模块501,用于获取目标用户所参与的对话的历史对话记录;
历史对话话题确定模块502,用于根据历史对话记录确定历史对话话题;
第一当前对话话题确定模块503,用于根据历史对话话题和目标对话话题,确定第一当前对话话题;第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度;且第一当前对话话题与历史对话话题的词义相似度大于预设数值;
第一对话语句确定模块504,用于根据第一当前对话话题,确定用于向目标用户发送的第一对话语句。
在一种实施方式中,第一当前对话话题确定模块503中的词义相似度是最短路径相似度或余弦相似度。
在一种实施方式中,第一当前对话话题确定模块503,包括:
第一确定单元,用于根据历史对话话题和每个候选对话话题的词义相似度、每个候选对话话题的第一参考值和目标用户的对每个候选对话话题的感兴趣程度,从候选对话话题中选择出第一当前对话话题;候选对话话题的第一参考值是根据该候选对话话题与目标对话话题的词义相似度和历史对话话题与目标对话话题的词义相似度的差值确定的。
在一种实施方式中,第一对话语句确定模块504,包括:
第一候选语句确定单元,用于将历史对话记录和第一当前对话话题输入到预先训练完成的对话语句生成模型,以获取对话语句生成模型所输出的第一候选语句;
第二候选语句确定单元,用于根据第一当前对话话题,从对话语句库中的多个备选回复语句中选择第二候选语句;
评分单元,用于将历史对话记录、第一候选语句和第二候选语句分别输入到预先训练完成的语句评价模型,以确定第一候选语句的评分和第二候选语句的评分;
第一对话语句确定单元,用于根据第一候选语句的评分和第二候选语句的评分,从第一候选语句和第二候选语句中选择用于向目标用户发送的第一对话语句。
在一种实施方式中,第二候选语句确定单元,在根据第一当前对话话题,从对话语句库中的多个备选回复语句中选择第二候选语句时,包括:
针对对话语句库中每个备选回复语句,根据该备选回复语句与第一当前对话话题的相似度和以下任意一个或多个相似度计算备选回复语句的第二参考值:该备选回复语句与历史对话话题的相似度、该备选回复语句所对应的提问语句与第一当前对话话题的相似度、该备选回复语句所对应的提问语句与历史对话话题的相似度;
根据每个备选回复语句的第二参考值,从对话语句库中的多个备选回复语句中选择第二候选语句。
在一种实施例中,第一当前对话话题确定模块503,还包括:
判断单元,用于判断历史对话话题与目标对话话题的相似度是否大于预设数值;
第二确定单元,用于若历史对话话题与目标对话话题的相似度不大于预设数值,则根据历史对话话题和目标对话话题,确定第一当前对话话题。
在一种实施例中,第一当前对话话题确定模块503,还包括:
第三确定单元,用于若历史对话话题与目标对话话题的相似度大于预设数值,则向历史对话记录所对应的目标对象推送与目标对话话题相对应的信息。
在一种实施例中,第一当前对话话题确定模块503中的目标对话话题是根据以下任意一个或多个信息确定的:
训练对话语句生成模型所使用的每个对话领域的训练样本的数量、历史对话记录所对应的目标对象的历史行为习惯、历史对话记录所对应的目标对象的当前状态信息。
在一种实施例中,确定装置,还包括:
第一异常程度确定模块,用于根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
若对话异常程度高于预定数值,则第一对话领域确定模块,用于根据历史对话记录确定目标对象不感兴趣的对话领域;
第二当前对话话题确定模块,用于根据目标对象不感兴趣的对话领域和目标对话话题,确定第二当前对话话题;
第二对话语句确定模块,用于根据第二当前对话话题,确定用于向目标用户发送的第二对话语句。
在一种实施例中,确定装置,还包括:
第二异常程度确定模块,用于根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
若对话异常程度高于预定数值,则第二对话领域确定模块,用于根据历史对话记录确定目标对象不感兴趣的对话领域;
目标对话话题更新模块,用于根据目标对象不感兴趣的对话领域和当前的目标对话话题,重新确定目标对话话题;
第三当前对话话题确定模块,用于根据历史对话话题和重新确定的目标对话话题,确定第三当前对话话题;
第三对话语句确定模块,用于根据第三当前对话话题,确定用于向目标用户发送的第三对话语句。
在一种实施例中,目标对象所发出的对话语句的状态信息包括以下的任意一种或多种:
指定时间段内目标对象所发出的对话语句的数量信息、长度信息和延迟信息。
图6描述了本发明实施例提供的一种电子设备600的结构,该电子设备600包括:至少一个处理器601,至少一个网络接口604或者其他用户接口603,存储器605,至少一个通信总线602。通信总线602用于实现这些组件之间的连接通信。该电子设备600可选的包含用户接口603,包括显示器(例如,触摸屏、LCD、CRT、全息成像(Holographic)或者投影(Projector)等),键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触摸屏等)。
存储器605可以包括只读存储器和随机存取存储器,并向处理器601提供指令和数据。存储器605的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器605存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作***6051,包含各种***程序,用于实现各种基础业务以及处理基于硬件的任务;
应用程序模块6052,包含各种应用程序,例如桌面(launcher)、媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。
在本发明实施例中,通过调用存储器605存储的程序或指令,处理器601用于执行如一种对话语句确定方法中的步骤。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如一种对话语句确定方法中的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述对话语句确定方法,从而能够提高确定第一对话语句的准确度。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种对话语句确定方法,其特征在于,包括:
获取目标用户所参与的对话的历史对话记录;
根据历史对话记录确定历史对话话题;
根据历史对话话题和每个候选话题的词义相似度,以及每个候选话题和目标对话话题的词义相似度,从全部的候选话题中确定第一当前对话话题;其中,第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度;且第一当前对话话题与历史对话话题的词义相似度大于预设数值;所述候选话题表征预存的话题词库中的话题词或者从网络文章中爬取出的关键词;所述目标对话话题表征在与所述目标用户进行对话时的引导方向;
根据第一当前对话话题,确定用于向目标用户发送的第一对话语句;其中,确定所述第一对话语句的方式至少包括:将所述第一当前对话话题输入预先训练完成的对话语句生成模型直接生成所述第一对话语句;或者,根据所述第一当前对话话题从对话语句库中选择预先录入的目标语句作为所述第一对话语句。
2.根据权利要求1所述的方法,其特征在于,所述词义相似度是最短路径相似度或余弦相似度。
3.根据权利要求1所述的方法,其特征在于,所述根据历史对话话题和每个候选话题的词义相似度,以及每个候选话题和目标对话话题的词义相似度,从全部的候选话题中确定第一当前对话话题,包括:
获取所述话题词库中预存的对话话题作为候选对话话题;
根据历史对话话题和每个候选对话话题的词义相似度、每个候选对话话题的第一参考值和目标用户的对每个候选对话话题的感兴趣程度,从候选对话话题中选择出第一当前对话话题;候选对话话题的第一参考值是根据该候选对话话题与目标对话话题的词义相似度和历史对话话题与目标对话话题的词义相似度的差值确定的。
4.根据权利要求1所述的方法,其特征在于,根据第一当前对话话题,确定用于向目标用户发送的第一对话语句,包括:
将历史对话记录和第一当前对话话题输入到预先训练完成的对话语句生成模型,以获取对话语句生成模型所输出的第一候选语句;
根据第一当前对话话题,从对话语句库中的多个备选回复语句中选择第二候选语句;
将历史对话记录、第一候选语句和第二候选语句分别输入到预先训练完成的语句评价模型,以确定第一候选语句的评分和第二候选语句的评分;
根据第一候选语句的评分和第二候选语句的评分,从第一候选语句和第二候选语句中选择用于向目标用户发送的第一对话语句。
5.根据权利要求4所述的方法,其特征在于,根据第一当前对话话题,从对话语句库中的多个备选回复语句中选择第二候选语句,包括:
针对对话语句库中每个备选回复语句,根据该备选回复语句与第一当前对话话题的相似度和以下任意一个或多个相似度计算备选回复语句的第二参考值:该备选回复语句与历史对话话题的相似度、该备选回复语句所对应的提问语句与第一当前对话话题的相似度、该备选回复语句所对应的提问语句与历史对话话题的相似度;
根据每个备选回复语句的第二参考值,从对话语句库中的多个备选回复语句中选择第二候选语句。
6.根据权利要求1所述的方法,其特征在于,所述根据历史对话话题和每个候选话题的词义相似度,以及每个候选话题和目标对话话题的词义相似度,从全部的候选话题中确定第一当前对话话题,包括:
判断历史对话话题与目标对话话题的相似度是否大于预设数值;
若历史对话话题与目标对话话题的相似度不大于预设数值,则根据历史对话话题和目标对话话题,确定第一当前对话话题。
7.根据权利要求6所述的方法,其特征在于,还包括:
若历史对话话题与目标对话话题的相似度大于预设数值,则向所述历史对话记录所对应的目标对象推送与目标对话话题相对应的信息。
8.根据权利要求4所述的方法,其特征在于,目标对话话题是根据以下任意一个或多个信息确定的:
训练对话语句生成模型所使用的每个对话领域的训练样本的数量、历史对话记录所对应的目标对象的历史行为习惯、历史对话记录所对应的目标对象的当前状态信息。
9.根据权利要求1所述的方法,其特征在于,在步骤获取目标用户所参与的对话的历史对话记录后,还包括:
根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
若对话异常程度高于预定数值,则根据历史对话记录确定目标对象不感兴趣的对话领域;
根据目标对象不感兴趣的对话领域和目标对话话题,确定第二当前对话话题;
根据第二当前对话话题,确定用于向目标用户发送的第二对话语句。
10.根据权利要求1所述的方法,其特征在于,在步骤获取目标用户所参与的对话的历史对话记录后,还包括:
根据历史对话记录中目标对象所发出的对话语句的状态信息,确定目标对象的对话异常程度;
若对话异常程度高于预定数值,则根据历史对话记录确定目标对象不感兴趣的对话领域;
根据目标对象不感兴趣的对话领域和当前的目标对话话题,重新确定目标对话话题;
根据历史对话话题和重新确定的目标对话话题,确定第三当前对话话题;
根据第三当前对话话题,确定用于向目标用户发送的第三对话语句。
11.根据权利要求9和10中任一项所述的方法,其特征在于,目标对象所发出的对话语句的状态信息包括以下的任意一种或多种:
指定时间段内目标对象所发出的对话语句的数量信息、长度信息和延迟信息。
12.一种对话语句确定装置,其特征在于,包括:
获取模块,用于获取目标用户所参与的对话的历史对话记录;
历史对话话题确定模块,用于根据历史对话记录确定历史对话话题;
第一当前对话话题确定模块,用于根据历史对话话题和每个候选话题的词义相似度,以及每个候选话题和目标对话话题的词义相似度,从全部的候选话题中确定第一当前对话话题;其中,第一当前对话话题与目标对话话题的词义相似度大于历史对话话题与目标对话话题的词义相似度;且第一当前对话话题与历史对话话题的词义相似度大于预设数值;所述候选话题表征预存的话题词库中的话题词或者从网络文章中爬取出的关键词;所述目标对话话题表征在与所述目标用户进行对话时的引导方向;
第一对话语句确定模块,用于根据第一当前对话话题,确定用于向目标用户发送的第一对话语句;其中,确定所述第一对话语句的方式至少包括:将所述第一当前对话话题输入预先训练完成的对话语句生成模型直接生成所述第一对话语句;或者,根据所述第一当前对话话题从对话语句库中选择预先录入的目标语句作为所述第一对话语句。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至11任意一项所述的对话语句的确定方法的步骤。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至11任意一项所述的对话语句的确定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108459.9A CN111414462B (zh) | 2020-02-21 | 2020-02-21 | 一种对话语句确定方法、装置、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010108459.9A CN111414462B (zh) | 2020-02-21 | 2020-02-21 | 一种对话语句确定方法、装置、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414462A CN111414462A (zh) | 2020-07-14 |
CN111414462B true CN111414462B (zh) | 2023-06-30 |
Family
ID=71492727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010108459.9A Active CN111414462B (zh) | 2020-02-21 | 2020-02-21 | 一种对话语句确定方法、装置、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414462B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767386B (zh) * | 2020-07-31 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 对话处理方法、装置、电子设备及计算机可读存储介质 |
CN111897943A (zh) * | 2020-08-17 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 会话记录搜索方法、装置、电子设备及存储介质 |
CN112632252B (zh) * | 2020-12-25 | 2021-09-17 | 中电金信软件有限公司 | 对话应答方法、装置、计算机设备和存储介质 |
CN112307188B (zh) * | 2020-12-30 | 2021-06-11 | 北京百度网讯科技有限公司 | 对话生成方法、***、电子设备和可读存储介质 |
CN112966077B (zh) * | 2021-02-26 | 2022-06-07 | 北京三快在线科技有限公司 | 对话状态的确定方法、装置、设备及存储介质 |
CN114117021B (zh) * | 2022-01-24 | 2022-04-01 | 北京数智新天信息技术咨询有限公司 | 一种确定回复内容的方法、装置及电子设备 |
TWI828086B (zh) * | 2022-03-18 | 2024-01-01 | 中華電信股份有限公司 | 利用遞歸神經網路之對話回應語句生成系統、方法及電腦可讀媒介 |
CN115470329A (zh) * | 2022-08-22 | 2022-12-13 | 北京字跳网络技术有限公司 | 一种对话生成方法、装置、计算机设备及存储介质 |
CN116743692B (zh) * | 2023-08-16 | 2023-10-20 | 杭州星锐网讯科技有限公司 | 一种历史消息折叠方法和*** |
CN117857599A (zh) * | 2024-01-09 | 2024-04-09 | 北京安真医疗科技有限公司 | 一种基于物联网的数字人对话智能管理*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419778A (zh) * | 2012-01-09 | 2012-04-18 | 中国科学院软件研究所 | 一种挖掘查询语句子话题并聚类的信息搜索方法 |
CN106020488A (zh) * | 2016-06-03 | 2016-10-12 | 北京光年无限科技有限公司 | 一种面向对话***的人机交互方法及装置 |
CN106599124A (zh) * | 2016-11-30 | 2017-04-26 | 竹间智能科技(上海)有限公司 | 主动引导用户持续对话的***及方法 |
CN106776828A (zh) * | 2016-11-24 | 2017-05-31 | 竹间智能科技(上海)有限公司 | 用于保持对话***对话连贯性的方法及*** |
CN108388674A (zh) * | 2018-03-26 | 2018-08-10 | 百度在线网络技术(北京)有限公司 | 用于推送信息的方法和装置 |
CN110532565A (zh) * | 2019-08-30 | 2019-12-03 | 联想(北京)有限公司 | 语句处理方法及装置、以及电子设备 |
-
2020
- 2020-02-21 CN CN202010108459.9A patent/CN111414462B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102419778A (zh) * | 2012-01-09 | 2012-04-18 | 中国科学院软件研究所 | 一种挖掘查询语句子话题并聚类的信息搜索方法 |
CN106020488A (zh) * | 2016-06-03 | 2016-10-12 | 北京光年无限科技有限公司 | 一种面向对话***的人机交互方法及装置 |
CN106776828A (zh) * | 2016-11-24 | 2017-05-31 | 竹间智能科技(上海)有限公司 | 用于保持对话***对话连贯性的方法及*** |
CN106599124A (zh) * | 2016-11-30 | 2017-04-26 | 竹间智能科技(上海)有限公司 | 主动引导用户持续对话的***及方法 |
CN108388674A (zh) * | 2018-03-26 | 2018-08-10 | 百度在线网络技术(北京)有限公司 | 用于推送信息的方法和装置 |
CN110532565A (zh) * | 2019-08-30 | 2019-12-03 | 联想(北京)有限公司 | 语句处理方法及装置、以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111414462A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414462B (zh) | 一种对话语句确定方法、装置、计算机设备和介质 | |
CN110765244B (zh) | 获取应答话术的方法、装置、计算机设备及存储介质 | |
CN110892395B (zh) | 提供增强的通信会话服务的虚拟助手 | |
US10885278B2 (en) | Auto tele-interview solution | |
CN108829822B (zh) | 媒体内容的推荐方法和装置、存储介质、电子装置 | |
US10380158B2 (en) | System for determining and optimizing for relevance in match-making systems | |
US9948595B2 (en) | Methods and apparatus for inserting content into conversations in on-line and digital environments | |
TWI698830B (zh) | 機器人客服轉人工客服的方法和裝置及其電腦設備與電腦可讀儲存媒體 | |
US10270791B1 (en) | Search entity transition matrix and applications of the transition matrix | |
CN107391521B (zh) | 基于消息分类自动扩增消息交换话题 | |
US8782069B2 (en) | Method and system of providing a search tool | |
US20180082184A1 (en) | Context-aware chatbot system and method | |
US8924330B2 (en) | Method and computer program product for providing a response to a statement of a user | |
US9355095B2 (en) | Click noise characterization model | |
US20200202194A1 (en) | Providing a response in a session | |
CN114556354A (zh) | 自动确定和呈现来自事件的个性化动作项 | |
US11810337B2 (en) | Providing emotional care in a session | |
CN110909145B (zh) | 针对多任务模型的训练方法及装置 | |
US11580299B2 (en) | Corpus cleaning method and corpus entry system | |
US20080294655A1 (en) | Method and apparatus for generation of a user profile | |
US20220138770A1 (en) | Method and apparatus for analyzing sales conversation based on voice recognition | |
US20220210098A1 (en) | Providing responses in an event-related session | |
KR101891498B1 (ko) | 대화형 ai 에이전트 시스템에서 멀티 도메인 인텐트의 혼재성을 해소하는 멀티 도메인 서비스를 제공하는 방법, 컴퓨터 장치 및 컴퓨터 판독가능 기록 매체 | |
Wilks et al. | A prototype for a conversational companion for reminiscing about images | |
CN117473951A (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 |