一种文档排序方法、装置及电子设备

文档序号:510405 发布日期:2021-05-28 浏览:1次 >En<

阅读说明:本技术 一种文档排序方法、装置及电子设备 (Document sorting method and device and electronic equipment ) 是由 步君昭 骆金昌 陈坤斌 刘准 和为 于 2021-02-04 设计创作,主要内容包括:本申请公开了一种文档排序方法、装置及电子设备,涉及计算机技术中的大数据、深度学习、推荐等技术领域。具体实现方案为:对待推荐文档列表进行聚类,得到N个聚类簇,N为大于1的正数;基于N个聚类簇中第一聚类簇的文档与被推荐用户之间的相关性参数值,确定第一聚类簇中的第一目标文档,其中,第一聚类簇中包括至少两个文档;将N个聚类簇中的第一聚类簇的第一目标文档删除,使得更新后的N个聚类簇中每个聚类簇只包括一个文档;根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序。可提高文档排序效果。(The application discloses a document sorting method and device and electronic equipment, and relates to the technical fields of big data, deep learning, recommendation and the like in computer technology. The specific implementation scheme is as follows: clustering a document list to be recommended to obtain N clustering clusters, wherein N is a positive number greater than 1; determining a first target document in a first cluster based on a relevance parameter value between a document of the first cluster and a recommended user in the N clusters, wherein the first cluster comprises at least two documents; deleting a first target document of a first cluster in the N clusters, so that each cluster in the N updated clusters only comprises one document; and sequencing the N documents according to the updated correlation parameter values between the N documents of the N clustering clusters and the recommended user and the similarity between every two documents in the N documents. The document ranking effect can be improved.)

一种文档排序方法、装置及电子设备

技术领域

本申请涉及计算机技术中的大数据、深度学习、推荐等技术领域,尤其涉及一种文档排序方法、装置及电子设备。

背景技术

在企业中,产品线、业务线、技术线等各个方向的员工和组织会有很多相关的项目,这些项目会产生大量的文档,例如技术文档、产品文档、项目文档、各种培训讲座之类的视频文档等。这些文档对企业中集体和个人都非常有价值,是可以复用或学习的文档。为了让文档能够在企业内部流动起来,因此需要构建企业内部的知识推荐系统,实现知识主动找人。在推荐系统的推荐结果中,需要推荐给用户相关的内容,也就是“相关性”。知识推荐系统的目的是通过个性化推荐的方式将有价值的知识文档推荐给员工,进而提升员工的技能水平,并且促进公司业务的发展。在推荐过程中,文档排序是非常重要的一环。

目前,常用的文档排序方式,是通过文档与用户之间的相关性进行排序,根据排序后的文档的先后顺序进行推荐。

发明内容

本申请提供一种文档排序方法、装置及电子设备。

第一方面,本申请一个实施例提供一种文档排序方法,所述方法包括:

对待推荐文档列表进行聚类,得到N个聚类簇,N为大于1的正数;

基于所述N个聚类簇中第一聚类簇的文档与被推荐用户之间的相关性参数值,确定所述第一聚类簇中的第一目标文档,其中,所述第一聚类簇中包括至少两个文档;

将所述N个聚类簇中的第一聚类簇的第一目标文档删除,使得更新后的N个聚类簇中每个聚类簇只包括一个文档;

根据所述更新后的N个聚类簇的N个文档与所述被推荐用户之间的相关性参数值,以及所述N个文档中每两个文档之间的相似度,对N个文档进行排序。

在本申请实施例的文档排序方法中,首先可对待推荐文档列表进行聚类,得到N个聚类簇,聚类后相同聚类簇中的文档之间具有较高的相似度,然后还需根据N个聚类簇中第一聚类簇的文档与被推荐用户之间的相关性参数值,确定第一聚类簇中的第一目标文档,并将N个聚类簇中每个第一聚类簇的第一目标文档删除,更新第一聚类簇,从而可得到更新后的N个聚类簇,可以理解为根据相关性参数对第一聚类簇中的文档去重,再根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序,即实现文档排序。在排序过程中,不但需要对文档进行聚类,还需对包括至少两个文档的第一聚类簇中目标进行删除更新第一聚类簇,得到更新后的N个聚类簇,然后考虑了更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序,如此,可提高排序效果。

