一种查询聚类方法及装置
技术领域
本发明涉及电子商务技术领域,尤其涉及一种查询聚类方法及装置。
背景技术
随着互联网以及相关行业的蓬勃发展,人们的生活方式也随之改变改变,网络购物已成为一种重要的购物途径。网络购物的最大优势在于,能够在极短时间内为用户汇聚海量的商品,用户只需通过输入query命令(或称为query,即查询命令),即可搜索得到所需的商品信息。
但是,由于查询到的商品的信息量十分庞大,需要快速并正确的从这些海量商品信息中得到用户想要的信息。然而由于用户的受教育情况、文化、地域、语言等因素的影响,导致不同用户在表述同一个问题上,输入的query差异很大,使得不同的用户所能够得到查询结果的精确性也有很大区别。因此,需要运营商对海量用户的输入的query进行分析、聚类处理,以提高查询结果的精确性。
在目前常用的两种聚类算法中:1、先利用TF-IDF(一种特征提取算法)进行特征提取、向量化处理,再利用余弦相似性算法或kmeans算法进行聚类并得到结果。但是由于query的信息含量较低,存在长尾现象,使得向量化的过程中会形成稀疏向量,造成维灾难,往往会使得原本语意相似的两个query聚到不同的类,聚类的准确性较低;2、采用kmeans算法,需要选取k值和初始中心点等参数,但是由于query的类别众多,往往难以明确K值的个数及相应的初始中心点,使得采用kmeans算法得到聚类结果依然难以提高查询结果的精确性。
发明内容
本发明的实施例提供一种查询聚类方法及装置,能够避免语意多样性及query向量维灾难的问题,也避免传统聚类kmeans算法K值和初始中心点的选取的问题,并提高了聚类结果的精确性,提高查询结果的精确性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供一种查询聚类方法,包括:
根据搜索日志获取查询信息集合,所述查询信息集合包括:会话查询集合、共点击查询集合和共查询商品集合;
根据所述查询信息集合建立图模型,并根据所述图模型得到子图集合;
根据子图集合进行相似度分析,并得到相似度满足预设条件的元素作为聚类结果。
结合第一方面,在第一方面的第一种可能的实现方式中,所述会话查询集合至少包括:商品信息和查询词;
所述共点击查询集合包括:用户查询同一件商品时所使用的查询词;
所述共查询商品集合包括:用户使用同一查询词时所查询到的不同的商品。
结合第一方面,在第一方面的第二种可能的实现方式中,所述图模型的顶点的集合关联商品信息和查询词,所述图模型的边的集合关联商品信息和查询词的点击关系,所述图模型的边权重函数关联商品信息和查询词的点击量。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据搜索日志获取查询信息集合,包括:
根据所述搜索日志得到会话单元的查询词对,并根据所述会话单元的查询词对获取每个会话单元所对应的查询词集合;
根据各个用户的会话单元,获取不同用户查询同一件商品时所使用的查询词的集合,并作为所述共点击查询集合;并根据各个用户的会话单元,获取不同用户使用同一查询词时所查询到的不同的商品信息的集合,并作为所述共查询商品集合。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述根据所述查询信息集合建立图模型,包括:
建立图模型G=(V,E,W),其中,V表示顶点的集合,且V分割为两个互不相交的子集(I,Q),I表示商品信息集合、Q表示查询词集合;E表示边的集合,若商品i和查询词j存在点击关系,则有边Eij;W表示边权重函数F(V,E),且W是商品和查询词的点击次数求和。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述根据所述图模型得到子图集合包括:
根据所述图模型得到第一类子图集合和第二类子图集合,其中所述第一类子图集合用于表示查询词和商品信息集合,所述第二类子图集合用于表示共查询商品集合和共点击查询集合。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,包括:
将图模型G=(V,E,W)划分成K个不相交的子图Gi=(Vi,Ei,Wi),其中i=(1,2,…,k);
获取i结点的一级邻居集
作为所述第一类子图集合,其中,link(x
i,x
j)表示图模型G中结点x
i与结点x
j连接关系,即集合E和集合W,N表示图结点数目,
中结点的数目为i结点度d
i;
获取i结点的二级邻居集
作为所述第二类子图集合,其中,
所述二级邻居集包括图模型G=(V,E,W)中两i一阶邻居结点又有除i之外的共同邻居结点的二级邻居集。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,所述根据子图集合进行相似度分析,并得到相似度满足预设条件的元素作为聚类结果,包括:
根据
得到集合S1和S2,其中,在集合S1中包含m个元素,顶点的路径长度d为δ,相似度为1/δ;并根据所述S1中每个子元素集合的权重得到集合S1中每个元素相似度得分为1/δ;
通过集合S2计算集合S1中每个子元素的相似性,其中集合S2中路径长度d为2δ,即相似度为1/2δ;
根据S′=(S1∪S2)-(S1∩S2)和S=S′∪S1,得到所述聚类结果集合S,并将分值最高的N个元素作为所述聚类结果。
第二方面,本发明的实施例提供一种查询聚类装置,包括:
预处理模块,用于根据搜索日志获取查询信息集合,所述查询信息集合包括:会话查询集合、共点击查询集合和共查询商品集合;
图模型处理模块,用于根据所述查询信息集合建立图模型,并根据所述图模型得到子图集合;
分析模块,用于根据子图集合进行相似度分析,并得到相似度满足预设条件的元素作为聚类结果。
结合第二方面,在第二方面的第一种可能的实现方式中,所述会话查询集合至少包括:商品信息和查询词;
所述共点击查询集合包括:用户查询同一件商品时所使用的查询词;
所述共查询商品集合包括:用户使用同一查询词时所查询到的不同的商品。
结合第二方面,在第二方面的第二种可能的实现方式中,所述图模型的顶点的集合关联商品信息和查询词,所述图模型的边的集合关联商品信息和查询词的点击关系,所述图模型的边权重函数关联商品信息和查询词的点击量。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述预处理模块,具体用于根据所述搜索日志得到会话单元的查询词对,并根据所述会话单元的查询词对获取每个会话单元所对应的查询词集合;根据各个用户的会话单元,获取不同用户查询同一件商品时所使用的查询词的集合,并作为所述共点击查询集合;并根据各个用户的会话单元,获取不同用户使用同一查询词时所查询到的不同的商品信息的集合,并作为所述共查询商品集合。
本发明实施例提供的查询聚类方法及装置,通过对用户的搜索日志进行挖掘和利用,根据搜索日志获取查询信息集合建立图模型,并提供了一种利用图模型进行query聚类的方案。利用图模型可以有效避免了采用现有技术导致的语意多样性及query向量维灾难的问题,同时,也避免出现传统聚类kmeans算法K值和初始中心点的选取的问题,并且提高了聚类结果的精确性,从而提高查询结果的精确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种服务器的结构示意图;
图2为本发明实施例提供的一种方法流程的示意图;
图3为本发明实施例提供的一种具体实例的示意图;
图4为本发明实施例提供的一种装置的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
在以下详细描述中,许多具体细节被示出以提供对本发明的深入了解。然而,本发明可能在没有这些具体细节的情况下被实施对于本领域的普通技术人员将是显而易见的。在其他情况下,众所周知的方法、规程、部件、电路和网络未被详细描述以免不必要地模糊实施例的各个方面。
图1所示为根据本发明一个具体实施方式的服务器。所述服务器包括输入单元、处理器单元、输出单元、通信单元、存储单元、外设单元等组件。这些组件通过一条或多条总线进行通信。本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施方式中,所述服务器可以是任何运营商服务器或是第三方服务器,包括但不限于刀片机、移动工作站、分布式系统中的设备,以及上述两项或两项以上的组合等。
输入单元用于实现运维人员与服务器的交互和/或信息输入到服务器中。例如,输入单元可以接收运维人员输入的数字或字符信息,以产生与运维人员设置或功能控制有关的信号输入。在本发明具体实施方式中,输入单元可以是触控面板,也可以是其他人机交互界面,例如实体输入键、麦克风等,还可是其他外部信息撷取装置,例如摄像头等。触控面板,也称为触摸屏或触控屏,可收集运维人员在其上触摸或接近的操作动作。比如运维人员使用手指、触笔等任何适合的物体或附件在触控面板上或接近触控面板的位置的操作动作,并根据预先设定的程式驱动相应的连接装置。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测运维人员的触摸操作,并将检测到的触摸操作转换为电信号,以及将所述电信号传送给触摸控制器;触摸控制器从触摸检测装置上接收所述电信号,并将它转换成触点坐标,再送给处理单元。所述触摸控制器还可以接收处理单元发来的命令并执行。此外,可以采用电阻式、电容式、红外线(Infrared)以及表面声波等多种类型实现触控面板。在本发明的其他实施方式中,输入单元所采用的实体输入键可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。麦克风形式的输入单元可以收集运维人员或环境输入的语音并将其转换成电信号形式的、处理单元可执行的命令。
处理器单元为服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储单元内的软件程序和/或模块,以及调用存储在存储单元内的数据,以执行服务器的各种功能和/或处理数据。所述处理器单元可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器单元可以仅包括中央处理器(Central Processing Unit,简称CPU),也可以是GPU、数字信号处理器(Digital SignalProcessor,简称DSP)、及通信单元中的控制芯片(例如基带芯片)的组合。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
在本实施例中,处理器单元,用于根据存储单元中存储的用户的搜索日志,获取查询信息集合;并根据所述查询信息集合建立图模型,再根据所述图模型得到子图集合;之后根据子图集合进行相似度分析,并得到相似度满足预设条件的元素作为聚类结果。
所述通信单元用于建立通信信道,使服务器通过所述通信信道以连接至远程服务器,并从所述远程服务器下媒体数据。所述通信单元可以包括有线网络通信模块,比如基于有线宽带网络的网卡;也可以是无线局域网(Wireless Local Area Network,简称wireless LAN)模块、蓝牙模块、基带(Base Band)模块等通信模块,以及所述通信模块对应的射频(Radio Frequency,简称RF)电路,用于进行无线局域网络通信、蓝牙通信、红外线通信及/或蜂窝式通信系统通信,例如宽带码分多重接入(Wideband Code DivisionMultiple Access,简称W-CDMA)及/或高速下行封包存取(High Speed Downlink PacketAccess,简称HSDPA)。所述通信模块用于控制服务器中的各组件的通信,并且可以支持直接内存存取(Direct Memory Access)。所述通信单元中的各种通信模块一般以集成电路芯片(Integrated Circuit Chip)的形式出现,并可进行选择性组合,而不必包括所有通信模块及对应的天线组。例如,所述通信单元可以仅包括基带芯片、射频芯片以及相应的天线以在一个蜂窝通信系统中提供通信功能。经由所述通信单元建立的无线通信连接,例如无线局域网接入或WCDMA接入,所述服务器可以连接至蜂窝网(Cellular Network)或因特网(Internet)。
输出单元包括但不限于影像输出单元和声音输出单元。影像输出单元用于输出文字、图片和/或视频。所述影像输出单元可包括显示面板,例如采用LCD(Liquid CrystalDisplay,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)、场发射显示器(field emission display,简称FED)等形式来配置的显示面板。或者所述影像输出单元可以包括反射式显示器,例如电泳式(electrophoretic)显示器,或利用光干涉调变技术(Interferometric Modulation of Light)的显示器。所述影像输出单元可以包括单个显示器或不同尺寸的多个显示器。在本发明的具体实施方式中,上述输入单元所采用的触控面板亦可同时作为输出单元的显示面板。例如,当触控面板检测到在其上的触摸或接近的手势操作后,传送给处理单元以确定触摸事件的类型,随后处理单元根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图1中,输入单元与输出单元是作为两个独立的部件来实现服务器的输入和输出功能,但是在某些实施例中,可以将触控面板与显示面板集成一体而实现服务器的输入和输出功能。例如,所述影像输出单元可以显示各种图形化运维人员接口(Graphical User Interface,简称GUI)以作为虚拟控制组件,包括但不限于窗口、卷动轴、图标及剪贴簿,以供运维人员通过触控方式进行操作。
存储单元可用于存储软件程序以及模块,处理单元通过运行存储在存储单元的软件程序以及模块,从而执行服务器的各种功能应用以及实现数据处理。存储单元主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序,比如声音播放程序、图像播放程序等等;数据存储区可存储根据服务器的使用所创建的数据(比如音频数据、电话本等)等。在本发明具体实施方式中,存储单元可以包括易失性存储器,例如非挥发性动态随机存取内存(Nonvolatile Random Access Memory,简称NVRAM)、相变化随机存取内存(Phase Change RAM,简称PRAM)、磁阻式随机存取内存(Magetoresistive RAM,简称MRAM)等,还可以包括非易失性存储器,例如至少一个磁盘存储器件、电子可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM)、闪存器件,例如反或闪存(NOR flash memory)或是反及闪存(NAND flash memory)。非易失存储器储存处理单元所执行的操作系统及应用程序。所述处理单元从所述非易失存储器加载运行程序与数据到内存并将数字内容储存于大量储存装置中。所述操作系统包括用于控制和管理常规系统任务,例如内存管理、存储设备控制、电源管理等,以及有助于各种软硬件之间通信的各种组件和/或驱动器。
尤其是在本实施例中,服务器通过通信单元接收到用户发出的搜索请求,并提供相应的搜索结果后,将搜索日志记录在存储单元中,以便于处理器单元从存储单元中调用这些搜索日志。
电源用于给服务器的不同部件进行供电以维持其运行。作为一般性理解,所述电源可以是内置的电池,例如常见的锂离子电池、镍氢电池等,也包括直接向服务器供电的外接电源,例如AC适配器等。在本发明的一些实施方式中,所述电源还可以作更为广泛的定义,例如还可以包括电源管理系统、充电系统、电源故障检测电路、电源转换器或逆变器、电源状态指示器(如发光二极管),以及与服务器的电能生成、管理及分布相关联的其他任何组件。
在本发明的设计过程中,发现用户在使用搜索引擎的过程中,已经无意之中的进行了query(或称query命令,即查询命令)的聚类,如用户在一个会话单元内使用的query往往都是相似的,以及用户点击商品的query,这些query也是相似的。因此基于这种现象,本发明实施例提供一种查询聚类方法,如图2所示,包括:
101,根据搜索日志获取查询信息集合,查询信息集合包括:会话查询集合、共点击查询集合和共查询商品集合。
用户在使用服务器提供的搜索服务的过程中,服务器将用户的搜索日志记录在存储单元中,所记录的搜索日志的具体内容至少包括会话查询集合、共点击查询集合和共查询商品集合,这些具体内容在本实施例中可以称为查询信息集合。在本实施例中,服务器根据搜索日志获取查询信息集合,也可以被认为是数据预处理环节,其中包括:
服务器对原始的搜索日志进行解析提取,获得用户输入的查询词,和针对该查询词点击的相应商品及点击次数。然后再将这份数据进行如下处理:1、先形成会话单元的查询词对,即针对用户的每个会话单元进行处理,得到每个会话单元所对应的查询词集合;2、形成共点击商品的查询词对,即获得用户共同点击商品所对应的查询词集合;3、形成共查询词的商品点击数据,即获得用户在同一个查询词下点击不同商品数据的集合。最后,在针对上述的三个集合进行相应的合并去重处理,得到会话查询集合、共点击查询集合和共查询商品集合。
102,根据查询信息集合建立图模型,并根据图模型得到子图集合。
根据查询信息集合建立图模型的过程可以理解为一种基于查询信息集合进行图聚类的过程,在本实施例中,针对图聚类的过程具有以下定义:
一个图模型通常表示为G=(V·E·W),其中V是顶点的集合,在本实施例中将V分割为两个互不相交的子集(I·Q),I和Q分别为商品信息集合和查询词集合;E是边的集合,在本实施例中E是商品和查询词的点击关系,如果商品i和查询词j存在点击关系,则有边Eij;W是一个边权重函数F(V,E),把一条边映射成一个实数域上的权重,如果一个图模型是无权图模型,那么每条边上的权重为1,本实施例中W是商品和查询词的点击次数求和。
子图是所有顶点和边都属于图模型G的图模型。如顶点I1、I2、顶点Q
1及边E
iq和W
iq,构成一个子图
图聚类可以理解为把一个图模型G=(V,E,W)划分成K个不相交的子图Gi=(Vi,Ei,Wi),其中i=(1,2,…,k)。
i结点的一级邻居集,图模型中与结点i直接相连结点集。形式化描述为
用V表示图模型结点集,link(x
i,x
j)表示图模型G中结点x
i与结点x
j连接关系,也就是集合E和集合W,N为图模型结点数目,
中结点的数目是i结点度d
i。在本实施例中,
可以理解为所有查询词与商品的集合。
i结点的二级邻居集,图模型中两i一阶邻居结点又有除i之外的共同邻居结点,所有满足这样要求的结点组成i的二级邻居集。形式化描述为
在本实施例中,
可以理解为所有共查询商品集合和共点击查询集合。
103,根据子图集合进行相似度分析,并得到相似度满足预设条件的元素作为聚类结果。
在本实施例中,会话查询集合至少包括:商品信息和查询词。其中,商品信息具体包括用于识别商品的信息,比如商品名称和商品编号,还可以包括:价格、生产日期、生产商和销量等信息。
共点击查询集合包括:用户查询同一件商品时所使用的查询词。比如:不同用户在搜索商品“雨伞”时,所输入的搜索词包括:“伞”、“雨具”、“花伞”和“进口伞”等等,则这些搜索词的集合即为共点击查询集合。
共查询商品集合包括:用户使用同一查询词时所查询到的不同的商品。比如:不同用户都输入“文具”进行商品搜索,并搜索到了三角尺、铅笔、橡皮、直尺、钢笔等商品,则这些搜索到的商品的集合即为共查询商品集合。需要说明的是,共查询商品集合中不仅可以包括用于识别商品的信息,比如商品名称和商品编号,还可以包括:价格、生产日期、生产商和销量等信息。
进一步的,本实施例中101的一种可能的实现方式包括:
1011,根据搜索日志得到会话单元的查询词对,并根据会话单元的查询词对获取每个会话单元所对应的查询词集合。
1012,根据各个用户的会话单元,获取不同用户查询同一件商品时所使用的查询词的集合,并作为共点击查询集合。并根据各个用户的会话单元,获取不同用户使用同一查询词时所查询到的不同的商品信息的集合,并作为共查询商品集合。
在本实施例中,图模型的顶点的集合关联商品信息和查询词,图模型的边的集合关联商品信息和查询词的点击关系,图模型的边权重函数关联商品信息和查询词的点击量。
进一步的,提供一种在本实施例的102中,根据查询信息集合建立图模型,具体可以实现为:
建立图模型G=(V,E,W),其中,V表示顶点的集合,且V分割为两个互不相交的子集(I,Q),I表示商品信息集合、Q表示查询词集合。E表示边的集合,若商品i和查询词j存在点击关系,则有边Eij。W表示边权重函数F(V,E),且W是商品和查询词的点击次数求和。
进一步的,提供一种在本实施例的102中,根据图模型得到子图集合,具体可以实现为:
根据图模型得到第一类子图集合和第二类子图集合,其中第一类子图集合用于表示查询词和商品信息集合,第二类子图集合用于表示共查询商品集合和共点击查询集合。
其中,基于图模型G=(V,E,W)得到子图集合的具体方式可以包括:
将图模型G=(V,E,W)划分成K个不相交的子图Gi=(Vi,Ei,Wi),其中i=(1,2,…,k)。
获取i结点的一级邻居集
作为第一类子图集合,其中,link(x
i,x
j)表示图模型G中结点x
i与结点x
j连接关系,即集合E和集合W,N表示图结点数目,
中结点的数目为i结点度d
i。
获取i结点的二级邻居集
作为第二类子图集合,其中,
二级邻居集包括图模型G=(V,E,W)中两i一阶邻居结点又有除i之外的共同邻居结点的二级邻居集。
进一步的,提供一种在本实施例的103中,根据子图集合进行相似度分析,并得到相似度满足预设条件的元素作为聚类结果,具体可以实现为:
根据
得到集合S1和S2,其中,在集合S1中包含m个元素,顶点的路径长度d为δ,相似度为1/δ。并根据S1中每个子元素集合的权重得到集合S1中每个元素相似度得分为1/δ。
通过集合S2计算集合S1中每个子元素的相似性,其中集合S2中路径长度d为2δ,即相似度为1/2δ。
根据S′=(S1∪S2)-(S1∩S2)和S=S′∪S1,得到聚类结果集合S,并将分值最高的N个元素作为聚类结果。
例如:在如图3所示的商品查询场景中,可以对二部图中顶点V=(I,Q)进行分类处理,其中I为商品信息集合,Q为查询词集合。如上述定义
这样便得到集合S1和S2,在集合S1中,顶点的路径长度d为δ,这里令相似度为1/δ,同时计算每个S1集合中每个子元素集合的权重,因此,集合S1中每个元素相似度得分为1/δ。
由于集合S1中包含m个元素,且每个元素之间可以通过集合S2计算相似性,也就是二部图中路径长度d为2δ,即相似度为1/2δ,同时计算集合S2中每个的权重,进行合并处理。例如在集合S2中,我们得到商品1和商品P是相似的,因此,我们可以对集合S1中商品1:{词1:权重1,词n:权重n},商品p:{词k:权重k,词n:权重n}合并,得到{词1:权重1+权重k,词k:权重1+权重k},其相似度为1/2δ,通过计算集合S2中的数据相似度,利用公式S′=(S1∪S2)-(S1∩S2)进行合并处理。最后,利用公式S=S′∪S1计算得到最终词聚类结果S。最后,通过TOPN算法计算集合S中的得分最高的N个元素,作为候选聚类结果。
依据上述例子可以看出,服务器先通过数据预处理,对搜索日志进行解析,获取点击商品信息和查询词,形成候选集合。再对上述问题进行模型定义,定义图、图聚类、i结点的一级邻居集、i结点的二级邻居集,利用这些定义建立二部图模型。之后利用图聚类算法,计算每个集合的相似度及对相应的权重进行合并,利用TOPN算法求得最相似的几个元素。通过本发明实施例提供的查询聚类方法,对用户的搜索日志进行挖掘和利用,根据搜索日志获取查询信息集合建立图模型,并提供了一种利用图模型进行query聚类的方案。利用图模型可以有效避免了采用现有技术导致的语意多样性及query向量维灾难的问题,同时,也避免出现传统聚类kmeans算法K值和初始中心点的选取的问题,并且提高了聚类结果的精确性,从而提高查询结果的精确性。
本发明实施例提供一种查询聚类装置40,该装置40若以软件形式实现,则其代码可以存储在如图1所示的存储单元中,并在服务器运行时,通过处理器单元运行该装置40。如图4所示,该装置40包括:
预处理模块41,用于根据搜索日志获取查询信息集合,所述查询信息集合包括:会话查询集合、共点击查询集合和共查询商品集合;
图模型处理模块42,用于根据所述查询信息集合建立图模型,并根据所述图模型得到子图集合;
分析模块43,用于根据子图集合进行相似度分析,并得到相似度满足预设条件的元素作为聚类结果。
其中,所述会话查询集合至少包括:商品信息和查询词;所述共点击查询集合包括:用户查询同一件商品时所使用的查询词;所述共查询商品集合包括:用户使用同一查询词时所查询到的不同的商品。
所述图模型的顶点的集合关联商品信息和查询词,所述图模型的边的集合关联商品信息和查询词的点击关系,所述图模型的边权重函数关联商品信息和查询词的点击量。
进一步的,所述预处理模块41,具体用于根据所述搜索日志得到会话单元的查询词对,并根据所述会话单元的查询词对获取每个会话单元所对应的查询词集合;根据各个用户的会话单元,获取不同用户查询同一件商品时所使用的查询词的集合,并作为所述共点击查询集合;并根据各个用户的会话单元,获取不同用户使用同一查询词时所查询到的不同的商品信息的集合,并作为所述共查询商品集合。
具体的,所述图模型处理模块42,具体用于建立图模型G=(V,E,W),其中,V表示顶点的集合,且V分割为两个互不相交的子集(I,Q),I表示商品信息集合、Q表示查询词集合;E表示边的集合,若商品i和查询词j存在点击关系,则有边Eij;W表示边权重函数F(V,E),且W是商品和查询词的点击次数求和。
具体的,所述图模型处理模块42,具体用于根据所述图模型得到第一类子图集合和第二类子图集合,其中所述第一类子图集合用于表示查询词和商品信息集合,所述第二类子图集合用于表示共查询商品集合和共点击查询集合。
其中,所述图模型处理模块42,具体还用于将图模型G=(V,E,W)划分成K个不相交的子图Gi=(Vi,Ei,Wi),其中i=(1,2,…,k);
并获取i结点的一级邻居集
作为所述第一类子图集合,其中,link(x
i,x
j)表示图模型G中结点x
i与结点x
j连接关系,即集合E和集合W,N表示图结点数目,
中结点的数目为i结点度d
i;
并获取i结点的二级邻居集
作为所述第二类子图集合,其中,
所述二级邻居集包括图模型G=(V,E,W)中两i一阶邻居结点又有除i之外的共同邻居结点的二级邻居集。
具体的,所述分析模块43,具体用于根据
得到集合S1和S2,其中,在集合S1中包含m个元素,顶点的路径长度d为δ,相似度为1/δ;并根据所述S1中每个子元素集合的权重得到集合S1中每个元素相似度得分为1/δ;并通过集合S2计算集合S1中每个子元素的相似性,其中集合S2中路径长度d为2δ,即相似度为1/2δ;再根据S′=(S1∪S2)-(S1∩S2)和S=S′∪S1,得到所述聚类结果集合S,并将分值最高的N个元素作为所述聚类结果。
本发明实施例提供的查询聚类装置,通过对用户的搜索日志进行挖掘和利用,根据搜索日志获取查询信息集合建立图模型,并提供了一种利用图模型进行query聚类的方案。利用图模型可以有效避免了采用现有技术导致的语意多样性及query向量维灾难的问题,同时,也避免出现传统聚类kmeans算法K值和初始中心点的选取的问题,并且提高了聚类结果的精确性,从而提高查询结果的精确性。
本技术领域技术人员可以理解,本发明可以涉及用于执行本申请中所述操作中的一项或多项操作的设备。所述设备可以为所需的目的而专门设计和制造,或者也可以包括通用计算机中的已知设备,所述通用计算机有存储在其内的程序选择性地激活或重构。这样的计算机程序可以被存储在设备(例如,计算机)可读介质中或者存储在适于存储电子指令并分别耦联到总线的任何类型的介质中,所述计算机可读介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、随即存储器(RAM)、只读存储器(ROM)、电可编程ROM、电可擦ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、磁性卡片或光线卡片。可读介质包括用于以由设备(例如,计算机)可读的形式存储或传输信息的任何机构。例如,可读介质包括随即存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光学存储介质、闪存装置、以电的、光的、声的或其他的形式传播的信号(例如载波、红外信号、数字信号)等。
本技术领域技术人员可以理解,可以用计算机程序指令来实现这些结构图和/或框图和/或流图中的每个框以及这些结构图和/或框图和/或流图中的框的组合。可以将这些计算机程序指令提供给通用计算机、专业计算机或其他可编程数据处理方法的处理器来生成机器,从而通过计算机或其他可编程数据处理方法的处理器来执行的指令创建了用于实现结构图和/或框图和/或流图的框或多个框中指定的方法。
本技术领域技术人员可以理解,本发明中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本发明中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本发明中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。