CN117370628A - 数据分类方法、装置、存储介质及计算机设备 - Google Patents
数据分类方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN117370628A CN117370628A CN202311297251.6A CN202311297251A CN117370628A CN 117370628 A CN117370628 A CN 117370628A CN 202311297251 A CN202311297251 A CN 202311297251A CN 117370628 A CN117370628 A CN 117370628A
- Authority
- CN
- China
- Prior art keywords
- classification
- service
- target
- data
- dimension
- 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
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000010586 diagram Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 27
- 238000001914 filtration Methods 0.000 claims description 16
- 238000012216 screening Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 24
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 238000013145 classification model Methods 0.000 description 6
- 238000011010 flushing procedure Methods 0.000 description 6
- 238000007405 data analysis Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 241000508269 Psidium Species 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开一种数据分类方法,包括:获取待分类的目标数据和目标分类指示信息,目标分类指示信息指示目标数据的目标分类维度;确定目标分类维度的目标分类服务;调用总服务确定目标分类服务的第一调用路径,第一调用路径指示目标分类服务依赖的前序分类服务;调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果;由总服务接收目标分类服务返回的目标分类结果。本申请应用于数据处理领域,能够对目标数据在不同的分类维度下基于该分类维度对应的分类服务进行数据分类,提高内容理解的多样性。
Description
技术领域
本申请涉及数据处理技术领域,更具体地,涉及一种数据分类方法、装置、存储介质及计算机设备。
背景技术
互联网已经成为用户获取信息的主要来源。与此同时,由于互联网用户群体的庞大,也吸引了大量的内容生产者在互联网平台创造内容,以获取用户关注及收藏等。结合互联网用户的内容消费需求,以业务目标为导向,内容推荐产品应运而生。
内容理解技术贯穿整个推荐系统,从内容库、到召回、再到排序和画像,源源不断地提升系统的推荐精度。内容理解技术能够对各种接入内容做业务级内容多维基础理解,同时进行外部标签与自有标签体系对齐,完成应用级内容打标等任务。
目前,现有技术会针对业务需要对接入的数据源进行内容理解。例如,对接入数据做基础理解,完成内容打标,也即,对内容进行分类后打标签。然而,这种方式下的内容理解仅具有单一的服务能力,无法进行多维度场景下的内容理解。
发明内容
本申请实施例提供一种数据分类方法、装置、存储介质以及计算机设备,以解决相关技术进行内容理解时存在无法进行多维度场景的内容理解的问题。
一方面,本申请实施例提供一种数据分类方法,该方法包括:获取待分类的目标数据以及目标分类指示信息,目标分类指示信息指示目标数据的目标分类维度;确定目标分类维度对应的目标分类服务;调用总服务确定目标分类服务对应的第一调用路径,其中,第一调用路径指示了目标分类服务依赖的前序分类服务;调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果;由总服务接收目标分类服务返回的目标分类结果。
另一方面,本申请实施例还提供一种数据分类装置,该装置包括:数据获取模块,用于获取待分类的目标数据以及目标分类指示信息,目标分类指示信息指示目标数据的目标分类维度;服务确定模块,用于确定目标分类维度对应的目标分类服务;服务调用模块,用于调用总服务确定目标分类服务对应的第一调用路径,其中,第一调用路径指示了目标分类服务依赖的前序分类服务;数据分类模块,用于调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果;结果返回模块,用于由总服务接收目标分类服务返回的目标分类结果。
可选地,总服务在服务关系图中确定目标分类服务对应的第一调用路径;数据分类装置还可以包括关系获取模块以及关系构建模块。关系获取模块,用于获取接入总服务的不同分类服务之间的依赖关系;关系构建模块,用于根据不同分类服务之间的依赖关系构建服务关系图,其中,服务关系图中的根节点为表示总服务的节点,服务关系图中根节点的子节点为表示分类服务的节点。
可选地,数据分类装置还可以包括请求接收模块、服务确定模块以及服务更新模块。新增请求模块,用于接收新增分类服务的接入请求;服务确定模块,用于根据新增分类服务对应的分类维度,在总服务已接入的分类服务中确定新增分类服务依赖的分类服务;服务更新模块,用于根据新增分类服务依赖的分类服务,将新增分类服务更新到服务关系图中。
可选地,数据分类装置还可以包括序列化模块以及数据存储模块。序列化模块,用于基于目标返回格式对目标分类结果进行序列化,得到序列化分类结果;数据存储模块,用于将序列化分类结果返回至总服务,以使总服务将序列化分类结果存储至目标存储源。
可选地,序列化模块可以具体用于:通过总服务基于目标存储格式,为目标分类结果创建对应的维度信息列表;维度信息列表包括至少一个消息字段名;基于至少一个消息字段名对目标分类结果进行序列化,得到序列化分类结果。
可选地,数据分类装置还可以包括分类请求模块、重分类模块以及结果更新模块。分类请求模块,用于接收针对已分类的参考数据的重分类请求;重分类模块,用于根据重分类请求确定的重分类服务对参考数据进行重分类,得到重分类结果;结果更新模块,用于将重分类结果更新到参考数据对应的参考分类结果。
可选地,重分类请求包括针对参考数据的第一分类维度,重分类模块可以具体用于:确定第一分类维度对应的重分类服务;调用总服务确定重分类服务对应的第二调用路径;调用总服务按照第二调用路径,将参考数据转发到重分类服务;由总服务接收重分类服务针对参考数据在第一分类维度下的重分类结果;结果更新模块可以具体用于将参考数据在第一分类维度下的重分类结果更新到参考数据对应的参考分类结果。
可选地,参考数据为基于数据过滤得到的,数据分类装置还可以包括指令接收模块和筛选模块。指令接收模块,用于接收数据过滤指令,数据过滤指令包括筛选条件;筛选模块,用于在已分类数据中获取满足筛选条件的已分类数据,作为参考数据。
可选地,数据分类装置还可以包括指令获取模块和删除模块。指令获取模块,用于获取结果删除指令,结果删除指令指示了待删除分类结果所属的第二分类维度;删除模块,用于响应于结果删除指令,将已分类数据对应的汇总分类结果中在第二分类维度下的分类结果进行删除。
另一方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,其中,在该计算机程序被处理器运行时执行上述的数据分类方法。
另一方面,本申请实施例还提供一种计算机设备,该计算机设备包括处理器以及存储器,存储器存储有计算机程序,该计算机程序被处理器调用时执行上述的数据分类方法。
另一方面,本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在存储介质中;计算机设备的处理器从存储介质读取该计算机程序,处理器执行该计算机程序,使得计算机设备执行上述数据分类方法中的步骤。
本申请实施例可以获取待分类的目标数据以及目标分类指示信息,其中,目标分类指示信息指示目标数据的目标分类维度,进而确定目标分类维度对应的目标分类服务,并调用总服务确定目标分类服务对应的第一调用路径,其中,第一调用路径指示了目标分类服务依赖的前序分类服务。接着可以调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果,并由总服务接收目标分类服务返回的目标分类结果。在获取待分类的目标数据后,可以根据目标分类维度确定出对应的目标分类服务,进而通过总服务经确定的目标分类服务对应的第一调用路径,向目标分类服务转发目标数据,使得目标分类服务可以在对应的目标分类维度下进行数据分类。
如此,可以对目标数据在不同的分类维度下基于该分类维度对应的分类服务进行数据分类,使得针对目标数据可以在多维度场景下进行内容理解,从而提高内容理解的多样性。此外,由于总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果,可以使目标分类服务复用该目标分类服务的前序分类服务的分类能力,直接利用该目标分类服务的前序分类服务针对目标数据的分类结果在目标分类维度下进行分类,而目标分类服务不需要重复在目标分类维度的上级分类维度下进行分类,由此可以提升在多分类维度下数据分类的效率和分类服务所对应计算资源的利用率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的一种系统架构图。
图2示出了本申请实施例提供的一种数据分类方法的框架图。
图3示出了本申请实施例提供的一种数据分类方法的流程示意图。
图4示出了本申请实施例提供的一种服务关系图。
图5示出了本申请实施例提供的一种分类服务的流程示意图。
图6示出了本申请实施例提供的另一种数据分类方法的流程示意图。
图7示出了本申请实施例提供的一种数据分类方法的流程图。
图8示出了本申请实施例提供的又一种数据分类方法的流程示意图。
图9是本申请实施例提供的一种数据分类装置的模块框图。
图10是本申请实施例提供的一种计算机设备的模块框图。
图11是本申请实施例提供的一种计算机可读存储介质的模块框图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性地,仅用于解释本申请,而不能理解为对本申请的限制。
在说明书、权利要求书和上述附图所描述的一些流程中,包含了按照特定顺序出现的多个步骤,但应该清楚了解,这些步骤可以不按照其在本文中出现的顺序来执行或并行执行,步骤序号仅仅是用于区分开各个不同的步骤,序号本身不代表任何的执行顺序。此外,本文中的“第一”和“第二”等描述,是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为了使本技术领域的人员更好地理解本申请的方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请的具体实施方式中,涉及到的目标数据、参考数据以及分类结果等相关数据,当运用到本申请实施例的具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规及标准,并且在法律法规及个人信息主体的授权范围内,开展后续数据使用及处理行为。
互联网平台已经成为用户获取资讯的主要场景。与此同时,由于用户群体的庞大,也吸引了大量的内容生产者在互联网平台创造内容。结合用户的内容消费需求,以业务目标为导向,推荐系统从基于属性召回、到协同和社交召回、再到深度模型召回进行了演进,最终形成了多种召回并列、多路模型共同作用的内容召回系统。
在推荐系统中内容理解贯穿整个推荐过程,从内容库、到召回、再到排序和画像,源源不断的提升系统的推荐精度,推荐系统由于接入了较多的数据源,为此,需要对不同数据源进而内容理解,便于下游推荐任务的执行。例如,针对文本进行的内容理解,业务中有大量的文本信息,包括图文标题和正文、视频标题、评论等数据,需要对这些文本信息进行归一化,抽取分类以及标签映射等。
然而,现有技术的内容理解仅具有单一的服务能力,针对复杂的网络环境,无法进行多维度场景的内容理解。例如,在对新闻媒体平台发布的新闻内容进行多元标签分类时,现有技术仅能基于已经设置好的层级标签进行分类,而无法满足对新层级标签的分类需求,为了解决上述问题,发明人经过研究,提出了本申请实施例提供的数据分类方法。下面先对本申请所涉及到的数据分类方法的系统的架构进行介绍。
请参阅图1,图1示出了一种数据分类系统的架构图。如图1所示的数据分类系统100可以包括服务器110和管理设备120,其中,服务器110用于对不同数据源中的数据进行数据分类(也即,内容理解)、分类结果存储以及数据重分类(也即,数据回刷)。管理端120用于面向用户,为用户提供数据分类的管理能力,包括指定数据存储格式以及对数据分类过程的调试、运维等。例如,用户可以在管理设备120提供的管理端的交互界面121上进行数据回刷以及数据的内容理解等操作。
其中,服务器110可以为独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云计算、云函数、云存储、云通信、网络服务、域名服务、中间件服务、安全服务、区块链、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。管理设备120可以包括智能手机、平板电脑、笔记本电脑和台式计算机等,但并不局限于此。管理设备和服务器可以通过有线或无线通信方式进行直接或间接地连接,在此不做限定。
可以理解,图1仅是本申请实施例提供的一种系统的架构图,本申请实施例描述的系统的架构是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。例如,图1中管理端的交互界面121仅仅示出了数据回刷和数据的内容理解功能,在实际场景中,管理端还可以为用户提供内容理解结果删除、更新内容服务(也即,分类服务)版本等功能,具有可以由开发人员根据业务需求进行设置,在此不做限定。
请参阅图2,图2示出一种数据分类方法的框架图。本申请提供的数据分类方法的处理流程可以抽象为如图2所示的整体框架。该数据分类方法的整体框架可以包括接入层、中间层、调用层以及存储层。各层中包括的每个处理过程都可视为一个算子。可选地,在实际开发中可以基于该整体框架来开发数据分类方法对应的系统或应用平台等,该整体框架可为流式框架,例如,Flink等,在此不做限定。
其中,接入层用于进行数据消费,也即从消息队列中获取队列中生产者发送的数据,该生产者是数据的提供方。在本申请实施例中,消息队列作为数据消费的数据源,可以包括Kafka、RabbitMQ、RocketMQ以及Pulsar等。中间层用于对接入层获取的数据进行预处理,便于后续算子的处理。该预处理可以包括数据分析以及数据去重。数据分析用于对来自不同数据源中数据的主要字段进行解析,以统一的数据结构进行存储。数据去重用于对获取的数据中的重复数据进行去重。
调用层用于对中间层输出的预处理后的数据进行数据分类,也即内容理解。调用层包括总服务和多个子服务,该子服务用于对数据进行分类,因此,该子服务又可以称为分类服务,总服务用于对接收的分类请求进行分发至各个子服务,并收集各个子服务返回的分类结果。各个子服务作为分类服务用于对数据进行分类,也即内容理解,得到分类结果,例如,为数据标记的分类标签,从数据中抽取的关键词,或者对数据的离散化表示等。存储层用于将调用层输出的分类结果存储至指定的存储源,包括Redis、Hbase、HDFS以及TDW等。例如,在Flink框架下,基于Sink对分类结果进行在HDFS上的持久化存储。
存储层之后还可以包括回刷层,该回刷层用于进行数据回刷。例如,通过离线Spark任务进行待回刷数据的批量调度,然后,批量写入存储。Spark任务的数据源可以为持久化存储的DOC数据。
如此,基于该整体框架来开发数据分类方法对应的系统或应用平台等,实现了将针对数据源进行的实时内容理解能力、内容理解结果的存储以及对离线数据进行的数据回刷统一在一个整体框架中。使得每当接入新的数据源,就能重复该整体框架进行内容理解及内容理解结果的存储,提高了对内容理解服务的扩展性。并且将内容理解及内容理解结果存储的流程整个在一起,使得对数据源的内容理解及内容理解结果的存储的流程简单化。同时也提高了整个处理过程的稳定性。
需要说明的是,图2仅是本申请实施例提供的一种框架示意图。本申请实施例描述的应用系统和开发框架仅是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定。例如,接入层还可以包括流量控制节点,用于控制数据消费的流量。本领域普通技术人员可知,随着系统架构的演变,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
请参阅图3,图3示出了本申请一个实施例提供的数据分类方法的流程示意图。在本实施例中,该数据分类方法可以由服务端执行,该服务端至少具有存储、计算和通信的功能。如图3所示,所述数据分类方法具体可以包括以下步骤:
步骤S110:获取待分类的目标数据以及目标分类指示信息,目标分类指示信息指示目标数据的目标分类维度。
其中,目标数据指的是待进行分类的数据,该数据可以来源于数据提供方的消息队列,也即目标队列。目标数据可以是二方数据,即包括搜索文本(Query)和基于搜索文本所搜索到的搜索结果(该搜索结果可以是文章、新闻、博客等)。可选地,不同的数据提供方可以将各自需要进行分类的数据存储至特定的消息队列,组成消息队列集合。
在针对目标数据的分类任务中,可以设定分类任务的分类维度,针对数据设定的分类维度可以是一个也可以是多个,在分类维度为多个的情况下,不同分类维度之间可以具有多元的维度关系,示例性地,该维度关系可以包括层级性的维度关系(即不同分类维度之间具有层级关系或者依赖关系,例如在分类维度B下的分类依赖在分类维度A下的分类结果,则分类维度B与分类维度A之间具有层级性的维度关系)和平行性的维度关系(即两个分类维度相互独立,不存在依赖关系)。
例如,一篇关于深度神经网络的文章,它在第一分类维度下的分类结果为“人工智能”,也在第二分类维度下的分类结果为“深度学习”,而“深度学习”标签是"人工智能"标签的子标签,第一分类维度与第二分类维度之间是有层级性的维度关系。一部电影,它的第三分类维度下所属的类别可以是“喜剧片”,在第四分类维度下所属的类别为“爱情片”,“爱情片”与“喜剧片”之间并没有依赖关系,所以,第三分类维度与第四分类维度之间是有平行性的维度关系。
在本申请中,为便于区分,将目标数据的分类维度称为目标分类维度,其中,目标分类维度可以是一个也可以是多个,例如,若目标分类维度为多个,可以包括维度1:第一级分类维度(第一级分类维度下的类别可以包括财经),维度2:第二级分类维度(该第二级分类维度下的类别可以是对财经进行细分的类别,例如财经-股票),维度3:第三级分类维度(该第三级分类维度下的类别可以是对股票进行细分的类别,例如财经-股票-A股),这三个维度之间的关系为: 即该三个分类维度之间具有层级性的维度关系。当然,在目标分类维度为多个的情况下,多个目标分类维度之间也可以是具有平行性的维度关系,或者,多个目标分类维度中,部分目标分类维度之间具有层级性的维度关系,部分目标分类维度之间具有平行性的维度关系。
其中,目标数据的形式不限,目标数据可以是文本数据、图像数据、音频数据等,在此不进行具体限定。其中,目标分类指示信息所指示的目标分类维度可以是预先设定的,也可是根据目标数据所来源的数据源(数据源例如所来源的应用、或者所来源的数据库等)确定的。具体的,可以预先设定来源于不同数据源的分类维度,并将目标数据所来源目标数据源对应的分类维度作为目标分类维度。值得一提的是,不同的目标数据对应的目标分类维度可以相同也可以不同,在此不进行具体限定。
作为一种实施方式,服务端可以从消息队列集合中的目标消息队列,获取目标数据流。进一步地,服务端可以对目标数据流进行数据预处理,得到待分类的目标数据。其中,该目标数据流的数据流量可以不大于流量阈值,该预处理可以至少包括数据解析和数据去重。
考虑到数据分类过程存在的资源受限和处理能力等因素,为此,可以根据数据分类所在的运行环境,预先设置流量阈值,该流量阈值用于指定从消息队列中获取数据流的最大限度。若从消息队列中获取的数据流的流量大于流量阈值,可以进行平滑处理,以保证获取的数据流的流量不大于流量阈值。例如,服务端可以基于Guava包的RateLimiter组件实现流量控制。
具体地,服务端可以设置一个全局的限流器RateLimiter以及流量阈值Q=70。服务端在平稳状态下,从目标消息队列获取目标数据流时,单位时间内获取的数据流(QueryPer Second,QPS)包含60个数据。若当前QPS出现一个突发的峰值100,则将峰值100中70个数据作为当前获取的目标数据流,并将超出流量阈值的30个数据平滑作为下一秒获取的数据流。如此,在下游资源受限或者短时间内无法提升处理性能的情况下,可以设置流量阈值限制获取的数据流的流量的限流机制,避免下游服务崩溃造成整体服务的不可用。
由于从消息队列中直接获取的数据流存在各种的数据格式,例如,JSON,XML以及Protobuf等。为了便于后续的数据处理,可以将获取的数据流中的数据解析成统一的数据格式的字段进行存储。此外,获取的数据流中还会存在重复的数据,例如,用户搜索行为(Query)的重复搜索内容,为此,也可以对数据流进行去重处理。
例如,服务端可以对获取的文章类型的文本内容进行数据解析,得到该文本数据的主要字段,包括文章标题、正文、发布时间、作者、统一资源定位(Uniform ResourceLocator,URL)等,在此不做限定。进一步地,对获取的主要字段进行格式化,例如,以Java的某个类的格式进行存储。
可选地,服务端可以对目标数据流进行本地去重或者缓存去重。例如,服务端可以在计算节点的中央处理器(Central Processing Unit,CPU)内进行本地去重,基于Guava包的CacheBuilder组件维护一个缓存(Cache),当同一时间该缓存的一个集合存储有多个相同的数据标识时,只返回一个数据标识。此外,服务端也可以在Redis缓存中进行去重。具体地,在将处理过的数据写入Redis后,每次来了新的数据,如果该新的数据在redis中已经存在,那么该数据不再往后流转。此时,需要为Redis设置过期时间作为去重的时间窗口。
步骤S120:确定目标分类维度对应的目标分类服务。
其中,目标分类服务是指针对目标数据进行的分类服务,该目标分类服务可以是由目标分类维度确定。在本申请中,针对各分类维度提供了用于在该分类维度下进行分类的分类服务,其中,一个分类维度对应一个分类服务。由此,可以基于存储的分类服务与分类维度之间的对应关系,确定与目标分类维度相对应的分类服务,作为目标分类服务。可以理解的是,若目标分类维度为多个,所确定的目标分类服务对应为多个。其中,一个分类维度对应的分类服务可以是通过针对该分类维度训练的数据分类模型(例如文本分类模型、图像分类模型、视频分类模型、音频分类模型)来对数据进行分类的,该数据分类模型可以是通过神经网络构建的,神经网络例如循环神经网络、卷积神经网络、全连接神经网络等,在此不进行具体限定。
在本申请实施例中,针对一个文本数据进行分类,可以存在不同维度对应的分类服务。例如,用户将文本内容按照指定格式传输过来,经过各种分类维度对应的分类服务,输出不同分类维度下的分类结果。
示例性地,文本数据可以进行三个维度的分类打标签,其中,三个维度之间可以具有层级关系。维度1(工学)是维度2(工学-计算机)的上一层级,维度2(工学-计算机)是维度3(工学-计算机-软件开发)的上一层级。每个维度有对应的分类结果,维度1对应标记工学的分类标签、维度2对应标记工学-计算机的分类标签、维度3对应标记工学-计算机-软件开发的分类标签。在一些实施例中,若获取目标分类维度为维度3,则可以确定出对应地目标分类服务,也即,标记工学-计算机-软件开发的分类标签的分类服务。
步骤S130:调用总服务确定目标分类服务对应的第一调用路径,其中,第一调用路径指示了目标分类服务依赖的前序分类服务。
本申请提出总服务-子服务的服务架构来进行数据的分类。其中,子服务是指具体的分类服务,该子服务具有内容理解能力,可以对数据进行内容理解,也即数据分类,得到对应的分类结果。总服务用于调用各个子服务,也即分类服务,并且收集各个子服务的分类结果。目标分类服务至少是总服务的下一级服务的再下一级服务。
由于不同的分类服务之间可能存在依赖关系,例如,针对文本数据的三种分类服务,分类服务1:标记工学的分类标签,分类服务2:标记工学-计算机的分类标签,分类服务3:标记工学-计算机-软件开发的分类标签。分类服务2依赖于分类服务1,也即,分类服务2是基于分类服务1的分类结果进行的。分类服务3依赖于分类服务2,也即,分类服务3是基于分类服务2的分类结果进行的。
所以可以获取接入总服务的不同分类服务之间的依赖关系,并根据不同分类服务之间的依赖关系构建服务关系图。该服务关系图中的根节点可以为表示总服务的节点,服务关系图中根节点的子节点可以为表示分类服务的节点,其中,该服务关系图为有向无环图(Directed Acyclic Graph,DAG)。请参阅图4,图4示出一种服务关系图。如图4所示,该服务关系图包括总服务和7个子服务,每个子服务即为一个分类服务,该分类服务用于对给定的新闻文本进行分类,并标记出新闻文本对应的分类标签。该服务关系图指示了不同分类服务之间的关系,若一分类服务(假设为分类服务A)依赖其他分类服务(假设为分类服务B)的分类结果,则在服务关系图中分类服务A所在的节点为分类服务B所在节点的下一级节点,即表明分类服务B是分类服务A依赖的前序分类服务。
在一些实施例中,可以预先构建分类维度目录,该分类维度目录指示了不同分类维度之间的关系(例如上文中的层级性的维度关系、平行性的维度关系),之后,根据各分类服务对应的分类维度和该分类维度目录,构建服务关系图,以此保证服务关系图中不同分类服务之间的关系与所对应的分类维度在分类维度目录中的关系一致。例如,若在分类维度目录中,分类维度P1是分类维度P2的上一级维度,对应的,在服务关系图中该分类维度P1对应的分类服务Q1为分类维度P2对应的分类服务Q2的上一级分类服务(即前序分类服务)。
作为一种实施方式,服务端可以基于总服务在服务关系图中确定目标分类服务对应的第一调用路径。其中,调用路径是指服务关系图中,从总服务所在节点到某个子服务所在节点的路径。例如,图4的服务关系图中,子服务8对应的分类服务是对文本数据进行分类,标记“教育-中学-体育”类型的分类标签。若将子服务8作为目标分类服务,则其对应的第一调用路径是总服务-子服务2-子服务6-子服务8。
示例性地,服务端基于传输协议接收到进行子服务8对应的分类服务的请求时,可以基于总服务确定出子服务8的调用路径:总服务-子服务2-子服务6-子服务8。其中,传输协议可以为远程过程调用协议(G-Remote Procedure Calls,GRPC)或者超文本传输协议(HyperText Transfer Protocol,HTTP)。进而,基于传输协议接收的新闻文本依次经过子服务8依赖的各个前序分类服务,最终传输至子服务8进行对应的分类服务。
考虑到在实际应用场景中,随着时间的变化可能会存在针对分类服务进行调整的需求,包括新增、删除及修改分类服务。在本申请的总服务-子服务的架构下,可以根据业务变动需要接入新的分类服务,或者删除已接入的分类服务,因业务变动需要新增分类服务时,可以通过为总服务增加子服务的方式来新增分类服务。
在一些实施例中,服务端可以接收新增分类服务的接入请求,并根据新增分类服务对应的分类维度,在总服务已接入的分类服务中确定新增分类服务依赖的分类服务。进一步地,服务端可以根据新增分类服务依赖的分类服务,将新增分类服务更新到服务关系图中。
如此,在多个维度场景下针对数据进行分类服务时,若需要对分类维度进行调整,则可以直接基于服务关系图中的各个分类服务间的依赖关系,对应调整分类服务,例如,如图4所示,在总服务基础上,增加医疗维度的分类服务作为新增子服务0。使得内容理解服务具有在多维度场景下灵活处理的能力,提高了内容理解服务的扩展性,避免重复开发带来的成本浪费。
步骤S140:调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果。
作为一种实施方式,服务端可以调用总服务按照第一调用路径,将目标数据依次经过第一调用路径上的目标分类服务的前序分类服务转发至目标分类服务。使得第一调用路径上总服务与目标分类服务之间的每个分类服务都能根据目标数据和该分类服务的前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,并将该分类服务针对目标数据的分类结果以及目标数据传输到第一调用路径上该分类服务的下一个分类服务,这样,对于目标分类服务来说,该目标分类服务利用目标分类服务在第一调用路径上的上一级分类服务(即前序分类服务)对目标数据的分类结果,在目标分类维度下对目标数据进行分类。
例如,请参阅图5,图5示出一种分类服务的流程示意图。如图5中所示的第一调用路径为总服务-子服务1-子服务3-子服务5。其中,总服务接收文本数据后可以将该文本数据传至子服务1,子服务1对文本数据进行分类打标签,得到标记有财经标签的分类结果,并将该标记有财经标签的分类结果以及文本数据传至子服务3,子服务3根据该标记有财经标签的分类结果和文本数据对文本数据进行分类打标签,得到标记有财经-股票标签的分类结果,并将该标记有财经-股票标签的分类结果和文本数据传至子服务5。
进一步地,子服务5根据标记有财经-股票标签的分类结果在目标分类维度(财经-股票-A股)下对文本数据进行分类打标签,得到标记有财经-股票-A股标签的分类结果,并将标记有财经-股票-A股标签的分类结果返回至总服务。进一步的,在第一调用路径上所涉及的除目标分类服务外的其他各分类服务还分别将对文本数据进行分类所得到的分类结果传输到总服务,例如在图5中,子服务1将标记有财经标签的分类结果传输到总服务,子服务3将标记有财经-股票标签的分类结果传输到总服务。
在本申请中,总服务按照目标分类服务的第一调用路径,将目标数据和第一调用路径上目标分类服务的前序分类服务针对目标数据的分类结果传输到目标分类服务,以使目标分类服务在目标分类服务的前序分类服务针对目标数据的分类结果的基础上,在目标分类维度上对目标数据进行分类,也就是说,在目标分类服务对目标数据进行分类的过程中,直接复用目标分类服务的前序分类服务提供的分类能力,不需要目标分类服务在目标分类维度的上级分类维度下进行分类,使目标分类服务依赖的前序分类服务被优先调用,而且不需要重复调用前序分类服务所提供的公共的分类能力,可以提升在多个分类维度下的分类效率。
特别是在针对目标数据的目标分类维度为多个,且多个目标分类维度中至少两个目标分类维度之间具有层级关系的情况下。举例来说,若针对目标数据的目标分类维度包括分类维度P1、分类维度P2、分类维度P3和分类维度P4,其中,分类维度P1是分类维度P2的上一级分类维度,分类维度P2是分类维度P3的上一级分类维度,分类维度P3是分类维度P4的上一级分类维度,按照本申请的方案,总服务可以按照对应的第一调用路径,将目标数据发送到分类维度P1对应的分类服务Q1进行分类,之后分类服务Q1将目标数据以及在分类维度P1下的分类结果发送到分类维度P2对应的分类服务Q2进行分类;
其后,分类服务Q2将目标数据以及目标数据在分类维度P2下的分类结果发送到分类维度P3对应的分类服务Q3进行分类;再之后,分类服务Q3将目标数据以及目标数据在分类维度P3下的分类结果发送到分类维度P4对应的分类服务Q4进行分类。这样,对于分类服务Q4来说,复用了分类服务Q3提供的分类能力,直接利用分类服务Q3所获得的分类结果在分类维度P4下进行分类,而不需要重复对目标数据在分类维度P3下进行分类,也不需要重复对目标数据在分类维度P2、以及分类维度P1下进行分类,不需要重复调用公共的分类服务,可以提升数据分类的效率和计算资源的利用率。
例如,图4中的总服务可以调用对文本数据进行文本分类(也即,基础服务),分别得到教育类型的文本数据和财经类型的文本数据。进而,再通过总服务调用子服务2对教育类型的文本数据进行标记教育类型的分类标签,通过总服务调用子服务1对财经类型的文本数据进行标记财经类型的分类标签。如此,通过总服务先调用依赖的前序分类服务,再调用目标分类服务,可以避免在同一分类维度下对相同数据重复进行分类,,从而,有效提高对整个分类服务的效率。
步骤S150:由总服务接收目标分类服务返回的目标分类结果。
可以理解的是,在针对目标数据的目标分类维度为多个的情况下,针对每个目标分类维度,均按照如上的步骤S120-步骤S150的过程进行处理。
在一些实施例中,在针对目标数据的目标分类维度为多个的情况下,若存在至少两个目标分类维度之间具有层级关系,针对具有层级关系的至少两个目标分类维度,可以按照路径长度最长的第一调用路径进行分类服务调用(为便于区分,将该具有层级关系的至少两个目标分类维度所对应的目标分类服务中,路径长度最长的第一调用路径对应的目标分类服务称为第一目标分类服务),该第一目标分类服务对应的第一调用路径上已经覆盖了具有层级关系的至少两个目标分类维度中除第一目标分类服务外的其它目标分类服务,因此不需要重复调用具有层级关系的至少两个目标分类维度所对应的分类服务的第一调用路径中除该第一目标分类服务对应的第一调用路径外的其他第一调用路径进行分类服务调用。
举例来说,若针对目标数据的目标分类维度包括分类维度P1、分类维度P2、分类维度P3和分类维度P4,其中,分类维度P1是分类维度P2的上一级分类维度,分类维度P2是分类维度P3的上一级分类维度,分类维度P3是分类维度P4的上一级分类维度,路径长度最长的第一调用路径为分类维度P4对应的分类服务Q4对应的第一调用路径,因此,可以按照分类服务Q4对应的第一调用路径,顺次调用分类维度P1、分类维度P2、分类维度P3和分类维度P4进行分类。
作为一种实施方式,目标分类服务可以按照目标分类指示信息中指定的返回格式对得到的分类结果进行格式统一,例如,对基于指定的返回格式对目标分类结果进行序列化,得到序列化分类结果,将序列化分类结果返回至总服务,进而,总服务接收目标分类服务返回的序列化分类结果。
在一些实施例中,还可以在总服务上配置统一的接入协议,该接入协议可以定义存储表征分类维度的字段、表征在分类维度下的分类结果的字段、表征数据标识的字段,这样,在获得目标分类服务针对目标数据的目标分类结果后,将目标数据的标识与在全部目标分类维度下的目标分类结果进行关联存储。此外,由于在总服务上配置统一的接入协议,在接入总服务的分类服务发生变化的情况下,例如新增接入总服务的分类服务,可以对应在接入协议中扩展字段,例如新增表示新接入的分类服务的字段,由此可以应对多样化的分类场景。
本实施例可以获取待分类的目标数据以及目标分类指示信息,该目标分类指示信息指示目标数据的目标分类维度,进而确定目标分类维度对应的目标分类服务,并调用总服务确定目标分类服务对应的第一调用路径,该第一调用路径指示了目标分类服务依赖的前序分类服务。接着可以调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果,并由总服务接收目标分类服务返回的目标分类结果。
在获取待分类的目标数据后,可以根据目标分类维度确定出对应的目标分类服务,进而通过总服务经确定的目标分类服务对应的第一调用路径,向目标分类服务转发目标数据,使得目标分类服务可以在对应的目标分类维度下进行数据分类。如此,可以对目标数据在不同的分类维度下根据该分类维度对应的分类服务进行数据分类,使得针对目标数据可以在多维度场景下进行内容理解,从而,提高内容理解的多样性和效率。
而且,由于总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果,可以使目标分类服务复用该目标分类服务的前序分类服务的分类能力,直接利用该目标分类服务的前序分类服务针对目标数据的分类结果在目标分类维度下进行分类,而目标分类服务不需要重复在目标分类维度的上级分类维度下进行分类,由此可以提升在多分类维度下数据分类的效率和分类服务所对应计算资源的利用率。
请参阅图6,图6示出了本申请另一个实施例提供的数据分类方法的流程示意图。在本实施例中,该数据分类方法可以由服务端执行,该服务端至少具有存储、计算和通信的功能。如图6所示,所述数据分类方法具体可以包括以下步骤:
步骤S210:获取待分类的目标数据以及目标分类指示信息,目标分类指示信息用于指示目标数据的目标分类维度。
步骤S220:确定目标分类维度对应的目标分类服务。
步骤S230:调用总服务确定目标分类服务对应的第一调用路径,其中,第一调用路径指示了目标分类服务依赖的前序分类服务。
步骤S240:调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果。
具体地,步骤S210至步骤S240可以参考前述实施例中步骤S110和步骤S140的内容,在此不再赘述。
步骤S250:基于目标返回格式对目标分类结果进行序列化,得到序列化分类结果。
在本申请实施例中,不同子服务返回的分类结果需要具有统一的数据格式。一方面,统一的数据格式便于后续进行数据处理和存储,另一方面,在因业务变动新增分类服务时,针对返回的分类结果可以避免增加存储字段以及分配额外的计算资源来区分新增字段的字符串与已有的存储字段的字符串,从而降低新增服务的成本,提高分类服务的扩展性。其中,目标返回格式可以为序列化格式,例如,Protocol Buffers。对应地,序列化分类结果即为经序列化得到的维度信息。
示例性地,服务端得到目标分类结果时,可以基于Protocol Buffers对目标分类结果进行序列化,得到维度信息。具体地,维度信息包括必须字段、可选字段和数组字段。必须字段可以包括维度特征标识(dim_id)、维度特征名(dim_name)、维度特征类型(dim_type)以及维度进入索引时间戳(timestamp)。其中,每个子服务都对应有唯一的维度特征标识。维度特征名可以由用户设置,例如,子服务1为一级分类,可以命名维度特征名dim_name=FirstCate。
根据实际应用需要,维度特征类型可以包括两种类型,一种是标签类型,比如文章的分类标签,分类关键词等,另一种是嵌入表示(embedding),也即,数据的离散化表示。数组字段可以包括标签类型特征值(idweight_info)以及表征类型特征值(embedding_info)。该标签类型特征值还可以设置其他字段,包括标签标识(id)、标签名称(name)、标签权重(weight)及标签信息(info)等。例如,子服务1的标签标识id=123,标签名称name=财经。
步骤S260:将序列化分类结果返回至总服务,以使总服务将序列化分类结果存储至目标存储源。
为了便于后续任务获取分类结果,可以将序列化分类结果返回至总服务,由总服务进行存储。考虑到不同类型的后续任务对分类结果的使用场景存在差异,为此,可以根据分类结果的使用场景来对分类结果进行针对性的存储。
作为一种实施方式,服务端可以获取序列化分类结果对应的使用场景,并根据使用场景指示的存储策略,确定目标存储源,进而,将序列化分类结果存储至目标存储源。其中,存储源可以包括缓存存储源和持久化存储源。缓存存储源可以包括Redis和Hbase等,持久化存储源可以包括HDFS和TDW等,存储源的具体类型不做限定。
示例性地,请参阅图7,图7示出一种数据分类的流程图。如图7所示,服务器在数据消费时,可以从消息队列中获取队列中生产者发送的数据,该消息队列可以包括Kafka、RabbitMQ、RocketMQ以及Pulsar等。进一步地,可以对数据消费得到的数据进行数据分析对来自不同数据源中数据的主要字段进行解析,以统一的数据结构进行存储,并对数据分析存储的数据进行数据去重,以便对获取的数据中的重复数据进行去重。进一步地,服务器可以对数据去重后的数据进行内容理解,也即分类服务。例如,调用总服务和多个子服务,该子服务用于对数据进行分类,得到分类结果,进一步地,将内容理解输出的分类结果存储至指定的存储源,例如Redis、Hbase、HDFS以及TDW等。
本实施例可以在获取第一调用路径后,可以调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果。进而将序列化分类结果返回至总服务,以使总服务将序列化分类结果存储至目标存储源,从而提高分类服务的扩展性。
请参阅图8,图8示出了本申请又一个实施例提供的数据分类方法的流程示意图。在本实施例中,该数据分类方法可以由服务端执行,该服务端至少具有存储、计算和通信的功能。如图8所示,所述数据分类方法具体可以包括以下步骤:
步骤S310:接收针对已分类的参考数据的重分类请求。
在对数据源中数据进行分类服务之后,根据实际业务场景的需要,还会存在数据回刷的需求,也即,针对已分类数据进行重新的分类服务。例如,某个分类服务有版本更新,新版本的分类服务由旧版本分类服务对应的千位级标签迭代为万位级标签,此时,需要针对已分类数据重新进行分类,为已分类数据重新打分类标签。
为了提高数据回刷的效率,可以允许用户指定筛选条件来得到针对性地对需要重新分类的数据进行重分类,而不是对全部已分类数据都进行重分类,以使得重分类更具有针对性,避免浪费分类服务的处理资源。该筛选条件可以包括是需要重分类数据对应的时间段(该时间端为需要重分类的数据的产生时间所在的时间段)或者数据在一分类维度下所属的分类(例如在行业分类维度下所属的分类)、数据所来源的数据源等,例如,某一天的数据或者属于汽车行业的数据,在此不做限定。
作为一种实施方式,服务端可以接收数据过滤指令,该数据过滤指令包括筛选条件,进一步地,服务端可以在已分类数据中获取满足筛选条件的已分类数据,作为参考数据。例如,服务端在接收到用户管理端发送的数据过滤指令时,可以根据筛选条件在目标存储源中筛选满足筛选条件的已分类数据,筛选出A年B月C日-X年Y月Z日的数据作为参考数据。
步骤S320:根据重分类请求确定的重分类服务对参考数据进行重分类,得到重分类结果。
为了最大化地提高数据回刷的效率,可以允许用户指定特定分类服务进行数据回刷,即重分类。其中,重分类请求可以包括针对参考数据的第一分类维度,即所指示的需要进行重新进行分类的分类维度。同理,重分类请求所指示的第一分类维度可以是一个也可以是多个。
本申请实施例中,服务端可以确定第一分类维度对应的分类服务,为便于区分,将第一分类维度对应的分类服务称为重分类服务,并调用总服务确定重分类服务对应的第二调用路径,进一步地,服务端可以调用总服务按照第二调用路径,将参考数据以及重分类服务依赖的前序分类服务针对参考数据的分类结果转发到重分类服务,进而由总服务接收重分类服务针对参考数据在第一分类维度下的重分类结果。
例如,存在三个分类维度,分类维度1、分类维度2及分类维度3。分类维度1对应标记工学分类标签的分类服务1、分类维度2对应标记工学-计算机分类标签的分类服务2、分类维度3对应标记工学-计算机-软件开发分类标签的分类服务3。服务端可以根据重分类请求中的针对参考数据的分类维度2,确定对应的标记工学-计算机分类标签的分类服务为重分类服务,进而,调用总服务确定该重分类服务对应的第二调用路径,也即,总服务-分类服务1-分类服务2。进一步地,服务端可以调用总服务按照第二调用路径,将参考数据转发到分类服务2,进而分类服务2针对参考数据进行重分类,得到重分类结果,并将分类结果返回给总服务。
步骤S330:将重分类结果更新到参考数据对应的参考分类结果。
在步骤S330中,将参考数据在第一分类维度下的重分类结果更新到参考数据对应的参考分类结果,以替换参考数据对应的参考分类结果中该参考数据在第一分类维度下的原分类结果。
作为一种实施方式,服务端可以将参考数据在第一分类维度下的重分类结果更新到参考数据对应的参考分类结果。在一些实施例中,在分类服务更新的情况下,重分类服务可以是新版本的分类服务,是由旧版本分类服务迭代更新得到的。对应地,旧版本分类服务针对参考数据进行分类,得到了参考分类结果。在重分类服务针对参考数据进行重分类,得到重分类结果之后,服务端可以将该重分类结果更新到参考分类结果,从而实现数据的重分类,也即,数据回刷。
考虑到用户通常会针对批量化的数据进行数据回刷,为了提高对数据回刷结果的读取效率,可以在将重分类结果更新到参考数据对应的参考分类结果之后,对参考分类结果进行统一存储,这样,每对一批参考数据进行数据回刷之后,都会先对该批参考数据对应的参考分类结果进行存储,之后,可以定时读取存储的参考分类结果,也可以在对所有批次的参考数据数据回刷完后,再统一读取。
本实施例可以接收针对已分类的参考数据的重分类请求,并根据重分类请求确定的重分类服务对参考数据进行重分类,得到重分类结果。进而,确定第一分类维度对应的重分类服务,并调用总服务确定重分类服务对应的第二调用路径,进而调用总服务按照第二调用路径,将参考数据转发到重分类服务,并由总服务接收重分类服务针对参考数据在第一分类维度下的重分类结果,进而,将重分类结果更新到参考数据对应的参考分类结果。如此,提高数据分类结果的实时性和准确性,使得后续的基于分类结果加工及数据分析更加准确。
在一些实施例中,该方法还包括如下的步骤A1和步骤A2:
步骤A1:获取结果删除指令,结果删除指令指示了待删除分类结果所属的第二分类维度。步骤A2:响应于结果删除指令,将已分类数据对应的汇总分类结果中在第二分类维度下的分类结果进行删除。
考虑到实际业务场景中会删除不再使用的分类服务,对应地,为减少存储压力也会删除该不在使用的分类服务的分类结果,从而减少数据的存储量,提高存储空间利用率。为此,服务端可以获取结果删除指令,该结果删除指令可以由用户管理端响应与用户的删除操作生成并发送的指令,该指令指示了待删除分类结果所属的分类维度,例如,分类维度3,也即删除标记有工学-计算机-软件开发的分类标签的分类结果。本申请中,将待删除分类结果所属的分类维度称为第二分类维度,其中,第二分类维度可以是一个也可以是多个。在一些实施例中,结果删除指令可以是服务端响应于第二分类维度所对应分类服务的删除指令生成的,这样,可以实现在删除第二分类维度对应的分类服务的情况下自动删除各数据在第二分类维度下的分类结果。
在一些实施例中,可能存在已分类数据在部分分类维度下的分类结果不再需要,在此种情况下,可以由用户在终端指定需要进行分类结果删除的第二分类维度,并对应生成结果删除指令,以使服务端根据该结果删除指令按照步骤A1~步骤A2所示的过程删除分类结果。
请参阅图9,图9示出了本申请实施例提供的一种数据分类装置400的结构框图。该数据分类装置400包括:数据获取模块410,用于获取待分类的目标数据以及目标分类指示信息,所述目标分类指示信息指示所述目标数据的目标分类维度;服务确定模块420,用于确定所述目标分类维度对应的目标分类服务;服务调用模块430,用于调用总服务确定所述目标分类服务对应的第一调用路径,其中,所述第一调用路径指示了所述目标分类服务依赖的前序分类服务;数据分类模块440,用于调用所述总服务按照所述第一调用路径向所述目标分类服务转发所述目标数据,以使所述目标分类服务根据所述目标数据和所述前序分类服务针对所述目标数据的分类结果在所述目标分类维度下进行数据分类,获得所述目标数据在所述目标分类维度下的目标分类结果;结果返回模块450,用于由所述总服务接收所述目标分类服务返回的所述目标分类结果。
在一些实施例中,所述总服务在服务关系图中确定所述目标分类服务对应的第一调用路径;数据分类装置400还可以包括关系获取模块以及关系构建模块。关系获取模块,用于获取接入所述总服务的不同分类服务之间的依赖关系;关系构建模块,用于根据所述不同分类服务之间的依赖关系构建所述服务关系图,其中,所述服务关系图中的根节点为表示所述总服务的节点,所述服务关系图中所述根节点的子节点为表示分类服务的节点。
在一些实施例中,数据分类装置400还可以包括请求接收模块、服务确定模块以及服务更新模块。新增请求模块,用于接收新增分类服务的接入请求;服务确定模块,用于根据所述新增分类服务对应的分类维度,在所述总服务已接入的分类服务中确定所述新增分类服务依赖的分类服务;服务更新模块,用于根据所述新增分类服务依赖的分类服务,将所述新增分类服务更新到所述服务关系图中。
在一些实施例中,数据分类装置400还可以包括序列化模块以及数据存储模块。序列化模块,用于基于目标返回格式对所述目标分类结果进行序列化,得到序列化分类结果;数据存储模块,用于将所述序列化分类结果返回至所述总服务,以使所述总服务将所述序列化分类结果存储至目标存储源。
在一些实施例中,序列化模块可以具体用于:通过所述总服务基于目标存储格式,为所述目标分类结果创建对应的维度信息列表;所述维度信息列表包括至少一个消息字段名;基于所述至少一个消息字段名对所述目标分类结果进行序列化,得到序列化分类结果。
在一些实施例中,数据分类装置400还可以包括分类请求模块、重分类模块以及结果更新模块。分类请求模块,用于接收针对已分类的参考数据的重分类请求;重分类模块,用于根据所述重分类请求确定的重分类服务对所述参考数据进行重分类,得到重分类结果;结果更新模块,用于将所述重分类结果更新到所述参考数据对应的参考分类结果。
在一些实施例中,所述重分类请求包括针对所述参考数据的第一分类维度,重分类模块可以具体用于:确定所述第一分类维度对应的重分类服务;调用所述总服务确定所述重分类服务对应的第二调用路径;调用所述总服务按照所述第二调用路径,将所述参考数据转发到所述重分类服务;由所述总服务接收所述重分类服务针对所述参考数据在第一分类维度下的重分类结果;结果更新模块可以具体用于将所述参考数据在第一分类维度下的重分类结果更新到所述参考数据对应的参考分类结果。
在一些实施例中,参考数据为基于数据过滤得到的,数据分类装置400还可以包括指令接收模块和筛选模块。指令接收模块,用于接收数据过滤指令,所述数据过滤指令包括筛选条件;筛选模块,用于在已分类数据中获取满足所述筛选条件的已分类数据,作为参考数据。
在一些实施例中,数据分类装置400还可以包括指令获取模块和删除模块。指令获取模块,用于获取结果删除指令,所述结果删除指令指示了待删除分类结果所属的第二分类维度;删除模块,用于响应于所述结果删除指令,将已分类数据对应的汇总分类结果中在所述第二分类维度下的分类结果进行删除。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
本申请提供的数据分类装置,可以获取待分类的目标数据以及目标分类指示信息,该目标分类指示信息指示目标数据的目标分类维度,进而确定目标分类维度对应的目标分类服务,并调用总服务确定目标分类服务对应的第一调用路径,该第一调用路径指示了目标分类服务依赖的前序分类服务。
接着可以调用总服务按照第一调用路径向目标分类服务转发目标数据,以使目标分类服务根据目标数据和前序分类服务针对目标数据的分类结果在目标分类维度下进行数据分类,获得目标数据在目标分类维度下的目标分类结果,并由总服务接收目标分类服务返回的目标分类结果。
在获取待分类的目标数据后,可以根据目标分类维度确定出对应的目标分类服务,进而通过总服务经确定的目标分类服务对应的第一调用路径,向目标分类服务转发目标数据,使得目标分类服务可以在对应的目标分类维度下进行数据分类。如此,可以对目标数据在不同的分类维度下根据该分类维度对应的分类服务进行数据分类,使得针对目标数据可以在多维度场景下进行内容理解,从而,提高内容理解的多样性和效率。
如图10所示,本申请实施例还提供一种计算机设备500,该计算机设备500包括处理器510、存储器520、电源530和输入单元540,存储器520存储有计算机程序,计算机程序被处理器510调用时,可实执行上述实施例提供的各种方法步骤。本领域技术人员可以理解,图中示出的计算机设备的结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器510可以包括一个或多个处理核。处理器510利用各种接口和线路连接整个电池管理系统内的各种部分,通过运行或执行存储在存储器520内的指令、程序、指令集或程序集,调用存储在存储器520内的数据,执行电池管理系统的各种功能和处理数据,以及执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体控制。可选地,处理器510可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器510可集成中央处理器510(CentralProcessing Unit,CPU)、图像处理器510(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器510中,单独通过一块通信芯片进行实现。
存储器520可以包括随机存储器520(Random Access Memory,RAM),也可以包括只读存储器520(Read-Only Memory)。存储器520可用于存储指令、程序、指令集或程序集。存储器520可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各种方法实施例的指令等。存储数据区还可以存储计算机设备在使用中所创建的数据(比如电话本和音视频数据)等。相应地,存储器520还可以包括存储器控制器,以提供处理器510对存储器520的访问。
电源530可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源530还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
输入单元540,该输入单元540可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备500还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器510会按照如下的指令,将一个或一个以上的计算机程序的进程对应的可执行文件加载到存储器520中,并由处理器510来运行存储在存储器520中的比如电话本和音视频数据,从而实现前述实施例提供的各种方法步骤。
如图11所示,本申请实施例还提供一种计算机可读存储介质600,该计算机可读存储介质600中存储有计算机程序610,计算机程序610可被处理器调用于执行本申请实施例提供的各种方法步骤。
计算机可读存储介质可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质包括非易失性计算机可读存储介质(Non-Transitory Computer-Readable Storage Medium)。计算机可读存储介质600具有执行上述实施例中任何方法步骤的计算机程序的存储空间。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。计算机程序能够以适当形式进行压缩。
根据本申请的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述实施例提供的各种方法步骤。
以上,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制,虽然本申请已以较佳实施例揭示如上,然而并非用以限定本申请,任何本领域技术人员,在不脱离本申请技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本申请技术方案内容,依据本申请的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本申请技术方案的范围内。
Claims (13)
1.一种数据分类方法,其特征在于,所述方法包括:
获取待分类的目标数据以及目标分类指示信息,所述目标分类指示信息指示所述目标数据的目标分类维度;
确定所述目标分类维度对应的目标分类服务;
调用总服务确定所述目标分类服务对应的第一调用路径,其中,所述第一调用路径指示了所述目标分类服务依赖的前序分类服务;
调用所述总服务按照所述第一调用路径向所述目标分类服务转发所述目标数据,以使所述目标分类服务根据所述目标数据和所述前序分类服务针对所述目标数据的分类结果在所述目标分类维度下进行数据分类,获得所述目标数据在所述目标分类维度下的目标分类结果;
由所述总服务接收所述目标分类服务返回的所述目标分类结果。
2.根据权利要求1所述的方法,其特征在于,所述总服务在服务关系图中确定所述目标分类服务对应的第一调用路径;所述方法还包括:
获取接入所述总服务的不同分类服务之间的依赖关系;
根据所述不同分类服务之间的依赖关系构建所述服务关系图,其中,所述服务关系图中的根节点为表示所述总服务的节点,所述服务关系图中所述根节点的子节点为表示分类服务的节点。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收新增分类服务的接入请求;
根据所述新增分类服务对应的分类维度,在所述总服务已接入的分类服务中确定所述新增分类服务依赖的分类服务;
根据所述新增分类服务依赖的分类服务,将所述新增分类服务更新到所述服务关系图中。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述由所述总服务接收所述目标分类服务返回的所述目标分类结果之前,所述方法还包括:
基于目标返回格式对所述目标分类结果进行序列化,得到序列化分类结果;
将所述序列化分类结果返回至所述总服务,以使所述总服务将所述序列化分类结果存储至目标存储源。
5.根据权利要求4所述的方法,其特征在于,所述基于目标返回格式对所述目标分类结果进行序列化,得到序列化分类结果,包括:
通过所述总服务基于目标返回格式,为所述目标分类结果创建对应的维度信息列表;所述维度信息列表包括至少一个消息字段名;
基于所述至少一个消息字段名对所述目标分类结果进行序列化,得到序列化分类结果。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对已分类的参考数据的重分类请求;
根据所述重分类请求确定的重分类服务对所述参考数据进行重分类,得到重分类结果;
将所述重分类结果更新到所述参考数据对应的参考分类结果。
7.根据权利要求6所述的方法,其特征在于,所述重分类请求包括针对所述参考数据的第一分类维度,所述根据所述重分类请求确定的重分类服务对所述参考数据进行重分类,得到重分类结果,包括:
确定所述第一分类维度对应的重分类服务;
调用所述总服务确定所述重分类服务对应的第二调用路径;
调用所述总服务按照所述第二调用路径,将所述参考数据转发到所述重分类服务;
由所述总服务接收所述重分类服务针对所述参考数据在第一分类维度下的重分类结果;
所述将所述重分类结果更新到所述参考数据对应的参考分类结果,包括:
将所述参考数据在第一分类维度下的重分类结果更新到所述参考数据对应的参考分类结果。
8.根据权利要求6或7所述的方法,其特征在于,所述参考数据为基于数据过滤得到的,所述方法还包括:
接收数据过滤指令,所述数据过滤指令包括筛选条件;
在已分类数据中获取满足所述筛选条件的已分类数据,作为参考数据。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取结果删除指令,所述结果删除指令指示了待删除分类结果所属的第二分类维度;
响应于所述结果删除指令,将已分类数据对应的汇总分类结果中在所述第二分类维度下的分类结果进行删除。
10.一种数据分类装置,其特征在于,所述装置包括:
数据获取模块,用于获取待分类的目标数据以及目标分类指示信息,所述目标分类指示信息指示所述目标数据的目标分类维度;
服务确定模块,用于确定所述目标分类维度对应的目标分类服务;
服务调用模块,用于调用总服务确定所述目标分类服务对应的第一调用路径,其中,所述第一调用路径指示了所述目标分类服务依赖的前序分类服务;
数据分类模块,用于调用所述总服务按照所述第一调用路径向所述目标分类服务转发所述目标数据,以使所述目标分类服务根据所述目标数据和所述前序分类服务针对所述目标数据的分类结果在所述目标分类维度下进行数据分类,获得所述目标数据在所述目标分类维度下的目标分类结果;
结果返回模块,用于由所述总服务接收所述目标分类服务返回的所述目标分类结果。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1至9任一项所述的方法。
12.一种计算机设备,其特征在于,包括:
存储器;
一个或多个处理器,与所述存储器耦接;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行如权利要求1至9任一项所述的方法。
13.一种计算机程序产品或计算机程序,其特征在于,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在存储介质中,计算机设备的处理器从存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机执行如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311297251.6A CN117370628A (zh) | 2023-10-08 | 2023-10-08 | 数据分类方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311297251.6A CN117370628A (zh) | 2023-10-08 | 2023-10-08 | 数据分类方法、装置、存储介质及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370628A true CN117370628A (zh) | 2024-01-09 |
Family
ID=89399555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311297251.6A Pending CN117370628A (zh) | 2023-10-08 | 2023-10-08 | 数据分类方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117370628A (zh) |
-
2023
- 2023-10-08 CN CN202311297251.6A patent/CN117370628A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200183796A1 (en) | Recovery strategy for a stream processing system | |
US11086687B2 (en) | Managing resource allocation in a stream processing framework | |
US10630614B2 (en) | Opaque message parsing | |
US10430111B2 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
CN104750469B (zh) | 源代码统计分析方法和系统 | |
KR102634058B1 (ko) | 입력 및 출력 스키마 매핑 | |
US20190279101A1 (en) | Flexible and scalable artificial intelligence and analytics platform with advanced content analytics and data ingestion | |
US9396448B2 (en) | Distributed and open schema interactions management system and method | |
US20230177527A1 (en) | Block chain system, and biological product monitoring method and device | |
CN114048387B (zh) | 基于大数据和ai预测的内容推荐方法及人工智能云系统 | |
CN112464034A (zh) | 用户数据提取方法、装置、电子设备及计算机可读介质 | |
Bellini et al. | Managing Complexity of Data Models and Performance in Broker-Based Internet/Web of Things Architectures | |
CN112114907A (zh) | 基于电子商务云计算的应用加载方法及人工智能计算中心 | |
CN117370628A (zh) | 数据分类方法、装置、存储介质及计算机设备 | |
CN116089490A (zh) | 数据分析方法、装置、终端和存储介质 | |
Mayer et al. | Variety management for big data | |
Adam | Usages of semantic web services technologies in IoT ecosystems and its impact in services delivery: A survey | |
EP3380906A1 (en) | Optimization for real-time, parallel execution of models for extracting high-value information from data streams | |
CN114820011A (zh) | 用户群体聚类方法、装置、计算机设备和存储介质 | |
CN113935301B (zh) | 一种报表生成方法及装置、存储介质及电子设备 | |
Setiawan et al. | The use of big data technology to support the transformation of public content management towards knowledge management | |
US20210279265A1 (en) | Optimization for Real-Time, Parallel Execution of Models for Extracting High-Value Information from Data Streams | |
Cui | Design and Research on Big Data Application of Web Convergence Media | |
CN115841341A (zh) | 用户召回方法、装置、电子设备、存储介质及产品 | |
Ordóñez-Ante et al. | A topic modeling approach for web service annotation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |