CN111401388B - 数据挖掘方法、装置、服务器及可读存储介质 - Google Patents
数据挖掘方法、装置、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN111401388B CN111401388B CN201811526754.5A CN201811526754A CN111401388B CN 111401388 B CN111401388 B CN 111401388B CN 201811526754 A CN201811526754 A CN 201811526754A CN 111401388 B CN111401388 B CN 111401388B
- Authority
- CN
- China
- Prior art keywords
- frequent
- data
- dialogue
- sentence
- word
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据挖掘方法、装置、服务器及可读存储介质,通过获取目标对话数据并从目标对话数据中抽取问题数据,并对问题数据进行分词,得到由多个分词组成的分词结果,从而根据分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合,其中,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点。如此,本申请能够精准全面地挖掘建单轮对话中的知识点,大大提高知识点挖掘的效率和质量,以便更加有效地解决用户的问题,提高用户的满意度。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种数据挖掘方法、装置、服务器及可读存储介质。
背景技术
目前,随着智能终端的普及,各种提供生活便利服务的应用程序(Application,简称APP)也层出不穷,为用户的吃穿住行提供服务(例如出行服务、外卖服务等)。用户在使用这些服务的过程中,一般会选择客服***中的多轮对话、单轮对话(QA)和闲聊机器人等咨询待解决的问题。其中,单轮对话在解决用户问题、实现智能化服务方面发挥了巨大的作用,而知识点是单轮对话中最重要的一部分。如何精准全面地挖掘建单轮对话中的知识点,以便更加有效地解决用户的问题,提高用户的满意度,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例的目的在于提供一种数据挖掘方法、装置、服务器及可读存储介质,以精准全面地挖掘建单轮对话中的知识点,以便更加有效地解决用户的问题,提高用户的满意度。
根据本申请实施例的一个方面,提供一种电子设备,可以包括一个或多个存储介质和一个或多个与存储介质通信的处理器。一个或多个存储介质存储有处理器可执行的机器可读指令。当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令,以执行数据挖掘方法。
根据本申请实施例的另一方面,提供一种数据挖掘方法,应用于服务器,所述方法可以包括:
获取目标对话数据并从所述目标对话数据中抽取问题数据;
对所述问题数据进行分词,得到由多个分词组成的分词结果;
根据所述分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合,其中,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点。
在一种可能的实施方式中,所述获取目标对话数据的步骤,包括:
从历史数据库中获取各个对话场景中的人机历史对话;
从每个对话场景的人机历史对话中获取对话请求方的历史对话作为所述目标对话数据。
在一种可能的实施方式中,所述从所述目标对话数据中抽取问题数据的步骤,包括:
针对所述目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与所述预设关键词表中的任意一个关键词匹配,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
在一种可能的实施方式中,所述从所述目标对话数据中抽取问题数据的步骤,包括:
针对所述目标对话数据中的每条对话语句,判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
在一种可能的实施方式中,所述从所述目标对话数据中抽取问题数据的步骤,包括:
针对所述目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与所述预设关键词表中的任意一个关键词匹配,则判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
在一种可能的实施方式中,所述对所述问题数据进行分词,得到由多个分词组成的分词结果的步骤,包括:
根据预先配置的场景词库表对所述问题数据进行分词,得到由多个分词组成的分词结果,其中,所述场景词库表包括多个与所述问题数据对应的目标服务相关的多个专用场景词;或者
根据预先训练的场景词发现模型对所述问题数据进行分词,得到由多个分词组成的分词结果。
在一种可能的实施方式中,所述场景词发现模型通过以下方式训练得到:
配置条件随机场算法CRF模型;
以各个对话场景的历史对话数据为模型输入,以各个对话场景的历史对话数据中的多个专用场景词为模型输出,迭代训练所述CRF模型,得到所述场景词发现模型。
在一种可能的实施方式中,所述根据所述分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合的步骤,包括:
统计所述分词结果中每个分词的支持度,所述支持度表示该分词在所述分词结果中出现的次数;
将每个分词按照支持度降序顺序依次***到一棵以NULL为根结点的树中,构建频繁模式树,其中,所述频繁模式树包括NULL根节点及分支节点,所述NULL根节点为无效值,所述分支节点对应一个频繁项及其支持度;
从构建的频繁模式树中挖掘频繁项集合。
在一种可能的实施方式中,所述从构建的频繁模式树中挖掘频繁项集合的步骤,包括:
针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树,其中,所述条件模式基为以该频繁项为后缀项并与该后缀项连接的多条前缀路径的路径集合;
基于每个构建的条件频繁模式树更新所述频繁模式树,并基于更新后的频繁模式树继续执行针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树的步骤,直到构造的条件频繁模式树为空或者只包含一条路径时,输出该条件频繁模式树对应的频繁项,以得到频繁项集合;
其中,当所述构造的条件频繁模式树为空时,将该条件频繁模式树的前缀路径确定为频繁项,当所述构造的条件频繁模式树只包含一条路径时,将所有组合路径与该条件频繁模式树的前缀路径连接作为频繁项。
在一种可能的实施方式中,所述基于每个构建的条件频繁模式树更新所述频繁模式树的步骤之后,所述方法还可以包括:
滤除所述频繁模式树中支持度低于预设支持度的频繁项。
在一种可能的实施方式中,所述根据所述分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合的步骤之后,所述方法还可以包括:
将所述频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合;
其中,所述将所述频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合的步骤,包括:
生成每个频繁项相关的问题集;
计算每个频繁项相关的问题集的句向量;
根据计算得到的每个频繁项相关的问题集的句向量,计算任意两个频繁项相关的问题集的句向量之间的余弦距离,并将所述余弦距离作为所述任意两个频繁项相关的问题集的句向量之间的相似度;
判断所述相似度是否大于预设相似度,若所述相似度不大于预设相似度,则将相应的两个频繁项中的任意一个频繁项删除。
在一种可能的实施方式中,所述计算每个频繁项相关的问题集的句向量的步骤,包括:
针对每个频繁项相关的问题集,将该频繁项相关的问题集中每个问题语句分别进行分词处理,得到多个分词;
将每个分词输入到预先训练的词向量模型fasttext模型中,得到每个分词的分词向量;
根据每个分词的分词向量得到该频繁项相关的问题集的句向量。
在一种可能的实施方式中,所述将所述频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合的步骤之后,所述方法还可以包括:
获取并存储每个频繁项的问题集中各个问题的问题解决信息;
在接收到服务请求方终端发送的预设问题时,将该预设问题与每个频繁项的问题集中各个问题进行匹配,并将与该预设问题匹配的问题的问题解决信息发送给所述服务请求方终端。
根据本申请实施例的另一方面,提供一种数据挖掘装置,应用于服务器,所述装置包括:
第一获取模块,用于获取目标对话数据并从所述目标对话数据中抽取问题数据;
分词模块,用于对所述问题数据进行分词,得到由多个分词组成的分词结果;
挖掘模块,用于根据所述分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合,其中,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点。
根据本申请实施例的另一方面,提供一种可读存储介质,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行上述的数据挖掘方法的步骤。
基于上述任一方面,本申请实施例通过获取目标对话数据并从目标对话数据中抽取问题数据,并对问题数据进行分词,得到由多个分词组成的分词结果,从而根据分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合,其中,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点。如此,本申请能够精准全面地挖掘建单轮对话中的知识点,大大提高知识点挖掘的效率和质量,以便更加有效地解决用户的问题,提高用户的满意度。
为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的数据挖掘***的交互示意框图;
图2示出了本申请实施例所提供的可以实现图1的服务器、服务请求方终端、服务提供方终端的电子设备的示例性硬件和软件组件的示意图;
图3示出了本申请实施例所提供的数据挖掘方法的一种流程示意图;
图4示出了本申请实施例所提供的数据挖掘方法的另一种流程示意图;
图5示出了本申请实施例所提供的句向量计算方法的流程示意图;
图6示出了本申请实施例所提供的数据挖掘方法的另一种流程示意图;
图7示出了本申请实施例所提供的数据挖掘装置的一种功能模块框图;
图8示出了本申请实施例所提供的数据挖掘装置的另一种功能模块框图;
图9示出了本申请实施例所提供的数据挖掘装置的另一种功能模块框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“网约车场景”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕“网约车场景”进行描述,但是应该理解,这仅是一个示例性实施例。本申请可以应用于任何其他交通运输类型。例如,本申请可以应用于不同的运输***环境,包括陆地,海洋,或航空等,或其任意组合。运输***的交通工具可以包括出租车、私家车、顺风车、公共汽车、火车、子弹头列车、高速铁路、地铁、船只、飞机、宇宙飞船、热气球、或无人驾驶车辆等,或其任意组合。本申请还可以包括用于网约车打车的任何服务***,例如,用于发送和/或接收快递的***、用于买卖双方交易的服务***。本申请的***或方法的应用可以包括网页、浏览器的插件、客户端终端、定制***、内部分析***、或人工智能机器人等,或其任意组合。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
本申请中的术语“乘客”、“请求方”、“服务人员”、“服务请求方”和“客户”可互换使用,以指代可以请求或订购服务的个人、实体或工具。本申请中的术语“司机”、“提供方”、“服务提供方”和“供应商”可互换使用,以指代可以提供服务的个人、实体或工具。本申请中的术语“用户”可以指代请求服务、订购服务、提供服务或促成服务的提供的个人、实体或工具。例如,用户可以是乘客、驾驶员、操作员等,或其任意组合。在本申请中,“乘客”和“乘客终端”可以互换使用,“驾驶员”和“驾驶员终端”可以互换使用。
根据前述背景技术获知的技术问题,目前很多已有的知识点表意并不单一,以某个知识点为:“如何更改密码”为例,“如何更改密码”并不是一个表意单一的知识点。例如,在一些场景中,很多用户会咨询“如何修改登录密码”和“如何修改提现密码”的问题,然而这两种密码的修改方式并不相同,映射到同一个知识点并不合适。因此,针对已有的表意不清的知识点,如何对相关场景的历史对话进行分析和挖掘,得到多个表达含义单一的知识点,对于每个表意单一的知识点,配置相应的回答或者话术,从而提高单轮对话回答的准确性,进而提高用户满意度、智能解决率以及智能服务占比,是本领域的一大难题。
经本申请发明人研究发现,目前知识点挖掘的工作主要是由运营人员手工完成的。然而,在手工挖掘知识点的过程中,由于一般都是由人阅读某个知识点相关的历史对话数据,对用户的问题进行总结归纳,形成多个不同的知识点,这些知识点有可能是之前已经存在的,也可能是之前没有的。但是人工挖掘知识点存在很多问题:首先,不同的人对用户的同一个问题的理解是有差异的,因此在人工挖掘知识点的过程中,无法准确地对用户问题的总结归纳,导致知识点拆分的质量低下,挖掘出来的知识点仍然是表意不清;其次,手工挖掘知识点耗费大量的人力资源,效率十分低下。
为了解决这一问题,目前另一种做法是尝试使用k-means聚类的方法对相关场景下用户的问题进行聚类。例如,以相关场景的历史对话数据作为输入,基于深度学习模型训练得到用户问题的嵌入式表示,最后使用k-means算法进行聚类。采用上述方案虽然可以节省大量的人力资源,提高工作效率。但是,对于给定的场景,相关的历史对话数据中用户的不同问题之间语义非常相近,导致不同问题的嵌入式表示之间的可区分性很差,因此k-means聚类的方法效果并不理想,甚至不如人工挖掘知识点的效果。
基于上述技术问题的发现,本申请实施例提供一种数据挖掘方法、装置、服务器及可读存储介质,根据用户从下发的服务推荐菜单中选择的目标服务项目对用户的历史服务记录数据进行分析,并根据分析结果确定数据挖掘路径,接着根据确定的数据挖掘路径对所述服务获取请求进行分流处理,从而根据不同用户的历史服务记录数据实现服务获取请求的智能分流,使用户更快找到解决自身问题的通道,提升用户体验。
图1是本申请一种可替代实施例提供的数据挖掘***100的架构示意图。例如,数据挖掘***100可以是用于诸如出租车服务、代驾服务、快车服务、拼车服务、公共汽车服务、驾驶员租赁服务、或班车服务之类的运输服务、或其上述任意服务时间的组合服务所依赖的在线运输服务平台。数据挖掘***100可以包括服务器110、网络120、服务请求方终端130、服务提供方终端140和数据库150,服务器110中可以包括执行指令操作的处理器。图1所示的数据挖掘***100仅为一种可行的示例,在其它可行的实施例中,该数据挖掘***100也可以仅包括图1所示组成部分的其中一部分或者还可以包括其它的组成部分。
在一些实施例中,服务器110可以是单个服务器,也可以是一个服务器组。服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式***)。在一些实施例中,服务器110相对于终端,可以是本地的、也可以是远程的。例如,服务器110可以经由网络120访问存储在服务请求方终端130、服务提供方终端140以及数据库150、或其任意组合中的信息。作为另一示例,服务器110可以直接连接到服务请求方终端130、服务提供方终端140和数据库150中的至少一个,以访问其中存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现;仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(community cloud)、分布式云、跨云(inter-cloud)、多云(multi-cloud)等,或者它们的任意组合。在一些实施例中,服务器110可以在具有本申请中图2所示的一个或多个组件的电子设备200上实现。
在一些实施例中,服务器110可以包括处理器。处理器可以处理与服务请求有关的信息和/或数据,以执行本申请中描述的一个或多个功能。例如,在快车服务中,处理器可以基于从服务请求方终端130获得的服务请求来确定目标车辆。处理器可以包括一个或多个处理核(例如,单核处理器(S)或多核处理器(S))。仅作为举例,处理器可以包括中央处理单元(Central Processing Unit,CPU)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、专用指令集处理器(Application Specific Instruction-setProcessor,ASIP)、图形处理单元(Graphics Processing Unit,GPU)、物理处理单元(Physics Processing Unit,PPU)、数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、可编程逻辑器件(Programmable Logic Device,PLD)、控制器、微控制器单元、简化指令集计算机(ReducedInstruction Set Computing,RISC)、或微处理器等,或其任意组合。
网络120可以用于信息和/或数据的交换。在一些实施例中,数据挖掘***100中的一个或多个组件(例如,服务器110,服务请求方终端130,服务提供方终端140和数据库150)可以向其他组件发送信息和/或数据。例如,服务器110可以经由网络120从服务请求方终端130获取服务请求。在一些实施例中,网络120可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络130可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched TelephoneNetwork,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换节点,数据挖掘***100的一个或多个组件可以通过该接入点连接到网络120以交换数据和/或信息。
在一些实施例中,服务请求方终端130的用户可以是除服务实际需求者之外的其他人。例如,服务请求方终端130的用户A可以使用服务请求方终端130来为服务实际需求者B发起服务请求(比如,用户A可以为自己的朋友B叫车),或者从服务器110接收服务信息或指令等。在一些实施例中,服务提供方终端140的用户可以是服务实际提供者,也可以是除服务实际提供者之外的其他人。例如,服务提供方终端140的用户C可以使用服务提供方终端140接收由服务实际提供者D提供服务的服务请求(比如用户C可以为自己雇用的司机D接单),和/或来自服务器110的信息或指令。在一些实施例中,“服务请求方”和“服务请求方终端”可以互换使用,“服务提供方”和“服务提供方终端”可以互换使用。
在一些实施例中,服务请求方终端130可以包括移动设备、平板计算机、膝上型计算机、或机动车辆中的内置设备等,或其任意组合。在一些实施例中,移动设备可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、或增强现实设备等,或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器设备的控制设备、智能监控设备、智能电视、智能摄像机、或对讲机等,或其任意组合。在一些实施例中,可穿戴设备可包括智能手环、智能鞋带、智能玻璃、智能头盔、智能手表、智能服装、智能背包、智能配件等、或其任何组合。在一些实施例中,智能移动设备可以包括智能手机、个人数字助理(PersonalDigital Assistant,PDA)、游戏设备、导航设备、或销售点(point of sale,POS)设备等,或其任意组合。在一些实施例中,虚拟现实设备和/或增强现实设备可以包括虚拟现实头盔、虚拟现实玻璃、虚拟现实贴片、增强现实头盔、增强现实玻璃、或增强现实贴片等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括各种虚拟现实产品等。在一些实施例中,机动车辆中的内置设备可以包括车载计算机、车载电视等。
数据库150可以存储数据和/或指令。在一些实施例中,数据库150可以存储从服务请求方终端130和/或服务提供方终端140获得的数据。在一些实施例中,数据库150可以存储在本申请中描述的示例性方法的数据和/或指令。在一些实施例中,数据库150可以包括大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(Read-Only Memory,ROM)等,或其任意组合。作为举例,大容量存储器可以包括磁盘、光盘、固态驱动器等;可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等;易失性读写存储器可以包括随机存取存储器(Random Access Memory,RAM);RAM可以包括动态RAM(Dynamic RandomAccess Memory,DRAM),双倍数据速率同步动态RAM(Double Date-Rate Synchronous RAM,DDR SDRAM);静态RAM(Static Random-Access Memory,SRAM),晶闸管RAM(Thyristor-Based Random Access Memory,T-RAM)和零电容器RAM(Zero-RAM)等。作为举例,ROM可以包括掩模ROM(Mask Read-Only Memory,MROM)、可编程ROM(Programmable Read-OnlyMemory,PROM)、可擦除可编程ROM(Programmable Erasable Read-only Memory,PEROM)、电可擦除可编程ROM(Electrically Erasable Programmable read only memory,EEPROM)、光盘ROM(CD-ROM)、以及数字通用磁盘ROM等。在一些实施例中,数据库150可以在云平台上实现。仅作为示例,云平台可以包括私有云、公有云、混合云、社区云、分布式云、跨云、多云或者其它类似的等,或其任意组合。
在一些实施例中,数据库150可以连接到网络120以与数据挖掘***100(例如,服务器110,服务请求方终端130,服务提供方终端140等)中的一个或多个组件通信。数据挖掘***100中的一个或多个组件可以经由网络120访问存储在数据库150中的数据或指令。在一些实施例中,数据库150可以直接连接到数据挖掘***100中的一个或多个组件(例如,服务器110,服务请求方终端130,服务提供方终端140等);或者,在一些实施例中,数据库150也可以是服务器110的一部分。
在一些实施例中,数据挖掘***100中的一个或多个组件(例如,服务器110,服务请求方终端130,服务提供方终端140等)可以具有访问数据库150的权限。在一些实施例中,当满足一定条件时,数据挖掘***100中的一个或多个组件可以读取和/或修改与服务请求方、服务提供方、或公众、或其任意组合有关的信息。例如,服务器110可以在接收服务请求之后读取和/或修改一个或多个用户的信息。
图2示出了本申请一些实施例提供的可以实现本申请思想的服务器110、服务请求方终端130、服务提供方终端140的电子设备200的示例性硬件和软件组件的示意图。例如,处理器220可以用于电子设备200上,并且用于执行本申请中的功能。
电子设备200可以是通用计算机或特殊用途的计算机,两者都可以用于实现本申请的数据挖掘方法。本申请尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本申请描述的功能,以均衡处理负载。
例如,电子设备200可以包括连接到网络的网络端口210、用于执行程序指令的一个或多个处理器220、通信总线230、和不同形式的存储介质240,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,计算机平台还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请的方法。电子设备200还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(Input/Output,I/O)接口250。
为了便于说明,在电子设备200中仅描述了一个处理器。然而,应当注意,本申请中的电子设备200还可以包括多个处理器,因此本申请中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备200的处理器执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
图3示出了本申请一些实施例提供的数据挖掘方法的流程示意图,该数据挖掘方法可由图1中所示的服务器110执行。应当理解,在其它实施例中,本实施例的数据挖掘方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该数据挖掘方法的详细步骤介绍如下。
步骤S110,获取目标对话数据并从目标对话数据中抽取问题数据。
作为一种可能的实施方式,可以从历史数据库中获取各个对话场景中的人机历史对话,并从每个对话场景的人机历史对话中获取对话请求方的历史对话作为目标对话数据。例如,在每个对话场景(例如出行问题对话场景、外卖问题对话场景等)下,可以在每次对话请求方(例如乘客、司机)通过服务请求方终端130与服务器110进行单轮对话时,保存该对话请求方与服务器110的人机历史对话,并从人机历史对话中过滤掉***和客服的回复,只保留该对话请求方的历史对话作为目标对话数据。
如此,本实施例通过从人机历史对话中选择对话请求方的历史对话得到目标对话数据,而没有采用全部的人机历史对话,可以有效减少数据挖掘过程中的计算量。
此外,发明人在仔细研究发现,并不是对话请求方所有的历史对话都是有意义的问题语句,为了获得真正有意义的问题语句,本实施例还需要从目标对话数据中过滤掉无意义、无信息量的对话语句,下面结合几种示例对如何从目标对话数据中抽取问题数据进行详细说明。
例如,可以针对目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配,若该条对话语句与预设关键词表中的任意一个关键词匹配,则将该条对话语句确定为问题语句,并根据确定的问题语句得到问题数据。
本实施例中,可以选择各个对话场景涉及的问题的高频词语组成预设关键词表。例如,针对大多数对话请求方询问的问题,该问题对应的对话语句可能会包括“怎么”、“为什么”、“忘记了”“密码”“请问”“能不能”等高频词语。由此,如果匹配到某条对话语句中包括上述任一高频词语,则可以将该条对话语句确定为问题语句。
又例如,还可以针对目标对话数据中的每条对话语句,判断该条对话语句的语句长度是否在预设长度范围内,若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句,并根据确定的问题语句得到问题数据。
本实施例中,上述预设长度范围可以根据实际情况进行设计,例如,该预设长度范围可以限制为4-20个字符。也即,若对话语句小于4个字符,则认为该对话语句为无效语句,若该对话语句大于20个字符,一般可以认为该条语句表意已经非常清楚,可以不需要进行知识点挖掘。由此,如果某条对话语句的语句长度是否在预设长度范围内,则可以将该条对话语句确定为问题语句。
值得说明的是,在实际实施时,上述两种确定的问题语句的示例性实施方式可以择一使用,也可以同时使用。又例如,还可以将上述两种示例性的实施方式进行组合以确定问题语句。也即,针对目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配,若该条对话语句与预设关键词表中的任意一个关键词匹配,则判断该条对话语句的语句长度是否在预设长度范围内。若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句,最后根据确定的问题语句得到问题数据。通过预设关键词表和预设长度范围对目标对话数据中的每条对话语句进行判断,可以显著提高问题语句抽取的准确性。
步骤S120,对问题数据进行分词,得到由多个分词组成的分词结果。
本申请发明人在研究过程中还发现,在目前的一些问题语句中,存在大量的专用场景词汇。例如:大量用户可能会问“为什么我的服务分下降了”,在这类问题中,传统的分词方法可能分词后的结果是(服务,分,下降);但是显然,“服务分”是一个专用场景词,正确的分词结果应当是(服务分,下降)。也即,针对专用场景词“服务分”,在分词过程中,分词算法通常会把“服务分”分成两个词:“服务”和“分”。其原因在于,“服务分”是专用场景下的特有词汇,并不是一个通用的词汇。而在历史对话数据库中,存在大量此类专用场景词,如果这些专用场景词在分词过程中不能构成一个词,而是被拆分为多个词,将会直接影响后续知识点的挖掘效果,进而影响知识点归类分析。
基于上述技术问题的发现,本申请发明人经过仔细研究后提出下述方案以解决上述问题,下面结合两种示例性的实施方式进行说明。
实施方式一:可以根据预先配置的场景词库表对问题数据进行分词,得到由多个分词组成的分词结果,场景词库表包括多个与问题数据对应的目标服务相关的多个专用场景词。
实施方式二:根据预先训练的场景词发现模型对问题数据进行分词,得到由多个分词组成的分词结果。其中,场景词发现模型通过以下方式训练得到:
首先,配置条件随机场算法CRF(Conditional Random Field algorithm)模型,接着,以各个对话场景的历史对话数据为模型输入,以各个对话场景的历史对话数据中的多个专用场景词为模型输出,迭代训练CRF模型,得到场景词发现模型。
如此,基于大量的历史对话数据离线训练条件随机场算法CRF模型,生成各个对话场景特有的场景词库表,然后参考这个场景词库表进行中文分词,可以有效避免这些专用场景词在分词过程中被拆分后影响后续知识点的挖掘效果。
步骤S130,根据分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合。
作为一种可能的实施方式,本实施例首先统计分词结果中每个分词的支持度,其中,支持度表示该分词在分词结果中出现的次数。
接着,将每个分词按照支持度降序顺序依次***到一棵以NULL为根结点的树中,构建频繁模式树,其中,频繁模式树包括NULL根节点及分支节点,NULL根节点为无效值,分支节点对应一个频繁项及其支持度。最后,从构建的频繁模式树中挖掘频繁项集合。
可选地,从构建的频繁模式树中挖掘频繁项集合可以通过如下方式实现:
首先,针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树,其中,条件模式基为以该频繁项为后缀项并与该后缀项连接的多条前缀路径的路径集合。
接着,基于每个构建的条件频繁模式树更新频繁模式树,并基于更新后的频繁模式树继续执行针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树的步骤,直到构造的条件频繁模式树为空或者只包含一条路径时,输出该条件频繁模式树对应的频繁项,以得到频繁项集合。
其中,当构造的条件频繁模式树为空时,将该条件频繁模式树的前缀路径确定为频繁项,当构造的条件频繁模式树只包含一条路径时,将所有组合路径与该条件频繁模式树的前缀路径连接作为频繁项。
可选地,为了减少支持度过低的频繁项,本实施例还可以在每次基于每个构建的条件频繁模式树更新频繁模式树之前,滤除频繁模式树中支持度低于预设支持度的频繁项。
由此,本实施例提供的数据挖掘方法,通过获取目标对话数据并从目标对话数据中抽取问题数据,并对问题数据进行分词,得到由多个分词组成的分词结果,从而根据分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合,其中,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点。能够精准全面地挖掘建单轮对话中的知识点,大大提高知识点挖掘的效率和质量,以便更加有效地解决用户的问题,提高用户的满意度。
本申请发明人在研究过程中还发现,在上述基础上挖掘的频繁项集中还可能包括许多冗余的频繁项,这些冗余的频繁项可能表达的是与其它频繁项相同含义,这是由问题语句的模式决定的。例如,用户在咨询服务分下降的问题时,可能会出现如下两种提问方式:
提问方式A:我的服务分怎么下降了?其对应的频繁项为:(服务分,怎么,下降);
提问方式B:为什么我的服务下降了?其对应的频繁项为:(为什么,服务分,下降)。
不难看出,提问方式A和提问方式B虽然提问方式不同,但是表达的是同一个意思,此时对应的频繁项只需保留一个即可,不需要保留两个,否则会产生冗余的频繁项,降低后续的问题识别效率。
为了解决上述问题,请进一步参阅图4,在该步骤S130之后,本实施例提供的数据挖掘方法还可以包括如下步骤:
步骤S140,将频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合。
作为一种可能的实施方式,首先,生成每个频繁项相关的问题集。例如图5所示的应用场景中,频繁项(B,D,C)相关的问题集可以包括问题1、问题2、问题3、......、问题N。
接着,计算每个频繁项相关的问题集的句向量。可选地,可以针对每个频繁项相关的问题集,将该频繁项相关的问题集中每个问题语句分别进行分词处理,得到多个分词,然后将每个分词输入到预先训练的词向量模型fasttext模型中,得到每个分词的分词向量,并根据每个分词的分词向量得到该频繁项相关的问题集的句向量。例如图5所示的应用场景中,频繁项(B,D,C)相关的问题集经过分词处理后可以得到“我”、“的”、“服务分”、......、“了”,然后将这些分词“我”、“的”、“服务分”、......、“了”输入到预先训练的词向量模型fasttext模型中,可以得到“我”、“的”、“服务分”、......、“了”各自的分词向量,并将“我”、“的”、“服务分”、......、“了”各自的分词向量进行相加,即可得到该频繁项相关的问题集的句向量。
发明那种研究过程中还发现,对于语义相近的分词的分词向量之间距离较近,而不同语义的分词的分词向量之间距离较远。基于此,接下来可以根据计算得到的每个频繁项相关的问题集的句向量,计算任意两个频繁项相关的问题集的句向量之间的余弦距离,并将余弦距离作为任意两个频繁项相关的问题集的句向量之间的相似度。在此基础上判断相似度是否大于预设相似度,若相似度不大于预设相似度,则将相应的两个频繁项中的任意一个频繁项删除。反之,若相似度大于预设相似度,则将相应的两个频繁项均予以保留。
由此,本实施例通过将频繁项集合中相同含义的频繁项进行合并,从而减少冗余的频繁项,提高后续的问题识别效率。
在上述基础上,请进一步参阅图6,在该步骤S140之后,本实施例提供的数据挖掘方法还可以包括以下步骤:
步骤S150,获取并存储每个频繁项的问题集中各个问题的问题解决信息。
步骤S160,在接收到服务请求方终端130发送的预设问题时,将该预设问题与每个频繁项的问题集中各个问题进行匹配,并将与该预设问题匹配的问题的问题解决信息发送给服务请求方终端130。
每个频繁项的问题集可以认为是一个潜在的知识点,因此可以针对每个潜在的知识点,配置相应的问题解决信息,例如问题回答信息或者话术信息,并将每个潜在的知识点与对应的问题解决信息进行关联存储。这样,以便在后续服务请求方终端130发送的预设问题时,将该预设问题与每个频繁项的问题集中各个问题进行匹配,并将与该预设问题匹配的问题的问题解决信息发送给服务请求方终端130。由此,能够提高提高单轮对话回答的准确性,进而提高用户满意度、智能解决率以及智能服务占比。
图7示出了本申请一些实施例提供的数据挖掘装置300的功能模块图,该数据挖掘装置300实现的功能可以对应上述方法执行的步骤。该数据挖掘装置300可以理解为上述服务器110,或服务器110的处理器,也可以理解为独立于上述服务器110或处理器之外的在服务器110控制下实现本申请功能的组件,如图7所示,该数据挖掘装置300可以包括第一获取模块310、分词模块320以及挖掘模块330,下面分别该数据挖掘装置300的各个功能模块的功能进行详细阐述。
第一获取模块310,可以用于获取目标对话数据并从目标对话数据中抽取问题数据。可以理解,该第一获取模块310可以用于执行上述步骤S110,关于该第一获取模块310的详细实现方式可以参照上述对步骤S110有关的内容。
分词模块320,可以用于对问题数据进行分词,得到由多个分词组成的分词结果。可以理解,该分词模块320可以用于执行上述步骤S120,关于该分词模块320的详细实现方式可以参照上述对步骤S120有关的内容。
挖掘模块330,可以用于根据分词结果构建对应的频繁模式树,并从构建的频繁模式树中挖掘频繁项集合,其中,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点。可以理解,该挖掘模块330可以用于执行上述步骤S130,关于该挖掘模块330的详细实现方式可以参照上述对步骤S130有关的内容。
在一种可能的实施方式中,第一获取模块310具体可以通过以下方式获取目标对话数据:
从历史数据库中获取各个对话场景中的人机历史对话;
从每个对话场景的人机历史对话中获取对话请求方的历史对话作为目标对话数据。
在一种可能的实施方式中,第一获取模块310具体可以通过以下方式抽取问题数据:
针对目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与预设关键词表中的任意一个关键词匹配,则将该条对话语句确定为问题语句;
根据确定的问题语句得到问题数据。
在一种可能的实施方式中,第一获取模块310具体可以通过以下方式抽取问题数据:
针对目标对话数据中的每条对话语句,判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到问题数据。
在一种可能的实施方式中,第一获取模块310具体可以通过以下方式抽取问题数据:
针对目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与预设关键词表中的任意一个关键词匹配,则判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到问题数据。
在一种可能的实施方式中,分词模块320具体可以通过以下方式得到由多个分词组成的分词结果:
根据预先配置的场景词库表对问题数据进行分词,得到由多个分词组成的分词结果,其中,场景词库表包括多个与问题数据对应的目标服务相关的多个专用场景词;或者
根据预先训练的场景词发现模型对问题数据进行分词,得到由多个分词组成的分词结果。
在一种可能的实施方式中,场景词发现模型通过以下方式训练得到:
配置条件随机场算法CRF模型;
以各个对话场景的历史对话数据为模型输入,以各个对话场景的历史对话数据中的多个专用场景词为模型输出,迭代训练CRF模型,得到场景词发现模型。
在一种可能的实施方式中,挖掘模块330具体可以通过以下方式挖掘频繁项集合:
统计分词结果中每个分词的支持度,支持度表示该分词在分词结果中出现的次数;
将每个分词按照支持度降序顺序依次***到一棵以NULL为根结点的树中,构建频繁模式树,其中,频繁模式树包括NULL根节点及分支节点,NULL根节点为无效值,分支节点对应一个频繁项及其支持度;
从构建的频繁模式树中挖掘频繁项集合。
在一种可能的实施方式中,挖掘模块330具体可以通过以下方式从构建的频繁模式树中挖掘频繁项集合:
针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树,其中,条件模式基为以该频繁项为后缀项并与该后缀项连接的多条前缀路径的路径集合;
基于每个构建的条件频繁模式树更新频繁模式树,并基于更新后的频繁模式树继续执行针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树的步骤,直到构造的条件频繁模式树为空或者只包含一条路径时,输出该条件频繁模式树对应的频繁项,以得到频繁项集合;
其中,当构造的条件频繁模式树为空时,将该条件频繁模式树的前缀路径确定为频繁项,当构造的条件频繁模式树只包含一条路径时,将所有组合路径与该条件频繁模式树的前缀路径连接作为频繁项。
在一种可能的实施方式中,挖掘模块330具体还用于滤除频繁模式树中支持度低于预设支持度的频繁项。
在一种可能的实施方式中,请进一步参阅图8,数据挖掘装置300还可以包括合并模块340,合并模块340,可以用于将频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合。可以理解,该合并模块340可以用于执行上述步骤S140,关于该合并模块340的详细实现方式可以参照上述对步骤S140有关的内容。
其中,合并模块340具体可以通过以下方式得到合并后的频繁项集合:
生成每个频繁项相关的问题集;
计算每个频繁项相关的问题集的句向量;
根据计算得到的每个频繁项相关的问题集的句向量,计算任意两个频繁项相关的问题集的句向量之间的余弦距离,并将余弦距离作为任意两个频繁项相关的问题集的句向量之间的相似度;
判断相似度是否大于预设相似度,若相似度不大于预设相似度,则将相应的两个频繁项中的任意一个频繁项删除。
在一种可能的实施方式中,合并模块340具体可以通过以下方式计算每个频繁项相关的问题集的句向量:
针对每个频繁项相关的问题集,将该频繁项相关的问题集中每个问题语句分别进行分词处理,得到多个分词;
将每个分词输入到预先训练的词向量模型fasttext模型中,得到每个分词的分词向量;
根据每个分词的分词向量得到该频繁项相关的问题集的句向量。
在一种可能的实施方式中,请进一步参阅图9,数据挖掘装置300还可以包括第二获取模块350以及问题匹配模块360。
第二获取模块350,可以用于获取并存储每个频繁项的问题集中各个问题的问题解决信息。可以理解,该第二获取模块350可以用于执行上述步骤S150,关于该第二获取模块350的详细实现方式可以参照上述对步骤S150有关的内容。
问题匹配模块360,可以用于在接收到服务请求方终端130发送的预设问题时,将该预设问题与每个频繁项的问题集中各个问题进行匹配,并将与该预设问题匹配的问题的问题解决信息发送给服务请求方终端130。可以理解,该问题匹配模块360可以用于执行上述步骤S160,关于该问题匹配模块360的详细实现方式可以参照上述对步骤S160有关的内容。
上述模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合线缆等,或其任意组合。无线连接可以包括通过LAN、WAN、蓝牙、ZigBee、或NFC等形式的连接,或其任意组合。两个或更多个模块可以组合为单个模块,并且任何一个模块可以分成两个或更多个单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (26)
1.一种数据挖掘方法,其特征在于,应用于服务器,所述方法包括:
获取目标对话数据并从所述目标对话数据中抽取问题数据;
对所述问题数据进行分词,得到由多个分词组成的分词结果;
统计所述分词结果中每个分词的支持度,将每个分词按照支持度降序顺序依次***到一棵以NULL为根结点的树中,构建频繁模式树,并从构建的频繁模式树中挖掘频繁项集合;所述频繁模式树包括NULL根节点及分支节点,所述NULL根节点为无效值,所述分支节点对应一个频繁项及其支持度,所述支持度表示该分词在所述分词结果中出现的次数,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点;
基于所述频繁项集合中任意两个频繁项相关的问题集的句向量之间的余弦距离,将所述频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合;
其中,所述对所述问题数据进行分词,得到由多个分词组成的分词结果的一种实施方式包括:根据预先配置的场景词库表对所述问题数据进行分词,得到由多个分词组成的分词结果,所述场景词库表包括多个与所述问题数据对应的目标服务相关的多个专用场景词。
2.根据权利要求1所述的数据挖掘方法,其特征在于,所述获取目标对话数据的步骤,包括:
从历史数据库中获取各个对话场景中的人机历史对话;
从每个对话场景的人机历史对话中获取对话请求方的历史对话作为所述目标对话数据。
3.根据权利要求1所述的数据挖掘方法,其特征在于,所述从所述目标对话数据中抽取问题数据的步骤,包括:
针对所述目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与所述预设关键词表中的任意一个关键词匹配,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
4.根据权利要求1所述的数据挖掘方法,其特征在于,所述从所述目标对话数据中抽取问题数据的步骤,包括:
针对所述目标对话数据中的每条对话语句,判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
5.根据权利要求1所述的数据挖掘方法,其特征在于,所述从所述目标对话数据中抽取问题数据的步骤,包括:
针对所述目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与所述预设关键词表中的任意一个关键词匹配,则判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
6.根据权利要求1所述的数据挖掘方法,其特征在于,所述对所述问题数据进行分词,得到由多个分词组成的分词结果的另一种实施方式包括:
根据预先训练的场景词发现模型对所述问题数据进行分词,得到由多个分词组成的分词结果。
7.根据权利要求6所述的数据挖掘方法,其特征在于,所述场景词发现模型通过以下方式训练得到:
配置条件随机场算法CRF模型;
以各个对话场景的历史对话数据为模型输入,以各个对话场景的历史对话数据中的多个专用场景词为模型输出,迭代训练所述CRF模型,得到所述场景词发现模型。
8.根据权利要求1所述的数据挖掘方法,其特征在于,所述从构建的频繁模式树中挖掘频繁项集合的步骤,包括:
针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树,其中,所述条件模式基为以该频繁项为后缀项并与该后缀项连接的多条前缀路径的路径集合;
基于每个构建的条件频繁模式树更新所述频繁模式树,并基于更新后的频繁模式树继续执行针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树的步骤,直到构造的条件频繁模式树为空或者只包含一条路径时,输出该条件频繁模式树对应的频繁项,以得到频繁项集合;
其中,当所述构造的条件频繁模式树为空时,将该条件频繁模式树的前缀路径确定为频繁项,当所述构造的条件频繁模式树只包含一条路径时,将所有组合路径与该条件频繁模式树的前缀路径连接作为频繁项。
9.根据权利要求8所述的数据挖掘方法,其特征在于,所述基于每个构建的条件频繁模式树更新所述频繁模式树的步骤之后,所述方法还包括:
滤除所述频繁模式树中支持度低于预设支持度的频繁项。
10.根据权利要求1所述的数据挖掘方法,其特征在于,
所述基于所述频繁项集合中任意两个频繁项相关的问题集的句向量之间的余弦距离,将所述频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合的步骤,包括:
生成每个频繁项相关的问题集;
计算每个频繁项相关的问题集的句向量;
根据计算得到的每个频繁项相关的问题集的句向量,计算任意两个频繁项相关的问题集的句向量之间的余弦距离,并将所述余弦距离作为所述任意两个频繁项相关的问题集的句向量之间的相似度;
判断所述相似度是否大于预设相似度,若所述相似度不大于预设相似度,则将相应的两个频繁项中的任意一个频繁项删除。
11.根据权利要求10所述的数据挖掘方法,其特征在于,所述计算每个频繁项相关的问题集的句向量的步骤,包括:
针对每个频繁项相关的问题集,将该频繁项相关的问题集中每个问题语句分别进行分词处理,得到多个分词;
将每个分词输入到预先训练的词向量模型fasttext模型中,得到每个分词的分词向量;
根据每个分词的分词向量得到该频繁项相关的问题集的句向量。
12.根据权利要求10所述的数据挖掘方法,其特征在于,所述将所述频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合的步骤之后,所述方法还包括:
获取并存储每个频繁项的问题集中各个问题的问题解决信息;
在接收到服务请求方终端发送的预设问题时,将该预设问题与每个频繁项的问题集中各个问题进行匹配,并将与该预设问题匹配的问题的问题解决信息发送给所述服务请求方终端。
13.一种数据挖掘装置,其特征在于,应用于服务器,所述装置包括:
第一获取模块,用于获取目标对话数据并从所述目标对话数据中抽取问题数据;
分词模块,用于对所述问题数据进行分词,得到由多个分词组成的分词结果;
挖掘模块,用于统计所述分词结果中每个分词的支持度,将每个分词按照支持度降序顺序依次***到一棵以NULL为根结点的树中,构建频繁模式树,并从构建的频繁模式树中挖掘频繁项集合;所述频繁模式树包括NULL根节点及分支节点,所述NULL根节点为无效值,所述分支节点对应一个频繁项及其支持度,所述支持度表示该分词在所述分词结果中出现的次数,该频繁项集合包括多个频繁项,每个频繁项对应一个数据挖掘的知识点;
合并模块,用于基于所述频繁项集合中任意两个频繁项相关的问题集的句向量之间的余弦距离,将所述频繁项集合中相同含义的频繁项进行合并,得到合并后的频繁项集合;
其中,分词模块,具体通过以下一种实施方式得到由多个分词组成的分词结果:根据预先配置的场景词库表对所述问题数据进行分词,得到由多个分词组成的分词结果,所述场景词库表包括多个与所述问题数据对应的目标服务相关的多个专用场景词。
14.根据权利要求13所述的数据挖掘装置,其特征在于,所述第一获取模块具体通过以下方式获取目标对话数据:
从历史数据库中获取各个对话场景中的人机历史对话;
从每个对话场景的人机历史对话中获取对话请求方的历史对话作为所述目标对话数据。
15.根据权利要求13所述的数据挖掘装置,其特征在于,所述第一获取模块具体通过以下方式抽取问题数据:
针对所述目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与所述预设关键词表中的任意一个关键词匹配,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
16.根据权利要求13所述的数据挖掘装置,其特征在于,所述第一获取模块具体通过以下方式抽取问题数据:
针对所述目标对话数据中的每条对话语句,判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
17.根据权利要求13所述的数据挖掘装置,其特征在于,所述第一获取模块具体通过以下方式抽取问题数据:
针对所述目标对话数据中的每条对话语句,将该条对话语句与预设关键词表中的每个关键词进行匹配;
若该条对话语句与所述预设关键词表中的任意一个关键词匹配,则判断该条对话语句的语句长度是否在预设长度范围内;
若该条对话语句的语句长度在预设长度范围内,则将该条对话语句确定为问题语句;
根据确定的问题语句得到所述问题数据。
18.根据权利要求13所述的数据挖掘装置,其特征在于,所述分词模块还具体通过以下另一种方式得到由多个分词组成的分词结果:
根据预先训练的场景词发现模型对所述问题数据进行分词,得到由多个分词组成的分词结果。
19.根据权利要求18所述的数据挖掘装置,其特征在于,所述场景词发现模型通过以下方式训练得到:
配置条件随机场算法CRF模型;
以各个对话场景的历史对话数据为模型输入,以各个对话场景的历史对话数据中的多个专用场景词为模型输出,迭代训练所述CRF模型,得到所述场景词发现模型。
20.根据权利要求13所述的数据挖掘装置,其特征在于,所述挖掘模块具体通过以下方式从构建的频繁模式树中挖掘频繁项集合:
针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树,其中,所述条件模式基为以该频繁项为后缀项并与该后缀项连接的多条前缀路径的路径集合;
基于每个构建的条件频繁模式树更新所述频繁模式树,并基于更新后的频繁模式树继续执行针对构建的频繁模式树中的每个频繁项,构造该频繁项的条件模式基,并基于构造的条件模式基构造该频繁项的条件频繁模式树的步骤,直到构造的条件频繁模式树为空或者只包含一条路径时,输出该条件频繁模式树对应的频繁项,以得到频繁项集合;
其中,当所述构造的条件频繁模式树为空时,将该条件频繁模式树的前缀路径确定为频繁项,当所述构造的条件频繁模式树只包含一条路径时,将所有组合路径与该条件频繁模式树的前缀路径连接作为频繁项。
21.根据权利要求20所述的数据挖掘装置,其特征在于,所述挖掘模块具体还用于滤除所述频繁模式树中支持度低于预设支持度的频繁项。
22.根据权利要求13所述的数据挖掘装置,其特征在于,所述合并模块具体通过以下方式得到合并后的频繁项集合:
生成每个频繁项相关的问题集;
计算每个频繁项相关的问题集的句向量;
根据计算得到的每个频繁项相关的问题集的句向量,计算任意两个频繁项相关的问题集的句向量之间的余弦距离,并将所述余弦距离作为所述任意两个频繁项相关的问题集的句向量之间的相似度;
判断所述相似度是否大于预设相似度,若所述相似度不大于预设相似度,则将相应的两个频繁项中的任意一个频繁项删除。
23.根据权利要求22所述的数据挖掘装置,其特征在于,所述合并模块具体通过以下方式计算每个频繁项相关的问题集的句向量:
针对每个频繁项相关的问题集,将该频繁项相关的问题集中每个问题语句分别进行分词处理,得到多个分词;
将每个分词输入到预先训练的词向量模型fasttext模型中,得到每个分词的分词向量;
根据每个分词的分词向量得到该频繁项相关的问题集的句向量。
24.根据权利要求22所述的数据挖掘装置,其特征在于,所述装置还包括:
第二获取模块,用于获取并存储每个频繁项的问题集中各个问题的问题解决信息;
问题匹配模块,用于在接收到服务请求方终端发送的预设问题时,将该预设问题与每个频繁项的问题集中各个问题进行匹配,并将与该预设问题匹配的问题的问题解决信息发送给所述服务请求方终端。
25.一种服务器,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当服务器运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1-12中任意一项所述的数据挖掘方法的步骤。
26.一种可读存储介质,其特征在于,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-12中任意一项所述的数据挖掘方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526754.5A CN111401388B (zh) | 2018-12-13 | 2018-12-13 | 数据挖掘方法、装置、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526754.5A CN111401388B (zh) | 2018-12-13 | 2018-12-13 | 数据挖掘方法、装置、服务器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111401388A CN111401388A (zh) | 2020-07-10 |
CN111401388B true CN111401388B (zh) | 2023-06-30 |
Family
ID=71428222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811526754.5A Active CN111401388B (zh) | 2018-12-13 | 2018-12-13 | 数据挖掘方法、装置、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111401388B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112164401B (zh) * | 2020-09-18 | 2022-03-18 | 广州小鹏汽车科技有限公司 | 语音交互方法、服务器和计算机可读存储介质 |
CN112364128B (zh) * | 2020-11-06 | 2024-05-24 | 北京乐学帮网络技术有限公司 | 一种信息处理的方法、装置、计算机设备和存储介质 |
CN113157766A (zh) * | 2021-03-12 | 2021-07-23 | Oppo广东移动通信有限公司 | 应用分析方法及装置、电子设备、计算机可读存储介质 |
CN114064589B (zh) * | 2021-11-17 | 2024-06-18 | 中国科学院深圳先进技术研究院 | 人工智能模型请求响应机制优化方法、***、终端及介质 |
CN114547255A (zh) * | 2022-03-10 | 2022-05-27 | 平安科技(深圳)有限公司 | 基于人工智能的会话提示方法、装置、存储介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480128A (zh) * | 2017-07-17 | 2017-12-15 | 广州特道信息科技有限公司 | 中文文本的分词方法及装置 |
CN107862070A (zh) * | 2017-11-22 | 2018-03-30 | 华南理工大学 | 基于文本聚类的线上课堂讨论短文本即时分组方法及*** |
CN108132947A (zh) * | 2016-12-01 | 2018-06-08 | 百度在线网络技术(北京)有限公司 | 实体挖掘***和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649345A (zh) * | 2015-10-30 | 2017-05-10 | 微软技术许可有限责任公司 | 用于新闻的自动会话创建器 |
-
2018
- 2018-12-13 CN CN201811526754.5A patent/CN111401388B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108132947A (zh) * | 2016-12-01 | 2018-06-08 | 百度在线网络技术(北京)有限公司 | 实体挖掘***和方法 |
CN107480128A (zh) * | 2017-07-17 | 2017-12-15 | 广州特道信息科技有限公司 | 中文文本的分词方法及装置 |
CN107862070A (zh) * | 2017-11-22 | 2018-03-30 | 华南理工大学 | 基于文本聚类的线上课堂讨论短文本即时分组方法及*** |
Non-Patent Citations (1)
Title |
---|
陈慧萍 等.基于FP-tree和支持度数组的最大频繁项集挖掘算法.***工程与电子技术.2005,第27卷(第9期),1631-1635. * |
Also Published As
Publication number | Publication date |
---|---|
CN111401388A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111401388B (zh) | 数据挖掘方法、装置、服务器及可读存储介质 | |
CN111858869B (zh) | 一种数据匹配方法、装置、电子设备和存储介质 | |
CN104102719B (zh) | 一种轨迹信息的推送方法及装置 | |
CN112487173B (zh) | 人机对话方法、设备和存储介质 | |
CN110009059B (zh) | 用于生成模型的方法和装置 | |
CN107194158A (zh) | 一种基于图像识别的疾病辅助诊断方法 | |
CN110555896B (zh) | 一种图像生成方法、装置以及存储介质 | |
CN111753551B (zh) | 基于词向量生成模型的信息生成方法和装置 | |
CN106295591A (zh) | 基于人脸图像的性别识别方法及装置 | |
CN113344089B (zh) | 模型训练方法、装置及电子设备 | |
CN110378346A (zh) | 建立文字识别模型的方法、装置、设备和计算机存储介质 | |
CN112037775B (zh) | 语音识别方法、装置、设备及存储介质 | |
CN113361363A (zh) | 人脸图像识别模型的训练方法、装置、设备及存储介质 | |
CN110046571B (zh) | 用于识别年龄的方法和装置 | |
CN113408570A (zh) | 一种基于模型蒸馏的图像类别识别方法、装置、存储介质及终端 | |
CN112214677B (zh) | 一种兴趣点推荐方法、装置、电子设备及存储介质 | |
CN112418302A (zh) | 一种任务预测方法及装置 | |
CN113766633A (zh) | 数据处理方法、装置、电子设备以及存储介质 | |
CN116363457B (zh) | 任务处理、图像分类、任务处理模型的数据处理方法 | |
CN115487508B (zh) | 游戏战队推荐模型的训练方法和相关装置 | |
CN112860995A (zh) | 交互方法、装置、客户端、服务器以及存储介质 | |
CN112989177A (zh) | 信息处理方法、装置、电子设备及计算机存储介质 | |
CN112633285B (zh) | 领域适应方法、装置、电子设备及存储介质 | |
CN118051782B (zh) | 一种模型训练的方法、业务处理的方法以及相关装置 | |
CN111326172A (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 |