第二方面,本申请一个实施例提供一种文档排序装置,所述装置包括:

聚类模块,用于对待推荐文档列表进行聚类,得到N个聚类簇,N为大于1的正数;

确定模块,用于基于所述N个聚类簇中第一聚类簇的文档与被推荐用户之间的相关性参数值,确定所述第一聚类簇中的第一目标文档,其中,所述第一聚类簇中包括至少两个文档;

删除模块,用于将所述N个聚类簇中的第一聚类簇的第一目标文档删除,使得更新后的N个聚类簇中每个聚类簇只包括一个文档;

排序模块,用于根据所述更新后的N个聚类簇的N个文档与所述被推荐用户之间的相关性参数值,以及所述N个文档中每两个文档之间的相似度,对N个文档进行排序。

第三方面,本申请一个实施例还提供一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请各实施例提供的文档排序方法。

第四方面,本申请一个实施例还提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请各实施例提供的文档排序方法。

第五方面,本申请一个实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本申请各实施例提供的文档排序方法。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是本申请提供的一个实施例的文档排序方法的流程示意图;

图2是本申请提供的一个实施例的文档排序方法中语义向量提取过程的流程示意图;

图3是本申请提供的一个实施例的文档排序方法中聚类和去重过程的流程示意图;

图4是本申请提供的一个实施例的文档排序方法中打散过程的流程示意图;

图5是本申请提供的一个实施例的文档排序装置的结构图;

图6是用来实现本申请实施例的文档排序方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

如图1所示,根据本申请的实施例,本申请提供一种文档排序方法,可应用于推荐系统,方法包括:

步骤S101:对待推荐文档列表进行聚类,得到N个聚类簇,N为大于1的正数。

待推荐文档列表中包括至少两个文档,每个聚类簇中包括待推荐文档列表中的至少一个文档,且每个聚类簇之间的文档不同,一个聚类簇中的任意两个文档之间具有较高的相似度,例如,相似度大于预设相似度,预设相似度可以取较高的值,例如,0.9等。作为一个示例,对待推荐文档列表进行聚类之前可以包括:初始化一个为空的待推荐文档列表;将文档池中与被推荐用户之间的相关性参数值大于第一预设阈值的文档放入待推荐文档列表中。也即是先获知被推荐用户,然后根据文档池中文档与被推荐用户之间的相关性参数值,从文档池中选择相关性参数值大于第一预设阈值的文档放入待推荐文档列表中。作为一个示例,文档与被推荐用户之间的相关性参数可以是文档的特征数据与被推荐用户的特征数据(例如,可以是对被推荐用户的历史行为信息进行特征提取得到的特征数据,历史行为信息可以是但不限于文档下载记录、文档浏览记录、文档分享记录等)之间的距离,例如,欧式距离或余弦距离等。

步骤S102:基于N个聚类簇中第一聚类簇的文档与被推荐用户之间的相关性参数值,确定第一聚类簇中的第一目标文档,其中,第一聚类簇中包括至少两个文档。

在N个聚类簇中,可能存在包括一个文档的聚类簇,也可能存在包括至少两个文档的聚类簇,对于只包括一个文档的聚类簇,无需确定其第一目标文档以及无需对该聚类簇中的文档进行删除,然而,对于包括至少两个文档的第一聚类簇,需根据第一聚类簇中的文档与被推荐用户之间的相关性参数值,确定第一聚类簇中的第一目标文档,相关性参数值越大,表示文档与被推荐用户之间的相关程度越强。若包括至少两个第一聚类簇,即N各聚类簇中存在至少两个聚类簇的文档数量分别为至少两个,如此,可确定每个第一聚类簇中的第一目标文档,例如,可基于目标聚类簇的文档与被推荐用户之间的相关性参数值,确定目标聚类簇中的第一目标文档,目标聚类簇为第一聚类簇中任一聚类簇,对于第一聚类簇中每个聚类簇通过上述过程可确定其第一目标文档,如此,可确定每个第一聚类簇中的第一目标文档。需要说明的是,任一第一聚类簇的第一目标文档的数量为该第一聚类簇中的文档数据减去一。

