CN117499540A - 呼叫方法、装置、电子设备及存储介质 - Google Patents
呼叫方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117499540A CN117499540A CN202310466190.5A CN202310466190A CN117499540A CN 117499540 A CN117499540 A CN 117499540A CN 202310466190 A CN202310466190 A CN 202310466190A CN 117499540 A CN117499540 A CN 117499540A
- Authority
- CN
- China
- Prior art keywords
- call
- data
- calling
- candidate
- time point
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/50—Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
- H04M3/527—Centralised call answering arrangements not requiring operator intervention
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/487—Arrangements for providing information services, e.g. recorded voice services or time announcements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/54—Arrangements for diverting calls for one subscriber to another predetermined subscriber
- H04M3/543—Call deflection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Manipulator (AREA)
Abstract
本公开实施例提供了呼叫方法、装置、电子设备以及存储介质,其中,呼叫方法包括:获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取第一时间点的第一集合;根据第一候选集合与在第一时间点获取的集合容量更新参数,对第一集合进行呼叫数据添加处理;根据呼叫数据添加处理后的第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在呼叫结果满足呼叫任务的结束条件的情况下,将呼叫数据从第一集合中移出。以此,能够提高呼叫机器人的资源利用率。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种呼叫方法、装置、电子设备及存储介质。
背景技术
随着电子技术的发展,在海量用户的呼叫场景中,机器人坐席的作用越来越大。通过机器人坐席替代人工坐席执行呼叫任务,可以大量节省人力资源,提高呼叫效率。然而,在实际呼叫场景中,可能会发生呼叫对象挂断电话、呼叫对象预约新时间再次呼叫等多种意外情况,导致呼叫机器人可能并不是按照指定的时间完成预先设定的呼叫任务,造成机器人资源的浪费。
发明内容
本申请实施例提供了一种呼叫方法、装置、电子设备及存储介质,以提高呼叫机器人的资源利用率。
第一方面,本申请实施例提供了一种呼叫方法,包括:
获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;
在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;
根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;
根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。
第二方面,本申请实施例提供了一种呼叫装置,所述装置包括:
第一获取单元,用于获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;
第二获取单元,用于在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;
第一添加单元,用于根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;
呼叫单元,用于根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。
第三方面,本申请实施例提供了一种电子设备,包括:处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行如第一方面所述的呼叫方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如第一方面所述的呼叫方法。
可以看出,在本申请实施例中,首先,获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;其次,在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取第一时间点的第一集合;第一集合包括多个呼叫数据;第一集合中的呼叫数据为呼叫任务对应的多个呼叫对象中未满足呼叫任务的结束条件的目标呼叫对象的呼叫数据;然后,根据第一候选集合与在第一时间点获取的集合容量更新参数,对第一集合进行呼叫数据添加处理;最后,根据呼叫数据添加处理后的第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在呼叫结果满足呼叫任务的结束条件的情况下,将呼叫数据从第一集合中移出。以此,通过在检测到预设对象更新条件被满足的情况下,获取当前时间点的第一集合,并根据第一候选集合与在当前时间点获取的集合容量更新参数对第一集合进行呼叫数据添加处理,以及,在呼叫完成后将呼叫结果满足呼叫任务的结束条件的呼叫数据从第一集合中移出,可以使得第一集合中仅包括未满足呼叫任务的结束条件的呼叫数据,该呼叫数据等待呼叫机器人依次处理,则第一集合的容量可以在呼叫任务的执行过程中灵活地进行动态调整,而不是只能在呼叫任务启动之前一次性分配等待呼叫机器人依次处理的呼叫数据。若遇到意外情况导致呼叫机器人与预先确定的平均呼叫时长相比提前结束呼叫。与呼叫任务启动之前预估的呼叫机器人可处理的呼叫数据的数量相比,在呼叫机器人有余力处理比该预估的数量更多的呼叫数据的情况下,通过动态调整第一集合的容量,可以及时向第一集合中添加等待呼叫机器人的呼叫数据,从而提高呼叫机器人的利用效率,减少由意外情况带来的呼叫机器人的资源浪费。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;
图1为本申请实施例提供的一种呼叫方法的处理流程图;
图2为本申请实施例提供的一种呼叫系统的结构示意图;
图3为本申请实施例提供的一种呼叫装置示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请的保护范围。
在呼叫场景中,呼叫机器人的工作效率是有限的,若导入过多的客户数据,可能会导致预设的工作时间段内无法完成所有客户数据的呼叫,在工作时间段之外的时间呼叫给用户带来不好的体验;若导入的客户数据较少,可能导致呼叫机器人的资源浪费。为了解决上述问题,本申请实施例提供了一种呼叫方法。
图1为本申请实施例提供的一种呼叫方法的处理流程图。图1的呼叫方法可由电子设备执行,该电子设备可以是终端设备,比如手机、笔记本电脑、智能交互设备等等;或者,该电子设备还可以是服务器,比如独立的物理服务器、服务器集群或者是能够进行云计算的云服务器。参照图1,本实施例提供的呼叫方法,具体包括步骤S102至步骤S108。
步骤S102,获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据。
每个呼叫任务可以对应于多个呼叫对象。
呼叫任务可以是指定的任务执行者向呼叫对象发起呼叫,并在呼叫中播报该呼叫任务对应的话术,以实现预设目的的任务。
指定的任务执行者可以是执行本申请实施例提供的呼叫方法的电子设备。
呼叫对象可以是呼叫接收者。
预设目的包括且不限于:通知目的、交易目的、营销目的、推广目的,等等。
在每个呼叫任务对应于多个呼叫对象的情况下,指定的任务执行者可以分别向该多个呼叫对象中每个呼叫对象发起呼叫,并在呼叫中播报呼叫任务对应的话术,以实现预设目的。
例如,电子设备分别对呼叫对象1、呼叫对象2以及呼叫对象3进行呼叫,以及,在呼叫中播报A产品的营销话术,以推荐对方购买A产品。
在电子设备向呼叫对象1发起的呼叫被接通,且呼叫对象1在呼叫中对A产品产生兴趣且并下单购买A产品的情况下,营销目的被实现。
在电子设备向呼叫对象2发起的呼叫被拒接的情况下,营销目的无法实现。
在电子设备向呼叫对象3发起的呼叫被接通,但呼叫对象3表示当前没空听,请半小时后再呼叫的情况下,营销目的有可能实现也有可能无法实现。
每个任务对应的多个呼叫对象在被传输至指定的任务执行者之前,可以预先被划分为多个批次,每个批次具有一个对应的候选集合,该候选集合可以包括多个候选呼叫对象的呼叫数据。
候选呼叫对象可以是指定的任务执行者尚未对其发出呼叫的呼叫接收者。
每个批次的候选集合的获取时间不同。每个批次的候选集合所对应的候选呼叫对象的数量可能相同也可能不同。
例如,在8点获取呼叫任务对应的第一批次的候选集合中每个候选呼叫对象的呼叫数据,该第一批次的候选集合包括100个候选呼叫对象的呼叫数据;在10点获取呼叫任务对应的第二批次的候选集合中每个候选呼叫对象的呼叫数据,该第二批次的候选集合包括200个候选呼叫对象的呼叫数据。
实际应用中,可以以天为一个批次,且预先配置机器人坐席的工作时间段,将该预先配置的工作时间段称为预设工作时间段,则在预设工作时间段的开始时间点,可以获取一个批次的候选集合中每个候选呼叫对象的呼叫数据。
坐席可以是呼叫中心坐席,通过座席软件及硬件设备实现相关的控制功能,以达到客户服务的目的,属于客户服务范畴。坐席可以包括机器人坐席和人工坐席。机器人坐席可以是通过采用了AI(Artificial Intelligence,人工智能)技术的呼叫机器人为客户提供服务的坐席。
第一候选集合可以是指定的时间点获取的一个批次的候选集合。该指定的时间点,可以是预设工作时间段的开始时间点,也可以是其他预先确定的时间点。
获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据,可以是在指定时间点,根据呼叫任务的任务标识,获取第一候选数据;第一候选数据包括第一候选集合中每个候选呼叫对象的呼叫数据。
任务标识可以用于在多个候选的呼叫任务中确定电子设备待处理的呼叫任务。
呼叫数据可以包括以下一者或多者:用户名、呼叫号码、业务数据,等等。
候选呼叫对象的用户名可以是候选呼叫对象的真实姓名,也可以是候选呼叫对象的网络用名,还可以是其他用于标识候选呼叫对象的名称。
候选呼叫对象的呼叫号码可以是候选呼叫对象所携带的电子设备的通信号码。
候选呼叫对象的业务数据可以是业务标签,也可以是业务类型,还可以是其他与呼叫目的存在对应关系的业务数据。
例如,第一候选呼叫集合包括:呼叫数据1、呼叫数据2以及呼叫数据3。其中,呼叫数据1对应于候选呼叫对象1;呼叫数据2对应于候选呼叫对象2;呼叫数据3对应于候选呼叫对象3。
呼叫数据1包括:用户名甲、呼叫号码1以及业务数据1;
呼叫数据2包括:用户名乙、呼叫号码2以及业务数据2;
呼叫数据3包括:用户名丙、呼叫号码3以及业务数据3。
步骤S104,在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取第一时间点的第一集合;第一集合包括多个呼叫数据;第一集合中的呼叫数据为呼叫任务对应的多个呼叫对象中未满足呼叫任务的结束条件的目标呼叫对象的呼叫数据。
预设对象更新条件可以是预先配置的用于触发对当前时间点的第一集合进行扩容/缩容处理的条件。呼叫任务的结束条件可以是,呼叫任务的执行状态为任务结束。
呼叫任务的执行状态可以包括任务结束和任务未结束。
呼叫任务对应的多个呼叫对象,至少可以包括如下几种类型的呼叫对象:
(a1)已经收到至少一次呼叫且呼叫任务的执行状态为任务结束的呼叫对象。
呼叫任务的执行状态为任务结束,可能存在以下至少两种情况:
在第一种情况下,电子设备根据在呼叫中采集的呼叫对象的反馈信息可以确定呼叫目的已实现,则视为呼叫任务结束。
例如,机器人坐席在呼叫中向呼叫对象1推销产品A,该呼叫对象1在呼叫中明确接受该产品A,并完成交易,即产品A推销成功,此时“推销产品A”的呼叫目的已实现,则该呼叫对象1为已经收到至少一次呼叫且呼叫任务的执行状态为任务结束的呼叫对象。
在第二中情况下,电子设备根据在呼叫中采集的呼叫对象的反馈信息可以确定呼叫目的无法实现,则视为呼叫任务结束。
例如,机器人坐席在呼叫中向呼叫对象2推销产品A,该呼叫对象2在呼叫中明确拒绝该产品A,即产品A推销失败,该情况下机器人坐席不需要在后续再次发起呼叫向该呼叫对象2进行同一产品的推销,以免给呼叫对象2带来负面的营销体验,此时可以确定“推销产品A”的呼叫目的无法实现,则该呼叫对象2为已经收到至少一次呼叫且呼叫任务的执行状态为任务结束的呼叫对象。
电子设备根据在呼叫中采集的呼叫对象的反馈信息确定呼叫目的无法实现,该反馈信息可以是呼叫对象在呼叫中表示不需要或不感兴趣,也可以是呼叫对象在电子设备发出的呼叫接通之前主动挂断该次呼叫。
(a2)已经收到至少一次呼叫且呼叫任务的执行状态为任务未结束的呼叫对象。
若在呼叫中采集的呼叫对象的反馈信息包括呼叫时间预约信息,该情况下可以视为呼叫任务的执行状态为呼叫任务未结束。
呼叫时间预约信息可以是呼叫对象表示过会再呼叫,也可以是呼叫对象指定的下一次呼叫的时间。
若在呼叫对象未主动挂断的前提下电子设备发出的呼叫未接通,该情况下也可以视为呼叫任务的执行状态为呼叫任务未结束。
例如,机器人坐席在呼叫中向呼叫对象3推销产品A,该呼叫对象3在呼叫中表示当前没时间,并预约半小时后再听机器人坐席说什么,即在产品A的推销过程中用户存在沟通意愿但预约了新的呼叫时间,此时反馈信息包括呼叫时间预约信息,该情况下机器人坐席可以按照呼叫对象3给出的呼叫时间预约信息发出下一次呼叫,“推销产品A”的呼叫目的存在实现的可能性,需要等待下一次呼叫,则该呼叫对象3为已经收到至少一次呼叫且呼叫任务的执行状态为任务未结束的呼叫对象。
(a3)未收到至少一次呼叫的呼叫对象。
未收到至少一次呼叫的呼叫对象,即电子设备尚未向其发出过呼叫的呼叫对象。
对于该种类型的呼叫对象,呼叫任务的执行状态为任务未结束。
上述(a1)-(a3)三种类型的呼叫对象中,(a1)类型的呼叫对象属于满足呼叫任务的结束条件的呼叫对象;(a2)和(a3)两种类型的呼叫对象均属于未满足呼叫任务的结束条件的呼叫对象,为便于区分,可以将该未满足呼叫任务的结束条件的呼叫对象作为目标呼叫对象。
第一集合可以包括多个呼叫数据。该多个呼叫数据中,每个呼叫数据对应于一个目标呼叫对象。
每个目标呼叫对象的呼叫数据可以参照前文中的候选呼叫对象的呼叫数据的说明部分。
第一集合可以存储于预先确定的目标呼叫对象对应的存储区域。获取第一时间点的第一集合,可以是在第一时间点从目标呼叫对象对应的存储区域中获取该存储区域存储的每个呼叫数据,得到第一集合。
步骤S106,根据第一候选集合与在第一时间点获取的集合容量更新参数,对第一集合进行呼叫数据添加处理。
集合容量更新参数为用于动态调整第一集合的容量的预设参数。第一集合的容量可以是第一集合所包括的元素数量,即第一集合所包括的呼叫数据的个数。
集合容量更新参数包括且不限于以下至少一者:坐席数量、工作时长、参考呼叫时长,以及其他类型的可能影响第一集合所包括的元素数量的参数。
坐席数量可以是用于执行呼叫方法的电子设备可同时调用的机器人坐席的数量。每个机器人坐席对应于一个呼叫机器人。
坐席数量可以是一个大于1的自然数。
在呼叫机器人未发生状态改变,且未改变同时接入电子设备的呼叫机器人的数量的情况下,坐席数量可以保持不变。
呼叫机器人可以是用于执行呼叫任务的智能机器人。智能机器人可以是能自动执行任务的人造机器装置,用以取代或协助人类工作,可以是机电装置,由计算机程序或是电子电路控制。
在机器人坐席对应的呼叫机器人由于发生故障或其他原因变更为非工作状态的情况下,坐席数量可能会减少。
例如,电子设备接入8个呼叫机器人,且该8个呼叫机器人在10点时均处于工作状态,则电子设备可以调用8个机器人坐席执行呼叫任务,在10点获取的坐席数量为8。在10点30分时,该8个呼叫机器人中有1个呼叫机器人发生故障,无法正常运行,则电子设备可以调用7个机器人坐席执行呼叫任务,在10点30分获取的坐席数量为7。
在电子设备接入的多个呼叫机器人中原本处于非工作状态的至少一个呼叫机器人切换为工作状态时,坐席数量可能会增加。
例如,电子设备接入8个呼叫机器人,在10点时该8个呼叫机器人中有2个呼叫机器人因为需要维护处于非工作状态,则电子设备可以调用6个机器人坐席执行呼叫任务,在10点获取的坐席数量为6。在10点30分时,该处于非工作状态的2个呼叫机器人维护结束并变更为工作状态,则电子设备可以调用8个机器人坐席执行呼叫任务,在10点半获取的坐席数量为8。
工作时长可以是电子设备在本日调用机器人坐席执行呼叫任务的时间长度,可以由当前时间点和本日的预设工作时间段的开始时间点确定。
例如,机器人坐席每天的工作时间段为8点至12点,以及,14点至18点。在10点获取的工作时长为2小时,在10点半获取的工作时长为2.5小时,在15点获取的工作时长为5小时,等等。
预设工作时间段,可以是预先配置的机器人坐席会发起呼叫和沟通的时间段。考虑到尽管呼叫机器人可以24小时工作,但呼叫对象往往不希望在休息时间收到一些非紧急事件对应的呼叫,通过设置预设工作时间段,可以避免在呼叫对象的休息时间对呼叫对象造成打扰。
参考呼叫时长可以表示机器人坐席向一个呼叫对象发起呼叫并完成沟通所需的时间长度,该时间长度可以是机器人坐席向多个呼叫对象分别发起呼叫并完成沟通所需的时间长度的平均值,也可以是自定义设置的时间长度。
参考呼叫时长可以基于呼叫任务的历史数据生成。
例如,参考呼叫时长可以是3分钟。
每个呼叫数据分别对应于呼叫任务对应的多个呼叫对象中未满足呼叫任务的结束条件的一个目标呼叫对象。故第一集合所包括的元素数量,也可以是目标呼叫对象的数量。
在一种具体的实现方式中,预设对象更新条件包括:在第三时间点,根据呼叫任务的任务标识,获取第二候选集合;第三时间点位于第二时间点之后;第二候选集合包括多个候选呼叫对象的呼叫数据;或者,调用呼叫机器人发起的呼叫结束。
每个任务标识可以对应于一个呼叫任务。每个呼叫任务可以具有多个批次的候选集合,每个批次的候选集合包括多个候选呼叫对象的呼叫数据。
第三时间点可以是位于第二时间点之后的一个时间点,第二候选集合,可以是获取时间位于第一候选集合之后的一个批次的候选集合。
在第三时间点,根据呼叫任务的任务标识,获取第二候选集合,可以参照前文的“在指定时间点,根据呼叫任务的任务标识,获取第一候选集合”。
通过将获取同一呼叫任务的新的批次的候选集合设置为预设对象更新条件,可以使得在第一集合在第三时间点的容量小于第一集合在第三时间点的最大容量的情况下,及时通过第一候选集合中剩余的呼叫数据和/或第二候选集合所包括的呼叫数据对第一集合扩容,减少呼叫机器人的资源浪费。
例如,第二时间点为8点,第三时间点为10点,第一集合在10点包括500个呼叫数据,根据在10点获取的集合容量更新参数计算得到第一集合在10点的最大容量为600,且第一候选集合中剩余的呼叫数据的个数为0,则可以从第二候选集合中选取100个呼叫数据迁移至第一集合。
预设对象更新条件还可以是调用呼叫机器人发起的呼叫结束。
具体地,电子设备通过每个呼叫机器人对每个目标呼叫对象发起一次呼叫,在该次呼叫结束之后,电子设备都可以检测到预设对象更新条件被满足。
通过将调用呼叫机器人发起的呼叫结束设置为预设对象更新条件,可以使得在发生一些意外情况导致呼叫提前结束的情况下,电子设备可以实时计算第一集合的最大容量,从而确定是否需要对第一集合扩容。
在一种具体的实现方式中,根据第一候选集合与在第一时间点获取的集合容量更新参数,对第一集合进行呼叫数据添加处理,包括:根据第一时间点获取的集合容量更新参数,计算第一集合对应的扩容量;在扩容量大于预设数值的情况下,根据扩容量,从第一候选集合对应候选呼叫对象中选取目标候选呼叫对象,将目标候选呼叫对象变更为目标呼叫对象;将第一候选集合中目标呼叫对象的呼叫数据迁移至第一集合。
第一时间点获取的集合容量更新参数,包括且不限于:第一时间点处于工作状态的呼叫机器人对应的机器人坐席的坐席数量、由第一时间点与预设工作时间段的开始时间点确定的工作时长以及参考呼叫时长。
第一集合对应的扩容量可以由第一集合在第一时间点的容量与第一集合在第一时间点的最大容量确定。
第一集合在第一时间点的最大容量,可以反映机器人坐席从第一时间点到预设工作时间段的结束时间点可处理的最大呼叫数量。
在每个呼叫对象仅接收到机器人坐席的一次呼叫且该次呼叫的持续时间长度为参考呼叫时长的情况下,最大呼叫数量可以是机器人坐席从第一时间点到预设工作时间段的结束时间点可处理的呼叫对象的最大数量。
示例性地,用于与扩容量进行数值大小比较的预设数值可以是0。
在第一时间点,若第一集合的容量大于等于该第一集合的最大容量,则第一集合对应的扩容量可以小于等于预设数值,无需进行扩容操作。
在第一时间点,若第一集合的容量小于该第一集合的最大容量,则第一集合对应的扩容量可以大于预设数值,根据扩容量,从第一候选集合对应候选呼叫对象中选取目标候选呼叫对象,将目标候选呼叫对象变更为目标呼叫对象;将第一候选集合中目标呼叫对象的呼叫数据迁移至第一集合。
根据扩容量,从第一候选集合对应候选呼叫对象中选取目标候选呼叫对象,可以是从第一候选集合中包括的多个候选呼叫对象选取至少一个目标候选呼叫对象,选取的目标候选呼叫对象的数量由扩容量确定。
例如,第一候选集合包括从前至后依次排列的200个候选呼叫对象,扩容量可以是50,根据扩容量,从第一候选集合对应候选呼叫对象中选取目标候选呼叫对象,可以是在第一候选集合中选取前50个候选呼叫对象,将选取的每个候选呼叫对象确定为对应的目标候选呼叫对象。
将第一候选集合中目标呼叫对象的呼叫数据迁移至第一集合,可以是将第一候选集合中的目标呼叫对象的呼叫数据从第一候选集合中移出,以及,将移出的呼叫数据移入第一集合。具体地,将移出的呼叫数据移入第一集合,可以是将该移出的呼叫数据存储至第一集合对应的存储区域,该移出的呼叫数据与第一集合中原本存储的呼叫数据共同形成扩容后的第一集合。
在呼叫场景中,在机器人坐席向呼叫对象发起呼叫的过程中可能会出现各种意外情况,使得对于一部分呼叫对象,在未达到参考呼叫时长的情况下呼叫提前结束。
例如,呼叫对象接通呼叫后一听是机器人坐席拒绝沟通直接挂断。或者,呼叫对象听机器人坐席播报话术播报到一半失去耐心挂断电话。
该情况下,原本在指定时间段内机器人坐席可以在呼叫中完成与N个呼叫对象的沟通,实际上在指定时间段内机器人坐席可以在呼叫中完成与M个呼叫对象的沟通。N和M均为大于1的自然数,且N<M。
例如,原本1个小时内5个机器人坐席在呼叫中可以总计完成100个呼叫对象的沟通,由于有20个呼叫对象在呼叫中提前挂断,则该20个呼叫对象对应的呼叫所消耗的时间与参考呼叫时长相比较少,故1个小时内5个机器人坐席在呼叫中实际上可以完成110个呼叫对象的沟通。
在呼叫场景中,还可能会发生呼叫机器人数量发生改变的情况,或者,当天的预设工作时间段临时调整的情况。
例如,在当天的预设工作时间段的开始时间点,共有6个呼叫机器人处于工作状态,在第一时间点,有另外2个原本处于非工作状态的呼叫机器人结束维护变更为工作状态,则从第一时间点起电子设备可以通过8个机器人坐席共同执行呼叫任务,每个机器人坐席对应于一个呼叫机器人。
又例如,电子设备每天按照预设工作时间段8点-18点执行呼叫任务,在某天的第一时间点,接到停电通知,该停电通知表示当天17点之后电子设备所处机房会停电。
上述的多种情况下,可以根据第一时间点获取的集合容量更新参数,计算第一集合对应的扩容量,以及,在扩容量大于预设数值的情况下,根据扩容量对第一集合进行扩容处理。
在一种具体的实现方式中,根据第一时间点获取的集合容量更新参数,计算第一集合对应的扩容量,包括:获取第一集合在第一时间点的第一容量;根据第一时间点获取的集合容量更新参数,计算第一集合在第一时间点的最大容量;对最大容量和第一容量进行求差,计算得到第一集合对应的扩容量。
根据第一时间点获取的集合容量更新参数,计算第一集合在第一时间点的最大容量,可以参照如下公式(1):
最大容量=坐席数量*(结尾时间点-第一时间点)/参考呼叫时长(1)
其中,结尾时间点是位于预设工作时间段结尾的时间点。
第一时间点是检测到预设对象更新条件被满足的时间点。
坐席数量是当前接入电子设备的呼叫机器人中处于工作状态的呼叫机器人所对应的机器人坐席的数量。
参考呼叫时长参照前文对应说明。
需要注意的是,上述公式(1)中,是在预设工作时间段中不存在休息时间的情况下,由结尾时间点与第一时间点求差计算得到工作时长。可替换地,若预设工作时间段包括休息时间,该工作时长可以基于结尾时间点、第一时间点、休息时间以确定。
对最大容量和第一容量进行求差,计算得到第一集合对应的扩容量,可以参照如下公式(2):
扩容量=最大容量-第一容量(2)
最大容量和第一容量的定义可以参照前文对应说明部分。
在最大容量大于第一容量的情况下,扩容量的数值可以是大于0的自然数;在最大容量小于等于第一容量的情况下,扩容量的数值可以是小于等于0的自然数。
在扩容量的数值小于等于0的情况下,可以无需进行扩容处理,保持现状。
在一种具体的实现方式中,集合容量更新参数包括以下至少一者:坐席数量、工作时长以及参考呼叫时长;方法还包括:在检测到呼叫任务启动条件被满足的情况下,将当前时间点确定为第二时间点,获取第二时间点的集合容量更新参数;第二时间点位于第一时间点之前;根据第一候选集合与第二时间点的集合容量更新参数,对预设空集进行呼叫数据添加处理,得到第二时间点的第一集合。
本实现方式中,工作时长还可以是预设工作时间段的时间长度。
呼叫任务启动条件是否被满足,可以通过检测电子设备是否接收到呼叫任务的启动指令确定。
若接收到呼叫任务的启动指令,则可以确定呼叫任务启动条件被满足;若未接收到呼叫任务的启动指令,则可以确定呼叫任务启动条件未被满足。
具体实施时,可以根据预设工作时间段,配置自动触发呼叫任务的启动指令的生成的启动时间点。该启动时间点可以是预设工作时间段的开始时间点,也可以是在该开始时间点之前的预先配置的时间点。
在启动时间点,电子设备可以接收到自动生成的呼叫任务的启动指令。
在检测到呼叫任务启动条件被满足的情况下,将当前时间点确定为第二时间点,获取第二时间点的集合容量更新参数。
第二时间点获取的集合容量更新参数,包括且不限于:第二时间点处于工作状态的呼叫机器人对应的机器人坐席的坐席数量、预设工作时间段的时间长度以及参考呼叫时长。
需要注意的是,第二时间点位于第一时间点之前。即在电子设备执行呼叫任务的每一天,呼叫任务启动条件被满足的时间点早于预设对象更新条件被满足的时间点。
根据第一候选集合与第二时间点的集合容量更新参数,对预设空集进行呼叫数据添加处理,得到第二时间点的第一集合,可以是,根据第二时间点的集合容量更新参数,计算第一集合在第二时间点的最大容量;根据该最大容量在第一候选集合对应候选呼叫对象中选取目标候选呼叫对象,将目标候选呼叫对象变更为目标呼叫对象;将第一候选集合中目标呼叫对象的呼叫数据迁移至预设空集,得到第一集合。
在电子设备每天开始执行呼叫任务之前,第一集合对应的存储区域中不包括呼叫数据,可以从该存储区域中获取预设空集。
将第一候选集合中目标呼叫对象的呼叫数据迁移至预设空集,得到第一集合,可以是将第一候选集合中目标呼叫对象的呼叫数据从第一候选集合中移出,将移出的呼叫数据存储于第一集合对应的存储区域中,以对预设空集进行呼叫数据添加处理,得到第二时间点的第一集合。
在一些实现方式中,第二时间点和执行步骤S102时对应的指定时间点可以是同一时间点,即第一候选集合可以是在电子设备在启动呼叫任务时获取的当天的第一个批次的候选集合。出于相似的技术构思,在另一些实现方式中,第二时间点与指定时间点之间的差值可以小于预设时间长度阈值。
在一种具体的实现方式中,工作时长为预设工作时间段的时长;根据第一候选集合与第二时间点的集合容量更新参数,对预设空集进行呼叫数据添加处理,得到第二时间点的第一集合,包括:根据坐席数量、预设工作时间段的时长以及参考呼叫时长,确定预设工作时间段的时长对应的最大呼叫数量,得到第一数量;将第一候选集合中候选呼叫对象的数量确定为第二数量;根据第一数量和第二数量,确定数据对接状态;数据对接状态为锁定状态和非锁定状态中的一者;在数据对接状态为锁定状态的情况下,根据第一数量,将第一候选集合划分为待处理的第一子集合与备用的第二子集合,将第二子集合存储于预设存储区域;将第一子集合对应的候选呼叫对象变更为目标呼叫对象,并将第一子集合中目标呼叫对象的呼叫数据迁移至预设空集,得到第二时间点的第一集合。
根据坐席数量、预设工作时间段的时长以及参考呼叫时长,确定预设工作时间段的时长对应的最大呼叫数量,得到第一数量,可以参照如下公式(3):
第一数量=坐席数量*预设工作时间段的时长/参考呼叫时长(3)
将第一候选集合中候选呼叫对象的数量确定为第二数量,可以是将第一候选集合在第二时间点的容量确定为第二数量。
根据第一数量和第二数量,确定数据对接状态,数据对接状态为锁定状态和非锁定状态中的一者,可以是,若第一数量大于第二数量,则可以确定数据对接状态为非锁定状态,若第一数量小于等于第二数量,则可以确定数据对接状态为锁定状态。
在数据对接状态为锁定状态的情况下,可以确定第一候选集合所包括的呼叫数据的个数大于电子设备本日可处理的呼叫数据的最大个数,仅需要将第一候选集合中的一部分呼叫数据迁移至第一集合,另一部分呼叫数据备用。
在数据对接状态为锁定状态的情况下,根据第一数量,将第一候选集合划分为待处理的第一子集合与备用的第二子集合,将第二子集合存储于预设存储区域;将第一子集合对应的候选呼叫对象变更为目标呼叫对象,并将第一子集合中目标呼叫对象的呼叫数据迁移至预设空集,得到第二时间点的第一集合。
预设存储区域可以是用于存储备用的呼叫数据的存储区域。
第一子集合可以包括多个候选呼叫对象的呼叫数据。
将第一子集合对应的候选呼叫对象变更为目标呼叫对象,可以是将第一子集合对应的多个候选呼叫对象中每个候选呼叫对象变更为对应的一个目标呼叫对象。
在数据对接状态为非锁定状态的情况下,可以确定第一候选集合所包括的呼叫数据的个数小于等于电子设备本日可处理的呼叫数据的最大个数,则可以将将第一候选集合中的每个呼叫数据均迁移至第一集合。
通过设置数据对接状态,可以使得第一集合在任意时间点的容量小于等于第一集合在该时间点的最大容量,降低在第一集合中排队等待处理的呼叫数据超过呼叫机器人的工作能力极限的可能性。
例如,第一候选集合包括1000个候选呼叫对象的呼叫数据,预设工作时间段包括8点至12点,14点至18点,在每天开始工作前,可以根据获取的坐席数量8、8小时以及参考呼叫时长3分钟,计算得到一天最多能够进行600次呼叫,则将1000个呼叫数据划分为600和400两部分,400个呼叫数据存起来备用,600个呼叫数据转移到预设空集中,以形成当前时间点的第一集合。
在一种具体的实现方式中,工作时长为剩余工作时长;剩余工作时长是基于预设工作时间段和第一时间点所确定的;获取第一时间点的第一集合之后,呼叫方法还包括:确定第一集合对应的第三数量;根据第一候选集合与在第一时间点获取的集合容量更新参数,对第一集合进行呼叫数据添加处理,包括:根据坐席数量、剩余工作时长以及参考呼叫时长,确定剩余工作时长对应的最大呼叫数量,得到第四数量;根据第三数量和第四数量,对数据对接状态进行更新处理;在更新处理后的数据对接状态为非锁定状态的情况下,从第二子集合对应的候选呼叫对象中选取目标候选呼叫对象,将目标候选呼叫对象更为目标呼叫对象,并将第二子集合中目标呼叫对象的呼叫数据迁移至第一集合。
剩余工作时长,可以是由第一时间点和预设工作时间段所确定的。
剩余工作时长可以是由第一时间点和预设工作时间段的结束时间点计算得到。
例如,预设工作时间段为8点至18点,中间没有休息时间,第一时间点为10点,则剩余工作时长为18-10=8小时。
剩余工作时长也可以是由第一时间点、预设工作时间段的结束时间点以及休息时间段计算得到。
例如,预设工作时间段包括8点至12点,14点至18点,休息时间段为12点至14点,第一时间点为10点,则剩余工作时长为18-10-2=6小时。
又例如,预设工作时间段包括8点至12点,14点至18点,休息时间段为12点至14点,第一时间点为15点,则剩余工作时长为18-15=3小时。
在获取第一时间点的第一集合之后,可以获取第一集合在第一时间点的容量,将该容量确定为第三数量。
该第三数量与前文中的第一容量可以是同一概念。
根据坐席数量、剩余工作时长以及参考呼叫时长,确定剩余工作时长对应的最大呼叫数量,得到第四数量,可以参照前文的公式(1):
最大容量=坐席数量*(结尾时间点-第一时间点)/参考呼叫时长(1)
其中,结尾时间点是位于预设工作时间段结尾的时间点。
第一时间点是检测到预设对象更新条件被满足的时间点。
坐席数量是当前接入电子设备的呼叫机器人中处于工作状态的呼叫机器人所对应的机器人坐席的数量。
参考呼叫时长参照前文对应说明。
在本实现方式中,最大容量可以是第四数量,剩余工作时长可以由结尾时间点和第一时间点确定,如下述公式(4):
第四数量=坐席数量*剩余工作时长/参考呼叫时长(4)
在对数据对接状态进行更新处理之前,可以获取第一时间点的数据对接状态,该数据对接状态可能是锁定状态,也可能是非锁定状态。
根据第三数量和第四数量,对数据对接状态进行更新处理。
在更新处理后的数据对接状态为非锁定状态的情况下,可以从备用的呼叫数据中选取一部分呼叫数据迁移至第一集合。
该备用的呼叫数据可以是第二子集合包括的呼叫数据,也可以是新的批次的候选集合中的呼叫数据。
例如,8点开始呼叫任务,电子设备接入8个处于工作状态的呼叫机器人,即坐席数量为8。第一集合包括600个呼叫数据,到9点的时候第一集合中的150个呼叫数据已经在完成呼叫后移出,剩下450个呼叫数据即第三数量。由于原8个机器人坐席中有一个机器人坐席由于设备原因后续无法工作,在9点获取的坐席数量为7,剩余工作时长为7小时,以及,参考呼叫时长3分钟。计算7小时最多能呼叫500次,即第四数量。此时数据对接状态为非锁定状态,第二子集合中的呼叫数据可以依次迁移至第一集合,直到第三数量大于等于第四数量时数据对接状态从非锁定状态更新为锁定状态。
在同时存在第二子集合与第一候选集合之后的新获取的另一批次的候选集合的情况下,可以优先从第二子集合中选取呼叫数据迁移至第一集合,若在第二子集合中的每个呼叫数据均移出,该第二子集合变为空集的情况下,可以从新获取的另一批次的候选集合中选取呼叫数据迁移至第一集合。
从第二子集合对应的候选呼叫对象中选取目标候选呼叫对象,将目标候选呼叫对象更为目标呼叫对象,并将第二子集合中目标呼叫对象的呼叫数据迁移至第一集合,可以参照步骤S104对应说明部分。
在一种具体的实现方式中,根据第三数量和第四数量,对数据对接状态进行更新处理,包括:在第三数量小于第四数量,且数据对接状态为锁定状态的情况下,将数据对接状态更新为非锁定状态;在第三数量大于等于第四数量,且数据对接状态为非锁定状态的情况下,将数据对接状态更新为锁定状态。
在第三数量小于第四数量,且在第一时间点获取的数据对接状态为非锁定状态的情况下,数据对接状态可以保持不变,电子设备无需对其进行变更。
在第三数量小于第四数量,且在第一时间点获取的数据对接状态为锁定状态的情况下,电子设备可以将数据对接状态从锁定状态更新为非锁定状态。
在第三数量大于等于第四数量,且在第一时间点获取的数据对接状态为锁定状态的情况下,数据对接状态可以保持不变,电子设备无需对其进行变更。
在第三数量大于等于第四数量,且在第一时间点获取的数据对接状态为非锁定状态的情况下,电子设备可以将数据对接状态从非锁定状态更新为锁定状态。
在数据对接状态从非锁定状态更新为锁定状态的情况下,第二子集合中的呼叫数据无法再被迁移至第一集合,则第一集合的容量不再增加。
在数据对接状态从锁锁定状态更新为非锁定状态的情况下,优先从第二子集合中选取呼叫数据并迁移至第一集合,在第二子集合中的呼叫数据均被迁移至第一集合的情况下,再从新获取的另一批次的候选集合中选取呼叫数据迁移至第一集合。
步骤S108,根据呼叫数据添加处理后的第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在呼叫结果满足呼叫任务的结束条件的情况下,将呼叫数据从第一集合中移出。
呼叫结果可以包括呼叫对象在呼叫中对机器人坐席的反馈信息,例如,呼叫对象在呼叫中对机器人坐席推销的产品A产生兴趣并购买该产品A。
呼叫结果也可以包括呼叫对象的用户操作,例如,挂断操作。
呼叫结果满足呼叫任务的结束条件,可以是电子设备根据在呼叫中采集的呼叫对象的反馈信息可以确定呼叫目的已实现,也可以是电子设备根据在呼叫中采集的呼叫对象的反馈信息可以确定呼叫目的无法实现。
电子设备根据在呼叫中采集的呼叫对象的反馈信息确定呼叫目的无法实现,该反馈信息可以是呼叫对象在呼叫中表示不需要或不感兴趣,也可以是呼叫对象在电子设备发出的呼叫接通之前主动挂断该次呼叫,具体可以参照前文中(a1)类型的呼叫对象的对应说明部分。
根据呼叫数据添加处理后的第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,可以包括如下流程:
(b1)调用呼叫机器人拨打呼叫数据中的通信号码;
(b2)在呼叫接通后,机器人坐席播报预设话术;
(b3)接收呼叫对象的反馈信息;
(b4)结束呼叫。
在呼叫结果满足呼叫任务的结束条件的情况下,将呼叫数据从第一集合中移出,以使第一集合中仅包括等待机器人坐席处理的呼叫数据,不包括已经处理完毕的呼叫数据。
在一种具体的实现方式中,获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据之前,呼叫方法还包括:在多种预设话术模板中确定呼叫任务对应的目标话术模板;根据呼叫数据添加处理后的第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,包括:根据目标话术模板和呼叫数据,调用呼叫机器人向呼叫数据对应的目标呼叫对象发起呼叫。
每个呼叫任务可以对应于一种预设话术模板。
在多种预设话术模板中,可以根据呼叫任务的任务标识,确定呼叫任务对应的目标话术模板。
呼叫数据可以包括通信号码和用户名。根据用户名可以对目标话术模板进行填充处理,得到对应的目标话术,根据通信号码,可以调用呼叫机器人向呼叫数据对应的目标呼叫对象发起呼叫,在呼叫中播报目标话术。
在一种具体的实现方式中,目标话术模板携带有话术变量;呼叫数据包括话术变量对应的变量值;根据目标话术模板和呼叫数据,调用呼叫机器人向呼叫数据对应的目标呼叫对象发起呼叫,包括:获取变量值的最新数据;根据预设过滤规则和变量值的最新数据,确定是否过滤掉呼叫数据;若是,则将呼叫数据对应的目标呼叫对象变更为拦截对象;若否,则根据目标话术模板和呼叫数据,调用呼叫机器人向目标呼叫对象发起呼叫。
话术变量可以是目标话术模板中待替换的部分。
例如,目标话术模板为:[姓名]先生/女士,XXXXXXXX。
其中,[姓名]为话术变量,“先生/女士,XXXXXXXX”目标话术模板中固定不变的部分。
呼叫数据包括话术变量对应的变量值,例如,呼叫数据1包括姓名甲,年龄20,通信号码1,等等。
预设过滤规则可以包括预先配置的用于根据话术变量的变量值确定是否需要拦截机器人坐席向目标呼叫对象发出呼叫的拦截条件。
考虑到获取呼叫任务对应的第一候选集合的时间点与根据目标话术模板和呼叫数据,调用呼叫机器人向呼叫数据对应的目标呼叫对象发起呼叫的时间点之间可能存在一段时间,呼叫数据中包括的变量值可能发生变化,若基于错误的变量值发起呼叫,在呼叫中播报的话术很有可能是过时的信息,给呼叫对象带来不好的体验。
例如,电子设备在8点获取第一候选集合,该第一候选集合包括呼叫数据1,该呼叫数据1中携带的变量值包括呼叫对象1的XX状态为第一状态;电子设备在15点根据该呼叫数据1调用呼叫机器人发起呼叫,在呼叫中播报第一状态对应的话术,得到呼叫结果,8点与15点之间相隔7个小时,但实际上呼叫对象1在10点时XX状态从第一状态切换至第二状态,使得该次呼叫中呼叫机器人播报的是不合适的话术。
获取变量值的最新数据,可以是在根据呼叫数据调用呼叫机器人发起呼叫之前,获取呼叫数据中携带的变量值的最新数据。
根据预设过滤规则和变量值的最新数据,确定是否过滤掉呼叫数据;若是,则将呼叫数据对应的目标呼叫对象变更为拦截对象,并将呼叫数据从第一集合中移出;若否,则根据目标话术模板和呼叫数据,调用呼叫机器人向目标呼叫对象发起呼叫。
通过在发起呼叫之前获取变量的最新数据,以及,根据预设过滤规则和变量值的最新数据,确定是否过滤掉呼叫数据,可以避免机器人坐席基于过期的变量值播报不合适的话术,给呼叫对象带来不好的体验,且通过拦截一部分由预设过滤规则确定的需要拦截的呼叫对象,也可以减少待处理的呼叫数据,提高呼叫任务的整体呼叫效率。
在如图1所示的实施例中,获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;其次,在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取第一时间点的第一集合;第一集合包括多个呼叫数据;第一集合中的呼叫数据为呼叫任务对应的多个呼叫对象中未满足呼叫任务的结束条件的目标呼叫对象的呼叫数据;然后,根据第一候选集合与在第一时间点获取的集合容量更新参数,对第一集合进行呼叫数据添加处理;最后,根据呼叫数据添加处理后的第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在呼叫结果满足呼叫任务的结束条件的情况下,将呼叫数据从第一集合中移出。以此,通过在检测到预设对象更新条件被满足的情况下,获取当前时间点的第一集合,并根据第一候选集合与在当前时间点获取的集合容量更新参数对第一集合进行呼叫数据添加处理,以及,在呼叫完成后将呼叫结果满足呼叫任务的结束条件的呼叫数据从第一集合中移出,可以使得第一集合中仅包括未满足呼叫任务的结束条件的呼叫数据,该呼叫数据等待呼叫机器人依次处理,则第一集合的容量可以在呼叫任务的执行过程中灵活地进行动态调整,而不是只能在呼叫任务启动之前一次性分配等待呼叫机器人依次处理的呼叫数据。若遇到意外情况导致呼叫机器人与预先确定的平均呼叫时长相比提前结束呼叫。与呼叫任务启动之前预估的呼叫机器人可处理的呼叫数据的数量相比,在呼叫机器人有余力处理比该预估的数量更多的呼叫数据的情况下,通过动态调整第一集合的容量,可以及时向第一集合中添加等待呼叫机器人的呼叫数据,从而提高呼叫机器人的利用效率,减少由意外情况带来的呼叫机器人的资源浪费。
出于相同的技术构思,本申请实施例还提供了一种呼叫系统,参照图2所示。图1实施例提供的呼叫方法可以应用于图2实施例的呼叫系统中。
参照图2,呼叫系统包括且不限于:话术变量模块202、拨打名单对接模块204、待呼名单模块206、话术变量更新模块208、过滤策略模块210、智能外呼模块212、监听模块214、结果记录模块216、名单结果更新模块218、循环模块220以及预约拨打模块222。
其中,话术变量模块202,可以用于存储呼叫任务所需的动态的话术变量。
具体实施时,在呼叫系统获取第一候选集合之前,可以在创建呼叫任务时从机器人系统中选择一个呼叫机器人,每个呼叫机器人对应于一个话术模板。在选择呼叫机器人之后,可以提取该呼叫机器人所需的变量,即该话术模板携带的话术变量,将该话术变量存储到话术变量模块202。
在切换呼叫任务所采用的呼叫机器人的情况下,可以自动更新话术变量模块202中存储的话术变量。该话术变量对应的变量值不仅在任务管理中需要,也会传给呼叫机器人用于呼叫机器人的在呼叫中沟通。
具体地,每个呼叫机器人可以对应于一整套话术流程、机器人模板话术以及判定客户话术内容规则的配置信息。
例如,呼叫机器人1的话术流程包括:
【打招呼】您好,请问是{用户名}吗?
#判断呼叫接收者说话内容的规则设置,呼叫接收者可能说“是”也可能说其它,可以根据说的内容不同配置不同分支#
【分支“是”,播报第一提醒信息】好的,您的剩余xxxx为{资源1数量},请尽快处理,谢谢。其中,“您好,请问是{用户名}吗”和“好的,您的剩余xxxx为{资源1数量},请尽快处理,谢谢”为机器人模板话术。
“#判断呼叫接收者说话内容的规则设置,呼叫接收者可能说“是”也可能说其它,可以根据说的内容不同配置不同分支#”为判定客户话术内容规则的配置信息。
以上呼叫机器人的话术模板包含用户名、资源1数量两个话术变量,其会存储到话术变量模块202中。
拨打名单对接模块204,可以用于动态地为呼叫任务提供多个候选呼叫对象以及每个候选呼叫对象与呼叫机器人相关的呼叫数据。
每个候选呼叫对象可以是呼叫系统的一个客户。
获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据,可以是通过拨打名单对接模块204获取第三方的业务系统提供的第一候选集合中每个候选呼叫对象的呼叫数据。
具体实施时,呼叫数据除呼叫号码外,还包括话术变量模块202中各个话术变量对应的变量值,且每个变量值均为必填,否则呼叫机器人在呼叫中沟通时无法根据话术模板生成目标话术并播报。
另外,拨打名单对接模块204可以提供自动校验对接数据的能力,确保对接的呼叫数据正确性。对接数据可以是前述的每个候选呼叫对象的呼叫数据。
具体实施时,拨打名单对接模块204可以包含一套变量校验规则配置和执行方法,支持对话术变量模块202中存储的话术变量,自定义校验规则,用于对对接数据的正确性进行验证。
示例性地,校验规则可以支持4类数据类型设置:
数字:可以限制最小值或最大值,且为纯数字。
文本:可以限制文本的长度。
呼叫号码:自动进行呼叫号码格式校验。
枚举:限定话术变量的数据必须属于枚举值范围之一。
拨打名单对接模块204具有对接API(Application Programming Interface,应用程序接口)。每个呼叫任务可以对应于一个任务标识。第三方的业务系统可以通过该对接API和呼叫任务的任务标识,将第一候选集合中每个候选呼叫对象的呼叫数据自动推送到拨打名单对接模块204的该呼叫任务中。另外,也可以通过拨打名单对接模块204配置手工导入第一候选集合对应的excel文件或csv文件。
拨打名单对接模块204可以将候选呼叫对象变更为未满足呼叫任务的结束条件的目标呼叫对象,并将目标呼叫对象的呼叫数据传输至待呼名单模块206。待呼名单模块206可以包括第一集合。拨打名单对接模块204将呼叫数据传输至待呼名单模块206,可以是对第一集合进行呼叫数据添加处理。
第一集合包括的呼叫数据,可以是在排队等待呼叫系统调用呼叫机器人处理的呼叫数据。
例如,在8点,拨打名单对接模块204将500个候选呼叫对象的呼叫数据传输至待呼名单模块206,根据位于该待呼名单模块206中的500个呼叫数据,可以调用呼叫机器人发起呼叫。在每次呼叫结束后,若呼叫结果满足呼叫任务的结束条件,则将对应的呼叫数据从待呼名单模块206中移出。在12点,该待呼名单模块206中已经有一部分呼叫数据被移出,该时间点待呼名单模块206中具有200个呼叫数据。
根据待呼名单模块206中每个呼叫数据,可以调用呼叫机器人向对应的呼叫对象发起一次呼叫,在每次呼叫结束时,可以触发预设对象更新条件被满足。
参照图2,在以天为一个批次的情况下,通过拨打名单对接模块204可以根据坐席数量、预设工作时间段的时长以及参考呼叫时长,计算每天批次可处理的呼叫数据的数量,得到第一数量,该第一数量反映了在预设工作时间段的开始时间点预估呼叫机器人在预设工作时间段中可处理的最大呼叫数量。
拨打名单对接模块204可以配置一个对接锁,在该对接锁关闭时,数据对接状态为锁定状态;在该对接锁开启时,数据对接状态为非锁定状态。关闭的对接锁可以限制呼叫数据从拨打名单对接模块204传输至待呼名单模块206。在对接锁关闭的情况下,呼叫数据无法从拨打名单对接模块204传输至待呼名单模块206;在对接锁开启的情况下,若拨打名单对接模块204中存储有候选呼叫对象的呼叫数据,则该呼叫数据自动从拨打名单对接模块204传输至待呼名单模块206。通过设置对接锁和数据对接状态,可以防止传输至待呼名单模块206中的呼叫数据的数量超过呼叫机器人可处理的最大呼叫数量,即第一数量。
将第一候选集合包括的呼叫数据的数量确定为第二数量
若第一数量大于等于第二数量,说明呼叫机器人能够在预设工作时间段内完成第一候选集合中呼叫数据的呼叫与沟通,则确定数据对接状态为非锁定状态,对接锁开启,第一候选集合中所有的呼叫数据都可以被拨打名单对接模块204传输至待呼名单模块206。
若第一数量小于第二数量,说明呼叫机器人只能在预设工作时间段内完成第一候选集合中一部分呼叫数据的呼叫与沟通,则确定数据对接状态为锁定状态,对接锁关闭。根据第一数量,将第一候选集合划分为待处理的第一子集合与备用的第二子集合,第一子集合所对应的呼叫数据的数量为第一数量,第二子集合所对应的呼叫数据的数量可以由第二数量与第一数量的差值确定。第一子集合中所有的呼叫数据都可以被拨打名单对接模块204传输至待呼名单模块206。而第二子集合中所有的呼叫数据可以临时存储于拨打名单对接模块204中预先配置的预设存储区域。
另外,在检测到对接锁再次开启之后,拨打名单对接模块204优先从预设存储区域中读取呼叫数据并传输至待呼名单模块206。在预设工作时间段的结束时间点,可以自动将预设存储区域中的呼叫数据转移至预约拨打模块222。
拨打名单对接模块204还包含一个更新响应事件,在检测到预设对象更新条件被满足的情况下,均会触发重新计算待呼名单模块206在当前时间点可处理的最大呼叫数量,即第四数量,还可以获取待呼名单模块206在当前时间点包括的呼叫数据的数量,即第三数量,还可以获取对接数据状态,等等。
第四数量和第三数量的获取方式可以参照图1实施例。
拨打名单对接模块204待传输至待呼名单模块206的呼叫数据的数量可以基于第三数量和第四数量确定。对接数据状态也可以基于第三数量和第四数量确定。
如果第四数量大于第三数量,对接锁从关闭变更为重新开启,拨打名单对接模块204自动从预设存储区域存储的第二子集合中读取呼叫数据并传输至待呼名单模块206,循环更新响应事件,直到重新关闭对接锁或预设存储区域中第二子集合中所有呼叫数据均已被传输至待呼名单模块206。
参照图2,在待呼名单模块206与智能外呼模块212之间,可以配置话术变量更新模块208和过滤策略模块210。智能外呼模块212可以是呼叫机器人。
在调用呼叫机器人发起呼叫之前,可以通过话术变量更新模块208对呼叫数据中的变量值进行更新处理,进而通过过滤策略模块210对更新处理之后的变量值进行过滤,若该变量值被过滤掉,说明该变量值所对应的呼叫数据不是该呼叫任务的适宜的执行对象的呼叫数据。
例如,在8点候选呼叫对象1的呼叫数据进入拨打名单对接模块204,第三方的业务系统是根据该候选呼叫对象1在8点之前的业务数据确定将其推送至拨打名单对接模块204,该呼叫数据被传输至待呼名单模块206,且在排队等待之后,在12点即将被传输至智能外呼模块212并基于该呼叫数据发起呼叫,此时候选呼叫对象1的业务数据可能在8点到12之间发生了改变,业务数据会影响呼叫数据中的话术变量对应的变量值,则变量值存在滞后,导致呼叫给用户带来了不好的体验。通过对变量值进行更新处理并过滤,可以使得呼叫时采用的变量值是基于实时业务数据生成的,提高了呼叫体验。
话术变量更新模块208可以包含一个话术变量更新配置功能,支持对本呼叫任务在话术变量模块202中各个话术变量进行更新接口配置,可使用任意第三方接口来更新呼叫数据,每个第三方接口可更新若干个话术变量,使得更新业务与呼叫任务业务解耦,其配置方式主要包含:接口信息、入参配置、出参解析配置。
接口信息配置包括且不限于:
接口名称:用于识别接口的名称。
接口地址:三方接口的url(Uniform Resource Locator,统一资源定位器)地址。
请求方式:支持POST、GET方式。
入参配置可以是该接口依赖入参(又叫形式参数“形参”)进行赋值设置,可以使用“话术变量值”“常量值”赋值给接口入参,并且根据参数位置不同,共四类入参:
Params入参:可以作为接口的路由地址使用,比如:
http://aaa.bbb.com/:mod,其中的mod就是Params参数,我们将固定值“user”配置给接口入参mod,是否需要路由地址由接口决定。
Query入参:可以作为URL路径上的查询条件,比如:
http://aaa.bbb.com/user?type=xxx,type就是该接口的Query参数。
Body入参:可以是接口POST请求时携带的数据。
Header入参:可以是接口请求头上携带的数据。
出参解析配置可以是将接口返回的数据,配置解析规则并赋值给某些话术变量,实现对客户数据实现更新,包括:
JsonPath解析规则:接口返回数据一般为JSON格式,通过JsonPath语法规则实现对结果的解析,如“$.data.cpd”形式,可实现任意JSON数据结构的解析。
将JsonPath解析结果赋值给话术变量,即可用新数据更新话术变量的原数据。
话术变量更新模块208还可以包含更新执行功能,如果未配置更新接口,会跳过执行;如果话术变量更新模块208配置了N个更新接口,则依次执行各个更新接口。N可以是大于等于1的自然数。
初始化入参:配置的uuid=客户号,则将用户张三的客户号788赋值给接口入参uuid;配置的cno=合同号,则将用户张三的合同号123赋值给接口入参cno。
接口请求:系统调用“获取用户XX天数接口”,body中带有uuid和cno数据,等待该接口的提供系统处理请求,其处理成功后,会将结果返回到外呼任务。
返回解析:获取接口返回结果{success:0/1,msg,data:{cpd:天数}}后,根据$.data.cpd解析出张三新的cpd数值,如cpd=0,表示此时张三已经将资源归还了。则在张三的呼叫数据被推送至拨打名单对接模块204时,还没有归还资源,在张三的呼叫数据被推送至话术变量更新模块208时,已经将资源归还。
赋值更新数据:$.data.cpd赋值给话术变量“XX天数”,即更新张三的“XX天数”为0,从而实现了张三XX天数的更新。
过滤策略模块210可以用于进行呼叫前最后一次过滤校验,根据过滤规则对命中过滤条件的呼叫数据阻止本次呼叫,避免无效或错误的呼叫。
另外,监听模块214,可以用于利用消息中心、接口回调等不同机制始终保持对上游模块的消息检测,一旦收到“沟通结束”消息,立即会激活对该客户后续管理处理流程。
该模块支持的检测消息来源,可以是过滤策略模块210命中过滤条件时产生的阻止呼叫消息、也可以是智能外呼模块212产生的挂机/呼叫失败消息。
该模块约定了消息内容格式:一般包含消息来源、外呼结果、沟通结果、预约结果和外呼详情数据5类。
消息来源:包含过滤策略、智能外呼机器人。
外呼结果:中止外呼、用户拒接、占线、拨打限制、拨打失败、无法接通、空号、停机、关机、号码故障、未接、已接通。
沟通结果:通过json方式将呼叫机器人与客户沟通后的上下文全量数据,包括话术变量及最新值、客户挂断/正常挂断、业务变量及数据值。
外呼预约结果:即呼叫机器人与客户沟通中,采集到客户主动预约的下次沟通信息,要求为“年-月-日时:分:秒”格式,智能机器人系统会根据采集到的实体自动计算出满足格式的预约结果数据。比如,沟通信息要求“半小时后”会按照当时时刻+30分钟计算、要求“明天3点”会按照当时时刻+1天计算明天日期且15点0时0分计算。
呼叫信息:三方呼叫系统的记录数据id、通话时长、起止时间、录音id等业务数据。
监听模块214成功检测到消息并获得相关数据后,直接进入结果记录模块216进行数据记录。
呼叫系统还包括结果记录模块216,主要负责对本次结果数据的全量存储,即每个客户每次送号后所属外呼任务、所属批次、客户、消息来源、外呼结果、沟通结果、预约结果和外呼详情5类数据。
呼叫系统还包括名单结果更新模块218,负责在通话后对客户数据进行更新,并触发下次待呼名单模块206、拨打名单对接模块204、循环模块220的对应事件。
名单结果更新模块218包含一个重呼规则设置功能,针对客户外呼失败情况下,针对各类外呼失败类型,设置重呼次数、重呼间隔。支持的外呼失败类型包括:用户拒接、占线、拨打限制、拨打失败、无法接通、空号、停机、关机、号码故障、未接。
本模块包含一个预约数据计算功能,包含客户明确预约下次拨打时间、呼叫失败重呼计算,获得该客户预约下次拨打的时间。
如果外呼结果包含了明确的预约时间,则客户预约下次拨打时间=结果中的预约时间。
如果外呼失败,则根据重呼规则,如果达到重呼上限,则不再计算;如果未达到重呼上限,计算下次拨打时间,并赋值给客户预约下次拨打时间。
本模块会更新该客户当天批次中呼叫变量:本任务今日拨打次数、所有任务今日拨打次数
本模块包含推送客户的呼叫数据到预约拨打模块222的功能,系统判定客户有“下次预约拨打时间”时,会将该客户的呼叫数据及预约时间一并推送给预约拨打模块222。
本模块会触发拨打名单对接模块204的“更新响应事件”,触发其重新计算最大呼叫数量和对接锁状态。
本模块在最后会触发循环模块220,进入下一个客户的循环。
循环模块220,用于通过判断待呼名单模块206中是否还有客户,触发其推送下一个客户;如果客户已全部完成拨打,则暂停本外呼任务;如果客户已全部完成拨打,并且当前工作时间还未结束,则触发拨打名单对接模块204的“更新响应事件”,触发其重新计算最大呼叫数量和对接锁状态。
预约拨打模块222根据客户预约时间,在批次规则下,将客户对应的呼叫数据推送到拨打名单对接模块204。
对下次预约时间在当天批次内,且拨打名单对接模块204的对接锁未关闭时,将客户对应的呼叫数据推送到拨打名单对接模块204。
对下次预约时间在当天批次内,但拨打名单对接模块204的对接锁已关闭时,维持当前的数据对接状态不变。
对下次预约时间超过当天批次外,维持当前状态不变。
本模块还包含一个主动推送客户名单功能,对于未进行推送的预约客户,系统将在下一个工作日任务启动时,按照规则自动推送到拨打名单对接模块204。
在上述的实施例中,提供了一种呼叫方法,与之相对应的,基于相同的技术构思,本申请实施例还提供了一种呼叫装置,下面结合附图进行说明。
图3为本申请实施例提供的一种呼叫装置示意图。
本实施例提供一种呼叫装置300,包括:
第一获取单元302,用于获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;
第二获取单元304,用于在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;
第一添加单元306,用于根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;
呼叫单元308,用于根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。
可选地,第一添加单元306,具体用于:
根据所述第一时间点获取的集合容量更新参数,计算所述第一集合对应的扩容量;
在所述扩容量大于预设数值的情况下,根据所述扩容量,从所述第一候选集合对应候选呼叫对象中选取目标候选呼叫对象,将所述目标候选呼叫对象变更为所述目标呼叫对象;
将所述第一候选集合中所述目标呼叫对象的呼叫数据迁移至所述第一集合。
可选地,第一添加单元306,还具体用于:
获取所述第一集合在所述第一时间点的第一容量;
根据所述第一时间点获取的集合容量更新参数,计算所述第一集合在所述第一时间点的最大容量;
对所述最大容量和所述第一容量进行求差,计算得到所述第一集合对应的扩容量。
可选地,所述集合容量更新参数包括以下至少一者:坐席数量、工作时长以及参考呼叫时长;呼叫装置300,还包括:
第三获取单元,用于在检测到呼叫任务启动条件被满足的情况下,将当前时间点确定为第二时间点,获取所述第二时间点的所述集合容量更新参数;所述第二时间点位于所述第一时间点之前;
第二添加单元,用于根据所述第一候选集合与所述第二时间点的所述集合容量更新参数,对预设空集进行呼叫数据添加处理,得到所述第二时间点的所述第一集合。
可选地,所述工作时长为预设工作时间段的时长;第二添加单元,具体用于:
根据所述坐席数量、所述预设工作时间段的时长以及所述参考呼叫时长,确定所述预设工作时间段的时长对应的最大呼叫数量,得到第一数量;将所述第一候选集合中所述候选呼叫对象的数量确定为第二数量;
根据所述第一数量和所述第二数量,确定数据对接状态;所述数据对接状态为锁定状态和非锁定状态中的一者;
在所述数据对接状态为所述锁定状态的情况下,根据所述第一数量,将所述第一候选集合划分为待处理的第一子集合与备用的第二子集合,将所述第二子集合存储于预设存储区域;
将所述第一子集合对应的候选呼叫对象变更为所述目标呼叫对象,并将所述第一子集合中所述目标呼叫对象的呼叫数据迁移至所述预设空集,得到所述第二时间点的所述第一集合。
可选地,所述工作时长为剩余工作时长;所述剩余工作时长是基于所述预设工作时间段和所述第一时间点所确定的;呼叫装置300,还包括:
第一确定单元,用于确定所述第一集合对应的第三数量;
第一添加单元306,具体用于:
根据所述坐席数量、所述剩余工作时长以及所述参考呼叫时长,确定所述剩余工作时长对应的最大呼叫数量,得到第四数量;
根据所述第三数量和所述第四数量,对所述数据对接状态进行更新处理;
在更新处理后的所述数据对接状态为所述非锁定状态的情况下,从所述第二子集合对应的候选呼叫对象中选取目标候选呼叫对象,将所述目标候选呼叫对象更为所述目标呼叫对象,并将所述第二子集合中所述目标呼叫对象的呼叫数据迁移至所述第一集合。
可选地,第一添加单元306,还具体用于:
在所述第三数量小于所述第四数量,且所述数据对接状态为所述锁定状态的情况下,将所述数据对接状态更新为所述非锁定状态;
在所述第三数量大于等于所述第四数量,且所述数据对接状态为所述非锁定状态的情况下,将所述数据对接状态更新为所述锁定状态。
可选地,呼叫装置300,还包括:
第二确定单元,用于在多种预设话术模板中确定所述呼叫任务对应的目标话术模板;
呼叫单元308,具体用于:
根据所述目标话术模板和所述呼叫数据,调用呼叫机器人向所述呼叫数据对应的所述目标呼叫对象发起呼叫。
可选地,所述目标话术模板携带有话术变量;所述呼叫数据包括所述话术变量对应的变量值;呼叫单元308,还具体用于:
获取所述变量值的最新数据;
根据预设过滤规则和所述变量值的最新数据,确定是否过滤掉所述呼叫数据;
若是,则将所述呼叫数据对应的所述目标呼叫对象变更为拦截对象;
若否,则根据所述目标话术模板和所述呼叫数据,调用呼叫机器人向所述目标呼叫对象发起呼叫。
可选地,所述预设对象更新条件包括:
在第三时间点,根据所述呼叫任务的任务标识,获取第二候选集合;所述第三时间点位于所述第二时间点之后;所述第二候选集合包括多个所述候选呼叫对象的呼叫数据;
或者,
调用所述呼叫机器人发起的呼叫结束。
本申请实施例所提供的呼叫装置包括:第一获取单元,用于获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;第二获取单元,用于在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;第一添加单元,用于根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;呼叫单元,用于根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。以此,通过在检测到预设对象更新条件被满足的情况下,获取当前时间点的第一集合,并根据第一候选集合与在当前时间点获取的集合容量更新参数对第一集合进行呼叫数据添加处理,以及,在呼叫完成后将呼叫结果满足呼叫任务的结束条件的呼叫数据从第一集合中移出,可以使得第一集合中仅包括未满足呼叫任务的结束条件的呼叫数据,该呼叫数据等待呼叫机器人依次处理,则第一集合的容量可以在呼叫任务的执行过程中灵活地进行动态调整,而不是只能在呼叫任务启动之前一次性分配等待呼叫机器人依次处理的呼叫数据。若遇到意外情况导致呼叫机器人与预先确定的平均呼叫时长相比提前结束呼叫。与呼叫任务启动之前预估的呼叫机器人可处理的呼叫数据的数量相比,在呼叫机器人有余力处理比该预估的数量更多的呼叫数据的情况下,通过动态调整第一集合的容量,可以及时向第一集合中添加等待呼叫机器人的呼叫数据,从而提高呼叫机器人的利用效率,减少由意外情况带来的呼叫机器人的资源浪费。
对应上述描述的一种呼叫方法,基于相同的技术构思,本申请实施例还提供一种电子设备,该电子设备用于执行上述提供的呼叫方法,图4为本申请实施例提供的一种电子设备的结构示意图。
如图4所示,电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器401和存储器402,存储器402中可以存储有一个或一个以上存储应用程序或数据。其中,存储器402可以是短暂存储或持久存储。存储在存储器402的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括电子设备中的一系列计算机可执行指令。更进一步地,处理器401可以设置为与存储器402通信,在电子设备上执行存储器402中的一系列计算机可执行指令。电子设备还可以包括一个或一个以上电源403,一个或一个以上有线或无线网络接口404,一个或一个以上输入/输出接口405,一个或一个以上键盘406等。
在一个具体的实施例中,电子设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对电子设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;
在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;
根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;
根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。
本说明书提供的一种计算机可读存储介质实施例如下:
对应上述描述的一种呼叫方法,基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质。
本实施例提供的计算机可读存储介质,用于存储计算机可执行指令,计算机可执行指令在被处理器执行时实现以下流程:
获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;
在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;
根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;
根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。
需要说明的是,本说明书中关于计算机可读存储介质的实施例与本说明书中关于呼叫方法的实施例基于同一发明构思,因此该实施例的具体实施可以参见前述对应方法的实施,重复之处不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书的一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本文件的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本文件可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。
Claims (13)
1.一种呼叫方法,其特征在于,包括:
获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;
在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;
根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;
根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理,包括:
根据所述第一时间点获取的集合容量更新参数,计算所述第一集合对应的扩容量;
在所述扩容量大于预设数值的情况下,根据所述扩容量,从所述第一候选集合对应候选呼叫对象中选取目标候选呼叫对象,将所述目标候选呼叫对象变更为所述目标呼叫对象;
将所述第一候选集合中所述目标呼叫对象的呼叫数据迁移至所述第一集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一时间点获取的集合容量更新参数,计算所述第一集合对应的扩容量,包括
获取所述第一集合在所述第一时间点的第一容量;
根据所述第一时间点获取的集合容量更新参数,计算所述第一集合在所述第一时间点的最大容量;
对所述最大容量和所述第一容量进行求差,计算得到所述第一集合对应的扩容量。
4.根据权利要求1所述的方法,其特征在于,所述集合容量更新参数包括以下至少一者:坐席数量、工作时长以及参考呼叫时长;所述方法还包括:
在检测到呼叫任务启动条件被满足的情况下,将当前时间点确定为第二时间点,获取所述第二时间点的所述集合容量更新参数;所述第二时间点位于所述第一时间点之前;
根据所述第一候选集合与所述第二时间点的所述集合容量更新参数,对预设空集进行呼叫数据添加处理,得到所述第二时间点的所述第一集合。
5.根据权利要求4所述的方法,其特征在于,所述工作时长为预设工作时间段的时长;所述根据所述第一候选集合与所述第二时间点的所述集合容量更新参数,对预设空集进行呼叫数据添加处理,得到所述第二时间点的所述第一集合,包括:
根据所述坐席数量、所述预设工作时间段的时长以及所述参考呼叫时长,确定所述预设工作时间段的时长对应的最大呼叫数量,得到第一数量;将所述第一候选集合中所述候选呼叫对象的数量确定为第二数量;
根据所述第一数量和所述第二数量,确定数据对接状态;所述数据对接状态为锁定状态和非锁定状态中的一者;
在所述数据对接状态为所述锁定状态的情况下,根据所述第一数量,将所述第一候选集合划分为待处理的第一子集合与备用的第二子集合,将所述第二子集合存储于预设存储区域;
将所述第一子集合对应的候选呼叫对象变更为所述目标呼叫对象,并将所述第一子集合中所述目标呼叫对象的呼叫数据迁移至所述预设空集,得到所述第二时间点的所述第一集合。
6.根据权利要求5所述的方法,其特征在于,所述工作时长为剩余工作时长;所述剩余工作时长是基于所述预设工作时间段和所述第一时间点所确定的;所述获取所述第一时间点的第一集合之后,所述方法还包括:
确定所述第一集合对应的第三数量;
所述根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理,包括:
根据所述坐席数量、所述剩余工作时长以及所述参考呼叫时长,确定所述剩余工作时长对应的最大呼叫数量,得到第四数量;
根据所述第三数量和所述第四数量,对所述数据对接状态进行更新处理;
在更新处理后的所述数据对接状态为所述非锁定状态的情况下,从所述第二子集合对应的候选呼叫对象中选取目标候选呼叫对象,将所述目标候选呼叫对象更为所述目标呼叫对象,并将所述第二子集合中所述目标呼叫对象的呼叫数据迁移至所述第一集合。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第三数量和所述第四数量,对所述数据对接状态进行更新处理,包括:
在所述第三数量小于所述第四数量,且所述数据对接状态为所述锁定状态的情况下,将所述数据对接状态更新为所述非锁定状态;
在所述第三数量大于等于所述第四数量,且所述数据对接状态为所述非锁定状态的情况下,将所述数据对接状态更新为所述锁定状态。
8.根据权利要求2所述的方法,其特征在于,所述获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据之前,所述方法还包括:
在多种预设话术模板中确定所述呼叫任务对应的目标话术模板;
所述根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,包括:
根据所述目标话术模板和所述呼叫数据,调用呼叫机器人向所述呼叫数据对应的所述目标呼叫对象发起呼叫。
9.根据权利要求8所述的方法,其特征在于,所述目标话术模板携带有话术变量;所述呼叫数据包括所述话术变量对应的变量值;所述根据所述目标话术模板和所述呼叫数据,调用呼叫机器人向所述呼叫数据对应的所述目标呼叫对象发起呼叫,包括:
获取所述变量值的最新数据;
根据预设过滤规则和所述变量值的最新数据,确定是否过滤掉所述呼叫数据;
若是,则将所述呼叫数据对应的所述目标呼叫对象变更为拦截对象;
若否,则根据所述目标话术模板和所述呼叫数据,调用呼叫机器人向所述目标呼叫对象发起呼叫。
10.根据权利要求4所述的方法,其特征在于,所述预设对象更新条件包括:
在第三时间点,根据所述呼叫任务的任务标识,获取第二候选集合;所述第三时间点位于所述第二时间点之后;所述第二候选集合包括多个所述候选呼叫对象的呼叫数据;
或者,
调用所述呼叫机器人发起的呼叫结束。
11.一种呼叫装置,其特征在于,所述装置包括:
第一获取单元,用于获取呼叫任务对应的第一候选集合中每个候选呼叫对象的呼叫数据;
第二获取单元,用于在检测到预设对象更新条件被满足的情况下,将当前时间点确定为第一时间点,获取所述第一时间点的第一集合;所述第一集合包括多个呼叫数据;所述第一集合中的呼叫数据为所述呼叫任务对应的多个呼叫对象中未满足所述呼叫任务的结束条件的目标呼叫对象的呼叫数据;
第一添加单元,用于根据所述第一候选集合与在所述第一时间点获取的集合容量更新参数,对所述第一集合进行呼叫数据添加处理;
呼叫单元,用于根据呼叫数据添加处理后的所述第一集合中每个呼叫数据,调用呼叫机器人发起呼叫,得到呼叫结果,并在所述呼叫结果满足所述呼叫任务的结束条件的情况下,将所述呼叫数据从所述第一集合中移出。
12.一种电子设备,其特征在于,所述设备包括:
处理器;以及,被配置为存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器执行如权利要求1-10任一项所述的呼叫方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现如权利要求1-10任一项所述的呼叫方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310466190.5A CN117499540A (zh) | 2023-04-26 | 2023-04-26 | 呼叫方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310466190.5A CN117499540A (zh) | 2023-04-26 | 2023-04-26 | 呼叫方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117499540A true CN117499540A (zh) | 2024-02-02 |
Family
ID=89678830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310466190.5A Pending CN117499540A (zh) | 2023-04-26 | 2023-04-26 | 呼叫方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117499540A (zh) |
-
2023
- 2023-04-26 CN CN202310466190.5A patent/CN117499540A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101427556B (zh) | 访问日程表服务器以辅助排定呼叫的启动 | |
CA2700798C (en) | Extended cascaded ringing | |
US7974398B2 (en) | Virtual personal assistant for handling calls in a communication system | |
CN108566498B (zh) | 一种基于移动互联网的手机号码安全隐私保护方法及平台 | |
CN114827361B (zh) | 外呼的处理方法及装置 | |
CN1894936B (zh) | 网络器件的后备 | |
CN112418794B (zh) | 一种业务流转的方法及装置 | |
WO2019024679A1 (zh) | 网络功能的升级方法及升级管理实体 | |
CN102208988B (zh) | 消息处理方法、系统及设备 | |
CN109814949B (zh) | 虚拟电话状态切换方法、装置、计算机设备和存储介质 | |
WO2023071999A1 (zh) | 一种用户匹配方法、装置、设备及存储介质 | |
CN117499540A (zh) | 呼叫方法、装置、电子设备及存储介质 | |
CN119155341A (zh) | 服务调用方法、装置、电子设备、存储介质及程序产品 | |
CN108282752B (zh) | 宽带集群系统中群组回呼的方法、系统、装置及存储介质 | |
CN116319963A (zh) | 服务的管理方法、系统、终端设备及存储介质 | |
CN108848279A (zh) | 通话处理方法、装置、设备及计算机可读存储介质 | |
CN112417349B (zh) | 一种编程装置、网络状态监控方法 | |
CN108052380B (zh) | 业务功能对接方法、装置、计算机设备及存储介质 | |
CN112667384A (zh) | 任务流的调度方法、装置、存储介质以及电子装置 | |
US20240372743A1 (en) | Mass-Notification System and Method | |
CN117956080A (zh) | 呼叫方法、装置、电子设备及存储介质 | |
CN111338705B (zh) | 一种数据处理的方法、装置和存储介质 | |
KR101625831B1 (ko) | 통화중 가입자로의 통신을 설정하기 위한 방법 및 장비들 | |
CN117714439A (zh) | 一种数据接入方法、系统及装置 | |
EP2475157A1 (en) | Method and apparatus for managing telephone services of a user communication device when a server providing those telephone services is unavailable |
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 |