CN114281963A - 搜索及分组方法、装置、设备和存储介质 - Google Patents
搜索及分组方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114281963A CN114281963A CN202111375820.5A CN202111375820A CN114281963A CN 114281963 A CN114281963 A CN 114281963A CN 202111375820 A CN202111375820 A CN 202111375820A CN 114281963 A CN114281963 A CN 114281963A
- Authority
- CN
- China
- Prior art keywords
- entity
- group
- entities
- determining
- weight
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种搜索及分组方法、装置、设备和存储介质,涉及人工智能领域,具体涉及智能搜索、知识图谱等技术。搜索方法包括:确定搜索词对应的主需求实体,所述主需求实体用以满足所述搜索词的主需求;确定所述主需求实体所属的分组,并获取所述分组内的实体;展示所述分组内的实体。本公开可以提高搜索效果。
Description
技术领域
本公开涉及人工智能领域,具体涉及智能搜索、知识图谱等技术,尤其涉及一种搜索及分组方法、装置、设备和存储介质。
背景技术
随着互联网技术的发展,人们可以通过搜索引擎获取信息。用户可以在搜索引擎的搜索框内输入搜索词,搜索引擎基于搜索词获取搜索结果后,在搜索结果页展示搜索结果。
发明内容
本公开提供了一种搜索方法、装置、设备和存储介质。
根据本公开的一方面,提供了一种搜索方法,包括:确定搜索词对应的主需求实体,所述主需求实体用以满足所述搜索词的主需求;确定所述主需求实体所属的分组,并获取所述分组内的实体;展示所述分组内的实体。
根据本公开的另一方面,提供了一种分组方法,包括:获取至少一个实体;将所述至少一个实体划分为至少一个分组,所述至少一个分组中的各个分组包括至少一个实体,所述各个分组用以基于主需求实体确定所述主需求实体所属的分组,所述主需求实体基于搜索词确定,所述主需求实体所属的分组内的实体作为所述搜索词对应的搜索结果。
根据本公开的另一方面,提供了一种搜索装置,包括:第一确定模块,用于确定搜索词对应的主需求实体,所述主需求实体用以满足所述搜索词的主需求;第二确定模块,用于确定所述主需求实体所属的分组,并获取所述分组内的实体;展示模块,用于展示所述分组内的实体。
根据本公开的另一方面,提供了一种分组装置,包括:获取模块,用于获取至少一个实体;分组模块,用于将所述至少一个实体划分为至少一个分组,所述至少一个分组中的各个分组包括至少一个实体,所述各个分组用以基于主需求实体确定所述主需求实体所属的分组,所述主需求实体基于搜索词确定,所述主需求实体所属的分组内的实体作为所述搜索词对应的搜索结果。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上述任一方面的任一项所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据上述任一方面的任一项所述的方法。
根据本公开的技术方案,可以提高搜索效果。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开第三实施例的示意图;
图4是根据本公开第四实施例的示意图;
图5是根据本公开第五实施例的示意图;
图6是根据本公开第六实施例的示意图;
图7是根据本公开第七实施例的示意图;
图8是根据本公开第八实施例的示意图;
图9是根据本公开第九实施例的示意图;
图10是用来实现本公开实施例的搜索方法或分组方法的电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
相关技术中,搜索结果一般是满足搜索词主需求的结果,比如,搜索词为“A第一季”,A为某部影视剧的名称,搜索结果是关于A第一季的信息,比如,在线播放地址;A第一季的演员、剧情等描述信息。然而,用户很可能希望获取更丰富的信息,比如,A第二季、A第三季等。相关技术中满足主需求的方式,会导致内容完整性和丰富性体验较差,特别是在影视剧或视频作品是多版本的情况下,多版本比如影视剧名称中包括“之”,“季”和“部”等关键词,不能很好满足用户需求。
为了提高搜索效果,本公开提供如下实施例。
图1是根据本公开第一实施例的示意图,本实施例提供一种搜索方法,该方法包括:
101、确定搜索词对应的主需求实体,所述主需求实体用以满足所述搜索词的主需求。
102、确定所述主需求实体所属的分组,并获取所述分组内的实体。
103、展示所述分组内的实体。
本实施例的执行主体可以称为搜索装置,搜索装置可以为软件、硬件或者软硬结合,该装置可以位于电子设备中。该电子设备可以位于服务端或者用户终端,服务端可以为本地服务器或者云端,用户终端可以包括移动设备(如手机、平板电脑)、车载终端(如车机)、可穿戴式设备(如智能手表、智能手环)、智能家居设备(如智能电视、智能音箱)等。
搜索可以应用于多种场景,比如,推理引擎、问答平台、阅读理解、智能搜索等场景。
以用户终端与云端交互为例,用户终端上可以安装客户端,比如搜索引擎的客户端,用户向搜索引擎的客户端中输入搜索词(query),客户端将搜索词发送给云端,云端可以基于搜索词获取搜索结果,并将搜索结果方给客户端,由客户端展示给用户。
用户可以以语音或文本等形式输入问题,针对语音形式,可以由用户终端或者云端进行语音识别,以获得对应的文本。
搜索词(query),是表达信息需求和搜索内容的基本单元。一般可以由用户指定,比如,用户输入的“A第一季”,A为某部影视剧的名称。
实体(entity),可以包括具体事物和抽象事物,具体事物比如包括:人、地名、公司、电话、动物等,抽象事物比如为概念等。
以用户搜索影视剧为例,实体可以为影视剧,比如,多版本影视剧中各个版本的影视剧。可以理解的是,多版本不限于影视剧,还可以为小说等,因此,也可以应用在搜索小说等场景。
如未特别说明,本公开实施例以搜索影视剧为例。
主需求实体,是指满足用户输入的搜索词的主需求的实体,以用户搜索多版本影视剧为例,主需求实体的名称可以与用户输入的搜索词一致。
多版本影视剧是指成系列的影视剧,这类影视剧的名称一般可以由公共名称+版本组成,版本比如为“第..季”,“第...部”,或者,“之...”。
比如,用户输入的搜索词为“A第一季”,则该搜索词对应的主需求实体的名称为“A第一季”。
确定主需求实体后,可以确定主需求实体所属的分组,并获取所述分组内的实体。
其中,可以预先构建各个分组,并建立分组与分组内的实体之间的映射关系,从而基于该映射关系,可以确定实体所属分组,还可以获取分组内的各个实体。
以多版本影视剧为例,同一分组内的实体可以包括同一影视剧的多个版本的内容,比如,A第一季,A第二季、A第三季为第一分组;B第一部,B第二部,B第三部为第二分组,C之c1,C之c2,C之c3为第三分组。A、B、C为不同的影视剧的名称,c1、c2、c3为不同的版本名称。
因此,若主需求实体的名称为“A第一季”,则主需求实体所属分组为第一分组,第一分组内的实体包括:A第一季,A第二季、A第三季。
获取主需求实体所属分组内的实体后,可以将该分组内的实体作为搜索结果,之后展示该搜索结果。
比如,展示上述的A第一季,A第二季、A第三季。
如图2所示,以搜索词“A第一季”为例,示出了相关技术与本公开实施例的不同,其中,图2的上部分为相关技术的搜索结果的示意图,图2的下部分为本公开实施例的搜索结果的示意图。
从图2可以看出,相关技术的搜索结果是满足主需求的结果,比如,搜索结果均是关于“A第一季”的内容。
而采用本公开实施例的方式,搜索结果为主需求实体所属分组的实体的内容,比如,图2下部分所示的“A第一季”,...,“A第六季”,即,可以成组返回搜索结果。
本公开实施例中,通过确定主需求实体所属分组,以及,将该分组内的实体作为搜索结果进行展示,可以将主需求实体相关的实体均作为搜索结果,而不是仅有主需求实体,从而可以提高搜索结果的完整性和丰富性,提高搜索效果。
一些实施例中,所述确定所述确定所述主需求实体所属的分组,包括:
基于预先建立的实体与分组之间的映射关系,确定所述主需求实体所属的分组,所述分组对预先构建的全量图进行划分后获得,所述全量图包括至少一个分组,所述至少一个分组中的各个分组包括至少一个节点,所述至少一个节点中的各个节点对应一个实体。
其中,全量图是指基于已有的全部实体构建的图,比如,已有的全部实体包括实体1~实体10,则可以基于实体1~实体10构建如图3所示的全量图。
如图3所示,全量图的节点用圆圈表示,每个节点对应一个实体,图3中各个实体的标识(1,2,3...10)标识各个节点。
图3中,以全量图被划分为3个分组为例,每个分组包括的节点(或实体)用不同颜色的填充进行表示,比如,第一分组包括实体1、实体2、实体3,第二分组包括实体4、实体5和实体6,第三分组包括实体7、实体8、实体9和实体10。
因此,基于图3所示示例,若主需求实体为实体2,则主需求实体所属分组为第一分组;若主需求实体为实体4,则主需求实体所属分组为第二分组。
由于全量图可以准确地反映实体间的关系,因此,基于全量图确定主需求实体所属分组,可以提高准确度。
上述描述了基于搜索词获取搜索结果的过程,该过程可以称为在线过程,该过程需要确定主需求所属分组,各个分组可以是预先构建的,构建各个分组的过程可以称为线下过程。下面描述分组过程。
图4是根据本公开第四实施例的示意图,本实施例提供一种分组方法,该方法包括:
401、获取至少一个实体。
402、将所述至少一个实体划分为至少一个分组,所述至少一个分组中的各个分组包括至少一个实体,所述各个分组用以基于主需求实体确定所述主需求实体所属的分组,所述主需求实体基于搜索词确定,所述主需求实体所属的分组内的实体作为所述搜索词对应的搜索结果。
其中,至少一个实体为待分组的实体,结合图3,比如,至少一个实体包括实体1~实体10。具体可以在已有数据集中获取待分组的实体,具体地,可以为多版本影视剧名称。
获取至少一个实体后,可以将其分为至少一个分组,比如,结合图3,可以将实体1~实体10分为三个分组。
获得各个分组后,在线上搜索时,可以基于搜索词确定主需求实体,并基于各个分组,确定主需求实体所属分组,并将该分组内的实体作为搜索结果。
本公开实施例中,通过将实体划分为分组,可以在搜索时,确定主需求实体所属分组,以及,将该分组内的实体作为搜索结果,可以将主需求实体相关的实体均作为搜索结果,而不是仅有主需求实体,从而可以提高搜索结果的完整性和丰富性,提高搜索效果。
一些实施例中,所述将所述至少一个实体划分为至少一个分组,包括:确定所述至少一个实体中的两两实体之间的权重;基于所述至少一个实体和所述两两实体之间的权重,构建全量图,所述全量图包括至少一个节点,所述至少一个节点中的各个节点对应所述至少一个实体中的各个实体,所述至少一个节点中的两两节点之间的边的权重为所述两两实体之间的权重;将所述全量图划分为至少一个分组。
其中,结合图3,全量图是基于全部已有的实体构建的图,该图可以为某个领域的知识图谱,比如,在实体为多版本影视剧时,该全量图可以为多版本影视剧领域的知识图谱。
全量图可以包括节点和边,如图3所示,节点用圆圈表示,边用两个圆圈之间的线段表示。全量图中的每个节点对应一个实体。
全量图为有权图,即,两个节点之间的边具有权重,该权重可以基于实体对应的内容确定。边的权重的确定过程可以参见后续描述。
构建全量图后,可以将全量图划分为至少一个分组,比如,参见图3,将全量图划分为3个分组,每个分组内的实体为对应分组中的节点对应的实体。
通过构建全量图,并对全量图进行划分,可以简便地获得各个分组。
一些实施例中,所述确定至少一个实体中的两两实体之间的权重,包括:
针对所述至少一个实体中的各个实体,提取所述各个实体的描述信息中的关键词,并确定所述关键词的权重,所述关键词的权重与所述关键词的出现频率成反比,且与所述关键词所属领域的权重成正比;确定所述两两实体的相似度;基于所述两两实体的共有关键词的权重,和/或,所述两两实体的相似度,确定所述两两实体之间的权重。
以两两实体为第一实体和第二实体为例,第一实体与第二实体之间的权重,可以基于第一实体和第二实体的共有关键词的权重,和/或,第一实体和第二实体的相似度确定。
第一实体和第二实体的共有关键词是指第一实体对应的描述信息以及第二实体的描述信息中均包括的关键词。
其中,以实体为多版本影视剧的名称为例,实体的描述信息比如包括:该名称对应版本的影视剧的演员、导演、上映时间、剧情简介等。
关键词可以为描述信息中的指定内容,比如,角色的人名、扮演某个角色的演员的人员,导演的人名、上映的时间等。
针对各个实体,可以建立实体与关键词、事件摘要之间的正排索引。关键词也可以称为特征。
正排索引,是指实体与特征/关键词以及事件摘要的关系,比如,如表1所示:
表1
基于正排索引,可以建立倒排索引。
倒排索引,是指特征/关键词与实体的关系,比如,如表2所示:
表2
特征/关键词 | 实体 |
X1 | {A第一季,A第二季,……} |
Y1 | {B第一部,……,C第一季,……} |
喜剧 | {A第一季,……B第一部,……} |
每个关键词的权重,与所述关键词的出现频率成反比,且与所述关键词所属领域的权重成正比。
比如,关键词的权重用weight(freq,field_imp)表示,freq为该关键词的出现频率,field_imp为关键词所属领域的权重。某个关键词的出现频率可以用该关键词在全量数据集中的总数表示,比如,关键词为“喜剧”,则可以统计全量数据集中“喜剧”的总数,作为该关键词“喜剧”的出现频率。某个关键词所属领域是指该关键词对应的字段,比如,X1是角色名,“角色”即为关键词“X1”的所属领域,Y1是演员名,则“演员”即为关键词“Y1”的所属领域,“X国”所属领域是国家。各个领域的权重可以预先设置。一般来讲,“国家”的权重大于“演员”、“导演”等的权重。
关键词的权重用weight(freq,field_imp),与freq成反比,即,freq越大,关键词的权重越小;与field_imp成正比,即,field_imp越大,关键词的权重越大,具体表达式可以根据实际需求设置,比如,weight(freq,field_imp)=field_ipm/freq。
权重一般为0~1之间的值。
两两实体的相似度可以基于描述信息中的事件摘要确定,比如,两两实体可以称为第一实体和第二实体,则可以将第一实体的事件摘要和第二实体的事件摘要作为深度学习模型的输入,深度学习模型的输出为第一实体和第二实体的相似度。深度学习模型为用于计算相似度的模型,比如为,ErnieSim等深度学习模型。
相似度一般也为0~1之间的值。
第一实体与第二实体之间的权重,可以基于这两个实体之间的共有关键词的权重和这两个实体之间的相似度计算,具体地,可以将两个实体之间的共有关键词的权重与两个实体之间的相似度相加,作为第一实体与第二实体之间的权重。
比如,第一实体的关键词包括:X1、X2、X3,第二实体的关键词包括:X1、X2、Y1、Y2,由于X1和X2为第一实体和第二实体的共有关键词,则第一实体与第二实体之间的权重=X1的权重+X2的权重+第一实体与第二实体的相似度。
通过实体的描述信息中的关键词的权重,以及实体间的相似度确定两两实体之间的权重,可以在确定两两实体之间的权重时参考更多维的信息,提高两两实体之间的权重的准确度。另外,针对关键词的权重,可以基于关键词所属领域具有不同的权重,提高关键词的权重表达能力。
获取至少一个实体以及确定两两实体之间的权重之后,可以构建全量图。全量图包括节点和边,每个节点对应一个实体,两个节点之间的边的权重为两个节点对应的两个实体之间的权重。
进一步地,若某两个实体之间的权重小于预设值,则这两个实体对应的节点之间不需要构建边,比如,第一实体与第二实体之间的权重小于预设值,则第一实体对应的节点与第二实体对应的节点之间不存在连接关系,即不存在边。
以实体为影视剧名称为例,可以构建如图5所示的全量图。比如,A第一季与B第一部之间的权重小于预设值,则A第一季对应的节点与B第一部对应的节点之间不存在边。若两个实体之间的权重大于或等于预设值,则这两个实体对应的节点之间存在边,比如,A第四季对应的节点与B第一部对应的节点之间存在边。
构建全量图后,可以将全量图划分为至少一个分组。
其中,可以采用社区发现算法对全量图进行划分。
经过社区发现算法的处理,对如图5所示的全量图进行划分后,可以分为图6所示的多个分组,不同的分组用不同的填充方式表示。
一些实施例中,所述将所述全量图划分为至少一个分组,包括:
确定变量矩阵,所述变量矩阵中的各个元素值用以表明两两实体是否属于同一个分组;
构建约束条件,所述约束条件包括:两两实体之间的语义相似度的约束条件,和/或,特定设置的约束条件;
基于所述约束条件,以最大化模块度为目标函数,确定所述变量矩阵的最优矩阵;
基于所述最优矩阵中的元素值,将所述全量图划分为至少一个分组。
其中,变量矩阵也可以称为克罗内克函数矩阵。假设构建全量图时的实体为N个,则变量矩阵可以为N*N的矩阵,假设Aij表示该矩阵的第i行第j列的元素,Aij=0或1,Aij=0表示第i个实体与第j个实体不属于同一个分组,Aij=1表示第i个实体与第j个实体属于同一个分组,i,j均为1~N之间的正整数。
模块度(Modularity),是社区发现(或称为社团检测)中,评价社区划分质量的评价指标,其与各个社区内的边数的总和,以及整个全量图的边的总和相关。
在本实施例中,各个分组可以认为是社区发现算法中的各个社区,由于变量矩阵能够反映实体是否在同一分组内,即与各个社区的边数相关,因此,模块度为变量矩阵的函数。
进而,可以将最大化模块度为目标函数,确定变量矩阵的最优矩阵,基于最优矩阵进行全量图的划分,比如,最优矩阵中Aij=1,则将第i个实体和第j个实体划分为同一个分组。
在求解目标函数时,还可以设置约束条件,本实施例中,约束条件可以包括:两两实体之间的语义相似度的约束条件,和/或,特定设置的约束条件。
比如,第i个实体和第j个实体的语义相似度小于预设语义相似度,则可以确定约束条件为Aij=0,即,可以基于语义相似度,强制限定某个或某些Aij值。
特定设置的约束条件,是指可以根据特殊情况进行人为设置,比如,第i个实体和第j个实体是两个影视剧的名称,若这两个影视剧的上映国家都不一致,则可以强制设置该两个实体对应的Aij=0。
在确定变量矩阵、约束条件、目标函数之后,可以基于约束条件,对目标函数进行求和,以获得变量矩阵的最优矩阵。
求解可以采用各种相关的最优化求解算法,比如,贪心算法、模拟退火等方法,或者开源求解器得到目标函数的最优解,即,变量矩对应的最优矩阵,以便基于最优矩阵获得对全量图的分组结果。比如,最优矩阵为A*,A*中的元素Aij=0,则表明第i个实体与第j个实体属于同一个分组。
通过最大化模块度,可以获得质量更高的划分结果,即,可以获取效果更好的分组。通过基于语义相似度构建约束条件,可以在分组时考虑实体对应的内容的语义信息,从而更好地理解各个实体,进一步提高分组效果。通过特定设置的约束条件,可以满足用户的个性化设置约束条件的需求。
一些实施例中,所述两两实体之间的语义相似度基于所述至少一个实体中的各个实体的语义特征确定,所述方法还包括:针对所述至少一个实体中的各个实体,提取所述各个实体的语义特征,所述语义特征包括多种模态的语义特征。
即,在提取实体的语义特征时,可以提取多种模态的语义特征。
模态,是指信息的表示形式,具体可以包括:文本、音频、视频、图像等。
多种模态的语义特征是指,可以提取至少两种模态的语义特征,比如,可以提取文本语义特征,以及图像语义特征。
具体地,以实体为影视剧名称为例,可以从各个实体对应的剧情描述、视频等信息中获取多种模态的语义特征。比如,利用fine-tuning过的ERNIE预训练语言模型,对剧情描述信息进行处理,可以获得实体对应的文本语义特征f_text(e)。利用ResNet等图像特征抽取器获取视频中图像的图像语义特征f_image(e)。因此,对应各个实体,可以获得文本语义特征和图像语义特征等多种模态的语义特征。
语义特征一般为向量形式,因此,可以利用向量间相似度的计算方式,计算两个实体的同一模态的两个语义特征之间的相似度,作为两个实体的一个模态的相似度,针对多种模态的语义特征,可以将各个模态的语义特征的相似度的均值作为两两实体之间的语义相似度。
通过获取实体的多种模态的语义特征,可以提高语义特征的表达能力,进而提高分组效果。
图7是根据本公开第七实施例的示意图,本实施例提供一种搜索方法,该方法包括:
701、获取至少一个实体。
其中,图7中用全量实体集表示,全量实体集是已有的数据集,全量实体集中可以包括大量的实体,实体比如为多版本影视剧。
因此,可以从全量实体集中获取至少一个实体。
702、构建关键词与实体之间的倒排索引。
其中,图7中用关键词-实体ID构建表示。
其中,可以从实体的描述信息中提取关键词,不同实体可以用不同的实体ID进行标识,从而可以构建关键词与实体之间的倒排索引。
703、计算关键词的权重。
其中,关键词的权重可以与关键词的出现频率成反比,与关键词所属领域的权重成正比。
进一步地,还可以基于两个实体的描述信息确定两个实体的相似度。
进而,可以基于两个实体的共有关键词的权重和两个实体的相似度,计算两个实体之间的权重。
704、构建全量图。
其中,可以将至少一个实体中的各个实体对应一个节点,若两个实体之间的权重小于预设值,则这两个实体对应的节点之间不存在边,若两个实体之间的权重大于或等于预设值,则这两个实体对应的节点之间存在边。
基于节点和边可以构建出全量图。
705、针对至少一个实体中的各个实体,获取所述各个实体的语义特征。
其中,语义特征可以包括多种模态的语义特征。比如,包括文本语义特征和图像语义特征。
706、采用社区发现优化算法,基于各个实体的语义特征,对全量图进行划分,以获得至少一个分组。
其中,至少一个分组在图7中用社区划分结果表示,不同的分组可以分别对应不同的任务,比如,任务-1对应第一分组,任务-2对应第二分组,...,任务-N对应第N分组,N为正整数。
其中,各个实体的语义特征可以作为约束条件,另外,约束条件还可以包括特定约束条件,特定约束条件是指根据需求设置的约束条件。
701-706可以是离线过程。
707、接收搜索词。
比如,搜索引擎可以接收用户输入的搜索词(query)。
708、确定搜索词对应的主需求实体。
其中,搜索词为多版本影视剧的某一版本影视剧名称时,主需求实体的名称可以与搜索词的名称一致,即用户所搜索的某一版本影视剧的名称。
709、确定所述主需求实体所属的分组,并获取所述分组内的实体,将所述分组内的实体作为搜索结果展示给用户。
其中,图7中用任务识别&社区信息获取表示。
其中,离线过程中,可以建立实体与分组之间的映射关系,基于该映射关系可以确定主需求实体所属的分组,以及获取该分组内的实体。之后,可以将该分组内的实体作为搜索结果展示给用户。
707-709可以是在线过程。
可以理解的是,本实施例中未做详细说明的内容,可以参见其他实施例中的相关描述。
可以理解的是,如无必须的时序限定关系,上述各步骤之间的时序关系为不限定。
本公开实施例中,可以通过无监督的方式确定关键词的权重,在分组时,可以融合显式特征(实体间的权重)和隐式特征(语义特征),语义特征可以为多模态的语义特征,从而可以提升分组效果。针对特殊任务,可以设定特定的约束条件,从而在通用性的任务框架下,使其具有了任务定制化的能力,进一步提升了性能,进而最终达到用户搜索需求的智能化、多样化满足。
图8是根据本公开第八实施例的示意图,本实施例提供一种搜索装置,该装置800包括:第一确定模块801、第二确定模块802和展示模块803。
第一确定模块801用于确定搜索词对应的主需求实体,所述主需求实体用以满足所述搜索词的主需求;第二确定模块802用于确定所述主需求实体所属的分组,并获取所述分组内的实体;展示模块803用于展示所述分组内的实体。
一些实施例中,所述第二确定模块802进一步用于:基于预先建立的实体与分组之间的映射关系,确定所述主需求实体所属的分组,所述分组对预先构建的全量图进行划分后获得,所述全量图包括至少一个分组,所述至少一个分组中的各个分组包括至少一个节点,所述至少一个节点中的各个节点对应一个实体。
本公开实施例中,通过确定主需求实体所属分组,以及,将该分组内的实体作为搜索结果,可以将主需求实体相关的实体均作为搜索结果,而不是仅有主需求实体,从而可以提高搜索结果的完整性和丰富性,提高搜索效果。
图9是根据本公开第九实施例的示意图,本实施例提供一种分组装置,该装置900包括:获取模块901和分组模块902。
获取模块901用于获取至少一个实体;分组模块902用于将所述至少一个实体划分为至少一个分组,所述至少一个分组中的各个分组包括至少一个实体,所述各个分组用以基于主需求实体确定所述主需求实体所属的分组,所述主需求实体基于搜索词确定,所述主需求实体所属的分组内的实体作为所述搜索词对应的搜索结果。
一些实施例中,所述分组模块包括:确定单元,用于确定所述至少一个实体中的两两实体之间的权重;构建单元,用于基于所述至少一个实体和所述两两实体之间的权重,构建全量图,所述全量图包括至少一个节点,所述至少一个节点中的各个节点对应所述至少一个实体中的各个实体,所述至少一个节点中的两两节点之间的边的权重为所述两两实体之间的权重;划分单元,用于将所述全量图划分为至少一个分组。
一些实施例中,所述确定单元进一步用于:针对所述至少一个实体中的各个实体,提取所述各个实体的描述信息中的关键词,并确定所述关键词的权重,所述关键词的权重与所述关键词的出现频率成反比,且与所述关键词所属领域的权重成正比;确定所述两两实体的相似度;基于所述两两实体的共有关键词的权重,和/或,所述两两实体的相似度,确定所述两两实体之间的权重。
一些实施例中,所述划分单元进一步用于:确定变量矩阵,所述变量矩阵中的各个元素值用以表明两两实体是否属于同一个分组;构建约束条件,所述约束条件包括:两两实体之间的语义相似度的约束条件,和/或,特定设置的约束条件;基于所述约束条件,以最大化模块度为目标函数,确定所述变量矩阵的最优矩阵;基于所述最优矩阵中的元素值,将所述全量图划分为至少一个分组。
一些实施例中,所述两两实体之间的语义相似度基于所述至少一个实体中的各个实体的语义特征确定,所述装置还包括:提取模块,用于针对所述至少一个实体中的各个实体,提取所述各个实体的语义特征,所述语义特征包括多种模态的语义特征。
本公开实施例中,通过将实体划分为分组,可以在搜索时,确定主需求实体所属分组,以及,将该分组内的实体作为搜索结果,可以将主需求实体相关的实体均作为搜索结果,而不是仅有主需求实体,从而可以提高搜索结果的完整性和丰富性,提高搜索效果。
可以理解的是,本公开实施例中,不同实施例中的相同或相似内容可以相互参考。
可以理解的是,本公开实施例中的“第一”、“第二”等只是用于区分,不表示重要程度高低、时序先后等。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,电子设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储电子设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
电子设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许电子设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如搜索方法或分组方法。例如,在一些实施例中,搜索方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM1002和/或通信单元1009而被载入和/或安装到电子设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的搜索方法或分组方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行搜索方法或分组方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种搜索方法,包括:
确定搜索词对应的主需求实体,所述主需求实体用以满足所述搜索词的主需求;
确定所述主需求实体所属的分组,并获取所述分组内的实体;
展示所述分组内的实体。
2.根据权利要求1所述的方法,其中,所述确定所述主需求实体所属的分组,包括:
基于预先建立的实体与分组之间的映射关系,确定所述主需求实体所属的分组,所述分组基于预先构建的全量图进行划分后获得,所述全量图包括至少一个分组,所述至少一个分组中的各个分组包括至少一个节点,所述至少一个节点中的各个节点对应一个实体。
3.一种分组方法,包括:
获取至少一个实体;
将所述至少一个实体划分为至少一个分组,所述至少一个分组中的各个分组包括至少一个实体,所述各个分组用以基于主需求实体确定所述主需求实体所属的分组,所述主需求实体基于搜索词确定,所述主需求实体所属的分组内的实体作为所述搜索词对应的搜索结果。
4.根据权利要求3所述的方法,其中,所述将所述至少一个实体划分为至少一个分组,包括:
确定所述至少一个实体中的两两实体之间的权重;
基于所述至少一个实体和所述两两实体之间的权重,构建全量图,所述全量图包括至少一个节点,所述至少一个节点中的各个节点对应所述至少一个实体中的各个实体,所述至少一个节点中的两两节点之间的边的权重为所述两两实体之间的权重;
将所述全量图划分为至少一个分组。
5.根据权利要求4所述的方法,其中,所述确定至少一个实体中的两两实体之间的权重,包括:
针对所述至少一个实体中的各个实体,提取所述各个实体的描述信息中的关键词,并确定所述关键词的权重,所述关键词的权重与所述关键词的出现频率成反比,且与所述关键词所属领域的权重成正比;
确定所述两两实体的相似度;
基于所述两两实体的共有关键词的权重,和/或,所述两两实体的相似度,确定所述两两实体之间的权重。
6.根据权利要求4所述的方法,其中,所述将所述全量图划分为至少一个分组,包括:
确定变量矩阵,所述变量矩阵中的各个元素值用以表明两两实体是否属于同一个分组;
构建约束条件,所述约束条件包括:两两实体之间的语义相似度的约束条件,和/或,特定设置的约束条件;
基于所述约束条件,以最大化模块度为目标函数,确定所述变量矩阵的最优矩阵;
基于所述最优矩阵中的元素值,将所述全量图划分为至少一个分组。
7.根据权利要求6所述的方法,其中,所述两两实体之间的语义相似度基于所述至少一个实体中的各个实体的语义特征确定,所述方法还包括:
针对所述至少一个实体中的各个实体,提取所述各个实体的语义特征,所述语义特征包括多种模态的语义特征。
8.一种搜索装置,包括:
第一确定模块,用于确定搜索词对应的主需求实体,所述主需求实体用以满足所述搜索词的主需求;
第二确定模块,用于确定所述主需求实体所属的分组,并获取所述分组内的实体;
展示模块,用于展示所述分组内的实体。
9.根据权利要求8所述的装置,其中,所述第二确定模块进一步用于:
基于预先建立的实体与分组之间的映射关系,确定所述主需求实体所属的分组,所述分组对预先构建的全量图进行划分后获得,所述全量图包括至少一个分组,所述至少一个分组中的各个分组包括至少一个节点,所述至少一个节点中的各个节点对应一个实体。
10.一种分组装置,包括:
获取模块,用于获取至少一个实体;
分组模块,用于将所述至少一个实体划分为至少一个分组,所述至少一个分组中的各个分组包括至少一个实体,所述各个分组用以基于主需求实体确定所述主需求实体所属的分组,所述主需求实体基于搜索词确定,所述主需求实体所属的分组内的实体作为所述搜索词对应的搜索结果。
11.根据权利要求10所述的装置,其中,所述分组模块包括:
确定单元,用于确定所述至少一个实体中的两两实体之间的权重;
构建单元,用于基于所述至少一个实体和所述两两实体之间的权重,构建全量图,所述全量图包括至少一个节点,所述至少一个节点中的各个节点对应所述至少一个实体中的各个实体,所述至少一个节点中的两两节点之间的边的权重为所述两两实体之间的权重;
划分单元,用于将所述全量图划分为至少一个分组。
12.根据权利要求11所述的装置,其中,所述确定单元进一步用于:
针对所述至少一个实体中的各个实体,提取所述各个实体的描述信息中的关键词,并确定所述关键词的权重,所述关键词的权重与所述关键词的出现频率成反比,且与所述关键词所属领域的权重成正比;
确定所述两两实体的相似度;
基于所述两两实体的共有关键词的权重,和/或,所述两两实体的相似度,确定所述两两实体之间的权重。
13.根据权利要求11所述的装置,其中,所述划分单元进一步用于:
确定变量矩阵,所述变量矩阵中的各个元素值用以表明两两实体是否属于同一个分组;
构建约束条件,所述约束条件包括:两两实体之间的语义相似度的约束条件,和/或,特定设置的约束条件;
基于所述约束条件,以最大化模块度为目标函数,确定所述变量矩阵的最优矩阵;
基于所述最优矩阵中的元素值,将所述全量图划分为至少一个分组。
14.根据权利要求13所述的装置,其中,所述两两实体之间的语义相似度基于所述至少一个实体中的各个实体的语义特征确定,所述装置还包括:
提取模块,用于针对所述至少一个实体中的各个实体,提取所述各个实体的语义特征,所述语义特征包括多种模态的语义特征。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111375820.5A CN114281963A (zh) | 2021-11-19 | 2021-11-19 | 搜索及分组方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111375820.5A CN114281963A (zh) | 2021-11-19 | 2021-11-19 | 搜索及分组方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281963A true CN114281963A (zh) | 2022-04-05 |
Family
ID=80869489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111375820.5A Pending CN114281963A (zh) | 2021-11-19 | 2021-11-19 | 搜索及分组方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281963A (zh) |
-
2021
- 2021-11-19 CN CN202111375820.5A patent/CN114281963A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107609152B (zh) | 用于扩展查询式的方法和装置 | |
CN110874396B (zh) | 一种关键词抽取方法、装置以及计算机存储介质 | |
CN113032673B (zh) | 资源的获取方法、装置、计算机设备及存储介质 | |
CN113656698B (zh) | 兴趣特征提取模型的训练方法、装置和电子设备 | |
CN110162637B (zh) | 信息图谱构建方法、装置及设备 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
CN112559631A (zh) | 分布式图数据库的数据处理方法、装置以及电子设备 | |
CN112861963A (zh) | 训练实体特征提取模型的方法、装置和存储介质 | |
CN112528067A (zh) | 图数据库的存储方法、读取方法、装置及设备 | |
CN112784102B (zh) | 视频检索方法、装置和电子设备 | |
CN112506864B (zh) | 文件检索的方法、装置、电子设备及可读存储介质 | |
CN113033194A (zh) | 语义表示图模型的训练方法、装置、设备和存储介质 | |
CN116309002B (zh) | 图数据存储、访问、处理方法、训练方法、设备及介质 | |
CN116597443A (zh) | 素材标签处理方法、装置、电子设备及介质 | |
CN114416990B (zh) | 对象关系网络的构建方法、装置和电子设备 | |
CN116383340A (zh) | 信息搜索方法、装置、电子设备和存储介质 | |
CN114969444A (zh) | 数据的处理方法、装置、电子设备和存储介质 | |
CN117272056A (zh) | 对象特征构建方法、装置和计算机可读存储介质 | |
CN114281963A (zh) | 搜索及分组方法、装置、设备和存储介质 | |
CN114781517A (zh) | 风险识别的方法、装置及终端设备 | |
CN113961797A (zh) | 资源推荐方法、装置、电子设备和可读存储介质 | |
CN115248890A (zh) | 用户兴趣画像的生成方法、装置、电子设备以及存储介质 | |
CN113780827A (zh) | 一种物品筛选方法、装置、电子设备及计算机可读介质 | |
CN115795023B (zh) | 文档推荐方法、装置、设备以及存储介质 | |
CN114422584B (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 |