步骤S103:将N个聚类簇中的第一聚类簇的第一目标文档删除,使得更新后的N个聚类簇中每个聚类簇只包括一个文档。

将N个聚类簇中每个第一聚类簇的第一目标文档删除,如此,可更新每个第一聚类簇,N个聚类簇中只包括一个文档的聚类簇不变,得到更新后的N个聚类簇,如此,更新后的N个聚类簇中相对更新前的N个聚类簇,更新了第一聚类簇。需要说明的是,更新后的N个聚类簇中每个聚类簇中的文档数量为1,即更新后的N个聚类簇中每个聚类簇包括1个文档,即N个聚类簇有N个文档。

步骤S104:根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序。

通过对N个聚类簇中第一聚类簇进行更新后,得到更新后的N个聚类簇,可通过更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序。后续可按照排序后的先后顺序进行推荐。

在本申请实施例的文档排序方法中,首先可对待推荐文档列表进行聚类,得到N个聚类簇,聚类后相同聚类簇中的文档之间具有较高的相似度,然后还需根据N个聚类簇中第一聚类簇的文档与被推荐用户之间的相关性参数值,确定第一聚类簇中的第一目标文档,并将N个聚类簇中每个第一聚类簇的第一目标文档删除,更新第一聚类簇,从而可得到更新后的N个聚类簇,可以理解为根据相关性参数对第一聚类簇中的文档去重,再根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序,即实现文档排序。在排序过程中,不但需要对文档进行聚类,还需对包括至少两个文档的第一聚类簇中目标进行删除更新第一聚类簇,得到更新后的N个聚类簇,然后考虑了更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序,如此,可提高排序效果。

在一个实施例中,第一聚类簇中的第一目标文档为第一聚类簇中与被推荐用户之间的相关性参数值小于最大相关性参数值的文档,最大相关性参数值为第一聚类簇中文档与被推荐用户之间的相关性参数值中的最大值。

第一聚类簇包括一个在该第一聚类簇中最大相关性参数值的文档,在本实施例中,是将第一聚类簇中最大相关性参数值的文档保留,删除第一聚类簇中除最大相关性参数值的文档之外的第一目标文档,若第一聚类簇的数量为至少两个,任一第一聚类簇包括一个在该第一聚类簇中最大相关性参数值的文档,任一第一聚类簇中的第一目标文档为该第一聚类簇中与被推荐用户之间的相关性参数值小于最大相关性参数值的文档,从而每个第一聚类簇分别删除对应的第一目标文档后,每个第一聚类簇剩余一个该第一聚类簇中最大相关性参数值的文档。

在本实施例中,由于相同聚类簇中为聚类在一起的文档,文档之间的相似度较高,如此,对于包括至少两个文档的第一聚类簇,将其中与被推荐用户之间的相关性参数值较低的文档删除,每个第一聚类簇中保留一个与被推荐用户之间的相关性参数值最高的文档,后续对更新后的N个聚类簇的进行排序即可,可提高排序效果。

在一个实施例中,根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序,包括:将N个文档中的第一文档放入第一列表中,第一文档为N个文档中与被推荐用户之间的相关性参数值最大的文档,第一文档在第一列表中排序最前;依次将剩余文档中的第二目标文档放入第一列表中最后一个文档之后;其中,剩余文档为N个文档中除放入第一列表中的文档之外的其余文档,第二目标文档为被推荐用户之间的相关性参数值大于或等于第一阈值,且与第一列表中的文档的平均相似度最低的文档,第一阈值为基于剩余文档与被推荐用户之间的相关性参数值确定的值。

