[发明专利]社区搜索方法有效
| 申请号: | 201811205006.7 | 申请日: | 2018-10-16 |
| 公开(公告)号: | CN109543077B | 公开(公告)日: | 2020-07-31 |
| 发明(设计)人: | 王朝坤;竺俊超 | 申请(专利权)人: | 清华大学 |
| 主分类号: | G06F16/903 | 分类号: | G06F16/903 |
| 代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
| 地址: | 100084*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 社区 搜索 方法 | ||
本发明实施例公开了一种社区搜索方法,包括:根据用户对于社区搜索的需求,将节点对应于节点变量,写出对应的搜索条件;将搜索条件转化为多个搜索项;对于每一搜索项进行单项条件的社区搜索;将各个单项条件社区搜索的结果合并,对社区结果取并集进行返回。本发明将搜索条件统一为布尔表达式形式,便于用户进行个性化表达搜索需求和复杂条件下社区搜索的执行;由于在搜索时考虑了用户不希望出现在社区内的节点,其结果更符合用户的期望;由于允许社区中至少包含给定节点中一个的需求,一个搜索条件可能得到多个不同的社区结果,且都满足搜索条件,使得用户对结果的选择更为丰富;提供了多种不同的实现方式,可以根据实际需要进行选择。
技术领域
本发明涉及搜索技术领域,尤其涉及复杂条件下的一种社区搜索方法。
背景技术
由大量节点和节点间的连接关系形成的网络结构广泛存在于计算机科学、生物学、社会学等领域。在网络相关的研究工作中,社区(community)受到人们的持续关注。社区一般指一个内部节点间联系相比于社区内部和外部的节点间联系更加紧密的子图。网络中挖掘出的社区结构有助于人们进行好友推荐,犯罪团伙识别以及蛋白质功能预测。社区搜索(局部社区发现)指的是给定一个或多个节点,寻找包含它们的社区,相比于全局社区发现,它更关注局部的网络结构,并返回更个性化的社区结果。
目前的社区搜索方法主要是基于k-clique、k-core、k-truss等特定拓扑结构的,此外还有部分综合考虑了拓扑结构和节点属性的社区搜索方法。
基于k-truss结构的方法找到的社区需要满足如下性质:1、每条边所在的三角形个数都不小于k-2;2、任意两条边都能通过一系列相邻的三角形到达。一种典型的方法是记录每个节点周围所有邻接边的truss值,而后将每个节点的邻接点按照边的truss值组织成树形结构的索引,称为TCP-index,最后根据给定的节点和k值,不断地从索引中找出可以扩展的邻居节点,直至无法扩展为止,就得到了包含给定节点的k-truss结构的社区。
综合考虑拓扑结构和节点属性的典型方法,比如AGAR方法,就是根据节点间的属性相似度先对原图进行边的补充,从而构建一个TA-graph,再在TA-graph上依据k-truss结构进行社区搜索,最终得到包含给定节点的社区。
目前的社区搜索方法的不足在于只能寻找包含给定节点集的社区。我们在实际进行社区搜索时,经常会遇到这样一些需求:1、社区不仅要包含某些给定点,同时不允许包含另一些给定点;2、社区至少要包含给定若干节点中的任意一个。现有的社区搜索方法无法满足上述需求。
因此,现有技术需要改进。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种社区搜索方法,以解决现有技术存在的问题,所述社区搜索方法包括:
根据用户对于社区搜索的需求,将节点对应于节点变量,写出对应的搜索条件;
将搜索条件转化为多个搜索项;
对于每一搜索项进行单项条件的社区搜索;
将各个单项条件社区搜索的结果合并,即对社区结果取并集进行返回。
在基于本发明上述社区搜索方法的另一个实施例中,所述根据用户对于社区搜索的需求,将节点对应于节点变量,写出对应的搜索条件包括:
将用户需求中提及的节点对应为布尔变量;
不允许出现在社区中的节点以逻辑非修饰,社区必须包含的节点无修饰;
必须同时出现在社区中的节点以逻辑与连接,社区必须包含的节点和不允许的包含的节点,也用逻辑与连接;
社区必须包含若干个节点中至少一个需要以逻辑或连接的若干个节点来表示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811205006.7/2.html,转载请声明来源钻瓜专利网。