上述排序过程可以理解为对N个文档打散的过程,在本实施例中,将N个文档中的第一文档放入第一列表中之前,可预先初始化一个空的第一列表,在得到更新后的N个聚类簇之后,可先将N个文档中与被推荐用户之间的相关性参数值最大的第一文档放入第一列表,更新第一列表,此时,第一列表中包括第一文档,此时,剩余文档包括N个文档中除第一文档之外的N-1个文档。对于剩余的N-1个文档,可依次将剩余文档中与被推荐用户之间的相关性参数值大于或等于第一阈值,且与第一列表中的文档的平均相似度最低的第二目标文档,放入第一列表中最后一个文档之后,即该文档排在第一列表中最后一个文档之后,随着剩余文档的更新,对应的第二目标文档随之更新。每将一个文档放入第一列表,则第一列表进行了更新,即第一列表中增加一个文档,对应地,剩余文档也进行了更新,即剩余文档中减少了一个文档,从而第一阈值也随之更新的。后续均是以最新的第一列表以及最新的剩余文档为基准进行选择放入。例如,在放入第一文档之后,可将第一阈值设置为剩余文档与被推荐用户之间的相关性参数的平均值或一个预设初始值,从剩余的N-1个文档中选择与被推荐用户之间的相关性参数值大于或等于第一阈值,且与第一列表中的文档的平均相似度最低的第二文档放入第一列表,剩余文档则更新为N个文档中除第一文档和第二文档以外的文档,即N-2个文档,第一列表更新为包括第一文档和第二文档,第二文档排在第一文档之后。然后可更新第一阈值,例如,可将第一阈值更新为最新的剩余文档与被推荐用户之间的相关性参数的平均值等。类似地,再从N-2个文档中选择与被推荐用户之间的相关性参数值大于最新的第一阈值,且与第一列表中的文档的平均相似度最低的第三文档放入第一列表,剩余文档则更新为N个文档中除第一文档、第二文档和第三文档以外的文档,即N-3个文档,第一列表更新为包括第一文档、第二文档和第三文档,第三文档排在第二文档之后。然后可更新第一阈值,例如,可将第一阈值更新为最新的剩余文档与被推荐用户之间的相关性参数值的平均值等。如此类推,直到N个文档中每个文档放入第一列表中,第一列表中的文档即是N个文档排序后的文档。

例如,N为4,按照与被推荐用户之间的相关性参数值从高到低的熟顺序,4个文档依次为第一文档、第二文档、第三文档和第四文档,初始时,第一列表为空,先将第一文档放入第一列表中,此时,剩余文档包括第二文档、第三文档和第四文档,第三文档为剩余文档中大于或等于第一阈值且在剩余文档中与第一文档之间的相似度最低的文档,则可选择将第三文档放入第一列表中最后一个文档之后,即第三文档排在第一文档之后。此时的剩余文档包括第三文档和第四文档,可更新第一阈值,例如,可更新为当前剩余文档与被推荐用户之间的相关性参数值的平均值,即第二文档与被推荐用户之间的相关性参数值和第四文档与被推荐用户之间的相关性参数值的平均值。然后,第二文档为最新的剩余文档中大于或等于第一阈值且在剩余文档中与第一列表中的文档之间的平均相似度(即是与第一文档的相似度以及与第三文档的相似度的平均值)最低的文档,则可选择将第二文档放入第一列表中最后一个文档之后,即第二文档排在第三文档之后,此时的剩余文档包括第四文档,可更新第一阈值,例如,可更新为当前剩余文档与被推荐用户之间的相关性参数值的平均值,即第四文档与被推荐用户之间的相关性参数值。最后将第四文档放入第一列表中,排在第二文档之后即可。

在本实施例中,在对N个文档进行排序的过程中,不仅考虑了与被推荐用户之间的相关性参数值,而且考虑了与第一列表中的文档的平均相似度,如此,可提高排序效果。

在一个实施例中,对待推荐文档列表进行聚类,包括:

确定待推荐文档列表中每个文档的语义向量;

基于待推荐文档列表中每个文档的语义向量,对待推荐文档列表进行聚类。

也即是在本实施例中,利用待推荐文档列表中的文档的语义向量,对待推荐文档列表中文档进行聚类,可选的,可利用待推荐文档列表中文档的语义向量之间的相似度(例如,欧氏距离、余弦距离等),对待推荐文档列表中的文档进行聚类。聚类算法有多种,在本实施例中不作限定,例如,遍历待推荐文档列表中的文档,将其中与被推荐用户之间的相关性参数值最大的一个文档的语义向量当作一个簇,对于待推荐文档列表中后续的文档,计算其语义向量和已有簇的簇心向量之间的相似度,如果足够相似(比如,相似度大于预设相似阈值,例如,可以取0.9),则将文档加入该簇并更新簇心向量,反之用其语义向量构建一个新的簇。直到待推荐文档列表中的每个文档找到对应的簇,完成待推荐文档列表中文档的聚类。作为一个示例,可通过预训练的语义模型对文档进行语义解析,得到文档的语义向量,预训练的语义模型可以包括但不限于BERT语义模型等。

在本实施例中,可提取待推荐文档列表中每个文档的语义向量,语义向量可表征文档的语义,基于待推荐文档列表中每个文档的语义向量,对待推荐文档列表进行聚类,可提高聚类准确性,后续通过将N个聚类簇中的第一聚类簇的第一目标文档删除,根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序,提高排序效果。

在一个示例中,确定待推荐文档列表中每个文档的语义向量的过程中,可先对待推荐文档列表中的每个文档进行分词;抽取待推荐文档列表中的每个文档中的关键句子,形成摘要;将待推荐文档列表中的每个文档的摘要输入到预训练的语义模型中,得到待推荐文档列表中的每个文档的语义向量。

在一个实施例中,待推荐文档列表中包括M个第一文本文档和/或P个第二文本文档,M以及P均为大于1的整数,第二文本文档为通过对第一视频文档进行音频提取得到音频数据以及对音频数据进行转换得到的文档。

文档的类型包括文本类型和/或视频类型,对于文本类型的M个第一文本文档,直接将其放入待推荐文档列表中即可,对于视频类型的P个第一视频文档,分别可提取P个第一视频文档的音频数据,将P个第一视频文档的音频数据分别转换为文本,即可得到P个第二文本文档,将P个第二文本文档放入待推荐文档列表中,如此,得到包括M个第一文本文档和/或P个第二文本文档的待推荐文档列表。作为一个示例,可通过ASR(自动语音识别技术)将P个第一视频文档的音频数据分别转换为文本。

即在本实施例中,可以将M个第一文本文档和/或对P个第一视频文档进行转换得到的第二文本文档作为待推荐文档列表,即作为可推荐给被推荐用户的文档,提高待推荐文档列表中文档的多样性。后续在推荐过程中,可提高文档推荐的多样性,甚至可提高推荐的点击率和满意度。

在一个实施例中,根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序之后,还包括:

基于排序后的N个文档,向被推荐用户进行文档推荐。

即根据排序后的N个文档的排序先后顺序,推荐用户进行文档推荐,不但可提高文档推荐的多样性,且可减少相邻推荐的文档之间的相似性较大的情况,提高推荐效果。

下面以一个具体实施例对上述文档排序过程加以具体说明。在本实施例中,以企业内部的文档为例进行说明,例如,企业内部的文本文档和视频文档(例如,培训讲座类视频文档等)。

首先,构建待推荐文档列表,其中,待推荐文档列表的文档可包括企业内部的第一文本文档和企业内部的视频文档进行音频数据提取并对音频数据进行转换得到的第二文本文档。

然后,如图2所示,进行语义向量提取。即先对推荐文案本列表的文档进行分词,基于推荐文案本列表的文档的分词,抽取待推荐文档列表的文档中的关键句子,形成推荐文案本列表的文档的摘要;将待推荐文档列表的文档的摘要输入到预训练的语义模型中,得到待推荐文档列表的文档的语义向量。上述流程中的语义模型可以使用预训练的BERT模型,在提取语义向量后,还可通过文档的摘要来微调(finetune)该预训练的BERT模型,即重训预训练的BERT模型,以使语义模型更贴近业务知识。

其次,对待推荐文档列表进行聚类和去重过程。

如图3所示,先遍历待推荐文档列表,对待推荐文档列表按照与被推荐用户之间的相关性参数值从高到低的顺序进行排序,将排在第一的第一文档的语义向量当作一个簇,对于待推荐文档列表中的后续的文档,计算其语义向量和已有簇的簇心向量比较相似性,如果与已有簇中的某个簇足够相似(即表示文档属于该簇),则加入该簇并更新簇心向量,反之用其语义向量构建一个新的簇。也即是按照与被推荐用户之间的相关性参数值从高到低的顺序,从待推荐文档列表的未聚类的文档中,获取一个文档,判断该文档的语义向量是否属于已有簇,若是,则将该文档加入其属于的簇,反之该文档的语义向量构建一个新的簇;判断待推荐文档列表中是否包括未聚类的文档,若否,则表示待推荐文档列表中的文档聚类完毕,可得到N个聚类簇,若是,则返回从待推荐文档列表的未聚类的文档中按照与被推荐用户之间的相关性参数值从高到低的顺序,获取一个文档,直到待推荐文档列表中的文档聚类完毕。

待推荐文档列表中的文档聚类完毕后,得到N个聚类簇,然后访问N个聚类簇中未访问过的聚类簇中的一个聚类簇,判断该聚类簇中是否包括至少两个文档,若否,则维持该聚类簇的文档不变,该聚类簇访问完毕,若是,则将该聚类簇中的与被推荐用户之间的相关性参数值小于最大相关性参数值的文档删除,该聚类簇只保留其中最大相关性参数值的文档,该聚类簇访问完毕。然后判断N个聚类簇中是否还包括未访问的聚类簇,若是,则返回访问N个聚类簇中未访问过的聚类簇中的一个聚类簇,直到N个聚类簇访问完毕,若否,则N个聚类簇访问完毕,结束去重流程。通过上述过程实现对待推荐文档列表的去重,得到的更新后的N个聚类簇中每个聚类簇中包括一个文档,即总共N个文档。

再者,对更新后的N个聚类簇的N个文档进行打散过程。

如图4所示,打散过程保持已排序文档列表(即第一列表)和待排序文档列表。首先,将去重后得到的N个文档放入待排序文档列表中,按照与被推荐用户之间的相关性参数值从高到低的顺序,将排在第一的第一文档加入已排序文档列表中,然后按照关性参数值从高到低的顺序依次从待排序文档列表中选择文档,将选择的文档放入已排序文档列表中,且排在已排序文档列表中最后一个文档之后,选择文档的标准可以是与被推荐用户之间的相关性参数值大于第一阈值以及与已排序文档列表中文档的平均相似度最低。也即是,待排序列表中的第一文档放入已排序文档中后,N个文档中还剩余N-1个文档未放入已排序文档列表,计算第一文档与待排序列表中剩余文档之间的相似度,从剩余文档中选择一个相关性参数值大于第一阈值以及与已排序文档列表中文档的平均相似度最低的文档再放入已排序文档中,剩余文档更新,然后判断待排序文档列表中是否还包括未放入已排序文档列表中的文档,若是,返回计算第一文档与待排序列表中剩余文档之间的相似度,从剩余文档中选择一个相关性参数值大于第一阈值以及与已排序文档列表中文档的平均相似度最低的文档再放入已排序文档中,若是,表示排序完毕,可结束流程。最终将待排序文档列表中的文档均放入已排序文档列表中,实现文档的打散即排序。

本申请实施中获取语义向量的特点在于对企业内部中的文本文档和视频文档做统一处理,通过相同的语义获取方式获取语义限量,可确保其语义向量的可对比性。对于视频文档,设计了视频到文本的处理流程,即本申请实施提出了将视频文档转化为文本文档的方法,解决了视频内容和文本内容比较的问题。

本申请实施基于预训练的BERT模型获取文档的语义向量,可迁移性强。且本申请实施中,基于文档的语义向量,提出了包括去重和打散的在线计算方法,计算复杂度低,满足在线计算的实时性要求。本申请实施提供的方案具有较好的通用性,适用于推荐场景,也适合其他的业务场景。

本申请实施提出从企业内部的文档中获取语义向量表示,将视频和文本形式统一处理,完成初步的知识语义向量化;接着,基于聚类技术将语义向量足够相似的物料进行聚类,对聚类后的待处理的文档做去重运算;最后,通过语义向量计算文档之相似性,根据相似性和与被推荐用户之间的相关性参数值打散文档,实现推荐结果的多样性。

如图5所示,根据本申请的实施例,本申请还提供一种文档排序装置500,装置包括:

聚类模块501,用于对待推荐文档列表进行聚类,得到N个聚类簇,N为大于1的正数;

确定模块502,用于基于N个聚类簇中第一聚类簇的文档与被推荐用户之间的相关性参数值,确定第一聚类簇中的第一目标文档,其中,第一聚类簇中包括至少两个文档;

删除模块503,用于将N个聚类簇中的第一聚类簇的第一目标文档删除,使得更新后的N个聚类簇中每个聚类簇只包括一个文档;

排序模块504,用于根据更新后的N个聚类簇的N个文档与被推荐用户之间的相关性参数值,以及N个文档中每两个文档之间的相似度,对N个文档进行排序。

在一个实施例中,第一聚类簇中的第一目标文档为第一聚类簇中与被推荐用户之间的相关性参数值小于最大相关性参数值的文档,最大相关性参数值为第一聚类簇中文档与被推荐用户之间的相关性参数值中的最大值。

在一个实施例中,排序模块,包括:

第一放入模块,用于将N个文档中的第一文档放入第一列表中,第一文档为N个文档中与被推荐用户之间的相关性参数值最大的文档,第一文档在第一列表中排序最前;

第二放入模块,用于依次将剩余文档中的第二目标文档放入第一列表中最后一个文档之后;

其中,剩余文档为N个文档中除放入第一列表中的文档之外的其余文档,第二目标文档为被推荐用户之间的相关性参数值大于或等于第一阈值,且与第一列表中的文档的平均相似度最低的文档,第一阈值为基于剩余文档与被推荐用户之间的相关性参数值确定的值。

在一个实施例中,聚类模块,包括:

语义向量确定模块,用于确定待推荐文档列表中每个文档的语义向量;

文档聚类模块,用于基于待推荐文档列表中每个文档的语义向量,对待推荐文档列表进行聚类。

在一个实施例中,待推荐文档列表中包括M个第一文本文档和/或P个第二文本文档,M以及P均为大于1的整数,第二文本文档为通过对第一视频文档进行音频提取得到音频数据以及对音频数据进行转换得到的文档。

上述各实施例的文档排序装置为实现上述各实施例的文档排序方法的装置,技术特征对应,技术效果对应,在此不再赘述。

根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

本申请实施例的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的文档排序方法。

本申请实施例的计算机程序产品,包括计算机程序,计算机程序用于使计算机执行本申请各实施例提供的文档排序方法。

图6示出了可以用来实施本申请的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元606加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。

电子设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元606,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如文档排序方法。例如,在一些实施例中,文档排序方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元606。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM603并由计算单元601执行时,可以执行上文描述的文档排序方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行文档排序方法。本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:电子文件监听采集共享利用系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!